Skip to content

POS registers

Marco Bortolin edited this page Sep 11, 2016 · 7 revisions

Programmable Option Select (POS) eliminates the need for switches on the system board by replacing their function with programmable registers. This section describes the POS information that is used on the PS/1 model 2011 system board.

System Board POS Register 2 (Hex 102)

VGA
bit 0:
(from Tech Ref. 3-24 p.94)
When in Setup mode (I/O address hex 0094, bit 5 equals 0), the VGA responds to a single option select byte at I/O address hex 0102 and treats the LSB (bit 0) of that byte as the VGA sleep bit.
When the LSB is 0, the VGA does not respond to commands, addresses, or data on the data bus.
When the LSB is 1, the VGA responds.
If the VGA was set up and is generating video output when the LSB is set to 0, the output is still generated.

The VGA responds only to address hex 0102 when in the Setup mode. No other addresses are valid at that time. Conversely, the VGA ignores address hex 0102 when in the Enabled mode (I/O address hex 0094, bit 5 equals 1), and decodes normal I/O and memory addresses.

Parallel Port
bit 7, 6, 5:
(from Tech Ref. 3-150 p.220)
The parallel port can be configured to three different address spaces previously used in IBM Personal Computer products. These addresses are selected by placing the system board in Setup; clear bit 7 of port hex 94. Perform an I/O write to port hex 0102. Bits 6 and 5 in port hex 0102 are used to select the address spaces shown in figure.

When setup is complete, be sure to set bit 7 of port hex 94.

Bit 6   Bit 5   Function
0       0       Parallel 1 LPT1:
0       1       Parallel 2 LPT2:
1       0       Parallel 3 LPT3:

The Extended mode option of the parallel port is selected through Programmable Option Select. With the system board in Setup, the Extended mode is selected by writing a O to bit 7 of I/O address hex 0102.

bit 4: 1=parallel port enabled

COM serial port
bit 2: 1=serial port enabled
bit 3: COM port address. 1=COM1 (port 3F8h, irq 4), 0=COM2 (port 2F8h, irq 3) fixed to 1 on model 2011

System Board POS Register 3 (Hex 103)

(undocumented)
bit 0,1: something related to RAM (see F000:0FB4)
bit 3: 1=HDD enabled
set to 1 before reading port 320 to check if HDD adapter responds (F000:4684)
set to 0 if port 91h returns 0 after reading port 320. (F000:45A5)

System Board POS Register 4 (Hex 104)

(from Tech Ref. 3-157 p.227)
With the system board in setup, the system board memory can be disabled by writing port address hex 104 as shown in the following figure.

Bits  Function                  Hex Range
7-5   Reserved
4     Enable Fifth 128KB Bank   080000 - 09FFFF
3     Enable Fourth 128KB Bank  060000 - 07FFFF
2     Enable Third 128KB Bank   040000 - 05FFFF
1     Enable Second 128KB Bank  020000 - 03FFFF
0     Enable First 128KB Bank   000000 - O1FFFF

System Board POS Register 5 (Hex 105)

(undocumented)
bit 3: memory timing

At boot bit 3 is 1. If memory test fails then POST clear bit 3 to 0 and repeats from POST 0Eh. If memory test fails again then POST emits the appropriate error code.