diff options
Diffstat (limited to 'src/mame/drivers/mc1502.cpp')
-rw-r--r-- | src/mame/drivers/mc1502.cpp | 43 |
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 ¢_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 +} /* |