diff options
-rw-r--r-- | src/mame/drivers/allied.c | 12 | ||||
-rw-r--r-- | src/mame/drivers/atari_s2.c | 36 | ||||
-rw-r--r-- | src/mame/drivers/jeutel.c | 76 | ||||
-rw-r--r-- | src/mame/drivers/jvh.c | 87 | ||||
-rw-r--r-- | src/mame/drivers/mephisto.c | 24 | ||||
-rw-r--r-- | src/mame/drivers/s8.c | 36 | ||||
-rw-r--r-- | src/mame/drivers/techno.c | 2 |
7 files changed, 210 insertions, 63 deletions
diff --git a/src/mame/drivers/allied.c b/src/mame/drivers/allied.c index fe723012510..96f27d980a5 100644 --- a/src/mame/drivers/allied.c +++ b/src/mame/drivers/allied.c @@ -1,5 +1,10 @@ -/* Allied Leisure Cocktail Pinball -All tables use the same base roms and some playfields even interchange between games */ +/************************************************************************** + + Allied Leisure Cocktail Pinball + All tables use the same base roms and some playfields even interchange + between games. + +***************************************************************************/ #include "emu.h" #include "cpu/m6502/m6502.h" @@ -25,7 +30,6 @@ public: static ADDRESS_MAP_START( allied_map, AS_PROGRAM, 8, allied_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP AM_RANGE(0x0000, 0x0fff) AM_RAM AM_RANGE(0x1400, 0x1fff) AM_ROM ADDRESS_MAP_END @@ -49,7 +53,7 @@ MACHINE_CONFIG_END ROM_START( allied ) - ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_REGION( 0x2000, "maincpu", 0 ) ROM_LOAD( "alliedu5.bin", 0x1400, 0x0400, CRC(e4fb64fb) SHA1(a3d9de7cbfb42180a860e0bbbeaeba96d8bd1e20)) ROM_LOAD( "alliedu6.bin", 0x1800, 0x0400, CRC(dca980dd) SHA1(3817d75413854d889fc1ce4fd6a51d820d1e0534)) ROM_LOAD( "alliedu3.bin", 0x1c00, 0x0400, CRC(13f42789) SHA1(baa0f73fda08a3c5d6f1423fb329e4febb07ef97)) diff --git a/src/mame/drivers/atari_s2.c b/src/mame/drivers/atari_s2.c index 361b1e5d3b9..e6153337ace 100644 --- a/src/mame/drivers/atari_s2.c +++ b/src/mame/drivers/atari_s2.c @@ -1,7 +1,9 @@ -/* +/*********************************************************************************** + + Pinball Atari Generation/System 2 -*/ +************************************************************************************/ #include "emu.h" #include "cpu/m6800/m6800.h" @@ -11,7 +13,7 @@ class atari_s2_state : public driver_device public: atari_s2_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") + m_maincpu(*this, "maincpu") { } protected: @@ -27,10 +29,20 @@ public: static ADDRESS_MAP_START( atari_s2_map, AS_PROGRAM, 8, atari_s2_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(0x2800, 0x3fff) AM_ROM ADDRESS_MAP_END @@ -57,14 +69,11 @@ MACHINE_CONFIG_END ROM_START(supermap) ROM_REGION(0x10000, "maincpu", 0) ROM_LOAD("supmn_k.rom", 0x2800, 0x0800, CRC(a28091c2) SHA1(9f5e47db408da96a31cb2f3be0fa9fb1e79f8d85)) - ROM_RELOAD(0xa800, 0x0800) ROM_LOAD("atari_m.rom", 0x3000, 0x0800, CRC(1bb6b72c) SHA1(dd24ed54de275aadf8dc0810a6af3ac97aea4026)) - ROM_RELOAD(0xb000, 0x0800) ROM_LOAD("atari_j.rom", 0x3800, 0x0800, CRC(26521779) SHA1(2cf1c66441aee99b9d01859d495c12025b5ef094)) - 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 /*------------------------------------------------------------------- @@ -72,15 +81,12 @@ ROM_END /-------------------------------------------------------------------*/ ROM_START(hercules) ROM_REGION(0x10000, "maincpu", 0) - ROM_LOAD("herc_k.rom", 0x2800, 0x0800, CRC(65e099b1) SHA1(83a06bc82e0f8f4c0655886c6a9962bb28d00c5e)) - ROM_RELOAD(0xa800, 0x0800) + ROM_LOAD("herc_k.rom", 0x2800, 0x0800, CRC(65e099b1) SHA1(83a06bc82e0f8f4c0655886c6a9962bb28d00c5e)) ROM_LOAD("atari_m.rom", 0x3000, 0x0800, CRC(1bb6b72c) SHA1(dd24ed54de275aadf8dc0810a6af3ac97aea4026)) - ROM_RELOAD(0xb000, 0x0800) ROM_LOAD("atari_j.rom", 0x3800, 0x0800, CRC(26521779) SHA1(2cf1c66441aee99b9d01859d495c12025b5ef094)) - 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/jeutel.c b/src/mame/drivers/jeutel.c index 2c5e1f31923..2ffb08bfc39 100644 --- a/src/mame/drivers/jeutel.c +++ b/src/mame/drivers/jeutel.c @@ -1,3 +1,9 @@ +/******************************************************************************* + +Pinball +Jeutel + +********************************************************************************/ #include "emu.h" #include "cpu/z80/z80.h" @@ -7,7 +13,7 @@ class jeutel_state : public driver_device public: jeutel_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") + m_maincpu(*this, "maincpu") { } protected: @@ -24,6 +30,31 @@ public: static ADDRESS_MAP_START( jeutel_map, AS_PROGRAM, 8, jeutel_state ) ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x1fff) AM_ROM + AM_RANGE(0xc000, 0xc7ff) AM_RAM + //AM_RANGE(0xe000, 0xe003) AM_READWRITE ppi8255_2 +ADDRESS_MAP_END + +static ADDRESS_MAP_START( jeutel_cpu2, AS_PROGRAM, 8, jeutel_state ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x0fff) AM_ROM + //AM_RANGE(0x2000, 0x2003) AM_WRITE ppi8255_0 + //AM_RANGE(0x3000, 0x3003) AM_WRITE ppi8255_1 + //AM_RANGE(0x4000, 0x4000) AM_WRITENOP + AM_RANGE(0x8000, 0x83ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( jeutel_cpu3, AS_PROGRAM, 8, jeutel_state ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x2fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( jeutel_cpu3_io, AS_IO, 8, jeutel_state ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + //AM_RANGE(0x00, 0x00) AM_WRITE AY8910_control_port_0_w + //AM_RANGE(0x01, 0x01) AM_WRITE AY8910_write_port_0_w + //AM_RANGE(0x04, 0x04) AM_READ(AY8910_read_port_0_r) ADDRESS_MAP_END static INPUT_PORTS_START( jeutel ) @@ -41,6 +72,11 @@ static MACHINE_CONFIG_START( jeutel, jeutel_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, 3300000) MCFG_CPU_PROGRAM_MAP(jeutel_map) + MCFG_CPU_ADD("cpu2", Z80, 3300000) + MCFG_CPU_PROGRAM_MAP(jeutel_cpu2) + MCFG_CPU_ADD("cpu3", Z80, 3300000) + MCFG_CPU_PROGRAM_MAP(jeutel_cpu3) + MCFG_CPU_IO_MAP(jeutel_cpu3_io) MACHINE_CONFIG_END /*-------------------------------- @@ -48,19 +84,14 @@ MACHINE_CONFIG_END /-------------------------------*/ ROM_START(leking) ROM_REGION(0x10000, "maincpu", 0) - ROM_LOAD("game-m.bin", 0x0000, 0x2000, CRC(4b66517a) SHA1(1939ea78932d469a16441507bb90b032c5f77b1e)) + ROM_LOAD("game-m.bin", 0x0000, 0x2000, CRC(4b66517a) SHA1(1939ea78932d469a16441507bb90b032c5f77b1e)) + ROM_REGION(0x10000, "cpu2", 0) - ROM_LOAD("game-v.bin", 0x0000, 0x1000, CRC(cbbc8b55) SHA1(4fe150fa3b565e5618896c0af9d51713b381ed88)) + ROM_LOAD("game-v.bin", 0x0000, 0x1000, CRC(cbbc8b55) SHA1(4fe150fa3b565e5618896c0af9d51713b381ed88)) + ROM_REGION(0x10000, "cpu3", 0) - ROM_LOAD("sound-v.bin", 0x0000, 0x1000, CRC(36130e7b) SHA1(d9b66d43b55272579b3972005355b8a18ce6b4a9)) - ROM_LOAD("sound-p.bin", 0x1000, 0x2000, BAD_DUMP CRC(97eedd6c) SHA1(3bb8e5d32417c49ef97cbe407f2c5eeb214bf72d)) - ROM_RELOAD(0x2000, 0x2000) - ROM_RELOAD(0x4000, 0x2000) - ROM_RELOAD(0x6000, 0x2000) - ROM_RELOAD(0x8000, 0x2000) - ROM_RELOAD(0xa000, 0x2000) - ROM_RELOAD(0xc000, 0x2000) - ROM_RELOAD(0xe000, 0x2000) + ROM_LOAD("sound-v.bin", 0x0000, 0x1000, CRC(36130e7b) SHA1(d9b66d43b55272579b3972005355b8a18ce6b4a9)) + ROM_LOAD("sound-p.bin", 0x1000, 0x2000, BAD_DUMP CRC(97eedd6c) SHA1(3bb8e5d32417c49ef97cbe407f2c5eeb214bf72d)) ROM_END /*-------------------------------- @@ -68,21 +99,16 @@ ROM_END /-------------------------------*/ ROM_START(olympic) ROM_REGION(0x10000, "maincpu", 0) - ROM_LOAD("game-jo1.bin", 0x0000, 0x2000, CRC(c9f040cf) SHA1(c689f3a82d904d3f9fc8688d4c06082c51645b2f)) + ROM_LOAD("game-jo1.bin", 0x0000, 0x2000, CRC(c9f040cf) SHA1(c689f3a82d904d3f9fc8688d4c06082c51645b2f)) + ROM_REGION(0x10000, "cpu2", 0) - ROM_LOAD("game-v.bin", 0x0000, 0x1000, CRC(cd284a20) SHA1(94568e1247994c802266f9fbe4a6f6ed2b55a978)) + ROM_LOAD("game-v.bin", 0x0000, 0x1000, CRC(cd284a20) SHA1(94568e1247994c802266f9fbe4a6f6ed2b55a978)) + ROM_REGION(0x10000, "cpu3", 0) - ROM_LOAD("sound-j0.bin", 0x0000, 0x1000, CRC(5c70ce72) SHA1(b0b6cc7b6ec3ed9944d738b61a0d144b77b07000)) - ROM_LOAD("sound-p.bin", 0x1000, 0x2000, CRC(97eedd6c) SHA1(3bb8e5d32417c49ef97cbe407f2c5eeb214bf72d)) - ROM_RELOAD(0x2000, 0x2000) - ROM_RELOAD(0x4000, 0x2000) - ROM_RELOAD(0x6000, 0x2000) - ROM_RELOAD(0x8000, 0x2000) - ROM_RELOAD(0xa000, 0x2000) - ROM_RELOAD(0xc000, 0x2000) - ROM_RELOAD(0xe000, 0x2000) + ROM_LOAD("sound-j0.bin", 0x0000, 0x1000, CRC(5c70ce72) SHA1(b0b6cc7b6ec3ed9944d738b61a0d144b77b07000)) + ROM_LOAD("sound-p.bin", 0x1000, 0x2000, CRC(97eedd6c) SHA1(3bb8e5d32417c49ef97cbe407f2c5eeb214bf72d)) ROM_END -GAME(1983, leking, 0, jeutel, jeutel, jeutel_state, jeutel, ROT0, "Jeutel", "Le King", GAME_IS_SKELETON_MECHANICAL) -GAME(1984, olympic, 0, jeutel, jeutel, jeutel_state, jeutel, ROT0, "Jeutel", "Olympic Games", GAME_IS_SKELETON_MECHANICAL) +GAME(1983, leking, 0, jeutel, jeutel, jeutel_state, jeutel, ROT0, "Jeutel", "Le King", GAME_IS_SKELETON_MECHANICAL) +GAME(1984, olympic, 0, jeutel, jeutel, jeutel_state, jeutel, ROT0, "Jeutel", "Olympic Games", GAME_IS_SKELETON_MECHANICAL) diff --git a/src/mame/drivers/jvh.c b/src/mame/drivers/jvh.c index 077949865d1..97b51211285 100644 --- a/src/mame/drivers/jvh.c +++ b/src/mame/drivers/jvh.c @@ -1,13 +1,19 @@ +/******************************************************************************* +Pinball +JVH : Escape, and Movie Masters + +********************************************************************************/ #include "emu.h" #include "cpu/tms9900/tms9900l.h" +#include "cpu/m6800/m6800.h" class jvh_state : public driver_device { public: jvh_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") + m_maincpu(*this, "maincpu") { } protected: @@ -24,7 +30,67 @@ public: static ADDRESS_MAP_START( jvh_map, AS_PROGRAM, 8, jvh_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP + AM_RANGE(0x0000, 0x3bff) AM_ROM + AM_RANGE(0x3c00, 0x3cff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( escape_io, AS_IO, 8, jvh_state ) + //AM_RANGE(0x01, 0x02) AM_READ(sw1_r) + //AM_RANGE(0x03, 0x05) AM_READ(dip_r) + //AM_RANGE(0x06, 0x07) AM_READ(sw6_r) + //AM_RANGE(0x10, 0x15) AM_WRITE(snd_w) + //AM_RANGE(0x16, 0x16) AM_WRITE(latch_w) + //AM_RANGE(0x17, 0x19) AM_WRITE(out1a_w) + //AM_RANGE(0x1a, 0x1a) AM_WRITE(enable_w) + //AM_RANGE(0x1b, 0x1f) AM_WRITE(out1b_w) + //AM_RANGE(0x20, 0x27) AM_WRITE(out2a_w) + //AM_RANGE(0x28, 0x2f) AM_WRITE(out2b_w) + //AM_RANGE(0x30, 0x37) AM_WRITE(out3a_w) + //AM_RANGE(0x3e, 0x3e) AM_WRITE(irq_enable) + //AM_RANGE(0x3f, 0x3f) AM_WRITE(zc_enable) + //AM_RANGE(0x40, 0x47) AM_WRITE(digit_w) + //AM_RANGE(0x48, 0x4b) AM_WRITE(bcd_w) + //AM_RANGE(0x4c, 0x50) AM_WRITE(panel_w) + //AM_RANGE(0x51, 0x55) AM_WRITE(col_w) + //AM_RANGE(0x58, 0x5f) AM_WRITE(out5b_w) + //AM_RANGE(0x60, 0x67) AM_WRITE(out6a_w) + //AM_RANGE(0x68, 0x6f) AM_WRITE(out6b_w) + //AM_RANGE(0x70, 0x74) AM_WRITE(out7a_w) + //AM_RANGE(0x75, 0x7f) AM_WRITE(sol_w) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( movmastr_io, AS_IO, 8, jvh_state ) + //AM_RANGE(0x01, 0x02) AM_READ(sw1_r) + //AM_RANGE(0x03, 0x05) AM_READ(dip_r) + //AM_RANGE(0x08, 0x09) AM_READ(sw6_r) + //AM_RANGE(0x00, 0x07) AM_WRITE(out0a2_w) + //AM_RANGE(0x08, 0x0f) AM_WRITE(out0b2_w) + //AM_RANGE(0x10, 0x17) AM_WRITE(out1a2_w) + //AM_RANGE(0x18, 0x1f) AM_WRITE(out1b2_w) + //AM_RANGE(0x20, 0x27) AM_WRITE(out2a2_w) + //AM_RANGE(0x28, 0x2f) AM_WRITE(out2b2_w) + //AM_RANGE(0x30, 0x30) AM_WRITE(out3a2_w) + //AM_RANGE(0x31, 0x36) AM_WRITE(snd_w) + //AM_RANGE(0x37, 0x37) AM_WRITE(latch_w) + //AM_RANGE(0x3e, 0x3e) AM_WRITE(irq_enable) + //AM_RANGE(0x3f, 0x3f) AM_WRITE(zc_enable) + //AM_RANGE(0x40, 0x47) AM_WRITE(out4a2_w) + //AM_RANGE(0x48, 0x4a) AM_WRITE(out4b2_w) + //AM_RANGE(0x4b, 0x4b) AM_WRITE(enable_w) + //AM_RANGE(0x4c, 0x4f) AM_WRITE(out4c2_w) + //AM_RANGE(0x50, 0x55) AM_WRITE(col_w) + //AM_RANGE(0x57, 0x5a) AM_WRITE(bcd_w) + //AM_RANGE(0x5b, 0x5f) AM_WRITE(panel_w) + //AM_RANGE(0x60, 0x67) AM_WRITE(digit_w) + //AM_RANGE(0x68, 0x6f) AM_WRITE(out6b2_w) + //AM_RANGE(0x70, 0x74) AM_WRITE(out7a2_w) + //AM_RANGE(0x75, 0x7f) AM_WRITE(sol_w) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( jvh_sub_map, AS_PROGRAM, 8, jvh_state ) + AM_RANGE(0x0000, 0x007f) AM_RAM + //AM_RANGE(0x0080, 0x008f) via6522_r,w + AM_RANGE(0xc000, 0xdfff) AM_MIRROR(0x2000) AM_ROM ADDRESS_MAP_END static INPUT_PORTS_START( jvh ) @@ -42,34 +108,41 @@ static MACHINE_CONFIG_START( jvh, jvh_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", TMS9980L, 1000000) MCFG_CPU_PROGRAM_MAP(jvh_map) + MCFG_CPU_IO_MAP(escape_io) + MCFG_CPU_ADD("cpu2", M6800, 1000000) + MCFG_CPU_PROGRAM_MAP(jvh_sub_map) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( jvh2, jvh ) + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_IO_MAP(movmastr_io) +MACHINE_CONFIG_END + + /*------------------------------------------------------------------- / Escape /-------------------------------------------------------------------*/ ROM_START(escape) - ROM_REGION(0x10000, "maincpu", 0) + ROM_REGION(0x4000, "maincpu", 0) ROM_LOAD("cpu_ic1.bin", 0x0000, 0x2000, CRC(fadb8f9a) SHA1(b7e7ea8e33847c14a3414f5e367e304f12c0bc00)) ROM_LOAD("cpu_ic7.bin", 0x2000, 0x2000, CRC(2f9402b4) SHA1(3d3bae7e4e5ad40e3c8019d55392defdffd21cc4)) ROM_REGION(0x10000, "cpu2", 0) ROM_LOAD("snd.bin", 0xc000, 0x2000, CRC(2477bbe2) SHA1(f636952822153f43e9d09f8211edde1057249203)) - ROM_RELOAD(0xe000, 0x2000) ROM_END /*------------------------------------------------------------------- / Movie Masters /-------------------------------------------------------------------*/ ROM_START(movmastr) - ROM_REGION(0x10000, "maincpu", 0) + ROM_REGION(0x4000, "maincpu", 0) ROM_LOAD("mm_ic1.764", 0x0000, 0x2000, CRC(fb59920d) SHA1(05536c4c036a8d73516766e14f4449665b2ec180)) ROM_LOAD("mm_ic7.764", 0x2000, 0x2000, CRC(9b47af41) SHA1(ae795c22aa437d6c71312d93de8a87f43ee500fb)) ROM_REGION(0x10000, "cpu2", 0) ROM_LOAD("snd.bin", 0xc000, 0x2000, NO_DUMP) - ROM_RELOAD(0xe000, 0x2000) ROM_END GAME(1987, escape, 0, jvh, jvh, jvh_state, jvh, ROT0, "Jac Van Ham (Royal)", "Escape", GAME_IS_SKELETON_MECHANICAL) -GAME(19??, movmastr, 0, jvh, jvh, jvh_state, jvh, ROT0, "Jac Van Ham (Royal)", "Movie Masters", GAME_IS_SKELETON_MECHANICAL) +GAME(19??, movmastr, 0, jvh2, jvh, jvh_state, jvh, ROT0, "Jac Van Ham (Royal)", "Movie Masters", GAME_IS_SKELETON_MECHANICAL) diff --git a/src/mame/drivers/mephisto.c b/src/mame/drivers/mephisto.c index c2b7db4fc44..c9294f7ad5d 100644 --- a/src/mame/drivers/mephisto.c +++ b/src/mame/drivers/mephisto.c @@ -1,6 +1,13 @@ +/***************************************************************************************** + +Pinball +Mephisto + +******************************************************************************************/ #include "emu.h" #include "cpu/i86/i86.h" +#include "cpu/mcs51/mcs51.h" // mephisto_state was also defined in mess/drivers/mephisto.c class mephisto_pinball_state : public driver_device @@ -24,12 +31,20 @@ public: static ADDRESS_MAP_START( mephisto_map, AS_PROGRAM, 8, mephisto_pinball_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP AM_RANGE(0x00000, 0x0ffff) AM_ROM AM_RANGE(0x10000, 0x1ffff) AM_RAM + //AM_RANGE(0x12000, 0x1201f) io (switches & lamps) AM_RANGE(0xf8000, 0xfffff) AM_ROM ADDRESS_MAP_END +static ADDRESS_MAP_START( mephisto_cpu2, AS_PROGRAM, 8, mephisto_pinball_state ) + AM_RANGE(0x00000, 0x07fff) AM_ROM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( mephisto_cpu2_io, AS_IO, 8, mephisto_pinball_state ) + //AM_RANGE(0x0000, 0x07ff) AM_WRITE +ADDRESS_MAP_END + static INPUT_PORTS_START( mephisto ) INPUT_PORTS_END @@ -45,6 +60,9 @@ static MACHINE_CONFIG_START( mephisto, mephisto_pinball_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", I8088, 8000000) MCFG_CPU_PROGRAM_MAP(mephisto_map) + MCFG_CPU_ADD("cpu2", I8051, 12000000) + MCFG_CPU_PROGRAM_MAP(mephisto_cpu2) + MCFG_CPU_IO_MAP(mephisto_cpu2_io) MACHINE_CONFIG_END /*------------------------------------------------------------------- @@ -55,8 +73,10 @@ ROM_START(mephistp) ROM_LOAD("cpu_ver1.2", 0x00000, 0x8000, CRC(845c8eb4) SHA1(2a705629990950d4e2d3a66a95e9516cf112cc88)) ROM_RELOAD(0x08000, 0x8000) ROM_RELOAD(0xf8000, 0x8000) + ROM_REGION(0x20000, "cpu2", 0) ROM_LOAD("ic15_02", 0x00000, 0x8000, CRC(2accd446) SHA1(7297e4825c33e7cf23f86fe39a0242e74874b1e2)) + ROM_REGION(0x40000, "sound1", 0) ROM_LOAD("ic14_s0", 0x00000, 0x8000, CRC(7cea3018) SHA1(724fe7a4456cbf2ac01466d946668ee86f4410ae)) ROM_LOAD("ic13_s1", 0x08000, 0x8000, CRC(5a9e0f1d) SHA1(dbfd307706c51f8809f4867a199b4b62beb64379)) @@ -73,8 +93,10 @@ ROM_START(mephistp1) ROM_LOAD("cpu_ver1.1", 0x00000, 0x8000, CRC(ce584902) SHA1(dd05d008bbd9b6588cb204e8d901537ffe7ddd43)) ROM_RELOAD(0x08000, 0x8000) ROM_RELOAD(0xf8000, 0x8000) + ROM_REGION(0x20000, "cpu2", 0) ROM_LOAD("ic15_02", 0x00000, 0x8000, CRC(2accd446) SHA1(7297e4825c33e7cf23f86fe39a0242e74874b1e2)) + ROM_REGION(0x40000, "sound1", 0) ROM_LOAD("ic14_s0", 0x00000, 0x8000, CRC(7cea3018) SHA1(724fe7a4456cbf2ac01466d946668ee86f4410ae)) ROM_LOAD("ic13_s1", 0x08000, 0x8000, CRC(5a9e0f1d) SHA1(dbfd307706c51f8809f4867a199b4b62beb64379)) diff --git a/src/mame/drivers/s8.c b/src/mame/drivers/s8.c index b6138f93402..cb91bd50233 100644 --- a/src/mame/drivers/s8.c +++ b/src/mame/drivers/s8.c @@ -1,6 +1,9 @@ -/* +/*********************************************************************************** + + Pinball Williams System 8 -*/ + +************************************************************************************/ #include "emu.h" @@ -11,7 +14,7 @@ class williams_s8_state : public driver_device public: williams_s8_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") + m_maincpu(*this, "maincpu") { } protected: @@ -27,7 +30,20 @@ public: static ADDRESS_MAP_START( williams_s8_map, AS_PROGRAM, 8, williams_s8_state ) - AM_RANGE(0x0000, 0xffff) AM_NOP + ADDRESS_MAP_GLOBAL_MASK(0x7fff) + AM_RANGE(0x0000, 0x07ff) AM_RAM + //AM_RANGE(0x2100, 0x2103) AM_WRITE + //AM_RANGE(0x2200, 0x2200) AM_WRITE + //AM_RANGE(0x2400, 0x2403) AM_WRITE + //AM_RANGE(0x2800, 0x2803) AM_WRITE + //AM_RANGE(0x3000, 0x3003) AM_WRITE + AM_RANGE(0x5000, 0x7fff) AM_ROM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( williams_s8_sub_map, AS_PROGRAM, 8, williams_s8_state ) + AM_RANGE(0x0000, 0x00ff) AM_RAM + //AM_RANGE(0x4000, 0x4003) AM_WRITE + AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END static INPUT_PORTS_START( williams_s8 ) @@ -45,6 +61,8 @@ static MACHINE_CONFIG_START( williams_s8, williams_s8_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M6800, 1000000) MCFG_CPU_PROGRAM_MAP(williams_s8_map) + MCFG_CPU_ADD("cpu2", M6800, 1000000) + MCFG_CPU_PROGRAM_MAP(williams_s8_sub_map) MACHINE_CONFIG_END /*-------------------- @@ -53,9 +71,8 @@ MACHINE_CONFIG_END ROM_START(pfevr_l2) ROM_REGION(0x10000, "maincpu", 0) ROM_LOAD("pf-rom1.u19", 0x5000, 0x1000, CRC(00be42bd) SHA1(72ca21c96e3ffa3c43499165f3339b669c8e94a5)) - ROM_RELOAD( 0xd000, 0x1000) ROM_LOAD("pf-rom2.u20", 0x6000, 0x2000, CRC(7b101534) SHA1(21e886d5872104d71bb528b9affb12230268597a)) - ROM_RELOAD( 0xe000, 0x2000) + ROM_REGION(0x10000, "cpu2", 0) ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(b0161712) SHA1(5850f1f1f11e3ac9b9629cff2b26c4ad32436b55)) ROM_RELOAD(0x8000, 0x4000) @@ -64,13 +81,12 @@ ROM_END ROM_START(pfevr_p3) ROM_REGION(0x10000, "maincpu", 0) ROM_LOAD("cpu_u19.732", 0x5000, 0x1000, CRC(03796c6d) SHA1(38c95fcce9d0f357a74f041f0df006b9c6f6efc7)) - ROM_RELOAD( 0xd000, 0x1000) ROM_LOAD("cpu_u20.764", 0x6000, 0x2000, CRC(3a3acb39) SHA1(7844cc30a9486f718a556850fc9cef3be82f26b7)) - ROM_RELOAD( 0xe000, 0x2000) + ROM_REGION(0x10000, "cpu2", 0) ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(b0161712) SHA1(5850f1f1f11e3ac9b9629cff2b26c4ad32436b55)) ROM_RELOAD(0x8000, 0x4000) ROM_END -GAME(1984, pfevr_l2, 0, williams_s8, williams_s8, williams_s8_state, williams_s8, ROT0, "Williams", "Pennant Fever (L-2)", GAME_IS_SKELETON_MECHANICAL) -GAME(1984, pfevr_p3, pfevr_l2, williams_s8, williams_s8, williams_s8_state, williams_s8, ROT0, "Williams", "Pennant Fever (P-3)", GAME_IS_SKELETON_MECHANICAL) +GAME(1984,pfevr_l2, 0, williams_s8, williams_s8, williams_s8_state, williams_s8, ROT0, "Williams", "Pennant Fever (L-2)", GAME_IS_SKELETON_MECHANICAL) +GAME(1984,pfevr_p3, pfevr_l2, williams_s8, williams_s8, williams_s8_state, williams_s8, ROT0, "Williams", "Pennant Fever (P-3)", GAME_IS_SKELETON_MECHANICAL) diff --git a/src/mame/drivers/techno.c b/src/mame/drivers/techno.c index d77a6e1afee..58921492904 100644 --- a/src/mame/drivers/techno.c +++ b/src/mame/drivers/techno.c @@ -31,7 +31,7 @@ static ADDRESS_MAP_START( techno_map, AS_PROGRAM, 16, techno_state ) AM_RANGE(0x0000, 0xffff) AM_ROM AM_RANGE(0x4000, 0x5fff) AM_RAM AM_RANGE(0x6000, 0xffff) AM_ROM - AM_RANGE(0x10000, 0x17800) AM_NOP // io + AM_RANGE(0x10000, 0x17801) AM_NOP // io ADDRESS_MAP_END static INPUT_PORTS_START( techno ) |