mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
matrimbl set from Kawaks [Kawaks]
This commit is contained in:
parent
79e4dc3955
commit
d8a6433cc5
@ -5281,7 +5281,7 @@ ROM_START( rotd ) /* Encrypted Set */ /* MVS VERSION */
|
||||
ROM_LOAD16_BYTE( "264-c8.bin", 0x3000001, 0x800000, CRC(c5edb5c4) SHA1(253378c8739daa5da4edb15eff7050820b2b3755) ) /* Plane 2,3 */
|
||||
ROM_END
|
||||
|
||||
ROM_START( kof2002 ) /* Encrypted Set */
|
||||
ROM_START( kof2002 ) /* Encrypted Set */ /* MVS AND AES VERSION */
|
||||
ROM_REGION( 0x500000, "main", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "265-p1.bin", 0x000000, 0x100000, CRC(9ede7323) SHA1(ad9d45498777fda9fa58e75781f48e09aee705a6) )
|
||||
ROM_LOAD16_WORD_SWAP( "265-p2.bin", 0x100000, 0x400000, CRC(327266b8) SHA1(98f445cc0a94f8744d74bca71cb420277622b034) )
|
||||
@ -6527,6 +6527,41 @@ ROM_START( kof2k4se )
|
||||
ROM_LOAD16_BYTE( "k2k4s-c5.bin", 0x3000001, 0x800000, CRC(2c912ff9) SHA1(b624a625ea3e221808b7ea43fb0b1a51d8c1853e) ) /* Plane 2,3 */
|
||||
ROM_END
|
||||
|
||||
/* Matrimelee bootleg */
|
||||
|
||||
ROM_START( matrimbl )
|
||||
ROM_REGION( 0x500000, "main", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "266-p1.bin", 0x000000, 0x100000, CRC(5d4c2dc7) SHA1(8d723b0d28ec344eef26009b361a2b97d300dd51) )
|
||||
ROM_LOAD16_WORD_SWAP( "266-p2.bin", 0x100000, 0x400000, CRC(a14b1906) SHA1(1daa14d73512f760ef569b06f9facb279437d1db) )
|
||||
|
||||
ROM_Y_ZOOM
|
||||
|
||||
ROM_REGION( 0x80000, "fixed", 0 )
|
||||
ROM_FILL( 0x000000, 0x80000, 0 )
|
||||
ROM_REGION( 0x20000, "fixedbios", 0 )
|
||||
ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
|
||||
|
||||
NEO_BIOS_AUDIO_128K( "mart-m1.bin", CRC(3ea96ab1) SHA1(e5053c4312f658faed2a34e38325a22ef792d384) )
|
||||
|
||||
ROM_REGION( 0x1000000, "ym", 0 )
|
||||
ROM_LOAD( "mart-v1.bin", 0x000000, 0x400000, CRC(352b0a07) SHA1(19f7cc12f3f6d0fda9c7449816c4c32367447897) )
|
||||
ROM_LOAD16_WORD_SWAP( "mart-v2.bin", 0x400000, 0x400000, CRC(1e9bd59e) SHA1(0f754e780d0ebb815a92a45ad55f85f6d0181b70) )
|
||||
ROM_LOAD( "mart-v3.bin", 0x800000, 0x400000, CRC(e8362fcc) SHA1(42d558fd80cabe22a1c09a1fa75741afbcf46b7c) )
|
||||
ROM_LOAD16_WORD_SWAP( "mart-v4.bin", 0xc00000, 0x400000, CRC(c8c79b19) SHA1(9c7a5e694d68f37a27209e1400b60b6241a04cc7) )
|
||||
|
||||
NO_DELTAT_REGION
|
||||
|
||||
ROM_REGION( 0x4000000, "sprites", 0 )
|
||||
ROM_LOAD16_BYTE( "mart-c1.bin", 0x0000000, 0x800000, CRC(a5595656) SHA1(d86281607f22e4f2001047eaeeda99cd673c508c) ) /* Plane 0,1 */
|
||||
ROM_LOAD16_BYTE( "mart-c2.bin", 0x0000001, 0x800000, CRC(c5f7c300) SHA1(9ff5ffb750bd2e925667d84389192f92183e8677) ) /* Plane 2,3 */
|
||||
ROM_LOAD16_BYTE( "mart-c3.bin", 0x1000000, 0x800000, CRC(574efd7d) SHA1(6cac303db705fe2800701ee51de9e9fca04e6e66) ) /* Plane 0,1 */
|
||||
ROM_LOAD16_BYTE( "mart-c4.bin", 0x1000001, 0x800000, CRC(109d54d9) SHA1(22cb748b3b14317b90d9d9951297ada2bfc3a3f1) ) /* Plane 2,3 */
|
||||
ROM_LOAD16_BYTE( "mart-c5.bin", 0x2000000, 0x800000, CRC(15c9e882) SHA1(1c9f1ccaed4fdd9d8f5cc9b6fcaca3c4e328e59e) ) /* Plane 0,1 */
|
||||
ROM_LOAD16_BYTE( "mart-c6.bin", 0x2000001, 0x800000, CRC(77497b97) SHA1(c6481bea5a36f8210971fdcb4bfbe7ed93c769de) ) /* Plane 2,3 */
|
||||
ROM_LOAD16_BYTE( "mart-c7.bin", 0x3000000, 0x800000, CRC(ab481bb6) SHA1(6b2d97c5505eeb28e300b075f37f0d69ef44463a) ) /* Plane 0,1 */
|
||||
ROM_LOAD16_BYTE( "mart-c8.bin", 0x3000001, 0x800000, CRC(906cf267) SHA1(b0f2cf8887794d715f208751ddd1ed26b2c3ffdf) ) /* Plane 2,3 */
|
||||
ROM_END
|
||||
|
||||
/* Metal Slug 5 bootleg */
|
||||
|
||||
ROM_START( ms5plus )
|
||||
@ -7195,6 +7230,15 @@ static DRIVER_INIT( matrim )
|
||||
DRIVER_INIT_CALL(neogeo);
|
||||
}
|
||||
|
||||
static DRIVER_INIT( matrimbl )
|
||||
{
|
||||
matrim_decrypt_68k(machine);
|
||||
neogeo_fixed_layer_bank_type = 2;
|
||||
matrimbl_decrypt(machine);
|
||||
neogeo_sfix_decrypt(machine); /* required for text layer */
|
||||
DRIVER_INIT_CALL(neogeo);
|
||||
}
|
||||
|
||||
static DRIVER_INIT( pnyaa )
|
||||
{
|
||||
neo_pcm2_snk_1999(machine, 4);
|
||||
@ -7636,7 +7680,7 @@ GAME( 2003, samsh5sp, neogeo, neogeo, neogeo, samsh5sp, ROT0, "Yuki Enterp
|
||||
GAME( 2003, samsh5sh, samsh5sp, neogeo, neogeo, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (set 2, censored)", 0 )
|
||||
GAME( 2003, samsh5sn, samsh5sp, neogeo, neogeo, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (set 3, less censored)", 0 )
|
||||
|
||||
/* there are other bootlegs kof2002b etc. kof96ep, matrimbl?, kf2k1pls -- work out which should be supported */
|
||||
/* there are other bootlegs kof2002b etc. kof96ep, kf2k1pls? -- work out which should be supported */
|
||||
|
||||
/* Alpha Denshi Co. / ADK (changed name in 1993) */
|
||||
GAME( 1990, maglord, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Magician Lord (set 1)", 0 )
|
||||
@ -7774,6 +7818,7 @@ GAME( 2002, rotd, neogeo, neogeo, neogeo, rotd, ROT0, "Evoga / Pla
|
||||
|
||||
/* Atlus */
|
||||
GAME( 2002, matrim, neogeo, neogeo, neogeo, matrim, ROT0, "Noise Factory / Atlus", "Matrimelee / Shin Gouketsuji Ichizoku Toukon", 0 )
|
||||
GAME( 2002, matrimbl, matrim, neogeo, neogeo, matrimbl, ROT0, "bootleg", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg)", 0 )
|
||||
|
||||
/* Breezasoft */
|
||||
GAME( 2001, jockeygp, neogeo, neogeo, jockeygp, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix", 0 )
|
||||
|
@ -42,8 +42,12 @@ READ16_HANDLER( neogeo_unmapped_r );
|
||||
|
||||
void kof99_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
|
||||
void kof2000_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
|
||||
void cmc50_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
|
||||
void cmc42_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
|
||||
void cmc50_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
|
||||
void neogeo_cmc50_m1_decrypt(running_machine *machine);
|
||||
void neo_pcm2_snk_1999(running_machine *machine, int value);
|
||||
void neo_pcm2_swap(running_machine *machine, int value);
|
||||
void neogeo_sfix_decrypt(running_machine *machine);
|
||||
void kof99_decrypt_68k(running_machine *machine);
|
||||
void garou_decrypt_68k(running_machine *machine);
|
||||
void garouo_decrypt_68k(running_machine *machine);
|
||||
@ -64,9 +68,6 @@ void kof2003_decrypt_68k(running_machine *machine);
|
||||
void kof2003h_decrypt_68k(running_machine *machine);
|
||||
void kof2003biosdecode(running_machine *machine);
|
||||
void samsh5sp_decrypt_68k(running_machine *machine);
|
||||
void neo_pcm2_snk_1999(running_machine *machine, int value);
|
||||
void neo_pcm2_swap(running_machine *machine, int value);
|
||||
void neogeo_cmc50_m1_decrypt(running_machine *machine);
|
||||
|
||||
|
||||
/*----------- defined in machine/neoprot.c -----------*/
|
||||
@ -118,6 +119,7 @@ void kf2k3upl_install_protection(running_machine *machine);
|
||||
void kf2k3pl_install_protection(running_machine *machine);
|
||||
void samsho5b_px_decrypt(running_machine *machine);
|
||||
void samsho5b_vx_decrypt(running_machine *machine);
|
||||
void matrimbl_decrypt(running_machine *machine);
|
||||
|
||||
|
||||
/*----------- defined in video/neogeo.c -----------*/
|
||||
|
@ -1037,3 +1037,51 @@ void samsho5b_vx_decrypt( running_machine *machine )
|
||||
rom[ i ] = BITSWAP8( rom[ i ], 0, 1, 5, 4, 3, 2, 6, 7 );
|
||||
}
|
||||
|
||||
|
||||
/* Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg) */
|
||||
|
||||
|
||||
#define MATRIMBLZ80( i ) ( i^(BITSWAP8(i&0x3,4,3,1,2,0,7,6,5)<<8) )
|
||||
|
||||
void matrimbl_decrypt( running_machine *machine )
|
||||
{
|
||||
/* decrypt Z80 */
|
||||
UINT8 *rom = memory_region( machine, "audio" )+0x10000;
|
||||
UINT8 *buf = malloc_or_die( 0x20000 );
|
||||
int i, j=0;
|
||||
memcpy( buf, rom, 0x20000 );
|
||||
for( i=0x00000; i<0x20000; i++ )
|
||||
{
|
||||
if ( i&0x10000 )
|
||||
{
|
||||
if ( i&0x800 )
|
||||
{
|
||||
j=MATRIMBLZ80( i );
|
||||
j=j^0x10000;
|
||||
}
|
||||
else
|
||||
{
|
||||
j=MATRIMBLZ80(( i^0x01 ));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( i&0x800 )
|
||||
{
|
||||
j=MATRIMBLZ80(( i^0x01 ));
|
||||
j=j^0x10000;
|
||||
}
|
||||
else
|
||||
{
|
||||
j=MATRIMBLZ80( i );
|
||||
}
|
||||
}
|
||||
rom[ j ]=buf[ i ];
|
||||
}
|
||||
free( buf );
|
||||
memcpy( rom-0x10000, rom, 0x10000 );
|
||||
|
||||
/* decrypt gfx */
|
||||
cthd2003_c( machine, 0);
|
||||
}
|
||||
|
||||
|
@ -590,7 +590,7 @@ static void neogeo_gfx_decrypt(running_machine *machine, int extra_xor)
|
||||
|
||||
|
||||
/* the S data comes from the end of the C data */
|
||||
static void neogeo_sfix_decrypt(running_machine *machine)
|
||||
void neogeo_sfix_decrypt(running_machine *machine)
|
||||
{
|
||||
int i;
|
||||
int rom_size = memory_region_length(machine, "sprites");
|
||||
|
@ -5797,6 +5797,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
|
||||
DRIVER( kf10thep ) /* bootleg of kof2002 */
|
||||
DRIVER( kof2k4se ) /* bootleg of kof2002 */
|
||||
DRIVER( matrim ) /* 0266 (c) 2002 Atlus */
|
||||
DRIVER( matrimbl ) /* bootleg */
|
||||
DRIVER( pnyaa ) /* 0267 (c) 2003 Aiky / Taito */
|
||||
DRIVER( ms5pcb ) /* 0268 (c) 2003 Playmore */
|
||||
DRIVER( mslug5 ) /* 0268 (c) 2003 Playmore */
|
||||
|
Loading…
Reference in New Issue
Block a user