diff options
Diffstat (limited to 'src/devices/bus/vme/vme_fccpu20.cpp')
-rw-r--r-- | src/devices/bus/vme/vme_fccpu20.cpp | 64 |
1 files changed, 31 insertions, 33 deletions
diff --git a/src/devices/bus/vme/vme_fccpu20.cpp b/src/devices/bus/vme/vme_fccpu20.cpp index f863b8c1681..27ae34c6679 100644 --- a/src/devices/bus/vme/vme_fccpu20.cpp +++ b/src/devices/bus/vme/vme_fccpu20.cpp @@ -254,16 +254,16 @@ DEVICE_INPUT_DEFAULTS_END MACHINE_CONFIG_START(vme_fccpu20_device::device_add_mconfig) /* basic machine hardware */ - MCFG_DEVICE_ADD ("maincpu", M68020, CLOCK50 / 3) /* Crytstal verified from picture HCI */ + MCFG_DEVICE_ADD("maincpu", M68020, CLOCK50 / 3) /* Crytstal verified from picture HCI */ MCFG_DEVICE_PROGRAM_MAP (cpu20_mem) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("bim", bim68153_device, iack) /* PIT Parallel Interface and Timer device, assumed strapped for on board clock */ - MCFG_DEVICE_ADD ("pit", PIT68230, CLOCK32 / 4) /* Crystal not verified */ - MCFG_PIT68230_PA_INPUT_CB(READ8(*this, vme_fccpu20_device, pita_r)) - MCFG_PIT68230_PB_INPUT_CB(READ8(*this, vme_fccpu20_device, pitb_r)) - MCFG_PIT68230_PC_INPUT_CB(READ8(*this, vme_fccpu20_device, pitc_r)) - MCFG_PIT68230_TIMER_IRQ_CB(WRITELINE("bim", bim68153_device, int2_w)) + PIT68230(config, m_pit, CLOCK32 / 4); /* Crystal not verified */ + m_pit->pa_in_callback().set(FUNC(vme_fccpu20_device::pita_r)); + m_pit->pb_in_callback().set(FUNC(vme_fccpu20_device::pitb_r)); + m_pit->pc_in_callback().set(FUNC(vme_fccpu20_device::pitc_r)); + m_pit->timer_irq_callback().set("bim", FUNC(bim68153_device::int2_w)); /* BIM */ bim68153_device &bim(MC68153(config, "bim", CLOCK32 / 8)); @@ -277,41 +277,39 @@ MACHINE_CONFIG_START(vme_fccpu20_device::device_add_mconfig) #define RS232P1_TAG "rs232p1" #define RS232P2_TAG "rs232p2" #define RS232P3_TAG "rs232p3" - // MPCC - MCFG_MPCC68561_ADD ("mpcc", CLOCK32 / 4, 0, 0) - MCFG_MPCC_OUT_TXD_CB(WRITELINE(RS232P1_TAG, rs232_port_device, write_txd)) - MCFG_MPCC_OUT_DTR_CB(WRITELINE(RS232P1_TAG, rs232_port_device, write_dtr)) - MCFG_MPCC_OUT_RTS_CB(WRITELINE(RS232P1_TAG, rs232_port_device, write_rts)) - MCFG_MPCC_OUT_INT_CB(WRITELINE("bim", bim68153_device, int1_w)) + mpcc68561_device &mpcc(MPCC68561(config, "mpcc", CLOCK32 / 4, 0, 0)); + mpcc.out_txd_cb().set(RS232P1_TAG, FUNC(rs232_port_device::write_txd)); + mpcc.out_dtr_cb().set(RS232P1_TAG, FUNC(rs232_port_device::write_dtr)); + mpcc.out_rts_cb().set(RS232P1_TAG, FUNC(rs232_port_device::write_rts)); + mpcc.out_int_cb().set("bim", FUNC(bim68153_device::int1_w)); /* Additional MPCC sits on FLME boards like SRAM-22, TODO: install MPCC2/MPCC3 in FLME slot device */ - // MPCC2 - MCFG_MPCC68561_ADD ("mpcc2", CLOCK32 / 4, 0, 0) - MCFG_MPCC_OUT_TXD_CB(WRITELINE(RS232P2_TAG, rs232_port_device, write_txd)) - MCFG_MPCC_OUT_DTR_CB(WRITELINE(RS232P2_TAG, rs232_port_device, write_dtr)) - MCFG_MPCC_OUT_RTS_CB(WRITELINE(RS232P2_TAG, rs232_port_device, write_rts)) - MCFG_MPCC_OUT_INT_CB(WRITELINE("bim", bim68153_device, int3_w)) - // MPCC3 - MCFG_MPCC68561_ADD ("mpcc3", CLOCK32 / 4, 0, 0) - MCFG_MPCC_OUT_TXD_CB(WRITELINE(RS232P3_TAG, rs232_port_device, write_txd)) - MCFG_MPCC_OUT_DTR_CB(WRITELINE(RS232P3_TAG, rs232_port_device, write_dtr)) - MCFG_MPCC_OUT_RTS_CB(WRITELINE(RS232P3_TAG, rs232_port_device, write_rts)) - MCFG_MPCC_OUT_INT_CB(WRITELINE("bim", bim68153_device, int3_w)) + mpcc68561_device &mpcc2(MPCC68561(config, "mpcc2", CLOCK32 / 4, 0, 0)); + mpcc2.out_txd_cb().set(RS232P2_TAG, FUNC(rs232_port_device::write_txd)); + mpcc2.out_dtr_cb().set(RS232P2_TAG, FUNC(rs232_port_device::write_dtr)); + mpcc2.out_rts_cb().set(RS232P2_TAG, FUNC(rs232_port_device::write_rts)); + mpcc2.out_int_cb().set("bim", FUNC(bim68153_device::int3_w)); + + mpcc68561_device &mpcc3(MPCC68561(config, "mpcc3", CLOCK32 / 4, 0, 0)); + mpcc3.out_txd_cb().set(RS232P3_TAG, FUNC(rs232_port_device::write_txd)); + mpcc3.out_dtr_cb().set(RS232P3_TAG, FUNC(rs232_port_device::write_dtr)); + mpcc3.out_rts_cb().set(RS232P3_TAG, FUNC(rs232_port_device::write_rts)); + mpcc3.out_int_cb().set("bim", FUNC(bim68153_device::int3_w)); // MPCC - RS232 - MCFG_DEVICE_ADD (RS232P1_TAG, RS232_PORT, default_rs232_devices, "terminal") + MCFG_DEVICE_ADD(RS232P1_TAG, RS232_PORT, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER (WRITELINE ("mpcc", mpcc68561_device, write_rx)) MCFG_RS232_CTS_HANDLER (WRITELINE ("mpcc", mpcc68561_device, cts_w)) MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // MPCC2 - RS232 - MCFG_DEVICE_ADD (RS232P2_TAG, RS232_PORT, default_rs232_devices, nullptr) + MCFG_DEVICE_ADD(RS232P2_TAG, RS232_PORT, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER (WRITELINE ("mpcc2", mpcc68561_device, write_rx)) MCFG_RS232_CTS_HANDLER (WRITELINE ("mpcc2", mpcc68561_device, cts_w)) // MPCC3 - RS232 - MCFG_DEVICE_ADD (RS232P3_TAG, RS232_PORT, default_rs232_devices, nullptr) + MCFG_DEVICE_ADD(RS232P3_TAG, RS232_PORT, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER (WRITELINE ("mpcc3", mpcc68561_device, write_rx)) MCFG_RS232_CTS_HANDLER (WRITELINE ("mpcc3", mpcc68561_device, cts_w)) MACHINE_CONFIG_END @@ -325,7 +323,7 @@ MACHINE_CONFIG_START(vme_fccpu21s_card_device::device_add_mconfig) vme_fccpu20_device::device_add_mconfig(config); MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK( CLOCK50 / 4) + MCFG_DEVICE_CLOCK(CLOCK50 / 4) MACHINE_CONFIG_END // SYS68K/CPU-21 Part No.1 01 001 - 68020 CPU board (CPU-20) + FPU 68881 at 16.7 MHz, 512 KB RAM @@ -333,7 +331,7 @@ MACHINE_CONFIG_START(vme_fccpu21_card_device::device_add_mconfig) vme_fccpu20_device::device_add_mconfig(config); MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK( CLOCK50 / 3) + MCFG_DEVICE_CLOCK(CLOCK50 / 3) MACHINE_CONFIG_END // SYS68K/CPU-21A Part No.1 01 011 - 68020 CPU board + FPU 68881 at 20 MHz, 512 KB RAM @@ -341,7 +339,7 @@ MACHINE_CONFIG_START(vme_fccpu21a_card_device::device_add_mconfig) vme_fccpu20_device::device_add_mconfig(config); MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK( CLOCK40 / 2) + MCFG_DEVICE_CLOCK(CLOCK40 / 2) MACHINE_CONFIG_END // SYS68K/CPU-21YA Part No.1 01 061 - 68020 CPU board + FPU 68881 at 20 MHz, 2048 KB RAM @@ -349,7 +347,7 @@ MACHINE_CONFIG_START(vme_fccpu21ya_card_device::device_add_mconfig) vme_fccpu20_device::device_add_mconfig(config); MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK( CLOCK40 / 2) + MCFG_DEVICE_CLOCK(CLOCK40 / 2) MACHINE_CONFIG_END // SYS68K/CPU-21B Part No.1 01 021 - 68020 CPU board + FPU 68881 at 25 MHz, 512 KB RAM @@ -357,7 +355,7 @@ MACHINE_CONFIG_START(vme_fccpu21b_card_device::device_add_mconfig) vme_fccpu20_device::device_add_mconfig(config); MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK( CLOCK50 / 2) + MCFG_DEVICE_CLOCK(CLOCK50 / 2) MACHINE_CONFIG_END // SYS68K/CPU-21YB Part No.1 01 071 - 68020 CPU board + FPU 68881 at 25 MHz, 2048 KB RAM @@ -365,7 +363,7 @@ MACHINE_CONFIG_START(vme_fccpu21yb_card_device::device_add_mconfig) vme_fccpu20_device::device_add_mconfig(config); MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK( CLOCK50 / 2) + MCFG_DEVICE_CLOCK(CLOCK50 / 2) MACHINE_CONFIG_END |