{{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/pc98.svg?nolink&300 }} ====== NEC PC-9800 ====== The NEC PC-9800 (a.k.a. PC-9800シリーズ, Pī Shī Kyūsen Happyaku Shirīzu or just PC-98) is a family of 16/32-bit computers developed by NEC. The first model, the PC-9801, was released (mostly) exclusively in Japan on October 1982, and the last model was discontinued in 2003. Notable titles include [[wp>Daisenryaku|Daisenryaku]], [[wp>Romance_of_the_Three_Kingdoms_(video_game_series)|Romance of the Three Kingdoms]], 46 Okunen Monogatari: The Shinkaron, [[wp>Policenauts|Policenauts]] and the [[wp>Touhou_Project|Touhou Project]]. It's also home to a lot of a [[wp>D%C5%8Dky%C5%ABsei_(video_game)|certain kind]] of [[wp>Welcome_to_Pia_Carrot|visual novels]]. //[[wp>List_of_PC-98_games|A lot.]]// Check out the PC-98 [[wp>PC-9800_series#Models|model list on Wikipedia]]. Aimed at business use, in an ironic twist of events it became the dominant personal home PC in the Japanese market, with over 18 million units having being sold by 1999. It had a healthy homebrew scene (thanks in part to its completely free licensing scheme), with many game developers self-publishing games. Being an x86-based computer, it was technically possible to run a localized version of MS-DOS and thus Microsoft Windows, though demand for this particular feature wasn't too high. This system scrapes metadata for the "pc98" group and loads the ''pc98'' set from the currently selected theme, if available. {{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/consoles/pc98.png?nolink&350 |}} ==== Quick reference ==== * **Emulator:** [[#retroarch|RetroArch]] * **Core:** [[#libretro:_np2kai|libretro: np2kai]] * **Folder:** ''/userdata/roms/pc98'' * **Accepted ROM formats:** ''.d98'', ''.zip'', ''.98d'', ''.fdi'', ''.fdd'', ''.2hd'', ''.tfd'', ''.d88'', ''.88d'', ''.hdm'', ''.xdf'', ''.dup'', ''.cmd'', ''.hdi'', ''.thd'', ''.nhd'', ''.hdd'', ''.hdn'', ''.m3u'' ===== BIOS ===== Required BIOS files: ^ MD5 checksum ^ Share file path ^ Description ^ | ''e246140dec5124c5e404869a84caefce'' | ''bios/np2kai/BIOS.ROM'' | | | ''2af6179d7de4893ea0b705c00e9a98d6'' | ''bios/np2kai/FONT.ROM'' | Alternative font file | | ''caf90f22197aed6f14c471c21e64658d'' | ''bios/np2kai/SOUND.ROM'' | | | ''e9fc3890963b12cf15d0a2eea5815b72'' | ''bios/np2kai/ITF.ROM'' | | | ''7da1e5b7c482d4108d22a5b09631d967'' | ''bios/np2kai/font.bmp'' | A BMP of the raster font | Optional BIOS files: ^ MD5 checksum ^ Share file path ^ Description ^ | | ''bios/np2kai/bios9821.rom'' | PC-9821 BIOS | | | ''bios/np2kai/d8000.rom'' | | | | ''bios/np2kai/2608_BD.WAV'' | YM2608 RYTHM sample | | | ''bios/np2kai/2608_SD.WAV'' | YM2608 RYTHM sample | | | ''bios/np2kai/2608_TOP.WAV'' | YM2608 RYTHM sample | | | ''bios/np2kai/2608_HH.WAV'' | YM2608 RYTHM sample | | | ''bios/np2kai/2608_TOM.WAV'' | YM2608 RYTHM sample | | | ''bios/np2kai/2608_RIM.WAV'' | YM2608 RYTHM sample | ===== ROMs ===== Place your NEC PC-9800 ROMs in ''/userdata/roms/pc98''. Software for the PC-98 was delivered typically via floppy disk drives (you remember those, right?) which would then install their software onto the hard-drive. For this reason, PC-98 ROMs can come in either their original floppy disk image (to be installed) or the game data as it was post-installation (an image of the hard-drive). If given the choice, it is easier to work with hard-drive images. ==== Hard-drive images ==== Using hard-drive images is pretty simple, just load the single file and play. Batocera will take care of most of the configuration for you. List of formats PC-98 hard-drive images typically come in: * HDI * HDM * NHD * 2HD * and more... ==== Floppy disk images ==== These are harder to work with as they require all of the floppy disk images for that particular piece of software (typically, most software was distributed on multiple floppy disks due to their limited storage). How are these loaded? Need to test. List of formats PC-98 floppy disk images typically come in: * FDI * FDM * NFD * D88 * and more... ==== Raw CD images ==== These are rare but sometimes the only method available to rip the game at the time was to put all the raw data onto a CD image. Games in this format cannot be loaded by NPIIKai, and must be put into either a HDI by [[https://hp.vector.co.jp/authors/VA013937/editdisk/index_e.html|a PC-98 hard-disk image exploring tool]] or something else. todo: how to do this ===== Emulators ===== ==== RetroArch ==== [[https://docs.libretro.com/|RetroArch]] (formerly SSNES), is a ubiquitous frontend that can run multiple "cores", which are essentially the emulators themselves. The most common cores use the [[https://www.libretro.com/|libretro]] API, so that's why cores run in RetroArch in Batocera are referred to as "libretro: (core name)". RetroArch aims to unify the feature set of all libretro cores and offer a universal, familiar interface independent of platform. === RetroArch configuration === RetroArch offers a **Quick Menu** accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} which can be used to alter various things like [[:advanced_retroarch_settings|RetroArch and core options]], and [[:remapping_controls_per_emulator|controller mapping]]. Most RetroArch related settings can be altered from Batocera's EmulationStation. Standardized features available to all libretro cores: ''pc98.videomode'', ''pc98.ratio'', ''pc98.smooth'', ''pc98.shaders'', ''pc98.decoration'', ''pc98.game_translation'' ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ ^ Settings that apply to all cores of this emulator || | **GRAPHICS API ''pc98.gfxbackend''** | Choose which graphics API library to use. Vulkan is better, when supported.\\ => OpenGL ''opengl'', Vulkan ''vulkan''. | | **AUDIO LATENCY ''pc98.audio_latency''** | In milliseconds. Can reduce crackling/cutting out.\\ => 256 ''256'', 192 ''192'', 128 ''128'', 64 ''64'', 32 ''32'', 16 ''16'', 8 ''8''. | | **THREADED VIDEO ''pc98.video_threaded''** | Improves performance at the cost of latency and more video stuttering.\\ => On ''true'', Off ''false''. | === libretro: np2kai === [[https://domisan.sakura.ne.jp/article/np2kai/np2kai.html|Neko Project II Kai]] is a fork of the [[https://www.yui.ne.jp/np2/|original Neko Project II PC-98 emulator]]. Currently the definitive PC-98 emulator, in [[https://github.com/AZO234/NP2kai|libretro form]]. == libretro: np2kai configuration == ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ ^ Settings that apply to all systems this core supports || | **PC MODEL ''global.np2kai_model''** | \\ => PC-286 ''PC-286'', PC-9801VM ''PC-9801VM'', PC-9801VX ''PC-9801VX''. | | **CPU FEATURE ''global.np2kai_cpu_feature''** | Select the processor model.\\ => Intel 80386 ''Intel 80386'', Intel i486DX ''Intel i486DX'', Intel Pentium (MMX) ''Intel MMX Pentium'', Intel Pentium 2 ''Intel Pentium II'', Intel Pentium 3 ''Intel Pentium III'', Intel Pentium 4 ''Intel Pentium 4'', Neko Processor II ''Neko Processor II''. | | **OVERCLOCK MULTIPLIER ''global.np2kai_clk_mult''** | Most games work fine with overclock multipliers up to 42x. 32x is a more conservative setting. For certain games, it is really only feasible to use very low overclock multipliers as otherwise they run too fast.\\ => 2x ''2'', 4x ''4'', 5x ''5'', 6x (Recommended) ''6'', 8x ''8'', 10x ''10'', 12x ''12'', 16x ''16'', 20x ''20'', 24x ''24'', 30x ''30'', 36x ''36'', 40x ''40'', 42x ''42'', 52x ''52'', 64x ''64'', 76x ''76'', 88x ''88'', 100x ''100''. | | **EMULATED RAM SIZE ''global.np2kai_ExMemory''** | \\ => 1MB ''1'', 3MB ''2'', 7MB ''7'', 11MB ''11'', 13MB (Recommended) ''13'', 16MB ''16'', 32MB ''32'', 64MB ''64'', 120MB ''120'', 230MB ''230'', 512MB ''512'', 1024MB ''1024''. | | **GDC ''global.np2kai_gdc''** | Graphic Display Controller model. In order to change its clock speed, refer to its [[#gdc_clock|specific section]] below.\\ => uPD7220 ''uPD7220'', uPD72020 ''uPD72020''. | | **REMOVE SCANLINES ''global.np2kai_skipline''** | Some older games skipped drawing pixels every second line, resulting in stark scanlines. Enabling this setting stretches every second line to the next row, masking the scanlines. Do note that game designers would have designed their graphics with scanlines in mind, as the PC itself came with the monitor (and thus, was the standard). It is preferable to turn off scanlines here and instead simulate softer scanlines using RetroArch's shaders for a better effect. Action-oriented games (sprites that can move up and down) are typically fine with no scanlines whatsoever. Later games would render in higher resolutions, resulting in no scanlines.\\ => Full 255 lines ''Full 255 lines'', Off ''False'', On ''True''. | | **REAL PALETTES ''global.np2kai_realpal''** | Some games rely on this (Apros).\\ => Off ''False'', On ''True''. | | **SOUND BOARD ''global.np2kai_SNDboard''** | 26K for old games and 86K for newer games.\\ => None ''None'', PC9801-14 ''PC9801-14'', PC9801-26K ''PC9801-26K'', PC9801-26K + 86 ''PC9801-26K + 86'', PC9801-86 ''PC9801-86'', PC9801-86 + 118(B460) ''PC9801-86 + 118(B460)'', PC9801-86 + 118(B460) + Sound Blaster 16 ''PC9801-86 + 118(B460) + Sound Blaster 16'', PC9801-86 + Mate-X PCM(B460) ''PC9801-86 + Mate-X PCM(B460)'', PC9801-86 + Mate-X PCM(B460) + Sound Blaster 16 ''PC9801-86 + Mate-X PCM(B460) + Sound Blaster 16'', PC9801-86 + Chibi-oto ''PC9801-86 + Chibi-oto'', PC9801-86 + Speek Board ''PC9801-86 + Speak Board'', PC9801-86 + Sound Blaster 16 ''PC9801-86 + Sound Blaster 16'', PC9801-118 ''PC9801-118'', PC9801-118 + Sound Blaster 16 ''PC9801-118 + Sound Blaster 16'', AMD-98 ''AMD-98'', Chibi-oto ''Chibi-oto'', Sound Blaster 16 ''Sound Blaster 16'', Speak Board ''Speak Board'', Spark Board ''Spark Board'', Sound Orchestra ''Sound Orchestra'', Sound Orchestra-V ''Sound Orchestra-V'', Little Orchestra L ''Little Orchestra L'', Multimedia Orchestra ''Multimedia Orchestra'', Mate-X PCM(B460) ''Mate-X PCM'', Mate-X PCM + Sound Blaster 16 ''Mate-X PCM + Sound Blaster 16'', Otomi-chanx2 ''Otomi-chanx2'', Otomi-chanx2 + 86 ''Otomi-chanx2 + 86'', WaveStar ''WaveStar''. | | **JAST SOUND ''global.np2kai_jast_snd''** | To have music and not only sound in games (Owl-Zoo).\\ => Off ''False'', On ''True''. | | **JOY2KEY PROFILE ''global.np2kai_joymode''** | Emulate a keyboard/mouse/joypad.\\ => Off ''False'', Mouse ''Mouse'', Arrows ''Arrows'', Arrows 3button ''Arrows 3button'', Keypad ''Keypad'', Keypad 3button ''Keypad 3button'', Manual keyboard ''Manual Keyboard'', Atari Joypad ''Atari Joypad''. | The NP2 menu can be opened by pressing ''[L2]'', however this shouldn't be required as Batocera can handle the configuration of the important settings in its **PER SYSTEM ADVANCED OPTIONS**. It's still fun to look at for that retro Windows look, though. ==== GDC clock ==== If a particular game isn't working (or is displaying double images), most of the time it's the GDC clock that needs to be adjusted. Thankfully, there are only two modes, so even though the menu is in Japanese it should be easy to tell them apart. Todo: screenshots. - Open the game. - During the PC-98's booting procedure, hold down the ''[End]'' key. This will open up the PC-98's BIOS menu. In case you missed it, you can restart ( ''[HOTKEY]'' + {{:wiki:east.png?nolink&20|East button (A SNES)}} ) to try again. - Select ディップスイッチ2 using the arrow keys and press Enter. - Select the GDC option and press the right arrow key to switch to 2.5MHz (the default setting is 5Mhz). - To return, select 終了 (the bottom-most option) and press Enter. Go to 終了 again and select it to reboot the PC-98 system. In case you need to return your BIOS settings back to default, simply open the BIOS menu and press the Home key. This will restore everything to their default values. ===== Controls ===== Most games would default to assuming the player only had a mouse and keyboard, so the default Joy2Key profiles (with the Z and X keys bound to the controller's face) should be sufficient. In the case that a game requires the full set of keys, the "Manual Keyboard" Joy2Key profile should be used (along with a real keyboard, the Batocera RetroPad doesn't have enough buttons unfortunately). Here are the default NEC PC-9800's controls shown on a [[:configure_a_controller|Batocera RetroPad]]: {{https://raw.githubusercontent.com/batocera-linux/batocera-controller-overlays/master/solid-4k/pc98.png}} ^ Batocera Retropad ^ Joy2Key Arrows ^ Joy2Key Keypad ^ Joy2Key Mouse ^ | {{:wiki:south.png?nolink&20|South button (B SNES)}} | Z key | Z key | Mouse Left-click | | {{:wiki:east.png?nolink&20|East button (A SNES)}} | X key | X key | Mouse Right-click | | {{:wiki:west.png?nolink&20|West button (Y SNES)}} | Left Control key | Left Control key | | | {{:wiki:north.png?nolink&20|North button (X SNES)}} | Space key | Space key | | | ''[START]'' | Return key | Return key | | | ''[SELECT]'' | Escape key | Escape key | | | D-pad Up | ↑ key | Keypad 8 key (↑) | Move cursor up | | D-pad Down | ↓ key | Keypad 2 key (↓) | Move cursor down | | D-pad Left | ← key | Keypad 4 key (←) | Move cursor left | | D-pad Right | → key | Keypad 6 key (→) | Move cursor right | | ''[L1]'' | Backspace key | Backspace key | Increase cursor speed | | ''[R1]'' | Right Shift key | Right Shift key | | | ''[R2]'' | Open the NP2 menu | Open the NP2 menu | | The original PC-98 mice did not have a middle-click, so the middle-click here (should you use it) will also open the NP2 menu. ===== Troubleshooting ===== ==== My game isn't auto-booting and all I see is a command prompt ==== Most games should handle this automatically, but some may need to be launched manually after being loaded. The process is surprisingly similar to MS-DOS. - Type ''DIR /p'' and press ''[Enter]''. A list of files on the disc should be displayed. - In order to navigate into subfolders, type ''cd '' and press ''[Enter]''. - Search for the game's executable file. Typically it is a ''BAT'' file named an abbreviation/shortening of the game's title. - Type this filename in and press ''[Enter]''. Cross your fingers. If it didn't work, try other files until you find the one that does. ==== My video framerate is full speed, but really choppy/inconsistent ==== The PC-98 ran at a very unusual framerate of around 55Hz, which doesn't fit in nicely with 50Hz nor 60Hz displays. Luckily, if you have a display that supports variable refresh rate (like Freesync) then it should be easy enough to just activate that option within RetroArch to achieve the exact same framerates as the original machines did. ==== I messed up my BIOS settings and need to reset them! ==== In case you need to return your BIOS settings back to default, simply open the BIOS menu and press the Home key. This will restore everything to their default values. ==== My games are in Japanese! ==== Well it //is// a Japanese computer. A small amount of PC-98 games have [[https://www.romhacking.net/?page=translations&genre=&platform=3&status=&languageid=12&perpage=100&order=&dir=&title=&author=&transsearch=Go|English fan-translations]] available, others may be found by using a search engine. In case there isn't a translation available for your game yet, you can always use Batocera/RetroArch's AI game translation option, to varying degrees of success. Japanese-to-English is one of the more difficult translations for the AI to do. ==== Further troubleshooting ==== For further troubleshooting, refer to the [[:support|generic support pages]].