summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <lordkale4@gmail.com>2025-08-07 22:55:36 +0200
committer angelosa <lordkale4@gmail.com>2025-08-07 23:01:31 +0200
commit9ab983c191aebb294068b25449ae82ce42534ffa (patch)
tree10a414b6bbcd8ee0119f5cd4eafcebd6a3c9c505
parent6f9671291e313b2965113ade9d70553b43b1bb93 (diff)
hash: create a generic_flop_525.xml
* hook up gruppe,kitahei and victnined to mz2000/mz2200/pc8801/x1 * fix MT08182
-rw-r--r--hash/generic_flop_525.xml85
-rw-r--r--hash/pc8801_flop.xml28
-rw-r--r--hash/x1_flop.xml30
-rw-r--r--src/mame/nec/pc8801.cpp9
-rw-r--r--src/mame/sharp/mz2000.cpp2
-rw-r--r--src/mame/sharp/x1.cpp9
6 files changed, 97 insertions, 66 deletions
diff --git a/hash/generic_flop_525.xml b/hash/generic_flop_525.xml
new file mode 100644
index 00000000000..da5d2cd6452
--- /dev/null
+++ b/hash/generic_flop_525.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+license:CC0-1.0
+
+NOTE:
+- we treat supported="no" for something that have major issues everywhere,
+ "partial" for stuff running on 1+ systems but don't on others.
+
+-->
+<softwarelist name="generic_flop_525" description="Cross-platform 5.25&quot; disk images">
+
+ <!-- original from pc8801_flop -->
+ <software name="gruppe" supported="no">
+ <description>Gruppe</description>
+ <year>1985</year>
+ <publisher>SPS</publisher>
+ <notes><![CDATA[
+All systems: fails to load with "program load error".
+https://github.com/mamedev/mame/issues/2349
+]]></notes>
+ <info name="release" value="198504xx"/>
+ <info name="alt_title" value="ぐるっぺ"/>
+ <sharedfeat name="compatibility" value="mz2200,pc8801,x1"/>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="349392">
+ <rom name="gruppe.d88" size="349392" crc="d7efdc5d" sha1="ab4da770fae54f306bfdc8fc9df3c52f3b4a1a65"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- original from x1_flop -->
+ <software name="gruppea" cloneof="gruppe" supported="no">
+ <description>Gruppe (alt)</description>
+ <year>1985</year>
+ <publisher>SPS</publisher>
+ <notes><![CDATA[
+(same as gruppe)
+]]></notes>
+ <info name="release" value="198506xx"/>
+ <info name="alt_title" value="ぐるっぺ"/>
+ <sharedfeat name="compatibility" value="mz2200,pc8801,x1"/>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="348848">
+ <rom name="gruppe.d88" size="348848" crc="a50dfd33" sha1="551749d2ec4deb3919f2111d234450fd4f90d54a"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kitahei">
+ <description>Kitahei</description>
+ <year>1985</year>
+ <publisher>SPS</publisher>
+ <notes><![CDATA[
+mz2000: needs to press G on concealed text prompt on title (verify)
+]]></notes>
+ <info name="release" value="198509xx"/>
+ <info name="alt_title" value="棋太平"/>
+ <sharedfeat name="compatibility" value="mz2000,mz2200,pc8801,x1"/>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="349392">
+ <rom name="kitahei.d88" size="349392" crc="53ae4f58" sha1="bbdff7ac4d6a844580bb06accb1d8d88759b8ae9"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- original in x1_flop.xml -->
+ <software name="victnined" supported="partial">
+ <description>Victorious Nine (demo)</description>
+ <year>1985</year>
+ <publisher>ニデコム (Nidecom)</publisher>
+ <notes><![CDATA[
+pc8801: crashes before reaching title screen (has V2 mode detection, which implies being compatible)
+]]></notes>
+ <info name="release" value="198509xx"/>
+ <info name="alt_title" value="ビクトリアスナイン"/>
+ <sharedfeat name="compatibility" value="mz2200,pc8801,x1"/>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="350560">
+ <rom name="victorious nine.d88" size="350560" crc="2fc94dfd" sha1="e29f55bed953e0304d88b8eed9448f31eb888298"/>
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
diff --git a/hash/pc8801_flop.xml b/hash/pc8801_flop.xml
index 80896d1733f..e2670308c29 100644
--- a/hash/pc8801_flop.xml
+++ b/hash/pc8801_flop.xml
@@ -14628,20 +14628,6 @@ ExtractDisk [02]"Gradius改 " -> "gradius kai_02.d88"
</part>
</software>
- <software name="gruppe">
- <description>Gruppe</description>
- <year>1985</year>
- <publisher>SPS</publisher>
- <!-- PC8801 -->
- <info name="release" value="198504xx"/>
- <info name="alt_title" value="ぐるっぺ"/>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="349392">
- <rom name="gruppe.d88" size="349392" crc="d7efdc5d" sha1="ab4da770fae54f306bfdc8fc9df3c52f3b4a1a65"/>
- </dataarea>
- </part>
- </software>
-
<software name="guinsaga" supported="yes">
<description>Guin Saga - Hyoto no Kamen</description>
<year>1987</year>
@@ -18994,20 +18980,6 @@ Has serious [3301] corruption in gameplay
</part>
</software>
- <software name="kitahei">
- <description>Kitahei</description>
- <year>1985</year>
- <publisher>SPS</publisher>
- <!-- PC8801 -->
- <info name="release" value="198509xx"/>
- <info name="alt_title" value="棋太平"/>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="349392">
- <rom name="kitahei.d88" size="349392" crc="53ae4f58" sha1="bbdff7ac4d6a844580bb06accb1d8d88759b8ae9"/>
- </dataarea>
- </part>
- </software>
-
<software name="klax" supported="yes">
<description>Klax</description>
<year>1990</year>
diff --git a/hash/x1_flop.xml b/hash/x1_flop.xml
index a6c76e8e3c5..ca7354ab6ce 100644
--- a/hash/x1_flop.xml
+++ b/hash/x1_flop.xml
@@ -1039,23 +1039,6 @@ IPL loading resolves to a red and corrupt screen, baddump?
</part>
</software>
- <software name="gruppe" supported="no">
- <description>Gruppe</description>
- <year>1985</year>
- <publisher>SPS</publisher>
- <notes><![CDATA[
-Shows a random bitmap graphic then returns "program load error", wants [FDC] write protection enabled (regression)
-]]></notes>
-
- <info name="release" value="198506xx"/>
- <info name="alt_title" value="ぐるっぺ"/>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="348848">
- <rom name="gruppe.d88" size="348848" crc="a50dfd33" sha1="551749d2ec4deb3919f2111d234450fd4f90d54a"/>
- </dataarea>
- </part>
- </software>
-
<software name="hajafuin">
<description>Haja no Fuuin</description>
<year>1986</year>
@@ -3394,19 +3377,6 @@ Expects [KBD] name entry presses with shift held
</part>
</software>
- <software name="victnine">
- <description>Victorious Nine</description>
- <year>1985</year>
- <publisher>ニデコム (Nidecom)</publisher>
- <info name="release" value="198509xx"/>
- <info name="alt_title" value="ビクトリアスナイン"/>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="350560">
- <rom name="victorious nine.d88" size="350560" crc="2fc94dfd" sha1="e29f55bed953e0304d88b8eed9448f31eb888298"/>
- </dataarea>
- </part>
- </software>
-
<!-- There exists an alt checksum for the first disk (due to differences only in the d88 header, but exact same data)
<rom name="zzz-unk-wib_sys.d88" size="414992" crc="9670c2c2" sha1="49d4539a8eaa81818da1f192cd6bc56dc779291f"/>
-->
diff --git a/src/mame/nec/pc8801.cpp b/src/mame/nec/pc8801.cpp
index f61514b8051..77bb10b9089 100644
--- a/src/mame/nec/pc8801.cpp
+++ b/src/mame/nec/pc8801.cpp
@@ -1664,16 +1664,12 @@ void pc8801_state::pc8801(machine_config &config)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("pc8801_cass");
- SOFTWARE_LIST(config, "tape_list").set_original("pc8801_cass");
// TODO: clock, receiver handler, DCD?
I8251(config, m_usart, 0);
m_usart->txd_handler().set(FUNC(pc8801_state::txdata_callback));
m_usart->rxrdy_handler().set(FUNC(pc8801_state::rxrdy_irq_w));
- SOFTWARE_LIST(config, "disk_n88_list").set_original("pc8801_flop");
- SOFTWARE_LIST(config, "disk_n_list").set_compatible("pc8001_flop");
-
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_raw(PIXEL_CLOCK_24KHz,848,0,640,448,0,400);
m_screen->set_raw(PIXEL_CLOCK_15KHz, 896, 0, 640, 260, 0, 200);
@@ -1724,6 +1720,11 @@ void pc8801_state::pc8801(machine_config &config)
m_exp->int3_callback().set([this] (bool state) { m_pic->r_w(7 ^ INT3_IRQ_LEVEL, !state); });
m_exp->int4_callback().set([this] (bool state) { m_pic->r_w(7 ^ INT4_IRQ_LEVEL, !state); });
m_exp->int5_callback().set([this] (bool state) { m_pic->r_w(7 ^ INT5_IRQ_LEVEL, !state); });
+
+ SOFTWARE_LIST(config, "tape_list").set_original("pc8801_cass");
+ SOFTWARE_LIST(config, "disk_n88_list").set_original("pc8801_flop");
+ SOFTWARE_LIST(config, "disk_n_list").set_compatible("pc8001_flop");
+ SOFTWARE_LIST(config, "flop_generic_list").set_compatible("generic_flop_525").set_filter("pc8801");
}
void pc8801mk2sr_state::pc8801mk2sr(machine_config &config)
diff --git a/src/mame/sharp/mz2000.cpp b/src/mame/sharp/mz2000.cpp
index 19288597efe..42a6f807caf 100644
--- a/src/mame/sharp/mz2000.cpp
+++ b/src/mame/sharp/mz2000.cpp
@@ -1428,6 +1428,7 @@ void mz2000_state::mz2000(machine_config &config)
SOFTWARE_LIST(config.replace(), "flop_list").set_original("mz2000_flop");
SOFTWARE_LIST(config.replace(), "cass_list").set_original("mz2000_cass").set_filter("MONO");
+ SOFTWARE_LIST(config, "flop_generic_list").set_compatible("generic_flop_525").set_filter("mz2000");
}
void mz2200_state::mz2200(machine_config &config)
@@ -1437,6 +1438,7 @@ void mz2200_state::mz2200(machine_config &config)
PALETTE(config.replace(), m_palette, palette_device::BRG_3BIT);
SOFTWARE_LIST(config.replace(), "cass_list").set_original("mz2000_cass").set_filter("COLOR");
+ SOFTWARE_LIST(config.replace(), "flop_generic_list").set_compatible("generic_flop_525").set_filter("mz2200");
}
diff --git a/src/mame/sharp/x1.cpp b/src/mame/sharp/x1.cpp
index e8528e40b07..2f4d0031035 100644
--- a/src/mame/sharp/x1.cpp
+++ b/src/mame/sharp/x1.cpp
@@ -2233,8 +2233,7 @@ void x1_state::x1(machine_config &config)
FLOPPY_CONNECTOR(config, "fdc:2", x1_floppies, "525dd", x1_state::floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:3", x1_floppies, "525dd", x1_state::floppy_formats).enable_sound(true);
- SOFTWARE_LIST(config, "flop_list").set_original("x1_flop");
-
+ // TODO: convert to CZ- expansion unit, verify compatibility with x68k if any.
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "x1_cart", "bin,rom");
SPEAKER(config, "speaker", 2).front();
@@ -2252,10 +2251,12 @@ void x1_state::x1(machine_config &config)
m_cassette->add_route(ALL_OUTPUTS, "speaker", 0.25, 0).add_route(ALL_OUTPUTS, "speaker", 0.10, 1);
m_cassette->set_interface("x1_cass");
- SOFTWARE_LIST(config, "cass_list").set_original("x1_cass");
-
TIMER(config, "keyboard_timer").configure_periodic(FUNC(x1_state::sub_keyboard_cb), attotime::from_hz(250));
TIMER(config, "cmt_wind_timer").configure_periodic(FUNC(x1_state::cmt_seek_cb), attotime::from_hz(16));
+
+ SOFTWARE_LIST(config, "cass_list").set_original("x1_cass");
+ SOFTWARE_LIST(config, "flop_list").set_original("x1_flop");
+ SOFTWARE_LIST(config, "flop_generic_list").set_compatible("generic_flop_525").set_filter("x1");
}
void x1turbo_state::x1turbo(machine_config &config)