diff options
-rw-r--r-- | hash/pc98.xml | 385 | ||||
-rw-r--r-- | hash/pc98_cd.xml | 8 | ||||
-rw-r--r-- | src/devices/bus/cbus/pc9801_cbus.cpp | 11 | ||||
-rw-r--r-- | src/devices/video/upd7220.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/pc88va.cpp | 10 | ||||
-rw-r--r-- | src/mame/drivers/pc9801.cpp | 582 | ||||
-rw-r--r-- | src/mame/includes/pc88va.h | 2 | ||||
-rw-r--r-- | src/mame/includes/pc9801.h | 39 | ||||
-rw-r--r-- | src/mame/mame.lst | 7 |
9 files changed, 746 insertions, 302 deletions
diff --git a/hash/pc98.xml b/hash/pc98.xml index a1de80a91e4..ec0a871d519 100644 --- a/hash/pc98.xml +++ b/hash/pc98.xml @@ -97,9 +97,9 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <software name="msdos33"> - <description>MS-DOS 3.3</description> - <year>19??</year> - <publisher><unknown></publisher> + <description>MS-DOS 3.30D</description> + <year>1991</year> + <publisher>NEC / Microsoft</publisher> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1265664"> @@ -152,8 +152,8 @@ only have some part of Windows file and a Video driver(CLGD?). <software name="msdos50a"> <description>MS-DOS 5.0A</description> - <year>19??</year> - <publisher><unknown></publisher> + <year>1992</year> + <publisher>NEC / Microsoft</publisher> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="System Disk 1"/> <dataarea name="flop" size="1265664"> @@ -230,8 +230,8 @@ only have some part of Windows file and a Video driver(CLGD?). <software name="msdos62"> <description>MS-DOS 6.2</description> - <year>19??</year> - <publisher><unknown></publisher> + <year>1994</year> + <publisher>NEC / Microsoft</publisher> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1265664"> @@ -394,10 +394,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="win211"> + <!-- Has kanji drawing issues, cfr. win31 notes ("EGC byte wide writes?") --> + <!-- not extensively tested --> + <software name="win211" supported="partial"> <description>Windows 2.11</description> - <year>19??</year> - <publisher><unknown></publisher> + <year>1989</year> + <publisher>NEC / Microsoft</publisher> + <!-- Needs DOS install, doesn't boot on msdos62 (invalid DOS mode), --> + <!-- it does with msdos33, pinpoint compatibility for proper usage instructions --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1265664"> @@ -574,10 +578,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="win31"> + <!-- Throws a non-fatal CD-Rom error during install --> + <!-- Text is garbled on arbitrary portions (cfr. disk # during install), last letter of a string cutoff? --> + <!-- Tested Solitaire (works), Minesweeper (has slight EGC issues on window move), Paint (has heavy EGC issues) --> + <software name="win31" supported="partial"> <description>Windows 3.1</description> <year>199?</year> <publisher>Microsoft?</publisher> + <info name="usage" value="Needs a DOS install from HDD"/> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1281968"> @@ -808,11 +816,12 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- Requires DOS --> - <software name="turbocpp"> - <description>Turbo C++</description> + <!-- installable, bgidemo working --> + <software name="turbocpp" supported="yes"> + <description>Turbo C++ (v1.01)</description> <year>1990</year> <publisher>Borland</publisher> + <info name="usage" value="Needs a DOS install from HDD, run INSTALL.EXE from disk 1"/> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1281968"> @@ -1532,10 +1541,10 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="msdos33d" supported="no"> - <description>MS-DOS 3.3D</description> - <year>19??</year> - <publisher><unknown></publisher> + <software name="msdos33d" cloneof="msdos33" supported="no"> + <description>MS-DOS 3.30D (Alt)</description> + <year>1991</year> + <publisher>NEC / Microsoft</publisher> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1261568"> @@ -2255,7 +2264,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="46okunen"> + <!-- boot OK with the given instructions --> + <software name="46okunen" supported="yes"> <description>46 Okunen Monogatari - The Shinkaron</description> <year>1990</year> <publisher>エニックス (Enix)</publisher> @@ -2320,12 +2330,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="4dboxing"> - <description>4D Boxing</description> + <!-- boot OK --> + <software name="4dboxing" supported="yes"> + <description>4D Boxing (v1.1)</description> <year>1993</year> <publisher>エレクトロニック・アーツ・ビクター (Electronic Arts Victor)</publisher> <info name="alt_title" value="4Dボクシング" /> <info name="release" value="19930114" /> + <info name="usage" value="Create an user disk by booting with Disk A, once done reboot with Disk B in drive 0" /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1265664"> @@ -3300,7 +3312,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="agumixsl"> + <!-- boot OK, rectangle selections are doubled to expected behaviour (cfr. main menu, "select" option) --> + <!-- double height bitmap on non-interlace mode --> + <software name="agumixsl" supported="partial"> <description>Agumix Selects! - Agumix Select Tokusen Graphic Shuu</description> <year>1992</year> <publisher>アグミックス (Agumix)</publisher> @@ -3792,6 +3806,7 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <!-- Fails to boot with "初期データが設定できません" (cannot set initial data) error --> + <!-- (regressed, was working with RS class at some point) --> <software name="akitsuka" supported="no"> <description>Aki to Tsukasa no Fushigi no Kabe</description> <year>1988</year> @@ -3987,11 +4002,16 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <!-- Seems to work only on 286-based machines (e.g. PC-9801UX). Seems to happen on real hardware too (PC-9821Nw150). --> - <software name="alice"> + <!-- double height text on non-interlace mode (error text) --> + <!-- keyboard stop working on soft reset --> + <!-- can't do disk swaps via the File Manager (fixed, option 2 in main menu) --> + <software name="alice" supported="partial"> <description>Alice no Yakata</description> <year>1990</year> <publisher>アリスソフト (AliceSoft)</publisher> <info name="alt_title" value="アリスの館" /> + <!-- reports as SW1-8? --> + <info name="usage" value="Boots on 286 or V30 class machines only, needs 16 Color Mode on" /> <info name="release" value="19900215" /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> @@ -4622,7 +4642,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="animjv3"> + <!-- boot OK --> + <!-- At some point it was possible to mount a -86 and a -26 to split BGMs and SFXs, regressed --> + <software name="animjv3" supported="partial"> <description>Animahjong V3</description> <year>1993</year> <publisher>ソニア (Sogna)</publisher> @@ -4753,12 +4775,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="annivers"> + <!-- randomly hangs with stuck note --> + <software name="annivers" supported="no"> <description>Anniversary - Memories of Summer Vacation - Natsuyasumi no Omoide</description> <year>1993</year> <publisher>ジャニス (Janis)</publisher> <info name="alt_title" value="アニヴァーサリー ~夏休みの想い出~" /> <info name="release" value="19931203" /> + <!-- GRPH key: cycles thru different video modes (Analog, B&W, Digital) --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1265664"> @@ -4798,12 +4822,14 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <!-- Seems to work only on 286-based machines (e.g. PC-9801UX). Seems to happen on real hardware too (PC-9821Nw150). --> - <software name="agenesis"> + <!-- Reportedly don't recognize keyboard presses --> + <software name="agenesis" supported="partial"> <description>Another Genesis</description> <year>1990</year> <publisher>ソフトプラン (Soft Plan)</publisher> <info name="alt_title" value="アナザージェネシス" /> <info name="release" value="19900621" /> + <info name="usage" value="Boots on 286 or V30 class machines only (Uses N88-Basic v3.0)" /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1086448"> @@ -4844,7 +4870,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="genghis"> + <!-- boot OK --> + <software name="genghis" supported="yes"> <description>Aoki Ookami to Shiroki Mejika - Genghis Khan</description> <year>1987</year> <publisher>光栄 (Koei)</publisher> @@ -4933,7 +4960,12 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="applecl1"> + <!-- boot OK --> + <!-- on VM class: key ups strays one extra input (going twice to the left or right on single press) --> + <!-- on RS class: kanji doesn't show text properly (scoring) --> + <!-- double height bitmap on non-interlace mode --> + <!-- can't pass hands (btanb, F1 key) --> + <software name="applecl1" supported="partial"> <description>Apple Club 1 - Kinjirareta Asobi Series</description> <year>1988</year> <publisher>フェアリーテール (Fairytale)</publisher> @@ -5144,7 +5176,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="arcshu"> + <!-- boot OK --> + <software name="arcshu" supported="yes"> <description>Arcshu - Kagerou no Jidai o Koete</description> <year>1990</year> <publisher>ウルフチーム (WolfTeam)</publisher> @@ -5157,7 +5190,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="arctic"> + <!-- boot OK --> + <software name="arctic" supported="yes"> <description>Arctic</description> <year>1988</year> <publisher>アートディンク (Artdink)</publisher> @@ -5183,7 +5217,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- Some graphical glitches in the intro --> + <!-- Some graphical glitches in the intro (supposedly text layer not clipping properly) --> + <!-- Doesn't like hot swaps (user needs to "empty slot" first when prompted to change disks), btanb --> <software name="arcus2" supported="partial"> <description>Arcus II - Silent Symphony</description> <year>1990</year> @@ -5440,6 +5475,7 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <!-- This game plays sampled voices through the beeper, but it doesn't work in MAME - it just outputs a constant beep --> + <!-- (has a DAC1BIT tester at boot, may be useful) --> <software name="arquelph" supported="partial"> <description>Arquelphos</description> <year>1993</year> @@ -5478,7 +5514,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="artjigs1"> + <!-- boot OK, randomly locks up (stuck note) --> + <!-- On selection menu selected jigsaw doesn't show proper naming, kanji issue? --> + <software name="artjigs1" supported="no"> <description>Art Jigsaw - Vol. 1 Super Weapons</description> <year>1992</year> <publisher>システムソフト (SystemSoft)</publisher> @@ -5491,7 +5529,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="artjigs2"> + <!-- boot OK, randomly locks up (stuck note) --> + <!-- On selection menu selected jigsaw doesn't show proper naming, kanji issue? --> + <software name="artjigs2" supported="no"> <description>Art Jigsaw - Vol. 2 Pretty Girls</description> <year>1992</year> <publisher>システムソフト (SystemSoft)</publisher> @@ -5511,7 +5551,10 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="artjigs3"> + <!-- boot OK, randomly locks up (stuck note) --> + <!-- On selection menu selected jigsaw doesn't show proper naming, kanji issue? --> + <!-- Last selectable puzzle shows up garbled on selection and in-game --> + <software name="artjigs3" supported="no"> <description>Art Jigsaw - Vol. 3 Fantastic</description> <year>1992</year> <publisher>システムソフト (SystemSoft)</publisher> @@ -5639,7 +5682,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="asokokof"> + <!-- boot OK, randomly hangs with stuck note during intro on VM class --> + <software name="asokokof" supported="partial"> <description>Asoko no Koufuku - Yamamoto-san-chi no Baai ni Okeru Asoko no Fukou ni Tsuite</description> <year>1989</year> <publisher>Zeit (ツァイト)</publisher> @@ -5704,7 +5748,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="atlantia"> + <!-- boot OK --> + <software name="atlantia" supported="yes"> <description>Atlantia</description> <year>1994</year> <publisher>ジャパンホームビデオ (Japan Home Video)</publisher> @@ -5913,7 +5958,7 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- Fails to boot with "Disk I/O Error" --> + <!-- Fails to boot with "Disk I/O Error" on cyan "Please Wait!" screen --> <software name="azusa108" supported="no"> <description>Azusa 108 Jimusho</description> <year>1988</year> @@ -5965,7 +6010,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="bacta2"> + <!-- Hangs with stuck note on title screen display after intro --> + <software name="bacta2" supported="no"> <description>Bacta 2</description> <year>1994</year> <publisher>姫屋ソフト (Himeya Soft)</publisher> @@ -6041,12 +6087,16 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="balpower"> + <!-- boot OK in vanilla, VM, RS classes --> + <!-- No kanji displayed on vanilla class --> + <software name="balpower" supported="partial"> <description>Balance of Power - Geopolitics in the Nuclear Age</description> <year>1988</year> <publisher>アスキー (ASCII)</publisher> <info name="alt_title" value="バランス オブ パワー" /> <info name="release" value="198810xx" /> + <!-- 1988 game but runs DOS 6.20, lolwut? --> + <!-- disk A may be just an user disk created with disk B via SETUP.EXE --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1281968"> @@ -6061,12 +6111,15 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="balpowera" cloneof="balpower"> + <!-- boot OK in vanilla, VM, RS classes --> + <!-- No kanji displayed for vanilla version (btanb?) --> + <software name="balpowera" cloneof="balpower" supported="partial"> <description>Balance of Power - Geopolitics in the Nuclear Age (Alt Disk 1)</description> <year>1988</year> <publisher>アスキー (ASCII)</publisher> <info name="alt_title" value="バランス オブ パワー" /> <info name="release" value="198810xx" /> + <!-- again 1988 but DOS 6.20 --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1281968"> @@ -6165,7 +6218,8 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <!-- Can't play any music. It recognizes the MIDI interface correctly, but complains about the interrupt line settings not being correct. --> - <software name="bandkun" supported="partial"> + <!-- Supported MIDI interfaces: Roland MT-32, Roland D-10/D-110, Kawai MSB-98, Korg M1 --> + <software name="bandkun" supported="no"> <description>Band-kun - Sound Entertainment</description> <year>1990</year> <publisher>光栄 (Koei)</publisher> @@ -6365,7 +6419,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="skinpan"> + <!-- Hangs during the intro (first dialogue) --> + <software name="skinpan" supported="no"> <description>Battle Skin Panic 9821</description> <year>1993</year> <publisher>ガイナックス (Gainax)</publisher> @@ -6434,7 +6489,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="btech"> + <!-- boot OK --> + <software name="btech" supported="yes"> <description>BattleTech - Ubawareta Seihai</description> <year>1993</year> <publisher>ビクター音楽産業 (Victor Musical Industries)</publisher> @@ -6460,7 +6516,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="baycity"> + <!-- boot OK --> + <software name="baycity" supported="yes"> <description>Bay City Elegy</description> <year>1994</year> <publisher>カクテル・ソフト FMC (Cocktail Soft FMC)</publisher> @@ -6577,7 +6634,7 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- Black screen on boot --> + <!-- Black screen on boot (FDC keeps reading command sense) --> <software name="beast" supported="no"> <description>Beast - Injuu no Yakata</description> <year>1990</year> @@ -6604,7 +6661,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="beast2"> + <!-- boot OK --> + <software name="beast2" supported="yes"> <description>Beast 2 - Incubuster</description> <year>1991</year> <publisher>バーディーソフト (Birdy Soft)</publisher> @@ -6702,7 +6760,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="bellsave"> + <!-- boot OK --> + <software name="bellsave" supported="yes"> <description>Bell's Avenue</description> <year>1993</year> <publisher>ウェンディマガジン (Wendy Magazine)</publisher> @@ -6900,7 +6959,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="biblems2"> + <!-- boot OK --> + <software name="biblems2" supported="yes"> <description>Bible Master 2 - The Chaos of Aglia</description> <year>1994</year> <publisher>グローディア (Glodia)</publisher> @@ -6991,7 +7051,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="birdywld"> + <!-- boot OK --> + <software name="birdywld" supported="yes"> <description>Birdy World</description> <year>1991</year> <publisher>バーディーソフト (Birdy Soft)</publisher> @@ -7056,11 +7117,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="idolsaga"> + <!-- Reportedly crashes on V30 class machine --> + <!-- on 386 class throws a "(program) ended. remove the floppy disk and turn off the power.", most likely btanb --> + <software name="idolsaga" supported="partial"> <description>Bishoujo Audition - Idol o Sagase!</description> <year>1993</year> <publisher>サンタ・フェ (Santa Fe)</publisher> <info name="alt_title" value="美少女オーディション アイドルを探せ!" /> + <info name="usage" value="Boots on 286 or V30 class machines only" /> <info name="release" value="19930205" /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> @@ -7108,7 +7172,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="bishohzx"> + <!-- boot OK --> + <!-- no title screen GFXs (btanb, displayed during intro) --> + <software name="bishohzx" supported="yes"> <description>Bishoujo Hunter ZX</description> <year>1993</year> <publisher>ボンびいボンボン! (Bonbee Bonbon!)</publisher> @@ -7220,7 +7286,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="bishotsu"> + <!-- boot OK on RS class, on intro uses PCM1BIT and some text doesn't seem to be drawn? --> + <!-- black screen after Cocktail Soft logo on VM class (btanb?) --> + <software name="bishotsu" supported="partial"> <description>Bishoujo Tsuushin - Chat no Susume</description> <year>1992</year> <publisher>カクテル・ソフト (Cocktail Soft)</publisher> @@ -7535,7 +7603,7 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- This game is supposed to play sound effects through the beeper, but in MAME it just outputs a constant beep --> + <!-- This game is supposed to play sound effects through the beeper, but in MAME it just outputs a constant beep (PCM1BIT) --> <software name="blockouta" cloneof="blockout" supported="partial"> <description>Block Out (Patched?)</description> <year>1991</year> @@ -7687,7 +7755,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="bokosuka"> + <!-- boot OK, sometimes keyboard doesn't recognize key ups --> + <software name="bokosuka" supported="partial"> <description>Bokosuka Wars</description> <year>1985</year> <publisher>アスキー (ASCII)</publisher> @@ -9291,13 +9360,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- Runs too fast on anything except (presumably) a 8086 CPU, but it doesn't boot on the PC-9801F --> - <software name="castle"> + <!-- boot OK --> + <software name="castle" supported="yes"> <description>The Castle and Princess.</description> <year>1985</year> <publisher>アスキー (ASCII)</publisher> <info name="alt_title" value="ザ・キャッスル" /> <info name="release" value="198507xx" /> + <info name="usage" value="Use a vanilla 8086 class machine with 2HD floppy mounted for proper speed" /> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="1142928"> <rom name="castle.d88" size="1142928" crc="77db8f90" sha1="07ac9159e906da1f97da601cd7da5c63ad2713a5" offset="0" /> @@ -9413,6 +9483,7 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <!-- "データ・ファイルが見つかりません" (data file not found) on PC-9801UX, "Packed file is corrupt" on anything else --> + <!-- boot OK by running CENTURIO.EXE from MSDOS --> <software name="centurio" supported="no"> <!-- Origin: Neo Kobe Collection --> <description>Centurion - Defender of Rome</description> @@ -9432,7 +9503,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- Crashes MAME on PC-9801UX, "Packed file is corrupt" on anything else --> + <!-- Hardlocks MAME on PC-9801UX, "Packed file is corrupt" on anything else --> + <!-- boot OK by running CENTURIO.EXE from MSDOS --> <software name="centurioa" cloneof="centurio" supported="no"> <!-- Origin: Neo Kobe Collection --> <description>Centurion - Defender of Rome (Alt)</description> @@ -9479,6 +9551,7 @@ only have some part of Windows file and a Video driver(CLGD?). </software> <!-- Can't change disks, so it's not possible to save or load characters --> + <!-- randomly locks up --> <software name="ckrynn" supported="no"> <description>Champions of Krynn</description> <year>1992</year> @@ -9824,7 +9897,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="fsmoon"> + <!-- boot OK, randomly crashes during gameplay with stuck note --> + <software name="fsmoon" supported="no"> <description>Chikyuu Bouei Gun II - The Earth Self Defense Force - Far Side Moon</description> <year>1989</year> <publisher>アートディンク (Artdink)</publisher> @@ -13324,13 +13398,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- No sound --> - <software name="deflektr" supported="partial"> + <!-- boot OK --> + <software name="deflektr" supported="yes"> <description>Deflektor</description> <year>1991</year> <publisher>B·P·S (Bullet-Proof Software)</publisher> <info name="alt_title" value="ディフレクター" /> <info name="release" value="19910712" /> + <info name="usage" value="MEMSW-4 bit 3 must be off for sound to work (as also prompted during MEGDOS booting)" /> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="1298608"> <rom name="deflektor.d88" size="1298608" crc="99a4b5f5" sha1="9cc8257a68093bc5ea992498d0c5d29953c1fa31" offset="0" /> @@ -13681,8 +13756,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- The mouse cursor doesn't work correctly --> - <software name="dengarou" supported="partial"> + <!-- boot OK --> + <software name="dengarou" supported="yes"> <!-- Origin: Neo Kobe Collection --> <description>Dennou Garou</description> <year>1993</year> @@ -13940,7 +14015,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- All the menus and the mouse cursor are invisible --> + <!-- Black screen on VM and RS classes, boot OK in 9821 (tested up to the copy protection check) --> + <!-- Supposed to run on former since game has 16/8 colors mode switch --> <software name="desdragn" supported="no"> <!-- Origin: Neo Kobe Collection --> <description>Desert Dragoon - Sabaku no Ryuukihei</description> @@ -13948,6 +14024,7 @@ only have some part of Windows file and a Video driver(CLGD?). <publisher>ジャパンホームビデオ (Japan Home Video)</publisher> <info name="alt_title" value="デザートドラグーン ~砂漠の竜騎兵~" /> <info name="release" value="19930709" /> + <info name="usage" value="Has manual copy protection" /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1261568"> @@ -15234,7 +15311,8 @@ only have some part of Windows file and a Video driver(CLGD?). <year>1992</year> <publisher>総合ビジネスアシスト (ABA)</publisher> <info name="alt_title" value="ディスクバトラー" /> - <info name="usage" value="Boot from a DOS floppy with disk 1 in drive 2, then tun DBINST.EXE from disk 1." /> + <info name="usage" value="Boot DOS from floppy, swap it with disk 1 once on prompt, run DB.EXE" /> + <!-- Can also be made self bootable via DBINST.EXE, needs write mountable dskbtlr1.d88 in drive 1 --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1281968"> @@ -17122,7 +17200,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="dconqest"> + <!-- randomly hangs with a stuck note --> + <software name="dconqest" supported="no"> <description>Dungeon Conquest</description> <year>1993</year> <publisher>アスキー (ASCII)</publisher> @@ -17359,7 +17438,10 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="ecomagic"> + <!-- Randomly crashes (happens more often with 286/V30 class machines) --> + <!-- (Runs on MEGDOS 0.27, should supposedly run on latter two) --> + <!-- On prolonged gameplays score may roll over instead of giving game over (i.e. going 65k), btanb? --> + <software name="ecomagic" supported="partial"> <description>Ecology Magic</description> <year>1992</year> <publisher>ジーエーエム (GAM)</publisher> @@ -17379,7 +17461,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <!-- Doesn't recognize disk changes --> + <!-- Doesn't recognize disk changes (regressed) --> + <!-- has gfx glitch when intro scrolls to top-left --> + <!-- user disk creation screen is offset --> <software name="edge" supported="no"> <description>Edge</description> <year>1993</year> @@ -19370,13 +19454,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="fh2tag"> + <software name="fh2tag" supported="partial"> <description>Finish Hold 2 - Tag</description> <year>1996</year> <publisher>システムソフト (SystemSoft)</publisher> <info name="alt_title" value="フィニッシュホールド2 TAG" /> <info name="release" value="19960322" /> - <info name="usage" value="Requires HDD installation, and the game manual to pass the protection check. Run INST.EXE from DOS." /> + <!-- 001J0283TA 100001 --> + <info name="usage" value="Requires HDD installation, and the serial number printed on registration card to pass the protection check. Run INST.EXE or SSHDINST.EXE from DOS." /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1261568"> @@ -20847,12 +20932,17 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="hypbingo"> + <!-- boot OK, has heavy GFX issues if EGC is detected. --> + <!-- Uses DAC1BIT for speech --> + <!-- Has extensive system check, NESA bus for instance --> + <software name="hypbingo" supported="partial"> <description>Gals Talk Hyper Bingo</description> <year>1992</year> <publisher>総合ビジネスアシスト (ABA)</publisher> <info name="alt_title" value="ギャルズトーク ハイパービンゴ" /> <info name="release" value="19920313" /> + <info name="usage" value="Boot DOS from floppy, swap it with disk 1 once on prompt, run BG.EXE" /> + <!-- Can also be made self bootable via HBINST.EXE, needs write mountable hb-1.d88 in drive 1 --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1281968"> @@ -22983,7 +23073,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="hayate"> + <!-- boot OK --> + <software name="hayate" supported="yes"> <description>Hayate - The Battle - Hyper Real Battle Action</description> <year>1994</year> <publisher>アルテシア (Altacia)</publisher> @@ -23053,7 +23144,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="heatpwfl"> + <!-- boot OK on VM and RS classes --> + <software name="heatpwfl" supported="yes"> <description>Heater Powerful</description> <year>1993</year> <publisher>アンビシャス (Ambitious)</publisher> @@ -23073,11 +23165,13 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="hedgehog"> + <!-- Doesn't do much after install & run with currently available machines --> + <software name="hedgehog" supported="no"> <description>HedgehoG</description> <year>1996</year> <publisher>電脳山城組 / コムレイドシステム (Dennou Yamashiro-gumi / Comrade System)</publisher> <info name="alt_title" value="ヘッジホッグ" /> + <!-- Minimum requirements: PC9821Cb2 and Win95? --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1265664"> @@ -23104,7 +23198,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="headqrt"> + <!-- Doesn't recognize disk on disk swap prompt (even if game is actually installed on HDD) --> + <software name="headqrt" supported="no"> <description>Headquarters - America no Akumu</description> <year>1994</year> <publisher>アルゴラボ 算法研究所 (Algolab)</publisher> @@ -23304,7 +23399,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="hercequa"> + <!-- boot OK, beeps out when it's supposed to play samples (DAC1BIT) --> + <software name="hercequa" supported="partial"> <description>Hercequary</description> <year>1994</year> <publisher>ジックス (ZyX)</publisher> @@ -24228,8 +24324,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="tim" supported="no"> - <description>The Incredible Machine</description> + <!-- boot OK, randomly hangs with stuck note --> + <software name="tim" supported="partial"> + <description>The Incredible Machine (v1.00)</description> <year>1994</year> <publisher>サイベル (Cybelle)</publisher> <info name="alt_title" value="インクレディブル・マシーン" /> @@ -24740,7 +24837,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="jangou2"> + <!-- boot OK --> + <software name="jangou2" supported="yes"> <description>Jangou 2 - Kouchinou Ban</description> <year>1989</year> <publisher>ビクター音楽産業 (Victor Musical Industries)</publisher> @@ -25561,12 +25659,14 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> + <!-- boot OK --> <software name="karateka" supported="yes"> <description>Karateka</description> <year>1988</year> <publisher>ブロダーバンドジャパン (Brøderbund Japan)</publisher> <info name="alt_title" value="カラテカ" /> <info name="release" value="198811xx" /> + <info name="usage" value="Sound works on V30 class machines only" /> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="1281968"> <rom name="karateka.d88" size="1281968" crc="d762d4d1" sha1="fb9331c301dd641c3398090330ba906b173c2020" offset="0" /> @@ -26092,15 +26192,17 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="kingdung"> + <!-- boot OK --> + <software name="kingdung" supported="yes" > <description>King's Dungeon - The Story of Heroes</description> <year>1992</year> <publisher>ソフトプラン (Soft Plan)</publisher> <info name="alt_title" value="キングスダンジョン" /> <info name="release" value="19921217" /> + <!-- has end game save files --> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="1265664"> - <rom name="kingdung.fdi" size="1265664" crc="b7f4f600" sha1="7bd2ac05e849fa884734b77aca5661382ee5009f" offset="0" /> + <rom name="kingdung.fdi" size="1265664" crc="b7f4f600" sha1="7bd2ac05e849fa884734b77aca5661382ee5009f" offset="0" status="baddump" /> </dataarea> </part> </software> @@ -28104,7 +28206,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="lovelyho"> + <!-- boot OK in vanilla, VM, RS classes --> + <!-- No kanji displayed on vanilla class, no 8x16 charset for RS class (selection numbers) --> + <software name="lovelyho" supported="partial"> <description>Lovely Horror - Ochame na Yuurei</description> <year>1988</year> <publisher>全流通 (Zenryutsu)</publisher> @@ -28232,7 +28336,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="madoum1"> + <!-- no bitmap GFXs during gameplay --> + <software name="madoum1" supported="no"> <description>Madou Monogatari 1</description> <year>1991</year> <publisher>コンパイル (Compile)</publisher> @@ -28252,7 +28357,8 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="madoum2"> + <!-- no bitmap GFXs during gameplay --> + <software name="madoum2" supported="no"> <description>Madou Monogatari 2</description> <year>1991</year> <publisher>コンパイル (Compile)</publisher> @@ -30226,8 +30332,9 @@ only have some part of Windows file and a Video driver(CLGD?). </part> </software> - <software name="metalor"> - <description>Metal Orange</description> + <!-- boot OK --> + <software name="metalor" supported="yes"> + <description>Cyber Block Metal Orange</description> <year>1991</year> <publisher>カスタム (Custom)</publisher> <info name="alt_title" value="メタルオレンジ" /> @@ -34041,12 +34148,15 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="pickupmj"> + <!-- boot OK, -26/-86 sound voices have low pitches (btanb?) --> + <software name="pickupmj" supported="partial"> <description>Pick Up Mahjong Master</description> <year>1994</year> <publisher>アレックス (Allex)</publisher> <info name="alt_title" value="ピックアップ麻雀マスター" /> <info name="release" value="199409xx" /> + <info name="usage" value="Boot DOS 3.11 or higher from floppy, swap it with Disk A, run INSTALL.EXE and follow on screen instructions" /> + <!-- Alt version without install: after swap just run MUSIC -> ALBIOS -> _SHELL A:<yen> B:<yen> (aka above AUTOEXEC.BAT output with 2 drives selected) --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1281968"> @@ -34067,12 +34177,17 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="pickupy1"> + <!-- Hangs at first agari on RS class (with keyboard beep feedback) --> + <!-- With EMS on and ALBIOS /P prints "cannot keep expand MEMORY", booting it fatal errors after title screen with EMM error. --> + <!-- "EMM386 privileged instruction violation #00 has occurred" --> + <software name="pickupy1" supported="no"> <description>Pick Up Yadokari Eisei Housoukyoku 1</description> <year>1994</year> <publisher>アレックス (Allex)</publisher> <info name="alt_title" value="Pick UP やどかり衛星放送局1" /> <info name="release" value="19940420" /> + <info name="usage" value="Boot DOS 3.11 or higher from floppy, swap it with Disk A, run INSTALL.EXE and follow on screen instructions" /> + <!-- Alt version without install: after swap just run MUSIC -> ALBIOS -> YBS1 A:<yen> B:<yen> (aka above AUTOEXEC.BAT output with 2 drives selected) --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1265664"> @@ -34913,13 +35028,15 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> -<!-- PC-9821 specific, requires DOS and CD-ROM drive --> - <software name="policena" supported="no"> + <!-- PC-9821 specific, requires DOS and CD-ROM drive --> + <software name="policena" supported="partial"> <description>Policenauts</description> <year>1994</year> <publisher>コナミ (Konami)</publisher> <info name="alt_title" value="ポリスノーツ" /> <info name="release" value="19940729" /> + <!-- TODO: describe install instructions (known to be annoying) --> + <!-- TODO: why it has mixed interfaces? Do we even need the User Disk? --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="System Disk"/> <dataarea name="flop" size="1265664"> @@ -35568,12 +35685,15 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="ppersia"> + <!-- boot OK on RS class, on VM class hangs with a black screen while attempting to access main menu from title. --> + <!-- (hangs on a slave upd7220 FIFO empty/vsync check that never occurs, regression?) --> + <software name="ppersia" supported="partial"> <description>Prince of Persia</description> <year>1990</year> <publisher>ブロダーバンドジャパン (Brøderbund Japan)</publisher> <info name="alt_title" value="プリンス オブ ペルシャ" /> <info name="release" value="19900720" /> + <info name="usage" value="On main menu insert a blank disk in drive 2 then select option 6 to create an user disk." /> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="1265664"> <rom name="main.fdi" size="1265664" crc="f4b2eabe" sha1="a885b2fa29ef33faacf6cbac696a1d566b6bb4e6" offset="0" /> @@ -35587,6 +35707,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) <publisher>ブロダーバンドジャパン (Brøderbund Japan)</publisher> <info name="alt_title" value="プリンス オブ ペルシャ" /> <info name="release" value="19900720" /> + <info name="usage" value="On main menu insert a blank disk in drive 2 then select option 6 to create an user disk." /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1261568"> @@ -35607,6 +35728,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) <publisher>ブロダーバンドジャパン (Brøderbund Japan)</publisher> <info name="alt_title" value="プリンス オブ ペルシャ" /> <info name="release" value="19900720" /> + <info name="usage" value="On main menu insert a blank disk in drive 2 then select option 6 to create an user disk." /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1265664"> @@ -35653,7 +35775,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="prinmak2"> + <!-- boot OK, randomly hangs on VM class (btanb?) --> + <software name="prinmak2" supported="partial"> <description>Princess Maker 2</description> <year>1993</year> <publisher>ガイナックス (Gainax)</publisher> @@ -36218,7 +36341,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="puyopuyo" supported="yes"> + <!-- boot OK, beeps out when it's supposed to play samples (DAC1BIT) --> + <software name="puyopuyo" supported="partial"> <description>Puyo Puyo</description> <year>1993</year> <publisher>コンパイル (Compile)</publisher> @@ -36271,7 +36395,10 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="quarth"> + <!-- boot OK on "vanilla" and VM classes --> + <!-- on RS class throws a "packet file is corrupt" during boot, btanb? --> + <!-- intro seems very slow, btanb (machine class dependant) --> + <software name="quarth" supported="partial"> <description>Quarth</description> <year>1990</year> <publisher>コナミ (Konami)</publisher> @@ -37775,7 +37902,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="rogue"> + <!-- 2DD image, won't boot in vanilla class with 2DD BIOS enabled --> + <software name="rogue" supported="no"> <description>Rogue</description> <year>1986</year> <publisher>アスキー (ASCII)</publisher> @@ -38033,12 +38161,15 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> + <!-- boot OK --> + <!-- voice pitches are too slow (tested with -26 and -86) --> <software name="rusty"> <description>Rusty</description> <year>1993</year> <publisher>シーラボ (C-lab)</publisher> <info name="alt_title" value="ラスティ" /> <info name="release" value="19930716" /> + <!-- Are those mislabeled? flop3 is actually 2 according to first disk swap on new game selection --> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk 1"/> <dataarea name="flop" size="1265664"> @@ -40434,7 +40565,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="sorcer"> + <!-- 2dd images, attempt to map them on 9801F (in drive 2 + BIOS enabled in Machine Config) causes access violation --> + <software name="sorcer" supported="no"> <description>Sorcerian</description> <year>1988</year> <publisher>日本ファルコム (Nihon Falcom)</publisher> @@ -41143,7 +41275,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="streetm2"> + <!-- boot OK --> + <software name="streetm2" supported="yes"> <description>Street Mahjong 2</description> <year>1996</year> <publisher>ブラッキー (Blucky)</publisher> @@ -42854,13 +42987,14 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="atragon"> + <!-- boot OK --> + <software name="atragon" supported="yes"> <description>Tekkou Kikan Atragon</description> <year>1995</year> <publisher>ムービック (Movic)</publisher> <info name="alt_title" value="鉄甲旗艦アトラゴン" /> <info name="release" value="19950224" /> - <info name="usage" value="Run INSTALL.EXE from DOS" /> + <info name="usage" value="Requires HDD install, run INSTALL.EXE from DOS" /> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Disk A"/> <dataarea name="flop" size="1265664"> @@ -43635,13 +43769,14 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> -<!-- requires DOS and HD install --> - <software name="tetr2bmb" supported="no"> + <!-- boot OK --> + <software name="tetr2bmb" supported="yes"> <description>Tetris 2 + Bombliss</description> <year>1994</year> <publisher>B·P·S (Bullet-Proof Software)</publisher> <info name="alt_title" value="スーパーテトリス2 + ボンブリス" /> <info name="release" value="19941015" /> + <info name="usage" value="Needs MSDOS, run SETUP.EXE to install to HDD" /> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="1265664"> <rom name="super tetris 2 + bombliss (1994)(bps).fdi" size="1265664" crc="f087e8a4" sha1="3354a5702e7ba64508a69d2bf749791560922221" offset="0" /> @@ -43864,7 +43999,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="tokio"> + <!-- boot OK --> + <software name="tokio" supported="yes"> <description>Tokio - Tokyo-to Dai 24 Ku</description> <year>1992</year> <publisher>アートディンク (Artdink)</publisher> @@ -44720,7 +44856,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="twiligh3"> + <!-- 2dd images, attempt to map them on 9801F (in drive 2 + BIOS enabled in Machine Config) causes access violation --> + <software name="twiligh3" supported="no"> <description>Twilight Zone III - Nagakute Amai Yoru</description> <year>1989</year> <publisher>グレイト (Great)</publisher> @@ -49856,7 +49993,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <!-- The mouse cursor doesn't work correctly --> + <!-- boot OK, don't recognize disk swaps (option 1 -> 1) --> <software name="choubaku" supported="no"> <description>Chou·Baku</description> <year>1993</year> @@ -49927,8 +50064,10 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="clipper"> + <!-- boot OK --> + <software name="clipper" supported="yes"> <description>Clipper - Takepon no Ochimono Puzzle</description> + <!-- at least 1992 --> <year>19??</year> <publisher><unknown></publisher> <part name="flop1" interface="floppy_5_25"> @@ -49938,7 +50077,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="compecon"> + <!-- boot OK --> + <software name="compecon" supported="yes"> <description>Computer Aided Economics</description> <year>19??</year> <publisher><unknown></publisher> @@ -50605,7 +50745,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="f1datad"> + <!-- boot OK --> + <software name="f1datad" supported="yes"> <description>F-1 Databox (Demo)</description> <year>1990</year> <publisher>リード・レックス (Reed Rex)</publisher> @@ -52878,6 +53019,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> + <!-- doesn't recognize disk swaps --> <software name="mezaset2" supported="no"> <description>Mezase! Top Player - Tennis Tennis 2</description> <year>1993</year> @@ -54805,7 +54947,8 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?) </part> </software> - <software name="ttennis" supported="no"> + <!-- boot OK --> + <software name="ttennis" supported="yes"> <description>Tennis Tennis</description> <year>1992</year> <publisher>日本ソフテック (Nihon Softec)</publisher> @@ -57767,6 +57910,7 @@ SPACE EMPIRE </dataarea> </part> </software> + <!-- Disk changes don't work --> <software name="elle" supported="no"> <description>Elle</description> @@ -61659,7 +61803,8 @@ SPACE EMPIRE </part> </software> - <software name="ranmahd" supported="no"> + <!-- boot OK --> + <software name="ranmahd" supported="yes"> <description>Ranma½ - Hiryuu Densetsu</description> <year>1991</year> <publisher>ボーステック (Bothtec)</publisher> @@ -67671,7 +67816,8 @@ doujin?!? </part> </software> - <software name="pentium"> + <!-- boot OK --> + <software name="pentium" supported="yes"> <description>Pentium</description> <year>19??</year> <publisher><doujin></publisher> @@ -68223,10 +68369,13 @@ doujin?!? </part> </software> - <software name="tokigirl" supported="no"> + <!-- boot OK --> + <software name="tokigirl" supported="yes"> <description>Tokimeki Girls</description> - <year>19??</year> + <!-- 94 12.15 from game title --> + <year>1994</year> <publisher><doujin></publisher> + <!-- CG Matuoto Noriyuki / Cheng Soft? --> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="1261568"> <rom name="tokimeki_girls.hdm" size="1261568" crc="c7412acf" sha1="2f5ceee89e374c8854c04c327e31bc4b57623d78" offset="0" /> @@ -68234,8 +68383,9 @@ doujin?!? </part> </software> - <software name="tonosatn"> - <description>Tono-sama VS Satan</description> + <!-- boot OK, no sound (very unlikely to have it, btanb) --> + <software name="tonosatn" supported="yes"> + <description>Tono-sama VS Satan (v1.0)</description> <year>1995</year> <publisher><doujin></publisher> <info name="author" value="TTC" /> @@ -68933,8 +69083,10 @@ Same as Police Quest 2 - Quest for Glory stand-alone disks </part> </software> -<!-- 3'5 floppy, compared to the 5'25" one used in Disc Station 10 --> - <software name="runners"> + <!-- 3'5 floppy, compared to the 5'25" one used in Disc Station 10 --> + <!-- "I/O error", dir issued in DOS goes "(A)bort/(R)etry/(F)ail" --> + <!-- double height bitmap on non-interlace mode --> + <software name="runners" supported="no"> <description>Runner's High</description> <year>1996</year> <publisher>コンパイル (Compile)</publisher> @@ -68945,7 +69097,8 @@ Same as Police Quest 2 - Quest for Glory stand-alone disks </part> </software> - <software name="transbor"> + <!-- boot OK, beeps on intro/start of stages (DAC1BIT) --> + <software name="transbor" supported="partial"> <description>TransbOrder</description> <year>1993</year> <publisher>コンパイル (Compile)</publisher> diff --git a/hash/pc98_cd.xml b/hash/pc98_cd.xml index 8158371c854..d10cdb614c2 100644 --- a/hash/pc98_cd.xml +++ b/hash/pc98_cd.xml @@ -2115,7 +2115,9 @@ license:CC0 </part> </software> - <software name="fh2tag"> + <!-- boot OK, no sound (tested -26 and -86 on 98RS, TBD: retest in 9821) --> + <!-- Has Tuned Heart demo (which also has no sound and hangs at first battle) --> + <software name="fh2tag" supported="partial"> <!-- Origin: redump.org <rom name="Finish Hold 2 - Tag (Japan).cue" size="93" crc="7cf64221" md5="a2dc55a24539aab103701e08562253fe" sha1="8a49ecb6010ea76deb1bcc3c84a0cfc437de46e3"/> @@ -3936,7 +3938,9 @@ license:CC0 </part> </software> - <software name="pnauts"> + <!-- Can randomly lock up on prolonged sessions (1+ hours) --> + <!-- Most likely down to -86 misfired irq (stuck note) --> + <software name="pnauts" supported="partial"> <!-- Origin: redump.org <rom name="Policenauts (Japan).cue" size="591" crc="33715417" md5="ae17a348af34b2f7bddd0695d976f61c" sha1="2e41266a1a1e82eaa6a2b85858aec7af8ad93e33"/> diff --git a/src/devices/bus/cbus/pc9801_cbus.cpp b/src/devices/bus/cbus/pc9801_cbus.cpp index 0287404d011..b92b58b19fc 100644 --- a/src/devices/bus/cbus/pc9801_cbus.cpp +++ b/src/devices/bus/cbus/pc9801_cbus.cpp @@ -2,7 +2,12 @@ // copyright-holders:Angelo Salese /********************************************************************** - CCBUS Slot interface for PC-98xx family + C-bus slot interface for PC-98xx family + + a.k.a. NEC version of the ISA bus. + + TODO: + - stub interface, checkout what actually belongs here. **********************************************************************/ @@ -15,7 +20,7 @@ // GLOBAL VARIABLES //************************************************************************** -DEFINE_DEVICE_TYPE(PC9801CBUS_SLOT, pc9801_slot_device, "pc9801_slot", "PC-9801 sound cbus slot") +DEFINE_DEVICE_TYPE(PC9801CBUS_SLOT, pc9801_slot_device, "pc9801_slot", "PC-9801 C-bus slot") @@ -110,7 +115,7 @@ template<typename R, typename W> void pc9801_slot_device::install_io(offs_t star m_iospace->install_readwrite_handler(start, end, rhandler, whandler, 0xffffffff); break; default: - fatalerror("PC-9801-26: Bus width %d not supported\n", buswidth); + fatalerror("PC-9801 C-bus: Bus width %d not supported\n", buswidth); } } diff --git a/src/devices/video/upd7220.cpp b/src/devices/video/upd7220.cpp index d1b8a95e264..19bd0c083a1 100644 --- a/src/devices/video/upd7220.cpp +++ b/src/devices/video/upd7220.cpp @@ -25,7 +25,9 @@ - QX-10 diagnostic test misses the zooming factor (external pin); - compis2 SAD address for bitmap is 0x20000 for whatever reason (presumably missing banking); - A5105 has a FIFO bug with the RDAT, should be a lot larger when it scrolls up. - The problem is that DMA-ing with RDAT/WDAT shouldn't be instant; + Can be fixed with a DRDY mechanism for RDAT/WDAT; + - Some later SWs on PC-98 throws "Invalid command byte 05" (zettmj on Epson logo), + actual undocumented command to reset something? - honor visible area - wide mode (32-bit access) diff --git a/src/mame/drivers/pc88va.cpp b/src/mame/drivers/pc88va.cpp index 196c4e122cc..e21224fffc9 100644 --- a/src/mame/drivers/pc88va.cpp +++ b/src/mame/drivers/pc88va.cpp @@ -10,18 +10,18 @@ Special thanks to Fujix for his documentation translation help TODO: - - Does this system have one or two CPUs? I'm prone to think that the V30 does all the job - and then enters into z80 compatible mode for PC-8801 emulation. - What exact kind of garbage happens if you try to enable both direct and palette color modes to a graphic layer? + - unemulated upd71071 demand mode; - What is exactly supposed to be a "bus slot"? - fdc "intelligent mode" has 0x7f as irq vector ... 0x7f is ld a,a and it IS NOT correctly hooked up by the current z80 core - PC-88VA stock version has two bogus opcodes. One is at 0xf0b15, another at 0xf0b31. Making a patch for the latter makes the system to jump into a "DIP-Switch" display. bp f0b31,pc=0xf0b36,g - - unemulated upd71071 demand mode. - - Fix floppy motor hook-up; + Update: it never reaches latter with V30->V50 CPU switch fix; + - Fix floppy motor hook-up (floppy believes to be always in even if empty drive); + - Support for PC8801 compatible mode & PC80S31K (floppy interface); ********************************************************************************************/ @@ -1573,7 +1573,7 @@ void pc88va_state::dma_memw_cb(offs_t offset, uint8_t data) void pc88va_state::pc88va(machine_config &config) { - V30(config, m_maincpu, 8000000); /* 8 MHz */ + V50(config, m_maincpu, 8000000); // μPD9002, aka V30 + μPD70008AC (for PC8801 compatibility mode) m_maincpu->set_addrmap(AS_PROGRAM, &pc88va_state::pc88va_map); m_maincpu->set_addrmap(AS_IO, &pc88va_state::pc88va_io_map); m_maincpu->set_vblank_int("screen", FUNC(pc88va_state::pc88va_vrtc_irq)); diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp index 46bc9f517c8..86df47a29c7 100644 --- a/src/mame/drivers/pc9801.cpp +++ b/src/mame/drivers/pc9801.cpp @@ -1,126 +1,64 @@ // license:BSD-3-Clause // copyright-holders:Angelo Salese,Carl -/*************************************************************************************************** +/************************************************************************************************** PC-9801 (c) 1981 NEC driver by Angelo Salese TODO: - - move sound bios ROMs into pc9801_26 / pc9801_86 devices - - proper 8251 uart hook-up on keyboard + - proper 8251 uart hook-up on keyboard; - SASI/SCSI support; - - Write a PC80S31K device (also used on PC-8801 and PC-88VA, it's the FDC + Z80 sub-system); - - Finish DIP-Switches support - - text scrolling - - GRCG+ - - rewrite using slot devices - - some later SWs put "Invalid command byte 05" (Absolutely Mahjong on Epson logo) - - investigate on POR bit - - test 2dd more - - clean-ups/split into devices. + - Finish DIP-Switches support; + - text scrolling, upd52611 (cfr. clipping in edge & arcus2, madoum* too?); + - AGDC emulation, upd72120; + - CMT support (-13/-36 cbus only, identify which models mounted it off the bat); + - Write a PC80S31K device for 2d type floppies + (also used on PC-8801 and PC-88VA, it's the FDC + Z80 sub-system); + - Anything post-PC9801E/F/M should overwrite "speaker_device" to actually use a + dac_bit_interface instead (cfr. DAC1BIT in SW list); + - clean-ups & split into separate devices and driver flavours; + - derive romsets by default options (cfr. 3.5 2HD floppies vs. default 5.25, 2D/2DD etc.); + - Remove kludge for POR bit in a20_ctrl_w fn; + - floppy sounds never silences when drive is idle (disabled for the time being); + + TODO (PC-9801F) + - kanji port 0xa9 readback is broken for several games (balpower, lovelyho). TODO (PC-9801RS): - - extra features; - - keyboard shift doesn't seem to disable properly; + - several unemulated extra f/f features; + - keyboard shift doesn't seem to disable properly (fixed by now?); + - Several games hangs with stuck note by misfired/not catched up -26 / -86 irq; - clean-up duplicate code; TODO (PC-9821): - fix CPU for some clones; - "cache error" - - undumped IDE ROM, kludged to work - - Compatibility is untested; + - undumped IDE ROM, kludged to work; TODO (PC-9821AS) - IPL ROM banking contradicts greatly from the other machines; - TODO: (PC-486MU) - - Tries to read port C of i8255_sys (-> 0x35) at boot without setting up the control - port. This causes a jump to invalid program area; - - Dies on ARTIC check; - - Presumably one ROM is undumped? + TODO (PC-386M): + - "ERR:BR" at boot (BIOS loader error). + Executes some code in text VRAM area (PC=$a006e), trying to setup a writeable RAM bank + (shadow RAM even?) to IPL window, I/O $c06 seems to be the control port for it; + + TODO: (PC-486SE/PC-486MU): + - Verify ROM bankswitch; + On PC-486SE sets up what is normally IPL bankswitch at PC=0xf5115, successive opcode + is a jmp 0xf8000, pretty unlikely it delays bankswitch so assume it reloads + the same bank. + - Fix POR/ROM bankswitch on soft resets. + - Eventually errors with a ERR:VR (GFX VRAM); TODO: (PC-9821AP) - - No way to exit the initial loop. Code looks broken/bad dump? - - floppy issues TODO (* denotes actually fixed, to be moved into specific sheet) - - 46okunen (DOS not booting / disk swap); - * ckrynn - - aishogi: (asserts upon loading, 3'5 image?) - - akitsuka: (works in PC-9801RS only) - * alice - * genghis - * arcshu - * arcus2 - * artjigs1 / artjigs2 / artjigs3 - * Atlantia (disk swap?) - - azusa108 (disk i/o error) - * bacta2 - - btech (disk swap?) - - baycity - - beast (keeps reading command sense) - * beast2 - * bellsave (disk swap? select B on config menu) - * biblems2 (at new game loading) - * birdywld - - * Bokosuka Wars - * jangou2: floppy fails to load after the title screen; - - runners (size assert) - - Sorcerian (2dd image) - - Twilight Zone 3 (2dd image) - - List of per-game TODO: - - 4dboxing: inputs are unresponsive; - - 4dboxing: crashes after user disk creation (regression); - - agumixsl: non-interlace mode doesn't resize graphics, has rectangle selection bugs (note: needs GDC = 5 MHz to boot); - - agenesis: fails loading, attempting to read IDE RAM switch port; - - alice: doesn't set bitmap interlace properly, can't do disk swaps via the File Manager; - - applecl1: can't pass hands apparently; - - arctic, fsmoon: Doesn't detect sound board (tied to 0x00ec ports); - - arcus2: has intro glitches; - - artjigs*: some text doesn't appear? Namely under the puzzles and when you clear one; - - atragon: HDD install disk swap doesn't work? - - asokokof: black screen with BGM, executes invalid opcode (previous note "waits at 0x225f6"); - - arquelph: beeps out at initial sound check, no voice samples, extra sound board tested; - - akitsuka: could not setup "initial data" (regression); - - bandkun: can't install to HDD, has unemulated sound boards in settings (Roland MT-32 & D-10/D-110, Kawai MSB-98, Korg M1, MIDI); - - biblems2: initial GLODIA logo uses raster effects? - - bishohzx: Soft House logo uses pseudo-ROZ effect (?), no title screen graphics? - - bishotsu: beeps out before game (missing sound board?), doesn't draw some text? - - - deflektr: no sound, moans about a DIP-SW setting during loading, has timing issues (keyboard being too fast on PC-9801RS); - - edge: has gfx glitch when intro scrolls to top-left; - - edge: user disk creation screen is offset? - - idolsaga: Moans with a "(program) ended. remove the floppy disk and turn off the power." - - karateka: no sound; - - lovelyho: Doesn't show kanjis in PC-9801F version (tries to read them thru the 0xa9 port); - - madoum1, madoum2, madoum3: doesn't display bitmap gfxs during gameplay; - - quarth: sound cuts off at title screen, doesn't work on 9801rs (bogus "corrupt .exe" detected); - - prinmak2, tim: cursor stays stuck when using mouse (works with keyboard); - - puyopuyo: beeps out when it's supposed to play samples, Not supposed to use ADPCM, is it a PIT issue? - - runners: wrong double height on the title screen; - - rusty: black stripes when scrolling; - - rusty: voice pitches are too slow (tested with -26 and -86); - - win211: EGC drawing issue (byte wide writes?) - - win31: doesn't boot at - - per-game TODO (Dounjishi SW): - - Absolutely Mahjong: Transitions are too fast. - - per-game TODO (PC-9821): - - Battle Skin Panic: gfx bugs at the Gainax logo, it crashes after it; - - Policenauts: CD-ROM drive not found; - - Notes: - - annivers: GRPH (ALT) key cycles through different color schemes (normal, b&w, legacy); - - Animahjong V3 makes advantage of the possibility of installing 2 sound boards, where SFX and BGMs are played on separate chips. - - Apple Club 1/2 needs data disks to load properly; - - Beast Lord: needs a titan.fnt, in MS-DOS - - fhtag2: product key is 001J0283TA 100001 - - To deprotect BASIC modules set 0xcd7 in ram to 0 - -======================================================================================== + - No way to exit the initial loop. Code looks broken, bad dump? + + TODO: (PC-9821Xa16/PC-9821Ra20/PC-9821Ra333) + - "MICON ERROR" at POST (generic HW fault, PCI?); + +=================================================================================================== This series features a huge number of models released between 1982 and 1997. They were not IBM PC-compatible, but they had similar hardware (and software: in the @@ -302,6 +240,8 @@ For more info (e.g. optional hardware), see http://www.geocities.jp/retro_zzz/machines/nec/9801/mdl98cpu.html + Epson Series + http://www.pc-9800.net/db_epson/desk_index.htm PC-9821 Series @@ -312,7 +252,7 @@ PC-9821Es (1994) - aka 98FINE, desktop computer with integrated LCD, successor of the PC-98T PC-9821X series (1994->1995) - aka 98MATE X, desktop computers, Pentium based PC-9821V series (1995) - aka 98MATE Valuestar, desktop computers, Pentium based - PC-9821S series (1995->2996) - aka 98Pro, tower computers, PentiumPro based + PC-9821S series (1995->1996) - aka 98Pro, tower computers, PentiumPro based PC-9821R series (1996->2000) - aka 98MATE R, desktop & tower & server computers, various CPU PC-9821C200 (1997) - aka CEREB, desktop computer, Pentium MMX based PC-9821 Ne/Ns/Np/Nm (1993->1995) - aka 98NOTE, laptops, 486 based @@ -387,7 +327,7 @@ Keyboard TX commands: 0x9d keyboard LED settings 0x9f keyboard ID -****************************************************************************************************/ +**************************************************************************************************/ #include "emu.h" #include "includes/pc9801.h" @@ -984,10 +924,12 @@ void pc9801_state::pc9801rs_a0_w(offs_t offset, uint8_t data) case 0x0e: m_analog16.b[m_analog16.pal_entry] = data & 0xf; break; } - m_palette->set_pen_color((m_analog16.pal_entry)+0x10, - pal4bit(m_analog16.r[m_analog16.pal_entry]), - pal4bit(m_analog16.g[m_analog16.pal_entry]), - pal4bit(m_analog16.b[m_analog16.pal_entry])); + m_palette->set_pen_color( + m_analog16.pal_entry + 0x10, + pal4bit(m_analog16.r[m_analog16.pal_entry]), + pal4bit(m_analog16.g[m_analog16.pal_entry]), + pal4bit(m_analog16.b[m_analog16.pal_entry]) + ); return; } @@ -1175,10 +1117,12 @@ void pc9801_state::pc9821_a0_w(offs_t offset, uint8_t data) case 0x0e: m_analog256.b[m_analog256.pal_entry] = data & 0xff; break; } - m_palette->set_pen_color((m_analog256.pal_entry)+0x20, - m_analog256.r[m_analog256.pal_entry], - m_analog256.g[m_analog256.pal_entry], - m_analog256.b[m_analog256.pal_entry]); + m_palette->set_pen_color( + m_analog256.pal_entry + 0x20, + m_analog256.r[m_analog256.pal_entry], + m_analog256.g[m_analog256.pal_entry], + m_analog256.b[m_analog256.pal_entry] + ); return; } @@ -1673,10 +1617,10 @@ static INPUT_PORTS_START( pc9801 ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("MOUSE_X") - PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_RESET PORT_SENSITIVITY(30) PORT_KEYDELTA(30) + PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_START("MOUSE_Y") - PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_RESET PORT_SENSITIVITY(30) PORT_KEYDELTA(30) + PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_START("MOUSE_B") PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -1938,20 +1882,45 @@ void pc9801_state::ppi_sys_portc_w(uint8_t data) m_beeper->set_state(!(data & 0x08)); } +/* + * Mouse 8255 I/F + * + * Port A: + * x--- ---- LEFT mouse button + * -x-- ---- MIDDLE mouse button + * \- Undocumented, most PC98 mice don't have it + * --x- ---- RIGHT mouse button + * ---? ---- <unused> + * ---- xxxx MD3-0 mouse direction latch + * + * Port C: + * + * x--- ---- HC Latch Mode (1=read latch, 0=read delta) + * \- on 0->1 transition reset delta + * -x-- ---- SXY Axis select (1=Y 0=X) + * --x- ---- SHL Read nibble select (1) upper (0) lower + * ---x ---- INT # (1) disable (0) enable + * + * Reading Port B and Port C low nibble are misc DIPSW selectors, + * their meaning diverges on XA/XL/RL classes vs. the rest. + * + */ + uint8_t pc9801_state::ppi_mouse_porta_r() { - uint8_t res; - uint8_t isporthi; - const char *const mousenames[] = { "MOUSE_X", "MOUSE_Y" }; - - res = ioport("MOUSE_B")->read() & 0xf0; - isporthi = ((m_mouse.control & 0x20) >> 5)*4; + uint8_t res = ioport("MOUSE_B")->read() & 0xf0; + const uint8_t isporthi = ((m_mouse.control & 0x20) >> 5)*4; - if((m_mouse.control & 0x80) == 0) - res |= ioport(mousenames[(m_mouse.control & 0x40) >> 6])->read() >> (isporthi) & 0xf; + if ((m_mouse.control & 0x80) == 0) + { + if (m_mouse.control & 0x40) + res |= (m_mouse.dy >> isporthi) & 0xf; + else + res |= (m_mouse.dx >> isporthi) & 0xf; + } else { - if(m_mouse.control & 0x40) + if (m_mouse.control & 0x40) res |= (m_mouse.ly >> isporthi) & 0xf; else res |= (m_mouse.lx >> isporthi) & 0xf; @@ -1973,10 +1942,24 @@ void pc9801_state::ppi_mouse_portb_w(uint8_t data) void pc9801_state::ppi_mouse_portc_w(uint8_t data) { - if((m_mouse.control & 0x80) == 0 && data & 0x80) + // fsmoon: 0x00 -> 0x80 -> 0xa0 -> 0xc0 -> 0xf0 + // (read latch as relative) + // prinmak2: 0x00 -> 0x20 -> 0x40 -> 0x60 -> 0x60 + // (keeps reading "delta" but never reset it, absolute mode) + // biblems2: 0x0f -> 0x2f -> 0x4f -> 0x6f -> 0xef + // (latches a delta reset then reads delta diff, relative mode) + + const u8 mouse_x = ioport("MOUSE_X")->read(); + const u8 mouse_y = ioport("MOUSE_Y")->read(); + m_mouse.dx = (mouse_x - m_mouse.prev_dx) & 0xff; + m_mouse.dy = (mouse_y - m_mouse.prev_dy) & 0xff; + + if ((m_mouse.control & 0x80) == 0 && data & 0x80) { - m_mouse.lx = ioport("MOUSE_X")->read(); - m_mouse.ly = ioport("MOUSE_Y")->read(); + m_mouse.lx = m_mouse.dx & 0xff; + m_mouse.ly = m_mouse.dy & 0xff; + m_mouse.prev_dx = mouse_x; + m_mouse.prev_dy = mouse_y; } m_mouse.control = data; @@ -2135,6 +2118,7 @@ MACHINE_RESET_MEMBER(pc9801_state,pc9801_common) m_mouse.control = 0xff; m_mouse.freq_reg = 0; m_mouse.freq_index = 0; + m_mouse.lx = m_mouse.ly = m_mouse.prev_dx = m_mouse.prev_dy = m_mouse.dx = m_mouse.dy = 0; m_dma_autoinc[0] = m_dma_autoinc[1] = m_dma_autoinc[2] = m_dma_autoinc[3] = 0; memset(&m_egc, 0, sizeof(m_egc)); } @@ -2233,6 +2217,13 @@ void pc9801_state::pc9801_keyboard(machine_config &config) m_keyb->irq_wr_callback().set(m_pic1, FUNC(pic8259_device::ir1_w)); } +void pc9801_state::pc9801_pit_clock(machine_config &config, const XTAL clock) +{ + m_pit8253->set_clk<0>(clock); + m_pit8253->set_clk<1>(clock); + m_pit8253->set_clk<2>(clock); +} + void pc9801_state::pc9801_mouse(machine_config &config) { i8255_device &ppi_mouse(I8255(config, "ppi8255_mouse")); @@ -2436,7 +2427,6 @@ void pc9801_state::pc9801(machine_config &config) PALETTE(config, m_palette, FUNC(pc9801_state::pc9801_palette), 16); } - void pc9801_state::pc9801rs(machine_config &config) { I386SX(config, m_maincpu, MAIN_CLOCK_X1*8); // unknown clock. @@ -2499,6 +2489,8 @@ void pc9801_state::pc9801bx2(machine_config &config) MCFG_MACHINE_START_OVERRIDE(pc9801_state, pc9801bx2) } +// TODO: setter for DMAC clock should follow up whatever is the CPU clock + void pc9801_state::pc9821(machine_config &config) { pc9801rs(config); @@ -2542,12 +2534,96 @@ void pc9801_state::pc9821ap2(machine_config &config) void pc9801_state::pc9821v20(machine_config &config) { pc9821(config); - PENTIUM(config.replace(), m_maincpu, 32000000); // unknown clock + PENTIUM(config.replace(), m_maincpu, 32000000); // unknown clock, definitely not 32 MHz + m_maincpu->set_addrmap(AS_PROGRAM, &pc9801_state::pc9821_map); + m_maincpu->set_addrmap(AS_IO, &pc9801_state::pc9821_io); + m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); +} + +void pc9801_state::pc9821xa16(machine_config &config) +{ + pc9821(config); + PENTIUM(config.replace(), m_maincpu, 166000000); // Pentium P54C + m_maincpu->set_addrmap(AS_PROGRAM, &pc9801_state::pc9821_map); + m_maincpu->set_addrmap(AS_IO, &pc9801_state::pc9821_io); + m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); +} + +void pc9801_state::pc9821ra20(machine_config &config) +{ + pc9821(config); + PENTIUM_PRO(config.replace(), m_maincpu, XTAL(200'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &pc9801_state::pc9821_map); + m_maincpu->set_addrmap(AS_IO, &pc9801_state::pc9821_io); + m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); +} + +void pc9801_state::pc9821ra333(machine_config &config) +{ + pc9821(config); + const double xtal = 333000000; + PENTIUM2(config.replace(), m_maincpu, xtal); // actually a Celeron m_maincpu->set_addrmap(AS_PROGRAM, &pc9801_state::pc9821_map); m_maincpu->set_addrmap(AS_IO, &pc9801_state::pc9821_io); m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); + + // 128KB CPU cache RAM + // Trident TGUI9682XGi + integrated 98 gfx card + // 3x cbus + 2x PCI slots + // 6GB HDD + // built-in ethernet 100BASE-TX/10BASE-T + +} + +// Epson clones +// TODO: definitely runs on their own state machine +// (verify if for instance they need EGC and what kind of FM board they needs up) + +void pc9801_state::pc386m(machine_config &config) +{ + pc9801rs(config); +// I386SX(config.replace(), m_maincpu, 16000000); // i386SX 16MHz, switchable to 10/6 MHz +// m_maincpu->set_addrmap(AS_PROGRAM, &pc9801_state::pc9801rs_map); +// m_maincpu->set_addrmap(AS_IO, &pc9801_state::pc9801rs_io); +// m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); + // RAM: 640KB + 14.6MB max + // 2 3.5 floppy drives + // ... +} + +void pc9801_state::pc486se(machine_config &config) +{ + pc9821(config); + const XTAL xtal = XTAL(25'000'000); + I486(config.replace(), m_maincpu, xtal); // i486SX, switchable to 10/5 MHz, supports overdrive + m_maincpu->set_addrmap(AS_PROGRAM, &pc9801_state::pc9821_map); + m_maincpu->set_addrmap(AS_IO, &pc9801_state::pc9821as_io); + m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); + + pc9801_pit_clock(config, xtal/8); // unknown, passes "ERR:TM" test + + // RAM: 1.6 MB (!) + 17.6 max + // "dedicated internal memory slot x 1" + // "dedicated video board" slot } +void pc9801_state::pc486mu(machine_config &config) +{ + pc9821(config); + const XTAL xtal = XTAL(33'000'000); + I486(config.replace(), m_maincpu, xtal); // i486SX, switchable to I386DX 10MHz/5MHz, Pentium ODP compatible + m_maincpu->set_addrmap(AS_PROGRAM, &pc9801_state::pc9821_map); + m_maincpu->set_addrmap(AS_IO, &pc9801_state::pc9821as_io); + m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); + + pc9801_pit_clock(config, xtal/8); // unknown, passes "ERR:TM" test + + // CL-GD5428 + // RAM: 5.6 + 61.6MB max + // 2 x 3.5 floppy drives +} + + /* took from "raw" memory dump, uncomment ROM_FILL if you want to play with it */ #define LOAD_IDE_ROM \ ROM_REGION( 0x4000, "ide", ROMREGION_ERASEVAL(0xcb) ) \ @@ -2649,7 +2725,7 @@ ROM_START( pc9801rs ) ROM_LOAD( "itf_rs.rom", 0x10000, 0x08000, CRC(c1815325) SHA1(a2fb11c000ed7c976520622cfb7940ed6ddc904e) ) ROM_LOAD( "bios_rs.rom", 0x18000, 0x18000, BAD_DUMP CRC(315d2703) SHA1(4f208d1dbb68373080d23bff5636bb6b71eb7565) ) - /* following is an emulator memory dump, should be checked and nuked */ + /* following is an emulator memory dump, should be checked and eventually nuked if nothing worth is there */ ROM_REGION( 0x100000, "memory", 0 ) ROM_LOAD( "00000.rom", 0x00000, 0x8000, CRC(6e299128) SHA1(d0e7d016c005cdce53ea5ecac01c6f883b752b80) ) ROM_LOAD( "c0000.rom", 0xc0000, 0x8000, CRC(1b43eabd) SHA1(ca711c69165e1fa5be72993b9a7870ef6d485249) ) // 0xff everywhere @@ -2669,7 +2745,7 @@ ROM_END /* BX2/U2 - 486SX - (should be 33, but "dumper" note says it's 25 MHz) -Yet another franken-dump done with a lame program, shrug +Yet another franken-romset done with direct memory dump, shrug */ @@ -2812,7 +2888,8 @@ ROM_START( pc9821ap2 ) ROM_SYSTEM_BIOS(1, "phd0102", "PHD0102") ROMX_LOAD( "phd0102.rom", 0x000000, 0x80000, CRC(3036774c) SHA1(59856a348f156adf5eca06326f967aca54ff871c), ROM_BIOS(1) ) - ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) // TODO: identify ROM banks + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) + // TODO: identify ROM banks ROM_COPY( "biosrom", 0x20000, 0x10000, 0x08000 ) ROM_COPY( "biosrom", 0x30000, 0x18000, 0x18000 ) @@ -2841,53 +2918,115 @@ ROM_START( pc9821ne ) ROM_END /* -Epson PC-486MU - 486 based, unknown clock +98MULTi Ce2 - 80486SX 25 */ -ROM_START( pc486mu ) +ROM_START( pc9821ce2 ) ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) - ROM_LOAD( "bios_486mu.rom", 0x00000, 0x18000, BAD_DUMP CRC(57b5d701) SHA1(15029800842e93e07615b0fd91fb9f2bfe3e3c24)) - ROM_RELOAD( 0x18000, 0x18000 ) // missing rom? + ROM_LOAD( "itf_ce2.rom", 0x10000, 0x008000, CRC(273e9e88) SHA1(9bca7d5116788776ed0f297bccb4dfc485379b41) ) + ROM_LOAD( "bios_ce2.rom", 0x18000, 0x018000, BAD_DUMP CRC(76affd90) SHA1(910fae6763c0cd59b3957b6cde479c72e21f33c1) ) ROM_REGION( 0x80000, "chargen", 0 ) - ROM_LOAD( "font_486mu.rom", 0x0000, 0x46800, CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff)) + ROM_LOAD( "font_ce2.rom", 0x00000, 0x046800, BAD_DUMP CRC(d1c2702a) SHA1(e7781e9d35b6511d12631641d029ad2ba3f7daef) ) LOAD_KANJI_ROMS LOAD_IDE_ROM ROM_END /* -98MULTi Ce2 - 80486SX 25 +98MATE X - 486/Pentium based */ -ROM_START( pc9821ce2 ) +ROM_START( pc9821xs ) ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) - ROM_LOAD( "itf_ce2.rom", 0x10000, 0x08000, CRC(273e9e88) SHA1(9bca7d5116788776ed0f297bccb4dfc485379b41) ) - ROM_LOAD( "bios_ce2.rom", 0x18000, 0x018000, BAD_DUMP CRC(76affd90) SHA1(910fae6763c0cd59b3957b6cde479c72e21f33c1) ) + ROM_LOAD( "itf.rom", 0x10000, 0x008000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) + ROM_LOAD( "bios_xs.rom", 0x18000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) ROM_REGION( 0x80000, "chargen", 0 ) - ROM_LOAD( "font_ce2.rom", 0x000000, 0x046800, CRC(d1c2702a) SHA1(e7781e9d35b6511d12631641d029ad2ba3f7daef) ) + ROM_LOAD( "font_xs.rom", 0x00000, 0x046800, BAD_DUMP CRC(c9a77d8f) SHA1(deb8563712eb2a634a157289838b95098ba0c7f2) ) LOAD_KANJI_ROMS LOAD_IDE_ROM ROM_END + /* -98MATE X - 486/Pentium based +9821Xa16 + +Pentium P54C @ 166 +32MB +3.5"2DD/2HDx1, 8xCD-ROM +CBus: 3 slots + */ -ROM_START( pc9821xs ) +ROM_START( pc9821xa16 ) + ROM_REGION16_LE( 0x40000, "biosrom", ROMREGION_ERASEFF ) + ROM_LOAD( "pc-9821xa16_g8yewa_a1_wsg8b01_ab28f200b5-t.bin", 0x00000, 0x040000, CRC(f99c8ce2) SHA1(2bc328d2c496046f6f4f39b0637e90b713a63155) ) // SOP44 + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) - ROM_LOAD( "itf.rom", 0x10000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) - ROM_LOAD( "bios_xs.rom", 0x18000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) + // TODO: all of the 256k space seems valid + ROM_COPY( "biosrom", 0x28000, 0x00000, 0x18000 ) + ROM_COPY( "biosrom", 0x00000, 0x18000, 0x18000 ) ROM_REGION( 0x80000, "chargen", 0 ) - ROM_LOAD( "font_xs.rom", 0x000000, 0x046800, BAD_DUMP CRC(c9a77d8f) SHA1(deb8563712eb2a634a157289838b95098ba0c7f2) ) + ROM_LOAD( "font.rom", 0x00000, 0x46800, BAD_DUMP CRC(a61c0649) SHA1(554b87377d176830d21bd03964dc71f8e98676b1) ) LOAD_KANJI_ROMS LOAD_IDE_ROM ROM_END +/* +pc-9821Ra20 (98MATE R) + +Pentium Pro @ 200 +32MB +3.5"2DD/2HDx1, 8xCD-ROM +CBus: 3 slots +*/ + +ROM_START( pc9821ra20 ) + ROM_REGION16_LE( 0x40000, "biosrom", ROMREGION_ERASEFF ) + ROM_LOAD( "g8wtp_a13_wtp8b01_ab28f200b5-t.bin", 0x00000, 0x040000, CRC(cd3acc5c) SHA1(746490d7f3d8d0e8df865315adaaae65f3fd0425) ) // SOP44 + + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) + // TODO: all of the 256k space seems valid + ROM_COPY( "biosrom", 0x28000, 0x00000, 0x18000 ) + ROM_COPY( "biosrom", 0x00000, 0x18000, 0x18000 ) + + ROM_REGION( 0x80000, "chargen", 0 ) + ROM_LOAD( "font.rom", 0x00000, 0x46800, BAD_DUMP CRC(a61c0649) SHA1(554b87377d176830d21bd03964dc71f8e98676b1) ) + + LOAD_KANJI_ROMS + LOAD_IDE_ROM +ROM_END + +/* +pc-9821Ra333 (98MATE R) + +Celeron @ 333 +32MB, max 256 MB (ECC EDO RAM) +3.5x1, 24xCD-ROM +CBus: 3 slots, PCI: 2 slots +*/ + + +ROM_START( pc9821ra333 ) + ROM_REGION16_LE( 0x40000, "biosrom", ROMREGION_ERASEFF ) + ROM_LOAD( "g8ykkw.bin", 0x00000, 0x040000, CRC(c605ef31) SHA1(3779aed757f21eb75093c1bfcbf18a232c198ee6) ) + + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) + // TODO: all of the 256k space seems valid + ROM_COPY( "biosrom", 0x28000, 0x00000, 0x18000 ) + ROM_COPY( "biosrom", 0x00000, 0x18000, 0x18000 ) + + ROM_REGION( 0x80000, "chargen", 0 ) + ROM_LOAD( "font.rom", 0x00000, 0x46800, BAD_DUMP CRC(a61c0649) SHA1(554b87377d176830d21bd03964dc71f8e98676b1) ) + + LOAD_KANJI_ROMS + LOAD_IDE_ROM +ROM_END + /* 98MATE VALUESTAR - Pentium based @@ -2899,7 +3038,7 @@ ROM_START( pc9821v13 ) ROM_LOAD( "bios_v13.rom", 0x18000, 0x18000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) ROM_REGION( 0x80000, "chargen", 0 ) - ROM_LOAD( "font_a.rom", 0x00000, 0x46800, BAD_DUMP CRC(c9a77d8f) SHA1(deb8563712eb2a634a157289838b95098ba0c7f2) ) + ROM_LOAD( "font_a.rom", 0x00000, 0x46800, BAD_DUMP CRC(c9a77d8f) SHA1(deb8563712eb2a634a157289838b95098ba0c7f2) ) LOAD_KANJI_ROMS LOAD_IDE_ROM @@ -2915,13 +3054,91 @@ ROM_START( pc9821v20 ) ROM_LOAD( "bios_v20.rom", 0x18000, 0x18000, BAD_DUMP CRC(d5d1f13b) SHA1(bf44b5f4e138e036f1b848d6616fbd41b5549764) ) ROM_REGION( 0x80000, "chargen", 0 ) - ROM_LOAD( "font_v20.rom", 0x000000, 0x046800, BAD_DUMP CRC(6244c4c0) SHA1(9513cac321e89b4edb067b30e9ecb1adae7e7be7) ) + ROM_LOAD( "font_v20.rom", 0x00000, 0x046800, BAD_DUMP CRC(6244c4c0) SHA1(9513cac321e89b4edb067b30e9ecb1adae7e7be7) ) LOAD_KANJI_ROMS LOAD_IDE_ROM ROM_END +/* +Epson PC-386M +i386SX-16 @ 16 +1MB +3.5"2DD/2HDx2 +CBus: 3slots +*/ + +ROM_START( pc386m ) + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) + ROM_LOAD( "cwma-a02.bin", 0x10000, 0x08000, CRC(d2c357a4) SHA1(819c9a1fc92124a8d6a85339c74651add7efaf92) ) + ROM_CONTINUE( 0x18000, 0x18000 ) + + ROM_REGION( 0x80000, "chargen", 0 ) + ROM_LOAD( "font_486mu.rom", 0x0000, 0x46800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff)) + + LOAD_KANJI_ROMS + LOAD_IDE_ROM +ROM_END + +/* +Epson PC-486SE + +i486SX @ 25 MHz +1.6 MB of conventional memory (???) +17.6 MB +CBus: 2slots +*/ + +ROM_START( pc486se ) + ROM_REGION16_LE( 0x20000, "biosrom", ROMREGION_ERASEFF ) + ROM_LOAD( "1699ma_cw99-a03.bin", 0x00000, 0x20000, CRC(f03df711) SHA1(88614746e01c7d3cff9f3b8ce0a598830a77d1dc) ) + + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) + // this looks convoluted + ROM_COPY( "biosrom", 0x08000, 0x00000, 0x08000 ) // tests this area at PC=0xf5149 + ROM_COPY( "biosrom", 0x00000, 0x10000, 0x08000 ) + ROM_COPY( "biosrom", 0x10000, 0x08000, 0x08000 ) +// ROM_FILL( 0x18000, 0x08000, 0x90) // untested by BIOS + ROM_COPY( "biosrom", 0x10000, 0x20000, 0x08000 ) // PC=f5113 bankswitch into same area, correct? + ROM_COPY( "biosrom", 0x18000, 0x28000, 0x08000 ) + + ROM_REGION( 0x80000, "chargen", 0 ) + ROM_LOAD( "font_486mu.rom", 0x0000, 0x46800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff)) + + LOAD_KANJI_ROMS + LOAD_IDE_ROM +ROM_END + +/* +Epson PC-486MU +i486SX-33 @ 33 +8MB RAM +3.5'2DD/2HDx2, 2xCD-ROM +CBus: 3 slots +*/ + +ROM_START( pc486mu ) + ROM_REGION16_LE( 0x20000, "biosrom", ROMREGION_ERASEFF ) + ROM_LOAD( "pc-486mu_hn27c1024.bin", 0x00000, 0x20000, CRC(113268e1) SHA1(2a630abc825b2808f9f8fb65c6cb1fb7e7f6c710)) +// ROM_LOAD( "bios_486mu.rom", 0x00000, 0x18000, BAD_DUMP CRC(57b5d701) SHA1(15029800842e93e07615b0fd91fb9f2bfe3e3c24)) + + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) + // backported from pc486se + ROM_COPY( "biosrom", 0x08000, 0x00000, 0x08000 ) + ROM_COPY( "biosrom", 0x00000, 0x10000, 0x08000 ) + ROM_COPY( "biosrom", 0x10000, 0x08000, 0x08000 ) +// ROM_FILL( 0x18000, 0x08000, 0x90) // untested by BIOS + ROM_COPY( "biosrom", 0x10000, 0x20000, 0x08000 ) + ROM_COPY( "biosrom", 0x18000, 0x28000, 0x08000 ) + + + ROM_REGION( 0x80000, "chargen", 0 ) + ROM_LOAD( "font_486mu.rom", 0x0000, 0x46800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff)) + + LOAD_KANJI_ROMS + LOAD_IDE_ROM +ROM_END void pc9801_state::init_pc9801_kanji() { @@ -3055,22 +3272,65 @@ void pc9801_state::init_pc9801vm_kanji() } } -/* Genuine dumps */ -COMP( 1983, pc9801f, 0, 0, pc9801, pc9801, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801F", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1985, pc9801vm, pc9801ux, 0, pc9801vm, pc9801rs, pc9801_state, init_pc9801vm_kanji, "NEC", "PC-9801VM", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +// For simpilicity's sake we arbitrarily group those with whatever romset came first historically. +// This is also repeated in SW list reports: you'd have to use an "On RS class xxx" format to indicate a bug report +// specifically happening for a family group. This will be hopefully put into stone with driver splits at some point in future. + +// "vanilla" class (i86, E/F/M) +COMP( 1983, pc9801f, 0, 0, pc9801, pc9801, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801F", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) // genuine dump -/* TODO: ANYTHING below there needs REDUMPING! */ -COMP( 1989, pc9801rs, 0, 0, pc9801rs, pc9801rs, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801RS", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) //TODO: not sure about the exact model +// N5200 (started as a vanilla PC-98 business line derivative, eventually diverged into its own thing and incorporated various Hyper 98 features. Runs proprietary PTOS) +// APC III (US version of either vanilla PC9801 or N5200, aimed at business market. Runs MS-DOS 2.11/3.xx or PC-UX) +// ... + +// VM class (V30 and/or i286) +COMP( 1985, pc9801vm, pc9801ux, 0, pc9801vm, pc9801rs, pc9801_state, init_pc9801vm_kanji, "NEC", "PC-9801VM", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) // genuine dump COMP( 1985, pc9801vm11, pc9801ux, 0, pc9801vm, pc9801rs, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801VM11", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) COMP( 1987, pc9801ux, 0, 0, pc9801ux, pc9801rs, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801UX", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) + +// VX class (first model using an EGC) +// ... + +// XA/XL class (1120 x 750 true color, nicknamed "High-reso") +// ... + +// PC-H98 (Hyper 98, '90-'93 high end line with High-reso, proprietary NESA bus, E²GC) +// PC-H98T (LCD Hyper 98) +// SV-H98 (Later Hyper 98 revision, up to Pentium CPU) +// ... + +// RS class (i386SX) COMP( 1988, pc9801rx, pc9801rs, 0, pc9801rs, pc9801rs, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801RX", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1989, pc9801rs, 0, 0, pc9801rs, pc9801rs, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801RS", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +// FA class (i486SX) COMP( 1993, pc9801bx2, pc9801rs, 0, pc9801bx2, pc9801rs, pc9801_state, init_pc9801_kanji, "NEC", "PC-9801BX2/U2", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1994, pc9821, 0, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) //TODO: not sure about the exact model -COMP( 1993, pc9821as, pc9821, 0, pc9821as, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1993, pc9821ap2, pc9821, 0, pc9821ap2, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821AP2/U8W (98MATE A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1994, pc9821xs, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE Xs)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1994, pc9821ce2, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MULTi Ce2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1994, pc9821ne, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98NOTE)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1994, pc486mu, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "Epson", "PC-486MU", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) -COMP( 1998, pc9821v13, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE VALUESTAR 13)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) -COMP( 1998, pc9821v20, pc9821, 0, pc9821v20, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE VALUESTAR 20)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) + +// PC-98GS (Multimedia PC, exclusive video mode "Extended Screen Graphics", -73 sound board (a superset of later -86), superimposition) +// ... + +// Epson class +COMP( 1990, pc386m, 0, 0, pc386m, pc9801rs, pc9801_state, init_pc9801_kanji, "Epson", "PC-386M", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1994, pc486mu, 0, 0, pc486mu, pc9821, pc9801_state, init_pc9801_kanji, "Epson", "PC-486MU", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1993, pc486se, pc486mu, 0, pc486se, pc9801rs, pc9801_state, init_pc9801_kanji, "Epson", "PC-486SE", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) + +// PC9821 class +// TODO: unknown real model of parent, given the BIOS rom size wrt the others it may be better suited as a "98Multi" or even a FA class? +// investigate by making genuine BIOS dumps to boot +COMP( 1994, pc9821, 0, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1993, pc9821as, pc9821, 0, pc9821as, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1993, pc9821ap2, pc9821, 0, pc9821ap2, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821AP2/U8W (98MATE A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1994, pc9821xs, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE Xs)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1994, pc9821ce2, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MULTi Ce2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1994, pc9821ne, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98NOTE)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1996, pc9821xa16, pc9821, 0, pc9821xa16, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821Xa16", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1996, pc9821ra20, pc9821, 0, pc9821ra20, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821Ra20 (98MATE R)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1998, pc9821ra333, pc9821, 0, pc9821ra333, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821Ra333 (98MATE R)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1998, pc9821v13, pc9821, 0, pc9821, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE VALUESTAR 13)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +COMP( 1998, pc9821v20, pc9821, 0, pc9821v20, pc9821, pc9801_state, init_pc9801_kanji, "NEC", "PC-9821 (98MATE VALUESTAR 20)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) + +// PC98DO (PC88+PC98, V33 + μPD70008AC) + +// PC-98LT (laptop b&w LCD version V50, no upd7220, just one single bitmap layer) +// PC-98HA aka HANDY98 (portable b&w LCD version, V50, apparently compatible with LT) +// RC-9801 (portable (color?) LCD, i386SX, wireless 9600bps modem) +// PC-9801P (LCD with light pen) diff --git a/src/mame/includes/pc88va.h b/src/mame/includes/pc88va.h index 947badce3ec..a1157b596cf 100644 --- a/src/mame/includes/pc88va.h +++ b/src/mame/includes/pc88va.h @@ -11,7 +11,7 @@ #ifndef MAME_INCLUDES_PC88VA_H #define MAME_INCLUDES_PC88VA_H -#include "cpu/nec/nec.h" +#include "cpu/nec/v5x.h" #include "cpu/z80/z80.h" #include "imagedev/floppy.h" #include "machine/am9517a.h" diff --git a/src/mame/includes/pc9801.h b/src/mame/includes/pc9801.h index 1824b01e9cf..e4d4e2e98d3 100644 --- a/src/mame/includes/pc9801.h +++ b/src/mame/includes/pc9801.h @@ -113,15 +113,27 @@ public: { } - void pc9821v20(machine_config &config); - void pc9801ux(machine_config &config); - void pc9801vm(machine_config &config); void pc9801(machine_config &config); - void pc9801bx2(machine_config &config); + + void pc9801vm(machine_config &config); + + void pc9801ux(machine_config &config); void pc9801rs(machine_config &config); + + void pc9801bx2(machine_config &config); + void pc9821(machine_config &config); void pc9821as(machine_config &config); void pc9821ap2(machine_config &config); + void pc9821xa16(machine_config &config); + void pc9821ra20(machine_config &config); + void pc9821ra333(machine_config &config); + void pc9821v20(machine_config &config); + + void pc386m(machine_config &config); + void pc486mu(machine_config &config); + void pc486se(machine_config &config); + DECLARE_CUSTOM_INPUT_MEMBER(system_type_r); void init_pc9801_kanji(); void init_pc9801vm_kanji(); @@ -129,6 +141,14 @@ public: protected: virtual void video_start() override; + void pc9801_keyboard(machine_config &config); + void pc9801_mouse(machine_config &config); + void pc9801_cbus(machine_config &config); + void pc9801_sasi(machine_config &config); + void pc9801_ide(machine_config &config); + void pc9801_common(machine_config &config); + void pc9801_pit_clock(machine_config &config, const XTAL clock); + private: static void cdrom_headphones(device_t *device); @@ -314,12 +334,6 @@ private: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t a20_286(bool state); - void pc9801_keyboard(machine_config &config); - void pc9801_mouse(machine_config &config); - void pc9801_cbus(machine_config &config); - void pc9801_sasi(machine_config &config); - void pc9801_ide(machine_config &config); - void pc9801_common(machine_config &config); void ipl_bank(address_map &map); void pc9801_common_io(address_map &map); void pc9801_io(address_map &map); @@ -370,8 +384,9 @@ private: struct{ uint8_t control; - uint8_t lx; - uint8_t ly; + uint8_t lx, ly; + uint8_t dx, dy; + uint8_t prev_dx, prev_dy; uint8_t freq_reg; uint8_t freq_index; }m_mouse; diff --git a/src/mame/mame.lst b/src/mame/mame.lst index c15b13f1729..ee13a666087 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -33624,21 +33624,26 @@ pc88va // pc88va2 // @source:pc9801.cpp +pc386m // pc486mu // +pc486se // 1993 pc9801bx2 // 1993 pc9801f // 1983 pc9801rs // 1989 pc9801rx // 1988 pc9801ux // 1987 pc9801vm // 1985 -pc9801vm11 +pc9801vm11 // pc9821 // pc9821ap2 // pc9821as // pc9821ce2 // pc9821ne // +pc9821ra20 // +pc9821ra333 // pc9821v13 // pc9821v20 // +pc9821xa16 // pc9821xs // @source:pcat_dyn.cpp |