summaryrefslogtreecommitdiffstatshomepage
path: root/trunk/src/mame/drivers/mpu2.c
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/mame/drivers/mpu2.c')
-rw-r--r--trunk/src/mame/drivers/mpu2.c93
1 files changed, 93 insertions, 0 deletions
diff --git a/trunk/src/mame/drivers/mpu2.c b/trunk/src/mame/drivers/mpu2.c
new file mode 100644
index 00000000000..8a043a7d65c
--- /dev/null
+++ b/trunk/src/mame/drivers/mpu2.c
@@ -0,0 +1,93 @@
+/* There were also MPU0 and MPU1 units
+
+ Information from 'MAGIK'
+
+ Barcrest:
+
+ Machine Processor Unit / MPU0 techincally
+ -- No ram/roms, lots of discrete DTL logic
+
+ MPU1
+ -- First 6800 based unit, still running the earlier mech reels.
+
+ MPU1 second revision
+ -- revised board, same functionality?
+
+ MPU2
+ -- Early versions use mech reels, later versions use steppers.
+ -- Later programs use the lamp output for the reels.
+ -- Resulted in many MPU2 boards burning out the reel drive transistors because they aren't rated for it.
+
+
+ MPU2 info from Highwayman (this doesn't seem to match up well with what the roms expect?)
+
+ cartridge:0000-07ff
+ not used: 0800-0fff
+ eprom1: 1000-17ff
+ rom: 1800-1fff
+ eprom2: 2000-23ff
+ not used: 2400-27ff
+ sram (optional battery-backed 256x4 on d0-d3)
+ 2800-2fff eprom1
+ 3000-37ff rom
+ 3800-3fff eprom2
+
+*/
+
+#include "emu.h"
+#include "cpu/m6800/m6800.h"
+
+
+class mpu2_state : public driver_device
+{
+public:
+ mpu2_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag) { }
+};
+
+static ADDRESS_MAP_START( mpu2_basemap, AS_PROGRAM, 8 )
+ ADDRESS_MAP_GLOBAL_MASK(0x3fff) // A14/A15 Not Connected
+ AM_RANGE(0x1000, 0x17ff) AM_ROM AM_REGION("maskrom", 0)
+ AM_RANGE(0x0800, 0x0fff) AM_ROM AM_REGION("romp1", 0)
+ AM_RANGE(0x3800, 0x3fff) AM_ROM AM_REGION("romp2", 0)
+ADDRESS_MAP_END
+
+static INPUT_PORTS_START( mpu2 )
+INPUT_PORTS_END
+
+
+
+static MACHINE_CONFIG_START( mpu2, mpu2_state )
+ MCFG_CPU_ADD("maincpu", M6800, 2000000) // ?
+ MCFG_CPU_PROGRAM_MAP(mpu2_basemap)
+MACHINE_CONFIG_END
+
+// technically not a 'bios' because they're all on the same board.
+#define MPU2_MASKROM \
+ ROM_REGION( 0x800, "maskrom", 0 ) \
+ ROM_LOAD( "rom1.bin", 0x0000, 0x0800, CRC(198d77ee) SHA1(ef466e539efd6e31c82ef01b09d63b7580f068fe) ) \
+
+
+ROM_START( m2hilite )
+ MPU2_MASKROM
+
+ ROM_REGION( 0x800, "romp2", 0 )
+ ROM_LOAD( "hl2-1.p2", 0x0000, 0x0800, CRC(48546c53) SHA1(f50f9b4fa4091510692f08a0d85c80c9803f2657) )
+
+ ROM_REGION( 0x800, "romp1", 0 )
+ ROM_LOAD( "hl2-1.p1", 0x0000, 0x0800, CRC(be46ab30) SHA1(54482157e82acc811fc7c1c95d5feacc472b2e10) )
+ROM_END
+
+
+ROM_START( m2svlite )
+ MPU2_MASKROM
+
+ ROM_REGION( 0x800, "romp2", 0 )
+ ROM_LOAD( "sl2.bin", 0x0000, 0x0800, CRC(b3b1c3a8) SHA1(b4c1540f39cf27ed1312b00b0c7c1f3028c5ed2c) )
+
+ ROM_REGION( 0x800, "romp1", 0 )
+ ROM_LOAD( "sl1.bin", 0x0000, 0x0800, CRC(afe04b5a) SHA1(3b3385a9b039992279fda5b87926b5089a448581) )
+ROM_END
+
+GAME( 198?, m2hilite, 0 , mpu2, mpu2, 0, ROT0, "Barcrest", "Hi-Lights (Barcrest) (MPU2)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 198?, m2svlite, 0 , mpu2, mpu2, 0, ROT0, "Barcrest", "Silver Lights (Barcrest) (MPU2)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)