summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author ClawGrip <clawgrip@hotmail.com>2020-10-24 13:07:02 +0200
committer GitHub <noreply@github.com>2020-10-24 22:07:02 +1100
commita46ff7198c6f5b386625e0fbaecdf48c6e22d35b (patch)
tree76e54577797188197b4ac21ba063aeb0f374b8d7 /src/mame/drivers
parentb8955be882f923ab8ef1a9754e005528dfe06492 (diff)
megadriv_acbl.cpp: Add PIC dump to 'barek2mb' [Victor Fernandez (City Game), ClawGrip] (#7378)
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/megadriv_acbl.cpp362
1 files changed, 181 insertions, 181 deletions
diff --git a/src/mame/drivers/megadriv_acbl.cpp b/src/mame/drivers/megadriv_acbl.cpp
index 685bb74824b..7b727bafe05 100644
--- a/src/mame/drivers/megadriv_acbl.cpp
+++ b/src/mame/drivers/megadriv_acbl.cpp
@@ -268,8 +268,8 @@ connector, but of course, I can be wrong.
// smaller ROM region because some bootlegs check for RAM there (used by topshoot and hshavoc)
void md_boot_state::md_bootleg_map(address_map &map)
{
- map(0x000000, 0x1fffff).rom(); /* Cartridge Program Rom */
- map(0x200000, 0x2023ff).ram(); // tested
+ map(0x000000, 0x1fffff).rom(); // Cartridge Program ROM
+ map(0x200000, 0x2023ff).ram(); // Tested
map(0xa00000, 0xa01fff).rw(FUNC(md_boot_state::megadriv_68k_read_z80_ram), FUNC(md_boot_state::megadriv_68k_write_z80_ram));
map(0xa02000, 0xa03fff).w(FUNC(md_boot_state::megadriv_68k_write_z80_ram));
@@ -467,7 +467,7 @@ uint16_t md_boot_state::bl_710000_r()
*
*************************************/
-/* verified from M68000 code */
+// Verified from M68000 code
INPUT_PORTS_START( ssf2mdb )
PORT_INCLUDE( md_common )
@@ -483,19 +483,19 @@ INPUT_PORTS_START( ssf2mdb )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START("EXTRA1") /* Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY */
+ PORT_START("EXTRA1") // Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("EXTRA2") /* Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY */
+ PORT_START("EXTRA2") // Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("IN0") /* 3rd I/O port */
+ PORT_START("IN0") // 3rd I/O port
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
@@ -541,7 +541,7 @@ INPUT_PORTS_START( ssf2mdb )
// PORT_DIPSETTING( 0x00, "10 (Fastest)" )
INPUT_PORTS_END
-/* verified from M68000 code */
+// Verified from M68000 code
INPUT_PORTS_START( mk3mdb )
PORT_INCLUDE( md_common )
@@ -557,13 +557,13 @@ INPUT_PORTS_START( mk3mdb )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START("EXTRA1") /* Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY */
+ PORT_START("EXTRA1") // Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START("EXTRA2") /* Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY */
+ PORT_START("EXTRA2") // Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
@@ -604,26 +604,26 @@ INPUT_PORTS_START( mk3mdb )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
- PORT_START("DSWC") /* not even read in this set */
+ PORT_START("DSWC") // Not even read in this set
INPUT_PORTS_END
-/* verified from M68000 code */
+// Verified from M68000 code
INPUT_PORTS_START( aladmdb )
PORT_INCLUDE( md_common )
- PORT_MODIFY("PAD1") /* Joypad 1 (3 button + start) NOT READ DIRECTLY */
+ PORT_MODIFY("PAD1") // Joypad 1 (3 button + start) NOT READ DIRECTLY
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Throw") // a
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Sword") // b
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Jump") // c
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) // start
- PORT_MODIFY("PAD2") /* Joypad 2 (3 button + start) NOT READ DIRECTLY - not used */
+ PORT_MODIFY("PAD2") // Joypad 2 (3 button + start) NOT READ DIRECTLY - not used
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
- /* As I don't know how it is on real hardware, this is more a guess than anything */
+ // As I don't know how it is on real hardware, this is more a guess than anything
PORT_START("MCU")
- PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) ) /* code at 0x1b2a50 - unsure if there are so many settings */
-// PORT_DIPSETTING( 0x00, "INVALID" ) /* adds 0 credit */
+ PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) ) // Code at 0x1b2a50 - unsure if there are so many settings
+// PORT_DIPSETTING( 0x00, "INVALID" ) // Adds 0 credit
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_3C ) )
@@ -631,15 +631,15 @@ INPUT_PORTS_START( aladmdb )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 1C_7C ) )
-// PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* to avoid it being changed and corrupting Coinage settings */
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Difficulty ) ) /* code at 0x1b2680 */
- PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) /* "PRACTICE" */
- PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) /* "NORMAL" */
- PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) /* "DIFFICULT" */
+// PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) // To avoid it being changed and corrupting Coinage settings
+ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Difficulty ) ) // Code at 0x1b2680
+ PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) // "PRACTICE"
+ PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) // "NORMAL"
+ PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) // "DIFFICULT"
// PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_HIGH )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )
- PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) /* needed to avoid credits getting mad */
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) // Needed to avoid credits getting mad
INPUT_PORTS_END
INPUT_PORTS_START( sonic2mb )
@@ -687,7 +687,7 @@ INPUT_PORTS_END
INPUT_PORTS_START( twinktmb )
PORT_INCLUDE( aladmdb )
- /* As I don't know how it is on real hardware, this is more a guess than anything */
+ // As I don't know how it is on real hardware, this is more a guess than anything
PORT_MODIFY("MCU")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1")
@@ -711,7 +711,7 @@ INPUT_PORTS_START( twinktmb )
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
-/* verified from M68000 code */
+// Verified from M68000 code
INPUT_PORTS_START( srmdb )
PORT_INCLUDE( md_common )
@@ -727,7 +727,7 @@ INPUT_PORTS_START( srmdb )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // c (duplicate shoot button)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
- PORT_START("IN0") /* 3rd I/O port */
+ PORT_START("IN0") // 3rd I/O port
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
@@ -757,7 +757,7 @@ INPUT_PORTS_START( srmdb )
PORT_DIPSETTING( 0x00, "6" )
INPUT_PORTS_END
-static INPUT_PORTS_START( topshoot ) /* Top Shooter Input Ports */
+static INPUT_PORTS_START( topshoot ) // Top Shooter Input Ports
PORT_START("IN0")
PORT_BIT( 0x4f, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -952,7 +952,7 @@ MACHINE_START_MEMBER(md_boot_state, md_6button)
m_io_pad_6b[2] = ioport("IN0");
m_io_pad_6b[3] = ioport("UNK");
- // setup timers for 6 button pads
+ // Setup timers for 6 button pads
for (int i = 0; i < 3; i++)
m_io_timeout[i] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(md_base_state::io_timeout_timer_callback),this), (void*)(uintptr_t)i);
}
@@ -966,144 +966,6 @@ void md_boot_state::megadrvb_6b(machine_config &config)
/*************************************
*
- * ROM definition(s)
- *
- *************************************/
-
-ROM_START( aladmdb )
- ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "m1.bin", 0x000001, 0x080000, CRC(5e2671e4) SHA1(54705c7614fc7b5a1065478fa41f51dd1d8045b7) )
- ROM_LOAD16_BYTE( "m2.bin", 0x000000, 0x080000, CRC(142a0366) SHA1(6c94aa9936cd11ccda503b52019a6721e64a32f0) )
- ROM_LOAD16_BYTE( "m3.bin", 0x100001, 0x080000, CRC(0feeeb19) SHA1(bd567a33077ab9997871d21736066140d50e3d70) )
- ROM_LOAD16_BYTE( "m4.bin", 0x100000, 0x080000, CRC(bc712661) SHA1(dfd554d000399e17b4ddc69761e572195ed4e1f0) )
-
- ROM_REGION( 0x2000, "pic", ROMREGION_ERASE00 )
- ROM_LOAD( "pic16c57xtp", 0x0000, 0x2000, NO_DUMP )
-ROM_END
-
-ROM_START( mk3mdb ) // roms are scrambled, we take care of the address descramble in the ROM load, and the data descramble in the init
- // this is bootlegged from "Mortal Kombat 3 (4) [!].bin"
- ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "1.u1", 0x080001, 0x020000, CRC(0dc01b23) SHA1(f1aa7ac88c8e3deb5a0a065862722e9d27b87b4c) )
- ROM_CONTINUE( 0x000001, 0x020000)
- ROM_CONTINUE( 0x0c0001, 0x020000)
- ROM_CONTINUE( 0x040001, 0x020000)
- ROM_LOAD16_BYTE( "2.u3", 0x180001, 0x040000, CRC(50250235) SHA1(9f9e06f26163b92c76397fde43b38b3536bcb637) )
- ROM_CONTINUE( 0x100001, 0x040000)
- ROM_LOAD16_BYTE( "3.u9", 0x280001, 0x040000, CRC(493404c1) SHA1(73f4bd1eeeee3f175f4378ab406a97f94f88880b) )
- ROM_CONTINUE( 0x200001, 0x040000)
- ROM_LOAD16_BYTE( "4.u11",0x380001, 0x040000, CRC(a52156b8) SHA1(0990ef1fb3427a5d3c262e264feb25c1db75ed33) )
- ROM_CONTINUE( 0x300001, 0x040000)
- ROM_LOAD16_BYTE( "6.u2", 0x080000, 0x020000, CRC(9852fd6f) SHA1(348befeca5129c5ea2c142760ec93511f98f23cc) )
- ROM_CONTINUE( 0x000000, 0x020000)
- ROM_CONTINUE( 0x0c0000, 0x020000)
- ROM_CONTINUE( 0x040000, 0x020000)
- ROM_LOAD16_BYTE( "5.u4", 0x180000, 0x040000, CRC(ed6a6d13) SHA1(eaab912ee035ece03f7cfceb1b546004399daad5) )
- ROM_CONTINUE( 0x100000, 0x040000)
- ROM_LOAD16_BYTE( "7.u10",0x280000, 0x040000, CRC(a124d8d1) SHA1(d391b130992701d0fae7e827ba314b8368d809de) )
- ROM_CONTINUE( 0x200000, 0x040000)
- ROM_LOAD16_BYTE( "8.u12",0x380000, 0x040000, CRC(8176f7cc) SHA1(375e1e982b97ba709fb160b04f56f6aa2d580104) )
- ROM_CONTINUE( 0x300000, 0x040000)
-ROM_END
-
-ROM_START( ssf2mdb )
- ROM_REGION( 0x1400000, "maincpu", 0 ) /* 68000 Code */
- /* Special Case, custom PCB, linear ROM mapping of 5meg */
- ROM_LOAD16_BYTE( "rom_a", 0x000000, 0x200000, CRC(59726521) SHA1(3120bac17f56c01ffb9d3f9e31efa0263e3774af) )
- ROM_LOAD16_BYTE( "rom_b", 0x000001, 0x200000, CRC(7dad5540) SHA1(9279068b2218d239fdd557dd959ac70e74853178) )
- ROM_LOAD16_BYTE( "rom_c", 0x400000, 0x080000, CRC(deb48624) SHA1(39ffa7de7b808e0b95cb039bb381705d77420933) )
- ROM_LOAD16_BYTE( "rom_d", 0x400001, 0x080000, CRC(b99f6a5b) SHA1(adbe28a7522024bc66328ac86fecf9ded3310e8e) )
-ROM_END
-
-ROM_START( srmdb )
- ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "u1", 0x000001, 0x020000, CRC(c59f33bd) SHA1(bd5bce7698a70ea005b79ab34bcdb056872ef980) )
- ROM_LOAD16_BYTE( "u2", 0x000000, 0x020000, CRC(9125c054) SHA1(c73bdeb6b11c59d2b5f5968959b02697957ca894) )
- ROM_LOAD16_BYTE( "u3", 0x040001, 0x020000, CRC(0fee0fbe) SHA1(001e0fda12707512aad537e533acf28e726e6107) )
- ROM_LOAD16_BYTE( "u4", 0x040000, 0x020000, CRC(fc2aed41) SHA1(27eb3957f5ed26ee5276523b1df46fa7eb298e1f) )
-ROM_END
-
-ROM_START( topshoot ) /* Top Shooter (c)1995 Sun Mixing */
- ROM_REGION( 0x200000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "tc574000ad_u11_2.bin", 0x000000, 0x080000, CRC(b235c4d9) SHA1(fbb308a5f6e769f3277824cb6a3b50c308969ac2) )
- ROM_LOAD16_BYTE( "tc574000ad_u12_1.bin", 0x000001, 0x080000, CRC(e826f6ad) SHA1(23ec8bb608f954d3b915f061e7076c0c63b8259e) )
-
- // not hooked up yet
- ROM_REGION( 0x1000, "mcu", 0 )
- ROM_LOAD( "89c51.bin", 0x0000, 0x1000, CRC(595475c8) SHA1(8313819ba06cc92b54f88c1ca9f34be8d1ec94d0) )
-ROM_END
-
-ROM_START( sbubsm )
- ROM_REGION( 0x200000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "u11.bin", 0x000000, 0x080000, CRC(4f9337ea) SHA1(b245eb615f80afd25e29b2efdddb7f61c1deff6b) )
- ROM_LOAD16_BYTE( "u12.bin", 0x000001, 0x080000, CRC(f5374835) SHA1(3a97910f5f7327ec7ad6425dfdfa72c86196ed33) )
-
- ROM_REGION( 0x1000, "mcu", 0 ) // could be the same as topshoot (same PCB)
- ROM_LOAD( "89c51.bin", 0x0000, 0x1000, NO_DUMP )
-ROM_END
-
-
-ROM_START( sonic2mb )
- ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "m1", 0x000001, 0x080000, CRC(7b40aa24) SHA1(247882cd1f412366d61aeb4d85bbeefd5f108e1d) )
- ROM_LOAD16_BYTE( "m2", 0x000000, 0x080000, CRC(84b3f758) SHA1(19846b9d951db6f78f3e155d33f1b6349fb87f1a) )
-ROM_END
-
-ROM_START( barek2mb )
- ROM_REGION( 0x200000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "m1.bin", 0x000001, 0x080000, CRC(1c1fa718) SHA1(393488f7747478728eb4f20c10b0cfce3b188719) )
- ROM_LOAD16_BYTE( "m2.bin", 0x000000, 0x080000, CRC(59ee0905) SHA1(0e9f1f6e17aae2dd99bf9d7f640568b48ba699c7) )
- ROM_LOAD16_BYTE( "m3.bin", 0x100001, 0x080000, CRC(6ec5af5d) SHA1(9088a2d4cff5e7eb439ebaa91ad3bfff11366127) )
- ROM_LOAD16_BYTE( "m4.bin", 0x100000, 0x080000, CRC(d8c61e0d) SHA1(3d06e656f6621bb0741211f80c1ecff1669475ee) )
-
- ROM_REGION( 0x2000, "pic", ROMREGION_ERASE00 )
- ROM_LOAD( "pic16c57xtp", 0x0000, 0x2000, NO_DUMP )
-ROM_END
-
-ROM_START( barek3mb )
- ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "6.u19", 0x000000, 0x080000, CRC(2de19519) SHA1(f5fcef1da8b5370e399f0451382e3c6e7754c9c8) )
- ROM_LOAD16_BYTE( "3.u18", 0x000001, 0x080000, CRC(db900e82) SHA1(172a4fe01a0ffd1ea3aed74f2c58234fd55b876d) )
- ROM_LOAD16_BYTE( "4.u15", 0x100000, 0x080000, CRC(6353b4b1) SHA1(9f89a2f02170496ca798b89e37e1f2bae0e9155d) )
- ROM_LOAD16_BYTE( "1.u14", 0x100001, 0x080000, CRC(24d31e12) SHA1(64c1b968e1ee5d0355d902e280f33e4466f27b07) )
- ROM_LOAD16_BYTE( "5.u17", 0x200000, 0x080000, CRC(0feb974f) SHA1(ed1a25b6f1669dc6061d519985b6373fa89176c7) )
- ROM_LOAD16_BYTE( "2.u16", 0x200001, 0x080000, CRC(bba4a585) SHA1(32c59729943d7b4c1a39f2a2b0dae9ce16991e9c) )
-ROM_END
-
-ROM_START( bk3ssrmb )
- ROM_REGION( 0x400000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "1.u15", 0x000000, 0x080000, CRC(120a4b64) SHA1(7084fde0d08143f48f83d2afef30522d75c7889c) )
- ROM_LOAD16_BYTE( "5.u14", 0x000001, 0x080000, CRC(1eb625d3) SHA1(8f67ab874643b3eafe91768df84ea4a3b8a5fa82) )
- ROM_LOAD16_BYTE( "2.u13", 0x100000, 0x080000, CRC(af439685) SHA1(5cc55608355e11096c9fadb8d2460cf66704deec) )
- ROM_LOAD16_BYTE( "6.u12", 0x100001, 0x080000, CRC(24d31e12) SHA1(64c1b968e1ee5d0355d902e280f33e4466f27b07) )
- ROM_LOAD16_BYTE( "3.u11", 0x200000, 0x080000, CRC(dfa5c478) SHA1(079a9cad5c2252b2d65aa3c4dc9cba331078eeb9) )
- ROM_LOAD16_BYTE( "7.u10", 0x200001, 0x080000, CRC(bba4a585) SHA1(32c59729943d7b4c1a39f2a2b0dae9ce16991e9c) )
- ROM_LOAD16_BYTE( "4.u9", 0x300000, 0x040000, CRC(e5f1ab97) SHA1(0f4c527043f1272e75a996f4f7270c6ea4ed3c4d) )
- ROM_LOAD16_BYTE( "8.u8", 0x300001, 0x040000, CRC(32ee1048) SHA1(1b135c200b4440e95a7d1766b4b404ddd238872d) )
-ROM_END
-
-ROM_START( twinktmb ) // same PCB as sonic2mb, but in this one the PIC is populated
- ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "m2.bin", 0x000000, 0x080000, CRC(44424f8f) SHA1(e16318bfdf869765c821c264cf9a7e6c728f7073) )
- ROM_LOAD16_BYTE( "m1.bin", 0x000001, 0x080000, CRC(69aa916e) SHA1(7ea6b571fd0b6494051d5846ee9b4564b7692766) )
-
- ROM_REGION( 0x2000, "pic", ROMREGION_ERASE00 )
- ROM_LOAD( "pic16c57xtp", 0x0000, 0x2000, NO_DUMP )
-ROM_END
-
-ROM_START( jparkmb ) // same PCB as twinktmb, JPA-028 label
- ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "f24.bin", 0x000000, 0x080000, CRC(bdd851d2) SHA1(1a75922e848fd5c7cd4ab102c99effcfcf382097) )
- ROM_LOAD16_BYTE( "f23.bin", 0x000001, 0x080000, CRC(8dc66c71) SHA1(a2741ffa583a4b779b7be3e3ae628e97f792ee3d) )
- ROM_LOAD16_BYTE( "f22.bin", 0x100000, 0x080000, CRC(36337d06) SHA1(d537cff2c8ed58da146faf390c09252be359ccd1) )
- ROM_LOAD16_BYTE( "f21.bin", 0x100001, 0x080000, CRC(6ede6b6b) SHA1(cf29300d9278ea03f54cf54ea582bdd8b9bbdbbd) )
-
- ROM_REGION( 0x2000, "pic", ROMREGION_ERASE00 )
- ROM_LOAD( "pic16c57xtp", 0x0000, 0x2000, NO_DUMP )
-ROM_END
-
-/*************************************
- *
* Game-specific driver inits
*
*************************************/
@@ -1112,9 +974,7 @@ ROM_END
void md_boot_state::init_aladmdb()
{
- /*
- * Game does a check @ 1afc00 with work RAM fff57c that makes it play like the original console version (i.e. 8 energy hits instead of 2)
- */
+ // Game does a check @ 1afc00 with work RAM fff57c that makes it play like the original console version (i.e. 8 energy hits instead of 2)
#if ENERGY_CONSOLE_MODE
uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
rom[0x1afc08/2] = 0x6600;
@@ -1127,7 +987,7 @@ void md_boot_state::init_aladmdb()
init_megadrij();
}
-// this should be correct, the areas of the ROM that differ to the original
+// This should be correct, the areas of the ROM that differ to the original
// after this decode look like intentional changes
void md_boot_state::init_mk3mdb()
{
@@ -1338,21 +1198,161 @@ void md_boot_state::init_jparkmb()
m_maincpu->space(AS_PROGRAM).install_read_handler(0x300000, 0x300001, read16smo_delegate(*this, FUNC(md_boot_state::jparkmb_r)));
}
+
+/*************************************
+ *
+ * ROM definition(s)
+ *
+ *************************************/
+
+ROM_START( aladmdb )
+ ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 Code
+ ROM_LOAD16_BYTE( "m1.bin", 0x000001, 0x080000, CRC(5e2671e4) SHA1(54705c7614fc7b5a1065478fa41f51dd1d8045b7) )
+ ROM_LOAD16_BYTE( "m2.bin", 0x000000, 0x080000, CRC(142a0366) SHA1(6c94aa9936cd11ccda503b52019a6721e64a32f0) )
+ ROM_LOAD16_BYTE( "m3.bin", 0x100001, 0x080000, CRC(0feeeb19) SHA1(bd567a33077ab9997871d21736066140d50e3d70) )
+ ROM_LOAD16_BYTE( "m4.bin", 0x100000, 0x080000, CRC(bc712661) SHA1(dfd554d000399e17b4ddc69761e572195ed4e1f0) )
+
+ ROM_REGION( 0x1000, "pic", ROMREGION_ERASE00 )
+ ROM_LOAD( "pic16c57xtp", 0x0000, 0x1000, NO_DUMP )
+ROM_END
+
+ROM_START( mk3mdb ) // ROMs are scrambled, we take care of the address descramble in the ROM load, and the data descramble in the init
+ // This is bootlegged from "Mortal Kombat 3 (4) [!].bin"
+ ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 ) // 68000 Code
+ ROM_LOAD16_BYTE( "1.u1", 0x080001, 0x020000, CRC(0dc01b23) SHA1(f1aa7ac88c8e3deb5a0a065862722e9d27b87b4c) )
+ ROM_CONTINUE( 0x000001, 0x020000)
+ ROM_CONTINUE( 0x0c0001, 0x020000)
+ ROM_CONTINUE( 0x040001, 0x020000)
+ ROM_LOAD16_BYTE( "2.u3", 0x180001, 0x040000, CRC(50250235) SHA1(9f9e06f26163b92c76397fde43b38b3536bcb637) )
+ ROM_CONTINUE( 0x100001, 0x040000)
+ ROM_LOAD16_BYTE( "3.u9", 0x280001, 0x040000, CRC(493404c1) SHA1(73f4bd1eeeee3f175f4378ab406a97f94f88880b) )
+ ROM_CONTINUE( 0x200001, 0x040000)
+ ROM_LOAD16_BYTE( "4.u11",0x380001, 0x040000, CRC(a52156b8) SHA1(0990ef1fb3427a5d3c262e264feb25c1db75ed33) )
+ ROM_CONTINUE( 0x300001, 0x040000)
+ ROM_LOAD16_BYTE( "6.u2", 0x080000, 0x020000, CRC(9852fd6f) SHA1(348befeca5129c5ea2c142760ec93511f98f23cc) )
+ ROM_CONTINUE( 0x000000, 0x020000)
+ ROM_CONTINUE( 0x0c0000, 0x020000)
+ ROM_CONTINUE( 0x040000, 0x020000)
+ ROM_LOAD16_BYTE( "5.u4", 0x180000, 0x040000, CRC(ed6a6d13) SHA1(eaab912ee035ece03f7cfceb1b546004399daad5) )
+ ROM_CONTINUE( 0x100000, 0x040000)
+ ROM_LOAD16_BYTE( "7.u10",0x280000, 0x040000, CRC(a124d8d1) SHA1(d391b130992701d0fae7e827ba314b8368d809de) )
+ ROM_CONTINUE( 0x200000, 0x040000)
+ ROM_LOAD16_BYTE( "8.u12",0x380000, 0x040000, CRC(8176f7cc) SHA1(375e1e982b97ba709fb160b04f56f6aa2d580104) )
+ ROM_CONTINUE( 0x300000, 0x040000)
+ROM_END
+
+ROM_START( ssf2mdb )
+ ROM_REGION( 0x1400000, "maincpu", 0 ) // 68000 Code
+ // Special Case, custom PCB, linear ROM mapping of 5meg
+ ROM_LOAD16_BYTE( "rom_a", 0x000000, 0x200000, CRC(59726521) SHA1(3120bac17f56c01ffb9d3f9e31efa0263e3774af) )
+ ROM_LOAD16_BYTE( "rom_b", 0x000001, 0x200000, CRC(7dad5540) SHA1(9279068b2218d239fdd557dd959ac70e74853178) )
+ ROM_LOAD16_BYTE( "rom_c", 0x400000, 0x080000, CRC(deb48624) SHA1(39ffa7de7b808e0b95cb039bb381705d77420933) )
+ ROM_LOAD16_BYTE( "rom_d", 0x400001, 0x080000, CRC(b99f6a5b) SHA1(adbe28a7522024bc66328ac86fecf9ded3310e8e) )
+ROM_END
+
+ROM_START( srmdb )
+ ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 Code
+ ROM_LOAD16_BYTE( "u1", 0x000001, 0x020000, CRC(c59f33bd) SHA1(bd5bce7698a70ea005b79ab34bcdb056872ef980) )
+ ROM_LOAD16_BYTE( "u2", 0x000000, 0x020000, CRC(9125c054) SHA1(c73bdeb6b11c59d2b5f5968959b02697957ca894) )
+ ROM_LOAD16_BYTE( "u3", 0x040001, 0x020000, CRC(0fee0fbe) SHA1(001e0fda12707512aad537e533acf28e726e6107) )
+ ROM_LOAD16_BYTE( "u4", 0x040000, 0x020000, CRC(fc2aed41) SHA1(27eb3957f5ed26ee5276523b1df46fa7eb298e1f) )
+ROM_END
+
+ROM_START( topshoot ) // Top Shooter (c)1995 Sun Mixing
+ ROM_REGION( 0x200000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "tc574000ad_u11_2.bin", 0x000000, 0x080000, CRC(b235c4d9) SHA1(fbb308a5f6e769f3277824cb6a3b50c308969ac2) )
+ ROM_LOAD16_BYTE( "tc574000ad_u12_1.bin", 0x000001, 0x080000, CRC(e826f6ad) SHA1(23ec8bb608f954d3b915f061e7076c0c63b8259e) )
+
+ // Not hooked up yet
+ ROM_REGION( 0x1000, "mcu", 0 )
+ ROM_LOAD( "89c51.bin", 0x0000, 0x1000, CRC(595475c8) SHA1(8313819ba06cc92b54f88c1ca9f34be8d1ec94d0) )
+ROM_END
+
+ROM_START( sbubsm )
+ ROM_REGION( 0x200000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "u11.bin", 0x000000, 0x080000, CRC(4f9337ea) SHA1(b245eb615f80afd25e29b2efdddb7f61c1deff6b) )
+ ROM_LOAD16_BYTE( "u12.bin", 0x000001, 0x080000, CRC(f5374835) SHA1(3a97910f5f7327ec7ad6425dfdfa72c86196ed33) )
+
+ ROM_REGION( 0x1000, "mcu", 0 ) // could be the same as topshoot (same PCB)
+ ROM_LOAD( "89c51.bin", 0x0000, 0x1000, NO_DUMP )
+ROM_END
+
+ROM_START( sonic2mb )
+ ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 Code
+ ROM_LOAD16_BYTE( "m1", 0x000001, 0x080000, CRC(7b40aa24) SHA1(247882cd1f412366d61aeb4d85bbeefd5f108e1d) )
+ ROM_LOAD16_BYTE( "m2", 0x000000, 0x080000, CRC(84b3f758) SHA1(19846b9d951db6f78f3e155d33f1b6349fb87f1a) )
+ROM_END
+
+ROM_START( barek2mb )
+ ROM_REGION( 0x200000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "m1.bin", 0x000001, 0x080000, CRC(1c1fa718) SHA1(393488f7747478728eb4f20c10b0cfce3b188719) )
+ ROM_LOAD16_BYTE( "m2.bin", 0x000000, 0x080000, CRC(59ee0905) SHA1(0e9f1f6e17aae2dd99bf9d7f640568b48ba699c7) )
+ ROM_LOAD16_BYTE( "m3.bin", 0x100001, 0x080000, CRC(6ec5af5d) SHA1(9088a2d4cff5e7eb439ebaa91ad3bfff11366127) )
+ ROM_LOAD16_BYTE( "m4.bin", 0x100000, 0x080000, CRC(d8c61e0d) SHA1(3d06e656f6621bb0741211f80c1ecff1669475ee) )
+
+ // Not hooked up yet
+ ROM_REGION( 0x1000, "pic", ROMREGION_ERASE00 )
+ ROM_LOAD( "bk_pic16c57rcp.bin", 0x0000, 0x1000, CRC(434ad1b7) SHA1(9241554793c7375cf58239e762481a4b80a51df6) ) // Unprotected
+ROM_END
+
+ROM_START( barek3mb )
+ ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 Code
+ ROM_LOAD16_BYTE( "6.u19", 0x000000, 0x080000, CRC(2de19519) SHA1(f5fcef1da8b5370e399f0451382e3c6e7754c9c8) )
+ ROM_LOAD16_BYTE( "3.u18", 0x000001, 0x080000, CRC(db900e82) SHA1(172a4fe01a0ffd1ea3aed74f2c58234fd55b876d) )
+ ROM_LOAD16_BYTE( "4.u15", 0x100000, 0x080000, CRC(6353b4b1) SHA1(9f89a2f02170496ca798b89e37e1f2bae0e9155d) )
+ ROM_LOAD16_BYTE( "1.u14", 0x100001, 0x080000, CRC(24d31e12) SHA1(64c1b968e1ee5d0355d902e280f33e4466f27b07) )
+ ROM_LOAD16_BYTE( "5.u17", 0x200000, 0x080000, CRC(0feb974f) SHA1(ed1a25b6f1669dc6061d519985b6373fa89176c7) )
+ ROM_LOAD16_BYTE( "2.u16", 0x200001, 0x080000, CRC(bba4a585) SHA1(32c59729943d7b4c1a39f2a2b0dae9ce16991e9c) )
+ROM_END
+
+ROM_START( bk3ssrmb )
+ ROM_REGION( 0x400000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "1.u15", 0x000000, 0x080000, CRC(120a4b64) SHA1(7084fde0d08143f48f83d2afef30522d75c7889c) )
+ ROM_LOAD16_BYTE( "5.u14", 0x000001, 0x080000, CRC(1eb625d3) SHA1(8f67ab874643b3eafe91768df84ea4a3b8a5fa82) )
+ ROM_LOAD16_BYTE( "2.u13", 0x100000, 0x080000, CRC(af439685) SHA1(5cc55608355e11096c9fadb8d2460cf66704deec) )
+ ROM_LOAD16_BYTE( "6.u12", 0x100001, 0x080000, CRC(24d31e12) SHA1(64c1b968e1ee5d0355d902e280f33e4466f27b07) )
+ ROM_LOAD16_BYTE( "3.u11", 0x200000, 0x080000, CRC(dfa5c478) SHA1(079a9cad5c2252b2d65aa3c4dc9cba331078eeb9) )
+ ROM_LOAD16_BYTE( "7.u10", 0x200001, 0x080000, CRC(bba4a585) SHA1(32c59729943d7b4c1a39f2a2b0dae9ce16991e9c) )
+ ROM_LOAD16_BYTE( "4.u9", 0x300000, 0x040000, CRC(e5f1ab97) SHA1(0f4c527043f1272e75a996f4f7270c6ea4ed3c4d) )
+ ROM_LOAD16_BYTE( "8.u8", 0x300001, 0x040000, CRC(32ee1048) SHA1(1b135c200b4440e95a7d1766b4b404ddd238872d) )
+ROM_END
+
+ROM_START( twinktmb ) // Same PCB as sonic2mb, but in this one the PIC is populated
+ ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 Code
+ ROM_LOAD16_BYTE( "m2.bin", 0x000000, 0x080000, CRC(44424f8f) SHA1(e16318bfdf869765c821c264cf9a7e6c728f7073) )
+ ROM_LOAD16_BYTE( "m1.bin", 0x000001, 0x080000, CRC(69aa916e) SHA1(7ea6b571fd0b6494051d5846ee9b4564b7692766) )
+
+ ROM_REGION( 0x2000, "pic", ROMREGION_ERASE00 )
+ ROM_LOAD( "pic16c57xtp", 0x0000, 0x2000, NO_DUMP )
+ROM_END
+
+ROM_START( jparkmb ) // Same PCB as twinktmb, JPA-028 label
+ ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 Code
+ ROM_LOAD16_BYTE( "f24.bin", 0x000000, 0x080000, CRC(bdd851d2) SHA1(1a75922e848fd5c7cd4ab102c99effcfcf382097) )
+ ROM_LOAD16_BYTE( "f23.bin", 0x000001, 0x080000, CRC(8dc66c71) SHA1(a2741ffa583a4b779b7be3e3ae628e97f792ee3d) )
+ ROM_LOAD16_BYTE( "f22.bin", 0x100000, 0x080000, CRC(36337d06) SHA1(d537cff2c8ed58da146faf390c09252be359ccd1) )
+ ROM_LOAD16_BYTE( "f21.bin", 0x100001, 0x080000, CRC(6ede6b6b) SHA1(cf29300d9278ea03f54cf54ea582bdd8b9bbdbbd) )
+
+ ROM_REGION( 0x1000, "pic", ROMREGION_ERASE00 )
+ ROM_LOAD( "pic16c57xtp", 0x0000, 0x1000, NO_DUMP )
+ROM_END
+
+
/*************************************
*
* Game driver(s)
*
*************************************/
-GAME( 1993, aladmdb, 0, megadrvb, aladmdb, md_boot_state, init_aladmdb, ROT0, "bootleg / Sega", "Aladdin (bootleg of Japanese Megadrive version)", 0)
-GAME( 1996, mk3mdb, 0, megadrvb_6b, mk3mdb, md_boot_state, init_mk3mdb, ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Megadrive version)", 0)
-GAME( 1994, ssf2mdb, 0, megadrvb_6b, ssf2mdb, md_boot_state, init_ssf2mdb, ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese MegaDrive version)", 0)
-GAME( 1993, srmdb, 0, megadrvb, srmdb, md_boot_state, init_srmdb, ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Megadrive version)", 0)
-GAME( 1995, topshoot, 0, md_bootleg, topshoot, md_boot_state, init_topshoot, ROT0, "Sun Mixing", "Top Shooter", 0)
-GAME( 1996, sbubsm, 0, md_bootleg, sbubsm, md_boot_state, init_sbubsm, ROT0, "Sun Mixing", "Super Bubble Bobble (Sun Mixing, Megadrive clone hardware)", 0)
-GAME( 1993, sonic2mb, 0, md_bootleg, sonic2mb, md_boot_state, init_sonic2mb, ROT0, "bootleg / Sega", "Sonic The Hedgehog 2 (bootleg of Megadrive version)", 0 ) // flying wires going through the empty PIC space aren't completely understood
-GAME( 1994, barek2mb, 0, md_bootleg, barek2, md_boot_state, init_barek2, ROT0, "bootleg / Sega", "Bare Knuckle II (bootleg of Megadrive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // needs PIC decap or simulation
-GAME( 1994, barek3mb, 0, megadrvb, barek3, md_boot_state, init_barek3, ROT0, "bootleg / Sega", "Bare Knuckle III (bootleg of Megadrive version)", 0 )
-GAME( 1994, bk3ssrmb, 0, megadrvb_6b, bk3ssrmb, md_boot_state, init_bk3ssrmb, ROT0, "bootleg / Sega", "Bare Knuckle III / Sunset Riders (bootleg of Megadrive versions)", MACHINE_NOT_WORKING ) // currently boots as Bare Knuckle III, mechanism to switch game not found yet
-GAME( 1993, twinktmb, 0, md_bootleg, twinktmb, md_boot_state, init_twinktmb, ROT0, "bootleg / Sega", "Twinkle Tale (bootleg of Megadrive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // needs PIC decap or simulation
-GAME( 1993, jparkmb, 0, md_bootleg, twinktmb, md_boot_state, init_jparkmb, ROT0, "bootleg / Sega", "Jurassic Park (bootleg of Megadrive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // needs PIC decap or simulation
+GAME( 1993, aladmdb, 0, megadrvb, aladmdb, md_boot_state, init_aladmdb, ROT0, "bootleg / Sega", "Aladdin (bootleg of Japanese Megadrive version)", 0 )
+GAME( 1996, mk3mdb, 0, megadrvb_6b, mk3mdb, md_boot_state, init_mk3mdb, ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Megadrive version)", 0 )
+GAME( 1994, ssf2mdb, 0, megadrvb_6b, ssf2mdb, md_boot_state, init_ssf2mdb, ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese MegaDrive version)", 0 )
+GAME( 1993, srmdb, 0, megadrvb, srmdb, md_boot_state, init_srmdb, ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Megadrive version)", 0 )
+GAME( 1995, topshoot, 0, md_bootleg, topshoot, md_boot_state, init_topshoot, ROT0, "Sun Mixing", "Top Shooter", 0 )
+GAME( 1996, sbubsm, 0, md_bootleg, sbubsm, md_boot_state, init_sbubsm, ROT0, "Sun Mixing", "Super Bubble Bobble (Sun Mixing, Megadrive clone hardware)", 0 )
+GAME( 1993, sonic2mb, 0, md_bootleg, sonic2mb, md_boot_state, init_sonic2mb, ROT0, "bootleg / Sega", "Sonic The Hedgehog 2 (bootleg of Megadrive version)", 0 ) // Flying wires going through the empty PIC space aren't completely understood
+GAME( 1994, barek2mb, 0, md_bootleg, barek2, md_boot_state, init_barek2, ROT0, "bootleg / Sega", "Bare Knuckle II (bootleg of Megadrive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC hook up
+GAME( 1994, barek3mb, 0, megadrvb, barek3, md_boot_state, init_barek3, ROT0, "bootleg / Sega", "Bare Knuckle III (bootleg of Megadrive version)", 0 )
+GAME( 1994, bk3ssrmb, 0, megadrvb_6b, bk3ssrmb, md_boot_state, init_bk3ssrmb, ROT0, "bootleg / Sega", "Bare Knuckle III / Sunset Riders (bootleg of Megadrive versions)", MACHINE_NOT_WORKING ) // Currently boots as Bare Knuckle III, mechanism to switch game not found yet
+GAME( 1993, twinktmb, 0, md_bootleg, twinktmb, md_boot_state, init_twinktmb, ROT0, "bootleg / Sega", "Twinkle Tale (bootleg of Megadrive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC decap or simulation
+GAME( 1993, jparkmb, 0, md_bootleg, twinktmb, md_boot_state, init_jparkmb, ROT0, "bootleg / Sega", "Jurassic Park (bootleg of Megadrive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC decap or simulation