When PCs first appeared on the Japanese market, they represented several different architectural standards, as the following table illustrates. Creating applications for five or six distinct hardware platforms was a headache that software companies had to endure in order to sell a large volume of products. The first major step toward correcting this problem was the introduction of DOS/V (V stands for "VGA") in 1992. Developers could now write applications to a single interfacecustomized versions of the operating system took care of hardware differences.
Hardware Specification | NEC 9800 | ISA Bus |
Video interrupt | INT 0x18 | INT 0x10 |
ROM Basic | None | INT 0x18 |
SetCursorLocation | INT 0x18 | INT 0x10 |
ReadCursorLocation | None | INT 0x10 |
Boot drive | Always A: | A: or C: |
Video resolution | 640 x 400 | 640 x 480 |
These days, unless you are writing low-level device drivers or accessing hardware directly, you don't need to be concerned with hardware differences on machines sold in Japan. As long as your application takes advantage of the Win32 API, it should run smoothly on different machines. You might have to recompile your applicationfor example, Windows NTbased applications need to be compiled separately for Intel-based machines and RISC machinesbut you will not need to rewrite your code, as developers did before the advent of DOS/V. If you are writing device drivers, you'll need a copy of the Far East Win32 DDK.
It is always a good idea to test your application on local hardware. Since half of the PCs in Japan are made by NEC, definitely test your product on NEC machines. Windows 95 supports both AT-compatible and NEC machines, but it does not support the FM Towns, FMR, or Epson proprietary architectures. Neither does it support 640 x 480 video. Be sure to test your application with other local video resolutions, local keyboards, and local printers.