summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.gitattributes8
-rw-r--r--hash/ep64.xml96
-rw-r--r--hash/g7400.xml392
-rw-r--r--hash/interact.xml427
-rw-r--r--hash/kayproii.xml130
-rw-r--r--hash/mo5_cart.xml380
-rw-r--r--hash/odyssey2.xml1510
-rw-r--r--hash/to770_cart.xml18
-rw-r--r--hash/to7_cart.xml390
-rw-r--r--src/mess/drivers/enterp.c3
-rw-r--r--src/mess/drivers/interact.c3
-rw-r--r--src/mess/drivers/kaypro.c3
-rw-r--r--src/mess/drivers/odyssey2.c5
-rw-r--r--src/mess/drivers/thomson.c1204
14 files changed, 3975 insertions, 594 deletions
diff --git a/.gitattributes b/.gitattributes
index 55a8a4091b2..0817d44b51d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -79,10 +79,12 @@ hash/crvision.xml svneol=native#text/xml
hash/dim68k.xml svneol=native#text/xml
hash/einstein.xml svneol=native#text/xml
hash/electron_cart.xml svneol=native#text/xml
+hash/ep64.xml svneol=native#text/xml
hash/famicom_flop.xml svneol=native#text/xml
hash/fm77av.xml svneol=native#text/xml
hash/fm7_cass.xml svneol=native#text/xml
hash/fm7_disk.xml svneol=native#text/xml
+hash/g7400.xml svneol=native#text/xml
hash/galaxy.xml svneol=native#text/xml
hash/gameboy.xml svneol=native#text/xml
hash/gamecom.xml svneol=native#text/xml
@@ -100,6 +102,7 @@ hash/ibm5150_cass.xml svneol=native#text/xml
hash/ibm5170.xml svneol=native#text/xml
hash/ibmpcjr_cart.xml svneol=native#text/xml
hash/ibmpcjr_flop.xml svneol=native#text/xml
+hash/interact.xml svneol=native#text/xml
hash/intv.hsi svneol=native#text/plain
hash/intv.xml svneol=native#text/xml
hash/intvecs.xml svneol=native#text/xml
@@ -108,6 +111,7 @@ hash/iq151_cart.xml svneol=native#text/xml
hash/iq151_flop.xml svneol=native#text/xml
hash/jaguar.xml svneol=native#text/xml
hash/juicebox.xml svneol=native#text/xml
+hash/kayproii.xml svneol=native#text/xml
hash/kc_cart.xml svneol=native#text/xml
hash/kc_cass.xml svneol=native#text/xml
hash/kc_flop.xml svneol=native#text/xml
@@ -128,6 +132,7 @@ hash/megapc.xml svneol=native#text/xml
hash/megatech.xml svneol=native#text/xml
hash/mikrosha.xml svneol=native#text/xml
hash/mm1_flop.xml svneol=native#text/xml
+hash/mo5_cart.xml svneol=native#text/xml
hash/mpz80.xml svneol=native#text/xml
hash/msx.hsi svneol=native#text/plain
hash/msx1_cart.xml svneol=native#text/xml
@@ -146,6 +151,7 @@ hash/nes.xml svneol=native#text/xml
hash/next.xml svneol=native#text/xml
hash/ngp.xml svneol=native#text/xml
hash/ngpc.xml svneol=native#text/xml
+hash/odyssey2.xml svneol=native#text/xml
hash/ondra.xml svneol=native#text/xml
hash/orao.xml svneol=native#text/xml
hash/orion_cart.xml svneol=native#text/xml
@@ -227,6 +233,8 @@ hash/tdv2324.xml svneol=native#text/xml
hash/tg16.xml svneol=native#text/xml
hash/ti99_cart.xml svneol=native#text/xml
hash/tiki100.xml svneol=native#text/xml
+hash/to770_cart.xml svneol=native#text/xml
+hash/to7_cart.xml svneol=native#text/xml
hash/trs80m2.xml svneol=native#text/xml
hash/trsm100.xml svneol=native#text/xml
hash/tutor.xml svneol=native#text/xml
diff --git a/hash/ep64.xml b/hash/ep64.xml
new file mode 100644
index 00000000000..9c6e0145163
--- /dev/null
+++ b/hash/ep64.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<softwarelist name="enterp" description="Enterprise 64 / 128 floppies">
+
+ <software name="isdos" supported="no">
+ <description>IS-DOS v1.0</description>
+ <year>1985</year>
+ <publisher>Intelligent Software Ltd</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="isdos3_5.img" size="737280" crc="19db0f63" sha1="3842ff90a0930013e23b6e24a770ca1e8694855d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+<!-- TOSEC -->
+<!-- These have a WinImage bootsector, and contain traces of other files that are on the other disks -->
+
+ <software name="base" supported="no">
+ <description>The Base</description>
+ <year>1985</year>
+ <publisher>The Adventure Workshop</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="base, the (1985)(the adventure workshop)(part 1 of 2)[req isdos].img" size="737280" crc="ce0f0d3e" sha1="6978202b1de2415795df7fac9f395d12321b3a27" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="base, the (1985)(the adventure workshop)(part 2 of 2)[req isdos].img" size="737280" crc="3ce872f3" sha1="a467299ed78b40686795ddf13820c98ebbe9d81a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="deadline" supported="no">
+ <description>Deadline</description>
+ <year>1986</year>
+ <publisher>Infocom</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="deadline (1986)(infocom)[req isdos].img" size="737280" crc="e194e5c8" sha1="8d810e43fa07808883e3aa85cee702e41629856d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="island" supported="no">
+ <description>The Island</description>
+ <year>1985</year>
+ <publisher>The Adventure Workshop</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="island, the (1985)(the adventure workshop)[req isdos].img" size="737280" crc="691ab47c" sha1="aaa84c8d8484dee798eff4c0e3a445b165073d3f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="seastlkr" supported="no">
+ <description>Seastalker</description>
+ <year>1984</year>
+ <publisher>Infocom</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="seastalker (1984)(infocom)[req isdos].img" size="737280" crc="105f8a24" sha1="56f2c90e07664c73345630b98c7ae3de61649196" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="zork1" supported="no">
+ <description>Zork 1 - The Great Underground Empire</description><!-- why is com file ork1.com? -->
+ <year>1984</year>
+ <publisher>Infocom</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="zork 1 - the great underground empire (1984)(infocom)[req isdos].img" size="737280" crc="d41c0936" sha1="63fd32ef6b907bba1d7e0b36bb662e415f3fdc1c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="zork2" supported="no">
+ <description>Zork 2 - The Wizard of Frobozz</description><!-- why is com file ork2.com? -->
+ <year>1984</year>
+ <publisher>Infocom</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="zork 2 - the wizard of frobozz (1984)(infocom)[req isdos].img" size="737280" crc="0a1d32ac" sha1="61ed70c927ea584ee57aef62fb1af011dff11927" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="zork3" supported="no">
+ <description>Zork 3 - The Dungeon Master</description><!-- why is com file ork3.com? -->
+ <year>1984</year>
+ <publisher>Infocom</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="737280">
+ <rom name="zork 3 - the dungeon master (1984)(infocom)[req isdos].img" size="737280" crc="696cb95d" sha1="e94ca5e044e82a44af45d40aa382cfab8055cfda" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+
+</softwarelist> \ No newline at end of file
diff --git a/hash/g7400.xml b/hash/g7400.xml
new file mode 100644
index 00000000000..f6bb6088b64
--- /dev/null
+++ b/hash/g7400.xml
@@ -0,0 +1,392 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+
+<!--
+Some of these were normal Videopac G7000 carts with enhanced graphics for the Videopac Plus G7400 and the unreleased
+Odyssey³ Command Center
+-->
+<!--
+Undumped prototypes:
+USA:
+TMS2764
+Freedom Fighters
+Pick Axe Pete
+
+http://www.ozyr.com/rene/PICS/protos.jpg
+Flash Point (PAL conversion exists)
+Modem Program
+Baseball
+Attack of the Time Lord
+Requins [Shark Hunter]
+monsternet dedicated g7400 840209 [Norseman]
+58+ Air Battle
+http://www.ozyr.com/rene/PICS/odyssey3_set.jpg
+There is an Odyssey³ Command Center Voice Module, could be differences to released Odyssey² version.
+
+Europe:
+Melrep
+
+Do Videopac+/Odyssey3 versions exist?:
+Syracuse (France)
+Robot City (USA)
+Interpol (USA)
+
+-->
+
+<softwarelist name="vg7400" description="Phillips Videopac Plus G7400 carts">
+
+<!-- Phillips Videopac+ G7400 carts -->
+
+ <software name="airbattl" supported="no">
+ <description>Air Battle (Euro)</description>
+ <year>1983</year>
+ <publisher>Phillips</publisher>
+ <info name="serial" value="58"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="12288">
+ <rom name="air battle (europe).bin" size="12288" crc="d94d4109" sha1="66837bbd0b9df12c89215f533a1ec8b5a42d5610" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="backgamm" supported="no">
+ <description>Backgammon (Euro)</description>
+ <year>1982</year>
+ <publisher>GST Video</publisher>
+ <info name="programmer" value="Mick Rouse"/>
+ <info name="serial" value="48"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="backgammon (europe).bin" size="8192" crc="9d2c45dc" sha1="bcb420dc1cc6fa5cf13dc46c546145953fb11643" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="billiard" cloneof="billard" supported="no">
+ <description>Billiard (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="billiard (europe).bin" size="8192" crc="3c949a57" sha1="4c7f1dc569e9abe829e36dbe42d91d39419bfd60" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="billard" supported="no">
+ <description>Billard+ (Fra)</description>
+ <year>1983</year>
+ <publisher>Jopac</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="JXA D03"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="billiard americain (france).bin" size="8192" crc="4cec1404" sha1="004ea921b691db6b310f5b51c495df9b86be3aa8" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="flipper" supported="no">
+ <description>Flipper+ (Fra)</description>
+ <year>198?</year>
+ <publisher>Jopac</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="billard electrique (france).bin" size="8192" crc="ac5c74e6" sha1="215439c1044b93888b71bd6a210ebfda93d97c22" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="claypig" supported="no">
+ <description>Clay Pigeon (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="clay pigeon (europe).bin" size="8192" crc="6fabcb7e" sha1="3f6dbef6bf13427a52f4f7324d9c33cfce52adb0" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cosmic" supported="no">
+ <description>Cosmic Conflict (Euro)</description>
+ <year>1983</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="cosmic conflict (europe).bin" size="8192" crc="a8dbed92" sha1="99932be5496a0daa7dffc70c7a3ab85bfa726043" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="3csaucpt" cloneof="3rcsocpt" supported="no">
+ <description>Grand Prix+ (Fra)</description>
+ <year>1983</year>
+ <publisher>Jopac</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="course de voitures - autodrome - cryptogramme (france).bin" size="8192" crc="9bc04ebb" sha1="e69e524eba10976310333787eafef1d18da6d568" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="demon" supported="no">
+ <description>Demon Attack+ (Fra)</description>
+ <year>198?</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="demon attack (france).bin" size="8192" crc="50af9d45" sha1="cfd1337c8d5a40f2f4e1ab49158a8963764919da" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="exojet" supported="no">
+ <description>Exojet+ (Fra)</description>
+ <year>198?</year>
+ <publisher>Jopac</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="exojet (france).bin" size="8192" crc="cfca6f39" sha1="8aafcd055a2ef45c3d85804c8a3ea04d9a9732ab" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- possibly only the pal converted dump is available -->
+ <software name="flashp" supported="no">
+ <description>Flashpoint (USA, Prototype)(PAL Conversion)</description>
+ <year>2004</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="flashpoint (usa)(proto)(pal conversion).bin" size="8192" crc="06861a9c" sha1="6810ccc1508244216860271417a866618a731ae2" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="flippera" supported="no">
+ <description>Flipper+ (Fra)(Alt?)</description>
+ <year>198?</year>
+ <publisher>Jopac</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="flipper (europe).bin" size="8192" crc="2fce9245" sha1="6510b54e3e9bf9bc7ae558d1d16fa73294701ddb" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="freedom" supported="no">
+ <description>Freedom Fighters (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="freedom fighters (europe).bin" size="8192" crc="1931f5c5" sha1="3f8d6cd5bed5244b400c69640065c77ec103a6cd" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="liberte" cloneof="freedom" supported="no">
+ <description>Combattants de la Liberté (Fra)</description>
+ <year>198?</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="guerre de l'espace (france).bin" size="8192" crc="105231f8" sha1="9220dc32d3bb9225292f3e709d1320b9b1052140" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="helicopt" supported="no">
+ <description>Helicopter Rescue (Euro)</description>
+ <year>1983</year>
+ <publisher>Phillips</publisher>
+ <info name="serial" value="59"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="helicopter rescue (europe).bin" size="16384" crc="c4134df8" sha1="7369a2d3fb81ddc4c8086bbcd245c11ea7aaa331" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="2bsktbwl" supported="no">
+ <description>Basket Bowling+ (Fra)</description>
+ <year>198?</year>
+ <publisher>Jopac</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="basket - bowling + (france).bin" size="8192" crc="b5fb1416" sha1="c341ed24346546b75de2ab24af1a9223ca2d1aac" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="2bwlbskt" cloneof="2bsktbwl" supported="no">
+ <description>Tenpin Bowling/Basketball (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="tenpin bowling - basketball (europe).bin" size="8192" crc="e5fb4260" sha1="29d5c9b252e65d257f1472e343039ed8c47eeb05" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bees" supported="no">
+ <description>Killer Bees (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="killer bees (europe).bin" size="8192" crc="dee70b33" sha1="9253586337917bda0b7c43dbb251999b6c974f30" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="loony" supported="no">
+ <description>Loony Balloon (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <info name="serial" value="54"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="loony balloon (europe).bin" size="8192" crc="b932d584" sha1="8dd1cba7ce6622aaf5e1b432ab8d47e395d211f2" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="motocras" supported="no">
+ <description>Moto-Crash (Fra)</description>
+ <year>198?</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="moto-crash (france).bin" size="8192" crc="68560dc7" sha1="f6de2f95e5cf4849a4d7071b1a470c3ef0634e5f" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="neutron" supported="no">
+ <description>Neutron Star (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <info name="serial" value="55"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="12288">
+ <rom name="neutron star (europe).bin" size="12288" crc="be11157c" sha1="fde3e0791b9cbef91a8462764ebf09a457ffe038" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="nightmar" supported="no">
+ <description>Nightmare (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <info name="serial" value="53"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="nightmare (europe).bin" size="8192" crc="26b0ff5b" sha1="c8988f13c2af7632de6ef326ed617279bf6c8221" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="norseman" supported="no">
+ <description>Norseman (Euro)</description>
+ <year>198?</year>
+ <publisher>GST Video</publisher>
+ <info name="programmer" value="Andy Eltisand Jake Dowding"/>
+ <info name="serial" value="57"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="norseman (europe).bin" size="8192" crc="a75c42f8" sha1="8e8fe23225631eef673517f3e2970eade15b7a5c" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pickaxe" supported="no">
+ <description>Pickaxe Pete (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="pickaxe pete (europe).bin" size="8192" crc="b2ffb353" sha1="182829b4cd5184ab3705d26f75e3d8c497b5abf6" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="3rcsocpt" supported="no">
+ <description>Race/Spin-out/Cryptogram (Euro)</description>
+ <year>1983</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="race - spin-out - cryptogram (europe).bin" size="8192" crc="ee3ee642" sha1="69a73208c0c0a6d1b879e62d0ccf3a5a534510bd" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="infernal" supported="no">
+ <description>La Ruche Infernale (Fra)</description>
+ <year>198?</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="la ruche infernale (france).bin" size="8192" crc="20e2f7be" sha1="34f91468bf42b26eb237af342164043c16d173ca" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="satellit" supported="no">
+ <description>Satellite Attack (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="satellite attack (europe).bin" size="8192" crc="b4735e6b" sha1="8bec213886d026040ed2037f01e8e9f81fa395b9" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="stone" supported="no">
+ <description>Stone Sling (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="stone sling (europe).bin" size="8192" crc="2391c2fb" sha1="d358fcc6a0fa6469d7063114aa0dc143af14e3e9" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hawks" supported="no">
+ <description>Terrahawks (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="terrahawks (europe).bin" size="8192" crc="764894a1" sha1="0c01df9799b6d0235fef3c86fec1beac5b0b2d74" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rally" supported="no">
+ <description>Trans American Rally (Euro)</description>
+ <year>198?</year>
+ <publisher>Phillips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="trans american rally (europe).bin" size="16384" crc="0d2d721d" sha1="be8a9f2aa66acb4f5e288d1a77afada9565b530a" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="englouti" supported="no">
+ <description>Le Tresor Englouti (Fra)</description>
+ <year>198?</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="le tresor englouti (france).bin" size="8192" crc="b2f0f0b4" sha1="c0fcaef6a18026e0acc04c3d48443d768043cb03" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+</softwarelist> \ No newline at end of file
diff --git a/hash/interact.xml b/hash/interact.xml
new file mode 100644
index 00000000000..46bb75cbbdd
--- /dev/null
+++ b/hash/interact.xml
@@ -0,0 +1,427 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<softwarelist name="interact" description="Interact Family Computer cassettes">
+<!--
+UNDUMPED:
+These are from the Spring 1981 catalog from Micro Video, after they aquired the rights from Interact
+oldcomputers.net/interact/MV_catalog.pdf
+
+*16k of RAM is needed
+Games:
+Goofy Golf*
+Combat!*
+Superbowl
+Football* (QQA-308)
+Astro-Logic*
+Hammurabi*
+Life*
+Mindbender*
+The Troll Hole Adventure*
+Beat the Clock*
+Thinkcards*
+Computer Quiz
+
+Data Sets for use with Computer Quiz:
+TV Trivia The World of Books
+Famous People World Geography
+Sports Scene American History
+Music Masters Complete the Quote
+Current Exents Total Trivia
+Popular Pairs Pseudonyms
+The Sciences Famous Firsts
+Who Said It? All About Animals
+The Movies The Human Body
+
+Programming Aids:
+EZEDIT Program Editor*
+Microsoft 8K Fast Graphics BASIC* (replaces Level II BASIC)
+Micro Video Dissassembler
+Micro Video Monitor
+Bombs Away! Programming Tutorial
+Vector Graphics Subroutines
+
+BASIC Programs:
+Aircraft Lander
+Artillery Command
+Bowling
+Bull Market
+Checkers
+Datalog
+Driver's Seat
+Dr. Dooms's Leap for Life
+Eliza
+Lunar Lander
+My Grandfather's Clock
+Perpetual Calendar
+
+RS232 Peripheral Interface and Software: (RS232 was a printer for the Interact)
+RS232 BASIC
+RS232 Ezedit
+Microtest
+Print-A-Sketch
+Micro Video Communicator
+Loan Evaluator
+
+These need the 32K Ram upgrade:
+Microsoft BASIC-32K
+32K Translator
+
+Personal Management Software:
+Financial Library I
+Financial Library II
+
+Not in the catalog:
+Alignment Tape (Micro Video)
+-->
+
+<!-- Interact Family Computer and Micronique Hector 1 cassettes -->
+
+<!-- Interact-published cassettes -->
+ <!-- Tape 101 -->
+ <software name="blckjack">
+ <description>Blackjack</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQS-101"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="blackjack (19xx)(interact electronics inc.).cin" size="7664" crc="a4c182a4" sha1="96691a7278794125e475d311cbc862cc8eb09937" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 102 -->
+ <software name="startrck">
+ <description>Star Track</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="star track (19xx)(interact electronics inc.).cin" size="8178" crc="339244be" sha1="8726957a975ce6ee8ce5ba7ade77f6a4fa971682" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 103 -->
+ <software name="concentr">
+ <description>Concentration</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQS-103"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="concentration (19xx)(interact electronics inc.).cin" size="7664" crc="fcf13c4c" sha1="434ebfc8e02b965b755e51529b68f18fae88b061" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 105 -->
+ <software name="vidchess">
+ <description>Video Chess</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQS-105"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="video chess (19xx)(interact electronics inc.).cin" size="8178" crc="6e8dc7da" sha1="50b51815f24b9ef373e577801d069e31ac880235" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 106 -->
+ <software name="microchs">
+ <description>Microchess</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="16356">
+ <rom name="interact microchess (19xx)(interact electronics inc.).cin" size="16356" crc="e0e70a16" sha1="e95855334248f353c5302108eb4a87e4cb76c068" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 107 -->
+ <software name="backgamm">
+ <description>Backgammon</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQS-107"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="backgammon (19xx)(interact electronics inc.).cin" size="8178" crc="20034353" sha1="52fa72d43bcbcadaaae9139ee799374d37f1a3fc" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 108 -->
+ <software name="reversi">
+ <description>Reversi</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher><!-- re-released by Micro Video -->
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="reversi (19xx)(interact electronics inc.).cin" size="8178" crc="ccc4f285" sha1="064d325515a637e81631d8fb1fd3a963521991bf" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 201 -->
+ <software name="addemup">
+ <description>Add 'Em Up</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQE-201"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="add em up (19xx)(interact electronics inc.).cin" size="7664" crc="86182e2c" sha1="b494a1e6693123d265a4b7ae4e4e3c6ec396508d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 202 -->
+ <software name="compaclr">
+ <description>Compute-A-Color</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="computer-a-color (19xx)(interact electronics inc.).cin" size="7664" crc="3ffed189" sha1="b96af5b18692d9992bac4e11699e37c8ffa1454d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 203 -->
+ <software name="hangman">
+ <description>Hangman</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQE-203"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="hang-man (19xx)(interact electronics inc.).cin" size="7664" crc="088856de" sha1="1aca3300746f867a4fabbda26c73c0228e7ca0c4" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 206 -->
+ <software name="knockdwn">
+ <description>Knockdown</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQE-206"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="knockdown (19xx)(interact electronics inc.).cin" size="7664" crc="ef2c1e5e" sha1="1cf602ba1a12572b1b6582409ae454f20d48da0e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 207 -->
+ <software name="edubasic">
+ <description>Edu-Basic</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="edu-basic (19xx)(interact electronics inc.).cin" size="7664" crc="19647c46" sha1="5d89279c3f3c5dd21d2e7d307ad4bea361370272" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 208 -->
+ <software name="mmaestro">
+ <description>Music Maestro</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQE-208"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="music maestro (19xx)(interact electronics inc.).cin" size="8178" crc="f0ae4f00" sha1="e6d10c52ece74f263e824d98f7182d539f757951" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 301 -->
+ <software name="regatta">
+ <description>Regatta</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQA-301"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="regatta (19xx)(interact electronics inc.).cin" size="7664" crc="6e10b63d" sha1="ab4feef12835a6889119e13a7e0f9a5a3340e8b4" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 302 -->
+ <software name="blazers">
+ <description>Trailblazers</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher><!-- re-released by Micro Video -->
+ <info name="serial" value="QQA-302"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="trail blazers (19xx)(-).cin" size="7664" crc="fd073328" sha1="2d40770c8bb8bd9b49708f77d6a36100fb3496b2" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 303 -->
+ <software name="dogfight">
+ <description>Dogfight</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQA-303"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="dogfight (19xx)(interact electronics inc.).cin" size="8178" crc="d1c1f73f" sha1="e973dabd289a03a8d04d8a93f27b0d263360ff1c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 304 -->
+ <software name="showdown">
+ <description>Showdown</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQA-304"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="showdown (19xx)(interact electronics inc.).cin" size="8178" crc="5a3986df" sha1="2094f7cec4da5a2bdeae4920b47213bf0168c9f7" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 305 -->
+ <software name="compmaze">
+ <description>Computer Maze</description>
+ <year>19??</year>
+ <publisher>Interact Electronics</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="computer maze (19xx)(interact electronics inc.).cin" size="7664" crc="b96e1f71" sha1="900e45e86b2ec79cf2363ab5e5b3a8a4b8c75a8b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 306 -->
+ <software name="breakthr">
+ <description>Breakthrough</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQA-306"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="breakthrough (19xx)(interact electronics inc.).cin" size="7664" crc="4cf838dc" sha1="e83102ccac40e5e797670510aa3c05f89b9b1a3d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 307 -->
+ <software name="volley">
+ <description>Volleyball</description>
+ <year>1979</year>
+ <publisher>Interact Electronics</publisher><!-- re-released by Micro Video -->
+ <info name="serial" value="QQA-307"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="volleyball (19xx)(-).cin" size="8178" crc="24c0e861" sha1="b81b3b210ff6e5117ffc6ac7b64da2bfa4b41ee5" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 401 -->
+ <software name="biorhy">
+ <description>Biorhythm</description>
+ <year>1978</year>
+ <publisher>Interact Electronics</publisher>
+ <info name="serial" value="QQK-401"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="biorhythm (19xx)(interact electronics inc.).cin" size="7664" crc="3cce40b1" sha1="16a5e156bb5a1ccbe2df54c073c4e7c8dee4793a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!-- Tape 505 -->
+ <software name="calculat">
+ <description>Calculator</description>
+ <year>1979</year>
+ <publisher>Interact Electronics</publisher><!-- re-released by Micro Video -->
+ <info name="serial" value="QQM-505"/>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="calculator (19xx)(-).cin" size="8178" crc="2e7fe018" sha1="07a95803e37f30c85753db38f0c8df493d20ac4d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+<!-- Other cassettes -->
+
+ <software name="checkbk">
+ <description>Checkbook Balancer</description>
+ <year>1978?</year>
+ <publisher>Micro Video</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="11011">
+ <rom name="checkbook balancer (19xx)(-).cin" size="11011" crc="f07effc7" sha1="74116d39b67d296f4b0344037f38846ebee39541" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="diagtape">
+ <description>16K Diagnostic Tape</description>
+ <year>19??</year>
+ <publisher>Micro Video</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="diagnostic tape (19xx)(-).cin" size="7664" crc="e1200d18" sha1="fc5266c183856f65f2bc676fb6d009e4f4ac9d28" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="earthout">
+ <description>Earth Outpost I</description><!-- requires 16k of ram -->
+ <year>1980</year>
+ <publisher>Micro Video</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="12905">
+ <rom name="eart outpost i (1980)(micro video corp).cin" size="12905" crc="b4b22fbd" sha1="c8220d61b43f63a22833fa1dd9cf4e2c3aa9e12f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="message">
+ <description>Message Center</description>
+ <year>1978</year>
+ <publisher>Micro Video</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="7664">
+ <rom name="message center (19xx)(-).cin" size="7664" crc="b1b012fc" sha1="84cb3b3056a6cc3cae8706742eb6840e45dbe314" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="basic">
+ <description>Microsoft Basic v4.7</description>
+ <year>1978</year>
+ <publisher>Microsoft</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="10857">
+ <rom name="microsoft basic v4.7 (1978)(microsoft).cin" size="10857" crc="c166c8e8" sha1="cd16c96d84bbb3a067458fcb8f72c779b9dec808" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="tdown">
+ <description>Touchdown</description>
+ <year>19??</year>
+ <publisher>Micro Video</publisher>
+ <part name="cass" interface="interact_cass">
+ <dataarea name="cass" size="8178">
+ <rom name="touch down!! (19xx)(-).cin" size="8178" crc="e047d0fa" sha1="2b86fbebcd01af754b8c9cf08b20e1a8a6b513d7" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist> \ No newline at end of file
diff --git a/hash/kayproii.xml b/hash/kayproii.xml
new file mode 100644
index 00000000000..645c3cf9ec8
--- /dev/null
+++ b/hash/kayproii.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<softwarelist name="kayproii" description="Kaypro II floppies list">
+
+<!-- Operating systems -->
+
+ <software name="cpmboot">
+ <description>CP/M 2.2 Boot Disk (Ger)</description>
+ <year>19??</year>
+ <publisher>Digital Research</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="cp-m 2.2 boot disk (19??)(digital research)(de).td0" size="139911" crc="ab5d7ae0" sha1="b73622c17306e32b42cef31d58616378329605ef" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cpm22">
+ <description>CP/M 2.2</description>
+ <year>19??</year>
+ <publisher>Digital Research</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="cp-m 2.2 (19??)(digital research).imd" size="188479" crc="602c4f18" sha1="c4158b4f84066514af2b74cb6d0915f661402819" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+<!-- Programs -->
+
+ <software name="calc">
+ <description>Perfect Calc v1.00</description>
+ <year>1982</year>
+ <publisher>Perfect Software</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="perfect calc v1.00 (1982)(perfect software).imd" size="163451" crc="d7c79f18" sha1="3666da3855bfc9c82a328fee67906ac04b6bd75b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="speller">
+ <description>Perfect Speller</description>
+ <year>1982</year>
+ <publisher>Perfect Software</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="perfect speller (1982)(perfect software).imd" size="150160" crc="c03fc828" sha1="4a405c65a55b5ba9be17b638cfe9c0b539698fbc" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="writer">
+ <description>Perfect Writer</description>
+ <year>1982</year>
+ <publisher>Perfect Software</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="perfect writer (1982)(perfect software).imd" size="197701" crc="43cb00ac" sha1="67145d125f3f50e660ae8b2e299aad8200d59a7f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="writerdoc" cloneof="writer">
+ <description>Perfect Writer - Docs and Utilities</description>
+ <year>198?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="perfect writer - docs and utilities (198?)(-).imd" size="151202" crc="94cda75d" sha1="46348510ff682ef3a8a1e5a27f1625beae21980e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="writerless" cloneof="writer">
+ <description>Perfect Writer - Lessons</description>
+ <year>198?</year>
+ <publisher>Perfect Software</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="perfect writer - lessons (198?)(perfect software).imd" size="180829" crc="b8bba8ca" sha1="6e18f014337efcb70248b8cff2483bc1d5c8ec4f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="profit">
+ <description>Profit Plan</description>
+ <year>1982</year>
+ <publisher>Chang Laboratories</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="profit plan (1982)(chang laboratories).imd" size="113909" crc="1d967882" sha1="03d00c14e57e0e84e0e1fa127ab36b47d1731ea4" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="teach">
+ <description>Select - Teach</description>
+ <year>1981</year>
+ <publisher>Select Information Systems</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="select - teach (1981)(select information systems).imd" size="148661" crc="459b51f0" sha1="7bb16452689cbb39a9c8a2088306a98b2f3ca31a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="work">
+ <description>Select - Work Processor</description>
+ <year>1981</year>
+ <publisher>Select Information Systems</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="select - work processor (1981)(select information systems).imd" size="106254" crc="ebcb98c5" sha1="1c8d1a3228e6ac5fdffe7409d921499db22fea72" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wordstar">
+ <description>WordStar v3.3</description>
+ <year>1983</year>
+ <publisher>MicroPro</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="195328">
+ <rom name="wordstar v3.3 (1983)(micropro).imd" size="202296" crc="64e0f3d6" sha1="6abf468d538e65e82bc0b85cc5d656282048ce3c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist> \ No newline at end of file
diff --git a/hash/mo5_cart.xml b/hash/mo5_cart.xml
new file mode 100644
index 00000000000..71c2e199c7b
--- /dev/null
+++ b/hash/mo5_cart.xml
@@ -0,0 +1,380 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<softwarelist name="mo5_cart" description="Thomson MO5 cartridges">
+
+
+ <software name="6809ass">
+ <description>6809 Assembler v1.0</description>
+ <year>1984</year>
+ <publisher>Microsoft</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="6809 language module v1.0 (1984)(microsoft).m5" size="16384" crc="77be59be" sha1="63fb4d24cf1ae6d1028785311922688f748f000a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="6809assa" cloneof="6809ass">
+ <description>6809 Assembler v1.0 (Alt)</description>
+ <year>1984</year>
+ <publisher>Microsoft</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="6809 language module v1.0 (1984)(microsoft)[a].m5" size="16384" crc="f9467e6f" sha1="fcfd662c87c17f9bb8303f26b75565c0a64d219b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="6809mac" cloneof="6809ass">
+ <description>6809 Macro Assembler v3.6 (Hacked)</description>
+ <year>1984</year>
+ <publisher>Microsoft</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="6809 macroassembler v3.6 (1984)(microsoft)[h prehisto].m5" size="16384" crc="7a6a3ae0" sha1="bd6fa3a4ab88a83583506eab42f7a4fc8a124959" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="agenda">
+ <description>Agenda</description>
+ <year>1984</year>
+ <publisher>Answare</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="agenda (1984)(answare)(fr).m5" size="16384" crc="5c1a5dfa" sha1="5a6eadd0fd38b9c66f022bbb6409a6b768fc2925" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="airbus">
+ <description>Airbus</description>
+ <year>1984</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="airbus (1984)(vifi-nathan)(fr).m5" size="16384" crc="0686d6b5" sha1="f5341425cb3cfeba6358c8199c6cc852334ff624" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="airbusa" cloneof="airbus">
+ <description>Airbus (Alt)</description>
+ <year>1984</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="airbus (1984)(vifi-nathan)(fr)[a].rom" size="16384" crc="ec6f23c0" sha1="ee5974ecd150d51b33ca417e10954c67d8205830" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blitz">
+ <description>Blitz!</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="blitz (1985)(to tek).m5" size="16384" crc="9725c110" sha1="d5b8882708e539f449746c5451054359b1273f3a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blitza" cloneof="blitz">
+ <description>Blitz! (Alt)</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="blitz! (1985)(to tek)[a].m5" size="16384" crc="19dde6c1" sha1="625c3b59843859fba13ea27394d9f8fc9faacaeb" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="carnet">
+ <description>Carnet d'Adresses</description>
+ <year>1984</year>
+ <publisher>Answare</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="carnet d'adresses (1984)(answare)(fr).m5" size="16384" crc="495b0538" sha1="296ff805d1067eeaeb94966f333d04f14d82653e" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="colrcalc">
+ <description>Colorcalc</description>
+ <year>1985</year>
+ <publisher>FIL</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="32768">
+ <rom name="colorcalc (1985)(fil)(fr).m5" size="32768" crc="1f41dc16" sha1="d1d848d47cc927d44bc4f6fb431437675ba9cb30" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="clrpaint">
+ <description>Colopaint</description>
+ <year>1985</year>
+ <publisher>Thomson</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="32768">
+ <rom name="colorpaint (1985)(thomson)(fr).m5" size="32768" crc="6548bc4e" sha1="4ab870877ffd25eec93d65507c4afe262369b0a1" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="controle">
+ <description>Controle Aerien</description>
+ <year>1984</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="controle aerien (1984)(vifi-nathan).m5" size="16384" crc="897687fa" sha1="fc3b4ceff31c996a9388fd1dba642dce69c58f18" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="desass">
+ <description>Desassembleur Dump &amp; Patch v4.0 (PD)</description>
+ <year>1986</year>
+ <publisher>Daniel Coulom</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="desassembleur dump &amp; patch v4.0 (1986)(daniel coulom)(fr)(pd).m5" size="16384" crc="85a6bb97" sha1="0d0720075bc879ff331f3345bf77a06cf0588f77" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="enigma">
+ <description>Enimatika</description>
+ <year>1984</year>
+ <publisher>Answare</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="enigmatika (1984)(answare)(fr).m5" size="16384" crc="af2a0ce5" sha1="f14c167f61ac8c82b34fc689acc5c33eb1829ab6" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+
+ <software name="gemini">
+ <description>Gemini</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="gemini (1982)(vifi-nathan)(fr).m5" size="16384" crc="cc30bba2" sha1="67be5d9736c50d6c8c4237eec483b0fef1574a4a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="glouton">
+ <description>Blitz (Fra)</description>
+ <year>1986</year>
+ <publisher>Hebdogiciel</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="glouton (1986)(hebdogiciel)(fr).m5" size="16384" crc="c4f65bfc" sha1="1090e0acf99b240c5f22e20458464d96e1237eda" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gloutona" cloneof="glouton">
+ <description>Blitz (Fra, Alt)</description>
+ <year>1986</year>
+ <publisher>Hebdogiciel</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="glouton (1986)(hebdogiciel)(fr)[a].m5" size="16384" crc="c7375598" sha1="f4497198af448582eb05c2da1d236cd8cae4219a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="grille">
+ <description>La Grille</description>
+ <year>1985</year>
+ <publisher>ASELEC</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="grille, la (1985)(aselec)(fr).m5" size="16384" crc="2d1341d4" sha1="5a759ba0240e0afcb9e99bbf55e6460f5786dc85" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jane">
+ <description>Jane</description>
+ <year>1985</year>
+ <publisher>Thomson</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="65536">
+ <rom name="jane (1985)(thomson)(fr).m5" size="65536" crc="18bf5e9d" sha1="60dc65955a195124f4f96408f1a831bbabdd0e7d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="logo">
+ <description>LOGO v1.0</description>
+ <year>1984</year>
+ <publisher>Soli</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="logo v1.0 (1984)(soli)(fr).m5" size="16384" crc="0a88a630" sha1="8191a773bfbbb31ed627a7c756a6ff2f05c0daeb" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="logoa" cloneof="logo">
+ <description>LOGO v1.0 (Alt)</description>
+ <year>1984</year>
+ <publisher>Soli</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="logo v1.0 (1984)(soli)(fr)[a].m5" size="16384" crc="3ae8b50c" sha1="0b7b30125c4f7cba4acfe661efad2d56e49d1db0" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lsegedl">
+ <description>LSEG-EDL v3.2</description>
+ <year>1985</year>
+ <publisher>ASELEC</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="lseg-edl v3.2 (1985)(aselec)(fr).m5" size="32768" crc="3eef56d5" sha1="9f4de09c374b42f81d897d7333361432cbd1f6d3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="maison">
+ <description>La Maison d'Amedee</description>
+ <year>1984</year>
+ <publisher>ASELEC</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="maison d'amedee, la (1984)(aselec)(fr).m5" size="16384" crc="ec111e92" sha1="a802563b6ab578c60b4eaa1d6aab677c1d2652a3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="melimemo">
+ <description>Melimemot</description>
+ <year>1983</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="melimemot (1983)(vifi-nathan)(fr).m5" size="16384" crc="8bf8f98d" sha1="603656e072c30e0231f4fd16d0a778003eb8836f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="melodia">
+ <description>Melodia</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="melodia (1982)(vifi-nathan)(fr).m5" size="16384" crc="f3c9eaf2" sha1="90d1b03febc206c73ea582c0c50d00d551c1e3d0" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mine2049" supported="no">
+ <description>Miner 2049er</description>
+ <year>198?</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="miner 2049er (198x)(to tek)(fr).m5" size="16384" crc="a3fe074a" sha1="179e111030c1d04733a297bf07b5bfacca17e859" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="motus">
+ <description>Motus</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="motus (1982)(vifi-nathan)(fr).m5" size="16384" crc="7f2ccfca" sha1="224e80b62708ee4a17c2e1a166ef08565408e271" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="peche">
+ <description>La Peche a la Barre</description>
+ <year>1984</year>
+ <publisher>ASELEC</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="peche a la barre, la (1984)(aselec)(fr).m5" size="16384" crc="79dddaf6" sha1="f80eb48e5e1ede2d3954f57f1132fc2b972521d5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pictor">
+ <description>Pictor</description>
+ <year>1983</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="pictor (1983)(vifi-nathan)(fr).m5" size="16384" crc="6f3eb24d" sha1="0ada709e69073930872190a391a32aac5d38ee92" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="trap">
+ <description>Trap</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="trap (1982)(vifi-nathan)(fr).m5" size="16384" crc="95fb063b" sha1="7f90b9fd3c7931afd5f4cd0584c34f12f80d9049" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tridi444">
+ <description>Tridi444</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="mo5_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="tridi444 (1982)(vifi-nathan)(fr).m5" size="16384" crc="d74554e2" sha1="b091d4926e63ad77c04e793883fe6436c43dc91e" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+
+</softwarelist>
diff --git a/hash/odyssey2.xml b/hash/odyssey2.xml
new file mode 100644
index 00000000000..d2ee18f79dd
--- /dev/null
+++ b/hash/odyssey2.xml
@@ -0,0 +1,1510 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+TODO:
+add first release date were applicable
+add usage for those which use 2nd joystick (<info name="usage" value="Uses the 2nd joystick" />)
+add programmers (<info name="programmer" value=""/>)(mainly Ed Averett)
+add ntsc pal compatibility (<sharedfeat name="compatibility" value="NTSC,PAL"/>)
+add rom names from pcbs (lack of)
+add serials for radiola and jopacs
+-->
+<!--
+Undumped:
+Spaans (spanish to dutch translator)
+Crazy Horses
+
+Protos:
+Bastion youtube.com/watch?v=cFdmgs4r7_E
+Catburglar youtube.com/watch?v=DDsWDFxy0oE
+Himalaya youtube.com/watch?v=L_lvOs6EnA4
+SoundTool youtube.com/watch?v=7JYn6B7rxqw
+Terrahawks youtube.com/watch?v=AXk7OSA6NGg
+
+http://www.ozyr.com/rene/PICS/protos.jpg
+Sherlock Holmes Consulting Detective (programmed by Ed Friedman, most likely dumped and hoarded)
+Back Gammon
+Freedom Fighters
+K.C.'s Crazy Chase
+Killer Bees (also 10/12/82 (silent version), and 11/12/82 builds exist)
+Power Lords
+Handicap I (?)
+Frogger
+Robot City
+Requins (Shark Hunter?)
+K.C. Munchkin!
+Pick Axe Pete
+
+Unreleased, possibly no prototypes exist:
+A Turma da Mônica [Mônica's Gang]
+Pink Panther
+Clean Up Yer Act (programmed by Robert S. Harris, never completed)
+Star Wars (GST Video)
+Moonsweeper (Imagic)
+Fathom (Imagic)
+-->
+<!--
+NOTE:
+PAL colours leave a lot to be desired
+Chess needs emulation of the C7010 Chess Module, which had a NSC800 CMOS microprocessor, which gave the G7000 extra CPU and memory.
+The C7420 Home Computer Module, which contains a Z80 microprocessor running at 3.574 MHz,
+adds 16K RAM and 18K ROM, that plugs into the G7000 needs to be dumped.
+-->
+<softwarelist name="odyssey2" description="Magnavox Odyssey2 carts">
+<!-- Philips Videopac G7000/Magnavox Odyssey² carts -->
+
+<!-- Applications -->
+ <software name="compprog">
+ <description>Computer Programmer (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="9"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="computer programmer (europe).bin" size="2048" crc="b590cf14" sha1="913c1961dfa17b5873428f57429e3809580ff906" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="compintr" cloneof="compprog">
+ <description>Computer Intro (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AC9406"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="computer intro (usa).bin" size="2048" crc="95efa98b" sha1="f93c448243db428a4c9e2354596844ed07bb7530" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="newscast">
+ <description>Newscaster (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="A"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="newscaster (europe).bin" size="2048" crc="85dfcdd7" sha1="183b3b1b70db58cc9ada575cc324353f2e89c2ce" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="keyboard" cloneof="newscast">
+ <description>Keyboard Creations! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AC9433"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="keyboard creations (usa).bin" size="2048" crc="688fad11" sha1="8276ca41e571478eae2dd6add7f79bc7f8bd60de" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="musician">
+ <description>Musician (Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="31"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="musician (europe).bin" size="4096" crc="afb23f89" sha1="7445f4df9017c4d2ea94542d0db335dc18c9d7ed" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="typetell">
+ <description>Type &amp; Tell! (USA)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Robert L. Cheezem" />
+ <info name="serial" value="AC9440"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="type and tell (usa).bin" size="4096" crc="b936bd78" sha1="40458eaf84a71f509b4069775e49551ce5152697" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+<!-- Educational -->
+ <software name="number">
+ <description>Playschool Maths (Euro) ~ I've Got Your Number (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AC9413 (USA) ~ 13 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="i've got your number (usa, europe).bin" size="2048" crc="1c8368e7" sha1="498cb0882d8a692042889e83775a83cf267a1837" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2mthecho">
+ <description>Mathematician/Echo (Euro) ~ Math-a-Magic!/Echo! (USA)</description>
+ <year>1978</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 1 for Mathematician/Math-a-Magic, press 2 for Echo" />
+ <info name="serial" value="AJ9405 (USA) ~ 7 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="math-a-magic - echo (usa, europe).bin" size="2048" crc="dc5afaa2" sha1="4dac55de1afadc1af2ac9166d7d47c462a8e797a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2mthechf" cloneof="2mthecho">
+ <description>Mathématicien/Echo (Fra)</description>
+ <year>1980</year>
+ <publisher>Radiola</publisher>
+ <info name="usage" value="Press 1 for Mathématicien, press 2 for Echo" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="mathematicien - echo (france).bin" size="2048" crc="0c4e4b0a" sha1="d96c65670b9a3a4feedcb720807292708951fcd5" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="morse">
+ <description>Morse (Euro)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="45"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="morse (europe).bin" size="2048" crc="2122012c" sha1="8431f56359d80ff6a67c83c50c12fa5d8bc46ff3" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="morsef" cloneof="morse">
+ <description>Morse (Fra)</description>
+ <year>1983</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="morse (france).bin" size="2048" crc="510416b7" sha1="11065dfbc22dd9ed7609cbcc7f8c6d3bc5b004ee" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="nimble">
+ <description>Nimble Numbers Ned! (USA)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Robert S. Harris" />
+ <info name="serial" value="AC9439"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="nimble numbers ned (usa).bin" size="4096" crc="cf2f8e7a" sha1="01dd021a1bcdafb58cb2bcca051934f05e978c53" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="sidspell">
+ <description>Sid the Spellbinder (USA)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Sam Overton" />
+ <info name="serial" value="AC9438"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="sid the spellbinder (usa).bin" size="4096" crc="1b9f2f16" sha1="dfed128d213d4192313f85fe2b8716579c2fc995" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="vrkrspl1">
+ <description>Verkehrsspiele 1 (Ger)</description>
+ <year>1982</year>
+ <publisher>CSV/Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="verkehrsspiele 1 (germany).bin" size="2048" crc="45e62222" sha1="e90f2a33e41d9bd4c50e96eacc483bc99e53993b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="kndrvrkr" cloneof="vrkrspl1">
+ <description>Kinder im Verkehr 1 (Ger)</description>
+ <year>1982</year>
+ <publisher>CSV/Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="kinder im verkehr 1 (germany).bin" size="2048" crc="9c9dddf9" sha1="9b73685f7d2008467d4449a3bfedef6e763b5948" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="vrkrspl2">
+ <description>Verkehrsspiele 2 (Ger)</description>
+ <year>1982</year>
+ <publisher>CSV/Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="verkehrsspiele 2 (germany).bin" size="2048" crc="69893f7f" sha1="0904ea45c011d12857477db04b4d1c87544f27e6" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+<!-- Games -->
+ <software name="4in1">
+ <description>4 in 1 Row (Euro)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="40"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="4 in 1 row (europe).bin" size="4096" crc="3bfef56b" sha1="e9a8996c4fb87120d8620ab8876b90ddb48335db" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="4en1" cloneof="4in1">
+ <description>4 en 1 Ligne (Fra)</description>
+ <year>1982</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="4 en 1 ligne (france).bin" size="4096" crc="9b5e9356" sha1="0831c3212a9e0a588a242dcd2b136e350aaceac9" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="alieninv">
+ <description>Space Monster (Euro) ~ Alien Invaders - Plus! (USA)</description>
+ <year>1980</year>
+ <publisher>Magnavox</publisher>
+ <info name="serial" value="AA9428 (USA) ~ 22 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="alien invaders - plus! (usa, europe).bin" size="2048" crc="71ae8533" sha1="9ba0737fdee2918375725bb5230d075a2f847159" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="alpine">
+ <description>Skiing (Euro) ~ Alpine Skiing! (USA)</description>
+ <year>1979</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AK9418 (USA) ~ 25 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="alpine skiing (usa, europe).bin" size="2048" crc="4663c4b6" sha1="9e7e16744b44fa83fa14c211b2365cf04604e06e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="ski" cloneof="alpine">
+ <description>Ski (Fra)</description>
+ <year>1979</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="ski (france).bin" size="2048" crc="e129490d" sha1="a6e07b727b4f48d13ce21442911995eb46b99c5d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2armrsub">
+ <description>Air-Sea War/Battle (Euro) ~ Armored Encounter!/Sub Chase! (USA)</description>
+ <year>1978</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press A for Armored Encounter/Air-Sea War, press 1 for Sub Chase/Battle" />
+ <info name="serial" value="AJ9403 (USA) ~ 4 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="armored encounter - sub chase (usa, europe).bin" size="2048" crc="5ae57a8c" sha1="086a29eb625c935295157ce62ca9717dffff2af0" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="atlantis">
+ <description>Atlantis (USA, Euro)</description>
+ <year>1983</year>
+ <publisher>Imagic</publisher>
+ <info name="programmer" value="Jeff Ronnie" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="atlantis (usa, europe).bin" size="4096" crc="a7344d1f" sha1="6975cf9fed3ee1a2567477921eb851a669d42446" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="timelord">
+ <description>Attack of the Timelord! (USA)</description><!-- possibly also "Terrahawks (Euro)[Videopac 51]"? -->
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AC9445"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="attack of the timelord (usa).bin" size="4096" crc="fc5a7f08" sha1="c63ad4e9aaa903ded9fcf185caf24e76f8aaf3a9" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="baseball">
+ <description>Baseball (Euro) ~ Baseball! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips (Euro) ~ Magnavox (USA)</publisher>
+ <info name="serial" value="AJ9408 (USA) ~ 8 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="baseball (usa, europe).bin" size="2048" crc="b07748e7" sha1="14a37a38c582d8822cb78fb0aace221a2fa9a44c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="blobbers">
+ <description>Blobbers (Euro)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="56"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="blobbers (europe).bin" size="8192" crc="9d72d4e9" sha1="cae4e1f3ee090ec423aff89102f359b9e14dba41" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2blckbrk">
+ <description>Dam Buster (Euro) ~ Blockout!/Breakdown! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 0 then 1 for Blockout/Dam Buster, press 0 then 2 for Breakdown" />
+ <info name="serial" value="AA9427 (USA) ~ 29 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="blockout - breakdown (usa, europe).bin" size="2048" crc="fb83171e" sha1="00ef6868724a6826534da620f34dad207fcb3800" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="magique" cloneof="2blckbrk">
+ <description>Le Mûr Magique (Fra)</description>
+ <year>1981</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="mur magique, le (france).bin" size="2048" crc="d38153f6" sha1="ff0ebe9efc275011a0534fd98ca1f4112dae3dab" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2bwlbskt">
+ <description>Ten Pin Bowling/Basketball (Euro) ~ Bowling!/Basketball! (USA)</description>
+ <year>1978</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 1 for League Night Bowling, press 2 for Tournament Play Bowling, press 3 for Basketball" />
+ <info name="serial" value="AJ9404 (USA) ~ 6 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="bowling - basketball (usa, europe).bin" size="2048" crc="084ee035" sha1="2630c304b6beb0f8021578277be68e837202895d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2qllbskt" cloneof="2bwlbskt">
+ <description>Jeu de Quilles/Basketball (Fra)</description>
+ <year>1978</year>
+ <publisher>Radiola</publisher>
+ <info name="usage" value="Press 1 for (League Night Bowling), press 2 for (Tournament Play Bowling), press 3 for Basketball" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="jeu de quilles - basketball (france).bin" size="2048" crc="a7e97958" sha1="30cbbec570fa0872c13e89ddc312b2f74e3749fb" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="buraco">
+ <description>Buraco Negro! (Brazil)</description>
+ <year>1984</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="buraco negro (brazil).bin" size="8192" crc="25874b04" sha1="8414605a62e78753e3f8474fa020035596292583" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="neutron" cloneof="buraco">
+ <description>Neutron Star (Euro, Prototype)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="neutron star (europe) (proto).bin" size="8192" crc="d03efa86" sha1="0a91bdb293f52ac37414a63f71d90c6338a4a91a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="casino">
+ <description>Las Vegas Gambling (Euro) ~ Casino Slot Machine! (USA)</description>
+ <year>1980</year>
+ <publisher>Magnavox</publisher>
+ <info name="serial" value="AA9426 (USA) ~ 23 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="casino slot machine (usa, europe).bin" size="2048" crc="bb6e7135" sha1="052bc62eb03e2673a802bab866dd0ab3c39fd584" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="lasvegas" cloneof="casino">
+ <description>Las Vegas (Fra)</description>
+ <year>1980</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="las vegas (france).bin" size="2048" crc="a0620082" sha1="b83463b7c40367d4310f142fa15d06d12061f3be" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2bllcrss">
+ <description>Catch the Ball/Noughts and Crosses (Euro)</description>
+ <year>1979</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 1 for Catch the Ball, press 7 for Noughts and Crosses" />
+ <info name="serial" value="19"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="catch the ball - noughts and crosses (europe).bin" size="2048" crc="a57e1724" sha1="671a43595b867b7877e723be18825e9e5d5c4ee9" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2mlajogo" cloneof="2bllcrss">
+ <description>O Malabarista!/Jogo da Velha! (Brazil)</description>
+ <year>1979</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 1 for O Malabarista, press 7 for Jogo da Velha" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="o malabarista - jogo da velha (brazil).bin" size="2048" crc="e39500a6" sha1="68de402f57eb0c8afefdbc46d80d2bc5520afc68" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="chess" supported="no"><!-- needs chess module emulation -->
+ <description>Chess (Euro)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="G7010"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="chess (europe).bin" size="2048" crc="77066338" sha1="7162359313f66fe759bdd8a34755a5f62f3cadfb" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="chezmxme"><!-- I know it's a clone of something... -->
+ <description>Chez Maxime (Fra)</description>
+ <year>198?</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="g7400_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="chez maxime (france).bin" size="4096" crc="0f46cf66" sha1="cd58d267fe5bab82f5dab01dbb08d5adf0053108" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="chinese">
+ <description>Chinese Logic (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="17"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="chinese logic (europe).bin" size="2048" crc="11edf25b" sha1="431bd5b4ee86e62500eab263e073a585656d16c6" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="desafio" cloneof="chinese">
+ <description>Desafio Chinês! (Brazil)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="desafio chines (brazil).bin" size="2048" crc="838a2d1e" sha1="241160f0691a394afe632b5b29969dae2d8f2d34" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="claypig">
+ <description>Clay Pigeon! (Brazil)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="clay pigeon (brazil).bin" size="4096" crc="fd179f6d" sha1="c07c1206db8d4fb5142b38ead52082d4682d70be" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="comando">
+ <description>Comando Noturno! (Brazil)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="comando noturno (brazil).bin" size="8192" crc="26517e77" sha1="e0aa46211967c880bf7ff39836fe5e73c0302460" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="night" cloneof="comando">
+ <description>Nightfighter (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="nightfighter (europe) (proto).bin" size="8192" crc="7be6f1ef" sha1="ec364634c2a8160da1916a43246b76d78932be1d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="conquest">
+ <description>Conquest of the World (USA, Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AB9431 (USA) ~ 41 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="conquest of the world (usa, europe).bin" size="4096" crc="afc093fd" sha1="508d1475670ba561e7ddf961a4f0cf6d139d168c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="cosmic">
+ <description>Cosmic Conflict (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Uses the 2nd joystick" />
+ <info name="serial" value="11"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="cosmic conflict (europe).bin" size="2048" crc="f4c2075e" sha1="a22f99dcc4aba3126f5b5bbbf2a3890878ac953b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="conflit" cloneof="cosmic">
+ <description>Conflit Cosmique (Can, Fra?)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Uses the 2nd joystick" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="conflit cosmique (canada).bin" size="2048" crc="2f6e4b46" sha1="e54fe13ee27884524255063aa6fd69e4598a5104" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="cosmica" cloneof="cosmic">
+ <description>Cosmic Conflict (Euro, Alt)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Uses the 2nd joystick" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="cosmic conflict (europe) (alt).bin" size="2048" crc="2a5f0b2b" sha1="9f8f10c9e6e1a5e07eb5a6eee4e0fe19fcaee17f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="cosmicu" cloneof="cosmic">
+ <description>Cosmic Conflict! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Uses the 2nd joystick" />
+ <info name="serial" value="AJ9411"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="cosmic conflict (usa).bin" size="2048" crc="c049e79e" sha1="dccbf881e21dd02cbaf15ec049e0801118fb9c96" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="demon">
+ <description>Demon Attack (USA, Euro)</description>
+ <year>1983</year>
+ <publisher>Imagic</publisher>
+ <info name="programmer" value="Dave Johnson" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="demon attack (usa, europe).bin" size="4096" crc="9bfc3e01" sha1="2d78ccbb56e8b43bb8101b2a1932f5e778b9dbc3" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2dpthmrk" supported="partial">
+ <description>Depth Charge/Marksman (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 1 for Depth Charge, press 2 for Marksman; Uses the 2nd joystick" />
+ <sharedfeat name="compatibility" value="PAL"/>
+ <info name="serial" value="16"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="depth charge - marksman (europe).bin" size="2048" crc="2dcb77f0" sha1="95ccda2010f756069645e50269142a063c9aabc2" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2bmbalvo" cloneof="2dpthmrk">
+ <description>Bombardeio Submarino!/Tiro ao Alvo! (Brazil)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 1 for Depth Charge, press 2 for Marksman; Uses the 2nd joystick" />
+ <sharedfeat name="compatibility" value="NTSC"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="bombardeio submarino - tiro ao alvo (brazil).bin" size="2048" crc="b1109a09" sha1="e15f778efeb95530f8108854b14c404cf63f213a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="soccer">
+ <description>Electronic Table Football (Euro) ~ Electronic Table Soccer (USA)</description>
+ <year>1980</year>
+ <publisher>Magnavox</publisher>
+ <info name="serial" value="AA9423 (USA) ~ 27 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="electronic table soccer (usa, europe).bin" size="2048" crc="89c6de2c" sha1="3a032c9be1081db58f28f906940641d74d6bae2b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="football">
+ <description>American Football (Euro) ~ Football! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AJ9402 (USA) ~ 3 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="football (usa, europe).bin" size="2048" crc="f9084aa3" sha1="364504ffce1108bcf09a5cc784f7ea2cf141f7b8" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="freedom">
+ <description>Freedom Fighters (Euro) ~ Freedom Fighters! (USA)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AC9436 (USA) ~ 39 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="freedom fighters (usa, europe).bin" size="4096" crc="54736b74" sha1="ad11f3fad2dfd3716445fef3b7d83d479edee0ed" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="frogger">
+ <description>Frogger (Euro)</description>
+ <year>1983</year>
+ <publisher>Parker Brothers</publisher>
+ <info name="usage" value="Uses the 2nd joystick" />
+ <info name="programmer" value="Peter Inser" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="frogger (europe).bin" size="8192" crc="d0bc4ee6" sha1="0beda7b36259b3be84d34206a77a35cd3f04892f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="froggerb" cloneof="frogger">
+ <description>Frogger (Brazil)</description>
+ <year>1983</year>
+ <publisher>Parker Brothers</publisher>
+ <info name="usage" value="Uses the 2nd joystick" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="frogger (brazil).bin" size="8192" crc="a57d84f3" sha1="bedb714c88b9aa7a02da9ebcde12446ec8350d18" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="golf">
+ <description>Golf (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="10"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="golf (europe).bin" size="2048" crc="14b6cc76" sha1="c2bf8d92b8827e3071d6ce4c43e34b21afc54f8d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="compgolf" cloneof="golf">
+ <description>Computer Golf! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AJ9410"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="computer golf (usa).bin" size="2048" crc="0f870806" sha1="c8736250ebf376543256d85cf853e825475e0af6" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="gtwallst">
+ <description>The Great Wall Street Fortune Hunt (USA, Euro)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AC9434 (USA) ~ 46 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="the great wall street fortune hunt (usa, europe).bin" size="4096" crc="881ceae4" sha1="d54b1d5667bf90368dddab55a91955b1789f177c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="wallst" cloneof="gtwallst">
+ <description>Wall Street (Brazil)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="wall street (brazil).bin" size="4096" crc="228842df" sha1="af9db337a2edbb3fe79a3d50f1b4ec1b007f4a52" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="gunfight">
+ <description>Gunfighter (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="14"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="gunfighter (europe).bin" size="2048" crc="abe368bf" sha1="b5ec5ed9373372de6d70620094af06282c48968d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="showdown" cloneof="gunfight">
+ <description>Showdown in 2100 A.D. (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AK9416"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="showdown in 2100 a.d. (usa).bin" size="2048" crc="9487c920" sha1="7163c3e0d0e926287df670bfa5d5d5c42b5b3cf6" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2hckyscr">
+ <description>Electronic Ice Hockey/Electronic Soccer (Euro) ~ Hockey!/Soccer! (USA)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Move joystick when game is on screen." />
+ <info name="serial" value="AK9420 (USA) ~ 36 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="hockey - soccer (usa, europe).bin" size="2048" crc="39989464" sha1="f39c9801984f97d5a685a4b7a1accd0164a49b43" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2fblhcky" cloneof="2hckyscr">
+ <description>Football Electronique/Hockey Electronique (Fra)</description>
+ <year>1981</year>
+ <publisher>Radiola</publisher>
+ <info name="usage" value="Move joystick when game is on screen." />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="football electronique - hockey electronique (france).bin" size="2048" crc="f00f9dba" sha1="d7593ade4d60a6e314e4f18711e8ea59e3c8c3ad" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="interpol">
+ <description>Interpol (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>GST Video</publisher>
+ <info name="programmer" value="Mick Rouse" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="interpol (europe) (proto).bin" size="4096" crc="69d21f8f" sha1="c0b10b79461bc1939e08e4c05166126d2b8d7dda" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="acrobat">
+ <description>Jumping Acrobats (Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Jim Butler" />
+ <info name="serial" value="33"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="jumping acrobats (europe).bin" size="2048" crc="6cebab74" sha1="a44587d48e76117838cb6a4cf964321d37efcde1" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="acrobata" cloneof="acrobat">
+ <description>Jumping Acrobats (Euro, Alt)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Jim Butler" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="jumping acrobats (europe) (alt).bin" size="2048" crc="e7b26a56" sha1="ee5c0471fc192570fe4575ca65882d3d7b85350d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="ptbarnum" cloneof="acrobat">
+ <description>P.T. Barnum's Acrobats! (USA)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Jim Butler" />
+ <info name="serial" value="AC9443"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="p.t. barnum's acrobats (usa).bin" size="4096" crc="874f36a4" sha1="661a73bd490cc592815f742eb33b2d3f0066be41" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="kckrazy">
+ <description>Crazy Chase (Euro) ~ K.C.'s Krazy Chase! (USA)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AC9442 (USA) ~ 44 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="k.c.'s krazy chase (usa, europe).bin" size="4096" crc="a6909a8b" sha1="3391e48c0048a2f588d8238bb202e2ec346a6ad4" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="bees">
+ <description>Killer Bees! (USA)</description><!-- also "Killer Bees (Euro)[Videopac 52]"? -->
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Robert S. Harris" />
+ <info name="serial" value="AC9447"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="killer bees (usa).bin" size="8192" crc="b096654e" sha1="b446a2730aefafe71394dbb9850d43c5cf01d367" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2lbsprmd">
+ <description>A Labyrinth Game/Supermind (Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="32"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="a labyrinth game - supermind (europe).bin" size="2048" crc="d158eeba" sha1="85c567c8f38239350a5d04f8cfd9dd7872f448c9" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="lsvsblck">
+ <description>Blackjack (Euro) ~ Las Vegas Blackjack! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AJ9401 (USA) ~ 5 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="las vegas blackjack (usa, europe).bin" size="2048" crc="6f66b1f7" sha1="3e10fc687b1d07612305f680f24590f99842e62b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="blackjck" cloneof="lsvsblck">
+ <description>Blackjack (Fra)</description>
+ <year>1980</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="blackjack (france).bin" size="2048" crc="6381e402" sha1="9ec331ce8e50ef60de93e615c18327f08b4a24fb" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="laser">
+ <description>Laser War (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="18"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="laser war (europe).bin" size="2048" crc="17be749b" sha1="3d188d49d4a2409f66ac86bcf58d90d35908032b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="guerre" cloneof="laser">
+ <description>Guerre Lazer (Fra)</description>
+ <year>1980</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="guerre laser (france).bin" size="2048" crc="ca8ab259" sha1="12f08273e6c5e97e0a35c4033bd7527bb8a559d3" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="invaders" cloneof="laser">
+ <description>Invaders from Hyperspace! (USA)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AK9414"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="invaders from hyperspace (usa).bin" size="2048" crc="ad7a9a11" sha1="00032798bd4cc01323e663e98634b82a74b0dc53" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="balao">
+ <description>Balão Travesso! (Brazil)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="balao travesso (brazil).bin" size="4096" crc="5b6e741a" sha1="73bf363400fece63d1a10b6b8cd9413612a1a126" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="loony" cloneof="balao">
+ <description>Loony Balloon (Euro, Prototype)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="loony balloon (europe) (proto).bin" size="4096" crc="ca23f40c" sha1="3cb324b047cbac8ec4381150b1c2aee98573841b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="martian">
+ <description>Martian Threat (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Jake Dowding?" /><!-- first prototype found was named "Jake" -->
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="martian threat (europe) (proto).bin" size="8192" crc="39e31bf0" sha1="4266ca9aa34ace118edd8153e2847cfa94a9a2f0" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="3prspclg">
+ <description>Pairs/Space Rendezvous/Logic (Euro)</description>
+ <year>1978</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Press 1 for Pairs 1 player, press 2 for Pairs 2 players, press 3 for Space Rendezvous, press 4 for Logic" />
+ <info name="serial" value="2"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="pairs - space rendezvous - logic (europe).bin" size="2048" crc="a69c2c93" sha1="7ea8e5ff3b9f86914774de2aa6f7a4652adcf47a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="3mkrbzlg" cloneof="3prspclg">
+ <description>Matchmaker!/Buzzword!/Logix! (USA)</description>
+ <year>1978</year>
+ <publisher>Magnavox</publisher>
+ <info name="usage" value="Press 1 for Matchmaker 1 player, press 2 for Matchmaker 2 players, press 3 for Buzzword, press 4 for Logix" />
+ <info name="serial" value="AJ9407"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="matchmaker - buzzword - logix (usa).bin" size="2048" crc="bbf276a0" sha1="908387d2446f4c62019017fe262b412dfa040d10" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2missprg">
+ <description>Missão Impossível/Viagem Programada (Bra)</description><!-- limited release -->
+ <year>198?</year>
+ <publisher>Ectron Eletrônica Ltda.</publisher>
+ <info name="usage" value="Press 1 for Missão Impossível, press 2 for Viagem Programada" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="mission impossible (brazil).bin" size="2048" crc="655fdf57" sha1="7ff030e8ba236c9f354b903b89b283886c7455d7" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="monkey">
+ <description>Monkeyshines (Euro) ~ Monkeyshines! (USA)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AB9432 (USA) ~ 37 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="monkeyshines (usa, europe).bin" size="4096" crc="fee664f3" sha1="6d6659539934255711357537d4fa6e969c3c4754" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="mousing">
+ <description>The Mousing Cat (Euro)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="47"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="the mousing cat (europe).bin" size="4096" crc="f390bfec" sha1="f9727e6c5a941518187c08e5f5d104460ac3b3e3" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="chat" cloneof="mousing">
+ <description>Chat et Souris (Fra)</description>
+ <year>1983</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="chat et souris (france).bin" size="4096" crc="61a350e6" sha1="afa67f2110647753de9dfacb268d96e75d6d8657" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="munchkin">
+ <description>Munchkin (Euro)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="38"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="munchkin (europe).bin" size="4096" crc="4a3e2dc8" sha1="83d06385fd74e3f7c19309e6908a975fa8856f32" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="kcmunch">
+ <description>K.C. Munchkin! (USA)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AC9435"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="k.c. munchkin (usa).bin" size="4096" crc="7108e058" sha1="d273cf993dfcbca3b65cd4959b45a3009f242bc6" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="phantom">
+ <description>Phantom House (Euro, Prototype)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="phantom house (europe)(proto).bin" size="8192" crc="313547eb" sha1="3cc218587116eb105e95ffce9eb1b5e268258d4a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="2wrldrsc">
+ <description>Out of this World!/Helicopter Rescue! (USA)</description>
+ <year>1979</year>
+ <publisher>Magnavox</publisher>
+ <info name="usage" value="Press 3 for Out of this World, press 1 for Helicopter Rescue" />
+ <info name="serial" value="AC9419"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="out of this world - helicopter rescue (usa).bin" size="2048" crc="0c2e4811" sha1="c6a79e721ee501d82d9a1c4f71f98bc23f1e7c7e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="pachinko">
+ <description>Basket Game (Euro) ~ Pachinko! (USA)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AA9425 (USA) ~ 26 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="pachinko (usa, europe).bin" size="2048" crc="239df97d" sha1="ffd525d5c6023409afdcdb2afbda227bc4568304" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="pickaxe">
+ <description>Pickaxe Pete (Euro) ~ Pick Axe Pete! (USA)</description>
+ <year>1980</year>
+ <info name="serial" value="AC9437 (USA) ~ 43 (Euro)"/>
+ <publisher>Philips (Euro) ~ Magnavox (USA)</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="pick axe pete (usa, europe).bin" size="4096" crc="d62814a3" sha1="b979ed0c2b8947f764786fcf4444463b3d3ae87d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="pinball">
+ <description>Pinball! (USA, Prototype)</description>
+ <year>1979</year><!-- re-released at Classic Games Expo (2004 in Philidelphia) with Ralph Baer's autograph (as he was designer) -->
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Don McGuiness"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="pinball (usa) (proto).bin" size="2048" crc="6ef2471a" sha1="350a9e3f95dbf2d5e7aa1ddbd5e531300ddeeee4" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="playtag">
+ <description>Plantage ~ Play Tag (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="playtag (europe) (proto).bin" size="4096" crc="a29f0fd4" sha1="759dc0efb9dbf64034d9fd78c12207206b173c0c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="billiard">
+ <description>Electronic Billiards (Euro) ~ Pocket Billiards! (USA)</description>
+ <year>1978</year>
+ <publisher>Philips (Euro) ~ Magnavox (USA)</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AC9424 (USA) ~ 35 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="pocket billiards (usa, europe).bin" size="2048" crc="24d53e2c" sha1="8abd1057202ebac12acf3822ed4d965bba02b7de" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="billamer" cloneof="billiard">
+ <description>Billard Américain (Fra)</description>
+ <year>1978</year>
+ <publisher>Radiola</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="billiard americain (france).bin" size="2048" crc="a674ea27" sha1="283ae5fa1d6e89a5ac921c7f2e21a89a67dd138c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="popeye">
+ <description>Popeye (Euro)</description>
+ <year>1983</year>
+ <publisher>Parker Brothers</publisher>
+ <info name="programmer" value="Gil Williamson and Charles Dear" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="popeye (europe).bin" size="8192" crc="5216771a" sha1="a13e7b338ba15820949f51eb862b381ddc6870af" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="popeyeb" cloneof="popeye">
+ <description>Popeye (Brazil)</description>
+ <year>1983</year>
+ <publisher>Parker Brothers</publisher>
+ <info name="programmer" value="Gil Williamson and Charles Dear" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="popeye (brazil).bin" size="8192" crc="1b188870" sha1="d12197942a99d5902de1352bbb5475ab4396c7d0" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="powerlrd">
+ <description>Power Lords (USA)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <info name="usage" value="Uses the 2nd joystick" />
+ <info name="serial" value="AC9448"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="power lords (usa).bin" size="4096" crc="40ae062d" sha1="e81570282b8ade6b7c0d126c819a95c7011cd063" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="qbert">
+ <description>Q*bert (Euro)</description>
+ <year>1983</year>
+ <publisher>Parker Brothers</publisher>
+ <info name="programmer" value="Gil Williamson and Charles Dear" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="q*bert (europe).bin" size="8192" crc="202f2749" sha1="80d76d5c56fc716a8f7a55166390658c320e4c34" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="quest">
+ <description>Quest for the Rings (USA, Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AC9429 (USA) ~ 42 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="quest for the rings (usa, europe).bin" size="4096" crc="9451be1e" sha1="32759c8d502cd8b959da5f03351db7cd46c8f96a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="laquete" cloneof="quest">
+ <description>La Quête Des Anneux (Fra)</description>
+ <year>1982</year>
+ <publisher>Radiola</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="la quete des anneaux (france).bin" size="4096" crc="a21da732" sha1="04543bdbea8112f7cc55caef5da9445d08d65e46" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="battle">
+ <description>Barão Vermelho! (Brazil)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="air battle (brazil).bin" size="8192" crc="4103ee95" sha1="b6842b9264b722e2b39c8647b7963e513a0cde16" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="baron" cloneof="battle">
+ <description>Red Baron (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="red baron (europe) (proto).bin" size="8192" crc="1eeb88f5" sha1="50eba68915b0ccc95f07719f80d9011ca2cf67c9" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="robot">
+ <description>Robot City (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="robot city (europe) (proto).bin" size="8192" crc="ef9e9c3b" sha1="ff92b024ef80919146e822ce947882d0744ac09f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="samurai">
+ <description>Samurai (Euro)</description>
+ <year>1980</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="15"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="samurai (europe).bin" size="2048" crc="7810bad5" sha1="fd354b726bd86dcbe97bcc284cf1e09485dd81ac" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="dynasty" cloneof="samurai">
+ <description>Dynasty! (USA)</description>
+ <year>1979</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AK9421"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="dynasty (usa).bin" size="2048" crc="dc30ad3d" sha1="20c6e4035ce8dd5a8f331c18ceef1056dc9ce818" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="satellit">
+ <description>Satellite Attack (Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="34"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="satellite attack (europe).bin" size="2048" crc="395629e1" sha1="e0383dd98b85dc2156a859e731ff904b6ebad95b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="ufo" cloneof="satellit">
+ <description>UFO! (USA)</description>
+ <year>1982</year>
+ <publisher>Magnavox</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AB9430"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="ufo (usa).bin" size="2048" crc="2b1e9e19" sha1="0e819a4b0f17520da24ff79901197f5397cb9a26" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="syracuse">
+ <description>Syracuse (Fra)</description>
+ <year>1981</year>
+ <publisher>Jopac</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="syracuse (france).bin" size="4096" crc="280d08f4" sha1="37aa11cbf0a32ece89d1d2c500b74660830377df" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="pharaohs">
+ <description>Secret of the Pharaohs (Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="21"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="secret of the pharaohs (europe).bin" size="2048" crc="7394e82c" sha1="9ff434312fa9d3b7b63909a9ece01d4e3e87f3b7" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="farao" cloneof="pharaohs">
+ <description>O Segredo do Faraó! (Brazil)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="o segredo do farao (brazil).bin" size="4096" crc="16c574c8" sha1="ba42f5e642f5dc7be231bb0e230ffa77a766c805" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="shark">
+ <description>Shark Hunter (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Philips</publisher>
+ <info name="developer" value="Graham Conduit" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="shark hunter (europe) (proto).bin" size="8192" crc="df36683f" sha1="eca31e4d8a9e198a8661f6b6e63b33c184e9b22b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="3rcsocpt">
+ <description>Race/Spin-Out/Cryptogram (Euro) ~ Speedway/Spin-Out/Crypto-logic (USA)</description>
+ <year>1978</year>
+ <publisher>Philips (Euro) ~ Magnavox (USA)</publisher>
+ <info name="usage" value="Press 1 for Race/Speedway, press 2 for 3-lap Spin-out, press 4 for 15-lap Spin-out, press 5 for Cryptogram/Crypto-logic" />
+ <info name="serial" value="AC9400 (USA) ~ 1 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="speedway - spin-out - crypto-logic (usa, europe).bin" size="2048" crc="4eda4917" sha1="29d078f587be2afa4612800c64a5af72705e5681" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="3csaucpt" cloneof="3rcsocpt">
+ <description>Course de Voitures/Autodrome/Cryptogramme (Fra)</description>
+ <year>1978</year>
+ <publisher>Radiola</publisher>
+ <info name="usage" value="Press 1 for Course de Voitures, press 2 for 3-lap Autodrome, press 4 for 15-lap Autodrome, press 5 for Cryptogramme" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="course de voitures - autodrome - cryptogramme (france).bin" size="2048" crc="3b24e1ee" sha1="9e44ca9fc9e5def58c61b24274f0cbfb57d559ee" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="spider">
+ <description>Spider-Man (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Parker Brothers</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="spider-man (europe) (proto).bin" size="8192" crc="35ace4e8" sha1="4b1d675cb1fbf72ed35681e2b2e6e99fed7154cd" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="stone">
+ <description>Stone Sling (Euro)</description>
+ <year>1981</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Robert L. Cheezem" />
+ <info name="serial" value="20"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="stone sling (europe).bin" size="2048" crc="44d1a8a5" sha1="50763429d12206d7bf9fad6a6bd6076a34d54b51" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="smither" cloneof="stone">
+ <description>Smithereens! (USA)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Robert L. Cheezem" />
+ <info name="serial" value="AC9441"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="smithereens (usa).bin" size="4096" crc="67069924" sha1="fc798f3cf770e8bf5f9a4064b6a4ca66e5a4eb71" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="superbee">
+ <description>Super Bee (Euro)</description>
+ <year>1983</year>
+ <publisher>GST Video</publisher>
+ <info name="programmer" value="Mick Rouse" />
+ <info name="serial" value="50"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="super bee (europe).bin" size="4096" crc="9585d511" sha1="dfcfd9c019773e703aa130bc55f5b2f972ece8f0" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="superbeeb" cloneof="superbee">
+ <description>Super Bee! (Brazil)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="super bee (brazil).bin" size="4096" crc="02743352" sha1="98c1f3a9726fe1ba880d43f0ba004821c4cbec6c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="cobra">
+ <description>Super Cobra (Euro)</description>
+ <year>1983</year>
+ <publisher>Parker Brothers</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="super cobra (europe).bin" size="8192" crc="95936b07" sha1="5521ff83e3be32c38205472b2df49eb507249dc2" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="cobrab" cloneof="cobra">
+ <description>Super Cobra (Brazil)</description>
+ <year>1983</year>
+ <publisher>Parker Brothers</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="super cobra (brazil).bin" size="8192" crc="e58aa0ac" sha1="46716a927b902759bfe252022f84186098fb5863" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="moneyrun">
+ <description>Take the Money and Run (Euro) ~ Take the Money and Run! (USA)</description>
+ <year>1978</year>
+ <publisher>Philips (Euro) ~ Magnavox (USA)</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <info name="serial" value="AJ9412 (USA) ~ 12 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="take the money and run (usa, europe).bin" size="2048" crc="11ff50ad" sha1="8c181f4835d53a358ecb8e4385e087ee942b4b4f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="prendre" cloneof="moneyrun">
+ <description>Prendre l'Argent et Fuir (Fra)</description>
+ <year>1978</year>
+ <publisher>Radiola</publisher>
+ <info name="programmer" value="Ed Averett"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="prendre l'argent et fuir (france).bin" size="2048" crc="ad89f799" sha1="2a55d179acfd9fe31b5f8f0ed0e2379b584f7c8a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="flipper">
+ <description>Flipper Game (Euro) ~ Thunderball! (USA)</description>
+ <year>1979</year>
+ <publisher>Philips (Euro) ~ Magnavox (USA)</publisher>
+ <info name="serial" value="AK9415 (USA) ~ 24 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="thunderball (usa, europe).bin" size="2048" crc="2c9d1715" sha1="d0070e12d6b0f406dab6e1fa550ab01509c9362e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="flipperf">
+ <description>Flipper (Fra)</description>
+ <year>1980</year>
+ <publisher>Radiola</publisher>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="billard electrique (france).bin" size="2048" crc="54bf4750" sha1="d12a242d273c4f4417806c3bcd868a9a0f553854" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="turtles">
+ <description>Turtles (Euro)</description>
+ <year>1982</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Jim Butler" />
+ <info name="serial" value="49"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="turtles (europe).bin" size="8192" crc="1c750349" sha1="1fdca749675f62212d0b79c5f0911bcabc4e4e11" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="turtlesu" cloneof="turtles">
+ <description>Turtles (USA)</description>
+ <year>1983</year>
+ <publisher>Philips</publisher>
+ <info name="programmer" value="Jim Butler" />
+ <info name="serial" value="AC9446"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="turtles (usa).bin" size="8192" crc="9e42e766" sha1="ee456305397ecbd54fffa0bb7a894f53976d2a7c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="tutank">
+ <description>Tutankham (Euro, Prototype)</description>
+ <year>198?</year>
+ <publisher>Parker Brothers</publisher>
+ <info name="programmer" value="Gil Williamson and Charles Dear" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="tutankham (europe) (proto).bin" size="8192" crc="0b2deb61" sha1="c4985a344be7da3d78656b6473a3a1ad3ebe6497" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="volley">
+ <description>Electronic Volleyball (Euro) ~ Volleyball! (USA)</description>
+ <year>1979</year>
+ <publisher>Philips (Euro) ~ Magnavox (USA)</publisher>
+ <info name="programmer" value="Ed Averett" />
+ <info name="serial" value="AA9422 (USA) ~ 28 (Euro)"/>
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="volleyball (usa, europe).bin" size="2048" crc="d3b09fec" sha1="830c9b3628f2e9c4f8c882024dd912b9d7610765" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="volleyf" cloneof="volley">
+ <description>Volleyball (Fra)</description>
+ <year>1979</year>
+ <publisher>Radiola</publisher>
+ <info name="programmer" value="Ed Averett" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="volleyball electronique (france).bin" size="2048" crc="551e38a2" sha1="9ea8d921ca03699f74e53e25b139632391838c7d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+ <software name="battlef">
+ <description>Battlefield (Euro) ~ War of Nerves! (USA)</description>
+ <year>1979</year>
+ <publisher>Philips</publisher>
+ <info name="serial" value="AK9417 (USA) ~ 30 (Euro)"/>
+ <info name="programmer" value="Ed Averett" />
+ <part name="cart" interface="odyssey_cart">
+ <dataarea name="rom" size="2048">
+ <rom name="war of nerves (usa, europe).bin" size="2048" crc="58fa6766" sha1="e56b674c832e5a7cad977cc76779548fdd2f338e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+</softwarelist> \ No newline at end of file
diff --git a/hash/to770_cart.xml b/hash/to770_cart.xml
new file mode 100644
index 00000000000..8ccd83915a7
--- /dev/null
+++ b/hash/to770_cart.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<softwarelist name="to770_cart" description="Thomson TO7/70 cartridges">
+
+
+ <software name="basic128">
+ <description>BASIC 128 v1.0</description>
+ <year>1985</year>
+ <publisher>Microsoft</publisher>
+
+ <part name="cart" interface="to770_cart">
+ <dataarea name="rom" size="32768">
+ <rom name="basic 128 v1.0 (1985)(to tek)(fr)(en).m7" size="32768" crc="c9bc204f" sha1="e4c2a684e9186f49c8092d16f0f74764f51ad86c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
diff --git a/hash/to7_cart.xml b/hash/to7_cart.xml
new file mode 100644
index 00000000000..bc9328717b7
--- /dev/null
+++ b/hash/to7_cart.xml
@@ -0,0 +1,390 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<softwarelist name="to7_cart" description="Thomson TO7 cartridges">
+
+
+ <software name="6809ass2">
+ <description>6809 Assembler v2.0</description>
+ <year>1986</year>
+ <publisher>Microsoft</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="6809 language module v2.0 (1984)(microsoft).rom" size="16384" crc="5111ba68" sha1="763490f6d8a3cea6a842d68be34a6e63051d89fd" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="6809ass1" cloneof="6809ass2">
+ <description>6809 Assembler v1.0</description>
+ <year>1984</year>
+ <publisher>Microsoft</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="6809 language module v1.0 (1984)(microsoft).m7" size="16384" crc="52e84c9c" sha1="c6eda7d05f297e052e0de393be9d0f4acc34de31" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="airbus">
+ <description>Airbus</description>
+ <year>1984</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="airbus (1984)(vifi-nathan)(fr).m7" size="16384" crc="54752fa7" sha1="82016f9184d9be49d876bd1c5c9f51af6377598f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="atomium">
+ <description>Atomium</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="atomium (1982)(vifi-nathan)(fr).m7" size="4096" crc="acf42bf6" sha1="a71b15041afb098a9fba69efa8c0bea8894ccbdf" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="basic">
+ <description>BASIC v1.0</description>
+ <year>1982</year>
+ <publisher>Thomson</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="basic v1.0 (1982)(thomson)(fr)(en).m7" size="16384" crc="56d03129" sha1="1a23f87c7f7ec6cb132f0b73a5c6710d3653d1ef" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blitz">
+ <description>Blitz</description>
+ <year>1984</year>
+ <publisher>Intelligent Software</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="blitz (1984)(intelligent software)(fr).m7" size="16384" crc="768eac04" sha1="ea6f03ee868f6b273e928ba85c9328a603a5a622" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="caractr2">
+ <description>Caractor II</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="caractor ii (1984)(to tek)(fr).m7" size="16384" crc="3702a615" sha1="83b2cb47b1317cb1ad72af517107470cd37b71d8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="caractor" cloneof="caractr2">
+ <description>Caractor</description>
+ <year>1983</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="caractor (1983)(to tek)(fr).m7" size="16384" crc="9a6a700e" sha1="1f70f47d850f4ec3c6140b4b6989e50b5d4f483e" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="choplift">
+ <description>Choplifter</description>
+ <year>1982</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="choplifter (1982)(to tek)(fr).m7" size="16384" crc="9fe4cc4c" sha1="d70caf48017639a0d562ca7753dab8d9e83c1cdf" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="clrpaint">
+ <description>Colorpaint</description>
+ <year>1985</year>
+ <publisher>FIL</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="32768">
+ <rom name="colorpaint (1985)(fil)(fr).m7" size="32768" crc="2495e2f1" sha1="6d9ea8aab49c15b54ad780e7e958a58f67c727f7" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="controle">
+ <description>Controle Aerien</description>
+ <year>1984</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="controle aerien (1984)(vifi-nathan).rom" size="16384" crc="dc042cf5" sha1="efaba2dede2936398ae4e41b7611961b2a777bb7" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="crypto">
+ <description>Crypto</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="crypto (1982)(vifi-nathan)(fr).m7" size="4096" crc="20e454bc" sha1="7e7367fbc83b52fea4f831d7c84f0acbc9d170d4" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="forth">
+ <description>FORTH-TO7 v1.0</description>
+ <year>1983</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="forth-to7 v1.0 (1983)(to tek)(fr).m7" size="16384" crc="2e58933b" sha1="1fd66b5b40012a8ae9caef0aeb3fce1cde6db5f3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gemini">
+ <description>Gemini</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="gemini (1982)(vifi-nathan)(fr).m7" size="4096" crc="c20c1d82" sha1="92ee16ef7d14b241e8df390b0e6192810a8eda40" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gerez">
+ <description>Gerez vos Fiches</description>
+ <year>1983</year>
+ <publisher>Answare</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="gerez vos fiches (1983)(answare)(fr).m7" size="8192" crc="e9dacb6b" sha1="a83ffd9e28387e57aaf5acf4e7294c045c1e4c7f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gerezvot">
+ <description>Gerez Votre Bibliotheque-Discotheque-Videotheque</description>
+ <year>1983</year>
+ <publisher>Answare</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="gerez votre bibliotheque-discotheque-videotheque (1983)(answare)(fr).m7" size="8192" crc="cb6f0f85" sha1="56ce86e414a7debdadac4a416bad4c70d289be95" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chiffres">
+ <description>Les Chiffres et Les Lettres</description>
+ <year>198?</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="les chiffres et les lettres (198x)(vifi-nathan)(fr).rom" size="16384" crc="fedbebfb" sha1="a7f8e1e43a01e6a4ed838fa4021cb12dfba458e3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="logicod">
+ <description>Logicod</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="logicod (1982)(vifi-nathan)(fr).m7" size="16384" crc="97409d06" sha1="1e2ab0c80bf08618d61d49540df4abc3e402e98f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="logo">
+ <description>LOGO v1.0</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="logo v1.0 (1984)(to tek)(fr).m7" size="16384" crc="1eea3dba" sha1="8593c2bdc6cd5bb6c16643978585e620ecaf32e6" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="melodia">
+ <description>Melodia</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="melodia (1982)(vifi-nathan).rom" size="8192" crc="fafd12a0" sha1="87dbc3a6b4b2cb0f14c738215d390e61e0380d93" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mine2049" supported="no">
+ <description>Miner 2049er</description>
+ <year>198?</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="miner 2049er (198x)(to tek)(fr).rom" size="16384" crc="4c47cd9a" sha1="8b44e082ffa5861071980f959f2b670a11ba26b3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="motus">
+ <description>Motus</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="motus (1982)(vifi-nathan)(fr).rom" size="16384" crc="1be1fcfa" sha1="885db585778471270c544c26b1facc378885ea24" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pictor">
+ <description>Pictor</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="8192">
+ <rom name="pictor (1982)(vifi-nathan)(fr).m7" size="8192" crc="83ef3f9d" sha1="3538bdc69f102d899384101b4aecc7d8fb879b44" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="prolog">
+ <description>Prolog v1.0</description>
+ <year>1986</year>
+ <publisher>FIL</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="prolog v1.0 (1986)(fil)(fr).m7" size="16384" crc="c4a1991e" sha1="dcf303a7042340c26c9866063fc5b61e3f796c08" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="quest">
+ <description>Quest</description>
+ <year>1983</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="quest (1983)(vifi-nathan)(fr).rom" size="4096" crc="cccdbf99" sha1="47c1c00fe56584efae0996e91dad39e03618a64d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="scriptor">
+ <description>Scriptor</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="scriptor (1984)(to tek)(fr).m7" size="16384" crc="552c7daf" sha1="7e8de2ecf506ea8c70665c46b895bfd35c9ec725" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="threshf">
+ <description>Threshold</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="threshold (1984)(to tek)(fr).rom" size="16384" crc="45c8f04e" sha1="64a33d21baf5d479a3c2c36788e4ca5038dfd6ee" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="threshe" cloneof="threshf">
+ <description>Threshold (English)</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="threshold (1984)(to tek)(fr)(en)(alt).rom" size="16384" crc="ed6865cf" sha1="4c2bda5ad23b936395b160532951747a173aa5a8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="thresha" cloneof="threshf">
+ <description>Threshold (English) (Alt)</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="threshold (1984)(to tek)(fr)(en).m7" size="16384" crc="21c6fed5" sha1="1724ff4737802acaef479642c7a8d0e8d4c15adc" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="trap">
+ <description>Trap</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="trap (1982)(vifi-nathan)(fr).m7" size="4096" crc="4a4d5b6b" sha1="e904c1c73efff216d3a38d0699affbb9266609d8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tridi444">
+ <description>Tridi444</description>
+ <year>1982</year>
+ <publisher>Vifi Nathan</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="tridi444 (1982)(vifi-nathan)(fr).m7" size="4096" crc="7746de9b" sha1="c549b35b1d04fe3d51cbd8579671721c5a014001" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="videotex">
+ <description>Vidoetex Interactif</description>
+ <year>1984</year>
+ <publisher>To Tek</publisher>
+
+ <part name="cart" interface="to7_cart">
+ <dataarea name="rom" size="4096">
+ <rom name="videotex interactif (1984)(to tek)(fr).m7" size="16384" crc="a887814a" sha1="1bac88a14b762b63fea5b309849d9ee0e9b518f1" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
diff --git a/src/mess/drivers/enterp.c b/src/mess/drivers/enterp.c
index e6c448746d0..0520677737e 100644
--- a/src/mess/drivers/enterp.c
+++ b/src/mess/drivers/enterp.c
@@ -432,7 +432,7 @@ static const floppy_interface enterprise_floppy_interface =
DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(enterprise),
- NULL,
+ "floppy_5_25",
NULL
};
@@ -463,6 +463,7 @@ static MACHINE_CONFIG_START( ep64, ep_state )
MCFG_WD1770_ADD("wd1770", enterp_wd1770_interface )
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(enterprise_floppy_interface)
+ MCFG_SOFTWARE_LIST_ADD("flop_list","ep64")
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/interact.c b/src/mess/drivers/interact.c
index b84850831d7..3a9a520c723 100644
--- a/src/mess/drivers/interact.c
+++ b/src/mess/drivers/interact.c
@@ -110,7 +110,7 @@ static const cassette_interface interact_cassette_interface =
hector_cassette_formats,
&interact_cassette_options,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER),
- NULL,
+ "interact_cass",
NULL
};
@@ -173,6 +173,7 @@ static MACHINE_CONFIG_START( interact, interact_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_CASSETTE_ADD( CASSETTE_TAG, interact_cassette_interface )
+ MCFG_SOFTWARE_LIST_ADD("cass_list","interact")
/* printer */
MCFG_PRINTER_ADD("printer")
diff --git a/src/mess/drivers/kaypro.c b/src/mess/drivers/kaypro.c
index b088b9fbf6d..2f6087c4c63 100644
--- a/src/mess/drivers/kaypro.c
+++ b/src/mess/drivers/kaypro.c
@@ -230,7 +230,7 @@ static const floppy_interface kaypro2x_floppy_interface =
DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(kaypro2x),
- NULL,
+ "floppy_5_25",
NULL
};
@@ -272,6 +272,7 @@ static MACHINE_CONFIG_START( kayproii, kaypro_state )
MCFG_Z80SIO_ADD( "z80sio", 4800, kaypro_sio_intf ) /* start at 300 baud */
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(kayproii_floppy_interface)
+ MCFG_SOFTWARE_LIST_ADD("flop_list","kayproii")
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( kaypro4, kayproii )
diff --git a/src/mess/drivers/odyssey2.c b/src/mess/drivers/odyssey2.c
index 23e965ff328..4c29cf3e5a5 100644
--- a/src/mess/drivers/odyssey2.c
+++ b/src/mess/drivers/odyssey2.c
@@ -654,6 +654,8 @@ static MACHINE_CONFIG_FRAGMENT( odyssey2_cartslot )
MCFG_CARTSLOT_ADD("cart")
MCFG_CARTSLOT_EXTENSION_LIST("bin,rom")
MCFG_CARTSLOT_NOT_MANDATORY
+ MCFG_CARTSLOT_INTERFACE("odyssey_cart")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","odyssey2")
MACHINE_CONFIG_END
@@ -738,6 +740,9 @@ static MACHINE_CONFIG_START( g7400, odyssey2_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MCFG_FRAGMENT_ADD(odyssey2_cartslot)
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","g7400")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ody2_list","odyssey2")
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/thomson.c b/src/mess/drivers/thomson.c
index cda19210c4f..86ff142b3c6 100644
--- a/src/mess/drivers/thomson.c
+++ b/src/mess/drivers/thomson.c
@@ -130,7 +130,7 @@ static const char layout_thomson[] = "thomson";
static INPUT_PORTS_START( thom_game_port )
/* joysticks, common to CM 90-112 & SX 90-018 */
- PORT_START ( "game_port_directions" )
+ PORT_START ( "game_port_directions" )
PAD ( 0x01, 1, UTF8_UP, JOYSTICK_UP, UP, UP)
PAD ( 0x02, 1, UTF8_DOWN, JOYSTICK_DOWN, DOWN, DOWN )
PAD ( 0x04, 1, UTF8_LEFT, JOYSTICK_LEFT, LEFT, LEFT )
@@ -140,35 +140,35 @@ static INPUT_PORTS_START( thom_game_port )
PAD ( 0x40, 2, UTF8_LEFT, JOYSTICK_LEFT, LEFT, 4_PAD )
PAD ( 0x80, 2, UTF8_RIGHT, JOYSTICK_RIGHT, RIGHT, 6_PAD )
- PORT_START ( "game_port_buttons" )
+ PORT_START ( "game_port_buttons" )
PAD ( 0x40, 1, "Action A", BUTTON1, BUTTON1, LCONTROL )
PAD ( 0x80, 2, "Action A", BUTTON1, BUTTON1, RCONTROL )
/* joysticks, SX 90-018 specific */
PAD ( 0x04, 1, "Action B", BUTTON2, BUTTON2, LALT )
PAD ( 0x08, 2, "Action B", BUTTON2, BUTTON2, RALT )
- PORT_BIT ( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* ? */
+ PORT_BIT ( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* ? */
/* mouse, SX 90-018 specific */
- PORT_START ( "mouse_x" )
- PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_X )
- PORT_NAME ( "Mouse X" )
- PORT_SENSITIVITY ( 150 )
- PORT_PLAYER (1)
-
- PORT_START ( "mouse_y" )
- PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_Y )
- PORT_NAME ( "Mouse Y" )
- PORT_SENSITIVITY ( 150 )
- PORT_PLAYER (1)
-
- PORT_START ( "mouse_button" )
- PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_NAME ( "Left Mouse Button" )
- PORT_CODE( MOUSECODE_BUTTON1 )
- PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_NAME ( "Right Mouse Button" )
+ PORT_START ( "mouse_x" )
+ PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_X )
+ PORT_NAME ( "Mouse X" )
+ PORT_SENSITIVITY ( 150 )
+ PORT_PLAYER (1)
+
+ PORT_START ( "mouse_y" )
+ PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_Y )
+ PORT_NAME ( "Mouse Y" )
+ PORT_SENSITIVITY ( 150 )
+ PORT_PLAYER (1)
+
+ PORT_START ( "mouse_button" )
+ PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_NAME ( "Left Mouse Button" )
+ PORT_CODE( MOUSECODE_BUTTON1 )
+ PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_NAME ( "Right Mouse Button" )
INPUT_PORTS_END
@@ -177,24 +177,24 @@ INPUT_PORTS_END
static INPUT_PORTS_START( thom_lightpen )
- PORT_START ( "lightpen_x" )
- PORT_BIT ( 0xffff, THOM_TOTAL_WIDTH/2, IPT_LIGHTGUN_X )
- PORT_NAME ( "Lightpen X" )
- PORT_MINMAX( 0, THOM_TOTAL_WIDTH )
- PORT_SENSITIVITY( 50 )
- PORT_CROSSHAIR(X, 1.0, 0.0, 0)
-
- PORT_START ( "lightpen_y" )
- PORT_BIT ( 0xffff, THOM_TOTAL_HEIGHT/2, IPT_LIGHTGUN_Y )
- PORT_NAME ( "Lightpen Y" )
- PORT_MINMAX ( 0, THOM_TOTAL_HEIGHT )
- PORT_SENSITIVITY( 50 )
- PORT_CROSSHAIR(Y, 1.0, 0.0, 0)
-
- PORT_START ( "lightpen_button" )
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
- PORT_NAME ( "Lightpen Button" )
- PORT_CODE( MOUSECODE_BUTTON1 )
+ PORT_START ( "lightpen_x" )
+ PORT_BIT ( 0xffff, THOM_TOTAL_WIDTH/2, IPT_LIGHTGUN_X )
+ PORT_NAME ( "Lightpen X" )
+ PORT_MINMAX( 0, THOM_TOTAL_WIDTH )
+ PORT_SENSITIVITY( 50 )
+ PORT_CROSSHAIR(X, 1.0, 0.0, 0)
+
+ PORT_START ( "lightpen_y" )
+ PORT_BIT ( 0xffff, THOM_TOTAL_HEIGHT/2, IPT_LIGHTGUN_Y )
+ PORT_NAME ( "Lightpen Y" )
+ PORT_MINMAX ( 0, THOM_TOTAL_HEIGHT )
+ PORT_SENSITIVITY( 50 )
+ PORT_CROSSHAIR(Y, 1.0, 0.0, 0)
+
+ PORT_START ( "lightpen_button" )
+ PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+ PORT_NAME ( "Lightpen Button" )
+ PORT_CODE( MOUSECODE_BUTTON1 )
INPUT_PORTS_END
@@ -305,22 +305,22 @@ public:
static ADDRESS_MAP_START ( to7, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to7_vram_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 1 * 8 KB */
- AM_RANGE ( 0x8000, 0xbfff ) AM_NOP /* 16 KB (for extension) */
- AM_RANGE ( 0xc000, 0xdfff ) AM_NOP /* 8 KB (for extension) */
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to7_vram_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 1 * 8 KB */
+ AM_RANGE ( 0x8000, 0xbfff ) AM_NOP /* 16 KB (for extension) */
+ AM_RANGE ( 0xc000, 0xdfff ) AM_NOP /* 8 KB (for extension) */
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */
@@ -340,30 +340,30 @@ ADDRESS_MAP_END
/* external floppy controllers */
#define ROM_FLOPPY( base ) \
/* no controller */ \
- ROM_FILL( base, 0x800, 0x39 ) \
+ ROM_FILL( base, 0x800, 0x39 ) \
/* CD 90-015 (5"1/4) */ \
- ROM_LOAD ( "cd90-015.rom", base+0x800, 0x7c0, \
+ ROM_LOAD ( "cd90-015.rom", base+0x800, 0x7c0, \
CRC(821d34c1) \
SHA1(31a6bb81baaeec5fc8de457c97264f9dfa92c18b) ) \
/* CD 90-640 (5"1/4) */ \
- ROM_LOAD ( "cd90-640.rom", base+0x1000, 0x7c0, \
+ ROM_LOAD ( "cd90-640.rom", base+0x1000, 0x7c0, \
CRC(5114c0a5) \
SHA1(5c72566c22d8160ef0c75959e1863a1309bbbe49) ) \
/* CD 90-351 (3"1/2) */ \
- ROM_LOAD ( "cd-351-0.rom", base+0x1800, 0x7c0, \
+ ROM_LOAD ( "cd-351-0.rom", base+0x1800, 0x7c0, \
CRC(2c0159fd) \
SHA1(bab5395ed8bc7c06f9897897f836054e6546e8e8) ) \
- ROM_LOAD ( "cd-351-1.rom", base+0x2000, 0x7c0, \
+ ROM_LOAD ( "cd-351-1.rom", base+0x2000, 0x7c0, \
CRC(8e58d159) \
SHA1(dcf992c96e7556b2faee6bacd3f744e56998e6ea) ) \
- ROM_LOAD ( "cd-351-2.rom", base+0x2800, 0x7c0, \
+ ROM_LOAD ( "cd-351-2.rom", base+0x2800, 0x7c0, \
CRC(c9228b60) \
SHA1(179e10107d5be91e684069dee80f94847b83201f) ) \
- ROM_LOAD ( "cd-351-3.rom", base+0x3000, 0x7c0, \
+ ROM_LOAD ( "cd-351-3.rom", base+0x3000, 0x7c0, \
CRC(3ca8e5dc) \
SHA1(7118636fb5c597c78c2fce17b02aed5e4ba38635) ) \
/* CQ 90-028 (2"8, aka QDD) */ \
- ROM_LOAD ( "cq90-028.rom", base+0x3800, 0x7c0, \
+ ROM_LOAD ( "cq90-028.rom", base+0x3800, 0x7c0, \
CRC(ca4dba3d) \
SHA1(949c1f777c892da62c242215d79757d61e71e62b) )
@@ -382,112 +382,112 @@ ADDRESS_MAP_END
ROM_START ( to7 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "to7.rom", 0xe800, 0x1800,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "to7.rom", 0xe800, 0x1800,
CRC(0e7826da)
SHA1(23a2f84b03c01d385cc1923c8ece95c43756297a) )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
- ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
ROM_END
ROM_START ( t9000 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "t9000.rom", 0xe800, 0x1800,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "t9000.rom", 0xe800, 0x1800,
CRC(daa8cfbf)
SHA1(a5735db1ad4e529804fc46603f838d3f4ccaf5cf) )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
- ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to7_config )
- PORT_START ( "config" )
+ PORT_START ( "config" )
- PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
- PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
- PORT_CONFSETTING ( 0x01, "Mouse" )
+ PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
+ PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
+ PORT_CONFSETTING ( 0x01, "Mouse" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_vconfig )
- PORT_START ( "vconfig" )
+ PORT_START ( "vconfig" )
- PORT_CONFNAME ( 0x03, 0x00, "Border" )
- PORT_CONFSETTING ( 0x00, "Normal (56x47)" )
- PORT_CONFSETTING ( 0x01, "Small (16x16)" )
- PORT_CONFSETTING ( 0x02, DEF_STR ( None ) )
+ PORT_CONFNAME ( 0x03, 0x00, "Border" )
+ PORT_CONFSETTING ( 0x00, "Normal (56x47)" )
+ PORT_CONFSETTING ( 0x01, "Small (16x16)" )
+ PORT_CONFSETTING ( 0x02, DEF_STR ( None ) )
- PORT_CONFNAME ( 0x0c, 0x08, "Resolution" )
- PORT_CONFSETTING ( 0x00, DEF_STR ( Low ) )
- PORT_CONFSETTING ( 0x04, DEF_STR ( High ) )
- PORT_CONFSETTING ( 0x08, "Auto" )
+ PORT_CONFNAME ( 0x0c, 0x08, "Resolution" )
+ PORT_CONFSETTING ( 0x00, DEF_STR ( Low ) )
+ PORT_CONFSETTING ( 0x04, DEF_STR ( High ) )
+ PORT_CONFSETTING ( 0x08, "Auto" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_mconfig )
- PORT_START ( "mconfig" )
+ PORT_START ( "mconfig" )
- PORT_CONFNAME ( 0x01, 0x01, "E7FE-F port" )
- PORT_CONFSETTING ( 0x00, "Modem (unemulated)" )
- PORT_CONFSETTING ( 0x01, "Speech" )
+ PORT_CONFNAME ( 0x01, 0x01, "E7FE-F port" )
+ PORT_CONFSETTING ( 0x00, "Modem (unemulated)" )
+ PORT_CONFSETTING ( 0x01, "Speech" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_fconfig )
- PORT_START ( "fconfig" )
-
- PORT_CONFNAME ( 0x07, 0x03, "Floppy (reset)" )
- PORT_CONFSETTING ( 0x00, DEF_STR ( None ) )
- PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
- PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
- PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
- PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
- PORT_CONFSETTING ( 0x05, "Network" )
-
- PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
- PORT_CONFSETTING ( 0x00, "0 (Master)" )
- PORT_CONFSETTING ( 0x08, "1" )
- PORT_CONFSETTING ( 0x10, "2" )
- PORT_CONFSETTING ( 0x18, "3" )
- PORT_CONFSETTING ( 0x20, "4" )
- PORT_CONFSETTING ( 0x28, "5" )
- PORT_CONFSETTING ( 0x30, "6" )
- PORT_CONFSETTING ( 0x38, "7" )
- PORT_CONFSETTING ( 0x40, "8" )
- PORT_CONFSETTING ( 0x48, "9" )
- PORT_CONFSETTING ( 0x50, "10" )
- PORT_CONFSETTING ( 0x58, "11" )
- PORT_CONFSETTING ( 0x60, "12" )
- PORT_CONFSETTING ( 0x68, "13" )
- PORT_CONFSETTING ( 0x70, "14" )
- PORT_CONFSETTING ( 0x78, "15" )
- PORT_CONFSETTING ( 0x80, "16" )
- PORT_CONFSETTING ( 0x88, "17" )
- PORT_CONFSETTING ( 0x90, "18" )
- PORT_CONFSETTING ( 0x98, "19" )
- PORT_CONFSETTING ( 0xa0, "20" )
- PORT_CONFSETTING ( 0xa8, "21" )
- PORT_CONFSETTING ( 0xb0, "22" )
- PORT_CONFSETTING ( 0xb8, "23" )
- PORT_CONFSETTING ( 0xc0, "24" )
- PORT_CONFSETTING ( 0xc8, "25" )
- PORT_CONFSETTING ( 0xd0, "26" )
- PORT_CONFSETTING ( 0xd8, "27" )
- PORT_CONFSETTING ( 0xe0, "28" )
- PORT_CONFSETTING ( 0xe8, "29" )
- PORT_CONFSETTING ( 0xf0, "30" )
- PORT_CONFSETTING ( 0xf8, "31" )
+ PORT_START ( "fconfig" )
+
+ PORT_CONFNAME ( 0x07, 0x03, "Floppy (reset)" )
+ PORT_CONFSETTING ( 0x00, DEF_STR ( None ) )
+ PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
+ PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
+ PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
+ PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
+ PORT_CONFSETTING ( 0x05, "Network" )
+
+ PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
+ PORT_CONFSETTING ( 0x00, "0 (Master)" )
+ PORT_CONFSETTING ( 0x08, "1" )
+ PORT_CONFSETTING ( 0x10, "2" )
+ PORT_CONFSETTING ( 0x18, "3" )
+ PORT_CONFSETTING ( 0x20, "4" )
+ PORT_CONFSETTING ( 0x28, "5" )
+ PORT_CONFSETTING ( 0x30, "6" )
+ PORT_CONFSETTING ( 0x38, "7" )
+ PORT_CONFSETTING ( 0x40, "8" )
+ PORT_CONFSETTING ( 0x48, "9" )
+ PORT_CONFSETTING ( 0x50, "10" )
+ PORT_CONFSETTING ( 0x58, "11" )
+ PORT_CONFSETTING ( 0x60, "12" )
+ PORT_CONFSETTING ( 0x68, "13" )
+ PORT_CONFSETTING ( 0x70, "14" )
+ PORT_CONFSETTING ( 0x78, "15" )
+ PORT_CONFSETTING ( 0x80, "16" )
+ PORT_CONFSETTING ( 0x88, "17" )
+ PORT_CONFSETTING ( 0x90, "18" )
+ PORT_CONFSETTING ( 0x98, "19" )
+ PORT_CONFSETTING ( 0xa0, "20" )
+ PORT_CONFSETTING ( 0xa8, "21" )
+ PORT_CONFSETTING ( 0xb0, "22" )
+ PORT_CONFSETTING ( 0xb8, "23" )
+ PORT_CONFSETTING ( 0xc0, "24" )
+ PORT_CONFSETTING ( 0xc8, "25" )
+ PORT_CONFSETTING ( 0xd0, "26" )
+ PORT_CONFSETTING ( 0xd8, "27" )
+ PORT_CONFSETTING ( 0xe0, "28" )
+ PORT_CONFSETTING ( 0xe8, "29" )
+ PORT_CONFSETTING ( 0xf0, "30" )
+ PORT_CONFSETTING ( 0xf8, "31" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_BIT ( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_1" )
+ PORT_BIT ( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "W", W ) PORT_CHAR('W')
KEY ( 1, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP))
KEY ( 2, "C \303\247", C ) PORT_CHAR('C')
@@ -496,7 +496,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END))
KEY ( 7, "Stop", TAB ) PORT_CHAR(27)
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "X", X ) PORT_CHAR('X')
KEY ( 1, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 2, "V", V ) PORT_CHAR('V')
@@ -505,7 +505,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "A", A ) PORT_CHAR('A')
KEY ( 6, "+ ;", EQUALS ) PORT_CHAR('+') PORT_CHAR(';')
KEY ( 7, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!')
- PORT_START ( "keyboard_3" )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "Space Caps-Lock", SPACE ) PORT_CHAR(' ') PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
KEY ( 1, UTF8_DOWN, DOWN ) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
KEY ( 2, "B", B ) PORT_CHAR('B')
@@ -514,7 +514,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "Z \305\223", Z) PORT_CHAR('Z')
KEY ( 6, "- =", MINUS ) PORT_CHAR('-') PORT_CHAR('=')
KEY ( 7, "2 \" \302\250", 2 ) PORT_CHAR('2') PORT_CHAR('"')
- PORT_START ( "keyboard_4" )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "@ \342\206\221", TILDE ) PORT_CHAR('@')
KEY ( 1, UTF8_RIGHT, RIGHT ) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
KEY ( 2, "M", M ) PORT_CHAR('M')
@@ -523,7 +523,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "E", E ) PORT_CHAR('E')
KEY ( 6, "0 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
KEY ( 7, "3 #", 3 ) PORT_CHAR('3') PORT_CHAR('#')
- PORT_START ( "keyboard_5" )
+ PORT_START ( "keyboard_5" )
KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
KEY ( 1, "Home", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME))
KEY ( 2, "L", L ) PORT_CHAR('L')
@@ -532,7 +532,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "R", R ) PORT_CHAR('R')
KEY ( 6, "9 )", 9 ) PORT_CHAR('9') PORT_CHAR(')')
KEY ( 7, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$')
- PORT_START ( "keyboard_6" )
+ PORT_START ( "keyboard_6" )
KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 2, "K", K ) PORT_CHAR('K')
@@ -541,7 +541,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "T", T ) PORT_CHAR('T')
KEY ( 6, "8 (", 8 ) PORT_CHAR('8') PORT_CHAR('(')
KEY ( 7, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%')
- PORT_START ( "keyboard_7" )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "N", N ) PORT_CHAR('N')
KEY ( 1, "Delete", DEL ) PORT_CHAR(8)
KEY ( 2, "J \305\222", J ) PORT_CHAR('J')
@@ -552,23 +552,23 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 7, "6 &", 6 ) PORT_CHAR('6') PORT_CHAR('&')
/* unused */
- PORT_START ( "keyboard_8" )
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_9" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to7_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to7_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
static INPUT_PORTS_START ( t9000 )
- PORT_INCLUDE ( to7 )
+ PORT_INCLUDE ( to7 )
INPUT_PORTS_END
static const floppy_interface thomson_floppy_interface =
@@ -623,76 +623,78 @@ const serial_image_interface to7_modem_config =
static MACHINE_CONFIG_START( to7, thomson_state )
- MCFG_MACHINE_START ( to7 )
- MCFG_MACHINE_RESET ( to7 )
+ MCFG_MACHINE_START ( to7 )
+ MCFG_MACHINE_RESET ( to7 )
/* cpu */
- MCFG_CPU_ADD ( "maincpu", M6809, 1000000 )
- MCFG_CPU_PROGRAM_MAP ( to7)
+ MCFG_CPU_ADD ( "maincpu", M6809, 1000000 )
+ MCFG_CPU_PROGRAM_MAP ( to7)
/* video */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE ( /*50*/ 1./0.019968 )
- MCFG_SCREEN_SIZE ( THOM_TOTAL_WIDTH * 2, THOM_TOTAL_HEIGHT )
- MCFG_SCREEN_VISIBLE_AREA ( 0, THOM_TOTAL_WIDTH * 2 - 1,
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE ( /*50*/ 1./0.019968 )
+ MCFG_SCREEN_SIZE ( THOM_TOTAL_WIDTH * 2, THOM_TOTAL_HEIGHT )
+ MCFG_SCREEN_VISIBLE_AREA ( 0, THOM_TOTAL_WIDTH * 2 - 1,
0, THOM_TOTAL_HEIGHT - 1 )
- MCFG_SCREEN_UPDATE_STATIC ( thom )
- MCFG_SCREEN_VBLANK_STATIC ( thom )
+ MCFG_SCREEN_UPDATE_STATIC ( thom )
+ MCFG_SCREEN_VBLANK_STATIC ( thom )
- MCFG_PALETTE_LENGTH ( 4097 ) /* 12-bit color + transparency */
- MCFG_PALETTE_INIT ( thom )
- MCFG_VIDEO_START ( thom )
- MCFG_DEFAULT_LAYOUT( layout_thomson )
+ MCFG_PALETTE_LENGTH ( 4097 ) /* 12-bit color + transparency */
+ MCFG_PALETTE_INIT ( thom )
+ MCFG_VIDEO_START ( thom )
+ MCFG_DEFAULT_LAYOUT( layout_thomson )
/* sound */
- MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_SOUND_ADD ( "buzzer", DAC, 0 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 1-bit buzzer */
- MCFG_SOUND_ADD ( "dac", DAC, 0 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 6-bit game extention DAC */
- MCFG_SOUND_ADD ( "speech", DAC, 0 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* speech synthesis */
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+ MCFG_SOUND_ADD ( "buzzer", DAC, 0 )
+ MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 1-bit buzzer */
+ MCFG_SOUND_ADD ( "dac", DAC, 0 )
+ MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 6-bit game extention DAC */
+ MCFG_SOUND_ADD ( "speech", DAC, 0 )
+ MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* speech synthesis */
/* printer */
- MCFG_CENTRONICS_PRINTER_ADD("centronics", to7_centronics_config)
+ MCFG_CENTRONICS_PRINTER_ADD("centronics", to7_centronics_config)
/* cassette */
- MCFG_CASSETTE_ADD( CASSETTE_TAG, to7_cassette_interface )
+ MCFG_CASSETTE_ADD( CASSETTE_TAG, to7_cassette_interface )
/* timer */
- MCFG_MC6846_ADD( "mc6846", to7_timer )
+ MCFG_MC6846_ADD( "mc6846", to7_timer )
/* speech synthesis */
- MCFG_MEA8000_ADD( "mea8000", to7_speech )
+ MCFG_MEA8000_ADD( "mea8000", to7_speech )
/* floppy */
- MCFG_MC6843_ADD( "mc6843", to7_6843_itf )
- MCFG_WD2793_ADD( "wd2793", default_wd17xx_interface )
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(thomson_floppy_interface)
+ MCFG_MC6843_ADD( "mc6843", to7_6843_itf )
+ MCFG_WD2793_ADD( "wd2793", default_wd17xx_interface )
+ MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(thomson_floppy_interface)
/* network */
- MCFG_MC6854_ADD( "mc6854", to7_network_iface )
+ MCFG_MC6854_ADD( "mc6854", to7_network_iface )
/* pia */
- MCFG_PIA6821_ADD( THOM_PIA_SYS, to7_pia6821_sys )
- MCFG_PIA6821_ADD( THOM_PIA_IO, to7_pia6821_io )
- MCFG_PIA6821_ADD( THOM_PIA_GAME, to7_pia6821_game )
- MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem )
+ MCFG_PIA6821_ADD( THOM_PIA_SYS, to7_pia6821_sys )
+ MCFG_PIA6821_ADD( THOM_PIA_IO, to7_pia6821_io )
+ MCFG_PIA6821_ADD( THOM_PIA_GAME, to7_pia6821_game )
+ MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem )
/* acia */
- MCFG_ACIA6551_ADD("acia")
+ MCFG_ACIA6551_ADD("acia")
/* to7 serial io line */
- MCFG_TO7_IO_LINE_ADD("to7_io")
+ MCFG_TO7_IO_LINE_ADD("to7_io")
/* modem */
- MCFG_ACIA6850_ADD( "acia6850", to7_modem )
+ MCFG_ACIA6850_ADD( "acia6850", to7_modem )
/* cartridge */
- MCFG_CARTSLOT_ADD("cart")
- MCFG_CARTSLOT_EXTENSION_LIST("m7,rom")
- MCFG_CARTSLOT_NOT_MANDATORY
- MCFG_CARTSLOT_LOAD(to7_cartridge)
+ MCFG_CARTSLOT_ADD("cart")
+ MCFG_CARTSLOT_EXTENSION_LIST("m7,rom")
+ MCFG_CARTSLOT_NOT_MANDATORY
+ MCFG_CARTSLOT_LOAD(to7_cartridge)
+ MCFG_CARTSLOT_INTERFACE("to7_cart")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","to7_cart")
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -764,22 +766,22 @@ In arabic mode, Ctrl+E / Ctrl+X to start / stop typing in-line latin.
static ADDRESS_MAP_START ( to770, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
- AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 6 * 16 KB */
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
+ AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 6 * 16 KB */
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */
@@ -797,38 +799,38 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( to770 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "to770.rom", 0xe800, 0x1800, /* BIOS */
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "to770.rom", 0xe800, 0x1800, /* BIOS */
CRC(89518862)
SHA1(cd34474c0bcc758f6d71c90fbd40cef379d61374) )
- ROM_FLOPPY7 ( 0x20000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
ROM_START ( to770a )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "to770a.rom", 0xe800, 0x1800,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "to770a.rom", 0xe800, 0x1800,
CRC(378ea808)
SHA1(f4575b537dfdb46ff2a0e7cbe8dfe4ba63161b8e) )
- ROM_FLOPPY7 ( 0x20000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to770 )
- PORT_INCLUDE ( to7 )
+ PORT_INCLUDE ( to7 )
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 2, "C \302\250 \303\247", C ) PORT_CHAR('C')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 6, "0 \140 \303\240", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 6, "9 ) \303\247", 9 ) PORT_CHAR('9') PORT_CHAR(')')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 6, "8 ( \303\271", 8 ) PORT_CHAR('8') PORT_CHAR('(')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 6, "7 ' \303\250 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'')
KEY ( 7, "6 & \303\251", 6 ) PORT_CHAR('6') PORT_CHAR('&')
@@ -836,28 +838,28 @@ INPUT_PORTS_END
/* arabic version (QWERTY keyboard) */
static INPUT_PORTS_START ( to770a )
- PORT_INCLUDE ( to770 )
+ PORT_INCLUDE ( to770 )
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 0, "Z", Z ) PORT_CHAR('Z')
- PORT_MODIFY ( "keyboard_2" )
+ PORT_MODIFY ( "keyboard_2" )
KEY ( 3, "A", A ) PORT_CHAR('A')
KEY ( 4, "/ ?", QUOTE ) PORT_CHAR('/') PORT_CHAR('?')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
- PORT_MODIFY ( "keyboard_3" )
+ PORT_MODIFY ( "keyboard_3" )
KEY ( 4, "* :", SLASH ) PORT_CHAR('*') PORT_CHAR(':')
KEY ( 5, "W", W) PORT_CHAR('W')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
KEY ( 2, "@ \342\206\221", TILDE ) PORT_CHAR('@') PORT_CHAR('^')
KEY ( 6, "0 \302\243 \302\260 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 6, "9 ) \303\261", 9 ) PORT_CHAR('9') PORT_CHAR(')')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 0, "M", M ) PORT_CHAR('M')
KEY ( 6, "8 ( \303\274", 8 ) PORT_CHAR('8') PORT_CHAR('(')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 6, "7 ' \303\266 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'')
KEY ( 7, "6 & \303\244", 6 ) PORT_CHAR('6') PORT_CHAR('&')
@@ -877,6 +879,11 @@ static MACHINE_CONFIG_DERIVED( to770, to7 )
MCFG_MC6846_MODIFY( "mc6846", to770_timer )
+ MCFG_CARTSLOT_MODIFY("cart")
+ MCFG_CARTSLOT_INTERFACE("to770_cart")
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","to770_cart")
+
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
@@ -952,20 +959,20 @@ Differences include:
static ADDRESS_MAP_START ( mo5, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x2000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK )
- AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo5_ext_w )
- AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
- AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
- AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w )
- AM_RANGE ( 0xf000, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x2000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK )
+ AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo5_ext_w )
+ AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
+ AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w )
+ AM_RANGE ( 0xf000, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 16 KB integrated BASIC / 64 KB external cartridge */
/* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */
@@ -983,61 +990,61 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( mo5 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "mo5.rom", 0xf000, 0x1000,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "mo5.rom", 0xf000, 0x1000,
CRC(f0ea9140)
SHA1(36ce2d3df1866ec2fe368c1c28757e2f5401cf44) )
- ROM_LOAD ( "basic5.rom", 0x11000, 0x3000,
+ ROM_LOAD ( "basic5.rom", 0x11000, 0x3000,
CRC(c2c11b9d)
SHA1(512dd40fb45bc2b51a24c84b3723a32bc8e80c06) )
- ROM_FLOPPY5 ( 0x20000 )
+ ROM_FLOPPY5 ( 0x20000 )
ROM_END
ROM_START ( mo5e )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "mo5e.rom", 0xf000, 0x1000,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "mo5e.rom", 0xf000, 0x1000,
CRC(6520213a)
SHA1(f17a7a59baf2819ec80991b34b204795536a5e01) )
- ROM_LOAD ( "basic5e.rom", 0x11000, 0x3000,
+ ROM_LOAD ( "basic5e.rom", 0x11000, 0x3000,
CRC(934a72b2)
SHA1(b37e2b1afbfba368c19be87b3bf61dfe6ad8b0bb) )
- ROM_FLOPPY5 ( 0x20000 )
+ ROM_FLOPPY5 ( 0x20000 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( mo5 )
- PORT_INCLUDE ( to770 )
+ PORT_INCLUDE ( to770 )
- PORT_MODIFY ( "keyboard_0" )
+ PORT_MODIFY ( "keyboard_0" )
KEY ( 1, "BASIC", RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL))
- PORT_BIT ( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT ( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
/* QWERTY version */
static INPUT_PORTS_START ( mo5e )
- PORT_INCLUDE ( mo5 )
+ PORT_INCLUDE ( mo5 )
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 0, "Z", Z ) PORT_CHAR('Z')
- PORT_MODIFY ( "keyboard_2" )
+ PORT_MODIFY ( "keyboard_2" )
KEY ( 3, "A", A ) PORT_CHAR('A')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
- PORT_MODIFY ( "keyboard_3" )
+ PORT_MODIFY ( "keyboard_3" )
KEY ( 5, "W", W) PORT_CHAR('W')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
KEY ( 2, "@ \342\206\221", TILDE ) PORT_CHAR('@') PORT_CHAR('^')
KEY ( 6, "0 \302\243 \302\260 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 6, "9 ) \303\261", 9 ) PORT_CHAR('9') PORT_CHAR(')')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 0, "M", M ) PORT_CHAR('M')
KEY ( 6, "8 ( \303\274", 8 ) PORT_CHAR('8') PORT_CHAR('(')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 6, "7 ' \303\266 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'')
KEY ( 7, "6 & \303\244", 6 ) PORT_CHAR('6') PORT_CHAR('&')
@@ -1046,21 +1053,25 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( mo5, to7 )
- MCFG_MACHINE_START ( mo5 )
- MCFG_MACHINE_RESET ( mo5 )
+ MCFG_MACHINE_START ( mo5 )
+ MCFG_MACHINE_RESET ( mo5 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( mo5)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( mo5)
- MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
+ MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
- MCFG_DEVICE_REMOVE( "mc6846" )
+ MCFG_DEVICE_REMOVE( "mc6846" )
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo5_pia6821_sys )
MCFG_CARTSLOT_MODIFY("cart")
MCFG_CARTSLOT_EXTENSION_LIST("m5,rom")
MCFG_CARTSLOT_LOAD(mo5_cartridge)
+ MCFG_CARTSLOT_INTERFACE("mo5_cart")
+
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","mo5_cart")
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -1150,24 +1161,24 @@ It was replaced quickly with the improved TO9+.
static ADDRESS_MAP_START ( to9, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to9_cartridge_w )/* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
- AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 10 * 16 KB */
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to9_floppy_r, to9_floppy_w )
- AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w )
- AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to9_cartridge_w )/* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
+ AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 10 * 16 KB */
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to9_floppy_r, to9_floppy_w )
+ AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w )
+ AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x3ffff: 128 KB internal software ROM */
@@ -1191,47 +1202,47 @@ ADDRESS_MAP_END
*/
ROM_START ( to9 )
- ROM_REGION ( 0x44800, "maincpu", 0 )
- ROM_LOAD ( "to9.rom", 0xe000, 0x2000, /* BIOS & floppy controller */
+ ROM_REGION ( 0x44800, "maincpu", 0 )
+ ROM_LOAD ( "to9.rom", 0xe000, 0x2000, /* BIOS & floppy controller */
CRC(f9278bf7)
SHA1(9e99e6ae0285950f007b19161de642a4031fe46e) )
/* BASIC & software */
- ROM_LOAD ( "basic9-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basic9-0.rom", 0x20000, 0x4000,
CRC(c7bac620)
SHA1(4b2a8b30cf437858ce978ba7b0dfa2bbd57eb38a) )
- ROM_LOAD ( "basic9-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basic9-1.rom", 0x24000, 0x4000,
CRC(ea5f3e43)
SHA1(5e58a29c2d117fcdb1f5e7ca31dbfffa0f9218f2) )
- ROM_LOAD ( "basic9-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic9-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basic9-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic9-3.rom", 0x2c000, 0x4000,
CRC(6b5b19e3)
SHA1(0e832670c185694d9abbcebcc3ad90e94eed585d) )
- ROM_LOAD ( "soft9-0a.rom", 0x30000, 0x4000,
+ ROM_LOAD ( "soft9-0a.rom", 0x30000, 0x4000,
CRC(8cee157e)
SHA1(f32fc39b95890c00571e9f3fbcc2d8e0596fc4a1) )
- ROM_LOAD ( "soft9-1a.rom", 0x34000, 0x4000,
+ ROM_LOAD ( "soft9-1a.rom", 0x34000, 0x4000,
CRC(cf39ac93)
SHA1(b97e6b7389398e5706624973c11ee7ddba323ce1) )
- ROM_LOAD ( "soft9-0b.rom", 0x38000, 0x4000,
+ ROM_LOAD ( "soft9-0b.rom", 0x38000, 0x4000,
CRC(033aee3f)
SHA1(f3604e500329ec0489b05dbab05530322e9463c5) )
- ROM_LOAD ( "soft9-1b.rom", 0x3c000, 0x4000,
+ ROM_LOAD ( "soft9-1b.rom", 0x3c000, 0x4000,
CRC(214fe527)
SHA1(0d8e3f1ca347026e906c3d00a0371e8238c44a60) )
- ROM_FLOPPY7( 0x40000 )
+ ROM_FLOPPY7( 0x40000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to9_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "F2 F7", F2 ) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CHAR(UCHAR_MAMEKEY(F7))
KEY ( 1, "_ 6", 6 ) PORT_CHAR('_') PORT_CHAR('6')
KEY ( 2, "Y", Y ) PORT_CHAR('Y')
@@ -1240,7 +1251,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, UTF8_RIGHT, RIGHT ) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
KEY ( 6, "Home Clear", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHAR(UCHAR_MAMEKEY(ESC))
KEY ( 7, "N", N ) PORT_CHAR('N')
- PORT_START ( "keyboard_1" )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "F3 F8", F3 ) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CHAR(UCHAR_MAMEKEY(F8))
KEY ( 1, "( 5", 5 ) PORT_CHAR('(') PORT_CHAR('5')
KEY ( 2, "T", T ) PORT_CHAR('T')
@@ -1249,7 +1260,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 6, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 7, "B \302\264", B ) PORT_CHAR('B')
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "F4 F9", F4 ) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CHAR(UCHAR_MAMEKEY(F9))
KEY ( 1, "' 4", 4 ) PORT_CHAR('\'') PORT_CHAR('4')
KEY ( 2, "R", R ) PORT_CHAR('R')
@@ -1258,7 +1269,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 1", 1_PAD ) PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
KEY ( 6, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
KEY ( 7, "V", V ) PORT_CHAR('V')
- PORT_START ( "keyboard_3" )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "F5 F10", F5 ) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F10))
KEY ( 1, "\" 3", 3 ) PORT_CHAR('"') PORT_CHAR('3')
KEY ( 2, "E", E ) PORT_CHAR('E')
@@ -1267,7 +1278,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 4", 4_PAD ) PORT_CHAR(UCHAR_MAMEKEY(4_PAD))
KEY ( 6, "Keypad 0", 0_PAD ) PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
KEY ( 7, "C \136", C ) PORT_CHAR('C')
- PORT_START ( "keyboard_4" )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "F1 F6", F1 ) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F6))
KEY ( 1, "\303\251 2", 2 ) PORT_CHAR( 0xe9 ) PORT_CHAR('2')
KEY ( 2, "Z", Z ) PORT_CHAR('Z')
@@ -1276,7 +1287,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 2", 2_PAD ) PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
KEY ( 6, "Keypad .", DEL_PAD ) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD))
KEY ( 7, "X", X ) PORT_CHAR('X')
- PORT_START ( "keyboard_5" )
+ PORT_START ( "keyboard_5" )
KEY ( 0, "# @", TILDE ) PORT_CHAR('#') PORT_CHAR('@')
KEY ( 1, "* 1", 1 ) PORT_CHAR('*') PORT_CHAR('1')
KEY ( 2, "A \140", A ) PORT_CHAR('A')
@@ -1285,7 +1296,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 5", 5_PAD ) PORT_CHAR(UCHAR_MAMEKEY(5_PAD))
KEY ( 6, "Keypad 6", 6_PAD ) PORT_CHAR(UCHAR_MAMEKEY(6_PAD))
KEY ( 7, "W", W ) PORT_CHAR('W')
- PORT_START ( "keyboard_6" )
+ PORT_START ( "keyboard_6" )
KEY ( 0, "Stop", TAB ) PORT_CHAR(27)
KEY ( 1, "\303\250 7", 7 ) PORT_CHAR( 0xe8 ) PORT_CHAR('7')
KEY ( 2, "U", U ) PORT_CHAR('U')
@@ -1294,7 +1305,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 9", 9_PAD ) PORT_CHAR(UCHAR_MAMEKEY(9_PAD))
KEY ( 6, "Keypad Enter", ENTER_PAD ) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
KEY ( 7, ", ?", COMMA ) PORT_CHAR(',') PORT_CHAR('?')
- PORT_START ( "keyboard_7" )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
KEY ( 1, "! 8", 8 ) PORT_CHAR('!') PORT_CHAR('8')
KEY ( 2, "I", I ) PORT_CHAR('I')
@@ -1303,7 +1314,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, UTF8_DOWN, DOWN ) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
KEY ( 6, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}')
KEY ( 7, "; .", STOP ) PORT_CHAR(';') PORT_CHAR('.')
- PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_8" )
KEY ( 0, "Caps-Lock", CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
KEY ( 1, "\303\247 9", 9 ) PORT_CHAR( 0xe7 ) PORT_CHAR('9')
KEY ( 2, "O", O ) PORT_CHAR('O')
@@ -1312,7 +1323,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "\303\271 %", COLON ) PORT_CHAR( 0xf9 ) PORT_CHAR('%')
KEY ( 6, "Enter", ENTER ) PORT_CHAR(13)
KEY ( 7, ": /", SLASH ) PORT_CHAR(':') PORT_CHAR('/')
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_9" )
KEY ( 0, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
KEY ( 1, "\303\240 0", 0 ) PORT_CHAR( 0xe0 ) PORT_CHAR('0')
KEY ( 2, "P", P ) PORT_CHAR('P')
@@ -1324,70 +1335,70 @@ static INPUT_PORTS_START ( to9_keyboard )
INPUT_PORTS_END
static INPUT_PORTS_START ( to9_fconfig )
- PORT_START ( "fconfig" )
-
- PORT_CONFNAME ( 0x07, 0x00, "External floppy (reset)" )
- PORT_CONFSETTING ( 0x00, "No external" )
- PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
- PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
- PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
- PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
- PORT_CONFSETTING ( 0x05, "Network" )
-
- PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
- PORT_CONFSETTING ( 0x00, "0 (Master)" )
- PORT_CONFSETTING ( 0x08, "1" )
- PORT_CONFSETTING ( 0x10, "2" )
- PORT_CONFSETTING ( 0x18, "3" )
- PORT_CONFSETTING ( 0x20, "4" )
- PORT_CONFSETTING ( 0x28, "5" )
- PORT_CONFSETTING ( 0x30, "6" )
- PORT_CONFSETTING ( 0x38, "7" )
- PORT_CONFSETTING ( 0x40, "8" )
- PORT_CONFSETTING ( 0x48, "9" )
- PORT_CONFSETTING ( 0x50, "10" )
- PORT_CONFSETTING ( 0x58, "11" )
- PORT_CONFSETTING ( 0x60, "12" )
- PORT_CONFSETTING ( 0x68, "13" )
- PORT_CONFSETTING ( 0x70, "14" )
- PORT_CONFSETTING ( 0x78, "15" )
- PORT_CONFSETTING ( 0x80, "16" )
- PORT_CONFSETTING ( 0x88, "17" )
- PORT_CONFSETTING ( 0x90, "18" )
- PORT_CONFSETTING ( 0x98, "19" )
- PORT_CONFSETTING ( 0xa0, "20" )
- PORT_CONFSETTING ( 0xa8, "21" )
- PORT_CONFSETTING ( 0xb0, "22" )
- PORT_CONFSETTING ( 0xb8, "23" )
- PORT_CONFSETTING ( 0xc0, "24" )
- PORT_CONFSETTING ( 0xc8, "25" )
- PORT_CONFSETTING ( 0xd0, "26" )
- PORT_CONFSETTING ( 0xd8, "27" )
- PORT_CONFSETTING ( 0xe0, "28" )
- PORT_CONFSETTING ( 0xe8, "29" )
- PORT_CONFSETTING ( 0xf0, "30" )
- PORT_CONFSETTING ( 0xf8, "31" )
+ PORT_START ( "fconfig" )
+
+ PORT_CONFNAME ( 0x07, 0x00, "External floppy (reset)" )
+ PORT_CONFSETTING ( 0x00, "No external" )
+ PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
+ PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
+ PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
+ PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
+ PORT_CONFSETTING ( 0x05, "Network" )
+
+ PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
+ PORT_CONFSETTING ( 0x00, "0 (Master)" )
+ PORT_CONFSETTING ( 0x08, "1" )
+ PORT_CONFSETTING ( 0x10, "2" )
+ PORT_CONFSETTING ( 0x18, "3" )
+ PORT_CONFSETTING ( 0x20, "4" )
+ PORT_CONFSETTING ( 0x28, "5" )
+ PORT_CONFSETTING ( 0x30, "6" )
+ PORT_CONFSETTING ( 0x38, "7" )
+ PORT_CONFSETTING ( 0x40, "8" )
+ PORT_CONFSETTING ( 0x48, "9" )
+ PORT_CONFSETTING ( 0x50, "10" )
+ PORT_CONFSETTING ( 0x58, "11" )
+ PORT_CONFSETTING ( 0x60, "12" )
+ PORT_CONFSETTING ( 0x68, "13" )
+ PORT_CONFSETTING ( 0x70, "14" )
+ PORT_CONFSETTING ( 0x78, "15" )
+ PORT_CONFSETTING ( 0x80, "16" )
+ PORT_CONFSETTING ( 0x88, "17" )
+ PORT_CONFSETTING ( 0x90, "18" )
+ PORT_CONFSETTING ( 0x98, "19" )
+ PORT_CONFSETTING ( 0xa0, "20" )
+ PORT_CONFSETTING ( 0xa8, "21" )
+ PORT_CONFSETTING ( 0xb0, "22" )
+ PORT_CONFSETTING ( 0xb8, "23" )
+ PORT_CONFSETTING ( 0xc0, "24" )
+ PORT_CONFSETTING ( 0xc8, "25" )
+ PORT_CONFSETTING ( 0xd0, "26" )
+ PORT_CONFSETTING ( 0xd8, "27" )
+ PORT_CONFSETTING ( 0xe0, "28" )
+ PORT_CONFSETTING ( 0xe8, "29" )
+ PORT_CONFSETTING ( 0xf0, "30" )
+ PORT_CONFSETTING ( 0xf8, "31" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to9 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to9_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to9_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to9_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to9_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( to9, to7 )
- MCFG_MACHINE_START ( to9 )
- MCFG_MACHINE_RESET ( to9 )
+ MCFG_MACHINE_START ( to9 )
+ MCFG_MACHINE_RESET ( to9 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( to9)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( to9)
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to9_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -1395,9 +1406,12 @@ static MACHINE_CONFIG_DERIVED( to9, to7 )
MCFG_DEVICE_REMOVE("centronics")
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
- MCFG_MC6846_MODIFY( "mc6846", to9_timer )
+ MCFG_MC6846_MODIFY( "mc6846", to9_timer )
- /* internal ram */
+
+ MCFG_DEVICE_REMOVE("cart_list")
+
+ /* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("192K")
MCFG_RAM_EXTRA_OPTIONS("128K")
@@ -1472,25 +1486,25 @@ The TO8D is simply a TO8 with an integrated 3"1/2 floppy drive.
static ADDRESS_MAP_START ( to8, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
- AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
+ AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB internal software ROM */
@@ -1505,105 +1519,105 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( to8 )
- ROM_REGION ( 0x38800, "maincpu", 0 )
+ ROM_REGION ( 0x38800, "maincpu", 0 )
/* BIOS & floppy */
- ROM_LOAD ( "to8-0.rom", 0x30000, 0x2000,
+ ROM_LOAD ( "to8-0.rom", 0x30000, 0x2000,
CRC(3c4a640a)
SHA1(0a4952f0ca002d82ac83755e1f694d56399413b2) )
- ROM_LOAD ( "to8-1.rom", 0x32000, 0x2000,
+ ROM_LOAD ( "to8-1.rom", 0x32000, 0x2000,
CRC(cb9bae2d)
SHA1(a4a55a6e2c74bca15951158c5164970e922fc1c1) )
/* BASIC */
- ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
CRC(e5a00fb3)
SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) )
- ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
CRC(4b241e63)
SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) )
- ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
CRC(f552e7e3)
SHA1(3208e0d7d90241a327ed24e4921303f16e167bd5) )
- ROM_FLOPPY7( 0x34000 )
+ ROM_FLOPPY7( 0x34000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
ROM_START ( to8d )
- ROM_REGION ( 0x38800, "maincpu", 0 )
+ ROM_REGION ( 0x38800, "maincpu", 0 )
/* BIOS & floppy */
- ROM_LOAD ( "to8d-0.rom", 0x30000, 0x2000,
+ ROM_LOAD ( "to8d-0.rom", 0x30000, 0x2000,
CRC(30ea4950)
SHA1(6705100cd337fffb26ce999302b55fb71557b128) )
- ROM_LOAD ( "to8d-1.rom", 0x32000, 0x2000,
+ ROM_LOAD ( "to8d-1.rom", 0x32000, 0x2000,
CRC(926cf0ca)
SHA1(8521613ac00e04dd94b69e771aeaefbf4fe97bf7) )
/* BASIC */
- ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
CRC(e5a00fb3)
SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) )
- ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
CRC(4b241e63)
SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) )
- ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
CRC(f552e7e3)
SHA1(3208e0d7d90241a327ed24e4921303f16e167bd5) )
- ROM_FLOPPY7( 0x34000 )
+ ROM_FLOPPY7( 0x34000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to8_config )
- PORT_START ( "config" )
+ PORT_START ( "config" )
- PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
- PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
- PORT_CONFSETTING ( 0x01, "Mouse" )
+ PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
+ PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
+ PORT_CONFSETTING ( 0x01, "Mouse" )
- PORT_CONFNAME ( 0x02, 0x00, "Keyboard" )
- PORT_CONFSETTING ( 0x00, "Enabled" )
- PORT_CONFSETTING ( 0x02, "Disabled" )
+ PORT_CONFNAME ( 0x02, 0x00, "Keyboard" )
+ PORT_CONFSETTING ( 0x00, "Enabled" )
+ PORT_CONFSETTING ( 0x02, "Disabled" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to8 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to9_keyboard )
- PORT_INCLUDE ( to8_config )
- PORT_INCLUDE ( to9_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to9_keyboard )
+ PORT_INCLUDE ( to8_config )
+ PORT_INCLUDE ( to9_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
static INPUT_PORTS_START ( to8d )
- PORT_INCLUDE ( to8 )
+ PORT_INCLUDE ( to8 )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( to8, to7 )
- MCFG_MACHINE_START ( to8 )
- MCFG_MACHINE_RESET ( to8 )
+ MCFG_MACHINE_START ( to8 )
+ MCFG_MACHINE_RESET ( to8 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( to8)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( to8)
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to8_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -1611,9 +1625,11 @@ static MACHINE_CONFIG_DERIVED( to8, to7 )
MCFG_DEVICE_REMOVE("centronics")
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
- MCFG_MC6846_MODIFY( "mc6846", to8_timer )
+ MCFG_MC6846_MODIFY( "mc6846", to8_timer )
- /* internal ram */
+ MCFG_DEVICE_REMOVE("cart_list")
+
+ /* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("512K")
MCFG_RAM_EXTRA_OPTIONS("256K")
@@ -1667,26 +1683,26 @@ The differences with the TO8 are:
static ADDRESS_MAP_START ( to9p, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
- AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
- AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
+ AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
+ AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB internal software ROM */
@@ -1701,56 +1717,56 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( to9p )
- ROM_REGION ( 0x38800, "maincpu", 0 )
+ ROM_REGION ( 0x38800, "maincpu", 0 )
/* BIOS & floppy */
- ROM_LOAD ( "to9p-0.rom", 0x30000, 0x2000,
+ ROM_LOAD ( "to9p-0.rom", 0x30000, 0x2000,
CRC(a2731296)
SHA1(b30e06127d6e99d4ac5a5bb67881df27bbd9a7e5) )
- ROM_LOAD ( "to9p-1.rom", 0x32000, 0x2000,
+ ROM_LOAD ( "to9p-1.rom", 0x32000, 0x2000,
CRC(c52ce315)
SHA1(7eacbd796e76bc72b872f9700c9b90414899ea0f) )
/* BASIC */
- ROM_LOAD ( "basicp-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basicp-0.rom", 0x20000, 0x4000,
CRC(e5a00fb3)
SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) )
- ROM_LOAD ( "basicp-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basicp-1.rom", 0x24000, 0x4000,
CRC(4b241e63)
SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) )
- ROM_LOAD ( "basicp-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basicp-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basicp-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basicp-3.rom", 0x2c000, 0x4000,
CRC(ebe9c8d9)
SHA1(b667ad09a1181f65059a2cbb4c95421bc544a334) )
- ROM_FLOPPY7( 0x34000 )
+ ROM_FLOPPY7( 0x34000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to9p )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to9_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to9_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to9_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to9_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( to9p, to7 )
- MCFG_MACHINE_START ( to9p )
- MCFG_MACHINE_RESET ( to9p )
+ MCFG_MACHINE_START ( to9p )
+ MCFG_MACHINE_RESET ( to9p )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( to9p)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( to9p)
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to9p_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -1758,7 +1774,9 @@ static MACHINE_CONFIG_DERIVED( to9p, to7 )
MCFG_DEVICE_REMOVE("centronics")
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
- MCFG_MC6846_MODIFY( "mc6846", to9p_timer )
+ MCFG_MC6846_MODIFY( "mc6846", to9p_timer )
+
+ MCFG_DEVICE_REMOVE("cart_list")
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -1829,25 +1847,25 @@ a PC XT.
static ADDRESS_MAP_START ( mo6, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
- AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
- AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
+ AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
+ AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w )*/
- AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
- AM_RANGE ( 0xb000, 0xefff ) AM_ROMBANK ( THOM_CART_BANK )
- AM_WRITE_LEGACY(mo6_cartridge_w )
- AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
+ AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
+ AM_RANGE ( 0xb000, 0xefff ) AM_ROMBANK ( THOM_CART_BANK )
+ AM_WRITE_LEGACY(mo6_cartridge_w )
+ AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB BIOS ROM */
@@ -1861,61 +1879,61 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( mo6 )
- ROM_REGION ( 0x34800, "maincpu", 0 )
+ ROM_REGION ( 0x34800, "maincpu", 0 )
/* BIOS */
- ROM_LOAD ( "mo6-0.rom", 0x23000, 0x1000,
+ ROM_LOAD ( "mo6-0.rom", 0x23000, 0x1000,
CRC(0446eef6)
SHA1(b57fcda69c95f0c97c5cb0605d17c49a0c630300) )
- ROM_LOAD ( "mo6-1.rom", 0x27000, 0x1000,
+ ROM_LOAD ( "mo6-1.rom", 0x27000, 0x1000,
CRC(eb6df8d4)
SHA1(24e2232f582ce04f260acd8e9ec710468a81505c) )
/* BASIC */
- ROM_LOAD ( "basic6-0.rom", 0x20000, 0x3000,
+ ROM_LOAD ( "basic6-0.rom", 0x20000, 0x3000,
CRC(18789833)
SHA1(fccbf69cbc6deba45a767a26cd6454cf0eedfc2b) )
- ROM_LOAD ( "basic6-1.rom", 0x24000, 0x3000,
+ ROM_LOAD ( "basic6-1.rom", 0x24000, 0x3000,
CRC(c9b4d6f4)
SHA1(47487d2bc4c9a9c09c733bd89c49693c52e262de) )
- ROM_LOAD ( "basic6-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic6-2.rom", 0x28000, 0x4000,
CRC(08eac9bb)
SHA1(c0231fdb3bcccbbb10c1f93cc529fc3b96dd3f4d) )
- ROM_LOAD ( "basic6-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic6-3.rom", 0x2c000, 0x4000,
CRC(19d66dc4)
SHA1(301b6366269181b74cb5d7ccdf5455b7290ae99b) )
- ROM_FLOPPY5 ( 0x30000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY5 ( 0x30000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
ROM_START ( pro128 )
- ROM_REGION ( 0x34800, "maincpu", 0 )
+ ROM_REGION ( 0x34800, "maincpu", 0 )
/* BIOS */
- ROM_LOAD ( "pro128-0.rom", 0x23000, 0x1000,
+ ROM_LOAD ( "pro128-0.rom", 0x23000, 0x1000,
CRC(a8aef291)
SHA1(2685cca841f405a37ef48b0115f90c865ce79d0f) )
- ROM_LOAD ( "pro128-1.rom", 0x27000, 0x1000,
+ ROM_LOAD ( "pro128-1.rom", 0x27000, 0x1000,
CRC(5b3340ec)
SHA1(269f2eb3e3452014b8d1f0f9e1c63fe56375a863) )
/* BASIC */
- ROM_LOAD ( "basico-0.rom", 0x20000, 0x3000,
+ ROM_LOAD ( "basico-0.rom", 0x20000, 0x3000,
CRC(98b10d5e)
SHA1(d6b77e694fa85e1114293448e5a64f6e2cf46c22) )
- ROM_LOAD ( "basico-1.rom", 0x24000, 0x3000,
+ ROM_LOAD ( "basico-1.rom", 0x24000, 0x3000,
CRC(721d2124)
SHA1(51db1cd03b3891e212a24aa6563b09968930d897) )
- ROM_LOAD ( "basico-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basico-2.rom", 0x28000, 0x4000,
CRC(135438ab)
SHA1(617d4e4979842bea2c21ef7f8c50f3b08b15239a) )
- ROM_LOAD ( "basico-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basico-3.rom", 0x2c000, 0x4000,
CRC(2c2befa6)
SHA1(3e94e182bacbb55bb07be2af4c76c0b0df47b3bf) )
- ROM_FLOPPY5 ( 0x30000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY5 ( 0x30000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
@@ -1923,7 +1941,7 @@ ROM_END
static INPUT_PORTS_START ( mo6_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "N", N ) PORT_CHAR('N')
KEY ( 1, ", ?", COMMA ) PORT_CHAR(',') PORT_CHAR('?')
KEY ( 2, "; .", STOP ) PORT_CHAR(';') PORT_CHAR('.')
@@ -1932,7 +1950,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "X", X ) PORT_CHAR('X')
KEY ( 6, "W", W ) PORT_CHAR('W')
KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_START ( "keyboard_1" )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 2, "> <", BACKSLASH2 ) PORT_CHAR('>') PORT_CHAR('<')
@@ -1941,7 +1959,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 6, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP))
KEY ( 7, "BASIC", RCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL))
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "J", J ) PORT_CHAR('J')
KEY ( 1, "K", K ) PORT_CHAR('K')
KEY ( 2, "L", L ) PORT_CHAR('L')
@@ -1950,7 +1968,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "V", V ) PORT_CHAR('V')
KEY ( 6, "C \136", C ) PORT_CHAR('C')
KEY ( 7, "Caps-Lock", CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
- PORT_START ( "keyboard_3" )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "H \302\250", H ) PORT_CHAR('H')
KEY ( 1, "G", G ) PORT_CHAR('G')
KEY ( 2, "F", F ) PORT_CHAR('F')
@@ -1959,7 +1977,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
KEY ( 6, "Home Clear", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHAR(UCHAR_MAMEKEY(ESC))
KEY ( 7, "F1 F6", F1 ) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F6))
- PORT_START ( "keyboard_4" )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "U", U ) PORT_CHAR('U')
KEY ( 1, "I", I ) PORT_CHAR('I')
KEY ( 2, "O", O ) PORT_CHAR('O')
@@ -1968,7 +1986,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "$ &", CLOSEBRACE ) PORT_CHAR('$') PORT_CHAR('&')
KEY ( 6, "Enter", ENTER ) PORT_CHAR(13)
KEY ( 7, "F2 F7", F2 ) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CHAR(UCHAR_MAMEKEY(F7))
- PORT_START ( "keyboard_5" )
+ PORT_START ( "keyboard_5" )
KEY ( 0, "Y", Y ) PORT_CHAR('Y')
KEY ( 1, "T", T ) PORT_CHAR('T')
KEY ( 2, "R", R ) PORT_CHAR('R')
@@ -1977,7 +1995,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "A \140", A ) PORT_CHAR('A')
KEY ( 6, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
KEY ( 7, "F3 F8", F3 ) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CHAR(UCHAR_MAMEKEY(F8))
- PORT_START ( "keyboard_6" )
+ PORT_START ( "keyboard_6" )
KEY ( 0, "7 \303\250", 7 ) PORT_CHAR('7') PORT_CHAR( 0xe8 )
KEY ( 1, "8 !", 8 ) PORT_CHAR('8') PORT_CHAR('!')
KEY ( 2, "9 \303\247", 9 ) PORT_CHAR('9') PORT_CHAR( 0xe7 )
@@ -1986,7 +2004,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "= +", EQUALS ) PORT_CHAR('=') PORT_CHAR('+')
KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END))
KEY ( 7, "F4 F9", F4 ) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CHAR(UCHAR_MAMEKEY(F9))
- PORT_START ( "keyboard_7" )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "6 _", 6 ) PORT_CHAR('6') PORT_CHAR('_')
KEY ( 1, "5 (", 5 ) PORT_CHAR('5') PORT_CHAR('(')
KEY ( 2, "4 '", 4 ) PORT_CHAR('4') PORT_CHAR('\'')
@@ -1995,56 +2013,56 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "1 *", 1 ) PORT_CHAR('1') PORT_CHAR('*')
KEY ( 6, "Stop", TAB ) PORT_CHAR(27)
KEY ( 7, "F5 F10", F5 ) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F10))
- PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_8" )
KEY ( 0, "[ {", QUOTE ) PORT_CHAR('[') PORT_CHAR('{')
KEY ( 1, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}')
KEY ( 2, ") \302\260", MINUS ) PORT_CHAR(')') PORT_CHAR( 0xb0 )
KEY ( 3, "\342\206\221 \302\250", OPENBRACE ) PORT_CHAR('^') PORT_CHAR( 0xa8 )
KEY ( 4, "\303\271 %", COLON ) PORT_CHAR( 0xf9 ) PORT_CHAR('%')
- PORT_BIT ( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT ( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
/* unused */
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_9" )
INPUT_PORTS_END
/* QWERTY version */
static INPUT_PORTS_START ( pro128_keyboard )
- PORT_INCLUDE ( mo6_keyboard )
+ PORT_INCLUDE ( mo6_keyboard )
- PORT_MODIFY ( "keyboard_0" )
+ PORT_MODIFY ( "keyboard_0" )
KEY ( 1, "M", M ) PORT_CHAR('M')
KEY ( 2, ", ;", COMMA ) PORT_CHAR(',') PORT_CHAR(';')
KEY ( 3, "[ {", QUOTE ) PORT_CHAR('[') PORT_CHAR('{')
KEY ( 6, "Z", Z ) PORT_CHAR('Z')
KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 2, "- _", MINUS ) PORT_CHAR('-') PORT_CHAR('_')
- PORT_MODIFY ( "keyboard_2" )
+ PORT_MODIFY ( "keyboard_2" )
KEY ( 3, "\303\221", TILDE ) PORT_CHAR( 0xd1 )
- PORT_MODIFY ( "keyboard_3" )
+ PORT_MODIFY ( "keyboard_3" )
KEY ( 5, "A \140", A ) PORT_CHAR('A')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 4, ". :", STOP ) PORT_CHAR('.') PORT_CHAR(':')
KEY ( 5, "+ *", BACKSPACE ) PORT_CHAR('+') PORT_CHAR('*')
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 4, "W", W ) PORT_CHAR('W')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 0, "7 /", 7 ) PORT_CHAR('7') PORT_CHAR('/')
KEY ( 1, "8 (", 8 ) PORT_CHAR('8') PORT_CHAR('(')
KEY ( 2, "9 )", 9 ) PORT_CHAR('9') PORT_CHAR(')')
KEY ( 3, "0 =", 0 ) PORT_CHAR('0') PORT_CHAR('=')
KEY ( 4, "' \302\243", CLOSEBRACE ) PORT_CHAR('\'') PORT_CHAR( 0xa3 )
KEY ( 5, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 0, "6 &", 6 ) PORT_CHAR('6') PORT_CHAR('&')
KEY ( 1, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%')
KEY ( 2, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$')
KEY ( 3, "3 \302\247", 3 ) PORT_CHAR('3') PORT_CHAR( 0xa7 )
KEY ( 4, "2 \"", 2 ) PORT_CHAR('2') PORT_CHAR('"')
KEY ( 5, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!')
- PORT_MODIFY ( "keyboard_8" )
+ PORT_MODIFY ( "keyboard_8" )
KEY ( 0, "> <", BACKSLASH2 ) PORT_CHAR('>') PORT_CHAR('<')
KEY ( 1, "# \342\206\221", EQUALS ) PORT_CHAR('#') PORT_CHAR('^')
KEY ( 2, "\303\247 ?", COLON ) PORT_CHAR( 0xe7 ) PORT_CHAR('?')
@@ -2055,36 +2073,36 @@ INPUT_PORTS_END
static INPUT_PORTS_START ( mo6 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( mo6_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( mo6_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
INPUT_PORTS_END
static INPUT_PORTS_START ( pro128 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( pro128_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( pro128_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( mo6, to7 )
- MCFG_MACHINE_START ( mo6 )
- MCFG_MACHINE_RESET ( mo6 )
+ MCFG_MACHINE_START ( mo6 )
+ MCFG_MACHINE_RESET ( mo6 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( mo6)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( mo6)
- MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
+ MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
- MCFG_DEVICE_REMOVE( "mc6846" )
+ MCFG_DEVICE_REMOVE( "mc6846" )
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo6_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -2097,6 +2115,8 @@ static MACHINE_CONFIG_DERIVED( mo6, to7 )
MCFG_CARTSLOT_EXTENSION_LIST("m5,rom")
MCFG_CARTSLOT_LOAD(mo5_cartridge)
+ MCFG_DEVICE_REMOVE("cart_list")
+
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
@@ -2142,27 +2162,27 @@ Here are the differences between the MO6 and MO5NR:
static ADDRESS_MAP_START ( mo5nr, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
- AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(mo5nr_net_r, mo5nr_net_w )
- AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
- AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write)
- AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w )
- AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
+ AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(mo5nr_net_r, mo5nr_net_w )
+ AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
+ AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write)
+ AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w )
+ AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
- AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo6_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
+ AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
+ AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo6_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB BIOS ROM */
@@ -2176,32 +2196,32 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( mo5nr )
- ROM_REGION ( 0x34800, "maincpu", 0 )
+ ROM_REGION ( 0x34800, "maincpu", 0 )
/* BIOS */
- ROM_LOAD ( "mo5nr-0.rom", 0x23000, 0x1000,
+ ROM_LOAD ( "mo5nr-0.rom", 0x23000, 0x1000,
CRC(06e31115)
SHA1(7429cc0c15475398b5ab514cb3d3efdc71cf082f) )
- ROM_LOAD ( "mo5nr-1.rom", 0x27000, 0x1000,
+ ROM_LOAD ( "mo5nr-1.rom", 0x27000, 0x1000,
CRC(7cda17c9)
SHA1(2ff6480ce9e30acc4c89b6113d7c8ea6095d90a5) )
/* BASIC */
- ROM_LOAD ( "basicn-0.rom", 0x20000, 0x3000,
+ ROM_LOAD ( "basicn-0.rom", 0x20000, 0x3000,
CRC(fae9e691)
SHA1(62fbfd6d4ca837f6cb8ed37f828eca97f80e6200) )
- ROM_LOAD ( "basicn-1.rom", 0x24000, 0x3000,
+ ROM_LOAD ( "basicn-1.rom", 0x24000, 0x3000,
CRC(cf134dd7)
SHA1(1bd961314e16e460d37a65f5e7f4acf5604fbb17) )
- ROM_LOAD ( "basicn-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basicn-2.rom", 0x28000, 0x4000,
CRC(b69d2e0d)
SHA1(ea3220bbae991e08259d38a7ea24533b2bb86418) )
- ROM_LOAD ( "basicn-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basicn-3.rom", 0x2c000, 0x4000,
CRC(7785610f)
SHA1(c38b0be404d8af6f409a1b52cb79a4e10fc33177) )
- ROM_FLOPPY5 ( 0x30000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 ) /* TODO: network ROM */
+ ROM_FLOPPY5 ( 0x30000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 ) /* TODO: network ROM */
ROM_END
@@ -2211,7 +2231,7 @@ ROM_END
static INPUT_PORTS_START ( mo5nr_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "N", N ) PORT_CHAR('N')
KEY ( 1, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 2, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
@@ -2220,7 +2240,7 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 5, "X", X ) PORT_CHAR('X')
KEY ( 6, "W", W ) PORT_CHAR('W')
KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_START ( "keyboard_1" )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 2, "Home", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME))
@@ -2229,7 +2249,7 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 6, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP))
KEY ( 7, "BASIC", RCONTROL )
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "J", J ) PORT_CHAR('J')
KEY ( 1, "K", K ) PORT_CHAR('K')
KEY ( 2, "L", L ) PORT_CHAR('L')
@@ -2237,8 +2257,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "B \140", B ) PORT_CHAR('B')
KEY ( 5, "V", V ) PORT_CHAR('V')
KEY ( 6, "C \136", C ) PORT_CHAR('C')
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_3" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "H \302\250", H ) PORT_CHAR('H')
KEY ( 1, "G", G ) PORT_CHAR('G')
KEY ( 2, "F", F ) PORT_CHAR('F')
@@ -2246,8 +2266,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "S", S ) PORT_CHAR('S')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
KEY ( 6, "Clear", ESC ) PORT_CHAR(UCHAR_MAMEKEY(ESC))
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_4" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "U", U ) PORT_CHAR('U')
KEY ( 1, "I", I ) PORT_CHAR('I')
KEY ( 2, "O", O ) PORT_CHAR('O')
@@ -2255,8 +2275,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "/ ?", SLASH ) PORT_CHAR('/') PORT_CHAR('?')
KEY ( 5, "* :", QUOTE ) PORT_CHAR('*') PORT_CHAR(':')
KEY ( 6, "Enter", ENTER ) PORT_CHAR(13)
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_5" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_5" )
KEY ( 0, "Y", Y ) PORT_CHAR('Y')
KEY ( 1, "T", T ) PORT_CHAR('T')
KEY ( 2, "R", R ) PORT_CHAR('R')
@@ -2264,8 +2284,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "Z", Z ) PORT_CHAR('Z')
KEY ( 5, "A \140", A ) PORT_CHAR('A')
KEY ( 6, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_6" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_6" )
KEY ( 0, "7 ' \303\250", 7 ) PORT_CHAR('7') PORT_CHAR('\'' )
KEY ( 1, "8 ( \303\271", 8 ) PORT_CHAR('8') PORT_CHAR('(')
KEY ( 2, "9 ) \303\247", 9 ) PORT_CHAR('9') PORT_CHAR(')')
@@ -2273,8 +2293,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "- =", MINUS ) PORT_CHAR('-') PORT_CHAR('=')
KEY ( 5, "+ ;", EQUALS ) PORT_CHAR('+') PORT_CHAR(';')
KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END))
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_7" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "6 & \303\251", 6 ) PORT_CHAR('6') PORT_CHAR('&')
KEY ( 1, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%')
KEY ( 2, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$')
@@ -2282,34 +2302,34 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "2 \"", 2 ) PORT_CHAR('2') PORT_CHAR('"')
KEY ( 5, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!')
KEY ( 6, "Stop", TAB ) PORT_CHAR(27)
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
/* unused */
- PORT_START ( "keyboard_8" )
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_9" )
INPUT_PORTS_END
static INPUT_PORTS_START ( mo5nr )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( mo5nr_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( mo5nr_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( mo5nr, to7 )
- MCFG_MACHINE_START ( mo5nr )
- MCFG_MACHINE_RESET ( mo5nr )
+ MCFG_MACHINE_START ( mo5nr )
+ MCFG_MACHINE_RESET ( mo5nr )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( mo5nr)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( mo5nr)
- MCFG_DEVICE_REMOVE( "mc6846" )
+ MCFG_DEVICE_REMOVE( "mc6846" )
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo5nr_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -2322,6 +2342,8 @@ static MACHINE_CONFIG_DERIVED( mo5nr, to7 )
MCFG_CARTSLOT_EXTENSION_LIST("m5,rom")
MCFG_CARTSLOT_LOAD(mo5_cartridge)
+ MCFG_DEVICE_REMOVE("cart_list")
+
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")