summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <robbbert@users.noreply.github.com>2012-09-04 13:10:38 +0000
committer Robbbert <robbbert@users.noreply.github.com>2012-09-04 13:10:38 +0000
commit491e447c938f1a9d30891a6f5b29603e41dd6de2 (patch)
treeab05d2a64273c31d1e024c79dba232ebaa4527dc
parent4080118ce8738dfdcb0903705ea282dcc64e2be1 (diff)
Pinball: Various preliminary works.
-rw-r--r--src/mame/drivers/allied.c12
-rw-r--r--src/mame/drivers/atari_s2.c36
-rw-r--r--src/mame/drivers/jeutel.c76
-rw-r--r--src/mame/drivers/jvh.c87
-rw-r--r--src/mame/drivers/mephisto.c24
-rw-r--r--src/mame/drivers/s8.c36
-rw-r--r--src/mame/drivers/techno.c2
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 )