diff options
author | 2013-05-14 20:48:27 +0000 | |
---|---|---|
committer | 2013-05-14 20:48:27 +0000 | |
commit | 34be6878ec112891732038e4ecdc0b8c251bdba6 (patch) | |
tree | 5128175d86b67f9e700056a99d175e92d06775d5 /src/mess/machine | |
parent | 7a03b5c0c6efc55c2871829fe85e9988b823f78b (diff) |
pic8259.c: Continue modernization. (nw)
Diffstat (limited to 'src/mess/machine')
-rw-r--r-- | src/mess/machine/apollo.c | 54 | ||||
-rw-r--r-- | src/mess/machine/at.c | 2 | ||||
-rw-r--r-- | src/mess/machine/b2m.c | 6 | ||||
-rw-r--r-- | src/mess/machine/bebox.c | 18 | ||||
-rw-r--r-- | src/mess/machine/compis.c | 2 | ||||
-rw-r--r-- | src/mess/machine/genpc.c | 4 | ||||
-rw-r--r-- | src/mess/machine/mbc55x.c | 4 | ||||
-rw-r--r-- | src/mess/machine/pc.c | 40 | ||||
-rw-r--r-- | src/mess/machine/pc9801_118.c | 2 | ||||
-rw-r--r-- | src/mess/machine/pc9801_26.c | 2 | ||||
-rw-r--r-- | src/mess/machine/pc9801_86.c | 2 | ||||
-rw-r--r-- | src/mess/machine/pk8020.c | 8 | ||||
-rw-r--r-- | src/mess/machine/southbridge.c | 6 |
13 files changed, 75 insertions, 75 deletions
diff --git a/src/mess/machine/apollo.c b/src/mess/machine/apollo.c index 8c406e32050..668d339c7e9 100644 --- a/src/mess/machine/apollo.c +++ b/src/mess/machine/apollo.c @@ -599,11 +599,11 @@ static I8237_INTERFACE( apollo_dma8237_2_config ) #undef VERBOSE #define VERBOSE 0 -INLINE device_t *get_pic8259_master(device_t *device) { +INLINE pic8259_device *get_pic8259_master(device_t *device) { return device->machine().driver_data<apollo_state>()->pic8259_master; } -INLINE device_t *get_pic8259_slave(device_t *device) { +INLINE pic8259_device *get_pic8259_slave(device_t *device) { return device->machine().driver_data<apollo_state>()->pic8259_slave; } @@ -613,11 +613,11 @@ INLINE device_t *get_pic8259_slave(device_t *device) { WRITE8_DEVICE_HANDLER(apollo_pic8259_master_w ) { DLOG1(("writing %s at offset %X = %02x", device->tag(), offset, data)); - pic8259_w(device, space, offset, data); + downcast<pic8259_device *>(device)->write(space, offset, data); } READ8_DEVICE_HANDLER( apollo_pic8259_master_r ) { - UINT8 data = pic8259_r(device, space, offset); + UINT8 data = downcast<pic8259_device *>(device)->read(space, offset); DLOG1(("reading %s at offset %X = %02x", device->tag(), offset, data)); return data; } @@ -628,11 +628,11 @@ READ8_DEVICE_HANDLER( apollo_pic8259_master_r ) { WRITE8_DEVICE_HANDLER(apollo_pic8259_slave_w ) { DLOG1(("writing %s at offset %X = %02x", device->tag(), offset, data)); - pic8259_w(device, space, offset, data); + downcast<pic8259_device *>(device)->write(space, offset, data); } READ8_DEVICE_HANDLER( apollo_pic8259_slave_r ) { - UINT8 data = pic8259_r(device, space, offset); + UINT8 data = downcast<pic8259_device *>(device)->read(space, offset); DLOG1(("reading %s at offset %X = %02x", device->tag(), offset, data)); return data; } @@ -644,31 +644,31 @@ static void apollo_pic_set_irq_line(device_t *device, int irq, int state) { } switch (irq) { - case 0: pic8259_ir0_w(get_pic8259_master(device), state); break; - case 1: pic8259_ir1_w(get_pic8259_master(device), state); break; - case 2: pic8259_ir2_w(get_pic8259_master(device), state); break; - case 3: pic8259_ir3_w(get_pic8259_master(device), state); break; - case 4: pic8259_ir4_w(get_pic8259_master(device), state); break; - case 5: pic8259_ir5_w(get_pic8259_master(device), state); break; - case 6: pic8259_ir6_w(get_pic8259_master(device), state); break; - case 7: pic8259_ir7_w(get_pic8259_master(device), state); break; - - case 8: pic8259_ir0_w(get_pic8259_slave(device), state); break; - case 9: pic8259_ir1_w(get_pic8259_slave(device), state); break; - case 10: pic8259_ir2_w(get_pic8259_slave(device), state); break; - case 11: pic8259_ir3_w(get_pic8259_slave(device), state); break; - case 12: pic8259_ir4_w(get_pic8259_slave(device), state); break; - case 13: pic8259_ir5_w(get_pic8259_slave(device), state); break; - case 14: pic8259_ir6_w(get_pic8259_slave(device), state); break; - case 15: pic8259_ir7_w(get_pic8259_slave(device), state); break; + case 0: get_pic8259_master(device)->ir0_w(state); break; + case 1: get_pic8259_master(device)->ir1_w(state); break; + case 2: get_pic8259_master(device)->ir2_w(state); break; + case 3: get_pic8259_master(device)->ir3_w(state); break; + case 4: get_pic8259_master(device)->ir4_w(state); break; + case 5: get_pic8259_master(device)->ir5_w(state); break; + case 6: get_pic8259_master(device)->ir6_w(state); break; + case 7: get_pic8259_master(device)->ir7_w(state); break; + + case 8: get_pic8259_slave(device)->ir0_w(state); break; + case 9: get_pic8259_slave(device)->ir1_w(state); break; + case 10: get_pic8259_slave(device)->ir2_w(state); break; + case 11: get_pic8259_slave(device)->ir3_w(state); break; + case 12: get_pic8259_slave(device)->ir4_w(state); break; + case 13: get_pic8259_slave(device)->ir5_w(state); break; + case 14: get_pic8259_slave(device)->ir6_w(state); break; + case 15: get_pic8259_slave(device)->ir7_w(state); break; } } IRQ_CALLBACK_MEMBER(apollo_state::apollo_pic_acknowledge) { - UINT32 vector = pic8259_acknowledge(get_pic8259_master(&device)); + UINT32 vector = get_pic8259_master(&device)->acknowledge(); if ((vector & 0x0f) == APOLLO_IRQ_PIC_SLAVE) { - vector = pic8259_acknowledge(get_pic8259_slave(&device)); + vector = get_pic8259_slave(&device)->acknowledge(); } // don't log ptm interrupts @@ -1419,8 +1419,8 @@ MACHINE_RESET_MEMBER(apollo_state,apollo) dma8237_1 = machine().device<i8237_device>(APOLLO_DMA1_TAG); dma8237_2 = machine().device<i8237_device>(APOLLO_DMA2_TAG); - pic8259_master = machine().device(APOLLO_PIC1_TAG); - pic8259_slave = machine().device(APOLLO_PIC2_TAG); + pic8259_master = machine().device<pic8259_device>(APOLLO_PIC1_TAG); + pic8259_slave = machine().device<pic8259_device>(APOLLO_PIC2_TAG); // set configuration apollo_csr_set_servicemode(apollo_config(APOLLO_CONF_SERVICE_MODE)); diff --git a/src/mess/machine/at.c b/src/mess/machine/at.c index 6d3c4b9b0b4..b2305d4d7a0 100644 --- a/src/mess/machine/at.c +++ b/src/mess/machine/at.c @@ -66,7 +66,7 @@ void at_state::at_speaker_set_input(UINT8 data) WRITE_LINE_MEMBER( at_state::at_pit8254_out0_changed ) { if (m_pic8259_master) - pic8259_ir0_w(m_pic8259_master, state); + m_pic8259_master->ir0_w(state); } diff --git a/src/mess/machine/b2m.c b/src/mess/machine/b2m.c index 6c825aee8fd..420261e7f3e 100644 --- a/src/mess/machine/b2m.c +++ b/src/mess/machine/b2m.c @@ -324,7 +324,7 @@ void b2m_state::b2m_postload() void b2m_state::machine_start() { - m_pic = machine().device("pic8259"); + m_pic = machine().device<pic8259_device>("pic8259"); m_fdc = machine().device<fd1793_t>("fd1793"); m_fdc->setup_drq_cb(fd1793_t::line_cb(FUNC(b2m_state::b2m_fdc_drq), this)); @@ -347,7 +347,7 @@ void b2m_state::machine_start() IRQ_CALLBACK_MEMBER(b2m_state::b2m_irq_callback) { - return pic8259_acknowledge(m_pic); + return m_pic->acknowledge(); } const struct pic8259_interface b2m_pic8259_config = @@ -361,7 +361,7 @@ INTERRUPT_GEN_MEMBER(b2m_state::b2m_vblank_interrupt) { m_vblank_state++; if (m_vblank_state>1) m_vblank_state=0; - pic8259_ir0_w(m_pic, m_vblank_state); + m_pic->ir0_w(m_vblank_state); } void b2m_state::machine_reset() diff --git a/src/mess/machine/bebox.c b/src/mess/machine/bebox.c index 9551ec5ab84..65dca06ee89 100644 --- a/src/mess/machine/bebox.c +++ b/src/mess/machine/bebox.c @@ -454,7 +454,7 @@ void bebox_state::fdc_interrupt(bool state) { bebox_set_irq_bit(machine(), 13, state); if ( m_devices.pic8259_master ) { - pic8259_ir6_w(m_devices.pic8259_master, state); + m_devices.pic8259_master->ir6_w(state); } } @@ -474,8 +474,8 @@ void bebox_state::fdc_dma_drq(bool state) READ64_MEMBER(bebox_state::bebox_interrupt_ack_r ) { - int result; - result = pic8259_acknowledge( m_devices.pic8259_master ); + UINT32 result; + result = m_devices.pic8259_master->acknowledge(); bebox_set_irq_bit(space.machine(), 5, 0); /* HACK */ return ((UINT64) result) << 56; } @@ -495,13 +495,13 @@ WRITE_LINE_MEMBER(bebox_state::bebox_pic8259_master_set_int_line) WRITE_LINE_MEMBER(bebox_state::bebox_pic8259_slave_set_int_line) { if (m_devices.pic8259_master) - pic8259_ir2_w(m_devices.pic8259_master, state); + m_devices.pic8259_master->ir2_w(state); } READ8_MEMBER(bebox_state::get_slave_ack) { if (offset==2) { // IRQ = 2 - return pic8259_acknowledge(m_devices.pic8259_slave); + return m_devices.pic8259_slave->acknowledge(); } return 0x00; } @@ -558,7 +558,7 @@ WRITE_LINE_MEMBER(bebox_state::bebox_ide_interrupt) { bebox_set_irq_bit(machine(), 7, state); if ( m_devices.pic8259_master ) { - pic8259_ir6_w(m_devices.pic8259_master, state); + m_devices.pic8259_master->ir6_w(state); } } @@ -787,7 +787,7 @@ I8237_INTERFACE( bebox_dma8237_2_config ) WRITE_LINE_MEMBER(bebox_state::bebox_timer0_w) { if (m_devices.pic8259_master) - pic8259_ir0_w(m_devices.pic8259_master, state); + m_devices.pic8259_master->ir0_w(state); } @@ -969,8 +969,8 @@ void scsi53c810_pci_write(device_t *busdevice, device_t *device, int function, i TIMER_CALLBACK_MEMBER(bebox_state::bebox_get_devices){ - m_devices.pic8259_master = machine().device("pic8259_master"); - m_devices.pic8259_slave = machine().device("pic8259_slave"); + m_devices.pic8259_master = machine().device<pic8259_device>("pic8259_master"); + m_devices.pic8259_slave = machine().device<pic8259_device>("pic8259_slave"); m_devices.dma8237_1 = machine().device<i8237_device>("dma8237_1"); m_devices.dma8237_2 = machine().device<i8237_device>("dma8237_2"); } diff --git a/src/mess/machine/compis.c b/src/mess/machine/compis.c index 088fe8e7926..c5e6d705b79 100644 --- a/src/mess/machine/compis.c +++ b/src/mess/machine/compis.c @@ -1263,7 +1263,7 @@ WRITE_LINE_MEMBER( compis_state::compis_pic8259_master_set_int_line ) WRITE_LINE_MEMBER( compis_state::compis_pic8259_slave_set_int_line ) { if (m_8259m) - pic8259_ir2_w(m_8259m, state); + m_8259m->ir2_w(state); } READ8_MEMBER( compis_state::get_slave_ack ) diff --git a/src/mess/machine/genpc.c b/src/mess/machine/genpc.c index c394ba1008a..529e6545ffe 100644 --- a/src/mess/machine/genpc.c +++ b/src/mess/machine/genpc.c @@ -323,7 +323,7 @@ WRITE_LINE_MEMBER( ibm5160_mb_device::keyboard_clock_w ) m_ppi_shift_register = ( m_ppi_shift_register >> 1 ) | ( m_ppi_data_signal << 7 ); if ( trigger_irq ) { - pic8259_ir1_w(m_pic8259, 1); + m_pic8259->ir1_w(1); m_ppi_shift_enable = 0; m_ppi_clock_signal = 0; m_pc_kbdc->clock_write_from_mb(m_ppi_clock_signal); @@ -628,7 +628,7 @@ void ibm5160_mb_device::install_device(offs_t start, offs_t end, offs_t mask, of void ibm5160_mb_device::device_start() { install_device(0x0000, 0x000f, 0, 0, read8_delegate(FUNC(am9517a_device::read), (am9517a_device*)m_dma8237), write8_delegate(FUNC(am9517a_device::write), (am9517a_device*)m_dma8237) ); - install_device(m_pic8259, 0x0020, 0x0021, 0, 0, FUNC(pic8259_r), FUNC(pic8259_w) ); + install_device(0x0020, 0x0021, 0, 0, read8_delegate(FUNC(pic8259_device::read), (pic8259_device*)m_pic8259), write8_delegate(FUNC(pic8259_device::write), (pic8259_device*)m_pic8259) ); install_device(m_pit8253, 0x0040, 0x0043, 0, 0, FUNC(pit8253_r), FUNC(pit8253_w) ); // install_device(m_ppi8255, 0x0060, 0x0063, 0, 0, FUNC(i8255a_r), FUNC(i8255a_w) ); diff --git a/src/mess/machine/mbc55x.c b/src/mess/machine/mbc55x.c index a61429d1ff6..08cbd0730c7 100644 --- a/src/mess/machine/mbc55x.c +++ b/src/mess/machine/mbc55x.c @@ -118,12 +118,12 @@ const struct pic8259_interface mbc55x_pic8259_config = READ8_MEMBER(mbc55x_state::mbcpic8259_r) { - return pic8259_r(m_pic, space, offset>>1); + return m_pic->read(space, offset>>1); } WRITE8_MEMBER(mbc55x_state::mbcpic8259_w) { - pic8259_w(m_pic, space, offset>>1, data); + m_pic->write(space, offset>>1, data); } IRQ_CALLBACK_MEMBER(mbc55x_state::mbc55x_irq_callback) diff --git a/src/mess/machine/pc.c b/src/mess/machine/pc.c index 5783fe49355..cc318fd6524 100644 --- a/src/mess/machine/pc.c +++ b/src/mess/machine/pc.c @@ -457,12 +457,12 @@ const struct pit8253_config mc1502_pit8253_config = /* called when a interrupt is set/cleared from com hardware */ WRITE_LINE_MEMBER(pc_state::pc_com_interrupt_1) { - pic8259_ir4_w(m_pic8259, state); + m_pic8259->ir4_w(state); } WRITE_LINE_MEMBER(pc_state::pc_com_interrupt_2) { - pic8259_ir3_w(m_pic8259, state); + m_pic8259->ir3_w(state); } const ins8250_interface ibm5150_com_interface[4]= @@ -740,7 +740,7 @@ WRITE_LINE_MEMBER( pc_state::keyboard_clock_w ) m_ppi_shift_register = ( m_ppi_shift_register >> 1 ) | ( m_ppi_data_signal << 7 ); if ( trigger_irq ) { - pic8259_ir1_w(m_pic8259, 1); + m_pic8259->ir1_w(1); m_ppi_shift_enable = 0; m_ppi_clock_signal = 0; m_pc_kbdc->clock_write_from_mb(m_ppi_clock_signal); @@ -832,7 +832,7 @@ WRITE8_MEMBER(pc_state::ibm5160_ppi_portb_w) /* If PB7 is set clear the shift register and reset the IRQ line */ if ( m_ppi_keyboard_clear ) { - pic8259_ir1_w(m_pic8259, 0); + m_pic8259->ir1_w(0); m_ppi_shift_register = 0; m_ppi_shift_enable = 1; } @@ -945,7 +945,7 @@ TIMER_CALLBACK_MEMBER(pc_state::mc1502_keyb_signal_callback) } if (mc1502_keyb.pulsing) { - pic8259_ir1_w(m_pic8259, (mc1502_keyb.pulsing & 1)); + m_pic8259->ir1_w(mc1502_keyb.pulsing & 1); mc1502_keyb.pulsing--; } } @@ -962,7 +962,7 @@ WRITE8_MEMBER(pc_state::mc1502_ppi_porta_w) mc1502_keyb.latch = data; if (mc1502_keyb.pulsing) mc1502_keyb.pulsing--; - pic8259_ir1_w(m_pic8259, 0); + m_pic8259->ir1_w(0); } WRITE8_MEMBER(pc_state::mc1502_ppi_portb_w) @@ -1146,7 +1146,7 @@ void pc_state::fdc_interrupt(bool state) { if (m_pic8259) { - pic8259_ir6_w(m_pic8259, state); + m_pic8259->ir6_w(state); } } @@ -1161,14 +1161,14 @@ static void pc_set_irq_line(running_machine &machine,int irq, int state) switch (irq) { - case 0: pic8259_ir0_w(st->m_pic8259, state); break; - case 1: pic8259_ir1_w(st->m_pic8259, state); break; - case 2: pic8259_ir2_w(st->m_pic8259, state); break; - case 3: pic8259_ir3_w(st->m_pic8259, state); break; - case 4: pic8259_ir4_w(st->m_pic8259, state); break; - case 5: pic8259_ir5_w(st->m_pic8259, state); break; - case 6: pic8259_ir6_w(st->m_pic8259, state); break; - case 7: pic8259_ir7_w(st->m_pic8259, state); break; + case 0: st->m_pic8259->ir0_w(state); break; + case 1: st->m_pic8259->ir1_w(state); break; + case 2: st->m_pic8259->ir2_w(state); break; + case 3: st->m_pic8259->ir3_w(state); break; + case 4: st->m_pic8259->ir4_w(state); break; + case 5: st->m_pic8259->ir5_w(state); break; + case 6: st->m_pic8259->ir6_w(state); break; + case 7: st->m_pic8259->ir7_w(state); break; } } @@ -1469,13 +1469,13 @@ DRIVER_INIT_MEMBER(pc_state,mc1502) IRQ_CALLBACK_MEMBER(pc_state::pc_irq_callback) { - return pic8259_acknowledge(m_pic8259); + return m_pic8259->acknowledge(); } MACHINE_START_MEMBER(pc_state,pc) { - m_pic8259 = machine().device("pic8259"); + m_pic8259 = machine().device<pic8259_device>("pic8259"); m_pit8253 = machine().device("pit8253"); m_maincpu->set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(pc_state::pc_irq_callback),this)); @@ -1512,7 +1512,7 @@ MACHINE_START_MEMBER(pc_state,mc1502) { m_maincpu->set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(pc_state::pc_irq_callback),this)); - m_pic8259 = machine().device("pic8259"); + m_pic8259 = machine().device<pic8259_device>("pic8259"); m_pit8253 = machine().device("pit8253"); /* @@ -1521,7 +1521,7 @@ MACHINE_START_MEMBER(pc_state,mc1502) 40ms (check) for 20ms (check) until all keys are released. Last pulse causes BIOS to write a 'break' scancode into port 60h. */ - pic8259_ir1_w(m_pic8259, 1); + m_pic8259->ir1_w(1); memset(&mc1502_keyb, 0, sizeof(mc1502_keyb)); mc1502_keyb.keyb_signal_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(pc_state::mc1502_keyb_signal_callback),this)); mc1502_keyb.keyb_signal_timer->adjust( attotime::from_msec(20), 0, attotime::from_msec(20) ); @@ -1542,7 +1542,7 @@ MACHINE_START_MEMBER(pc_state,pcjr) machine().device<upd765a_device>("upd765")->set_ready_line_connected(false); - m_pic8259 = machine().device("pic8259"); + m_pic8259 = machine().device<pic8259_device>("pic8259"); m_pit8253 = machine().device("pit8253"); } diff --git a/src/mess/machine/pc9801_118.c b/src/mess/machine/pc9801_118.c index ffee7810610..9bd8925735f 100644 --- a/src/mess/machine/pc9801_118.c +++ b/src/mess/machine/pc9801_118.c @@ -38,7 +38,7 @@ WRITE8_MEMBER(pc9801_118_device::opn_portb_w){ m_joy_sel = data; } WRITE_LINE_MEMBER(pc9801_118_device::pc9801_sound_irq) { /* TODO: seems to die very often */ - pic8259_ir4_w(machine().device("pic8259_slave"), state); + machine().device<pic8259_device>(":pic8259_slave")->ir4_w(state); } static const ay8910_interface ay8910_config = diff --git a/src/mess/machine/pc9801_26.c b/src/mess/machine/pc9801_26.c index 61e24f4532a..150ebfd0e2c 100644 --- a/src/mess/machine/pc9801_26.c +++ b/src/mess/machine/pc9801_26.c @@ -38,7 +38,7 @@ WRITE8_MEMBER(pc9801_26_device::opn_portb_w){ m_joy_sel = data; } WRITE_LINE_MEMBER(pc9801_26_device::pc9801_sound_irq) { /* TODO: seems to die very often */ - pic8259_ir4_w(machine().device("pic8259_slave"), state); + machine().device<pic8259_device>(":pic8259_slave")->ir4_w(state); } static const ay8910_interface ay8910_config = diff --git a/src/mess/machine/pc9801_86.c b/src/mess/machine/pc9801_86.c index 4d60e9a8be5..1c59a4f0630 100644 --- a/src/mess/machine/pc9801_86.c +++ b/src/mess/machine/pc9801_86.c @@ -38,7 +38,7 @@ WRITE8_MEMBER(pc9801_86_device::opn_portb_w){ m_joy_sel = data; } WRITE_LINE_MEMBER(pc9801_86_device::pc9801_sound_irq) { /* TODO: seems to die very often */ - pic8259_ir4_w(machine().device("pic8259_slave"), state); + machine().device<pic8259_device>(":pic8259_slave")->ir4_w(state); } static const ay8910_interface ay8910_config = diff --git a/src/mess/machine/pk8020.c b/src/mess/machine/pk8020.c index 67392a59b3d..fc99e312a26 100644 --- a/src/mess/machine/pk8020.c +++ b/src/mess/machine/pk8020.c @@ -167,7 +167,7 @@ READ8_MEMBER(pk8020_state::devices_r) case 1 : return m_lan->status_r(space,0); } break; - case 0x28: return pic8259_r(m_pic8259,space, offset & 1); + case 0x28: return m_pic8259->read(space, offset & 1); case 0x30: return m_ppi8255_2->read(space,offset & 3); case 0x38: return m_ppi8255_1->read(space,offset & 3); } @@ -197,7 +197,7 @@ WRITE8_MEMBER(pk8020_state::devices_w) case 1 : m_lan->control_w(space,0,data); break; } break; - case 0x28: pic8259_w(m_pic8259,space, offset & 1,data);break; + case 0x28: m_pic8259->write(space, offset & 1,data);break; case 0x30: m_ppi8255_2->write(space,offset & 3,data); break; case 0x38: m_ppi8255_1->write(space,offset & 3,data); break; } @@ -955,7 +955,7 @@ const struct pic8259_interface pk8020_pic8259_config = IRQ_CALLBACK_MEMBER(pk8020_state::pk8020_irq_callback) { - return pic8259_acknowledge(m_pic8259); + return m_pic8259->acknowledge(); } void pk8020_state::machine_start() @@ -983,5 +983,5 @@ void pk8020_state::machine_reset() INTERRUPT_GEN_MEMBER(pk8020_state::pk8020_interrupt) { m_takt ^= 1; - pic8259_ir4_w(m_pic8259, 1); + m_pic8259->ir4_w(1); } diff --git a/src/mess/machine/southbridge.c b/src/mess/machine/southbridge.c index 08f12fc521e..e700b5f6e95 100644 --- a/src/mess/machine/southbridge.c +++ b/src/mess/machine/southbridge.c @@ -194,13 +194,13 @@ void southbridge_device::device_start() address_space& spaceio = machine().device(":maincpu")->memory().space(AS_IO); spaceio.install_readwrite_handler(0x0000, 0x001f, read8_delegate(FUNC(am9517a_device::read),&(*m_dma8237_1)), write8_delegate(FUNC(am9517a_device::write),&(*m_dma8237_1)), 0xffffffff); - spaceio.install_legacy_readwrite_handler(*m_pic8259_master, 0x0020, 0x003f, FUNC(pic8259_r), FUNC(pic8259_w), 0xffffffff); + spaceio.install_readwrite_handler(0x0020, 0x003f, read8_delegate(FUNC(pic8259_device::read),&(*m_pic8259_master)), write8_delegate(FUNC(pic8259_device::write),&(*m_pic8259_master)), 0xffffffff); spaceio.install_legacy_readwrite_handler(*m_pit8254, 0x0040, 0x005f, FUNC(pit8253_r), FUNC(pit8253_w), 0xffffffff); spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(southbridge_device::at_keybc_r),this), write8_delegate(FUNC(southbridge_device::at_keybc_w),this), 0xffffffff); spaceio.install_readwrite_handler(0x0064, 0x0067, read8_delegate(FUNC(at_keyboard_controller_device::status_r),&(*m_keybc)), write8_delegate(FUNC(at_keyboard_controller_device::command_w),&(*m_keybc)), 0xffffffff); spaceio.install_readwrite_handler(0x0070, 0x007f, read8_delegate(FUNC(mc146818_device::read),&(*m_mc146818)), write8_delegate(FUNC(mc146818_device::write),&(*m_mc146818)), 0xffffffff); spaceio.install_readwrite_handler(0x0080, 0x009f, read8_delegate(FUNC(southbridge_device::at_page8_r),this), write8_delegate(FUNC(southbridge_device::at_page8_w),this), 0xffffffff); - spaceio.install_legacy_readwrite_handler(*m_pic8259_slave, 0x00a0, 0x00bf, FUNC(pic8259_r), FUNC(pic8259_w), 0xffffffff); + spaceio.install_readwrite_handler(0x00a0, 0x00bf, read8_delegate(FUNC(pic8259_device::read),&(*m_pic8259_slave)), write8_delegate(FUNC(pic8259_device::write),&(*m_pic8259_slave)), 0xffffffff); spaceio.install_readwrite_handler(0x00c0, 0x00df, read8_delegate(FUNC(southbridge_device::at_dma8237_2_r),this), write8_delegate(FUNC(southbridge_device::at_dma8237_2_w),this), 0xffffffff); spaceio.nop_readwrite(0x00e0, 0x00ef); @@ -460,7 +460,7 @@ WRITE8_MEMBER( southbridge_device::at_portb_w ) WRITE_LINE_MEMBER( southbridge_device::at_mc146818_irq ) { - pic8259_ir0_w(m_pic8259_slave, (state) ? 0 : 1); + m_pic8259_slave->ir0_w((state) ? 0 : 1); } READ8_MEMBER( southbridge_device::at_dma8237_2_r ) |