mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
bit more cleanup (nw)
This commit is contained in:
parent
48f7473754
commit
76add106d2
@ -86,10 +86,10 @@ public:
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_dips(*this, "DSW%u", 0)
|
||||
, m_switches(*this, "X.%u", 0)
|
||||
, m_digit8(*this, "digit8_%u", 0U)
|
||||
, m_digit7(*this, "digit7_%u", 0U)
|
||||
{ }
|
||||
|
||||
DECLARE_DRIVER_INIT(gts1);
|
||||
|
||||
void gts1(machine_config &config);
|
||||
|
||||
protected:
|
||||
@ -107,6 +107,7 @@ protected:
|
||||
DECLARE_READ8_MEMBER (gts1_pa_r);
|
||||
DECLARE_WRITE8_MEMBER(gts1_do_w);
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
void gts1_map(address_map &map);
|
||||
@ -117,6 +118,9 @@ private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_ioport_array<3> m_dips;
|
||||
required_ioport_array<5> m_switches;
|
||||
output_finder<32> m_digit8; // driver currently uses 0-6, 8-14, 16-22 and 24-30
|
||||
output_finder<32> m_digit7; // driver currently uses 7, 15, 23 and 31
|
||||
|
||||
uint8_t m_strobe; //!< switches strobe lines (5 lower bits used)
|
||||
uint8_t m_nvram_addr; //!< NVRAM address
|
||||
bool m_nvram_e2; //!< NVRWAM enable (E2 line)
|
||||
@ -332,8 +336,25 @@ static INPUT_PORTS_START( jokrpokr )
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER)
|
||||
INPUT_PORTS_END
|
||||
|
||||
void gts1_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
|
||||
m_digit8.resolve();
|
||||
m_digit7.resolve();
|
||||
|
||||
save_item(NAME(m_strobe));
|
||||
save_item(NAME(m_nvram_addr));
|
||||
save_item(NAME(m_nvram_e2));
|
||||
save_item(NAME(m_nvram_wr));
|
||||
save_item(NAME(m_6351_addr));
|
||||
save_item(NAME(m_z30_out));
|
||||
}
|
||||
|
||||
void gts1_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
|
||||
m_strobe = 0;
|
||||
m_nvram_addr = 0;
|
||||
m_nvram_e2 = false;
|
||||
@ -342,10 +363,6 @@ void gts1_state::machine_reset()
|
||||
m_z30_out = 0;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(gts1_state,gts1)
|
||||
{
|
||||
}
|
||||
|
||||
READ8_MEMBER (gts1_state::gts1_solenoid_r)
|
||||
{
|
||||
uint8_t data = 0;
|
||||
@ -437,15 +454,18 @@ WRITE8_MEMBER(gts1_state::gts1_display_w)
|
||||
* when the input is 0001, and in this case the extra
|
||||
* output H is generated instead.
|
||||
*/
|
||||
#define _a (1 << 0)
|
||||
#define _b (1 << 1)
|
||||
#define _c (1 << 2)
|
||||
#define _d (1 << 3)
|
||||
#define _e (1 << 4)
|
||||
#define _f (1 << 5)
|
||||
#define _g (1 << 6)
|
||||
#define _h (1 << 7)
|
||||
static const uint8_t ttl7448_mod[16] = {
|
||||
enum : uint8_t
|
||||
{
|
||||
_a = 1 << 0,
|
||||
_b = 1 << 1,
|
||||
_c = 1 << 2,
|
||||
_d = 1 << 3,
|
||||
_e = 1 << 4,
|
||||
_f = 1 << 5,
|
||||
_g = 1 << 6,
|
||||
_h = 1 << 7
|
||||
};
|
||||
static constexpr uint8_t ttl7448_mod[16] = {
|
||||
/* 0 */ _a | _b | _c | _d | _e | _f,
|
||||
/* 1 */ _h,
|
||||
/* 2 */ _a | _b | _d | _e | _g,
|
||||
@ -466,9 +486,9 @@ WRITE8_MEMBER(gts1_state::gts1_display_w)
|
||||
uint8_t a = ttl7448_mod[(data >> 0) & 15];
|
||||
uint8_t b = ttl7448_mod[(data >> 4) & 15];
|
||||
// LOG("%s: offset:%d data:%02x a:%02x b:%02x\n", __FUNCTION__, offset, data, a, b);
|
||||
if ((offset % 8) < 7) {
|
||||
output().set_indexed_value("digit8_", offset, a);
|
||||
output().set_indexed_value("digit8_", offset + 16, b);
|
||||
if ((offset % 8) < 7) { // FIXME: layout suggests this should be < 6 rather than < 7
|
||||
m_digit8[offset] = a;
|
||||
m_digit8[offset + 16] = b;
|
||||
} else {
|
||||
/*
|
||||
* For the 4 7-seg displays the segment h is turned back into
|
||||
@ -478,18 +498,10 @@ WRITE8_MEMBER(gts1_state::gts1_display_w)
|
||||
a = _b | _c;
|
||||
if (b & _h)
|
||||
b = _b | _c;
|
||||
output().set_indexed_value("digit7_", offset, a);
|
||||
m_digit7[offset] = a;
|
||||
// FIXME: there is nothing on outputs 22, 23, 30 and 31?
|
||||
output().set_indexed_value("digit7_", offset + 16, b);
|
||||
m_digit7[offset + 16] = b;
|
||||
}
|
||||
#undef _a
|
||||
#undef _b
|
||||
#undef _c
|
||||
#undef _d
|
||||
#undef _e
|
||||
#undef _f
|
||||
#undef _g
|
||||
#undef _h
|
||||
}
|
||||
|
||||
/**
|
||||
@ -978,34 +990,34 @@ ROM_START(sys1test)
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME(1977, gts1, 0, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING)
|
||||
GAME(1977, gts1, 0, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "System 1", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING)
|
||||
|
||||
//Exact same roms as gts1 with added hardware we'll likely need roms for to emulate properly
|
||||
GAME(1979, gts1s, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 with sound board", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING )
|
||||
GAME(19??, sys1test, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 Test prom", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, gts1s, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "System 1 with sound board", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING )
|
||||
GAME(19??, sys1test, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "System 1 Test prom", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
|
||||
// chimes
|
||||
GAME(1977, cleoptra, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Cleopatra", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, sinbad, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, sinbadn, sinbad, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad (Norway)", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, jokrpokr, gts1, gts1, jokrpokr, gts1_state, gts1, ROT0, "Gottlieb", "Joker Poker", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, dragon, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Dragon", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, solaride, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Solar Ride", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, countdwn, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Count-Down", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1977, cleoptra, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Cleopatra", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, sinbad, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Sinbad", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, sinbadn, sinbad, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Sinbad (Norway)", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, jokrpokr, gts1, gts1, jokrpokr, gts1_state, 0, ROT0, "Gottlieb", "Joker Poker", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, dragon, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Dragon", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, solaride, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Solar Ride", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, countdwn, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Count-Down", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
|
||||
// NE555 beeper
|
||||
GAME(1978, closeenc, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Close Encounters of the Third Kind", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, charlies, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Charlie's Angels", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, pinpool, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Pinball Pool", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, closeenc, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Close Encounters of the Third Kind", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1978, charlies, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Charlie's Angels", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, pinpool, gts1, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Pinball Pool", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
|
||||
// sound card
|
||||
GAME(1979, totem, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Totem", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, hulk, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "The Incredible Hulk", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, geniep, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Genie (Pinball)", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, buckrgrs, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Buck Rogers", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, torch, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Torch", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, roldisco, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Roller Disco", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, astannie, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, totem, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Totem", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, hulk, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "The Incredible Hulk", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1979, geniep, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Genie (Pinball)", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, buckrgrs, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Buck Rogers", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, torch, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Torch", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, roldisco, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Roller Disco", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1980, astannie, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
|
||||
// homebrew
|
||||
GAME(1986, hexagone, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Christian Tabart", "L'Hexagone (France)", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1986, hexagone, gts1s, gts1, gts1, gts1_state, 0, ROT0, "Christian Tabart", "L'Hexagone (France)", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
|
@ -50,31 +50,42 @@ public:
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_switch(*this, "SWITCH.%u", 0)
|
||||
, m_led(*this, "led_%u", 1U)
|
||||
, m_dpl(*this, "dpl_%u", 0U)
|
||||
{ }
|
||||
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(wolfman_replay_hs_r);
|
||||
DECLARE_DRIVER_INIT(peyper);
|
||||
DECLARE_DRIVER_INIT(odin);
|
||||
DECLARE_DRIVER_INIT(wolfman);
|
||||
|
||||
void peyper(machine_config &config);
|
||||
|
||||
protected:
|
||||
DECLARE_READ8_MEMBER(sw_r);
|
||||
DECLARE_WRITE8_MEMBER(col_w);
|
||||
DECLARE_WRITE8_MEMBER(disp_w);
|
||||
DECLARE_WRITE8_MEMBER(lamp_w);
|
||||
DECLARE_WRITE8_MEMBER(lamp7_w);
|
||||
DECLARE_WRITE8_MEMBER(sol_w);
|
||||
DECLARE_WRITE8_MEMBER(p1a_w) { }; // more lamps
|
||||
DECLARE_WRITE8_MEMBER(p1b_w) { }; // more lamps
|
||||
DECLARE_WRITE8_MEMBER(p2a_w) { }; // more lamps
|
||||
DECLARE_WRITE8_MEMBER(p2b_w) { }; // more lamps
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(wolfman_replay_hs_r);
|
||||
DECLARE_DRIVER_INIT(peyper);
|
||||
DECLARE_DRIVER_INIT(odin);
|
||||
DECLARE_DRIVER_INIT(wolfman);
|
||||
void peyper(machine_config &config);
|
||||
DECLARE_WRITE8_MEMBER(p1a_w) { } // more lamps
|
||||
DECLARE_WRITE8_MEMBER(p1b_w) { } // more lamps
|
||||
DECLARE_WRITE8_MEMBER(p2a_w) { } // more lamps
|
||||
DECLARE_WRITE8_MEMBER(p2b_w) { } // more lamps
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
void peyper_io(address_map &map);
|
||||
void peyper_map(address_map &map);
|
||||
|
||||
private:
|
||||
uint8_t m_digit;
|
||||
uint8_t m_disp_layout[36];
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_ioport_array<4> m_switch;
|
||||
output_finder<4> m_led;
|
||||
output_finder<34> m_dpl; // 0 used as black hole
|
||||
};
|
||||
|
||||
WRITE8_MEMBER( peyper_state::col_w )
|
||||
@ -112,31 +123,28 @@ WRITE8_MEMBER( peyper_state::disp_w )
|
||||
15 -> DPL31,DPL32
|
||||
*/
|
||||
|
||||
uint8_t i,q,hex_a,a;
|
||||
uint8_t p = m_digit << 1;
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
uint8_t const p = m_digit << 1;
|
||||
for (uint8_t i = 0; i < 2; i++, data >>= 4)
|
||||
{
|
||||
q = m_disp_layout[p++]; // get control code or digit
|
||||
a = data & 15; // get bcd
|
||||
data >>= 4; // rotate for next iteration
|
||||
hex_a = patterns[a]; // get segments
|
||||
uint8_t const q = m_disp_layout[p | i]; // get control code or digit
|
||||
uint8_t const a = data & 15; // get bcd
|
||||
uint8_t const hex_a = patterns[a]; // get segments
|
||||
|
||||
// special codes
|
||||
switch (q)
|
||||
{
|
||||
case 34: // player indicator lights (7-digit only)
|
||||
output().set_indexed_value("led_",1,BIT(a,0)); // PLAYER 1
|
||||
output().set_indexed_value("led_",2,BIT(a,1)); // PLAYER 2
|
||||
output().set_indexed_value("led_",3,BIT(a,2)); // PLAYER 3
|
||||
output().set_indexed_value("led_",4,BIT(a,3)); // PLAYER 4
|
||||
m_led[0] = BIT(a, 0); // PLAYER 1
|
||||
m_led[1] = BIT(a, 1); // PLAYER 2
|
||||
m_led[2] = BIT(a, 2); // PLAYER 3
|
||||
m_led[3] = BIT(a, 3); // PLAYER 4
|
||||
break;
|
||||
|
||||
case 35: // units digits show 0
|
||||
if (!BIT(a,0)) output().set_indexed_value("dpl_",m_disp_layout[32], 0x3f);
|
||||
if (!BIT(a,1)) output().set_indexed_value("dpl_",m_disp_layout[33], 0x3f);
|
||||
if (!BIT(a,2)) output().set_indexed_value("dpl_",m_disp_layout[34], 0x3f);
|
||||
if (!BIT(a,3)) output().set_indexed_value("dpl_",m_disp_layout[35], 0x3f);
|
||||
if (!BIT(a, 0)) m_dpl[m_disp_layout[32]] = 0x3f;
|
||||
if (!BIT(a, 1)) m_dpl[m_disp_layout[33]] = 0x3f;
|
||||
if (!BIT(a, 2)) m_dpl[m_disp_layout[34]] = 0x3f;
|
||||
if (!BIT(a, 3)) m_dpl[m_disp_layout[35]] = 0x3f;
|
||||
break;
|
||||
|
||||
case 36: // game status indicators
|
||||
@ -152,13 +160,13 @@ WRITE8_MEMBER( peyper_state::disp_w )
|
||||
case 38: // player 2 indicators (6-digit only)
|
||||
case 39: // player 3 indicators (6-digit only)
|
||||
case 40: // player 4 indicators (6-digit only)
|
||||
output().set_indexed_value("led_",q-36,BIT(a,1)); // player indicator
|
||||
output().set_indexed_value("dpl_",q-7,BIT(a,2) ? 6:0); // million led (we show blank or 1 in millions digit)
|
||||
m_led[q - 37] = BIT(a, 1); // player indicator
|
||||
m_dpl[q - 7] = BIT(a, 2) ? 6 : 0; // million led (we show blank or 1 in millions digit)
|
||||
// bit 3, looks like it turns on all the decimal points, reason unknown
|
||||
break;
|
||||
|
||||
default: // display a digit
|
||||
output().set_indexed_value("dpl_",q,hex_a);
|
||||
m_dpl[q] = hex_a;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -577,13 +585,25 @@ static INPUT_PORTS_START( odisea )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
void peyper_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
|
||||
m_led.resolve();
|
||||
m_dpl.resolve();
|
||||
|
||||
save_item(NAME(m_digit));
|
||||
}
|
||||
|
||||
void peyper_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(peyper_state::peyper)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, 2500000)
|
||||
MCFG_CPU_ADD("maincpu", Z80, 2'500'000)
|
||||
MCFG_CPU_PROGRAM_MAP(peyper_map)
|
||||
MCFG_CPU_IO_MAP(peyper_io)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(peyper_state, irq0_line_hold, 1250)
|
||||
|
@ -27,14 +27,22 @@ class risc2500_state : public driver_device
|
||||
{
|
||||
public:
|
||||
risc2500_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ram(*this, "ram"),
|
||||
m_nvram(*this, "nvram"),
|
||||
m_dac(*this, "dac"),
|
||||
m_inputs(*this, "P%u", 0)
|
||||
{ }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_ram(*this, "ram")
|
||||
, m_nvram(*this, "nvram")
|
||||
, m_dac(*this, "dac")
|
||||
, m_inputs(*this, "P%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_syms(*this, "sym%u", 0U)
|
||||
, m_leds(*this, "led%u", 0U)
|
||||
{ }
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(on_button);
|
||||
|
||||
void risc2500(machine_config &config);
|
||||
|
||||
protected:
|
||||
DECLARE_READ32_MEMBER(p1000_r);
|
||||
DECLARE_WRITE32_MEMBER(p1000_w);
|
||||
DECLARE_READ32_MEMBER(disable_boot_rom);
|
||||
@ -43,18 +51,20 @@ public:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(on_button);
|
||||
void install_boot_rom();
|
||||
void remove_boot_rom();
|
||||
|
||||
void risc2500(machine_config &config);
|
||||
void risc2500_mem(address_map &map);
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<nvram_device> m_nvram;
|
||||
required_device<dac_byte_interface> m_dac;
|
||||
required_ioport_array<8> m_inputs;
|
||||
output_finder<12> m_digits;
|
||||
output_finder<14> m_syms;
|
||||
output_finder<16> m_leds;
|
||||
|
||||
uint32_t m_p1000;
|
||||
uint16_t m_vram_addr;
|
||||
@ -90,12 +100,12 @@ uint32_t risc2500_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
|
||||
uint16_t data = ((m_vram[data_addr + 1] & 0x3) << 5) | ((m_vram[data_addr + 2] & 0x7) << 2) | (m_vram[data_addr + 4] & 0x3);
|
||||
data = bitswap<8>(data, 7,3,0,1,4,6,5,2) | ((m_vram[data_addr - 1] & 0x04) ? 0x80 : 0);
|
||||
|
||||
output().set_digit_value(c, data);
|
||||
output().set_indexed_value("sym", c, BIT(m_vram[data_addr + 1], 2));
|
||||
m_digits[c] = data;
|
||||
m_syms[c] = BIT(m_vram[data_addr + 1], 2);
|
||||
}
|
||||
|
||||
output().set_indexed_value("sym", 12, BIT(m_vram[0x63], 0));
|
||||
output().set_indexed_value("sym", 13, BIT(m_vram[0x4a], 0));
|
||||
m_syms[12] = BIT(m_vram[0x63], 0);
|
||||
m_syms[13] = BIT(m_vram[0x4a], 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -241,12 +251,12 @@ WRITE32_MEMBER(risc2500_state::p1000_w)
|
||||
else if (data & 0x80000000) // Vertical LED
|
||||
{
|
||||
for(int i=0; i<8; i++)
|
||||
output().set_led_value(i, BIT(data, i));
|
||||
m_leds[i] = BIT(data, i);
|
||||
}
|
||||
else if (data & 0x40000000) // Horizontal LED
|
||||
{
|
||||
for(int i=0; i<8; i++)
|
||||
output().set_led_value(8 + i, BIT(data, i));
|
||||
m_leds[8 + i] = BIT(data, i);
|
||||
}
|
||||
else if ((data & 0xff000000) == 0x08000000) // Power OFF
|
||||
{
|
||||
@ -271,6 +281,10 @@ TIMER_CALLBACK_MEMBER(risc2500_state::disable_boot_rom)
|
||||
|
||||
void risc2500_state::machine_start()
|
||||
{
|
||||
m_digits.resolve();
|
||||
m_syms.resolve();
|
||||
m_leds.resolve();
|
||||
|
||||
m_nvram->set_base(m_ram->pointer(), m_ram->size());
|
||||
|
||||
save_item(NAME(m_p1000));
|
||||
|
@ -126,6 +126,9 @@ public:
|
||||
, m_palette(*this, "palette")
|
||||
, m_meters(*this, "meters")
|
||||
, m_lamps(*this, "lamp%u", 0U)
|
||||
, m_mpu4leds(*this, "mpu4led%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_triacs(*this, "triac%u", 0U)
|
||||
{ }
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
@ -252,14 +255,7 @@ public:
|
||||
DECLARE_MACHINE_START(mpu4bwb);
|
||||
DECLARE_MACHINE_START(mpu4cry);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(gen_50hz);
|
||||
DECLARE_WRITE_LINE_MEMBER(reel0_optic_cb) { if (state) m_optic_pattern |= 0x01; else m_optic_pattern &= ~0x01; }
|
||||
DECLARE_WRITE_LINE_MEMBER(reel1_optic_cb) { if (state) m_optic_pattern |= 0x02; else m_optic_pattern &= ~0x02; }
|
||||
DECLARE_WRITE_LINE_MEMBER(reel2_optic_cb) { if (state) m_optic_pattern |= 0x04; else m_optic_pattern &= ~0x04; }
|
||||
DECLARE_WRITE_LINE_MEMBER(reel3_optic_cb) { if (state) m_optic_pattern |= 0x08; else m_optic_pattern &= ~0x08; }
|
||||
DECLARE_WRITE_LINE_MEMBER(reel4_optic_cb) { if (state) m_optic_pattern |= 0x10; else m_optic_pattern &= ~0x10; }
|
||||
DECLARE_WRITE_LINE_MEMBER(reel5_optic_cb) { if (state) m_optic_pattern |= 0x20; else m_optic_pattern &= ~0x20; }
|
||||
DECLARE_WRITE_LINE_MEMBER(reel6_optic_cb) { if (state) m_optic_pattern |= 0x40; else m_optic_pattern &= ~0x40; }
|
||||
DECLARE_WRITE_LINE_MEMBER(reel7_optic_cb) { if (state) m_optic_pattern |= 0x80; else m_optic_pattern &= ~0x80; }
|
||||
template <unsigned N> DECLARE_WRITE_LINE_MEMBER(reel_optic_cb) { if (state) m_optic_pattern |= (1 << N); else m_optic_pattern &= ~(1 << N); }
|
||||
void bwboki(machine_config &config);
|
||||
void mod2(machine_config &config);
|
||||
void mod2_alt(machine_config &config);
|
||||
@ -340,13 +336,29 @@ protected:
|
||||
optional_device<palette_device> m_palette;
|
||||
required_device<meters_device> m_meters;
|
||||
|
||||
// not all systems have this many lamps but the driver is too much of a mess to split up now
|
||||
// not all systems have this many lamps/LEDs/digits but the driver is too much of a mess to split up now
|
||||
|
||||
// 0-63 are on PIA IC3 port A (always present)
|
||||
// 64-127 are on PIA IC3 port B (always present)
|
||||
// 128-132 136-140 144-148 152-156 160-164 168-172 176-180 184-188 are on small lamp extender
|
||||
// 128-255 are on large lamp externders
|
||||
output_finder<256> m_lamps;
|
||||
|
||||
// 0-63 are on PIA IC4 port A (always present)
|
||||
// 0-143 are on card B (possibly incorrectly mapped?)
|
||||
// 64-127 are on card C
|
||||
// 0-127 are on large card B
|
||||
output_finder<144> m_mpu4leds;
|
||||
|
||||
// 0-7 are on PIA IC4 port A with no LED extender
|
||||
// 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136 are on card B (possible incorrectly mapped?)
|
||||
// 8-15 are on card C
|
||||
// 8-9 are mapped to lamp lines for Connect 4
|
||||
// 0-15 are on large card B
|
||||
output_finder<144> m_digits;
|
||||
|
||||
output_finder<8> m_triacs;
|
||||
|
||||
enum
|
||||
{
|
||||
TIMER_IC24
|
||||
|
@ -355,18 +355,19 @@ void mpu4_state::led_write_latch(int latch, int data, int column)
|
||||
column = 7 - column; // like main board, these are wired up in reverse
|
||||
data = ~data;//inverted drive lines?
|
||||
|
||||
for(i=0; i<5; i++)
|
||||
for (i=0; i<5; i++)
|
||||
{
|
||||
// FIXME: this doesn't look like it could possibly be correct - it can produce 0..17 but with lots of aliasing
|
||||
if (diff & (1<<i))
|
||||
{
|
||||
column += i;
|
||||
}
|
||||
}
|
||||
for(j=0; j<8; j++)
|
||||
for (j=0; j<8; j++)
|
||||
{
|
||||
output().set_indexed_value("mpu4led",(8*column)+j,(data & (1 << j)) !=0);
|
||||
m_mpu4leds[(column << 3) | j], BIT(data, j);
|
||||
}
|
||||
output().set_digit_value(column * 8, data);
|
||||
m_digits[column << 3] = data; // FIXME should this really be so sparse?
|
||||
|
||||
m_last_latch = diff;
|
||||
}
|
||||
@ -615,8 +616,8 @@ WRITE8_MEMBER(mpu4_state::pia_ic3_portb_w)
|
||||
if (m_lamps[lamps2[i]]) pled_segs[1] |= (1 << i);
|
||||
}
|
||||
|
||||
output().set_digit_value(8,pled_segs[0]);
|
||||
output().set_digit_value(9,pled_segs[1]);
|
||||
m_digits[8] = pled_segs[0];
|
||||
m_digits[9] = pled_segs[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -714,18 +715,17 @@ void mpu4_state::device_timer(emu_timer &timer, device_timer_id id, int param, v
|
||||
/* IC4, 7 seg leds, 50Hz timer reel sensors, current sensors */
|
||||
WRITE8_MEMBER(mpu4_state::pia_ic4_porta_w)
|
||||
{
|
||||
int i;
|
||||
if(m_ic23_active)
|
||||
{
|
||||
if (((m_lamp_extender == NO_EXTENDER)||(m_lamp_extender == SMALL_CARD)||(m_lamp_extender == LARGE_CARD_C))&& (m_led_extender == NO_EXTENDER))
|
||||
if (((m_lamp_extender == NO_EXTENDER) || (m_lamp_extender == SMALL_CARD) || (m_lamp_extender == LARGE_CARD_C)) && (m_led_extender == NO_EXTENDER))
|
||||
{
|
||||
if(m_led_strobe != m_input_strobe)
|
||||
{
|
||||
for(i=0; i<8; i++)
|
||||
for(int i=0; i<8; i++)
|
||||
{
|
||||
output().set_indexed_value("mpu4led",((7 - m_input_strobe) * 8) +i,(data & (1 << i)) !=0);
|
||||
m_mpu4leds[((7 - m_input_strobe) << 3) | i] = BIT(data, i);
|
||||
}
|
||||
output().set_digit_value(7 - m_input_strobe,data);
|
||||
m_digits[7 - m_input_strobe] = data;
|
||||
}
|
||||
m_led_strobe = m_input_strobe;
|
||||
}
|
||||
@ -875,13 +875,13 @@ WRITE8_MEMBER(mpu4_state::pia_ic5_porta_w)
|
||||
{
|
||||
led_write_latch(data & 0x1f, m_pia4->a_output(),m_input_strobe);
|
||||
}
|
||||
else if ((m_led_extender != CARD_A)&&(m_led_extender != NO_EXTENDER))
|
||||
else if ((m_led_extender != CARD_A) && (m_led_extender != NO_EXTENDER))
|
||||
{
|
||||
for(i=0; i<8; i++)
|
||||
{
|
||||
output().set_indexed_value("mpu4led",((m_input_strobe + 8) * 8) +i,(data & (1 << i)) !=0);
|
||||
m_mpu4leds[((m_input_strobe | 8) << 3) | i] = BIT(data, i);
|
||||
}
|
||||
output().set_digit_value((m_input_strobe+8),data);
|
||||
m_digits[m_input_strobe | 8] = data;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -902,9 +902,9 @@ WRITE8_MEMBER(mpu4_state::pia_ic5_porta_w)
|
||||
{
|
||||
for(i=0; i<8; i++)
|
||||
{
|
||||
output().set_indexed_value("mpu4led",(((8*(m_last_b7 >>7))+ m_input_strobe) * 8) +i,(~data & (1 << i)) !=0);
|
||||
m_mpu4leds[((m_last_b7 >> 7) << 6) | (m_input_strobe << 3) | i] = BIT(~data, i);
|
||||
}
|
||||
output().set_digit_value(((8*(m_last_b7 >>7))+m_input_strobe),~data);
|
||||
m_digits[((m_last_b7 >> 7) << 3) | m_input_strobe] = ~data;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1304,11 +1304,10 @@ WRITE8_MEMBER(mpu4_state::pia_ic8_portb_w)
|
||||
{
|
||||
// duart.drive_sensor(data & 0x04, data & 0x01, data & 0x04, data & 0x02);
|
||||
}
|
||||
int i;
|
||||
LOG_IC8(("%s: IC8 PIA Port B Set to %2x (OUTPUT PORT, TRIACS)\n", machine().describe_context(),data));
|
||||
for (i = 0; i < 8; i++)
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
output().set_indexed_value("triac", i, data & (1 << i));
|
||||
m_triacs[i] = BIT(data, i);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2156,6 +2155,9 @@ void mpu4_state::mpu4_install_mod4bwb_space(address_space &space)
|
||||
void mpu4_state::mpu4_config_common()
|
||||
{
|
||||
m_lamps.resolve();
|
||||
m_mpu4leds.resolve();
|
||||
m_digits.resolve();
|
||||
m_triacs.resolve();
|
||||
|
||||
m_ic24_timer = timer_alloc(TIMER_IC24);
|
||||
m_lamp_strobe_ext_persistence = 0;
|
||||
@ -2665,338 +2667,338 @@ ADDRESS_MAP_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_std_3reel)
|
||||
MCFG_MPU4_STD_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type2_3reel)
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type3_3reel)
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type4_3reel)
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_bwb_3reel)
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_std_4reel)
|
||||
MCFG_MPU4_STD_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type2_4reel)
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type3_4reel)
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type4_4reel)
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_bwb_4reel)
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_std_5reel)
|
||||
MCFG_MPU4_STD_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type2_5reel)
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type3_5reel)
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type4_5reel)
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_bwb_5reel)
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_std_6reel)
|
||||
MCFG_MPU4_STD_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type2_6reel)
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type3_6reel)
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type4_6reel)
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_bwb_6reel)
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_std_7reel)
|
||||
MCFG_MPU4_STD_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel6")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel6_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<6>))
|
||||
MCFG_MPU4_STD_REEL_ADD("reel7")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel7_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<7>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type2_7reel)
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel6")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel6_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<6>))
|
||||
MCFG_MPU4_TYPE2_REEL_ADD("reel7")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel7_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<7>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type3_7reel)
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel6")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel6_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<6>))
|
||||
MCFG_MPU4_TYPE3_REEL_ADD("reel7")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel7_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<7>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_type4_7reel)
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel6")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel6_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<6>))
|
||||
MCFG_MPU4_TYPE4_REEL_ADD("reel7")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel7_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<7>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_bwb_7reel)
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel0")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<0>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel1")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<1>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel2")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<2>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel3")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<3>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel4")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<4>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel5")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<5>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel6")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel6_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<6>))
|
||||
MCFG_MPU4_BWB_REEL_ADD("reel7")
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel7_optic_cb))
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel_optic_cb<7>))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(mpu4_state::mpu4_common)
|
||||
|
Loading…
Reference in New Issue
Block a user