From 61a464ce4188fcda8cd59999d3e34810578838d1 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Sun, 25 Apr 2021 01:28:44 +1000 Subject: New working software list additions ----------------------------------- Frogger Android Nim Meteor Mission 2 LDOS 5.3.1 Lensman/DOS TRSDOS 6.21 CP/M 2.2 --- hash/trs80_cass.xml | 55 +++++++++++++++++++++++++++++++ hash/trs80_flop.xml | 75 +++++++++++++++++++++++++++++++++++++++++++ hash/trs80_quik.xml | 37 +++++++++++++++++++++ src/mame/drivers/lnw80.cpp | 9 +++++- src/mame/drivers/meritum.cpp | 6 +++- src/mame/drivers/radionic.cpp | 9 +++++- src/mame/drivers/trs80.cpp | 15 ++++++++- src/mame/drivers/trs80m3.cpp | 15 ++++++++- 8 files changed, 216 insertions(+), 5 deletions(-) create mode 100644 hash/trs80_cass.xml create mode 100644 hash/trs80_flop.xml create mode 100644 hash/trs80_quik.xml diff --git a/hash/trs80_cass.xml b/hash/trs80_cass.xml new file mode 100644 index 00000000000..4f720cc6fb2 --- /dev/null +++ b/hash/trs80_cass.xml @@ -0,0 +1,55 @@ + + + + + + + Android Nim + 1978 + 80-NW Publishing Co + + + + + + + + + + + Meteor Mission 2 + 1982 + Big Five Software + + + + + + + + + + + diff --git a/hash/trs80_flop.xml b/hash/trs80_flop.xml new file mode 100644 index 00000000000..f6a9891baab --- /dev/null +++ b/hash/trs80_flop.xml @@ -0,0 +1,75 @@ + + + + + + + LDOS 5.3.1 + 1991 + Misosys + + + + + + + + + + + Lensman/DOS + 19?? + <unknown> + + + + + + + + + + + TRSDOS 6.21 + 1986 + Radio Shack + + + + + + + + + + + CP/M 2.2 + 1982 + Digital Research + + + + + + + + + + diff --git a/hash/trs80_quik.xml b/hash/trs80_quik.xml new file mode 100644 index 00000000000..09c4e13b449 --- /dev/null +++ b/hash/trs80_quik.xml @@ -0,0 +1,37 @@ + + + + + + + Frogger + 1981 + Misosys + + + + + + + + + + diff --git a/src/mame/drivers/lnw80.cpp b/src/mame/drivers/lnw80.cpp index 5ce6aa3a47d..f6c88298c6b 100644 --- a/src/mame/drivers/lnw80.cpp +++ b/src/mame/drivers/lnw80.cpp @@ -601,8 +601,11 @@ void lnw80_state::lnw80(machine_config &config) m_cassette->set_formats(trs80l2_cassette_formats); m_cassette->set_default_state(CASSETTE_PLAY); m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05); + m_cassette->set_interface("trs80_cass"); - QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(lnw80_state::quickload_cb)); + quickload_image_device &quickload(QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1))); + quickload.set_load_callback(FUNC(lnw80_state::quickload_cb)); + quickload.set_interface("trs80_quik"); FD1771(config, m_fdc, 4_MHz_XTAL / 4); m_fdc->intrq_wr_callback().set(FUNC(lnw80_state::intrq_w)); @@ -639,6 +642,10 @@ void lnw80_state::lnw80(machine_config &config) m_lnw_bank->set_data_width(8); m_lnw_bank->set_addr_width(16); m_lnw_bank->set_stride(0x4000); + + SOFTWARE_LIST(config, "cass_list").set_original("trs80_cass").set_filter("1"); // L + SOFTWARE_LIST(config, "quik_list").set_original("trs80_quik").set_filter("1"); // L + SOFTWARE_LIST(config, "flop_list").set_original("trs80_flop").set_filter("1"); // L } diff --git a/src/mame/drivers/meritum.cpp b/src/mame/drivers/meritum.cpp index 21e4299812c..6d4487acd20 100644 --- a/src/mame/drivers/meritum.cpp +++ b/src/mame/drivers/meritum.cpp @@ -527,9 +527,13 @@ void meritum_state::meritum1(machine_config &config) // media CASSETTE(config, m_cassette); + m_cassette->set_default_state(CASSETTE_PLAY); m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05); - QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(meritum_state::quickload_cb)); + quickload_image_device &quickload(QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1))); + quickload.set_load_callback(FUNC(meritum_state::quickload_cb)); + quickload.set_interface("trs80_quik"); + SOFTWARE_LIST(config, "quik_list").set_original("trs80_quik").set_filter("M"); } void meritum_state::meritum2(machine_config &config) diff --git a/src/mame/drivers/radionic.cpp b/src/mame/drivers/radionic.cpp index ae7115f3f26..24c23edb062 100644 --- a/src/mame/drivers/radionic.cpp +++ b/src/mame/drivers/radionic.cpp @@ -503,8 +503,11 @@ void radionic_state::radionic(machine_config &config) m_cassette->set_formats(trs80l2_cassette_formats); m_cassette->set_default_state(CASSETTE_PLAY); m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05); + m_cassette->set_interface("trs80_cass"); - QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(radionic_state::quickload_cb)); + quickload_image_device &quickload(QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1))); + quickload.set_load_callback(FUNC(radionic_state::quickload_cb)); + quickload.set_interface("trs80_quik"); FD1771(config, m_fdc, 16_MHz_XTAL / 16); m_fdc->intrq_wr_callback().set(FUNC(radionic_state::intrq_w)); @@ -545,6 +548,10 @@ void radionic_state::radionic(machine_config &config) m_ppi->out_pa_callback().set(FUNC(radionic_state::ppi_pa_w)); // Data for external plugin printer module m_ppi->out_pb_callback().set(FUNC(radionic_state::ppi_pb_w)); // Control data to external m_ppi->out_pc_callback().set(FUNC(radionic_state::ppi_pc_w)); // Printer strobe + + SOFTWARE_LIST(config, "cass_list").set_original("trs80_cass").set_filter("1"); // R + SOFTWARE_LIST(config, "quik_list").set_original("trs80_quik").set_filter("1"); // R + SOFTWARE_LIST(config, "flop_list").set_original("trs80_flop").set_filter("1"); // R } diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp index 173f39a2b67..fa281f9b8a9 100644 --- a/src/mame/drivers/trs80.cpp +++ b/src/mame/drivers/trs80.cpp @@ -441,6 +441,10 @@ void trs80_state::trs80(machine_config &config) // the original model I, l m_cassette->set_formats(trs80l1_cassette_formats); m_cassette->set_default_state(CASSETTE_PLAY); m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05); + m_cassette->set_interface("trs80_cass"); + + /* software lists */ + SOFTWARE_LIST(config, "cass_list").set_original("trs80_cass").set_filter("0"); } void trs80_state::model1(machine_config &config) // model I, level II @@ -454,7 +458,9 @@ void trs80_state::model1(machine_config &config) // model I, level II /* devices */ m_cassette->set_formats(trs80l2_cassette_formats); - QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(trs80_state::quickload_cb)); + quickload_image_device &quickload(QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1))); + quickload.set_load_callback(FUNC(trs80_state::quickload_cb)); + quickload.set_interface("trs80_quik"); FD1771(config, m_fdc, 4_MHz_XTAL / 4); m_fdc->intrq_wr_callback().set(FUNC(trs80_state::intrq_w)); @@ -485,6 +491,10 @@ void trs80_state::model1(machine_config &config) // model I, level II //MCFG_AY31015_WRITE_DAV_CB(WRITELINE( , , )) m_uart->set_auto_rdav(true); RS232_PORT(config, "rs232", default_rs232_devices, nullptr); + + SOFTWARE_LIST(config.replace(), "cass_list").set_original("trs80_cass").set_filter("1"); + SOFTWARE_LIST(config, "quik_list").set_original("trs80_quik").set_filter("1"); + SOFTWARE_LIST(config, "flop_list").set_original("trs80_flop").set_filter("1"); } void trs80_state::sys80(machine_config &config) @@ -516,6 +526,9 @@ void trs80_state::ht1080z(machine_config &config) AY8910(config, "ay1", 1'500'000).add_route(ALL_OUTPUTS, "mono", 0.25); // guess of clock //ay1.port_a_read_callback(FUNC(trs80_state::...); // ports are some kind of expansion slot //ay1.port_b_read_callback(FUNC(trs80_state::...); + + SOFTWARE_LIST(config.replace(), "cass_list").set_original("trs80_cass").set_filter("H"); + SOFTWARE_LIST(config.replace(), "quik_list").set_original("trs80_quik").set_filter("H"); } diff --git a/src/mame/drivers/trs80m3.cpp b/src/mame/drivers/trs80m3.cpp index 0e70d31d686..5cc3f7a0d43 100644 --- a/src/mame/drivers/trs80m3.cpp +++ b/src/mame/drivers/trs80m3.cpp @@ -376,8 +376,11 @@ void trs80m3_state::model3(machine_config &config) m_cassette->set_formats(trs80l2_cassette_formats); m_cassette->set_default_state(CASSETTE_PLAY); m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05); + m_cassette->set_interface("trs80_cass"); - QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1)).set_load_callback(FUNC(trs80m3_state::quickload_cb)); + quickload_image_device &quickload(QUICKLOAD(config, "quickload", "cmd", attotime::from_seconds(1))); + quickload.set_load_callback(FUNC(trs80m3_state::quickload_cb)); + quickload.set_interface("trs80_quik"); FD1793(config, m_fdc, 4_MHz_XTAL / 4); m_fdc->intrq_wr_callback().set(FUNC(trs80m3_state::intrq_w)); @@ -408,6 +411,10 @@ void trs80m3_state::model3(machine_config &config) //MCFG_AY31015_WRITE_DAV_CB(WRITELINE( , , )) m_uart->set_auto_rdav(true); RS232_PORT(config, "rs232", default_rs232_devices, nullptr); + + SOFTWARE_LIST(config, "cass_list").set_original("trs80_cass").set_filter("3"); + SOFTWARE_LIST(config, "quik_list").set_original("trs80_quik").set_filter("3"); + SOFTWARE_LIST(config, "flop_list").set_original("trs80_flop").set_filter("3"); } void trs80m3_state::model4(machine_config &config) @@ -427,7 +434,10 @@ void trs80m3_state::model4(machine_config &config) m_m4_bank->set_addr_width(18); m_m4_bank->set_stride(0x10000); + SOFTWARE_LIST(config.replace(), "cass_list").set_original("trs80_cass").set_filter("4"); + SOFTWARE_LIST(config.replace(), "flop_list").set_original("trs80_flop").set_filter("4"); config.device_remove("quickload"); // removed because it crashes.. + config.device_remove("quik_list"); } void trs80m3_state::model4p(machine_config &config) @@ -447,8 +457,11 @@ void trs80m3_state::model4p(machine_config &config) m_m4p_bank->set_addr_width(19); m_m4p_bank->set_stride(0x10000); + SOFTWARE_LIST(config.replace(), "flop_list").set_original("trs80_flop").set_filter("4"); config.device_remove("quickload"); config.device_remove("cassette"); + config.device_remove("cass_list"); + config.device_remove("quik_list"); } void trs80m3_state::cp500(machine_config &config) -- cgit v1.2.3