summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mc1502.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mc1502.cpp')
-rw-r--r--src/mame/drivers/mc1502.cpp43
1 files changed, 23 insertions, 20 deletions
diff --git a/src/mame/drivers/mc1502.cpp b/src/mame/drivers/mc1502.cpp
index 8d14a8620f3..21dc9813aeb 100644
--- a/src/mame/drivers/mc1502.cpp
+++ b/src/mame/drivers/mc1502.cpp
@@ -229,7 +229,8 @@ static INPUT_PORTS_START( mc1502 )
PORT_INCLUDE( mc7007_3_keyboard )
INPUT_PORTS_END
-MACHINE_CONFIG_START(mc1502_state::mc1502)
+void mc1502_state::mc1502(machine_config &config)
+{
I8088(config, m_maincpu, XTAL(16'000'000)/3);
m_maincpu->set_addrmap(AS_PROGRAM, &mc1502_state::mc1502_map);
m_maincpu->set_addrmap(AS_IO, &mc1502_state::mc1502_io);
@@ -238,7 +239,7 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
MCFG_MACHINE_START_OVERRIDE( mc1502_state, mc1502 )
MCFG_MACHINE_RESET_OVERRIDE( mc1502_state, mc1502 )
- PIT8253(config, m_pit8253, 0);
+ PIT8253(config, m_pit8253);
m_pit8253->set_clk<0>(XTAL(16'000'000)/12); /* heartbeat IRQ */
m_pit8253->out_handler<0>().set(m_pic8259, FUNC(pic8259_device::ir0_w));
m_pit8253->set_clk<1>(XTAL(16'000'000)/12); /* serial port */
@@ -246,7 +247,7 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
m_pit8253->set_clk<2>(XTAL(16'000'000)/12); /* pio port c pin 4, and speaker polling enough */
m_pit8253->out_handler<2>().set(FUNC(mc1502_state::mc1502_pit8253_out2_changed));
- PIC8259(config, m_pic8259, 0);
+ PIC8259(config, m_pic8259);
m_pic8259->out_int_callback().set_inputline(m_maincpu, 0);
I8255(config, m_ppi8255n1);
@@ -276,7 +277,8 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
rs232.cts_handler().set(m_upd8251, FUNC(i8251_device::write_cts));
isa8_device &isa(ISA8(config, "isa", 0));
- isa.set_cputag("maincpu");
+ isa.set_memspace("maincpu", AS_PROGRAM);
+ isa.set_iospace("maincpu", AS_IO);
isa.irq2_callback().set(m_pic8259, FUNC(pic8259_device::ir2_w));
isa.irq3_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w));
isa.irq4_callback().set(m_pic8259, FUNC(pic8259_device::ir4_w));
@@ -284,32 +286,33 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
isa.irq6_callback().set(m_pic8259, FUNC(pic8259_device::ir6_w));
isa.irq7_callback().set(m_pic8259, FUNC(pic8259_device::ir7_w));
- MCFG_DEVICE_ADD("board0", ISA8_SLOT, 0, "isa", mc1502_isa8_cards, "cga_mc1502", true) // FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", mc1502_isa8_cards, "fdc", false)
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "isa", mc1502_isa8_cards, "rom", false)
+ ISA8_SLOT(config, "board0", 0, "isa", mc1502_isa8_cards, "cga_mc1502", true); // FIXME: determine ISA bus clock
+ ISA8_SLOT(config, "isa1", 0, "isa", mc1502_isa8_cards, "fdc", false);
+ ISA8_SLOT(config, "isa2", 0, "isa", mc1502_isa8_cards, "rom", false);
SPEAKER(config, "mono").front_center();
- WAVE(config, "wave", "cassette"); // FIXME: really no output routes for the cassette sound?
+ WAVE(config, "wave", m_cassette); // FIXME: really no output routes for the cassette sound?
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.80);
- MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
- MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit6))
- MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit7))
- MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
- MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
+ CENTRONICS(config, m_centronics, centronics_devices, "printer");
+ m_centronics->ack_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit6));
+ m_centronics->busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit7));
+ m_centronics->fault_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit4));
+ m_centronics->perror_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit5));
- MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
+ INPUT_BUFFER(config, "cent_status_in");
- MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+ output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
+ m_centronics->set_output_latch(cent_data_out);
- MCFG_CASSETTE_ADD( "cassette" )
- MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ CASSETTE(config, m_cassette);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_SOFTWARE_LIST_ADD("flop_list","mc1502_flop")
-// MCFG_SOFTWARE_LIST_ADD("cass_list","mc1502_cass")
+ SOFTWARE_LIST(config, "flop_list").set_original("mc1502_flop");
+// SOFTWARE_LIST(config, "cass_list").set_original("mc1502_cass");
RAM(config, RAM_TAG).set_default_size("608K").set_extra_options("96K"); /* 96 base + 512 on expansion card */
-MACHINE_CONFIG_END
+}
/*