mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
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:
parent
31f42b1f24
commit
61a464ce41
55
hash/trs80_cass.xml
Normal file
55
hash/trs80_cass.xml
Normal 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
75
hash/trs80_flop.xml
Normal 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><unknown></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
37
hash/trs80_quik.xml
Normal 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>
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
@ -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");
|
||||
}
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user