diff options
Diffstat (limited to 'src/mame/drivers/kyocera.cpp')
-rw-r--r-- | src/mame/drivers/kyocera.cpp | 139 |
1 files changed, 69 insertions, 70 deletions
diff --git a/src/mame/drivers/kyocera.cpp b/src/mame/drivers/kyocera.cpp index d017de70f9c..701fffaa459 100644 --- a/src/mame/drivers/kyocera.cpp +++ b/src/mame/drivers/kyocera.cpp @@ -1345,21 +1345,21 @@ TIMER_DEVICE_CALLBACK_MEMBER(tandy200_state::tandy200_tp_tick) m_tp = !m_tp; } -MACHINE_CONFIG_START(kc85_state::kc85) +void kc85_state::kc85(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu, I8085A, XTAL(4'915'200)) - MCFG_DEVICE_PROGRAM_MAP(kc85_mem) - MCFG_DEVICE_IO_MAP(kc85_io) - MCFG_I8085A_SID(READLINE(*this, kc85_state,kc85_sid_r)) - MCFG_I8085A_SOD(WRITELINE(*this, kc85_state,kc85_sod_w)) + I8085A(config, m_maincpu, XTAL(4'915'200)); + m_maincpu->set_addrmap(AS_PROGRAM, &kc85_state::kc85_mem); + m_maincpu->set_addrmap(AS_IO, &kc85_state::kc85_io); + m_maincpu->in_sid_func().set(FUNC(kc85_state::kc85_sid_r)); + m_maincpu->out_sod_func().set(FUNC(kc85_state::kc85_sod_w)); /* video hardware */ kc85_video(config); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); /* devices */ i8155_device &i8155(I8155(config, I8155_TAG, XTAL(4'915'200)/2)); @@ -1377,39 +1377,38 @@ MACHINE_CONFIG_START(kc85_state::kc85) rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); rs232.rxd_handler().set(m_uart, FUNC(im6402_device::write_rri)); - MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, kc85_state, write_centronics_busy)) - MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, kc85_state, write_centronics_select)) + CENTRONICS(config, m_centronics, centronics_devices, "printer"); + m_centronics->busy_handler().set(FUNC(kc85_state::write_centronics_busy)); + m_centronics->select_handler().set(FUNC(kc85_state::write_centronics_select)); - MCFG_CASSETTE_ADD("cassette") - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED) + CASSETTE(config, m_cassette); + m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)); /* option ROM cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("opt_cartslot", generic_linear_slot, "trsm100_cart") - MCFG_GENERIC_EXTENSIONS("bin,rom") + GENERIC_CARTSLOT(config, m_opt_cart, generic_linear_slot, "trsm100_cart", "bin,rom"); /* software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list", "trsm100") + SOFTWARE_LIST(config, "cart_list").set_original("trsm100"); /* internal ram */ RAM(config, m_ram).set_default_size("16K").set_extra_options("32K"); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(pc8201_state::pc8201) +void pc8201_state::pc8201(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu, I8085A, XTAL(4'915'200)) - MCFG_DEVICE_PROGRAM_MAP(pc8201_mem) - MCFG_DEVICE_IO_MAP(pc8201_io) - MCFG_I8085A_SID(READLINE(*this, kc85_state,kc85_sid_r)) - MCFG_I8085A_SOD(WRITELINE(*this, kc85_state,kc85_sod_w)) + I8085A(config, m_maincpu, XTAL(4'915'200)); + m_maincpu->set_addrmap(AS_PROGRAM, &pc8201_state::pc8201_mem); + m_maincpu->set_addrmap(AS_IO, &pc8201_state::pc8201_io); + m_maincpu->in_sid_func().set(FUNC(kc85_state::kc85_sid_r)); + m_maincpu->out_sod_func().set(FUNC(kc85_state::kc85_sod_w)); /* video hardware */ kc85_video(config); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); /* devices */ i8155_device &i8155(I8155(config, I8155_TAG, XTAL(4'915'200)/2)); @@ -1427,27 +1426,25 @@ MACHINE_CONFIG_START(pc8201_state::pc8201) rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); rs232.rxd_handler().set(m_uart, FUNC(im6402_device::write_rri)); - MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, kc85_state, write_centronics_busy)) - MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, kc85_state, write_centronics_select)) + CENTRONICS(config, m_centronics, centronics_devices, "printer"); + m_centronics->busy_handler().set(FUNC(kc85_state::write_centronics_busy)); + m_centronics->select_handler().set(FUNC(kc85_state::write_centronics_select)); - MCFG_CASSETTE_ADD("cassette") - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED) + CASSETTE(config, m_cassette); + m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)); /* option ROM cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("opt_cartslot", generic_linear_slot, "pc8201_cart") - MCFG_GENERIC_EXTENSIONS("bin,rom") + GENERIC_CARTSLOT(config, m_opt_cart, generic_linear_slot, "pc8201_cart", "bin,rom"); /* 128KB ROM cassette */ - MCFG_GENERIC_CARTSLOT_ADD("cas_cartslot", generic_linear_slot, "pc8201_cart2") - MCFG_GENERIC_EXTENSIONS("bin,rom") + GENERIC_CARTSLOT(config, "cas_cartslot", generic_linear_slot, "pc8201_cart2", "bin,rom"); /* software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list", "pc8201") + SOFTWARE_LIST(config, "cart_list").set_original("pc8201"); /* internal ram */ RAM(config, m_ram).set_default_size("16K").set_extra_options("32K,64K,96K"); -MACHINE_CONFIG_END +} void pc8201_state::pc8300(machine_config &config) { @@ -1455,21 +1452,21 @@ void pc8201_state::pc8300(machine_config &config) m_ram->set_default_size("32K").set_extra_options("64K,96K"); } -MACHINE_CONFIG_START(trsm100_state::trsm100) +void trsm100_state::trsm100(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu, I8085A, XTAL(4'915'200)) - MCFG_DEVICE_PROGRAM_MAP(kc85_mem) - MCFG_DEVICE_IO_MAP(trsm100_io) - MCFG_I8085A_SID(READLINE(*this, kc85_state,kc85_sid_r)) - MCFG_I8085A_SOD(WRITELINE(*this, kc85_state,kc85_sod_w)) + I8085A(config, m_maincpu, XTAL(4'915'200)); + m_maincpu->set_addrmap(AS_PROGRAM, &trsm100_state::kc85_mem); + m_maincpu->set_addrmap(AS_IO, &trsm100_state::trsm100_io); + m_maincpu->in_sid_func().set(FUNC(kc85_state::kc85_sid_r)); + m_maincpu->out_sod_func().set(FUNC(kc85_state::kc85_sod_w)); /* video hardware */ kc85_video(config); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); /* devices */ i8155_device &i8155(I8155(config, I8155_TAG, XTAL(4'915'200)/2)); @@ -1487,22 +1484,22 @@ MACHINE_CONFIG_START(trsm100_state::trsm100) rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); rs232.rxd_handler().set(m_uart, FUNC(im6402_device::write_rri)); - MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") - MCFG_CASSETTE_ADD("cassette") - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED) + CENTRONICS(config, m_centronics, centronics_devices, "printer"); + + CASSETTE(config, m_cassette); + m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)); // MCFG_MC14412_ADD(MC14412_TAG, XTAL(1'000'000)) /* option ROM cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("opt_cartslot", generic_linear_slot, "trsm100_cart") - MCFG_GENERIC_EXTENSIONS("bin,rom") + GENERIC_CARTSLOT(config, m_opt_cart, generic_linear_slot, "trsm100_cart", "bin,rom"); /* software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list", "trsm100") + SOFTWARE_LIST(config, "cart_list").set_original("trsm100"); /* internal ram */ RAM(config, m_ram).set_default_size("8K").set_extra_options("16K,24K,32K"); -MACHINE_CONFIG_END +} void trsm100_state::tandy102(machine_config &config) { @@ -1510,24 +1507,26 @@ void trsm100_state::tandy102(machine_config &config) m_ram->set_default_size("24K").set_extra_options("32K"); } -MACHINE_CONFIG_START(tandy200_state::tandy200) +void tandy200_state::tandy200(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu, I8085A, XTAL(4'915'200)) - MCFG_DEVICE_PROGRAM_MAP(tandy200_mem) - MCFG_DEVICE_IO_MAP(tandy200_io) - MCFG_I8085A_SID(READLINE(*this, tandy200_state,kc85_sid_r)) - MCFG_I8085A_SOD(WRITELINE(*this, tandy200_state,kc85_sod_w)) + I8085A(config, m_maincpu, XTAL(4'915'200)); + m_maincpu->set_addrmap(AS_PROGRAM, &tandy200_state::tandy200_mem); + m_maincpu->set_addrmap(AS_IO, &tandy200_state::tandy200_io); + m_maincpu->in_sid_func().set(FUNC(tandy200_state::kc85_sid_r)); + m_maincpu->out_sod_func().set(FUNC(tandy200_state::kc85_sod_w)); /* video hardware */ tandy200_video(config); /* TP timer */ - MCFG_TIMER_DRIVER_ADD_PERIODIC("tp", tandy200_state, tandy200_tp_tick, attotime::from_hz(XTAL(4'915'200)/2/8192)) + TIMER(config, "tp").configure_periodic(FUNC(tandy200_state::tandy200_tp_tick), attotime::from_hz(XTAL(4'915'200)/2/8192)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); + // MCFG_TCM5089_ADD(TCM5089_TAG, XTAL(3'579'545)) /* devices */ @@ -1549,25 +1548,25 @@ MACHINE_CONFIG_START(tandy200_state::tandy200) rs232.dsr_handler().set(I8251_TAG, FUNC(i8251_device::write_dsr)); // MCFG_MC14412_ADD(MC14412_TAG, XTAL(1'000'000)) - MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, tandy200_state, write_centronics_busy)) - MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, tandy200_state, write_centronics_select)) + CENTRONICS(config, m_centronics, centronics_devices, "printer"); + m_centronics->busy_handler().set(FUNC(tandy200_state::write_centronics_busy)); + m_centronics->select_handler().set(FUNC(tandy200_state::write_centronics_select)); - MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) + 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_DISABLED | CASSETTE_SPEAKER_ENABLED) + CASSETTE(config, m_cassette); + m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)); /* option ROM cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("opt_cartslot", generic_linear_slot, "tandy200_cart") - MCFG_GENERIC_EXTENSIONS("bin,rom") + GENERIC_CARTSLOT(config, m_opt_cart, generic_linear_slot, "tandy200_cart", "bin,rom"); /* software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list", "tandy200") + SOFTWARE_LIST(config, "cart_list").set_original("tandy200"); /* internal ram */ RAM(config, m_ram).set_default_size("24K").set_extra_options("48K,72K"); -MACHINE_CONFIG_END +} /* ROMs */ |