Robert Posted November 4, 2005 Author Share Posted November 4, 2005 3)needs decryption and bankswitching 4)are you sure? try deleting the "obj" folder and doing an clean compile you might want to build a command line version and running games that don't work there because it outputs the error They are all clean compiles, and i'm making the command-line version. Btw, don't know if you've done this, but you might want to check out my forum (plug )I've been a member there for long enough, may as well get some value out of it. Thanks! Link to comment Share on other sites More sharing options...
James Posted November 5, 2005 Share Posted November 5, 2005 Now I need help. 1. mslug5 when it's about to display the neogeo snk at the start, the game reboots 2. pochi & nyaa, my romset is totally different, but i got it to work, there's just a little graphics error, a diagonal line would be jagged instead. What should I look for? 3. Some other games (such as kof2003) just show a black screen instead of the neogeo logo at the start. 4. KOF96EVO - if I call the romset kof96 it works. But call it kof96evo and a protection screen appears. I've added the romset name to machine\neogeo.c, where kof96 and kof96h are. Still no joy. 5. The only thing that works right now is kof10th. Any help would be most appreciated.<{POST_SNAPBACK}> I know what is causeing the kof96evo problem. Go to Machine\neogeo.c and this after !strcmp(Machine->gamedrv->name,"kof96") || !strcmp(Machine->gamedrv->name,"kof96evo") || Link to comment Share on other sites More sharing options...
Weirdy Posted November 5, 2005 Share Posted November 5, 2005 Now I need help. 1. mslug5 when it's about to display the neogeo snk at the start, the game reboots 2. pochi & nyaa, my romset is totally different, but i got it to work, there's just a little graphics error, a diagonal line would be jagged instead. What should I look for? 3. Some other games (such as kof2003) just show a black screen instead of the neogeo logo at the start. 4. KOF96EVO - if I call the romset kof96 it works. But call it kof96evo and a protection screen appears. I've added the romset name to machine\neogeo.c, where kof96 and kof96h are. Still no joy. 5. The only thing that works right now is kof10th. Any help would be most appreciated.<{POST_SNAPBACK}> I know what is causeing the kof96evo problem. Go to Machine\neogeo.c and this after !strcmp(Machine->gamedrv->name,"kof96") || !strcmp(Machine->gamedrv->name,"kof96evo") ||<{POST_SNAPBACK}>oh shiit I forgot about that! yeah, do that robert Link to comment Share on other sites More sharing options...
Robert Posted November 5, 2005 Author Share Posted November 5, 2005 Actually, I had already done that but for some reason it didn't take. Now I get a black screen instead. Turned on the rom_load debug feature to assist me. I put all new code in for kof2003, still a black screen. Removed kof2003a, kof2003b, kof2k3up as I'm confused by the multitudes of different drivers and I don't have the roms anyway. Got kf2k4spe working after installing fet's driver. Diggerman and syscheck worked first go. Diggerman is a variation on boulderdash. Syscheck displays a couple of text messages (a waste of over 2 megs of roms). Now, the first thing to fix is mslug5. Here is my driver, what's wrong with it?ROM_START( mslug5 ) ROM_REGION( 0x800000, REGION_CPU1, 0 ) ROM_LOAD32_WORD_SWAP( "268-p1.bin", 0x000000, 0x400000, CRC(d0466792) SHA1(880819933d997fab398f91061e9dbccb959ae8a1) ) ROM_LOAD32_WORD_SWAP( "268-p2.bin", 0x000002, 0x400000, CRC(fbf6b61e) SHA1(9ec743d5988b5e3183f37f8edf45c72a8c0c893e) ) ROM_REGION( 0x20000, REGION_GFX1, 0 ) ROM_FILL( 0x000000, 0x20000, 0 ) ROM_REGION( 0x20000, REGION_GFX2, 0 ) ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) ) ROM_REGION( 0x40000, REGION_USER4, 0 ) ROM_LOAD( "268-m1.bin", 0x00000, 0x40000, CRC(88c11f51) SHA1(5592819be64b69ab361d3b6b139fc68d8cabd29d) ) NEO_BIOS_SOUND_256K( "268-m1d.bin", CRC(6866d696) SHA1(3638b072e44277a6bffea5a78a915a14c6afcba0) ) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "268-v1.bin", 0x000000, 0x800000, CRC(33c6305c) SHA1(67fce35a62941d2dcec75f0e6319677d6df7a4dc) ) ROM_LOAD( "268-v2.bin", 0x800000, 0x800000, CRC(1afb848e) SHA1(368e950043deebc91f7b38be770fa1045a0153af) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "268-c1.bin", 0x0000000, 0x800000, CRC(27d59de8) SHA1(0447a675d885721cedc079788cf41ae3f797834b) ) ROM_LOAD16_BYTE( "268-c2.bin", 0x0000001, 0x800000, CRC(e600dee1) SHA1(e55e5a25616c4daf09692d1b53a92d6f31e842ac) ) ROM_LOAD16_BYTE( "268-c3.bin", 0x1000000, 0x800000, CRC(b650f098) SHA1(4cd729153bd5b2054fbe10c96d2bb370084d1d24) ) ROM_LOAD16_BYTE( "268-c4.bin", 0x1000001, 0x800000, CRC(10499589) SHA1(24542a3b70080e5a61fdab04ab314450a1d821ef) ) ROM_LOAD16_BYTE( "268-c5.bin", 0x2000000, 0x800000, CRC(19352405) SHA1(5ee255403739c11a65608dcff0984480f067d824) ) ROM_LOAD16_BYTE( "268-c6.bin", 0x2000001, 0x800000, CRC(b1531523) SHA1(786f342dbb7fea50139d6421e5b82e551772bf0a) ) ROM_LOAD16_BYTE( "268-c7.bin", 0x3000000, 0x800000, CRC(fe2c1338) SHA1(de9d257574881dd1684956f60011a20c1dd5a0d9) ) ROM_LOAD16_BYTE( "268-c8.bin", 0x3000001, 0x800000, CRC(ecce3141) SHA1(103247b57f8ea5746dd1cf92dda95a6dc9268c78) ) ROM_END //---------------------------------------------------------mslug5 static void mslug5_px_decrypt( void ) { const unsigned char xor1[ 0x20 ] = { 0xc2, 0x4b, 0x74, 0xfd, 0x0b, 0x34, 0xeb, 0xd7, 0x10, 0x6d, 0xf9, 0xce, 0x5d, 0xd5, 0x61, 0x29, 0xf5, 0xbe, 0x0d, 0x82, 0x72, 0x45, 0x0f, 0x24, 0xb3, 0x34, 0x1b, 0x99, 0xea, 0x09, 0xf3, 0x03, }; const unsigned char xor2[ 0x20 ] = { 0x36, 0x09, 0xb0, 0x64, 0x95, 0x0f, 0x90, 0x42, 0x6e, 0x0f, 0x30, 0xf6, 0xe5, 0x08, 0x30, 0x64, 0x08, 0x04, 0x00, 0x2f, 0x72, 0x09, 0xa0, 0x13, 0xc9, 0x0b, 0xa0, 0x3e, 0xc2, 0x00, 0x40, 0x2b, }; int i; UINT8 *rom, *buf; int ofst; rom = memory_region( REGION_CPU1 ); for( i = 0; i < 0x100000; i++ ){ rom[ i ] ^= xor1[ (i % 0x20) ]; } for( i = 0x100000; i < 0x800000; i++ ){ rom[ i ] ^= xor2[ (i % 0x20) ]; } for( i = 0x100000; i < 0x0800000; i += 4 ){ UINT16 *rom16 = (UINT16*)&rom[ i + 1 ]; *rom16 = BITSWAP16( *rom16, 15, 14, 13, 12, 10, 11, 8, 9, 6, 7, 4, 5, 3, 2, 1, 0 ); } buf = malloc( 0x800000 ); memcpy( buf, rom, 0x800000 ); for( i = 0; i < 0x0100000 / 0x10000; i++ ){ ofst = (i & 0xf0) + BITSWAP8( (i & 0x0f), 7, 6, 5, 4, 1, 0, 3, 2 ); memcpy( &rom[ i * 0x10000 ], &buf[ ofst * 0x10000 ], 0x10000 ); } for( i = 0x100000; i < 0x800000; i += 0x100 ){ ofst = (i & 0xf000ff) + ((i & 0x000f00) ^ 0x00700) + (BITSWAP8( ((i & 0x0ff000) >> 12), 5, 4, 7, 6, 1, 0, 3, 2 ) << 12); memcpy( &rom[ i ], &buf[ ofst ], 0x100 ); } free( buf ); buf = malloc( 0x800000 ); memcpy( buf, rom, 0x800000 ); memcpy( &rom[ 0x100000 ], &buf[ 0x700000 ], 0x100000 ); memcpy( &rom[ 0x200000 ], &buf[ 0x100000 ], 0x600000 ); free( buf ); } DRIVER_INIT( mslug5 ) { mslug5_px_decrypt(); neo_pcm2_playmore_2002(2); // Mslug5 neogeo_fix_bank_type = 1; kof2000_neogeo_gfx_decrypt(0x19); init_neogeo(); } Link to comment Share on other sites More sharing options...
James Posted November 5, 2005 Share Posted November 5, 2005 looks like you are missing the bankswitch which is for a few other drivers like kof2003 svcchaos etc . I have no idea how you have missed such code. This code goes in machine\neogeo.c /* PCB init info Thanks to IQ for the mame conversion */ static unsigned short CartRAM[0x1000]; unsigned char pvc_r8(unsigned int address) { return *(((unsigned char *)CartRAM)+((address^1)-0x2fe000)); } void pvc_w8(unsigned int address, unsigned char data) { *(((unsigned char *)CartRAM)+((address^1)-0x2fe000))=data; } // These perform some palette calculations // Unpack palette word to RGB dword, thanks to bms888 void pvc_prot1( void ) // on writes to e0/e1 { unsigned char b1, b2; b1 = pvc_r8(0x2fffe0); b2 = pvc_r8(0x2fffe1); pvc_w8(0x2fffe3,(((b2>>0)&0xf)<<1)|((b1>>4)&1)); pvc_w8(0x2fffe2,(((b2>>4)&0xf)<<1)|((b1>>5)&1)); pvc_w8(0x2fffe5,(((b1>>0)&0xf)<<1)|((b1>>6)&1)); pvc_w8(0x2fffe4, (b1>>7)); } void pvc_prot2( void ) // on writes to e8/e9/ea/eb { unsigned char b1, b2, b3, b4; b1 = pvc_r8(0x2fffe8); b2 = pvc_r8(0x2fffe9); b3 = pvc_r8(0x2fffea); b4 = pvc_r8(0x2fffeb); pvc_w8(0x2fffed,(b2>>1)|((b1>>1)<<4)); pvc_w8(0x2fffec,(b4>>1)|((b2&1)<<4)|((b1&1)<<5)|((b4&1)<<6)|((b3&1)<<7)); } void pvc_write_bankswitch( void ) { UINT32 bankaddress; bankaddress = ((CartRAM[0xff8]>>8)|(CartRAM[0xff9]<<8))+0x100000; neogeo_set_cpu1_second_bank(bankaddress); } static WRITE16_HANDLER( pvc_prot_w ) { COMBINE_DATA( &CartRAM[ offset ] ); if (offset == 0xFF0)pvc_prot1(); else if(offset >= 0xFF4 && offset <= 0xFF5)pvc_prot2(); else if(offset >= 0xFF8 && offset <= 0xFF9)pvc_write_bankswitch(); } static READ16_HANDLER( pvc_prot_r ) { if (offset >= 0xFF8) { if(CartRAM[0xFF8] == 0xffff) { CartRAM[0xFF8] = 0xfea0; CartRAM[0xFF9] = 0x7fff; } if(CartRAM[0xFF8] == 0x0000) { CartRAM[0xFF8] = 0x00a0; } } return CartRAM[ offset ]; } static READ16_HANDLER( kof2003b_prot_byte ) { return CartRAM[0xff9]; } if (!strcmp(Machine->gamedrv->name,"mslug5") || !strcmp(Machine->gamedrv->name,"mslug5nd")) { /* Patch out loop to disable console mode */ UINT16 *mem16 = (UINT16 *)memory_region(REGION_CPU1); mem16[0x122a >> 1] = 0x4e75; memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, pvc_prot_r); memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, pvc_prot_w);; } This is how I load kof96evo ROM_START( kof96evo ) /* Hack */ ROM_REGION( 0x300000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "214p-p1.bin", 0x000000, 0x200000, CRC(6e10e1af) SHA1(f013e827e74a296d462bd00594b823dd02b4dc76) ) ROM_LOAD16_WORD_SWAP( "214-p2.bin", 0x100000, 0x200000, CRC(002ccb73) SHA1(3ae8df682c75027ca82db25491021eeba00a267e) ) NEO_SFIX_128K( "214-s1.bin", CRC(1254cbdb) SHA1(fce5cf42588298711a3633e9c9c1d4dcb723ac76) ) NEO_BIOS_SOUND_128K( "214-m1.bin", CRC(dabc427c) SHA1(b76722ed142ee7addceb4757424870dbd003e8b3) ) ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "214-v1.bin", 0x000000, 0x400000, CRC(63f7b045) SHA1(1353715f1a8476dca6f8031d9e7a401eacab8159) ) ROM_LOAD( "214-v2.bin", 0x400000, 0x400000, CRC(25929059) SHA1(6a721c4cb8f8dc772774023877d4a9f50d5a9e31) ) ROM_LOAD( "214-v3.bin", 0x800000, 0x200000, CRC(92a2257d) SHA1(5064aec78fa0d104e5dd5869b95382aa170214ee) ) NO_DELTAT_REGION ROM_REGION( 0x2000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "214-c1.bin", 0x0000000, 0x400000, CRC(7ecf4aa2) SHA1(f773c4c1f05d58dd37e7bb2ac1d1e0ec43998a71) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "214-c2.bin", 0x0000001, 0x400000, CRC(05b54f37) SHA1(cc31653fe4cb05201fba234e080cb9c7a7592b1b) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "214-c3.bin", 0x0800000, 0x400000, CRC(64989a65) SHA1(e6f3749d43be0afa9dad7b085cb782ba694252ca) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "214-c4.bin", 0x0800001, 0x400000, CRC(afbea515) SHA1(ae875052728de33174827705646bd14cf3937b5c) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "214-c5.bin", 0x1000000, 0x400000, CRC(2a3bbd26) SHA1(7c1a7e50a10a1b082e0d0d515c34135ee9f995ac) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "214-c6.bin", 0x1000001, 0x400000, CRC(44d30dc7) SHA1(c8ae001e37224b55d9e4a4d99f6578b4f6eb055f) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "214-c7.bin", 0x1800000, 0x400000, CRC(3687331b) SHA1(2be95caab76d7af51674f93884330ba73a6053e4) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "214-c8.bin", 0x1800001, 0x400000, CRC(fa1461ad) SHA1(6c71a7f08e4044214223a6bf80984582ab5e0328) ) /* Plane 2,3 */ ROM_END Link to comment Share on other sites More sharing options...
Robert Posted November 5, 2005 Author Share Posted November 5, 2005 (edited) 1. KOF96EVO - I had realised that the 2nd half of the p1 rom should not be loaded, and I'd got it working with a warning. Your solution is neater and I'll try it soon. 2. neopong - When the playfield appears, the whole computer freezes and has to be powered off/on. I copied exactly the mameplus code, it's quite straightforward, mystery. 3. samsho5 works. Kof2k2mp magic plus works. 4. svcchaos, svchaosa - i'm missing 269-m1d so bad luck for me 5. svcplus, svcplusa, svcsplus, svcboot - none of these work. I've just added your codes James (thanks very much!), and I'm about to compile now. *** EDIT EDIT EDIT *** 1. kof96evo works now without any warnings, yay! 2. Mslug5 works! 3. Pnyaa works! 4. KOF2003 - although the code all seems to be there it quite obviously doesn't work.ROM_START( kof2003 ) ROM_REGION( 0x900000, REGION_CPU1, 0 ) ROM_LOAD32_WORD_SWAP( "271-p1.bin", 0x000000, 0x400000, CRC(b9da070c) SHA1(1a26325af142a4dd221c336061761468598c4634) ) ROM_LOAD32_WORD_SWAP( "271-p2.bin", 0x000002, 0x400000, CRC(da3118c4) SHA1(582e4f44f03276adecb7b2848d3b96bf6da57f1e) ) ROM_LOAD16_WORD_SWAP( "271-p3.bin", 0x800000, 0x100000, CRC(5cefd0d2) SHA1(cddc3164629fed4b6f715e12b109ad35d1009355) ) ROM_LOAD16_WORD_SWAP( "271-p3d.bin", 0x800000, 0x100000, CRC(59d376da) SHA1(3c3ad0b79e8b37e838893a8f7b87e11d7eeee8f2) ) ROM_REGION( 0x100000, REGION_GFX1, 0 ) ROM_FILL( 0x000000, 0x100000, 0 ) ROM_REGION( 0x20000, REGION_GFX2, 0 ) ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) ) ROM_REGION16_BE( 0x40000, REGION_USER1, 0 ) ROM_LOAD16_WORD_SWAP( "271-bios.bin", 0x00000, 0x040000, CRC(c521b5bc) SHA1(c9a5db63523191dedd1b39baab8772f64f09b77f) ) ROM_REGION( 0x90000, REGION_CPU2, 0 ) ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(97cf998b) SHA1(977387a7c76ef9b21d0b01fa69830e949a9a9626) ) ROM_LOAD( "271-m1d.bin", 0x00000, 0x80000, CRC(0e86af8f) SHA1(769102b67bb1a699cfa5674d66cdb46ae633cb65) ) ROM_RELOAD( 0x10000, 0x80000 ) ROM_REGION( 0x10000, REGION_GFX4, 0 ) ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, CRC(e09e253c) SHA1(2b1c719531dac9bb503f22644e6e4236b91e7cfc) ) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "271-v1d.bin", 0x000000, 0x1000000, CRC(2058ec5e) SHA1(567fdf328f87551a949dc601f4e71c55368debf0) ) // ROM_LOAD( "271-v1.bin", 0x000000, 0x1000000, CRC(1d96154b) SHA1(1d4e262b0d30cee79a4edc83bb9706023c736668) ) NO_DELTAT_REGION ROM_REGION( 0x6000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "271-c1d.bin", 0x0000000, 0x1000000, CRC(c29acd28) SHA1(8a10409c5a9ad95fa9b56e94c14f1b96101fb179) ) ROM_LOAD16_BYTE( "271-c2d.bin", 0x0000001, 0x1000000, CRC(328e80b1) SHA1(c7f8069488be1a88a2ea03718b6a131f5c96bd3f) ) ROM_LOAD16_BYTE( "271-c3d.bin", 0x2000000, 0x1000000, CRC(020a11f1) SHA1(85cfae76234f72b0039ebc02f931bb2a9c10b1af) ) ROM_LOAD16_BYTE( "271-c4d.bin", 0x2000001, 0x1000000, CRC(991b5ed2) SHA1(99c4c470bc9cb388773e27de6df4a16803fc7b45) ) ROM_LOAD16_BYTE( "271-c5d.bin", 0x4000000, 0x1000000, CRC(c2de8b66) SHA1(40c2ea48fc20d470163a9dbb40c0276fc4cfceb9) ) ROM_LOAD16_BYTE( "271-c6d.bin", 0x4000001, 0x1000000, CRC(3ff750db) SHA1(714f14a2eb2df6f25d10a6b6aff4b3adfbc7a5dc) ) ROM_END //--------------------------------------------------------kof2003 static void kof2003_px_decrypt( void ) { const unsigned char xor2[ 0x20 ] = { 0xb4, 0x0f, 0x40, 0x6c, 0x38, 0x07, 0xd0, 0x3f, 0x53, 0x08, 0x80, 0xaa, 0xbe, 0x07, 0xc0, 0xfa, 0xd0, 0x08, 0x10, 0xd2, 0xf1, 0x03, 0x70, 0x7e, 0x87, 0x0B, 0x40, 0xf6, 0x2a, 0x0a, 0xe0, 0xf9 }; int i; int ofst; UINT8 *rom, *buf; rom = memory_region( REGION_CPU1 ); for( i = 0x100000; i < 0x800000; i++ ){ rom[ i ] ^= xor2[ (i % 0x20) ]; } for( i = 0x100000; i < 0x800000; i += 4 ){ UINT16 *rom16 = (UINT16*)&rom[ i + 1 ]; *rom16 = BITSWAP16( *rom16, 15, 14, 13, 12, 4, 5, 6, 7, 8, 9, 10, 11, 3, 2, 1, 0 ); } buf = malloc( 0x800000 ); memcpy( buf, rom, 0x800000 ); for( i = 0; i < 0x0100000 / 0x10000; i++ ){ ofst = (i & 0xf0) + BITSWAP8( (i & 0x0f), 7, 6, 5, 4, 1, 0, 3, 2 ); memcpy( &rom[ i * 0x10000 ], &buf[ ofst * 0x10000 ], 0x10000 ); } for( i = 0x100000; i < 0x800000; i += 0x100 ){ ofst = (i & 0xf000ff) + ((i & 0x000f00) ^ 0x00300) + (BITSWAP8( ((i & 0x0ff000) >> 12), 4, 5, 6, 7, 1, 0, 3, 2 ) << 12); memcpy( &rom[ i ], &buf[ ofst ], 0x100 ); } free( buf ); buf = malloc(0x900000); memcpy( buf, rom, 0x900000 ); memcpy( &rom[0x100000], &buf[0x800000], 0x100000 ); memcpy( &rom[0x200000], &buf[0x100000], 0x700000 ); free(buf); } static void kof2003_sx_decrypt( void ) { int i; int tx_size = memory_region_length( REGION_GFX1 ); int rom_size = memory_region_length( REGION_GFX3 ); UINT8 *src; UINT8 *dst; src = memory_region( REGION_GFX3 ) + rom_size - 0x1000000 - 0x80000; dst = memory_region( REGION_GFX1 ); for( i = 0; i < tx_size / 2; i++ ){ dst[ i ] = src[ (i & ~0x1f) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4) ]; } src = memory_region( REGION_GFX3 ) + rom_size - 0x80000; dst = memory_region( REGION_GFX1 ) + 0x80000; for( i = 0; i < tx_size / 2; i++ ){ dst[ i ] = src[ (i & ~0x1f) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4) ]; } dst = memory_region( REGION_GFX1 ); for( i = 0; i < tx_size; i++ ){ dst[ i ] = BITSWAP8( dst[ i ] ^ 0xd2, 4, 0, 7, 2, 5, 1, 6, 3 ); } } DRIVER_INIT( kof2003 ) { kof2003_px_decrypt(); kof2003_sx_decrypt(); // save_decrypted_ps(); neogeo_fix_bank_type = 2; init_neogeo(); } GAMEB( 2003, kof2003, neogeo, neogeo, neogeo, neogeo, kof2003, ROT0, "SNK Playmore", "The King of Fighters 2003 (PCB, decrypted C)", 0 ) machine\neogeo.c if (!strcmp(Machine->gamedrv->name,"kof2003")) { memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, MRA16_RAM ); memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, MWA16_RAM ); memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fffe0, 0x2fffef, 0, 0, mv0_prot_r ); memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fffe0, 0x2fffef, 0, 0, mv0_prot_w ); memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2ffff0, 0x2ffff3, 0, 0, mv0_bankswitch_r ); memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2ffff0, 0x2ffff3, 0, 0, mv0_bankswitch_w ); memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0xc00000, 0xc3ffff, 0, 0, MRA16_BANK3 ); // 256k bios } What do you think? Edited November 6, 2005 by robbbert Link to comment Share on other sites More sharing options...
Robert Posted November 6, 2005 Author Share Posted November 6, 2005 22 hours later and no response, oh well. I've gotten pnyaa, svcsplus and matrimbl working. Can someone please supply the machine\neogeo.c code (bankswitching etc) for svcboot, svcplus, svcplusa, svcchaos, svchaosa? Still no success with kof2003, can someone help me? (see previous post). Can someone post the driver for cthd2003? Thanks. Link to comment Share on other sites More sharing options...
James Posted November 6, 2005 Share Posted November 6, 2005 22 hours later and no response, oh well. I've gotten pnyaa, svcsplus and matrimbl working. Can someone please supply the machine\neogeo.c code (bankswitching etc) for svcboot, svcplus, svcplusa, svcchaos, svchaosa? Still no success with kof2003, can someone help me? (see previous post). Can someone post the driver for cthd2003? Thanks.<{POST_SNAPBACK}> So you are useing all of the bankswitch for kof2003 ? Anyway go here http://neosource.1emulation.com/forums/index.php?topic=433.0 IQ adds all the code in drivers\neogeo.c Unlike me Where I add all bankswitch code to machine\neogeo.c.where I feel it should be. Link to comment Share on other sites More sharing options...
Robert Posted November 6, 2005 Author Share Posted November 6, 2005 I looked at that thread but I've obviously missed something... I'll take another look tomorrow. I found a driver for cthd2003, fixed the usual syntax errors, missing subroutines etc and it works well. Link to comment Share on other sites More sharing options...
James Posted November 6, 2005 Share Posted November 6, 2005 Yeah mame plus has that driver cthd2003... =================================== Oh if you had errors from the code I posted, Its outdated since the MameDEV changed a few things I think I should update that thread soon. Link to comment Share on other sites More sharing options...
Weirdy Posted November 6, 2005 Share Posted November 6, 2005 changes in cthd2003's bankswitching or the data-types? Link to comment Share on other sites More sharing options...
Recommended Posts