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 Daisenryaku, Romance of the Three Kingdoms, 46 Okunen Monogatari: The Shinkaron, Policenauts and the Touhou Project. It's also home to a lot of a certain kind of visual novels. A lot.
Check out the PC-98 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.
Quick reference
- Emulator: RetroArch
- Core: 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 a PC-98 hard-disk image exploring tool or something else.
todo: how to do this
Emulators
RetroArch
RetroArch (formerly SSNES), is a ubiquitous frontend that can run multiple “cores”, which are essentially the emulators themselves. The most common cores use the 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]
+ which can be used to alter various things like RetroArch and core options, and 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
Neko Project II Kai is a fork of the original Neko Project II PC-98 emulator. Currently the definitive PC-98 emulator, in 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 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]
+) 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 Batocera RetroPad:
Batocera Retropad | Joy2Key Arrows | Joy2Key Keypad | Joy2Key Mouse |
---|---|---|---|
![]() | Z key | Z key | Mouse Left-click |
![]() | X key | X key | Mouse Right-click |
![]() | Left Control key | Left Control key | |
![]() | 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 <FOLDERNAME>
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 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 generic support pages.
- systems/pc98.txt
- Last modified: 16 months ago
- by atari