mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
New NOT WORKING game
-------------------- Saturday Night Slam Masters (bootleg with PIC16C57) [ANY, The Dumping Union, Robbbert] Out of whatsnew: Fixed crash in debug build. Fixed sprites in punipic, punipic2, punipic3.
This commit is contained in:
parent
29e1ba5bd9
commit
28190a405b
@ -2511,7 +2511,7 @@ static INPUT_PORTS_START( punisherbz )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Needs further checking */
|
||||
static INPUT_PORTS_START( slammast )
|
||||
INPUT_PORTS_START( slammast )
|
||||
PORT_INCLUDE( cps1_4players )
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
|
@ -64,20 +64,23 @@ dinopic: no sound
|
||||
|
||||
dinopic2: no sound, one bad gfx rom. Copying 8.bin from dinopic fixes it.
|
||||
|
||||
fcrash, kodb: old sprites show on next screen. A patch fixes it.
|
||||
fcrash, kodb: old sprites show on next screen. Patch used.
|
||||
|
||||
knightsb: sprites are entangled with the front layer.
|
||||
|
||||
punipic, punipic2: no sprites, no sound. Patches used.
|
||||
punipic, punipic2: no sound. Problems in Central Park. Patches used.
|
||||
|
||||
punipic3: no sprites, no sound, a layer is missing. Patch used.
|
||||
punipic3: same as punipic, and doors are missing.
|
||||
|
||||
sf2m1: crowd is missing. Plane's tail comes off a bit. Patch used.
|
||||
|
||||
sf2mdt, sf2mdta: ok
|
||||
|
||||
sgyxz: garbage left behind. A priority problem can be seen in 3rd demo where
|
||||
the fighters walk over the crowd instead of behind.
|
||||
the fighters walk through the crowd instead of behind.
|
||||
|
||||
slampic: no sound. In the wrestling ring, a layer flashes on and off.
|
||||
A priority problem between sprites and crowd in front of the ring.
|
||||
|
||||
*/
|
||||
|
||||
@ -450,6 +453,24 @@ WRITE16_MEMBER(cps_state::sf2mdta_layer_w)
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(cps_state::slampic_layer_w)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0x00:
|
||||
case 0x01:
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
case 0x04:
|
||||
case 0x05:
|
||||
dinopic_layer_w(space, offset, data);
|
||||
break;
|
||||
case 0x06:
|
||||
// unknown
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cps_state::fcrash_update_transmasks()
|
||||
{
|
||||
@ -765,6 +786,26 @@ static ADDRESS_MAP_START( sgyxz_map, AS_PROGRAM, 16, cps_state )
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( slampic_map, AS_PROGRAM, 16, cps_state )
|
||||
AM_RANGE(0x000000, 0x3fffff) AM_ROM
|
||||
AM_RANGE(0x800006, 0x800007) AM_WRITENOP //AM_WRITE(cps1_soundlatch2_w)
|
||||
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") /* Player input ports */
|
||||
AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r) /* System input ports / Dip Switches */
|
||||
AM_RANGE(0x800030, 0x800037) AM_WRITE(cps1_coinctrl_w)
|
||||
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs") /* CPS-A custom */
|
||||
AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs")
|
||||
AM_RANGE(0x880000, 0x880001) AM_WRITENOP //AM_WRITE(cps1_soundlatch_w) /* Sound command */
|
||||
AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram")
|
||||
AM_RANGE(0x980000, 0x98000d) AM_WRITE(slampic_layer_w)
|
||||
AM_RANGE(0xf00000, 0xf0ffff) AM_READ(qsound_rom_r) /* Slammasters protection */
|
||||
AM_RANGE(0xf18000, 0xf19fff) AM_RAM
|
||||
AM_RANGE(0xf1c000, 0xf1c001) AM_READ_PORT("IN2") /* Player 3 controls (later games) */
|
||||
AM_RANGE(0xf1c004, 0xf1c005) AM_WRITE(cpsq_coinctrl2_w) /* Coin control2 (later games) */
|
||||
AM_RANGE(0xf1c006, 0xf1c007) AM_READ_PORT("EEPROMIN") AM_WRITE_PORT("EEPROMOUT")
|
||||
AM_RANGE(0xf1f000, 0xf1ffff) AM_NOP // writes 0 to range, then reads F1F6EC
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cps_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||
@ -1649,6 +1690,8 @@ MACHINE_CONFIG_END
|
||||
|
||||
#define CODE_SIZE 0x400000
|
||||
|
||||
// ************************************************************************* FCRASH
|
||||
|
||||
ROM_START( fcrash )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "9.bin", 0x00000, 0x20000, CRC(c6854c91) SHA1(29f01cc65be5eaa3f86e99eebdd284104623abb0) )
|
||||
@ -1687,6 +1730,10 @@ ROM_START( fcrash )
|
||||
ROM_COPY( "gfx", 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
// ************************************************************************* KODB
|
||||
|
||||
/*
|
||||
CPU
|
||||
|
||||
@ -1748,6 +1795,25 @@ ROM_START( kodb )
|
||||
ROM_LOAD( "2.ic19", 0x00000, 0x40000, CRC(a2db1575) SHA1(1a4a29e4b045af50700adf1665697feab12cc234) )
|
||||
ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, kodb)
|
||||
{
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_port(0x800000, 0x800007, "IN1");
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x800018, 0x80001f, read16_delegate(FUNC(cps_state::cps1_dsw_r),this));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x800180, 0x800187, write16_delegate(FUNC(cps_state::cps1_soundlatch_w),this));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x980000, 0x98002f, write16_delegate(FUNC(cps_state::kodb_layer_w),this));
|
||||
|
||||
/* the original game alternates between 2 sprite ram areas to achieve flashing sprites - the bootleg doesn't do the write to the register to achieve this
|
||||
mapping both sprite ram areas to the same bootleg sprite ram - similar to how sf2mdt works */
|
||||
m_bootleg_sprite_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x900000, 0x903fff);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x904000, 0x907fff, m_bootleg_sprite_ram); /* both of these need to be mapped */
|
||||
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ************************************************************************* KNIGHTSB
|
||||
|
||||
/*
|
||||
|
||||
CPU:
|
||||
@ -1812,6 +1878,10 @@ ROM_START( knightsb )
|
||||
ROM_RELOAD( 0x10000, 0x40000 )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
// ************************************************************************* CAWINGBL, CAWINGB2
|
||||
|
||||
ROM_START( cawingbl )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "caw2.bin", 0x00000, 0x80000, CRC(8125d3f0) SHA1(a0e48c326c6164ca189c9372f5c38a7c103772c1) )
|
||||
@ -1862,6 +1932,19 @@ ROM_START( cawingb2 )
|
||||
ROM_RELOAD( 0x10000, 0x20000 )
|
||||
ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, cawingbl)
|
||||
{
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_port(0x882000, 0x882001, "IN1");
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x882006, 0x882007, write16_delegate(FUNC(cps_state::cawingbl_soundlatch_w),this));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x882008, 0x88200f, read16_delegate(FUNC(cps_state::cps1_dsw_r),this));
|
||||
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ************************************************************************* DINOPIC, DINOPIC2
|
||||
|
||||
MACHINE_START_MEMBER(cps_state, dinopic)
|
||||
{
|
||||
m_maincpu = machine().device<cpu_device>("maincpu");
|
||||
@ -1992,7 +2075,7 @@ ROM_START( dinopic2 )
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROMX_LOAD( "27c4000-m12481-4.bin", 0x000000, 0x40000, CRC(f3c2c98d) SHA1(98ae51a67fa4159456a4a205eebdd8d1775888d1), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x000004, 0x40000)
|
||||
ROMX_LOAD( "27c4000-m12481-3.bin", 0x000001, 0x40000, CRC(417a4816) SHA1(5268f6667ff550a949a08f94171966f5d841c6b2), ROM_SKIP(7) ) // this one is a perfect match, unlike dinopic set
|
||||
ROMX_LOAD( "27c4000-m12481-3.bin", 0x000001, 0x40000, BAD_DUMP CRC(417a4816) SHA1(5268f6667ff550a949a08f94171966f5d841c6b2), ROM_SKIP(7) ) // this one is a perfect match, unlike dinopic set
|
||||
ROM_CONTINUE( 0x000005, 0x40000)
|
||||
ROMX_LOAD( "27c4000-m12481-2.bin", 0x000002, 0x40000, CRC(55ef0adc) SHA1(3b5551ae76ae80882d37fc70a1031a57885d6840), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x000006, 0x40000)
|
||||
@ -2029,79 +2112,8 @@ DRIVER_INIT_MEMBER(cps_state, dinopic)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
CPU
|
||||
|
||||
1x MC68000P12 (main)
|
||||
1x TPC1020AFN-084C (main)
|
||||
1x Z0840006PSC-Z80CPU (sound)
|
||||
1x YM2151 (sound)
|
||||
1x YM3012 (sound)
|
||||
2x M5205 (sound)
|
||||
2x LM324N (sound)
|
||||
1x TDA2003 (sound)
|
||||
1x oscillator 24.000000MHz
|
||||
1x oscillator 30.000MHz
|
||||
ROMs
|
||||
|
||||
14x AM27C040 (1,3,6,7,8,9,10,11,12,13,14,15,16,17)
|
||||
3x TMS27C010A (2,4,5)
|
||||
3x PAL 16S20 (ic7,ic72, ic80) (read protected, not dumped)
|
||||
3x GAL20V8A (ic120, ic121, ic169) (read protected, not dumped)
|
||||
|
||||
Note
|
||||
|
||||
1x JAMMA edge connector
|
||||
1x trimmer (volume)
|
||||
3x 8x2 switches dip
|
||||
*/
|
||||
|
||||
ROM_START( sf2mdt )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "3.ic172", 0x000000, 0x80000, CRC(5301b41f) SHA1(6855a57b21e8c5d74e5cb18f9ce6af650d7fb422) )
|
||||
ROM_LOAD16_BYTE( "1.ic171", 0x000001, 0x80000, CRC(c1c803f6) SHA1(9fe18ae2553a63d8e4dcc20bafd5a4634f8b93c4) )
|
||||
ROM_LOAD16_BYTE( "4.ic176", 0x100000, 0x20000, CRC(1073b7b6) SHA1(81ca1eab65ceac69520584bb23a684ccb9d92f89) )
|
||||
ROM_LOAD16_BYTE( "2.ic175", 0x100001, 0x20000, CRC(924c6ce2) SHA1(676a912652bd75da5087f0c7eae047b7681a993c) )
|
||||
|
||||
ROM_REGION( 0x600000, "gfx", 0 ) /* rearranged in init */
|
||||
ROMX_LOAD( "7.ic90", 0x000000, 0x80000, CRC(896eaf48) SHA1(5a13ae8b554e05eed3d5749aaf5845d499bce45b) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "10.ic88", 0x000002, 0x80000, CRC(ef3f5be8) SHA1(d4e1de7d7caf6977e48544d6701618ae70c717f9) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "13.ic89", 0x000004, 0x80000, CRC(305dd72a) SHA1(c373b517c23f3b019abb06e21f6b9ab6e1e47909) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "16.ic87", 0x000006, 0x80000, CRC(e57f6db9) SHA1(b37f95737804002ec0e237472eaacf0bc1e868e8) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "6.ic91", 0x200000, 0x80000, CRC(054cd5c4) SHA1(07f275e118c141a84ca15a2e9edc81694af37cf2) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "9.ic93", 0x200002, 0x80000, CRC(818ca33d) SHA1(dfb707e17c83216f8a62e905f8c7cd6d406b417b) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "12.ic92", 0x200004, 0x80000, CRC(87e069e8) SHA1(cddd3be84f8379134590bfbbb080518f28120e49) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "15.ic94", 0x200006, 0x80000, CRC(5dfb44d1) SHA1(08e44b8efc84f9cfc829aabf704155ddc700de76) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "8.ic86", 0x400000, 0x80000, CRC(34bbb3fa) SHA1(7794e89258f12b17d38c3d302dc15c502a8c8eb6) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "11.ic84", 0x400002, 0x80000, CRC(cea6d1d6) SHA1(9c953db42f0d877e43c0c239f69a00df39a18295) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "14.ic85", 0x400004, 0x80000, CRC(7d9f1a67) SHA1(6deb7fff867c42b13a32bb11eda798cfdb4cbaa8) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "17.ic83", 0x400006, 0x80000, CRC(91a9a05d) SHA1(5266ceddd2df925e79b4200843dec2f7aa9297b3) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Sound program + samples */
|
||||
ROM_LOAD( "5.ic26", 0x00000, 0x20000, CRC(17d5ba8a) SHA1(6ff3b8860d7e1fdee3561846f645eb4d3a8965ec) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sf2mdta )
|
||||
/* unconfirmed if working on real hardware, pf4 is a bad dump (bad pin) */
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "3.mdta", 0x000000, 0x80000, CRC(9f544ef4) SHA1(f784809e59a5fcabd6d15d3f1c36250a5528c9f8) )
|
||||
ROM_LOAD16_BYTE( "5.mdta", 0x000001, 0x80000, CRC(d76d6621) SHA1(aa9cea9ddace212a7b3c535b8f6e3fbc50da1f94) )
|
||||
ROM_LOAD16_BYTE( "2.mdta", 0x100000, 0x20000, CRC(74844192) SHA1(99cd546c78cce7f632007af454d8a55eddb6b19b) )
|
||||
ROM_LOAD16_BYTE( "4.mdta", 0x100001, 0x20000, CRC(bd98ff15) SHA1(ed902d949b0b5c5beaaea78a4b418ffa6db9e1df) )
|
||||
|
||||
ROM_REGION( 0x600000, "gfx", 0 )
|
||||
ROMX_LOAD( "pf4 sh058.ic89", 0x000000, 0x100000, BAD_DUMP CRC(40fdf624) SHA1(cb928602744bf36e6851527f00d90da29de751e6), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf7 sh072.ic92", 0x000002, 0x100000, CRC(fb78022e) SHA1(b8974387056dd52db96b01cc4648edc814398c7e), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf5 sh036.ic90", 0x200000, 0x100000, CRC(0a6be48b) SHA1(b7e72c94d4e3eb4a6bba6608d9b9a093c8901ad9), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf8 sh074.ic93", 0x200002, 0x100000, CRC(6258c7cf) SHA1(4cd7519245c0aa816934a43e6743160f715d7dc2), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf6 sh070.ic88", 0x400000, 0x100000, CRC(9b5b09d7) SHA1(698a6aab41e495bd0c37a19aee16a84f04d15797), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf9 sh001.ic91", 0x400002, 0x100000, CRC(9f25090e) SHA1(12ff0431ef6550db446985c8914ac7d78eec6b6d), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Sound program + samples */
|
||||
ROM_LOAD( "1.ic28", 0x00000, 0x20000, CRC(d5bee9cc) SHA1(e638cb5ce7a22c18b60296a7defe8b03418da56c) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 )
|
||||
ROM_END
|
||||
// ************************************************************************* SGYXZ
|
||||
|
||||
// 24mhz crystal (maincpu), 28.322 crystal (video), 3.579545 crystal (sound)
|
||||
// sound cpu is (239 V 249521 VC5006 KABUKI DL-030P-110V) - recycled Kabuki Z80 from genuine Capcom HW?
|
||||
@ -2145,8 +2157,6 @@ static MACHINE_CONFIG_START( sgyxz, cps_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
ROM_START( sgyxz )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 Code */
|
||||
ROM_LOAD16_BYTE( "sgyxz_prg1.bin", 0x000001, 0x20000, CRC(d8511929) SHA1(4de9263778f327693f4d1e21b48e43806f673487) )
|
||||
@ -2181,69 +2191,8 @@ ROM_START( sgyxz )
|
||||
ROM_END
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, kodb)
|
||||
{
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_port(0x800000, 0x800007, "IN1");
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x800018, 0x80001f, read16_delegate(FUNC(cps_state::cps1_dsw_r),this));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x800180, 0x800187, write16_delegate(FUNC(cps_state::cps1_soundlatch_w),this));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x980000, 0x98002f, write16_delegate(FUNC(cps_state::kodb_layer_w),this));
|
||||
|
||||
/* the original game alternates between 2 sprite ram areas to achieve flashing sprites - the bootleg doesn't do the write to the register to achieve this
|
||||
mapping both sprite ram areas to the same bootleg sprite ram - similar to how sf2mdt works */
|
||||
m_bootleg_sprite_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x900000, 0x902fff);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x904000, 0x906fff, m_bootleg_sprite_ram); /* both of these need to be mapped */
|
||||
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, cawingbl)
|
||||
{
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_port(0x882000, 0x882001, "IN1");
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x882006, 0x882007, write16_delegate(FUNC(cps_state::cawingbl_soundlatch_w),this));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x882008, 0x88200f, read16_delegate(FUNC(cps_state::cps1_dsw_r),this));
|
||||
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, sf2mdt)
|
||||
{
|
||||
int i;
|
||||
UINT32 gfx_size = memregion( "gfx" )->bytes();
|
||||
UINT8 *rom = memregion( "gfx" )->base();
|
||||
UINT8 tmp;
|
||||
|
||||
for( i = 0; i < gfx_size; i += 8 )
|
||||
{
|
||||
tmp = rom[i + 1];
|
||||
rom[i + 1] = rom[i + 4];
|
||||
rom[i + 4] = tmp;
|
||||
tmp = rom[i + 3];
|
||||
rom[i + 3] = rom[i + 6];
|
||||
rom[i + 6] = tmp;
|
||||
}
|
||||
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x708100, 0x7081ff, write16_delegate(FUNC(cps_state::sf2mdt_layer_w),this));
|
||||
DRIVER_INIT_CALL(sf2mdta);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, sf2mdta)
|
||||
{
|
||||
/* bootleg sprite ram */
|
||||
m_bootleg_sprite_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x700000, 0x703fff);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x704000, 0x707fff, m_bootleg_sprite_ram); /* both of these need to be mapped - see the "Magic Delta Turbo" text on the title screen */
|
||||
|
||||
m_bootleg_work_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0xfc0000, 0xfcffff); /* this has moved */
|
||||
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, knightsb)
|
||||
{
|
||||
/* bootleg sprite ram */
|
||||
m_bootleg_sprite_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x991000, 0x993fff);
|
||||
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
}
|
||||
// ************************************************************************* PUNIPIC, PUNIPIC2, PUNIPIC3
|
||||
|
||||
MACHINE_START_MEMBER(cps_state, punipic)
|
||||
{
|
||||
@ -2257,8 +2206,8 @@ MACHINE_START_MEMBER(cps_state, punipic)
|
||||
m_layer_mask_reg[3] = 0x0a;
|
||||
m_layer_scroll1x_offset = 0x46; // text
|
||||
m_layer_scroll3x_offset = 0x46; // green patch in the park
|
||||
m_sprite_base = 0x1000;
|
||||
m_sprite_list_end_marker = 0xffff; // ?
|
||||
m_sprite_base = 0x000;
|
||||
m_sprite_list_end_marker = 0x8000;
|
||||
m_sprite_x_offset = 0;
|
||||
}
|
||||
|
||||
@ -2438,8 +2387,7 @@ DRIVER_INIT_MEMBER(cps_state, punipic)
|
||||
mem16[0x4DF6/2] = 0x0152;
|
||||
mem16[0x4DF8/2] = 0x4E75;
|
||||
|
||||
m_bootleg_sprite_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x993000, 0x993fff);
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
DRIVER_INIT_CALL(dinopic);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, punipic3)
|
||||
@ -2448,11 +2396,13 @@ DRIVER_INIT_MEMBER(cps_state, punipic3)
|
||||
mem16[0x5A6/2] = 0x4E71; // set data pointers
|
||||
mem16[0x5A8/2] = 0x4E71;
|
||||
|
||||
//m_bootleg_sprite_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x993000, 0x993fff);
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
DRIVER_INIT_CALL(dinopic);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ************************************************************************* SF2M1
|
||||
|
||||
static MACHINE_CONFIG_START( sf2m1, cps_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -2518,21 +2468,248 @@ DRIVER_INIT_MEMBER(cps_state, sf2m1)
|
||||
UINT16 *mem16 = (UINT16 *)memregion("maincpu")->base();
|
||||
mem16[0x64E/2] = 0x6046; // fix priorities
|
||||
|
||||
DRIVER_INIT_CALL(knightsb);
|
||||
DRIVER_INIT_CALL(dinopic);
|
||||
}
|
||||
|
||||
|
||||
GAME( 1990, cawingbl, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1990, cawingb2, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1993, dinopic, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1993, dinopic2, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
|
||||
// ************************************************************************* SF2MDT, SF2MDTA
|
||||
|
||||
|
||||
/*
|
||||
CPU
|
||||
|
||||
1x MC68000P12 (main)
|
||||
1x TPC1020AFN-084C (main)
|
||||
1x Z0840006PSC-Z80CPU (sound)
|
||||
1x YM2151 (sound)
|
||||
1x YM3012 (sound)
|
||||
2x M5205 (sound)
|
||||
2x LM324N (sound)
|
||||
1x TDA2003 (sound)
|
||||
1x oscillator 24.000000MHz
|
||||
1x oscillator 30.000MHz
|
||||
ROMs
|
||||
|
||||
14x AM27C040 (1,3,6,7,8,9,10,11,12,13,14,15,16,17)
|
||||
3x TMS27C010A (2,4,5)
|
||||
3x PAL 16S20 (ic7,ic72, ic80) (read protected, not dumped)
|
||||
3x GAL20V8A (ic120, ic121, ic169) (read protected, not dumped)
|
||||
|
||||
Note
|
||||
|
||||
1x JAMMA edge connector
|
||||
1x trimmer (volume)
|
||||
3x 8x2 switches dip
|
||||
*/
|
||||
|
||||
ROM_START( sf2mdt )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "3.ic172", 0x000000, 0x80000, CRC(5301b41f) SHA1(6855a57b21e8c5d74e5cb18f9ce6af650d7fb422) )
|
||||
ROM_LOAD16_BYTE( "1.ic171", 0x000001, 0x80000, CRC(c1c803f6) SHA1(9fe18ae2553a63d8e4dcc20bafd5a4634f8b93c4) )
|
||||
ROM_LOAD16_BYTE( "4.ic176", 0x100000, 0x20000, CRC(1073b7b6) SHA1(81ca1eab65ceac69520584bb23a684ccb9d92f89) )
|
||||
ROM_LOAD16_BYTE( "2.ic175", 0x100001, 0x20000, CRC(924c6ce2) SHA1(676a912652bd75da5087f0c7eae047b7681a993c) )
|
||||
|
||||
ROM_REGION( 0x600000, "gfx", 0 ) /* rearranged in init */
|
||||
ROMX_LOAD( "7.ic90", 0x000000, 0x80000, CRC(896eaf48) SHA1(5a13ae8b554e05eed3d5749aaf5845d499bce45b) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "10.ic88", 0x000002, 0x80000, CRC(ef3f5be8) SHA1(d4e1de7d7caf6977e48544d6701618ae70c717f9) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "13.ic89", 0x000004, 0x80000, CRC(305dd72a) SHA1(c373b517c23f3b019abb06e21f6b9ab6e1e47909) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "16.ic87", 0x000006, 0x80000, CRC(e57f6db9) SHA1(b37f95737804002ec0e237472eaacf0bc1e868e8) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "6.ic91", 0x200000, 0x80000, CRC(054cd5c4) SHA1(07f275e118c141a84ca15a2e9edc81694af37cf2) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "9.ic93", 0x200002, 0x80000, CRC(818ca33d) SHA1(dfb707e17c83216f8a62e905f8c7cd6d406b417b) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "12.ic92", 0x200004, 0x80000, CRC(87e069e8) SHA1(cddd3be84f8379134590bfbbb080518f28120e49) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "15.ic94", 0x200006, 0x80000, CRC(5dfb44d1) SHA1(08e44b8efc84f9cfc829aabf704155ddc700de76) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "8.ic86", 0x400000, 0x80000, CRC(34bbb3fa) SHA1(7794e89258f12b17d38c3d302dc15c502a8c8eb6) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "11.ic84", 0x400002, 0x80000, CRC(cea6d1d6) SHA1(9c953db42f0d877e43c0c239f69a00df39a18295) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "14.ic85", 0x400004, 0x80000, CRC(7d9f1a67) SHA1(6deb7fff867c42b13a32bb11eda798cfdb4cbaa8) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "17.ic83", 0x400006, 0x80000, CRC(91a9a05d) SHA1(5266ceddd2df925e79b4200843dec2f7aa9297b3) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Sound program + samples */
|
||||
ROM_LOAD( "5.ic26", 0x00000, 0x20000, CRC(17d5ba8a) SHA1(6ff3b8860d7e1fdee3561846f645eb4d3a8965ec) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sf2mdta )
|
||||
/* unconfirmed if working on real hardware, pf4 is a bad dump (bad pin) */
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "3.mdta", 0x000000, 0x80000, CRC(9f544ef4) SHA1(f784809e59a5fcabd6d15d3f1c36250a5528c9f8) )
|
||||
ROM_LOAD16_BYTE( "5.mdta", 0x000001, 0x80000, CRC(d76d6621) SHA1(aa9cea9ddace212a7b3c535b8f6e3fbc50da1f94) )
|
||||
ROM_LOAD16_BYTE( "2.mdta", 0x100000, 0x20000, CRC(74844192) SHA1(99cd546c78cce7f632007af454d8a55eddb6b19b) )
|
||||
ROM_LOAD16_BYTE( "4.mdta", 0x100001, 0x20000, CRC(bd98ff15) SHA1(ed902d949b0b5c5beaaea78a4b418ffa6db9e1df) )
|
||||
|
||||
ROM_REGION( 0x600000, "gfx", 0 )
|
||||
ROMX_LOAD( "pf4 sh058.ic89", 0x000000, 0x100000, BAD_DUMP CRC(40fdf624) SHA1(cb928602744bf36e6851527f00d90da29de751e6), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf7 sh072.ic92", 0x000002, 0x100000, CRC(fb78022e) SHA1(b8974387056dd52db96b01cc4648edc814398c7e), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf5 sh036.ic90", 0x200000, 0x100000, CRC(0a6be48b) SHA1(b7e72c94d4e3eb4a6bba6608d9b9a093c8901ad9), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf8 sh074.ic93", 0x200002, 0x100000, CRC(6258c7cf) SHA1(4cd7519245c0aa816934a43e6743160f715d7dc2), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf6 sh070.ic88", 0x400000, 0x100000, CRC(9b5b09d7) SHA1(698a6aab41e495bd0c37a19aee16a84f04d15797), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
ROMX_LOAD( "pf9 sh001.ic91", 0x400002, 0x100000, CRC(9f25090e) SHA1(12ff0431ef6550db446985c8914ac7d78eec6b6d), ROM_GROUPWORD | ROM_SKIP(2) )
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Sound program + samples */
|
||||
ROM_LOAD( "1.ic28", 0x00000, 0x20000, CRC(d5bee9cc) SHA1(e638cb5ce7a22c18b60296a7defe8b03418da56c) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 )
|
||||
ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, sf2mdt)
|
||||
{
|
||||
int i;
|
||||
UINT32 gfx_size = memregion( "gfx" )->bytes();
|
||||
UINT8 *rom = memregion( "gfx" )->base();
|
||||
UINT8 tmp;
|
||||
|
||||
for( i = 0; i < gfx_size; i += 8 )
|
||||
{
|
||||
tmp = rom[i + 1];
|
||||
rom[i + 1] = rom[i + 4];
|
||||
rom[i + 4] = tmp;
|
||||
tmp = rom[i + 3];
|
||||
rom[i + 3] = rom[i + 6];
|
||||
rom[i + 6] = tmp;
|
||||
}
|
||||
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x708100, 0x7081ff, write16_delegate(FUNC(cps_state::sf2mdt_layer_w),this));
|
||||
DRIVER_INIT_CALL(sf2mdta);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cps_state, sf2mdta)
|
||||
{
|
||||
/* bootleg sprite ram */
|
||||
m_bootleg_sprite_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x700000, 0x703fff);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x704000, 0x707fff, m_bootleg_sprite_ram); /* both of these need to be mapped - see the "Magic Delta Turbo" text on the title screen */
|
||||
|
||||
m_bootleg_work_ram = (UINT16*)machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0xfc0000, 0xfcffff); /* this has moved */
|
||||
|
||||
DRIVER_INIT_CALL(cps1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ************************************************************************* SLAMPIC
|
||||
|
||||
MACHINE_START_MEMBER(cps_state, slampic)
|
||||
{
|
||||
m_maincpu = machine().device<cpu_device>("maincpu");
|
||||
//m_audiocpu = machine().device<cpu_device>("audiocpu");
|
||||
|
||||
m_layer_enable_reg = 0x16;
|
||||
m_layer_mask_reg[0] = 0x00;
|
||||
m_layer_mask_reg[1] = 0x02;
|
||||
m_layer_mask_reg[2] = 0x28;
|
||||
m_layer_mask_reg[3] = 0x2a;
|
||||
m_layer_scroll1x_offset = 0x40;
|
||||
m_layer_scroll2x_offset = 0x40;
|
||||
m_layer_scroll3x_offset = 0x40;
|
||||
m_sprite_base = 0x1000;
|
||||
m_sprite_list_end_marker = 0x8000;
|
||||
m_sprite_x_offset = 0;
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( slampic, cps_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, 12000000)
|
||||
MCFG_CPU_PROGRAM_MAP(slampic_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
|
||||
|
||||
//MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000)
|
||||
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(cps_state, slampic)
|
||||
|
||||
MCFG_EEPROM_ADD("eeprom", qsound_eeprom_interface)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
|
||||
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
|
||||
|
||||
MCFG_GFXDECODE(cps1)
|
||||
MCFG_PALETTE_LENGTH(0xc00)
|
||||
|
||||
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( slampic )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "5.bin", 0x000000, 0x80000, CRC(7dba63cd) SHA1(222e781ffc40c5c23f5789c0682f549f00beeb8d) )
|
||||
ROM_LOAD16_BYTE( "3.bin", 0x000001, 0x80000, CRC(d86671f3) SHA1(d95fae27b0f4d3688f1c2229c9d3780724a870a8) )
|
||||
ROM_LOAD16_BYTE( "4.bin", 0x100000, 0x80000, CRC(d14d0e42) SHA1(b60c44193b247dc4856bd36d69cbbe9dcb2d21a7) )
|
||||
ROM_LOAD16_BYTE( "2.bin", 0x100001, 0x80000, CRC(38063cd8) SHA1(e647433414ff4fdc0b2c4c7036b8995a95289efa) )
|
||||
|
||||
ROM_REGION( 0x600000, "gfx", 0 )
|
||||
ROMX_LOAD( "mb-1m.3a", 0x000000, 0x80000, CRC(41468e06) SHA1(fb365798f2889a20eebaea2393c9c2c8827003c4) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-3m.5a", 0x000002, 0x80000, CRC(f453aa9e) SHA1(24a103dc6f0dc96f8d0f6164ad732909c9cd2d6a) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-2m.4a", 0x000004, 0x80000, CRC(2ffbfea8) SHA1(13e30133664a009686e1114c92b558bdbb91ea32) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-4m.6a", 0x000006, 0x80000, CRC(1eb9841d) SHA1(685da3e011a96b36be9f639a241b2f8f27da4629) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-5m.7a", 0x200000, 0x80000, CRC(506b9dc9) SHA1(933bf2fb9bcc1a408f961f0e7052da80144bddad) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-7m.9a", 0x200002, 0x80000, CRC(aff8c2fb) SHA1(ce37a6d5b1eb58c2d74f23f84ec824c214c93217) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-6m.8a", 0x200004, 0x80000, CRC(b76c70e9) SHA1(c21e255815ec9a985919dbd760ed266c28bd47cd) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-8m.10a", 0x200006, 0x80000, CRC(e60c9556) SHA1(b91c14092aa8dbb0922d96998123ef1970a658f6) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-10m.3c", 0x400000, 0x80000, CRC(97976ff5) SHA1(ec9d3460816ab971a02fbce42960283091777e47) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-12m.5c", 0x400002, 0x80000, CRC(b350a840) SHA1(2b8b996cd08051e7e8e134bff5448775d78058a0) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-11m.4c", 0x400004, 0x80000, CRC(8fb94743) SHA1(294f6182c8a41b640d1f57cb5e3a2abce3b06482) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "mb-13m.6c", 0x400006, 0x80000, CRC(da810d5f) SHA1(392bbd405244b8c99024c9228cfec6a7ef0accdb) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
|
||||
ROMX_LOAD( "9.bin", 0x000000, 0x40000, CRC(dc140351) SHA1(0e69e1c8ded85ba26eb8236449d38ead0243ae78), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x000004, 0x40000)
|
||||
ROMX_LOAD( "8.bin", 0x000001, 0x40000, CRC(9ae88035) SHA1(3329e9582ca052940e115e759bb3d96f4a9c87fa), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x000005, 0x40000)
|
||||
ROMX_LOAD( "7.bin", 0x000002, 0x40000, CRC(5321f759) SHA1(7538a6587cf1077921b938070185e0a0ce5ca922), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x000006, 0x40000)
|
||||
ROMX_LOAD( "6.bin", 0x000003, 0x40000, CRC(c8eb5f76) SHA1(a361d2d2dfe71789736666b744ae5f1e4bf7e1b2), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x000007, 0x40000)
|
||||
ROMX_LOAD( "17.bin", 0x200000, 0x40000, CRC(21652214) SHA1(039335251f6553c4f36e2d33e8b43fb5726e833e), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x200004, 0x40000)
|
||||
ROMX_LOAD( "16.bin", 0x200001, 0x40000, CRC(d49d2eb0) SHA1(1af01575340730166975be93bae438e2b0492f98), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x200005, 0x40000)
|
||||
ROMX_LOAD( "15.bin", 0x200002, 0x40000, CRC(0d98bfd6) SHA1(c11fbf555880a933a4cbf6faa517f59f8443304f), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x200006, 0x40000)
|
||||
ROMX_LOAD( "14.bin", 0x200003, 0x40000, CRC(807284f1) SHA1(c747c3eaade31c2633fb0a0682dbea900bf2b092), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x200007, 0x40000)
|
||||
ROMX_LOAD( "13.bin", 0x400000, 0x40000, CRC(293579c5) SHA1(9adafe29664b20834365b339f7ae379cdb9ee138), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x400004, 0x40000)
|
||||
ROMX_LOAD( "12.bin", 0x400001, 0x40000, CRC(c3727ce7) SHA1(c4abc2c59152c59a45f85393e9525505bc2c9e6e), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x400005, 0x40000)
|
||||
ROMX_LOAD( "11.bin", 0x400002, 0x40000, CRC(2919883b) SHA1(44ad979daae673c77b3157d2b352797d4ad0ec24), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x400006, 0x40000)
|
||||
ROMX_LOAD( "10.bin", 0x400003, 0x40000, CRC(f538e620) SHA1(354cd0548b067dfc8782bbe13b0a9c2083dbd290), ROM_SKIP(7) )
|
||||
ROM_CONTINUE( 0x400007, 0x40000)
|
||||
|
||||
ROM_REGION( 0x2000, "audiocpu", 0 ) /* PIC16c57 - protected, dump isn't valid */
|
||||
ROM_LOAD( "pic16c57-xt-p.bin", 0x00000, 0x2000, BAD_DUMP CRC(aeae5ccc) SHA1(553afb68f7bf130cdf34e24512f72b4ecef1576f) )
|
||||
|
||||
ROM_REGION( 0x80000, "oki", 0 ) /* OKI6295 samples */
|
||||
ROM_LOAD( "18.bin", 0x00000, 0x80000, CRC(73a0c11c) SHA1(a66e1a964313e21c4436200d36c598dcb277cd34) )
|
||||
|
||||
ROM_REGION( 0x20000, "user1", 0 ) // not in the dump, but needed for protection
|
||||
ROM_LOAD( "mb_qa.5k", 0x00000, 0x20000, CRC(e21a03c4) SHA1(98c03fd2c9b6bf8a4fc25a4edca87fff7c3c3819) )
|
||||
ROM_END
|
||||
|
||||
|
||||
// ************************************************************************* DRIVER MACROS
|
||||
|
||||
GAME( 1990, cawingbl, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 1)", GAME_SUPPORTS_SAVE ) // 901012 ETC
|
||||
GAME( 1990, cawingb2, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 2)", GAME_SUPPORTS_SAVE ) // 901012 ETC
|
||||
GAME( 1993, dinopic, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 930201 ETC
|
||||
GAME( 1993, dinopic2, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 930201 ETC
|
||||
GAME( 1990, fcrash, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg (Playmark)", "Final Crash (bootleg of Final Fight)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1991, kodb, kod, kodb, kodb, cps_state, kodb, ROT0, "bootleg (Playmark)", "The King of Dragons (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 910731 "ETC"
|
||||
GAME( 1991, knightsb, knights, knightsb, knights, cps_state, knightsb, ROT0, "bootleg", "Knights of the Round (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911127 - based on World version
|
||||
GAME( 1993, punipic, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1993, punipic2, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1993, punipic3, punisher, punipic, punisher, cps_state, punipic3, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 3)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1991, knightsb, knights, knightsb, knights, cps_state, dinopic, ROT0, "bootleg", "Knights of the Round (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911127 - based on World version
|
||||
GAME( 1993, punipic, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 930422 ETC
|
||||
GAME( 1993, punipic2, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 930422 ETC
|
||||
GAME( 1993, punipic3, punisher, punipic, punisher, cps_state, punipic3, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 3)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 930422 ETC
|
||||
GAME( 1992, sf2m1, sf2ce, sf2m1, sf2, cps_state, sf2m1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 ETC
|
||||
GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version
|
||||
GAME( 1992, sf2mdta, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdta, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 - based on World version
|
||||
GAME( 1993, slampic, slammast, slampic, slammast, cps_state, dinopic, ROT0, "bootleg", "Saturday Night Slam Masters (bootleg with PIC16c57)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 930713 ETC
|
||||
GAME( 1999, sgyxz, wof, sgyxz, sgyxz, cps_state, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 921005 - Sangokushi 2
|
||||
|
@ -259,6 +259,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(sf2m1);
|
||||
DECLARE_DRIVER_INIT(sf2mdt);
|
||||
DECLARE_DRIVER_INIT(sf2mdta);
|
||||
DECLARE_DRIVER_INIT(slampic);
|
||||
DECLARE_MACHINE_START(fcrash);
|
||||
DECLARE_MACHINE_RESET(fcrash);
|
||||
DECLARE_MACHINE_START(cawingbl);
|
||||
@ -267,6 +268,7 @@ public:
|
||||
DECLARE_MACHINE_START(kodb);
|
||||
DECLARE_MACHINE_START(punipic);
|
||||
DECLARE_MACHINE_START(sf2mdt);
|
||||
DECLARE_MACHINE_START(slampic);
|
||||
DECLARE_MACHINE_START(sgyxz);
|
||||
DECLARE_WRITE16_MEMBER(cawingbl_soundlatch_w);
|
||||
DECLARE_WRITE16_MEMBER(dinopic_layer_w);
|
||||
@ -276,6 +278,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(punipic_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(sf2mdt_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(sf2mdta_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(slampic_layer_w);
|
||||
DECLARE_WRITE16_MEMBER(fcrash_soundlatch_w);
|
||||
DECLARE_WRITE8_MEMBER(fcrash_snd_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(sf2mdt_snd_bankswitch_w);
|
||||
@ -333,6 +336,7 @@ INPUT_PORTS_EXTERN( dino );
|
||||
INPUT_PORTS_EXTERN( knights );
|
||||
INPUT_PORTS_EXTERN( punisher );
|
||||
INPUT_PORTS_EXTERN( sf2 );
|
||||
INPUT_PORTS_EXTERN( slammast );
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -3021,6 +3021,7 @@ punipic3 // bootleg
|
||||
punisherbz // bootleg
|
||||
slammast // 13/07/1993 (c) 1993 (World) (CPS1 + QSound)
|
||||
slammastu // 13/07/1993 (c) 1993 (USA) (CPS1 + QSound)
|
||||
slampic // bootleg
|
||||
mbomberj // 13/07/1993 (c) 1993 (Japan) (CPS1 + QSound)
|
||||
mbombrd // 06/12/1993 (c) 1993 (World) (CPS1 + QSound)
|
||||
mbombrdj // 06/12/1993 (c) 1993 (Japan) (CPS1 + QSound)
|
||||
|
@ -1423,6 +1423,7 @@ static const struct CPS1config cps1_config_table[]=
|
||||
{"punisherbz", CPS_B_21_DEF, mapper_PS63B }, /* Chinese bootleg */
|
||||
{"slammast", CPS_B_21_QS4, mapper_MB63B },
|
||||
{"slammastu", CPS_B_21_QS4, mapper_MB63B },
|
||||
{"slampic", CPS_B_21_QS4, mapper_MB63B },
|
||||
{"mbomberj", CPS_B_21_QS4, mapper_MB63B },
|
||||
{"mbombrd", CPS_B_21_QS5, mapper_MB63B },
|
||||
{"mbombrdj", CPS_B_21_QS5, mapper_MB63B },
|
||||
|
Loading…
Reference in New Issue
Block a user