diff options
| author | 2025-08-07 22:55:36 +0200 | |
|---|---|---|
| committer | 2025-08-07 23:01:31 +0200 | |
| commit | 9ab983c191aebb294068b25449ae82ce42534ffa (patch) | |
| tree | 10a414b6bbcd8ee0119f5cd4eafcebd6a3c9c505 | |
| parent | 6f9671291e313b2965113ade9d70553b43b1bb93 (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.xml | 85 | ||||
| -rw-r--r-- | hash/pc8801_flop.xml | 28 | ||||
| -rw-r--r-- | hash/x1_flop.xml | 30 | ||||
| -rw-r--r-- | src/mame/nec/pc8801.cpp | 9 | ||||
| -rw-r--r-- | src/mame/sharp/mz2000.cpp | 2 | ||||
| -rw-r--r-- | src/mame/sharp/x1.cpp | 9 |
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" 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) |
