summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/hp/hp9k_3xx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/hp/hp9k_3xx.cpp')
-rw-r--r--src/mame/hp/hp9k_3xx.cpp25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/mame/hp/hp9k_3xx.cpp b/src/mame/hp/hp9k_3xx.cpp
index 4c5222cbb03..42998f3103e 100644
--- a/src/mame/hp/hp9k_3xx.cpp
+++ b/src/mame/hp/hp9k_3xx.cpp
@@ -97,13 +97,12 @@ public:
void hp9k382(machine_config &config);
protected:
- virtual void machine_reset() override;
virtual void machine_start() override;
virtual void driver_start() override;
private:
void hp9k300(machine_config &config);
- required_device<m68000_base_device> m_maincpu;
+ required_device<m68000_musashi_device> m_maincpu;
output_finder<8> m_diag_led;
@@ -129,13 +128,13 @@ private:
void add_dio16_bus(machine_config &mconfig);
void add_dio32_bus(machine_config &mconfig);
- DECLARE_WRITE_LINE_MEMBER(dio_irq1_w) { m_maincpu->set_input_line(M68K_IRQ_1, state); };
- DECLARE_WRITE_LINE_MEMBER(dio_irq2_w) { m_maincpu->set_input_line(M68K_IRQ_2, state); };
- DECLARE_WRITE_LINE_MEMBER(dio_irq3_w) { m_maincpu->set_input_line(M68K_IRQ_3, state); };
- DECLARE_WRITE_LINE_MEMBER(dio_irq4_w) { m_maincpu->set_input_line(M68K_IRQ_4, state); };
- DECLARE_WRITE_LINE_MEMBER(dio_irq5_w) { m_maincpu->set_input_line(M68K_IRQ_5, state); };
- DECLARE_WRITE_LINE_MEMBER(dio_irq6_w) { m_maincpu->set_input_line(M68K_IRQ_6, state); };
- DECLARE_WRITE_LINE_MEMBER(dio_irq7_w) { m_maincpu->set_input_line(M68K_IRQ_7, state); };
+ void dio_irq1_w(int state) { m_maincpu->set_input_line(M68K_IRQ_1, state); }
+ void dio_irq2_w(int state) { m_maincpu->set_input_line(M68K_IRQ_2, state); }
+ void dio_irq3_w(int state) { m_maincpu->set_input_line(M68K_IRQ_3, state); }
+ void dio_irq4_w(int state) { m_maincpu->set_input_line(M68K_IRQ_4, state); }
+ void dio_irq5_w(int state) { m_maincpu->set_input_line(M68K_IRQ_5, state); }
+ void dio_irq6_w(int state) { m_maincpu->set_input_line(M68K_IRQ_6, state); }
+ void dio_irq7_w(int state) { m_maincpu->set_input_line(M68K_IRQ_7, state); }
bool m_bus_error = false;
emu_timer *m_bus_error_timer = nullptr;
@@ -227,13 +226,6 @@ void hp9k3xx_state::driver_start()
m_diag_led.resolve();
}
-void hp9k3xx_state::machine_reset()
-{
- auto *dio = subdevice<bus::hp_dio::dio16_device>("diobus");
- if (dio)
- m_maincpu->set_reset_callback(*dio, FUNC(bus::hp_dio::dio16_device::reset_in));
-}
-
void hp9k3xx_state::machine_start()
{
m_bus_error_timer = timer_alloc(FUNC(hp9k3xx_state::bus_error_timeout), this);
@@ -267,6 +259,7 @@ void hp9k3xx_state::add_dio16_bus(machine_config &config)
{
bus::hp_dio::dio16_device &dio16(DIO16(config, "diobus", 0));
dio16.set_program_space(m_maincpu, AS_PROGRAM);
+ m_maincpu->reset_cb().set(dio16, FUNC(bus::hp_dio::dio16_device::reset_in));
dio16.irq1_out_cb().set(FUNC(hp9k3xx_state::dio_irq1_w));
dio16.irq2_out_cb().set(FUNC(hp9k3xx_state::dio_irq2_w));