diff options
author | Fabio Priuli <etabeta78@users.noreply.github.com> | 2014-04-17 05:49:48 +0000 |
---|---|---|
committer | Fabio Priuli <etabeta78@users.noreply.github.com> | 2014-04-17 05:49:48 +0000 |
commit | a2bdecb0716607331febcb702563e78c40ba2f62 (patch) | |
tree | 82d192231d376fcb7f88512bb7c30629f775d2d8 /src/mess/drivers/pc8801.c | |
parent | 7030ff593e2dc3d071b0f1df7d3d9085516cf414 (diff) |
converted i8255 to devcb2. nw.
p.s. I tested several games/systems and I triple checked the diff to be sure I did not
make any copy and paste mistake in the 195 files touched by this, but let me know
if any system suddenly stops working!
Diffstat (limited to 'src/mess/drivers/pc8801.c')
-rw-r--r-- | src/mess/drivers/pc8801.c | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/src/mess/drivers/pc8801.c b/src/mess/drivers/pc8801.c index 1bcd9d3b7f9..985abe4f43d 100644 --- a/src/mess/drivers/pc8801.c +++ b/src/mess/drivers/pc8801.c @@ -1849,16 +1849,6 @@ WRITE8_MEMBER(pc8801_state::cpu_8255_c_w) } -static I8255A_INTERFACE( master_fdd_intf ) -{ - DEVCB_DEVICE_MEMBER("d8255_slave", i8255_device, pb_r), // Port A read - DEVCB_NULL, // Port A write - DEVCB_DEVICE_MEMBER("d8255_slave", i8255_device, pa_r), // Port B read - DEVCB_NULL, // Port B write - DEVCB_DRIVER_MEMBER(pc8801_state,cpu_8255_c_r), // Port C read - DEVCB_DRIVER_MEMBER(pc8801_state,cpu_8255_c_w) // Port C write -}; - READ8_MEMBER(pc8801_state::fdc_8255_c_r) { // machine().scheduler().synchronize(); // force resync @@ -1873,17 +1863,6 @@ WRITE8_MEMBER(pc8801_state::fdc_8255_c_w) m_i8255_1_pc = data; } -static I8255A_INTERFACE( slave_fdd_intf ) -{ - DEVCB_DEVICE_MEMBER("d8255_master", i8255_device, pb_r), // Port A read - DEVCB_NULL, // Port A write - DEVCB_DEVICE_MEMBER("d8255_master", i8255_device, pa_r), // Port B read - DEVCB_NULL, // Port B write - DEVCB_DRIVER_MEMBER(pc8801_state,fdc_8255_c_r), // Port C read - DEVCB_DRIVER_MEMBER(pc8801_state,fdc_8255_c_w) // Port C write -}; - - static ADDRESS_MAP_START( pc8801fdc_mem, AS_PROGRAM, 8, pc8801_state ) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x4000, 0x7fff) AM_RAM @@ -2639,9 +2618,17 @@ static MACHINE_CONFIG_START( pc8801, pc8801_state ) //MCFG_QUANTUM_TIME(attotime::from_hz(300000)) MCFG_QUANTUM_PERFECT_CPU("maincpu") - - MCFG_I8255_ADD( "d8255_master", master_fdd_intf ) - MCFG_I8255_ADD( "d8255_slave", slave_fdd_intf ) + MCFG_DEVICE_ADD("d8255_master", I8255, 0) + MCFG_I8255_IN_PORTA_CB(DEVREAD8("d8255_slave", i8255_device, pb_r)) + MCFG_I8255_IN_PORTB_CB(DEVREAD8("d8255_slave", i8255_device, pa_r)) + MCFG_I8255_IN_PORTC_CB(READ8(pc8801_state, cpu_8255_c_r)) + MCFG_I8255_OUT_PORTC_CB(WRITE8(pc8801_state, cpu_8255_c_w)) + + MCFG_DEVICE_ADD("d8255_slave", I8255, 0) + MCFG_I8255_IN_PORTA_CB(DEVREAD8("d8255_master", i8255_device, pb_r)) + MCFG_I8255_IN_PORTB_CB(DEVREAD8("d8255_master", i8255_device, pa_r)) + MCFG_I8255_IN_PORTC_CB(READ8(pc8801_state, fdc_8255_c_r)) + MCFG_I8255_OUT_PORTC_CB(WRITE8(pc8801_state, fdc_8255_c_w)) MCFG_UPD765A_ADD("upd765", true, true) MCFG_UPD765_INTRQ_CALLBACK(INPUTLINE("fdccpu", INPUT_LINE_IRQ0)) |