PC-98 gMemory Switchesh and "DIP Switches",complicated differrence.
Copyright(C) 2025 marimo
Summary
- PC-98 have "DIP switches" as mechanical switches or software switches, but they are essentially the same.
- "DIP switches" is not intended to be changed from the application software.
- On the other hand, "Memory switches" are designed to be changed from the application software.
- "Memory switches" are especially useful when you want to change the state after a reboot, which is the case with boot device selection.
- In the later PC-98 models, it is possible to change the "DIP switch" settings by software, but the process is too model-specific and the specifications are not yet known.
¡@Two types of "SWITCHES" to configure the PC-98 mainframe
Each model in the PC-98 series has "DIP switches" and "Memory switches. However, not many people understand the difference between these two types of switches. Both switches require a healthy backup battery to operate properly. Otherwise, they will only be available in their default settings for all configuration items. When the power is turned off, the settings are restored to their defaults. Furthermore, there is a complicated relationship between the "Memory switch" selection of retain and initialize and the "DIP switch" setting items. The difference between these switches should be known to all users of the PC-98.
¡@"DIP SWITCHES"
@The early period of PC-9800 series, for example PC-9801VX, had three mechanical 8-bit "DIP switches" lined up on the front of the main unit. These switches were used to configure various settings related to the operation of the PC-98. The Initial Test Firmware software read these settings to determine the operation of the 98, but in some cases they may have been directly connected to the circuitry. Among them, "DIP SWITCH 2" could be easily read from the application software via I/O address 31h. "DIP switches" is characterized by the fact that it is possible to read the part of the settings from the software, but not to change them. Since they are mechanical switches by nature, the settings are permanent, even if the power is not continually turned on.
As time progressed, some of these switches were replaced by software, starting with the H98 series and 98 FELLOW. The software that does this configuration is the gSystem Setup Menuh. This is the familiar one that appears when you press the HELP key when powering up. However, we must not forget that it was originally mechanical. Yes, it is true that the settings cannot be changed in any general application other than the System Setup Menu. So where are the settings stored?@Actually, this is not well understood. Basically, they are stored in SRAM backed up by batteries, but the setting procedure seems to vary widely from model generation to model generation. It ihas been pointed out that in the latest PC-9821 models, some settings may be stored in the serial EEPROM 24C01.
If the battery backup is lost, the contents of the software "DIP switch" will also be lost. This is the meaning of the messagegSET THE SOFTWARE SWITCHh that often appears at startup. If the Initial Test Firmware finds some abnormality (checksum error, etc.) in the Memory of the SRAM, it will issue this message, set it to the default setting, and reboot. Incidentally, if this message is repeated endlessly and the device reboots, the failure of the SRAM peripheral circuits is assumed. In most cases, it is caused by a broken printed pattern on the board.
¡@"Memory SWITCHES"
@"DIP switches" are unchangeable by any softwares, but several cases where this would be a problem are . For example, the BIOS settings for RS-232C communication parameters in ROM BASIC, and the selection of the device (FD, HD, SCSI) to boot. The information for these functions cannot be placed in system Memory like normal applications, because it must be carried over even after a reset. Since it must be placed in a Memory location outside the system, it is thought that a "Memory switch" has been prepared. However, the only time the software needs to change the boot device every time the system is rebooted is when installing an OS. For the average user, it would have been fine to use a mechanical "DIP switches" to specify the device to be booted. In fact, it would have been less cumbersome.
The gMemory switchh is set, for example, in the MS-DOS application SWITCH.EXE. Of course, general applications can also directly read and write "Memory switches", but it is time-consuming in that the OS must be started.
In fact, many of the settings used by "Memory switches" are from the BASIC era. This is thought to be due to the need for the settings to be immediately reflected when ROM BASIC is booted. In other OSs, there is no need for "Memory switches" except for those that change the state after a reboot. For this reason, no "Memory switch" functionality was added as 98 evolved, except for the addition of SCSI and optical disk boot bits around 1989.
¡@The contrivance that "DIP switch 2-5" setting determine the status of "Memory switch" initialization / retention .
The selection of the startup device is directed by the "Memory switch" setting. However, as seen in the DOS SWITCH.EXE, the setting cannot be made until the OS is booted. Thus, for example, if the system is mistakenly set to BOOT FROM SCSI, it will not be able to boot without the presence of a SCSI device. To avoid this, "DIP switch 2-5" have the ability to discard the "Memory switch" setting. If you set it toward gInitializationh, it will be the default setting, and FD->HD-SCSI will be searched for the boot device in that order. Even if SCSI is set by mistake, it will be possible to boot from other devices. On the other hand, to always keep the contents of "Memory Switch", go to "DIP Switch 2-5", then click
![]()
In the next screen, the "Memory Switch" must be set to "To KEEP". The default setting is gTo INITIALIZEh.
¡@The problems that "Device selection of bootstrap" is left in "Memory switches".
However, when I want to connect a SCSI HDD again and boot from SCSI only, this mechanism is very inconvenient. The boot device selection should have been moved to "DIP switches" as well. Especially after software "DIP switches" were introduced, it would have been desirable to retain the "Memory switches" and allow the initial values to be set in the system setup menu. If the gmemory switchh mechanism from the software side is kept as before, it can be changed on the application side when the System Setup menu is not executed, thus maintaining compatibility with previous versions. But this was not realized.
@@It is convenient to be able to set the boot device of the memory switch and the software "DIP switch 2-5" at the same time at the initial stage of booting as much as possible, so we have created a setting tool MEMSWBT that can be used in gFDloaderh and gnormal FD bootingh. However, this tool only works on gmachines with PCI bus and Xe10, BX4h. For other models, it is necessary to ghold the memory switchh with "DIP switch 2-5" as the basic method.
¡@Conventional compatibility of each switch
The gMemory switchh can be changed from the application software, so compatibility is maintained; it has been the same from the PC-9801VM to the last machine. However, most of the memory is reserved by BASIC, so the number of available bits is very limited. The only available bits are bits 0, 1, and 2 of gMemory Switchh No. 6. However, now that BASIC is not used, it can be used quite freely. The major drawack of the gMemory switchh is, as already mentioned, that it cannot be used to store any data if the "DIP switch 2-5"is set to the initialization setting. Moreover, that is the default setting.
While the three mechanical "DIP switches" are compatible in function assignment, only "DIP switch 2" is compatible in reading from the application software.There is no established generic method to read out DIP Switches 1 and 3.
Software DIP switches should be software writable, but the method is unknown and not model compatible. Use from application software is quite limited. My software uses the free space in the software DIP switches for EXIDE series configuration only for models of the generation with PCI bus, and for other models, it uses the free space in Memory switch 6 for general purpose use.
VSWITCH, a software that displayes@the settings of both switches at once is already created. Please use it. It can be run either in IPLware or in a DOS application.
* "½²¯Á" means SWITCH in Japanese.
marimo Written on 7,Jul,2025@ @English version revised on 20,Jul,2025