summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pc9801.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pc9801.cpp')
-rw-r--r--src/mame/drivers/pc9801.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 0d3801061f2..f57ddeeb266 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -662,8 +662,8 @@ void pc9801_state::pc9801_common_io(address_map &map)
map(0x0000, 0x001f).rw(m_dmac, FUNC(am9517a_device::read), FUNC(am9517a_device::write)).umask16(0xff00);
map(0x0000, 0x001f).rw(FUNC(pc9801_state::pic_r), FUNC(pc9801_state::pic_w)).umask16(0x00ff); // i8259 PIC (bit 3 ON slave / master) / i8237 DMA
map(0x0020, 0x002f).w(FUNC(pc9801_state::rtc_w)).umask16(0x00ff);
- map(0x0030, 0x0037).rw("ppi8255_sys", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0xff00); //i8251 RS232c / i8255 system port
- map(0x0040, 0x0047).rw("ppi8255_prn", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff);
+ map(0x0030, 0x0037).rw(m_ppi_sys, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0xff00); //i8251 RS232c / i8255 system port
+ map(0x0040, 0x0047).rw(m_ppi_prn, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff);
map(0x0040, 0x0047).rw(m_keyb, FUNC(pc9801_kbd_device::rx_r), FUNC(pc9801_kbd_device::tx_w)).umask16(0xff00); //i8255 printer port / i8251 keyboard
map(0x0050, 0x0057).rw("ppi8255_fdd", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0xff00);
map(0x0050, 0x0057).w(FUNC(pc9801_state::nmi_ctrl_w)).umask16(0x00ff); // NMI FF / i8255 floppy port (2d?)
@@ -1424,8 +1424,8 @@ void pc9801_state::pc9821_io(address_map &map)
map(0x0000, 0x001f).w(FUNC(pc9801_state::pic_w)).umask32(0x00ff00ff); // i8259 PIC (bit 3 ON slave / master) / i8237 DMA
map(0x0020, 0x002f).w(FUNC(pc9801_state::rtc_w)).umask32(0x000000ff);
map(0x0020, 0x002f).w(FUNC(pc9801_state::dmapg8_w)).umask32(0xff00ff00);
- map(0x0030, 0x0037).rw("ppi8255_sys", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask32(0xff00ff00); //i8251 RS232c / i8255 system port
- map(0x0040, 0x0047).rw("ppi8255_prn", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask32(0x00ff00ff);
+ map(0x0030, 0x0037).rw(m_ppi_sys, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask32(0xff00ff00); //i8251 RS232c / i8255 system port
+ map(0x0040, 0x0047).rw(m_ppi_prn, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask32(0x00ff00ff);
map(0x0040, 0x0047).rw(m_keyb, FUNC(pc9801_kbd_device::rx_r), FUNC(pc9801_kbd_device::tx_w)).umask32(0xff00ff00); //i8255 printer port / i8251 keyboard
map(0x0050, 0x0053).w(FUNC(pc9801_state::nmi_ctrl_w)).umask32(0x00ff00ff);
map(0x005c, 0x005f).r(FUNC(pc9801_state::timestamp_r)).nopw(); // artic
@@ -2215,13 +2215,13 @@ MACHINE_CONFIG_START(pc9801_state::pc9801_keyboard)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc9801_state::pc9801_mouse)
- MCFG_DEVICE_ADD("ppi8255_mouse", I8255, 0)
- MCFG_I8255_IN_PORTA_CB(READ8(*this, pc9801_state, ppi_mouse_porta_r))
- MCFG_I8255_OUT_PORTA_CB(WRITE8(*this, pc9801_state, ppi_mouse_porta_w))
- MCFG_I8255_IN_PORTB_CB(IOPORT("DSW3"))
- MCFG_I8255_OUT_PORTB_CB(WRITE8(*this, pc9801_state, ppi_mouse_portb_w))
- MCFG_I8255_IN_PORTC_CB(IOPORT("DSW4"))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, pc9801_state, ppi_mouse_portc_w))
+ i8255_device &ppi_mouse(I8255(config, "ppi8255_mouse"));
+ ppi_mouse.in_pa_callback().set(FUNC(pc9801_state::ppi_mouse_porta_r));
+ ppi_mouse.out_pa_callback().set(FUNC(pc9801_state::ppi_mouse_porta_w));
+ ppi_mouse.in_pb_callback().set_ioport("DSW3");
+ ppi_mouse.out_pb_callback().set(FUNC(pc9801_state::ppi_mouse_portb_w));
+ ppi_mouse.in_pc_callback().set_ioport("DSW4");
+ ppi_mouse.out_pc_callback().set(FUNC(pc9801_state::ppi_mouse_portc_w));
MCFG_TIMER_DRIVER_ADD_PERIODIC("mouse_timer", pc9801_state, mouse_irq_cb, attotime::from_hz(120))
MACHINE_CONFIG_END
@@ -2357,11 +2357,11 @@ MACHINE_CONFIG_START(pc9801_state::pc9801_common)
FLOPPY_CONNECTOR(config, "upd765_2hd:0", pc9801_floppies, "525hd", pc9801_state::floppy_formats);
FLOPPY_CONNECTOR(config, "upd765_2hd:1", pc9801_floppies, "525hd", pc9801_state::floppy_formats);
- MCFG_DEVICE_ADD("ppi8255_fdd", I8255, 0)
- MCFG_I8255_IN_PORTA_CB(CONSTANT(0xff))
- MCFG_I8255_IN_PORTB_CB(CONSTANT(0xff))
- MCFG_I8255_IN_PORTC_CB(CONSTANT(0xff))
- //MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, pc9801_state, ppi_fdd_portc_w))
+ i8255_device &ppi_fdd(I8255(config, "ppi8255_fdd"));
+ ppi_fdd.in_pa_callback().set_constant(0xff);
+ ppi_fdd.in_pb_callback().set_constant(0xff);
+ ppi_fdd.in_pc_callback().set_constant(0xff);
+ //ppi_fdd.out_pc_callback().set(FUNC(pc9801_state::ppi_fdd_portc_w));
MCFG_SOFTWARE_LIST_ADD("disk_list","pc98")