Jump to content

Adding games


Robert

Recommended Posts

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

  • Replies 70
  • Created
  • Last Reply

Top Posters In This Topic

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.

 

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

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.

 

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") ||

oh shiit I forgot about that! :blink: yeah, do that robert
Link to comment
Share on other sites

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

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

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 by robbbert
Link to comment
Share on other sites

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

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.

 

 

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

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

Guest
This topic is now closed to further replies.

×
×
  • Create New...