This commit is contained in:
Robbbert 2017-12-30 22:38:21 +11:00
commit 483d1f49b2
15 changed files with 1037 additions and 92 deletions

View File

@ -6,6 +6,301 @@
<!-- Games -->
<!-- -->
<!-- DOS -->
<!-- TODO: after install it returns to DOS with mangled text graphics -->
<software name="11hourd" supported="no">
<description>The 11th Hour - Der Nachfolger von 7th Guest (Germany)</description>
<year>1995</year>
<publisher>Virgin</publisher>
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="11th hour, the - der nachfolger von 7th guest (1995)(virgin)(de)(disc 1 of 4)" sha1="eb0471c3d431dee4b5bcbc2811af6a474b63ac6d" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="11th hour, the - der nachfolger von 7th guest (1995)(virgin)(de)(disc 2 of 4)" sha1="b0ebebb747eb26f232540b36f1c56c834b8c87cf" />
</diskarea>
</part>
<part name="cdrom3" interface="cdrom">
<diskarea name="cdrom">
<disk name="11th hour, the - der nachfolger von 7th guest (1995)(virgin)(de)(disc 3 of 4)" sha1="34d57fdcb0b5d6e86d100f0d27519b9b4ed7bef7" />
</diskarea>
</part>
<part name="cdrom4" interface="cdrom">
<diskarea name="cdrom">
<disk name="11th hour, the - der nachfolger von 7th guest (1995)(virgin)(de)(disc 4 of 4)" sha1="082aaadad9ecac63de51eafee7248c663c8722bf" />
</diskarea>
</part>
</software>
<!-- Windows 3.1 / 95 -->
<software name="3dupin">
<description>3-D Ultra Pinball (Budget Sierra Originals Version)</description>
<year>1995</year>
<publisher>Sierra</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="3-d ultra pinball (1995)(sierra)[budget sierra originals]" sha1="e80e3ec21233bea55b6a07a814b5b193982afda8" />
</diskarea>
</part>
</software>
<!-- DOS (with Adobe Acrobat 2.1 for Windows) -->
<!-- disc label: pack34 -->
<!-- Super Tetris has manual copy protection -->
<!-- Other games (shareware): Green, Aldo II Adventure, Phylox, Draw Poker, Space Miner -->
<software name="5p1stet">
<description>5 Plus One - Super Tetris (Compilation)</description>
<year>1996</year>
<publisher>Prism Leisure Corporation PLC</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="5 plus one - super tetris (1996)(prism leisure)[compilation]" sha1="a39d6ee739ad1aa2056f690770c4f3137aa762ea" />
</diskarea>
</part>
</software>
<!-- Windows 95, Direct X 3.0 -->
<!-- disc label: 688i_hk -->
<!-- Requires High Color -->
<software name="688ihuki" supported="no">
<description>688I Hunter-Killer</description>
<year>1997</year>
<publisher>Electronic Arts</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="688i hunter-killer (1997)(electronic arts)" sha1="51352c95bcb4a9fbc74291b03c65591b3e7dd5bd" />
</diskarea>
</part>
</software>
<!-- Windows 95 -->
<!-- 486 class with 8MB RAM and 256 colors -->
<!-- has some game demos on disc -->
<!-- TODO: Unreadable install strings -->
<!-- TODO: black screen/hangs when launching a demo play in 640x480 resolution (ibm8514_cmd_w with invalid BitBLT params) -->
<software name="a10cuba" supported="partial">
<description>A-10 Cuba!</description>
<year>1996</year>
<publisher>Activision / Parsoft Interactive</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="a-10 cuba! (1996)(activision)" sha1="a9bc7e3b7306c46acf33b93ae168862d18734245" />
</diskarea>
</part>
</software>
<software name="a10cubam" cloneof="a10cuba" supported="partial">
<description>A-10 Cuba! (Megamedia Megaten Pack)</description>
<year>1997</year>
<publisher>Megamedia / Parsoft Interactive</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="a-10 cuba! (1997)(megamedia)[compilation megapak 7]" sha1="5fc89dde64013ab6d070572ac2b9a8829bbde084" />
</diskarea>
</part>
</software>
<software name="aceventd">
<description>Ace Ventura (Germany)</description>
<year>1996</year>
<publisher>Bomico</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="ace ventura (1996)(bomico)(de)" sha1="e07d870a94ae435e80a03b6fa1677bb820cb8a9a" />
</diskarea>
</part>
</software>
<!-- Direct X 3.0 -->
<software name="acmidway2">
<description>Arcade's Greatest Hits - The Midway Collection 2</description>
<year>1997</year>
<publisher>GT Interactive</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="arcade's greatest hits - the midway collection 2 (1997)(gt interactive)" sha1="ff8fe48c76edd0fc5dc1321ea85e9d367b5e6400" />
</diskarea>
</part>
</software>
<!-- Windows 3.1 -->
<!-- According to the readme, running this on Windows 95 causes issues -->
<!-- disc label: Actionpack5 -->
<!-- Multi-5 language support: English, French, German, Italian, Spanish -->
<software name="actatari">
<description>Activision's Atari 2600 Action Pack (Megapak 8) (Europe)</description>
<year>1997</year>
<publisher>Megamedia</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="activision's atari 2600 action pack (1997)(megamedia)(m5)[compilation megapak 8]" sha1="279c4f6bc3de53083e30cfc9e0ce16b9d5815a6b" />
</diskarea>
</part>
</software>
<!-- English -->
<!-- disc label: Actionpack2 -->
<software name="actatari2">
<description>Activision's Atari 2600 Action Pack 2</description>
<year>1995</year>
<publisher>Activision</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="activision's atari 2600 action pack 2 (1995)(activision)[compilation]" sha1="03ef65a0db996d8dc092037b94af930c8a638b13" />
</diskarea>
</part>
</software>
<!-- disc label: Vault3 -->
<!-- TODO: unreadable install strings -->
<!-- contains atari1 / atari2 / atari3 and Commodore 64 15 Pack -->
<software name="actgvv3" supported="partial">
<description>Activision Game Vault Volume 3</description>
<year>1997</year>
<publisher>Activision</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="activision game vault volume 3 (1997)(activision)[compilation]" sha1="93c4d5d7ab0f2da31b122eb5dedeccdc53b03266" />
</diskarea>
</part>
</software>
<!-- DOS -->
<!-- TODO: no second disc available -->
<software name="add2mc" supported="partial">
<description>Advanced Dungeons &amp; Dragons 2nd Edition Masterpiece Collection</description>
<year>1995</year>
<publisher>Mindscape</publisher>
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="advanced dungeons &amp; dragons 2nd edition masterpiece collection (1995)(mindscape)(disc 1 of 4)[compilation]" sha1="adb4cc2ce2ae70724a78b8a3c1fc9b8c09996930" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="advanced dungeons &amp; dragons 2nd edition masterpiece collection (1995)(mindscape)(disc 2 of 4)[compilation]" status="nodump" />
</diskarea>
</part>
<part name="cdrom3" interface="cdrom">
<diskarea name="cdrom">
<disk name="advanced dungeons &amp; dragons 2nd edition masterpiece collection (1995)(mindscape)(disc 3 of 4)[compilation]" sha1="eb3a8b15c7b21ee50cedfcf1870e8644396acfad" />
</diskarea>
</part>
<part name="cdrom4" interface="cdrom">
<diskarea name="cdrom">
<disk name="advanced dungeons &amp; dragons 2nd edition masterpiece collection (1995)(mindscape)(disc 4 of 4)[compilation]" sha1="f98d047b64169a19c72f0ebd94d1667086a1c76a" />
</diskarea>
</part>
</software>
<!-- DOS (crashes in Windows 95) -->
<!-- Disc label: ads -->
<!-- TODO: bad color pen (DOS cyan color issue) -->
<software name="advdesim">
<description>Advanced Destroyer Simulator</description>
<year>1996</year>
<publisher>Action Sixteen / Futura</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="advanced destroyer simulator (1996)(action sixteen)" sha1="15d429c53ded4840a6d0365b3ba141558fcdc34f" />
</diskarea>
</part>
</software>
<!-- DOS / Windows 3.1 -->
<!-- TODO: cannot setup emm386.exe for this in any way or form, might be a bug? -->
<software name="aeurope" supported="no">
<description>Aces over Europe</description>
<year>1995</year>
<publisher>Sierra</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="aces over europe (1995)(sierra)[budget sierra originals]" sha1="09ed6d42a2d61b636aae54f69b6680d96165a5af" />
</diskarea>
</part>
</software>
<!-- DOS -->
<software name="aftlifeu">
<description>Afterlife (US v1.1)</description>
<year>1996</year>
<publisher>LucasArts</publisher>
<info name="version" value="1.1" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="afterlife (1996)(lucasarts)(us)[compilation lucas arts archives vol. iii]" sha1="1a606741a00f0a3008d59da978ab0bab0d8aec1e" />
</diskarea>
</part>
</software>
<!-- TODO: disc swap not working -->
<software name="ah64dles" supported="partial">
<description>AH-64D Longbow (Spain)</description>
<year>1996</year>
<publisher>Electronic Arts</publisher>
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="ah-64d longbow (1996)(electronic arts)(es)(disc 1 of 2)" sha1="0352e3f301c8e7eb0fd1f1af695a5991e6c4cfa2" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="ah-64d longbow (1996)(electronic arts)(es)(disc 2 of 2)" sha1="5ed254fdfabcfde936eb971ae9652c28bf0c3fa4" />
</diskarea>
</part>
</software>
<!-- Windows 95, Direct X 5.0 -->
<!-- Pentium class 90 MHz -->
<!-- S3 "software video" is really slow -->
<!-- Disc label: Air War 3 -->
<software name="airwar3" supported="partial">
<description>Air Warrior III</description>
<year>1997</year>
<publisher>Interactive Magic / Kesmai Corporation</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="air warrior iii (1997)(interactive magic)" sha1="8cf74e4da52b66cbd3b0ba4a0f3807680f9b73aa" />
</diskarea>
</part>
</software>
<!-- DOS / Mac -->
<!-- Has two Windows utilities, BREAK (cockpit art editor) and VFILM (shareware film editor) -->
<!-- Disc label: awplus -->
<software name="airwarpl">
<description>Air Warrior Plus (v1.16b)</description>
<year>1995</year>
<publisher>Kesmai Corporation</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="air warrior plus v1.16b (1995)(on-line)[pc-mac]" sha1="8e4e21b7ac87016874e13d1c9fa02969757cf4ad" />
</diskarea>
</part>
</software>
<!-- Windows 95 / 98 / ME / 2000 -->
<!-- Pentium II class 233 MHz -->
<software name="akimboj" supported="no">
@ -19,6 +314,20 @@
</part>
</software>
<!-- DOS -->
<!-- TODO: weird fade in/out effects at every transition (inverted?) -->
<software name="aliencrn">
<description>Halloween Harry - Alien Carnage</description>
<year>1994</year>
<publisher>Multi Media International / Apogee / Interactive Binary Illusions / Sub Zer0</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="alien carnage (1994)(multi media international)(nl)(en)" sha1="de45bd5492cb07bd1de9167bcf8b2f55e5f1780c" />
</diskarea>
</part>
</software>
<software name="alieninc">
<!--
Alien Incident
@ -46,11 +355,101 @@
</part>
</software>
<software name="arampage">
<software name="alienleg">
<description>Alien Legacy (v1.10)</description>
<year>1995</year>
<publisher>Sierra</publisher>
<info name="version" value="1.10" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="alien legacy (1995)(sierra)" sha1="e40dd8dd278e34e32edd7b1478f62195627773ae" />
</diskarea>
</part>
</software>
<!-- language support: English, Dutch, German, French, Spanish, Italian -->
<!-- TODO: locks up on movies -->
<software name="alienody" supported="no">
<description>Alien Odyssey (Europe)</description>
<year>1995</year>
<publisher>Philips / Argonaut Software LTD</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="alien odyssey (1995)(philips)" sha1="536635f92489b146f693aa724cd5938794b8190c" />
</diskarea>
</part>
</software>
<!-- TODO: can't setup sb16 sound card properly, hangs at "TimerRegister Event" -->
<!-- TODO: disc swap doesn't work properly -->
<software name="alienscb" supported="partial">
<description>Aliens - A Comic Book Adventure (v1.01A)</description>
<year>1995</year>
<publisher>Mindscape</publisher>
<info name="version" value="1.01a" />
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="aliens - a comic book adventure v1.01a (1995)(mindscape)(disc 1 of 2)" sha1="364bb9677c93db8a3f8b68328ddf360eac2aae88" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="aliens - a comic book adventure v1.0 (1995)(mindscape)(disc 2 of 2)" sha1="13aba65247d17645fe9522f0eaf5a89b3cda5783" />
</diskarea>
</part>
</software>
<!-- DOS -->
<!-- Requires 570KB of conventional memory -->
<software name="amazonge">
<description>Amazon - Guardians of Eden</description>
<year>1993</year>
<publisher>Access Software</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="amazon - guardians of eden (1993)(access software)" sha1="ec783cbcd3fed9e6f0f0e32a4cd8c390e2fecf4d" />
</diskarea>
</part>
</software>
<!-- DOS -->
<!-- TODO: black screen at game launch -->
<software name="animal" supported="no">
<description>Animal</description>
<year>1997</year>
<publisher>Microtime</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="animal (1997)(microtime)" sha1="8f5c7791bf89e662a0dfc8f08858788c28c33895" />
</diskarea>
</part>
</software>
<!-- DOS / Windows 3.1 -->
<!-- TODO: cannot setup emm386.exe for this in any way or form, might be a bug? -->
<software name="apacific" supported="no">
<description>Aces of the Pacific</description>
<year>1994</year>
<publisher>Sierra</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="aces of the pacific (1994)(sierra)" sha1="42422f83009e0771968243cb0ea1172699bf8787" />
</diskarea>
</part>
</software>
<software name="arampage">
<description>Alien Rampage (v1.13)</description>
<year>1996</year>
<publisher>Softdisk</publisher>
<info name="version" value="1.13" />
<part name="cdrom" interface="cdrom">
<feature name="disk_label" value="Alien Rampage" />
<diskarea name="cdrom">
@ -65,14 +464,182 @@
<year>1996</year>
<publisher>ASCII / Yellow Horn</publisher>
<info name="alt_title" value="あらびあんKid" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="kid" sha1="a837c3f4cde66b244bccbae22cb1cec83df6698d" />
</diskarea>
</part>
</software>
<!-- DOS -->
<!-- TODO: videos farts/doesn't complete playback, eventually dies with a out of conventional memory error -->
<software name="arcappled" supported="no">
<description>Archibald Applebrook's Abenteuer (Germany v1.00)</description>
<year>1995</year>
<publisher>Software 2000</publisher>
<info name="version" value="1.00" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="archibald applebrook's abenteuer (1995)(software 2000)(de)" sha1="37bdb42590fadfb0ad857bd4876ec4708d4569e0" />
</diskarea>
</part>
</software>
<!-- DOS -->
<!-- TODO: black screen at game launch -->
<software name="archonul" supported="no">
<description>Archon Ultra (v1.1)</description>
<year>1996</year>
<publisher>Strategic Simulations</publisher>
<info name="version" value="1.1" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="archon ultra v1.1 (1996)(strategic simulations)" sha1="025039ccc5f048b5c6e30523d39b3b8afedd040c" />
</diskarea>
</part>
</software>
<!-- DOS -->
<software name="armofist">
<description>Armored Fist</description>
<year>1994</year>
<publisher>Nova Logic</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="armored fist (1994)(nova logic)" sha1="96211c6dc7a179f5e25af7f4527cf51afe1c3934" />
</diskarea>
</part>
</software>
<!-- DOS -->
<software name="ascend">
<description>Ascendancy</description>
<year>1995</year>
<publisher>Virgin / The Logic Factory</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="ascendancy (1995)(virgin)" sha1="611fa4261d2b9b454bad01011f7e10f2f55d3c11" />
</diskarea>
</part>
</software>
<software name="ascendd" cloneof="ascend">
<description>Ascendancy (Germany)</description>
<year>1995</year>
<publisher>Softgold / The Logic Factory</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="ascendancy (1995)(softgold)(de)" sha1="dd2f22050c372a0f8f91966bb31580c2a743dcb9" />
</diskarea>
</part>
</software>
<!-- Windows 95 -->
<!-- TODO: Menus are in High color mode -->
<software name="atariac1">
<description>Atari Arcade Hits 1</description>
<year>1999</year>
<publisher>Hasbro Interactive</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="atari arcade hits 1 (1999)(hasbro interactive)" sha1="89f9ef71790e880fd8c72bec268f424b5b04e189" />
</diskarea>
</part>
</software>
<!-- DOS (won't run in Windows 95) -->
<!-- disc label: atf_1_03f-->
<software name="atf">
<description>A.T.F. - Advanced Tactical Fighters (v1.03f)</description>
<year>1996</year>
<publisher>Electronic Arts / Jane's Information Group Limited</publisher>
<info name="version" value="1.03f" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="a.t.f. - advanced tactical fighters (1996)(electronic arts)" sha1="f5352fa4715369d20509aad64f7a32dba057b782" />
</diskarea>
</part>
</software>
<!-- disc label: gatf_1_01f-->
<software name="atfd" cloneof="atf">
<description>A.T.F. - Advanced Tactical Fighters (Germany v1.01f)</description>
<year>1996</year>
<publisher>Electronic Arts</publisher>
<info name="version" value="1.01f" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="a.t.f. - advanced tactical fighters (1996)(electronic arts)(de)" sha1="1363020d9e4f295191ad14c25cb1d01704f13712" />
</diskarea>
</part>
</software>
<!-- Untested, presumably needs above -->
<software name="atfnatof" cloneof="atf">
<description>A.T.F. - NATO Fighters (Data Disc)</description>
<year>1996</year>
<publisher>Electronic Arts</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="atf nato fighters (1996)(electronic arts)[data disc]" sha1="5f1e63d5b42f67a826576edcead7e52b6fc62044" />
</diskarea>
</part>
</software>
<!-- DOS / Windows 95 -->
<!-- Pentium class 133 MHz -->
<!-- TODO: Under DOS hangs if sb16 is selected, "initialization problem with sound card" if that's disabled -->
<software name="atlantisd" supported="partial">
<description>Atlantis - Das sagenhafte Abenteuer (Germany)</description>
<year>1997</year>
<publisher>Cryo</publisher>
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="atlantis - das sagenhafte abenteuer (1997)(cryo)(de)(disc 1 of 4)" sha1="6b9ad0cc67383d918597a4045995be9c242d1acf" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="atlantis - das sagenhafte abenteuer (1997)(cryo)(de)(disc 2 of 4)" sha1="73fe7c4a42357ecfcc17b45d203ca63ae0bfa668" />
</diskarea>
</part>
<part name="cdrom3" interface="cdrom">
<diskarea name="cdrom">
<disk name="atlantis - das sagenhafte abenteuer (1997)(cryo)(de)(disc 3 of 4)" sha1="5ce2a617b69ca6773a81f4df9c0560ddb1b9f8cb" />
</diskarea>
</part>
<part name="cdrom4" interface="cdrom">
<diskarea name="cdrom">
<disk name="atlantis - das sagenhafte abenteuer (1997)(cryo)(de)(disc 4 of 4)" sha1="8822942cc93c3c6cebb547b5696c696a44a15d72" />
</diskarea>
</part>
</software>
<!-- DOS -->
<software name="aworld80">
<description>Around the World in 80 Days</description>
<year>1994</year>
<publisher>EA Kids</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="around the world in 80 days (1994)(ea kids)" sha1="0441b9f94df42b3f5edeb3135ce9739af17fc8d5" />
</diskarea>
</part>
</software>
<!--
Register key:
BB2KLEJP-50008573
@ -323,6 +890,19 @@
</part>
</software>
<!-- Windows 95 -->
<!-- Cannot be installed on non-Japanese OS -->
<software name="kotobuki" supported="partial">
<description>Kotobuki (Japan)</description>
<year>1997</year>
<publisher>C's Ware</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="kotobuki" sha1="9bae69ba85d54d98d2a1b3cf256a0b4d2a35d00d" />
</diskarea>
</part>
</software>
<!-- Untouched image from original CD created with an ASUS DRW-1814BLT (EAC drive sample read offset reported as +6)
If you subtract 0x18 (4 * 6) bytes from a .wav extracted from this CHD the audio matches a rip done with EAC (verified) -->
<software name="krondor">
@ -348,6 +928,18 @@
</part>
</software>
<!-- Windows 95 -->
<software name="ku2impact">
<description>KU2 Impact (Japan)</description>
<year>1995</year>
<publisher>Panther Software</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="ku2impact" sha1="f7470a5ea219ad410bea1475953c550827381a98" />
</diskarea>
</part>
</software>
<software name="moon" supported="no">
<description>Moon (Japan)</description>
<year>1998</year>
@ -398,7 +990,7 @@
</diskarea>
</part>
</software>
<!-- Windows 3.1 / Mac LCIII -->
<software name="orgaslave">
<description>Orgaslave (Japan)</description>
@ -417,6 +1009,18 @@
</part>
</software>
<software name="orpheocr">
<description>Are You Afraid of the Dark - The Tale of Orpheo's Curse</description>
<year>1994</year>
<publisher>Viacom New Media / Nickelodeon</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="are you afraid of the dark - the tale of orpheo's curse (1994)(viacom new media)" sha1="487f7f1fc8a30507f1ec990bf7ccfc102657a123" />
</diskarea>
</part>
</software>
<!-- Windows 3.1 -->
<software name="paulymou" supported="partial">
<description>Pauly Mouse (Japan)</description>
@ -483,6 +1087,26 @@
</part>
</software>
<!-- DOS / Windows 95 -->
<!-- TODO: no sound in DOS installer with SB16 -->
<!-- TODO: eventually black screen when launching game in either OSes -->
<software name="redalert" supported="no">
<description>Command &amp; Conquer - Red Alert</description>
<year>1996</year>
<publisher>Virgin / Westwood Studios</publisher>
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="Command &amp; Conquer - Red Alert (1996)(Virgin)(Disc 1 of 2)[!]" sha1="30e980766b5de27296c4f49cd41a7baec50736c4" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="Command &amp; Conquer - Red Alert (1996)(Virgin)(Disc 2 of 2)" sha1="1e51fd94731a631903603207bae5d4313757fb92" />
</diskarea>
</part>
</software>
<software name="rise2dc" supported="partial">
<description>Rise 2 Resurrection - Director's Cut</description>
<year>1995</year>
@ -598,6 +1222,19 @@
</part>
</software>
<software name="stg" supported="partial">
<description>S.T.G.</description>
<year>1999</year>
<publisher>GameLand / DaiCom Software</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="stg" sha1="553a04c67860c49d2c5fa1da983c4bc3ab5267fd" />
</diskarea>
</part>
</software>
<software name="turricn2">
<description>Turrican II - The Final Fight</description>
<year>1996</year>
@ -628,6 +1265,20 @@
</part>
</software>
<!-- Windows 3.1 -->
<!-- Disc label: Cyberplasm_ -->
<!-- TODO: gfx shift issue on 256 color mode -->
<software name="vcyondo" supported="partial">
<description>Awesome Adventures of Victor Vector &amp; Yondo, The - The Cyberplasm Formula</description>
<year>1994</year>
<publisher>Sanctuary Woods</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="awesome adventures of victor vector &amp; yondo, the - the cyberplasm formula (1994)(sanctuary woods)" sha1="e359d345ec6657122b50f5904d5c4324c32a2658" />
</diskarea>
</part>
</software>
<!-- Windows 95/98/ME/XP and Mac OS supported -->
<!-- Requires 256 colors minimum otherwise they crashes at boot -->
@ -690,7 +1341,7 @@
</diskarea>
</part>
</software>
<!-- -->
<!-- Drivers / Utilities / Operating Systems -->
<!-- -->
@ -765,6 +1416,19 @@
</part>
</software>
<!-- DOS / Windows 3.1 / 95 -->
<software name="sb16">
<description>Sound Blaster 16 CD driver</description>
<year>1996</year>
<publisher>Creative Labs</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="sb16" sha1="c87097c58d1c3fcea03e5e4b50d2cafdcb870f16" />
</diskarea>
</part>
</software>
<software name="ultrasnd" supported="partial">
<!-- includes Gravis UltraSound (GUS) Installation - V4.11 -->
<description>The UltraSound CD</description>

View File

@ -944,6 +944,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"bandai",
"banctec",
"be",
"bitcorp",
"bnpo",
"bondwell",
"booth",
@ -1610,6 +1611,13 @@ files {
MAME_DIR .. "src/mame/machine/bebox.cpp",
}
createMESSProjects(_target, _subtarget, "bitcorp")
files {
MAME_DIR .. "src/mame/drivers/gamate.cpp",
MAME_DIR .. "src/mame/video/gamate.cpp",
MAME_DIR .. "src/mame/video/gamate.h",
}
createMESSProjects(_target, _subtarget, "bnpo")
files {
MAME_DIR .. "src/mame/drivers/b2m.cpp",
@ -3512,9 +3520,6 @@ files {
MAME_DIR .. "src/mame/drivers/fc100.cpp",
MAME_DIR .. "src/mame/drivers/fk1.cpp",
MAME_DIR .. "src/mame/drivers/ft68m.cpp",
MAME_DIR .. "src/mame/drivers/gamate.cpp",
MAME_DIR .. "src/mame/video/gamate.cpp",
MAME_DIR .. "src/mame/video/gamate.h",
MAME_DIR .. "src/mame/drivers/gameking.cpp",
MAME_DIR .. "src/mame/drivers/gimix.cpp",
MAME_DIR .. "src/mame/drivers/goupil.cpp",
@ -3623,6 +3628,7 @@ files {
MAME_DIR .. "src/mame/drivers/terco.cpp",
MAME_DIR .. "src/mame/drivers/terminals.cpp",
MAME_DIR .. "src/mame/drivers/ti630.cpp",
MAME_DIR .. "src/mame/drivers/tr175.cpp",
MAME_DIR .. "src/mame/drivers/trs80dt1.cpp",
MAME_DIR .. "src/mame/drivers/tsispch.cpp",
MAME_DIR .. "src/mame/includes/tsispch.h",

View File

@ -14,7 +14,7 @@ TODO:
can not be used in CV1K (/SEL pin is NC, internally pulled to VCC), probably not used in PGM2 too.
770:
- sequencer timers implemented but seems unused, presumably because of design flaws or bugs, likely due to lack of automatic adding of sequencer # to register offset.
in result sequences uses very long chains of 32-sample wait commands instead, wasting a lost of ROM space.
in result sequences uses very long chains of 32-sample wait commands instead, wasting a lot of ROM space.
- sequencer triggers not implemented, not sure how they works (Deathsmiles ending tune starts sequence with TGST = 01h, likely a bug and don't affect tune playback)
774:
- 4 channel output

View File

@ -2194,12 +2194,12 @@ WRITE8_MEMBER(vga_device::mem_w)
READ8_MEMBER(vga_device::mem_linear_r)
{
return vga.memory[offset];
return vga.memory[offset % vga.svga_intf.vram_size];
}
WRITE8_MEMBER(vga_device::mem_linear_w)
{
vga.memory[offset] = data;
vga.memory[offset % vga.svga_intf.vram_size] = data;
}
MACHINE_CONFIG_START( pcvideo_vga )
@ -3867,6 +3867,7 @@ WRITE16_MEMBER(ibm8514a_device::ibm8514_cmd_w)
ibm8514.gpbusy = false;
break;
case 0xc000: // BitBLT
// TODO: a10cuba sets up blantantly invalid parameters here, CPU core bug maybe?
if(LOG_8514) logerror("8514/A: Command (%04x) - BitBLT from %i,%i to %i,%i Width: %i Height: %i\n",ibm8514.current_cmd,
ibm8514.curr_x,ibm8514.curr_y,ibm8514.dest_x,ibm8514.dest_y,ibm8514.rect_width,ibm8514.rect_height);
off = 0;

View File

@ -11,6 +11,14 @@ Note:
get the hang of the system (and checking where the old code fails
eventually)
Hardware infos can be found at:
http://www.zimmers.net/cbmpics/cbm/c65/c65manual.txt
http://www.zimmers.net/cbmpics/cbm/c65/c65faq20.txt
Hardware pics:
http://www.zimmers.net/cbmpics/cbm/c65/c65-2b-lhs.JPG
http://www.zimmers.net/cbmpics/cbm/c65/c65-2b-rhs.JPG
***************************************************************************/
@ -21,7 +29,7 @@ Note:
#include "softlist_dev.h"
#include "speaker.h"
#define MAIN_CLOCK XTAL_3_5MHz
#define MAIN_CLOCK XTAL_28_37516MHz/8
class c65_state : public driver_device
{
@ -671,9 +679,9 @@ WRITE_LINE_MEMBER(c65_state::cia0_irq)
static MACHINE_CONFIG_START( c65 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",M4510,MAIN_CLOCK)
MCFG_CPU_ADD("maincpu", M4510, MAIN_CLOCK)
MCFG_CPU_PROGRAM_MAP(c65_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen",c65_state,vic3_vblank_irq)
MCFG_CPU_VBLANK_INT_DRIVER("screen", c65_state, vic3_vblank_irq)
MCFG_DEVICE_ADD("cia_0", MOS6526, MAIN_CLOCK)
MCFG_MOS6526_TOD(60)
@ -706,9 +714,8 @@ static MACHINE_CONFIG_START( c65 )
MCFG_PALETTE_INIT_OWNER(c65_state, c65)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
// MCFG_SOUND_ADD("aysnd", AY8910, MAIN_CLOCK/4)
// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
// 2x 8580 SID
// software list
MCFG_SOFTWARE_LIST_ADD("flop_list", "c65_flop")

View File

@ -806,12 +806,11 @@ ROM_START( nuretemi )
DVD_BIOS
ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
// identical to vol. 19, probably an attempt to fix a dead board.
ROM_LOAD( "11.ic51", 0x000000, 0x020000, BAD_DUMP CRC(d1ba05d6) SHA1(8d29cdbf00946e06e92225eb260a694d17d7b8d4) )
ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(655ec499) SHA1(5cea38e998edc7833b9a644930daecd99933c277) )
ROM_REGION( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
ROM_LOAD16_BYTE( "3.ic40", 0x000000, 0x080000, CRC(5c7af7f6) SHA1(78e58e3a81a6585c2c61f0026b7dc73a72c0d862) )
ROM_LOAD16_BYTE( "4.ic41", 0x000001, 0x080000, CRC(335b6388) SHA1(c5427b42af011b5a5026d905b1740684b9f6f953) )
ROM_LOAD16_BYTE( "4.ic41", 0x000001, 0x080000, CRC(335b6388) SHA1(c5427b42af011b5a5026d905b1740684b9f6f953) )
DISK_REGION( "ide:0:hdd:image" )
DISK_IMAGE_READONLY( "nb8016", 0, SHA1(607d9f390265da3f0c50753d0ea32257b12e8c08) )

View File

@ -29,7 +29,7 @@
// internal artwork
#include "gnw_dualv.lh"
#include "gnw_dualh.lh"
#include "hh_sm510_test.lh" // common test-layout - use external artwork
//#include "hh_sm510_test.lh" // common test-layout - use external artwork
//#include "hh_sm500_test.lh" // "
@ -3575,8 +3575,13 @@ static MACHINE_CONFIG_START( nummunch )
MCFG_SM510_WRITE_R_CB(WRITE8(hh_sm510_state, piezo_r1_w))
/* video hardware */
MCFG_SCREEN_SVG_ADD("screen", "svg")
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE(1920, 875)
MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 875-1)
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_hh_sm510_test)
MCFG_DEFAULT_LAYOUT(layout_svg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -4018,7 +4023,10 @@ ROM_START( nummunch )
ROM_LOAD( "nummunch.program", 0x0000, 0x1000, CRC(2f7ff516) SHA1(132e7c5c4d69170953b2e51731992d6d6ba829f9) )
ROM_REGION( 0x100, "maincpu:melody", 0 )
ROM_LOAD( "nummunch.melody", 0x000, 0x100, NO_DUMP )
ROM_LOAD( "nummunch.melody", 0x000, 0x100, CRC(96fe463a) SHA1(dcef5eee15a3f6d21e0db1b8ae3fbddc81633fc8) )
ROM_REGION( 140664, "svg", 0)
ROM_LOAD( "nummunch.svg", 0, 140664, CRC(879df7e2) SHA1(78d8500a445cbbea0090d4e97b781c1e4ed11dd3) )
ROM_END
@ -4072,4 +4080,4 @@ CONS( 1995, tjdredd, 0, 0, tjdredd, tjdredd, tjdredd_state, 0, "T
CONS( 1995, tapollo13, 0, 0, tapollo13, tapollo13, tapollo13_state, 0, "Tiger Electronics", "Apollo 13 (handheld)", MACHINE_SUPPORTS_SAVE )
CONS( 1996, tsjam, 0, 0, tsjam, tsjam, tsjam_state, 0, "Tiger Electronics", "Space Jam (handheld)", MACHINE_SUPPORTS_SAVE )
CONS( 1989, nummunch, 0, 0, nummunch, nummunch, nummunch_state, 0, "VTech", "Electronic Number Muncher", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
CONS( 1989, nummunch, 0, 0, nummunch, nummunch, nummunch_state, 0, "VTech", "Electronic Number Muncher", MACHINE_SUPPORTS_SAVE )

View File

@ -348,7 +348,106 @@ WRITE16_MEMBER(pgm2_state::unk30120014_w)
}
}
/*
KOV3 ROM board uses special module intead of program ROM, tiny PCB with FPGA stamped "HW1" and BGA Flash ROM stamped "IG-L".
This module uses few pins for serial comms (wired to IGS036 GPIO), it can not be dumped as regular ROM until special unlock procedure (return weird data pattern while locked).
In case of KOV3 unlock sequence is:
1) send via serial 0x0d and 64bit xor_value, result must be A3A3A3A36D6D6D6D
2) send via serial 0x25 and 64bit xor_value, store result as 64bit key (after xor with xor_value)
3) read first 10h bytes from ROM area (at this point ROM area read as scrambled or random data)
4) write "key" to ROM area, using 2x 16bit writes, write offsets and data depends on 64bit key
5) write static sequence of words to ROM area, which probably enable ROM descrambling and normal access
6) read "expected sum" from ROM 10000002-10000009 (presumable at this point ROM area read as descrambled)
7) read first 10h bytes from ROM area and check they are not same as was at step 3
8) perform whole ROM summing, result must match 64bit key xor "expected sum" read at step 6
It is not clear if real address/data xor values derived from written "key",
or FPGA just waiting to be be written magic value at specific address in ROM area, and if this happen enable descrambling using hardcoded values.
Current implementation assume "expected sum" read at step 6) is regular data from ROM (descrambled),
our keys calculated assuming this, so further ROM sum check passes OK.
But, there is chances in hardware its not like that, but these bytes comes from FPGA (some indication of this is the fact 5) and 6) is actually single routine).
In this case we have 2 unknowns (key and summ) and can not guess both. Will be needed serial comm logs from real hardware.
*/
READ_LINE_MEMBER(pgm2_state::module_data_r)
{
return module_out_latch ? ASSERT_LINE : CLEAR_LINE;
}
WRITE_LINE_MEMBER(pgm2_state::module_data_w)
{
module_in_latch = (state == ASSERT_LINE) ? 1 : 0;
}
WRITE_LINE_MEMBER(pgm2_state::module_clk_w)
{
if (module_prev_state != state && state == CLEAR_LINE)
{
if (module_clk_cnt < 80)
{
int offs = module_clk_cnt / 8;
int bit = (module_clk_cnt & 7) ^ 7;
module_rcv_buf[offs] &= ~(1 << bit);
module_rcv_buf[offs] |= module_in_latch << bit;
++module_clk_cnt;
if (module_clk_cnt >= 80)
{
switch (module_rcv_buf[0])
{
case 0x0d: // init or status check
module_send_buf[0] = module_send_buf[1] = module_send_buf[2] = module_send_buf[3] = 0xa3;
module_send_buf[4] = module_send_buf[5] = module_send_buf[6] = module_send_buf[7] = 0x6d;
break;
case 0x25: // get key
for (int i = 0; i < 8; i++)
module_send_buf[i] = module_key[i] ^ module_rcv_buf[i + 1];
break;
default:
logerror("unknown FPGA command %02X!\n", module_rcv_buf[0]);
break;
}
module_send_buf[8] = 0;
for (int i = 0; i < 8; i++) // sum reply bytes
module_send_buf[8] += module_send_buf[i];
}
}
else
{
int offs = (module_clk_cnt - 80) / 8;
int bit = (module_clk_cnt & 7) ^ 7;
module_out_latch = (module_send_buf[offs] >> bit) & 1;
++module_clk_cnt;
if (module_clk_cnt >= 152)
module_clk_cnt = 0;
}
}
module_prev_state = state;
}
WRITE32_MEMBER(pgm2_state::module_scramble_w)
{
decrypt_kov3_module(module_addr_xor, module_data_xor);
}
// very primitive Atmel ARM PIO simulation, should be improved and devicified
WRITE32_MEMBER(pgm2_state::pio_sodr_w)
{
pio_out_data |= data & mem_mask;
module_data_w((pio_out_data & 0x100) ? ASSERT_LINE : CLEAR_LINE);
module_clk_w((pio_out_data & 0x200) ? ASSERT_LINE : CLEAR_LINE);
}
WRITE32_MEMBER(pgm2_state::pio_codr_w)
{
pio_out_data &= ~(data & mem_mask);
module_data_w((pio_out_data & 0x100) ? ASSERT_LINE : CLEAR_LINE);
module_clk_w((pio_out_data & 0x200) ? ASSERT_LINE : CLEAR_LINE);
}
READ32_MEMBER(pgm2_state::pio_pdsr_r)
{
return (module_data_r() == ASSERT_LINE ? 1 : 0) << 8; // fpga data read and status (bit 7, must be 0)
}
static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
AM_RANGE(0x00000000, 0x00003fff) AM_ROM //AM_REGION("user1", 0x00000) // internal ROM
@ -423,6 +522,14 @@ static ADDRESS_MAP_START( pgm2_ram_rom_map, AS_PROGRAM, 32, pgm2_state )
AM_IMPORT_FROM(pgm2_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pgm2_module_rom_map, AS_PROGRAM, 32, pgm2_state )
AM_RANGE(0x10014a40, 0x10014a43) AM_WRITE(module_scramble_w)
AM_RANGE(0xfffff430, 0xfffff433) AM_WRITE(pio_sodr_w)
AM_RANGE(0xfffff434, 0xfffff437) AM_WRITE(pio_codr_w)
AM_RANGE(0xfffff43c, 0xfffff43f) AM_READ(pio_pdsr_r)
AM_IMPORT_FROM(pgm2_rom_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( pgm2 )
PORT_START("INPUTS0")
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
@ -528,6 +635,13 @@ void pgm2_state::machine_start()
save_item(NAME(m_mcu_last_cmd));
save_item(NAME(m_shareram));
save_item(NAME(m_share_bank));
save_item(NAME(pio_out_data));
save_item(NAME(module_in_latch));
save_item(NAME(module_out_latch));
save_item(NAME(module_prev_state));
save_item(NAME(module_clk_cnt));
save_item(NAME(module_rcv_buf));
save_item(NAME(module_send_buf));
}
void pgm2_state::machine_reset()
@ -541,6 +655,10 @@ void pgm2_state::machine_reset()
memcpy(memregion("user1")->base(), &m_encrypted_copy[0], memregion("user1")->bytes());
m_has_decrypted = 0;
pio_out_data = 0;
module_prev_state = 0;
module_clk_cnt = 151; // this needed because of "false" clock pulse happen during gpio init
}
static const gfx_layout tiles8x8_layout =
@ -630,6 +748,8 @@ static MACHINE_CONFIG_DERIVED( pgm2_lores, pgm2 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pgm2_hires, pgm2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pgm2_module_rom_map)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MACHINE_CONFIG_END
@ -1168,13 +1288,13 @@ DRIVER_INIT_MEMBER(pgm2_state,ddpdojh)
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x20021e04, 0x20021e07, read32_delegate(FUNC(pgm2_state::ddpdojh_speedup2_r), this));
}
static const uint8_t kov3_100_key[] = { 0xde, 0x29, 0x52, 0x84, 0x71, 0x9e, 0xed, 0x66 };
static const uint8_t kov3_102_key[] = { 0x0e, 0x49, 0x9f, 0x1b, 0xca, 0x14, 0xec, 0x33 };
static const uint8_t kov3_104_key[] = { 0xaf, 0x35, 0x5f, 0xf9, 0x63, 0x78, 0xe8, 0xf9 };
DRIVER_INIT_MEMBER(pgm2_state,kov3)
{
common_encryption_init();
// patch FPGA check
uint32_t* rom = (uint32_t*)memregion("maincpu")->base();
rom[0x2a8c / 4] = 0xe320f000; // not endian safe ?
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x200000b4, 0x200000b7, read32_delegate(FUNC(pgm2_state::kov3_speedup_r),this));
}
@ -1193,19 +1313,23 @@ void pgm2_state::decrypt_kov3_module(uint32_t addrxor, uint16_t dataxor)
DRIVER_INIT_MEMBER(pgm2_state, kov3_104)
{
decrypt_kov3_module(0x18ec71, 0xb89d);
// currently we don't know how to derive address/data xor values from real keys, so we need both
module_addr_xor = 0x18ec71; module_data_xor = 0xb89d;
module_key = kov3_104_key;
DRIVER_INIT_CALL(kov3);
}
DRIVER_INIT_MEMBER(pgm2_state, kov3_102)
{
decrypt_kov3_module(0x021d37, 0x81d0);
module_addr_xor = 0x021d37; module_data_xor = 0x81d0;
module_key = kov3_102_key;
DRIVER_INIT_CALL(kov3);
}
DRIVER_INIT_MEMBER(pgm2_state, kov3_100)
{
decrypt_kov3_module(0x3e8aa8, 0xc530);
module_addr_xor = 0x3e8aa8; module_data_xor = 0xc530;
module_key = kov3_100_key;
DRIVER_INIT_CALL(kov3);
}

View File

@ -1522,7 +1522,7 @@ WRITE_LINE_MEMBER(seta_state::utoukond_ym3438_interrupt)
WRITE_LINE_MEMBER(seta_state::pit_out0)
{
if (state)
m_maincpu->set_input_line(4, HOLD_LINE);
m_maincpu->set_input_line(4, ASSERT_LINE);
}
@ -2580,8 +2580,9 @@ static ADDRESS_MAP_START( madshark_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x500008, 0x50000b) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x50000c, 0x50000d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x600004, 0x600005) AM_WRITE(ipl1_ack_w)
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE(seta_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ?
AM_RANGE(0x600006, 0x600007) AM_WRITE(ipl2_ack_w)
AM_RANGE(0x700400, 0x700fff) AM_RAM AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_SHARE("vram_0") // VRAM 0&1
AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_SHARE("vram_2") // VRAM 2&3
@ -2617,8 +2618,8 @@ static ADDRESS_MAP_START( magspeed_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500008, 0x50000b) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x50000c, 0x50000d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x500010, 0x500015) AM_RAM_WRITE(msgundam_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers
AM_RANGE(0x500018, 0x500019) AM_WRITENOP // lev 2 irq ack?
AM_RANGE(0x50001c, 0x50001d) AM_WRITENOP // lev 4 irq ack?
AM_RANGE(0x500018, 0x500019) AM_WRITE(ipl1_ack_w) // lev 2 irq ack?
AM_RANGE(0x50001c, 0x50001d) AM_WRITE(ipl2_ack_w) // lev 4 irq ack?
AM_RANGE(0x600000, 0x600005) AM_WRITE(magspeed_lights_w) // Lights
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ?
AM_RANGE(0x700000, 0x7003ff) AM_RAM // Palette RAM (tested)
@ -2635,11 +2636,7 @@ static ADDRESS_MAP_START( magspeed_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? $4000
AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
AM_RANGE(0xb04000, 0xb07fff) AM_RAM // tested
#if __uPD71054_TIMER
AM_RANGE(0xc00000, 0xc00007) AM_WRITE(timer_regs_w) // ?
#else
AM_RANGE(0xc00000, 0xc00007) AM_WRITENOP // ?
#endif
AM_RANGE(0xc00000, 0xc00007) AM_DEVREADWRITE8("pit", pit8254_device, read, write, 0x00ff)
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
ADDRESS_MAP_END
@ -8931,7 +8928,7 @@ static MACHINE_CONFIG_START( madshark )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */
MCFG_CPU_PROGRAM_MAP(madshark_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt)
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_assert)
MCFG_DEVICE_ADD("pit", PIT8254, 0) // uPD71054C
MCFG_PIT8253_CLK0(16000000/2/8)
@ -8977,13 +8974,13 @@ static MACHINE_CONFIG_START( magspeed )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */
MCFG_CPU_PROGRAM_MAP(magspeed_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt)
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_assert)
MCFG_WATCHDOG_ADD("watchdog")
#if __uPD71054_TIMER
MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("pit", PIT8254, 0) // uPD71054C
MCFG_PIT8253_CLK0(16000000/2/8)
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(seta_state, pit_out0))
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")

View File

@ -167,25 +167,6 @@ COMP( 1986, qvt201, 0, 0, terminals, terminals, terminals_state, 0, "Qume", "QVT
/**************************************************************************************************************
Relisys TR175 II.
Chips: MC68000P12, HM82C11C, SCN2681, 3x W24257-70L, KDA0476BCN-66 (RAMDAC), 4 undumped proms, Beeper, Button battery
Crystals: 28.322, 46.448, 11.0592, unknown.
Colour screen.
***************************************************************************************************************/
ROM_START( tr175 )
ROM_REGION(0x20000, "maincpu", 0)
ROM_LOAD16_BYTE( "v6.05.u50", 0x00000, 0x10000, CRC(5a33b6b3) SHA1(d673f50dd88f8a154ddaabe34cfcc9ab91435a4c) )
ROM_LOAD16_BYTE( "v6.05.u45", 0x00001, 0x10000, CRC(e220befe) SHA1(8402280577e6de4b85843222bbd6b06a3f625b3b) )
ROM_END
COMP( 1982, tr175, 0, 0, terminals, terminals, terminals_state, 0, "Relisys", "TR175II", MACHINE_IS_SKELETON )
/**************************************************************************************************************
Televideo TVI-912C.
@ -247,20 +228,3 @@ ROM_START( tv965 )
ROM_END
COMP( 1989, tv965, 0, 0, terminals, terminals, terminals_state, 0, "TeleVideo", "TVI-965", MACHINE_IS_SKELETON )
/**************************************************************************************************************
DEC VT420.
Chips: SCN8031HFCN40, SCN2681TC1N40, M5M4464AP, HM62256LFP-10T, TC23SC070AT, TC531001CP-1815
Crystals: 43.320
***************************************************************************************************************/
ROM_START( vt420 )
ROM_REGION(0x20000, "maincpu", 0)
ROM_LOAD( "23-068e9-00.e2", 0x00000, 0x20000, CRC(22c3f93b) SHA1(b212911c41e4dba2e09d91fdd1f72d6c7536b0af) )
ROM_END
COMP( 1990, vt420, 0, 0, terminals, terminals, terminals_state, 0, "DEC", "VT-420", MACHINE_IS_SKELETON )

123
src/mame/drivers/tr175.cpp Normal file
View File

@ -0,0 +1,123 @@
// license:BSD-3-Clause
// copyright-holders:
/***********************************************************************************************************************************
Skeleton driver for Relisys TR-175 II color terminal.
************************************************************************************************************************************/
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "machine/mc68681.h"
#include "video/ramdac.h"
#include "video/scn2674.h"
#include "screen.h"
class tr175_state : public driver_device
{
public:
tr175_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
{ }
DECLARE_WRITE8_MEMBER(ffec01_w);
DECLARE_WRITE8_MEMBER(fff000_w);
DECLARE_READ8_MEMBER(fff400_r);
SCN2674_DRAW_CHARACTER_MEMBER(draw_character);
private:
required_device<cpu_device> m_maincpu;
};
WRITE8_MEMBER(tr175_state::ffec01_w)
{
logerror("%s: Writing %02X to FFEC01\n", machine().describe_context(), data);
}
WRITE8_MEMBER(tr175_state::fff000_w)
{
logerror("%s: Writing %02X to FFF000\n", machine().describe_context(), data);
}
READ8_MEMBER(tr175_state::fff400_r)
{
return 0;
}
static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, tr175_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xfe8000, 0xfebfff) AM_RAM // 8-bit?
AM_RANGE(0xfefe00, 0xfefedd) AM_WRITENOP // 8-bit; cleared at startup
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // main RAM
AM_RANGE(0xff0000, 0xff7fff) AM_RAM // video RAM?
AM_RANGE(0xffe000, 0xffe01f) AM_DEVREADWRITE8("duart", scn2681_device, read, write, 0xff00)
AM_RANGE(0xffe400, 0xffe40f) AM_DEVREADWRITE8("avdc", scn2674_device, read, write, 0xff00)
AM_RANGE(0xffe800, 0xffe805) AM_UNMAP //AM_DEVREADWRITE8("pai", um82c11_device, read, write, 0xff00)
AM_RANGE(0xffec00, 0xffec01) AM_WRITE8(ffec01_w, 0x00ff)
AM_RANGE(0xfff000, 0xfff001) AM_WRITE8(fff000_w, 0xff00)
AM_RANGE(0xfff400, 0xfff401) AM_READ8(fff400_r, 0xff00)
AM_RANGE(0xfffc00, 0xfffc01) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0x00ff)
AM_RANGE(0xfffc02, 0xfffc03) AM_DEVWRITE8("ramdac", ramdac_device, pal_w, 0x00ff)
AM_RANGE(0xfffc04, 0xfffc05) AM_DEVWRITE8("ramdac", ramdac_device, mask_w, 0x00ff)
ADDRESS_MAP_END
SCN2674_DRAW_CHARACTER_MEMBER(tr175_state::draw_character)
{
}
static ADDRESS_MAP_START( vram_map, 0, 8, tr175_state )
AM_RANGE(0x0000, 0x3fff) AM_READNOP
ADDRESS_MAP_END
static ADDRESS_MAP_START( ramdac_map, 0, 8, tr175_state )
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
static INPUT_PORTS_START( tr175 )
INPUT_PORTS_END
static MACHINE_CONFIG_START( tr175 )
MCFG_CPU_ADD("maincpu", M68000, 12'000'000)
MCFG_CPU_PROGRAM_MAP(mem_map)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(720, 360)
MCFG_SCREEN_VISIBLE_AREA(0, 720-1, 0, 360-1)
MCFG_SCREEN_UPDATE_DEVICE("avdc", scn2674_device, screen_update)
MCFG_DEVICE_ADD("avdc", SCN2674, 4000000)
MCFG_SCN2674_INTR_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_SCN2674_TEXT_CHARACTER_WIDTH(8)
MCFG_SCN2674_GFX_CHARACTER_WIDTH(8)
MCFG_SCN2674_DRAW_CHARACTER_CALLBACK_OWNER(tr175_state, draw_character)
MCFG_DEVICE_ADDRESS_MAP(0, vram_map)
MCFG_VIDEO_SET_SCREEN("screen")
MCFG_DEVICE_ADD("duart", SCN2681, XTAL_11_0592MHz / 3) // is this the right clock?
MCFG_MC68681_IRQ_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_1))
MCFG_PALETTE_ADD("palette", 0x100)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
/**************************************************************************************************************
Relisys TR-175 II.
Chips: MC68000P12, HM82C11C, SCN2681, 3x W24257-70L, KDA0476BCN-66 (RAMDAC), 4 undumped proms, Beeper, Button battery
Crystals: 28.322, 46.448, 11.0592, unknown.
Colour screen.
***************************************************************************************************************/
ROM_START( tr175 )
ROM_REGION(0x20000, "maincpu", 0)
ROM_LOAD16_BYTE( "v6.05.u50", 0x00001, 0x10000, CRC(5a33b6b3) SHA1(d673f50dd88f8a154ddaabe34cfcc9ab91435a4c) )
ROM_LOAD16_BYTE( "v6.05.u45", 0x00000, 0x10000, CRC(e220befe) SHA1(8402280577e6de4b85843222bbd6b06a3f625b3b) )
ROM_END
COMP( 1982, tr175, 0, 0, tr175, tr175, tr175_state, 0, "Relisys", "TR-175 II", MACHINE_IS_SKELETON )

View File

@ -10,6 +10,7 @@
#include "emu.h"
#include "cpu/mcs51/mcs51.h"
//#include "machine/mc68681.h"
#include "machine/ram.h"
#include "screen.h"
@ -19,13 +20,15 @@ class vt520_state : public driver_device
public:
vt520_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) ,
m_maincpu(*this, "maincpu") { }
m_maincpu(*this, "maincpu"),
m_rom(*this, "maincpu") { }
DECLARE_READ8_MEMBER(vt520_some_r);
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_vt520(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_region_ptr<uint8_t> m_rom;
};
@ -36,7 +39,7 @@ ADDRESS_MAP_END
/*
On the board there is TC160G41AF (1222) custom chip
doing probably all video/uart logic
there is 43.430MHz xtal near by
there is 43.320MHz xtal near by
*/
READ8_MEMBER( vt520_state::vt520_some_r )
@ -59,9 +62,8 @@ INPUT_PORTS_END
void vt520_state::machine_reset()
{
address_space &space = m_maincpu->space(AS_PROGRAM);
uint8_t *rom = memregion("maincpu")->base();
space.unmap_write(0x0000, 0xffff);
membank("bank1")->set_base(rom + 0x70000);
membank("bank1")->set_base(&m_rom[m_rom.length() - 0x10000]);
}
void vt520_state::video_start()
@ -73,12 +75,29 @@ uint32_t vt520_state::screen_update_vt520(screen_device &screen, bitmap_ind16 &b
return 0;
}
static MACHINE_CONFIG_START( vt520 )
static MACHINE_CONFIG_START( vt420 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",I8032, XTAL_20MHz)
MCFG_CPU_ADD("maincpu", I80C31, XTAL_43_320MHz / 3) // SCN8031HCFN40 (divider not verified)
MCFG_CPU_PROGRAM_MAP(vt520_mem)
MCFG_CPU_IO_MAP(vt520_io)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(802, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 802-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(vt520_state, screen_update_vt520)
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD_MONOCHROME("palette")
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( vt520 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", I80C32, XTAL_20MHz) // Philips P80C32IBPN
MCFG_CPU_PROGRAM_MAP(vt520_mem)
MCFG_CPU_IO_MAP(vt520_io)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@ -98,7 +117,19 @@ static MACHINE_CONFIG_START( vt520 )
MCFG_RAM_DEFAULT_SIZE("256K")
MACHINE_CONFIG_END
/* ROM definition */
/**************************************************************************************************************
DEC VT420.
Chips: SCN8031HCFN40, SCN2681TC1N40, M5M4464AP, HM62256LFP-10T, TC23SC070AT, TC531001CP-1815
Crystals: 43.320
***************************************************************************************************************/
ROM_START( vt420 )
ROM_REGION(0x20000, "maincpu", 0)
ROM_LOAD( "23-068e9-00.e2", 0x00000, 0x20000, CRC(22c3f93b) SHA1(b212911c41e4dba2e09d91fdd1f72d6c7536b0af) )
ROM_END
ROM_START( vt520 )
ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD( "23-010ed-00.e20", 0x0000, 0x80000, CRC(2502cc22) SHA1(0437c3107412f69e09d050fef003f2a81d8a3163)) // "(C)DEC94 23-010ED-00 // 9739 D" dumped from a VT520-A4 model
@ -106,7 +137,7 @@ ROM_END
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */
//COMP( 1993, vt510, 0, 0, vt520, vt520, vt520_state, 0, "Digital Equipment Corporation", "VT510", MACHINE_NOT_WORKING)
COMP( 1994, vt520, 0, 0, vt520, vt520, vt520_state, 0, "Digital Equipment Corporation", "VT520", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
//COMP( 1994, vt525, 0, 0, vt520, vt520, vt520_state, 0, "Digital Equipment Corporation", "VT525", MACHINE_NOT_WORKING)
COMP( 1990, vt420, 0, 0, vt420, vt520, vt520_state, 0, "Digital Equipment Corporation", "VT420 Video Terminal", MACHINE_IS_SKELETON )
//COMP( 1993, vt510, 0, 0, vt520, vt520, vt520_state, 0, "Digital Equipment Corporation", "VT510 Video Terminal", MACHINE_IS_SKELETON)
COMP( 1994, vt520, 0, 0, vt520, vt520, vt520_state, 0, "Digital Equipment Corporation", "VT520 Video Terminal", MACHINE_IS_SKELETON)
//COMP( 1994, vt525, 0, 0, vt520, vt520, vt520_state, 0, "Digital Equipment Corporation", "VT525 Video Terminal", MACHINE_IS_SKELETON)

View File

@ -59,6 +59,14 @@ public:
DECLARE_WRITE16_MEMBER(vbl_ack_w);
DECLARE_WRITE16_MEMBER(unk30120014_w);
DECLARE_WRITE32_MEMBER(pio_sodr_w);
DECLARE_WRITE32_MEMBER(pio_codr_w);
DECLARE_READ32_MEMBER(pio_pdsr_r);
DECLARE_WRITE32_MEMBER(module_scramble_w);
DECLARE_READ_LINE_MEMBER(module_data_r);
DECLARE_WRITE_LINE_MEMBER(module_data_w);
DECLARE_WRITE_LINE_MEMBER(module_clk_w);
DECLARE_READ32_MEMBER(orleg2_speedup_r);
DECLARE_READ32_MEMBER(kov2nl_speedup_r);
DECLARE_READ32_MEMBER(kof98umh_speedup_r);
@ -131,6 +139,16 @@ private:
std::vector<uint8_t> m_encrypted_copy;
uint32_t pio_out_data;
uint32_t module_addr_xor, module_data_xor;
const uint8_t *module_key;
uint32_t module_in_latch;
uint32_t module_out_latch;
int module_prev_state;
int module_clk_cnt;
uint8_t module_rcv_buf[10];
uint8_t module_send_buf[9];
// devices
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;

View File

@ -36455,11 +36455,9 @@ qvt102
qvt103
qvt190
qvt201
tr175
tv912c
tv955
tv965
vt420
@source:terracre.cpp
amatelas // (c) 1986
@ -37051,6 +37049,9 @@ tp84 // GX388 (c) 1984
tp84a // GX388 (c) 1984
tp84b // GX388 (c) 1984
@source:tr175.cpp
tr175 // Relisys
@source:tr606.cpp
tr606 // Roland
@ -37889,6 +37890,7 @@ vt320 // 1987 Digital Equipment Corporation
vt330 // 1987 Digital Equipment Corporation
@source:vt520.cpp
vt420 // 1990 Digital Equipment Corporation
vt520 // 1994 Digital Equipment Corporation
@source:vta2000.cpp

View File

@ -696,6 +696,7 @@ tmc1800.cpp
tmc2000e.cpp
tmc600.cpp
tosh1000.cpp
tr175.cpp
tr606.cpp
tranz330.cpp
tricep.cpp