summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/v1050.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/v1050.cpp')
-rw-r--r--src/mame/drivers/v1050.cpp87
1 files changed, 42 insertions, 45 deletions
diff --git a/src/mame/drivers/v1050.cpp b/src/mame/drivers/v1050.cpp
index b88992449c0..fb66d34e6f7 100644
--- a/src/mame/drivers/v1050.cpp
+++ b/src/mame/drivers/v1050.cpp
@@ -1022,22 +1022,21 @@ void v1050_state::machine_reset()
// Machine Driver
-void v1050_state::v1050(machine_config &config)
-{
+MACHINE_CONFIG_START(v1050_state::v1050)
// basic machine hardware
- Z80(config, m_maincpu, 16_MHz_XTAL/4);
- m_maincpu->set_addrmap(AS_PROGRAM, &v1050_state::v1050_mem);
- m_maincpu->set_addrmap(AS_IO, &v1050_state::v1050_io);
- m_maincpu->set_irq_acknowledge_callback(FUNC(v1050_state::v1050_int_ack));
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, 16_MHz_XTAL/4)
+ MCFG_DEVICE_PROGRAM_MAP(v1050_mem)
+ MCFG_DEVICE_IO_MAP(v1050_io)
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(v1050_state,v1050_int_ack)
- config.m_perfect_cpu_quantum = subtag(Z80_TAG);
+ MCFG_QUANTUM_PERFECT_CPU(Z80_TAG)
- M6502(config, m_subcpu, 15.36_MHz_XTAL/16);
- m_subcpu->set_addrmap(AS_PROGRAM, &v1050_state::v1050_crt_mem);
- config.m_perfect_cpu_quantum = subtag(M6502_TAG);
+ MCFG_DEVICE_ADD(M6502_TAG, M6502, 15.36_MHz_XTAL/16)
+ MCFG_DEVICE_PROGRAM_MAP(v1050_crt_mem)
+ MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
// keyboard HACK
- TIMER(config, "keyboard").configure_periodic(FUNC(v1050_state::v1050_keyboard_tick), attotime::from_hz(60));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", v1050_state, v1050_keyboard_tick, attotime::from_hz(60))
// video hardware
v1050_video(config);
@@ -1046,12 +1045,12 @@ void v1050_state::v1050(machine_config &config)
I8214(config, m_pic, 16_MHz_XTAL/4);
m_pic->int_wr_callback().set(FUNC(v1050_state::pic_int_w));
- MSM58321(config, m_rtc, 32.768_kHz_XTAL);
- m_rtc->d0_handler().set(FUNC(v1050_state::rtc_ppi_pa_0_w));
- m_rtc->d1_handler().set(FUNC(v1050_state::rtc_ppi_pa_1_w));
- m_rtc->d2_handler().set(FUNC(v1050_state::rtc_ppi_pa_2_w));
- m_rtc->d3_handler().set(FUNC(v1050_state::rtc_ppi_pa_3_w));
- m_rtc->busy_handler().set(FUNC(v1050_state::rtc_ppi_pc_3_w));
+ MCFG_DEVICE_ADD(MSM58321RS_TAG, MSM58321, 32.768_kHz_XTAL)
+ MCFG_MSM58321_D0_HANDLER(WRITELINE(*this, v1050_state, rtc_ppi_pa_0_w))
+ MCFG_MSM58321_D1_HANDLER(WRITELINE(*this, v1050_state, rtc_ppi_pa_1_w))
+ MCFG_MSM58321_D2_HANDLER(WRITELINE(*this, v1050_state, rtc_ppi_pa_2_w))
+ MCFG_MSM58321_D3_HANDLER(WRITELINE(*this, v1050_state, rtc_ppi_pa_3_w))
+ MCFG_MSM58321_BUSY_HANDLER(WRITELINE(*this, v1050_state, rtc_ppi_pc_3_w))
I8255A(config, m_ppi_disp);
m_ppi_disp->in_pa_callback().set(I8255A_M6502_TAG, FUNC(i8255_device::pb_r));
@@ -1078,8 +1077,8 @@ void v1050_state::v1050(machine_config &config)
m_uart_kb->txd_handler().set(V1050_KEYBOARD_TAG, FUNC(v1050_keyboard_device::si_w));
m_uart_kb->rxrdy_handler().set(FUNC(v1050_state::kb_rxrdy_w));
- clock_device &clock_kb(CLOCK(config, CLOCK_KB_TAG, 16_MHz_XTAL/4/13/8));
- clock_kb.signal_handler().set(FUNC(v1050_state::write_keyboard_clock));
+ MCFG_DEVICE_ADD(CLOCK_KB_TAG, CLOCK, 16_MHz_XTAL/4/13/8)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, v1050_state, write_keyboard_clock))
// keyboard
v1050_keyboard_device &keyboard(V1050_KEYBOARD(config, V1050_KEYBOARD_TAG, 0));
@@ -1096,50 +1095,48 @@ void v1050_state::v1050(machine_config &config)
rs232.rxd_handler().set(m_uart_sio, FUNC(i8251_device::write_rxd));
rs232.dsr_handler().set(m_uart_sio, FUNC(i8251_device::write_dsr));
- CLOCK(config, m_clock_sio, 16_MHz_XTAL/4);
- m_clock_sio->signal_handler().set(FUNC(v1050_state::write_sio_clock));
+ MCFG_DEVICE_ADD(CLOCK_SIO_TAG, CLOCK, 16_MHz_XTAL/4)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, v1050_state, write_sio_clock))
MB8877(config, m_fdc, 16_MHz_XTAL/16);
m_fdc->intrq_wr_callback().set(FUNC(v1050_state::fdc_intrq_w));
m_fdc->drq_wr_callback().set(FUNC(v1050_state::fdc_drq_w));
- FLOPPY_CONNECTOR(config, MB8877_TAG":0", v1050_floppies, "525qd", floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, MB8877_TAG":1", v1050_floppies, "525qd", floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, MB8877_TAG":2", v1050_floppies, nullptr, floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, MB8877_TAG":3", v1050_floppies, nullptr, floppy_image_device::default_floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", v1050_floppies, "525qd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", v1050_floppies, "525qd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", v1050_floppies, nullptr, floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":3", v1050_floppies, nullptr, floppy_image_device::default_floppy_formats)
// SASI bus
SCSI_PORT(config, m_sasibus, 0);
- m_sasibus->set_data_input_buffer(m_sasi_data_in);
- m_sasibus->req_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit0)).exor(1);
- m_sasibus->bsy_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit1));
- m_sasibus->msg_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit2));
- m_sasibus->cd_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit3));
+ m_sasibus->set_data_input_buffer("scsi_data_in");
+ m_sasibus->req_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit0)).exor(1);
+ m_sasibus->bsy_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit1));
+ m_sasibus->msg_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit2));
+ m_sasibus->cd_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit3));
m_sasibus->io_handler().set(FUNC(v1050_state::write_sasi_io)).exor(1); // bit4
- m_sasibus->set_slot_device(1, "harddisk", S1410, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_0));
+ MCFG_SCSIDEV_ADD(SASIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", S1410, SCSI_ID_0)
- OUTPUT_LATCH(config, m_sasi_data_out);
- m_sasibus->set_output_latch(*m_sasi_data_out);
- INPUT_BUFFER(config, m_sasi_data_in);
- INPUT_BUFFER(config, m_sasi_ctrl_in);
+ MCFG_SCSI_OUTPUT_LATCH_ADD("scsi_data_out", SASIBUS_TAG)
+ MCFG_DEVICE_ADD("scsi_data_in", INPUT_BUFFER, 0)
+ MCFG_DEVICE_ADD("scsi_ctrl_in", INPUT_BUFFER, 0)
- TIMER(config, m_timer_ack).configure_generic(FUNC(v1050_state::sasi_ack_tick));
- TIMER(config, m_timer_rst).configure_generic(FUNC(v1050_state::sasi_rst_tick));
+ MCFG_TIMER_DRIVER_ADD(TIMER_ACK_TAG, v1050_state, sasi_ack_tick)
+ MCFG_TIMER_DRIVER_ADD(TIMER_RST_TAG, v1050_state, sasi_rst_tick)
// software lists
- SOFTWARE_LIST(config, "flop_list").set_original("v1050_flop");
- SOFTWARE_LIST(config, "hdd_list").set_original("v1050_hdd");
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "v1050_flop")
+ MCFG_SOFTWARE_LIST_ADD("hdd_list", "v1050_hdd")
// printer
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(v1050_state::write_centronics_busy));
- m_centronics->perror_handler().set(FUNC(v1050_state::write_centronics_perror));
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, v1050_state, write_centronics_busy))
+ MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, v1050_state, write_centronics_perror))
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(cent_data_out);
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
// internal ram
RAM(config, RAM_TAG).set_default_size("128K");
-}
+MACHINE_CONFIG_END
// ROMs