summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/omegrace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/omegrace.cpp')
-rw-r--r--src/mame/drivers/omegrace.cpp36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/mame/drivers/omegrace.cpp b/src/mame/drivers/omegrace.cpp
index fa946231a37..4a9950e1e62 100644
--- a/src/mame/drivers/omegrace.cpp
+++ b/src/mame/drivers/omegrace.cpp
@@ -233,28 +233,34 @@ class omegrace_state : public driver_device
{
public:
omegrace_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_audiocpu(*this, "audiocpu"),
- m_dvg(*this, "dvg"),
- m_soundlatch(*this, "soundlatch") { }
-
- required_device<cpu_device> m_maincpu;
- required_device<cpu_device> m_audiocpu;
- required_device<dvg_device> m_dvg;
- required_device<generic_latch_8_device> m_soundlatch;
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_audiocpu(*this, "audiocpu")
+ , m_dvg(*this, "dvg")
+ , m_soundlatch(*this, "soundlatch")
+ , m_led(*this, "led%u", 0U)
+ { }
DECLARE_READ8_MEMBER(omegrace_vg_go_r);
DECLARE_READ8_MEMBER(omegrace_spinner1_r);
DECLARE_WRITE8_MEMBER(omegrace_leds_w);
DECLARE_WRITE8_MEMBER(omegrace_soundlatch_w);
void init_omegrace();
- virtual void machine_reset() override;
void omegrace(machine_config &config);
void main_map(address_map &map);
void port_map(address_map &map);
void sound_map(address_map &map);
void sound_port(address_map &map);
+
+protected:
+ virtual void machine_start() override { m_led.resolve(); }
+ virtual void machine_reset() override;
+
+ required_device<cpu_device> m_maincpu;
+ required_device<cpu_device> m_audiocpu;
+ required_device<dvg_device> m_dvg;
+ required_device<generic_latch_8_device> m_soundlatch;
+ output_finder<4> m_led;
};
@@ -337,10 +343,10 @@ WRITE8_MEMBER(omegrace_state::omegrace_leds_w)
machine().bookkeeping().coin_counter_w(1,data & 0x02);
/* bits 2 to 5 are the start leds (4 and 5 cocktail only) */
- output().set_led_value(0,~data & 0x04);
- output().set_led_value(1,~data & 0x08);
- output().set_led_value(2,~data & 0x10);
- output().set_led_value(3,~data & 0x20);
+ m_led[0] = BIT(~data, 2);
+ m_led[1] = BIT(~data, 3);
+ m_led[2] = BIT(~data, 4);
+ m_led[3] = BIT(~data, 5);
/* bit 6 flips screen (not supported) */
}