General Emulation > MAME

Metal Slug 5 emulation infos

<< < (2/2)

X-or:
Nice IQ :)

I have updated the first post:
-added the apparently legit mslug5n set
-moved mslug5 to NOT_WORKING status (since there's a working clone)

current sets are:

--- Code: ---GAMEBX( 2003, mslug5,   neogeo,   neogeo, neogeo, neogeo,  mslug5,   ROT0, "SNK Playmore Corporation", "Metal Slug 5", GAME_NOT_WORKING )
GAMEB( 2003, mslug5n,  mslug5,   neogeo, neogeo, neogeo,  mslug5n,  ROT0, "SNK Playmore Corporation", "Metal Slug 5 (not encrypted)" )
GAMEB( 2003, ms5plus,  mslug5,   neogeo, neogeo, neogeo,  ms5plus,  ROT0, "bootleg", "Metal Slug 5 Plus" )
--- End code ---

hopefully the neo_pvc code will be released soon to promote mslug5 from not_warking :)

iq_132:
You know you don't need all of the lines of code in the ms5plus code?

Here's a shortened down version ;)

--- Code: ---static WRITE16_HANDLER ( mslug5p_bankswitch_w )
{
if ((offset == 0)&&(data == 0xa0))
{
cpu_setbank(4,&memory_region(REGION_CPU1)[0xa0]);
}
if(offset == 2)
{
int bankaddress=(data>>4)*0x100000;
cpu_setbank(4,&memory_region(REGION_CPU1)[bankaddress]);
}
}
--- End code ---

iq_132:
Here's a shortened version of my code :)


--- Code: ---DRIVER_INIT( mslug5 ) // Code by IQ_132 - Thanks to HappyASR for the info
{
data16_t *mem16 = (data16_t *)memory_region(REGION_CPU1);
for (int i = 0; i < 0x100000/2; i++)
{
if (mem16[i+3] == 0xfff0)
{
for (int j = i; j < (i+4); j++)
{
mem16[j] = 0x4e71;
}
}
if (mem16[i+0] == 0x5247)
{
mem16[i+0] = 0x33c7;
mem16[i+1] = 0x002f;
mem16[i+2] = 0xfff0;
}
}
mem16[0x18430/2] = 0x0001;
mem16[0x0122C/2] = 0x4E71; // AES Patch

neogeo_fix_bank_type = 1;
kof2000_neogeo_gfx_decrypt(0x19);
init_neogeo();
}
--- End code ---

Navigation

[0] Message Index

[*] Previous page

Go to full version