Author Topic: King of Fighters 10th Anniversary Edition Emulation Infos  (Read 52134 times)

Offline Death Metal

  • Member
  • ***
  • Posts: 121
  • Karma: +3/-0
  • Crimson Blade
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #45 on: March 14, 2005, 01:15:58 AM »
Just some dumb comment here: seeing as how easy it must be to hack KoF2002, I might introduce you guys to my own new, completely l33t KoF2002-based fighter very soon, which promises to pwn most of the other hacks out there big time!

...Nah, I don't have such skills. :p

On a serious note, I might be a little late here, but apparently this is close to being fully emulated on NeoMAME[something]. Once the code gets out, it will probably be possible to be entirely translated into FBA, anyway.

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #46 on: March 14, 2005, 01:39:33 AM »
It is fully emulated And not by neomame :P  It only has a few GFX glitches in the neogeo logo screen and does not use a S rom which is extracted from the P rom  :)  So far adding the code to FBA is not easy .As the Mame code has to be converted in a differnt way .
IQ Forum Member

Offline Macgaiver

  • New Member
  • *
  • Posts: 6
  • Karma: +0/-0
  • Junior Member
Driver to MAME ;)
« Reply #47 on: March 14, 2005, 07:14:19 AM »
Code: [Select]
ROM_START( kof10th )
ROM_REGION( 0x800000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "kf10-p1.bin", 0x000000, 0x800000, CRC(b1fd0c43) SHA1(5f842a8a27be2d957fd4140d6431ae47154997bb) )

NEO_SFIX_128K( "kf10-s1.bin", CRC(A849BD80) SHA1(0C97A5FD029F1B38B6A6EF83974F17AD33C4F18E) )

NEO_BIOS_SOUND_128K( "kf10-m1.bin", CRC(5198A41C) SHA1(7DBFD9E07A364758C0B97DA03E5D38B29ABA5ED4) )

ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, CRC(0fc9a58d) SHA1(9d79ef00e2c2abd9f29af5521c2fbe5798bf336f) )
ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, CRC(b8c475a4) SHA1(10caf9c69927a223445d2c4b147864c02ce520a8) )

NO_DELTAT_REGION

ROM_REGION( 0x4000000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, CRC(3bbc0364) SHA1(e8aa7ff82f151ce1db56f259377b64cceef85af0) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, CRC(91230075) SHA1(d9098e05a7ba6008661147b6bf8bc2f494b8b72b) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, CRC(b5abfc28) SHA1(eabf60992bb3485c95330065294071ec155bfe7c) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, CRC(6cc4c6e1) SHA1(be824a944e745ee18efdc45c81fd496a4d624b9c) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, CRC(5b3d4a16) SHA1(93ac1cd7739100f8c32732644f81f2a19837b131) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, CRC(c6f3419b) SHA1(340c17a73aeb7bf8a6209f8459e6f00000075b50) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, CRC(9d2bba19) SHA1(5ebbd0af3f83a60e33c8ccb743e3d5f5a96f1273) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, CRC(5a4050cb) SHA1(8fd2291f349efa1ed5cd37ad4e273b60fe831a77) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, CRC(a289d1e1) SHA1(50c7d7ebde6e118a01036cc3e40827fcd9f0d3fd) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, CRC(e6494b5d) SHA1(18e064b9867ae0b0794065f8dbefd486620419db) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, CRC(404fff02) SHA1(56d1b32c87ea4885e49264e8b21846e465a20e1f) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, CRC(f2ccfc9e) SHA1(69db7fac7023785ab94ea711a72dbc2826cfe1a3) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, CRC(be79c5a8) SHA1(ded3c5eb3571647f50533eb682c2675372ace3fb) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, CRC(a5952ca4) SHA1(76dbb3cb45ce5a4beffa1ed29491204fc6617e42) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, CRC(3fdb3542) SHA1(7d2050752a2064cd6729f483a0da93808e2c6033) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, CRC(661b7a52) SHA1(0ae2ad2389134892f156337332b77adade3ddad1) ) /* Plane 2,3 */
ROM_END


static void kof10th_patches( void )
{
/* starting at 0xE0000 */
unsigned char data1[120] = {
0xBC, 0x28, 0x00, 0x00, 0x6A, 0xD8, 0x7C, 0x1B, 0x3F, 0x00, 0x0C, 0x05, 0xFC, 0x33, 0x00, 0x01,
0x3C, 0x00, 0x06, 0x00, 0x75, 0x4E, 0x2D, 0x42, 0x0C, 0x05, 0x7C, 0x1B, 0x3F, 0x00, 0x0C, 0x05,
0x75, 0x4E, 0x00, 0x61, 0x42, 0x00, 0xF9, 0x47, 0x10, 0x00, 0x00, 0xFD, 0x7C, 0x17, 0x80, 0x00,
0x82, 0x00, 0x2B, 0x0C, 0x80, 0x00, 0x82, 0x00, 0xF2, 0x66, 0x7C, 0x17, 0x01, 0x00, 0x83, 0x00,
0x2B, 0x0C, 0x01, 0x00, 0x83, 0x00, 0xF2, 0x66, 0x7C, 0x17, 0x00, 0x00, 0x8C, 0x00, 0x2B, 0x0C,
0x00, 0x00, 0x8C, 0x00, 0xF2, 0x66, 0x7C, 0x17, 0x03, 0x00, 0x8F, 0x00, 0x2B, 0x0C, 0x03, 0x00,
0x8F, 0x00, 0xF2, 0x66, 0x75, 0x4E, 0xF9, 0x41, 0x2F, 0x00, 0x00, 0xE0, 0x3C, 0x30, 0xF7, 0x0F,
0x58, 0x42, 0xC8, 0x51, 0xFC, 0xFF, 0x75, 0x4E
};

/* starting at 0xE1000 */
unsigned char data2[1248] = {
0xFC, 0x33, 0x20, 0x00, 0x10, 0x00, 0xF6, 0xFF, 0x7C, 0x2B, 0x0A, 0x00, 0xBE, 0x67, 0x00, 0x05,
0x75, 0x4E, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00, 0x39, 0x32, 0x2F, 0x00, 0xF0, 0xFF, 0xFC, 0x33,
0x07, 0x00, 0x2F, 0x00, 0xF0, 0xFF, 0xFC, 0x33, 0x03, 0x00, 0x25, 0x00, 0xF0, 0xFF, 0x79, 0x0C,
0x01, 0x00, 0x10, 0x00, 0x8E, 0x00, 0x00, 0x67, 0x06, 0x00, 0x00, 0x66, 0x0A, 0x00, 0xFC, 0x33,
0x00, 0x00, 0x10, 0x00, 0xF6, 0xFF, 0x79, 0x0C, 0x20, 0x00, 0x10, 0x00, 0xF6, 0xFF, 0x00, 0x67,
0x06, 0x01, 0x00, 0x66, 0x02, 0x00, 0x08, 0x2F, 0x09, 0x2F, 0x02, 0x2F, 0xFC, 0x33, 0x05, 0x00,
0x2F, 0x00, 0xF0, 0xFF, 0xFC, 0x33, 0x01, 0x00, 0x2F, 0x00, 0xFC, 0xFF, 0xF9, 0x41, 0x2C, 0x00,
0x00, 0x00, 0xF9, 0x43, 0x20, 0x00, 0x00, 0x00, 0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x13,
0x30, 0x00, 0x01, 0x00, 0x18, 0x14, 0x42, 0x0A, 0xF3, 0xF3, 0xC2, 0x32, 0x40, 0x06, 0x01, 0x00,
0x80, 0x0C, 0x00, 0x00, 0x00, 0x80, 0xE6, 0x66, 0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0xF9, 0x41,
0x20, 0x00, 0x00, 0x80, 0xF9, 0x43, 0x21, 0x00, 0x00, 0x00, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00,
0x18, 0x14, 0x42, 0x0A, 0xF3, 0xF3, 0xC2, 0x32, 0x40, 0x06, 0x01, 0x00, 0x80, 0x0C, 0x00, 0x00,
0x00, 0x80, 0xE6, 0x66, 0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0xF9, 0x41, 0x21, 0x00, 0x00, 0x00,
0xF9, 0x43, 0x22, 0x00, 0x00, 0x00, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00, 0x18, 0x14, 0x42, 0x0A,
0xF3, 0xF3, 0xC2, 0x32, 0x40, 0x06, 0x01, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x60, 0xE6, 0x66,
0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0xF9, 0x41, 0x2D, 0x00, 0x00, 0x60, 0xF9, 0x43, 0x22, 0x00,
0x00, 0xC0, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00, 0x18, 0x14, 0x42, 0x0A, 0xF3, 0xF3, 0xC2, 0x32,
0x40, 0x06, 0x01, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x80, 0xE6, 0x66, 0xF9, 0x41, 0x2D, 0x00,
0x00, 0xE0, 0xF9, 0x43, 0x23, 0x00, 0x00, 0xC0, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00, 0x18, 0x14,
0x42, 0x0A, 0xF3, 0xF3, 0xC2, 0x32, 0x40, 0x06, 0x01, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x20,
0xE6, 0x66, 0xFC, 0x33, 0x00, 0x00, 0x2F, 0x00, 0xFC, 0xFF, 0x1F, 0x24, 0x5F, 0x22, 0x5F, 0x20,
0xF9, 0x4E, 0x0E, 0x00, 0x5C, 0x12, 0x79, 0x0C, 0x01, 0x00, 0x10, 0x00, 0x8E, 0x00, 0x00, 0x67,
0xF6, 0xFE, 0xFC, 0x33, 0x00, 0x00, 0x10, 0x00, 0xF6, 0xFF, 0x08, 0x2F, 0x09, 0x2F, 0x02, 0x2F,
0xFC, 0x33, 0x05, 0x00, 0x2F, 0x00, 0xF0, 0xFF, 0xFC, 0x33, 0x01, 0x00, 0x2F, 0x00, 0xFC, 0xFF,
0xF9, 0x41, 0x20, 0x00, 0x00, 0x00, 0xF9, 0x43, 0x20, 0x00, 0x00, 0x00, 0x3C, 0x20, 0x00, 0x00,
0x00, 0x00, 0x79, 0x0C, 0x01, 0x00, 0x10, 0x00, 0x8E, 0x00, 0x00, 0x67, 0xBA, 0xFE, 0xC0, 0x13,
0x30, 0x00, 0x01, 0x00, 0x18, 0x14, 0x42, 0x0A, 0xF3, 0xF3, 0xC2, 0x32, 0x40, 0x06, 0x01, 0x00,
0x80, 0x0C, 0x00, 0x00, 0x00, 0x80, 0xDA, 0x66, 0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x79, 0x0C,
0x01, 0x00, 0x10, 0x00, 0x8E, 0x00, 0x00, 0x67, 0x8E, 0xFE, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00,
0x18, 0x14, 0x42, 0x0A, 0xF3, 0xF3, 0xC2, 0x32, 0x40, 0x06, 0x01, 0x00, 0x80, 0x0C, 0x00, 0x00,
0x00, 0x80, 0xDA, 0x66, 0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x79, 0x0C, 0x01, 0x00, 0x10, 0x00,
0x8E, 0x00, 0x00, 0x67, 0x62, 0xFE, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00, 0x18, 0x14, 0x42, 0x0A,
0xF3, 0xF3, 0xC2, 0x32, 0x40, 0x06, 0x01, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x80, 0xDA, 0x66,
0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x79, 0x0C, 0x01, 0x00, 0x10, 0x00, 0x8E, 0x00, 0x00, 0x67,
0x36, 0xFE, 0xC0, 0x13, 0x30, 0x00, 0x01, 0x00, 0x18, 0x14, 0x42, 0x0A, 0xF3, 0xF3, 0xC2, 0x32,
0x40, 0x06, 0x01, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x80, 0xDA, 0x66, 0x79, 0x0C, 0x01, 0x00,
0x10, 0x00, 0x8E, 0x00, 0x00, 0x67, 0x10, 0xFE, 0x3C, 0x20, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x33,
0x00, 0x00, 0x2F, 0x00, 0xFC, 0xFF, 0x1F, 0x24, 0x5F, 0x22, 0x5F, 0x20, 0xC0, 0x13, 0x30, 0x00,
0x01, 0x00, 0xC1, 0x33, 0x2F, 0x00, 0xF0, 0xFF, 0x00, 0x70, 0x75, 0x4E, 0xFF, 0xFF, 0xFF, 0xFF,
0xB0, 0xC4, 0x73, 0x0E, 0x84, 0x17, 0x3E, 0x1F, 0x66, 0xA5, 0xAD, 0x74, 0x5F, 0x3B, 0x35, 0xF2,
0xFE, 0x6D, 0xCE, 0x01, 0x8F, 0x23, 0x79, 0x5A, 0x5C, 0x85, 0xBD, 0x74, 0x2E, 0x05, 0x90, 0x30,
0xE9, 0xEB, 0xF9, 0x08, 0xDE, 0xA6, 0x6D, 0xEA, 0x50, 0xCD, 0xA4, 0x81, 0x35, 0x88, 0x73, 0x89,
0x26, 0xD3, 0xF1, 0x7C, 0x21, 0xD0, 0xDB, 0xB7, 0x7D, 0x1B, 0x0F, 0xDD, 0x36, 0xD6, 0x93, 0x17,
0x74, 0xE1, 0x76, 0x7D, 0xF2, 0x6A, 0x89, 0xC4, 0xAA, 0xDC, 0xB4, 0xFC, 0xE9, 0xC5, 0x6D, 0xFC,
0xAA, 0x47, 0x99, 0xC7, 0xE8, 0x2A, 0xD4, 0x03, 0x3F, 0x9C, 0xE3, 0x52, 0x07, 0x3D, 0xDE, 0x2D,
0xC4, 0xFF, 0x4D, 0x7C, 0xA5, 0xFF, 0x3D, 0x21, 0x55, 0x56, 0x16, 0x26, 0x5E, 0x89, 0xB2, 0x43,
0xFA, 0x19, 0xF6, 0xF8, 0xE8, 0x64, 0xFC, 0x58, 0xC2, 0xC4, 0x81, 0x5C, 0xE2, 0xA6, 0x31, 0x4D,
0xC8, 0x0B, 0xFC, 0x9E, 0x99, 0xAD, 0x8E, 0x3F, 0x2D, 0xAE, 0xA1, 0x4B, 0xB7, 0x95, 0xB1, 0x9F,
0x03, 0x05, 0x55, 0xAD, 0xE0, 0x5B, 0x46, 0x9A, 0x1F, 0x3B, 0xCD, 0x8B, 0x47, 0xAA, 0x26, 0xA1,
0xE8, 0x39, 0x1E, 0x0A, 0x2C, 0x67, 0xDF, 0x2B, 0x0D, 0x40, 0xC6, 0xC5, 0x4F, 0xDA, 0xB3, 0xA0,
0x2C, 0x33, 0x20, 0x13, 0x4C, 0x98, 0x05, 0x7D, 0x6E, 0x93, 0x46, 0x80, 0xF0, 0x0E, 0x36, 0x9D,
0x0B, 0x25, 0x69, 0x70, 0x77, 0xCD, 0xEE, 0xBB, 0xC8, 0x55, 0x93, 0xF8, 0xBE, 0x72, 0xDC, 0x1F,
0x5A, 0x38, 0xDA, 0xE1, 0x63, 0x51, 0xE3, 0x7C, 0xC2, 0x4B, 0x09, 0xE6, 0xD3, 0xC3, 0xB2, 0x00,
0x94, 0xDB, 0xB2, 0x10, 0x4F, 0x2A, 0xD5, 0x93, 0x30, 0x23, 0xB1, 0x55, 0xDA, 0xA3, 0x30, 0x42,
0xEC, 0x14, 0x24, 0x5C, 0x19, 0x68, 0xEA, 0xE1, 0x2A, 0xCF, 0xCD, 0x72, 0x23, 0xE5, 0xCC, 0xD8,
0x5F, 0xD0, 0xE6, 0xB2, 0x47, 0x77, 0x0C, 0x23, 0x13, 0xCB, 0x67, 0x5A, 0xB3, 0xE0, 0x8A, 0x7D,
0xBF, 0x33, 0xBC, 0x53, 0x1D, 0x6B, 0x7C, 0xC2, 0xB1, 0x76, 0xE6, 0xE9, 0x4F, 0xBD, 0x8D, 0x7D,
0xC8, 0xE7, 0x10, 0xAD, 0xAB, 0x56, 0x63, 0xA5, 0x38, 0x5A, 0x97, 0x8E, 0x95, 0xC7, 0xA4, 0x8D,
0x2B, 0x6D, 0x7A, 0x23, 0xDB, 0x93, 0x5C, 0x00, 0x5D, 0x82, 0x43, 0x19, 0x02, 0xBF, 0xDD, 0x93,
0xA4, 0x6D, 0x57, 0xE2, 0x85, 0x18, 0x09, 0x22, 0x65, 0xC9, 0xBD, 0x88, 0x09, 0x24, 0x13, 0x7D,
0x04, 0x06, 0x53, 0xB2, 0x7B, 0xC6, 0xA4, 0x49, 0x34, 0x24, 0x71, 0xDD, 0x21, 0x8C, 0x7F, 0x0B,
0x45, 0x1D, 0xFE, 0xC1, 0x9B, 0xB8, 0x8A, 0x6D, 0x5C, 0xFD, 0xF4, 0xE8, 0xD3, 0xED, 0x49, 0xA4,
0x99, 0xAE, 0x58, 0x76, 0xDF, 0x95, 0xCE, 0x15, 0x32, 0x77, 0x97, 0x1C, 0xCF, 0xF1, 0x13, 0x21,
0x79, 0x1D, 0x63, 0x41, 0x6E, 0xDE, 0xCA, 0x24, 0xD8, 0xC7, 0xF2, 0x5B, 0xF5, 0x45, 0x92, 0xA3,
0xB7, 0x82, 0xB4, 0x6D, 0xA8, 0x3E, 0xAD, 0xAB, 0x53, 0x80, 0x79, 0xC8, 0x6A, 0xE7, 0x15, 0x5E,
0x8B, 0xFF, 0x02, 0xEB, 0x3C, 0xDD, 0x0C, 0xB4, 0x94, 0xE5, 0x08, 0x99, 0xA9, 0x79, 0x19, 0x6A,
0xA6, 0x0A, 0xB3, 0x24, 0x31, 0xAC, 0x72, 0x1B, 0x8F, 0x35, 0x77, 0xE2, 0x8F, 0x91, 0xDA, 0x95,
0x40, 0xC1, 0x71, 0xCE, 0xFE, 0xB6, 0xEF, 0x54, 0x44, 0xFF, 0x25, 0x68, 0x6A, 0x06, 0xE2, 0x32,
0x29, 0x3A, 0xB7, 0xB4, 0x92, 0x72, 0xA9, 0x43, 0xD7, 0x73, 0x8C, 0x72, 0x11, 0x42, 0x97, 0xE8,
0xDA, 0xCE, 0x62, 0x8A, 0x6A, 0x13, 0x6C, 0x08, 0x99, 0xAC, 0xD1, 0x98, 0xEC, 0x91, 0xCE, 0x82,
0x82, 0x71, 0x42, 0xBE, 0x9D, 0xD4, 0x3A, 0xCD, 0x1C, 0x06, 0x51, 0x92, 0x06, 0x74, 0x5B, 0xC2,
0x18, 0xFC, 0xA6, 0x48, 0xF1, 0x4D, 0xDA, 0x9E, 0x41, 0x6B, 0x33, 0x07, 0x1F, 0xEE, 0x9C, 0x2D,
0x6B, 0x7D, 0xF0, 0x75, 0xE4, 0xBF, 0x6A, 0x2E, 0x48, 0xA5, 0xF9, 0x63, 0xBA, 0xD2, 0x10, 0xDD,
0x33, 0x8C, 0x26, 0xBD, 0xC1, 0x67, 0xEC, 0xB2, 0xE3, 0xAB, 0x0D, 0x9E, 0x2F, 0x1A, 0xE4, 0x51,
0x1D, 0x95, 0x7B, 0x92, 0xB0, 0xCC, 0xD9, 0xA7, 0x43, 0xF3, 0x54, 0x14, 0xB8, 0x30, 0x80, 0x3C,
0xE1, 0x2D, 0xE9, 0x2D, 0xC3, 0x10, 0xAF, 0xAB, 0x27, 0xC3, 0xBC, 0x51, 0x85, 0x41, 0x1B, 0x57,
0x4C, 0x5D, 0xB7, 0x60, 0x0A, 0x41, 0x83, 0x46, 0xEF, 0x80, 0xCD, 0xE0, 0xC8, 0x8E, 0x4B, 0x30,
0x55, 0xF9, 0x12, 0x65, 0x9E, 0xA5, 0x8E, 0xBE, 0xAB, 0xFB, 0x3A, 0x20, 0xC6, 0xB9, 0x93, 0xF8
};

int k;
UINT8 *rom = memory_region(REGION_CPU1);
//data16_t *mem16 = (data16_t *)memory_region(REGION_CPU1);

rom[ 0x000124 ] = 0x0D;
rom[ 0x000126 ] = 0xA8;
rom[ 0x000127 ] = 0xF7;
rom[ 0x008BF4 ] = 0xF9;
rom[ 0x008BF5 ] = 0x4E;
rom[ 0x008BF6 ] = 0x0D;
rom[ 0x008BF8 ] = 0x80;
rom[ 0x008BF9 ] = 0xF9;
rom[ 0x0DD880 ] = 0x75;
rom[ 0x0DD881 ] = 0x4E;
rom[ 0x0DD89E ] = 0x75;
rom[ 0x0DD89F ] = 0x4E;
rom[ 0x0DD8BC ] = 0x75;
rom[ 0x0DD8BD ] = 0x4E;
rom[ 0x0DF987 ] = 0x16;
rom[ 0x0DF999 ] = 0x16;

for (k=0;k<120;k++)
*((unsigned short*)(rom+k+0xE0000))=data1[k];
*((unsigned short*)(rom+0xE0078))=0xFFFF;

for (k=0;k<1248;k++)
*((unsigned short*)(rom+k+0xE1000))=data2[k];
*((unsigned short*)(rom+0xE14E0))=0xFFFF;
}

static unsigned short kof10_tbl[0x1000];
static READ16_HANDLER( kof10_16_r )
{
return kof10_tbl[offset];
}

static WRITE16_HANDLER( kof10_16_w )
{
UINT32 bankaddress;
kof10_tbl[offset]=(kof10_tbl[offset]&mem_mask)|((~mem_mask)&data);
if(offset>0xff9) return;
bankaddress=((kof10_tbl[0xff8]>>8)|(kof10_tbl[0xff9]<<8))+0x100000;
*(((UINT8 *)kof10_tbl)+0x1ff0)=0xa0;
*(((UINT8 *)kof10_tbl)+0x1ff1)&=0xfe;
*(((UINT8 *)kof10_tbl)+0x1ff3)&=0x7f;
neogeo_set_cpu1_second_bank(bankaddress);
*(((unsigned char *)memory_region(REGION_CPU1))+0x58196)=kof10_tbl [0xff9]&0xff;
}

DRIVER_INIT( kof10th )
{
/* Original FBA code & patches by iq_132, converted & updated to MAME by neo04 */
UINT8 *src = memory_region(REGION_CPU1);
UINT8 *dst = (UINT8*)malloc(0x800000);
int i, j;
if (dst)
{
//Copy of P1 at 200000 and 300000 (120b diff)
memcpy(dst+0x000000, src+0x700000, 0x100000);
memcpy(dst+0x100000, src+0x000000, 0x400000);
memcpy(dst+0x500000, src+0x400000, 0x200000);
memcpy(src+0x000000, dst+0x000000, 0x800000);

memcpy(dst,src,0x800000);
for(i=0;i<0x800000;i++)
{
j=BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,12, 11,2,9,8,7,1,5,4,3,10,6,0);
src[j]=dst[i];
}
free(dst);
}

kof10th_patches();

/* same as kof2003 :P */
memory_install_read16_handler( 0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffef, 0, 0, kof10_16_r );
memory_install_write16_handler( 0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffef, 0, 0, kof10_16_w );

init_neogeo();
}


GAMEB( 2004, kof10th,  neogeo,   neogeo, neogeo, neogeo,   kof10th,   ROT0, "Playmore Corporation / Yuki Enterprise", "The King of Fighters 10th Anniversary - All Team Battle" )


driver is not fully correct As It crashes on the game continue screen .
« Last Edit: May 10, 2005, 12:28:04 PM by iq_132 »

Offline Ebsy

  • New Member
  • *
  • Posts: 2
  • Karma: +0/-0
  • Junior Member
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #48 on: March 14, 2005, 08:27:43 AM »
Thanks for posting this, I realise it isn't 100% working at the moment, but it's getting there.

The driver works in a certain version of mame, but some people seem intent on hoarding the driver for kof10th, it's sad really.

Offline Macgaiver

  • New Member
  • *
  • Posts: 6
  • Karma: +0/-0
  • Junior Member
Multigames with VsynchMAME
« Reply #49 on: March 14, 2005, 01:04:00 PM »
Quote from: Ebsy
Thanks for posting this, I realise it isn't 100% working at the moment, but it's getting there.

The driver works in a certain version of mame, but some people seem intent on hoarding the driver for kof10th, it's sad really.


A lot of people want to compile for VsynchMAME v0.61.  
Because they want to put in multijogos based on this system, that has a certain support for 15Khz with video on-board..  :(:(

Macgaiver

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #50 on: March 14, 2005, 05:35:20 PM »
My driver does not crash on the continue screen But I cannot post it..

I cannot share what is not mine to share .
IQ Forum Member

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #51 on: March 14, 2005, 06:14:58 PM »
Quote from: Ebsy
Thanks for posting this, I realise it isn't 100% working at the moment, but it's getting there.

The driver works in a certain version of mame, but some people seem intent on hoarding the driver for kof10th, it's sad really.



Its not a matter of hoarding Its a matter of not being right Its a bit silly posting the wrong info . I am sure once the driver is correct it will be posted .
IQ Forum Member

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #52 on: March 14, 2005, 07:28:34 PM »
I agree with James.  I have a driver that I'm working on, but It's not worth posting if it isn't 100% correct.


Offline JiMMy_PaGe

  • Expert
  • *****
  • Posts: 60
  • Karma: +2/-0
    • SNK-NeoFighters
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #53 on: March 14, 2005, 09:12:35 PM »
I agree with James33 and Iq... Its unuseless to release a driver that isnt right, the real driver is alot different... that one there is just a cheap  provisory driver, thats why u get errors on the continue screen and u cant extract the s1 from the p1...

Offline Shoometsu

  • Jr. Member
  • **
  • Posts: 66
  • Karma: +0/-0
  • I finally have an avatar XD
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #54 on: March 14, 2005, 09:22:16 PM »
let me understand: the drivers above has a lot of patches, so teh emulation is not correct? to be a true emulation we need to emulate all the protections correctly, right?
<- Who are you?

Offline JiMMy_PaGe

  • Expert
  • *****
  • Posts: 60
  • Karma: +2/-0
    • SNK-NeoFighters
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #55 on: March 14, 2005, 09:29:46 PM »
Quote from: Shoometsu
let me understand: the drivers above has a lot of patches, so teh emulation is not correct? to be a true emulation we need to emulate all the protections correctly, right?

Yeah something like that, but in this case the patches are needed to emulate the ram, but they are much smaller that those one... two lines to be exact... the bankswitch on this driver is wrong too, the correct driver use only the standart neogeo bankswitch writing on two adresses and reading on one...
See ya  :D

Offline Death Metal

  • Member
  • ***
  • Posts: 121
  • Karma: +3/-0
  • Crimson Blade
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #56 on: March 14, 2005, 10:29:06 PM »
In English, it's not 100% working just yet. :p

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #57 on: March 15, 2005, 08:33:55 AM »
lol, I guess I can elaborate a little more on what Jimmy said.
The bankswitch the game needs is the standard neogeo bankswitch (again?)
It also needs basically the same ram chip setup as vliner and jockeygp, but to a different address (2fe000-2fffff).
The sdata is encrypted and is in the 600000 - 700000 region - There is 512k of it
Also, at address e1000 and e0000, apparently kawaks extracts the info that should be in one of the ram chips from somewhere in the P and patches it back onto those addresses.
Also, if you dump the P rom, you'll see kawaks applies a few patches.  These are required for two reasons, one set of patches is to start the protection of the game (these patches are actually done by the protection chip) and the other is done to fix a few bugs with the emulation.
Neat-o, huh?


Offline KaNyErO

  • Member
  • ***
  • Posts: 142
  • Karma: +4/-0
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #58 on: March 15, 2005, 05:06:17 PM »
and there is another missing feature in kawaks, it seems there should be another patch to make different chars have different moves :S

Offline FerchogtX

  • FBNeo Dev
  • ******
  • Posts: 375
  • Karma: +7/-0
  • FB Alpha Team ;)
    • FB Alpha Plus! Web Site
King of Fighters 10th Anniversary Edition Emulation Infos
« Reply #59 on: April 05, 2005, 09:15:56 PM »
IQ... have you figured something to get working kof10th in fba? there is some drivers on RomShare that makes this game run perfectly (and it isn't the one by neo04) it has the real bankswitches and whole stuff fro srom decryption... but by some reason i cannot get fba load the game correctly with this... at kleast i can help with this:
this:
Code: [Select]
install_mem_read16_handler  (0,0x2fe000,0x2fffff, neogeo_sram16_2_r);
install_mem_write16_handler (0,0x2fe000,0x2fffff, neogeo_sram16_2_w);
install_mem_write16_handler (0,0x2ffff0,0x2fffff, neo_bankswitch_w);

is equal to:
Code: [Select]
static int kof10thInit()
{
int nRet;
extern unsigned char* NeoNVRAM2;

//pNeoInitCallback = ?;

nRet = NeoInit();
if (nRet == 0) {
SekMapMemory(NeoNVRAM2, 0x2fe000, 0x2fffff, SM_RAM); // kof10th 68K RAM

SekMapHandler(5, 0x2FFFF0, 0x2FFFFF, SM_WRITE); // kof10th 68K bankswitch
SekSetWriteWordHandler(5, neogeoWriteWordBankswitch);
SekSetWriteByteHandler(5, neogeoWriteByteBankswitch);
}
return nRet;
}

to compile correctly add this to neogeo.h:
Code: [Select]
void __fastcall neogeoWriteByteBankswitch(unsigned int sekAddress, unsigned char byteValue);
void __fastcall neogeoWriteWordBankswitch(unsigned int sekAddress, unsigned short wordValue);

The problem is that i cannot get the game fully working, the other stuff only gives me a gurur meditation XD... i hope you can fix this.
See ya!!!!! :D

Good and evil co-exist because of the balance, lies are not part of it...

FB Alpha Plus! site infos updated, see the latest info clicking on my profile link...