New working software list additions

-----------------------------------
Frogger
Android Nim
Meteor Mission 2
LDOS 5.3.1
Lensman/DOS
TRSDOS 6.21
CP/M 2.2
This commit is contained in:
Robbbert 2021-04-25 01:28:44 +10:00
parent 31f42b1f24
commit 61a464ce41
8 changed files with 216 additions and 5 deletions

55
hash/trs80_cass.xml Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
Cassettes for the TRS-80 Model 1 Level 2, and clones.
Compatibility flags:
0 = trs80
1 = trs80l2 and clones
3 = trs80m3
4 = trs80m4
H = HT series
M = meritum
If no flag is specified, it's assumed it works on all of them.
Baud rates: trs80 (250 baud), meritum (700 baud), lnw80 at HI speed (1000 baud), all others (500 baud).
Tapes meant for one baud cannot be used on a machine that expects a different baud.
trs80m3 and trs80m4 have a question at start, it says Cass? if you answer L the speed is 500,
otherwise it is 1500.
Note that trs80m4p doesn't physically have a cassette interface, so no tapes can be used.
-->
<softwarelist name="trs80_cass" description="Radio Shack TRS-80 cassettes">
<software name="android">
<description>Android Nim</description>
<year>1978</year>
<publisher>80-NW Publishing Co</publisher>
<info name="author" value="Leo Christopherson" />
<info name="usage" value="(Model 3/4: Answer L at Cass? prompt) CLOAD then RUN" />
<sharedfeat name="compatibility" value="1,3,4,H" />
<part name="cass1" interface="trs80_cass">
<dataarea name="cass" size="0x3785">
<rom name="android1.cas" size="0x3785" crc="4f72e456" sha1="d53a619c8f3d734f08db6ade979cdb267097e2cf"/>
</dataarea>
</part>
</software>
<software name="meteor2">
<description>Meteor Mission 2</description>
<year>1982</year>
<publisher>Big Five Software</publisher>
<info name="author" value="Bill Hogue and Jeff Konyu" />
<info name="usage" value="(Model 3/4: Answer L at Cass? prompt) SYSTEM then METEOR then /" />
<sharedfeat name="compatibility" value="1,3,4,H" /><!-- Graphics are better on 3,4 -->
<part name="cass1" interface="trs80_cass">
<dataarea name="cass" size="0x2ff8">
<rom name="meteor2.cas" size="0x2ff8" crc="144417c0" sha1="26b441bd494ddbce478239c1727087e64a95e447"/>
</dataarea>
</part>
</software>
</softwarelist>

75
hash/trs80_flop.xml Normal file
View File

@ -0,0 +1,75 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
Floppies for the TRS-80 Model 1 Level 2, and clones.
Compatibility flags:
1 = trs80l2 and clones
3 = trs80m3
4 = trs80m4
If no flag is specified, it's assumed it works on all of them.
Many boot disks ask for the date. The assumed format is MM/DD/YY. Some require the year to be in the range 80 to 87.
Many boot disks also ask for the time, but this can usually be bypassed by pressing enter. The format is HH:MM:SS .
Radionic disk reading is unreliable and can often hang doing DIR.
-->
<softwarelist name="trs80_flop" description="Radio Shack TRS-80 floppies">
<software name="ldos531">
<description>LDOS 5.3.1</description>
<year>1991</year>
<publisher>Misosys</publisher>
<info name="usage" value="Make sure that Floppy is enabled in Machine Configuration" />
<sharedfeat name="compatibility" value="1" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="0x15e00">
<rom name="ld1-531.jv1" size="0x15e00" crc="ce54fb23" sha1="373d0887bc4946df010f39842e768bf911cb2813"/>
</dataarea>
</part>
</software>
<software name="lensman">
<description>Lensman/DOS</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Make sure that Floppy is enabled in Machine Configuration" />
<sharedfeat name="compatibility" value="3,4" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="0x2f200">
<rom name="lensman.jv3" size="0x2f200" crc="700be6cb" sha1="caecf3f9d04860c503c2f9df5bbc9259685ace0e"/>
</dataarea>
</part>
</software>
<software name="trs621">
<description>TRSDOS 6.21</description>
<year>1986</year>
<publisher>Radio Shack</publisher>
<info name="usage" value="Make sure that Floppy is enabled in Machine Configuration" />
<sharedfeat name="compatibility" value="4" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="0x3e810">
<rom name="trs621.dmk" size="0x3e810" crc="6e19896e" sha1="e98d0e4509e1e316caf5c50920fd3ddcc715cf49"/>
</dataarea>
</part>
</software>
<software name="cpm22">
<description>CP/M 2.2</description>
<year>1982</year>
<publisher>Digital Research</publisher>
<info name="usage" value="Make sure that Floppy is enabled in Machine Configuration" />
<sharedfeat name="compatibility" value="4" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="0x295c6">
<rom name="cpm.imd" size="0x295c6" crc="f483e444" sha1="63e814c8679b426515517b2a640db268ef851e60"/>
</dataarea>
</part>
</software>
</softwarelist>

37
hash/trs80_quik.xml Normal file
View File

@ -0,0 +1,37 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
CMD quickloads for the TRS-80 Model 1 Level 2, and clones.
Compatibility flags:
1 = trs80l2 and clones
3 = trs80m3
H = HT series
M = meritum
If no flag is specified, it's assumed it works on all of them.
The increased speed of meritum machines generally makes these games unplayable.
Quickloads cannot be used on trs80m4 due to memory issues.
A CMD file is an executable file found on TRS-80 floppy disks. Some don't require a disk to work,
simply needing a Level 2-based machine to run on. That is what you'll find in this list.
-->
<softwarelist name="trs80_quik" description="Radio Shack TRS-80 quickload">
<software name="frogger">
<description>Frogger</description>
<year>1981</year>
<publisher>Misosys</publisher>
<info name="usage" value="Skill 0 is easiest" />
<sharedfeat name="compatibility" value="1,3,H" /><!-- 3: some sounds missing -->
<part name="quik" interface="trs80_quik">
<dataarea name="quik" size="0x3000">
<rom name="frogger4.cmd" size="0x3000" crc="24c63f58" sha1="94397d54bd9a6aad7f59db2f0f854fa2dc3e1973"/>
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -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
}

View File

@ -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)

View File

@ -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
}

View File

@ -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");
}

View File

@ -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)