summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/decwritr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/decwritr.cpp')
-rw-r--r--src/mame/drivers/decwritr.cpp38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/mame/drivers/decwritr.cpp b/src/mame/drivers/decwritr.cpp
index bcd83f09b89..ead4c944006 100644
--- a/src/mame/drivers/decwritr.cpp
+++ b/src/mame/drivers/decwritr.cpp
@@ -408,25 +408,25 @@ void decwriter_state::machine_reset()
// MACHINE DRIVERS
//**************************************************************************
-void decwriter_state::la120(machine_config &config)
-{
- I8080A(config, m_maincpu, XTAL(18'000'000) / 9); // 18Mhz xtal on schematics, using an i8224 clock divider/reset sanitizer IC
- m_maincpu->set_addrmap(AS_PROGRAM, &decwriter_state::la120_mem);
- m_maincpu->set_addrmap(AS_IO, &decwriter_state::la120_io);
- //m_maincpu->set_irq_acknowledge_callback("prtlsi", FUNC(dc305_device::inta_cb));
+MACHINE_CONFIG_START(decwriter_state::la120)
+
+ MCFG_DEVICE_ADD("maincpu", I8080A, XTAL(18'000'000) / 9) // 18Mhz xtal on schematics, using an i8224 clock divider/reset sanitizer IC
+ MCFG_DEVICE_PROGRAM_MAP(la120_mem)
+ MCFG_DEVICE_IO_MAP(la120_io)
+ //MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("prtlsi", dc305_device, inta_cb)
/* video hardware */
//TODO: no actual screen! has 8 leds above the keyboard (similar to vt100/vk100) and has 4 7segment leds for showing an error code.
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(decwriter_state::screen_update));
- screen.set_size(640,480);
- screen.set_visarea_full();
- screen.set_refresh_hz(30);
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_UPDATE_DRIVER(decwriter_state, screen_update)
+ MCFG_SCREEN_SIZE(640,480)
+ MCFG_SCREEN_VISIBLE_AREA(0,639, 0,479)
+ MCFG_SCREEN_REFRESH_RATE(30)
- //dc305_device &prtlsi(DC305(config, "prtlsi", XTAL(18'000'000) / 9));
- //prtlsi.out_rxc_cb().set("usart", FUNC(i8251_device, write_rxc));
- //prtlsi.out_txc_cb().set("usart", FUNC(i8251_device, write_txc));
- //prtlsi.out_int_cb().set("mainint", FUNC(input_merger_device::in_w<0>));
+ //MCFG_DEVICE_ADD("prtlsi", DC305, XTAL(18'000'000) / 9)
+ //MCFG_DC305_OUT_RXC_CB(WRITELINE("usart", i8251_device, write_rxc))
+ //MCFG_DC305_OUT_TXC_CB(WRITELINE("usart", i8251_device, write_txc))
+ //MCFG_DC305_OUT_INT_CB(WRITELINE("mainint", input_merger_device, in_w<0>))
LS259(config, m_ledlatch); // E2 on keyboard
m_ledlatch->q_out_cb<0>().set_output("led1").invert(); // ON LINE
@@ -442,7 +442,8 @@ void decwriter_state::la120(machine_config &config)
/* audio hardware */
SPEAKER(config, "mono").front_center();
- BEEP(config, m_speaker, 786).add_route(ALL_OUTPUTS, "mono", 0.50); // TODO: LA120 speaker is controlled by asic; VT100 has: 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
+ MCFG_DEVICE_ADD("beeper", BEEP, 786) // TODO: LA120 speaker is controlled by asic; VT100 has: 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* i8251 */
I8251(config, "usart", XTAL(18'000'000) / 9);
@@ -452,7 +453,8 @@ void decwriter_state::la120(machine_config &config)
usart.rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
usart.rxrdy_handler().set("mainint", FUNC(input_merger_device::in_w<1>));
- INPUT_MERGER_ANY_HIGH(config, "mainint").output_handler().set_inputline(m_maincpu, 0);
+ MCFG_INPUT_MERGER_ANY_HIGH("mainint")
+ MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", 0))
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
rs232.rxd_handler().set("usart", FUNC(i8251_device::write_rxd));
@@ -460,7 +462,7 @@ void decwriter_state::la120(machine_config &config)
*/
ER1400(config, m_nvm);
-}
+MACHINE_CONFIG_END