diff --git a/.gitattributes b/.gitattributes index 22a5a202069..1903505cc58 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4301,6 +4301,8 @@ src/mame/machine/kaneko_calc3.c svneol=native#text/plain src/mame/machine/kaneko_calc3.h svneol=native#text/plain src/mame/machine/kaneko_hit.c svneol=native#text/plain src/mame/machine/kaneko_hit.h svneol=native#text/plain +src/mame/machine/kaneko_toybox.c svneol=native#text/plain +src/mame/machine/kaneko_toybox.h svneol=native#text/plain src/mame/machine/kanekotb.h svneol=native#text/plain src/mame/machine/konami1.c svneol=native#text/plain src/mame/machine/konami1.h svneol=native#text/plain diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c index a052e8cf639..361abe4521a 100644 --- a/src/mame/drivers/galpani3.c +++ b/src/mame/drivers/galpani3.c @@ -66,6 +66,7 @@ Dumped by Uki #include "sound/ymz280b.h" #include "includes/kaneko16.h" #include "video/sknsspr.h" +#include "machine/eeprom.h" class galpani3_state : public kaneko16_state { @@ -90,7 +91,6 @@ public: m_framebuffer1_bright2(*this, "fb1_bright2"), m_sprregs(*this, "sprregs"), m_sprite_bitmap_1(1024, 1024), - m_mcu_ram(*this, "mcu_ram"), m_maincpu(*this,"maincpu") { } @@ -125,8 +125,6 @@ public: UINT32 m_spriteram32[0x4000/4]; UINT32 m_spc_regs[0x40/4]; bitmap_ind16 m_sprite_bitmap_1; - required_shared_ptr m_mcu_ram; - UINT16 m_mcu_com[4]; int m_regs1_i; int m_regs2_i; int m_regs3_i; @@ -138,11 +136,7 @@ public: sknsspr_device* m_spritegen; DECLARE_WRITE16_MEMBER(galpani3_suprnova_sprite32_w); DECLARE_WRITE16_MEMBER(galpani3_suprnova_sprite32regs_w); - DECLARE_WRITE16_MEMBER(galpani3_mcu_com0_w); - DECLARE_WRITE16_MEMBER(galpani3_mcu_com1_w); - DECLARE_WRITE16_MEMBER(galpani3_mcu_com2_w); - DECLARE_WRITE16_MEMBER(galpani3_mcu_com3_w); - DECLARE_READ16_MEMBER(galpani3_mcu_status_r); + DECLARE_READ16_MEMBER(galpani3_regs1_r); DECLARE_READ16_MEMBER(galpani3_regs2_r); DECLARE_READ16_MEMBER(galpani3_regs3_r); @@ -169,7 +163,10 @@ public: DECLARE_WRITE16_MEMBER(galpani3_framebuffer1_bgcol_w); DECLARE_WRITE16_MEMBER(galpani3_framebuffer2_bgcol_w); DECLARE_WRITE16_MEMBER(galpani3_framebuffer3_bgcol_w); - DECLARE_DRIVER_INIT(galpani3); + + DECLARE_DRIVER_INIT( galpani3 ) + { + } }; @@ -458,7 +455,7 @@ static INPUT_PORTS_START( galpani3 ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_START("DSW") /* provided by the MCU - $200386.b <- $400200 */ + PORT_START("DSW1") /* provided by the MCU - $200386.b <- $400200 */ PORT_DIPNAME( 0x0100, 0x0100, "Test Mode" ) PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -504,111 +501,6 @@ WRITE16_MEMBER(galpani3_state::galpani3_suprnova_sprite32regs_w) -/*************************************************************************** - - MCU Code Simulation - (follows the implementation of kaneko16.c) - -***************************************************************************/ - -static void galpani3_mcu_run(running_machine &machine) -{ - galpani3_state *state = machine.driver_data(); - UINT16 mcu_command = state->m_mcu_ram[0x0010/2]; /* command nb */ - UINT16 mcu_offset = state->m_mcu_ram[0x0012/2] / 2; /* offset in shared RAM where MCU will write */ - UINT16 mcu_subcmd = state->m_mcu_ram[0x0014/2]; /* sub-command parameter, happens only for command #4 */ - - logerror("%s: MCU executed command : %04X %04X\n",machine.describe_context(),mcu_command,mcu_offset*2); - - /* the only MCU commands found in program code are: - 0x04: protection: provide code/data, - 0x03: read DSW - 0x02: load NVRAM settings \ ATMEL AT93C46 chip, - 0x42: save NVRAM settings / 128 bytes serial EEPROM - */ - switch (mcu_command >> 8) - { - case 0x03: // DSW - { - state->m_mcu_ram[mcu_offset] = state->ioport("DSW")->read(); - logerror("%s : MCU executed command: %04X %04X (read DSW)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x02: // $38950 - load NVRAM settings - { - /* NOTE: code @ $38B46 & $38ab8 does exactly what is checked after MCU command - so that's what we'll mimic here... probably the initial NVRAM settings */ - int i; - - /* MCU writes 128 bytes to shared ram: last byte is the byte-sum */ - /* first 32 bytes (header): 0x8BE08E71.L, then the string "95/06/30 Gals Panic3Ver 0.95"; */ - state->m_mcu_ram[mcu_offset + 0] = 0x8BE0; state->m_mcu_ram[mcu_offset + 1] = 0x8E71; - state->m_mcu_ram[mcu_offset + 2] = 0x3935; state->m_mcu_ram[mcu_offset + 3] = 0x2F30; - state->m_mcu_ram[mcu_offset + 4] = 0x362F; state->m_mcu_ram[mcu_offset + 5] = 0x3330; - state->m_mcu_ram[mcu_offset + 6] = 0x2047; state->m_mcu_ram[mcu_offset + 7] = 0x616C; - state->m_mcu_ram[mcu_offset + 8] = 0x7320; state->m_mcu_ram[mcu_offset + 9] = 0x5061; - state->m_mcu_ram[mcu_offset + 10] = 0x6E69; state->m_mcu_ram[mcu_offset + 11] = 0x6333; - state->m_mcu_ram[mcu_offset + 12] = 0x5665; state->m_mcu_ram[mcu_offset + 13] = 0x7220; - state->m_mcu_ram[mcu_offset + 14] = 0x302E; state->m_mcu_ram[mcu_offset + 15] = 0x3935; - /* next 11 bytes - initial NVRAM settings */ - state->m_mcu_ram[mcu_offset + 16] = 0x0001; state->m_mcu_ram[mcu_offset + 17] = 0x0101; - state->m_mcu_ram[mcu_offset + 18] = 0x0100; state->m_mcu_ram[mcu_offset + 19] = 0x0208; - state->m_mcu_ram[mcu_offset + 20] = 0x02FF; state->m_mcu_ram[mcu_offset + 21] = 0x0000; - /* rest is zeroes */ - for (i=22;i<63;i++) - state->m_mcu_ram[mcu_offset + i] = 0; - /* and sum is $0c.b */ - state->m_mcu_ram[mcu_offset + 63] = 0x000c; - } - break; - - case 0x04: // $38842 - provides code/data - { - toxboy_handle_04_subcommand(machine, mcu_subcmd, state->m_mcu_ram); - } - break; - - case 0x42: // $389ee - save NVRAM settings - { - // found, TODO: trace call in code !!! - } - break; - - default: - logerror("UNKNOWN COMMAND\n"); - } -} - -/* - MCU doesn't execute exactly as it is coded right know (ala jchan): - * com0=com1=0xFFFF -> command to execute - * com2=com3=0xFFFF -> status reading only -*/ - -INLINE void galpani3_mcu_com_w(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask, int _n_) -{ - galpani3_state *state = space->machine().driver_data(); - COMBINE_DATA(&state->m_mcu_com[_n_]); - if (state->m_mcu_com[0] != 0xFFFF) return; - if (state->m_mcu_com[1] != 0xFFFF) return; - if (state->m_mcu_com[2] != 0xFFFF) return; - if (state->m_mcu_com[3] != 0xFFFF) return; - - memset(state->m_mcu_com, 0, 4 * sizeof( UINT16 ) ); - galpani3_mcu_run(space->machine()); -} - -WRITE16_MEMBER(galpani3_state::galpani3_mcu_com0_w){ galpani3_mcu_com_w(&space, offset, data, mem_mask, 0); } -WRITE16_MEMBER(galpani3_state::galpani3_mcu_com1_w){ galpani3_mcu_com_w(&space, offset, data, mem_mask, 1); } -WRITE16_MEMBER(galpani3_state::galpani3_mcu_com2_w){ galpani3_mcu_com_w(&space, offset, data, mem_mask, 2); } -WRITE16_MEMBER(galpani3_state::galpani3_mcu_com3_w){ galpani3_mcu_com_w(&space, offset, data, mem_mask, 3); } - -READ16_MEMBER(galpani3_state::galpani3_mcu_status_r) -{ - logerror("cpu '%s' (PC=%06X): read mcu status\n", space.device().tag(), cpu_get_previouspc(&space.device())); - return 0; -} // might be blitter regs? - there are 3, probably GRAP2 chips @@ -924,13 +816,13 @@ static ADDRESS_MAP_START( galpani3_map, AS_PROGRAM, 16, galpani3_state ) AM_RANGE(0x300000, 0x303fff) AM_RAM_WRITE(galpani3_suprnova_sprite32_w) AM_SHARE("spriteram") AM_RANGE(0x380000, 0x38003f) AM_RAM_WRITE(galpani3_suprnova_sprite32regs_w) AM_SHARE("sprregs") - AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("mcu_ram") // area [C] + AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE( "toybox", kaneko_toybox_device, toybox_mcu_ram_r, toybox_mcu_ram_w ) // area [C] - AM_RANGE(0x580000, 0x580001) AM_WRITE(galpani3_mcu_com0_w) // ] see $387e8: these 2 locations are written (w.#$ffff) - AM_RANGE(0x600000, 0x600001) AM_WRITE(galpani3_mcu_com1_w) // ] then bit #0 of $780000.l is tested: 0 = OK! - AM_RANGE(0x680000, 0x680001) AM_WRITE(galpani3_mcu_com2_w) // ] see $387e8: these 2 locations are written (w.#$ffff) - AM_RANGE(0x700000, 0x700001) AM_WRITE(galpani3_mcu_com3_w) // ] then bit #0 of $780000.l is tested: 0 = OK! - AM_RANGE(0x780000, 0x780001) AM_READ(galpani3_mcu_status_r) + AM_RANGE(0x580000, 0x580001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com0_w) + AM_RANGE(0x600000, 0x600001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com1_w) + AM_RANGE(0x680000, 0x680001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com2_w) + AM_RANGE(0x700000, 0x700001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com3_w) + AM_RANGE(0x780000, 0x780001) AM_DEVREAD( "toybox", kaneko_toybox_device, toybox_mcu_status_r) // GRAP2 1? AM_RANGE(0x800000, 0x8003ff) AM_RAM // ??? see subroutine $39f42 (R?) @@ -1012,6 +904,11 @@ static MACHINE_CONFIG_START( galpani3, galpani3_state ) //MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 64*8-1) MCFG_SCREEN_UPDATE_STATIC(galpani3) + MCFG_EEPROM_93C46_ADD("eeprom") + + MCFG_DEVICE_ADD("toybox", KANEKO_TOYBOX, 0) + kaneko_toybox_device::set_toybox_gametype(*device, GAME_GALPANI3); + MCFG_PALETTE_LENGTH(0x4303) MCFG_VIDEO_START(galpani3) @@ -1077,12 +974,7 @@ ROM_START( galpani3j ) /* Some game text in Japanese, but no "For use in Japan" ROM_END -DRIVER_INIT_MEMBER(galpani3_state,galpani3) -{ - DRIVER_INIT_CALL(decrypt_toybox_rom); - memset(m_mcu_com, 0, 4 * sizeof( UINT16) ); -} GAME( 1995, galpani3, 0, galpani3, galpani3, galpani3_state, galpani3, ROT90, "Kaneko", "Gals Panic 3 (Euro)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL ) GAME( 1995, galpani3j, galpani3, galpani3, galpani3, galpani3_state, galpani3, ROT90, "Kaneko", "Gals Panic 3 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL ) diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c index 96656fed9e4..fe740cc4999 100644 --- a/src/mame/drivers/jchan.c +++ b/src/mame/drivers/jchan.c @@ -173,6 +173,7 @@ there are 9 PALS on the pcb (not dumped) #include "sound/ymz280b.h" #include "includes/kaneko16.h" #include "video/sknsspr.h" +#include "machine/eeprom.h" class jchan_state : public kaneko16_state { @@ -184,7 +185,6 @@ public: m_spriteram_2(*this, "spriteram_2"), m_sprregs_2(*this, "sprregs_2"), m_mainsub_shared_ram(*this, "mainsub_shared"), - m_mcu_ram(*this, "mcu_ram"), m_ctrl(*this, "ctrl"), m_maincpu(*this,"maincpu"), m_subcpu(*this,"sub") @@ -202,20 +202,14 @@ public: required_shared_ptr m_spriteram_2; required_shared_ptr m_sprregs_2; required_shared_ptr m_mainsub_shared_ram; - UINT8 m_nvram_data[128]; - required_shared_ptr m_mcu_ram; - UINT16 m_mcu_com[4]; required_shared_ptr m_ctrl; required_device m_maincpu; required_device m_subcpu; sknsspr_device* m_spritegen1; sknsspr_device* m_spritegen2; - DECLARE_WRITE16_MEMBER(jchan_mcu_com0_w); - DECLARE_WRITE16_MEMBER(jchan_mcu_com1_w); - DECLARE_WRITE16_MEMBER(jchan_mcu_com2_w); - DECLARE_WRITE16_MEMBER(jchan_mcu_com3_w); - DECLARE_READ16_MEMBER(jchan_mcu_status_r); + + DECLARE_WRITE16_MEMBER(jchan_ctrl_w); DECLARE_READ16_MEMBER(jchan_ctrl_r); DECLARE_WRITE16_MEMBER(main2sub_cmd_w); @@ -224,91 +218,12 @@ public: DECLARE_WRITE16_MEMBER(jchan_suprnova_sprite32regs_1_w); DECLARE_WRITE16_MEMBER(jchan_suprnova_sprite32_2_w); DECLARE_WRITE16_MEMBER(jchan_suprnova_sprite32regs_2_w); + DECLARE_DRIVER_INIT(jchan); }; -/*************************************************************************** - - MCU Code Simulation - -***************************************************************************/ - -static void jchan_mcu_run(running_machine &machine) -{ - jchan_state *state = machine.driver_data(); - UINT16 mcu_command = state->m_mcu_ram[0x0010/2]; /* command nb */ - UINT16 mcu_offset = state->m_mcu_ram[0x0012/2] / 2; /* offset in shared RAM where MCU will write */ - UINT16 mcu_subcmd = state->m_mcu_ram[0x0014/2]; /* sub-command parameter, happens only for command #4 */ - - logerror("%s : MCU executed command: %04X %04X %04X ",machine.describe_context(),mcu_command,mcu_offset*2,mcu_subcmd); - -/* - the only MCU commands found in program code are: - - 0x04: protection: provide data (see below) and code - - 0x03: read DSW - - 0x02: load game settings \ stored in ATMEL AT93C46 chip, - - 0x42: save game settings / 128 bytes serial EEPROM -*/ - - switch (mcu_command >> 8) - { - case 0x04: /* Protection: during self-test for mcu_subcmd = 0x3d, 0x3e, 0x3f */ - { - toxboy_handle_04_subcommand(machine,mcu_subcmd,state->m_mcu_ram); - } - break; - - case 0x03: // DSW - { - state->m_mcu_ram[mcu_offset] = machine.root_device().ioport("DSW")->read(); - logerror("%s : MCU executed command: %04X %04X (read DSW)\n",machine.describe_context(),mcu_command,mcu_offset*2); - } - break; - - case 0x02: /* load game settings from 93C46 EEPROM ($1090-$10dc) */ - { - memcpy(&state->m_mcu_ram[mcu_offset], state->m_nvram_data, sizeof(state->m_nvram_data)); - logerror("(load NVRAM settings)\n"); - } - break; - - case 0x42: /* save game settings to 93C46 EEPROM ($50d4) */ - { - memcpy(state->m_nvram_data, &state->m_mcu_ram[mcu_offset], sizeof(state->m_nvram_data)); - logerror("(save NVRAM settings)\n"); - } - break; - - default: - logerror("- UNKNOWN COMMAND!!!\n"); - } -} - -INLINE void jchan_mcu_com_w(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask, int _n_) -{ - jchan_state *state = space->machine().driver_data(); - COMBINE_DATA(&state->m_mcu_com[_n_]); - if (state->m_mcu_com[0] != 0xFFFF) return; - if (state->m_mcu_com[1] != 0xFFFF) return; - if (state->m_mcu_com[2] != 0xFFFF) return; - if (state->m_mcu_com[3] != 0xFFFF) return; - - memset(state->m_mcu_com, 0, 4 * sizeof( UINT16 ) ); - jchan_mcu_run(space->machine()); -} - -WRITE16_MEMBER(jchan_state::jchan_mcu_com0_w){ jchan_mcu_com_w(&space, offset, data, mem_mask, 0); } -WRITE16_MEMBER(jchan_state::jchan_mcu_com1_w){ jchan_mcu_com_w(&space, offset, data, mem_mask, 1); } -WRITE16_MEMBER(jchan_state::jchan_mcu_com2_w){ jchan_mcu_com_w(&space, offset, data, mem_mask, 2); } -WRITE16_MEMBER(jchan_state::jchan_mcu_com3_w){ jchan_mcu_com_w(&space, offset, data, mem_mask, 3); } - -READ16_MEMBER(jchan_state::jchan_mcu_status_r) -{ - logerror("cpu '%s' (PC=%06X): read mcu status\n", space.device().tag(), cpu_get_previouspc(&space.device())); - return 0; -} /*************************************************************************** @@ -525,12 +440,12 @@ static ADDRESS_MAP_START( jchan_main, AS_PROGRAM, 16, jchan_state ) AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM - [A] grid tested, cleared ($9d6-$a54) - AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_SHARE("mcu_ram") // MCU [G] grid tested, cleared ($a5a-$ad8) - AM_RANGE(0x330000, 0x330001) AM_WRITE(jchan_mcu_com0_w) // _[ these 2 are set to 0xFFFF - AM_RANGE(0x340000, 0x340001) AM_WRITE(jchan_mcu_com1_w) // [ to trigger mcu to run cmd ? - AM_RANGE(0x350000, 0x350001) AM_WRITE(jchan_mcu_com2_w) // _[ these 2 are set to 0xFFFF - AM_RANGE(0x360000, 0x360001) AM_WRITE(jchan_mcu_com3_w) // [ for mcu to return its status ? - AM_RANGE(0x370000, 0x370001) AM_READ(jchan_mcu_status_r) + AM_RANGE(0x300000, 0x30ffff) AM_DEVREADWRITE( "toybox", kaneko_toybox_device, toybox_mcu_ram_r, toybox_mcu_ram_w )// [G] MCU share + AM_RANGE(0x330000, 0x330001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com0_w) + AM_RANGE(0x340000, 0x340001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com1_w) + AM_RANGE(0x350000, 0x350001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com2_w) + AM_RANGE(0x360000, 0x360001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com3_w) + AM_RANGE(0x370000, 0x370001) AM_DEVREAD( "toybox", kaneko_toybox_device, toybox_mcu_status_r) AM_RANGE(0x400000, 0x403fff) AM_RAM AM_SHARE("mainsub_shared") @@ -596,8 +511,8 @@ static INPUT_PORTS_START( jchan ) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_CONDITION("DSW",0x8000,EQUALS,0x8000) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW",0x8000,EQUALS,0x0000) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_CONDITION("DSW1",0x8000,EQUALS,0x8000) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1",0x8000,EQUALS,0x0000) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("P2") /* $f00002.w (-> $2000b5.b) */ @@ -607,8 +522,8 @@ static INPUT_PORTS_START( jchan ) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_CONDITION("DSW",0x8000,EQUALS,0x8000) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW",0x8000,EQUALS,0x0000) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_CONDITION("DSW1",0x8000,EQUALS,0x8000) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1",0x8000,EQUALS,0x0000) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("SYSTEM") /* $f00004.b */ @@ -622,20 +537,20 @@ static INPUT_PORTS_START( jchan ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("EXTRA") /* $f00006.b */ - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_CONDITION("DSW",0x8000,EQUALS,0x8000) - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW",0x8000,EQUALS,0x8000) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_CONDITION("DSW",0x8000,EQUALS,0x8000) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW",0x8000,EQUALS,0x8000) - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_CONDITION("DSW",0x8000,EQUALS,0x0000) - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_CONDITION("DSW",0x8000,EQUALS,0x0000) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_CONDITION("DSW",0x8000,EQUALS,0x0000) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_CONDITION("DSW",0x8000,EQUALS,0x0000) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_CONDITION("DSW1",0x8000,EQUALS,0x8000) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1",0x8000,EQUALS,0x8000) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_CONDITION("DSW1",0x8000,EQUALS,0x8000) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1",0x8000,EQUALS,0x8000) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_CONDITION("DSW1",0x8000,EQUALS,0x0000) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_CONDITION("DSW1",0x8000,EQUALS,0x0000) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_CONDITION("DSW1",0x8000,EQUALS,0x0000) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_CONDITION("DSW1",0x8000,EQUALS,0x0000) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* duplicated Player 1 Button 4 (whatever the layout is) */ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* duplicated Player 2 Button 4 (whatever the layout is) */ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("DSW") /* provided by the MCU - $200098.b <- $300200 */ + PORT_START("DSW1") /* provided by the MCU - $200098.b <- $300200 */ PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW1:1" ) PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) @@ -663,7 +578,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( jchan2 ) PORT_INCLUDE( jchan ) - PORT_MODIFY("DSW") + PORT_MODIFY("DSW1") PORT_DIPUNUSED( 0x4000, IP_ACTIVE_LOW ) /* only read in the "test mode" ("Input Test" screen) */ // PORT_DIPNAME( 0x8000, 0x8000, "Buttons Layout" ) /* impacts $20011e.l once! -> impacts reading of controls at 0x0002a9b2 */ INPUT_PORTS_END @@ -710,7 +625,10 @@ static MACHINE_CONFIG_START( jchan, jchan_state ) MCFG_DEVICE_ADD("spritegen1", SKNS_SPRITE, 0) MCFG_DEVICE_ADD("spritegen2", SKNS_SPRITE, 0) - MCFG_NVRAM_ADD_0FILL("nvram") + MCFG_DEVICE_ADD("toybox", KANEKO_TOYBOX, 0) + + + MCFG_EEPROM_93C46_ADD("eeprom") /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") @@ -802,17 +720,10 @@ ROM_START( jchan2 ) /* Some kind of semi-sequel? MASK ROMs dumped and confirmed ROM_LOAD16_WORD_SWAP( "j2d1x1.u13", 0x000000, 0x020000, CRC(b2b7fc90) SHA1(1b90c13bb41a313c4ed791a15d56073a7c29928b) ) ROM_END -DRIVER_INIT_MEMBER(jchan_state,jchan) +DRIVER_INIT_MEMBER( jchan_state, jchan ) { - DRIVER_INIT_CALL(decrypt_toybox_rom); - // install these here, putting them in the memory map causes issues machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x403ffe, 0x403fff, write16_delegate(FUNC(jchan_state::main2sub_cmd_w),this)); machine().device("sub")->memory().space(AS_PROGRAM)->install_write_handler(0x400000, 0x400001, write16_delegate(FUNC(jchan_state::sub2main_cmd_w),this)); - - - memset(m_mcu_com, 0, 4 * sizeof( UINT16 ) ); - - machine().device("nvram")->set_base(m_nvram_data, sizeof(m_nvram_data)); } diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c index 7e2873b31af..297edc1fe18 100644 --- a/src/mame/drivers/kaneko16.c +++ b/src/mame/drivers/kaneko16.c @@ -124,30 +124,19 @@ static MACHINE_RESET( blazeon ) static MACHINE_RESET( bloodwar ) { kaneko16_state *state = machine.driver_data(); - state->VIEW2_2_pri = 1; - - state->m_toybox_mcu_run = bloodwar_mcu_run; - toybox_mcu_init(machine); } static MACHINE_RESET( bonkadv ) { kaneko16_state *state = machine.driver_data(); - - state->VIEW2_2_pri = 1; - - state->m_toybox_mcu_run = bonkadv_mcu_run; - toybox_mcu_init(machine); } static MACHINE_RESET( bakubrkr ) { kaneko16_state *state = machine.driver_data(); MACHINE_RESET_CALL(kaneko16); - - state->VIEW2_2_pri = 1; } @@ -155,20 +144,13 @@ static MACHINE_RESET( gtmr ) { kaneko16_state *state = machine.driver_data(); MACHINE_RESET_CALL(kaneko16); - - state->VIEW2_2_pri = 1; - - state->m_toybox_mcu_run = gtmr_mcu_run; - toybox_mcu_init(machine); } static MACHINE_RESET( mgcrystl ) { kaneko16_state *state = machine.driver_data(); MACHINE_RESET_CALL(kaneko16); - - state->VIEW2_2_pri = 0; } @@ -190,7 +172,7 @@ static MACHINE_RESET( shogwarr ) ***************************************************************************/ -READ16_MEMBER(kaneko16_state::kaneko16_rnd_r) +READ16_MEMBER(kaneko16_gtmr_state::kaneko16_rnd_r) { return machine().rand() & 0xffff; } @@ -397,7 +379,7 @@ ADDRESS_MAP_END Blood Warrior ***************************************************************************/ -WRITE16_MEMBER(kaneko16_state::bloodwar_oki_0_bank_w) +WRITE16_MEMBER(kaneko16_gtmr_state::bloodwar_oki_0_bank_w) { device_t *device = machine().device("oki1"); if (ACCESSING_BITS_0_7) @@ -408,7 +390,7 @@ WRITE16_MEMBER(kaneko16_state::bloodwar_oki_0_bank_w) } } -WRITE16_MEMBER(kaneko16_state::bloodwar_oki_1_bank_w) +WRITE16_MEMBER(kaneko16_gtmr_state::bloodwar_oki_1_bank_w) { device_t *device = machine().device("oki2"); if (ACCESSING_BITS_0_7) @@ -419,7 +401,7 @@ WRITE16_MEMBER(kaneko16_state::bloodwar_oki_1_bank_w) } } -WRITE16_MEMBER(kaneko16_state::bloodwar_coin_lockout_w) +WRITE16_MEMBER(kaneko16_gtmr_state::bloodwar_coin_lockout_w) { if (ACCESSING_BITS_8_15) { @@ -430,14 +412,14 @@ WRITE16_MEMBER(kaneko16_state::bloodwar_coin_lockout_w) } } -static ADDRESS_MAP_START( bloodwar, AS_PROGRAM, 16, kaneko16_state ) +static ADDRESS_MAP_START( bloodwar, AS_PROGRAM, 16, kaneko16_gtmr_state ) AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcu_ram") // Shared With MCU - AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(toybox_mcu_com0_w) // To MCU ? - AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w) - AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w) - AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w) + AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE( "toybox", kaneko_toybox_device, toybox_mcu_ram_r, toybox_mcu_ram_w ) + AM_RANGE(0x2a0000, 0x2a0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com0_w) // To MCU ? + AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com1_w) + AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com2_w) + AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com3_w) AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites AM_RANGE(0x500000, 0x503fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w ) @@ -455,7 +437,7 @@ static ADDRESS_MAP_START( bloodwar, AS_PROGRAM, 16, kaneko16_state ) AM_RANGE(0xb00006, 0xb00007) AM_READ_PORT("EXTRA") AM_RANGE(0xb80000, 0xb80001) AM_WRITE(bloodwar_coin_lockout_w) // Coin Lockout AM_RANGE(0xc00000, 0xc00001) AM_WRITE(kaneko16_display_enable) - AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r) + AM_RANGE(0xd00000, 0xd00001) AM_DEVREAD( "toybox", kaneko_toybox_device, toybox_mcu_status_r) AM_RANGE(0xe00000, 0xe00001) AM_WRITE(bloodwar_oki_0_bank_w) AM_RANGE(0xe80000, 0xe80001) AM_WRITE(bloodwar_oki_1_bank_w) ADDRESS_MAP_END @@ -465,7 +447,7 @@ ADDRESS_MAP_END Bonk's Adventure ***************************************************************************/ -WRITE16_MEMBER(kaneko16_state::bonkadv_oki_0_bank_w) +WRITE16_MEMBER(kaneko16_gtmr_state::bonkadv_oki_0_bank_w) { device_t *device = machine().device("oki1"); if (ACCESSING_BITS_0_7) @@ -476,7 +458,7 @@ WRITE16_MEMBER(kaneko16_state::bonkadv_oki_0_bank_w) } } -WRITE16_MEMBER(kaneko16_state::bonkadv_oki_1_bank_w) +WRITE16_MEMBER(kaneko16_gtmr_state::bonkadv_oki_1_bank_w) { device_t *device = machine().device("oki2"); if (ACCESSING_BITS_0_7) @@ -488,14 +470,14 @@ WRITE16_MEMBER(kaneko16_state::bonkadv_oki_1_bank_w) } -static ADDRESS_MAP_START( bonkadv, AS_PROGRAM, 16, kaneko16_state ) +static ADDRESS_MAP_START( bonkadv, AS_PROGRAM, 16, kaneko16_gtmr_state ) AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcu_ram") // Shared With MCU - AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(toybox_mcu_com0_w) // To MCU ? - AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w) - AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w) - AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w) + AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE( "toybox", kaneko_toybox_device, toybox_mcu_ram_r, toybox_mcu_ram_w ) // Shared With MCU + AM_RANGE(0x2a0000, 0x2a0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com0_w) // To MCU ? + AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com1_w) + AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com2_w) + AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com3_w) AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites AM_RANGE(0x500000, 0x503fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w ) @@ -513,7 +495,7 @@ static ADDRESS_MAP_START( bonkadv, AS_PROGRAM, 16, kaneko16_state ) AM_RANGE(0xb00006, 0xb00007) AM_READ_PORT("UNK") AM_RANGE(0xb80000, 0xb80001) AM_WRITE(bloodwar_coin_lockout_w) // Coin Lockout AM_RANGE(0xc00000, 0xc00001) AM_WRITE(kaneko16_display_enable) - AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r) + AM_RANGE(0xd00000, 0xd00001) AM_DEVREAD( "toybox", kaneko_toybox_device, toybox_mcu_status_r) AM_RANGE(0xe00000, 0xe00001) AM_WRITE(bonkadv_oki_0_bank_w) AM_RANGE(0xe80000, 0xe80001) AM_WRITE(bonkadv_oki_1_bank_w) ADDRESS_MAP_END @@ -524,7 +506,7 @@ ADDRESS_MAP_END ***************************************************************************/ -READ16_MEMBER(kaneko16_state::gtmr_wheel_r) +READ16_MEMBER(kaneko16_gtmr_state::gtmr_wheel_r) { // check 'Controls' dip switch switch (ioport("DSW1")->read() & 0x1000) @@ -538,7 +520,7 @@ READ16_MEMBER(kaneko16_state::gtmr_wheel_r) } } -WRITE16_MEMBER(kaneko16_state::gtmr_oki_0_bank_w) +WRITE16_MEMBER(kaneko16_gtmr_state::gtmr_oki_0_bank_w) { device_t *device = machine().device("oki1"); if (ACCESSING_BITS_0_7) @@ -549,7 +531,7 @@ WRITE16_MEMBER(kaneko16_state::gtmr_oki_0_bank_w) } } -WRITE16_MEMBER(kaneko16_state::gtmr_oki_1_bank_w) +WRITE16_MEMBER(kaneko16_gtmr_state::gtmr_oki_1_bank_w) { device_t *device = machine().device("oki2"); if (ACCESSING_BITS_0_7) @@ -560,17 +542,17 @@ WRITE16_MEMBER(kaneko16_state::gtmr_oki_1_bank_w) } } -static ADDRESS_MAP_START( gtmr_map, AS_PROGRAM, 16, kaneko16_state ) +static ADDRESS_MAP_START( gtmr_map, AS_PROGRAM, 16, kaneko16_gtmr_state ) AM_RANGE(0x000000, 0x0ffffd) AM_ROM // ROM AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr_wheel_r) // Wheel Value AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcu_ram") // Shared With MCU + AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE( "toybox", kaneko_toybox_device, toybox_mcu_ram_r, toybox_mcu_ram_w ) // Shared With MCU - AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(toybox_mcu_com0_w) // To MCU ? - AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w) - AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w) - AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w) + AM_RANGE(0x2a0000, 0x2a0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com0_w) // To MCU ? + AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com1_w) + AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com2_w) + AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com3_w) AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette AM_RANGE(0x310000, 0x327fff) AM_RAM // @@ -597,7 +579,7 @@ static ADDRESS_MAP_START( gtmr_map, AS_PROGRAM, 16, kaneko16_state ) AM_RANGE(0xb80000, 0xb80001) AM_WRITE(kaneko16_coin_lockout_w) // Coin Lockout AM_RANGE(0xc00000, 0xc00001) AM_WRITE(kaneko16_display_enable) // might do more than that - AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r) + AM_RANGE(0xd00000, 0xd00001) AM_DEVREAD( "toybox", kaneko_toybox_device, toybox_mcu_status_r) AM_RANGE(0xe00000, 0xe00001) AM_WRITE(gtmr_oki_0_bank_w) // Samples Bankswitching AM_RANGE(0xe80000, 0xe80001) AM_WRITE(gtmr_oki_1_bank_w) @@ -608,7 +590,7 @@ ADDRESS_MAP_END ***************************************************************************/ -READ16_MEMBER(kaneko16_state::gtmr2_wheel_r) +READ16_MEMBER(kaneko16_gtmr_state::gtmr2_wheel_r) { switch (ioport("DSW1")->read() & 0x1800) { @@ -624,22 +606,22 @@ READ16_MEMBER(kaneko16_state::gtmr2_wheel_r) } } -READ16_MEMBER(kaneko16_state::gtmr2_IN1_r) +READ16_MEMBER(kaneko16_gtmr_state::gtmr2_IN1_r) { return (ioport("P2")->read() & (ioport("FAKE")->read() | ~0x7100)); } -static ADDRESS_MAP_START( gtmr2_map, AS_PROGRAM, 16, kaneko16_state ) +static ADDRESS_MAP_START( gtmr2_map, AS_PROGRAM, 16, kaneko16_gtmr_state ) AM_RANGE(0x000000, 0x0ffffd) AM_ROM // ROM AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr2_wheel_r) // Wheel Value AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM - AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcu_ram") // Shared With MCU + AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE( "toybox", kaneko_toybox_device, toybox_mcu_ram_r, toybox_mcu_ram_w ) // Shared With MCU - AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(toybox_mcu_com0_w) // To MCU ? - AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w) - AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w) - AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w) + AM_RANGE(0x2a0000, 0x2a0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com0_w) // To MCU ? + AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com1_w) + AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com2_w) + AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, toybox_mcu_com3_w) AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette AM_RANGE(0x310000, 0x327fff) AM_RAM // @@ -665,7 +647,7 @@ static ADDRESS_MAP_START( gtmr2_map, AS_PROGRAM, 16, kaneko16_state ) AM_RANGE(0xb80000, 0xb80001) AM_WRITE(kaneko16_coin_lockout_w) // Coin Lockout AM_RANGE(0xc00000, 0xc00001) AM_WRITE(kaneko16_display_enable) // might do more than that - AM_RANGE(0xd00000, 0xd00001) AM_READ(toybox_mcu_status_r) + AM_RANGE(0xd00000, 0xd00001) AM_DEVREAD( "toybox", kaneko_toybox_device, toybox_mcu_status_r) AM_RANGE(0xe00000, 0xe00001) AM_WRITE(gtmr_oki_0_bank_w) // Samples Bankswitching AM_RANGE(0xe80000, 0xe80001) AM_WRITE(gtmr_oki_1_bank_w) @@ -1891,7 +1873,7 @@ MACHINE_CONFIG_END VIDEO_UPDATE_AFTER_VBLANK fixes the mangled/wrong colored sprites */ -static MACHINE_CONFIG_START( gtmr, kaneko16_state ) +static MACHINE_CONFIG_START( gtmr, kaneko16_gtmr_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* verified on pcb */ @@ -1899,7 +1881,8 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_state ) MCFG_TIMER_ADD_SCANLINE("scantimer", kaneko16_interrupt, "screen", 0, 1) MCFG_MACHINE_RESET(gtmr) - MCFG_NVRAM_ADD_0FILL("nvram") + + MCFG_EEPROM_93C46_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) @@ -1924,6 +1907,11 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_state ) MCFG_DEVICE_ADD_KC002_SPRITES + MCFG_DEVICE_ADD("toybox", KANEKO_TOYBOX, 0) + kaneko_toybox_device::set_toybox_table(*device, TABLE_NORMAL); + kaneko_toybox_device::set_toybox_gametype(*device, GAME_NORMAL); + + MCFG_VIDEO_START(kaneko16) /* sound hardware */ @@ -1936,6 +1924,22 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( gtmre, gtmr ) + MCFG_DEVICE_MODIFY("toybox") + kaneko_toybox_device::set_toybox_table(*device, TABLE_ALT); +MACHINE_CONFIG_END + +/*************************************************************************** + Great 1000 Miles Rally 2 +***************************************************************************/ + +static MACHINE_CONFIG_DERIVED( gtmr2, gtmre ) + + /* basic machine hardware */ + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_PROGRAM_MAP(gtmr2_map) +MACHINE_CONFIG_END + /*************************************************************************** Blood Warrior ***************************************************************************/ @@ -1957,16 +1961,7 @@ static MACHINE_CONFIG_DERIVED( bloodwar, gtmr ) MACHINE_CONFIG_END -/*************************************************************************** - Great 1000 Miles Rally 2 -***************************************************************************/ -static MACHINE_CONFIG_DERIVED( gtmr2, gtmr ) - - /* basic machine hardware */ - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_PROGRAM_MAP(gtmr2_map) -MACHINE_CONFIG_END /*************************************************************************** Bonk's Adventure @@ -1986,6 +1981,10 @@ static MACHINE_CONFIG_DERIVED( bonkadv, gtmr ) MCFG_DEVICE_ADD("kan_hit", KANEKO_HIT, 0) kaneko_hit_device::set_type(*device, 0); + MCFG_DEVICE_MODIFY("toybox") + kaneko_toybox_device::set_toybox_gametype(*device, GAME_BONK); + + MACHINE_CONFIG_END /*************************************************************************** @@ -2257,18 +2256,18 @@ static void kaneko16_expand_sample_banks(running_machine &machine, const char *r } } -DRIVER_INIT_MEMBER(kaneko16_state,kaneko16) +DRIVER_INIT_MEMBER( kaneko16_state, kaneko16 ) { kaneko16_unscramble_tiles(machine(), "gfx2"); kaneko16_unscramble_tiles(machine(), "gfx3"); } -DRIVER_INIT_MEMBER(kaneko16_berlwall_state,berlwall) +DRIVER_INIT_MEMBER( kaneko16_berlwall_state, berlwall ) { kaneko16_unscramble_tiles(machine(), "gfx2"); } -DRIVER_INIT_MEMBER(kaneko16_state,samplebank) +DRIVER_INIT_MEMBER( kaneko16_state, samplebank ) { kaneko16_unscramble_tiles(machine(), "gfx2"); kaneko16_unscramble_tiles(machine(), "gfx3"); @@ -3709,7 +3708,7 @@ ROM_START( brapboys ) /* World 'normal version', no rom sub board, serial RB92E0 ROM_LOAD( "rb-022.u77", 0x200000, 0x100000, CRC(cb3f42dc) SHA1(5415f15621924dd263b8fe7daaf3dc25d470b814) ) ROM_LOAD( "rb-023.u78", 0x300000, 0x100000, CRC(0e6530c5) SHA1(72bff46f0672927e540f4f3546ae533dd0a231e0) ) ROM_LOAD( "rb-024.u79", 0x400000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // correct, both halves identical when dumped as larger - ROM_LOAD( "rb-024.u79", 0x480000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // is it correct to mirror like this? + ROM_RELOAD( 0x480000, 0x080000 ) ROM_LOAD( "rb-025.01.u80", 0x500000, 0x040000, CRC(36cd6b90) SHA1(45c50f2652726ded67c9c24185a71a6367e09270) ) // eprom labeled RB-025/U80-01 (green label), contains title logo for this version ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ @@ -3743,7 +3742,7 @@ ROM_START( brapboysj ) /* Japanese 'special version' with EXROM sub board; seria ROM_LOAD( "rb-022.u77", 0x200000, 0x100000, CRC(cb3f42dc) SHA1(5415f15621924dd263b8fe7daaf3dc25d470b814) ) ROM_LOAD( "rb-023.u78", 0x300000, 0x100000, CRC(0e6530c5) SHA1(72bff46f0672927e540f4f3546ae533dd0a231e0) ) ROM_LOAD( "rb-024.u79", 0x400000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // correct, both halves identical when dumped as larger - ROM_LOAD( "rb-024.u79", 0x480000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // is it correct to mirror like this? + ROM_RELOAD( 0x480000, 0x080000 ) ROM_LOAD( "rb-025.u80a", 0x500000, 0x080000, CRC(aa795ba5) SHA1(c5256dcceded2e76f548b60c18e51d0dd0209d81) ) // eprom, special title screen, really at location next to capacitor C4 on Z01DK-EXROM daughterboard; // fill in suffix! ROM_LOAD( "rb-026.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom, logs that bounce past, really at location next to capacitor C5 on Z01DK-EXROM daughterboard; // fill in suffix! @@ -3776,7 +3775,7 @@ ROM_START( brapboysu ) /* US 'special version' with EXROM sub board; Serial RB92 ROM_LOAD( "rb-022.u77", 0x200000, 0x100000, CRC(cb3f42dc) SHA1(5415f15621924dd263b8fe7daaf3dc25d470b814) ) // rb-022 0015 mask rom ROM_LOAD( "rb-023.u78", 0x300000, 0x100000, CRC(0e6530c5) SHA1(72bff46f0672927e540f4f3546ae533dd0a231e0) ) // rb-023 0016 mask rom ROM_LOAD( "rb-024.u79", 0x400000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // rb-023 0017 w29 mask rom, both halves identical when dumped as larger - ROM_LOAD( "rb-024.u79", 0x480000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // is it correct to mirror like this? + ROM_RELOAD( 0x480000, 0x080000 ) ROM_LOAD( "rb-025.10.u80a", 0x500000, 0x080000, CRC(140FE400) SHA1(A764767AACEC2F895F93256AB82125962C272951) ) // eprom labeled RB-025/U80a10 (red label), really at location next to capacitor C4 on Z01DK-EXROM daughterboard ROM_LOAD( "rb-026.10.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom labeled RB-026/U80b10 (red label), matches japan version of rb-026, really at location next to capacitor C5 on Z01DK-EXROM daughterboard @@ -3875,23 +3874,15 @@ ROM_START( bonkadv ) ROM_LOAD( "pc603108.102", 0x200000, 0x100000, CRC(58458985) SHA1(9a846d604ba901eb2a59d2b6cd9c42e3b43adb6a) ) ROM_END -DRIVER_INIT_MEMBER(kaneko16_state,bloodwar) -{ - machine().device("nvram")->set_base(m_nvram_save, sizeof(m_nvram_save)); - DRIVER_INIT_CALL(samplebank); - DRIVER_INIT_CALL(decrypt_toybox_rom); -} -DRIVER_INIT_MEMBER(kaneko16_state,gtmr2) +DRIVER_INIT_MEMBER( kaneko16_gtmr_state, gtmr ) { - machine().device("nvram")->set_base(m_nvram_save, sizeof(m_nvram_save)); DRIVER_INIT_CALL(samplebank); - DRIVER_INIT_CALL(decrypt_toybox_rom_alt); } -DRIVER_INIT_MEMBER(kaneko16_shogwarr_state,shogwarr) +DRIVER_INIT_MEMBER( kaneko16_shogwarr_state, shogwarr ) { // default sample banks kaneko16_common_oki_bank_w(machine(), "bank10", "oki1", 0, 0x30000, 0x10000); @@ -3900,7 +3891,7 @@ DRIVER_INIT_MEMBER(kaneko16_shogwarr_state,shogwarr) } -DRIVER_INIT_MEMBER(kaneko16_shogwarr_state,brapboys) +DRIVER_INIT_MEMBER( kaneko16_shogwarr_state, brapboys ) { // sample banking is different on brap boys for the music, why? GALs / PALs ? machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe00000, 0xe00001, write16_delegate(FUNC(kaneko16_shogwarr_state::brapboys_oki_bank_w),this)); @@ -3920,7 +3911,6 @@ DRIVER_INIT_MEMBER(kaneko16_shogwarr_state,brapboys) ***************************************************************************/ -/* Working games */ GAME( 1991, berlwall, 0, berlwall, berlwall, kaneko16_berlwall_state, berlwall, ROT0, "Kaneko", "The Berlin Wall", 0 ) GAME( 1991, berlwallt,berlwall, berlwall, berlwalt, kaneko16_berlwall_state, berlwall, ROT0, "Kaneko", "The Berlin Wall (bootleg ?)", 0 ) @@ -3930,18 +3920,18 @@ GAME( 1991, mgcrystlj,mgcrystl, mgcrystl, mgcrystl, kaneko16_state, kaneko16, GAME( 1992, blazeon, 0, blazeon, blazeon, kaneko16_state, kaneko16, ROT0, "Atlus", "Blaze On (Japan)", 0 ) GAME( 1992, explbrkr, 0, bakubrkr, bakubrkr, kaneko16_state, kaneko16, ROT90, "Kaneko", "Explosive Breaker", 0 ) GAME( 1992, bakubrkr, explbrkr, bakubrkr, bakubrkr, kaneko16_state, kaneko16, ROT90, "Kaneko", "Bakuretsu Breaker", 0 ) -GAME( 1994, bonkadv, 0, bonkadv , bonkadv, kaneko16_state, bloodwar, ROT0, "Kaneko", "B.C. Kid / Bonk's Adventure / Kyukyoku!! PC Genjin", 0 ) -GAME( 1994, bloodwar, 0, bloodwar, bloodwar, kaneko16_state, bloodwar, ROT0, "Kaneko", "Blood Warrior", 0 ) -GAME( 1994, oedfight, bloodwar, bloodwar, bloodwar, kaneko16_state, bloodwar, ROT0, "Kaneko", "Oedo Fight (Japan Bloodshed Ver.)", 0 ) -GAME( 1994, gtmr, 0, gtmr, gtmr, kaneko16_state, bloodwar, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/07/18)", 0 ) -GAME( 1994, gtmra, gtmr, gtmr, gtmr, kaneko16_state, bloodwar, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/06/13)", 0 ) -GAME( 1994, gtmre, gtmr, gtmr, gtmr, kaneko16_state, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally: Evolution Model!!! (94/09/06)", 0 ) -GAME( 1994, gtmrusa, gtmr, gtmr, gtmr, kaneko16_state, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally: U.S.A Version! (94/09/06)", 0 ) // U.S.A version seems part of the title, rather than region -GAME( 1995, gtmr2, 0, gtmr2, gtmr2, kaneko16_state, gtmr2, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/05/24)", 0 ) -GAME( 1995, gtmr2a, gtmr2, gtmr2, gtmr2, kaneko16_state, gtmr2, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/04/04)", 0 ) -GAME( 1995, gtmr2u, gtmr2, gtmr2, gtmr2, kaneko16_state, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally 2 USA (95/05/18)", 0 ) -// some functionality of the protection chip still needs investigating on these, but they seem to be playable +GAME( 1994, bonkadv, 0, bonkadv , bonkadv, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "B.C. Kid / Bonk's Adventure / Kyukyoku!! PC Genjin", 0 ) +GAME( 1994, bloodwar, 0, bloodwar, bloodwar, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "Blood Warrior", 0 ) +GAME( 1994, oedfight, bloodwar, bloodwar, bloodwar, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "Oedo Fight (Japan Bloodshed Ver.)", 0 ) +GAME( 1994, gtmr, 0, gtmr, gtmr, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/07/18)", 0 ) +GAME( 1994, gtmra, gtmr, gtmr, gtmr, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/06/13)", 0 ) +GAME( 1994, gtmre, gtmr, gtmre, gtmr, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "Great 1000 Miles Rally: Evolution Model!!! (94/09/06)", 0 ) +GAME( 1994, gtmrusa, gtmr, gtmre, gtmr, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "Great 1000 Miles Rally: U.S.A Version! (94/09/06)", 0 ) // U.S.A version seems part of the title, rather than region +GAME( 1995, gtmr2, 0, gtmr2, gtmr2, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/05/24)", 0 ) +GAME( 1995, gtmr2a, gtmr2, gtmr2, gtmr2, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/04/04)", 0 ) +GAME( 1995, gtmr2u, gtmr2, gtmr2, gtmr2, kaneko16_gtmr_state, gtmr, ROT0, "Kaneko", "Great 1000 Miles Rally 2 USA (95/05/18)", 0 ) + GAME( 1992, brapboys, 0, brapboys, brapboys, kaneko16_shogwarr_state, brapboys, ROT0, "Kaneko", "B.Rap Boys (World)", 0 ) GAME( 1992, brapboysj,brapboys, brapboys, brapboys, kaneko16_shogwarr_state, brapboys, ROT0, "Kaneko", "B.Rap Boys Special (Japan)", 0 ) GAME( 1992, brapboysu,brapboys, brapboys, brapboys, kaneko16_shogwarr_state, brapboys, ROT0, "Kaneko", "B.Rap Boys Special (US)", 0 ) diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c index a7438bb8c0c..18d4869f3c5 100644 --- a/src/mame/drivers/mpu4.c +++ b/src/mame/drivers/mpu4.c @@ -245,10 +245,7 @@ ROM_END -ROM_START( m4ambass ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ambassador.bin", 0x0000, 0x010000, CRC(310313ac) SHA1(8e11515615754090d716b428adc4e2718ee1211d) ) -ROM_END + ROM_START( m4amhiwy ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -358,10 +355,6 @@ ROM_END -ROM_START( m4atlan ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dat14.bin", 0x0000, 0x010000, CRC(d91fb9b2) SHA1(a06a868a17f84e2a012b0fe28025458e4f899c1d) ) -ROM_END ROM_START( m4bagtel ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -483,10 +476,6 @@ ROM_START( m4berser ) ROM_LOAD( "bessnd.p1", 0x0000, 0x080000, CRC(4eb15200) SHA1(1997a304df5219153418369bd8cc4fd169fb4bd4) ) ROM_END -ROM_START( m4bigbn ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dbb12.bin", 0x0000, 0x010000, CRC(7acec20d) SHA1(5f3a21227329608c0afdb5facac977dee94ab9f5) ) -ROM_END ROM_START( m4bigchd ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -521,10 +510,6 @@ ROM_START( m4blkcat ) ROM_END -ROM_START( m4bjc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dbc11.bin", 0x0000, 0x010000, CRC(ce28b677) SHA1(81006768e937b42f051e580f093b7182ad59236a) ) -ROM_END ROM_START( m4bjac ) @@ -646,10 +631,6 @@ ROM_START( m4brktak ) ROM_LOAD( "b-t v1-0 p2", 0x8000, 0x004000, CRC(7465cc6f) SHA1(f984e41c310bc58d7a668ec9f31c238fbf5de9c6) ) ROM_END -ROM_START( m4brdway ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dbr11.bin", 0x0000, 0x010000, CRC(5cbb8a0f) SHA1(bee8b2b7d70c24f98b7626caa278cb84136941a4) ) -ROM_END ROM_START( m4brook ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -790,74 +771,6 @@ ROM_START( m4calicl ) ROM_END -ROM_START( m4cashat ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "csa12y.p1", 0x0000, 0x020000, CRC(0374584a) SHA1(446e1d122d5b38e4ee11d98a4235d7198d98b541) ) - - ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "caa22ad.p1", 0x0000, 0x020000, CRC(b6274874) SHA1(7c2dc0f3e8e7bb76f3b90300141b320fa0ca39ac) ) - ROM_LOAD( "caa22b.p1", 0x0000, 0x020000, CRC(e7f6f5e5) SHA1(fc16b50ae00525a3c84c0cbf7b418898cc5db1bc) ) - ROM_LOAD( "caa22bd.p1", 0x0000, 0x020000, CRC(581b2b6f) SHA1(55f910c7646d5e7d3be6ffd5b4ec0f04fb98b82e) ) - ROM_LOAD( "caa22d.p1", 0x0000, 0x020000, CRC(cc494044) SHA1(13ff215f41833aa133fe9d120792c834d1e0752b) ) - ROM_LOAD( "caa22dh.p1", 0x0000, 0x020000, CRC(18ae14fa) SHA1(20a8f197075ec153ac116b9a85e3591d9d4d045d) ) - ROM_LOAD( "caa22dk.p1", 0x0000, 0x020000, CRC(71fa4ee7) SHA1(ddf2cee47f93cc5794d64922658d5892993c8d2f) ) - ROM_LOAD( "caa22dr.p1", 0x0000, 0x020000, CRC(c2f5f5d6) SHA1(aebedb84ae388a1f0c558d36893d1341c1959594) ) - ROM_LOAD( "caa22dy.p1", 0x0000, 0x020000, CRC(3b3de6b1) SHA1(d72ce7851969466063c6d7952787691a7c44c9dd) ) - ROM_LOAD( "caa22h.p1", 0x0000, 0x020000, CRC(a743ca70) SHA1(e4b5ee02524873c2ccb66b4bfca39464c23eb43e) ) - ROM_LOAD( "caa22k.p1", 0x0000, 0x020000, CRC(ce17906d) SHA1(18a302132e683b00509982c09c6e3b00ae1201a0) ) - ROM_LOAD( "caa22r.p1", 0x0000, 0x020000, CRC(7d182b5c) SHA1(801d1b032e94cc45302a9f84ba7f9ce2b74f6449) ) - ROM_LOAD( "caa22s.p1", 0x0000, 0x020000, CRC(e7edf653) SHA1(f2bdf45cc18ad4b45b47d2b2b4641460fcdfa963) ) - ROM_LOAD( "caa22y.p1", 0x0000, 0x020000, CRC(84d0383b) SHA1(791666ce17fd65067df446a3320efd22bce23925) ) - ROM_LOAD( "caa23ad.p1", 0x0000, 0x020000, CRC(a8641c35) SHA1(18dad4634e27e4f0b791c331b9efcf5e1d56d3bb) ) - ROM_LOAD( "caa23b.p1", 0x0000, 0x020000, CRC(a867c129) SHA1(9b0b577938ae0500a8b80211710ed5c0b2a597fa) ) - ROM_LOAD( "caa23bd.p1", 0x0000, 0x020000, CRC(46587f2e) SHA1(b14ed6b810ba3039824a0d13c5b75fedd40803b3) ) - ROM_LOAD( "caa23d.p1", 0x0000, 0x020000, CRC(83d87488) SHA1(1e13a47de4837e42650c6a4a13a838eb68d0beae) ) - ROM_LOAD( "caa23dh.p1", 0x0000, 0x020000, CRC(06ed40bb) SHA1(68f2923c4ecd91231cc66a4be7c797d7b2a46ae0) ) - ROM_LOAD( "caa23dk.p1", 0x0000, 0x020000, CRC(6fb91aa6) SHA1(5966be8aa9d5348bbdcb85b21acceaabc3c02602) ) - ROM_LOAD( "caa23dr.p1", 0x0000, 0x020000, CRC(dcb6a197) SHA1(a18af78ba604b53a2af1e9b8dfdc6858964f631d) ) - ROM_LOAD( "caa23dy.p1", 0x0000, 0x020000, CRC(257eb2f0) SHA1(0a5f9743afb5dd7392425951580532ea5f8f17f1) ) - ROM_LOAD( "caa23h.p1", 0x0000, 0x020000, CRC(e8d2febc) SHA1(14fe5e1699fef74145f2f6fff61e75fe3e3a0b3b) ) - ROM_LOAD( "caa23k.p1", 0x0000, 0x020000, CRC(8186a4a1) SHA1(0d8f59df0fb5a1044f6fb7d81f50f9c9b94add9b) ) - ROM_LOAD( "caa23r.p1", 0x0000, 0x020000, CRC(32891f90) SHA1(c832c2610606bc5a3beeff8f85c31af496b14427) ) - ROM_LOAD( "caa23s.p1", 0x0000, 0x020000, CRC(26a49cdd) SHA1(ee28a22eeb8c4e8ddf041122505f9846d6b6d7d6) ) - ROM_LOAD( "caa23y.p1", 0x0000, 0x020000, CRC(cb410cf7) SHA1(31d34a766939a9b2a23be00c2ffd658d854b3ab4) ) - ROM_LOAD( "casattack8.bin", 0x0000, 0x020000, CRC(e29ea247) SHA1(ad00ea3bfd2eab51b20fd786cb1ce84de0d98173) ) - ROM_LOAD( "catt15g", 0x0000, 0x020000, CRC(3f7a8863) SHA1(df8ed393aeb3a5ec3fd5bdc01c9dbbb630e6d254) ) - ROM_LOAD( "catt15t", 0x0000, 0x020000, CRC(c6760c3a) SHA1(b7f4a3af52faf7e430e5b4ec75e2dc97e3f07dc0) ) - ROM_LOAD( "csa11ad.p1", 0x0000, 0x020000, CRC(7c1daa59) SHA1(9c0479094ba2f985803e58360b738b0baa2e410a) ) - ROM_LOAD( "csa11b.p1", 0x0000, 0x020000, CRC(c740daba) SHA1(afa5bdf9f6aacb3a5126aa828e4d0d2518efe663) ) - ROM_LOAD( "csa11bd.p1", 0x0000, 0x020000, CRC(55fccfd1) SHA1(b7c748573e5fb32a6be5e069e7f165a11c62b7d5) ) - ROM_LOAD( "csa11d.p1", 0x0000, 0x020000, CRC(ecff6f1b) SHA1(3f37d8e20d5663e376c9dc5876a910a320edcf7d) ) - ROM_LOAD( "csa11dh.p1", 0x0000, 0x020000, CRC(bbc0acca) SHA1(80d95505041fd4c869f9d835d0527070f2f582d9) ) - ROM_LOAD( "csa11dk.p1", 0x0000, 0x020000, CRC(1549f044) SHA1(22bc130106a23d0e9c354b4aa97d7b7fd8776082) ) - ROM_LOAD( "csa11dr.p1", 0x0000, 0x020000, CRC(cf121168) SHA1(aa52b528ac565684399dc58aeb56691457727035) ) - ROM_LOAD( "csa11dy.p1", 0x0000, 0x020000, CRC(36da020f) SHA1(ca202c7127450d905e4717776e1f1d32fa89279b) ) - ROM_LOAD( "csa11h.p1", 0x0000, 0x020000, CRC(297cb9a1) SHA1(63460eed75242fc7c27ee1fc9da28221e7bb21b1) ) - ROM_LOAD( "csa11k.p1", 0x0000, 0x020000, CRC(87f5e52f) SHA1(30b7f8c17198045bba30aaabbe74b3c1dc7d0320) ) - ROM_LOAD( "csa11r.p1", 0x0000, 0x020000, CRC(5dae0403) SHA1(6f2238f0fe0797bf0926044bb251fed6f97dbed6) ) - ROM_LOAD( "csa11s.p1", 0x0000, 0x020000, CRC(bef7a119) SHA1(88fc2003a7adda928e2e0fb78db32c7ffcbda924) ) - ROM_LOAD( "csa11y.p1", 0x0000, 0x020000, CRC(a4661764) SHA1(740be82275358b8e3dcec5982b18a083d043d99d) ) - ROM_LOAD( "csa12ad.p1", 0x0000, 0x020000, CRC(b15c5c64) SHA1(7a8c7b929ecaf0e14d9a5d6cdea303f5e3fc1dec) ) - ROM_LOAD( "csa12b.p1", 0x0000, 0x020000, CRC(60529594) SHA1(a5e70b55b8df6a94c963b970c3a4398b64b0286b) ) - ROM_LOAD( "csa12bd.p1", 0x0000, 0x020000, CRC(98bd39ec) SHA1(ebc5a2690f1453adae0f8faee0159a01df91dd6e) ) - ROM_LOAD( "csa12d.p1", 0x0000, 0x020000, CRC(4bed2035) SHA1(d5438d372222c4258ffb6487ba64eed9ce190133) ) - ROM_LOAD( "csa12dh.p1", 0x0000, 0x020000, CRC(76815af7) SHA1(6edd4a866a1b038a51cfcc9ed8cef48886b393fb) ) - ROM_LOAD( "csa12dk.p1", 0x0000, 0x020000, CRC(d8080679) SHA1(92babec65fbcee37ff8136a5c4b1e5f4ecd2f5a6) ) - ROM_LOAD( "csa12dr.p1", 0x0000, 0x020000, CRC(0253e755) SHA1(742174137549147ff23fbc9ba1b835cbeaffa602) ) - ROM_LOAD( "csa12dy.p1", 0x0000, 0x020000, CRC(fb9bf432) SHA1(5f519871cc50cf9f49ec652d620267cd11ab155b) ) - ROM_LOAD( "csa12h.p1", 0x0000, 0x020000, CRC(8e6ef68f) SHA1(b6ac0993938bb065f02498a71628cf532085b347) ) - ROM_LOAD( "csa12k.p1", 0x0000, 0x020000, CRC(20e7aa01) SHA1(093786b0992c1d9ce5e2d2cfad1eaf1d8e6dc733) ) - ROM_LOAD( "csa12r.p1", 0x0000, 0x020000, CRC(fabc4b2d) SHA1(3710b7b4bf56e46c60a60fcae82342bf201e38dc) ) - ROM_LOAD( "csa12s.p1", 0x0000, 0x020000, CRC(61c8af36) SHA1(d81a4056b573194a8627a3618f805d379140ff6a) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "cas1.hex", 0x000000, 0x080000, CRC(4711c483) SHA1(af1ceb317b7bb1c2d0c3f7a99049679c356e1860) ) - ROM_LOAD( "cas2.hex", 0x080000, 0x080000, CRC(26ec235c) SHA1(51de955e5def47b82ac8891d09dc0b0e5e19c01d) ) -ROM_END - ROM_START( m4cashln ) ROM_REGION( 0x20000, "maincpu", 0 ) @@ -1037,11 +950,6 @@ ROM_START( m4chasei ) ROM_LOAD( "cha.s2", 0x080000, 0x080000, CRC(542863fa) SHA1(501d66b2badb5036bb5dd8bac3cdb681f630a982) ) ROM_END -ROM_START( m4cheryo ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dch14.bin", 0x0000, 0x010000, CRC(47333745) SHA1(479bec721ccaa2c4b11f3022d3d1eb12de92ac81) ) -ROM_END - ROM_START( m4c9c ) @@ -1293,10 +1201,6 @@ ROM_END -ROM_START( m4exprs ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dxp20.bin", 0x0000, 0x010000, CRC(09e68942) SHA1(2253ab76286b7c7af34ff99cc6d8e60b26edcacb) ) -ROM_END ROM_START( m4exgam ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -1445,11 +1349,6 @@ ROM_START( m4gbust ) ROM_END -ROM_START( m4giant ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dgi21.bin", 0x0000, 0x010000, CRC(07d8685a) SHA1(1b51db748543f2e4b6b7d7ad16b77864bbfe5a66) ) -ROM_END - ROM_START( m4gclue ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "c2002ad.p1", 0x0000, 0x010000, CRC(39507216) SHA1(dc49d9cea63cd5e88e4076bfca3aae88521056be) ) @@ -1607,10 +1506,6 @@ ROM_START( m4thehit ) ROM_LOAD( "dth17.bin", 0x0000, 0x010000, CRC(93947de4) SHA1(e04c34edf39d264e3fa91bf6dfd757088e1c08e4) ) ROM_END -ROM_START( m4holdon ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dho25.bin", 0x0000, 0x010000, CRC(9c22690d) SHA1(a2474dd1901628551804ba2bf652a8a5a1de5739) ) -ROM_END ROM_START( m4holdtm ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -1842,10 +1737,7 @@ ROM_START( m4lastrp ) ROM_END -ROM_START( m4libty ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dlt10.bin", 0x0000, 0x010000, CRC(25d91c01) SHA1(788ba8669bae5b4cdfb7231c7225d6745038a575) ) -ROM_END + ROM_START( m4lineup ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -2175,10 +2067,6 @@ ROM_END -ROM_START( m4meglnk ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dml20.bin", 0x0000, 0x010000, CRC(bbf48b45) SHA1(0ca9adf6a4171efad1af7b411e713dc35c654d30) ) -ROM_END ROM_START( m4milclb ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -2198,10 +2086,7 @@ ROM_END -ROM_START( m4multwy ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dmu17.bin", 0x0000, 0x010000, CRC(336b128e) SHA1(1d8268bfa0ffee62c76ffbf0ee89731626cf90ca) ) -ROM_END + ROM_START( m4nhtt ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -2263,59 +2148,6 @@ ROM_START( m4nudgew ) ROM_END -ROM_START( m4nnwwc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cn302c.p1", 0x0000, 0x010000, CRC(fd9de050) SHA1(14c80deba1396aa5be0a1d02964ecd4b946f2ee8) ) - - ROM_REGION( 0x10000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "cf302ad.p1", 0x0000, 0x010000, CRC(6c6aa0cd) SHA1(5a58a19c35b0b195f3b4e7a21f57ca61d45ec1fb) ) - ROM_LOAD( "cf302b.p1", 0x0000, 0x010000, CRC(9ca07939) SHA1(6eb0a5675bb803a11c4c874dc0516d94c48194b7) ) - ROM_LOAD( "cf302bd.p1", 0x0000, 0x010000, CRC(8ba33b7d) SHA1(ebfb62a390de512dc1482cfb9ab64196cbcc5831) ) - ROM_LOAD( "cf302c.p1", 0x0000, 0x010000, CRC(26be2dc4) SHA1(157ca96ebd36f2fbfb501945d0351cc3be38f3b7) ) - ROM_LOAD( "cf302d.p1", 0x0000, 0x010000, CRC(b52d5b47) SHA1(1583963b0bac1288bd20ed0550ad793be0980b03) ) - ROM_LOAD( "cf302dk.p1", 0x0000, 0x010000, CRC(c3d4c74d) SHA1(9a34c1f2fabb20da17988f63c9190ec4dd0b65fb) ) - ROM_LOAD( "cf302dr.p1", 0x0000, 0x010000, CRC(0b25e6b9) SHA1(5fd42abbe985dbdcfe09da50673551330dd26175) ) - ROM_LOAD( "cf302dy.p1", 0x0000, 0x010000, CRC(420b47c1) SHA1(0cb1a843cec3ace21d806fe98212250201a72f12) ) - ROM_LOAD( "cf302k.p1", 0x0000, 0x010000, CRC(07ca4c45) SHA1(8f6ee3c17527b05a6652845019919d490cc00c64) ) - ROM_LOAD( "cf302r.p1", 0x0000, 0x010000, CRC(e09f43bd) SHA1(65dcdf8d223936c4415ddc3f734b83367d6b8db7) ) - ROM_LOAD( "cf302s.p1", 0x0000, 0x010000, CRC(7a3e8ead) SHA1(590dc78b98f9928d6fa87ef661234f88dccfdff8) ) - ROM_LOAD( "cf302y.p1", 0x0000, 0x010000, CRC(c1063a32) SHA1(e1c8fc463b1a1db87110f272a8727435f9d9b97a) ) - ROM_LOAD( "ch302ad.p1", 0x0000, 0x010000, CRC(20405f4e) SHA1(7f87c881f428f704c98b0f4be459980062ccd29a) ) - ROM_LOAD( "ch302b.p1", 0x0000, 0x010000, CRC(cf7543ac) SHA1(2fe810741bfc18f800ad8028724218557d93a830) ) - ROM_LOAD( "ch302bd.p1", 0x0000, 0x010000, CRC(4c3e5664) SHA1(87a1f2133cad624683dac89f1da85d70b018f846) ) - ROM_LOAD( "ch302c.p1", 0x0000, 0x010000, CRC(dcde4d0a) SHA1(d1535f8754d2c0f8183c2c9db97edafdcdfed82e) ) - ROM_LOAD( "ch302d.p1", 0x0000, 0x010000, CRC(e1a02108) SHA1(fa8271a1246a3ae1289bb314494743cfec31f4e2) ) - ROM_LOAD( "ch302dk.p1", 0x0000, 0x010000, CRC(a3f636af) SHA1(c3de325ef5baa3cccd4c9997e615e87521b9e537) ) - ROM_LOAD( "ch302dr.p1", 0x0000, 0x010000, CRC(0620b0c0) SHA1(31aabba5f5b096254908221f884b5088a5a6e883) ) - ROM_LOAD( "ch302dy.p1", 0x0000, 0x010000, CRC(9b4b982e) SHA1(c7c9c501eb1c936ffb8bc2fe1fe9258e92b1d548) ) - ROM_LOAD( "ch302k.p1", 0x0000, 0x010000, CRC(908d8b10) SHA1(a80a5ce1a83d05f1e68e66d14bacc424bc833aa7) ) - ROM_LOAD( "ch302r.p1", 0x0000, 0x010000, CRC(c31c4c28) SHA1(e94c7588211044dae7c5ac587e6232b0ace2fc7b) ) - ROM_LOAD( "ch302s.p1", 0x0000, 0x010000, CRC(e7d0ceb2) SHA1(b75d58136b9e1e4bfde86730ef4e95bc98494813) ) - ROM_LOAD( "ch302y.p1", 0x0000, 0x010000, CRC(5e7764c6) SHA1(05a61a57ac906cbea1d72fffd1c8ea707852b895) ) - ROM_LOAD( "cn302ad.p1", 0x0000, 0x010000, CRC(7a6acd9b) SHA1(9a1f0ed19d66428c6b541ce1c8e169d9b4be3ef1) ) - ROM_LOAD( "cn302b.p1", 0x0000, 0x010000, CRC(b69cb520) SHA1(7313f2740960ca86ecea8609fe8fd58d84a3248c) ) - ROM_LOAD( "cn302bd.p1", 0x0000, 0x010000, CRC(ab828a0b) SHA1(53fa6dad9bdae1d46479596c98cf2c3f4454bb95) ) - ROM_LOAD( "cn302d.p1", 0x0000, 0x010000, CRC(8c6ac365) SHA1(a32b104968aaa4da060072a241a4c54fbdf3c404) ) - ROM_LOAD( "cn302dk.p1", 0x0000, 0x010000, CRC(24cbab96) SHA1(77fe3b21fc9470653bada31c700ce926d55ce82e) ) - ROM_LOAD( "cn302dr.p1", 0x0000, 0x010000, CRC(09069f0e) SHA1(68b2a34644ee1fca3ce5191e2f25aa808b85fb09) ) - ROM_LOAD( "cn302dy.p1", 0x0000, 0x010000, CRC(946db7e0) SHA1(fe29c1da478e3f1a53ad55c661ddcc7003679304) ) - ROM_LOAD( "cn302k.p1", 0x0000, 0x010000, CRC(7a3202f1) SHA1(2dd5e8195120b1efc3eb51214cf054432fc50aed) ) - ROM_LOAD( "cn302r.p1", 0x0000, 0x010000, CRC(e7cf9e1e) SHA1(66a1e54fc928c09d16f7ac1c002685eee841315f) ) - ROM_LOAD( "cn302s.p1", 0x0000, 0x010000, CRC(87703a1a) SHA1(6582ffa42a61b60e92e456a794c4c219a9901a1c) ) - ROM_LOAD( "cn302y.p1", 0x0000, 0x010000, CRC(7aa4b6f0) SHA1(2c185a9a7c8a4957fb5901305883661c41cb0cb4) ) - ROM_LOAD( "cnc03s.p1", 0x0000, 0x010000, CRC(57a03b29) SHA1(52cc8eb3f02c4a812de06ceec0588ca930e07876) ) - - ROM_REGION( 0x10000, "altbwb", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "cl__x__x.2_0", 0x0000, 0x010000, CRC(c3de4791) SHA1(220d32b961b6710d508c0c7e6b2d8e4d292746f4) ) - ROM_LOAD( "cl__x_dx.2_0", 0x0000, 0x010000, CRC(c79833f8) SHA1(b3519b55f6f2a4f081b69483ac0b8860aa8190d9) ) - ROM_LOAD( "cl__xa_x.2_0", 0x0000, 0x010000, CRC(4c3021a1) SHA1(7e7258808dd1693adb956a5e6b076f925eb0a026) ) - ROM_LOAD( "cl__xb_x.2_0", 0x0000, 0x010000, CRC(75a5add7) SHA1(6802ec81b4ebcde9ed014a0440fdc50211a8a350) ) - - - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - /* missing */ -ROM_END - ROM_START( m4nudshf ) @@ -2328,23 +2160,6 @@ ROM_START( m4nudshf ) ROM_LOAD( "nusxc.p1", 0x0000, 0x010000, CRC(e2557b45) SHA1(a9d1514d4fe3897f6fcef22a5039d6bdff8126ff) ) ROM_END -ROM_START( m4nudup ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dnu25.bin", 0x0000, 0x010000, CRC(c8d83f94) SHA1(fa0834d41c7506cab14e50b4036943a61411ed0e) ) -ROM_END - -ROM_START( m4num1 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dno17.bin", 0x0000, 0x010000, CRC(3b302160) SHA1(ff52803472e119aa46fe1cff134b5503858dfee1) ) -ROM_END - - - -ROM_START( m4omega ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dom23.bin", 0x0000, 0x010000, CRC(d51e078c) SHA1(2c38d271b9ce4731ce26106764529839b5110b3e) ) -ROM_END - ROM_START( m4ordmnd ) @@ -2696,10 +2511,6 @@ ROM_START( m4przwta ) ROM_LOAD( "pwnsnd.p2", 0x080000, 0x080000, CRC(d81dfc8f) SHA1(5fcfcba836080b5752911d69dfe650614acbf845) ) ROM_END -ROM_START( m4randr ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "drr22.bin", 0x0000, 0x010000, CRC(9fdcee66) SHA1(196c8d3ea4141c209ecc5b0acdab7a872f791dc0) ) -ROM_END @@ -2717,90 +2528,6 @@ ROM_END -ROM_START( m4rhr ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rhr15.hex", 0x0000, 0x010000, CRC(895ebbda) SHA1(f2117e743a30f3c9fc6af7fd7843bc333699db9d) ) - - ROM_REGION( 0x10000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "cr4ad.p1", 0x0000, 0x010000, CRC(b99b3d14) SHA1(2ff68b33881e9b3c2db48c335ccbad783013084a) ) - ROM_LOAD( "cr4b.p1", 0x0000, 0x010000, CRC(ae2691b8) SHA1(360c5c3d94bf85cf5ead114dd570ea6c61082aa9) ) - ROM_LOAD( "cr4bd.p1", 0x0000, 0x010000, CRC(9ba444bf) SHA1(adebf23827a5ac5e3a6d56e3352e0d3f3dc809c0) ) - ROM_LOAD( "cr4d.p1", 0x0000, 0x010000, CRC(ad9fe2a6) SHA1(e490c5c949559cc222d8491989196b10373ff043) ) - ROM_LOAD( "cr4dk.p1", 0x0000, 0x010000, CRC(200486b4) SHA1(3916e131801c44985668ccd57dc3e812268f9417) ) - ROM_LOAD( "cr4dy.p1", 0x0000, 0x010000, CRC(5b5ebe79) SHA1(6c72271258e6b951f2d6c815cfef5032e23cf7bc) ) - ROM_LOAD( "cr4k.p1", 0x0000, 0x010000, CRC(2cc956e8) SHA1(37fad3d3b9460763ba4d8f569ee71778f9907853) ) - ROM_LOAD( "cr4s.p1", 0x0000, 0x010000, CRC(836c3e49) SHA1(34dde2fd4fe82ab4a9e16dcf7915705f7b8a007f) ) - ROM_LOAD( "cr4y.p1", 0x0000, 0x010000, CRC(5a3588e8) SHA1(b25156f38fb67dc1f1e36a50af0a9b93882572d0) ) - ROM_LOAD( "crt03ad.p1", 0x0000, 0x010000, CRC(5b779273) SHA1(b9a278cc6b4af622af35f7d4fdacdca54c94a47f) ) - ROM_LOAD( "crt03b.p1", 0x0000, 0x010000, CRC(da5b3fa3) SHA1(66c570a193665ae0df4542112547fa6f5f9b7b79) ) - ROM_LOAD( "crt03bd.p1", 0x0000, 0x010000, CRC(6d6bff39) SHA1(08f4235bb2cadcc49c13991fe3e2c806c0be801d) ) - ROM_LOAD( "crt03c.p1", 0x0000, 0x010000, CRC(a5b38945) SHA1(31351667d471c107ade58e97fe5657632d91be80) ) - ROM_LOAD( "crt03d.p1", 0x0000, 0x010000, CRC(7f39cf9d) SHA1(6f8a1660a253cf7f49ba589b3847ca3dc5a9b4ee) ) - ROM_LOAD( "crt03dk.p1", 0x0000, 0x010000, CRC(32933785) SHA1(0ae9b8823ed8c914da0a64913afdf3c348142804) ) - ROM_LOAD( "crt03dr.p1", 0x0000, 0x010000, CRC(2381792a) SHA1(514b9e580d156ec3cfeb460d0895143368e9a360) ) - ROM_LOAD( "crt03dy.p1", 0x0000, 0x010000, CRC(3439dc85) SHA1(092dcd36e2ea43ecf62cfc1bf1498ea7777213dc) ) - ROM_LOAD( "crt03k.p1", 0x0000, 0x010000, CRC(0b841ae9) SHA1(5a78381122a3b718e3f212f30f76dc61e2e3ac5e) ) - ROM_LOAD( "crt03r.p1", 0x0000, 0x010000, CRC(2a8bd767) SHA1(a9547ef37da9494bd4ffe5fbb68eca67fe63c3ba) ) - ROM_LOAD( "crt03s.p1", 0x0000, 0x010000, CRC(2b4c24d2) SHA1(94b19b0e8090dbbde2c67d5949f19d4050972fb1) ) - ROM_LOAD( "crt03y.p1", 0x0000, 0x010000, CRC(40c3a105) SHA1(7ad988f71a3523ad2b19fa7d6cdf74d4328fb3e1) ) - ROM_LOAD( "cruad.p1", 0x0000, 0x010000, CRC(3a680f14) SHA1(cd3c2bf77b148ee4f4ce76b2c1bc142491117890) ) - ROM_LOAD( "crub.p1", 0x0000, 0x010000, CRC(4cee9020) SHA1(b919ba28294c39b49e4fcfa54a75e852f9c873ed) ) - ROM_LOAD( "crubd.p1", 0x0000, 0x010000, CRC(7184b193) SHA1(392cb5887ec988e3aa1cba2491885103da1e503a) ) - ROM_LOAD( "crud.p1", 0x0000, 0x010000, CRC(2528047f) SHA1(0b07470ff756b003c03fd4a7ff3c1d5f79e8307f) ) - ROM_LOAD( "crudk.p1", 0x0000, 0x010000, CRC(73465d95) SHA1(3eddaee64a681727743b23fd0bec0285ed59a5ef) ) - ROM_LOAD( "crudy.p1", 0x0000, 0x010000, CRC(e08696f9) SHA1(37c97bb22ae0d09657d7d589f76adfbe6fb642e0) ) - ROM_LOAD( "cruk.p1", 0x0000, 0x010000, CRC(168627f0) SHA1(c6c21f8442ff88736d3fd25860d815beb5a6b845) ) - ROM_LOAD( "crus.p1", 0x0000, 0x010000, CRC(bf2ff034) SHA1(7ee7ef30da4283dbb2b1b040fdd3313cb2e1b7e5) ) - ROM_LOAD( "cruy.p1", 0x0000, 0x010000, CRC(edf1346b) SHA1(c250178991885a922f676424e70c637e11089efb) ) - ROM_LOAD( "redhot8.bin", 0x0000, 0x010000, CRC(1dc62d7b) SHA1(640a5b29314a7dc67db271cce06c23c676d77eee) ) - ROM_LOAD( "rhr03.r", 0x0000, 0x010000, CRC(98d81b1e) SHA1(17ab0dced53be9755aada7954aff2dc2a6973190) ) - ROM_LOAD( "rhr10", 0x0000, 0x010000, CRC(2a18a033) SHA1(add907c5ab155c28142dcee57825059715afd80d) ) - ROM_LOAD( "rhr2015", 0x0000, 0x010000, CRC(dbfd3b95) SHA1(4fc7ae32f7d76be3d3d07d627391884bd4d6de09) ) - ROM_LOAD( "rhr2515", 0x0000, 0x010000, CRC(e4554c23) SHA1(6d977beb282fd638de3457e467e842ce79b5be7c) ) - ROM_LOAD( "rhr2pprg.bin", 0x0000, 0x010000, CRC(f97047b2) SHA1(d3ed8c93e405f9e7448b3924ff9aa84223b76046) ) - ROM_LOAD( "rhrb.p1", 0x0000, 0x010000, CRC(876fbe46) SHA1(1c7faf68ddef2ccbb8e3cd2cf5c709a7a4f4daef) ) - ROM_LOAD( "rhrbd.p1", 0x0000, 0x010000, CRC(f0fa0c7b) SHA1(96bfce8ea54e392a36cb8d82a032438bff992f07) ) - ROM_LOAD( "rhrc.p1", 0x0000, 0x010000, CRC(76a0e556) SHA1(1a9bae286ca40d8e72022645d006a219f113e31a) ) - ROM_LOAD( "rhrd.p1", 0x0000, 0x010000, CRC(58a5dd6f) SHA1(3646b8cb3d49e8c530e321daad052f27cdf4bb3d) ) - ROM_LOAD( "rhrk.p1", 0x0000, 0x010000, CRC(2212cebb) SHA1(224e7e243b17f3ca90a6daa529984e9a879ff266) ) - ROM_LOAD( "rhrs.p1", 0x0000, 0x010000, CRC(a0e5d5b6) SHA1(c730e6319bbea6f035fb3e249991983783ef5743) ) - ROM_LOAD( "rhtad.p1", 0x0000, 0x010000, CRC(ae3a31a0) SHA1(7e1f05a21cf5b3d2aceba755136c567b5d6ecfcd) ) - ROM_LOAD( "rhtb.p1", 0x0000, 0x010000, CRC(7ceb13c8) SHA1(f0f22149bd0fb12ef06c4c3ecba605df33f52c51) ) - ROM_LOAD( "rhtbd.p1", 0x0000, 0x010000, CRC(e4b290fc) SHA1(bf16d06429d67936118264f6c4f1ae637753d5db) ) - ROM_LOAD( "rhtd.p1", 0x0000, 0x010000, CRC(a08d508c) SHA1(10efbfb4fc4820313b410ec73f9c32ed048e2228) ) - ROM_LOAD( "rhtdk.p1", 0x0000, 0x010000, CRC(6495681a) SHA1(afd3451402e19c4c4bb8507447d6771323219e80) ) - ROM_LOAD( "rhtdr.p1", 0x0000, 0x010000, CRC(df9e5c83) SHA1(88586852c0773de4ee1b4c627eabf3de27e5c2a1) ) - ROM_LOAD( "rhtdy.p1", 0x0000, 0x010000, CRC(42f5746d) SHA1(964bd8801b44de9ea45c43b290b1cd6284e97578) ) - ROM_LOAD( "rhtk.p1", 0x0000, 0x010000, CRC(c3bfb174) SHA1(2579bf17252988de17a1367546ae187420f95cc5) ) - ROM_LOAD( "rhtr.p1", 0x0000, 0x010000, CRC(f53f4876) SHA1(feda495361d384c662554d445a95191a2c52a56a) ) - ROM_LOAD( "rhts.p1", 0x0000, 0x010000, CRC(fecb7076) SHA1(43086c6bfd878d0ca1ec8d45285d3e941a62ac8e) ) - ROM_LOAD( "rhty.p1", 0x0000, 0x010000, CRC(68546098) SHA1(57981c06efcb44915d8c2d4b6e1cba377c4a8590) ) - ROM_LOAD( "rhuad.p1", 0x0000, 0x010000, CRC(2093126b) SHA1(942994793697cec730c461c87b24a1429e46cc02) ) - ROM_LOAD( "rhub.p1", 0x0000, 0x010000, CRC(2be41a3a) SHA1(a50c7b5b93a619e541be480646517e278da8e579) ) - ROM_LOAD( "rhubd.p1", 0x0000, 0x010000, CRC(168f7f21) SHA1(9c9e09673bdadd146883a06a8db3c0ee4b304eab) ) - ROM_LOAD( "rhud.p1", 0x0000, 0x010000, CRC(71932d29) SHA1(e92af5cced251eea2e31c4c1968e77087c64b824) ) - ROM_LOAD( "rhudk.p1", 0x0000, 0x010000, CRC(8de54a5d) SHA1(a275d8c67d38c09f19ffa41e97fbcbea3d297aa4) ) - ROM_LOAD( "rhudr.p1", 0x0000, 0x010000, CRC(ba01ac84) SHA1(d03b3b321abd220f619724e99cc396c38418f2d3) ) - ROM_LOAD( "rhudy.p1", 0x0000, 0x010000, CRC(692bf4eb) SHA1(136f36073f236b48442a20e06aa51a978135f1b3) ) - ROM_LOAD( "rhuk.p1", 0x0000, 0x010000, CRC(9e4e1e91) SHA1(f671858c41dc0e55189e9a86fff1846938b5c2e5) ) - ROM_LOAD( "rhur.p1", 0x0000, 0x010000, CRC(6e9425e5) SHA1(1e2827f3469af15e8d390d9af839c7b474ea95a7) ) - ROM_LOAD( "rhus.p1", 0x0000, 0x010000, CRC(31e776fc) SHA1(e51799e9db5a08cbfb0b6c5466a0a085c3d91db4) ) - ROM_LOAD( "rhuy.p1", 0x0000, 0x010000, CRC(5d12178a) SHA1(18525828fac1931bb8e11f96b79db143ed533771) ) - - ROM_REGION( 0x10000, "altbwb", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "cr__x__x.5_0", 0x0000, 0x010000, CRC(278fe91e) SHA1(dcfed3a7796d1ee365e535115b66c7d6cbe0ab74) ) - ROM_LOAD( "cr__x_dx.2_0", 0x0000, 0x010000, CRC(73fb120c) SHA1(4c0f39253dee9b528763a9cb609dec31e8529713) ) - - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "redhotroll10.bin", 0x0000, 0x080000, CRC(64513503) SHA1(4233492f3f6e7ad8459f1ab733727910d3b4bcf8) ) - ROM_LOAD( "rhrsnd1.hex", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) - -ROM_END - ROM_START( m4rhrc ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -2991,50 +2718,6 @@ ROM_START( m4reeltm ) ROM_END -ROM_START( m4richfm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rfts.p1", 0x0000, 0x010000, CRC(2a747164) SHA1(a4c8e160f09ebea4fca6dd32ff020d3f1a4f1a1c) ) - - ROM_REGION( 0x10000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "rafc.p1", 0x0000, 0x010000, CRC(d92f602f) SHA1(c93131138deb4018d499b9b45c07d4517c5072b7) ) - ROM_LOAD( "rafd.p1", 0x0000, 0x010000, CRC(b0e9f470) SHA1(cad080a5d7f24968524fe10f6c43b088f35d7364) ) - ROM_LOAD( "rafs.p1", 0x0000, 0x010000, CRC(f312b2e3) SHA1(8bf2cb7b73cfc320143d05d25e28c15fb4f26045) ) - ROM_LOAD( "rafy.p1", 0x0000, 0x010000, CRC(a8812d45) SHA1(c0b89833f87ed90eb3e9c3299fcea362d501ed90) ) - ROM_LOAD( "rchfam8", 0x0000, 0x004000, CRC(55f16698) SHA1(9853b17bbb81371192a564376be7b3074908dbca) ) - ROM_LOAD( "rf5ad.p1", 0x0000, 0x010000, CRC(cd280292) SHA1(605d89608e106979229a00701a2e5b578df50d60) ) - ROM_LOAD( "rf5b.p1", 0x0000, 0x010000, CRC(e1edf753) SHA1(677f0397ec57422241f4669be610cffd33a9b44a) ) - ROM_LOAD( "rf5bd.p1", 0x0000, 0x010000, CRC(2d698365) SHA1(7f91cee0d34550aba9ac0f4ee398df4de6fd6f7e) ) - ROM_LOAD( "rf5d.p1", 0x0000, 0x010000, CRC(034cab0b) SHA1(79eaeb84377dbb8e6bda1dd2ae29a1f79656b9e4) ) - ROM_LOAD( "rf5dk.p1", 0x0000, 0x010000, CRC(14fc0f13) SHA1(a2b294da18c3f5bc9c81eb3f3af5ab5ca58c9cad) ) - ROM_LOAD( "rf5dy.p1", 0x0000, 0x010000, CRC(a2664c64) SHA1(2256b6e0d6472faa901348cb5be849ad012f1d16) ) - ROM_LOAD( "rf5k.p1", 0x0000, 0x010000, CRC(d8787b25) SHA1(885ac7ddd3de4cb475539d02aefbf38fed7c1f2c) ) - ROM_LOAD( "rf5s.p1", 0x0000, 0x010000, CRC(8d1ed193) SHA1(a4ca973dac8a8fd550bf7e57a8cdc627c28da4b8) ) - ROM_LOAD( "rf5y.p1", 0x0000, 0x010000, CRC(ad288548) SHA1(a7222ab5bffe8e5e0844f8e6f13e09afe74b08a8) ) - ROM_LOAD( "rf8b.p1", 0x0000, 0x010000, CRC(105c24e1) SHA1(cb417976a74441bf2ca888198b57fed81d758c15) ) - ROM_LOAD( "rf8c.p1", 0x0000, 0x010000, CRC(8924a706) SHA1(abb1a1f6cdeb15884dfa63fc04882f794453d4ec) ) - ROM_LOAD( "rft20.10", 0x0000, 0x010000, CRC(41e6ef75) SHA1(d836fdea5a89b845687d2ff929365bd81737c760) ) - ROM_LOAD( "rftad.p1", 0x0000, 0x010000, CRC(8553386f) SHA1(ad834d52e51c7f375a370dc6d8586668921a9795) ) - ROM_LOAD( "rftb.p1", 0x0000, 0x010000, CRC(0189cc2f) SHA1(62ccc85c50c56aa2e0bcbb42b5c24d402f00d366) ) - ROM_LOAD( "rftbd.p1", 0x0000, 0x010000, CRC(08351e03) SHA1(d08d38d46793828b147ccde8121fbb9bf422cd60) ) - ROM_LOAD( "rftd.p1", 0x0000, 0x010000, CRC(689f02ed) SHA1(1a30aac5454b0c477a698e9c573fe313bc1fe858) ) - ROM_LOAD( "rftdk.p1", 0x0000, 0x010000, CRC(098b88f5) SHA1(4559b561380055c429a5b4741326f64ad89d8481) ) - ROM_LOAD( "rftdy.p1", 0x0000, 0x010000, CRC(26b912f8) SHA1(1719d63b4a25293199b0729235beb5b93c484490) ) - ROM_LOAD( "rftk.p1", 0x0000, 0x010000, CRC(6a48bd98) SHA1(2f17194869ca008f7a2eb622bd3725bc91950a17) ) - ROM_LOAD( "rfty.p1", 0x0000, 0x010000, CRC(723fe46e) SHA1(51bb8aff358d527483eaf1b1e20606d94a937dc6) ) - ROM_LOAD( "rich2010", 0x0000, 0x010000, CRC(baecbdbc) SHA1(5fffecf3c91e832d3cfc13dbf5e6b74fc3d6a146) ) - - ROM_REGION( 0x10000, "altbwb", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "r&f5.10", 0x0000, 0x010000, CRC(45d493d0) SHA1(9a549821a005fa65c2eb8b35c5f15659bd897519) ) - ROM_LOAD( "r&f5.4", 0x0000, 0x010000, CRC(0441d833) SHA1(361910fd64bc7291f6200fe354c468d16e7d6c80) ) - ROM_LOAD( "r&f5.8t", 0x0000, 0x010000, CRC(525e2520) SHA1(84b2ff86d6a54ebb3bcf0138930b2619a8733161) ) - ROM_LOAD( "r&f55", 0x0000, 0x010000, CRC(6095a72b) SHA1(af25f7c2fb5241064ea995d35fe4fd2f242e3750) ) - - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "rfamouss1.hex", 0x000000, 0x080000, CRC(b237c8b8) SHA1(b2322d68fe57cca0ed49b01ae0d3a0e93a623eac) ) - ROM_LOAD( "rfamouss2.hex", 0x080000, 0x080000, CRC(12c295d5) SHA1(0758354cfb5242b4ce3f5f25c3458d91f4b4a1ec) ) -ROM_END - ROM_START( m4ringfr ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "rof03s.p1", 0x0000, 0x020000, CRC(4b4703fe) SHA1(853ce1f5932e09af2b5f3b5314709f13aa35cf19) ) @@ -3148,10 +2831,6 @@ ROM_START( m4salsa ) ROM_END -ROM_START( m4samu ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dsm10.bin", 0x0000, 0x010000, CRC(c2a10732) SHA1(9a9dcd0445662d301320a7fb0f4e5da8a719a86b) ) -ROM_END @@ -3268,10 +2947,6 @@ ROM_END -ROM_START( m4stards ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dsd13.bin", 0x0000, 0x010000, CRC(a17fbe93) SHA1(f2a9e0c059f309f63e6da3e47740644ad4839fa8) ) -ROM_END @@ -3373,130 +3048,11 @@ ROM_START( m4suphv ) ROM_END -ROM_START( m4supst ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cs4b.p1", 0x0000, 0x010000, CRC(fb0aac20) SHA1(3a40be78f7add7905afa8d1226ad41bf0041a2ec) ) - - ROM_REGION( 0x10000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "cs4ad.p1", 0x0000, 0x010000, CRC(c0e81dfd) SHA1(2da922df6c102f8d0f1678e974df9e4d356e5133) ) - ROM_LOAD( "cs4bd.p1", 0x0000, 0x010000, CRC(dafc7ed6) SHA1(3e92d5557d2f587132f4b3b633978ab7d4333fcc) ) - ROM_LOAD( "cs4d.p1", 0x0000, 0x010000, CRC(c1fcda65) SHA1(11f2a45f3f821eac6b98b1988824d77aada3d759) ) - ROM_LOAD( "cs4dk.p1", 0x0000, 0x010000, CRC(30a46171) SHA1(ef1f2951b478ba2b2d42dfb0ec4ed59f28d79972) ) - ROM_LOAD( "cs4dy.p1", 0x0000, 0x010000, CRC(72b15ce7) SHA1(c451ac552ffe9bcde1990b97a60b0ed8918bf8c8) ) - ROM_LOAD( "cs4k.p1", 0x0000, 0x010000, CRC(f252f9ea) SHA1(251998ea752deb4f4a05c833b19e89d334334fac) ) - ROM_LOAD( "cs4s.p1", 0x0000, 0x010000, CRC(10f7b88d) SHA1(0aac0ebbe0ce04db49fc7de4325eea9abdfd74b5) ) - ROM_LOAD( "cs4y.p1", 0x0000, 0x010000, CRC(a464d09d) SHA1(d38c0f8c7c9b7f560b685781a7dcf82bc031a191) ) - ROM_LOAD( "csp02ad.p1", 0x0000, 0x010000, CRC(96bbbc26) SHA1(ca127151c771963c07f0f368102ede8095d11863) ) - ROM_LOAD( "csp02b.p1", 0x0000, 0x010000, CRC(913ea9ff) SHA1(182bcc007d007a1c7f57767358600d2de7d1e3cf) ) - ROM_LOAD( "csp02bd.p1", 0x0000, 0x010000, CRC(ad0137a1) SHA1(d043372ba09081dd4e807f009a6460b4b30e6453) ) - ROM_LOAD( "csp02c.p1", 0x0000, 0x010000, CRC(fdad4b22) SHA1(4f19922821a9d1663bd9355447209384272e7542) ) - ROM_LOAD( "csp02d.p1", 0x0000, 0x010000, CRC(9717a58d) SHA1(8bc495dc4db0041718ae2db14a01a789616c8764) ) - ROM_LOAD( "csp02dk.p1", 0x0000, 0x010000, CRC(cd8aa547) SHA1(a13dcb75507878cb133b9ef739fb41d932d4eed5) ) - ROM_LOAD( "csp02dr.p1", 0x0000, 0x010000, CRC(6656e588) SHA1(4001ec0d1145ef0107e62ccda61e22ba8b0cdc92) ) - ROM_LOAD( "csp02dy.p1", 0x0000, 0x010000, CRC(14ff7e1d) SHA1(455b6ff93a5f25dc5f43c62a6c1d9a18de1ce94b) ) - ROM_LOAD( "csp02k.p1", 0x0000, 0x010000, CRC(c438c754) SHA1(c1d2e664091c1eaf1e4d964a3bfd446b11d7ba41) ) - ROM_LOAD( "csp02r.p1", 0x0000, 0x010000, CRC(4abe0f80) SHA1(67f7f9946a26b5097b6ce719dbd599790078f365) ) - ROM_LOAD( "csp02s.p1", 0x0000, 0x010000, CRC(47c0068d) SHA1(5480a519a6e6df2757e66cfcf904dd6c2873cc43) ) - ROM_LOAD( "csp02y.p1", 0x0000, 0x010000, CRC(d51d18d8) SHA1(a65fd4326872775364d2d7a886e98a1ee07596b7) ) - ROM_LOAD( "cst04ad.p1", 0x0000, 0x010000, CRC(b946d40d) SHA1(c03fa48f8b64c3cf4504f472f21a38f8a55f12e6) ) - ROM_LOAD( "cst04b.p1", 0x0000, 0x010000, CRC(45333d45) SHA1(d6ccb39ee9b316772052f856f79424c34ff273c5) ) - ROM_LOAD( "cst04bd.p1", 0x0000, 0x010000, CRC(03b56b07) SHA1(903b24ab93f9584f228278729b5a99451b8e81f7) ) - ROM_LOAD( "cst04c.p1", 0x0000, 0x010000, CRC(9c000883) SHA1(da0a9f1afc218c14a57a46fe2ea63e166f4e3739) ) - ROM_LOAD( "cst04d.p1", 0x0000, 0x010000, CRC(32281bec) SHA1(a043fb615c2a66d23d85ae80cb0b1705523f411c) ) - ROM_LOAD( "cst04dk.p1", 0x0000, 0x010000, CRC(9345e7b7) SHA1(8bff80d2b847fbae050f77215efe3e55b98a4657) ) - ROM_LOAD( "cst04dr.p1", 0x0000, 0x010000, CRC(8d397063) SHA1(45642de2629e89e2495d1cbd5aed90cf2a4cf1c1) ) - ROM_LOAD( "cst04dy.p1", 0x0000, 0x010000, CRC(4a303ced) SHA1(6c12b956358753c8bf99bd3316646721c9ec2585) ) - ROM_LOAD( "cst04k.p1", 0x0000, 0x010000, CRC(a59584f5) SHA1(8cfcf069ad905277f1925e682602e129e97e619b) ) - ROM_LOAD( "cst04r.p1", 0x0000, 0x010000, CRC(c9771997) SHA1(ed98650c0d73f2db0fe380777d10404ccabced31) ) - ROM_LOAD( "cst04s.p1", 0x0000, 0x010000, CRC(cd5b848d) SHA1(4dd3dd1c883552c7b5c475156308604b12eff75a) ) - ROM_LOAD( "cst04y.p1", 0x0000, 0x010000, CRC(7adc00ae) SHA1(5688f0876c18faf474a6d8487fdd85f20f9fc144) ) - ROM_LOAD( "csu03ad.p1", 0x0000, 0x010000, CRC(5d7b6393) SHA1(19c24f4113efb6a1499936e5f89a8ad859ff8df0) ) - ROM_LOAD( "csu03b.p1", 0x0000, 0x010000, CRC(57826c2a) SHA1(b835eb3066fec468ab55851d1dd023484e2d57e3) ) - ROM_LOAD( "csu03bd.p1", 0x0000, 0x010000, CRC(092e7039) SHA1(36a7c18872e4012e3acce0d01d2cc2c201a3c867) ) - ROM_LOAD( "csu03c.p1", 0x0000, 0x010000, CRC(b30a3c00) SHA1(066b0007092720a6f89edf8eafffe2f8fd83edbc) ) - ROM_LOAD( "csu03d.p1", 0x0000, 0x010000, CRC(03ff9d99) SHA1(390087c136e4c314de9086adb7b020e8adabe34a) ) - ROM_LOAD( "csu03dk.p1", 0x0000, 0x010000, CRC(cf7e61ff) SHA1(0e328ce5ff86770fabaf91d48a8de039323d112a) ) - ROM_LOAD( "csu03dr.p1", 0x0000, 0x010000, CRC(00d700d1) SHA1(8bcc3c470c42780b1f1404fc6ff53e6ec7d89ad0) ) - ROM_LOAD( "csu03dy.p1", 0x0000, 0x010000, CRC(8ec77c04) SHA1(64708460439a7e124f90eef6b9628e57f7d78ebc) ) - ROM_LOAD( "csu03k.p1", 0x0000, 0x010000, CRC(701a0837) SHA1(31237fd108b354fb2afc449efa3a53dee2cf7be8) ) - ROM_LOAD( "csu03r.p1", 0x0000, 0x010000, CRC(d86a6895) SHA1(2c42bcf5de739f01e18bd1b766eec26a6da5aa52) ) - ROM_LOAD( "csu03s.p1", 0x0000, 0x010000, CRC(197bb032) SHA1(06e98713ff5fc72bffccde1cc92fc8cb63665fad) ) - ROM_LOAD( "csu03y.p1", 0x0000, 0x010000, CRC(bee0e7e1) SHA1(6a1ab766af9147f0d4a7c1d2a95c9a6e3e3f4986) ) - ROM_LOAD( "eeh02ad.p1", 0x0000, 0x010000, CRC(25874a6d) SHA1(12e4fb36d231c3104df3613dd3851f411a876eb0) ) - ROM_LOAD( "eeh02b.p1", 0x0000, 0x010000, CRC(ef280a8a) SHA1(912a825e69482a540cf0cadfc49a37a2822f3ecb) ) - ROM_LOAD( "eeh02bd.p1", 0x0000, 0x010000, CRC(5f126810) SHA1(8fe1cbc7d93e2db35225388ee0773f6a98762ca1) ) - ROM_LOAD( "eeh02c.p1", 0x0000, 0x010000, CRC(3f49b936) SHA1(a0d07e0101f8cc38ebc28cfc1b239793b961f5ab) ) - ROM_LOAD( "eeh02d.p1", 0x0000, 0x010000, CRC(14dcfe63) SHA1(3ac77c9aa9b3b77fb1df98d2b427564be41dca78) ) - ROM_LOAD( "eeh02dk.p1", 0x0000, 0x010000, CRC(81a39421) SHA1(6fa43e8cb83e7fb940cc224eed5ee3f254c18c4d) ) - ROM_LOAD( "eeh02dr.p1", 0x0000, 0x010000, CRC(c7755823) SHA1(05626ed49a2f800555f3f404273fa910b68de75c) ) - ROM_LOAD( "eeh02dy.p1", 0x0000, 0x010000, CRC(5a1e70cd) SHA1(88bb29fd52d2331b72bb04652f9578f2c2f5a9ac) ) - ROM_LOAD( "eeh02k.p1", 0x0000, 0x010000, CRC(b78882ec) SHA1(79c6a6d2cfe113743d3a93eb825fccab2b025933) ) - ROM_LOAD( "eeh02r.p1", 0x0000, 0x010000, CRC(ff54884e) SHA1(2783f0e562e946597288ddbec4dcd1101e188d1d) ) - ROM_LOAD( "eeh02s.p1", 0x0000, 0x010000, CRC(c5856c3c) SHA1(5a0e5a7188913e1c36eac894bbeeae47a4f3589c) ) - ROM_LOAD( "eeh02y.p1", 0x0000, 0x010000, CRC(623fa0a0) SHA1(5a49cea5e94afccbf965cbda7a8d9a74f9734a6e) ) - ROM_LOAD( "sp8b.p1", 0x0000, 0x010000, CRC(3b12d7e8) SHA1(92a15e5f8391d74c192e8386abdb8853a76bff05) ) - ROM_LOAD( "sp8bd.p1", 0x0000, 0x010000, CRC(e0d7f789) SHA1(f6157469e43059adb44e7f2eff5bf73861d5636c) ) - ROM_LOAD( "sp8c.p1", 0x0000, 0x010000, CRC(da0af8ae) SHA1(91042506050967c508b30c3dc2bfa6f6a6e8b532) ) - ROM_LOAD( "sp8dk.p1", 0x0000, 0x010000, CRC(92432e8f) SHA1(5e6df963ccf92a89c71ae1edd7b71ec1e3f97522) ) - ROM_LOAD( "sp8k.p1", 0x0000, 0x010000, CRC(e39f74d8) SHA1(9d776e7d67859f4514c69fc4f9f43160da9a2ca1) ) - ROM_LOAD( "sp8s.p1", 0x0000, 0x010000, CRC(fab99461) SHA1(82f8ca06bb04396f86124dfe4de46265b2edc393) ) - ROM_LOAD( "spsbd.p1", 0x0000, 0x010000, CRC(b621b32d) SHA1(9aab0e074c120cb12beac585f9c513053502955c) ) - ROM_LOAD( "spsc.p1", 0x0000, 0x010000, CRC(8c7a24f5) SHA1(f86be164e05235281fb275e950cedaf6f630d29a) ) - ROM_LOAD( "spsd.p1", 0x0000, 0x010000, CRC(d34d3617) SHA1(5373335557e4bbb21264bbd9d0fbaf3640f9ab35) ) - ROM_LOAD( "spsdk.p1", 0x0000, 0x010000, CRC(cf2fd3e7) SHA1(50d3c0851bec90037cd65a5c55654b0e688b96ca) ) - ROM_LOAD( "spsk.p1", 0x0000, 0x010000, CRC(873a1414) SHA1(47b2bbef168382112cd12ace2d6a58695f4b0254) ) - ROM_LOAD( "spss.p1", 0x0000, 0x010000, CRC(5e28bdb7) SHA1(3865c891178feb744ad11b2dea491350efc48bea) ) - ROM_LOAD( "stc02ad.p1", 0x0000, 0x010000, CRC(d9a2b4d1) SHA1(9a6862a44817b3ec465f126fd2a5d2c9825d846e) ) - ROM_LOAD( "stc02b.p1", 0x0000, 0x010000, CRC(bd2e8e6c) SHA1(71670dccedc2f47888c1205de59a81677ffeabaa) ) - ROM_LOAD( "stc02bd.p1", 0x0000, 0x010000, CRC(efbed99b) SHA1(62d80248bb666bfb49ed7546936da744e43fa870) ) - ROM_LOAD( "stc02c.p1", 0x0000, 0x010000, CRC(9d342386) SHA1(b50f64d66d89dbd3dee1ff2cb430a2caa050e7c8) ) - ROM_LOAD( "stc02d.p1", 0x0000, 0x010000, CRC(c43f6e65) SHA1(0278cf389f8289d7b819125ae0a612c81ea75fab) ) - ROM_LOAD( "stc02dk.p1", 0x0000, 0x010000, CRC(36576570) SHA1(214a57344d8e161b3dbd07457291ed9bce011842) ) - ROM_LOAD( "stc02dr.p1", 0x0000, 0x010000, CRC(450c553f) SHA1(46050285eeb10dc368ad501c61d41351c4e2fcde) ) - ROM_LOAD( "stc02dy.p1", 0x0000, 0x010000, CRC(d8677dd1) SHA1(18abc0a1d28458c3b26a0d1dbf6ca8aba3f3e240) ) - ROM_LOAD( "stc02k.p1", 0x0000, 0x010000, CRC(c6e8d110) SHA1(9e05961b9bba502f52a03de27e608afc52f6c025) ) - ROM_LOAD( "stc02r.p1", 0x0000, 0x010000, CRC(918d769f) SHA1(2a4438828d9e7efd3a94eaebe56585e7ae23d9d1) ) - ROM_LOAD( "stc02s.p1", 0x0000, 0x010000, CRC(9c50fff7) SHA1(3468340d2d04cbdecd669817f8a9c4028e301eeb) ) - ROM_LOAD( "stc02y.p1", 0x0000, 0x010000, CRC(0ce65e71) SHA1(02ae1fd5a41ab5a96ddcfe1cf3e8567561291961) ) - ROM_LOAD( "sttad.p1", 0x0000, 0x010000, CRC(af615f05) SHA1(b2c1b8ba086a4d33f1269c28d4caa7286a27f085) ) - ROM_LOAD( "sttb.p1", 0x0000, 0x010000, CRC(3119149f) SHA1(e749fcc5f95ccd29f42bfd0b140cf3cbb84d9599) ) - ROM_LOAD( "sttbd.p1", 0x0000, 0x010000, CRC(cfddaf39) SHA1(0f24b5e691e1d43f6604087f0b3bc2571d2c4002) ) - ROM_LOAD( "sttd.p1", 0x0000, 0x010000, CRC(8bc2498c) SHA1(a9cd3a6968186818a8c4033b1f304eac152244cf) ) - ROM_LOAD( "sttdk.p1", 0x0000, 0x010000, CRC(39903dde) SHA1(f92c4380051ada7bbc5739550c8dfdd6ddaaa3fe) ) - ROM_LOAD( "sttdr.p1", 0x0000, 0x010000, CRC(866f69f0) SHA1(ef9717f89b9718f1bcf8d3592f240ec9cf48bca3) ) - ROM_LOAD( "sttdy.p1", 0x0000, 0x010000, CRC(74ebd933) SHA1(b308c8cae2c74e4e07c6e4afb505068220714824) ) - ROM_LOAD( "sttk.p1", 0x0000, 0x010000, CRC(461db2f5) SHA1(8b97342d7ebfb33aa6aff246e8d799f4435788b7) ) - ROM_LOAD( "sttr.p1", 0x0000, 0x010000, CRC(2591f6ec) SHA1(3d83d930e41e164e71d67b529967320e1eee8354) ) - ROM_LOAD( "stts.p1", 0x0000, 0x010000, CRC(a5e29c32) SHA1(8ba2f76505c2f40493c918b9d9524fa67999f7c1) ) - ROM_LOAD( "stty.p1", 0x0000, 0x010000, CRC(7306fab9) SHA1(0da1612490fcff9b7a17f97190b6b561016c3b18) ) - ROM_LOAD( "stuad.p1", 0x0000, 0x010000, CRC(e7a01b7b) SHA1(3db08800a35d440f012ca69d84c30465818b4993) ) - ROM_LOAD( "stub.p1", 0x0000, 0x010000, CRC(9044badf) SHA1(af8e218e3dc457bb5f24e3f2d74a8639466c3f11) ) - ROM_LOAD( "stubd.p1", 0x0000, 0x010000, CRC(438e1687) SHA1(5e0f27e95bf861d4edc55709efc79496c7353e8b) ) - ROM_LOAD( "stud.p1", 0x0000, 0x010000, CRC(1cbe3bec) SHA1(005dde84e57c5517fc6d6b975cc882dae11cbf63) ) - ROM_LOAD( "studk.p1", 0x0000, 0x010000, CRC(0931d501) SHA1(afa078248230cbc0acc9d3af641ec63ed0424a75) ) - ROM_LOAD( "studr.p1", 0x0000, 0x010000, CRC(e06e1c59) SHA1(f4454f640335dbf6f9b8154d7805102253f605b4) ) - ROM_LOAD( "study.p1", 0x0000, 0x010000, CRC(8b4275e0) SHA1(267a9d2eddf41b8838eeaee06bba45f0a8b8451f) ) - ROM_LOAD( "stuk.p1", 0x0000, 0x010000, CRC(a66fb54f) SHA1(4351edbf6c5de817cf6972885ff1f6c7df837c37) ) - ROM_LOAD( "stur.p1", 0x0000, 0x010000, CRC(eeb3bfed) SHA1(87a753511fb384a505d3cc69ca67fe4e288cf3bb) ) - ROM_LOAD( "stus.p1", 0x0000, 0x010000, CRC(19aca6ad) SHA1(1583e76a4e1058fa97efdd9a7e6f7c4fe806b2f4) ) - ROM_LOAD( "stuy.p1", 0x0000, 0x010000, CRC(e6b2b76f) SHA1(bf251b751e6a8d2764c63e92d48e1a64666b9a47) ) - ROM_LOAD( "superstreak1deb.bin", 0x0000, 0x010000, CRC(892ccad9) SHA1(c88daadd9778e363e154b674b57ccd07cea59836) ) - ROM_LOAD( "supst2515", 0x0000, 0x010000, CRC(c073a249) SHA1(4ae37eb61dd5e50687f433fb89f65b97926b7358) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ss.chr", 0x0000, 0x000048, CRC(bd206d57) SHA1(ecfe38d9b4823ae6bc2fc440c243e6ae5e2edaa4) ) -ROM_END -ROM_START( m4taj ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tajmahal.bin", 0x0000, 0x010000, CRC(c2db162a) SHA1(358e7bb858f0a34d39f43494cea13bf00a67e48e) ) -ROM_END - - ROM_START( m4take5 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "take5.bin", 0x0000, 0x020000, CRC(24beb7d6) SHA1(746beccaf57fd0c54c8cf8d742b8ef50563a40fd) ) @@ -3558,12 +3114,9 @@ ROM_START( m4tpcl ) ROM_LOAD( "ctp12s.p1", 0x0000, 0x020000, CRC(5f0bbd2a) SHA1(ba1fa09ea7b4713a99b2033bdbbf6b15f973dcca) ) ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ -// ROM_LOAD( "ctp1.2", 0x0000, 0x00df8f, CRC(5b32661f) SHA1(905eed53c50e54d46ead04277072dde5cbb40510) ) // just a zipped version of other file -// ROM_LOAD( "ctp1.2s", 0x0000, 0x00e131, CRC(bca78748) SHA1(a6f03131dfaa4d7d7ee2f32b6fda7aa11dcf5dc9) ) // just a zipped version of other file ROM_LOAD( "ctp13d.p1", 0x0000, 0x020000, CRC(a0f081b9) SHA1(794bba6ed86c3f332165c4b3224315256c939926) ) ROM_LOAD( "ctp13f.p1", 0x0000, 0x020000, CRC(dd7d94fd) SHA1(127ef8159facf647dff37109bcbb94311a8343f1) ) ROM_LOAD( "ctp13s.p1", 0x0000, 0x020000, CRC(f0a69f92) SHA1(cd34fb26ecbe6a6e8602a8549c5f331a525567df) ) -// ROM_LOAD( "ntp0.2", 0x0000, 0x00d3b9, CRC(dfd82d90) SHA1(0c591780aed258627135c583c700b6d9a76908b5) ) // just a zipped version of other file ROM_LOAD( "ntp02.p1", 0x0000, 0x020000, CRC(6063e27d) SHA1(c99599fbc7146d8fcf62432994098dd51250b17b) ) ROM_REGION( 0x48, "fakechr", 0 ) @@ -3659,22 +3212,10 @@ ROM_START( m4toptim ) ROM_END -ROM_START( m4tricol ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtc25.bin", 0x0000, 0x010000, CRC(d3318dde) SHA1(19194d206deee920a1b0122dddc3d5bc0a7a48c5) ) -ROM_END -ROM_START( m4tridic ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "trp.bin", 0x0000, 0x010000, CRC(d91fb9b2) SHA1(a06a868a17f84e2a012b0fe28025458e4f899c1d) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "tdice.chr", 0x0000, 0x000048, CRC(6d28754a) SHA1(beb7724e9f621d315b2f16abfd3bbc6a99077a05) ) -ROM_END - ROM_START( m4tropcl ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -3712,17 +3253,6 @@ ROM_START( m4tbplay ) ROM_END -ROM_START( m4tbreel ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtr12.bin", 0x0000, 0x010000, CRC(cdb63ef5) SHA1(748cc06e6a274b125d189dd66f2adad8bd2fb166) ) // aka dtr31.dat -ROM_END - - - -ROM_START( m4tbrldx ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtv30.dat", 0x0000, 0x010000, CRC(c314846c) SHA1(bfa6539b204477a04a5bbc8d13c3a666c52b597b) ) -ROM_END @@ -3750,10 +3280,6 @@ ROM_END -ROM_START( m4twilgt ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtl22.bin", 0x0000, 0x010000, CRC(ed4c8b6a) SHA1(7644046a273304104eaa6260f6cc75950592d4b6) ) -ROM_END ROM_START( m4twintm ) @@ -3792,69 +3318,6 @@ ROM_START( m4univ ) ROM_END -ROM_START( m4uuaw ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "uua21h.p1", 0x0000, 0x020000, CRC(199e6dae) SHA1(ecd95ba2c2255afbaa8df96d625a8bfc97e4d3bc) ) - - ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */ - ROM_LOAD( "upa15g", 0x0000, 0x020000, CRC(d20b8b92) SHA1(6fcddc781c204dfd34de2c4e4ce0ec35fb3ec4e0) ) - ROM_LOAD( "upa15t", 0x0000, 0x020000, CRC(85e3e82a) SHA1(e90183fab082f159d76ea14da794d52ee6ab8200) ) - ROM_LOAD( "ups21ad.p1", 0x0000, 0x020000, CRC(c19fa891) SHA1(c2772ec20a65ce999d901e8c873ec687113b18d4) ) - ROM_LOAD( "ups21b.p1", 0x0000, 0x020000, CRC(01320407) SHA1(a3273c59733e42013c3448b2a5c7c575ec0182b9) ) - ROM_LOAD( "ups21bd.p1", 0x0000, 0x020000, CRC(2fa3cb8a) SHA1(8df994ce93fc6f0df27a6ee73676d9ee73593091) ) - ROM_LOAD( "ups21d.p1", 0x0000, 0x020000, CRC(2a8db1a6) SHA1(873ab3757920c9153c1542748a74b36ce5e190c2) ) - ROM_LOAD( "ups21dh.p1", 0x0000, 0x020000, CRC(7bcfbb46) SHA1(b93dfa71e3ec0ea96eaf2db4cd382b0a2852a1ff) ) - ROM_LOAD( "ups21dk.p1", 0x0000, 0x020000, CRC(0642ae02) SHA1(8898341f8dc4f4c8c45ce6d04a01bd919cb0548a) ) - ROM_LOAD( "ups21dr.p1", 0x0000, 0x020000, CRC(b54d1533) SHA1(1f9220342dcab675b04895f69a7ca75579ba729f) ) - ROM_LOAD( "ups21dy.p1", 0x0000, 0x020000, CRC(4c850654) SHA1(21f386060301adef646fe469c1fcfb002d3e3424) ) - ROM_LOAD( "ups21h.p1", 0x0000, 0x020000, CRC(555e74cb) SHA1(14246b54839eb334576a119d7c87901f3b2f25ad) ) - ROM_LOAD( "ups21k.p1", 0x0000, 0x020000, CRC(28d3618f) SHA1(186337119e4b663dadc129533ce8a913013390a9) ) - ROM_LOAD( "ups21r.p1", 0x0000, 0x020000, CRC(9bdcdabe) SHA1(db0bb90705abec92a220a3dbe0ea69266d5e0558) ) - ROM_LOAD( "ups21s.p1", 0x0000, 0x020000, CRC(c4a8a542) SHA1(61063d55c6017cf17d704df576cb62da5bd75820) ) - ROM_LOAD( "ups21y.p1", 0x0000, 0x020000, CRC(6214c9d9) SHA1(d25fecc9798e342207d358a54efad1908c0e2247) ) - ROM_LOAD( "ups22ad.p1", 0x0000, 0x020000, CRC(ee0f53a6) SHA1(eabe58efa82015eb2266a793853e8ade546d6da1) ) - ROM_LOAD( "ups22b.p1", 0x0000, 0x020000, CRC(e7dbf5ae) SHA1(0fbbc3da1af8b60993a7f6082bd5e96da21cd0b8) ) - ROM_LOAD( "ups22bd.p1", 0x0000, 0x020000, CRC(003330bd) SHA1(42ad6ddfd7639909151dcee5e40e82a23074fd59) ) - ROM_LOAD( "ups22d.p1", 0x0000, 0x020000, CRC(cc64400f) SHA1(0ff7858c637fbb43a7cd1313bbf046177e4b7761) ) - ROM_LOAD( "ups22dh.p1", 0x0000, 0x020000, CRC(545f4071) SHA1(3947499d78d31fb0b269a63a518790b503a97685) ) - ROM_LOAD( "ups22dk.p1", 0x0000, 0x020000, CRC(29d25535) SHA1(7f053741d12cce467dd437ea998064e13d1ca52b) ) - ROM_LOAD( "ups22dr.p1", 0x0000, 0x020000, CRC(9addee04) SHA1(45c15536c8846da825a994a667b6e46598c1642e) ) - ROM_LOAD( "ups22dy.p1", 0x0000, 0x020000, CRC(6315fd63) SHA1(9a5fcab51d4e94b96669149285dda28cd41020b8) ) - ROM_LOAD( "ups22h.p1", 0x0000, 0x020000, CRC(b3b78562) SHA1(3e75fa20156faa3d38c2b5ac824bffe47e72b7bc) ) - ROM_LOAD( "ups22k.p1", 0x0000, 0x020000, CRC(ce3a9026) SHA1(80977176c5bae809a564f4fc0e3d6370f91f829b) ) - ROM_LOAD( "ups22r.p1", 0x0000, 0x020000, CRC(7d352b17) SHA1(d2d1d016a587be318e9018eb1953e68fe83620df) ) - ROM_LOAD( "ups22s.p1", 0x0000, 0x020000, CRC(ac990aa9) SHA1(396c9eded9c18ab2bcb0f4066a890f6e239830f1) ) - ROM_LOAD( "ups22y.p1", 0x0000, 0x020000, CRC(84fd3870) SHA1(8d294ae1a92d1e99c4c3f17a2d77fe1d994b2c33) ) - ROM_LOAD( "uua21ad.p1", 0x0000, 0x020000, CRC(2a18c292) SHA1(5853cb069eb5caa23372e5dedd33868103125780) ) - ROM_LOAD( "uua21b.p1", 0x0000, 0x020000, CRC(d71cc3db) SHA1(7d783110341237769165a08fd86f597225f8d90c) ) - ROM_LOAD( "uua21bd.p1", 0x0000, 0x020000, CRC(f04323be) SHA1(194c996d4c8e2fed2bcb02e29423e68b53900a1f) ) - ROM_LOAD( "uua21d.p1", 0x0000, 0x020000, CRC(664da8c3) SHA1(c93b0b5e796fcde0850e2b3054f1db0417f4e9ed) ) - ROM_LOAD( "uua21dh.p1", 0x0000, 0x020000, CRC(3ec18dcb) SHA1(fb5fe8ba0b59a21401cf091f43ad9f2a4df3447c) ) - ROM_LOAD( "uua21dk.p1", 0x0000, 0x020000, CRC(84919e1c) SHA1(c7315a3d1985180ec5ae1f4e5c7f0c99c1e0bac4) ) - ROM_LOAD( "uua21dr.p1", 0x0000, 0x020000, CRC(434c988f) SHA1(eb6126048df5bc4ff98d9838a3bb6cf24a9ab895) ) - ROM_LOAD( "uua21dy.p1", 0x0000, 0x020000, CRC(098b30d9) SHA1(48daa77f3aafdcd52d7291cdda533e8a9428de0e) ) - ROM_LOAD( "uua21k.p1", 0x0000, 0x020000, CRC(a3ce7e79) SHA1(8670d2cb7281ccabc15c5288a3e0dd99cfc1ae36) ) - ROM_LOAD( "uua21r.p1", 0x0000, 0x020000, CRC(641378ea) SHA1(de0282af6a17c7fc16c7eca10e81ffb208675779) ) - ROM_LOAD( "uua21s.p1", 0x0000, 0x020000, CRC(27c46fcc) SHA1(68a03fcce5d8155d6c0115d813c17217c4120375) ) - ROM_LOAD( "uua21y.p1", 0x0000, 0x020000, CRC(2ed4d0bc) SHA1(ffb0585e729b389855d24015e1ef7582eab88d3e) ) - ROM_LOAD( "uua22ad.p1", 0x0000, 0x020000, CRC(b2ace4d5) SHA1(da02abe111fea3fbfb9495e9b447139cd67a61e0) ) - ROM_LOAD( "uua22b.p1", 0x0000, 0x020000, CRC(71a6374a) SHA1(c14ed22fceb83b5ac72021322c9b8bb3d5afeffb) ) - ROM_LOAD( "uua22bd.p1", 0x0000, 0x020000, CRC(68f705f9) SHA1(678ba97241f3dede96239265eed418d4717637a6) ) - ROM_LOAD( "uua22d.p1", 0x0000, 0x020000, CRC(c0f75c52) SHA1(a4e1e496b0cbb24767f017fbe228fbb8ab2bb907) ) - ROM_LOAD( "uua22dh.p1", 0x0000, 0x020000, CRC(a675ab8c) SHA1(37fb437b95f9ff50fe41ebce825e3dd1b361925e) ) - ROM_LOAD( "uua22dk.p1", 0x0000, 0x020000, CRC(1c25b85b) SHA1(b42cdae2e2c00644376eb5f0c5b7567d3811b162) ) - ROM_LOAD( "uua22dr.p1", 0x0000, 0x020000, CRC(dbf8bec8) SHA1(b3ac5ed5b8cbc0457e5dfadefcab563e3197b045) ) - ROM_LOAD( "uua22dy.p1", 0x0000, 0x020000, CRC(913f169e) SHA1(9f82f5d868a9be046ced838f8b53730140ed50b2) ) - ROM_LOAD( "uua22h.p1", 0x0000, 0x020000, CRC(bf24993f) SHA1(618d6d2f2b762d61eb58087a3597ffb709658631) ) - ROM_LOAD( "uua22k.p1", 0x0000, 0x020000, CRC(05748ae8) SHA1(d9aeee26c8471bb6ee58a4a838e5c9930da92725) ) - ROM_LOAD( "uua22r.p1", 0x0000, 0x020000, CRC(c2a98c7b) SHA1(115f7c7a4b9eab5f3270f43a2db7a320dfc4e223) ) - ROM_LOAD( "uua22s.p1", 0x0000, 0x020000, CRC(65f57c0c) SHA1(7b2526cdd1ec973a91bc7ade116e16e03b32596a) ) - ROM_LOAD( "uua22y.p1", 0x0000, 0x020000, CRC(886e242d) SHA1(4b49b70fc2635fcf7b538b35b42a358cf4dd60b3) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "uuasnd.p1", 0x00000, 0x080000, CRC(be1a1131) SHA1(b7f50d8db6b7d134757e0746e7d9faf9fd3a2c7e) ) - ROM_LOAD( "uuasnd.p2", 0x080000, 0x080000, CRC(c8492b3a) SHA1(d390e37f4a62869079bb38395a2e86a5ad24392f) ) -ROM_END ROM_START( m4vegastg ) @@ -4059,10 +3522,6 @@ ROM_END -ROM_START( m4wildms ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "wild.bin", 0x0000, 0x010000, CRC(33519799) SHA1(d5154fa5307f25f6a3ee8759520907eb4c06fdf9) ) -ROM_END ROM_START( m4wildtm ) @@ -9222,34 +8681,10 @@ GAME( 198?, m4clr, 0, mod2 , mpu4, driver_device, 0, ROT #define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK) // GEEN TUBES -GAME(199?, m4addrd ,m4addr ,mod2 ,mpu4 , mpu4_state,m4default_alt ,ROT0, "Barcrest","Adders & Ladders (Barcrest) (DAL, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4ambass ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ambassador (Barcrest) (DAM, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4atlan ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Atlantis (Barcrest) (DAT, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4bjc ,0 ,mod2 ,mpu4 , mpu4_state,m4default_alt ,ROT0, "Barcrest","Black Jack Club (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4exprs ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Express (Barcrest) (DXP, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4brdway ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Broadway (Barcrest) (DBR, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4bigbn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Ben (Barcrest) (DBB, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4cheryo ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cherryo (Barcrest) (DCH, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4giant ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Giant (Barcrest) (DGI, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4holdon ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hold On (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4libty ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Liberty (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4meglnk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Megalink (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4multwy ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Multiway (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4num1 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Number One (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4nudup ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Up (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4omega ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Omega (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4randr ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Random Roulette (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4samu ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Samurai (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4stards ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stardust (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4tbreel ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Reel (Barcrest) (Dutch) (MPU4) (set 1)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4tbrldx ,m4tbreel ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Reel (Barcrest) (Dutch) (MPU4) (set 3, Deluxe?)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4taj ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Taj Mahal (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4topdk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Deck (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4tricol ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tricolor (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4tridic ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Triple Dice (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4twilgt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twilight (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4addrd ,m4addr ,mod2 ,mpu4 , mpu4_state,m4default_alt ,ROT0, "Barcrest","Adders & Ladders (Barcrest) (DAL, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4voodoo ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Voodoo 1000 (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4wildms ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Wild Mystery (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) + // needs better reel (correct setup) handling to boot GAME(199?, m4blkbul ,0 ,mod2 ,mpu4 , mpu4_state,m4default_alt ,ROT0, "Barcrest","Super Play (Black Bull?) (Barcrest) [XSP] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // XSP?? @@ -9308,7 +8743,6 @@ GAME(199?, m4brook ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bar GAME(199?, m4buc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Buccaneer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4calamab,m4calama ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest - Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4calama ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4cashat ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Attack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4cashln ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Lines (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1) GAME(199?, m4ceptr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ceptor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4chasei ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) @@ -9364,7 +8798,6 @@ GAME(199?, m4magrep ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Ba GAME(199?, m4nhtt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","New Hit the Top (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4nile ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Nile Jewels (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4nudgew ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge A Win (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with any system? -GAME(199?, m4nnwwc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4nudshf ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4oldtmr ,0 ,mod4oki ,mpu4 , mpu4_state,m_oldtmr ,ROT0, "Barcrest","Old Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4casot ,m4oldtmr ,mod4oki ,mpu4 , mpu4_state,m_oldtmr ,ROT0, "Barcrest","Casino Old Timer (Black & White?) (Old Timer Sound hack?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // uses the same program??? @@ -9385,13 +8818,11 @@ GAME(199?, m4przwo ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bar GAME(199?, m4przwta ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Prize Winner Takes All (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4reeltm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rdht ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Heat (Golden Nugget?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4rhr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Hot Roll (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rhrc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rhrcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Hot Roll Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rwb ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rmtp ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel Magic Turbo Play / Star Play 300? (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rmtpd ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel Magic Turbo Play Deluxe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4richfm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Rich & Famous (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4ringfr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ring Of Fire (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rhog2 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4rhogc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Road Hog Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) @@ -9406,7 +8837,6 @@ GAME(199?, m4steptm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Ba GAME(199?, m4supbj ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Blackjack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4supbjc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4suphv ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Hyper Viper (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4supst ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Streak (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4take5 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take 5 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4takepk ,0 ,mod4oki ,mpu4jackpot8per , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4tpcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) @@ -9419,7 +8849,6 @@ GAME(199?, m4tutcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bar GAME(199?, m4twintm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twin Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4twist ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twist Again (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4univ ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Universe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) -GAME(199?, m4uuaw ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Up Up and Away (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4vegast ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Vegas Strip (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4vegastg,m4vegast ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Vegas Strip (Barcrest) [German] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4vivess ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viva Espana Showcase (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) diff --git a/src/mame/drivers/mpu4mod2sw.c b/src/mame/drivers/mpu4mod2sw.c index e4602137b59..8bdb7381487 100644 --- a/src/mame/drivers/mpu4mod2sw.c +++ b/src/mame/drivers/mpu4mod2sw.c @@ -26,9 +26,9 @@ INPUT_PORTS_EXTERN( mpu4jackpot8tkn ); #define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK) -DRIVER_INIT_MEMBER(mpu4_state,m4_showstring_mod2) +DRIVER_INIT_MEMBER( mpu4_state, m4_showstring_mod2 ) { - DRIVER_INIT_CALL(m4default); + DRIVER_INIT_CALL( m4default ); // many original barcrest / bwb sets have identification info around here // this helps with sorting @@ -45,10 +45,11 @@ DRIVER_INIT_MEMBER(mpu4_state,m4_showstring_mod2) } } -DRIVER_INIT_MEMBER(mpu4_state,connect4) +DRIVER_INIT_MEMBER (mpu4_state, connect4) { - m_reels = 0; //reel-free game - m_led_lamp=1; + mpu4_state *state = machine().driver_data(); + state->m_reels = 0; //reel-free game + state->m_led_lamp=1; } @@ -1259,6 +1260,137 @@ ROM_START( m4c999c ) ROM_END +ROM_START( m4ambass ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ambassador.bin", 0x0000, 0x010000, CRC(310313ac) SHA1(8e11515615754090d716b428adc4e2718ee1211d) ) +ROM_END + +ROM_START( m4atlan ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dat14.bin", 0x0000, 0x010000, CRC(d91fb9b2) SHA1(a06a868a17f84e2a012b0fe28025458e4f899c1d) ) +ROM_END + +ROM_START( m4bjc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dbc11.bin", 0x0000, 0x010000, CRC(ce28b677) SHA1(81006768e937b42f051e580f093b7182ad59236a) ) +ROM_END + + +ROM_START( m4exprs ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dxp20.bin", 0x0000, 0x010000, CRC(09e68942) SHA1(2253ab76286b7c7af34ff99cc6d8e60b26edcacb) ) +ROM_END + +ROM_START( m4brdway ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dbr11.bin", 0x0000, 0x010000, CRC(5cbb8a0f) SHA1(bee8b2b7d70c24f98b7626caa278cb84136941a4) ) +ROM_END + +ROM_START( m4bigbn ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dbb12.bin", 0x0000, 0x010000, CRC(7acec20d) SHA1(5f3a21227329608c0afdb5facac977dee94ab9f5) ) +ROM_END + +ROM_START( m4cheryo ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dch14.bin", 0x0000, 0x010000, CRC(47333745) SHA1(479bec721ccaa2c4b11f3022d3d1eb12de92ac81) ) +ROM_END + +ROM_START( m4giant ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dgi21.bin", 0x0000, 0x010000, CRC(07d8685a) SHA1(1b51db748543f2e4b6b7d7ad16b77864bbfe5a66) ) +ROM_END + +ROM_START( m4holdon ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dho25.bin", 0x0000, 0x010000, CRC(9c22690d) SHA1(a2474dd1901628551804ba2bf652a8a5a1de5739) ) +ROM_END + +ROM_START( m4libty ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dlt10.bin", 0x0000, 0x010000, CRC(25d91c01) SHA1(788ba8669bae5b4cdfb7231c7225d6745038a575) ) +ROM_END + +ROM_START( m4meglnk ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dml20.bin", 0x0000, 0x010000, CRC(bbf48b45) SHA1(0ca9adf6a4171efad1af7b411e713dc35c654d30) ) +ROM_END + +ROM_START( m4multwy ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dmu17.bin", 0x0000, 0x010000, CRC(336b128e) SHA1(1d8268bfa0ffee62c76ffbf0ee89731626cf90ca) ) +ROM_END + +ROM_START( m4num1 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dno17.bin", 0x0000, 0x010000, CRC(3b302160) SHA1(ff52803472e119aa46fe1cff134b5503858dfee1) ) +ROM_END + +ROM_START( m4nudup ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dnu25.bin", 0x0000, 0x010000, CRC(c8d83f94) SHA1(fa0834d41c7506cab14e50b4036943a61411ed0e) ) +ROM_END + +ROM_START( m4omega ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dom23.bin", 0x0000, 0x010000, CRC(d51e078c) SHA1(2c38d271b9ce4731ce26106764529839b5110b3e) ) +ROM_END + + +ROM_START( m4randr ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "drr22.bin", 0x0000, 0x010000, CRC(9fdcee66) SHA1(196c8d3ea4141c209ecc5b0acdab7a872f791dc0) ) +ROM_END + +ROM_START( m4samu ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dsm10.bin", 0x0000, 0x010000, CRC(c2a10732) SHA1(9a9dcd0445662d301320a7fb0f4e5da8a719a86b) ) +ROM_END + +ROM_START( m4stards ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dsd13.bin", 0x0000, 0x010000, CRC(a17fbe93) SHA1(f2a9e0c059f309f63e6da3e47740644ad4839fa8) ) +ROM_END + +ROM_START( m4tbreel ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtr12.bin", 0x0000, 0x010000, CRC(cdb63ef5) SHA1(748cc06e6a274b125d189dd66f2adad8bd2fb166) ) // aka dtr31.dat +ROM_END + +ROM_START( m4tbrldx ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtv30.dat", 0x0000, 0x010000, CRC(c314846c) SHA1(bfa6539b204477a04a5bbc8d13c3a666c52b597b) ) +ROM_END + +ROM_START( m4taj ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "tajmahal.bin", 0x0000, 0x010000, CRC(c2db162a) SHA1(358e7bb858f0a34d39f43494cea13bf00a67e48e) ) +ROM_END + +ROM_START( m4tricol ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtc25.bin", 0x0000, 0x010000, CRC(d3318dde) SHA1(19194d206deee920a1b0122dddc3d5bc0a7a48c5) ) +ROM_END + +ROM_START( m4tridic ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "trp.bin", 0x0000, 0x010000, CRC(d91fb9b2) SHA1(a06a868a17f84e2a012b0fe28025458e4f899c1d) ) + + ROM_REGION( 0x48, "fakechr", 0 ) + ROM_LOAD( "tdice.chr", 0x0000, 0x000048, CRC(6d28754a) SHA1(beb7724e9f621d315b2f16abfd3bbc6a99077a05) ) +ROM_END + +ROM_START( m4twilgt ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtl22.bin", 0x0000, 0x010000, CRC(ed4c8b6a) SHA1(7644046a273304104eaa6260f6cc75950592d4b6) ) +ROM_END + +ROM_START( m4wildms ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "wild.bin", 0x0000, 0x010000, CRC(33519799) SHA1(d5154fa5307f25f6a3ee8759520907eb4c06fdf9) ) +ROM_END + + GAME(199?, m4rsg ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.2)",GAME_FLAGS ) GAME(199?, m4rsga ,m4rsg ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.0)",GAME_FLAGS ) @@ -1389,25 +1521,25 @@ GAME(199?, m4solsila ,m4solsil ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, GAME(199?, m4starbr ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stars And Bars (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4sunset ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.4)",GAME_FLAGS ) +GAME(199?, m4sunset ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.4)",GAME_FLAGS ) GAME(199?, m4sb5 ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.3)", GAME_FLAGS ) -GAME(199?, m4sunsetd ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SBU 2.0)",GAME_FLAGS ) -GAME(199?, m4sunsete ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.1)",GAME_FLAGS ) -GAME(199?, m4sunsetf ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 1)",GAME_FLAGS ) -GAME(199?, m4sunsetg ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 2)",GAME_FLAGS ) -GAME(199?, m4sunseth ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 3, bad)",GAME_FLAGS ) -GAME(199?, m4sunseti ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 4)",GAME_FLAGS ) -GAME(199?, m4sunsetj ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 5)",GAME_FLAGS ) -GAME(199?, m4sunsetk ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.1)",GAME_FLAGS ) -GAME(199?, m4sunsetl ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 1)",GAME_FLAGS ) -GAME(199?, m4sunsetm ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 2)",GAME_FLAGS ) -GAME(199?, m4sunsetn ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 3)",GAME_FLAGS ) -GAME(199?, m4sunseto ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 4)",GAME_FLAGS ) -GAME(199?, m4sunsetp ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 5)",GAME_FLAGS ) -GAME(199?, m4sunsetq ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 6)",GAME_FLAGS ) -GAME(199?, m4sunsetr ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 7)",GAME_FLAGS ) -GAME(199?, m4sunsets ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 8)",GAME_FLAGS ) -GAME(199?, m4sunsett ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 9)",GAME_FLAGS ) +GAME(199?, m4sunsetd ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SBU 2.0)",GAME_FLAGS ) +GAME(199?, m4sunsete ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.1)",GAME_FLAGS ) +GAME(199?, m4sunsetf ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4sunsetg ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4sunseth ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 3, bad)",GAME_FLAGS ) +GAME(199?, m4sunseti ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 4)",GAME_FLAGS ) +GAME(199?, m4sunsetj ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 5)",GAME_FLAGS ) +GAME(199?, m4sunsetk ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.1)",GAME_FLAGS ) +GAME(199?, m4sunsetl ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4sunsetm ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4sunsetn ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 3)",GAME_FLAGS ) +GAME(199?, m4sunseto ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 4)",GAME_FLAGS ) +GAME(199?, m4sunsetp ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 5)",GAME_FLAGS ) +GAME(199?, m4sunsetq ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 6)",GAME_FLAGS ) +GAME(199?, m4sunsetr ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 7)",GAME_FLAGS ) +GAME(199?, m4sunsets ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 8)",GAME_FLAGS ) +GAME(199?, m4sunsett ,m4sunset ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 9)",GAME_FLAGS ) GAME(199?, m4supslt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Supa Slot (Barcrest) (MPU4)", GAME_FLAGS ) @@ -1451,21 +1583,21 @@ GAME(199?, m4wayina ,m4wayin ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, /* Bwb */ -GAME(199?, m4flshlt ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 1)", GAME_FLAGS ) -GAME(199?, m4flshlta ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 2)", GAME_FLAGS ) -GAME(199?, m4flshltb ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 3)", GAME_FLAGS ) -GAME(199?, m4flshltc ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 4)", GAME_FLAGS ) -GAME(199?, m4flshltd ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 5)", GAME_FLAGS ) -GAME(199?, m4flshlte ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 6)", GAME_FLAGS ) -GAME(199?, m4flshltf ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 7)", GAME_FLAGS ) -GAME(199?, m4flshltg ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 8)", GAME_FLAGS ) +GAME(199?, m4flshlt ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 1)", GAME_FLAGS ) +GAME(199?, m4flshlta ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 2)", GAME_FLAGS ) +GAME(199?, m4flshltb ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 3)", GAME_FLAGS ) +GAME(199?, m4flshltc ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 4)", GAME_FLAGS ) +GAME(199?, m4flshltd ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 5)", GAME_FLAGS ) +GAME(199?, m4flshlte ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 6)", GAME_FLAGS ) +GAME(199?, m4flshltf ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 7)", GAME_FLAGS ) +GAME(199?, m4flshltg ,m4flshlt ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 8)", GAME_FLAGS ) -GAME(199?, m4blflsh ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 1)", GAME_FLAGS ) -GAME(199?, m4blflsha ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 2)", GAME_FLAGS ) -GAME(199?, m4blflshb ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 3)", GAME_FLAGS ) -GAME(199?, m4blflshc ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 4)", GAME_FLAGS ) -GAME(199?, m4blflshd ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 5)", GAME_FLAGS ) -GAME(199?, m4blflshe ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 6)", GAME_FLAGS ) +GAME(199?, m4blflsh ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 1)", GAME_FLAGS ) +GAME(199?, m4blflsha ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 2)", GAME_FLAGS ) +GAME(199?, m4blflshb ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 3)", GAME_FLAGS ) +GAME(199?, m4blflshc ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 4)", GAME_FLAGS ) +GAME(199?, m4blflshd ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 5)", GAME_FLAGS ) +GAME(199?, m4blflshe ,m4blflsh ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 6)", GAME_FLAGS ) /* Pcp */ @@ -1527,8 +1659,37 @@ GAME(199?, m4centpta,m4centpt ,mod2 ,mpu4 , mpu4_state,m4default ,ROT GAME(199?, m4clbcls ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Classic (Barcrest) (MPU4)", GAME_FLAGS ) // set stake (still moans tho) // OC9 (on cloud 9?) -GAME(199?, m4c999 ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 1)", GAME_FLAGS ) -GAME(199?, m4c999a ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 2)", GAME_FLAGS ) +GAME(199?, m4c999 ,0 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 1)", GAME_FLAGS ) +GAME(199?, m4c999a ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 2)", GAME_FLAGS ) // make sure these are the same -GAME(199?, m4c999b ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.6)", GAME_FLAGS ) // bad chr -GAME(199?, m4c999c ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring_mod2 ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.0)", GAME_FLAGS ) // bad chr +GAME(199?, m4c999b ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.6)", GAME_FLAGS ) // bad chr +GAME(199?, m4c999c ,m4c999 ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.0)", GAME_FLAGS ) // bad chr + + +// GEEN TUBES (press Q to open door and 'W' to play anyway, as long as the game works and doesn't report reel errors) +GAME(199?, m4ambass ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ambassador (Barcrest) (DAM, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4atlan ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Atlantis (Barcrest) (DAT, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4bjc ,0 ,mod2 ,mpu4 , mpu4_state,m4default_alt ,ROT0, "Barcrest","Black Jack Club (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4exprs ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Express (Barcrest) (DXP, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4brdway ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Broadway (Barcrest) (DBR, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4bigbn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Ben (Barcrest) (DBB, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4cheryo ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cherryo (Barcrest) (DCH, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4giant ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Giant (Barcrest) (DGI, Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4holdon ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hold On (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4libty ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Liberty (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4meglnk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Megalink (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4multwy ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Multiway (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4num1 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Number One (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4nudup ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Up (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4omega ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Omega (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4randr ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Random Roulette (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4samu ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Samurai (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4stards ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stardust (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4tbreel ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Reel (Barcrest) (Dutch) (MPU4) (set 1)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4tbrldx ,m4tbreel ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Reel (Barcrest) (Dutch) (MPU4) (set 3, Deluxe?)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4taj ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Taj Mahal (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4tricol ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tricolor (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4tridic ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Triple Dice (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4twilgt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twilight (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) +GAME(199?, m4wildms ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Wild Mystery (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) + diff --git a/src/mame/drivers/mpu4mod4yam.c b/src/mame/drivers/mpu4mod4yam.c index ee38cd89261..2a92e2ae9bb 100644 --- a/src/mame/drivers/mpu4mod4yam.c +++ b/src/mame/drivers/mpu4mod4yam.c @@ -11,6 +11,38 @@ INPUT_PORTS_EXTERN( mpu4 ); #include "gamball.lh" +DRIVER_INIT_MEMBER( mpu4_state, m4_debug_mod4yam ) +{ + // many original barcrest / bwb sets have identification info around here + // this helps with sorting + UINT8 *src = machine().root_device().memregion( "maincpu" )->base(); + int size = machine().root_device().memregion( "maincpu" )->bytes(); + + for (int j=0;j0x10000) printf("\nblock 0x%06x:\n",j); + printf("\ncopyright string:\n"); + for (int i = 0xffe0; i<0xfff0; i++) + { + printf("%c", src[j+i]); + } + printf("\n\nidentification string:\n"); + for (int i = 0xff28; i<0xff30; i++) + { + printf("%c", src[j+i]); + } + printf("\n"); + } +} + +DRIVER_INIT_MEMBER( mpu4_state, m4_showstring_mod4yam ) +{ + DRIVER_INIT_CALL( m4_debug_mod4yam ); + DRIVER_INIT_CALL( m4debug ); +} + + + INPUT_PORTS_START( m4gambal ) PORT_START("ORANGE1") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("00")// 20p level @@ -384,3 +416,123 @@ GAME(199?, m4ra ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcr GAME(199?, m4sayno ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Say No More (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4vivasx ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viva Las Vegas Six (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4acechs ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Ace Chase (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) + + +#define M4SUPST_EXTRA_ROMS \ + ROM_REGION( 0x48, "fakechr", 0 ) \ + ROM_LOAD( "ss.chr", 0x0000, 0x000048, CRC(bd206d57) SHA1(ecfe38d9b4823ae6bc2fc440c243e6ae5e2edaa4) ) \ + +#define M4SUPST_SET(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4SUPST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent ,mod4yam ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) \ + + +M4SUPST_SET( 199?, m4supst, 0, "cs4b.p1", 0x0000, 0x010000, CRC(fb0aac20) SHA1(3a40be78f7add7905afa8d1226ad41bf0041a2ec), "Barcrest","Super Streak (Barcrest) (MPU4) (set 1)" ) +M4SUPST_SET( 199?, m4supst__a, m4supst, "cs4ad.p1", 0x0000, 0x010000, CRC(c0e81dfd) SHA1(2da922df6c102f8d0f1678e974df9e4d356e5133), "Barcrest","Super Streak (Barcrest) (MPU4) (set 2)" ) +M4SUPST_SET( 199?, m4supst__b, m4supst, "cs4bd.p1", 0x0000, 0x010000, CRC(dafc7ed6) SHA1(3e92d5557d2f587132f4b3b633978ab7d4333fcc), "Barcrest","Super Streak (Barcrest) (MPU4) (set 3)" ) +M4SUPST_SET( 199?, m4supst__c, m4supst, "cs4d.p1", 0x0000, 0x010000, CRC(c1fcda65) SHA1(11f2a45f3f821eac6b98b1988824d77aada3d759), "Barcrest","Super Streak (Barcrest) (MPU4) (set 4)" ) +M4SUPST_SET( 199?, m4supst__d, m4supst, "cs4dk.p1", 0x0000, 0x010000, CRC(30a46171) SHA1(ef1f2951b478ba2b2d42dfb0ec4ed59f28d79972), "Barcrest","Super Streak (Barcrest) (MPU4) (set 5)" ) +M4SUPST_SET( 199?, m4supst__e, m4supst, "cs4dy.p1", 0x0000, 0x010000, CRC(72b15ce7) SHA1(c451ac552ffe9bcde1990b97a60b0ed8918bf8c8), "Barcrest","Super Streak (Barcrest) (MPU4) (set 6)" ) +M4SUPST_SET( 199?, m4supst__f, m4supst, "cs4k.p1", 0x0000, 0x010000, CRC(f252f9ea) SHA1(251998ea752deb4f4a05c833b19e89d334334fac), "Barcrest","Super Streak (Barcrest) (MPU4) (set 7)" ) +M4SUPST_SET( 199?, m4supst__g, m4supst, "cs4s.p1", 0x0000, 0x010000, CRC(10f7b88d) SHA1(0aac0ebbe0ce04db49fc7de4325eea9abdfd74b5), "Barcrest","Super Streak (Barcrest) (MPU4) (set 8)" ) +M4SUPST_SET( 199?, m4supst__h, m4supst, "cs4y.p1", 0x0000, 0x010000, CRC(a464d09d) SHA1(d38c0f8c7c9b7f560b685781a7dcf82bc031a191), "Barcrest","Super Streak (Barcrest) (MPU4) (set 9)" ) +M4SUPST_SET( 199?, m4supst__i, m4supst, "csp02ad.p1", 0x0000, 0x010000, CRC(96bbbc26) SHA1(ca127151c771963c07f0f368102ede8095d11863), "Barcrest","Super Streak (Barcrest) (MPU4) (set 10)" ) +M4SUPST_SET( 199?, m4supst__j, m4supst, "csp02b.p1", 0x0000, 0x010000, CRC(913ea9ff) SHA1(182bcc007d007a1c7f57767358600d2de7d1e3cf), "Barcrest","Super Streak (Barcrest) (MPU4) (set 11)" ) +M4SUPST_SET( 199?, m4supst__k, m4supst, "csp02bd.p1", 0x0000, 0x010000, CRC(ad0137a1) SHA1(d043372ba09081dd4e807f009a6460b4b30e6453), "Barcrest","Super Streak (Barcrest) (MPU4) (set 12)" ) +M4SUPST_SET( 199?, m4supst__l, m4supst, "csp02c.p1", 0x0000, 0x010000, CRC(fdad4b22) SHA1(4f19922821a9d1663bd9355447209384272e7542), "Barcrest","Super Streak (Barcrest) (MPU4) (set 13)" ) +M4SUPST_SET( 199?, m4supst__m, m4supst, "csp02d.p1", 0x0000, 0x010000, CRC(9717a58d) SHA1(8bc495dc4db0041718ae2db14a01a789616c8764), "Barcrest","Super Streak (Barcrest) (MPU4) (set 14)" ) +M4SUPST_SET( 199?, m4supst__n, m4supst, "csp02dk.p1", 0x0000, 0x010000, CRC(cd8aa547) SHA1(a13dcb75507878cb133b9ef739fb41d932d4eed5), "Barcrest","Super Streak (Barcrest) (MPU4) (set 15)" ) +M4SUPST_SET( 199?, m4supst__o, m4supst, "csp02dr.p1", 0x0000, 0x010000, CRC(6656e588) SHA1(4001ec0d1145ef0107e62ccda61e22ba8b0cdc92), "Barcrest","Super Streak (Barcrest) (MPU4) (set 16)" ) +M4SUPST_SET( 199?, m4supst__p, m4supst, "csp02dy.p1", 0x0000, 0x010000, CRC(14ff7e1d) SHA1(455b6ff93a5f25dc5f43c62a6c1d9a18de1ce94b), "Barcrest","Super Streak (Barcrest) (MPU4) (set 17)" ) +M4SUPST_SET( 199?, m4supst__q, m4supst, "csp02k.p1", 0x0000, 0x010000, CRC(c438c754) SHA1(c1d2e664091c1eaf1e4d964a3bfd446b11d7ba41), "Barcrest","Super Streak (Barcrest) (MPU4) (set 18)" ) +M4SUPST_SET( 199?, m4supst__r, m4supst, "csp02r.p1", 0x0000, 0x010000, CRC(4abe0f80) SHA1(67f7f9946a26b5097b6ce719dbd599790078f365), "Barcrest","Super Streak (Barcrest) (MPU4) (set 19)" ) +M4SUPST_SET( 199?, m4supst__s, m4supst, "csp02s.p1", 0x0000, 0x010000, CRC(47c0068d) SHA1(5480a519a6e6df2757e66cfcf904dd6c2873cc43), "Barcrest","Super Streak (Barcrest) (MPU4) (set 20)" ) +M4SUPST_SET( 199?, m4supst__t, m4supst, "csp02y.p1", 0x0000, 0x010000, CRC(d51d18d8) SHA1(a65fd4326872775364d2d7a886e98a1ee07596b7), "Barcrest","Super Streak (Barcrest) (MPU4) (set 21)" ) +M4SUPST_SET( 199?, m4supst__u, m4supst, "cst04ad.p1", 0x0000, 0x010000, CRC(b946d40d) SHA1(c03fa48f8b64c3cf4504f472f21a38f8a55f12e6), "Barcrest","Super Streak (Barcrest) (MPU4) (set 22)" ) +M4SUPST_SET( 199?, m4supst__v, m4supst, "cst04b.p1", 0x0000, 0x010000, CRC(45333d45) SHA1(d6ccb39ee9b316772052f856f79424c34ff273c5), "Barcrest","Super Streak (Barcrest) (MPU4) (set 23)" ) +M4SUPST_SET( 199?, m4supst__w, m4supst, "cst04bd.p1", 0x0000, 0x010000, CRC(03b56b07) SHA1(903b24ab93f9584f228278729b5a99451b8e81f7), "Barcrest","Super Streak (Barcrest) (MPU4) (set 24)" ) +M4SUPST_SET( 199?, m4supst__x, m4supst, "cst04c.p1", 0x0000, 0x010000, CRC(9c000883) SHA1(da0a9f1afc218c14a57a46fe2ea63e166f4e3739), "Barcrest","Super Streak (Barcrest) (MPU4) (set 25)" ) +M4SUPST_SET( 199?, m4supst__y, m4supst, "cst04d.p1", 0x0000, 0x010000, CRC(32281bec) SHA1(a043fb615c2a66d23d85ae80cb0b1705523f411c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 26)" ) +M4SUPST_SET( 199?, m4supst__z, m4supst, "cst04dk.p1", 0x0000, 0x010000, CRC(9345e7b7) SHA1(8bff80d2b847fbae050f77215efe3e55b98a4657), "Barcrest","Super Streak (Barcrest) (MPU4) (set 27)" ) +M4SUPST_SET( 199?, m4supst__0, m4supst, "cst04dr.p1", 0x0000, 0x010000, CRC(8d397063) SHA1(45642de2629e89e2495d1cbd5aed90cf2a4cf1c1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 28)" ) +M4SUPST_SET( 199?, m4supst__1, m4supst, "cst04dy.p1", 0x0000, 0x010000, CRC(4a303ced) SHA1(6c12b956358753c8bf99bd3316646721c9ec2585), "Barcrest","Super Streak (Barcrest) (MPU4) (set 29)" ) +M4SUPST_SET( 199?, m4supst__2, m4supst, "cst04k.p1", 0x0000, 0x010000, CRC(a59584f5) SHA1(8cfcf069ad905277f1925e682602e129e97e619b), "Barcrest","Super Streak (Barcrest) (MPU4) (set 30)" ) +M4SUPST_SET( 199?, m4supst__3, m4supst, "cst04r.p1", 0x0000, 0x010000, CRC(c9771997) SHA1(ed98650c0d73f2db0fe380777d10404ccabced31), "Barcrest","Super Streak (Barcrest) (MPU4) (set 31)" ) +M4SUPST_SET( 199?, m4supst__4, m4supst, "cst04s.p1", 0x0000, 0x010000, CRC(cd5b848d) SHA1(4dd3dd1c883552c7b5c475156308604b12eff75a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 32)" ) +M4SUPST_SET( 199?, m4supst__5, m4supst, "cst04y.p1", 0x0000, 0x010000, CRC(7adc00ae) SHA1(5688f0876c18faf474a6d8487fdd85f20f9fc144), "Barcrest","Super Streak (Barcrest) (MPU4) (set 33)" ) +M4SUPST_SET( 199?, m4supst__6, m4supst, "csu03ad.p1", 0x0000, 0x010000, CRC(5d7b6393) SHA1(19c24f4113efb6a1499936e5f89a8ad859ff8df0), "Barcrest","Super Streak (Barcrest) (MPU4) (set 34)" ) +M4SUPST_SET( 199?, m4supst__7, m4supst, "csu03b.p1", 0x0000, 0x010000, CRC(57826c2a) SHA1(b835eb3066fec468ab55851d1dd023484e2d57e3), "Barcrest","Super Streak (Barcrest) (MPU4) (set 35)" ) +M4SUPST_SET( 199?, m4supst__8, m4supst, "csu03bd.p1", 0x0000, 0x010000, CRC(092e7039) SHA1(36a7c18872e4012e3acce0d01d2cc2c201a3c867), "Barcrest","Super Streak (Barcrest) (MPU4) (set 36)" ) +M4SUPST_SET( 199?, m4supst__9, m4supst, "csu03c.p1", 0x0000, 0x010000, CRC(b30a3c00) SHA1(066b0007092720a6f89edf8eafffe2f8fd83edbc), "Barcrest","Super Streak (Barcrest) (MPU4) (set 37)" ) +M4SUPST_SET( 199?, m4supst__aa, m4supst, "csu03d.p1", 0x0000, 0x010000, CRC(03ff9d99) SHA1(390087c136e4c314de9086adb7b020e8adabe34a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 38)" ) +M4SUPST_SET( 199?, m4supst__ab, m4supst, "csu03dk.p1", 0x0000, 0x010000, CRC(cf7e61ff) SHA1(0e328ce5ff86770fabaf91d48a8de039323d112a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 39)" ) +M4SUPST_SET( 199?, m4supst__ac, m4supst, "csu03dr.p1", 0x0000, 0x010000, CRC(00d700d1) SHA1(8bcc3c470c42780b1f1404fc6ff53e6ec7d89ad0), "Barcrest","Super Streak (Barcrest) (MPU4) (set 40)" ) +M4SUPST_SET( 199?, m4supst__ad, m4supst, "csu03dy.p1", 0x0000, 0x010000, CRC(8ec77c04) SHA1(64708460439a7e124f90eef6b9628e57f7d78ebc), "Barcrest","Super Streak (Barcrest) (MPU4) (set 41)" ) +M4SUPST_SET( 199?, m4supst__ae, m4supst, "csu03k.p1", 0x0000, 0x010000, CRC(701a0837) SHA1(31237fd108b354fb2afc449efa3a53dee2cf7be8), "Barcrest","Super Streak (Barcrest) (MPU4) (set 42)" ) +M4SUPST_SET( 199?, m4supst__af, m4supst, "csu03r.p1", 0x0000, 0x010000, CRC(d86a6895) SHA1(2c42bcf5de739f01e18bd1b766eec26a6da5aa52), "Barcrest","Super Streak (Barcrest) (MPU4) (set 43)" ) +M4SUPST_SET( 199?, m4supst__ag, m4supst, "csu03s.p1", 0x0000, 0x010000, CRC(197bb032) SHA1(06e98713ff5fc72bffccde1cc92fc8cb63665fad), "Barcrest","Super Streak (Barcrest) (MPU4) (set 44)" ) +M4SUPST_SET( 199?, m4supst__ah, m4supst, "csu03y.p1", 0x0000, 0x010000, CRC(bee0e7e1) SHA1(6a1ab766af9147f0d4a7c1d2a95c9a6e3e3f4986), "Barcrest","Super Streak (Barcrest) (MPU4) (set 45)" ) +M4SUPST_SET( 199?, m4supst__ai, m4supst, "eeh02ad.p1", 0x0000, 0x010000, CRC(25874a6d) SHA1(12e4fb36d231c3104df3613dd3851f411a876eb0), "Barcrest","Super Streak (Barcrest) (MPU4) (set 46)" ) +M4SUPST_SET( 199?, m4supst__aj, m4supst, "eeh02b.p1", 0x0000, 0x010000, CRC(ef280a8a) SHA1(912a825e69482a540cf0cadfc49a37a2822f3ecb), "Barcrest","Super Streak (Barcrest) (MPU4) (set 47)" ) +M4SUPST_SET( 199?, m4supst__ak, m4supst, "eeh02bd.p1", 0x0000, 0x010000, CRC(5f126810) SHA1(8fe1cbc7d93e2db35225388ee0773f6a98762ca1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 48)" ) +M4SUPST_SET( 199?, m4supst__al, m4supst, "eeh02c.p1", 0x0000, 0x010000, CRC(3f49b936) SHA1(a0d07e0101f8cc38ebc28cfc1b239793b961f5ab), "Barcrest","Super Streak (Barcrest) (MPU4) (set 49)" ) +M4SUPST_SET( 199?, m4supst__am, m4supst, "eeh02d.p1", 0x0000, 0x010000, CRC(14dcfe63) SHA1(3ac77c9aa9b3b77fb1df98d2b427564be41dca78), "Barcrest","Super Streak (Barcrest) (MPU4) (set 50)" ) +M4SUPST_SET( 199?, m4supst__an, m4supst, "eeh02dk.p1", 0x0000, 0x010000, CRC(81a39421) SHA1(6fa43e8cb83e7fb940cc224eed5ee3f254c18c4d), "Barcrest","Super Streak (Barcrest) (MPU4) (set 51)" ) +M4SUPST_SET( 199?, m4supst__ao, m4supst, "eeh02dr.p1", 0x0000, 0x010000, CRC(c7755823) SHA1(05626ed49a2f800555f3f404273fa910b68de75c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 52)" ) +M4SUPST_SET( 199?, m4supst__ap, m4supst, "eeh02dy.p1", 0x0000, 0x010000, CRC(5a1e70cd) SHA1(88bb29fd52d2331b72bb04652f9578f2c2f5a9ac), "Barcrest","Super Streak (Barcrest) (MPU4) (set 53)" ) +M4SUPST_SET( 199?, m4supst__aq, m4supst, "eeh02k.p1", 0x0000, 0x010000, CRC(b78882ec) SHA1(79c6a6d2cfe113743d3a93eb825fccab2b025933), "Barcrest","Super Streak (Barcrest) (MPU4) (set 54)" ) +M4SUPST_SET( 199?, m4supst__ar, m4supst, "eeh02r.p1", 0x0000, 0x010000, CRC(ff54884e) SHA1(2783f0e562e946597288ddbec4dcd1101e188d1d), "Barcrest","Super Streak (Barcrest) (MPU4) (set 55)" ) +M4SUPST_SET( 199?, m4supst__as, m4supst, "eeh02s.p1", 0x0000, 0x010000, CRC(c5856c3c) SHA1(5a0e5a7188913e1c36eac894bbeeae47a4f3589c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 56)" ) +M4SUPST_SET( 199?, m4supst__at, m4supst, "eeh02y.p1", 0x0000, 0x010000, CRC(623fa0a0) SHA1(5a49cea5e94afccbf965cbda7a8d9a74f9734a6e), "Barcrest","Super Streak (Barcrest) (MPU4) (set 57)" ) +M4SUPST_SET( 199?, m4supst__au, m4supst, "sp8b.p1", 0x0000, 0x010000, CRC(3b12d7e8) SHA1(92a15e5f8391d74c192e8386abdb8853a76bff05), "Barcrest","Super Streak (Barcrest) (MPU4) (set 58)" ) +M4SUPST_SET( 199?, m4supst__av, m4supst, "sp8bd.p1", 0x0000, 0x010000, CRC(e0d7f789) SHA1(f6157469e43059adb44e7f2eff5bf73861d5636c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 59)" ) +M4SUPST_SET( 199?, m4supst__aw, m4supst, "sp8c.p1", 0x0000, 0x010000, CRC(da0af8ae) SHA1(91042506050967c508b30c3dc2bfa6f6a6e8b532), "Barcrest","Super Streak (Barcrest) (MPU4) (set 60)" ) +M4SUPST_SET( 199?, m4supst__ax, m4supst, "sp8dk.p1", 0x0000, 0x010000, CRC(92432e8f) SHA1(5e6df963ccf92a89c71ae1edd7b71ec1e3f97522), "Barcrest","Super Streak (Barcrest) (MPU4) (set 61)" ) +M4SUPST_SET( 199?, m4supst__ay, m4supst, "sp8k.p1", 0x0000, 0x010000, CRC(e39f74d8) SHA1(9d776e7d67859f4514c69fc4f9f43160da9a2ca1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 62)" ) +M4SUPST_SET( 199?, m4supst__az, m4supst, "sp8s.p1", 0x0000, 0x010000, CRC(fab99461) SHA1(82f8ca06bb04396f86124dfe4de46265b2edc393), "Barcrest","Super Streak (Barcrest) (MPU4) (set 63)" ) +M4SUPST_SET( 199?, m4supst__a0, m4supst, "spsbd.p1", 0x0000, 0x010000, CRC(b621b32d) SHA1(9aab0e074c120cb12beac585f9c513053502955c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 64)" ) +M4SUPST_SET( 199?, m4supst__a1, m4supst, "spsc.p1", 0x0000, 0x010000, CRC(8c7a24f5) SHA1(f86be164e05235281fb275e950cedaf6f630d29a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 65)" ) +M4SUPST_SET( 199?, m4supst__a2, m4supst, "spsd.p1", 0x0000, 0x010000, CRC(d34d3617) SHA1(5373335557e4bbb21264bbd9d0fbaf3640f9ab35), "Barcrest","Super Streak (Barcrest) (MPU4) (set 66)" ) +M4SUPST_SET( 199?, m4supst__a3, m4supst, "spsdk.p1", 0x0000, 0x010000, CRC(cf2fd3e7) SHA1(50d3c0851bec90037cd65a5c55654b0e688b96ca), "Barcrest","Super Streak (Barcrest) (MPU4) (set 67)" ) +M4SUPST_SET( 199?, m4supst__a4, m4supst, "spsk.p1", 0x0000, 0x010000, CRC(873a1414) SHA1(47b2bbef168382112cd12ace2d6a58695f4b0254), "Barcrest","Super Streak (Barcrest) (MPU4) (set 68)" ) +M4SUPST_SET( 199?, m4supst__a5, m4supst, "spss.p1", 0x0000, 0x010000, CRC(5e28bdb7) SHA1(3865c891178feb744ad11b2dea491350efc48bea), "Barcrest","Super Streak (Barcrest) (MPU4) (set 69)" ) +M4SUPST_SET( 199?, m4supst__a6, m4supst, "stc02ad.p1", 0x0000, 0x010000, CRC(d9a2b4d1) SHA1(9a6862a44817b3ec465f126fd2a5d2c9825d846e), "Barcrest","Super Streak (Barcrest) (MPU4) (set 70)" ) +M4SUPST_SET( 199?, m4supst__a7, m4supst, "stc02b.p1", 0x0000, 0x010000, CRC(bd2e8e6c) SHA1(71670dccedc2f47888c1205de59a81677ffeabaa), "Barcrest","Super Streak (Barcrest) (MPU4) (set 71)" ) +M4SUPST_SET( 199?, m4supst__a8, m4supst, "stc02bd.p1", 0x0000, 0x010000, CRC(efbed99b) SHA1(62d80248bb666bfb49ed7546936da744e43fa870), "Barcrest","Super Streak (Barcrest) (MPU4) (set 72)" ) +M4SUPST_SET( 199?, m4supst__a9, m4supst, "stc02c.p1", 0x0000, 0x010000, CRC(9d342386) SHA1(b50f64d66d89dbd3dee1ff2cb430a2caa050e7c8), "Barcrest","Super Streak (Barcrest) (MPU4) (set 73)" ) +M4SUPST_SET( 199?, m4supst__ba, m4supst, "stc02d.p1", 0x0000, 0x010000, CRC(c43f6e65) SHA1(0278cf389f8289d7b819125ae0a612c81ea75fab), "Barcrest","Super Streak (Barcrest) (MPU4) (set 74)" ) +M4SUPST_SET( 199?, m4supst__bb, m4supst, "stc02dk.p1", 0x0000, 0x010000, CRC(36576570) SHA1(214a57344d8e161b3dbd07457291ed9bce011842), "Barcrest","Super Streak (Barcrest) (MPU4) (set 75)" ) +M4SUPST_SET( 199?, m4supst__bc, m4supst, "stc02dr.p1", 0x0000, 0x010000, CRC(450c553f) SHA1(46050285eeb10dc368ad501c61d41351c4e2fcde), "Barcrest","Super Streak (Barcrest) (MPU4) (set 76)" ) +M4SUPST_SET( 199?, m4supst__bd, m4supst, "stc02dy.p1", 0x0000, 0x010000, CRC(d8677dd1) SHA1(18abc0a1d28458c3b26a0d1dbf6ca8aba3f3e240), "Barcrest","Super Streak (Barcrest) (MPU4) (set 77)" ) +M4SUPST_SET( 199?, m4supst__be, m4supst, "stc02k.p1", 0x0000, 0x010000, CRC(c6e8d110) SHA1(9e05961b9bba502f52a03de27e608afc52f6c025), "Barcrest","Super Streak (Barcrest) (MPU4) (set 78)" ) +M4SUPST_SET( 199?, m4supst__bf, m4supst, "stc02r.p1", 0x0000, 0x010000, CRC(918d769f) SHA1(2a4438828d9e7efd3a94eaebe56585e7ae23d9d1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 79)" ) +M4SUPST_SET( 199?, m4supst__bg, m4supst, "stc02s.p1", 0x0000, 0x010000, CRC(9c50fff7) SHA1(3468340d2d04cbdecd669817f8a9c4028e301eeb), "Barcrest","Super Streak (Barcrest) (MPU4) (set 80)" ) +M4SUPST_SET( 199?, m4supst__bh, m4supst, "stc02y.p1", 0x0000, 0x010000, CRC(0ce65e71) SHA1(02ae1fd5a41ab5a96ddcfe1cf3e8567561291961), "Barcrest","Super Streak (Barcrest) (MPU4) (set 81)" ) +M4SUPST_SET( 199?, m4supst__bi, m4supst, "sttad.p1", 0x0000, 0x010000, CRC(af615f05) SHA1(b2c1b8ba086a4d33f1269c28d4caa7286a27f085), "Barcrest","Super Streak (Barcrest) (MPU4) (set 82)" ) +M4SUPST_SET( 199?, m4supst__bj, m4supst, "sttb.p1", 0x0000, 0x010000, CRC(3119149f) SHA1(e749fcc5f95ccd29f42bfd0b140cf3cbb84d9599), "Barcrest","Super Streak (Barcrest) (MPU4) (set 83)" ) +M4SUPST_SET( 199?, m4supst__bk, m4supst, "sttbd.p1", 0x0000, 0x010000, CRC(cfddaf39) SHA1(0f24b5e691e1d43f6604087f0b3bc2571d2c4002), "Barcrest","Super Streak (Barcrest) (MPU4) (set 84)" ) +M4SUPST_SET( 199?, m4supst__bl, m4supst, "sttd.p1", 0x0000, 0x010000, CRC(8bc2498c) SHA1(a9cd3a6968186818a8c4033b1f304eac152244cf), "Barcrest","Super Streak (Barcrest) (MPU4) (set 85)" ) +M4SUPST_SET( 199?, m4supst__bm, m4supst, "sttdk.p1", 0x0000, 0x010000, CRC(39903dde) SHA1(f92c4380051ada7bbc5739550c8dfdd6ddaaa3fe), "Barcrest","Super Streak (Barcrest) (MPU4) (set 86)" ) +M4SUPST_SET( 199?, m4supst__bn, m4supst, "sttdr.p1", 0x0000, 0x010000, CRC(866f69f0) SHA1(ef9717f89b9718f1bcf8d3592f240ec9cf48bca3), "Barcrest","Super Streak (Barcrest) (MPU4) (set 87)" ) +M4SUPST_SET( 199?, m4supst__bo, m4supst, "sttdy.p1", 0x0000, 0x010000, CRC(74ebd933) SHA1(b308c8cae2c74e4e07c6e4afb505068220714824), "Barcrest","Super Streak (Barcrest) (MPU4) (set 88)" ) +M4SUPST_SET( 199?, m4supst__bp, m4supst, "sttk.p1", 0x0000, 0x010000, CRC(461db2f5) SHA1(8b97342d7ebfb33aa6aff246e8d799f4435788b7), "Barcrest","Super Streak (Barcrest) (MPU4) (set 89)" ) +M4SUPST_SET( 199?, m4supst__bq, m4supst, "sttr.p1", 0x0000, 0x010000, CRC(2591f6ec) SHA1(3d83d930e41e164e71d67b529967320e1eee8354), "Barcrest","Super Streak (Barcrest) (MPU4) (set 90)" ) +M4SUPST_SET( 199?, m4supst__br, m4supst, "stts.p1", 0x0000, 0x010000, CRC(a5e29c32) SHA1(8ba2f76505c2f40493c918b9d9524fa67999f7c1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 91)" ) +M4SUPST_SET( 199?, m4supst__bs, m4supst, "stty.p1", 0x0000, 0x010000, CRC(7306fab9) SHA1(0da1612490fcff9b7a17f97190b6b561016c3b18), "Barcrest","Super Streak (Barcrest) (MPU4) (set 92)" ) +M4SUPST_SET( 199?, m4supst__bt, m4supst, "stuad.p1", 0x0000, 0x010000, CRC(e7a01b7b) SHA1(3db08800a35d440f012ca69d84c30465818b4993), "Barcrest","Super Streak (Barcrest) (MPU4) (set 93)" ) +M4SUPST_SET( 199?, m4supst__bu, m4supst, "stub.p1", 0x0000, 0x010000, CRC(9044badf) SHA1(af8e218e3dc457bb5f24e3f2d74a8639466c3f11), "Barcrest","Super Streak (Barcrest) (MPU4) (set 94)" ) +M4SUPST_SET( 199?, m4supst__bv, m4supst, "stubd.p1", 0x0000, 0x010000, CRC(438e1687) SHA1(5e0f27e95bf861d4edc55709efc79496c7353e8b), "Barcrest","Super Streak (Barcrest) (MPU4) (set 95)" ) +M4SUPST_SET( 199?, m4supst__bw, m4supst, "stud.p1", 0x0000, 0x010000, CRC(1cbe3bec) SHA1(005dde84e57c5517fc6d6b975cc882dae11cbf63), "Barcrest","Super Streak (Barcrest) (MPU4) (set 96)" ) +M4SUPST_SET( 199?, m4supst__bx, m4supst, "studk.p1", 0x0000, 0x010000, CRC(0931d501) SHA1(afa078248230cbc0acc9d3af641ec63ed0424a75), "Barcrest","Super Streak (Barcrest) (MPU4) (set 97)" ) +M4SUPST_SET( 199?, m4supst__by, m4supst, "studr.p1", 0x0000, 0x010000, CRC(e06e1c59) SHA1(f4454f640335dbf6f9b8154d7805102253f605b4), "Barcrest","Super Streak (Barcrest) (MPU4) (set 98)" ) +M4SUPST_SET( 199?, m4supst__bz, m4supst, "study.p1", 0x0000, 0x010000, CRC(8b4275e0) SHA1(267a9d2eddf41b8838eeaee06bba45f0a8b8451f), "Barcrest","Super Streak (Barcrest) (MPU4) (set 99)" ) +M4SUPST_SET( 199?, m4supst__b0, m4supst, "stuk.p1", 0x0000, 0x010000, CRC(a66fb54f) SHA1(4351edbf6c5de817cf6972885ff1f6c7df837c37), "Barcrest","Super Streak (Barcrest) (MPU4) (set 100)" ) +M4SUPST_SET( 199?, m4supst__b1, m4supst, "stur.p1", 0x0000, 0x010000, CRC(eeb3bfed) SHA1(87a753511fb384a505d3cc69ca67fe4e288cf3bb), "Barcrest","Super Streak (Barcrest) (MPU4) (set 101)" ) +M4SUPST_SET( 199?, m4supst__b2, m4supst, "stus.p1", 0x0000, 0x010000, CRC(19aca6ad) SHA1(1583e76a4e1058fa97efdd9a7e6f7c4fe806b2f4), "Barcrest","Super Streak (Barcrest) (MPU4) (set 102)" ) +M4SUPST_SET( 199?, m4supst__b3, m4supst, "stuy.p1", 0x0000, 0x010000, CRC(e6b2b76f) SHA1(bf251b751e6a8d2764c63e92d48e1a64666b9a47), "Barcrest","Super Streak (Barcrest) (MPU4) (set 103)" ) +M4SUPST_SET( 199?, m4supst__b4, m4supst, "superstreak1deb.bin", 0x0000, 0x010000, CRC(892ccad9) SHA1(c88daadd9778e363e154b674b57ccd07cea59836), "Barcrest","Super Streak (Barcrest) (MPU4) (set 104)" ) +M4SUPST_SET( 199?, m4supst__b5, m4supst, "supst2515", 0x0000, 0x010000, CRC(c073a249) SHA1(4ae37eb61dd5e50687f433fb89f65b97926b7358), "Barcrest","Super Streak (Barcrest) (MPU4) (set 105)" ) diff --git a/src/mame/drivers/mpu4sw.c b/src/mame/drivers/mpu4sw.c index bc9719460fc..4fd52dcc850 100644 --- a/src/mame/drivers/mpu4sw.c +++ b/src/mame/drivers/mpu4sw.c @@ -11,6 +11,7 @@ #include "emu.h" #include "includes/mpu4.h" +MACHINE_CONFIG_EXTERN( mod4yam ); MACHINE_CONFIG_EXTERN( mod4oki ); MACHINE_CONFIG_EXTERN( mod2 ); INPUT_PORTS_EXTERN( mpu4 ); @@ -2242,3 +2243,334 @@ M4TUTFRT_SET( 199?, m4tutfrt__a4, m4tutfrt, "tuf20ad1.0", 0x0000, 0x010000, CR M4TUTFRT_SET( 199?, m4tutfrt__a5, m4tutfrt, "tui05___.1a3", 0x0000, 0x010000, CRC(42e3d400) SHA1(4cf914141dfc1f88704403b467176da77369da06), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 69)" ) +#define M4CASHAT_EXTRA_ROMS \ + ROM_REGION( 0x48, "fakechr", 0 ) \ + ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "cas1.hex", 0x000000, 0x080000, CRC(4711c483) SHA1(af1ceb317b7bb1c2d0c3f7a99049679c356e1860) ) \ + ROM_LOAD( "cas2.hex", 0x080000, 0x080000, CRC(26ec235c) SHA1(51de955e5def47b82ac8891d09dc0b0e5e19c01d) ) \ + +#define M4CASHAT_SET(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHAT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) \ + + +M4CASHAT_SET( 199?, m4cashat, 0, "csa12y.p1", 0x0000, 0x020000, CRC(0374584a) SHA1(446e1d122d5b38e4ee11d98a4235d7198d98b541), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 1)" ) +M4CASHAT_SET( 199?, m4cashat__a, m4cashat, "caa22ad.p1", 0x0000, 0x020000, CRC(b6274874) SHA1(7c2dc0f3e8e7bb76f3b90300141b320fa0ca39ac), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 2)" ) +M4CASHAT_SET( 199?, m4cashat__b, m4cashat, "caa22b.p1", 0x0000, 0x020000, CRC(e7f6f5e5) SHA1(fc16b50ae00525a3c84c0cbf7b418898cc5db1bc), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 3)" ) +M4CASHAT_SET( 199?, m4cashat__c, m4cashat, "caa22bd.p1", 0x0000, 0x020000, CRC(581b2b6f) SHA1(55f910c7646d5e7d3be6ffd5b4ec0f04fb98b82e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 4)" ) +M4CASHAT_SET( 199?, m4cashat__d, m4cashat, "caa22d.p1", 0x0000, 0x020000, CRC(cc494044) SHA1(13ff215f41833aa133fe9d120792c834d1e0752b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 5)" ) +M4CASHAT_SET( 199?, m4cashat__e, m4cashat, "caa22dh.p1", 0x0000, 0x020000, CRC(18ae14fa) SHA1(20a8f197075ec153ac116b9a85e3591d9d4d045d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 6)" ) +M4CASHAT_SET( 199?, m4cashat__f, m4cashat, "caa22dk.p1", 0x0000, 0x020000, CRC(71fa4ee7) SHA1(ddf2cee47f93cc5794d64922658d5892993c8d2f), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 7)" ) +M4CASHAT_SET( 199?, m4cashat__g, m4cashat, "caa22dr.p1", 0x0000, 0x020000, CRC(c2f5f5d6) SHA1(aebedb84ae388a1f0c558d36893d1341c1959594), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 8)" ) +M4CASHAT_SET( 199?, m4cashat__h, m4cashat, "caa22dy.p1", 0x0000, 0x020000, CRC(3b3de6b1) SHA1(d72ce7851969466063c6d7952787691a7c44c9dd), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 9)" ) +M4CASHAT_SET( 199?, m4cashat__i, m4cashat, "caa22h.p1", 0x0000, 0x020000, CRC(a743ca70) SHA1(e4b5ee02524873c2ccb66b4bfca39464c23eb43e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 10)" ) +M4CASHAT_SET( 199?, m4cashat__j, m4cashat, "caa22k.p1", 0x0000, 0x020000, CRC(ce17906d) SHA1(18a302132e683b00509982c09c6e3b00ae1201a0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 11)" ) +M4CASHAT_SET( 199?, m4cashat__k, m4cashat, "caa22r.p1", 0x0000, 0x020000, CRC(7d182b5c) SHA1(801d1b032e94cc45302a9f84ba7f9ce2b74f6449), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 12)" ) +M4CASHAT_SET( 199?, m4cashat__l, m4cashat, "caa22s.p1", 0x0000, 0x020000, CRC(e7edf653) SHA1(f2bdf45cc18ad4b45b47d2b2b4641460fcdfa963), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 13)" ) +M4CASHAT_SET( 199?, m4cashat__m, m4cashat, "caa22y.p1", 0x0000, 0x020000, CRC(84d0383b) SHA1(791666ce17fd65067df446a3320efd22bce23925), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 14)" ) +M4CASHAT_SET( 199?, m4cashat__n, m4cashat, "caa23ad.p1", 0x0000, 0x020000, CRC(a8641c35) SHA1(18dad4634e27e4f0b791c331b9efcf5e1d56d3bb), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 15)" ) +M4CASHAT_SET( 199?, m4cashat__o, m4cashat, "caa23b.p1", 0x0000, 0x020000, CRC(a867c129) SHA1(9b0b577938ae0500a8b80211710ed5c0b2a597fa), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 16)" ) +M4CASHAT_SET( 199?, m4cashat__p, m4cashat, "caa23bd.p1", 0x0000, 0x020000, CRC(46587f2e) SHA1(b14ed6b810ba3039824a0d13c5b75fedd40803b3), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 17)" ) +M4CASHAT_SET( 199?, m4cashat__q, m4cashat, "caa23d.p1", 0x0000, 0x020000, CRC(83d87488) SHA1(1e13a47de4837e42650c6a4a13a838eb68d0beae), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 18)" ) +M4CASHAT_SET( 199?, m4cashat__r, m4cashat, "caa23dh.p1", 0x0000, 0x020000, CRC(06ed40bb) SHA1(68f2923c4ecd91231cc66a4be7c797d7b2a46ae0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 19)" ) +M4CASHAT_SET( 199?, m4cashat__s, m4cashat, "caa23dk.p1", 0x0000, 0x020000, CRC(6fb91aa6) SHA1(5966be8aa9d5348bbdcb85b21acceaabc3c02602), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 20)" ) +M4CASHAT_SET( 199?, m4cashat__t, m4cashat, "caa23dr.p1", 0x0000, 0x020000, CRC(dcb6a197) SHA1(a18af78ba604b53a2af1e9b8dfdc6858964f631d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 21)" ) +M4CASHAT_SET( 199?, m4cashat__u, m4cashat, "caa23dy.p1", 0x0000, 0x020000, CRC(257eb2f0) SHA1(0a5f9743afb5dd7392425951580532ea5f8f17f1), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 22)" ) +M4CASHAT_SET( 199?, m4cashat__v, m4cashat, "caa23h.p1", 0x0000, 0x020000, CRC(e8d2febc) SHA1(14fe5e1699fef74145f2f6fff61e75fe3e3a0b3b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 23)" ) +M4CASHAT_SET( 199?, m4cashat__w, m4cashat, "caa23k.p1", 0x0000, 0x020000, CRC(8186a4a1) SHA1(0d8f59df0fb5a1044f6fb7d81f50f9c9b94add9b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 24)" ) +M4CASHAT_SET( 199?, m4cashat__x, m4cashat, "caa23r.p1", 0x0000, 0x020000, CRC(32891f90) SHA1(c832c2610606bc5a3beeff8f85c31af496b14427), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 25)" ) +M4CASHAT_SET( 199?, m4cashat__y, m4cashat, "caa23s.p1", 0x0000, 0x020000, CRC(26a49cdd) SHA1(ee28a22eeb8c4e8ddf041122505f9846d6b6d7d6), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 26)" ) +M4CASHAT_SET( 199?, m4cashat__z, m4cashat, "caa23y.p1", 0x0000, 0x020000, CRC(cb410cf7) SHA1(31d34a766939a9b2a23be00c2ffd658d854b3ab4), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 27)" ) +M4CASHAT_SET( 199?, m4cashat__0, m4cashat, "casattack8.bin", 0x0000, 0x020000, CRC(e29ea247) SHA1(ad00ea3bfd2eab51b20fd786cb1ce84de0d98173), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 28)" ) +M4CASHAT_SET( 199?, m4cashat__1, m4cashat, "catt15g", 0x0000, 0x020000, CRC(3f7a8863) SHA1(df8ed393aeb3a5ec3fd5bdc01c9dbbb630e6d254), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 29)" ) +M4CASHAT_SET( 199?, m4cashat__2, m4cashat, "catt15t", 0x0000, 0x020000, CRC(c6760c3a) SHA1(b7f4a3af52faf7e430e5b4ec75e2dc97e3f07dc0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 30)" ) +M4CASHAT_SET( 199?, m4cashat__3, m4cashat, "csa11ad.p1", 0x0000, 0x020000, CRC(7c1daa59) SHA1(9c0479094ba2f985803e58360b738b0baa2e410a), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 31)" ) +M4CASHAT_SET( 199?, m4cashat__4, m4cashat, "csa11b.p1", 0x0000, 0x020000, CRC(c740daba) SHA1(afa5bdf9f6aacb3a5126aa828e4d0d2518efe663), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 32)" ) +M4CASHAT_SET( 199?, m4cashat__5, m4cashat, "csa11bd.p1", 0x0000, 0x020000, CRC(55fccfd1) SHA1(b7c748573e5fb32a6be5e069e7f165a11c62b7d5), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 33)" ) +M4CASHAT_SET( 199?, m4cashat__6, m4cashat, "csa11d.p1", 0x0000, 0x020000, CRC(ecff6f1b) SHA1(3f37d8e20d5663e376c9dc5876a910a320edcf7d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 34)" ) +M4CASHAT_SET( 199?, m4cashat__7, m4cashat, "csa11dh.p1", 0x0000, 0x020000, CRC(bbc0acca) SHA1(80d95505041fd4c869f9d835d0527070f2f582d9), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 35)" ) +M4CASHAT_SET( 199?, m4cashat__8, m4cashat, "csa11dk.p1", 0x0000, 0x020000, CRC(1549f044) SHA1(22bc130106a23d0e9c354b4aa97d7b7fd8776082), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 36)" ) +M4CASHAT_SET( 199?, m4cashat__9, m4cashat, "csa11dr.p1", 0x0000, 0x020000, CRC(cf121168) SHA1(aa52b528ac565684399dc58aeb56691457727035), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 37)" ) +M4CASHAT_SET( 199?, m4cashat__aa, m4cashat, "csa11dy.p1", 0x0000, 0x020000, CRC(36da020f) SHA1(ca202c7127450d905e4717776e1f1d32fa89279b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 38)" ) +M4CASHAT_SET( 199?, m4cashat__ab, m4cashat, "csa11h.p1", 0x0000, 0x020000, CRC(297cb9a1) SHA1(63460eed75242fc7c27ee1fc9da28221e7bb21b1), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 39)" ) +M4CASHAT_SET( 199?, m4cashat__ac, m4cashat, "csa11k.p1", 0x0000, 0x020000, CRC(87f5e52f) SHA1(30b7f8c17198045bba30aaabbe74b3c1dc7d0320), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 40)" ) +M4CASHAT_SET( 199?, m4cashat__ad, m4cashat, "csa11r.p1", 0x0000, 0x020000, CRC(5dae0403) SHA1(6f2238f0fe0797bf0926044bb251fed6f97dbed6), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 41)" ) +M4CASHAT_SET( 199?, m4cashat__ae, m4cashat, "csa11s.p1", 0x0000, 0x020000, CRC(bef7a119) SHA1(88fc2003a7adda928e2e0fb78db32c7ffcbda924), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 42)" ) +M4CASHAT_SET( 199?, m4cashat__af, m4cashat, "csa11y.p1", 0x0000, 0x020000, CRC(a4661764) SHA1(740be82275358b8e3dcec5982b18a083d043d99d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 43)" ) +M4CASHAT_SET( 199?, m4cashat__ag, m4cashat, "csa12ad.p1", 0x0000, 0x020000, CRC(b15c5c64) SHA1(7a8c7b929ecaf0e14d9a5d6cdea303f5e3fc1dec), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 44)" ) +M4CASHAT_SET( 199?, m4cashat__ah, m4cashat, "csa12b.p1", 0x0000, 0x020000, CRC(60529594) SHA1(a5e70b55b8df6a94c963b970c3a4398b64b0286b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 45)" ) +M4CASHAT_SET( 199?, m4cashat__ai, m4cashat, "csa12bd.p1", 0x0000, 0x020000, CRC(98bd39ec) SHA1(ebc5a2690f1453adae0f8faee0159a01df91dd6e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 46)" ) +M4CASHAT_SET( 199?, m4cashat__aj, m4cashat, "csa12d.p1", 0x0000, 0x020000, CRC(4bed2035) SHA1(d5438d372222c4258ffb6487ba64eed9ce190133), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 47)" ) +M4CASHAT_SET( 199?, m4cashat__ak, m4cashat, "csa12dh.p1", 0x0000, 0x020000, CRC(76815af7) SHA1(6edd4a866a1b038a51cfcc9ed8cef48886b393fb), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 48)" ) +M4CASHAT_SET( 199?, m4cashat__al, m4cashat, "csa12dk.p1", 0x0000, 0x020000, CRC(d8080679) SHA1(92babec65fbcee37ff8136a5c4b1e5f4ecd2f5a6), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 49)" ) +M4CASHAT_SET( 199?, m4cashat__am, m4cashat, "csa12dr.p1", 0x0000, 0x020000, CRC(0253e755) SHA1(742174137549147ff23fbc9ba1b835cbeaffa602), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 50)" ) +M4CASHAT_SET( 199?, m4cashat__an, m4cashat, "csa12dy.p1", 0x0000, 0x020000, CRC(fb9bf432) SHA1(5f519871cc50cf9f49ec652d620267cd11ab155b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 51)" ) +M4CASHAT_SET( 199?, m4cashat__ao, m4cashat, "csa12h.p1", 0x0000, 0x020000, CRC(8e6ef68f) SHA1(b6ac0993938bb065f02498a71628cf532085b347), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 52)" ) +M4CASHAT_SET( 199?, m4cashat__ap, m4cashat, "csa12k.p1", 0x0000, 0x020000, CRC(20e7aa01) SHA1(093786b0992c1d9ce5e2d2cfad1eaf1d8e6dc733), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 53)" ) +M4CASHAT_SET( 199?, m4cashat__aq, m4cashat, "csa12r.p1", 0x0000, 0x020000, CRC(fabc4b2d) SHA1(3710b7b4bf56e46c60a60fcae82342bf201e38dc), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 54)" ) +M4CASHAT_SET( 199?, m4cashat__ar, m4cashat, "csa12s.p1", 0x0000, 0x020000, CRC(61c8af36) SHA1(d81a4056b573194a8627a3618f805d379140ff6a), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 55)" ) + + +#define M4RHR_EXTRA_ROMS \ + ROM_REGION( 0x48, "fakechr", 0 ) \ + ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ + ROM_REGION( 0x100000, "altmsm6376", 0 ) \ + ROM_LOAD( "rhrsnd1.hex", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "redhotroll10.bin", 0x0000, 0x080000, CRC(64513503) SHA1(4233492f3f6e7ad8459f1ab733727910d3b4bcf8) ) \ + +#define M4RHR_SET(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4RHR_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) \ + + +M4RHR_SET( 199?, m4rhr, 0, "rhr15.hex", 0x0000, 0x010000, CRC(895ebbda) SHA1(f2117e743a30f3c9fc6af7fd7843bc333699db9d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 1)" ) +M4RHR_SET( 199?, m4rhr__a, m4rhr, "cr4ad.p1", 0x0000, 0x010000, CRC(b99b3d14) SHA1(2ff68b33881e9b3c2db48c335ccbad783013084a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 2)" ) +M4RHR_SET( 199?, m4rhr__b, m4rhr, "cr4b.p1", 0x0000, 0x010000, CRC(ae2691b8) SHA1(360c5c3d94bf85cf5ead114dd570ea6c61082aa9), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 3)" ) +M4RHR_SET( 199?, m4rhr__c, m4rhr, "cr4bd.p1", 0x0000, 0x010000, CRC(9ba444bf) SHA1(adebf23827a5ac5e3a6d56e3352e0d3f3dc809c0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 4)" ) +M4RHR_SET( 199?, m4rhr__d, m4rhr, "cr4d.p1", 0x0000, 0x010000, CRC(ad9fe2a6) SHA1(e490c5c949559cc222d8491989196b10373ff043), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 5)" ) +M4RHR_SET( 199?, m4rhr__e, m4rhr, "cr4dk.p1", 0x0000, 0x010000, CRC(200486b4) SHA1(3916e131801c44985668ccd57dc3e812268f9417), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 6)" ) +M4RHR_SET( 199?, m4rhr__f, m4rhr, "cr4dy.p1", 0x0000, 0x010000, CRC(5b5ebe79) SHA1(6c72271258e6b951f2d6c815cfef5032e23cf7bc), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 7)" ) +M4RHR_SET( 199?, m4rhr__g, m4rhr, "cr4k.p1", 0x0000, 0x010000, CRC(2cc956e8) SHA1(37fad3d3b9460763ba4d8f569ee71778f9907853), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 8)" ) +M4RHR_SET( 199?, m4rhr__h, m4rhr, "cr4s.p1", 0x0000, 0x010000, CRC(836c3e49) SHA1(34dde2fd4fe82ab4a9e16dcf7915705f7b8a007f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 9)" ) +M4RHR_SET( 199?, m4rhr__i, m4rhr, "cr4y.p1", 0x0000, 0x010000, CRC(5a3588e8) SHA1(b25156f38fb67dc1f1e36a50af0a9b93882572d0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 10)" ) +M4RHR_SET( 199?, m4rhr__j, m4rhr, "crt03ad.p1", 0x0000, 0x010000, CRC(5b779273) SHA1(b9a278cc6b4af622af35f7d4fdacdca54c94a47f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 11)" ) +M4RHR_SET( 199?, m4rhr__k, m4rhr, "crt03b.p1", 0x0000, 0x010000, CRC(da5b3fa3) SHA1(66c570a193665ae0df4542112547fa6f5f9b7b79), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 12)" ) +M4RHR_SET( 199?, m4rhr__l, m4rhr, "crt03bd.p1", 0x0000, 0x010000, CRC(6d6bff39) SHA1(08f4235bb2cadcc49c13991fe3e2c806c0be801d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 13)" ) +M4RHR_SET( 199?, m4rhr__m, m4rhr, "crt03c.p1", 0x0000, 0x010000, CRC(a5b38945) SHA1(31351667d471c107ade58e97fe5657632d91be80), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 14)" ) +M4RHR_SET( 199?, m4rhr__n, m4rhr, "crt03d.p1", 0x0000, 0x010000, CRC(7f39cf9d) SHA1(6f8a1660a253cf7f49ba589b3847ca3dc5a9b4ee), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 15)" ) +M4RHR_SET( 199?, m4rhr__o, m4rhr, "crt03dk.p1", 0x0000, 0x010000, CRC(32933785) SHA1(0ae9b8823ed8c914da0a64913afdf3c348142804), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 16)" ) +M4RHR_SET( 199?, m4rhr__p, m4rhr, "crt03dr.p1", 0x0000, 0x010000, CRC(2381792a) SHA1(514b9e580d156ec3cfeb460d0895143368e9a360), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 17)" ) +M4RHR_SET( 199?, m4rhr__q, m4rhr, "crt03dy.p1", 0x0000, 0x010000, CRC(3439dc85) SHA1(092dcd36e2ea43ecf62cfc1bf1498ea7777213dc), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 18)" ) +M4RHR_SET( 199?, m4rhr__r, m4rhr, "crt03k.p1", 0x0000, 0x010000, CRC(0b841ae9) SHA1(5a78381122a3b718e3f212f30f76dc61e2e3ac5e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 19)" ) +M4RHR_SET( 199?, m4rhr__s, m4rhr, "crt03r.p1", 0x0000, 0x010000, CRC(2a8bd767) SHA1(a9547ef37da9494bd4ffe5fbb68eca67fe63c3ba), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 20)" ) +M4RHR_SET( 199?, m4rhr__t, m4rhr, "crt03s.p1", 0x0000, 0x010000, CRC(2b4c24d2) SHA1(94b19b0e8090dbbde2c67d5949f19d4050972fb1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 21)" ) +M4RHR_SET( 199?, m4rhr__u, m4rhr, "crt03y.p1", 0x0000, 0x010000, CRC(40c3a105) SHA1(7ad988f71a3523ad2b19fa7d6cdf74d4328fb3e1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 22)" ) +M4RHR_SET( 199?, m4rhr__v, m4rhr, "cruad.p1", 0x0000, 0x010000, CRC(3a680f14) SHA1(cd3c2bf77b148ee4f4ce76b2c1bc142491117890), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 23)" ) +M4RHR_SET( 199?, m4rhr__w, m4rhr, "crub.p1", 0x0000, 0x010000, CRC(4cee9020) SHA1(b919ba28294c39b49e4fcfa54a75e852f9c873ed), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 24)" ) +M4RHR_SET( 199?, m4rhr__x, m4rhr, "crubd.p1", 0x0000, 0x010000, CRC(7184b193) SHA1(392cb5887ec988e3aa1cba2491885103da1e503a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 25)" ) +M4RHR_SET( 199?, m4rhr__y, m4rhr, "crud.p1", 0x0000, 0x010000, CRC(2528047f) SHA1(0b07470ff756b003c03fd4a7ff3c1d5f79e8307f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 26)" ) +M4RHR_SET( 199?, m4rhr__z, m4rhr, "crudk.p1", 0x0000, 0x010000, CRC(73465d95) SHA1(3eddaee64a681727743b23fd0bec0285ed59a5ef), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 27)" ) +M4RHR_SET( 199?, m4rhr__0, m4rhr, "crudy.p1", 0x0000, 0x010000, CRC(e08696f9) SHA1(37c97bb22ae0d09657d7d589f76adfbe6fb642e0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 28)" ) +M4RHR_SET( 199?, m4rhr__1, m4rhr, "cruk.p1", 0x0000, 0x010000, CRC(168627f0) SHA1(c6c21f8442ff88736d3fd25860d815beb5a6b845), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 29)" ) +M4RHR_SET( 199?, m4rhr__2, m4rhr, "crus.p1", 0x0000, 0x010000, CRC(bf2ff034) SHA1(7ee7ef30da4283dbb2b1b040fdd3313cb2e1b7e5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 30)" ) +M4RHR_SET( 199?, m4rhr__3, m4rhr, "cruy.p1", 0x0000, 0x010000, CRC(edf1346b) SHA1(c250178991885a922f676424e70c637e11089efb), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 31)" ) +M4RHR_SET( 199?, m4rhr__4, m4rhr, "redhot8.bin", 0x0000, 0x010000, CRC(1dc62d7b) SHA1(640a5b29314a7dc67db271cce06c23c676d77eee), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 32)" ) +M4RHR_SET( 199?, m4rhr__5, m4rhr, "rhr03.r", 0x0000, 0x010000, CRC(98d81b1e) SHA1(17ab0dced53be9755aada7954aff2dc2a6973190), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 33)" ) +M4RHR_SET( 199?, m4rhr__6, m4rhr, "rhr10", 0x0000, 0x010000, CRC(2a18a033) SHA1(add907c5ab155c28142dcee57825059715afd80d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 34)" ) +M4RHR_SET( 199?, m4rhr__7, m4rhr, "rhr2015", 0x0000, 0x010000, CRC(dbfd3b95) SHA1(4fc7ae32f7d76be3d3d07d627391884bd4d6de09), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 35)" ) +M4RHR_SET( 199?, m4rhr__8, m4rhr, "rhr2515", 0x0000, 0x010000, CRC(e4554c23) SHA1(6d977beb282fd638de3457e467e842ce79b5be7c), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 36)" ) +M4RHR_SET( 199?, m4rhr__9, m4rhr, "rhr2pprg.bin", 0x0000, 0x010000, CRC(f97047b2) SHA1(d3ed8c93e405f9e7448b3924ff9aa84223b76046), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 37)" ) +M4RHR_SET( 199?, m4rhr__aa, m4rhr, "rhrb.p1", 0x0000, 0x010000, CRC(876fbe46) SHA1(1c7faf68ddef2ccbb8e3cd2cf5c709a7a4f4daef), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 38)" ) +M4RHR_SET( 199?, m4rhr__ab, m4rhr, "rhrbd.p1", 0x0000, 0x010000, CRC(f0fa0c7b) SHA1(96bfce8ea54e392a36cb8d82a032438bff992f07), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 39)" ) +M4RHR_SET( 199?, m4rhr__ac, m4rhr, "rhrc.p1", 0x0000, 0x010000, CRC(76a0e556) SHA1(1a9bae286ca40d8e72022645d006a219f113e31a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 40)" ) +M4RHR_SET( 199?, m4rhr__ad, m4rhr, "rhrd.p1", 0x0000, 0x010000, CRC(58a5dd6f) SHA1(3646b8cb3d49e8c530e321daad052f27cdf4bb3d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 41)" ) +M4RHR_SET( 199?, m4rhr__ae, m4rhr, "rhrk.p1", 0x0000, 0x010000, CRC(2212cebb) SHA1(224e7e243b17f3ca90a6daa529984e9a879ff266), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 42)" ) +M4RHR_SET( 199?, m4rhr__af, m4rhr, "rhrs.p1", 0x0000, 0x010000, CRC(a0e5d5b6) SHA1(c730e6319bbea6f035fb3e249991983783ef5743), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 43)" ) +M4RHR_SET( 199?, m4rhr__ag, m4rhr, "rhtad.p1", 0x0000, 0x010000, CRC(ae3a31a0) SHA1(7e1f05a21cf5b3d2aceba755136c567b5d6ecfcd), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 44)" ) +M4RHR_SET( 199?, m4rhr__ah, m4rhr, "rhtb.p1", 0x0000, 0x010000, CRC(7ceb13c8) SHA1(f0f22149bd0fb12ef06c4c3ecba605df33f52c51), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 45)" ) +M4RHR_SET( 199?, m4rhr__ai, m4rhr, "rhtbd.p1", 0x0000, 0x010000, CRC(e4b290fc) SHA1(bf16d06429d67936118264f6c4f1ae637753d5db), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 46)" ) +M4RHR_SET( 199?, m4rhr__aj, m4rhr, "rhtd.p1", 0x0000, 0x010000, CRC(a08d508c) SHA1(10efbfb4fc4820313b410ec73f9c32ed048e2228), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 47)" ) +M4RHR_SET( 199?, m4rhr__ak, m4rhr, "rhtdk.p1", 0x0000, 0x010000, CRC(6495681a) SHA1(afd3451402e19c4c4bb8507447d6771323219e80), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 48)" ) +M4RHR_SET( 199?, m4rhr__al, m4rhr, "rhtdr.p1", 0x0000, 0x010000, CRC(df9e5c83) SHA1(88586852c0773de4ee1b4c627eabf3de27e5c2a1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 49)" ) +M4RHR_SET( 199?, m4rhr__am, m4rhr, "rhtdy.p1", 0x0000, 0x010000, CRC(42f5746d) SHA1(964bd8801b44de9ea45c43b290b1cd6284e97578), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 50)" ) +M4RHR_SET( 199?, m4rhr__an, m4rhr, "rhtk.p1", 0x0000, 0x010000, CRC(c3bfb174) SHA1(2579bf17252988de17a1367546ae187420f95cc5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 51)" ) +M4RHR_SET( 199?, m4rhr__ao, m4rhr, "rhtr.p1", 0x0000, 0x010000, CRC(f53f4876) SHA1(feda495361d384c662554d445a95191a2c52a56a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 52)" ) +M4RHR_SET( 199?, m4rhr__ap, m4rhr, "rhts.p1", 0x0000, 0x010000, CRC(fecb7076) SHA1(43086c6bfd878d0ca1ec8d45285d3e941a62ac8e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 53)" ) +M4RHR_SET( 199?, m4rhr__aq, m4rhr, "rhty.p1", 0x0000, 0x010000, CRC(68546098) SHA1(57981c06efcb44915d8c2d4b6e1cba377c4a8590), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 54)" ) +M4RHR_SET( 199?, m4rhr__ar, m4rhr, "rhuad.p1", 0x0000, 0x010000, CRC(2093126b) SHA1(942994793697cec730c461c87b24a1429e46cc02), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 55)" ) +M4RHR_SET( 199?, m4rhr__as, m4rhr, "rhub.p1", 0x0000, 0x010000, CRC(2be41a3a) SHA1(a50c7b5b93a619e541be480646517e278da8e579), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 56)" ) +M4RHR_SET( 199?, m4rhr__at, m4rhr, "rhubd.p1", 0x0000, 0x010000, CRC(168f7f21) SHA1(9c9e09673bdadd146883a06a8db3c0ee4b304eab), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 57)" ) +M4RHR_SET( 199?, m4rhr__au, m4rhr, "rhud.p1", 0x0000, 0x010000, CRC(71932d29) SHA1(e92af5cced251eea2e31c4c1968e77087c64b824), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 58)" ) +M4RHR_SET( 199?, m4rhr__av, m4rhr, "rhudk.p1", 0x0000, 0x010000, CRC(8de54a5d) SHA1(a275d8c67d38c09f19ffa41e97fbcbea3d297aa4), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 59)" ) +M4RHR_SET( 199?, m4rhr__aw, m4rhr, "rhudr.p1", 0x0000, 0x010000, CRC(ba01ac84) SHA1(d03b3b321abd220f619724e99cc396c38418f2d3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 60)" ) +M4RHR_SET( 199?, m4rhr__ax, m4rhr, "rhudy.p1", 0x0000, 0x010000, CRC(692bf4eb) SHA1(136f36073f236b48442a20e06aa51a978135f1b3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 61)" ) +M4RHR_SET( 199?, m4rhr__ay, m4rhr, "rhuk.p1", 0x0000, 0x010000, CRC(9e4e1e91) SHA1(f671858c41dc0e55189e9a86fff1846938b5c2e5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 62)" ) +M4RHR_SET( 199?, m4rhr__az, m4rhr, "rhur.p1", 0x0000, 0x010000, CRC(6e9425e5) SHA1(1e2827f3469af15e8d390d9af839c7b474ea95a7), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 63)" ) +M4RHR_SET( 199?, m4rhr__a0, m4rhr, "rhus.p1", 0x0000, 0x010000, CRC(31e776fc) SHA1(e51799e9db5a08cbfb0b6c5466a0a085c3d91db4), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 64)" ) +M4RHR_SET( 199?, m4rhr__a1, m4rhr, "rhuy.p1", 0x0000, 0x010000, CRC(5d12178a) SHA1(18525828fac1931bb8e11f96b79db143ed533771), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 65)" ) +M4RHR_SET( 199?, m4rhr__a2, m4rhr, "cr__x__x.5_0", 0x0000, 0x010000, CRC(278fe91e) SHA1(dcfed3a7796d1ee365e535115b66c7d6cbe0ab74), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 66)" ) +M4RHR_SET( 199?, m4rhr__a3, m4rhr, "cr__x_dx.2_0", 0x0000, 0x010000, CRC(73fb120c) SHA1(4c0f39253dee9b528763a9cb609dec31e8529713), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 67)" ) + + +#define M4UUAW_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "uuasnd.p1", 0x00000, 0x080000, CRC(be1a1131) SHA1(b7f50d8db6b7d134757e0746e7d9faf9fd3a2c7e) ) \ + ROM_LOAD( "uuasnd.p2", 0x080000, 0x080000, CRC(c8492b3a) SHA1(d390e37f4a62869079bb38395a2e86a5ad24392f) ) \ + +#define M4UUAW_SET(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4UUAW_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) \ + + + +M4UUAW_SET( 199?, m4uuaw, 0, "uua21h.p1", 0x0000, 0x020000, CRC(199e6dae) SHA1(ecd95ba2c2255afbaa8df96d625a8bfc97e4d3bc), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 1)" ) +M4UUAW_SET( 199?, m4uuaw__a, m4uuaw, "upa15g", 0x0000, 0x020000, CRC(d20b8b92) SHA1(6fcddc781c204dfd34de2c4e4ce0ec35fb3ec4e0), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 2)" ) +M4UUAW_SET( 199?, m4uuaw__b, m4uuaw, "upa15t", 0x0000, 0x020000, CRC(85e3e82a) SHA1(e90183fab082f159d76ea14da794d52ee6ab8200), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 3)" ) +M4UUAW_SET( 199?, m4uuaw__c, m4uuaw, "ups21ad.p1", 0x0000, 0x020000, CRC(c19fa891) SHA1(c2772ec20a65ce999d901e8c873ec687113b18d4), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 4)" ) +M4UUAW_SET( 199?, m4uuaw__d, m4uuaw, "ups21b.p1", 0x0000, 0x020000, CRC(01320407) SHA1(a3273c59733e42013c3448b2a5c7c575ec0182b9), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 5)" ) +M4UUAW_SET( 199?, m4uuaw__e, m4uuaw, "ups21bd.p1", 0x0000, 0x020000, CRC(2fa3cb8a) SHA1(8df994ce93fc6f0df27a6ee73676d9ee73593091), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 6)" ) +M4UUAW_SET( 199?, m4uuaw__f, m4uuaw, "ups21d.p1", 0x0000, 0x020000, CRC(2a8db1a6) SHA1(873ab3757920c9153c1542748a74b36ce5e190c2), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 7)" ) +M4UUAW_SET( 199?, m4uuaw__g, m4uuaw, "ups21dh.p1", 0x0000, 0x020000, CRC(7bcfbb46) SHA1(b93dfa71e3ec0ea96eaf2db4cd382b0a2852a1ff), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 8)" ) +M4UUAW_SET( 199?, m4uuaw__h, m4uuaw, "ups21dk.p1", 0x0000, 0x020000, CRC(0642ae02) SHA1(8898341f8dc4f4c8c45ce6d04a01bd919cb0548a), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 9)" ) +M4UUAW_SET( 199?, m4uuaw__i, m4uuaw, "ups21dr.p1", 0x0000, 0x020000, CRC(b54d1533) SHA1(1f9220342dcab675b04895f69a7ca75579ba729f), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 10)" ) +M4UUAW_SET( 199?, m4uuaw__j, m4uuaw, "ups21dy.p1", 0x0000, 0x020000, CRC(4c850654) SHA1(21f386060301adef646fe469c1fcfb002d3e3424), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 11)" ) +M4UUAW_SET( 199?, m4uuaw__k, m4uuaw, "ups21h.p1", 0x0000, 0x020000, CRC(555e74cb) SHA1(14246b54839eb334576a119d7c87901f3b2f25ad), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 12)" ) +M4UUAW_SET( 199?, m4uuaw__l, m4uuaw, "ups21k.p1", 0x0000, 0x020000, CRC(28d3618f) SHA1(186337119e4b663dadc129533ce8a913013390a9), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 13)" ) +M4UUAW_SET( 199?, m4uuaw__m, m4uuaw, "ups21r.p1", 0x0000, 0x020000, CRC(9bdcdabe) SHA1(db0bb90705abec92a220a3dbe0ea69266d5e0558), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 14)" ) +M4UUAW_SET( 199?, m4uuaw__n, m4uuaw, "ups21s.p1", 0x0000, 0x020000, CRC(c4a8a542) SHA1(61063d55c6017cf17d704df576cb62da5bd75820), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 15)" ) +M4UUAW_SET( 199?, m4uuaw__o, m4uuaw, "ups21y.p1", 0x0000, 0x020000, CRC(6214c9d9) SHA1(d25fecc9798e342207d358a54efad1908c0e2247), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 16)" ) +M4UUAW_SET( 199?, m4uuaw__p, m4uuaw, "ups22ad.p1", 0x0000, 0x020000, CRC(ee0f53a6) SHA1(eabe58efa82015eb2266a793853e8ade546d6da1), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 17)" ) +M4UUAW_SET( 199?, m4uuaw__q, m4uuaw, "ups22b.p1", 0x0000, 0x020000, CRC(e7dbf5ae) SHA1(0fbbc3da1af8b60993a7f6082bd5e96da21cd0b8), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 18)" ) +M4UUAW_SET( 199?, m4uuaw__r, m4uuaw, "ups22bd.p1", 0x0000, 0x020000, CRC(003330bd) SHA1(42ad6ddfd7639909151dcee5e40e82a23074fd59), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 19)" ) +M4UUAW_SET( 199?, m4uuaw__s, m4uuaw, "ups22d.p1", 0x0000, 0x020000, CRC(cc64400f) SHA1(0ff7858c637fbb43a7cd1313bbf046177e4b7761), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 20)" ) +M4UUAW_SET( 199?, m4uuaw__t, m4uuaw, "ups22dh.p1", 0x0000, 0x020000, CRC(545f4071) SHA1(3947499d78d31fb0b269a63a518790b503a97685), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 21)" ) +M4UUAW_SET( 199?, m4uuaw__u, m4uuaw, "ups22dk.p1", 0x0000, 0x020000, CRC(29d25535) SHA1(7f053741d12cce467dd437ea998064e13d1ca52b), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 22)" ) +M4UUAW_SET( 199?, m4uuaw__v, m4uuaw, "ups22dr.p1", 0x0000, 0x020000, CRC(9addee04) SHA1(45c15536c8846da825a994a667b6e46598c1642e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 23)" ) +M4UUAW_SET( 199?, m4uuaw__w, m4uuaw, "ups22dy.p1", 0x0000, 0x020000, CRC(6315fd63) SHA1(9a5fcab51d4e94b96669149285dda28cd41020b8), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 24)" ) +M4UUAW_SET( 199?, m4uuaw__x, m4uuaw, "ups22h.p1", 0x0000, 0x020000, CRC(b3b78562) SHA1(3e75fa20156faa3d38c2b5ac824bffe47e72b7bc), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 25)" ) +M4UUAW_SET( 199?, m4uuaw__y, m4uuaw, "ups22k.p1", 0x0000, 0x020000, CRC(ce3a9026) SHA1(80977176c5bae809a564f4fc0e3d6370f91f829b), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 26)" ) +M4UUAW_SET( 199?, m4uuaw__z, m4uuaw, "ups22r.p1", 0x0000, 0x020000, CRC(7d352b17) SHA1(d2d1d016a587be318e9018eb1953e68fe83620df), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 27)" ) +M4UUAW_SET( 199?, m4uuaw__0, m4uuaw, "ups22s.p1", 0x0000, 0x020000, CRC(ac990aa9) SHA1(396c9eded9c18ab2bcb0f4066a890f6e239830f1), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 28)" ) +M4UUAW_SET( 199?, m4uuaw__1, m4uuaw, "ups22y.p1", 0x0000, 0x020000, CRC(84fd3870) SHA1(8d294ae1a92d1e99c4c3f17a2d77fe1d994b2c33), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 29)" ) +M4UUAW_SET( 199?, m4uuaw__2, m4uuaw, "uua21ad.p1", 0x0000, 0x020000, CRC(2a18c292) SHA1(5853cb069eb5caa23372e5dedd33868103125780), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 30)" ) +M4UUAW_SET( 199?, m4uuaw__3, m4uuaw, "uua21b.p1", 0x0000, 0x020000, CRC(d71cc3db) SHA1(7d783110341237769165a08fd86f597225f8d90c), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 31)" ) +M4UUAW_SET( 199?, m4uuaw__4, m4uuaw, "uua21bd.p1", 0x0000, 0x020000, CRC(f04323be) SHA1(194c996d4c8e2fed2bcb02e29423e68b53900a1f), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 32)" ) +M4UUAW_SET( 199?, m4uuaw__5, m4uuaw, "uua21d.p1", 0x0000, 0x020000, CRC(664da8c3) SHA1(c93b0b5e796fcde0850e2b3054f1db0417f4e9ed), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 33)" ) +M4UUAW_SET( 199?, m4uuaw__6, m4uuaw, "uua21dh.p1", 0x0000, 0x020000, CRC(3ec18dcb) SHA1(fb5fe8ba0b59a21401cf091f43ad9f2a4df3447c), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 34)" ) +M4UUAW_SET( 199?, m4uuaw__7, m4uuaw, "uua21dk.p1", 0x0000, 0x020000, CRC(84919e1c) SHA1(c7315a3d1985180ec5ae1f4e5c7f0c99c1e0bac4), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 35)" ) +M4UUAW_SET( 199?, m4uuaw__8, m4uuaw, "uua21dr.p1", 0x0000, 0x020000, CRC(434c988f) SHA1(eb6126048df5bc4ff98d9838a3bb6cf24a9ab895), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 36)" ) +M4UUAW_SET( 199?, m4uuaw__9, m4uuaw, "uua21dy.p1", 0x0000, 0x020000, CRC(098b30d9) SHA1(48daa77f3aafdcd52d7291cdda533e8a9428de0e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 37)" ) +M4UUAW_SET( 199?, m4uuaw__aa, m4uuaw, "uua21k.p1", 0x0000, 0x020000, CRC(a3ce7e79) SHA1(8670d2cb7281ccabc15c5288a3e0dd99cfc1ae36), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 38)" ) +M4UUAW_SET( 199?, m4uuaw__ab, m4uuaw, "uua21r.p1", 0x0000, 0x020000, CRC(641378ea) SHA1(de0282af6a17c7fc16c7eca10e81ffb208675779), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 39)" ) +M4UUAW_SET( 199?, m4uuaw__ac, m4uuaw, "uua21s.p1", 0x0000, 0x020000, CRC(27c46fcc) SHA1(68a03fcce5d8155d6c0115d813c17217c4120375), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 40)" ) +M4UUAW_SET( 199?, m4uuaw__ad, m4uuaw, "uua21y.p1", 0x0000, 0x020000, CRC(2ed4d0bc) SHA1(ffb0585e729b389855d24015e1ef7582eab88d3e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 41)" ) +M4UUAW_SET( 199?, m4uuaw__ae, m4uuaw, "uua22ad.p1", 0x0000, 0x020000, CRC(b2ace4d5) SHA1(da02abe111fea3fbfb9495e9b447139cd67a61e0), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 42)" ) +M4UUAW_SET( 199?, m4uuaw__af, m4uuaw, "uua22b.p1", 0x0000, 0x020000, CRC(71a6374a) SHA1(c14ed22fceb83b5ac72021322c9b8bb3d5afeffb), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 43)" ) +M4UUAW_SET( 199?, m4uuaw__ag, m4uuaw, "uua22bd.p1", 0x0000, 0x020000, CRC(68f705f9) SHA1(678ba97241f3dede96239265eed418d4717637a6), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 44)" ) +M4UUAW_SET( 199?, m4uuaw__ah, m4uuaw, "uua22d.p1", 0x0000, 0x020000, CRC(c0f75c52) SHA1(a4e1e496b0cbb24767f017fbe228fbb8ab2bb907), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 45)" ) +M4UUAW_SET( 199?, m4uuaw__ai, m4uuaw, "uua22dh.p1", 0x0000, 0x020000, CRC(a675ab8c) SHA1(37fb437b95f9ff50fe41ebce825e3dd1b361925e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 46)" ) +M4UUAW_SET( 199?, m4uuaw__aj, m4uuaw, "uua22dk.p1", 0x0000, 0x020000, CRC(1c25b85b) SHA1(b42cdae2e2c00644376eb5f0c5b7567d3811b162), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 47)" ) +M4UUAW_SET( 199?, m4uuaw__ak, m4uuaw, "uua22dr.p1", 0x0000, 0x020000, CRC(dbf8bec8) SHA1(b3ac5ed5b8cbc0457e5dfadefcab563e3197b045), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 48)" ) +M4UUAW_SET( 199?, m4uuaw__al, m4uuaw, "uua22dy.p1", 0x0000, 0x020000, CRC(913f169e) SHA1(9f82f5d868a9be046ced838f8b53730140ed50b2), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 49)" ) +M4UUAW_SET( 199?, m4uuaw__am, m4uuaw, "uua22h.p1", 0x0000, 0x020000, CRC(bf24993f) SHA1(618d6d2f2b762d61eb58087a3597ffb709658631), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 50)" ) +M4UUAW_SET( 199?, m4uuaw__an, m4uuaw, "uua22k.p1", 0x0000, 0x020000, CRC(05748ae8) SHA1(d9aeee26c8471bb6ee58a4a838e5c9930da92725), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 51)" ) +M4UUAW_SET( 199?, m4uuaw__ao, m4uuaw, "uua22r.p1", 0x0000, 0x020000, CRC(c2a98c7b) SHA1(115f7c7a4b9eab5f3270f43a2db7a320dfc4e223), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 52)" ) +M4UUAW_SET( 199?, m4uuaw__ap, m4uuaw, "uua22s.p1", 0x0000, 0x020000, CRC(65f57c0c) SHA1(7b2526cdd1ec973a91bc7ade116e16e03b32596a), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 53)" ) +M4UUAW_SET( 199?, m4uuaw__aq, m4uuaw, "uua22y.p1", 0x0000, 0x020000, CRC(886e242d) SHA1(4b49b70fc2635fcf7b538b35b42a358cf4dd60b3), "Barcrest","Up Up and Away (Barcrest) (MPU4) (set 54)" ) + + +#define M4RICHFM_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "rfamouss1.hex", 0x000000, 0x080000, CRC(b237c8b8) SHA1(b2322d68fe57cca0ed49b01ae0d3a0e93a623eac) ) \ + ROM_LOAD( "rfamouss2.hex", 0x080000, 0x080000, CRC(12c295d5) SHA1(0758354cfb5242b4ce3f5f25c3458d91f4b4a1ec) ) \ + +#define M4RICHFM_SET(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4RICHFM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) \ + + +M4RICHFM_SET( 199?, m4richfm, 0, "rfts.p1", 0x0000, 0x010000, CRC(2a747164) SHA1(a4c8e160f09ebea4fca6dd32ff020d3f1a4f1a1c), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 1)" ) +M4RICHFM_SET( 199?, m4richfm__a, m4richfm, "rafc.p1", 0x0000, 0x010000, CRC(d92f602f) SHA1(c93131138deb4018d499b9b45c07d4517c5072b7), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 2)" ) +M4RICHFM_SET( 199?, m4richfm__b, m4richfm, "rafd.p1", 0x0000, 0x010000, CRC(b0e9f470) SHA1(cad080a5d7f24968524fe10f6c43b088f35d7364), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 3)" ) +M4RICHFM_SET( 199?, m4richfm__c, m4richfm, "rafs.p1", 0x0000, 0x010000, CRC(f312b2e3) SHA1(8bf2cb7b73cfc320143d05d25e28c15fb4f26045), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 4)" ) +M4RICHFM_SET( 199?, m4richfm__d, m4richfm, "rafy.p1", 0x0000, 0x010000, CRC(a8812d45) SHA1(c0b89833f87ed90eb3e9c3299fcea362d501ed90), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 5)" ) +M4RICHFM_SET( 199?, m4richfm__e, m4richfm, "rchfam8", 0x0000, 0x004000, CRC(55f16698) SHA1(9853b17bbb81371192a564376be7b3074908dbca), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 6)" ) +M4RICHFM_SET( 199?, m4richfm__f, m4richfm, "rf5ad.p1", 0x0000, 0x010000, CRC(cd280292) SHA1(605d89608e106979229a00701a2e5b578df50d60), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 7)" ) +M4RICHFM_SET( 199?, m4richfm__g, m4richfm, "rf5b.p1", 0x0000, 0x010000, CRC(e1edf753) SHA1(677f0397ec57422241f4669be610cffd33a9b44a), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 8)" ) +M4RICHFM_SET( 199?, m4richfm__h, m4richfm, "rf5bd.p1", 0x0000, 0x010000, CRC(2d698365) SHA1(7f91cee0d34550aba9ac0f4ee398df4de6fd6f7e), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 9)" ) +M4RICHFM_SET( 199?, m4richfm__i, m4richfm, "rf5d.p1", 0x0000, 0x010000, CRC(034cab0b) SHA1(79eaeb84377dbb8e6bda1dd2ae29a1f79656b9e4), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 10)" ) +M4RICHFM_SET( 199?, m4richfm__j, m4richfm, "rf5dk.p1", 0x0000, 0x010000, CRC(14fc0f13) SHA1(a2b294da18c3f5bc9c81eb3f3af5ab5ca58c9cad), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 11)" ) +M4RICHFM_SET( 199?, m4richfm__k, m4richfm, "rf5dy.p1", 0x0000, 0x010000, CRC(a2664c64) SHA1(2256b6e0d6472faa901348cb5be849ad012f1d16), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 12)" ) +M4RICHFM_SET( 199?, m4richfm__l, m4richfm, "rf5k.p1", 0x0000, 0x010000, CRC(d8787b25) SHA1(885ac7ddd3de4cb475539d02aefbf38fed7c1f2c), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 13)" ) +M4RICHFM_SET( 199?, m4richfm__m, m4richfm, "rf5s.p1", 0x0000, 0x010000, CRC(8d1ed193) SHA1(a4ca973dac8a8fd550bf7e57a8cdc627c28da4b8), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 14)" ) +M4RICHFM_SET( 199?, m4richfm__n, m4richfm, "rf5y.p1", 0x0000, 0x010000, CRC(ad288548) SHA1(a7222ab5bffe8e5e0844f8e6f13e09afe74b08a8), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 15)" ) +M4RICHFM_SET( 199?, m4richfm__o, m4richfm, "rf8b.p1", 0x0000, 0x010000, CRC(105c24e1) SHA1(cb417976a74441bf2ca888198b57fed81d758c15), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 16)" ) +M4RICHFM_SET( 199?, m4richfm__p, m4richfm, "rf8c.p1", 0x0000, 0x010000, CRC(8924a706) SHA1(abb1a1f6cdeb15884dfa63fc04882f794453d4ec), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 17)" ) +M4RICHFM_SET( 199?, m4richfm__q, m4richfm, "rft20.10", 0x0000, 0x010000, CRC(41e6ef75) SHA1(d836fdea5a89b845687d2ff929365bd81737c760), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 18)" ) +M4RICHFM_SET( 199?, m4richfm__r, m4richfm, "rftad.p1", 0x0000, 0x010000, CRC(8553386f) SHA1(ad834d52e51c7f375a370dc6d8586668921a9795), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 19)" ) +M4RICHFM_SET( 199?, m4richfm__s, m4richfm, "rftb.p1", 0x0000, 0x010000, CRC(0189cc2f) SHA1(62ccc85c50c56aa2e0bcbb42b5c24d402f00d366), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 20)" ) +M4RICHFM_SET( 199?, m4richfm__t, m4richfm, "rftbd.p1", 0x0000, 0x010000, CRC(08351e03) SHA1(d08d38d46793828b147ccde8121fbb9bf422cd60), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 21)" ) +M4RICHFM_SET( 199?, m4richfm__u, m4richfm, "rftd.p1", 0x0000, 0x010000, CRC(689f02ed) SHA1(1a30aac5454b0c477a698e9c573fe313bc1fe858), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 22)" ) +M4RICHFM_SET( 199?, m4richfm__v, m4richfm, "rftdk.p1", 0x0000, 0x010000, CRC(098b88f5) SHA1(4559b561380055c429a5b4741326f64ad89d8481), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 23)" ) +M4RICHFM_SET( 199?, m4richfm__w, m4richfm, "rftdy.p1", 0x0000, 0x010000, CRC(26b912f8) SHA1(1719d63b4a25293199b0729235beb5b93c484490), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 24)" ) +M4RICHFM_SET( 199?, m4richfm__x, m4richfm, "rftk.p1", 0x0000, 0x010000, CRC(6a48bd98) SHA1(2f17194869ca008f7a2eb622bd3725bc91950a17), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 25)" ) +M4RICHFM_SET( 199?, m4richfm__y, m4richfm, "rfty.p1", 0x0000, 0x010000, CRC(723fe46e) SHA1(51bb8aff358d527483eaf1b1e20606d94a937dc6), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 26)" ) +M4RICHFM_SET( 199?, m4richfm__z, m4richfm, "rich2010", 0x0000, 0x010000, CRC(baecbdbc) SHA1(5fffecf3c91e832d3cfc13dbf5e6b74fc3d6a146), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 27)" ) +M4RICHFM_SET( 199?, m4richfm__0, m4richfm, "r&f5.10", 0x0000, 0x010000, CRC(45d493d0) SHA1(9a549821a005fa65c2eb8b35c5f15659bd897519), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 28)" ) +M4RICHFM_SET( 199?, m4richfm__1, m4richfm, "r&f5.4", 0x0000, 0x010000, CRC(0441d833) SHA1(361910fd64bc7291f6200fe354c468d16e7d6c80), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 29)" ) +M4RICHFM_SET( 199?, m4richfm__2, m4richfm, "r&f5.8t", 0x0000, 0x010000, CRC(525e2520) SHA1(84b2ff86d6a54ebb3bcf0138930b2619a8733161), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 30)" ) +M4RICHFM_SET( 199?, m4richfm__3, m4richfm, "r&f55", 0x0000, 0x010000, CRC(6095a72b) SHA1(af25f7c2fb5241064ea995d35fe4fd2f242e3750), "Barcrest","Rich & Famous (Barcrest) (MPU4) (set 31)" ) + + +#define M4NNWWC_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing, maybe the same as NNWW */ \ + +#define M4NNWWC_SET(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4NNWWC_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) \ + +M4NNWWC_SET( 199?, m4nnwwc, 0, "cn302c.p1", 0x0000, 0x010000, CRC(fd9de050) SHA1(14c80deba1396aa5be0a1d02964ecd4b946f2ee8), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 1)" ) +M4NNWWC_SET( 199?, m4nnwwc__a, m4nnwwc, "cf302ad.p1", 0x0000, 0x010000, CRC(6c6aa0cd) SHA1(5a58a19c35b0b195f3b4e7a21f57ca61d45ec1fb), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 2)" ) +M4NNWWC_SET( 199?, m4nnwwc__b, m4nnwwc, "cf302b.p1", 0x0000, 0x010000, CRC(9ca07939) SHA1(6eb0a5675bb803a11c4c874dc0516d94c48194b7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 3)" ) +M4NNWWC_SET( 199?, m4nnwwc__c, m4nnwwc, "cf302bd.p1", 0x0000, 0x010000, CRC(8ba33b7d) SHA1(ebfb62a390de512dc1482cfb9ab64196cbcc5831), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 4)" ) +M4NNWWC_SET( 199?, m4nnwwc__d, m4nnwwc, "cf302c.p1", 0x0000, 0x010000, CRC(26be2dc4) SHA1(157ca96ebd36f2fbfb501945d0351cc3be38f3b7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 5)" ) +M4NNWWC_SET( 199?, m4nnwwc__e, m4nnwwc, "cf302d.p1", 0x0000, 0x010000, CRC(b52d5b47) SHA1(1583963b0bac1288bd20ed0550ad793be0980b03), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 6)" ) +M4NNWWC_SET( 199?, m4nnwwc__f, m4nnwwc, "cf302dk.p1", 0x0000, 0x010000, CRC(c3d4c74d) SHA1(9a34c1f2fabb20da17988f63c9190ec4dd0b65fb), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 7)" ) +M4NNWWC_SET( 199?, m4nnwwc__g, m4nnwwc, "cf302dr.p1", 0x0000, 0x010000, CRC(0b25e6b9) SHA1(5fd42abbe985dbdcfe09da50673551330dd26175), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 8)" ) +M4NNWWC_SET( 199?, m4nnwwc__h, m4nnwwc, "cf302dy.p1", 0x0000, 0x010000, CRC(420b47c1) SHA1(0cb1a843cec3ace21d806fe98212250201a72f12), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 9)" ) +M4NNWWC_SET( 199?, m4nnwwc__i, m4nnwwc, "cf302k.p1", 0x0000, 0x010000, CRC(07ca4c45) SHA1(8f6ee3c17527b05a6652845019919d490cc00c64), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 10)" ) +M4NNWWC_SET( 199?, m4nnwwc__j, m4nnwwc, "cf302r.p1", 0x0000, 0x010000, CRC(e09f43bd) SHA1(65dcdf8d223936c4415ddc3f734b83367d6b8db7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 11)" ) +M4NNWWC_SET( 199?, m4nnwwc__k, m4nnwwc, "cf302s.p1", 0x0000, 0x010000, CRC(7a3e8ead) SHA1(590dc78b98f9928d6fa87ef661234f88dccfdff8), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 12)" ) +M4NNWWC_SET( 199?, m4nnwwc__l, m4nnwwc, "cf302y.p1", 0x0000, 0x010000, CRC(c1063a32) SHA1(e1c8fc463b1a1db87110f272a8727435f9d9b97a), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 13)" ) +M4NNWWC_SET( 199?, m4nnwwc__m, m4nnwwc, "ch302ad.p1", 0x0000, 0x010000, CRC(20405f4e) SHA1(7f87c881f428f704c98b0f4be459980062ccd29a), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 14)" ) +M4NNWWC_SET( 199?, m4nnwwc__n, m4nnwwc, "ch302b.p1", 0x0000, 0x010000, CRC(cf7543ac) SHA1(2fe810741bfc18f800ad8028724218557d93a830), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 15)" ) +M4NNWWC_SET( 199?, m4nnwwc__o, m4nnwwc, "ch302bd.p1", 0x0000, 0x010000, CRC(4c3e5664) SHA1(87a1f2133cad624683dac89f1da85d70b018f846), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 16)" ) +M4NNWWC_SET( 199?, m4nnwwc__p, m4nnwwc, "ch302c.p1", 0x0000, 0x010000, CRC(dcde4d0a) SHA1(d1535f8754d2c0f8183c2c9db97edafdcdfed82e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 17)" ) +M4NNWWC_SET( 199?, m4nnwwc__q, m4nnwwc, "ch302d.p1", 0x0000, 0x010000, CRC(e1a02108) SHA1(fa8271a1246a3ae1289bb314494743cfec31f4e2), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 18)" ) +M4NNWWC_SET( 199?, m4nnwwc__r, m4nnwwc, "ch302dk.p1", 0x0000, 0x010000, CRC(a3f636af) SHA1(c3de325ef5baa3cccd4c9997e615e87521b9e537), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 19)" ) +M4NNWWC_SET( 199?, m4nnwwc__s, m4nnwwc, "ch302dr.p1", 0x0000, 0x010000, CRC(0620b0c0) SHA1(31aabba5f5b096254908221f884b5088a5a6e883), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 20)" ) +M4NNWWC_SET( 199?, m4nnwwc__t, m4nnwwc, "ch302dy.p1", 0x0000, 0x010000, CRC(9b4b982e) SHA1(c7c9c501eb1c936ffb8bc2fe1fe9258e92b1d548), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 21)" ) +M4NNWWC_SET( 199?, m4nnwwc__u, m4nnwwc, "ch302k.p1", 0x0000, 0x010000, CRC(908d8b10) SHA1(a80a5ce1a83d05f1e68e66d14bacc424bc833aa7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 22)" ) +M4NNWWC_SET( 199?, m4nnwwc__v, m4nnwwc, "ch302r.p1", 0x0000, 0x010000, CRC(c31c4c28) SHA1(e94c7588211044dae7c5ac587e6232b0ace2fc7b), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 23)" ) +M4NNWWC_SET( 199?, m4nnwwc__w, m4nnwwc, "ch302s.p1", 0x0000, 0x010000, CRC(e7d0ceb2) SHA1(b75d58136b9e1e4bfde86730ef4e95bc98494813), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 24)" ) +M4NNWWC_SET( 199?, m4nnwwc__x, m4nnwwc, "ch302y.p1", 0x0000, 0x010000, CRC(5e7764c6) SHA1(05a61a57ac906cbea1d72fffd1c8ea707852b895), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 25)" ) +M4NNWWC_SET( 199?, m4nnwwc__y, m4nnwwc, "cn302ad.p1", 0x0000, 0x010000, CRC(7a6acd9b) SHA1(9a1f0ed19d66428c6b541ce1c8e169d9b4be3ef1), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 26)" ) +M4NNWWC_SET( 199?, m4nnwwc__z, m4nnwwc, "cn302b.p1", 0x0000, 0x010000, CRC(b69cb520) SHA1(7313f2740960ca86ecea8609fe8fd58d84a3248c), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 27)" ) +M4NNWWC_SET( 199?, m4nnwwc__0, m4nnwwc, "cn302bd.p1", 0x0000, 0x010000, CRC(ab828a0b) SHA1(53fa6dad9bdae1d46479596c98cf2c3f4454bb95), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 28)" ) +M4NNWWC_SET( 199?, m4nnwwc__1, m4nnwwc, "cn302d.p1", 0x0000, 0x010000, CRC(8c6ac365) SHA1(a32b104968aaa4da060072a241a4c54fbdf3c404), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 29)" ) +M4NNWWC_SET( 199?, m4nnwwc__2, m4nnwwc, "cn302dk.p1", 0x0000, 0x010000, CRC(24cbab96) SHA1(77fe3b21fc9470653bada31c700ce926d55ce82e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 30)" ) +M4NNWWC_SET( 199?, m4nnwwc__3, m4nnwwc, "cn302dr.p1", 0x0000, 0x010000, CRC(09069f0e) SHA1(68b2a34644ee1fca3ce5191e2f25aa808b85fb09), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 31)" ) +M4NNWWC_SET( 199?, m4nnwwc__4, m4nnwwc, "cn302dy.p1", 0x0000, 0x010000, CRC(946db7e0) SHA1(fe29c1da478e3f1a53ad55c661ddcc7003679304), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 32)" ) +M4NNWWC_SET( 199?, m4nnwwc__5, m4nnwwc, "cn302k.p1", 0x0000, 0x010000, CRC(7a3202f1) SHA1(2dd5e8195120b1efc3eb51214cf054432fc50aed), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 33)" ) +M4NNWWC_SET( 199?, m4nnwwc__6, m4nnwwc, "cn302r.p1", 0x0000, 0x010000, CRC(e7cf9e1e) SHA1(66a1e54fc928c09d16f7ac1c002685eee841315f), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 34)" ) +M4NNWWC_SET( 199?, m4nnwwc__7, m4nnwwc, "cn302s.p1", 0x0000, 0x010000, CRC(87703a1a) SHA1(6582ffa42a61b60e92e456a794c4c219a9901a1c), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 35)" ) +M4NNWWC_SET( 199?, m4nnwwc__8, m4nnwwc, "cn302y.p1", 0x0000, 0x010000, CRC(7aa4b6f0) SHA1(2c185a9a7c8a4957fb5901305883661c41cb0cb4), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 36)" ) +M4NNWWC_SET( 199?, m4nnwwc__9, m4nnwwc, "cnc03s.p1", 0x0000, 0x010000, CRC(57a03b29) SHA1(52cc8eb3f02c4a812de06ceec0588ca930e07876), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 37)" ) +M4NNWWC_SET( 199?, m4nnwwc__aa, m4nnwwc, "cl__x__x.2_0", 0x0000, 0x010000, CRC(c3de4791) SHA1(220d32b961b6710d508c0c7e6b2d8e4d292746f4), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 38)" ) +M4NNWWC_SET( 199?, m4nnwwc__ab, m4nnwwc, "cl__x_dx.2_0", 0x0000, 0x010000, CRC(c79833f8) SHA1(b3519b55f6f2a4f081b69483ac0b8860aa8190d9), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 39)" ) +M4NNWWC_SET( 199?, m4nnwwc__ac, m4nnwwc, "cl__xa_x.2_0", 0x0000, 0x010000, CRC(4c3021a1) SHA1(7e7258808dd1693adb956a5e6b076f925eb0a026), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 40)" ) +M4NNWWC_SET( 199?, m4nnwwc__ad, m4nnwwc, "cl__xb_x.2_0", 0x0000, 0x010000, CRC(75a5add7) SHA1(6802ec81b4ebcde9ed014a0440fdc50211a8a350), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (set 41)" ) + diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h index f776eec7b76..b5d1acc5564 100644 --- a/src/mame/includes/kaneko16.h +++ b/src/mame/includes/kaneko16.h @@ -11,9 +11,9 @@ #include "video/kaneko_tmap.h" #include "video/kaneko_spr.h" #include "machine/kaneko_calc3.h" +#include "machine/kaneko_toybox.h" -#define MCU_RESPONSE(d) memcpy(&state->m_mcu_ram[mcu_offset], d, sizeof(d)) class kaneko16_state : public driver_device @@ -23,7 +23,6 @@ public: : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_spriteram(*this, "spriteram"), - m_mcu_ram(*this, "mcu_ram"), m_mainram(*this, "mainram"), m_view2_0(*this, "view2_0"), m_view2_1(*this, "view2_1"), @@ -32,37 +31,20 @@ public: required_device m_maincpu; optional_shared_ptr m_spriteram; - optional_shared_ptr m_mcu_ram; optional_shared_ptr m_mainram; optional_device m_view2_0; optional_device m_view2_1; optional_device m_kaneko_spr; - UINT8 m_nvram_save[128]; - - void (*m_toybox_mcu_run)(running_machine &machine); - UINT16 m_toybox_mcu_com[4]; UINT16 m_disp_enable; int VIEW2_2_pri; - DECLARE_READ16_MEMBER(kaneko16_rnd_r); DECLARE_WRITE16_MEMBER(kaneko16_coin_lockout_w); DECLARE_WRITE16_MEMBER(kaneko16_soundlatch_w); DECLARE_WRITE16_MEMBER(kaneko16_eeprom_w); - DECLARE_WRITE16_MEMBER(bloodwar_coin_lockout_w); - DECLARE_READ16_MEMBER(gtmr_wheel_r); - DECLARE_READ16_MEMBER(gtmr2_wheel_r); - DECLARE_READ16_MEMBER(gtmr2_IN1_r); - DECLARE_WRITE16_MEMBER(toybox_mcu_com0_w); - DECLARE_WRITE16_MEMBER(toybox_mcu_com1_w); - DECLARE_WRITE16_MEMBER(toybox_mcu_com2_w); - DECLARE_WRITE16_MEMBER(toybox_mcu_com3_w); - DECLARE_READ16_MEMBER(toybox_mcu_status_r); - - void toybox_mcu_com_w(offs_t offset, UINT16 data, UINT16 mem_mask, int _n_); DECLARE_WRITE16_MEMBER(kaneko16_display_enable); @@ -71,22 +53,40 @@ public: DECLARE_READ16_MEMBER(kaneko16_ay2_YM2149_r); DECLARE_WRITE16_MEMBER(kaneko16_ay2_YM2149_w); DECLARE_WRITE16_MEMBER(bakubrkr_oki_bank_sw); + + DECLARE_WRITE8_MEMBER(kaneko16_eeprom_reset_w); + + DECLARE_DRIVER_INIT(kaneko16); + DECLARE_DRIVER_INIT(samplebank); + + +}; + +class kaneko16_gtmr_state : public kaneko16_state +{ +public: + kaneko16_gtmr_state(const machine_config &mconfig, device_type type, const char *tag) + : kaneko16_state(mconfig, type, tag) + { + } + + DECLARE_READ16_MEMBER(kaneko16_rnd_r); DECLARE_WRITE16_MEMBER(bloodwar_oki_0_bank_w); DECLARE_WRITE16_MEMBER(bloodwar_oki_1_bank_w); DECLARE_WRITE16_MEMBER(bonkadv_oki_0_bank_w); DECLARE_WRITE16_MEMBER(bonkadv_oki_1_bank_w); DECLARE_WRITE16_MEMBER(gtmr_oki_0_bank_w); DECLARE_WRITE16_MEMBER(gtmr_oki_1_bank_w); - DECLARE_WRITE8_MEMBER(kaneko16_eeprom_reset_w); - - DECLARE_DRIVER_INIT(bloodwar); - DECLARE_DRIVER_INIT(gtmr2); - DECLARE_DRIVER_INIT(kaneko16); - DECLARE_DRIVER_INIT(decrypt_toybox_rom); - DECLARE_DRIVER_INIT(decrypt_toybox_rom_alt); - DECLARE_DRIVER_INIT(samplebank); + DECLARE_WRITE16_MEMBER(bloodwar_coin_lockout_w); + DECLARE_READ16_MEMBER(gtmr_wheel_r); + DECLARE_READ16_MEMBER(gtmr2_wheel_r); + DECLARE_READ16_MEMBER(gtmr2_IN1_r); + DECLARE_DRIVER_INIT(gtmr); + }; + + class kaneko16_berlwall_state : public kaneko16_state { public: @@ -108,6 +108,7 @@ public: DECLARE_WRITE16_MEMBER(kaneko16_bg15_reg_w); DECLARE_DRIVER_INIT(berlwall); + }; class kaneko16_shogwarr_state : public kaneko16_state @@ -128,21 +129,6 @@ public: DECLARE_DRIVER_INIT(brapboys); }; - -/*----------- defined in machine/kaneko16.c -----------*/ - - - -void toybox_mcu_init(running_machine &machine); - -void bloodwar_mcu_run(running_machine &machine); -void bonkadv_mcu_run(running_machine &machine); -void gtmr_mcu_run(running_machine &machine); -void calc3_mcu_run(running_machine &machine); - -void toxboy_handle_04_subcommand(running_machine& machine, UINT8 mcu_subcmd, UINT16*mcu_ram); - - /*----------- defined in drivers/kaneko16.c -----------*/ MACHINE_RESET( kaneko16 ); diff --git a/src/mame/includes/mpu4.h b/src/mame/includes/mpu4.h index 8d8ffd10056..8ef77f7f33d 100644 --- a/src/mame/includes/mpu4.h +++ b/src/mame/includes/mpu4.h @@ -242,6 +242,8 @@ public: DECLARE_DRIVER_INIT(m_grtecp); DECLARE_DRIVER_INIT(m4debug); DECLARE_DRIVER_INIT(m4_showstring); + DECLARE_DRIVER_INIT(m4_showstring_mod4yam); + DECLARE_DRIVER_INIT(m4_debug_mod4yam); DECLARE_DRIVER_INIT(m4_showstring_mod2); DECLARE_DRIVER_INIT(m4_showstring_big); DECLARE_DRIVER_INIT(m_grtecpss); diff --git a/src/mame/machine/kaneko16.c b/src/mame/machine/kaneko16.c index 72b766bc3e1..37a3e2d5e6d 100644 --- a/src/mame/machine/kaneko16.c +++ b/src/mame/machine/kaneko16.c @@ -1,400 +1,9 @@ /*************************************************************************** - MCU Code Simulation + Nothing left here.. - CALC1 is a 40 pin DIP MCU of unknown type with unknown internal rom - CALC3 is a NEC uPD78322 series MCU with 16K internal rom & 640 bytes of ram -TBSOP01 is a NEC uPD78324 series MCU with 32K internal rom & 1024 bytes of ram -TBSOP02 is likely the same NEC uPD78324 series MCU as the TBS0P01 -Currently none of the MCUs' internal roms are dumped so simulation is used ***************************************************************************/ -#include "emu.h" -#include "includes/kaneko16.h" - -#include "kanekotb.h" // TOYBOX MCU trojaning results -#include "machine/eeprom.h" - - -/*************************************************************************** - TOYBOX MCU: - - Bonk's Adventure - Blood Warrior - Great 1000 Miles Rally - ... -***************************************************************************/ -/* ---------------------------------------------------------------------------- - TOYBOX - -94 Bonk's Adventure TOYBOX? TBSOP01 -94 Blood Warrior TOYBOX? TBS0P01 452 9339PK001 -94 Great 1000 Miles Rally TOYBOX "MM0525-TOYBOX199","USMM0713-TB1994 " -95 Great 1000 Miles Rally 2 TOYBOX KANEKO TBSOP02 454 9451MK002 (74 pin PQFP) "USMM0713-TB1994 " -95 Jackie Chan TOYBOX "USMM0713-TB1994 " -95 Gals Panic 3 TOYBOX? TBSOP01 ---------------------------------------------------------------------------- - -All the considerations are based on the analysis of jchan, and to a fewer extent galpani3, and make references to the current driver sources: - -MCU triggering: ---------------- - -the 4 JCHAN_MCU_COM_W(...) are in fact 2 groups: - -AM_RANGE(0x330000, 0x330001) AM_WRITE(jchan_mcu_com0_w) // _[ these 2 are set to 0xFFFF -AM_RANGE(0x340000, 0x340001) AM_WRITE(jchan_mcu_com1_w) // [ for MCU to execute cmd - -AM_RANGE(0x350000, 0x350001) AM_WRITE(jchan_mcu_com2_w) // _[ these 2 are set to 0xFFFF -AM_RANGE(0x360000, 0x360001) AM_WRITE(jchan_mcu_com3_w) // [ for MCU to return its status - - -MCU parameters: ---------------- - -mcu_command = kaneko16_mcu_ram[0x0010/2]; // command nb -mcu_offset = kaneko16_mcu_ram[0x0012/2]/2; // offset in shared RAM where MCU will write -mcu_subcmd = kaneko16_mcu_ram[0x0014/2]; // sub-command parameter, happens only for command #4 - - - the only MCU commands found in program code are: - - 0x04: protection: provide data (see below) and code <<<---!!! - - 0x03: read DSW - - 0x02: load game settings \ stored in ATMEL AT93C46 chip, - - 0x42: save game settings / 128 bytes serial EEPROM - - -Current feeling of devs is that this EEPROM might also play a role in the protection scheme, -but I (SV) feel that it is very unlikely because of the following, which has been verified: -if the checksum test fails at most 3 times, then the initial settings, stored in main68k ROM, -are loaded in RAM then saved with cmd 0x42 (see code @ $5196 & $50d4) -Note that this is valid for jchan only, other games haven't been looked at. - -Others: -------- - -There is one interesting MCU cmd $4 in jchan: --> sub-cmd $3d, MCU writes the string "USMM0713-TB1994 " - -The very same string is written by gtmr games (gtmre/gtmrusa/gtmr2) but apparently with no sub-cmd: this string is -probably the MCU model string, so this one should be in internal MCU ROM (another one for gtmr is "MM0525-TOYBOX199") - -TODO: look at this one since this remark is only driver-based. -*/ - - -static const UINT8 toybox_mcu_decryption_table[0x100] = { -0x7b,0x82,0xf0,0xbc,0x7f,0x1d,0xa2,0xc5,0x2a,0xfa,0x55,0xee,0x1a,0xd0,0x59,0x76, -0x5e,0x75,0x79,0x16,0xa5,0xf6,0x84,0xed,0x0f,0x2e,0xf2,0x36,0x61,0xac,0xcd,0xab, -0x01,0x3b,0x01,0x87,0x73,0xab,0xce,0x5d,0xd4,0x1d,0x68,0x2a,0x35,0xea,0x13,0x27, -0x00,0xaa,0x46,0x36,0x6e,0x65,0x80,0x7e,0x19,0xe2,0x96,0xab,0xac,0xa5,0x6c,0x63, -0x4a,0x6f,0x87,0xf6,0x6a,0xac,0x38,0xe2,0x1f,0x87,0xf9,0xaa,0xf5,0x41,0x60,0xa6, -0x42,0xb9,0x30,0xf2,0xc3,0x1c,0x4e,0x4b,0x08,0x10,0x42,0x32,0xbf,0xb2,0xc5,0x0f, -0x7a,0xab,0x97,0xf6,0xe7,0xb3,0x46,0xf8,0xec,0x2b,0x7d,0x5f,0xb1,0x10,0x03,0xe4, -0x0f,0x22,0xdf,0x8d,0x10,0x66,0xa7,0x7e,0x96,0xbd,0x5a,0xaf,0xaa,0x43,0xdf,0x10, -0x7c,0x04,0xe2,0x9d,0x66,0xd7,0xf0,0x02,0x58,0x8a,0x55,0x17,0x16,0xe2,0xe2,0x52, -0xaf,0xd9,0xf9,0x0d,0x59,0x70,0x86,0x3c,0x05,0xd1,0x52,0xa7,0xf0,0xbf,0x17,0xd0, -0x23,0x15,0xfe,0x23,0xf2,0x80,0x60,0x6f,0x95,0x89,0x67,0x65,0xc9,0x0e,0xfc,0x16, -0xd6,0x8a,0x9f,0x25,0x2c,0x0f,0x2d,0xe4,0x51,0xb2,0xa8,0x18,0x3a,0x5d,0x66,0xa0, -0x9f,0xb0,0x58,0xea,0x78,0x72,0x08,0x6a,0x90,0xb6,0xa4,0xf5,0x08,0x19,0x60,0x4e, -0x92,0xbd,0xf1,0x05,0x67,0x4f,0x24,0x99,0x69,0x1d,0x0c,0x6d,0xe7,0x74,0x88,0x22, -0x2d,0x15,0x7a,0xa2,0x37,0xa9,0xa0,0xb0,0x2c,0xfb,0x27,0xe5,0x4f,0xb6,0xcd,0x75, -0xdc,0x39,0xce,0x6f,0x1f,0xfe,0xcc,0xb5,0xe6,0xda,0xd8,0xee,0x85,0xee,0x2f,0x04, -}; - - -static const UINT8 toybox_mcu_decryption_table_alt[0x100] = { -0x26,0x17,0xb9,0xcf,0x1a,0xf5,0x14,0x1e,0x0c,0x35,0xb3,0x66,0xa0,0x17,0xe9,0xe4, -0x90,0xf6,0xd5,0x35,0xac,0x95,0x49,0x43,0x64,0x0c,0x03,0x75,0x4d,0xda,0xb6,0xdf, -0x06,0xcf,0x83,0x9e,0x35,0x2c,0x71,0x2a,0xab,0xcc,0x65,0xd4,0x1f,0xb0,0x88,0x3c, -0xb7,0x87,0x35,0xc0,0x41,0x65,0x9f,0xa0,0xd5,0x8c,0x3e,0x06,0x53,0xdb,0x45,0x64, -0x09,0x1e,0xc5,0x8d,0x50,0x24,0xe2,0x4a,0x9b,0x99,0x77,0x25,0x43,0xa9,0x1d,0xac, -0x99,0x31,0x75,0xb5,0x53,0xab,0xad,0x5a,0x42,0x14,0xa1,0x52,0xac,0xec,0x5f,0xf8, -0x8c,0x78,0x05,0x47,0xea,0xb8,0xde,0x69,0x98,0x2d,0x8f,0x9d,0xfc,0x05,0xea,0xee, -0x77,0xbb,0xa9,0x31,0x01,0x00,0xea,0xd8,0x9c,0x43,0xb5,0x2f,0x4e,0xb5,0x1b,0xd2, -0x01,0x4b,0xc4,0xf8,0x76,0x92,0x59,0x4f,0x20,0x52,0xd9,0x7f,0xa9,0x19,0xe9,0x7c, -0x8d,0x3b,0xec,0xe0,0x60,0x08,0x2e,0xbd,0x27,0x8b,0xb2,0xfc,0x29,0xd8,0x39,0x8a, -0x4f,0x2f,0x6b,0x04,0x10,0xbd,0xa1,0x04,0xde,0xc0,0xd5,0x0f,0x04,0x86,0xd6,0xd8, -0xfd,0xb1,0x3c,0x4c,0xd1,0xc4,0xf1,0x5b,0xf5,0x8b,0xe3,0xc4,0x89,0x3c,0x39,0x86, -0xd2,0x92,0xc9,0xe5,0x2c,0x4f,0xe2,0x2f,0x2d,0xc5,0x35,0x09,0x94,0x47,0x3c,0x04, -0x40,0x8b,0x57,0x08,0xf6,0x74,0xe9,0xb8,0x36,0x4d,0xc5,0x26,0x13,0x3d,0x75,0xa0, -0xa8,0x29,0x09,0x8c,0x87,0xf7,0x13,0xaf,0x4c,0x38,0x0b,0x8a,0x7f,0x2c,0x62,0x27, -0x47,0xaa,0xda,0x07,0x92,0x8d,0xfd,0x1f,0xee,0x48,0x1a,0x53,0x3b,0x98,0x6a,0x72, -}; - -// I use a byteswapped MCU data rom to make the transfers to the 68k side easier -// not sure if it's all 100% endian safe -DRIVER_INIT_MEMBER(kaneko16_state,decrypt_toybox_rom) -{ - - UINT8 *src = (UINT8 *)machine().root_device().memregion("mcudata" )->base(); - - int i; - - for (i=0;i<0x020000;i++) - { - src[i] = src[i] + toybox_mcu_decryption_table[(i^1)&0xff]; - } - - #if 0 - { - FILE *fp; - char filename[256]; - sprintf(filename,"%s.mcudata", machine().system().name); - fp=fopen(filename, "w+b"); - if (fp) - { - fwrite(src, 0x20000, 1, fp); - fclose(fp); - } - } - #endif -} - -DRIVER_INIT_MEMBER(kaneko16_state,decrypt_toybox_rom_alt) -{ - - UINT8 *src = (UINT8 *)machine().root_device().memregion("mcudata" )->base(); - - int i; - - for (i=0;i<0x020000;i++) - { - src[i] = src[i] + toybox_mcu_decryption_table_alt[(i^1)&0xff]; - } -} - -void toxboy_handle_04_subcommand(running_machine& machine,UINT8 mcu_subcmd, UINT16*mcu_ram) -{ - UINT8 *src = (UINT8 *)machine.root_device().memregion("mcudata")->base()+0x10000; - UINT8* dst = (UINT8 *)mcu_ram; - - int offs = (mcu_subcmd&0x3f)*8; - int x; - - //UINT16 unused = src[offs+0] | (src[offs+1]<<8); - UINT16 romstart = src[offs+2] | (src[offs+3]<<8); - UINT16 romlength = src[offs+4] | (src[offs+5]<<8); - UINT16 ramdest = mcu_ram[0x0012/2]; - //UINT16 extra = src[offs+6] | (src[offs+7]<<8); // BONK .. important :-( - - //printf("romstart %04x length %04x\n",romstart,romlength); - - for (x=0;x(); - memset(state->m_toybox_mcu_com, 0, 4 * sizeof( UINT16) ); -} - -void kaneko16_state::toybox_mcu_com_w(offs_t offset, UINT16 data, UINT16 mem_mask, int _n_) -{ - COMBINE_DATA(&m_toybox_mcu_com[_n_]); - if (m_toybox_mcu_com[0] != 0xFFFF) return; - if (m_toybox_mcu_com[1] != 0xFFFF) return; - if (m_toybox_mcu_com[2] != 0xFFFF) return; - if (m_toybox_mcu_com[3] != 0xFFFF) return; - - memset(m_toybox_mcu_com, 0, 4 * sizeof( UINT16 ) ); - (*m_toybox_mcu_run)(machine()); -} - -WRITE16_MEMBER(kaneko16_state::toybox_mcu_com0_w){ toybox_mcu_com_w(offset, data, mem_mask, 0); } -WRITE16_MEMBER(kaneko16_state::toybox_mcu_com1_w){ toybox_mcu_com_w(offset, data, mem_mask, 1); } -WRITE16_MEMBER(kaneko16_state::toybox_mcu_com2_w){ toybox_mcu_com_w(offset, data, mem_mask, 2); } -WRITE16_MEMBER(kaneko16_state::toybox_mcu_com3_w){ toybox_mcu_com_w(offset, data, mem_mask, 3); } - -/* - bonkadv and bloodwar test bit 0 -*/ -READ16_MEMBER(kaneko16_state::toybox_mcu_status_r) -{ - logerror("CPU %s (PC=%06X) : read MCU status\n", space.device().tag(), cpu_get_previouspc(&space.device())); - return 0; // most games test bit 0 for failure -} - - -/*************************************************************************** - Blood Warrior -***************************************************************************/ - -void bloodwar_mcu_run(running_machine &machine) -{ - kaneko16_state *state = machine.driver_data(); - UINT16 *kaneko16_mcu_ram = state->m_mcu_ram; - UINT16 mcu_command = kaneko16_mcu_ram[0x0010/2]; - UINT16 mcu_offset = kaneko16_mcu_ram[0x0012/2] / 2; - UINT16 mcu_data = kaneko16_mcu_ram[0x0014/2]; - - switch (mcu_command >> 8) - { - case 0x02: // Read from NVRAM - { - memcpy(&kaneko16_mcu_ram[mcu_offset], state->m_nvram_save, sizeof(state->m_nvram_save)); - logerror("%s : MCU executed command: %04X %04X (load NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x42: // Write to NVRAM - { - memcpy(state->m_nvram_save, &kaneko16_mcu_ram[mcu_offset], sizeof(state->m_nvram_save)); - logerror("%s : MCU executed command: %04X %04X (save NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x03: // DSW - { - kaneko16_mcu_ram[mcu_offset] = machine.root_device().ioport("DSW1")->read(); - logerror("%s : MCU executed command: %04X %04X (read DSW)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x04: // Protection - { - logerror("%s : MCU executed command: %04X %04X %04X\n", machine.describe_context(), mcu_command, mcu_offset*2, mcu_data); - - toxboy_handle_04_subcommand(machine, mcu_data, kaneko16_mcu_ram); - - } - break; - - default: - logerror("%s : MCU executed command: %04X %04X %04X (UNKNOWN COMMAND)\n", machine.describe_context(), mcu_command, mcu_offset*2, mcu_data); - break; - } -} - -/*************************************************************************** - Bonk's Adventure -***************************************************************************/ - -void bonkadv_mcu_run(running_machine &machine) -{ - kaneko16_state *state = machine.driver_data(); - UINT16 *kaneko16_mcu_ram = state->m_mcu_ram; - UINT16 mcu_command = kaneko16_mcu_ram[0x0010/2]; - UINT16 mcu_offset = kaneko16_mcu_ram[0x0012/2] / 2; - UINT16 mcu_data = kaneko16_mcu_ram[0x0014/2]; - - switch (mcu_command >> 8) - { - - case 0x02: // Read from NVRAM - { - memcpy(&kaneko16_mcu_ram[mcu_offset], state->m_nvram_save, sizeof(state->m_nvram_save)); - logerror("%s : MCU executed command: %04X %04X (load NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x42: // Write to NVRAM - { - memcpy(state->m_nvram_save, &kaneko16_mcu_ram[mcu_offset], sizeof(state->m_nvram_save)); - logerror("%s : MCU executed command: %04X %04X (save NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x43: // Initialize NVRAM - MCU writes Default Data Set directly to NVRAM - { - memcpy(state->m_nvram_save, bonkadv_mcu_43, sizeof(bonkadv_mcu_43)); - logerror("%s : MCU executed command: %04X %04X (restore default NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x03: // DSW - { - kaneko16_mcu_ram[mcu_offset] = machine.root_device().ioport("DSW1")->read(); - logerror("%s : MCU executed command: %04X %04X (read DSW)\n", machine.describe_context(), mcu_command, mcu_offset*2); - } - break; - - case 0x04: // Protection - { - logerror("%s : MCU executed command: %04X %04X %04X\n", machine.describe_context(), mcu_command, mcu_offset*2, mcu_data); - - - switch(mcu_data) - { - // static, in this order, at boot/reset - these aren't understood, different params in Mcu data rom, data can't be found - case 0x34: MCU_RESPONSE(bonkadv_mcu_4_34); break; - case 0x30: MCU_RESPONSE(bonkadv_mcu_4_30); break; - case 0x31: MCU_RESPONSE(bonkadv_mcu_4_31); break; - case 0x32: MCU_RESPONSE(bonkadv_mcu_4_32); break; - case 0x33: MCU_RESPONSE(bonkadv_mcu_4_33); break; - - // dynamic, per-level (29), in level order - default: - toxboy_handle_04_subcommand(machine, mcu_data, kaneko16_mcu_ram); - break; - - } - } - break; - - default: - logerror("%s : MCU executed command: %04X %04X %04X (UNKNOWN COMMAND)\n", machine.describe_context(), mcu_command, mcu_offset*2, mcu_data); - break; - } -} - -/*************************************************************************** - Great 1000 Miles Rally -***************************************************************************/ - -/* - MCU Tasks: - - - Write and ID string to shared RAM. - - Access the EEPROM - - Read the DSWs -*/ - -void gtmr_mcu_run(running_machine &machine) -{ - kaneko16_state *state = machine.driver_data(); - UINT16 *kaneko16_mcu_ram = state->m_mcu_ram; - UINT16 mcu_command = kaneko16_mcu_ram[0x0010/2]; - UINT16 mcu_offset = kaneko16_mcu_ram[0x0012/2] / 2; - UINT16 mcu_data = kaneko16_mcu_ram[0x0014/2]; - - logerror("%s : MCU executed command: %04X %04X %04X\n", machine.describe_context(), mcu_command, mcu_offset*2, mcu_data); - - switch (mcu_command >> 8) - { - - case 0x02: // Read from NVRAM - { - memcpy(&kaneko16_mcu_ram[mcu_offset], state->m_nvram_save, sizeof(state->m_nvram_save)); - } - break; - - case 0x42: // Write to NVRAM - { - memcpy(state->m_nvram_save, &kaneko16_mcu_ram[mcu_offset], sizeof(state->m_nvram_save)); - } - break; - - case 0x03: // DSW - { - kaneko16_mcu_ram[mcu_offset] = machine.root_device().ioport("DSW1")->read(); - } - break; - - case 0x04: // TEST (2 versions) - { - toxboy_handle_04_subcommand(machine, mcu_data, kaneko16_mcu_ram); - } - break; - } - -} - diff --git a/src/mame/machine/kaneko_calc3.c b/src/mame/machine/kaneko_calc3.c index 879ee382b0e..16e103b7db4 100644 --- a/src/mame/machine/kaneko_calc3.c +++ b/src/mame/machine/kaneko_calc3.c @@ -4,8 +4,8 @@ shogwarr brapboys + CALC3 is a NEC uPD78322 series MCU with 16K internal rom & 640 bytes of ram - MCU is a 78K series III type CPU ***************************************************************************/ @@ -85,7 +85,6 @@ READ16_MEMBER(kaneko_calc3_device::calc3_mcu_ram_r) WRITE16_MEMBER(kaneko_calc3_device::calc3_mcu_ram_w) { COMBINE_DATA(&m_calc3_mcuram[offset]); - //calc3_mcu_run(machine); } void kaneko_calc3_device::calc3_mcu_com_w(offs_t offset, UINT16 data, UINT16 mem_mask, int _n_) diff --git a/src/mame/machine/kaneko_hit.c b/src/mame/machine/kaneko_hit.c index b5e81086491..057b6c4cad6 100644 --- a/src/mame/machine/kaneko_hit.c +++ b/src/mame/machine/kaneko_hit.c @@ -16,6 +16,7 @@ suprnova.c also has a similar device, the implementation hasn't been fully compared + CALC1 is a 40 pin DIP MCU of unknown type with unknown internal rom */ diff --git a/src/mame/machine/kaneko_toybox.c b/src/mame/machine/kaneko_toybox.c new file mode 100644 index 00000000000..6f8f3343492 --- /dev/null +++ b/src/mame/machine/kaneko_toybox.c @@ -0,0 +1,307 @@ +/* Kaneko 'Toybox' protection + + the following chips have been seen + +TBSOP01 is a NEC uPD78324 series MCU with 32K internal rom & 1024 bytes of ram +TBSOP02 is likely the same NEC uPD78324 series MCU as the TBS0P01 + +Currently none of the MCUs' internal roms are dumped so simulation is used + + +94 Bonk's Adventure TOYBOX? TBSOP01 +94 Blood Warrior TOYBOX? TBS0P01 452 9339PK001 +94 Great 1000 Miles Rally TOYBOX "MM0525-TOYBOX199","USMM0713-TB1994 " +95 Great 1000 Miles Rally 2 TOYBOX KANEKO TBSOP02 454 9451MK002 (74 pin PQFP) "USMM0713-TB1994 " +95 Jackie Chan TOYBOX "USMM0713-TB1994 " +95 Gals Panic 3 TOYBOX? TBSOP01 + + + + +MCU parameters: +--------------- + +mcu_command = kaneko16_mcu_ram[0x0010/2]; // command nb +mcu_offset = kaneko16_mcu_ram[0x0012/2]/2; // offset in shared RAM where MCU will write +mcu_subcmd = kaneko16_mcu_ram[0x0014/2]; // sub-command parameter, happens only for command #4 + + + the only MCU commands found in program code are: + - 0x04: protection: provide data (see below) and code <<<---!!! + - 0x03: read DSW + - 0x02: load game settings \ stored in ATMEL AT93C46 chip, + - 0x42: save game settings / 128 bytes serial EEPROM + +*/ + + + +#include "emu.h" +#include "kaneko_toybox.h" +#include "machine/eeprom.h" + +const device_type KANEKO_TOYBOX = &device_creator; + +kaneko_toybox_device::kaneko_toybox_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : device_t(mconfig, KANEKO_TOYBOX, "kaneko_toybox_device", tag, owner, clock) +{ + m_tabletype = TABLE_NORMAL; + m_gametype = GAME_NORMAL; +} + +void kaneko_toybox_device::set_toybox_table(device_t &device, int tabletype) +{ + kaneko_toybox_device &dev = downcast(device); + dev.m_tabletype = tabletype; +} + +void kaneko_toybox_device::set_toybox_gametype(device_t &device, int gametype) +{ + kaneko_toybox_device &dev = downcast(device); + dev.m_gametype = gametype; +} + + +void kaneko_toybox_device::device_start() +{ + m_toybox_mcuram = (UINT16*)auto_alloc_array_clear(this->machine(), UINT16, 0x10000/2); + memset(m_toybox_mcu_com, 0, 4 * sizeof( UINT16) ); + toxboy_decrypt_rom(this->machine()); +} + +void kaneko_toybox_device::device_reset() +{ + toybox_mcu_init(this->machine()); +} + + +READ16_MEMBER(kaneko_toybox_device::toybox_mcu_ram_r) +{ + return m_toybox_mcuram[offset]; +} + + +WRITE16_MEMBER(kaneko_toybox_device::toybox_mcu_ram_w) +{ + COMBINE_DATA(&m_toybox_mcuram[offset]); +} + + + +#define MCU_RESPONSE(d) memcpy(&m_toybox_mcuram[mcu_offset], d, sizeof(d)) + + + +// I use a byteswapped MCU data rom to make the transfers to the 68k side easier +// not sure if it's all 100% endian safe +void kaneko_toybox_device::toxboy_decrypt_rom(running_machine& machine) +{ + + UINT8 *src = (UINT8 *)machine.root_device().memregion(":mcudata" )->base(); + + int i; + + for (i=0;i<0x020000;i++) + { + if (m_tabletype == TABLE_NORMAL) src[i] = src[i] + toybox_mcu_decryption_table[(i^1)&0xff]; + else src[i] = src[i] + toybox_mcu_decryption_table_alt[(i^1)&0xff]; + } + + +} + + + +void kaneko_toybox_device::toxboy_handle_04_subcommand(running_machine& machine,UINT8 mcu_subcmd, UINT16*mcu_ram) +{ + UINT8 *src = (UINT8 *)machine.root_device().memregion(":mcudata")->base()+0x10000; + UINT8* dst = (UINT8 *)mcu_ram; + + int offs = (mcu_subcmd&0x3f)*8; + int x; + + //UINT16 unused = src[offs+0] | (src[offs+1]<<8); + UINT16 romstart = src[offs+2] | (src[offs+3]<<8); + UINT16 romlength = src[offs+4] | (src[offs+5]<<8); + UINT16 ramdest = mcu_ram[0x0012/2]; + //UINT16 extra = src[offs+6] | (src[offs+7]<<8); // BONK .. important :-( + + //printf("romstart %04x length %04x\n",romstart,romlength); + + for (x=0;x> 8) + { + case 0x02: // Read from NVRAM + { + + if (m_gametype == GAME_GALPANI3) + { + /* todo: just put this in the default eeprom instead */ + + /* NOTE: code @ $38B46 & $38ab8 does exactly what is checked after MCU command + so that's what we'll mimic here... probably the initial NVRAM settings */ + int i; + + /* MCU writes 128 bytes to shared ram: last byte is the byte-sum */ + /* first 32 bytes (header): 0x8BE08E71.L, then the string "95/06/30 Gals Panic3Ver 0.95"; */ + m_toybox_mcuram[mcu_offset + 0] = 0x8BE0; m_toybox_mcuram[mcu_offset + 1] = 0x8E71; + m_toybox_mcuram[mcu_offset + 2] = 0x3935; m_toybox_mcuram[mcu_offset + 3] = 0x2F30; + m_toybox_mcuram[mcu_offset + 4] = 0x362F; m_toybox_mcuram[mcu_offset + 5] = 0x3330; + m_toybox_mcuram[mcu_offset + 6] = 0x2047; m_toybox_mcuram[mcu_offset + 7] = 0x616C; + m_toybox_mcuram[mcu_offset + 8] = 0x7320; m_toybox_mcuram[mcu_offset + 9] = 0x5061; + m_toybox_mcuram[mcu_offset + 10] = 0x6E69; m_toybox_mcuram[mcu_offset + 11] = 0x6333; + m_toybox_mcuram[mcu_offset + 12] = 0x5665; m_toybox_mcuram[mcu_offset + 13] = 0x7220; + m_toybox_mcuram[mcu_offset + 14] = 0x302E; m_toybox_mcuram[mcu_offset + 15] = 0x3935; + /* next 11 bytes - initial NVRAM settings */ + m_toybox_mcuram[mcu_offset + 16] = 0x0001; m_toybox_mcuram[mcu_offset + 17] = 0x0101; + m_toybox_mcuram[mcu_offset + 18] = 0x0100; m_toybox_mcuram[mcu_offset + 19] = 0x0208; + m_toybox_mcuram[mcu_offset + 20] = 0x02FF; m_toybox_mcuram[mcu_offset + 21] = 0x0000; + /* rest is zeroes */ + for (i=22;i<63;i++) + m_toybox_mcuram[mcu_offset + i] = 0; + /* and sum is $0c.b */ + m_toybox_mcuram[mcu_offset + 63] = 0x000c; + } + else + { + //memcpy(&kaneko16_mcu_ram[mcu_offset], m_nvram_save, sizeof(m_nvram_save)); + UINT8* nvdat = (UINT8*)&kaneko16_mcu_ram[mcu_offset]; + + address_space *eeprom_space = machine.device(":eeprom")->space(); + + for (int i=0;i<0x80;i++) + { + nvdat[i] = eeprom_space->read_byte(i); + } + + logerror("%s : MCU executed command: %04X %04X (load NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); + } + } + break; + + case 0x42: // Write to NVRAM + { +// memcpy(m_nvram_save, &kaneko16_mcu_ram[mcu_offset], sizeof(m_nvram_save)); + + address_space *eeprom_space = machine.device(":eeprom")->space(); + UINT8* nvdat = (UINT8*)&kaneko16_mcu_ram[mcu_offset]; + for (int i=0;i<0x80;i++) + { + eeprom_space->write_byte(i, nvdat[i]); + } + + logerror("%s : MCU executed command: %04X %04X (save NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); + } + break; + + case 0x43: // Initialize NVRAM - MCU writes Default Data Set directly to NVRAM (from internal ROM, or from the data ROM?) + { + // only bonk seems to do this? + if (m_gametype == GAME_BONK) + { + //memcpy(m_nvram_save, bonkadv_mcu_43, sizeof(bonkadv_mcu_43)); + + + address_space *eeprom_space = machine.device(":eeprom")->space(); + UINT8* nvdat = (UINT8*)&bonkadv_mcu_43[0]; + for (int i=0;i<0x80;i++) + { + eeprom_space->write_byte(i, nvdat[i]); + } + logerror("%s : MCU executed command: %04X %04X (restore default NVRAM settings)\n", machine.describe_context(), mcu_command, mcu_offset*2); + } + } + break; + + case 0x03: // DSW + { + kaneko16_mcu_ram[mcu_offset] = machine.root_device().ioport(":DSW1")->read(); + logerror("%s : MCU executed command: %04X %04X (read DSW)\n", machine.describe_context(), mcu_command, mcu_offset*2); + } + break; + + case 0x04: // Protection + { + logerror("%s : MCU executed command: %04X %04X %04X\n", machine.describe_context(), mcu_command, mcu_offset*2, mcu_data); + + if (m_gametype == GAME_BONK) + { + // bonk still needs these hacks + switch(mcu_data) + { + // static, in this order, at boot/reset - these aren't understood, different params in Mcu data rom, data can't be found + case 0x34: MCU_RESPONSE(bonkadv_mcu_4_34); break; + case 0x30: MCU_RESPONSE(bonkadv_mcu_4_30); break; + case 0x31: MCU_RESPONSE(bonkadv_mcu_4_31); break; + case 0x32: MCU_RESPONSE(bonkadv_mcu_4_32); break; + case 0x33: MCU_RESPONSE(bonkadv_mcu_4_33); break; + + // dynamic, per-level (29), in level order + default: + toxboy_handle_04_subcommand(machine, mcu_data, kaneko16_mcu_ram); + break; + + } + } + else + { + toxboy_handle_04_subcommand(machine, mcu_data, kaneko16_mcu_ram); + } + + } + break; + + default: + logerror("%s : MCU executed command: %04X %04X %04X (UNKNOWN COMMAND)\n", machine.describe_context(), mcu_command, mcu_offset*2, mcu_data); + break; + } +} + diff --git a/src/mame/machine/kaneko_toybox.h b/src/mame/machine/kaneko_toybox.h new file mode 100644 index 00000000000..e69f2ff718b --- /dev/null +++ b/src/mame/machine/kaneko_toybox.h @@ -0,0 +1,374 @@ +/* Kaneko Toybox */ + + +#define GAME_NORMAL (0) +#define GAME_BONK (1) +#define GAME_GALPANI3 (2) + + +#define TABLE_NORMAL (0) +#define TABLE_ALT (1) + + + +/*************************************************************************** + + TOYBOX MCU data for Bonk's Adventure + +***************************************************************************/ + +// notes based on test programs results, verified on PCB: +// - bonkadv_mcu_4_30 is the only cmd that ouputs an odd (655) number of bytes +// - bonkadv_mcu_4_33: the 32 'zeroed' bytes every 64 bytes are effectively written by the MCU + +// MCU executed command: 4300 0100 - factory settings +// this command is issued whenever the nvram settings are corrupted +// the MCU writes directly to NVRAM +static const UINT16 bonkadv_mcu_43[] = { + 0x8BE0,0x8E71,0x0102,0x0102,0x0300,0x010C,0x0202,0x0202, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0030,0x0020,0x4F6B,0x0305,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0082,0x6F82,0x628C,0xB490,0x6CAB +}; + +// MCU executed command: 0400 0E00 0034 - code +/* +200E00: 7071 moveq #$71, D0 +200E02: 7273 moveq #$73, D1 +200E04: 7475 moveq #$75, D2 +200E06: 7677 moveq #$77, D3 +200E08: 7879 moveq #$79, D4 +200E0A: 7A7B moveq #$7b, D5 +200E0C: 7C7D moveq #$7d, D6 +200E0E: 7E7F moveq #$7f, D7 +200E10: 4E75 rts +*/ +static const UINT16 bonkadv_mcu_4_34[] = { + 0x7071,0x7273,0x7475,0x7677,0x7879,0x7a7b,0x7c7d,0x7e7f, + 0x4e75 +}; +// MCU executed command: 0400 0180 0032 - 128 bytes at $200180 +static const UINT16 bonkadv_mcu_4_32[] = { + 0x00cc,0xcc0c,0xc0c0,0xc080,0x0484,0xb6a6,0x0404,0x80c0, + 0x80b1,0xb1a1,0xa1b2,0xa2b3,0xb3a3,0xa3b1,0xb1b1,0xb1c0, + 0xc0a1,0xa1a1,0xa1b2,0xb2a2,0xa290,0x9090,0xb9b9,0xa9a9, + 0xbaaa,0xbbbb,0xabab,0xb9b9,0xb9b9,0xc8c8,0xa9a9,0xa9a9, + 0xbaba,0xaaaa,0x9898,0x98b9,0xb9a9,0xa9ba,0xaabb,0xbbab, + 0xabb9,0xb9b9,0xb9c8,0xc8a9,0xa9a9,0xa9ba,0xbaaa,0xaa98, + 0x9898,0xb1b1,0xa1a1,0xb2a2,0xb3b3,0xa3a3,0xb1b1,0xb1b1, + 0xc0c0,0xa1a1,0xa1a1,0xb2b2,0xa2a2,0x9090,0x9000,0x0000 +}; +// MCU executed command: 0400 0280 0031 - 112 bytes at $200280 +static const UINT16 bonkadv_mcu_4_31[] = { + 0x1013,0x1411,0x1216,0x1519,0x1a17,0x1824,0x2322,0x211f, + 0x201e,0x1d1c,0x1b27,0x2825,0x2629,0x2a2b,0x2e2f,0x2c2d, + 0x3130,0x3435,0x3233,0x3f3e,0x3d3c,0x3a3b,0x3938,0x3736, + 0x4243,0x4041,0x4445,0x4649,0x4a47,0x484c,0x4b4f,0x504d, + 0x4e5a,0x5958,0x5755,0x5654,0x5352,0x515d,0x5e5b,0x5c5f, + 0x6061,0x6465,0x6263,0x6766,0x6a6b,0x6869,0x7574,0x7372, + 0x7071,0x6f6e,0x6d6c,0x7879,0x7677,0x7a7b,0x7c7d,0x7e7f +}; +// MCU executed command: 0400 0E50 0030 - 655 bytes at $200E50 (656 here) +static const UINT16 bonkadv_mcu_4_30[] = { + 0x8c00,0x9700,0xa000,0xa700,0xb200,0xb700,0xc000,0xcc00, + 0xd600,0xdf00,0xef00,0xf500,0xfd00,0x0501,0x0b01,0x1801, + 0x1e01,0x2901,0x3101,0x3701,0x4101,0x4901,0x0b01,0x5d01, + 0xa700,0xb200,0x6c01,0x8101,0xb200,0x8101,0x8101,0x8101, + 0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101, + 0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101, + 0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x2e02, + 0x3602,0x3d02,0x4102,0x4f02,0x5502,0x5502,0x5f02,0x6402, + 0x6d02,0x7302,0x7802,0x7d02,0x8302,0x8a02,0x0165,0x712b, + 0x57fe,0x57a2,0xff00,0x0003,0x7c3a,0x436c,0x66ff,0x0000, + 0x026c,0x6d43,0xff00,0x0000,0x74a5,0x8373,0x3599,0x9fff, + + 0x0000,0x074a,0xff00,0x0002,0x8788,0x3331,0x32ff,0x0000, + 0x0276,0x8c71,0x2d8c,0xfe12,0x8cff,0x0000,0x0171,0x0d29, + 0xfe0d,0x29ff,0x0000,0x0559,0x5a5b,0x8a8b,0xff00,0x0003, + 0x0d0e,0x576a,0x641e,0xfe0d,0x0efe,0x64a3,0xff00,0x0006, + 0x0262,0xff00,0x0007,0x3e3f,0x7a7b,0xff00,0x0007,0x7584, + 0x4c53,0xff00,0x0001,0x6645,0xff00,0x0007,0x0d18,0x2984, + 0x5384,0xfe0d,0x29ff,0x0000,0x0457,0x5cff,0x0000,0x0751, + 0x5202,0x45fe,0x4575,0xff00,0x0000,0x191a,0x1b6e,0xff00, + 0x0006,0x3472,0xff00,0x0000,0x6569,0x090f,0x8b23,0xff00, + 0x0004,0x3b3c,0x3d79,0xff00,0x0080,0x770a,0x8176,0x2a65, + 0x64fe,0x7776,0xfe2a,0x76fe,0x650a,0xff00,0x0000,0x1011, + 0x1226,0x2728,0xa655,0x940f,0x68ff,0x0000,0x8045,0x6477, + 0x0a81,0x762a,0x65fe,0x7776,0xfe2a,0x76fe,0x650a,0xff00, + 0x0000,0x166b,0xff00,0x0007,0x1e30,0x39ff,0x0000,0x0345, + 0x3a77,0x7843,0x4647,0xff00,0x0000,0x7335,0x8399,0x9fff, + 0x0000,0x0237,0x38ff,0x0000,0x0044,0x303b,0xff00,0x0000, + + 0x7d7e,0x7fa1,0x0aff,0x0000,0x0070,0xff00,0x0000,0x3e3f, + 0x7a7b,0x6180,0x89a4,0xff00,0x0006,0x86a5,0x4f42,0xff00, + 0x0000,0x1011,0x1255,0x0f68,0xff00,0x0002,0x8788,0x4033, + 0xff00,0x0005,0x650f,0xff00,0x0008,0x9596,0x9ba7,0xff00, + 0x0000,0x4849,0x82ff,0x0000,0x022e,0x2f30,0xff00,0x0001, + 0x7778,0x5826,0x2728,0xa6ff,0x0000,0x0813,0x1402,0x51ff, + 0x0000,0x072e,0x5c5d,0xff00,0x0006,0x57ff,0x0000,0x0230, + 0x391e,0x65fe,0x6530,0xff00,0x0000,0x4bff,0x0000,0x008e, + 0x8f90,0x91ff,0x0000,0x0092,0x9d17,0xff00,0x0000,0xff00, + 0x0000,0x8d9b,0xa77d,0x7e7f,0xa10a,0x9596,0xff00,0x0001, + 0x1993,0xff00,0x0000,0x67ff,0x0000,0x0067,0xff00,0x0000, + 0x27ff,0x0000,0x0390,0x8e23,0x978b,0xff00,0x0000,0x1d9e, + 0xff00,0x0007,0x3bff,0x0000,0x001d,0xff00,0x0000,0x8e90, + 0xff00,0x0005,0x2495,0x96ff,0x0000,0x009a,0xff00,0x0000 +}; +// MCU executed command: 0400 0400 0033 - 2560 bytes at $200400 +static const UINT16 bonkadv_mcu_4_33[] = { + 0x00a4,0x0001,0x00a5,0x005a,0x00a6,0x0074,0x00a7,0x009b, + 0x00a8,0x00d0,0x00a9,0x00fe,0x00aa,0x015d,0x00ab,0x01b0, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0001,0x0002,0x0019,0x005b,0x0022,0x0075,0x002d,0x009c, + 0x0041,0x00d1,0x004e,0x00ff,0x0060,0x015f,0x0072,0x01b1, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0002,0x0008,0x001a,0x0061,0x0023,0x007b,0x002e,0x00a2, + 0x0042,0x00d7,0x004f,0x0107,0x0061,0x0165,0x0073,0x01b7, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x000a,0x0000,0x0063,0x0000,0x007d,0x0000,0x00a4, + 0x0000,0x00d9,0x0000,0x0109,0x0000,0x0167,0x0000,0x01b9, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x0003,0x000b,0x001b,0x0064,0x0024,0x007e,0x002f,0x00a5, + 0x0043,0x00da,0x0050,0x010a,0x0062,0x0168,0x0074,0x01ba, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x000c,0x0000,0x0065,0x0000,0x007f,0x0000,0x00a6, + 0x0000,0x00db,0x0000,0x010b,0x0000,0x0169,0x0000,0x01bb, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0004,0x0008,0x001c,0x0061,0x0025,0x007b,0x0030,0x00a2, + 0x0044,0x00d7,0x0051,0x0107,0x0063,0x0165,0x0075,0x01b7, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0005,0x000d,0x001d,0x0066,0x0025,0x007b,0x0031,0x00a7, + 0x0045,0x00dc,0x0051,0x0107,0x0063,0x0165,0x0075,0x01b7, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x0000,0x0017,0x0000,0x0069,0x0000,0x0089,0x0000,0x00af, + 0x0000,0x00df,0x0000,0x0115,0x0000,0x0173,0x0000,0x01c5, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0009,0x0015,0x001e,0x0067,0x0029,0x0087,0x0034,0x00ad, + 0x0046,0x00dd,0x0055,0x0113,0x0067,0x0171,0x0079,0x01c3, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0006,0x000e,0x0006,0x000e,0x0026,0x0080,0x0006,0x000e, + 0x0000,0x0000,0x0052,0x010c,0x0064,0x016a,0x0076,0x01bc, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0007,0x0010,0x0007,0x0010,0x0027,0x0082,0x0032,0x00a8, + 0x0000,0x0000,0x0053,0x010e,0x0065,0x016c,0x0077,0x01be, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x0000,0x0013,0x0000,0x0013,0x0000,0x0085,0x0000,0x00ab, + 0x0000,0x0000,0x0000,0x0111,0x0000,0x016f,0x0000,0x01c1, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0008,0x0014,0x0008,0x0014,0x0028,0x0086,0x0033,0x00ac, + 0x0000,0x0000,0x0054,0x0112,0x0066,0x0170,0x0078,0x01c2, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0018,0x0000,0x006a,0x0000,0x008a,0x0000,0x00b0, + 0x0000,0x00e0,0x0000,0x0116,0x0000,0x0174,0x0000,0x01c6, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x000c,0x0000,0x0065,0x0000,0x007f,0x0000,0x00a6, + 0x0000,0x00db,0x0000,0x010b,0x0000,0x0169,0x0000,0x01bb, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x000a,0x0019,0x001f,0x006b,0x002a,0x008b,0x0035,0x00b1, + 0x0047,0x00e1,0x0056,0x0117,0x0068,0x0175,0x007a,0x01c7, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x000b,0x0019,0x0020,0x006b,0x002b,0x008b,0x0036,0x00b1, + 0x0048,0x00e1,0x0057,0x0117,0x0069,0x0175,0x007a,0x01c7, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0015,0x003e,0x0015,0x003e,0x0099,0x0095,0x0015,0x003e, + 0x0000,0x0000,0x009e,0x013a,0x006d,0x018f,0x007e,0x01dc, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x000c,0x001d,0x000c,0x001d,0x000c,0x001d,0x000c,0x001d, + 0x0049,0x00e5,0x0058,0x011b,0x006a,0x0179,0x007b,0x01c9, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x0000,0x001f,0x0000,0x001f,0x0000,0x001f,0x0000,0x001f, + 0x0000,0x00e7,0x0000,0x011d,0x0000,0x017b,0x0000,0x01cb, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x000d,0x0020,0x0021,0x006f,0x002c,0x008f,0x0037,0x00b5, + 0x004a,0x00e8,0x0059,0x011e,0x006b,0x017c,0x007c,0x01cc, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0022,0x0000,0x0071,0x0000,0x0091,0x0000,0x00b7, + 0x0000,0x00ea,0x0000,0x0120,0x0000,0x017e,0x0000,0x01ce, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0014,0x003b,0x0014,0x003b,0x005d,0x0092,0x0014,0x003b, + 0x0014,0x003b,0x009d,0x0137,0x00a0,0x018c,0x00a1,0x01d9, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x0012,0x0036,0x0012,0x0036,0x0012,0x0036,0x0012,0x0036, + 0x008a,0x00e5,0x00be,0x013c,0x006c,0x0184,0x007d,0x01d1, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0013,0x0038,0x0013,0x0038,0x0013,0x0038,0x0013,0x0038, + 0x008a,0x00e5,0x00bf,0x013d,0x006c,0x0184,0x007d,0x01d1, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0038,0x00ba,0x0038,0x00ba,0x0038,0x00ba,0x0038,0x00ba, + 0x0038,0x00ba,0x00a2,0x0128,0x006e,0x019c,0x007f,0x01e7, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x005c,0x014d,0x005c,0x014d,0x005c,0x014d,0x005c,0x014d, + 0x0000,0x0000,0x009c,0x0124,0x0071,0x01a5,0x0082,0x01f0, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x005b,0x014d,0x005b,0x014d,0x005b,0x014d,0x005b,0x014d, + 0x0000,0x0000,0x009b,0x0124,0x0070,0x01a1,0x0081,0x01ec, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0044,0x0000,0x0044,0x0000,0x0044,0x0000,0x0044, + 0x0000,0x00db,0x0000,0x010b,0x0000,0x0169,0x0000,0x01bb, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0018,0x0045,0x0018,0x0045,0x0018,0x0045,0x0018,0x0045, + 0x0044,0x00d7,0x0051,0x0107,0x0063,0x0165,0x0075,0x01b7, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x008b,0x000e,0x008b,0x000e,0x008c,0x0080,0x008b,0x000e, + 0x0000,0x0000,0x008d,0x010c,0x008e,0x016a,0x008f,0x01bc, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x0090,0x0010,0x0090,0x0010,0x0091,0x0082,0x0092,0x00a8, + 0x0000,0x0000,0x0093,0x010e,0x0094,0x016c,0x0095,0x01be, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0096,0x003e,0x0096,0x003e,0x009a,0x0095,0x0096,0x003e, + 0x0000,0x0000,0x009f,0x013a,0x0097,0x018f,0x0098,0x01dc, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0049,0x0000,0x0069,0x0000,0x0098,0x0000,0x00af, + 0x0000,0x00df,0x0000,0x0145,0x0000,0x0173,0x0000,0x01c5, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x005e,0x0048,0x005f,0x0068,0x006f,0x0097,0x0080,0x00ae, + 0x00ac,0x00de,0x00ad,0x0144,0x00ae,0x0172,0x00af,0x01c4, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + + 0x004b,0x00ed,0x004b,0x00ed,0x004b,0x00ed,0x004b,0x00ed, + 0x004b,0x00ed,0x00b0,0x012b,0x00b6,0x0186,0x00ba,0x01d3, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0087,0x00f2,0x0087,0x00f2,0x0087,0x00f2,0x0087,0x00f2, + 0x0087,0x00f2,0x00b3,0x0130,0x00b8,0x018b,0x00bc,0x01d8, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x00c1,0x0050,0x00c1,0x0050,0x00c1,0x0050,0x00c1,0x0050, + 0x00c1,0x0050,0x00c3,0x0148,0x00c5,0x019a,0x00c7,0x01e5, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x00c2,0x0050,0x00c2,0x0050,0x00c2,0x0050,0x00c2,0x0050, + 0x00c2,0x0050,0x00c4,0x0148,0x00c6,0x019a,0x00c8,0x01e5, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 +}; + +/* decryption table */ +static const UINT8 toybox_mcu_decryption_table[0x100] = { +0x7b,0x82,0xf0,0xbc,0x7f,0x1d,0xa2,0xc5,0x2a,0xfa,0x55,0xee,0x1a,0xd0,0x59,0x76, +0x5e,0x75,0x79,0x16,0xa5,0xf6,0x84,0xed,0x0f,0x2e,0xf2,0x36,0x61,0xac,0xcd,0xab, +0x01,0x3b,0x01,0x87,0x73,0xab,0xce,0x5d,0xd4,0x1d,0x68,0x2a,0x35,0xea,0x13,0x27, +0x00,0xaa,0x46,0x36,0x6e,0x65,0x80,0x7e,0x19,0xe2,0x96,0xab,0xac,0xa5,0x6c,0x63, +0x4a,0x6f,0x87,0xf6,0x6a,0xac,0x38,0xe2,0x1f,0x87,0xf9,0xaa,0xf5,0x41,0x60,0xa6, +0x42,0xb9,0x30,0xf2,0xc3,0x1c,0x4e,0x4b,0x08,0x10,0x42,0x32,0xbf,0xb2,0xc5,0x0f, +0x7a,0xab,0x97,0xf6,0xe7,0xb3,0x46,0xf8,0xec,0x2b,0x7d,0x5f,0xb1,0x10,0x03,0xe4, +0x0f,0x22,0xdf,0x8d,0x10,0x66,0xa7,0x7e,0x96,0xbd,0x5a,0xaf,0xaa,0x43,0xdf,0x10, +0x7c,0x04,0xe2,0x9d,0x66,0xd7,0xf0,0x02,0x58,0x8a,0x55,0x17,0x16,0xe2,0xe2,0x52, +0xaf,0xd9,0xf9,0x0d,0x59,0x70,0x86,0x3c,0x05,0xd1,0x52,0xa7,0xf0,0xbf,0x17,0xd0, +0x23,0x15,0xfe,0x23,0xf2,0x80,0x60,0x6f,0x95,0x89,0x67,0x65,0xc9,0x0e,0xfc,0x16, +0xd6,0x8a,0x9f,0x25,0x2c,0x0f,0x2d,0xe4,0x51,0xb2,0xa8,0x18,0x3a,0x5d,0x66,0xa0, +0x9f,0xb0,0x58,0xea,0x78,0x72,0x08,0x6a,0x90,0xb6,0xa4,0xf5,0x08,0x19,0x60,0x4e, +0x92,0xbd,0xf1,0x05,0x67,0x4f,0x24,0x99,0x69,0x1d,0x0c,0x6d,0xe7,0x74,0x88,0x22, +0x2d,0x15,0x7a,0xa2,0x37,0xa9,0xa0,0xb0,0x2c,0xfb,0x27,0xe5,0x4f,0xb6,0xcd,0x75, +0xdc,0x39,0xce,0x6f,0x1f,0xfe,0xcc,0xb5,0xe6,0xda,0xd8,0xee,0x85,0xee,0x2f,0x04, +}; + +/* alt decryption table (gtmr2) */ +static const UINT8 toybox_mcu_decryption_table_alt[0x100] = { +0x26,0x17,0xb9,0xcf,0x1a,0xf5,0x14,0x1e,0x0c,0x35,0xb3,0x66,0xa0,0x17,0xe9,0xe4, +0x90,0xf6,0xd5,0x35,0xac,0x95,0x49,0x43,0x64,0x0c,0x03,0x75,0x4d,0xda,0xb6,0xdf, +0x06,0xcf,0x83,0x9e,0x35,0x2c,0x71,0x2a,0xab,0xcc,0x65,0xd4,0x1f,0xb0,0x88,0x3c, +0xb7,0x87,0x35,0xc0,0x41,0x65,0x9f,0xa0,0xd5,0x8c,0x3e,0x06,0x53,0xdb,0x45,0x64, +0x09,0x1e,0xc5,0x8d,0x50,0x24,0xe2,0x4a,0x9b,0x99,0x77,0x25,0x43,0xa9,0x1d,0xac, +0x99,0x31,0x75,0xb5,0x53,0xab,0xad,0x5a,0x42,0x14,0xa1,0x52,0xac,0xec,0x5f,0xf8, +0x8c,0x78,0x05,0x47,0xea,0xb8,0xde,0x69,0x98,0x2d,0x8f,0x9d,0xfc,0x05,0xea,0xee, +0x77,0xbb,0xa9,0x31,0x01,0x00,0xea,0xd8,0x9c,0x43,0xb5,0x2f,0x4e,0xb5,0x1b,0xd2, +0x01,0x4b,0xc4,0xf8,0x76,0x92,0x59,0x4f,0x20,0x52,0xd9,0x7f,0xa9,0x19,0xe9,0x7c, +0x8d,0x3b,0xec,0xe0,0x60,0x08,0x2e,0xbd,0x27,0x8b,0xb2,0xfc,0x29,0xd8,0x39,0x8a, +0x4f,0x2f,0x6b,0x04,0x10,0xbd,0xa1,0x04,0xde,0xc0,0xd5,0x0f,0x04,0x86,0xd6,0xd8, +0xfd,0xb1,0x3c,0x4c,0xd1,0xc4,0xf1,0x5b,0xf5,0x8b,0xe3,0xc4,0x89,0x3c,0x39,0x86, +0xd2,0x92,0xc9,0xe5,0x2c,0x4f,0xe2,0x2f,0x2d,0xc5,0x35,0x09,0x94,0x47,0x3c,0x04, +0x40,0x8b,0x57,0x08,0xf6,0x74,0xe9,0xb8,0x36,0x4d,0xc5,0x26,0x13,0x3d,0x75,0xa0, +0xa8,0x29,0x09,0x8c,0x87,0xf7,0x13,0xaf,0x4c,0x38,0x0b,0x8a,0x7f,0x2c,0x62,0x27, +0x47,0xaa,0xda,0x07,0x92,0x8d,0xfd,0x1f,0xee,0x48,0x1a,0x53,0x3b,0x98,0x6a,0x72, +}; + + +class kaneko_toybox_device : public device_t +{ +public: + kaneko_toybox_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + static void set_toybox_table(device_t &device, int tabletype); + static void set_toybox_gametype(device_t &device, int gametype); + + DECLARE_READ16_MEMBER(toybox_mcu_ram_r); + DECLARE_WRITE16_MEMBER(toybox_mcu_ram_w); + + DECLARE_WRITE16_MEMBER(toybox_mcu_com0_w); + DECLARE_WRITE16_MEMBER(toybox_mcu_com1_w); + DECLARE_WRITE16_MEMBER(toybox_mcu_com2_w); + DECLARE_WRITE16_MEMBER(toybox_mcu_com3_w); + DECLARE_READ16_MEMBER(toybox_mcu_status_r); + + void toybox_mcu_com_w(offs_t offset, UINT16 data, UINT16 mem_mask, int _n_); + + void toxboy_decrypt_rom(running_machine& machine); + void toxboy_handle_04_subcommand(running_machine& machine,UINT8 mcu_subcmd, UINT16*mcu_ram); + void toybox_mcu_init(running_machine &machine); + void toybox_mcu_run(running_machine &machine); + + UINT16 m_toybox_mcu_com[4]; + + int m_gametype; + int m_tabletype; + +protected: + virtual void device_start(); + virtual void device_reset(); + +private: + UINT16* m_toybox_mcuram; +}; + + +extern const device_type KANEKO_TOYBOX; + diff --git a/src/mame/machine/kanekotb.h b/src/mame/machine/kanekotb.h index b17492ebbe0..7aa199e1282 100644 --- a/src/mame/machine/kanekotb.h +++ b/src/mame/machine/kanekotb.h @@ -1,286 +1,2 @@ -/* - TODO: - - bonkadv_mcu_43: extract data from MCU (dumped eeprom data for now) - - bloodwar: verify all extracted data against real board (WIP) -*/ - -/*************************************************************************** - - TOYBOX MCU data for Bonk's Adventure - -***************************************************************************/ - -// notes based on test programs results, verified on PCB: -// - bonkadv_mcu_4_30 is the only cmd that ouputs an odd (655) number of bytes -// - bonkadv_mcu_4_33: the 32 'zeroed' bytes every 64 bytes are effectively written by the MCU - -// MCU executed command: 4300 0100 - factory settings -// this command is issued whenever the nvram settings are corrupted -// the MCU writes directly to NVRAM -static const UINT16 bonkadv_mcu_43[] = { - 0x8BE0,0x8E71,0x0102,0x0102,0x0300,0x010C,0x0202,0x0202, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0030,0x0020,0x4F6B,0x0305,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0082,0x6F82,0x628C,0xB490,0x6CAB -}; - -// MCU executed command: 0400 0E00 0034 - code -/* -200E00: 7071 moveq #$71, D0 -200E02: 7273 moveq #$73, D1 -200E04: 7475 moveq #$75, D2 -200E06: 7677 moveq #$77, D3 -200E08: 7879 moveq #$79, D4 -200E0A: 7A7B moveq #$7b, D5 -200E0C: 7C7D moveq #$7d, D6 -200E0E: 7E7F moveq #$7f, D7 -200E10: 4E75 rts -*/ -static const UINT16 bonkadv_mcu_4_34[] = { - 0x7071,0x7273,0x7475,0x7677,0x7879,0x7a7b,0x7c7d,0x7e7f, - 0x4e75 -}; -// MCU executed command: 0400 0180 0032 - 128 bytes at $200180 -static const UINT16 bonkadv_mcu_4_32[] = { - 0x00cc,0xcc0c,0xc0c0,0xc080,0x0484,0xb6a6,0x0404,0x80c0, - 0x80b1,0xb1a1,0xa1b2,0xa2b3,0xb3a3,0xa3b1,0xb1b1,0xb1c0, - 0xc0a1,0xa1a1,0xa1b2,0xb2a2,0xa290,0x9090,0xb9b9,0xa9a9, - 0xbaaa,0xbbbb,0xabab,0xb9b9,0xb9b9,0xc8c8,0xa9a9,0xa9a9, - 0xbaba,0xaaaa,0x9898,0x98b9,0xb9a9,0xa9ba,0xaabb,0xbbab, - 0xabb9,0xb9b9,0xb9c8,0xc8a9,0xa9a9,0xa9ba,0xbaaa,0xaa98, - 0x9898,0xb1b1,0xa1a1,0xb2a2,0xb3b3,0xa3a3,0xb1b1,0xb1b1, - 0xc0c0,0xa1a1,0xa1a1,0xb2b2,0xa2a2,0x9090,0x9000,0x0000 -}; -// MCU executed command: 0400 0280 0031 - 112 bytes at $200280 -static const UINT16 bonkadv_mcu_4_31[] = { - 0x1013,0x1411,0x1216,0x1519,0x1a17,0x1824,0x2322,0x211f, - 0x201e,0x1d1c,0x1b27,0x2825,0x2629,0x2a2b,0x2e2f,0x2c2d, - 0x3130,0x3435,0x3233,0x3f3e,0x3d3c,0x3a3b,0x3938,0x3736, - 0x4243,0x4041,0x4445,0x4649,0x4a47,0x484c,0x4b4f,0x504d, - 0x4e5a,0x5958,0x5755,0x5654,0x5352,0x515d,0x5e5b,0x5c5f, - 0x6061,0x6465,0x6263,0x6766,0x6a6b,0x6869,0x7574,0x7372, - 0x7071,0x6f6e,0x6d6c,0x7879,0x7677,0x7a7b,0x7c7d,0x7e7f -}; -// MCU executed command: 0400 0E50 0030 - 655 bytes at $200E50 (656 here) -static const UINT16 bonkadv_mcu_4_30[] = { - 0x8c00,0x9700,0xa000,0xa700,0xb200,0xb700,0xc000,0xcc00, - 0xd600,0xdf00,0xef00,0xf500,0xfd00,0x0501,0x0b01,0x1801, - 0x1e01,0x2901,0x3101,0x3701,0x4101,0x4901,0x0b01,0x5d01, - 0xa700,0xb200,0x6c01,0x8101,0xb200,0x8101,0x8101,0x8101, - 0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101, - 0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101, - 0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x8101,0x2e02, - 0x3602,0x3d02,0x4102,0x4f02,0x5502,0x5502,0x5f02,0x6402, - 0x6d02,0x7302,0x7802,0x7d02,0x8302,0x8a02,0x0165,0x712b, - 0x57fe,0x57a2,0xff00,0x0003,0x7c3a,0x436c,0x66ff,0x0000, - 0x026c,0x6d43,0xff00,0x0000,0x74a5,0x8373,0x3599,0x9fff, - - 0x0000,0x074a,0xff00,0x0002,0x8788,0x3331,0x32ff,0x0000, - 0x0276,0x8c71,0x2d8c,0xfe12,0x8cff,0x0000,0x0171,0x0d29, - 0xfe0d,0x29ff,0x0000,0x0559,0x5a5b,0x8a8b,0xff00,0x0003, - 0x0d0e,0x576a,0x641e,0xfe0d,0x0efe,0x64a3,0xff00,0x0006, - 0x0262,0xff00,0x0007,0x3e3f,0x7a7b,0xff00,0x0007,0x7584, - 0x4c53,0xff00,0x0001,0x6645,0xff00,0x0007,0x0d18,0x2984, - 0x5384,0xfe0d,0x29ff,0x0000,0x0457,0x5cff,0x0000,0x0751, - 0x5202,0x45fe,0x4575,0xff00,0x0000,0x191a,0x1b6e,0xff00, - 0x0006,0x3472,0xff00,0x0000,0x6569,0x090f,0x8b23,0xff00, - 0x0004,0x3b3c,0x3d79,0xff00,0x0080,0x770a,0x8176,0x2a65, - 0x64fe,0x7776,0xfe2a,0x76fe,0x650a,0xff00,0x0000,0x1011, - 0x1226,0x2728,0xa655,0x940f,0x68ff,0x0000,0x8045,0x6477, - 0x0a81,0x762a,0x65fe,0x7776,0xfe2a,0x76fe,0x650a,0xff00, - 0x0000,0x166b,0xff00,0x0007,0x1e30,0x39ff,0x0000,0x0345, - 0x3a77,0x7843,0x4647,0xff00,0x0000,0x7335,0x8399,0x9fff, - 0x0000,0x0237,0x38ff,0x0000,0x0044,0x303b,0xff00,0x0000, - - 0x7d7e,0x7fa1,0x0aff,0x0000,0x0070,0xff00,0x0000,0x3e3f, - 0x7a7b,0x6180,0x89a4,0xff00,0x0006,0x86a5,0x4f42,0xff00, - 0x0000,0x1011,0x1255,0x0f68,0xff00,0x0002,0x8788,0x4033, - 0xff00,0x0005,0x650f,0xff00,0x0008,0x9596,0x9ba7,0xff00, - 0x0000,0x4849,0x82ff,0x0000,0x022e,0x2f30,0xff00,0x0001, - 0x7778,0x5826,0x2728,0xa6ff,0x0000,0x0813,0x1402,0x51ff, - 0x0000,0x072e,0x5c5d,0xff00,0x0006,0x57ff,0x0000,0x0230, - 0x391e,0x65fe,0x6530,0xff00,0x0000,0x4bff,0x0000,0x008e, - 0x8f90,0x91ff,0x0000,0x0092,0x9d17,0xff00,0x0000,0xff00, - 0x0000,0x8d9b,0xa77d,0x7e7f,0xa10a,0x9596,0xff00,0x0001, - 0x1993,0xff00,0x0000,0x67ff,0x0000,0x0067,0xff00,0x0000, - 0x27ff,0x0000,0x0390,0x8e23,0x978b,0xff00,0x0000,0x1d9e, - 0xff00,0x0007,0x3bff,0x0000,0x001d,0xff00,0x0000,0x8e90, - 0xff00,0x0005,0x2495,0x96ff,0x0000,0x009a,0xff00,0x0000 -}; -// MCU executed command: 0400 0400 0033 - 2560 bytes at $200400 -static const UINT16 bonkadv_mcu_4_33[] = { - 0x00a4,0x0001,0x00a5,0x005a,0x00a6,0x0074,0x00a7,0x009b, - 0x00a8,0x00d0,0x00a9,0x00fe,0x00aa,0x015d,0x00ab,0x01b0, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0001,0x0002,0x0019,0x005b,0x0022,0x0075,0x002d,0x009c, - 0x0041,0x00d1,0x004e,0x00ff,0x0060,0x015f,0x0072,0x01b1, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0002,0x0008,0x001a,0x0061,0x0023,0x007b,0x002e,0x00a2, - 0x0042,0x00d7,0x004f,0x0107,0x0061,0x0165,0x0073,0x01b7, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x000a,0x0000,0x0063,0x0000,0x007d,0x0000,0x00a4, - 0x0000,0x00d9,0x0000,0x0109,0x0000,0x0167,0x0000,0x01b9, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x0003,0x000b,0x001b,0x0064,0x0024,0x007e,0x002f,0x00a5, - 0x0043,0x00da,0x0050,0x010a,0x0062,0x0168,0x0074,0x01ba, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x000c,0x0000,0x0065,0x0000,0x007f,0x0000,0x00a6, - 0x0000,0x00db,0x0000,0x010b,0x0000,0x0169,0x0000,0x01bb, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0004,0x0008,0x001c,0x0061,0x0025,0x007b,0x0030,0x00a2, - 0x0044,0x00d7,0x0051,0x0107,0x0063,0x0165,0x0075,0x01b7, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0005,0x000d,0x001d,0x0066,0x0025,0x007b,0x0031,0x00a7, - 0x0045,0x00dc,0x0051,0x0107,0x0063,0x0165,0x0075,0x01b7, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x0000,0x0017,0x0000,0x0069,0x0000,0x0089,0x0000,0x00af, - 0x0000,0x00df,0x0000,0x0115,0x0000,0x0173,0x0000,0x01c5, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0009,0x0015,0x001e,0x0067,0x0029,0x0087,0x0034,0x00ad, - 0x0046,0x00dd,0x0055,0x0113,0x0067,0x0171,0x0079,0x01c3, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0006,0x000e,0x0006,0x000e,0x0026,0x0080,0x0006,0x000e, - 0x0000,0x0000,0x0052,0x010c,0x0064,0x016a,0x0076,0x01bc, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0007,0x0010,0x0007,0x0010,0x0027,0x0082,0x0032,0x00a8, - 0x0000,0x0000,0x0053,0x010e,0x0065,0x016c,0x0077,0x01be, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x0000,0x0013,0x0000,0x0013,0x0000,0x0085,0x0000,0x00ab, - 0x0000,0x0000,0x0000,0x0111,0x0000,0x016f,0x0000,0x01c1, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0008,0x0014,0x0008,0x0014,0x0028,0x0086,0x0033,0x00ac, - 0x0000,0x0000,0x0054,0x0112,0x0066,0x0170,0x0078,0x01c2, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0018,0x0000,0x006a,0x0000,0x008a,0x0000,0x00b0, - 0x0000,0x00e0,0x0000,0x0116,0x0000,0x0174,0x0000,0x01c6, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x000c,0x0000,0x0065,0x0000,0x007f,0x0000,0x00a6, - 0x0000,0x00db,0x0000,0x010b,0x0000,0x0169,0x0000,0x01bb, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x000a,0x0019,0x001f,0x006b,0x002a,0x008b,0x0035,0x00b1, - 0x0047,0x00e1,0x0056,0x0117,0x0068,0x0175,0x007a,0x01c7, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x000b,0x0019,0x0020,0x006b,0x002b,0x008b,0x0036,0x00b1, - 0x0048,0x00e1,0x0057,0x0117,0x0069,0x0175,0x007a,0x01c7, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0015,0x003e,0x0015,0x003e,0x0099,0x0095,0x0015,0x003e, - 0x0000,0x0000,0x009e,0x013a,0x006d,0x018f,0x007e,0x01dc, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x000c,0x001d,0x000c,0x001d,0x000c,0x001d,0x000c,0x001d, - 0x0049,0x00e5,0x0058,0x011b,0x006a,0x0179,0x007b,0x01c9, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x0000,0x001f,0x0000,0x001f,0x0000,0x001f,0x0000,0x001f, - 0x0000,0x00e7,0x0000,0x011d,0x0000,0x017b,0x0000,0x01cb, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x000d,0x0020,0x0021,0x006f,0x002c,0x008f,0x0037,0x00b5, - 0x004a,0x00e8,0x0059,0x011e,0x006b,0x017c,0x007c,0x01cc, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0022,0x0000,0x0071,0x0000,0x0091,0x0000,0x00b7, - 0x0000,0x00ea,0x0000,0x0120,0x0000,0x017e,0x0000,0x01ce, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0014,0x003b,0x0014,0x003b,0x005d,0x0092,0x0014,0x003b, - 0x0014,0x003b,0x009d,0x0137,0x00a0,0x018c,0x00a1,0x01d9, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x0012,0x0036,0x0012,0x0036,0x0012,0x0036,0x0012,0x0036, - 0x008a,0x00e5,0x00be,0x013c,0x006c,0x0184,0x007d,0x01d1, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0013,0x0038,0x0013,0x0038,0x0013,0x0038,0x0013,0x0038, - 0x008a,0x00e5,0x00bf,0x013d,0x006c,0x0184,0x007d,0x01d1, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0038,0x00ba,0x0038,0x00ba,0x0038,0x00ba,0x0038,0x00ba, - 0x0038,0x00ba,0x00a2,0x0128,0x006e,0x019c,0x007f,0x01e7, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x005c,0x014d,0x005c,0x014d,0x005c,0x014d,0x005c,0x014d, - 0x0000,0x0000,0x009c,0x0124,0x0071,0x01a5,0x0082,0x01f0, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x005b,0x014d,0x005b,0x014d,0x005b,0x014d,0x005b,0x014d, - 0x0000,0x0000,0x009b,0x0124,0x0070,0x01a1,0x0081,0x01ec, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0044,0x0000,0x0044,0x0000,0x0044,0x0000,0x0044, - 0x0000,0x00db,0x0000,0x010b,0x0000,0x0169,0x0000,0x01bb, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0018,0x0045,0x0018,0x0045,0x0018,0x0045,0x0018,0x0045, - 0x0044,0x00d7,0x0051,0x0107,0x0063,0x0165,0x0075,0x01b7, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x008b,0x000e,0x008b,0x000e,0x008c,0x0080,0x008b,0x000e, - 0x0000,0x0000,0x008d,0x010c,0x008e,0x016a,0x008f,0x01bc, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x0090,0x0010,0x0090,0x0010,0x0091,0x0082,0x0092,0x00a8, - 0x0000,0x0000,0x0093,0x010e,0x0094,0x016c,0x0095,0x01be, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0096,0x003e,0x0096,0x003e,0x009a,0x0095,0x0096,0x003e, - 0x0000,0x0000,0x009f,0x013a,0x0097,0x018f,0x0098,0x01dc, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0049,0x0000,0x0069,0x0000,0x0098,0x0000,0x00af, - 0x0000,0x00df,0x0000,0x0145,0x0000,0x0173,0x0000,0x01c5, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x005e,0x0048,0x005f,0x0068,0x006f,0x0097,0x0080,0x00ae, - 0x00ac,0x00de,0x00ad,0x0144,0x00ae,0x0172,0x00af,0x01c4, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - - 0x004b,0x00ed,0x004b,0x00ed,0x004b,0x00ed,0x004b,0x00ed, - 0x004b,0x00ed,0x00b0,0x012b,0x00b6,0x0186,0x00ba,0x01d3, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0087,0x00f2,0x0087,0x00f2,0x0087,0x00f2,0x0087,0x00f2, - 0x0087,0x00f2,0x00b3,0x0130,0x00b8,0x018b,0x00bc,0x01d8, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x00c1,0x0050,0x00c1,0x0050,0x00c1,0x0050,0x00c1,0x0050, - 0x00c1,0x0050,0x00c3,0x0148,0x00c5,0x019a,0x00c7,0x01e5, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x00c2,0x0050,0x00c2,0x0050,0x00c2,0x0050,0x00c2,0x0050, - 0x00c2,0x0050,0x00c4,0x0148,0x00c6,0x019a,0x00c8,0x01e5, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 -}; +/* nothing here now */ diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 9be14c4aa99..21077fbd1f5 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -18949,6 +18949,60 @@ m4calicl // California Club (Barcrest) m4cardcs // Card Cash (Barcrest) m4cojok // Carry On Joker (Barcrest) m4cashat // Cash Attack (Barcrest) +m4cashat__a // +m4cashat__b // +m4cashat__c // +m4cashat__d // +m4cashat__e // +m4cashat__f // +m4cashat__g // +m4cashat__h // +m4cashat__i // +m4cashat__j // +m4cashat__k // +m4cashat__l // +m4cashat__m // +m4cashat__n // +m4cashat__o // +m4cashat__p // +m4cashat__q // +m4cashat__r // +m4cashat__s // +m4cashat__t // +m4cashat__u // +m4cashat__v // +m4cashat__w // +m4cashat__x // +m4cashat__y // +m4cashat__z // +m4cashat__0 // +m4cashat__1 // +m4cashat__2 // +m4cashat__3 // +m4cashat__4 // +m4cashat__5 // +m4cashat__6 // +m4cashat__7 // +m4cashat__8 // +m4cashat__9 // +m4cashat__aa // +m4cashat__ab // +m4cashat__ac // +m4cashat__ad // +m4cashat__ae // +m4cashat__af // +m4cashat__ag // +m4cashat__ah // +m4cashat__ai // +m4cashat__aj // +m4cashat__ak // +m4cashat__al // +m4cashat__am // +m4cashat__an // +m4cashat__ao // +m4cashat__ap // +m4cashat__aq // +m4cashat__ar // m4cashcn // Cash Connect (Barcrest) m4cashco // Cash Counter (Barcrest) m4cashcoa // @@ -19905,6 +19959,46 @@ m4nnww__ax // m4nnww__ay // m4nnww__az // m4nnwwc // Nudge Nudge Wink Wink Classic (Barcrest) +m4nnwwc__a // +m4nnwwc__b // +m4nnwwc__c // +m4nnwwc__d // +m4nnwwc__e // +m4nnwwc__f // +m4nnwwc__g // +m4nnwwc__h // +m4nnwwc__i // +m4nnwwc__j // +m4nnwwc__k // +m4nnwwc__l // +m4nnwwc__m // +m4nnwwc__n // +m4nnwwc__o // +m4nnwwc__p // +m4nnwwc__q // +m4nnwwc__r // +m4nnwwc__s // +m4nnwwc__t // +m4nnwwc__u // +m4nnwwc__v // +m4nnwwc__w // +m4nnwwc__x // +m4nnwwc__y // +m4nnwwc__z // +m4nnwwc__0 // +m4nnwwc__1 // +m4nnwwc__2 // +m4nnwwc__3 // +m4nnwwc__4 // +m4nnwwc__5 // +m4nnwwc__6 // +m4nnwwc__7 // +m4nnwwc__8 // +m4nnwwc__9 // +m4nnwwc__aa // +m4nnwwc__ab // +m4nnwwc__ac // +m4nnwwc__ad // m4nudqst // Nudge Quest (Barcrest) m4nudshf // Nudge Shuffle (Barcrest) m4nudup // Nudge Up (Barcrest) @@ -20122,6 +20216,72 @@ m4ready__a5 // m4ra // Red Alert (Barcrest) m4rdht // Red Heat (Barcrest) m4rhr // Red Hot Roll (Barcrest) +m4rhr__a // +m4rhr__b // +m4rhr__c // +m4rhr__d // +m4rhr__e // +m4rhr__f // +m4rhr__g // +m4rhr__h // +m4rhr__i // +m4rhr__j // +m4rhr__k // +m4rhr__l // +m4rhr__m // +m4rhr__n // +m4rhr__o // +m4rhr__p // +m4rhr__q // +m4rhr__r // +m4rhr__s // +m4rhr__t // +m4rhr__u // +m4rhr__v // +m4rhr__w // +m4rhr__x // +m4rhr__y // +m4rhr__z // +m4rhr__0 // +m4rhr__1 // +m4rhr__2 // +m4rhr__3 // +m4rhr__4 // +m4rhr__5 // +m4rhr__6 // +m4rhr__7 // +m4rhr__8 // +m4rhr__9 // +m4rhr__aa // +m4rhr__ab // +m4rhr__ac // +m4rhr__ad // +m4rhr__ae // +m4rhr__af // +m4rhr__ag // +m4rhr__ah // +m4rhr__ai // +m4rhr__aj // +m4rhr__ak // +m4rhr__al // +m4rhr__am // +m4rhr__an // +m4rhr__ao // +m4rhr__ap // +m4rhr__aq // +m4rhr__ar // +m4rhr__as // +m4rhr__at // +m4rhr__au // +m4rhr__av // +m4rhr__aw // +m4rhr__ax // +m4rhr__ay // +m4rhr__az // +m4rhr__a0 // +m4rhr__a1 // +m4rhr__a2 // +m4rhr__a3 // m4rhrc // Red Hot Roll Classic (Barcrest) m4rhrcl // Red Hot Roll Club (Barcrest) m4rwb // Red White & Blue (Barcrest) @@ -20131,6 +20291,36 @@ m4rmtpd // Reel Magic Turbo Play Deluxe (Barcrest) m4reelpk // Reel Poker (Barcrest) m4reeltm // Reel Timer (Barcrest) m4richfm // Rich & Famous (Barcrest) +m4richfm__a // +m4richfm__b // +m4richfm__c // +m4richfm__d // +m4richfm__e // +m4richfm__f // +m4richfm__g // +m4richfm__h // +m4richfm__i // +m4richfm__j // +m4richfm__k // +m4richfm__l // +m4richfm__m // +m4richfm__n // +m4richfm__o // +m4richfm__p // +m4richfm__q // +m4richfm__r // +m4richfm__s // +m4richfm__t // +m4richfm__u // +m4richfm__v // +m4richfm__w // +m4richfm__x // +m4richfm__y // +m4richfm__z // +m4richfm__0 // +m4richfm__1 // +m4richfm__2 // +m4richfm__3 // m4ringfr // Ring Of Fire (Barcrest) m4rhog // Road Hog (Barcrest) m4rhog_h1 // @@ -20301,6 +20491,110 @@ m4supbjc // Super Blackjack Club (Barcrest) m4supbf // Super Bucks Fizz Club (Barcrest) m4suphv // Super Hyper Viper (Barcrest) m4supst // Super Streak (Barcrest) +m4supst__a // +m4supst__b // +m4supst__c // +m4supst__d // +m4supst__e // +m4supst__f // +m4supst__g // +m4supst__h // +m4supst__i // +m4supst__j // +m4supst__k // +m4supst__l // +m4supst__m // +m4supst__n // +m4supst__o // +m4supst__p // +m4supst__q // +m4supst__r // +m4supst__s // +m4supst__t // +m4supst__u // +m4supst__v // +m4supst__w // +m4supst__x // +m4supst__y // +m4supst__z // +m4supst__0 // +m4supst__1 // +m4supst__2 // +m4supst__3 // +m4supst__4 // +m4supst__5 // +m4supst__6 // +m4supst__7 // +m4supst__8 // +m4supst__9 // +m4supst__aa // +m4supst__ab // +m4supst__ac // +m4supst__ad // +m4supst__ae // +m4supst__af // +m4supst__ag // +m4supst__ah // +m4supst__ai // +m4supst__aj // +m4supst__ak // +m4supst__al // +m4supst__am // +m4supst__an // +m4supst__ao // +m4supst__ap // +m4supst__aq // +m4supst__ar // +m4supst__as // +m4supst__at // +m4supst__au // +m4supst__av // +m4supst__aw // +m4supst__ax // +m4supst__ay // +m4supst__az // +m4supst__a0 // +m4supst__a1 // +m4supst__a2 // +m4supst__a3 // +m4supst__a4 // +m4supst__a5 // +m4supst__a6 // +m4supst__a7 // +m4supst__a8 // +m4supst__a9 // +m4supst__ba // +m4supst__bb // +m4supst__bc // +m4supst__bd // +m4supst__be // +m4supst__bf // +m4supst__bg // +m4supst__bh // +m4supst__bi // +m4supst__bj // +m4supst__bk // +m4supst__bl // +m4supst__bm // +m4supst__bn // +m4supst__bo // +m4supst__bp // +m4supst__bq // +m4supst__br // +m4supst__bs // +m4supst__bt // +m4supst__bu // +m4supst__bv // +m4supst__bw // +m4supst__bx // +m4supst__by // +m4supst__bz // +m4supst__b0 // +m4supst__b1 // +m4supst__b2 // +m4supst__b3 // +m4supst__b4 // +m4supst__b5 // m4suptub // Super Tubes (Barcrest) m4suptuba // m4suptwo // Super Two (Barcrest) @@ -20519,6 +20813,59 @@ m4twintm // Twin Timer (Barcrest) m4twist // Twist Again (Barcrest) m4univ // Universe (Barcrest) m4uuaw // Up Up and Away (Barcrest) +m4uuaw__a // +m4uuaw__b // +m4uuaw__c // +m4uuaw__d // +m4uuaw__e // +m4uuaw__f // +m4uuaw__g // +m4uuaw__h // +m4uuaw__i // +m4uuaw__j // +m4uuaw__k // +m4uuaw__l // +m4uuaw__m // +m4uuaw__n // +m4uuaw__o // +m4uuaw__p // +m4uuaw__q // +m4uuaw__r // +m4uuaw__s // +m4uuaw__t // +m4uuaw__u // +m4uuaw__v // +m4uuaw__w // +m4uuaw__x // +m4uuaw__y // +m4uuaw__z // +m4uuaw__0 // +m4uuaw__1 // +m4uuaw__2 // +m4uuaw__3 // +m4uuaw__4 // +m4uuaw__5 // +m4uuaw__6 // +m4uuaw__7 // +m4uuaw__8 // +m4uuaw__9 // +m4uuaw__aa // +m4uuaw__ab // +m4uuaw__ac // +m4uuaw__ad // +m4uuaw__ae // +m4uuaw__af // +m4uuaw__ag // +m4uuaw__ah // +m4uuaw__ai // +m4uuaw__aj // +m4uuaw__ak // +m4uuaw__al // +m4uuaw__am // +m4uuaw__an // +m4uuaw__ao // +m4uuaw__ap // +m4uuaw__aq // m4vegast // Vegas Strip (Barcrest) m4vegastg // m4vivaes // Viva Espana (Barcrest) diff --git a/src/mame/mame.mak b/src/mame/mame.mak index dac7fd69f3c..11d126558b3 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -845,11 +845,12 @@ $(MAMEOBJ)/kaneko.a: \ $(DRIVERS)/galpani3.o \ $(DRIVERS)/hvyunit.o \ $(DRIVERS)/jchan.o \ - $(DRIVERS)/kaneko16.o $(MACHINE)/kaneko16.o $(VIDEO)/kaneko16.o \ + $(DRIVERS)/kaneko16.o $(VIDEO)/kaneko16.o \ $(VIDEO)/kaneko_tmap.o \ $(VIDEO)/kaneko_spr.o \ $(MACHINE)/kaneko_hit.o \ $(MACHINE)/kaneko_calc3.o \ + $(MACHINE)/kaneko_toybox.o \ $(DRIVERS)/sandscrp.o \ $(DRIVERS)/suprnova.o $(VIDEO)/suprnova.o \ $(VIDEO)/sknsspr.o \