diff options
Diffstat (limited to 'src/mame/drivers/pimps.cpp')
-rw-r--r-- | src/mame/drivers/pimps.cpp | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/src/mame/drivers/pimps.cpp b/src/mame/drivers/pimps.cpp index 31335ecb2ed..b93bacbd965 100644 --- a/src/mame/drivers/pimps.cpp +++ b/src/mame/drivers/pimps.cpp @@ -129,39 +129,39 @@ static DEVICE_INPUT_DEFAULTS_START( terminal ) // set up terminal to default to DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_2 ) DEVICE_INPUT_DEFAULTS_END -MACHINE_CONFIG_START(pimps_state::pimps) - /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",I8085A, XTAL(2'000'000)) - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - - MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) - MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE("uart1", i8251_device, write_txc)) - MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("uart1", i8251_device, write_rxc)) - MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("uart2", i8251_device, write_txc)) - MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("uart2", i8251_device, write_rxc)) - - MCFG_DEVICE_ADD("uart1", I8251, 0) - MCFG_I8251_TXD_HANDLER(WRITELINE("rs232a", rs232_port_device, write_txd)) - MCFG_I8251_DTR_HANDLER(WRITELINE("rs232a", rs232_port_device, write_dtr)) - MCFG_I8251_RTS_HANDLER(WRITELINE("rs232a", rs232_port_device, write_rts)) - - MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("uart1", i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE("uart1", i8251_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(WRITELINE("uart1", i8251_device, write_cts)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here - - MCFG_DEVICE_ADD("uart2", I8251, 0) - MCFG_I8251_TXD_HANDLER(WRITELINE("rs232b", rs232_port_device, write_txd)) - MCFG_I8251_DTR_HANDLER(WRITELINE("rs232b", rs232_port_device, write_dtr)) - MCFG_I8251_RTS_HANDLER(WRITELINE("rs232b", rs232_port_device, write_rts)) - - MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("uart2", i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE("uart2", i8251_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(WRITELINE("uart2", i8251_device, write_cts)) -MACHINE_CONFIG_END +void pimps_state::pimps(machine_config &config) +{ + I8085A(config, m_maincpu, 2_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &pimps_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &pimps_state::io_map); + + clock_device &uart_clock(CLOCK(config, "uart_clock", 153'600)); + uart_clock.signal_handler().set("uart1", FUNC(i8251_device::write_txc)); + uart_clock.signal_handler().append("uart1", FUNC(i8251_device::write_rxc)); + uart_clock.signal_handler().append("uart2", FUNC(i8251_device::write_txc)); + uart_clock.signal_handler().append("uart2", FUNC(i8251_device::write_rxc)); + + i8251_device &uart1(I8251(config, "uart1", 0)); + uart1.txd_handler().set("rs232a", FUNC(rs232_port_device::write_txd)); + uart1.dtr_handler().set("rs232a", FUNC(rs232_port_device::write_dtr)); + uart1.rts_handler().set("rs232a", FUNC(rs232_port_device::write_rts)); + + rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, "terminal")); + rs232a.rxd_handler().set("uart1", FUNC(i8251_device::write_rxd)); + rs232a.dsr_handler().set("uart1", FUNC(i8251_device::write_dsr)); + rs232a.cts_handler().set("uart1", FUNC(i8251_device::write_cts)); + rs232a.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); // must be exactly here + + i8251_device &uart2(I8251(config, "uart2", 0)); + uart2.txd_handler().set("rs232b", FUNC(rs232_port_device::write_txd)); + uart2.dtr_handler().set("rs232b", FUNC(rs232_port_device::write_dtr)); + uart2.rts_handler().set("rs232b", FUNC(rs232_port_device::write_rts)); + + rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); + rs232b.rxd_handler().set("uart2", FUNC(i8251_device::write_rxd)); + rs232b.dsr_handler().set("uart2", FUNC(i8251_device::write_dsr)); + rs232b.cts_handler().set("uart2", FUNC(i8251_device::write_cts)); +} /* ROM definition */ ROM_START( pimps ) |