From 8882b5f7f86e08100f46ad6ff0504b2061fc6770 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Mon, 18 Feb 2013 12:17:41 +0000 Subject: IRQ_CALLBACK_MEMBER cleanup (no whatsnew) --- src/mess/drivers/esq5505.c | 23 ++++++++++++----------- src/mess/drivers/fk1.c | 11 +++++------ src/mess/drivers/mod8.c | 5 +++-- src/mess/drivers/pc6001.c | 15 +++++++-------- 4 files changed, 27 insertions(+), 27 deletions(-) (limited to 'src/mess/drivers') diff --git a/src/mess/drivers/esq5505.c b/src/mess/drivers/esq5505.c index 4fae3c4a6de..727f936b395 100644 --- a/src/mess/drivers/esq5505.c +++ b/src/mess/drivers/esq5505.c @@ -181,6 +181,7 @@ public: DECLARE_DRIVER_INIT(sq1); DECLARE_DRIVER_INIT(denib); DECLARE_INPUT_CHANGED_MEMBER(key_stroke); + IRQ_CALLBACK_MEMBER(maincpu_irq_acknowledge_callback); }; FLOPPY_FORMATS_MEMBER( esq5505_state::floppy_formats ) @@ -191,29 +192,29 @@ static SLOT_INTERFACE_START( ensoniq_floppies ) SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) SLOT_INTERFACE_END -static int maincpu_irq_acknowledge_callback(device_t *device, int irqnum) { +IRQ_CALLBACK_MEMBER(esq5505_state::maincpu_irq_acknowledge_callback) +{ // We immediately update the interrupt presented to the CPU, so that it doesn't // end up retrying the same interrupt over and over. We then return the appropriate vector. - esq5505_state *esq5505 = device->machine().driver_data(); int vector = 0; - switch(irqnum) { + switch(irqline) { case 1: - esq5505->otis_irq_state = 0; + otis_irq_state = 0; vector = M68K_INT_ACK_AUTOVECTOR; break; case 2: - esq5505->dmac_irq_state = 0; - vector = esq5505->dmac_irq_vector; + dmac_irq_state = 0; + vector = dmac_irq_vector; break; case 3: - esq5505->duart_irq_state = 0; - vector = esq5505->duart_irq_vector; + duart_irq_state = 0; + vector = duart_irq_vector; break; default: - printf("\nUnexpected IRQ ACK Callback: IRQ %d\n", irqnum); + printf("\nUnexpected IRQ ACK Callback: IRQ %d\n", irqline); return 0; } - esq5505->update_irq_to_maincpu(); + update_irq_to_maincpu(); return vector; } @@ -221,7 +222,7 @@ void esq5505_state::machine_reset() { m_rom = (UINT16 *)(void *)machine().root_device().memregion("osrom")->base(); m_ram = (UINT16 *)(void *)machine().root_device().memshare("osram")->ptr(); - m_maincpu->set_irq_acknowledge_callback(maincpu_irq_acknowledge_callback); + m_maincpu->set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(esq5505_state::maincpu_irq_acknowledge_callback),this)); } void esq5505_state::update_irq_to_maincpu() { diff --git a/src/mess/drivers/fk1.c b/src/mess/drivers/fk1.c index 50e3af653fd..9ad7fa07149 100644 --- a/src/mess/drivers/fk1.c +++ b/src/mess/drivers/fk1.c @@ -54,6 +54,7 @@ public: UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(keyboard_callback); TIMER_DEVICE_CALLBACK_MEMBER(vsync_callback); + IRQ_CALLBACK_MEMBER(fk1_irq_callback); }; @@ -404,12 +405,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(fk1_state::keyboard_callback) 0 ? PRINTER */ -static IRQ_CALLBACK (fk1_irq_callback) +IRQ_CALLBACK_MEMBER(fk1_state::fk1_irq_callback) { - fk1_state *state = device->machine().driver_data(); - - logerror("IRQ %02x\n", state->m_int_vector*2); - return state->m_int_vector * 2; + logerror("IRQ %02x\n", m_int_vector*2); + return m_int_vector * 2; } TIMER_DEVICE_CALLBACK_MEMBER(fk1_state::vsync_callback) @@ -430,7 +429,7 @@ void fk1_state::machine_reset() membank("bank3")->set_base(ram + 0x8000); membank("bank4")->set_base(ram + 0xc000); - machine().device("maincpu")->execute().set_irq_acknowledge_callback(fk1_irq_callback); + machine().device("maincpu")->execute().set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(fk1_state::fk1_irq_callback),this)); } UINT32 fk1_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) diff --git a/src/mess/drivers/mod8.c b/src/mess/drivers/mod8.c index 127d7884daf..bc9aaf1a508 100644 --- a/src/mess/drivers/mod8.c +++ b/src/mess/drivers/mod8.c @@ -36,6 +36,7 @@ public: UINT8 m_tty_key_data; int m_tty_cnt; virtual void machine_reset(); + IRQ_CALLBACK_MEMBER(mod8_irq_callback); }; WRITE8_MEMBER( mod8_state::out_w ) @@ -82,14 +83,14 @@ ADDRESS_MAP_END static INPUT_PORTS_START( mod8 ) INPUT_PORTS_END -static IRQ_CALLBACK ( mod8_irq_callback ) +IRQ_CALLBACK_MEMBER(mod8_state::mod8_irq_callback) { return 0xC0; // LAA - NOP equivalent } void mod8_state::machine_reset() { - machine().device("maincpu")->execute().set_irq_acknowledge_callback(mod8_irq_callback); + machine().device("maincpu")->execute().set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(mod8_state::mod8_irq_callback),this)); } WRITE8_MEMBER( mod8_state::kbd_put ) diff --git a/src/mess/drivers/pc6001.c b/src/mess/drivers/pc6001.c index 534060eda08..e0805a4df8f 100644 --- a/src/mess/drivers/pc6001.c +++ b/src/mess/drivers/pc6001.c @@ -266,7 +266,7 @@ public: DECLARE_WRITE8_MEMBER(pc6001_8255_portc_w); DECLARE_READ8_MEMBER(pc6001_8255_portc_r); DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pc6001_cass); - + IRQ_CALLBACK_MEMBER(pc6001_irq_callback); protected: required_device m_maincpu; required_device m_cassette; @@ -1906,11 +1906,10 @@ INTERRUPT_GEN_MEMBER(pc6001_state::pc6001sr_interrupt) device.execute().set_input_line(0, ASSERT_LINE); } -static IRQ_CALLBACK ( pc6001_irq_callback ) +IRQ_CALLBACK_MEMBER(pc6001_state::pc6001_irq_callback) { - pc6001_state *state = device->machine().driver_data(); - device->execute().set_input_line(0, CLEAR_LINE); - return state->m_irq_vector; + device.execute().set_input_line(0, CLEAR_LINE); + return m_irq_vector; } READ8_MEMBER(pc6001_state::pc6001_8255_porta_r) @@ -2156,7 +2155,7 @@ void pc6001_state::machine_reset() m_port_c_8255=0; - m_maincpu->set_irq_acknowledge_callback(pc6001_irq_callback); + m_maincpu->set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(pc6001_state::pc6001_irq_callback),this)); m_cas_switch = 0; m_cas_offset = 0; m_timer_irq_mask = 1; @@ -2173,7 +2172,7 @@ MACHINE_RESET_MEMBER(pc6001_state,pc6001m2) m_port_c_8255=0; - m_maincpu->set_irq_acknowledge_callback(pc6001_irq_callback); + m_maincpu->set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(pc6001_state::pc6001_irq_callback),this)); m_cas_switch = 0; m_cas_offset = 0; @@ -2208,7 +2207,7 @@ MACHINE_RESET_MEMBER(pc6001_state,pc6001sr) m_port_c_8255=0; - m_maincpu->set_irq_acknowledge_callback(pc6001_irq_callback); + m_maincpu->set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(pc6001_state::pc6001_irq_callback),this)); m_cas_switch = 0; m_cas_offset = 0; -- cgit v1.2.3-70-g09d2