AOH :: BIOSREF2.TXT

Part 2 of the IBM BIOS programmer's reference card


SA2U
               11                                                       | 12                                                      |
                          ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                 |                   ASCII TABLE                           |
                          ³ INT 19 - BOOTSTRAP LOADER ³                 |                                                         |
                          ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                 |     ÉÍÍÍÍÍËÍÍÍÍÍËÍÍÍÍÍËÍÍÍÍÍËÍÍÍÍÍËÍÍÍÍÍËÍÍÍÍÍËÍÍÍÍÍ»   |
                                                                        |     º  0  º  1  º  2  º  3  º  4  º  5  º  6  º  7  º   |
                INPUT PARAMETERS: NONE                                  |   ÉÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
               OUTPUT PARAMETERS: NONE                                  |   º0º NUL º DLE ºSPACEº  0  º  @  º  P  º  `  º  p  º   |
                          OTHER: TRACK 0, SECTOR 1 IS LOADED INTO       |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                                 ADDRESS 0:7C00 AND CONTROL IS          |   º1º SOH º DC1 º  !  º  1  º  A  º  Q  º  a  º  q  º   |
                                 TRANSFERRED THERE                      |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                                                                        |   º2º STX º DC2 º  "  º  2  º  B  º  R  º  b  º  r  º   |
                   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿         |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                   ³ INT 1A - SYSTEM AND REAL TIME CLOCK BIOS ³         |   º3º ETX º DC3 º  #  º  3  º  C  º  S  º  c  º  s  º   |
                   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ         |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                                                                        |   º4º EOT º DC4 º  $  º  4  º  D  º  T  º  d  º  t  º   |
               INPUT PARAMETERS:                                        |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                                                                        |   º5º ENQ º NAK º  %  º  5  º  E  º  U  º  e  º  u  º   |
               AH = 00 - READ SYSTEM TIME COUNTER                       |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
               ON EXIT:  CX = HIGH PORTION OF COUNT                     |   º6º ACK º SYN º  &  º  6  º  F  º  V  º  f  º  v  º   |
                         DX = LOW PORTION OF COUNT                      |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                         AL = 0 IF 24 HOURS NOT PASSED SINCE RESET      |   º7º BEL º ETB º  '  º  7  º  G  º  W  º  g  º  w  º   |
                                                                        |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
               AH = 01 - SET SYSTEM TIME COUNTER                        |   º8º BS  º CAN º  (  º  8  º  H  º  X  º  h  º  x  º   |
                         CX = HIGH PORTION OF COUNT                     |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                         DX = LOW PORTION OF COUNT                      |   º9º HT  º EM  º  )  º  9  º  I  º  Y  º  i  º  y  º   |
                                                                        |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
               AH = 02 - READ REAL TIME CLOCK TIME (PC/AT ONLY)         |   ºAº LF  º SUB º  *  º  :  º  J  º  Z  º  j  º  z  º   |
               ON EXIT:  CH = HOURS IN BCD                              |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                         CL = MINUTES IN BCD                            |   ºBº VT  º ESC º  +  º  ;  º  K  º  [  º  k  º  {  º   |
                         DH = SECONDS IN BCD                            |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                         DL = 1 IF DAYLIGHT SAVINGS TIME OPTION         |   ºCº FF  º FS  º  ,  º  <  º  L  º  \  º  l  º  |  º   |
                         CY = 1 IF CLOCK NOT OPERATING                  |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                                                                        |   ºDº CR  º GS  º  -  º  =  º  M  º  ]  º  m  º  }  º   |
               AH = 03 - SET REAL TIME CLOCK TIME (PC/AT ONLY)          |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                         CH = HOURS IN BCD                              |   ºEº SO  º RS  º  .  º  >  º  N  º  ^  º  n  º  ~  º   |
                         CL = MINUTES IN BCD                            |   ÌÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍÍÎÍÍÍÍ͹   |
                         DH = SECONDS IN BCD                            |   ºFº SI  º US  º  /  º  ?  º  O  º  _  º  o  º DEL º   |
                         DL = 1 IF DAYLIGHT SAVINGS TIME OPTION         |   ÈÍÊÍÍÍÍÍÊÍÍÍÍÍÊÍÍÍÍÍÊÍÍÍÍÍÊÍÍÍÍÍÊÍÍÍÍÍÊÍÍÍÍÍÊÍÍÍÍͼ   |
                                                                        |                                                         |
               AH = 04 - READ REAL TIME CLOCK DATE (PC/AT ONLY)         |                                                         |
               ON EXIT:  CH = CENTURY IN BCD                            |                                                         |
                         CL = YEAR IN BCD                               |                    COLOR ATTRIBUTES                     |
                         DH = MONTH IN BCD                              |                                                         |
                         DL = DAY IN BCD                                | 0 - BLACK  4 - RED      8 - GRAY       C - LT. RED      |
                         CY = 1 IF CLOCK NOT OPERATING                  | 1 - BLUE   5 - MAGENTA  9 - LT. BLUE   D - LT. MAGENTA  |
                                                                        | 2 - GREEN  6 - BROWN    A - LT. GREEN  E - YELLOW       |
               AH = 05 - SET REAL TIME CLOCK DATE (PC/AT ONLY)          | 3 - CYAN   7 - WHITE    B - LT. CYAN   F - BRIGHT WHITE |
                         CH = CENTURY IN BCD                            |                                                         |
                         CL = YEAR IN BCD                               |             * NOTE: SET BIT 4 FOR BLINK                 |
                         DH = MONTH IN BCD                              |                                                         |
                         DL = DAY IN BCD                                |                                                         |
                                                                        |                                                         |
               AH = 06 - SET REAL TIME CLOCK ALARM (PC/AT ONLY)         |                                                         |
                         CH = HOURS IN BCD                              |                                                         |
                         CL = MINUTES IN BCD                            |                                                         |
                         DH = SECONDS IN BCD                            |                                                         |
               ON EXIT:                                                 |                                                         |
                         CY = 1 IF ALARM ALREADY SET OR CLOCK INOPERABLE|                                                         |
                         INT 4A OCCURS AT SPECIFIED ALARM TIME          |                                                         |
                                                                        |                                                         |
               AH = 07 - RESET REAL TIME CLOCK ALARM                    |                                                         |
                                                                        |                                                         |
               AH = 08 - SET RTC ACTIVATED POWER ON MODE (CONVERTIBLE)  |                                                         |
                         CH = HOURS IN BCD                              |                                                         |
                         CL = MINUTES IN BCD                            |                                                         |
                         DH = SECONDS IN BCD                            |                                                         |
                                                                        |                                                         |
               AH = 09 - READ RTC ALARM TIME AND STATUS (CONVERTIBLE)   |                                                         |
               ON EXIT:  CH = HOURS IN BCD                              |                                                         |
                         CL = MINUTES IN BCD                            |                                                         |
                         DH = SECONDS IN BCD                            |                                                         |
                         DL = ALARM STATUS:                             |                                                         |
                            = 00 IF ALARM NOT ENABLED                   |                                                         |
                            = 01 IF ALARM ENABLED BUT WILL NOT POWER    |                                                         |
                              UP SYSTEM                                 |                                                         |
                            = 02 IF ALARM WILL POWER UP SYSTEM          |                                                         |
                                                                        |                                                         |
               AH = 80 - SET UP SOUND MULTIPLEXOR (PCjr ONLY)           |                                                         |
                         AL = 00 - SOURCE IS 8253 CHANNEL 2             |                                                         |
                            = 01 - SOURCE IS CASSETTE INPUT             |                                                         |
                            = 02 - SOURCE IS I/O CHANNEL "AUDIO IN"     |                                                         |
                            = 03 - SOURCE IS SOUND GENERATOR CHIP       |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |


               9                                                        |  10                                                     |
               INT 15 - SYSTEM SERVICES BIOS AH = 41 (CONTINUED)        |               ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                |
                                                                        |               ³ INT 16 - KEYBOARD BIOS ³                |
                         BH = CONDITION COMPARE OR MASK VALUE           |               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                |
                         BL = TIMEOUT VALUE TIMES 55 MSEC.              |                                                         |
                            = 0 IF NO TIME LIMIT                        |    INPUT PARAMETERS:                                    |
                         DX = I/O PORT ADDRESS (IF AL BIT 4 = 1)        |                                                         |
                         ES:DI = POINTER TO USER BYTE (IF AL BIT 4 = 0) |    AH = 00 - WAIT FOR KEYSTROKE AND READ                |
                                                                        |    ON EXIT:                                             |
               AH = 42 - REQUEST SYSTEM POWER OFF (CONVERTIBLE ONLY)    |              AH = SCAN CODE                             |
                         AL = 00 TO USE SYSTEM PROFILE                  |              AL = ASCII CHARACTER IF APPLICABLE         |
                            = 01 TO FORCE SUSPEND REGARDLESS OF PROFILE |                                                         |
                                                                        |    AH = 01 - GET KEYSTROKE STATUS                       |
               AH = 43 - READ SYSTEM STATUS (CONVERTIBLE ONLY)          |    ON EXIT:                                             |
               ON EXIT:  AL = STATUS:                                   |              ZF = 0 IF KEY PRESSED                      |
                         ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                              |              AH = SCAN CODE                             |
                         ³7³6³5³4³3³2³1³0³ AL                           |              AL = ASCII CHARACTER IF APPLICABLE         |
                         ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                              |              NOTE: CODE NOT REMOVED FROM BUFFER         |
                          ³ ³ ³ ³ ³ ³ ³ ³                               |                                                         |
                          ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ LCD DETACHED             |    AH = 02 - GET SHIFT STATUS                           |
                          ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ RESERVED                 |    ON EXIT:                                             |
                          ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ RS232/PARALLEL POWERED ON|   ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                                     |
                          ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ INTERNAL MODEM POWERED ON|   ³7³6³5³4³3³2³1³0³ AL                                  |
                          ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ POWER ACTIVATED BY ALARM |   ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                                     |
                          ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ STANDBY POWER LOST       |    ³ ³ ³ ³ ³ ³ ³ ³                                      |
                          ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ EXTERNAL POWER IN USE    |    ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ RIGHT SHIFT KEY DEPRESSED       |
                          ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ BATTERY LOW              |    ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ LEFT SHIFT KEY DEPRESSED        |
                                                                        |    ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ CONTROL SHIFT KEY DEPRESSED     |
               AH = 44 - (DE)ACTIVATE INTERNAL MODEM POWER (CONVERTIBLE)|    ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ ALTERNATE SHIFT KEY DEPRESSED   |
                         AL = 00 TO POWER OFF                           |    ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ SCROLL LOCK STATE ACTIVE        |
                            = 01 TO POWER ON                            |    ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NUM LOCK STATE ACTIVE           |
                                                                        |    ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CAPS LOCK STATE ACTIVE          |
               AH = 4F - KEYBOARD INTERCEPT                             |    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INSERT STATE IS ACTIVE          |
                         AL = SCAN CODE, CY=1                           |                                                         |
               ON EXIT:                                                 |    AH = 04 - KEYBOARD CLICK ADJUSTMENT                  |
                         AL = SCAN CODE, CY=1 IF PROCESSING DESIRED     |              AL = 1 FOR CLICK ON, =0 FOR CLICK OFF      |
                                                                        |                                                         |
               AH = 80 - DEVICE OPEN                                    |    AH = 05 - KEYBOARD BUFFER WRITE                      |
                         BX = DEVICE ID                                 |              CH = SCAN CODE                             |
                         CX = PROCESS ID                                |              CL = ASCII CHARACTER                       |
                                                                        |    ON EXIT:                                             |
               AH = 81 - DEVICE CLOSE                                   |              AL = 01 IF BUFFER FULL                     |
                         BX = DEVICE ID                                 |                                                         |
                         CX = PROCESS ID                                |    AH = 10 - EXTENDED WAIT FOR KEYSTROKE AND READ       |
                                                                        |    ON EXIT:                                             |
               AH = 82 - PROGRAM TERMINATION                            |              AH = SCAN CODE                             |
                         BX = DEVICE ID                                 |              AL = ASCII CHARACTER IF APPLICABLE         |
                                                                        |                                                         |
               AH = 83 - EVENT WAIT                                     |    AH = 11 - EXTENDED GET KEYSTROKE STATUS              |
                         AL = 0 TO SET INTERVAL                         |    ON EXIT:                                             |
                            = 1 TO CANCEL                               |              ZF = 0 IF KEY PRESSED                      |
                         ES:BX = POINTER TO MEMORY FLAG (BIT 7 IS SET   |              AH = SCAN CODE                             |
                                 WHEN INTERVAL EXPIRES)                 |              AL = ASCII CHARACTER IF APPLICABLE         |
                         CX,DX = NUMBER OF MICROSECONDS TO WAIT         |              NOTE: CODE NOT REMOVED FROM BUFFER         |
                                 (GRANULARITY IS 976 MICROSECONDS)      |                                                         |
               ON EXIT:  CY = 1 IF FUNCTION ALREADY BUSY                |    AH = 12 - EXTENDED GET SHIFT STATUS                  |
                                                                        |    ON EXIT:                                             |
               AH = 84 - JOYSTICK SUPPORT                               |   ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                                     |
                         DX = 0 TO READ THE CURRNENT SWITCH SETTINGS    |   ³7³6³5³4³3³2³1³0³ AL                                  |
               ON EXIT:  AL = SWITCH SETTINGS (BITS 7-4)                |   ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                                     |
               ON ENTRY: DX = 1 TO READ THE RESISTIVE INPUTS            |    ³ ³ ³ ³ ³ ³ ³ ³                                      |
               ON EXIT:  AX = A(X),BX = A(Y), CX = B(X), DX = B(Y)      |    ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ RIGHT SHIFT KEY DEPRESSED       |
                                                                        |    ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ LEFT SHIFT KEY DEPRESSED        |
               AH = 85 - SYSTEM REQUEST KEY PRESSED                     |    ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ CONTROL SHIFT KEY DEPRESSED     |
                         AL = 00 MAKE OF KEY                            |    ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ ALTERNATE SHIFT KEY DEPRESSED   |
                            = 01 BREAK OF KEY                           |    ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ SCROLL LOCK STATE ACTIVE        |
                                                                        |    ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NUM LOCK STATE ACTIVE           |
               AH = 86 - ELAPSED TIME WAIT (PCAT AND AFTER)             |    ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CAPS LOCK STATE ACTIVE          |
                         CL,DX = NUMBER OF MICROSECONDS TO WAIT         |    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INSERT STATE IS ACTIVE          |
                                                                        |                                                         |
               AH = 87 - MOVE BLOCK TO/FROM EXTENDED MEMORY             |   ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                                     |
                         CX = WORD COUNT OF BLOCK TO BE MOVED           |   ³7³6³5³4³3³2³1³0³ AH                                  |
                         ES:SI = POINTER TO GLOBAL DESCRIPTOR TABLE     |   ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                                     |
                                                                        |    ³ ³ ³ ³ ³ ³ ³ ³                                      |
               AH = 88 - EXTENDED MEMORY SIZE DETERMINE                 |    ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ LEFT CONTROL KEY PRESSED        |
               ON EXIT:  AX = NUMBER OF CONTIGUOUS 1K BLOCKS OF         |    ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ LEFT ALT KEY DEPRESSED          |
                              MEMORY STARTING AT ADDRESS 1024K          |    ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ RIGHT CONTROL KEY PRESSED       |
                                                                        |    ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ RIGHT ALT KEY DEPRESSED         |
               AH = 89 - SWITCH PROCESSOR TO PROTECTED MODE             |    ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ SCROLL LOCK KEY DEPRESSED       |
                         ES:SI = POINTER TO GDT                         |    ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NUM LOCK KEY DEPRESSED          |
                         BH = OFFSET INTO IDT WHERE INTS 0-7 ARE        |    ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CAPS LOCK KEY DEPRESSED         |
                         BL = OFFSET INTO IDT WHERE INTS 8-15 ARE       |    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SYSTEM REQUEST KEY DEPRESSED    |
                                                                        |                                                         |
               AH = 90 - DEVICE BUSY                                    |               ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                 |
                         AL = TYPE CODE:                                |               ³ INT 17 - PRINTER BIOS ³                 |
                            = 00 - DISK                                 |               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                 |
                            = 01 - DISKETTE                             |                                                         |
                            = 02 - KEYBOARD                             |    AH = 00 - PRINT CHARACTER                            |
                            = 80 - NETWORK (ES:BX = NCB)                |              AL = CHARACTER TO PRINT                    |
                            = FC - DISK RESET                           |              DX = PRINTER TO BE USED (0,1,2)            |
                            = FD - DISKETTE MOTOR START                 |    ON EXIT:                                             |
                            = FE - PRINTER                              |              AH = STATUS                                |
               ON EXIT:  CY = 1 IF WAIT TIME SATISFIED                  |                                                         |
                                                                        |    AH = 01 - INITIALIZE THE PRINTER PORT                |
               AH = 91 - INTERRUPT COMPLETE                             |              DX = PRINTER PORT TO BE INITIALIZED (0,1,2)|
                         AL = TYPE CODE (SEE AH=90 ABOVE)               |    ON EXIT:                                             |
                                                                        |              AH = STATUS                                |
               AH = C0 - RETURN SYSTEM CONFIGURATION PARAMETERS         |                                                         |
               ON EXIT:  ES:BX = POINTER TO SYSTEM DESCRIPTOR:          |    AH = 02 - READ PRINTER PORT STATUS                   |
                                 WORD - LENGTH OF DESCRIPTOR            |              DX = PRINTER PORT TO BE USED (0,1,2)       |
                                 BYTE - MODEL BYTE                      |    ON EXIT:                                             |
                                 BYTE - SECONDARY MODEL BYTE            |              AH = STATUS                                |
                                 BYTE - BIOS REVISION LEVEL             |                                                         |
                                 BYTE - FEATURE INFORMATION:            |           ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                             |
                                 ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                      |           ³7³6³5³4³3³2³1³0³ PRINTER STATUS BITS         |
                                 ³7³6³5³4³3³2³1³0³ FEATURE BYTE         |           ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                             |
                                 ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                      |            ³ ³ ³ ³ ³ ³ ³ ³                              |
                                  ³ ³ ³ ³ ³ ³ ³ ³                       |            ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ TIME OUT                |
                                  ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÄÄÄÄ RESERVED         |            ³ ³ ³ ³ ³ ÀÄÁÄÄÄÄÄÄÄ NOT USED                |
                                  ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 15 AH=4F USED|            ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ I/O ERROR               |
                                  ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RTC PRESENT      |            ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ SELECTED                |
                                  ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 2ND 8259 PRESENT |            ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ OUT OF PAPER            |
                                  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DMA CHAN. 3 USED |            ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ACKNOWLEDGE             |
                                                                        |            ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NOT BUSY                |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |
                                                                        |                                                         |


               7                                                        |  8                                                      |
               INT 13 - FIXED DISK BIOS (CONTINUED)                     | INT 14 - ASYNCHRONOUS COMMUNICATIONS BIOS (CONTINUED)   |
                                                                        |                                                         |
               AH = 0A - READ LONG                                      |    AH = 01 - SEND CHARACTER IN AL                       |
               ON EXIT:  AL = NUMBER OF SECTORS ACTUALLY TRANSFERRED    |    ON EXIT:  AH = LINE STATUS                           |
                                                                        |                                                         |
               AH = 0B - WRITE LONG                                     |    AH = 02 - RECEIVE CHARACTER IN AL                    |
               ON EXIT:  AL = NUMBER OF SECTORS ACTUALLY TRANSFERRED    |    ON EXIT:  AH = LINE STATUS                           |
                                                                        |                                                         |
               AH = 0C - SEEK                                           |    AH = 03 - READ STATUS                                |
                                                                        |    ON EXIT:  AH = LINE STATUS                           |
               AH = 0D - ALTERNATE DISK RESET                           |              AL = MODEM STATUS                          |
                                                                        |                                                         |
               AH = 0E - READ SECTOR BUFFER (XT, PORTABLE ONLY)         |    AH = 04 - EXTENDED INITIALIZE                        |
               ON EXIT:  AL = NUMBER OF SECTORS ACTUALLY TRANSFERRED    |              AL = BREAK STATUS                          |
                                                                        |                 = 1 IF BREAK                            |
               AH = 0F - WRITE SECTOR BUFFER (XT, PORTABLE ONLY)        |                 = 0 IF NO BREAK                         |
               ON EXIT:  AL = NUMBER OF SECTORS ACTUALLY TRANSFERRED    |              BH = PARITY                                |
                                                                        |                 = 0 - NO PARITY                         |
               AH = 10 - TEST DRIVE READY                               |                 = 1 - ODD PARITY                        |
                                                                        |                 = 2 - EVEN PARITY                       |
               AH = 11 - RECALIBRATE                                    |                 = 3 - STICK PARITY ODD                  |
                                                                        |                 = 4 - STICK PARITY EVEN                 |
               AH = 12 - CONTROLLER RAM DIAGNOSTIC (XT, PORTABLE ONLY)  |              BL = NUMBER OF STOP BITS                   |
                                                                        |                 = 0 - ONE STOP BIT                      |
               AH = 13 - DRIVE DIAGNOSTIC (XT, PORTABLE ONLY)           |                 = 1 - 2 STOP BITS (1« IF 5 BIT WORD LEN)|
                                                                        |              CH = WORD LENGTH                           |
               AH = 14 - CONTROLLER INTERNAL DIAGNOSTIC                 |                 = 0 - 5 BITS                            |
                                                                        |                 = 1 - 6 BITS                            |
               AH = 15 - READ DASD TYPE (PC/AT ONLY)                    |                 = 2 - 7 BITS                            |
               ON EXIT:  AH = 00 IF DRIVE NOT PRESENT                   |                 = 3 - 8 BITS                            |
                            = 03 IF FIXED DISK PRESENT                  |              CL = BAUD RATE                             |
                         CX,DX = NUMBER OF 512 BYTE BLOCKS              |                 = 0 - 110                               |
                                                                        |                 = 1 - 150                               |
               AH = 16 - RESERVED FOR DISKETTE                          |                 = 2 - 300                               |
                                                                        |                 = 3 - 600                               |
               AH = 17 - RESERVED FOR DISKETTE                          |                 = 4 - 1200                              |
                                                                        |                 = 5 - 2400                              |
               AH = 18 - RESERVED FOR DISKETTE                          |                 = 6 - 4800                              |
                                                                        |                 = 7 - 9600                              |
               AH = 19 - PARK FIXED DISK HEADS (XT MODEL 286)           |                 = 8 - 19200                             |
                                                                        |    ON EXIT:                                             |
                                                                        |              AL = MODEM STATUS                          |
                 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿          |              AH = LINE CONTROL STATUS                   |
                 ³ INT 14 - ASYNCHRONOUS COMMUNICATIONS BIOS ³          |                                                         |
                 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ          |    AH = 05 - EXTENDED COMMUNICATION PORT CONTROL        |
                                                                        |              AL = 00 - READ MODEM CONTROL REGISTER      |
                FOR INT 14 THE FOLLOWING STATUS IS DEFINED:             |                        BL = MODEM CONTROL REG (SEE AL=1)|
                                                                        |              AL = 01 - WRITE MODEM CONTROL REGISTER     |
                    ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                                   |                        BL = MODEM CONTRO REGISTER:      |
                    ³7³6³5³4³3³2³1³0³ MODEM STATUS                      |              ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                          |
                    ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                                   |              ³7³6³5³4³3³2³1³0³ BL (FOR AL=00 AND AL=01) |
                     ³ ³ ³ ³ ³ ³ ³ ³                                    |              ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                          |
                     ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ DELTA CLEAR TO SEND           |               ³ ³ ³ ³ ³ ³ ³ ³                           |
                     ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ DELTA DATA SET READY          |               ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ DATA TERMINAL READY  |
                     ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ TRAILING EDGE RING DETECTOR   |               ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ REQUEST TO SEND      |
                     ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ DELTA RECEIVE LINE SIGNAL DET.|               ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ OUT1                 |
                     ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ CLEAR TO SEND                 |               ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ OUT2                 |
                     ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DATA SET READY                |               ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ LOOP                 |
                     ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RING INDICATOR                |               ÀÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RESERVED             |
                     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RECEIVE LINE SIGNAL DETECT    |    ON EXIT:                                             |
                                                                        |              AH = STATUS                                |
                    ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                                   |                                                         |
                    ³7³6³5³4³3³2³1³0³ LINE STATUS                       |                                                         |
                    ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                                   |              ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿          |
                     ³ ³ ³ ³ ³ ³ ³ ³                                    |              ³ INT 15 - SYSTEM SERVICES BIOS ³          |
                     ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ DATA READY                    |              ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ          |
                     ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ OVERRUN ERROR                 |                                                         |
                     ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ PARITY ERROR                  |    INPUT PARAMETERS:                                    |
                     ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ FRAMING ERROR                 |                                                         |
                     ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ BREAK DETECT                  |    AH = 00 - TURN CASSETTE MOTOR ON (PC,PCjr ONLY)      |
                     ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TRANSMIT HOLDING REG. EMPTY   |                                                         |
                     ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TRANSMIT SHIFT REGISTER EMPTY |    AH = 01 - TURN CASSETTE MOTOR OFF (PC,PCjr ONLY)     |
                     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TIME OUT *                    |                                                         |
                                                                        |    AH = 02 - READ BLOCKS FROM CASETTE (PC,PCjr ONLY)    |
                 * NOTE: IF BIT 7 SET THEN OTHER BITS ARE INVALID       |              ES:BX = OFFSET OF DATA BUFFER              |
                                                                        |              CX = COUNT OF BYTES TO READ                |
                ALL ROUTINES HAVE AH=FUNCTION NUMBER AND DX=RS232 CARD  |    ON EXIT:                                             |
                NUMBER (0 BASED). AL=CHARACTER TO SEND OR RECEIVED      |              ES:BX = OFFSET OF LAST BYTE READ+1         |
                CHARACTER ON EXIT, UNLESS OTHERWISE NOTED.              |              DX = COUNT OF BYTES ACTUALLY READ          |
                                                                        |              AH = ERROR CODE IF CY=1                    |
               AH = 00 - INITIALIZE COMMUNICATIONS PORT                 |                                                         |
                         AL = PARMS FOR INITIALIZATION:                 |    AH = 03 - WRITE BLOCKS TO CASETTE (PC,PCjr ONLY)     |
                         ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                              |              ES:BX = OFFSET OF DATA BUFFER              |
                         ³7³6³5³4³3³2³1³0³ AL                           |              CX = COUNT OF BYTES TO WRITE               |
                         ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                              |    ON EXIT:                                             |
                          ³ ³ ³ ³ ³ ³ ³ ³                               |              ES:BX = OFFSET OF LAST BYTE WRITTEN+1      |
                          ³ ³ ³ ³ ³ ³ ÀÄÁÄÄÄÄÄ WORD LENGTH              |              AH = ERROR CODE IF CY=1                    |
                          ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ STOP BITS                |                                                         |
                          ³ ³ ³ ÀÄÁÄÄÄÄÄÄÄÄÄÄÄ PARITY                   |    AH = 40 - READ / MODIFY PROFILES (CONVERTIBLE ONLY)  |
                          ÀÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ BAUD RATE                |              AL = 00 - RETURN SYSTEM PROFILE IN CX,BX   |
                                                                        |              AL = 01 - MODIFY SYSTEM PROFILE            |
                         WORD LENGTH: 10 = 7 BITS                       |                        CX,BX = PROFILE INFO             |
                                      11 = 8 BITS                       |              AL = 02 - RET. INTERNAL MODEM PROFILE IN BX|
                                                                        |              AL = 03 - MODIFY INTERNAL MODEM PROFILE    |
                           STOP BITS:  0 = 1 STOP BIT                   |                        BX = PROFILE INFO                |
                                       1 = 2 STOP BITS                  |                                                         |
                                                                        |    AH = 41 - WAIT ON EXTERNAL EVENT (CONVERTIBLE ONLY)  |
                              PARITY: X0 = NONE                         |              AL = CONDITION TYPE:                       |
                                      01 = ODD                          |          ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿                              |
                                      11 = EVEN                         |          ³7³6³5³4³3³2³1³0³ AL                           |
                                                                        |          ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ                              |
                           BAUD RATE:000 = 110 BAUD                     |           ³ ³ ³ ³ ³ ³ ³ ³                               |
                                     001 = 150 BAUD                     |           ³ ³ ³ ³ ³ ÀÄÁÄÁÄÄÄÄÄ CONDITION TO WAIT FOR    |
                                     010 = 300 BAUD                     |           ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ RESERVED                 |
                                     011 = 600 BAUD                     |           ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ 1=PORT ADDR./0=USER BYTE |
                                     100 = 1200 BAUD                    |           ÀÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RESERVED                 |
                                     101 = 2400 BAUD                    |                                                         |
                                     110 = 4800 BAUD                    |              CONDITION CODES:                           |
                                     111 = 9600 BAUD                    |                                                         |
                                                                        |              0 = ANY EXTERNAL EVENT                     |
               ON EXIT:  AL = MODEM STATUS                              |              1 = COMPARE AND RETURN IF EQUAL            |
                         AH = LINE STATUS                               |              2 = COMPARE AND RETURN IF NOT EQUAL        |
                                                                        |              3 = TEST AND RETURN IF NOT ZERO            |
                                                                        |              4 = TEST AND RETURN IF ZERO                |
                                                                        |                                                         |
                                               CONTINUED ON NEXT PANEL  |                                                         |
                                                                        |                                CONTINUED ON NEXT PANEL  |
                                                                        |                                                         |