From 21e1b48a0147fff3ec35b043059786bdf00a26a9 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sun, 10 Nov 2024 10:15:06 +0100 Subject: New working clones ------------------ Mad Motor (prototype, set 2) [SnakeGrunger!!11one] - igs/goldstar.cpp: dumped 3 of 4 PLDs for cmast99 [TeamEurope, Porchy] --- src/emu/xtal.cpp | 1 + src/mame/dataeast/madmotor.cpp | 161 ++++++++++++++++++++++++++--------------- src/mame/igs/goldstar.cpp | 6 ++ src/mame/mame.lst | 1 + 4 files changed, 110 insertions(+), 59 deletions(-) diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp index 13ee3065098..1ee3b6f0f54 100644 --- a/src/emu/xtal.cpp +++ b/src/emu/xtal.cpp @@ -151,6 +151,7 @@ const double XTAL::known_xtals[] = { 7'987'000, // 7.987_MHz_XTAL PC9801-86 YM2608 clock 7'995'500, // 7.9955_MHz_XTAL Used on Electronic Devices Italy Galaxy Gunners sound board 8'000'000, // 8_MHz_XTAL Extremely common, used on 100's of PCBs + 8'053'000, // 8.053_MHz_XTAL Mad Motor 8'200'000, // 8.2_MHz_XTAL Universal Mr. Do - Model 8021 PCB 8'388'000, // 8.388_MHz_XTAL Nintendo Game Boy Color 8'448'000, // 8.448_MHz_XTAL Banpresto's Note Chance - Used to drive OKI M6295 chips, usually with /8 divider diff --git a/src/mame/dataeast/madmotor.cpp b/src/mame/dataeast/madmotor.cpp index ef511525e69..528ee2b9d71 100644 --- a/src/mame/dataeast/madmotor.cpp +++ b/src/mame/dataeast/madmotor.cpp @@ -1,5 +1,6 @@ // license:BSD-3-Clause -// copyright-holders:Bryan McPhail +// copyright-holders: Bryan McPhail + /*************************************************************************** Mad Motor (c) 1989 Mitchell Corporation @@ -18,14 +19,16 @@ #include "emu.h" -#include "cpu/m68000/m68000.h" +#include "decbac06.h" +#include "decmxc06.h" + #include "cpu/h6280/h6280.h" +#include "cpu/m68000/m68000.h" #include "machine/gen_latch.h" #include "sound/okim6295.h" #include "sound/ymopm.h" #include "sound/ymopn.h" -#include "decbac06.h" -#include "decmxc06.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -52,13 +55,11 @@ public: private: uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void madmotor_map(address_map &map) ATTR_COLD; + void main_map(address_map &map) ATTR_COLD; void sound_map(address_map &map) ATTR_COLD; - /* memory pointers */ required_shared_ptr m_spriteram; - /* devices */ required_device m_maincpu; required_device m_audiocpu; required_device_array m_tilegen; @@ -70,25 +71,25 @@ private: /******************************************************************************/ -void madmotor_state::madmotor_map(address_map &map) +void madmotor_state::main_map(address_map &map) { map(0x000000, 0x07ffff).rom(); - map(0x180000, 0x180007).w("tilegen1", FUNC(deco_bac06_device::pf_control_0_w)); /* text layer */ - map(0x180010, 0x180017).w("tilegen1", FUNC(deco_bac06_device::pf_control_1_w)); - map(0x184000, 0x18407f).rw("tilegen1", FUNC(deco_bac06_device::pf_colscroll_r), FUNC(deco_bac06_device::pf_colscroll_w)); + map(0x180000, 0x180007).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control_0_w)); // text layer + map(0x180010, 0x180017).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control_1_w)); + map(0x184000, 0x18407f).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_colscroll_r), FUNC(deco_bac06_device::pf_colscroll_w)); map(0x184080, 0x1843ff).ram(); - map(0x184400, 0x1847ff).rw("tilegen1", FUNC(deco_bac06_device::pf_rowscroll_r), FUNC(deco_bac06_device::pf_rowscroll_w)); - map(0x188000, 0x189fff).rw("tilegen1", FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); + map(0x184400, 0x1847ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_rowscroll_r), FUNC(deco_bac06_device::pf_rowscroll_w)); + map(0x188000, 0x189fff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); map(0x18c000, 0x18c001).noprw(); - map(0x190000, 0x190007).w("tilegen2", FUNC(deco_bac06_device::pf_control_0_w)); /* text layer */ - map(0x190010, 0x190017).w("tilegen2", FUNC(deco_bac06_device::pf_control_1_w)); - map(0x198000, 0x1987ff).rw("tilegen2", FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); + map(0x190000, 0x190007).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control_0_w)); // text layer + map(0x190010, 0x190017).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control_1_w)); + map(0x198000, 0x1987ff).rw(m_tilegen[1], FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); map(0x19c000, 0x19c001).nopr(); - map(0x1a0000, 0x1a0007).w("tilegen3", FUNC(deco_bac06_device::pf_control_0_w)); /* text layer */ - map(0x1a0010, 0x1a0017).w("tilegen3", FUNC(deco_bac06_device::pf_control_1_w)); - map(0x1a4000, 0x1a4fff).rw("tilegen3", FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); + map(0x1a0000, 0x1a0007).w(m_tilegen[2], FUNC(deco_bac06_device::pf_control_0_w)); // text layer + map(0x1a0010, 0x1a0017).w(m_tilegen[2], FUNC(deco_bac06_device::pf_control_1_w)); + map(0x1a4000, 0x1a4fff).rw(m_tilegen[2], FUNC(deco_bac06_device::pf_data_r), FUNC(deco_bac06_device::pf_data_w)); map(0x3e0000, 0x3e3fff).ram(); - map(0x3e8000, 0x3e87ff).ram().share("spriteram"); + map(0x3e8000, 0x3e87ff).ram().share(m_spriteram); map(0x3f0000, 0x3f07ff).ram().w("palette", FUNC(palette_device::write16)).share("palette"); map(0x3f8002, 0x3f8003).portr("P1_P2"); map(0x3f8004, 0x3f8005).portr("DSW"); @@ -98,7 +99,7 @@ void madmotor_state::madmotor_map(address_map &map) /******************************************************************************/ -/* Physical memory map (21 bits) */ +// Physical memory map (21 bits) void madmotor_state::sound_map(address_map &map) { map(0x000000, 0x00ffff).rom(); @@ -120,7 +121,7 @@ static INPUT_PORTS_START( madmotor ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) /* button 3 - unused */ + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // button 3 - unused PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) @@ -128,7 +129,7 @@ static INPUT_PORTS_START( madmotor ) 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_UNUSED ) /* button 3 - unused */ + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED ) // button 3 - unused PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 ) PORT_START("DSW") @@ -194,13 +195,13 @@ INPUT_PORTS_END static const gfx_layout charlayout = { - 8,8, /* 8*8 chars */ + 8,8, // 8*8 chars RGN_FRAC(1,2), - 4, /* 4 bits per pixel */ + 4, // 4 bits per pixel { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), RGN_FRAC(0,2)+8, RGN_FRAC(0,2) }, { STEP8(0,1) }, { STEP8(0,8*2) }, - 8*8*2 /* every char takes 8 consecutive bytes */ + 8*8*2 // every char takes 8 consecutive bytes }; static const gfx_layout tilelayout = @@ -215,29 +216,29 @@ static const gfx_layout tilelayout = }; static GFXDECODE_START( gfx_madmotor ) - GFXDECODE_ENTRY( "char", 0, charlayout, 0, 16 ) /* Characters 8x8 */ - GFXDECODE_ENTRY( "tiles1", 0, tilelayout, 512, 16 ) /* Tiles 16x16 */ - GFXDECODE_ENTRY( "tiles2", 0, tilelayout, 768, 16 ) /* Tiles 16x16 */ + GFXDECODE_ENTRY( "char", 0, charlayout, 0, 16 ) // 8x8 + GFXDECODE_ENTRY( "tiles1", 0, tilelayout, 512, 16 ) // 16x16 + GFXDECODE_ENTRY( "tiles2", 0, tilelayout, 768, 16 ) // 16x16 GFXDECODE_END static GFXDECODE_START( gfx_madmotor_spr ) - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 256, 16 ) /* Sprites 16x16 */ + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 256, 16 ) // 16x16 GFXDECODE_END /******************************************************************************/ uint32_t madmotor_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - bool flip = m_tilegen[0]->get_flip_state(); + bool const flip = m_tilegen[0]->get_flip_state(); m_tilegen[0]->set_flip_screen(flip); m_tilegen[1]->set_flip_screen(flip); m_tilegen[2]->set_flip_screen(flip); m_spritegen->set_flip_screen(flip); - m_tilegen[2]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0); - m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0); - m_spritegen->draw_sprites(screen, bitmap, cliprect, m_spriteram, 0x800/2); - m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0); + m_tilegen[2]->deco_bac06_pf_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0); + m_tilegen[1]->deco_bac06_pf_draw(screen, bitmap, cliprect, 0, 0); + m_spritegen->draw_sprites(screen, bitmap, cliprect, m_spriteram, 0x800 / 2); + m_tilegen[0]->deco_bac06_pf_draw(screen, bitmap, cliprect, 0, 0); return 0; } @@ -245,20 +246,20 @@ uint32_t madmotor_state::screen_update(screen_device &screen, bitmap_ind16 &bitm void madmotor_state::madmotor(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 12000000); /* Custom chip 59, 24 MHz crystal */ - m_maincpu->set_addrmap(AS_PROGRAM, &madmotor_state::madmotor_map); - m_maincpu->set_vblank_int("screen", FUNC(madmotor_state::irq6_line_hold)); /* VBL */ + // basic machine hardware + M68000(config, m_maincpu, 24_MHz_XTAL / 2); // Custom chip 59, 24 MHz crystal + m_maincpu->set_addrmap(AS_PROGRAM, &madmotor_state::main_map); + m_maincpu->set_vblank_int("screen", FUNC(madmotor_state::irq6_line_hold)); // VBL - H6280(config, m_audiocpu, 8053000/2); /* Custom chip 45, Crystal near CPU is 8.053 MHz */ + H6280(config, m_audiocpu, 8.053_MHz_XTAL / 2); // Custom chip 45, Crystal near CPU is 8.053 MHz m_audiocpu->set_addrmap(AS_PROGRAM, &madmotor_state::sound_map); m_audiocpu->add_route(ALL_OUTPUTS, "mono", 0); // internal sound unused - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); screen.set_refresh_hz(58); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */ /* frames per second, vblank duration taken from Burger Time */); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate, frames per second, vblank duration taken from Burger Time screen.set_size(32*8, 32*8); screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1); screen.set_screen_update(FUNC(madmotor_state::screen_update)); @@ -281,52 +282,93 @@ void madmotor_state::madmotor(machine_config &config) DECO_MXC06(config, m_spritegen, 0, "palette", gfx_madmotor_spr); - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_audiocpu, 0); - YM2203(config, "ym1", 21470000/6).add_route(ALL_OUTPUTS, "mono", 0.40); + YM2203(config, "ym1", 21.477272_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "mono", 0.40); - ym2151_device &ym2(YM2151(config, "ym2", 21470000/6)); - ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ym2151_device &ym2(YM2151(config, "ym2", 21.477272_MHz_XTAL / 6)); + ym2.irq_handler().set_inputline(m_audiocpu, 1); // IRQ2 ym2.add_route(0, "mono", 0.45); ym2.add_route(1, "mono", 0.45); - OKIM6295(config, "oki1", 1023924, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); // clock frequency & pin 7 not verified + OKIM6295(config, "oki1", 1'023'924, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); // clock frequency & pin 7 not verified - OKIM6295(config, "oki2", 2047848, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.25); // clock frequency & pin 7 not verified + OKIM6295(config, "oki2", 2'047'848, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.25); // clock frequency & pin 7 not verified } /******************************************************************************/ -/* ROM names all corrected as per exact checksum matching PCB - system11 */ +// ROM names all corrected as per exact checksum matching PCB - system11 ROM_START( madmotor ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "02-2.b4", 0x00000, 0x20000, CRC(50b554e0) SHA1(e33d0ab5464ab5ff394dd630536ac83baf0aa2c9) ) ROM_LOAD16_BYTE( "00-2.b1", 0x00001, 0x20000, CRC(2d6a1b3f) SHA1(fa7058bf907becac56ed9938c5643aaefdf7a2c0) ) ROM_LOAD16_BYTE( "03-2.b6", 0x40000, 0x20000, CRC(442a0a52) SHA1(86bb5470d5653d125481250f778c632371dddad8) ) ROM_LOAD16_BYTE( "01-2.b3", 0x40001, 0x20000, CRC(e246876e) SHA1(648dca8bab001cfb42618081bbc1efa14118743e) ) - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */ + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "14.l7", 0x00000, 0x10000, CRC(1c28a7e5) SHA1(ed30d0a5a8a079677bd34b6d98ab1b15b934b30f) ) + + ROM_REGION( 0x020000, "char", 0 ) + ROM_LOAD16_BYTE( "04.a9", 0x000000, 0x10000, CRC(833ca3ab) SHA1(7a3e7ebecc1596d2e487595369ad9ba54ced5bfb) ) + ROM_LOAD16_BYTE( "05.a11", 0x000001, 0x10000, CRC(a691fbfe) SHA1(c726a4c15d599feb6883d9b643453e7028fa16d6) ) + + ROM_REGION( 0x040000, "tiles1", 0 ) + ROM_LOAD16_BYTE( "10.a19", 0x000000, 0x20000, CRC(9dbf482b) SHA1(086e9170d577e502604c180f174fbce53a1e20e5) ) + ROM_LOAD16_BYTE( "11.a21", 0x000001, 0x20000, CRC(593c48a9) SHA1(1158888f6b836253b8ae9db9b8e352f289b2e815) ) + + ROM_REGION( 0x080000, "tiles2", 0 ) + ROM_LOAD16_BYTE( "06.a13", 0x000000, 0x20000, CRC(448850e5) SHA1(6a44a42738cf6a55b4bec807e0a3939a42b36793) ) + ROM_LOAD16_BYTE( "07.a14", 0x040000, 0x20000, CRC(ede4d141) SHA1(7b847372bac043aa397aa5c274f90b9193de9176) ) + ROM_LOAD16_BYTE( "08.a16", 0x000001, 0x20000, CRC(c380e5e5) SHA1(ec87a94e7948b84c96b1577f5a8caebc56e38a94) ) + ROM_LOAD16_BYTE( "09.a18", 0x040001, 0x20000, CRC(1ee3326a) SHA1(bd03e5c4a2e7689260e6cc67288e71ef13f05a4b) ) + + ROM_REGION( 0x100000, "sprites", 0 ) + ROM_LOAD16_BYTE( "15.h11", 0x000000, 0x20000, CRC(90ae9f74) SHA1(806f96fd08fca1beeeaefe3c0fac1991410aa9c4) ) + ROM_LOAD16_BYTE( "16.h13", 0x040000, 0x20000, CRC(e96ac815) SHA1(a2b22a29ad0a4f144bb09299c454dc7a842a5318) ) + ROM_LOAD16_BYTE( "17.h14", 0x000001, 0x20000, CRC(abad9a1b) SHA1(3cec6b4ef925205efe4a8fb28e08eb58e3ba4019) ) + ROM_LOAD16_BYTE( "18.h16", 0x040001, 0x20000, CRC(96d8d64b) SHA1(54ce87fe2b14b574176d2a1d2b86057b9cd10883) ) + ROM_LOAD16_BYTE( "19.j13", 0x080000, 0x20000, CRC(cbd8c9b8) SHA1(5e86c0298b3eea06920121eecb70e5bee705addf) ) + ROM_LOAD16_BYTE( "20.j14", 0x0c0000, 0x20000, CRC(47f706a8) SHA1(bd4fe499710f8905eb4b8d1ca990f2908feb95e1) ) + ROM_LOAD16_BYTE( "21.j16", 0x080001, 0x20000, CRC(9c72d364) SHA1(9290e463273fa1f921279f1bab808d91d3aa9648) ) + ROM_LOAD16_BYTE( "22.j18", 0x0c0001, 0x20000, CRC(1e78aa60) SHA1(f5f58ee6f5efe56e72623e57ce27884551e09bd9) ) + + ROM_REGION( 0x40000, "oki1", 0 ) + ROM_LOAD( "12.h1", 0x00000, 0x20000, CRC(c202d200) SHA1(8470654923a0e8780dad678f5745f8e3e3be08b2) ) + + ROM_REGION( 0x40000, "oki2", 0 ) + ROM_LOAD( "13.h3", 0x00000, 0x20000, CRC(cc4d65e9) SHA1(b9bcaa52c570f94d2f2e5dd84c94773cc4115442) ) +ROM_END + +ROM_START( madmotora ) + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code + ROM_LOAD16_BYTE( "02.b4", 0x00000, 0x20000, CRC(18d3dba8) SHA1(010fefdf8325a8ccee34a43d9195ac5219698dae) ) + ROM_LOAD16_BYTE( "00.b1", 0x00001, 0x20000, CRC(686342c6) SHA1(fc568056a3a58fae8c1d4f5649f6554916ebb464) ) + ROM_LOAD16_BYTE( "03.b6", 0x40000, 0x20000, CRC(442a0a52) SHA1(86bb5470d5653d125481250f778c632371dddad8) ) + ROM_LOAD16_BYTE( "01.b3", 0x40001, 0x20000, CRC(e246876e) SHA1(648dca8bab001cfb42618081bbc1efa14118743e) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "14.l7", 0x00000, 0x10000, CRC(1c28a7e5) SHA1(ed30d0a5a8a079677bd34b6d98ab1b15b934b30f) ) ROM_REGION( 0x020000, "char", 0 ) - ROM_LOAD16_BYTE( "04.a9", 0x000000, 0x10000, CRC(833ca3ab) SHA1(7a3e7ebecc1596d2e487595369ad9ba54ced5bfb) ) /* chars */ + ROM_LOAD16_BYTE( "04.a9", 0x000000, 0x10000, CRC(833ca3ab) SHA1(7a3e7ebecc1596d2e487595369ad9ba54ced5bfb) ) ROM_LOAD16_BYTE( "05.a11", 0x000001, 0x10000, CRC(a691fbfe) SHA1(c726a4c15d599feb6883d9b643453e7028fa16d6) ) ROM_REGION( 0x040000, "tiles1", 0 ) - ROM_LOAD16_BYTE( "10.a19", 0x000000, 0x20000, CRC(9dbf482b) SHA1(086e9170d577e502604c180f174fbce53a1e20e5) ) /* tiles */ + ROM_LOAD16_BYTE( "10.a19", 0x000000, 0x20000, CRC(9dbf482b) SHA1(086e9170d577e502604c180f174fbce53a1e20e5) ) ROM_LOAD16_BYTE( "11.a21", 0x000001, 0x20000, CRC(593c48a9) SHA1(1158888f6b836253b8ae9db9b8e352f289b2e815) ) ROM_REGION( 0x080000, "tiles2", 0 ) - ROM_LOAD16_BYTE( "06.a13", 0x000000, 0x20000, CRC(448850e5) SHA1(6a44a42738cf6a55b4bec807e0a3939a42b36793) ) /* tiles */ + ROM_LOAD16_BYTE( "06.a13", 0x000000, 0x20000, CRC(448850e5) SHA1(6a44a42738cf6a55b4bec807e0a3939a42b36793) ) ROM_LOAD16_BYTE( "07.a14", 0x040000, 0x20000, CRC(ede4d141) SHA1(7b847372bac043aa397aa5c274f90b9193de9176) ) ROM_LOAD16_BYTE( "08.a16", 0x000001, 0x20000, CRC(c380e5e5) SHA1(ec87a94e7948b84c96b1577f5a8caebc56e38a94) ) ROM_LOAD16_BYTE( "09.a18", 0x040001, 0x20000, CRC(1ee3326a) SHA1(bd03e5c4a2e7689260e6cc67288e71ef13f05a4b) ) ROM_REGION( 0x100000, "sprites", 0 ) - ROM_LOAD16_BYTE( "15.h11", 0x000000, 0x20000, CRC(90ae9f74) SHA1(806f96fd08fca1beeeaefe3c0fac1991410aa9c4) ) /* sprites */ + ROM_LOAD16_BYTE( "15.h11", 0x000000, 0x20000, CRC(90ae9f74) SHA1(806f96fd08fca1beeeaefe3c0fac1991410aa9c4) ) ROM_LOAD16_BYTE( "16.h13", 0x040000, 0x20000, CRC(e96ac815) SHA1(a2b22a29ad0a4f144bb09299c454dc7a842a5318) ) ROM_LOAD16_BYTE( "17.h14", 0x000001, 0x20000, CRC(abad9a1b) SHA1(3cec6b4ef925205efe4a8fb28e08eb58e3ba4019) ) ROM_LOAD16_BYTE( "18.h16", 0x040001, 0x20000, CRC(96d8d64b) SHA1(54ce87fe2b14b574176d2a1d2b86057b9cd10883) ) @@ -335,10 +377,10 @@ ROM_START( madmotor ) ROM_LOAD16_BYTE( "21.j16", 0x080001, 0x20000, CRC(9c72d364) SHA1(9290e463273fa1f921279f1bab808d91d3aa9648) ) ROM_LOAD16_BYTE( "22.j18", 0x0c0001, 0x20000, CRC(1e78aa60) SHA1(f5f58ee6f5efe56e72623e57ce27884551e09bd9) ) - ROM_REGION( 0x40000, "oki1", 0 ) /* ADPCM samples */ + ROM_REGION( 0x40000, "oki1", 0 ) ROM_LOAD( "12.h1", 0x00000, 0x20000, CRC(c202d200) SHA1(8470654923a0e8780dad678f5745f8e3e3be08b2) ) - ROM_REGION( 0x40000, "oki2", 0 ) /* ADPCM samples */ + ROM_REGION( 0x40000, "oki2", 0 ) ROM_LOAD( "13.h3", 0x00000, 0x20000, CRC(cc4d65e9) SHA1(b9bcaa52c570f94d2f2e5dd84c94773cc4115442) ) ROM_END @@ -357,5 +399,6 @@ void madmotor_state::init_madmotor() } // anonymous namespace - /* The title screen is undated, but it's (c) 1989 Data East at 0xefa0 */ -GAME( 1989, madmotor, 0, madmotor, madmotor, madmotor_state, init_madmotor, ROT0, "Mitchell", "Mad Motor (prototype)", MACHINE_SUPPORTS_SAVE ) + // The title screen is undated, but it's (c) 1989 Data East at 0xefa0 +GAME( 1989, madmotor, 0, madmotor, madmotor, madmotor_state, init_madmotor, ROT0, "Mitchell", "Mad Motor (prototype, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, madmotora, madmotor, madmotor, madmotor, madmotor_state, init_madmotor, ROT0, "Mitchell", "Mad Motor (prototype, set 2)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp index 3891bf1e4c3..a2fc62701f8 100644 --- a/src/mame/igs/goldstar.cpp +++ b/src/mame/igs/goldstar.cpp @@ -13362,6 +13362,12 @@ ROM_START( cmast99 ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) + + ROM_REGION( 0x800, "plds", ROMREGION_ERASE00 ) + ROM_LOAD( "gal16v8d.f10", 0x000, 0x117, CRC(6655473e) SHA1(f7bdd98a5ec5d3fc53332c12ea81c03af02d561a) ) + ROM_LOAD( "palce16v8h.e14", 0x200, 0x117, NO_DUMP ) // registered + ROM_LOAD( "palce16v8h.f14", 0x400, 0x117, CRC(12a5e577) SHA1(ee5ea1afef775db3a9f848b5cc5384bc10b4e349) ) + ROM_LOAD( "palce16v8h.g13", 0x600, 0x117, CRC(deee0b94) SHA1(3682affbe803ffa8b436346f159c3818d6714d1a) ) ROM_END diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 6b22a286aa7..234cd9c389a 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -17139,6 +17139,7 @@ madalienb // (c) 1980 @source:dataeast/madmotor.cpp madmotor // (c) [1989] Mitchell +madmotora // (c) [1989] Mitchell @source:dataeast/metlclsh.cpp metlclsh // (c) 1985 Data East -- cgit v1.2.3