summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/de_3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/de_3.cpp')
-rw-r--r--src/mame/drivers/de_3.cpp208
1 files changed, 105 insertions, 103 deletions
diff --git a/src/mame/drivers/de_3.cpp b/src/mame/drivers/de_3.cpp
index aa99f0d6bbd..c77bee766f7 100644
--- a/src/mame/drivers/de_3.cpp
+++ b/src/mame/drivers/de_3.cpp
@@ -4,45 +4,43 @@
DataEast/Sega Version 3
*/
-
#include "emu.h"
+
+#include "audio/decobsmt.h"
+#include "machine/decopincpu.h"
+#include "machine/genpin.h"
+
#include "cpu/m6800/m6800.h"
#include "cpu/m6809/m6809.h"
#include "machine/6821pia.h"
-#include "machine/decopincpu.h"
-#include "audio/decobsmt.h"
+#include "machine/nvram.h"
#include "video/decodmd1.h"
#include "video/decodmd2.h"
-#include "machine/genpin.h"
-#include "machine/nvram.h"
// Data East CPU board is similar to Williams System 11, but without the generic audio board.
// For now, we'll presume the timings are the same.
-// 6808 CPU's input clock is 4MHz
-// but because it has an internal /4 divider, its E clock runs at 1/4 that frequency
-#define E_CLOCK (XTAL(4'000'000)/4)
-
-// Length of time in cycles between IRQs on the main 6808 CPU
-// This length is determined by the settings of the W14 and W15 jumpers
-// It can be 0x300, 0x380, 0x700 or 0x780 cycles long.
-// IRQ length is always 32 cycles
-#define S11_IRQ_CYCLES 0x380
-
extern const char layout_pinball[];
+
class de_3_state : public genpin_class
{
public:
de_3_state(const machine_config &mconfig, device_type type, const char *tag)
- : genpin_class(mconfig, type, tag),
- m_dmdtype1(*this, "decodmd1"),
- m_dmdtype2(*this, "decodmd2"),
- m_decobsmt(*this, "decobsmt")
+ : genpin_class(mconfig, type, tag)
+ , m_dmdtype1(*this, "decodmd1")
+ , m_dmdtype2(*this, "decodmd2")
+ , m_decobsmt(*this, "decobsmt")
+// , m_digits(*this, "digit%u", 0U)
+// , m_diag_digit(*this, "digit60")
{ }
- // devices
- optional_device<decodmd_type1_device> m_dmdtype1;
- optional_device<decodmd_type2_device> m_dmdtype2;
+ void de_3_dmd1(machine_config &config);
+ void de_3_dmd2(machine_config &config);
+
+protected:
+ // driver_device overrides
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
DECLARE_WRITE8_MEMBER(pia34_pa_w);
DECLARE_READ8_MEMBER(switch_r);
@@ -50,40 +48,42 @@ public:
DECLARE_WRITE8_MEMBER(pia2c_pa_w);
DECLARE_READ8_MEMBER(pia2c_pb_r);
DECLARE_WRITE8_MEMBER(pia2c_pb_w);
- DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { }; // comma3&4
- DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { }; // comma1&2
+ DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { } // comma3&4
+ DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { } // comma1&2
DECLARE_READ8_MEMBER(pia28_w7_r);
DECLARE_WRITE8_MEMBER(dig0_w);
DECLARE_WRITE8_MEMBER(dig1_w);
DECLARE_WRITE8_MEMBER(lamp0_w);
- DECLARE_WRITE8_MEMBER(lamp1_w) { };
+ DECLARE_WRITE8_MEMBER(lamp1_w) { }
//DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
//DECLARE_WRITE_LINE_MEMBER(msm5205_irq_w);
- DECLARE_WRITE8_MEMBER(sol2_w) { }; // solenoids 8-15
+ DECLARE_WRITE8_MEMBER(sol2_w) { } // solenoids 8-15
DECLARE_WRITE8_MEMBER(sol3_w);
DECLARE_WRITE8_MEMBER(sound_w);
- DECLARE_WRITE8_MEMBER(dac_w) { };
+ DECLARE_WRITE8_MEMBER(dac_w) { }
DECLARE_WRITE_LINE_MEMBER(pia21_ca2_w);
DECLARE_READ8_MEMBER(dmd_status_r);
// DECLARE_READ8_MEMBER(sound_latch_r);
// DECLARE_WRITE8_MEMBER(sample_bank_w);
- required_device<decobsmt_device> m_decobsmt;
- bool m_nmi_enable;
-
// devcb callbacks
DECLARE_READ8_MEMBER(display_r);
DECLARE_WRITE8_MEMBER(display_w);
DECLARE_WRITE8_MEMBER(lamps_w);
void de_3(machine_config &config);
- void de_3_dmd1(machine_config &config);
- void de_3_dmd2(machine_config &config);
-protected:
- // driver_device overrides
- virtual void machine_reset() override;
+ // devices
+ optional_device<decodmd_type1_device> m_dmdtype1;
+ optional_device<decodmd_type2_device> m_dmdtype2;
+ required_device<decobsmt_device> m_decobsmt;
+
+// output_finder<32> m_digits;
+// output_finder<> m_diag_digit;
+
+ bool m_nmi_enable;
+
private:
// uint32_t m_segment1;
// uint32_t m_segment2;
@@ -92,9 +92,6 @@ private:
uint8_t m_diag;
bool m_ca1;
uint8_t m_sound_data;
-
-public:
- DECLARE_DRIVER_INIT(de_3);
};
@@ -202,7 +199,7 @@ WRITE8_MEMBER( de_3_state::dig0_w )
// data &= 0x7f;
// m_strobe = data & 15;
// m_diag = (data & 0x70) >> 4;
-// output().set_digit_value(60, patterns[data>>4]); // diag digit
+// m_diag_digit = patterns[data>>4]; // diag digit
// m_segment1 = 0;
// m_segment2 = 0;
}
@@ -214,9 +211,9 @@ WRITE8_MEMBER( de_3_state::dig1_w )
// if ((m_segment2 & 0x70000) == 0x30000)
// {
// if(m_is_alpha3) // Alphanumeric type 2 uses 7 segment LEDs on the bottom row, type 3 uses 14 segment LEDs
-// output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0));
+// m_digits[m_strobe+16] = bitswap<16>(m_segment2, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0);
// else
-// output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 11, 15, 12, 10, 8, 14, 13, 9, 7, 6, 5, 4, 3, 2, 1, 0));
+// m_digits[m_strobe+16] = bitswap<16>(m_segment2, 11, 15, 12, 10, 8, 14, 13, 9, 7, 6, 5, 4, 3, 2, 1, 0);
// m_segment2 |= 0x40000;
// }
}
@@ -249,7 +246,7 @@ WRITE8_MEMBER( de_3_state::pia2c_pa_w )
// m_segment1 |= 0x10000;
// if ((m_segment1 & 0x70000) == 0x30000)
// {
-// output().set_digit_value(m_strobe, bitswap<16>(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0));
+// m_digits[m_strobe] = bitswap<16>(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0);
// m_segment1 |= 0x40000;
// }
}
@@ -281,7 +278,7 @@ WRITE8_MEMBER( de_3_state::pia2c_pb_w )
// m_segment1 |= 0x20000;
// if ((m_segment1 & 0x70000) == 0x30000)
// {
-// output().set_digit_value(m_strobe, bitswap<16>(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0));
+// m_digits[m_strobe] = bitswap<16>(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0);
// m_segment1 |= 0x40000;
// }
}
@@ -315,7 +312,7 @@ WRITE8_MEMBER( de_3_state::pia34_pa_w )
// m_segment2 |= 0x10000;
// if ((m_segment2 & 0x70000) == 0x30000)
// {
-// output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0));
+// m_digits[m_strobe+16] = bitswap<16>(m_segment2, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0);
// m_segment2 |= 0x40000;
// }
}
@@ -386,12 +383,17 @@ WRITE8_MEMBER(de_3_state::lamps_w)
}
-void de_3_state::machine_reset()
+void de_3_state::machine_start()
{
+ genpin_class::machine_start();
+
+// m_digits.resolve();
+// m_diag_digit.resolve();
}
-DRIVER_INIT_MEMBER(de_3_state,de_3)
+void de_3_state::machine_reset()
{
+ genpin_class::machine_reset();
}
MACHINE_CONFIG_START(de_3_state::de_3)
@@ -1257,60 +1259,60 @@ ROM_START(wwfr_103)
ROM_END
-GAME(1993, rab_320, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (3.20)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, rab_130, rab_320, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.30)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, rab_103, rab_320, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.03 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, aar_101, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Aaron Spelling (1.01)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_103, 0, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.03)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_101, btmn_103, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.01)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_g13, btmn_103, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.03 Germany)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_106, btmn_103, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.06)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, ckpt_a17, 0, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Checkpoint (1.7)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, gnr_300, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Guns N Roses (3.00)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, gnr_300f, gnr_300, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Guns N Roses (3.00 French)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, gnr_300d, gnr_300, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Guns N Roses (3.00 Dutch)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, gnr_200, gnr_300, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Guns N Roses (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, hook_408, 0, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Hook (4.08)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, hook_401, hook_408, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Hook (4.01)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, hook_401p, hook_408, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Hook (4.01 with prototype sound)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, hook_404, hook_408, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Hook (4.04)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, jupk_513, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Jurassic Park (5.13)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, jupk_501, jupk_513, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Jurassic Park (5.01)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, jupk_g51, jupk_513, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Jurassic Park (5.01 Germany)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_112, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.12)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_l104, lah_112, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.04 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_l108, lah_112, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.08 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_110, lah_112, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.10)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_208, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.08)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_207, lw3_208, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.07)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_207c, lw3_208, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.07 Canada)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_205, lw3_208, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.05)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_203, lw3_208, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.03)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_200, lw3_208, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_201, 0, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (2.01)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_200, trek_201, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_120, trek_201, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.20)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_117, trek_201, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.17)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_110, trek_201, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.10)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_11a, trek_201, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.10 Alpha Display)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_106, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.06)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_106s, stwr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.06, Display S1.05)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_104, stwr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.04)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_103, stwr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.03)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_g11, stwr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.01 Germany)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_a14, stwr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (Display Rev.1.04)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_102, stwr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.02)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_e12, stwr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.02 England)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_303, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (3.03)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_302, tftc_303, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (3.02 Dutch)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_300, tftc_303, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (3.00)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_200, tftc_303, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_104, tftc_303, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (1.04 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, tmnt_104, 0, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.04)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, tmnt_104g, tmnt_104, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.04) Germany", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1991, tmnt_103, tmnt_104, de_3_dmd1, de_3, de_3_state, de_3, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.03)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, tomy_400, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "The Who's Tommy Pinball Wizard (4.00)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, tomy_h30, tomy_400, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "The Who's Tommy Pinball Wizard (3.00, The Netherlands)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, tomy_102, tomy_400, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "The Who's Tommy Pinball Wizard (1.02)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, wwfr_106, 0, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "WWF Royal Rumble (1.06)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1994, wwfr_103, wwfr_106, de_3_dmd2, de_3, de_3_state, de_3, ROT0, "Data East", "WWF Royal Rumble (1.03)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, rab_320, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (3.20)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, rab_130, rab_320, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.30)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, rab_103, rab_320, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.03 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, aar_101, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Aaron Spelling (1.01)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_103, 0, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Batman (1.03)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_101, btmn_103, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Batman (1.01)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_g13, btmn_103, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Batman (1.03 Germany)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_106, btmn_103, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Batman (1.06)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, ckpt_a17, 0, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Checkpoint (1.7)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, gnr_300, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Guns N Roses (3.00)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, gnr_300f, gnr_300, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Guns N Roses (3.00 French)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, gnr_300d, gnr_300, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Guns N Roses (3.00 Dutch)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, gnr_200, gnr_300, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Guns N Roses (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, hook_408, 0, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Hook (4.08)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, hook_401, hook_408, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Hook (4.01)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, hook_401p, hook_408, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Hook (4.01 with prototype sound)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, hook_404, hook_408, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Hook (4.04)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, jupk_513, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Jurassic Park (5.13)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, jupk_501, jupk_513, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Jurassic Park (5.01)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, jupk_g51, jupk_513, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Jurassic Park (5.01 Germany)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_112, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Last Action Hero (1.12)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_l104, lah_112, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Last Action Hero (1.04 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_l108, lah_112, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Last Action Hero (1.08 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_110, lah_112, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Last Action Hero (1.10)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_208, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Lethal Weapon 3 (2.08)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_207, lw3_208, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Lethal Weapon 3 (2.07)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_207c, lw3_208, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Lethal Weapon 3 (2.07 Canada)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_205, lw3_208, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Lethal Weapon 3 (2.05)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_203, lw3_208, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Lethal Weapon 3 (2.03)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_200, lw3_208, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Lethal Weapon 3 (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_201, 0, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Star Trek 25th Anniversary (2.01)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_200, trek_201, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Star Trek 25th Anniversary (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_120, trek_201, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Star Trek 25th Anniversary (1.20)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_117, trek_201, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Star Trek 25th Anniversary (1.17)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_110, trek_201, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Star Trek 25th Anniversary (1.10)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_11a, trek_201, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Star Trek 25th Anniversary (1.10 Alpha Display)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_106, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (1.06)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_106s, stwr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (1.06, Display S1.05)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_104, stwr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (1.04)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_103, stwr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (1.03)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_g11, stwr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (1.01 Germany)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_a14, stwr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (Display Rev.1.04)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_102, stwr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (1.02)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_e12, stwr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Star Wars (1.02 England)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_303, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Tales From the Crypt (3.03)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_302, tftc_303, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Tales From the Crypt (3.02 Dutch)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_300, tftc_303, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Tales From the Crypt (3.00)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_200, tftc_303, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Tales From the Crypt (2.00)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_104, tftc_303, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "Tales From the Crypt (1.04 Spain)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, tmnt_104, 0, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.04)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, tmnt_104g, tmnt_104, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.04) Germany", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1991, tmnt_103, tmnt_104, de_3_dmd1, de_3, de_3_state, 0, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.03)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, tomy_400, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "The Who's Tommy Pinball Wizard (4.00)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, tomy_h30, tomy_400, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "The Who's Tommy Pinball Wizard (3.00, The Netherlands)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, tomy_102, tomy_400, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "The Who's Tommy Pinball Wizard (1.02)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, wwfr_106, 0, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "WWF Royal Rumble (1.06)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1994, wwfr_103, wwfr_106, de_3_dmd2, de_3, de_3_state, 0, ROT0, "Data East", "WWF Royal Rumble (1.03)", MACHINE_IS_SKELETON_MECHANICAL)