Int 15h Func. 47h

Data Output

BIOS Extension Interrupt Function

Software support for special features is added as an interrupt function to the BIOS. Enhanced machine checks and battery backup on an AC power failure features are included. These interrupt function calls are used by the high level programming languages. These functions allow the assembler programmer to keep up with the system events.

Supported machines: Types 7552, 7568, maybe some other industrial systems as well


Interrupt 15H Function 47H (AH) Sub-function 00-0BH (AL)

All of the functions described below are called with INT 15H and AH = 47H. Register AL contains the value of the specific function.

Function Description

AL=00H   Set Glitch Time. The number of timer ticks are 
         passed in DX and placed in Glitch Counts. One 
         tick equals 55 milliseconds.
         DX = NUMBER OF TIME TICKS, 1 = 55 MSEC

AL=01H   Read Status Word. The content of the Status 
         Register is placed in DX on return. No error code
         is returned.
         EXIT: DX = STATUS BITS AS FOLLOWS:

         STATUS REGISTER   DESCRIPTION
         (LSB)   bit 0     Reserved
                 bit 1     Reserved
                 bit 2     Channel Check
                 bit 3     Temperature Fail Check
                 bit 4     Temperature Clear Check
                 bit 5     Power Supply Fail Check
                 bit 6     Power Supply Clear Check
                 bit 7     Shutdown Complete
                 bit 8     AC Power Failure
                 bit 9     ECC Check (double bit failure)
                 bit 10    ECC Overflow
                 bit 11    Shutdown Started
                 bit 12-15 Reserved

Note: "Fail" and "Clear" lines detect a change in the line's status. They do not tell you the current status. Also, BIOS never clears any of the status bits. This is up to the application.

AL=02H   Write Status Word. The content of DX is written
         to the Status Register. No error code can be 
         returned.
         DX = CONTENTS TO BE WRITTEN TO STATUS REGISTER

AL=03H   Turn On/Off Digital Output points. The Digital 
         Output point number is passed in DL (DL=1 or 2).
         Register DH must be a 1 to turn a point on, a 0 
         (zero) to turn it off. An error code of FFFEH in
         AX means that an invalid index was input.
         DH = 0 TURN OFF DIGITAL OUTPUT POINTS
         DH = 1 TURN ON DIGITAL OUTPUT POINTS

AL=04H   Set HEX Display. The value in DL is displayed if
         there are no checks. If there are checks then AX
         = OFFFDH on return, and the BIOS internal check
         flag is cleared.
         DL = THE VALUE TO BE DISPLAYED
         EXIT; AX = OFFFDH IF THERE ARE CHECKS ?????

AL=05H   Read Keyswitch Position. The position value is 
         returned in DX where:
         EXIT;   DX = 0 - Locked
                 DX = 1 - Unlocked
                 DX = 2 - Maintenance Mode

AL=06H   Set User Vector. A vector is passed in registers
         DS:DX that points to a user's FAR routine. BIOS
         calls this routine when events such as a 
         Shutdown, a Channel Check, a Temperature 
         Check/Clear, or a Power Supply Check/Clear
         occurs. If the user calls this function with 
         DS:DX equal to 0:0, then BIOS erases the vector 
         and does not jump on any routine vector should 
         any of the above events occur.
         DS:DX=USER VECTOR
         DS:DX=0:0 Erase User Vector, No Control Transfer

AL=07H   Event Complete. The user informs BIOS that it has
         handled an event with this function. BIOS will 
         not jump on the user vector again until the 
         "event flag" is cleared. Register DH provides the
         event index, while DL contains the event 
         satisfied/cleared information.
            DH = 00 - Shutdown (power failure)
            DH = 01 - Channel Check
            DH = 02 - Temperature Check
            DH = 03 - Temperature Clear
            DH = 04 - Power Supply Check (fan/batt fail)
            DH = 05 - Power Supply Clear
            DL = xxxxxxx0B - Clear events (also clears 
              event pending flag)
            DL = xxxxxxx1B - Event satisfied If register
              DH is out of range (> 5), then AX will have 
              a FFFCH error code on return.
                      EXIT: AX = 0FFFCH EVENT INDEX OUT OF RANGE

AL=08H   Shutdown Battery. The user can cause a shutdown 
         by disconnecting the battery.

AL=09H   Enable Backup Override. The user can call this 
         during shutdown to enable the system to stay 
         running for longer than 10 seconds.

AL=0AH   Connect Battery. Connect the backup battery.

AL=0BH   ECC/Channel Check Options. The user can determine
         how BIOS reacts to an ECC/Channel Check. If DX = 
         0000, then the system halts on an ECC/Channel 
         Check (default configuration). If DX = 0001, then
         the system reboots on an ECC/Channel Check.
         DX = 0 MACHINE WILL HALT
         DX = 1 MACHINE WILL REBOOT

AX=0     Good Return
         EXIT: (Ed. manual was confusing)

AX < >| 0  Error
           =0FFFFH Out of range Error
           =0FFFDH If there are checks
           =0FFFCH Event index out of range

In all cases, AX = 0 indicates a correct return, and AX < > 0 indicates an error condition. AX = 0FFFFH indicates that an out of range error has occurred. Only AX and DX
will be altered.

Content created and/or collected by:
Louis F. Ohland, Peter H. Wendt, David L. Beem, William R. Walsh, Tatsuo Sunagawa, Tomáš Slavotínek, Jim Shorney, Tim N. Clarke, Kevin Bowling, and many others.

Ardent Tool of Capitalism is maintained by Tomáš Slavotínek.
Last update: 24 Mar 2024 - Changelog | About | Legal & Contact