PC-98

From ReactOS Wiki
Jump to: navigation, search

The NEC PC-9800 series are 16/32-bit computers from NEC Corporation. It marked a shift away from the Z80-based PC-88 to the x86 architecture. Just like their predecessor series, they were known for their unique sound hardware by YAMAHA, and games kept the systems popular. They were likely never released outside Japan in the series lifespan, except for the APC III.

Status

ReactOS PC-98 port is under slow development.

Completion Status (rough estimates)

Progress is also tracked in the Epic ticket CORE-17977.

Stage Completion Comment
Create a boot sector floppy 100%
Create ARC platform-specific code for FreeLoader 100%
Create kernel debug driver over serial port 90% Implemented as cportlib extension, needs to be in a separate driver.
Create boot video driver 100%
Create Hardware Abstraction Layer (HAL) 90% Almost complete, only bug fixes and minor improvements expected.
Create video miniport driver for Win32 subsystem 80% Only one mode supported: 640x480x8bpp (256 color PEGC).
Create driver for IDE controller on C-bus 75%

Tracked in CORE-17256

Create driver for keyboard input 0% Tracked in CORE-17913
Create driver for mouse input 90% Only bug fixes and minor improvements expected.
Create driver for console video (for 1st stage setup) 0%
Create a boot sector for HDD 0%
Add support for PC-98 hard disk partitioning 0%
Create drivers for other peripherals, such as NIC, audio, or floppy 0%
More work along with bug fixes

Help in testing

You can run ReactOS only on i586 class CPUs and above, so that means you can run it on any of the models with a Pentium CPU. Keep in mind ReactOS requires at least 64 MB of RAM. It's recommended to use NEC PC-9821Ra43 with a Celeron CPU @ 433 MHz which is the last model in the series. Currently, ReactOS only supports booting from a 1.44 MB 3.5" internal floppy drive. After booting up using the diskette, FreeLoader loads a boot image from any supported devices: IDE CD-ROM, SCSI CD-ROM, or MO.

You need the following steps:

  • Check out this article to learn more about the testing process.
  • You should be able to compile ReactOS.
  • Open file boot/bootdata/livecd.ini and add /HAL=halpc98.dll to every Options record (To be fixed in future versions).
  • Run the following command configure -DSARCH=pc98 before compilation to set target platform as PC-98.
  • Execute ninja pc98bootfdd build target to create a bootable floppy image. The created image will be placed on /output folder/PC98/.
  • Build and burn a LiveCD ISO image (BootCD is not supported yet).
  • Insert the floppy disk, medium, and boot ReactOS.

Any test results will be useful to improve the PC-98 port.

Hardware

The PC-9800 series use a custom hardware C-bus (later models do use PCI) and a firmware that is completely different from a Standard PC BIOS.

In Windows 2000 there are four known HALs for this platform:

File Name Hardware ID String HAL Name
hal98up.dll nec98Notmr_up PC-9800 System Clock 10MHz
hal98tmr.dll nec98tmr_up PC-9800 System Clock 10MHz (support 2nd Timer)
hal98apc.dll nec98mps_up NEC PC-9800 APIC HAL
hal98mp.dll nec98mps_mp NEC PC-9800 MPS HAL

PC-9800 series hard disks are usually formatted with FAT12, but they use 1024 bytes per sector as opposed to the PC's 512.

Some known chipsets used on the Pentium and later PC-98s are:

  • Intel 430FX, 430HX, 430VX, 430TX, 440FX, and 450KX
  • VLSI Wildcat (SuperCore 594)

Some known windows accelerators used in PC-98 are:

  • Trident Microsystems TGUI 9660/938x/968x
  • Cirrus Logic CL-GD5430 and CL-GD5446

Tests on hardware

Emulation

  • Neko Project 21/W is an NEC PC-9821 series emulator that can run Windows 2000. It potentially can be used for ReactOS PC-98 port development and testing.
  • SL9821 is an NEC PC-9821 series emulator with partial compatibility with Windows 2000 (no sound, no network, IDE issues). ROM image files are required to run SL9821.
  • QEMU/9821 also exists, but it seems not maintained anymore and does not run Windows 2000.
  • DOSBox-X and MAME can emulate a wide range of PC-98 hardware.

See Also

ReactOS ports‎
In active development Intel IA-32 (x86) | AMD64 (x64)
In slow development ARM64 (aarch64) | ARM32 (armv7) | NEC PC-98 (x86) | OG Xbox (x86)
Unmaintained OLPC (x86)
Missing ports that Windows has Intel IA-64 (Itanium) | IBM PS/2 MCA (x86) | SGI 320/540 (x86) | DEC Alpha (axp) | MIPS | PowerPC (ppc)
Ideas for new ports Apple TV 1st Gen (x86) | FM Towns (x86) | PlayStation 4 (x64) | Intel SFI (x86)