summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bfm_sc2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bfm_sc2.cpp')
-rw-r--r--src/mame/drivers/bfm_sc2.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mame/drivers/bfm_sc2.cpp b/src/mame/drivers/bfm_sc2.cpp
index b3182485d1d..a771abdbae6 100644
--- a/src/mame/drivers/bfm_sc2.cpp
+++ b/src/mame/drivers/bfm_sc2.cpp
@@ -205,6 +205,7 @@ public:
, m_rombank1(*this, "bank1")
, m_ym2413(*this, "ymsnd")
, m_meters(*this, "meters")
+ , m_lamp(*this, "lamp%u", 0U)
{
for (auto &elem : m_lamps_old)
elem = 0;
@@ -321,6 +322,7 @@ private:
int m_e2data_to_read;
uint8_t m_codec_data[256];
uint8_t m_lamps_old[0x20];
+ output_finder<256> m_lamp;
};
@@ -704,11 +706,11 @@ WRITE8_MEMBER(bfm_sc2_state::mux_output_w)
for (i = 0; i < 8; i++)
{
- int oldbit = m_lamps_old[offset] & (1 << i);
- int newbit = data & (1 << i);
+ int oldbit = BIT(m_lamps_old[offset], i);
+ int newbit = BIT(data, i);
if (oldbit != newbit)
- output().set_lamp_value(off + i, newbit != 0);
+ m_lamp[off + i] = newbit;
}
m_lamps_old[offset] = data;
@@ -2268,6 +2270,7 @@ MACHINE_CONFIG_END
void bfm_sc2_state::machine_start()
{
+ m_lamp.resolve();
nvram_device *e2ram = subdevice<nvram_device>("e2ram");
if (e2ram != nullptr)
e2ram->set_base(m_e2ram, sizeof(m_e2ram));