Difference between revisions of "PC-98"
Cismontjoy (talk | contribs) |
Binarymaster (talk | contribs) (→Completion Status (rough estimates): PR #3173 merged) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
== Status == | == Status == | ||
ReactOS PC-98 port is under slow development. | ReactOS PC-98 port is under slow development. | ||
+ | |||
+ | === Completion Status (rough estimates) === | ||
+ | {| class="wikitable" | ||
+ | ! 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 || 20% || https://github.com/disean/reactos/tree/pc98_uniata | ||
+ | |- | ||
+ | | Create driver for keyboard input || 0% || | ||
+ | |- | ||
+ | | 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 == | == Help in testing == | ||
− | You can run ReactOS only on [[Supported Hardware/CPU|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 | + | You can run ReactOS only on [[Supported Hardware/CPU|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: | You need the following steps: | ||
* Check out [[ReactOS FAQ#Testing ReactOS on real hardware|this article]] to learn more about the testing process. | * Check out [[ReactOS FAQ#Testing ReactOS on real hardware|this article]] to learn more about the testing process. | ||
* You should be able to [[Building ReactOS|compile ReactOS]]. | * You should be able to [[Building ReactOS|compile ReactOS]]. | ||
+ | * Open file <code>boot/bootdata/livecd.ini</code> and add <code>/HAL=halpc98.dll</code> to every <code>Options</code> record (To be fixed in future versions). | ||
* Run the following command <code>configure -DSARCH=pc98</code> before compilation to set target platform as PC-98. | * Run the following command <code>configure -DSARCH=pc98</code> before compilation to set target platform as PC-98. | ||
* Execute <code>ninja pc98bootfdd</code> build target to create a bootable floppy image. The created image will be placed on <code>/output folder/PC98/</code>. | * Execute <code>ninja pc98bootfdd</code> build target to create a bootable floppy image. The created image will be placed on <code>/output folder/PC98/</code>. | ||
− | * Build and burn a LiveCD | + | * Build and burn a LiveCD ISO image (BootCD is not supported yet). |
* Insert the floppy disk, medium, and boot ReactOS. | * Insert the floppy disk, medium, and boot ReactOS. | ||
− | Any test results will be useful to improve PC-98 port. | + | Any test results will be useful to improve the PC-98 port. |
== Hardware == | == 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 | + | 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: | In Windows 2000 there are four known HALs for this platform: | ||
Line 37: | Line 73: | ||
Some known chipsets used on the Pentium and later PC-98s are: | Some known chipsets used on the Pentium and later PC-98s are: | ||
− | * Intel 430FX | + | * Intel 430FX, 430HX, 430VX, 430TX, 440FX, and 450KX |
− | |||
− | |||
− | |||
− | |||
− | |||
* VLSI Wildcat (SuperCore 594) | * VLSI Wildcat (SuperCore 594) | ||
− | Some known | + | Some known windows accelerators used in PC-98 are: |
* Trident Microsystems TGUI 9660/938x/968x | * Trident Microsystems TGUI 9660/938x/968x | ||
* Cirrus Logic CL-GD5430 and CL-GD5446 | * Cirrus Logic CL-GD5430 and CL-GD5446 | ||
== Emulation == | == Emulation == | ||
− | * Neko Project 21/W is | + | * 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 | + | * 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. | * 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. | * DOSBox-X and MAME can emulate a wide range of PC-98 hardware. | ||
Line 67: | Line 98: | ||
* [https://github.com/mamedev/mame MAME] | * [https://github.com/mamedev/mame MAME] | ||
* [https://github.com/joncampbell123/dosbox-x/issues/106#issuecomment-132394519 Overview of PC-98 hardware and BIOS architecture] | * [https://github.com/joncampbell123/dosbox-x/issues/106#issuecomment-132394519 Overview of PC-98 hardware and BIOS architecture] | ||
− | * [https://gist.github.com/tomari/3793102 Example output of the lspci command], [https://www.mail-archive.com/freebsd-users-jp@jp.freebsd.org/msg04032.html and another one (pciconf)]. Device manager listing: [http://hamlin.html.xdomain.jp/pc98/pc98irq/pc98irq.htm], [https://weblabo.griffonworks.net/dorlog/2nddorcom/pc-98/52028.html], [http://www.cham-reo.com/logsearch/Log.aspx?c=pc-98&d=19990715T192005&id=2052]. | + | * [https://gist.github.com/tomari/3793102 Example output of the lspci command], [https://www.mail-archive.com/freebsd-users-jp@jp.freebsd.org/msg04032.html and another one (pciconf)]. [http://rs20.nextfoods.jp/index.php?spec Boot log from an SMP machine]. Device manager listing: [http://hamlin.html.xdomain.jp/pc98/pc98irq/pc98irq.htm], [https://weblabo.griffonworks.net/dorlog/2nddorcom/pc-98/52028.html], [http://www.cham-reo.com/logsearch/Log.aspx?c=pc-98&d=19990715T192005&id=2052]. |
* [https://github.com/lpproj/fdkernel/tree/nec98test/nec98 FreeDOS(98) kernel source code] | * [https://github.com/lpproj/fdkernel/tree/nec98test/nec98 FreeDOS(98) kernel source code] | ||
* [https://www.betaarchive.com/forum/viewtopic.php?f=61&t=35758 Discussion on BetaArchive] | * [https://www.betaarchive.com/forum/viewtopic.php?f=61&t=35758 Discussion on BetaArchive] |
Revision as of 13:52, 10 October 2020
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.
Contents
Status
ReactOS PC-98 port is under slow development.
Completion Status (rough estimates)
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 | 20% | https://github.com/disean/reactos/tree/pc98_uniata |
Create driver for keyboard input | 0% | |
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 everyOptions
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
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
- Windows 2000 booting on NEC Lavie PC-9821 Nr15 (Pentium, 96 MB RAM)
- Windows 2000 booting on NEC PC-9821 RvII26 (SSD, 640 MB RAM)
- Linux/98 (Plamo Linux) on NEC PC-9821 V12 (96 MB RAM)
- Neko Project 21/W (in Japanese)
- Neko Project 21/W - Windows 2000 installation guide (in Japanese)
- SL9821 (in Japanese)
- QEMU/9821 for Windows (2012/08/20)
- ROMs for QEMU/9821
- DOSBox-X
- MAME
- Overview of PC-98 hardware and BIOS architecture
- Example output of the lspci command, and another one (pciconf). Boot log from an SMP machine. Device manager listing: [1], [2], [3].
- FreeDOS(98) kernel source code
- Discussion on BetaArchive
- Video: Installing Windows 2000 in Neko Project 21 (PC-98) (Better quality video can be found there.)
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) | Apple TV (1st generation) (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 | FM Towns (x86) | PlayStation 4 (x64) | Intel SFI (x86) |