summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <lordkale4@gmail.com>2025-07-10 17:36:07 +0200
committer angelosa <lordkale4@gmail.com>2025-07-10 18:04:52 +0200
commit9af5ef672f265203a010db19c612d9d6055000e7 (patch)
tree0b507db14c162ad46de9233d1c67f3ee8fd1bf8c
parent5a73a8a66105b6189f4252f89b41250d88a5c323 (diff)
sharp/mz2000.cpp: kick off Cassette and Floppy SW list for MZ-80B
New working software list items ------------------------------- mz80b_flop: MZ-80B Games, Disk BASIC/A SB-6510 Technik Diskette [archive.org] New software list items marked not working ------------------------------------------ mz80b_cass: BASIC SB-5510, BASIC SP-5025, Disk BASIC SB-6510, Disk BASIC SB-6511, Disk BASIC SB-6610, Vosque [archive.org]
-rw-r--r--hash/mz2000_flop.xml4
-rw-r--r--hash/mz80b_cass.xml118
-rw-r--r--hash/mz80b_flop.xml55
-rw-r--r--src/mame/sharp/mz2000.cpp12
4 files changed, 183 insertions, 6 deletions
diff --git a/hash/mz2000_flop.xml b/hash/mz2000_flop.xml
index 6f3780f962b..2fc015e850d 100644
--- a/hash/mz2000_flop.xml
+++ b/hash/mz2000_flop.xml
@@ -5,7 +5,7 @@ license:CC0-1.0
Usage instructions: if the game/program does not autoboot, type DIR to list the disk content
and look for CMD or COM files.
- To run CMD files (which are TF-FOS programs, type RUN "XXX", with XXX being the name of the
+ To run CMD files (which are TF-DOS programs, type RUN "XXX", with XXX being the name of the
CMD file (e.g. RUN "SPACE MOUSE").
To run COM files (which are CP/M programs) simply type the name of the COM file.
-->
@@ -180,7 +180,7 @@ STAR FIRE: works
<software name="basprog" supported="no">
<description>Sharp BASIC Programs 1</description>
<year>200?</year>
- <publisher>&lt;unknown&gt;</publisher>
+ <publisher>Toshio Fukui</publisher>
<notes><![CDATA[
Requires Disk BASIC
]]></notes>
diff --git a/hash/mz80b_cass.xml b/hash/mz80b_cass.xml
new file mode 100644
index 00000000000..e256b972f65
--- /dev/null
+++ b/hash/mz80b_cass.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+license:CC0-1.0
+
+TODO:
+- pinpoint differences between the various SB BASIC flavours
+
+-->
+
+<softwarelist name="mz80b_cass" description="Sharp MZ-80B cassettes">
+
+<!-- !Operating Systems -->
+
+ <software name="sb5510" supported="no">
+ <description>BASIC SB-5510</description>
+ <year>1981</year>
+ <publisher>Sharp</publisher>
+ <notes><![CDATA[
+CHECK SUM ERROR, boots with Z80 clock set at 3.2 MHz (80%)
+]]></notes>
+ <info name="usage" value="IPL" />
+
+ <part name="cass1" interface="mz_cass">
+ <dataarea name="cass" size="18923">
+ <rom name="sb5510.mzf" size="18923" crc="f9f7edb2" sha1="4436a3b73a8a6a54fe4d04f4d0d0e2adece479cd"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sp5025" supported="no">
+ <description>BASIC SP-5025</description>
+ <year>1981?</year>
+ <publisher>Sharp</publisher>
+ <notes><![CDATA[
+CHECK SUM ERROR, hangs during loading with Z80 clock set at 3.2 MHz (80%)
+]]></notes>
+ <info name="usage" value="IPL" />
+
+ <part name="cass1" interface="mz_cass">
+ <dataarea name="cass" size="12416">
+ <rom name="basic sp-5025.mzf" size="12416" crc="919c6689" sha1="36eed75a966b2dd9de0be45d89b6364dfceda40a"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- TODO: cloneof is assumed -->
+ <software name="sb6510" cloneof="sb6511" supported="no">
+ <description>Disk BASIC SB-6510</description>
+ <year>1981</year>
+ <publisher>Sharp</publisher>
+ <notes><![CDATA[
+CHECK SUM ERROR, boots with Z80 clock set at 3.2 MHz (80%)
+]]></notes>
+ <info name="usage" value="IPL" />
+
+ <part name="cass1" interface="mz_cass">
+ <dataarea name="cass" size="32384">
+ <rom name="disk basic6510ipl.mzf" size="32384" crc="4486c1e3" sha1="da13e7aacde47febed054b42110dc8b960b3fdf4"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sb6511" supported="no">
+ <description>Disk BASIC SB-6511</description>
+ <year>1981</year>
+ <publisher>Sharp</publisher>
+ <notes><![CDATA[
+CHECK SUM ERROR, boots with Z80 clock set at 3.2 MHz (80%)
+Starts with an Error 50
+]]></notes>
+ <info name="usage" value="IPL" />
+
+ <part name="cass1" interface="mz_cass">
+ <dataarea name="cass" size="32384">
+ <rom name="disk basic6511ipl.mzf" size="32384" crc="1678da41" sha1="0f0aa380fa7117ac5c9f8f31f59f9bc3877a7b9e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sb6610" supported="no">
+ <!-- "Double precision" at BASIC header -->
+ <description>Disk BASIC SB-6610</description>
+ <year>1981</year>
+ <publisher>Sharp</publisher>
+ <notes><![CDATA[
+CHECK SUM ERROR, boots with Z80 clock set at 3.2 MHz (80%)
+]]></notes>
+ <info name="usage" value="IPL" />
+
+ <part name="cass1" interface="mz_cass">
+ <dataarea name="cass" size="32384">
+ <rom name="disk basic6610ipl.mzf" size="32384" crc="d2f8ebf7" sha1="f59965c965d9d81b5a5e2099c0ba5e7fbd77de83"/>
+ </dataarea>
+ </part>
+ </software>
+
+
+<!-- !Games -->
+
+ <software name="vosque" supported="no">
+ <description>Vosque</description>
+ <year>19??</year>
+ <!-- TODO: from title, check spelling on tape cover -->
+ <publisher>d.B Soft</publisher>
+ <notes><![CDATA[
+CHECK SUM ERROR, boots with Z80 clock set at 3.2 MHz (80%)
+]]></notes>
+ <info name="usage" value="IPL" />
+
+ <part name="cass1" interface="mz_cass">
+ <dataarea name="cass" size="25472">
+ <rom name="vosque mz80b.mzt" size="25472" crc="1dc3b210" sha1="3c87d52292e356686eca927cd26614a3ffe6739e"/>
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
diff --git a/hash/mz80b_flop.xml b/hash/mz80b_flop.xml
new file mode 100644
index 00000000000..0fb3b4bab91
--- /dev/null
+++ b/hash/mz80b_flop.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+license:CC0-1.0
+
+-->
+
+
+<softwarelist name="mz80b_flop" description="Sharp MZ-80B disk images">
+
+ <software name="mz80game">
+ <description>MZ-80B Games</description>
+ <year>1983</year>
+ <publisher>&lt;unlicensed&gt;</publisher>
+ <notes><![CDATA[
+SPACE-BEE:
+BACTERIA:
+DOG-FIGHT:
+RADAR-PUCKMAN: (press Y to start)
+MISSILE-COMMAND:
+SPACE-INVADERS:
+PIN-BALL:
+GALAXIAN:
+ASTEROID-BELT:
+DEVIL'S-FIGHTER:
+SPACE-MOUSE:
+SUPERSCHACH:
+RALLY-MAZE:
+BOMBER-CRASH: Requires Jp font BIOS for instructions
+PUCKMAN:
+DESERT:
+]]></notes>
+ <info name="author" value="Nicolas Gabron" />
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="322816">
+ <rom name="mz80b games.dsk" size="322816" crc="3b52eee2" sha1="b39ebbd0dd352d92d66c54ee1a3b08eae923c721"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="sb6510tk">
+ <!-- Official Sharp Germany product? -->
+ <description>Disk BASIC/A SB-6510 Technik Diskette</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="322816">
+ <rom name="mz80b basic.dsk" size="322816" crc="a03df47d" sha1="3d4c0ddf6b563b9fd90994e881f903fb9bce7c2f"/>
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
diff --git a/src/mame/sharp/mz2000.cpp b/src/mame/sharp/mz2000.cpp
index 9c369b716be..e263ea8edc4 100644
--- a/src/mame/sharp/mz2000.cpp
+++ b/src/mame/sharp/mz2000.cpp
@@ -1391,7 +1391,6 @@ void mz80b_state::mz80b(machine_config &config)
FLOPPY_CONNECTOR(config, "fdc:2", mz2000_floppies, nullptr, mz2000_state::floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:3", mz2000_floppies, nullptr, mz2000_state::floppy_formats).enable_sound(true);
- SOFTWARE_LIST(config, "flop_list").set_original("mz2000_flop");
CASSETTE(config, m_cassette);
m_cassette->set_formats(mz700_cassette_formats);
@@ -1399,8 +1398,6 @@ void mz80b_state::mz80b(machine_config &config)
m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
m_cassette->set_interface("mz_cass");
- SOFTWARE_LIST(config, "cass_list").set_original("mz2000_cass").set_filter("MONO");
-
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// TODO: unverified, 60 Hz/15.75 kHz according to MZ-80B service manual
@@ -1415,6 +1412,9 @@ void mz80b_state::mz80b(machine_config &config)
// mz800 actually reads $f8-$fa from IPL
snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot", "bin,dat", attotime::from_seconds(1)));
snapshot.set_load_callback(FUNC(mz80b_state::snapshot_cb));
+
+ SOFTWARE_LIST(config, "flop_list").set_original("mz80b_flop");
+ SOFTWARE_LIST(config, "cass_list").set_original("mz80b_cass");
}
@@ -1425,14 +1425,18 @@ void mz2000_state::mz2000(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &mz2000_state::mz2000_io);
m_screen->set_screen_update(FUNC(mz2000_state::screen_update));
+
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("mz2000_flop");
+ SOFTWARE_LIST(config.replace(), "cass_list").set_original("mz2000_cass").set_filter("MONO");
}
void mz2200_state::mz2200(machine_config &config)
{
mz2000(config);
- SOFTWARE_LIST(config.replace(), "cass_list").set_original("mz2000_cass").set_filter("COLOR");
PALETTE(config.replace(), m_palette, palette_device::BRG_3BIT);
+
+ SOFTWARE_LIST(config.replace(), "cass_list").set_original("mz2000_cass").set_filter("COLOR");
}