Category : Miscellaneous Language Source Code
Archive   : BIOS-DOS.ZIP
Filename : BIOSREF1.CRD

 
Output of file : BIOSREF1.CRD contained in archive : BIOS-DOS.ZIP
SAU
| |
1 IBM BIOS QUICK REFERENCE SUMMARY | 2 |
by DAVID E. POWELL | |
All values are in hex | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
| ³ INT 09 - KEYBOARD INTERRUPT ³ |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
³ BIOS DATA AREA ³ | |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | INPUT PARAMETERS: NONE |
| OUTPUT PARAMETERS: NONE |
ADDR. SIZE DESCRIPTION | MEMORY: |
| |
40:00 WORD COM1 PORT ADDRESS | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
40:02 WORD COM2 PORT ADDRESS | ³7³6³5³4³3³2³1³0³ 40:17 |
40:04 WORD COM3 PORT ADDRESS | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
40:06 WORD COM4 PORT ADDRESS | ³ ³ ³ ³ ³ ³ ³ ³ |
40:08 WORD LPT1 PORT ADDRESS | ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ RIGHT SHIFT KEY DEPRESSED |
40:0A WORD LPT2 PORT ADDRESS | ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ LEFT SHIFT KEY DEPRESSED |
40:0C WORD LPT3 PORT ADDRESS | ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ CONTROL SHIFT KEY DEPRESSED |
40:0E WORD LPT4 PORT ADDRESS | ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ ALTERNATE SHIFT KEY DEPRESSED |
40:10 WORD EQUIPMENT FLAG (SEE INT 11) | ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ SCROLL LOCK STATE HAS BEEN TOGGLED|
40:13 WORD MEMORY SIZE IN KBYTES | ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NUM LOCK STATE HAS BEEN TOGGLED |
40:17 BYTE KEYBOARD FLAG BYTE 0 (SEE INT 9) | ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CAPS LOCK STATE HAS BEEN TOGGLED |
40:18 BYTE KEYBOARD FLAG BYTE 1 (SEE INT 9) | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INSERT STATE IS ACTIVE |
40:19 BYTE STORAGE FOR ALTERNATE KEYPAD ENTRY | |
40:1A WORD POINTER TO KEYBOARD BUFFER HEAD | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
40:1C WORD POINTER TO KEYBOARD BUFFER TAIL | ³7³6³5³4³3³2³1³0³ 40:18 |
40:1E 20BYTES KEYBOARD BUFFER | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
40:3E BYTE DRIVE RECALIBRATION STATUS | ³ ³ ³ ³ ³ ³ ³ ³ |
40:3F BYTE MOTOR STATUS | ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ LEFT CONTROL KEY DEPRESSED |
40:3E BYTE DRIVE RECALIBRATION STATUS | ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ LEFT ALT SHIFT KEY DEPRESSED |
40:3F BYTE MOTOR STATUS | ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ SYSTEM KEY DEPRESSED AND HELD |
40:40 BYTE MOTOR OFF COUNTER (DECR. BY TIMER) | ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ SUSPEND KEY HAS BEEN TOGGLED |
40:41 BYTE STATUS OF LAST DISKETTE OPERATION | ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ SCROLL LOCK KEY IS DEPRESSED |
40:42 7 BYTES NEC STATUS | ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NUM LOCK KEY IS DEPRESSED |
40:49 BYTE CURRENT CRT MODE | ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CAPS LOCK KEY IS DEPRESSED |
40:4A WORD NUMBER OF COLUMNS ON SCREEN | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INSERT KEY IS DEPRESSED |
40:4C WORD REGEN BUFFER LENGTH IN BYTES | |
40:4E WORD STARTING OFFSET OF REGEN BUFFER | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
40:50 8 WORDS CURSOR POSITION PAGES 1-8 | ³7³6³5³4³3³2³1³0³ 40:96 |
40:60 BYTE END LINE FOR CURSOR | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
40:61 BYTE START LINE FOR CURSOR | ³ ³ ³ ³ ³ ³ ³ ³ |
40:62 BYTE CURRENT PAGE BEING DISPLAYED | ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ LAST CODE WAS THE E1 HIDDEN CODE |
40:63 WORD BASE PORT ADDRESS FOR ACTIVE DISPLAY | ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ LAST CODE WAS THE E0 HIDDEN CODE |
40:65 BYTE CURRENT SETTING OF THE 3X8 REGISTER | ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ RIGHT CTL KEY DOWN |
40:66 BYTE CURRENT PALETTE SETTING COLOR CARD | ³ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄ RIGHT ALT KEY DOWN |
40:67 DWORD TEMP. STORAGE FOR SS:SP DURING SHUTDOWN | ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ ALT GRAPHICS KEY DOWN (WT ONLY) |
40:6C DWORD TIMER COUNTER LOW WORD, HIGH WORD | ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ENHANCED KEYBOARD INSTALLED |
40:70 BYTE 24 HOUR TIMER OVERFLOW | ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ FORCE NUM LOCK IF RD ID & KBX |
40:71 BYTE BIOS BREAK FLAG (BIT 7 = BREAK KEY HIT) | ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ LAST CHAR WAS FIRST ID CHAR |
40:72 WORD RESET FLAG (1234 = SOFT RESET) | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DOING A READ ID (MUST BE BIT0) |
40:74 BYTE STATUS OF LAST HARD DISK OPERATION | |
40:75 BYTE NUMBER OF HARD FILES ATTACHED | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
40:77 BYTE PORT OFFSET TO CURRENT HF ADAPTER | ³7³6³5³4³3³2³1³0³ 40:97 |
40:78 4 BYTES TIMEOUT VALUE FOR LPT1,LPT2,LPT3,LPT4 | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
40:7C 4 BYTES TIMEOUT VALUE FOR COM1,COM2,COM3,COM4 | ³ ³ ³ ³ ³ ³ ³ ³ |
40:80 WORD KEYBOARD BUFFER START OFFSET (SEG=40) | ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ SCROLL LOCK INDICATOR |
40:82 WORD KEYBOARD BUFFER END OFFSET (SEG=40H) | ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ NUM LOCK INDICATOR |
40:84 BYTE ROWS ON THE SCREEN (EGA ONLY) | ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ CAPS LOCK INDICATOR |
40:85 WORD BYTES PER CHARACTER (EGA ONLY) | ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ CIRCUS SYSTEM INDICATOR |
40:87 BYTE MODE OPTIONS (EGA ONLY) | ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ACK RECEIVED |
40:88 BYTE FEATURE BIT SWITCHES (EGA ONLY) | ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RESEND RECEIVED FLAG |
40:8B BYTE LAST DISKETTE DATA RATE SELECTED | ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MODE INDICATOR UPDATE |
40:8C BYTE HARD FILE STATUS RETURNED BY CONTROLLER | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ KEYBOARD TRANSMIT ERROR FLAG |
40:8D BYTE HARD FILE ERROR RETURNED BY CONTROLLER | |
40:8E BYTE HARD FILE INTERRUPT (BIT 7=WORKING INT) | |
40:90 4 BYTES MEDIA STATE DRIVE 0,1,2,3 | 40:1E = KEYBOARD BUFFER (20H BYTES) |
40:94 2 BYTES TRACK CURRENTLY SEEKED TO DRIVE 0,1 | 40:1C = BUFFER TAIL POINTER |
40:96 BYTE KEYBOARD FLAG BYTE 3 (SEE INT 9) | 40:72 = 1234H IF CTL-ALT-DEL PRESSED ON KEYBOARD |
40:97 BYTE KEYBOARD FLAG BYTE 2 (SEE INT 9) | INT 05 INVOKED IF PRINT SCREEN KEY PRESSED. |
40:98 DWORD POINTER TO USERS WAIT FLAG | INT 1B INVOKED IF CTL-BREAK KEY SEQUENCE PRESSED. |
40:9C DWORD USERS TIMEOUT VALUE IN MICROSECONDS | INT 15, AH=85 INVOKED ON PC/AT AND AFTER IF SYSTEM |
40:A0 BYTE RTC WAIT FUNCTION IN USE | REQUEST KEY IS PRESSED. |
40:A1 BYTE LANA DMA CHANNEL FLAGS | INT 15, AH=4F INVOKED ON MACHINES AFTER PC/AT WITH |
40:A2 2 BYTES STATUS LANA 0,1 | AL = SCAN CODE |
40:A4 DWORD SAVED HARDFILE INTERRUPT VECTOR | |
40:A8 DWORD EGA POINTER TO PARAMETER TABLE | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
40:B4 BYTE KEYBOARD NMI CONTROL FLAGS (CONVERTIBLE) | ³ INT 10 - VIDEO BIOS ³ |
40:B5 DWORD KEYBOARD BREAK PENDING FLAGS (CONVERTIBLE)| ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
40:B9 BYTE PORT 60 SINGLE BYTE QUEUE (CONVERTIBLE) | |
40:BA BYTE SCAN CODE OF LAST KEY (CONVERTIBLE) | INPUT PARAMETERS: |
40:BB BYTE POINTER TO NMI BUFFER HEAD (CONVERTIBLE) | |
40:BC BYTE POINTER TO NMI BUFFER TAIL (CONVERTIBLE) | AH = 00 - SET VIDEO MODE |
40:BD 16BYTES NMI SCAN CODE BUFFER (CONVERTIBLE) | |
40:CE WORD DAY COUNTER (CONVERTIBLE AND AFTER) | AL = 00 - 40x25 ALPHANUMERIC B/W |
50:00 BYTE PRINT SCREEN STATUS BYTE | = 01 - 40x25 ALPHANUMERIC COLOR |
| = 02 - 80x25 ALPHANUMERIC B/W |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | = 03 - 80x25 ALPHANUMERIC COLOR |
³ INT 05 - PRINT SCREEN ³ | = 04 - 320x200 COLOR GRAPHICS |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | = 05 - 320x200 B/W GRAPHICS |
| = 06 - 640x200 B/W GRAPHICS |
| = 07 - 80x25 MONOCHROME ALPHA |
INPUT PARAMETERS: NONE | = 08 - 160x200 COLOR GRAPHICS (PCJR) |
OUTPUT PARAMETERS: NONE | = 09 - 320x200 COLOR GRAPHICS (PCJR) |
MEMORY: | = 0A - 640x200 COLOR GRAPHICS (PCJR) |
| = 0D - 320x200 MONOCHROME GRAPHICS (EGA +) |
50:0 = 00 - PRINT SCREEN HAS NOT BEEN CALLED, OR | = 0E - 640x200 MONOCHROME GRAPHICS (EGA +) |
UPON RETURN FROM A CALL THERE WERE NO | = 0F - 640x350 MONOCHROME GRAPHICS (EGA +) |
ERRORS. | = 10 - 640x350 MONOCHROME HI-RES (EGA +) |
| |
= 01 - PRINT SCREEN IS ALREADY IN PROGRESS. | AH = 01 - SET CURSOR TYPE |
| |
= FF - ERROR ENCOUNTERED DURING PRINTING. | CH = TOP LINE FOR CURSOR (BITS 4-0) |
| CL = BOTTOM LINE FOR CURSOR (BITS 4-0) |
| |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | AH = 02 - SET CURSOR POSITION |
³ INT 08 - SYSTEM TIMER ³ | |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | DH = ROW |
| DL = COLUMN |
INPUT PARAMETERS: NONE | BH = PAGE NUMBER (0 FOR GRAPHICS MODES) |
OUTPUT PARAMETERS: NONE | |
MEMORY: | AH = 03 - READ CURSOR POSITION |
| ON EXIT: |
40:6C = NUMBER OF INTERRUPTS SINCE POWER ON (4 BYTES) | DH = ROW # |
40:70 = NUMBER OF DAYS SINCE POWER ON (1 BYTE) | DL = COLUMN # |
40:67 = DAY COUNTER ON ALL PRODUCTS AFTER PC/AT | CH = TOP LINE FOR CURSOR (BITS 4-0) |
40:40 = MOTOR CONTROL COUNT - GETS DECREMENTED | CL = BOTTOM LINE FOR CURSOR (BITS 4-0) |
AND SHUTS OFF DISKETTE MOTOR IF ZERO | |
| |
INT 1C INVOKED AS A USER INTERRUPT. | CONTINUED ON NEXT PANEL |
| |


| |
3 | 4 |
INT 10 - VIDEO BIOS (CONTINUED) | INT 10 - VIDEO BIOS AH = 11 (CONTINUED) |
| |
AH = 04 - READ LIGHT PEN POSITION | AL = 02 - ROM 8X8 DOUBLE DOT |
ON EXIT: AH = 0 IF LIGHT PEN SWITCH IS NOT TRIGGERED | BL = BLOCK TO LOAD |
AH = 1 IF REGISTERS HAVE VALID VALUES | |
DH = ROW | AL = 03 - SET BLOCK SPECIFIER |
DL = COLUMN | BL = CHARACTER GEN BLOCK SPECIFIER |
CH = RASTER LINE (0-199) | |
CX = RASTER LINE ON NEW GRAPHICS MODES | AL = 10 - USER ALPHA LOAD |
BX = PIXEL COLUMN (0-319,639) | ES:BP = POINTER TO USER TABLE |
| CX = COUNT TO STORE |
AH = 05 - SELECT ACTIVE DISPLAY PAGE | DX = CHARACTER OFFSET INTO TABLE |
AL = NEW PAGE INFO, SEE AH=0 FOR PAGE INFO | BH = NUMBER OF BYTES PER CHARACTER |
FOR PCjr ONLY: | BL = BLOCK TO LOAD |
AL = 80 TO READ CRT/CPU PAGE REGISTERS | |
= 81 TO SET CPU PAGE REGISTER | AL = 11 - ROM MONOCHROME SET |
BL = CPU PAGE REGISTER | BL = BLOCK TO LOAD |
= 82 TO SET CRT PAGE REGISTER | |
BH = CRT PAGE REGISTER | AL = 12 - ROM 8X8 DOUBLE DOT |
= 83 TO SET CPU AND PAGE REGISTERS | BL = BLOCK TO LOAD |
BH = CRT PAGE REGISTER | |
BL = CPU PAGE REGISTER | AL = 20 - USER GRAPHICS CHARS INT 01FH (8X8) |
ON EXIT: | ES:BP = POINTER TO USER TABLE |
BH = CRT PAGE REGISTER | |
BL = CPU PAGE REGISTER | AL = 21 - USER GRAPHICS CHARS |
| ES:BP = POINTER TO USER TABLE |
AH = 06 - SCROLL ACTIVE PAGE UP | CX = BYTES PER CHARACTER |
AL = NUMBER OF LINES, INPUT LINES BLANKED | BL = ROW SPECIFIER |
CX = ROW,COLUMN OF UPPER LEFT CORNER OF SCROLL | BL = 0 - USER SPECIFIED |
DX = ROW,COLUMN OF LOWER RIGHT CORNER OF SCROLL| DL = ROWS |
BH = ATTRIBUTE TO BE USED ON BLANK LINE | BL = 1 - 0E ROWS |
| BL = 2 - 19 ROWS |
AH = 07 - SCROLL ACTIVE PAGE DOWN | BL = 3 - 2B ROWS |
AL = NUMBER OF LINES, INPUT LINES BLANKED | |
CX = ROW,COLUMN OF UPPER LEFT CORNER OF SCROLL | AL = 22 - ROM 8X14 SET |
DX = ROW,COLUMN OF LOWER RIGHT CORNER OF SCROLL| BL = ROW SPECIFIER |
BH = ATTRIBUTE TO BE USED ON BLANK LINE | |
| AL = 23 - ROM 8X8 DOUBLE DOT |
AH = 08 - READ ATTRIBUTE/CHARACTER AT CURSOR POSITION | BL = ROW SPECIFIER |
BH = DISPLAY PAGE | |
ON EXIT: | AL = 30 - RETURN INFORMATION |
AL = CHARACTER AT CURRENT CURSOR POSITION | ES:BP = POINTER TO TABLE |
AH = ATTRIBUTE OF CHARACTER (ALPHA MODES ONLY) | DL = ROWS |
| CX = POINTS |
AH = 09 - WRITE ATTRIBUTE/CHARACTER AT CURSOR POSITION | BH = INFORMATION DESIRED: |
BH = DISPLAY PAGE | = 0 - INT 1F POINTER |

CX = COUNT OF CHARACTERS TO WRITE | = 1 - INT 44 POINTER |
AL = CHARACTER TO WRITE | = 2 - ROM 8X14 POINTER |
BL = ATTRIBUTE/COLOR OF CHARACTER. IF | = 3 - ROM DOUBLE DOT POINTER |
BIT 7=1 IN GRAPHICS MODE THEN XOR | = 4 - ROM DOUBLE DOT POINTER (TOP)|
THE COLOR VALUE WITH ITS CURRENT VALUE | = 5 - ROM ALPHA ALTERNATE 9X14 |
| |
AH = 0A - WRITE CHARACTER ONLY AT CURRENT CURSOR POSITION| AH = 12 - ALTERNATE SELECT (EGA AND AFTER) |
BH = DISPLAY PAGE | |
CX = COUNT OF CHARACTERS TO WRITE | BL = 10 - RETURN EGA INFORMATION |
AL = CHARACTER TO WRITE | ON EXIT: BH = 0 IF COLOR MODE IS IN EFFECT |
NOTE: SHOULD NOT BE USED IN GRAPHICS MODES | = 1 IF MONO MODE IS IN EFFECT |
| BL = 0 IF 64K EGA MEMORY |
AH = 0B - SET COLOR PALETTE | = 0 IF 128K EGA MEMORY |
BH = 0 FOR BACKGROUND, =1 FOR FOREGROUND | = 0 IF 192K EGA MEMORY |
BL = COLOR VALUE | = 0 IF 256K EGA MEMORY |
| CH = FEATURE BITS |
AH = 0C - WRITE DOT | CL = SWITCH SETTINGS |
BH = PAGE NUMBER | |
DX = ROW NUMBER | BL = 20 - SELECT ALTERNATE PRINT SCREEN ROUTINE|
CX = COLUMN NUMBER | |
AL = COLOR VALUE (XOR'D IF BIT 7=1) | AH = 13 - WRITE STRING (EGA AND AFTER) |
| |
AH = 0D - READ DOT | ES:BP = STRING TO BE WRITTEN |
BH = PAGE NUMBER | CX = CHARACTER ONLY COUNT |
DX = ROW NUMBER | DX = POSITION TO BEGIN STRING, IN CURSOR TERMS |
CX = COLUMN NUMBER | BH = PAGE NUMBER |
AL = DOT READ UPON RETURN | BL = ATTRIBUTE IF AL BIT 1=0 |
| AL = TYPE OF WRITE: |
AH = 0E - WRITE TELETYPE TO ACTIVE PAGE | |
AL = CHARACTER TO WRITE | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
BL = FOREGROUND COLOR IN GRAPHICS MODE | ³7³6³5³4³3³2³1³0³ AL |
BH = PAGE NUMBER | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
| ³ ³ ³ ³ ³ ³ ³ ³ |
AH = 0F - RETURN CURRENT VIDEO STATE | ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ MOVE CURSOR |
ON EXIT: AL = MODE CURRENTLY SET (SEE AH=0) | ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ STRING HAS ATTRIBUTES |
AH = NUMBER OF CHARACTER COLUMNS ON SCREEN | ÀÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄ NOT USED |
BH = CURRENT ACTIVE DISPLAY PAGE | |
| AH = 14 - LOAD LCD CHAR FONT (CONVERTIBLE ONLY) |
AH = 10 - SET/GET PALETTE REGISTERS (EGA AND AFTER) | |
| AL = 0 - LOAD USER SPECIFIED FONT |
AL = 00 - SET INDIVIDUAL PALETTE REGISTER | ES:DI = POINTER TO CHARACTER FONT |
BH = VALUE TO SET | CX = NUMBER OF CHARACTERS TO STORE |
BL = PALETTE REGISTER TO BE SET | DX = CHAR OFFSET INTO RAM FONT AREA |
| BH = NUMBER OF BYTES PER CHARACTER |
AL = 01 - SET OVERSCAN REGISTER | BL = 0 - LOAD MAIN FONT (BLOCK 0) |
BH = VALUE TO SET | = 1 - LOAD ALTERNATE FONT (BLOCK 1)|
| |
AL = 02 - SET ALL PALETTE REGS AND OVERSCAN | AL = 1 - LOAD SYSTEM ROM DEFAULT FONT |
ES:DX = POINTER TO 16-BYTE TABLE | BL = 0 - LOAD MAIN FONT (BLOCK 0) |
OF REGISTER VALUES FOLLOWED | = 1 - LOAD ALTERNATE FONT (BLOCK 1)|
BY THE OVERSCAN VALUE | |
| AL = 2 - SET MAPPING OF LCD HIGH INT. ATTR. |
AL = 03 - TOGGLE THE INTENSIFY/BLINKING BIT | BL = 0 - IGNORE HIGH INTENSITY ATTR. |
BL = 0 - ENABLE INTENSIFY | = 1 - MAP HIGH INT. TO UNDERSCORE |
BL = 1 - ENABLE BLINKING | = 2 - MAP HIGH INT. TO REVERSE VID.|
| = 3 - MAP HI INT. TO SEL. ALT FONT |
AH = 11 - CHARACTER GENERATOR ROUTINE (EGA AND AFTER) | |
| AH = 15 - RETURN PHYSICAL DISPLAY PARMS (CONVERTIBLE) |
AL = 00 - USER ALPHA LOAD | ON EXIT: |
ES:BP = POINTER TO USER TABLE | AX = ALTERNATD DISPLAY ADAPTER TYPE |
CX = COUNT TO STORE | ES:DI = POINTER TO PARAMETER TABLE: |
DX = CHARACTER OFFSET INTO TABLE | WORD # INFORMATION |
BL = BLOCK TO LOAD | 1 MONITOR MODEL NUMBER |
BH = NUMBER OF BYTES PER CHARACTER | 2 VERTICAL PELS PER METER |
| 3 HORIZONTAL PELS PER METER |
AL = 01 - ROM MONOCHROME SET | 4 TOTAL NUMBER OF VERTICAL PELS |
BL = BLOCK TO LOAD | 5 TOTAL NUMBER OF HORIZONTAL PELS |
| 6 HORIZ. PEL SEPERATION IN MICROMETERS|
| 7 VERT. PEL SEPERATION IN MICROMETERS |
| |
| |
CONTINUED ON NEXT PANEL | |


| |
5 | 6 INT 13 - DISKETTE BIOS (CONTINUED) |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | |
³ INT 11 - EQUIPMENT DETERMINATION ³ | DISKETTE STATUS DEFINITIONS |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | |
| 80 = TIME OUT ³ 08 = DMA FAILURE |
INPUT PARAMETERS: NONE | 40 = SEEK FAILURE ³ 06 = MEDIA CHANGE |
OUTPUT PARAMETERS: | 20 = NEC CONTROLLER FAILURE ³ 04 = SECTOR NOT FOUND |
| 10 = CRC ERROR ³ 03 = WRITE PROTECTED |
ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ | 0C = UNSUPPORTED TRACK ³ 02 = BAD ADDRESS MARK |
³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³ AX | 09 = DMA BOUNDARY ERROR ³ 01 = INVALID FUNCTION |
ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ | |
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ | CY = 1 IF STATUS PRESENTED IS NOT ZERO |
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄ IPL DISKETTE INSTALLED | |
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄ MATH COPROCESSOR | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ NOT USED | ³ INT 13 - FIXED DISK BIOS ³ |
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ NOT USED | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÄÄÄÄÄÄÄÄ INITIAL VIDEO MODE | |
³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄ # OF DISKETTE DRIVES | UNLESS OTHERWISE NOTED, ALL FIXED DISK INTERRUPT |
³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NOT USED | CALLS FUNCTION AS FOLLOWS: |
³ ³ ³ ³ ÀÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NUMBER OF RS232 CARDS | INPUT PARAMETERS: |
³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NOT USED | AH = FUNCTION REQUEST NUMBER |
³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT. MODEM INSTALLED | AL = NUMBER OF SECTORS |
ÀÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NUMBER OF PRINTERS | BX = ADDRESS OF USER BUFFER (ES = SEGMENT) |
| CH = CYLINDER NUMBER |
NOTE: INITIAL VIDEO MODE (BITS 4 & 5) | (BITS 9,A = BITS 7,8 OF CL) |
00 - UNUSED 01 - 40x25 COLOR CARD | CL = SECTOR NUMBER |
10 - 80x25 COLOR CARD 11 - 80x25 MONOCHROME CARD | DH = HEAD NUMBER |
| DL = DRIVE NUMBER, BIT 7=1 |
| OUTPUT PARAMETERS: |
| AH = STATUS OF OPERATION: |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | |
³ INT 12 - MEMORY SIZE DETERMINE ³ | BB = UNDEFINED ERROR ³ 09 = DMA BOUNDARY ERROR |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | AA = DRIVE NOT READY ³ 08 = DMA FAILURE |
| 80 = TIME OUT ³ 07 = PARAMETER ACT. FAIL |
INPUT PARAMETERS: NONE | 40 = SEEK FAILURE ³ 05 = RESET FAILED |
OUTPUT PARAMETERS: | 20 = CONTROLLER FAILURE ³ 04 = SECTOR NOT FOUND |
| 11 = DATA ECC CORRECTED ³ 03 = WRITE PROTECT ERROR |
AX = NUMBER OF CONTIGUOUS 1K BLOCKS OF MEMORY | 10 = BAD ECC ON DISK READ³ 02 = BAD ADDRESS MARK |
| 0B = BAD TRACK DETECTED ³ 01 = INVALID FUNCTION REQ. |
MEMORY: NONE | 0A = BAD SECTOR DETECTED ³ 00 = NO ERROR |
| |
| CY = 1 IF STATUS NOT ZERO |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | |
³ INT 13 - DISKETTE BIOS ³ | |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | AH = 00 - RESET FIXED DISK SYSTEM |
| |
INPUT PARAMETERS: | AH = 01 - READ STATUS OF LAST OPERATION |
| ON EXIT: AL = STATUS OF LAST OPERATION |
AH = 00 - RESET DISKETTE SYSTEM | |
ON EXIT: AH = STATUS | AH = 02 - READ THE DESIRED SECTORS INTO MEMORY |
| |
AH = 01 - READ STATUS OF LAST OPERATION | AH = 03 - WRITE THE DESIRED SECTORS FROM MEMORY |
ON EXIT: AH = STATUS | |
| AH = 04 - VERIFY THE DESIRED SECTORS |
AH = 02 - READ THE DESIRED SECTORS INTO MEMORY | |
AL = NUMBER OF SECTORS | AH = 05 - FORMAT THE DESIRED TRACK |
BX = ADDRESS OF BUFFER (ES=SEGMENT) | AL = INTERLEAVE VALUE (XT ONLY) |
CH = TRACK NUMBER | |
CL = SECTOR NUMBER | BX = FORMAT BUFFER, SIZE = 512 BYTES |
DH = HEAD NUMBER | THE FIRST 2*(SECTORS/TRACK) BYTES |
DL = DRIVE NUMBER (BIT 7=0) | CONTAIN F,N FOR EACH SECTOR. |
ON EXIT: | F=00 FOR GOOD SECTOR, 80 FOR BAD SECTOR |
AL = NUMBER OF SECTORS TRANSFERRED | N=SECTOR NUMBER |
AH = STATUS | |
| AH = 06 - FORMAT TRACK AND SET BAD SECTOR FLAGS |
AH = 03 - WRITE THE DESIRES SECTORS FROM MEMORY | (VALID FOR XT AND PORTABLE ONLY) |
AL,BX,CX,DX SAME AS AH=02 | AL = INTERLEAVE VALUE (XT ONLY) |
| BX = FORMAT BUFFER, SIZE = 512 BYTES |
AH = 04 - VERIFY THE DESIRED SECTORS | THE FIRST 2*(SECTORS/TRACK) BYTES |
AL,BX,CX,DX SAME AS AH=02 | CONTAIN F,N FOR EACH SECTOR. |
| F=00 FOR GOOD SECTOR, 80 FOR BAD SECTOR |
AH = 05 - FORMAT THE DESIRED TRACK | N=SECTOR NUMBER |
AL,BX,CX,DX SAME AS AH=02 | |
BUFFER CONTAINS ADDRESS FIELDS OF THE | AH = 07 - FORMAT THE DRIVE STARTING AT THE DESIRED TRACK|
FORM C,H,R,N FOR EACH SECTOR FORMATTED | (VALID FOR XT AND PORTABLE ONLY) |
| AL = INTERLEAVE VALUE (XT ONLY) |
AH = 06 - RESERVED FOR FIXED DISK | BX = FORMAT BUFFER, SIZE = 512 BYTES |
| THE FIRST 2*(SECTORS/TRACK) BYTES |
AH = 07 - RESERVED FOR FIXED DISK | CONTAIN F,N FOR EACH SECTOR. |
| F=00 FOR GOOD SECTOR, 80 FOR BAD SECTOR |
AH = 08 - READ DRIVE PARAMETERS | N=SECTOR NUMBER |
ON EXIT: AH = STATUS OF OPERATION | |
| AH = 08 - READ DRIVE PARAMETERS |
AH = 15 - READ DASD TYPE | ON EXIT: |
DL = DRIVE NUMBER | DL = NUMBER OF CONSECUTIVE ACKNOWLEDGING DRIVES |
ON EXIT: | DH = MAXIMUM USABLE VALUE FOR HEAD NUMBER |
AH = 00 IF DRIVE NOT PRESENT | CH = MAXIMUM USEABLE VALUE FOR CYLINDER NUMBER |
= 01 IF DISKETTE WITHOUT CHANGE LINE | CL = MAXIMUM USEABLE VALUE FOR SECTOR NUMBER |
= 02 IF DISKETTE WITH CHANGE LINE | AND CYLINDER NUMBER HIGH BITS |
| |
AH = 16 - DISK CHANGE LINE STATUS | AH = 09 - INITIALIZE DRIVE PAIR CHARACTERISTICS |
DL = DRIVE NUMBER | |
ON EXIT: | INT 41 POINTS TO DATA BLOCK FOR DRIVE 80 |
AH = STATUS OF OPERATION | INT 46 POINTS TO DATA BLOCK FOR DRIVE 81 |
| |
AH = 17 - SET DASD TYPE FOR FORMAT | DATA BLOCK DEFINITIONS: |
DL = DRIVE NUMBER | +0 = MAXIMUM NUMBER OF CYLINDERS (DW) |
AL = 01 - 360KB DISKETTE IN 360KB DRIVE | +2 = MAXIMUM NUMBER OF HEADS (DB) |
= 02 - 360KB DISKETTE IN 1.2M DRIVE | +3 = STARTING REDUCED WRITE CURRENT CYLINDER |
= 03 - 1.2M DISKETTE IN 1.2M DRIVE | (DW - XT ONLY) |
= 04 - 720KB DISKETTE IN 720KB DRIVE | +5 = STARTING WRITE PRECOMP CYLINDER (DW) |
ON EXIT: | +7 = MAXIMUM ECC DATA BURST LENGTH (DB - XT ONLY) |
AH = STATUS OF OPERATION | +8 = CONTROL BYTE: |
| ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
AH = 18 - SET MEDIA TYPE FOR FORMAT | ³7³6³5³4³3³2³1³0³ |
DL = DRIVE NUMBER | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
CH = LOWER 8 BITS OF NUMBER OF TRACKS | ³ ³ ³ ³ ³ ³ ³ ³ |
CL = HIGH 2 BITS OF NUMBER OF TRACKS (6,7) | ³ ³ ³ ³ ³ ÀÄÁÄÁÄÄÄÄÄ DRIVE OPTION |
= SECTORS PER TRACK (BITS 0-5) | ³ ³ ÀÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄ ALWAYS ZERO |
ON EXIT: | ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DISABLE ECC RETRIES |
ES:DI = POINTER TO 11-BYTE PARM TABLE | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DISABLE ACCESS RETIRES |
AH = 00 IF REQUESTED COMBINATION SUPPORTED | |
= 01 IF FUNCTION NOT AVAILABLE | |
= 0C IF NOT SUPP. OR DRIVE TYPE UNKNOWN | |
= 80 IF THERE IS NO MEDIA IN THE DRIVE | |
| |
| CONTINUED ON NEXT PANEL |
CONTINUED ON NEXT PANEL | |
| |



  3 Responses to “Category : Miscellaneous Language Source Code
Archive   : BIOS-DOS.ZIP
Filename : BIOSREF1.CRD

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/