summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2020-10-11 03:23:40 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2020-10-11 03:23:40 +1100
commitce045e819b6a64e2f161c883d2ee574e96482185 (patch)
tree945261c177db993e50ddcd2e2d2fe5367d9c35f0
parentc751a5348a89f2cd9d6b84938551e341ec7f8450 (diff)
kaypro: merged software lists, using compatibility flag instead.
New working software ------------------ Kaypro284 boot disk Kaypro IV boot disk Kaypro 10 boot disk Kaypro 10 Games
-rw-r--r--hash/kaypro.xml (renamed from hash/kayproii.xml)99
-rw-r--r--hash/kaypro484.xml32
-rw-r--r--src/mame/drivers/kaypro.cpp36
-rw-r--r--src/mame/includes/kaypro.h2
4 files changed, 124 insertions, 45 deletions
diff --git a/hash/kayproii.xml b/hash/kaypro.xml
index d19c601bb12..8e5ee9f6a03 100644
--- a/hash/kayproii.xml
+++ b/hash/kaypro.xml
@@ -3,7 +3,9 @@
<!--
license:CC0
-->
-<softwarelist name="kayproii" description="Kaypro II disk images">
+<softwarelist name="kaypro" description="Kaypro CP/M disk images">
+
+<!-- A:ii -->
<!-- Operating systems -->
@@ -11,6 +13,7 @@ license:CC0
<description>CP/M 2.2 Boot Disk (Ger)</description>
<year>19??</year>
<publisher>Digital Research</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="139911">
<rom name="cp-m 2.2 boot disk (19xx)(digital research)(de).td0" size="139911" crc="ab5d7ae0" sha1="b73622c17306e32b42cef31d58616378329605ef"/>
@@ -22,6 +25,7 @@ license:CC0
<description>CP/M 2.2</description>
<year>19??</year>
<publisher>Digital Research</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="188479">
<rom name="cp-m 2.2 (19xx)(digital research).imd" size="188479" crc="602c4f18" sha1="c4158b4f84066514af2b74cb6d0915f661402819"/>
@@ -35,6 +39,7 @@ license:CC0
<description>Perfect Calc v1.00</description>
<year>1982</year>
<publisher>Perfect Software</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="163451">
<rom name="perfect calc v1.00 (1982)(perfect software).imd" size="163451" crc="d7c79f18" sha1="3666da3855bfc9c82a328fee67906ac04b6bd75b"/>
@@ -46,6 +51,7 @@ license:CC0
<description>Perfect Speller</description>
<year>1982</year>
<publisher>Perfect Software</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="150160">
<rom name="perfect speller (1982)(perfect software).imd" size="150160" crc="c03fc828" sha1="4a405c65a55b5ba9be17b638cfe9c0b539698fbc"/>
@@ -57,6 +63,7 @@ license:CC0
<description>Perfect Writer</description>
<year>1982</year>
<publisher>Perfect Software</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="197701">
<rom name="perfect writer (1982)(perfect software).imd" size="197701" crc="43cb00ac" sha1="67145d125f3f50e660ae8b2e299aad8200d59a7f"/>
@@ -68,6 +75,7 @@ license:CC0
<description>Perfect Writer - Docs and Utilities</description>
<year>198?</year>
<publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="151202">
<rom name="perfect writer - docs and utilities (198x)(-).imd" size="151202" crc="94cda75d" sha1="46348510ff682ef3a8a1e5a27f1625beae21980e"/>
@@ -79,6 +87,7 @@ license:CC0
<description>Perfect Writer - Lessons</description>
<year>198?</year>
<publisher>Perfect Software</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="180829">
<rom name="perfect writer - lessons (198x)(perfect software).imd" size="180829" crc="b8bba8ca" sha1="6e18f014337efcb70248b8cff2483bc1d5c8ec4f"/>
@@ -90,6 +99,7 @@ license:CC0
<description>Profit Plan</description>
<year>1982</year>
<publisher>Chang Laboratories</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="113909">
<rom name="profit plan (1982)(chang laboratories).imd" size="113909" crc="1d967882" sha1="03d00c14e57e0e84e0e1fa127ab36b47d1731ea4"/>
@@ -101,6 +111,7 @@ license:CC0
<description>Select - Teach</description>
<year>1981</year>
<publisher>Select Information Systems</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="148661">
<rom name="select - teach (1981)(select information systems).imd" size="148661" crc="459b51f0" sha1="7bb16452689cbb39a9c8a2088306a98b2f3ca31a"/>
@@ -112,6 +123,7 @@ license:CC0
<description>Select - Work Processor</description>
<year>1981</year>
<publisher>Select Information Systems</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="106254">
<rom name="select - work processor (1981)(select information systems).imd" size="106254" crc="ebcb98c5" sha1="1c8d1a3228e6ac5fdffe7409d921499db22fea72"/>
@@ -123,6 +135,7 @@ license:CC0
<description>WordStar v3.3</description>
<year>1983</year>
<publisher>MicroPro</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="202296">
<rom name="wordstar v3.3 (1983)(micropro).imd" size="202296" crc="64e0f3d6" sha1="6abf468d538e65e82bc0b85cc5d656282048ce3c"/>
@@ -134,6 +147,7 @@ license:CC0
<description>Synergy Host Control System 10/11/85</description>
<year>1985</year>
<publisher>Digital Keyboards</publisher>
+ <sharedfeat name="compatibility" value="A" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="191031">
<rom name="synhcs.imd" size="191031" crc="c87f1400" sha1="550c6c35e7605956498345df3c151b6abd89b62d"/>
@@ -141,4 +155,87 @@ license:CC0
</part>
</software>
+<!-- B: 284 -->
+
+ <software name="k28422g">
+ <description>CP/M 2.2G</description>
+ <year>19??</year>
+ <publisher>Digital Research</publisher>
+ <sharedfeat name="compatibility" value="B" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="0x01b508">
+ <rom name="k284-22g.td0" size="0x01b508" crc="d80ce9a0" sha1="0d3da88129ad7ff04079b2a7fe73f19f5da21681"/>
+ </dataarea>
+ </part>
+ </software>
+
+<!-- C: 2X,484 -->
+
+ <software name="cpm22f">
+ <description>CP/M 2.2F (81-292)</description>
+ <year>19??</year>
+ <publisher>Digital Research</publisher>
+ <sharedfeat name="compatibility" value="C" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="270208">
+ <rom name="k4f-292.td0" size="270208" crc="8309cabe" sha1="7eb6829aaadae67b71bf4bfa19ce72f1e780747e"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cpm22g">
+ <description>CP/M 2.2G (81-292-A)</description>
+ <year>19??</year>
+ <publisher>Digital Research</publisher>
+ <sharedfeat name="compatibility" value="C" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="202620">
+ <rom name="kp22gdsd.td0" size="202620" crc="6ab35630" sha1="106fb294b719d620abd82ee74f0f16130264e3d1"/>
+ </dataarea>
+ </part>
+ </software>
+
+<!-- D: iv -->
+
+ <software name="kiv22">
+ <description>CP/M 2.2 for Kaypro IV</description>
+ <year>19??</year>
+ <publisher>Digital Research</publisher>
+ <sharedfeat name="compatibility" value="D" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="0x056639">
+ <rom name="kiv-22.imd" size="0x056639" crc="99182539" sha1="d4b5a6a0a0038fc12aa39a7dd17006f1c71198df"/>
+ </dataarea>
+ </part>
+ </software>
+
+<!-- E: 10 - kaypro10 disks are loadable by 2X,484 -->
+
+ <software name="kay10a0s">
+ <description>CP/M 2.2F</description>
+ <year>19??</year>
+ <publisher>Digital Research</publisher>
+ <sharedfeat name="compatibility" value="E,C" />
+ <part name="flop" interface="floppy_5_25">
+ <dataarea name="flop" size="0x05741e">
+ <rom name="kay10a0s.imd" size="0x05741e" crc="adfb4421" sha1="684758a5ddf467aba3be46c62f59bebcb97bbc1b"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kay10games">
+ <description>Kaypro 10 Games</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <sharedfeat name="compatibility" value="E,C" />
+ <part name="flop" interface="floppy_5_25">
+ <dataarea name="flop" size="0x05d7eb">
+ <rom name="kay10b0a.imd" size="0x05d7eb" crc="f52ac968" sha1="1acc4d20bc1bfd3db8adbc28226bffdf3940c350"/>
+ </dataarea>
+ </part>
+ </software>
+
+<!-- F: 4X,robie (rom 1.7R) -->
+<!-- G: new2,1,omni4 (rom 2.01) -->
+
</softwarelist>
diff --git a/hash/kaypro484.xml b/hash/kaypro484.xml
deleted file mode 100644
index 2450ec1cc55..00000000000
--- a/hash/kaypro484.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<!--
-license:CC0
--->
-<softwarelist name="kaypro484" description="Kaypro 4/84 disk images">
-
-<!-- Operating systems -->
-
- <software name="cpm22f">
- <description>CP/M 2.2F (81-292)</description>
- <year>19??</year>
- <publisher>Digital Research</publisher>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="270208">
- <rom name="k4f-292.td0" size="270208" crc="8309cabe" sha1="7eb6829aaadae67b71bf4bfa19ce72f1e780747e"/>
- </dataarea>
- </part>
- </software>
-
- <software name="cpm22g">
- <description>CP/M 2.2G (81-292-A)</description>
- <year>19??</year>
- <publisher>Digital Research</publisher>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="202620">
- <rom name="kp22gdsd.td0" size="202620" crc="6ab35630" sha1="106fb294b719d620abd82ee74f0f16130264e3d1"/>
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index bb65f6959a1..73c01b2ebb3 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -267,7 +267,7 @@ void kaypro_state::kayproii(machine_config &config)
m_fdc->set_force_ready(true);
FLOPPY_CONNECTOR(config, "fdc:0", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
- SOFTWARE_LIST(config, "flop_list").set_original("kayproii");
+ SOFTWARE_LIST(config, "flop_list").set_original("kaypro").set_filter("A");
}
void kaypro_state::kayproiv(machine_config &config)
@@ -278,7 +278,7 @@ void kaypro_state::kayproiv(machine_config &config)
config.device_remove("fdc:1");
FLOPPY_CONNECTOR(config, "fdc:0", kaypro_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
- SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro483");
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro").set_filter("D");
}
void kaypro_state::omni2(machine_config &config)
@@ -367,7 +367,19 @@ void kaypro_state::kaypro484(machine_config &config)
m_fdc->set_force_ready(true);
FLOPPY_CONNECTOR(config, "fdc:0", kaypro_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
- SOFTWARE_LIST(config, "flop_list").set_original("kaypro484");
+ SOFTWARE_LIST(config, "flop_list").set_original("kaypro").set_filter("C");
+}
+
+void kaypro_state::kaypro4x(machine_config &config)
+{
+ kaypro484(config);
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro").set_filter("F");
+}
+
+void kaypro_state::kaypro1(machine_config &config)
+{
+ kaypro484(config);
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro").set_filter("G");
}
void kaypro_state::kaypro10(machine_config &config)
@@ -375,14 +387,14 @@ void kaypro_state::kaypro10(machine_config &config)
kaypro484(config);
config.device_remove("fdc:1"); // only has 1 floppy drive
// need to add hard drive & controller
- SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro10");
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro").set_filter("E");
}
void kaypro_state::kaypronew2(machine_config &config)
{
kaypro484(config);
config.device_remove("fdc:1"); // only has 1 floppy drive
- SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypronew2");
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro").set_filter("G");
}
void kaypro_state::kaypro284(machine_config &config)
@@ -392,7 +404,7 @@ void kaypro_state::kaypro284(machine_config &config)
config.device_remove("fdc:1");
FLOPPY_CONNECTOR(config, "fdc:0", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
- SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro284");
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("kaypro").set_filter("B");
}
void kaypro_state::init_kaypro()
@@ -663,10 +675,10 @@ COMP( 1984, kaypro484, 0, 0, kaypro484, kaypro, kaypro_state, i
COMP( 1984, kaypro284, kaypro484, 0, kaypro284, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 2/84", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // model 81-015
COMP( 1984, kaypro484p88, kaypro484, 0, kaypro484, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 4/84 plus88", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // model 81-015 with an added 8088 daughterboard and rom
COMP( 1984, kaypro1084, kaypro10, 0, kaypro10, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 10", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // model 81-005
-COMP( 1984, robie, 0, 0, kaypro484, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro Robie", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-COMP( 1985, kaypro2x, kaypro484, 0, kaypro484, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 2x", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // model 81-025
+COMP( 1984, robie, 0, 0, kaypro4x, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro Robie", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+COMP( 1985, kaypro2x, kaypro484, 0, kaypro484, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 2x", MACHINE_SUPPORTS_SAVE ) // model 81-025
COMP( 1985, kaypronew2, 0, 0, kaypronew2, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro New 2", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-COMP( 1985, kaypro4x, robie, 0, kaypro484, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 4x", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-COMP( 1986, kaypro1, kaypro484, 0, kaypro484, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 1", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-COMP( 198?, omni2, kayproii, 0, omni2, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Omni II Logic Analyzer", MACHINE_SUPPORTS_SAVE )
-COMP( 198?, omni4, kaypro484, 0, kaypro484, kaypro, kaypro_state, init_kaypro, "Omni Logic Inc.", "Omni 4 Logic Analyzer", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+COMP( 1985, kaypro4x, robie, 0, kaypro4x, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 4x", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+COMP( 1986, kaypro1, kaypro484, 0, kaypro1, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Kaypro 1", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+COMP( 198?, omni2, kayproii, 0, omni2, kaypro, kaypro_state, init_kaypro, "Non Linear Systems", "Omni II Logic Analyzer", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+COMP( 198?, omni4, kaypro484, 0, kaypro1, kaypro, kaypro_state, init_kaypro, "Omni Logic Inc.", "Omni 4 Logic Analyzer", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/includes/kaypro.h b/src/mame/includes/kaypro.h
index 370ea1d75d1..97de596cfe4 100644
--- a/src/mame/includes/kaypro.h
+++ b/src/mame/includes/kaypro.h
@@ -48,6 +48,8 @@ public:
void kaypro484(machine_config &config);
void kaypro10(machine_config &config);
void kaypro284(machine_config &config);
+ void kaypro4x(machine_config &config);
+ void kaypro1(machine_config &config);
void init_kaypro();