diff options
author | andreasnaive <andreasnaive@gmail.com> | 2019-03-25 23:13:40 +0100 |
---|---|---|
committer | andreasnaive <andreasnaive@gmail.com> | 2019-03-25 23:13:40 +0100 |
commit | b380514764cf857469bae61c11143a19f79a74c5 (patch) | |
tree | 63c8012e262618f08a332da31dd714281aa2c5ed /src/mame/drivers/coco12.cpp | |
parent | c24473ddff715ecec2e258a6eb38960cf8c8e98e (diff) |
Revert "conflict resolution (nw)"
This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing
changes made to 009cba4fb8102102168ef32870892438327f3705.
Diffstat (limited to 'src/mame/drivers/coco12.cpp')
-rw-r--r-- | src/mame/drivers/coco12.cpp | 123 |
1 files changed, 59 insertions, 64 deletions
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp index 45e0049cbef..2c4131efb74 100644 --- a/src/mame/drivers/coco12.cpp +++ b/src/mame/drivers/coco12.cpp @@ -378,28 +378,27 @@ void t4426_cart(device_slot_interface &device) } //------------------------------------------------- -// machine_config( coco_sound ) +// MACHINE_CONFIG_START( coco_sound ) //------------------------------------------------- -void coco_state::coco_sound(machine_config &config) -{ +MACHINE_CONFIG_START(coco_state::coco_sound) SPEAKER(config, "speaker").front_center(); // 6-bit D/A: R10-15 = 10K, 20K, 40.2K, 80.6K, 162K, 324K (according to parts list); output also controls joysticks - DAC_6BIT_BINARY_WEIGHTED(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.125); - voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); - vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); - vref.add_route(0, "sbs", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "sbs", -1.0, DAC_VREF_NEG_INPUT); + MCFG_DEVICE_ADD("dac", DAC_6BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) + MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "sbs", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "sbs", -1.0, DAC_VREF_NEG_INPUT) // Single-bit sound: R22 = 10K DAC_1BIT(config, "sbs", 0).add_route(ALL_OUTPUTS, "speaker", 0.125); WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25); -} +MACHINE_CONFIG_END //------------------------------------------------- -// machine_config ( coco_floating ) +// MACHINE_CONFIG ( coco_floating ) //------------------------------------------------- void coco_state::coco_floating_map(address_map &map) @@ -427,17 +426,17 @@ static DEVICE_INPUT_DEFAULTS_START( printer ) DEVICE_INPUT_DEFAULTS_END //------------------------------------------------- -// machine_config +// MACHINE_CONFIG //------------------------------------------------- -void coco12_state::coco(machine_config &config) -{ - this->set_clock(XTAL(14'318'181) / 16); +MACHINE_CONFIG_START(coco12_state::coco) + MCFG_DEVICE_MODIFY(":") + MCFG_DEVICE_CLOCK(XTAL(14'318'181) / 16) // basic machine hardware - MC6809E(config, m_maincpu, DERIVED_CLOCK(1, 1)); - m_maincpu->set_addrmap(AS_PROGRAM, &coco12_state::coco_mem); - m_maincpu->set_dasm_override(FUNC(coco_state::dasm_override)); + MCFG_DEVICE_ADD(MAINCPU_TAG, MC6809E, DERIVED_CLOCK(1, 1)) + MCFG_DEVICE_PROGRAM_MAP(coco_mem) + MCFG_DEVICE_DISASSEMBLE_OVERRIDE(coco_state, dasm_override) // devices pia6821_device &pia0(PIA6821(config, PIA0_TAG, 0)); @@ -462,11 +461,11 @@ void coco12_state::coco(machine_config &config) m_sam->res_rd_callback().set(FUNC(coco12_state::sam_read)); // Becker Port device - COCO_DWSOCK(config, DWSOCK_TAG, 0); + MCFG_DEVICE_ADD(DWSOCK_TAG, COCO_DWSOCK, 0) - CASSETTE(config, m_cassette); - m_cassette->set_formats(coco_cassette_formats); - m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED); + MCFG_CASSETTE_ADD("cassette") + MCFG_CASSETTE_FORMATS(coco_cassette_formats) + MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED) rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, "printer")); rs232.dcd_handler().set(PIA1_TAG, FUNC(pia6821_device::ca1_w)); @@ -478,13 +477,12 @@ void coco12_state::coco(machine_config &config) cartslot.halt_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); // video hardware - SCREEN(config, "screen", SCREEN_TYPE_RASTER); + MCFG_SCREEN_MC6847_NTSC_ADD(SCREEN_TAG, VDG_TAG) - MC6847_NTSC(config, m_vdg, XTAL(14'318'181) / 4); // VClk output from MC6883 - m_vdg->set_screen("screen"); - m_vdg->hsync_wr_callback().set(FUNC(coco12_state::horizontal_sync)); - m_vdg->fsync_wr_callback().set(FUNC(coco12_state::field_sync)); - m_vdg->input_callback().set(m_sam, FUNC(sam6883_device::display_read)); + MCFG_DEVICE_ADD(VDG_TAG, MC6847_NTSC, XTAL(14'318'181) / 4) // VClk output from MC6883 + MCFG_MC6847_HSYNC_CALLBACK(WRITELINE(*this, coco12_state, horizontal_sync)) + MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(*this, coco12_state, field_sync)) + MCFG_MC6847_INPUT_CALLBACK(READ8(m_sam, sam6883_device, display_read)) // sound hardware coco_sound(config); @@ -496,18 +494,19 @@ void coco12_state::coco(machine_config &config) coco_floating(config); // software lists - SOFTWARE_LIST(config, "coco_cart_list").set_original("coco_cart").set_filter("COCO"); - SOFTWARE_LIST(config, "coco_flop_list").set_original("coco_flop").set_filter("COCO"); - SOFTWARE_LIST(config, "dragon_cart_list").set_compatible("dragon_cart"); -} - -void coco12_state::cocoh(machine_config &config) -{ + MCFG_SOFTWARE_LIST_ADD("coco_cart_list", "coco_cart") + MCFG_SOFTWARE_LIST_FILTER("coco_cart_list", "COCO") + MCFG_SOFTWARE_LIST_ADD("coco_flop_list", "coco_flop") + MCFG_SOFTWARE_LIST_FILTER("coco_flop_list", "COCO") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("dragon_cart_list", "dragon_cart") +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(coco12_state::cocoh) coco(config); - HD6309E(config.replace(), m_maincpu, DERIVED_CLOCK(1, 1)); - m_maincpu->set_addrmap(AS_PROGRAM, &coco12_state::coco_mem); + MCFG_DEVICE_REPLACE(MAINCPU_TAG, HD6309E, DERIVED_CLOCK(1, 1)) + MCFG_DEVICE_PROGRAM_MAP(coco_mem) m_ram->set_default_size("64K"); -} +MACHINE_CONFIG_END void coco12_state::cocoe(machine_config &config) { @@ -516,17 +515,16 @@ void coco12_state::cocoe(machine_config &config) cartslot.cart_callback().set([this] (int state) { cart_w(state != 0); }); // lambda because name is overloaded cartslot.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); cartslot.halt_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); - COCO_VHD(config, m_vhd_0, 0, m_maincpu); - COCO_VHD(config, m_vhd_1, 0, m_maincpu); + COCO_VHD(config, m_vhd_0, 0); + COCO_VHD(config, m_vhd_1, 0); } -void coco12_state::cocoeh(machine_config &config) -{ +MACHINE_CONFIG_START(coco12_state::cocoeh) cocoe(config); - HD6309E(config.replace(), m_maincpu, DERIVED_CLOCK(1, 1)); - m_maincpu->set_addrmap(AS_PROGRAM, &coco12_state::coco_mem); + MCFG_DEVICE_REPLACE(MAINCPU_TAG, HD6309E, DERIVED_CLOCK(1, 1)) + MCFG_DEVICE_PROGRAM_MAP(coco_mem) m_ram->set_default_size("64K"); -} +MACHINE_CONFIG_END void coco12_state::coco2(machine_config &config) { @@ -535,35 +533,32 @@ void coco12_state::coco2(machine_config &config) cartslot.cart_callback().set([this] (int state) { cart_w(state != 0); }); // lambda because name is overloaded cartslot.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); cartslot.halt_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); - COCO_VHD(config, m_vhd_0, 0, m_maincpu); - COCO_VHD(config, m_vhd_1, 0, m_maincpu); + COCO_VHD(config, m_vhd_0, 0); + COCO_VHD(config, m_vhd_1, 0); } -void coco12_state::coco2h(machine_config &config) -{ +MACHINE_CONFIG_START(coco12_state::coco2h) coco2(config); - HD6309E(config.replace(), m_maincpu, DERIVED_CLOCK(1, 1)); - m_maincpu->set_addrmap(AS_PROGRAM, &coco12_state::coco_mem); + MCFG_DEVICE_REPLACE(MAINCPU_TAG, HD6309E, DERIVED_CLOCK(1, 1)) + MCFG_DEVICE_PROGRAM_MAP(coco_mem) m_ram->set_default_size("64K"); -} +MACHINE_CONFIG_END -void coco12_state::coco2b(machine_config &config) -{ +MACHINE_CONFIG_START(coco12_state::coco2b) coco2(config); - MC6847T1_NTSC(config.replace(), m_vdg, XTAL(14'318'181) / 4); - m_vdg->set_screen(SCREEN_TAG); - m_vdg->hsync_wr_callback().set(FUNC(coco12_state::horizontal_sync)); - m_vdg->fsync_wr_callback().set(FUNC(coco12_state::field_sync)); - m_vdg->input_callback().set(m_sam, FUNC(sam6883_device::display_read)); -} - -void coco12_state::coco2bh(machine_config &config) -{ + MCFG_DEVICE_REMOVE(VDG_TAG) + MCFG_DEVICE_ADD(VDG_TAG, MC6847T1_NTSC, XTAL(14'318'181) / 4) + MCFG_MC6847_HSYNC_CALLBACK(WRITELINE(*this, coco12_state, horizontal_sync)) + MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(*this, coco12_state, field_sync)) + MCFG_MC6847_INPUT_CALLBACK(READ8(m_sam, sam6883_device, display_read)) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(coco12_state::coco2bh) coco2b(config); - HD6309E(config.replace(), m_maincpu, DERIVED_CLOCK(1, 1)); - m_maincpu->set_addrmap(AS_PROGRAM, &coco12_state::coco_mem); + MCFG_DEVICE_REPLACE(MAINCPU_TAG, HD6309E, DERIVED_CLOCK(1, 1)) + MCFG_DEVICE_PROGRAM_MAP(coco_mem) m_ram->set_default_size("64K"); -} +MACHINE_CONFIG_END void coco12_state::cp400(machine_config &config) { |