From f552908ea962ecdd7e94ea609c84144815b64557 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Mon, 3 Sep 2012 13:27:57 +0000 Subject: [PATCH] Pinball: Various preliminary works. --- src/mame/drivers/atari_s3.c | 28 +++++++++++++++++++--------- src/mame/drivers/de_1.c | 7 +++++-- src/mame/drivers/g627.c | 16 ++++++++++++++-- src/mame/drivers/nsm.c | 9 ++++++++- src/mame/drivers/rowamet.c | 25 ++++++++++++++++++++++++- src/mame/drivers/spectra.c | 12 ++++++++---- src/mame/drivers/wico.c | 20 +++++++++++++++++++- 7 files changed, 97 insertions(+), 20 deletions(-) diff --git a/src/mame/drivers/atari_s3.c b/src/mame/drivers/atari_s3.c index dfc7b0af09b..4456af92aef 100644 --- a/src/mame/drivers/atari_s3.c +++ b/src/mame/drivers/atari_s3.c @@ -1,7 +1,9 @@ -/* - Atari Generation/System 3 -*/ +/*********************************************************************************** + Pinball + Atari Generation/System 3 + +************************************************************************************/ #include "emu.h" #include "cpu/m6800/m6800.h" @@ -27,13 +29,25 @@ public: static ADDRESS_MAP_START( atari_s3_map, AS_PROGRAM, 8, atari_s3_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP ADDRESS_MAP_GLOBAL_MASK(0x3fff) AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM // NVRAM + //AM_RANGE(0x1000, 0x1007) AM_READ(sw_r) + //AM_RANGE(0x1800, 0x1800) AM_WRITE(sound0_w) + //AM_RANGE(0x1820, 0x1820) AM_WRITE(sound1_w) + //AM_RANGE(0x1840, 0x1846) AM_WRITE(disp0_w) + //AM_RANGE(0x1847, 0x1847) AM_WRITE(disp1_w) + //AM_RANGE(0x1860, 0x1867) AM_WRITE(lamp_w) + //AM_RANGE(0x1880, 0x1880) AM_WRITE(sol0_w) + //AM_RANGE(0x18a0, 0x18a7) AM_WRITE(sol1_w) + //AM_RANGE(0x18c0, 0x18c1) AM_WRITE(watchdog_w) + //AM_RANGE(0x18e0, 0x18e0) AM_WRITE(intack_w) + //AM_RANGE(0x2000, 0x2003) AM_READWRITE(dip_r,dip_w) + //AM_RANGE(0x2008, 0x200b) AM_READ(dip2_r) AM_RANGE(0x2800, 0x3fff) AM_ROM ADDRESS_MAP_END + static INPUT_PORTS_START( atari_s3 ) INPUT_PORTS_END @@ -57,14 +71,10 @@ MACHINE_CONFIG_END ROM_START(roadrunr) ROM_REGION(0x10000, "maincpu", 0) ROM_LOAD("0000.716", 0x2800, 0x0800, CRC(62f5f394) SHA1(ff91066d43d788119e3337788abd86e5c0bf2d92)) - ROM_RELOAD(0xa800, 0x0800) ROM_LOAD("3000.716", 0x3000, 0x0800, CRC(2fc01359) SHA1(d3df20c764bb68a5316367bb18d34a03293e7fa6)) - ROM_RELOAD(0xb000, 0x0800) ROM_LOAD("3800.716", 0x3800, 0x0800, CRC(77262408) SHA1(3045a732c39c96002f495f64ed752279f7d43ee7)) - ROM_RELOAD(0xb800, 0x0800) - ROM_RELOAD(0xf800, 0x0800) ROM_REGION(0x1000, "sound1", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) ROM_END diff --git a/src/mame/drivers/de_1.c b/src/mame/drivers/de_1.c index adc158fe2bd..c782dd809f4 100644 --- a/src/mame/drivers/de_1.c +++ b/src/mame/drivers/de_1.c @@ -1,6 +1,9 @@ -/* +/********************************************************************************* + + Pinball DataEast/Sega Version 1 -*/ + +**********************************************************************************/ #include "emu.h" diff --git a/src/mame/drivers/g627.c b/src/mame/drivers/g627.c index 7a938d52069..a191a1a5847 100644 --- a/src/mame/drivers/g627.c +++ b/src/mame/drivers/g627.c @@ -1,9 +1,10 @@ /* + Pinball Midway A084-91313-G627 A080-91313-G627 A082-91320-C000 - Only one of it's kind + Only one of its kind */ @@ -31,7 +32,17 @@ public: static ADDRESS_MAP_START( g627_map, AS_PROGRAM, 8, g627_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP + AM_RANGE(0x0000, 0x17ff) AM_ROM + AM_RANGE(0xc000, 0xc0ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( g627_io, AS_IO, 8, g627_state ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + //AM_RANGE(0x00, 0x02) AM_WRITE(disp_w) + //AM_RANGE(0x03, 0x07) AM_WRITE(port_0x_w) + //AM_RANGE(0x10, 0x17) AM_WRITE(port_1x_w) + //AM_RANGE(0x21, 0x22) AM_READ(port_2x_r) + //AM_RANGE(0x20, 0x25) AM_WRITE(port_2x_w) ADDRESS_MAP_END static INPUT_PORTS_START( g627 ) @@ -49,6 +60,7 @@ static MACHINE_CONFIG_START( g627, g627_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, 14138000/8) MCFG_CPU_PROGRAM_MAP(g627_map) + MCFG_CPU_IO_MAP(g627_io) MACHINE_CONFIG_END /*------------------------------------------------------------------- diff --git a/src/mame/drivers/nsm.c b/src/mame/drivers/nsm.c index 8d6817af730..99f180bbcbb 100644 --- a/src/mame/drivers/nsm.c +++ b/src/mame/drivers/nsm.c @@ -1,3 +1,9 @@ +/******************************************************************************** + +Pinball +NSM : Hot Fire Birds + +*********************************************************************************/ #include "emu.h" #include "cpu/tms9900/tms9900l.h" @@ -23,7 +29,8 @@ public: static ADDRESS_MAP_START( nsm_map, AS_PROGRAM, 8, nsm_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP + AM_RANGE(0x0000, 0x5fff) AM_ROM + AM_RANGE(0x6000, 0xffff) AM_RAM ADDRESS_MAP_END static INPUT_PORTS_START( nsm ) diff --git a/src/mame/drivers/rowamet.c b/src/mame/drivers/rowamet.c index 131116dd10a..65aab167358 100644 --- a/src/mame/drivers/rowamet.c +++ b/src/mame/drivers/rowamet.c @@ -1,3 +1,9 @@ +/************************************************************************************ + +Pinball +Rowamet : Heavy Metal + +*************************************************************************************/ #include "emu.h" #include "cpu/z80/z80.h" @@ -23,7 +29,20 @@ public: static ADDRESS_MAP_START( rowamet_map, AS_PROGRAM, 8, rowamet_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP + AM_RANGE(0x0000, 0x1fff) AM_ROM + //AM_RANGE(0x2800, 0x2806) AM_READ + AM_RANGE(0x4000, 0x40ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( rowamet_sub_map, AS_PROGRAM, 8, rowamet_state ) + AM_RANGE(0x0000, 0x0fff) AM_ROM + AM_RANGE(0x1000, 0x17ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( rowamet_sub_io, AS_IO, 8, rowamet_state ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + //AM_RANGE(0x00, 0x00) AM_READWRITE(snd_data_r,mute_w) + //AM_RANGE(0x01, 0x01) AM_WRITE(dac_w) ADDRESS_MAP_END static INPUT_PORTS_START( rowamet ) @@ -41,6 +60,9 @@ static MACHINE_CONFIG_START( rowamet, rowamet_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, 1888888) MCFG_CPU_PROGRAM_MAP(rowamet_map) + MCFG_CPU_ADD("cpu2", Z80, 1888888) + MCFG_CPU_PROGRAM_MAP(rowamet_sub_map) + MCFG_CPU_IO_MAP(rowamet_sub_io) MACHINE_CONFIG_END /*------------------------------------------------------------------- @@ -57,6 +79,7 @@ ROM_START(heavymtl) ROM_REGION(0x10000, "cpu2", 0) ROM_LOAD("hvymtl_s.bin", 0x0000, 0x1000, CRC(c525e6cb) SHA1(144e06fbbdd1f3e45ccca8bace6b04f876b1312c)) + ROM_FILL(0, 1, 0) // remove erronous FF ROM_END /*------------------------------------------------------------------- diff --git a/src/mame/drivers/spectra.c b/src/mame/drivers/spectra.c index 1bac29de9a1..e53069a93f9 100644 --- a/src/mame/drivers/spectra.c +++ b/src/mame/drivers/spectra.c @@ -1,4 +1,5 @@ /****************************************************************************************** + Pinball Valley Spectra IV ----------------- Rotating game, like Midway's "Rotation VIII". @@ -30,6 +31,10 @@ public: static ADDRESS_MAP_START( spectra_map, AS_PROGRAM, 8, spectra_state ) ADDRESS_MAP_UNMAP_HIGH + ADDRESS_MAP_GLOBAL_MASK(0xfff) + AM_RANGE(0x0000, 0x017f) AM_RAM + //AM_RANGE(0x0180, 0x019f) riot device + AM_RANGE(0x0400, 0x0fff) AM_ROM ADDRESS_MAP_END static INPUT_PORTS_START( spectra ) @@ -54,10 +59,9 @@ MACHINE_CONFIG_END /-------------------------------*/ ROM_START(spectra) ROM_REGION(0x10000, "maincpu", 0) - ROM_LOAD("spect_u3.dat", 0x0c00, 0x0400, CRC(9ca7510f) SHA1(a87849f16903836158063d593bb4a2e90c7473c8)) - ROM_RELOAD(0xfc00, 0x0400) - ROM_LOAD("spect_u4.dat", 0x0800, 0x0400, CRC(e6519689) SHA1(06ef3d349ea27a072889b7c379f258d29b7217be) BAD_DUMP) - ROM_LOAD("spect_u5.dat", 0x0400, 0x0400, CRC(49e0759f) SHA1(c3badc90ff834cbc92d8c519780069310c2b1507)) + ROM_LOAD("spect_u5.dat", 0x0400, 0x0400, CRC(49e0759f) SHA1(c3badc90ff834cbc92d8c519780069310c2b1507)) + ROM_LOAD("spect_u4.dat", 0x0800, 0x0400, BAD_DUMP CRC(e6519689) SHA1(06ef3d349ea27a072889b7c379f258d29b7217be)) + ROM_LOAD("spect_u3.dat", 0x0c00, 0x0400, CRC(9ca7510f) SHA1(a87849f16903836158063d593bb4a2e90c7473c8)) ROM_END diff --git a/src/mame/drivers/wico.c b/src/mame/drivers/wico.c index c31bb876580..8226bed31ac 100644 --- a/src/mame/drivers/wico.c +++ b/src/mame/drivers/wico.c @@ -1,3 +1,9 @@ +/************************************************************************** + +Pinball +Wico's only game : Af-tor + +***************************************************************************/ #include "emu.h" #include "cpu/m6809/m6809.h" @@ -23,7 +29,17 @@ public: static ADDRESS_MAP_START( wico_map, AS_PROGRAM, 8, wico_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP + AM_RANGE(0x0000, 0x07ff) AM_RAM + //AM_RANGE(0x1fe0, 0x1fef) AM_READWRITE(io_r,io_w) + AM_RANGE(0xf000, 0xffff) AM_ROM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( wico_sub_map, AS_PROGRAM, 8, wico_state ) + AM_RANGE(0x0000, 0x07ff) AM_RAM // shared ram with other cpu + //AM_RANGE(0x1fe0, 0x1fef) AM_READWRITE(io_r,io_w) + AM_RANGE(0x4000, 0x40ff) AM_RAM //nvram + AM_RANGE(0x8000, 0x9fff) AM_ROM + AM_RANGE(0xe000, 0xffff) AM_ROM ADDRESS_MAP_END static INPUT_PORTS_START( wico ) @@ -41,6 +57,8 @@ static MACHINE_CONFIG_START( wico, wico_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M6809, 10000000 / 8) MCFG_CPU_PROGRAM_MAP(wico_map) + MCFG_CPU_ADD("cpu2", M6809, 10000000 / 8) + MCFG_CPU_PROGRAM_MAP(wico_sub_map) MACHINE_CONFIG_END /*-------------------------------------------------------------------