Interrupt List Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown


Table of Contents: by Order by Category

Table of Contents by Order
FILELIST - Please redistribute the following files unmodified as a group, in a quartet of
CONTACT_INFO - If you notice any mistakes or omissions, please let me know! It is only with
Note - See INTERRUP.1ST for the key to system abbreviations and a list of the
DISCLAIMER - DISCLAIMER: THIS MATERIAL IS PROVIDED "AS IS". I verify the information
FLAGS - The use of -> instead of = signifies that the indicated register or register
CATEGORIES - The ninth column of the divider line preceding an entry usually contains a
00 - INT 00 C - CPU-generated - DIVIDE ERROR
00 - INT 00 - Zenith - ROM DEBUGGER
01 - INT 01 C - CPU-generated - SINGLE STEP
01 - INT 01 C - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
02 - INT 02 C - external hardware - NON-MASKABLE INTERRUPT
02----SI0714 - INT 02 U - STB RAPIDMAP.SYS - ???
03 - INT 03 C - CPU-generated - BREAKPOINT
03 - INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
03 - INT 03 - Realia COBOL - DEBUGGER SUPPORT
03 - INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
03 - INT 03 - DTown Utilities - POP UP
030000 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
0301 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030902 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
030903 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030907 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03090A - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03090B - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030910 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
030911 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
030912 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
030913 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
030914 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
030918 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
0310 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
0311 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03130C - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03130E - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
031313 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
04 - INT 04 C - CPU-generated - INTO DETECTED OVERFLOW
05 - INT 05 - PRINT SCREEN
05 - INT 05 C - CPU-generated (80186+) - BOUND RANGE EXCEEDED
05454A - INT 05 U - PSPS v2.01 - EJECT PAGE
054E57 - INT 05 U - PSPS v2.01 - SET PARAMETERS
055053 - INT 05 U - PSPS v2.01 - GET PARAMETERS
05554E - INT 05 U - PSPS v2.01 - UNINSTALL
06 - INT 06 C - CPU-generated (80186+) - INVALID OPCODE
06 - INT 06 C - HP 95LX - SLEEP/WAKEUP
06 - INT 06 U - no-name clone - GRAPHICS CHARACTER TABLE (NOT A VECTOR!)
07 - INT 07 C - CPU-generated (80286+) - PROCESSOR EXTENSION NOT AVAILABLE
08 - INT 08 C - IRQ0 - SYSTEM TIMER
08 - INT 08 C - CPU-generated (80286+) - DOUBLE EXCEPTION DETECTED
09 - INT 09 C - IRQ1 - KEYBOARD DATA READY
09 - INT 09 C - CPU-generated (80286,80386) - PROCESSOR EXTENSION PROTECTION ERROR
09 - INT 09 P - internal hardware - RESERVED BY Intel (80486)
0A - INT 0A C - IRQ2 - LPT2 (PC), VERTICAL RETRACE INTERRUPT (EGA,VGA)
0A - INT 0A C - IRQ2 - Tandy 1000-series HARD DISK
0A - INT 0A - IRQ2 - ROLAND MPU MIDI INTERFACE
0A - INT 0A CP - CPU-generated (80286+) - INVALID TASK STATE SEGMENT
0B - INT 0B C - IRQ3 - SERIAL COMMUNICATIONS (COM2)
0B - INT 0B CP - CPU-generated (80286+) - SEGMENT NOT PRESENT
0B - INT 0B - HP 95LX - LOW-LEVEL KEYBOARD HANDLER
0C - INT 0C C - IRQ4 - SERIAL COMMUNICATIONS (COM1)
0C - INT 0C C - CPU-generated (80286+) - STACK FAULT
0C - INT 0C - IBM SYSTEM 36/38 WORKSTATION EMULATION - API POINTER
0D - INT 0D C - IRQ5 - FIXED DISK (PC,XT), LPT2 (AT), reserved (PS/2)
0D - INT 0D C - IRQ5 - Tandy 1000 60 Hz RAM REFRESH
0D - INT 0D - HP 95LX - INFRARED INTERRUPT
0D - INT 0D C - CPU-generated (80286+) - GENERAL PROTECTION VIOLATION
0E - INT 0E C - IRQ6 - DISKETTE CONTROLLER
0E - INT 0E C - CPU-generated (80386+ native mode) - PAGE FAULT
0E - INT 0E C - HP 95LX - EXTERNAL CARD INTERRUPT
0F - INT 0F C - IRQ7 - PARALLEL PRINTER
0F - INT 0F C - HP 95LX - REAL-TIME CLOCK
10 - INT 10 C - CPU-generated (80286+) - COPROCESSOR ERROR
10 - INT 10h - LIRVGA19 - CHAR HEIGHT HOOK
1000 - INT 10 - VIDEO - SET VIDEO MODE
100070 - INT 10 - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
10007E - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE
10007FBH00 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET VGA OPERATION
10007FBH01 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET NON-VGA OPERATION
10007FBH02 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - QUERY MODE STATUS
10007FBH03 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - LOCK CURRENT MODE
10007FBH04 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MDA EMULATION MODE
10007FBH05 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER CGA EMULATION MODE
10007FBH06 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MONOCHROME VGA MODE
10007FBH07 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER COLOR VGA MODE
10007F - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED DATA REGISTER ACCESS
10007FBH60 - INT 10 - Paradise VGA - ???
10007FBH61 - INT 10 - Paradise VGA - ???
10007FBXA500 - INT 10 - Paradise VGA - ???
10007FBHA5 - INT 10 - Paradise VGA - ???
10007FBHA6 - INT 10 - Paradise VGA - ???
1001 - INT 10 - VIDEO - SET TEXT-MODE CURSOR SHAPE
1002 - INT 10 - VIDEO - SET CURSOR POSITION
1003 - INT 10 - VIDEO - GET CURSOR POSITION AND SIZE
1004 - INT 10 - VIDEO - READ LIGHT PEN POSITION (except VGA)
1004 - INT 10 - HUNTER 16 - GET CURSOR ADDRESS
1005 - INT 10 - VIDEO - SELECT ACTIVE DISPLAY PAGE
100500 - INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - SET GRAPHICS BITMAP BUFFER
10050F - INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - GET GRAPHICS BITMAP BUFFER
100580 - INT 10 - VIDEO - PCjr, Tandy 1000 - GET CRT/CPU PAGE REGISTERS
1005 - INT 10 - VIDEO - PCjr, Tandy 1000 - SET CRT/CPU PAGE REGISTERS
1006 - INT 10 - VIDEO - SCROLL UP WINDOW
1007 - INT 10 - VIDEO - SCROLL DOWN WINDOW
1008 - INT 10 - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION
1009 - INT 10 - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION
100A - INT 10 - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION
100B--BH00 - INT 10 - VIDEO - SET BACKGROUND/BORDER COLOR
100B--BH01 - INT 10 - VIDEO - SET PALETTE
100B--BH02 - INT 10 - Tandy 2000 - VIDEO - SET PALETTE ENTRY
100C - INT 10 - VIDEO - WRITE GRAPHICS PIXEL
100D - INT 10 - VIDEO - READ GRAPHICS PIXEL
100E - INT 10 - VIDEO - TELETYPE OUTPUT
100E--CXABCD - INT 10 - V20-XT-BIOS - TELETYPE OUTPUT WITH ATTRIBUTE
100F - INT 10 - VIDEO - GET CURRENT VIDEO MODE
100F56BX4756 - INT 10 - VUIMAGE DISPLAY DRIVER (v2.20 and below)
100F--SIF123 - INT 10 - FRIEZE v7.41+ - INSTALLATION CHECK
1010 - INT 10 - BIOS Window Extension v1.1 - SET WINDOW COORDINATES
1010 - INT 10 - VIDEO - Eagle PC2 BIOS Rev. C - SET SCROLL SPEED
1010 - INT 10 - Tandy 2000 - VIDEO - GET/SET CHARACTER FONTS
101000 - INT 10 - VIDEO - SET SINGLE PALETTE REGISTER (PCjr,Tandy,EGA,MCGA,VGA)
101001 - INT 10 - VIDEO - SET BORDER (OVERSCAN) COLOR (PCjr,Tandy,EGA,VGA)
101002 - INT 10 - VIDEO - SET ALL PALETTE REGISTERS (PCjr,Tandy,EGA,VGA)
101003 - INT 10 - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
101007 - INT 10 - VIDEO - GET INDIVIDUAL PALETTE REGISTER (VGA,UltraVision v2+)
101008 - INT 10 - VIDEO - READ OVERSCAN (BORDER COLOR) REGISTER (VGA,UltraVision v2+)
101009 - INT 10 - VIDEO - READ ALL PALETTE REGISTERS AND OVERSCAN REGISTER (VGA)
101010 - INT 10 - VIDEO - SET INDIVIDUAL DAC REGISTER (VGA/MCGA)
101012 - INT 10 - VIDEO - SET BLOCK OF DAC REGISTERS (VGA/MCGA)
101013 - INT 10 - VIDEO - SELECT VIDEO DAC COLOR PAGE (VGA)
101015 - INT 10 - VIDEO - READ INDIVIDUAL DAC REGISTER (VGA/MCGA)
101017 - INT 10 - VIDEO - READ BLOCK OF DAC REGISTERS (VGA/MCGA)
101018 - INT 10 U - VIDEO - SET PEL MASK (VGA/MCGA)
101019 - INT 10 U - VIDEO - READ PEL MASK (VGA/MCGA)
10101A - INT 10 - VIDEO - GET VIDEO DAC COLOR-PAGE STATE (VGA)
10101B - INT 10 - VIDEO - PERFORM GRAY-SCALE SUMMING (VGA/MCGA)
1010E0 - INT 10 - VIDEO - Diamond Speedstar 24 - SET 24-BIT GRAPHICS MODE
1010F0 - INT 10 - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE
1010F1 - INT 10 - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE
1010F2 - INT 10 u - VIDEO - Tseng ET-4000 BIOS - CHECK IF HiColor MODE/SET HiColor MODE
1011 - INT 10 - BIOS Window Extension v1.1 - GET WINDOW COORDINATES
1011 - INT 10 - Tandy 2000 - VIDEO - WRITE ATTRIBUTE ONLY
101100 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
101101 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
101102 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
101103 - INT 10 - VIDEO - TEXT-MODE CHARGEN - SET BLOCK SPECIFIER (PS,EGA,VGA)
101104 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
1011 - INT 10 - VIDEO - Realtek RTVGA - TEXT-MODE CHARACTER GENERATOR FUNCTIONS
10110F - INT 10 - VIDEO - Realtek RTVGA - SET USER 8x8 GRAPHICS CHARACTERS
101110 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
101110 - INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS
101111 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
101111 - INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x14 GRAPHICS CHARACTERS
101112 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
101112 - INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x8 DOUBLE-DOT CHARACTERS
101114 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
101118 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
101120 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER 8x8 GRAPHICS CHARS (PS,EGA,VGA)
101121 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (PS,EGA,VGA)
101122 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x14 GRAPHICS CHARS (PS,EGA,VGA)
101123 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x8 DOUBLE-DOT CHARS (PS,EGA,VGA)
101124 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPHICS CHARS (VGA,MCGA)
101129 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPH CHARS (Compaq Systempro)
101129 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (Diamond)
101130 - INT 10 - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA)
101130BX4D4F - INT 10 - M10_SCR.COM v3.5+ - INSTALLATION CHECK
1012 - INT 10 - BIOS Window Extension v1.1 - GET BLANKING ATTRIBUTE
1012 - INT 10 - Tandy 2000 - VIDEO - SCROLL WINDOW
1012--BL10 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, EGA, VGA, MCGA) - GET EGA INFO
1012--BL11 - INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET BIOS INFO
1012--BL12 - INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET VIDEO RAM SIZE
1012--BL20 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC
1012--BL2E - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BL30 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION
1012--BL31 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - PALETTE LOADING
1012--BL32 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - VIDEO ADDRESSING
1012--BL33 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - GRAY-SCALE SUMMING
1012--BL34 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION
1012--BL35 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS) - DISPLAY-SWITCH INTERFACE
1012--BL36 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, VGA) - VIDEO REFRESH CONTROL
1012--BL37 - INT 10 - VIDEO - XGA - MAINFRAME INTERACTIVE SUPPORT
1012--BL38 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
1012--BL39 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
1012--BL3A - INT 10 - IBM SurePath BIOS - Officially "Private" Function
1012--BL53 - INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
1012--BL57 - INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
1012--BH55 - INT 10 - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES
1012--BL74 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BL80 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BL80 - INT 10 - Cirrus Logic BIOS - INQUIRE VGA TYPE
1012--BL81 - INT 10 - Cirrus Logic BIOS - GET BIOS VERSION NUMBER
1012--BL82 - INT 10 - Cirrus Logic BIOS - GET DESIGN REVISION CODE
1012--BL84 - INT 10 - Cirrus Logic BIOS v3.02 - INQUIRE OPTIONS
1012--BL85 - INT 10 - Cirrus Logic BIOS - GET INSTALLED MEMORY
1012--BL89 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - EN/DISABLE REVERSE VIDEO MODE
1012--BL8A - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET FRAME COLOR
1012--BL8B - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE BOLD MODE
1012--BL8C - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET AUTOMAP/EMULATE ATTRIBUTES
1012--BL8F - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE EXPAND MODE
1012--BL90 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET CENTERING MODE
1012--BL91 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET 720-DOT FIXUP MODE
1012--BL92 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SWITCH DISPLAY
1012--BL93 - INT 10 - Cirrus Logic BIOS - FORCE 8-BIT OR 16-BIT OPERATION
1012--BL94 - INT 10 - Cirrus Logic BIOS v3.02 - POWER CONSERVATION
1012--BL9A - INT 10 - Cirrus Logic BIOS - GET USER OPTIONS
1012--BLA0 - INT 10 - Cirrus Logic BIOS - GET VIDEO MODE AVAILABILITY
1012--BLA1 - INT 10 - Cirrus Logic BIOS - READ MONITOR TYPE AND ID FROM 15-PIN CONNECTOR
1012--BLA2 - INT 10 - Cirrus Logic BIOS - SET MONITOR HORIZONTAL RETRACE FREQUENCY
1012--BLA3 - INT 10 - Cirrus Logic BIOS - SET VGA REFRESH
1012--BLA4 - INT 10 - Cirrus Logic BIOS - SET MONITOR TYPE
1012--BLAE - INT 10 - Cirrus Logic BIOS - GET HIGH REFRESH
1012--BLAF - INT 10 - Cirrus Logic BIOS - SET HIGH REFRESH
1012--BLBE - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BLC6 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BLF0 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BLF1 - INT 10 - Tseng ET-4000 BIOS - GET/SET SCREEN REFRESH RATE
1013 - INT 10 - VIDEO - WRITE STRING (AT and later,EGA)
1013 - INT 10 - DOS/V - READ/WRITE DOUBLE-BYTE CHARACTER SET CHARACTERS/ATTRIBUTES
101400 - INT 10 - VIDEO - LOAD USER-SPECIFIED LCD CHARACTER FONT (CONV,Compaq Port 386)
101401 - INT 10 - VIDEO - LOAD SYSTEM ROM DEFAULT LCD CHARACTER FONT (CONV,CP386)
101402 - INT 10 - VIDEO - SET MAPPING OF LCD HIGH INTENSITY ATTRIBUTES (CONV,CP386)
1015 - INT 10 - VIDEO - GET PHYSICAL DISPLAY PARAMETERS (CONVERTIBLE)
1015 - INT 10 - VIDEO - SET SUPERIMPOSE MODE (Sperry PC)
1018 - INT 10 - VIDEO - DOS/V - GET/SET FONT PATTERN
1019 - INT 10 - Japanese VIDEO - DOUBLE-BYTE CHARACTER SET SHIFT INFORMATION
101A00 - INT 10 - VIDEO - GET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
101A01 - INT 10 - VIDEO - SET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
101B - INT 10 - VIDEO - FUNCTIONALITY/STATE INFORMATION (PS,VGA/MCGA)
101C - INT 10 - VIDEO - SAVE/RESTORE VIDEO STATE (PS50+,VGA)
101D - INT 10 - VIDEO - DOS/V - SHIFT STATUS LINE CONTROL
101D - INT 10 - SpeedSTAR Plus BIOS v4.23+ - SET SYNC PARAMETERS
101D - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
101DAABXFDEC - INT 10 U - Diamond Stealth64 Video - INSTALLATION CHECK
101E00 - INT 10 - VIDEO - FLAT-PANEL - READ INFORMATION
101E01 - INT 10 - VIDEO - FLAT-PANEL - LCD/CRT DISPLAY CONTROL
101E02 - INT 10 - VIDEO - FLAT-PANEL - DISPLAY POSITION
101E03 - INT 10 - VIDEO - FLAT-PANEL - VERTICAL EXPANSION FOR TEXT/GRAPHICS MODES
101E04 - INT 10 - VIDEO - FLAT-PANEL - NORMAL/REVERSE VIDEO FOR TEXT/GRAPHICS MODES
101E05 - INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS CONTROL
101E06 - INT 10 - VIDEO - FLAT-PANEL - CONTRAST CONTROL FOR TEXT/GRAPHICS
101E07 - INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS SETTING
101E08 - INT 10 - VIDEO - FLAT-PANEL - CONTRAST SETTING
101EFE - INT 10 - VIDEO - FLAT-PANEL - FUNCTION SUPPORT FLAG
101F00 - INT 10 - VIDEO - XGA - GET DMQS (Display Mode Query and Set) DATA LENGTH
101F01 - INT 10 - VIDEO - XGA - READ DMQS DATA
101F02 - INT 10 - VIDEO - XGA - GET SVGA DMQS DATA LENGTH
101F03 - INT 10 - VIDEO - XGA - GET SVGA DMQS DATA
103000CX0000 - INT 10 - VIDEO - LOCATE 3270PC CONFIGURATION TABLE (INSTALLATION CHECK)
103800 - INT 10 - Tinytalk Personal v1.09f+ - GET CONFIGURATION INFO
103801 - INT 10 - Tinytalk Personal v1.10 - ???
103802 - INT 10 - Tinytalk Personal v1.10 - ???
103803 - INT 10 - Tinytalk Personal v1.10 - GET ???
103804 - INT 10 - Tinytalk Personal v1.10 - GET ???
103805 - INT 10 - Tinytalk Personal v1.10 - GET ???
103806 - INT 10 - Tinytalk Personal v1.10 - ???
1039 - INT 10 - Tinytalk Personal v1.10 - ???
1040 - INT 10 - VIDEO - Hercules GRAFIX - "GMODE" - SET GRAPHICS MODE
1041 - INT 10 - VIDEO - Hercules GRAFIX - "TMODE" - SET TEXT MODE
1042 - INT 10 - VIDEO - Hercules GRAFIX - "CLRSCR" - CLEAR CURRENT PAGE
1043 - INT 10 - VIDEO - Hercules GRAFIX - "GPAGE" - SELECT DRAWING PAGE
1044 - INT 10 - VIDEO - Hercules GRAFIX - "LEVEL" - SELECT DRAWING FUNCTION
1045 - INT 10 - VIDEO - Hercules GRAFIX - "DISP" - SELECT PAGE TO DISPLAY
1046 - INT 10 - VIDEO - Hercules GRAFIX - "PLOT" - DRAW ONE PIXEL
1047 - INT 10 - VIDEO - Hercules GRAFIX - "GETPT" - FIND PIXEL VALUE
1048 - INT 10 - VIDEO - Hercules GRAFIX - "MOVE" - MOVE TO POINT
1049 - INT 10 - VIDEO - Hercules GRAFIX - "DLINE" - DRAW TO POINT
104A - INT 10 - VIDEO - Hercules GRAFIX - "BLKFIL" - BLOCK FILL
104B - INT 10 - VIDEO - Hercules GRAFIX - "TEXT" - DISPLAY CHARACTER
104B - INT 10 - FRIEZE - API
104C - INT 10 - VIDEO - Hercules GRAFIX - "ARC" - DRAW ARC
104D - INT 10 - VIDEO - Hercules GRAFIX - "CIRC" - DRAW CIRCLE
104E - INT 10 - VIDEO - Hercules GRAFIX - "FILL" - FILL AREA
104E00 - INT 10 - VESA XGA BIOS Extensions - GET XGA ENVIRONMENT INFORMATION
104E01 - INT 10 - VESA XGA BIOS Extensions - RETURN XGA SUBSYSTEM INFORMATION
104E02 - INT 10 - VESA XGA BIOS Extensions - RETURN XGA MODE INFORMATION
104E03 - INT 10 - VESA XGA BIOS Extensions - SET XGA VIDEO MODE
104E04 - INT 10 - VESA XGA BIOS Extensions - RETURN CURRENT VIDEO MODE
104E05 - INT 10 - VESA XGA BIOS Extensions - SET FEATURE CONNECTOR STATE
104E06 - INT 10 - VESA XGA BIOS Extensions - RETURN FEATURE CONNECTOR STATE
104F00 - INT 10 - VESA SuperVGA BIOS (VBE) - GET SuperVGA INFORMATION
104F01 - INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
104F02 - INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
104F03 - INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
104F04 - INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
104F05 - INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
104F06 - INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET LOGICAL SCAN LINE LENGTH (PIXELS)
104F06BL02 - INT 10 - VESA SuperVGA BIOS v2.0+ - SET LOGICAL SCAN LINE LENGTH (BYTES)
104F06BL03 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET MAXIMUM SCAN LINE LENGTH
104F07 - INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET DISPLAY START
104F07 - INT 10 - VESA SuperVGA BIOS v3.0+ - SCHEDULED DISPLAY START
104F07 - INT 10 - VESA SuperVGA BIOS v3.0+ - ENABLE/DISABLE STEREOSCOPIC MODE
104F08 - INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
104F09 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
104F0ABL00 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET PROTECTED-MODE INTERFACE
104F0A - INT 10 O - VESA SuperVGA BIOS v2.0 beta - GET PROTECTED-MODE CODE
104F0BBL00 - INT 10 - VESA SuperVGA BIOS v3.0 - GET NEAREST PIXEL CLOCK
104F0B - INT 10 - VESA SuperVGA BIOS - GET VBE/AF v1.0P DEVICE CONTEXT BUFFER
104F0C - INT 10 - VESA SuperVGA BIOS - RESERVED FOR FUTURE SVGA FUNCTIONS
104F0B - INT 10 - Diamond Viper V330 - ???
104F10BL00 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET CAPABILITIES
104F10BL01 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - SET DISPLAY POWER STATE
104F10BL02 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET DISPLAY POWER STATE
104F11 - INT 10 - VESA VBE/FP (Flat Panel Interface) - API
104F12 - INT 10 - VESA VBE/CI (Cursor Interface) - API
104F13BX0000 - INT 10 - VESA VBE/AI (Audio Interface) - INSTALLATION CHECK
104F13BX0001 - INT 10 - VESA VBE/AI (Audio Interface) - LOCATE DEVICE
104F13BX0002 - INT 10 - VESA VBE/AI (Audio Interface) - QUERY DEVICE
104F13BX0003 - INT 10 - VESA VBE/AI (Audio Interface) - OPEN DEVICE
104F13BX0004 - INT 10 - VESA VBE/AI (Audio Interface) - CLOSE DEVICE
104F13BX0005 - INT 10 - VESA VBE/AI (Audio Interface) - UNINSTALL DRIVER
104F13BX0006 - INT 10 - VESA VBE/AI (Audio Interface) - DRIVER CHAIN/UNCHAIN
104F14 - INT 10 - VESA OEM Extensions - API
104F14 - INT 10 - VESA OEM Extensions - Matrox Millenium (BIOS v2.1)
104F15BL00 - INT 10 - VESA VBE/DC (Display Data Channel) - INSTALLATION CHECK / CAPABILITIES
104F15BL01 - INT 10 - VESA VBE/DC (Display Data Channel) - READ EDID
104F15BL02 - INT 10 - VESA VBE/DC (Display Data Channel) - READ VDIF
104F16 - INT 10 - VESA VBE/GC (Graphics System Configuration) - API
104F17 - INT 10 - VESA VBE/AF (Accelerator Functions) - API
104F4D - INT 10 - VESA - VIDEO CURSOR INTERFACE REQUEST
104F70 - INT 10 - Avance Logic - GET ADAPTER INFORMATION
104FDD - INT 10 - ATI M64VBE.COM - GET RESIDENT SEGMENT
104FFF - INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
104FFF - INT 10 - Diamond Stealth 24 - SET/RESET DUAL DISPLAY MODE
104FFFBX364D - INT 10 - ATI M64VBE.COM - UNINSTALL
1050 - INT 10 - SCROLOCK.COM - INSTALLATION CHECK
105000 - INT 10 - VIDEO - AX PC - SET SCREEN COUNTRY CODE
105001 - INT 10 - VIDEO - AX PC - GET SCREEN COUNTRY CODE
105049 - INT 10 - VIDEO - SCREENR v1.55+ - API
1051 - INT 10 - SCROLOCK.COM - ENABLE/DISABLE
105100 - INT 10 - VIDEO - AX PC - REGISTER EXTERNAL CHARACTER
105101 - INT 10 - VIDEO - AX PC - READ CHARACTER
105200 - INT 10 - VIDEO - AX PC - SET VIRTUAL TEXT RAM BUFFER
105201 - INT 10 - VIDEO - AX PC - GET VIRTUAL TEXT RAM BUFFER
1053 - INT 10 - Show Partner F/X v3.6 - START PRESENTATION
1055 - INT 10 - Show Partner F/X v3.6 - UNINSTALL
105555 - INT 10 - VIDEO - ATI EGA/VGA Wonder Super Switch - INSTALLATION CHECK
105555BXAAAA - INT 10 - LIR - SET CONFIGURATION
105555BXBBBB - INT 10 - LIR - GET CONFIGURATION
105F00 - INT 10 - Chips & Technologies Extended BIOS - RETURN CHIP INFORMATION
105F00 - INT 10 - VIDEO - Realtek RTVGA - RETURN CHIP VERSION
105F01 - INT 10 - Chips & Technologies Extended BIOS - SET PREPROGRAMMED EMULATION
105F01 - INT 10 - VIDEO - Realtek RTVGA - WRITE RTVGA BIOS STRING TO DESTINATION
105F02 - INT 10 - Chips & Technologies Extended BIOS - AUTO EMULATION CONTROL
105F02 - INT 10 - Chips & Technologies '64300' BIOS - SET CLOCK
105F02 - INT 10 - Chips & Technologies '65530' BIOS - SET CLOCK
105F02 - INT 10 - VIDEO - Realtek RTVGA - RETURN RTVGA ON-BOARD MEMORY SIZE
105F03 - INT 10 - VIDEO - Realtek RTVGA - SET ???
105F03BL00 - INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON DISPLAY MODE
105F03BH00 - INT 10 - Chips & Technologies '64300' BIOS - GET CLOCK SPEED
105F03BL01 - INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON EMULATION MODE
105F04 - INT 10 - Chips & Technologies '64300' BIOS - GET REFRESH RATE
105F05 - INT 10 - Chips & Technologies '64300' BIOS - SET REFRESH RATE
105F06 - INT 10 - Chips & Technologies '64300' BIOS - GET XRAM INFORMATION
105F08 - INT 10 - Chips & Technologies '64300' BIOS - SET LINEAR MEMORY START ADDRESS
105F10 - INT 10 - Chips & Technologies '64300'/'65530' BIOS - GET LINEAR MEMORY INFO
105F50 - INT 10 - Chips & Technologies Extended BIOS - GET LAPTOP DISPLAY STATUS
105F50 - INT 10 - Chips & Technologies '65530' BIOS - GET 655xx INFORMATION
105F51 - INT 10 - Chips & Technologies Extended BIOS - SWITCH DISPLAY DEVICE
105F53 - INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE ACCELERATOR SUPPORT
105F54 - INT 10 - Chips & Technologies Extended BIOS - TURN FLAT PANEL ON/OFF
105F5A - INT 10 - Chips & Technologies Extended BIOS - SET FLAT-PANEL VIDEO POLARITY
105F5C - INT 10 - Chips & Technologies Extended BIOS - SET VERTICAL COMPENSATION
105F5E - INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE TALL FONT LOADING
105F5F - INT 10 - Chips & Technologies Extended BIOS - HORIZONTAL COMPENSATION
105F90 - INT 10 - Chips & Technologies Extended BIOS - GET SUPERVGA STATE BUFFER SIZE
105F91 - INT 10 - Chips & Technologies Extended BIOS - SAVE SUPERVGA STATE
105F92 - INT 10 - Chips & Technologies Extended BIOS - RESTORE SUPERVGA STATE
105FA0 - INT 10 - Chips & Technologies Wingine DGX - GET EXTENDED BIOS SAVE BUFFER SIZE
105FA1 - INT 10 - Chips & Technologies Wingine DGX - SAVE VIDEO STATE
105FA2 - INT 10 - Chips & Technologies Wingine DGX - RESTORE VIDEO STATE
1060 - INT 10 - HUNTER 16 - SET GRAPHICS FONT
1061 - INT 10 - HUNTER 16 - MOVE CURSOR TO GRAPHICS CO-ORDINATES
1062 - INT 10 - HUNTER 16 - GET CURSOR POSITION IN GRAPHICS CO-ORDINATES
1063 - INT 10 - HUNTER 16 - SET CONTRAST
1064 - INT 10 - HUNTER 16 - SET BACKLIGHT LEVEL
106500 - INT 10 - HUNTER 16 - GET BACKLIGHT TIMEOUT
106501 - INT 10 - HUNTER 16 - SET BACKLIGHT TIMEOUT
1066 - INT 10 - HUNTER 16 - SPLIT DISPLAY
106A00BX0000 - INT 10 - Direct Graphics Interface Standard (DGIS) - INQUIRE AVAILABLE DEVICES
106A01CX0000 - INT 10 - Direct Graphics Interface Standard (DGIS) - REDIRECT CHARACTER OUTPUT
106A02 - INT 10 - DGIS - INQUIRE INT 10 OUTPUT DEVICE
106D74 - INT 10 - MTRFONTS - INSTALLATION CHECK
106E00 - INT 10 - Paradise VGA internal - GET ???
106E04 - INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
106E05 - INT 10 - Paradise VGA internal - SET MODE
106F00 - INT 10 - HP Vectra EX-BIOS - INSTALLATION CHECK
106F00BX0000 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - INSTALLATION CHECK
106F01 - INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP EX-BIOS - GET MONITOR INFO
106F02 - INT 10 - HP Vectra EX-BIOS - SET MONITOR INFO
106F03 - INT 10 - HP Vectra EX-BIOS - MODIFY MONITOR INFO
106F04 - INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP Vectra - GET MODE AND SCREEN RESOLUTION
106F05 - INT 10 - VIDEO - Video7 VGA,VEGA EXTENDED EGA/VGA,HP Vectra - SET VIDEO MODE
106F06 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - SELECT AUTOSWITCH MODE
106F07 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - GET VIDEO MEMORY CONFIGURATION
1070 - INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF VIDEO RAM
1070 - INT 10 - HUNTER 16 - DRAW ELLIPSE/CIRCLE
107000BX0000 - INT 10 - Everex Extended Video BIOS - RETURN EMULATION STATUS
107000BX0004 - INT 10 - Everex Extended Video BIOS - GET PAGING FUNCTION POINTER FOR CURR MODE
107000BX0005 - INT 10 - Everex Extended Video BIOS - GET SUPPORTED MODE INFO
1071 - INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF INCRAM
1071 - INT 10 - HUNTER 16 - DRAW LINE/BOX
1072 - INT 10 - VIDEO - TANDY 2000 only - SCROLL RIGHT PART OR ALL OF SCREEN
1072 - INT 10 - HUNTER 16 - SELECT TEXT-MODE INVERSE VIDEO MECHANISM
1073 - INT 10 - VIDEO - TANDY 2000 only - SCROLL LEFT PART OR ALL OF SCREEN
1073 - INT 10 - HUNTER 16 - SELECT TEXT FONT
1074 - INT 10 - HUNTER 16 - SET LCD WINDOWS POSITION
1075 - INT 10 - HUNTER 16 - SET ZOOM
1076 - INT 10 - HUNTER 16 - LOOKING KEYS
1077 - INT 10 - HUNTER 16 - GET GRAPHICS FONT
1078 - INT 10 - HUNTER 16 - TURN BACKLIGHT ON/OFF
107F - INT 10 - Paradise SVGA - WD90C24 INSTALLATION CHECK
107F00 - INT 10 - SOLLEX SuperVGA - GET EXTENSIONS INFO
107F00BX4000 - INT 10 - Diamond Stealth 24 - GET S3 INFORMATION BLOCK
107F00BX4001 - INT 10 - Diamond Stealth 24 - GET LINEAR ADDRESS
107F00BX4002 - INT 10 - Diamond Stealth 24 - SET LINEAR ADDRESS
107F01BL00 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - SET ADAPTER
107F01BL01 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - GET ADAPTER
107F01BL02 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - DETERMINE ADAPTER SUPPORT
107F02BL00 - INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - SET DISPLAY OUTPUT
107F02BL01 - INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - GET DISPLAY OUTPUT
107F03BL00 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GET SUPPORT INFO
107F03BL01 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - INITIALIZE VIDEO SUPPORT
107F03BL02 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GO RAM RESIDENT
107F04BL00 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET POWER STATE
107F04BL01 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET POWER STATE
107F04BL02 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET TIMEOUT RESET
107F04BL03 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET TIMEOUT RESET
107F05 - INT 10 - SOLLEX SuperVGA - LOAD REGISTER
107F06 - INT 10 - SOLLEX SuperVGA - MULTIPLE FONT CONTROL
107F07 - INT 10 - SOLLEX SuperVGA - FILL VIDEO RAM
1080 - INT 10 - CU Writer v1.4 - GET OPTION
1080--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - SET ??? HANDLER
1081 - INT 10 - CU Writer v1.4 - SET OPTION
1081--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - GET ???
1082--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - GET CURRENT WINDOW INFO
108200 - INT 10 - VIDEO - AX PC - GET/SET SCROLL MODE
108300 - INT 10 - VIDEO - AX PC - GET VIDEO RAM ADDRESS
1086 - INT 10 - ???
108B - INT 10 - Alloy MW386 - FORCE WORKSTATION SCREEN UPDATE
1090 - INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION DISPLAY MODE
1091 - INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION ADAPTER TYPE
1092 - INT 10 - Alloy MW386 - INHIBIT WORKSTATION SCREEN UPDATES
1093 - INT 10 - Alloy MW386 - REDRAW SCREEN
109508 - INT 10 - VHRBIOS.SYS - ???
1096 - INT 10 - VHRBIOS.SYS - GET OTHER DISPLAY INFO
10A0 - INT 10 - CU Writer v1.4 - SET PIXEL WRITE MODE
10A000 - INT 10 - ATI BIOS Extensions - ???
10A001 - INT 10 - ATI Mach64 BIOS - ???
10A002 - INT 10 - ATI Mach64 BIOS - ???
10A003 - INT 10 - ATI Mach64 BIOS - ???
10A004 - INT 10 - PhoenixVIEW/LC - VIDEO DISPLAY TYPE
10A004 - INT 10 - ATI Mach64 BIOS - ???
10A005 - INT 10 - ATI Mach64 BIOS - ???
10A006 - INT 10 - ATI Mach64 BIOS - ???
10A007 - INT 10 - ATI Mach64 BIOS - GET ???
10A008 - INT 10 - ATI Mach64 BIOS - GET ??? SIZE
10A009 - INT 10 - ATI Mach64 BIOS - GET ???
10A00A - INT 10 - ATI Mach64 BIOS - GET ???
10A00B - INT 10 - ATI Mach64 BIOS - ???
10A00C - INT 10 - ATI Mach64 BIOS - SET SLEEP MODE
10A00D - INT 10 - ATI Mach64 BIOS - GET SLEEP MODE
10A00D - INT 10 - ATI Rage128 BIOS - GET ???
10A00E - INT 10 - ATI Mach64 BIOS - SET ???
10A00F - INT 10 - ATI Mach64 BIOS - GET ???
10A010 - INT 10 - ATI Mach64 BIOS - ???
10A011 - INT 10 - ATI Mach64 BIOS - GET ???
10A012 - INT 10 - ATI Mach64 BIOS - GET ???
10A013 - INT 10 - ATI Mach64 BIOS - ???
10A014 - INT 10 - ATI Rage128 BIOS - ???
10A015 - INT 10 - ATI Rage128 BIOS - GET/SET ???
10A016 - INT 10 - ATI Rage128 BIOS - NOP
10A017 - INT 10 - ATI Rage128 BIOS - ???
10A01B - INT 10 - PhoenixVIEW/LC - CRT MONITOR DETECTION
10AA - INT 10 OU - Player's Tool 3.0 - UNINSTALL
10AB - INT 10 OU - Player's Tool 3.0 - INSTALLATION CHECK
10B0 - INT 10 - CU Writer v1.4 - PUT PIXEL
10B1 - INT 10 - CU Writer v1.4 - MOVE TO
10B2 - INT 10 - CU Writer v1.4 - DRAW LINE TO
10B3 - INT 10 - CU Writer v1.4 - FLOOD FILL
10B4 - INT 10 - CU Writer v1.4 - DRAW RECTANGLE
10B5 - INT 10 - CU Writer v1.4 - DRAW FILLED RECTANGLE
10BB - INT 10 U - Doorway - SET BIOS/DIRECT REDIRECTION
10BD44 - INT 10 U - Compaq QVision - ???
Section -
10BF--CX0000 - INT 10 - Athena Digital HGCIBM.COM - INSTALLATION CHECK
10BF00 - INT 10 - VIDEO - Compaq Extensions - SELECT EXTERNAL MONITOR
10BF01 - INT 10 - VIDEO - Compaq Extensions - SELECT INTERNAL MONITOR
10BF02 - INT 10 - VIDEO - Compaq Extensions - SET MASTER MODE OF CURRENT CONTROLLER
10BF03BX0000 - INT 10 - VIDEO - Compaq Extensions - GET ENVIRONMENT
10BF04 - INT 10 - VIDEO - Compaq Extensions - SET MODE SWITCH DELAY
10BF05 - INT 10 - VIDEO - Compaq Extensions - ENABLE/DISABLE DISPLAY
10BF06 - INT 10 - VIDEO - Compaq SLT/286 - READ GRAY SCALE TABLE
10BF07 - INT 10 - VIDEO - Compaq SLT/286 - WRITE GRAY SCALE TABLE
10BF08 - INT 10 - VIDEO - Compaq SLT/286 - WRITE COLOR MIX REGISTERS
10BF09 - INT 10 - VIDEO - Compaq Extensions - TURN ON REVERSE VIDEO
10BF0A - INT 10 - VIDEO - Compaq Extensions - TURN OFF REVERSE VIDEO
10BF0B - INT 10 - VIDEO - Compaq Extensions - CHECK WHETHER VIDEO REVERSED
10BF0C - INT 10 - VIDEO - Compaq Extensions - SET DAC 6-BIT MODE
10BF0D - INT 10 - VIDEO - Compaq Extensions - SET DAC 8-BIT MODE
10BF0E - INT 10 - VIDEO - Compaq Extensions - CHECK DAC 6-BIT/8-BIT mode
10BF0F - INT 10 - VIDEO - Compaq Extensions - SET HIGH ADRESS MAP REGISTER
10BF10 - INT 10 - VIDEO - Compaq Extensions - GET HIGH ADDRESS MAP REGISTER
10BF11 - INT 10 - VIDEO - Compaq Extensions - GET EXTENDED ENVIRONMENT
10BF12 - INT 10 - VIDEO - Compaq Extensions - NEW ACTIVE MONITOR
10BF13 - INT 10 - VIDEO - Compaq QVision - GAMMA CORRECTION
10BFA0BXADAD - INT 10 - VIDEO - Compaq ADAPT.COM - INSTALLATION CHECK
10BFA1 - INT 10 - VIDEO - Compaq ADAPT.COM - GET ???
10BFA2 - INT 10 - VIDEO - Compaq ADAPT.COM - SET ???
10C0 - INT 10 - CU Writer v1.4 - GO TO TEXT ROW AND COLUMN
10C000 - INT 10 - S3 SpeedUp v3.00+ - INSTALLATION CHECK
10C001 - INT 10 - S3 SpeedUp v3.00+ - GET ACTIVE OPTIONS
10C002 - INT 10 - S3 SpeedUp v3.00+ - SET ACTIVE OPTIONS
10C003 - INT 10 - S3 SpeedUp v3.10+ - GET FLAGS
10C004 - INT 10 - S3 SpeedUp v3.10+ - RESERVED FUNCTIONS
10C1 - INT 10 - CU Writer v1.4 - OUTPUT TEXT
10C2 - INT 10 - CU Writer v1.4 - REVERSE TEXT
10C3 - INT 10 - CU Writer v1.4 - TEXT BAR
10C4 - INT 10 - CU Writer v1.4 - TEXT MENU
10CB00 - INT 10 - UNCHAIN - SAVE CURRENT VGA REGISTERS
10CB01 - INT 10 - UNCHAIN - UPDATE PAGE 1 OFFSET
10CB02 - INT 10 - UNCHAIN - UPDATE PAGE 2 OFFSET
10CB03 - INT 10 - UNCHAIN - UPDATE PAGE 3 OFFSET
10CB04 - INT 10 - UNCHAIN - UPDATE PAGE 4 OFFSET
10CB05 - INT 10 - UNCHAIN - SAVE PALETTE
10CB06 - INT 10 - UNCHAIN - RESTORE VGA REGISTERS
10CBFF - INT 10 - UNCHAIN - INSTALLATION CHECK
10CC00 - INT 10 - VIDEO - UltraVision - GET STATUS (INSTALLATION CHECK)
10CC01 - INT 10 - VIDEO - UltraVision - DISABLE EXTENSIONS
10CC02 - INT 10 - VIDEO - UltraVision - ENABLE EXTENSIONS
10CCAB - INT 10 - HiFont - INSTALLATION CHECK
10CD00 - INT 10 - VIDEO - UltraVision - LOAD ULTRAVISION PALETTE (color EGA,VGA)
10CD01 - INT 10 - VIDEO - UltraVision - SET PALETTE LOCKING STATUS (color EGA,VGA)
10CD02 - INT 10 - VIDEO - UltraVision - GET ULTRAVISION PALETTE (EGA,VGA)
10CD03 - INT 10 - VIDEO - UltraVision - GET PALETTE LOCKING STATUS (color EGA,VGA)
10CD04 - INT 10 - VIDEO - UltraVision - GET UltraVision TEXT MODE (EGA,VGA)
10CD05 - INT 10 - VIDEO - UltraVision - SET CURSOR TYPE (EGA,VGA)
10CD06 - INT 10 - VIDEO - UltraVision - GET CURSOR TYPE (EGA,VGA)
10CD07 - INT 10 - VIDEO - UltraVision v1.2+ - SET UNDERLINE STATUS (EGA,VGA)
10CD08 - INT 10 - VIDEO - UltraVision v1.2+ - GET UNDERLINE STATUS (EGA,VGA)
10CD0F - INT 10 - VIDEO - UltraVision - GET POINTER TO ??? (EGA,VGA)
10CD10 - INT 10 - VIDEO - UltraVision - LOAD USER FONT (EGA,VGA)
10CD - INT 10 - VIDEO - UltraVision - SET ULTRAVISION TEXT MODE (EGA,VGA)
10D0 - INT 10 - CU Writer v1.4 - LOAD PICTURE
10D0 - INT 10 U - VIDEO - HP 100LX/200LX - SET ZOOM MODE
10D000 - INT 10 - S3VBE/Core2.0 v3.00+ - INSTALLATION CHECK
10D001 - INT 10 - S3VBE/Core2.0 v3.00+ - GET ACTIVE OPTIONS
10D002 - INT 10 - S3VBE/Core2.0 v3.00+ - SET ACTIVE OPTIONS
10D003 - INT 10 U - S3VBE/Core2.0 v3.10+ - GET VBE/Core CAPABILITIES
10D004 - INT 10 U - S3VBE/Core2.0 v3.10+ - ACTIVATE SPEED-UP
10D005 - INT 10 U - S3VBE/Core2.0 v3.10+ - DEACTIVATE SPEED-UP
10D1 - INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
10D4 - INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
10D5 - INT 10 - Netroom SCRNCLK - ???
10DAAD - INT 10 - TSRUNIT v1.10 - INSTALLATION CHECK
10DFA5 - INT 10 U - VIDEO - Compaq ADAPT.COM - GET ??? DATA AREA
10EE - INT 10 - VIDEO - IBM "Private" Function
10EF - INT 10 - VIDEO - MSHERC.COM - GET VIDEO ADAPTER TYPE AND MODE
10F0 - INT 10 - EGA Register Interface Library - READ ONE REGISTER
10F0 - INT 10 - VHRBIOS.SYS - INSTALLATION CHECK
10F1 - INT 10 - EGA Register Interface Library - WRITE ONE REGISTER
10F1 - INT 10 - VHRBIOS.SYS - SET REVERSE VIDEO
10F2 - INT 10 - EGA Register Interface Library - READ REGISTER RANGE
10F2 - INT 10 - VHRBIOS.SYS - ???
10F3 - INT 10 - EGA Register Interface Library - WRITE REGISTER RANGE
10F3 - INT 10 - VHRBIOS.SYS - SWITCH BETWEEN DUAL MONITORS???
10F4 - INT 10 - EGA Register Interface Library - READ REGISTER SET
10F4 - INT 10 - VHRBIOS.SYS - GET VERSION
10F5 - INT 10 - EGA Register Interface Library - WRITE REGISTER SET
10F5 - INT 10 - VHRBIOS.SYS - GET VENDOR ID
10F6 - INT 10 - EGA Register Interface Library - REVERT TO DEFAULT REGISTERS
10F6 - INT 10 - VHRBIOS.SYS - GET INFO
10F7 - INT 10 - EGA Register Interface Library - DEFINE DEFAULT REGISTER TABLE
10FA--BX0000 - INT 10 - EGA Register Interface Library - INTERROGATE DRIVER
10FA - INT 10 - FASTBUFF.COM - INSTALLATION CHECK
10FE - INT 10 - TopView - GET SHADOW BUFFER
10FF - INT 10 - TopView - UPDATE SCREEN FROM SHADOW BUFFER
10FF - INT 10 - DJ GO32.EXE 80386+ DOS extender - VIDEO EXTENSIONS
10FF - INT 10 - VIDEO - Oak VGA BIOS v1.02+ - SET EMULATION
10FF00 - INT 10 - CARBON COPY PLUS v5.0 - CHECK IF CC CONNECTED TO CCHELP
10FF01 - INT 10 - CARBON COPY PLUS v5.0 - DISCONNECT AND RESET LINE
10FF02 - INT 10 - CARBON COPY PLUS v5.0 - GET LAST PHONE NUMBER DIALED
11 - INT 11 - CPU-generated (80486+) - ALIGNMENT CHECK
11 - INT 11 - BIOS - GET EQUIPMENT LIST
11----SI6A6A - INT 11 - Columbia Data Products Standard Device Level Protocol (SDLP) 1.6
110225BX6900 - INT 11 - Blank-It Screen Blanker - INSTALLATION CHECK
110225BX6901 - INT 11 - Blank-It Screen Blanker - SET TIMEOUT FOR SCREEN BLANKING
110225BX6902 - INT 11 - Blank-It Screen Blanker - ENABLE THE SOFTWARE
110225BX6903 - INT 11 - Blank-It Screen Blanker - DISABLE THE SOFTWARE
110225BX6904 - INT 11 - Blank-It Screen Blanker - GET BLANKING TIMEOUT
110225BX6905 - INT 11 - Blank-It Screen Blanker - ENABLE WINDOWS COMPATIBILITY MODE
110225BX6906 - INT 11 - Blank-It Screen Blanker - DISABLE WINDOWS COMPATIBILITY MODE
110225BX6907 - INT 11 - Blank-It Screen Blanker - UNBLANK THE SCREEN
110225BX6908 - INT 11 - Blank-It Screen Blanker - BLANK THE SCREEN
110225BX6909 - INT 11 - Blank-It Screen Blanker - SET HOTKEY FOR MANUAL BLANKING
1105D7 - INT 11 CU - Borland C++ IDE - INSTALLED CALLOUT
1177 - INT 11 - RainbowFAX v1.3 - SFENGINE API - OPERATIONAL CONTROL
1178 - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
1179 - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
117A - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
117C01 - INT 11 - RainbowFAX v1.3 - SFENGINE API - SET ??? FLAG
117C02 - INT 11 - RainbowFAX v1.3 - SFENGINE API - CLEAR ??? FLAG
117C03 - INT 11 - RainbowFAX v1.3 - SFENGINE API - UNSUPPORTED FUNCTIONS
11BC--DX1954 - INT 11 - BNU FOSSIL - INSTALLATION CHECK
11FF--SI6A6A - INT 11 - WD7000 SDLP interface - EXECUTE GENERIC SCSI COMMAND
11FFFECXFFFE - INT 11 - BACK&FORTH (before v1.62) API
12 - INT 12 - BIOS - GET MEMORY SIZE
12 - INT 12 - CPU-generated (Pentium +) - MACHINE CHECK EXCEPTION
12----CX1806 - INT 12 - KEYBUI v2.0+ - INSTALLATION CHECK
12----CX1807 - INT 12 - PARKER v2.0+ - INSTALLATION CHECK
1205D7BX05D7 - INT 12 U - Borland C++ IDE - INSTALLATION CHECK
124350BX4920 - INT 12 C - CPI-standard virus - "FRIEND" CHECK
12FFFECXFFFE - INT 12 - Back&Forth v1.62+ - API
1300 - INT 13 - DISK - RESET DISK SYSTEM
1301 - INT 13 - DISK - GET STATUS OF LAST OPERATION
1302 - INT 13 - DISK - READ SECTOR(S) INTO MEMORY
1303 - INT 13 - DISK - WRITE DISK SECTOR(S)
1304 - INT 13 - DISK - VERIFY DISK SECTOR(S)
1305 - INT 13 - FLOPPY - FORMAT TRACK
1305 - INT 13 - FIXED DISK - FORMAT TRACK
1305 - INT 13 - Future Domain SCSI BIOS - SEND SCSI MODE SELECT COMMAND
13057FSI324D - INT 13 - 2M - FORMAT TRACK
1306 - INT 13 - FIXED DISK - FORMAT TRACK AND SET BAD SECTOR FLAGS (XT,PORT)
1306 - INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE WITH BAD SECTOR MAPPING
1306 - INT 13 - Adaptec AHA-154xA/Bustek BT-542 BIOS - IDENTIFY SCSI DEVICES
1306 - INT 13 - V10DISK.SYS - READ DELETED SECTORS
1307 - INT 13 - FIXED DISK - FORMAT DRIVE STARTING AT GIVEN TRACK (XT,PORT)
1307 - INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE
1307 - INT 13 - V10DISK.SYS - WRITE DELETED SECTORS
1308 - INT 13 - DISK - GET DRIVE PARAMETERS (PC,XT286,CONV,PS,ESDI,SCSI)
1308 - INT 13 - V10DISK.SYS - SET FORMAT
130800DLF0 - INT 13 - SecureDrive - INSTALLATION CHECK
1309 - INT 13 - HARD DISK - INITIALIZE CONTROLLER WITH DRIVE PARAMETERS (AT,PS)
130A - INT 13 - HARD DISK - READ LONG SECTOR(S) (AT and later)
130B - INT 13 - HARD DISK - WRITE LONG SECTOR(S) (AT and later)
130C - INT 13 - HARD DISK - SEEK TO CYLINDER
130D - INT 13 - HARD DISK - RESET HARD DISKS
130E - INT 13 - HARD DISK - READ SECTOR BUFFER (XT only)
130F - INT 13 - HARD DISK - WRITE SECTOR BUFFER (XT only)
1310 - INT 13 - HARD DISK - CHECK IF DRIVE READY
1311 - INT 13 - HARD DISK - RECALIBRATE DRIVE
1312 - INT 13 - HARD DISK - CONTROLLER RAM DIAGNOSTIC (XT,PS)
1312 - INT 13 - Future Domain SCSI CONTROLLER - STOP SCSI DISK
1312 - INT 13 - SyQuest - START/STOP SCSI DISK
1313 - INT 13 - HARD DISK - DRIVE DIAGNOSTIC (XT,PS)
1313 - INT 13 - SyQuest - READ DRIVE PARAMATERS (for DOS 5+)
1314 - INT 13 - HARD DISK - CONTROLLER INTERNAL DIAGNOSTIC
1315 - INT 13 - DISK - GET DISK TYPE (XT 1986/1/10 or later,XT286,AT,PS)
1316 - INT 13 - FLOPPY DISK - DETECT DISK CHANGE (XT 1986/1/10 or later,XT286,AT,PS)
1317 - INT 13 - FLOPPY DISK - SET DISK TYPE FOR FORMAT (AT,PS)
131700 - INT 13 - Future Domain SCSI CONTROLLER - GET INQUIRY INFO FROM SCSI DEVICE
1318 - INT 13 - DISK - SET MEDIA TYPE FOR FORMAT (AT model 3x9,XT2,XT286,PS)
1318 - INT 13 - Future Domain SCSI BIOS - GET SCSI CONTROLLER INFORMATION
1318--CX5055 - INT 13 - PU_1700.COM - INSTALLATION CHECK
1318--CXD2C9 - INT 13 - XDF.COM - API
1319 - INT 13 - FIXED DISK - PARK HEADS ON ESDI DRIVE (XT286,PS)
1319 - INT 13 - Future Domain SCSI CONTROLLER - REINITIALIZE DRIVE
131A - INT 13 - ESDI FIXED DISK - FORMAT UNIT (PS)
131A - INT 13 - Future Domain SCSI CONTROLLER - GET SCSI PARTIAL MEDIUM CAPACITY
131B - INT 13 - ESDI FIXED DISK - GET MANUFACTURING HEADER
131B - INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO SCSI DISK INFO BLOCK
131C - INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO FREE CONTROLLER RAM
131C - INT 13 U - ESDI FIXED DISK - ???
131C08 - INT 13 U - ESDI FIXED DISK - GET COMMAND COMPLETION STATUS
131C09 - INT 13 U - ESDI FIXED DISK - GET DEVICE STATUS
131C0A - INT 13 U - ESDI FIXED DISK - GET DEVICE CONFIGURATION
131C0B - INT 13 U - ESDI FIXED DISK - GET ADAPTER CONFIGURATION
131C0C - INT 13 U - ESDI FIXED DISK - GET POS INFORMATION
131C0D - INT 13 U - ESDI FIXED DISK - ???
131C0E - INT 13 U - ESDI FIXED DISK - TRANSLATE RBA TO ABA
131C0F - INT 13 U - ESDI FIXED DISK - ???
131C12 - INT 13 U - ESDI FIXED DISK - ???
131D - INT 13 - IBMCACHE.SYS - CACHE STATUS
131F - INT 13 - SyQuest - DOOR LATCH/DOOR BUTTON DETECT
1320 - INT 13 - DISK - ??? (Western Digital "Super BIOS")
1320 - INT 13 U - Compaq, ATAPI Removable Media Device - GET CURRENT MEDIA FORMAT
1320 - INT 13 u - QUICKCACHE II v4.20 - DISMOUNT
1321 - INT 13 - HARD DISK - PS/1 and newer PS/2 - READ MULTIPLE DISK SECTORS
1321 - INT 13 u - QUICKCACHE II v4.20 - FLUSH CACHE
1322 - INT 13 - HARD DISK - PS/1 and newer PS/2 - WRITE MULTIPLE DISK SECTORS
1322 - INT 13 u - QUICKCACHE II v4.20 - ENABLE/DISABLE CACHE
1323 - INT 13 U - HARD DISK - PS/1 and newer PS/2 - SET CONTROLLER FEATURES REGISTER
1323 - INT 13 U - QUICKCACHE II v4.20 - GET ??? ADDRESS
1324 - INT 13 - HARD DISK - PS/1 and newer PS/2 - SET MULTIPLE MODE
1324 - INT 13 u - QUICKCACHE II v4.20 - SET SECTORS
1325 - INT 13 - HARD DISK - PS/1 and newer PS/2 - IDENTIFY DRIVE
1325 - INT 13 u - QUICKCACHE II v4.20 - SET FLUSH INTERVAL
1326 - INT 13 U - QUICKCACHE II v4.20 - UNINSTALL
1327--BX0000 - INT 13 u - QUICKCACHE II v4.20 - INSTALLATION CHECK
1328 - INT 13 U - QUICKCACHE II v4.20 - SET AUTOMATIC DISMOUNT
1329 - INT 13 U - QUICKCACHE II v4.20 - NOP
132A - INT 13 u - QUICKCACHE II v4.20 - SET BUFFER SIZE
132B - INT 13 U - QUICKCACHE II v4.20 - DRIVE ACCESS SOUNDS
132C - INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED WRITES
132D - INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED READ
132E - INT 13 u - QUICKCACHE II v4.20 - SET FLUSH COUNT
132F - INT 13 - QUICKCACHE II v4.20 - FORCE IMMEDIATE INCREMENTAL FLUSH
1330 - INT 13 u - QUICKCACHE II v4.20 - GET INFO
1331 - INT 13 U - QUICKCACHE II v4.20 - RESERVE MEMORY
1332 - INT 13 U - QUICKCACHE II v4.20 - ENABLE CACHING FOR SPECIFIC DRIVE
1333 - INT 13 U - QUICKCACHE II v4.20 - DISABLE CACHING FOR SPECIFIC DRIVE
1334 - INT 13 U - QUICKCACHE II v4.20 - SECTOR LOCKING
1335 - INT 13 U - QUICKCACHE II v4.20 - SET LOCK POOL SIZE
1336 - INT 13 U - QUICKCACHE II v4.20 - SET TRACE BUFFER SIZE
1337 - INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED READS FOR SPECIFIC DRIVE
1338 - INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED WRITES FOR SPECIFIC DRIVE
1339 - INT 13 U - QUICKCACHE II v4.20 - SET READ BUFFER SIZE FOR SPECIFIC DRIVE
133A - INT 13 U - QUICKCACHE II v4.20 - SET WRITE BUFFER SIZE FOR SPECIFIC DRIVE
133B - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
133C - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
133D - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE CYLINDER FLUSH FOR DRIVE
133E - INT 13 U - QUICKCACHE II v4.20 - SET SINGLE-SECTOR BONUS
133F - INT 13 U - QUICKCACHE II v4.20 - SET BONUS THRESHOLD
1340 - INT 13 U - QUICKCACHE II v4.20 - SET "sticky_max"
1341--BX55AA - INT 13 - IBM/MS INT 13 Extensions - INSTALLATION CHECK
1341 - INT 13 U - QUICKCACHE II v4.20 - SAVE/RESTORE ???
1342 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED READ
134257DX1234 - INT 13 U - Beame&Whiteside BWLPD - INSTALLATION CHECK
1343 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED WRITE
1344 - INT 13 - IBM/MS INT 13 Extensions - VERIFY SECTORS
1345 - INT 13 - IBM/MS INT 13 Extensions - LOCK/UNLOCK DRIVE
1346 - INT 13 - IBM/MS INT 13 Extensions - EJECT MEDIA
1347 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED SEEK
1348 - INT 13 - IBM/MS INT 13 Extensions - GET DRIVE PARAMETERS
1349 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED MEDIA CHANGE
134A - INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION
134B00 - INT 13 - Bootable CD-ROM - TERMINATE DISK EMULATION
134B01 - INT 13 - Bootable CD-ROM - GET STATUS
134C - INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION AND BOOT
134D00 - INT 13 - Bootable CD-ROM - RETURN BOOT CATALOG
134E - INT 13 - IBM/MS INT 13 Extensions v2.1+ - SET HARDWARE CONFIGURATION
135001 - INT 13 - Enhanced Disk Drive Spec v3.0 - SEND PACKET COMMAND
135001 - INT 13 - VIRUS - "Andropinis" - INSTALLATION CHECK
135342CX0001 - INT 13 - ScanBoot - INSTALLATION CHECK
135501 - INT 13 - Seagate ST01/ST02 - Inquiry
135502 - INT 13 - Seagate ST01/ST02 - RESERVED
135503 - INT 13 - Seagate ST01/ST01 - Set Device Type Qualifier (DTQ)
135504 - INT 13 U - Seagate - ??? - RETURN IDENTIFICATION
135504 - INT 13 - Seagate ST01/ST02 - RETURN IDENTIFICATION
135505 - INT 13 - Seagate - ??? - PARK HEADS
135505 - INT 13 - Seagate ST01/ST02 - PARK HEADS
135506 - INT 13 - Seagate ST01/ST02 - SCSI Bus Parity
135507 - INT 13 - Seagate ST01/ST02 - RESERVED FUNCTIONS
135514 - INT 13 U - Seagate - ???
135515 - INT 13 U - Seagate - PARK HEADS???
1359 - INT 13 - SyQuest - Generic SCSI pass through
1370 - INT 13 - Priam EDVR.SYS DISK PARTITIONING SOFTWARE???
1375 - INT 13 - ???
1376 - INT 13 - ???
137B00 - INT 13 - NOW! v3.05 - GET INFORMATION
137B01 - INT 13 - NOW! v3.05 - ???
137B02 - INT 13 - NOW! v3.05 - SET INFORMATION
137B03 - INT 13 - NOW! v3.05 - ???
137B04 - INT 13 - NOW! v3.05 - ???
137B05 - INT 13 - NOW! v3.05 - GET DISK ACCESSES???
137B06 - INT 13 - NOW! v3.05 - GET ???
137B07 - INT 13 - NOW! v3.05 - GET ???
137B08 - INT 13 - NOW! v3.05 - ???
1380--CX6572 - INT 13 - FAST! v4.02+ - API
138001CX6572 - INT 13 - FAST! v4.02+ - GET CACHE INFORMATION
138006CX6572 - INT 13 - FAST! v4.02+ - INSTALLATION CHECK
138007CX6572 - INT 13 - FAST! v4.02+ - UNHOOK INTERRUPTS
1381--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1382--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1383--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1384--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1385--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1386--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
1387--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
1388--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
1389--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
138A--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
138EED - INT 13 - HyperDisk v4.01+ - ???
138EEE - INT 13 - HyperDisk v4.01+ - ???
138EEF - INT 13 - HyperDisk v4.01+ - ???
1392--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1393--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1394--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1395--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1396--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1397--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1398--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1399--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139A--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139B--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139C--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139D--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
13A0--SI4358 - INT 13 - Super PC-Kwik v3.20+ - GET RESIDENT CODE SEGMENT
13A1--SI4358 - INT 13 - Super PC-Kwik v3.20+ - FLUSH CACHE
13A2--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
13A3--SI4358 - INT 13 U - Super PC-Kwik v5.10+ - DISABLE CACHE
13A4--SI4358 - INT 13 U - Super PC-Kwik v5.10+ - ENABLE CACHE
13A5--SI4358 - INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM TERMINATION NOTIFICATION
13A6--SI4358 - INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM LOAD NOTIFICATION
13A7--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - ???
13A759 - INT 13 U - Novell DOS 7 - SDRes v27.03 - ???
13A8--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - ???
13A9--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - EXITCODE RETRIEVAL NOTIFICATION
13AA--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AB--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AC--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AD - INT 13 - Priam HARD DISK CONTROLLER???
13AD--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AE--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
13B0--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
13BF00 - INT 13 - Mylex/Adaptec??? - ???
13E000 - INT 13 - XBIOS - COMMAND
13EC00 - INT 13 - VIRUS - "Tiso" - INSTALLATION CHECK
13EE - INT 13 - SWBIOS - SET 1024-CYLINDER FLAG
13EF - INT 13 - Ontrack Drive Rocket - SET CYLINDER OFFSET
13F2 - INT 13 - VIRUS - "Neuroquila" - INSTALLATION CHECK
13F9 - INT 13 - SWBIOS - INSTALLATION CHECK
13FA--DX5945 - INT 13 - PC Tools v8+ VSAFE, VWATCH - API
13FD50 - INT 13 - VIRUS - "Predator" - INSTALLATION CHECK
13FE - INT 13 - SWBIOS - GET EXTENDED CYLINDER COUNT
13FF - INT 13 - EZ-Drive - INSTALLATION CHECK
13FF - INT 13 - IBM SurePath BIOS - Officially "Private" Function
13FFFFBHAA - INT 13 - UNIQUE UX Turbo Utility - SET TURBO MODE
14 - INT 14 - SERIAL - Digiboard DigiCHANNEL PC/X* Extender INT 14 (XAPCM232.SYS)
1400 - INT 14 - SERIAL - INITIALIZE PORT
1400 - INT 14 - FOSSIL (Fido/Opus/Seadog Standard Interface Level) - INITIALIZE
1400 - INT 14 - Tandy 2000 - SERIAL - RESET COMM PORT
1400 - INT 14 - MBBIOS - INITIALIZE PORT
1400--DXFFFF - INT 14 - Connection Manager - MODIFY DEFAULT CONNECTION PARAMETERS
1401 - INT 14 - SERIAL - WRITE CHARACTER TO PORT
1401--DXFFFF - INT 14 - Connection Manager - SEND CHARACTER
1402 - INT 14 - SERIAL - READ CHARACTER FROM PORT
1402 - INT 14 - FOSSIL - RECEIVE CHARACTER WITH WAIT
1402--DXFFFF - INT 14 - Connection Manager - RECEIVE CHARACTER
1403 - INT 14 - SERIAL - GET PORT STATUS
1403--DXFFFF - INT 14 - Connection Manager - RETURN COMMUNICATION PORT STATUS
1404 - INT 14 - SERIAL - EXTENDED INITIALIZE (CONVERTIBLE,PS)
1404 - INT 14 - Tandy 2000 - SERIAL - FLUSH COMM BUFFER
1404 - INT 14 - FOSSIL - INITIALIZE DRIVER
1404 - INT 14 - MultiDOS Plus IODRV - INITIALIZE PORT
1404 - INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE BAUD RATE
1404 - INT 14 - MBBIOS - INSTALLATION CHECK
1404--DXFFFF - INT 14 - Connection Manager - OPEN COMMUNICATION
140400 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INSTALLATION CHECK
140401 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INITIALIZE MODE
140402 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - EXTENDED INITIALIZE
140403 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - SET TIMEOUT
140404 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE RECEIVE BUFFER
140405 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET RECEIVE BUFFER COUNT
140406 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE TRANSMIT BUFFER
140407 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET TRANSMIT BUFFER COUNT
140408 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - UNINSTALL
1405 - INT 14 - SERIAL - EXTENDED COMMUNICATION PORT CONTROL (CONVERTIBLE,PS)
1405 - INT 14 - FOSSIL - DEINITIALIZE DRIVER
1405 - INT 14 - MultiDOS Plus IODRV - READ CHARACTER FROM PORT
1405 - INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE PROTOCOL
1405 - INT 14 - MBBIOS - DROP DTR AND RTS
1405 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHANGE PORT PROTOCOL
1405 - INT 14 - PhysTechSoft PTS ROM-DOS - SET PACKET
1405--DXFFFF - INT 14 - Connection Manager - CLOSE COMMUNICATION
1406 - INT 14 - FOSSIL - RAISE/LOWER DTR
1406 - INT 14 - MultiDOS Plus IODRV - WRITE CHARACTER TO PORT
1406 - INT 14 - MBBIOS - RAISE DTR AND RTS
1406 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DRIVER 'ID' FUNCTION
1406 - INT 14 - TelAPI - WRITE BLOCK
1406 - INT 14 - PhysTechSoft PTS ROM-DOS - GET PACKET
1406--DXFFFF - INT 14 - Connection Manager - SEND CHARACTER BLOCK
1407 - INT 14 - FOSSIL - RETURN TIMER TICK PARAMETERS
1407 - INT 14 - MultiDOS Plus IODRV - GET PORT STATUS
1407 - INT 14 - MBBIOS - SEND BREAK
1407 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SEND RS-232 BREAK
1407 - INT 14 - TelAPI - READ BLOCK
1407--DXFFFF - INT 14 - Connection Manager - RECEIVE CHARACTER BLOCK
1408 - INT 14 - FOSSIL - FLUSH OUTPUT BUFFER WAITING TILL ALL OUTPUT IS DONE
1408 - INT 14 - MultiDOS Plus 4.0 IODRV - GET AND RESET PORT LINE STATUS
1408 - INT 14 - Digiboard DigiCHANNEL PC/X* - ALTERNATE STATUS CHECK
1408 - INT 14 - MBBIOS - NON-DESTRUCTIVE READ
1408 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STATUS CHECK
1408--DXFFFF - INT 14 - Connection Manager - RETURN DEFAULT CONNECTION PARAMETERS
1409 - INT 14 - FOSSIL - PURGE OUTPUT BUFFER THROWING AWAY ALL PENDING OUTPUT
1409 - INT 14 - MultiDOS Plus IODRV - RESET PORT STATUS
1409 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR BUFFERS
1409 - INT 14 - MBBIOS - GET/SET OPTIONS
1409 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RESET I/O BUFFER POINTERS
1409--DXFFFF - INT 14 - Connection Manager - SEND BREAK
140A - INT 14 - FOSSIL - PURGE INPUT BUFFER THROWING AWAY ALL PENDING INPUT
140A - INT 14 - Digiboard DigiCHANNEL PC/X* - INPUT QUEUE CHECK
140A - INT 14 - MBBIOS - WRITE BUFFER
140A--DXFFFF - INT 14 - Connection Manager - MODIFY ACTIVE CONNECTION PARAMETERS
140B - INT 14 - FOSSIL - TRANSMIT NO WAIT
140B - INT 14 - MBBIOS - READ BUFFER
140B--DXFFFF - INT 14 - Connection Manager - PREPARE FOR INBOUND CONNECTION
140C - INT 14 - FOSSIL - NON-DESTRUCTIVE READ AHEAD
140C - INT 14 - MBBIOS PACCOM support - BUFFER MANAGEMENT
140C--DXFFFF - INT 14 - Connection Manager - TEST FOR INBOUND CONNECTION REQUEST
140D - INT 14 - FOSSIL - KEYBOARD READ WITHOUT WAIT
140D - INT 14 - Digiboard DigiCHANNEL PC/X* - GET POINTER TO CH_KEY_RDY FLAG
140D - INT 14 - MBBIOS PACCOM support - SET TXD
140D--DXFFFF - INT 14 - Connection Manager - TERMINATE CONNECTION CLIENT ACTIVITY
140D00 - INT 14 - MBBIOS - GET AVAILABLE BYTES
140D01 - INT 14 - MBBIOS - LOWER ALL MODEM CONTROL SIGNALS
140D02 - INT 14 - MBBIOS - RAISE ALL MODEM CONTROL SIGNALS
140D03 - INT 14 - MBBIOS - SET HANDSHAKE BYTE
140E - INT 14 - FOSSIL - KEYBOARD READ WITH WAIT
140E - INT 14 - Digiboard DigiCHANNEL PC/X* - WRITE STRING
140E - INT 14 - MBBIOS PACCOM support - SET PERSISTENCE
140E--DXFFFF - INT 14 - Connection Manager - SET HARDWARE FLOW STATE
140F - INT 14 - FOSSIL - ENABLE/DISABLE FLOW CONTROL
140F - INT 14 - Digiboard DigiCHANNEL PC/X* - READ STRING
140F - INT 14 - MBBIOS PACCOM support - SET SLOT TIME
140F--DXFFFF - INT 14 - Connection Manager - RETURN ACTIVE CONNECTION PARAMETERS
1410 - INT 14 - FOSSIL - EXTENDED ^C/^K CHECKING AND TRANSMIT ON/OFF
1410 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR RECEIVE BUFFER
1410 - INT 14 - MBBIOS PACCOM support - SET CRC WAIT
1410--DXFFFF - INT 14 - Connection Manager - QUERY SERVICE NAMES
1411 - INT 14 - FOSSIL - SET CURRENT CURSOR LOCATION
1411 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR TRANSMIT BUFFER
1411 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DISABLE PORT
1412 - INT 14 - FOSSIL - READ CURRENT CURSOR LOCATION
1412 - INT 14 - Digiboard DigiCHANNEL PC/X* - GET TRANSMIT BUFFER FREE SPACE
1412 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET CURRENT PORT PARAMETERS
1413 - INT 14 - FOSSIL - SINGLE CHARACTER ANSI WRITE TO SCREEN
1413 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - REGISTER A PORT WITH A TERMINAL
1414 - INT 14 - FOSSIL - ENABLE OR DISABLE WATCHDOG PROCESSING
1414 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT STRING
1414 - INT 14 - Digiboard - GET NUMBER OF BOARDS INSTALLED
1415 - INT 14 - FOSSIL - WRITE CHARACTER TO SCREEN USING BIOS SUPPORT ROUTINES
1415 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STRING
1415 - INT 14 - Digiboard - ENABLE/DISABLE MEMORY
1416 - INT 14 - FOSSIL - INSERT/DELETE FUNCTION FROM TIMER TICK CHAIN
1416 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - LINK TO ANOTHER SERIAL DRIVER
1416 - INT 14 - Digiboard DigiCHANNEL PC/X* - CCB COMMAND
141646 - INT 14 - Digiboard - CCB COMMAND - SET INTERRUPT TO HOST MASK
141647 - INT 14 - Digiboard - CCB COMMAND - SET BAUD/DATABITS/STOPBITS/PARITY
141649 - INT 14 - Digiboard - CCB COMMAND - SET MODEM LINES
14164A - INT 14 - Digiboard - CCB COMMAND - SET BREAK COUNT
14164B - INT 14 - Digiboard - CCB COMMAND - SET HANDSHAKE
14164C - INT 14 - Digiboard - CCB COMMAND - SET XON/XOFF CHARACTERS
14164D - INT 14 - Digiboard - CCB COMMAND - SET TRANSMIT MID-WATER MARK
14164E - INT 14 - Digiboard - CCB COMMAND - IRQ POLLING TIMER TO HOST
14164F - INT 14 - Digiboard - CCB COMMAND - BUFFER SET ALL
141653 - INT 14 - Digiboard - CCB COMMAND - SPECIAL CHARACTER INTERRUPT
1417 - INT 14 - FOSSIL - REBOOT SYSTEM
1417 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - WRITE MODEM CONTROL REGISTER
1418 - INT 14 - FOSSIL - READ BLOCK
1418 - INT 14 - Digiboard DigiCHANNEL PC/X* - SEND BIOS COMMAND
1418 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET DRIVER DESCRIPTION
1419 - INT 14 - FOSSIL - WRITE BLOCK
1419 - INT 14 - Digiboard DigiCHANNEL PC/X* - SPECIAL CHARACTER INTERRUPT
1419 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SELECTIVE BUFFER FLUSH
141A - INT 14 - FOSSIL - BREAK BEGIN OR END
141A - INT 14 - Digiboard DigiCHANNEL PC/X - SPECIAL CHARACTER FLAG/COUNTER
141B - INT 14 - FOSSIL - RETURN INFORMATION ABOUT THE DRIVER
141C - INT 14 - X00 FOSSIL - ACTIVATE PORT
141D - INT 14 - X00 FOSSIL - DEACTIVATE PORT
141E - INT 14 - X00 FOSSIL - EXTENDED LINE CONTROL INITIALIZATION
141E - INT 14 - HUNTER 16 - READ COMMS PARAMETERS
141F - INT 14 - X00 FOSSIL - EXTENDED SERIAL PORT STATUS/CONTROL
1420 - INT 14 - X00 FOSSIL - DESTRUCTIVE READ WITH NO WAIT
1420 - INT 14 - Alloy MW386 - ATTACH LOGICAL COMMUNICATIONS PORT TO PHYSICAL PORT
1420 - INT 14 - MultiDOS Plus - INITIALIZE PORT
1420 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHECK OUTPUT QUEUE
1420 - INT 14 - HUNTER 16 - SELECT COMMS PARAMETERS
1421 - INT 14 - X00 FOSSIL - STUFF RECEIVE BUFFER
1421 - INT 14 - Alloy MW386 v1.x only - RELEASE PHYSICAL COMMUNICATIONS PORT
1421 - INT 14 - MultiDOS Plus - TRANSMIT CHARACTER
1421 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT CHARACTER, WITH TIMEOUT
1421 - INT 14 - HUNTER 16 - EXTENDED CONTROL
1422 - INT 14 - Alloy MW386 v2+ - RELEASE LOGICAL COMMUNICATIONS PORT
1422 - INT 14 - MultiDOS Plus - RECEIVE CHARACTER
1422 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RECEIVE CHARACTER, WITH TIMEOUT
1422 - INT 14 - HUNTER 16 - EXTENDED STATUS
1423 - INT 14 - Alloy MW386 v2+ - GET PORT NUMBER FROM LOGICAL PORT ID
1423 - INT 14 - MultiDOS Plus - GET PORT STATUS
1423 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DECLARE PORT OWNERSHIP
1423 - INT 14 - HUNTER 16 - CONTROL HANDSHAKE LINES
1424 - INT 14 - Alloy MW386 v2+ - CHANGE PHYSICAL PORT PARAMETERS
1424 - INT 14 - MultiDOS Plus - SET MONITOR MODE
1424 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - ???
1424 - INT 14 - HUNTER 16 - CONTROL CTS HANDSHAKING
1425 - INT 14 - MultiDOS Plus - CLEAR BUFFERS
1425 - INT 14 - HUNTER 16 - CONTROL RS232 DRIVERS
1426 - INT 14 - HUNTER 16 - CONTROL RI POWER UP
1427 - INT 14 - MultiDOS Plus - GET BUFFER CHARACTER COUNT
1427 - INT 14 - HUNTER 16 - GET INSTALLED PROTOCOLS COUNT
1428 - INT 14 - HUNTER 16 - GET PROTOCOL NAME
1429 - INT 14 - HUNTER 16 - GET PROTOCOL HANDLE
142A - INT 14 - HUNTER 16 - EXTENDED PROTOCOL MENU
142B - INT 14 - HUNTER 16 - GET EXTENDED PROTOCOL PARAMETERS
142C00 - INT 14 - HUNTER 16 - GET DTR
142C - INT 14 - HUNTER 16 - SET DTR
1436 - INT 14 - ComShare - INSTALLATION CHECK
144000 - INT 14 - I1541 - INSTALLATION CHECK
144001 - INT 14 - I1541 - TEST IF 1541 CABLE CONNECTED
144002 - INT 14 - I1541 - SELECT LPT PORT FOR OUTPUT
144003 - INT 14 - I1541 - RESET ALL DEVICES
144004 - INT 14 - I1541 - SEND LISTEN SIGNAL
144005 - INT 14 - I1541 - SEND SECONDARY ADDRESS FOR LISTEN
144006 - INT 14 - I1541 - SEND UNLISTEN SIGNAL
144007 - INT 14 - I1541 - SEND TALK SIGNAL
144008 - INT 14 - I1541 - SEND SECONDARY ADDRESS FOR TALK
144009 - INT 14 - I1541 - SEND UNTALK SIGNAL
14400A - INT 14 - I1541 - SEND A BYTE TO A DEVICE
14400B - INT 14 - I1541 - RECEIVE A BYTE FROM A DEVICE
14400C - INT 14 - I1541 - WAIT
14400D - INT 14 - I1541 - LONGWAIT
14400E - INT 14 - I1541 - GET INFO
1456 - INT 14 U - BWCOM14 - INSTALLATION CHECK
1457 - INT 14 U - BWCOM14 - INITIALIZE
1458 - INT 14 U - BWCOM14 - SHUTDOWN
146F--BXFFFE - INT 14 U - Connection Manager - ???
146F--BXFFFF - INT 14 - Connection Manager - INSTALLATION CHECK
146F00 - INT 14 - HP Vectra EX-BIOS - "F14_INQUIRE" - INSTALLATION CHECK
146F01 - INT 14 - HP Vectra EX-BIOS - "F14_EXINIT" - INITIALIZE SERIAL PORT
146F02 - INT 14 - HP Vectra EX-BIOS - "F14_PUT_BUFFER" - TRANSMIT BUFFER
146F03 - INT 14 - HP Vectra EX-BIOS - "F14_GET_BUFFER" - READ DATA INTO BUFFER
146F04 - INT 14 - HP Vectra EX-BIOS - "F14_TRM_BUFFER" - READ UNTIL TERMINATOR
147000 - INT 14 - NEWCOM - INSTALLATION CHECK
147E - INT 14 - FOSSIL - INSTALL AN EXTERNAL APPLICATION FUNCTION
147F - INT 14 - FOSSIL - REMOVE AN EXTERNAL APPLICATION FUNCTION
1480 - INT 14 - COMMUNICATIONS FOSSIL
1480 - INT 14 - COURIERS.COM - INSTALLATION CHECK
148000 - INT 14 - ARTICOM - INSTALLATION CHECK
148000 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET ERROR CODE AND BUFFER STATUS
148001 - INT 14 - ARTICOM - UNLOAD ASYNCHRONOUS REDIRECTOR FROM MEMORY
148001 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
148002 - INT 14 - ARTICOM - GET ASYNCHRONOUS REDIRECTOR STATUS
148002 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
148003 - INT 14 - ARTICOM - TRANSLATE ERROR CODE TO ERROR STRING
148003 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET I/O BUFFER SIZES
148004 - INT 14 - ARTICOM - ATTACH ASYNCHRONOUS RESOURCE
148005 - INT 14 - ARTICOM - DETACH ASYNCHRONOUS RESOURCE
148006 - INT 14 - ARTICOM - GET RESOURCE INFORMATION
148007 - INT 14 - ARTICOM - GET REDIRECTED PORT INFORMATION
148008 - INT 14 - ARTICOM - GET AVAILABLE SERVER NAME
148009 - INT 14 - ARTICOM - SET SEND AND RECEIVE TIMEOUTS
14800A - INT 14 - ARTICOM - MODIFY FLOW CONTROL
148025 - INT 14 - ARTICOM - SET INTERNAL SEND/RECEIVE VECTOR
148035 - INT 14 - ARTICOM - GET INTERNAL SEND/RECEIVE VECTOR
1481 - INT 14 - COURIERS.COM - CHECK IF PORT BUSY
1481 - INT 14 - COMM-DRV - EXTENDED INITIALIZATION
148100 - INT 14 - VIDEO FOSSIL - RETURN VFOSSIL INFORMATION
148101 - INT 14 - VIDEO FOSSIL - OPEN VFOSSIL
148102 - INT 14 - VIDEO FOSSIL - CLOSE VFOSSIL
148103 - INT 14 - VIDEO FOSSIL - UNINSTALL
1482 - INT 14 - KEYBOARD FOSSIL
1482 - INT 14 - COURIERS.COM - CONFIGURE PORT
1482 - INT 14 - COMM-DRV v14.0 - PORT CLEANUP
1483 - INT 14 - SYSTEM FOSSIL
1483 - INT 14 - COURIERS.COM - START INPUT
1483 - INT 14 - COMM-DRV v14.0 - FLUSH COMMUNICATION BUFFERS
1484 - INT 14 - COURIERS.COM - READ CHARACTER
1484 - INT 14 - COMM-DRV v14.0 - SEND PACKET
1485 - INT 14 - COURIERS.COM - FLUSH PENDING INPUT
1485 - INT 14 - COMM-DRV v14.0 - RECEIVE PACKET
1486 - INT 14 - COURIERS.COM - START OUTPUT
1486 - INT 14 - COMM-DRV v14.0 - SET INPUT/OUTPUT TIMEOUTS
1487 - INT 14 - COURIERS.COM - OUTPUT STATUS
1487 - INT 14 - COMM-DRV v14.0 - TURN ON DTR
1488 - INT 14 - COURIERS.COM - ABORT OUTPUT
1488 - INT 14 - COMM-DRV v14.0 - TURN OFF DTR
1489 - INT 14 - COURIERS.COM - SEND SINGLE CHARACTER
1489 - INT 14 - COMM-DRV v14.0 - TURN ON RTS
148A - INT 14 - COURIERS.COM - SEND BREAK
148A - INT 14 - COMM-DRV v14.0 - TURN OFF RTS
148B - INT 14 - COMM-DRV v14.0 - SET USER INTERRUPT ROUTINE
148C - INT 14 - COURIERS.COM - SET SPEED
148C - INT 14 - COMM-DRV v14.0 - READ UART REGISTER
148D - INT 14 - COURIERS.COM - DECONFIGURE PORT
148D - INT 14 - COMM-DRV v14.0 - WRITE UART REGISTER
148E - INT 14 - COMM-DRV v14.0 - READ PACKET NONDESTRUCTIVELY
14A0 - INT 14 - 3com BAPI SERIAL I/O - CONNECT TO PORT
14A0--CXFFFF - INT 14 - Interconnections Inc. TES - INSTALLATION CHECK/STATUS REPORT
14A1 - INT 14 - 3com BAPI SERIAL I/O - DISCONNECT FROM PORT
14A1 - INT 14 - Interconnections Inc. TES - GET LIST OF SESSIONS WITH STATUS
14A2 - INT 14 - 3com BAPI SERIAL I/O - WRITE CHARACTER
14A2 - INT 14 - Interconnections Inc. TES - GET LIST OF SERVER NAMES
14A3 - INT 14 - 3com BAPI SERIAL I/O - READ CHARACTER
14A3 - INT 14 - Interconnections Inc. TES - START A NEW SESSION
14A4 - INT 14 - 3com BAPI SERIAL I/O - WRITE BLOCK
14A4 - INT 14 - Interconnections Inc. TES - HOLD CURRENTLY ACTIVE SESSION
14A5 - INT 14 - 3com BAPI SERIAL I/O - READ BLOCK
14A5 - INT 14 - Interconnections Inc. TES - RESUME A SESSION
14A6 - INT 14 - 3com BAPI SERIAL I/O - SEND SHORT BREAK
14A6 - INT 14 - Interconnections Inc. TES - DROP A SESSION
14A7 - INT 14 - 3com BAPI SERIAL I/O - READ STATUS
14A7 - INT 14 - Interconnections Inc. TES - SWITCH TO NEXT ACTIVE SESSION
14A8 - INT 14 - Interconnections Inc. TES - SEND STRING TO COMMAND INTERPRETER
14A8 - INT 14 - Novell TelAPI v4.01 - CONNECTION INFORMATION???
14A9 - INT 14 - Novell TelAPI v4.01 - CONNECTION CONTROL???
14AA01 - INT 14 - DimVGA v2.0+ - INSTALLATION CHECK
14AA02 - INT 14 - DimVGA v2.0+ - SET TIME-OUT (DIMMING/BLANKING) PERIOD
14AA03 - INT 14 - DimVGA v2.0+ - SET DIMMING FACTOR
14AA04 - INT 14 - DimVGA v2.0+ - GET TIME-OUT PERIOD
14AA05 - INT 14 - DimVGA v2.0+ - GET DIMMING FACTOR
14AA06 - INT 14 - DimVGA v2.0+ - DISABLE
14AA07 - INT 14 - DimVGA v2.0+ - ENABLE
14AA08 - INT 14 - DimVGA v2.0+ - DIM SCREEN 'MANUALLY'
14AA09 - INT 14 - DimVGA v2.0+ - UNDIM SCREEN 'MANUALLY'
14AA0A - INT 14 - DimVGA v2.0+ - CHECK WHETHER ENABLED
14AA0B - INT 14 - DimVGA v2.1+ - SET HOTKEY
14AA0C - INT 14 - DimVGA v2.1+ - GET HOTKEY
14AA0D - INT 14 - DimVGA v3.0+ - SET MOUSE CHECK STATUS
14AA0E - INT 14 - DimVGA v3.0+ - GET MOUSE CHECK STATUS
14AA0F - INT 14 - DimVGA v3.4 - SET LOCKING STATUS
14AA10 - INT 14 - DimVGA v3.4 - GET MOUSE CHECK STATUS
14AD - INT 14 - IBM SurePath BIOS - Officially "Private" Function
14AE - INT 14 - IBM SurePath BIOS - Officially "Private" Function
14AF - INT 14 - IBM SurePath BIOS - Officially "Private" Function
14AF00BXAAAA - INT 14 - 3com BAPI SERIAL I/O - INSTALLATION CHECK
14B0 - INT 14 - 3com BAPI SERIAL I/O - EN/DISABLE "ENTER COMMAND MODE" (ECM) CHARACTER
14B1 - INT 14 - 3com BAPI SERIAL I/O - ENTER COMMAND MODE
14B2 - INT 14 - 3com BAPI SERIAL I/O - GET ECM WATCH STATE
14B3 - INT 14 - 3com BAPI SERIAL I/O - GET/SET CONFIGURATION INFO
14E0 - INT 14 - TelAPI - "telopen" - CREATE TELNET CONNECTION (BLOCKING)
14E000 - INT 14 - MX5 Extended FOSSIL - GET MNP STATUS BLOCK
14E001 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP LEVEL
14E002 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP ANSWER/ORIGINATE MODE
14E003 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP WAIT TICKS
14E004 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP CONNECT SOUND LEVEL
14E005 - INT 14 - MX5 Extended FOSSIL - UNINSTALL
14E006BX0000 - INT 14 - MX5 Extended FOSSIL - INSTALLATION CHECK
14E007 - INT 14 - MX5 Extended FOSSIL - WAIT SPECIFIED NUMBER OF TICKS
14E1 - INT 14 - TelAPI - "telclose" - TERMINATE TELNET CONNECTION
14E2 - INT 14 - TelAPI - "telread" - BUFFERED READ
14E3 - INT 14 - TelAPI - "telwrite" - BUFFERED WRITE
14E4 - INT 14 - TelAPI - "telioctl" - CONNECTION CONTROL
14E5 - INT 14 - TelAPI - "telreset" - RESET ALL CONNECTIONS
14E6 - INT 14 - TelAPI - "telunload" - UNINSTALL
14E7 - INT 14 - TelAPI - "tellist" - GET TELNET SESSION LIST
14E8 - INT 14 - TelAPI - "telattach" - ATTACH COM PORT TO/FROM TELNET SESSION
14E9 - INT 14 - TelAPI - "telportosn" - GET SESSION NUMBER FOR COM PORT
14EA - INT 14 - TelAPI - "telstatus" - GET TELNET CONNECTION STATUS INFORMATION
14EB - INT 14 - TelAPI - "telname" - GET AVAILABLE/INUSE STATUS FOR ALL SESSIONS
14EC - INT 14 - TelAPI - "telnblkopen" - CREATE TELNET CONNECTION (NON-BLOCKING)
14ED - INT 14 - TelAPI - "telpoll" - POLL TELNET SESSION FOR CONNECTION COMPLETION
14F0F0 - INT 14 - ASAP v1.0 - ???
14F0F1DX0000 - INT 14 - ASAP v1.0 - INSTALLATION CHECK
14F4FF - INT 14 - IBM/Yale EBIOS SERIAL I/O - INSTALLATION CHECK
14F9 - INT 14 - IBM/Yale EBIOS SERIAL I/O - REGAIN CONTROL
14FA - INT 14 - IBM/Yale EBIOS SERIAL I/O - SEND BREAK
14FB - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET OUTGOING MODEM SIGNALS
14FC - INT 14 - IBM/Yale EBIOS SERIAL I/O - READ CHARACTER, NO WAIT
14FD02 - INT 14 - IBM/Yale EBIOS SERIAL I/O - READ STATUS
14FF00 - INT 14 - TelAPI - "telcheck" - INSTALLATION CHECK
14FF01 - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET SEND BUFFER
14FF02 - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET RECEIVE BUFFER
14FFF8 - INT 14 - COMM-DRV v14.0 - SET BAUD RATE DIVISOR
14FFFB - INT 14 - COMM-DRV v14.0 - GET HIGHEST ALLOWED PORT NUMBER
14FFFC - INT 14 - COMM-DRV v14.0 - GET INT 14 FLAGS
14FFFD - INT 14 - COMM-DRV v14.0 - SET INT 14 FLAGS
14FFFE - INT 14 - COMM-DRV v14.0 - RESTORE INT 14 VECTOR TO ORIGINAL
14FFFF - INT 14 - COMM-DRV v14.0 - GET INT 14 INFORMATION AREA
15 - INT 15 - Microsoft TSR Specification
1500 - INT 15 - CASSETTE - TURN ON TAPE DRIVE'S MOTOR (PC and PCjr only)
1500 - INT 15 - Amstrad PC1512 - GET AND RESET MOUSE COUNTS
1500 - INT 15 - VMiX v2+ - INSTALLATION CHECK
1500 - INT 15 - MultiDOS Plus - GIVE UP TIME SLICE
1501 - INT 15 - CASSETTE - TURN OFF TAPE DRIVE'S MOTOR (PC and PCjr only)
1501 - INT 15 - Amstrad PC1512 - WRITE DATA TO NON-VOLATILE RAM
1501 - INT 15 - VMiX - "sys_chanreq" - I/O CHANNEL OBJECT MANAGER
1501 - INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE
1502 - INT 15 - CASSETTE - READ DATA (PC and PCjr only)
1502 - INT 15 - Amstrad PC1512 - READ DATA FROM NON-VOLATILE RAM
1502 - INT 15 - VMiX - "sys_memreq" - MEMORY OBJECT MANAGER
1502 - INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE
1503 - INT 15 - CASSETTE - WRITE DATA (PC and PCjr only)
1503 - INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE WRITE REGISTER
1503 - INT 15 - VMiX - "sys_pinput" - PROMPTED CONSOLE INPUT
1503 - INT 15 - MultiDOS Plus - SUSPEND TASK FOR INTERVAL
1504 - INT 15 - SYSTEM - BUILD ABIOS SYSTEM PARAMETER TABLE (PS)
1504 - INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE READ REGISTER
1504 - INT 15 - VMiX - "sys_vprintf" - FORMATTED OUTPUT TO STREAM
1504 - INT 15 - MultiDOS Plus - SEND MESSAGE TO ANOTHER TASK
1505 - INT 15 - SYSTEM - BUILD ABIOS INITIALIZATION TABLE (PS)
1505 - INT 15 - Amstrad PC1512 - WRITE VDU GRAPHICS BORDER REGISTER
1505 - INT 15 - VMiX - "sys_getpid" - GET PROCESS ID OF CURRENT PROCESS
1505 - INT 15 - MultiDOS Plus - CHECK MAILBOX
1506 - INT 15 - Amstrad PC1512 - GET ROS VERSION NUMBER
1506 - INT 15 - VMiX - "sys_getpcb" - GET POINTER TO PROCESS CONTROL BLOCK
1506 - INT 15 - MultiDOS Plus - READ MAILBOX
1507 - INT 15 - VMiX - "sys_getocb" - GET POINTER TO OBJECT CONTROL BLOCK
1507 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
1507 - INT 15 - MultiDOS Plus - SPAWN INTERNAL TASK (CREATE NEW THREAD)
1508 - INT 15 - VMiX - "sys_getccb" - GET CHANNEL CONTROL BLOCK
1508 - INT 15 - IBM SurePath BIOS - WAIT REQUESTED TIME PERIOD
1508 - INT 15 - MultiDOS Plus - TERMINATE INTERNAL TASK (KILL THREAD)
1509 - INT 15 - VMiX - "sys_getqueue" - GET ID OF QUEUED ELEMENT
1509 - INT 15 - IBM BIOS - RESERVED FOR PCMCIA SYSTEM RESOURCE TABLE ACCESS
1509 - INT 15 - MultiDOS Plus - CHANGE TASK'S PRIORITY
150A - INT 15 - VMiX - "sys_qetqnext" - GET ID OF NEXT QUEUED ELEMENT
150A - INT 15 - MultiDOS Plus - CHANGE TIME SLICE INTERVAL
150B - INT 15 - VMiX - "sys_sysreq" - SYSTEM CONFIGURATION MANAGER
150B - INT 15 - MultiDOS Plus - FORCE DISPLAY OUTPUT TO PHYSICAL SCREEN MEMORY
150C - INT 15 - VMiX - "sys_getstack" - GET POINTER TO PROCESS TSS STACK
150C - INT 15 - MultiDOS Plus - RESTORE OLD VIDEO DISPLAY MEMORY
150D - INT 15 - VMiX - "sys_spawn" - START A CHILD PROCESS JOB SHELL
150D - INT 15 - MultiDOS Plus - DISABLE MULTITASKING
150E - INT 15 - VMiX - "sys_kill" - HARD TERMINATE PROCESS
150E - INT 15 - MultiDOS Plus - ENABLE MULTITASKING
150F - INT 15 C - SYSTEM - FORMAT UNIT PERIODIC INTERRUPT (PS ESDI drives only)
150F - INT 15 - VMiX - "sys_getqkey" - GET KEY FIELD OF QUEUED ELEMENT
150F - INT 15 - MultiDOS Plus - EXECUTE A MULTIDOS PLUS COMMAND
Section -
1510 - INT 15 - VMiX - "sys_virtual" - EXECUTE CONFORMING FUNCTION IN PROTECTED MODE
1510 - INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE
151000 - INT 15 - TopView - "PAUSE" - GIVE UP CPU TIME
151001 - INT 15 - TopView - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
151002 - INT 15 - TopView - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
151003 - INT 15 - TopView - "PRINTC" - DISPLAY CHARACTER/ATTRIBUTE ON SCREEN
1510 - INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
151013 - INT 15 - TopView - "GETBIT" - DEFINE A 2ND-LEVEL INTERRUPT HANDLER
151014 - INT 15 - TopView - "FREEBIT" - UNDEFINE A 2ND-LEVEL INTERRUPT HANDLER
151015 - INT 15 - TopView - "SETBIT" - SCHEDULE ONE OR MORE 2ND-LEVEL INTERRUPTS
151016 - INT 15 - TopView - "ISOBJ" - VERIFY OBJECT HANDLE
151017 - INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
151018 - INT 15 - TopView - "LOCATE" - FIND WINDOW AT A GIVEN SCREEN LOCATION
151019 - INT 15 - TopView - "SOUND" - MAKE TONE
15101A - INT 15 - TopView - "OSTACK" - SWITCH TO TASK'S INTERNAL STACK
15101B - INT 15 - TopView - "BEGINC" - BEGIN CRITICAL REGION
15101C - INT 15 - TopView - "ENDC" - END CRITICAL REGION
15101D - INT 15 - TopView - "STOP" - STOP TASK
15101E - INT 15 - TopView - "START" - START TASK
15101F - INT 15 - TopView - "DISPEROR" - POP-UP ERROR WINDOW
151020 - INT 15 - TopView - UNIMPLEMENTED IN DV v2.00+
151021 - INT 15 - TopView - "PGMINT" - INTERRUPT ANOTHER TASK
151022BX0000 - INT 15 - TopView - "GETVER" - GET VERSION
151023 - INT 15 - TopView - "POSWIN" - POSITION WINDOW
151024 - INT 15 - TopView - "GETBUF" - GET VIRTUAL SCREEN INFO
151025 - INT 15 - TopView - "USTACK" - SWITCH BACK TO USER'S STACK
1510 - INT 15 - DESQview (TopView???) - UNIMPLEMENTED IN DV 2.x
15102B - INT 15 - DESQview v2.00+ (TopView???) - "POSTTASK" - AWAKEN TASK
15102C - INT 15 - DESQview v2.00+ - "NEWPROC" - START NEW APPLICATION IN NEW PROCESS
15102D - INT 15 - DESQview v2.00+ - "KMOUSE" - KEYBOARD MOUSE CONTROL
15102E - INT 15 - DESQview v2.40+ - ALLOCATE SYSTEM MEMORY
1511 - INT 15 - TopView commands
1511 - INT 15 - VMiX - "sys_system" - EXECUTE SHELL SYSTEM COMMANDS
1511 - INT 15 - MultiDOS Plus - TURN OFF AltZ TOGGLE
151117BX0000 - INT 15 - DESQview v2.20+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
1511DE - INT 15 - DESQview - QEXT.SYS - INSTALLATION CHECK
1512 - INT 15 - VMiX - "sys_sleep" - PUT PROCESS TO SLEEP
1512 - INT 15 - MultiDOS Plus - TURN ON AltZ TOGGLE
1512--BH00 - INT 15 - TopView - SEND MESSAGE - "HANDLE" - RETURN OBJECT HANDLE
1512--BH01 - INT 15 - TopView - SEND MESSAGE - "NEW" - CREATE NEW OBJECT
1512--BH02 - INT 15 - TopView - SEND MESSAGE - "FREE" - FREE AN OBJECT
1512--BH03 - INT 15 - TopView - SEND MESSAGE - "ADDR" - GET HANDLE OF MESSAGE SENDER
1512--BH03 - INT 15 - DESQview v2.26+ - "CONNECT" - CONNECT TWO WINDOWS
1512--BX0300 - INT 15 - TopView - SEND MESSAGE - "DIR" - GET PANEL FILE DIRECTORY
1512--BH04 - INT 15 - TopView - SEND MESSAGE - "READ" - READ NEXT LOGICAL LINE OF WINDOW
1512--BH04 - INT 15 - TopView - SEND MESSAGE - "READ" - GET NEXT RECORD FROM OBJECT
1512--BX0400 - INT 15 - TopView - SEND MESSAGE - "READ" - WAIT FOR TIMER TO EXPIRE
1512--BX0400 - INT 15 - TopView - SEND MESSAGE - "APPLY" - WRITE PANEL TO WINDOW
1512--BH05 - INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE TO OBJECT
1512--BH05 - INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE STRING TO WINDOW
1512--BH06 - INT 15 - DESQview 2.20+ - SEND MESSAGE - "SETPRI" - SET PRIORITY WITHIN OBJECTQ
1512--BH07 - INT 15 - DESQview 2.20+ - SEND MESSAGE - "GETPRI" - GET PRIORITY WITHIN OBJECTQ
1512--BH08 - INT 15 - TopView - SEND MESSAGE - "SIZEOF" - GET OBJECT SIZE
1512--BH09 - INT 15 - TopView - SEND MESSAGE - "LEN" - GET OBJECT LENGTH
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - WRITE CHARS AND ATTRIBS TO WINDOW
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - SEND MAILBOX MESSAGE/STAT BY VALUE
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - SET OBJECT BITS
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - WRITE ATTRIBUTES TO WINDOW
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - SEND MAILBOX MESSAGE/STAT BY REF
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - REMOVE OBJECT FROM OBJECTQ
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - RESET OBJECT BITS
1512--BH0C - INT 15 - TopView - SEND MESSAGE - "OPEN" - OPEN OBJECT
1512--BH0D - INT 15 - TopView - SEND MESSAGE - "CLOSE" - CLOSE OBJECT
1512--BH0E - INT 15 - TopView - SEND MESSAGE - "ERASE" - ERASE OBJECT
1512--BH0F - INT 15 - TopView - SEND MESSAGE - "STATUS" - GET OBJECT STATUS
1512--BH10 - INT 15 - TopView - SEND MESSAGE - "EOF" - GET OBJECT EOF STATUS
1512--BH11 - INT 15 - TopView - SEND MESSAGE - "AT" - POSITION OBJECT CURSOR
1512--BH11 - INT 15 - TopView - SEND MESSAGE - "SETNAME" - ASSIGN NAME TO MAILBOX
1512--BX1100 - INT 15 - TopView - SEND MESSAGE - "SETSCALE" - SET POINTER SCALE FACTOR
1512--BH12 - INT 15 - TopView - SEND MESSAGE - "READN" - GET NEXT N OBJECT BYTES
1512--BH12 - INT 15 - DESQview 2.50+ - SEND MESSAGE - "GETNAME" - GET NAME OF MAILBOX
1512--BX1200 - INT 15 - TopView - SEND MESSAGE - "GETSCALE" - GET POINTER SCALE FACTOR
1512--BH13 - INT 15 - TopView - SEND MESSAGE - "REDRAW" - REDRAW WINDOW
1512--BH13 - INT 15 - DESQview 2.50+ - SEND MESSAGE - "READINTO" - GET NEXT MAIL MESSAGE
1512--BX1300 - INT 15 - TopView - SEND MESSAGE - "SETICON" - SPECIFY POINTER ICON
1512--BH14 - INT 15 - TopView - SEND MESSAGE - "SETESC" - SET ESCAPE ROUTINE ADDRESS
1512--BH14 - INT 15 - TopView - SEND MESSAGE - "LOCK" - REQUEST EXCLUSIVE ACCESS TO RESOURCE
1512--BH15 - INT 15 - DESQview v2.20+ - SEND MESSAGE - "SETFLAGS" - SET OBJECT FLAGS
1512--BH16 - INT 15 - DESQview v2.20+ - SEND MESSAGE - "GETFLAGS" - GET OBJECT FLAGS
1512--BH17 - INT 15 - DESQview v2.42-2.52 - BUG
1512--BH80 - INT 15 - DESQview v2.50+ - SEND MESSAGE 00h WITH ERROR RECOVERY
1512--BH81 - INT 15 - DESQview v2.50+ - SEND MESSAGE 01h WITH ERROR RECOVERY
1512--BH82 - INT 15 - DESQview v2.50+ - SEND MESSAGE 02h WITH ERROR RECOVERY
1512--BH83 - INT 15 - DESQview v2.50+ - SEND MESSAGE 03h WITH ERROR RECOVERY
1512--BH84 - INT 15 - DESQview v2.50+ - SEND MESSAGE 04h WITH ERROR RECOVERY
1512--BH85 - INT 15 - DESQview v2.50+ - SEND MESSAGE 05h WITH ERROR RECOVERY
1512--BH86 - INT 15 - DESQview v2.50+ - SEND MESSAGE 06h WITH ERROR RECOVERY
1512--BH87 - INT 15 - DESQview v2.50+ - SEND MESSAGE 07h WITH ERROR RECOVERY
1512--BH88 - INT 15 - DESQview v2.50+ - SEND MESSAGE 08h WITH ERROR RECOVERY
1512--BH89 - INT 15 - DESQview v2.50+ - SEND MESSAGE 09h WITH ERROR RECOVERY
1512--BH8A - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ah WITH ERROR RECOVERY
1512--BH8B - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Bh WITH ERROR RECOVERY
1512--BH8C - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ch WITH ERROR RECOVERY
1512--BH8D - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Dh WITH ERROR RECOVERY
1512--BH8E - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Eh WITH ERROR RECOVERY
1512--BH8F - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Fh WITH ERROR RECOVERY
1512--BH90 - INT 15 - DESQview v2.50+ - SEND MESSAGE 10h WITH ERROR RECOVERY
1512--BH91 - INT 15 - DESQview v2.50+ - SEND MESSAGE 11h WITH ERROR RECOVERY
1512--BH92 - INT 15 - DESQview v2.50+ - SEND MESSAGE 12h WITH ERROR RECOVERY
1512--BH93 - INT 15 - DESQview v2.50+ - SEND MESSAGE 13h WITH ERROR RECOVERY
1512--BH94 - INT 15 - DESQview v2.50+ - SEND MESSAGE 14h WITH ERROR RECOVERY
1512--BH95 - INT 15 - DESQview v2.50+ - SEND MESSAGE 15h WITH ERROR RECOVERY
1512--BH96 - INT 15 - DESQview v2.50+ - SEND MESSAGE 16h WITH ERROR RECOVERY
1513 - INT 15 - VMiX - "sys_wake" - WAKE SLEEPING PROCESS
1513 - INT 15 - MultiDOS Plus - GET TASK CONTROL BLOCK
1514 - INT 15 - VMiX - "sys_clrwindow" - CLEAR WINDOW
1514 - INT 15 - MultiDOS Plus - CHECK IF MultiDOS FOREGROUND OR BACKGROUND
1515 - INT 15 - VMiX - "sys_setbwindow" - SET BANNER WINDOW MESSAGE
1515 - INT 15 - MultiDOS Plus - GET SYSTEM BLOCK
1516 - INT 15 - VMiX - "sys_setwindow" - SET ROOT WINDOW SIZE AND HOME CURSOR
1516 - INT 15 - MultiDOS Plus - INITIALIZATION
1517 - INT 15 - VMiX - "sys_getcolors" - GET CONSOLE WINDOW COLORS
1517 - INT 15 - MultiDOS Plus - MAP IRQ
1518 - INT 15 - VMiX - "sys_setcolors" - SET CONSOLE COLORS
1518 - INT 15 - MultiDOS Plus - UNMAP IRQ
1519 - INT 15 - VMiX v2+ - "sys_setconwn" - SET WINDOW COLORS
1519 - INT 15 - MultiDOS Plus - UNMAP ALL IRQs
151A - INT 15 - VMiX v2+ - "sys_sint" - INVOKE SOFTWARE INTERRUPT
151A - INT 15 - MultiDOS Plus - MAP SEMAPHORE NAME TO NUMBER
151B - INT 15 - VMiX v2+ - "sys_blkmov" - MOVE MEMORY BLOCK
151B - INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE BY NAME
151C - INT 15 - VMiX v2+ - "sys_bitblt" - PUT GRAPHICAL OBJECT AT CURSOR POSITION
151C - INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE BY NAME
151D - INT 15 - VMiX v2+ - "sys_getfont" - GET CURRENT CONSOLE GRAPHICS FONT
151D - INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE BY NAME
151E - INT 15 - VMiX v2+ - "sys_setfont" - SET CONSOLE GRAPHICS FONT
151E00 - INT 15 - MultiDOS Plus - CLEAR EVENT COUNTER
151E01 - INT 15 - MultiDOS Plus - TRIGGER EVENT
151E02 - INT 15 - MultiDOS Plus - WAIT FOR EVENT
151E08 - INT 15 - MultiDOS Plus 4.01 - SET CONTEXT-SWITCH FUNCTIONS
151F - INT 15 - VMiX v2.???+ - "sys_scrollwin" - SCROLL WINDOW
151F - INT 15 - MultiDOS Plus v4.01 - GET MEMORY PARAMETERS
1520 - INT 15 - MultiDOS Plus v4.01 - CHECK IF MULTITASKING ENABLED
152000 - INT 15 U - DOS 3.0+ PRINT.COM - DISABLE CRITICAL REGION FLAG
152001 - INT 15 U - DOS 3.0+ PRINT.COM - SET CRITICAL REGION FLAG
152010 - INT 15 - OS HOOK - SETUP SYSREQ ROUTINE (AT,XT286,PS50+)
152011 - INT 15 - OS HOOK - COMPLETION OF SYSREQ FUNCTION (AT,XT286,PS50+)
1521 - INT 15 - SYSTEM - POWER-ON SELF-TEST ERROR LOG (PS50+)
1522 - INT 15 - SYSTEM - later PS/2s - LOCATE ROM BASIC
152300 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ??? CMOS DATA
152301 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SET ??? CMOS DATA
152302 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ROM STARTUP VIDEO REG TABLES
152303 - INT 15 U - IBM BIOS - SMART ENERGY SYSTEM - ???
152304 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SYSTEM SETUP
152305 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET PROCESSOR SPEED
152400 - INT 15 - SYSTEM - later PS/2s - DISABLE A20 GATE
152401 - INT 15 - SYSTEM - later PS/2s - ENABLE A20 GATE
152402 - INT 15 - SYSTEM - later PS/2s - GET A20 GATE STATUS
152403 - INT 15 - SYSTEM - later PS/2s - QUERY A20 GATE SUPPORT
153000 - INT 15 - Object Kernel for DOS - INSTALLATION CHECK
153001 - INT 15 - Object Kernel for DOS - GET STATUS BLOCK
153002 - INT 15 - Object Kernel for DOS - KILL PROCESS
153003 - INT 15 - Object Kernel for DOS - STOP PROCESS
153004 - INT 15 - Object Kernel for DOS - START PROCESS
153005 - INT 15 - Object Kernel for DOS - RESTART PROCESS
153006 - INT 15 - Object Kernel for DOS - EXECUTE PROCESS
153007 - INT 15 - Object Kernel for DOS - LIST PROCESSES
153008 - INT 15 - Object Kernel for DOS - SWITCH ObjectKernel ON/OFF
153009 - INT 15 - Object Kernel for DOS - RESERVED FOR FUTURE USE
153D - INT 15 - IBM SurePath BIOS - Officially "Private" Function
153E - INT 15 - IBM SurePath BIOS - Officially "Private" Function
153F - INT 15 - IBM SurePath BIOS - Officially "Private" Function
1540 - INT 15 - SYSTEM - READ/MODIFY PROFILES (CONVERTIBLE)
154000 - INT 15 - Compaq SLT/286 or Portable 386 - READ LCD/PLASMA TIMEOUT
154001 - INT 15 - Compaq SLT/286 or Portable 386 - SET LCD/PLASMA TIMEOUT
1541 - INT 15 - SYSTEM - WAIT ON EXTERNAL EVENT (CONVERTIBLE and some others)
1542 - INT 15 - SYSTEM - REQUEST POWER OFF (CONVERTIBLE,HP 95LX)
154280 - INT 15 - Compaq SLT/286 - ENTER STANDBY
1543 - INT 15 - SYSTEM - READ SYSTEM STATUS (CONVERTIBLE)
1544 - INT 15 - SYSTEM - (DE)ACTIVATE INTERNAL MODEM POWER (CONVERTIBLE)
1544C0 - INT 15 - Olivetti Quaderno - INITIALIZE DIGITAL SIGNAL PROCESSING???
1544C1 - INT 15 - Olivetti Quaderno - ???
1544C2 - INT 15 - Olivetti Quaderno - ???
1544C3 - INT 15 - Olivetti Quaderno - GET ???
1544C4 - INT 15 - Olivetti Quaderno - ???
1544C6 - INT 15 - Olivetti Quaderno - READ LCD
1544C7 - INT 15 - Olivetti Quaderno - WRITE LCD
1544C8 - INT 15 - Olivetti Quaderno - ???
1544C9 - INT 15 - Olivetti Quaderno - GET XBIOS VERSION
1544F1 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
1544F2BX0604 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
1544F3 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
1545 - INT 15 U - HP 100LX/200LX - SET DISPLAY CONTROL STATUS
1546 - INT 15 U - HP 100LX/200LX - SET POWER OFF TIMEOUT
154600 - INT 15 - Compaq SLT/286 - READ POWER CONSERVATION/MODEM CONFIGURATION
154601 - INT 15 - Compaq SLT/286 - MODIFY POWER CONSERVATION/MODEM CONFIGURATION
154604 - INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - GET ???
154605 - INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - ???
1547 - INT 15 U - HP 100LX/200LX - GET/SET DISPLAY CONTRAST
1548 - INT 15 U - HP 100LX/200LX - SET BUZZER VOLUME
1549 - INT 15 U - HP 100LX/200LX - SERIAL INTERFACE SELECT
154900 - INT 15 - Far East MS-DOS - GET BIOS TYPE
154A - INT 15 U - HP 100LX/200LX - SERIAL INTERFACE CONTROL
154B - INT 15 U - HP 100LX/200LX - ADJUST SYSTEM TIME
154DD4 - INT 15 - HP 95LX/100LX/200LX - INSTALLATION CHECK
154E - INT 15 - HP 95LX - ENABLE/DISABLE LIGHT SLEEP
154E - INT 15 - IBM SurePath BIOS - Officially "Private" Function
154F - INT 15 C - KEYBOARD - KEYBOARD INTERCEPT (AT model 3x9,XT2,XT286,CONV,PS)
1550 - INT 15 - DOS/V - FONT SUBSYSTEM ACCESS
1550 - INT 15 - VMIX v2.???+ - "sys_vm_page" - SET NEW VIRTUAL PAGE TABLE
1551 - INT 15 - VMiX v2.???+ - "sys_vm_func" - EXECUTE FUNCTION IN PROTECTED MODE
155101 - INT 15 - SYSTEM - later PS/2s - EXPANSION UNIT, RETURN CONFIGURATION NUMBER
1552 - INT 15 - VMiX v2.???+ - "sys_vm_init" - INITIALIZE PROTECTED-MODE ENVIRONMENT
1552 - INT 15 C - IBM/MS INT 13 Extensions - MEDIA EJECT INTERCEPT
155300 - INT 15 - Advanced Power Management v1.0+ - INSTALLATION CHECK
155301 - INT 15 - Advanced Power Management v1.0+ - CONNECT REAL-MODE INTERFACE
155302 - INT 15 R - Advanced Power Management v1.0+ - CONNECT 16-BIT PROTMODE INTERFACE
155303 - INT 15 - Advanced Power Management v1.0+ - CONNECT 32-BIT PROTMODE INTERFACE
155304 - INT 15 - Advanced Power Management v1.0+ - DISCONNECT INTERFACE
155305 - INT 15 - Advanced Power Management v1.0+ - CPU IDLE
155306 - INT 15 - Advanced Power Management v1.0+ - CPU BUSY
155307 - INT 15 - Advanced Power Management v1.0+ - SET POWER STATE
155307CX0001 - INT 15 - Advanced Power Management v1.0+ - SYSTEM STAND-BY
155307CX0002 - INT 15 - Advanced Power Management v1.0+ - SUSPEND SYSTEM
155307CX0003 - INT 15 - Advanced Power Management v1.2 - TURN OFF SYSTEM
155308 - INT 15 - Advanced Power Management v1.0+ - ENABLE/DISABLE POWER MANAGEMENT
155309 - INT 15 - Advanced Power Management v1.0+ - RESTORE POWER-ON DEFAULTS
15530A - INT 15 - Advanced Power Management v1.0+ - GET POWER STATUS
15530B - INT 15 - Advanced Power Management v1.0+ - GET POWER MANAGEMENT EVENT
15530C - INT 15 - Advanced Power Management v1.1+ - GET POWER STATE
15530D - INT 15 - Advanced Power Management v1.1+ - EN/DISABLE DEVICE POWER MANAGEMENT
15530E - INT 15 - Advanced Power Management v1.1+ - DRIVER VERSION
15530F - INT 15 - Advanced Power Management v1.1+ - ENGAGE/DISENGAGE POWER MANAGEMENT
155310 - INT 15 - Advanced Power Management v1.2 - GET CAPABILITIES
155311 - INT 15 - Advanced Power Management v1.2 - GET/SET/DISABLE RESUME TIMER
155312 - INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE RESUME ON RING
155313 - INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE TIMER-BASED REQUESTS
155380BH00 - INT 15 - APM SL Enhanced v1.0 - GET SUSPEND/GLOBAL STANDBY MODE
155380BH01 - INT 15 - APM SL Enhanced v1.0 - SET SUSPEND/GLOBAL STANDBY MODE
155380BH02 - INT 15 - APM SL Enhanced v1.0 - GET GLOBAL STANDBY TIMER
155380BH03 - INT 15 - APM SL Enhanced v1.0 - SET GLOBAL STANDBY TIMER
155380BH04 - INT 15 - APM SL Enhanced v1.0 - GET AUTO POWER OFF TIMER
155380BH05 - INT 15 - APM SL Enhanced v1.0 - SET AUTO POWER OFF TIMER
155380BH06 - INT 15 - APM SL Enhanced v1.0 - GET RESUME CONDITION
155380BH07 - INT 15 - APM SL Enhanced v1.0 - SET RESUME CONDITION
155380BH08 - INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT TIME
155380BH09 - INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT TIME
155380BH0A - INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT DATE
155380BH0B - INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT DATE
155380BH0C - INT 15 - APM SL Enhanced v1.0 - GET CPU SPEED MODE
155380BH0D - INT 15 - APM SL Enhanced v1.0 - SET CPU SPEED MODE
155380BH7E - INT 15 - APM SL Enhanced v1.0 - SL HW PARAMETER
155380BH7F - INT 15 - Advanced Power Management v1.1 - OEM APM INSTALLATION CHECK
155380 - INT 15 - Advanced Power Management v1.1 - OEM APM FUNCTIONS
155380BX8000 - INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
155380BX8001 - INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
1553B0BH00 - INT 15 - Intel System Management Bus - RESERVED
1553B0BH01 - INT 15 - Intel System Management Bus - INSTALLATION CHECK
1553B0BH02 - INT 15 - Intel System Management Bus - REAL MODE CONNECT
1553B0BH03 - INT 15 - Intel System Management Bus - 16-BIT PROTECTED-MODE CONNECT
1553B0BH04 - INT 15 - Intel System Management Bus - 32-BIT PROTECTED-MODE CONNECT
1553B0BH05 - INT 15 - Intel System Management Bus - DISCONNECT
1553B0BH06 - INT 15 - Intel System Management Bus - GET DEVICE ADDRESSES
1553B0BH07 - INT 15 - Intel System Management Bus - RETRIEVE CRITICAL MESSAGES
1553B0BH08 - INT 15 - Intel System Management Bus - RESERVED
1553B0BH10 - INT 15 - Intel System Management Bus - REQUEST
1553B0BH11 - INT 15 - Intel System Management Bus - REQUEST CONTINUATION
1553B0BH12 - INT 15 - Intel System Management Bus - REQUEST ABORT
1553B0BH13 - INT 15 - Intel System Management Bus - REQUEST DATA AND STATUS
1554 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
155400 - INT 15 C - Omniview Multitasker - INSTALLATION NOTIFICATION
155401 - INT 15 C - Omniview Multitasker - PROCESS CREATION
155402 - INT 15 C - Omniview Multitasker - PROCESS DESTRUCTION
155403 - INT 15 C - Omniview Multitasker - SAVE
155404 - INT 15 C - Omniview Multitasker - RESTORE
155405 - INT 15 C - Omniview Multitasker - SWITCHING TO BACKGROUND
155406 - INT 15 C - Omniview Multitasker - SWITCHING TO FOREGROUND
155407 - INT 15 C - Omniview Multitasker - EXIT NOTIFICATION
155F31 - INT 15 C - Chips & Technologies '65530' BIOS - POST INITIALIZATION NOTIFICATION
155F33 - INT 15 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
155F35 - INT 15 C - Chips & Technologies '65530' BIOS - MONITOR SENSING HOOK
1560 - INT 15 - HUNTER 16 - SET SYSTEM CLOCK SPEED
156000 - INT 15 U - HP 100LX/200LX - GET MAIN BATTERY LEVEL
156001 - INT 15 U - HP 100LX/200LX - GET BACKUP BATTERY LEVEL
156002 - INT 15 U - HP 100LX/200LX - GET POWER INFO
156003 - INT 15 U - HP 100LX/200LX - SET MAIN BATTERY TYPE
156004 - INT 15 U - HP 100LX/200LX - SET BATTERY CHARGING MODE
1561 - INT 15 - HUNTER 16 - GET POWER LEVEL
1561 - INT 15 U - HP 100LX/200LX - SET ANNOUNCIATORS POSITION
1562 - INT 15 - HUNTER 16 - SET LOW POWER THRESHOLD
1562 - INT 15 U - HP 100LX/200LX - SET DISPLAY CONTRAST
156300 - INT 15 - HUNTER 16 - GET IDLE TIMEOUT
156301 - INT 15 - HUNTER 16 - SET IDLE TIMEOUT
1564 - INT 15 - HUNTER 16 - CONTROL RESUME MODE
1565 - INT 15 - HUNTER 16 - AUTHORISE CHARGING
1566 - INT 15 - HUNTER 16 - SET BATTERY LEVEL
1567 - INT 15 - HUNTER 16 - CONTROL STOP MODE
156700BXFFFF - INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - INSTALLATION CHECK
- INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - HGC & HGC/RAMFont support???
1568 - INT 15 - HUNTER 16 - REQUEST POWER DOWN
1569 - INT 15 - HUNTER 16 - CONTROL POWER DOWN AVAILABILITY
156A - INT 15 - HUNTER 16 - CONTROL SLOW MODE
156B - INT 15 - HUNTER 16 - GET ROM BIOS VERSION
156C - INT 15 - HUNTER 16 - GET SERIAL NUMBER
156D - INT 15 - HUNTER 16 - GET EVENT DETAIL
156E - INT 15 - HUNTER 16 - ENABLE/TRAP EVENT
156F - INT 15 - HUNTER 16 - ACKNOWLEDGE EVENT
1570 - INT 15 - HUNTER 16 - CONTROL SOUND
157000 - INT 15 - Tandy 1000SL/TL - READ FROM EEPROM
157001 - INT 15 - Tandy 1000SL/TL - WRITE TO EEPROM
157002 - INT 15 U - Tandy 1000 Model ??? - GET ROM PAGE
157003 - INT 15 U - Tandy 1000 Model ??? - SET ROM PAGE
1571 - INT 15 - HUNTER 16 - SELECT POWER UP KEYS
157200 - INT 15 - HUNTER 16 - RESET SERIAL NUMBER
1572 - INT 15 - HUNTER 16 - REDIRECT SERIAL NUMBER
1573 - INT 15 - HUNTER 16 - GET ORACLE GT POWER LEVEL
1574 - INT 15 - HUNTER 16 - SET BACKLIGHT POWER UP STATE
1575 - INT 15 - HUNTER 16 - SET CONTRAST POWER UP STATE
1576 - INT 15 - HUNTER 16 - CONTROL POWER SAVE
1579 - INT 15 - HUNTER 16 - REDIRECT LPT1
157A - INT 15 - HUNTER 16 - INVOKE HOT KEY
157B - INT 15 - HUNTER 16 - CONTROL HOT KEY
157C - INT 15 - HUNTER 16 - CONTROL HOT KEY POWER OPTION
157D - INT 15 - HUNTER 16 - OVERRIDE LOW POWER TURN OFF
157E - INT 15 - HUNTER 16 - CONTROL BATTERY CHANGE FACILITIES (APM)
157F - INT 15 - HUNTER 16 - SET BATTERY TYPE (APM)
1580 - INT 15 C - OS HOOK - DEVICE OPEN (AT,XT286,PS)
1580 - INT 15 - HUNTER 16 - GET/SET BATTERY CAPACITY (APM)
1581 - INT 15 C - OS HOOK - DEVICE CLOSE
1581 - INT 15 - HUNTER 16 - CONTROL POWER OUTPUT
1582 - INT 15 C - OS HOOK - PROGRAM TERMINATION
1582 - INT 15 - HUNTER 16 - SOUND OUTPUT
1583 - INT 15 - BIOS - SET EVENT WAIT INTERVAL (AT,PS50+)
1583 - INT 15 - HUNTER 16 - CONTROL SCREEN SYNCHRONISATION
1584 - INT 15 - BIOS - JOYSTICK SUPPORT (XT after 1982/11/8,AT,XT286,PS)
1584 - INT 15 - V20-XT-BIOS - JOYSTICK SUPPORT
1584--DX0002 - INT 15 - AMIGATSR - INSTALLATION CHECK
1584--DX0002 - INT 15 - MULTIJOY - INSTALLATION CHECK
1584--DX0003 - INT 15 - MULTIJOY - GET ACTIVE JOYSTICK
1584--DX0004 - INT 15 - MULTIJOY - SELECT JOYSTICK
158400 - INT 15 - HUNTER 16 - GET DISKETTE PORT
158401 - INT 15 - HUNTER 16 - SET DISKETTE PORT
1585 - INT 15 C - OS HOOK - SysReq KEY ACTIVITY (AT,PS)
158500 - INT 15 - HUNTER 16 - RESTORE POWER MENU (APM)
158501 - INT 15 - HUNTER 16 - SET POWER MENU (APM)
1586 - INT 15 - BIOS - WAIT (AT,PS)
1586 - INT 15 - HUNTER 16 - GET/SET SCREEN ATTRIBUTE TABLE
1587 - INT 15 - SYSTEM - COPY EXTENDED MEMORY
1587 - INT 15 - HUNTER 16 - SET INT 72h VECTOR
1588 - INT 15 - SYSTEM - GET EXTENDED MEMORY SIZE (286+)
1588 - INT 15 - HUNTER 16 - GET POWER UP KEYS
1589 - INT 15 - SYSTEM - SWITCH TO PROTECTED MODE
158900 - INT 15 - HUNTER 16 - GET POWER MODE
158901 - INT 15 - HUNTER 16 - SET POWER MODE
158A - INT 15 - HUNTER 16 - CONTROL POWER INPUT (SPM)
158A - INT 15 - Phoenix BIOS v4.0 - GET BIG MEMORY SIZE
158B - INT 15 - HUNTER 16 - GET/SET CHARGER TEMPERATURE OVERRIDE
158C - INT 15 - HUNTER 16 - GET/SET POWER SAVE ENTRY FLAG
158D - INT 15 - HUNTER 16 - GET/SET BOOST CHARGE (SPM)
1590 - INT 15 - OS HOOK - DEVICE BUSY (AT,PS)
1591 - INT 15 - OS HOOK - DEVICE POST (AT,PS)
1592 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
15A0 - INT 15 - IBM SurePath BIOS - ACCESS LOADABLE-ABIOS SIGNATURE
15A100 - INT 15 U - AMI PCI BIOS - SET ??? FLAG
15AB - INT 15 - IBM SurePath BIOS - Officially "Private" Function
15B001CX5354 - INT 15 - Stac STACKER - INSTALLATION CHECK
15BA10 - INT 15 - HP OmniShare - Pen Driver - REPORT PEN CONTROL AREA EVENT
15BA11 - INT 15 - HP OmniShare - Pen Driver - SET THE COMMUNICATION LED STATE
15BA12 - INT 15 - HP OmniShare - Pen Driver - STORE PEN BATTERY CHARGE
15BA13 - INT 15 - HP OmniShare - Pen Driver - GET PEN BATTERY CHARGE
15BA20 - INT 15 - HP OmniShare - STANDBY.COM - INSTALLATION CHECK
15BA21 - INT 15 - HP OmniShare - STANDBY.COM - SET STANDBY DURATION
15BA22 - INT 15 - HP OmniShare - STANDBY.COM - GET STANDBY DURATION
15BA23 - INT 15 - HP OmniShare - STANDBY.COM - TURN ON THE SCREEN IMMEDIATELY
15BA24 - INT 15 - HP OmniShare - STANDBY.COM - TURN OFF THE SCREEN IMMEDIATELY
15BA25 - INT 15 - HP OmniShare - STANDBY.COM - PREPARE FOR UNINSTALL
15BA26 - INT 15 - HP OmniShare - STANDBY.COM - IS THE DISPLAY IN STANDBY MODE?
15BA27 - INT 15 - HP OmniShare - STANDBY.COM - RESERVED FUNCTIONS
15BC - INT 15 - Phoenix 386 BIOS - DETERMINE CPU SPEED FOR DELAY LOOPS
15BF00 - INT 15 - Rational Systems DOS/16M - ???
15BF01 - INT 15 - Rational Systems DOS/16M - ???
15BF02DX0000 - INT 15 - Rational Systems DOS/16M - INSTALLATION CHECK
15BF03 - INT 15 - Rational Systems DOS/4GW - UNINSTALL???
15BF04 - INT 15 - Rational Systems DOS/4GW - ???
15BF05 - INT 15 - Rational Systems DOS/4GW - INITIALIZE PROTECTED-MODE INTERFACE
15BF06 - INT 15 - Rational Systems DOS/4GW - ???
15BFDCDX0000 - INT 15 - Rational Systems DOS/4GW - INSTALLATION CHECK
15BFDEBX0000 - INT 15 - DESQview/X - DVDOS4GX.DVR - INSTALLATION CHECK
15BFDEBX0001 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROCESS MANAGER NAME
15BFDEBX0002 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
15BFDEBX0003 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0004 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0005 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0006 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0007 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
15BFDEBX0008 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0009 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROTECTED MODE PROGRAM LOADER
15BFDEBX000A - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - DECREMENT ???
15BFDEBX000B - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - INCREMENT ???
15BFDEBX000C - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX000D - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX000E - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX000F - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0010 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET TASK HANDLE
15BFDEBX0011 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0012 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0013 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0014 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - LOCK ??? MAILBOX
15BFDEBX0015 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - UNLOCK ??? MAILBOX
15BFDEBX0016 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - CHECK IF ??? MAILBOX OWNED
15BFDEBX0017 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ??? MAILBOX OWNER
15BFDEBXFFFD - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBXFFFE - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
15BFDEBXFFFF - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - NOP
15C0 - INT 15 - SYSTEM - GET CONFIGURATION (XT >1986/1/10,AT mdl 3x9,CONV,XT286,PS)
15C1 - INT 15 - SYSTEM - RETURN EXTENDED-BIOS DATA-AREA SEGMENT ADDRESS (PS)
15C200 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - ENABLE/DISABLE
15C201 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - RESET
15C202 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET SAMPLING RATE
15C203 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET RESOLUTION
15C204 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - GET TYPE
15C205 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - INITIALIZE
15C206 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - EXTENDED COMMANDS
15C207 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET DEVICE HANDLER ADDR
15C208 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - WRITE TO POINTER PORT
15C209 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - READ FROM POINTER PORT
15C2 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
15C3 - INT 15 - SYSTEM - ENABLE/DISABLE WATCHDOG TIMEOUT (PS50+)
15C4 - INT 15 - SYSTEM - PROGRAMMABLE OPTION SELECT (PS50+)
15C5 - INT 15 UC - OS HOOK - ROM BIOS TRACING CALLOUT (PS30/286,PS50Z,PS95)
15C6 - INT 15 U - later PS/2 models - GET POS DATA
15C7 - INT 15 - SYSTEM - later PS/2s - RETURN MEMORY-MAP INFORMATION
15C8 - INT 15 - SYSTEM - ENABLE/DISABLE PROCESSOR FUNCTIONS
15C9 - INT 15 - newer PS/2; various BIOSes - GET CPU TYPE AND MASK REVISION
15CA - INT 15 U - PS/2 Model 95 - READ/WRITE CMOS MEMORY
15CB - INT 15 U - PS/2 Model 95 - RESERVED
15CC - INT 15 U - PS/2 Model 95 - RESERVED
15CCCC - INT 15 U - Toshiba laptops - VCHAD.EXE - INSTALLATION CHECK
15CD - INT 15 U - PS/2 Model 95 - RESERVED
15CE--BL00 - INT 15 - later PS/2s - ALLOCATE DMA ARBITRATION LEVEL
15CF - INT 15 - later PS/2s - DEALLOCATE DMA ARBITRATION LEVEL
15D0 - INT 15 - later PS/2s - RESERVED
15D042BL00 - INT 15 R - Intel Pentium Pro BIOS UPDATE - INSTALLATION CHECK
15D042BL01 - INT 15 R - Intel Pentium Pro BIOS UPDATE - WRITE BIOS UPDATE AREA
15D042BL02 - INT 15 R - Intel Pentium Pro BIOS UPDATE - BIOS UPDATE CONTROL
15D042BL03 - INT 15 R - Intel Pentium Pro BIOS UPDATE - READ BIOS UPDATE AREA
15D100DX0000 - INT 15 - later PS/2s - GET NUMBER OF DEVICE DESCRIPTOR TABLE (DDT) ENTRIES
15D101 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY NUMBER
15D102 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY I/O ADDRSS
15D103DX0000 - INT 15 - later PS/2s - RETURN ENTIRE DDT
15D104 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY DEVICE ID
15D2 - INT 15 - later PS/2s - RESERVED
15D3 - INT 15 - later PS/2s - RESERVED
15D4 - INT 15 - later PS/2s - GET PHYSICAL FIXED DISK DRIVE NUMBER (SELECTABLE BOOT)
15D5 - INT 15 - later PS/2s - RESERVED
15D600BL00 - INT 15 - later PS/2s - READ BOOT DEVICE ID
15D600BL01 - INT 15 - later PS/2s - WRITE BOOT DEVICE ID
15D601BL00 - INT 15 - later PS/2s - READ BOOT DEVICE KEY
15D601BL01 - INT 15 - later PS/2s - WRITE BOOT DEVICE KEY
15D602 - INT 15 - later PS/2s - QUERY BOOT REFERENCE PARTITION
15D800 - INT 15 - EISA SYSTEM ROM - READ SLOT CONFIGURATION INFORMATION
15D801 - INT 15 - EISA SYSTEM ROM - READ FUNCTION CONFIGURATION INFORMATION
15D802 - INT 15 - EISA SYSTEM ROM - CLEAR NONVOLATILE MEMORY (EISA CMOS)
15D803 - INT 15 - EISA SYSTEM ROM - WRITE NONVOLATILE MEMORY
15D804 - INT 15 - EISA SYSTEM ROM - READ PHYSICAL SLOT
15D820 - INT 15 - Compaq LTE Lite - GET ???
15D821 - INT 15 - Compaq LTE Lite - SET ???
15D822BL00 - INT 15 - Compaq EISA System ROM 04/08/93 - GET ???
15D823 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15D824 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15D825 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15D826 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15D8 - INT 15 - EISA SYSTEM ROM - 32-bit CS ADDRESSING MODE CALLS
15D8 - INT 15 - Compaq EISA System ROM 04/08/93 - 32-bit CS ADDRESSING MODE CALLS
15DA - INT 15 U - AMI PCI BIOS v1.00.05.AX1 - ???
15DA00 - INT 15 U - AMI PCI BIOS - ???
15DA01 - INT 15 U - AMI PCI BIOS - CPU SPEED CONTROL
15DA05 - INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
15DA08 - INT 15 U - AMI PCI BIOS - ???
15DA12 - INT 15 U - AMI PCI BIOS - v1.00.05.AX1 - ???
15DA14 - INT 15 U - AMI PCI BIOS - GET/SET ???
15DA15 - INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
15DA19 - INT 15 U - AMI PCI BIOS - GET/SET ???
15DA20 - INT 15 U - AMI PCI BIOS v1.00.12.AX1T - CMOS RAM BITFIELD MANIPULATION
15DA88 - INT 15 U - AMI PCI BIOS - GET EXTENDED MEMORY SIZE
15DA8C - INT 15 U - AMI PCI BIOS - GET BIOS AND CHIPSET IDENTIFICATION
15DA8E - INT 15 U - AMI PCI BIOS - ???
15DA92 - INT 15 U - AMI PCI BIOS - GET CPU TYPE AND SPEED
15DA99 - INT 15 U - AMI PCI BIOS - GET/SET ??? FLAG
15DB00 - INT 15 U - AMI BIOS - Flash ROM - READ FLASH BIOS
15DB01 - INT 15 U - AMI BIOS - Flash ROM - GET BIOS SUBSYSTEM INFORMATION
15DB02 - INT 15 U - AMI BIOS - Flash ROM - GET SIZE OF FLASH ROM PROGRAMMING CODE
15DB03 - INT 15 U - AMI BIOS - Flash ROM - GET FLASH ROM PROGRAMMING CODE
15DB04 - INT 15 U - AMI BIOS - Flash ROM - GET BIOS REVISION
15DE00 - INT 15 - DESQview - GET PROGRAM NAME
15DE01 - INT 15 - DESQview - UPDATE "OPEN WINDOW" MENU
15DE02 - INT 15 - DESQview 1.x only - SET ??? FLAG FOR CURRENT WINDOW
15DE03 - INT 15 - DESQview 1.x only - GET ??? FOR CURRENT WINDOW
15DE04 - INT 15 - DESQview - GET AVAILABLE COMMON MEMORY
15DE05 - INT 15 - DESQview - GET AVAILABLE CONVENTIONAL MEMORY
15DE06 - INT 15 - DESQview - GET AVAILABLE EXPANDED MEMORY
15DE07 - INT 15 - DESQview - "APPNUM" - GET CURRENT PROGRAM'S NUMBER
15DE08 - INT 15 - DESQview - GET ???
15DE09 - INT 15 - DESQview - UNIMPLEMENTED
15DE0A - INT 15 - DESQview v2.00+ - "DBGPOKE" - DISPLAY CHARACTER ON STATUS LINE
15DE0B - INT 15 - DESQview v2.00+ - "APILEVEL" - DEFINE MINIMUM API LEVEL REQUIRED
15DE0C - INT 15 - DESQview v2.00+ - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
15DE0D - INT 15 - DESQview v2.00+ - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
15DE0E - INT 15 - DESQview v2.00+ - "FINDMAIL" - FIND MAILBOX BY NAME
15DE0F - INT 15 - DESQview v2.00+ - ENABLE DESQview EXTENSIONS
15DE10 - INT 15 - DESQview v2.00+ - "PUSHKEY" - PUT KEY INTO KEYBOARD INPUT STREAM
15DE11BL00 - INT 15 - DESQview v2.00+ - "JUSTIFY" - EN/DISABLE AUTOM. WINDOW JUSTIFICATION
15DE12BX0000 - INT 15 - DESQview v2.01+ - "CSTYLE" - SET "C"-COMPATIBLE CONTROL CHAR INTERPRET
15DE13 - INT 15 - DESQview v2.20+ - "GETCRIT" - GET CRITICAL NESTING COUNT
15DE14 - INT 15 - DESQview v2.20+ - GET OBJECT TYPE
15DE15 - INT 15 - DESQview v2.20+ - SET ERROR HANDLING
15DE16 - INT 15 - DESQview v2.20+ - GET ERROR HANDLING
15DE17 - INT 15 - DESQview v2.20-2.25 - reserved
15DE17 - INT 15 - DESQview v2.26+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
15DE18 - INT 15 - DESQview v2.20+ - internal - ???
15DE19 - INT 15 - DESQview v2.23+ - "GETCOMMON" - ALLOCATE "COMMON" MEMORY
15DE1A - INT 15 - DESQview v2.23+ - "PUTCOMMON" - DEALLOCATE "COMMON" MEMORY
15DE1B - INT 15 - DESQview v2.23+ internal - DECREMENT CRITICAL NESTING COUNT
15DE1C - INT 15 - DESQview v2.23+ - "ENTERC" - INCREMENT CRITICAL NESTING COUNT
15DE1D - INT 15 - DESQview v2.23+ - "PUTKEY" - FAKE USER KEYSTROKES
15DE1E - INT 15 - DESQview v2.23+ - "SCRNINFO" - GET TRUE VIDEO PARAMETERS
15DE1F - INT 15 - DESQview v2.23+ - "DOSUSER" - GET HANDLE OF TASK CURRENTLY USING DOS
15DE20 - INT 15 - DESQview v2.26+ - "DISPATCHINT" - INTERRUPT ANOTHER TASK
15DE21 - INT 15 - DESQview v2.26+ - "ASSERTVIR" - CONTROL 386 SCREEN VIRTUALIZATION
15DE22 - INT 15 - DESQview v2.26+ - "PROCESSMEM" - GET TASK MEMORY STATUS
15DE23 - INT 15 U - DESQview v2.31+ - ???
15DE24 - INT 15 - DESQview v2.40+ - "XNEWPROC" - START NEW APPLICATION
15DE25 - INT 15 - DESQview v2.40+ - "GETDVPATH" - GET DESQview DIRECTORY
15DE26 - INT 15 - DESQview v2.40+ - "GETFOREGROUND" - GET KEYBOARD FOCUS
15DE27 - INT 15 - DESQview v2.50+ - "ADDINSTANCEDATA" - ADD PER-TASK SAVE/RESTORE AREA
15DE28 - INT 15 U - DESQview v2.50+ - ???
15DE29BX0000 - INT 15 U - DESQview/X - ???
15DE29BX0001 - INT 15 U - DESQview/X - ???
15DE29BX0002 - INT 15 U - DESQview/X - ???
15DE29BX0003 - INT 15 U - DESQview/X - ???
15DE29BX0004 - INT 15 U - DESQview/X - GET DISPLAY NAME
15DE29BX0005 - INT 15 U - DESQview/X - ???
15DE2A - INT 15 - DESQview v2.50+ - "DISPATCHINTAFTERDOS" - INTERRUPT ANOTHER TASK
15DE2B - INT 15 - DESQview v2.50+ - "OBJNEXT" - TRAVERSE OBJECT LIST
15DE2C - INT 15 - DESQview v2.50+ - "WININFO" - GET WINDOW INFORMATION
15DE2D - INT 15 U - DESQview v2.50+ - GET/SET SOCKET HANDLER
15DE2E - INT 15 U - DESQview v2.50+ - SOCKET API
15DE2F - INT 15 - DESQview v2.50+ - "VIDEONOTIFY" - HAS DIRECT WINDOW BEEN ACTIVE?
15DE30 - INT 15 - DESQview v2.50+ - "GETDVXVERSION" - GET DESQview/X VERSION
15DE31 - INT 15 - DESQview/X v1.10 - ???
15DF - INT 15 - Juko UNIQUE UX BIOS - TURBO MODE CONTROL
15E00F - INT 15 - Compaq Systempro - MULTIPROCESSOR DISPATCH
15E10E - INT 15 - Compaq Systempro - MULTIPROCESSOR END-OF-DISPATCH
15E200 - INT 15 - Compaq Systempro - MULTIPROCESSOR AVAILABLE
15E4 - INT 15 - Tandy??? - ???
15E4 - INT 15 - Compaq ROM BIOS 1993/08/03 and newer - ???
Section -
15E800 - INT 15 - Compaq Contura - GET ???
15E800 - INT 15 - Compaq Contura Aero, Contura 400 - GET SYSTEM MODEL CODE???
15E800 - INT 15 - Compaq Prolinea - GET ???
15E801 - INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS
15E802 - INT 15 - Compaq Contura - GET ???
15E820 - INT 15 - newer BIOSes - GET SYSTEM MEMORY MAP
15E881 - INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS (32-bit)
15E900 - INT 15 - PhysTechSoft PTS ROM-DOS - RESET WATCHDOG TIMER
15E901 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE DIAGNOSTIC CONTROL POINT CODE
15E902 - INT 15 - PhysTechSoft PTS ROM-DOS - SET DIAGNOSTIC DOS ERROR FLAG
15E903 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-ENABLE FLASH-DISK
15E904 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-PROTECT FLASH-DISK
15E905 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE IMAGE OF BIOS TO FLASH-MEMORY
15E906 - INT 15 - PhysTechSoft PTS ROM-DOS - READ SETUP INFORMATION FROM FLASH-DISK
15E907 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE SETUP INFORMATION ON FLASH-DISK
15E908 - INT 15 - PhysTechSoft PTS ROM-DOS - SET BREAKPOINT
15E909 - INT 15 - PhysTechSoft PTS ROM-DOS - REMOVE BREAKPOINT
15F200CX454D - INT 15 - Tandon memory mapper - Tandon MAPPER HARDWARE INITIALIZATION CHECK ???
1600 - INT 16 - KEYBOARD - GET KEYSTROKE
1601 - INT 16 - KEYBOARD - CHECK FOR KEYSTROKE
1602 - INT 16 - KEYBOARD - GET SHIFT FLAGS
1603 - INT 16 - KEYBOARD - SET TYPEMATIC RATE AND DELAY
1604 - INT 16 - KEYBOARD - SET KEYCLICK (PCjr only)
1604 - INT 16 - Tandy 2000 - KEYBOARD - FLUSH KEYBOARD BUFFER
1604 - INT 16 - K3PLUS v6.22+ - SET KEYCLICK
1605 - INT 16 - KEYBOARD - STORE KEYSTROKE IN KEYBOARD BUFFER (AT/PS w enh keybd only)
1605 - INT 16 - KEYBOARD - SELECT KEYBOARD LAYOUT (PCjr only)
1605 - INT 16 - Tandy 2000 - KEYBOARD - RESET KEYBOARD
160600 - INT 16 - AAKEYS - GET NEXT KEYBOARD EVENT
160601 - INT 16 - AAKEYS - EMPTY KEY-EVENT BUFFER
160602 - INT 16 - AAKEYS - DISABLE AAKEYS
160603 - INT 16 - AAKEYS - GET KEY-EVENT BUFFER
160604 - INT 16 - AAKEYS - EMPTY BIOS KEYBOARD BUFFER
1609 - INT 16 - KEYBOARD - GET KEYBOARD FUNCTIONALITY
160A - INT 16 - KEYBOARD - GET KEYBOARD ID
1610 - INT 16 - KEYBOARD - GET ENHANCED KEYSTROKE (enhanced kbd support only)
1611 - INT 16 - KEYBOARD - CHECK FOR ENHANCED KEYSTROKE (enh kbd support only)
1612 - INT 16 - KEYBOARD - GET EXTENDED SHIFT STATES (enh kbd support only)
1613 - INT 16 - DOS/V - DOUBLE-BYTE CHARACTER SET SHIFT CONTROL
1614 - INT 16 - DOS/V - SHIFT STATUS DISPLAY CONTROL
1620 - INT 16 - KEYBOARD - GET 122-KEY KEYSTROKE (122-key kbd support only)
1620 - INT 16 - HUNTER 16 - SET TEMPORARY SHIFT
1620 - INT 16 O - K3 v1.5x, K3PLUS v5.xx - GET EXTENDED BUFFER STATE
1621 - INT 16 - KEYBOARD - CHECK FOR 122-KEY KEYSTROKE (122-key kbd support only)
1621 - INT 16 - HUNTER 16 - CONTROL SHIFT KEYS
1622 - INT 16 - KEYBOARD - GET 122-KEY SHIFT STATUS (122-key kbd support only)
1622 - INT 16 - HUNTER 16 - CONTROL CTRL-ALT-DEL
1623 - INT 16 - HUNTER 16 - CONTROL EMERGENCY BREAKOUT
1624 - INT 16 - HUNTER 16 - REDEFINE KEY CODES
1625 - INT 16 - HUNTER 16 - RESET KEYBOARD
1625 - INT 16 O - K3 v1.5x, K3PLUS v5.xx - COPY INTO EXTENDED BUFFER
1626 - INT 16 - HUNTER 16 - CONTROL KEYCLICK
1627 - INT 16 - HUNTER 16 - CONTROL SCREEN DUMP AREA
1629 - INT 16 - HUNTER 16 - GET KEY REPEAT
162A - INT 16 - HUNTER 16 - CONTROL KEY REPEAT
162B - INT 16 - HUNTER 16 - REDEFINE KEY SCAN CODES
162C - INT 16 - HUNTER 16 - REDEFINE RAW KEY CODES
162D - INT 16 - HUNTER 16 - CONTROL BREAK KEYS
163577 - INT 16 U - TextWare TWTSR - API
164252 - INT 16 - TEXTCAP 2.0 - INSTALLATION CHECK
164253 - INT 16 - TEXTCAP 2.0 - UNINSTALL
164254 - INT 16 - TEXTCAP 2.0 - DUMP TEXT SCREEN TO FILE
164500 - INT 16 - Shamrock Software EMAIL - GET STATUS
164501 - INT 16 - Shamrock Software EMAIL - GET ELAPSED ONLINE TIME AND MAXIMUM TIME
164502 - INT 16 - Shamrock Software EMAIL - GET CURRENT COMMUNICATIONS PARAMETERS
164503 - INT 16 - Shamrock Software EMAIL - SPECIFY COMMAND-WORD FOR USER FUNCTION
164504 - INT 16 - Shamrock Software EMAIL - CHECK FOR USER FUNCTION COMMAND-WORD
164505 - INT 16 - Shamrock Software EMAIL - SEND RESULT OF USER FUNCTION
164506 - INT 16 - Shamrock Software EMAIL - MONITOR XMODEM DOWNLOAD
164B - INT 16 - Frank Klemm Keyboard Driver v2.0 - API
164D4F - INT 16 - M16_KBD.COM v5.6 - INSTALLATION CHECK
165000 - INT 16 - KEYBOARD - AX PC - SET KEYBOARD COUNTRY CODE
165001 - INT 16 - KEYBOARD - AX PC - GET KEYBOARD COUNTRY CODE
1651 - INT 16 - KEYBOARD - AX PC - READ SHIFT KEY STATUS
165453BX5242 - INT 16 - TSRBONES - INSTALLATION CHECK
165472BX4C54 - INT 16 - TrLit - API
165500 - INT 16 C - Microsoft Word internal - MICROSOFT WORD COOPERATION WITH TSR
1655FE - INT 16 CU - Microsoft QBASIC internal - MICROSOFT COOPERATION WITH TSR
1655FF - INT 16 C - Microsoft Word - TSR COOPERATION???
165758BX4858 - INT 16 U - Netroom CACHECLK - INSTALLATION CHECK
165758BX5754 - INT 16 U - Netroom ??? - ???
165758BX5755 - INT 16 U - Netroom ??? - ???
165758BX5756 - INT 16 U - Netroom ??? - INSTALLATION CHECK
165758BX5858 - INT 16 U - Netroom PRENET - GET OLD INTERRUPT VECTORS
165758BX5859 - INT 16 U - Netroom POSTNET - GET OLD INTERRUPT VECTORS
1667 - INT 16 - Doorway v2.x+ - INSTALLATION CHECK / REDIRECTION CONTROLa
166969BX6968 - INT 16 - PC Tools v5.1+ BACKTALK - UNHOOK
166969BX6969 - INT 16 - PC Tools v5.1+ BACKTALK - INSTALLATION CHECK
166A6B - INT 16 U - FastJuice - DISABLE/UNLOAD???
166C63 - INT 16 U - TMED v1.6a - INSTALLATION CHECK
166D74 - INT 16 - MTRTSR - INSTALLATION CHECK
166F00 - INT 16 - HP Vectra EX-BIOS - "F16_INQUIRE" - Extended BIOS INSTALLATION CHECK
166F01 - INT 16 - HP Vectra EX-BIOS - "F16_DEF_ATTR" - GET DEFAULT TYPEMATIC VALUES
166F02 - INT 16 - HP Vectra EX-BIOS - "F16_GET_ATTR" - GET CURRENT TYPEMATIC VALUES
166F03 - INT 16 - HP Vectra EX-BIOS - "F16_SET_ATTR" - SET TYPEMATIC VALUES
166F04 - INT 16 - HP Vectra EX-BIOS - "F16_DEF_MAPPING" - GET DEFAULT KEY MAPPINGS
166F05 - INT 16 - HP Vectra EX-BIOS - "F16_GET_MAPPING" - GET CURRENT KEY MAPPINGS
166F06 - INT 16 - HP Vectra EX-BIOS - "F16_SET_MAPPING" - SET KEY MAPPINGS
166F07 - INT 16 - HP Vectra EX-BIOS - "F16_SET_XLATORS" - SET CCP AND SOFTKEY PADS
166F08 - INT 16 - HP Vectra EX-BIOS - "F16_KBD" - GET KEYBOARD INFORMATION
166F09 - INT 16 - HP Vectra EX-BIOS - "F16_KBD_RESET" - RESET KEYBOARD TO DEFAULTS
166F0A - INT 16 - HP Vectra ES/QS/RS EX-BIOS - READ PROCESSOR SPEED
166F0B - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO LOW
166F0C - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO HIGH
166F0D - INT 16 - HP Vectra ES/QS/RS EX-BIOS - GET HIL Extended BIOS INTERRUPT NUMBER
166F0E - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET HIL Extended BIOS INTERRUPT NUMBER
166F0F - INT 16 - HP Vectras RS/20C and RS/25C - ENABLE MEMORY CACHING
166F10 - INT 16 - HP Vectras RS/20C and RS/25C - DISABLE MEMORY CACHING
166F11 - INT 16 - HP Vectras RS/20C and RS/25C - GET MEMORY CACHING STATE
166F12 - INT 16 - HP Vectras RS/20C and RS/25C - SET PROCESSOR SPEED TO MEDIUM
1670 - INT 16 - FAKEY.COM - INSTALLATION CHECK
1671 - INT 16 - FAKEY.COM - PUSH KEYSTROKES
1672 - INT 16 - FAKEY.COM - CLEAR FAKED KEYSTROKES
1673 - INT 16 - FAKEY.COM - PLAY TONES
167463 - INT 16 U - FastJuice - INSTALLATION CHECK
1675 - INT 16 - pcANYWHERE III - SET TICK COUNT FOR SCANNING
1676 - INT 16 - pcANYWHERE III - SET ERROR CHECKING TYPE
1677 - INT 16 - pcANYWHERE III - LOG OFF
167761 - INT 16 - WATCH.COM v2.x-v3.0 - INSTALLATION CHECK
167788BX7789 - INT 16 - PC Magazine PUSHDIR.COM - INSTALLATION CHECK
1679 - INT 16 - pcANYWHERE III - CHECK STATUS
167A - INT 16 - pcANYWHERE III - CANCEL SESSION
167B00 - INT 16 - pcANYWHERE III - SUSPEND
167B01 - INT 16 - pcANYWHERE III - RESUME
167C - INT 16 - pcANYWHERE III - GET PORT CONFIGURATION
167D - INT 16 - pcANYWHERE III - GET/SET TERMINAL PARAMETERS
167E - INT 16 - pcANYWHERE III - COMMUNICATIONS I/O THROUGH PORT
167F - INT 16 - pcANYWHERE III - SET KEYBOARD/SCREEN MODE
1680 - INT 16 - MAKEY.COM - INSTALLATION CHECK
1687 - INT 16 - DK.COM v1.03 - INSTALLATION CHECK
168765BX4321 - INT 16 - AT.COM version 8/26/87 - API
1692 - INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
1699 - INT 16 - SCOUT v5.4 - GET ???
169E - INT 16 - SCOUT v5.4 - INSTALLATION CHECK
16A2 - INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
16AA - INT 16 - PTxxx.COM - (xxx=CGA,EGA,VGA,HER...) CALL GATE FOR GRAPHICS
16AABBBXEEFF - INT 16 U - JORJ v4.3 - INSTALLATION CHECK
16AF20BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - GET EXTENDED BUFFER STATE
16AF25BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - COPY INTO EXTENDED BUFFER
16AF4DBX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - GET VERSION INFORMATION
16AF50BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - CHECK IF FUNCTION SUPPORTED
16AF51BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - SET OPTIONS
16AF80BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 09h VECTOR
16AF81BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 16h HANDLER
16AF82BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 10h HANDLER
16B0B1 - INT 16 - VGARAM v1.00 - INSTALLATION CHECK
16CA--BX736B - INT 16 - CtrlAlt Associates STACKEY.COM v3.00 - API
16CA00BX6570 - INT 16 - CtrlAlt Associates EGAPAL.COM v1.00 - INSTALLATION CHECK
16CA00BX7670 - INT 16 - CtrlAlt Associates VGAPAL.COM v1.00 - INSTALLATION CHECK
16CB00 - INT 16 - PUPClip v1.12+ - INSTALLATION CHECK
16CB01 - INT 16 - PUPClip v1.12+ - GET CLIPBOARD CURSOR POSITION
16CB02 - INT 16 - PUPClip v1.12+ - SET CLIPBOARD CURSOR POSITION
16CB03 - INT 16 - PUPClip v1.12+ - GET CHARACTER FROM CURRENT CLIPBOARD CURSOR POSITION
16CB04 - INT 16 - PUPClip v1.12+ - WRITE CHARACTER TO CURRENT CLIPBOARD CURSOR POSITION
16CB05 - INT 16 - PUPClip v1.12+ - CLEAR CLIPBOARD CONTENTS
16CB06 - INT 16 - PUPClip v1.12+ - SCROLL UP CLIPBOARD CONTENTS
16CB07 - INT 16 - PUPClip v1.12+ - SCROLL DOWN CLIPBOARD CONTENTS
16CB08 - INT 16 - PUPClip v1.12+ - POP UP
16D724CX00CB - INT 16 U - APCAL v3.20 - GET ???
16D724CX00CC - INT 16 U - APCAL v3.20 - GET ???
16D724CX00CD - INT 16 U - APCAL v3.20 - GET ???
16DD - INT 16 - VIRUS - "Frumble" - INSTALLATION CHECK
16DFDF - INT 16 U - Corel PowerSCSI - FDAUDIO.COM - INSTALLATION CHECK
16E000 - INT 16 - AMI BIOS - BIOS-FLASH Interface - GET VERSION NUMBER
16E001 - INT 16 - AMI BIOS - BIOS-FLASH Interface - GET CHIPSET SAVE/RESTORE SIZE
16E002 - INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE CHIPSET STATUS & PREPARE CHPSET
16E003 - INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE CHIPSET STATUS
16E004 - INT 16 - AMI BIOS - BIOS-FLASH Interface - LOWER PROGRAMMING VOLTAGE Vpp
16E005 - INT 16 - AMI BIOS - BIOS-FLASH Interface - RAISE PROGRAMMING VOLTAGE Vpp
16E006 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE PROTECT
16E007 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE ENABLE
16E008 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH SELECT
16E009 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH DE-SELECT
16E00A - INT 16 - AMI BIOS - BIOS-FLASH Interface - VERIFY ALLOCATED MEMORY
16E00B - INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE INTERNAL CACHE STATUS
16E00C - INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE INTERNAL CACHE STATUS
16E0E0 - INT 16 - TurboPower TSRs - ALTERNATE INSTALLATION CHECK
16E0FF - INT 16 - AMI BIOS - BIOS-FLASH Interface - GENERATE CPU RESET
16ED--BHED - INT 16 - BORLAND TURBO LIGHTNING - API
16EF - INT 16 - CALCULATOR - INSTALLATION CHECK
16F0 - INT 16 - Compaq 386 and newer - SET CPU SPEED
16F0F0 - INT 16 - TurboPower TSRs - INSTALLATION CHECK
16F1 - INT 16 - Compaq 386 and newer - READ CURRENT CPU SPEED
16F2 - INT 16 - Compaq 386 and newer - DETERMINE ATTACHED KEYBOARD TYPE
16F3 - INT 16 - Compaq 80286s - SET CPU SPEED LIMIT (OVERRIDE JUMPER)
16F398 - INT 16 U - NORTON GUIDES - INSTALLATION CHECK
16F400 - INT 16 - Compaq Systempro and higher - CACHE CONTROLLER STATUS
16F401 - INT 16 - Compaq Systempro and higher - ENABLE CACHE CONTROLLER
16F402 - INT 16 - Compaq Systempro and higher - DISABLE CACHE CONTROLLER
16FA00DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - INSTALLATION CHECK
16FA01DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - UNINSTALL
16FA02DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET/SET OPTIONS
16FA03DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET ???
16FA04DX5945 - INT 16 U - PC Tools v8+ VSAFE - GET HOTKEY DISABLE FLAG
16FA05DX5945 - INT 16 U - PC Tools v8+ VSAFE - SET HOTKEY DISABLE FLAG
16FA06DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET NETWORK DRIVES TEST FLAG
16FA07DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - SET NETWORK DRIVES TEST FLAG
16FA08DX5945 - INT 16 U - PC Tools v9+ VWATCH v2.1 - ???
16FE55 - INT 16 U - PC Tools v8+ programs - GET ???
16FEA4 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - RESET ???
16FEC6 - INT 16 U - PC Tools v7+ CPSCHED - ENABLE/DISABLE CPSCHED API
16FED3 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - ???
16FEDC - INT 16 U - PC Tools v7+ CPSCHED - UNHOOK INTERRUPTS
16FEEFCX0000 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - INSTALLATION CHECK
16FEF1 - INT 16 U - PC Tools v7 only CPSCHED/DESKTOP - ALTERNATE INSTALLATION CHECK
16FF - INT 16 - KEYBOARD - KBUF extensions - ADD KEY TO TAIL OF KEYBOARD BUFFER
16FF - INT 16 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY ZOOM INTERRUPT
16FF--BH00 - INT 16 - FREEZE.COM - INSTALLATION CHECK
16FF70BX0000 - INT 16 U - PC Tools v8+ DRIVEMAP - INSTALLATION CHECK
16FF70BX0001 - INT 16 U - PC Tools v8+ DRIVEMAP - ???
16FF70BX0002 - INT 16 U - PC Tools v8+ DRIVEMAP - ???
16FF80BX0000 - INT 16 U - PC Tools v8+ CPTASK - INSTALLATION CHECK
16FF80BX0001 - INT 16 U - PC Tools v8+ CPTASK - GET ???
16FF80BX0002 - INT 16 U - PC Tools v8+ CPTASK - GET ???
16FF80BX0003 - INT 16 U - PC Tools v8+ CPTASK - GET ??? FLAGS
16FF80BX0004 - INT 16 U - PC Tools v8+ CPTASK - SET ???
16FF80BX0005 - INT 16 U - PC Tools v8+ CPTASK - GET NUMBER OF ACTIVE TASKS???
16FF80BX0006 - INT 16 U - PC Tools v8+ CPTASK - GET AND CLEAR ??? FLAG
16FF80BX0007 - INT 16 U - PC Tools v8+ CPTASK - ???
16FF80BX0008 - INT 16 U - PC Tools v8+ CPTASK - ???
16FF80BX0009 - INT 16 U - PC Tools v8+ CPTASK - GET ???
16FF80BX000A - INT 16 U - PC Tools v9+ CPTASK - SET ???
16FF80BX000B - INT 16 U - PC Tools v9+ CPTASK - SET ???
16FF80BX000C - INT 16 U - PC Tools v9+ CPTASK - SET IDLE??? DELAY
16FF80BX4350 - INT 16 U - PC Tools v8+ CPTASK - UNINSTALL
16FF90 - INT 16 U - PC Tools v8+ DESKTOP - ???
16FF91 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF92 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF93 - INT 16 U - PC Tools v7+ DESKTOP - SET ??? FLAG
16FF94 - INT 16 U - PC Tools v7+ DESKTOP - SET ???
16FF95 - INT 16 U - PC Tools v7+ DESKTOP - SET ???
16FF96 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF97 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF98 - INT 16 U - PC Tools v7+ DESKTOP - OPEN \DESK.OVL FILE AND SEEK TO OVERLAY
16FF99 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF9A - INT 16 U - PC Tools v7+ DESKTOP - GET NAME OF COLOR SCHEME
16FF9B - INT 16 U - PC Tools v7+ DESKTOP - UNUSED
16FF9C - INT 16 U - PC Tools v8+ CPTASK - SET/CLEAR ??? POINTER
16FF9D - INT 16 U - PC Tools v8+ CPTASK, VSAFE - ???
16FF9E - INT 16 U - PC Tools v7+ DESKTOP - ???
16FFA1 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FFA2 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FFA3BX0000 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
16FFA3BX0001 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
16FFA3BX0002 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
16FFA3BX0003 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
16FFA3BX0004 - INT 16 U - PC Tools v7+ DATAMON - SET ??? FLAG
16FFA3BX0005 - INT 16 U - PC Tools v7+ DATAMON - CLEAR ??? FLAG
16FFA3BX0006 - INT 16 U - PC Tools v7+ DATAMON - SET PSP SEGMENT ???
16FFA3BXFFA3 - INT 16 U - PC Tools v9 DSKLIGHT - INSTALLATION CHECK
16FFA4 - INT 16 U - PC Tools v7-8 DESKTOP - ???
16FFA5CX1111 - INT 16 - PC-Cache v6+ - INSTALLATION CHECK
16FFA5CXAAAA - INT 16 - PC-Cache v6+ - ENABLE DELAYED WRITES
16FFA5CXCCCC - INT 16 - PC-Cache v6+ - FLUSH CACHE AND DISABLE DELAYED WRITES
16FFA5CXDDDD - INT 16 - PC-Cache v6+ - FLUSH AND DISABLE CACHE
16FFA5CXEEEE - INT 16 - PC-Cache v6+ - ENABLE CACHE
16FFA5CXFFFF - INT 16 - PC-Cache v6+ - FLUSH CACHE
16FFA6 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
16FFA7 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ??? PATH
16FFA8 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
16FFA9 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET VERSION STRING
16FFAA - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
16FFAB - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET EDITOR SETTINGS???
16FFAC - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFAD - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFAE - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
16FFAF - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFB0 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFB1 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
16FFB2 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
16FFB3 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - ???
16FFB4 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - SET ??? FLAG
16FFB5 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET WINDOW PARAMETERS
16FFB6 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
16FFB7 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET ???
16FFB8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET/SET???
16FFB9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFBA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFBB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLEAR ??? FLAG
16FFBC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - RESTORE ORIGINAL SCREEN???
16FFBD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ??? DATABASE INDEXING MESSAGES
16FFBE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFBF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFC5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK WHETHER DESKTOP LOADED RESIDENT
16FFC6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFC7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - REMOVE WINDOW
16FFC8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFC9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY DATA TO CLIPBOARD
16FFCA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFCB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SELECT WINDOW PARAMETERS???
16FFCC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY ASCIZ STRING CENTERED IN WINDOW
16FFCD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFCE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ??? DELAYS
16FFCF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLOSE PRINTER/PRINT FILE
16FFD0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO PRINT???
16FFD1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY PRINT OPTIONS MENU
16FFD2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD4BH3C - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CREATE/OPEN/DELETE FILE
16FFD5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SAFE CREATE FILE
16FFD9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFDA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET NAME OF LAST FILE OPENED
16FFDB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFDC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - UNHOOK
16FFDDBX0000 - INT 16 U - PC Tools v5.1+ PCShell API - INSTALLATION CHECK
16FFDDBX0001 - INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
16FFDDBX0002 - INT 16 U - PC Tools v5.1-5.5 PCShell API - GET ???
16FFDDBX0003 - INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
16FFDDBX0004 - INT 16 U - PC Tools v5.1+ PCShell API - GET ???
16FFDDBX0005 - INT 16 U - PC Tools v5.1+ PCShell API - ???
16FFDDBX0006 - INT 16 U - PC Tools v5.1+ PCShell API - ???
16FFDDBX0007 - INT 16 U - PC Tools v5.1+ PCShell API - SET ??? FLAG
16FFDDBX0008 - INT 16 U - PC Tools v5.1+ PCShell API - CLEAR ??? FLAG
16FFDDBX0009 - INT 16 U - PC Tools v6.0+ PCShell API - GET PCRUN PARAMETERS
16FFDDBX000A - INT 16 U - PC Tools v6.0+ PCRUN API - INSTALLATION CHECK
16FFDDBX000B - INT 16 U - PC Tools v6.0+ PCRUN API - ???
16FFDE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY POPUP MENU
16FFDF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - BEEP
16FFE2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PRINT CHARACTER
16FFE4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - POP UP FILE SELECTION MENU
16FFE6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK FOR AND GET KEYSTROKE
16FFE7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY NUMBER
16FFE9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET FILE LIST???
16FFEA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY COUNTED STRING
16FFEB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFEC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET KEY
16FFED - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFEE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE PULLDOWN MENUS
16FFEFCX0000 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - INSTALLATION CHECK
16FFF0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFF1BX0000 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ALTERNATE INSTALLATION CHECK
16FFF2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY HELP LINE
16FFF3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO UNLOAD RESIDENT DESKTOP
16FFF4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFF5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET SCREEN ATTRIBUTE ARRAY
16FFF6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - INVOKE NOTEPAD EDITOR
16FFF7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS MENU BAR ENTRY???
16FFF8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DRAW EMPTY WINDOW
16FFF9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE SCREEN REFRESH ROUTINE
16FFFA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE STANDARD PULLDOWN MENUS
16FFFB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS STANDARD MENU BAR
16FFFC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET HOTKEYS AND KEYBOARD VECTOR
16FFFD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY ???
16FFFE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SHOW MOUSE CURSOR
16FFFF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - HIDE MOUSE CURSOR
17----DX0ABC - INT 17 - PRINTER - LPTx v5.x INSTALLATION CHECK
17----DX0B90 - INT 17 - PRINTER - LPTx v6.x INSTALLATION CHECK
17----DX0B91 - INT 17 - PRINTER - LPTx v7.x INSTALLATION CHECK
17----DX0F5F - INT 17 - PRINTER - LPTx v4.x INSTALLATION CHECK
1700 - INT 17 - PRINTER - WRITE CHARACTER
1701 - INT 17 - PRINTER - INITIALIZE PORT
1702 - INT 17 - PRINTER - GET STATUS
1702--DX0000 - INT 17 - INSET - INSTALLATION CHECK
170200BX5050 - INT 17 - Enhanced Parallel Port (EPP) BIOS - INSTALLATION CHECK
1703 - INT 17 U - Emulaser ELTSR - INSTALL INTERRUPT HANDLERS
1703 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
1703 - INT 17 - PC-MOS/386 v5.01 - PRINT SPOOLER - PRINT STRING
1703--BX5A00 - INT 17 - DMP Print Spooler v2.03 - INSTALLATION CHECK
170300 - INT 17 - DOSISODE to WATTCP TSR Interface - "socket"
1704 - INT 17 U - Emulaser ELTSR - BEGIN CAPTURING OUTPUT
1704 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170400 - INT 17 - DOSISODE to WATTCP TSR Interface - "bind"
1705 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170500 - INT 17 U - Emulaser ELTSR - ???
170500 - INT 17 - DOSISODE to WATTCP TSR Interface - "connect"
170501 - INT 17 U - Emulaser ELTSR - UNHOOK INTERRUPTS
170502 - INT 17 U - Emulaser ELTSR - SET ???
170503 - INT 17 U - Emulaser ELTSR - DEACTIVATE???
1706 - INT 17 U - Emulaser ELTSR - ???
170600 - INT 17 - DOSISODE to WATTCP TSR Interface - "listen"
1707 - INT 17 U - Emulaser ELTSR - OPEN CAPTURE FILE
170700 - INT 17 - DOSISODE to WATTCP TSR Interface - "accept"
1708 - INT 17 U - Emulaser ELTSR - CLOSE CAPTURE FILE
170800 - INT 17 - DOSISODE to WATTCP TSR Interface - "recvfrom"
1709 - INT 17 U - Emulaser ELTSR - PRINT CAPTURE FILE???
170900 - INT 17 - DOSISODE to WATTCP TSR Interface - "sendto"
170A - INT 17 U - Emulaser ELTSR - SET ??? FILENAME
170A00 - INT 17 - DOSISODE to WATTCP TSR Interface - "select"
170B - INT 17 U - Emulaser ELTSR - GET ???
170B - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170B00 - INT 17 - DOSISODE to WATTCP TSR Interface - "ioctl"
170C - INT 17 U - Emulaser ELTSR - SET ??? FLAG
170C - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170C00 - INT 17 - DOSISODE to WATTCP TSR Interface - "close"
170D - INT 17 U - Emulaser ELTSR - GET TRUE ScrlLk STATE
170D - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170D00 - INT 17 - DOSISODE to WATTCP TSR Interface - "shutdown" - SHUTDOWN INTERFACE
170E - INT 17 U - Emulaser ELTSR - BACKGROUND PROCESSING
170E - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170E00 - INT 17 - DOSISODE to WATTCP TSR Interface - INSTALLATION CHECK
172000 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - INSTALLATION CHECK
172001 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - SET ??? FLAG
172002 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET INFORMATION
172003 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ???
172004 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET ???
172005 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE PRINTER TO NEXT PAGE
172006 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE TO NEXT PAGE & SHUT DOWN
172007 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - UNIMPLEMENTED
172400 - INT 17 - Shamrock Software NET.24 v3.11+ - ENABLE/DISABLE API FUNCTIONS
172401 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, NO HANDSHAKE
172402 - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT BLOCK, NO HANDSHAKE
172403 - INT 17 - Shamrock Software NET.24 v3.11+ - GET STATUS AND TRANSMISSION BUFFER
172404 - INT 17 - Shamrock Software NET.24 v3.11+ - SEND ACK BLOCK
172405 - INT 17 - Shamrock Software NET.24 v3.11+ - SEND NAK BLOCK
172406 - INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED RECEIVE
172407 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE CHARACTER FROM REMOTE
172408 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, WITH HANDSHAKE
172409 - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT COMMAND, WITH HANDSHAKE
17240A - INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED TRANSMIT
17240B - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT SINGLE CHARACTER TO REMOTE
17240C - INT 17 - Shamrock Software NET.24 v3.11+ - END CHARACTER-ORIENTED TRANSMIT
174B00 - INT 17 - Brother P-Touch - INSTALLATION CHECK
174B01 - INT 17 - Brother P-Touch - UNINSTALL
175000 - INT 17 - AX (Japanese AT) PRINTER - SET PRINTER COUNTRY CODE
175001 - INT 17 - AX (Japanese AT) PRINTER - GET PRINTER COUNTRY CODE
1751 - INT 17 - AX (Japanese AT) PRINTER - JIS to Shift-JIS CONVERSION
1752 - INT 17 - AX (Japanese AT) PRINTER - Shift-JIS to JIS CONVERSION
175555BXAAAA - INT 17 - LR - SET CONFIGURATION
175555BXBBBB - INT 17 - LR - GET CONFIGURATION
1760 - INT 17 - FLASHUP.COM - INSTALLATION CHECK
1761 - INT 17 - SPEEDSCR.COM - INSTALLATION CHECK
1762 - INT 17 U - T2PS v1.0 - UNINSTALL
1763 - INT 17 U - T2PS v1.0 - SET PARAMETERS
1764 - INT 17 U - T2PS v1.0 - GET PARAMETERS
176F00BX0000 - INT 17 - HP Vectra - EXTENDED BIOS - "F17_INQUIRE" - INSTALLATION CHECK
176F02 - INT 17 - HP Vectra - EXTENDED BIOS - "F17_PUT_BUFFER" - PRINT BUFFER
1780 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
1781 - INT 17 - Alloy NTNX, MW386 - CANCEL JOBS FOR CURRENT USER
1782 - INT 17 - Alloy NTNX, MW386 - CANCEL ALL JOBS FOR CURRENT USER
1783 - INT 17 - Alloy NTNX, MW386 - SET NUMBER OF COPIES
1784 - INT 17 - Alloy NTNX, MW386 - GENERATE PRINT BREAK
1784 - INT 17 - AX (Japanese AT) PRINTER - OUTPUT CHARACTER WITHOUT CONVERSION
1785 - INT 17 - AX (Japanese AT) PRINTER - ENABLE/DISABLE CHARACTER CONVERSION
1787 - INT 17 - Alloy NTNX - SET INDOS POINTER
1788 - INT 17 - Alloy NTNX, MW386 - REMOVE PRINTER FROM SPOOLER
1789 - INT 17 - Alloy NTNX, MW386 - ADD PRINTER TO SPOOLER
178A - INT 17 - Alloy NTNX - ACTIVATE USER-WRITTEN PRINTER DRIVER
178B - INT 17 - Alloy MW386 - GET PHYSICAL DEVICE NUMBER FROM NAME
178C - INT 17 - Alloy MW386 - GET DEVICE NAME FROM PHYSICAL DEVICE NUMBER
178D - INT 17 - Alloy NTNX,MW386 - RESET SPOOLER
178E - INT 17 - Alloy NTNX - GET INT 28 ENTRY POINT
178F - INT 17 - Alloy NTNX - GET DOS INTERCEPT ENTRY POINT
1790 - INT 17 - Alloy NTNX, MW386 - SPOOL FILE BY NAME
1791 - INT 17 - Alloy NTNX, MW386 - GET USER NUMBER AND CURRENT PRINTER
1792 - INT 17 - Alloy NTNX - CHECK PRINTER DRIVER
1794 - INT 17 - Alloy NTNX, MW386 - SELECT PRINTER
1795 - INT 17 - Alloy NTNX, MW386 - GET CURRENT PRINTER
1796 - INT 17 - Alloy NTNX - SET SERIAL PORT PARAMETERS
1797 - INT 17 - Alloy NTNX, MW386 - SET DATA DRIVEN PRINT BREAK
1798 - INT 17 - Alloy NTNX,MW386 - RESTART PRINTER
1799 - INT 17 - Alloy NTNX, MW386 - GET/SET PRINTER MODE
179A - INT 17 - Alloy NTNX,MW386 - SET TAB EXPANSION
179B - INT 17 - Alloy NTNX,MW386 - SET PRINT BREAK TIMEOUT
17A0 - INT 17 - Alloy MW386 - SPOOL COPY OF FILE
17A4 - INT 17 - Alloy MW386 - ENABLE/DISABLE FORM FEED
17A6 - INT 17 - Alloy MW386 - ENABLE/DISABLE BANNER PAGE
17A7 - INT 17 - Alloy MW386 v2+ - GET/SET SPOOL FLAGS
17A8 - INT 17 - Alloy MW386 - DEFINE TEMPORARY FILENAME
17A9 - INT 17 - Alloy MW386 - CHANGE TEMPORARY SPOOL DRIVE
17AA - INT 17 - Alloy MW386 v2+ - GET REAL-TIME PRINTER STATUS
17AF - INT 17 - Alloy MW386 - CHECK SPOOLER
17C0 - INT 17 - PC Magazine PCSpool - GET CONTROL BLOCK ADDRESS
17C1 - INT 17 - PC Magazine PCSpool - BUILD PAUSE CONTROL RECORD
17C2 - INT 17 - PC Magazine PCSpool - FLUSH PENDING WRITES
17C3 - INT 17 - PC Magazine PCSpool - CANCEL PRINTER QUEUE (FLUSH ALL QUEUED OUTPUT)
17C4 - INT 17 - PC Magazine PCSpool - QUERY SPOOLER ACTIVE
17C5 - INT 17 - PC Magazine PCSpool - JOB SKIP PRINTER QUEUE
17C6 - INT 17 - PC Magazine PCSpool - CHECK PRINTER QUEUE STATUS
17C7 - INT 17 - PC Magazine PCSpool - CLOSE QUEUE
17CD00 - INT 17 - INSET - EXECUTE COMMAND STRING
17CD01 - INT 17 - INSET - GET IMAGE SIZE
17CD02 - INT 17 - INSET - INITIALIZE
17CD03 - INT 17 - INSET - EXECUTE INSET MENU WITHIN OVERRIDE MODE
17CD04 - INT 17 - INSET - INITIALIZE LINKED MODE
17CD05 - INT 17 - INSET - START MERGING IMAGE INTO TEXT
17CD06 - INT 17 - INSET - GRAPHICS LINE FEED
17CD07 - INT 17 - INSET - FLUSH GRAPHICS FROM MERGE BUFFER
17CD08 - INT 17 - INSET - CANCEL LINK MODE
17CD09 - INT 17 - INSET - ALTER TEXT LINE SPACING
17CD0A - INT 17 - INSET - GET SETUP
17CD0B - INT 17 - INSET - START GETTING SCALED IMAGE
17CD0C - INT 17 - INSET - GET NEXT IMAGE STRIP
17E0 - INT 17 - EPP BIOS - INSTALLATION CHECK
17E1 - INT 17 - EPP BIOS - DISABLE EPP
17E2 - INT 17 - EPP BIOS - ENABLE EPP
17F0 - INT 17 - NorthNet Jetstream API - INSTALLATION CHECK
17F1 - INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER
17F2 - INT 17 - NorthNet Jetstream API - GET PRINT PROGRESS STATUS
17F3 - INT 17 - NorthNet Jetstream API - ABORT PRINT OPERATION
17F4 - INT 17 - NorthNet Jetstream API - SET COMPLETION (POST) ADDRESS
17F5 - INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER FROM EXTENDED MEMORY
17FF--BX0000 - INT 17 U - PC-MOS/386 v5.01 - PRINT SPOOLER - CLOSE SPOOL FILE
18 - INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
1800 - INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
1801 - INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
1802 - INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
1803 - INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
1804 - INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
18 - INT 18 - NEC PC-9800 series - VIDEO
180E - INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
181B - INT 18 - NEC PC-9800 series - SET DISPLAY MODE
185350BX4849 - INT 18 - SPHINX C-- - WB.COM - API
186900 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
186901 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
186902 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
186903 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
186904 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
186905 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
186906 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
186907 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
186908 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
186909 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
18690A - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
18690B - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
18690C - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
18690D - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
188000 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
188001 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
188002 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
188003 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
188004 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN
19 - INT 19 - SYSTEM - BOOTSTRAP LOADER
1A00 - INT 1A - TIME - GET SYSTEM TIME
1A01 - INT 1A - TIME - SET SYSTEM TIME
1A02 - INT 1A - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
1A02 - INT 1A - Tandy 2000 - TIME - GET DATE AND TIME
1A03 - INT 1A - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS)
1A03 - INT 1A - Tandy 2000 - TIME - SET DATE AND TIME
1A04 - INT 1A - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
1A04 - INT 1A - Sperry PC - GET REAL-TIME CLOCK DATE
1A04--CX4555 - INT 1A - CheckIt Year 2000 Fix v2.06 - INSTALLATION CHECK
1A05 - INT 1A - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS)
1A05 - INT 1A - Sperry PC - SET REAL-TIME CLOCK DATE
1A06 - INT 1A - TIME - SET ALARM (AT,XT286,PS)
1A07 - INT 1A - TIME - CANCEL ALARM (AT,XT286,PS)
1A08 - INT 1A - TIME - SET RTC ACTIVATED POWER ON MODE (CONVERTIBLE)
1A09 - INT 1A - TIME - READ RTC ALARM TIME AND STATUS (CONV,PS30)
1A0A - INT 1A - TIME - READ SYSTEM-TIMER DAY COUNTER (XT2,PS)
1A0B - INT 1A - TIME - SET SYSTEM-TIMER DAY COUNTER (XT2,PS)
1A0C - INT 1A - TIME - SET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
1A0D - INT 1A - TIME - RESET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
1A0E - INT 1A - TIME - GET RTC DATE/TIME ALARM AND STATUS (IBM)
1A0F - INT 1A - TIME - INITIALIZE REAL-TIME CLOCK
1A10 - INT 1A - NEC PC-9800 series - PRINTER - INITIALIZE
1A1000 - INT 1A - NEC PC-9800 series - INSTALLATION CHECK
1A11 - INT 1A - NEC PC-9800 series - PRINTER - OUTPUT CHARACTER
1A12 - INT 1A - NEC PC-9800 series - PRINTER - SENSE STATUS
1A3601 - INT 1A - WORD PERFECT v5.0 Third Party Interface - INSTALLATION CHECK
1A6108 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDWITHREPLY" - SEND MSG AND GET REPLY
1A6205 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDNOREPLY" - SEND MSG, DON'T AWAIT REPLY
1A6308 - INT 1A - SNAP.EXE 3.2+ - "SNAP_BEGINCONV" - BEGIN CONVERSATION
1A6405 - INT 1A - SNAP.EXE 3.2+ - "SNAP_ENDCONV" - END CONVERSATION
1A6900 - INT 1A - SNAP.EXE 3.2+ - "SNAP_DATASEG" - GET RESIDENT DATA SEGMENT
1A6A01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_ALLOC" - ALLOCATE BUFFER IN SNAP DATA SEGMENT
1A6B01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_FREE" - DEALLOCATE BUFFER IN SNAP DATA SEGMENT
1A6C04 - INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYTO" - COPY DATA TO RESIDENT SNAP PACKAGE
1A6D04 - INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYFROM" - COPY DATA FROM RESIDENT SNAP PACKAGE
1A6E01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETDEBUG" - SET ???
1A6F01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_CHKINSTALL" - INSTALLATION CHECK
1A7002 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETANCHOR"
1A7101 - INT 1A - SNAP.EXE 3.2+ - "SNAP_GETANCHOR"
1A7202 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETCONVPARMS" - SET CONVERSATION PARAMETERS
1A7302 - INT 1A - SNAP.EXE 3.2+ - "SNAP_CLIENTVERSION" - ???
1A7400 - INT 1A - SNAP.EXE 3.2+ - "SNAP_VERSION" - GET VERSION
1A75 - INT 1A - SNAP.EXE 3.2+ - "SNAP_NOP" - ???
1A76 - INT 1A - SNAP.EXE 3.2+ - "SNAP_802_5" - ???
1A77 - INT 1A - SNAP.EXE 3.4 - ???
1A7802 - INT 1A - SNAP.EXE 3.4 - ???
1A7F - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
1A80 - INT 1A - PCjr, Tandy 2500???, Tandy 1000SL/TL - SET UP SOUND MULTIPLEXOR
1A80 - INT 1A - PCMCIA Socket Services v1.00 - GET NUMBER OF ADAPTERS
1A81 - INT 1A - PCMCIA Socket Services v1.00 - REGISTER STATUS CHANGE CALLBACK
1A8100 - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND - INSTALLATION CHECK
1A82 - INT 1A - Tandy 2500???, Tandy 1000SL/TL - DIGITAL SOUND - RECORD SOUND
1A82 - INT 1A - PCMCIA Socket Services v1.00 - REGISTER CARD TECHNOLOGY CALLBACK
1A83 - INT 1A - Tandy 2500, Tandy 1000L series - START PLAYING DIGITAL SOUND
1A83 - INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET SERVICES VERSION NUMBER
1A84 - INT 1A - Tandy 2500, Tandy 1000L series - STOP PLAYING DIGITAL SOUND
1A84 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ADAPTER
1A85 - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
1A85 - INT 1A - PCMCIA Socket Services v1.00 - GET ADAPTER
1A86 - INT 1A - PCMCIA Socket Services v1.00 - SET ADAPTER
1A87 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE WINDOW
1A88 - INT 1A - PCMCIA Socket Services v1.00 - GET WINDOW
1A89 - INT 1A - PCMCIA Socket Services v1.00 - SET WINDOW
1A8A - INT 1A - PCMCIA Socket Services v1.00 - GET PAGE
1A8B - INT 1A - PCMCIA Socket Services v1.00 - SET PAGE
1A8C - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE SOCKET
1A8D - INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET
1A8E - INT 1A - PCMCIA Socket Services v1.00 - SET SOCKET
1A8F - INT 1A - PCMCIA Socket Services v1.00 - GET CARD
1A90 - INT 1A - PCMCIA Socket Services v1.00 - RESET CARD
1A91 - INT 1A - PCMCIA Socket Services v1.00 - READ ONE
1A92 - INT 1A - PCMCIA Socket Services v1.00 - WRITE ONE
1A93 - INT 1A - PCMCIA Socket Services v1.00 - READ MULTIPLE
1A94 - INT 1A - PCMCIA Socket Services v1.00 - WRITE MULTIPLE
1A95 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ERROR DETECTION CODE
1A96 - INT 1A - PCMCIA Socket Services v1.00 - GET ERROR DETECTION CODE
1A97 - INT 1A - PCMCIA Socket Services v1.00 - SET ERROR DETECTION CODE
1A98 - INT 1A - PCMCIA Socket Services v1.00 - START ERROR DETECTION CODE
1A99 - INT 1A - PCMCIA Socket Services v1.00 - PAUSE ERROR DETECTION CODE
1A9A - INT 1A - PCMCIA Socket Services v1.00 - RESUME ERROR DETECTION CODE
1A9B - INT 1A - PCMCIA Socket Services v1.00 - STOP ERROR DETECTION CODE
1A9C - INT 1A - PCMCIA Socket Services v1.00 - READ ERROR DETECTION CODE
1A9D - INT 1A - PCMCIA Socket Services v2.1??? - GET VENDOR INFO
1A9D - INT 1A - Intel PCMCIA ExCA Card Services - API
1A9E - INT 1A - PCMCIA Socket Services v2.1 - ACKNOWLEDGE INTERRUPT
1A9F - INT 1A - PCMCIA Socket Services v2.1 - GET/SET PRIOR INT 1A HANDLER
1AA0 - INT 1A U - Disk Spool II v2.07+ - INSTALLATION CHECK
1AA0 - INT 1A - PCMCIA Socket Services v2.1 - GET/SET SOCKET SERVICES ADDRESS
1AA1 - INT 1A - PCMCIA Socket Services v2.1 - GET ACCESS OFFSETS
1AA2 - INT 1A - CardBus Socket Services - ACCESS CONFIGURATION SPACE
1AA4 - INT 1A - CardBus Socket Services - GET BRIDGE WINDOW / WINDOW CAPABILITIES
1AA5 - INT 1A - CardBus Socket Services - SET BRIDGE WINDOW
1AAB - INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
1AAC - INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
1AAD - INT 1A U - Disk Spool II v1.83 - FUNCTION CALLS
1AAE - INT 1A - PCMCIA Socket Services v2.1 - VENDOR SPECIFIC
1AAE - INT 1A - PCMCIA Socket Services v2.1 - API
1AAF - INT 1A - PCMCIA v2 Card Services - API
1AB000 - INT 1A U - HP 100LX/200LX - PCMCIA - ???
1AB001CX4D52 - INT 1A - Microsoft Real-Time Compression Interface (MRCI) - ROM-BASED SERVER
Section -
1AB101 - INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK
1AB102 - INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE
1AB103 - INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE
1AB106 - INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS
1AB108 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE
1AB109 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD
1AB10A - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD
1AB10ASF1004 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VLSI devices)
1AB10ASF100B - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (National Semicond. device)
1AB10ASF1011 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (DEC device)
1AB10ASF1022 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (AMD devices)
1AB10ASF1042 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PC Technology devices)
1AB10ASF1045 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (OPTi devices)
1AB10ASF1066 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PicoPower devices)
1AB10ASF1066 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Brooktree devices)
1AB10ASF1106 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VIA Technologies devices)
1AB10ASF8086 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Intel devices)
1AB10ASF9004 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Adaptec devices)
1AB10B - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE
1AB10C - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD
1AB10D - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD
1AB10EBX0000 - INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION
1AB10F - INT 1A - PCI BIOS v2.1+ - SET PCI IRQ
1AB181 - INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK (32-bit)
1AB182 - INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE (32-bit)
1AB183 - INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE (32-bit)
1AB186 - INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS (32-bit)
1AB188 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE (32-bit)
1AB189 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD (32-bit)
1AB18A - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (32-bit)
1AB18B - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE (32-bit)
1AB18C - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD (32-bit)
1AB18D - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD (32-bit)
1AB18EBX0000 - INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION (32-bit)
1AB18F - INT 1A - PCI BIOS v2.1+ - SET PCI IRQ (32-bit)
1AB2 - INT 1A - Reserved For PCI
1AB3 - INT 1A - Reserved For PCI
1AB400 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - INSTALLATION CHECK
1AB401 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET DEFAULT CONFIG TABLE
1AB402 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - COPY AND VERIFY CONFIG TABLE
1AB403 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - STORE ESCD TABLE IN NVRAM
1AB404 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET AVAILABLE IRQs???
1AB405 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET ???
1AB406 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET PCI IRQ ROUTING TABLE
1AB407 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - ???
1AB4 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - 32-BIT API
1AC0 - INT 1A U - Disk Spool II v2.07+ - ALTERNATE INSTALLATION CHECK
1ACCCCBXCCCC - INT 1A U - DATEFIX - INSTALLATION CHECK
1AD0 - INT 1A U - Disk Spool II v2.07+ - FUNCTION CALLS
1AE0 - INT 1A - Disk Spool II v4.0x - ENABLE/DISABLE
1AE1 - INT 1A - Disk Spool II v4.0x - GET STATUS
1AE11B - INT 1A - TheGrab v4.60 - ???
1AE11D - INT 1A - TheGrab v4.60 - INSTALLATION CHECK
1AE2 - INT 1A - Disk Spool II v4.0x - GET SPOOL FILES
1AE301 - INT 1A - Disk Spool II v4.0x - GET SPOOL FILE STATUS
1AE302 - INT 1A - Disk Spool II v4.0x - UPDATE SPOOL FILE
1AE401 - INT 1A - Disk Spool II v4.0x - SPOOL EXISTING FILE
1AE402 - INT 1A U - Disk Spool II v4.0x - SPOOL EXISTING FILE???
1AE5 - INT 1A U - Emulaser ELSPL.COM - ???
1AEE - INT 1A U - Disk Spool II v4.05 - ???
1AF7 - INT 1A - RighTime v1.1 - TEMPORARILY DISABLE
1AF8 - INT 1A - RighTime v1.1 - ENABLE
1AFE - INT 1A - AT&T 6300 - READ TIME AND DATE
1AFF - INT 1A - AT&T 6300 - SET TIME AND DATE
1AFF - INT 1A - RighTime v1.1 - PERMANENTLY DISABLE
1AFF00 - INT 1A - SND - INSTALLATION CHECK???
1AFF01 - INT 1A - SND - PAUSE
1AFF02 - INT 1A - SND - START SOUND
1AFF03 - INT 1A - SND - STOP SOUND
1AFF04 - INT 1A - SND - PLAY MUSIC STRING IN BACKGROUND
1AFF05 - INT 1A - SND - UNCONDITIONALLY STOP SOUND
1B - INT 1B C - KEYBOARD - CONTROL-BREAK HANDLER
1C - INT 1C - TIME - SYSTEM TIMER TICK
1D - INT 1D - SYSTEM DATA - VIDEO PARAMETER TABLES
1E - INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
1F - INT 1F - SYSTEM DATA - 8x8 GRAPHICS FONT
1F12 - INT 1F U - C&T "SuperState" BIOS - POWER OFF
1F17 - INT 1F U - C&T "SuperState" BIOS - EXECUTE FAR PROC ROUTINE ON SuperState
1F19 - INT 1F U - C&T "SuperState" BIOS - ENABLE AUTO WAKEUP AND SET TIME AND DATE
1F1C - INT 1F U - C&T "SuperState" BIOS - SET SUSPEND TIMEOUT
1F1D - INT 1F U - C&T "SuperState" BIOS - SET SLEEP TIMEOUT
1F90 - INT 1F - NEC PC-9801 - COPY EXTENDED MEMORY
1FF5--BLFA - INT 1F U - C&T "SuperState" BIOS - REQUEST PASSWORD INPUT
1FF5--BLFD - INT 1F U - C&T "SuperState" BIOS - ENCRYPT PASSWORD
1FF5--BLFE - INT 1F U - C&T "SuperState" BIOS - SET PASSWORD
1FF5--BLFF - INT 1F U - C&T "SuperState" BIOS - GET ENCRYPTED PASSWORD
1FFB - INT 1F U - C&T "SuperState" BIOS - GET/SET CPU SPEED
1FFC--BL00 - INT 1F U - C&T "SuperState" BIOS - GET ALARM STATUS
1FFC--BL01 - INT 1F U - C&T "SuperState" BIOS - SET ALARM STATUS
1FFC--BL02 - INT 1F U - C&T "SuperState" BIOS - GET ALARM TIME
1FFC--BL03 - INT 1F U - C&T "SuperState" BIOS - SET ALARM TIME
1FFC--BL04 - INT 1F U - C&T "SuperState" BIOS - GET ALARM DATE
1FFC--BL05 - INT 1F U - C&T "SuperState" BIOS - SET ALARM DATE
1FFD--BL00 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP STATUS
1FFD--BL01 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP STATUS
1FFD--BL02 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP TIME
1FFD--BL03 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP TIME
1FFD--BL04 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP DATE
1FFD--BL05 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP DATE
Section -
20 - INT 20 - Minix - SEND/RECEIVE MESSAGE
20 - INT 20 - DOS 1+ - TERMINATE PROGRAM
20 - INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER
20----Vx0001 - INT 20 P - Microsoft Windows - VMM - VxD SERVICES
20----Vx0002 - INT 20 P - Microsoft Windows - DEBUG - VxD SERVICES
20----Vx0003 - INT 20 P - Microsoft Windows - VPICD - VxD SERVICES
20----Vx0004 - INT 20 P - Microsoft Windows - VDMAD - VxD SERVICES
20----Vx0005 - INT 20 P - Microsoft Windows - VTD - VxD SERVICES
20----Vx0006 - INT 20 P - Microsoft Windows - V86MMGR - VxD SERVICES
20----Vx0007 - INT 20 P - Microsoft Windows - PageSwap - VxD SERVICES
20----Vx0009 - INT 20 P - Microsoft Windows - REBOOT - VxD SERVICES
20----Vx000A - INT 20 P - Microsoft Windows - VDD - VxD SERVICES
20----Vx000B - INT 20 P - Microsoft Windows - VSD - VxD SERVICES
20----Vx000C - INT 20 P - Microsoft Windows - VMD / VMOUSE - VxD SERVICES
20----Vx000D - INT 20 P - Microsoft Windows - VKD - VxD SERVICES
20----Vx000E - INT 20 P - Microsoft Windows - VCD - VxD SERVICES
20----Vx0010 - INT 20 P - Microsoft Windows - BlockDev / IOS - VxD SERVICES
20----Vx0011 - INT 20 P - Microsoft Windows - VMCPD - VxD SERVICES
20----Vx0012 - INT 20 P - Microsoft Windows - EBIOS - VxD SERVICES
20----Vx0014 - INT 20 P - Microsoft Windows - VNETBIOS - VxD SERVICES
20----Vx0015 - INT 20 P - Microsoft Windows - DOSMGR - VxD SERVICES
20----Vx0017 - INT 20 P - Microsoft Windows - SHELL - VxD SERVICES
20----Vx0018 - INT 20 P - Microsoft Windows - VMPoll - VxD SERVICES
20----Vx001A - INT 20 P - Microsoft Windows - DOSNET - VxD SERVICES
20----Vx001B - INT 20 P - Microsoft Windows - VFD - VxD SERVICES
20----Vx001C - INT 20 P - Microsoft Windows - LoadHi - VxD SERVICES
20----Vx0020 - INT 20 P - Microsoft Windows - Int13 - VxD SERVICES
20----Vx0021 - INT 20 P - Microsoft Windows - PAGEFILE - VxD SERVICES
20----Vx0026 - INT 20 P - Microsoft Windows - VPOWERD - VxD SERVICES
20----Vx0027 - INT 20 P - Microsoft Windows - VXDLDR - VxD SERVICES
20----Vx0028 - INT 20 P - Microsoft Windows - NDIS - VxD SERVICES
20----Vx002A - INT 20 P - Microsoft Windows - VWIN32 - VxD SERVICES
20----Vx002B - INT 20 P - Microsoft Windows - VCOMM - VxD SERVICES
20----Vx002C - INT 20 P - Microsoft Windows - SPOOLER - VxD SERVICES
20----Vx0032 - INT 20 P - Microsoft Windows - VSERVER - VxD SERVICES
20----Vx0033 - INT 20 P - Microsoft Windows - CONFIGMG - VxD SERVICES
20----Vx0034 - INT 20 P - Microsoft Windows - DWCFGMG.SYS - VxD SERVICES
20----Vx0036 - INT 20 P - Microsoft Windows - VFBACKUP - VxD SERVICES
20----Vx0037 - INT 20 P - Microsoft Windows - VMINI / ENABLE - VxD SERVICES
20----Vx0038 - INT 20 P - Microsoft Windows - VCOND - VxD SERVICES
20----Vx003D - INT 20 P - Microsoft Windows - BIOS - VxD SERVICES
20----Vx003E - INT 20 P - Microsoft Windows - WSOCK - VxD SERVICES
20----Vx0040 - INT 20 P - Microsoft Windows - IFSMgr - VxD SERVICES
20----Vx0041 - INT 20 P - Microsoft Windows - VCDFSD - VxD SERVICES
20----Vx0048 - INT 20 P - Microsoft Windows - PERF - VxD SERVICES
20----Vx004A - INT 20 P - Microsoft Windows - MTRR - VxD SERVICES
20----Vx004B - INT 20 P - Microsoft Windows - NTKERN - VxD SERVICES
20----Vx011F - INT 20 P - Microsoft Windows - VFLATD - VxD SERVICES
20----Vx0449 - INT 20 P - Microsoft Windows - vjoyd - VxD SERVICES
20----Vx044A - INT 20 P - Microsoft Windows - mmdevldr - VxD SERVICES
20----Vx0480 - INT 20 P - Microsoft Windows - VNetSup - VxD SERVICES
20----Vx0481 - INT 20 P - Microsoft Windows - VREDIR - VxD SERVICES
20----Vx0483 - INT 20 P - Microsoft Windows - VSHARE - VxD SERVICES
20----Vx0487 - INT 20 P - Microsoft Windows - NWLINK - VxD SERVICES
20----Vx0488 - INT 20 P - Microsoft Windows - VTDI - VxD SERVICES
20----Vx0489 - INT 20 P - Microsoft Windows - VIP - VxD SERVICES
20----Vx048A - INT 20 P - Microsoft Windows - MSTCP - VxD SERVICES
20----Vx048B - INT 20 P - Microsoft Windows - VCACHE - VxD SERVICES
20----Vx048E - INT 20 P - Microsoft Windows - NWREDIR - VxD SERVICES
20----Vx0491 - INT 20 P - Microsoft Windows - FILESEC - VxD SERVICES
20----Vx0492 - INT 20 P - Microsoft Windows - NWSERVER - VxD SERVICES
20----Vx0493 - INT 20 P - Microsoft Windows - MSSP / NWSP - VxD SERVICES
20----Vx0494 - INT 20 P - Microsoft Windows - NSCL - VxD SERVICES
20----Vx0495 - INT 20 P - Microsoft Windows - AFVXD - VxD SERVICES
20----Vx0496 - INT 20 P - Microsoft Windows - NDIS2SUP - VxD SERVICES
20----Vx0498 - INT 20 P - Microsoft Windows - Splitter - VxD SERVICES
20----Vx0499 - INT 20 P - Microsoft Windows - PPPMAC - VxD SERVICES
20----Vx049A - INT 20 P - Microsoft Windows - VDHCP - VxD SERVICES
20----Vx049B - INT 20 P - Microsoft Windows - VNBT - VxD SERVICES
20----Vx049D - INT 20 P - Microsoft Windows - LOGGER - VxD SERVICES
20----Vx097C - INT 20 P - Microsoft Windows - PCCARD - VxD SERVICES
20----Vx3048 - INT 20 P - Frontier Technologies ??? - VxD SERVICES
20----Vx3049 - INT 20 P - Frontier Technologies ??? - VxD SERVICES
20----Vx3098 - INT 20 P - QEMM - VstlthD - VxD SERVICES
20----Vx30F6 - INT 20 P - Microsoft Windows - WSVV - VxD SERVICES
20----Vx33FC - INT 20 P - Microsoft Windows - ASPIENUM - VxD SERVICES
20----Vx357E - INT 20 P - Microsoft Windows - DSOUND - VxD SERVICES
20----Vx39E6 - INT 20 P - Microsoft Windows - A3D - VxD SERVICES
20----Vx3BFD - INT 20 P - Microsoft Windows - CWCPROXY - VxD SERVICES
20----Vx3C78 - INT 20 P - Microsoft Windows - VGARTD - VxD SERVICES
21 - INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE
2100 - INT 21 - DOS 1+ - TERMINATE PROGRAM
2101 - INT 21 - DOS 1+ - READ CHARACTER FROM STANDARD INPUT, WITH ECHO
21010F - INT 21 - VIRUS - "Susan" - INSTALLATION CHECK
2102 - INT 21 - DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT
2103 - INT 21 - DOS 1+ - READ CHARACTER FROM STDAUX
2104 - INT 21 - DOS 1+ - WRITE CHARACTER TO STDAUX
2105 - INT 21 - DOS 1+ - WRITE CHARACTER TO PRINTER
2106 - INT 21 - DOS 1+ - DIRECT CONSOLE OUTPUT
2106--DLFF - INT 21 - DOS 1+ - DIRECT CONSOLE INPUT
2107 - INT 21 - DOS 1+ - DIRECT CHARACTER INPUT, WITHOUT ECHO
2108 - INT 21 - DOS 1+ - CHARACTER INPUT WITHOUT ECHO
2109 - INT 21 - DOS 1+ - WRITE STRING TO STANDARD OUTPUT
210A - INT 21 - DOS 1+ - BUFFERED INPUT
210A00 - INT 21 - WCED v1.6+ - INSTALLATION CHECK
210B - INT 21 - DOS 1+ - GET STDIN STATUS
210B56 - INT 21 - VIRUS - "Perfume" - INSTALLATION CHECK
210C - INT 21 - DOS 1+ - FLUSH BUFFER AND READ STANDARD INPUT
210D - INT 21 - DOS 1+ - DISK RESET
210D20 - INT 21 - VIRUS - "Crazy Imp" - INSTALLATION CHECK
210E - INT 21 - DOS 1+ - SELECT DEFAULT DRIVE
210E--DLAD - INT 21 U - Novell DOS 7 - SDRes v27.03 - INSTALLATION CHECK
210E--DLAE - INT 21 U - Novell DOS 7 - SDRes v27.03 - CLEAR ??? FLAG
210E--DLAF - INT 21 U - Novell DOS 7 - SDRes v27.03 - SET ??? FLAG
210F - INT 21 - DOS 1+ - OPEN FILE USING FCB
2110 - INT 21 - DOS 1+ - CLOSE FILE USING FCB
2111 - INT 21 - DOS 1+ - FIND FIRST MATCHING FILE USING FCB
2112 - INT 21 - DOS 1+ - FIND NEXT MATCHING FILE USING FCB
2113 - INT 21 - DOS 1+ - DELETE FILE USING FCB
2114 - INT 21 - DOS 1+ - SEQUENTIAL READ FROM FCB FILE
2115 - INT 21 - DOS 1+ - SEQUENTIAL WRITE TO FCB FILE
2116 - INT 21 - DOS 1+ - CREATE OR TRUNCATE FILE USING FCB
2117 - INT 21 - DOS 1+ - RENAME FILE USING FCB
2118 - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
2118 - INT 21 - U - PTS-DOS 6.51 & S/DOS 1.0 - EXTENDED RENAME FILE USING FCB
211812 - INT 21 - VIRUS - "Tasha Yar" - INSTALLATION CHECK
21187FBX4453 - INT 21 - VIRUS - "DS-3783" -INSTALLATION CHECK
2118FF - INT 21 - VIRUS - "Pathogen:SMEG" - INSTALLATION CHECK
2119 - INT 21 - DOS 1+ - GET CURRENT DEFAULT DRIVE
211A - INT 21 - DOS 1+ - SET DISK TRANSFER AREA ADDRESS
211B - INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR DEFAULT DRIVE
211C - INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR SPECIFIC DRIVE
211D - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
211E - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
211F - INT 21 - DOS 1+ - GET DRIVE PARAMETER BLOCK FOR DEFAULT DRIVE
2120 - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
2120 - INT 21 - S/DOS 1.0+ & PTS-DOS 6.51+ - GET OEM REVISION
212080 - INT 21 - VIRUS - "New-Year" - INSTALLATION CHECK
2121 - INT 21 - DOS 1+ - READ RANDOM RECORD FROM FCB FILE
2122 - INT 21 - DOS 1+ - WRITE RANDOM RECORD TO FCB FILE
2123 - INT 21 - DOS 1+ - GET FILE SIZE FOR FCB
2124 - INT 21 - DOS 1+ - SET RANDOM RECORD NUMBER FOR FCB
2125 - INT 21 - DOS 1+ - SET INTERRUPT VECTOR
212501 - INT 21 P - Phar Lap 386/DOS-Extender - RESET DOS EXTENDER DATA STRUCTURES
212502 - INT 21 P - Phar Lap 386/DOS-Extender - GET PROTECTED-MODE INTERRUPT VECTOR
212503 - INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE INTERRUPT VECTOR
212504 - INT 21 P - Phar Lap 386/DOS-Extender - SET PROTECTED-MODE INTERRUPT VECTOR
212505 - INT 21 P - Phar Lap 386/DOS-Extender - SET REAL-MODE INTERRUPT VECTOR
212506 - INT 21 P - Phar Lap 386/DOS-Extender - SET INT TO ALWAYS GAIN CNTRL IN PR. MODE
212507 - INT 21 P - Phar Lap 386/DOS-Extender - SET REAL- & PROTECTED-MODE INT VECTORS
212508 - INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT LINEAR BASE ADDRESS
212509 - INT 21 P - Phar Lap 386/DOS-Extender - CONVERT LINEAR TO PHYSICAL ADDRESS
212509 - INT 21 P - FlashTek X-32VM - GET SYSTEM SEGMENTS AND SELECTORS
21250A - INT 21 P - Phar Lap 386/DOS-Extender - MAP PHYSICAL MEMORY AT END OF SEGMENT
21250C - INT 21 P - Phar Lap 386/DOS-Extender - GET HARDWARE INTERRUPT VECTORS
21250D - INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE LINK INFORMATION
21250E - INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE
21250F - INT 21 P - Phar Lap 386/DOS-Extender - CONVERT PROTECTED-MODE ADDRESS TO MS-DOS
212510 - INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE, REGISTERS
212511 - INT 21 P - Phar Lap 386/DOS-Extender - ISSUE REAL-MODE INTERRUPT
212512 - INT 21 P - Phar Lap 386/DOS-Extender - LOAD PROGRAM FOR DEBUGGING
212513 - INT 21 P - Phar Lap 386/DOS-Extender - ALIAS SEGMENT DESCRIPTOR
212514 - INT 21 P - Phar Lap 386/DOS-Extender - CHANGE SEGMENT ATTRIBUTES
212515 - INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT ATTRIBUTES
212516 - INT 21 P - Phar Lap 386/DOS-Extender v2.2+ - FREE ALL MEMORY OWNED BY LDT
212517 - INT 21 P - Phar Lap 386/DOS-Extender v2.1c+ - GET INFO ON DOS DATA BUFFER
212518 - INT 21 P - Phar Lap 386/DOS-Extender 2.1c+ - SPECIFY HANDLER FOR MOVED SEGMENTS
212519 - INT 21 P - Phar Lap 386/DOS-Extender VMM - GET ADDITIONAL MEMORY ERROR INFO
21251A - INT 21 P - Phar Lap 386/DOS-Extender VMM - LOCK PAGES IN MEMORY
21251B - INT 21 P - Phar Lap 386/DOS-Extender VMM - UNLOCK PAGES
21251C - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.1c+ - FREE PHYSICAL MEMORY PAGES
21251D - INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - READ PAGE-TABLE ENTRY
21251E - INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - WRITE PAGE-TABLE ENTRY
21251F - INT 21 P - Phar Lap 386/DOS-Extender VMM - EXHANGE TWO PAGE-TABLE ENTRIES
212520 - INT 21 P - Phar Lap 386/DOS-Extender VMM - GET MEMORY STATISTICS
212521 - INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S EXTENDED MEM USAGE
212522 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY ALTERNATE PAGE-FAULT HANDLR
212523 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY OUT-OF-SWAP-SPACE HANDLER
212524 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - INSTALL PAGE-REPLACEMENT HANDLERS
212525 - INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S CONVENT'L MEM USAGE
212526 - INT 21 P - Phar Lap 386/DOS-Extender - GET CONFIGURATION INFORMATION
212527 - INT 21 P - Phar Lap 386/DOS-Extender VMM - EN/DISABLE STATE SAVE ON INTERRUPTS
212528 - INT 21 P - Phar Lap 386/DOS-Extender VMM - READ REGISTERS AFTER CTRL-C INT
212529 - INT 21 P - Phar Lap 386/DOS-Extender - LOAD FLAT MODEL .EXP or .REX FILE
21252A - INT 21 P - Phar Lap 386/DOS-Extender VMM - NEW LOAD PROGRAM FOR DEBUG
21252BBH00 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE UNMAPPED PAGES
21252BBH01 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE ALLOCATED PAGES
21252BBH02 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE PHYSICAL DEVICE PAGES
21252BBH03 - INT 21 Pu - Phar Lap 386/DOS-Extender - MAP DATA FILE
21252BBH04 - INT 21 Pu - Phar Lap 386/DOS-Extender - GET PAGE TYPES
21252B - INT 21 P - Phar Lap 386/DOS-Extender - VIRTUAL MEMORY MANAGEMENT - PAGE LOCKING
21252B - INT 21 Pu - Phar Lap 386/DOS-Extender - FREE PHYSICAL PAGES
21252BBH09 - INT 21 P - Phar Lap 386/DOS-Extender v4.1 - GET PAGETABLE ENTRY/PAGE TABLE INFO
21252BBH0A - INT 21 P - Phar Lap 386/DOS-Extender v4.1 - SET PAGETABLE ENTRY/PAGE TABLE INFO
21252BBH0B - INT 21 P - Phar Lap 386/DOS-Extender v4.1+ - MAP DATA FILE AT FILE OFFSET
21252C - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ADD UNMAPPED PAGES AT END OF SEGMENT
21252D - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - CLOSE VMM FILE HANDLE
21252E - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - GET/SET VMM PARAMETERS
21252F - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - WRITE RECORD TO VMM PAGE LOG FILE
212530 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.3+ - SET SIZE OF BUFFER FOR DOS CALLS
212531 - INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0 - READ/WRITE LDT DESCRIPTOR
212532 - INT 21 P - Phar Lap 386/DOS-Extender - GET EXCEPTION HANDLER VECTOR
212533 - INT 21 P - Phar Lap 386/DOS-Extender - SET EXCEPTION HANDLER VECTOR
212534 - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - GET INTERRUPT FLAG
212535 - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - READ/WRITE SYSTEM REGISTERS
212536 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0+ - MIN/MAX EXTENDED/CONV MEMORY USAGE
212537 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ALLOCATE DOS MEMORY ABOVE DOS BUFFER
212538 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - READ PROTMODE REGS AFTER SFTWARE INT
212539 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - GET OFFSET OF .EXP FILE HEADER
21253A - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - INSTALL MOD. SEG FAILURE HANDLER
21253B - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - JUMP TO REAL MODE CODE, NO CONTEXT
21253C - INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0+ - SHRINK 386|VMM SWAP FILE
21253D - INT 21 P - Phar Lap 386/DOS-Extender v4.0+ - READ/WRITE IDT DESCRIPTOR
21253F - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - ALLOCATE LDT DESCRIPTOR
212540 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FORCE ALIAS OF SEGMENT
212544 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FREE DLL
212545 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET/SET PROCEDURE ADDRESS
212546 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET MODULE HANDLE
2125C0 - INT 21 P - Phar Lap 386/DOS-Extender - ALLOCATE MS-DOS MEMORY BLOCK
2125C1 - INT 21 P - Phar Lap 386/DOS-Extender - RELEASE MS-DOS MEMORY BLOCK
2125C2 - INT 21 P - Phar Lap 386/DOS-Extender - MODIFY MS-DOS MEMORY BLOCK
2125C3 - INT 21 P - Phar Lap 386/DOS-Extender - EXECUTE PROGRAM
2126 - INT 21 - DOS 1+ - CREATE NEW PROGRAM SEGMENT PREFIX
2127 - INT 21 - DOS 1+ - RANDOM BLOCK READ FROM FCB FILE
2128 - INT 21 - DOS 1+ - RANDOM BLOCK WRITE TO FCB FILE
2129 - INT 21 - DOS 1+ - PARSE FILENAME INTO FCB
212A - INT 21 - DOS 1+ - GET SYSTEM DATE
212B - INT 21 - DOS 1+ - SET SYSTEM DATE
212B--CX4149 - INT 21 - AI Architects - ??? - INSTALLATION CHECK
212B--CX4358 - INT 21 - Super PC-Kwik v3.20+ - INSTALLATION CHECK
212B--CX4445 - INT 21 - DESQview - INSTALLATION CHECK
212B--CX454C - INT 21 - ELRES v1.1 - INSTALLATION CHECK
212B00CX5643 - INT 21 - The Volkov Commander - GET POINTER TO LEFT PANEL DATA STRUCTURE
212B01CX5643 - INT 21 - The Volkov Commander - GET POINTER TO RIGHT PANEL DATA STRUCTURE
212B02CX5643 - INT 21 - The Volkov Commander - GET POINTER TO GLOBAL VARIABLES
212B01CX444D - INT 21 - Quarterdeck DOS-UP.SYS v2.00 - INSTALLATION CHECK
212B01CX5441 - INT 21 - TAME v2.10+ - INSTALLATION CHECK
212B16CX0643 - INT 21 - VIRUS - "Maltese Amoeba" - INSTALLATION CHECK
212B44BX4D41 - INT 21 - pcANYWHERE IV/LAN - INSTALLATION CHECK
212B--CX5643 - INT 21 - Volkov Commander - INSTALLATION CHECK
212B--CX6269 - INT 21 - WDTSR.COM - INSTALLATION CHECK
212B--CX6269 - INT 21 - bitFOSS - INSTALLATION CHECK
212B--CX6269 - INT 21 - bitFOSSI - INSTALLATION CHECK
212C - INT 21 - DOS 1+ - GET SYSTEM TIME
212C - INT 21 - VIRUS - "Anti Pode 2.0" - INSTALLATION CHECK
212C00CX534B - INT 21 - SKUDO - INSTALLATION CHECK
212C2C - INT 21 - VIRUS - "LockJaw/Proto-T" - INSTALLATION CHECK
212D - INT 21 - DOS 1+ - SET SYSTEM TIME
212D01CX7820 - INT 21 - PC-Mix - INSTALLATION CHECK
212E--DL00 - INT 21 - DOS 1+ - SET VERIFY FLAG
212F - INT 21 - DOS 2+ - GET DISK TRANSFER AREA ADDRESS
2130 - INT 21 - DOS 2+ - GET DOS VERSION
2130 - INT 21 - Phar Lap 386/DOS-Extender, Intel Code Builder - INSTALLATION CHECK
2130--DXABCD - INT 21 - VIRUS - "Possessed" - INSTALLATION CHECK
2130--SI1234 - INT 21 - VIRUS - "ANDROMEDA-758" -INSTALLATION CHECK
213000BX1234 - INT 21 - CTask 2.0+ - INSTALLATION CHECK
213000BX3000 - INT 21 - PC-MOS/386 v3.0 - INSTALLATION CHECK/GET VERSION
213000BX614A - INT 21 - VIRUS - "Jackal" - INSTALLATION CHECK
213022 - INT 21 - StopPrg v2.0 - INSTALLATION CHECK
213030BX694D - INT 21 - VIRUS - "IMTC" -INSTALLATION CHECK
213032DX1234 - INT 21 - VIRUS - "Uruguay" - INSTALLATION CHECK
2130F1 - INT 21 - VIRUS - "Dutch-555"/"Quit 1992" - INSTALLATION CHECK
2130FFCX4445 - INT 21 - DESQ??? - INSTALLATION CHECK
2131 - INT 21 - DOS 2+ - TERMINATE AND STAY RESIDENT
2132 - INT 21 - DOS 2+ - GET DOS DRIVE PARAMETER BLOCK FOR SPECIFIC DRIVE
2133 - INT 21 - DOS 2+ - EXTENDED BREAK CHECKING
213302 - INT 21 - DOS 3.x+ internal - GET AND SET EXTENDED CONTROL-BREAK CHECKING STATE
213303 - INT 21 - DOS 3.4/4.0 - GET CURRENT CPSW STATE
213304 - INT 21 - DOS 3.4/4.0 - SET CPSW STATE
213305 - INT 21 - DOS 4.0+ - GET BOOT DRIVE
213306 - INT 21 - DOS 5+ - GET TRUE VERSION NUMBER
213306 - INT 21 - CBIS network - NETWORK REDIRECTOR - ???
213307 - INT 21 - Windows95 - SET/CLEAR DOS_FLAG
21330F - INT 21 - VIRUS - "Burghofer" - INSTALLATION CHECK
213341 - INT 21 - Diet Disk v1.0 - INSTALLATION CHECK
2133DA - INT 21 - VIRUS - "CoffeeShop" - INSTALLATION CHECK
2133DB - INT 21 - VIRUS - "CoffeeShop" - GENERATE RANDOM NUMBER
2133DC - INT 21 - VIRUS - "CoffeeShop" - DISPLAY "LEGALIZE CANNABIS" GRAPHIC
2133E0 - INT 21 - VIRUS - "Oropax" - INSTALLATION CHECK
2134 - INT 21 - DOS 2+ - GET ADDRESS OF INDOS FLAG
2135 - INT 21 - DOS 2+ - GET INTERRUPT VECTOR
213501 - INT 21 P - FlashTek X-32VM - ALLOCATE PROTECTED-MODE SELECTOR
213502 - INT 21 P - FlashTek X-32VM - DEALLOCATE PROTECTED-MODE SELECTOR
213503 - INT 21 P - FlashTek X-32VM - SET SELECTOR BASE ADDRESS
213504 - INT 21 P - FlashTek X-32VM - GET SELECTOR BASE ADDRESS
213505 - INT 21 P - FlashTek X-32VM - SET SELECTOR LIMIT
21350A - INT 21 P - FlashTek X-32VM - PHYSICAL ADDRESS MAPPING
21350B - INT 21 P - FlashTek X-32VM - UPDATE AND RETURN AVAILABLE FREE MEMORY
21350C - INT 21 P - FlashTek X-32VM - ALLOCATE A BLOCK OF MEMORY
21350D - INT 21 P - FlashTek X-32VM - RESERVE BLOCK OF MEMORY FOR 32-BIT STACK
21357F - INT 21 - VIRUS - "Agiplan"/"Month 4-6" - INSTALLATION CHECK
2136 - INT 21 - DOS 2+ - GET FREE DISK SPACE
213700 - INT 21 - DOS 2+ - "SWITCHAR" - GET SWITCH CHARACTER
213701 - INT 21 - DOS 2+ - "SWITCHAR" - SET SWITCH CHARACTER
2137 - INT 21 - DOS 2.x and 3.3+ only - "AVAILDEV" - SPECIFY \DEV\ PREFIX USE
2137A0BX6A6D - INT 21 - XPACK v1.52+ - TSR INSTALLATION CHECK
2137A1BX6A6D - INT 21 - XPACK v1.52+ - UNINSTALL
2137A2BX6A6D - INT 21 - XPACK v1.52+ - GET TSR STATUS
2137A3BX6A6D - INT 21 - XPACK v1.52+ - SET TSR STATUS
2137A6BX6A6D - INT 21 - XPACK v1.65 - GET TEMPORARY DIRECTORY NAME
2137A7BX6A6D - INT 21 - XPACK v1.65 - SET TEMPORARY DIRECTORY NAME
2137D0BX899D - INT 21 - DIET v1.43e - TSR INSTALLATION CHECK
2137D1BX899D - INT 21 - DIET v1.43e - GET DIET.EXE RESIDENT SEGMENT
2137D2BX899D - INT 21 - DIET v1.43e - GET TSR CONTROL FLAGS
2137D3BX899D - INT 21 - DIET v1.43e - SET TSR CONTROL FLAGS
2137D4BX899D - INT 21 - DIET v1.43e - GET TSR OPTIONS
2137D5BX899D - INT 21 - DIET v1.43e - SET TSR OPTIONS
2137D6BX899D - INT 21 - DIET v1.43e - GET TEMPORARY DIRECTORY NAMES
2137D7BX899D - INT 21 - DIET v1.43e - SET TEMPORARY DIRECTORY NAMES
2137DCBX899D - INT 21 - DIET v1.43e - SET ADDRESS OF EXTERNAL PROCEDURE
2137DDBX899D - INT 21 - DIET v1.43e - RELEASE EXTERNAL PROCEDURE
2137DEBX899D - INT 21 - DIET v1.43e - READ EMS STATUS
2137DFBX899D - INT 21 - DIET v1.43e - UNINSTALL TSR
2138 - INT 21 - DOS 2+ - GET COUNTRY-SPECIFIC INFORMATION
2138--DXFFFF - INT 21 - DOS 3.0+ - SET COUNTRY CODE
2139 - INT 21 - DOS 2+ - "MKDIR" - CREATE SUBDIRECTORY
213A - INT 21 - DOS 2+ - "RMDIR" - REMOVE SUBDIRECTORY
213B - INT 21 - DOS 2+ - "CHDIR" - SET CURRENT DIRECTORY
213C - INT 21 - DOS 2+ - "CREAT" - CREATE OR TRUNCATE FILE
213D - INT 21 - DOS 2+ - "OPEN" - OPEN EXISTING FILE
213D76 - INT 21 - VIRUS - "GT-SPOOF" -INSTALLATION CHECK
213DFF - INT 21 - VIRUS - "JD-448" - INSTALLATION CHECK
213E - INT 21 - DOS 2+ - "CLOSE" - CLOSE FILE
213F - INT 21 - DOS 2+ - "READ" - READ FROM FILE OR DEVICE
213F - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - READ STATUS BLOCK
213F - INT 21 - PC/TCP IPCUST.SYS - READ CONFIGURATION DATA
213F - INT 21 - WORKGRP.SYS - GET ENTRY POINT
213F - INT 21 - BW-TCP - GET DRIVER INFO
213F - INT 21 - Trusted Access - NB.SYS - GET STATE
213F - INT 21 U - IFSHLP.SYS - GET ENTRY POINT
213F--BXFEB0 - INT 21 - VIRUS - "KYZ/LieWait" - INSTALLATION CHECK
2140 - INT 21 - DOS 2+ - "WRITE" - WRITE TO FILE OR DEVICE
2140 - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
2140 - INT 21 - PC/TCP IPCUST.SYS - WRITE CONFIGURATION DATA
2140 - INT 21 U - Trusted Access - NB.SYS - SET STATE
214000BX0002 - INT 21 - FARTBELL.EXE - INSTALLATION CHECK
214001BX0002 - INT 21 - FARTBELL.EXE - FORCE NOISE
2141 - INT 21 - DOS 2+ - "UNLINK" - DELETE FILE
214101DXFFFE - INT 21 - SoftLogic Data Guardian - ???
2142 - INT 21 - DOS 2+ - "LSEEK" - SET CURRENT FILE POSITION
214203 - INT 21 - VIRUS - "Shake" - INSTALLATION CHECK
214243 - INT 21 - VIRUS - "Invader" - INSTALLATION CHECK
214300 - INT 21 - DOS 2+ - GET FILE ATTRIBUTES
214301 - INT 21 - DOS 2+ - "CHMOD" - SET FILE ATTRIBUTES
214302 - INT 21 - MS-DOS 7 - GET COMPRESSED FILE SIZE
214302 - INT 21 - DR DOS 3.41+ internal - GET ACCESS RIGHTS
214303 - INT 21 - DR DOS 3.41+ internal - SET ACCESS RIGHTS AND PASSWORD
214304 - INT 21 U - DR DOS 5.0-6.0 internal - GET ENCRYPTED PASSWORD
214305 - INT 21 U - DR DOS 5.0-6.0 internal - SET EXTENDED FILE ATTRIBUTES
214306 - INT 21 O - DR DOS 6.0 - GET FILE OWNER
214307 - INT 21 O - DR DOS 6.0 - SET FILE OWNER
214310 - INT 21 - Banyan VINES 2.1+ - GET EXTENDED FILE ATTRIBUTES
214311 - INT 21 - Banyan VINES 2.1+ - SET EXTENDED FILE ATTRIBUTES
214321BX0000 - INT 21 - Q87, Q387 - INSTALLATION CHECK
214321BX0001 - INT 21 - Q87, Q387 - ENABLE EMULATOR
214321BX0002 - INT 21 - Q87, Q387 - DISABLE EMULATOR
214380 - INT 21 - Novell DOS 7 - UNDELETE PENDING DELETE FILE
214381 - INT 21 - Novell DOS 7 - PURGE PENDING DELETE FILE
214382 - INT 21 - DR-DOS >7.03 - RESERVED
2143FFBP5053 - INT 21 - MS-DOS 7.20 (Win98) - EXTENDED-LENGTH FILENAME OPERATIONS
Section -
214400 - INT 21 - DOS 2+ - IOCTL - GET DEVICE INFORMATION
214401 - INT 21 - DOS 2+ - IOCTL - SET DEVICE INFORMATION
214402 - INT 21 - DOS 2+ - IOCTL - READ FROM CHARACTER DEVICE CONTROL CHANNEL
214402 - INT 21 - Network Driver Interface Specification (NDIS) 2.0.1 - PROTOCOL MANAGER
214402 - INT 21 U - MS-DOS 7.0+ - CONFIG$ device - GET CONFIGURATION INFORMATION
214402 - INT 21 U - IBM SYSTEM 36/38 WORKSTATION EMULATION - VDI.SYS - GET ???
214402 - INT 21 U - LASTBYTE.SYS v1.19 - IOCTL - GET ??? TABLE
214402 - INT 21 - HIGHUMM.SYS v1.17+ - IOCTL - GET API ADDRESS
214402 - INT 21 - SMARTDRV.SYS v3.x only - IOCTL - GET CACHE STATUS
214402 - INT 21 - CD-ROM device driver - IOCTL INPUT
214402 - INT 21 - Quarterdeck - QEMM-386 v5+ - GET API ENTRY POINT
214402 - INT 21 U - Quarterdeck - HOOKROM.SYS - GET HOOKED VECTOR TABLE
214402 - INT 21 - Advanced SCSI Programming Interface (ASPI) - INTERFACE
214402 - INT 21 U - Qualitas 386MAX v6.00+ - IOCTL INPUT - GET STATE
214402 - INT 21 - PGS1600.DEV - IOCTL - GET CONFIGURATION INFO
214402 - INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
214402 - INT 21 - WORKGRP.SYS - GET API ENTRY POINT
214402 - INT 21 - 10NET v5.0 - 10BEUI.DOS - API
214402 - INT 21 - 10NET v5.0 - 10MEMMGR.SYS - API
214402 - INT 21 - Compaq AG1024.SYS - RGDI - GET DRIVER LOCATION
214402 - INT 21 - FTPSOFT.DOS v3.1 - GET ???
214402 - INT 21 U - PenDOS PENDEV.SYS - GET ENTRY POINTS
214402 - INT 21 U - LAN Manager - TCPDRV.DOS - API
214402 - INT 21 U - PC Tools 9 CPRLOW.EXE - GET CODE AND DATA ADDRESSES
214402 - INT 21 U - Creative Technology CTMMSYS.SYS v1.00.01 - API
214402 - INT 21 U - Creative Technology CTSB2.SYS v1.01.01 - API
214402 - INT 21 U - Novell DOS 7+ EMM386.EXE - GET STATE RECORD
214402SF00 - INT 21 U - Memory Managers - GET API ENTRY POINT
214402SF01 - INT 21 U - Memory Managers - GET EMM IMPORT STRUCTURE ADDRESS
214402SF02 - INT 21 U - Memory Managers - GET MEMORY MANAGER VERSION
214402 - INT 21 U - Microsoft EMM386.EXE v4.45 - GET MEMORY MANAGER INFORMATION
214402 - INT 21 U - IFSHLP.SYS - GET ENTRY POINT
214402 - INT 21 - ATA Software Programming Interface (ATASPI) - INTERFACE
214402 - INT 21 - DRFAT32.SYS device driver - IOCTL INPUT
214403 - INT 21 - DOS 2+ - IOCTL - WRITE TO CHARACTER DEVICE CONTROL CHANNEL
214403 - INT 21 - SMARTDRV.SYS v3.x only - IOCTL - CACHE CONTROL
214403 - INT 21 - CD-ROM device driver - IOCTL OUTPUT
214403 - INT 21 U - MS-DOS 7.0+ - CONFIG$ device - SET??? CONFIGURATION INFORMATION
214403 - INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
214403 - INT 21 U - AI Architects - OS/x86??? - API
214403 - INT 21 - PGS1600.DEV - IOCTL - SET CONFIGURATION???
214403 - INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
214403 - INT 21 - Compaq AG1024.SYS - CPQ_MGES - IOCTL OUTPUT
214403 - INT 21 - Compaq AG1024.SYS - RGDI - IOCTL OUTPUT
214403SF01 - INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX OFF
214403SF02 - INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX ON
214403SF03 - INT 21 U - Qualitas 386MAX v6.01+ - SET STATE
214403SF05 - INT 21 U - Qualitas 386MAX v7.00+ - LIMIT AUTOMATIC ACTIVATION TO STD EMS CALLS
214403SF06 - INT 21 U - Qualitas 386MAX v7.00+ - ALLOW AUTOMATIC ACTIVATION ON ANY INT 67
214403 - INT 21 U - PenDOS PENDEV.SYS - ???
214403 - INT 21 - DR DOS $IDLE$ - IOCTL - DYNAMIC IDLE DETECTION CONTROL
214404 - INT 21 - DOS 2+ - IOCTL - READ FROM BLOCK DEVICE CONTROL CHANNEL
214404 - INT 21 - Stacker - GET DEVICE DRIVER ADDRESS AND SET VOLUME NUMBER
214404 - INT 21 - Stacker - GET STACVOL FILE SECTORS
214404 - INT 21 - DUBLDISK.SYS v2.6 - GET INFO
214404 - INT 21 - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
214404 - INT 21 - DBLSPACE.BIN v6.2 - IOCTL - GET ??? FOR SPECIFIED DRIVE
214404 - INT 21 U - DoubleTools v1.0 - GET ???
214404 - INT 21 U - xDISK v3.31 - CONFIGURE
214404 - INT 21 - COMBI-disk v1.13 - GET DATA RECORD
214404 - INT 21 - SFS v1.00 - GET CONFIGURATION INFORMATION
214405 - INT 21 - DOS 2+ - IOCTL - WRITE TO BLOCK DEVICE CONTROL CHANNEL
214405 - INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
214405 - INT 21 U - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
214405 - INT 21 U - xDISK v3.31 - ???
214405 - INT 21 - COMBI-disk v1.13 - CONTROL COMBI-disk
214405 - INT 21 - SFS v1.00 - DRIVER CONTROL
214405 - INT 21 U - SUPERSTOR - IOCTL - INSTALL CHECK
214406 - INT 21 - DOS 2+ - IOCTL - GET INPUT STATUS
214407 - INT 21 - DOS 2+ - IOCTL - GET OUTPUT STATUS
214408 - INT 21 - DOS 3.0+ - IOCTL - CHECK IF BLOCK DEVICE REMOVABLE
214409 - INT 21 - DOS 3.1+ - IOCTL - CHECK IF BLOCK DEVICE REMOTE
21440A - INT 21 - DOS 3.1+ - IOCTL - CHECK IF HANDLE IS REMOTE
21440B - INT 21 - DOS 3.1+ - IOCTL - SET SHARING RETRY COUNT
21440C - INT 21 - DOS 3.2+ - IOCTL - GENERIC CHARACTER DEVICE REQUEST
21440C - INT 21 - Greg Shenaut ASPITAPE.SYS - INTERFACE
21440D - INT 21 - DOS 3.2+ - IOCTL - GENERIC BLOCK DEVICE REQUEST
21440DCX084A - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK LOGICAL VOLUME
21440DCX084B - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK PHYSICAL VOLUME
21440DCX086A - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK LOGICAL VOLUME
21440DCX086B - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK PHYSICAL VOLUME
21440DCX086C - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET LOCK FLAG STATE
21440DCX086D - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - ENUMERATE OPEN FILES
21440DCX086E - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - FIND SWAP FILE
21440DCX0870 - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET CURRENT LOCK STATE
21440DCX0871 - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET FIRST CLUSTER
21440DCXEDC1 - INT 21 - DR PalmDOS - GENERIC IOCTL - LOGIN SECURITY
21440E - INT 21 - DOS 3.2+ - IOCTL - GET LOGICAL DRIVE MAP
21440F - INT 21 - DOS 3.2+ - IOCTL - SET LOGICAL DRIVE MAP
214410 - INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (HANDLE)
214410BXFFFF - INT 21 U - NewSpace - ENABLE DRIVER
214411 - INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (DRIVE)
214411BXFFFF - INT 21 U - NewSpace - DISABLE DRIVER
214412 - INT 21 O - DR DOS 5.0-6.0 - DETERMINE DOS TYPE
214412BXFFFF - INT 21 U - NewSpace - INSTALLATION CHECK???
214413BXFFFF - INT 21 U - NewSpace - GET ???
214414 - INT 21 OU - DR DOS 5.0-6.0 - SET GLOBAL PASSWORD
214414BXFFFF - INT 21 U - NewSpace - DEBUGGING DUMP
214416 - INT 21 OU - DR DOS 5.0-6.0 - HISTORY BUFFER, SHARE, AND HILOAD CONTROL
214451 - INT 21 - Concurrent DOS v3.2+ - INSTALLATION CHECK
214452 - INT 21 - DR DOS 3.41+ - DETERMINE DOS TYPE/GET DR DOS VERSION
214454 - INT 21 U - DR DOS 3.41+ - SET GLOBAL PASSWORD
214456 - INT 21 U - DR DOS 5.0+ - HISTORY BUFFER CONTROL
214457 - INT 21 U - DR DOS 5.0-6.0 - SHARE/HILOAD CONTROL
214457DXFFFF - INT 21 OU - DR DOS 6.0 - GET SHARE STATUS
214458 - INT 21 U - DR DOS 5.0+ internal - GET POINTER TO INTERNAL VARIABLE TABLE
214459 - INT 21 - DR Multiuser DOS 5.0 - API
21445A - INT 21 U - Concurrent DOS etc. - USER GROUP SUPPORT
2144A0 - INT 21 - VIRUS - "Horns" - INSTALLATION CHECK
2144E0 - INT 21 U - Sun PC-NFS - API???
2144FFBXFFFF - INT 21 U - NewSpace - ???
2145 - INT 21 - DOS 2+ - "DUP" - DUPLICATE FILE HANDLE
2146 - INT 21 - DOS 2+ - "DUP2", "FORCEDUP" - FORCE DUPLICATE FILE HANDLE
2147 - INT 21 - DOS 2+ - "CWD" - GET CURRENT DIRECTORY
2148 - INT 21 - DOS 2+ - ALLOCATE MEMORY
2149 - INT 21 - DOS 2+ - FREE MEMORY
214A - INT 21 - DOS 2+ - RESIZE MEMORY BLOCK
214A--BX00B6 - INT 21 - VIRUS???
214A--BXFFFF - INT 21 - VIRUS???
214B - INT 21 - DOS 2+ - "EXEC" - LOAD AND/OR EXECUTE PROGRAM
214B - INT 21 - ELRES v1.0 only - INSTALLATION CHECK
214B04 - INT 21 - VIRUS - "MG", "699"/"Thirteen Minutes" - INSTALLATION CHECK
214B05 - INT 21 - DOS 5+ - SET EXECUTION STATE
214B18DX0010 - INT 21 U - FBOOT v2.13 - PERFORM FAST BOOTSTRAP
214B20 - INT 21 - VIRUS - "Holocaust"/"Telefonica" - ???
214B21 - INT 21 C - VIRUS - "Holocaust"/"Telefonica" - ???
214B25 - INT 21 - VIRUS - "1063"/"Mono" - INSTALLATION CHECK
214B40 - INT 21 - VIRUS - "Plastique"/"AntiCad" - INSTALLATION CHECK
214B41 - INT 21 - VIRUS - "Plastique"/"AntiCad" - ???
214B4A - INT 21 - VIRUS - "Jabberwocky" - INSTALLATION CHECK
214B4B - INT 21 - VIRUS - "Horse-2" - INSTALLATION CHECK
214B4D - INT 21 - VIRUS - "Murphy-2", "Patricia"/"Smack" - INSTALLATION CHECK
214B50 - INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - INSTALLATION CHECK
214B53 - INT 21 - VIRUS - "Horse" - INSTALLATION CHECK
214B53BX2121 - INT 21 - VIRUS - "One Half" - INSTALLATION CHECK
214B55 - INT 21 - VIRUS - "Sparse" - INSTALLATION CHECK
214B59 - INT 21 - VIRUS - "Murphy-1", "Murphy-4" - INSTALLATION CHECK
214B5E - INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
214B60 - INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - ???
214B80 - INT 21 - DR DOS v3.31+ - RUN ALREADY-LOADED KERNEL FILE
214B87 - INT 21 - VIRUS - "Shirley" - INSTALLATION CHECK
214B95 - INT 21 - VIRUS - "Zherkov-1882" - INSTALLATION CHECK
214BA7 - INT 21 - VIRUS - "1876"/"Dash-em" - INSTALLATION CHECK
214BAA - INT 21 - VIRUS - "Nomenklatura" - INSTALLATION CHECK
214BAF - INT 21 - VIRUS - "948"/"Screenplus1", "Magnitogorsk" - INSTALLATION CHECK
214BB1 - INT 21 - VIRUS - "UZZY" -INSTALLATION CHECK
214BDD - INT 21 - VIRUS - "Lozinsky"/"Zherkov" - INSTALLATION CHECK
214BEE - INT 21 - F-DRIVER.SYS v1.14+ - GRAB INT 21
214BF0 - INT 21 - DIET v1.10+ (Overlay Mode) - INSTALLATION CHECK
214BF1 - INT 21 - DIET v1.10+ (Overlay Mode) - EXPAND PROGRAM???
214BF1 - INT 21 - VIRUS - "Jerusalem 2" - INSTALLATION CHECK
214BFE - INT 21 - VIRUS - "Hitchcock", "Dark Avenger-1028", "1193" - INSTALLATION CHECK
214BFF - INT 21 - VIRUS - "USSR-707", "Justice", "Europe 92" - INSTALLATION CHECK
214BFFSI0000 - INT 21 - VIRUS - "Cascade" - INSTALLATION CHECK
214C - INT 21 - DOS 2+ - "EXIT" - TERMINATE WITH RETURN CODE
214C57 - INT 21 - Headroom - ???
214D - INT 21 - DOS 2+ - GET RETURN CODE (ERRORLEVEL)
214E - INT 21 - DOS 2+ - "FINDFIRST" - FIND FIRST MATCHING FILE
214E - INT 21 - WILDUNIX.COM internal - INSTALLATION CHECK
214F - INT 21 - DOS 2+ - "FINDNEXT" - FIND NEXT MATCHING FILE
2150 - INT 21 - DOS 2+ internal - SET CURRENT PROCESS ID (SET PSP ADDRESS)
2150FD - INT 21 - VIRUS - "Predator 2" - INSTALLATION CHECK
2151 - INT 21 - DOS 2+ internal - GET CURRENT PROCESS ID (GET PSP ADDRESS)
2152 - INT 21 U - DOS 2+ internal - "SYSVARS" - GET LIST OF LISTS
215252 - INT 21 - VIRUS - "516"/"Leapfrog" - INSTALLATION CHECK
2153 - INT 21 - DOS 2+ internal - TRANSLATE BIOS PARAMETER BLOCK TO DRIVE PARAM BLOCK
2154 - INT 21 - DOS 2+ - GET VERIFY FLAG
2154--BX4475 - INT 21 - VIRUS - "Dual_GtM"/"Ganeu" - INSTALLATION CHECK
215454 - INT 21 - VIRUS - "Dudley" - INSTALLATION CHECK
2155 - INT 21 - DOS 2+ internal - CREATE CHILD PSP
2156 - INT 21 - DOS 2+ - "RENAME" - RENAME FILE
215643 - INT 21 - VIRUS - "PS-MPC.Gold" - INSTALLATION CHECK
215700 - INT 21 - DOS 2+ - GET FILE'S LAST-WRITTEN DATE AND TIME
215701 - INT 21 - DOS 2+ - SET FILE'S LAST-WRITTEN DATE AND TIME
215702 - INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTES FOR FILE
215702 - INT 21 - OS/2 v1.1+ Family API - DosQFileInfo
215702BXFFFF - INT 21 - OS/2 v1.1+ Compatibility Box Family API - DosQPathInfo
215703 - INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTE PROPERTIES
215703 - INT 21 - OS/2 v1.1+ Family API - DosSetFileInfo
215703BXFFFF - INT 21 - OS/2 v1.1+ Family API - DosSetPathInfo
215704 - INT 21 - DOS 4.x only - SET EXTENDED ATTRIBUTES
215704 - INT 21 - MS-DOS 7/Windows95 - GET LAST ACCESS DATE AND TIME
215705 - INT 21 - MS-DOS 7/Windows95 - SET LAST ACCESS DATE AND TIME
215706 - INT 21 - MS-DOS 7/Windows95 - GET CREATION DATE AND TIME
215707 - INT 21 - MS-DOS 7/Windows95 - SET CREATION DATE AND TIME
215741 - INT 21 - VIRUS - "WARP" -INSTALLATION CHECK
215757BX5757 - INT 21 U - IBM Genie - Resident Manager - INSTALLATION CHECK
215758 - INT 21 U - Headroom - API
2158 - INT 21 - DOS 2.11+ - GET OR SET MEMORY ALLOCATION STRATEGY
2158 - INT 21 - DOS 5+ - GET OR SET UMB LINK STATE
2158CC - INT 21 - VIRUS - "1067"/"Headcrash" - INSTALLATION CHECK
2158DD - INT 21 - VIRUS - "1067"/"Headcrash" - GET ORIGINAL INT 21h VECTOR
2159--BX0000 - INT 21 - DOS 3.0+ - GET EXTENDED ERROR INFORMATION
2159--BX0001 - INT 21 - European MS-DOS 4.0 - GET HARD ERROR INFORMATION
215A - INT 21 - DOS 3.0+ - CREATE TEMPORARY FILE
215B - INT 21 - DOS 3.0+ - CREATE NEW FILE
215C - INT 21 - DOS 3.0+ - "FLOCK" - RECORD LOCKING
215D00 - INT 21 U - DOS 3.1+ internal - SERVER FUNCTION CALL
215D01 - INT 21 U - DOS 3.1+ internal - COMMIT ALL FILES FOR SPECIFIED COMPUTER/PROCESS
215D02 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE FILE BY NAME
215D03 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN COMPUTER
215D04 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN PROCESS
215D05 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - GET OPEN FILE LIST ENTRY
215D06 - INT 21 U - DOS 3.0+ internal - GET ADDRESS OF DOS SWAPPABLE DATA AREA
215D07 - INT 21 U - DOS 3.1+ network - GET REDIRECTED PRINTER MODE
215D08 - INT 21 U - DOS 3.1+ network - SET REDIRECTED PRINTER MODE
215D09 - INT 21 U - DOS 3.1+ network - FLUSH REDIRECTED PRINTER OUTPUT
215D0A - INT 21 - DOS 3.1+ - SET EXTENDED ERROR INFORMATION
215D0B - INT 21 OU - DOS 4.x only - internal - GET DOS SWAPPABLE DATA AREAS
Section -
215E00 - INT 21 - DOS 3.1+ network - GET MACHINE NAME
215E00 - INT 21 - 10NET v5.0 - GET MACHINE NAME
215E01CH00 - INT 21 - DOS 3.1+ network - SET MACHINE NAME
215E01 - INT 21 - 10NET v5.0 - GET LOCAL 10NET CONFIGURATION TABLE
215E02 - INT 21 - DOS 3.1+ network - SET NETWORK PRINTER SETUP STRING
215E03 - INT 21 - DOS 3.1+ network - GET NETWORK PRINTER SETUP STRING
215E04 - INT 21 - DOS 3.1+ network - SET PRINTER MODE
215E04 - INT 21 - 10NET v5.0 - INITIATE PRINT JOB
215E05 - INT 21 - DOS 3.1+ network - GET PRINTER MODE
215E05 - INT 21 - 10NET v5.0 - TERMINATE PRINT JOB
215E06 - INT 21 - 10NET v5.0 - GET/SET 10NET WORKSTATION PRINTER SETUP STRUCTURE
215F00 - INT 21 - DOS 3.1+ network - GET REDIRECTION MODE
215F01 - INT 21 - DOS 3.1+ network - SET REDIRECTION MODE
215F02 - INT 21 - DOS 3.1+ network - GET REDIRECTION LIST ENTRY
215F03 - INT 21 - DOS 3.1+ network - REDIRECT DEVICE
215F04 - INT 21 - DOS 3.1+ network - CANCEL REDIRECTION
215F05 - INT 21 - DOS 4.0+ network - GET EXTENDED REDIRECTION LIST ENTRY
215F05 - INT 21 - STARLITE architecture - MAP LOCAL DRIVE LETTER TO REMOTE FILE SYSTEM
215F06 - INT 21 U - Network - GET FULL REDIRECTION LIST
215F06 - INT 21 - STARLITE architecture - UNMAP DRIVE LETTER
215F07 - INT 21 - DOS 5+ - ENABLE DRIVE
215F07 - INT 21 - STARLITE architecture - MAKE NAMED OBJECT AVAILABLE ON NETWORK
215F08 - INT 21 - DOS 5+ - DISABLE DRIVE
215F08 - INT 21 - STARLITE architecture - REMOVE GLOBAL NETWORK NAME OF OBJECT
215F09 - INT 21 - STARLITE architecture - BIND TO NETWORK DEVICE
215F0A - INT 21 - STARLITE architecture - DETACH FROM NETWORK DEVICE
215F30 - INT 21 U - LAN Manager Enhanced DOS - GET REDIRECTOR VERSION
215F32 - INT 21 u - Named Pipes - LOCAL DosQNmPipeInfo
215F33 - INT 21 u - Named Pipes - LOCAL DosQNmPHandState
215F34 - INT 21 u - Named Pipes - LOCAL DosSetNmPHandState
215F35 - INT 21 u - Named Pipes - LOCAL DosPeekNmPipe
215F36 - INT 21 u - Named Pipes - LOCAL DosTransactNmPipe
215F37 - INT 21 u - Named Pipes - DosCallNmPipe
215F38 - INT 21 u - Named Pipes - LOCAL DosWaitNmPipe - AWAIT AVAIL. OF PIPE INSTANCE
215F39 - INT 21 U - Named Pipes - LOCAL DosRawReadNmPipe
215F3A - INT 21 U - Named Pipes - LOCAL DosRawWriteNmPipe
215F3B - INT 21 u - LAN Manager Enhanced DOS - NetHandleSetInfo
215F3C - INT 21 u - LAN Manager Enhanced DOS - NetHandleGetInfo
215F3D - INT 21 U - LAN Manager Enhanced DOS - WRITE MAILSLOT???
215F3E - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetSpecialSMB
215F3F - INT 21 U - LAN Manager Enhanced DOS - REMOTE API CALL
215F40 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetMessageBufferSend
215F41 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceEnum
215F42 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceControl
215F43 - INT 21 u - LAN Manager Enhanced DOS - LOCAL DosPrintJobGetId
215F44 - INT 21 - LAN Manager Enhanced DOS - LOCAL NetWkstaGetInfo
215F45 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetWkstaSetInfo
215F46 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseEnum
215F47 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseAdd
215F48 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseDel
215F49 - INT 21 u - LAN Manager Enhanced DOS - NetUseGetInfo
215F4A - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteCopy
215F4B - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteMove
215F4C - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServerEnum
215F4D - INT 21 u - LAN Manager Enhanced DOS - DosMakeMailslot
215F4E - INT 21 u - LAN Manager Enhanced DOS - DosDeleteMailslot
215F4F - INT 21 u - LAN Manager Enhanced DOS - DosMailslotInfo
215F50 - INT 21 u - LAN Manager Enhanced DOS - DosReadMailslot
215F51 - INT 21 u - LAN Manager Enhanced DOS - DosPeekMailslot
215F52 - INT 21 u - LAN Manager Enhanced DOS - DosWriteMailslot
215F53 - INT 21 u - LAN Manager Enhanced DOS - NetServerEnum2
215F55 - INT 21 U - LAN Manager Enhanced DOS - KILL ALL CONNECTIONS???
215F80 - INT 21 - LANtastic - GET LOGIN ENTRY
215F81 - INT 21 - LANtastic - LOGIN TO SERVER
215F82 - INT 21 - LANtastic - LOGOUT FROM SERVER
215F83 - INT 21 - LANtastic - GET USERNAME ENTRY
215F84 - INT 21 - LANtastic - GET INACTIVE SERVER ENTRY
215F85 - INT 21 - LANtastic - CHANGE PASSWORD
215F86 - INT 21 - LANtastic - DISABLE ACCOUNT
215F87 - INT 21 - LANtastic v3+ - GET ACCOUNT
215F88 - INT 21 - LANtastic v4.0+ - LOGOUT FROM ALL SERVERS
215F97 - INT 21 - LANtastic - COPY FILE
215F98 - INT 21 - LANtastic - SEND UNSOLICITED MESSAGE
215F99 - INT 21 - LANtastic - GET LAST RECEIVED UNSOLICITED MESSAGE
215F9A - INT 21 - LANtastic - GET MESSAGE PROCESSING FLAGS
215F9B - INT 21 - LANtastic - SET MESSAGE PROCESSING FLAGS
215F9C - INT 21 - LANtastic v3+ - POP UP LAST RECEIVED MESSAGE
215F9D - INT 21 - LANtastic v4.1+ - GET REDIRECTOR CONTROL BITS
215F9E - INT 21 - LANtastic v4.1+ - SET REDIRECTOR CONTROL BITS
215FA0 - INT 21 - LANtastic - GET QUEUE ENTRY
215FA1 - INT 21 - LANtastic - SET QUEUE ENTRY
215FA2 - INT 21 - LANtastic - CONTROL QUEUE
215FA3 - INT 21 - LANtastic v3+ - GET PRINTER STATUS
215FA4 - INT 21 - LANtastic v3+ - GET STREAM INFO
215FA5 - INT 21 - LANtastic v3+ - SET STREAM INFO
215FA7 - INT 21 - LANtastic - CREATE USER AUDIT ENTRY
215FA9 - INT 21 - LANtastic v4.1+ - SET EXTENDED QUEUE ENTRY
215FB0 - INT 21 - LANtastic - GET ACTIVE USER INFORMATION
215FB1 - INT 21 - LANtastic - GET SHARED DIRECTORY INFORMATION
215FB2 - INT 21 - LANtastic v3+ - GET USERNAME FROM ACCOUNT FILE
215FB3 - INT 21 - LANtastic v3+ - TRANSLATE PATH
215FB4 - INT 21 - LANtastic v3+ - CREATE INDIRECT FILE
215FB5 - INT 21 - LANtastic v3+ - GET INDIRECT FILE CONTENTS
215FB6 - INT 21 - LANtastic v4.1+ - SET AUTO-LOGIN DEFAULTS
215FB7 - INT 21 - LANtastic v4.1+ - GET AUTO-LOGIN DEFAULTS
215FC0 - INT 21 - LANtastic - GET TIME FROM SERVER
215FC8 - INT 21 - LANtastic v4.0+ - SCHEDULE SERVER SHUTDOWN
215FC9 - INT 21 - LANtastic v4.0+ - CANCEL SERVER SHUTDOWN
215FCA - INT 21 - LANtastic v4.0+ - STUFF SERVER KEYBOARD BUFFER
215FCB - INT 21 - LANtastic v4.1+ - TERMINATE USER
215FCC - INT 21 - LANtastic v4.1+ - GET/SET SERVER CONTROL BITS
215FCD - INT 21 - LANtastic v4.1+ - FLUSH SERVER CACHES
215FD0 - INT 21 - LANtastic - GET REDIRECTED PRINTER TIMEOUT
215FD1 - INT 21 - LANtastic - SET REDIRECTED PRINTER TIMEOUT
215FE0 - INT 21 C - LANtastic - GET DOS SERVICE VECTOR
215FE1 - INT 21 - LANtastic - SET DOS SERVICE VECTOR
215FE2 - INT 21 - LANtastic - GET MESSAGE SERVICE VECTOR
215FE3 - INT 21 - LANtastic - SET MESSAGE SERVICE VECTOR
2160 - INT 21 - DOS 3.0+ - "TRUENAME" - CANONICALIZE FILENAME OR PATH
2161 - INT 21 - DOS 3.0+ - UNUSED (RESERVED FOR NETWORK USE)
2161--BP6467 - INT 21 U - OS/2 v1.x FAPI - OS/2 FILE SYSTEM JOIN/SUBST
2162 - INT 21 - DOS 3.0+ - GET CURRENT PSP ADDRESS
216262SI1994 - INT 21 - ENVLOCK - INSTALLATION CHECK
216300 - INT 21 - DOS 2.25 only - GET LEAD BYTE TABLE ADDRESS
216300 - INT 21 - DOS 3.2+ - GET DOUBLE BYTE CHARACTER SET LEAD-BYTE TABLE
216301 - INT 21 - DOS 2.25, DOS 3.2+ - SET KOREAN (HANGEUL) INPUT MODE
216302 - INT 21 - DOS 2.25, DOS 3.2+ - GET KOREAN (HANGEUL) INPUT MODE
216303 - INT 21 - VIRUS - "DOS IDLE" - INSTALLATION CHECK
216304 - INT 21 - VIRUS - "Replicator" - INSTALLATION CHECK
2164 - INT 21 - DOS 3.2+ internal - SET DEVICE DRIVER LOOKAHEAD FLAG
2164--DX0000 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - ENABLE AUTOMATIC TITLE SWITCH
2164--DX0001 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - SET SESSION TITLE
2164--DX0002 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - GET SESSION TITLE
2164--DX0003 - INT 21 U - OS/2 v2.1 Virtual DOS Machine - GET LASTDRIVE
2164--DX0004 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SIZE OF PTDA JFT
2164--DX0005 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SECOND SFT FLAGS WORD
2164--DX0006 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - UNLOAD DOSKRNL SYMBOLS & LOAD PROGR
2164--DX0007 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET WinOS2 CALL GATE ADDRESS
2164--DX0008 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET LOADING MESSAGE
2164--CX636C - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API support
2164--BX0025 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DOS32StartSession
2164--BX00B6 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosQFSAttach
2164--BX00CB - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosForceDelete
216500 - INT 21 - Windows95 (OSR2) - SET GENERAL INTERNATIONALIZATION INFO
2165 - INT 21 - DOS 3.3+ - GET EXTENDED COUNTRY INFORMATION
2165 - INT 21 - DOS 4.0+ - COUNTRY-DEPENDENT CHARACTER CAPITALIZATION
216523 - INT 21 U - DOS 4.0+ - DETERMINE IF CHARACTER REPRESENTS YES/NO RESPONSE
2165 - INT 21 U - DOS 4.0+ internal - COUNTRY-DEPENDENT FILENAME CAPITALIZATION
216601 - INT 21 - DOS 3.3+ - GET GLOBAL CODE PAGE TABLE
216602 - INT 21 - DOS 3.3+ - SET GLOBAL CODE PAGE TABLE
2167 - INT 21 - DOS 3.3+ - SET HANDLE COUNT
2168 - INT 21 - DOS 3.3+ - "FFLUSH" - COMMIT FILE
2169 - INT 21 U - DOS 4.0+ internal - GET/SET DISK SERIAL NUMBER
2169 - INT 21 - DR DOS 5.0 - NULL FUNCTION
216969 - INT 21 - VIRUS - "Rape-747" - INSTALLATION CHECK
2169FFDX0000 - INT 21 U - CUBIT v4.00 - GET CUBIT INT 21 HANDLER
2169FFDXCFBF - INT 21 U - CUBIT v4.00 - UNINSTALL
216A - INT 21 U - DOS 4.0+ - COMMIT FILE
216B - INT 21 U - DOS 4.0 internal - IFS IOCTL
216B - INT 21 U - DOS 5+ - NULL FUNCTION
216C00 - INT 21 - DOS 4.0+ - EXTENDED OPEN/CREATE
216C01 - INT 21 U - OS/2 v2.0 - "DosOpen2"
216D - INT 21 U - DOS 5+ ROM - FIND FIRST ROM PROGRAM
216D - INT 21 U - OS/2 v1.x FAPI - "DosMkDir2"
216D - INT 21 U - Novell DOS 7 - NOP
216E - INT 21 U - DOS 5+ ROM - FIND NEXT ROM PROGRAM
216E - INT 21 U - OS/2 v1.x FAPI - "DosEnumAttrib"
216F00 - INT 21 U - DOS 5+ ROM - GET ROM SCAN START ADDRESS
216F00 - INT 21 U - OS/2 v1.x FAPI - "DosQMaxEASize" - GET MAXIMUM SIZE OF EXTENDED ATTR
216F01 - INT 21 U - DOS 5+ ROM - SET ROM SCAN START ADDRESS
216F02 - INT 21 U - DOS 5+ ROM - GET EXCLUSION REGION LIST
216F03 - INT 21 U - DOS 5+ ROM - SET EXCLUSION REGION LIST
2170 - INT 21 - MS-DOS 7 (Windows95) - GET/SET INTERNATIONALIZATION INFORMATION
217070BX6060 - INT 21 - PCW Weather Card interface - GET DATA SEGMENT
217070BX7070 - INT 21 - PCW Weather Card interface - INSTALLATION CHECK
2171 - INT 21 - Windows95 - LONG FILENAME FUNCTIONS
2171 - INT 21 - VIRUS - "1205" - INSTALLATION CHECK
21710D - INT 21 - Windows95 - RESET DRIVE
217139 - INT 21 - Windows95 - LONG FILENAME - MAKE DIRECTORY
21713A - INT 21 - Windows95 - LONG FILENAME - REMOVE DIRECTORY
21713B - INT 21 - Windows95 - LONG FILENAME - CHANGE DIRECTORY
217141 - INT 21 - Windows95 - LONG FILENAME - DELETE FILE
217143 - INT 21 - Windows95 - LONG FILENAME - EXTENDED GET/SET FILE ATTRIBUTES
217147 - INT 21 - Windows95 - LONG FILENAME - GET CURRENT DIRECTORY
21714E - INT 21 - Windows95 - LONG FILENAME - FIND FIRST MATCHING FILE
21714F - INT 21 - Windows95 - LONG FILENAME - FIND NEXT MATCHING FILE
217156 - INT 21 - Windows95 - LONG FILENAME - RENAME FILE
217160CL00 - INT 21 - Windows95 - LONG FILENAME - "TRUENAME" - CANONICALIZE PATH
217160CL01 - INT 21 - Windows95 - LONG FILENAME - GET SHORT (8.3) FILENAME FOR FILE
217160CL02 - INT 21 - Windows95 - LONG FILENAME - GET CANONICAL LONG FILENAME OR PATH
21716C - INT 21 - Windows95 - LONG FILENAME - CREATE OR OPEN FILE
2171A0 - INT 21 - Windows95 - LONG FILENAME - GET VOLUME INFORMATION
2171A1 - INT 21 - Windows95 - LONG FILENAME - "FindClose" - TERMINATE DIRECTORY SEARCH
2171A2 - INT 21 U - Windows95 - internal - LONG FILENAME - FIND NEXT MATCHING FILE
2171A3 - INT 21 U - Windows95 - internal
2171A4 - INT 21 U - Windows95 - internal
2171A5 - INT 21 U - Windows95 - internal
2171A6 - INT 21 - Windows95 - LONG FILENAME - GET FILE INFO BY HANDLE
2171A7BL00 - INT 21 - Windows95 - LONG FILENAME - FILE TIME TO DOS TIME
2171A7BL01 - INT 21 - Windows95 - LONG FILENAME - DOS TIME TO FILE TIME
2171A8 - INT 21 - Windows95 - LONG FILENAME - GENERATE SHORT FILENAME
2171A9 - INT 21 - Windows95 - LONG FILENAME - SERVER CREATE OR OPEN FILE
2171AABH00 - INT 21 - Windows95 - LONG FILENAME - CREATE SUBST
2171AABH01 - INT 21 - Windows95 - LONG FILENAME - TERMINATE SUBST
2171AABH02 - INT 21 - Windows95 - LONG FILENAME - QUERY SUBST
2172 - INT 21 - Windows95 beta - LFN-FindClose
2173 - INT 21 - MS-DOS 7 - DRIVE LOCKING AND FLUSHING
217302 - INT 21 - Windows95 - FAT32 - "Get_ExtDPB" - GET EXTENDED DPB
217303 - INT 21 - Windows95 - FAT32 - GET EXTENDED FREE SPACE ON DRIVE
217304 - INT 21 - Windows95 - FAT32 - Set DPB TO USE FOR FORMATTING
217305CXFFFF - INT 21 - Windows95 - FAT32 - EXTENDED ABSOLUTE DISK READ/WRITE
217575 - INT 21 - VIRUS - "LEGO" -INSTALLATION CHECK
2176 - INT 21 - VIRUS - "Klaeren"/"Hate" - INSTALLATION CHECK
217700 - INT 21 - VIRUS - "Growing Block" - INSTALLATION CHECK
217734 - INT 21 U - SCROLLit v1.7 - INSTALLATION CHECK
217761 - INT 21 - WATCH.COM v3.2+ - INSTALLATION CHECK
217BCE - INT 21 - VIRUS - "Whisper"/"Taipan" - INSTALLATION CHECK
217BCF - INT 21 - VIRUS - "Tai-Pan.666"/"Doom II Death" - INSTALLATION CHECK
217D - INT 21 - VIRUS - "OffSpring" - INSTALLATION CHECK
217F - INT 21 - VIRUS - "Squeaker","ASeXual" - INSTALLATION CHECK
2180 - INT 21 - European MS-DOS 4.0 - "AEXEC" - EXECUTE PROGRAM IN BACKGROUND
218080 - INT 21 - PCW Weather Card interface - UNINSTALL PCW.COM AND FREE MEMORY
2181 - INT 21 - European MS-DOS 4.0 - "FREEZE" - STOP A PROCESS
2182 - INT 21 - European MS-DOS 4.0 - "RESUME" - RESTART A PROCESS
2183 - INT 21 - European MS-DOS 4.0 - "PARTITION" - GET/SET FOREGROUND PARTITION SIZE
2183 - INT 21 - VIRUS - "SVC" - INSTALLATION CHECK
2184 - INT 21 - VIRUS - "SVC 5.0" or "SVC 6.0" - INSTALLATION CHECK
218400 - INT 21 - European MS-DOS 4.0 - "CREATMEM" - CREATE A SHARED MEMORY AREA
218401 - INT 21 - European MS-DOS 4.0 - "GETMEM" - OBTAIN ACCESS TO SHARED MEMORY AREA
218402 - INT 21 - European MS-DOS 4.0 - "RELEASEMEM" - FREE SHARED MEMORY AREA
2185 - INT 21 U - European MS-DOS 4.0 - ???
2186 - INT 21 - European MS-DOS 4.0 - "SETFILETABLE" - INSTALL NEW FILE HANDLE TABLE
2187 - INT 21 - European MS-DOS 4.0 - "GETPID" - GET PROCESS IDENTIFIER
2188 - INT 21 U - European MS-DOS 4.0 - ???
2189 - INT 21 - European MS-DOS 4.0 - SLEEP
2189 - INT 21 - VIRUS - "Vriest" - INSTALLATION CHECK
218A - INT 21 - European MS-DOS 4.0 - "CWAIT" - WAIT FOR CHILD TO TERMINATE
218B - INT 21 U - European MS-DOS 4.0 - ???
218C - INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
218D - INT 21 - European MS-DOS 4.0 - SEND SIGNAL
218E00BH00 - INT 21 - European MS-DOS 4.0 - "SETPRI" - GET/SET PROCESS PRIORITY
218F - INT 21 U - European MS-DOS 4.0 - ???
2190 - INT 21 U - European MS-DOS 4.0 - ???
2190--CXFFFF - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK READ
2190 - INT 21 - VIRUS - "Carioca" - INSTALLATION CHECK
2191 - INT 21 U - European MS-DOS 4.0 - ???
2191--CXFFFF - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK WRITE
2192 - INT 21 U - European MS-DOS 4.0 - ???
2192 - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - ABORT CURRENT PROCESS VIA INT 23
2193 - INT 21 - European MS-DOS 4.0 - "PIPE" - CREATE A NEW PIPE
2194 - INT 21 U - European MS-DOS 4.0 - ???
2195 - INT 21 - European MS-DOS 4.0 - HARD ERROR PROCESSING
2196 - INT 21 U - European MS-DOS 4.0 - ???
2197 - INT 21 U - European MS-DOS 4.0 - ???
219753 - INT 21 - VIRUS - "Nina" - INSTALLATION CHECK
2198 - INT 21 U - European MS-DOS 4.0 - ???
2199 - INT 21 u - European MS-DOS 4.0 - "PBLOCK" - BLOCK A PROCESS
219A - INT 21 u - European MS-DOS 4.0 - "PRUN" - UNBLOCK A PROCESS
219AD5 - INT 21 - VIRUS - "Massacre/Beavis" - INSTALLATION CHECK
21A0 - INT 21 - Attachmate Extra! - GET 3270 DISPLAY STATE
21A1 - INT 21 - Attachmate Extra! - SET 3270 DISPLAY STATE
21A1D5 - INT 21 - VIRUS - "789"/"Filehider" - INSTALLATION CHECK
21A2 - INT 21 - Attachmate Extra! - SET HOST WINDOW STATE
21A3 - INT 21 - Attachmate Extra! - SEND KEYSTROKES TO HOST WINDOW
21A4 - INT 21 - Attachmate Extra! - GET HOST WINDOW BUFFER ADDRESS
21A5 - INT 21 - Attachmate Extra! - GET HOST WINDOW CURSOR POSITION
21A55A - INT 21 - VIRUS - "Eddie-2" - INSTALLATION CHECK
21AA00 - INT 21 - VIRUS - "Blinker" - INSTALLATION CHECK
21AA03 - INT 21 - VIRUS - "Backtime" - INSTALLATION CHECK
21AB - INT 21 - VIRUS - "600" or "Voronezh"-family - INSTALLATION CHECK
21ABCD - INT 21 - VIRUS - Major BBS - INSTALLATION CHECK
21ABCD - INT 21 - VIRUS - "SuperVirus 2" - INSTALLATION CHECK
21AF - INT 21 - Attachmate Extra! - GET TRANSLATE TABLE ADDRESS
21B3 - INT 21 - VIRUS - "Requires" - INSTALLATION CHECK
21B300 - INT 21 U - Novell NetWare - CHECK LIP/PACKET SIGNING/IPX CHECKSUM SUPPORT???
21B301 - INT 21 U - Novell NetWare - CHECK SIGNATURE LEVEL???
21B302 - INT 21 U - Novell NetWare - START PACKET SIGNING
21B304 - INT 21 U - Novell NetWare - SET SIGNATURE LEVEL
21B306 - INT 21 - Novell NetWare - RENEGOTIATE SECURITY LEVEL
21B4 - INT 21 U - Novell NetWare - "AttachHandle"
21B500 - INT 21 U - Novell NetWare - VNETWARE.386 API - GET INSTANCE DATA
21B501 - INT 21 U - Novell NetWare - VNETWARE.386 API - END VIRTUAL MACHINE
21B502 - INT 21 U - Novell NetWare - VNETWARE.386 API - START VIRTUAL MACHINE
21B5 - INT 21 - Novell NetWare shell 3.01 - TASK MODE CONTROL
21B505 - INT 21 U - Novell NetWare - VNETWARE.386 API - SET VIRTUAL MACHINE ID
21B506 - INT 21 U - Novell NetWare - VNETWARE.386 API - GET VIRTUAL MACH SUPPORT LEVEL
21B507 - INT 21 - Novell NetWare - NetWare Shell - GET NUMBER OF PACKET BURST BUFFERS
21B6 - INT 21 - Novell NetWare - FILE SERVICES - EXTENDED FILE ATTRIBUTES
21B7 - INT 21 U - Novell NetWare - "HoldFileModeSet" (obsolete)
21B8 - INT 21 - Attachmate Extra! - DISABLE HOST BUFFER UPDATES
21B800 - INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT CAPTURE FLAGS
21B801 - INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT CAPTURE FLAGS
21B802 - INT 21 - Novell NetWare - PRINT SERVICES - GET SPECIFIC CAPTURE FLAGS
21B803 - INT 21 - Novell NetWare - PRINT SERVICES - SET SPECIFIC CAPTURE FLAGS
21B804 - INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT LOCAL PRINTER
21B805 - INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT LOCAL PRINTER
21B806 - INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT QUEUE
21B807 - INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT JOB
21B808 - INT 21 - Novell NetWare - PRINT SERVICES - GET BANNER USER NAME
21B809 - INT 21 - Novell NetWare - PRINT SERVICES - SET BANNER USER NAME
21B9 - INT 21 U - Novell NetWare - "SpecialAttachableFunction"
21B974 - INT 21 - VIRUS - "Tracker" - INSTALLATION CHECK
21BA - INT 21 U - Novell NetWare - "ReturnCommandComPointers"
21BB - INT 21 - Novell NetWare - WORKSTATION - SET END OF JOB STATUS
21BBBB - INT 21 - VIRUS - "Hey You" - INSTALLATION CHECK
21BC - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG PHYSICAL RECORD
21BD - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECORD
21BE - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD
21BE - INT 21 - VIRUS - "Datalock" - INSTALLATION CHECK
21BE00 - INT 21 - VIRUS - "USSR-1049" - INSTALLATION CHECK
21BF - INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK RECORD (FCB)
21C0 - INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
21C0 - INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
21C000 - INT 21 - VIRUS - "QUICKY" - INSTALLATION CHECK
21C001 - INT 21 - VIRUS - "QUICKY" - TURN INFECTION OFF
21C002 - INT 21 - VIRUS - "QUICKY" - TURN INFECTION ON
21C1 - INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
21C1 - INT 21 - VIRUS - "Solano" - ???
21C2 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
21C2 - INT 21 - VIRUS - "Scott's Valley" - ???
21C3 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYS RECORD SET
21C301DXF1F1 - INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
21C4 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
21C500 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
21C500 - INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
21C501 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
21C502 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
21C503 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
21C504 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
21C6 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
21C6 - INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
21C603 - INT 21 - VIRUS - "Yankee Doodle" or "MLTI" - INSTALLATION CHECK
21C700 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
21C700 - INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
21C701 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
21C702 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
21C703 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
21C704 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
21C705 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
21C706 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
21C707 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
21C708 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
21C8 - INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
21C9 - INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
21CA - INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
21CA15 - INT 21 - VIRUS - "Piter" - ???
21CB - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
21CB - INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
21CB02 - INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
21CC - INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
21CC - INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
21CD - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
21CD - INT 21 - VIRUS - "Westwood" - ???
21CE - INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
21CF - INT 21 - LANstep - ???
21CF - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
21D0 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
21D0 - INT 21 - VIRUS - "MALAGA" - INSTALLATION CHECK
21D0 - INT 21 - VIRUS - "ANTIARJ" -INSTALLATION CHECK
21D000 - INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
21D000 - INT 21 - VIRUS - "Warlock" - INSTALLATION CHECK
21D1 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
21D2 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
21D2 - INT 21 - VIRUS???
21D3 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
21D4 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
21D5 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
21D5 - INT 21 - VIRUS - "Carfield" - ???
21D5AA - INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
21D5AABPDEAA - INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
21D6 - INT 21 - Novell NetWare - WORKSTATION - END OF JOB
21D7 - INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
21D8 - INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
21D9 - INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
21DA - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
21DADA - INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
21DAFE - INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
21DB - INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
21DC - INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
21DC - INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
21DC28 - INT 21 - VIRUS - "Monika" - INSTALLATION CHECK
21DCBA - INT 21 - VIRUS - "Red Spider" - INSTALLATION CHECK
21DD - INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
21DD - INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
21DDEF - INT 21 - VIRUS- "GOLGI" - INSTALLATION CHECK
21DE - INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
21DE - INT 21 - VIRUS - "April 1st EXE" - ???
21DE - INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
21DE--DL04 - INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
21DE - INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
21DEAD - INT 21 - VIRUS - "90210" - INSTALLATION CHECK
21DEAD - INT 21 - VIRUS - "Shifting Objective" - RELOCATE CODE ???
21DEDE - INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
21DEFE - INT 21 - VIRUS - "Maze" - INSTALLATION CHECK
21DF--DL00 - INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
21DF--DL01 - INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
21DF--DL02 - INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
21DF--DL03 - INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
21DF--DL04 - INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
21DF--DL05 - INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
21DF--DL06 - INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
21DF--DL07 - INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
21DF00DX534C - INT 21 U - Software Carousel - INSTALLATION CHECK
21DF01 - INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
21DF02 - INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
21DF03 - INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
21DF04 - INT 21 - Software Carousel - GET PARTITION NAME
21DF05 - INT 21 - Software Carousel - CHANGE PARTITION SIZE
21DF06 - INT 21 - Software Carousel - CHANGE PARTITION NAME
21DF07 - INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
21DF08 - INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
21DF09 - INT 21 - Software Carousel - BOOT THE SYSTEM
21DF0A - INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
21DF0B - INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
21DF0C - INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
21E0 - INT 21 - Digital Research DOS Plus - CALL BDOS
21E0 - INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
21E0 - INT 21 - DoubleDOS - MENU CONTROL
21E0 - INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
21E0 - INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
21E0--SF06 - INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
21E0--SF09 - INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
21E00F - INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
21E1 - INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
21E1 - INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
21E1 - INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
21E1--SF00 - INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
21E1--SF01 - INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE (OLD)
21E1--SF02 - INT 21 - Novell NetWare - MESSAGE SERVICES - DISABLE BROADCAST MESSAGES
21E1--SF03 - INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE BROADCAST MESSAGES
21E1--SF04 - INT 21 O - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
21E1--SF05 - INT 21 O - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
21E1--SF06 - INT 21 O - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
21E1--SF07 - INT 21 O - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
21E1--SF08 - INT 21 O - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
21E1--SF09 - INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
21E2 - INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
21E2 - INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
21E2--SF00 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
21E2--SF01 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
21E2--SF02 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
21E2--SF03 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
21E2--SF04 - INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
21E2--SF05 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
21E2--SF06 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
21E2--SF0A - INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
21E2--SF0B - INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
21E2--SF0C - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
21E2--SF0D - INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
21E2--SF0E - INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
21E2--SF0F - INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
21E2--SF10 - INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES (OLD)
21E2--SF11 - INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE (OLD)
21E2--SF12 - INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
21E2--SF13 - INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
21E2--SF14 - INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
21E2--SF15 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
21E2--SF16 - INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
21E2--SF17 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
21E2--SF18 - INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
21E2--SF19 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
21E2--SF1A - INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
Section -
21E3 - INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
21E3 - INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
21E3 - INT 21 - Novell NetWare - CONNECTION CONTROL
21E3--SF01 - INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
21E3--SF02 - INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
21E3--SF03 - INT 21 - Novell NetWare - CONNECTION SERVICES - MAP OBJECT TO NUMBER (OLD)
21E3--SF0A - INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
21E3--SF0C - INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
21E3--SF0D - INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
21E3--SF0E - INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
21E3--SF0F - INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
21E3--SF10 - INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
21E3--SF11 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
21E3--SF12 - INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
21E3--SF13 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS (OLD)
21E3--SF14 - INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
21E3--SF15 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION LIST(OLD)
21E3--SF16 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
21E3--SF32 - INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
21E3--SF33 - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
21E3--SF34 - INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
21E3--SF35 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
21E3--SF36 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
21E3--SF37 - INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
21E3--SF38 - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
21E3--SF39 - INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
21E3--SF3A - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
21E3--SF3B - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
21E3--SF3C - INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
21E3--SF3D - INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
21E3--SF3E - INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
21E3--SF3F - INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
21E3--SF40 - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
21E3--SF41 - INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
21E3--SF42 - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
21E3--SF43 - INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
21E3--SF44 - INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
21E3--SF45 - INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
21E3--SF46 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
21E3--SF47 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
21E3--SF64 - INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
21E3--SF65 - INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
21E3--SF66 - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS (OLD)
21E3--SF67 - INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS (OLD)
21E3--SF68 - INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
21E3--SF69 - INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB (OLD)
21E3--SF6A - INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE (OLD)
21E3--SF6B - INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST (OLD)
21E3--SF6C - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY (OLD)
21E3--SF6D - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY (OLD)
21E3--SF6E - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
21E3--SF6F - INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
21E3--SF70 - INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
21E3--SF71 - INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
21E3--SF72 - INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
21E3--SF73 - INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
21E3--SF74 - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS (OLD)
21E3--SF75 - INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
21E3--SF76 - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS OLD
21E3--SF77 - INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
21E3--SF78 - INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE (OLD)
21E3--SF83 - INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB
21E3--SF84 - INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB
21E3--SF96 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
21E3--SF97 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
21E3--SF98 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
21E3--SF99 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
21E3--SFC8 - INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
21E3--SFC9 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
21E3--SFCA - INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
21E3--SFCB - INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
21E3--SFCC - INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
21E3--SFCD - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
21E3--SFCE - INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
21E3--SFCF - INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
21E3--SFD0 - INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
21E3--SFD1 - INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
21E3--SFD2 - INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
21E3--SFD3 - INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
21E3--SFD4 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
21E3--SFD5 - INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
21E3--SFD6 - INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
21E3--SFD7 - INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
21E3--SFD8 - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
21E3--SFD9 - INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
21E3--SFDA - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
21E3--SFDB - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES (OLD)
21E3--SFDC - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
21E3--SFDD - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
21E3--SFDE - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
21E3--SFDF - INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
21E3--SFE0 - INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
21E3--SFE1 - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
21E3--SFE2 - INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
21E3--SFE3 - INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
21E3--SFE5 - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
21E3--SFE6 - INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
21E3--SFE7 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
21E3--SFE8 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
21E3--SFE9 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
21E4 - INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
21E4 - INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
21E400 - INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
21E400 - INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
21E402 - INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
21E403 - INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
21E5 - INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
21E5 - INT 21 - DoubleDOS - OTHER PROGRAM STATUS
21E500 - INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
21E501 - INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
21E6 - INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
21E6 - INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
21E7 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
21E7 - INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
21E7 - INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
21E8 - INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
21E8 - INT 21 - OS/286, OS/386 - SEGMENT CREATION
21E8 - INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
21E9 - INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
21E9 - INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
21E900 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
21E900 - INT 21 - VIRUS - "Dark End" - INSTALLATION CHECK
21E905 - INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
21E906 - INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
21E907 - INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
21E908BL00 - INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
21E909 - INT 21 - Novell NetWare - NetWare shell - CONVERT DOS FILE HANDLE TO NETWARE
21EA - INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
21EA - INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
21EA - INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
21EB - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
21EB - INT 21 - DoubleDOS - TURN ON TASK SWITCHING
21EB00 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
21EB02 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
21EB03 - INT 21 - OS/386 VMM - FREE MAPPED PAGES
21EB04 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
21EB05 - INT 21 - OS/386 VMM - MAP PAGES
21EB06 - INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
21EB07 - INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
21EC - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
21EC - INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
21EC - INT 21 - OS/286, OS/386 - BLOCK TRANSFER
21EC27 - INT 21 - VIRUS - "Halloween.1839" - INSTALLATION CHECK
21EC59 - INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
21ED - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
21ED - INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
21EE - INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
21EE - INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
21EE - INT 21 - VIRUS - "Jerusalem-G", "Pregnant", "Barrotes" - INSTALLATION CHECK
21EEE7 - INT 21 - VIRUS - "GingerBread" - INSTALLATION CHECK
21EF - INT 21 - VIRUS - "Mabuhay"/"June 12th" - INSTALLATION CHECK
21EF00 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
21EF01 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
21EF02 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
21EF03 - INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
21EF04 - INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
21F0 - INT 21 - DoubleDOS - MENU CONTROL
21F0 - INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
21F000 - INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
21F001 - INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
21F002 - INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
21F003 - INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
21F004 - INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
21F005 - INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
21F078 - INT 21 - VIRUS - "Burgler/H" - INSTALLATION CHECK
21F1 - INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
21F1 - INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
21F1 - INT 21 - VIRUS - "F1-337" - ???
21F1E9 - INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
Section -
21F2 - INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
21F2 - INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
21F203 - INT 21 - Novell NetWare - LOG FILE (OLD)
21F204 - INT 21 - Novell NetWare - LOCK FILE SET (OLD)
21F207 - INT 21 - Novell NetWare - CLEAR FILE
21F208 - INT 21 - Novell NetWare - CLEAR FILE SET
21F20A - INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET (OLD)
21F20B - INT 21 - Novell NetWare - CLEAR LOGICAL RECORD
21F20E - INT 21 - Novell NetWare - CLEAR LOGICAL RECORD SET
21F211SF06 - INT 21 - Novell NetWare - GET PRINTER STATUS
21F211SF0A - INT 21 - Novell NetWare - GET PRINTER QUEUE
21F212 - INT 21 - Novell NetWare - GET VOLUME INFO WITH NUMBER
21F214CX0000 - INT 21 - Novell NetWare - GET FILE SERVER DATE AND TIME
21F215SF01 - INT 21 - Novell NetWare - GET BROADCAST MESSAGE (OLD)
21F215SF02 - INT 21 - Novell NetWare - DISABLE BROADCASTS
21F215SF03 - INT 21 - Novell NetWare - ENABLE BROADCASTS
21F215SF08 - INT 21 - Novell NetWare - CHECK PIPE STATUS
21F215SF09 - INT 21 - Novell NetWare - BROADCAST TO CONSOLE
21F215SF0B - INT 21 - Novell NetWare - GET BROADCAST MESSAGE
21F216SF00 - INT 21 - Novell NetWare - SET DIRECTORY HANDLE
21F216SF01 - INT 21 - Novell NetWare - GET DIRECTORY PATH
21F216SF02 - INT 21 - Novell NetWare - SCAN DIRECTORY INFORMATION
21F216SF03 - INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS (OLD)
21F216SF04 - INT 21 - Novell NetWare - MODIFY MAXIMUM RIGHTS MASK
21F216SF05 - INT 21 - Novell NetWare - GET VOLUME NUMBER
21F216SF06 - INT 21 - Novell NetWare - GET VOLUME NAME
21F216SF0A - INT 21 - Novell NetWare - CREATE DIRECTORY
21F216SF0B - INT 21 - Novell NetWare - DELETE DIRECTORY
21F216SF0C - INT 21 - Novell NetWare - SCAN DIRECTORY FOR TRUSTEES
21F216SF0D - INT 21 - Novell NetWare - ADD TRUSTEE TO DIRECTORY
21F216SF0E - INT 21 - Novell NetWare - DELETE TRUSTEE FROM DIRECTORY
21F216SF0F - INT 21 - Novell NetWare - RENAME DIRECTORY
21F216SF10 - INT 21 - Novell NetWare - PURGE ERASED FILES (OLD)
21F216SF11 - INT 21 - Novell NetWare - RECOVER ERASED FILE (OLD)
21F216SF12 - INT 21 - Novell NetWare - ALLOCATE PERMANENT DIRECTORY HANDLE
21F216SF13 - INT 21 - Novell NetWare - ALLOCATE TEMPORARY DIRECTORY HANDLE
21F216SF14 - INT 21 - Novell NetWare - DEALLOCATE DIRECTORY HANDLE
21F216SF15 - INT 21 - Novell NetWare - GET VOLUME INFO WITH HANDLE
21F216SF16 - INT 21 - Novell NetWare v2+ - ALLOCATE SPECIAL TEMPORARY DIRECTORY HANDLE
21F216SF17 - INT 21 - Novell NetWare - SAVE DIRECTORY HANDLE
21F216SF18 - INT 21 - Novell NetWare - RESTORE DIRECTORY HANDLE
21F216SF19 - INT 21 - Novell NetWare - SET DIRECTORY INFORMATION
21F216SF1A - INT 21 - Novell NetWare - GET PATH NAME OF VOLUME-DIRECTORY NUMBER PAIR
21F216SF1B - INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES (OLD)
21F216SF1C - INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE (OLD)
21F216SF1D - INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE (OLD)
21F216SF1E - INT 21 - Novell NetWare - SCAN A DIRECTORY
21F216SF1F - INT 21 - Novell NetWare - GET DIRECTORY ENTRY
21F216SF20 - INT 21 - Novell NetWare - SCAN VOLUME'S USER DISK RESTRICTIONS
21F216SF21 - INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
21F216SF22 - INT 21 - Novell NetWare - REMOVE USER DISK SPACE RESTRICTIONS
21F216SF23 - INT 21 - Novell NetWare - SCAN DIRECTORY SPACE RESTRICTIONS
21F216SF24 - INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
21F216SF25 - INT 21 - Novell NetWare - SET DIRECTORY/FILE INFORMATION
21F216SF26 - INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
21F216SF27 - INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
21F216SF28 - INT 21 - Novell NetWare - SCAN DIRECTORY DISK SPACE
21F216SF29 - INT 21 - Novell NetWare v3+ - GET OBJECT DISK USAGE AND RESTRICTIONS
21F216SF2A - INT 21 - Novell NetWare - GET EFFECTIVE RIGHTS
21F216SF2B - INT 21 - Novell NetWare - REMOVE EXTENDED TRUSTEE FROM DIR OR FILE
21F216SF2C - INT 21 - Novell NetWare - GET VOLUME USAGE
21F216SF2D - INT 21 - Novell NetWare - GET DIRECTORY INFORMATION
21F216SF2E - INT 21 - Novell NetWare - RENAME OR MOVE
21F216SF2F - INT 21 - Novell NetWare - GET NAME SPACE INFORMATION
21F216SF30 - INT 21 - Novell NetWare - GET NAME SPACE DIRECTORY ENTRY
21F216SF31 - INT 21 - Novell NetWare - OPEN DATA STREAM
21F216SF32 - INT 21 - Novell NetWare v2.2+ - GET OBJECT EFFECTIVE RIGHTS
21F216SF33 - INT 21 - Novell NetWare v2.2+ - GET EXTENDED VOLUME INFORMATION
21F217SF01 - INT 21 - Novell NetWare - CHANGE USER PASSWORD (OLD)
21F217SF02 - INT 21 - Novell NetWare - GET USER CONNECTION LIST (OLD)
21F217SF0C - INT 21 - Novell NetWare - VERIFY SERIALIZATION
21F217SF0E - INT 21 - Novell NetWare - GET DISK UTILIZATION
21F217SF0F - INT 21 - Novell NetWare - SCAN FILE INFORMATION
21F217SF10 - INT 21 - Novell NetWare - SET FILE INFORMATION
21F217SF11 - INT 21 - Novell NetWare - GET FILE SERVER INFORMATION
21F217SF12 - INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
21F217SF13 - INT 21 - Novell NetWare - GET INTERNET ADDRESS (OLD)
21F217SF14 - INT 21 - Novell NetWare - LOGIN OBJECT
21F217SF15 - INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST (OLD)
21F217SF16 - INT 21 - Novell NetWare - GET CONNECTION INFORMATION (OLD)
21F217SF17 - INT 21 - Novell NetWare - GET ENCRYPTION KEY
21F217SF18 - INT 21 - Novell NetWare - LOGIN OBJECT ENCRYPTED
21F217SF1A - INT 21 - Novell NetWare - GET INTERNET ADDRESS
21F217SF1B - INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST
21F217SF1C - INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
21F217SF1D - INT 21 - Novell NetWare v4 - CHANGE CONNECTION STATE
21F217SF1E - INT 21 - Novell NetWare v4 - SET WATCHDOG DELAY INTERVAL
21F217SF1F - INT 21 - Novell NetWare v4 - GET CONNECTION LIST
21F217SF32 - INT 21 - Novell NetWare - CREATE BINDERY OBJECT
21F217SF33 - INT 21 - Novell NetWare - DELETE BINDERY OBJECT
21F217SF34 - INT 21 - Novell NetWare - RENAME BINDERY OBJECT
21F217SF35 - INT 21 - Novell NetWare - GET BINDERY OBJECT ID
21F217SF36 - INT 21 - Novell NetWare - GET BINDERY OBJECT NAME
21F217SF37 - INT 21 - Novell NetWare - SCAN BINDERY OBJECT
21F217SF38 - INT 21 - Novell NetWare - CHANGE BINDERY OBJECT SECURITY
21F217SF39 - INT 21 - Novell NetWare - CREATE PROPERTY
21F217SF3A - INT 21 - Novell NetWare - DELETE PROPERTY
21F217SF3B - INT 21 - Novell NetWare - CHANGE PROPERTY SECURITY
21F217SF3C - INT 21 - Novell NetWare - SCAN PROPERTY
21F217SF3D - INT 21 - Novell NetWare - READ PROPERTY VALUE
21F217SF3E - INT 21 - Novell NetWare - WRITE PROPERTY VALUE
21F217SF3F - INT 21 - Novell NetWare - VERIFY BINDERY OBJECT PASSWORD
21F217SF40 - INT 21 - Novell NetWare - CHANGE BINDERY OBJECT PASSWORD
21F217SF41 - INT 21 - Novell NetWare v2.2+ - ADD OBJECT TO SET
21F217SF42 - INT 21 - Novell NetWare - DELETE BINDERY OBJECT FROM SET
21F217SF43 - INT 21 - Novell NetWare - IS BINDERY OBJECT IN SET?
21F217SF44 - INT 21 - Novell NetWare - CLOSE BINDERY
21F217SF45 - INT 21 - Novell NetWare - OPEN BINDERY
21F217SF46 - INT 21 - Novell NetWare - GET BINDERY ACCESS LEVEL
21F217SF47 - INT 21 - Novell NetWare - SCAN BINDERY OBJECT TRUSTEE PATHS
21F217SF48 - INT 21 - Novell NetWare - GET BINDERY OBJECT ACCESS LEVEL
21F217SF49 - INT 21 - Novell NetWare - IS STATION A MANAGER?
21F217SF4A - INT 21 - Novell NetWare - KEYED VERIFY BINDERY OBJECT PASSWORD
21F217SF4B - INT 21 - Novell NetWare - KEYED CHANGE BINDERY OBJECT PASSWORD
21F217SF4C - INT 21 - Novell NetWare - LIST RELATIONS OF AN OBJECT
21F217SF64 - INT 21 - Novell NetWare v2.1+ - CREATE QUEUE
21F217SF65 - INT 21 - Novell NetWare v2.1+ - DESTROY QUEUE
21F217SF66 - INT 21 - Novell NetWare v2.1+ - READ QUEUE CURRENT STATUS (OLD)
21F217SF67 - INT 21 - Novell NetWare v2.1+ - SET QUEUE CURRENT STATUS (OLD)
21F217SF68 - INT 21 - Novell NetWare v2.1+ - CREATE QUEUE JOB AND FILE (OLD)
21F217SF69 - INT 21 - Novell NetWare v2.1+ - CLOSE FILE AND START QUEUE JOB (OLD)
21F217SF6A - INT 21 - Novell NetWare v2.1+ - REMOVE JOB FROM QUEUE (OLD)
21F217SF6B - INT 21 - Novell NetWare v2.1+ - GET QUEUE JOB LIST (OLD)
21F217SF6C - INT 21 - Novell NetWare v2.1+ - READ QUEUE JOB ENTRY (OLD)
21F217SF6D - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY (OLD)
21F217SF6E - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB POSITION
21F217SF6F - INT 21 - Novell NetWare v2.1+ - ATTACH QUEUE SERVER TO QUEUE
21F217SF70 - INT 21 - Novell NetWare v2.1+ - DETACH QUEUE SERVER FROM QUEUE
21F217SF71 - INT 21 - Novell NetWare v2.1+ - SERVICE QUEUE JOB AND OPEN FILE
21F217SF72 - INT 21 - Novell NetWare v2.1+ - FINISH SERVICING QUEUE JOB (OLD)
21F217SF73 - INT 21 - Novell NetWare v2.1+ - ABORT SERVICING QUEUE JOB (OLD)
21F217SF74 - INT 21 - Novell NetWare v2.1+ - CHANGE TO CLIENT RIGHTS (OLD)
21F217SF75 - INT 21 - Novell NetWare v2.1+ - RESTORE QUEUE SERVER RIGHTS
21F217SF76 - INT 21 - Novell NetWare - READ QUEUE SERVER CURRENT STATUS (OLD)
21F217SF77 - INT 21 - Novell NetWare - SET QUEUE SERVER CURRENT STATUS
21F217SF78 - INT 21 - Novell NetWare - GET QUEUE JOB FILE SIZE (OLD)
21F217SF79 - INT 21 - Novell NetWare - CREATE QUEUE JOB AND FILE
21F217SF7A - INT 21 - Novell NetWare - READ QUEUE JOB ENTRY
21F217SF7B - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY
21F217SF7D - INT 21 - Novell NetWare - READ QUEUE CURRENT STATUS
21F217SF7E - INT 21 - Novell NetWare - SET QUEUE CURRENT STATUS
21F217SF7F - INT 21 - Novell NetWare - CLOSE FILE AND START QUEUE JOB
21F217SF80 - INT 21 - Novell NetWare - REMOVE JOB FROM QUEUE
21F217SF81 - INT 21 - Novell NetWare - GET QUEUE JOB LIST
21F217SF82 - INT 21 - Novell NetWare v2.1+ - CHANGE JOB PRIORITY
21F217SF83 - INT 21 - Novell NetWare v3.1+ - FINISH SERVICING QUEUE JOB
21F217SF84 - INT 21 - Novell NetWare v3.1+ - ABORT SERVICING QUEUE JOB
21F217SF85 - INT 21 - Novell NetWare v3.1+ - CHANGE TO CLIENT RIGHTS
21F217SF86 - INT 21 - Novell NetWare v3.1+ - READ QUEUE SERVER CURRENT STATUS
21F217SF87 - INT 21 - Novell NetWare v3.1+ - GET QUEUE JOB FILE SIZE
21F217SF96 - INT 21 - Novell NetWare - GET ACCOUNT STATUS
21F217SF97 - INT 21 - Novell NetWare - SUBMIT ACCOUNT CHARGE
21F217SF98 - INT 21 - Novell NetWare - SUBMIT ACCOUNT HOLD
21F217SF99 - INT 21 - Novell NetWare - SUBMIT ACCOUNT NOTE
21F217SFC8 - INT 21 - Novell NetWare - CHECK CONSOLE PRIVILEGES
21F217SFC9 - INT 21 - Novell NetWare - GET FILE SERVER DESCRIPTION STRINGS
21F217SFCA - INT 21 - Novell NetWare - SET FILE SERVER DATE AND TIME
21F217SFCB - INT 21 - Novell NetWare - DISABLE FILE SERVER LOGIN
21F217SFCC - INT 21 - Novell NetWare - ENABLE FILE SERVER LOGIN
21F217SFCD - INT 21 - Novell NetWare - GET FILE SERVER LOGIN STATUS
21F217SFCE - INT 21 - Novell NetWare - PURGE ALL ERASED FILES
21F217SFCF - INT 21 - Novell NetWare - DISABLE TRANSACTION TRACKING
21F217SFD0 - INT 21 - Novell NetWare - ENABLE TRANSACTION TRACKING
21F217SFD1 - INT 21 - Novell NetWare - SEND CONSOLE BROADCAST
21F217SFD2 - INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
21F217SFD3 - INT 21 - Novell NetWare - DOWN FILE SERVER
21F217SFD4 - INT 21 - Novell NetWare - GET FILE SYSTEM STATISTICS
21F217SFD5 - INT 21 - Novell NetWare - GET TRANSACTION TRACKING STATISTICS
21F217SFD6 - INT 21 - Novell NetWare - GET DISK CACHE STATISTICS
21F217SFD7 - INT 21 - Novell NetWare - GET DRIVE MAPPING TABLE
21F217SFD8 - INT 21 - Novell NetWare - GET PHYSICAL DISK STATISTICS
21F217SFD9 - INT 21 - Novell NetWare - GET DISK CHANNEL STATISTICS
21F217SFDA - INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S TASK INFORMATION
21F217SFDB - INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S OPEN FILES (OLD)
21F217SFDC - INT 21 - Novell NetWare v2.2+ - GET CONNECTIONS USING A FILE (OLD)
21F217SFDD - INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY CONNECTN AND FILE (OLD)
21F217SFDE - INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY FILE (OLD)
21F217SFDF - INT 21 - Novell NetWare - GET LOGICAL RECORDS BY CONNECTION (OLD)
21F217SFE0 - INT 21 - Novell NetWare - GET LOGICAL RECORD INFORMATION (OLD)
21F217SFE1 - INT 21 - Novell NetWare - GET CONNECTION'S SEMAPHORES (OLD)
21F217SFE2 - INT 21 - Novell NetWare - GET SEMAPHORE INFORMATION (OLD)
21F217SFE3 - INT 21 - Novell NetWare - GET LAN DRIVER'S CONFIGURATION INFORMATION
21F217SFE5 - INT 21 - Novell NetWare - GET CONNECTION'S USAGE STATISTICS
21F217SFE6 - INT 21 - Novell NetWare - GET OBJECT'S REMAINING DISK SPACE
21F217SFE7 - INT 21 - Novell NetWare - GET FILE SERVER LAN I/O STATISTICS
21F217SFE8 - INT 21 - Novell NetWare - GET FILE SERVER MISC INFORMATION
21F217SFE9 - INT 21 - Novell NetWare - GET VOLUME INFORMATION
21F217SFEA - INT 21 - Novell NetWare v3.11+ - GET CONNECTION'S TASK INFORMATION
21F217SFEB - INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
21F217SFEC - INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
21F217SFED - INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY CONNECTION AND FILE
21F217SFEE - INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
21F217SFEF - INT 21 - Novell NetWare v3+ - GET LOGICAL RECORDS BY CONNECTION
21F217SFF0 - INT 21 - Novell NetWare v3+ - GET LOGICAL RECORD INFORMATION
21F217SFF1 - INT 21 - Novell NetWare v3+ - GET CONNECTION'S SEMAPHORES
21F217SFF2 - INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
21F217SFF3 - INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
21F217SFF4 - INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
21F217SFF5 - INT 21 - Novell NetWare - GET FILE SERVER EXTENDED MISC INFORMATION
21F217SFF6 - INT 21 - Novell NetWare - GET VOLUME EXTENDED INFORMATION
21F217SFFE - INT 21 - Novell NetWare v4 - CLEAR CONNECTION NUMBER GREATER THAN 250
21F21B - INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET (OLD)
21F21E - INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD
21F21F - INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD SET
21F220SF00 - INT 21 - Novell NetWare - OPEN SEMAPHORE (OLD)
21F220SF01 - INT 21 - Novell NetWare - EXAMINE SEMAPHORE (OLD)
21F220SF02 - INT 21 - Novell NetWare - WAIT ON SEMAPHORE (OLD)
21F220SF03 - INT 21 - Novell NetWare - SIGNAL SEMAPHORE (OLD)
21F220SF04 - INT 21 - Novell NetWare - CLOSE SEMAPHORE (OLD)
21F222SF00 - INT 21 - Novell NetWare - TTS IS AVAILABLE
21F222SF01 - INT 21 - Novell NetWare - TTS BEGIN TRANSACTION
21F222SF02 - INT 21 - Novell NetWare - TTS END TRANSACTION
21F222SF03 - INT 21 - Novell NetWare - TTS ABORT TRANSACTION
21F222SF04 - INT 21 - Novell NetWare - TTS TRANSACTION STATUS
21F222SF05 - INT 21 - Novell NetWare - TTS GET APPLICATION THRESHOLDS
21F222SF06 - INT 21 - Novell NetWare - TTS SET APPLICATION THRESHOLDS
21F222SF07 - INT 21 - Novell NetWare - TTS GET WORKSTATION THRESHOLDS
21F222SF08 - INT 21 - Novell NetWare - TTS SET WORKSTATION THRESHOLDS
21F222SF09 - INT 21 - Novell NetWare - TTS GET CONTROL FLAGS
21F222SF0A - INT 21 - Novell NetWare - TTS SET CONTROL FLAGS
21F223SF01 - INT 21 - Novell NetWare v2+ - AFP CREATE DIRECTORY
21F223SF02 - INT 21 - Novell NetWare v2+ - AFP CREATE FILE
21F223SF03 - INT 21 - Novell NetWare v2+ - AFP DELETE FILE
21F223SF04 - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM FILENAME
21F223SF05 - INT 21 - Novell NetWare v2+ - AFP GET FILE INFORMATION
21F223SF06 - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM NETWARE HANDLE
21F223SF07 - INT 21 - Novell NetWare v2+ - AFP RENAME
21F223SF08 - INT 21 - Novell NetWare v2+ - AFP OPEN FILE FORK
21F223SF09 - INT 21 - Novell NetWare v2+ - AFP SET FILE INFORMATION
21F223SF0A - INT 21 - Novell NetWare v2+ - AFP SCAN FILE INFORMATION
21F223SF0B - INT 21 - Novell NetWare v2+ - AFP ALLOCATE TEMPORARY DIRECTORY HANDLE
21F223SF0C - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM PATHNAME
21F223SF0D - INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE DIRECTORY
21F223SF0E - INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE FILE
21F223SF10 - INT 21 - Novell NetWare v2+ - AFP 2.0 SET FILE INFORMATION
21F223SF11 - INT 21 - Novell NetWare v2+ - AFP 2.0 SCAN FILE INFORMATION
21F223SF12 - INT 21 - Novell NetWare v2+ - AFP GET DOS FILENAME FROM ENTRY ID
21F223SF13 - INT 21 - Novell NetWare v2+ - AFP GET MACINTOSH INFORMATION ON DELETED FILE
21F23D - INT 21 - Novell NetWare - COMMIT FILE
21F23E - INT 21 - Novell NetWare - FILE SEARCH INITIALIZE (FindFirst)
21F23F - INT 21 - Novell NetWare - FILE SEARCH CONTINUE (FindNext)
21F242 - INT 21 - Novell NetWare - CLOSE FILE
21F243 - INT 21 - Novell NetWare - CREATE FILE
21F244 - INT 21 - Novell NetWare - FILE SERVICES - ERASE FILE
21F247 - INT 21 - Novell NetWare - GET CURRENT FILE SIZE
21F24A - INT 21 - Novell NetWare - COPY FROM ONE FILE TO ANOTHER
21F24D - INT 21 - Novell NetWare - CREATE NEW FILE
21F24E - INT 21 - Novell NetWare v2+ - ALLOW TASK ACCESS TO FILE
21F256SF01 - INT 21 - Novell NetWare - CLOSE EXTENDED ATTRIBUTE HANDLE
21F256SF02 - INT 21 - Novell NetWare - WRITE EXTENDED ATTRIBUTE
21F256SF03 - INT 21 - Novell NetWare - READ EXTENDED ATTRIBUTE
21F256SF04 - INT 21 - Novell NetWare - ENUMERATE EXTENDED ATTRIBUTES
21F256SF05 - INT 21 - Novell NetWare - DUPLICATE EXTENDED ATTRIBUTES
21F257SF01 - INT 21 - Novell NetWare - OPEN/CREATE FILE OR SUBDIRECTORY
21F257SF02 - INT 21 - Novell NetWare - INITIALIZE SEARCH
21F257SF03 - INT 21 - Novell NetWare - SCAN NAMESPACE ENTRY INFO
21F257SF04 - INT 21 - Novell NetWare - RENAME OR MOVE FILE OR SUBDIRECTORY
21F257SF05 - INT 21 - Novell NetWare - SCAN FILE OR SUBDIRECTORY FOR TRUSTEES
21F257SF06 - INT 21 - Novell NetWare v3+ - GET INFORMATION ABOUT FILE OR DIRECTORY
21F257SF07 - INT 21 - Novell NetWare - MODIFY FILE OR SUBDIRECTORY DOS INFORMATION
21F257SF08 - INT 21 - Novell NetWare - DELETE FILE/DIRECTORY
21F257SF09 - INT 21 - Novell NetWare - SET SHORT DIRECTORY HANDLE
21F257SF0A - INT 21 - Novell NetWare v3+ - ADD TRUSTEE SET TO FILE OR SUBDIRECTORY
21F257SF0B - INT 21 - Novell NetWare - DELETE TRUSTEE
21F257SF0C - INT 21 - Novell NetWare v2+ - ALLOCATE SHORT DIRECTORY HANDLE
21F257SF10 - INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES
21F257SF11 - INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE
21F257SF12 - INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE
21F257SF13 - INT 21 - Novell NetWare - GET NAMESPACE INFORMATION
21F257SF15 - INT 21 - Novell NetWare - GET PATH STRING FROM SHORT DIRECTORY HANDLE
21F257SF16 - INT 21 - Novell NetWare - GENERATE DIRECTORY BASE AND VOLUME NUMBER
21F257SF17 - INT 21 - Novell NetWare - GET NAME SPACE INFORMATION FORMAT
21F257SF18 - INT 21 - Novell NetWare - GET NAME SPACES LOADED
21F257SF19 - INT 21 - Novell NetWare - WRITE NAME SPACE INFO
21F257SF1A - INT 21 - Novell NetWare - READ EXTENDED NAME SPACE INFO
21F257SF1B - INT 21 - Novell NetWare - WRITE EXTENDED NAME SPACE INFO
21F257SF1C - INT 21 - Novell NetWare - GET NS FULL PATH STRING
21F257SF1D - INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS
21F258SF01 - INT 21 - Novell NetWare v4+ - GET VOLUME AUDITING STATISTICS
21F258SF02 - INT 21 - Novell NetWare - ADD AUDIT PROPERTY
21F258SF03 - INT 21 - Novell NetWare - LOGIN AS VOLUME AUDITOR
21F258SF04 - INT 21 - Novell NetWare - CHANGE AUDITOR PASSWORD
21F258SF05 - INT 21 - Novell NetWare - CHECK AUDIT ACCESS
21F258SF06 - INT 21 - Novell NetWare - REMOVE AUDIT PROPERTY
21F258SF07 - INT 21 - Novell NetWare - DISABLE AUDITING ON VOLUME
21F258SF08 - INT 21 - Novell NetWare - ENABLE AUDITING ON VOLUME
21F258SF09 - INT 21 - Novell NetWare - IS USER AUDITED?
21F258SF0A - INT 21 - Novell NetWare - READ AUDITING BITMAP
21F258SF0B - INT 21 - Novell NetWare - READ AUDIT CONFIG HEADER
21F258SF0D - INT 21 - Novell NetWare - LOGOUT AS VOLUME AUDITOR
21F258SF0E - INT 21 - Novell NetWare - RESET AUDITING FILE
21F258SF0F - INT 21 - Novell NetWare - RESET AUDIT HISTORY FILE
21F258SF10 - INT 21 - Novell NetWare - WRITE AUDITING BITMAP
21F258SF11 - INT 21 - Novell NetWare - WRITE AUDIT CONFIG HEADER
21F258SF13 - INT 21 - Novell NetWare - GET AUDITING FLAGS
21F258SF14 - INT 21 - Novell NetWare - CLOSE OLD AUDITING FILE
21F258SF15 - INT 21 - Novell NetWare - DELETE OLD AUDITING FILE
21F258SF16 - INT 21 - Novell NetWare - CHECK AUDIT LEVEL TWO ACCESS
21F25ASF01 - INT 21 - Novell NetWare - GET DATA MIGRATION INFO
21F25ASF80 - INT 21 - Novell NetWare - MOVE FILE DATA TO DATA MIGRATION
21F25ASF81 - INT 21 - Novell NetWare - DATA MIGRATION FILE INFORMATION
21F25ASF82 - INT 21 - Novell NetWare - VOLUME DATA MIGRATION STATUS
21F25ASF83 - INT 21 - Novell NetWare - GET MIGRATION OR STATUS INFORMATION
21F25ASF84 - INT 21 - Novell NetWare - DATA MIGRATION SUPPORT MODULE INFORMATION
21F25ASF85 - INT 21 - Novell NetWare - MOVE FILE DATA FROM DATA MIGRATION
21F25ASF86 - INT 21 - Novell NetWare - GET OR SET DEFAULT SUPPORT MODULE
21F268SF01 - INT 21 - Novell NetWare v4+ - GET TREE NAME
21F268SF04 - INT 21 - Novell NetWare v4+ - GET BINDERY CONTEXT
21F268SF05 - INT 21 - Novell NetWare v4+ - MONITOR NDS CONNECTION
21F268SF16 - INT 21 - Novell NetWare v4+ - NDS LIST PARTITIONS
21F268SF35 - INT 21 - Novell NetWare v4+ - NDS GET SERVER NAME AND ADDRESS
21F268SF3D - INT 21 - Novell NetWare v4+ - NDS LOGOUT
21F268SFC8 - INT 21 - Novell NetWare v4+ - GET DS AUDITING STATISTICS
21F269 - INT 21 - Novell NetWare - LOG FILE
21F26A - INT 21 - Novell NetWare - LOCK FILE SET
21F26C - INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET
21F26E - INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET
21F26FSF00 - INT 21 - Novell NetWare - OPEN SEMAPHORE
21F26FSF01 - INT 21 - Novell NetWare - CLOSE SEMAPHORE
21F26FSF02 - INT 21 - Novell NetWare - WAIT ON SEMAPHORE
21F26FSF03 - INT 21 - Novell NetWare - SIGNAL SEMAPHORE
21F26FSF04 - INT 21 - Novell NetWare - EXAMINE SEMAPHORE
21F272 - INT 21 - Novell NetWare v4+ - GET FILE SERVER UTC TIME
21F27BSF01 - INT 21 - Novell NetWare v4+ - GET CACHE INFORMATION
21F27BSF02 - INT 21 - Novell NetWare v4+ - GET SERVER INFORMATION
21F27BSF04 - INT 21 - Novell NetWare v4+ - GET USER INFORMATION
21F27BSF06 - INT 21 - Novell NetWare v4+ - GET IPX/SPX Information
21F27BSF08 - INT 21 - Novell NetWare v4+ - GET CPU INFORMATION
21F27BSF09 - INT 21 - Novell NetWare v4+ - GET VOLUME SWITCH INFORMATION
21F27BSF0A - INT 21 - Novell NetWare v4+ - GET LOADED NLMs
21F27BSF0B - INT 21 - Novell NetWare v4+ - GET NLM INFORMATION
21F27BSF0D - INT 21 - Novell NetWare v4+ - GET OS VERSION INFORMATION
21F27BSF14 - INT 21 - Novell NetWare v4+ - GET ACTIVE LAN BOARD LIST
21F27BSF15 - INT 21 - Novell NetWare v4+ - GET LAN CONFIGURATION
21F27BSF16 - INT 21 - Novell NetWare v4+ - GET LAN COMMON COUNTERS
21F27BSF29 - INT 21 - Novell NetWare v4+ - GET PROTOCOL STACK BY BOARD
21F27BSF33 - INT 21 - Novell NetWare v4+ - GET ROUTER INFO
21F27BSF35 - INT 21 - Novell NetWare v4+ - GET KNOWN NETWORKS INFO
21F27BSF38 - INT 21 - Novell NetWare v4+ - GET KNOWN SERVERS INFO
21F27BSF3C - INT 21 - Novell NetWare v4+ - GET SERVER SET COMMANDS INFO
21F27BSF3D - INT 21 - Novell NetWare v4+ - GET SERVER SET CATEGORIES
21F2AA - INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
21F3 - INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
21F3 - INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
21F3 - INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
21F400 - INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
21F5 - INT 21 - DoubleDOS - OTHER PROGRAM STATUS
21F7 - INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
21F8 - INT 21 - DOS v2.11-2.13 - SET OEM INT 21 HANDLER
21F8 - INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
21F9 - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21F9 - INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
21F9 - INT 21 - VIRUS - "Satans-Bug" - INSTALLATION CHECK
21FA - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FA - INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
21FA - INT 21 - VIRUS - "Cinderella 2" - INSTALLATION CHECK
21FA--DX5945 - INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
21FAFF - INT 21 U - IBM PC-DOS - KEYBGK - SELECT KEYBOARD LAYOUT
21FB - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FB - INT 21 - DoubleDOS - TURN ON TASK SWITCHING
21FB - INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
21FB0A - INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
21FBA0 - INT 21 - VIRUS - "Groove" - INSTALLATION CHECK
21FBFB - INT 21 - VIRUS - "Dir.1367" - INSTALLATION CHECK
21FC - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FC - INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
21FC - INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
21FC03 - INT 21 - VIRUS - "Invisible" - INSTALLATION CHECK
21FD - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FD - INT 21 - VIRUS - "Border" - INSTALLATION CHECK
21FD12BX3457 - INT 21 - Gravis UltraSound - MegaEm/MEGA_EM - INSTALLATION CHECK
21FDAC - INT 21 - VIRUS - "Delwin" - INSTALLATION CHECK
21FE - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FE - INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
21FE - INT 21 - VIRUS - "483" - INSTALLATION CHECK
21FE01 - INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
21FE02 - INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
21FE03 - INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
21FEAD - INT 21 - VIRUS - "Shifting Objective" - INSTALLATION CHECK
21FEDC - INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
21FEDC - INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
21FEFE - INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
21FF - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FF - INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
21FF - INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
21FF - INT 21 - DOSED.COM - INSTALLATION CHECK
21FF - INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
21FF - INT 21 UP - Rational Systems DOS/4GW - API
21FF--DH00 - INT 21 UP - Rational Systems DOS/4GW - GET VERSION???
21FF--DH02 - INT 21 UP - Rational Systems DOS/4GW - SET ???
21FF--DH05 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH06 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH07 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH08 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH09 - INT 21 UP - Rational Systems DOS/4GW - GET ???
21FF--DH0A - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0B - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0C - INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
21FF--DH0D - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0E - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0F - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH10 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH11 - INT 21 UP - Rational Systems DOS/4GW - NOP
21FF--DH12 - INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
21FF--DH13 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH14 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH15 - INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
21FF--DH16 - INT 21 UP - Rational Systems DOS/4GW - GET ???
21FF--DH17 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF00 - INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
21FF00DX0078 - INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
21FF01 - INT 21 - VIRUS - "Drop" - INSTALLATION CHECK
21FF04 - INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
21FF0F - INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
21FF10 - INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
21FF80DHFF - INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
21FF82 - INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
21FF8C - INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
21FF8D - INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
21FF8E - INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
21FF91 - INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
21FF97 - INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
21FF98 - INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
21FF9A - INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
21FF9F - INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
21FFB0 - INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
21FFB1 - INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
21FFB3 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
21FFB4 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
21FFBB - INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
21FFBC - INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
21FFBD - INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
21FFBE - INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
21FFBF - INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
21FFC0 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
21FFC1 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
21FFC2 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
21FFC3 - INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
21FFC4 - INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
21FFC6 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
21FFC7 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
21FFC8 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
21FFC9 - INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
21FFCA - INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
21FFCB - INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
21FFCC - INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
21FFCD - INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
21FFCF - INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
21FFD6 - INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
21FFD7 - INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
21FFE3DL00 - INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
21FFE3DL01 - INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
21FFE3DL02 - INT 21 - TopWare Network OS v5.10+ - SEND PACKET
21FFE3DL03 - INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
21FFFE - INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
21FFFEBX0000 - INT 21 - VIRUS - "Anti-Thunderbyte/LEMMING" - INSTALLATION CHECK
21FFFF - INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
21FFFFCX0000 - INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
22 - INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
22 - INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
23 - INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
23 - INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
24 - INT 24 C - DOS 1+ - CRITICAL ERROR HANDLER
25 - INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
25----CXFFFF - INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (32M-2047M hard-disk partition)
25CDCD - INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
25--FFSI4358 - INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
Section -
26 - INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
26----CXFFFF - INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (32M-2047M hard-disk partition)
26 - INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
27 - INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
27 - INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
28 - INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
289999 - INT 28 u - PCXDUMP v9.00+ - INSTALLATION CHECK
29 - INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
29E60DCL0E - INT 29 - ShowGFX - INSTALLATION CHECK
2A00 - INT 2A - NETWORK - INSTALLATION CHECK
2A0000 - INT 2A - AT&T Starlan Extended NetBIOS (var length names) - INSTALLATION CHECK
2A01 - INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NETBIOS REQUEST,NO ERROR RETRY
2A02 - INT 2A - NETWORK (Microsoft) - SET NET PRINTER MODE
2A0300 - INT 2A - NETWORK - CHECK DIRECT I/O
2A04 - INT 2A - NETWORK - EXECUTE NetBIOS REQUEST
2A0500 - INT 2A - NETWORK - GET NETWORK RESOURCE AVAILABILITY
2A06 - INT 2A - NETBIOS, LANtastic - NETWORK PRINT-STREAM CONTROL
2A07 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2A2001 - INT 2A - MS Networks or NETBIOS - ???
2A2002 - INT 2A - NETWORK - ???
2A2003 - INT 2A - NETWORK - ???
2A4147DX0000 - INT 2A U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK
2A7802 - INT 2A - NETWORK - PC LAN PROG v1.31+ - GET LOGGED ON USER NAME
2A80 - INT 2A CU - NETWORK - BEGIN DOS CRITICAL SECTION
2A81 - INT 2A CU - NETWORK - END DOS CRITICAL SECTION
2A82 - INT 2A CU - NETWORK - END DOS CRITICAL SECTIONS 0 THROUGH 7
2A84 - INT 2A CU - NETWORK - KEYBOARD BUSY LOOP
2A86 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2A8700 - INT 2A CU - PRINT - BEGIN BACKGROUND PRINTING
2A8701 - INT 2A CU - PRINT - END BACKGROUND PRINTING
2A89 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2A90 - INT 2A U - IBM PC 3270 EMULATION PROGRAM - ???
2AC2 - INT 2A U - Network - ???
2AC4 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2AD800 - INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION DISABLE
2AD801 - INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION ENABLE
2AD850 - INT 2A U - Novell NetWare Lite - CLIENT - START SERVER CRITICAL SECTION
2AD851 - INT 2A U - Novell NetWare Lite - CLIENT - END SERVER CRITICAL SECTION
2AD852 - INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER LOADED
2AD853 - INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER UNLOADED
2AE0 - INT 2A U - PC Network 1.00 - ???
2AFF90 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF91 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF92 - INT 2A - PC/TCP PREDIR.EXE - INSTALLATION CHECK
2AFF93 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF94 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF95 - INT 2A - PC/TCP PREDIR.EXE - GET CONFIGURATION STRINGS
2AFF96 - INT 2A - PC/TCP PREDIR.EXE - SET PRINT JOB TERMINATION CONFIGURATION
2AFF97 - INT 2A - PC/TCP PREDIR.EXE - GET PRINT JOB TERMINATION CONFIGURATION
2B - INT 2B - DOS 2+ - RESERVED
2B - INT 2B - IBM ROM-DOS v4.0 - ???
2C - INT 2C - DOS 2+ - RESERVED
2C - INT 2C - STARLITE architecture - KERNEL API
2C - INT 2C R - Cloaking - CALL PROTECTED-MODE PASSALONG CHAIN
2C0000 - INT 2C P - Cloaking - ALLOCATE GDT SELECTOR
2C0001 - INT 2C P - Cloaking - FREE GDT SELECTOR
2C0002 - INT 2C P - Cloaking - SET SEGMENT BASE ADDRESS
2C0003 - INT 2C P - Cloaking - SET SEGMENT LIMIT
2C0004 - INT 2C P - Cloaking - SET SEGMENT ACCESS MODE
2C0005 - INT 2C P - Cloaking - SET SEGMENT EXTENDED ACCESS MODE
2C0006 - INT 2C P - Cloaking - GET PROTECTED-MODE INTERRUPT VECTOR
2C0007 - INT 2C P - Cloaking - SET PROTECTED-MODE INTERRUPT VECTOR
2C0008 - INT 2C P - Cloaking - GET PASSALONG ADDRESS
2C0009 - INT 2C P - Cloaking - SET PASSALONG ADDRESS
2C000A - INT 2C P - Cloaking - GET BASE ADDRESS OF GDT SELECTOR
2C000B - INT 2C P - Cloaking - GET SELECTOR LIMIT
2C - INT 2C P - RM386 v6.00 - CLOAKING - RESERVED FOR CLOAKED BIOS USE UNDER WINDOWS
2C000F - INT 2C P - Cloaking v1.01 - "Simulate_Shell_Event"
2C0011 - INT 2C P - Cloaking v1.01 - "Switch_VMs_and_Call_back"
2C0012 - INT 2C P - Cloaking v1.01 - "Query_Current_VM"
2C0013 - INT 2C P - Cloaking v1.01 - "Issue_System_Modal_Message"
2C001D - INT 2C P - Cloaking v1.01 - GET INT 2C API HANDLER ENTRY POINT
2C001E - INT 2C P - Cloaking v1.01 - CLEAR CRITICAL SECTION
2C001F - INT 2C P - Cloaking v1.01 - SET CRITICAL SECTION
2C0020 - INT 2C P - Cloaking - GET SIZE OF PROTECTED-MODE STATE
2C0021 - INT 2C P - Cloaking - SAVE PROTECTED-MODE STATE
2C0022 - INT 2C P - Cloaking - RESTORE PROTECTED-MODE STATE
2C0023 - INT 2C P - Cloaking - ISSUE PROTECTED-MODE XMS CALL
2C0024 - INT 2C P - Cloaking - SET V86-MODE STACK
2C0025 - INT 2C P - Cloaking - CALL V86-MODE PROCEDURE
2C0026 - INT 2C P - Cloaking - CALL V86-MODE INTERRUPT HANDLER
2C0027 - INT 2C P - Cloaking - CHAIN TO V86-MODE INTERRUPT HANDLER
2C0028 - INT 2C P - Cloaking - GET ESP0 FROM TSS
2C0029 - INT 2C P - Cloaking - SET SECONDARY STACK
2C002A - INT 2C P - Cloaking - SET 8259 IRQ BASE VECTORS
2C002BCH81 - INT 2C P - Cloaking - PROTECTED-MODE VIRTUAL DMA SERVICES
2C002C - INT 2C P - Cloaking - GET PORT-TRAPPING PASSALONG
2C002D - INT 2C P - Cloaking - SET PORT-TRAPPING PASSALONG
2C002E - INT 2C P - Cloaking - TRAP I/O PORT
2C002F - INT 2C PU - Cloaking - UNTRAP I/O PORT
2C0030 - INT 2C PU - Cloaking - GET TRAPPING STATE OF SPECIFIED PORT
2C0031 - INT 2C PU - RM386 v6.00 - BUG
2C0031 - INT 2C P - Cloaking v1.01 - ALLOCATE V86 CALLBACK
2C0032 - INT 2C P - Cloaking v1.01 - FREE V86 CALLBACK
2C0033 - INT 2C P - Cloaking v1.01 - REGISTER CLOAKING CLIENT
2C0034 - INT 2C P - Cloaking v1.01 - UNREGISTER CLOAKING CLIENT
2D - INT 2D - DOS 2+ - RESERVED
2D - INT 2D - ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION (AMIS) [v3.6]
2D--00 - INT 2D - AMIS v3.0+ - INSTALLATION CHECK
2D--01 - INT 2D - AMIS v3.0+ - GET PRIVATE ENTRY POINT
2D--02 - INT 2D - AMIS v3.0+ - UNINSTALL
2D--03 - INT 2D - AMIS v3.0+ - REQUEST POP-UP
2D--04 - INT 2D - AMIS v3.0+ - DETERMINE CHAINED INTERRUPTS
2D--05 - INT 2D - AMIS v3.5+ - GET HOTKEYS
2D--06 - INT 2D - AMIS v3.6 - GET DEVICE-DRIVER INFORMATION
2D--10 - INT 2D - RATSR 2.0+ - GET STATUS
2D--10 - INT 2D - dLite 1.0+ - GET PARAMETER BLOCK ADDRESS
2D--10 - INT 2D - Burnout Plus v3.00 - GET STATE/CONTROL INFORMATION
2D--10 - INT 2D U - Screen Thief v1.00 - FREE HIGH MEMORY BUFFERS
2D--10 - INT 2D U - RAMLIGHT v1.0 - GET MONITORING INFORMATION
2D--10 - INT 2D - DTown Utilities v1.40+ - EXTENDED API INSTALLATION CHECK
2D--10 - INT 2D - CDTSR - GET INTERNAL VARIABLE TABLE
2D--10 - INT 2D - KEYBIT Lite v5+ - GET POINTER TO STATUS BYTE
2D--10 - INT 2D - ALTMENU - GET POINTER TO KEY CODE
2D--11 - INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET ORIGINAL SIZE
2D--11 - INT 2D - DTown Utilities v1.40+ - UTILITY INSTALLATION CHECK
2D--11 - INT 2D - CDTSR - REPROGRAM CDTSR
2D--12 - INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET COMPRESSED SIZE
2D--12 - INT 2D - CDTSR - DISABLE POPUP
2D--12 - INT 2D - FREEVER - GET ORIGINAL DOS VERSION INFO
2D--13 - INT 2D - CDTSR - ENABLE POPUP
2D--13 - INT 2D - FREEVER - SET VERSION NUMBERS
2D--14 - INT 2D - FREEVER - ENABLE TSR
2D--15 - INT 2D - FREEVER - DISABLE TSR
2D--16 - INT 2D - FREEVER - GET TSR STATUS
2D--17 - INT 2D - FREEVER - GET TaskMAX STATUS AT INSTALLATION
2D--20 - INT 2D - DTown Utilities v1.40+ - GET POP-UP HANDLER ADDRESS
2D--21 - INT 2D - DTown Utilities v1.40+ - POP UP
2D--50 - INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET ADDRESS
2D--51 - INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET REFERENCE
2D--DC - INT 2D C - DAISY.SYS - BROADCAST: CHAIN RESCANNED
2E - INT 2E U - DOS 2+ - PASS COMMAND TO COMMAND INTERPRETER FOR EXECUTION
2E - INT 2E UP - Windows NT - NATIVE API
2E----BXE22E - INT 2E - 4DOS v2.x-3.03 SHELL2E.COM - UNINSTALL
2F - INT 2F - Multiplex - NOTES
2F - INT 2F - BMB Compuscience Canada Utilities Interface - INSTALLATION CHECK
2F - INT 2F - Ross Wentworth's Turbo Pascal POPUP LIBRARY
2F - INT 2F - CiriSOFT Spanish University of Valladolid TSR's Interface
2F00 - INT 2F U - DOS 2.x only PRINT.COM - SUBMIT FILE FOR PRINTING
2F00 - INT 2F U - PSPRINT - PRINT JOB CONTROL
2F0080 - INT 2F - DOS 3.1+ PRINT - GIVE PRINT A TIME SLICE
2F00D8 - INT 2F - Personal NetWare - VLM - ???
2F01 - INT 2F U - DOS 2.x only PRINT.COM - REMOVE FILE FROM PRINT QUEUE
2F0100 - INT 2F - DOS 3.0+ PRINT - INSTALLATION CHECK
2F0100SI20D6 - INT 2F U - PrintCache 3.1 PRINT.COM - INSTALLATION CHECK
2F0101 - INT 2F - DOS 3.0+ PRINT - SUBMIT FILE FOR PRINTING
2F0101SI20D6 - INT 2F U - PrintCache v3.1 PRINT.COM - SUBMIT FILE FOR PRINTING
2F0102 - INT 2F - DOS 3.0+ PRINT - REMOVE FILE FROM PRINT QUEUE
2F0103 - INT 2F - DOS 3.0+ PRINT - CANCEL ALL FILES IN PRINT QUEUE
2F0104 - INT 2F - DOS 3.0+ PRINT - FREEZE PRINT QUEUE TO READ JOB STATUS
2F0105 - INT 2F - DOS 3.0+ PRINT - RESTART PRINT QUEUE AFTER STATUS READ
2F0106 - INT 2F - DOS 3.3+ PRINT - GET PRINTER DEVICE
2F0107 - INT 2F U - PrintCache v3.1 PRINT.COM - SET TRAILING FORM FEEDS
2F0200 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - INSTALLATION CHECK
2F0201 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F0202 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F0203 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F0204 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F0500 - INT 2F U - DOS 3.0+ CRITICAL ERROR HANDLER - INSTALLATION CHECK
2F05 - INT 2F CU - DOS 3.0+ CRITICAL ERROR HANDLER - EXPAND ERROR INTO STRING
2F0600 - INT 2F - DOS 3.0+ ASSIGN - INSTALLATION CHECK
2F0601 - INT 2F U - DOS 3.0+ ASSIGN - GET DRIVE ASSIGNMENT TABLE
2F0800 - INT 2F U - DRIVER.SYS support - INSTALLATION CHECK
2F0801 - INT 2F U - DRIVER.SYS support - ADD NEW BLOCK DEVICE
2F0802 - INT 2F U - DRIVER.SYS support - EXECUTE DEVICE DRIVER REQUEST
2F0803 - INT 2F U - DOS 4.0+ DRIVER.SYS support - GET DRIVE DATA TABLE LIST
2F1000 - INT 2F - SHARE - INSTALLATION CHECK
2F1001 - INT 2F U - DR DOS 6.0+ FDOS EXTENSIONS - INSTALL FDOS HOOK (SHARE / DELWATCH)
2F1002CHFF - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - READ BUFFERS
2F1003 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FLUSH BUFFERS
2F1004 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FREE FAT CHAIN
2F1005 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - ALLOCATE CLUSTER
2F1006 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - NEXT CLUSTER / READ FAT???
2F1007 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - UPDATE FAT ENTRY / WRITE FAT???
2F1008 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FIXUP CHECKSUMS / DIR UPDATE???
2F1009 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - DIRECTORY BUFFER INFO
2F1010CX0000 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - SUPERSTOR - QUERY PHYS FREE SPACE
2F1020 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CREATE PASSWORD ENTRY
2F1021 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHANGE PASSWORD ENTRY
2F1022 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHECK PASSWORD ENTRY
2F1040 - INT 2F U - DOS 4 only SHARE internal - ???
2F1080 - INT 2F U - DOS 4 only SHARE internal - TURN ON FILE SHARING CHECKS
2F1081 - INT 2F U - DOS 4 only SHARE internal - TURN OFF FILE SHARING CHECKS
2F10FE - INT 2F U - DR DOS 6.0+ DELWATCH.EXE - INSTALLATION CHECK
2F10FF - INT 2F U - DR DOS 5.0 - FIXUP SHARE STUB TABLE???
2F1100 - INT 2F C - NETWORK REDIRECTOR - INSTALLATION CHECK
2F1100SFDADA - INT 2F - MSCDEX (MS CD-ROM Extensions) - INSTALLATION CHECK
2F1101 - INT 2F CU - NETWORK REDIRECTOR - REMOVE REMOTE DIRECTORY
2F1102 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - REMOVE REMOTE DIRECTORY
2F1103 - INT 2F CU - NETWORK REDIRECTOR - MAKE REMOTE DIRECTORY
2F1104 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - MAKE REMOTE DIRECTORY
2F1105 - INT 2F CU - NETWORK REDIRECTOR - CHDIR
2F1106 - INT 2F CU - NETWORK REDIRECTOR - CLOSE REMOTE FILE
2F1107 - INT 2F CU - NETWORK REDIRECTOR - COMMIT REMOTE FILE
2F1108 - INT 2F CU - NETWORK REDIRECTOR - READ FROM REMOTE FILE
2F1109 - INT 2F CU - NETWORK REDIRECTOR - WRITE TO REMOTE FILE
2F110A - INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - LOCK REGION OF FILE
2F110A - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - LOCK/UNLOCK REGION OF FILE
2F110B - INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - UNLOCK REGION OF FILE
2F110C - INT 2F CU - NETWORK REDIRECTOR - GET DISK INFORMATION
2F110D - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - SET REMOTE FILE'S ATTRIBUTES
2F110E - INT 2F CU - NETWORK REDIRECTOR - SET REMOTE FILE'S ATTRIBUTES
2F110F - INT 2F CU - NETWORK REDIRECTOR - GET REMOTE FILE'S ATTRIBUTES AND SIZE
2F1110 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET REMOTE FILE'S ATTRIBUTES AND SIZE
2F1111 - INT 2F CU - NETWORK REDIRECTOR - RENAME REMOTE FILE
2F1112 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - RENAME REMOTE FILE
2F1113 - INT 2F CU - NETWORK REDIRECTOR - DELETE REMOTE FILE
2F1114 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - DELETE REMOTE FILE
2F1115 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - OPEN REMOTE FILE
2F1116 - INT 2F CU - NETWORK REDIRECTOR - OPEN EXISTING REMOTE FILE
2F1117 - INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE REMOTE FILE
2F1118 - INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE FILE WITHOUT CDS
2F1119 - INT 2F CU - NETWORK REDIRECTOR - FIND FIRST FILE WITHOUT CDS
2F111A - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - FIND NEXT FILE WITHOUT CDS
2F111B - INT 2F CU - NETWORK REDIRECTOR - FINDFIRST
2F111C - INT 2F CU - NETWORK REDIRECTOR - FINDNEXT
2F111D - INT 2F CU - NETWORK REDIRECTOR - CLOSE ALL REMOTE FILES FOR PROCESS (ABORT)
2F111E - INT 2F CU - NETWORK REDIRECTOR - DO REDIRECTION
2F111F - INT 2F CU - NETWORK REDIRECTOR - PRINTER SETUP
2F1120 - INT 2F CU - NETWORK REDIRECTOR - FLUSH ALL DISK BUFFERS
2F1121 - INT 2F CU - NETWORK REDIRECTOR - SEEK FROM END OF REMOTE FILE
2F1122 - INT 2F CU - NETWORK REDIRECTOR - PROCESS TERMINATION HOOK
2F1123 - INT 2F CU - NETWORK REDIRECTOR - QUALIFY REMOTE FILENAME
2F1124 - INT 2F CU - NETWORK REDIRECTOR - TURN OFF REMOTE PRINTER
2F1125 - INT 2F CU - NETWORK REDIRECTOR - REDIRECTED PRINTER MODE
2F1126 - INT 2F CU - NETWORK REDIRECTOR - REMOTE PRINTER ECHO ON/OFF
2F1127 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
2F1127BX4E57 - INT 2F - NetWare 4.0 - REMOTE FILE COPY
2F1128 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
2F1129 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
2F112A - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - CLOSE ALL FILES FOR PROCESS
2F112B - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GENERIC IOCTL
2F112C - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - "UPDATE_CB" - ???
2F112D - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - EXTENDED ATTRIBUTES
2F112E - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - EXTENDED OPEN/CREATE FILE
2F112F - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - IFS IOCTL
2F1130 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET IFSFUNC SEGMENT
2F1180 - INT 2F - LAN Manager Enhanced DOS Services - ???
2F1181 - INT 2F - LAN Manager Enhanced DOS Services - SET USER NAME???
2F1182 - INT 2F - LAN Manager Enhanced DOS Services - INSTALL SERVICE
2F1184 - INT 2F - LAN Manager Enhanced DOS - ???
2F1186 - INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe
2F118A - INT 2F - LAN Manager 2.0+ DOS Enhanced ENCRYPT.EXE - STREAM ENCRYPTION SERVICE
2F118B - INT 2F - LAN Manager Enhanced DOS - ???
2F118C - INT 2F - LAN Manager Enhanced DOS - ???
2F118E - INT 2F - LAN Manager Enhanced DOS - ???
2F118F - INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe
2F1190 - INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe2
2F1191 - INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe2
2F11F0 - INT 2F - Novell ??? - REMOTE FILE COPY
2F1200 - INT 2F U - DOS 3.0+ internal - INSTALLATION CHECK
2F1201 - INT 2F U - DOS 3.0+ internal - CLOSE CURRENT FILE
2F1202 - INT 2F U - DOS 3.0+ internal - GET INTERRUPT ADDRESS
2F1203 - INT 2F U - DOS 3.0+ internal - GET DOS DATA SEGMENT
2F1204 - INT 2F U - DOS 3.0+ internal - NORMALIZE PATH SEPARATOR
2F1205 - INT 2F U - DOS 3.0+ internal - OUTPUT CHARACTER TO STANDARD OUTPUT
2F1206 - INT 2F U - DOS 3.0+ internal - INVOKE CRITICAL ERROR
2F1207 - INT 2F U - DOS 3.0+ internal - MAKE DISK BUFFER MOST-RECENTLY USED
2F1208 - INT 2F U - DOS 3.0+ internal - DECREMENT SFT REFERENCE COUNT
2F1209 - INT 2F U - DOS 3.0+ internal - FLUSH AND FREE DISK BUFFER
2F120A - INT 2F U - DOS 3.0+ internal - PERFORM CRITICAL ERROR INTERRUPT
2F120B - INT 2F U - DOS 3.0+ internal - SIGNAL SHARING VIOLATION TO USER
2F120C - INT 2F U - DOS 3.0+ internal - OPEN DEVICE AND SET SFT OWNER/MODE
2F120D - INT 2F U - DOS 3.0+ internal - GET DATE AND TIME
2F120E - INT 2F U - DOS 3.0+ internal - MARK ALL DISK BUFFERS UNREFERENCED
2F120F - INT 2F U - DOS 3.0+ internal - MAKE BUFFER MOST RECENTLY USED
2F1210 - INT 2F U - DOS 3.0+ internal - FIND UNREFERENCED DISK BUFFER
2F1211 - INT 2F U - DOS 3.0+ internal - NORMALIZE ASCIZ FILENAME
2F1212 - INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
2F1213 - INT 2F U - DOS 3.0+ internal - UPPERCASE CHARACTER
2F1214 - INT 2F U - DOS 3.0+ internal - COMPARE FAR POINTERS
2F1215 - INT 2F U - DOS 3.0+ internal - FLUSH BUFFER
2F1216 - INT 2F U - DOS 3.0+ internal - GET ADDRESS OF SYSTEM FILE TABLE ENTRY
2F1217 - INT 2F U - DOS 3.0+ internal - GET CURRENT DIRECTORY STRUCTURE FOR DRIVE
2F1218 - INT 2F U - DOS 3.0+ internal - GET CALLER'S REGISTERS
2F1219 - INT 2F U - DOS 3.0+ internal - SET DRIVE???
2F121A - INT 2F U - DOS 3.0+ internal - GET FILE'S DRIVE
2F121B - INT 2F U - DOS 3.0+ internal - SET YEAR/LENGTH OF FEBRUARY
2F121C - INT 2F U - DOS 3.0+ internal - CHECKSUM MEMORY
2F121D - INT 2F U - DOS 3.0+ internal - SUM MEMORY
2F121E - INT 2F U - DOS 3.0+ internal - COMPARE FILENAMES
2F121F - INT 2F U - DOS 3.0+ internal - BUILD CURRENT DIRECTORY STRUCTURE
2F1220 - INT 2F U - DOS 3.0+ internal - GET JOB FILE TABLE ENTRY
2F1221 - INT 2F U - DOS 3.0+ internal - CANONICALIZE FILE NAME
2F1222 - INT 2F U - DOS 3.0+ internal - SET EXTENDED ERROR INFO
2F1223 - INT 2F U - DOS 3.0+ internal - CHECK IF CHARACTER DEVICE
2F1224 - INT 2F U - DOS 3.0+ internal - SHARING RETRY DELAY
2F1225 - INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
2F1226 - INT 2F U - DOS 3.3+ internal - OPEN FILE
2F1227 - INT 2F U - DOS 3.3+ internal - CLOSE FILE
2F1228BP4200 - INT 2F U - DOS 3.3+ internal - MOVE FILE POINTER
2F1229 - INT 2F U - DOS 3.3+ internal - READ FROM FILE
2F122A - INT 2F U - DOS 3.3+ internal - SET FASTOPEN ENTRY POINT
2F122B - INT 2F U - DOS 3.3+ internal - IOCTL
2F122C - INT 2F U - DOS 3.3+ internal - GET DEVICE CHAIN
2F122D - INT 2F U - DOS 3.3+ internal - GET EXTENDED ERROR CODE
2F122E - INT 2F U - DOS 4.0+ internal - GET OR SET ERROR TABLE ADDRESSES
2F122F - INT 2F U - DOS 4.x internal - SET DOS VERSION NUMBER TO RETURN
2F1230 - INT 2F U - Windows95 - FIND SFT ENTRY IN INTERNAL FILE TABLES
2F1231 - INT 2F U - Windows95 - SET/CLEAR "REPORT WINDOWS TO DOS PROGRAMS" FLAG
2F1250 - INT 2F U - PTS-DOS - SET MACHINE ID
2F1251 - INT 2F U - PTS-DOS - GET MACHINE ID
2F1252 - INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - SET SFT INCREMENT
2F1253 - INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - GET SFT INCREMENT
2F1260 - INT 2F C - PTS-DOS 6.51, S/DOS 1.0+ - "EMPTY" (RESERVED FOR INPUT STRING)
2F1261 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET FIRST UMB
2F1262 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET DOS COLOR
2F1263 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - SET DOS COLOR
2F1270 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - "SYSBELL" - EMIT A BEEP
2F1271 - INT 2F C - PTS-DOS, S/DOS - RESERVED FOR BEEP
2F12F0 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - BACKDOOR INTERCEPT INT 2Fh CHAIN
2F12F1 - INT 2F - PTS-DOS, S/DOS - RESERVED
2F12FFBL00 - INT 2F - FreeDOS - FDAK-DDT - INSTALLATION CHECK / STATUS CHECK
2F12FFBL01 - INT 2F - FreeDOS - FDAK-DDT - ENABLE FDAK DRIVERS
2F12FFBL02 - INT 2F - FreeDOS - FDAK-DDT - DISABLE FDAK DRIVERS
2F12FFBL03 - INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-ONLY
2F12FFBL04 - INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-WRITE
2F12FFBL05 - INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR ON
2F12FFBL06 - INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR OFF
2F12FFBL07 - INT 2F - FreeDOS - FDAK-DDT - UNINSTALL
2F12FFBX0000 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BDOS
2F12FFBX0001 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BDOS
2F12FFBX0002 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BIOS
2F12FFBX0003 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BIOS
2F12FFBX0005 - INT 2F U - DR DOS 6.0+ - BOOT PHASE BROADCASTS FOR MEMORYMAX/RPLOADER/SECURITY
2F12FFBX0006 - INT 2F U - DR DOS 6+, Novell DOS 7+ - EMM386.EXE - VIDEO MEMORY SPACE CONTROL
2F12FFBX0007 - INT 2F U - Novell DOS 7 - SCRIPT.EXE - GET ???
2F12FFBX0009 - INT 2F - DR DOS 6.0+ IBMBIO.COM - REGISTER ROOT OF UPPER MEMORY LINK
2F12FFBX0106 - INT 2F U - Novell DOS 7+ - MEMORYMAX INSTALLATION CHECK
2F12FFBX0206 - INT 2F - Novell DOS 7+ - MEMORYMAX GET PAGE TABLE ENTRY
2F12FFBX0306 - INT 2F - Novell DOS 7+ - MEMORYMAX SET PAGE TABLE ENTRY
2F12FFBX0406 - INT 2F - Novell DOS 7+ - MEMORYMAX CREATE ACCESS KEY
2F12FFBX0506 - INT 2F - Novell DOS 7+ - MEMORYMAX DESTROY ACCESS KEY
2F12FFBL06 - INT 2F U - Novell DOS 7 - EMM386.EXE - ???
2F12FFBX0EDC - INT 2F U - Novell DOS 7 - EMM386.EXE - CHECK IF MULTITASKING SUPPORT LOADED???
2F13 - INT 2F U - DOS 3.2+ - SET DISK INTERRUPT HANDLER
2F13 - INT 2F U - MS-NET - ???
2F1400 - INT 2F C - NLSFUNC.COM - INSTALLATION CHECK
2F1400BX0EDC - INT 2Fh - DR-DOS NLSFUNC 4.01+ - ENHANCED INSTALLATION CHECK
2F1400 - INT 2F - European MS-DOS 4.0 POPUP - "CheckPu" - INSTALLATION CHECK
2F1401 - INT 2F CU - NLSFUNC.COM - CHANGE CODE PAGE
2F1401 - INT 2F - European MS-DOS 4.0 POPUP - "PostPu" - OPEN/CLOSE POPUP SCREEN
2F1402 - INT 2F CU - NLSFUNC.COM - GET EXTENDED COUNTRY INFO
2F1402 - INT 2F - European MS-DOS 4.0 POPUP - "SavePu" - SAVE POPUP SCREEN
2F1403 - INT 2F CU - NLSFUNC.COM - SET CODE PAGE
2F1403 - INT 2F - European MS-DOS 4.0 POPUP - "RestorePu" - RESTORE SCREEN
2F1404 - INT 2F CU - NLSFUNC.COM - GET COUNTRY INFO
2F14FE - INT 2F U - DR DOS 5.0 NLSFUNC - GET EXTENDED COUNTRY INFORMATION
2F14FF - INT 2F U - DR DOS 5.0+ NLSFUNC - PREPARE CODE PAGE
2F1500 - INT 2F - DOS 4.00 GRAPHICS.COM - INSTALLATION CHECK
2F1500BX0000 - INT 2F - CD-ROM - INSTALLATION CHECK
2F1500CH90 - INT 2F U - CDBLITZ v2.11 - INSTALLATION CHECK
2F1500CH91 - INT 2F U - CDBLITZ v2.11 - GET STATISTICS
2F1500CH92 - INT 2F U - CDBLITZ v2.11 - ENABLE CACHE
2F1500CH93 - INT 2F U - CDBLITZ v2.11 - DISABLE CACHE
2F1500CH94 - INT 2F U - CDBLITZ v2.11 - SET 'MAX' MODE (CACHE BOTH DIRECTORIES AND DATA)
2F1500CH95 - INT 2F U - CDBLITZ v2.11 - SET 'MIN' MODE (CACHE ONLY DIRECTORY ENTRIES)
2F1500CH96 - INT 2F U - CDBLITZ v2.11 - FLUSH CACHE
2F1500CH97 - INT 2F U - CDBLITZ v2.11 - GET CACHE STATISTICS
2F1500CH99 - INT 2F U - CDBLITZ v2.11 - UNINSTALL
2F1501 - INT 2F - CD-ROM - GET DRIVE DEVICE LIST
2F1502 - INT 2F - CD-ROM - GET COPYRIGHT FILE NAME
2F1503 - INT 2F - CD-ROM - GET ABSTRACT FILE NAME
2F1504 - INT 2F - CD-ROM - GET BIBLIOGRAPHIC DOC FILE NAME
2F1505 - INT 2F - CD-ROM - READ VTOC
2F1506 - INT 2F - CD-ROM - TURN DEBUGGING ON
2F1507 - INT 2F - CD-ROM - TURN DEBUGGING OFF
2F1508 - INT 2F - CD-ROM - ABSOLUTE DISK READ
2F1509 - INT 2F - CD-ROM - ABSOLUTE DISK WRITE
2F150A - INT 2F - CD-ROM - RESERVED
2F150B - INT 2F - CD-ROM v2.00+ - DRIVE CHECK
2F150CBX0000 - INT 2F - CD-ROM v2.00+ - GET MSCDEX.EXE VERSION (GET VERSION)
2F150D - INT 2F - CD-ROM v2.00+ - GET CD-ROM DRIVE LETTERS
2F150E - INT 2F - CD-ROM v2.00+ - GET/SET VOLUME DESCRIPTOR PREFERENCE
2F150F - INT 2F - CD-ROM v2.00+ - GET DIRECTORY ENTRY
2F1510 - INT 2F - CD-ROM v2.10+ - SEND DEVICE DRIVER REQUEST
2F15FFBX0000 - INT 2F - CD-ROM - CORELCDX - INSTALLATION CHECK
Section -
2F1600 - INT 2F - MS Windows - WINDOWS ENHANCED MODE INSTALLATION CHECK
2F1602 - INT 2F - MS Windows/386 2.x - GET API ENTRY POINT
2F1603 - INT 2F C - MS Windows/386 - GET INSTANCE DATA
2F1605 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX INIT BROADCAST
2F1606 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX EXIT BROADCAST
2F1607 - INT 2F C - MS Windows - VIRTUAL DEVICE CALL OUT API
2F1607BX0006 - INT 2F C - MS Windows - "V86MMGR" VIRTUAL DEVICE API
2F1607BX000C - INT 2F C - MS Windows - "VMD" VIRTUAL MOUSE DEVICE API
2F1607BX000D - INT 2F C - MS Windows95 - "VKD" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0010 - INT 2F C - MS Windows 3.1 - "BLOCKDEV" VIRTUAL HARD DISK DEVICE API
2F1607BX0014 - INT 2F C - MS Windows - "VNETBIOS" VIRTUAL DEVICE API
2F1607BX0015 - INT 2F C - MS Windows - "DOSMGR" VIRTUAL DEVICE API
2F1607BX0018 - INT 2F C - MS Windows - "VMPoll" VIRTUAL DEVICE - IDLE CALLOUT
2F1607BX0021 - INT 2F C - MS Windows - "PageFile" VIRTUAL DEVICE - GET LOCK BYTE
2F1607BX002D - INT 2F C - MS Windows - "W32S" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0040 - INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0446 - INT 2F C - MS Windows - "VADLIBD" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0484 - INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0487 - INT 2F C - MS Windows - "NWSUP" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX22C0 - INT 2F C - Rational Systems DOS/4GW - ???
2F1607BX28A1 - INT 2F C - MS Windows - "PharLap" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX7A5F - INT 2F C - MS Windows - "SIWVID" VIRTUAL DEVICE - ??? CALLOUT
2F1608 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE INIT COMPLETE BROADCAST
2F1609 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE BEGIN EXIT BROADCAST
2F160A - INT 2F - MS Windows 3.1 - IDENTIFY WINDOWS VERSION AND TYPE
2F160B - INT 2F - MS Windows 3.1 - IDENTIFY TSRs
2F160C - INT 2F - MS Windows 3.1 - DETECT ROMs
2F160E - INT 2F U - MS-DOS 7 kernel - BOOT LOGO SUPPORT???
2F160F - INT 2F U - MS-DOS 7 kernel - GET/SET ??? HANDLER
2F1610 - INT 2F - XMS v1.x only - GET DRIVER ADDRESS
2F1611 - INT 2F U - MS-DOS 7 kernel - GET SHELL PARAMETERS
2F1612 - INT 2F U - MS-DOS 7 kernel - GET ???
2F1613 - INT 2F - MS-DOS 7 kernel - GET SYSTEM.DAT (REGISTRY FILE) PATHNAME
2F1614 - INT 2F U - MS-DOS 7 kernel - SET SYSTEM.DAT (REGISTRY FILE) PATHNAME
2F1615 - INT 2F - Windows95 - SAVE32.COM - INSTALLATION CHECK
2F1680 - INT 2F - MS Windows, DPMI, various - RELEASE CURRENT VIRTUAL MACHINE TIME-SLICE
2F1681 - INT 2F - MS Windows 3+ - BEGIN CRITICAL SECTION
2F1682 - INT 2F - MS Windows 3+ - END CRITICAL SECTION
2F1683 - INT 2F - MS Windows 3+ - GET CURRENT VIRTUAL MACHINE ID
2F1684 - INT 2F - MS Windows - GET DEVICE API ENTRY POINT
2F1684BX0001 - INT 2F - MS Windows95 - VMM - GET API ENTRY POINT
2F1684BX0003 - INT 2F - MS Windows - VPICD - GET API ENTRY POINT
2F1684BX0005 - INT 2F - MS Windows - VTD - GET API ENTRY POINT
2F1684BX0006 - INT 2F P - MS Windows95 - V86MMGR - GET API ENTRY POINT
2F1684BX0009 - INT 2F P - MS Windows - REBOOT - GET API ENTRY POINT
2F1684BX000A - INT 2F P - MS Windows - VDD - GET API ENTRY POINT
2F1684BX000C - INT 2F - MS Windows - VMD - GET API ENTRY POINT
2F1684BX000D - INT 2F P - MS Windows - VKD - GET API ENTRY POINT
2F1684BX000E - INT 2F P - MS Windows - VCD - GET API ENTRY POINT
2F1684BX000F - INT 2F P - MS Windows - VPD - GET API ENTRY POINT
2F1684BX0010 - INT 2F - MS Windows - IOS - GET API ENTRY POINT
2F1684BX0011 - INT 2F - MS Windows - VMCPD - GET API ENTRY POINT
2F1684BX0015 - INT 2F - MS Windows - DOSMGR - GET API ENTRY POINT
2F1684BX0017 - INT 2F U - MS Windows - SHELL - GET API ENTRY POINT
2F1684BX001A - INT 2F - MS Windows - VNETWARE - GET API ENTRY POINT
2F1684BX001D - INT 2F P - MS Windows - WINDEBUG - GET API ENTRY POINT
2F1684BX0021 - INT 2F PU - MS Windows - PAGEFILE - GET API ENTRY POINT
2F1684BX0022 - INT 2F P - MS Windows - APIX - GET API ENTRY POINT
2F1684BX0026 - INT 2F P - MS Windows - VPOWERD - GET API ENTRY POINT
2F1684BX0027 - INT 2F - MS Windows95 - VXDLDR - GET API ENTRY POINT
2F1684BX0028 - INT 2F - MS Windows - NDIS - GET API ENTRY POINT
2F1684BX002A - INT 2F P - MS Windows - VWIN32 - GET API ENTRY POINT
2F1684BX002B - INT 2F - MS Windows - VCOMM - GET API ENTRY POINT
2F1684BX002D - INT 2F P - MS Windows - W32S - GET API ENTRY POINT
2F1684BX0030 - INT 2F P - MS Windows - MACH32 - GET API ENTRY POINT
2F1684BX0032 - INT 2F - MS Windows - SERVER / VSERVER - GET API ENTRY POINT
2F1684BX0033 - INT 2F - MS Windows - CONFIGMG - GET API ENTRY POINT
2F1684BX0034 - INT 2F - Intel Plug-and-Play - CONFIGURATION MANAGER - GET ENTRY POINT
2F1684BX0036 - INT 2F - MS Windows - VFBACKUP - GET API ENTRY POINT
2F1684BX0037 - INT 2F - MS Windows - ENABLE.VXD - GET API ENTRY POINT
2F1684BX0038 - INT 2F - MS Windows - VCOND - GET API ENTRY POINT
2F1684BX003B - INT 2F - MS Windows - DSVXD - GET API ENTRY POINT
2F1684BX003D - INT 2F - MS Windows - BIOS VxD - GET API ENTRY POINT
2F1684BX003E - INT 2F - MS Windows - WSOCK - GET API ENTRY POINT
2F1684BX011F - INT 2F P - MS Windows - VFLATD - GET API ENTRY POINT
2F1684BX0200 - INT 2F - MS Windows - VIPX - GET API ENTRY POINT
2F1684BX0202 - INT 2F - MS Windows - WINICE - GET API ENTRY POINT
2F1684BX0203 - INT 2F P - MS Windows - VCLIENT - GET API ENTRY POINT
2F1684BX0205 - INT 2F - MS Windows - BCW - GET API ENTRY POINT
2F1684BX0207 - INT 2F R - MS Windows - DPMS VxD - GET API ENTRY POINT
2F1684BX0234 - INT 2F - MS Windows - VCOMMUTE - GET API ENTRY POINT
2F1684BX0442 - INT 2F P - MS Windows - VTDAPI - GET API ENTRY POINT
2F1684BX0444 - INT 2F - MS Windows - VADMAD - GET API ENTRY POINT
2F1684BX0445 - INT 2F - MS Windows - VSBD - GET API ENTRY POINT
2F1684BX0446 - INT 2F - MS Windows - VADLIBD - GET API ENTRY POINT
2F1684BX0449 - INT 2F P - MS Windows - vjoyd - GET API ENTRY POINT
2F1684BX044A - INT 2F - MS Windows - mmdevldr - GET API ENTRY POINT
2F1684BX045D - INT 2F P - MS Windows - VflatD - GET API ENTRY POINT
2F1684BX045F - INT 2F - MS Windows - azt16 - GET API ENTRY POINT
2F1684BX0460 - INT 2F P - MS Windows - UNIMODEM - GET API ENTRY POINT
2F1684BX0480 - INT 2F - MS Windows - VNetSup - GET API ENTRY POINT
2F1684BX0482 - INT 2F - MS Windows - VBrowse - GET API ENTRY POINT
2F1684BX0483 - INT 2F - MS Windows - VSHARE - GET API ENTRY POINT
2F1684BX0484 - INT 2F P - MS Windows - IFSMgr - GET API ENTRY POINT
2F1684BX0486 - INT 2F - MS Windows - VFAT - GET API ENTRY POINT
2F1684BX0487 - INT 2F - MS Windows - NWLINK - GET API ENTRY POINT
2F1684BX0489 - INT 2F R - MS Windows - VIP - GET API ENTRY POINT
2F1684BX048A - INT 2F - MS Windows 3.11 - VXDLDR - GET API ENTRY POINT
2F1684BX048A - INT 2F - MS Windows - VCACHE - GET API ENTRY POINT
2F1684BX048D - INT 2F - MS Windows - RASMAC - GET API ENTRY POINT
2F1684BX048E - INT 2F - MS Windows - NWREDIR - GET API ENTRY POINT
2F1684BX0494 - INT 2F - MS Windows - NSCL - GET API ENTRY POINT
2F1684BX0499 - INT 2F - MS Windows - PPPMAC - GET API ENTRY POINT
2F1684BX049A - INT 2F - MS Windows - VDHCP - GET API ENTRY POINT
2F1684BX049B - INT 2F - MS Windows - VNBT - GET API ENTRY POINT
2F1684BX1021 - INT 2F - MS Windows - VMB - GET API ENTRY POINT
2F1684BX28A0 - INT 2F - MS Windows - PHARLAPX - GET API ENTRY POINT
2F1684BX28A1 - INT 2F - MS Windows - PharLap VxD - GET API ENTRY POINT
2F1684BX2925 - INT 2F - MS Windows - EDOS - GET API ENTRY POINT
2F1684BX292D - INT 2F - MS Windows - VSBPD - GET API ENTRY POINT
2F1684BX295A - INT 2F - MS Windows - GRVSULTR - GET API ENTRY POINT
2F1684BX304C - INT 2F - Intel Plug-and-Play - CONFIGURATION ACCESS - GET ENTRY POINT
2F1684BX3099 - INT 2F - MS Windows - VVidramD - GET API ENTRY POINT
2F1684BX30F6 - INT 2F P - MS Windows - WSVV - GET API ENTRY POINT
2F1684BX310E - INT 2F - MS Windows - WPS - GET API ENTRY POINT
2F1684BX3110 - INT 2F - MS Windows - VSGLX16.386 - GET API ENTRY POINT
2F1684BX31CF - INT 2F - MS Windows - STAT.386 - GET API ENTRY POINT
2F1684BX34DC - INT 2F - QEMM v8.01 - MAGNARAM VxD - GET API ENTRY POINT
2F1684BX357E - INT 2F - MS Windows - DSOUND - GET API ENTRY POINT
2F1684BX377B - INT 2F - MS Windows - MX1501HAD - GET API ENTRY POINT
2F1684BX38DA - INT 2F - MS Windows - VIWD - GET API ENTRY POINT
2F1684BX4321 - INT 2F - MS Windows - POSTMSG - GET API ENTRY POINT
2F1684BX7FE0 - INT 2F - MS Windows - VSWITCHD - GET API ENTRY POINT
2F1684BX8888 - INT 2F - MS Windows - VbillD - GET API ENTRY POINT
2F1685 - INT 2F - MS Windows - SWITCH VMs AND CALLBACK
2F1686 - INT 2F - DOS Protected-Mode Interface - DETECT MODE
2F1687 - INT 2F - DOS Protected-Mode Interface - INSTALLATION CHECK
2F1688BX0BAD - INT 2F U - MS Windows 3.0, 386MAX v6.01 - GET ALIAS SELECTOR TO LDT
2F1689 - INT 2F U - MS Windows 3.0+ - KERNEL IDLE CALL
2F168A - INT 2F - DPMI 0.9+ - GET VENDOR-SPECIFIC API ENTRY POINT
2F168B - INT 2F - MS Windows 3.1 - SET FOCUS TO SPECIFIED VIRTUAL MACHINE
2F168C - INT 2F - MS Windows 3.1 - RESTART COMMAND
2F168EDX0000 - INT 2F - Windows95 - TITLE - SET APPLICATION TITLE
2F168EDX0001 - INT 2F - Windows95 - TITLE - SET VIRTUAL MACHINE TITLE
2F168EDX0002 - INT 2F - Windows95 - TITLE - GET APPLICATION TITLE
2F168EDX0003 - INT 2F - Windows95 - TITLE - GET VIRTUAL MACHINE TITLE
2F168FDH00 - INT 2F - Windows95 - CLOSE-AWARENESS - ENABLE/DISABLE CLOSE COMMAND
2F168FDH01 - INT 2F - Windows95 - CLOSE-AWARENESS - QUERY CLOSE
2F168FDH02 - INT 2F - Windows95 - CLOSE-AWARENESS - ACKNOWLEDGE CLOSE
2F168FDH03 - INT 2F - Windows95 - CLOSE-AWARENESS - CANCEL CLOSE
2F1690 - INT 2F U - MS-DOS 7 kernel - GET/SET ???
2F1700 - INT 2F - MS Windows "WINOLDAP" - IDENTIFY WinOldAp VERSION
2F1701 - INT 2F - MS Windows "WINOLDAP" - OPEN CLIPBOARD
2F1702 - INT 2F - MS Windows "WINOLDAP" - EMPTY CLIPBOARD
2F1703 - INT 2F - MS Windows "WINOLDAP" - SET CLIPBOARD DATA
2F1704 - INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA SIZE
2F1705 - INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA
2F1708 - INT 2F - MS Windows "WINOLDAP" - CloseClipboard
2F1709 - INT 2F - MS Windows "WINOLDAP" - COMPACT CLIPBOARD
2F170A - INT 2F - MS Windows "WINOLDAP" - GET DEVICE CAPABILITIES
2F18 - INT 2F U - MS-Manager
2F1900 - INT 2F U - DOS 4.x only SHELLB.COM - INSTALLATION CHECK
2F1901 - INT 2F U - DOS 4.x only SHELLB.COM - SHELLC.EXE INTERFACE
2F1902 - INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM INTERFACE
2F1903 - INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM interface
2F1904 - INT 2F U - DOS 4.x only SHELLB.COM - SHELLB transient to TSR interface
2F1980 - INT 2F U - IBM ROM-DOS v4.0 - INSTALLATION CHECK
2F1981 - INT 2F U - IBM ROM-DOS v4.0 - GET ??? STRING
2F1982 - INT 2F U - IBM ROM-DOS v4.0 - GET ??? TABLE
2F1A00 - INT 2F - DOS 4.0+ ANSI.SYS - INSTALLATION CHECK
2F1A00BX414E - INT 2F - ANSIPLUS.SYS v2.00+ - INSTALLATION CHECK
2F1A00BX4156 - INT 2F - AVATAR.SYS - INSTALLATION CHECK
2F1A01 - INT 2F U - DOS 4.0+ ANSI.SYS internal - GET/SET DISPLAY INFORMATION
2F1A02 - INT 2F U - DOS 4.0+ ANSI.SYS internal - MISCELLANEOUS REQUESTS
2F1A21 - INT 2F - AVATAR.SYS - SET DRIVER STATE
2F1A3C - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A3E - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A3F - INT 2F - AVATAR.SYS - QUERY DRIVER STATE
2F1A42BX4156 - INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ3 HANDLER
2F1A43BX4156 - INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ4 HANDLER
2F1A44BX4156 - INT 2F - AVATAR.SYS v0.11+ - GET DATA SEGMENT
2F1A52 - INT 2F U - AVATAR.SYS v0.11 - GET ???
2F1A53 - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A62BX4156 - INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ3 HANDLER
2F1A63BX4156 - INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ4 HANDLER
2F1A72 - INT 2F U - AVATAR.SYS v0.11 - GET ??? SIZE
2F1A7B - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A7D - INT 2F U - AVATAR.SYS v0.11 - ???
2F1AA3 - INT 2F - ANSIPLUS v4.03+ - GET/SET ANSIPLUS INTERNAL VARIABLES
2F1AA4 - INT 2F - ANSIPLUS v4.02+ - GET/SET ANSIPLUS SMOOTH SCROLLING RATE
2F1AA5 - INT 2F - ANSIPLUS v4.00+ - GET/SET ANSIPLUS CLIPBOARD
2F1AA6 - INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS DRIVER
2F1AA7 - INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS FEATURES
2F1AA8 - INT 2F - ANSIPLUS v3.10+ - GET NEXT ANSIPLUS SCROLLBACK LINE
2F1AA9 - INT 2F - ANSIPLUS v3.10+ - GET ANSIPLUS SCROLLBACK INFORMATION
2F1AAA - INT 2F - ANSIPLUS v3.01+ - GET/SET ANSIPLUS SCREEN SAVER BLANKING TIME
2F1AAB - INT 2F - ANSIPLUS v3.01+ - SET ANSIPLUS KEY REPEAT RATE
2F1AAC - INT 2F - ANSIPLUS v3.00+ - LOAD CHARACTER GENERATOR
2F1AAD - INT 2F - ANSIPLUS v2.00+ - ANSIPLUS DEVICE STATUS REPORT
2F1AADDX0000 - INT 2F U - AVATAR.SYS v0.11 - ???
2F1B00 - INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - INSTALLATION CHECK
2F1B - INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - GET HIDDEN FRAME INFORMATION
2F2300 - INT 2F - DR DOS 5.0 GRAFTABL - INSTALLATION CHECK
2F23 - INT 2F - DR DOS 5.0 GRAFTABL - GET GRAPHICS DATA
2F2700 - INT 2F - DR DOS 6.0 TaskMAX - INSTALLATION CHECK
2F2701 - INT 2F - DR DOS 6.0 TaskMAX - GET STATUS
2F2702 - INT 2F - DR DOS 6.0 TaskMAX - GET PER-TASK EMS LIMIT
2F2703 - INT 2F - DR DOS 6.0 TaskMAX - SET PER-TASK EMS LIMIT
2F2704 - INT 2F - DR DOS 6.0 TaskMAX - REGISTER/UNREGISTER TASK MANAGER
2F2705 - INT 2F - DR DOS 6.0 TaskMAX - ENABLE/DISABLE DIRECT SWITCHING
2F2706 - INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO SPECIFIED TASK
2F2707 - INT 2F - DR DOS 6.0 TaskMAX - CREATE NEW TASK
2F2708 - INT 2F - DR DOS 6.0 TaskMAX - DELETE TASK
2F2709 - INT 2F - DR DOS 6.0 TaskMAX - NAME TASK
2F270A - INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK INDEX TO TASK ID
2F270B - INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK ID TO TASK INDEX
2F270C - INT 2F - DR DOS 6.0 TaskMAX - CHECK OPEN FILES
2F270D - INT 2F - DR DOS 6.0 TaskMAX - CHECK IF TASK RUNNING PRIMARY COMMAND INTERPRETER
2F270E - INT 2F - DR DOS 6.0 TaskMAX - GET/SET TEXT PASTE LEAD-IN
2F270F - INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE LEAD-IN
2F2710 - INT 2F - DR DOS 6.0 TaskMAX - GET/SET PASTE LINE TERMINATOR STRING
2F2711 - INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE DECIMAL POINT
2F2712 - INT 2F - DR DOS 6.0 TaskMAX - INITIATE EXPORTING TASK DATA
2F2713 - INT 2F - DR DOS 6.0 TaskMAX - INITIATE PASTE OPERATION
2F2714 - INT 2F - DR DOS 6.0 TaskMAX - GET SWAP SPACE INFO
2F2715 - INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO TASK MANAGER
2F2716 - INT 2F - DR DOS 6.0 TaskMAX - GET PASTE BUFFER STATUS
2F2717 - INT 2F - DR DOS 6.0 TaskMAX - PASTE DATA DIRECTLY TO APPLICATION BUFFER
2F2718 - INT 2F - DR DOS 6.0 TaskMAX - COPY DATA DIRECTLY INTO PASTE BUFFER
2F2719 - INT 2F - Novell DOS 7 TaskMGR - NOP
2F271C - INT 2F U - Novell DOS 7 TaskMGR - ???
2F2780CL01 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - SUPERVISOR MODULE
2F2780CL02 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - REAL-TIME MONITOR
2F2780CL03 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - MEMORY
2F2780CL04 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DOMAINS
2F2780CL05 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - VIRTUAL MACHINES
2F2780CL06 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DPMI SERVICES
2F2780 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - AVAILABLE FOR APPS
2F2781 - INT 2F U - Novell DOS 7 TaskMGR - BEGIN CRITICAL SECTION???
2F2782 - INT 2F U - Novell DOS 7 TaskMGR - END CRITICAL SECTION???
2F2783 - INT 2F U - Novell DOS 7 - EMM386.EXE - GET ???
2F278F - INT 2F U - Novell DOS 7 TaskMGR - ??? API
2F2A - INT 2F - Gammafax DOS Dispatcher INTERFACE
2F2E00 - INT 2F U - Novell DOS 7 - GRAFTABL - INSTALLATION CHECK
2F2E - INT 2F U - Novell DOS 7 - GRAFTABL - GET FONT TABLE
2F3900 - INT 2F - Kingswood TSR INTERFACE - COMPATIBILITY MODE
2F39--BL00 - INT 2F - Kingswood TSR INTERFACE - INSTALLATION CHECK
2F39--BL01 - INT 2F - Kingswood TSR INTERFACE - REMOVAL CHECK
2F39 - INT 2F - Kingswood TSR INTERFACE - APPLICATION-SPECIFIC FUNCTION CALLS
2F3901BL02 - INT 2F - Kingswood TSR Windows - OPEN WINDOW
2F3901BL03 - INT 2F - Kingswood TSR Windows - HIDE WINDOWS
2F3901BL04 - INT 2F - Kingswood TSR Windows - SHOW WINDOWS
2F3901BL05 - INT 2F - Kingswood TSR Windows - CLOSE WINDOW
2F3901BL06 - INT 2F - Kingswood TSR Windows - SET WINDOW TITLE
2F3901BL07 - INT 2F - Kingswood TSR Windows - POSITION CURSOR
2F3901BL08 - INT 2F - Kingswood TSR Windows - DISPLAY STRING
2F3901BL09 - INT 2F - Kingswood TSR Windows - SCROLL WINDOW
2F3901BL0A - INT 2F - Kingswood TSR Windows - SOUND BEEPER
2F3901BL0B - INT 2F - Kingswood TSR Windows - ADD OR REMOVE USER
2F3912BL03 - INT 2F - Kingswood ANSI display driver - SET COMPATIBILITY MODE
2F3912BL04 - INT 2F - Kingswood ANSI display driver - SET FLAGS
2F4000 - INT 2F - Windows 3+ (OS/2 2.x???) - GET VIRTUAL DEVICE DRIVER (VDD) CAPABILTIES
2F4001 - INT 2F C - OS/2 compatibility box - SWITCHING DOS TO BACKGROUND
2F4002 - INT 2F C - OS/2 compatibility box - SWITCHING DOS TO FOREGROUND
2F4003 - INT 2F - Windows 3.x - ENTERING VIDEO DRIVER CRITICAL SECTION
2F4004 - INT 2F - Windows 3.x - EXITING VIDEO DRIVER CRITICAL SECTION
2F4005 - INT 2F C - Windows 3.x - SWITCHING DOS TO BACKGROUND
2F4006 - INT 2F C - Windows 3.x - SWITCHING DOS TO FOREGROUND
2F4007 - INT 2F - Windows 3.x - ENABLE VDD TRAPPING OF VIDEO REGISTERS
2F4010 - INT 2F - OS/2 v2.0+ - INSTALLATION CHECK / GET VERSION
2F4011 - INT 2F - OS/2 - GET VDD API ENTRY POINT
2F4021 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
2F4022 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
2F4023 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
2F4027 - INT 2F UC - Diamond Stealth64 Video - DMSSTL.DRV - ???
2F4040 - INT 2F - PharLap 286|DOS-Extender Lite v2.5 - ???
2F4100 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - INSTALLATION CHECK
2F4103 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
2F4104 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
2F42 - INT 2F - LAN Manager 2.0 DOS Enhanced MSRV.EXE - MESSENGER SERVICE
2F4300 - INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - INSTALLATION CHECK
2F4308 - INT 2F U - HIMEM.SYS v2.77+ - GET A20 HANDLER NUMBER
2F4309 - INT 2F U - HIMEM.SYS v3.09+ - GET XMS HANDLE TABLE
2F4310 - INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - GET DRIVER ADDRESS
2F4310 - INT 2F - Cloaking - REAL-MODE API
2F4310 - INT 2F - Helix Netroom RM386 v6.00 - XMS EXTENSIONS
2F4310 - INT 2F - NEC PC-9800 - XMZ - PRIVATE API
2F4320 - INT 2F U - HIMEM.SYS - Mach 20 SUPPORT
2F4330 - INT 2F CU - HIMEM.SYS v2.77+ - GET EXTERNAL A20 HANDLER ADDRESS
2F43D6 - INT 2F - Multiplex - ???
2F43E0BX0000 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - INSTALLATION CHECK
2F43E1 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - REGISTER CLIENT
2F43E2 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - ENABLE/DISABLE DPMS
2F43E3BX0000 - INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS STARTUP BROADCAST
2F43E4BX0000 - INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS EXIT BROADCAST
2F44 - INT 2F U - DOS Extender support???
2F4500 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - INSTALLATION CHECK
2F4501 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SETUP PROFILER
2F4502 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SET SAMPLING RATE
2F4503 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - START PROFILING
2F4504 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - STOP PROFILING
2F4505 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - CLEAR PROFILING DATA
2F4506 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFlush"
2F4507 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFinish"
2F4508 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - ALTERNATE SEGDEBUG IFACE
2F4601 - INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
2F4602 - INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
2F46 - INT 2F U - Windows/286 DOS Extender
2F4653CX0002 - INT 2F - F-PROT v1.x only - F-LOCK.EXE - API
2F4653CX0003 - INT 2F - F-PROT v1.x only - F-XCHK.EXE - API
2F4653CX0004 - INT 2F - F-PROT v1.x only - F-POPUP.EXE - API
2F4653CX0005 - INT 2F - F-PROT v1.x only - F-DLOCK.EXE - API
2F4653CX0007 - INT 2F - F-PROT v2.x - VIRSTOP - ENABLE/DISABLE BOOTSECTOR READ CHECKING
2F4653CX0008 - INT 2F - F-PROT v2.x - ???
2F4653CX0008 - INT 2F - F-PROT v2.x - VIRSTOP - INSTALLATION CHECK
2F4680 - INT 2F U - MS Windows v3.0 - INSTALLATION CHECK
2F47 - INT 2F U - ???
2F4800 - INT 2F - DOS 5+ DOSKEY - INSTALLATION CHECK
2F4800 - INT 2F - PCED v2.1 - INSTALLATION CHECK
2F4810 - INT 2F - DOS 5+ DOSKEY, PCED v2.1 - READ INPUT LINE FROM CONSOLE
2F48C0 - INT 2F - PCED v2.1 - PCED API
2F48C1BL00 - INT 2F - PCED/VSTACK - INSTALLATION CHECK
2F48C2BL00 - INT 2F - PCED/ATTRIB - INSTALLATION CHECK
2F48C3BL00 - INT 2F - PCED/KEYDEF - INSTALLATION CHECK
2F48C4BL00 - INT 2F - PCED/FLIST - INSTALLATION CHECK
2F48C5BL00 - INT 2F - PCED/ASSOC - INSTALLATION CHECK
2F48C5BL01 - INT 2F - PCED/ASSOC - GET VERSION
2F48C5BL02 - INT 2F - PCED/ASSOC - ASSOCIATION TEST
2F49 - INT 2F U - DOS 5.0+ SETUP
2F4A00CX0000 - INT 2F CU - DOS 5+ - FLOPPY-DISK LOGICAL DRIVE CHANGE NOTIFICATION
2F4A01 - INT 2F - DOS 5+ - QUERY FREE HMA SPACE
2F4A02 - INT 2F - DOS 5+ - ALLOCATE HMA SPACE
2F4A03 - INT 2F U - Windows95 - DOS KERNEL - (DE)ALLOCATE HMA MEMORY BLOCK
2F4A04 - INT 2F U - Windows95 - DOS KERNEL - GET START OF HMA MEMORY CHAIN
2F4A05 - INT 2F U - DOS 5+ DOSSHELL - TASK SWITCHING API???
2F4A06 - INT 2F CU - DOS 5+ - DOS SUPERVISOR "REBOOT PANEL" - ADJUST MEMORY SIZE
2F4A07 - INT 2F U - RESERVED FOR PROTMAN SUPPORT
2F4A10BX0000 - INT 2F - SMARTDRV v4.00+ - INSTALLATION CHECK AND HIT RATIOS
2F4A10BX0000 - INT 2F U - Novell NWCACHE - INSTALLATION CHECK AND STATISTICS
2F4A10BX0001 - INT 2F - SMARTDRV v4.00+ - FLUSH BUFFERS (COMMIT CACHE)
2F4A10BX0001 - INT 2F U - Novell NWCACHE - ???
2F4A10BX0002 - INT 2F - SMARTDRV v4.00+ - RESET CACHE
2F4A10BX0003 - INT 2F - SMARTDRV v4.00+ - STATUS
2F4A10BX0004 - INT 2F - SMARTDRV v4.00+ - GET CACHE SIZE
2F4A10BX0005 - INT 2F - SMARTDRV v4.00+ - GET DOUBLE-BUFFER STATUS
2F4A10BX0006 - INT 2F CU - SMARTDRV v4.00+ - CHECK IF DRIVE CACHEABLE
2F4A10BX0007 - INT 2F - SMARTDRV v4.00+ - GET DEVICE DRIVER FOR DRIVE
2F4A10BX0008 - INT 2F - SMARTDRV v4.20+ - GET/SET FLUSH BEFORE PROMPT, CD-ROM SUPPORT
2F4A10BX000A - INT 2F - SMARTDRV v4.00+ - GET ELEMENT STATUS TABLE
2F4A10BX1234 - INT 2F - SMARTDRV v4.00+ - SIGNAL SERIOUS ERROR
2F4A11BX0000 - INT 2F - DBLSPACE.BIN - "GetVersion" - INSTALLATION CHECK
2F4A11BX0001 - INT 2F - DBLSPACE.BIN - "GetDriveMapping" - GET DRIVE MAPPING
2F4A11BX0002 - INT 2F - DBLSPACE.BIN - "Swap Drive" - SWAP DRIVE LETTERS OF CVF AND HOST DRIVE
2F4A11BX0003 - INT 2F - DBLSPACE.BIN - "DSGetEntryPoints" - GET DEVICE DRIVER ENTRY POINTS
2F4A11BX0004 - INT 2F - DBLSPACE.BIN - "DSSetEntryPoints" - SET DEVICE DRIVER ENTRY POINTS
2F4A11BX0005 - INT 2F - DBLSPACE.BIN - "ActivateDrive" - MOUNT COMPRESSED DRIVE
2F4A11BX0006 - INT 2F - DBLSPACE.BIN - "DeactivateDrive" - UNMOUNT COMPRESSED DRIVE
2F4A11BX0007 - INT 2F - DBLSPACE.BIN - "GetDriveSpace" - GET SPACE AVAIL ON COMPRESSED DRIVE
2F4A11BX0008 - INT 2F - DBLSPACE.BIN - "GetFileFragmentSpace" - GET SIZE OF FRAGMENT HEAP
2F4A11BX0009 - INT 2F - DBLSPACE.BIN - "GetExtraInfo" - DETERMINE NUMBER OF DISK_UNIT STRUCTS
2F4A11BX000A - INT 2F - DBLSPACE.BIN v6.2 - SET AUTOMOUNT DRIVES
2F4A11BX000B - INT 2F - DBLSPACE.BIN v6.2 - GET AUTOMOUNT DRIVES
2F4A11BXFFFE - INT 2F U - DBLSPACE.BIN - RELOCATE
2F4A11BXFFFF - INT 2F U - DBLSPACE.BIN - GET RELOCATION SIZE
2F4A12CX4D52 - INT 2F - Microsoft Realtime Compression Interface (MRCI) - RAM-BASED SERVER
2F4A12CX5354 - INT 2F - Stacker 4 LZS Compression Interface (LZSAPI)
2F4A13 - INT 2F U - DBLSPACE.BIN - DBLSPACE/MRCI STEALTH PACKET API
2F4A15BX0000 - INT 2F - MS EMM386.EXE v4.46+ - INSTALL I/O VIRTUALIZATION HANDLER
2F4A16 - INT 2F U - Windows95 - OPEN BOOT LOG
2F4A17 - INT 2F U - Windows95 - WRITE TO BOOT LOG
2F4A18 - INT 2F U - Windows95 - CLOSE BOOT LOG
2F4A21 - INT 2F U - Windows95 - ???
2F4A31 - INT 2F U - Windows95 - ???
2F4A32 - INT 2F U - Windows95 - PATCH ???
2F4A33 - INT 2F - Windows95 - CHECK MS-DOS VERSION 7
2F4B - INT 2F - LAN Manager 2.0 DOS Enh NETWKSTA.EXE - NETWORK WORKSTATION REDIRECTOR
2F4B01 - INT 2F C - DOS 5+ TASK SWITCHER - BUILD CALLOUT CHAIN
2F4B02BX0000 - INT 2F - DOS 5+ TASK SWITCHER - INSTALLATION CHECK
2F4B03 - INT 2F - DOS 5+ TASK SWITCHER - ALLOCATE SWITCHER ID
2F4B04 - INT 2F - DOS 5+ TASK SWITCHER - FREE SWITCHER ID
2F4B05 - INT 2F C - DOS 5+ TASK SWITCHER - IDENTIFY INSTANCE DATA
2F4B06 - INT 2F - MS Windows - WIN.COM - GET ??? POINTER TO WIN.COM
2F4B20 - INT 2F - MS Windows 3+ - WIN.COM - SET PROGRAM TO EXECUTE ON EXIT
2F4B21 - INT 2F - Windows95 - WIN.COM - GET NESTING LEVEL
2F4B52 - INT 2F - KeyRus v7.3 - API
2F4B80 - INT 2F - MS Windows - WSWAP.EXE - RESET INTERNAL VARIABLES
2F4C - INT 2F U - Advanced Power Management
2F4D - INT 2F U - KKCFUNC
2F4E53BL00 - INT 2F - SilverNET v2+ - INSTALLATION CHECK
2F4E53BL01 - INT 2F - SilverNET - GET RUNTIME PARAMETER
2F4E53BL02 - INT 2F - SilverNET - SET RUNTIME PARAMETERS
2F5100 - INT 2F U - ODIHLP.EXE - INSTALLATION CHECK
2F5200 - INT 2F - JAM.SYS v1.10+ - "GetVersion" - INSTALLATION CHECK
2F5201 - INT 2F - JAM.SYS v1.10+ - "GetInfo" - GET COMPRESSED DRIVE INFORMATION
2F5202 - INT 2F - JAM.SYS v1.10+ - "Attach" - MOUNT COMPRESSED DRIVE
2F5203 - INT 2F - JAM.SYS v1.10+ - "Detach" - UNMOUNT COMPRESSED DRIVE
2F5204 - INT 2F - JAM.SYS v1.10+ - "Lock" - LOCK COMPRESSED DRIVE
2F5205 - INT 2F - JAM.SYS v1.10+ - "UnLock" - UNLOCK COMPRESSED DRIVE
2F5206 - INT 2F - JAM.SYS v1.10+ - "Read" - PHYSICAL READ DATA FROM JAM ARCHIVE
2F5207 - INT 2F - JAM.SYS v1.10+ - "Write" - PHYSICAL WRITE DATA TO JAM ARCHIVE
2F53 - INT 2F U - POWER.EXE - APM event broadcasting???
2F530B - INT 2F U - ??? (MOUSEPWR.COM, others) - ???
2F5400 - INT 2F U - POWER.EXE - INSTALLATION CHECK
2F5401 - INT 2F U - POWER.EXE - GET/SET POWER STATUS
2F5402 - INT 2F U - POWER.EXE - GET/SET IDLE DETECTION STRATEGY
2F5403 - INT 2F U - POWER.EXE - GET/SET ADVANCED POWER MANAGEMENT SETTING
2F5453 - INT 2F - TesSeRact RAM-RESIDENT PROGRAM INTERFACE
2F5480 - INT 2F U - POWER.EXE - GET/SET ???
2F5481 - INT 2F U - POWER.EXE - GET STATISTICS
2F5482 - INT 2F U - POWER.EXE - GET/SET APM POLLING FREQUENCY
2F548F - INT 2F U - POWER.EXE - GET/SET ???
2F5500 - INT 2F U - DOS 5+ - COMMAND.COM INTERFACE
2F5501 - INT 2F U - DOS 5+ - ROM COMMAND.COM INTERFACE
2F5600 - INT 2F - INTERLNK - INSTALLATION CHECK
2F5601 - INT 2F - INTERLNK - CHECK IF REDIRECTED DRIVE
2F5602 - INT 2F - INTERLNK - CHECK IF PORT IN USE
2F5700 - INT 2F U - IOMEGA DRIVERS - INSTALLATION CHECK
2F5701 - INT 2F U - IOMEGA DRIVERS - SECONDARY INSTALLATION CHECK
2F5710 - INT 2F U - IOMEGA DRIVERS - GET DRIVER INFORMATION???
2F5711 - INT 2F U - IOMEGA DRIVERS - LOCK MEDIA IN DRIVE
2F5712 - INT 2F U - IOMEGA DRIVERS - UNLOCK MEDIA IN DRIVE / EJECT
2F5758BX4858 - INT 2F U - Helix Multimedia Cloaking - CACHECLK - INSTALLATION CHECK
2F5D00 - INT 2F U - PCMCIA - AWARD PCDISK - GET INFO FROM DRIVER ???
2F5D01 - INT 2F U - PCMCIA - AWARD PCDISK - PUT INFO INTO DRIVER ???
2F60FFDL00 - INT 2F U - IPLAY v1.00b - INSTALLATION CHECK
2F60FFDL01 - INT 2F U - IPLAY v1.00b - GET DATA SEGMENT
2F6282 - INT 2F U - PC Tools v7.0+ VDEFEND, VSAFE, VWATCH, DATAMON - SET ??? ADDRESS
2F6284BX0000 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
2F6284BX0001 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
2F6284BX0002 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET OPTIONS
2F6284BX0003 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - SET OPTION??? FLAGS
2F6284BX0004 - INT 2F U - PC Tools v8 DATAMON, v9+ DPROTECT - ???
2F6400 - INT 2F - SCRNSAV2.COM - INSTALLATION CHECK
2F7000 - INT 2F - License Service API - INSTALLATION CHECK
2F7001 - INT 2F - License Service API - REQUEST LICENSE
2F7002 - INT 2F - License Service API - RELEASE LICENSE
2F7003 - INT 2F - License Service API - UPDATE
2F7004 - INT 2F - License Service API - GET ERROR
2F7005 - INT 2F - License Service API - QUERY LICENSE
2F7041BX4B70 - INT 2F U - HP 200LX - KEY200 - INSTALLATION CHECK
2F7200 - INT 2F - SRDISK v1.30+ - INSTALLATION CHECK
2F7201 - INT 2F - SRDISK v2.02 - GET CODE/DATA SEGMENT
Section -
2F7A00 - INT 2F - Novell NetWare - LOW-LEVEL API (IPX) INSTALLATION CHECK
2F7A10 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET TBMI STATUS
2F7A11 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT2F HANDLERS
2F7A12 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT64 HANDLERS
2F7A13 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT7A HANDLERS
2F7A14 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET STATISTICS
2F7A15 - INT 2F OU - Novell NetWare - TBMI v1.1 only - RESET ???
2F7A16 - INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
2F7A17 - INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
2F7A18 - INT 2F U - Novell NetWare - TASKID v1.0 - INSTALLATION CHECK
2F7A19 - INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 08 HANDLERS
2F7A1A - INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 2F HANDLERS
2F7A1B - INT 2F U - Novell NetWare - TASKID v1.0 - GET DIAGNOSTICS INFORMATION
2F7A1C - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
2F7A1D - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
2F7A1E - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
2F7A20BX0000 - INT 2F - Novell NetWare - Adv NetWare 4.0 DOS Requester - GET VLM CALL ADDRESS
2F7A20BX0001 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM CallA ADDRESS
2F7A20BX0002 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTIPLEX ADDRESS
2F7A20BX0003 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM PARSE API ADDRESS
2F7A20BX0004 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTICAST CALLOUT
2F7A20BX0005 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM INT 24 ADDRESS
2F7A20BX0006 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0007 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0008 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0080 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0081 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0082 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A21 - INT 2F C - Novell NetWare - DOS Requester - BROADCAST CALLBACK
2F7A22 - INT 2F C - Novell NetWare - DOS Requester - BROADCAST/SFT3 INFORM
2F7A2F - INT 2F - Novell NetWare - IPXODI v2.12 - GET GNMA SUPPORT
2F7A2FBX0EDC - INT 2F U - Personal NetWare - HRMIB - UNINSTALL
2F7A40 - INT 2F - Novell NetWare - TCP/IP Protocol Stack - INSTALLATION CHECK
2F7A41 - INT 2F U - Novell NetWare - TCP/IP Protocol Stack - WINDOWS SUPPORT???
2F7A42 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ??? ENTRY POINT
2F7A43 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
2F7A44 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - SET ???
2F7A4C - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
2F7A4DBX0001 - INT 2F U - Novell NetWare - ???
2F7A4E - INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - INSTALLATION CHECK
2F7A4F - INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - UNINSTALL
2F7A4FBX0001 - INT 2F U - Novell NetWare - SNMP.EXE - INSTALLATION CHECK
2F7A4FBX0002 - INT 2F U - Novell NetWare - SNMP.EXE - ???
2F7A80 - INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - ABNORMAL EXIT
2F7A81 - INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - SET SHELL INT 21 HANDLER
2F7A85 - INT 2F C - Novell NetWare - shell 3.01 - BROADCAST INFORM
2F7A90 - INT 2F U - Novell NetWare - NETBIOS.EXE 3+ - INSTALLATION CHECK
2F7AA0 - INT 2F U - Personal NetWare - HRMIB - ???
2F7AC1 - INT 2F - LAN HiJack - LHR - DISABLE???
2F7AC2 - INT 2F - LAN HiJack - LHR - SYNCHRONIZE SHIFT STATES???
2F7AC3 - INT 2F - LAN HiJack - LHR - CLEAR ??? FLAG
2F7AC8 - INT 2F - LAN HiJack - LHR - ENABLE FUNCTIONS
2F7AC9 - INT 2F - LAN HiJack - LHR - DISABLE FUNCTIONS
2F7ACA - INT 2F - LAN HiJack - LHJ - ???
2F7ACB - INT 2F - LAN HiJack - LHJ - ???
2F7ACC - INT 2F - LAN HiJack - LHJ - ???
2F7ACFBX0000 - INT 2F - LAN HiJack - LHR - INSTALLATION CHECK
2F7AF0 - INT 2F - Novell NetWare - DOSNP.EXE v1.30G - INSTALLATION CHECK
2F7AF1 - INT 2F - Novell NetWare - Access Server Driver - INSTALLATION CHECK
2F7AFE - INT 2F U - Novell NetWare - DOSNP.EXE - INSTALLATION CHECK
2F7AFFBX0000 - INT 2F - Novell NetWare - TBMI v1.1+ - INSTALLATION CHECK / Windows SUPPORT
2F7AFFBX0001 - INT 2F - Novell NetWare - TBMI v1.1+, shell v3.01d - INSTALLATION CHECK???
2F7F00 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - INSTALLATION CHECK
2F7F00 - INT 2F - PRINDIR v9.0 - INSTALLATION CHECK
2F7F01 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO COMMAND
2F7F01 - INT 2F - PRINDIR v9.0 - SET CAPTURE DEVICE
2F7F02 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO RESET
2F7F02 - INT 2F - PRINDIR v9.0 - SET DESTINATION DEVICE
2F7F03 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - UNINSTALL
2F7F03 - INT 2F - PRINDIR v9.0 - SET CAPTURE FILENAME
2F7F04 - INT 2F - PRINDIR v9.0 - SET LOCK FILENAME
2F7F05 - INT 2F - PRINDIR v9.0 - DUMP CAPTURE BUFFER
2F7F06 - INT 2F - PRINDIR v9.0 - SET NORMAL TEXT COLOR
2F7F07 - INT 2F - PRINDIR v9.0 - SET HIGHLIGHT TEXT COLOR
2F7F08 - INT 2F - PRINDIR v9.0 - SET POPUP HOTKEY
2F7F09 - INT 2F - PRINDIR v9.0 - SET BYTE COUNTER DISPLAY
2F7F0A - INT 2F - PRINDIR v9.0 - SET FLUSH DELAY
2F7F0B - INT 2F - PRINDIR v9.0 - SET MINIMUM DUMP SIZE
2F7F0C - INT 2F - PRINDIR v9.0 - SET ECHO STATE
2F7F0D - INT 2F - PRINDIR v9.0 - SHOW POPUP PARAMETER MENU
2F7F0E - INT 2F - PRINDIR v9.0 - SUBMIT BYTE TO CURRENT DESTINATION DEVICE
2F7F24 - INT 2F - Multiplex - ???
2F7F26 - INT 2F - Multiplex - ???
2F8000 - INT 2F - EASY-NET - INSTALLATION CHECK
2F8000 - INT 2F - Nanosoft, Inc. TurboNET server - INSTALLATION CHECK
2F8000 - INT 2F - CS_TSR specification - TSR INSTALLATION CHECK
2F8000DX0000 - INT 2F - FaxBIOS interface - INSTALLATION CHECK
2F8001 - INT 2F - Nanosoft, Inc. TurboNET server - ???
2F8001 - INT 2F - CS_TSR specification - GET HANDLE (TSR-SPECIFIC INSTALLATION CHECK)
2F8002 - INT 2F - CS_TSR specification - GET PROCESS BLOCK BY PROCESS HANDLE
2F8003 - INT 2F - CS_TSR specification - CUSTOM SUBFUNCTION
2F80FB - INT 2F - FaxBIOS interface - COMMAND SUBMISSION
2F8100 - INT 2F U - Nanosoft, Inc. TurboNET redirector - INSTALLATION CHECK
2F8101 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2F8102 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2F8103 - INT 2F U - Nanosoft, Inc. TurboNET redirector - GET MACHINE NAME???
2F8104 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2F8105 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2F8200 - INT 2F - RESPLAY - SAMPLE/PLAYBACK
2F8200 - INT 2F U - Nanosoft, Inc. CAPDOS - INSTALLATION CHECK
2F8201 - INT 2F - RESPLAY - INSTALLATION CHECK
2F8201 - INT 2F - Nanosoft, Inc. CAPDOS - CLEAR QUEUE
2F8202 - INT 2F - RESPLAY - UNINSTALL
2F8202 - INT 2F - Nanosoft, Inc. CAPDOS - START COLLECTION
2F8203 - INT 2F - Nanosoft, Inc. CAPDOS - STOP COLLECTION
2F8204 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE PARAMETERS
2F8205 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE ITEM
2F8210 - INT 2F - RESPLAY - INITIALIZE
2F8220 - INT 2F - MODRES - PLAY MODULE
2F8221 - INT 2F - MODRES - INSTALLATION CHECK
2F8222 - INT 2F - MODRES - UNINSTALL
2F8223 - INT 2F - MODRES - PLAY SAMPLE
2F8224 - INT 2F - MODRES - ???
2F8225 - INT 2F - MODRES v2.00+ - GET LOCATION IN MOD
2F8226 - INT 2F - MODRES v2.00+ - STOP PLAYING
2F8227 - INT 2F - MODRES - CONFIGURE
2F86 - INT 2F U - ???
2F8900 - INT 2F - WHOA!.COM - INSTALLATION CHECK
2F8901 - INT 2F - WHOA!.COM - UNINSTALL
2F8902 - INT 2F - WHOA!.COM - SET DELAY COUNT
2F9000 - INT 2F U - RAID - INSTALLATION CHECK
2F9001 - INT 2F U - RAID - GET ???
2F9002 - INT 2F U - RAID - GET RESIDENT SEGMENT
2F9003 - INT 2F U - RAID - UNINSTALL
2F9004 - INT 2F U - RAID - GET ???
2F92 - INT 2F - Network Courier E-Mail - API
2F9200 - INT 2F U - PC Tools v8.0 DRIVEMAP - BUG
2F9201 - INT 2F U - PC Tools v8.0 DRIVEMAP - CHECK IF MAPPED DRIVE
2F9202 - INT 2F U - PC Tools v8.0 DRIVEMAP - UNINSTALL
2F9203 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET VERSION
2F9204 - INT 2F U - PC Tools v8.0 DRIVEMAP - INSTALLATION CHECK
2F9205 - INT 2F U - PC Tools v8.0 DRIVEMAP - SET ???
2F9206 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9207 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9208 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9209 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F920A - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F920B - INT 2F U - PC Tools v8.0 DRIVEMAP - SET DRIVE MAPPING
2F920C - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F920D - INT 2F U - PC Tools v8.0 DRIVEMAP - GET DRIVE TYPE
2F920E - INT 2F U - PC Tools v8.0 DRIVEMAP - SET LPT MAPPING
2F920F - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9210 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9211 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9212 - INT 2F U - PC Tools v8.0 DRIVEMAP - CRITICAL SECTION???
2F9213 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9214 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9215 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9216 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9217 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9218 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET LPT TYPE???
2F9219 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921A - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921B - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921C - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921D - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F921E - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F93 - INT 2F - InnerMission v1.7+ - INSTALLATION CHECK
2F9400 - INT 2F - MICRO.EXE - INSTALLATION CHECK
2F9401 - INT 2F - MICRO.EXE - SET ??? FLAG
2F9402 - INT 2F - MICRO.EXE - ???
2F9403 - INT 2F - MICRO.EXE - SET ??? FLAG
2F9404 - INT 2F - MICRO.EXE - CLEAR ??? FLAG
2F96C7 - INT 2F U - STRETCH - INSTALLATION CHECK
2F97 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2F98 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2F9800 - INT 2F U - S3RMDRV.SYS - INSTALLATION CHECK / VERSION CHECK
2F9803 - INT 2F U - S3RMDRV.SYS - COPY ??? INTO USER BUFFER
2F99 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2F9900 - INT 2F U - DOS Navigator II - INSTALLATION CHECK
2F9901 - INT 2F U - DOS Navigator II - RETURN POINTER TO COMMAND LINE
2F9902 - INT 2F U - DOS Navigator II - SET 'TRUE' EXIT CODE OF DN.PRG
2F9903 - INT 2F U - DOS Navigator II - SPECIFY HOW TO EXECUTE COMMANDS
2F9904 - INT 2F U - DOS Navigator II v1.49 - SET ???
2F9905 - INT 2F U - DOS Navigator II v1.49 - GET ???
2F9906 - INT 2F U - DOS Navigator II v1.49 - GET ???
2F9A - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2F9C - INT 2F - Network Courier E-Mail OPERATOR.EXE - API
2F9E00 - INT 2F U - INTMON v2.1 - INSTALLATION CHECK
2F9E01 - INT 2F U - INTMON v2.1 - RESET
2F9E02 - INT 2F U - INTMON v2.1 - DISPLAY CPU REGISTERS???
2F9E03 - INT 2F U - INTMON v2.1 - HOOK INTERRUPT???
2F9F00 - INT 2F U - INTCFG v2.1 - INSTALLATION CHECK
2F9F01 - INT 2F U - INTCFG v2.1 - ???
2F9F30 - INT 2F U - INTCFG v2.1 - GET ???
2F9F49 - INT 2F U - INTCFG v2.1 - UNINSTALL
2FA1--BX0081 - INT 2F - Ergo DOS extenders - INSTALLATION CHECK
2FA189 - INT 2F U - Biologic HRAMDEV.SYS - API
2FA4E0 - INT 2F - Futurus Team - INSTALLATION CHECK
2FA900 - INT 2F - METZTSR.COM - INSTALLATION CHECK
2FA901 - INT 2F - METZTSR.COM - GET TIME OF LAST KEYBOARD ACTIVITY
2FA902 - INT 2F - METZTSR.COM - SET METZ Ctrl-Alt-Del FLAG
2FA903 - INT 2F - METZTSR.COM - GET METZ Ctrl-Alt-Del FLAG
2FAA - INT 2F - Player's Tool 3.996b+ - UNINSTALL
2FAA00 - INT 2F - VIDCLOCK.COM - INSTALLATION CHECK
2FAB - INT 2F - Player's Tool 3.996b+ - INSTALLATION CHECK
2FAB00 - INT 2F - Btrieve Multi-User - INSTALLATION CHECK
2FAB00 - INT 2F - SRSoft MODAL PC v2+ - INSTALLATION CHECK / GET VERSION
2FAB01 - INT 2F - Btrieve Multi-User - EXECUTE Btrieve OPERATION
2FAB01 - INT 2F - SRSoft MODAL PC v2+ - GET PROCESS RUN PARAMETER
2FAB02 - INT 2F - Btrieve Multi-User - GET NEW PROCESS ID
2FAB02 - INT 2F - SRSoft MODAL PC v2+ - SET PROCESS EXIT CODE
2FAB03 - INT 2F - SRSoft MODAL PC v2+ - ALLOCATE COMMON MEMORY
2FAB04 - INT 2F - SRSoft MODAL PC v2+ - GET ALL COMMON VARIABLES AND SEMAPHORES
2FAB05 - INT 2F - SRSoft MODAL PC v2+ - SET ALL COMMON VARIABLES AND SEMAPHORES
2FAB06 - INT 2F - SRSoft MODAL PC v2+ - GET A COMMON VARIABLE OR SEMAPHORE
2FAB07 - INT 2F - SRSoft MODAL PC v2+ - SET A COMMON VARIABLE OR SEMAPHORE
2FAC - INT 2F u - Player's Tool 3.996b+ - POP UP
2FAC00 - INT 2F - DOS 4.01+ GRAPHICS.COM - INSTALLATION CHECK
2FAC00DI1092 - INT 2F - QRIP/TSR - GIVE CPU TO QRIP
2FAC01DI1092 - INT 2F - QRIP/TSR - CHANGE INTERNAL FLAGS
2FAC02DI1092 - INT 2F - QRIP/TSR - TURN OFF GRAPHICS SCREEN
2FAC03DI1092 - INT 2F - QRIP/TSR - TURN ON GRAPHICS SCREEN
2FAC04DI1092 - INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
2FAC05DI1092 - INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
2FAC06DI1092 - INT 2F - QRIP/TSR - RECEIVE CHARACTERS FROM QRIP
2FAC07DI1092 - INT 2F - QRIP/TSR - GET FONT DIRECTORY
2FAC08DI1092 - INT 2F - QRIP/TSR - GET ICON DIRECTORY
2FAC09DI1092 - INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
2FAC0ADI1092 - INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
2FAC0BDI1092 - INT 2F - QRIP/TSR - EXECUTE RIP "END SCENE" COMMAND
2FAC0CDI1092 - INT 2F - QRIP/TSR - GET STRING TO BE SENT TO BBS
2FAC0DDI1092 - INT 2F - QRIP/TSR - SET PROTECTED SCREEN AREA
2FAC0EDI1092 - INT 2F - QRIP/TSR - WRITE ASCIZ STRING IN PROTECTED AREA
2FAC0FDI1092 - INT 2F - QRIP/TSR - SCROLL PROTECTED AREA
2FAC10DI1092 - INT 2F - QRIP/TSR - SET OUTPUT COLOR FOR PROTECTED AREA
2FAC11DI1092 - INT 2F - QRIP/TSR - CONVERT PROTECTED AREA TO ENTIRE SCREEN
2FAC12DI1092 - INT 2F - QRIP/TSR - BEGIN POPUP-WINDOW MODE
2FAC13DI1092 - INT 2F - QRIP/TSR - END POPUP-WINDOW MODE
2FAC14DI1092 - INT 2F - QRIP/TSR - SAVE GRAPHICS SCREEN AND SWITCH TO TEXT MODE
2FAC15DI1092 - INT 2F - QRIP/TSR - RESTORE GRAPHICS SCREEN
2FAC16DI1092 - INT 2F - QRIP/TSR - REPORT MODE CHANGE TO QRIP
2FAC17DI1092 - INT 2F - QRIP/TSR - CALL (EXECUTE) A RIP FILE
2FAC18DI1092 - INT 2F - QRIP/TSR - SEND USER KEY TO QRIP
2FAC19DI1092 - INT 2F - QRIP/TSR - HANGUP
2FAC1ADI1092 - INT 2F - QRIP/TSR - GET RIP_ENTER_BLOCK_MODE INFORMATION
2FAC1BDI1092 - INT 2F - QRIP/TSR - SET SYSTEM FONT SIZE
2FACF0DI1092 - INT 2F - QRIP/TSR - INSTALLATION CHECK
2FACFFDI1092 - INT 2F - QRIP/TSR - UNINSTALL
2FAD00 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - INSTALLATION CHECK
2FAD00 - INT 2F U - DR DOS 3.41-5.0, Novell DOS 7 KEYB - INSTALLATION CHECK
2FAD01 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - SET ACTIVE CODE PAGE
2FAD01 - INT 2F U - DR DOS 3.41,5.0 KEYB - GET CONFIGURATION
2FAD01 - INT 2F U - Novell DOS 7 KEYB - GET/SET??? CONFIGURATION
2FAD02 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET ACTIVE CODE PAGE
2FAD02 - INT 2F U - Novell DOS 7 KEYB - ???
2FAD03 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET CODE PAGE INFORMATION
2FAD04 - INT 2F U - DOS 4.x only DISPLAY.SYS internal - ???
2FAD10 - INT 2F U - DOS 4.x DISPLAY.SYS internal - INSTALLATION CHECK???
2FAD10 - INT 2F U - DOS 5+ DISPLAY.SYS internal - ???
2FAD40 - INT 2F - DOS 4.0+ - ???
2FAD41 - INT 2F - Arabic/Hebrew DOS 5.0???+ - GET CURRENT FONTPAGE
2FAD42 - INT 2F - Arabic/Hebrew DOS 5.0???+ SET CURRENT FONTPAGE
2FAD43 - INT 2F - Arabic/Hebrew DOS 5.0???+ - GET FONTPAGE STATUS???
2FAD80 - INT 2F u - MS-DOS 3.3+ KEYB.COM internal - INSTALLATION CHECK
2FAD80 - INT 2F u - Novell DOS 7 KEYB.COM - INSTALLATION CHECK
2FAD81 - INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD CODE PAGE
2FAD82 - INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD MAPPING
2FAD83 - INT 2F - DOS 5+ KEYB.COM - GET KEYBOARD MAPPING
2FAD84 - INT 2F - PC DOS 5.0+ KEYB.COM - SET KEYBOARD SUB-MAPPING
2FAD85 - INT 2F - PC DOS 5.0+ KEYB.COM - GET KEYBOARD SUB-MAPPING
2FADC1 - INT 2F U - DOS 4.0+ SELECT - DISPLAY FORMAT DISK PROMPT
2FAE00 - INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - INSTALLATION CHECK
2FAE01 - INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - EXECUTE
2FAF00 - INT 2F - WinDOS v2.11 - INSTALLATION CHECK
2FAF00 - INT 2F U - ???
2FAF01 - INT 2F - WinDOS v2.11 - TURN ON ONLINE MODE
2FAF02 - INT 2F - WinDOS v2.11 - TURN OFF ONLINE MODE
2FAF02 - INT 2F U - ???
2FAF03 - INT 2F - WinDOS v2.11 - TURN VIDMEM ON
2FAF03 - INT 2F U - ???
2FAF04 - INT 2F - WinDOS v2.11 - TURN VIDMEM OFF
2FAF04 - INT 2F U - ???
2FAF05 - INT 2F - WinDOS v2.11 - GET VIDMEM STATE
2FAF05 - INT 2F U - ???
2FAF06 - INT 2F - WinDOS v2.11 - MAKE PROGRAM UNBREAKABLE
2FAF07 - INT 2F - WinDOS v2.11 - SIGNAL FATAL OVERLAY FAULT
2FAF08 - INT 2F - WinDOS v2.11 - SIGNAL RECOVERABLE OVERLAY FAULT
2FAF09 - INT 2F - WinDOS v2.11 - GET TERMINATED PSP
2FAF0A - INT 2F - WinDOS v2.11 - GET MAIN SHELL PSP
2FAF0B - INT 2F - WinDOS v2.11 - SIGNAL FATAL ERROR
2FAF0C - INT 2F - WinDOS v2.11 - GET OTHER MAIN SHELL PARAMETERS
2FAF0D - INT 2F - WinDOS v2.11 - GET CURRENT PARAMETER
2FAF0E - INT 2F - WinDOS v2.11 - SET CURRENT PARAMETER BYTE VALUE
2FAF0F - INT 2F - WinDOS v2.11 - GET HISTORY SEGMENT
2FAF10 - INT 2F - WinDOS v2.11 - SET HISTORY SEGMENT
2FAF11 - INT 2F - WinDOS v2.11 - FREE XMS BLOCKS
2FAF12 - INT 2F - WinDOS v2.11 - SET XMS IDENTIFICATION VALUE
2FAF12 - INT 2F U - ???
2FAF13 - INT 2F - WinDOS v2.11 - SET ASSIGN VALUE
2FAF13 - INT 2F U - ???
2FAF14 - INT 2F - WinDOS v2.11 - GET ASSIGN VALUE
2FAF15 - INT 2F - WinDOS v2.11 - SIGNAL STACK ERROR
2FAF16 - INT 2F - WinDOS v2.11 - GET SIMPLE TRUENAME
2FAF17 - INT 2F - WinDOS v2.11 - QUERY FOR NEW CURRENT DRIVE
2FAF18 - INT 2F - WinDOS v2.11 - SET CTRL-C/CTRL-BREAK DISABLE FLAG
2FAF19 - INT 2F - WinDOS v2.11 - SET HEAD SETTLE FLAG
2FAF1A - INT 2F - WinDOS v2.11 - SEARCH FOR NON-FRAGMENTED DISK AREA
2FAF30 - INT 2F U - ???
2FAFDE - INT 2F - Disk-Emu - INSTALLATION CHECK / GET VERSION
2FB000 - INT 2F - DOS 3.3+ GRAFTABL.COM - INSTALLATION CHECK
2FB001 - INT 2F - DOS 3.3+ GRAFTABL.COM - GET GRAPHICS FONT TABLE
2FB400 - INT 2F - IBM PC3270 EMULATION PROG v3 - INSTALLATION CHECK
2FB401 - INT 2F - IBM PC3270 EMULATION PROG v3 - GET HOST BUFFER ADDRESS
2FB402 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
2FB403 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
2FB404 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
2FB405 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
2FB700 - INT 2F - APPEND - INSTALLATION CHECK
2FB701 - INT 2F U - APPEND v3.21 only - GET APPEND PATH
2FB702 - INT 2F - APPEND - GET VERSION
2FB703 - INT 2F U - DOS 3.3, DOS 5.0 APPEND - HOOK INT 21
2FB704 - INT 2F - DOS 3.3+ APPEND - GET APPEND PATH
2FB706 - INT 2F - DOS 4.0+ APPEND - GET APPEND FUNCTION STATE
2FB707 - INT 2F - DOS 4.0+ APPEND - SET APPEND FUNCTION STATE
2FB710 - INT 2F U - DOS 3.3+ APPEND - GET VERSION INFO
2FB711 - INT 2F - DOS 4.0+ APPEND - SET RETURN FOUND NAME STATE
2FB800 - INT 2F - NETWORK - INSTALLATION CHECK
2FB800CXF041 - INT 2F - 10NET - INSTALLATION CHECK
2FB803 - INT 2F - NETWORK - GET NETWORK EVENT POST HANDLER
2FB804 - INT 2F - NETWORK - SET NETWORK EVENT POST HANDLER
2FB807 - INT 2F - NETWORK - GET NetBIOS NAME NUMBER OF MACHINE NAME
2FB808 - INT 2F U - NETWORK - RELINK KEYBOARD HANDLER
2FB809 - INT 2F - NETWORK - LANtastic, NetWare Lite - GET VERSION
2FB809 - INT 2F - NETWORK - PC LAN Program, Microsoft Networking - GET VERSION
2FB80A - INT 2F u - PC Network 1.00 - ???
2FB80E - INT 2F U - DOS LAN Requester - GET XSI2 ADDRESS / DATA
2FB80F - INT 2F - DOS LAN Requester - GET START PARAMETERS
2FB900 - INT 2F - PC Network RECEIVER.COM - INSTALLATION CHECK
2FB901 - INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM INT 2F HANDLER ADDRESS
2FB903 - INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM POST ADDRESS
2FB904 - INT 2F - PC Network RECEIVER.COM - SET RECEIVER.COM POST ADDRESS
2FB905 - INT 2F - PC Network RECEIVER.COM - GET FILENAME
2FB906 - INT 2F - PC Network RECEIVER.COM - SET FILENAME
2FB908 - INT 2F - PC Network RECEIVER.COM - UNLINK KEYBOARD HANDLER
2FBB00BX0000 - INT 2F - CATC USB4DOS Host Controller - INSTALLATION CHECK
2FBB00BX0001 - INT 2F - CATC USB4DOS Host Controller - GET ???
2FBB00BX0002 - INT 2F - CATC USB4DOS Host Controller - EXECUTE USB REQUEST
2FBB00BX0003 - INT 2F - CATC USB4DOS Host Controller - ??? (POLLS VARIOUS I/O PORTS)
2FBB00 - INT 2F - CATC USB4DOS Host Controller - INVALID FUNCTION
2FBC00 - INT 2F - Windows 3.0, DOS 5+ EGA.SYS - INSTALLATION CHECK
2FBC00BL00 - INT 2F - CATC USB4DOS Device Manager - INSTALLATION CHECK
2FBC00BL01 - INT 2F - CATC USB4DOS Device Manager - REGISTER DEVICE
2FBC00BL02 - INT 2F - CATC USB4DOS Device Manager - UNLOAD DEVICE
2FBC00BL03 - INT 2F - CATC USB4DOS Device Manager - HUB DEVICE ATTACHED
2FBC00BL04 - INT 2F - CATC USB4DOS Device Manager - HUB DEVICE DETACHED
2FBC00BX3F3F - INT 2F - MediaVision MVSOUND.SYS - INSTALLATION CHECK
2FBC01 - INT 2F - MediaVision MVSOUND.SYS - GET VERSION
2FBC02 - INT 2F - MediaVision MVSOUND.SYS - GET STATE TABLE POINTER
2FBC03 - INT 2F - MediaVision MVSOUND.SYS - GET FUNCTION TABLE POINTER
2FBC04 - INT 2F - MediaVision MVSOUND.SYS - GET DMA AND IRQ CHANNELS
2FBC06 - INT 2F U - MS Windows 3.0, DOS 5+ EGA.SYS - GET VERSION INFO
2FBC06 - INT 2F - MediaVision MVSOUND.SYS - GET STATUS STRING
2FBC0B - INT 2F - MediaVision MVSOUND.SYS - GET EXECUTABLE PATH
2FBC0E - INT 2F - MediaVision MVSOUND.SYS - RE-INITIALIZE INT 09 HANDLER
2FBE00 - INT 2F - REDVIEW - INSTALLATION CHECK
2FBF00 - INT 2F - PC LAN PROGRAM REDIRIFS.EXE internal - INSTALLATION CHECK
2FBF01 - INT 2F U - PC LAN PROGRAM REDIRIFS.EXE internal - ???
2FBF80 - INT 2F - PC LAN PROG REDIR.SYS internal - SET REDIRIFS ENTRY POINT
2FC0 - INT 2F - METZ XpressFax Hardware TSR (CLASS2) - API
2FC000 - INT 2F - Novell ODI Link Support Layer (LSL.COM) - INSTALLATION CHECK
2FC000 - INT 2F - Novell NetWare Event Service Layer (NESL) 1.0 - INSTALLATION CHECK
2FC000 - INT 2F - Novell NetWare Connect NETWARN - INSTALLATION CHECK
2FC000 - INT 2F - FN32 32 character filename utilities - INSTALLATION CHECK
2FC000 - INT 2F - QMR - INSTALLATION CHECK
2FC000 - INT 2F - VGAsave v1.93 - INSTALLATION CHECK
2FC000 - INT 2F - AD-DOS - INSTALLATION CHECK
2FC000 - INT 2F U - WANG_ER.COM - INSTALLATION CHECK
2FC000 - INT 2F O - ASPIHOOK.SYS - INSTALLATION CHECK
2FC000 - INT 2F - PMEASURE.EXE - INSTALLATION CHECK
2FC000 - INT 2F - PERSONAL MEASURE - HOOK MODULE INSTALLATION CHECK
2FC000 - INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALLATION CHECK
2FC000 - INT 2F - Frank Kintrup TSR Utilities - INSTALLATION CHECK
2FC000 - INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
2FC000 - INT 2F - DIMWIT - INSTALLATION CHECK
2FC000BX444B - INT 2F - METZ XpressFax Hardware TSR (CLASS2) - INSTALLATION CHECK
2FC000 - INT 2F U - TSENGP.COM - INSTALLATION CHECK
2FC000 - INT 2F U - LapLink RemoteAccess (LLRA) - INSTALLATION CHECK
2FC001 - INT 2F - QMR - REQUEST HARDWARE RESET
2FC001 - INT 2F - DIMWIT - GET CONFIGURATION DATA
2FC001ES0000 - INT 2F - AD-DOS - GET RESIDENT CODE SEGMENT
2FC001 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ENTRY POINTS
2FC001 - INT 2F - Frank Kintrup TSR Utilities - CLOCK - DISABLE DISPLAY UPDATE
2FC001CX03FB - INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - UNINSTALL
2FC001 - INT 2F - PERSONAL MEASURE - PASS PARAMETERS TO HOOK MODULE(S)
2FC002 - INT 2F - AD-DOS - CHECK FOR NEW INPUT
2FC002 - INT 2F - QMR - DISABLE QMR
2FC002 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET BUFFER SIZE
2FC002 - INT 2F - Frank Kintrup TSR Utilities - CLOCK - ENABLE DISPLAY UPDATE
2FC002 - INT 2F U - LapLink RemoteAccess (LLRA) - Core - ???
2FC003 - INT 2F - AD-DOS - SET MINUTES TO WAIT
2FC003 - INT 2F - QMR - ENABLE QMR
2FC003 - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
2FC004 - INT 2F - AD-DOS - GET MINUTES TO WAIT
2FC004 - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
2FC005 - INT 2F - AD-DOS - SET BLANKER STATUS
2FC005 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC006 - INT 2F - AD-DOS - GET BLANKER STATUS
2FC006 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC007 - INT 2F - AD-DOS - SET HOT KEY
2FC007 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC008 - INT 2F - AD-DOS - GET CURRENT HOT KEY
2FC008 - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
2FC009 - INT 2F - AD-DOS - UNBLANK MONITOR
2FC009 - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
2FC00A - INT 2F - AD-DOS - ???
2FC00A - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC00B - INT 2F - AD-DOS - ???
2FC00B - INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
2FC00C - INT 2F - AD-DOS - SET ??? INTERNAL FLAG TO 01h
2FC00C - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC00D - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ???
2FC00E - INT 2F - AD-DOS - SET PASSWORD STATUS
2FC00E - INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALL ???
2FC00F - INT 2F - AD-DOS - GET PASSWORD STATUS
2FC00F - INT 2F U - PrintCache v3.1 PCACHE.EXE - REMOVE ???
2FC010 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC011 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC012 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC013 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC014 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC015 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC016 - INT 2F U - PrintCache v3.1 PCACHE.EXE - INCREMENT ???
2FC017 - INT 2F U - PrintCache v3.1 PCACHE.EXE - DECREMENT ???
2FC018 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC019 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC01A - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
2FC01B - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
2FC01C - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC01D - INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
2FC020 - INT 2F - AD-DOS - GET AND RESET VxD API STATUS
2FC04E - INT 2F - Explosiv v2.00+ - NON-TSR EXECUTING CHECK
2FC050 - INT 2F - Explosiv v2.00+ - INSTALLATION CHECK
2FC052 - INT 2F - Explosiv v2.00+ - UNINSTALL
2FC054 - INT 2F - Explosiv v2.x - GET ANIMATION DELAY FACTOR
2FC054 - INT 2F - Explosiv v3.0+ - UPDATE PARAMETERS
2FC055 - INT 2F - Explosiv v2.x - SET BLANKING INTERVAL
2FC056 - INT 2F - Explosiv v2.x - SET ANIMATION DISPLAY TYPE
2FC056 - INT 2F - Explosiv v3.0+ - ENABLE/DISABLE EXPLOSIV
2FC057 - INT 2F - Explosiv v2.x - SET ANIMATION DELAY FACTOR
2FC058 - INT 2F - Explosiv v2.x - SET ANIMATION PARAMETER
2FC058 - INT 2F - Explosiv v3.0+ - LOAD NEW ANIMATION DISPLAY CODE
2FC059 - INT 2F - Explosiv v2.x - DISABLE EXPLOSIV
2FC05A - INT 2F u - Explosiv v2.x - ENABLE EXPLOSIV
2FC05B - INT 2F - Explosiv v2.x - CHANGE ANIMATION DISPLAY
2FC05C - INT 2F - Explosiv v2.x - SET INT 10 CHECKING
2FC080 - INT 2F U - AMI IAM.SYS - INSTALL ??? CALLBACK
2FC081 - INT 2F U - AMI IAM.SYS - CLEAR ???
2FC0AE - INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
2FC0AF - INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - GET BUFFER ADDRESS
2FC100 - INT 2F U - Personal NetWare - STPIPX v1.00 - INSTALLATION CHECK
2FC101 - INT 2F U - Personal NetWare - STPIPX v1.00 - UNINSTALL
2FC205 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
2FC2F0 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
2FC2F1 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
2FC300 - INT 2F - SETWPR.COM - INSTALLATION CHECK
2FC300DX0000 - INT 2F U - SpaceManager - INSTALLATION CHECK
2FC300BX4F53 - INT 2F U - SpaceManager - INSTALLATION VERIFICATION
2FC301 - INT 2F U - SpaceManager - ???
2FC301 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
2FC302 - INT 2F U - SpaceManager - ENABLE PROGRAM
2FC302 - INT 2F - SETWPR.COM - SET WRITE-PROTECTION STATE
2FC303 - INT 2F U - SpaceManager - DISABLE PROGRAM
2FC304 - INT 2F U - SpaceManager - GET PER-DRIVE ENABLEMENT TABLE
2FC305DX9003 - INT 2F U - SpaceManager - FORTUNE.EXE - NOP
2FC305 - INT 2F U - SpaceManager - ???
2FC306 - INT 2F U - SpaceManager - CHECK WHETHER PROGRAM ENABLED
2FC307DX9001 - INT 2F U - SpaceManager - SELECTC - ???
2FC308DX9001 - INT 2F U - SpaceManager - SELECTC - ???
2FC3F0 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
2FC3F1 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
2FC500 - INT 2F - PC-DOS Econet v1.05 - INSTALLATION CHECK
2FC501 - INT 2F - PC-DOS Econet v1.05 - RESET BOARD AND DRIVER
2FC502 - INT 2F - PC-DOS Econet v1.05 - PERFORM NETWORK OPERATION
2FC503 - INT 2F - PC-DOS Econet v1.05 - ADD EVENT HANDLER
2FC504 - INT 2F - PC-DOS Econet v1.05 - REMOVE EVENT HANDLER
2FC505 - INT 2F - PC-DOS Econet v1.05 - SET DEFAULT EVENT ACTION
2FC506 - INT 2F - PC-DOS Econet v1.05 - SET INDIVIDUAL EVENT ACTION
2FC507 - INT 2F - PC-DOS Econet v1.05 - TEST/CLEAR EVENT STATUS
2FC508 - INT 2F - PC-DOS Econet v1.05 - ENABLE/DISABLE EVENT SCHEDULER
2FC64CBX5553 - INT 2F U - Smart Prompt - INSTALLATION CHECK
2FC700CX434C - INT 2F u - COLAP - INSTALLATION CHECK
2FC900BP0000 - INT 2F U - ThunderByte??? - INSTALLATION CHECK
2FC987 - INT 2F U - ThunderByte??? - DISINFECT FILE???
2FC9FD - INT 2F - ThunderByte TBLOG - WRITE STRING TO LOG
2FC9FF - INT 2F C - StackMan - INSTALLATION BROADCAST
2FCA - INT 2F - FAXPLUS - FAX TSR
2FCA00BX5442 - INT 2F - TBSCANX - INSTALLATION CHECK
2FCA01 - INT 2F - TBSCANX - GET STATUS
2FCA02 - INT 2F - TBSCANX - SET STATE
2FCA03 - INT 2F - TBSCANX - SCAN BUFFER
2FCA04 - INT 2F - TBSCANX - SCAN FILE
2FCAFEBX0000 - INT 2F U - THELP v3.0 - INSTALLATION CHECK
2FCB00 - INT 2F - Communicating Applications Specification - INSTALLATION CHECK
2FCB00BX4D53 - INT 2F - METZ XpressFax CASMGR - INSTALLATION CHECK
2FCB01 - INT 2F - Communicating Applications Specification - SUBMIT A TASK
2FCB02 - INT 2F - Communicating Applications Specification - ABORT CURRENT EVENT
2FCB05 - INT 2F - Communicating Applications Specification - FIND FIRST QUEUE ENTRY
2FCB06 - INT 2F - Communicating Applications Specification - FIND NEXT QUEUE ENTRY
2FCB07 - INT 2F - Communicating Applications Specification - OPEN FILE
2FCB08 - INT 2F - Communicating Applications Specification - DELETE FILE
2FCB09 - INT 2F - Communicating Applications Specification - DELETE ALL FILES IN Q
2FCB0A - INT 2F - Communicating Applications Specification - GET EVENT DATE
2FCB0B - INT 2F - Communicating Applications Specification - SET TASK DATE
2FCB0C - INT 2F - Communicating Applications Specification - GET EVENT TIME
2FCB0D - INT 2F - Communicating Applications Specification - SET TASK TIME
2FCB0E - INT 2F - Communicating Applications Specification - GET EXTERNAL DATA BLOCK
2FCB0F - INT 2F - Communicating Applications Specification - GET/SET AUTORECEIVE
2FCB10 - INT 2F - Communicating Applications Specification - GET CURRENT EVENT STATUS
2FCB11 - INT 2F - Communicating Applications Specification - GET QUEUE STATUS
2FCB11DL03 - INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF SEND EVENTS
2FCB11DL04 - INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF RECEIVE EVENTS
2FCB12 - INT 2F - Communicating Applications Specification - GET HARDWARE STATUS
2FCB13DL00 - INT 2F - Communicating Applications Specification - GET DIAGNOSTICS RESULTS
2FCB13DL01 - INT 2F - Communicating Applications Specification - START DIAGNOSTICS
2FCB14 - INT 2F - Communicating Applications Specification - MOVE RECEIVED FILE
2FCB15 - INT 2F - Communicating Applications Specification - SUBMIT FILE TO SEND
2FCB16BX1234 - INT 2F - Communicating Applications Spec v1.2+ - UNLOAD RESIDENT MANAGER
2FCB17 - INT 2F - Communicating Applications Spec v1.2+ - SET COVER PAGE STATUS
2FCB80 - INT 2F - Intel SatisFAXtion CASMGR - ???
2FCB81 - INT 2F - Intel SatisFAXtion CASMGR - ???
2FCB82 - INT 2F - Intel SatisFAXtion CASMGR - ???
2FCBDCBL56 - INT 2F - Comwave Microfax Specification - GET STATUS ARRAY
2FCBDDBL56 - INT 2F - Comwave Microfax Specification - COMMAND SUBMISSION
2FCC--SI5453 - INT 2F U - PC-Kwik Programs - API
2FCC00 - INT 2F - Tsoft NFSDRVR - INSTALLATION CHECK
2FCC01 - INT 2F - Tsoft NFSDRVR - ???
2FCC02 - INT 2F - Tsoft NFSDRVR - ???
2FCC03 - INT 2F - Tsoft NFSDRVR - ???
2FCC04 - INT 2F - Tsoft NFSDRVR - ???
2FCC05 - INT 2F - Tsoft NFSDRVR - ???
2FCC06 - INT 2F - Tsoft NFSDRVR - ???
2FCD00 - INT 2F - Intel Image Processing Interface - INSTALLATION CHECK
2FCD00 - INT 2F - LaserPort Interface - INSTALLATION CHECK
2FCD00 - INT 2F - SWELL.EXE - INSTALLATION CHECK
2FCD00BX464F - INT 2F - Forte/Gravis ULTRAMID - INSTALLATION CHECK
2FCD00DX4957 - INT 2F R - InterWave Game API - INSTALLATION CHECK
2FCD01 - INT 2F - Intel Image Processing Interface - SET DEVICE NAME
2FCD01 - INT 2F - SWELL.EXE - SUSPEND ONCE
2FCD01BX0000 - INT 2F R - InterWave Game API - GET NUMBER OF INTERWAVE PROGRAMS / PROGRAM ID
2FCD02 - INT 2F - Intel Image Processing Interface - GET VERSION NUMBER
2FCD02 - INT 2F - SWELL.EXE - SUSPEND
2FCD02 - INT 2F R - InterWave Game API - GET PROGRAM STATUS AND INFORMATION
2FCD03 - INT 2F - Intel Image Processing Interface - SELECT SCAN LINE
2FCD03 - INT 2F - SWELL.EXE - ACTIVATE
2FCD03 - INT 2F R - InterWave Game API - SUSPEND PROGRAM
2FCD04 - INT 2F - Intel Image Processing Interface - MOVE BITMAP TO SCANLINE
2FCD04 - INT 2F - SWELL.EXE - TURN OFF VERBOSE MODE
2FCD04 - INT 2F R - InterWave Game API - WAKE PROGRAM
2FCD05 - INT 2F - Intel Image Processing Interface - PRINT PAGE
2FCD05 - INT 2F - SWELL.EXE - TURN ON VERBOSE MODE
2FCD05 - INT 2F R - InterWave Game API - UNINSTALL RESIDENT DEVICE DRIVER
2FCD06 - INT 2F - Intel Image Processing Interface - CLEAR PAGE
2FCD06 - INT 2F - SWELL.EXE - UNINSTALL
2FCD07 - INT 2F - Intel Image Processing Interface - reserved
2FCD07 - INT 2F - SWELL.EXE - GET INFO
2FCD08 - INT 2F - Intel Image Processing Interface - SCREEN IMAGE
2FCD08 - INT 2F - SWELL.EXE - UNUSED
2FCD09 - INT 2F - Intel Image Processing Interface - LOAD SCREEN
2FCD09 - INT 2F - SWELL.EXE - TURN OFF "BORLAND SUPPORT"
2FCD0A - INT 2F - Intel Image Processing Interface - LOAD PALETTE
2FCD0A - INT 2F - SWELL.EXE - TURN ON "BORLAND SUPPORT"
2FCD0F - INT 2F - LaserPort Interface - EXECUTE FUNCTION
2FCD21 - INT 2F R - InterWave Game API - OPEN GAME DEVICE
2FCD22 - INT 2F R - InterWave Game API - CLOSE GAME DEVICE
2FCD80 - INT 2F RC - InterWave Game API - MIXER SETTINGS CHANGED BROADCAST
2FCF00 - INT 2F - TEMPLEXX 1.0 - INSTALLATION CHECK
2FD000 - INT 2F C - MDEBUG display driver - GET DRIVER STATUS
2FD000 - INT 2F - ZWmous - INSTALLATION CHECK
2FD000 - INT 2F - Lotus CD/Networker - INSTALLATION CHECK
2FD001 - INT 2F C - MDEBUG display driver - INITIALIZE DRIVER
2FD002 - INT 2F C - MDEBUG display driver - SAVE GRAPHIC DATA
2FD002BX4D44 - INT 2F - Multiplex - Lotus CD/Networker GET DATA AREA
2FD003 - INT 2F C - MDEBUG display driver - RESTORE GRAPHIC DATA
2FD004 - INT 2F - MDEBUG display driver - SHOW SAVED DATA
2FD005 - INT 2F - MDEBUG display driver - SWITCH BACK TO TEXT SCREEN
2FD0 - INT 2F - MDEBUG display driver - RESERVED FUNCTION NUMBERS
2FD0 - INT 2F - MDEBUG display driver - USER DEFINED FUNCTION NUMBERS
2FD100 - INT 2F C - MDEBUG command driver - GET STATUS
2FD101 - INT 2F - MDEBUG command driver - INITIALIZE DRIVER
2FD102 - INT 2F - MDEBUG command driver - EXECUTE INTERPRETER COMMAND
2FD103 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE MONITOR
2FD104 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE INTERPRETER
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
2FD110 - INT 2F - MDEBUG command driver - GET ADDRESS OF THE OLD INT 2F
2FD111 - INT 2F - MDEBUG command driver - START DRIVER
2FD112 - INT 2F - MDEBUG command driver - END DRIVER
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
2FD1 - INT 2F - MDEBUG command driver - USER DEFINED FUNCTIONS
2FD200 - INT 2F - PCL-838.EXE - INSTALLATION CHECK
2FD200BX5144 - INT 2F - Quarterdeck RPCI - INSTALLATION CHECK
2FD201 - INT 2F - PCL-838.EXE - UNINSTALL
2FD201BX4849 - INT 2F - Quarterdeck RPCI - GET QD HIMEM PRESENCE
2FD201BX4849 - INT 2F - Quarterdeck RPCI - QEMM/QRAM v5.0+ - GET HIRAM MEMORY CHAIN
2FD201BX4D41 - INT 2F U - Quarterdeck RPCI - MANIFEST v1.0+ - INSTALLATION CHECK
2FD201BX4D45 - INT 2F U - Quarterdeck RPCI - DVDOS4GX.DVR - ???
2FD201BX5145 - INT 2F - Quarterdeck RPCI - QEMM v5.0+ - INSTALLATION CHECK
2FD201BX5649 - INT 2F u - Quarterdeck RPCI - VIDRAM v5.0+ - INSTALLATION CHECK
2FD202 - INT 2F - PCL-838.EXE - EXECUTE PCL838 COMMANDS
2FD300BX4562 - INT 2F U - TeleReplica - INSTALLATION CHECK
2FD3CB - INT 2F U - LapLink Quick Connect v6 - API
2FD3D3BH00 - INT 2F - KDRIVE v2.x - INSTALLATION CHECK
2FD44D - INT 2F - 4DOS.COM v2.1+ - API
2FD44E - INT 2F C - 4DOS v3.0+ - AWAITING USER INPUT
2FD44FBX0000 - INT 2F - 4DOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
2FD44FBX0001 - INT 2F - 4DOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
2FD600 - INT 2F - HEART.COM - INSTALLATION CHECK
2FD600 - INT 2F U - VEDIT VSWAP - INSTALLATION CHECK
2FD601 - INT 2F U - VEDIT VSWAP - ???
2FD602 - INT 2F U - VEDIT VSWAP - EXEC PROGRAM WITH SWAP
2FD701BX0000 - INT 2F - Banyan VINES v4+ - GET BANV INTERRUPT NUMBER
2FD702 - INT 2F U - Banyan VINES v4+ - PCPRINT interface
2FD703 - INT 2F U - Banyan VINES v4+ - MAIL interface
2FD704 - INT 2F U - Banyan VINES v4+ - Streettalk Directory Assistance interface
2FD800 - INT 2F U - Novell NetWare Lite - CLIENT.EXE - INSTALLATION CHECK
2FD856 - INT 2F U - Novell NetWare Lite v1.1 - SERVER - "VNWLSERV_INIT" - GET ???
2FD880 - INT 2F U - Novell NetWare Lite v1.0+ - SERVER - INSTALLATION CHECK
2FD8C0 - INT 2F U - Novell NLCACHE,NWCACHE - INSTALLATION CHECK
Section -
2FDA00 - INT 2F - ZyXEL ZFAX v1.x - INSTALLATION CHECK
2FDA01 - INT 2F - ZyXEL ZFAX v1.x - UNINSTALL
2FDA02 - INT 2F - ZyXEL ZFAX v.1x - DISABLE
2FDA03 - INT 2F - ZyXEL ZFAX v1.x - ENABLE
2FDA55 - INT 2F U - TRAP.COM - INSTALLATION CHECK
2FDAB2 - INT 2F U - Beame&Whiteside BWSNMP - INSTALLATION CHECK
2FDB00 - INT 2F - ZyXEL ZFAX v2+ - INSTALLATION CHECK
2FDB00 - INT 2F U - WINGO.COM - INSTALLATION CHECK
2FDB01 - INT 2F - ZyXEL ZFAX v2+ - UNINSTALL
2FDB01 - INT 2F U - WINGO.COM - SET CALLBACK FUNCTION POINTER
2FDB02 - INT 2F - ZyXEL ZFAX v2.x - DISABLE
2FDB02 - INT 2F U - WINGO.COM - RESET CALLBACK FUNCTION POINTER
2FDB03 - INT 2F - ZyXEL ZFAX v2.x - ENABLE
2FDB03 - INT 2F U - WINGO.COM - SET ??? FLAG
2FDB04 - INT 2F U - WINGO.COM - RESET ??? FLAG
2FDB05 - INT 2F U - WINGO.COM - GET ??? FLAG
2FDB06 - INT 2F U - WINGO.COM - CALL CALLBACK FUNCTION
2FDB10 - INT 2F - ZyXEL ZFAX v3+ - EXECUTE ZFAX MAIN MENU
2FDB11 - INT 2F - ZyXEL ZFAX v3+ - SEND FAX
2FDB12 - INT 2F - ZyXEL ZFAX v3+ - PRINT FAX
2FDB13 - INT 2F - ZyXEL ZFAX v3+ - CONVERT FAX
2FDB14 - INT 2F - ZyXEL ZFAX v3+ - VIEW FAX
2FDB15 - INT 2F - ZyXEL ZFAX v4.01 - SEND FAX WITH LOGO AND SIGNATURE
2FDB16 - INT 2F - ZyXEL ZFAX v4.01 - QUOTE PREVIOUS STATUS
2FDB17 - INT 2F - ZyXEL ZFAX v4.01 - BEGIN RECEIVING INCOMING CALL
2FDB18 - INT 2F - ZyXEL ZFAX v4.01 - SCHEDULE CALL
2FDB20 - INT 2F - ZyXEL ZFAX v3+ - POLL FAX
2FDB21 - INT 2F - ZyXEL ZFAX v3+ - SEND VOICE
2FDB22 - INT 2F - ZyXEL ZFAX v3+ - CONVERT VOICE FILE
2FDB23 - INT 2F - ZyXEL ZFAX v3+ - RECORD VOICE FILE
2FDB24 - INT 2F - ZyXEL ZFAX v3+ - PLAY VOICE FILE
2FDB25 - INT 2F - ZyXEL ZFAX v3+ - ANSWER MODEM WITH VOICE SYSTEM
2FDB26 - INT 2F - ZyXEL ZFAX v3+ - DIAL PHONE
2FDB27 - INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX - ANSWER MODEM AND SET TO FAX MODE
2FDB28 - INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX DATA - ANSWER MODEM IN MULTI-AUDIO MODE
2FDB40 - INT 2F - ZyXEL ZFAX v3+ - INTERNAL TERMINAL
2FDB41 - INT 2F - ZyXEL ZFAX v3+ - SEND DATA - DIAL NUMBER AND UPLOAD FILE WITH ZMODEM
2FDC00 - INT 2F - GOLD.COM - INSTALLATION CHECK
2FDC01 - INT 2F - GOLD.COM - GET STATE
2FDC02 - INT 2F - GOLD.COM - SET STATE
2FDD - INT 2F - CappaCom programs - API
2FDD - INT 2F - MIXFIX.EXE - API
2FDD--BX7844 - INT 2F - xDISK v3.32+ - INSTALLATION CHECK
2FDE00BL00 - INT 2F U - Novell Netware - RPRINTER, NPRINTER - INSTALLATION CHECK
2FDE00BX4456 - INT 2F - DESQview v2.26+ External Device Interface - INSTALLATION CHECK
2FDE01 - INT 2F - DESQview v2.26+ External Device Interface - DRIVER CUSTOM SUBFUNCTION
2FDE01BX4450 - INT 2F U - Quarterdeck QDPMI.SYS v1.0 - INSTALLATION CHECK
2FDE01BX5242 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, Ralf Brown's XDI drivers
2FDE01BX7474 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVTXDI.COM
2FDE01BX7575 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVSIXDI.COM
2FDE01BXFFFE - INT 2F U - DESQview v2.26+ XDI - DVXMS.DVR - ???
2FDE02 - INT 2F C - DESQview v2.26+ External Dev Interface - DV INITIALIZATION COMPLETE
2FDE03 - INT 2F C - DESQview v2.26+ External Dev Interface - DV TERMINATION
2FDE04 - INT 2F C - DESQview v2.26+ External Dev Interface - ADD PROCESS
2FDE05 - INT 2F C - DESQview v2.26+ External Dev Interface - REMOVE PROCESS
2FDE06 - INT 2F C - DESQview v2.26+ External Dev Interface - CREATE TASK
2FDE07 - INT 2F C - DESQview v2.26+ External Dev Interface - TERMINATE TASK
2FDE08 - INT 2F C - DESQview v2.26+ External Dev Interface - SAVE STATE
2FDE09 - INT 2F C - DESQview v2.26+ External Dev Interface - RESTORE STATE
2FDE0A - INT 2F C - DESQview v2.26+ External Dev Interface - CHANGE KEYBOARD FOCUS
2FDE0B - INT 2F C - DESQview v2.26+ External Dev Interface - DVP PROCESSING COMPLETE
2FDE0C - INT 2F C - DESQview v2.26+ External Dev Interface - SWAP OUT PROCESS
2FDE0D - INT 2F C - DESQview v2.26+ External Dev Interface - SWAP IN PROCESS
2FDE0E - INT 2F C - DESQview v2.26+ External Dev Interface - DVP START FAILED
2FDE0F - INT 2F C - DESQview v2.50+ External Dev Interface - INITIALIZE DV
2FDE10 - INT 2F C - DESQview v2.50+ External Dev Interface - FREE TASK
2FDF00 - INT 2F - HyperWare programs - INSTALLATION CHECK
2FDF00BX5445 - INT 2F U - Quarterdeck TELTSR.COM - INSTALLATION CHECK
2FDF01BX0000 - INT 2F U - MSG.COM - INSTALLATION CHECK
2FDF01BX4448 - INT 2F - HyperDisk v4.50+ - GET CURRENT CACHE STATE
2FDF01 - INT 2F U - Quarterdeck TELTSR.COM - CLOSE CONNECTION
2FDF02BX4448 - INT 2F - HyperDisk v4.50+ - SET CACHE STATE
2FDF02 - INT 2F U - Quarterdeck TELTSR.COM - OPEN CONNECTION
2FE000 - INT 2F - SETDRVER.COM v2.10+ - INSTALLATION CHECK
2FE000 - INT 2F - KAOSHIDE - INSTALLATION CHECK
2FE000DX4D50 - INT 2F - FREEVER v1.0+ - INSTALLATION CHECK
2FE000DX5354 - INT 2F - StuffIt v3.21+ - INSTALLATION CHECK
2FE001 - INT 2F - SETDRVER.COM v2.10+ - GET SETDRVER VERSION
2FE002 - INT 2F - SETDRVER.COM v2.10+ - GET ORIGINAL DOS VERSION INFO
2FE003 - INT 2F - SETDRVER.COM v2.10+ - RESET INTERNAL VARIABLES
2FE004 - INT 2F - SETDRVER.COM v2.10+ - ENABLE TSR
2FE005 - INT 2F - SETDRVER.COM v2.10+ - DISABLE TSR
2FE006 - INT 2F - SETDRVER.COM v2.10+ - GET TSR STATUS
2FE007 - INT 2F - SETDRVER.COM v2.10+ - GET TaskMAX STATUS AT INSTALLATION
2FE0 - INT 2F - SETDRVER.COM - RESERVED FOR FUTURE USE
2FE100 - INT 2F - Phantom2 v1.1+ - INSTALLATION CHECK
2FE101 - INT 2F - Phantom2 v1.1+ - FUNCTION REQUEST
2FE102 - INT 2F - Phantom2 v1.1+ - UNINSTALL
2FE103 - INT 2F - Phantom2 v2.8 - SET ??? FLAG
2FE200 - INT 2F - SecureDevice - LOGIN TO DRIVE
2FE201 - INT 2F - SecureDevice - GET INFORMATION
2FE203 - INT 2F - SecureDevice - DESTROY PASSWORD (LOGOUT FROM DRIVE)
2FE209DX0000 - INT 2F - SecureDevice - INSTALLATION CHECK
2FE300 - INT 2F - ANARKEY.COM - INSTALLATION CHECK
2FE300 - INT 2F - Blank - INSTALLATION CHECK
2FE301 - INT 2F U - ANARKEY.COM v2+ - GET ???
2FE302 - INT 2F U - ANARKEY.COM v3+ - ???
2FE303 - INT 2F U - ANARKEY.COM v3+ - ANARKMD API
2FE304 - INT 2F U - ANARKEY.COM v2+ - ???
2FE305 - INT 2F U - ANARKEY.COM v3+ - ENABLE/SUSPEND ANARKEY
2FE306 - INT 2F U - ANARKEY.COM v4.0 - GET ???
2FE307 - INT 2F U - ANARKEY.COM v4.0 - GET ???
2FE337 - INT 2F - INT16.COM - INSTALLATION CHECK
2FE44D - INT 2F - NDOS - API
2FE44E - INT 2F C - NDOS - AWAITING USER INPUT
2FE44FBX0000 - INT 2F - NDOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
2FE44FBX0001 - INT 2F - NDOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
2FE600CL30 - INT 2F - Virtual 486 - INSTALLATION CHECK
2FE700BX4158 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
2FE77EBX0000 - INT 2F - CTDEMN - INSTALLATION CHECK
2FED00 - INT 2F - Phar Lap DOS EXTENDERS - INSTALLATION CHECK
2FED03 - INT 2F R - Phar Lap 386/DOS-Extender v4.1 - GET EXTENDER ENTRY POINT
2FED10BL05 - INT 2F - Pharlap DOS Extender - ???
2FED11BL05 - INT 2F - Pharlap DOS Extender - FATAL EXIT TO REAL MODE ???
2FED58 - INT 2F U - K5.COM - INSTALLATION CHECK
2FED80 - INT 2F - Phar Lap 286|DOS Extender Lite v2.5 - ???
2FEDC8BX0000 - INT 2F - Novell DOS 7+ - SECURITY.BIN - INSTALLATION CHECK
2FEE00 - INT 2F - GRIDLOC.EXE - INSTALLATION CHECK
2FEE00 - INT 2F - XVIEW - INSTALLATION CHECK
2FEE00 - INT 2F - WEB v4.02 - INSTALLATION CHECK
2FEE01 - INT 2F - XVIEW - POP UP GIVING TOPIC SEARCH KEYWORD
2FEE02 - INT 2F - XVIEW - POP UP GIVING A PAGE NUMBER
2FEE03 - INT 2F - XVIEW - POP UP GIVING FILENAME AND SEARCH TOPIC OR PAGE NUMBER
2FEE04 - INT 2F - XVIEW - POP UP AND READ SCREEN FOR SEARCH TOPIC KEYWORD
2FEE05 - INT 2F - XVIEW - POP UP TO MOST-RECENTLY VIEWED PAGE
2FEE06 - INT 2F - XVIEW - WAIT FOR POP-DOWN AND GET EXIT CODE
2FEE - INT 2F - WEB v4.02 - WEB MODULE INSTALLATION CHECK
2FEEF0 - INT 2F - WEB v4.02 - WEB GENERAL NOTIFICATION
2FF000 - INT 2F U - 4MAP - INSTALLATION CHECK
2FF001 - INT 2F U - 4MAP - GET KEY MAPPINGS
2FF002 - INT 2F U - 4MAP - INSERT CHARACTER INTO ???
2FF003 - INT 2F U - 4MAP - INSERT CHARACTER INTO ???
2FF1 - INT 2F U - MIN-MEM v2.11 - INSTALLATION CHECK
2FF100 - INT 2F - DOS EXTENDER INSTALLATION CHECK
2FF1 - INT 2F U - RTKernel v4.0 - INSTALLATION CHECK
2FF200 - INT 2F - WINX - INSTALLATION CHECK
2FF201 - INT 2F - WINX - RETURN ADDRESS OF SERVER BUFFER
2FF202 - INT 2F - WINX - SET SERVER'S WORKING DIRECTORY
2FF203 - INT 2F - WINX - EXECUTE COMMAND
2FF400 - INT 2F - FINDIRQ.COM - INSTALLATION CHECK
2FF400 - INT 2F - PowerLAN - INSTALLATION CHECK???
2FF401 - INT 2F - PowerLAN - GET VERSION
2FF401CX5121 - INT 2F - FINDIRQ.COM - GET HOOKED INTERRUPTS
2FF483 - INT 2F - PowerLAN - ???
2FF700 - INT 2F - AUTOPARK.COM - INSTALLATION CHECK
2FF701 - INT 2F - AUTOPARK.COM - SET PARKING DELAY
2FF800CX4455 - INT 2F U - SuperStor PRO 2XON.COM - INSTALLATION CHECK
2FF801CX4455 - INT 2F U - SuperStor PRO 2XON.COM - UNINSTALL
2FFA00 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
2FFA00 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
2FFB - INT 2F - Multiplex - RESERVED BY BORLAND INTERNATIONAL
2FFB - INT 2F U - Conner Backup Exec AUTORES - API
2FFB00 - INT 2F U - AutoBraille v1.1A - INSTALLATION CHECK
2FFB00 - INT 2F U - Jot-It! v1.50 - INSTALLATION CHECK
2FFB01 - INT 2F U - AutoBraille v1.1A - ???
2FFB01 - INT 2F U - Jot-It! v1.50 - GET USER NAME
2FFB02 - INT 2F U - AutoBraille v1.1A - ???
2FFB02 - INT 2F U - Jot-It! v1.50 - GET MESSAGE DIRECTORY
2FFB03 - INT 2F U - AutoBraille v1.1A - GET NEXT ???
2FFB03 - INT 2F U - Jot-It! v1.50 - UNINSTALL
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB20 - INT 2F U - AutoBraille v1.1A - SET ??? FLAGS
2FFB21 - INT 2F U - AutoBraille v1.1A - CLEAR ??? FLAGS
2FFB22 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB28 - INT 2F U - AutoBraille v1.1A - ???
2FFB29 - INT 2F U - AutoBraille v1.1A - ???
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB35 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB36 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB37 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB42BX0001 - INT 2F PU - Borland C++ DPMILOAD.EXE - INSTALLATION CHECK???
2FFB42BX0002 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ALLOCATE MEMORY
2FFB42BX0002 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ALLOCATE MEMORY
2FFB42BX0003 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET AVAILABLE MEMORY
2FFB42BX0004 - INT 2F PU - Borland C++ DPMILOAD.EXE - LOAD PROTECTED-MODE EXECUTABLE???
2FFB42BX0005 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NAME
2FFB42BX0006 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NUMBER
2FFB42BX0007 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ???
2FFB42BX0007 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0008 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - FREE MEMORY BLOCK
2FFB42BX0008 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE MEMORY BLOCK
2FFB42BX0009 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - RESIZE MEMORY BLOCK
2FFB42BX000A - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INIT DPMI HOST AND SPAWN SUBSHELL
2FFB42BX000B - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - UNUSED
2FFB42BX000C - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE DESCRIPTORS FOR MEMORY BLOCK???
2FFB42BX000D - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SIMULATE REAL MODE INTERRUPT
2FFB42BX000E - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
2FFB42BX000F - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - REALLOCATE LDT DESCRPS TO MEMBLK???
2FFB42BX0010 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SEGMENT TO SELECTOR
2FFB42BX0011 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0012 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0013 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0014 - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INSTALLATION CHECK
2FFB42BX0015 - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - UNINSTALL
2FFB42BX0016 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
2FFB42BX0017 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0018 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET ???
2FFB42BX0019 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001A - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001B - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001C - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001D - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
2FFB42BX001E - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001F - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
2FFB42BX0020 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION???
2FFB42BX0021 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROCESSOR EXCEPTION HANDLER VECT
2FFB42BX0022 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROCESSOR EXCEPTION HANDLER VECT
2FFB42BX0023 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SELECTOR TO SEGMENT NUMBER
2FFB42BX0024 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROTECTED-MODE INTERRUPT VECTOR
2FFB42BX0025 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROTECTED-MODE INTERRUPT VECTOR
2FFB42BX0026 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0027 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
2FFB42BX0080 - INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
2FFB42BX0081 - INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
2FFB42BX1001 - INT 2F U - Borland RTM.EXE 1.0 - INSTALLATION CHECK???
2FFB42BX1002 - INT 2F U - Borland RTM.EXE 1.0 - EXECUTE COMPILED PROGRAM
2FFB42BX1003 - INT 2F U - Borland RTM.EXE 1.0 - ???
2FFB43 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION
2FFB43BX0100 - INT 2F PU - Borland TDX - INSTALLATION CHECK
2FFB64 - INT 2F U - AutoBraille v1.1A - GET ???
2FFBA1BX0081 - INT 2F U - TKERNEL (Borland DOS extender) - INSTALLATION CHECK
2FFBA1BX0082 - INT 2F U - TKERNEL (Borland DOS extender) - GET ENTRY POINT
2FFBA1BX0084 - INT 2F U - TKERNEL (Borland DOS extender) - UNINSTALL
2FFBFBES0000 - INT 2F U - SoundBlaster speech driver - INSTALLATION CHECK
2FFD12 - INT 2F - KS/KEYSTKCT.EXE - INSTALLATION CHECK
2FFE00BX4454 - INT 2F - PC-NFS ??? - INSTALLATION CHECK
2FFE00BX4454 - INT 2F - PC-NFS ??? - INSTALLATION CHECK
2FFE00DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - INSTALLATION CHECK/STATUS REPORT
2FFE00DX474F - INT 2F - GO! v3.22+ - API
2FFE01DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - ENABLE
2FFE02DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - DISABLE
2FFE03DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - FLUSH BUFFERS
2FFE04DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
2FFE05DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
2FFE08 - INT 2F - PC-NFS ??? - GET ???
2FFE10DI4E55 - INT 2F U - NORTON UTILITIES 6.0 NCACHE - REBOOT
2FFEEF - INT 2F - RTS Control TSR - INSTALLATION CHECK
2FFF00 - INT 2F - Topware Network Operating System - INSTALLATION CHECK
2FFF01 - INT 2F - Topware Network Operating System - GET VERSION
2FFF02 - INT 2F - TopWare Network OS v5.10+ - GET TopNet VERSION STRING
2FFF10 - INT 2F - TopWare Network OS v5.10+ - TopTerm - INSTALLATION CHECK
2FFF11 - INT 2F - TopWare Network OS v5.10+ - TopTerm - ENABLE KEYBOARD SERVICE
2FFF12 - INT 2F - TopWare Network OS v5.10+ - TopTerm - DISABLE KEYBOARD SERVICE
2FFF13 - INT 2F - TopWare Network OS v5.10+ - TopTerm - SET INSTALLATION FLAG
2FFF14 - INT 2F - TopWare Network OS v5.10+ - START BACKGROUND RECEIVE VIDEO DATA
2FFF15 - INT 2F - TopWare Network OS v5.10+ - END BACKGROUND RECEIVE VIDEO DATA
2FFF16 - INT 2F - TopWare Network OS v5.10+ - SET CONTROL NUMBER OF "SHOW" SCREEN
2FFF18 - INT 2F - TopWare Network OS v5.10+ - SEND FULL SCREEN OF DATA FOR TopShow
2FFF23 - INT 2F - TopWare Network OS v5.10+ - CLOSE SPOOL FILES AND START PRINTING
2FFF27 - INT 2F - TopWare Network OS v5.10+ - GET "SHOW" TYPE
30 - INT 30 - (NOT A VECTOR!) - DOS 1+ - FAR JMP instruction for CP/M-style calls
30 - INT 30 - QRIP/TSR - USED BY GRAPHICS LIBRARY
30 - INT 30 P - MS Windows 3.1+ - PROTECTED-MODE CALLBACK
31 - INT 31 - overwritten by CP/M jump instruction in INT 30
31 - INT 31 - VIRUS - "Vacsina" series - INSTALLATION CHECK (NOT A VECTOR!)
310000 - INT 31 P - DPMI 0.9+ - ALLOCATE LDT DESCRIPTORS
310001 - INT 31 P - DPMI 0.9+ - FREE LDT DESCRIPTOR
310002 - INT 31 P - DPMI 0.9+ - SEGMENT TO DESCRIPTOR
310003 - INT 31 P - DPMI 0.9+ - GET NEXT SELECTOR INCREMENT VALUE
310004 - INT 31 P - DPMI 0.9+ - LOCK SELECTOR
310005 - INT 31 P - DPMI 0.9+ - UNLOCK SELECTOR
310006 - INT 31 P - DPMI 0.9+ - GET SEGMENT BASE ADDRESS
310007 - INT 31 P - DPMI 0.9+ - SET SEGMENT BASE ADDRESS
310008 - INT 31 P - DPMI 0.9+ - SET SEGMENT LIMIT
310009 - INT 31 P - DPMI 0.9+ - SET DESCRIPTOR ACCESS RIGHTS
31000A - INT 31 P - DPMI 0.9+ - CREATE ALIAS DESCRIPTOR
31000B - INT 31 P - DPMI 0.9+ - GET DESCRIPTOR
31000C - INT 31 P - DPMI 0.9+ - SET DESCRIPTOR
31000D - INT 31 P - DPMI 0.9+ - ALLOCATE SPECIFIC LDT DESCRIPTOR
31000E - INT 31 P - DPMI 1.0+ - GET MULTIPLE DESCRIPTORS
31000F - INT 31 P - DPMI 1.0+ - SET MULTIPLE DESCRIPTORS
310100 - INT 31 P - DPMI 0.9+ - ALLOCATE DOS MEMORY BLOCK
310101 - INT 31 P - DPMI 0.9+ - FREE DOS MEMORY BLOCK
310102 - INT 31 P - DPMI 0.9+ - RESIZE DOS MEMORY BLOCK
310200 - INT 31 P - DPMI 0.9+ - GET REAL MODE INTERRUPT VECTOR
310201 - INT 31 P - DPMI 0.9+ - SET REAL MODE INTERRUPT VECTOR
310202 - INT 31 P - DPMI 0.9+ - GET PROCESSOR EXCEPTION HANDLER VECTOR
310203 - INT 31 P - DPMI 0.9+ - SET PROCESSOR EXCEPTION HANDLER VECTOR
310204 - INT 31 P - DPMI 0.9+ - GET PROTECTED MODE INTERRUPT VECTOR
310205 - INT 31 P - DPMI 0.9+ - SET PROTECTED MODE INTERRUPT VECTOR
310210 - INT 31 P - DPMI 1.0+ - GET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310211 - INT 31 P - DPMI 1.0+ - GET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310212 - INT 31 P - DPMI 1.0+ - SET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310213 - INT 31 P - DPMI 1.0+ - SET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310300 - INT 31 P - DPMI 0.9+ - SIMULATE REAL MODE INTERRUPT
310301 - INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH FAR RETURN FRAME
310302 - INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH IRET FRAME
310303 - INT 31 P - DPMI 0.9+ - ALLOCATE REAL MODE CALLBACK ADDRESS
310304 - INT 31 P - DPMI 0.9+ - FREE REAL MODE CALLBACK ADDRESS
310305 - INT 31 P - DPMI 0.9+ - GET STATE SAVE/RESTORE ADDRESSES
310306 - INT 31 P - DPMI 0.9+ - GET RAW MODE SWITCH ADDRESSES
310400 - INT 31 P - DPMI 0.9+ - GET DPMI VERSION
310401 - INT 31 P - DPMI 1.0+ - GET DPMI CAPABILITIES
310500 - INT 31 P - DPMI 0.9+ - GET FREE MEMORY INFORMATION
310501 - INT 31 P - DPMI 0.9+ - ALLOCATE MEMORY BLOCK
310502 - INT 31 P - DPMI 0.9+ - FREE MEMORY BLOCK
310503 - INT 31 P - DPMI 0.9+ - RESIZE MEMORY BLOCK
310504 - INT 31 P - DPMI 1.0+ - ALLOCATE LINEAR MEMORY BLOCK
310505 - INT 31 P - DPMI 1.0+ - RESIZE LINEAR MEMORY BLOCK
310506 - INT 31 P - DPMI 1.0+ - GET PAGE ATTRIBUTES
310507 - INT 31 P - DPMI 1.0+ - MODIFY PAGE ATTRIBUTES
310508 - INT 31 P - DPMI 1.0+ - MAP DEVICE IN MEMORY BLOCK
310509 - INT 31 P - DPMI 1.0+ - MAP CONVENTIONAL MEMORY IN MEMORY BLOCK
31050A - INT 31 P - DPMI 1.0+ - GET MEMORY BLOCK SIZE AND BASE
31050B - INT 31 P - DPMI 1.0+ - GET MEMORY INFORMATION
310600 - INT 31 P - DPMI 0.9+ - LOCK LINEAR REGION
310601 - INT 31 P - DPMI 0.9+ - UNLOCK LINEAR REGION
310602 - INT 31 P - DPMI 0.9+ - MARK REAL MODE REGION AS PAGEABLE
310603 - INT 31 P - DPMI 0.9+ - RELOCK REAL MODE REGION
310604 - INT 31 P - DPMI 0.9+ - GET PAGE SIZE
310700 - INT 31 Pu - DPMI 0.9+ - MARK PAGES AS PAGING CANDIDATES
310701 - INT 31 Pu - DPMI 0.9+ - DISCARD PAGES
310702 - INT 31 P - DPMI 0.9+ - MARK PAGE AS DEMAND PAGING CANDIDATE
310703 - INT 31 P - DPMI 0.9+ - DISCARD PAGE CONTENTS
310800 - INT 31 P - DPMI 0.9+ - PHYSICAL ADDRESS MAPPING
310801 - INT 31 P - DPMI 1.0+ - FREE PHYSICAL ADDRESS MAPPING
310900 - INT 31 P - DPMI 0.9+ - GET AND DISABLE VIRTUAL INTERRUPT STATE
310901 - INT 31 P - DPMI 0.9+ - GET AND ENABLE VIRTUAL INTERRUPT STATE
310902 - INT 31 P - DPMI 0.9+ - GET VIRTUAL INTERRUPT STATE
310A00 - INT 31 P - DPMI 0.9+ - GET VENDOR SPECIFIC API ENTRY POINT
310B00 - INT 31 P - DPMI 0.9+ - SET DEBUG WATCHPOINT
310B01 - INT 31 P - DPMI 0.9+ - CLEAR DEBUG WATCHPOINT
310B02 - INT 31 P - DPMI 0.9+ - GET STATE OF DEBUG WATCHPOINT
310B03 - INT 31 P - DPMI 0.9+ - RESET DEBUG WATCHPOINT
310C00 - INT 31 P - DPMI 1.0+ - INSTALL RESIDENT HANDLER INIT CALLBACK
310C01 - INT 31 P - DPMI 1.0+ - TERMINATE AND STAY RESIDENT
310D00 - INT 31 P - DPMI 1.0+ - ALLOCATE SHARED MEMORY
310D01 - INT 31 P - DPMI 1.0+ - FREE SHARED MEMORY
310D02 - INT 31 P - DPMI 1.0+ - SERIALIZE SHARED MEMORY
310D03 - INT 31 P - DPMI 1.0+ - FREE SERIALIZATION ON SHARED MEMORY
310E00 - INT 31 P - DPMI 1.0+ - GET COPROCESSOR STATUS
310E01 - INT 31 P - DPMI 1.0+ - SET EMULATION
3157 - INT 31 - Netroom3 DPMI.EXE v3.00 - ???
315702 - INT 31 - Netroom3 DPMI.EXE v3.00 - SWITCH TO PROTECTED MODE
31EE00 - INT 31 - DOS32 v3.0+ - GET DOS32 VERSION AND SELECTOR VALUES
31EE02 - INT 31 - DOS32 v3.0+ - GET DOS32 ADDRESS INFORMATION
31EE10 - INT 31 - DOS32 v3.2+ - SET UP A DOS32 LOADABLE LIBRARY
31EE11 - INT 31 - DOS32 v3.2+ - LOAD LIBRARY FILE
31EE20 - INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH RETF STACK FRAME
31EE21 - INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH IRET STACK FRAME
31EE30 - INT 31 - DOS32 v3.0+ - TERMINATE AND STAY RESIDENT
31EE40 - INT 31 - DOS32 v3.0+ - UNDO PREVIOUS MEMORY ALLOCATION or DMA BUFFER
31EE41 - INT 31 - DOS32 v3.0+ - ALLOCATE 16KB DMA BLOCK
31EE42 - INT 31 - DOS32 v3.0+ - ALLOCATE MEMORY BLOCK
31FF00 - INT 31 P - CauseWay - "Info" - GET SYSTEM SELECTORS/FLAGS
31FF01 - INT 31 P - CauseWay - "IntXX" - SIMULATE REAL-MODE INTERRUPT
31FF02 - INT 31 P - CauseWay - "FarCallReal" - SIMULATE REAL-MODE FAR CALL
31FF03 - INT 31 P - CauseWay - "GetSel" - ALLOCATE NEW SELECTOR
31FF04 - INT 31 P - CauseWay - "RelSel" - RELEASE A SELECTOR
31FF05 - INT 31 P - CauseWay - "CodeSel" - CONVERT SELECTOR TO EXECUTABLE CODE SELECTOR
31FF06 - INT 31 P - CauseWay - "AliasSel" - CREATE READ/WRITE DATA ALIAS SELECTOR
31FF07 - INT 31 P - CauseWay - "GetSelDet" - GET SELECTOR BASE AND LIMIT
31FF08 - INT 31 P - CauseWay - "GetSelDet32" - GET SELECTOR BASE AND LIMIT (32-bit)
31FF09 - INT 31 P - CauseWay - "SetSelDet" - SET SELECTOR BASE AND LIMIT
31FF0A - INT 31 P - CauseWay - "SetSelDet32" - SET SELECTOR BASE AND LIMIT (32-bit)
31FF0B - INT 31 P - CauseWay - "GetMem" - ALLOCATE BLOCK OF MEMORY
31FF0C - INT 31 P - CauseWay - "GetMem32" - ALLOCATE BLOCK OF MEMORY (32-bit)
31FF0D - INT 31 P - CauseWay - "ResMem" - RESIZE MEMORY BLOCK
31FF0E - INT 31 P - CauseWay - "ResMem32" - RESIZE MEMORY BLOCK (32-bit)
31FF0F - INT 31 P - CauseWay - "RelMem" - RELEASE PREVIOUSLY ALLOCATED MEMORY
31FF10 - INT 31 P - CauseWay - "GetMemLinear" - ALLOCATE MEMORY WITHOUT SELECTOR
31FF11 - INT 31 P - CauseWay - "GetMemLinear32" - ALLOCATE MEMORY WITHOUT SELECTOR
31FF12 - INT 31 P - CauseWay - "ResMemLinear" - RESIZE LINEAR MEMORY BLOCK
31FF13 - INT 31 P - CauseWay - "ResMemLinear32" - RESIZE LINEAR MEMORY BLOCK (32-bit)
31FF14 - INT 31 P - CauseWay - "RelMemLinear" - RELEASE LINEAR MEMORY BLOCK
31FF15 - INT 31 P - CauseWay - "RelMemLinear32" - RELEASE LINEAR MEMORY BLOCK (32-bit)
31FF16 - INT 31 P - CauseWay - "GetMemNear" - ALLOCATE APPLICATION-RELATIVE MEMORY
31FF17 - INT 31 P - CauseWay - "ResMemNear" - RESIZE APPLICATION-RELATIVE MEMORY BLOCK
31FF18 - INT 31 P - CauseWay - "RelMemNear" - RELEASE APPLICATION-RELATIVE MEMORY BLOCK
31FF19 - INT 31 P - CauseWay - "Linear2Near" - CONVERT LINEAR TO APP-RELATIVE ADDRESS
31FF1A - INT 31 P - CauseWay - "Near2Linear" - CONVERT APP-RELATIVE TO LINEAR ADDRESS
31FF1B - INT 31 P - CauseWay - "LockMem" - LOCK REGION OF MEMORY
31FF1C - INT 31 P - CauseWay - "LockMem32" - LOCK REGION OF MEMORY (32-bit)
31FF1D - INT 31 P - CauseWay - "UnLockMem" - UNLOCK REGION OF MEMORY
31FF1E - INT 31 P - CauseWay - "UnLockMem32" - UNLOCK REGION OF MEMORY (32-bit)
31FF1F - INT 31 P - CauseWay - "LockMemNear" - LOCK APPLICATION-RELATIVE MEMORY REGION
31FF20 - INT 31 P - CauseWay - "UnLockMemNear" - UNLOCK APP-RELATIVE MEMORY REGION
31FF21 - INT 31 P - CauseWay - "GetMemDOS" - ALLOCATE CONVENTIONAL MEMORY
31FF22 - INT 31 P - CauseWay - "ResMemDOS" - RESIZE CONVENTIONAL MEMORY BLOCK
31FF23 - INT 31 P - CauseWay - "RelMemDOS" - RELEASE CONVENTIONAL MEMORY BLOCK
31FF24 - INT 31 P - CauseWay - "ExecOverlay" - LOAD AND OPTIONALLY EXECUTE APP CODE
31FF25 - INT 31 P - CauseWay - "GetDOSTrans" - GET DOS TRANSFER BUFFER
31FF26 - INT 31 P - CauseWay - "SetDOSTrans" - SET DOS TRANSFER BUFFER
31FF27 - INT 31 P - CauseWay v1.3 - "GetMCBSize" - GET CURRENT MCB ALLOCATION BLOCK SIZE
31FF28 - INT 31 P - CauseWay v1.3 - "SetMCBSize" - SET MCB MEMORY ALLOCATION BLOCK SIZE
31FF29 - INT 31 P - CauseWay v1.3 - "GetSels" - ALLOCATE MULTIPLE SELECTORS
31FF2A - INT 31 P - CauseWay v1.3 - "cwLoad" - LOAD ANOTHER CAUSEWAY PROGRAM AS OVERLAY
31FF2B - INT 31 P - CauseWay v1.3 - "cwcInfo" - VALIDATE AND GET SIZE OF CWC FILE
31FF2C - INT 31 P - CauseWay v1.3 - "GetMemSO" - ALLOCATE MEMORY AND RETURN SEL:OFFSET
31FF2D - INT 31 P - CauseWay v1.3 - "ResMemSO" - RESIZE SELECTOR:OFFSET MEMORY BLOCK
31FF2E - INT 31 P - CauseWay v1.3 - "RelMemSO" - RELEASE SELECTOR:OFFSET MEMORY BLOCK
31FFFB - INT 31 P - Causeway v1.3 - "cwcLoad" - LOAD/EXPAND CWC-COMPRESSED FILE
32 - INT 32 - VIRUS - "Tiny" Viruses - ORIGINAL INT 21h VECTOR
32 - INT 32 - VIRUS - "Plovdiv 1.3"/"Damage 1.3" - ORIGINAL INT 21h VECTOR
326E - INT 32 - NOISE.SYS 0.53 - API
326E00 - INT 32 - NOISE.SYS v0.53+ - INSTALLATION CHECK
326E01 - INT 32 - NOISE.SYS v0.53+ - GET ENTRY POINT
326E04 - INT 32 - NOISE.SYS v0.55+ - GET INTERRUPT HOOK LIST
326E06 - INT 32 - NOISE.SYS v0.55+ - GET DEVICE DRIVER HEADER
326E10 - INT 32 - NOISE.SYS v0.53+ - STATUS CHECK
326E11 - INT 32 - NOISE.SYS v0.53+ - GET ENTROPY ESTIMATE
326E12 - INT 32 - NOISE.SYS v0.53+ - ADD SAMPLE FROM FAST TIMER
326E13 - INT 32 - NOISE.SYS v0.53+ - ADD 16-BIT SAMPLE TO RANDOM POOL
326E14 - INT 32 - NOISE.SYS v0.53+ - GET FLAGS
326E15 - INT 32 - NOISE.SYS v0.53+ - SET FLAGS
326E16 - INT 32 - NOISE.SYS v0.53+ - READ URANDOM BYTES
326E17 - INT 32 - NOISE.SYS v0.53+ - READ RANDOM BYTES
326E18 - INT 32 - NOISE.SYS v0.6+ - READ CONTROL RECORD
326E - INT 32 - NOISE.SYS - RESERVED FOR FUTURE USE
330000 - INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
330001 - INT 33 - MS MOUSE v1.0+ - SHOW MOUSE CURSOR
330002 - INT 33 - MS MOUSE v1.0+ - HIDE MOUSE CURSOR
330003 - INT 33 - MS MOUSE v1.0+ - RETURN POSITION AND BUTTON STATUS
330004 - INT 33 - MS MOUSE v1.0+ - POSITION MOUSE CURSOR
330005 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON PRESS DATA
330006 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON RELEASE DATA
330007 - INT 33 - MS MOUSE v1.0+ - DEFINE HORIZONTAL CURSOR RANGE
330008 - INT 33 - MS MOUSE v1.0+ - DEFINE VERTICAL CURSOR RANGE
330009 - INT 33 - MS MOUSE v3.0+ - DEFINE GRAPHICS CURSOR
33000A - INT 33 - MS MOUSE v3.0+ - DEFINE TEXT CURSOR
33000B - INT 33 - MS MOUSE v1.0+ - READ MOTION COUNTERS
33000C - INT 33 - MS MOUSE v1.0+ - DEFINE INTERRUPT SUBROUTINE PARAMETERS
33000D - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION ON
33000E - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION OFF
33000F - INT 33 - MS MOUSE v1.0+ - DEFINE MICKEY/PIXEL RATIO
330010 - INT 33 - MS MOUSE v1.0+ - DEFINE SCREEN REGION FOR UPDATING
330010 - INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
330011 - INT 33 - Genius Mouse 9.06 - GET NUMBER OF BUTTONS
330012 - INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
330013 - INT 33 - MS MOUSE v5.0+ - DEFINE DOUBLE-SPEED THRESHOLD
330014 - INT 33 - MS MOUSE v3.0+ - EXCHANGE INTERRUPT SUBROUTINES
330015 - INT 33 - MS MOUSE v6.0+ - RETURN DRIVER STORAGE REQUIREMENTS
330016 - INT 33 - MS MOUSE v6.0+ - SAVE DRIVER STATE
330017 - INT 33 - MS MOUSE v6.0+ - RESTORE DRIVER STATE
330018 - INT 33 - MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER
330019 - INT 33 - MS MOUSE v6.0+ - RETURN USER ALTERNATE INTERRUPT VECTOR
33001A - INT 33 - MS MOUSE v6.0+ - SET MOUSE SENSITIVITY
33001B - INT 33 - MS MOUSE v6.0+ - RETURN MOUSE SENSITIVITY
33001C - INT 33 - MS MOUSE v6.0+ - SET INTERRUPT RATE
33001D - INT 33 - MS MOUSE v6.0+ - DEFINE DISPLAY PAGE NUMBER
33001E - INT 33 - MS MOUSE v6.0+ - RETURN DISPLAY PAGE NUMBER
33001F - INT 33 - MS MOUSE v6.0+ - DISABLE MOUSE DRIVER
330020 - INT 33 - MS MOUSE v6.0+ - ENABLE MOUSE DRIVER
330021 - INT 33 - MS MOUSE v6.0+ - SOFTWARE RESET
330022 - INT 33 - MS MOUSE v6.0+ - SET LANGUAGE FOR MESSAGES
330023 - INT 33 - MS MOUSE v6.0+ - GET LANGUAGE FOR MESSAGES
330024BX0000 - INT 33 - MS MOUSE v6.26+ - GET SOFTWARE VERSION, MOUSE TYPE, AND IRQ NUMBER
330025 - INT 33 - MS MOUSE v6.26+ - GET GENERAL DRIVER INFORMATION
330026 - INT 33 - MS MOUSE v6.26+ - GET MAXIMUM VIRTUAL COORDINATES
330026 - INT 33 - Genius Mouse 9.06 - ???
330027 - INT 33 - MS MOUSE v7.01+ - GET SCREEN/CURSOR MASKS AND MICKEY COUNTS
330028 - INT 33 - MS MOUSE v7.0+ - SET VIDEO MODE
330029 - INT 33 - MS MOUSE v7.0+ - ENUMERATE VIDEO MODES
33002A - INT 33 - MS MOUSE v7.02+ - GET CURSOR HOT SPOT
33002B - INT 33 - MS MOUSE v7.0+ - LOAD ACCELERATION PROFILES
33002C - INT 33 - MS MOUSE v7.0+ - GET ACCELERATION PROFILES
33002D - INT 33 - MS MOUSE v7.0+ - SELECT ACCELERATION PROFILE
33002E - INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILE NAMES
33002F - INT 33 - MS MOUSE v7.02+ - MOUSE HARDWARE RESET
330030 - INT 33 - MS MOUSE v7.04+ - GET/SET BallPoint INFORMATION
330031 - INT 33 - MS MOUSE v7.05+ - GET CURRENT MINIMUM/MAXIMUM VIRTUAL COORDINATES
330032 - INT 33 - MS MOUSE v7.05+ - GET ACTIVE ADVANCED FUNCTIONS
330033 - INT 33 - MS MOUSE v7.05+ - GET SWITCH SETTINGS AND ACCELERATION PROFILE DATA
330034 - INT 33 - MS MOUSE v8.0+ - GET INITIALIZATION FILE
330035 - INT 33 - MS MOUSE v8.10+ - LCD SCREEN LARGE POINTER SUPPORT
330042 - INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
330043 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CONFIGURE MOUSE???
330044CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE IGNORE ACCELERATION CMDS
330045CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE RESOLUTION DOUBLING
330047 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET BUTTON ASSIGNMENTS
330048BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET ???
33004B - INT 33 - LCS/Telegraphics MOUSE DRIVERS - INSTALLATION CHECK / GET VERSION
33004CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ??? FLAG
33004D - INT 33 - MS MOUSE - RETURN POINTER TO COPYRIGHT STRING
33004F - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ENABLE MOUSE
330050 - INT 33 - PCMOUSE - SAVE MSMOUSE STATE
330052 - INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
330053 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - DISABLE MOUSE
330054CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SELECT ULTRARES ACCELERATION LEVEL
330055 - INT 33 - Kraft Mouse - GET ???
330058 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
33005A - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ULTRARES ACCELERATIONS
330061BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
330067 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET MOUSE BUTTONS???
33006A - INT 33 U - ATI Mouse - INSTALLATION CHECK
33006C - INT 33 U - TRUEDOX Mouse driver v4.01 - GET/SET HARDWARE PARAMETERS
33006CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CLEAR ??? FLAG
33006D - INT 33 - MS MOUSE - GET VERSION STRING
330070BXABCD - INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
330072BXABCD - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
330073BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET BUTTON ASSIGNMENTS
3300A0 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE PC MODE (3 button)
3300A1 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE MS MODE (2 button)
3300A6 - INT 33 U - TRUEDOX Mouse driver - SET RESOLUTION
3300B0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300D6 - INT 33 - Twiddler TWMOUSE - GET BUTTON/TILT STATE
3300F0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F1 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F2 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F3 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
330100CX4752 - INT 33 - GRTMOUSE v1.00+ - INSTALLATION CHECK
330101 - INT 33 - GRTMOUSE v1.00+ - SET MOUSE CURSOR SHAPE
330102 - INT 33 - GRTMOUSE v1.00+ - GET MOUSE CURSOR SHAPE
330103 - INT 33 - GRTMOUSE v1.00+ - SET ACTIVE CHARACTERS
330104 - INT 33 - GRTMOUSE v1.00+ - GET ACTIVE CHARACTERS
33012E - INT 33 - MS MOUSE v8.10+ - ???
33022E - INT 33 - MS MOUSE v8.10+ - ???
330666 - INT 33 U - TRUEDOX Mouse driver v4.01 - GET COPYRIGHT STRING
33136C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33146C - INT 33 - LOGITECH MOUSE v6.10+ - GET/SET ???
33156C - INT 33 - LOGITECH MOUSE v6.10+ - GET SIGNATURE AND VERSION STRINGS
33166C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33176C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33186C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33196C - INT 33 - LOGITECH MOUSE v6.10+ - ???
331A6C - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
331B6C - INT 33 - LOGITECH MOUSE v6.10+ - SET ???
331C6C - INT 33 - LOGITECH MOUSE v6.10+ - ???
331D6C - INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
331E6C - INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
331F6C - INT 33 - LOGITECH MOUSE - GET BALLISTICS INFORMATION
33206C - INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
33216C - INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
33226C - INT 33 - LOGITECH MOUSE - REMOVE DRIVER FROM MEMORY
33236C - INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
33246C - INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
33256CBX0000 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET BAUD RATE (SERIAL MOUSE ONLY)
33256CBX0001 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET EMULATION (SERIAL MOUSE ONLY)
33256CBX0002 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET REPORT RATE (SERIAL MOUSE ONLY)
33256CBX0003 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE PORT (SERIAL MOUSE ONLY)
33256CBX0004 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE LOGICAL BUTTONS
33266C - INT 33 - LOGITECH MOUSE - GET VERSION???
33276C - INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
333000 - INT 33 - Smooth Mouse Driver, PrecisePoint - INSTALLATION CHECK
333001 - INT 33 - Smooth Mouse Driver, PrecisePoint - ENABLE SMOOTH MOUSE
333002 - INT 33 - Smooth Mouse Driver, PrecisePoint - DISABLE SMOOTH MOUSE
333003 - INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
333004 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
333005 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
334F00 - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
334F01 - INT 33 - LOGITECH MOUSE v6.10+ - ???
336F00 - INT 33 - Hewlett Packard - HP MOUSE DRIVER INSTALLATION CHECK
338800 - INT 33 U - InfoTrack IMOUSE.COM - UNHOOK MOUSE IRQ
338800BXFFFF - INT 33 U - InfoTrack IMOUSE.COM - GET ACTIVE IRQ
33FFE6 - INT 33 - Switch-It v3.23 - GET ??? PROGRAM
33FFE7 - INT 33 - Switch-It v3.23 - GET ???
33FFE8 - INT 33 - Switch-It v3.23 - ???
33FFE9 - INT 33 - Switch-It v3.23 - SET ???
33FFEA - INT 33 - Switch-It v3.23 - SET ???
33FFEB - INT 33 - Switch-It v3.23 - SET ??? FLAG
33FFEC - INT 33 - Switch-It v3.23 - SET ???
33FFED - INT 33 - Switch-It v3.23 - GET ???
33FFEE - INT 33 - Switch-It v3.23 - GET ???
33FFEF - INT 33 - Switch-It v3.23 - GET ???
33FFF0 - INT 33 - Switch-It v3.23 - SET ???
33FFF1 - INT 33 - Switch-It v3.23 - GET CONFIGURATION FILE
33FFF2 - INT 33 - Switch-It v3.23 - SET ??? FLAG
33FFF3 - INT 33 - Switch-It v3.23 - GET ???
33FFF4 - INT 33 - Switch-It v3.23 - SET ???
33FFF5 - INT 33 - Switch-It v3.23 - GET ???
33FFF6 - INT 33 - Switch-It v3.23 - GET ???
33FFF7 - INT 33 - Switch-It v3.23 - GET ???
33FFF8 - INT 33 - Switch-It v3.23 - ???
33FFF9 - INT 33 - Switch-It v3.23 - NOP
33FFFA - INT 33 - Switch-It v3.23 - SET ???
33FFFB - INT 33 - Switch-It v3.23 - GET ???
33FFFC - INT 33 - Switch-It v3.23 - CLEAR ???
33FFFD - INT 33 - Switch-It v3.23 - GET MEMORY ADDRESSES???
33FFFE - INT 33 - Switch-It v3.23 - INSTALLATION CHECK
33FFFF - INT 33 - Switch-It v3.23 - ???
34 - INT 34 - FLOATING POINT EMULATION - OPCODE D8h
35 - INT 35 - FLOATING POINT EMULATION - OPCODE D9h
36 - INT 36 - FLOATING POINT EMULATION - OPCODE DAh
37 - INT 37 - FLOATING POINT EMULATION - OPCODE DBh
38 - INT 38 - FLOATING POINT EMULATION - OPCODE DCh
38 - INT 38 - PC-MOS/386 v3.0 - API
39 - INT 39 - FLOATING POINT EMULATION - OPCODE DDh
3A - INT 3A - FLOATING POINT EMULATION - OPCODE DEh
3B - INT 3B - FLOATING POINT EMULATION - OPCODE DFh
3C - INT 3C - FLOATING POINT EMULATION - INSTRUCTIONS WITH SEGMENT OVERRIDE
3D - INT 3D - FLOATING POINT EMULATION - STANDALONE FWAIT
3E - INT 3E - FLOATING POINT EMULATION - Borland LANGUAGES "SHORTCUT" CALL
3F - INT 3F - Overlay manager interrupt (Microsoft LINK.EXE, Borland TLINK VROOMM)
3F - INT 3F - Microsoft Dynamic Link Library manager
40 - INT 40 - DISKETTE - ROM BIOS DISKETTE HANDLER RELOCATED BY HARD DISK BIOS
40 - INT 40 - Z100 - Master 8259 - Parity error or S100 error
40 - INT 40 - Acorn BBC Master 512 - "OSFIND" - OPEN FILE
40 - INT 40 - TI Professional PC - IRQ0
41 - INT 41 - SYSTEM DATA - HARD DISK 0 PARAMETER TABLE ADDRESS [NOT A VECTOR!]
41 - INT 41 - Z100 - Master 8259 - Processor Swap
41 - INT 41 - TI Professional PC - IRQ1
41 - INT 41 - Acorn BBC Master 512 - "OSGBPB" - MULTI-BYTE GET/PUT
410000 - INT 41 CPU - MS Windows debugging kernel - OUTPUT CHARACTER FOR USER
410001 - INT 41 CPU - MS Windows debugging kernel - INPUT CHARACTER
41000D - INT 41 CPU - MS Windows debugging kernel - TASK GOING OUT
41000E - INT 41 CPU - MS Windows debugging kernel - TASK COMING IN
410012 - INT 41 CPU - MS Windows debugging kernel - "OutputDebugString"
41004F - INT 41 CPU - MS Windows debugging kernel - DEBUGGER INSTALLATION CHECK
410050 - INT 41 P - MS Windows debugging kernel - "DefineDebugSegment"
410051 - INT 41 CPU - MS Windows debugging kernel - MOVE SEGMENT
410052 - INT 41 CPU - MS Windows debugging kernel - FREE SEGMENT
410059 - INT 41 CPU - MS Windows debugging kernel - LOAD TASK
41005C - INT 41 CPU - MS Windows debugging kernel - FREE INITIAL SEGMENT
410060 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT LOAD
410061 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT DISCARD
410062 - INT 41 CPU - MS Windows debugging kernel - APPLICATION TERMINATING
410063 - INT 41 CPU - MS Windows debugging kernel - ASYNCHRONOUS STOP (Ctrl-Alt-SysReq)
410064 - INT 41 CPU - MS Windows debugging kernel - DLL LOADED
410065 - INT 41 CPU - MS Windows debugging kernel - MODULE REMOVED
410066 - INT 41 CPU - MS Windows debugging kernel - ERROR
410067 - INT 41 CPU - MS Windows debugging kernel - PARAMETER ERROR
42 - INT 42 - VIDEO - RELOCATED DEFAULT INT 10 VIDEO SERVICES (EGA,VGA)
42 - INT 42 - Z100 - Master 8259 - Timer
42 - INT 42 - TI Professional PC - IRQ2
42 - INT 42 - Western Digital WD1002 SuperBIOS - INT 40 CASCADE
42 - INT 42 - Acorn BBC Master 512 - "OSBPUT" - WRITE SINGLE BYTE TO FILE
425F33 - INT 42 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
427500 - INT 42 U - Toshiba laptops - ???
427501 - INT 42 U - Toshiba laptop - GET ??? DATA
427502 - INT 42 U - Toshiba laptops - SET ??? DATA
427503 - INT 42 - Toshiba laptops - GET DISPLAY STATUS
427504 - INT 42 U - Toshiba laptops - ???
43 - INT 43 - VIDEO DATA - CHARACTER TABLE (EGA,MCGA,VGA)
43 - INT 43 - Z100 - Master 8259 - Slave 8259 input
43 - INT 43 - TI Professional PC - IRQ3 - TIMER1 25ms INTERVAL INTERRUPT
43 - INT 43 - Acorn BBC Master 512 - "OSBGET" - READ SINGLE BYTE FROM FILE
44 - INT 44 - VIDEO DATA - ROM BIOS CHARACTER FONT, CHARACTERS 00h-7Fh (PCjr)
44 - INT 44 - Novell NetWare - HIGH-LEVEL LANGUAGE API
44 - INT 44 - IBM 3270-PC High Level Language API
44 - INT 44 - Z100 - Master 8259 - Serial A
44 - INT 44 - TI Professional PC - IRQ4
44 - INT 44 - VIRUS - "Lehigh" - ORIGINAL INT 21h VECTOR
4400 - INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
44 - INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
45 - INT 45 - Z100 - Master 8259 - Serial B
45 - INT 45 - TI Professional PC - IRQ5
45 - INT 45 - Acorn BBC Master 512 - "OSFILE" - READ/WRITE FILE OR DIRECTORY INFO
46 - INT 46 - SYSTEM DATA - HARD DISK 1 DRIVE PARAMETER TABLE ADDRESS [NOT A VECTOR!]
46 - INT 46 - Z100 - Master 8259 - Keyboard, Retrace, and Light Pen
46 - INT 46 - TI Professional PC - IRQ6 - FLOPPY DISK CONTROLLER
46 - INT 46 - Acorn BBC Master 512 - "OSRDCH" - GET CHARACTER FROM CUR INPUT STREAM
47 - INT 47 - Z100 - Master 8259 - Printer
47 - INT 47 - TI Professional PC - IRQ7 - KEYBOARD USART
47 - INT 47 - Acorn BBC Master 512 - "OSWRCH" - WRITE CHARACTER TO CUR OUTPUT STREAM
47 - INT 47 - Western Digital WD1002-27X SuperBIOS - INT 40 CASCADE
478000 - INT 47 - SQL Base - DATABASE ENGINE API
478001 - INT 47 - SQL Base - GET VERSION NUMBER
48 - INT 48 - KEYBOARD - CORDLESS KEYBOARD TRANSLATION (PCjr)
48 - INT 48 - Z100 - Slave 8259 - S100 vectored line 0
48 - INT 48 - Watstar PC Network data pointer 1
48 - INT 48 - Acorn BBC Master 512 - "OSNEWL" - SEND NEWLINE TO OUTPUT STREAM
48 - INT 48 - Western Digital WD1002-27X SuperBIOS - DRIVE DATA (NOT A VECTOR!)
48 - INT 48 U - Compaq UILIB.EXE - API
4800 - INT 48 - TI Professional PC - SPEAKER DEVICE - SOUND SPEAKER
4801 - INT 48 - TI Professional PC - SPEAKER DEVICE - CHECK SPEAKER STATUS
4802 - INT 48 - TI Professional PC - SPEAKER DEVICE - SET SPEAKER FREQUENCY
4803 - INT 48 - TI Professional PC - SPEAKER DEVICE - TURN ON SPEAKER
4804 - INT 48 - TI Professional PC - SPEAKER DEVICE - TURN OFF SPEAKER
4805 - INT 48 - TI Professional PC - SPEAKER DEVICE - DELAY
4806 - INT 48 - TI Professional PC - CALCULATE CRC
4807 - INT 48 - TI Professional PC - PRINT ROM MESSAGE
4808 - INT 48 - TI Professional PC - DISPLAY SYSTEM ERROR MESSAGE
4809 - INT 48 - TI Professional PC - GET SYSTEM CONFIGURATION DATA
480A - INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFO ADDRESS
480B - INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFORMATION
481A70 - INT 48 U - Compaq UILIB.EXE - INSTALLATION CHECK
49 - INT 49 - SYSTEM DATA - NON-KEYBOARD SCAN-CODE TRANSLATION TABLE (PCjr)
49 - INT 49 - Z100 - Slave 8259 - S100 vectored line 1
49 - INT 49 - Watstar PC Network data pointer 2
49 - INT 49 - Acorn BBC Master 512 - "OSASCI" - WRITE CHARACTER TO CUR OUTPUT STREAM
49 - INT 49 - Tandy 2000 - BOOTSTRAP LOADER
490001 - INT 49 - MAGic v1.16+ - TURN ON MAGNIFICATION
490002 - INT 49 - MAGic v1.16+ - TURN OFF MAGNIFICATION
490003 - INT 49 - MAGic v1.16+ - SHIFT MAGNIFIED WINDOW TO INCLUDE SPECIFIED LOCATION
490004 - INT 49 - MAGic v1.16+ - REPOSITION MAGNIFIED WINDOW
490005 - INT 49 - MAGic v1.16+ - GET POSITION OF MAGNIFIED WINDOW
490006 - INT 49 - MAGic v1.16+ - GET SIZE OF FULL SCREEN
490007 - INT 49 - MAGic v1.16+ - GET SIZE OF MAGNIFICATION WINDOW
490008 - INT 49 - MAGic v1.23+ - SET TEXT MODE MAGNIFICATION SIZE
4901 - INT 49 - TI Professional PC - CRT - SET CURSOR SIZE AND TYPE
4902 - INT 49 - TI Professional PC - CRT - SET CURSOR POSITION
4903 - INT 49 - TI Professional PC - CRT - GET CURSOR POSTION AND TYPE
4906 - INT 49 - TI Professional PC - CRT - SCROLL UP/COPY WINDOW
4907 - INT 49 - TI Professional PC - CRT - SCROLL DOWN/COPY WINDOW
4908 - INT 49 - TI Professional PC - CRT - GET CHARACTER AND ATTRIBUTE AT POSITION
4909 - INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH ATTRIBUTE
490A - INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH CURRENT ATTRIBUTE
490E - INT 49 - TI Professional PC - CRT - TTY OUTPUT
4910 - INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH ATTRIBUTE
4911 - INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH CURR ATTRIB
4912 - INT 49 - TI Professional PC - CRT - FILL ENTIRE SCREEN WITH ATTRIBUTE
4913 - INT 49 - TI Professional PC - CRT - CLEAR ENTIRE TEXT SCREEN AND HOME CURSOR
4914 - INT 49 - TI Professional PC - CRT - CLEAR ENTIRE GRAPHICS SCREEN
4915 - INT 49 - TI Professional PC - CRT - SET PROTECTED STATUS AREA
4916 - INT 49 - TI Professional PC - CRT - SET ATTRIBUTE LATCH
4917 - INT 49 - TI Professional PC - CRT - GET START-OF-DISPLAY POINTER
4918 - INT 49 - TI Professional PC - CRT - PRINT TTY STRING
4A - INT 4A C - SYSTEM - USER ALARM HANDLER
4A - INT 4A - Z100 - Slave 8259 - S100 vectored line 2
4A - INT 4A - Tandy 2000 - PRINT SCREEN
4A - INT 4A - Acorn BBC Master 512 - "OSWORD" - MISC FUNCTIONS USING CONTROL BLOCK
4A00 - INT 4A - TI Professional PC - KEYBOARD - GET KEYPRESS
4A01 - INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD STATUS
4A02 - INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD MODE
4A03 - INT 4A - TI Professional PC - KEYBOARD - FLUSH KEYBOARD BUFFER
4A04 - INT 4A - TI Professional PC - KEYBOARD - SEND COMMAND TO KEYBOARD
4A05 - INT 4A - TI Professional PC - KEYBOARD - INSERT CHARACTER INTO KEYBOARD BUFFER
4B - INT 4B - Z100 - Slave 8259 - S100 vectored line 3
4B - INT 4B - Common Access Method SCSI interface (draft revision 1.9)
4B - INT 4B - Tandy 2000 - EQUIPMENT DETERMINATION
4B - INT 4B - Acorn BBC Master 512 - "OSBYTE" - MISC FUNCTIONS USING REGISTER PARAMS
4B00 - INT 4B - TI Professional PC - PARALLEL PORT - OUTPUT CHARACTER
4B01 - INT 4B - TI Professional PC - PARALLEL PORT - INITIALIZE PRINTER
4B02 - INT 4B - TI Professional PC - PARALLEL PORT - GET PRINTER STATUS
4B80 - INT 4B - IBM SCSI interface
4B8102DX0000 - INT 4B - Virtual DMA Specification (VDS) - GET VERSION
4B8103 - INT 4B - Virtual DMA Specification - LOCK DMA REGION
4B8104 - INT 4B - Virtual DMA Specification - UNLOCK DMA REGION
4B8105 - INT 4B - Virtual DMA Specification - SCATTER/GATHER LOCK REGION
4B8106 - INT 4B - Virtual DMA Specification - SCATTER/GATHER UNLOCK REGION
4B8107 - INT 4B - Virtual DMA Specification - REQUEST DMA BUFFER
4B8108 - INT 4B - Virtual DMA Specification - RELEASE DMA BUFFFER
4B8109DX0000 - INT 4B - Virtual DMA Specification - COPY INTO DMA BUFFER
4B810ADX0000 - INT 4B - Virtual DMA Specification - COPY OUT OF DMA BUFFER
4B810B - INT 4B - Virtual DMA Specification - DISABLE DMA TRANSLATION
4B810C - INT 4B - Virtual DMA Specification - ENABLE DMA TRANSLATION
4B810D - INT 4B - QEMM-386 - BUG
4C - INT 4C - Z100 - Slave 8259 - S100 vectored line 4
4C - INT 4C - TI Professional PC - CLOCK/ANALOG INTERFACE
4C - INT 4C - Tandy 2000 - GET MEMORY SIZE
4C - INT 4C - Acorn BBC Master 512 - "OSCLI" - INTERPRET COMMAND LINE
4D - INT 4D - Z100 - Slave 8259 - S100 vectored line 5
4D - INT 4D - IBM - M-Audio Adapter SUPPORT
4D00 - INT 4D - TI Professional PC - DISK - RESET DISK SYSTEM
4D01 - INT 4D - TI Professional PC - DISK - GET STATUS OF LAST OPERATION
4D02 - INT 4D - TI Professional PC - DISK - READ SECTOR(S) INTO MEMORY
4D03 - INT 4D - TI Professional PC - DISK - WRITE SECTOR(S) FROM MEMORY
4D04 - INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR CRC(S)
4D05 - INT 4D - TI Professional PC - DISK - NOP
4D06 - INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR(S)
4D07 - INT 4D - TI Professional PC - DISK - GET RETRY STATUS OF LAST OPERATION
4D08 - INT 4D - TI Professional PC - DISK - SET STANDARD DEVICE INTERFACE TABLE
4D09 - INT 4D - TI Professional PC - DISK - SET DEVICE INTERFACE TABLE ADDRESS
4D0A - INT 4D - TI Professional PC - DISK - GET DEVICE INTERFACE TABLE ADDRESS
4D0B - INT 4D - TI Professional PC - DISK - TURN OFF ALL DRIVES
4E - INT 4E - Z100 - Slave 8259 - S100 vectored line 6
4E00 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS DATE
4E01 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS TIME
4E02 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - GET BIOS DATA AND TIME
4F - INT 4F - Z100 - Slave 8259 - S100 vectored line 7
4F - INT 4F - TI Professional PC - SYSTEM CONFIGURATION CALL
4F0081 - INT 4F - ATA Software Programming Interface (ATASPI) - SEND ATASPI REQUEST
4F0082CX8765 - INT 4F - ATA Software Programming Interface (ATASPI) - INSTALLATION CHECK
4F8100 - INT 4F - Common Access Method SCSI interface rev 2.3 - SEND CCB TO XPT/SIM
4F8200CX8765 - INT 4F - Common Access Method SCSI interface rev 2.3 - INSTALLATION CHECK
50 - INT 50 - TIL Xpert AIM (X.25)
50 - INT 50 - IRQ0 relocated by DESQview
50 - INT 50 - IRQ0 relocated by IBM 3278 emulation control program
50 - INT 50 - IRQ0 relocated by OS/2 v1.x
50 - INT 50 - TI Professional PC - FATAL SOFTWARE ERROR TRAP
500000 - INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - OPEN TEXT WINDOW
500001 - INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - CLOSE TEXT WINDOW
500002 - INT 50 - Vanderaart TEXT WINDOWS - PUT CHARACTER IN WINDOW
500002 - INT 50 - PC Thuis Organizer Shell - PLOT TEXT
500003 - INT 50 - Vanderaart TEXT WINDOWS - OUTPUT LINE TO WINDOW
500003 - INT 50 - PC Thuis Organizer Shell - WRITE FILE
500004 - INT 50 - Vanderaart TEXT WINDOWS - GET KEY
500004 - INT 50 - PC Thuis Organizer Shell - READ FILE
500005 - INT 50 - Vanderaart TEXT WINDOWS - CHANGE ATTRIBUTE
500005 - INT 50 - PC Thuis Organizer Shell - PROMPT YES/NO
500006 - INT 50 - Vanderaart TEXT WINDOWS - EDIT LINE IN WINDOW
500006 - INT 50 - PC Thuis Organizer Shell - ALERT USER
500007 - INT 50 - PC Thuis Organizer Shell - DO LINE
500008 - INT 50 - PC Thuis Organizer Shell - DO MENU
500009 - INT 50 - PC Thuis Organizer Shell - MESSAGE ON
50000A - INT 50 - PC Thuis Organizer Shell - MESSAGE OFF
50000B - INT 50 - PC Thuis Organizer Shell - CHANGE ATTRIBUTE
50000C - INT 50 - PC Thuis Organizer Shell - DO REQUEST
50000D - INT 50 - PC Thuis Organizer Shell - EDIT LINE
50000E - INT 50 - PC Thuis Organizer Shell - PLOT CHARACTER
50000F - INT 50 - PC Thuis Organizer Shell - EMPTY WINDOW
500010 - INT 50 - PC Thuis Organizer Shell - TRACE MENU
500011 - INT 50 - PC Thuis Organizer Shell - MOVE MEMORY
500012 - INT 50 - PC Thuis Organizer Shell - COMPARE MEMORY
500013 - INT 50 - PC Thuis Organizer Shell - GET KEY
500014 - INT 50 - PC Thuis Organizer Shell - SCROLL WINDOW
500015 - INT 50 - PC Thuis Organizer Shell - GET MEMORY HANDLE
Section -
51 - INT 51 - IRQ1 relocated by DESQview
51 - INT 51 - IRQ1 relocated by IBM 3278 emulation control program
51 - INT 51 - IRQ1 relocated by OS/2 v1.x
51 - INT 51 - TI Professional PC - RESTART TIMING EVENT
51 - INT 51 - Tandy 2000 - KEYBOARD SERVICES
52 - INT 52 - IRQ2 relocated by DESQview
52 - INT 52 - IRQ2 relocated by IBM 3278 emulation control program, OS/2 v1.x
52 - INT 52 - TI Professional PC - CANCEL TIMING EVENT
52 - INT 52 - Tandy 2000 - VIDEO SERVICES
53 - INT 53 - IRQ3 relocated by DESQview
53 - INT 53 - IRQ3 relocated by IBM 3278 emulation control program, OS/2 v1.x
53 - INT 53 - TI Professional PC - SVC INTERFACE
53 - INT 53 - Tandy 2000 - SERIAL COMMUNICATIONS
53 - INT 53 - WEB??? - API
54 - INT 54 - IRQ4 relocated by DESQview
54 - INT 54 - IRQ4 relocated by IBM 3278 emulation control program, OS/2 v1.x
54 - INT 54 - TI Professional PC - ACTIVATE TASK SUBROUTINE
54 - INT 54 - Tandy 2000 - LINE PRINTER
545400 - INT 54 U - Toshiba PCMCIA2 - INSTALLATION CHECK
55 - INT 55 - IRQ5 relocated by DESQview
55 - INT 55 - IRQ5 relocated by IBM 3278 emulation control program, OS/2 v1.x
55 - INT 55 - TI Professional PC - RESERVED FOR FUTURE USE
55 - INT 55 - Tandy 2000 - SYSTEM CLOCK
56 - INT 56 - IRQ6 relocated by DESQview
56 - INT 56 - IRQ6 relocated by IBM 3278 emulation control program, OS/2 v1.x
56 - INT 56 - TI Professional PC - RESERVED FOR FUTURE USE
56 - INT 56 - Tandy 2000 - FLOPPY DISK SERVICES
57 - INT 57 - IRQ7 relocated by DESQview
57 - INT 57 - IRQ7 relocated by IBM 3278 emulation control program, OS/2 v1.x
57 - INT 57 C - TI Professional PC - CRT MAPPING HOOK
58 - INT 58 - IRQ8 relocated by DESQview 2.26+
58 - INT 58 - IRQ0 relocated by DoubleDOS
58 - INT 58 C - TI Professional PC - SYSTEM TIMER 25ms HOOK
59 - INT 59 - IRQ9 relocated by DESQview 2.26+
59 - INT 59 - IRQ1 relocated by DoubleDOS
59 - INT 59 - TI Professional PC - COMMON ROM HARDWARE INTERRUPT EXIT VECTOR
59 - INT 59 - GSS Computer Graphics Interface (GSS*CGI)
5A - INT 5A - IRQ10 relocated by DESQview 2.26+
5A - INT 5A - IRQ2 relocated by DoubleDOS
5A - INT 5A - PC Cluster adapter BIOS entry address
5A - INT 5A - TI Professional PC - SYSTEM TIMER 100ms HOOK
5B - INT 5B - IRQ11 relocated by DESQview 2.26+
5B - INT 5B - IRQ3 relocated by DoubleDOS
5B - INT 5B - PC cluster adapter - RELOCATED INT 19
5B - INT 5B - AT&T Starlan Extended NetBIOS (variable length names)
5B - INT 5B - Microsoft Network Transport Layer Interface
5B - INT 5B - used by Alloy NTNX
5B - INT 5B - ISOLAN Multi Protocol Software
5B - INT 5B C - TI Professional PC - KEYBOARD MAPPING HOOK
5B5254DL04 - INT 5B U - SitBack v3.02R - GET ???
5B8485DL70 - INT 5B U - SitBack v3.02R - INSTALLATION CHECK
5B8485DL71 - INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS
5B8485DL72 - INT 5B U - SitBack v3.02R - CLEAR ??? FLAG
5B8485DL73 - INT 5B U - SitBack v3.02R - ???
5B8485DL74 - INT 5B U - SitBack v3.02R - ???
5B8485DL75 - INT 5B U - SitBack v3.02R - ???
5B8485DL76 - INT 5B U - SitBack v3.02R - ???
5B8485DL77 - INT 5B U - SitBack v3.02R - SET ??? FLAG
5B8485DL78 - INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT
5B8485DL79 - INT 5B U - SitBack v3.02R - GET DTA
5B8485DL7A - INT 5B U - SitBack v3.02R - TOGGLE ???
5C - INT 5C - NetBIOS INTERFACE
5C - INT 5C - IRQ12 relocated by DESQview 2.26+
5C - INT 5C - IRQ4 relocated by DoubleDOS
5C - INT 5C - TOPS INTERFACE
5C - INT 5C - ATALK.SYS - AppleTalk INTERFACE
5C - INT 5C - IBM 802.2 INTERFACE (LLC)
5C - INT 5C - $25 LAN - INSTALLATION CHECK
5C0100 - INT 5C C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR
5C04 - INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
5D - INT 5D - IRQ13 relocated by DESQview 2.26+
5D - INT 5D - IRQ5 relocated by DoubleDOS
5D - INT 5D C - TI Professional PC - KEYBOARD BREAK KEY VECTOR
5E - INT 5E - IRQ14 relocated by DESQview 2.26+
5E - INT 5E - IRQ6 relocated by DoubleDOS
5E - INT 5E C - TI Professional PC - KEYBOARD PRINT-SCREEN VECTOR
5F - INT 5F - IRQ15 relocated by DESQview 2.26+
5F - INT 5F - IRQ7 relocated by DoubleDOS
5F - INT 5F C - TI Professional PC - KEYBOARD QUEUEING VECTOR
5F00 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET VIDEO MODE
5F01 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET FILL MASK
5F02 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFO
5F03 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN
5F04 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET CLIP REGION
5F05 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW RECTANGLE
5F06 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW LINE
5F07 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PLOT POINT
5F08 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - MOVE PEN
5F09 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET PEN COLOR
5F0A - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE
5F0B - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LINE TYPE
5F0C - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET PIXEL
5F0D - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET IMAGE
5F0E - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PUT IMAGE
5F0F - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - WRITE TEXT
5F10 - INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - GET FONT POINTER
5F11 - INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - SET CURRENT FONT
60 - INT 60 - reserved for user interrupt
60 - INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK
60 - INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
60 - INT 60 - TI Professional PC - SYSTEM ROM DATA AREA POINTER (NOT A VECTOR!)
60 - INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS
60 - INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK
60 - INT 60 - ATI M64VBE.COM - INSTALLATION SIGNATURE
60 - INT 60 U - Buffit v3.0 - (NOT A VECTOR!) - INSTALLATION CHECK
60 - INT 60 - PC-IPC API
60 - INT 60 - Tangram Arbiter - API
60 - INT 60 - Excelan LAN Workplace for DOS 3.5 - API
60 - INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI)
60 - INT 60 U - INTRSPY/CMDSPY v1.0 only - API
60 - INT 60 U - PC/370 v4.2 - ???
60 - INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
60 - INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
60 - INT 60 u - 3270-PC CONTROL PROGRAM - ???
60----DI0100 - INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
60----DI0101 - INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
60----DI0102 - INT 60 u - HP 95LX System Manager - "SH_STATUS"
60----DI0104 - INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
60----DI0105 - INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
60----DI0106 - INT 60 u - HP 95LX System Manager - YIELD CPU
60----DI0107 - INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
60----DI0200 - INT 60 u - HP 95LX System Manager - SETUP MENU
60----DI0201 - INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
60----DI0202 - INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
60----DI0203 - INT 60 u - HP 95LX System Manager - REMOVE MENU
60----DI0204 - INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE
60----DI0205 - INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU
60----DI0206 - INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU
60----DI0207 - INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE
60----DI0208 - INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU
60----DI0300 - INT 60 u - HP 95LX System Manager - DISPLAY STRING
60----DI0301 - INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN
60----DI0302 - INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN
60----DI0303 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"
60----DI0304 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"
60----DI0305 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"
60----DI0307 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"
60----DI0308 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"
60----DI0309 - INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE
60----DI030A - INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE
60----DI030B - INT 60 u - HP 95LX System Manager - SET CURSOR POSITION
60----DI0400 - INT 60 u - HP 95LX System Manager - "EDIT_INIT"
60----DI0401 - INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE
60----DI0402 - INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD
60----DI0403 - INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK
60----DI0404 - INT 60 u - HP 95LX System Manager - "MDIT_INI"
60----DI0405 - INT 60 u - HP 95LX System Manager - "MDIT_DIS"
60----DI0406 - INT 60 u - HP 95LX System Manager - "MDIT_KEY"
60----DI0407 - INT 60 u - HP 95LX System Manager - "MDIT_FIL"
60----DI0408 - INT 60 u - HP 95LX System Manager - "MDIT_MARK"
60----DI0409 - INT 60 u - HP 95LX System Manager - "MDIT_UNMARK"
60----DI040A - INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK"
60----DI040B - INT 60 u - HP 95LX System Manager - "MDIT_INS_STR"
60----DI0500 - INT 60 u - HP 95LX System Manager - OPEN FILE
60----DI0501 - INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE
60----DI0502 - INT 60 u - HP 95LX System Manager - CREATE NEW FILE
60----DI0503 - INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE
60----DI0504 - INT 60 u - HP 95LX System Manager - READ FROM FILE
60----DI0505 - INT 60 - HP 95LX System Manager - WRITE TO FILE
60----DI0506 - INT 60 u - HP 95LX System Manager - SET FILE POSITION
60----DI0507 - INT 60 u - HP 95LX System Manager - GET FILE POSITION
60----DI0508 - INT 60 u - HP 95LX System Manager - CLOSE FILE
60----DI0509 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT"
60----DI050A - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH"
60----DI050B - INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT
60----DI050C - INT 60 u - HP 95LX System Manager - DELETE FILE
60----DI050D - INT 60 u - HP 95LX System Manager - RENAME FILE
60----DI050E - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR"
60----DI050F - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR"
60----DI0510 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME"
60----DI0511 - INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY
60----DI0512 - INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY
60----DI0513 - INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE
60----DI0514 - INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE
60----DI0515 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE"
60----DI0516 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR"
60----DI0517 - INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES
60----DI0518 - INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES
60----DI0519 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN"
60----DI051A - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT"
60----DI051B - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT"
60----DI051C - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT"
60----DI0600 - INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING
60----DI0601 - INT 60 u - HP 95LX System Manager - PROCESS TERMINATION
60----DI0602 - INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES
60----DI0603 - INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES
60----DI0604 - INT 60 u - HP 95LX System Manager - "M_SPAWN"
60----DI0605 - INT 60 u - HP 95LX System Manager - "M_APPCOUNT"
60----DI0606 - INT 60 u - HP 95LX System Manager - "M_REBOOT"
60----DI0607 - INT 60 u - HP 95LX System Manager - "M_SPAWNARG"
60----DI0608 - INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME"
60----DI0609 - INT 60 u - HP 95LX System Manager - "M_APP_NAME"
60----DI0700 - INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD
60----DI0701 - INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD
60----DI0702 - INT 60 u - HP 95LX System Manager - RESET CLIPBOARD
60----DI0704 - INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION???
60----DI0705 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP"
60----DI0706 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME"
60----DI0707 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX"
60----DI0708 - INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD
60----DI0709 - INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD
60----DI0800 - INT 60 u - HP 95LX System Manager - BEEP
60----DI0801 - INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD"
60----DI0802 - INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN
60----DI0803 - INT 60 u - HP 95LX System Manager - TURN OFF SOUND
60----DI0900 - INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK
60----DI0902 - INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK
60----DI0903 - INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK
60----DI0904 - INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK
60----DI0B00 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO"
60----DI0B01 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM"
60----DI0B02 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM"
60----DI0B03 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM"
60----DI0B04 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM"
60----DI0B05 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW"
60----DI0B06 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW"
60----DI0B07 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW"
60----DI0B08 - INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP
60----DI0B09 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS"
60----DI0B0A - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS"
60----DI0B0B - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER"
60----DI0B0C - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER"
60----DI0B0D - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER"
60----DI0B0E - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME"
60----DI0B0F - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR"
60----DI0B10 - INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION
60----DI0B11 - INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION
60----DI0B12 - INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE
60----DI0B13 - INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE
60----DI0B14 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME"
60----DI0B15 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER"
60----DI0C00 - INT 60 u - HP 95LX System Manager - OPEN PRINTER
60----DI0C01 - INT 60 u - HP 95LX System Manager - CLOSE PRINTER
60----DI0C02 - INT 60 u - HP 95LX System Manager - WRITE TO PRINTER
60----DI0C03 - INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER
60----DI0C04 - INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER"
60----DI0C05 - INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER"
60----DI0E00 - INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT"
60----DI0E01 - INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL
60----DI0E02 - INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL
60----DI0E03 - INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM"
60----DI0E04 - INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER"
60----DI0E05 - INT 60 u - HP 95LX System Manager - "M_COMM_DIAL"
60----DI0E06 - INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL
60----DI0E07 - INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP"
60----DI0E08 - INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL
60----DI0E09 - INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE
60----DI0E0A - INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE
60----DI0E0B - INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL
60----DI0E0C - INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD"
60----DI0E0D - INT 60 u - HP 95LX System Manager - "M_COMM_COMAND"
60----DI0E0E - INT 60 u - HP 95LX System Manager - "M_COMM_BREAK"
60----DI0E0F - INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON"
60----DI0E10 - INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF"
60----DI0E11 - INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR"
60----DI0E12 - INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG"
60----DI0E13 - INT 60 u - HP 95LX System Manager - "M_COMM_STATUS"
60----DI0E14 - INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS
60----DI0E15 - INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS
60----DI0E16 - INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR"
60----DI0E17 - INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR"
60----DI0F00 - INT 60 u - HP 95LX System Manager - "M_ERRMSG"
60----DI0F01 - INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX
60----DI0F02 - INT 60 u - HP 95LX System Manager - "SHOWNAME"
60----DI0F03 - INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX
60----DI0F04 - INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX
60----DI0F05 - INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR"
60----DI0F06 - INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR"
60----DI0F07 - INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR"
60----DI0F08 - INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR"
60----DI0F09 - INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX
60----DI0F0A - INT 60 u - HP 95LX System Manager - DISABLE MACROS
60----DI0F0B - INT 60 u - HP 95LX System Manager - ENABLE MACROS
60----DI0F0C - INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS"
60----DI0F0D - INT 60 u - HP 95LX System Manager - "M_FORM_FT"
60----DI0F0E - INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO"
60----DI1005 - INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE
60----DI1200 - INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE"
60----DI1201 - INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR"
60----DI1202 - INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR"
60----DI1203 - INT 60 u - HP 95LX System Manager - "INIT_SYSMGR_RSRCS"
60----DI1300 - INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM
60----DI1301 - INT 60 u - HP 95LX System Manager - DISPLAY HELP
60----DI1302 - INT 60 u - HP 95LX System Manager - "M_HELP_KEY"
60----DI1303 - INT 60 u - HP 95LX System Manager - "M_HELP_TERM"
60----DI1400 - INT 60 u - HP 95LX System Manager - "M_ColInit"
60----DI1401 - INT 60 u - HP 95LX System Manager - "M_ColCpStr"
60----DI1402 - INT 60 u - HP 95LX System Manager - "M_ColLicsStr"
60----DI1403 - INT 60 u - HP 95LX System Manager - "M_ColLicsChar"
60----DI1404 - INT 60 u - HP 95LX System Manager - "M_ColToLower"
60----DI1405 - INT 60 u - HP 95LX System Manager - "M_ColCpSearch"
60----DI1406 - INT 60 u - HP 95LX System Manager - "M_ColToUpper"
60----DI1500 - INT 60 u - HP 95LX System Manager - "GrDispInit"
60----DI1501 - INT 60 u - HP 95LX System Manager - "GrDispClear"
60----DI1502 - INT 60 u - HP 95LX System Manager - "GrDispDot"
60----DI1503 - INT 60 u - HP 95LX System Manager - "GrDispDraw"
60----DI1504 - INT 60 u - HP 95LX System Manager - "GrDispFill"
60----DI1505 - INT 60 u - HP 95LX System Manager - "GrDispRead"
60----DI1506 - INT 60 u - HP 95LX System Manager - "GrDispString"
60----DI1507 - INT 60 u - HP 95LX System Manager - "GrDispPan"
60----DI1508 - INT 60 u - HP 95LX System Manager - "GrDispZoom"
60----DI1509 - INT 60 u - HP 95LX System Manager - "GrDispSave"
60----DI150A - INT 60 u - HP 95LX System Manager - "GrDispRestore"
60----DI150B - INT 60 u - HP 95LX System Manager - "GrDispCorner"
60----DI1604 - INT 60 u - HP 95LX System Manager - "CP_TO_LICS"
6000 - INT 60 - SYS_PROF.EXE - PROFILER STATUS
6000 - INT 60 - MDEBUG - GET STATUS
600000 - INT 60 - RIFS - CLIENT - INSTALLATION CHECK
600001 - INT 60 - RIFS - CLIENT - UNINSTALL
600002 - INT 60 - RIFS - CLIENT - REMAP DRIVE
600003 - INT 60 - RIFS - CLIENT - UNMAP DRIVE
600004 - INT 60 - RIFS - CLIENT - UNMAP ALL DRIVES
600005 - INT 60 - RIFS - CLIENT - GET TRANSLATION TABLE
600006 - INT 60 - RIFS - CLIENT - GET STATISTICS TABLE
600007 - INT 60 - RIFS - CLIENT - GET PORT TRANSLATION TABLE
600008 - INT 60 - RIFS - SERVER - INSTALLATION CHECK
600009 - INT 60 - RIFS - SERVER - UNINSTALL
60000A - INT 60 - RIFS - SERVER - GET STATISTICS TABLE
60000B - INT 60 - RIFS - SERVER - RESET
6001 - INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
6001 - INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
6001FF - INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO
6002 - INT 60 - MDEBUG - SET STATUS
6002 - INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE
6002 - INT 60 - SYS_PROF.EXE - TURN PROFILING ON
6003 - INT 60 - MDEBUG - POP UP
6003 - INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE
6003 - INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
6004 - INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET
6004 - INT 60 - MDEBUG - POP UP
6004 - INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
6005 - INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
6005 - INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
6006 - INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS
6006 - INT 60 - MDEBUG - GET PASSWORD STATUS
6007 - INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE
6007 - INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
6008 - INT 60 - MDEBUG - UNUSED
600A - INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS
600B - INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
600C - INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
600C - INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
600D - INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE
6011 - INT 60 - 3com, 10NET, Banyan VINES - LOCK AND WAIT
6012 - INT 60 - 3com, 10NET, Banyan VINES - LOCK
6013 - INT 60 - 3com, 10NET, Banyan VINES - UNLOCK
6014 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE
6015 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE
6016 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST
6017 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST
6018 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS
6019 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS
601A - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES
601B - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED
601C - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED
60899B - INT 60 U - Agfa TTSR.EXE - API
60AD - INT 60 - AccessDOS - API
60E9 - INT 60 - FTP Packet Driver - Crynwr Software - AUTOSELECT TRANSCEIVER
61 - INT 61 - reserved for user interrupt
61 - INT 61 - Atari Portfolio - EXTENDED BIOS
61 - INT 61 - TI Professional PC - FACTORY ROM DATA AREA POINTER (NOT A VECTOR!)
61 - INT 61 - HP 95LX System Manager - LOAD DS
61 - INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
61 - INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
61 - INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
61 - INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
61 - INT 61 - PC-Magazin - PAGE, SWAPx
61 - INT 61 - TCPOpen kernel - API
61 - INT 61 - XFS v1.76 - XFSKRNL.EXE - API
61 - INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
6100 - INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
6100 - INT 61 - Banyan VINES - CALL A SERVICE
6100 - INT 61 - Atari Portfolio - SERVICE INITIALIZATION
610000 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
610001DS0001 - INT 61 - Banyan VINES - INTERNAL VINES SOCKET API (NEAR DATA)
610001SF0001 - INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
610001SF0002 - INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
610001SF0003 - INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
610001SF0004 - INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
610001SF0005 - INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
610001SF0008 - INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
610001SF000B - INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
610001 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
610002 - INT 61 - Banyan VINES - 3270 INTERFACE
610002 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
610003SF00 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
610003SF01 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
610003SF02 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
610003SF03 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
610003SF04 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
610003SF05 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
610003SF06 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
610003SF07 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
610003SF08 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
610003SF09 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
610003SF0A - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
610003SF0B - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
610003SF0C - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
610003SF0D - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
610003SF0E - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
610003SF0F - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
610003SF10 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
610003SF11 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
610003SF12 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
610003SF13 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
610003SF14 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
610003SF15 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
610003 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
610004 - INT 61 - Banyan VINES - FILE SERVICE CONTROL
610004SF0001 - INT 61 - Banyan VINES - SET DRIVE CONNECTION
610004SF0002 - INT 61 - Banyan VINES - GET DRIVE CONNECTION
610004SF0003 - INT 61 - Banyan VINES - GET NETWORK DRIVE MAP
610004SF0004 - INT 61 - Banyan VINES - SET USER NAME
610004SF0005 - INT 61 - Banyan VINES - GET USER NAME
610004SF0006 - INT 61 - Banyan VINES - TEST DRIVE CONNECTION
610004SF0007 - INT 61 - Banyan VINES - GET CONNECTION DATA STRUCTURES
610004SF0008 - INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
610004SF0009 - INT 61 - Banyan VINES - SET ??? PARAMETER
610004SF000B - INT 61 - Banyan VINES - GET ??? DRIVE PARAMETER
610004SF000C - INT 61 - Banyan VINES - LOGOUT FROM VINES
610004SF000E - INT 61 - Banyan VINES - GET ACCESS RIGHTS LIST (ARL)
610004SF000F - INT 61 - Banyan VINES - SET ACCESS RIGHTS LIST (ARL)
610004SF0010 - INT 61 - Banyan VINES - FILE SERVICE CONTROL - ???
610004SF0013 - INT 61 - Banyan VINES - GET VALUE OF GLOBAL VARIABLE
610004SF0014 - INT 61 - Banyan VINES - SET VALUE OF GLOBAL VARIABLE
610004SF0016 - INT 61 - Banyan VINES - GET NUMBER OF OPEN FILES ON REMOTE DRIVE
610004SF0018 - INT 61 - Banyan VINES - SET UNIDENTIFIED INTERNAL FLAG
610004SF001B - INT 61 - Banyan VINES - UNIDENTIFIED DRIVE SPECIFIC FUNCTION
610004SF001C - INT 61 - Banyan VINES - UNIDENTIFIED FUNCTION
610004 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
610005 - INT 61 - Banyan VINES - PRINT SERVICE CONTROL
610005 - INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
610006 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
610006 - INT 61 - Banyan VINES - GET ADDRESS OF GLOBAL VARIABLE
610007 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
610007BX0000 - INT 61 - Banyan VINES - RECONNECT TO STREETTALK
610007BX0001 - INT 61 - Banyan VINES - GET MM PORT FOR A SERVICE
610007BX0002 - INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
610007BX0003 - INT 61 - Banyan VINES - FIND A SERVICE
610007BX0004 - INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
610007BX0005 - INT 61 - Banyan VINES - GET USER NAME
610007BX0006 - INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
610007BX0007 - INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
610007BX0008 - INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
610007BX0009 - INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING (SELECTED PORT)
610007BX000A - INT 61 - Banyan VINES - internal, OS/2 only - GET MANY PORTS FOR SERVICE
610008 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
610008BX0000 - INT 61 - Banyan VINES - TALKPORT SERVICE - GET HANDLER ADDRESS
610008BX0001 - INT 61 - Banyan VINES - TALKPORT SERVICE - SET HANDLER ADDRESS
610008BX0002 - INT 61 - Banyan VINES - TALKPORT SERVICE - POST MESSAGE ON LOCAL DISPLAY
610008BX0003 - INT 61 - Banyan VINES - TALKPORT SERVICE - INTERCEPT VINES 25th-LINE MESSAGES
610009 - INT 61 - Banyan VINES - NETBIOS CLIENT SERVICE
61000A - INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
61000B - INT 61 - Banyan VINES - SEMAPHORE SERVICE
61000C - INT 61 - Banyan VINES - 3270 KEYBOARD HANDLER
61000D - INT 61 - Banyan VINES - T3270 SERVICE FUNCTION
61000E - INT 61 - Banyan VINES - ENHANCED 3270 SERVICE
61000F - INT 61 - Banyan VINES - VINES SOCKET API (FAR DATA)
61000FSF0001 - INT 61 - Banyan VINES - OPEN SOCKET
61000FSF0002 - INT 61 - Banyan VINES - SEND MESSAGE ON A SOCKET
61000FSF0004 - INT 61 - Banyan VINES - CLOSE SOCKET
61000FSF0008 - INT 61 - Banyan VINES - GET PROCESS HANDLE
610010 - INT 61 - Banyan VINES - INTERFACE TO NBNS
6101 - INT 61 - Banyan VINES - CHECK SERVICE
6101--BX0000 - INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
6102 - INT 61 - Banyan VINES - GET REVISION NUMBER
6102--BX0000 - INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
6103 - INT 61 - Banyan VINES - INSTALL SERVICE HANDLER
6104 - INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE
6105 - INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
6105 - INT 61 - Banyan VINES - READ PCCONFIG BYTES
6106 - INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
6106 - INT 61 - Banyan VINES - GET PCCONFIG BASE ADDRESS
6107 - INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
6107 - INT 61 - Banyan VINES - GET VINES REVISION NUMBER (LONG)
6107 - INT 61 - Atari Portfolio - FORMAT CREDIT CARD MEMORY
6108 - INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
6108 - INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE (LONG)
6108 - INT 61 - Atari Portfolio - GET SIZE OF INTERNAL DISK
6109 - INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
6109 - INT 61 - Banyan VINES - GET VALUE OF AN OS/2 BACKEND VARIABLE
6109 - INT 61 - Atari Portfolio - FORMAT INTERNAL DISK
610A - INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
610A - INT 61 - Banyan VINES - SET VALUE OF AN OS/2 BACKEND VARIABLE
610B - INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
610B - INT 61 - Banyan VINES - SET PCCONFIG IN BACKEND
610B - INT 61 - Atari Portfolio - DETERMINE CCM VALIDITY
610C - INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
610D - INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
610D - INT 61 - Atari Portfolio - GET SCREEN SIZE
610E - INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
610E - INT 61 - Atari Portfolio - GET/SET SCREEN MODE
610F - INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
610F - INT 61 - Atari Portfolio - GET/SET CURSOR MODE
6110 - INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
6110 - INT 61 - Atari Portfolio - GET/SET VIRTUAL SCREEN POSITION
6111 - INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
6111 - INT 61 - Atari Portfolio - MOVE VIRTUAL SCREEN ORIGIN
6112 - INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
6112 - INT 61 - Atari Portfolio - SCREEN REFRESH
6113 - INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
6114 - INT 61 Ou - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
6115 - INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
6115 - INT 61 - Atari Portfolio - SOUND GENERATION
6116 - INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
6116 - INT 61 - Atari Portfolio - MELODY TONE GENERATOR
6117 - INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
6117 - INT 61 - Atari Portfolio - DIAL NUMBER
6118 - INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
6118 - INT 61 - Atari Portfolio - MUTE STATES
6119 - INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
6119 - INT 61 - Atari Portfolio - GET SERIAL PORT PARAMETERS
611A - INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
611A - INT 61 - Atari Portfolio - GET PERIPHERAL ID BYTE
611B - INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
611B - INT 61 - Atari Portfolio - SET PERIPHERAL ID BYTE
611C - INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
611C - INT 61 - Atari Portfolio - PRESET/GET PERIPHERAL DATA
611D - INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
611E - INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
611E - INT 61 - Atari Portfolio - GET/SET CLOCK TICK SPEED
611F - INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
611F - INT 61 - Atari Portfolio - GET KEY/NMI-INVOKED SCREEN REFRESH
6120 - INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
6120 - INT 61 - Atari Portfolio - GET/SET INT 09 REVECTORING
6121 - INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
6122 - INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
6123 - INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
6124 - INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
6124 - INT 61 - Atari Portfolio - GET/SET ROM/CCM SPACE STATE
6125 - INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
6126 - INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
6126 - INT 61 - Atari Portfolio - GET/SET POWER CONTROL
6127 - INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
6128 - INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
6128 - INT 61 - Atari Portfolio - GET/SET TEXT/KEYBOARD LANGUAGE
6129 - INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
612A - INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
612B - INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
612C - INT 61 - Atari Portfolio - GET VERSION
612D - INT 61 - Atari Portfolio - TURN SYSTEM OFF
612E - INT 61 - Atari Portfolio - ENABLE/DISABLE SYSTEM STATUS LINE
6130 - INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
6130 - INT 61 - Atari Portfolio - FILE TRANSFER SERVICES
61 - INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
6132 - INT 61 U - PC/TCP kernel v2.3 - GET ???
6134 - INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
6150 - INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
6151 - INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
6152 - INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
6153 - INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
6154 - INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
6155 - INT 61 U - PC/TCP kernel v2.3 - ???
6156 - INT 61 U - PC/TCP kernel v2.3 - ???
6157 - INT 61 U - PC/TCP kernel v2.3 - ???
6158 - INT 61 U - PC/TCP kernel v2.3 - ???
6159 - INT 61 U - PC/TCP kernel v2.3 - ???
615A - INT 61 U - PC/TCP kernel v2.3 - ???
615B - INT 61 U - PC/TCP kernel v2.3 - ???
615C - INT 61 U - PC/TCP kernel v2.3 - ???
615D - INT 61 U - PC/TCP kernel v2.3 - ???
615E - INT 61 U - PC/TCP kernel v2.3 - ???
615F - INT 61 U - PC/TCP kernel v2.3 - ???
Section -
62 - INT 62 - reserved for user interrupt
62 - INT 62 - Adaptec and OMTI controllers - DRIVE 0 DATA
62 - INT 62 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
62 - INT 62 - HP 95LX - USED BY CALCULATOR
62 - INT 62 - MS SQL Server/Sybase DBLIBRARY interface - ???
62 - INT 62 - MPAUSE - ???
62 - INT 62 - XFS v1.76 - FILTERED PACKET DRIVER API
62 - INT 62 - PC-DRAFT - PRIMARY DISPLAY DRIVER
6200 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET PHYSICAL HARDWARE ADDRESS
620000 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCATE" - CREATE VIRTUAL VIDEO PAGE
620001 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCCMS" - CREATE LOGICAL VIDEO PAGE (CONV)
620002 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCEMS" - CREATE LOGICAL VIDEO PAGE (EMS)
620003 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCXMS" - CREATE LOGICAL VIDEO PAGE (XMS)
620004 - INT 62 u - FGDRIVER 1.10,3.03+ - "FG_AUTOMODE" - GET VIDEO MODE W/MOST FEATURES
620005 - INT 62 u - FGDRIVER v3.03+ - "FG_BESTMODE" - GET BEST VIDEO MODE GIVEN RESOLUTN
620006 - INT 62 u - FGDRIVER v3.03+ - "FG_BOX" - DRAW UNFILLED RECTANGLE
620007 - INT 62 u - FGDRIVER v3.03+ - "FG_BOXDEPTH" - SET RECTANGLE BORDER WIDTH
620008 - INT 62 u - FGDRIVER v3.03+ - "FG_BOXX" - XOR HOLLOW RECTANGLE
620009 - INT 62 u - FGDRIVER v3.03+ - "FG_BUTTON" - GET JOYSTICK BUTTON STATE
62000A - INT 62 u - FGDRIVER v3.03+ - "FG_CAPSLOCK" - GET STATE OF CAPSLOCK KEY
62000B - INT 62 u - FGDRIVER v3.03+ - "FG_CHGATTR" - APPLY CURRENT TEXT ATTRIB TO CHARS
62000C - INT 62 u - FGDRIVER v3.03+ - "FG_CHGTEXT" - DISPLAY STRING AT CURSOR POSITION
62000D - INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLE" - DRAW UNFILLED CIRCLE
62000E - INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLEF" - DRAW FILLED CIRCLE
62000F - INT 62 u - FGDRIVER v4.02 - "FG_CLIPMAP" - DISPLAY CLIPPED IMAGE (MODE-INDEP)
620010 - INT 62 u - FGDRIVER v4.02 - "FG_CLIPMASK" - DISPLAY CLIPPED IMAGE (MASKING MAP)
620011 - INT 62 u - FGDRIVER v4.02 - "FG_CLPIMAGE" - DISPLAY CLIPPED IMAGE (BITMAP)
620012 - INT 62 u - FGDRIVER v4.02 - "FG_CLPRECT" - DRAW FILLED RECTANGLE IN SCREEN SPCE
620013 - INT 62 u - FGDRIVER v4.02 - "FG_COLORS" - GET SIMULTANEOUSLY-AVAILABLE COLORS
620014 - INT 62 u - FGDRIVER v4.02 - "FG_COPYPAGE" - TRANSFER VIDEO PAGE CONTENTS
620015 - INT 62 u - FGDRIVER v4.02 - "FG_CURSOR" - SPECIFY WHETHER TEXT CURSR IS VISIBLE
620016 - INT 62 u - FGDRIVER v4.02 - "FG_DASH" - DRAW DASHED LINE TO ABSOLUTE POSITION
620017 - INT 62 u - FGDRIVER v4.02 - "FG_DASHREL" - DRAW DASHED LINE TO RELATVE POSITION
620018 - INT 62 u - FGDRIVER v4.02 - "FG_DEFCOLOR" - ASSIGN COLOR VALUE TO COLOR INDEX
620019 - INT 62 u - FGDRIVER v4.02 - "FG_DEFPAGES" - DEF SRC/DEST PAGES FOR BLOCK XFERS
62001A - INT 62 u - FGDRIVER v4.02 - "FG_DISPFILE" - DISPLAY STORED IMAGE
62001B - INT 62 u - FGDRIVER v4.02 - "FG_DISPLAY" - DISPLAY IMAGE (STD PIXEL RUN FORMAT)
62001C - INT 62 u - FGDRIVER v4.02 - "FG_DISPLAYP" - DISPLAY IMAGE (PACKED PIXEL RUNS)
62001D - INT 62 u - FGDRIVER v4.02 - "FG_DRAW" - DRAW SOLID LINE TO ABSOLUTE POSITION
62001E - INT 62 u - FGDRIVER v4.02 - "FG_DRAWMAP" - DISPLAY MODE-INDEPENDENT BIT MAP
62001F - INT 62 u - FGDRIVER v4.02 - "FG_DRAWMASK" - DISPLAY IMAGE (MASKING MAP)
620020 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWREL" - DRAW SOLID LINE TO RELATIVE POSITION
620021 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWRELX" - XOR SOLID LINE TO RELATIVE POSITION
620022 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWX" - XOR SOLID LINE TO ABSOLUTE POSITION
620023 - INT 62 u - FGDRIVER v4.02 - "FG_DRECT" - DRAW DITHERED RECTANGLE IN SCRN SPACE
620024 - INT 62 u - FGDRIVER v4.02 - "FG_DRWIMAGE" - DISPLAY BITMAPPED IMAGE
620025 - INT 62 u - FGDRIVER v4.02 - "FG_EGACHECK" - GET INFO ABOUT ACTIVE EGA DISPLAY
620026 - INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSE" - DRAW UNFILLED ELLIPSE IN SCRN SPACE
620027 - INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSEF" - DRAW FILLED ELLIPSE IN SCREEN SPACE
620028 - INT 62 u - FGDRIVER v4.02 - "FG_ERASE" - CLEAR THE ACTIVE VIDEO PAGE
620029 - INT 62 u - FGDRIVER v4.02 - "FG_FADEIN" - FADE IN HIDDEN PAGE
62002A - INT 62 u - FGDRIVER v4.02 - "FG_FADEOUT" - FADE OUT TO CURRENT COLOR
62002B - INT 62 u - FGDRIVER v4.02 - "FG_FILLPAGE" - FILL THE ACTIVE VIDEO PAGE
62002C - INT 62 u - FGDRIVER v4.02 - "FG_FINDPAGE" - FIND AVAILABLE VIRTUAL/LOGICAL PAGE
62002D - INT 62 u - FGDRIVER v4.02 - "FG_FLICDONE" - CLOSE FLIC FILE
62002E - INT 62 u - FGDRIVER v4.02 - "FG_FLICHEAD" - READ FLI/FLC FILE HEADER
62002F - INT 62 u - FGDRIVER v4.02 - "FG_FLICMODE" - GET OPTIMAL VIDEO MODE FOR FLI/FLC
620030 - INT 62 u - FGDRIVER v4.02 - "FG_FLICOPEN" - OPEN FLI/FLC FILE
620031 - INT 62 u - FGDRIVER v4.02 - "FG_FLICPLAY" - DISPLAY NEXT FRAME(S) IN FLI/FLC
620032 - INT 62 u - FGDRIVER v4.02 - "FG_FLICSIZE" - GET IMAGE SIZE
620033 - INT 62 u - FGDRIVER v4.02 - "FG_FLICSKIP" - SKIP FRAME(S) IN FLI/FLC FILE
620034 - INT 62 u - FGDRIVER v4.02 - "FG_FLIPMASK" - DISPLAY INV CLIPPED IMAGE (MASKMAP)
620035 - INT 62 u - FGDRIVER v4.02 - "FG_FLOOD" - FLOOD FILL ARBITRARY CLOSED REGION
620036 - INT 62 u - FGDRIVER v4.02 - "FG_FLPIMAGE" - DISPLAY INV CLIPPED IMAGE (BITMAP)
620037 - INT 62 u - FGDRIVER v4.02 - "FG_FONTSIZE" - SPECIFY FONT SIZE FOR TEXT OUTPUT
620038 - INT 62 u - FGDRIVER v4.02 - "FG_FREEPAGE" - FREE VIRTUAL OR LOGICAL VIDEO PAGE
620039 - INT 62 u - FGDRIVER v4.02 - "FG_GETADDR" - GET SEGMENT OF ACTIVE VIDEO PAGE
62003A - INT 62 u - FGDRIVER v4.02 - "FG_GETATTR" - GET CHARACTER ATTRIB FOR POSITION
62003B - INT 62 u - FGDRIVER v4.02 - "FG_GETBANKS" - GET SVGA READ AND WRITE BANKS
62003C - INT 62 u - FGDRIVER v4.02 - "FG_GETBLOCK" - GRAB RECTANGLE OF DISPLAY
62003D - INT 62 u - FGDRIVER v4.02 - "FG_GETCHAR" - GET CHARACTER FOR SCREEN POSITION
62003E - INT 62 u - FGDRIVER v4.02 - "FG_GETCLIP" - GET CLIPPING REGION IN SCREEN SPACE
62003F - INT 62 u - FGDRIVER v4.02 - "FG_GETCLOCK" - GET CLOCK TICKS SINCE MIDNIGHT
620040 - INT 62 u - FGDRIVER v4.02 - "FG_GETCOLOR" - GET CURRENT TEXT ATTRIBUTE
620041 - INT 62 u - FGDRIVER v4.02 - "FG_GETDACS" - GET VIDEO DAC CONTENTS
620042 - INT 62 u - FGDRIVER v4.02 - "FG_GETENTRY" - GET PAGE TYPE AND ADDRESS
620043 - INT 62 u - FGDRIVER v4.02 - "FG_GETHPAGE" - GET CURRENT HIDDEN VIDEO PAGE NUM
620044 - INT 62 u - FGDRIVER v4.02 - "FG_GETIMAGE" - STORE IMAGE AS BITMAP
620045 - INT 62 u - FGDRIVER v4.02 - "FG_GETINDEX" - GET COLOR VALUE FOR COLOR INDEX
620046 - INT 62 u - FGDRIVER v4.02 - "FG_GETKEY" - GET NEXT KEYSTROKE
620047 - INT 62 u - FGDRIVER v4.02 - "FG_GETLINES" - GET TEXT ROWS FOR CURR VIDEO MODE
620048 - INT 62 u - FGDRIVER v4.02 - "FG_GETMAP" - STORE IMAGE AS MODE-INDEPENDNT BITMAP
620049 - INT 62 u - FGDRIVER v4.02 - "FG_GETMAXX" - GET MAXIMUM COLUMN IN SCREEN SPACE
62004A - INT 62 u - FGDRIVER v4.02 - "FG_GETMAXY" - GET MAXIMUM ROW IN SCREEN SPACE
62004B - INT 62 u - FGDRIVER v4.02 - "FG_GETMODE" - GET CURRENT VIDEO MODE NUMBER
62004C - INT 62 u - FGDRIVER v4.02 - "FG_GETPAGE" - GET ACTIVE VIDEO PAGE NUMBER
62004D - INT 62 u - FGDRIVER v4.02 - "FG_GETPIXEL" - GET COLOR OF SPECIFIED PIXEL
62004E - INT 62 u - FGDRIVER v4.02 - "FG_GETRGB" - GET VIDEO DAC REGISTER CONTENTS
62004F - INT 62 u - FGDRIVER v4.02 - "FG_GETVIEW" - GET VIEWPORT EXTREME LIMITS
620050 - INT 62 u - FGDRIVER v4.02 - "FG_GETVPAGE" - GET VISIBLE VIDEO PAGE NUMBER
620051 - INT 62 u - FGDRIVER v4.02 - "FG_GETXBOX" - GET WIDTH OF VERTICAL BOX LINES
620052 - INT 62 u - FGDRIVER v4.02 - "FG_GETXJOY" - GET HORIZONTAL POSITION OF JOYSTICK
620053 - INT 62 u - FGDRIVER v4.02 - "FG_GETXJUST" - GET HORIZONTAL JUSTIFICATION
620054 - INT 62 u - FGDRIVER v4.02 - "FG_GETXPOS" - GET GRAPHICS CURSOR COLUMN
620055 - INT 62 u - FGDRIVER v4.02 - "FG_GETYBOX" - GET WIDTH OF HORIZONTAL BOX LINES
620056 - INT 62 u - FGDRIVER v4.02 - "FG_GETYJOY" - GET VERTICAL POSITION OF JOYSTICK
620057 - INT 62 u - FGDRIVER v4.02 - "FG_GETYJUST" - GET VERTICAL JUSTIFICATION
620058 - INT 62 u - FGDRIVER v4.02 - "FG_GETYPOS" - GET GRAPHICS CURSOR ROW
620059 - INT 62 u - FGDRIVER v4.02 - "FG_HUSH" - STOP ASYNCHRONOUS SOUND IMMEDIATELY
62005A - INT 62 u - FGDRIVER v4.02 - "FG_HUSHNEXT" - STOP ASYNCHRONOUS SOUND
62005B - INT 62 u - FGDRIVER v4.02 - "FG_IMAGEBUF" - SPECIFY TEMPORARY IMAGE BUFFER
62005C - INT 62 u - FGDRIVER v4.02 - "FG_IMAGESIZ" - DETERMINE IMAGE STORAGE REQUIREMENT
62005D - INT 62 u - FGDRIVER v4.02 - "FG_INITEMS" - INITIALIZE EXPANDED MEMORY USE
62005E - INT 62 u - FGDRIVER v4.02 - "FG_INITJOY" - INITIALIZE JOYSTICK USE
62005F - INT 62 u - FGDRIVER v4.02 - "FG_INITPM"??? - (NOT IMPLEMENTED)
620060 - INT 62 u - FGDRIVER v1.10 only - "FG_DISPPCX" - DISPLAY PCX FILE
620060 - INT 62 u - FGDRIVER v4.02 - "FG_INITXMS" - INITIALIZE EXTENDED MEMORY USE
620061 - INT 62 u - FGDRIVER v4.02 - "FG_INSIDE" - CHECK IF POINT INSIDE CONVEX POLYGON
620062 - INT 62 u - FGDRIVER v4.02 - "FG_INTJOY" - GET KEYCODES CORRESP TO JOYSTICK POS
620063 - INT 62 u - FGDRIVER v4.02 - "FG_INTKEY" - GET KEYSTROKE, NO WAIT
620064 - INT 62 u - FGDRIVER v4.02 - "FG_INVERT" - INVERT ORIENTATION OF BITMAP
620065 - INT 62 u - FGDRIVER v4.02 - "FG_JUSTIFY" - SET TEXT OUTPUT JUSTIFICATION
620066 - INT 62 u - FGDRIVER v4.02 - "FG_KBINIT" - ENABLE/DISABLE LOW-LEVEL KBD HANDLER
620067 - INT 62 u - FGDRIVER v4.02 - "FG_KBLAST" - GET MOST RECENT SCANCODE PROCESSED
620068 - INT 62 u - FGDRIVER v4.02 - "FG_KBRESET" - RESET LOW-LEVEL KEYBOARD HANDLER
620069 - INT 62 u - FGDRIVER v4.02 - "FG_KBTEST" - CHECK WHETHER SPECIFIED KEY PRESSED
62006A - INT 62 u - FGDRIVER v4.02 - "FG_LOADPCX" - LOAD .PCX INTO ACTIVE VIRTUAL BUFFER
62006B - INT 62 u - FGDRIVER v4.02 - "FG_LOCATE" - SET TEXT-MODE CURSOR POSITION
62006C - INT 62 u - FGDRIVER v4.02 - "FG_MAKEPCX" - CREATE PCX FILE FROM SCREEN WINDOW
62006D - INT 62 u - FGDRIVER v4.02 - "FG_MAKEPPR" - CREATE PACKED PIXEL RUN FILE
62006E - INT 62 u - FGDRIVER v4.02 - "FG_MAKESPR" - CREATE STANDARD PIXEL RUN FILE
62006F - INT 62 u - FGDRIVER v4.02 - "FG_MAPRGB" - MAP COLOR COMPONENTS INTO PALETTE VAL
620070 - INT 62 u - FGDRIVER v4.02 - "FG_MEASURE" - GET DELAY UNITS PER CLOCK TICK
620071 - INT 62 u - FGDRIVER v4.02 - "FG_MEMAVAIL" - QUERY AMOUNT OF FREE MEMORY
620072 - INT 62 u - FGDRIVER v4.02 - "FG_MEMORY" - GET SIZE OF VIDEO MEMORY
620073 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSE256" - DEFINE 256-COLOR MOUSE CURSOR
620074 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEBUT" - GET MOUSE BUTTON PRESS/RELEASE CNTS
620075 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSECUR" - SPECIFY TEXT-MODE MOUSE CURSOR
620076 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEFIN" - UNHOOK FASTGRAPH MOUSE HANDLER
620077 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEINI" - INITIALIZE MOUSE SUPPORT
620078 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSELIM" - SPECIFY MOUSE CURSOR LIMITS
620079 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEMOV" - SET MOUSE CURSOR POSITION
62007A - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPOS" - GET CURRENT MOUSE POSITION
62007B - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPTR" - SPECIFY GRAPH-MODE MOUSE CURSOR
62007C - INT 62 u - FGDRIVER v4.02 - "FG_MOUSESPD" - SET MOUSE CURSOR SPEED
62007D - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEVIS" - SET MOUSE CURSOR VISIBILITY
62007E - INT 62 u - FGDRIVER v4.02 - "FG_MOVE" - SET GRAPHICS CURSOR POSITION
62007F - INT 62 u - FGDRIVER v4.02 - "FG_MOVEREL" - ADJUST GRAPHICS CURSOR POSITION
620080 - INT 62 u - FGDRIVER v4.02 - "FG_MUSIC" - PLAY SERIES OF NOTES
620081 - INT 62 u - FGDRIVER v4.02 - "FG_MUSICB" - PLAY SERIES OF NOTES IN BACKGROUND
620082 - INT 62 u - FGDRIVER v4.02 - "FG_NUMLOCK" - GET STATE OF NUMLOCK KEY
620083 - INT 62 u - FGDRIVER v4.02 - "FG_PACK" - CONVERT PIXEL-PER-BYTE TO PACKED BITMAP
620084 - INT 62 u - FGDRIVER v4.02 - "FG_PAGESIZE" - GET VIDEO PAGE SIZE FOR CURR MODE
620085 - INT 62 u - FGDRIVER v4.02 - "FG_PAINT" - FLOOD CLOSED REGION WITH COLOR
620086 - INT 62 u - FGDRIVER v4.02 - "FG_PALETTE" - SET PALETTE / SET VIDEO DAC REGISTER
620087 - INT 62 u - FGDRIVER v4.02 - "FG_PALETTES" - SET ALL PALETTE REGISTERS
620088 - INT 62 u - FGDRIVER v4.02 - "FG_PAN" - SET SCREEN ORIGIN
620089 - INT 62 u - FGDRIVER v4.02 - "FG_PATTERN" - SPECIFY DISPLAY PATTERN FOR COLOR
62008A - INT 62 u - FGDRIVER v4.02 - "FG_PCXHEAD" - GET PCX FILE HEADER
62008B - INT 62 u - FGDRIVER v4.02 - "FG_PCXMODE" - GET OPTIMAL VIDEO MODE FOR DISPLAY
62008C - INT 62 u - FGDRIVER v4.02 - "FG_PCXPAL" - GET PALETTE STORED IN PCX FILE
62008D - INT 62 u - FGDRIVER v4.02 - "FG_PCXRANGE" - GET EXTENT OF PCX IMAGE
62008E - INT 62 u - FGDRIVER v4.02 - "FG_PLAYING" - DETERMINE WHETHER ASYNC SOUND ACTIVE
62008F - INT 62 u - FGDRIVER v4.02 - "FG_POINT" - DISPLAY A PIXEL
620090 - INT 62 u - FGDRIVER v4.02 - "FG_POINTX" - DISPLAY A PIXEL IN XOR MODE
620091 - INT 62 u - FGDRIVER v4.02 - "FG_POLYEDGE" - SPECIFY INCLUSION OF FINAL PIXELS
620092 - INT 62 u - FGDRIVER v4.02 - "FG_POLYFILL" - DRAW A FILLED CONVEX POLYGON
620093 - INT 62 u - FGDRIVER v4.02 - "FG_POLYGON" - DRAW AN UNFILLED POLYGON
620094 - INT 62 u - FGDRIVER v4.02 - "FG_POLYLINE" - DRAW AN UNFILLED POLYGON
620095 - INT 62 u - FGDRIVER v4.02 - "FG_POLYOFF" - DEFINE POLYGON DRAWING OFFSET
620096 - INT 62 u - FGDRIVER v4.02 - "FG_PRINT" - DISPLAY STRING OF HARDWARE CHARACTERS
620097 - INT 62 u - FGDRIVER v4.02 - "FG_PRINTC" - DISPLAY STRING OF HW CHARS (CLIPPED)
620098 - INT 62 u - FGDRIVER v4.02 - "FG_PUTBLOCK" - RESTORE RECTANGLE OF DISPLAY
620099 - INT 62 u - FGDRIVER v4.02 - "FG_PUTIMAGE" - DISPLAY MODE-SPECIFIC BITMAP IMAGE
62009A - INT 62 u - FGDRIVER v4.02 - "FG_QUIET" - STOP CONTINUOUS SYNCHRONOUS SOUND
62009B - INT 62 u - FGDRIVER v4.02 - "FG_RECT" - DRAW UNFILLED RECTANGLE IN SCREEN SPACE
62009C - INT 62 u - FGDRIVER v4.02 - "FG_RESET" - ERASE SCREEN AND RESTORE SCREEN ATTR
62009D - INT 62 u - FGDRIVER v4.02 - "FG_RESIZE" - SET GRAPHICS MODE VIDEO PAGE SIZE
62009E - INT 62 u - FGDRIVER v4.02 - "FG_RESTORE" - COPY REGION FROM HIDDEN TO VIS PAGE
62009F - INT 62 u - FGDRIVER v4.02 - "FG_RESUME" - RESTART ASYNCHRONOUS SOUND
6200A0 - INT 62 u - FGDRIVER v4.02 - "FG_REVIMAGE" - DISPLAY REVERSED IMAGE (BITMAP)
6200A1 - INT 62 u - FGDRIVER v4.02 - "FG_REVMASK" - DISPLAY REVERSED IMAGE (MASKING MAP)
6200A2 - INT 62 u - FGDRIVER v4.02 - "FG_SAVE" - COPY REGION FROM VISIBLE TO HIDDEN PAGE
6200A3 - INT 62 u - FGDRIVER v4.02 - "FG_SCALE" - SCALE BITMAP
6200A4 - INT 62 u - FGDRIVER v4.02 - "FG_SCRLOCK" - GET STATE OF SCROLL LOCK KEY
6200A5 - INT 62 u - FGDRIVER v4.02 - "FG_SCROLL" - VERTICALLY SCROLL SCREEN REGION
6200A6 - INT 62 u - FGDRIVER v4.02 - "FG_SETATTR" - SET TEXT-MODE CHARACTER ATTRIBUTE
6200A7 - INT 62 u - FGDRIVER v4.02 - "FG_SETBANKS" - SET SVGA READ AND WRITE BANKS
6200A8 - INT 62 u - FGDRIVER v4.02 - "FG_SETCAPS" - SET STATE OF CAPSLOCK KEY
6200A9 - INT 62 u - FGDRIVER v4.02 - "FG_SETCLIP" - SET CLIPPING REGION
6200AA - INT 62 u - FGDRIVER v4.02 - "FG_SETCOLOR" - SET CURRENT COLOR
6200AB - INT 62 u - FGDRIVER v4.02 - "FG_SETDACS" - SET VIDEO DAC CONTENTS
6200AC - INT 62 u - FGDRIVER v4.02 - "FG_SETENTRY" - SET TYPE AND ADDRESS OF VIDEO PAGE
6200AD - INT 62 u - FGDRIVER v4.02 - "FG_SETFUNC" - SET LOGICAL OPERATION FOR VIDEO OPS
6200AE - INT 62 u - FGDRIVER v4.02 - "FG_SETHPAGE" - SET HIDDEN VIDEO PAGE
6200AF - INT 62 u - FGDRIVER v4.02 - "FG_SETLINES" - SET TEXT ROWS ON SCREEN
6200B0 - INT 62 u - FGDRIVER v4.02 - "FG_SETMODE" - SELECT VIDEO MODE AND INITIALIZE
6200B1 - INT 62 u - FGDRIVER v4.02 - "FG_SETNUM" - SET STATE OF NUMLOCK KEY
6200B2 - INT 62 u - FGDRIVER v4.02 - "FG_SETPAGE" - SET ACTIVE VIDEO PAGE
6200B3 - INT 62 u - FGDRIVER v4.02 - "FG_SETRGB" - SET VIDEO DAC REGISTER CONTENTS
6200B4 - INT 62 u - FGDRIVER v4.02 - UNUSED
6200B5 - INT 62 u - FGDRIVER v4.02 - "FG_SETVIEW" - DEFINE VIEWPORT
6200B6 - INT 62 u - FGDRIVER v4.02 - "FG_SETVPAGE" - SET VISIBLE VIDEO PAGE
6200B7 - INT 62 u - FGDRIVER v4.02 - "FG_SHEAR" - SHEAR UNPACKED BITMAP
6200B8 - INT 62 u - FGDRIVER v4.02 - "FG_SHOWFLIC" - DISPLAY IMAGE FROM FLI/FLC FILE
6200B9 - INT 62 u - FGDRIVER v4.02 - "FG_SHOWPCX" - DISPLAY IMAGE FROM PCX FILE
6200BA - INT 62 u - FGDRIVER v4.02 - "FG_SHOWPPR" - DISPLAY IMAGE FROM PPR FILE
6200BB - INT 62 u - FGDRIVER v4.02 - "FG_SHOWSPR" - DISPLAY IMAGE FROM SPR FILE
6200BC - INT 62 u - FGDRIVER v4.02 - "FG_SOUND" - MAKE SOUND FOR SPECIFIED DURATION
6200BD - INT 62 u - FGDRIVER v4.02 - "FG_SOUNDS" - PLAY SOUNDS IN BACKGROUND
6200BE - INT 62 u - FGDRIVER v4.02 - "FG_SPLIT" - ENABLE/DISABLE SPLIT SCREEN ENVIRONMNT
6200BF - INT 62 u - FGDRIVER v4.02 - "FG_STALL" - PAUSE FOR SPECIFIED DURATION
6200C0 - INT 62 u - FGDRIVER v4.02 - "FG_SUSPEND" - TEMPORARILY STOP ASYNCHRONOUS SOUND
6200C1 - INT 62 u - FGDRIVER v4.02 - "FG_SVGAINIT" - INITIALIZE FASTGRAPH SVGA KERNEL
6200C2 - INT 62 u - FGDRIVER v4.02 - "FG_SVGASTAT" - GET SVGA CHIPSET INFORMATION
6200C3 - INT 62 u - FGDRIVER v4.02 - "FG_SVGAVER" - GET FASTGRAPH SVGA KERNEL VERSION
6200C4 - INT 62 u - FGDRIVER v4.02 - "FG_TCDEFINE" - DEFINE TRANSPARENCY OF COLOR INDEX
6200C5 - INT 62 u - FGDRIVER v4.02 - "FG_TCMASK" - SET TRANSPARENT COLORS
6200C6 - INT 62 u - FGDRIVER v4.02 - "FG_TCXFER" - COPY REGION EXCLUDING TRANSPARENT
6200C7 - INT 62 u - FGDRIVER v4.02 - "FG_TESTMODE" - CHECK IF VIDEO MODE AVAILABLE
6200C8 - INT 62 u - FGDRIVER v4.02 - "FG_TEXT" - DISPLAY STRING OF CHARACTERS
6200C9 - INT 62 u - FGDRIVER v4.02 - "FG_TEXTC" - DISPLAY STRING OF CHARACTERS (CLIPPED)
6200CA - INT 62 u - FGDRIVER v4.02 - "FG_TRANSFER" - COPY REGION
6200CB - INT 62 u - FGDRIVER v4.02 - "FG_UNPACK" - EXPAND MODE-SPECIFIC BITMAP
6200CC - INT 62 u - FGDRIVER v4.02 - "FG_VBADDR" - GET ADDRESS OF VIRTUAL BUFFER
6200CD - INT 62 u - FGDRIVER v4.02 - "FG_VBALLOC" - CREATE VIRTUAL BUFFER
6200CE - INT 62 u - FGDRIVER v4.02 - "FG_VBCLOSE" - CLOSE ACTIVE VIRTUAL BUFFER
6200CF - INT 62 u - FGDRIVER v4.02 - "FG_VBCOPY" - COPY RECT BETWEEN VIRTUAL BUFFERS
6200D0 - INT 62 u - FGDRIVER v4.02 - "FG_VBCUT" - COPY RECT FROM VIDEO TO VIRTUAL BUFFER
6200D1 - INT 62 u - FGDRIVER v4.02 - "FG_VBDEFINE" - CREATE VIRTUAL BUFFER
6200D2 - INT 62 u - FGDRIVER v4.02 - "FG_VBFREE" - RELEASE VIRTUAL BUFFER
6200D3 - INT 62 u - FGDRIVER v4.02 - "FG_VBHANDLE" - GET ACTIVE VIRTUAL BUFFER'S HANDLE
6200D4 - INT 62 u - FGDRIVER v4.02 - "FG_VBINIT" - INITIALIZE VIRTUAL BUFFER ENVIRONMENT
6200D5 - INT 62 u - FGDRIVER v4.02 - "FG_VBOPEN" - MAKE VIRTUAL BUFFER ACTIVE
6200D6 - INT 62 u - FGDRIVER v4.02 - "FG_VBPASTE" - COPY RECT FROM VIRTUAL BUF TO VIDEO
6200D7 - INT 62 u - FGDRIVER v4.02 - "FG_VBTCCOPY" - COPY RECTANGLE BETWEEN VIRTUAL BUFS
6200D8 - INT 62 u - FGDRIVER v4.02 - "FG_VBTCXFER" - COPY RECTANGLE TO ACTIVE VIDEO PAGE
6200D9 - INT 62 u - FGDRIVER v4.02 - "FG_VBUNDEF" - RELEASE HANDLE FOR VIRTUAL BUFFER
6200DA - INT 62 u - FGDRIVER v4.02 - "FG_VGASTATE" - SAVE/RESTORE VGA CONTROLLER STATE
6200DB - INT 62 u - FGDRIVER v4.02 - "FG_VOICE" - START SOUND
6200DC - INT 62 u - FGDRIVER v4.02 - "FG_VOICES" - PLAY SOUNDS IN BACKGROUND
6200DD - INT 62 u - FGDRIVER v4.02 - "FG_WAITFOR" - DELAY FOR SPECIFIED DURATION
6200DE - INT 62 u - FGDRIVER v4.02 - "FG_WAITKEY" - FLUSH KEYBOARD BUFFER AND AWAIT KEY
6200DF - INT 62 u - FGDRIVER v4.02 - "FG_WAITVR" - ENABLE/DISABLE VERTICAL RETRACE WAIT
6200E0 - INT 62 u - FGDRIVER v4.02 - "FG_WHERE" - GET CURRENT CURSOR POSITION
6200E1 - INT 62 u - FGDRIVER v4.02 - "FG_XALPHA" - CONVERT SCREEN COLUMN TO CHAR COLUMN
6200E2 - INT 62 u - FGDRIVER v4.02 - "FG_XCONVERT" - CONVERT CHAR COLUMN TO SCREEN COL
6200E3 - INT 62 u - FGDRIVER v4.02 - "FG_XVIEW" - CONVERT VIEWPORT COORDINATE
6200E4 - INT 62 u - FGDRIVER v4.02 - "FG_YALPHA" - CONVERT SCREEN ROW TO CHARACTER ROW
6200E5 - INT 62 u - FGDRIVER v4.02 - "FG_YCONVERT" - CONVERT CHARACTER ROW TO SCREEN ROW
6200E6 - INT 62 u - FGDRIVER v4.02 - "FG_YVIEW" - TRANSLATE VERTICAL VIEWPORT COORDINATE
6201 - INT 62 - Cswitch - GIVE UP REST OF TIME-SLICE
6201 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
6202 - INT 62 - Cswitch - WAIT FOR SEMAPHORE
6202 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - INITIALIZE
6203 - INT 62 - Cswitch - CHECK SEMAPHORE
6203 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET REAL IP ADDRESS
6204 - INT 62 - Cswitch - TRIGGER SEMAPHORE
6204 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
6205 - INT 62 - Cswitch - SLEEP
6205 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6206 - INT 62 - Cswitch - SUSPEND
6206 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6207 - INT 62 - Cswitch - SPAWN
6207 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6208 - INT 62 - Cswitch - WAKE UP TASK
6208 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6208--CXFFFE - INT 62 - MS SQL Server/Sybase DBLIBRARY interface - UNINSTALL/GET PSP ADDR
6209 - INT 62 - Cswitch - SET PRIORITY
6209 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - HOOK TIMER INTERRUPT
620A - INT 62 - Cswitch - TEST MESSAGE QUEUE
620A - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - UNHOOK TIMER INTERRUPT
620B - INT 62 - Cswitch - SEND MESSAGE
620B - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ADD ???
620C - INT 62 - Cswitch - READ MESSAGE
620C - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - REMOVE ???
620D - INT 62 - Cswitch - DON'T ALLOW TASK TO BE SWAPPED OUT
620D - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
620E - INT 62 - Cswitch - ALLOW TASK TO BE SWAPPED OUT
620E - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - BEGIN CRITICAL SECTION
620F - INT 62 - Cswitch - LOAD AND RUN PROGRAM FROM DISK
620F - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - END CRITICAL SECTION
6210 - INT 62 - Cswitch - TERMINATE SPAWNED PROGRAM
6210 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - QUERY CRITICAL SECTION
6211 - INT 62 - Cswitch - GET TCB INFORMATION
6211 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
6212 - INT 62 - Cswitch - GET TCB ADDRESS
6212 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET SOCKET NUMBER???
6213 - INT 62 - Cswitch - CHECK STATUS OF PREVIOUS LOAD_TASK
6213 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6214 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6215 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET ???
6216 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6217 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6218 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ALLOCATE AND MAP EMS FOR DRIVER
6247 - INT 62 - PC Tools v7 COMMUTE - ???
6248 - INT 62 - PC Tools v7 COMMUTE - ???
6249 - INT 62 - PC Tools v7 COMMUTE - ???
624A - INT 62 - PC Tools v7 COMMUTE - ???
624B--BX1234 - INT 62 - PC Tools v7 COMMUTE - ???
624C - INT 62 - PC Tools v7 COMMUTE - ???
626262 - INT 62 - PC Tools v7 COMMUTE - INSTALLATION CHECK
62C0 - INT 62 U - GWBTSR - API
62FE - INT 62 - BW-TCP - ETHDRV.SYS - MAP EMS PAGE FRAME
63 - INT 63 - reserved for user interrupt
63 - INT 63 - Adaptec and OMTI controllers - DRIVE 0 DATA
63 - INT 63 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
63 - INT 63 - Oracle SQL Protected Mode Executive - ???
63 - INT 63 - 4+Power FLOPPY CONTROLLER - ORIGINAL INT 13/40
63 - INT 63 - Kofax KF9X00 image manipulation card interface
63 - INT 63 - DESQview/X - SOCKET API
6300 - INT 63 - HP 100LX - MAP HIGH MEMORY
6300 - INT 63 - BW-TCP - TCPIP.SYS - SET IP ADDRESS???
6301 - INT 63 - HP 100LX - SAVE/RESTORE MEMORY MAP
6301 - INT 63 - BW-TCP - TCPIP.SYS - ???
6302 - INT 63 - BW-TCP - TCPIP.SYS - ???
6303 - INT 63 - BW-TCP - TCPIP.SYS - GET IP ADDRESS
6304 - INT 63 - BW-TCP - TCPIP.SYS - ???
6305 - INT 63 - BW-TCP - TCPIP.SYS - ???
6306 - INT 63 - BW-TCP - TCPIP.SYS - ???
6307 - INT 63 - BW-TCP - TCPIP.SYS - ???
6308 - INT 63 - BW-TCP - TCPIP.SYS - SET DEFAULT ??? HANDLER
6309 - INT 63 - BW-TCP - TCPIP.SYS - INSTALL ??? HANDLERS
630A - INT 63 - BW-TCP - TCPIP.SYS - DELETE ??? HANDLERS
630B - INT 63 - BW-TCP - TCPIP.SYS - ???
630C - INT 63 - BW-TCP - TCPIP.SYS - ???
630D - INT 63 - BW-TCP - TCPIP.SYS - INSTALL DEFAULT ??? HANDLER
630E - INT 63 - BW-TCP - TCPIP.SYS - CLOSE NETWORK DESCRIPTOR
630F - INT 63 - BW-TCP - TCPIP.SYS - ???
6310 - INT 63 - BW-TCP - TCPIP.SYS - ???
6311 - INT 63 - BW-TCP - TCPIP.SYS - ???
6312 - INT 63 - BW-TCP - TCPIP.SYS - LISTEN FOR INCOMING CONNECTIONS
6313 - INT 63 - BW-TCP - TCPIP.SYS - NOP
6314 - INT 63 - BW-TCP - TCPIP.SYS - OPEN NETWORK CONNECTION
6315 - INT 63 - BW-TCP - TCPIP.SYS - ???
6316 - INT 63 - BW-TCP - TCPIP.SYS - RESET NETWORK CONNECTION
6317 - INT 63 - BW-TCP - TCPIP.SYS - ???
6318 - INT 63 - BW-TCP - TCPIP.SYS - ???
6319 - INT 63 - BW-TCP - TCPIP.SYS - WRITE TO THE NETWORK
631A - INT 63 - BW-TCP - TCPIP.SYS - READ FROM THE NETWORK
631B - INT 63 - BW-TCP - TCPIP.SYS - ???
631C - INT 63 - BW-TCP - TCPIP.SYS - ???
631D - INT 63 - BW-TCP - TCPIP.SYS - ???
631E - INT 63 - BW-TCP - TCPIP.SYS - ???
631F - INT 63 - BW-TCP - TCPIP.SYS - SET SOCKET ??? HANDLER
6320 - INT 63 - BW-TCP - TCPIP.SYS - REMOVE SOCKET ??? HANDLER
6321 - INT 63 - BW-TCP - TCPIP.SYS - ???
6322 - INT 63 - BW-TCP - TCPIP.SYS - REMOVE ??? HANDLER
6323 - INT 63 - BW-TCP - TCPIP.SYS - ???
6324 - INT 63 - BW-TCP - TCPIP.SYS - GET SOCKET
6325 - INT 63 - BW-TCP - TCPIP.SYS - GET INTERNET ADDRESS
6326 - INT 63 - BW-TCP - TCPIP.SYS - SET INTERNET ADDRESS???
6327 - INT 63 - BW-TCP - TCPIP.SYS - SET ???
6328 - INT 63 - BW-TCP - TCPIP.SYS - ???
6329 - INT 63 - BW-TCP - TCPIP.SYS - ???
64 - INT 64 - reserved for user interrupt
64 - INT 64 - Adaptec controllers - DRIVE 1 DATA
64 - INT 64 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
64 - INT 64 - Oracle SQL Protected Mode Executive - ???
64 - INT 64 - Novell NetWare to v2.0a - LOW-LEVEL API
64 - INT 64 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
64 - INT 64 - Extended Batch Language v3.14+
64 - INT 64 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
64 - INT 64 - PC-DRAFT - ASYNCHRONOUS DRIVER
6401 - INT 64 U - BW-NFS - BWRPC - ???
6402 - INT 64 U - BW-NFS - BWRPC - ???
6403 - INT 64 U - BW-NFS - BWRPC - ADD ???
6404 - INT 64 U - BW-NFS - BWRPC - REMOVE ???
6405 - INT 64 U - BW-NFS - BWRPC - ???
6406 - INT 64 U - BW-NFS - BWRPC - ???
6407 - INT 64 U - BW-NFS - BWRPC - GET IP ADDRESS
6410 - INT 64 U - BW-NFS - BWRPC - CALL ETHDEV.SYS
6411 - INT 64 U - BW-NFS - BWRPC - NOP???
64FE - INT 64 - BW-NFS - BWRPC - MAP EMS PAGE FRAME
65 - INT 65 - reserved for user interrupt
65 - INT 65 - Adaptec controllers - DRIVE 1 DATA
65 - INT 65 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
65 - INT 65 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
65 - INT 65 - FTP Software NDIS-Packet Driver adapter - POST PROCESSING INTERRUPT
65 - INT 65 - SD.COM v6.2
65 - INT 65 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
65 - INT 65 - PC-DRAFT - SECONDARY DISPLAY DRIVER
65 - INT 65 - Ad Lib SOUND.COM - INTERFACE
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - NETBIOS - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - MACTEST - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - Physical Layer - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER.COM - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR.COM - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - COMREDIR.COM - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - FTP.COM - ???
65----SI0000 - INT 65 - Ad Lib SOUND.COM - INITIALIZE (RESET)
65----SI0003 - INT 65 - Ad Lib SOUND.COM - SET STATE
65----SI0004 - INT 65 - Ad Lib SOUND.COM - GET STATE
65----SI0006 - INT 65 - Ad Lib SOUND.COM - SET MODE
65----SI0007 - INT 65 - Ad Lib SOUND.COM - GET MODE
65----SI000C - INT 65 - Ad Lib SOUND.COM - SET ACTIVE VOICE
65----SI000D - INT 65 - Ad Lib SOUND.COM - GET ACTIVE VOICE
65----SI8000 - INT 65 u - Media Vision FM.COM v4.1a+ - GET INTERNAL DATA STRUCTURES
65----SI8001 - INT 65 u - Media Vision FM.COM v4.1a+ - GET VOICE COUNT
65----SI8002 - INT 65 - Media Vision FM.COM v4.1a+ - START BACKGROUND FM SOUNDS
65----SI8003 - INT 65 - Media Vision FM.COM v4.1a+ - STOP BACKGROUND FM SOUNDS
65----SI8004 - INT 65 U - Media Vision FM.COM v4.1a+ - GET ???
65----SI8005 - INT 65 U - Media Vision FM.COM v4.1a+ - ???
65 - INT 65 U - EZRECV v1.0 - API
66 - INT 66 - reserved for user interrupt
66 - INT 66 - Adaptec controllers - DRIVE 1 DATA
66 - INT 66 - TI Professional PC - SYSTEM INFORMATION (NOT A VECTOR!)
66 - INT 66 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
66 - INT 66 C - Nanosoft, Inc. TurboNET - NETWORK PROCESSING ???
66 - INT 66 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
66 - INT 66 - Microsoft Windows VITD.386 Virtual Interval Timer
66 - INT 66 - Newkey v5.4 - INSTALLATION VECTOR
66 - INT 66 - PC-DRAFT - TABLET/DIGITIZER DRIVER
66 - INT 66 - PC-Magazin - INCA
6601 - INT 66 - BitFax Scheduler - SET MODE???
6602 - INT 66 - BitFax Scheduler - SET MODE???
6603 - INT 66 - BitFax Scheduler - SCHEDULE FAX TRANSMISSIONS
6604 - INT 66 - BitFax Scheduler - GET STATUS???
6605 - INT 66 - BitFax Scheduler - CONVERT FILE AND SEND FAX
6606 - INT 66 - BitFax Scheduler - SET MODE???
660688 - INT 66 - IBMSND driver, DIGPAK - PLAY 8-BIT DIGITIZED SOUND
660689 - INT 66 - IBMSND driver, DIGPAK - REPORT SOUND DRIVER STATUS
66068A - INT 66 - IBMSND driver, DIGPAK - PREFORMAT SOUND
66068B - INT 66 - IBMSND driver, DIGPAK - PLAY PREFORMATTED SOUND
66068C - INT 66 - IBMSND driver, DIGPAK - REPORT AUDIO DRIVER CAPABILITIES
66068D - INT 66 - IBMSND driver, DIGPAK - REPORT CURRENT SAMPLE ADDRESS
66068E - INT 66 - IBMSND driver, DIGPAK - SET CALLBACK ADDRESS
66068F - INT 66 - IBMSND driver, DIGPAK - STOP CURRENT SOUND
660690 - INT 66 - IBMSND driver, DIGPAK - "SetAudioHardware" - SET UP HARDWARE INFO
660691 - INT 66 - IBMSND driver, DIGPAK - REPORT CALLBACK ADDRESS
660693 - INT 66 - DIGPAK - SET TIMER DIVISOR RATE
660694 - INT 66 - DIGPAK - PLAY PREFORMATTED DATA
660695 - INT 66 - DIGPAK - POST AUDIO PENDING
660696 - INT 66 - DIGPAK - GET AUDIO PENDING STATUS
660697 - INT 66 - DIGPAK - SET STEREO PANNING
660698 - INT 66 - DIGPAK - SET PLAY MODE
660699 - INT 66 - DIGPAK - GET ADDRESSES
66069A - INT 66 - DIGPAK - SET RECORD MODE
66069B - INT 66 - DIGPAK - STOP NEXT LOOP
66069C - INT 66 - DIGPAK - SET DMA BACKFILL MODE
66069D - INT 66 - DIGPAK - REPORT DMA COUNTER
66069E - INT 66 - DIGPAK - VERIFY DMA BLOCK
66069F - INT 66 - DIGPAK - SET PCM VOLUME
6606A0 - INT 66 - DIGPAK - SET DPMI MODE
660700 - INT 66 - MIDPAK - UNINSTALL
660701 - INT 66 - IBM Digitized Sound Package MIDI driver - GET DIGITIZED SOUND CAPABIL
660702 - INT 66 - MIDPAK - PLAY SEQUENCE
660703 - INT 66 - MIDPAK - SEGUE SEQUENCE
660704 - INT 66 - MIDPAK - REGISTER XMIDI
660705 - INT 66 - MIDPAK - STOP MIDI
660706 - INT 66 O - MIDPAK - REMAP CHANNEL
660707 - INT 66 - MIDPAK - REPORT TRIGGER EVENT COUNTER
660708 - INT 66 - MIDPAK - RESET EVENT TRIGGER COUNTER
660709 - INT 66 O - MIDPAK - MIDI SLEEP
66070A - INT 66 O - MIDPAK - MIDI AWAKE
66070B - INT 66 - MIDPAK - RESUME PLAYING
66070C - INT 66 - MIDPAK - GET SEQUENCE STATUS
66070D - INT 66 - MIDPAK - REGISTER XMIDI FILE
66070E - INT 66 - MIDPAK - GET RELATIVE VOLUME
66070F - INT 66 - MIDPAK - SET RELATIVE VOLUME
660710 - INT 66 - MIDPAK - LOAD MIDPAK DRIVER
660711 - INT 66 - MIDPAK - POLL MIDPAK
660712 - INT 66 - MIDPAK - GET MIDI CLOCK
660713 - INT 66 - MIDPAK - GET TRIGGER COUNT ADDRESS
660714 - INT 66 - MIDPAK - GET EVENT ID ADDRESS
660716 - INT 66 - MIDPAK - REPORT SEQUENCE NUMBER
6610 - INT 66 - PenDOS - TDMOUSE.EXE - GET ???
6611 - INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
6612 - INT 66 - PenDOS - TDMOUSE.EXE - INITIALIZE
6613 - INT 66 - PenDOS - TDMOUSE.EXE - SHUTDOWN???
6614 - INT 66 - PenDOS - TDMOUSE.EXE - ???
6615 - INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
6616 - INT 66 - PenDOS - TDMOUSE.EXE - UNUSED FUNCTIONS
6621 - INT 66 - PenDOS - PINK - ???
6622 - INT 66 - PenDOS - PINK - ???
6623 - INT 66 - PenDOS - PINK - ???
6624 - INT 66 - PenDOS - PINK - ???
6625 - INT 66 - PenDOS - PINK - ???
6627 - INT 66 - PenDOS - PINK - ???
6628 - INT 66 - PenDOS - PINK - ???
6629 - INT 66 - PenDOS - PINK - ???
662A - INT 66 - PenDOS - PINK - ???
662B - INT 66 - PenDOS - PINK - ???
662F - INT 66 - PenDOS - PINK - INITIALIZE
663345 - INT 66 - BitFax Scheduler - REMOVE TSR FROM MEMORY
6640 - INT 66 - PenDOS - PKEYUS - GET VERSION
6641 - INT 66 - PenDOS - PKEYUS - SET ???
6642 - INT 66 - PenDOS - PKEYUS - ???
6643 - INT 66 - PenDOS - PKEYUS - ???
6644 - INT 66 - PenDOS - PKEYUS - UNUSED FUNCTIONS
6650 - INT 66 - PenDOS - PMOUSE - SET ???
6651 - INT 66 - PenDOS - PMOUSE - NOP
6652 - INT 66 - PenDOS - PMOUSE - ???
6653 - INT 66 - PenDOS - PMOUSE - UNUSED FUNCTIONS
66 - INT 66 - PenDOS - PMOUSE - ALTERNATE API
66AA02 - INT 66 - HelpTSR v2.10 - INSTALLATION CHECK
66C5 - INT 66 - PenDOS - VLOAD - API
66FFFBBXFFFB - INT 66 - MicroHelp Stay-Res Plus - ???
66FFFEBXFFFE - INT 66 - MicroHelp Stay-Res/Stay-Res Plus - UNINSTALL
66FFFFBXFFF0 - INT 66 - MicroHelp Stay-Res Plus - FIND PROGRAM NAME
67 - INT 67 - Adaptec controllers - DRIVE 1 DATA
67 - INT 67 - TI Professional PC - SYSTEM DATA (NOT A VECTOR!)
67 - INT 67 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
67 - INT 67 - Sangoma CCPOP 3270 resident module
67 - INT 67 - CUCKOO.COM - INSTALLATION CHECK
67 - INT 67 - PC-DRAFT - KEYBOARD DRIVER
6700 - INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE AND WAIT
6701 - INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE
6702 - INT 67 - PC-NET, Alloy NTNX - UNLOCK SEMAPHORE
671E - INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - INSTALLATION CHECK
671F - INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - API
672763CL01 - INT 67 - VIDEMS.SYS v1.31+ - INSTALLATION CHECK
672763CL02 - INT 67 - VIDEMS.SYS v1.31+ - FLUSH EMS TO VIDEO RAM
672763CL03 - INT 67 - VIDEMS.SYS v1.31+ - RELOAD EMS FROM VIDEO RAM
672763CL04 - INT 67 - VIDEMS.SYS v1.31+ - RETURN HIDDEN BLOCK SIZE
672763CL05 - INT 67 - VIDEMS.SYS v1.31+ - RETURN PHYSICAL PAGE SIZE
672763CL06 - INT 67 - VIDEMS.SYS v1.50+ - RETURN VIDEO RAM SIZE
672833 - INT 67 - Q87 v4+ - PREPARE TO UNLOAD AND GET XMS HANDLE FOR Q87 MEMORY
673F--CX5145 - INT 67 U - QEMM-386 v4.23+ - INSTALLATION CHECK
6740 - INT 67 - LIM EMS - GET MANAGER STATUS
6741 - INT 67 - LIM EMS - GET PAGE FRAME SEGMENT
6742 - INT 67 - LIM EMS - GET NUMBER OF PAGES
6743 - INT 67 - LIM EMS - GET HANDLE AND ALLOCATE MEMORY
674321 - INT 67 - Q87 v4+ - INSTALLATION CHECK
6744 - INT 67 - LIM EMS - MAP MEMORY
6745 - INT 67 - LIM EMS - RELEASE HANDLE AND MEMORY
6746 - INT 67 - LIM EMS - GET EMM VERSION
6747 - INT 67 - LIM EMS - SAVE MAPPING CONTEXT
6748 - INT 67 - LIM EMS - RESTORE MAPPING CONTEXT
6749 - INT 67 - LIM EMS - reserved - GET I/O PORT ADDRESSES
674A - INT 67 - LIM EMS - reserved - GET TRANSLATION ARRAY
674B - INT 67 - LIM EMS - GET NUMBER OF EMM HANDLES
674C - INT 67 - LIM EMS - GET PAGES OWNED BY HANDLE
674D - INT 67 - LIM EMS - GET PAGES FOR ALL HANDLES
674E - INT 67 - LIM EMS - GET OR SET PAGE MAP
674F - INT 67 - LIM EMS 4.0 - GET/SET PARTIAL PAGE MAP
6750 - INT 67 - LIM EMS 4.0 - MAP/UNMAP MULTIPLE HANDLE PAGES
6751 - INT 67 - LIM EMS 4.0 - REALLOCATE PAGES
6752 - INT 67 - LIM EMS 4.0 - GET/SET HANDLE ATTRIBUTES
6753 - INT 67 - LIM EMS 4.0 - GET/SET HANDLE NAME
6754 - INT 67 - LIM EMS 4.0 - GET HANDLE DIRECTORY
6755 - INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND JUMP
6756 - INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND CALL
6756FF - INT 67 - RM386 v6.00 - ???
6757 - INT 67 - LIM EMS 4.0 - MOVE/EXCHANGE MEMORY REGION
6758 - INT 67 - LIM EMS 4.0 - GET MAPPABLE PHYSICAL ADDRESS ARRAY
675857 - INT 67 U - NETROOM??? - ???
6759 - INT 67 - LIM EMS 4.0 - GET EXPANDED MEMORY HARDWARE INFORMATION
675A - INT 67 - LIM EMS 4.0 - ALLOCATE STANDARD/RAW PAGES
675B - INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET
675B - INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET - DMA REGISTERS
675BE0 - INT 67 - MICEMM v4D, RM386 - GET LINEAR ADDRESS OF MEMORY
675BE1 - INT 67 - RM386 v6.00+ - GET MEMORY MANAGER SIZE
675BE2 - INT 67 - RM386 v6.00+ - GET INTERRUPT VECTORS
675BF0 - INT 67 - MICEMM v4D, RM386 - INSTALLATION CHECK
675BF1 - INT 67 - MICEMM v4D, RM386 - GET ADDRESS MAP
675BF2 - INT 67 - RM386 - GET RM386 INTERNAL DATA
675BF3 - INT 67 - RM386 - RETURN TO REAL MODE
675BF4 - INT 67 - RM386 v6.00 - GET RM386 GLOBAL FLAGS
675BF5 - INT 67 - RM386 v6.00 - GET RM386 EMS HANDLE COUNT
675C - INT 67 - LIM EMS 4.0 - PREPARE EXPANDED MEMORY HARDWARE FOR WARM BOOT
675D - INT 67 - LIM EMS 4.0 - ENABLE/DISABLE OS FUNCTION SET FUNCTIONS
675D03 - INT 67 u - Nanosoft MD386 - INTERNAL INITIALIZATION
675D04 - INT 67 - Nanosoft MD386 - GET ALTERNATE MAP STRUCTURE
675D05 - INT 67 - Nanosoft MD386 - GET INTERNAL HANDLE TABLE
675DE0 - INT 67 - RM386 - DISABLE RM386
675DE1 - INT 67 - RM386 - ENABLE RM386
675DE2 - INT 67 - RM386 - GET PAGE TABLE
675DE3 - INT 67 - RM386 - SET PAGE TABLE
675DE4 - INT 67 - RM386 - SET WRITE-PROTECTION FOR PAGE IN FIRST MEGABYTE
675DE5 - INT 67 - RM386 - MAP PHYSICAL PAGE TO PHYSICAL SEGMENT
675DE6 - INT 67 - RM386 - MAP LOGICAL 4K PAGE TO PHYSICAL SEGMENT
675DE7 - INT 67 - RM386 - SET PAGE TABLE BITS FOR RANGE OF PAGES
675DE8 - INT 67 - RM386 - GET PARTIAL PAGE TABLE
675DE9 - INT 67 - RM386 - SET PARTIAL PAGE TABLE
675DEA - INT 67 - RM386 - V86-MODE I/O PORT TRAPPING CONTROL
675DEB - INT 67 - RM386 - V86-MODE I/O TRAPPING PORT CONTROL
675DFD - INT 67 U - RM386 v6.00 - ???
675DFE - INT 67 U - RM386 v6.00 - ???
675DFF - INT 67 U - RM386 v6.00 - ???
675E00 - INT 67 - Nanosoft MD386 - SET HARDWARE BREAKPOINT
675E01 - INT 67 - Nanosoft MD386 - GET HARDWARE DEBUG REGISTER
675E02 - INT 67 - Nanosoft MD386 - SET DEBUG EXCEPTION HANDLER
675E03 - INT 67 - Nanosoft MD386 - ENABLE/DISABLE MEMORY WRITE PROTECTION
675E04 - INT 67 - Nanosoft MD386 - GET DEBUG EXCEPTION
675E05 - INT 67 - Nanosoft MD386 - IGNORE NEXT DEBUG EXCEPTION
6760 - INT 67 - EEMS - GET PHYSICAL WINDOW ARRAY
6761 - INT 67 - EEMS - GENERIC ACCELERATOR CARD SUPPORT
676100 - INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - INSTALLATION CHECK???
676101 - INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - GET ??? ENTRY POINT
6768 - INT 67 - EEMS - GET ADDRESSES OF ALL PAGE FRAMES IN SYSTEM
6769 - INT 67 - EEMS - MAP PAGE INTO FRAME
676A - INT 67 - EEMS - PAGE MAPPING
676B - INT 67 - DESQview 2.42-2.53 - BUG
67DD - INT 67 - Quadtel QMAPS - API
67DE00 - INT 67 - Virtual Control Program Interface - INSTALLATION CHECK
67DE01 - INT 67 - Virtual Control Program Interface - GET PROTECTED MODE INTERFACE
67DE02 - INT 67 - Virtual Control Program Interface - GET MAX PHYSICAL MEMORY ADDRESS
67DE03 - INT 67 - Virtual Control Program Interface - GET NUMBER OF FREE 4K PAGES
67DE04 - INT 67 - Virtual Control Program Interface - ALLOCATE A 4K PAGE
67DE05 - INT 67 - Virtual Control Program Interface - FREE 4K PAGE
67DE06 - INT 67 - Virtual Control Program Interface - GET PHYS ADDR OF PAGE IN FIRST MB
67DE07 - INT 67 - Virtual Control Program Interface - READ CR0
67DE08 - INT 67 - Virtual Control Program Interface - READ DEBUG REGISTERS
67DE09 - INT 67 - Virtual Control Program Interface - SET DEBUG REGISTERS
67DE0A - INT 67 - Virtual Control Program Interface - GET 8259 INTERRUPT VECTOR MAPPINGS
67DE0B - INT 67 - Virtual Control Program Interface - SET 8259 INTERRUPT VECTOR MAPPINGS
67DE0C - INT 67 - Virtual Control Program Interface - SWITCH TO PROTECTED MODE
67DE0F - INT 67 - Netroom3 - ???
67DEE1BX0C55 - INT 67 - "SB Live!" Sound Blaster 16 Emulation Driver - INSTALLATION CHECK
67EF - INT 67 - RM386 v6.00+ - EXECUTE XMS FUNCTION
67FFA5 - INT 67 - Microsoft EMM386.EXE v4.20+ - INSTALLATION CHECK
67FFA5BX4345 - INT 67 U - Compaq CEMM v5.10+ - PRIVATE API
68 - INT 68 - Sangoma CCPOP 3270 resident module
68 - INT 68 - Novell NetWare LU6.2
68 - INT 68 C - HP Vectra AT - IRQ16 - 8041 SERVICE REQUEST
6801--SF1B00 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DISPLAY
6801--SF2000 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH PHYSICAL UNIT
6801--SF2100 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH LOGICAL UNIT
6801--SF2200 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH LOGICAL UNIT
6801--SF2700 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH PHYSICAL UNIT
6801--SF2B00 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ACTIVATE DLC
6802--SF0100 - INT 68 - APPC/PC - CONNECTION CONTROL - ALLOCATE
6802--SF0300 - INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRM
6802--SF0400 - INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRMED
6802--SF0500 - INT 68 - APPC/PC - CONNECTION CONTROL - DEALLOCATE
6802--SF0600 - INT 68 - APPC/PC - CONNECTION CONTROL - FLUSH
6802--SF0700 - INT 68 - APPC/PC - CONNECTION CONTROL - GET ATTRIBUTES
6802--SF0800 - INT 68 - APPC/PC - CONNECTION CONTROL - GET CONVERSATION TYPE
6802--SF0900 - INT 68 - APPC/PC - CONNECTION CONTROL - POST ON RECEIPT
6802--SF0A00 - INT 68 - APPC/PC - CONNECTION CONTROL - PREPARE TO RECEIVE
6802--SF0B00 - INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE AND WAIT
6802--SF0C00 - INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE IMMEDIATE
6802--SF0E00 - INT 68 - APPC/PC - CONNECTION CONTROL - REQUEST TO SEND
6802--SF0F00 - INT 68 - APPC/PC - CONNECTION CONTROL - SEND DATA
6802--SF1000 - INT 68 - APPC/PC - CONNECTION CONTROL - SEND ERROR
6802--SF1200 - INT 68 - APPC/PC - CONNECTION CONTROL - TEST
6802--SF1300 - INT 68 - APPC/PC - CONNECTION CONTROL - WAIT
6803--SF2400 - INT 68 - APPC/PC - TP STARTED
6803--SF2800 - INT 68 - APPC/PC - GET ALLOCATE
6803--SF2A00 - INT 68 - APPC/PC - CHANGE LOGICAL UNIT
6804 - INT 68 - APPC/PC - TRANSACTION PROCESSING
6805 - INT 68 - APPC/PC - TRANSFER MESSAGE DATA
6806 - INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
6807 - INT 68 - APPC/PC - PASSTHROUGH
684300 - INT 68 U - ??? - INSTALLATION CHECK???
684400 - INT 68 U - ???
6847 - INT 68 - MS Windows debugging kernel - OUTPUT STRING
68FA - INT 68 - APPC/PC - ENABLE/DISABLE APPC
68FB - INT 68 - APPC/PC - CONVERT
68FC - INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
68FD - INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
68FE - INT 68 - APPC/PC - SET TRACE DESTINATION
68FF - INT 68 - APPC/PC - SET PASSTHROUGH
69 - INT 69 - Zenith AT BIOS - ???
69 - INT 69 C - HP Vectra AT - IRQ17 - KEYBOARD OUTPUT-BUFFER-FULL SERVICE ROUTINE
690100 - INT 69 - DECnet DOS CTERM - INSTALLATION CHECK
690101 - INT 69 - DECnet DOS CTERM - SEND BYTE
690102 - INT 69 - DECnet DOS CTERM - READ BYTE
690103 - INT 69 - DECnet DOS CTERM - STATUS
690104 - INT 69 - DECnet DOS CTERM - DECnet STATUS
690105 - INT 69 - DECnet DOS CTERM - OPEN SESSION
690106 - INT 69 - DECnet DOS CTERM - CLOSE SESSION
69010A - INT 69 - DECnet DOS CTERM - GET SESSION CONTROL BLOCK SIZE
69010B - INT 69 - DECnet DOS CTERM - GET DECnet SOCKET
69010F - INT 69 - DECnet DOS CTERM - DEINSTALL CTERM
690A - INT 69 - DECnet DOS 2.1+ - DATA LINK LAYER
694001 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694002 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694101 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694102 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694103 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694104 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6942 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6943 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6944 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6949 - INT 69 - 10NET v5.0 - SYSSVC.COM - BUG
696996 - INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
69FF - INT 69 - 10NET v5.0 - SYSSVC.COM - SIGNAL SYSTEM ERROR
6A - INT 6A - OPTHELP.COM
6A - INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM - INSTALLATION CHECK
6A - INT 6A C - HP Vectra AT - IRQ18 - RESERVED HARDWARE INTERRUPT
6A0000 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - INSTALLATION CHECK
6A0001 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
6A0002 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
6A0003 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - GET ??? DATA AREA
6A0004 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ALLOCATE ???
6A0005 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ???
6A000F - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ALL ???
6A0010 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - UNINSTALL
6A01--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BYTE
6A02--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - READ BYTE
6A03--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - STATUS
6AD0--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - OPEN SESSION
6AD000DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - CLOSE SESSION
6AD100DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BREAK
6AD300DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - RESET LAT COUNTERS
6AD400DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - COPY LAT COUNTERS
6AD500DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - GET NEXT LAT SERVICE NAME
6AD600DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - LAT SERVICE TABLE RESET
Section -
6B - INT 6B - DECnet DOS - PORT DRIVER
6B - INT 6B - VIRUS - "Saddam" - ORIGINAL INT 21h VECTOR
6B - INT 6B C - HP Vectra AT - IRQ19 - RESERVED HARDWARE INTERRUPT
6B0000 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
6B0100 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
6B02 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
6B0600 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
6B0700 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
6B08 - INT 6B - TelAPI - CHECK FOR BREAK SIGNAL
6B10 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
6B11--DX0001 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
6B12 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
6B13 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
6B14 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
6B15 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
6B16 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
6B17 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
6B18 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
6B19 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
6B1A - INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
6B1B - INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
6B1C - INT 6B - NPC NCSI EXTENDED SERIAL I/O - CLEAR RECEIVE BUFFER
6B1D - INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
6B1E - INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
6B1F - INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
6B20 - INT 6B - Connection Manager CLIENT.EXE - ???
6B21 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
6B6B - INT 6B - Tandy SCHOOLMATE PLUS - API
6C - INT 6C - system resume vector (CONVERTIBLE)
6C - INT 6C - DOS 3.2 Realtime Clock update
6C - INT 6C - DECnet DOS network scheduler
6C - INT 6C C - HP Vectra AT - IRQ20 - HP-HIL CONTROLLER INTERRUPT
6D - INT 6D - VIDEO - many VGA - VIDEO BIOS ENTRY POINT
6D - INT 6D - Trident SVGA - VIDEO BIOS HANDLER
6D - INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM
6D - INT 6D C - HP Vectra AT - IRQ21 - RESERVED HARDWARE INTERRUPT
6DBD60 - INT 6D U - Matrox Multiple Monitor Support v1.0 - ???
6DBD61 - INT 6D U - Matrox Multiple Monitor Support v1.0 - GET VIDEO MODE INFORMATION
6DBD6F - INT 6D U - Matrox Multiple Monitor Support v1.0 - INSTALLATION CHECK
6DBDFF - INT 6D U - Matrox Multiple Monitor Support v1.0 - UNHOOK INTERRUPT (UNINSTALL)
6E - INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
6E - INT 6E C - HP Vectra AT - IRQ22 - RESERVED HARDWARE INTERRUPT
6F - INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
6F00 - INT 6F - 10NET - LOGIN
6F00 - INT 6F - HP Vectra EX-BIOS - "F_ISR" (internal) - RESPOND TO LOGICAL ISR
6F01 - INT 6F - 10NET - LOGOFF
6F02 - INT 6F - 10NET - STATUS OF NODE
6F0200 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INIT" - START INITIALIZING DRIVER
6F0202 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_START" - COMPLETE DRIVER INITIALIZ.
6F0204 - INT 6F C - MS Windows 3.0 - DOS APPLICATION SWITCH HOOK
6F0204 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_REPORT_STATE" - GET DRIVER STATE
6F0206 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_VERSION_DESC" - GET DRIVER VERSION
6F0208 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_DEF_ATTR" - RESET TO DEFAULT ATTR
6F020A - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_GET_ATTR" - GET CURRENT ATTRIBUTES
6F020C - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_SET_ATTR" - SET DEVICE ATTRIBUTES
6F020E - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_OPEN" - RESERVE DRIVER FOR ACCESS
6F0210 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_CLOSE" - RELEASE DRIVER
6F0212 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TIMEOUT" - REPORT REQUESTED TIMEOUT
6F0214 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INTERVAL" - 60 HZ INTERVAL EXPIRED
6F0216 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TEST" - PERFORM HARDWARE TEST
6F03 - INT 6F - 10NET - GET ADDRESS OF CONFIGURATION TABLE
6F04 - INT 6F - 10NET - SEND
6F04--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_BASEHPVT" - GET HP_VECTOR_TABLE ADDRESS
6F04--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_INIT" - RESET TRACKING DRIVER TO DEFAULTS
6F0400 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_LOCK" - RESERVE SUB-ADDRESSES
6F0400BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_SVC" - UNMASK 8041 SVC INT
6F0400BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DEF_LINKS" - SET DEFAULT PARENTS
6F0400BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_ID_HP" - INSTALLATION CHECK
6F0400BP00CC - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - INIT INT 33 HANDLER
6F0402 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_UNLOCK" - RELEASE SUB-ADDRESSES
6F0402BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_SVC" - MASK 8041 SVC INT
6F0402BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_GET_LINKS" - GET DRIVER LINK FIELDS
6F0402BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_INFO" - GET DISPLAY INFO
6F0402BP00CC - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - FORCE INT 33 INIT
6F0404 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_ON" - GRAPHICS CURSOR ON
6F0404BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_KBD" - UNMASK 8041 OBF INT
6F0404BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_LINKS" - SET DRIVER LINK FIELDS
6F0404BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_INFO" - SET EXT-CTRL INFO
6F0406 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_OFF" - GRAPHICS CURSOR OFF
6F0406BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_KBD" - MASK 8041 OBF INT
6F0406BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_MOD_INFO" - SET EXT-CTRL REG
6F0406BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_RECONFIGURE" - RECONFIG LINK
6F0408 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_EVENT" - SET EVENT HANDLER
6F0408BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_HPHIL" - UNMASK HP-HIL INT
6F0408BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_RES" - GET VIDMODE RESOLUTN
6F0408BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_PROMPTS" - WRITE PROMPT
6F040A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_ON" - ENABLE EVENT HANDLER
6F040ABP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_HPHIL" - MASK HP-HIL INT
6F040ABP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_MODE" - SET VIDEO MODE
6F040ABP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_INTR" - CREATE INTERVAL ENTRY
6F040ABP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_ACK" - ACKNOWLEDGE DEVICE
6F040C - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_OFF" - DISABLE EVENT HANDLER
6F040CBP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DELET_INTR" - DELETE INTERVAL ENTRY
6F040CBP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPEAT" - SET KEY REPEAT RATE
6F040E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_ON" - ENABLE CLIPPING
6F040EBP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABL_INTR" - START INTERRUPT SRVICE
6F040EBP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_DISABLE_REPEAT" - KEY REPT OFF
6F0410 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_OFF" - DISABLE CLIPPING
6F0410BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISBL_INTR" - END INTERRUPT SERVICE
6F0410BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_SELF_TEST" - PERFORM SELFTEST
6F0412BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_RAMSW" - SET RAM SWITCH IN 8041
6F0412BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_STATUS" - GET DEVSTATUS
6F0414BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_RAMSW" - CLEAR 8041 RAM SWITCH
6F0414BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_NAME" - GET DEV NAME
6F0416BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_CRTSW" - SET CRT TO MULTIMODE
6F0416BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_REPEAT" - SET TYPEMATIC
6F0418BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_CRTSW" - SET CRT TO MONOCHROME
6F0418BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_LED" - SET KEYBOARD LEDS
6F041ABP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_PASS_THRU" - SEND DATA BYTE TO 8041
6F05 - INT 6F - 10NET - RECEIVE
6F06 - INT 6F - HP Vectra EX-BIOS - "F_PUT_BYTE" - WRITE A BYTE OF DATA TO DEVICE
6F06 - INT 6F - HP Vectra EX-BIOS - "F_SAMPLE" - POLL CURRENT ABSOLUTE POSITION
6F06--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFIX" - EXCH VALUES WITH FIXED VECTOR
6F06--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE" - GET DRIVER PHYSICAL DESCRIBE RECORD
6F06--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_ON" - ENABLE CURSOR TRACKING
6F07 - INT 6F - 10NET - LOCK HANDLE
6F08 - INT 6F - 10NET - UNLOCK HANDLE
6F08 - INT 6F - HP Vectra EX-BIOS - "F_GET_BYTE" - READ A BYTE OF DATA FROM DEVICE
6F08--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGRSVD" - EXCH VALUES WITH RESRVED VECTOR
6F08--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ALL" - GET DRIVER STATUS TABLE
6F08--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_OFF" - DISABLE CURSOR TRACKING
6F09 - INT 6F - 10NET - SUBMIT
6F0A - INT 6F - 10NET - CHAT
6F0A - INT 6F - HP Vectra EX-BIOS - "F_PUT_BUFFER" - WRITE A BUFFER TO DEVICE
6F0A - INT 6F - HP Vectra EX-BIOS - "F_PUT_BLOCK" - WRITE BLOCKS TO DEVICE
6F0A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFREE" - EXCH VALUES WITH FREE VECTOR
6F0A--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_FIRST" - GET PHYSICAL DRIVER VECTOR
6F0A--BP005A - INT 6F - HP Vectra EX-BIOS - "F_DEF_MASKS" - DEFINE GRAPHICS CURSOR MASKS
6F0B - INT 6F - 10NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
6F0C - INT 6F - 10NET - UNLOCK SEMAPHORE
6F0C - INT 6F - HP Vectra EX-BIOS - "F_GET_BUFFER" - READ A BUFFER OF DATA FROM DEVICE
6F0C - INT 6F - HP Vectra EX-BIOS - "F_GET_BLOCK" - READ BLOCKS OF DATA FROM DEVICE
6F0C--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXOWNDS" - INSTALL VALUES IN FIXED VECTOR
6F0C--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ENTRY" - GET GID DRIVER ENTRY POINT
6F0C--BP005A - INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_X" - SET HORIZONTAL TRACKING LIMITS
6F0D - INT 6F - 10NET - "WHO" - ENUMERATE USERS ON NETWORK
6F0E - INT 6F - 10NET - SPOOL/PRINT
6F0E - INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE WORD OF DATA TO DEVICE
6F0E - INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE A WORD OF DATA
6F0E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGETDS" - INSTALL VALUES IN FIXED VECTOR
6F0E--BP005A - INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_Y" - SET VERTICAL TRACKING LIMITS
6F0F - INT 6F - 10NET v5.0 - "RM LOCK" - ???
6F10 - INT 6F - 10NET - ATTACH/DETACH PRINTER
6F10 - INT 6F - HP Vectra EX-BIOS - "F_GET_WORD" - READ WORD OF DATA FROM DEVICE
6F10--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGLBDS" - INSTALL VALUES IN FIXED VECTOR
6F10--BP005A - INT 6F - HP Vectra EX-BIOS - "F_PUT_SPRITE" - DISPLAY GRAPHICS CURSOR SPRITE
6F11 - INT 6F - 10NET - LOCK FCB
6F12 - INT 6F - 10NET - UNLOCK FCB
6F12--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEOWNDS" - INSTALL VALUES IN FREE VECTOR
6F12--BP005A - INT 6F - HP Vectra EX-BIOS - "F_REMOVE_SPRITE" - REMOVE GRAPHICS CURSOR SPRITE
6F13 - INT 6F - 10NET v3.3+ - GET REMOTE CONFIGURATION TABLE ADDRESS
6F14 - INT 6F - 10NET v3.3+ - GET REMOTE MEMORY
6F14--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGETDS" - INSTALL VALUES IN FREE VECTOR
6F1501 - INT 6F - 10NET v3.3+ - GET SHARED DEVICE ENTRY
6F1502 - INT 6F - 10NET v3.3+ - SET SHARED DEVICE ENTRY
6F1503 - INT 6F - 10NET v3.3+ - DELETE SHARED DEVICE ENTRY
6F16 - INT 6F - 10NET v5.0 - "GL WHO" - ???
6F16--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGLBDS" - INSTALL VALUES IN FREE VECTOR
6F17 - INT 6F - 10NET v3.3+ - MOUNT
6F18 - INT 6F - 10NET v3.3+ - UNMOUNT
6F18--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIND" - FIND DRIVER BY ATTRIBUTES
6F19 - INT 6F U - 10NET v5.0 - AUDIT
6F1A - INT 6F U - 10NET v5.0 - "BULL" - ???
6F1B - INT 6F U - 10NET v5.0 - "GMOUNT" - ???
6F1C - INT 6F U - 10NET v5.0 - "GLOGIN" - GET LOGIN LIST
6F1D - INT 6F U - 10NET v5.0 - "TABDATA" - ???
6F1E - INT 6F U - 10NET v5.0 - "SCHED" - ???
6F1E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_RAM_GET" - GET EX-BIOS FREE RAM AREA
6F1F - INT 6F U - 10NET v5.0 - "WHOAMI" - ???
6F20 - INT 6F U - 10NET v5.0 - ???
6F20--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_RAM_RET" - RESERVE EX-BIOS MEMORY
6F21 - INT 6F U - 10NET v5.0 - ???
6F22 - INT 6F U - 10NET v5.0 - ???
6F22--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_CMOS_GET" - READ CMOS MEMORY
6F24--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_CMOS_RET" - WRITE CMOS MEMORY
6F2A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_YIELD" - GIVE UP CPU TO OTHER TASKS
6F30--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_ENABLE" - TURN ON KEYCLICKS
6F32--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_DISABLE" - TURN OFF KEYCLICKS
6F34--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK" - GENERATE KEYCLICK
6F36--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_ENABLE" - ENABLE BEEPS
6F38--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_DISABLE" - DISABLE BEEPS
6F3A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP" - SOUND BEEP WITH CURRENT VALUES
6F3C--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_SET_BEEP" - SET BEEP FREQUENCY AND DURATION
6F3E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_TONE" - SOUND TONE WITH FREQ AND DURATION
6F40--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_FREE_INDEX" - FIND FREE STRING INDEX
6F42--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_DEL_BUCKET" - DEL HEADER FROM BUCKET LIST
6F44--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_PUT_BUCKET" - ADD HEADER TO BUCKET HDR LIST
6F46--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_STRING" - FIND STRING IN BUCKET LIST
6F48--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_INDEX" - GET INDEX FOR STRING
6F636FBX6D70 - INT 6F - Clara Empricost - TSR Version - INSTALLATION CHECK
6F636FBX6D70 - INT 6F - Clara Empricost - TSR Version - UNINSTALL
6F80 - INT 6F - 10NET v5.0 - LOGIN
6F81 - INT 6F - 10NET v5.0 - LOGOUT
6F8A - INT 6F - 10NET v5.0 - CHAT
6F8D - INT 6F - 10NET v5.0 - "WHO" - ENUMERATE USERS ON NETWORK
6F9501 - INT 6F - 10NET v5.0 - GET SHARED DEVICE ENTRY
6F9502 - INT 6F - 10NET v5.0 - SET SHARED DEVICE ENTRY
6F9503 - INT 6F - 10NET v5.0 - DELETE SHARED DEVICE
6F9504 - INT 6F - 10NET v5.0 - ENUMERATE USERS OF SHARED DEVICE
6F99 - INT 6F - 10NET v5.0 - AUDIT
6F9C - INT 6F - 10NET v5.0 - GET LOGIN LIST
70 - INT 70 C - IRQ8 - CMOS REAL-TIME CLOCK
70 - INT 70 - VIRUS - "Stupid" - ORIGINAL INT 21h VECTOR
71 - INT 71 C - IRQ9 - REDIRECTED TO INT 0A BY BIOS
72 - INT 72 C - IRQ10 - RESERVED
73 - INT 73 C - IRQ11 - RESERVED
74 - INT 74 C - IRQ12 - POINTING DEVICE (PS)
75 - INT 75 C - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
76 - INT 76 C - IRQ14 - HARD DISK CONTROLLER OPERATION COMPLETE (AT and later)
77 - INT 77 C - IRQ15 - RESERVED (AT,PS)
77 - INT 77 C - IRQ15 - SECONDARY IDE CONTROLLER - OPERATION COMPLETE
77 - INT 77 C - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
78 - INT 78 - UofSalford DBOS DOS extender - API
78 - INT 78 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ0
78 - INT 78 R - AutoCAD Device Interface - PLOTTER - SEND COMMAND
78 - INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
78 - INT 78 - ULTRAMID - API
7800 - INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
780000 - INT 78 - HugeRealMode Driver - INSTALLATION CHECK
780001 - INT 78 - HugeRealMode Driver - GET ENTRY POINT
7801 - INT 78 - TARGA.DEV - GET I/O PORT
7802 - INT 78 - TARGA.DEV - SET DMA CHANNEL
7803 - INT 78 - TARGA.DEV - GET DMA CHANNEL
7804 - INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
7805 - INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
7806 - INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
7808 - INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
7809 - INT 78 - TARGA.DEV - RESET SCSI BUS
7810 - INT 78 - TARGA.DEV - SEND SCSI COMMAND
7811 - INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
7812 - INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
7813 - INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
7814 - INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
7815 - INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
79 - INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
79 - INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
79 - INT 79 U - ADP-60 IDE adapter - ???
79 - INT 79 - DBOS DOS Extender
790001 - INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
790002 - INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
790003 - INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
7A - INT 7A U - Topware Network Operating System - ???
7A - INT 7A - X.PC Packet software interface
7A - INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
7A - INT 7A O - PRINDIR - API (moved to INT 7C, then INT 2F/AX=7F00h)
7A - INT 7A - Novell NetWare - LOW-LEVEL API - Notes
7A----BX0000 - INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
7A----BX0001 - INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
7A----BX0002 - INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
7A----BX0003 - INT 7A - Novell NetWare - IPX Driver - SEND PACKET
7A----BX0004 - INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
7A----BX0005 - INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
7A----BX0006 - INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
7A----BX0007 - INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
7A----BX0008 - INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
7A----BX0009 - INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
7A----BX000A - INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
7A----BX000B - INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
7A----BX000C - INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
7A----BX000D - INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
7A----BX000E - INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
7A----BX000F - INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
7A----BX0010 - INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
7A----BX0011 - INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
7A----BX0012 - INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
7A----BX0013 - INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
7A----BX0014 - INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
7A----BX0015 - INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
7A----BX0016 - INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
7A----BX0017 - INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
7A----BX0018 - INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
7A----BX0019 - INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
7A----BX001A - INT 7A - Novell NetWare - IPX Driver - GET DRIVER MAXIMUM PACKET SIZE
7A----BX001B - INT 7A U - Novell NetWare - IPX Driver - INTERNAL
7A----BX001C - INT 7A U - Novell NetWare - NetWare Access Server - GET ???
7A----BX001D - INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB AND SOCKET
7A----BX001E - INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB
7A----BX001F - INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX INFORMATION
7A----BX0020 - INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
7A----BX0021 - INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
7A----BX0022 - INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
7A----BX0023 - INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
7A----BX0024 - INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
7A0001 - INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
7A0200BX0000 - INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
7A04 - INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
7A06 - INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
7A07D0 - INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - Multi-DOS
7A09 - INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
7A13 - INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
7A7A - INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
7A81 - INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
7A83 - INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
7AFDCB - INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
7AFE01 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
7AFE02 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
7AFF01 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
7AFF02 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
7AFF03 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
7AFF04 - INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
7B - INT 7B - Btrieve API (single user)
7B - INT 7B - Eicon Access API (3270/5250 gateways)
7B - INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
7B - INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
7B - INT 7B U - MCI Express v2.11+ - DRIVER.EXE - ???
7B - INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
7B8001 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
7B8002 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
7B8003 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
7C - INT 7C U - IBM REXX88PC command language
7C - INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
7C - INT 7C - PRINDIR v8.02-8.xx - API
7C - INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
7C - INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
7C0000 - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
7C0001 - INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
7C0002 - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
7C0003 - INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
7C0004 - INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
7C0005 - INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
7C0006 - INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
7C0007 - INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
7C0008 - INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
7C0009 - INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
7C000A - INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
7C000B - INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
7C000C - INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
7C000D - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
7C000E - INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
7C000F - INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
7C0010 - INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
7C0011 - INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
7C0012 - INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
7C0013 - INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
7C0014 - INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
7C0015 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
7C0016 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
7C0017 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
7D - INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
7D - INT 7D U - YTERM 1.4 - CLOCK SUPPORT
7D - INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
7D - INT 7D - HyperPAD v2.2 - API ACCESS
7D - INT 7D - IBM DOS 6.1 E.EXE - ???
7D00 - INT 7D - SCSILink - RESET SCSI BUS
7D01 - INT 7D - SCSILink - CONNECT TO TARGET
7D02 - INT 7D - SCSILink - SEND COMMAND
7D03 - INT 7D - SCSILink - SET TIMEOUT
7D04 - INT 7D - SCSILink - GET ERROR STRING
7D05 - INT 7D - SCSILink - GET ADDRESS
7D06 - INT 7D - SCSILink - PUT DATA
7D07 - INT 7D - SCSILink - GET DATA
7D08 - INT 7D - SCSILink - TERMINATE SESSION
7D09 - INT 7D - SCSILink - POLL REQUEST
7E - INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
7E - INT 7E U - YTERM 1.4 - ???
7E - INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
7E00 - INT 7E - MaxSBOS v0.21 - GET ???
7E0001 - INT 7E - IWSBSDRV v1.41 - SEND MIDI BYTE
7E0002 - INT 7E - IWSBSDRV v1.41 - SEND MIDI STRING
7E00F6 - INT 7E - SBOS v3.82 - SET ???
7E00F7 - INT 7E - SBOS v3.82 - GET ???
7E00F9 - INT 7E - SBOS v3.82 - SET ???
7E00FB - INT 7E - SBOS v3.82 - SET ???
7E00FD - INT 7E - SBOS v3.82 - SET ???
7E00FE - INT 7E - SBOS v3.82 - UNINSTALL
7E00FF - INT 7E - SBOS v3.82 - SET INTERRUPT FOR ???
7E01 - INT 7E - MaxSBOS v0.21 - ???
7E02 - INT 7E - MaxSBOS v0.21 - ???
7E03 - INT 7E - MaxSBOS v0.21 - NOP
7E5857BL57 - INT 7E - XLOAD - INSTALLATION CHECK
7E5857BL5A - INT 7E - XLOAD - GET ???
7E5857BL5B - INT 7E - XLOAD - GET XLOAD MEMORY SIZE
7E--80 - INT 7E - IWSBSDRV v1.41 - GET ???
7E--81 - INT 7E - IWSBSDRV v1.41 - ???
7E--82 - INT 7E - IWSBSDRV v1.41 - GET ???
7E--83 - INT 7E - IWSBSDRV v1.41 - ??? (CALLS VIWD.VXD)
7E--84 - INT 7E - IWSBSDRV v1.41 - WAKE PROGRAM???
7E--85 - INT 7E - IWSBSDRV v1.41 - SET ??? FLAG
7E--86 - INT 7E - IWSBSDRV v1.41 - HOOK INT 21
7E--87 - INT 7E - IWSBSDRV v1.41 - RESTORE INT 21
7F - INT 7F - Halo88 - API
7F - INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
7F - INT 7F - Telebit ACS SERIAL I/O
7F - INT 7F - Non-dedicated NetWare 2.x File Server - ENTER CONSOLE MODE
7F - INT 7F U - YTERM - ???
7F - INT 7F - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ7
7F - INT 7F - Canon IXHND2 Scanner Interface
7F - INT 7F - SBS WinRun 1.00 - TRANSMITTER ENTRY POINT
7F - INT 7F - Alloy 386/MultiWare (MW386), Novell-Type Network Executive (NTNX)
7F - INT 7F - Alloy NetWare Support Kit (ANSK) v2.2+ - INSTALLATION CHECK
7F00 - INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK AND WAIT
7F00 - INT 7F - MultiLink Advanced v1.0+ - ENQUEUE SYSTEM RESOURCE
7F00 - INT 7F - G8BPQ v4.07+ - GET NODE/SWITCH VERSION AND DESCRIPTION
7F01 - INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK
7F01 - INT 7F - MultiLink Advanced v1.0+ - DEQUEUE SYSTEM RESOURCE
7F01 - INT 7F - TIGA Communications Driver v2.05 - GET ENTRY POINTS
7F01 - INT 7F - G8BPQ v4.00+ - HOST MODE - SET APPLICATION FLAGS AND MASK
7F0104BX0000 - INT 7F - HLLAPI (IBM 3270 High-Level Language API)/LLAPI (Rabbit Low Level API)
7F0105 - INT 7F - IBM 8514/A Adapter Interface (HDILOAD.EXE)
7F0105 - INT 7F - IBM XGA Adapter Interface (XGAAIDOS.SYS)
7F0106 - INT 7F - HDILOAD Mach32 Adapter Interface - UNINSTALL
7F02 - INT 7F - Alloy NTNX, MW386 - RELEASE SEMAPHORE
7F02 - INT 7F - MultiLink Advanced v1.0+ - RELEASE CPU
7F02 - INT 7F - G8BPQ v4.00+ - HOST MODE - SEND FRAME
7F0200 - INT 7F - Btrieve Multi-User - GIVE UP TIME???
7F03 - INT 7F - Alloy ANSK, NTNX, MW386 - GET USER NUMBER
7F03 - INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE FRAME
7F04 - INT 7F - Alloy NTNX, MW386 - GET NUMBER OF USERS
7F04 - INT 7F - G8BPQ v4.00+ - HOST MODE - GET STREAM STATUS
7F05 - INT 7F - Alloy NTNX (Host) - LOCK/UNLOCK SYSTEM, SPOOLER CONTROL
7F05 - INT 7F - Alloy NTNX (Slave), MW386 - GET USER PARAMETERS
7F05 - INT 7F - G8BPQ v4.00+ - HOST MODE - ACKNOWLEDGE STREAM STATUS CHANGE
7F06 - INT 7F - Alloy NTNX (Host) - GET SHARED DRIVE INFO
7F06 - INT 7F - Alloy NTNX (Slave) - ALLOCATE FREE CLUSTER ON SHARED DRIVE
7F06 - INT 7F - G8BPQ v4.00+ - HOST MODE - SESSION CONTROL
7F07 - INT 7F - Alloy NTNX, MW386 - GET LIST OF SHARED DRIVES
7F07 - INT 7F - G8BPQ v4.00+ - HOST MODE - GET BUFFER COUNTS FOR STREAM
7F08 - INT 7F - Alloy NTNX (Host) - GET INTERRUPT VECTORS
7F08--CL02 - INT 7F - Alloy NTNX - SET MESSAGE DISPLAY TIMEOUT
7F08 - INT 7F - G8BPQ v4.00+ - HOST MODE - PORT CONTROL/INFORMATION
7F09 - INT 7F - MultiLink Advanced v1.0+ - SET TASK PRIORITY
7F09 - INT 7F - G8BPQ - proposed addition - GET NODE/APPLICATION CALLSIGN AND ALIAS
7F09 - INT 7F - Alloy NTNX - ENABLE/DISABLE MUD FILE CHECKING
7F09--CL02 - INT 7F - Alloy NTNX - SWITCH HOST TO DEDICATED MODE
7F09--CL03 - INT 7F - Alloy NTNX,MW386 - GET ALTERNATE INTERRUPT
7F0A--CL00 - INT 7F - Alloy NTNX - GET SYSTEM FLAGS
7F0A - INT 7F - G8BPQ v4.00+ - HOST MODE - TRANSMIT RAW (KISS) FRAME
7F0A - INT 7F - MultiLink Advanced v1.0+ - SET KEYBOARD TEST STATUS
7F0B--CL02 - INT 7F - Alloy NTNX (Host) - SET/RESET GRAPHICS DOS ON SLAVE
7F0B - INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE TRACE (RAW DATA) FRAME
7F0C - INT 7F - G8BPQ v4.00+ - HOST MODE - UPDATE SWITCH INFORMATION
7F0D00 - INT 7F - G8BPQ v4.07+ - HOST MODE - GET AVAILABLE STREAM
7F0D - INT 7F - G8BPQ v4.07+ - HOST MODE - ALLOCATE/DEALLOCATE STREAM
7F0F - INT 7F - G8BPQ v4.00+ - HOST MODE - GET TIME MARKER
7F10--CL00 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - OPEN CHANNEL
7F10--CL01 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE CHANNEL
7F10--CL02 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK CHANNEL
7F10--CL03 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK CHANNEL
7F10--CL04 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - RELEASE BUFFER
7F10--CL05 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE ALL CHANNELS
7F10--CL06 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK ALL OPEN CHANNELS
7F10--CL07 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK ALL LOCKED IDLE CHANNELS
7F10--CL08 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK MULTIPLE CHANNELS
7F10--CL09 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK MULTIPLE CHANNELS
7F11 - INT 7F - Alloy NTNX, MW386 - SEND DATAGRAM
7F12 - INT 7F - Alloy NTNX, MW386 - ACKNOWLEDGE DATAGRAM
7F1234 - INT 7F - TIGA Communications Driver v2.05 - UNINSTALL
7F13--CL00 - INT 7F - Alloy NTNX, MW386 - RESET USER DATAGRAMS
7F14--CL00 - INT 7F - Alloy NTNX, MW386 - SET RECEIVE ISR
7F14--CL01 - INT 7F - Alloy NTNX, MW386 - SET ACKNOWLEDGE ISR
7F14--CL02 - INT 7F - Alloy NTNX, MW386 - SET CHANNEL BUFFER POINTER
7F14--CL03 - INT 7F - Alloy NTNX, MW386 - GET RECEIVE ISR
7F14--CL04 - INT 7F - Alloy NTNX, MW386 - GET ACKNOWLEDGE ISR
7F14--CL05 - INT 7F - Alloy NTNX (Host), MW386 - GET BUSY POINTER
7F15--CL00 - INT 7F - Alloy NTNX, MW386 - GET CHANNEL STATUS
7F15--CL01 - INT 7F - Alloy NTNX, MW386 - GET NEXT FULL CHANNEL
7F15--CL02 - INT 7F - Alloy NTNX, MW386 - GET MAXIMUM NUMBER OF CHANNELS
7F15--CL03 - INT 7F - Alloy NTNX, MW386 - GET MAXIMUM PACKET SIZE
7F15--CL04 - INT 7F - Alloy NTNX, MW386 - GET AND CLEAR ACKNOWLEDGE STATUS
7F16 - INT 7F - Alloy NTNX, MW386 - DIRECT MEMORY TRANSFER
7F21 - INT 7F - Alloy NTNX, MW386 - SEND MESSAGE OR COMMAND TO USER(S)
7F22 - INT 7F - Alloy NTNX - GET MESSAGE
7F24 - INT 7F - Alloy NTNX, MW386 - ATTACH OR RELEASE DRIVE FOR LOW-LEVEL WRITE ACCESS
7F24 - INT 7F - Alloy NTNX - ATTACH/RELEASE HOST PROCESSOR
7F25--CL00 - INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE VERSION
7F25--CL01 - INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE TYPE
7F2525 - INT 7F - TIGA Communications Driver v2.05 - ???
7F26--CL00 - INT 7F - Alloy NTNX, MW386 - GET NTNX FILE MODE
7F26 - INT 7F - Alloy NTNX - SET FILE I/O CHECKING LEVEL
7F26--CL06 - INT 7F - Alloy NTNX - CANCEL FLUSH ON WRITE
7F30 - INT 7F - Alloy MW386 - GET PORT INFORMATION
7F31 - INT 7F - Alloy MW386 v1.x only - CHECK PORT ASSIGNMENT
7F37 - INT 7F - Alloy NTNX (Host) - GET SEMAPHORE TABLE
7F37 - INT 7F - Alloy ANSK, NTNX (Slave) - DUMP STRING TO TERMINAL
7F38 - INT 7F - Alloy NTNX (Slave), MW386 - SET NEW TERMINAL DRIVER
7F39 - INT 7F - Alloy MW386 - SET TERMINAL DRIVER FOR ANOTHER USER
7F3A - INT 7F - Alloy MW386 - GET TERMINAL PARAMETERS
7F3B - INT 7F - Alloy MW386 - SET TERMINAL PARAMETERS
7F3C - INT 7F - Alloy MW386 - ENABLE/DISABLE AUTOBAUD DETECT
7F3D - INT 7F - Alloy MW386 - POST TERMINAL CONFIGURATION CHANGES
7F41 - INT 7F - Alloy NTNX - LOCK FILE FOR USER
7F41 - INT 7F - Alloy MW386 - LOCK SEMAPHORE FOR USER
7F4150BHC1 - INT 7F U - Voyetra - AAPISG - API
7F42 - INT 7F - Alloy NTNX - UNLOCK FILE FOR USER
7F42 - INT 7F - Alloy MW386 - UNLOCK SEMAPHORE FOR USER
7F4321 - INT 7F - TIGA Communications Driver v2.05 - INSTALLATION CHECK
7F4331BHC1 - INT 7F U - Voyetra - VAPISG - API
7F4E - INT 7F - Alloy MW386 v2+ - SET ERROR MODE
7F4F - INT 7F - Alloy MW386 v2+ - SET FCB MODE
7F5555 - INT 7F - TIGA Communications Driver v2.05 - ???
7F564DBHC1 - INT 7F U - Voyetra Multimedia Player - VMP.EXE API
7F5658BHC1 - INT 7F U - Voyetra - VAPISG - API
7F81 - INT 7F - Alloy NTNX - ATTACH DEVICE FOR USER
7F82 - INT 7F - Alloy NTNX - RELEASE DEVICE FOR USER
7FA0 - INT 7F - Alloy MW386 - GET USER NAME
7FA1 - INT 7F - Alloy MW386 - GET MACHINE, USER, AND PROCESS NUMBER
7FA2 - INT 7F - Alloy MW386 - GET USER PRIVILEGE LEVEL
7FA3 - INT 7F - Alloy MW386 - GET USER LOGIN STATE
7FA4 - INT 7F - Alloy MW386 - VERIFY USER PASSWORD
7FA500 - INT 7F - Alloy MW386 - GET USER STATUS
7FA501 - INT 7F - Alloy MW386 - SET USER STATUS
7FABCDBX0000 - INT 7F - IBM 8516 Touch Screen Device Driver - GET API ENTRY
7FB0 - INT 7F - Alloy NTNX, MW386 - RELEASE ALL SEMAPHORES FOR USER
7FB1--SF00 - INT 7F - Alloy NTNX, MW386 - RELEASE NORMAL SEMAPHORES FOR USER
7FB2--SF01 - INT 7F - Alloy NTNX - RELEASE MESSAGES FOR USER
7FB3--SF02 - INT 7F - Alloy NTNX - RELEASE FILES FOR USER
7FB4 - INT 7F - Alloy NTNX - RELEASE DEVICES FOR USER
7FC3 - INT 7F - Alloy MW386 - WRITE BYTE TO TERMINAL AUX PORT
7FC5 - INT 7F - Alloy MW386 - CHANGE CONSOLE MODE
7FC6 - INT 7F - Alloy MW386 - WRITE BYTE TO CONSOLE PORT
7FC7 - INT 7F - Alloy MW386 - READ CONSOLE DATA BYTE
7FC8 - INT 7F - Alloy MW386 - READ CONSOLE DATA INTO BUFFER
7FCF - INT 7F - Alloy NTNX - REBOOT USER PROCESSOR
7FD6 - INT 7F - Alloy MW386 - RESET NETWORK EXECUTIVE
7FD7 - INT 7F - Alloy MW386 - POST EVENT
7FD8 - INT 7F - Alloy MW386 - FLUSH DISK BUFFERS
7FDB - INT 7F - Alloy MW386 v2+ - GET MW386 INVOCATION DRIVE
7FE0 - INT 7F - Alloy MW386 - CREATE DOS TASK
7FE1 - INT 7F - Alloy MW386 - GET DOS TASK PID FROM CREATE ID
7FE2 - INT 7F - Alloy MW386 - SWITCH TO NEW DOS TASK
7FE3 - INT 7F - Alloy MW386 - CHANGE NAME OF DOS TASK
7FE4 - INT 7F - Alloy MW386 - GET TASK NAME FROM PROCESS NUMBER
7FE5 - INT 7F - Alloy MW386 - GET PROCESS NUMBER FROM TASK NAME
7FE6 - INT 7F - Alloy MW386 - GET NUMBER OF AVAILABLE USER TASKS
7FE7 - INT 7F - Alloy MW386 - REMOVE DOS TASK
7FE8 - INT 7F - Alloy MW386 - DOS TASK DELAY
7FF0 - INT 7F - Alloy MW386 - RESTRICT DIRECTORY TO GROUP
7FF1 - INT 7F - Alloy MW386 - ASSIGN DIRECTORY TO GROUP
7FF2 - INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY
7FF3 - INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY FOR GROUP
7FF8 - INT 7F - Alloy MW386 - ASSIGN USER TO GROUP
7FF9 - INT 7F - Alloy MW386 - REMOVE USER FROM GROUP
7FFA - INT 7F - Alloy MW386 - GET USER GROUP LIST
7FFB - INT 7F - Alloy MW386 - ASSIGN GROUP NAME
7FFC - INT 7F - Alloy MW386 - GET GROUP NAME
80 - INT 80 - Q-PRO4 - ???
80 - INT 80 - reserved for BASIC
80 - INT 80 - Phar Lap 386|DOS-Extender - RELOCATED PRINT-SCREEN
80 - INT 80 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
80 - INT 80 - Linux - SYSTEM CALLS
80 - INT 80 - FreeBSD - SYSTEM CALLS
80 - INT 80 U - AMI BIOS v1.00.12.AX1T - internal - BIOS SUBSYSTEM SELECTION
80----BL00 - INT 80 - SBSIM - "STARTSND" - START SOUND ON SPECIFIED DRIVER
80----BL01 - INT 80 - SBSIM - "PLAYSND" - PLAY MUSIC/VOICE ON SELECTED DRIVER
80----BL02 - INT 80 - SBSIM - "STOPSND" - STOP MUSIC/VOICE ON SELECTED DRIVER
80----BL03 - INT 80 - SBSIM - "PAUSESND" - TEMPORARILY PAUSE PLAYBACK ON SELECTED DRIVER
80----BL04 - INT 80 - SBSIM - "RESUMESND" - RESTART PLAYBACK ON SELECTED DRIVER
80----BL05 - INT 80 - SBSIM - "GETSNDSTAT" - GET DRIVER'S STATUS
80----BX0000 - INT 80 - SoundBlaster SBFM driver - GET VERSION
80----BX0000 - INT 80 - SBSIM - "QUERYVERSION" - GET VERSION
80----BX0001 - INT 80 - SoundBlaster SBFM driver - SET MUSIC STATUS BYTE ADDRESS
80----BX0001 - INT 80 - SBSIM - "QUERYDRIVERS" - CHECK DRIVERS INSTALLED
80----BX0002 - INT 80 - SoundBlaster SBFM driver - SET INSTRUMENT TABLE
80----BX0002 - INT 80 - SBSIM - GETADDRESS" - GET SELECTED DRIVER'S ENTRY POINT
80----BX0003 - INT 80 - SoundBlaster SBFM driver - SET SYSTEM CLOCK RATE
80----BX0004 - INT 80 - SoundBlaster SBFM driver - SET DRIVER CLOCK RATE
80----BX0005 - INT 80 - SoundBlaster SBFM driver - TRANSPOSE MUSIC
80----BX0005 - INT 80 - SBSIM - "GETBUFFERINFO" - GET DRIVER'S BUFFER ADDRESS
80----BX0006 - INT 80 - SoundBlaster SBFM driver - PLAY MUSIC
80----BX0007 - INT 80 - SoundBlaster SBFM driver - STOP MUSIC
80----BX0008 - INT 80 - SoundBlaster SBFM driver - RESET DRIVER
80----BX0009 - INT 80 - SoundBlaster SBFM driver - PAUSE MUSIC
80----BX000A - INT 80 - SoundBlaster SBFM driver - RESUME MUSIC
80----BX000B - INT 80 - SoundBlaster SBFM driver - SET USER-DEF TRAP FOR SYSTEM-EXCLUSIVE CMDS
80----BX0400 - INT 80 - SBSIM - "GETVOLUME" - GET SOURCE'S VOLUME
80----BX0401 - INT 80 - SBSIM - "SETVOLUME" - SET SOURCE'S VOLUME
8001 - INT 80 - QPC Software PKTINT.COM - INITIALIZE
8002 - INT 80 - QPC Software PKTINT.COM - GET BUFFER ADDRESSES
8003 - INT 80 - QPC Software PKTINT.COM - GET ENTRY POINT
8004 - INT 80 - QPC Software PKTINT.COM - ENABLE???
8005 - INT 80 - QPC Software PKTINT.COM - GET RECEIVE STATISTICS
8006 - INT 80 - QPC Software PKTINT.COM - REMOVE RECEIVED PACKET
81 - INT 81 - reserved for BASIC
81 - INT 81 - IBM TOKEN RING ADAPTER - ???
81 - INT 81 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
81 - INT 81 - AMI WinBIOS - SECOND HARD DRIVE AUTODETECTION
81 - INT 81 - Paragon Technology PTS/DOS 6.5x, S/DOS 1.0 - API
810200 - INT 81 - Gravis UltraSound - MegaEm - PROCESS COMMAND LINE
810202 - INT 81 - Gravis UltraSound - MegaEm - ???
810300 - INT 81 - Gravis UltraSound - MegaEm - LOAD SAMPLE ???
810400 - INT 81 - Gravis UltraSound - MegaEm - ???
812010 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - INT 78 REDIRECT
812011 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - NMI REDIRECT
812012 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - SOUNDCARD IRQ REDIRECT
812015 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - ???
82 - INT 82 - reserved for BASIC
82 - INT 82 - IBM TOKEN RING ADAPTER - ???
83 - INT 83 - reserved for BASIC
8300 - INT 83 - JM Pro Tracker v5.0 - ???
8301 - INT 83 - JM Pro Tracker v5.0 - ???
8302 - INT 83 - JM Pro Tracker v5.0 - ???
8303 - INT 83 - JM Pro Tracker v5.0 - ???
8304 - INT 83 - JM Pro Tracker v5.0 - SET DMA BUFFER???
8305 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
8306 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
8307 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
8308 - INT 83 - JM Pro Tracker v5.0 - START PLAYING???
8309 - INT 83 - JM Pro Tracker v5.0 - PAUSE???
830A - INT 83 - JM Pro Tracker v5.0 - RESUME???
830B - INT 83 - JM Pro Tracker v5.0 - ???
830C - INT 83 - JM Pro Tracker v5.0 - ???
830D - INT 83 - JM Pro Tracker v5.0 - ???
830E - INT 83 - JM Pro Tracker v5.0 - ???
830F - INT 83 - JM Pro Tracker v5.0 - ???
8310 - INT 83 - JM Pro Tracker v5.0 - ???
8311 - INT 83 - JM Pro Tracker v5.0 - ???
8312 - INT 83 - JM Pro Tracker v5.0 - CLEAR ???
8313 - INT 83 - JM Pro Tracker v5.0 - ???
8314 - INT 83 - JM Pro Tracker v5.0 - ???
8315 - INT 83 - JM Pro Tracker v5.0 - GET ???
8316 - INT 83 - JM Pro Tracker v5.0 - ???
8317 - INT 83 - JM Pro Tracker v5.0 - UNHOOK API INTERRUPT
8318 - INT 83 - JM Pro Tracker v5.0 - SET BUFFERS
84 - INT 84 - reserved for BASIC
85 - INT 85 - reserved for BASIC
86 - INT 86 - NetBIOS - ORIGINAL INT 18
86 - INT 86 - IBM ROM BASIC - used while in interpreter
86 - INT 86 - APL*PLUS/PC - Terminate APL session and return to DOS
87 - INT 87 - IBM ROM BASIC - used while in interpreter
87 - INT 87 - APL*PLUS/PC - ???
87 - INT 87 - VIRUS - "ZeroHunt" - VIRAL CODE (NOT A VECTOR!)
88 - INT 88 - IBM ROM BASIC - used while in interpreter
88 - INT 88h - WANG PC - GET CONFIGURATION
88--00 - INT 88 - APL*PLUS/PC - CREATE OBJECT OF ARBITRARY RANK OR SHAPE
88--01 - INT 88 - APL*PLUS/PC - CREATE CHARACTER SCALAR/VECTOR/MATRIX <64K IN SIZE
88--02 - INT 88 - APL*PLUS/PC - CREATE INTEGER SCALAR/VECTOR/MATRIX <64K IN SIZE
88--08 - INT 88 - APL*PLUS/PC - CREATE FLOATING POINT SCALAR/VECTOR/MATRIX <64K IN SIZE
88--F5 - INT 88 - APL*PLUS/PC - FORCE OBJECT INTO REAL WORKSPACE FROM VIRTUAL
88--F6 - INT 88 - APL*PLUS/PC - MAKE NAME IMMUNE FROM OUTSWAPPING
88--F7 - INT 88 - APL*PLUS/PC - MAKE NAME ELIGIBLE FOR OUTSWAPPING
88--F8 - INT 88 - APL*PLUS/PC - REPORT WHETHER NAME IS ELIGIBLE FOR OUTSWAPPING
88--F9 - INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
88--FC - INT 88 - APL*PLUS/PC - DETERMINE IF MEMORY AVAIL WITHOUT GARBAGE COLLECTION
88--FD - INT 88 - APL*PLUS/PC - PERFORM GARBAGE COLLECTION AND RETURN AVAILABLE MEMORY
88--FE - INT 88 - APL*PLUS/PC - CREATE NAME
88--FF - INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
89 - INT 89 - IBM ROM BASIC - used while in interpreter
89 - INT 89 - APL*PLUS/PC - ???
8A - INT 8A - IBM ROM BASIC - used while in interpreter
8A - INT 8A - APL*PLUS/PC - PRINT SCREEN
8B - INT 8B - IBM ROM BASIC - used while in interpreter
8B - INT 8B - APL*PLUS/PC - BEEP
8B - INT 8B - VIRUS - "ZeroHunt" - INSTALLATION CHECK (NOT A VECTOR!)
8C - INT 8C - IBM ROM BASIC - used while in interpreter
8C - INT 8C - APL*PLUS/PC - CLEAR SCREEN MEMORY
8D - INT 8D - IBM ROM BASIC - used while in interpreter
8E - INT 8E - IBM ROM BASIC - used while in interpreter
8F - INT 8F - IBM ROM BASIC - used while in interpreter
90 - INT 90 - IBM ROM BASIC - used while in interpreter
90 - INT 90 - APL*PLUS/PC - USED BY PORT 10 PRINTER DRIVER
91 - INT 91 - IBM ROM BASIC - used while in interpreter
91 - INT 91 - IBM TOKEN RING ADAPTER - ???
Section -
92 - INT 92 - IBM ROM BASIC - used while in interpreter
92 - INT 92 - Sangoma X.25 INTERFACE PROGRAM
92E1 - INT 92 - Da Vinci eMail Dispatcher INTERFACE
92E100 - INT 92 - Da Vinci eMail Dispatcher - "NetInitStart"
92E101BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetInitCheck"
92E102BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetCheckDriver"
92E103BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetTerminate"
92E104 - INT 92 - Da Vinci eMail Dispatcher - "NetWhereIs"
92E105 - INT 92 - Da Vinci eMail Dispatcher - "NetOpen"
92E106BX0004 - INT 92 - Da Vinci eMail Dispatcher - "NetRead"
92E107BX0002 - INT 92 - Da Vinci eMail Dispatcher - "NetGetError"
92E108 - INT 92 - Da Vinci eMail Dispatcher - "NetWrite"
92E109 - INT 92 - Da Vinci eMail Dispatcher - "NetErrorFix" (UNUSED)
92E10A - INT 92 - Da Vinci eMail Dispatcher - "NetClose"
92E10B - INT 92 - Da Vinci eMail Dispatcher - "NetCheckQueue"
92E10C - INT 92 - Da Vinci eMail Dispatcher - "NetReadQueue"
92E10D - INT 92 - Da Vinci eMail Dispatcher - "NetSubmitName"
92E10E - INT 92 - Da Vinci eMail Dispatcher - "NetRemoveName"
92E10FBX0000 - INT 92 - Da Vinci eMail Dispatcher - IS ANYONE THERE? QUERY
92E110 - INT 92 - Da Vinci eMail Dispatcher - "NetGetAltRoute"
92E111 - INT 92 - Da Vinci eMail Dispatcher - "NetDeleteAltRoutes"
92E112 - INT 92 - Da Vinci eMail Dispatcher - "NetChangePassword"
92E113 - INT 92 - Da Vinci eMail Dispatcher - "NetSetAltRoute"
92E175 - INT 92 - Da Vinci eMail Dispatcher - BECOME MICRO TSR
92E180 - INT 92 - Da Vinci eMail Dispatcher - INSTALLATION CHECK
93 - INT 93 - IBM ROM BASIC - used while in interpreter
93 - INT 93 - IBM TOKEN RING ADAPTER - ???
94 - INT 94 - IBM ROM BASIC - used while in interpreter
94----SI0000 - INT 94 u - PCM driver - INITIALIZE SOUND
94----SI0001 - INT 94 u - PCM driver - INITIALIZE PCM
94----SI0002 - INT 94 u - PCM driver - INITIALIZE PCM INFO
94----SI0003 - INT 94 u - PCM driver - INITIALIZE DMA BUFFER
94----SI0004 - INT 94 u - PCM driver - INITIALIZE USER FUNCTION
94----SI0005 - INT 94 u - PCM driver - BEGIN AUDIO PLAY
94----SI0006 - INT 94 u - PCM driver - BEGIN AUDIO RECORD
94----SI0007 - INT 94 u - PCM driver - PAUSE AUDIO PLAY/RECORD
94----SI0008 - INT 94 u - PCM driver - RESUME AUDIO PLAY/RECORD
94----SI0009 - INT 94 u - PCM driver - STOP AUDIO PLAY/RECORD
94----SI000A - INT 94 u - PCM driver - UNHOOK INTERRUPTS AND TURN OFF DMA
94----SI000B - INT 94 u - PCM driver - FIND VALID DMA BUFFER IN HUGE MEMORY BLOCK
94----SI000D - INT 94 u - Media Vision PCM.COM - GET STATUS
94----SI8000 - INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER ADDRESS
94----SI8001 - INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER SIZE AND DIVISIONS
94----SI8002 - INT 94 u - Media Vision PCM.COM - CHECK BOARD ADDRESS
94----SI8004 - INT 94 u - Media Vision PCM.COM - GET INTERNAL NOTE BUFFER
94----SI8005 - INT 94 u - Media Vision PCM.COM - SINGLE-STEP QUEUE
94----SI8011 - INT 94 u - Media Vision PCM.COM - INITIALIZE
94----SI8012 - INT 94 u - Media Vision PCM.COM - LOAD SOUND FOR LATER PLAY THROUGH KEYBOARD
94----SI8013 - INT 94 u - Media Vision PCM.COM - GET INTERNAL SOUND USAGE
94----SI8014 - INT 94 u - Media Vision PCM.COM - GET DATA FOR SPECIFIED SOUND
94----SI8015 - INT 94 u - Media Vision PCM.COM - GET/SET INTERNAL DMA BUFFER
94----SI8016 - INT 94 u - Media Vision PCM.COM - SIMULATE DOUBLE-SHIFT HOTKEY
94--01SI8017 - INT 94 u - Media Vision PCM.COM - CTRL-G INTERCEPT
94--02SI8017 - INT 94 u - Media Vision PCM.COM - DOUBLE-SHIFT-HOTKEY SOUND FEATURE
94--04SI8017 - INT 94 u - Media Vision PCM.COM - RANDOM SOUND FEATURE
94--08SI8017 - INT 94 u - Media Vision PCM.COM - NO ACTIVITY FEATURE
94--10SI8017 - INT 94 u - Media Vision PCM.COM - TIMER CONTROL
94----SI8018 - INT 94 u - Media Vision PCM.COM - GET INFO
95 - INT 95 - IBM ROM BASIC - used while in interpreter
95 - INT 95 - APL*PLUS/PC - DETERMINE R= SPACE
96 - INT 96 - IBM ROM BASIC - used while in interpreter
96 - INT 96 U - KILL.COM, QKILL.COM - POP UP
97 - INT 97 - IBM ROM BASIC - used while in interpreter
98 - INT 98 - IBM ROM BASIC - used while in interpreter
99 - INT 99 - IBM ROM BASIC - used while in interpreter
9A - INT 9A - IBM ROM BASIC - used while in interpreter
9B - INT 9B - IBM ROM BASIC - used while in interpreter
9C - INT 9C - IBM ROM BASIC - used while in interpreter
9C - INT 9C - VIRUS - "INT13" - ORIGINAL INT 13h VECTOR
9D - INT 9D - IBM ROM BASIC - used while in interpreter
9D - INT 9D - VIRUS - "INT13" - ROM INT 13h ENTRY POINT
9E - INT 9E - IBM ROM BASIC - used while in interpreter
9E - INT 9E - VIRUS - "INT13" - ORIGINAL INT 21h VECTOR
9F - INT 9F - IBM ROM BASIC - used while in interpreter
9F - INT 9F - VIRUS - "INT13" - STORAGE FOR USER INT 13h VECTOR
A0 - INT A0 - IBM ROM BASIC - used while in interpreter
A0 - INT A0 - APL*PLUS/PC - USED BY APL/GSS*CGI GRAPHICS INTERFACE
A1 - INT A1 - IBM ROM BASIC - used while in interpreter
A2 - INT A2 - IBM ROM BASIC - used while in interpreter
A3 - INT A3 - IBM ROM BASIC - used while in interpreter
A4 - INT A4 - IBM ROM BASIC - used while in interpreter
A4 - INT A4 U - Right Hand Man - API
A5 - INT A5 - IBM ROM BASIC - used while in interpreter
A6 - INT A6 - IBM ROM BASIC - used while in interpreter
A7 - INT A7 - IBM ROM BASIC - used while in interpreter
A8 - INT A8 - IBM ROM BASIC - used while in interpreter
A9 - INT A9 - IBM ROM BASIC - used while in interpreter
AA - INT AA - IBM ROM BASIC - used while in interpreter
AB - INT AB - IBM ROM BASIC - used while in interpreter
AC - INT AC - IBM ROM BASIC - used while in interpreter
AD - INT AD - IBM ROM BASIC - used while in interpreter
AE - INT AE - IBM ROM BASIC - used while in interpreter
AF - INT AF - IBM ROM BASIC - used while in interpreter
B0 - INT B0 - IBM ROM BASIC - used while in interpreter
B1 - INT B1 - IBM ROM BASIC - used while in interpreter
B2 - INT B2 - IBM ROM BASIC - used while in interpreter
B3 - INT B3 - IBM ROM BASIC - used while in interpreter
B370 - INT B3 - ZIPKEY - GET VERSION
B371 - INT B3 - ZIPKEY - CONVERT TWO-LETTER ABBREVIATION TO STATE CODE
B372 - INT B3 - ZIPKEY - CONVERT STATE CODE TO TWO-LETTER ABBREVIATION
B373 - INT B3 - ZIPKEY - CONVERT STATE CODE TO STATE NAME
B374 - INT B3 - ZIPKEY - CONVERT ZIPCODE TO ASCII DIGITS
B375 - INT B3 - ZIPKEY - LOOK UP STATE CODE FOR ZIPCODE
B376 - INT B3 - ZIPKEY - LOOK UP CITY AND STATE FOR ZIPCODE
B377 - INT B3 - ZIPKEY - PLAY BACK EXIT KEY FOR ENTRY WITH GIVEN ZIPCODE
B378 - INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN STATE AND CITY
B379 - INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN CITY
B37A - INT B3 - ZIPKEY - FETCH AN ENTRY FROM A PREVIOUS LOOKUP
B37B - INT B3 - ZIPKEY - GET VALUES NEEDED TO SAVE ZIPKEY CONTEXT
B37C - INT B3 - ZIPKEY - RESTORE ZIPKEY CONTEXT
B37D - INT B3 - ZIPKEY - REQUEST POP UP
B37E - INT B3 - ZIPKEY - GET NAME OF PRIMARY CITY FOR A ZIPCODE REGION
B37F - INT B3 - ZIPKEY - ENABLE/DISABLE HOTKEYS
B380 - INT B3 - ZIPKEY v2.0+ - DETERMINE STATE FOR AREA CODE
B4 - INT B4 - IBM ROM BASIC - used while in interpreter
B4 - INT B4 - StackMan - REQUEST NEW STACK
B5 - INT B5 - IBM ROM BASIC - used while in interpreter
B5 - INT B5 - StackMan - RESTORE ORIGINAL STACK
B5 - INT B5 U - Netroom NETSWAP4 - ???
B6 - INT B6 - IBM ROM BASIC - used while in interpreter
B6 - INT B6 - (NOT A VECTOR!) - USED BY TBFENCE
B7 - INT B7 - IBM ROM BASIC - used while in interpreter
B7 - INT B7 - TBFENCE - ???
B8 - INT B8 - IBM ROM BASIC - used while in interpreter
B9 - INT B9 - IBM ROM BASIC - used while in interpreter
BA - INT BA - IBM ROM BASIC - used while in interpreter
BB - INT BB - IBM ROM BASIC - used while in interpreter
BC - INT BC - IBM ROM BASIC - used while in interpreter
BD - INT BD - IBM ROM BASIC - used while in interpreter
BE - INT BE - IBM ROM BASIC - used while in interpreter
BE - INT BE - DESQview/X - ???
BF - INT BF - IBM ROM BASIC - used while in interpreter
C0 - INT C0 - IBM ROM BASIC - used while in interpreter
C0 - INT C0 - AMI BIOS - DRIVE 0 DATA
C1 - INT C1 - IBM ROM BASIC - used while in interpreter
C1 - INT C1 - AMI BIOS - DRIVE 0 DATA
C2 - INT C2 - IBM ROM BASIC - used while in interpreter
C2 - INT C2 - AMI BIOS - DRIVE 0 DATA
C3 - INT C3 - IBM ROM BASIC - used while in interpreter
C3 - INT C3 - AMI BIOS - DRIVE 0 DATA
C4 - INT C4 - IBM ROM BASIC - used while in interpreter
C4 - INT C4 - AMI BIOS - DRIVE 1 DATA
C5 - INT C5 - IBM ROM BASIC - used while in interpreter
C5 - INT C5 - AMI BIOS - DRIVE 1 DATA
C6 - INT C6 - IBM ROM BASIC - used while in interpreter
C6 - INT C6 - APL*PLUS/PC - IDENTICAL TO INT 86
C6 - INT C6 - AMI BIOS - DRIVE 1 DATA
C7 - INT C7 - IBM ROM BASIC - used while in interpreter
C7 - INT C7 - APL*PLUS/PC - ???
C7 - INT C7 - AMI BIOS - DRIVE 1 DATA
C8 - INT C8 - IBM ROM BASIC - used while in interpreter
C8 - INT C8 - APL*PLUS/PC - IDENTICAL TO INT 88
C9 - INT C9 - IBM ROM BASIC - used while in interpreter
C9 - INT C9 - APL*PLUS/PC - ???
CA - INT CA - IBM ROM BASIC - used while in interpreter
CA - INT CA - APL*PLUS/PC - PRINT SCREEN
CB - INT CB - IBM ROM BASIC - used while in interpreter
CB - INT CB - APL*PLUS/PC - BEEP
CC - INT CC - IBM ROM BASIC - used while in interpreter
CC - INT CC - APL*PLUS/PC - CLEAR SCREEN MEMORY
CD - INT CD - IBM ROM BASIC - used while in interpreter
CD - INT CD - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
CE - INT CE - IBM ROM BASIC - used while in interpreter
CE - INT CE - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
CF - INT CF - IBM ROM BASIC - used while in interpreter
CF - INT CF - APL*PLUS/PC - DEFAULT LOW-RESOLUTION TIMER FOR QUAD MF FUNCTION
D0 - INT D0 - IBM ROM BASIC - used while in interpreter
D0 - INT D0 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D0 - INT D0 - [not a vector!] - NJFRERAM SIGNATURE VECTOR
D1 - INT D1 - IBM ROM BASIC - used while in interpreter
D1 - INT D1 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D2 - INT D2 - IBM ROM BASIC - used while in interpreter
D2 - INT D2 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D3 - INT D3 - IBM ROM BASIC - used while in interpreter
D3 - INT D3 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D3 - INT D3 - VIRUS - "Antiexe" - RELOCATED INT 13
D4 - INT D4 - IBM ROM BASIC - used while in interpreter
D4 - INT D4 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D400 - INT D4 O - PC-MOS/386 v5.01 - OBSOLETE FUNCTIONS
D402 - INT D4 - PC-MOS/386 v3.0+ - GET SYSTEM CONTROL BLOCK POINTER
D403 - INT D4 - PC-MOS/386 v5.01 - GET/SET EXTENDED DIRECTORY INFORMATION
D404 - INT D4 - PC-MOS/386 v3.0+ - GET TASK CONTROL BLOCK
D407 - INT D4 - PC-MOS/386 v3.0+ - WAIT FOR EVENT
D410 - INT D4 - PC-MOS/386 v3.0+ - ENTER/LEAVE NATIVE 386 EXECUTION MODE
D411 - INT D4 - PC-MOS/386 v3.0+ - ALLOCATE NATIVE MODE MEMORY BLOCK
D412 - INT D4 - PC-MOS/386 v3.0+ - FREE NATIVE MODE MEMORY BLOCK
D413 - INT D4 - PC-MOS/386 v5.01 - GET ALIAS FOR SELECTOR (NATIVE MODE ONLY)
D416 - INT D4 - PC-MOS/386 v5.01 - SET/CLEAR IRQ RESERVATION
D419 - INT D4 - PC-MOS/386 v5.01 - GET TASK ID
D41A - INT D4 - PC-MOS/386 v5.01 - GET/SET TASK PRIORITY
D41B - INT D4 - PC-MOS/386 v5.01 - GET/SET TIME SLICE
D41C - INT D4 - PC-MOS/386 v5.01 - GET/SET KEYBOARD MODE
D41D - INT D4 - PC-MOS/386 v5.01 - GET CURRENT PROGRAM NAME
D41E - INT D4 - PC-MOS/386 v5.01 - GET CURRENT USERNAME AND SECURITY CLASS
D41F - INT D4 - PC-MOS/386 v5.01 - GET TASK PARTITION INFORMATION
D420 - INT D4 - PC-MOS/386 v5.01 - GET PORT AND BAUDRATE INFORMATION
D421 - INT D4 - PC-MOS/386 v5.01 - REMOVE A TASK
D422 - INT D4 - PC-MOS/386 v5.01 - ADD A TASK TO THE SYSTEM
D423 - INT D4 - PC-MOS/386 v5.01 - CHANGE TERMINAL DRIVER
D424 - INT D4 U - PC-MOS/386 v5.01 - GET OPERATING SYSTEM SERIAL NUMBER
D425 - INT D4 - PC-MOS/386 v5.01 - IDENTIFY LOAD ADDRESS OF DEVICE DRIVER LOCATION
D426 - INT D4 - PC-MOS/386 v5.01 - GET SYSTEM CONTROL BLOCK SEGMENT/SELECTOR
D427 - INT D4 - PC-MOS/386 v5.01 - GET TASK CONTROL BLOCK SEGMENT/SELECTOR
D428 - INT D4 - PC-MOS/386 v5.01 - GET CONTROL BLOCK DATA FROM SCB OR TCB
D429 - INT D4 - PC-MOS/386 v5.01 - WRITE CONTROL BLOCK DATA INTO SCB OR TCB
D42A - INT D4 - PC-MOS/386 v5.01 - SWAP CONTROL BLOCK DATA OF SCB OR TCB
D42C - INT D4 - PC-MOS/386 v5.01 - GET/SET SPOOLER PARAMETERS
D42D - INT D4 - PC-MOS/386 v5.01 - GET MAXIMUM TASK SIZE
D5 - INT D5 - IBM ROM BASIC - used while in interpreter
D5 - INT D5 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D6 - INT D6 - IBM ROM BASIC - used while in interpreter
D6 - INT D6 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D7 - INT D7 - IBM ROM BASIC - used while in interpreter
D7 - INT D7 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D8 - INT D8 - IBM ROM BASIC - used while in interpreter
D8 - INT D8 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D8 - INT D8 - Screen Thief v1.00 - RELOCATED IRQ0
D9 - INT D9 - IBM ROM BASIC - used while in interpreter
D9 - INT D9 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D9 - INT D9 - Screen Thief v1.00 - RELOCATED IRQ1
DA - INT DA - IBM ROM BASIC - used while in interpreter
DA - INT DA - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
DA - INT DA - Screen Thief v1.00 - RELOCATED IRQ2
DB - INT DB - IBM ROM BASIC - used while in interpreter
DB - INT DB - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
DB - INT DB - Screen Thief v1.00 - RELOCATED IRQ3
DC - INT DC - PC/370 v4.1- - API
DC - INT DC - IBM ROM BASIC - used while in interpreter
DC - INT DC - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
DC - INT DC - Screen Thief v1.00 - RELOCATED IRQ4
DD - INT DD - IBM ROM BASIC - used while in interpreter
DD - INT DD - STSC APL*PLUS/PC v9.0 - PLACE KEYSTROKE EVENTS IN INPUT BUFFER
DD - INT DD - Screen Thief v1.00 - RELOCATED IRQ5
DE - INT DE - IBM ROM BASIC - used while in interpreter
DE - INT DE - APL*PLUS/PC - ???
DE - INT DE - Screen Thief v1.00 - RELOCATED IRQ6
DF - INT DF - Victor 9000/Sirius 1 - SuperBIOS
DF - INT DF - IBM ROM BASIC - used while in interpreter
DF - INT DF - APL*PLUS/PC - SAME AS INT 10
DF - INT DF - Screen Thief v1.00 - RELOCATED IRQ7
E0 - INT E0 - IBM ROM BASIC - used while in interpreter
E0 - INT E0 - APL*PLUS/PC - RESTIME HIGH-RESOLUTION TIMER FOR QUAD MF FUNCTION
E0 - INT E0 - VIRUS - "Micro-128" - ???
E0 - INT E0 - DeskMate (Tandy) - DESK EXECUTIVE API
E0 - INT E0 - CP/M-86, Concurrent CP/M, DR Multiuser DOS - FUNCTION CALLS
E0----CL00 - INT E0 - REAL/32 - "P_TERMCPM" - TERMINATE CALLING PROCESS
E0----CL01 - INT E0 - REAL/32 - "C_READ" - FETCH CHARACTER FROM THE DEFAULT CONSOLE
E0----CL02 - INT E0 - REAL/32 - "C_WRITE" - WRITE CHARACTER TO DEFAULT CONSOLE
E0----CL03 - INT E0 - DR Multiuser DOS - "A_READ" - READ CHARACTER FROM DEFAULT AUX DEVICE
E0----CL04 - INT E0 - DR Multiuser DOS - "A_WRITE" - WRITE CHARACTER TO DEFAULT AUX DEVICE
E0----CL05 - INT E0 - REAL/32 - "L_WRITE" - WRITE CHARACTER TO DEFAULT LIST DEVICE
E0----CL06 - INT E0 - REAL/32 - "C_RAWIO" - PERFORM RAW I/O WITH DEFAULT CONSOLE
E0----CL07 - INT E0 - DR Multiuser DOS - "A_STATIN" - GET INPUT STATUS OF AUX DEVICE
E0----CL08 - INT E0 - DR Multiuser DOS - "A_STATOUT" - GET OUTPUT STATUS OF AUX DEVICE
E0----CL09 - INT E0 - REAL/32 - "C_WRITESTR" - WRITE STRING TO DEFAULT CONSOLE
E0----CL0A - INT E0 - REAL/32 - "C_READSTR" - READ STRING FROM DEFAULT CONSOLE
E0----CL0B - INT E0 - REAL/32 - "C_STAT" - RETURN DEFAULT CONSOLE INPUT STATUS
E0----CL0C - INT E0 - REAL/32 - "S_BDOSVER" - GET BDOS VERSION
E0----CL2F - INT E0 - REAL/32 - "P_CHAIN" - CHAIN PROCESS
E0----CL35 - INT E0 R - REAL/32 - "MC_MAX" - CP-M/86 ALLOCATE MAXIMUM MEMORY
E0----CL36 - INT E0 R - REAL/32 - "MC_ABSMAX" - ALLOCATE MAXIMUM MEMORY SEGMENT ABSOLUTE
E0----CL37 - INT E0 R - REAL/32 - "MC_ALLOC" - CP-M/86 ALLOCATE MEMORY SEGMENT
E0----CL38 - INT E0 R - REAL/32 - "MC_ABSALLOC" - ALLOCATE MEMORY SEGMENT ABSOLUTE
E0----CL39 - INT E0 R - REAL/32 - "MC_FREE" - CP-M/86 FREE SPECIFIED MEMORY SEGMENT
E0----CL3A - INT E0 R - REAL/32 - "MC_ALLFREE" - CP-M/86 FREE ALL MEMORY
E0----CL3B - INT E0 u - REAL/32 - "P_LOAD" - LOAD .CMD FILE INTO MEMORY
E0----CL40 - INT E0 - REAL/32 - "N_LOGON" - LOG ONTO A SERVER
E0----CL41 - INT E0 - REAL/32 - "N_LOGON" - LOG OFF A SERVER
E0----CL44 - INT E0 - REAL/32 - "N_STAT" - GET NETWORK STATUS
E0----CL45 - INT E0 - REAL/32 - "N_RCT" - GET REQUESTOR CONFIGURATION TABLE
E0----CL47 - INT E0 - REAL/32 - "N_SCT" - GET SERVER CONFIGURATION TABLE
E0----CL48 - INT E0 - REAL/32 - "N_ERRMODE" - SET NETWORK ERROR MODE
E0----CL59 - INT E0 - ConcCP/M,DR Multiuser DOS - "S_MEMORY" - RESERVE MEMORY IN GLOBAL AREA
E0----CL5C - INT E0 - REAL/32 - "P_PATH" - SCAN PATH FOR EXECUTABLE FILE
E0----CL5D - INT E0 - REAL/32 - "P_EXEC" - EXECUTE CHILD PROCESS
E0----CL5E - INT E0 - REAL/32 - "P_EXITCODE" - GET/SET PROCESS EXIT CODE
E0----CL6B - INT E0 - REAL/32 - "S_SERIAL" - GET OS SERIAL NUMBER
E0----CL6D - INT E0 - REAL/32 - "C_MODE" - GET/SET CONSOLE MODE
E0----CL6E - INT E0 - REAL/32 - "C_DELIMIT" - GET/SET STRING DELIMITER
E0----CL6F - INT E0 - REAL/32 - "C_WRITEBLK" - WRITE BLOCK TO DEFAULT CONSOLE
E0----CL70 - INT E0 - REAL/32 - "L_WRITEBLK" - WRITE BLOCK TO DEFAULT LIST (PRINTER) DEVICE
E0----CL71 - INT E0 R - ConcCP/M,DR Multiuser DOS - EXECUTE DOS-COMPATIBLE FUNCTIONS
E0----CL73 - INT E0 - GSX-86, GEM/1, GEM/2 - API
E0----CL80 - INT E0 - REAL/32 - "M_ALLOC" - ALLOCATE MEMORY
E0----CL81 - INT E0 - REAL/32 - "M_FREE" - DEALLOCATE MEMORY
E0----CL84 - INT E0 - REAL/32 - "DEV_WAITFLAG" - WAIT ON SYSTEM FLAG
E0----CL85 - INT E0 - REAL/32 - "DEV_SETFLAG" - SET SYSTEM FLAG
E0----CL86 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_MAKE" - CREATE MESSAGE QUEUE
E0----CL87 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_OPEN" - OPEN MESSAGE QUEUE
E0----CL88 - INT E0 - REAL/32 - "Q_DELETE" - DELETE SYSTEM QUEUE
E0----CL89 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_READ" - READ MESSAGE QUEUE
E0----CL8A - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CREAD" - CONDITIONALLY READ MSG QUEUE
E0----CL8B - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_WRITE" - WRITE MESSAGE QUEUE
E0----CL8C - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CWRITE" - CONDITIONALLY WRITE MSG QUEUE
E0----CL8E - INT E0 - ConcCP/M,DR Multiuser DOS - "P_DISPATCH" - CALL DISPATCHER
E0----CL8F - INT E0 - REAL/32 - "P_TERM" - TERMINATE CALLING PROCESS
E0----CL90 - INT E0 - REAL/32 - "P_CREATE" - CREATE A PROCESS
E0----CL91 - INT E0 - ConcCP/M,DR Multiuser DOS - "P_PRIORITY" - SET PROCESS PRIORITY
E0----CL92 - INT E0 - ConcCP/M,DR Multiuser DOS - "C_ATTACH" - ATTACH TO DEFAULT CONSOLE
E0----CL93 - INT E0 - ConcCP/M,DR Multiuser DOS - "C_DETACH" - DETACH FROM DEFAULT CONSOLE
E0----CL94 - INT E0 - REAL/32 - "C_SET" - SET PROCESS'S DEFAULT CONSOLE
E0----CL95 - INT E0 - REAL/32 - "C_ASSIGN" - ASSIGN DEFAULT CONSOLE TO ANOTHER PROCESS
E0----CL96 - INT E0 - REAL/32 - "P_CLI" - RUN COMMAND LINE INTERFACE
E0----CL99 - INT E0 - REAL/32 - "C_GET" - GET DEFAULT CONSOLE
E0----CL9A - INT E0 - REAL/32 - "S_SYSDAT" - GET SYSTEM DATA AREA
E0----CL9C - INT E0 - REAL/32 - "P_PDADR" - GET ADDRESS OF PROCESS DESCRIPTOR
E0----CL9D - INT E0 - REAL/32 - "P_ABORT" - ABORT PROCESS BY NAME OR DESCRIPTOR
E0----CL9E - INT E0 - REAL/32 - "L_ATTACH" - ATTACH TO DEFAULT LIST DEVICE
E0----CL9F - INT E0 - REAL/32 - "L_DETACH" - DETACH FROM DEFAULT LIST DEVICE
E0----CLA0 - INT E0 - REAL/32 - "L_SET" - SET DEFAULT LIST DEVICE
E0----CLA1 - INT E0 - REAL/32 - "L_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT LIST DEVICE
E0----CLA2 - INT E0 - REAL/32 - "C_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT CONSOLE
E0----CLA3 - INT E0 - ConcCP/M,DR Multiuser DOS,REAL/32 - "S_OSVER" - GET OS VERSION
E0----CLA4 - INT E0 - REAL/32 - "L_GET" - GET DEFAULT LIST (PRINTER) DEVICE
E0----CLA5 - INT E0 - DR Multiuser DOS - "A_ATTACH" - ATTACH AUX DEVICE
E0----CLA6 - INT E0 - DR Multiuser DOS - "A_DETACH" - DETACH FROM AUX DEVICE
E0----CLA7 - INT E0 - DR Multiuser DOS - "A_CATTACH" - CONDITIONALLY ATTACH TO AUX DEVICE
E0----CLA8 - INT E0 - DR Multiuser DOS - "A_SET" - SET DEFAULT AUX DEVICE NUMBER
E0----CLA9 - INT E0 - DR Multiuser DOS - "A_GET" - GET DEFAULT AUX DEVICE NUMBER
E0----CLAC - INT E0 - DR Multiuser DOS - "A_READBLK" - READ STRING FROM AUX DEVICE
E0----CLAD - INT E0 - DR Multiuser DOS - "A_WRITEBLK" - WRITE STRING TO AUX DEVICE
E0----CLB0 - INT E0 - DR Multiuser DOS - "A_CONFIG" - GET/SET AUX DEVICE PARAMETERS
E0----CLB1 - INT E0 - DR Multiuser DOS - "A_CONTROL" - GET/SET AUX CONTROL PARAMETERS
E0----CLB2 - INT E0 - DR Multiuser DOS - "A_BREAK" - SEND BREAK TO AUX DEVICE
E0----CLB3 - INT E0 R - REAL/32 - "MP_ALLOC" - ALLOCATE PHYSICAL MEMORY
E0----CLB4 - INT E0 R - REAL/32 - "MP_FREE" - DEALLOCATE PHYSICAL MEMORY
E0----CLB5 - INT E0 R - REAL/32 - "MP_MAP" - MAP PHYSICAL MEMORY
E0----CLB6 - INT E0 - REAL/32 - "Q_NCREAD" - CONDITIONALLY NONDESTRUCTIVELY READ QUEUE
E0----CLB7 - INT E0 - REAL/32 - "DEV_TWAITFLAG" - TIMED WAIT ON SYSTEM FLAG
E0----CLB8 - INT E0 - REAL/32 - "DEV_MAP" - GET/SET SERIAL/PARALLEL PORT MAPPINGS
E0----CLB9 - INT E0 - REAL/32 - "L_TIMEOUT" - SET LIST DEVICE TIMEOUT
E0----CLBA - INT E0 - REAL/32 - "A_TIMEOUT" - SET AUX DEVICE TIMEOUT
E0----CLBD - INT E0 - DR Multiuser DOS - "P_DELAY" - DELAY EXECUTION
E00000 - INT E0 - PCROBOTS v1.41 - "SWAPTASK" - END CURRENT ROBOT'S TURN
E00001 - INT E0 - PCROBOTS v1.41 - "MOVEMENT" - START MOVING
E00002 - INT E0 - PCROBOTS v1.41 - "SCAN" - SCAN FOR OTHER ROBOTS IN THE GIVEN DIRECTION
E00003 - INT E0 - PCROBOTS v1.41 - "SHOOT" - FIRE A SHELL AT ANOTHER ROBOT
E00010 - INT E0 - PCROBOTS v1.41 - "GETXY" - GET ROBOT'S CURRENT POSITION
E00011 - INT E0 - PCROBOTS v1.41 - "TRANSMIT" - SEND DATA TO ANOTHER ROBOT
E00012 - INT E0 - PCROBOTS v1.41 - "RECEIVE" - GET DATA FROM OTHER ROBOTS
E00013 - INT E0 - PCROBOTS v1.41 - "DAMAGE" - DETERMINE HOW MUCH DAMAGE SUSTAINED
E00014 - INT E0 - PCROBOTS v1.41 - "SPEED" - DETERMINE HOW FAST ROBOT IS MOVING
E00015 - INT E0 - PCROBOTS v1.41 - "BATTERY" - DETERMINE HOW MUCH BATTERY POWER LEFT
E00016 - INT E0 - PCROBOTS v1.41 - "TICKS" - DETERMINE HOW LONG SINCE GAME STARTED
E00017 - INT E0 - PCROBOTS v1.41 - "L_SIN" - GET SCALED SINE OF AN ANGLE
E00018 - INT E0 - PCROBOTS v1.41 - "L_COS" - GET SCALED COSINE OF AN ANGLE
E00019 - INT E0 - PCROBOTS v1.41 - "L_TAN" - GET SCALED TANGENT OF AN ANGLE
E0001A - INT E0 - PCROBOTS v1.41 - "L_ATAN" - GET ANGLE GIVEN SCALED TANGENT
E0001B - INT E0 - PCROBOTS v1.41 - "SQRT" - DETERMINE SQUARE ROOT OF A NUMBER
E0001C - INT E0 - PCROBOTS v1.41 - "SET_PATTERN" - SPECIFY ROBOT'S DISPLAY IMAGE
E0001D - INT E0 - PCROBOTS v1.41 - "DEBUG_FLAG" - SET/CLEAR MARKERS NEXT TO ROBOT'S NAME
E0001E - INT E0 - PCROBOTS v1.41 - "BUY_ARMOUR" - BUY OR SELL ARMOR FOR ROBOT
E0001F - INT E0 - PCROBOTS v1.41 - "BUY_SHELLS" - BUY ADDITIONAL CANNON SHELLS
E00020 - INT E0 - PCROBOTS v1.41 - "SHELLS LEFT" - DETERMINE HOW MANY SHELLS ROBOT HAS
E00021 - INT E0 - PCROBOTS v1.41 - "GET LOCAL MAP"
E00022 - INT E0 - PCROBOTS v1.41 - "INVISIBILITY" - CONTROL ROBOT'S INVISIBILITY DEVICE
E00023 - INT E0 - PCROBOTS v1.41 - "GET_SHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
E00024 - INT E0 - PCROBOTS v1.41 - "IS_INVISIBLE" - DETERMINE WHETHER ROBOT IS INVISIBLE
E00025 - INT E0 - PCROBOTS v1.41 - "L_ATAN2" - GET ARCTANGENT
E00026 - INT E0 - PCROBOTS v1.41 - "GET_ROBOT_ID" - DETERMINE CURRENT ROBOT'S IDENTIFIER
E00027 - INT E0 - PCROBOTS v1.41 - "REGISTER_IFF" - REGISTER FRIEND/FOE IDENT STRING
E00028 - INT E0 - PCROBOTS v1.41 - "CHECK_IFF" - QUERY FRIEND/FOE IDENTIFICATION STRING
E00029 - INT E0 - PCROBOTS v1.41 - "REGISTER_NAME" - SPECIFY ROBOT'S NAME
E0002A - INT E0 - PCROBOTS v1.41 - "FIND_NAME" - SEARCH FOR ROBOT WITH GIVEN NAME
E0002B - INT E0 - PCROBOTS v1.41 - "GET_TEAM_ID" - DETERMINE TEAM MEMBERSHIP OF ROBOT
E0002C - INT E0 - PCROBOTS v1.41 - "GET_ASHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
E0002D - INT E0 - PCROBOTS v1.41 - "REGISTER_X" - SELECT AUTOMATIC X POSITION UPDATES
E0002E - INT E0 - PCROBOTS v1.41 - "REGISTER_Y" - SELECT AUTOMATIC Y POSITION UPDATES
E00080 - INT E0 - PCROBOTS v1.41 - "CONFIGURE" - CUSTOMIZE ROBOT
E1 - INT E1 - IBM ROM BASIC - used while in interpreter
E1 - INT E1 - PC Cluster Disk Server Information (NOT A VECTOR!)
E1 - INT E1 - MP/M-86, - ALTERNATE CP/M-86 FUNCTION CALLS
E1 - INT E1 - DeskMate (Tandy) - TASK DATA SEGMENTS (NOT A VECTOR!)
E2 - INT E2 - IBM ROM BASIC - used while in interpreter
E2 - INT E2 - PC Cluster Program - RELOCATED INT 1C
E3 - INT E3 - IBM ROM BASIC - used while in interpreter
E40005 - INT E4 - Logitech Modula v2.0 - MonitorEntry
E40006 - INT E4 - Logitech Modula v2.0 - MonitorExit
E4 - INT E4 - IBM ROM BASIC - used while in interpreter
E4 - INT E4 - DIGITAL RESEARCH - FLAG INTERRUPT
E5 - INT E5 - IBM ROM BASIC - used while in interpreter
E5 - INT E5 - DIGITAL RESEARCH - FIDDS INTERRUPT
E6 - INT E6 - IBM ROM BASIC - used while in interpreter
E6 - INT E6 C - CP/M-86 v1.1 - XIOS INTERRUPT / UNKNOWN DISK DRIVE
E600 - INT E6 - Linux DOSEMU - INSTALLATION CHECK
E601 - INT E6 - Linux DOSEMU - REGISTER DUMP
E602 - INT E6 - Linux DOSEMU - SET I/O PORT PERMISSIONS
E605 - INT E6 - Linux DOSEMU - STARTUP BANNER
E612 - INT E6 - Linux DOSEMU - SET "HOGTHRESHOLD"
E622 - INT E6 - Linux DOSEMU - GET EMS STATUS
E630 - INT E6 - Linux DOSEMU - SET BOOTDISK FLAG
E650 - INT E6 - Linux DOSEMU - EXECUTE UNIX COMMAND
E651 - INT E6 - Linux DOSEMU - EXECUTE DOS COMMAND FROM UNIX
E680 - INT E6 - Linux DOSEMU - GET CURRENT UNIX DIRECTORY
E681 - INT E6 - Linux DOSEMU - CHANGE CURRENT UNIX DIRECTORY
E6FF - INT E6 - Linux DOSEMU - TERMINATE
E7 - INT E7 - IBM ROM BASIC - used while in interpreter
E8 - INT E8 - IBM ROM BASIC - used while in interpreter
E9 - INT E9 - IBM ROM BASIC - used while in interpreter
EA - INT EA - IBM ROM BASIC - used while in interpreter
EB - INT EB - IBM ROM BASIC - used while in interpreter
EC - INT EC - IBM ROM BASIC - used while in interpreter
EC - INT EC - used by Alloy NTNX
EC - INT EC - Exact - RUNTIME INTERFACE MULTIPLEXOR
ED - INT ED - IBM ROM BASIC - used while in interpreter
EE - INT EE - IBM ROM BASIC - used while in interpreter
EF - INT EF - BASIC - ORIGINAL INT 09 VECTOR
EF----CX00C8 - INT EF - GEM - AES INTERFACE
EF----CX00C9 - INT EF - GEM - AES INTERFACE
EF----CX0473 - INT EF - GEM - VDI INTERFACE
F0 - INT F0 - BASICA.COM, GWBASIC, compiled BASIC - ORIGINAL INT 08 VECTOR
F1 - INT F1 - reserved for user interrupt
F1 - INT F1 - SPEECH.COM - CONVERT TEXT STRING TO SPEECH
F1 - INT F1 - Andy C. McGuire SPEECH.COM/SAY.COM
F1 - INT F1 - AQUEDUCT, PIPELINE - GET DATA AREA ADDRESS
F1 - INT F1 - NetWare Remote Boot - INSTALLATION CHECK (NOT A VECTOR!)
F1 - INT F1 - VIRUS - "Violetta" - ???
F101 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-REGISTER" - INITIALIZE CAPI
F1--01 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_REGISTER" - INITIALIZE CAPI
F102 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-RELEASE" - UNREGISTER FROM CAPI
F1--02 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_RELEASE" - UNREGISTER FROM CAPI
F103 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-PUT-MESSAGE"
F1--03 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_PUT_MESSAGE"
F104 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MESSAGE"
F1--04 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MESSAGE"
F105 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-SET-SIGNAL" - SIGNAL HANDLING
F1--05 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_SET_SIGNAL" - SIGNAL HANDLING
F106 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-DEINSTALL" - UNINSTALL
F1F0 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MANUFACTURER"
F1--F0 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MANUFACTURER"
F1F1 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-VERSION"
F1--F1 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_VERSION"
F1F2 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-SERIAL-NUMBER"
F1--F2 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_SERIAL_NUMBER"
F1--F3 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_PROFILE" - GET CAPABILITIES
F1FF - INT F1 - Common ISDN API (CAPI) v1.1 - "API-MANUFACTURER" - VENDOR-SPECIFIC
F1--FF - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_MANUFACTURER" - VENDOR-SPECIFIC
F2 - INT F2 - reserved for user interrupt
F2 - INT F2 - Andy C. McGuire SPEECH.COM/SAY.COM
F2 - INT F2 - NetWare Remote Boot - ORIGINAL INT 13
F2 - INT F2 - ICCTSR 1.0 - ImageCapture COLOR Developer's Kit - API
F3 - INT F3 - reserved for user interrupt
F3 - INT F3 - SoundBlaster - POINTER TO ECHO VALUE
F3 - INT F3 - ICCTSR 1.0 - HANDSHAKE ID VECTOR
F3 - INT F3 - NetWare Remote Boot - BOOT ROM'S INT 13 HANDLER
F4 - INT F4 - reserved for user interrupt
F4 - INT F4 - DoubleDOS - GIVE UP REST OF CURRENT CLOCK TICK AND ALL OF NEXT TICK
F4 - INT F4 - NetWare Remote Boot - ???
F5 - INT F5 - reserved for user interrupt
F5 - INT F5 - DoubleDOS - ???
F6 - INT F6 - reserved for user interrupt
F6 - INT F6 - DoubleDOS - ???
F7 - INT F7 - reserved for user interrupt
F7 - INT F7 - DoubleDOS - ???
F700 - INT F7 - FSBBS 2.0 - CONFIGURATION RECORD
F701 - INT F7 - FSBBS 2.0 - USER RECORD
F702 - INT F7 - FSBBS 2.0 - GET ACCOUNT NAME
F703 - INT F7 - FSBBS 2.0 - TERMINAL NUMBER
F704 - INT F7 - FSBBS 2.0 - PASSDATA BUFFER
F705 - INT F7 - FSBBS 2.0 - TIMER FUNCTIONS
F706 - INT F7 - FSBBS 2.0 - FUNCTION AVAILABILITY
F707 - INT F7 - FSBBS 2.0 - DUMP FUNCTIONS
F8 - INT F8 - reserved for user interrupt
F8 - INT F8 - Sanyo MBC-550/555 - IRQ0 - 100 HZ INTERRUPT
F8 - INT F8 - DoubleDOS - ???
F9 - INT F9 - reserved for user interrupt
F9 - INT F9 - DoubleDOS - ???
F9 - INT F9 - Sanyo MBC-550/555 - IRQ1 - ???
FA - INT FA - reserved for user interrupt
FA - INT FA - Sanyo MBC-550/555 - IRQ2 - SERIAL PORT USART INTERRUPT
FA - INT FA - DoubleDOS - TURN OFF TIMESHARING
FA - INT FA P - ASM Edit - INSTALLATION CHECK
FB - INT FB - reserved for user interrupt
FB - INT FB - Sanyo MBC-550/555 - IRQ3 - KEYBOARD USART RECEIVE INTERRUPT
FB - INT FB - DoubleDOS - TURN ON TIMESHARING
FC - INT FC - reserved for user interrupt
FC - INT FC - DoubleDOS - GET CURRENT SCREEN BUFFER ADDRESS
FC - INT FC - Sanyo MBC-550/555 - IRQ4 - PRINTER READY INTERRUPT
FD - INT FD - reserved for user interrupt
FD - INT FD - DoubleDOS - ???
FD - INT FD - Sanyo MBC-550/555 - IRQ5 - FLOPPY DISK CONTROLLER
FD - INT FD - TFPCX - INSTALLATION CHECK
FD01 - INT FD - TFPCX - TEST FOR CHARACTER WAITING
FD02 - INT FD - TFPCX - GET CHARACTER
FD03 - INT FD - TFPCX - OUTPUT CHARACTER
FDFE - INT FD - TFPCX - GET VERSION
FE - INT FE - AT/XT286/PS50+ - destroyed by return from protected mode
FE - INT FE - DoubleDOS - GIVE UP TIME
FE - INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER
FE - INT FE - Sanyo MBC-550/555 - IRQ6 - 8087 COPROCESSOR INTERRUPT
FF - INT FF - AT/XT286/PS50+ - destroyed by return from protected mode
FF - INT FF - Z100 - WARM BOOT
FF - INT FF - Sanyo MBC-550/555 - IRQ7 - USER INTERRUPT FOR EXTERNAL INTERRUPT
FF - INT FF U - QEMM-386.SYS v6.0+ - internal
FF - INT FF - VIRUS - "Violetta" - ???
FF----BX0000 - INT FF - PC/FORTH - GRAPHICS API - VIDEO STATUS CHANGE
FF - INT FF - PC/FORTH - GRAPHICS API
Admin - Highest Table Number = 04122
FILELIST - Please redistribute all of the files comprising the interrupt list (listed at
CONTACT_INFO - E-mail: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
Top

Table of Contents by Category

! - document info
* - reserved (and not otherwise classified)
- - uncategorized
A - applications
B - BIOS
C - CPU-generated
D - DOS kernel
E - DOS extenders
F - FAX,
G - debuggers/debugging tools
H - hardware
I - IBM workstation/terminal emulators
J - Japanese
K - keyboard enhancers
M - mouse/pointing device
N - network
O - other operating systems,
P - printer enhancements
Q - DESQview/TopView and Quarterdeck programs,
R - remote control/file access
S - serial I/O
T - DOS-based task switchers/multitaskers
U - resident utilities
V - video
W - MS Windows,
X - expansion bus BIOSes
a - access software (screen readers, etc)
b - vendor-specific BIOS extensions,
c - caches/spoolers,
d - disk I/O enhancements,
e - electronic mail
f - file manipulation
g - games,
h - vendor-specific hardware,
i - system info/monitoring,
j - joke programs,
k - file/disk compression,
l - shells/command interpreters,
m - memory management,
n - non-traditional input devices,
p - power management,
r - runtime support,
s - sound/speech,
t - TSR libraries
u - emulators,
v - virus/antivirus,
x - non-volatile config storage
y - security

! - document info

FILELIST - Please redistribute the following files unmodified as a group, in a quartet of
CONTACT_INFO - If you notice any mistakes or omissions, please let me know! It is only with
Note - See INTERRUP.1ST for the key to system abbreviations and a list of the
DISCLAIMER - DISCLAIMER: THIS MATERIAL IS PROVIDED "AS IS". I verify the information
FLAGS - The use of -> instead of = signifies that the indicated register or register
CATEGORIES - The ninth column of the divider line preceding an entry usually contains a
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Section -
Admin - Highest Table Number = 04122
FILELIST - Please redistribute all of the files comprising the interrupt list (listed at
CONTACT_INFO - E-mail: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
Top

* - reserved (and not otherwise classified)

09 - INT 09 P - internal hardware - RESERVED BY Intel (80486)
2FFB - INT 2F - Multiplex - RESERVED BY BORLAND INTERNATIONAL
60 - INT 60 - reserved for user interrupt
61 - INT 61 - reserved for user interrupt
62 - INT 62 - reserved for user interrupt
63 - INT 63 - reserved for user interrupt
64 - INT 64 - reserved for user interrupt
65 - INT 65 - reserved for user interrupt
66 - INT 66 - reserved for user interrupt
7E - INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
F1 - INT F1 - reserved for user interrupt
F2 - INT F2 - reserved for user interrupt
F3 - INT F3 - reserved for user interrupt
F4 - INT F4 - reserved for user interrupt
F5 - INT F5 - reserved for user interrupt
F6 - INT F6 - reserved for user interrupt
F7 - INT F7 - reserved for user interrupt
F8 - INT F8 - reserved for user interrupt
F9 - INT F9 - reserved for user interrupt
FA - INT FA - reserved for user interrupt
FB - INT FB - reserved for user interrupt
FC - INT FC - reserved for user interrupt
FD - INT FD - reserved for user interrupt
Top

- - uncategorized

104F14 - INT 10 - VESA OEM Extensions - API
104F14 - INT 10 - VESA OEM Extensions - Matrox Millenium (BIOS v2.1)
1053 - INT 10 - Show Partner F/X v3.6 - START PRESENTATION
1055 - INT 10 - Show Partner F/X v3.6 - UNINSTALL
105555BXAAAA - INT 10 - LIR - SET CONFIGURATION
105555BXBBBB - INT 10 - LIR - GET CONFIGURATION
1086 - INT 10 - ???
10A001 - INT 10 - ATI Mach64 BIOS - ???
10A002 - INT 10 - ATI Mach64 BIOS - ???
10A003 - INT 10 - ATI Mach64 BIOS - ???
10A004 - INT 10 - ATI Mach64 BIOS - ???
10A005 - INT 10 - ATI Mach64 BIOS - ???
10A006 - INT 10 - ATI Mach64 BIOS - ???
10A007 - INT 10 - ATI Mach64 BIOS - GET ???
10A008 - INT 10 - ATI Mach64 BIOS - GET ??? SIZE
10A009 - INT 10 - ATI Mach64 BIOS - GET ???
10A00A - INT 10 - ATI Mach64 BIOS - GET ???
10A00B - INT 10 - ATI Mach64 BIOS - ???
10A00D - INT 10 - ATI Mach64 BIOS - GET SLEEP MODE
10A00E - INT 10 - ATI Mach64 BIOS - SET ???
10A00F - INT 10 - ATI Mach64 BIOS - GET ???
10A010 - INT 10 - ATI Mach64 BIOS - ???
10A011 - INT 10 - ATI Mach64 BIOS - GET ???
1375 - INT 13 - ???
1376 - INT 13 - ???
13BF00 - INT 13 - Mylex/Adaptec??? - ???
13FF - INT 13 - EZ-Drive - INSTALLATION CHECK
1405 - INT 14 - PhysTechSoft PTS ROM-DOS - SET PACKET
1406 - INT 14 - PhysTechSoft PTS ROM-DOS - GET PACKET
1483 - INT 14 - SYSTEM FOSSIL
14AD - INT 14 - IBM SurePath BIOS - Officially "Private" Function
14AE - INT 14 - IBM SurePath BIOS - Officially "Private" Function
14AF - INT 14 - IBM SurePath BIOS - Officially "Private" Function
1507 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
1509 - INT 15 - IBM BIOS - RESERVED FOR PCMCIA SYSTEM RESOURCE TABLE ACCESS
153D - INT 15 - IBM SurePath BIOS - Officially "Private" Function
153E - INT 15 - IBM SurePath BIOS - Officially "Private" Function
153F - INT 15 - IBM SurePath BIOS - Officially "Private" Function
154E - INT 15 - IBM SurePath BIOS - Officially "Private" Function
1554 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
156700BXFFFF - INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - INSTALLATION CHECK
- INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - HGC & HGC/RAMFont support???
157002 - INT 15 U - Tandy 1000 Model ??? - GET ROM PAGE
157003 - INT 15 U - Tandy 1000 Model ??? - SET ROM PAGE
1584--DX0002 - INT 15 - AMIGATSR - INSTALLATION CHECK
1584--DX0002 - INT 15 - MULTIJOY - INSTALLATION CHECK
1584--DX0003 - INT 15 - MULTIJOY - GET ACTIVE JOYSTICK
1584--DX0004 - INT 15 - MULTIJOY - SELECT JOYSTICK
15B001CX5354 - INT 15 - Stac STACKER - INSTALLATION CHECK
15D042BL00 - INT 15 R - Intel Pentium Pro BIOS UPDATE - INSTALLATION CHECK
15D042BL01 - INT 15 R - Intel Pentium Pro BIOS UPDATE - WRITE BIOS UPDATE AREA
15D042BL02 - INT 15 R - Intel Pentium Pro BIOS UPDATE - BIOS UPDATE CONTROL
15D042BL03 - INT 15 R - Intel Pentium Pro BIOS UPDATE - READ BIOS UPDATE AREA
15D824 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15D825 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15D826 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15DA - INT 15 U - AMI PCI BIOS v1.00.05.AX1 - ???
15DA05 - INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
15DA08 - INT 15 U - AMI PCI BIOS - ???
15DA12 - INT 15 U - AMI PCI BIOS - v1.00.05.AX1 - ???
15DA14 - INT 15 U - AMI PCI BIOS - GET/SET ???
15DA15 - INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
15DA19 - INT 15 U - AMI PCI BIOS - GET/SET ???
15DA88 - INT 15 U - AMI PCI BIOS - GET EXTENDED MEMORY SIZE
15DA8C - INT 15 U - AMI PCI BIOS - GET BIOS AND CHIPSET IDENTIFICATION
15DA8E - INT 15 U - AMI PCI BIOS - ???
15DA92 - INT 15 U - AMI PCI BIOS - GET CPU TYPE AND SPEED
15DA99 - INT 15 U - AMI PCI BIOS - GET/SET ??? FLAG
15E900 - INT 15 - PhysTechSoft PTS ROM-DOS - RESET WATCHDOG TIMER
15E901 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE DIAGNOSTIC CONTROL POINT CODE
15E902 - INT 15 - PhysTechSoft PTS ROM-DOS - SET DIAGNOSTIC DOS ERROR FLAG
15E903 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-ENABLE FLASH-DISK
15E904 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-PROTECT FLASH-DISK
15E905 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE IMAGE OF BIOS TO FLASH-MEMORY
15E906 - INT 15 - PhysTechSoft PTS ROM-DOS - READ SETUP INFORMATION FROM FLASH-DISK
15E907 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE SETUP INFORMATION ON FLASH-DISK
15E908 - INT 15 - PhysTechSoft PTS ROM-DOS - SET BREAKPOINT
15E909 - INT 15 - PhysTechSoft PTS ROM-DOS - REMOVE BREAKPOINT
160600 - INT 16 - AAKEYS - GET NEXT KEYBOARD EVENT
160601 - INT 16 - AAKEYS - EMPTY KEY-EVENT BUFFER
160602 - INT 16 - AAKEYS - DISABLE AAKEYS
160603 - INT 16 - AAKEYS - GET KEY-EVENT BUFFER
160604 - INT 16 - AAKEYS - EMPTY BIOS KEYBOARD BUFFER
1667 - INT 16 - Doorway v2.x+ - INSTALLATION CHECK / REDIRECTION CONTROLa
16FF--BH00 - INT 16 - FREEZE.COM - INSTALLATION CHECK
16FF9D - INT 16 U - PC Tools v8+ CPTASK, VSAFE - ???
1703 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
1704 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
1705 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170B - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170C - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170D - INT 17 - IBM SurePath BIOS - Officially "Private" Function
170E - INT 17 - IBM SurePath BIOS - Officially "Private" Function
1780 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
1A04--CX4555 - INT 1A - CheckIt Year 2000 Fix v2.06 - INSTALLATION CHECK
20----Vx3048 - INT 20 P - Frontier Technologies ??? - VxD SERVICES
20----Vx3049 - INT 20 P - Frontier Technologies ??? - VxD SERVICES
2130FFCX4445 - INT 21 - DESQ??? - INSTALLATION CHECK
2137A6BX6A6D - INT 21 - XPACK v1.65 - GET TEMPORARY DIRECTORY NAME
2137A7BX6A6D - INT 21 - XPACK v1.65 - SET TEMPORARY DIRECTORY NAME
213F - INT 21 U - IFSHLP.SYS - GET ENTRY POINT
214402 - INT 21 U - IFSHLP.SYS - GET ENTRY POINT
214402 - INT 21 - DRFAT32.SYS device driver - IOCTL INPUT
214403 - INT 21 - DR DOS $IDLE$ - IOCTL - DYNAMIC IDLE DETECTION CONTROL
214405 - INT 21 U - SUPERSTOR - IOCTL - INSTALL CHECK
214B18DX0010 - INT 21 U - FBOOT v2.13 - PERFORM FAST BOOTSTRAP
215758 - INT 21 U - Headroom - API
216500 - INT 21 - Windows95 (OSR2) - SET GENERAL INTERNATIONALIZATION INFO
217070BX6060 - INT 21 - PCW Weather Card interface - GET DATA SEGMENT
217070BX7070 - INT 21 - PCW Weather Card interface - INSTALLATION CHECK
218080 - INT 21 - PCW Weather Card interface - UNINSTALL PCW.COM AND FREE MEMORY
2190--CXFFFF - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK READ
2191--CXFFFF - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK WRITE
2F - INT 2F - Multiplex - NOTES
2F1230 - INT 2F U - Windows95 - FIND SFT ENTRY IN INTERNAL FILE TABLES
2F1231 - INT 2F U - Windows95 - SET/CLEAR "REPORT WINDOWS TO DOS PROGRAMS" FLAG
2F1400BX0EDC - INT 2Fh - DR-DOS NLSFUNC 4.01+ - ENHANCED INSTALLATION CHECK
2F1615 - INT 2F - Windows95 - SAVE32.COM - INSTALLATION CHECK
2F1684BX377B - INT 2F - MS Windows - MX1501HAD - GET API ENTRY POINT
2F18 - INT 2F U - MS-Manager
2F1980 - INT 2F U - IBM ROM-DOS v4.0 - INSTALLATION CHECK
2F1981 - INT 2F U - IBM ROM-DOS v4.0 - GET ??? STRING
2F1982 - INT 2F U - IBM ROM-DOS v4.0 - GET ??? TABLE
2F43D6 - INT 2F - Multiplex - ???
2F4653CX0007 - INT 2F - F-PROT v2.x - VIRSTOP - ENABLE/DISABLE BOOTSECTOR READ CHECKING
2F4653CX0008 - INT 2F - F-PROT v2.x - ???
2F4653CX0008 - INT 2F - F-PROT v2.x - VIRSTOP - INSTALLATION CHECK
2F47 - INT 2F U - ???
2F49 - INT 2F U - DOS 5.0+ SETUP
2F4A15BX0000 - INT 2F - MS EMM386.EXE v4.46+ - INSTALL I/O VIRTUALIZATION HANDLER
2F4D - INT 2F U - KKCFUNC
2F7F24 - INT 2F - Multiplex - ???
2F7F26 - INT 2F - Multiplex - ???
2F86 - INT 2F U - ???
2F97 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2F98 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2F99 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2F9A - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
2FAB00 - INT 2F - SRSoft MODAL PC v2+ - INSTALLATION CHECK / GET VERSION
2FAB01 - INT 2F - SRSoft MODAL PC v2+ - GET PROCESS RUN PARAMETER
2FAB02 - INT 2F - SRSoft MODAL PC v2+ - SET PROCESS EXIT CODE
2FAB03 - INT 2F - SRSoft MODAL PC v2+ - ALLOCATE COMMON MEMORY
2FAB04 - INT 2F - SRSoft MODAL PC v2+ - GET ALL COMMON VARIABLES AND SEMAPHORES
2FAB05 - INT 2F - SRSoft MODAL PC v2+ - SET ALL COMMON VARIABLES AND SEMAPHORES
2FAB06 - INT 2F - SRSoft MODAL PC v2+ - GET A COMMON VARIABLE OR SEMAPHORE
2FAB07 - INT 2F - SRSoft MODAL PC v2+ - SET A COMMON VARIABLE OR SEMAPHORE
2FADC1 - INT 2F U - DOS 4.0+ SELECT - DISPLAY FORMAT DISK PROMPT
2FAF00 - INT 2F U - ???
2FAF02 - INT 2F U - ???
2FAF03 - INT 2F U - ???
2FAF04 - INT 2F U - ???
2FAF05 - INT 2F U - ???
2FAF12 - INT 2F U - ???
2FAF13 - INT 2F U - ???
2FAF30 - INT 2F U - ???
2FBB00BX0000 - INT 2F - CATC USB4DOS Host Controller - INSTALLATION CHECK
2FBB00BX0001 - INT 2F - CATC USB4DOS Host Controller - GET ???
2FBB00BX0002 - INT 2F - CATC USB4DOS Host Controller - EXECUTE USB REQUEST
2FBB00BX0003 - INT 2F - CATC USB4DOS Host Controller - ??? (POLLS VARIOUS I/O PORTS)
2FBB00 - INT 2F - CATC USB4DOS Host Controller - INVALID FUNCTION
2FBC00BL00 - INT 2F - CATC USB4DOS Device Manager - INSTALLATION CHECK
2FBC00BL01 - INT 2F - CATC USB4DOS Device Manager - REGISTER DEVICE
2FBC00BL02 - INT 2F - CATC USB4DOS Device Manager - UNLOAD DEVICE
2FBC00BL03 - INT 2F - CATC USB4DOS Device Manager - HUB DEVICE ATTACHED
2FBC00BL04 - INT 2F - CATC USB4DOS Device Manager - HUB DEVICE DETACHED
2FDD - INT 2F - MIXFIX.EXE - API
2FE700BX4158 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
2FFA00 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
2FFA00 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
326E04 - INT 32 - NOISE.SYS v0.55+ - GET INTERRUPT HOOK LIST
326E06 - INT 32 - NOISE.SYS v0.55+ - GET DEVICE DRIVER HEADER
326E18 - INT 32 - NOISE.SYS v0.6+ - READ CONTROL RECORD
326E - INT 32 - NOISE.SYS - RESERVED FOR FUTURE USE
478000 - INT 47 - SQL Base - DATABASE ENGINE API
478001 - INT 47 - SQL Base - GET VERSION NUMBER
50 - INT 50 - TI Professional PC - FATAL SOFTWARE ERROR TRAP
51 - INT 51 - TI Professional PC - RESTART TIMING EVENT
52 - INT 52 - TI Professional PC - CANCEL TIMING EVENT
53 - INT 53 - TI Professional PC - SVC INTERFACE
54 - INT 54 - TI Professional PC - ACTIVATE TASK SUBROUTINE
60899B - INT 60 U - Agfa TTSR.EXE - API
62 - INT 62 - MS SQL Server/Sybase DBLIBRARY interface - ???
62 - INT 62 - MPAUSE - ???
62 - INT 62 - PC-DRAFT - PRIMARY DISPLAY DRIVER
6208--CXFFFE - INT 62 - MS SQL Server/Sybase DBLIBRARY interface - UNINSTALL/GET PSP ADDR
63 - INT 63 - Oracle SQL Protected Mode Executive - ???
63 - INT 63 - Kofax KF9X00 image manipulation card interface
64 - INT 64 - Oracle SQL Protected Mode Executive - ???
64 - INT 64 - PC-DRAFT - ASYNCHRONOUS DRIVER
65 - INT 65 - PC-DRAFT - SECONDARY DISPLAY DRIVER
66 - INT 66 - PC-DRAFT - TABLET/DIGITIZER DRIVER
67 - INT 67 - PC-DRAFT - KEYBOARD DRIVER
684300 - INT 68 U - ??? - INSTALLATION CHECK???
684400 - INT 68 U - ???
6B6B - INT 6B - Tandy SCHOOLMATE PLUS - API
6C - INT 6C - system resume vector (CONVERTIBLE)
6C - INT 6C - DOS 3.2 Realtime Clock update
7A07D0 - INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
7A7A - INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
7B - INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
7D - INT 7D - IBM DOS 6.1 E.EXE - ???
7F - INT 7F - Canon IXHND2 Scanner Interface
80 - INT 80 - Q-PRO4 - ???
88 - INT 88h - WANG PC - GET CONFIGURATION
E0 - INT E0 - DeskMate (Tandy) - DESK EXECUTIVE API
E1 - INT E1 - DeskMate (Tandy) - TASK DATA SEGMENTS (NOT A VECTOR!)
E4 - INT E4 - DIGITAL RESEARCH - FLAG INTERRUPT
E5 - INT E5 - DIGITAL RESEARCH - FIDDS INTERRUPT
F101 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-REGISTER" - INITIALIZE CAPI
F1--01 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_REGISTER" - INITIALIZE CAPI
F102 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-RELEASE" - UNREGISTER FROM CAPI
F1--02 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_RELEASE" - UNREGISTER FROM CAPI
F103 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-PUT-MESSAGE"
F1--03 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_PUT_MESSAGE"
F104 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MESSAGE"
F1--04 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MESSAGE"
F105 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-SET-SIGNAL" - SIGNAL HANDLING
F1--05 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_SET_SIGNAL" - SIGNAL HANDLING
F106 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-DEINSTALL" - UNINSTALL
F1F0 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MANUFACTURER"
F1--F0 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MANUFACTURER"
F1F1 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-VERSION"
F1--F1 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_VERSION"
F1F2 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-SERIAL-NUMBER"
F1--F2 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_SERIAL_NUMBER"
F1--F3 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_PROFILE" - GET CAPABILITIES
F1FF - INT F1 - Common ISDN API (CAPI) v1.1 - "API-MANUFACTURER" - VENDOR-SPECIFIC
F1--FF - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_MANUFACTURER" - VENDOR-SPECIFIC
F2 - INT F2 - ICCTSR 1.0 - ImageCapture COLOR Developer's Kit - API
F3 - INT F3 - ICCTSR 1.0 - HANDSHAKE ID VECTOR
F700 - INT F7 - FSBBS 2.0 - CONFIGURATION RECORD
F701 - INT F7 - FSBBS 2.0 - USER RECORD
F702 - INT F7 - FSBBS 2.0 - GET ACCOUNT NAME
F703 - INT F7 - FSBBS 2.0 - TERMINAL NUMBER
F704 - INT F7 - FSBBS 2.0 - PASSDATA BUFFER
F705 - INT F7 - FSBBS 2.0 - TIMER FUNCTIONS
F706 - INT F7 - FSBBS 2.0 - FUNCTION AVAILABILITY
F707 - INT F7 - FSBBS 2.0 - DUMP FUNCTIONS
FA - INT FA P - ASM Edit - INSTALLATION CHECK
Top

A - applications

1080 - INT 10 - CU Writer v1.4 - GET OPTION
1081 - INT 10 - CU Writer v1.4 - SET OPTION
10A0 - INT 10 - CU Writer v1.4 - SET PIXEL WRITE MODE
10B0 - INT 10 - CU Writer v1.4 - PUT PIXEL
10B1 - INT 10 - CU Writer v1.4 - MOVE TO
10B2 - INT 10 - CU Writer v1.4 - DRAW LINE TO
10B3 - INT 10 - CU Writer v1.4 - FLOOD FILL
10B4 - INT 10 - CU Writer v1.4 - DRAW RECTANGLE
10B5 - INT 10 - CU Writer v1.4 - DRAW FILLED RECTANGLE
10C0 - INT 10 - CU Writer v1.4 - GO TO TEXT ROW AND COLUMN
10C1 - INT 10 - CU Writer v1.4 - OUTPUT TEXT
10C2 - INT 10 - CU Writer v1.4 - REVERSE TEXT
10C3 - INT 10 - CU Writer v1.4 - TEXT BAR
10C4 - INT 10 - CU Writer v1.4 - TEXT MENU
10D0 - INT 10 - CU Writer v1.4 - LOAD PICTURE
165500 - INT 16 C - Microsoft Word internal - MICROSOFT WORD COOPERATION WITH TSR
1655FE - INT 16 CU - Microsoft QBASIC internal - MICROSOFT COOPERATION WITH TSR
1A3601 - INT 1A - WORD PERFECT v5.0 Third Party Interface - INSTALLATION CHECK
6F636FBX6D70 - INT 6F - Clara Empricost - TSR Version - INSTALLATION CHECK
6F636FBX6D70 - INT 6F - Clara Empricost - TSR Version - UNINSTALL
78 - INT 78 R - AutoCAD Device Interface - PLOTTER - SEND COMMAND
790001 - INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
790002 - INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
790003 - INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
7A0001 - INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
7A0200BX0000 - INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
7B - INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
7B8001 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
7B8002 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
7B8003 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
7C - INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
Top

B - BIOS

05 - INT 05 - PRINT SCREEN
11 - INT 11 - BIOS - GET EQUIPMENT LIST
12 - INT 12 - BIOS - GET MEMORY SIZE
1300 - INT 13 - DISK - RESET DISK SYSTEM
1301 - INT 13 - DISK - GET STATUS OF LAST OPERATION
1302 - INT 13 - DISK - READ SECTOR(S) INTO MEMORY
1303 - INT 13 - DISK - WRITE DISK SECTOR(S)
1304 - INT 13 - DISK - VERIFY DISK SECTOR(S)
1305 - INT 13 - FLOPPY - FORMAT TRACK
1305 - INT 13 - FIXED DISK - FORMAT TRACK
1306 - INT 13 - FIXED DISK - FORMAT TRACK AND SET BAD SECTOR FLAGS (XT,PORT)
1307 - INT 13 - FIXED DISK - FORMAT DRIVE STARTING AT GIVEN TRACK (XT,PORT)
1308 - INT 13 - DISK - GET DRIVE PARAMETERS (PC,XT286,CONV,PS,ESDI,SCSI)
1309 - INT 13 - HARD DISK - INITIALIZE CONTROLLER WITH DRIVE PARAMETERS (AT,PS)
130A - INT 13 - HARD DISK - READ LONG SECTOR(S) (AT and later)
130B - INT 13 - HARD DISK - WRITE LONG SECTOR(S) (AT and later)
130C - INT 13 - HARD DISK - SEEK TO CYLINDER
130D - INT 13 - HARD DISK - RESET HARD DISKS
130E - INT 13 - HARD DISK - READ SECTOR BUFFER (XT only)
130F - INT 13 - HARD DISK - WRITE SECTOR BUFFER (XT only)
1310 - INT 13 - HARD DISK - CHECK IF DRIVE READY
1311 - INT 13 - HARD DISK - RECALIBRATE DRIVE
1312 - INT 13 - HARD DISK - CONTROLLER RAM DIAGNOSTIC (XT,PS)
1313 - INT 13 - HARD DISK - DRIVE DIAGNOSTIC (XT,PS)
1314 - INT 13 - HARD DISK - CONTROLLER INTERNAL DIAGNOSTIC
1315 - INT 13 - DISK - GET DISK TYPE (XT 1986/1/10 or later,XT286,AT,PS)
1316 - INT 13 - FLOPPY DISK - DETECT DISK CHANGE (XT 1986/1/10 or later,XT286,AT,PS)
1317 - INT 13 - FLOPPY DISK - SET DISK TYPE FOR FORMAT (AT,PS)
1318 - INT 13 - DISK - SET MEDIA TYPE FOR FORMAT (AT model 3x9,XT2,XT286,PS)
1319 - INT 13 - FIXED DISK - PARK HEADS ON ESDI DRIVE (XT286,PS)
13FF - INT 13 - IBM SurePath BIOS - Officially "Private" Function
1500 - INT 15 - CASSETTE - TURN ON TAPE DRIVE'S MOTOR (PC and PCjr only)
1501 - INT 15 - CASSETTE - TURN OFF TAPE DRIVE'S MOTOR (PC and PCjr only)
1502 - INT 15 - CASSETTE - READ DATA (PC and PCjr only)
1503 - INT 15 - CASSETTE - WRITE DATA (PC and PCjr only)
1504 - INT 15 - SYSTEM - BUILD ABIOS SYSTEM PARAMETER TABLE (PS)
1505 - INT 15 - SYSTEM - BUILD ABIOS INITIALIZATION TABLE (PS)
1508 - INT 15 - IBM SurePath BIOS - WAIT REQUESTED TIME PERIOD
1521 - INT 15 - SYSTEM - POWER-ON SELF-TEST ERROR LOG (PS50+)
1522 - INT 15 - SYSTEM - later PS/2s - LOCATE ROM BASIC
152300 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ??? CMOS DATA
152301 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SET ??? CMOS DATA
152302 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ROM STARTUP VIDEO REG TABLES
152303 - INT 15 U - IBM BIOS - SMART ENERGY SYSTEM - ???
152304 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SYSTEM SETUP
152305 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET PROCESSOR SPEED
1540 - INT 15 - SYSTEM - READ/MODIFY PROFILES (CONVERTIBLE)
1541 - INT 15 - SYSTEM - WAIT ON EXTERNAL EVENT (CONVERTIBLE and some others)
1542 - INT 15 - SYSTEM - REQUEST POWER OFF (CONVERTIBLE,HP 95LX)
1543 - INT 15 - SYSTEM - READ SYSTEM STATUS (CONVERTIBLE)
1544 - INT 15 - SYSTEM - (DE)ACTIVATE INTERNAL MODEM POWER (CONVERTIBLE)
1544F1 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
1544F2BX0604 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
1544F3 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
154F - INT 15 C - KEYBOARD - KEYBOARD INTERCEPT (AT model 3x9,XT2,XT286,CONV,PS)
155101 - INT 15 - SYSTEM - later PS/2s - EXPANSION UNIT, RETURN CONFIGURATION NUMBER
1580 - INT 15 C - OS HOOK - DEVICE OPEN (AT,XT286,PS)
1581 - INT 15 C - OS HOOK - DEVICE CLOSE
1582 - INT 15 C - OS HOOK - PROGRAM TERMINATION
1583 - INT 15 - BIOS - SET EVENT WAIT INTERVAL (AT,PS50+)
1584 - INT 15 - BIOS - JOYSTICK SUPPORT (XT after 1982/11/8,AT,XT286,PS)
1585 - INT 15 C - OS HOOK - SysReq KEY ACTIVITY (AT,PS)
1586 - INT 15 - BIOS - WAIT (AT,PS)
1587 - INT 15 - SYSTEM - COPY EXTENDED MEMORY
1588 - INT 15 - SYSTEM - GET EXTENDED MEMORY SIZE (286+)
1589 - INT 15 - SYSTEM - SWITCH TO PROTECTED MODE
1590 - INT 15 - OS HOOK - DEVICE BUSY (AT,PS)
1591 - INT 15 - OS HOOK - DEVICE POST (AT,PS)
1592 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
15A0 - INT 15 - IBM SurePath BIOS - ACCESS LOADABLE-ABIOS SIGNATURE
15AB - INT 15 - IBM SurePath BIOS - Officially "Private" Function
15C0 - INT 15 - SYSTEM - GET CONFIGURATION (XT >1986/1/10,AT mdl 3x9,CONV,XT286,PS)
15C1 - INT 15 - SYSTEM - RETURN EXTENDED-BIOS DATA-AREA SEGMENT ADDRESS (PS)
15C3 - INT 15 - SYSTEM - ENABLE/DISABLE WATCHDOG TIMEOUT (PS50+)
15C4 - INT 15 - SYSTEM - PROGRAMMABLE OPTION SELECT (PS50+)
15C5 - INT 15 UC - OS HOOK - ROM BIOS TRACING CALLOUT (PS30/286,PS50Z,PS95)
15C6 - INT 15 U - later PS/2 models - GET POS DATA
15C7 - INT 15 - SYSTEM - later PS/2s - RETURN MEMORY-MAP INFORMATION
15C8 - INT 15 - SYSTEM - ENABLE/DISABLE PROCESSOR FUNCTIONS
15C9 - INT 15 - newer PS/2; various BIOSes - GET CPU TYPE AND MASK REVISION
15CA - INT 15 U - PS/2 Model 95 - READ/WRITE CMOS MEMORY
15CB - INT 15 U - PS/2 Model 95 - RESERVED
15CC - INT 15 U - PS/2 Model 95 - RESERVED
15CD - INT 15 U - PS/2 Model 95 - RESERVED
15CE--BL00 - INT 15 - later PS/2s - ALLOCATE DMA ARBITRATION LEVEL
15CF - INT 15 - later PS/2s - DEALLOCATE DMA ARBITRATION LEVEL
15D0 - INT 15 - later PS/2s - RESERVED
15D100DX0000 - INT 15 - later PS/2s - GET NUMBER OF DEVICE DESCRIPTOR TABLE (DDT) ENTRIES
15D101 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY NUMBER
15D102 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY I/O ADDRSS
15D103DX0000 - INT 15 - later PS/2s - RETURN ENTIRE DDT
15D104 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY DEVICE ID
15D2 - INT 15 - later PS/2s - RESERVED
15D3 - INT 15 - later PS/2s - RESERVED
15D4 - INT 15 - later PS/2s - GET PHYSICAL FIXED DISK DRIVE NUMBER (SELECTABLE BOOT)
15D5 - INT 15 - later PS/2s - RESERVED
15D600BL00 - INT 15 - later PS/2s - READ BOOT DEVICE ID
15D600BL01 - INT 15 - later PS/2s - WRITE BOOT DEVICE ID
15D601BL00 - INT 15 - later PS/2s - READ BOOT DEVICE KEY
15D601BL01 - INT 15 - later PS/2s - WRITE BOOT DEVICE KEY
15D602 - INT 15 - later PS/2s - QUERY BOOT REFERENCE PARTITION
1600 - INT 16 - KEYBOARD - GET KEYSTROKE
1601 - INT 16 - KEYBOARD - CHECK FOR KEYSTROKE
1602 - INT 16 - KEYBOARD - GET SHIFT FLAGS
1603 - INT 16 - KEYBOARD - SET TYPEMATIC RATE AND DELAY
1604 - INT 16 - KEYBOARD - SET KEYCLICK (PCjr only)
1605 - INT 16 - KEYBOARD - STORE KEYSTROKE IN KEYBOARD BUFFER (AT/PS w enh keybd only)
1605 - INT 16 - KEYBOARD - SELECT KEYBOARD LAYOUT (PCjr only)
1609 - INT 16 - KEYBOARD - GET KEYBOARD FUNCTIONALITY
1610 - INT 16 - KEYBOARD - GET ENHANCED KEYSTROKE (enhanced kbd support only)
1611 - INT 16 - KEYBOARD - CHECK FOR ENHANCED KEYSTROKE (enh kbd support only)
1612 - INT 16 - KEYBOARD - GET EXTENDED SHIFT STATES (enh kbd support only)
1620 - INT 16 - KEYBOARD - GET 122-KEY KEYSTROKE (122-key kbd support only)
1621 - INT 16 - KEYBOARD - CHECK FOR 122-KEY KEYSTROKE (122-key kbd support only)
1622 - INT 16 - KEYBOARD - GET 122-KEY SHIFT STATUS (122-key kbd support only)
1700 - INT 17 - PRINTER - WRITE CHARACTER
1701 - INT 17 - PRINTER - INITIALIZE PORT
1702 - INT 17 - PRINTER - GET STATUS
18 - INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
19 - INT 19 - SYSTEM - BOOTSTRAP LOADER
1A00 - INT 1A - TIME - GET SYSTEM TIME
1A01 - INT 1A - TIME - SET SYSTEM TIME
1A02 - INT 1A - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
1A03 - INT 1A - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS)
1A04 - INT 1A - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
1A05 - INT 1A - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS)
1A06 - INT 1A - TIME - SET ALARM (AT,XT286,PS)
1A07 - INT 1A - TIME - CANCEL ALARM (AT,XT286,PS)
1A08 - INT 1A - TIME - SET RTC ACTIVATED POWER ON MODE (CONVERTIBLE)
1A09 - INT 1A - TIME - READ RTC ALARM TIME AND STATUS (CONV,PS30)
1A0A - INT 1A - TIME - READ SYSTEM-TIMER DAY COUNTER (XT2,PS)
1A0B - INT 1A - TIME - SET SYSTEM-TIMER DAY COUNTER (XT2,PS)
1A0C - INT 1A - TIME - SET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
1A0D - INT 1A - TIME - RESET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
1A0E - INT 1A - TIME - GET RTC DATE/TIME ALARM AND STATUS (IBM)
1A0F - INT 1A - TIME - INITIALIZE REAL-TIME CLOCK
1B - INT 1B C - KEYBOARD - CONTROL-BREAK HANDLER
1C - INT 1C - TIME - SYSTEM TIMER TICK
1D - INT 1D - SYSTEM DATA - VIDEO PARAMETER TABLES
1E - INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
1F - INT 1F - SYSTEM DATA - 8x8 GRAPHICS FONT
40 - INT 40 - DISKETTE - ROM BIOS DISKETTE HANDLER RELOCATED BY HARD DISK BIOS
41 - INT 41 - SYSTEM DATA - HARD DISK 0 PARAMETER TABLE ADDRESS [NOT A VECTOR!]
46 - INT 46 - SYSTEM DATA - HARD DISK 1 DRIVE PARAMETER TABLE ADDRESS [NOT A VECTOR!]
48 - INT 48 - KEYBOARD - CORDLESS KEYBOARD TRANSLATION (PCjr)
49 - INT 49 - SYSTEM DATA - NON-KEYBOARD SCAN-CODE TRANSLATION TABLE (PCjr)
4A - INT 4A C - SYSTEM - USER ALARM HANDLER
4D00 - INT 4D - TI Professional PC - DISK - RESET DISK SYSTEM
4D01 - INT 4D - TI Professional PC - DISK - GET STATUS OF LAST OPERATION
4D02 - INT 4D - TI Professional PC - DISK - READ SECTOR(S) INTO MEMORY
4D03 - INT 4D - TI Professional PC - DISK - WRITE SECTOR(S) FROM MEMORY
4D04 - INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR CRC(S)
4D05 - INT 4D - TI Professional PC - DISK - NOP
4D06 - INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR(S)
4D07 - INT 4D - TI Professional PC - DISK - GET RETRY STATUS OF LAST OPERATION
4D08 - INT 4D - TI Professional PC - DISK - SET STANDARD DEVICE INTERFACE TABLE
4D09 - INT 4D - TI Professional PC - DISK - SET DEVICE INTERFACE TABLE ADDRESS
4D0A - INT 4D - TI Professional PC - DISK - GET DEVICE INTERFACE TABLE ADDRESS
4D0B - INT 4D - TI Professional PC - DISK - TURN OFF ALL DRIVES
FE - INT FE - AT/XT286/PS50+ - destroyed by return from protected mode
FF - INT FF - AT/XT286/PS50+ - destroyed by return from protected mode
Top

C - CPU-generated

00 - INT 00 C - CPU-generated - DIVIDE ERROR
01 - INT 01 C - CPU-generated - SINGLE STEP
01 - INT 01 C - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
03 - INT 03 C - CPU-generated - BREAKPOINT
04 - INT 04 C - CPU-generated - INTO DETECTED OVERFLOW
05 - INT 05 C - CPU-generated (80186+) - BOUND RANGE EXCEEDED
06 - INT 06 C - CPU-generated (80186+) - INVALID OPCODE
07 - INT 07 C - CPU-generated (80286+) - PROCESSOR EXTENSION NOT AVAILABLE
08 - INT 08 C - CPU-generated (80286+) - DOUBLE EXCEPTION DETECTED
09 - INT 09 C - CPU-generated (80286,80386) - PROCESSOR EXTENSION PROTECTION ERROR
0A - INT 0A CP - CPU-generated (80286+) - INVALID TASK STATE SEGMENT
0B - INT 0B CP - CPU-generated (80286+) - SEGMENT NOT PRESENT
0C - INT 0C C - CPU-generated (80286+) - STACK FAULT
0D - INT 0D C - CPU-generated (80286+) - GENERAL PROTECTION VIOLATION
0E - INT 0E C - CPU-generated (80386+ native mode) - PAGE FAULT
10 - INT 10 C - CPU-generated (80286+) - COPROCESSOR ERROR
11 - INT 11 - CPU-generated (80486+) - ALIGNMENT CHECK
12 - INT 12 - CPU-generated (Pentium +) - MACHINE CHECK EXCEPTION
Top

D - DOS kernel

20 - INT 20 - DOS 1+ - TERMINATE PROGRAM
2100 - INT 21 - DOS 1+ - TERMINATE PROGRAM
2101 - INT 21 - DOS 1+ - READ CHARACTER FROM STANDARD INPUT, WITH ECHO
2102 - INT 21 - DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT
2103 - INT 21 - DOS 1+ - READ CHARACTER FROM STDAUX
2104 - INT 21 - DOS 1+ - WRITE CHARACTER TO STDAUX
2105 - INT 21 - DOS 1+ - WRITE CHARACTER TO PRINTER
2106 - INT 21 - DOS 1+ - DIRECT CONSOLE OUTPUT
2106--DLFF - INT 21 - DOS 1+ - DIRECT CONSOLE INPUT
2107 - INT 21 - DOS 1+ - DIRECT CHARACTER INPUT, WITHOUT ECHO
2108 - INT 21 - DOS 1+ - CHARACTER INPUT WITHOUT ECHO
2109 - INT 21 - DOS 1+ - WRITE STRING TO STANDARD OUTPUT
210A - INT 21 - DOS 1+ - BUFFERED INPUT
210B - INT 21 - DOS 1+ - GET STDIN STATUS
210C - INT 21 - DOS 1+ - FLUSH BUFFER AND READ STANDARD INPUT
210D - INT 21 - DOS 1+ - DISK RESET
210E - INT 21 - DOS 1+ - SELECT DEFAULT DRIVE
210F - INT 21 - DOS 1+ - OPEN FILE USING FCB
2110 - INT 21 - DOS 1+ - CLOSE FILE USING FCB
2111 - INT 21 - DOS 1+ - FIND FIRST MATCHING FILE USING FCB
2112 - INT 21 - DOS 1+ - FIND NEXT MATCHING FILE USING FCB
2113 - INT 21 - DOS 1+ - DELETE FILE USING FCB
2114 - INT 21 - DOS 1+ - SEQUENTIAL READ FROM FCB FILE
2115 - INT 21 - DOS 1+ - SEQUENTIAL WRITE TO FCB FILE
2116 - INT 21 - DOS 1+ - CREATE OR TRUNCATE FILE USING FCB
2117 - INT 21 - DOS 1+ - RENAME FILE USING FCB
2118 - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
2119 - INT 21 - DOS 1+ - GET CURRENT DEFAULT DRIVE
211A - INT 21 - DOS 1+ - SET DISK TRANSFER AREA ADDRESS
211B - INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR DEFAULT DRIVE
211C - INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR SPECIFIC DRIVE
211D - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
211E - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
211F - INT 21 - DOS 1+ - GET DRIVE PARAMETER BLOCK FOR DEFAULT DRIVE
2120 - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
2121 - INT 21 - DOS 1+ - READ RANDOM RECORD FROM FCB FILE
2122 - INT 21 - DOS 1+ - WRITE RANDOM RECORD TO FCB FILE
2123 - INT 21 - DOS 1+ - GET FILE SIZE FOR FCB
2124 - INT 21 - DOS 1+ - SET RANDOM RECORD NUMBER FOR FCB
2125 - INT 21 - DOS 1+ - SET INTERRUPT VECTOR
2126 - INT 21 - DOS 1+ - CREATE NEW PROGRAM SEGMENT PREFIX
2127 - INT 21 - DOS 1+ - RANDOM BLOCK READ FROM FCB FILE
2128 - INT 21 - DOS 1+ - RANDOM BLOCK WRITE TO FCB FILE
2129 - INT 21 - DOS 1+ - PARSE FILENAME INTO FCB
212A - INT 21 - DOS 1+ - GET SYSTEM DATE
212B - INT 21 - DOS 1+ - SET SYSTEM DATE
212C - INT 21 - DOS 1+ - GET SYSTEM TIME
212D - INT 21 - DOS 1+ - SET SYSTEM TIME
212E--DL00 - INT 21 - DOS 1+ - SET VERIFY FLAG
212F - INT 21 - DOS 2+ - GET DISK TRANSFER AREA ADDRESS
2130 - INT 21 - DOS 2+ - GET DOS VERSION
2131 - INT 21 - DOS 2+ - TERMINATE AND STAY RESIDENT
2132 - INT 21 - DOS 2+ - GET DOS DRIVE PARAMETER BLOCK FOR SPECIFIC DRIVE
2133 - INT 21 - DOS 2+ - EXTENDED BREAK CHECKING
213302 - INT 21 - DOS 3.x+ internal - GET AND SET EXTENDED CONTROL-BREAK CHECKING STATE
213303 - INT 21 - DOS 3.4/4.0 - GET CURRENT CPSW STATE
213304 - INT 21 - DOS 3.4/4.0 - SET CPSW STATE
213305 - INT 21 - DOS 4.0+ - GET BOOT DRIVE
213306 - INT 21 - DOS 5+ - GET TRUE VERSION NUMBER
213307 - INT 21 - Windows95 - SET/CLEAR DOS_FLAG
2134 - INT 21 - DOS 2+ - GET ADDRESS OF INDOS FLAG
2135 - INT 21 - DOS 2+ - GET INTERRUPT VECTOR
2136 - INT 21 - DOS 2+ - GET FREE DISK SPACE
213700 - INT 21 - DOS 2+ - "SWITCHAR" - GET SWITCH CHARACTER
213701 - INT 21 - DOS 2+ - "SWITCHAR" - SET SWITCH CHARACTER
2137 - INT 21 - DOS 2.x and 3.3+ only - "AVAILDEV" - SPECIFY \DEV\ PREFIX USE
2138 - INT 21 - DOS 2+ - GET COUNTRY-SPECIFIC INFORMATION
2138--DXFFFF - INT 21 - DOS 3.0+ - SET COUNTRY CODE
2139 - INT 21 - DOS 2+ - "MKDIR" - CREATE SUBDIRECTORY
213A - INT 21 - DOS 2+ - "RMDIR" - REMOVE SUBDIRECTORY
213B - INT 21 - DOS 2+ - "CHDIR" - SET CURRENT DIRECTORY
213C - INT 21 - DOS 2+ - "CREAT" - CREATE OR TRUNCATE FILE
213D - INT 21 - DOS 2+ - "OPEN" - OPEN EXISTING FILE
213E - INT 21 - DOS 2+ - "CLOSE" - CLOSE FILE
213F - INT 21 - DOS 2+ - "READ" - READ FROM FILE OR DEVICE
2140 - INT 21 - DOS 2+ - "WRITE" - WRITE TO FILE OR DEVICE
2141 - INT 21 - DOS 2+ - "UNLINK" - DELETE FILE
2142 - INT 21 - DOS 2+ - "LSEEK" - SET CURRENT FILE POSITION
214300 - INT 21 - DOS 2+ - GET FILE ATTRIBUTES
214301 - INT 21 - DOS 2+ - "CHMOD" - SET FILE ATTRIBUTES
214302 - INT 21 - MS-DOS 7 - GET COMPRESSED FILE SIZE
2143FFBP5053 - INT 21 - MS-DOS 7.20 (Win98) - EXTENDED-LENGTH FILENAME OPERATIONS
214400 - INT 21 - DOS 2+ - IOCTL - GET DEVICE INFORMATION
214401 - INT 21 - DOS 2+ - IOCTL - SET DEVICE INFORMATION
214402 - INT 21 - DOS 2+ - IOCTL - READ FROM CHARACTER DEVICE CONTROL CHANNEL
214402 - INT 21 U - MS-DOS 7.0+ - CONFIG$ device - GET CONFIGURATION INFORMATION
214403 - INT 21 - DOS 2+ - IOCTL - WRITE TO CHARACTER DEVICE CONTROL CHANNEL
214403 - INT 21 U - MS-DOS 7.0+ - CONFIG$ device - SET??? CONFIGURATION INFORMATION
214404 - INT 21 - DOS 2+ - IOCTL - READ FROM BLOCK DEVICE CONTROL CHANNEL
214405 - INT 21 - DOS 2+ - IOCTL - WRITE TO BLOCK DEVICE CONTROL CHANNEL
214406 - INT 21 - DOS 2+ - IOCTL - GET INPUT STATUS
214407 - INT 21 - DOS 2+ - IOCTL - GET OUTPUT STATUS
214408 - INT 21 - DOS 3.0+ - IOCTL - CHECK IF BLOCK DEVICE REMOVABLE
214409 - INT 21 - DOS 3.1+ - IOCTL - CHECK IF BLOCK DEVICE REMOTE
21440A - INT 21 - DOS 3.1+ - IOCTL - CHECK IF HANDLE IS REMOTE
21440B - INT 21 - DOS 3.1+ - IOCTL - SET SHARING RETRY COUNT
21440C - INT 21 - DOS 3.2+ - IOCTL - GENERIC CHARACTER DEVICE REQUEST
21440D - INT 21 - DOS 3.2+ - IOCTL - GENERIC BLOCK DEVICE REQUEST
21440DCX084A - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK LOGICAL VOLUME
21440DCX084B - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK PHYSICAL VOLUME
21440DCX086A - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK LOGICAL VOLUME
21440DCX086B - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK PHYSICAL VOLUME
21440DCX086C - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET LOCK FLAG STATE
21440DCX086D - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - ENUMERATE OPEN FILES
21440DCX086E - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - FIND SWAP FILE
21440DCX0870 - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET CURRENT LOCK STATE
21440DCX0871 - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET FIRST CLUSTER
21440E - INT 21 - DOS 3.2+ - IOCTL - GET LOGICAL DRIVE MAP
21440F - INT 21 - DOS 3.2+ - IOCTL - SET LOGICAL DRIVE MAP
214410 - INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (HANDLE)
214411 - INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (DRIVE)
2145 - INT 21 - DOS 2+ - "DUP" - DUPLICATE FILE HANDLE
2146 - INT 21 - DOS 2+ - "DUP2", "FORCEDUP" - FORCE DUPLICATE FILE HANDLE
2147 - INT 21 - DOS 2+ - "CWD" - GET CURRENT DIRECTORY
2148 - INT 21 - DOS 2+ - ALLOCATE MEMORY
2149 - INT 21 - DOS 2+ - FREE MEMORY
214A - INT 21 - DOS 2+ - RESIZE MEMORY BLOCK
214B - INT 21 - DOS 2+ - "EXEC" - LOAD AND/OR EXECUTE PROGRAM
214B05 - INT 21 - DOS 5+ - SET EXECUTION STATE
214C - INT 21 - DOS 2+ - "EXIT" - TERMINATE WITH RETURN CODE
214D - INT 21 - DOS 2+ - GET RETURN CODE (ERRORLEVEL)
214E - INT 21 - DOS 2+ - "FINDFIRST" - FIND FIRST MATCHING FILE
214F - INT 21 - DOS 2+ - "FINDNEXT" - FIND NEXT MATCHING FILE
2150 - INT 21 - DOS 2+ internal - SET CURRENT PROCESS ID (SET PSP ADDRESS)
2151 - INT 21 - DOS 2+ internal - GET CURRENT PROCESS ID (GET PSP ADDRESS)
2152 - INT 21 U - DOS 2+ internal - "SYSVARS" - GET LIST OF LISTS
2153 - INT 21 - DOS 2+ internal - TRANSLATE BIOS PARAMETER BLOCK TO DRIVE PARAM BLOCK
2154 - INT 21 - DOS 2+ - GET VERIFY FLAG
2155 - INT 21 - DOS 2+ internal - CREATE CHILD PSP
2156 - INT 21 - DOS 2+ - "RENAME" - RENAME FILE
215700 - INT 21 - DOS 2+ - GET FILE'S LAST-WRITTEN DATE AND TIME
215701 - INT 21 - DOS 2+ - SET FILE'S LAST-WRITTEN DATE AND TIME
215702 - INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTES FOR FILE
215703 - INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTE PROPERTIES
215704 - INT 21 - DOS 4.x only - SET EXTENDED ATTRIBUTES
215704 - INT 21 - MS-DOS 7/Windows95 - GET LAST ACCESS DATE AND TIME
215705 - INT 21 - MS-DOS 7/Windows95 - SET LAST ACCESS DATE AND TIME
215706 - INT 21 - MS-DOS 7/Windows95 - GET CREATION DATE AND TIME
215707 - INT 21 - MS-DOS 7/Windows95 - SET CREATION DATE AND TIME
2158 - INT 21 - DOS 2.11+ - GET OR SET MEMORY ALLOCATION STRATEGY
2158 - INT 21 - DOS 5+ - GET OR SET UMB LINK STATE
2159--BX0000 - INT 21 - DOS 3.0+ - GET EXTENDED ERROR INFORMATION
2159--BX0001 - INT 21 - European MS-DOS 4.0 - GET HARD ERROR INFORMATION
215A - INT 21 - DOS 3.0+ - CREATE TEMPORARY FILE
215B - INT 21 - DOS 3.0+ - CREATE NEW FILE
215C - INT 21 - DOS 3.0+ - "FLOCK" - RECORD LOCKING
215D00 - INT 21 U - DOS 3.1+ internal - SERVER FUNCTION CALL
215D01 - INT 21 U - DOS 3.1+ internal - COMMIT ALL FILES FOR SPECIFIED COMPUTER/PROCESS
215D02 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE FILE BY NAME
215D03 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN COMPUTER
215D04 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN PROCESS
215D05 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - GET OPEN FILE LIST ENTRY
215D06 - INT 21 U - DOS 3.0+ internal - GET ADDRESS OF DOS SWAPPABLE DATA AREA
215D07 - INT 21 U - DOS 3.1+ network - GET REDIRECTED PRINTER MODE
215D08 - INT 21 U - DOS 3.1+ network - SET REDIRECTED PRINTER MODE
215D09 - INT 21 U - DOS 3.1+ network - FLUSH REDIRECTED PRINTER OUTPUT
215D0A - INT 21 - DOS 3.1+ - SET EXTENDED ERROR INFORMATION
215D0B - INT 21 OU - DOS 4.x only - internal - GET DOS SWAPPABLE DATA AREAS
215E00 - INT 21 - DOS 3.1+ network - GET MACHINE NAME
215E01CH00 - INT 21 - DOS 3.1+ network - SET MACHINE NAME
215E02 - INT 21 - DOS 3.1+ network - SET NETWORK PRINTER SETUP STRING
215E03 - INT 21 - DOS 3.1+ network - GET NETWORK PRINTER SETUP STRING
215E04 - INT 21 - DOS 3.1+ network - SET PRINTER MODE
215E05 - INT 21 - DOS 3.1+ network - GET PRINTER MODE
215F00 - INT 21 - DOS 3.1+ network - GET REDIRECTION MODE
215F01 - INT 21 - DOS 3.1+ network - SET REDIRECTION MODE
215F02 - INT 21 - DOS 3.1+ network - GET REDIRECTION LIST ENTRY
215F03 - INT 21 - DOS 3.1+ network - REDIRECT DEVICE
215F04 - INT 21 - DOS 3.1+ network - CANCEL REDIRECTION
215F05 - INT 21 - DOS 4.0+ network - GET EXTENDED REDIRECTION LIST ENTRY
215F07 - INT 21 - DOS 5+ - ENABLE DRIVE
215F08 - INT 21 - DOS 5+ - DISABLE DRIVE
2160 - INT 21 - DOS 3.0+ - "TRUENAME" - CANONICALIZE FILENAME OR PATH
2161 - INT 21 - DOS 3.0+ - UNUSED (RESERVED FOR NETWORK USE)
2162 - INT 21 - DOS 3.0+ - GET CURRENT PSP ADDRESS
216300 - INT 21 - DOS 2.25 only - GET LEAD BYTE TABLE ADDRESS
216300 - INT 21 - DOS 3.2+ - GET DOUBLE BYTE CHARACTER SET LEAD-BYTE TABLE
216301 - INT 21 - DOS 2.25, DOS 3.2+ - SET KOREAN (HANGEUL) INPUT MODE
216302 - INT 21 - DOS 2.25, DOS 3.2+ - GET KOREAN (HANGEUL) INPUT MODE
2164 - INT 21 - DOS 3.2+ internal - SET DEVICE DRIVER LOOKAHEAD FLAG
2165 - INT 21 - DOS 3.3+ - GET EXTENDED COUNTRY INFORMATION
2165 - INT 21 - DOS 4.0+ - COUNTRY-DEPENDENT CHARACTER CAPITALIZATION
216523 - INT 21 U - DOS 4.0+ - DETERMINE IF CHARACTER REPRESENTS YES/NO RESPONSE
2165 - INT 21 U - DOS 4.0+ internal - COUNTRY-DEPENDENT FILENAME CAPITALIZATION
216601 - INT 21 - DOS 3.3+ - GET GLOBAL CODE PAGE TABLE
216602 - INT 21 - DOS 3.3+ - SET GLOBAL CODE PAGE TABLE
2167 - INT 21 - DOS 3.3+ - SET HANDLE COUNT
2168 - INT 21 - DOS 3.3+ - "FFLUSH" - COMMIT FILE
2169 - INT 21 U - DOS 4.0+ internal - GET/SET DISK SERIAL NUMBER
216A - INT 21 U - DOS 4.0+ - COMMIT FILE
216B - INT 21 U - DOS 4.0 internal - IFS IOCTL
216B - INT 21 U - DOS 5+ - NULL FUNCTION
216C00 - INT 21 - DOS 4.0+ - EXTENDED OPEN/CREATE
216D - INT 21 U - DOS 5+ ROM - FIND FIRST ROM PROGRAM
216E - INT 21 U - DOS 5+ ROM - FIND NEXT ROM PROGRAM
216F00 - INT 21 U - DOS 5+ ROM - GET ROM SCAN START ADDRESS
216F01 - INT 21 U - DOS 5+ ROM - SET ROM SCAN START ADDRESS
216F02 - INT 21 U - DOS 5+ ROM - GET EXCLUSION REGION LIST
216F03 - INT 21 U - DOS 5+ ROM - SET EXCLUSION REGION LIST
2170 - INT 21 - MS-DOS 7 (Windows95) - GET/SET INTERNATIONALIZATION INFORMATION
2171 - INT 21 - Windows95 - LONG FILENAME FUNCTIONS
21710D - INT 21 - Windows95 - RESET DRIVE
217139 - INT 21 - Windows95 - LONG FILENAME - MAKE DIRECTORY
21713A - INT 21 - Windows95 - LONG FILENAME - REMOVE DIRECTORY
21713B - INT 21 - Windows95 - LONG FILENAME - CHANGE DIRECTORY
217141 - INT 21 - Windows95 - LONG FILENAME - DELETE FILE
217143 - INT 21 - Windows95 - LONG FILENAME - EXTENDED GET/SET FILE ATTRIBUTES
217147 - INT 21 - Windows95 - LONG FILENAME - GET CURRENT DIRECTORY
21714E - INT 21 - Windows95 - LONG FILENAME - FIND FIRST MATCHING FILE
21714F - INT 21 - Windows95 - LONG FILENAME - FIND NEXT MATCHING FILE
217156 - INT 21 - Windows95 - LONG FILENAME - RENAME FILE
217160CL00 - INT 21 - Windows95 - LONG FILENAME - "TRUENAME" - CANONICALIZE PATH
217160CL01 - INT 21 - Windows95 - LONG FILENAME - GET SHORT (8.3) FILENAME FOR FILE
217160CL02 - INT 21 - Windows95 - LONG FILENAME - GET CANONICAL LONG FILENAME OR PATH
21716C - INT 21 - Windows95 - LONG FILENAME - CREATE OR OPEN FILE
2171A0 - INT 21 - Windows95 - LONG FILENAME - GET VOLUME INFORMATION
2171A1 - INT 21 - Windows95 - LONG FILENAME - "FindClose" - TERMINATE DIRECTORY SEARCH
2171A2 - INT 21 U - Windows95 - internal - LONG FILENAME - FIND NEXT MATCHING FILE
2171A3 - INT 21 U - Windows95 - internal
2171A4 - INT 21 U - Windows95 - internal
2171A5 - INT 21 U - Windows95 - internal
2171A6 - INT 21 - Windows95 - LONG FILENAME - GET FILE INFO BY HANDLE
2171A7BL00 - INT 21 - Windows95 - LONG FILENAME - FILE TIME TO DOS TIME
2171A7BL01 - INT 21 - Windows95 - LONG FILENAME - DOS TIME TO FILE TIME
2171A8 - INT 21 - Windows95 - LONG FILENAME - GENERATE SHORT FILENAME
2171A9 - INT 21 - Windows95 - LONG FILENAME - SERVER CREATE OR OPEN FILE
2171AABH00 - INT 21 - Windows95 - LONG FILENAME - CREATE SUBST
2171AABH01 - INT 21 - Windows95 - LONG FILENAME - TERMINATE SUBST
2171AABH02 - INT 21 - Windows95 - LONG FILENAME - QUERY SUBST
2172 - INT 21 - Windows95 beta - LFN-FindClose
2173 - INT 21 - MS-DOS 7 - DRIVE LOCKING AND FLUSHING
217302 - INT 21 - Windows95 - FAT32 - "Get_ExtDPB" - GET EXTENDED DPB
217303 - INT 21 - Windows95 - FAT32 - GET EXTENDED FREE SPACE ON DRIVE
217304 - INT 21 - Windows95 - FAT32 - Set DPB TO USE FOR FORMATTING
217305CXFFFF - INT 21 - Windows95 - FAT32 - EXTENDED ABSOLUTE DISK READ/WRITE
2180 - INT 21 - European MS-DOS 4.0 - "AEXEC" - EXECUTE PROGRAM IN BACKGROUND
2181 - INT 21 - European MS-DOS 4.0 - "FREEZE" - STOP A PROCESS
2182 - INT 21 - European MS-DOS 4.0 - "RESUME" - RESTART A PROCESS
2183 - INT 21 - European MS-DOS 4.0 - "PARTITION" - GET/SET FOREGROUND PARTITION SIZE
218400 - INT 21 - European MS-DOS 4.0 - "CREATMEM" - CREATE A SHARED MEMORY AREA
218401 - INT 21 - European MS-DOS 4.0 - "GETMEM" - OBTAIN ACCESS TO SHARED MEMORY AREA
218402 - INT 21 - European MS-DOS 4.0 - "RELEASEMEM" - FREE SHARED MEMORY AREA
2185 - INT 21 U - European MS-DOS 4.0 - ???
2186 - INT 21 - European MS-DOS 4.0 - "SETFILETABLE" - INSTALL NEW FILE HANDLE TABLE
2187 - INT 21 - European MS-DOS 4.0 - "GETPID" - GET PROCESS IDENTIFIER
2188 - INT 21 U - European MS-DOS 4.0 - ???
2189 - INT 21 - European MS-DOS 4.0 - SLEEP
218A - INT 21 - European MS-DOS 4.0 - "CWAIT" - WAIT FOR CHILD TO TERMINATE
218B - INT 21 U - European MS-DOS 4.0 - ???
218C - INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
218D - INT 21 - European MS-DOS 4.0 - SEND SIGNAL
218E00BH00 - INT 21 - European MS-DOS 4.0 - "SETPRI" - GET/SET PROCESS PRIORITY
218F - INT 21 U - European MS-DOS 4.0 - ???
2190 - INT 21 U - European MS-DOS 4.0 - ???
2191 - INT 21 U - European MS-DOS 4.0 - ???
2192 - INT 21 U - European MS-DOS 4.0 - ???
2193 - INT 21 - European MS-DOS 4.0 - "PIPE" - CREATE A NEW PIPE
2194 - INT 21 U - European MS-DOS 4.0 - ???
2195 - INT 21 - European MS-DOS 4.0 - HARD ERROR PROCESSING
2196 - INT 21 U - European MS-DOS 4.0 - ???
2197 - INT 21 U - European MS-DOS 4.0 - ???
2198 - INT 21 U - European MS-DOS 4.0 - ???
2199 - INT 21 u - European MS-DOS 4.0 - "PBLOCK" - BLOCK A PROCESS
219A - INT 21 u - European MS-DOS 4.0 - "PRUN" - UNBLOCK A PROCESS
21F8 - INT 21 - DOS v2.11-2.13 - SET OEM INT 21 HANDLER
21F9 - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FA - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FB - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FC - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FD - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FE - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
21FF - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
22 - INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
23 - INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
24 - INT 24 C - DOS 1+ - CRITICAL ERROR HANDLER
25 - INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
25----CXFFFF - INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (32M-2047M hard-disk partition)
26 - INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
26----CXFFFF - INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (32M-2047M hard-disk partition)
27 - INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
28 - INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
29 - INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
2A80 - INT 2A CU - NETWORK - BEGIN DOS CRITICAL SECTION
2A81 - INT 2A CU - NETWORK - END DOS CRITICAL SECTION
2A82 - INT 2A CU - NETWORK - END DOS CRITICAL SECTIONS 0 THROUGH 7
2B - INT 2B - DOS 2+ - RESERVED
2B - INT 2B - IBM ROM-DOS v4.0 - ???
2C - INT 2C - DOS 2+ - RESERVED
2D - INT 2D - DOS 2+ - RESERVED
2F0800 - INT 2F U - DRIVER.SYS support - INSTALLATION CHECK
2F0801 - INT 2F U - DRIVER.SYS support - ADD NEW BLOCK DEVICE
2F0802 - INT 2F U - DRIVER.SYS support - EXECUTE DEVICE DRIVER REQUEST
2F0803 - INT 2F U - DOS 4.0+ DRIVER.SYS support - GET DRIVE DATA TABLE LIST
2F1002CHFF - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - READ BUFFERS
2F1003 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FLUSH BUFFERS
2F1004 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FREE FAT CHAIN
2F1005 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - ALLOCATE CLUSTER
2F1006 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - NEXT CLUSTER / READ FAT???
2F1007 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - UPDATE FAT ENTRY / WRITE FAT???
2F1008 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FIXUP CHECKSUMS / DIR UPDATE???
2F1009 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - DIRECTORY BUFFER INFO
2F1200 - INT 2F U - DOS 3.0+ internal - INSTALLATION CHECK
2F1201 - INT 2F U - DOS 3.0+ internal - CLOSE CURRENT FILE
2F1202 - INT 2F U - DOS 3.0+ internal - GET INTERRUPT ADDRESS
2F1203 - INT 2F U - DOS 3.0+ internal - GET DOS DATA SEGMENT
2F1204 - INT 2F U - DOS 3.0+ internal - NORMALIZE PATH SEPARATOR
2F1205 - INT 2F U - DOS 3.0+ internal - OUTPUT CHARACTER TO STANDARD OUTPUT
2F1206 - INT 2F U - DOS 3.0+ internal - INVOKE CRITICAL ERROR
2F1207 - INT 2F U - DOS 3.0+ internal - MAKE DISK BUFFER MOST-RECENTLY USED
2F1208 - INT 2F U - DOS 3.0+ internal - DECREMENT SFT REFERENCE COUNT
2F1209 - INT 2F U - DOS 3.0+ internal - FLUSH AND FREE DISK BUFFER
2F120A - INT 2F U - DOS 3.0+ internal - PERFORM CRITICAL ERROR INTERRUPT
2F120B - INT 2F U - DOS 3.0+ internal - SIGNAL SHARING VIOLATION TO USER
2F120C - INT 2F U - DOS 3.0+ internal - OPEN DEVICE AND SET SFT OWNER/MODE
2F120D - INT 2F U - DOS 3.0+ internal - GET DATE AND TIME
2F120E - INT 2F U - DOS 3.0+ internal - MARK ALL DISK BUFFERS UNREFERENCED
2F120F - INT 2F U - DOS 3.0+ internal - MAKE BUFFER MOST RECENTLY USED
2F1210 - INT 2F U - DOS 3.0+ internal - FIND UNREFERENCED DISK BUFFER
2F1211 - INT 2F U - DOS 3.0+ internal - NORMALIZE ASCIZ FILENAME
2F1212 - INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
2F1213 - INT 2F U - DOS 3.0+ internal - UPPERCASE CHARACTER
2F1214 - INT 2F U - DOS 3.0+ internal - COMPARE FAR POINTERS
2F1215 - INT 2F U - DOS 3.0+ internal - FLUSH BUFFER
2F1216 - INT 2F U - DOS 3.0+ internal - GET ADDRESS OF SYSTEM FILE TABLE ENTRY
2F1217 - INT 2F U - DOS 3.0+ internal - GET CURRENT DIRECTORY STRUCTURE FOR DRIVE
2F1218 - INT 2F U - DOS 3.0+ internal - GET CALLER'S REGISTERS
2F1219 - INT 2F U - DOS 3.0+ internal - SET DRIVE???
2F121A - INT 2F U - DOS 3.0+ internal - GET FILE'S DRIVE
2F121B - INT 2F U - DOS 3.0+ internal - SET YEAR/LENGTH OF FEBRUARY
2F121C - INT 2F U - DOS 3.0+ internal - CHECKSUM MEMORY
2F121D - INT 2F U - DOS 3.0+ internal - SUM MEMORY
2F121E - INT 2F U - DOS 3.0+ internal - COMPARE FILENAMES
2F121F - INT 2F U - DOS 3.0+ internal - BUILD CURRENT DIRECTORY STRUCTURE
2F1220 - INT 2F U - DOS 3.0+ internal - GET JOB FILE TABLE ENTRY
2F1221 - INT 2F U - DOS 3.0+ internal - CANONICALIZE FILE NAME
2F1222 - INT 2F U - DOS 3.0+ internal - SET EXTENDED ERROR INFO
2F1223 - INT 2F U - DOS 3.0+ internal - CHECK IF CHARACTER DEVICE
2F1224 - INT 2F U - DOS 3.0+ internal - SHARING RETRY DELAY
2F1225 - INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
2F1226 - INT 2F U - DOS 3.3+ internal - OPEN FILE
2F1227 - INT 2F U - DOS 3.3+ internal - CLOSE FILE
2F1228BP4200 - INT 2F U - DOS 3.3+ internal - MOVE FILE POINTER
2F1229 - INT 2F U - DOS 3.3+ internal - READ FROM FILE
2F122A - INT 2F U - DOS 3.3+ internal - SET FASTOPEN ENTRY POINT
2F122B - INT 2F U - DOS 3.3+ internal - IOCTL
2F122C - INT 2F U - DOS 3.3+ internal - GET DEVICE CHAIN
2F122D - INT 2F U - DOS 3.3+ internal - GET EXTENDED ERROR CODE
2F122E - INT 2F U - DOS 4.0+ internal - GET OR SET ERROR TABLE ADDRESSES
2F122F - INT 2F U - DOS 4.x internal - SET DOS VERSION NUMBER TO RETURN
2F13 - INT 2F U - DOS 3.2+ - SET DISK INTERRUPT HANDLER
2F1400 - INT 2F - European MS-DOS 4.0 POPUP - "CheckPu" - INSTALLATION CHECK
2F1401 - INT 2F - European MS-DOS 4.0 POPUP - "PostPu" - OPEN/CLOSE POPUP SCREEN
2F1402 - INT 2F - European MS-DOS 4.0 POPUP - "SavePu" - SAVE POPUP SCREEN
2F1403 - INT 2F - European MS-DOS 4.0 POPUP - "RestorePu" - RESTORE SCREEN
2F1607BX0015 - INT 2F C - MS Windows - "DOSMGR" VIRTUAL DEVICE API
2F160E - INT 2F U - MS-DOS 7 kernel - BOOT LOGO SUPPORT???
2F160F - INT 2F U - MS-DOS 7 kernel - GET/SET ??? HANDLER
2F1611 - INT 2F U - MS-DOS 7 kernel - GET SHELL PARAMETERS
2F1612 - INT 2F U - MS-DOS 7 kernel - GET ???
2F1613 - INT 2F - MS-DOS 7 kernel - GET SYSTEM.DAT (REGISTRY FILE) PATHNAME
2F1614 - INT 2F U - MS-DOS 7 kernel - SET SYSTEM.DAT (REGISTRY FILE) PATHNAME
2F1690 - INT 2F U - MS-DOS 7 kernel - GET/SET ???
2F4601 - INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
2F4602 - INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
2F4A00CX0000 - INT 2F CU - DOS 5+ - FLOPPY-DISK LOGICAL DRIVE CHANGE NOTIFICATION
2F4A01 - INT 2F - DOS 5+ - QUERY FREE HMA SPACE
2F4A02 - INT 2F - DOS 5+ - ALLOCATE HMA SPACE
2F4A03 - INT 2F U - Windows95 - DOS KERNEL - (DE)ALLOCATE HMA MEMORY BLOCK
2F4A04 - INT 2F U - Windows95 - DOS KERNEL - GET START OF HMA MEMORY CHAIN
2F4A06 - INT 2F CU - DOS 5+ - DOS SUPERVISOR "REBOOT PANEL" - ADJUST MEMORY SIZE
2F4A16 - INT 2F U - Windows95 - OPEN BOOT LOG
2F4A17 - INT 2F U - Windows95 - WRITE TO BOOT LOG
2F4A18 - INT 2F U - Windows95 - CLOSE BOOT LOG
2F4A21 - INT 2F U - Windows95 - ???
2F4A31 - INT 2F U - Windows95 - ???
2F4A32 - INT 2F U - Windows95 - PATCH ???
2F4A33 - INT 2F - Windows95 - CHECK MS-DOS VERSION 7
30 - INT 30 - (NOT A VECTOR!) - DOS 1+ - FAR JMP instruction for CP/M-style calls
31 - INT 31 - overwritten by CP/M jump instruction in INT 30
Top

E - DOS extenders

10FF - INT 10 - DJ GO32.EXE 80386+ DOS extender - VIDEO EXTENSIONS
15BF00 - INT 15 - Rational Systems DOS/16M - ???
15BF01 - INT 15 - Rational Systems DOS/16M - ???
15BF02DX0000 - INT 15 - Rational Systems DOS/16M - INSTALLATION CHECK
15BF03 - INT 15 - Rational Systems DOS/4GW - UNINSTALL???
15BF04 - INT 15 - Rational Systems DOS/4GW - ???
15BF05 - INT 15 - Rational Systems DOS/4GW - INITIALIZE PROTECTED-MODE INTERFACE
15BF06 - INT 15 - Rational Systems DOS/4GW - ???
15BFDCDX0000 - INT 15 - Rational Systems DOS/4GW - INSTALLATION CHECK
15BFDEBX0000 - INT 15 - DESQview/X - DVDOS4GX.DVR - INSTALLATION CHECK
15BFDEBX0001 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROCESS MANAGER NAME
15BFDEBX0002 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
15BFDEBX0003 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0004 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0005 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0006 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0007 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
15BFDEBX0008 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0009 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROTECTED MODE PROGRAM LOADER
15BFDEBX000A - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - DECREMENT ???
15BFDEBX000B - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - INCREMENT ???
15BFDEBX000C - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX000D - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX000E - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX000F - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
15BFDEBX0010 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET TASK HANDLE
15BFDEBX0011 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0012 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0013 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBX0014 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - LOCK ??? MAILBOX
15BFDEBX0015 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - UNLOCK ??? MAILBOX
15BFDEBX0016 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - CHECK IF ??? MAILBOX OWNED
15BFDEBX0017 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ??? MAILBOX OWNER
15BFDEBXFFFD - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
15BFDEBXFFFE - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
15BFDEBXFFFF - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - NOP
212501 - INT 21 P - Phar Lap 386/DOS-Extender - RESET DOS EXTENDER DATA STRUCTURES
212502 - INT 21 P - Phar Lap 386/DOS-Extender - GET PROTECTED-MODE INTERRUPT VECTOR
212503 - INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE INTERRUPT VECTOR
212504 - INT 21 P - Phar Lap 386/DOS-Extender - SET PROTECTED-MODE INTERRUPT VECTOR
212505 - INT 21 P - Phar Lap 386/DOS-Extender - SET REAL-MODE INTERRUPT VECTOR
212506 - INT 21 P - Phar Lap 386/DOS-Extender - SET INT TO ALWAYS GAIN CNTRL IN PR. MODE
212507 - INT 21 P - Phar Lap 386/DOS-Extender - SET REAL- & PROTECTED-MODE INT VECTORS
212508 - INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT LINEAR BASE ADDRESS
212509 - INT 21 P - Phar Lap 386/DOS-Extender - CONVERT LINEAR TO PHYSICAL ADDRESS
212509 - INT 21 P - FlashTek X-32VM - GET SYSTEM SEGMENTS AND SELECTORS
21250A - INT 21 P - Phar Lap 386/DOS-Extender - MAP PHYSICAL MEMORY AT END OF SEGMENT
21250C - INT 21 P - Phar Lap 386/DOS-Extender - GET HARDWARE INTERRUPT VECTORS
21250D - INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE LINK INFORMATION
21250E - INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE
21250F - INT 21 P - Phar Lap 386/DOS-Extender - CONVERT PROTECTED-MODE ADDRESS TO MS-DOS
212510 - INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE, REGISTERS
212511 - INT 21 P - Phar Lap 386/DOS-Extender - ISSUE REAL-MODE INTERRUPT
212512 - INT 21 P - Phar Lap 386/DOS-Extender - LOAD PROGRAM FOR DEBUGGING
212513 - INT 21 P - Phar Lap 386/DOS-Extender - ALIAS SEGMENT DESCRIPTOR
212514 - INT 21 P - Phar Lap 386/DOS-Extender - CHANGE SEGMENT ATTRIBUTES
212515 - INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT ATTRIBUTES
212516 - INT 21 P - Phar Lap 386/DOS-Extender v2.2+ - FREE ALL MEMORY OWNED BY LDT
212517 - INT 21 P - Phar Lap 386/DOS-Extender v2.1c+ - GET INFO ON DOS DATA BUFFER
212518 - INT 21 P - Phar Lap 386/DOS-Extender 2.1c+ - SPECIFY HANDLER FOR MOVED SEGMENTS
212519 - INT 21 P - Phar Lap 386/DOS-Extender VMM - GET ADDITIONAL MEMORY ERROR INFO
21251A - INT 21 P - Phar Lap 386/DOS-Extender VMM - LOCK PAGES IN MEMORY
21251B - INT 21 P - Phar Lap 386/DOS-Extender VMM - UNLOCK PAGES
21251C - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.1c+ - FREE PHYSICAL MEMORY PAGES
21251D - INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - READ PAGE-TABLE ENTRY
21251E - INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - WRITE PAGE-TABLE ENTRY
21251F - INT 21 P - Phar Lap 386/DOS-Extender VMM - EXHANGE TWO PAGE-TABLE ENTRIES
212520 - INT 21 P - Phar Lap 386/DOS-Extender VMM - GET MEMORY STATISTICS
212521 - INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S EXTENDED MEM USAGE
212522 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY ALTERNATE PAGE-FAULT HANDLR
212523 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY OUT-OF-SWAP-SPACE HANDLER
212524 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - INSTALL PAGE-REPLACEMENT HANDLERS
212525 - INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S CONVENT'L MEM USAGE
212526 - INT 21 P - Phar Lap 386/DOS-Extender - GET CONFIGURATION INFORMATION
212527 - INT 21 P - Phar Lap 386/DOS-Extender VMM - EN/DISABLE STATE SAVE ON INTERRUPTS
212528 - INT 21 P - Phar Lap 386/DOS-Extender VMM - READ REGISTERS AFTER CTRL-C INT
212529 - INT 21 P - Phar Lap 386/DOS-Extender - LOAD FLAT MODEL .EXP or .REX FILE
21252A - INT 21 P - Phar Lap 386/DOS-Extender VMM - NEW LOAD PROGRAM FOR DEBUG
21252BBH00 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE UNMAPPED PAGES
21252BBH01 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE ALLOCATED PAGES
21252BBH02 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE PHYSICAL DEVICE PAGES
21252BBH03 - INT 21 Pu - Phar Lap 386/DOS-Extender - MAP DATA FILE
21252BBH04 - INT 21 Pu - Phar Lap 386/DOS-Extender - GET PAGE TYPES
21252B - INT 21 P - Phar Lap 386/DOS-Extender - VIRTUAL MEMORY MANAGEMENT - PAGE LOCKING
21252B - INT 21 Pu - Phar Lap 386/DOS-Extender - FREE PHYSICAL PAGES
21252BBH09 - INT 21 P - Phar Lap 386/DOS-Extender v4.1 - GET PAGETABLE ENTRY/PAGE TABLE INFO
21252BBH0A - INT 21 P - Phar Lap 386/DOS-Extender v4.1 - SET PAGETABLE ENTRY/PAGE TABLE INFO
21252BBH0B - INT 21 P - Phar Lap 386/DOS-Extender v4.1+ - MAP DATA FILE AT FILE OFFSET
21252C - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ADD UNMAPPED PAGES AT END OF SEGMENT
21252D - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - CLOSE VMM FILE HANDLE
21252E - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - GET/SET VMM PARAMETERS
21252F - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - WRITE RECORD TO VMM PAGE LOG FILE
212530 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.3+ - SET SIZE OF BUFFER FOR DOS CALLS
212531 - INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0 - READ/WRITE LDT DESCRIPTOR
212532 - INT 21 P - Phar Lap 386/DOS-Extender - GET EXCEPTION HANDLER VECTOR
212533 - INT 21 P - Phar Lap 386/DOS-Extender - SET EXCEPTION HANDLER VECTOR
212534 - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - GET INTERRUPT FLAG
212535 - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - READ/WRITE SYSTEM REGISTERS
212536 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0+ - MIN/MAX EXTENDED/CONV MEMORY USAGE
212537 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ALLOCATE DOS MEMORY ABOVE DOS BUFFER
212538 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - READ PROTMODE REGS AFTER SFTWARE INT
212539 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - GET OFFSET OF .EXP FILE HEADER
21253A - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - INSTALL MOD. SEG FAILURE HANDLER
21253B - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - JUMP TO REAL MODE CODE, NO CONTEXT
21253C - INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0+ - SHRINK 386|VMM SWAP FILE
21253D - INT 21 P - Phar Lap 386/DOS-Extender v4.0+ - READ/WRITE IDT DESCRIPTOR
21253F - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - ALLOCATE LDT DESCRIPTOR
212540 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FORCE ALIAS OF SEGMENT
212544 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FREE DLL
212545 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET/SET PROCEDURE ADDRESS
212546 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET MODULE HANDLE
2125C0 - INT 21 P - Phar Lap 386/DOS-Extender - ALLOCATE MS-DOS MEMORY BLOCK
2125C1 - INT 21 P - Phar Lap 386/DOS-Extender - RELEASE MS-DOS MEMORY BLOCK
2125C2 - INT 21 P - Phar Lap 386/DOS-Extender - MODIFY MS-DOS MEMORY BLOCK
2125C3 - INT 21 P - Phar Lap 386/DOS-Extender - EXECUTE PROGRAM
212B--CX4149 - INT 21 - AI Architects - ??? - INSTALLATION CHECK
2130 - INT 21 - Phar Lap 386/DOS-Extender, Intel Code Builder - INSTALLATION CHECK
213501 - INT 21 P - FlashTek X-32VM - ALLOCATE PROTECTED-MODE SELECTOR
213502 - INT 21 P - FlashTek X-32VM - DEALLOCATE PROTECTED-MODE SELECTOR
213503 - INT 21 P - FlashTek X-32VM - SET SELECTOR BASE ADDRESS
213504 - INT 21 P - FlashTek X-32VM - GET SELECTOR BASE ADDRESS
213505 - INT 21 P - FlashTek X-32VM - SET SELECTOR LIMIT
21350A - INT 21 P - FlashTek X-32VM - PHYSICAL ADDRESS MAPPING
21350B - INT 21 P - FlashTek X-32VM - UPDATE AND RETURN AVAILABLE FREE MEMORY
21350C - INT 21 P - FlashTek X-32VM - ALLOCATE A BLOCK OF MEMORY
21350D - INT 21 P - FlashTek X-32VM - RESERVE BLOCK OF MEMORY FOR 32-BIT STACK
214403 - INT 21 U - AI Architects - OS/x86??? - API
21E0 - INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
21E1 - INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
21E2 - INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
21E3 - INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
21E400 - INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
21E402 - INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
21E403 - INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
21E500 - INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
21E501 - INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
21E6 - INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
21E7 - INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
21E8 - INT 21 - OS/286, OS/386 - SEGMENT CREATION
21E9 - INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
21EA - INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
21EB00 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
21EB02 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
21EB03 - INT 21 - OS/386 VMM - FREE MAPPED PAGES
21EB04 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
21EB05 - INT 21 - OS/386 VMM - MAP PAGES
21EB06 - INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
21EB07 - INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
21EC - INT 21 - OS/286, OS/386 - BLOCK TRANSFER
21ED - INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
21FF - INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
21FF - INT 21 UP - Rational Systems DOS/4GW - API
21FF--DH00 - INT 21 UP - Rational Systems DOS/4GW - GET VERSION???
21FF--DH02 - INT 21 UP - Rational Systems DOS/4GW - SET ???
21FF--DH05 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH06 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH07 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH08 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH09 - INT 21 UP - Rational Systems DOS/4GW - GET ???
21FF--DH0A - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0B - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0C - INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
21FF--DH0D - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0E - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH0F - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH10 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH11 - INT 21 UP - Rational Systems DOS/4GW - NOP
21FF--DH12 - INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
21FF--DH13 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH14 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF--DH15 - INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
21FF--DH16 - INT 21 UP - Rational Systems DOS/4GW - GET ???
21FF--DH17 - INT 21 UP - Rational Systems DOS/4GW - ???
21FF00DX0078 - INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
2F1607BX22C0 - INT 2F C - Rational Systems DOS/4GW - ???
2F1686 - INT 2F - DOS Protected-Mode Interface - DETECT MODE
2F1687 - INT 2F - DOS Protected-Mode Interface - INSTALLATION CHECK
2F168A - INT 2F - DPMI 0.9+ - GET VENDOR-SPECIFIC API ENTRY POINT
2F4040 - INT 2F - PharLap 286|DOS-Extender Lite v2.5 - ???
2F43E0BX0000 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - INSTALLATION CHECK
2F44 - INT 2F U - DOS Extender support???
2F46 - INT 2F U - Windows/286 DOS Extender
2FA1--BX0081 - INT 2F - Ergo DOS extenders - INSTALLATION CHECK
2FD201BX4D45 - INT 2F U - Quarterdeck RPCI - DVDOS4GX.DVR - ???
2FED00 - INT 2F - Phar Lap DOS EXTENDERS - INSTALLATION CHECK
2FED03 - INT 2F R - Phar Lap 386/DOS-Extender v4.1 - GET EXTENDER ENTRY POINT
2FED10BL05 - INT 2F - Pharlap DOS Extender - ???
2FED11BL05 - INT 2F - Pharlap DOS Extender - FATAL EXIT TO REAL MODE ???
2FED80 - INT 2F - Phar Lap 286|DOS Extender Lite v2.5 - ???
2FF100 - INT 2F - DOS EXTENDER INSTALLATION CHECK
2FFB42BX0001 - INT 2F PU - Borland C++ DPMILOAD.EXE - INSTALLATION CHECK???
2FFB42BX0002 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ALLOCATE MEMORY
2FFB42BX0002 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ALLOCATE MEMORY
2FFB42BX0003 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET AVAILABLE MEMORY
2FFB42BX0004 - INT 2F PU - Borland C++ DPMILOAD.EXE - LOAD PROTECTED-MODE EXECUTABLE???
2FFB42BX0005 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NAME
2FFB42BX0006 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NUMBER
2FFB42BX0007 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ???
2FFB42BX0007 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0008 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - FREE MEMORY BLOCK
2FFB42BX0008 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE MEMORY BLOCK
2FFB42BX0009 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - RESIZE MEMORY BLOCK
2FFB42BX000A - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INIT DPMI HOST AND SPAWN SUBSHELL
2FFB42BX000B - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - UNUSED
2FFB42BX000C - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE DESCRIPTORS FOR MEMORY BLOCK???
2FFB42BX000D - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SIMULATE REAL MODE INTERRUPT
2FFB42BX000E - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
2FFB42BX000F - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - REALLOCATE LDT DESCRPS TO MEMBLK???
2FFB42BX0010 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SEGMENT TO SELECTOR
2FFB42BX0011 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0012 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0013 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0014 - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INSTALLATION CHECK
2FFB42BX0015 - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - UNINSTALL
2FFB42BX0016 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
2FFB42BX0017 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0018 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET ???
2FFB42BX0019 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001A - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001B - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001C - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001D - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
2FFB42BX001E - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX001F - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
2FFB42BX0020 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION???
2FFB42BX0021 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROCESSOR EXCEPTION HANDLER VECT
2FFB42BX0022 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROCESSOR EXCEPTION HANDLER VECT
2FFB42BX0023 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SELECTOR TO SEGMENT NUMBER
2FFB42BX0024 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROTECTED-MODE INTERRUPT VECTOR
2FFB42BX0025 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROTECTED-MODE INTERRUPT VECTOR
2FFB42BX0026 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
2FFB42BX0027 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
2FFB42BX0080 - INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
2FFB42BX0081 - INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
2FFB42BX1001 - INT 2F U - Borland RTM.EXE 1.0 - INSTALLATION CHECK???
2FFB42BX1002 - INT 2F U - Borland RTM.EXE 1.0 - EXECUTE COMPILED PROGRAM
2FFB42BX1003 - INT 2F U - Borland RTM.EXE 1.0 - ???
2FFB43 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION
2FFBA1BX0081 - INT 2F U - TKERNEL (Borland DOS extender) - INSTALLATION CHECK
2FFBA1BX0082 - INT 2F U - TKERNEL (Borland DOS extender) - GET ENTRY POINT
2FFBA1BX0084 - INT 2F U - TKERNEL (Borland DOS extender) - UNINSTALL
310000 - INT 31 P - DPMI 0.9+ - ALLOCATE LDT DESCRIPTORS
310001 - INT 31 P - DPMI 0.9+ - FREE LDT DESCRIPTOR
310002 - INT 31 P - DPMI 0.9+ - SEGMENT TO DESCRIPTOR
310003 - INT 31 P - DPMI 0.9+ - GET NEXT SELECTOR INCREMENT VALUE
310004 - INT 31 P - DPMI 0.9+ - LOCK SELECTOR
310005 - INT 31 P - DPMI 0.9+ - UNLOCK SELECTOR
310006 - INT 31 P - DPMI 0.9+ - GET SEGMENT BASE ADDRESS
310007 - INT 31 P - DPMI 0.9+ - SET SEGMENT BASE ADDRESS
310008 - INT 31 P - DPMI 0.9+ - SET SEGMENT LIMIT
310009 - INT 31 P - DPMI 0.9+ - SET DESCRIPTOR ACCESS RIGHTS
31000A - INT 31 P - DPMI 0.9+ - CREATE ALIAS DESCRIPTOR
31000B - INT 31 P - DPMI 0.9+ - GET DESCRIPTOR
31000C - INT 31 P - DPMI 0.9+ - SET DESCRIPTOR
31000D - INT 31 P - DPMI 0.9+ - ALLOCATE SPECIFIC LDT DESCRIPTOR
31000E - INT 31 P - DPMI 1.0+ - GET MULTIPLE DESCRIPTORS
31000F - INT 31 P - DPMI 1.0+ - SET MULTIPLE DESCRIPTORS
310100 - INT 31 P - DPMI 0.9+ - ALLOCATE DOS MEMORY BLOCK
310101 - INT 31 P - DPMI 0.9+ - FREE DOS MEMORY BLOCK
310102 - INT 31 P - DPMI 0.9+ - RESIZE DOS MEMORY BLOCK
310200 - INT 31 P - DPMI 0.9+ - GET REAL MODE INTERRUPT VECTOR
310201 - INT 31 P - DPMI 0.9+ - SET REAL MODE INTERRUPT VECTOR
310202 - INT 31 P - DPMI 0.9+ - GET PROCESSOR EXCEPTION HANDLER VECTOR
310203 - INT 31 P - DPMI 0.9+ - SET PROCESSOR EXCEPTION HANDLER VECTOR
310204 - INT 31 P - DPMI 0.9+ - GET PROTECTED MODE INTERRUPT VECTOR
310205 - INT 31 P - DPMI 0.9+ - SET PROTECTED MODE INTERRUPT VECTOR
310210 - INT 31 P - DPMI 1.0+ - GET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310211 - INT 31 P - DPMI 1.0+ - GET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310212 - INT 31 P - DPMI 1.0+ - SET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310213 - INT 31 P - DPMI 1.0+ - SET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
310300 - INT 31 P - DPMI 0.9+ - SIMULATE REAL MODE INTERRUPT
310301 - INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH FAR RETURN FRAME
310302 - INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH IRET FRAME
310303 - INT 31 P - DPMI 0.9+ - ALLOCATE REAL MODE CALLBACK ADDRESS
310304 - INT 31 P - DPMI 0.9+ - FREE REAL MODE CALLBACK ADDRESS
310305 - INT 31 P - DPMI 0.9+ - GET STATE SAVE/RESTORE ADDRESSES
310306 - INT 31 P - DPMI 0.9+ - GET RAW MODE SWITCH ADDRESSES
310400 - INT 31 P - DPMI 0.9+ - GET DPMI VERSION
310401 - INT 31 P - DPMI 1.0+ - GET DPMI CAPABILITIES
310500 - INT 31 P - DPMI 0.9+ - GET FREE MEMORY INFORMATION
310501 - INT 31 P - DPMI 0.9+ - ALLOCATE MEMORY BLOCK
310502 - INT 31 P - DPMI 0.9+ - FREE MEMORY BLOCK
310503 - INT 31 P - DPMI 0.9+ - RESIZE MEMORY BLOCK
310504 - INT 31 P - DPMI 1.0+ - ALLOCATE LINEAR MEMORY BLOCK
310505 - INT 31 P - DPMI 1.0+ - RESIZE LINEAR MEMORY BLOCK
310506 - INT 31 P - DPMI 1.0+ - GET PAGE ATTRIBUTES
310507 - INT 31 P - DPMI 1.0+ - MODIFY PAGE ATTRIBUTES
310508 - INT 31 P - DPMI 1.0+ - MAP DEVICE IN MEMORY BLOCK
310509 - INT 31 P - DPMI 1.0+ - MAP CONVENTIONAL MEMORY IN MEMORY BLOCK
31050A - INT 31 P - DPMI 1.0+ - GET MEMORY BLOCK SIZE AND BASE
31050B - INT 31 P - DPMI 1.0+ - GET MEMORY INFORMATION
310600 - INT 31 P - DPMI 0.9+ - LOCK LINEAR REGION
310601 - INT 31 P - DPMI 0.9+ - UNLOCK LINEAR REGION
310602 - INT 31 P - DPMI 0.9+ - MARK REAL MODE REGION AS PAGEABLE
310603 - INT 31 P - DPMI 0.9+ - RELOCK REAL MODE REGION
310604 - INT 31 P - DPMI 0.9+ - GET PAGE SIZE
310700 - INT 31 Pu - DPMI 0.9+ - MARK PAGES AS PAGING CANDIDATES
310701 - INT 31 Pu - DPMI 0.9+ - DISCARD PAGES
310702 - INT 31 P - DPMI 0.9+ - MARK PAGE AS DEMAND PAGING CANDIDATE
310703 - INT 31 P - DPMI 0.9+ - DISCARD PAGE CONTENTS
310800 - INT 31 P - DPMI 0.9+ - PHYSICAL ADDRESS MAPPING
310801 - INT 31 P - DPMI 1.0+ - FREE PHYSICAL ADDRESS MAPPING
310900 - INT 31 P - DPMI 0.9+ - GET AND DISABLE VIRTUAL INTERRUPT STATE
310901 - INT 31 P - DPMI 0.9+ - GET AND ENABLE VIRTUAL INTERRUPT STATE
310902 - INT 31 P - DPMI 0.9+ - GET VIRTUAL INTERRUPT STATE
310A00 - INT 31 P - DPMI 0.9+ - GET VENDOR SPECIFIC API ENTRY POINT
310B00 - INT 31 P - DPMI 0.9+ - SET DEBUG WATCHPOINT
310B01 - INT 31 P - DPMI 0.9+ - CLEAR DEBUG WATCHPOINT
310B02 - INT 31 P - DPMI 0.9+ - GET STATE OF DEBUG WATCHPOINT
310B03 - INT 31 P - DPMI 0.9+ - RESET DEBUG WATCHPOINT
310C00 - INT 31 P - DPMI 1.0+ - INSTALL RESIDENT HANDLER INIT CALLBACK
310C01 - INT 31 P - DPMI 1.0+ - TERMINATE AND STAY RESIDENT
310D00 - INT 31 P - DPMI 1.0+ - ALLOCATE SHARED MEMORY
310D01 - INT 31 P - DPMI 1.0+ - FREE SHARED MEMORY
310D02 - INT 31 P - DPMI 1.0+ - SERIALIZE SHARED MEMORY
310D03 - INT 31 P - DPMI 1.0+ - FREE SERIALIZATION ON SHARED MEMORY
310E00 - INT 31 P - DPMI 1.0+ - GET COPROCESSOR STATUS
310E01 - INT 31 P - DPMI 1.0+ - SET EMULATION
3157 - INT 31 - Netroom3 DPMI.EXE v3.00 - ???
315702 - INT 31 - Netroom3 DPMI.EXE v3.00 - SWITCH TO PROTECTED MODE
31EE00 - INT 31 - DOS32 v3.0+ - GET DOS32 VERSION AND SELECTOR VALUES
31EE02 - INT 31 - DOS32 v3.0+ - GET DOS32 ADDRESS INFORMATION
31EE10 - INT 31 - DOS32 v3.2+ - SET UP A DOS32 LOADABLE LIBRARY
31EE11 - INT 31 - DOS32 v3.2+ - LOAD LIBRARY FILE
31EE20 - INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH RETF STACK FRAME
31EE21 - INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH IRET STACK FRAME
31EE30 - INT 31 - DOS32 v3.0+ - TERMINATE AND STAY RESIDENT
31EE40 - INT 31 - DOS32 v3.0+ - UNDO PREVIOUS MEMORY ALLOCATION or DMA BUFFER
31EE41 - INT 31 - DOS32 v3.0+ - ALLOCATE 16KB DMA BLOCK
31EE42 - INT 31 - DOS32 v3.0+ - ALLOCATE MEMORY BLOCK
31FF00 - INT 31 P - CauseWay - "Info" - GET SYSTEM SELECTORS/FLAGS
31FF01 - INT 31 P - CauseWay - "IntXX" - SIMULATE REAL-MODE INTERRUPT
31FF02 - INT 31 P - CauseWay - "FarCallReal" - SIMULATE REAL-MODE FAR CALL
31FF03 - INT 31 P - CauseWay - "GetSel" - ALLOCATE NEW SELECTOR
31FF04 - INT 31 P - CauseWay - "RelSel" - RELEASE A SELECTOR
31FF05 - INT 31 P - CauseWay - "CodeSel" - CONVERT SELECTOR TO EXECUTABLE CODE SELECTOR
31FF06 - INT 31 P - CauseWay - "AliasSel" - CREATE READ/WRITE DATA ALIAS SELECTOR
31FF07 - INT 31 P - CauseWay - "GetSelDet" - GET SELECTOR BASE AND LIMIT
31FF08 - INT 31 P - CauseWay - "GetSelDet32" - GET SELECTOR BASE AND LIMIT (32-bit)
31FF09 - INT 31 P - CauseWay - "SetSelDet" - SET SELECTOR BASE AND LIMIT
31FF0A - INT 31 P - CauseWay - "SetSelDet32" - SET SELECTOR BASE AND LIMIT (32-bit)
31FF0B - INT 31 P - CauseWay - "GetMem" - ALLOCATE BLOCK OF MEMORY
31FF0C - INT 31 P - CauseWay - "GetMem32" - ALLOCATE BLOCK OF MEMORY (32-bit)
31FF0D - INT 31 P - CauseWay - "ResMem" - RESIZE MEMORY BLOCK
31FF0E - INT 31 P - CauseWay - "ResMem32" - RESIZE MEMORY BLOCK (32-bit)
31FF0F - INT 31 P - CauseWay - "RelMem" - RELEASE PREVIOUSLY ALLOCATED MEMORY
31FF10 - INT 31 P - CauseWay - "GetMemLinear" - ALLOCATE MEMORY WITHOUT SELECTOR
31FF11 - INT 31 P - CauseWay - "GetMemLinear32" - ALLOCATE MEMORY WITHOUT SELECTOR
31FF12 - INT 31 P - CauseWay - "ResMemLinear" - RESIZE LINEAR MEMORY BLOCK
31FF13 - INT 31 P - CauseWay - "ResMemLinear32" - RESIZE LINEAR MEMORY BLOCK (32-bit)
31FF14 - INT 31 P - CauseWay - "RelMemLinear" - RELEASE LINEAR MEMORY BLOCK
31FF15 - INT 31 P - CauseWay - "RelMemLinear32" - RELEASE LINEAR MEMORY BLOCK (32-bit)
31FF16 - INT 31 P - CauseWay - "GetMemNear" - ALLOCATE APPLICATION-RELATIVE MEMORY
31FF17 - INT 31 P - CauseWay - "ResMemNear" - RESIZE APPLICATION-RELATIVE MEMORY BLOCK
31FF18 - INT 31 P - CauseWay - "RelMemNear" - RELEASE APPLICATION-RELATIVE MEMORY BLOCK
31FF19 - INT 31 P - CauseWay - "Linear2Near" - CONVERT LINEAR TO APP-RELATIVE ADDRESS
31FF1A - INT 31 P - CauseWay - "Near2Linear" - CONVERT APP-RELATIVE TO LINEAR ADDRESS
31FF1B - INT 31 P - CauseWay - "LockMem" - LOCK REGION OF MEMORY
31FF1C - INT 31 P - CauseWay - "LockMem32" - LOCK REGION OF MEMORY (32-bit)
31FF1D - INT 31 P - CauseWay - "UnLockMem" - UNLOCK REGION OF MEMORY
31FF1E - INT 31 P - CauseWay - "UnLockMem32" - UNLOCK REGION OF MEMORY (32-bit)
31FF1F - INT 31 P - CauseWay - "LockMemNear" - LOCK APPLICATION-RELATIVE MEMORY REGION
31FF20 - INT 31 P - CauseWay - "UnLockMemNear" - UNLOCK APP-RELATIVE MEMORY REGION
31FF21 - INT 31 P - CauseWay - "GetMemDOS" - ALLOCATE CONVENTIONAL MEMORY
31FF22 - INT 31 P - CauseWay - "ResMemDOS" - RESIZE CONVENTIONAL MEMORY BLOCK
31FF23 - INT 31 P - CauseWay - "RelMemDOS" - RELEASE CONVENTIONAL MEMORY BLOCK
31FF24 - INT 31 P - CauseWay - "ExecOverlay" - LOAD AND OPTIONALLY EXECUTE APP CODE
31FF25 - INT 31 P - CauseWay - "GetDOSTrans" - GET DOS TRANSFER BUFFER
31FF26 - INT 31 P - CauseWay - "SetDOSTrans" - SET DOS TRANSFER BUFFER
31FF27 - INT 31 P - CauseWay v1.3 - "GetMCBSize" - GET CURRENT MCB ALLOCATION BLOCK SIZE
31FF28 - INT 31 P - CauseWay v1.3 - "SetMCBSize" - SET MCB MEMORY ALLOCATION BLOCK SIZE
31FF29 - INT 31 P - CauseWay v1.3 - "GetSels" - ALLOCATE MULTIPLE SELECTORS
31FF2A - INT 31 P - CauseWay v1.3 - "cwLoad" - LOAD ANOTHER CAUSEWAY PROGRAM AS OVERLAY
31FF2B - INT 31 P - CauseWay v1.3 - "cwcInfo" - VALIDATE AND GET SIZE OF CWC FILE
31FF2C - INT 31 P - CauseWay v1.3 - "GetMemSO" - ALLOCATE MEMORY AND RETURN SEL:OFFSET
31FF2D - INT 31 P - CauseWay v1.3 - "ResMemSO" - RESIZE SELECTOR:OFFSET MEMORY BLOCK
31FF2E - INT 31 P - CauseWay v1.3 - "RelMemSO" - RELEASE SELECTOR:OFFSET MEMORY BLOCK
31FFFB - INT 31 P - Causeway v1.3 - "cwcLoad" - LOAD/EXPAND CWC-COMPRESSED FILE
67DE00 - INT 67 - Virtual Control Program Interface - INSTALLATION CHECK
67DE01 - INT 67 - Virtual Control Program Interface - GET PROTECTED MODE INTERFACE
67DE02 - INT 67 - Virtual Control Program Interface - GET MAX PHYSICAL MEMORY ADDRESS
67DE03 - INT 67 - Virtual Control Program Interface - GET NUMBER OF FREE 4K PAGES
67DE04 - INT 67 - Virtual Control Program Interface - ALLOCATE A 4K PAGE
67DE05 - INT 67 - Virtual Control Program Interface - FREE 4K PAGE
67DE06 - INT 67 - Virtual Control Program Interface - GET PHYS ADDR OF PAGE IN FIRST MB
67DE07 - INT 67 - Virtual Control Program Interface - READ CR0
67DE08 - INT 67 - Virtual Control Program Interface - READ DEBUG REGISTERS
67DE09 - INT 67 - Virtual Control Program Interface - SET DEBUG REGISTERS
67DE0A - INT 67 - Virtual Control Program Interface - GET 8259 INTERRUPT VECTOR MAPPINGS
67DE0B - INT 67 - Virtual Control Program Interface - SET 8259 INTERRUPT VECTOR MAPPINGS
67DE0C - INT 67 - Virtual Control Program Interface - SWITCH TO PROTECTED MODE
78 - INT 78 - UofSalford DBOS DOS extender - API
78 - INT 78 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ0
780000 - INT 78 - HugeRealMode Driver - INSTALLATION CHECK
780001 - INT 78 - HugeRealMode Driver - GET ENTRY POINT
79 - INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
79 - INT 79 - DBOS DOS Extender
7A - INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
7B - INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
7C - INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
7D - INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
7E - INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
7F - INT 7F - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ7
80 - INT 80 - Phar Lap 386|DOS-Extender - RELOCATED PRINT-SCREEN
Top

F - FAX,

1177 - INT 11 - RainbowFAX v1.3 - SFENGINE API - OPERATIONAL CONTROL
1178 - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
1179 - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
117A - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
117C01 - INT 11 - RainbowFAX v1.3 - SFENGINE API - SET ??? FLAG
117C02 - INT 11 - RainbowFAX v1.3 - SFENGINE API - CLEAR ??? FLAG
117C03 - INT 11 - RainbowFAX v1.3 - SFENGINE API - UNSUPPORTED FUNCTIONS
2F2A - INT 2F - Gammafax DOS Dispatcher INTERFACE
2F8000DX0000 - INT 2F - FaxBIOS interface - INSTALLATION CHECK
2F80FB - INT 2F - FaxBIOS interface - COMMAND SUBMISSION
2FC0 - INT 2F - METZ XpressFax Hardware TSR (CLASS2) - API
2FC000BX444B - INT 2F - METZ XpressFax Hardware TSR (CLASS2) - INSTALLATION CHECK
2FCA - INT 2F - FAXPLUS - FAX TSR
2FCB00 - INT 2F - Communicating Applications Specification - INSTALLATION CHECK
2FCB00BX4D53 - INT 2F - METZ XpressFax CASMGR - INSTALLATION CHECK
2FCB01 - INT 2F - Communicating Applications Specification - SUBMIT A TASK
2FCB02 - INT 2F - Communicating Applications Specification - ABORT CURRENT EVENT
2FCB05 - INT 2F - Communicating Applications Specification - FIND FIRST QUEUE ENTRY
2FCB06 - INT 2F - Communicating Applications Specification - FIND NEXT QUEUE ENTRY
2FCB07 - INT 2F - Communicating Applications Specification - OPEN FILE
2FCB08 - INT 2F - Communicating Applications Specification - DELETE FILE
2FCB09 - INT 2F - Communicating Applications Specification - DELETE ALL FILES IN Q
2FCB0A - INT 2F - Communicating Applications Specification - GET EVENT DATE
2FCB0B - INT 2F - Communicating Applications Specification - SET TASK DATE
2FCB0C - INT 2F - Communicating Applications Specification - GET EVENT TIME
2FCB0D - INT 2F - Communicating Applications Specification - SET TASK TIME
2FCB0E - INT 2F - Communicating Applications Specification - GET EXTERNAL DATA BLOCK
2FCB0F - INT 2F - Communicating Applications Specification - GET/SET AUTORECEIVE
2FCB10 - INT 2F - Communicating Applications Specification - GET CURRENT EVENT STATUS
2FCB11 - INT 2F - Communicating Applications Specification - GET QUEUE STATUS
2FCB11DL03 - INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF SEND EVENTS
2FCB11DL04 - INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF RECEIVE EVENTS
2FCB12 - INT 2F - Communicating Applications Specification - GET HARDWARE STATUS
2FCB13DL00 - INT 2F - Communicating Applications Specification - GET DIAGNOSTICS RESULTS
2FCB13DL01 - INT 2F - Communicating Applications Specification - START DIAGNOSTICS
2FCB14 - INT 2F - Communicating Applications Specification - MOVE RECEIVED FILE
2FCB15 - INT 2F - Communicating Applications Specification - SUBMIT FILE TO SEND
2FCB16BX1234 - INT 2F - Communicating Applications Spec v1.2+ - UNLOAD RESIDENT MANAGER
2FCB17 - INT 2F - Communicating Applications Spec v1.2+ - SET COVER PAGE STATUS
2FCB80 - INT 2F - Intel SatisFAXtion CASMGR - ???
2FCB81 - INT 2F - Intel SatisFAXtion CASMGR - ???
2FCB82 - INT 2F - Intel SatisFAXtion CASMGR - ???
2FCBDCBL56 - INT 2F - Comwave Microfax Specification - GET STATUS ARRAY
2FCBDDBL56 - INT 2F - Comwave Microfax Specification - COMMAND SUBMISSION
2FDA00 - INT 2F - ZyXEL ZFAX v1.x - INSTALLATION CHECK
2FDA01 - INT 2F - ZyXEL ZFAX v1.x - UNINSTALL
2FDA02 - INT 2F - ZyXEL ZFAX v.1x - DISABLE
2FDA03 - INT 2F - ZyXEL ZFAX v1.x - ENABLE
2FDB00 - INT 2F - ZyXEL ZFAX v2+ - INSTALLATION CHECK
2FDB01 - INT 2F - ZyXEL ZFAX v2+ - UNINSTALL
2FDB02 - INT 2F - ZyXEL ZFAX v2.x - DISABLE
2FDB03 - INT 2F - ZyXEL ZFAX v2.x - ENABLE
2FDB10 - INT 2F - ZyXEL ZFAX v3+ - EXECUTE ZFAX MAIN MENU
2FDB11 - INT 2F - ZyXEL ZFAX v3+ - SEND FAX
2FDB12 - INT 2F - ZyXEL ZFAX v3+ - PRINT FAX
2FDB13 - INT 2F - ZyXEL ZFAX v3+ - CONVERT FAX
2FDB14 - INT 2F - ZyXEL ZFAX v3+ - VIEW FAX
2FDB15 - INT 2F - ZyXEL ZFAX v4.01 - SEND FAX WITH LOGO AND SIGNATURE
2FDB16 - INT 2F - ZyXEL ZFAX v4.01 - QUOTE PREVIOUS STATUS
2FDB17 - INT 2F - ZyXEL ZFAX v4.01 - BEGIN RECEIVING INCOMING CALL
2FDB18 - INT 2F - ZyXEL ZFAX v4.01 - SCHEDULE CALL
2FDB20 - INT 2F - ZyXEL ZFAX v3+ - POLL FAX
2FDB21 - INT 2F - ZyXEL ZFAX v3+ - SEND VOICE
2FDB22 - INT 2F - ZyXEL ZFAX v3+ - CONVERT VOICE FILE
2FDB23 - INT 2F - ZyXEL ZFAX v3+ - RECORD VOICE FILE
2FDB24 - INT 2F - ZyXEL ZFAX v3+ - PLAY VOICE FILE
2FDB25 - INT 2F - ZyXEL ZFAX v3+ - ANSWER MODEM WITH VOICE SYSTEM
2FDB26 - INT 2F - ZyXEL ZFAX v3+ - DIAL PHONE
2FDB27 - INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX - ANSWER MODEM AND SET TO FAX MODE
2FDB28 - INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX DATA - ANSWER MODEM IN MULTI-AUDIO MODE
2FDB40 - INT 2F - ZyXEL ZFAX v3+ - INTERNAL TERMINAL
2FDB41 - INT 2F - ZyXEL ZFAX v3+ - SEND DATA - DIAL NUMBER AND UPLOAD FILE WITH ZMODEM
6601 - INT 66 - BitFax Scheduler - SET MODE???
6602 - INT 66 - BitFax Scheduler - SET MODE???
6603 - INT 66 - BitFax Scheduler - SCHEDULE FAX TRANSMISSIONS
6604 - INT 66 - BitFax Scheduler - GET STATUS???
6605 - INT 66 - BitFax Scheduler - CONVERT FILE AND SEND FAX
6606 - INT 66 - BitFax Scheduler - SET MODE???
663345 - INT 66 - BitFax Scheduler - REMOVE TSR FROM MEMORY
Top

G - debuggers/debugging tools

00 - INT 00 - Zenith - ROM DEBUGGER
03 - INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
03 - INT 03 - Realia COBOL - DEBUGGER SUPPORT
03 - INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
030000 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
0301 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030902 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
030903 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030907 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03090A - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03090B - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030910 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
030911 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
030912 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
030913 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
030914 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
030918 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
0310 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
0311 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03130C - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03130E - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
031313 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
1105D7 - INT 11 CU - Borland C++ IDE - INSTALLED CALLOUT
1205D7BX05D7 - INT 12 U - Borland C++ IDE - INSTALLATION CHECK
166C63 - INT 16 U - TMED v1.6a - INSTALLATION CHECK
20 - INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER
21 - INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE
212B--CX6269 - INT 21 - WDTSR.COM - INSTALLATION CHECK
213022 - INT 21 - StopPrg v2.0 - INSTALLATION CHECK
213F - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - READ STATUS BLOCK
2140 - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
22 - INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
23 - INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
26 - INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
27 - INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
2F4500 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - INSTALLATION CHECK
2F4501 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SETUP PROFILER
2F4502 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SET SAMPLING RATE
2F4503 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - START PROFILING
2F4504 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - STOP PROFILING
2F4505 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - CLEAR PROFILING DATA
2F4506 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFlush"
2F4507 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFinish"
2F4508 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - ALTERNATE SEGDEBUG IFACE
2F8200 - INT 2F U - Nanosoft, Inc. CAPDOS - INSTALLATION CHECK
2F8201 - INT 2F - Nanosoft, Inc. CAPDOS - CLEAR QUEUE
2F8202 - INT 2F - Nanosoft, Inc. CAPDOS - START COLLECTION
2F8203 - INT 2F - Nanosoft, Inc. CAPDOS - STOP COLLECTION
2F8204 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE PARAMETERS
2F8205 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE ITEM
2F9E00 - INT 2F U - INTMON v2.1 - INSTALLATION CHECK
2F9E01 - INT 2F U - INTMON v2.1 - RESET
2F9E02 - INT 2F U - INTMON v2.1 - DISPLAY CPU REGISTERS???
2F9E03 - INT 2F U - INTMON v2.1 - HOOK INTERRUPT???
2F9F00 - INT 2F U - INTCFG v2.1 - INSTALLATION CHECK
2F9F01 - INT 2F U - INTCFG v2.1 - ???
2F9F30 - INT 2F U - INTCFG v2.1 - GET ???
2F9F49 - INT 2F U - INTCFG v2.1 - UNINSTALL
2FD000 - INT 2F C - MDEBUG display driver - GET DRIVER STATUS
2FD001 - INT 2F C - MDEBUG display driver - INITIALIZE DRIVER
2FD002 - INT 2F C - MDEBUG display driver - SAVE GRAPHIC DATA
2FD003 - INT 2F C - MDEBUG display driver - RESTORE GRAPHIC DATA
2FD004 - INT 2F - MDEBUG display driver - SHOW SAVED DATA
2FD005 - INT 2F - MDEBUG display driver - SWITCH BACK TO TEXT SCREEN
2FD0 - INT 2F - MDEBUG display driver - RESERVED FUNCTION NUMBERS
2FD0 - INT 2F - MDEBUG display driver - USER DEFINED FUNCTION NUMBERS
2FD100 - INT 2F C - MDEBUG command driver - GET STATUS
2FD101 - INT 2F - MDEBUG command driver - INITIALIZE DRIVER
2FD102 - INT 2F - MDEBUG command driver - EXECUTE INTERPRETER COMMAND
2FD103 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE MONITOR
2FD104 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE INTERPRETER
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
2FD110 - INT 2F - MDEBUG command driver - GET ADDRESS OF THE OLD INT 2F
2FD111 - INT 2F - MDEBUG command driver - START DRIVER
2FD112 - INT 2F - MDEBUG command driver - END DRIVER
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
2FD1 - INT 2F - MDEBUG command driver - USER DEFINED FUNCTIONS
2FD201BX4D41 - INT 2F U - Quarterdeck RPCI - MANIFEST v1.0+ - INSTALLATION CHECK
2FD600 - INT 2F - HEART.COM - INSTALLATION CHECK
2FDA55 - INT 2F U - TRAP.COM - INSTALLATION CHECK
2FF400 - INT 2F - FINDIRQ.COM - INSTALLATION CHECK
2FF401CX5121 - INT 2F - FINDIRQ.COM - GET HOOKED INTERRUPTS
2FFB43BX0100 - INT 2F PU - Borland TDX - INSTALLATION CHECK
410000 - INT 41 CPU - MS Windows debugging kernel - OUTPUT CHARACTER FOR USER
410001 - INT 41 CPU - MS Windows debugging kernel - INPUT CHARACTER
41000D - INT 41 CPU - MS Windows debugging kernel - TASK GOING OUT
41000E - INT 41 CPU - MS Windows debugging kernel - TASK COMING IN
410012 - INT 41 CPU - MS Windows debugging kernel - "OutputDebugString"
41004F - INT 41 CPU - MS Windows debugging kernel - DEBUGGER INSTALLATION CHECK
410050 - INT 41 P - MS Windows debugging kernel - "DefineDebugSegment"
410051 - INT 41 CPU - MS Windows debugging kernel - MOVE SEGMENT
410052 - INT 41 CPU - MS Windows debugging kernel - FREE SEGMENT
410059 - INT 41 CPU - MS Windows debugging kernel - LOAD TASK
41005C - INT 41 CPU - MS Windows debugging kernel - FREE INITIAL SEGMENT
410060 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT LOAD
410061 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT DISCARD
410062 - INT 41 CPU - MS Windows debugging kernel - APPLICATION TERMINATING
410063 - INT 41 CPU - MS Windows debugging kernel - ASYNCHRONOUS STOP (Ctrl-Alt-SysReq)
410064 - INT 41 CPU - MS Windows debugging kernel - DLL LOADED
410065 - INT 41 CPU - MS Windows debugging kernel - MODULE REMOVED
410066 - INT 41 CPU - MS Windows debugging kernel - ERROR
410067 - INT 41 CPU - MS Windows debugging kernel - PARAMETER ERROR
60 - INT 60 U - INTRSPY/CMDSPY v1.0 only - API
6000 - INT 60 - SYS_PROF.EXE - PROFILER STATUS
6000 - INT 60 - MDEBUG - GET STATUS
6001 - INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
6001 - INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
6002 - INT 60 - MDEBUG - SET STATUS
6002 - INT 60 - SYS_PROF.EXE - TURN PROFILING ON
6003 - INT 60 - MDEBUG - POP UP
6003 - INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
6004 - INT 60 - MDEBUG - POP UP
6004 - INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
6005 - INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
6006 - INT 60 - MDEBUG - GET PASSWORD STATUS
6007 - INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
6008 - INT 60 - MDEBUG - UNUSED
696996 - INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
7D00 - INT 7D - SCSILink - RESET SCSI BUS
7D01 - INT 7D - SCSILink - CONNECT TO TARGET
7D02 - INT 7D - SCSILink - SEND COMMAND
7D03 - INT 7D - SCSILink - SET TIMEOUT
7D04 - INT 7D - SCSILink - GET ERROR STRING
7D05 - INT 7D - SCSILink - GET ADDRESS
7D06 - INT 7D - SCSILink - PUT DATA
7D07 - INT 7D - SCSILink - GET DATA
7D08 - INT 7D - SCSILink - TERMINATE SESSION
7D09 - INT 7D - SCSILink - POLL REQUEST
FE - INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER
Top

H - hardware

02 - INT 02 C - external hardware - NON-MASKABLE INTERRUPT
08 - INT 08 C - IRQ0 - SYSTEM TIMER
09 - INT 09 C - IRQ1 - KEYBOARD DATA READY
0A - INT 0A C - IRQ2 - LPT2 (PC), VERTICAL RETRACE INTERRUPT (EGA,VGA)
0A - INT 0A C - IRQ2 - Tandy 1000-series HARD DISK
0A - INT 0A - IRQ2 - ROLAND MPU MIDI INTERFACE
0B - INT 0B C - IRQ3 - SERIAL COMMUNICATIONS (COM2)
0C - INT 0C C - IRQ4 - SERIAL COMMUNICATIONS (COM1)
0D - INT 0D C - IRQ5 - FIXED DISK (PC,XT), LPT2 (AT), reserved (PS/2)
0D - INT 0D C - IRQ5 - Tandy 1000 60 Hz RAM REFRESH
0E - INT 0E C - IRQ6 - DISKETTE CONTROLLER
0F - INT 0F C - IRQ7 - PARALLEL PRINTER
50 - INT 50 - IRQ0 relocated by DESQview
50 - INT 50 - IRQ0 relocated by IBM 3278 emulation control program
50 - INT 50 - IRQ0 relocated by OS/2 v1.x
51 - INT 51 - IRQ1 relocated by DESQview
51 - INT 51 - IRQ1 relocated by IBM 3278 emulation control program
51 - INT 51 - IRQ1 relocated by OS/2 v1.x
52 - INT 52 - IRQ2 relocated by DESQview
52 - INT 52 - IRQ2 relocated by IBM 3278 emulation control program, OS/2 v1.x
53 - INT 53 - IRQ3 relocated by DESQview
53 - INT 53 - IRQ3 relocated by IBM 3278 emulation control program, OS/2 v1.x
54 - INT 54 - IRQ4 relocated by DESQview
54 - INT 54 - IRQ4 relocated by IBM 3278 emulation control program, OS/2 v1.x
55 - INT 55 - IRQ5 relocated by DESQview
55 - INT 55 - IRQ5 relocated by IBM 3278 emulation control program, OS/2 v1.x
56 - INT 56 - IRQ6 relocated by DESQview
56 - INT 56 - IRQ6 relocated by IBM 3278 emulation control program, OS/2 v1.x
57 - INT 57 - IRQ7 relocated by DESQview
57 - INT 57 - IRQ7 relocated by IBM 3278 emulation control program, OS/2 v1.x
58 - INT 58 - IRQ8 relocated by DESQview 2.26+
58 - INT 58 - IRQ0 relocated by DoubleDOS
59 - INT 59 - IRQ9 relocated by DESQview 2.26+
59 - INT 59 - IRQ1 relocated by DoubleDOS
5A - INT 5A - IRQ10 relocated by DESQview 2.26+
5A - INT 5A - IRQ2 relocated by DoubleDOS
5B - INT 5B - IRQ11 relocated by DESQview 2.26+
5B - INT 5B - IRQ3 relocated by DoubleDOS
5C - INT 5C - IRQ12 relocated by DESQview 2.26+
5C - INT 5C - IRQ4 relocated by DoubleDOS
5D - INT 5D - IRQ13 relocated by DESQview 2.26+
5D - INT 5D - IRQ5 relocated by DoubleDOS
5E - INT 5E - IRQ14 relocated by DESQview 2.26+
5E - INT 5E - IRQ6 relocated by DoubleDOS
5F - INT 5F - IRQ15 relocated by DESQview 2.26+
5F - INT 5F - IRQ7 relocated by DoubleDOS
70 - INT 70 C - IRQ8 - CMOS REAL-TIME CLOCK
71 - INT 71 C - IRQ9 - REDIRECTED TO INT 0A BY BIOS
72 - INT 72 C - IRQ10 - RESERVED
73 - INT 73 C - IRQ11 - RESERVED
74 - INT 74 C - IRQ12 - POINTING DEVICE (PS)
75 - INT 75 C - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
76 - INT 76 C - IRQ14 - HARD DISK CONTROLLER OPERATION COMPLETE (AT and later)
77 - INT 77 C - IRQ15 - RESERVED (AT,PS)
77 - INT 77 C - IRQ15 - SECONDARY IDE CONTROLLER - OPERATION COMPLETE
77 - INT 77 C - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
D8 - INT D8 - Screen Thief v1.00 - RELOCATED IRQ0
D9 - INT D9 - Screen Thief v1.00 - RELOCATED IRQ1
DA - INT DA - Screen Thief v1.00 - RELOCATED IRQ2
DB - INT DB - Screen Thief v1.00 - RELOCATED IRQ3
DC - INT DC - Screen Thief v1.00 - RELOCATED IRQ4
DD - INT DD - Screen Thief v1.00 - RELOCATED IRQ5
DE - INT DE - Screen Thief v1.00 - RELOCATED IRQ6
DF - INT DF - Screen Thief v1.00 - RELOCATED IRQ7
Top

I - IBM workstation/terminal emulators

0C - INT 0C - IBM SYSTEM 36/38 WORKSTATION EMULATION - API POINTER
214402 - INT 21 U - IBM SYSTEM 36/38 WORKSTATION EMULATION - VDI.SYS - GET ???
21A0 - INT 21 - Attachmate Extra! - GET 3270 DISPLAY STATE
21A1 - INT 21 - Attachmate Extra! - SET 3270 DISPLAY STATE
21A2 - INT 21 - Attachmate Extra! - SET HOST WINDOW STATE
21A3 - INT 21 - Attachmate Extra! - SEND KEYSTROKES TO HOST WINDOW
21A4 - INT 21 - Attachmate Extra! - GET HOST WINDOW BUFFER ADDRESS
21A5 - INT 21 - Attachmate Extra! - GET HOST WINDOW CURSOR POSITION
21AF - INT 21 - Attachmate Extra! - GET TRANSLATE TABLE ADDRESS
21B8 - INT 21 - Attachmate Extra! - DISABLE HOST BUFFER UPDATES
2A90 - INT 2A U - IBM PC 3270 EMULATION PROGRAM - ???
2FB400 - INT 2F - IBM PC3270 EMULATION PROG v3 - INSTALLATION CHECK
2FB401 - INT 2F - IBM PC3270 EMULATION PROG v3 - GET HOST BUFFER ADDRESS
2FB402 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
2FB403 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
2FB404 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
2FB405 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
44 - INT 44 - IBM 3270-PC High Level Language API
60 - INT 60 u - 3270-PC CONTROL PROGRAM - ???
61 - INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
610002 - INT 61 - Banyan VINES - 3270 INTERFACE
67 - INT 67 - Sangoma CCPOP 3270 resident module
68 - INT 68 - Sangoma CCPOP 3270 resident module
7A04 - INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
7A06 - INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - Multi-DOS
7A09 - INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
7A13 - INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
7A81 - INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
7A83 - INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
7AFDCB - INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
7AFE01 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
7AFE02 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
7AFF01 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
7AFF02 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
7AFF03 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
7AFF04 - INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
7B - INT 7B - Eicon Access API (3270/5250 gateways)
7F0104BX0000 - INT 7F - HLLAPI (IBM 3270 High-Level Language API)/LLAPI (Rabbit Low Level API)
Top

J - Japanese

1013 - INT 10 - DOS/V - READ/WRITE DOUBLE-BYTE CHARACTER SET CHARACTERS/ATTRIBUTES
1018 - INT 10 - VIDEO - DOS/V - GET/SET FONT PATTERN
101D - INT 10 - VIDEO - DOS/V - SHIFT STATUS LINE CONTROL
105000 - INT 10 - VIDEO - AX PC - SET SCREEN COUNTRY CODE
105001 - INT 10 - VIDEO - AX PC - GET SCREEN COUNTRY CODE
105100 - INT 10 - VIDEO - AX PC - REGISTER EXTERNAL CHARACTER
105101 - INT 10 - VIDEO - AX PC - READ CHARACTER
105200 - INT 10 - VIDEO - AX PC - SET VIRTUAL TEXT RAM BUFFER
105201 - INT 10 - VIDEO - AX PC - GET VIRTUAL TEXT RAM BUFFER
108200 - INT 10 - VIDEO - AX PC - GET/SET SCROLL MODE
108300 - INT 10 - VIDEO - AX PC - GET VIDEO RAM ADDRESS
154900 - INT 15 - Far East MS-DOS - GET BIOS TYPE
1550 - INT 15 - DOS/V - FONT SUBSYSTEM ACCESS
1613 - INT 16 - DOS/V - DOUBLE-BYTE CHARACTER SET SHIFT CONTROL
1614 - INT 16 - DOS/V - SHIFT STATUS DISPLAY CONTROL
165000 - INT 16 - KEYBOARD - AX PC - SET KEYBOARD COUNTRY CODE
165001 - INT 16 - KEYBOARD - AX PC - GET KEYBOARD COUNTRY CODE
1651 - INT 16 - KEYBOARD - AX PC - READ SHIFT KEY STATUS
175000 - INT 17 - AX (Japanese AT) PRINTER - SET PRINTER COUNTRY CODE
175001 - INT 17 - AX (Japanese AT) PRINTER - GET PRINTER COUNTRY CODE
1751 - INT 17 - AX (Japanese AT) PRINTER - JIS to Shift-JIS CONVERSION
1752 - INT 17 - AX (Japanese AT) PRINTER - Shift-JIS to JIS CONVERSION
1784 - INT 17 - AX (Japanese AT) PRINTER - OUTPUT CHARACTER WITHOUT CONVERSION
1785 - INT 17 - AX (Japanese AT) PRINTER - ENABLE/DISABLE CHARACTER CONVERSION
1800 - INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
1801 - INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
1802 - INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
1803 - INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
1804 - INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
18 - INT 18 - NEC PC-9800 series - VIDEO
180E - INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
181B - INT 18 - NEC PC-9800 series - SET DISPLAY MODE
1A10 - INT 1A - NEC PC-9800 series - PRINTER - INITIALIZE
1A1000 - INT 1A - NEC PC-9800 series - INSTALLATION CHECK
1A11 - INT 1A - NEC PC-9800 series - PRINTER - OUTPUT CHARACTER
1A12 - INT 1A - NEC PC-9800 series - PRINTER - SENSE STATUS
1F90 - INT 1F - NEC PC-9801 - COPY EXTENDED MEMORY
Top

K - keyboard enhancers

10FA - INT 10 - FASTBUFF.COM - INSTALLATION CHECK
12----CX1806 - INT 12 - KEYBUI v2.0+ - INSTALLATION CHECK
1482 - INT 14 - KEYBOARD FOSSIL
1604 - INT 16 - K3PLUS v6.22+ - SET KEYCLICK
160A - INT 16 - KEYBOARD - GET KEYBOARD ID
1620 - INT 16 O - K3 v1.5x, K3PLUS v5.xx - GET EXTENDED BUFFER STATE
1625 - INT 16 O - K3 v1.5x, K3PLUS v5.xx - COPY INTO EXTENDED BUFFER
164B - INT 16 - Frank Klemm Keyboard Driver v2.0 - API
164D4F - INT 16 - M16_KBD.COM v5.6 - INSTALLATION CHECK
165472BX4C54 - INT 16 - TrLit - API
1670 - INT 16 - FAKEY.COM - INSTALLATION CHECK
1671 - INT 16 - FAKEY.COM - PUSH KEYSTROKES
1672 - INT 16 - FAKEY.COM - CLEAR FAKED KEYSTROKES
1673 - INT 16 - FAKEY.COM - PLAY TONES
1687 - INT 16 - DK.COM v1.03 - INSTALLATION CHECK
1692 - INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
16A2 - INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
16AF20BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - GET EXTENDED BUFFER STATE
16AF25BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - COPY INTO EXTENDED BUFFER
16AF4DBX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - GET VERSION INFORMATION
16AF50BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - CHECK IF FUNCTION SUPPORTED
16AF51BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - SET OPTIONS
16AF80BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 09h VECTOR
16AF81BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 16h HANDLER
16AF82BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 10h HANDLER
16CA--BX736B - INT 16 - CtrlAlt Associates STACKEY.COM v3.00 - API
16FF - INT 16 - KEYBOARD - KBUF extensions - ADD KEY TO TAIL OF KEYBOARD BUFFER
210A00 - INT 21 - WCED v1.6+ - INSTALLATION CHECK
21FF - INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
21FF - INT 21 - DOSED.COM - INSTALLATION CHECK
2D--10 - INT 2D - KEYBIT Lite v5+ - GET POINTER TO STATUS BYTE
2D--10 - INT 2D - ALTMENU - GET POINTER TO KEY CODE
2F4800 - INT 2F - DOS 5+ DOSKEY - INSTALLATION CHECK
2F4800 - INT 2F - PCED v2.1 - INSTALLATION CHECK
2F4810 - INT 2F - DOS 5+ DOSKEY, PCED v2.1 - READ INPUT LINE FROM CONSOLE
2F48C0 - INT 2F - PCED v2.1 - PCED API
2F48C3BL00 - INT 2F - PCED/KEYDEF - INSTALLATION CHECK
2F4B52 - INT 2F - KeyRus v7.3 - API
2F7041BX4B70 - INT 2F U - HP 200LX - KEY200 - INSTALLATION CHECK
2FAD80 - INT 2F u - MS-DOS 3.3+ KEYB.COM internal - INSTALLATION CHECK
2FAD80 - INT 2F u - Novell DOS 7 KEYB.COM - INSTALLATION CHECK
2FAD81 - INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD CODE PAGE
2FAD82 - INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD MAPPING
2FAD83 - INT 2F - DOS 5+ KEYB.COM - GET KEYBOARD MAPPING
2FAD84 - INT 2F - PC DOS 5.0+ KEYB.COM - SET KEYBOARD SUB-MAPPING
2FAD85 - INT 2F - PC DOS 5.0+ KEYB.COM - GET KEYBOARD SUB-MAPPING
2FC000 - INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
2FC001CX03FB - INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - UNINSTALL
2FC0AE - INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
2FC0AF - INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - GET BUFFER ADDRESS
2FCF00 - INT 2F - TEMPLEXX 1.0 - INSTALLATION CHECK
2FD3D3BH00 - INT 2F - KDRIVE v2.x - INSTALLATION CHECK
2FD44FBX0000 - INT 2F - 4DOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
2FD44FBX0001 - INT 2F - 4DOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
2FDC00 - INT 2F - GOLD.COM - INSTALLATION CHECK
2FDC01 - INT 2F - GOLD.COM - GET STATE
2FDC02 - INT 2F - GOLD.COM - SET STATE
2FE000DX5354 - INT 2F - StuffIt v3.21+ - INSTALLATION CHECK
2FE100 - INT 2F - Phantom2 v1.1+ - INSTALLATION CHECK
2FE101 - INT 2F - Phantom2 v1.1+ - FUNCTION REQUEST
2FE102 - INT 2F - Phantom2 v1.1+ - UNINSTALL
2FE103 - INT 2F - Phantom2 v2.8 - SET ??? FLAG
2FE300 - INT 2F - ANARKEY.COM - INSTALLATION CHECK
2FE301 - INT 2F U - ANARKEY.COM v2+ - GET ???
2FE302 - INT 2F U - ANARKEY.COM v3+ - ???
2FE303 - INT 2F U - ANARKEY.COM v3+ - ANARKMD API
2FE304 - INT 2F U - ANARKEY.COM v2+ - ???
2FE305 - INT 2F U - ANARKEY.COM v3+ - ENABLE/SUSPEND ANARKEY
2FE306 - INT 2F U - ANARKEY.COM v4.0 - GET ???
2FE307 - INT 2F U - ANARKEY.COM v4.0 - GET ???
2FE337 - INT 2F - INT16.COM - INSTALLATION CHECK
2FE44FBX0000 - INT 2F - NDOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
2FE44FBX0001 - INT 2F - NDOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
2FED58 - INT 2F U - K5.COM - INSTALLATION CHECK
2FF000 - INT 2F U - 4MAP - INSTALLATION CHECK
2FF001 - INT 2F U - 4MAP - GET KEY MAPPINGS
2FF002 - INT 2F U - 4MAP - INSERT CHARACTER INTO ???
2FF003 - INT 2F U - 4MAP - INSERT CHARACTER INTO ???
2FFD12 - INT 2F - KS/KEYSTKCT.EXE - INSTALLATION CHECK
66 - INT 66 - Newkey v5.4 - INSTALLATION VECTOR
Top

M - mouse/pointing device

1500 - INT 15 - Amstrad PC1512 - GET AND RESET MOUSE COUNTS
15C200 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - ENABLE/DISABLE
15C201 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - RESET
15C202 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET SAMPLING RATE
15C203 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET RESOLUTION
15C204 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - GET TYPE
15C205 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - INITIALIZE
15C206 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - EXTENDED COMMANDS
15C207 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET DEVICE HANDLER ADDR
15C208 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - WRITE TO POINTER PORT
15C209 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - READ FROM POINTER PORT
15C2 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
16FFFE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SHOW MOUSE CURSOR
16FFFF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - HIDE MOUSE CURSOR
2FC000 - INT 2F - QMR - INSTALLATION CHECK
2FC001 - INT 2F - QMR - REQUEST HARDWARE RESET
2FC002 - INT 2F - QMR - DISABLE QMR
2FC003 - INT 2F - QMR - ENABLE QMR
2FD000 - INT 2F - ZWmous - INSTALLATION CHECK
330000 - INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
330001 - INT 33 - MS MOUSE v1.0+ - SHOW MOUSE CURSOR
330002 - INT 33 - MS MOUSE v1.0+ - HIDE MOUSE CURSOR
330003 - INT 33 - MS MOUSE v1.0+ - RETURN POSITION AND BUTTON STATUS
330004 - INT 33 - MS MOUSE v1.0+ - POSITION MOUSE CURSOR
330005 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON PRESS DATA
330006 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON RELEASE DATA
330007 - INT 33 - MS MOUSE v1.0+ - DEFINE HORIZONTAL CURSOR RANGE
330008 - INT 33 - MS MOUSE v1.0+ - DEFINE VERTICAL CURSOR RANGE
330009 - INT 33 - MS MOUSE v3.0+ - DEFINE GRAPHICS CURSOR
33000A - INT 33 - MS MOUSE v3.0+ - DEFINE TEXT CURSOR
33000B - INT 33 - MS MOUSE v1.0+ - READ MOTION COUNTERS
33000C - INT 33 - MS MOUSE v1.0+ - DEFINE INTERRUPT SUBROUTINE PARAMETERS
33000D - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION ON
33000E - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION OFF
33000F - INT 33 - MS MOUSE v1.0+ - DEFINE MICKEY/PIXEL RATIO
330010 - INT 33 - MS MOUSE v1.0+ - DEFINE SCREEN REGION FOR UPDATING
330010 - INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
330011 - INT 33 - Genius Mouse 9.06 - GET NUMBER OF BUTTONS
330012 - INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
330013 - INT 33 - MS MOUSE v5.0+ - DEFINE DOUBLE-SPEED THRESHOLD
330014 - INT 33 - MS MOUSE v3.0+ - EXCHANGE INTERRUPT SUBROUTINES
330015 - INT 33 - MS MOUSE v6.0+ - RETURN DRIVER STORAGE REQUIREMENTS
330016 - INT 33 - MS MOUSE v6.0+ - SAVE DRIVER STATE
330017 - INT 33 - MS MOUSE v6.0+ - RESTORE DRIVER STATE
330018 - INT 33 - MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER
330019 - INT 33 - MS MOUSE v6.0+ - RETURN USER ALTERNATE INTERRUPT VECTOR
33001A - INT 33 - MS MOUSE v6.0+ - SET MOUSE SENSITIVITY
33001B - INT 33 - MS MOUSE v6.0+ - RETURN MOUSE SENSITIVITY
33001C - INT 33 - MS MOUSE v6.0+ - SET INTERRUPT RATE
33001D - INT 33 - MS MOUSE v6.0+ - DEFINE DISPLAY PAGE NUMBER
33001E - INT 33 - MS MOUSE v6.0+ - RETURN DISPLAY PAGE NUMBER
33001F - INT 33 - MS MOUSE v6.0+ - DISABLE MOUSE DRIVER
330020 - INT 33 - MS MOUSE v6.0+ - ENABLE MOUSE DRIVER
330021 - INT 33 - MS MOUSE v6.0+ - SOFTWARE RESET
330022 - INT 33 - MS MOUSE v6.0+ - SET LANGUAGE FOR MESSAGES
330023 - INT 33 - MS MOUSE v6.0+ - GET LANGUAGE FOR MESSAGES
330024BX0000 - INT 33 - MS MOUSE v6.26+ - GET SOFTWARE VERSION, MOUSE TYPE, AND IRQ NUMBER
330025 - INT 33 - MS MOUSE v6.26+ - GET GENERAL DRIVER INFORMATION
330026 - INT 33 - MS MOUSE v6.26+ - GET MAXIMUM VIRTUAL COORDINATES
330026 - INT 33 - Genius Mouse 9.06 - ???
330027 - INT 33 - MS MOUSE v7.01+ - GET SCREEN/CURSOR MASKS AND MICKEY COUNTS
330028 - INT 33 - MS MOUSE v7.0+ - SET VIDEO MODE
330029 - INT 33 - MS MOUSE v7.0+ - ENUMERATE VIDEO MODES
33002A - INT 33 - MS MOUSE v7.02+ - GET CURSOR HOT SPOT
33002B - INT 33 - MS MOUSE v7.0+ - LOAD ACCELERATION PROFILES
33002C - INT 33 - MS MOUSE v7.0+ - GET ACCELERATION PROFILES
33002D - INT 33 - MS MOUSE v7.0+ - SELECT ACCELERATION PROFILE
33002E - INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILE NAMES
33002F - INT 33 - MS MOUSE v7.02+ - MOUSE HARDWARE RESET
330030 - INT 33 - MS MOUSE v7.04+ - GET/SET BallPoint INFORMATION
330031 - INT 33 - MS MOUSE v7.05+ - GET CURRENT MINIMUM/MAXIMUM VIRTUAL COORDINATES
330032 - INT 33 - MS MOUSE v7.05+ - GET ACTIVE ADVANCED FUNCTIONS
330033 - INT 33 - MS MOUSE v7.05+ - GET SWITCH SETTINGS AND ACCELERATION PROFILE DATA
330034 - INT 33 - MS MOUSE v8.0+ - GET INITIALIZATION FILE
330035 - INT 33 - MS MOUSE v8.10+ - LCD SCREEN LARGE POINTER SUPPORT
330042 - INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
330043 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CONFIGURE MOUSE???
330044CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE IGNORE ACCELERATION CMDS
330045CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE RESOLUTION DOUBLING
330047 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET BUTTON ASSIGNMENTS
330048BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET ???
33004B - INT 33 - LCS/Telegraphics MOUSE DRIVERS - INSTALLATION CHECK / GET VERSION
33004CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ??? FLAG
33004D - INT 33 - MS MOUSE - RETURN POINTER TO COPYRIGHT STRING
33004F - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ENABLE MOUSE
330050 - INT 33 - PCMOUSE - SAVE MSMOUSE STATE
330052 - INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
330053 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - DISABLE MOUSE
330054CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SELECT ULTRARES ACCELERATION LEVEL
330055 - INT 33 - Kraft Mouse - GET ???
330058 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
33005A - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ULTRARES ACCELERATIONS
330061BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
330067 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET MOUSE BUTTONS???
33006A - INT 33 U - ATI Mouse - INSTALLATION CHECK
33006C - INT 33 U - TRUEDOX Mouse driver v4.01 - GET/SET HARDWARE PARAMETERS
33006CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CLEAR ??? FLAG
33006D - INT 33 - MS MOUSE - GET VERSION STRING
330070BXABCD - INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
330072BXABCD - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
330073BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET BUTTON ASSIGNMENTS
3300A0 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE PC MODE (3 button)
3300A1 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE MS MODE (2 button)
3300A6 - INT 33 U - TRUEDOX Mouse driver - SET RESOLUTION
3300B0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300D6 - INT 33 - Twiddler TWMOUSE - GET BUTTON/TILT STATE
3300F0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F1 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F2 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
3300F3 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
330100CX4752 - INT 33 - GRTMOUSE v1.00+ - INSTALLATION CHECK
330101 - INT 33 - GRTMOUSE v1.00+ - SET MOUSE CURSOR SHAPE
330102 - INT 33 - GRTMOUSE v1.00+ - GET MOUSE CURSOR SHAPE
330103 - INT 33 - GRTMOUSE v1.00+ - SET ACTIVE CHARACTERS
330104 - INT 33 - GRTMOUSE v1.00+ - GET ACTIVE CHARACTERS
33012E - INT 33 - MS MOUSE v8.10+ - ???
33022E - INT 33 - MS MOUSE v8.10+ - ???
330666 - INT 33 U - TRUEDOX Mouse driver v4.01 - GET COPYRIGHT STRING
33136C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33146C - INT 33 - LOGITECH MOUSE v6.10+ - GET/SET ???
33156C - INT 33 - LOGITECH MOUSE v6.10+ - GET SIGNATURE AND VERSION STRINGS
33166C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33176C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33186C - INT 33 - LOGITECH MOUSE v6.10+ - ???
33196C - INT 33 - LOGITECH MOUSE v6.10+ - ???
331A6C - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
331B6C - INT 33 - LOGITECH MOUSE v6.10+ - SET ???
331C6C - INT 33 - LOGITECH MOUSE v6.10+ - ???
331D6C - INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
331E6C - INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
331F6C - INT 33 - LOGITECH MOUSE - GET BALLISTICS INFORMATION
33206C - INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
33216C - INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
33226C - INT 33 - LOGITECH MOUSE - REMOVE DRIVER FROM MEMORY
33236C - INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
33246C - INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
33256CBX0000 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET BAUD RATE (SERIAL MOUSE ONLY)
33256CBX0001 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET EMULATION (SERIAL MOUSE ONLY)
33256CBX0002 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET REPORT RATE (SERIAL MOUSE ONLY)
33256CBX0003 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE PORT (SERIAL MOUSE ONLY)
33256CBX0004 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE LOGICAL BUTTONS
33266C - INT 33 - LOGITECH MOUSE - GET VERSION???
33276C - INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
333000 - INT 33 - Smooth Mouse Driver, PrecisePoint - INSTALLATION CHECK
333001 - INT 33 - Smooth Mouse Driver, PrecisePoint - ENABLE SMOOTH MOUSE
333002 - INT 33 - Smooth Mouse Driver, PrecisePoint - DISABLE SMOOTH MOUSE
333003 - INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
333004 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
333005 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
334F00 - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
334F01 - INT 33 - LOGITECH MOUSE v6.10+ - ???
336F00 - INT 33 - Hewlett Packard - HP MOUSE DRIVER INSTALLATION CHECK
338800 - INT 33 U - InfoTrack IMOUSE.COM - UNHOOK MOUSE IRQ
338800BXFFFF - INT 33 U - InfoTrack IMOUSE.COM - GET ACTIVE IRQ
Top

N - network

108B - INT 10 - Alloy MW386 - FORCE WORKSTATION SCREEN UPDATE
1090 - INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION DISPLAY MODE
1091 - INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION ADAPTER TYPE
1092 - INT 10 - Alloy MW386 - INHIBIT WORKSTATION SCREEN UPDATES
1093 - INT 10 - Alloy MW386 - REDRAW SCREEN
134257DX1234 - INT 13 U - Beame&Whiteside BWLPD - INSTALLATION CHECK
1400--DXFFFF - INT 14 - Connection Manager - MODIFY DEFAULT CONNECTION PARAMETERS
1401--DXFFFF - INT 14 - Connection Manager - SEND CHARACTER
1402--DXFFFF - INT 14 - Connection Manager - RECEIVE CHARACTER
1403--DXFFFF - INT 14 - Connection Manager - RETURN COMMUNICATION PORT STATUS
1404--DXFFFF - INT 14 - Connection Manager - OPEN COMMUNICATION
1405--DXFFFF - INT 14 - Connection Manager - CLOSE COMMUNICATION
1406 - INT 14 - TelAPI - WRITE BLOCK
1406--DXFFFF - INT 14 - Connection Manager - SEND CHARACTER BLOCK
1407 - INT 14 - TelAPI - READ BLOCK
1407--DXFFFF - INT 14 - Connection Manager - RECEIVE CHARACTER BLOCK
1408--DXFFFF - INT 14 - Connection Manager - RETURN DEFAULT CONNECTION PARAMETERS
1409--DXFFFF - INT 14 - Connection Manager - SEND BREAK
140A--DXFFFF - INT 14 - Connection Manager - MODIFY ACTIVE CONNECTION PARAMETERS
140B--DXFFFF - INT 14 - Connection Manager - PREPARE FOR INBOUND CONNECTION
140C--DXFFFF - INT 14 - Connection Manager - TEST FOR INBOUND CONNECTION REQUEST
140D--DXFFFF - INT 14 - Connection Manager - TERMINATE CONNECTION CLIENT ACTIVITY
140E--DXFFFF - INT 14 - Connection Manager - SET HARDWARE FLOW STATE
140F--DXFFFF - INT 14 - Connection Manager - RETURN ACTIVE CONNECTION PARAMETERS
1410--DXFFFF - INT 14 - Connection Manager - QUERY SERVICE NAMES
1436 - INT 14 - ComShare - INSTALLATION CHECK
146F--BXFFFE - INT 14 U - Connection Manager - ???
146F--BXFFFF - INT 14 - Connection Manager - INSTALLATION CHECK
14A8 - INT 14 - Novell TelAPI v4.01 - CONNECTION INFORMATION???
14A9 - INT 14 - Novell TelAPI v4.01 - CONNECTION CONTROL???
14E0 - INT 14 - TelAPI - "telopen" - CREATE TELNET CONNECTION (BLOCKING)
14E1 - INT 14 - TelAPI - "telclose" - TERMINATE TELNET CONNECTION
14E2 - INT 14 - TelAPI - "telread" - BUFFERED READ
14E3 - INT 14 - TelAPI - "telwrite" - BUFFERED WRITE
14E4 - INT 14 - TelAPI - "telioctl" - CONNECTION CONTROL
14E5 - INT 14 - TelAPI - "telreset" - RESET ALL CONNECTIONS
14E6 - INT 14 - TelAPI - "telunload" - UNINSTALL
14E7 - INT 14 - TelAPI - "tellist" - GET TELNET SESSION LIST
14E8 - INT 14 - TelAPI - "telattach" - ATTACH COM PORT TO/FROM TELNET SESSION
14E9 - INT 14 - TelAPI - "telportosn" - GET SESSION NUMBER FOR COM PORT
14EA - INT 14 - TelAPI - "telstatus" - GET TELNET CONNECTION STATUS INFORMATION
14EB - INT 14 - TelAPI - "telname" - GET AVAILABLE/INUSE STATUS FOR ALL SESSIONS
14EC - INT 14 - TelAPI - "telnblkopen" - CREATE TELNET CONNECTION (NON-BLOCKING)
14ED - INT 14 - TelAPI - "telpoll" - POLL TELNET SESSION FOR CONNECTION COMPLETION
14FF00 - INT 14 - TelAPI - "telcheck" - INSTALLATION CHECK
170300 - INT 17 - DOSISODE to WATTCP TSR Interface - "socket"
170400 - INT 17 - DOSISODE to WATTCP TSR Interface - "bind"
170500 - INT 17 - DOSISODE to WATTCP TSR Interface - "connect"
170600 - INT 17 - DOSISODE to WATTCP TSR Interface - "listen"
170700 - INT 17 - DOSISODE to WATTCP TSR Interface - "accept"
170800 - INT 17 - DOSISODE to WATTCP TSR Interface - "recvfrom"
170900 - INT 17 - DOSISODE to WATTCP TSR Interface - "sendto"
170A00 - INT 17 - DOSISODE to WATTCP TSR Interface - "select"
170B00 - INT 17 - DOSISODE to WATTCP TSR Interface - "ioctl"
170C00 - INT 17 - DOSISODE to WATTCP TSR Interface - "close"
170D00 - INT 17 - DOSISODE to WATTCP TSR Interface - "shutdown" - SHUTDOWN INTERFACE
170E00 - INT 17 - DOSISODE to WATTCP TSR Interface - INSTALLATION CHECK
172400 - INT 17 - Shamrock Software NET.24 v3.11+ - ENABLE/DISABLE API FUNCTIONS
172401 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, NO HANDSHAKE
172402 - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT BLOCK, NO HANDSHAKE
172403 - INT 17 - Shamrock Software NET.24 v3.11+ - GET STATUS AND TRANSMISSION BUFFER
172404 - INT 17 - Shamrock Software NET.24 v3.11+ - SEND ACK BLOCK
172405 - INT 17 - Shamrock Software NET.24 v3.11+ - SEND NAK BLOCK
172406 - INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED RECEIVE
172407 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE CHARACTER FROM REMOTE
172408 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, WITH HANDSHAKE
172409 - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT COMMAND, WITH HANDSHAKE
17240A - INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED TRANSMIT
17240B - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT SINGLE CHARACTER TO REMOTE
17240C - INT 17 - Shamrock Software NET.24 v3.11+ - END CHARACTER-ORIENTED TRANSMIT
1781 - INT 17 - Alloy NTNX, MW386 - CANCEL JOBS FOR CURRENT USER
1782 - INT 17 - Alloy NTNX, MW386 - CANCEL ALL JOBS FOR CURRENT USER
1783 - INT 17 - Alloy NTNX, MW386 - SET NUMBER OF COPIES
1784 - INT 17 - Alloy NTNX, MW386 - GENERATE PRINT BREAK
1787 - INT 17 - Alloy NTNX - SET INDOS POINTER
1788 - INT 17 - Alloy NTNX, MW386 - REMOVE PRINTER FROM SPOOLER
1789 - INT 17 - Alloy NTNX, MW386 - ADD PRINTER TO SPOOLER
178A - INT 17 - Alloy NTNX - ACTIVATE USER-WRITTEN PRINTER DRIVER
178B - INT 17 - Alloy MW386 - GET PHYSICAL DEVICE NUMBER FROM NAME
178C - INT 17 - Alloy MW386 - GET DEVICE NAME FROM PHYSICAL DEVICE NUMBER
178D - INT 17 - Alloy NTNX,MW386 - RESET SPOOLER
178E - INT 17 - Alloy NTNX - GET INT 28 ENTRY POINT
178F - INT 17 - Alloy NTNX - GET DOS INTERCEPT ENTRY POINT
1790 - INT 17 - Alloy NTNX, MW386 - SPOOL FILE BY NAME
1791 - INT 17 - Alloy NTNX, MW386 - GET USER NUMBER AND CURRENT PRINTER
1792 - INT 17 - Alloy NTNX - CHECK PRINTER DRIVER
1794 - INT 17 - Alloy NTNX, MW386 - SELECT PRINTER
1795 - INT 17 - Alloy NTNX, MW386 - GET CURRENT PRINTER
1796 - INT 17 - Alloy NTNX - SET SERIAL PORT PARAMETERS
1797 - INT 17 - Alloy NTNX, MW386 - SET DATA DRIVEN PRINT BREAK
1798 - INT 17 - Alloy NTNX,MW386 - RESTART PRINTER
1799 - INT 17 - Alloy NTNX, MW386 - GET/SET PRINTER MODE
179A - INT 17 - Alloy NTNX,MW386 - SET TAB EXPANSION
179B - INT 17 - Alloy NTNX,MW386 - SET PRINT BREAK TIMEOUT
17A0 - INT 17 - Alloy MW386 - SPOOL COPY OF FILE
17A4 - INT 17 - Alloy MW386 - ENABLE/DISABLE FORM FEED
17A6 - INT 17 - Alloy MW386 - ENABLE/DISABLE BANNER PAGE
17A7 - INT 17 - Alloy MW386 v2+ - GET/SET SPOOL FLAGS
17A8 - INT 17 - Alloy MW386 - DEFINE TEMPORARY FILENAME
17A9 - INT 17 - Alloy MW386 - CHANGE TEMPORARY SPOOL DRIVE
17AA - INT 17 - Alloy MW386 v2+ - GET REAL-TIME PRINTER STATUS
17AF - INT 17 - Alloy MW386 - CHECK SPOOLER
1A6108 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDWITHREPLY" - SEND MSG AND GET REPLY
1A6205 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDNOREPLY" - SEND MSG, DON'T AWAIT REPLY
1A6308 - INT 1A - SNAP.EXE 3.2+ - "SNAP_BEGINCONV" - BEGIN CONVERSATION
1A6405 - INT 1A - SNAP.EXE 3.2+ - "SNAP_ENDCONV" - END CONVERSATION
1A6900 - INT 1A - SNAP.EXE 3.2+ - "SNAP_DATASEG" - GET RESIDENT DATA SEGMENT
1A6A01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_ALLOC" - ALLOCATE BUFFER IN SNAP DATA SEGMENT
1A6B01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_FREE" - DEALLOCATE BUFFER IN SNAP DATA SEGMENT
1A6C04 - INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYTO" - COPY DATA TO RESIDENT SNAP PACKAGE
1A6D04 - INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYFROM" - COPY DATA FROM RESIDENT SNAP PACKAGE
1A6E01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETDEBUG" - SET ???
1A6F01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_CHKINSTALL" - INSTALLATION CHECK
1A7002 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETANCHOR"
1A7101 - INT 1A - SNAP.EXE 3.2+ - "SNAP_GETANCHOR"
1A7202 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETCONVPARMS" - SET CONVERSATION PARAMETERS
1A7302 - INT 1A - SNAP.EXE 3.2+ - "SNAP_CLIENTVERSION" - ???
1A7400 - INT 1A - SNAP.EXE 3.2+ - "SNAP_VERSION" - GET VERSION
1A75 - INT 1A - SNAP.EXE 3.2+ - "SNAP_NOP" - ???
1A76 - INT 1A - SNAP.EXE 3.2+ - "SNAP_802_5" - ???
1A77 - INT 1A - SNAP.EXE 3.4 - ???
1A7802 - INT 1A - SNAP.EXE 3.4 - ???
213306 - INT 21 - CBIS network - NETWORK REDIRECTOR - ???
213F - INT 21 - PC/TCP IPCUST.SYS - READ CONFIGURATION DATA
213F - INT 21 - WORKGRP.SYS - GET ENTRY POINT
213F - INT 21 - BW-TCP - GET DRIVER INFO
2140 - INT 21 - PC/TCP IPCUST.SYS - WRITE CONFIGURATION DATA
214310 - INT 21 - Banyan VINES 2.1+ - GET EXTENDED FILE ATTRIBUTES
214311 - INT 21 - Banyan VINES 2.1+ - SET EXTENDED FILE ATTRIBUTES
214402 - INT 21 - Network Driver Interface Specification (NDIS) 2.0.1 - PROTOCOL MANAGER
214402 - INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
214402 - INT 21 - WORKGRP.SYS - GET API ENTRY POINT
214402 - INT 21 - 10NET v5.0 - 10BEUI.DOS - API
214402 - INT 21 - 10NET v5.0 - 10MEMMGR.SYS - API
214402 - INT 21 - FTPSOFT.DOS v3.1 - GET ???
214402 - INT 21 U - LAN Manager - TCPDRV.DOS - API
214403 - INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
2144E0 - INT 21 U - Sun PC-NFS - API???
215E00 - INT 21 - 10NET v5.0 - GET MACHINE NAME
215E01 - INT 21 - 10NET v5.0 - GET LOCAL 10NET CONFIGURATION TABLE
215E04 - INT 21 - 10NET v5.0 - INITIATE PRINT JOB
215E05 - INT 21 - 10NET v5.0 - TERMINATE PRINT JOB
215E06 - INT 21 - 10NET v5.0 - GET/SET 10NET WORKSTATION PRINTER SETUP STRUCTURE
215F06 - INT 21 U - Network - GET FULL REDIRECTION LIST
215F30 - INT 21 U - LAN Manager Enhanced DOS - GET REDIRECTOR VERSION
215F32 - INT 21 u - Named Pipes - LOCAL DosQNmPipeInfo
215F33 - INT 21 u - Named Pipes - LOCAL DosQNmPHandState
215F34 - INT 21 u - Named Pipes - LOCAL DosSetNmPHandState
215F35 - INT 21 u - Named Pipes - LOCAL DosPeekNmPipe
215F36 - INT 21 u - Named Pipes - LOCAL DosTransactNmPipe
215F37 - INT 21 u - Named Pipes - DosCallNmPipe
215F38 - INT 21 u - Named Pipes - LOCAL DosWaitNmPipe - AWAIT AVAIL. OF PIPE INSTANCE
215F39 - INT 21 U - Named Pipes - LOCAL DosRawReadNmPipe
215F3A - INT 21 U - Named Pipes - LOCAL DosRawWriteNmPipe
215F3B - INT 21 u - LAN Manager Enhanced DOS - NetHandleSetInfo
215F3C - INT 21 u - LAN Manager Enhanced DOS - NetHandleGetInfo
215F3D - INT 21 U - LAN Manager Enhanced DOS - WRITE MAILSLOT???
215F3E - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetSpecialSMB
215F3F - INT 21 U - LAN Manager Enhanced DOS - REMOTE API CALL
215F40 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetMessageBufferSend
215F41 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceEnum
215F42 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceControl
215F43 - INT 21 u - LAN Manager Enhanced DOS - LOCAL DosPrintJobGetId
215F44 - INT 21 - LAN Manager Enhanced DOS - LOCAL NetWkstaGetInfo
215F45 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetWkstaSetInfo
215F46 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseEnum
215F47 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseAdd
215F48 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseDel
215F49 - INT 21 u - LAN Manager Enhanced DOS - NetUseGetInfo
215F4A - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteCopy
215F4B - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteMove
215F4C - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServerEnum
215F4D - INT 21 u - LAN Manager Enhanced DOS - DosMakeMailslot
215F4E - INT 21 u - LAN Manager Enhanced DOS - DosDeleteMailslot
215F4F - INT 21 u - LAN Manager Enhanced DOS - DosMailslotInfo
215F50 - INT 21 u - LAN Manager Enhanced DOS - DosReadMailslot
215F51 - INT 21 u - LAN Manager Enhanced DOS - DosPeekMailslot
215F52 - INT 21 u - LAN Manager Enhanced DOS - DosWriteMailslot
215F53 - INT 21 u - LAN Manager Enhanced DOS - NetServerEnum2
215F55 - INT 21 U - LAN Manager Enhanced DOS - KILL ALL CONNECTIONS???
215F80 - INT 21 - LANtastic - GET LOGIN ENTRY
215F81 - INT 21 - LANtastic - LOGIN TO SERVER
215F82 - INT 21 - LANtastic - LOGOUT FROM SERVER
215F83 - INT 21 - LANtastic - GET USERNAME ENTRY
215F84 - INT 21 - LANtastic - GET INACTIVE SERVER ENTRY
215F85 - INT 21 - LANtastic - CHANGE PASSWORD
215F86 - INT 21 - LANtastic - DISABLE ACCOUNT
215F87 - INT 21 - LANtastic v3+ - GET ACCOUNT
215F88 - INT 21 - LANtastic v4.0+ - LOGOUT FROM ALL SERVERS
215F97 - INT 21 - LANtastic - COPY FILE
215F98 - INT 21 - LANtastic - SEND UNSOLICITED MESSAGE
215F99 - INT 21 - LANtastic - GET LAST RECEIVED UNSOLICITED MESSAGE
215F9A - INT 21 - LANtastic - GET MESSAGE PROCESSING FLAGS
215F9B - INT 21 - LANtastic - SET MESSAGE PROCESSING FLAGS
215F9C - INT 21 - LANtastic v3+ - POP UP LAST RECEIVED MESSAGE
215F9D - INT 21 - LANtastic v4.1+ - GET REDIRECTOR CONTROL BITS
215F9E - INT 21 - LANtastic v4.1+ - SET REDIRECTOR CONTROL BITS
215FA0 - INT 21 - LANtastic - GET QUEUE ENTRY
215FA1 - INT 21 - LANtastic - SET QUEUE ENTRY
215FA2 - INT 21 - LANtastic - CONTROL QUEUE
215FA3 - INT 21 - LANtastic v3+ - GET PRINTER STATUS
215FA4 - INT 21 - LANtastic v3+ - GET STREAM INFO
215FA5 - INT 21 - LANtastic v3+ - SET STREAM INFO
215FA7 - INT 21 - LANtastic - CREATE USER AUDIT ENTRY
215FA9 - INT 21 - LANtastic v4.1+ - SET EXTENDED QUEUE ENTRY
215FB0 - INT 21 - LANtastic - GET ACTIVE USER INFORMATION
215FB1 - INT 21 - LANtastic - GET SHARED DIRECTORY INFORMATION
215FB2 - INT 21 - LANtastic v3+ - GET USERNAME FROM ACCOUNT FILE
215FB3 - INT 21 - LANtastic v3+ - TRANSLATE PATH
215FB4 - INT 21 - LANtastic v3+ - CREATE INDIRECT FILE
215FB5 - INT 21 - LANtastic v3+ - GET INDIRECT FILE CONTENTS
215FB6 - INT 21 - LANtastic v4.1+ - SET AUTO-LOGIN DEFAULTS
215FB7 - INT 21 - LANtastic v4.1+ - GET AUTO-LOGIN DEFAULTS
215FC0 - INT 21 - LANtastic - GET TIME FROM SERVER
215FC8 - INT 21 - LANtastic v4.0+ - SCHEDULE SERVER SHUTDOWN
215FC9 - INT 21 - LANtastic v4.0+ - CANCEL SERVER SHUTDOWN
215FCA - INT 21 - LANtastic v4.0+ - STUFF SERVER KEYBOARD BUFFER
215FCB - INT 21 - LANtastic v4.1+ - TERMINATE USER
215FCC - INT 21 - LANtastic v4.1+ - GET/SET SERVER CONTROL BITS
215FCD - INT 21 - LANtastic v4.1+ - FLUSH SERVER CACHES
215FD0 - INT 21 - LANtastic - GET REDIRECTED PRINTER TIMEOUT
215FD1 - INT 21 - LANtastic - SET REDIRECTED PRINTER TIMEOUT
215FE0 - INT 21 C - LANtastic - GET DOS SERVICE VECTOR
215FE1 - INT 21 - LANtastic - SET DOS SERVICE VECTOR
215FE2 - INT 21 - LANtastic - GET MESSAGE SERVICE VECTOR
215FE3 - INT 21 - LANtastic - SET MESSAGE SERVICE VECTOR
21B300 - INT 21 U - Novell NetWare - CHECK LIP/PACKET SIGNING/IPX CHECKSUM SUPPORT???
21B301 - INT 21 U - Novell NetWare - CHECK SIGNATURE LEVEL???
21B302 - INT 21 U - Novell NetWare - START PACKET SIGNING
21B304 - INT 21 U - Novell NetWare - SET SIGNATURE LEVEL
21B306 - INT 21 - Novell NetWare - RENEGOTIATE SECURITY LEVEL
21B4 - INT 21 U - Novell NetWare - "AttachHandle"
21B500 - INT 21 U - Novell NetWare - VNETWARE.386 API - GET INSTANCE DATA
21B501 - INT 21 U - Novell NetWare - VNETWARE.386 API - END VIRTUAL MACHINE
21B502 - INT 21 U - Novell NetWare - VNETWARE.386 API - START VIRTUAL MACHINE
21B5 - INT 21 - Novell NetWare shell 3.01 - TASK MODE CONTROL
21B505 - INT 21 U - Novell NetWare - VNETWARE.386 API - SET VIRTUAL MACHINE ID
21B506 - INT 21 U - Novell NetWare - VNETWARE.386 API - GET VIRTUAL MACH SUPPORT LEVEL
21B507 - INT 21 - Novell NetWare - NetWare Shell - GET NUMBER OF PACKET BURST BUFFERS
21B6 - INT 21 - Novell NetWare - FILE SERVICES - EXTENDED FILE ATTRIBUTES
21B7 - INT 21 U - Novell NetWare - "HoldFileModeSet" (obsolete)
21B800 - INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT CAPTURE FLAGS
21B801 - INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT CAPTURE FLAGS
21B802 - INT 21 - Novell NetWare - PRINT SERVICES - GET SPECIFIC CAPTURE FLAGS
21B803 - INT 21 - Novell NetWare - PRINT SERVICES - SET SPECIFIC CAPTURE FLAGS
21B804 - INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT LOCAL PRINTER
21B805 - INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT LOCAL PRINTER
21B806 - INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT QUEUE
21B807 - INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT JOB
21B808 - INT 21 - Novell NetWare - PRINT SERVICES - GET BANNER USER NAME
21B809 - INT 21 - Novell NetWare - PRINT SERVICES - SET BANNER USER NAME
21B9 - INT 21 U - Novell NetWare - "SpecialAttachableFunction"
21BA - INT 21 U - Novell NetWare - "ReturnCommandComPointers"
21BB - INT 21 - Novell NetWare - WORKSTATION - SET END OF JOB STATUS
21BC - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG PHYSICAL RECORD
21BD - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECORD
21BE - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD
21BF - INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK RECORD (FCB)
21C0 - INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
21C1 - INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
21C2 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
21C3 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYS RECORD SET
21C4 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
21C500 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
21C501 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
21C502 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
21C503 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
21C504 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
21C6 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
21C700 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
21C701 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
21C702 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
21C703 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
21C704 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
21C705 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
21C706 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
21C707 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
21C708 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
21C8 - INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
21C9 - INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
21CA - INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
21CB - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
21CC - INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
21CD - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
21CE - INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
21CF - INT 21 - LANstep - ???
21CF - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
21D0 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
21D1 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
21D2 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
21D3 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
21D4 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
21D5 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
21D6 - INT 21 - Novell NetWare - WORKSTATION - END OF JOB
21D7 - INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
21D8 - INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
21D9 - INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
21DA - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
21DB - INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
21DC - INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
21DD - INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
21DE - INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
21DE--DL04 - INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
21DE - INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
21DF--DL00 - INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
21DF--DL01 - INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
21DF--DL02 - INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
21DF--DL03 - INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
21DF--DL04 - INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
21DF--DL05 - INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
21DF--DL06 - INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
21DF--DL07 - INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
21E0 - INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
21E0--SF06 - INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
21E0--SF09 - INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
21E1--SF00 - INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
21E1--SF01 - INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE (OLD)
21E1--SF02 - INT 21 - Novell NetWare - MESSAGE SERVICES - DISABLE BROADCAST MESSAGES
21E1--SF03 - INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE BROADCAST MESSAGES
21E1--SF04 - INT 21 O - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
21E1--SF05 - INT 21 O - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
21E1--SF06 - INT 21 O - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
21E1--SF07 - INT 21 O - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
21E1--SF08 - INT 21 O - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
21E1--SF09 - INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
21E2 - INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
21E2--SF00 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
21E2--SF01 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
21E2--SF02 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
21E2--SF03 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
21E2--SF04 - INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
21E2--SF05 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
21E2--SF06 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
21E2--SF0A - INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
21E2--SF0B - INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
21E2--SF0C - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
21E2--SF0D - INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
21E2--SF0E - INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
21E2--SF0F - INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
21E2--SF10 - INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES (OLD)
21E2--SF11 - INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE (OLD)
21E2--SF12 - INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
21E2--SF13 - INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
21E2--SF14 - INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
21E2--SF15 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
21E2--SF16 - INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
21E2--SF17 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
21E2--SF18 - INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
21E2--SF19 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
21E2--SF1A - INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
21E3 - INT 21 - Novell NetWare - CONNECTION CONTROL
21E3--SF01 - INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
21E3--SF02 - INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
21E3--SF03 - INT 21 - Novell NetWare - CONNECTION SERVICES - MAP OBJECT TO NUMBER (OLD)
21E3--SF0A - INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
21E3--SF0C - INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
21E3--SF0D - INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
21E3--SF0E - INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
21E3--SF0F - INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
21E3--SF10 - INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
21E3--SF11 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
21E3--SF12 - INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
21E3--SF13 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS (OLD)
21E3--SF14 - INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
21E3--SF15 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION LIST(OLD)
21E3--SF16 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
21E3--SF32 - INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
21E3--SF33 - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
21E3--SF34 - INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
21E3--SF35 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
21E3--SF36 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
21E3--SF37 - INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
21E3--SF38 - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
21E3--SF39 - INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
21E3--SF3A - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
21E3--SF3B - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
21E3--SF3C - INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
21E3--SF3D - INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
21E3--SF3E - INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
21E3--SF3F - INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
21E3--SF40 - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
21E3--SF41 - INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
21E3--SF42 - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
21E3--SF43 - INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
21E3--SF44 - INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
21E3--SF45 - INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
21E3--SF46 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
21E3--SF47 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
21E3--SF64 - INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
21E3--SF65 - INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
21E3--SF66 - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS (OLD)
21E3--SF67 - INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS (OLD)
21E3--SF68 - INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
21E3--SF69 - INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB (OLD)
21E3--SF6A - INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE (OLD)
21E3--SF6B - INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST (OLD)
21E3--SF6C - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY (OLD)
21E3--SF6D - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY (OLD)
21E3--SF6E - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
21E3--SF6F - INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
21E3--SF70 - INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
21E3--SF71 - INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
21E3--SF72 - INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
21E3--SF73 - INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
21E3--SF74 - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS (OLD)
21E3--SF75 - INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
21E3--SF76 - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS OLD
21E3--SF77 - INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
21E3--SF78 - INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE (OLD)
21E3--SF83 - INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB
21E3--SF84 - INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB
21E3--SF96 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
21E3--SF97 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
21E3--SF98 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
21E3--SF99 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
21E3--SFC8 - INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
21E3--SFC9 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
21E3--SFCA - INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
21E3--SFCB - INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
21E3--SFCC - INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
21E3--SFCD - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
21E3--SFCE - INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
21E3--SFCF - INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
21E3--SFD0 - INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
21E3--SFD1 - INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
21E3--SFD2 - INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
21E3--SFD3 - INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
21E3--SFD4 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
21E3--SFD5 - INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
21E3--SFD6 - INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
21E3--SFD7 - INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
21E3--SFD8 - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
21E3--SFD9 - INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
21E3--SFDA - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
21E3--SFDB - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES (OLD)
21E3--SFDC - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
21E3--SFDD - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
21E3--SFDE - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
21E3--SFDF - INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
21E3--SFE0 - INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
21E3--SFE1 - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
21E3--SFE2 - INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
21E3--SFE3 - INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
21E3--SFE5 - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
21E3--SFE6 - INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
21E3--SFE7 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
21E3--SFE8 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
21E3--SFE9 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
21E4 - INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
21E5 - INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
21E6 - INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
21E7 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
21E8 - INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
21E900 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
21E905 - INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
21E906 - INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
21E907 - INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
21E908BL00 - INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
21E909 - INT 21 - Novell NetWare - NetWare shell - CONVERT DOS FILE HANDLE TO NETWARE
21EA - INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
21EB - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
21EC - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
21ED - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
21EE - INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
21EF00 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
21EF01 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
21EF02 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
21EF03 - INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
21EF04 - INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
21F000 - INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
21F001 - INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
21F002 - INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
21F003 - INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
21F004 - INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
21F005 - INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
21F1 - INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
21F2 - INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
21F203 - INT 21 - Novell NetWare - LOG FILE (OLD)
21F204 - INT 21 - Novell NetWare - LOCK FILE SET (OLD)
21F207 - INT 21 - Novell NetWare - CLEAR FILE
21F208 - INT 21 - Novell NetWare - CLEAR FILE SET
21F20A - INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET (OLD)
21F20B - INT 21 - Novell NetWare - CLEAR LOGICAL RECORD
21F20E - INT 21 - Novell NetWare - CLEAR LOGICAL RECORD SET
21F211SF06 - INT 21 - Novell NetWare - GET PRINTER STATUS
21F211SF0A - INT 21 - Novell NetWare - GET PRINTER QUEUE
21F212 - INT 21 - Novell NetWare - GET VOLUME INFO WITH NUMBER
21F214CX0000 - INT 21 - Novell NetWare - GET FILE SERVER DATE AND TIME
21F215SF01 - INT 21 - Novell NetWare - GET BROADCAST MESSAGE (OLD)
21F215SF02 - INT 21 - Novell NetWare - DISABLE BROADCASTS
21F215SF03 - INT 21 - Novell NetWare - ENABLE BROADCASTS
21F215SF08 - INT 21 - Novell NetWare - CHECK PIPE STATUS
21F215SF09 - INT 21 - Novell NetWare - BROADCAST TO CONSOLE
21F215SF0B - INT 21 - Novell NetWare - GET BROADCAST MESSAGE
21F216SF00 - INT 21 - Novell NetWare - SET DIRECTORY HANDLE
21F216SF01 - INT 21 - Novell NetWare - GET DIRECTORY PATH
21F216SF02 - INT 21 - Novell NetWare - SCAN DIRECTORY INFORMATION
21F216SF03 - INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS (OLD)
21F216SF04 - INT 21 - Novell NetWare - MODIFY MAXIMUM RIGHTS MASK
21F216SF05 - INT 21 - Novell NetWare - GET VOLUME NUMBER
21F216SF06 - INT 21 - Novell NetWare - GET VOLUME NAME
21F216SF0A - INT 21 - Novell NetWare - CREATE DIRECTORY
21F216SF0B - INT 21 - Novell NetWare - DELETE DIRECTORY
21F216SF0C - INT 21 - Novell NetWare - SCAN DIRECTORY FOR TRUSTEES
21F216SF0D - INT 21 - Novell NetWare - ADD TRUSTEE TO DIRECTORY
21F216SF0E - INT 21 - Novell NetWare - DELETE TRUSTEE FROM DIRECTORY
21F216SF0F - INT 21 - Novell NetWare - RENAME DIRECTORY
21F216SF10 - INT 21 - Novell NetWare - PURGE ERASED FILES (OLD)
21F216SF11 - INT 21 - Novell NetWare - RECOVER ERASED FILE (OLD)
21F216SF12 - INT 21 - Novell NetWare - ALLOCATE PERMANENT DIRECTORY HANDLE
21F216SF13 - INT 21 - Novell NetWare - ALLOCATE TEMPORARY DIRECTORY HANDLE
21F216SF14 - INT 21 - Novell NetWare - DEALLOCATE DIRECTORY HANDLE
21F216SF15 - INT 21 - Novell NetWare - GET VOLUME INFO WITH HANDLE
21F216SF16 - INT 21 - Novell NetWare v2+ - ALLOCATE SPECIAL TEMPORARY DIRECTORY HANDLE
21F216SF17 - INT 21 - Novell NetWare - SAVE DIRECTORY HANDLE
21F216SF18 - INT 21 - Novell NetWare - RESTORE DIRECTORY HANDLE
21F216SF19 - INT 21 - Novell NetWare - SET DIRECTORY INFORMATION
21F216SF1A - INT 21 - Novell NetWare - GET PATH NAME OF VOLUME-DIRECTORY NUMBER PAIR
21F216SF1B - INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES (OLD)
21F216SF1C - INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE (OLD)
21F216SF1D - INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE (OLD)
21F216SF1E - INT 21 - Novell NetWare - SCAN A DIRECTORY
21F216SF1F - INT 21 - Novell NetWare - GET DIRECTORY ENTRY
21F216SF20 - INT 21 - Novell NetWare - SCAN VOLUME'S USER DISK RESTRICTIONS
21F216SF21 - INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
21F216SF22 - INT 21 - Novell NetWare - REMOVE USER DISK SPACE RESTRICTIONS
21F216SF23 - INT 21 - Novell NetWare - SCAN DIRECTORY SPACE RESTRICTIONS
21F216SF24 - INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
21F216SF25 - INT 21 - Novell NetWare - SET DIRECTORY/FILE INFORMATION
21F216SF26 - INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
21F216SF27 - INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
21F216SF28 - INT 21 - Novell NetWare - SCAN DIRECTORY DISK SPACE
21F216SF29 - INT 21 - Novell NetWare v3+ - GET OBJECT DISK USAGE AND RESTRICTIONS
21F216SF2A - INT 21 - Novell NetWare - GET EFFECTIVE RIGHTS
21F216SF2B - INT 21 - Novell NetWare - REMOVE EXTENDED TRUSTEE FROM DIR OR FILE
21F216SF2C - INT 21 - Novell NetWare - GET VOLUME USAGE
21F216SF2D - INT 21 - Novell NetWare - GET DIRECTORY INFORMATION
21F216SF2E - INT 21 - Novell NetWare - RENAME OR MOVE
21F216SF2F - INT 21 - Novell NetWare - GET NAME SPACE INFORMATION
21F216SF30 - INT 21 - Novell NetWare - GET NAME SPACE DIRECTORY ENTRY
21F216SF31 - INT 21 - Novell NetWare - OPEN DATA STREAM
21F216SF32 - INT 21 - Novell NetWare v2.2+ - GET OBJECT EFFECTIVE RIGHTS
21F216SF33 - INT 21 - Novell NetWare v2.2+ - GET EXTENDED VOLUME INFORMATION
21F217SF01 - INT 21 - Novell NetWare - CHANGE USER PASSWORD (OLD)
21F217SF02 - INT 21 - Novell NetWare - GET USER CONNECTION LIST (OLD)
21F217SF0C - INT 21 - Novell NetWare - VERIFY SERIALIZATION
21F217SF0E - INT 21 - Novell NetWare - GET DISK UTILIZATION
21F217SF0F - INT 21 - Novell NetWare - SCAN FILE INFORMATION
21F217SF10 - INT 21 - Novell NetWare - SET FILE INFORMATION
21F217SF11 - INT 21 - Novell NetWare - GET FILE SERVER INFORMATION
21F217SF12 - INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
21F217SF13 - INT 21 - Novell NetWare - GET INTERNET ADDRESS (OLD)
21F217SF14 - INT 21 - Novell NetWare - LOGIN OBJECT
21F217SF15 - INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST (OLD)
21F217SF16 - INT 21 - Novell NetWare - GET CONNECTION INFORMATION (OLD)
21F217SF17 - INT 21 - Novell NetWare - GET ENCRYPTION KEY
21F217SF18 - INT 21 - Novell NetWare - LOGIN OBJECT ENCRYPTED
21F217SF1A - INT 21 - Novell NetWare - GET INTERNET ADDRESS
21F217SF1B - INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST
21F217SF1C - INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
21F217SF1D - INT 21 - Novell NetWare v4 - CHANGE CONNECTION STATE
21F217SF1E - INT 21 - Novell NetWare v4 - SET WATCHDOG DELAY INTERVAL
21F217SF1F - INT 21 - Novell NetWare v4 - GET CONNECTION LIST
21F217SF32 - INT 21 - Novell NetWare - CREATE BINDERY OBJECT
21F217SF33 - INT 21 - Novell NetWare - DELETE BINDERY OBJECT
21F217SF34 - INT 21 - Novell NetWare - RENAME BINDERY OBJECT
21F217SF35 - INT 21 - Novell NetWare - GET BINDERY OBJECT ID
21F217SF36 - INT 21 - Novell NetWare - GET BINDERY OBJECT NAME
21F217SF37 - INT 21 - Novell NetWare - SCAN BINDERY OBJECT
21F217SF38 - INT 21 - Novell NetWare - CHANGE BINDERY OBJECT SECURITY
21F217SF39 - INT 21 - Novell NetWare - CREATE PROPERTY
21F217SF3A - INT 21 - Novell NetWare - DELETE PROPERTY
21F217SF3B - INT 21 - Novell NetWare - CHANGE PROPERTY SECURITY
21F217SF3C - INT 21 - Novell NetWare - SCAN PROPERTY
21F217SF3D - INT 21 - Novell NetWare - READ PROPERTY VALUE
21F217SF3E - INT 21 - Novell NetWare - WRITE PROPERTY VALUE
21F217SF3F - INT 21 - Novell NetWare - VERIFY BINDERY OBJECT PASSWORD
21F217SF40 - INT 21 - Novell NetWare - CHANGE BINDERY OBJECT PASSWORD
21F217SF41 - INT 21 - Novell NetWare v2.2+ - ADD OBJECT TO SET
21F217SF42 - INT 21 - Novell NetWare - DELETE BINDERY OBJECT FROM SET
21F217SF43 - INT 21 - Novell NetWare - IS BINDERY OBJECT IN SET?
21F217SF44 - INT 21 - Novell NetWare - CLOSE BINDERY
21F217SF45 - INT 21 - Novell NetWare - OPEN BINDERY
21F217SF46 - INT 21 - Novell NetWare - GET BINDERY ACCESS LEVEL
21F217SF47 - INT 21 - Novell NetWare - SCAN BINDERY OBJECT TRUSTEE PATHS
21F217SF48 - INT 21 - Novell NetWare - GET BINDERY OBJECT ACCESS LEVEL
21F217SF49 - INT 21 - Novell NetWare - IS STATION A MANAGER?
21F217SF4A - INT 21 - Novell NetWare - KEYED VERIFY BINDERY OBJECT PASSWORD
21F217SF4B - INT 21 - Novell NetWare - KEYED CHANGE BINDERY OBJECT PASSWORD
21F217SF4C - INT 21 - Novell NetWare - LIST RELATIONS OF AN OBJECT
21F217SF64 - INT 21 - Novell NetWare v2.1+ - CREATE QUEUE
21F217SF65 - INT 21 - Novell NetWare v2.1+ - DESTROY QUEUE
21F217SF66 - INT 21 - Novell NetWare v2.1+ - READ QUEUE CURRENT STATUS (OLD)
21F217SF67 - INT 21 - Novell NetWare v2.1+ - SET QUEUE CURRENT STATUS (OLD)
21F217SF68 - INT 21 - Novell NetWare v2.1+ - CREATE QUEUE JOB AND FILE (OLD)
21F217SF69 - INT 21 - Novell NetWare v2.1+ - CLOSE FILE AND START QUEUE JOB (OLD)
21F217SF6A - INT 21 - Novell NetWare v2.1+ - REMOVE JOB FROM QUEUE (OLD)
21F217SF6B - INT 21 - Novell NetWare v2.1+ - GET QUEUE JOB LIST (OLD)
21F217SF6C - INT 21 - Novell NetWare v2.1+ - READ QUEUE JOB ENTRY (OLD)
21F217SF6D - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY (OLD)
21F217SF6E - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB POSITION
21F217SF6F - INT 21 - Novell NetWare v2.1+ - ATTACH QUEUE SERVER TO QUEUE
21F217SF70 - INT 21 - Novell NetWare v2.1+ - DETACH QUEUE SERVER FROM QUEUE
21F217SF71 - INT 21 - Novell NetWare v2.1+ - SERVICE QUEUE JOB AND OPEN FILE
21F217SF72 - INT 21 - Novell NetWare v2.1+ - FINISH SERVICING QUEUE JOB (OLD)
21F217SF73 - INT 21 - Novell NetWare v2.1+ - ABORT SERVICING QUEUE JOB (OLD)
21F217SF74 - INT 21 - Novell NetWare v2.1+ - CHANGE TO CLIENT RIGHTS (OLD)
21F217SF75 - INT 21 - Novell NetWare v2.1+ - RESTORE QUEUE SERVER RIGHTS
21F217SF76 - INT 21 - Novell NetWare - READ QUEUE SERVER CURRENT STATUS (OLD)
21F217SF77 - INT 21 - Novell NetWare - SET QUEUE SERVER CURRENT STATUS
21F217SF78 - INT 21 - Novell NetWare - GET QUEUE JOB FILE SIZE (OLD)
21F217SF79 - INT 21 - Novell NetWare - CREATE QUEUE JOB AND FILE
21F217SF7A - INT 21 - Novell NetWare - READ QUEUE JOB ENTRY
21F217SF7B - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY
21F217SF7D - INT 21 - Novell NetWare - READ QUEUE CURRENT STATUS
21F217SF7E - INT 21 - Novell NetWare - SET QUEUE CURRENT STATUS
21F217SF7F - INT 21 - Novell NetWare - CLOSE FILE AND START QUEUE JOB
21F217SF80 - INT 21 - Novell NetWare - REMOVE JOB FROM QUEUE
21F217SF81 - INT 21 - Novell NetWare - GET QUEUE JOB LIST
21F217SF82 - INT 21 - Novell NetWare v2.1+ - CHANGE JOB PRIORITY
21F217SF83 - INT 21 - Novell NetWare v3.1+ - FINISH SERVICING QUEUE JOB
21F217SF84 - INT 21 - Novell NetWare v3.1+ - ABORT SERVICING QUEUE JOB
21F217SF85 - INT 21 - Novell NetWare v3.1+ - CHANGE TO CLIENT RIGHTS
21F217SF86 - INT 21 - Novell NetWare v3.1+ - READ QUEUE SERVER CURRENT STATUS
21F217SF87 - INT 21 - Novell NetWare v3.1+ - GET QUEUE JOB FILE SIZE
21F217SF96 - INT 21 - Novell NetWare - GET ACCOUNT STATUS
21F217SF97 - INT 21 - Novell NetWare - SUBMIT ACCOUNT CHARGE
21F217SF98 - INT 21 - Novell NetWare - SUBMIT ACCOUNT HOLD
21F217SF99 - INT 21 - Novell NetWare - SUBMIT ACCOUNT NOTE
21F217SFC8 - INT 21 - Novell NetWare - CHECK CONSOLE PRIVILEGES
21F217SFC9 - INT 21 - Novell NetWare - GET FILE SERVER DESCRIPTION STRINGS
21F217SFCA - INT 21 - Novell NetWare - SET FILE SERVER DATE AND TIME
21F217SFCB - INT 21 - Novell NetWare - DISABLE FILE SERVER LOGIN
21F217SFCC - INT 21 - Novell NetWare - ENABLE FILE SERVER LOGIN
21F217SFCD - INT 21 - Novell NetWare - GET FILE SERVER LOGIN STATUS
21F217SFCE - INT 21 - Novell NetWare - PURGE ALL ERASED FILES
21F217SFCF - INT 21 - Novell NetWare - DISABLE TRANSACTION TRACKING
21F217SFD0 - INT 21 - Novell NetWare - ENABLE TRANSACTION TRACKING
21F217SFD1 - INT 21 - Novell NetWare - SEND CONSOLE BROADCAST
21F217SFD2 - INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
21F217SFD3 - INT 21 - Novell NetWare - DOWN FILE SERVER
21F217SFD4 - INT 21 - Novell NetWare - GET FILE SYSTEM STATISTICS
21F217SFD5 - INT 21 - Novell NetWare - GET TRANSACTION TRACKING STATISTICS
21F217SFD6 - INT 21 - Novell NetWare - GET DISK CACHE STATISTICS
21F217SFD7 - INT 21 - Novell NetWare - GET DRIVE MAPPING TABLE
21F217SFD8 - INT 21 - Novell NetWare - GET PHYSICAL DISK STATISTICS
21F217SFD9 - INT 21 - Novell NetWare - GET DISK CHANNEL STATISTICS
21F217SFDA - INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S TASK INFORMATION
21F217SFDB - INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S OPEN FILES (OLD)
21F217SFDC - INT 21 - Novell NetWare v2.2+ - GET CONNECTIONS USING A FILE (OLD)
21F217SFDD - INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY CONNECTN AND FILE (OLD)
21F217SFDE - INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY FILE (OLD)
21F217SFDF - INT 21 - Novell NetWare - GET LOGICAL RECORDS BY CONNECTION (OLD)
21F217SFE0 - INT 21 - Novell NetWare - GET LOGICAL RECORD INFORMATION (OLD)
21F217SFE1 - INT 21 - Novell NetWare - GET CONNECTION'S SEMAPHORES (OLD)
21F217SFE2 - INT 21 - Novell NetWare - GET SEMAPHORE INFORMATION (OLD)
21F217SFE3 - INT 21 - Novell NetWare - GET LAN DRIVER'S CONFIGURATION INFORMATION
21F217SFE5 - INT 21 - Novell NetWare - GET CONNECTION'S USAGE STATISTICS
21F217SFE6 - INT 21 - Novell NetWare - GET OBJECT'S REMAINING DISK SPACE
21F217SFE7 - INT 21 - Novell NetWare - GET FILE SERVER LAN I/O STATISTICS
21F217SFE8 - INT 21 - Novell NetWare - GET FILE SERVER MISC INFORMATION
21F217SFE9 - INT 21 - Novell NetWare - GET VOLUME INFORMATION
21F217SFEA - INT 21 - Novell NetWare v3.11+ - GET CONNECTION'S TASK INFORMATION
21F217SFEB - INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
21F217SFEC - INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
21F217SFED - INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY CONNECTION AND FILE
21F217SFEE - INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
21F217SFEF - INT 21 - Novell NetWare v3+ - GET LOGICAL RECORDS BY CONNECTION
21F217SFF0 - INT 21 - Novell NetWare v3+ - GET LOGICAL RECORD INFORMATION
21F217SFF1 - INT 21 - Novell NetWare v3+ - GET CONNECTION'S SEMAPHORES
21F217SFF2 - INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
21F217SFF3 - INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
21F217SFF4 - INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
21F217SFF5 - INT 21 - Novell NetWare - GET FILE SERVER EXTENDED MISC INFORMATION
21F217SFF6 - INT 21 - Novell NetWare - GET VOLUME EXTENDED INFORMATION
21F217SFFE - INT 21 - Novell NetWare v4 - CLEAR CONNECTION NUMBER GREATER THAN 250
21F21B - INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET (OLD)
21F21E - INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD
21F21F - INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD SET
21F220SF00 - INT 21 - Novell NetWare - OPEN SEMAPHORE (OLD)
21F220SF01 - INT 21 - Novell NetWare - EXAMINE SEMAPHORE (OLD)
21F220SF02 - INT 21 - Novell NetWare - WAIT ON SEMAPHORE (OLD)
21F220SF03 - INT 21 - Novell NetWare - SIGNAL SEMAPHORE (OLD)
21F220SF04 - INT 21 - Novell NetWare - CLOSE SEMAPHORE (OLD)
21F222SF00 - INT 21 - Novell NetWare - TTS IS AVAILABLE
21F222SF01 - INT 21 - Novell NetWare - TTS BEGIN TRANSACTION
21F222SF02 - INT 21 - Novell NetWare - TTS END TRANSACTION
21F222SF03 - INT 21 - Novell NetWare - TTS ABORT TRANSACTION
21F222SF04 - INT 21 - Novell NetWare - TTS TRANSACTION STATUS
21F222SF05 - INT 21 - Novell NetWare - TTS GET APPLICATION THRESHOLDS
21F222SF06 - INT 21 - Novell NetWare - TTS SET APPLICATION THRESHOLDS
21F222SF07 - INT 21 - Novell NetWare - TTS GET WORKSTATION THRESHOLDS
21F222SF08 - INT 21 - Novell NetWare - TTS SET WORKSTATION THRESHOLDS
21F222SF09 - INT 21 - Novell NetWare - TTS GET CONTROL FLAGS
21F222SF0A - INT 21 - Novell NetWare - TTS SET CONTROL FLAGS
21F223SF01 - INT 21 - Novell NetWare v2+ - AFP CREATE DIRECTORY
21F223SF02 - INT 21 - Novell NetWare v2+ - AFP CREATE FILE
21F223SF03 - INT 21 - Novell NetWare v2+ - AFP DELETE FILE
21F223SF04 - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM FILENAME
21F223SF05 - INT 21 - Novell NetWare v2+ - AFP GET FILE INFORMATION
21F223SF06 - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM NETWARE HANDLE
21F223SF07 - INT 21 - Novell NetWare v2+ - AFP RENAME
21F223SF08 - INT 21 - Novell NetWare v2+ - AFP OPEN FILE FORK
21F223SF09 - INT 21 - Novell NetWare v2+ - AFP SET FILE INFORMATION
21F223SF0A - INT 21 - Novell NetWare v2+ - AFP SCAN FILE INFORMATION
21F223SF0B - INT 21 - Novell NetWare v2+ - AFP ALLOCATE TEMPORARY DIRECTORY HANDLE
21F223SF0C - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM PATHNAME
21F223SF0D - INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE DIRECTORY
21F223SF0E - INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE FILE
21F223SF10 - INT 21 - Novell NetWare v2+ - AFP 2.0 SET FILE INFORMATION
21F223SF11 - INT 21 - Novell NetWare v2+ - AFP 2.0 SCAN FILE INFORMATION
21F223SF12 - INT 21 - Novell NetWare v2+ - AFP GET DOS FILENAME FROM ENTRY ID
21F223SF13 - INT 21 - Novell NetWare v2+ - AFP GET MACINTOSH INFORMATION ON DELETED FILE
21F23D - INT 21 - Novell NetWare - COMMIT FILE
21F23E - INT 21 - Novell NetWare - FILE SEARCH INITIALIZE (FindFirst)
21F23F - INT 21 - Novell NetWare - FILE SEARCH CONTINUE (FindNext)
21F242 - INT 21 - Novell NetWare - CLOSE FILE
21F243 - INT 21 - Novell NetWare - CREATE FILE
21F244 - INT 21 - Novell NetWare - FILE SERVICES - ERASE FILE
21F247 - INT 21 - Novell NetWare - GET CURRENT FILE SIZE
21F24A - INT 21 - Novell NetWare - COPY FROM ONE FILE TO ANOTHER
21F24D - INT 21 - Novell NetWare - CREATE NEW FILE
21F24E - INT 21 - Novell NetWare v2+ - ALLOW TASK ACCESS TO FILE
21F256SF01 - INT 21 - Novell NetWare - CLOSE EXTENDED ATTRIBUTE HANDLE
21F256SF02 - INT 21 - Novell NetWare - WRITE EXTENDED ATTRIBUTE
21F256SF03 - INT 21 - Novell NetWare - READ EXTENDED ATTRIBUTE
21F256SF04 - INT 21 - Novell NetWare - ENUMERATE EXTENDED ATTRIBUTES
21F256SF05 - INT 21 - Novell NetWare - DUPLICATE EXTENDED ATTRIBUTES
21F257SF01 - INT 21 - Novell NetWare - OPEN/CREATE FILE OR SUBDIRECTORY
21F257SF02 - INT 21 - Novell NetWare - INITIALIZE SEARCH
21F257SF03 - INT 21 - Novell NetWare - SCAN NAMESPACE ENTRY INFO
21F257SF04 - INT 21 - Novell NetWare - RENAME OR MOVE FILE OR SUBDIRECTORY
21F257SF05 - INT 21 - Novell NetWare - SCAN FILE OR SUBDIRECTORY FOR TRUSTEES
21F257SF06 - INT 21 - Novell NetWare v3+ - GET INFORMATION ABOUT FILE OR DIRECTORY
21F257SF07 - INT 21 - Novell NetWare - MODIFY FILE OR SUBDIRECTORY DOS INFORMATION
21F257SF08 - INT 21 - Novell NetWare - DELETE FILE/DIRECTORY
21F257SF09 - INT 21 - Novell NetWare - SET SHORT DIRECTORY HANDLE
21F257SF0A - INT 21 - Novell NetWare v3+ - ADD TRUSTEE SET TO FILE OR SUBDIRECTORY
21F257SF0B - INT 21 - Novell NetWare - DELETE TRUSTEE
21F257SF0C - INT 21 - Novell NetWare v2+ - ALLOCATE SHORT DIRECTORY HANDLE
21F257SF10 - INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES
21F257SF11 - INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE
21F257SF12 - INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE
21F257SF13 - INT 21 - Novell NetWare - GET NAMESPACE INFORMATION
21F257SF15 - INT 21 - Novell NetWare - GET PATH STRING FROM SHORT DIRECTORY HANDLE
21F257SF16 - INT 21 - Novell NetWare - GENERATE DIRECTORY BASE AND VOLUME NUMBER
21F257SF17 - INT 21 - Novell NetWare - GET NAME SPACE INFORMATION FORMAT
21F257SF18 - INT 21 - Novell NetWare - GET NAME SPACES LOADED
21F257SF19 - INT 21 - Novell NetWare - WRITE NAME SPACE INFO
21F257SF1A - INT 21 - Novell NetWare - READ EXTENDED NAME SPACE INFO
21F257SF1B - INT 21 - Novell NetWare - WRITE EXTENDED NAME SPACE INFO
21F257SF1C - INT 21 - Novell NetWare - GET NS FULL PATH STRING
21F257SF1D - INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS
21F258SF01 - INT 21 - Novell NetWare v4+ - GET VOLUME AUDITING STATISTICS
21F258SF02 - INT 21 - Novell NetWare - ADD AUDIT PROPERTY
21F258SF03 - INT 21 - Novell NetWare - LOGIN AS VOLUME AUDITOR
21F258SF04 - INT 21 - Novell NetWare - CHANGE AUDITOR PASSWORD
21F258SF05 - INT 21 - Novell NetWare - CHECK AUDIT ACCESS
21F258SF06 - INT 21 - Novell NetWare - REMOVE AUDIT PROPERTY
21F258SF07 - INT 21 - Novell NetWare - DISABLE AUDITING ON VOLUME
21F258SF08 - INT 21 - Novell NetWare - ENABLE AUDITING ON VOLUME
21F258SF09 - INT 21 - Novell NetWare - IS USER AUDITED?
21F258SF0A - INT 21 - Novell NetWare - READ AUDITING BITMAP
21F258SF0B - INT 21 - Novell NetWare - READ AUDIT CONFIG HEADER
21F258SF0D - INT 21 - Novell NetWare - LOGOUT AS VOLUME AUDITOR
21F258SF0E - INT 21 - Novell NetWare - RESET AUDITING FILE
21F258SF0F - INT 21 - Novell NetWare - RESET AUDIT HISTORY FILE
21F258SF10 - INT 21 - Novell NetWare - WRITE AUDITING BITMAP
21F258SF11 - INT 21 - Novell NetWare - WRITE AUDIT CONFIG HEADER
21F258SF13 - INT 21 - Novell NetWare - GET AUDITING FLAGS
21F258SF14 - INT 21 - Novell NetWare - CLOSE OLD AUDITING FILE
21F258SF15 - INT 21 - Novell NetWare - DELETE OLD AUDITING FILE
21F258SF16 - INT 21 - Novell NetWare - CHECK AUDIT LEVEL TWO ACCESS
21F25ASF01 - INT 21 - Novell NetWare - GET DATA MIGRATION INFO
21F25ASF80 - INT 21 - Novell NetWare - MOVE FILE DATA TO DATA MIGRATION
21F25ASF81 - INT 21 - Novell NetWare - DATA MIGRATION FILE INFORMATION
21F25ASF82 - INT 21 - Novell NetWare - VOLUME DATA MIGRATION STATUS
21F25ASF83 - INT 21 - Novell NetWare - GET MIGRATION OR STATUS INFORMATION
21F25ASF84 - INT 21 - Novell NetWare - DATA MIGRATION SUPPORT MODULE INFORMATION
21F25ASF85 - INT 21 - Novell NetWare - MOVE FILE DATA FROM DATA MIGRATION
21F25ASF86 - INT 21 - Novell NetWare - GET OR SET DEFAULT SUPPORT MODULE
21F268SF01 - INT 21 - Novell NetWare v4+ - GET TREE NAME
21F268SF04 - INT 21 - Novell NetWare v4+ - GET BINDERY CONTEXT
21F268SF05 - INT 21 - Novell NetWare v4+ - MONITOR NDS CONNECTION
21F268SF16 - INT 21 - Novell NetWare v4+ - NDS LIST PARTITIONS
21F268SF35 - INT 21 - Novell NetWare v4+ - NDS GET SERVER NAME AND ADDRESS
21F268SF3D - INT 21 - Novell NetWare v4+ - NDS LOGOUT
21F268SFC8 - INT 21 - Novell NetWare v4+ - GET DS AUDITING STATISTICS
21F269 - INT 21 - Novell NetWare - LOG FILE
21F26A - INT 21 - Novell NetWare - LOCK FILE SET
21F26C - INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET
21F26E - INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET
21F26FSF00 - INT 21 - Novell NetWare - OPEN SEMAPHORE
21F26FSF01 - INT 21 - Novell NetWare - CLOSE SEMAPHORE
21F26FSF02 - INT 21 - Novell NetWare - WAIT ON SEMAPHORE
21F26FSF03 - INT 21 - Novell NetWare - SIGNAL SEMAPHORE
21F26FSF04 - INT 21 - Novell NetWare - EXAMINE SEMAPHORE
21F272 - INT 21 - Novell NetWare v4+ - GET FILE SERVER UTC TIME
21F27BSF01 - INT 21 - Novell NetWare v4+ - GET CACHE INFORMATION
21F27BSF02 - INT 21 - Novell NetWare v4+ - GET SERVER INFORMATION
21F27BSF04 - INT 21 - Novell NetWare v4+ - GET USER INFORMATION
21F27BSF06 - INT 21 - Novell NetWare v4+ - GET IPX/SPX Information
21F27BSF08 - INT 21 - Novell NetWare v4+ - GET CPU INFORMATION
21F27BSF09 - INT 21 - Novell NetWare v4+ - GET VOLUME SWITCH INFORMATION
21F27BSF0A - INT 21 - Novell NetWare v4+ - GET LOADED NLMs
21F27BSF0B - INT 21 - Novell NetWare v4+ - GET NLM INFORMATION
21F27BSF0D - INT 21 - Novell NetWare v4+ - GET OS VERSION INFORMATION
21F27BSF14 - INT 21 - Novell NetWare v4+ - GET ACTIVE LAN BOARD LIST
21F27BSF15 - INT 21 - Novell NetWare v4+ - GET LAN CONFIGURATION
21F27BSF16 - INT 21 - Novell NetWare v4+ - GET LAN COMMON COUNTERS
21F27BSF29 - INT 21 - Novell NetWare v4+ - GET PROTOCOL STACK BY BOARD
21F27BSF33 - INT 21 - Novell NetWare v4+ - GET ROUTER INFO
21F27BSF35 - INT 21 - Novell NetWare v4+ - GET KNOWN NETWORKS INFO
21F27BSF38 - INT 21 - Novell NetWare v4+ - GET KNOWN SERVERS INFO
21F27BSF3C - INT 21 - Novell NetWare v4+ - GET SERVER SET COMMANDS INFO
21F27BSF3D - INT 21 - Novell NetWare v4+ - GET SERVER SET CATEGORIES
21F3 - INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
21FF00 - INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
21FF04 - INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
21FF80DHFF - INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
21FF82 - INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
21FF8C - INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
21FF8D - INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
21FF8E - INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
21FF91 - INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
21FF97 - INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
21FF98 - INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
21FF9A - INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
21FF9F - INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
21FFB0 - INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
21FFB1 - INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
21FFB3 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
21FFB4 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
21FFBB - INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
21FFBC - INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
21FFBD - INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
21FFBE - INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
21FFBF - INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
21FFC0 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
21FFC1 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
21FFC2 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
21FFC3 - INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
21FFC4 - INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
21FFC6 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
21FFC7 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
21FFC8 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
21FFC9 - INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
21FFCA - INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
21FFCB - INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
21FFCC - INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
21FFCD - INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
21FFCF - INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
21FFD6 - INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
21FFD7 - INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
21FFE3DL00 - INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
21FFE3DL01 - INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
21FFE3DL02 - INT 21 - TopWare Network OS v5.10+ - SEND PACKET
21FFE3DL03 - INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
2A00 - INT 2A - NETWORK - INSTALLATION CHECK
2A0000 - INT 2A - AT&T Starlan Extended NetBIOS (var length names) - INSTALLATION CHECK
2A01 - INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NETBIOS REQUEST,NO ERROR RETRY
2A02 - INT 2A - NETWORK (Microsoft) - SET NET PRINTER MODE
2A0300 - INT 2A - NETWORK - CHECK DIRECT I/O
2A04 - INT 2A - NETWORK - EXECUTE NetBIOS REQUEST
2A0500 - INT 2A - NETWORK - GET NETWORK RESOURCE AVAILABILITY
2A06 - INT 2A - NETBIOS, LANtastic - NETWORK PRINT-STREAM CONTROL
2A07 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2A2001 - INT 2A - MS Networks or NETBIOS - ???
2A2002 - INT 2A - NETWORK - ???
2A2003 - INT 2A - NETWORK - ???
2A4147DX0000 - INT 2A U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK
2A7802 - INT 2A - NETWORK - PC LAN PROG v1.31+ - GET LOGGED ON USER NAME
2A84 - INT 2A CU - NETWORK - KEYBOARD BUSY LOOP
2A86 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2A89 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2AC2 - INT 2A U - Network - ???
2AC4 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
2AD800 - INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION DISABLE
2AD801 - INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION ENABLE
2AD850 - INT 2A U - Novell NetWare Lite - CLIENT - START SERVER CRITICAL SECTION
2AD851 - INT 2A U - Novell NetWare Lite - CLIENT - END SERVER CRITICAL SECTION
2AD852 - INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER LOADED
2AD853 - INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER UNLOADED
2AE0 - INT 2A U - PC Network 1.00 - ???
2AFF90 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF91 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF92 - INT 2A - PC/TCP PREDIR.EXE - INSTALLATION CHECK
2AFF93 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF94 - INT 2A - PC/TCP PREDIR.EXE - ???
2AFF95 - INT 2A - PC/TCP PREDIR.EXE - GET CONFIGURATION STRINGS
2AFF96 - INT 2A - PC/TCP PREDIR.EXE - SET PRINT JOB TERMINATION CONFIGURATION
2AFF97 - INT 2A - PC/TCP PREDIR.EXE - GET PRINT JOB TERMINATION CONFIGURATION
2D--10 - INT 2D - RATSR 2.0+ - GET STATUS
2F00D8 - INT 2F - Personal NetWare - VLM - ???
2F0200 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - INSTALLATION CHECK
2F0201 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F0202 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F0203 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F0204 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
2F1100 - INT 2F C - NETWORK REDIRECTOR - INSTALLATION CHECK
2F1101 - INT 2F CU - NETWORK REDIRECTOR - REMOVE REMOTE DIRECTORY
2F1102 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - REMOVE REMOTE DIRECTORY
2F1103 - INT 2F CU - NETWORK REDIRECTOR - MAKE REMOTE DIRECTORY
2F1104 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - MAKE REMOTE DIRECTORY
2F1105 - INT 2F CU - NETWORK REDIRECTOR - CHDIR
2F1106 - INT 2F CU - NETWORK REDIRECTOR - CLOSE REMOTE FILE
2F1107 - INT 2F CU - NETWORK REDIRECTOR - COMMIT REMOTE FILE
2F1108 - INT 2F CU - NETWORK REDIRECTOR - READ FROM REMOTE FILE
2F1109 - INT 2F CU - NETWORK REDIRECTOR - WRITE TO REMOTE FILE
2F110A - INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - LOCK REGION OF FILE
2F110A - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - LOCK/UNLOCK REGION OF FILE
2F110B - INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - UNLOCK REGION OF FILE
2F110C - INT 2F CU - NETWORK REDIRECTOR - GET DISK INFORMATION
2F110D - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - SET REMOTE FILE'S ATTRIBUTES
2F110E - INT 2F CU - NETWORK REDIRECTOR - SET REMOTE FILE'S ATTRIBUTES
2F110F - INT 2F CU - NETWORK REDIRECTOR - GET REMOTE FILE'S ATTRIBUTES AND SIZE
2F1110 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET REMOTE FILE'S ATTRIBUTES AND SIZE
2F1111 - INT 2F CU - NETWORK REDIRECTOR - RENAME REMOTE FILE
2F1112 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - RENAME REMOTE FILE
2F1113 - INT 2F CU - NETWORK REDIRECTOR - DELETE REMOTE FILE
2F1114 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - DELETE REMOTE FILE
2F1115 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - OPEN REMOTE FILE
2F1116 - INT 2F CU - NETWORK REDIRECTOR - OPEN EXISTING REMOTE FILE
2F1117 - INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE REMOTE FILE
2F1118 - INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE FILE WITHOUT CDS
2F1119 - INT 2F CU - NETWORK REDIRECTOR - FIND FIRST FILE WITHOUT CDS
2F111A - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - FIND NEXT FILE WITHOUT CDS
2F111B - INT 2F CU - NETWORK REDIRECTOR - FINDFIRST
2F111C - INT 2F CU - NETWORK REDIRECTOR - FINDNEXT
2F111D - INT 2F CU - NETWORK REDIRECTOR - CLOSE ALL REMOTE FILES FOR PROCESS (ABORT)
2F111E - INT 2F CU - NETWORK REDIRECTOR - DO REDIRECTION
2F111F - INT 2F CU - NETWORK REDIRECTOR - PRINTER SETUP
2F1120 - INT 2F CU - NETWORK REDIRECTOR - FLUSH ALL DISK BUFFERS
2F1121 - INT 2F CU - NETWORK REDIRECTOR - SEEK FROM END OF REMOTE FILE
2F1122 - INT 2F CU - NETWORK REDIRECTOR - PROCESS TERMINATION HOOK
2F1123 - INT 2F CU - NETWORK REDIRECTOR - QUALIFY REMOTE FILENAME
2F1124 - INT 2F CU - NETWORK REDIRECTOR - TURN OFF REMOTE PRINTER
2F1125 - INT 2F CU - NETWORK REDIRECTOR - REDIRECTED PRINTER MODE
2F1126 - INT 2F CU - NETWORK REDIRECTOR - REMOTE PRINTER ECHO ON/OFF
2F1127 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
2F1127BX4E57 - INT 2F - NetWare 4.0 - REMOTE FILE COPY
2F1128 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
2F1129 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
2F112A - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - CLOSE ALL FILES FOR PROCESS
2F112B - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GENERIC IOCTL
2F112C - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - "UPDATE_CB" - ???
2F112D - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - EXTENDED ATTRIBUTES
2F112E - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - EXTENDED OPEN/CREATE FILE
2F112F - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - IFS IOCTL
2F1130 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET IFSFUNC SEGMENT
2F1180 - INT 2F - LAN Manager Enhanced DOS Services - ???
2F1181 - INT 2F - LAN Manager Enhanced DOS Services - SET USER NAME???
2F1182 - INT 2F - LAN Manager Enhanced DOS Services - INSTALL SERVICE
2F1184 - INT 2F - LAN Manager Enhanced DOS - ???
2F1186 - INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe
2F118A - INT 2F - LAN Manager 2.0+ DOS Enhanced ENCRYPT.EXE - STREAM ENCRYPTION SERVICE
2F118B - INT 2F - LAN Manager Enhanced DOS - ???
2F118C - INT 2F - LAN Manager Enhanced DOS - ???
2F118E - INT 2F - LAN Manager Enhanced DOS - ???
2F118F - INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe
2F1190 - INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe2
2F1191 - INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe2
2F11F0 - INT 2F - Novell ??? - REMOTE FILE COPY
2F13 - INT 2F U - MS-NET - ???
2F4100 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - INSTALLATION CHECK
2F4103 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
2F4104 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
2F42 - INT 2F - LAN Manager 2.0 DOS Enhanced MSRV.EXE - MESSENGER SERVICE
2F4A07 - INT 2F U - RESERVED FOR PROTMAN SUPPORT
2F4B - INT 2F - LAN Manager 2.0 DOS Enh NETWKSTA.EXE - NETWORK WORKSTATION REDIRECTOR
2F4E53BL00 - INT 2F - SilverNET v2+ - INSTALLATION CHECK
2F4E53BL01 - INT 2F - SilverNET - GET RUNTIME PARAMETER
2F4E53BL02 - INT 2F - SilverNET - SET RUNTIME PARAMETERS
2F5100 - INT 2F U - ODIHLP.EXE - INSTALLATION CHECK
2F7000 - INT 2F - License Service API - INSTALLATION CHECK
2F7001 - INT 2F - License Service API - REQUEST LICENSE
2F7002 - INT 2F - License Service API - RELEASE LICENSE
2F7003 - INT 2F - License Service API - UPDATE
2F7004 - INT 2F - License Service API - GET ERROR
2F7005 - INT 2F - License Service API - QUERY LICENSE
2F7A00 - INT 2F - Novell NetWare - LOW-LEVEL API (IPX) INSTALLATION CHECK
2F7A10 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET TBMI STATUS
2F7A11 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT2F HANDLERS
2F7A12 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT64 HANDLERS
2F7A13 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT7A HANDLERS
2F7A14 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET STATISTICS
2F7A15 - INT 2F OU - Novell NetWare - TBMI v1.1 only - RESET ???
2F7A16 - INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
2F7A17 - INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
2F7A18 - INT 2F U - Novell NetWare - TASKID v1.0 - INSTALLATION CHECK
2F7A19 - INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 08 HANDLERS
2F7A1A - INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 2F HANDLERS
2F7A1B - INT 2F U - Novell NetWare - TASKID v1.0 - GET DIAGNOSTICS INFORMATION
2F7A1C - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
2F7A1D - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
2F7A1E - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
2F7A20BX0000 - INT 2F - Novell NetWare - Adv NetWare 4.0 DOS Requester - GET VLM CALL ADDRESS
2F7A20BX0001 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM CallA ADDRESS
2F7A20BX0002 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTIPLEX ADDRESS
2F7A20BX0003 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM PARSE API ADDRESS
2F7A20BX0004 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTICAST CALLOUT
2F7A20BX0005 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM INT 24 ADDRESS
2F7A20BX0006 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0007 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0008 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0080 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0081 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A20BX0082 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
2F7A21 - INT 2F C - Novell NetWare - DOS Requester - BROADCAST CALLBACK
2F7A22 - INT 2F C - Novell NetWare - DOS Requester - BROADCAST/SFT3 INFORM
2F7A2F - INT 2F - Novell NetWare - IPXODI v2.12 - GET GNMA SUPPORT
2F7A2FBX0EDC - INT 2F U - Personal NetWare - HRMIB - UNINSTALL
2F7A40 - INT 2F - Novell NetWare - TCP/IP Protocol Stack - INSTALLATION CHECK
2F7A41 - INT 2F U - Novell NetWare - TCP/IP Protocol Stack - WINDOWS SUPPORT???
2F7A42 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ??? ENTRY POINT
2F7A43 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
2F7A44 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - SET ???
2F7A4C - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
2F7A4DBX0001 - INT 2F U - Novell NetWare - ???
2F7A4E - INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - INSTALLATION CHECK
2F7A4F - INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - UNINSTALL
2F7A4FBX0001 - INT 2F U - Novell NetWare - SNMP.EXE - INSTALLATION CHECK
2F7A4FBX0002 - INT 2F U - Novell NetWare - SNMP.EXE - ???
2F7A80 - INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - ABNORMAL EXIT
2F7A81 - INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - SET SHELL INT 21 HANDLER
2F7A85 - INT 2F C - Novell NetWare - shell 3.01 - BROADCAST INFORM
2F7A90 - INT 2F U - Novell NetWare - NETBIOS.EXE 3+ - INSTALLATION CHECK
2F7AA0 - INT 2F U - Personal NetWare - HRMIB - ???
2F7AC1 - INT 2F - LAN HiJack - LHR - DISABLE???
2F7AC2 - INT 2F - LAN HiJack - LHR - SYNCHRONIZE SHIFT STATES???
2F7AC3 - INT 2F - LAN HiJack - LHR - CLEAR ??? FLAG
2F7AC8 - INT 2F - LAN HiJack - LHR - ENABLE FUNCTIONS
2F7AC9 - INT 2F - LAN HiJack - LHR - DISABLE FUNCTIONS
2F7ACA - INT 2F - LAN HiJack - LHJ - ???
2F7ACB - INT 2F - LAN HiJack - LHJ - ???
2F7ACC - INT 2F - LAN HiJack - LHJ - ???
2F7ACFBX0000 - INT 2F - LAN HiJack - LHR - INSTALLATION CHECK
2F7AF0 - INT 2F - Novell NetWare - DOSNP.EXE v1.30G - INSTALLATION CHECK
2F7AF1 - INT 2F - Novell NetWare - Access Server Driver - INSTALLATION CHECK
2F7AFE - INT 2F U - Novell NetWare - DOSNP.EXE - INSTALLATION CHECK
2F7AFFBX0000 - INT 2F - Novell NetWare - TBMI v1.1+ - INSTALLATION CHECK / Windows SUPPORT
2F7AFFBX0001 - INT 2F - Novell NetWare - TBMI v1.1+, shell v3.01d - INSTALLATION CHECK???
2F8000 - INT 2F - EASY-NET - INSTALLATION CHECK
2F8000 - INT 2F - Nanosoft, Inc. TurboNET server - INSTALLATION CHECK
2F8001 - INT 2F - Nanosoft, Inc. TurboNET server - ???
2F8100 - INT 2F U - Nanosoft, Inc. TurboNET redirector - INSTALLATION CHECK
2F8101 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2F8102 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2F8103 - INT 2F U - Nanosoft, Inc. TurboNET redirector - GET MACHINE NAME???
2F8104 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2F8105 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
2FB800 - INT 2F - NETWORK - INSTALLATION CHECK
2FB800CXF041 - INT 2F - 10NET - INSTALLATION CHECK
2FB803 - INT 2F - NETWORK - GET NETWORK EVENT POST HANDLER
2FB804 - INT 2F - NETWORK - SET NETWORK EVENT POST HANDLER
2FB807 - INT 2F - NETWORK - GET NetBIOS NAME NUMBER OF MACHINE NAME
2FB808 - INT 2F U - NETWORK - RELINK KEYBOARD HANDLER
2FB809 - INT 2F - NETWORK - LANtastic, NetWare Lite - GET VERSION
2FB809 - INT 2F - NETWORK - PC LAN Program, Microsoft Networking - GET VERSION
2FB80A - INT 2F u - PC Network 1.00 - ???
2FB80E - INT 2F U - DOS LAN Requester - GET XSI2 ADDRESS / DATA
2FB80F - INT 2F - DOS LAN Requester - GET START PARAMETERS
2FB900 - INT 2F - PC Network RECEIVER.COM - INSTALLATION CHECK
2FB901 - INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM INT 2F HANDLER ADDRESS
2FB903 - INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM POST ADDRESS
2FB904 - INT 2F - PC Network RECEIVER.COM - SET RECEIVER.COM POST ADDRESS
2FB905 - INT 2F - PC Network RECEIVER.COM - GET FILENAME
2FB906 - INT 2F - PC Network RECEIVER.COM - SET FILENAME
2FB908 - INT 2F - PC Network RECEIVER.COM - UNLINK KEYBOARD HANDLER
2FBF00 - INT 2F - PC LAN PROGRAM REDIRIFS.EXE internal - INSTALLATION CHECK
2FBF01 - INT 2F U - PC LAN PROGRAM REDIRIFS.EXE internal - ???
2FBF80 - INT 2F - PC LAN PROG REDIR.SYS internal - SET REDIRIFS ENTRY POINT
2FC000 - INT 2F - Novell ODI Link Support Layer (LSL.COM) - INSTALLATION CHECK
2FC000 - INT 2F - Novell NetWare Event Service Layer (NESL) 1.0 - INSTALLATION CHECK
2FC000 - INT 2F - Novell NetWare Connect NETWARN - INSTALLATION CHECK
2FC000 - INT 2F U - LapLink RemoteAccess (LLRA) - INSTALLATION CHECK
2FC002 - INT 2F U - LapLink RemoteAccess (LLRA) - Core - ???
2FC100 - INT 2F U - Personal NetWare - STPIPX v1.00 - INSTALLATION CHECK
2FC101 - INT 2F U - Personal NetWare - STPIPX v1.00 - UNINSTALL
2FC205 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
2FC2F0 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
2FC2F1 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
2FC301 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
2FC3F0 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
2FC3F1 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
2FC500 - INT 2F - PC-DOS Econet v1.05 - INSTALLATION CHECK
2FC501 - INT 2F - PC-DOS Econet v1.05 - RESET BOARD AND DRIVER
2FC502 - INT 2F - PC-DOS Econet v1.05 - PERFORM NETWORK OPERATION
2FC503 - INT 2F - PC-DOS Econet v1.05 - ADD EVENT HANDLER
2FC504 - INT 2F - PC-DOS Econet v1.05 - REMOVE EVENT HANDLER
2FC505 - INT 2F - PC-DOS Econet v1.05 - SET DEFAULT EVENT ACTION
2FC506 - INT 2F - PC-DOS Econet v1.05 - SET INDIVIDUAL EVENT ACTION
2FC507 - INT 2F - PC-DOS Econet v1.05 - TEST/CLEAR EVENT STATUS
2FC508 - INT 2F - PC-DOS Econet v1.05 - ENABLE/DISABLE EVENT SCHEDULER
2FCC00 - INT 2F - Tsoft NFSDRVR - INSTALLATION CHECK
2FCC01 - INT 2F - Tsoft NFSDRVR - ???
2FCC02 - INT 2F - Tsoft NFSDRVR - ???
2FCC03 - INT 2F - Tsoft NFSDRVR - ???
2FCC04 - INT 2F - Tsoft NFSDRVR - ???
2FCC05 - INT 2F - Tsoft NFSDRVR - ???
2FCC06 - INT 2F - Tsoft NFSDRVR - ???
2FD000 - INT 2F - Lotus CD/Networker - INSTALLATION CHECK
2FD002BX4D44 - INT 2F - Multiplex - Lotus CD/Networker GET DATA AREA
2FD701BX0000 - INT 2F - Banyan VINES v4+ - GET BANV INTERRUPT NUMBER
2FD702 - INT 2F U - Banyan VINES v4+ - PCPRINT interface
2FD703 - INT 2F U - Banyan VINES v4+ - MAIL interface
2FD704 - INT 2F U - Banyan VINES v4+ - Streettalk Directory Assistance interface
2FD800 - INT 2F U - Novell NetWare Lite - CLIENT.EXE - INSTALLATION CHECK
2FD856 - INT 2F U - Novell NetWare Lite v1.1 - SERVER - "VNWLSERV_INIT" - GET ???
2FD880 - INT 2F U - Novell NetWare Lite v1.0+ - SERVER - INSTALLATION CHECK
2FDAB2 - INT 2F U - Beame&Whiteside BWSNMP - INSTALLATION CHECK
2FDE00BL00 - INT 2F U - Novell Netware - RPRINTER, NPRINTER - INSTALLATION CHECK
2FDF01BX0000 - INT 2F U - MSG.COM - INSTALLATION CHECK
2FEE00 - INT 2F - WEB v4.02 - INSTALLATION CHECK
2FEE - INT 2F - WEB v4.02 - WEB MODULE INSTALLATION CHECK
2FEEF0 - INT 2F - WEB v4.02 - WEB GENERAL NOTIFICATION
2FF400 - INT 2F - PowerLAN - INSTALLATION CHECK???
2FF401 - INT 2F - PowerLAN - GET VERSION
2FF483 - INT 2F - PowerLAN - ???
2FFE00BX4454 - INT 2F - PC-NFS ??? - INSTALLATION CHECK
2FFE00BX4454 - INT 2F - PC-NFS ??? - INSTALLATION CHECK
2FFE08 - INT 2F - PC-NFS ??? - GET ???
2FFF00 - INT 2F - Topware Network Operating System - INSTALLATION CHECK
2FFF01 - INT 2F - Topware Network Operating System - GET VERSION
2FFF02 - INT 2F - TopWare Network OS v5.10+ - GET TopNet VERSION STRING
2FFF10 - INT 2F - TopWare Network OS v5.10+ - TopTerm - INSTALLATION CHECK
2FFF11 - INT 2F - TopWare Network OS v5.10+ - TopTerm - ENABLE KEYBOARD SERVICE
2FFF12 - INT 2F - TopWare Network OS v5.10+ - TopTerm - DISABLE KEYBOARD SERVICE
2FFF13 - INT 2F - TopWare Network OS v5.10+ - TopTerm - SET INSTALLATION FLAG
2FFF14 - INT 2F - TopWare Network OS v5.10+ - START BACKGROUND RECEIVE VIDEO DATA
2FFF15 - INT 2F - TopWare Network OS v5.10+ - END BACKGROUND RECEIVE VIDEO DATA
2FFF16 - INT 2F - TopWare Network OS v5.10+ - SET CONTROL NUMBER OF "SHOW" SCREEN
2FFF18 - INT 2F - TopWare Network OS v5.10+ - SEND FULL SCREEN OF DATA FOR TopShow
2FFF23 - INT 2F - TopWare Network OS v5.10+ - CLOSE SPOOL FILES AND START PRINTING
2FFF27 - INT 2F - TopWare Network OS v5.10+ - GET "SHOW" TYPE
44 - INT 44 - Novell NetWare - HIGH-LEVEL LANGUAGE API
48 - INT 48 - Watstar PC Network data pointer 1
49 - INT 49 - Watstar PC Network data pointer 2
50 - INT 50 - TIL Xpert AIM (X.25)
53 - INT 53 - WEB??? - API
5A - INT 5A - PC Cluster adapter BIOS entry address
5B - INT 5B - PC cluster adapter - RELOCATED INT 19
5B - INT 5B - AT&T Starlan Extended NetBIOS (variable length names)
5B - INT 5B - Microsoft Network Transport Layer Interface
5B - INT 5B - used by Alloy NTNX
5B - INT 5B - ISOLAN Multi Protocol Software
5C - INT 5C - NetBIOS INTERFACE
5C - INT 5C - TOPS INTERFACE
5C - INT 5C - ATALK.SYS - AppleTalk INTERFACE
5C - INT 5C - IBM 802.2 INTERFACE (LLC)
5C - INT 5C - $25 LAN - INSTALLATION CHECK
5C04 - INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
60 - INT 60 - Excelan LAN Workplace for DOS 3.5 - API
60 - INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI)
60 - INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
600000 - INT 60 - RIFS - CLIENT - INSTALLATION CHECK
600001 - INT 60 - RIFS - CLIENT - UNINSTALL
600002 - INT 60 - RIFS - CLIENT - REMAP DRIVE
600003 - INT 60 - RIFS - CLIENT - UNMAP DRIVE
600004 - INT 60 - RIFS - CLIENT - UNMAP ALL DRIVES
600005 - INT 60 - RIFS - CLIENT - GET TRANSLATION TABLE
600006 - INT 60 - RIFS - CLIENT - GET STATISTICS TABLE
600007 - INT 60 - RIFS - CLIENT - GET PORT TRANSLATION TABLE
600008 - INT 60 - RIFS - SERVER - INSTALLATION CHECK
600009 - INT 60 - RIFS - SERVER - UNINSTALL
60000A - INT 60 - RIFS - SERVER - GET STATISTICS TABLE
60000B - INT 60 - RIFS - SERVER - RESET
6001FF - INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO
6002 - INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE
6003 - INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE
6004 - INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET
6005 - INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
6006 - INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS
6007 - INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE
600A - INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS
600B - INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
600C - INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
600C - INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
600D - INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE
6011 - INT 60 - 3com, 10NET, Banyan VINES - LOCK AND WAIT
6012 - INT 60 - 3com, 10NET, Banyan VINES - LOCK
6013 - INT 60 - 3com, 10NET, Banyan VINES - UNLOCK
6014 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE
6015 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE
6016 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST
6017 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST
6018 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS
6019 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS
601A - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES
601B - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED
601C - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED
60E9 - INT 60 - FTP Packet Driver - Crynwr Software - AUTOSELECT TRANSCEIVER
61 - INT 61 - TCPOpen kernel - API
61 - INT 61 - XFS v1.76 - XFSKRNL.EXE - API
61 - INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
6100 - INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
6100 - INT 61 - Banyan VINES - CALL A SERVICE
610001DS0001 - INT 61 - Banyan VINES - INTERNAL VINES SOCKET API (NEAR DATA)
610001SF0001 - INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
610001SF0002 - INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
610001SF0003 - INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
610001SF0004 - INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
610001SF0005 - INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
610001SF0008 - INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
610001SF000B - INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
610003SF00 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
610003SF01 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
610003SF02 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
610003SF03 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
610003SF04 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
610003SF05 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
610003SF06 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
610003SF07 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
610003SF08 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
610003SF09 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
610003SF0A - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
610003SF0B - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
610003SF0C - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
610003SF0D - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
610003SF0E - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
610003SF0F - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
610003SF10 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
610003SF11 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
610003SF12 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
610003SF13 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
610003SF14 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
610003SF15 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
610004 - INT 61 - Banyan VINES - FILE SERVICE CONTROL
610004SF0001 - INT 61 - Banyan VINES - SET DRIVE CONNECTION
610004SF0002 - INT 61 - Banyan VINES - GET DRIVE CONNECTION
610004SF0003 - INT 61 - Banyan VINES - GET NETWORK DRIVE MAP
610004SF0004 - INT 61 - Banyan VINES - SET USER NAME
610004SF0005 - INT 61 - Banyan VINES - GET USER NAME
610004SF0006 - INT 61 - Banyan VINES - TEST DRIVE CONNECTION
610004SF0007 - INT 61 - Banyan VINES - GET CONNECTION DATA STRUCTURES
610004SF0008 - INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
610004SF0009 - INT 61 - Banyan VINES - SET ??? PARAMETER
610004SF000B - INT 61 - Banyan VINES - GET ??? DRIVE PARAMETER
610004SF000C - INT 61 - Banyan VINES - LOGOUT FROM VINES
610004SF000E - INT 61 - Banyan VINES - GET ACCESS RIGHTS LIST (ARL)
610004SF000F - INT 61 - Banyan VINES - SET ACCESS RIGHTS LIST (ARL)
610004SF0010 - INT 61 - Banyan VINES - FILE SERVICE CONTROL - ???
610004SF0013 - INT 61 - Banyan VINES - GET VALUE OF GLOBAL VARIABLE
610004SF0014 - INT 61 - Banyan VINES - SET VALUE OF GLOBAL VARIABLE
610004SF0016 - INT 61 - Banyan VINES - GET NUMBER OF OPEN FILES ON REMOTE DRIVE
610004SF0018 - INT 61 - Banyan VINES - SET UNIDENTIFIED INTERNAL FLAG
610004SF001B - INT 61 - Banyan VINES - UNIDENTIFIED DRIVE SPECIFIC FUNCTION
610004SF001C - INT 61 - Banyan VINES - UNIDENTIFIED FUNCTION
610005 - INT 61 - Banyan VINES - PRINT SERVICE CONTROL
610006 - INT 61 - Banyan VINES - GET ADDRESS OF GLOBAL VARIABLE
610007BX0000 - INT 61 - Banyan VINES - RECONNECT TO STREETTALK
610007BX0001 - INT 61 - Banyan VINES - GET MM PORT FOR A SERVICE
610007BX0002 - INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
610007BX0003 - INT 61 - Banyan VINES - FIND A SERVICE
610007BX0004 - INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
610007BX0005 - INT 61 - Banyan VINES - GET USER NAME
610007BX0006 - INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
610007BX0007 - INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
610007BX0008 - INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
610007BX0009 - INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING (SELECTED PORT)
610007BX000A - INT 61 - Banyan VINES - internal, OS/2 only - GET MANY PORTS FOR SERVICE
610008BX0000 - INT 61 - Banyan VINES - TALKPORT SERVICE - GET HANDLER ADDRESS
610008BX0001 - INT 61 - Banyan VINES - TALKPORT SERVICE - SET HANDLER ADDRESS
610008BX0002 - INT 61 - Banyan VINES - TALKPORT SERVICE - POST MESSAGE ON LOCAL DISPLAY
610008BX0003 - INT 61 - Banyan VINES - TALKPORT SERVICE - INTERCEPT VINES 25th-LINE MESSAGES
610009 - INT 61 - Banyan VINES - NETBIOS CLIENT SERVICE
61000A - INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
61000B - INT 61 - Banyan VINES - SEMAPHORE SERVICE
61000C - INT 61 - Banyan VINES - 3270 KEYBOARD HANDLER
61000D - INT 61 - Banyan VINES - T3270 SERVICE FUNCTION
61000E - INT 61 - Banyan VINES - ENHANCED 3270 SERVICE
61000F - INT 61 - Banyan VINES - VINES SOCKET API (FAR DATA)
61000FSF0001 - INT 61 - Banyan VINES - OPEN SOCKET
61000FSF0002 - INT 61 - Banyan VINES - SEND MESSAGE ON A SOCKET
61000FSF0004 - INT 61 - Banyan VINES - CLOSE SOCKET
61000FSF0008 - INT 61 - Banyan VINES - GET PROCESS HANDLE
610010 - INT 61 - Banyan VINES - INTERFACE TO NBNS
6101 - INT 61 - Banyan VINES - CHECK SERVICE
6101--BX0000 - INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
6102 - INT 61 - Banyan VINES - GET REVISION NUMBER
6102--BX0000 - INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
6103 - INT 61 - Banyan VINES - INSTALL SERVICE HANDLER
6104 - INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE
6105 - INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
6105 - INT 61 - Banyan VINES - READ PCCONFIG BYTES
6106 - INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
6106 - INT 61 - Banyan VINES - GET PCCONFIG BASE ADDRESS
6107 - INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
6107 - INT 61 - Banyan VINES - GET VINES REVISION NUMBER (LONG)
6108 - INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
6108 - INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE (LONG)
6109 - INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
6109 - INT 61 - Banyan VINES - GET VALUE OF AN OS/2 BACKEND VARIABLE
610A - INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
610A - INT 61 - Banyan VINES - SET VALUE OF AN OS/2 BACKEND VARIABLE
610B - INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
610B - INT 61 - Banyan VINES - SET PCCONFIG IN BACKEND
610C - INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
610D - INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
610E - INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
610F - INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
6110 - INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
6111 - INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
6112 - INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
6113 - INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
6114 - INT 61 Ou - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
6115 - INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
6116 - INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
6117 - INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
6118 - INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
6119 - INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
611A - INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
611B - INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
611C - INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
611D - INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
611E - INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
611F - INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
6120 - INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
6121 - INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
6122 - INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
6123 - INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
6124 - INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
6125 - INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
6126 - INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
6127 - INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
6128 - INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
6129 - INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
612A - INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
612B - INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
6130 - INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
61 - INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
6132 - INT 61 U - PC/TCP kernel v2.3 - GET ???
6134 - INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
6150 - INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
6151 - INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
6152 - INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
6153 - INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
6154 - INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
6155 - INT 61 U - PC/TCP kernel v2.3 - ???
6156 - INT 61 U - PC/TCP kernel v2.3 - ???
6157 - INT 61 U - PC/TCP kernel v2.3 - ???
6158 - INT 61 U - PC/TCP kernel v2.3 - ???
6159 - INT 61 U - PC/TCP kernel v2.3 - ???
615A - INT 61 U - PC/TCP kernel v2.3 - ???
615B - INT 61 U - PC/TCP kernel v2.3 - ???
615C - INT 61 U - PC/TCP kernel v2.3 - ???
615D - INT 61 U - PC/TCP kernel v2.3 - ???
615E - INT 61 U - PC/TCP kernel v2.3 - ???
615F - INT 61 U - PC/TCP kernel v2.3 - ???
62 - INT 62 - XFS v1.76 - FILTERED PACKET DRIVER API
6200 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET PHYSICAL HARDWARE ADDRESS
6201 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
6202 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - INITIALIZE
6203 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET REAL IP ADDRESS
6204 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
6205 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6206 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6207 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6208 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6209 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - HOOK TIMER INTERRUPT
620A - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - UNHOOK TIMER INTERRUPT
620B - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ADD ???
620C - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - REMOVE ???
620D - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
620E - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - BEGIN CRITICAL SECTION
620F - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - END CRITICAL SECTION
6210 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - QUERY CRITICAL SECTION
6211 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
6212 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET SOCKET NUMBER???
6213 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6214 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6215 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET ???
6216 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6217 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
6218 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ALLOCATE AND MAP EMS FOR DRIVER
62FE - INT 62 - BW-TCP - ETHDRV.SYS - MAP EMS PAGE FRAME
6300 - INT 63 - BW-TCP - TCPIP.SYS - SET IP ADDRESS???
6301 - INT 63 - BW-TCP - TCPIP.SYS - ???
6302 - INT 63 - BW-TCP - TCPIP.SYS - ???
6303 - INT 63 - BW-TCP - TCPIP.SYS - GET IP ADDRESS
6304 - INT 63 - BW-TCP - TCPIP.SYS - ???
6305 - INT 63 - BW-TCP - TCPIP.SYS - ???
6306 - INT 63 - BW-TCP - TCPIP.SYS - ???
6307 - INT 63 - BW-TCP - TCPIP.SYS - ???
6308 - INT 63 - BW-TCP - TCPIP.SYS - SET DEFAULT ??? HANDLER
6309 - INT 63 - BW-TCP - TCPIP.SYS - INSTALL ??? HANDLERS
630A - INT 63 - BW-TCP - TCPIP.SYS - DELETE ??? HANDLERS
630B - INT 63 - BW-TCP - TCPIP.SYS - ???
630C - INT 63 - BW-TCP - TCPIP.SYS - ???
630D - INT 63 - BW-TCP - TCPIP.SYS - INSTALL DEFAULT ??? HANDLER
630E - INT 63 - BW-TCP - TCPIP.SYS - CLOSE NETWORK DESCRIPTOR
630F - INT 63 - BW-TCP - TCPIP.SYS - ???
6310 - INT 63 - BW-TCP - TCPIP.SYS - ???
6311 - INT 63 - BW-TCP - TCPIP.SYS - ???
6312 - INT 63 - BW-TCP - TCPIP.SYS - LISTEN FOR INCOMING CONNECTIONS
6313 - INT 63 - BW-TCP - TCPIP.SYS - NOP
6314 - INT 63 - BW-TCP - TCPIP.SYS - OPEN NETWORK CONNECTION
6315 - INT 63 - BW-TCP - TCPIP.SYS - ???
6316 - INT 63 - BW-TCP - TCPIP.SYS - RESET NETWORK CONNECTION
6317 - INT 63 - BW-TCP - TCPIP.SYS - ???
6318 - INT 63 - BW-TCP - TCPIP.SYS - ???
6319 - INT 63 - BW-TCP - TCPIP.SYS - WRITE TO THE NETWORK
631A - INT 63 - BW-TCP - TCPIP.SYS - READ FROM THE NETWORK
631B - INT 63 - BW-TCP - TCPIP.SYS - ???
631C - INT 63 - BW-TCP - TCPIP.SYS - ???
631D - INT 63 - BW-TCP - TCPIP.SYS - ???
631E - INT 63 - BW-TCP - TCPIP.SYS - ???
631F - INT 63 - BW-TCP - TCPIP.SYS - SET SOCKET ??? HANDLER
6320 - INT 63 - BW-TCP - TCPIP.SYS - REMOVE SOCKET ??? HANDLER
6321 - INT 63 - BW-TCP - TCPIP.SYS - ???
6322 - INT 63 - BW-TCP - TCPIP.SYS - REMOVE ??? HANDLER
6323 - INT 63 - BW-TCP - TCPIP.SYS - ???
6324 - INT 63 - BW-TCP - TCPIP.SYS - GET SOCKET
6325 - INT 63 - BW-TCP - TCPIP.SYS - GET INTERNET ADDRESS
6326 - INT 63 - BW-TCP - TCPIP.SYS - SET INTERNET ADDRESS???
6327 - INT 63 - BW-TCP - TCPIP.SYS - SET ???
6328 - INT 63 - BW-TCP - TCPIP.SYS - ???
6329 - INT 63 - BW-TCP - TCPIP.SYS - ???
64 - INT 64 - Novell NetWare to v2.0a - LOW-LEVEL API
6401 - INT 64 U - BW-NFS - BWRPC - ???
6402 - INT 64 U - BW-NFS - BWRPC - ???
6403 - INT 64 U - BW-NFS - BWRPC - ADD ???
6404 - INT 64 U - BW-NFS - BWRPC - REMOVE ???
6405 - INT 64 U - BW-NFS - BWRPC - ???
6406 - INT 64 U - BW-NFS - BWRPC - ???
6407 - INT 64 U - BW-NFS - BWRPC - GET IP ADDRESS
6410 - INT 64 U - BW-NFS - BWRPC - CALL ETHDEV.SYS
6411 - INT 64 U - BW-NFS - BWRPC - NOP???
64FE - INT 64 - BW-NFS - BWRPC - MAP EMS PAGE FRAME
65 - INT 65 - FTP Software NDIS-Packet Driver adapter - POST PROCESSING INTERRUPT
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - NETBIOS - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - MACTEST - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - Physical Layer - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER.COM - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR.COM - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - COMREDIR.COM - ???
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - FTP.COM - ???
66 - INT 66 C - Nanosoft, Inc. TurboNET - NETWORK PROCESSING ???
6700 - INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE AND WAIT
6701 - INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE
6702 - INT 67 - PC-NET, Alloy NTNX - UNLOCK SEMAPHORE
68 - INT 68 - Novell NetWare LU6.2
6801--SF1B00 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DISPLAY
6801--SF2000 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH PHYSICAL UNIT
6801--SF2100 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH LOGICAL UNIT
6801--SF2200 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH LOGICAL UNIT
6801--SF2700 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH PHYSICAL UNIT
6801--SF2B00 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ACTIVATE DLC
6802--SF0100 - INT 68 - APPC/PC - CONNECTION CONTROL - ALLOCATE
6802--SF0300 - INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRM
6802--SF0400 - INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRMED
6802--SF0500 - INT 68 - APPC/PC - CONNECTION CONTROL - DEALLOCATE
6802--SF0600 - INT 68 - APPC/PC - CONNECTION CONTROL - FLUSH
6802--SF0700 - INT 68 - APPC/PC - CONNECTION CONTROL - GET ATTRIBUTES
6802--SF0800 - INT 68 - APPC/PC - CONNECTION CONTROL - GET CONVERSATION TYPE
6802--SF0900 - INT 68 - APPC/PC - CONNECTION CONTROL - POST ON RECEIPT
6802--SF0A00 - INT 68 - APPC/PC - CONNECTION CONTROL - PREPARE TO RECEIVE
6802--SF0B00 - INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE AND WAIT
6802--SF0C00 - INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE IMMEDIATE
6802--SF0E00 - INT 68 - APPC/PC - CONNECTION CONTROL - REQUEST TO SEND
6802--SF0F00 - INT 68 - APPC/PC - CONNECTION CONTROL - SEND DATA
6802--SF1000 - INT 68 - APPC/PC - CONNECTION CONTROL - SEND ERROR
6802--SF1200 - INT 68 - APPC/PC - CONNECTION CONTROL - TEST
6802--SF1300 - INT 68 - APPC/PC - CONNECTION CONTROL - WAIT
6803--SF2400 - INT 68 - APPC/PC - TP STARTED
6803--SF2800 - INT 68 - APPC/PC - GET ALLOCATE
6803--SF2A00 - INT 68 - APPC/PC - CHANGE LOGICAL UNIT
6804 - INT 68 - APPC/PC - TRANSACTION PROCESSING
6805 - INT 68 - APPC/PC - TRANSFER MESSAGE DATA
6806 - INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
6807 - INT 68 - APPC/PC - PASSTHROUGH
68FA - INT 68 - APPC/PC - ENABLE/DISABLE APPC
68FB - INT 68 - APPC/PC - CONVERT
68FC - INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
68FD - INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
68FE - INT 68 - APPC/PC - SET TRACE DESTINATION
68FF - INT 68 - APPC/PC - SET PASSTHROUGH
690100 - INT 69 - DECnet DOS CTERM - INSTALLATION CHECK
690101 - INT 69 - DECnet DOS CTERM - SEND BYTE
690102 - INT 69 - DECnet DOS CTERM - READ BYTE
690103 - INT 69 - DECnet DOS CTERM - STATUS
690104 - INT 69 - DECnet DOS CTERM - DECnet STATUS
690105 - INT 69 - DECnet DOS CTERM - OPEN SESSION
690106 - INT 69 - DECnet DOS CTERM - CLOSE SESSION
69010A - INT 69 - DECnet DOS CTERM - GET SESSION CONTROL BLOCK SIZE
69010B - INT 69 - DECnet DOS CTERM - GET DECnet SOCKET
69010F - INT 69 - DECnet DOS CTERM - DEINSTALL CTERM
690A - INT 69 - DECnet DOS 2.1+ - DATA LINK LAYER
694001 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694002 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694101 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694102 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694103 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
694104 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6942 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6943 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6944 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
6949 - INT 69 - 10NET v5.0 - SYSSVC.COM - BUG
69FF - INT 69 - 10NET v5.0 - SYSSVC.COM - SIGNAL SYSTEM ERROR
6A - INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM - INSTALLATION CHECK
6A0000 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - INSTALLATION CHECK
6A0001 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
6A0002 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
6A0003 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - GET ??? DATA AREA
6A0004 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ALLOCATE ???
6A0005 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ???
6A000F - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ALL ???
6A0010 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - UNINSTALL
6A01--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BYTE
6A02--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - READ BYTE
6A03--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - STATUS
6AD0--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - OPEN SESSION
6AD000DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - CLOSE SESSION
6AD100DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BREAK
6AD300DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - RESET LAT COUNTERS
6AD400DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - COPY LAT COUNTERS
6AD500DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - GET NEXT LAT SERVICE NAME
6AD600DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - LAT SERVICE TABLE RESET
6B - INT 6B - DECnet DOS - PORT DRIVER
6B08 - INT 6B - TelAPI - CHECK FOR BREAK SIGNAL
6C - INT 6C - DECnet DOS network scheduler
6D - INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM
6E - INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
6F - INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
6F00 - INT 6F - 10NET - LOGIN
6F01 - INT 6F - 10NET - LOGOFF
6F02 - INT 6F - 10NET - STATUS OF NODE
6F03 - INT 6F - 10NET - GET ADDRESS OF CONFIGURATION TABLE
6F04 - INT 6F - 10NET - SEND
6F05 - INT 6F - 10NET - RECEIVE
6F07 - INT 6F - 10NET - LOCK HANDLE
6F08 - INT 6F - 10NET - UNLOCK HANDLE
6F09 - INT 6F - 10NET - SUBMIT
6F0A - INT 6F - 10NET - CHAT
6F0B - INT 6F - 10NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
6F0C - INT 6F - 10NET - UNLOCK SEMAPHORE
6F0D - INT 6F - 10NET - "WHO" - ENUMERATE USERS ON NETWORK
6F0E - INT 6F - 10NET - SPOOL/PRINT
6F0F - INT 6F - 10NET v5.0 - "RM LOCK" - ???
6F10 - INT 6F - 10NET - ATTACH/DETACH PRINTER
6F11 - INT 6F - 10NET - LOCK FCB
6F12 - INT 6F - 10NET - UNLOCK FCB
6F13 - INT 6F - 10NET v3.3+ - GET REMOTE CONFIGURATION TABLE ADDRESS
6F14 - INT 6F - 10NET v3.3+ - GET REMOTE MEMORY
6F1501 - INT 6F - 10NET v3.3+ - GET SHARED DEVICE ENTRY
6F1502 - INT 6F - 10NET v3.3+ - SET SHARED DEVICE ENTRY
6F1503 - INT 6F - 10NET v3.3+ - DELETE SHARED DEVICE ENTRY
6F16 - INT 6F - 10NET v5.0 - "GL WHO" - ???
6F17 - INT 6F - 10NET v3.3+ - MOUNT
6F18 - INT 6F - 10NET v3.3+ - UNMOUNT
6F19 - INT 6F U - 10NET v5.0 - AUDIT
6F1A - INT 6F U - 10NET v5.0 - "BULL" - ???
6F1B - INT 6F U - 10NET v5.0 - "GMOUNT" - ???
6F1C - INT 6F U - 10NET v5.0 - "GLOGIN" - GET LOGIN LIST
6F1D - INT 6F U - 10NET v5.0 - "TABDATA" - ???
6F1E - INT 6F U - 10NET v5.0 - "SCHED" - ???
6F1F - INT 6F U - 10NET v5.0 - "WHOAMI" - ???
6F20 - INT 6F U - 10NET v5.0 - ???
6F21 - INT 6F U - 10NET v5.0 - ???
6F22 - INT 6F U - 10NET v5.0 - ???
6F80 - INT 6F - 10NET v5.0 - LOGIN
6F81 - INT 6F - 10NET v5.0 - LOGOUT
6F8A - INT 6F - 10NET v5.0 - CHAT
6F8D - INT 6F - 10NET v5.0 - "WHO" - ENUMERATE USERS ON NETWORK
6F9501 - INT 6F - 10NET v5.0 - GET SHARED DEVICE ENTRY
6F9502 - INT 6F - 10NET v5.0 - SET SHARED DEVICE ENTRY
6F9503 - INT 6F - 10NET v5.0 - DELETE SHARED DEVICE
6F9504 - INT 6F - 10NET v5.0 - ENUMERATE USERS OF SHARED DEVICE
6F99 - INT 6F - 10NET v5.0 - AUDIT
6F9C - INT 6F - 10NET v5.0 - GET LOGIN LIST
7A - INT 7A U - Topware Network Operating System - ???
7A - INT 7A - X.PC Packet software interface
7A - INT 7A - Novell NetWare - LOW-LEVEL API - Notes
7A----BX0000 - INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
7A----BX0001 - INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
7A----BX0002 - INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
7A----BX0003 - INT 7A - Novell NetWare - IPX Driver - SEND PACKET
7A----BX0004 - INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
7A----BX0005 - INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
7A----BX0006 - INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
7A----BX0007 - INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
7A----BX0008 - INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
7A----BX0009 - INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
7A----BX000A - INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
7A----BX000B - INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
7A----BX000C - INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
7A----BX000D - INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
7A----BX000E - INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
7A----BX000F - INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
7A----BX0010 - INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
7A----BX0011 - INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
7A----BX0012 - INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
7A----BX0013 - INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
7A----BX0014 - INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
7A----BX0015 - INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
7A----BX0016 - INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
7A----BX0017 - INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
7A----BX0018 - INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
7A----BX0019 - INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
7A----BX001A - INT 7A - Novell NetWare - IPX Driver - GET DRIVER MAXIMUM PACKET SIZE
7A----BX001B - INT 7A U - Novell NetWare - IPX Driver - INTERNAL
7A----BX001C - INT 7A U - Novell NetWare - NetWare Access Server - GET ???
7A----BX001D - INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB AND SOCKET
7A----BX001E - INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB
7A----BX001F - INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX INFORMATION
7A----BX0020 - INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
7A----BX0021 - INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
7A----BX0022 - INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
7A----BX0023 - INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
7A----BX0024 - INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
7C - INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
7C0000 - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
7C0001 - INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
7C0002 - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
7C0003 - INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
7C0004 - INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
7C0005 - INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
7C0006 - INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
7C0007 - INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
7C0008 - INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
7C0009 - INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
7C000A - INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
7C000B - INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
7C000C - INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
7C000D - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
7C000E - INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
7C000F - INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
7C0010 - INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
7C0011 - INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
7C0012 - INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
7C0013 - INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
7C0014 - INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
7C0015 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
7C0016 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
7C0017 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
7F - INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
7F - INT 7F - Non-dedicated NetWare 2.x File Server - ENTER CONSOLE MODE
7F - INT 7F - Alloy 386/MultiWare (MW386), Novell-Type Network Executive (NTNX)
7F - INT 7F - Alloy NetWare Support Kit (ANSK) v2.2+ - INSTALLATION CHECK
7F00 - INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK AND WAIT
7F00 - INT 7F - G8BPQ v4.07+ - GET NODE/SWITCH VERSION AND DESCRIPTION
7F01 - INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK
7F01 - INT 7F - G8BPQ v4.00+ - HOST MODE - SET APPLICATION FLAGS AND MASK
7F02 - INT 7F - Alloy NTNX, MW386 - RELEASE SEMAPHORE
7F02 - INT 7F - G8BPQ v4.00+ - HOST MODE - SEND FRAME
7F03 - INT 7F - Alloy ANSK, NTNX, MW386 - GET USER NUMBER
7F03 - INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE FRAME
7F04 - INT 7F - Alloy NTNX, MW386 - GET NUMBER OF USERS
7F04 - INT 7F - G8BPQ v4.00+ - HOST MODE - GET STREAM STATUS
7F05 - INT 7F - Alloy NTNX (Host) - LOCK/UNLOCK SYSTEM, SPOOLER CONTROL
7F05 - INT 7F - Alloy NTNX (Slave), MW386 - GET USER PARAMETERS
7F05 - INT 7F - G8BPQ v4.00+ - HOST MODE - ACKNOWLEDGE STREAM STATUS CHANGE
7F06 - INT 7F - Alloy NTNX (Host) - GET SHARED DRIVE INFO
7F06 - INT 7F - Alloy NTNX (Slave) - ALLOCATE FREE CLUSTER ON SHARED DRIVE
7F06 - INT 7F - G8BPQ v4.00+ - HOST MODE - SESSION CONTROL
7F07 - INT 7F - Alloy NTNX, MW386 - GET LIST OF SHARED DRIVES
7F07 - INT 7F - G8BPQ v4.00+ - HOST MODE - GET BUFFER COUNTS FOR STREAM
7F08 - INT 7F - Alloy NTNX (Host) - GET INTERRUPT VECTORS
7F08--CL02 - INT 7F - Alloy NTNX - SET MESSAGE DISPLAY TIMEOUT
7F08 - INT 7F - G8BPQ v4.00+ - HOST MODE - PORT CONTROL/INFORMATION
7F09 - INT 7F - G8BPQ - proposed addition - GET NODE/APPLICATION CALLSIGN AND ALIAS
7F09 - INT 7F - Alloy NTNX - ENABLE/DISABLE MUD FILE CHECKING
7F09--CL02 - INT 7F - Alloy NTNX - SWITCH HOST TO DEDICATED MODE
7F09--CL03 - INT 7F - Alloy NTNX,MW386 - GET ALTERNATE INTERRUPT
7F0A--CL00 - INT 7F - Alloy NTNX - GET SYSTEM FLAGS
7F0A - INT 7F - G8BPQ v4.00+ - HOST MODE - TRANSMIT RAW (KISS) FRAME
7F0B--CL02 - INT 7F - Alloy NTNX (Host) - SET/RESET GRAPHICS DOS ON SLAVE
7F0B - INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE TRACE (RAW DATA) FRAME
7F0C - INT 7F - G8BPQ v4.00+ - HOST MODE - UPDATE SWITCH INFORMATION
7F0D00 - INT 7F - G8BPQ v4.07+ - HOST MODE - GET AVAILABLE STREAM
7F0D - INT 7F - G8BPQ v4.07+ - HOST MODE - ALLOCATE/DEALLOCATE STREAM
7F0F - INT 7F - G8BPQ v4.00+ - HOST MODE - GET TIME MARKER
7F10--CL00 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - OPEN CHANNEL
7F10--CL01 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE CHANNEL
7F10--CL02 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK CHANNEL
7F10--CL03 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK CHANNEL
7F10--CL04 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - RELEASE BUFFER
7F10--CL05 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE ALL CHANNELS
7F10--CL06 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK ALL OPEN CHANNELS
7F10--CL07 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK ALL LOCKED IDLE CHANNELS
7F10--CL08 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK MULTIPLE CHANNELS
7F10--CL09 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK MULTIPLE CHANNELS
7F11 - INT 7F - Alloy NTNX, MW386 - SEND DATAGRAM
7F12 - INT 7F - Alloy NTNX, MW386 - ACKNOWLEDGE DATAGRAM
7F13--CL00 - INT 7F - Alloy NTNX, MW386 - RESET USER DATAGRAMS
7F14--CL00 - INT 7F - Alloy NTNX, MW386 - SET RECEIVE ISR
7F14--CL01 - INT 7F - Alloy NTNX, MW386 - SET ACKNOWLEDGE ISR
7F14--CL02 - INT 7F - Alloy NTNX, MW386 - SET CHANNEL BUFFER POINTER
7F14--CL03 - INT 7F - Alloy NTNX, MW386 - GET RECEIVE ISR
7F14--CL04 - INT 7F - Alloy NTNX, MW386 - GET ACKNOWLEDGE ISR
7F14--CL05 - INT 7F - Alloy NTNX (Host), MW386 - GET BUSY POINTER
7F15--CL00 - INT 7F - Alloy NTNX, MW386 - GET CHANNEL STATUS
7F15--CL01 - INT 7F - Alloy NTNX, MW386 - GET NEXT FULL CHANNEL
7F15--CL02 - INT 7F - Alloy NTNX, MW386 - GET MAXIMUM NUMBER OF CHANNELS
7F15--CL03 - INT 7F - Alloy NTNX, MW386 - GET MAXIMUM PACKET SIZE
7F15--CL04 - INT 7F - Alloy NTNX, MW386 - GET AND CLEAR ACKNOWLEDGE STATUS
7F16 - INT 7F - Alloy NTNX, MW386 - DIRECT MEMORY TRANSFER
7F21 - INT 7F - Alloy NTNX, MW386 - SEND MESSAGE OR COMMAND TO USER(S)
7F22 - INT 7F - Alloy NTNX - GET MESSAGE
7F24 - INT 7F - Alloy NTNX, MW386 - ATTACH OR RELEASE DRIVE FOR LOW-LEVEL WRITE ACCESS
7F24 - INT 7F - Alloy NTNX - ATTACH/RELEASE HOST PROCESSOR
7F25--CL00 - INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE VERSION
7F25--CL01 - INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE TYPE
7F26--CL00 - INT 7F - Alloy NTNX, MW386 - GET NTNX FILE MODE
7F26 - INT 7F - Alloy NTNX - SET FILE I/O CHECKING LEVEL
7F26--CL06 - INT 7F - Alloy NTNX - CANCEL FLUSH ON WRITE
7F30 - INT 7F - Alloy MW386 - GET PORT INFORMATION
7F31 - INT 7F - Alloy MW386 v1.x only - CHECK PORT ASSIGNMENT
7F37 - INT 7F - Alloy NTNX (Host) - GET SEMAPHORE TABLE
7F37 - INT 7F - Alloy ANSK, NTNX (Slave) - DUMP STRING TO TERMINAL
7F38 - INT 7F - Alloy NTNX (Slave), MW386 - SET NEW TERMINAL DRIVER
7F39 - INT 7F - Alloy MW386 - SET TERMINAL DRIVER FOR ANOTHER USER
7F3A - INT 7F - Alloy MW386 - GET TERMINAL PARAMETERS
7F3B - INT 7F - Alloy MW386 - SET TERMINAL PARAMETERS
7F3C - INT 7F - Alloy MW386 - ENABLE/DISABLE AUTOBAUD DETECT
7F3D - INT 7F - Alloy MW386 - POST TERMINAL CONFIGURATION CHANGES
7F41 - INT 7F - Alloy NTNX - LOCK FILE FOR USER
7F41 - INT 7F - Alloy MW386 - LOCK SEMAPHORE FOR USER
7F42 - INT 7F - Alloy NTNX - UNLOCK FILE FOR USER
7F42 - INT 7F - Alloy MW386 - UNLOCK SEMAPHORE FOR USER
7F4E - INT 7F - Alloy MW386 v2+ - SET ERROR MODE
7F4F - INT 7F - Alloy MW386 v2+ - SET FCB MODE
7F81 - INT 7F - Alloy NTNX - ATTACH DEVICE FOR USER
7F82 - INT 7F - Alloy NTNX - RELEASE DEVICE FOR USER
7FA0 - INT 7F - Alloy MW386 - GET USER NAME
7FA1 - INT 7F - Alloy MW386 - GET MACHINE, USER, AND PROCESS NUMBER
7FA2 - INT 7F - Alloy MW386 - GET USER PRIVILEGE LEVEL
7FA3 - INT 7F - Alloy MW386 - GET USER LOGIN STATE
7FA4 - INT 7F - Alloy MW386 - VERIFY USER PASSWORD
7FA500 - INT 7F - Alloy MW386 - GET USER STATUS
7FA501 - INT 7F - Alloy MW386 - SET USER STATUS
7FB0 - INT 7F - Alloy NTNX, MW386 - RELEASE ALL SEMAPHORES FOR USER
7FB1--SF00 - INT 7F - Alloy NTNX, MW386 - RELEASE NORMAL SEMAPHORES FOR USER
7FB2--SF01 - INT 7F - Alloy NTNX - RELEASE MESSAGES FOR USER
7FB3--SF02 - INT 7F - Alloy NTNX - RELEASE FILES FOR USER
7FB4 - INT 7F - Alloy NTNX - RELEASE DEVICES FOR USER
7FC3 - INT 7F - Alloy MW386 - WRITE BYTE TO TERMINAL AUX PORT
7FC5 - INT 7F - Alloy MW386 - CHANGE CONSOLE MODE
7FC6 - INT 7F - Alloy MW386 - WRITE BYTE TO CONSOLE PORT
7FC7 - INT 7F - Alloy MW386 - READ CONSOLE DATA BYTE
7FC8 - INT 7F - Alloy MW386 - READ CONSOLE DATA INTO BUFFER
7FCF - INT 7F - Alloy NTNX - REBOOT USER PROCESSOR
7FD6 - INT 7F - Alloy MW386 - RESET NETWORK EXECUTIVE
7FD7 - INT 7F - Alloy MW386 - POST EVENT
7FD8 - INT 7F - Alloy MW386 - FLUSH DISK BUFFERS
7FDB - INT 7F - Alloy MW386 v2+ - GET MW386 INVOCATION DRIVE
7FE0 - INT 7F - Alloy MW386 - CREATE DOS TASK
7FE1 - INT 7F - Alloy MW386 - GET DOS TASK PID FROM CREATE ID
7FE2 - INT 7F - Alloy MW386 - SWITCH TO NEW DOS TASK
7FE3 - INT 7F - Alloy MW386 - CHANGE NAME OF DOS TASK
7FE4 - INT 7F - Alloy MW386 - GET TASK NAME FROM PROCESS NUMBER
7FE5 - INT 7F - Alloy MW386 - GET PROCESS NUMBER FROM TASK NAME
7FE6 - INT 7F - Alloy MW386 - GET NUMBER OF AVAILABLE USER TASKS
7FE7 - INT 7F - Alloy MW386 - REMOVE DOS TASK
7FE8 - INT 7F - Alloy MW386 - DOS TASK DELAY
7FF0 - INT 7F - Alloy MW386 - RESTRICT DIRECTORY TO GROUP
7FF1 - INT 7F - Alloy MW386 - ASSIGN DIRECTORY TO GROUP
7FF2 - INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY
7FF3 - INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY FOR GROUP
7FF8 - INT 7F - Alloy MW386 - ASSIGN USER TO GROUP
7FF9 - INT 7F - Alloy MW386 - REMOVE USER FROM GROUP
7FFA - INT 7F - Alloy MW386 - GET USER GROUP LIST
7FFB - INT 7F - Alloy MW386 - ASSIGN GROUP NAME
7FFC - INT 7F - Alloy MW386 - GET GROUP NAME
8001 - INT 80 - QPC Software PKTINT.COM - INITIALIZE
8002 - INT 80 - QPC Software PKTINT.COM - GET BUFFER ADDRESSES
8003 - INT 80 - QPC Software PKTINT.COM - GET ENTRY POINT
8004 - INT 80 - QPC Software PKTINT.COM - ENABLE???
8005 - INT 80 - QPC Software PKTINT.COM - GET RECEIVE STATISTICS
8006 - INT 80 - QPC Software PKTINT.COM - REMOVE RECEIVED PACKET
81 - INT 81 - IBM TOKEN RING ADAPTER - ???
82 - INT 82 - IBM TOKEN RING ADAPTER - ???
86 - INT 86 - NetBIOS - ORIGINAL INT 18
91 - INT 91 - IBM TOKEN RING ADAPTER - ???
92 - INT 92 - Sangoma X.25 INTERFACE PROGRAM
93 - INT 93 - IBM TOKEN RING ADAPTER - ???
E1 - INT E1 - PC Cluster Disk Server Information (NOT A VECTOR!)
E2 - INT E2 - PC Cluster Program - RELOCATED INT 1C
EC - INT EC - used by Alloy NTNX
F1 - INT F1 - NetWare Remote Boot - INSTALLATION CHECK (NOT A VECTOR!)
F2 - INT F2 - NetWare Remote Boot - ORIGINAL INT 13
F3 - INT F3 - NetWare Remote Boot - BOOT ROM'S INT 13 HANDLER
F4 - INT F4 - NetWare Remote Boot - ???
Top

O - other operating systems,

1500 - INT 15 - VMiX v2+ - INSTALLATION CHECK
1501 - INT 15 - VMiX - "sys_chanreq" - I/O CHANNEL OBJECT MANAGER
1502 - INT 15 - VMiX - "sys_memreq" - MEMORY OBJECT MANAGER
1503 - INT 15 - VMiX - "sys_pinput" - PROMPTED CONSOLE INPUT
1504 - INT 15 - VMiX - "sys_vprintf" - FORMATTED OUTPUT TO STREAM
1505 - INT 15 - VMiX - "sys_getpid" - GET PROCESS ID OF CURRENT PROCESS
1506 - INT 15 - VMiX - "sys_getpcb" - GET POINTER TO PROCESS CONTROL BLOCK
1507 - INT 15 - VMiX - "sys_getocb" - GET POINTER TO OBJECT CONTROL BLOCK
1508 - INT 15 - VMiX - "sys_getccb" - GET CHANNEL CONTROL BLOCK
1509 - INT 15 - VMiX - "sys_getqueue" - GET ID OF QUEUED ELEMENT
150A - INT 15 - VMiX - "sys_qetqnext" - GET ID OF NEXT QUEUED ELEMENT
150B - INT 15 - VMiX - "sys_sysreq" - SYSTEM CONFIGURATION MANAGER
150C - INT 15 - VMiX - "sys_getstack" - GET POINTER TO PROCESS TSS STACK
150D - INT 15 - VMiX - "sys_spawn" - START A CHILD PROCESS JOB SHELL
150E - INT 15 - VMiX - "sys_kill" - HARD TERMINATE PROCESS
150F - INT 15 - VMiX - "sys_getqkey" - GET KEY FIELD OF QUEUED ELEMENT
1510 - INT 15 - VMiX - "sys_virtual" - EXECUTE CONFORMING FUNCTION IN PROTECTED MODE
152010 - INT 15 - OS HOOK - SETUP SYSREQ ROUTINE (AT,XT286,PS50+)
152011 - INT 15 - OS HOOK - COMPLETION OF SYSREQ FUNCTION (AT,XT286,PS50+)
20 - INT 20 - Minix - SEND/RECEIVE MESSAGE
2118 - INT 21 - U - PTS-DOS 6.51 & S/DOS 1.0 - EXTENDED RENAME FILE USING FCB
2120 - INT 21 - S/DOS 1.0+ & PTS-DOS 6.51+ - GET OEM REVISION
213000BX3000 - INT 21 - PC-MOS/386 v3.0 - INSTALLATION CHECK/GET VERSION
214302 - INT 21 - DR DOS 3.41+ internal - GET ACCESS RIGHTS
214303 - INT 21 - DR DOS 3.41+ internal - SET ACCESS RIGHTS AND PASSWORD
214304 - INT 21 U - DR DOS 5.0-6.0 internal - GET ENCRYPTED PASSWORD
214305 - INT 21 U - DR DOS 5.0-6.0 internal - SET EXTENDED FILE ATTRIBUTES
214306 - INT 21 O - DR DOS 6.0 - GET FILE OWNER
214307 - INT 21 O - DR DOS 6.0 - SET FILE OWNER
214380 - INT 21 - Novell DOS 7 - UNDELETE PENDING DELETE FILE
214381 - INT 21 - Novell DOS 7 - PURGE PENDING DELETE FILE
214382 - INT 21 - DR-DOS >7.03 - RESERVED
214412 - INT 21 O - DR DOS 5.0-6.0 - DETERMINE DOS TYPE
214414 - INT 21 OU - DR DOS 5.0-6.0 - SET GLOBAL PASSWORD
214416 - INT 21 OU - DR DOS 5.0-6.0 - HISTORY BUFFER, SHARE, AND HILOAD CONTROL
214451 - INT 21 - Concurrent DOS v3.2+ - INSTALLATION CHECK
214452 - INT 21 - DR DOS 3.41+ - DETERMINE DOS TYPE/GET DR DOS VERSION
214454 - INT 21 U - DR DOS 3.41+ - SET GLOBAL PASSWORD
214456 - INT 21 U - DR DOS 5.0+ - HISTORY BUFFER CONTROL
214457 - INT 21 U - DR DOS 5.0-6.0 - SHARE/HILOAD CONTROL
214457DXFFFF - INT 21 OU - DR DOS 6.0 - GET SHARE STATUS
214458 - INT 21 U - DR DOS 5.0+ internal - GET POINTER TO INTERNAL VARIABLE TABLE
214459 - INT 21 - DR Multiuser DOS 5.0 - API
21445A - INT 21 U - Concurrent DOS etc. - USER GROUP SUPPORT
214B80 - INT 21 - DR DOS v3.31+ - RUN ALREADY-LOADED KERNEL FILE
215702 - INT 21 - OS/2 v1.1+ Family API - DosQFileInfo
215702BXFFFF - INT 21 - OS/2 v1.1+ Compatibility Box Family API - DosQPathInfo
215703 - INT 21 - OS/2 v1.1+ Family API - DosSetFileInfo
215703BXFFFF - INT 21 - OS/2 v1.1+ Family API - DosSetPathInfo
215F05 - INT 21 - STARLITE architecture - MAP LOCAL DRIVE LETTER TO REMOTE FILE SYSTEM
215F06 - INT 21 - STARLITE architecture - UNMAP DRIVE LETTER
215F07 - INT 21 - STARLITE architecture - MAKE NAMED OBJECT AVAILABLE ON NETWORK
215F08 - INT 21 - STARLITE architecture - REMOVE GLOBAL NETWORK NAME OF OBJECT
215F09 - INT 21 - STARLITE architecture - BIND TO NETWORK DEVICE
215F0A - INT 21 - STARLITE architecture - DETACH FROM NETWORK DEVICE
2161--BP6467 - INT 21 U - OS/2 v1.x FAPI - OS/2 FILE SYSTEM JOIN/SUBST
2164--DX0000 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - ENABLE AUTOMATIC TITLE SWITCH
2164--DX0001 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - SET SESSION TITLE
2164--DX0002 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - GET SESSION TITLE
2164--DX0003 - INT 21 U - OS/2 v2.1 Virtual DOS Machine - GET LASTDRIVE
2164--DX0004 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SIZE OF PTDA JFT
2164--DX0005 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SECOND SFT FLAGS WORD
2164--DX0006 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - UNLOAD DOSKRNL SYMBOLS & LOAD PROGR
2164--DX0007 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET WinOS2 CALL GATE ADDRESS
2164--DX0008 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET LOADING MESSAGE
2164--CX636C - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API support
2164--BX0025 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DOS32StartSession
2164--BX00B6 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosQFSAttach
2164--BX00CB - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosForceDelete
2169 - INT 21 - DR DOS 5.0 - NULL FUNCTION
216C01 - INT 21 U - OS/2 v2.0 - "DosOpen2"
216D - INT 21 U - OS/2 v1.x FAPI - "DosMkDir2"
216D - INT 21 U - Novell DOS 7 - NOP
216E - INT 21 U - OS/2 v1.x FAPI - "DosEnumAttrib"
216F00 - INT 21 U - OS/2 v1.x FAPI - "DosQMaxEASize" - GET MAXIMUM SIZE OF EXTENDED ATTR
2192 - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - ABORT CURRENT PROCESS VIA INT 23
21E0 - INT 21 - Digital Research DOS Plus - CALL BDOS
2C - INT 2C - STARLITE architecture - KERNEL API
2E - INT 2E UP - Windows NT - NATIVE API
2F10FE - INT 2F U - DR DOS 6.0+ DELWATCH.EXE - INSTALLATION CHECK
2F10FF - INT 2F U - DR DOS 5.0 - FIXUP SHARE STUB TABLE???
2F1250 - INT 2F U - PTS-DOS - SET MACHINE ID
2F1251 - INT 2F U - PTS-DOS - GET MACHINE ID
2F1252 - INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - SET SFT INCREMENT
2F1253 - INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - GET SFT INCREMENT
2F1260 - INT 2F C - PTS-DOS 6.51, S/DOS 1.0+ - "EMPTY" (RESERVED FOR INPUT STRING)
2F1261 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET FIRST UMB
2F1262 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET DOS COLOR
2F1263 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - SET DOS COLOR
2F1270 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - "SYSBELL" - EMIT A BEEP
2F1271 - INT 2F C - PTS-DOS, S/DOS - RESERVED FOR BEEP
2F12F0 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - BACKDOOR INTERCEPT INT 2Fh CHAIN
2F12F1 - INT 2F - PTS-DOS, S/DOS - RESERVED
2F12FFBL00 - INT 2F - FreeDOS - FDAK-DDT - INSTALLATION CHECK / STATUS CHECK
2F12FFBL01 - INT 2F - FreeDOS - FDAK-DDT - ENABLE FDAK DRIVERS
2F12FFBL02 - INT 2F - FreeDOS - FDAK-DDT - DISABLE FDAK DRIVERS
2F12FFBL03 - INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-ONLY
2F12FFBL04 - INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-WRITE
2F12FFBL05 - INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR ON
2F12FFBL06 - INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR OFF
2F12FFBL07 - INT 2F - FreeDOS - FDAK-DDT - UNINSTALL
2F12FFBX0000 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BDOS
2F12FFBX0001 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BDOS
2F12FFBX0002 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BIOS
2F12FFBX0003 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BIOS
2F12FFBX0005 - INT 2F U - DR DOS 6.0+ - BOOT PHASE BROADCASTS FOR MEMORYMAX/RPLOADER/SECURITY
2F12FFBX0007 - INT 2F U - Novell DOS 7 - SCRIPT.EXE - GET ???
2F12FFBX0009 - INT 2F - DR DOS 6.0+ IBMBIO.COM - REGISTER ROOT OF UPPER MEMORY LINK
2F12FFBX0EDC - INT 2F U - Novell DOS 7 - EMM386.EXE - CHECK IF MULTITASKING SUPPORT LOADED???
2F4001 - INT 2F C - OS/2 compatibility box - SWITCHING DOS TO BACKGROUND
2F4002 - INT 2F C - OS/2 compatibility box - SWITCHING DOS TO FOREGROUND
2F4010 - INT 2F - OS/2 v2.0+ - INSTALLATION CHECK / GET VERSION
2F4011 - INT 2F - OS/2 - GET VDD API ENTRY POINT
2FAD00 - INT 2F U - DR DOS 3.41-5.0, Novell DOS 7 KEYB - INSTALLATION CHECK
2FAD01 - INT 2F U - DR DOS 3.41,5.0 KEYB - GET CONFIGURATION
2FAD01 - INT 2F U - Novell DOS 7 KEYB - GET/SET??? CONFIGURATION
2FAD02 - INT 2F U - Novell DOS 7 KEYB - ???
2FAF00 - INT 2F - WinDOS v2.11 - INSTALLATION CHECK
2FAF01 - INT 2F - WinDOS v2.11 - TURN ON ONLINE MODE
2FAF02 - INT 2F - WinDOS v2.11 - TURN OFF ONLINE MODE
2FAF03 - INT 2F - WinDOS v2.11 - TURN VIDMEM ON
2FAF04 - INT 2F - WinDOS v2.11 - TURN VIDMEM OFF
2FAF05 - INT 2F - WinDOS v2.11 - GET VIDMEM STATE
2FAF06 - INT 2F - WinDOS v2.11 - MAKE PROGRAM UNBREAKABLE
2FAF07 - INT 2F - WinDOS v2.11 - SIGNAL FATAL OVERLAY FAULT
2FAF08 - INT 2F - WinDOS v2.11 - SIGNAL RECOVERABLE OVERLAY FAULT
2FAF09 - INT 2F - WinDOS v2.11 - GET TERMINATED PSP
2FAF0A - INT 2F - WinDOS v2.11 - GET MAIN SHELL PSP
2FAF0B - INT 2F - WinDOS v2.11 - SIGNAL FATAL ERROR
2FAF0C - INT 2F - WinDOS v2.11 - GET OTHER MAIN SHELL PARAMETERS
2FAF0D - INT 2F - WinDOS v2.11 - GET CURRENT PARAMETER
2FAF0E - INT 2F - WinDOS v2.11 - SET CURRENT PARAMETER BYTE VALUE
2FAF0F - INT 2F - WinDOS v2.11 - GET HISTORY SEGMENT
2FAF10 - INT 2F - WinDOS v2.11 - SET HISTORY SEGMENT
2FAF11 - INT 2F - WinDOS v2.11 - FREE XMS BLOCKS
2FAF12 - INT 2F - WinDOS v2.11 - SET XMS IDENTIFICATION VALUE
2FAF13 - INT 2F - WinDOS v2.11 - SET ASSIGN VALUE
2FAF14 - INT 2F - WinDOS v2.11 - GET ASSIGN VALUE
2FAF15 - INT 2F - WinDOS v2.11 - SIGNAL STACK ERROR
2FAF16 - INT 2F - WinDOS v2.11 - GET SIMPLE TRUENAME
2FAF17 - INT 2F - WinDOS v2.11 - QUERY FOR NEW CURRENT DRIVE
2FAF18 - INT 2F - WinDOS v2.11 - SET CTRL-C/CTRL-BREAK DISABLE FLAG
2FAF19 - INT 2F - WinDOS v2.11 - SET HEAD SETTLE FLAG
2FAF1A - INT 2F - WinDOS v2.11 - SEARCH FOR NON-FRAGMENTED DISK AREA
2FEDC8BX0000 - INT 2F - Novell DOS 7+ - SECURITY.BIN - INSTALLATION CHECK
38 - INT 38 - PC-MOS/386 v3.0 - API
40 - INT 40 - Acorn BBC Master 512 - "OSFIND" - OPEN FILE
41 - INT 41 - Acorn BBC Master 512 - "OSGBPB" - MULTI-BYTE GET/PUT
42 - INT 42 - Acorn BBC Master 512 - "OSBPUT" - WRITE SINGLE BYTE TO FILE
43 - INT 43 - Acorn BBC Master 512 - "OSBGET" - READ SINGLE BYTE FROM FILE
4400 - INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
44 - INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
45 - INT 45 - Acorn BBC Master 512 - "OSFILE" - READ/WRITE FILE OR DIRECTORY INFO
46 - INT 46 - Acorn BBC Master 512 - "OSRDCH" - GET CHARACTER FROM CUR INPUT STREAM
47 - INT 47 - Acorn BBC Master 512 - "OSWRCH" - WRITE CHARACTER TO CUR OUTPUT STREAM
48 - INT 48 - Acorn BBC Master 512 - "OSNEWL" - SEND NEWLINE TO OUTPUT STREAM
49 - INT 49 - Acorn BBC Master 512 - "OSASCI" - WRITE CHARACTER TO CUR OUTPUT STREAM
4A - INT 4A - Acorn BBC Master 512 - "OSWORD" - MISC FUNCTIONS USING CONTROL BLOCK
4B - INT 4B - Acorn BBC Master 512 - "OSBYTE" - MISC FUNCTIONS USING REGISTER PARAMS
4C - INT 4C - Acorn BBC Master 512 - "OSCLI" - INTERPRET COMMAND LINE
80 - INT 80 - Linux - SYSTEM CALLS
80 - INT 80 - FreeBSD - SYSTEM CALLS
81 - INT 81 - Paragon Technology PTS/DOS 6.5x, S/DOS 1.0 - API
D400 - INT D4 O - PC-MOS/386 v5.01 - OBSOLETE FUNCTIONS
D402 - INT D4 - PC-MOS/386 v3.0+ - GET SYSTEM CONTROL BLOCK POINTER
D403 - INT D4 - PC-MOS/386 v5.01 - GET/SET EXTENDED DIRECTORY INFORMATION
D404 - INT D4 - PC-MOS/386 v3.0+ - GET TASK CONTROL BLOCK
D407 - INT D4 - PC-MOS/386 v3.0+ - WAIT FOR EVENT
D410 - INT D4 - PC-MOS/386 v3.0+ - ENTER/LEAVE NATIVE 386 EXECUTION MODE
D411 - INT D4 - PC-MOS/386 v3.0+ - ALLOCATE NATIVE MODE MEMORY BLOCK
D412 - INT D4 - PC-MOS/386 v3.0+ - FREE NATIVE MODE MEMORY BLOCK
D413 - INT D4 - PC-MOS/386 v5.01 - GET ALIAS FOR SELECTOR (NATIVE MODE ONLY)
D416 - INT D4 - PC-MOS/386 v5.01 - SET/CLEAR IRQ RESERVATION
D419 - INT D4 - PC-MOS/386 v5.01 - GET TASK ID
D41A - INT D4 - PC-MOS/386 v5.01 - GET/SET TASK PRIORITY
D41B - INT D4 - PC-MOS/386 v5.01 - GET/SET TIME SLICE
D41C - INT D4 - PC-MOS/386 v5.01 - GET/SET KEYBOARD MODE
D41D - INT D4 - PC-MOS/386 v5.01 - GET CURRENT PROGRAM NAME
D41E - INT D4 - PC-MOS/386 v5.01 - GET CURRENT USERNAME AND SECURITY CLASS
D41F - INT D4 - PC-MOS/386 v5.01 - GET TASK PARTITION INFORMATION
D420 - INT D4 - PC-MOS/386 v5.01 - GET PORT AND BAUDRATE INFORMATION
D421 - INT D4 - PC-MOS/386 v5.01 - REMOVE A TASK
D422 - INT D4 - PC-MOS/386 v5.01 - ADD A TASK TO THE SYSTEM
D423 - INT D4 - PC-MOS/386 v5.01 - CHANGE TERMINAL DRIVER
D424 - INT D4 U - PC-MOS/386 v5.01 - GET OPERATING SYSTEM SERIAL NUMBER
D425 - INT D4 - PC-MOS/386 v5.01 - IDENTIFY LOAD ADDRESS OF DEVICE DRIVER LOCATION
D426 - INT D4 - PC-MOS/386 v5.01 - GET SYSTEM CONTROL BLOCK SEGMENT/SELECTOR
D427 - INT D4 - PC-MOS/386 v5.01 - GET TASK CONTROL BLOCK SEGMENT/SELECTOR
D428 - INT D4 - PC-MOS/386 v5.01 - GET CONTROL BLOCK DATA FROM SCB OR TCB
D429 - INT D4 - PC-MOS/386 v5.01 - WRITE CONTROL BLOCK DATA INTO SCB OR TCB
D42A - INT D4 - PC-MOS/386 v5.01 - SWAP CONTROL BLOCK DATA OF SCB OR TCB
D42C - INT D4 - PC-MOS/386 v5.01 - GET/SET SPOOLER PARAMETERS
D42D - INT D4 - PC-MOS/386 v5.01 - GET MAXIMUM TASK SIZE
E0 - INT E0 - CP/M-86, Concurrent CP/M, DR Multiuser DOS - FUNCTION CALLS
E0----CL00 - INT E0 - REAL/32 - "P_TERMCPM" - TERMINATE CALLING PROCESS
E0----CL01 - INT E0 - REAL/32 - "C_READ" - FETCH CHARACTER FROM THE DEFAULT CONSOLE
E0----CL02 - INT E0 - REAL/32 - "C_WRITE" - WRITE CHARACTER TO DEFAULT CONSOLE
E0----CL03 - INT E0 - DR Multiuser DOS - "A_READ" - READ CHARACTER FROM DEFAULT AUX DEVICE
E0----CL04 - INT E0 - DR Multiuser DOS - "A_WRITE" - WRITE CHARACTER TO DEFAULT AUX DEVICE
E0----CL05 - INT E0 - REAL/32 - "L_WRITE" - WRITE CHARACTER TO DEFAULT LIST DEVICE
E0----CL06 - INT E0 - REAL/32 - "C_RAWIO" - PERFORM RAW I/O WITH DEFAULT CONSOLE
E0----CL07 - INT E0 - DR Multiuser DOS - "A_STATIN" - GET INPUT STATUS OF AUX DEVICE
E0----CL08 - INT E0 - DR Multiuser DOS - "A_STATOUT" - GET OUTPUT STATUS OF AUX DEVICE
E0----CL09 - INT E0 - REAL/32 - "C_WRITESTR" - WRITE STRING TO DEFAULT CONSOLE
E0----CL0A - INT E0 - REAL/32 - "C_READSTR" - READ STRING FROM DEFAULT CONSOLE
E0----CL0B - INT E0 - REAL/32 - "C_STAT" - RETURN DEFAULT CONSOLE INPUT STATUS
E0----CL0C - INT E0 - REAL/32 - "S_BDOSVER" - GET BDOS VERSION
E0----CL2F - INT E0 - REAL/32 - "P_CHAIN" - CHAIN PROCESS
E0----CL35 - INT E0 R - REAL/32 - "MC_MAX" - CP-M/86 ALLOCATE MAXIMUM MEMORY
E0----CL36 - INT E0 R - REAL/32 - "MC_ABSMAX" - ALLOCATE MAXIMUM MEMORY SEGMENT ABSOLUTE
E0----CL37 - INT E0 R - REAL/32 - "MC_ALLOC" - CP-M/86 ALLOCATE MEMORY SEGMENT
E0----CL38 - INT E0 R - REAL/32 - "MC_ABSALLOC" - ALLOCATE MEMORY SEGMENT ABSOLUTE
E0----CL39 - INT E0 R - REAL/32 - "MC_FREE" - CP-M/86 FREE SPECIFIED MEMORY SEGMENT
E0----CL3A - INT E0 R - REAL/32 - "MC_ALLFREE" - CP-M/86 FREE ALL MEMORY
E0----CL3B - INT E0 u - REAL/32 - "P_LOAD" - LOAD .CMD FILE INTO MEMORY
E0----CL40 - INT E0 - REAL/32 - "N_LOGON" - LOG ONTO A SERVER
E0----CL41 - INT E0 - REAL/32 - "N_LOGON" - LOG OFF A SERVER
E0----CL44 - INT E0 - REAL/32 - "N_STAT" - GET NETWORK STATUS
E0----CL45 - INT E0 - REAL/32 - "N_RCT" - GET REQUESTOR CONFIGURATION TABLE
E0----CL47 - INT E0 - REAL/32 - "N_SCT" - GET SERVER CONFIGURATION TABLE
E0----CL48 - INT E0 - REAL/32 - "N_ERRMODE" - SET NETWORK ERROR MODE
E0----CL59 - INT E0 - ConcCP/M,DR Multiuser DOS - "S_MEMORY" - RESERVE MEMORY IN GLOBAL AREA
E0----CL5C - INT E0 - REAL/32 - "P_PATH" - SCAN PATH FOR EXECUTABLE FILE
E0----CL5D - INT E0 - REAL/32 - "P_EXEC" - EXECUTE CHILD PROCESS
E0----CL5E - INT E0 - REAL/32 - "P_EXITCODE" - GET/SET PROCESS EXIT CODE
E0----CL6B - INT E0 - REAL/32 - "S_SERIAL" - GET OS SERIAL NUMBER
E0----CL6D - INT E0 - REAL/32 - "C_MODE" - GET/SET CONSOLE MODE
E0----CL6E - INT E0 - REAL/32 - "C_DELIMIT" - GET/SET STRING DELIMITER
E0----CL6F - INT E0 - REAL/32 - "C_WRITEBLK" - WRITE BLOCK TO DEFAULT CONSOLE
E0----CL70 - INT E0 - REAL/32 - "L_WRITEBLK" - WRITE BLOCK TO DEFAULT LIST (PRINTER) DEVICE
E0----CL71 - INT E0 R - ConcCP/M,DR Multiuser DOS - EXECUTE DOS-COMPATIBLE FUNCTIONS
E0----CL73 - INT E0 - GSX-86, GEM/1, GEM/2 - API
E0----CL80 - INT E0 - REAL/32 - "M_ALLOC" - ALLOCATE MEMORY
E0----CL81 - INT E0 - REAL/32 - "M_FREE" - DEALLOCATE MEMORY
E0----CL84 - INT E0 - REAL/32 - "DEV_WAITFLAG" - WAIT ON SYSTEM FLAG
E0----CL85 - INT E0 - REAL/32 - "DEV_SETFLAG" - SET SYSTEM FLAG
E0----CL86 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_MAKE" - CREATE MESSAGE QUEUE
E0----CL87 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_OPEN" - OPEN MESSAGE QUEUE
E0----CL88 - INT E0 - REAL/32 - "Q_DELETE" - DELETE SYSTEM QUEUE
E0----CL89 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_READ" - READ MESSAGE QUEUE
E0----CL8A - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CREAD" - CONDITIONALLY READ MSG QUEUE
E0----CL8B - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_WRITE" - WRITE MESSAGE QUEUE
E0----CL8C - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CWRITE" - CONDITIONALLY WRITE MSG QUEUE
E0----CL8E - INT E0 - ConcCP/M,DR Multiuser DOS - "P_DISPATCH" - CALL DISPATCHER
E0----CL8F - INT E0 - REAL/32 - "P_TERM" - TERMINATE CALLING PROCESS
E0----CL90 - INT E0 - REAL/32 - "P_CREATE" - CREATE A PROCESS
E0----CL91 - INT E0 - ConcCP/M,DR Multiuser DOS - "P_PRIORITY" - SET PROCESS PRIORITY
E0----CL92 - INT E0 - ConcCP/M,DR Multiuser DOS - "C_ATTACH" - ATTACH TO DEFAULT CONSOLE
E0----CL93 - INT E0 - ConcCP/M,DR Multiuser DOS - "C_DETACH" - DETACH FROM DEFAULT CONSOLE
E0----CL94 - INT E0 - REAL/32 - "C_SET" - SET PROCESS'S DEFAULT CONSOLE
E0----CL95 - INT E0 - REAL/32 - "C_ASSIGN" - ASSIGN DEFAULT CONSOLE TO ANOTHER PROCESS
E0----CL96 - INT E0 - REAL/32 - "P_CLI" - RUN COMMAND LINE INTERFACE
E0----CL99 - INT E0 - REAL/32 - "C_GET" - GET DEFAULT CONSOLE
E0----CL9A - INT E0 - REAL/32 - "S_SYSDAT" - GET SYSTEM DATA AREA
E0----CL9C - INT E0 - REAL/32 - "P_PDADR" - GET ADDRESS OF PROCESS DESCRIPTOR
E0----CL9D - INT E0 - REAL/32 - "P_ABORT" - ABORT PROCESS BY NAME OR DESCRIPTOR
E0----CL9E - INT E0 - REAL/32 - "L_ATTACH" - ATTACH TO DEFAULT LIST DEVICE
E0----CL9F - INT E0 - REAL/32 - "L_DETACH" - DETACH FROM DEFAULT LIST DEVICE
E0----CLA0 - INT E0 - REAL/32 - "L_SET" - SET DEFAULT LIST DEVICE
E0----CLA1 - INT E0 - REAL/32 - "L_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT LIST DEVICE
E0----CLA2 - INT E0 - REAL/32 - "C_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT CONSOLE
E0----CLA3 - INT E0 - ConcCP/M,DR Multiuser DOS,REAL/32 - "S_OSVER" - GET OS VERSION
E0----CLA4 - INT E0 - REAL/32 - "L_GET" - GET DEFAULT LIST (PRINTER) DEVICE
E0----CLA5 - INT E0 - DR Multiuser DOS - "A_ATTACH" - ATTACH AUX DEVICE
E0----CLA6 - INT E0 - DR Multiuser DOS - "A_DETACH" - DETACH FROM AUX DEVICE
E0----CLA7 - INT E0 - DR Multiuser DOS - "A_CATTACH" - CONDITIONALLY ATTACH TO AUX DEVICE
E0----CLA8 - INT E0 - DR Multiuser DOS - "A_SET" - SET DEFAULT AUX DEVICE NUMBER
E0----CLA9 - INT E0 - DR Multiuser DOS - "A_GET" - GET DEFAULT AUX DEVICE NUMBER
E0----CLAC - INT E0 - DR Multiuser DOS - "A_READBLK" - READ STRING FROM AUX DEVICE
E0----CLAD - INT E0 - DR Multiuser DOS - "A_WRITEBLK" - WRITE STRING TO AUX DEVICE
E0----CLB0 - INT E0 - DR Multiuser DOS - "A_CONFIG" - GET/SET AUX DEVICE PARAMETERS
E0----CLB1 - INT E0 - DR Multiuser DOS - "A_CONTROL" - GET/SET AUX CONTROL PARAMETERS
E0----CLB2 - INT E0 - DR Multiuser DOS - "A_BREAK" - SEND BREAK TO AUX DEVICE
E0----CLB3 - INT E0 R - REAL/32 - "MP_ALLOC" - ALLOCATE PHYSICAL MEMORY
E0----CLB4 - INT E0 R - REAL/32 - "MP_FREE" - DEALLOCATE PHYSICAL MEMORY
E0----CLB5 - INT E0 R - REAL/32 - "MP_MAP" - MAP PHYSICAL MEMORY
E0----CLB6 - INT E0 - REAL/32 - "Q_NCREAD" - CONDITIONALLY NONDESTRUCTIVELY READ QUEUE
E0----CLB7 - INT E0 - REAL/32 - "DEV_TWAITFLAG" - TIMED WAIT ON SYSTEM FLAG
E0----CLB8 - INT E0 - REAL/32 - "DEV_MAP" - GET/SET SERIAL/PARALLEL PORT MAPPINGS
E0----CLB9 - INT E0 - REAL/32 - "L_TIMEOUT" - SET LIST DEVICE TIMEOUT
E0----CLBA - INT E0 - REAL/32 - "A_TIMEOUT" - SET AUX DEVICE TIMEOUT
E0----CLBD - INT E0 - DR Multiuser DOS - "P_DELAY" - DELAY EXECUTION
E1 - INT E1 - MP/M-86, - ALTERNATE CP/M-86 FUNCTION CALLS
E6 - INT E6 C - CP/M-86 v1.1 - XIOS INTERRUPT / UNKNOWN DISK DRIVE
E600 - INT E6 - Linux DOSEMU - INSTALLATION CHECK
E601 - INT E6 - Linux DOSEMU - REGISTER DUMP
E602 - INT E6 - Linux DOSEMU - SET I/O PORT PERMISSIONS
E605 - INT E6 - Linux DOSEMU - STARTUP BANNER
E612 - INT E6 - Linux DOSEMU - SET "HOGTHRESHOLD"
E622 - INT E6 - Linux DOSEMU - GET EMS STATUS
E630 - INT E6 - Linux DOSEMU - SET BOOTDISK FLAG
E650 - INT E6 - Linux DOSEMU - EXECUTE UNIX COMMAND
E651 - INT E6 - Linux DOSEMU - EXECUTE DOS COMMAND FROM UNIX
E680 - INT E6 - Linux DOSEMU - GET CURRENT UNIX DIRECTORY
E681 - INT E6 - Linux DOSEMU - CHANGE CURRENT UNIX DIRECTORY
E6FF - INT E6 - Linux DOSEMU - TERMINATE
EF----CX00C8 - INT EF - GEM - AES INTERFACE
EF----CX00C9 - INT EF - GEM - AES INTERFACE
EF----CX0473 - INT EF - GEM - VDI INTERFACE
Top

P - printer enhancements

05454A - INT 05 U - PSPS v2.01 - EJECT PAGE
054E57 - INT 05 U - PSPS v2.01 - SET PARAMETERS
055053 - INT 05 U - PSPS v2.01 - GET PARAMETERS
05554E - INT 05 U - PSPS v2.01 - UNINSTALL
104B - INT 10 - FRIEZE - API
17----DX0ABC - INT 17 - PRINTER - LPTx v5.x INSTALLATION CHECK
17----DX0B90 - INT 17 - PRINTER - LPTx v6.x INSTALLATION CHECK
17----DX0B91 - INT 17 - PRINTER - LPTx v7.x INSTALLATION CHECK
17----DX0F5F - INT 17 - PRINTER - LPTx v4.x INSTALLATION CHECK
1702--DX0000 - INT 17 - INSET - INSTALLATION CHECK
1703 - INT 17 U - Emulaser ELTSR - INSTALL INTERRUPT HANDLERS
1704 - INT 17 U - Emulaser ELTSR - BEGIN CAPTURING OUTPUT
170500 - INT 17 U - Emulaser ELTSR - ???
170501 - INT 17 U - Emulaser ELTSR - UNHOOK INTERRUPTS
170502 - INT 17 U - Emulaser ELTSR - SET ???
170503 - INT 17 U - Emulaser ELTSR - DEACTIVATE???
1706 - INT 17 U - Emulaser ELTSR - ???
1707 - INT 17 U - Emulaser ELTSR - OPEN CAPTURE FILE
1708 - INT 17 U - Emulaser ELTSR - CLOSE CAPTURE FILE
1709 - INT 17 U - Emulaser ELTSR - PRINT CAPTURE FILE???
170A - INT 17 U - Emulaser ELTSR - SET ??? FILENAME
170B - INT 17 U - Emulaser ELTSR - GET ???
170C - INT 17 U - Emulaser ELTSR - SET ??? FLAG
170D - INT 17 U - Emulaser ELTSR - GET TRUE ScrlLk STATE
170E - INT 17 U - Emulaser ELTSR - BACKGROUND PROCESSING
172000 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - INSTALLATION CHECK
172001 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - SET ??? FLAG
172002 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET INFORMATION
172003 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ???
172004 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET ???
172005 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE PRINTER TO NEXT PAGE
172006 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE TO NEXT PAGE & SHUT DOWN
172007 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - UNIMPLEMENTED
175555BXAAAA - INT 17 - LR - SET CONFIGURATION
175555BXBBBB - INT 17 - LR - GET CONFIGURATION
1762 - INT 17 U - T2PS v1.0 - UNINSTALL
1763 - INT 17 U - T2PS v1.0 - SET PARAMETERS
1764 - INT 17 U - T2PS v1.0 - GET PARAMETERS
17CD00 - INT 17 - INSET - EXECUTE COMMAND STRING
17CD01 - INT 17 - INSET - GET IMAGE SIZE
17CD02 - INT 17 - INSET - INITIALIZE
17CD03 - INT 17 - INSET - EXECUTE INSET MENU WITHIN OVERRIDE MODE
17CD04 - INT 17 - INSET - INITIALIZE LINKED MODE
17CD05 - INT 17 - INSET - START MERGING IMAGE INTO TEXT
17CD06 - INT 17 - INSET - GRAPHICS LINE FEED
17CD07 - INT 17 - INSET - FLUSH GRAPHICS FROM MERGE BUFFER
17CD08 - INT 17 - INSET - CANCEL LINK MODE
17CD09 - INT 17 - INSET - ALTER TEXT LINE SPACING
17CD0A - INT 17 - INSET - GET SETUP
17CD0B - INT 17 - INSET - START GETTING SCALED IMAGE
17CD0C - INT 17 - INSET - GET NEXT IMAGE STRIP
17E0 - INT 17 - EPP BIOS - INSTALLATION CHECK
17E1 - INT 17 - EPP BIOS - DISABLE EPP
17E2 - INT 17 - EPP BIOS - ENABLE EPP
17F0 - INT 17 - NorthNet Jetstream API - INSTALLATION CHECK
17F1 - INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER
17F2 - INT 17 - NorthNet Jetstream API - GET PRINT PROGRESS STATUS
17F3 - INT 17 - NorthNet Jetstream API - ABORT PRINT OPERATION
17F4 - INT 17 - NorthNet Jetstream API - SET COMPLETION (POST) ADDRESS
17F5 - INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER FROM EXTENDED MEMORY
2A8700 - INT 2A CU - PRINT - BEGIN BACKGROUND PRINTING
2A8701 - INT 2A CU - PRINT - END BACKGROUND PRINTING
2F00 - INT 2F U - PSPRINT - PRINT JOB CONTROL
2F7F00 - INT 2F - PRINDIR v9.0 - INSTALLATION CHECK
2F7F01 - INT 2F - PRINDIR v9.0 - SET CAPTURE DEVICE
2F7F02 - INT 2F - PRINDIR v9.0 - SET DESTINATION DEVICE
2F7F03 - INT 2F - PRINDIR v9.0 - SET CAPTURE FILENAME
2F7F04 - INT 2F - PRINDIR v9.0 - SET LOCK FILENAME
2F7F05 - INT 2F - PRINDIR v9.0 - DUMP CAPTURE BUFFER
2F7F06 - INT 2F - PRINDIR v9.0 - SET NORMAL TEXT COLOR
2F7F07 - INT 2F - PRINDIR v9.0 - SET HIGHLIGHT TEXT COLOR
2F7F08 - INT 2F - PRINDIR v9.0 - SET POPUP HOTKEY
2F7F09 - INT 2F - PRINDIR v9.0 - SET BYTE COUNTER DISPLAY
2F7F0A - INT 2F - PRINDIR v9.0 - SET FLUSH DELAY
2F7F0B - INT 2F - PRINDIR v9.0 - SET MINIMUM DUMP SIZE
2F7F0C - INT 2F - PRINDIR v9.0 - SET ECHO STATE
2F7F0D - INT 2F - PRINDIR v9.0 - SHOW POPUP PARAMETER MENU
2F7F0E - INT 2F - PRINDIR v9.0 - SUBMIT BYTE TO CURRENT DESTINATION DEVICE
2FCD00 - INT 2F - Intel Image Processing Interface - INSTALLATION CHECK
2FCD00 - INT 2F - LaserPort Interface - INSTALLATION CHECK
2FCD01 - INT 2F - Intel Image Processing Interface - SET DEVICE NAME
2FCD02 - INT 2F - Intel Image Processing Interface - GET VERSION NUMBER
2FCD03 - INT 2F - Intel Image Processing Interface - SELECT SCAN LINE
2FCD04 - INT 2F - Intel Image Processing Interface - MOVE BITMAP TO SCANLINE
2FCD05 - INT 2F - Intel Image Processing Interface - PRINT PAGE
2FCD06 - INT 2F - Intel Image Processing Interface - CLEAR PAGE
2FCD07 - INT 2F - Intel Image Processing Interface - reserved
2FCD08 - INT 2F - Intel Image Processing Interface - SCREEN IMAGE
2FCD09 - INT 2F - Intel Image Processing Interface - LOAD SCREEN
2FCD0A - INT 2F - Intel Image Processing Interface - LOAD PALETTE
2FCD0F - INT 2F - LaserPort Interface - EXECUTE FUNCTION
7A - INT 7A O - PRINDIR - API (moved to INT 7C, then INT 2F/AX=7F00h)
7C - INT 7C - PRINDIR v8.02-8.xx - API
Top

Q - DESQview/TopView and Quarterdeck programs,

1080--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - SET ??? HANDLER
1081--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - GET ???
1082--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - GET CURRENT WINDOW INFO
151000 - INT 15 - TopView - "PAUSE" - GIVE UP CPU TIME
151001 - INT 15 - TopView - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
151002 - INT 15 - TopView - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
151003 - INT 15 - TopView - "PRINTC" - DISPLAY CHARACTER/ATTRIBUTE ON SCREEN
1510 - INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
151013 - INT 15 - TopView - "GETBIT" - DEFINE A 2ND-LEVEL INTERRUPT HANDLER
151014 - INT 15 - TopView - "FREEBIT" - UNDEFINE A 2ND-LEVEL INTERRUPT HANDLER
151015 - INT 15 - TopView - "SETBIT" - SCHEDULE ONE OR MORE 2ND-LEVEL INTERRUPTS
151016 - INT 15 - TopView - "ISOBJ" - VERIFY OBJECT HANDLE
151017 - INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
151018 - INT 15 - TopView - "LOCATE" - FIND WINDOW AT A GIVEN SCREEN LOCATION
151019 - INT 15 - TopView - "SOUND" - MAKE TONE
15101A - INT 15 - TopView - "OSTACK" - SWITCH TO TASK'S INTERNAL STACK
15101B - INT 15 - TopView - "BEGINC" - BEGIN CRITICAL REGION
15101C - INT 15 - TopView - "ENDC" - END CRITICAL REGION
15101D - INT 15 - TopView - "STOP" - STOP TASK
15101E - INT 15 - TopView - "START" - START TASK
15101F - INT 15 - TopView - "DISPEROR" - POP-UP ERROR WINDOW
151020 - INT 15 - TopView - UNIMPLEMENTED IN DV v2.00+
151021 - INT 15 - TopView - "PGMINT" - INTERRUPT ANOTHER TASK
151022BX0000 - INT 15 - TopView - "GETVER" - GET VERSION
151023 - INT 15 - TopView - "POSWIN" - POSITION WINDOW
151024 - INT 15 - TopView - "GETBUF" - GET VIRTUAL SCREEN INFO
151025 - INT 15 - TopView - "USTACK" - SWITCH BACK TO USER'S STACK
1510 - INT 15 - DESQview (TopView???) - UNIMPLEMENTED IN DV 2.x
15102B - INT 15 - DESQview v2.00+ (TopView???) - "POSTTASK" - AWAKEN TASK
15102C - INT 15 - DESQview v2.00+ - "NEWPROC" - START NEW APPLICATION IN NEW PROCESS
15102D - INT 15 - DESQview v2.00+ - "KMOUSE" - KEYBOARD MOUSE CONTROL
15102E - INT 15 - DESQview v2.40+ - ALLOCATE SYSTEM MEMORY
1511 - INT 15 - TopView commands
151117BX0000 - INT 15 - DESQview v2.20+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
1512--BH00 - INT 15 - TopView - SEND MESSAGE - "HANDLE" - RETURN OBJECT HANDLE
1512--BH01 - INT 15 - TopView - SEND MESSAGE - "NEW" - CREATE NEW OBJECT
1512--BH02 - INT 15 - TopView - SEND MESSAGE - "FREE" - FREE AN OBJECT
1512--BH03 - INT 15 - TopView - SEND MESSAGE - "ADDR" - GET HANDLE OF MESSAGE SENDER
1512--BH03 - INT 15 - DESQview v2.26+ - "CONNECT" - CONNECT TWO WINDOWS
1512--BX0300 - INT 15 - TopView - SEND MESSAGE - "DIR" - GET PANEL FILE DIRECTORY
1512--BH04 - INT 15 - TopView - SEND MESSAGE - "READ" - READ NEXT LOGICAL LINE OF WINDOW
1512--BH04 - INT 15 - TopView - SEND MESSAGE - "READ" - GET NEXT RECORD FROM OBJECT
1512--BX0400 - INT 15 - TopView - SEND MESSAGE - "READ" - WAIT FOR TIMER TO EXPIRE
1512--BX0400 - INT 15 - TopView - SEND MESSAGE - "APPLY" - WRITE PANEL TO WINDOW
1512--BH05 - INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE TO OBJECT
1512--BH05 - INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE STRING TO WINDOW
1512--BH06 - INT 15 - DESQview 2.20+ - SEND MESSAGE - "SETPRI" - SET PRIORITY WITHIN OBJECTQ
1512--BH07 - INT 15 - DESQview 2.20+ - SEND MESSAGE - "GETPRI" - GET PRIORITY WITHIN OBJECTQ
1512--BH08 - INT 15 - TopView - SEND MESSAGE - "SIZEOF" - GET OBJECT SIZE
1512--BH09 - INT 15 - TopView - SEND MESSAGE - "LEN" - GET OBJECT LENGTH
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - WRITE CHARS AND ATTRIBS TO WINDOW
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - SEND MAILBOX MESSAGE/STAT BY VALUE
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - SET OBJECT BITS
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - WRITE ATTRIBUTES TO WINDOW
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - SEND MAILBOX MESSAGE/STAT BY REF
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - REMOVE OBJECT FROM OBJECTQ
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - RESET OBJECT BITS
1512--BH0C - INT 15 - TopView - SEND MESSAGE - "OPEN" - OPEN OBJECT
1512--BH0D - INT 15 - TopView - SEND MESSAGE - "CLOSE" - CLOSE OBJECT
1512--BH0E - INT 15 - TopView - SEND MESSAGE - "ERASE" - ERASE OBJECT
1512--BH0F - INT 15 - TopView - SEND MESSAGE - "STATUS" - GET OBJECT STATUS
1512--BH10 - INT 15 - TopView - SEND MESSAGE - "EOF" - GET OBJECT EOF STATUS
1512--BH11 - INT 15 - TopView - SEND MESSAGE - "AT" - POSITION OBJECT CURSOR
1512--BH11 - INT 15 - TopView - SEND MESSAGE - "SETNAME" - ASSIGN NAME TO MAILBOX
1512--BX1100 - INT 15 - TopView - SEND MESSAGE - "SETSCALE" - SET POINTER SCALE FACTOR
1512--BH12 - INT 15 - TopView - SEND MESSAGE - "READN" - GET NEXT N OBJECT BYTES
1512--BH12 - INT 15 - DESQview 2.50+ - SEND MESSAGE - "GETNAME" - GET NAME OF MAILBOX
1512--BX1200 - INT 15 - TopView - SEND MESSAGE - "GETSCALE" - GET POINTER SCALE FACTOR
1512--BH13 - INT 15 - TopView - SEND MESSAGE - "REDRAW" - REDRAW WINDOW
1512--BH13 - INT 15 - DESQview 2.50+ - SEND MESSAGE - "READINTO" - GET NEXT MAIL MESSAGE
1512--BX1300 - INT 15 - TopView - SEND MESSAGE - "SETICON" - SPECIFY POINTER ICON
1512--BH14 - INT 15 - TopView - SEND MESSAGE - "SETESC" - SET ESCAPE ROUTINE ADDRESS
1512--BH14 - INT 15 - TopView - SEND MESSAGE - "LOCK" - REQUEST EXCLUSIVE ACCESS TO RESOURCE
1512--BH15 - INT 15 - DESQview v2.20+ - SEND MESSAGE - "SETFLAGS" - SET OBJECT FLAGS
1512--BH16 - INT 15 - DESQview v2.20+ - SEND MESSAGE - "GETFLAGS" - GET OBJECT FLAGS
1512--BH17 - INT 15 - DESQview v2.42-2.52 - BUG
1512--BH80 - INT 15 - DESQview v2.50+ - SEND MESSAGE 00h WITH ERROR RECOVERY
1512--BH81 - INT 15 - DESQview v2.50+ - SEND MESSAGE 01h WITH ERROR RECOVERY
1512--BH82 - INT 15 - DESQview v2.50+ - SEND MESSAGE 02h WITH ERROR RECOVERY
1512--BH83 - INT 15 - DESQview v2.50+ - SEND MESSAGE 03h WITH ERROR RECOVERY
1512--BH84 - INT 15 - DESQview v2.50+ - SEND MESSAGE 04h WITH ERROR RECOVERY
1512--BH85 - INT 15 - DESQview v2.50+ - SEND MESSAGE 05h WITH ERROR RECOVERY
1512--BH86 - INT 15 - DESQview v2.50+ - SEND MESSAGE 06h WITH ERROR RECOVERY
1512--BH87 - INT 15 - DESQview v2.50+ - SEND MESSAGE 07h WITH ERROR RECOVERY
1512--BH88 - INT 15 - DESQview v2.50+ - SEND MESSAGE 08h WITH ERROR RECOVERY
1512--BH89 - INT 15 - DESQview v2.50+ - SEND MESSAGE 09h WITH ERROR RECOVERY
1512--BH8A - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ah WITH ERROR RECOVERY
1512--BH8B - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Bh WITH ERROR RECOVERY
1512--BH8C - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ch WITH ERROR RECOVERY
1512--BH8D - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Dh WITH ERROR RECOVERY
1512--BH8E - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Eh WITH ERROR RECOVERY
1512--BH8F - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Fh WITH ERROR RECOVERY
1512--BH90 - INT 15 - DESQview v2.50+ - SEND MESSAGE 10h WITH ERROR RECOVERY
1512--BH91 - INT 15 - DESQview v2.50+ - SEND MESSAGE 11h WITH ERROR RECOVERY
1512--BH92 - INT 15 - DESQview v2.50+ - SEND MESSAGE 12h WITH ERROR RECOVERY
1512--BH93 - INT 15 - DESQview v2.50+ - SEND MESSAGE 13h WITH ERROR RECOVERY
1512--BH94 - INT 15 - DESQview v2.50+ - SEND MESSAGE 14h WITH ERROR RECOVERY
1512--BH95 - INT 15 - DESQview v2.50+ - SEND MESSAGE 15h WITH ERROR RECOVERY
1512--BH96 - INT 15 - DESQview v2.50+ - SEND MESSAGE 16h WITH ERROR RECOVERY
15DE00 - INT 15 - DESQview - GET PROGRAM NAME
15DE01 - INT 15 - DESQview - UPDATE "OPEN WINDOW" MENU
15DE02 - INT 15 - DESQview 1.x only - SET ??? FLAG FOR CURRENT WINDOW
15DE03 - INT 15 - DESQview 1.x only - GET ??? FOR CURRENT WINDOW
15DE04 - INT 15 - DESQview - GET AVAILABLE COMMON MEMORY
15DE05 - INT 15 - DESQview - GET AVAILABLE CONVENTIONAL MEMORY
15DE06 - INT 15 - DESQview - GET AVAILABLE EXPANDED MEMORY
15DE07 - INT 15 - DESQview - "APPNUM" - GET CURRENT PROGRAM'S NUMBER
15DE08 - INT 15 - DESQview - GET ???
15DE09 - INT 15 - DESQview - UNIMPLEMENTED
15DE0A - INT 15 - DESQview v2.00+ - "DBGPOKE" - DISPLAY CHARACTER ON STATUS LINE
15DE0B - INT 15 - DESQview v2.00+ - "APILEVEL" - DEFINE MINIMUM API LEVEL REQUIRED
15DE0C - INT 15 - DESQview v2.00+ - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
15DE0D - INT 15 - DESQview v2.00+ - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
15DE0E - INT 15 - DESQview v2.00+ - "FINDMAIL" - FIND MAILBOX BY NAME
15DE0F - INT 15 - DESQview v2.00+ - ENABLE DESQview EXTENSIONS
15DE10 - INT 15 - DESQview v2.00+ - "PUSHKEY" - PUT KEY INTO KEYBOARD INPUT STREAM
15DE11BL00 - INT 15 - DESQview v2.00+ - "JUSTIFY" - EN/DISABLE AUTOM. WINDOW JUSTIFICATION
15DE12BX0000 - INT 15 - DESQview v2.01+ - "CSTYLE" - SET "C"-COMPATIBLE CONTROL CHAR INTERPRET
15DE13 - INT 15 - DESQview v2.20+ - "GETCRIT" - GET CRITICAL NESTING COUNT
15DE14 - INT 15 - DESQview v2.20+ - GET OBJECT TYPE
15DE15 - INT 15 - DESQview v2.20+ - SET ERROR HANDLING
15DE16 - INT 15 - DESQview v2.20+ - GET ERROR HANDLING
15DE17 - INT 15 - DESQview v2.20-2.25 - reserved
15DE17 - INT 15 - DESQview v2.26+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
15DE18 - INT 15 - DESQview v2.20+ - internal - ???
15DE19 - INT 15 - DESQview v2.23+ - "GETCOMMON" - ALLOCATE "COMMON" MEMORY
15DE1A - INT 15 - DESQview v2.23+ - "PUTCOMMON" - DEALLOCATE "COMMON" MEMORY
15DE1B - INT 15 - DESQview v2.23+ internal - DECREMENT CRITICAL NESTING COUNT
15DE1C - INT 15 - DESQview v2.23+ - "ENTERC" - INCREMENT CRITICAL NESTING COUNT
15DE1D - INT 15 - DESQview v2.23+ - "PUTKEY" - FAKE USER KEYSTROKES
15DE1E - INT 15 - DESQview v2.23+ - "SCRNINFO" - GET TRUE VIDEO PARAMETERS
15DE1F - INT 15 - DESQview v2.23+ - "DOSUSER" - GET HANDLE OF TASK CURRENTLY USING DOS
15DE20 - INT 15 - DESQview v2.26+ - "DISPATCHINT" - INTERRUPT ANOTHER TASK
15DE21 - INT 15 - DESQview v2.26+ - "ASSERTVIR" - CONTROL 386 SCREEN VIRTUALIZATION
15DE22 - INT 15 - DESQview v2.26+ - "PROCESSMEM" - GET TASK MEMORY STATUS
15DE23 - INT 15 U - DESQview v2.31+ - ???
15DE24 - INT 15 - DESQview v2.40+ - "XNEWPROC" - START NEW APPLICATION
15DE25 - INT 15 - DESQview v2.40+ - "GETDVPATH" - GET DESQview DIRECTORY
15DE26 - INT 15 - DESQview v2.40+ - "GETFOREGROUND" - GET KEYBOARD FOCUS
15DE27 - INT 15 - DESQview v2.50+ - "ADDINSTANCEDATA" - ADD PER-TASK SAVE/RESTORE AREA
15DE28 - INT 15 U - DESQview v2.50+ - ???
15DE29BX0000 - INT 15 U - DESQview/X - ???
15DE29BX0001 - INT 15 U - DESQview/X - ???
15DE29BX0002 - INT 15 U - DESQview/X - ???
15DE29BX0003 - INT 15 U - DESQview/X - ???
15DE29BX0004 - INT 15 U - DESQview/X - GET DISPLAY NAME
15DE29BX0005 - INT 15 U - DESQview/X - ???
15DE2A - INT 15 - DESQview v2.50+ - "DISPATCHINTAFTERDOS" - INTERRUPT ANOTHER TASK
15DE2B - INT 15 - DESQview v2.50+ - "OBJNEXT" - TRAVERSE OBJECT LIST
15DE2C - INT 15 - DESQview v2.50+ - "WININFO" - GET WINDOW INFORMATION
15DE2D - INT 15 U - DESQview v2.50+ - GET/SET SOCKET HANDLER
15DE2E - INT 15 U - DESQview v2.50+ - SOCKET API
15DE2F - INT 15 - DESQview v2.50+ - "VIDEONOTIFY" - HAS DIRECT WINDOW BEEN ACTIVE?
15DE30 - INT 15 - DESQview v2.50+ - "GETDVXVERSION" - GET DESQview/X VERSION
15DE31 - INT 15 - DESQview/X v1.10 - ???
212B--CX4445 - INT 21 - DESQview - INSTALLATION CHECK
214402 - INT 21 U - Quarterdeck - HOOKROM.SYS - GET HOOKED VECTOR TABLE
2FD200BX5144 - INT 2F - Quarterdeck RPCI - INSTALLATION CHECK
2FDE00BX4456 - INT 2F - DESQview v2.26+ External Device Interface - INSTALLATION CHECK
2FDE01 - INT 2F - DESQview v2.26+ External Device Interface - DRIVER CUSTOM SUBFUNCTION
2FDE01BX4450 - INT 2F U - Quarterdeck QDPMI.SYS v1.0 - INSTALLATION CHECK
2FDE01BXFFFE - INT 2F U - DESQview v2.26+ XDI - DVXMS.DVR - ???
2FDE02 - INT 2F C - DESQview v2.26+ External Dev Interface - DV INITIALIZATION COMPLETE
2FDE03 - INT 2F C - DESQview v2.26+ External Dev Interface - DV TERMINATION
2FDE04 - INT 2F C - DESQview v2.26+ External Dev Interface - ADD PROCESS
2FDE05 - INT 2F C - DESQview v2.26+ External Dev Interface - REMOVE PROCESS
2FDE06 - INT 2F C - DESQview v2.26+ External Dev Interface - CREATE TASK
2FDE07 - INT 2F C - DESQview v2.26+ External Dev Interface - TERMINATE TASK
2FDE08 - INT 2F C - DESQview v2.26+ External Dev Interface - SAVE STATE
2FDE09 - INT 2F C - DESQview v2.26+ External Dev Interface - RESTORE STATE
2FDE0A - INT 2F C - DESQview v2.26+ External Dev Interface - CHANGE KEYBOARD FOCUS
2FDE0B - INT 2F C - DESQview v2.26+ External Dev Interface - DVP PROCESSING COMPLETE
2FDE0C - INT 2F C - DESQview v2.26+ External Dev Interface - SWAP OUT PROCESS
2FDE0D - INT 2F C - DESQview v2.26+ External Dev Interface - SWAP IN PROCESS
2FDE0E - INT 2F C - DESQview v2.26+ External Dev Interface - DVP START FAILED
2FDE0F - INT 2F C - DESQview v2.50+ External Dev Interface - INITIALIZE DV
2FDE10 - INT 2F C - DESQview v2.50+ External Dev Interface - FREE TASK
2FDF00BX5445 - INT 2F U - Quarterdeck TELTSR.COM - INSTALLATION CHECK
2FDF01 - INT 2F U - Quarterdeck TELTSR.COM - CLOSE CONNECTION
2FDF02 - INT 2F U - Quarterdeck TELTSR.COM - OPEN CONNECTION
4B810D - INT 4B - QEMM-386 - BUG
63 - INT 63 - DESQview/X - SOCKET API
BE - INT BE - DESQview/X - ???
FF - INT FF U - QEMM-386.SYS v6.0+ - internal
Top

R - remote control/file access

10FF00 - INT 10 - CARBON COPY PLUS v5.0 - CHECK IF CC CONNECTED TO CCHELP
10FF01 - INT 10 - CARBON COPY PLUS v5.0 - DISCONNECT AND RESET LINE
10FF02 - INT 10 - CARBON COPY PLUS v5.0 - GET LAST PHONE NUMBER DIALED
1675 - INT 16 - pcANYWHERE III - SET TICK COUNT FOR SCANNING
1676 - INT 16 - pcANYWHERE III - SET ERROR CHECKING TYPE
1677 - INT 16 - pcANYWHERE III - LOG OFF
1679 - INT 16 - pcANYWHERE III - CHECK STATUS
167A - INT 16 - pcANYWHERE III - CANCEL SESSION
167B00 - INT 16 - pcANYWHERE III - SUSPEND
167B01 - INT 16 - pcANYWHERE III - RESUME
167C - INT 16 - pcANYWHERE III - GET PORT CONFIGURATION
167D - INT 16 - pcANYWHERE III - GET/SET TERMINAL PARAMETERS
167E - INT 16 - pcANYWHERE III - COMMUNICATIONS I/O THROUGH PORT
167F - INT 16 - pcANYWHERE III - SET KEYBOARD/SCREEN MODE
212B44BX4D41 - INT 21 - pcANYWHERE IV/LAN - INSTALLATION CHECK
2F5600 - INT 2F - INTERLNK - INSTALLATION CHECK
2F5601 - INT 2F - INTERLNK - CHECK IF REDIRECTED DRIVE
2F5602 - INT 2F - INTERLNK - CHECK IF PORT IN USE
2F9200 - INT 2F U - PC Tools v8.0 DRIVEMAP - BUG
2F9201 - INT 2F U - PC Tools v8.0 DRIVEMAP - CHECK IF MAPPED DRIVE
2F9202 - INT 2F U - PC Tools v8.0 DRIVEMAP - UNINSTALL
2F9203 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET VERSION
2F9204 - INT 2F U - PC Tools v8.0 DRIVEMAP - INSTALLATION CHECK
2F9205 - INT 2F U - PC Tools v8.0 DRIVEMAP - SET ???
2F9206 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9207 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9208 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9209 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F920A - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F920B - INT 2F U - PC Tools v8.0 DRIVEMAP - SET DRIVE MAPPING
2F920C - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F920D - INT 2F U - PC Tools v8.0 DRIVEMAP - GET DRIVE TYPE
2F920E - INT 2F U - PC Tools v8.0 DRIVEMAP - SET LPT MAPPING
2F920F - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9210 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9211 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9212 - INT 2F U - PC Tools v8.0 DRIVEMAP - CRITICAL SECTION???
2F9213 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9214 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9215 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F9216 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9217 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F9218 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET LPT TYPE???
2F9219 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921A - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921B - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921C - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2F921D - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
2F921E - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
2FD300BX4562 - INT 2F U - TeleReplica - INSTALLATION CHECK
2FD3CB - INT 2F U - LapLink Quick Connect v6 - API
60 - INT 60 - Tangram Arbiter - API
6247 - INT 62 - PC Tools v7 COMMUTE - ???
6248 - INT 62 - PC Tools v7 COMMUTE - ???
6249 - INT 62 - PC Tools v7 COMMUTE - ???
624A - INT 62 - PC Tools v7 COMMUTE - ???
624B--BX1234 - INT 62 - PC Tools v7 COMMUTE - ???
624C - INT 62 - PC Tools v7 COMMUTE - ???
626262 - INT 62 - PC Tools v7 COMMUTE - INSTALLATION CHECK
Top

S - serial I/O

11BC--DX1954 - INT 11 - BNU FOSSIL - INSTALLATION CHECK
14 - INT 14 - SERIAL - Digiboard DigiCHANNEL PC/X* Extender INT 14 (XAPCM232.SYS)
1400 - INT 14 - SERIAL - INITIALIZE PORT
1400 - INT 14 - FOSSIL (Fido/Opus/Seadog Standard Interface Level) - INITIALIZE
1400 - INT 14 - Tandy 2000 - SERIAL - RESET COMM PORT
1400 - INT 14 - MBBIOS - INITIALIZE PORT
1401 - INT 14 - SERIAL - WRITE CHARACTER TO PORT
1402 - INT 14 - SERIAL - READ CHARACTER FROM PORT
1402 - INT 14 - FOSSIL - RECEIVE CHARACTER WITH WAIT
1403 - INT 14 - SERIAL - GET PORT STATUS
1404 - INT 14 - SERIAL - EXTENDED INITIALIZE (CONVERTIBLE,PS)
1404 - INT 14 - Tandy 2000 - SERIAL - FLUSH COMM BUFFER
1404 - INT 14 - FOSSIL - INITIALIZE DRIVER
1404 - INT 14 - MultiDOS Plus IODRV - INITIALIZE PORT
1404 - INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE BAUD RATE
1404 - INT 14 - MBBIOS - INSTALLATION CHECK
140400 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INSTALLATION CHECK
140401 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INITIALIZE MODE
140402 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - EXTENDED INITIALIZE
140403 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - SET TIMEOUT
140404 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE RECEIVE BUFFER
140405 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET RECEIVE BUFFER COUNT
140406 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE TRANSMIT BUFFER
140407 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET TRANSMIT BUFFER COUNT
140408 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - UNINSTALL
1405 - INT 14 - SERIAL - EXTENDED COMMUNICATION PORT CONTROL (CONVERTIBLE,PS)
1405 - INT 14 - FOSSIL - DEINITIALIZE DRIVER
1405 - INT 14 - MultiDOS Plus IODRV - READ CHARACTER FROM PORT
1405 - INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE PROTOCOL
1405 - INT 14 - MBBIOS - DROP DTR AND RTS
1405 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHANGE PORT PROTOCOL
1406 - INT 14 - FOSSIL - RAISE/LOWER DTR
1406 - INT 14 - MultiDOS Plus IODRV - WRITE CHARACTER TO PORT
1406 - INT 14 - MBBIOS - RAISE DTR AND RTS
1406 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DRIVER 'ID' FUNCTION
1407 - INT 14 - FOSSIL - RETURN TIMER TICK PARAMETERS
1407 - INT 14 - MultiDOS Plus IODRV - GET PORT STATUS
1407 - INT 14 - MBBIOS - SEND BREAK
1407 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SEND RS-232 BREAK
1408 - INT 14 - FOSSIL - FLUSH OUTPUT BUFFER WAITING TILL ALL OUTPUT IS DONE
1408 - INT 14 - MultiDOS Plus 4.0 IODRV - GET AND RESET PORT LINE STATUS
1408 - INT 14 - Digiboard DigiCHANNEL PC/X* - ALTERNATE STATUS CHECK
1408 - INT 14 - MBBIOS - NON-DESTRUCTIVE READ
1408 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STATUS CHECK
1409 - INT 14 - FOSSIL - PURGE OUTPUT BUFFER THROWING AWAY ALL PENDING OUTPUT
1409 - INT 14 - MultiDOS Plus IODRV - RESET PORT STATUS
1409 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR BUFFERS
1409 - INT 14 - MBBIOS - GET/SET OPTIONS
1409 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RESET I/O BUFFER POINTERS
140A - INT 14 - FOSSIL - PURGE INPUT BUFFER THROWING AWAY ALL PENDING INPUT
140A - INT 14 - Digiboard DigiCHANNEL PC/X* - INPUT QUEUE CHECK
140A - INT 14 - MBBIOS - WRITE BUFFER
140B - INT 14 - FOSSIL - TRANSMIT NO WAIT
140B - INT 14 - MBBIOS - READ BUFFER
140C - INT 14 - FOSSIL - NON-DESTRUCTIVE READ AHEAD
140C - INT 14 - MBBIOS PACCOM support - BUFFER MANAGEMENT
140D - INT 14 - FOSSIL - KEYBOARD READ WITHOUT WAIT
140D - INT 14 - Digiboard DigiCHANNEL PC/X* - GET POINTER TO CH_KEY_RDY FLAG
140D - INT 14 - MBBIOS PACCOM support - SET TXD
140D00 - INT 14 - MBBIOS - GET AVAILABLE BYTES
140D01 - INT 14 - MBBIOS - LOWER ALL MODEM CONTROL SIGNALS
140D02 - INT 14 - MBBIOS - RAISE ALL MODEM CONTROL SIGNALS
140D03 - INT 14 - MBBIOS - SET HANDSHAKE BYTE
140E - INT 14 - FOSSIL - KEYBOARD READ WITH WAIT
140E - INT 14 - Digiboard DigiCHANNEL PC/X* - WRITE STRING
140E - INT 14 - MBBIOS PACCOM support - SET PERSISTENCE
140F - INT 14 - FOSSIL - ENABLE/DISABLE FLOW CONTROL
140F - INT 14 - Digiboard DigiCHANNEL PC/X* - READ STRING
140F - INT 14 - MBBIOS PACCOM support - SET SLOT TIME
1410 - INT 14 - FOSSIL - EXTENDED ^C/^K CHECKING AND TRANSMIT ON/OFF
1410 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR RECEIVE BUFFER
1410 - INT 14 - MBBIOS PACCOM support - SET CRC WAIT
1411 - INT 14 - FOSSIL - SET CURRENT CURSOR LOCATION
1411 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR TRANSMIT BUFFER
1411 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DISABLE PORT
1412 - INT 14 - FOSSIL - READ CURRENT CURSOR LOCATION
1412 - INT 14 - Digiboard DigiCHANNEL PC/X* - GET TRANSMIT BUFFER FREE SPACE
1412 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET CURRENT PORT PARAMETERS
1413 - INT 14 - FOSSIL - SINGLE CHARACTER ANSI WRITE TO SCREEN
1413 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - REGISTER A PORT WITH A TERMINAL
1414 - INT 14 - FOSSIL - ENABLE OR DISABLE WATCHDOG PROCESSING
1414 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT STRING
1414 - INT 14 - Digiboard - GET NUMBER OF BOARDS INSTALLED
1415 - INT 14 - FOSSIL - WRITE CHARACTER TO SCREEN USING BIOS SUPPORT ROUTINES
1415 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STRING
1415 - INT 14 - Digiboard - ENABLE/DISABLE MEMORY
1416 - INT 14 - FOSSIL - INSERT/DELETE FUNCTION FROM TIMER TICK CHAIN
1416 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - LINK TO ANOTHER SERIAL DRIVER
1416 - INT 14 - Digiboard DigiCHANNEL PC/X* - CCB COMMAND
141646 - INT 14 - Digiboard - CCB COMMAND - SET INTERRUPT TO HOST MASK
141647 - INT 14 - Digiboard - CCB COMMAND - SET BAUD/DATABITS/STOPBITS/PARITY
141649 - INT 14 - Digiboard - CCB COMMAND - SET MODEM LINES
14164A - INT 14 - Digiboard - CCB COMMAND - SET BREAK COUNT
14164B - INT 14 - Digiboard - CCB COMMAND - SET HANDSHAKE
14164C - INT 14 - Digiboard - CCB COMMAND - SET XON/XOFF CHARACTERS
14164D - INT 14 - Digiboard - CCB COMMAND - SET TRANSMIT MID-WATER MARK
14164E - INT 14 - Digiboard - CCB COMMAND - IRQ POLLING TIMER TO HOST
14164F - INT 14 - Digiboard - CCB COMMAND - BUFFER SET ALL
141653 - INT 14 - Digiboard - CCB COMMAND - SPECIAL CHARACTER INTERRUPT
1417 - INT 14 - FOSSIL - REBOOT SYSTEM
1417 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - WRITE MODEM CONTROL REGISTER
1418 - INT 14 - FOSSIL - READ BLOCK
1418 - INT 14 - Digiboard DigiCHANNEL PC/X* - SEND BIOS COMMAND
1418 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET DRIVER DESCRIPTION
1419 - INT 14 - FOSSIL - WRITE BLOCK
1419 - INT 14 - Digiboard DigiCHANNEL PC/X* - SPECIAL CHARACTER INTERRUPT
1419 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SELECTIVE BUFFER FLUSH
141A - INT 14 - FOSSIL - BREAK BEGIN OR END
141A - INT 14 - Digiboard DigiCHANNEL PC/X - SPECIAL CHARACTER FLAG/COUNTER
141B - INT 14 - FOSSIL - RETURN INFORMATION ABOUT THE DRIVER
141C - INT 14 - X00 FOSSIL - ACTIVATE PORT
141D - INT 14 - X00 FOSSIL - DEACTIVATE PORT
141E - INT 14 - X00 FOSSIL - EXTENDED LINE CONTROL INITIALIZATION
141E - INT 14 - HUNTER 16 - READ COMMS PARAMETERS
141F - INT 14 - X00 FOSSIL - EXTENDED SERIAL PORT STATUS/CONTROL
1420 - INT 14 - X00 FOSSIL - DESTRUCTIVE READ WITH NO WAIT
1420 - INT 14 - Alloy MW386 - ATTACH LOGICAL COMMUNICATIONS PORT TO PHYSICAL PORT
1420 - INT 14 - MultiDOS Plus - INITIALIZE PORT
1420 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHECK OUTPUT QUEUE
1420 - INT 14 - HUNTER 16 - SELECT COMMS PARAMETERS
1421 - INT 14 - X00 FOSSIL - STUFF RECEIVE BUFFER
1421 - INT 14 - Alloy MW386 v1.x only - RELEASE PHYSICAL COMMUNICATIONS PORT
1421 - INT 14 - MultiDOS Plus - TRANSMIT CHARACTER
1421 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT CHARACTER, WITH TIMEOUT
1421 - INT 14 - HUNTER 16 - EXTENDED CONTROL
1422 - INT 14 - Alloy MW386 v2+ - RELEASE LOGICAL COMMUNICATIONS PORT
1422 - INT 14 - MultiDOS Plus - RECEIVE CHARACTER
1422 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RECEIVE CHARACTER, WITH TIMEOUT
1422 - INT 14 - HUNTER 16 - EXTENDED STATUS
1423 - INT 14 - Alloy MW386 v2+ - GET PORT NUMBER FROM LOGICAL PORT ID
1423 - INT 14 - MultiDOS Plus - GET PORT STATUS
1423 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DECLARE PORT OWNERSHIP
1423 - INT 14 - HUNTER 16 - CONTROL HANDSHAKE LINES
1424 - INT 14 - Alloy MW386 v2+ - CHANGE PHYSICAL PORT PARAMETERS
1424 - INT 14 - MultiDOS Plus - SET MONITOR MODE
1424 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - ???
1424 - INT 14 - HUNTER 16 - CONTROL CTS HANDSHAKING
1425 - INT 14 - MultiDOS Plus - CLEAR BUFFERS
1425 - INT 14 - HUNTER 16 - CONTROL RS232 DRIVERS
1426 - INT 14 - HUNTER 16 - CONTROL RI POWER UP
1427 - INT 14 - MultiDOS Plus - GET BUFFER CHARACTER COUNT
1427 - INT 14 - HUNTER 16 - GET INSTALLED PROTOCOLS COUNT
1428 - INT 14 - HUNTER 16 - GET PROTOCOL NAME
1429 - INT 14 - HUNTER 16 - GET PROTOCOL HANDLE
142A - INT 14 - HUNTER 16 - EXTENDED PROTOCOL MENU
142B - INT 14 - HUNTER 16 - GET EXTENDED PROTOCOL PARAMETERS
142C00 - INT 14 - HUNTER 16 - GET DTR
142C - INT 14 - HUNTER 16 - SET DTR
1456 - INT 14 U - BWCOM14 - INSTALLATION CHECK
1457 - INT 14 U - BWCOM14 - INITIALIZE
1458 - INT 14 U - BWCOM14 - SHUTDOWN
146F00 - INT 14 - HP Vectra EX-BIOS - "F14_INQUIRE" - INSTALLATION CHECK
146F01 - INT 14 - HP Vectra EX-BIOS - "F14_EXINIT" - INITIALIZE SERIAL PORT
146F02 - INT 14 - HP Vectra EX-BIOS - "F14_PUT_BUFFER" - TRANSMIT BUFFER
146F03 - INT 14 - HP Vectra EX-BIOS - "F14_GET_BUFFER" - READ DATA INTO BUFFER
146F04 - INT 14 - HP Vectra EX-BIOS - "F14_TRM_BUFFER" - READ UNTIL TERMINATOR
147E - INT 14 - FOSSIL - INSTALL AN EXTERNAL APPLICATION FUNCTION
147F - INT 14 - FOSSIL - REMOVE AN EXTERNAL APPLICATION FUNCTION
1480 - INT 14 - COMMUNICATIONS FOSSIL
1480 - INT 14 - COURIERS.COM - INSTALLATION CHECK
148000 - INT 14 - ARTICOM - INSTALLATION CHECK
148000 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET ERROR CODE AND BUFFER STATUS
148001 - INT 14 - ARTICOM - UNLOAD ASYNCHRONOUS REDIRECTOR FROM MEMORY
148001 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
148002 - INT 14 - ARTICOM - GET ASYNCHRONOUS REDIRECTOR STATUS
148002 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
148003 - INT 14 - ARTICOM - TRANSLATE ERROR CODE TO ERROR STRING
148003 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET I/O BUFFER SIZES
148004 - INT 14 - ARTICOM - ATTACH ASYNCHRONOUS RESOURCE
148005 - INT 14 - ARTICOM - DETACH ASYNCHRONOUS RESOURCE
148006 - INT 14 - ARTICOM - GET RESOURCE INFORMATION
148007 - INT 14 - ARTICOM - GET REDIRECTED PORT INFORMATION
148008 - INT 14 - ARTICOM - GET AVAILABLE SERVER NAME
148009 - INT 14 - ARTICOM - SET SEND AND RECEIVE TIMEOUTS
14800A - INT 14 - ARTICOM - MODIFY FLOW CONTROL
148025 - INT 14 - ARTICOM - SET INTERNAL SEND/RECEIVE VECTOR
148035 - INT 14 - ARTICOM - GET INTERNAL SEND/RECEIVE VECTOR
1481 - INT 14 - COURIERS.COM - CHECK IF PORT BUSY
1481 - INT 14 - COMM-DRV - EXTENDED INITIALIZATION
1482 - INT 14 - COURIERS.COM - CONFIGURE PORT
1482 - INT 14 - COMM-DRV v14.0 - PORT CLEANUP
1483 - INT 14 - COURIERS.COM - START INPUT
1483 - INT 14 - COMM-DRV v14.0 - FLUSH COMMUNICATION BUFFERS
1484 - INT 14 - COURIERS.COM - READ CHARACTER
1484 - INT 14 - COMM-DRV v14.0 - SEND PACKET
1485 - INT 14 - COURIERS.COM - FLUSH PENDING INPUT
1485 - INT 14 - COMM-DRV v14.0 - RECEIVE PACKET
1486 - INT 14 - COURIERS.COM - START OUTPUT
1486 - INT 14 - COMM-DRV v14.0 - SET INPUT/OUTPUT TIMEOUTS
1487 - INT 14 - COURIERS.COM - OUTPUT STATUS
1487 - INT 14 - COMM-DRV v14.0 - TURN ON DTR
1488 - INT 14 - COURIERS.COM - ABORT OUTPUT
1488 - INT 14 - COMM-DRV v14.0 - TURN OFF DTR
1489 - INT 14 - COURIERS.COM - SEND SINGLE CHARACTER
1489 - INT 14 - COMM-DRV v14.0 - TURN ON RTS
148A - INT 14 - COURIERS.COM - SEND BREAK
148A - INT 14 - COMM-DRV v14.0 - TURN OFF RTS
148B - INT 14 - COMM-DRV v14.0 - SET USER INTERRUPT ROUTINE
148C - INT 14 - COURIERS.COM - SET SPEED
148C - INT 14 - COMM-DRV v14.0 - READ UART REGISTER
148D - INT 14 - COURIERS.COM - DECONFIGURE PORT
148D - INT 14 - COMM-DRV v14.0 - WRITE UART REGISTER
148E - INT 14 - COMM-DRV v14.0 - READ PACKET NONDESTRUCTIVELY
14A0 - INT 14 - 3com BAPI SERIAL I/O - CONNECT TO PORT
14A0--CXFFFF - INT 14 - Interconnections Inc. TES - INSTALLATION CHECK/STATUS REPORT
14A1 - INT 14 - 3com BAPI SERIAL I/O - DISCONNECT FROM PORT
14A1 - INT 14 - Interconnections Inc. TES - GET LIST OF SESSIONS WITH STATUS
14A2 - INT 14 - 3com BAPI SERIAL I/O - WRITE CHARACTER
14A2 - INT 14 - Interconnections Inc. TES - GET LIST OF SERVER NAMES
14A3 - INT 14 - 3com BAPI SERIAL I/O - READ CHARACTER
14A3 - INT 14 - Interconnections Inc. TES - START A NEW SESSION
14A4 - INT 14 - 3com BAPI SERIAL I/O - WRITE BLOCK
14A4 - INT 14 - Interconnections Inc. TES - HOLD CURRENTLY ACTIVE SESSION
14A5 - INT 14 - 3com BAPI SERIAL I/O - READ BLOCK
14A5 - INT 14 - Interconnections Inc. TES - RESUME A SESSION
14A6 - INT 14 - 3com BAPI SERIAL I/O - SEND SHORT BREAK
14A6 - INT 14 - Interconnections Inc. TES - DROP A SESSION
14A7 - INT 14 - 3com BAPI SERIAL I/O - READ STATUS
14A7 - INT 14 - Interconnections Inc. TES - SWITCH TO NEXT ACTIVE SESSION
14A8 - INT 14 - Interconnections Inc. TES - SEND STRING TO COMMAND INTERPRETER
14AF00BXAAAA - INT 14 - 3com BAPI SERIAL I/O - INSTALLATION CHECK
14B0 - INT 14 - 3com BAPI SERIAL I/O - EN/DISABLE "ENTER COMMAND MODE" (ECM) CHARACTER
14B1 - INT 14 - 3com BAPI SERIAL I/O - ENTER COMMAND MODE
14B2 - INT 14 - 3com BAPI SERIAL I/O - GET ECM WATCH STATE
14B3 - INT 14 - 3com BAPI SERIAL I/O - GET/SET CONFIGURATION INFO
14E000 - INT 14 - MX5 Extended FOSSIL - GET MNP STATUS BLOCK
14E001 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP LEVEL
14E002 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP ANSWER/ORIGINATE MODE
14E003 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP WAIT TICKS
14E004 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP CONNECT SOUND LEVEL
14E005 - INT 14 - MX5 Extended FOSSIL - UNINSTALL
14E006BX0000 - INT 14 - MX5 Extended FOSSIL - INSTALLATION CHECK
14E007 - INT 14 - MX5 Extended FOSSIL - WAIT SPECIFIED NUMBER OF TICKS
14F4FF - INT 14 - IBM/Yale EBIOS SERIAL I/O - INSTALLATION CHECK
14F9 - INT 14 - IBM/Yale EBIOS SERIAL I/O - REGAIN CONTROL
14FA - INT 14 - IBM/Yale EBIOS SERIAL I/O - SEND BREAK
14FB - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET OUTGOING MODEM SIGNALS
14FC - INT 14 - IBM/Yale EBIOS SERIAL I/O - READ CHARACTER, NO WAIT
14FD02 - INT 14 - IBM/Yale EBIOS SERIAL I/O - READ STATUS
14FF01 - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET SEND BUFFER
14FF02 - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET RECEIVE BUFFER
14FFF8 - INT 14 - COMM-DRV v14.0 - SET BAUD RATE DIVISOR
14FFFB - INT 14 - COMM-DRV v14.0 - GET HIGHEST ALLOWED PORT NUMBER
14FFFC - INT 14 - COMM-DRV v14.0 - GET INT 14 FLAGS
14FFFD - INT 14 - COMM-DRV v14.0 - SET INT 14 FLAGS
14FFFE - INT 14 - COMM-DRV v14.0 - RESTORE INT 14 VECTOR TO ORIGINAL
14FFFF - INT 14 - COMM-DRV v14.0 - GET INT 14 INFORMATION AREA
1549 - INT 15 U - HP 100LX/200LX - SERIAL INTERFACE SELECT
154A - INT 15 U - HP 100LX/200LX - SERIAL INTERFACE CONTROL
212B--CX6269 - INT 21 - bitFOSS - INSTALLATION CHECK
212B--CX6269 - INT 21 - bitFOSSI - INSTALLATION CHECK
2F1A42BX4156 - INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ3 HANDLER
2F1A43BX4156 - INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ4 HANDLER
2F1A62BX4156 - INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ3 HANDLER
2F1A63BX4156 - INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ4 HANDLER
2FFEEF - INT 2F - RTS Control TSR - INSTALLATION CHECK
65 - INT 65 U - EZRECV v1.0 - API
6B0000 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
6B0100 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
6B02 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
6B0600 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
6B0700 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
6B10 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
6B11--DX0001 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
6B12 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
6B13 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
6B14 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
6B15 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
6B16 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
6B17 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
6B18 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
6B19 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
6B1A - INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
6B1B - INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
6B1C - INT 6B - NPC NCSI EXTENDED SERIAL I/O - CLEAR RECEIVE BUFFER
6B1D - INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
6B1E - INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
6B1F - INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
6B20 - INT 6B - Connection Manager CLIENT.EXE - ???
6B21 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
7D - INT 7D U - YTERM 1.4 - CLOCK SUPPORT
7E - INT 7E U - YTERM 1.4 - ???
7F - INT 7F - Telebit ACS SERIAL I/O
7F - INT 7F U - YTERM - ???
FD - INT FD - TFPCX - INSTALLATION CHECK
FD01 - INT FD - TFPCX - TEST FOR CHARACTER WAITING
FD02 - INT FD - TFPCX - GET CHARACTER
FD03 - INT FD - TFPCX - OUTPUT CHARACTER
FDFE - INT FD - TFPCX - GET VERSION
Top

T - DOS-based task switchers/multitaskers

11FFFECXFFFE - INT 11 - BACK&FORTH (before v1.62) API
12FFFECXFFFE - INT 12 - Back&Forth v1.62+ - API
1500 - INT 15 - MultiDOS Plus - GIVE UP TIME SLICE
1501 - INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE
1502 - INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE
1503 - INT 15 - MultiDOS Plus - SUSPEND TASK FOR INTERVAL
1504 - INT 15 - MultiDOS Plus - SEND MESSAGE TO ANOTHER TASK
1505 - INT 15 - MultiDOS Plus - CHECK MAILBOX
1506 - INT 15 - MultiDOS Plus - READ MAILBOX
1507 - INT 15 - MultiDOS Plus - SPAWN INTERNAL TASK (CREATE NEW THREAD)
1508 - INT 15 - MultiDOS Plus - TERMINATE INTERNAL TASK (KILL THREAD)
1509 - INT 15 - MultiDOS Plus - CHANGE TASK'S PRIORITY
150A - INT 15 - MultiDOS Plus - CHANGE TIME SLICE INTERVAL
150B - INT 15 - MultiDOS Plus - FORCE DISPLAY OUTPUT TO PHYSICAL SCREEN MEMORY
150C - INT 15 - MultiDOS Plus - RESTORE OLD VIDEO DISPLAY MEMORY
150D - INT 15 - MultiDOS Plus - DISABLE MULTITASKING
150E - INT 15 - MultiDOS Plus - ENABLE MULTITASKING
150F - INT 15 - MultiDOS Plus - EXECUTE A MULTIDOS PLUS COMMAND
1510 - INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE
1511 - INT 15 - VMiX - "sys_system" - EXECUTE SHELL SYSTEM COMMANDS
1511 - INT 15 - MultiDOS Plus - TURN OFF AltZ TOGGLE
1512 - INT 15 - VMiX - "sys_sleep" - PUT PROCESS TO SLEEP
1512 - INT 15 - MultiDOS Plus - TURN ON AltZ TOGGLE
1513 - INT 15 - VMiX - "sys_wake" - WAKE SLEEPING PROCESS
1513 - INT 15 - MultiDOS Plus - GET TASK CONTROL BLOCK
1514 - INT 15 - VMiX - "sys_clrwindow" - CLEAR WINDOW
1514 - INT 15 - MultiDOS Plus - CHECK IF MultiDOS FOREGROUND OR BACKGROUND
1515 - INT 15 - VMiX - "sys_setbwindow" - SET BANNER WINDOW MESSAGE
1515 - INT 15 - MultiDOS Plus - GET SYSTEM BLOCK
1516 - INT 15 - VMiX - "sys_setwindow" - SET ROOT WINDOW SIZE AND HOME CURSOR
1516 - INT 15 - MultiDOS Plus - INITIALIZATION
1517 - INT 15 - VMiX - "sys_getcolors" - GET CONSOLE WINDOW COLORS
1517 - INT 15 - MultiDOS Plus - MAP IRQ
1518 - INT 15 - VMiX - "sys_setcolors" - SET CONSOLE COLORS
1518 - INT 15 - MultiDOS Plus - UNMAP IRQ
1519 - INT 15 - VMiX v2+ - "sys_setconwn" - SET WINDOW COLORS
1519 - INT 15 - MultiDOS Plus - UNMAP ALL IRQs
151A - INT 15 - VMiX v2+ - "sys_sint" - INVOKE SOFTWARE INTERRUPT
151A - INT 15 - MultiDOS Plus - MAP SEMAPHORE NAME TO NUMBER
151B - INT 15 - VMiX v2+ - "sys_blkmov" - MOVE MEMORY BLOCK
151B - INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE BY NAME
151C - INT 15 - VMiX v2+ - "sys_bitblt" - PUT GRAPHICAL OBJECT AT CURSOR POSITION
151C - INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE BY NAME
151D - INT 15 - VMiX v2+ - "sys_getfont" - GET CURRENT CONSOLE GRAPHICS FONT
151D - INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE BY NAME
151E - INT 15 - VMiX v2+ - "sys_setfont" - SET CONSOLE GRAPHICS FONT
151E00 - INT 15 - MultiDOS Plus - CLEAR EVENT COUNTER
151E01 - INT 15 - MultiDOS Plus - TRIGGER EVENT
151E02 - INT 15 - MultiDOS Plus - WAIT FOR EVENT
151E08 - INT 15 - MultiDOS Plus 4.01 - SET CONTEXT-SWITCH FUNCTIONS
151F - INT 15 - VMiX v2.???+ - "sys_scrollwin" - SCROLL WINDOW
151F - INT 15 - MultiDOS Plus v4.01 - GET MEMORY PARAMETERS
1520 - INT 15 - MultiDOS Plus v4.01 - CHECK IF MULTITASKING ENABLED
153000 - INT 15 - Object Kernel for DOS - INSTALLATION CHECK
153001 - INT 15 - Object Kernel for DOS - GET STATUS BLOCK
153002 - INT 15 - Object Kernel for DOS - KILL PROCESS
153003 - INT 15 - Object Kernel for DOS - STOP PROCESS
153004 - INT 15 - Object Kernel for DOS - START PROCESS
153005 - INT 15 - Object Kernel for DOS - RESTART PROCESS
153006 - INT 15 - Object Kernel for DOS - EXECUTE PROCESS
153007 - INT 15 - Object Kernel for DOS - LIST PROCESSES
153008 - INT 15 - Object Kernel for DOS - SWITCH ObjectKernel ON/OFF
153009 - INT 15 - Object Kernel for DOS - RESERVED FOR FUTURE USE
1550 - INT 15 - VMIX v2.???+ - "sys_vm_page" - SET NEW VIRTUAL PAGE TABLE
1551 - INT 15 - VMiX v2.???+ - "sys_vm_func" - EXECUTE FUNCTION IN PROTECTED MODE
1552 - INT 15 - VMiX v2.???+ - "sys_vm_init" - INITIALIZE PROTECTED-MODE ENVIRONMENT
155400 - INT 15 C - Omniview Multitasker - INSTALLATION NOTIFICATION
155401 - INT 15 C - Omniview Multitasker - PROCESS CREATION
155402 - INT 15 C - Omniview Multitasker - PROCESS DESTRUCTION
155403 - INT 15 C - Omniview Multitasker - SAVE
155404 - INT 15 C - Omniview Multitasker - RESTORE
155405 - INT 15 C - Omniview Multitasker - SWITCHING TO BACKGROUND
155406 - INT 15 C - Omniview Multitasker - SWITCHING TO FOREGROUND
155407 - INT 15 C - Omniview Multitasker - EXIT NOTIFICATION
16FF80BX0000 - INT 16 U - PC Tools v8+ CPTASK - INSTALLATION CHECK
16FF80BX0001 - INT 16 U - PC Tools v8+ CPTASK - GET ???
16FF80BX0002 - INT 16 U - PC Tools v8+ CPTASK - GET ???
16FF80BX0003 - INT 16 U - PC Tools v8+ CPTASK - GET ??? FLAGS
16FF80BX0004 - INT 16 U - PC Tools v8+ CPTASK - SET ???
16FF80BX0005 - INT 16 U - PC Tools v8+ CPTASK - GET NUMBER OF ACTIVE TASKS???
16FF80BX0006 - INT 16 U - PC Tools v8+ CPTASK - GET AND CLEAR ??? FLAG
16FF80BX0007 - INT 16 U - PC Tools v8+ CPTASK - ???
16FF80BX0008 - INT 16 U - PC Tools v8+ CPTASK - ???
16FF80BX0009 - INT 16 U - PC Tools v8+ CPTASK - GET ???
16FF80BX000A - INT 16 U - PC Tools v9+ CPTASK - SET ???
16FF80BX000B - INT 16 U - PC Tools v9+ CPTASK - SET ???
16FF80BX000C - INT 16 U - PC Tools v9+ CPTASK - SET IDLE??? DELAY
16FF80BX4350 - INT 16 U - PC Tools v8+ CPTASK - UNINSTALL
16FF9C - INT 16 U - PC Tools v8+ CPTASK - SET/CLEAR ??? POINTER
212B01CX5441 - INT 21 - TAME v2.10+ - INSTALLATION CHECK
212D01CX7820 - INT 21 - PC-Mix - INSTALLATION CHECK
213000BX1234 - INT 21 - CTask 2.0+ - INSTALLATION CHECK
21DF00DX534C - INT 21 U - Software Carousel - INSTALLATION CHECK
21DF01 - INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
21DF02 - INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
21DF03 - INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
21DF04 - INT 21 - Software Carousel - GET PARTITION NAME
21DF05 - INT 21 - Software Carousel - CHANGE PARTITION SIZE
21DF06 - INT 21 - Software Carousel - CHANGE PARTITION NAME
21DF07 - INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
21DF08 - INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
21DF09 - INT 21 - Software Carousel - BOOT THE SYSTEM
21DF0A - INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
21DF0B - INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
21DF0C - INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
21E0 - INT 21 - DoubleDOS - MENU CONTROL
21E1 - INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
21E3 - INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
21E400 - INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
21E5 - INT 21 - DoubleDOS - OTHER PROGRAM STATUS
21E8 - INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
21E9 - INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
21EA - INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
21EB - INT 21 - DoubleDOS - TURN ON TASK SWITCHING
21EC - INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
21EE - INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
21F0 - INT 21 - DoubleDOS - MENU CONTROL
21F1 - INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
21F2 - INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
21F3 - INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
21F400 - INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
21F5 - INT 21 - DoubleDOS - OTHER PROGRAM STATUS
21F8 - INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
21F9 - INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
21FA - INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
21FB - INT 21 - DoubleDOS - TURN ON TASK SWITCHING
21FC - INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
21FE - INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
2F2700 - INT 2F - DR DOS 6.0 TaskMAX - INSTALLATION CHECK
2F2701 - INT 2F - DR DOS 6.0 TaskMAX - GET STATUS
2F2702 - INT 2F - DR DOS 6.0 TaskMAX - GET PER-TASK EMS LIMIT
2F2703 - INT 2F - DR DOS 6.0 TaskMAX - SET PER-TASK EMS LIMIT
2F2704 - INT 2F - DR DOS 6.0 TaskMAX - REGISTER/UNREGISTER TASK MANAGER
2F2705 - INT 2F - DR DOS 6.0 TaskMAX - ENABLE/DISABLE DIRECT SWITCHING
2F2706 - INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO SPECIFIED TASK
2F2707 - INT 2F - DR DOS 6.0 TaskMAX - CREATE NEW TASK
2F2708 - INT 2F - DR DOS 6.0 TaskMAX - DELETE TASK
2F2709 - INT 2F - DR DOS 6.0 TaskMAX - NAME TASK
2F270A - INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK INDEX TO TASK ID
2F270B - INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK ID TO TASK INDEX
2F270C - INT 2F - DR DOS 6.0 TaskMAX - CHECK OPEN FILES
2F270D - INT 2F - DR DOS 6.0 TaskMAX - CHECK IF TASK RUNNING PRIMARY COMMAND INTERPRETER
2F270E - INT 2F - DR DOS 6.0 TaskMAX - GET/SET TEXT PASTE LEAD-IN
2F270F - INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE LEAD-IN
2F2710 - INT 2F - DR DOS 6.0 TaskMAX - GET/SET PASTE LINE TERMINATOR STRING
2F2711 - INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE DECIMAL POINT
2F2712 - INT 2F - DR DOS 6.0 TaskMAX - INITIATE EXPORTING TASK DATA
2F2713 - INT 2F - DR DOS 6.0 TaskMAX - INITIATE PASTE OPERATION
2F2714 - INT 2F - DR DOS 6.0 TaskMAX - GET SWAP SPACE INFO
2F2715 - INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO TASK MANAGER
2F2716 - INT 2F - DR DOS 6.0 TaskMAX - GET PASTE BUFFER STATUS
2F2717 - INT 2F - DR DOS 6.0 TaskMAX - PASTE DATA DIRECTLY TO APPLICATION BUFFER
2F2718 - INT 2F - DR DOS 6.0 TaskMAX - COPY DATA DIRECTLY INTO PASTE BUFFER
2F2719 - INT 2F - Novell DOS 7 TaskMGR - NOP
2F271C - INT 2F U - Novell DOS 7 TaskMGR - ???
2F2781 - INT 2F U - Novell DOS 7 TaskMGR - BEGIN CRITICAL SECTION???
2F2782 - INT 2F U - Novell DOS 7 TaskMGR - END CRITICAL SECTION???
2F278F - INT 2F U - Novell DOS 7 TaskMGR - ??? API
2F4A05 - INT 2F U - DOS 5+ DOSSHELL - TASK SWITCHING API???
2F4B01 - INT 2F C - DOS 5+ TASK SWITCHER - BUILD CALLOUT CHAIN
2F4B02BX0000 - INT 2F - DOS 5+ TASK SWITCHER - INSTALLATION CHECK
2F4B03 - INT 2F - DOS 5+ TASK SWITCHER - ALLOCATE SWITCHER ID
2F4B04 - INT 2F - DOS 5+ TASK SWITCHER - FREE SWITCHER ID
2F4B05 - INT 2F C - DOS 5+ TASK SWITCHER - IDENTIFY INSTANCE DATA
2FD600 - INT 2F U - VEDIT VSWAP - INSTALLATION CHECK
2FD601 - INT 2F U - VEDIT VSWAP - ???
2FD602 - INT 2F U - VEDIT VSWAP - EXEC PROGRAM WITH SWAP
2FF1 - INT 2F U - RTKernel v4.0 - INSTALLATION CHECK
33FFE6 - INT 33 - Switch-It v3.23 - GET ??? PROGRAM
33FFE7 - INT 33 - Switch-It v3.23 - GET ???
33FFE8 - INT 33 - Switch-It v3.23 - ???
33FFE9 - INT 33 - Switch-It v3.23 - SET ???
33FFEA - INT 33 - Switch-It v3.23 - SET ???
33FFEB - INT 33 - Switch-It v3.23 - SET ??? FLAG
33FFEC - INT 33 - Switch-It v3.23 - SET ???
33FFED - INT 33 - Switch-It v3.23 - GET ???
33FFEE - INT 33 - Switch-It v3.23 - GET ???
33FFEF - INT 33 - Switch-It v3.23 - GET ???
33FFF0 - INT 33 - Switch-It v3.23 - SET ???
33FFF1 - INT 33 - Switch-It v3.23 - GET CONFIGURATION FILE
33FFF2 - INT 33 - Switch-It v3.23 - SET ??? FLAG
33FFF3 - INT 33 - Switch-It v3.23 - GET ???
33FFF4 - INT 33 - Switch-It v3.23 - SET ???
33FFF5 - INT 33 - Switch-It v3.23 - GET ???
33FFF6 - INT 33 - Switch-It v3.23 - GET ???
33FFF7 - INT 33 - Switch-It v3.23 - GET ???
33FFF8 - INT 33 - Switch-It v3.23 - ???
33FFF9 - INT 33 - Switch-It v3.23 - NOP
33FFFA - INT 33 - Switch-It v3.23 - SET ???
33FFFB - INT 33 - Switch-It v3.23 - GET ???
33FFFC - INT 33 - Switch-It v3.23 - CLEAR ???
33FFFD - INT 33 - Switch-It v3.23 - GET MEMORY ADDRESSES???
33FFFE - INT 33 - Switch-It v3.23 - INSTALLATION CHECK
33FFFF - INT 33 - Switch-It v3.23 - ???
6201 - INT 62 - Cswitch - GIVE UP REST OF TIME-SLICE
6202 - INT 62 - Cswitch - WAIT FOR SEMAPHORE
6203 - INT 62 - Cswitch - CHECK SEMAPHORE
6204 - INT 62 - Cswitch - TRIGGER SEMAPHORE
6205 - INT 62 - Cswitch - SLEEP
6206 - INT 62 - Cswitch - SUSPEND
6207 - INT 62 - Cswitch - SPAWN
6208 - INT 62 - Cswitch - WAKE UP TASK
6209 - INT 62 - Cswitch - SET PRIORITY
620A - INT 62 - Cswitch - TEST MESSAGE QUEUE
620B - INT 62 - Cswitch - SEND MESSAGE
620C - INT 62 - Cswitch - READ MESSAGE
620D - INT 62 - Cswitch - DON'T ALLOW TASK TO BE SWAPPED OUT
620E - INT 62 - Cswitch - ALLOW TASK TO BE SWAPPED OUT
620F - INT 62 - Cswitch - LOAD AND RUN PROGRAM FROM DISK
6210 - INT 62 - Cswitch - TERMINATE SPAWNED PROGRAM
6211 - INT 62 - Cswitch - GET TCB INFORMATION
6212 - INT 62 - Cswitch - GET TCB ADDRESS
6213 - INT 62 - Cswitch - CHECK STATUS OF PREVIOUS LOAD_TASK
7F00 - INT 7F - MultiLink Advanced v1.0+ - ENQUEUE SYSTEM RESOURCE
7F01 - INT 7F - MultiLink Advanced v1.0+ - DEQUEUE SYSTEM RESOURCE
7F02 - INT 7F - MultiLink Advanced v1.0+ - RELEASE CPU
7F09 - INT 7F - MultiLink Advanced v1.0+ - SET TASK PRIORITY
7F0A - INT 7F - MultiLink Advanced v1.0+ - SET KEYBOARD TEST STATUS
F4 - INT F4 - DoubleDOS - GIVE UP REST OF CURRENT CLOCK TICK AND ALL OF NEXT TICK
F5 - INT F5 - DoubleDOS - ???
F6 - INT F6 - DoubleDOS - ???
F7 - INT F7 - DoubleDOS - ???
F8 - INT F8 - DoubleDOS - ???
F9 - INT F9 - DoubleDOS - ???
FA - INT FA - DoubleDOS - TURN OFF TIMESHARING
FB - INT FB - DoubleDOS - TURN ON TIMESHARING
FC - INT FC - DoubleDOS - GET CURRENT SCREEN BUFFER ADDRESS
FD - INT FD - DoubleDOS - ???
FE - INT FE - DoubleDOS - GIVE UP TIME
Top

U - resident utilities

03 - INT 03 - DTown Utilities - POP UP
1050 - INT 10 - SCROLOCK.COM - INSTALLATION CHECK
1051 - INT 10 - SCROLOCK.COM - ENABLE/DISABLE
10AA - INT 10 OU - Player's Tool 3.0 - UNINSTALL
10AB - INT 10 OU - Player's Tool 3.0 - INSTALLATION CHECK
10CCAB - INT 10 - HiFont - INSTALLATION CHECK
13FFFFBHAA - INT 13 - UNIQUE UX Turbo Utility - SET TURBO MODE
147000 - INT 14 - NEWCOM - INSTALLATION CHECK
163577 - INT 16 U - TextWare TWTSR - API
164252 - INT 16 - TEXTCAP 2.0 - INSTALLATION CHECK
164253 - INT 16 - TEXTCAP 2.0 - UNINSTALL
164254 - INT 16 - TEXTCAP 2.0 - DUMP TEXT SCREEN TO FILE
1655FF - INT 16 C - Microsoft Word - TSR COOPERATION???
166969BX6968 - INT 16 - PC Tools v5.1+ BACKTALK - UNHOOK
166969BX6969 - INT 16 - PC Tools v5.1+ BACKTALK - INSTALLATION CHECK
166D74 - INT 16 - MTRTSR - INSTALLATION CHECK
167761 - INT 16 - WATCH.COM v2.x-v3.0 - INSTALLATION CHECK
167788BX7789 - INT 16 - PC Magazine PUSHDIR.COM - INSTALLATION CHECK
1680 - INT 16 - MAKEY.COM - INSTALLATION CHECK
168765BX4321 - INT 16 - AT.COM version 8/26/87 - API
1699 - INT 16 - SCOUT v5.4 - GET ???
169E - INT 16 - SCOUT v5.4 - INSTALLATION CHECK
16AABBBXEEFF - INT 16 U - JORJ v4.3 - INSTALLATION CHECK
16CB00 - INT 16 - PUPClip v1.12+ - INSTALLATION CHECK
16CB01 - INT 16 - PUPClip v1.12+ - GET CLIPBOARD CURSOR POSITION
16CB02 - INT 16 - PUPClip v1.12+ - SET CLIPBOARD CURSOR POSITION
16CB03 - INT 16 - PUPClip v1.12+ - GET CHARACTER FROM CURRENT CLIPBOARD CURSOR POSITION
16CB04 - INT 16 - PUPClip v1.12+ - WRITE CHARACTER TO CURRENT CLIPBOARD CURSOR POSITION
16CB05 - INT 16 - PUPClip v1.12+ - CLEAR CLIPBOARD CONTENTS
16CB06 - INT 16 - PUPClip v1.12+ - SCROLL UP CLIPBOARD CONTENTS
16CB07 - INT 16 - PUPClip v1.12+ - SCROLL DOWN CLIPBOARD CONTENTS
16CB08 - INT 16 - PUPClip v1.12+ - POP UP
16D724CX00CB - INT 16 U - APCAL v3.20 - GET ???
16D724CX00CC - INT 16 U - APCAL v3.20 - GET ???
16D724CX00CD - INT 16 U - APCAL v3.20 - GET ???
16ED--BHED - INT 16 - BORLAND TURBO LIGHTNING - API
16EF - INT 16 - CALCULATOR - INSTALLATION CHECK
16F398 - INT 16 U - NORTON GUIDES - INSTALLATION CHECK
16FE55 - INT 16 U - PC Tools v8+ programs - GET ???
16FEA4 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - RESET ???
16FEC6 - INT 16 U - PC Tools v7+ CPSCHED - ENABLE/DISABLE CPSCHED API
16FED3 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - ???
16FEDC - INT 16 U - PC Tools v7+ CPSCHED - UNHOOK INTERRUPTS
16FEEFCX0000 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - INSTALLATION CHECK
16FEF1 - INT 16 U - PC Tools v7 only CPSCHED/DESKTOP - ALTERNATE INSTALLATION CHECK
16FF90 - INT 16 U - PC Tools v8+ DESKTOP - ???
16FF91 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF92 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF93 - INT 16 U - PC Tools v7+ DESKTOP - SET ??? FLAG
16FF94 - INT 16 U - PC Tools v7+ DESKTOP - SET ???
16FF95 - INT 16 U - PC Tools v7+ DESKTOP - SET ???
16FF96 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF97 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF98 - INT 16 U - PC Tools v7+ DESKTOP - OPEN \DESK.OVL FILE AND SEEK TO OVERLAY
16FF99 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FF9A - INT 16 U - PC Tools v7+ DESKTOP - GET NAME OF COLOR SCHEME
16FF9B - INT 16 U - PC Tools v7+ DESKTOP - UNUSED
16FF9E - INT 16 U - PC Tools v7+ DESKTOP - ???
16FFA1 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FFA2 - INT 16 U - PC Tools v7+ DESKTOP - ???
16FFA4 - INT 16 U - PC Tools v7-8 DESKTOP - ???
16FFA6 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
16FFA7 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ??? PATH
16FFA8 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
16FFA9 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET VERSION STRING
16FFAA - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
16FFAB - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET EDITOR SETTINGS???
16FFAC - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFAD - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFAE - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
16FFAF - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFB0 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
16FFB1 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
16FFB2 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
16FFB3 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - ???
16FFB4 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - SET ??? FLAG
16FFB5 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET WINDOW PARAMETERS
16FFB6 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
16FFB7 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET ???
16FFB8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET/SET???
16FFB9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFBA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFBB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLEAR ??? FLAG
16FFBC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - RESTORE ORIGINAL SCREEN???
16FFBD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ??? DATABASE INDEXING MESSAGES
16FFBE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFBF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFC4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFC5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK WHETHER DESKTOP LOADED RESIDENT
16FFC6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFC7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - REMOVE WINDOW
16FFC8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFC9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY DATA TO CLIPBOARD
16FFCA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFCB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SELECT WINDOW PARAMETERS???
16FFCC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY ASCIZ STRING CENTERED IN WINDOW
16FFCD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFCE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ??? DELAYS
16FFCF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLOSE PRINTER/PRINT FILE
16FFD0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO PRINT???
16FFD1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY PRINT OPTIONS MENU
16FFD2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD4BH3C - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CREATE/OPEN/DELETE FILE
16FFD5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFD8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SAFE CREATE FILE
16FFD9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFDA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET NAME OF LAST FILE OPENED
16FFDB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFDC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - UNHOOK
16FFDDBX0000 - INT 16 U - PC Tools v5.1+ PCShell API - INSTALLATION CHECK
16FFDDBX0001 - INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
16FFDDBX0002 - INT 16 U - PC Tools v5.1-5.5 PCShell API - GET ???
16FFDDBX0003 - INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
16FFDDBX0004 - INT 16 U - PC Tools v5.1+ PCShell API - GET ???
16FFDDBX0005 - INT 16 U - PC Tools v5.1+ PCShell API - ???
16FFDDBX0006 - INT 16 U - PC Tools v5.1+ PCShell API - ???
16FFDDBX0007 - INT 16 U - PC Tools v5.1+ PCShell API - SET ??? FLAG
16FFDDBX0008 - INT 16 U - PC Tools v5.1+ PCShell API - CLEAR ??? FLAG
16FFDDBX0009 - INT 16 U - PC Tools v6.0+ PCShell API - GET PCRUN PARAMETERS
16FFDDBX000A - INT 16 U - PC Tools v6.0+ PCRUN API - INSTALLATION CHECK
16FFDDBX000B - INT 16 U - PC Tools v6.0+ PCRUN API - ???
16FFDE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY POPUP MENU
16FFDF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - BEEP
16FFE2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PRINT CHARACTER
16FFE4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - POP UP FILE SELECTION MENU
16FFE6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK FOR AND GET KEYSTROKE
16FFE7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFE8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY NUMBER
16FFE9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET FILE LIST???
16FFEA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY COUNTED STRING
16FFEB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFEC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET KEY
16FFED - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
16FFEE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE PULLDOWN MENUS
16FFEFCX0000 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - INSTALLATION CHECK
16FFF0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
16FFF1BX0000 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ALTERNATE INSTALLATION CHECK
16FFF2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY HELP LINE
16FFF3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO UNLOAD RESIDENT DESKTOP
16FFF4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
16FFF5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET SCREEN ATTRIBUTE ARRAY
16FFF6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - INVOKE NOTEPAD EDITOR
16FFF7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS MENU BAR ENTRY???
16FFF8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DRAW EMPTY WINDOW
16FFF9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE SCREEN REFRESH ROUTINE
16FFFA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE STANDARD PULLDOWN MENUS
16FFFB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS STANDARD MENU BAR
16FFFC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET HOTKEYS AND KEYBOARD VECTOR
16FFFD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY ???
1ACCCCBXCCCC - INT 1A U - DATEFIX - INSTALLATION CHECK
1AE11B - INT 1A - TheGrab v4.60 - ???
1AE11D - INT 1A - TheGrab v4.60 - INSTALLATION CHECK
1AF7 - INT 1A - RighTime v1.1 - TEMPORARILY DISABLE
1AF8 - INT 1A - RighTime v1.1 - ENABLE
1AFF - INT 1A - RighTime v1.1 - PERMANENTLY DISABLE
212B--CX454C - INT 21 - ELRES v1.1 - INSTALLATION CHECK
214B - INT 21 - ELRES v1.0 only - INSTALLATION CHECK
215757BX5757 - INT 21 U - IBM Genie - Resident Manager - INSTALLATION CHECK
216262SI1994 - INT 21 - ENVLOCK - INSTALLATION CHECK
217761 - INT 21 - WATCH.COM v3.2+ - INSTALLATION CHECK
289999 - INT 28 u - PCXDUMP v9.00+ - INSTALLATION CHECK
29E60DCL0E - INT 29 - ShowGFX - INSTALLATION CHECK
2D--10 - INT 2D - DTown Utilities v1.40+ - EXTENDED API INSTALLATION CHECK
2D--11 - INT 2D - DTown Utilities v1.40+ - UTILITY INSTALLATION CHECK
2D--12 - INT 2D - FREEVER - GET ORIGINAL DOS VERSION INFO
2D--13 - INT 2D - FREEVER - SET VERSION NUMBERS
2D--14 - INT 2D - FREEVER - ENABLE TSR
2D--15 - INT 2D - FREEVER - DISABLE TSR
2D--16 - INT 2D - FREEVER - GET TSR STATUS
2D--17 - INT 2D - FREEVER - GET TaskMAX STATUS AT INSTALLATION
2D--20 - INT 2D - DTown Utilities v1.40+ - GET POP-UP HANDLER ADDRESS
2D--21 - INT 2D - DTown Utilities v1.40+ - POP UP
2D--50 - INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET ADDRESS
2D--51 - INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET REFERENCE
2F0600 - INT 2F - DOS 3.0+ ASSIGN - INSTALLATION CHECK
2F0601 - INT 2F U - DOS 3.0+ ASSIGN - GET DRIVE ASSIGNMENT TABLE
2F1400 - INT 2F C - NLSFUNC.COM - INSTALLATION CHECK
2F1401 - INT 2F CU - NLSFUNC.COM - CHANGE CODE PAGE
2F1402 - INT 2F CU - NLSFUNC.COM - GET EXTENDED COUNTRY INFO
2F1403 - INT 2F CU - NLSFUNC.COM - SET CODE PAGE
2F1404 - INT 2F CU - NLSFUNC.COM - GET COUNTRY INFO
2F14FE - INT 2F U - DR DOS 5.0 NLSFUNC - GET EXTENDED COUNTRY INFORMATION
2F14FF - INT 2F U - DR DOS 5.0+ NLSFUNC - PREPARE CODE PAGE
2F1500 - INT 2F - DOS 4.00 GRAPHICS.COM - INSTALLATION CHECK
2F48C1BL00 - INT 2F - PCED/VSTACK - INSTALLATION CHECK
2F48C2BL00 - INT 2F - PCED/ATTRIB - INSTALLATION CHECK
2F48C4BL00 - INT 2F - PCED/FLIST - INSTALLATION CHECK
2F48C5BL00 - INT 2F - PCED/ASSOC - INSTALLATION CHECK
2F48C5BL01 - INT 2F - PCED/ASSOC - GET VERSION
2F48C5BL02 - INT 2F - PCED/ASSOC - ASSOCIATION TEST
2F8900 - INT 2F - WHOA!.COM - INSTALLATION CHECK
2F8901 - INT 2F - WHOA!.COM - UNINSTALL
2F8902 - INT 2F - WHOA!.COM - SET DELAY COUNT
2F9000 - INT 2F U - RAID - INSTALLATION CHECK
2F9001 - INT 2F U - RAID - GET ???
2F9002 - INT 2F U - RAID - GET RESIDENT SEGMENT
2F9003 - INT 2F U - RAID - UNINSTALL
2F9004 - INT 2F U - RAID - GET ???
2FA4E0 - INT 2F - Futurus Team - INSTALLATION CHECK
2FA900 - INT 2F - METZTSR.COM - INSTALLATION CHECK
2FA901 - INT 2F - METZTSR.COM - GET TIME OF LAST KEYBOARD ACTIVITY
2FA902 - INT 2F - METZTSR.COM - SET METZ Ctrl-Alt-Del FLAG
2FA903 - INT 2F - METZTSR.COM - GET METZ Ctrl-Alt-Del FLAG
2FAA - INT 2F - Player's Tool 3.996b+ - UNINSTALL
2FAA00 - INT 2F - VIDCLOCK.COM - INSTALLATION CHECK
2FAB - INT 2F - Player's Tool 3.996b+ - INSTALLATION CHECK
2FAC - INT 2F u - Player's Tool 3.996b+ - POP UP
2FBE00 - INT 2F - REDVIEW - INSTALLATION CHECK
2FC000 - INT 2F U - WANG_ER.COM - INSTALLATION CHECK
2FC000 - INT 2F - Frank Kintrup TSR Utilities - INSTALLATION CHECK
2FC001 - INT 2F - Frank Kintrup TSR Utilities - CLOCK - DISABLE DISPLAY UPDATE
2FC002 - INT 2F - Frank Kintrup TSR Utilities - CLOCK - ENABLE DISPLAY UPDATE
2FCAFEBX0000 - INT 2F U - THELP v3.0 - INSTALLATION CHECK
2FCD00 - INT 2F - SWELL.EXE - INSTALLATION CHECK
2FCD01 - INT 2F - SWELL.EXE - SUSPEND ONCE
2FCD02 - INT 2F - SWELL.EXE - SUSPEND
2FCD03 - INT 2F - SWELL.EXE - ACTIVATE
2FCD04 - INT 2F - SWELL.EXE - TURN OFF VERBOSE MODE
2FCD05 - INT 2F - SWELL.EXE - TURN ON VERBOSE MODE
2FCD06 - INT 2F - SWELL.EXE - UNINSTALL
2FCD07 - INT 2F - SWELL.EXE - GET INFO
2FCD08 - INT 2F - SWELL.EXE - UNUSED
2FCD09 - INT 2F - SWELL.EXE - TURN OFF "BORLAND SUPPORT"
2FCD0A - INT 2F - SWELL.EXE - TURN ON "BORLAND SUPPORT"
2FD200 - INT 2F - PCL-838.EXE - INSTALLATION CHECK
2FD201 - INT 2F - PCL-838.EXE - UNINSTALL
2FD202 - INT 2F - PCL-838.EXE - EXECUTE PCL838 COMMANDS
2FDB00 - INT 2F U - WINGO.COM - INSTALLATION CHECK
2FDB01 - INT 2F U - WINGO.COM - SET CALLBACK FUNCTION POINTER
2FDB02 - INT 2F U - WINGO.COM - RESET CALLBACK FUNCTION POINTER
2FDB03 - INT 2F U - WINGO.COM - SET ??? FLAG
2FDB04 - INT 2F U - WINGO.COM - RESET ??? FLAG
2FDB05 - INT 2F U - WINGO.COM - GET ??? FLAG
2FDB06 - INT 2F U - WINGO.COM - CALL CALLBACK FUNCTION
2FDE01BX5242 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, Ralf Brown's XDI drivers
2FDE01BX7474 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVTXDI.COM
2FDE01BX7575 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVSIXDI.COM
2FE000 - INT 2F - SETDRVER.COM v2.10+ - INSTALLATION CHECK
2FE000DX4D50 - INT 2F - FREEVER v1.0+ - INSTALLATION CHECK
2FE001 - INT 2F - SETDRVER.COM v2.10+ - GET SETDRVER VERSION
2FE002 - INT 2F - SETDRVER.COM v2.10+ - GET ORIGINAL DOS VERSION INFO
2FE003 - INT 2F - SETDRVER.COM v2.10+ - RESET INTERNAL VARIABLES
2FE004 - INT 2F - SETDRVER.COM v2.10+ - ENABLE TSR
2FE005 - INT 2F - SETDRVER.COM v2.10+ - DISABLE TSR
2FE006 - INT 2F - SETDRVER.COM v2.10+ - GET TSR STATUS
2FE007 - INT 2F - SETDRVER.COM v2.10+ - GET TaskMAX STATUS AT INSTALLATION
2FE0 - INT 2F - SETDRVER.COM - RESERVED FOR FUTURE USE
2FE600CL30 - INT 2F - Virtual 486 - INSTALLATION CHECK
2FEE00 - INT 2F - XVIEW - INSTALLATION CHECK
2FEE01 - INT 2F - XVIEW - POP UP GIVING TOPIC SEARCH KEYWORD
2FEE02 - INT 2F - XVIEW - POP UP GIVING A PAGE NUMBER
2FEE03 - INT 2F - XVIEW - POP UP GIVING FILENAME AND SEARCH TOPIC OR PAGE NUMBER
2FEE04 - INT 2F - XVIEW - POP UP AND READ SCREEN FOR SEARCH TOPIC KEYWORD
2FEE05 - INT 2F - XVIEW - POP UP TO MOST-RECENTLY VIEWED PAGE
2FEE06 - INT 2F - XVIEW - WAIT FOR POP-DOWN AND GET EXIT CODE
2FFB00 - INT 2F U - Jot-It! v1.50 - INSTALLATION CHECK
2FFB01 - INT 2F U - Jot-It! v1.50 - GET USER NAME
2FFB02 - INT 2F U - Jot-It! v1.50 - GET MESSAGE DIRECTORY
2FFB03 - INT 2F U - Jot-It! v1.50 - UNINSTALL
2FFE00DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - INSTALLATION CHECK/STATUS REPORT
2FFE00DX474F - INT 2F - GO! v3.22+ - API
2FFE01DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - ENABLE
2FFE02DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - DISABLE
2FFE03DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - FLUSH BUFFERS
2FFE04DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
2FFE05DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
2FFE10DI4E55 - INT 2F U - NORTON UTILITIES 6.0 NCACHE - REBOOT
5B5254DL04 - INT 5B U - SitBack v3.02R - GET ???
5B8485DL70 - INT 5B U - SitBack v3.02R - INSTALLATION CHECK
5B8485DL71 - INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS
5B8485DL72 - INT 5B U - SitBack v3.02R - CLEAR ??? FLAG
5B8485DL73 - INT 5B U - SitBack v3.02R - ???
5B8485DL74 - INT 5B U - SitBack v3.02R - ???
5B8485DL75 - INT 5B U - SitBack v3.02R - ???
5B8485DL76 - INT 5B U - SitBack v3.02R - ???
5B8485DL77 - INT 5B U - SitBack v3.02R - SET ??? FLAG
5B8485DL78 - INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT
5B8485DL79 - INT 5B U - SitBack v3.02R - GET DTA
5B8485DL7A - INT 5B U - SitBack v3.02R - TOGGLE ???
61 - INT 61 - PC-Magazin - PAGE, SWAPx
65 - INT 65 - SD.COM v6.2
66 - INT 66 - PC-Magazin - INCA
66AA02 - INT 66 - HelpTSR v2.10 - INSTALLATION CHECK
67 - INT 67 - CUCKOO.COM - INSTALLATION CHECK
6A - INT 6A - OPTHELP.COM
7D - INT 7D - HyperPAD v2.2 - API ACCESS
7F - INT 7F - SBS WinRun 1.00 - TRANSMITTER ENTRY POINT
96 - INT 96 U - KILL.COM, QKILL.COM - POP UP
A4 - INT A4 U - Right Hand Man - API
B370 - INT B3 - ZIPKEY - GET VERSION
B371 - INT B3 - ZIPKEY - CONVERT TWO-LETTER ABBREVIATION TO STATE CODE
B372 - INT B3 - ZIPKEY - CONVERT STATE CODE TO TWO-LETTER ABBREVIATION
B373 - INT B3 - ZIPKEY - CONVERT STATE CODE TO STATE NAME
B374 - INT B3 - ZIPKEY - CONVERT ZIPCODE TO ASCII DIGITS
B375 - INT B3 - ZIPKEY - LOOK UP STATE CODE FOR ZIPCODE
B376 - INT B3 - ZIPKEY - LOOK UP CITY AND STATE FOR ZIPCODE
B377 - INT B3 - ZIPKEY - PLAY BACK EXIT KEY FOR ENTRY WITH GIVEN ZIPCODE
B378 - INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN STATE AND CITY
B379 - INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN CITY
B37A - INT B3 - ZIPKEY - FETCH AN ENTRY FROM A PREVIOUS LOOKUP
B37B - INT B3 - ZIPKEY - GET VALUES NEEDED TO SAVE ZIPKEY CONTEXT
B37C - INT B3 - ZIPKEY - RESTORE ZIPKEY CONTEXT
B37D - INT B3 - ZIPKEY - REQUEST POP UP
B37E - INT B3 - ZIPKEY - GET NAME OF PRIMARY CITY FOR A ZIPCODE REGION
B37F - INT B3 - ZIPKEY - ENABLE/DISABLE HOTKEYS
B380 - INT B3 - ZIPKEY v2.0+ - DETERMINE STATE FOR AREA CODE
D0 - INT D0 - [not a vector!] - NJFRERAM SIGNATURE VECTOR
F1 - INT F1 - AQUEDUCT, PIPELINE - GET DATA AREA ADDRESS
Top

V - video

06 - INT 06 U - no-name clone - GRAPHICS CHARACTER TABLE (NOT A VECTOR!)
10 - INT 10h - LIRVGA19 - CHAR HEIGHT HOOK
1000 - INT 10 - VIDEO - SET VIDEO MODE
100070 - INT 10 - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
10007E - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE
10007FBH00 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET VGA OPERATION
10007FBH01 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET NON-VGA OPERATION
10007FBH02 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - QUERY MODE STATUS
10007FBH03 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - LOCK CURRENT MODE
10007FBH04 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MDA EMULATION MODE
10007FBH05 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER CGA EMULATION MODE
10007FBH06 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MONOCHROME VGA MODE
10007FBH07 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER COLOR VGA MODE
10007F - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED DATA REGISTER ACCESS
10007FBH60 - INT 10 - Paradise VGA - ???
10007FBH61 - INT 10 - Paradise VGA - ???
10007FBXA500 - INT 10 - Paradise VGA - ???
10007FBHA5 - INT 10 - Paradise VGA - ???
10007FBHA6 - INT 10 - Paradise VGA - ???
1001 - INT 10 - VIDEO - SET TEXT-MODE CURSOR SHAPE
1002 - INT 10 - VIDEO - SET CURSOR POSITION
1003 - INT 10 - VIDEO - GET CURSOR POSITION AND SIZE
1004 - INT 10 - VIDEO - READ LIGHT PEN POSITION (except VGA)
1004 - INT 10 - HUNTER 16 - GET CURSOR ADDRESS
1005 - INT 10 - VIDEO - SELECT ACTIVE DISPLAY PAGE
100500 - INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - SET GRAPHICS BITMAP BUFFER
10050F - INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - GET GRAPHICS BITMAP BUFFER
100580 - INT 10 - VIDEO - PCjr, Tandy 1000 - GET CRT/CPU PAGE REGISTERS
1005 - INT 10 - VIDEO - PCjr, Tandy 1000 - SET CRT/CPU PAGE REGISTERS
1006 - INT 10 - VIDEO - SCROLL UP WINDOW
1007 - INT 10 - VIDEO - SCROLL DOWN WINDOW
1008 - INT 10 - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION
1009 - INT 10 - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION
100A - INT 10 - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION
100B--BH00 - INT 10 - VIDEO - SET BACKGROUND/BORDER COLOR
100B--BH01 - INT 10 - VIDEO - SET PALETTE
100B--BH02 - INT 10 - Tandy 2000 - VIDEO - SET PALETTE ENTRY
100C - INT 10 - VIDEO - WRITE GRAPHICS PIXEL
100D - INT 10 - VIDEO - READ GRAPHICS PIXEL
100E - INT 10 - VIDEO - TELETYPE OUTPUT
100F - INT 10 - VIDEO - GET CURRENT VIDEO MODE
100F56BX4756 - INT 10 - VUIMAGE DISPLAY DRIVER (v2.20 and below)
100F--SIF123 - INT 10 - FRIEZE v7.41+ - INSTALLATION CHECK
1010 - INT 10 - BIOS Window Extension v1.1 - SET WINDOW COORDINATES
1010 - INT 10 - VIDEO - Eagle PC2 BIOS Rev. C - SET SCROLL SPEED
1010 - INT 10 - Tandy 2000 - VIDEO - GET/SET CHARACTER FONTS
101000 - INT 10 - VIDEO - SET SINGLE PALETTE REGISTER (PCjr,Tandy,EGA,MCGA,VGA)
101001 - INT 10 - VIDEO - SET BORDER (OVERSCAN) COLOR (PCjr,Tandy,EGA,VGA)
101002 - INT 10 - VIDEO - SET ALL PALETTE REGISTERS (PCjr,Tandy,EGA,VGA)
101003 - INT 10 - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
101007 - INT 10 - VIDEO - GET INDIVIDUAL PALETTE REGISTER (VGA,UltraVision v2+)
101008 - INT 10 - VIDEO - READ OVERSCAN (BORDER COLOR) REGISTER (VGA,UltraVision v2+)
101009 - INT 10 - VIDEO - READ ALL PALETTE REGISTERS AND OVERSCAN REGISTER (VGA)
101010 - INT 10 - VIDEO - SET INDIVIDUAL DAC REGISTER (VGA/MCGA)
101012 - INT 10 - VIDEO - SET BLOCK OF DAC REGISTERS (VGA/MCGA)
101013 - INT 10 - VIDEO - SELECT VIDEO DAC COLOR PAGE (VGA)
101015 - INT 10 - VIDEO - READ INDIVIDUAL DAC REGISTER (VGA/MCGA)
101017 - INT 10 - VIDEO - READ BLOCK OF DAC REGISTERS (VGA/MCGA)
101018 - INT 10 U - VIDEO - SET PEL MASK (VGA/MCGA)
101019 - INT 10 U - VIDEO - READ PEL MASK (VGA/MCGA)
10101A - INT 10 - VIDEO - GET VIDEO DAC COLOR-PAGE STATE (VGA)
10101B - INT 10 - VIDEO - PERFORM GRAY-SCALE SUMMING (VGA/MCGA)
1010E0 - INT 10 - VIDEO - Diamond Speedstar 24 - SET 24-BIT GRAPHICS MODE
1010F0 - INT 10 - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE
1010F1 - INT 10 - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE
1010F2 - INT 10 u - VIDEO - Tseng ET-4000 BIOS - CHECK IF HiColor MODE/SET HiColor MODE
1011 - INT 10 - BIOS Window Extension v1.1 - GET WINDOW COORDINATES
1011 - INT 10 - Tandy 2000 - VIDEO - WRITE ATTRIBUTE ONLY
101100 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
101101 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
101102 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
101103 - INT 10 - VIDEO - TEXT-MODE CHARGEN - SET BLOCK SPECIFIER (PS,EGA,VGA)
101104 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
1011 - INT 10 - VIDEO - Realtek RTVGA - TEXT-MODE CHARACTER GENERATOR FUNCTIONS
10110F - INT 10 - VIDEO - Realtek RTVGA - SET USER 8x8 GRAPHICS CHARACTERS
101110 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
101110 - INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS
101111 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
101111 - INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x14 GRAPHICS CHARACTERS
101112 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
101112 - INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x8 DOUBLE-DOT CHARACTERS
101114 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
101118 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
101120 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER 8x8 GRAPHICS CHARS (PS,EGA,VGA)
101121 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (PS,EGA,VGA)
101122 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x14 GRAPHICS CHARS (PS,EGA,VGA)
101123 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x8 DOUBLE-DOT CHARS (PS,EGA,VGA)
101124 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPHICS CHARS (VGA,MCGA)
101129 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPH CHARS (Compaq Systempro)
101129 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (Diamond)
101130 - INT 10 - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA)
101130BX4D4F - INT 10 - M10_SCR.COM v3.5+ - INSTALLATION CHECK
1012 - INT 10 - BIOS Window Extension v1.1 - GET BLANKING ATTRIBUTE
1012 - INT 10 - Tandy 2000 - VIDEO - SCROLL WINDOW
1012--BL10 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, EGA, VGA, MCGA) - GET EGA INFO
1012--BL11 - INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET BIOS INFO
1012--BL12 - INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET VIDEO RAM SIZE
1012--BL20 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC
1012--BL2E - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BL30 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION
1012--BL31 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - PALETTE LOADING
1012--BL32 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - VIDEO ADDRESSING
1012--BL33 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - GRAY-SCALE SUMMING
1012--BL34 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION
1012--BL35 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS) - DISPLAY-SWITCH INTERFACE
1012--BL36 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, VGA) - VIDEO REFRESH CONTROL
1012--BL37 - INT 10 - VIDEO - XGA - MAINFRAME INTERACTIVE SUPPORT
1012--BL38 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
1012--BL39 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
1012--BL3A - INT 10 - IBM SurePath BIOS - Officially "Private" Function
1012--BL53 - INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
1012--BL57 - INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
1012--BH55 - INT 10 - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES
1012--BL74 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BL80 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BL80 - INT 10 - Cirrus Logic BIOS - INQUIRE VGA TYPE
1012--BL81 - INT 10 - Cirrus Logic BIOS - GET BIOS VERSION NUMBER
1012--BL82 - INT 10 - Cirrus Logic BIOS - GET DESIGN REVISION CODE
1012--BL84 - INT 10 - Cirrus Logic BIOS v3.02 - INQUIRE OPTIONS
1012--BL85 - INT 10 - Cirrus Logic BIOS - GET INSTALLED MEMORY
1012--BL89 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - EN/DISABLE REVERSE VIDEO MODE
1012--BL8A - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET FRAME COLOR
1012--BL8B - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE BOLD MODE
1012--BL8C - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET AUTOMAP/EMULATE ATTRIBUTES
1012--BL8F - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE EXPAND MODE
1012--BL90 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET CENTERING MODE
1012--BL91 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET 720-DOT FIXUP MODE
1012--BL92 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SWITCH DISPLAY
1012--BL93 - INT 10 - Cirrus Logic BIOS - FORCE 8-BIT OR 16-BIT OPERATION
1012--BL94 - INT 10 - Cirrus Logic BIOS v3.02 - POWER CONSERVATION
1012--BL9A - INT 10 - Cirrus Logic BIOS - GET USER OPTIONS
1012--BLA0 - INT 10 - Cirrus Logic BIOS - GET VIDEO MODE AVAILABILITY
1012--BLA1 - INT 10 - Cirrus Logic BIOS - READ MONITOR TYPE AND ID FROM 15-PIN CONNECTOR
1012--BLA2 - INT 10 - Cirrus Logic BIOS - SET MONITOR HORIZONTAL RETRACE FREQUENCY
1012--BLA3 - INT 10 - Cirrus Logic BIOS - SET VGA REFRESH
1012--BLA4 - INT 10 - Cirrus Logic BIOS - SET MONITOR TYPE
1012--BLAE - INT 10 - Cirrus Logic BIOS - GET HIGH REFRESH
1012--BLAF - INT 10 - Cirrus Logic BIOS - SET HIGH REFRESH
1012--BLBE - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BLC6 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BLF0 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
1012--BLF1 - INT 10 - Tseng ET-4000 BIOS - GET/SET SCREEN REFRESH RATE
1013 - INT 10 - VIDEO - WRITE STRING (AT and later,EGA)
101400 - INT 10 - VIDEO - LOAD USER-SPECIFIED LCD CHARACTER FONT (CONV,Compaq Port 386)
101401 - INT 10 - VIDEO - LOAD SYSTEM ROM DEFAULT LCD CHARACTER FONT (CONV,CP386)
101402 - INT 10 - VIDEO - SET MAPPING OF LCD HIGH INTENSITY ATTRIBUTES (CONV,CP386)
1015 - INT 10 - VIDEO - GET PHYSICAL DISPLAY PARAMETERS (CONVERTIBLE)
1015 - INT 10 - VIDEO - SET SUPERIMPOSE MODE (Sperry PC)
1019 - INT 10 - Japanese VIDEO - DOUBLE-BYTE CHARACTER SET SHIFT INFORMATION
101A00 - INT 10 - VIDEO - GET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
101A01 - INT 10 - VIDEO - SET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
101B - INT 10 - VIDEO - FUNCTIONALITY/STATE INFORMATION (PS,VGA/MCGA)
101C - INT 10 - VIDEO - SAVE/RESTORE VIDEO STATE (PS50+,VGA)
101D - INT 10 - SpeedSTAR Plus BIOS v4.23+ - SET SYNC PARAMETERS
101D - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
101DAABXFDEC - INT 10 U - Diamond Stealth64 Video - INSTALLATION CHECK
101E00 - INT 10 - VIDEO - FLAT-PANEL - READ INFORMATION
101E01 - INT 10 - VIDEO - FLAT-PANEL - LCD/CRT DISPLAY CONTROL
101E02 - INT 10 - VIDEO - FLAT-PANEL - DISPLAY POSITION
101E03 - INT 10 - VIDEO - FLAT-PANEL - VERTICAL EXPANSION FOR TEXT/GRAPHICS MODES
101E04 - INT 10 - VIDEO - FLAT-PANEL - NORMAL/REVERSE VIDEO FOR TEXT/GRAPHICS MODES
101E05 - INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS CONTROL
101E06 - INT 10 - VIDEO - FLAT-PANEL - CONTRAST CONTROL FOR TEXT/GRAPHICS
101E07 - INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS SETTING
101E08 - INT 10 - VIDEO - FLAT-PANEL - CONTRAST SETTING
101EFE - INT 10 - VIDEO - FLAT-PANEL - FUNCTION SUPPORT FLAG
101F00 - INT 10 - VIDEO - XGA - GET DMQS (Display Mode Query and Set) DATA LENGTH
101F01 - INT 10 - VIDEO - XGA - READ DMQS DATA
101F02 - INT 10 - VIDEO - XGA - GET SVGA DMQS DATA LENGTH
101F03 - INT 10 - VIDEO - XGA - GET SVGA DMQS DATA
103000CX0000 - INT 10 - VIDEO - LOCATE 3270PC CONFIGURATION TABLE (INSTALLATION CHECK)
1040 - INT 10 - VIDEO - Hercules GRAFIX - "GMODE" - SET GRAPHICS MODE
1041 - INT 10 - VIDEO - Hercules GRAFIX - "TMODE" - SET TEXT MODE
1042 - INT 10 - VIDEO - Hercules GRAFIX - "CLRSCR" - CLEAR CURRENT PAGE
1043 - INT 10 - VIDEO - Hercules GRAFIX - "GPAGE" - SELECT DRAWING PAGE
1044 - INT 10 - VIDEO - Hercules GRAFIX - "LEVEL" - SELECT DRAWING FUNCTION
1045 - INT 10 - VIDEO - Hercules GRAFIX - "DISP" - SELECT PAGE TO DISPLAY
1046 - INT 10 - VIDEO - Hercules GRAFIX - "PLOT" - DRAW ONE PIXEL
1047 - INT 10 - VIDEO - Hercules GRAFIX - "GETPT" - FIND PIXEL VALUE
1048 - INT 10 - VIDEO - Hercules GRAFIX - "MOVE" - MOVE TO POINT
1049 - INT 10 - VIDEO - Hercules GRAFIX - "DLINE" - DRAW TO POINT
104A - INT 10 - VIDEO - Hercules GRAFIX - "BLKFIL" - BLOCK FILL
104B - INT 10 - VIDEO - Hercules GRAFIX - "TEXT" - DISPLAY CHARACTER
104C - INT 10 - VIDEO - Hercules GRAFIX - "ARC" - DRAW ARC
104D - INT 10 - VIDEO - Hercules GRAFIX - "CIRC" - DRAW CIRCLE
104E - INT 10 - VIDEO - Hercules GRAFIX - "FILL" - FILL AREA
104E00 - INT 10 - VESA XGA BIOS Extensions - GET XGA ENVIRONMENT INFORMATION
104E01 - INT 10 - VESA XGA BIOS Extensions - RETURN XGA SUBSYSTEM INFORMATION
104E02 - INT 10 - VESA XGA BIOS Extensions - RETURN XGA MODE INFORMATION
104E03 - INT 10 - VESA XGA BIOS Extensions - SET XGA VIDEO MODE
104E04 - INT 10 - VESA XGA BIOS Extensions - RETURN CURRENT VIDEO MODE
104E05 - INT 10 - VESA XGA BIOS Extensions - SET FEATURE CONNECTOR STATE
104E06 - INT 10 - VESA XGA BIOS Extensions - RETURN FEATURE CONNECTOR STATE
104F00 - INT 10 - VESA SuperVGA BIOS (VBE) - GET SuperVGA INFORMATION
104F01 - INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
104F02 - INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
104F03 - INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
104F04 - INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
104F05 - INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
104F06 - INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET LOGICAL SCAN LINE LENGTH (PIXELS)
104F06BL02 - INT 10 - VESA SuperVGA BIOS v2.0+ - SET LOGICAL SCAN LINE LENGTH (BYTES)
104F06BL03 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET MAXIMUM SCAN LINE LENGTH
104F07 - INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET DISPLAY START
104F07 - INT 10 - VESA SuperVGA BIOS v3.0+ - SCHEDULED DISPLAY START
104F07 - INT 10 - VESA SuperVGA BIOS v3.0+ - ENABLE/DISABLE STEREOSCOPIC MODE
104F08 - INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
104F09 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
104F0ABL00 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET PROTECTED-MODE INTERFACE
104F0A - INT 10 O - VESA SuperVGA BIOS v2.0 beta - GET PROTECTED-MODE CODE
104F0BBL00 - INT 10 - VESA SuperVGA BIOS v3.0 - GET NEAREST PIXEL CLOCK
104F0B - INT 10 - VESA SuperVGA BIOS - GET VBE/AF v1.0P DEVICE CONTEXT BUFFER
104F0C - INT 10 - VESA SuperVGA BIOS - RESERVED FOR FUTURE SVGA FUNCTIONS
104F0B - INT 10 - Diamond Viper V330 - ???
104F11 - INT 10 - VESA VBE/FP (Flat Panel Interface) - API
104F12 - INT 10 - VESA VBE/CI (Cursor Interface) - API
104F15BL00 - INT 10 - VESA VBE/DC (Display Data Channel) - INSTALLATION CHECK / CAPABILITIES
104F15BL01 - INT 10 - VESA VBE/DC (Display Data Channel) - READ EDID
104F15BL02 - INT 10 - VESA VBE/DC (Display Data Channel) - READ VDIF
104F16 - INT 10 - VESA VBE/GC (Graphics System Configuration) - API
104F17 - INT 10 - VESA VBE/AF (Accelerator Functions) - API
104F4D - INT 10 - VESA - VIDEO CURSOR INTERFACE REQUEST
104F70 - INT 10 - Avance Logic - GET ADAPTER INFORMATION
104FDD - INT 10 - ATI M64VBE.COM - GET RESIDENT SEGMENT
104FFF - INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
104FFF - INT 10 - Diamond Stealth 24 - SET/RESET DUAL DISPLAY MODE
104FFFBX364D - INT 10 - ATI M64VBE.COM - UNINSTALL
105049 - INT 10 - VIDEO - SCREENR v1.55+ - API
105555 - INT 10 - VIDEO - ATI EGA/VGA Wonder Super Switch - INSTALLATION CHECK
105F00 - INT 10 - Chips & Technologies Extended BIOS - RETURN CHIP INFORMATION
105F00 - INT 10 - VIDEO - Realtek RTVGA - RETURN CHIP VERSION
105F01 - INT 10 - Chips & Technologies Extended BIOS - SET PREPROGRAMMED EMULATION
105F01 - INT 10 - VIDEO - Realtek RTVGA - WRITE RTVGA BIOS STRING TO DESTINATION
105F02 - INT 10 - Chips & Technologies Extended BIOS - AUTO EMULATION CONTROL
105F02 - INT 10 - Chips & Technologies '64300' BIOS - SET CLOCK
105F02 - INT 10 - Chips & Technologies '65530' BIOS - SET CLOCK
105F02 - INT 10 - VIDEO - Realtek RTVGA - RETURN RTVGA ON-BOARD MEMORY SIZE
105F03 - INT 10 - VIDEO - Realtek RTVGA - SET ???
105F03BL00 - INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON DISPLAY MODE
105F03BH00 - INT 10 - Chips & Technologies '64300' BIOS - GET CLOCK SPEED
105F03BL01 - INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON EMULATION MODE
105F04 - INT 10 - Chips & Technologies '64300' BIOS - GET REFRESH RATE
105F05 - INT 10 - Chips & Technologies '64300' BIOS - SET REFRESH RATE
105F06 - INT 10 - Chips & Technologies '64300' BIOS - GET XRAM INFORMATION
105F08 - INT 10 - Chips & Technologies '64300' BIOS - SET LINEAR MEMORY START ADDRESS
105F10 - INT 10 - Chips & Technologies '64300'/'65530' BIOS - GET LINEAR MEMORY INFO
105F50 - INT 10 - Chips & Technologies Extended BIOS - GET LAPTOP DISPLAY STATUS
105F50 - INT 10 - Chips & Technologies '65530' BIOS - GET 655xx INFORMATION
105F51 - INT 10 - Chips & Technologies Extended BIOS - SWITCH DISPLAY DEVICE
105F53 - INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE ACCELERATOR SUPPORT
105F54 - INT 10 - Chips & Technologies Extended BIOS - TURN FLAT PANEL ON/OFF
105F5A - INT 10 - Chips & Technologies Extended BIOS - SET FLAT-PANEL VIDEO POLARITY
105F5C - INT 10 - Chips & Technologies Extended BIOS - SET VERTICAL COMPENSATION
105F5E - INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE TALL FONT LOADING
105F5F - INT 10 - Chips & Technologies Extended BIOS - HORIZONTAL COMPENSATION
105F90 - INT 10 - Chips & Technologies Extended BIOS - GET SUPERVGA STATE BUFFER SIZE
105F91 - INT 10 - Chips & Technologies Extended BIOS - SAVE SUPERVGA STATE
105F92 - INT 10 - Chips & Technologies Extended BIOS - RESTORE SUPERVGA STATE
105FA0 - INT 10 - Chips & Technologies Wingine DGX - GET EXTENDED BIOS SAVE BUFFER SIZE
105FA1 - INT 10 - Chips & Technologies Wingine DGX - SAVE VIDEO STATE
105FA2 - INT 10 - Chips & Technologies Wingine DGX - RESTORE VIDEO STATE
1060 - INT 10 - HUNTER 16 - SET GRAPHICS FONT
1061 - INT 10 - HUNTER 16 - MOVE CURSOR TO GRAPHICS CO-ORDINATES
1062 - INT 10 - HUNTER 16 - GET CURSOR POSITION IN GRAPHICS CO-ORDINATES
1063 - INT 10 - HUNTER 16 - SET CONTRAST
1064 - INT 10 - HUNTER 16 - SET BACKLIGHT LEVEL
106500 - INT 10 - HUNTER 16 - GET BACKLIGHT TIMEOUT
106501 - INT 10 - HUNTER 16 - SET BACKLIGHT TIMEOUT
1066 - INT 10 - HUNTER 16 - SPLIT DISPLAY
106A00BX0000 - INT 10 - Direct Graphics Interface Standard (DGIS) - INQUIRE AVAILABLE DEVICES
106A01CX0000 - INT 10 - Direct Graphics Interface Standard (DGIS) - REDIRECT CHARACTER OUTPUT
106A02 - INT 10 - DGIS - INQUIRE INT 10 OUTPUT DEVICE
106D74 - INT 10 - MTRFONTS - INSTALLATION CHECK
106E00 - INT 10 - Paradise VGA internal - GET ???
106E04 - INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
106E05 - INT 10 - Paradise VGA internal - SET MODE
106F00 - INT 10 - HP Vectra EX-BIOS - INSTALLATION CHECK
106F00BX0000 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - INSTALLATION CHECK
106F01 - INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP EX-BIOS - GET MONITOR INFO
106F02 - INT 10 - HP Vectra EX-BIOS - SET MONITOR INFO
106F03 - INT 10 - HP Vectra EX-BIOS - MODIFY MONITOR INFO
106F04 - INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP Vectra - GET MODE AND SCREEN RESOLUTION
106F05 - INT 10 - VIDEO - Video7 VGA,VEGA EXTENDED EGA/VGA,HP Vectra - SET VIDEO MODE
106F06 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - SELECT AUTOSWITCH MODE
106F07 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - GET VIDEO MEMORY CONFIGURATION
1070 - INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF VIDEO RAM
1070 - INT 10 - HUNTER 16 - DRAW ELLIPSE/CIRCLE
107000BX0000 - INT 10 - Everex Extended Video BIOS - RETURN EMULATION STATUS
107000BX0004 - INT 10 - Everex Extended Video BIOS - GET PAGING FUNCTION POINTER FOR CURR MODE
107000BX0005 - INT 10 - Everex Extended Video BIOS - GET SUPPORTED MODE INFO
1071 - INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF INCRAM
1071 - INT 10 - HUNTER 16 - DRAW LINE/BOX
1072 - INT 10 - VIDEO - TANDY 2000 only - SCROLL RIGHT PART OR ALL OF SCREEN
1072 - INT 10 - HUNTER 16 - SELECT TEXT-MODE INVERSE VIDEO MECHANISM
1073 - INT 10 - VIDEO - TANDY 2000 only - SCROLL LEFT PART OR ALL OF SCREEN
1073 - INT 10 - HUNTER 16 - SELECT TEXT FONT
1074 - INT 10 - HUNTER 16 - SET LCD WINDOWS POSITION
1075 - INT 10 - HUNTER 16 - SET ZOOM
1076 - INT 10 - HUNTER 16 - LOOKING KEYS
1077 - INT 10 - HUNTER 16 - GET GRAPHICS FONT
1078 - INT 10 - HUNTER 16 - TURN BACKLIGHT ON/OFF
107F - INT 10 - Paradise SVGA - WD90C24 INSTALLATION CHECK
107F00 - INT 10 - SOLLEX SuperVGA - GET EXTENSIONS INFO
107F00BX4000 - INT 10 - Diamond Stealth 24 - GET S3 INFORMATION BLOCK
107F00BX4001 - INT 10 - Diamond Stealth 24 - GET LINEAR ADDRESS
107F00BX4002 - INT 10 - Diamond Stealth 24 - SET LINEAR ADDRESS
107F01BL00 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - SET ADAPTER
107F01BL01 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - GET ADAPTER
107F01BL02 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - DETERMINE ADAPTER SUPPORT
107F02BL00 - INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - SET DISPLAY OUTPUT
107F02BL01 - INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - GET DISPLAY OUTPUT
107F03BL00 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GET SUPPORT INFO
107F03BL01 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - INITIALIZE VIDEO SUPPORT
107F03BL02 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GO RAM RESIDENT
107F04BL00 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET POWER STATE
107F04BL01 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET POWER STATE
107F04BL02 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET TIMEOUT RESET
107F04BL03 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET TIMEOUT RESET
107F05 - INT 10 - SOLLEX SuperVGA - LOAD REGISTER
107F06 - INT 10 - SOLLEX SuperVGA - MULTIPLE FONT CONTROL
107F07 - INT 10 - SOLLEX SuperVGA - FILL VIDEO RAM
109508 - INT 10 - VHRBIOS.SYS - ???
1096 - INT 10 - VHRBIOS.SYS - GET OTHER DISPLAY INFO
10A004 - INT 10 - PhoenixVIEW/LC - VIDEO DISPLAY TYPE
10A00D - INT 10 - ATI Rage128 BIOS - GET ???
10A012 - INT 10 - ATI Mach64 BIOS - GET ???
10A013 - INT 10 - ATI Mach64 BIOS - ???
10A014 - INT 10 - ATI Rage128 BIOS - ???
10A015 - INT 10 - ATI Rage128 BIOS - GET/SET ???
10A016 - INT 10 - ATI Rage128 BIOS - NOP
10A017 - INT 10 - ATI Rage128 BIOS - ???
10A01B - INT 10 - PhoenixVIEW/LC - CRT MONITOR DETECTION
10BB - INT 10 U - Doorway - SET BIOS/DIRECT REDIRECTION
10BD44 - INT 10 U - Compaq QVision - ???
10BF--CX0000 - INT 10 - Athena Digital HGCIBM.COM - INSTALLATION CHECK
10BFA0BXADAD - INT 10 - VIDEO - Compaq ADAPT.COM - INSTALLATION CHECK
10BFA1 - INT 10 - VIDEO - Compaq ADAPT.COM - GET ???
10BFA2 - INT 10 - VIDEO - Compaq ADAPT.COM - SET ???
10C000 - INT 10 - S3 SpeedUp v3.00+ - INSTALLATION CHECK
10C001 - INT 10 - S3 SpeedUp v3.00+ - GET ACTIVE OPTIONS
10C002 - INT 10 - S3 SpeedUp v3.00+ - SET ACTIVE OPTIONS
10C003 - INT 10 - S3 SpeedUp v3.10+ - GET FLAGS
10C004 - INT 10 - S3 SpeedUp v3.10+ - RESERVED FUNCTIONS
10CB00 - INT 10 - UNCHAIN - SAVE CURRENT VGA REGISTERS
10CB01 - INT 10 - UNCHAIN - UPDATE PAGE 1 OFFSET
10CB02 - INT 10 - UNCHAIN - UPDATE PAGE 2 OFFSET
10CB03 - INT 10 - UNCHAIN - UPDATE PAGE 3 OFFSET
10CB04 - INT 10 - UNCHAIN - UPDATE PAGE 4 OFFSET
10CB05 - INT 10 - UNCHAIN - SAVE PALETTE
10CB06 - INT 10 - UNCHAIN - RESTORE VGA REGISTERS
10CBFF - INT 10 - UNCHAIN - INSTALLATION CHECK
10CC00 - INT 10 - VIDEO - UltraVision - GET STATUS (INSTALLATION CHECK)
10CC01 - INT 10 - VIDEO - UltraVision - DISABLE EXTENSIONS
10CC02 - INT 10 - VIDEO - UltraVision - ENABLE EXTENSIONS
10CD00 - INT 10 - VIDEO - UltraVision - LOAD ULTRAVISION PALETTE (color EGA,VGA)
10CD01 - INT 10 - VIDEO - UltraVision - SET PALETTE LOCKING STATUS (color EGA,VGA)
10CD02 - INT 10 - VIDEO - UltraVision - GET ULTRAVISION PALETTE (EGA,VGA)
10CD03 - INT 10 - VIDEO - UltraVision - GET PALETTE LOCKING STATUS (color EGA,VGA)
10CD04 - INT 10 - VIDEO - UltraVision - GET UltraVision TEXT MODE (EGA,VGA)
10CD05 - INT 10 - VIDEO - UltraVision - SET CURSOR TYPE (EGA,VGA)
10CD06 - INT 10 - VIDEO - UltraVision - GET CURSOR TYPE (EGA,VGA)
10CD07 - INT 10 - VIDEO - UltraVision v1.2+ - SET UNDERLINE STATUS (EGA,VGA)
10CD08 - INT 10 - VIDEO - UltraVision v1.2+ - GET UNDERLINE STATUS (EGA,VGA)
10CD0F - INT 10 - VIDEO - UltraVision - GET POINTER TO ??? (EGA,VGA)
10CD10 - INT 10 - VIDEO - UltraVision - LOAD USER FONT (EGA,VGA)
10CD - INT 10 - VIDEO - UltraVision - SET ULTRAVISION TEXT MODE (EGA,VGA)
10D0 - INT 10 U - VIDEO - HP 100LX/200LX - SET ZOOM MODE
10D000 - INT 10 - S3VBE/Core2.0 v3.00+ - INSTALLATION CHECK
10D001 - INT 10 - S3VBE/Core2.0 v3.00+ - GET ACTIVE OPTIONS
10D002 - INT 10 - S3VBE/Core2.0 v3.00+ - SET ACTIVE OPTIONS
10D003 - INT 10 U - S3VBE/Core2.0 v3.10+ - GET VBE/Core CAPABILITIES
10D004 - INT 10 U - S3VBE/Core2.0 v3.10+ - ACTIVATE SPEED-UP
10D005 - INT 10 U - S3VBE/Core2.0 v3.10+ - DEACTIVATE SPEED-UP
10D1 - INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
10D4 - INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
10D5 - INT 10 - Netroom SCRNCLK - ???
10DFA5 - INT 10 U - VIDEO - Compaq ADAPT.COM - GET ??? DATA AREA
10EE - INT 10 - VIDEO - IBM "Private" Function
10EF - INT 10 - VIDEO - MSHERC.COM - GET VIDEO ADAPTER TYPE AND MODE
10F0 - INT 10 - EGA Register Interface Library - READ ONE REGISTER
10F0 - INT 10 - VHRBIOS.SYS - INSTALLATION CHECK
10F1 - INT 10 - EGA Register Interface Library - WRITE ONE REGISTER
10F1 - INT 10 - VHRBIOS.SYS - SET REVERSE VIDEO
10F2 - INT 10 - EGA Register Interface Library - READ REGISTER RANGE
10F2 - INT 10 - VHRBIOS.SYS - ???
10F3 - INT 10 - EGA Register Interface Library - WRITE REGISTER RANGE
10F3 - INT 10 - VHRBIOS.SYS - SWITCH BETWEEN DUAL MONITORS???
10F4 - INT 10 - EGA Register Interface Library - READ REGISTER SET
10F4 - INT 10 - VHRBIOS.SYS - GET VERSION
10F5 - INT 10 - EGA Register Interface Library - WRITE REGISTER SET
10F5 - INT 10 - VHRBIOS.SYS - GET VENDOR ID
10F6 - INT 10 - EGA Register Interface Library - REVERT TO DEFAULT REGISTERS
10F6 - INT 10 - VHRBIOS.SYS - GET INFO
10F7 - INT 10 - EGA Register Interface Library - DEFINE DEFAULT REGISTER TABLE
10FA--BX0000 - INT 10 - EGA Register Interface Library - INTERROGATE DRIVER
10FE - INT 10 - TopView - GET SHADOW BUFFER
10FF - INT 10 - TopView - UPDATE SCREEN FROM SHADOW BUFFER
10FF - INT 10 - VIDEO - Oak VGA BIOS v1.02+ - SET EMULATION
110225BX6900 - INT 11 - Blank-It Screen Blanker - INSTALLATION CHECK
110225BX6901 - INT 11 - Blank-It Screen Blanker - SET TIMEOUT FOR SCREEN BLANKING
110225BX6902 - INT 11 - Blank-It Screen Blanker - ENABLE THE SOFTWARE
110225BX6903 - INT 11 - Blank-It Screen Blanker - DISABLE THE SOFTWARE
110225BX6904 - INT 11 - Blank-It Screen Blanker - GET BLANKING TIMEOUT
110225BX6905 - INT 11 - Blank-It Screen Blanker - ENABLE WINDOWS COMPATIBILITY MODE
110225BX6906 - INT 11 - Blank-It Screen Blanker - DISABLE WINDOWS COMPATIBILITY MODE
110225BX6907 - INT 11 - Blank-It Screen Blanker - UNBLANK THE SCREEN
110225BX6908 - INT 11 - Blank-It Screen Blanker - BLANK THE SCREEN
110225BX6909 - INT 11 - Blank-It Screen Blanker - SET HOTKEY FOR MANUAL BLANKING
148100 - INT 14 - VIDEO FOSSIL - RETURN VFOSSIL INFORMATION
148101 - INT 14 - VIDEO FOSSIL - OPEN VFOSSIL
148102 - INT 14 - VIDEO FOSSIL - CLOSE VFOSSIL
148103 - INT 14 - VIDEO FOSSIL - UNINSTALL
14AA01 - INT 14 - DimVGA v2.0+ - INSTALLATION CHECK
14AA02 - INT 14 - DimVGA v2.0+ - SET TIME-OUT (DIMMING/BLANKING) PERIOD
14AA03 - INT 14 - DimVGA v2.0+ - SET DIMMING FACTOR
14AA04 - INT 14 - DimVGA v2.0+ - GET TIME-OUT PERIOD
14AA05 - INT 14 - DimVGA v2.0+ - GET DIMMING FACTOR
14AA06 - INT 14 - DimVGA v2.0+ - DISABLE
14AA07 - INT 14 - DimVGA v2.0+ - ENABLE
14AA08 - INT 14 - DimVGA v2.0+ - DIM SCREEN 'MANUALLY'
14AA09 - INT 14 - DimVGA v2.0+ - UNDIM SCREEN 'MANUALLY'
14AA0A - INT 14 - DimVGA v2.0+ - CHECK WHETHER ENABLED
14AA0B - INT 14 - DimVGA v2.1+ - SET HOTKEY
14AA0C - INT 14 - DimVGA v2.1+ - GET HOTKEY
14AA0D - INT 14 - DimVGA v3.0+ - SET MOUSE CHECK STATUS
14AA0E - INT 14 - DimVGA v3.0+ - GET MOUSE CHECK STATUS
14AA0F - INT 14 - DimVGA v3.4 - SET LOCKING STATUS
14AA10 - INT 14 - DimVGA v3.4 - GET MOUSE CHECK STATUS
1503 - INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE WRITE REGISTER
1504 - INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE READ REGISTER
1505 - INT 15 - Amstrad PC1512 - WRITE VDU GRAPHICS BORDER REGISTER
154000 - INT 15 - Compaq SLT/286 or Portable 386 - READ LCD/PLASMA TIMEOUT
154001 - INT 15 - Compaq SLT/286 or Portable 386 - SET LCD/PLASMA TIMEOUT
155F31 - INT 15 C - Chips & Technologies '65530' BIOS - POST INITIALIZATION NOTIFICATION
155F33 - INT 15 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
155F35 - INT 15 C - Chips & Technologies '65530' BIOS - MONITOR SENSING HOOK
15CCCC - INT 15 U - Toshiba laptops - VCHAD.EXE - INSTALLATION CHECK
16AA - INT 16 - PTxxx.COM - (xxx=CGA,EGA,VGA,HER...) CALL GATE FOR GRAPHICS
16CA00BX6570 - INT 16 - CtrlAlt Associates EGAPAL.COM v1.00 - INSTALLATION CHECK
16CA00BX7670 - INT 16 - CtrlAlt Associates VGAPAL.COM v1.00 - INSTALLATION CHECK
16FF - INT 16 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY ZOOM INTERRUPT
1760 - INT 17 - FLASHUP.COM - INSTALLATION CHECK
1761 - INT 17 - SPEEDSCR.COM - INSTALLATION CHECK
214402 - INT 21 - PGS1600.DEV - IOCTL - GET CONFIGURATION INFO
214402 - INT 21 - Compaq AG1024.SYS - RGDI - GET DRIVER LOCATION
214403 - INT 21 - PGS1600.DEV - IOCTL - SET CONFIGURATION???
214403 - INT 21 - Compaq AG1024.SYS - CPQ_MGES - IOCTL OUTPUT
214403 - INT 21 - Compaq AG1024.SYS - RGDI - IOCTL OUTPUT
217734 - INT 21 U - SCROLLit v1.7 - INSTALLATION CHECK
2D--10 - INT 2D - Burnout Plus v3.00 - GET STATE/CONTROL INFORMATION
2D--10 - INT 2D U - Screen Thief v1.00 - FREE HIGH MEMORY BUFFERS
2F1A00 - INT 2F - DOS 4.0+ ANSI.SYS - INSTALLATION CHECK
2F1A00BX414E - INT 2F - ANSIPLUS.SYS v2.00+ - INSTALLATION CHECK
2F1A00BX4156 - INT 2F - AVATAR.SYS - INSTALLATION CHECK
2F1A01 - INT 2F U - DOS 4.0+ ANSI.SYS internal - GET/SET DISPLAY INFORMATION
2F1A02 - INT 2F U - DOS 4.0+ ANSI.SYS internal - MISCELLANEOUS REQUESTS
2F1A21 - INT 2F - AVATAR.SYS - SET DRIVER STATE
2F1A3C - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A3E - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A3F - INT 2F - AVATAR.SYS - QUERY DRIVER STATE
2F1A44BX4156 - INT 2F - AVATAR.SYS v0.11+ - GET DATA SEGMENT
2F1A52 - INT 2F U - AVATAR.SYS v0.11 - GET ???
2F1A53 - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A72 - INT 2F U - AVATAR.SYS v0.11 - GET ??? SIZE
2F1A7B - INT 2F U - AVATAR.SYS v0.11 - ???
2F1A7D - INT 2F U - AVATAR.SYS v0.11 - ???
2F1AA3 - INT 2F - ANSIPLUS v4.03+ - GET/SET ANSIPLUS INTERNAL VARIABLES
2F1AA4 - INT 2F - ANSIPLUS v4.02+ - GET/SET ANSIPLUS SMOOTH SCROLLING RATE
2F1AA5 - INT 2F - ANSIPLUS v4.00+ - GET/SET ANSIPLUS CLIPBOARD
2F1AA6 - INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS DRIVER
2F1AA7 - INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS FEATURES
2F1AA8 - INT 2F - ANSIPLUS v3.10+ - GET NEXT ANSIPLUS SCROLLBACK LINE
2F1AA9 - INT 2F - ANSIPLUS v3.10+ - GET ANSIPLUS SCROLLBACK INFORMATION
2F1AAA - INT 2F - ANSIPLUS v3.01+ - GET/SET ANSIPLUS SCREEN SAVER BLANKING TIME
2F1AAB - INT 2F - ANSIPLUS v3.01+ - SET ANSIPLUS KEY REPEAT RATE
2F1AAC - INT 2F - ANSIPLUS v3.00+ - LOAD CHARACTER GENERATOR
2F1AAD - INT 2F - ANSIPLUS v2.00+ - ANSIPLUS DEVICE STATUS REPORT
2F1AADDX0000 - INT 2F U - AVATAR.SYS v0.11 - ???
2F2300 - INT 2F - DR DOS 5.0 GRAFTABL - INSTALLATION CHECK
2F23 - INT 2F - DR DOS 5.0 GRAFTABL - GET GRAPHICS DATA
2F2E00 - INT 2F U - Novell DOS 7 - GRAFTABL - INSTALLATION CHECK
2F2E - INT 2F U - Novell DOS 7 - GRAFTABL - GET FONT TABLE
2F3912BL03 - INT 2F - Kingswood ANSI display driver - SET COMPATIBILITY MODE
2F3912BL04 - INT 2F - Kingswood ANSI display driver - SET FLAGS
2F4021 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
2F4022 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
2F4023 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
2F4027 - INT 2F UC - Diamond Stealth64 Video - DMSSTL.DRV - ???
2F6400 - INT 2F - SCRNSAV2.COM - INSTALLATION CHECK
2F93 - INT 2F - InnerMission v1.7+ - INSTALLATION CHECK
2F96C7 - INT 2F U - STRETCH - INSTALLATION CHECK
2F9800 - INT 2F U - S3RMDRV.SYS - INSTALLATION CHECK / VERSION CHECK
2F9803 - INT 2F U - S3RMDRV.SYS - COPY ??? INTO USER BUFFER
2FAC00 - INT 2F - DOS 4.01+ GRAPHICS.COM - INSTALLATION CHECK
2FAC00DI1092 - INT 2F - QRIP/TSR - GIVE CPU TO QRIP
2FAC01DI1092 - INT 2F - QRIP/TSR - CHANGE INTERNAL FLAGS
2FAC02DI1092 - INT 2F - QRIP/TSR - TURN OFF GRAPHICS SCREEN
2FAC03DI1092 - INT 2F - QRIP/TSR - TURN ON GRAPHICS SCREEN
2FAC04DI1092 - INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
2FAC05DI1092 - INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
2FAC06DI1092 - INT 2F - QRIP/TSR - RECEIVE CHARACTERS FROM QRIP
2FAC07DI1092 - INT 2F - QRIP/TSR - GET FONT DIRECTORY
2FAC08DI1092 - INT 2F - QRIP/TSR - GET ICON DIRECTORY
2FAC09DI1092 - INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
2FAC0ADI1092 - INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
2FAC0BDI1092 - INT 2F - QRIP/TSR - EXECUTE RIP "END SCENE" COMMAND
2FAC0CDI1092 - INT 2F - QRIP/TSR - GET STRING TO BE SENT TO BBS
2FAC0DDI1092 - INT 2F - QRIP/TSR - SET PROTECTED SCREEN AREA
2FAC0EDI1092 - INT 2F - QRIP/TSR - WRITE ASCIZ STRING IN PROTECTED AREA
2FAC0FDI1092 - INT 2F - QRIP/TSR - SCROLL PROTECTED AREA
2FAC10DI1092 - INT 2F - QRIP/TSR - SET OUTPUT COLOR FOR PROTECTED AREA
2FAC11DI1092 - INT 2F - QRIP/TSR - CONVERT PROTECTED AREA TO ENTIRE SCREEN
2FAC12DI1092 - INT 2F - QRIP/TSR - BEGIN POPUP-WINDOW MODE
2FAC13DI1092 - INT 2F - QRIP/TSR - END POPUP-WINDOW MODE
2FAC14DI1092 - INT 2F - QRIP/TSR - SAVE GRAPHICS SCREEN AND SWITCH TO TEXT MODE
2FAC15DI1092 - INT 2F - QRIP/TSR - RESTORE GRAPHICS SCREEN
2FAC16DI1092 - INT 2F - QRIP/TSR - REPORT MODE CHANGE TO QRIP
2FAC17DI1092 - INT 2F - QRIP/TSR - CALL (EXECUTE) A RIP FILE
2FAC18DI1092 - INT 2F - QRIP/TSR - SEND USER KEY TO QRIP
2FAC19DI1092 - INT 2F - QRIP/TSR - HANGUP
2FAC1ADI1092 - INT 2F - QRIP/TSR - GET RIP_ENTER_BLOCK_MODE INFORMATION
2FAC1BDI1092 - INT 2F - QRIP/TSR - SET SYSTEM FONT SIZE
2FACF0DI1092 - INT 2F - QRIP/TSR - INSTALLATION CHECK
2FACFFDI1092 - INT 2F - QRIP/TSR - UNINSTALL
2FAD00 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - INSTALLATION CHECK
2FAD01 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - SET ACTIVE CODE PAGE
2FAD02 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET ACTIVE CODE PAGE
2FAD03 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET CODE PAGE INFORMATION
2FAD04 - INT 2F U - DOS 4.x only DISPLAY.SYS internal - ???
2FAD10 - INT 2F U - DOS 4.x DISPLAY.SYS internal - INSTALLATION CHECK???
2FAD10 - INT 2F U - DOS 5+ DISPLAY.SYS internal - ???
2FAD40 - INT 2F - DOS 4.0+ - ???
2FAD41 - INT 2F - Arabic/Hebrew DOS 5.0???+ - GET CURRENT FONTPAGE
2FAD42 - INT 2F - Arabic/Hebrew DOS 5.0???+ SET CURRENT FONTPAGE
2FAD43 - INT 2F - Arabic/Hebrew DOS 5.0???+ - GET FONTPAGE STATUS???
2FB000 - INT 2F - DOS 3.3+ GRAFTABL.COM - INSTALLATION CHECK
2FB001 - INT 2F - DOS 3.3+ GRAFTABL.COM - GET GRAPHICS FONT TABLE
2FBC00 - INT 2F - Windows 3.0, DOS 5+ EGA.SYS - INSTALLATION CHECK
2FBC06 - INT 2F U - MS Windows 3.0, DOS 5+ EGA.SYS - GET VERSION INFO
2FC000 - INT 2F - VGAsave v1.93 - INSTALLATION CHECK
2FC000 - INT 2F - AD-DOS - INSTALLATION CHECK
2FC000 - INT 2F - DIMWIT - INSTALLATION CHECK
2FC000 - INT 2F U - TSENGP.COM - INSTALLATION CHECK
2FC001 - INT 2F - DIMWIT - GET CONFIGURATION DATA
2FC001ES0000 - INT 2F - AD-DOS - GET RESIDENT CODE SEGMENT
2FC002 - INT 2F - AD-DOS - CHECK FOR NEW INPUT
2FC003 - INT 2F - AD-DOS - SET MINUTES TO WAIT
2FC004 - INT 2F - AD-DOS - GET MINUTES TO WAIT
2FC005 - INT 2F - AD-DOS - SET BLANKER STATUS
2FC006 - INT 2F - AD-DOS - GET BLANKER STATUS
2FC007 - INT 2F - AD-DOS - SET HOT KEY
2FC008 - INT 2F - AD-DOS - GET CURRENT HOT KEY
2FC009 - INT 2F - AD-DOS - UNBLANK MONITOR
2FC00A - INT 2F - AD-DOS - ???
2FC00B - INT 2F - AD-DOS - ???
2FC00C - INT 2F - AD-DOS - SET ??? INTERNAL FLAG TO 01h
2FC00E - INT 2F - AD-DOS - SET PASSWORD STATUS
2FC00F - INT 2F - AD-DOS - GET PASSWORD STATUS
2FC020 - INT 2F - AD-DOS - GET AND RESET VxD API STATUS
2FC04E - INT 2F - Explosiv v2.00+ - NON-TSR EXECUTING CHECK
2FC050 - INT 2F - Explosiv v2.00+ - INSTALLATION CHECK
2FC052 - INT 2F - Explosiv v2.00+ - UNINSTALL
2FC054 - INT 2F - Explosiv v2.x - GET ANIMATION DELAY FACTOR
2FC054 - INT 2F - Explosiv v3.0+ - UPDATE PARAMETERS
2FC055 - INT 2F - Explosiv v2.x - SET BLANKING INTERVAL
2FC056 - INT 2F - Explosiv v2.x - SET ANIMATION DISPLAY TYPE
2FC056 - INT 2F - Explosiv v3.0+ - ENABLE/DISABLE EXPLOSIV
2FC057 - INT 2F - Explosiv v2.x - SET ANIMATION DELAY FACTOR
2FC058 - INT 2F - Explosiv v2.x - SET ANIMATION PARAMETER
2FC058 - INT 2F - Explosiv v3.0+ - LOAD NEW ANIMATION DISPLAY CODE
2FC059 - INT 2F - Explosiv v2.x - DISABLE EXPLOSIV
2FC05A - INT 2F u - Explosiv v2.x - ENABLE EXPLOSIV
2FC05B - INT 2F - Explosiv v2.x - CHANGE ANIMATION DISPLAY
2FC05C - INT 2F - Explosiv v2.x - SET INT 10 CHECKING
2FC700CX434C - INT 2F u - COLAP - INSTALLATION CHECK
2FD201BX5649 - INT 2F u - Quarterdeck RPCI - VIDRAM v5.0+ - INSTALLATION CHECK
2FE300 - INT 2F - Blank - INSTALLATION CHECK
30 - INT 30 - QRIP/TSR - USED BY GRAPHICS LIBRARY
42 - INT 42 - VIDEO - RELOCATED DEFAULT INT 10 VIDEO SERVICES (EGA,VGA)
425F33 - INT 42 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
427500 - INT 42 U - Toshiba laptops - ???
427501 - INT 42 U - Toshiba laptop - GET ??? DATA
427502 - INT 42 U - Toshiba laptops - SET ??? DATA
427503 - INT 42 - Toshiba laptops - GET DISPLAY STATUS
427504 - INT 42 U - Toshiba laptops - ???
43 - INT 43 - VIDEO DATA - CHARACTER TABLE (EGA,MCGA,VGA)
44 - INT 44 - VIDEO DATA - ROM BIOS CHARACTER FONT, CHARACTERS 00h-7Fh (PCjr)
48 - INT 48 U - Compaq UILIB.EXE - API
481A70 - INT 48 U - Compaq UILIB.EXE - INSTALLATION CHECK
4901 - INT 49 - TI Professional PC - CRT - SET CURSOR SIZE AND TYPE
4902 - INT 49 - TI Professional PC - CRT - SET CURSOR POSITION
4903 - INT 49 - TI Professional PC - CRT - GET CURSOR POSTION AND TYPE
4906 - INT 49 - TI Professional PC - CRT - SCROLL UP/COPY WINDOW
4907 - INT 49 - TI Professional PC - CRT - SCROLL DOWN/COPY WINDOW
4908 - INT 49 - TI Professional PC - CRT - GET CHARACTER AND ATTRIBUTE AT POSITION
4909 - INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH ATTRIBUTE
490A - INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH CURRENT ATTRIBUTE
490E - INT 49 - TI Professional PC - CRT - TTY OUTPUT
4910 - INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH ATTRIBUTE
4911 - INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH CURR ATTRIB
4912 - INT 49 - TI Professional PC - CRT - FILL ENTIRE SCREEN WITH ATTRIBUTE
4913 - INT 49 - TI Professional PC - CRT - CLEAR ENTIRE TEXT SCREEN AND HOME CURSOR
4914 - INT 49 - TI Professional PC - CRT - CLEAR ENTIRE GRAPHICS SCREEN
4915 - INT 49 - TI Professional PC - CRT - SET PROTECTED STATUS AREA
4916 - INT 49 - TI Professional PC - CRT - SET ATTRIBUTE LATCH
4917 - INT 49 - TI Professional PC - CRT - GET START-OF-DISPLAY POINTER
4918 - INT 49 - TI Professional PC - CRT - PRINT TTY STRING
500000 - INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - OPEN TEXT WINDOW
500001 - INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - CLOSE TEXT WINDOW
500002 - INT 50 - Vanderaart TEXT WINDOWS - PUT CHARACTER IN WINDOW
500003 - INT 50 - Vanderaart TEXT WINDOWS - OUTPUT LINE TO WINDOW
500004 - INT 50 - Vanderaart TEXT WINDOWS - GET KEY
500005 - INT 50 - Vanderaart TEXT WINDOWS - CHANGE ATTRIBUTE
500006 - INT 50 - Vanderaart TEXT WINDOWS - EDIT LINE IN WINDOW
59 - INT 59 - GSS Computer Graphics Interface (GSS*CGI)
60 - INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK
60 - INT 60 - ATI M64VBE.COM - INSTALLATION SIGNATURE
60 - INT 60 U - Buffit v3.0 - (NOT A VECTOR!) - INSTALLATION CHECK
610000 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
610001 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
610002 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
610003 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
610004 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
610005 - INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
610006 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
610007 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
610008 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
620000 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCATE" - CREATE VIRTUAL VIDEO PAGE
620001 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCCMS" - CREATE LOGICAL VIDEO PAGE (CONV)
620002 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCEMS" - CREATE LOGICAL VIDEO PAGE (EMS)
620003 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCXMS" - CREATE LOGICAL VIDEO PAGE (XMS)
620004 - INT 62 u - FGDRIVER 1.10,3.03+ - "FG_AUTOMODE" - GET VIDEO MODE W/MOST FEATURES
620005 - INT 62 u - FGDRIVER v3.03+ - "FG_BESTMODE" - GET BEST VIDEO MODE GIVEN RESOLUTN
620006 - INT 62 u - FGDRIVER v3.03+ - "FG_BOX" - DRAW UNFILLED RECTANGLE
620007 - INT 62 u - FGDRIVER v3.03+ - "FG_BOXDEPTH" - SET RECTANGLE BORDER WIDTH
620008 - INT 62 u - FGDRIVER v3.03+ - "FG_BOXX" - XOR HOLLOW RECTANGLE
620009 - INT 62 u - FGDRIVER v3.03+ - "FG_BUTTON" - GET JOYSTICK BUTTON STATE
62000A - INT 62 u - FGDRIVER v3.03+ - "FG_CAPSLOCK" - GET STATE OF CAPSLOCK KEY
62000B - INT 62 u - FGDRIVER v3.03+ - "FG_CHGATTR" - APPLY CURRENT TEXT ATTRIB TO CHARS
62000C - INT 62 u - FGDRIVER v3.03+ - "FG_CHGTEXT" - DISPLAY STRING AT CURSOR POSITION
62000D - INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLE" - DRAW UNFILLED CIRCLE
62000E - INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLEF" - DRAW FILLED CIRCLE
62000F - INT 62 u - FGDRIVER v4.02 - "FG_CLIPMAP" - DISPLAY CLIPPED IMAGE (MODE-INDEP)
620010 - INT 62 u - FGDRIVER v4.02 - "FG_CLIPMASK" - DISPLAY CLIPPED IMAGE (MASKING MAP)
620011 - INT 62 u - FGDRIVER v4.02 - "FG_CLPIMAGE" - DISPLAY CLIPPED IMAGE (BITMAP)
620012 - INT 62 u - FGDRIVER v4.02 - "FG_CLPRECT" - DRAW FILLED RECTANGLE IN SCREEN SPCE
620013 - INT 62 u - FGDRIVER v4.02 - "FG_COLORS" - GET SIMULTANEOUSLY-AVAILABLE COLORS
620014 - INT 62 u - FGDRIVER v4.02 - "FG_COPYPAGE" - TRANSFER VIDEO PAGE CONTENTS
620015 - INT 62 u - FGDRIVER v4.02 - "FG_CURSOR" - SPECIFY WHETHER TEXT CURSR IS VISIBLE
620016 - INT 62 u - FGDRIVER v4.02 - "FG_DASH" - DRAW DASHED LINE TO ABSOLUTE POSITION
620017 - INT 62 u - FGDRIVER v4.02 - "FG_DASHREL" - DRAW DASHED LINE TO RELATVE POSITION
620018 - INT 62 u - FGDRIVER v4.02 - "FG_DEFCOLOR" - ASSIGN COLOR VALUE TO COLOR INDEX
620019 - INT 62 u - FGDRIVER v4.02 - "FG_DEFPAGES" - DEF SRC/DEST PAGES FOR BLOCK XFERS
62001A - INT 62 u - FGDRIVER v4.02 - "FG_DISPFILE" - DISPLAY STORED IMAGE
62001B - INT 62 u - FGDRIVER v4.02 - "FG_DISPLAY" - DISPLAY IMAGE (STD PIXEL RUN FORMAT)
62001C - INT 62 u - FGDRIVER v4.02 - "FG_DISPLAYP" - DISPLAY IMAGE (PACKED PIXEL RUNS)
62001D - INT 62 u - FGDRIVER v4.02 - "FG_DRAW" - DRAW SOLID LINE TO ABSOLUTE POSITION
62001E - INT 62 u - FGDRIVER v4.02 - "FG_DRAWMAP" - DISPLAY MODE-INDEPENDENT BIT MAP
62001F - INT 62 u - FGDRIVER v4.02 - "FG_DRAWMASK" - DISPLAY IMAGE (MASKING MAP)
620020 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWREL" - DRAW SOLID LINE TO RELATIVE POSITION
620021 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWRELX" - XOR SOLID LINE TO RELATIVE POSITION
620022 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWX" - XOR SOLID LINE TO ABSOLUTE POSITION
620023 - INT 62 u - FGDRIVER v4.02 - "FG_DRECT" - DRAW DITHERED RECTANGLE IN SCRN SPACE
620024 - INT 62 u - FGDRIVER v4.02 - "FG_DRWIMAGE" - DISPLAY BITMAPPED IMAGE
620025 - INT 62 u - FGDRIVER v4.02 - "FG_EGACHECK" - GET INFO ABOUT ACTIVE EGA DISPLAY
620026 - INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSE" - DRAW UNFILLED ELLIPSE IN SCRN SPACE
620027 - INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSEF" - DRAW FILLED ELLIPSE IN SCREEN SPACE
620028 - INT 62 u - FGDRIVER v4.02 - "FG_ERASE" - CLEAR THE ACTIVE VIDEO PAGE
620029 - INT 62 u - FGDRIVER v4.02 - "FG_FADEIN" - FADE IN HIDDEN PAGE
62002A - INT 62 u - FGDRIVER v4.02 - "FG_FADEOUT" - FADE OUT TO CURRENT COLOR
62002B - INT 62 u - FGDRIVER v4.02 - "FG_FILLPAGE" - FILL THE ACTIVE VIDEO PAGE
62002C - INT 62 u - FGDRIVER v4.02 - "FG_FINDPAGE" - FIND AVAILABLE VIRTUAL/LOGICAL PAGE
62002D - INT 62 u - FGDRIVER v4.02 - "FG_FLICDONE" - CLOSE FLIC FILE
62002E - INT 62 u - FGDRIVER v4.02 - "FG_FLICHEAD" - READ FLI/FLC FILE HEADER
62002F - INT 62 u - FGDRIVER v4.02 - "FG_FLICMODE" - GET OPTIMAL VIDEO MODE FOR FLI/FLC
620030 - INT 62 u - FGDRIVER v4.02 - "FG_FLICOPEN" - OPEN FLI/FLC FILE
620031 - INT 62 u - FGDRIVER v4.02 - "FG_FLICPLAY" - DISPLAY NEXT FRAME(S) IN FLI/FLC
620032 - INT 62 u - FGDRIVER v4.02 - "FG_FLICSIZE" - GET IMAGE SIZE
620033 - INT 62 u - FGDRIVER v4.02 - "FG_FLICSKIP" - SKIP FRAME(S) IN FLI/FLC FILE
620034 - INT 62 u - FGDRIVER v4.02 - "FG_FLIPMASK" - DISPLAY INV CLIPPED IMAGE (MASKMAP)
620035 - INT 62 u - FGDRIVER v4.02 - "FG_FLOOD" - FLOOD FILL ARBITRARY CLOSED REGION
620036 - INT 62 u - FGDRIVER v4.02 - "FG_FLPIMAGE" - DISPLAY INV CLIPPED IMAGE (BITMAP)
620037 - INT 62 u - FGDRIVER v4.02 - "FG_FONTSIZE" - SPECIFY FONT SIZE FOR TEXT OUTPUT
620038 - INT 62 u - FGDRIVER v4.02 - "FG_FREEPAGE" - FREE VIRTUAL OR LOGICAL VIDEO PAGE
620039 - INT 62 u - FGDRIVER v4.02 - "FG_GETADDR" - GET SEGMENT OF ACTIVE VIDEO PAGE
62003A - INT 62 u - FGDRIVER v4.02 - "FG_GETATTR" - GET CHARACTER ATTRIB FOR POSITION
62003B - INT 62 u - FGDRIVER v4.02 - "FG_GETBANKS" - GET SVGA READ AND WRITE BANKS
62003C - INT 62 u - FGDRIVER v4.02 - "FG_GETBLOCK" - GRAB RECTANGLE OF DISPLAY
62003D - INT 62 u - FGDRIVER v4.02 - "FG_GETCHAR" - GET CHARACTER FOR SCREEN POSITION
62003E - INT 62 u - FGDRIVER v4.02 - "FG_GETCLIP" - GET CLIPPING REGION IN SCREEN SPACE
62003F - INT 62 u - FGDRIVER v4.02 - "FG_GETCLOCK" - GET CLOCK TICKS SINCE MIDNIGHT
620040 - INT 62 u - FGDRIVER v4.02 - "FG_GETCOLOR" - GET CURRENT TEXT ATTRIBUTE
620041 - INT 62 u - FGDRIVER v4.02 - "FG_GETDACS" - GET VIDEO DAC CONTENTS
620042 - INT 62 u - FGDRIVER v4.02 - "FG_GETENTRY" - GET PAGE TYPE AND ADDRESS
620043 - INT 62 u - FGDRIVER v4.02 - "FG_GETHPAGE" - GET CURRENT HIDDEN VIDEO PAGE NUM
620044 - INT 62 u - FGDRIVER v4.02 - "FG_GETIMAGE" - STORE IMAGE AS BITMAP
620045 - INT 62 u - FGDRIVER v4.02 - "FG_GETINDEX" - GET COLOR VALUE FOR COLOR INDEX
620046 - INT 62 u - FGDRIVER v4.02 - "FG_GETKEY" - GET NEXT KEYSTROKE
620047 - INT 62 u - FGDRIVER v4.02 - "FG_GETLINES" - GET TEXT ROWS FOR CURR VIDEO MODE
620048 - INT 62 u - FGDRIVER v4.02 - "FG_GETMAP" - STORE IMAGE AS MODE-INDEPENDNT BITMAP
620049 - INT 62 u - FGDRIVER v4.02 - "FG_GETMAXX" - GET MAXIMUM COLUMN IN SCREEN SPACE
62004A - INT 62 u - FGDRIVER v4.02 - "FG_GETMAXY" - GET MAXIMUM ROW IN SCREEN SPACE
62004B - INT 62 u - FGDRIVER v4.02 - "FG_GETMODE" - GET CURRENT VIDEO MODE NUMBER
62004C - INT 62 u - FGDRIVER v4.02 - "FG_GETPAGE" - GET ACTIVE VIDEO PAGE NUMBER
62004D - INT 62 u - FGDRIVER v4.02 - "FG_GETPIXEL" - GET COLOR OF SPECIFIED PIXEL
62004E - INT 62 u - FGDRIVER v4.02 - "FG_GETRGB" - GET VIDEO DAC REGISTER CONTENTS
62004F - INT 62 u - FGDRIVER v4.02 - "FG_GETVIEW" - GET VIEWPORT EXTREME LIMITS
620050 - INT 62 u - FGDRIVER v4.02 - "FG_GETVPAGE" - GET VISIBLE VIDEO PAGE NUMBER
620051 - INT 62 u - FGDRIVER v4.02 - "FG_GETXBOX" - GET WIDTH OF VERTICAL BOX LINES
620052 - INT 62 u - FGDRIVER v4.02 - "FG_GETXJOY" - GET HORIZONTAL POSITION OF JOYSTICK
620053 - INT 62 u - FGDRIVER v4.02 - "FG_GETXJUST" - GET HORIZONTAL JUSTIFICATION
620054 - INT 62 u - FGDRIVER v4.02 - "FG_GETXPOS" - GET GRAPHICS CURSOR COLUMN
620055 - INT 62 u - FGDRIVER v4.02 - "FG_GETYBOX" - GET WIDTH OF HORIZONTAL BOX LINES
620056 - INT 62 u - FGDRIVER v4.02 - "FG_GETYJOY" - GET VERTICAL POSITION OF JOYSTICK
620057 - INT 62 u - FGDRIVER v4.02 - "FG_GETYJUST" - GET VERTICAL JUSTIFICATION
620058 - INT 62 u - FGDRIVER v4.02 - "FG_GETYPOS" - GET GRAPHICS CURSOR ROW
620059 - INT 62 u - FGDRIVER v4.02 - "FG_HUSH" - STOP ASYNCHRONOUS SOUND IMMEDIATELY
62005A - INT 62 u - FGDRIVER v4.02 - "FG_HUSHNEXT" - STOP ASYNCHRONOUS SOUND
62005B - INT 62 u - FGDRIVER v4.02 - "FG_IMAGEBUF" - SPECIFY TEMPORARY IMAGE BUFFER
62005C - INT 62 u - FGDRIVER v4.02 - "FG_IMAGESIZ" - DETERMINE IMAGE STORAGE REQUIREMENT
62005D - INT 62 u - FGDRIVER v4.02 - "FG_INITEMS" - INITIALIZE EXPANDED MEMORY USE
62005E - INT 62 u - FGDRIVER v4.02 - "FG_INITJOY" - INITIALIZE JOYSTICK USE
62005F - INT 62 u - FGDRIVER v4.02 - "FG_INITPM"??? - (NOT IMPLEMENTED)
620060 - INT 62 u - FGDRIVER v1.10 only - "FG_DISPPCX" - DISPLAY PCX FILE
620060 - INT 62 u - FGDRIVER v4.02 - "FG_INITXMS" - INITIALIZE EXTENDED MEMORY USE
620061 - INT 62 u - FGDRIVER v4.02 - "FG_INSIDE" - CHECK IF POINT INSIDE CONVEX POLYGON
620062 - INT 62 u - FGDRIVER v4.02 - "FG_INTJOY" - GET KEYCODES CORRESP TO JOYSTICK POS
620063 - INT 62 u - FGDRIVER v4.02 - "FG_INTKEY" - GET KEYSTROKE, NO WAIT
620064 - INT 62 u - FGDRIVER v4.02 - "FG_INVERT" - INVERT ORIENTATION OF BITMAP
620065 - INT 62 u - FGDRIVER v4.02 - "FG_JUSTIFY" - SET TEXT OUTPUT JUSTIFICATION
620066 - INT 62 u - FGDRIVER v4.02 - "FG_KBINIT" - ENABLE/DISABLE LOW-LEVEL KBD HANDLER
620067 - INT 62 u - FGDRIVER v4.02 - "FG_KBLAST" - GET MOST RECENT SCANCODE PROCESSED
620068 - INT 62 u - FGDRIVER v4.02 - "FG_KBRESET" - RESET LOW-LEVEL KEYBOARD HANDLER
620069 - INT 62 u - FGDRIVER v4.02 - "FG_KBTEST" - CHECK WHETHER SPECIFIED KEY PRESSED
62006A - INT 62 u - FGDRIVER v4.02 - "FG_LOADPCX" - LOAD .PCX INTO ACTIVE VIRTUAL BUFFER
62006B - INT 62 u - FGDRIVER v4.02 - "FG_LOCATE" - SET TEXT-MODE CURSOR POSITION
62006C - INT 62 u - FGDRIVER v4.02 - "FG_MAKEPCX" - CREATE PCX FILE FROM SCREEN WINDOW
62006D - INT 62 u - FGDRIVER v4.02 - "FG_MAKEPPR" - CREATE PACKED PIXEL RUN FILE
62006E - INT 62 u - FGDRIVER v4.02 - "FG_MAKESPR" - CREATE STANDARD PIXEL RUN FILE
62006F - INT 62 u - FGDRIVER v4.02 - "FG_MAPRGB" - MAP COLOR COMPONENTS INTO PALETTE VAL
620070 - INT 62 u - FGDRIVER v4.02 - "FG_MEASURE" - GET DELAY UNITS PER CLOCK TICK
620071 - INT 62 u - FGDRIVER v4.02 - "FG_MEMAVAIL" - QUERY AMOUNT OF FREE MEMORY
620072 - INT 62 u - FGDRIVER v4.02 - "FG_MEMORY" - GET SIZE OF VIDEO MEMORY
620073 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSE256" - DEFINE 256-COLOR MOUSE CURSOR
620074 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEBUT" - GET MOUSE BUTTON PRESS/RELEASE CNTS
620075 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSECUR" - SPECIFY TEXT-MODE MOUSE CURSOR
620076 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEFIN" - UNHOOK FASTGRAPH MOUSE HANDLER
620077 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEINI" - INITIALIZE MOUSE SUPPORT
620078 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSELIM" - SPECIFY MOUSE CURSOR LIMITS
620079 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEMOV" - SET MOUSE CURSOR POSITION
62007A - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPOS" - GET CURRENT MOUSE POSITION
62007B - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPTR" - SPECIFY GRAPH-MODE MOUSE CURSOR
62007C - INT 62 u - FGDRIVER v4.02 - "FG_MOUSESPD" - SET MOUSE CURSOR SPEED
62007D - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEVIS" - SET MOUSE CURSOR VISIBILITY
62007E - INT 62 u - FGDRIVER v4.02 - "FG_MOVE" - SET GRAPHICS CURSOR POSITION
62007F - INT 62 u - FGDRIVER v4.02 - "FG_MOVEREL" - ADJUST GRAPHICS CURSOR POSITION
620080 - INT 62 u - FGDRIVER v4.02 - "FG_MUSIC" - PLAY SERIES OF NOTES
620081 - INT 62 u - FGDRIVER v4.02 - "FG_MUSICB" - PLAY SERIES OF NOTES IN BACKGROUND
620082 - INT 62 u - FGDRIVER v4.02 - "FG_NUMLOCK" - GET STATE OF NUMLOCK KEY
620083 - INT 62 u - FGDRIVER v4.02 - "FG_PACK" - CONVERT PIXEL-PER-BYTE TO PACKED BITMAP
620084 - INT 62 u - FGDRIVER v4.02 - "FG_PAGESIZE" - GET VIDEO PAGE SIZE FOR CURR MODE
620085 - INT 62 u - FGDRIVER v4.02 - "FG_PAINT" - FLOOD CLOSED REGION WITH COLOR
620086 - INT 62 u - FGDRIVER v4.02 - "FG_PALETTE" - SET PALETTE / SET VIDEO DAC REGISTER
620087 - INT 62 u - FGDRIVER v4.02 - "FG_PALETTES" - SET ALL PALETTE REGISTERS
620088 - INT 62 u - FGDRIVER v4.02 - "FG_PAN" - SET SCREEN ORIGIN
620089 - INT 62 u - FGDRIVER v4.02 - "FG_PATTERN" - SPECIFY DISPLAY PATTERN FOR COLOR
62008A - INT 62 u - FGDRIVER v4.02 - "FG_PCXHEAD" - GET PCX FILE HEADER
62008B - INT 62 u - FGDRIVER v4.02 - "FG_PCXMODE" - GET OPTIMAL VIDEO MODE FOR DISPLAY
62008C - INT 62 u - FGDRIVER v4.02 - "FG_PCXPAL" - GET PALETTE STORED IN PCX FILE
62008D - INT 62 u - FGDRIVER v4.02 - "FG_PCXRANGE" - GET EXTENT OF PCX IMAGE
62008E - INT 62 u - FGDRIVER v4.02 - "FG_PLAYING" - DETERMINE WHETHER ASYNC SOUND ACTIVE
62008F - INT 62 u - FGDRIVER v4.02 - "FG_POINT" - DISPLAY A PIXEL
620090 - INT 62 u - FGDRIVER v4.02 - "FG_POINTX" - DISPLAY A PIXEL IN XOR MODE
620091 - INT 62 u - FGDRIVER v4.02 - "FG_POLYEDGE" - SPECIFY INCLUSION OF FINAL PIXELS
620092 - INT 62 u - FGDRIVER v4.02 - "FG_POLYFILL" - DRAW A FILLED CONVEX POLYGON
620093 - INT 62 u - FGDRIVER v4.02 - "FG_POLYGON" - DRAW AN UNFILLED POLYGON
620094 - INT 62 u - FGDRIVER v4.02 - "FG_POLYLINE" - DRAW AN UNFILLED POLYGON
620095 - INT 62 u - FGDRIVER v4.02 - "FG_POLYOFF" - DEFINE POLYGON DRAWING OFFSET
620096 - INT 62 u - FGDRIVER v4.02 - "FG_PRINT" - DISPLAY STRING OF HARDWARE CHARACTERS
620097 - INT 62 u - FGDRIVER v4.02 - "FG_PRINTC" - DISPLAY STRING OF HW CHARS (CLIPPED)
620098 - INT 62 u - FGDRIVER v4.02 - "FG_PUTBLOCK" - RESTORE RECTANGLE OF DISPLAY
620099 - INT 62 u - FGDRIVER v4.02 - "FG_PUTIMAGE" - DISPLAY MODE-SPECIFIC BITMAP IMAGE
62009A - INT 62 u - FGDRIVER v4.02 - "FG_QUIET" - STOP CONTINUOUS SYNCHRONOUS SOUND
62009B - INT 62 u - FGDRIVER v4.02 - "FG_RECT" - DRAW UNFILLED RECTANGLE IN SCREEN SPACE
62009C - INT 62 u - FGDRIVER v4.02 - "FG_RESET" - ERASE SCREEN AND RESTORE SCREEN ATTR
62009D - INT 62 u - FGDRIVER v4.02 - "FG_RESIZE" - SET GRAPHICS MODE VIDEO PAGE SIZE
62009E - INT 62 u - FGDRIVER v4.02 - "FG_RESTORE" - COPY REGION FROM HIDDEN TO VIS PAGE
62009F - INT 62 u - FGDRIVER v4.02 - "FG_RESUME" - RESTART ASYNCHRONOUS SOUND
6200A0 - INT 62 u - FGDRIVER v4.02 - "FG_REVIMAGE" - DISPLAY REVERSED IMAGE (BITMAP)
6200A1 - INT 62 u - FGDRIVER v4.02 - "FG_REVMASK" - DISPLAY REVERSED IMAGE (MASKING MAP)
6200A2 - INT 62 u - FGDRIVER v4.02 - "FG_SAVE" - COPY REGION FROM VISIBLE TO HIDDEN PAGE
6200A3 - INT 62 u - FGDRIVER v4.02 - "FG_SCALE" - SCALE BITMAP
6200A4 - INT 62 u - FGDRIVER v4.02 - "FG_SCRLOCK" - GET STATE OF SCROLL LOCK KEY
6200A5 - INT 62 u - FGDRIVER v4.02 - "FG_SCROLL" - VERTICALLY SCROLL SCREEN REGION
6200A6 - INT 62 u - FGDRIVER v4.02 - "FG_SETATTR" - SET TEXT-MODE CHARACTER ATTRIBUTE
6200A7 - INT 62 u - FGDRIVER v4.02 - "FG_SETBANKS" - SET SVGA READ AND WRITE BANKS
6200A8 - INT 62 u - FGDRIVER v4.02 - "FG_SETCAPS" - SET STATE OF CAPSLOCK KEY
6200A9 - INT 62 u - FGDRIVER v4.02 - "FG_SETCLIP" - SET CLIPPING REGION
6200AA - INT 62 u - FGDRIVER v4.02 - "FG_SETCOLOR" - SET CURRENT COLOR
6200AB - INT 62 u - FGDRIVER v4.02 - "FG_SETDACS" - SET VIDEO DAC CONTENTS
6200AC - INT 62 u - FGDRIVER v4.02 - "FG_SETENTRY" - SET TYPE AND ADDRESS OF VIDEO PAGE
6200AD - INT 62 u - FGDRIVER v4.02 - "FG_SETFUNC" - SET LOGICAL OPERATION FOR VIDEO OPS
6200AE - INT 62 u - FGDRIVER v4.02 - "FG_SETHPAGE" - SET HIDDEN VIDEO PAGE
6200AF - INT 62 u - FGDRIVER v4.02 - "FG_SETLINES" - SET TEXT ROWS ON SCREEN
6200B0 - INT 62 u - FGDRIVER v4.02 - "FG_SETMODE" - SELECT VIDEO MODE AND INITIALIZE
6200B1 - INT 62 u - FGDRIVER v4.02 - "FG_SETNUM" - SET STATE OF NUMLOCK KEY
6200B2 - INT 62 u - FGDRIVER v4.02 - "FG_SETPAGE" - SET ACTIVE VIDEO PAGE
6200B3 - INT 62 u - FGDRIVER v4.02 - "FG_SETRGB" - SET VIDEO DAC REGISTER CONTENTS
6200B4 - INT 62 u - FGDRIVER v4.02 - UNUSED
6200B5 - INT 62 u - FGDRIVER v4.02 - "FG_SETVIEW" - DEFINE VIEWPORT
6200B6 - INT 62 u - FGDRIVER v4.02 - "FG_SETVPAGE" - SET VISIBLE VIDEO PAGE
6200B7 - INT 62 u - FGDRIVER v4.02 - "FG_SHEAR" - SHEAR UNPACKED BITMAP
6200B8 - INT 62 u - FGDRIVER v4.02 - "FG_SHOWFLIC" - DISPLAY IMAGE FROM FLI/FLC FILE
6200B9 - INT 62 u - FGDRIVER v4.02 - "FG_SHOWPCX" - DISPLAY IMAGE FROM PCX FILE
6200BA - INT 62 u - FGDRIVER v4.02 - "FG_SHOWPPR" - DISPLAY IMAGE FROM PPR FILE
6200BB - INT 62 u - FGDRIVER v4.02 - "FG_SHOWSPR" - DISPLAY IMAGE FROM SPR FILE
6200BC - INT 62 u - FGDRIVER v4.02 - "FG_SOUND" - MAKE SOUND FOR SPECIFIED DURATION
6200BD - INT 62 u - FGDRIVER v4.02 - "FG_SOUNDS" - PLAY SOUNDS IN BACKGROUND
6200BE - INT 62 u - FGDRIVER v4.02 - "FG_SPLIT" - ENABLE/DISABLE SPLIT SCREEN ENVIRONMNT
6200BF - INT 62 u - FGDRIVER v4.02 - "FG_STALL" - PAUSE FOR SPECIFIED DURATION
6200C0 - INT 62 u - FGDRIVER v4.02 - "FG_SUSPEND" - TEMPORARILY STOP ASYNCHRONOUS SOUND
6200C1 - INT 62 u - FGDRIVER v4.02 - "FG_SVGAINIT" - INITIALIZE FASTGRAPH SVGA KERNEL
6200C2 - INT 62 u - FGDRIVER v4.02 - "FG_SVGASTAT" - GET SVGA CHIPSET INFORMATION
6200C3 - INT 62 u - FGDRIVER v4.02 - "FG_SVGAVER" - GET FASTGRAPH SVGA KERNEL VERSION
6200C4 - INT 62 u - FGDRIVER v4.02 - "FG_TCDEFINE" - DEFINE TRANSPARENCY OF COLOR INDEX
6200C5 - INT 62 u - FGDRIVER v4.02 - "FG_TCMASK" - SET TRANSPARENT COLORS
6200C6 - INT 62 u - FGDRIVER v4.02 - "FG_TCXFER" - COPY REGION EXCLUDING TRANSPARENT
6200C7 - INT 62 u - FGDRIVER v4.02 - "FG_TESTMODE" - CHECK IF VIDEO MODE AVAILABLE
6200C8 - INT 62 u - FGDRIVER v4.02 - "FG_TEXT" - DISPLAY STRING OF CHARACTERS
6200C9 - INT 62 u - FGDRIVER v4.02 - "FG_TEXTC" - DISPLAY STRING OF CHARACTERS (CLIPPED)
6200CA - INT 62 u - FGDRIVER v4.02 - "FG_TRANSFER" - COPY REGION
6200CB - INT 62 u - FGDRIVER v4.02 - "FG_UNPACK" - EXPAND MODE-SPECIFIC BITMAP
6200CC - INT 62 u - FGDRIVER v4.02 - "FG_VBADDR" - GET ADDRESS OF VIRTUAL BUFFER
6200CD - INT 62 u - FGDRIVER v4.02 - "FG_VBALLOC" - CREATE VIRTUAL BUFFER
6200CE - INT 62 u - FGDRIVER v4.02 - "FG_VBCLOSE" - CLOSE ACTIVE VIRTUAL BUFFER
6200CF - INT 62 u - FGDRIVER v4.02 - "FG_VBCOPY" - COPY RECT BETWEEN VIRTUAL BUFFERS
6200D0 - INT 62 u - FGDRIVER v4.02 - "FG_VBCUT" - COPY RECT FROM VIDEO TO VIRTUAL BUFFER
6200D1 - INT 62 u - FGDRIVER v4.02 - "FG_VBDEFINE" - CREATE VIRTUAL BUFFER
6200D2 - INT 62 u - FGDRIVER v4.02 - "FG_VBFREE" - RELEASE VIRTUAL BUFFER
6200D3 - INT 62 u - FGDRIVER v4.02 - "FG_VBHANDLE" - GET ACTIVE VIRTUAL BUFFER'S HANDLE
6200D4 - INT 62 u - FGDRIVER v4.02 - "FG_VBINIT" - INITIALIZE VIRTUAL BUFFER ENVIRONMENT
6200D5 - INT 62 u - FGDRIVER v4.02 - "FG_VBOPEN" - MAKE VIRTUAL BUFFER ACTIVE
6200D6 - INT 62 u - FGDRIVER v4.02 - "FG_VBPASTE" - COPY RECT FROM VIRTUAL BUF TO VIDEO
6200D7 - INT 62 u - FGDRIVER v4.02 - "FG_VBTCCOPY" - COPY RECTANGLE BETWEEN VIRTUAL BUFS
6200D8 - INT 62 u - FGDRIVER v4.02 - "FG_VBTCXFER" - COPY RECTANGLE TO ACTIVE VIDEO PAGE
6200D9 - INT 62 u - FGDRIVER v4.02 - "FG_VBUNDEF" - RELEASE HANDLE FOR VIRTUAL BUFFER
6200DA - INT 62 u - FGDRIVER v4.02 - "FG_VGASTATE" - SAVE/RESTORE VGA CONTROLLER STATE
6200DB - INT 62 u - FGDRIVER v4.02 - "FG_VOICE" - START SOUND
6200DC - INT 62 u - FGDRIVER v4.02 - "FG_VOICES" - PLAY SOUNDS IN BACKGROUND
6200DD - INT 62 u - FGDRIVER v4.02 - "FG_WAITFOR" - DELAY FOR SPECIFIED DURATION
6200DE - INT 62 u - FGDRIVER v4.02 - "FG_WAITKEY" - FLUSH KEYBOARD BUFFER AND AWAIT KEY
6200DF - INT 62 u - FGDRIVER v4.02 - "FG_WAITVR" - ENABLE/DISABLE VERTICAL RETRACE WAIT
6200E0 - INT 62 u - FGDRIVER v4.02 - "FG_WHERE" - GET CURRENT CURSOR POSITION
6200E1 - INT 62 u - FGDRIVER v4.02 - "FG_XALPHA" - CONVERT SCREEN COLUMN TO CHAR COLUMN
6200E2 - INT 62 u - FGDRIVER v4.02 - "FG_XCONVERT" - CONVERT CHAR COLUMN TO SCREEN COL
6200E3 - INT 62 u - FGDRIVER v4.02 - "FG_XVIEW" - CONVERT VIEWPORT COORDINATE
6200E4 - INT 62 u - FGDRIVER v4.02 - "FG_YALPHA" - CONVERT SCREEN ROW TO CHARACTER ROW
6200E5 - INT 62 u - FGDRIVER v4.02 - "FG_YCONVERT" - CONVERT CHARACTER ROW TO SCREEN ROW
6200E6 - INT 62 u - FGDRIVER v4.02 - "FG_YVIEW" - TRANSLATE VERTICAL VIEWPORT COORDINATE
6D - INT 6D - VIDEO - many VGA - VIDEO BIOS ENTRY POINT
6D - INT 6D - Trident SVGA - VIDEO BIOS HANDLER
6DBD60 - INT 6D U - Matrox Multiple Monitor Support v1.0 - ???
6DBD61 - INT 6D U - Matrox Multiple Monitor Support v1.0 - GET VIDEO MODE INFORMATION
6DBD6F - INT 6D U - Matrox Multiple Monitor Support v1.0 - INSTALLATION CHECK
6DBDFF - INT 6D U - Matrox Multiple Monitor Support v1.0 - UNHOOK INTERRUPT (UNINSTALL)
79 - INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
7F - INT 7F - Halo88 - API
7F01 - INT 7F - TIGA Communications Driver v2.05 - GET ENTRY POINTS
7F0105 - INT 7F - IBM 8514/A Adapter Interface (HDILOAD.EXE)
7F0105 - INT 7F - IBM XGA Adapter Interface (XGAAIDOS.SYS)
7F0106 - INT 7F - HDILOAD Mach32 Adapter Interface - UNINSTALL
7F1234 - INT 7F - TIGA Communications Driver v2.05 - UNINSTALL
7F2525 - INT 7F - TIGA Communications Driver v2.05 - ???
7F4321 - INT 7F - TIGA Communications Driver v2.05 - INSTALLATION CHECK
7F5555 - INT 7F - TIGA Communications Driver v2.05 - ???
7FABCDBX0000 - INT 7F - IBM 8516 Touch Screen Device Driver - GET API ENTRY
FF----BX0000 - INT FF - PC/FORTH - GRAPHICS API - VIDEO STATUS CHANGE
FF - INT FF - PC/FORTH - GRAPHICS API
Top

W - MS Windows,

20----Vx0001 - INT 20 P - Microsoft Windows - VMM - VxD SERVICES
20----Vx0002 - INT 20 P - Microsoft Windows - DEBUG - VxD SERVICES
20----Vx0003 - INT 20 P - Microsoft Windows - VPICD - VxD SERVICES
20----Vx0004 - INT 20 P - Microsoft Windows - VDMAD - VxD SERVICES
20----Vx0005 - INT 20 P - Microsoft Windows - VTD - VxD SERVICES
20----Vx0006 - INT 20 P - Microsoft Windows - V86MMGR - VxD SERVICES
20----Vx0007 - INT 20 P - Microsoft Windows - PageSwap - VxD SERVICES
20----Vx0009 - INT 20 P - Microsoft Windows - REBOOT - VxD SERVICES
20----Vx000A - INT 20 P - Microsoft Windows - VDD - VxD SERVICES
20----Vx000B - INT 20 P - Microsoft Windows - VSD - VxD SERVICES
20----Vx000C - INT 20 P - Microsoft Windows - VMD / VMOUSE - VxD SERVICES
20----Vx000D - INT 20 P - Microsoft Windows - VKD - VxD SERVICES
20----Vx000E - INT 20 P - Microsoft Windows - VCD - VxD SERVICES
20----Vx0010 - INT 20 P - Microsoft Windows - BlockDev / IOS - VxD SERVICES
20----Vx0011 - INT 20 P - Microsoft Windows - VMCPD - VxD SERVICES
20----Vx0012 - INT 20 P - Microsoft Windows - EBIOS - VxD SERVICES
20----Vx0014 - INT 20 P - Microsoft Windows - VNETBIOS - VxD SERVICES
20----Vx0015 - INT 20 P - Microsoft Windows - DOSMGR - VxD SERVICES
20----Vx0017 - INT 20 P - Microsoft Windows - SHELL - VxD SERVICES
20----Vx0018 - INT 20 P - Microsoft Windows - VMPoll - VxD SERVICES
20----Vx001A - INT 20 P - Microsoft Windows - DOSNET - VxD SERVICES
20----Vx001B - INT 20 P - Microsoft Windows - VFD - VxD SERVICES
20----Vx001C - INT 20 P - Microsoft Windows - LoadHi - VxD SERVICES
20----Vx0020 - INT 20 P - Microsoft Windows - Int13 - VxD SERVICES
20----Vx0021 - INT 20 P - Microsoft Windows - PAGEFILE - VxD SERVICES
20----Vx0026 - INT 20 P - Microsoft Windows - VPOWERD - VxD SERVICES
20----Vx0027 - INT 20 P - Microsoft Windows - VXDLDR - VxD SERVICES
20----Vx0028 - INT 20 P - Microsoft Windows - NDIS - VxD SERVICES
20----Vx002A - INT 20 P - Microsoft Windows - VWIN32 - VxD SERVICES
20----Vx002B - INT 20 P - Microsoft Windows - VCOMM - VxD SERVICES
20----Vx002C - INT 20 P - Microsoft Windows - SPOOLER - VxD SERVICES
20----Vx0032 - INT 20 P - Microsoft Windows - VSERVER - VxD SERVICES
20----Vx0033 - INT 20 P - Microsoft Windows - CONFIGMG - VxD SERVICES
20----Vx0034 - INT 20 P - Microsoft Windows - DWCFGMG.SYS - VxD SERVICES
20----Vx0036 - INT 20 P - Microsoft Windows - VFBACKUP - VxD SERVICES
20----Vx0037 - INT 20 P - Microsoft Windows - VMINI / ENABLE - VxD SERVICES
20----Vx0038 - INT 20 P - Microsoft Windows - VCOND - VxD SERVICES
20----Vx003D - INT 20 P - Microsoft Windows - BIOS - VxD SERVICES
20----Vx003E - INT 20 P - Microsoft Windows - WSOCK - VxD SERVICES
20----Vx0040 - INT 20 P - Microsoft Windows - IFSMgr - VxD SERVICES
20----Vx0041 - INT 20 P - Microsoft Windows - VCDFSD - VxD SERVICES
20----Vx0048 - INT 20 P - Microsoft Windows - PERF - VxD SERVICES
20----Vx004A - INT 20 P - Microsoft Windows - MTRR - VxD SERVICES
20----Vx004B - INT 20 P - Microsoft Windows - NTKERN - VxD SERVICES
20----Vx011F - INT 20 P - Microsoft Windows - VFLATD - VxD SERVICES
20----Vx0449 - INT 20 P - Microsoft Windows - vjoyd - VxD SERVICES
20----Vx044A - INT 20 P - Microsoft Windows - mmdevldr - VxD SERVICES
20----Vx0480 - INT 20 P - Microsoft Windows - VNetSup - VxD SERVICES
20----Vx0481 - INT 20 P - Microsoft Windows - VREDIR - VxD SERVICES
20----Vx0483 - INT 20 P - Microsoft Windows - VSHARE - VxD SERVICES
20----Vx0487 - INT 20 P - Microsoft Windows - NWLINK - VxD SERVICES
20----Vx0488 - INT 20 P - Microsoft Windows - VTDI - VxD SERVICES
20----Vx0489 - INT 20 P - Microsoft Windows - VIP - VxD SERVICES
20----Vx048A - INT 20 P - Microsoft Windows - MSTCP - VxD SERVICES
20----Vx048B - INT 20 P - Microsoft Windows - VCACHE - VxD SERVICES
20----Vx048E - INT 20 P - Microsoft Windows - NWREDIR - VxD SERVICES
20----Vx0491 - INT 20 P - Microsoft Windows - FILESEC - VxD SERVICES
20----Vx0492 - INT 20 P - Microsoft Windows - NWSERVER - VxD SERVICES
20----Vx0493 - INT 20 P - Microsoft Windows - MSSP / NWSP - VxD SERVICES
20----Vx0494 - INT 20 P - Microsoft Windows - NSCL - VxD SERVICES
20----Vx0495 - INT 20 P - Microsoft Windows - AFVXD - VxD SERVICES
20----Vx0496 - INT 20 P - Microsoft Windows - NDIS2SUP - VxD SERVICES
20----Vx0498 - INT 20 P - Microsoft Windows - Splitter - VxD SERVICES
20----Vx0499 - INT 20 P - Microsoft Windows - PPPMAC - VxD SERVICES
20----Vx049A - INT 20 P - Microsoft Windows - VDHCP - VxD SERVICES
20----Vx049B - INT 20 P - Microsoft Windows - VNBT - VxD SERVICES
20----Vx049D - INT 20 P - Microsoft Windows - LOGGER - VxD SERVICES
20----Vx097C - INT 20 P - Microsoft Windows - PCCARD - VxD SERVICES
20----Vx3098 - INT 20 P - QEMM - VstlthD - VxD SERVICES
20----Vx30F6 - INT 20 P - Microsoft Windows - WSVV - VxD SERVICES
20----Vx33FC - INT 20 P - Microsoft Windows - ASPIENUM - VxD SERVICES
20----Vx357E - INT 20 P - Microsoft Windows - DSOUND - VxD SERVICES
20----Vx39E6 - INT 20 P - Microsoft Windows - A3D - VxD SERVICES
20----Vx3BFD - INT 20 P - Microsoft Windows - CWCPROXY - VxD SERVICES
20----Vx3C78 - INT 20 P - Microsoft Windows - VGARTD - VxD SERVICES
2F1600 - INT 2F - MS Windows - WINDOWS ENHANCED MODE INSTALLATION CHECK
2F1602 - INT 2F - MS Windows/386 2.x - GET API ENTRY POINT
2F1603 - INT 2F C - MS Windows/386 - GET INSTANCE DATA
2F1605 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX INIT BROADCAST
2F1606 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX EXIT BROADCAST
2F1607 - INT 2F C - MS Windows - VIRTUAL DEVICE CALL OUT API
2F1607BX0006 - INT 2F C - MS Windows - "V86MMGR" VIRTUAL DEVICE API
2F1607BX000C - INT 2F C - MS Windows - "VMD" VIRTUAL MOUSE DEVICE API
2F1607BX000D - INT 2F C - MS Windows95 - "VKD" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0010 - INT 2F C - MS Windows 3.1 - "BLOCKDEV" VIRTUAL HARD DISK DEVICE API
2F1607BX0014 - INT 2F C - MS Windows - "VNETBIOS" VIRTUAL DEVICE API
2F1607BX0018 - INT 2F C - MS Windows - "VMPoll" VIRTUAL DEVICE - IDLE CALLOUT
2F1607BX0021 - INT 2F C - MS Windows - "PageFile" VIRTUAL DEVICE - GET LOCK BYTE
2F1607BX002D - INT 2F C - MS Windows - "W32S" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0040 - INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0446 - INT 2F C - MS Windows - "VADLIBD" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0484 - INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX0487 - INT 2F C - MS Windows - "NWSUP" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX28A1 - INT 2F C - MS Windows - "PharLap" VIRTUAL DEVICE - ??? CALLOUT
2F1607BX7A5F - INT 2F C - MS Windows - "SIWVID" VIRTUAL DEVICE - ??? CALLOUT
2F1608 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE INIT COMPLETE BROADCAST
2F1609 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE BEGIN EXIT BROADCAST
2F160A - INT 2F - MS Windows 3.1 - IDENTIFY WINDOWS VERSION AND TYPE
2F160B - INT 2F - MS Windows 3.1 - IDENTIFY TSRs
2F160C - INT 2F - MS Windows 3.1 - DETECT ROMs
2F1680 - INT 2F - MS Windows, DPMI, various - RELEASE CURRENT VIRTUAL MACHINE TIME-SLICE
2F1681 - INT 2F - MS Windows 3+ - BEGIN CRITICAL SECTION
2F1682 - INT 2F - MS Windows 3+ - END CRITICAL SECTION
2F1683 - INT 2F - MS Windows 3+ - GET CURRENT VIRTUAL MACHINE ID
2F1684 - INT 2F - MS Windows - GET DEVICE API ENTRY POINT
2F1684BX0001 - INT 2F - MS Windows95 - VMM - GET API ENTRY POINT
2F1684BX0003 - INT 2F - MS Windows - VPICD - GET API ENTRY POINT
2F1684BX0005 - INT 2F - MS Windows - VTD - GET API ENTRY POINT
2F1684BX0006 - INT 2F P - MS Windows95 - V86MMGR - GET API ENTRY POINT
2F1684BX0009 - INT 2F P - MS Windows - REBOOT - GET API ENTRY POINT
2F1684BX000A - INT 2F P - MS Windows - VDD - GET API ENTRY POINT
2F1684BX000C - INT 2F - MS Windows - VMD - GET API ENTRY POINT
2F1684BX000D - INT 2F P - MS Windows - VKD - GET API ENTRY POINT
2F1684BX000E - INT 2F P - MS Windows - VCD - GET API ENTRY POINT
2F1684BX000F - INT 2F P - MS Windows - VPD - GET API ENTRY POINT
2F1684BX0010 - INT 2F - MS Windows - IOS - GET API ENTRY POINT
2F1684BX0011 - INT 2F - MS Windows - VMCPD - GET API ENTRY POINT
2F1684BX0015 - INT 2F - MS Windows - DOSMGR - GET API ENTRY POINT
2F1684BX0017 - INT 2F U - MS Windows - SHELL - GET API ENTRY POINT
2F1684BX001A - INT 2F - MS Windows - VNETWARE - GET API ENTRY POINT
2F1684BX001D - INT 2F P - MS Windows - WINDEBUG - GET API ENTRY POINT
2F1684BX0021 - INT 2F PU - MS Windows - PAGEFILE - GET API ENTRY POINT
2F1684BX0022 - INT 2F P - MS Windows - APIX - GET API ENTRY POINT
2F1684BX0026 - INT 2F P - MS Windows - VPOWERD - GET API ENTRY POINT
2F1684BX0027 - INT 2F - MS Windows95 - VXDLDR - GET API ENTRY POINT
2F1684BX0028 - INT 2F - MS Windows - NDIS - GET API ENTRY POINT
2F1684BX002A - INT 2F P - MS Windows - VWIN32 - GET API ENTRY POINT
2F1684BX002B - INT 2F - MS Windows - VCOMM - GET API ENTRY POINT
2F1684BX002D - INT 2F P - MS Windows - W32S - GET API ENTRY POINT
2F1684BX0030 - INT 2F P - MS Windows - MACH32 - GET API ENTRY POINT
2F1684BX0032 - INT 2F - MS Windows - SERVER / VSERVER - GET API ENTRY POINT
2F1684BX0033 - INT 2F - MS Windows - CONFIGMG - GET API ENTRY POINT
2F1684BX0036 - INT 2F - MS Windows - VFBACKUP - GET API ENTRY POINT
2F1684BX0037 - INT 2F - MS Windows - ENABLE.VXD - GET API ENTRY POINT
2F1684BX0038 - INT 2F - MS Windows - VCOND - GET API ENTRY POINT
2F1684BX003B - INT 2F - MS Windows - DSVXD - GET API ENTRY POINT
2F1684BX003D - INT 2F - MS Windows - BIOS VxD - GET API ENTRY POINT
2F1684BX003E - INT 2F - MS Windows - WSOCK - GET API ENTRY POINT
2F1684BX011F - INT 2F P - MS Windows - VFLATD - GET API ENTRY POINT
2F1684BX0200 - INT 2F - MS Windows - VIPX - GET API ENTRY POINT
2F1684BX0202 - INT 2F - MS Windows - WINICE - GET API ENTRY POINT
2F1684BX0203 - INT 2F P - MS Windows - VCLIENT - GET API ENTRY POINT
2F1684BX0205 - INT 2F - MS Windows - BCW - GET API ENTRY POINT
2F1684BX0207 - INT 2F R - MS Windows - DPMS VxD - GET API ENTRY POINT
2F1684BX0234 - INT 2F - MS Windows - VCOMMUTE - GET API ENTRY POINT
2F1684BX0442 - INT 2F P - MS Windows - VTDAPI - GET API ENTRY POINT
2F1684BX0444 - INT 2F - MS Windows - VADMAD - GET API ENTRY POINT
2F1684BX0445 - INT 2F - MS Windows - VSBD - GET API ENTRY POINT
2F1684BX0446 - INT 2F - MS Windows - VADLIBD - GET API ENTRY POINT
2F1684BX0449 - INT 2F P - MS Windows - vjoyd - GET API ENTRY POINT
2F1684BX044A - INT 2F - MS Windows - mmdevldr - GET API ENTRY POINT
2F1684BX045D - INT 2F P - MS Windows - VflatD - GET API ENTRY POINT
2F1684BX045F - INT 2F - MS Windows - azt16 - GET API ENTRY POINT
2F1684BX0460 - INT 2F P - MS Windows - UNIMODEM - GET API ENTRY POINT
2F1684BX0480 - INT 2F - MS Windows - VNetSup - GET API ENTRY POINT
2F1684BX0482 - INT 2F - MS Windows - VBrowse - GET API ENTRY POINT
2F1684BX0483 - INT 2F - MS Windows - VSHARE - GET API ENTRY POINT
2F1684BX0484 - INT 2F P - MS Windows - IFSMgr - GET API ENTRY POINT
2F1684BX0486 - INT 2F - MS Windows - VFAT - GET API ENTRY POINT
2F1684BX0487 - INT 2F - MS Windows - NWLINK - GET API ENTRY POINT
2F1684BX0489 - INT 2F R - MS Windows - VIP - GET API ENTRY POINT
2F1684BX048A - INT 2F - MS Windows 3.11 - VXDLDR - GET API ENTRY POINT
2F1684BX048A - INT 2F - MS Windows - VCACHE - GET API ENTRY POINT
2F1684BX048D - INT 2F - MS Windows - RASMAC - GET API ENTRY POINT
2F1684BX048E - INT 2F - MS Windows - NWREDIR - GET API ENTRY POINT
2F1684BX0494 - INT 2F - MS Windows - NSCL - GET API ENTRY POINT
2F1684BX0499 - INT 2F - MS Windows - PPPMAC - GET API ENTRY POINT
2F1684BX049A - INT 2F - MS Windows - VDHCP - GET API ENTRY POINT
2F1684BX049B - INT 2F - MS Windows - VNBT - GET API ENTRY POINT
2F1684BX1021 - INT 2F - MS Windows - VMB - GET API ENTRY POINT
2F1684BX28A0 - INT 2F - MS Windows - PHARLAPX - GET API ENTRY POINT
2F1684BX28A1 - INT 2F - MS Windows - PharLap VxD - GET API ENTRY POINT
2F1684BX2925 - INT 2F - MS Windows - EDOS - GET API ENTRY POINT
2F1684BX292D - INT 2F - MS Windows - VSBPD - GET API ENTRY POINT
2F1684BX295A - INT 2F - MS Windows - GRVSULTR - GET API ENTRY POINT
2F1684BX3099 - INT 2F - MS Windows - VVidramD - GET API ENTRY POINT
2F1684BX30F6 - INT 2F P - MS Windows - WSVV - GET API ENTRY POINT
2F1684BX310E - INT 2F - MS Windows - WPS - GET API ENTRY POINT
2F1684BX3110 - INT 2F - MS Windows - VSGLX16.386 - GET API ENTRY POINT
2F1684BX31CF - INT 2F - MS Windows - STAT.386 - GET API ENTRY POINT
2F1684BX34DC - INT 2F - QEMM v8.01 - MAGNARAM VxD - GET API ENTRY POINT
2F1684BX357E - INT 2F - MS Windows - DSOUND - GET API ENTRY POINT
2F1684BX38DA - INT 2F - MS Windows - VIWD - GET API ENTRY POINT
2F1684BX4321 - INT 2F - MS Windows - POSTMSG - GET API ENTRY POINT
2F1684BX7FE0 - INT 2F - MS Windows - VSWITCHD - GET API ENTRY POINT
2F1684BX8888 - INT 2F - MS Windows - VbillD - GET API ENTRY POINT
2F1685 - INT 2F - MS Windows - SWITCH VMs AND CALLBACK
2F1688BX0BAD - INT 2F U - MS Windows 3.0, 386MAX v6.01 - GET ALIAS SELECTOR TO LDT
2F1689 - INT 2F U - MS Windows 3.0+ - KERNEL IDLE CALL
2F168B - INT 2F - MS Windows 3.1 - SET FOCUS TO SPECIFIED VIRTUAL MACHINE
2F168C - INT 2F - MS Windows 3.1 - RESTART COMMAND
2F168EDX0000 - INT 2F - Windows95 - TITLE - SET APPLICATION TITLE
2F168EDX0001 - INT 2F - Windows95 - TITLE - SET VIRTUAL MACHINE TITLE
2F168EDX0002 - INT 2F - Windows95 - TITLE - GET APPLICATION TITLE
2F168EDX0003 - INT 2F - Windows95 - TITLE - GET VIRTUAL MACHINE TITLE
2F168FDH00 - INT 2F - Windows95 - CLOSE-AWARENESS - ENABLE/DISABLE CLOSE COMMAND
2F168FDH01 - INT 2F - Windows95 - CLOSE-AWARENESS - QUERY CLOSE
2F168FDH02 - INT 2F - Windows95 - CLOSE-AWARENESS - ACKNOWLEDGE CLOSE
2F168FDH03 - INT 2F - Windows95 - CLOSE-AWARENESS - CANCEL CLOSE
2F1700 - INT 2F - MS Windows "WINOLDAP" - IDENTIFY WinOldAp VERSION
2F1701 - INT 2F - MS Windows "WINOLDAP" - OPEN CLIPBOARD
2F1702 - INT 2F - MS Windows "WINOLDAP" - EMPTY CLIPBOARD
2F1703 - INT 2F - MS Windows "WINOLDAP" - SET CLIPBOARD DATA
2F1704 - INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA SIZE
2F1705 - INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA
2F1708 - INT 2F - MS Windows "WINOLDAP" - CloseClipboard
2F1709 - INT 2F - MS Windows "WINOLDAP" - COMPACT CLIPBOARD
2F170A - INT 2F - MS Windows "WINOLDAP" - GET DEVICE CAPABILITIES
2F4000 - INT 2F - Windows 3+ (OS/2 2.x???) - GET VIRTUAL DEVICE DRIVER (VDD) CAPABILTIES
2F4003 - INT 2F - Windows 3.x - ENTERING VIDEO DRIVER CRITICAL SECTION
2F4004 - INT 2F - Windows 3.x - EXITING VIDEO DRIVER CRITICAL SECTION
2F4005 - INT 2F C - Windows 3.x - SWITCHING DOS TO BACKGROUND
2F4006 - INT 2F C - Windows 3.x - SWITCHING DOS TO FOREGROUND
2F4007 - INT 2F - Windows 3.x - ENABLE VDD TRAPPING OF VIDEO REGISTERS
2F4680 - INT 2F U - MS Windows v3.0 - INSTALLATION CHECK
2F4B06 - INT 2F - MS Windows - WIN.COM - GET ??? POINTER TO WIN.COM
2F4B20 - INT 2F - MS Windows 3+ - WIN.COM - SET PROGRAM TO EXECUTE ON EXIT
2F4B21 - INT 2F - Windows95 - WIN.COM - GET NESTING LEVEL
2F4B80 - INT 2F - MS Windows - WSWAP.EXE - RESET INTERNAL VARIABLES
2FF200 - INT 2F - WINX - INSTALLATION CHECK
2FF201 - INT 2F - WINX - RETURN ADDRESS OF SERVER BUFFER
2FF202 - INT 2F - WINX - SET SERVER'S WORKING DIRECTORY
2FF203 - INT 2F - WINX - EXECUTE COMMAND
30 - INT 30 P - MS Windows 3.1+ - PROTECTED-MODE CALLBACK
66 - INT 66 - Microsoft Windows VITD.386 Virtual Interval Timer
6847 - INT 68 - MS Windows debugging kernel - OUTPUT STRING
6F0204 - INT 6F C - MS Windows 3.0 - DOS APPLICATION SWITCH HOOK
Top

X - expansion bus BIOSes

1553B0BH00 - INT 15 - Intel System Management Bus - RESERVED
1553B0BH01 - INT 15 - Intel System Management Bus - INSTALLATION CHECK
1553B0BH02 - INT 15 - Intel System Management Bus - REAL MODE CONNECT
1553B0BH03 - INT 15 - Intel System Management Bus - 16-BIT PROTECTED-MODE CONNECT
1553B0BH04 - INT 15 - Intel System Management Bus - 32-BIT PROTECTED-MODE CONNECT
1553B0BH05 - INT 15 - Intel System Management Bus - DISCONNECT
1553B0BH06 - INT 15 - Intel System Management Bus - GET DEVICE ADDRESSES
1553B0BH07 - INT 15 - Intel System Management Bus - RETRIEVE CRITICAL MESSAGES
1553B0BH08 - INT 15 - Intel System Management Bus - RESERVED
1553B0BH10 - INT 15 - Intel System Management Bus - REQUEST
1553B0BH11 - INT 15 - Intel System Management Bus - REQUEST CONTINUATION
1553B0BH12 - INT 15 - Intel System Management Bus - REQUEST ABORT
1553B0BH13 - INT 15 - Intel System Management Bus - REQUEST DATA AND STATUS
15D800 - INT 15 - EISA SYSTEM ROM - READ SLOT CONFIGURATION INFORMATION
15D801 - INT 15 - EISA SYSTEM ROM - READ FUNCTION CONFIGURATION INFORMATION
15D802 - INT 15 - EISA SYSTEM ROM - CLEAR NONVOLATILE MEMORY (EISA CMOS)
15D803 - INT 15 - EISA SYSTEM ROM - WRITE NONVOLATILE MEMORY
15D804 - INT 15 - EISA SYSTEM ROM - READ PHYSICAL SLOT
15D8 - INT 15 - EISA SYSTEM ROM - 32-bit CS ADDRESSING MODE CALLS
1A80 - INT 1A - PCMCIA Socket Services v1.00 - GET NUMBER OF ADAPTERS
1A81 - INT 1A - PCMCIA Socket Services v1.00 - REGISTER STATUS CHANGE CALLBACK
1A82 - INT 1A - PCMCIA Socket Services v1.00 - REGISTER CARD TECHNOLOGY CALLBACK
1A83 - INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET SERVICES VERSION NUMBER
1A84 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ADAPTER
1A85 - INT 1A - PCMCIA Socket Services v1.00 - GET ADAPTER
1A86 - INT 1A - PCMCIA Socket Services v1.00 - SET ADAPTER
1A87 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE WINDOW
1A88 - INT 1A - PCMCIA Socket Services v1.00 - GET WINDOW
1A89 - INT 1A - PCMCIA Socket Services v1.00 - SET WINDOW
1A8A - INT 1A - PCMCIA Socket Services v1.00 - GET PAGE
1A8B - INT 1A - PCMCIA Socket Services v1.00 - SET PAGE
1A8C - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE SOCKET
1A8D - INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET
1A8E - INT 1A - PCMCIA Socket Services v1.00 - SET SOCKET
1A8F - INT 1A - PCMCIA Socket Services v1.00 - GET CARD
1A90 - INT 1A - PCMCIA Socket Services v1.00 - RESET CARD
1A91 - INT 1A - PCMCIA Socket Services v1.00 - READ ONE
1A92 - INT 1A - PCMCIA Socket Services v1.00 - WRITE ONE
1A93 - INT 1A - PCMCIA Socket Services v1.00 - READ MULTIPLE
1A94 - INT 1A - PCMCIA Socket Services v1.00 - WRITE MULTIPLE
1A95 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ERROR DETECTION CODE
1A96 - INT 1A - PCMCIA Socket Services v1.00 - GET ERROR DETECTION CODE
1A97 - INT 1A - PCMCIA Socket Services v1.00 - SET ERROR DETECTION CODE
1A98 - INT 1A - PCMCIA Socket Services v1.00 - START ERROR DETECTION CODE
1A99 - INT 1A - PCMCIA Socket Services v1.00 - PAUSE ERROR DETECTION CODE
1A9A - INT 1A - PCMCIA Socket Services v1.00 - RESUME ERROR DETECTION CODE
1A9B - INT 1A - PCMCIA Socket Services v1.00 - STOP ERROR DETECTION CODE
1A9C - INT 1A - PCMCIA Socket Services v1.00 - READ ERROR DETECTION CODE
1A9D - INT 1A - PCMCIA Socket Services v2.1??? - GET VENDOR INFO
1A9D - INT 1A - Intel PCMCIA ExCA Card Services - API
1A9E - INT 1A - PCMCIA Socket Services v2.1 - ACKNOWLEDGE INTERRUPT
1A9F - INT 1A - PCMCIA Socket Services v2.1 - GET/SET PRIOR INT 1A HANDLER
1AA0 - INT 1A - PCMCIA Socket Services v2.1 - GET/SET SOCKET SERVICES ADDRESS
1AA1 - INT 1A - PCMCIA Socket Services v2.1 - GET ACCESS OFFSETS
1AA2 - INT 1A - CardBus Socket Services - ACCESS CONFIGURATION SPACE
1AA4 - INT 1A - CardBus Socket Services - GET BRIDGE WINDOW / WINDOW CAPABILITIES
1AA5 - INT 1A - CardBus Socket Services - SET BRIDGE WINDOW
1AAE - INT 1A - PCMCIA Socket Services v2.1 - VENDOR SPECIFIC
1AAE - INT 1A - PCMCIA Socket Services v2.1 - API
1AAF - INT 1A - PCMCIA v2 Card Services - API
1AB000 - INT 1A U - HP 100LX/200LX - PCMCIA - ???
1AB101 - INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK
1AB102 - INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE
1AB103 - INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE
1AB106 - INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS
1AB108 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE
1AB109 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD
1AB10A - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD
1AB10ASF1004 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VLSI devices)
1AB10ASF100B - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (National Semicond. device)
1AB10ASF1011 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (DEC device)
1AB10ASF1022 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (AMD devices)
1AB10ASF1042 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PC Technology devices)
1AB10ASF1045 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (OPTi devices)
1AB10ASF1066 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PicoPower devices)
1AB10ASF1066 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Brooktree devices)
1AB10ASF1106 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VIA Technologies devices)
1AB10ASF8086 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Intel devices)
1AB10ASF9004 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Adaptec devices)
1AB10B - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE
1AB10C - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD
1AB10D - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD
1AB10EBX0000 - INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION
1AB10F - INT 1A - PCI BIOS v2.1+ - SET PCI IRQ
1AB181 - INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK (32-bit)
1AB182 - INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE (32-bit)
1AB183 - INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE (32-bit)
1AB186 - INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS (32-bit)
1AB188 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE (32-bit)
1AB189 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD (32-bit)
1AB18A - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (32-bit)
1AB18B - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE (32-bit)
1AB18C - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD (32-bit)
1AB18D - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD (32-bit)
1AB18EBX0000 - INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION (32-bit)
1AB18F - INT 1A - PCI BIOS v2.1+ - SET PCI IRQ (32-bit)
1AB2 - INT 1A - Reserved For PCI
1AB3 - INT 1A - Reserved For PCI
1AB400 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - INSTALLATION CHECK
1AB401 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET DEFAULT CONFIG TABLE
1AB402 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - COPY AND VERIFY CONFIG TABLE
1AB403 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - STORE ESCD TABLE IN NVRAM
1AB404 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET AVAILABLE IRQs???
1AB405 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET ???
1AB406 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET PCI IRQ ROUTING TABLE
1AB407 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - ???
1AB4 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - 32-BIT API
2F5D00 - INT 2F U - PCMCIA - AWARD PCDISK - GET INFO FROM DRIVER ???
2F5D01 - INT 2F U - PCMCIA - AWARD PCDISK - PUT INFO INTO DRIVER ???
545400 - INT 54 U - Toshiba PCMCIA2 - INSTALLATION CHECK
Top

a - access software (screen readers, etc)

103800 - INT 10 - Tinytalk Personal v1.09f+ - GET CONFIGURATION INFO
103801 - INT 10 - Tinytalk Personal v1.10 - ???
103802 - INT 10 - Tinytalk Personal v1.10 - ???
103803 - INT 10 - Tinytalk Personal v1.10 - GET ???
103804 - INT 10 - Tinytalk Personal v1.10 - GET ???
103805 - INT 10 - Tinytalk Personal v1.10 - GET ???
103806 - INT 10 - Tinytalk Personal v1.10 - ???
1039 - INT 10 - Tinytalk Personal v1.10 - ???
14F0F0 - INT 14 - ASAP v1.0 - ???
14F0F1DX0000 - INT 14 - ASAP v1.0 - INSTALLATION CHECK
2FFB00 - INT 2F U - AutoBraille v1.1A - INSTALLATION CHECK
2FFB01 - INT 2F U - AutoBraille v1.1A - ???
2FFB02 - INT 2F U - AutoBraille v1.1A - ???
2FFB03 - INT 2F U - AutoBraille v1.1A - GET NEXT ???
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB20 - INT 2F U - AutoBraille v1.1A - SET ??? FLAGS
2FFB21 - INT 2F U - AutoBraille v1.1A - CLEAR ??? FLAGS
2FFB22 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB28 - INT 2F U - AutoBraille v1.1A - ???
2FFB29 - INT 2F U - AutoBraille v1.1A - ???
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
2FFB35 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB36 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB37 - INT 2F U - AutoBraille v1.1A - SET ???
2FFB64 - INT 2F U - AutoBraille v1.1A - GET ???
490001 - INT 49 - MAGic v1.16+ - TURN ON MAGNIFICATION
490002 - INT 49 - MAGic v1.16+ - TURN OFF MAGNIFICATION
490003 - INT 49 - MAGic v1.16+ - SHIFT MAGNIFIED WINDOW TO INCLUDE SPECIFIED LOCATION
490004 - INT 49 - MAGic v1.16+ - REPOSITION MAGNIFIED WINDOW
490005 - INT 49 - MAGic v1.16+ - GET POSITION OF MAGNIFIED WINDOW
490006 - INT 49 - MAGic v1.16+ - GET SIZE OF FULL SCREEN
490007 - INT 49 - MAGic v1.16+ - GET SIZE OF MAGNIFICATION WINDOW
490008 - INT 49 - MAGic v1.23+ - SET TEXT MODE MAGNIFICATION SIZE
60AD - INT 60 - AccessDOS - API
Top

b - vendor-specific BIOS extensions,

06 - INT 06 C - HP 95LX - SLEEP/WAKEUP
100E--CXABCD - INT 10 - V20-XT-BIOS - TELETYPE OUTPUT WITH ATTRIBUTE
10BF00 - INT 10 - VIDEO - Compaq Extensions - SELECT EXTERNAL MONITOR
10BF01 - INT 10 - VIDEO - Compaq Extensions - SELECT INTERNAL MONITOR
10BF02 - INT 10 - VIDEO - Compaq Extensions - SET MASTER MODE OF CURRENT CONTROLLER
10BF03BX0000 - INT 10 - VIDEO - Compaq Extensions - GET ENVIRONMENT
10BF04 - INT 10 - VIDEO - Compaq Extensions - SET MODE SWITCH DELAY
10BF05 - INT 10 - VIDEO - Compaq Extensions - ENABLE/DISABLE DISPLAY
10BF06 - INT 10 - VIDEO - Compaq SLT/286 - READ GRAY SCALE TABLE
10BF07 - INT 10 - VIDEO - Compaq SLT/286 - WRITE GRAY SCALE TABLE
10BF08 - INT 10 - VIDEO - Compaq SLT/286 - WRITE COLOR MIX REGISTERS
10BF09 - INT 10 - VIDEO - Compaq Extensions - TURN ON REVERSE VIDEO
10BF0A - INT 10 - VIDEO - Compaq Extensions - TURN OFF REVERSE VIDEO
10BF0B - INT 10 - VIDEO - Compaq Extensions - CHECK WHETHER VIDEO REVERSED
10BF0C - INT 10 - VIDEO - Compaq Extensions - SET DAC 6-BIT MODE
10BF0D - INT 10 - VIDEO - Compaq Extensions - SET DAC 8-BIT MODE
10BF0E - INT 10 - VIDEO - Compaq Extensions - CHECK DAC 6-BIT/8-BIT mode
10BF0F - INT 10 - VIDEO - Compaq Extensions - SET HIGH ADRESS MAP REGISTER
10BF10 - INT 10 - VIDEO - Compaq Extensions - GET HIGH ADDRESS MAP REGISTER
10BF11 - INT 10 - VIDEO - Compaq Extensions - GET EXTENDED ENVIRONMENT
10BF12 - INT 10 - VIDEO - Compaq Extensions - NEW ACTIVE MONITOR
10BF13 - INT 10 - VIDEO - Compaq QVision - GAMMA CORRECTION
1320 - INT 13 U - Compaq, ATAPI Removable Media Device - GET CURRENT MEDIA FORMAT
1501 - INT 15 - Amstrad PC1512 - WRITE DATA TO NON-VOLATILE RAM
1502 - INT 15 - Amstrad PC1512 - READ DATA FROM NON-VOLATILE RAM
1506 - INT 15 - Amstrad PC1512 - GET ROS VERSION NUMBER
152400 - INT 15 - SYSTEM - later PS/2s - DISABLE A20 GATE
152401 - INT 15 - SYSTEM - later PS/2s - ENABLE A20 GATE
152402 - INT 15 - SYSTEM - later PS/2s - GET A20 GATE STATUS
152403 - INT 15 - SYSTEM - later PS/2s - QUERY A20 GATE SUPPORT
154280 - INT 15 - Compaq SLT/286 - ENTER STANDBY
1544C0 - INT 15 - Olivetti Quaderno - INITIALIZE DIGITAL SIGNAL PROCESSING???
1544C1 - INT 15 - Olivetti Quaderno - ???
1544C2 - INT 15 - Olivetti Quaderno - ???
1544C3 - INT 15 - Olivetti Quaderno - GET ???
1544C4 - INT 15 - Olivetti Quaderno - ???
1544C6 - INT 15 - Olivetti Quaderno - READ LCD
1544C7 - INT 15 - Olivetti Quaderno - WRITE LCD
1544C8 - INT 15 - Olivetti Quaderno - ???
1544C9 - INT 15 - Olivetti Quaderno - GET XBIOS VERSION
1545 - INT 15 U - HP 100LX/200LX - SET DISPLAY CONTROL STATUS
1546 - INT 15 U - HP 100LX/200LX - SET POWER OFF TIMEOUT
154600 - INT 15 - Compaq SLT/286 - READ POWER CONSERVATION/MODEM CONFIGURATION
154601 - INT 15 - Compaq SLT/286 - MODIFY POWER CONSERVATION/MODEM CONFIGURATION
154604 - INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - GET ???
154605 - INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - ???
1547 - INT 15 U - HP 100LX/200LX - GET/SET DISPLAY CONTRAST
1548 - INT 15 U - HP 100LX/200LX - SET BUZZER VOLUME
154B - INT 15 U - HP 100LX/200LX - ADJUST SYSTEM TIME
154DD4 - INT 15 - HP 95LX/100LX/200LX - INSTALLATION CHECK
154E - INT 15 - HP 95LX - ENABLE/DISABLE LIGHT SLEEP
1560 - INT 15 - HUNTER 16 - SET SYSTEM CLOCK SPEED
1561 - INT 15 - HUNTER 16 - GET POWER LEVEL
1561 - INT 15 U - HP 100LX/200LX - SET ANNOUNCIATORS POSITION
1562 - INT 15 - HUNTER 16 - SET LOW POWER THRESHOLD
1562 - INT 15 U - HP 100LX/200LX - SET DISPLAY CONTRAST
156300 - INT 15 - HUNTER 16 - GET IDLE TIMEOUT
156301 - INT 15 - HUNTER 16 - SET IDLE TIMEOUT
1564 - INT 15 - HUNTER 16 - CONTROL RESUME MODE
1565 - INT 15 - HUNTER 16 - AUTHORISE CHARGING
1566 - INT 15 - HUNTER 16 - SET BATTERY LEVEL
1567 - INT 15 - HUNTER 16 - CONTROL STOP MODE
1568 - INT 15 - HUNTER 16 - REQUEST POWER DOWN
1569 - INT 15 - HUNTER 16 - CONTROL POWER DOWN AVAILABILITY
156A - INT 15 - HUNTER 16 - CONTROL SLOW MODE
156B - INT 15 - HUNTER 16 - GET ROM BIOS VERSION
156C - INT 15 - HUNTER 16 - GET SERIAL NUMBER
156D - INT 15 - HUNTER 16 - GET EVENT DETAIL
156E - INT 15 - HUNTER 16 - ENABLE/TRAP EVENT
156F - INT 15 - HUNTER 16 - ACKNOWLEDGE EVENT
1570 - INT 15 - HUNTER 16 - CONTROL SOUND
1571 - INT 15 - HUNTER 16 - SELECT POWER UP KEYS
157200 - INT 15 - HUNTER 16 - RESET SERIAL NUMBER
1572 - INT 15 - HUNTER 16 - REDIRECT SERIAL NUMBER
1573 - INT 15 - HUNTER 16 - GET ORACLE GT POWER LEVEL
1574 - INT 15 - HUNTER 16 - SET BACKLIGHT POWER UP STATE
1575 - INT 15 - HUNTER 16 - SET CONTRAST POWER UP STATE
1576 - INT 15 - HUNTER 16 - CONTROL POWER SAVE
1579 - INT 15 - HUNTER 16 - REDIRECT LPT1
157A - INT 15 - HUNTER 16 - INVOKE HOT KEY
157B - INT 15 - HUNTER 16 - CONTROL HOT KEY
157C - INT 15 - HUNTER 16 - CONTROL HOT KEY POWER OPTION
157D - INT 15 - HUNTER 16 - OVERRIDE LOW POWER TURN OFF
157E - INT 15 - HUNTER 16 - CONTROL BATTERY CHANGE FACILITIES (APM)
157F - INT 15 - HUNTER 16 - SET BATTERY TYPE (APM)
1580 - INT 15 - HUNTER 16 - GET/SET BATTERY CAPACITY (APM)
1581 - INT 15 - HUNTER 16 - CONTROL POWER OUTPUT
1582 - INT 15 - HUNTER 16 - SOUND OUTPUT
1583 - INT 15 - HUNTER 16 - CONTROL SCREEN SYNCHRONISATION
1584 - INT 15 - V20-XT-BIOS - JOYSTICK SUPPORT
158400 - INT 15 - HUNTER 16 - GET DISKETTE PORT
158401 - INT 15 - HUNTER 16 - SET DISKETTE PORT
158500 - INT 15 - HUNTER 16 - RESTORE POWER MENU (APM)
158501 - INT 15 - HUNTER 16 - SET POWER MENU (APM)
1586 - INT 15 - HUNTER 16 - GET/SET SCREEN ATTRIBUTE TABLE
1587 - INT 15 - HUNTER 16 - SET INT 72h VECTOR
1588 - INT 15 - HUNTER 16 - GET POWER UP KEYS
158900 - INT 15 - HUNTER 16 - GET POWER MODE
158901 - INT 15 - HUNTER 16 - SET POWER MODE
158A - INT 15 - HUNTER 16 - CONTROL POWER INPUT (SPM)
158A - INT 15 - Phoenix BIOS v4.0 - GET BIG MEMORY SIZE
158B - INT 15 - HUNTER 16 - GET/SET CHARGER TEMPERATURE OVERRIDE
158C - INT 15 - HUNTER 16 - GET/SET POWER SAVE ENTRY FLAG
158D - INT 15 - HUNTER 16 - GET/SET BOOST CHARGE (SPM)
15BC - INT 15 - Phoenix 386 BIOS - DETERMINE CPU SPEED FOR DELAY LOOPS
15D820 - INT 15 - Compaq LTE Lite - GET ???
15D821 - INT 15 - Compaq LTE Lite - SET ???
15D822BL00 - INT 15 - Compaq EISA System ROM 04/08/93 - GET ???
15D823 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
15D8 - INT 15 - Compaq EISA System ROM 04/08/93 - 32-bit CS ADDRESSING MODE CALLS
15DA00 - INT 15 U - AMI PCI BIOS - ???
15DA01 - INT 15 U - AMI PCI BIOS - CPU SPEED CONTROL
15DA20 - INT 15 U - AMI PCI BIOS v1.00.12.AX1T - CMOS RAM BITFIELD MANIPULATION
15DB00 - INT 15 U - AMI BIOS - Flash ROM - READ FLASH BIOS
15DB01 - INT 15 U - AMI BIOS - Flash ROM - GET BIOS SUBSYSTEM INFORMATION
15DB02 - INT 15 U - AMI BIOS - Flash ROM - GET SIZE OF FLASH ROM PROGRAMMING CODE
15DB03 - INT 15 U - AMI BIOS - Flash ROM - GET FLASH ROM PROGRAMMING CODE
15DB04 - INT 15 U - AMI BIOS - Flash ROM - GET BIOS REVISION
15DF - INT 15 - Juko UNIQUE UX BIOS - TURBO MODE CONTROL
15E00F - INT 15 - Compaq Systempro - MULTIPROCESSOR DISPATCH
15E10E - INT 15 - Compaq Systempro - MULTIPROCESSOR END-OF-DISPATCH
15E200 - INT 15 - Compaq Systempro - MULTIPROCESSOR AVAILABLE
15E4 - INT 15 - Tandy??? - ???
15E4 - INT 15 - Compaq ROM BIOS 1993/08/03 and newer - ???
15E800 - INT 15 - Compaq Contura - GET ???
15E800 - INT 15 - Compaq Contura Aero, Contura 400 - GET SYSTEM MODEL CODE???
15E800 - INT 15 - Compaq Prolinea - GET ???
15E801 - INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS
15E802 - INT 15 - Compaq Contura - GET ???
15E820 - INT 15 - newer BIOSes - GET SYSTEM MEMORY MAP
15E881 - INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS (32-bit)
1604 - INT 16 - Tandy 2000 - KEYBOARD - FLUSH KEYBOARD BUFFER
1605 - INT 16 - Tandy 2000 - KEYBOARD - RESET KEYBOARD
1620 - INT 16 - HUNTER 16 - SET TEMPORARY SHIFT
1621 - INT 16 - HUNTER 16 - CONTROL SHIFT KEYS
1622 - INT 16 - HUNTER 16 - CONTROL CTRL-ALT-DEL
1623 - INT 16 - HUNTER 16 - CONTROL EMERGENCY BREAKOUT
1624 - INT 16 - HUNTER 16 - REDEFINE KEY CODES
1625 - INT 16 - HUNTER 16 - RESET KEYBOARD
1626 - INT 16 - HUNTER 16 - CONTROL KEYCLICK
1627 - INT 16 - HUNTER 16 - CONTROL SCREEN DUMP AREA
1629 - INT 16 - HUNTER 16 - GET KEY REPEAT
162A - INT 16 - HUNTER 16 - CONTROL KEY REPEAT
162B - INT 16 - HUNTER 16 - REDEFINE KEY SCAN CODES
162C - INT 16 - HUNTER 16 - REDEFINE RAW KEY CODES
162D - INT 16 - HUNTER 16 - CONTROL BREAK KEYS
166F00 - INT 16 - HP Vectra EX-BIOS - "F16_INQUIRE" - Extended BIOS INSTALLATION CHECK
166F01 - INT 16 - HP Vectra EX-BIOS - "F16_DEF_ATTR" - GET DEFAULT TYPEMATIC VALUES
166F02 - INT 16 - HP Vectra EX-BIOS - "F16_GET_ATTR" - GET CURRENT TYPEMATIC VALUES
166F03 - INT 16 - HP Vectra EX-BIOS - "F16_SET_ATTR" - SET TYPEMATIC VALUES
166F04 - INT 16 - HP Vectra EX-BIOS - "F16_DEF_MAPPING" - GET DEFAULT KEY MAPPINGS
166F05 - INT 16 - HP Vectra EX-BIOS - "F16_GET_MAPPING" - GET CURRENT KEY MAPPINGS
166F06 - INT 16 - HP Vectra EX-BIOS - "F16_SET_MAPPING" - SET KEY MAPPINGS
166F07 - INT 16 - HP Vectra EX-BIOS - "F16_SET_XLATORS" - SET CCP AND SOFTKEY PADS
166F08 - INT 16 - HP Vectra EX-BIOS - "F16_KBD" - GET KEYBOARD INFORMATION
166F09 - INT 16 - HP Vectra EX-BIOS - "F16_KBD_RESET" - RESET KEYBOARD TO DEFAULTS
166F0A - INT 16 - HP Vectra ES/QS/RS EX-BIOS - READ PROCESSOR SPEED
166F0B - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO LOW
166F0C - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO HIGH
166F0D - INT 16 - HP Vectra ES/QS/RS EX-BIOS - GET HIL Extended BIOS INTERRUPT NUMBER
166F0E - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET HIL Extended BIOS INTERRUPT NUMBER
166F0F - INT 16 - HP Vectras RS/20C and RS/25C - ENABLE MEMORY CACHING
166F10 - INT 16 - HP Vectras RS/20C and RS/25C - DISABLE MEMORY CACHING
166F11 - INT 16 - HP Vectras RS/20C and RS/25C - GET MEMORY CACHING STATE
166F12 - INT 16 - HP Vectras RS/20C and RS/25C - SET PROCESSOR SPEED TO MEDIUM
16E000 - INT 16 - AMI BIOS - BIOS-FLASH Interface - GET VERSION NUMBER
16E001 - INT 16 - AMI BIOS - BIOS-FLASH Interface - GET CHIPSET SAVE/RESTORE SIZE
16E002 - INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE CHIPSET STATUS & PREPARE CHPSET
16E003 - INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE CHIPSET STATUS
16E004 - INT 16 - AMI BIOS - BIOS-FLASH Interface - LOWER PROGRAMMING VOLTAGE Vpp
16E005 - INT 16 - AMI BIOS - BIOS-FLASH Interface - RAISE PROGRAMMING VOLTAGE Vpp
16E006 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE PROTECT
16E007 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE ENABLE
16E008 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH SELECT
16E009 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH DE-SELECT
16E00A - INT 16 - AMI BIOS - BIOS-FLASH Interface - VERIFY ALLOCATED MEMORY
16E00B - INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE INTERNAL CACHE STATUS
16E00C - INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE INTERNAL CACHE STATUS
16E0FF - INT 16 - AMI BIOS - BIOS-FLASH Interface - GENERATE CPU RESET
16F0 - INT 16 - Compaq 386 and newer - SET CPU SPEED
16F1 - INT 16 - Compaq 386 and newer - READ CURRENT CPU SPEED
16F2 - INT 16 - Compaq 386 and newer - DETERMINE ATTACHED KEYBOARD TYPE
16F3 - INT 16 - Compaq 80286s - SET CPU SPEED LIMIT (OVERRIDE JUMPER)
16F400 - INT 16 - Compaq Systempro and higher - CACHE CONTROLLER STATUS
16F401 - INT 16 - Compaq Systempro and higher - ENABLE CACHE CONTROLLER
16F402 - INT 16 - Compaq Systempro and higher - DISABLE CACHE CONTROLLER
170200BX5050 - INT 17 - Enhanced Parallel Port (EPP) BIOS - INSTALLATION CHECK
176F00BX0000 - INT 17 - HP Vectra - EXTENDED BIOS - "F17_INQUIRE" - INSTALLATION CHECK
176F02 - INT 17 - HP Vectra - EXTENDED BIOS - "F17_PUT_BUFFER" - PRINT BUFFER
1A02 - INT 1A - Tandy 2000 - TIME - GET DATE AND TIME
1A03 - INT 1A - Tandy 2000 - TIME - SET DATE AND TIME
1A04 - INT 1A - Sperry PC - GET REAL-TIME CLOCK DATE
1A05 - INT 1A - Sperry PC - SET REAL-TIME CLOCK DATE
1AFE - INT 1A - AT&T 6300 - READ TIME AND DATE
1AFF - INT 1A - AT&T 6300 - SET TIME AND DATE
1F12 - INT 1F U - C&T "SuperState" BIOS - POWER OFF
1F17 - INT 1F U - C&T "SuperState" BIOS - EXECUTE FAR PROC ROUTINE ON SuperState
1F19 - INT 1F U - C&T "SuperState" BIOS - ENABLE AUTO WAKEUP AND SET TIME AND DATE
1F1C - INT 1F U - C&T "SuperState" BIOS - SET SUSPEND TIMEOUT
1F1D - INT 1F U - C&T "SuperState" BIOS - SET SLEEP TIMEOUT
1FF5--BLFA - INT 1F U - C&T "SuperState" BIOS - REQUEST PASSWORD INPUT
1FF5--BLFD - INT 1F U - C&T "SuperState" BIOS - ENCRYPT PASSWORD
1FF5--BLFE - INT 1F U - C&T "SuperState" BIOS - SET PASSWORD
1FF5--BLFF - INT 1F U - C&T "SuperState" BIOS - GET ENCRYPTED PASSWORD
1FFB - INT 1F U - C&T "SuperState" BIOS - GET/SET CPU SPEED
1FFC--BL00 - INT 1F U - C&T "SuperState" BIOS - GET ALARM STATUS
1FFC--BL01 - INT 1F U - C&T "SuperState" BIOS - SET ALARM STATUS
1FFC--BL02 - INT 1F U - C&T "SuperState" BIOS - GET ALARM TIME
1FFC--BL03 - INT 1F U - C&T "SuperState" BIOS - SET ALARM TIME
1FFC--BL04 - INT 1F U - C&T "SuperState" BIOS - GET ALARM DATE
1FFC--BL05 - INT 1F U - C&T "SuperState" BIOS - SET ALARM DATE
1FFD--BL00 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP STATUS
1FFD--BL01 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP STATUS
1FFD--BL02 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP TIME
1FFD--BL03 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP TIME
1FFD--BL04 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP DATE
1FFD--BL05 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP DATE
2D--DC - INT 2D C - DAISY.SYS - BROADCAST: CHAIN RESCANNED
42 - INT 42 - Western Digital WD1002 SuperBIOS - INT 40 CASCADE
47 - INT 47 - Western Digital WD1002-27X SuperBIOS - INT 40 CASCADE
48 - INT 48 - Western Digital WD1002-27X SuperBIOS - DRIVE DATA (NOT A VECTOR!)
4800 - INT 48 - TI Professional PC - SPEAKER DEVICE - SOUND SPEAKER
4801 - INT 48 - TI Professional PC - SPEAKER DEVICE - CHECK SPEAKER STATUS
4802 - INT 48 - TI Professional PC - SPEAKER DEVICE - SET SPEAKER FREQUENCY
4803 - INT 48 - TI Professional PC - SPEAKER DEVICE - TURN ON SPEAKER
4804 - INT 48 - TI Professional PC - SPEAKER DEVICE - TURN OFF SPEAKER
4805 - INT 48 - TI Professional PC - SPEAKER DEVICE - DELAY
4806 - INT 48 - TI Professional PC - CALCULATE CRC
4807 - INT 48 - TI Professional PC - PRINT ROM MESSAGE
4808 - INT 48 - TI Professional PC - DISPLAY SYSTEM ERROR MESSAGE
4809 - INT 48 - TI Professional PC - GET SYSTEM CONFIGURATION DATA
480A - INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFO ADDRESS
480B - INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFORMATION
49 - INT 49 - Tandy 2000 - BOOTSTRAP LOADER
4A - INT 4A - Tandy 2000 - PRINT SCREEN
4A00 - INT 4A - TI Professional PC - KEYBOARD - GET KEYPRESS
4A01 - INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD STATUS
4A02 - INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD MODE
4A03 - INT 4A - TI Professional PC - KEYBOARD - FLUSH KEYBOARD BUFFER
4A04 - INT 4A - TI Professional PC - KEYBOARD - SEND COMMAND TO KEYBOARD
4A05 - INT 4A - TI Professional PC - KEYBOARD - INSERT CHARACTER INTO KEYBOARD BUFFER
4B - INT 4B - Tandy 2000 - EQUIPMENT DETERMINATION
4B00 - INT 4B - TI Professional PC - PARALLEL PORT - OUTPUT CHARACTER
4B01 - INT 4B - TI Professional PC - PARALLEL PORT - INITIALIZE PRINTER
4B02 - INT 4B - TI Professional PC - PARALLEL PORT - GET PRINTER STATUS
4C - INT 4C - TI Professional PC - CLOCK/ANALOG INTERFACE
4C - INT 4C - Tandy 2000 - GET MEMORY SIZE
4E00 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS DATE
4E01 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS TIME
4E02 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - GET BIOS DATA AND TIME
4F - INT 4F - TI Professional PC - SYSTEM CONFIGURATION CALL
51 - INT 51 - Tandy 2000 - KEYBOARD SERVICES
52 - INT 52 - Tandy 2000 - VIDEO SERVICES
53 - INT 53 - Tandy 2000 - SERIAL COMMUNICATIONS
54 - INT 54 - Tandy 2000 - LINE PRINTER
55 - INT 55 - TI Professional PC - RESERVED FOR FUTURE USE
55 - INT 55 - Tandy 2000 - SYSTEM CLOCK
56 - INT 56 - TI Professional PC - RESERVED FOR FUTURE USE
56 - INT 56 - Tandy 2000 - FLOPPY DISK SERVICES
57 - INT 57 C - TI Professional PC - CRT MAPPING HOOK
58 - INT 58 C - TI Professional PC - SYSTEM TIMER 25ms HOOK
59 - INT 59 - TI Professional PC - COMMON ROM HARDWARE INTERRUPT EXIT VECTOR
5A - INT 5A - TI Professional PC - SYSTEM TIMER 100ms HOOK
5B - INT 5B C - TI Professional PC - KEYBOARD MAPPING HOOK
5C0100 - INT 5C C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR
5D - INT 5D C - TI Professional PC - KEYBOARD BREAK KEY VECTOR
5E - INT 5E C - TI Professional PC - KEYBOARD PRINT-SCREEN VECTOR
5F - INT 5F C - TI Professional PC - KEYBOARD QUEUEING VECTOR
5F00 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET VIDEO MODE
5F01 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET FILL MASK
5F02 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFO
5F03 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN
5F04 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET CLIP REGION
5F05 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW RECTANGLE
5F06 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW LINE
5F07 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PLOT POINT
5F08 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - MOVE PEN
5F09 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET PEN COLOR
5F0A - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE
5F0B - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LINE TYPE
5F0C - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET PIXEL
5F0D - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET IMAGE
5F0E - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PUT IMAGE
5F0F - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - WRITE TEXT
5F10 - INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - GET FONT POINTER
5F11 - INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - SET CURRENT FONT
60 - INT 60 - TI Professional PC - SYSTEM ROM DATA AREA POINTER (NOT A VECTOR!)
60 - INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS
60----DI0100 - INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
60----DI0101 - INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
60----DI0102 - INT 60 u - HP 95LX System Manager - "SH_STATUS"
60----DI0104 - INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
60----DI0105 - INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
60----DI0106 - INT 60 u - HP 95LX System Manager - YIELD CPU
60----DI0107 - INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
60----DI0200 - INT 60 u - HP 95LX System Manager - SETUP MENU
60----DI0201 - INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
60----DI0202 - INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
60----DI0203 - INT 60 u - HP 95LX System Manager - REMOVE MENU
60----DI0204 - INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE
60----DI0205 - INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU
60----DI0206 - INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU
60----DI0207 - INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE
60----DI0208 - INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU
60----DI0300 - INT 60 u - HP 95LX System Manager - DISPLAY STRING
60----DI0301 - INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN
60----DI0302 - INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN
60----DI0303 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"
60----DI0304 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"
60----DI0305 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"
60----DI0307 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"
60----DI0308 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"
60----DI0309 - INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE
60----DI030A - INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE
60----DI030B - INT 60 u - HP 95LX System Manager - SET CURSOR POSITION
60----DI0400 - INT 60 u - HP 95LX System Manager - "EDIT_INIT"
60----DI0401 - INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE
60----DI0402 - INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD
60----DI0403 - INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK
60----DI0404 - INT 60 u - HP 95LX System Manager - "MDIT_INI"
60----DI0405 - INT 60 u - HP 95LX System Manager - "MDIT_DIS"
60----DI0406 - INT 60 u - HP 95LX System Manager - "MDIT_KEY"
60----DI0407 - INT 60 u - HP 95LX System Manager - "MDIT_FIL"
60----DI0408 - INT 60 u - HP 95LX System Manager - "MDIT_MARK"
60----DI0409 - INT 60 u - HP 95LX System Manager - "MDIT_UNMARK"
60----DI040A - INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK"
60----DI040B - INT 60 u - HP 95LX System Manager - "MDIT_INS_STR"
60----DI0500 - INT 60 u - HP 95LX System Manager - OPEN FILE
60----DI0501 - INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE
60----DI0502 - INT 60 u - HP 95LX System Manager - CREATE NEW FILE
60----DI0503 - INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE
60----DI0504 - INT 60 u - HP 95LX System Manager - READ FROM FILE
60----DI0505 - INT 60 - HP 95LX System Manager - WRITE TO FILE
60----DI0506 - INT 60 u - HP 95LX System Manager - SET FILE POSITION
60----DI0507 - INT 60 u - HP 95LX System Manager - GET FILE POSITION
60----DI0508 - INT 60 u - HP 95LX System Manager - CLOSE FILE
60----DI0509 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT"
60----DI050A - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH"
60----DI050B - INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT
60----DI050C - INT 60 u - HP 95LX System Manager - DELETE FILE
60----DI050D - INT 60 u - HP 95LX System Manager - RENAME FILE
60----DI050E - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR"
60----DI050F - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR"
60----DI0510 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME"
60----DI0511 - INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY
60----DI0512 - INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY
60----DI0513 - INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE
60----DI0514 - INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE
60----DI0515 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE"
60----DI0516 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR"
60----DI0517 - INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES
60----DI0518 - INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES
60----DI0519 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN"
60----DI051A - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT"
60----DI051B - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT"
60----DI051C - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT"
60----DI0600 - INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING
60----DI0601 - INT 60 u - HP 95LX System Manager - PROCESS TERMINATION
60----DI0602 - INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES
60----DI0603 - INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES
60----DI0604 - INT 60 u - HP 95LX System Manager - "M_SPAWN"
60----DI0605 - INT 60 u - HP 95LX System Manager - "M_APPCOUNT"
60----DI0606 - INT 60 u - HP 95LX System Manager - "M_REBOOT"
60----DI0607 - INT 60 u - HP 95LX System Manager - "M_SPAWNARG"
60----DI0608 - INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME"
60----DI0609 - INT 60 u - HP 95LX System Manager - "M_APP_NAME"
60----DI0700 - INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD
60----DI0701 - INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD
60----DI0702 - INT 60 u - HP 95LX System Manager - RESET CLIPBOARD
60----DI0704 - INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION???
60----DI0705 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP"
60----DI0706 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME"
60----DI0707 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX"
60----DI0708 - INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD
60----DI0709 - INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD
60----DI0800 - INT 60 u - HP 95LX System Manager - BEEP
60----DI0801 - INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD"
60----DI0802 - INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN
60----DI0803 - INT 60 u - HP 95LX System Manager - TURN OFF SOUND
60----DI0900 - INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK
60----DI0902 - INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK
60----DI0903 - INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK
60----DI0904 - INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK
60----DI0B00 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO"
60----DI0B01 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM"
60----DI0B02 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM"
60----DI0B03 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM"
60----DI0B04 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM"
60----DI0B05 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW"
60----DI0B06 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW"
60----DI0B07 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW"
60----DI0B08 - INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP
60----DI0B09 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS"
60----DI0B0A - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS"
60----DI0B0B - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER"
60----DI0B0C - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER"
60----DI0B0D - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER"
60----DI0B0E - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME"
60----DI0B0F - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR"
60----DI0B10 - INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION
60----DI0B11 - INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION
60----DI0B12 - INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE
60----DI0B13 - INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE
60----DI0B14 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME"
60----DI0B15 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER"
60----DI0C00 - INT 60 u - HP 95LX System Manager - OPEN PRINTER
60----DI0C01 - INT 60 u - HP 95LX System Manager - CLOSE PRINTER
60----DI0C02 - INT 60 u - HP 95LX System Manager - WRITE TO PRINTER
60----DI0C03 - INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER
60----DI0C04 - INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER"
60----DI0C05 - INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER"
60----DI0E00 - INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT"
60----DI0E01 - INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL
60----DI0E02 - INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL
60----DI0E03 - INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM"
60----DI0E04 - INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER"
60----DI0E05 - INT 60 u - HP 95LX System Manager - "M_COMM_DIAL"
60----DI0E06 - INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL
60----DI0E07 - INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP"
60----DI0E08 - INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL
60----DI0E09 - INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE
60----DI0E0A - INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE
60----DI0E0B - INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL
60----DI0E0C - INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD"
60----DI0E0D - INT 60 u - HP 95LX System Manager - "M_COMM_COMAND"
60----DI0E0E - INT 60 u - HP 95LX System Manager - "M_COMM_BREAK"
60----DI0E0F - INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON"
60----DI0E10 - INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF"
60----DI0E11 - INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR"
60----DI0E12 - INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG"
60----DI0E13 - INT 60 u - HP 95LX System Manager - "M_COMM_STATUS"
60----DI0E14 - INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS
60----DI0E15 - INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS
60----DI0E16 - INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR"
60----DI0E17 - INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR"
60----DI0F00 - INT 60 u - HP 95LX System Manager - "M_ERRMSG"
60----DI0F01 - INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX
60----DI0F02 - INT 60 u - HP 95LX System Manager - "SHOWNAME"
60----DI0F03 - INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX
60----DI0F04 - INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX
60----DI0F05 - INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR"
60----DI0F06 - INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR"
60----DI0F07 - INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR"
60----DI0F08 - INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR"
60----DI0F09 - INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX
60----DI0F0A - INT 60 u - HP 95LX System Manager - DISABLE MACROS
60----DI0F0B - INT 60 u - HP 95LX System Manager - ENABLE MACROS
60----DI0F0C - INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS"
60----DI0F0D - INT 60 u - HP 95LX System Manager - "M_FORM_FT"
60----DI0F0E - INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO"
60----DI1005 - INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE
60----DI1200 - INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE"
60----DI1201 - INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR"
60----DI1202 - INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR"
60----DI1203 - INT 60 u - HP 95LX System Manager - "INIT_SYSMGR_RSRCS"
60----DI1300 - INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM
60----DI1301 - INT 60 u - HP 95LX System Manager - DISPLAY HELP
60----DI1302 - INT 60 u - HP 95LX System Manager - "M_HELP_KEY"
60----DI1303 - INT 60 u - HP 95LX System Manager - "M_HELP_TERM"
60----DI1400 - INT 60 u - HP 95LX System Manager - "M_ColInit"
60----DI1401 - INT 60 u - HP 95LX System Manager - "M_ColCpStr"
60----DI1402 - INT 60 u - HP 95LX System Manager - "M_ColLicsStr"
60----DI1403 - INT 60 u - HP 95LX System Manager - "M_ColLicsChar"
60----DI1404 - INT 60 u - HP 95LX System Manager - "M_ColToLower"
60----DI1405 - INT 60 u - HP 95LX System Manager - "M_ColCpSearch"
60----DI1406 - INT 60 u - HP 95LX System Manager - "M_ColToUpper"
60----DI1500 - INT 60 u - HP 95LX System Manager - "GrDispInit"
60----DI1501 - INT 60 u - HP 95LX System Manager - "GrDispClear"
60----DI1502 - INT 60 u - HP 95LX System Manager - "GrDispDot"
60----DI1503 - INT 60 u - HP 95LX System Manager - "GrDispDraw"
60----DI1504 - INT 60 u - HP 95LX System Manager - "GrDispFill"
60----DI1505 - INT 60 u - HP 95LX System Manager - "GrDispRead"
60----DI1506 - INT 60 u - HP 95LX System Manager - "GrDispString"
60----DI1507 - INT 60 u - HP 95LX System Manager - "GrDispPan"
60----DI1508 - INT 60 u - HP 95LX System Manager - "GrDispZoom"
60----DI1509 - INT 60 u - HP 95LX System Manager - "GrDispSave"
60----DI150A - INT 60 u - HP 95LX System Manager - "GrDispRestore"
60----DI150B - INT 60 u - HP 95LX System Manager - "GrDispCorner"
60----DI1604 - INT 60 u - HP 95LX System Manager - "CP_TO_LICS"
61 - INT 61 - Atari Portfolio - EXTENDED BIOS
61 - INT 61 - TI Professional PC - FACTORY ROM DATA AREA POINTER (NOT A VECTOR!)
61 - INT 61 - HP 95LX System Manager - LOAD DS
6100 - INT 61 - Atari Portfolio - SERVICE INITIALIZATION
6107 - INT 61 - Atari Portfolio - FORMAT CREDIT CARD MEMORY
6108 - INT 61 - Atari Portfolio - GET SIZE OF INTERNAL DISK
6109 - INT 61 - Atari Portfolio - FORMAT INTERNAL DISK
610B - INT 61 - Atari Portfolio - DETERMINE CCM VALIDITY
610D - INT 61 - Atari Portfolio - GET SCREEN SIZE
610E - INT 61 - Atari Portfolio - GET/SET SCREEN MODE
610F - INT 61 - Atari Portfolio - GET/SET CURSOR MODE
6110 - INT 61 - Atari Portfolio - GET/SET VIRTUAL SCREEN POSITION
6111 - INT 61 - Atari Portfolio - MOVE VIRTUAL SCREEN ORIGIN
6112 - INT 61 - Atari Portfolio - SCREEN REFRESH
6115 - INT 61 - Atari Portfolio - SOUND GENERATION
6116 - INT 61 - Atari Portfolio - MELODY TONE GENERATOR
6117 - INT 61 - Atari Portfolio - DIAL NUMBER
6118 - INT 61 - Atari Portfolio - MUTE STATES
6119 - INT 61 - Atari Portfolio - GET SERIAL PORT PARAMETERS
611A - INT 61 - Atari Portfolio - GET PERIPHERAL ID BYTE
611B - INT 61 - Atari Portfolio - SET PERIPHERAL ID BYTE
611C - INT 61 - Atari Portfolio - PRESET/GET PERIPHERAL DATA
611E - INT 61 - Atari Portfolio - GET/SET CLOCK TICK SPEED
611F - INT 61 - Atari Portfolio - GET KEY/NMI-INVOKED SCREEN REFRESH
6120 - INT 61 - Atari Portfolio - GET/SET INT 09 REVECTORING
6124 - INT 61 - Atari Portfolio - GET/SET ROM/CCM SPACE STATE
6126 - INT 61 - Atari Portfolio - GET/SET POWER CONTROL
6128 - INT 61 - Atari Portfolio - GET/SET TEXT/KEYBOARD LANGUAGE
612C - INT 61 - Atari Portfolio - GET VERSION
612D - INT 61 - Atari Portfolio - TURN SYSTEM OFF
612E - INT 61 - Atari Portfolio - ENABLE/DISABLE SYSTEM STATUS LINE
6130 - INT 61 - Atari Portfolio - FILE TRANSFER SERVICES
62 - INT 62 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
62 - INT 62 - HP 95LX - USED BY CALCULATOR
63 - INT 63 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
6300 - INT 63 - HP 100LX - MAP HIGH MEMORY
6301 - INT 63 - HP 100LX - SAVE/RESTORE MEMORY MAP
64 - INT 64 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
65 - INT 65 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
66 - INT 66 - TI Professional PC - SYSTEM INFORMATION (NOT A VECTOR!)
67 - INT 67 - TI Professional PC - SYSTEM DATA (NOT A VECTOR!)
69 - INT 69 - Zenith AT BIOS - ???
6F00 - INT 6F - HP Vectra EX-BIOS - "F_ISR" (internal) - RESPOND TO LOGICAL ISR
6F0200 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INIT" - START INITIALIZING DRIVER
6F0202 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_START" - COMPLETE DRIVER INITIALIZ.
6F0204 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_REPORT_STATE" - GET DRIVER STATE
6F0206 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_VERSION_DESC" - GET DRIVER VERSION
6F0208 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_DEF_ATTR" - RESET TO DEFAULT ATTR
6F020A - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_GET_ATTR" - GET CURRENT ATTRIBUTES
6F020C - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_SET_ATTR" - SET DEVICE ATTRIBUTES
6F020E - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_OPEN" - RESERVE DRIVER FOR ACCESS
6F0210 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_CLOSE" - RELEASE DRIVER
6F0212 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TIMEOUT" - REPORT REQUESTED TIMEOUT
6F0214 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INTERVAL" - 60 HZ INTERVAL EXPIRED
6F0216 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TEST" - PERFORM HARDWARE TEST
6F04--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_BASEHPVT" - GET HP_VECTOR_TABLE ADDRESS
6F04--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_INIT" - RESET TRACKING DRIVER TO DEFAULTS
6F0400 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_LOCK" - RESERVE SUB-ADDRESSES
6F0400BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_SVC" - UNMASK 8041 SVC INT
6F0400BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DEF_LINKS" - SET DEFAULT PARENTS
6F0400BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_ID_HP" - INSTALLATION CHECK
6F0400BP00CC - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - INIT INT 33 HANDLER
6F0402 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_UNLOCK" - RELEASE SUB-ADDRESSES
6F0402BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_SVC" - MASK 8041 SVC INT
6F0402BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_GET_LINKS" - GET DRIVER LINK FIELDS
6F0402BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_INFO" - GET DISPLAY INFO
6F0402BP00CC - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - FORCE INT 33 INIT
6F0404 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_ON" - GRAPHICS CURSOR ON
6F0404BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_KBD" - UNMASK 8041 OBF INT
6F0404BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_LINKS" - SET DRIVER LINK FIELDS
6F0404BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_INFO" - SET EXT-CTRL INFO
6F0406 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_OFF" - GRAPHICS CURSOR OFF
6F0406BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_KBD" - MASK 8041 OBF INT
6F0406BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_MOD_INFO" - SET EXT-CTRL REG
6F0406BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_RECONFIGURE" - RECONFIG LINK
6F0408 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_EVENT" - SET EVENT HANDLER
6F0408BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_HPHIL" - UNMASK HP-HIL INT
6F0408BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_RES" - GET VIDMODE RESOLUTN
6F0408BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_PROMPTS" - WRITE PROMPT
6F040A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_ON" - ENABLE EVENT HANDLER
6F040ABP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_HPHIL" - MASK HP-HIL INT
6F040ABP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_MODE" - SET VIDEO MODE
6F040ABP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_INTR" - CREATE INTERVAL ENTRY
6F040ABP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_ACK" - ACKNOWLEDGE DEVICE
6F040C - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_OFF" - DISABLE EVENT HANDLER
6F040CBP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DELET_INTR" - DELETE INTERVAL ENTRY
6F040CBP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPEAT" - SET KEY REPEAT RATE
6F040E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_ON" - ENABLE CLIPPING
6F040EBP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABL_INTR" - START INTERRUPT SRVICE
6F040EBP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_DISABLE_REPEAT" - KEY REPT OFF
6F0410 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_OFF" - DISABLE CLIPPING
6F0410BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISBL_INTR" - END INTERRUPT SERVICE
6F0410BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_SELF_TEST" - PERFORM SELFTEST
6F0412BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_RAMSW" - SET RAM SWITCH IN 8041
6F0412BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_STATUS" - GET DEVSTATUS
6F0414BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_RAMSW" - CLEAR 8041 RAM SWITCH
6F0414BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_NAME" - GET DEV NAME
6F0416BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_CRTSW" - SET CRT TO MULTIMODE
6F0416BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_REPEAT" - SET TYPEMATIC
6F0418BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_CRTSW" - SET CRT TO MONOCHROME
6F0418BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_LED" - SET KEYBOARD LEDS
6F041ABP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_PASS_THRU" - SEND DATA BYTE TO 8041
6F06 - INT 6F - HP Vectra EX-BIOS - "F_PUT_BYTE" - WRITE A BYTE OF DATA TO DEVICE
6F06 - INT 6F - HP Vectra EX-BIOS - "F_SAMPLE" - POLL CURRENT ABSOLUTE POSITION
6F06--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFIX" - EXCH VALUES WITH FIXED VECTOR
6F06--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE" - GET DRIVER PHYSICAL DESCRIBE RECORD
6F06--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_ON" - ENABLE CURSOR TRACKING
6F08 - INT 6F - HP Vectra EX-BIOS - "F_GET_BYTE" - READ A BYTE OF DATA FROM DEVICE
6F08--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGRSVD" - EXCH VALUES WITH RESRVED VECTOR
6F08--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ALL" - GET DRIVER STATUS TABLE
6F08--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_OFF" - DISABLE CURSOR TRACKING
6F0A - INT 6F - HP Vectra EX-BIOS - "F_PUT_BUFFER" - WRITE A BUFFER TO DEVICE
6F0A - INT 6F - HP Vectra EX-BIOS - "F_PUT_BLOCK" - WRITE BLOCKS TO DEVICE
6F0A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFREE" - EXCH VALUES WITH FREE VECTOR
6F0A--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_FIRST" - GET PHYSICAL DRIVER VECTOR
6F0A--BP005A - INT 6F - HP Vectra EX-BIOS - "F_DEF_MASKS" - DEFINE GRAPHICS CURSOR MASKS
6F0C - INT 6F - HP Vectra EX-BIOS - "F_GET_BUFFER" - READ A BUFFER OF DATA FROM DEVICE
6F0C - INT 6F - HP Vectra EX-BIOS - "F_GET_BLOCK" - READ BLOCKS OF DATA FROM DEVICE
6F0C--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXOWNDS" - INSTALL VALUES IN FIXED VECTOR
6F0C--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ENTRY" - GET GID DRIVER ENTRY POINT
6F0C--BP005A - INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_X" - SET HORIZONTAL TRACKING LIMITS
6F0E - INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE WORD OF DATA TO DEVICE
6F0E - INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE A WORD OF DATA
6F0E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGETDS" - INSTALL VALUES IN FIXED VECTOR
6F0E--BP005A - INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_Y" - SET VERTICAL TRACKING LIMITS
6F10 - INT 6F - HP Vectra EX-BIOS - "F_GET_WORD" - READ WORD OF DATA FROM DEVICE
6F10--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGLBDS" - INSTALL VALUES IN FIXED VECTOR
6F10--BP005A - INT 6F - HP Vectra EX-BIOS - "F_PUT_SPRITE" - DISPLAY GRAPHICS CURSOR SPRITE
6F12--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEOWNDS" - INSTALL VALUES IN FREE VECTOR
6F12--BP005A - INT 6F - HP Vectra EX-BIOS - "F_REMOVE_SPRITE" - REMOVE GRAPHICS CURSOR SPRITE
6F14--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGETDS" - INSTALL VALUES IN FREE VECTOR
6F16--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGLBDS" - INSTALL VALUES IN FREE VECTOR
6F18--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIND" - FIND DRIVER BY ATTRIBUTES
6F1E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_RAM_GET" - GET EX-BIOS FREE RAM AREA
6F20--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_RAM_RET" - RESERVE EX-BIOS MEMORY
6F22--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_CMOS_GET" - READ CMOS MEMORY
6F24--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_CMOS_RET" - WRITE CMOS MEMORY
6F2A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_YIELD" - GIVE UP CPU TO OTHER TASKS
6F30--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_ENABLE" - TURN ON KEYCLICKS
6F32--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_DISABLE" - TURN OFF KEYCLICKS
6F34--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK" - GENERATE KEYCLICK
6F36--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_ENABLE" - ENABLE BEEPS
6F38--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_DISABLE" - DISABLE BEEPS
6F3A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP" - SOUND BEEP WITH CURRENT VALUES
6F3C--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_SET_BEEP" - SET BEEP FREQUENCY AND DURATION
6F3E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_TONE" - SOUND TONE WITH FREQ AND DURATION
6F40--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_FREE_INDEX" - FIND FREE STRING INDEX
6F42--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_DEL_BUCKET" - DEL HEADER FROM BUCKET LIST
6F44--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_PUT_BUCKET" - ADD HEADER TO BUCKET HDR LIST
6F46--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_STRING" - FIND STRING IN BUCKET LIST
6F48--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_INDEX" - GET INDEX FOR STRING
80 - INT 80 U - AMI BIOS v1.00.12.AX1T - internal - BIOS SUBSYSTEM SELECTION
81 - INT 81 - AMI WinBIOS - SECOND HARD DRIVE AUTODETECTION
DF - INT DF - Victor 9000/Sirius 1 - SuperBIOS
FF - INT FF - Z100 - WARM BOOT
Top

c - caches/spoolers,

131D - INT 13 - IBMCACHE.SYS - CACHE STATUS
1320 - INT 13 u - QUICKCACHE II v4.20 - DISMOUNT
1321 - INT 13 u - QUICKCACHE II v4.20 - FLUSH CACHE
1322 - INT 13 u - QUICKCACHE II v4.20 - ENABLE/DISABLE CACHE
1323 - INT 13 U - QUICKCACHE II v4.20 - GET ??? ADDRESS
1324 - INT 13 u - QUICKCACHE II v4.20 - SET SECTORS
1325 - INT 13 u - QUICKCACHE II v4.20 - SET FLUSH INTERVAL
1326 - INT 13 U - QUICKCACHE II v4.20 - UNINSTALL
1327--BX0000 - INT 13 u - QUICKCACHE II v4.20 - INSTALLATION CHECK
1328 - INT 13 U - QUICKCACHE II v4.20 - SET AUTOMATIC DISMOUNT
1329 - INT 13 U - QUICKCACHE II v4.20 - NOP
132A - INT 13 u - QUICKCACHE II v4.20 - SET BUFFER SIZE
132B - INT 13 U - QUICKCACHE II v4.20 - DRIVE ACCESS SOUNDS
132C - INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED WRITES
132D - INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED READ
132E - INT 13 u - QUICKCACHE II v4.20 - SET FLUSH COUNT
132F - INT 13 - QUICKCACHE II v4.20 - FORCE IMMEDIATE INCREMENTAL FLUSH
1330 - INT 13 u - QUICKCACHE II v4.20 - GET INFO
1331 - INT 13 U - QUICKCACHE II v4.20 - RESERVE MEMORY
1332 - INT 13 U - QUICKCACHE II v4.20 - ENABLE CACHING FOR SPECIFIC DRIVE
1333 - INT 13 U - QUICKCACHE II v4.20 - DISABLE CACHING FOR SPECIFIC DRIVE
1334 - INT 13 U - QUICKCACHE II v4.20 - SECTOR LOCKING
1335 - INT 13 U - QUICKCACHE II v4.20 - SET LOCK POOL SIZE
1336 - INT 13 U - QUICKCACHE II v4.20 - SET TRACE BUFFER SIZE
1337 - INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED READS FOR SPECIFIC DRIVE
1338 - INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED WRITES FOR SPECIFIC DRIVE
1339 - INT 13 U - QUICKCACHE II v4.20 - SET READ BUFFER SIZE FOR SPECIFIC DRIVE
133A - INT 13 U - QUICKCACHE II v4.20 - SET WRITE BUFFER SIZE FOR SPECIFIC DRIVE
133B - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
133C - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
133D - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE CYLINDER FLUSH FOR DRIVE
133E - INT 13 U - QUICKCACHE II v4.20 - SET SINGLE-SECTOR BONUS
133F - INT 13 U - QUICKCACHE II v4.20 - SET BONUS THRESHOLD
1340 - INT 13 U - QUICKCACHE II v4.20 - SET "sticky_max"
1341 - INT 13 U - QUICKCACHE II v4.20 - SAVE/RESTORE ???
137B00 - INT 13 - NOW! v3.05 - GET INFORMATION
137B01 - INT 13 - NOW! v3.05 - ???
137B02 - INT 13 - NOW! v3.05 - SET INFORMATION
137B03 - INT 13 - NOW! v3.05 - ???
137B04 - INT 13 - NOW! v3.05 - ???
137B05 - INT 13 - NOW! v3.05 - GET DISK ACCESSES???
137B06 - INT 13 - NOW! v3.05 - GET ???
137B07 - INT 13 - NOW! v3.05 - GET ???
137B08 - INT 13 - NOW! v3.05 - ???
1380--CX6572 - INT 13 - FAST! v4.02+ - API
138001CX6572 - INT 13 - FAST! v4.02+ - GET CACHE INFORMATION
138006CX6572 - INT 13 - FAST! v4.02+ - INSTALLATION CHECK
138007CX6572 - INT 13 - FAST! v4.02+ - UNHOOK INTERRUPTS
1381--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1382--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1383--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1384--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1385--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
1386--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
1387--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
1388--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
1389--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
138A--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
138EED - INT 13 - HyperDisk v4.01+ - ???
138EEE - INT 13 - HyperDisk v4.01+ - ???
138EEF - INT 13 - HyperDisk v4.01+ - ???
1392--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1393--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1394--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1395--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1396--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1397--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1398--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
1399--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139A--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139B--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139C--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
139D--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
13A0--SI4358 - INT 13 - Super PC-Kwik v3.20+ - GET RESIDENT CODE SEGMENT
13A1--SI4358 - INT 13 - Super PC-Kwik v3.20+ - FLUSH CACHE
13A2--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
13A3--SI4358 - INT 13 U - Super PC-Kwik v5.10+ - DISABLE CACHE
13A4--SI4358 - INT 13 U - Super PC-Kwik v5.10+ - ENABLE CACHE
13A5--SI4358 - INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM TERMINATION NOTIFICATION
13A6--SI4358 - INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM LOAD NOTIFICATION
13A7--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - ???
13A8--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - ???
13A9--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - EXITCODE RETRIEVAL NOTIFICATION
13AA--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AB--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AC--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AD--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
13AE--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
13B0--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
13EF - INT 13 - Ontrack Drive Rocket - SET CYLINDER OFFSET
152000 - INT 15 U - DOS 3.0+ PRINT.COM - DISABLE CRITICAL REGION FLAG
152001 - INT 15 U - DOS 3.0+ PRINT.COM - SET CRITICAL REGION FLAG
165758BX4858 - INT 16 U - Netroom CACHECLK - INSTALLATION CHECK
16FFA5CX1111 - INT 16 - PC-Cache v6+ - INSTALLATION CHECK
16FFA5CXAAAA - INT 16 - PC-Cache v6+ - ENABLE DELAYED WRITES
16FFA5CXCCCC - INT 16 - PC-Cache v6+ - FLUSH CACHE AND DISABLE DELAYED WRITES
16FFA5CXDDDD - INT 16 - PC-Cache v6+ - FLUSH AND DISABLE CACHE
16FFA5CXEEEE - INT 16 - PC-Cache v6+ - ENABLE CACHE
16FFA5CXFFFF - INT 16 - PC-Cache v6+ - FLUSH CACHE
1703 - INT 17 - PC-MOS/386 v5.01 - PRINT SPOOLER - PRINT STRING
1703--BX5A00 - INT 17 - DMP Print Spooler v2.03 - INSTALLATION CHECK
17C0 - INT 17 - PC Magazine PCSpool - GET CONTROL BLOCK ADDRESS
17C1 - INT 17 - PC Magazine PCSpool - BUILD PAUSE CONTROL RECORD
17C2 - INT 17 - PC Magazine PCSpool - FLUSH PENDING WRITES
17C3 - INT 17 - PC Magazine PCSpool - CANCEL PRINTER QUEUE (FLUSH ALL QUEUED OUTPUT)
17C4 - INT 17 - PC Magazine PCSpool - QUERY SPOOLER ACTIVE
17C5 - INT 17 - PC Magazine PCSpool - JOB SKIP PRINTER QUEUE
17C6 - INT 17 - PC Magazine PCSpool - CHECK PRINTER QUEUE STATUS
17C7 - INT 17 - PC Magazine PCSpool - CLOSE QUEUE
17FF--BX0000 - INT 17 U - PC-MOS/386 v5.01 - PRINT SPOOLER - CLOSE SPOOL FILE
1AA0 - INT 1A U - Disk Spool II v2.07+ - INSTALLATION CHECK
1AAB - INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
1AAC - INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
1AAD - INT 1A U - Disk Spool II v1.83 - FUNCTION CALLS
1AC0 - INT 1A U - Disk Spool II v2.07+ - ALTERNATE INSTALLATION CHECK
1AD0 - INT 1A U - Disk Spool II v2.07+ - FUNCTION CALLS
1AE0 - INT 1A - Disk Spool II v4.0x - ENABLE/DISABLE
1AE1 - INT 1A - Disk Spool II v4.0x - GET STATUS
1AE2 - INT 1A - Disk Spool II v4.0x - GET SPOOL FILES
1AE301 - INT 1A - Disk Spool II v4.0x - GET SPOOL FILE STATUS
1AE302 - INT 1A - Disk Spool II v4.0x - UPDATE SPOOL FILE
1AE401 - INT 1A - Disk Spool II v4.0x - SPOOL EXISTING FILE
1AE402 - INT 1A U - Disk Spool II v4.0x - SPOOL EXISTING FILE???
1AE5 - INT 1A U - Emulaser ELSPL.COM - ???
1AEE - INT 1A U - Disk Spool II v4.05 - ???
212B--CX4358 - INT 21 - Super PC-Kwik v3.20+ - INSTALLATION CHECK
214402 - INT 21 - SMARTDRV.SYS v3.x only - IOCTL - GET CACHE STATUS
214403 - INT 21 - SMARTDRV.SYS v3.x only - IOCTL - CACHE CONTROL
214404 - INT 21 - COMBI-disk v1.13 - GET DATA RECORD
25--FFSI4358 - INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
2F00 - INT 2F U - DOS 2.x only PRINT.COM - SUBMIT FILE FOR PRINTING
2F0080 - INT 2F - DOS 3.1+ PRINT - GIVE PRINT A TIME SLICE
2F01 - INT 2F U - DOS 2.x only PRINT.COM - REMOVE FILE FROM PRINT QUEUE
2F0100 - INT 2F - DOS 3.0+ PRINT - INSTALLATION CHECK
2F0100SI20D6 - INT 2F U - PrintCache 3.1 PRINT.COM - INSTALLATION CHECK
2F0101 - INT 2F - DOS 3.0+ PRINT - SUBMIT FILE FOR PRINTING
2F0101SI20D6 - INT 2F U - PrintCache v3.1 PRINT.COM - SUBMIT FILE FOR PRINTING
2F0102 - INT 2F - DOS 3.0+ PRINT - REMOVE FILE FROM PRINT QUEUE
2F0103 - INT 2F - DOS 3.0+ PRINT - CANCEL ALL FILES IN PRINT QUEUE
2F0104 - INT 2F - DOS 3.0+ PRINT - FREEZE PRINT QUEUE TO READ JOB STATUS
2F0105 - INT 2F - DOS 3.0+ PRINT - RESTART PRINT QUEUE AFTER STATUS READ
2F0106 - INT 2F - DOS 3.3+ PRINT - GET PRINTER DEVICE
2F0107 - INT 2F U - PrintCache v3.1 PRINT.COM - SET TRAILING FORM FEEDS
2F1500CH90 - INT 2F U - CDBLITZ v2.11 - INSTALLATION CHECK
2F1500CH91 - INT 2F U - CDBLITZ v2.11 - GET STATISTICS
2F1500CH92 - INT 2F U - CDBLITZ v2.11 - ENABLE CACHE
2F1500CH93 - INT 2F U - CDBLITZ v2.11 - DISABLE CACHE
2F1500CH94 - INT 2F U - CDBLITZ v2.11 - SET 'MAX' MODE (CACHE BOTH DIRECTORIES AND DATA)
2F1500CH95 - INT 2F U - CDBLITZ v2.11 - SET 'MIN' MODE (CACHE ONLY DIRECTORY ENTRIES)
2F1500CH96 - INT 2F U - CDBLITZ v2.11 - FLUSH CACHE
2F1500CH97 - INT 2F U - CDBLITZ v2.11 - GET CACHE STATISTICS
2F1500CH99 - INT 2F U - CDBLITZ v2.11 - UNINSTALL
2F4A10BX0000 - INT 2F - SMARTDRV v4.00+ - INSTALLATION CHECK AND HIT RATIOS
2F4A10BX0000 - INT 2F U - Novell NWCACHE - INSTALLATION CHECK AND STATISTICS
2F4A10BX0001 - INT 2F - SMARTDRV v4.00+ - FLUSH BUFFERS (COMMIT CACHE)
2F4A10BX0001 - INT 2F U - Novell NWCACHE - ???
2F4A10BX0002 - INT 2F - SMARTDRV v4.00+ - RESET CACHE
2F4A10BX0003 - INT 2F - SMARTDRV v4.00+ - STATUS
2F4A10BX0004 - INT 2F - SMARTDRV v4.00+ - GET CACHE SIZE
2F4A10BX0005 - INT 2F - SMARTDRV v4.00+ - GET DOUBLE-BUFFER STATUS
2F4A10BX0006 - INT 2F CU - SMARTDRV v4.00+ - CHECK IF DRIVE CACHEABLE
2F4A10BX0007 - INT 2F - SMARTDRV v4.00+ - GET DEVICE DRIVER FOR DRIVE
2F4A10BX0008 - INT 2F - SMARTDRV v4.20+ - GET/SET FLUSH BEFORE PROMPT, CD-ROM SUPPORT
2F4A10BX000A - INT 2F - SMARTDRV v4.00+ - GET ELEMENT STATUS TABLE
2F4A10BX1234 - INT 2F - SMARTDRV v4.00+ - SIGNAL SERIOUS ERROR
2F5758BX4858 - INT 2F U - Helix Multimedia Cloaking - CACHECLK - INSTALLATION CHECK
2FC000 - INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALLATION CHECK
2FC001 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ENTRY POINTS
2FC002 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET BUFFER SIZE
2FC003 - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
2FC004 - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
2FC005 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC006 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC007 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC008 - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
2FC009 - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
2FC00A - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC00B - INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
2FC00C - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC00D - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ???
2FC00E - INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALL ???
2FC00F - INT 2F U - PrintCache v3.1 PCACHE.EXE - REMOVE ???
2FC010 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC011 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC012 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
2FC013 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC014 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC015 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC016 - INT 2F U - PrintCache v3.1 PCACHE.EXE - INCREMENT ???
2FC017 - INT 2F U - PrintCache v3.1 PCACHE.EXE - DECREMENT ???
2FC018 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC019 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC01A - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
2FC01B - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
2FC01C - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
2FC01D - INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
2FCC--SI5453 - INT 2F U - PC-Kwik Programs - API
2FDF00 - INT 2F - HyperWare programs - INSTALLATION CHECK
2FDF01BX4448 - INT 2F - HyperDisk v4.50+ - GET CURRENT CACHE STATE
2FDF02BX4448 - INT 2F - HyperDisk v4.50+ - SET CACHE STATE
Top

d - disk I/O enhancements,

11----SI6A6A - INT 11 - Columbia Data Products Standard Device Level Protocol (SDLP) 1.6
11FF--SI6A6A - INT 11 - WD7000 SDLP interface - EXECUTE GENERIC SCSI COMMAND
12----CX1807 - INT 12 - PARKER v2.0+ - INSTALLATION CHECK
1305 - INT 13 - Future Domain SCSI BIOS - SEND SCSI MODE SELECT COMMAND
13057FSI324D - INT 13 - 2M - FORMAT TRACK
1306 - INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE WITH BAD SECTOR MAPPING
1306 - INT 13 - Adaptec AHA-154xA/Bustek BT-542 BIOS - IDENTIFY SCSI DEVICES
1306 - INT 13 - V10DISK.SYS - READ DELETED SECTORS
1307 - INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE
1307 - INT 13 - V10DISK.SYS - WRITE DELETED SECTORS
1308 - INT 13 - V10DISK.SYS - SET FORMAT
1312 - INT 13 - Future Domain SCSI CONTROLLER - STOP SCSI DISK
1312 - INT 13 - SyQuest - START/STOP SCSI DISK
1313 - INT 13 - SyQuest - READ DRIVE PARAMATERS (for DOS 5+)
131700 - INT 13 - Future Domain SCSI CONTROLLER - GET INQUIRY INFO FROM SCSI DEVICE
1318 - INT 13 - Future Domain SCSI BIOS - GET SCSI CONTROLLER INFORMATION
1318--CX5055 - INT 13 - PU_1700.COM - INSTALLATION CHECK
1318--CXD2C9 - INT 13 - XDF.COM - API
1319 - INT 13 - Future Domain SCSI CONTROLLER - REINITIALIZE DRIVE
131A - INT 13 - ESDI FIXED DISK - FORMAT UNIT (PS)
131A - INT 13 - Future Domain SCSI CONTROLLER - GET SCSI PARTIAL MEDIUM CAPACITY
131B - INT 13 - ESDI FIXED DISK - GET MANUFACTURING HEADER
131B - INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO SCSI DISK INFO BLOCK
131C - INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO FREE CONTROLLER RAM
131C - INT 13 U - ESDI FIXED DISK - ???
131C08 - INT 13 U - ESDI FIXED DISK - GET COMMAND COMPLETION STATUS
131C09 - INT 13 U - ESDI FIXED DISK - GET DEVICE STATUS
131C0A - INT 13 U - ESDI FIXED DISK - GET DEVICE CONFIGURATION
131C0B - INT 13 U - ESDI FIXED DISK - GET ADAPTER CONFIGURATION
131C0C - INT 13 U - ESDI FIXED DISK - GET POS INFORMATION
131C0D - INT 13 U - ESDI FIXED DISK - ???
131C0E - INT 13 U - ESDI FIXED DISK - TRANSLATE RBA TO ABA
131C0F - INT 13 U - ESDI FIXED DISK - ???
131C12 - INT 13 U - ESDI FIXED DISK - ???
131F - INT 13 - SyQuest - DOOR LATCH/DOOR BUTTON DETECT
1320 - INT 13 - DISK - ??? (Western Digital "Super BIOS")
1321 - INT 13 - HARD DISK - PS/1 and newer PS/2 - READ MULTIPLE DISK SECTORS
1322 - INT 13 - HARD DISK - PS/1 and newer PS/2 - WRITE MULTIPLE DISK SECTORS
1323 - INT 13 U - HARD DISK - PS/1 and newer PS/2 - SET CONTROLLER FEATURES REGISTER
1324 - INT 13 - HARD DISK - PS/1 and newer PS/2 - SET MULTIPLE MODE
1325 - INT 13 - HARD DISK - PS/1 and newer PS/2 - IDENTIFY DRIVE
1341--BX55AA - INT 13 - IBM/MS INT 13 Extensions - INSTALLATION CHECK
1342 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED READ
1343 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED WRITE
1344 - INT 13 - IBM/MS INT 13 Extensions - VERIFY SECTORS
1345 - INT 13 - IBM/MS INT 13 Extensions - LOCK/UNLOCK DRIVE
1346 - INT 13 - IBM/MS INT 13 Extensions - EJECT MEDIA
1347 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED SEEK
1348 - INT 13 - IBM/MS INT 13 Extensions - GET DRIVE PARAMETERS
1349 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED MEDIA CHANGE
134A - INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION
134B00 - INT 13 - Bootable CD-ROM - TERMINATE DISK EMULATION
134B01 - INT 13 - Bootable CD-ROM - GET STATUS
134C - INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION AND BOOT
134D00 - INT 13 - Bootable CD-ROM - RETURN BOOT CATALOG
134E - INT 13 - IBM/MS INT 13 Extensions v2.1+ - SET HARDWARE CONFIGURATION
135001 - INT 13 - Enhanced Disk Drive Spec v3.0 - SEND PACKET COMMAND
135501 - INT 13 - Seagate ST01/ST02 - Inquiry
135502 - INT 13 - Seagate ST01/ST02 - RESERVED
135503 - INT 13 - Seagate ST01/ST01 - Set Device Type Qualifier (DTQ)
135504 - INT 13 U - Seagate - ??? - RETURN IDENTIFICATION
135504 - INT 13 - Seagate ST01/ST02 - RETURN IDENTIFICATION
135505 - INT 13 - Seagate - ??? - PARK HEADS
135505 - INT 13 - Seagate ST01/ST02 - PARK HEADS
135506 - INT 13 - Seagate ST01/ST02 - SCSI Bus Parity
135507 - INT 13 - Seagate ST01/ST02 - RESERVED FUNCTIONS
135514 - INT 13 U - Seagate - ???
135515 - INT 13 U - Seagate - PARK HEADS???
1359 - INT 13 - SyQuest - Generic SCSI pass through
1370 - INT 13 - Priam EDVR.SYS DISK PARTITIONING SOFTWARE???
13AD - INT 13 - Priam HARD DISK CONTROLLER???
13E000 - INT 13 - XBIOS - COMMAND
13EE - INT 13 - SWBIOS - SET 1024-CYLINDER FLAG
13F9 - INT 13 - SWBIOS - INSTALLATION CHECK
13FE - INT 13 - SWBIOS - GET EXTENDED CYLINDER COUNT
150F - INT 15 C - SYSTEM - FORMAT UNIT PERIODIC INTERRUPT (PS ESDI drives only)
1552 - INT 15 C - IBM/MS INT 13 Extensions - MEDIA EJECT INTERCEPT
16FF70BX0000 - INT 16 U - PC Tools v8+ DRIVEMAP - INSTALLATION CHECK
16FF70BX0001 - INT 16 U - PC Tools v8+ DRIVEMAP - ???
16FF70BX0002 - INT 16 U - PC Tools v8+ DRIVEMAP - ???
16FFA3BXFFA3 - INT 16 U - PC Tools v9 DSKLIGHT - INSTALLATION CHECK
1AB001CX4D52 - INT 1A - Microsoft Real-Time Compression Interface (MRCI) - ROM-BASED SERVER
214402 - INT 21 - CD-ROM device driver - IOCTL INPUT
214402 - INT 21 - Advanced SCSI Programming Interface (ASPI) - INTERFACE
214402 - INT 21 - ATA Software Programming Interface (ATASPI) - INTERFACE
214403 - INT 21 - CD-ROM device driver - IOCTL OUTPUT
214403 - INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
214404 - INT 21 U - xDISK v3.31 - CONFIGURE
214404 - INT 21 - SFS v1.00 - GET CONFIGURATION INFORMATION
214405 - INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
214405 - INT 21 U - xDISK v3.31 - ???
214405 - INT 21 - COMBI-disk v1.13 - CONTROL COMBI-disk
214405 - INT 21 - SFS v1.00 - DRIVER CONTROL
21440C - INT 21 - Greg Shenaut ASPITAPE.SYS - INTERFACE
214410BXFFFF - INT 21 U - NewSpace - ENABLE DRIVER
214411BXFFFF - INT 21 U - NewSpace - DISABLE DRIVER
214412BXFFFF - INT 21 U - NewSpace - INSTALLATION CHECK???
214413BXFFFF - INT 21 U - NewSpace - GET ???
214414BXFFFF - INT 21 U - NewSpace - DEBUGGING DUMP
2144FFBXFFFF - INT 21 U - NewSpace - ???
2169FFDX0000 - INT 21 U - CUBIT v4.00 - GET CUBIT INT 21 HANDLER
2169FFDXCFBF - INT 21 U - CUBIT v4.00 - UNINSTALL
21DC - INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
21FEDC - INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
2D--10 - INT 2D - dLite 1.0+ - GET PARAMETER BLOCK ADDRESS
2D--11 - INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET ORIGINAL SIZE
2D--12 - INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET COMPRESSED SIZE
2F1001 - INT 2F U - DR DOS 6.0+ FDOS EXTENSIONS - INSTALL FDOS HOOK (SHARE / DELWATCH)
2F1010CX0000 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - SUPERSTOR - QUERY PHYS FREE SPACE
2F1100SFDADA - INT 2F - MSCDEX (MS CD-ROM Extensions) - INSTALLATION CHECK
2F1500BX0000 - INT 2F - CD-ROM - INSTALLATION CHECK
2F1501 - INT 2F - CD-ROM - GET DRIVE DEVICE LIST
2F1502 - INT 2F - CD-ROM - GET COPYRIGHT FILE NAME
2F1503 - INT 2F - CD-ROM - GET ABSTRACT FILE NAME
2F1504 - INT 2F - CD-ROM - GET BIBLIOGRAPHIC DOC FILE NAME
2F1505 - INT 2F - CD-ROM - READ VTOC
2F1506 - INT 2F - CD-ROM - TURN DEBUGGING ON
2F1507 - INT 2F - CD-ROM - TURN DEBUGGING OFF
2F1508 - INT 2F - CD-ROM - ABSOLUTE DISK READ
2F1509 - INT 2F - CD-ROM - ABSOLUTE DISK WRITE
2F150A - INT 2F - CD-ROM - RESERVED
2F150B - INT 2F - CD-ROM v2.00+ - DRIVE CHECK
2F150CBX0000 - INT 2F - CD-ROM v2.00+ - GET MSCDEX.EXE VERSION (GET VERSION)
2F150D - INT 2F - CD-ROM v2.00+ - GET CD-ROM DRIVE LETTERS
2F150E - INT 2F - CD-ROM v2.00+ - GET/SET VOLUME DESCRIPTOR PREFERENCE
2F150F - INT 2F - CD-ROM v2.00+ - GET DIRECTORY ENTRY
2F1510 - INT 2F - CD-ROM v2.10+ - SEND DEVICE DRIVER REQUEST
2F15FFBX0000 - INT 2F - CD-ROM - CORELCDX - INSTALLATION CHECK
2F5700 - INT 2F U - IOMEGA DRIVERS - INSTALLATION CHECK
2F5701 - INT 2F U - IOMEGA DRIVERS - SECONDARY INSTALLATION CHECK
2F5710 - INT 2F U - IOMEGA DRIVERS - GET DRIVER INFORMATION???
2F5711 - INT 2F U - IOMEGA DRIVERS - LOCK MEDIA IN DRIVE
2F5712 - INT 2F U - IOMEGA DRIVERS - UNLOCK MEDIA IN DRIVE / EJECT
2F7200 - INT 2F - SRDISK v1.30+ - INSTALLATION CHECK
2F7201 - INT 2F - SRDISK v2.02 - GET CODE/DATA SEGMENT
2F7F00 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - INSTALLATION CHECK
2F7F01 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO COMMAND
2F7F02 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO RESET
2F7F03 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - UNINSTALL
2FAFDE - INT 2F - Disk-Emu - INSTALLATION CHECK / GET VERSION
2FC300 - INT 2F - SETWPR.COM - INSTALLATION CHECK
2FC302 - INT 2F - SETWPR.COM - SET WRITE-PROTECTION STATE
2FC64CBX5553 - INT 2F U - Smart Prompt - INSTALLATION CHECK
2FD8C0 - INT 2F U - Novell NLCACHE,NWCACHE - INSTALLATION CHECK
2FDD--BX7844 - INT 2F - xDISK v3.32+ - INSTALLATION CHECK
2FF700 - INT 2F - AUTOPARK.COM - INSTALLATION CHECK
2FF701 - INT 2F - AUTOPARK.COM - SET PARKING DELAY
2FF800CX4455 - INT 2F U - SuperStor PRO 2XON.COM - INSTALLATION CHECK
2FF801CX4455 - INT 2F U - SuperStor PRO 2XON.COM - UNINSTALL
4B - INT 4B - Common Access Method SCSI interface (draft revision 1.9)
4B80 - INT 4B - IBM SCSI interface
4B8102DX0000 - INT 4B - Virtual DMA Specification (VDS) - GET VERSION
4B8103 - INT 4B - Virtual DMA Specification - LOCK DMA REGION
4B8104 - INT 4B - Virtual DMA Specification - UNLOCK DMA REGION
4B8105 - INT 4B - Virtual DMA Specification - SCATTER/GATHER LOCK REGION
4B8106 - INT 4B - Virtual DMA Specification - SCATTER/GATHER UNLOCK REGION
4B8107 - INT 4B - Virtual DMA Specification - REQUEST DMA BUFFER
4B8108 - INT 4B - Virtual DMA Specification - RELEASE DMA BUFFFER
4B8109DX0000 - INT 4B - Virtual DMA Specification - COPY INTO DMA BUFFER
4B810ADX0000 - INT 4B - Virtual DMA Specification - COPY OUT OF DMA BUFFER
4B810B - INT 4B - Virtual DMA Specification - DISABLE DMA TRANSLATION
4B810C - INT 4B - Virtual DMA Specification - ENABLE DMA TRANSLATION
4F0081 - INT 4F - ATA Software Programming Interface (ATASPI) - SEND ATASPI REQUEST
4F0082CX8765 - INT 4F - ATA Software Programming Interface (ATASPI) - INSTALLATION CHECK
4F8100 - INT 4F - Common Access Method SCSI interface rev 2.3 - SEND CCB TO XPT/SIM
4F8200CX8765 - INT 4F - Common Access Method SCSI interface rev 2.3 - INSTALLATION CHECK
60 - INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
61 - INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
62 - INT 62 - Adaptec and OMTI controllers - DRIVE 0 DATA
63 - INT 63 - Adaptec and OMTI controllers - DRIVE 0 DATA
63 - INT 63 - 4+Power FLOPPY CONTROLLER - ORIGINAL INT 13/40
64 - INT 64 - Adaptec controllers - DRIVE 1 DATA
64 - INT 64 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
65 - INT 65 - Adaptec controllers - DRIVE 1 DATA
65 - INT 65 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
66 - INT 66 - Adaptec controllers - DRIVE 1 DATA
66 - INT 66 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
67 - INT 67 - Adaptec controllers - DRIVE 1 DATA
67 - INT 67 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
78 - INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
7800 - INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
7801 - INT 78 - TARGA.DEV - GET I/O PORT
7802 - INT 78 - TARGA.DEV - SET DMA CHANNEL
7803 - INT 78 - TARGA.DEV - GET DMA CHANNEL
7804 - INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
7805 - INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
7806 - INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
7808 - INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
7809 - INT 78 - TARGA.DEV - RESET SCSI BUS
7810 - INT 78 - TARGA.DEV - SEND SCSI COMMAND
7811 - INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
7812 - INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
7813 - INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
7814 - INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
7815 - INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
79 - INT 79 U - ADP-60 IDE adapter - ???
80 - INT 80 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
81 - INT 81 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
C0 - INT C0 - AMI BIOS - DRIVE 0 DATA
C1 - INT C1 - AMI BIOS - DRIVE 0 DATA
C2 - INT C2 - AMI BIOS - DRIVE 0 DATA
C3 - INT C3 - AMI BIOS - DRIVE 0 DATA
C4 - INT C4 - AMI BIOS - DRIVE 1 DATA
C5 - INT C5 - AMI BIOS - DRIVE 1 DATA
C6 - INT C6 - AMI BIOS - DRIVE 1 DATA
C7 - INT C7 - AMI BIOS - DRIVE 1 DATA
Top

e - electronic mail

164500 - INT 16 - Shamrock Software EMAIL - GET STATUS
164501 - INT 16 - Shamrock Software EMAIL - GET ELAPSED ONLINE TIME AND MAXIMUM TIME
164502 - INT 16 - Shamrock Software EMAIL - GET CURRENT COMMUNICATIONS PARAMETERS
164503 - INT 16 - Shamrock Software EMAIL - SPECIFY COMMAND-WORD FOR USER FUNCTION
164504 - INT 16 - Shamrock Software EMAIL - CHECK FOR USER FUNCTION COMMAND-WORD
164505 - INT 16 - Shamrock Software EMAIL - SEND RESULT OF USER FUNCTION
164506 - INT 16 - Shamrock Software EMAIL - MONITOR XMODEM DOWNLOAD
2F92 - INT 2F - Network Courier E-Mail - API
2F9400 - INT 2F - MICRO.EXE - INSTALLATION CHECK
2F9401 - INT 2F - MICRO.EXE - SET ??? FLAG
2F9402 - INT 2F - MICRO.EXE - ???
2F9403 - INT 2F - MICRO.EXE - SET ??? FLAG
2F9404 - INT 2F - MICRO.EXE - CLEAR ??? FLAG
2F9C - INT 2F - Network Courier E-Mail OPERATOR.EXE - API
7B - INT 7B U - MCI Express v2.11+ - DRIVER.EXE - ???
92E1 - INT 92 - Da Vinci eMail Dispatcher INTERFACE
92E100 - INT 92 - Da Vinci eMail Dispatcher - "NetInitStart"
92E101BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetInitCheck"
92E102BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetCheckDriver"
92E103BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetTerminate"
92E104 - INT 92 - Da Vinci eMail Dispatcher - "NetWhereIs"
92E105 - INT 92 - Da Vinci eMail Dispatcher - "NetOpen"
92E106BX0004 - INT 92 - Da Vinci eMail Dispatcher - "NetRead"
92E107BX0002 - INT 92 - Da Vinci eMail Dispatcher - "NetGetError"
92E108 - INT 92 - Da Vinci eMail Dispatcher - "NetWrite"
92E109 - INT 92 - Da Vinci eMail Dispatcher - "NetErrorFix" (UNUSED)
92E10A - INT 92 - Da Vinci eMail Dispatcher - "NetClose"
92E10B - INT 92 - Da Vinci eMail Dispatcher - "NetCheckQueue"
92E10C - INT 92 - Da Vinci eMail Dispatcher - "NetReadQueue"
92E10D - INT 92 - Da Vinci eMail Dispatcher - "NetSubmitName"
92E10E - INT 92 - Da Vinci eMail Dispatcher - "NetRemoveName"
92E10FBX0000 - INT 92 - Da Vinci eMail Dispatcher - IS ANYONE THERE? QUERY
92E110 - INT 92 - Da Vinci eMail Dispatcher - "NetGetAltRoute"
92E111 - INT 92 - Da Vinci eMail Dispatcher - "NetDeleteAltRoutes"
92E112 - INT 92 - Da Vinci eMail Dispatcher - "NetChangePassword"
92E113 - INT 92 - Da Vinci eMail Dispatcher - "NetSetAltRoute"
92E175 - INT 92 - Da Vinci eMail Dispatcher - BECOME MICRO TSR
92E180 - INT 92 - Da Vinci eMail Dispatcher - INSTALLATION CHECK
Top

f - file manipulation

214E - INT 21 - WILDUNIX.COM internal - INSTALLATION CHECK
2F1000 - INT 2F - SHARE - INSTALLATION CHECK
2F1040 - INT 2F U - DOS 4 only SHARE internal - ???
2F1080 - INT 2F U - DOS 4 only SHARE internal - TURN ON FILE SHARING CHECKS
2F1081 - INT 2F U - DOS 4 only SHARE internal - TURN OFF FILE SHARING CHECKS
2FAB00 - INT 2F - Btrieve Multi-User - INSTALLATION CHECK
2FAB01 - INT 2F - Btrieve Multi-User - EXECUTE Btrieve OPERATION
2FAB02 - INT 2F - Btrieve Multi-User - GET NEW PROCESS ID
2FB700 - INT 2F - APPEND - INSTALLATION CHECK
2FB701 - INT 2F U - APPEND v3.21 only - GET APPEND PATH
2FB702 - INT 2F - APPEND - GET VERSION
2FB703 - INT 2F U - DOS 3.3, DOS 5.0 APPEND - HOOK INT 21
2FB704 - INT 2F - DOS 3.3+ APPEND - GET APPEND PATH
2FB706 - INT 2F - DOS 4.0+ APPEND - GET APPEND FUNCTION STATE
2FB707 - INT 2F - DOS 4.0+ APPEND - SET APPEND FUNCTION STATE
2FB710 - INT 2F U - DOS 3.3+ APPEND - GET VERSION INFO
2FB711 - INT 2F - DOS 4.0+ APPEND - SET RETURN FOUND NAME STATE
2FC000 - INT 2F - FN32 32 character filename utilities - INSTALLATION CHECK
2FE77EBX0000 - INT 2F - CTDEMN - INSTALLATION CHECK
2FFB - INT 2F U - Conner Backup Exec AUTORES - API
7B - INT 7B - Btrieve API (single user)
7F0200 - INT 7F - Btrieve Multi-User - GIVE UP TIME???
Top

g - games,

E00000 - INT E0 - PCROBOTS v1.41 - "SWAPTASK" - END CURRENT ROBOT'S TURN
E00001 - INT E0 - PCROBOTS v1.41 - "MOVEMENT" - START MOVING
E00002 - INT E0 - PCROBOTS v1.41 - "SCAN" - SCAN FOR OTHER ROBOTS IN THE GIVEN DIRECTION
E00003 - INT E0 - PCROBOTS v1.41 - "SHOOT" - FIRE A SHELL AT ANOTHER ROBOT
E00010 - INT E0 - PCROBOTS v1.41 - "GETXY" - GET ROBOT'S CURRENT POSITION
E00011 - INT E0 - PCROBOTS v1.41 - "TRANSMIT" - SEND DATA TO ANOTHER ROBOT
E00012 - INT E0 - PCROBOTS v1.41 - "RECEIVE" - GET DATA FROM OTHER ROBOTS
E00013 - INT E0 - PCROBOTS v1.41 - "DAMAGE" - DETERMINE HOW MUCH DAMAGE SUSTAINED
E00014 - INT E0 - PCROBOTS v1.41 - "SPEED" - DETERMINE HOW FAST ROBOT IS MOVING
E00015 - INT E0 - PCROBOTS v1.41 - "BATTERY" - DETERMINE HOW MUCH BATTERY POWER LEFT
E00016 - INT E0 - PCROBOTS v1.41 - "TICKS" - DETERMINE HOW LONG SINCE GAME STARTED
E00017 - INT E0 - PCROBOTS v1.41 - "L_SIN" - GET SCALED SINE OF AN ANGLE
E00018 - INT E0 - PCROBOTS v1.41 - "L_COS" - GET SCALED COSINE OF AN ANGLE
E00019 - INT E0 - PCROBOTS v1.41 - "L_TAN" - GET SCALED TANGENT OF AN ANGLE
E0001A - INT E0 - PCROBOTS v1.41 - "L_ATAN" - GET ANGLE GIVEN SCALED TANGENT
E0001B - INT E0 - PCROBOTS v1.41 - "SQRT" - DETERMINE SQUARE ROOT OF A NUMBER
E0001C - INT E0 - PCROBOTS v1.41 - "SET_PATTERN" - SPECIFY ROBOT'S DISPLAY IMAGE
E0001D - INT E0 - PCROBOTS v1.41 - "DEBUG_FLAG" - SET/CLEAR MARKERS NEXT TO ROBOT'S NAME
E0001E - INT E0 - PCROBOTS v1.41 - "BUY_ARMOUR" - BUY OR SELL ARMOR FOR ROBOT
E0001F - INT E0 - PCROBOTS v1.41 - "BUY_SHELLS" - BUY ADDITIONAL CANNON SHELLS
E00020 - INT E0 - PCROBOTS v1.41 - "SHELLS LEFT" - DETERMINE HOW MANY SHELLS ROBOT HAS
E00021 - INT E0 - PCROBOTS v1.41 - "GET LOCAL MAP"
E00022 - INT E0 - PCROBOTS v1.41 - "INVISIBILITY" - CONTROL ROBOT'S INVISIBILITY DEVICE
E00023 - INT E0 - PCROBOTS v1.41 - "GET_SHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
E00024 - INT E0 - PCROBOTS v1.41 - "IS_INVISIBLE" - DETERMINE WHETHER ROBOT IS INVISIBLE
E00025 - INT E0 - PCROBOTS v1.41 - "L_ATAN2" - GET ARCTANGENT
E00026 - INT E0 - PCROBOTS v1.41 - "GET_ROBOT_ID" - DETERMINE CURRENT ROBOT'S IDENTIFIER
E00027 - INT E0 - PCROBOTS v1.41 - "REGISTER_IFF" - REGISTER FRIEND/FOE IDENT STRING
E00028 - INT E0 - PCROBOTS v1.41 - "CHECK_IFF" - QUERY FRIEND/FOE IDENTIFICATION STRING
E00029 - INT E0 - PCROBOTS v1.41 - "REGISTER_NAME" - SPECIFY ROBOT'S NAME
E0002A - INT E0 - PCROBOTS v1.41 - "FIND_NAME" - SEARCH FOR ROBOT WITH GIVEN NAME
E0002B - INT E0 - PCROBOTS v1.41 - "GET_TEAM_ID" - DETERMINE TEAM MEMBERSHIP OF ROBOT
E0002C - INT E0 - PCROBOTS v1.41 - "GET_ASHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
E0002D - INT E0 - PCROBOTS v1.41 - "REGISTER_X" - SELECT AUTOMATIC X POSITION UPDATES
E0002E - INT E0 - PCROBOTS v1.41 - "REGISTER_Y" - SELECT AUTOMATIC Y POSITION UPDATES
E00080 - INT E0 - PCROBOTS v1.41 - "CONFIGURE" - CUSTOMIZE ROBOT
Top

h - vendor-specific hardware,

0B - INT 0B - HP 95LX - LOW-LEVEL KEYBOARD HANDLER
0D - INT 0D - HP 95LX - INFRARED INTERRUPT
0E - INT 0E C - HP 95LX - EXTERNAL CARD INTERRUPT
0F - INT 0F C - HP 95LX - REAL-TIME CLOCK
40 - INT 40 - Z100 - Master 8259 - Parity error or S100 error
40 - INT 40 - TI Professional PC - IRQ0
41 - INT 41 - Z100 - Master 8259 - Processor Swap
41 - INT 41 - TI Professional PC - IRQ1
42 - INT 42 - Z100 - Master 8259 - Timer
42 - INT 42 - TI Professional PC - IRQ2
43 - INT 43 - Z100 - Master 8259 - Slave 8259 input
43 - INT 43 - TI Professional PC - IRQ3 - TIMER1 25ms INTERVAL INTERRUPT
44 - INT 44 - Z100 - Master 8259 - Serial A
44 - INT 44 - TI Professional PC - IRQ4
45 - INT 45 - Z100 - Master 8259 - Serial B
45 - INT 45 - TI Professional PC - IRQ5
46 - INT 46 - Z100 - Master 8259 - Keyboard, Retrace, and Light Pen
46 - INT 46 - TI Professional PC - IRQ6 - FLOPPY DISK CONTROLLER
47 - INT 47 - Z100 - Master 8259 - Printer
47 - INT 47 - TI Professional PC - IRQ7 - KEYBOARD USART
48 - INT 48 - Z100 - Slave 8259 - S100 vectored line 0
49 - INT 49 - Z100 - Slave 8259 - S100 vectored line 1
4A - INT 4A - Z100 - Slave 8259 - S100 vectored line 2
4B - INT 4B - Z100 - Slave 8259 - S100 vectored line 3
4C - INT 4C - Z100 - Slave 8259 - S100 vectored line 4
4D - INT 4D - Z100 - Slave 8259 - S100 vectored line 5
4E - INT 4E - Z100 - Slave 8259 - S100 vectored line 6
4F - INT 4F - Z100 - Slave 8259 - S100 vectored line 7
64 - INT 64 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
65 - INT 65 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
66 - INT 66 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
68 - INT 68 C - HP Vectra AT - IRQ16 - 8041 SERVICE REQUEST
69 - INT 69 C - HP Vectra AT - IRQ17 - KEYBOARD OUTPUT-BUFFER-FULL SERVICE ROUTINE
6A - INT 6A C - HP Vectra AT - IRQ18 - RESERVED HARDWARE INTERRUPT
6B - INT 6B C - HP Vectra AT - IRQ19 - RESERVED HARDWARE INTERRUPT
6C - INT 6C C - HP Vectra AT - IRQ20 - HP-HIL CONTROLLER INTERRUPT
6D - INT 6D C - HP Vectra AT - IRQ21 - RESERVED HARDWARE INTERRUPT
6E - INT 6E C - HP Vectra AT - IRQ22 - RESERVED HARDWARE INTERRUPT
F8 - INT F8 - Sanyo MBC-550/555 - IRQ0 - 100 HZ INTERRUPT
F9 - INT F9 - Sanyo MBC-550/555 - IRQ1 - ???
FA - INT FA - Sanyo MBC-550/555 - IRQ2 - SERIAL PORT USART INTERRUPT
FB - INT FB - Sanyo MBC-550/555 - IRQ3 - KEYBOARD USART RECEIVE INTERRUPT
FC - INT FC - Sanyo MBC-550/555 - IRQ4 - PRINTER READY INTERRUPT
FD - INT FD - Sanyo MBC-550/555 - IRQ5 - FLOPPY DISK CONTROLLER
FE - INT FE - Sanyo MBC-550/555 - IRQ6 - 8087 COPROCESSOR INTERRUPT
FF - INT FF - Sanyo MBC-550/555 - IRQ7 - USER INTERRUPT FOR EXTERNAL INTERRUPT
Top

i - system info/monitoring,

166A6B - INT 16 U - FastJuice - DISABLE/UNLOAD???
167463 - INT 16 U - FastJuice - INSTALLATION CHECK
2D--10 - INT 2D U - RAMLIGHT v1.0 - GET MONITORING INFORMATION
2FC000 - INT 2F O - ASPIHOOK.SYS - INSTALLATION CHECK
2FC000 - INT 2F - PMEASURE.EXE - INSTALLATION CHECK
2FC000 - INT 2F - PERSONAL MEASURE - HOOK MODULE INSTALLATION CHECK
2FC001 - INT 2F - PERSONAL MEASURE - PASS PARAMETERS TO HOOK MODULE(S)
Top

j - joke programs,

214000BX0002 - INT 21 - FARTBELL.EXE - INSTALLATION CHECK
214001BX0002 - INT 21 - FARTBELL.EXE - FORCE NOISE
2FE000 - INT 2F - KAOSHIDE - INSTALLATION CHECK
Top

k - file/disk compression,

213341 - INT 21 - Diet Disk v1.0 - INSTALLATION CHECK
2137A0BX6A6D - INT 21 - XPACK v1.52+ - TSR INSTALLATION CHECK
2137A1BX6A6D - INT 21 - XPACK v1.52+ - UNINSTALL
2137A2BX6A6D - INT 21 - XPACK v1.52+ - GET TSR STATUS
2137A3BX6A6D - INT 21 - XPACK v1.52+ - SET TSR STATUS
2137D0BX899D - INT 21 - DIET v1.43e - TSR INSTALLATION CHECK
2137D1BX899D - INT 21 - DIET v1.43e - GET DIET.EXE RESIDENT SEGMENT
2137D2BX899D - INT 21 - DIET v1.43e - GET TSR CONTROL FLAGS
2137D3BX899D - INT 21 - DIET v1.43e - SET TSR CONTROL FLAGS
2137D4BX899D - INT 21 - DIET v1.43e - GET TSR OPTIONS
2137D5BX899D - INT 21 - DIET v1.43e - SET TSR OPTIONS
2137D6BX899D - INT 21 - DIET v1.43e - GET TEMPORARY DIRECTORY NAMES
2137D7BX899D - INT 21 - DIET v1.43e - SET TEMPORARY DIRECTORY NAMES
2137DCBX899D - INT 21 - DIET v1.43e - SET ADDRESS OF EXTERNAL PROCEDURE
2137DDBX899D - INT 21 - DIET v1.43e - RELEASE EXTERNAL PROCEDURE
2137DEBX899D - INT 21 - DIET v1.43e - READ EMS STATUS
2137DFBX899D - INT 21 - DIET v1.43e - UNINSTALL TSR
214404 - INT 21 - Stacker - GET DEVICE DRIVER ADDRESS AND SET VOLUME NUMBER
214404 - INT 21 - Stacker - GET STACVOL FILE SECTORS
214404 - INT 21 - DUBLDISK.SYS v2.6 - GET INFO
214404 - INT 21 - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
214404 - INT 21 - DBLSPACE.BIN v6.2 - IOCTL - GET ??? FOR SPECIFIED DRIVE
214404 - INT 21 U - DoubleTools v1.0 - GET ???
214405 - INT 21 U - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
214BF0 - INT 21 - DIET v1.10+ (Overlay Mode) - INSTALLATION CHECK
214BF1 - INT 21 - DIET v1.10+ (Overlay Mode) - EXPAND PROGRAM???
21FAFF - INT 21 U - IBM PC-DOS - KEYBGK - SELECT KEYBOARD LAYOUT
25CDCD - INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
2F4A11BX0000 - INT 2F - DBLSPACE.BIN - "GetVersion" - INSTALLATION CHECK
2F4A11BX0001 - INT 2F - DBLSPACE.BIN - "GetDriveMapping" - GET DRIVE MAPPING
2F4A11BX0002 - INT 2F - DBLSPACE.BIN - "Swap Drive" - SWAP DRIVE LETTERS OF CVF AND HOST DRIVE
2F4A11BX0003 - INT 2F - DBLSPACE.BIN - "DSGetEntryPoints" - GET DEVICE DRIVER ENTRY POINTS
2F4A11BX0004 - INT 2F - DBLSPACE.BIN - "DSSetEntryPoints" - SET DEVICE DRIVER ENTRY POINTS
2F4A11BX0005 - INT 2F - DBLSPACE.BIN - "ActivateDrive" - MOUNT COMPRESSED DRIVE
2F4A11BX0006 - INT 2F - DBLSPACE.BIN - "DeactivateDrive" - UNMOUNT COMPRESSED DRIVE
2F4A11BX0007 - INT 2F - DBLSPACE.BIN - "GetDriveSpace" - GET SPACE AVAIL ON COMPRESSED DRIVE
2F4A11BX0008 - INT 2F - DBLSPACE.BIN - "GetFileFragmentSpace" - GET SIZE OF FRAGMENT HEAP
2F4A11BX0009 - INT 2F - DBLSPACE.BIN - "GetExtraInfo" - DETERMINE NUMBER OF DISK_UNIT STRUCTS
2F4A11BX000A - INT 2F - DBLSPACE.BIN v6.2 - SET AUTOMOUNT DRIVES
2F4A11BX000B - INT 2F - DBLSPACE.BIN v6.2 - GET AUTOMOUNT DRIVES
2F4A11BXFFFE - INT 2F U - DBLSPACE.BIN - RELOCATE
2F4A11BXFFFF - INT 2F U - DBLSPACE.BIN - GET RELOCATION SIZE
2F4A12CX4D52 - INT 2F - Microsoft Realtime Compression Interface (MRCI) - RAM-BASED SERVER
2F4A12CX5354 - INT 2F - Stacker 4 LZS Compression Interface (LZSAPI)
2F4A13 - INT 2F U - DBLSPACE.BIN - DBLSPACE/MRCI STEALTH PACKET API
2F5200 - INT 2F - JAM.SYS v1.10+ - "GetVersion" - INSTALLATION CHECK
2F5201 - INT 2F - JAM.SYS v1.10+ - "GetInfo" - GET COMPRESSED DRIVE INFORMATION
2F5202 - INT 2F - JAM.SYS v1.10+ - "Attach" - MOUNT COMPRESSED DRIVE
2F5203 - INT 2F - JAM.SYS v1.10+ - "Detach" - UNMOUNT COMPRESSED DRIVE
2F5204 - INT 2F - JAM.SYS v1.10+ - "Lock" - LOCK COMPRESSED DRIVE
2F5205 - INT 2F - JAM.SYS v1.10+ - "UnLock" - UNLOCK COMPRESSED DRIVE
2F5206 - INT 2F - JAM.SYS v1.10+ - "Read" - PHYSICAL READ DATA FROM JAM ARCHIVE
2F5207 - INT 2F - JAM.SYS v1.10+ - "Write" - PHYSICAL WRITE DATA TO JAM ARCHIVE
2FC300DX0000 - INT 2F U - SpaceManager - INSTALLATION CHECK
2FC300BX4F53 - INT 2F U - SpaceManager - INSTALLATION VERIFICATION
2FC301 - INT 2F U - SpaceManager - ???
2FC302 - INT 2F U - SpaceManager - ENABLE PROGRAM
2FC303 - INT 2F U - SpaceManager - DISABLE PROGRAM
2FC304 - INT 2F U - SpaceManager - GET PER-DRIVE ENABLEMENT TABLE
2FC305DX9003 - INT 2F U - SpaceManager - FORTUNE.EXE - NOP
2FC305 - INT 2F U - SpaceManager - ???
2FC306 - INT 2F U - SpaceManager - CHECK WHETHER PROGRAM ENABLED
2FC307DX9001 - INT 2F U - SpaceManager - SELECTC - ???
2FC308DX9001 - INT 2F U - SpaceManager - SELECTC - ???
Top

l - shells/command interpreters,

212B00CX5643 - INT 21 - The Volkov Commander - GET POINTER TO LEFT PANEL DATA STRUCTURE
212B01CX5643 - INT 21 - The Volkov Commander - GET POINTER TO RIGHT PANEL DATA STRUCTURE
212B02CX5643 - INT 21 - The Volkov Commander - GET POINTER TO GLOBAL VARIABLES
212B--CX5643 - INT 21 - Volkov Commander - INSTALLATION CHECK
2E - INT 2E U - DOS 2+ - PASS COMMAND TO COMMAND INTERPRETER FOR EXECUTION
2E----BXE22E - INT 2E - 4DOS v2.x-3.03 SHELL2E.COM - UNINSTALL
2F0500 - INT 2F U - DOS 3.0+ CRITICAL ERROR HANDLER - INSTALLATION CHECK
2F05 - INT 2F CU - DOS 3.0+ CRITICAL ERROR HANDLER - EXPAND ERROR INTO STRING
2F1900 - INT 2F U - DOS 4.x only SHELLB.COM - INSTALLATION CHECK
2F1901 - INT 2F U - DOS 4.x only SHELLB.COM - SHELLC.EXE INTERFACE
2F1902 - INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM INTERFACE
2F1903 - INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM interface
2F1904 - INT 2F U - DOS 4.x only SHELLB.COM - SHELLB transient to TSR interface
2F5500 - INT 2F U - DOS 5+ - COMMAND.COM INTERFACE
2F5501 - INT 2F U - DOS 5+ - ROM COMMAND.COM INTERFACE
2F9900 - INT 2F U - DOS Navigator II - INSTALLATION CHECK
2F9901 - INT 2F U - DOS Navigator II - RETURN POINTER TO COMMAND LINE
2F9902 - INT 2F U - DOS Navigator II - SET 'TRUE' EXIT CODE OF DN.PRG
2F9903 - INT 2F U - DOS Navigator II - SPECIFY HOW TO EXECUTE COMMANDS
2F9904 - INT 2F U - DOS Navigator II v1.49 - SET ???
2F9905 - INT 2F U - DOS Navigator II v1.49 - GET ???
2F9906 - INT 2F U - DOS Navigator II v1.49 - GET ???
2FAE00 - INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - INSTALLATION CHECK
2FAE01 - INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - EXECUTE
2FD44D - INT 2F - 4DOS.COM v2.1+ - API
2FD44E - INT 2F C - 4DOS v3.0+ - AWAITING USER INPUT
2FE44D - INT 2F - NDOS - API
2FE44E - INT 2F C - NDOS - AWAITING USER INPUT
500002 - INT 50 - PC Thuis Organizer Shell - PLOT TEXT
500003 - INT 50 - PC Thuis Organizer Shell - WRITE FILE
500004 - INT 50 - PC Thuis Organizer Shell - READ FILE
500005 - INT 50 - PC Thuis Organizer Shell - PROMPT YES/NO
500006 - INT 50 - PC Thuis Organizer Shell - ALERT USER
500007 - INT 50 - PC Thuis Organizer Shell - DO LINE
500008 - INT 50 - PC Thuis Organizer Shell - DO MENU
500009 - INT 50 - PC Thuis Organizer Shell - MESSAGE ON
50000A - INT 50 - PC Thuis Organizer Shell - MESSAGE OFF
50000B - INT 50 - PC Thuis Organizer Shell - CHANGE ATTRIBUTE
50000C - INT 50 - PC Thuis Organizer Shell - DO REQUEST
50000D - INT 50 - PC Thuis Organizer Shell - EDIT LINE
50000E - INT 50 - PC Thuis Organizer Shell - PLOT CHARACTER
50000F - INT 50 - PC Thuis Organizer Shell - EMPTY WINDOW
500010 - INT 50 - PC Thuis Organizer Shell - TRACE MENU
500011 - INT 50 - PC Thuis Organizer Shell - MOVE MEMORY
500012 - INT 50 - PC Thuis Organizer Shell - COMPARE MEMORY
500013 - INT 50 - PC Thuis Organizer Shell - GET KEY
500014 - INT 50 - PC Thuis Organizer Shell - SCROLL WINDOW
500015 - INT 50 - PC Thuis Organizer Shell - GET MEMORY HANDLE
Top

m - memory management,

02----SI0714 - INT 02 U - STB RAPIDMAP.SYS - ???
1511DE - INT 15 - DESQview - QEXT.SYS - INSTALLATION CHECK
15F200CX454D - INT 15 - Tandon memory mapper - Tandon MAPPER HARDWARE INITIALIZATION CHECK ???
165758BX5754 - INT 16 U - Netroom ??? - ???
165758BX5755 - INT 16 U - Netroom ??? - ???
165758BX5756 - INT 16 U - Netroom ??? - INSTALLATION CHECK
165758BX5858 - INT 16 U - Netroom PRENET - GET OLD INTERRUPT VECTORS
165758BX5859 - INT 16 U - Netroom POSTNET - GET OLD INTERRUPT VECTORS
16B0B1 - INT 16 - VGARAM v1.00 - INSTALLATION CHECK
212B01CX444D - INT 21 - Quarterdeck DOS-UP.SYS v2.00 - INSTALLATION CHECK
214402 - INT 21 U - LASTBYTE.SYS v1.19 - IOCTL - GET ??? TABLE
214402 - INT 21 - HIGHUMM.SYS v1.17+ - IOCTL - GET API ADDRESS
214402 - INT 21 - Quarterdeck - QEMM-386 v5+ - GET API ENTRY POINT
214402 - INT 21 U - Qualitas 386MAX v6.00+ - IOCTL INPUT - GET STATE
214402 - INT 21 U - Novell DOS 7+ EMM386.EXE - GET STATE RECORD
214402SF00 - INT 21 U - Memory Managers - GET API ENTRY POINT
214402SF01 - INT 21 U - Memory Managers - GET EMM IMPORT STRUCTURE ADDRESS
214402SF02 - INT 21 U - Memory Managers - GET MEMORY MANAGER VERSION
214402 - INT 21 U - Microsoft EMM386.EXE v4.45 - GET MEMORY MANAGER INFORMATION
214403SF01 - INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX OFF
214403SF02 - INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX ON
214403SF03 - INT 21 U - Qualitas 386MAX v6.01+ - SET STATE
214403SF05 - INT 21 U - Qualitas 386MAX v7.00+ - LIMIT AUTOMATIC ACTIVATION TO STD EMS CALLS
214403SF06 - INT 21 U - Qualitas 386MAX v7.00+ - ALLOW AUTOMATIC ACTIVATION ON ANY INT 67
214C57 - INT 21 - Headroom - ???
2C - INT 2C R - Cloaking - CALL PROTECTED-MODE PASSALONG CHAIN
2C0000 - INT 2C P - Cloaking - ALLOCATE GDT SELECTOR
2C0001 - INT 2C P - Cloaking - FREE GDT SELECTOR
2C0002 - INT 2C P - Cloaking - SET SEGMENT BASE ADDRESS
2C0003 - INT 2C P - Cloaking - SET SEGMENT LIMIT
2C0004 - INT 2C P - Cloaking - SET SEGMENT ACCESS MODE
2C0005 - INT 2C P - Cloaking - SET SEGMENT EXTENDED ACCESS MODE
2C0006 - INT 2C P - Cloaking - GET PROTECTED-MODE INTERRUPT VECTOR
2C0007 - INT 2C P - Cloaking - SET PROTECTED-MODE INTERRUPT VECTOR
2C0008 - INT 2C P - Cloaking - GET PASSALONG ADDRESS
2C0009 - INT 2C P - Cloaking - SET PASSALONG ADDRESS
2C000A - INT 2C P - Cloaking - GET BASE ADDRESS OF GDT SELECTOR
2C000B - INT 2C P - Cloaking - GET SELECTOR LIMIT
2C - INT 2C P - RM386 v6.00 - CLOAKING - RESERVED FOR CLOAKED BIOS USE UNDER WINDOWS
2C000F - INT 2C P - Cloaking v1.01 - "Simulate_Shell_Event"
2C0011 - INT 2C P - Cloaking v1.01 - "Switch_VMs_and_Call_back"
2C0012 - INT 2C P - Cloaking v1.01 - "Query_Current_VM"
2C0013 - INT 2C P - Cloaking v1.01 - "Issue_System_Modal_Message"
2C001D - INT 2C P - Cloaking v1.01 - GET INT 2C API HANDLER ENTRY POINT
2C001E - INT 2C P - Cloaking v1.01 - CLEAR CRITICAL SECTION
2C001F - INT 2C P - Cloaking v1.01 - SET CRITICAL SECTION
2C0020 - INT 2C P - Cloaking - GET SIZE OF PROTECTED-MODE STATE
2C0021 - INT 2C P - Cloaking - SAVE PROTECTED-MODE STATE
2C0022 - INT 2C P - Cloaking - RESTORE PROTECTED-MODE STATE
2C0023 - INT 2C P - Cloaking - ISSUE PROTECTED-MODE XMS CALL
2C0024 - INT 2C P - Cloaking - SET V86-MODE STACK
2C0025 - INT 2C P - Cloaking - CALL V86-MODE PROCEDURE
2C0026 - INT 2C P - Cloaking - CALL V86-MODE INTERRUPT HANDLER
2C0027 - INT 2C P - Cloaking - CHAIN TO V86-MODE INTERRUPT HANDLER
2C0028 - INT 2C P - Cloaking - GET ESP0 FROM TSS
2C0029 - INT 2C P - Cloaking - SET SECONDARY STACK
2C002A - INT 2C P - Cloaking - SET 8259 IRQ BASE VECTORS
2C002BCH81 - INT 2C P - Cloaking - PROTECTED-MODE VIRTUAL DMA SERVICES
2C002C - INT 2C P - Cloaking - GET PORT-TRAPPING PASSALONG
2C002D - INT 2C P - Cloaking - SET PORT-TRAPPING PASSALONG
2C002E - INT 2C P - Cloaking - TRAP I/O PORT
2C002F - INT 2C PU - Cloaking - UNTRAP I/O PORT
2C0030 - INT 2C PU - Cloaking - GET TRAPPING STATE OF SPECIFIED PORT
2C0031 - INT 2C PU - RM386 v6.00 - BUG
2C0031 - INT 2C P - Cloaking v1.01 - ALLOCATE V86 CALLBACK
2C0032 - INT 2C P - Cloaking v1.01 - FREE V86 CALLBACK
2C0033 - INT 2C P - Cloaking v1.01 - REGISTER CLOAKING CLIENT
2C0034 - INT 2C P - Cloaking v1.01 - UNREGISTER CLOAKING CLIENT
2F12FFBX0006 - INT 2F U - DR DOS 6+, Novell DOS 7+ - EMM386.EXE - VIDEO MEMORY SPACE CONTROL
2F12FFBX0106 - INT 2F U - Novell DOS 7+ - MEMORYMAX INSTALLATION CHECK
2F12FFBX0206 - INT 2F - Novell DOS 7+ - MEMORYMAX GET PAGE TABLE ENTRY
2F12FFBX0306 - INT 2F - Novell DOS 7+ - MEMORYMAX SET PAGE TABLE ENTRY
2F12FFBX0406 - INT 2F - Novell DOS 7+ - MEMORYMAX CREATE ACCESS KEY
2F12FFBX0506 - INT 2F - Novell DOS 7+ - MEMORYMAX DESTROY ACCESS KEY
2F12FFBL06 - INT 2F U - Novell DOS 7 - EMM386.EXE - ???
2F1610 - INT 2F - XMS v1.x only - GET DRIVER ADDRESS
2F1B00 - INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - INSTALLATION CHECK
2F1B - INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - GET HIDDEN FRAME INFORMATION
2F2780CL01 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - SUPERVISOR MODULE
2F2780CL02 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - REAL-TIME MONITOR
2F2780CL03 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - MEMORY
2F2780CL04 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DOMAINS
2F2780CL05 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - VIRTUAL MACHINES
2F2780CL06 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DPMI SERVICES
2F2780 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - AVAILABLE FOR APPS
2F2783 - INT 2F U - Novell DOS 7 - EMM386.EXE - GET ???
2F4300 - INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - INSTALLATION CHECK
2F4308 - INT 2F U - HIMEM.SYS v2.77+ - GET A20 HANDLER NUMBER
2F4309 - INT 2F U - HIMEM.SYS v3.09+ - GET XMS HANDLE TABLE
2F4310 - INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - GET DRIVER ADDRESS
2F4310 - INT 2F - Cloaking - REAL-MODE API
2F4310 - INT 2F - Helix Netroom RM386 v6.00 - XMS EXTENSIONS
2F4310 - INT 2F - NEC PC-9800 - XMZ - PRIVATE API
2F4320 - INT 2F U - HIMEM.SYS - Mach 20 SUPPORT
2F4330 - INT 2F CU - HIMEM.SYS v2.77+ - GET EXTERNAL A20 HANDLER ADDRESS
2F43E1 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - REGISTER CLIENT
2F43E2 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - ENABLE/DISABLE DPMS
2F43E3BX0000 - INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS STARTUP BROADCAST
2F43E4BX0000 - INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS EXIT BROADCAST
2FA189 - INT 2F U - Biologic HRAMDEV.SYS - API
2FD201BX4849 - INT 2F - Quarterdeck RPCI - GET QD HIMEM PRESENCE
2FD201BX4849 - INT 2F - Quarterdeck RPCI - QEMM/QRAM v5.0+ - GET HIRAM MEMORY CHAIN
2FD201BX5145 - INT 2F - Quarterdeck RPCI - QEMM v5.0+ - INSTALLATION CHECK
2FF1 - INT 2F U - MIN-MEM v2.11 - INSTALLATION CHECK
671E - INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - INSTALLATION CHECK
671F - INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - API
672763CL01 - INT 67 - VIDEMS.SYS v1.31+ - INSTALLATION CHECK
672763CL02 - INT 67 - VIDEMS.SYS v1.31+ - FLUSH EMS TO VIDEO RAM
672763CL03 - INT 67 - VIDEMS.SYS v1.31+ - RELOAD EMS FROM VIDEO RAM
672763CL04 - INT 67 - VIDEMS.SYS v1.31+ - RETURN HIDDEN BLOCK SIZE
672763CL05 - INT 67 - VIDEMS.SYS v1.31+ - RETURN PHYSICAL PAGE SIZE
672763CL06 - INT 67 - VIDEMS.SYS v1.50+ - RETURN VIDEO RAM SIZE
673F--CX5145 - INT 67 U - QEMM-386 v4.23+ - INSTALLATION CHECK
6740 - INT 67 - LIM EMS - GET MANAGER STATUS
6741 - INT 67 - LIM EMS - GET PAGE FRAME SEGMENT
6742 - INT 67 - LIM EMS - GET NUMBER OF PAGES
6743 - INT 67 - LIM EMS - GET HANDLE AND ALLOCATE MEMORY
6744 - INT 67 - LIM EMS - MAP MEMORY
6745 - INT 67 - LIM EMS - RELEASE HANDLE AND MEMORY
6746 - INT 67 - LIM EMS - GET EMM VERSION
6747 - INT 67 - LIM EMS - SAVE MAPPING CONTEXT
6748 - INT 67 - LIM EMS - RESTORE MAPPING CONTEXT
6749 - INT 67 - LIM EMS - reserved - GET I/O PORT ADDRESSES
674A - INT 67 - LIM EMS - reserved - GET TRANSLATION ARRAY
674B - INT 67 - LIM EMS - GET NUMBER OF EMM HANDLES
674C - INT 67 - LIM EMS - GET PAGES OWNED BY HANDLE
674D - INT 67 - LIM EMS - GET PAGES FOR ALL HANDLES
674E - INT 67 - LIM EMS - GET OR SET PAGE MAP
674F - INT 67 - LIM EMS 4.0 - GET/SET PARTIAL PAGE MAP
6750 - INT 67 - LIM EMS 4.0 - MAP/UNMAP MULTIPLE HANDLE PAGES
6751 - INT 67 - LIM EMS 4.0 - REALLOCATE PAGES
6752 - INT 67 - LIM EMS 4.0 - GET/SET HANDLE ATTRIBUTES
6753 - INT 67 - LIM EMS 4.0 - GET/SET HANDLE NAME
6754 - INT 67 - LIM EMS 4.0 - GET HANDLE DIRECTORY
6755 - INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND JUMP
6756 - INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND CALL
6756FF - INT 67 - RM386 v6.00 - ???
6757 - INT 67 - LIM EMS 4.0 - MOVE/EXCHANGE MEMORY REGION
6758 - INT 67 - LIM EMS 4.0 - GET MAPPABLE PHYSICAL ADDRESS ARRAY
675857 - INT 67 U - NETROOM??? - ???
6759 - INT 67 - LIM EMS 4.0 - GET EXPANDED MEMORY HARDWARE INFORMATION
675A - INT 67 - LIM EMS 4.0 - ALLOCATE STANDARD/RAW PAGES
675B - INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET
675B - INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET - DMA REGISTERS
675BE0 - INT 67 - MICEMM v4D, RM386 - GET LINEAR ADDRESS OF MEMORY
675BE1 - INT 67 - RM386 v6.00+ - GET MEMORY MANAGER SIZE
675BE2 - INT 67 - RM386 v6.00+ - GET INTERRUPT VECTORS
675BF0 - INT 67 - MICEMM v4D, RM386 - INSTALLATION CHECK
675BF1 - INT 67 - MICEMM v4D, RM386 - GET ADDRESS MAP
675BF2 - INT 67 - RM386 - GET RM386 INTERNAL DATA
675BF3 - INT 67 - RM386 - RETURN TO REAL MODE
675BF4 - INT 67 - RM386 v6.00 - GET RM386 GLOBAL FLAGS
675BF5 - INT 67 - RM386 v6.00 - GET RM386 EMS HANDLE COUNT
675C - INT 67 - LIM EMS 4.0 - PREPARE EXPANDED MEMORY HARDWARE FOR WARM BOOT
675D - INT 67 - LIM EMS 4.0 - ENABLE/DISABLE OS FUNCTION SET FUNCTIONS
675D03 - INT 67 u - Nanosoft MD386 - INTERNAL INITIALIZATION
675D04 - INT 67 - Nanosoft MD386 - GET ALTERNATE MAP STRUCTURE
675D05 - INT 67 - Nanosoft MD386 - GET INTERNAL HANDLE TABLE
675DE0 - INT 67 - RM386 - DISABLE RM386
675DE1 - INT 67 - RM386 - ENABLE RM386
675DE2 - INT 67 - RM386 - GET PAGE TABLE
675DE3 - INT 67 - RM386 - SET PAGE TABLE
675DE4 - INT 67 - RM386 - SET WRITE-PROTECTION FOR PAGE IN FIRST MEGABYTE
675DE5 - INT 67 - RM386 - MAP PHYSICAL PAGE TO PHYSICAL SEGMENT
675DE6 - INT 67 - RM386 - MAP LOGICAL 4K PAGE TO PHYSICAL SEGMENT
675DE7 - INT 67 - RM386 - SET PAGE TABLE BITS FOR RANGE OF PAGES
675DE8 - INT 67 - RM386 - GET PARTIAL PAGE TABLE
675DE9 - INT 67 - RM386 - SET PARTIAL PAGE TABLE
675DEA - INT 67 - RM386 - V86-MODE I/O PORT TRAPPING CONTROL
675DEB - INT 67 - RM386 - V86-MODE I/O TRAPPING PORT CONTROL
675DFD - INT 67 U - RM386 v6.00 - ???
675DFE - INT 67 U - RM386 v6.00 - ???
675DFF - INT 67 U - RM386 v6.00 - ???
675E00 - INT 67 - Nanosoft MD386 - SET HARDWARE BREAKPOINT
675E01 - INT 67 - Nanosoft MD386 - GET HARDWARE DEBUG REGISTER
675E02 - INT 67 - Nanosoft MD386 - SET DEBUG EXCEPTION HANDLER
675E03 - INT 67 - Nanosoft MD386 - ENABLE/DISABLE MEMORY WRITE PROTECTION
675E04 - INT 67 - Nanosoft MD386 - GET DEBUG EXCEPTION
675E05 - INT 67 - Nanosoft MD386 - IGNORE NEXT DEBUG EXCEPTION
6760 - INT 67 - EEMS - GET PHYSICAL WINDOW ARRAY
6761 - INT 67 - EEMS - GENERIC ACCELERATOR CARD SUPPORT
676100 - INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - INSTALLATION CHECK???
676101 - INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - GET ??? ENTRY POINT
6768 - INT 67 - EEMS - GET ADDRESSES OF ALL PAGE FRAMES IN SYSTEM
6769 - INT 67 - EEMS - MAP PAGE INTO FRAME
676A - INT 67 - EEMS - PAGE MAPPING
676B - INT 67 - DESQview 2.42-2.53 - BUG
67DD - INT 67 - Quadtel QMAPS - API
67DE0F - INT 67 - Netroom3 - ???
67EF - INT 67 - RM386 v6.00+ - EXECUTE XMS FUNCTION
67FFA5 - INT 67 - Microsoft EMM386.EXE v4.20+ - INSTALLATION CHECK
67FFA5BX4345 - INT 67 U - Compaq CEMM v5.10+ - PRIVATE API
7E5857BL57 - INT 7E - XLOAD - INSTALLATION CHECK
7E5857BL5A - INT 7E - XLOAD - GET ???
7E5857BL5B - INT 7E - XLOAD - GET XLOAD MEMORY SIZE
B5 - INT B5 U - Netroom NETSWAP4 - ???
Top

n - non-traditional input devices,

15BA10 - INT 15 - HP OmniShare - Pen Driver - REPORT PEN CONTROL AREA EVENT
15BA11 - INT 15 - HP OmniShare - Pen Driver - SET THE COMMUNICATION LED STATE
15BA12 - INT 15 - HP OmniShare - Pen Driver - STORE PEN BATTERY CHARGE
15BA13 - INT 15 - HP OmniShare - Pen Driver - GET PEN BATTERY CHARGE
214402 - INT 21 U - PenDOS PENDEV.SYS - GET ENTRY POINTS
214403 - INT 21 U - PenDOS PENDEV.SYS - ???
6610 - INT 66 - PenDOS - TDMOUSE.EXE - GET ???
6611 - INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
6612 - INT 66 - PenDOS - TDMOUSE.EXE - INITIALIZE
6613 - INT 66 - PenDOS - TDMOUSE.EXE - SHUTDOWN???
6614 - INT 66 - PenDOS - TDMOUSE.EXE - ???
6615 - INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
6616 - INT 66 - PenDOS - TDMOUSE.EXE - UNUSED FUNCTIONS
6621 - INT 66 - PenDOS - PINK - ???
6622 - INT 66 - PenDOS - PINK - ???
6623 - INT 66 - PenDOS - PINK - ???
6624 - INT 66 - PenDOS - PINK - ???
6625 - INT 66 - PenDOS - PINK - ???
6627 - INT 66 - PenDOS - PINK - ???
6628 - INT 66 - PenDOS - PINK - ???
6629 - INT 66 - PenDOS - PINK - ???
662A - INT 66 - PenDOS - PINK - ???
662B - INT 66 - PenDOS - PINK - ???
662F - INT 66 - PenDOS - PINK - INITIALIZE
6640 - INT 66 - PenDOS - PKEYUS - GET VERSION
6641 - INT 66 - PenDOS - PKEYUS - SET ???
6642 - INT 66 - PenDOS - PKEYUS - ???
6643 - INT 66 - PenDOS - PKEYUS - ???
6644 - INT 66 - PenDOS - PKEYUS - UNUSED FUNCTIONS
6650 - INT 66 - PenDOS - PMOUSE - SET ???
6651 - INT 66 - PenDOS - PMOUSE - NOP
6652 - INT 66 - PenDOS - PMOUSE - ???
6653 - INT 66 - PenDOS - PMOUSE - UNUSED FUNCTIONS
66 - INT 66 - PenDOS - PMOUSE - ALTERNATE API
66C5 - INT 66 - PenDOS - VLOAD - API
Top

p - power management,

104F10BL00 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET CAPABILITIES
104F10BL01 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - SET DISPLAY POWER STATE
104F10BL02 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET DISPLAY POWER STATE
10A000 - INT 10 - ATI BIOS Extensions - ???
10A00C - INT 10 - ATI Mach64 BIOS - SET SLEEP MODE
155300 - INT 15 - Advanced Power Management v1.0+ - INSTALLATION CHECK
155301 - INT 15 - Advanced Power Management v1.0+ - CONNECT REAL-MODE INTERFACE
155302 - INT 15 R - Advanced Power Management v1.0+ - CONNECT 16-BIT PROTMODE INTERFACE
155303 - INT 15 - Advanced Power Management v1.0+ - CONNECT 32-BIT PROTMODE INTERFACE
155304 - INT 15 - Advanced Power Management v1.0+ - DISCONNECT INTERFACE
155305 - INT 15 - Advanced Power Management v1.0+ - CPU IDLE
155306 - INT 15 - Advanced Power Management v1.0+ - CPU BUSY
155307 - INT 15 - Advanced Power Management v1.0+ - SET POWER STATE
155307CX0001 - INT 15 - Advanced Power Management v1.0+ - SYSTEM STAND-BY
155307CX0002 - INT 15 - Advanced Power Management v1.0+ - SUSPEND SYSTEM
155307CX0003 - INT 15 - Advanced Power Management v1.2 - TURN OFF SYSTEM
155308 - INT 15 - Advanced Power Management v1.0+ - ENABLE/DISABLE POWER MANAGEMENT
155309 - INT 15 - Advanced Power Management v1.0+ - RESTORE POWER-ON DEFAULTS
15530A - INT 15 - Advanced Power Management v1.0+ - GET POWER STATUS
15530B - INT 15 - Advanced Power Management v1.0+ - GET POWER MANAGEMENT EVENT
15530C - INT 15 - Advanced Power Management v1.1+ - GET POWER STATE
15530D - INT 15 - Advanced Power Management v1.1+ - EN/DISABLE DEVICE POWER MANAGEMENT
15530E - INT 15 - Advanced Power Management v1.1+ - DRIVER VERSION
15530F - INT 15 - Advanced Power Management v1.1+ - ENGAGE/DISENGAGE POWER MANAGEMENT
155310 - INT 15 - Advanced Power Management v1.2 - GET CAPABILITIES
155311 - INT 15 - Advanced Power Management v1.2 - GET/SET/DISABLE RESUME TIMER
155312 - INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE RESUME ON RING
155313 - INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE TIMER-BASED REQUESTS
155380BH00 - INT 15 - APM SL Enhanced v1.0 - GET SUSPEND/GLOBAL STANDBY MODE
155380BH01 - INT 15 - APM SL Enhanced v1.0 - SET SUSPEND/GLOBAL STANDBY MODE
155380BH02 - INT 15 - APM SL Enhanced v1.0 - GET GLOBAL STANDBY TIMER
155380BH03 - INT 15 - APM SL Enhanced v1.0 - SET GLOBAL STANDBY TIMER
155380BH04 - INT 15 - APM SL Enhanced v1.0 - GET AUTO POWER OFF TIMER
155380BH05 - INT 15 - APM SL Enhanced v1.0 - SET AUTO POWER OFF TIMER
155380BH06 - INT 15 - APM SL Enhanced v1.0 - GET RESUME CONDITION
155380BH07 - INT 15 - APM SL Enhanced v1.0 - SET RESUME CONDITION
155380BH08 - INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT TIME
155380BH09 - INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT TIME
155380BH0A - INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT DATE
155380BH0B - INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT DATE
155380BH0C - INT 15 - APM SL Enhanced v1.0 - GET CPU SPEED MODE
155380BH0D - INT 15 - APM SL Enhanced v1.0 - SET CPU SPEED MODE
155380BH7E - INT 15 - APM SL Enhanced v1.0 - SL HW PARAMETER
155380BH7F - INT 15 - Advanced Power Management v1.1 - OEM APM INSTALLATION CHECK
155380 - INT 15 - Advanced Power Management v1.1 - OEM APM FUNCTIONS
155380BX8000 - INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
155380BX8001 - INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
156000 - INT 15 U - HP 100LX/200LX - GET MAIN BATTERY LEVEL
156001 - INT 15 U - HP 100LX/200LX - GET BACKUP BATTERY LEVEL
156002 - INT 15 U - HP 100LX/200LX - GET POWER INFO
156003 - INT 15 U - HP 100LX/200LX - SET MAIN BATTERY TYPE
156004 - INT 15 U - HP 100LX/200LX - SET BATTERY CHARGING MODE
15BA20 - INT 15 - HP OmniShare - STANDBY.COM - INSTALLATION CHECK
15BA21 - INT 15 - HP OmniShare - STANDBY.COM - SET STANDBY DURATION
15BA22 - INT 15 - HP OmniShare - STANDBY.COM - GET STANDBY DURATION
15BA23 - INT 15 - HP OmniShare - STANDBY.COM - TURN ON THE SCREEN IMMEDIATELY
15BA24 - INT 15 - HP OmniShare - STANDBY.COM - TURN OFF THE SCREEN IMMEDIATELY
15BA25 - INT 15 - HP OmniShare - STANDBY.COM - PREPARE FOR UNINSTALL
15BA26 - INT 15 - HP OmniShare - STANDBY.COM - IS THE DISPLAY IN STANDBY MODE?
15BA27 - INT 15 - HP OmniShare - STANDBY.COM - RESERVED FUNCTIONS
174B00 - INT 17 - Brother P-Touch - INSTALLATION CHECK
174B01 - INT 17 - Brother P-Touch - UNINSTALL
2F4C - INT 2F U - Advanced Power Management
2F53 - INT 2F U - POWER.EXE - APM event broadcasting???
2F530B - INT 2F U - ??? (MOUSEPWR.COM, others) - ???
2F5400 - INT 2F U - POWER.EXE - INSTALLATION CHECK
2F5401 - INT 2F U - POWER.EXE - GET/SET POWER STATUS
2F5402 - INT 2F U - POWER.EXE - GET/SET IDLE DETECTION STRATEGY
2F5403 - INT 2F U - POWER.EXE - GET/SET ADVANCED POWER MANAGEMENT SETTING
2F5480 - INT 2F U - POWER.EXE - GET/SET ???
2F5481 - INT 2F U - POWER.EXE - GET STATISTICS
2F5482 - INT 2F U - POWER.EXE - GET/SET APM POLLING FREQUENCY
2F548F - INT 2F U - POWER.EXE - GET/SET ???
Top

r - runtime support,

185350BX4849 - INT 18 - SPHINX C-- - WB.COM - API
2F3901BL02 - INT 2F - Kingswood TSR Windows - OPEN WINDOW
2F3901BL03 - INT 2F - Kingswood TSR Windows - HIDE WINDOWS
2F3901BL04 - INT 2F - Kingswood TSR Windows - SHOW WINDOWS
2F3901BL05 - INT 2F - Kingswood TSR Windows - CLOSE WINDOW
2F3901BL06 - INT 2F - Kingswood TSR Windows - SET WINDOW TITLE
2F3901BL07 - INT 2F - Kingswood TSR Windows - POSITION CURSOR
2F3901BL08 - INT 2F - Kingswood TSR Windows - DISPLAY STRING
2F3901BL09 - INT 2F - Kingswood TSR Windows - SCROLL WINDOW
2F3901BL0A - INT 2F - Kingswood TSR Windows - SOUND BEEPER
2F3901BL0B - INT 2F - Kingswood TSR Windows - ADD OR REMOVE USER
2FC9FF - INT 2F C - StackMan - INSTALLATION BROADCAST
34 - INT 34 - FLOATING POINT EMULATION - OPCODE D8h
35 - INT 35 - FLOATING POINT EMULATION - OPCODE D9h
36 - INT 36 - FLOATING POINT EMULATION - OPCODE DAh
37 - INT 37 - FLOATING POINT EMULATION - OPCODE DBh
38 - INT 38 - FLOATING POINT EMULATION - OPCODE DCh
39 - INT 39 - FLOATING POINT EMULATION - OPCODE DDh
3A - INT 3A - FLOATING POINT EMULATION - OPCODE DEh
3B - INT 3B - FLOATING POINT EMULATION - OPCODE DFh
3C - INT 3C - FLOATING POINT EMULATION - INSTRUCTIONS WITH SEGMENT OVERRIDE
3D - INT 3D - FLOATING POINT EMULATION - STANDALONE FWAIT
3E - INT 3E - FLOATING POINT EMULATION - Borland LANGUAGES "SHORTCUT" CALL
3F - INT 3F - Overlay manager interrupt (Microsoft LINK.EXE, Borland TLINK VROOMM)
3F - INT 3F - Microsoft Dynamic Link Library manager
60 - INT 60 - PC-IPC API
60 - INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
61 - INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
64 - INT 64 - Extended Batch Language v3.14+
7C - INT 7C U - IBM REXX88PC command language
80 - INT 80 - reserved for BASIC
81 - INT 81 - reserved for BASIC
82 - INT 82 - reserved for BASIC
83 - INT 83 - reserved for BASIC
84 - INT 84 - reserved for BASIC
85 - INT 85 - reserved for BASIC
86 - INT 86 - IBM ROM BASIC - used while in interpreter
86 - INT 86 - APL*PLUS/PC - Terminate APL session and return to DOS
87 - INT 87 - IBM ROM BASIC - used while in interpreter
87 - INT 87 - APL*PLUS/PC - ???
88 - INT 88 - IBM ROM BASIC - used while in interpreter
88--00 - INT 88 - APL*PLUS/PC - CREATE OBJECT OF ARBITRARY RANK OR SHAPE
88--01 - INT 88 - APL*PLUS/PC - CREATE CHARACTER SCALAR/VECTOR/MATRIX <64K IN SIZE
88--02 - INT 88 - APL*PLUS/PC - CREATE INTEGER SCALAR/VECTOR/MATRIX <64K IN SIZE
88--08 - INT 88 - APL*PLUS/PC - CREATE FLOATING POINT SCALAR/VECTOR/MATRIX <64K IN SIZE
88--F5 - INT 88 - APL*PLUS/PC - FORCE OBJECT INTO REAL WORKSPACE FROM VIRTUAL
88--F6 - INT 88 - APL*PLUS/PC - MAKE NAME IMMUNE FROM OUTSWAPPING
88--F7 - INT 88 - APL*PLUS/PC - MAKE NAME ELIGIBLE FOR OUTSWAPPING
88--F8 - INT 88 - APL*PLUS/PC - REPORT WHETHER NAME IS ELIGIBLE FOR OUTSWAPPING
88--F9 - INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
88--FC - INT 88 - APL*PLUS/PC - DETERMINE IF MEMORY AVAIL WITHOUT GARBAGE COLLECTION
88--FD - INT 88 - APL*PLUS/PC - PERFORM GARBAGE COLLECTION AND RETURN AVAILABLE MEMORY
88--FE - INT 88 - APL*PLUS/PC - CREATE NAME
88--FF - INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
89 - INT 89 - IBM ROM BASIC - used while in interpreter
89 - INT 89 - APL*PLUS/PC - ???
8A - INT 8A - IBM ROM BASIC - used while in interpreter
8A - INT 8A - APL*PLUS/PC - PRINT SCREEN
8B - INT 8B - IBM ROM BASIC - used while in interpreter
8B - INT 8B - APL*PLUS/PC - BEEP
8C - INT 8C - IBM ROM BASIC - used while in interpreter
8C - INT 8C - APL*PLUS/PC - CLEAR SCREEN MEMORY
8D - INT 8D - IBM ROM BASIC - used while in interpreter
8E - INT 8E - IBM ROM BASIC - used while in interpreter
8F - INT 8F - IBM ROM BASIC - used while in interpreter
90 - INT 90 - IBM ROM BASIC - used while in interpreter
90 - INT 90 - APL*PLUS/PC - USED BY PORT 10 PRINTER DRIVER
91 - INT 91 - IBM ROM BASIC - used while in interpreter
92 - INT 92 - IBM ROM BASIC - used while in interpreter
93 - INT 93 - IBM ROM BASIC - used while in interpreter
94 - INT 94 - IBM ROM BASIC - used while in interpreter
95 - INT 95 - IBM ROM BASIC - used while in interpreter
95 - INT 95 - APL*PLUS/PC - DETERMINE R= SPACE
96 - INT 96 - IBM ROM BASIC - used while in interpreter
97 - INT 97 - IBM ROM BASIC - used while in interpreter
98 - INT 98 - IBM ROM BASIC - used while in interpreter
99 - INT 99 - IBM ROM BASIC - used while in interpreter
9A - INT 9A - IBM ROM BASIC - used while in interpreter
9B - INT 9B - IBM ROM BASIC - used while in interpreter
9C - INT 9C - IBM ROM BASIC - used while in interpreter
9D - INT 9D - IBM ROM BASIC - used while in interpreter
9E - INT 9E - IBM ROM BASIC - used while in interpreter
9F - INT 9F - IBM ROM BASIC - used while in interpreter
A0 - INT A0 - IBM ROM BASIC - used while in interpreter
A0 - INT A0 - APL*PLUS/PC - USED BY APL/GSS*CGI GRAPHICS INTERFACE
A1 - INT A1 - IBM ROM BASIC - used while in interpreter
A2 - INT A2 - IBM ROM BASIC - used while in interpreter
A3 - INT A3 - IBM ROM BASIC - used while in interpreter
A4 - INT A4 - IBM ROM BASIC - used while in interpreter
A5 - INT A5 - IBM ROM BASIC - used while in interpreter
A6 - INT A6 - IBM ROM BASIC - used while in interpreter
A7 - INT A7 - IBM ROM BASIC - used while in interpreter
A8 - INT A8 - IBM ROM BASIC - used while in interpreter
A9 - INT A9 - IBM ROM BASIC - used while in interpreter
AA - INT AA - IBM ROM BASIC - used while in interpreter
AB - INT AB - IBM ROM BASIC - used while in interpreter
AC - INT AC - IBM ROM BASIC - used while in interpreter
AD - INT AD - IBM ROM BASIC - used while in interpreter
AE - INT AE - IBM ROM BASIC - used while in interpreter
AF - INT AF - IBM ROM BASIC - used while in interpreter
B0 - INT B0 - IBM ROM BASIC - used while in interpreter
B1 - INT B1 - IBM ROM BASIC - used while in interpreter
B2 - INT B2 - IBM ROM BASIC - used while in interpreter
B3 - INT B3 - IBM ROM BASIC - used while in interpreter
B4 - INT B4 - IBM ROM BASIC - used while in interpreter
B4 - INT B4 - StackMan - REQUEST NEW STACK
B5 - INT B5 - IBM ROM BASIC - used while in interpreter
B5 - INT B5 - StackMan - RESTORE ORIGINAL STACK
B6 - INT B6 - IBM ROM BASIC - used while in interpreter
B7 - INT B7 - IBM ROM BASIC - used while in interpreter
B8 - INT B8 - IBM ROM BASIC - used while in interpreter
B9 - INT B9 - IBM ROM BASIC - used while in interpreter
BA - INT BA - IBM ROM BASIC - used while in interpreter
BB - INT BB - IBM ROM BASIC - used while in interpreter
BC - INT BC - IBM ROM BASIC - used while in interpreter
BD - INT BD - IBM ROM BASIC - used while in interpreter
BE - INT BE - IBM ROM BASIC - used while in interpreter
BF - INT BF - IBM ROM BASIC - used while in interpreter
C0 - INT C0 - IBM ROM BASIC - used while in interpreter
C1 - INT C1 - IBM ROM BASIC - used while in interpreter
C2 - INT C2 - IBM ROM BASIC - used while in interpreter
C3 - INT C3 - IBM ROM BASIC - used while in interpreter
C4 - INT C4 - IBM ROM BASIC - used while in interpreter
C5 - INT C5 - IBM ROM BASIC - used while in interpreter
C6 - INT C6 - IBM ROM BASIC - used while in interpreter
C6 - INT C6 - APL*PLUS/PC - IDENTICAL TO INT 86
C7 - INT C7 - IBM ROM BASIC - used while in interpreter
C7 - INT C7 - APL*PLUS/PC - ???
C8 - INT C8 - IBM ROM BASIC - used while in interpreter
C8 - INT C8 - APL*PLUS/PC - IDENTICAL TO INT 88
C9 - INT C9 - IBM ROM BASIC - used while in interpreter
C9 - INT C9 - APL*PLUS/PC - ???
CA - INT CA - IBM ROM BASIC - used while in interpreter
CA - INT CA - APL*PLUS/PC - PRINT SCREEN
CB - INT CB - IBM ROM BASIC - used while in interpreter
CB - INT CB - APL*PLUS/PC - BEEP
CC - INT CC - IBM ROM BASIC - used while in interpreter
CC - INT CC - APL*PLUS/PC - CLEAR SCREEN MEMORY
CD - INT CD - IBM ROM BASIC - used while in interpreter
CD - INT CD - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
CE - INT CE - IBM ROM BASIC - used while in interpreter
CE - INT CE - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
CF - INT CF - IBM ROM BASIC - used while in interpreter
CF - INT CF - APL*PLUS/PC - DEFAULT LOW-RESOLUTION TIMER FOR QUAD MF FUNCTION
D0 - INT D0 - IBM ROM BASIC - used while in interpreter
D0 - INT D0 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D1 - INT D1 - IBM ROM BASIC - used while in interpreter
D1 - INT D1 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D2 - INT D2 - IBM ROM BASIC - used while in interpreter
D2 - INT D2 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D3 - INT D3 - IBM ROM BASIC - used while in interpreter
D3 - INT D3 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D4 - INT D4 - IBM ROM BASIC - used while in interpreter
D4 - INT D4 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D5 - INT D5 - IBM ROM BASIC - used while in interpreter
D5 - INT D5 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D6 - INT D6 - IBM ROM BASIC - used while in interpreter
D6 - INT D6 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D7 - INT D7 - IBM ROM BASIC - used while in interpreter
D7 - INT D7 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D8 - INT D8 - IBM ROM BASIC - used while in interpreter
D8 - INT D8 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
D9 - INT D9 - IBM ROM BASIC - used while in interpreter
D9 - INT D9 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
DA - INT DA - IBM ROM BASIC - used while in interpreter
DA - INT DA - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
DB - INT DB - IBM ROM BASIC - used while in interpreter
DB - INT DB - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
DC - INT DC - IBM ROM BASIC - used while in interpreter
DC - INT DC - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
DD - INT DD - IBM ROM BASIC - used while in interpreter
DD - INT DD - STSC APL*PLUS/PC v9.0 - PLACE KEYSTROKE EVENTS IN INPUT BUFFER
DE - INT DE - IBM ROM BASIC - used while in interpreter
DE - INT DE - APL*PLUS/PC - ???
DF - INT DF - IBM ROM BASIC - used while in interpreter
DF - INT DF - APL*PLUS/PC - SAME AS INT 10
E0 - INT E0 - IBM ROM BASIC - used while in interpreter
E0 - INT E0 - APL*PLUS/PC - RESTIME HIGH-RESOLUTION TIMER FOR QUAD MF FUNCTION
E1 - INT E1 - IBM ROM BASIC - used while in interpreter
E2 - INT E2 - IBM ROM BASIC - used while in interpreter
E3 - INT E3 - IBM ROM BASIC - used while in interpreter
E40005 - INT E4 - Logitech Modula v2.0 - MonitorEntry
E40006 - INT E4 - Logitech Modula v2.0 - MonitorExit
E4 - INT E4 - IBM ROM BASIC - used while in interpreter
E5 - INT E5 - IBM ROM BASIC - used while in interpreter
E6 - INT E6 - IBM ROM BASIC - used while in interpreter
E7 - INT E7 - IBM ROM BASIC - used while in interpreter
E8 - INT E8 - IBM ROM BASIC - used while in interpreter
E9 - INT E9 - IBM ROM BASIC - used while in interpreter
EA - INT EA - IBM ROM BASIC - used while in interpreter
EB - INT EB - IBM ROM BASIC - used while in interpreter
EC - INT EC - IBM ROM BASIC - used while in interpreter
EC - INT EC - Exact - RUNTIME INTERFACE MULTIPLEXOR
ED - INT ED - IBM ROM BASIC - used while in interpreter
EE - INT EE - IBM ROM BASIC - used while in interpreter
EF - INT EF - BASIC - ORIGINAL INT 09 VECTOR
F0 - INT F0 - BASICA.COM, GWBASIC, compiled BASIC - ORIGINAL INT 08 VECTOR
Top

s - sound/speech,

104F13BX0000 - INT 10 - VESA VBE/AI (Audio Interface) - INSTALLATION CHECK
104F13BX0001 - INT 10 - VESA VBE/AI (Audio Interface) - LOCATE DEVICE
104F13BX0002 - INT 10 - VESA VBE/AI (Audio Interface) - QUERY DEVICE
104F13BX0003 - INT 10 - VESA VBE/AI (Audio Interface) - OPEN DEVICE
104F13BX0004 - INT 10 - VESA VBE/AI (Audio Interface) - CLOSE DEVICE
104F13BX0005 - INT 10 - VESA VBE/AI (Audio Interface) - UNINSTALL DRIVER
104F13BX0006 - INT 10 - VESA VBE/AI (Audio Interface) - DRIVER CHAIN/UNCHAIN
16DFDF - INT 16 U - Corel PowerSCSI - FDAUDIO.COM - INSTALLATION CHECK
186900 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
186901 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
186902 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
186903 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
186904 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
186905 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
186906 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
186907 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
186908 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
186909 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
18690A - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
18690B - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
18690C - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
18690D - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
188000 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
188001 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
188002 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
188003 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
188004 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN
1A7F - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
1A80 - INT 1A - PCjr, Tandy 2500???, Tandy 1000SL/TL - SET UP SOUND MULTIPLEXOR
1A8100 - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND - INSTALLATION CHECK
1A82 - INT 1A - Tandy 2500???, Tandy 1000SL/TL - DIGITAL SOUND - RECORD SOUND
1A83 - INT 1A - Tandy 2500, Tandy 1000L series - START PLAYING DIGITAL SOUND
1A84 - INT 1A - Tandy 2500, Tandy 1000L series - STOP PLAYING DIGITAL SOUND
1A85 - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
1AFF00 - INT 1A - SND - INSTALLATION CHECK???
1AFF01 - INT 1A - SND - PAUSE
1AFF02 - INT 1A - SND - START SOUND
1AFF03 - INT 1A - SND - STOP SOUND
1AFF04 - INT 1A - SND - PLAY MUSIC STRING IN BACKGROUND
1AFF05 - INT 1A - SND - UNCONDITIONALLY STOP SOUND
214402 - INT 21 U - Creative Technology CTMMSYS.SYS v1.00.01 - API
214402 - INT 21 U - Creative Technology CTSB2.SYS v1.01.01 - API
21FD12BX3457 - INT 21 - Gravis UltraSound - MegaEm/MEGA_EM - INSTALLATION CHECK
2D--10 - INT 2D - CDTSR - GET INTERNAL VARIABLE TABLE
2D--11 - INT 2D - CDTSR - REPROGRAM CDTSR
2D--12 - INT 2D - CDTSR - DISABLE POPUP
2D--13 - INT 2D - CDTSR - ENABLE POPUP
2F60FFDL00 - INT 2F U - IPLAY v1.00b - INSTALLATION CHECK
2F60FFDL01 - INT 2F U - IPLAY v1.00b - GET DATA SEGMENT
2F8200 - INT 2F - RESPLAY - SAMPLE/PLAYBACK
2F8201 - INT 2F - RESPLAY - INSTALLATION CHECK
2F8202 - INT 2F - RESPLAY - UNINSTALL
2F8210 - INT 2F - RESPLAY - INITIALIZE
2F8220 - INT 2F - MODRES - PLAY MODULE
2F8221 - INT 2F - MODRES - INSTALLATION CHECK
2F8222 - INT 2F - MODRES - UNINSTALL
2F8223 - INT 2F - MODRES - PLAY SAMPLE
2F8224 - INT 2F - MODRES - ???
2F8225 - INT 2F - MODRES v2.00+ - GET LOCATION IN MOD
2F8226 - INT 2F - MODRES v2.00+ - STOP PLAYING
2F8227 - INT 2F - MODRES - CONFIGURE
2FBC00BX3F3F - INT 2F - MediaVision MVSOUND.SYS - INSTALLATION CHECK
2FBC01 - INT 2F - MediaVision MVSOUND.SYS - GET VERSION
2FBC02 - INT 2F - MediaVision MVSOUND.SYS - GET STATE TABLE POINTER
2FBC03 - INT 2F - MediaVision MVSOUND.SYS - GET FUNCTION TABLE POINTER
2FBC04 - INT 2F - MediaVision MVSOUND.SYS - GET DMA AND IRQ CHANNELS
2FBC06 - INT 2F - MediaVision MVSOUND.SYS - GET STATUS STRING
2FBC0B - INT 2F - MediaVision MVSOUND.SYS - GET EXECUTABLE PATH
2FBC0E - INT 2F - MediaVision MVSOUND.SYS - RE-INITIALIZE INT 09 HANDLER
2FCD00BX464F - INT 2F - Forte/Gravis ULTRAMID - INSTALLATION CHECK
2FCD00DX4957 - INT 2F R - InterWave Game API - INSTALLATION CHECK
2FCD01BX0000 - INT 2F R - InterWave Game API - GET NUMBER OF INTERWAVE PROGRAMS / PROGRAM ID
2FCD02 - INT 2F R - InterWave Game API - GET PROGRAM STATUS AND INFORMATION
2FCD03 - INT 2F R - InterWave Game API - SUSPEND PROGRAM
2FCD04 - INT 2F R - InterWave Game API - WAKE PROGRAM
2FCD05 - INT 2F R - InterWave Game API - UNINSTALL RESIDENT DEVICE DRIVER
2FCD21 - INT 2F R - InterWave Game API - OPEN GAME DEVICE
2FCD22 - INT 2F R - InterWave Game API - CLOSE GAME DEVICE
2FCD80 - INT 2F RC - InterWave Game API - MIXER SETTINGS CHANGED BROADCAST
2FFBFBES0000 - INT 2F U - SoundBlaster speech driver - INSTALLATION CHECK
4D - INT 4D - IBM - M-Audio Adapter SUPPORT
62C0 - INT 62 U - GWBTSR - API
65 - INT 65 - Ad Lib SOUND.COM - INTERFACE
65----SI0000 - INT 65 - Ad Lib SOUND.COM - INITIALIZE (RESET)
65----SI0003 - INT 65 - Ad Lib SOUND.COM - SET STATE
65----SI0004 - INT 65 - Ad Lib SOUND.COM - GET STATE
65----SI0006 - INT 65 - Ad Lib SOUND.COM - SET MODE
65----SI0007 - INT 65 - Ad Lib SOUND.COM - GET MODE
65----SI000C - INT 65 - Ad Lib SOUND.COM - SET ACTIVE VOICE
65----SI000D - INT 65 - Ad Lib SOUND.COM - GET ACTIVE VOICE
65----SI8000 - INT 65 u - Media Vision FM.COM v4.1a+ - GET INTERNAL DATA STRUCTURES
65----SI8001 - INT 65 u - Media Vision FM.COM v4.1a+ - GET VOICE COUNT
65----SI8002 - INT 65 - Media Vision FM.COM v4.1a+ - START BACKGROUND FM SOUNDS
65----SI8003 - INT 65 - Media Vision FM.COM v4.1a+ - STOP BACKGROUND FM SOUNDS
65----SI8004 - INT 65 U - Media Vision FM.COM v4.1a+ - GET ???
65----SI8005 - INT 65 U - Media Vision FM.COM v4.1a+ - ???
660688 - INT 66 - IBMSND driver, DIGPAK - PLAY 8-BIT DIGITIZED SOUND
660689 - INT 66 - IBMSND driver, DIGPAK - REPORT SOUND DRIVER STATUS
66068A - INT 66 - IBMSND driver, DIGPAK - PREFORMAT SOUND
66068B - INT 66 - IBMSND driver, DIGPAK - PLAY PREFORMATTED SOUND
66068C - INT 66 - IBMSND driver, DIGPAK - REPORT AUDIO DRIVER CAPABILITIES
66068D - INT 66 - IBMSND driver, DIGPAK - REPORT CURRENT SAMPLE ADDRESS
66068E - INT 66 - IBMSND driver, DIGPAK - SET CALLBACK ADDRESS
66068F - INT 66 - IBMSND driver, DIGPAK - STOP CURRENT SOUND
660690 - INT 66 - IBMSND driver, DIGPAK - "SetAudioHardware" - SET UP HARDWARE INFO
660691 - INT 66 - IBMSND driver, DIGPAK - REPORT CALLBACK ADDRESS
660693 - INT 66 - DIGPAK - SET TIMER DIVISOR RATE
660694 - INT 66 - DIGPAK - PLAY PREFORMATTED DATA
660695 - INT 66 - DIGPAK - POST AUDIO PENDING
660696 - INT 66 - DIGPAK - GET AUDIO PENDING STATUS
660697 - INT 66 - DIGPAK - SET STEREO PANNING
660698 - INT 66 - DIGPAK - SET PLAY MODE
660699 - INT 66 - DIGPAK - GET ADDRESSES
66069A - INT 66 - DIGPAK - SET RECORD MODE
66069B - INT 66 - DIGPAK - STOP NEXT LOOP
66069C - INT 66 - DIGPAK - SET DMA BACKFILL MODE
66069D - INT 66 - DIGPAK - REPORT DMA COUNTER
66069E - INT 66 - DIGPAK - VERIFY DMA BLOCK
66069F - INT 66 - DIGPAK - SET PCM VOLUME
6606A0 - INT 66 - DIGPAK - SET DPMI MODE
660700 - INT 66 - MIDPAK - UNINSTALL
660701 - INT 66 - IBM Digitized Sound Package MIDI driver - GET DIGITIZED SOUND CAPABIL
660702 - INT 66 - MIDPAK - PLAY SEQUENCE
660703 - INT 66 - MIDPAK - SEGUE SEQUENCE
660704 - INT 66 - MIDPAK - REGISTER XMIDI
660705 - INT 66 - MIDPAK - STOP MIDI
660706 - INT 66 O - MIDPAK - REMAP CHANNEL
660707 - INT 66 - MIDPAK - REPORT TRIGGER EVENT COUNTER
660708 - INT 66 - MIDPAK - RESET EVENT TRIGGER COUNTER
660709 - INT 66 O - MIDPAK - MIDI SLEEP
66070A - INT 66 O - MIDPAK - MIDI AWAKE
66070B - INT 66 - MIDPAK - RESUME PLAYING
66070C - INT 66 - MIDPAK - GET SEQUENCE STATUS
66070D - INT 66 - MIDPAK - REGISTER XMIDI FILE
66070E - INT 66 - MIDPAK - GET RELATIVE VOLUME
66070F - INT 66 - MIDPAK - SET RELATIVE VOLUME
660710 - INT 66 - MIDPAK - LOAD MIDPAK DRIVER
660711 - INT 66 - MIDPAK - POLL MIDPAK
660712 - INT 66 - MIDPAK - GET MIDI CLOCK
660713 - INT 66 - MIDPAK - GET TRIGGER COUNT ADDRESS
660714 - INT 66 - MIDPAK - GET EVENT ID ADDRESS
660716 - INT 66 - MIDPAK - REPORT SEQUENCE NUMBER
67DEE1BX0C55 - INT 67 - "SB Live!" Sound Blaster 16 Emulation Driver - INSTALLATION CHECK
78 - INT 78 - ULTRAMID - API
7E00 - INT 7E - MaxSBOS v0.21 - GET ???
7E0001 - INT 7E - IWSBSDRV v1.41 - SEND MIDI BYTE
7E0002 - INT 7E - IWSBSDRV v1.41 - SEND MIDI STRING
7E00F6 - INT 7E - SBOS v3.82 - SET ???
7E00F7 - INT 7E - SBOS v3.82 - GET ???
7E00F9 - INT 7E - SBOS v3.82 - SET ???
7E00FB - INT 7E - SBOS v3.82 - SET ???
7E00FD - INT 7E - SBOS v3.82 - SET ???
7E00FE - INT 7E - SBOS v3.82 - UNINSTALL
7E00FF - INT 7E - SBOS v3.82 - SET INTERRUPT FOR ???
7E01 - INT 7E - MaxSBOS v0.21 - ???
7E02 - INT 7E - MaxSBOS v0.21 - ???
7E03 - INT 7E - MaxSBOS v0.21 - NOP
7E--80 - INT 7E - IWSBSDRV v1.41 - GET ???
7E--81 - INT 7E - IWSBSDRV v1.41 - ???
7E--82 - INT 7E - IWSBSDRV v1.41 - GET ???
7E--83 - INT 7E - IWSBSDRV v1.41 - ??? (CALLS VIWD.VXD)
7E--84 - INT 7E - IWSBSDRV v1.41 - WAKE PROGRAM???
7E--85 - INT 7E - IWSBSDRV v1.41 - SET ??? FLAG
7E--86 - INT 7E - IWSBSDRV v1.41 - HOOK INT 21
7E--87 - INT 7E - IWSBSDRV v1.41 - RESTORE INT 21
7F4150BHC1 - INT 7F U - Voyetra - AAPISG - API
7F4331BHC1 - INT 7F U - Voyetra - VAPISG - API
7F564DBHC1 - INT 7F U - Voyetra Multimedia Player - VMP.EXE API
7F5658BHC1 - INT 7F U - Voyetra - VAPISG - API
80----BL00 - INT 80 - SBSIM - "STARTSND" - START SOUND ON SPECIFIED DRIVER
80----BL01 - INT 80 - SBSIM - "PLAYSND" - PLAY MUSIC/VOICE ON SELECTED DRIVER
80----BL02 - INT 80 - SBSIM - "STOPSND" - STOP MUSIC/VOICE ON SELECTED DRIVER
80----BL03 - INT 80 - SBSIM - "PAUSESND" - TEMPORARILY PAUSE PLAYBACK ON SELECTED DRIVER
80----BL04 - INT 80 - SBSIM - "RESUMESND" - RESTART PLAYBACK ON SELECTED DRIVER
80----BL05 - INT 80 - SBSIM - "GETSNDSTAT" - GET DRIVER'S STATUS
80----BX0000 - INT 80 - SoundBlaster SBFM driver - GET VERSION
80----BX0000 - INT 80 - SBSIM - "QUERYVERSION" - GET VERSION
80----BX0001 - INT 80 - SoundBlaster SBFM driver - SET MUSIC STATUS BYTE ADDRESS
80----BX0001 - INT 80 - SBSIM - "QUERYDRIVERS" - CHECK DRIVERS INSTALLED
80----BX0002 - INT 80 - SoundBlaster SBFM driver - SET INSTRUMENT TABLE
80----BX0002 - INT 80 - SBSIM - GETADDRESS" - GET SELECTED DRIVER'S ENTRY POINT
80----BX0003 - INT 80 - SoundBlaster SBFM driver - SET SYSTEM CLOCK RATE
80----BX0004 - INT 80 - SoundBlaster SBFM driver - SET DRIVER CLOCK RATE
80----BX0005 - INT 80 - SoundBlaster SBFM driver - TRANSPOSE MUSIC
80----BX0005 - INT 80 - SBSIM - "GETBUFFERINFO" - GET DRIVER'S BUFFER ADDRESS
80----BX0006 - INT 80 - SoundBlaster SBFM driver - PLAY MUSIC
80----BX0007 - INT 80 - SoundBlaster SBFM driver - STOP MUSIC
80----BX0008 - INT 80 - SoundBlaster SBFM driver - RESET DRIVER
80----BX0009 - INT 80 - SoundBlaster SBFM driver - PAUSE MUSIC
80----BX000A - INT 80 - SoundBlaster SBFM driver - RESUME MUSIC
80----BX000B - INT 80 - SoundBlaster SBFM driver - SET USER-DEF TRAP FOR SYSTEM-EXCLUSIVE CMDS
80----BX0400 - INT 80 - SBSIM - "GETVOLUME" - GET SOURCE'S VOLUME
80----BX0401 - INT 80 - SBSIM - "SETVOLUME" - SET SOURCE'S VOLUME
810200 - INT 81 - Gravis UltraSound - MegaEm - PROCESS COMMAND LINE
810202 - INT 81 - Gravis UltraSound - MegaEm - ???
810300 - INT 81 - Gravis UltraSound - MegaEm - LOAD SAMPLE ???
810400 - INT 81 - Gravis UltraSound - MegaEm - ???
812010 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - INT 78 REDIRECT
812011 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - NMI REDIRECT
812012 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - SOUNDCARD IRQ REDIRECT
812015 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - ???
8300 - INT 83 - JM Pro Tracker v5.0 - ???
8301 - INT 83 - JM Pro Tracker v5.0 - ???
8302 - INT 83 - JM Pro Tracker v5.0 - ???
8303 - INT 83 - JM Pro Tracker v5.0 - ???
8304 - INT 83 - JM Pro Tracker v5.0 - SET DMA BUFFER???
8305 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
8306 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
8307 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
8308 - INT 83 - JM Pro Tracker v5.0 - START PLAYING???
8309 - INT 83 - JM Pro Tracker v5.0 - PAUSE???
830A - INT 83 - JM Pro Tracker v5.0 - RESUME???
830B - INT 83 - JM Pro Tracker v5.0 - ???
830C - INT 83 - JM Pro Tracker v5.0 - ???
830D - INT 83 - JM Pro Tracker v5.0 - ???
830E - INT 83 - JM Pro Tracker v5.0 - ???
830F - INT 83 - JM Pro Tracker v5.0 - ???
8310 - INT 83 - JM Pro Tracker v5.0 - ???
8311 - INT 83 - JM Pro Tracker v5.0 - ???
8312 - INT 83 - JM Pro Tracker v5.0 - CLEAR ???
8313 - INT 83 - JM Pro Tracker v5.0 - ???
8314 - INT 83 - JM Pro Tracker v5.0 - ???
8315 - INT 83 - JM Pro Tracker v5.0 - GET ???
8316 - INT 83 - JM Pro Tracker v5.0 - ???
8317 - INT 83 - JM Pro Tracker v5.0 - UNHOOK API INTERRUPT
8318 - INT 83 - JM Pro Tracker v5.0 - SET BUFFERS
94----SI0000 - INT 94 u - PCM driver - INITIALIZE SOUND
94----SI0001 - INT 94 u - PCM driver - INITIALIZE PCM
94----SI0002 - INT 94 u - PCM driver - INITIALIZE PCM INFO
94----SI0003 - INT 94 u - PCM driver - INITIALIZE DMA BUFFER
94----SI0004 - INT 94 u - PCM driver - INITIALIZE USER FUNCTION
94----SI0005 - INT 94 u - PCM driver - BEGIN AUDIO PLAY
94----SI0006 - INT 94 u - PCM driver - BEGIN AUDIO RECORD
94----SI0007 - INT 94 u - PCM driver - PAUSE AUDIO PLAY/RECORD
94----SI0008 - INT 94 u - PCM driver - RESUME AUDIO PLAY/RECORD
94----SI0009 - INT 94 u - PCM driver - STOP AUDIO PLAY/RECORD
94----SI000A - INT 94 u - PCM driver - UNHOOK INTERRUPTS AND TURN OFF DMA
94----SI000B - INT 94 u - PCM driver - FIND VALID DMA BUFFER IN HUGE MEMORY BLOCK
94----SI000D - INT 94 u - Media Vision PCM.COM - GET STATUS
94----SI8000 - INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER ADDRESS
94----SI8001 - INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER SIZE AND DIVISIONS
94----SI8002 - INT 94 u - Media Vision PCM.COM - CHECK BOARD ADDRESS
94----SI8004 - INT 94 u - Media Vision PCM.COM - GET INTERNAL NOTE BUFFER
94----SI8005 - INT 94 u - Media Vision PCM.COM - SINGLE-STEP QUEUE
94----SI8011 - INT 94 u - Media Vision PCM.COM - INITIALIZE
94----SI8012 - INT 94 u - Media Vision PCM.COM - LOAD SOUND FOR LATER PLAY THROUGH KEYBOARD
94----SI8013 - INT 94 u - Media Vision PCM.COM - GET INTERNAL SOUND USAGE
94----SI8014 - INT 94 u - Media Vision PCM.COM - GET DATA FOR SPECIFIED SOUND
94----SI8015 - INT 94 u - Media Vision PCM.COM - GET/SET INTERNAL DMA BUFFER
94----SI8016 - INT 94 u - Media Vision PCM.COM - SIMULATE DOUBLE-SHIFT HOTKEY
94--01SI8017 - INT 94 u - Media Vision PCM.COM - CTRL-G INTERCEPT
94--02SI8017 - INT 94 u - Media Vision PCM.COM - DOUBLE-SHIFT-HOTKEY SOUND FEATURE
94--04SI8017 - INT 94 u - Media Vision PCM.COM - RANDOM SOUND FEATURE
94--08SI8017 - INT 94 u - Media Vision PCM.COM - NO ACTIVITY FEATURE
94--10SI8017 - INT 94 u - Media Vision PCM.COM - TIMER CONTROL
94----SI8018 - INT 94 u - Media Vision PCM.COM - GET INFO
F1 - INT F1 - SPEECH.COM - CONVERT TEXT STRING TO SPEECH
F1 - INT F1 - Andy C. McGuire SPEECH.COM/SAY.COM
F2 - INT F2 - Andy C. McGuire SPEECH.COM/SAY.COM
F3 - INT F3 - SoundBlaster - POINTER TO ECHO VALUE
Top

t - TSR libraries

10DAAD - INT 10 - TSRUNIT v1.10 - INSTALLATION CHECK
144000 - INT 14 - I1541 - INSTALLATION CHECK
144001 - INT 14 - I1541 - TEST IF 1541 CABLE CONNECTED
144002 - INT 14 - I1541 - SELECT LPT PORT FOR OUTPUT
144003 - INT 14 - I1541 - RESET ALL DEVICES
144004 - INT 14 - I1541 - SEND LISTEN SIGNAL
144005 - INT 14 - I1541 - SEND SECONDARY ADDRESS FOR LISTEN
144006 - INT 14 - I1541 - SEND UNLISTEN SIGNAL
144007 - INT 14 - I1541 - SEND TALK SIGNAL
144008 - INT 14 - I1541 - SEND SECONDARY ADDRESS FOR TALK
144009 - INT 14 - I1541 - SEND UNTALK SIGNAL
14400A - INT 14 - I1541 - SEND A BYTE TO A DEVICE
14400B - INT 14 - I1541 - RECEIVE A BYTE FROM A DEVICE
14400C - INT 14 - I1541 - WAIT
14400D - INT 14 - I1541 - LONGWAIT
14400E - INT 14 - I1541 - GET INFO
15 - INT 15 - Microsoft TSR Specification
165453BX5242 - INT 16 - TSRBONES - INSTALLATION CHECK
16E0E0 - INT 16 - TurboPower TSRs - ALTERNATE INSTALLATION CHECK
16F0F0 - INT 16 - TurboPower TSRs - INSTALLATION CHECK
2D - INT 2D - ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION (AMIS) [v3.6]
2D--00 - INT 2D - AMIS v3.0+ - INSTALLATION CHECK
2D--01 - INT 2D - AMIS v3.0+ - GET PRIVATE ENTRY POINT
2D--02 - INT 2D - AMIS v3.0+ - UNINSTALL
2D--03 - INT 2D - AMIS v3.0+ - REQUEST POP-UP
2D--04 - INT 2D - AMIS v3.0+ - DETERMINE CHAINED INTERRUPTS
2D--05 - INT 2D - AMIS v3.5+ - GET HOTKEYS
2D--06 - INT 2D - AMIS v3.6 - GET DEVICE-DRIVER INFORMATION
2F - INT 2F - BMB Compuscience Canada Utilities Interface - INSTALLATION CHECK
2F - INT 2F - Ross Wentworth's Turbo Pascal POPUP LIBRARY
2F - INT 2F - CiriSOFT Spanish University of Valladolid TSR's Interface
2F3900 - INT 2F - Kingswood TSR INTERFACE - COMPATIBILITY MODE
2F39--BL00 - INT 2F - Kingswood TSR INTERFACE - INSTALLATION CHECK
2F39--BL01 - INT 2F - Kingswood TSR INTERFACE - REMOVAL CHECK
2F39 - INT 2F - Kingswood TSR INTERFACE - APPLICATION-SPECIFIC FUNCTION CALLS
2F5453 - INT 2F - TesSeRact RAM-RESIDENT PROGRAM INTERFACE
2F8000 - INT 2F - CS_TSR specification - TSR INSTALLATION CHECK
2F8001 - INT 2F - CS_TSR specification - GET HANDLE (TSR-SPECIFIC INSTALLATION CHECK)
2F8002 - INT 2F - CS_TSR specification - GET PROCESS BLOCK BY PROCESS HANDLE
2F8003 - INT 2F - CS_TSR specification - CUSTOM SUBFUNCTION
2FDD - INT 2F - CappaCom programs - API
66FFFBBXFFFB - INT 66 - MicroHelp Stay-Res Plus - ???
66FFFEBXFFFE - INT 66 - MicroHelp Stay-Res/Stay-Res Plus - UNINSTALL
66FFFFBXFFF0 - INT 66 - MicroHelp Stay-Res Plus - FIND PROGRAM NAME
7D - INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
Top

u - emulators,

214321BX0000 - INT 21 - Q87, Q387 - INSTALLATION CHECK
214321BX0001 - INT 21 - Q87, Q387 - ENABLE EMULATOR
214321BX0002 - INT 21 - Q87, Q387 - DISABLE EMULATOR
60 - INT 60 U - PC/370 v4.2 - ???
672833 - INT 67 - Q87 v4+ - PREPARE TO UNLOAD AND GET XMS HANDLE FOR Q87 MEMORY
674321 - INT 67 - Q87 v4+ - INSTALLATION CHECK
DC - INT DC - PC/370 v4.1- - API
Top

v - virus/antivirus,

124350BX4920 - INT 12 C - CPI-standard virus - "FRIEND" CHECK
135001 - INT 13 - VIRUS - "Andropinis" - INSTALLATION CHECK
135342CX0001 - INT 13 - ScanBoot - INSTALLATION CHECK
13A759 - INT 13 U - Novell DOS 7 - SDRes v27.03 - ???
13EC00 - INT 13 - VIRUS - "Tiso" - INSTALLATION CHECK
13F2 - INT 13 - VIRUS - "Neuroquila" - INSTALLATION CHECK
13FA--DX5945 - INT 13 - PC Tools v8+ VSAFE, VWATCH - API
13FD50 - INT 13 - VIRUS - "Predator" - INSTALLATION CHECK
16DD - INT 16 - VIRUS - "Frumble" - INSTALLATION CHECK
16FA00DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - INSTALLATION CHECK
16FA01DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - UNINSTALL
16FA02DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET/SET OPTIONS
16FA03DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET ???
16FA04DX5945 - INT 16 U - PC Tools v8+ VSAFE - GET HOTKEY DISABLE FLAG
16FA05DX5945 - INT 16 U - PC Tools v8+ VSAFE - SET HOTKEY DISABLE FLAG
16FA06DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET NETWORK DRIVES TEST FLAG
16FA07DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - SET NETWORK DRIVES TEST FLAG
16FA08DX5945 - INT 16 U - PC Tools v9+ VWATCH v2.1 - ???
21010F - INT 21 - VIRUS - "Susan" - INSTALLATION CHECK
210B56 - INT 21 - VIRUS - "Perfume" - INSTALLATION CHECK
210D20 - INT 21 - VIRUS - "Crazy Imp" - INSTALLATION CHECK
210E--DLAD - INT 21 U - Novell DOS 7 - SDRes v27.03 - INSTALLATION CHECK
210E--DLAE - INT 21 U - Novell DOS 7 - SDRes v27.03 - CLEAR ??? FLAG
210E--DLAF - INT 21 U - Novell DOS 7 - SDRes v27.03 - SET ??? FLAG
211812 - INT 21 - VIRUS - "Tasha Yar" - INSTALLATION CHECK
21187FBX4453 - INT 21 - VIRUS - "DS-3783" -INSTALLATION CHECK
2118FF - INT 21 - VIRUS - "Pathogen:SMEG" - INSTALLATION CHECK
212080 - INT 21 - VIRUS - "New-Year" - INSTALLATION CHECK
212B16CX0643 - INT 21 - VIRUS - "Maltese Amoeba" - INSTALLATION CHECK
212C - INT 21 - VIRUS - "Anti Pode 2.0" - INSTALLATION CHECK
212C00CX534B - INT 21 - SKUDO - INSTALLATION CHECK
212C2C - INT 21 - VIRUS - "LockJaw/Proto-T" - INSTALLATION CHECK
2130--DXABCD - INT 21 - VIRUS - "Possessed" - INSTALLATION CHECK
2130--SI1234 - INT 21 - VIRUS - "ANDROMEDA-758" -INSTALLATION CHECK
213000BX614A - INT 21 - VIRUS - "Jackal" - INSTALLATION CHECK
213030BX694D - INT 21 - VIRUS - "IMTC" -INSTALLATION CHECK
213032DX1234 - INT 21 - VIRUS - "Uruguay" - INSTALLATION CHECK
2130F1 - INT 21 - VIRUS - "Dutch-555"/"Quit 1992" - INSTALLATION CHECK
21330F - INT 21 - VIRUS - "Burghofer" - INSTALLATION CHECK
2133DA - INT 21 - VIRUS - "CoffeeShop" - INSTALLATION CHECK
2133DB - INT 21 - VIRUS - "CoffeeShop" - GENERATE RANDOM NUMBER
2133DC - INT 21 - VIRUS - "CoffeeShop" - DISPLAY "LEGALIZE CANNABIS" GRAPHIC
2133E0 - INT 21 - VIRUS - "Oropax" - INSTALLATION CHECK
21357F - INT 21 - VIRUS - "Agiplan"/"Month 4-6" - INSTALLATION CHECK
213D76 - INT 21 - VIRUS - "GT-SPOOF" -INSTALLATION CHECK
213DFF - INT 21 - VIRUS - "JD-448" - INSTALLATION CHECK
213F--BXFEB0 - INT 21 - VIRUS - "KYZ/LieWait" - INSTALLATION CHECK
214203 - INT 21 - VIRUS - "Shake" - INSTALLATION CHECK
214243 - INT 21 - VIRUS - "Invader" - INSTALLATION CHECK
2144A0 - INT 21 - VIRUS - "Horns" - INSTALLATION CHECK
214A--BX00B6 - INT 21 - VIRUS???
214A--BXFFFF - INT 21 - VIRUS???
214B04 - INT 21 - VIRUS - "MG", "699"/"Thirteen Minutes" - INSTALLATION CHECK
214B20 - INT 21 - VIRUS - "Holocaust"/"Telefonica" - ???
214B21 - INT 21 C - VIRUS - "Holocaust"/"Telefonica" - ???
214B25 - INT 21 - VIRUS - "1063"/"Mono" - INSTALLATION CHECK
214B40 - INT 21 - VIRUS - "Plastique"/"AntiCad" - INSTALLATION CHECK
214B41 - INT 21 - VIRUS - "Plastique"/"AntiCad" - ???
214B4A - INT 21 - VIRUS - "Jabberwocky" - INSTALLATION CHECK
214B4B - INT 21 - VIRUS - "Horse-2" - INSTALLATION CHECK
214B4D - INT 21 - VIRUS - "Murphy-2", "Patricia"/"Smack" - INSTALLATION CHECK
214B50 - INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - INSTALLATION CHECK
214B53 - INT 21 - VIRUS - "Horse" - INSTALLATION CHECK
214B53BX2121 - INT 21 - VIRUS - "One Half" - INSTALLATION CHECK
214B55 - INT 21 - VIRUS - "Sparse" - INSTALLATION CHECK
214B59 - INT 21 - VIRUS - "Murphy-1", "Murphy-4" - INSTALLATION CHECK
214B5E - INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
214B60 - INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - ???
214B87 - INT 21 - VIRUS - "Shirley" - INSTALLATION CHECK
214B95 - INT 21 - VIRUS - "Zherkov-1882" - INSTALLATION CHECK
214BA7 - INT 21 - VIRUS - "1876"/"Dash-em" - INSTALLATION CHECK
214BAA - INT 21 - VIRUS - "Nomenklatura" - INSTALLATION CHECK
214BAF - INT 21 - VIRUS - "948"/"Screenplus1", "Magnitogorsk" - INSTALLATION CHECK
214BB1 - INT 21 - VIRUS - "UZZY" -INSTALLATION CHECK
214BDD - INT 21 - VIRUS - "Lozinsky"/"Zherkov" - INSTALLATION CHECK
214BEE - INT 21 - F-DRIVER.SYS v1.14+ - GRAB INT 21
214BF1 - INT 21 - VIRUS - "Jerusalem 2" - INSTALLATION CHECK
214BFE - INT 21 - VIRUS - "Hitchcock", "Dark Avenger-1028", "1193" - INSTALLATION CHECK
214BFF - INT 21 - VIRUS - "USSR-707", "Justice", "Europe 92" - INSTALLATION CHECK
214BFFSI0000 - INT 21 - VIRUS - "Cascade" - INSTALLATION CHECK
2150FD - INT 21 - VIRUS - "Predator 2" - INSTALLATION CHECK
215252 - INT 21 - VIRUS - "516"/"Leapfrog" - INSTALLATION CHECK
2154--BX4475 - INT 21 - VIRUS - "Dual_GtM"/"Ganeu" - INSTALLATION CHECK
215454 - INT 21 - VIRUS - "Dudley" - INSTALLATION CHECK
215643 - INT 21 - VIRUS - "PS-MPC.Gold" - INSTALLATION CHECK
215741 - INT 21 - VIRUS - "WARP" -INSTALLATION CHECK
2158CC - INT 21 - VIRUS - "1067"/"Headcrash" - INSTALLATION CHECK
2158DD - INT 21 - VIRUS - "1067"/"Headcrash" - GET ORIGINAL INT 21h VECTOR
216303 - INT 21 - VIRUS - "DOS IDLE" - INSTALLATION CHECK
216304 - INT 21 - VIRUS - "Replicator" - INSTALLATION CHECK
216969 - INT 21 - VIRUS - "Rape-747" - INSTALLATION CHECK
2171 - INT 21 - VIRUS - "1205" - INSTALLATION CHECK
217575 - INT 21 - VIRUS - "LEGO" -INSTALLATION CHECK
2176 - INT 21 - VIRUS - "Klaeren"/"Hate" - INSTALLATION CHECK
217700 - INT 21 - VIRUS - "Growing Block" - INSTALLATION CHECK
217BCE - INT 21 - VIRUS - "Whisper"/"Taipan" - INSTALLATION CHECK
217BCF - INT 21 - VIRUS - "Tai-Pan.666"/"Doom II Death" - INSTALLATION CHECK
217D - INT 21 - VIRUS - "OffSpring" - INSTALLATION CHECK
217F - INT 21 - VIRUS - "Squeaker","ASeXual" - INSTALLATION CHECK
2183 - INT 21 - VIRUS - "SVC" - INSTALLATION CHECK
2184 - INT 21 - VIRUS - "SVC 5.0" or "SVC 6.0" - INSTALLATION CHECK
2189 - INT 21 - VIRUS - "Vriest" - INSTALLATION CHECK
2190 - INT 21 - VIRUS - "Carioca" - INSTALLATION CHECK
219753 - INT 21 - VIRUS - "Nina" - INSTALLATION CHECK
219AD5 - INT 21 - VIRUS - "Massacre/Beavis" - INSTALLATION CHECK
21A1D5 - INT 21 - VIRUS - "789"/"Filehider" - INSTALLATION CHECK
21A55A - INT 21 - VIRUS - "Eddie-2" - INSTALLATION CHECK
21AA00 - INT 21 - VIRUS - "Blinker" - INSTALLATION CHECK
21AA03 - INT 21 - VIRUS - "Backtime" - INSTALLATION CHECK
21AB - INT 21 - VIRUS - "600" or "Voronezh"-family - INSTALLATION CHECK
21ABCD - INT 21 - VIRUS - Major BBS - INSTALLATION CHECK
21ABCD - INT 21 - VIRUS - "SuperVirus 2" - INSTALLATION CHECK
21B3 - INT 21 - VIRUS - "Requires" - INSTALLATION CHECK
21B974 - INT 21 - VIRUS - "Tracker" - INSTALLATION CHECK
21BBBB - INT 21 - VIRUS - "Hey You" - INSTALLATION CHECK
21BE - INT 21 - VIRUS - "Datalock" - INSTALLATION CHECK
21BE00 - INT 21 - VIRUS - "USSR-1049" - INSTALLATION CHECK
21C0 - INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
21C000 - INT 21 - VIRUS - "QUICKY" - INSTALLATION CHECK
21C001 - INT 21 - VIRUS - "QUICKY" - TURN INFECTION OFF
21C002 - INT 21 - VIRUS - "QUICKY" - TURN INFECTION ON
21C1 - INT 21 - VIRUS - "Solano" - ???
21C2 - INT 21 - VIRUS - "Scott's Valley" - ???
21C301DXF1F1 - INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
21C500 - INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
21C6 - INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
21C603 - INT 21 - VIRUS - "Yankee Doodle" or "MLTI" - INSTALLATION CHECK
21C700 - INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
21CA15 - INT 21 - VIRUS - "Piter" - ???
21CB - INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
21CB02 - INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
21CC - INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
21CD - INT 21 - VIRUS - "Westwood" - ???
21D0 - INT 21 - VIRUS - "MALAGA" - INSTALLATION CHECK
21D0 - INT 21 - VIRUS - "ANTIARJ" -INSTALLATION CHECK
21D000 - INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
21D000 - INT 21 - VIRUS - "Warlock" - INSTALLATION CHECK
21D2 - INT 21 - VIRUS???
21D5 - INT 21 - VIRUS - "Carfield" - ???
21D5AA - INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
21D5AABPDEAA - INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
21DADA - INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
21DAFE - INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
21DC28 - INT 21 - VIRUS - "Monika" - INSTALLATION CHECK
21DCBA - INT 21 - VIRUS - "Red Spider" - INSTALLATION CHECK
21DD - INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
21DDEF - INT 21 - VIRUS- "GOLGI" - INSTALLATION CHECK
21DE - INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
21DE - INT 21 - VIRUS - "April 1st EXE" - ???
21DEAD - INT 21 - VIRUS - "90210" - INSTALLATION CHECK
21DEAD - INT 21 - VIRUS - "Shifting Objective" - RELOCATE CODE ???
21DEDE - INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
21DEFE - INT 21 - VIRUS - "Maze" - INSTALLATION CHECK
21E0 - INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
21E00F - INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
21E1 - INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
21E4 - INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
21E7 - INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
21E900 - INT 21 - VIRUS - "Dark End" - INSTALLATION CHECK
21EC27 - INT 21 - VIRUS - "Halloween.1839" - INSTALLATION CHECK
21EC59 - INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
21EE - INT 21 - VIRUS - "Jerusalem-G", "Pregnant", "Barrotes" - INSTALLATION CHECK
21EEE7 - INT 21 - VIRUS - "GingerBread" - INSTALLATION CHECK
21EF - INT 21 - VIRUS - "Mabuhay"/"June 12th" - INSTALLATION CHECK
21F0 - INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
21F078 - INT 21 - VIRUS - "Burgler/H" - INSTALLATION CHECK
21F1 - INT 21 - VIRUS - "F1-337" - ???
21F1E9 - INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
21F2AA - INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
21F3 - INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
21F7 - INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
21F9 - INT 21 - VIRUS - "Satans-Bug" - INSTALLATION CHECK
21FA - INT 21 - VIRUS - "Cinderella 2" - INSTALLATION CHECK
21FA--DX5945 - INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
21FB - INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
21FB0A - INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
21FBA0 - INT 21 - VIRUS - "Groove" - INSTALLATION CHECK
21FBFB - INT 21 - VIRUS - "Dir.1367" - INSTALLATION CHECK
21FC - INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
21FC03 - INT 21 - VIRUS - "Invisible" - INSTALLATION CHECK
21FD - INT 21 - VIRUS - "Border" - INSTALLATION CHECK
21FDAC - INT 21 - VIRUS - "Delwin" - INSTALLATION CHECK
21FE - INT 21 - VIRUS - "483" - INSTALLATION CHECK
21FE01 - INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
21FE02 - INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
21FE03 - INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
21FEAD - INT 21 - VIRUS - "Shifting Objective" - INSTALLATION CHECK
21FEDC - INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
21FEFE - INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
21FF - INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
21FF01 - INT 21 - VIRUS - "Drop" - INSTALLATION CHECK
21FF0F - INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
21FF10 - INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
21FFFE - INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
21FFFEBX0000 - INT 21 - VIRUS - "Anti-Thunderbyte/LEMMING" - INSTALLATION CHECK
21FFFF - INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
21FFFFCX0000 - INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
2F4653CX0002 - INT 2F - F-PROT v1.x only - F-LOCK.EXE - API
2F4653CX0003 - INT 2F - F-PROT v1.x only - F-XCHK.EXE - API
2F4653CX0004 - INT 2F - F-PROT v1.x only - F-POPUP.EXE - API
2F4653CX0005 - INT 2F - F-PROT v1.x only - F-DLOCK.EXE - API
2F6282 - INT 2F U - PC Tools v7.0+ VDEFEND, VSAFE, VWATCH, DATAMON - SET ??? ADDRESS
2F6284BX0000 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
2F6284BX0001 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
2F6284BX0002 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET OPTIONS
2F6284BX0003 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - SET OPTION??? FLAGS
2F6284BX0004 - INT 2F U - PC Tools v8 DATAMON, v9+ DPROTECT - ???
2FC080 - INT 2F U - AMI IAM.SYS - INSTALL ??? CALLBACK
2FC081 - INT 2F U - AMI IAM.SYS - CLEAR ???
2FC900BP0000 - INT 2F U - ThunderByte??? - INSTALLATION CHECK
2FC987 - INT 2F U - ThunderByte??? - DISINFECT FILE???
2FC9FD - INT 2F - ThunderByte TBLOG - WRITE STRING TO LOG
2FCA00BX5442 - INT 2F - TBSCANX - INSTALLATION CHECK
2FCA01 - INT 2F - TBSCANX - GET STATUS
2FCA02 - INT 2F - TBSCANX - SET STATE
2FCA03 - INT 2F - TBSCANX - SCAN BUFFER
2FCA04 - INT 2F - TBSCANX - SCAN FILE
31 - INT 31 - VIRUS - "Vacsina" series - INSTALLATION CHECK (NOT A VECTOR!)
32 - INT 32 - VIRUS - "Tiny" Viruses - ORIGINAL INT 21h VECTOR
32 - INT 32 - VIRUS - "Plovdiv 1.3"/"Damage 1.3" - ORIGINAL INT 21h VECTOR
44 - INT 44 - VIRUS - "Lehigh" - ORIGINAL INT 21h VECTOR
60 - INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK
61 - INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
6B - INT 6B - VIRUS - "Saddam" - ORIGINAL INT 21h VECTOR
70 - INT 70 - VIRUS - "Stupid" - ORIGINAL INT 21h VECTOR
87 - INT 87 - VIRUS - "ZeroHunt" - VIRAL CODE (NOT A VECTOR!)
8B - INT 8B - VIRUS - "ZeroHunt" - INSTALLATION CHECK (NOT A VECTOR!)
9C - INT 9C - VIRUS - "INT13" - ORIGINAL INT 13h VECTOR
9D - INT 9D - VIRUS - "INT13" - ROM INT 13h ENTRY POINT
9E - INT 9E - VIRUS - "INT13" - ORIGINAL INT 21h VECTOR
9F - INT 9F - VIRUS - "INT13" - STORAGE FOR USER INT 13h VECTOR
D3 - INT D3 - VIRUS - "Antiexe" - RELOCATED INT 13
E0 - INT E0 - VIRUS - "Micro-128" - ???
F1 - INT F1 - VIRUS - "Violetta" - ???
FF - INT FF - VIRUS - "Violetta" - ???
Top

x - non-volatile config storage

157000 - INT 15 - Tandy 1000SL/TL - READ FROM EEPROM
157001 - INT 15 - Tandy 1000SL/TL - WRITE TO EEPROM
15A100 - INT 15 U - AMI PCI BIOS - SET ??? FLAG
2F1684BX0034 - INT 2F - Intel Plug-and-Play - CONFIGURATION MANAGER - GET ENTRY POINT
2F1684BX304C - INT 2F - Intel Plug-and-Play - CONFIGURATION ACCESS - GET ENTRY POINT
Top

y - security

130800DLF0 - INT 13 - SecureDrive - INSTALLATION CHECK
16FFA3BX0000 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
16FFA3BX0001 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
16FFA3BX0002 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
16FFA3BX0003 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
16FFA3BX0004 - INT 16 U - PC Tools v7+ DATAMON - SET ??? FLAG
16FFA3BX0005 - INT 16 U - PC Tools v7+ DATAMON - CLEAR ??? FLAG
16FFA3BX0006 - INT 16 U - PC Tools v7+ DATAMON - SET PSP SEGMENT ???
213F - INT 21 - Trusted Access - NB.SYS - GET STATE
2140 - INT 21 U - Trusted Access - NB.SYS - SET STATE
214101DXFFFE - INT 21 - SoftLogic Data Guardian - ???
214402 - INT 21 U - PC Tools 9 CPRLOW.EXE - GET CODE AND DATA ADDRESSES
21440DCXEDC1 - INT 21 - DR PalmDOS - GENERIC IOCTL - LOGIN SECURITY
2F1020 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CREATE PASSWORD ENTRY
2F1021 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHANGE PASSWORD ENTRY
2F1022 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHECK PASSWORD ENTRY
2FE200 - INT 2F - SecureDevice - LOGIN TO DRIVE
2FE201 - INT 2F - SecureDevice - GET INFORMATION
2FE203 - INT 2F - SecureDevice - DESTROY PASSWORD (LOGOUT FROM DRIVE)
2FE209DX0000 - INT 2F - SecureDevice - INSTALLATION CHECK
2FEE00 - INT 2F - GRIDLOC.EXE - INSTALLATION CHECK
326E - INT 32 - NOISE.SYS 0.53 - API
326E00 - INT 32 - NOISE.SYS v0.53+ - INSTALLATION CHECK
326E01 - INT 32 - NOISE.SYS v0.53+ - GET ENTRY POINT
326E10 - INT 32 - NOISE.SYS v0.53+ - STATUS CHECK
326E11 - INT 32 - NOISE.SYS v0.53+ - GET ENTROPY ESTIMATE
326E12 - INT 32 - NOISE.SYS v0.53+ - ADD SAMPLE FROM FAST TIMER
326E13 - INT 32 - NOISE.SYS v0.53+ - ADD 16-BIT SAMPLE TO RANDOM POOL
326E14 - INT 32 - NOISE.SYS v0.53+ - GET FLAGS
326E15 - INT 32 - NOISE.SYS v0.53+ - SET FLAGS
326E16 - INT 32 - NOISE.SYS v0.53+ - READ URANDOM BYTES
326E17 - INT 32 - NOISE.SYS v0.53+ - READ RANDOM BYTES
B6 - INT B6 - (NOT A VECTOR!) - USED BY TBFENCE
B7 - INT B7 - TBFENCE - ???
Top

FILELIST - Please redistribute the following files unmodified as a group, in a quartet of
Please redistribute the following files unmodified as a group, in a quartet of
archives named INTER61A through INTER61D (preferably the original authenticated
PKZIP archives):
	INTERRUP.1ST	the read-me file, containing credits, availability info
	INTERRUP.A	INT 00 through INT 10/BE  \
	INTERRUP.B	INT 10/BF through INT 15/0F\
	INTERRUP.C	INT 15/10 through INT 15/E7 \
	INTERRUP.D	INT 15/E8 through INT 1A/B0  \
	INTERRUP.E	INT 1A/B1 through INT 1F      \	  total 2520 pages at
	INTERRUP.F	INT 20 through INT 21/43       \  60 lines per page,
	INTERRUP.G	INT 21/44 through INT 21/5E	\ 2684 with INTPRINT -p
	INTERRUP.H	INT 21/5F through INT 21/E2	 >(8754 entries)
	INTERRUP.I	INT 21/E3 through INT 21/F1	/ (4135 tables)
	INTERRUP.J	INT 21/F2 through INT 25       /
	INTERRUP.K	INT 26 through INT 2F/15      /
	INTERRUP.L	INT 2F/16 through INT 2F/79  /
	INTERRUP.M	INT 2F/7A through INT 2F/D9 /
	INTERRUP.N	INT 2F/DA through INT 50   /
	INTERRUP.O	INT 51 through INT 61	  /
	INTERRUP.P	INT 62 through INT 6A	 /
	INTERRUP.Q	INT 6B through INT 91	/
	INTERRUP.R	INT 92 through INT FF  /
	INTERRUP.PRI	a brief introduction to interrupts
	INTPRINT.COM	a simple formatter that also generates a list summary
	INTPRINT.DOC	instructions for INTPRINT
	OVERVIEW.LST	brief listing of major uses of each interrupt
	86BUGS.LST	a listing of CPU bugs and undocumented features
	BIBLIO.LST	bibliography of information sources for the list
	CMOS.LST	a description of the CMOS RAM data bytes
	FARCALL.LST	APIs available through FAR CALLs
	GLOSSARY.LST	a glossary of terms, abbreviations, and acronyms
	MEMORY.LST	format of the BIOS data area
	OPCODES.LST	a listing of recent and undocumented CPU instructions
	PORTS.A		a listing of I/O ports 0000h-013Fh
	PORTS.B		a listing of I/O ports 0140h-0AD5h
	PORTS.C		a listing of I/O ports 0AD6h-FFFFh
	CATEGORY.KEY	descriptions of divider-line category letters
	COMBINE.COM	combine the pieces of the list into a single file
	COMBINE.DOC	documentation for COMBINE
The following files should be distributed in an archive called INTER61E:
	86BUGSnn.ZIP	programs to test for CPU bugs
	COMBINE.ASM	source code for COMBINE.COM
	INT.*		invoke interrupts from commandline
	INTHLP??.ZIP	Interrupt Helper viewer for the interrupt list
	INTLIST.E	Epsilon extension for handling list
	INTPRINT.C	source code for INTPRINT
	INTSUM??.ZIP	interrupt list browser (Interrupt Summary)
	IVIEW*.ZIP	another interrupt list browser
Finally, the following should be distributed in an archive called INTER61F:
	INT2RTF.ZIP	Slava Gostrenko's Windows Help converter
	INT2WHLP.ZIP	convert list into Windows Help database
	INTERRUP.ICO	icon for interrupt list
	HINTSRCH.ZIP	WinHelp DLL for full-text searches of interrupt list
	IL2ME???.ZIP	convert list into Multi-Edit help database
	INT2GUID.*	convert list into TurboPower GUIDE or POPHELP database
	INT2HLP.ZIP	convert list into QuickHelp database
	INT2IPF.ZIP	convert list into OS/2 .IPF database
	INT2QH.*	program to convert list into QuickHelp database
	INT2TPH.ZIP	convert to Turbo/Borland Pascal help file (.TPH)
	INTHELP.*	convert list into TurboPower GUIDE database
	RB2NG???.ZIP	convert list into Norton Guides database
	WH_ED*.ZIP	WinHelp-file editor

Top
CONTACT_INFO - If you notice any mistakes or omissions, please let me know! It is only with
If you notice any mistakes or omissions, please let me know!  It is only with
YOUR help that the list can continue to grow at the current rate.  Please send
all changes to me rather than distributing a modified version of the list.

Please read the file INTERRUP.1ST before asking me any questions.  You may find
that they have already been addressed.

	 Ralf Brown

Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
FIDO: Ralf Brown 1:129/26.1
	or post a message to me in the DR_DEBUG echo (I probably won't see it
	unless you address it to me)

I reply to all e-mail submissions, but some of my replies bounce because of
bad return paths.  If you don't get a response from me within a reasonable
period of time, send it again with a better return path (many mailers are
improperly configured and do not produce a valid From: address).

Top
Note - See INTERRUP.1ST for the key to system abbreviations and a list of the
See INTERRUP.1ST for the key to system abbreviations and a list of the
trademarks mentioned here.

Top
DISCLAIMER - DISCLAIMER: THIS MATERIAL IS PROVIDED "AS IS". I verify the information
DISCLAIMER:  THIS MATERIAL IS PROVIDED "AS IS".	 I verify the information
contained in this list to the best of my ability, but I cannot be held
responsible for any problems caused by use or misuse of the information,
especially for those functions not officially documented.  If it is marked
"internal" or undocumented, you should check it carefully to make sure it
works the same way in your version of the software (and please let me know
whether or not it works the same way).	Information marked with "???" is
known to be incomplete or guesswork.

Top
FLAGS - The use of -> instead of = signifies that the indicated register or register
The use of -> instead of = signifies that the indicated register or register
pair contains a pointer to the specified item, rather than the item itself.
Register pairs (such as AX:BX) indicate that the item is split across the
registers, with the high-order half in the first register.

One or more letters may follow the interrupt number; they have the following
meanings:  U - undocumented function, u - partially documented function,
P - available only in protected mode, R - available only in real or V86 mode,
C - callout or callback (usually hooked rather than called),
O - obsolete (no longer present in current versions)

Top
CATEGORIES - The ninth column of the divider line preceding an entry usually contains a
The ninth column of the divider line preceding an entry usually contains a
classification code (the entry has not been classified if that character is
a dash).  The codes currently in use are:
	A - applications, a - access software (screen readers, etc),
	B - BIOS, b - vendor-specific BIOS extensions,
	C - CPU-generated, c - caches/spoolers,
	D - DOS kernel, d - disk I/O enhancements,
	E - DOS extenders, e - electronic mail, F - FAX,
	f - file manipulation, G - debuggers/debugging tools, g - games,
	H - hardware, h - vendor-specific hardware,
	I - IBM workstation/terminal emulators, i - system info/monitoring,
	J - Japanese, j - joke programs,
	K - keyboard enhancers, k - file/disk compression,
	l - shells/command interpreters,
	M - mouse/pointing device, m - memory management,
	N - network, n - non-traditional input devices,
	O - other operating systems,
	P - printer enhancements, p - power management,
	Q - DESQview/TopView and Quarterdeck programs,
	R - remote control/file access, r - runtime support,
	S - serial I/O, s - sound/speech,
	T - DOS-based task switchers/multitaskers, t - TSR libraries
	U - resident utilities, u - emulators,
	V - video, v - virus/antivirus,
	W - MS Windows,
	X - expansion bus BIOSes, x - non-volatile config storage
	y - security, * - reserved (and not otherwise classified)

Top
00 - INT 00 C - CPU-generated - DIVIDE ERROR
INT 00 C - CPU-generated - DIVIDE ERROR
Desc:	generated if the divisor of a DIV or IDIV instruction is zero or the
	  quotient overflows the result register; DX and AX will be unchanged.
Notes:	on an 8086/8088, the return address points to the following instruction
	on an 80286+, the return address points to the divide instruction
	an 8086/8088 will generate this interrupt if the result of a division
	  is 80h (byte) or 8000h (word)
SeeAlso: INT 04,OPCODE "AAD"

Top
00 - INT 00 - Zenith - ROM DEBUGGER
INT 00 - Zenith - ROM DEBUGGER
Desc:	invokes the ROM Debugger when at the BIOS level; equivalent to
	  pressing Ctrl-Alt-Ins on booting.
Note:	since DOS revectors INT 00, it is necessary to restore this vector to
	  its original ROM BIOS value in order to invoke the debugger once DOS
	  loads
SeeAlso: INT 03"Columbia"

Top
01 - INT 01 C - CPU-generated - SINGLE STEP
INT 01 C - CPU-generated - SINGLE STEP
Desc:	generated after each instruction if TF (trap flag) is set; TF is
	  cleared on invoking the single-step interrupt handler
Notes:	interrupts are prioritized such that external interrupts are invoked
	  after the INT 01 pushes CS:IP/FLAGS and clears TF, but before the
	  first instruction of the handler executes
	used by debuggers for single-instruction execution tracing, such as
	  MS-DOS DEBUG's T command
SeeAlso: INT 03"CPU"

Top
01 - INT 01 C - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
INT 01 C - CPU-generated (80386+) - DEBUGGING EXCEPTIONS
Desc:	generated by the CPU on various occurrences which may be of interest
	  to a debugger program
Note:	events which may trigger the interrupt:
	  Instruction address breakpoint fault - will return to execute inst
	  Data address breakpoint trap - will return to following instruction
	  General detect fault, debug registers in use
	  Task-switch breakpoint trap
	  undocumented 386/486 opcode F1h - will return to following instruc
SeeAlso: INT 03"CPU"

Top
02 - INT 02 C - external hardware - NON-MASKABLE INTERRUPT
INT 02 C - external hardware - NON-MASKABLE INTERRUPT
Desc:	generated by the CPU when the input to the NMI pin is asserted
Notes:	return address points to start of interrupted instruction on 80286+
	on the 80286+, further NMIs are disabled until the next IRET
	  instruction, but one additional NMI is remembered by the hardware
	  and will be serviced after the IRET instruction reenables NMIs
	maskable interrupts may interrupt the NMI handler if interrupts are
	  enabled
	although the Intel documentation states that this interrupt is
	  typically used for power-failure procedures, it has many other uses
	  on IBM-compatible machines:
		Memory parity error: all except Jr, CONV, and some machines
				  without memory parity
		Breakout switch on hardware debuggers
		Coprocessor interrupt: all except Jr and CONV
		Keyboard interrupt: Jr, CONV
		I/O channel check: CONV, PS50+
		Disk-controller power-on request: CONV
		System suspend: CONV
		Real-time clock: CONV
		System watch-dog timer, time-out interrupt: PS50+
		DMA timer time-out interrupt: PS50+
		Low battery: HP 95LX
		Module pulled: HP 95LX

Top
02----SI0714 - INT 02 U - STB RAPIDMAP.SYS - ???
INT 02 U - STB RAPIDMAP.SYS - ???
	SI = 0714h
	ES:DI -> ???
Return: ???
SeeAlso: INT 67/AX=6100h"STB",PORT 00E1h"STB"

Top
03 - INT 03 C - CPU-generated - BREAKPOINT
INT 03 C - CPU-generated - BREAKPOINT
Desc:	generated by the one-byte breakpoint instruction (opcode CCh)
Notes:	used by debuggers to implement breakpoints, such as MS-DOS DEBUG's G
	  command
	also used by Turbo Pascal versions 1,2,3 when {$U+} specified
	return address points to byte following the breakpoint instruction
	called by Novell DOS 7 EMM386 after displaying an exception error
	  message (GPF, illegal opcodes, etc.) and before waiting for user
	  input
	called by QEMM-386 if the user presses 'I' (undocumented) when prompted
	  after an exception error message
SeeAlso: INT 01"CPU"

Top
03 - INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
Desc:	invokes the ROM Debugger if INT 03 has not been revectored; equivalent
	  to pressing Esc on booting.
SeeAlso: INT 00"Zenith",INT 03"Realia"

Top
03 - INT 03 - Realia COBOL - DEBUGGER SUPPORT
INT 03 - Realia COBOL - DEBUGGER SUPPORT
Note:	Realia COBOL checks for a signature eight bytes prior to the interrupt
	  handler when it starts up
BUG:	if the offset of the INT 03 vector is less than 8, the compiler and
	  all executables generated by it will crash the system
SeeAlso: INT 03"Columbia"

Top
03 - INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
	STACK:	DWORD	selector
		DWORD	offset of ASCIZ message to display
Notes:	the INT 03h instruction which invokes the debugger must be followed by
	  a JMP SHORT and the signature string "WVIDEO"
	to check whether this interface is available, define a public byte
	  variable named ___WD_Present, which the debugger will set to 01h
	  before running the program
SeeAlso: AX=0910h

Top
03 - INT 03 - DTown Utilities - POP UP
INT 03 - DTown Utilities - POP UP
Program: DTown Software Development's DTown Utilities contains various tools
	  which are useful to programmers, such as a memory viewer and
	  disassembler
Note:	DTU pops up on INT 03 (if not hooked by a debugger) to allow the
	  user to inspect memory or code when the machine crashes; various
	  memory managers will invoke INT 03 when displaying a CPU exception
	  error message (either automatically or when the user presses a
	  particular key)
SeeAlso: INT 2D/AL=20h"DTown"

Top
030000 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
	AX = 0000h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: SI = BCD version (0280h = v2.80)
SeeAlso: INT 03/AX=0910h

Top
0301 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
	AH = 01h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: ???
SeeAlso: AX=0000h,AX=090Bh,INT 03/AH=10h

Top
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0900h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AH=01h,AX=0902h,AX=0914h

Top
030902 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
	AX = 0902h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> initial register values (see #00001)
Return: registers as specified in initial register values table
Note:	This function is called by LDR.EXE in loading a program to
	  be debugged. After executing the function, Soft-ICE pops up its
	  debugging window and you may start debugging your program.
Return: ???
SeeAlso: AX=0000h,AX=090Ah,AX=0910h,AX=0914h

Format of Soft-ICE initial register values:
Offset	Size	Description	(Table 00001)
 00h	WORD	initial value of SP
 02h	WORD	initial value of SS
 04h	WORD	initial value of IP
 06h	WORD	initial value of CS
 08h	WORD	initial value of DS and ES
 0Ah	WORD	???
 0Ch	WORD	???
 0Eh	WORD	???
 10h	WORD	initial value of AX
 12h	WORD	??? (defaults to 000AH ???)
 14h	WORD	??? (defaults to 0001H ???)
 16h	WORD	??? (defaults to 0100H ???)

Top
030903 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0903h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=0902h,AX=0907h,AX=0914h

Top
030907 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0907h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=0903h,AX=090Ah,AX=0914h

Top
03090A - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 090Ah
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=0907h,AX=090Bh,AX=0914h

Top
03090B - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 090Bh
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=090Ah,AX=0910h,AX=0914h

Top
030910 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
	AX = 0910h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:DX -> ASCIZ string to display (max 100 bytes, 0Dh OK)
Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
SeeAlso: INT 03"WVIDEO"

Top
030911 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
	AX = 0911h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:DX -> ASCIZ command string (max 100 bytes, 0Dh OK)
Return: nothing
SeeAlso: AX=0912h,AX=0913h

Top
030912 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
	AX = 0912h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: BH = entry number of last breakpoint set
	BL = type of last breakpoint set (see #00002)
	DH = entry number of last breakpoint to be triggered
	DL = type of last triggered breakpoint (see #00002)
Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
SeeAlso: AX=0911h,AX=0913h,AX=0914h

(Table 00002)
Values for Soft-ICE breakpoint type:
 00h	BPM (breakpoint register types)
 01h	I/O
 02h	INTerrupt
 03h	BPX (INT 03-style breakpoint)
 04h	reserved
 05h	range

Top
030913 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
	AX = 0913h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:DX -> breakpoint structure (see #00003)
Return: AX = status
	    00h successful
		BX = breakpoint number
	    03h breakpoint table full
	    06h memory limit error
	    07h I/O limit error
	    09h range limit error
	    16h duplicate breakpoint
SeeAlso: AX=0911h,AX=0912h,AX=0914h

Format of Soft-ICE breakpoint structure:
Offset	Size	Description	(Table 00003)
 00h	BYTE	breakpoint type (see #00004)
 01h	DWORD	breakpoint address 1
		(lower range limit for memory BPs,
		interrupt number for interrupt BPs,
		address of BP for execution BPs,
		I/O address (only word)	for I/O BPs)
 05h	DWORD	breakpoint address 2
		(upper range limit for memory BPs,
		optional value to check for for interrupt BPs,
		overlay number (0 = root) for execution BPs)
 09h	DWORD	breakpoint address 3
 0Dh	BYTE	breakpoint mode 1 (see #00005)
		(for interrupt BPs = register to check
		    00h	 no value checking
		    01h	 check AL
		    02h	 check AH
		    03h	 check AX)
 0Eh	BYTE	breakpoint mode 2 (see #00005)
 0Fh	BYTE	breakpoint size (00h byte, 01h word, 03h dword)
 10h	BYTE	breakpoint pass count before program stop
 11h	BYTE	breakpoint state
Note:	all unused fields should contain zeros

(Table 00004)
Values for Soft-ICE breakpoint type:
 00h	memory location
 01h	memory range
 03h	I/O
 04h	interrupt
 05h	execution break

(Table 00005)
Values for Soft-ICE breakpoint mode:
 01h	read
 02h	write
 04h	execution

Top
030914 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
	AX = 0914h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = breakpoint number (returned by AX=0913h)
Return: BX = ???
Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
SeeAlso: AX=0912h,AX=0913h

Top
030918 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0918h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=0914h,INT 03/AH=10h

Top
0310 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AH = 10h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: ???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=01h,INT 03/AH=11h

Top
0311 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AH = 11h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: none???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=10h,INT 03/AX=130Ch

Top
03130C - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 130Ch
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = ???
	CX = ???
	DX = ???
Return: AX = ??? (1300h)
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=11h,INT 03/AX=130Eh

Top
03130E - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 130Eh
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = ???
	CX = ???
	DX = ???
Return: AX = ??? (1300h)
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=130Ch,INT 03/AX=1313h

Top
031313 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 1313h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = ???
	CX = ???
	DX = ???
Return: AX = ??? (1300h)
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=130Eh

Top
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0900h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: none???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=10h,INT 03/AH=12h

Top
04 - INT 04 C - CPU-generated - INTO DETECTED OVERFLOW
INT 04 C - CPU-generated - INTO DETECTED OVERFLOW
Desc:	the INTO instruction will generate this interrupt if OF (Overflow Flag)
	  is set; otherwise, INTO is effectively a NOP
Note:	may be used for convenient overflow testing (to prevent errors from
	  propagating) instead of JO or a JNO/JMP combination
SeeAlso: INT 00"CPU",OPCODE "AAD",OPCODE "AAM"

Top
05 - INT 05 - PRINT SCREEN
INT 05 - PRINT SCREEN
Desc:	dump the current text screen to the first printer
Notes:	normally invoked by the INT 09 handler when PrtSc key is pressed, but
	  may be invoked directly by applications
	byte at 0050h:0000h contains status used by default handler
	  00h not active
	  01h PrtSc in progress
	  FFh last PrtSc encountered error
	default handler is at F000h:FF54h in IBM PC and 100%-compatible BIOSes
	since the BOUND instruction also calls INT 05h, but returns control
	  to the BOUND instruction, a failed BOUND check will cause an infinite
	  loop of PrtScreens unless the INT 05 handler is aware of the problem
	  and checks whether the interrupt was invoked by a BOUND instruction
BUG:	some old BIOSes/applications appear to destroy BP on return
SeeAlso: INT 10/AH=12h/BL=20h,INT 4A"Tandy 2000",INT 5E"TI Professional"
SeeAlso: INT 80"Phar Lap"

Top
05 - INT 05 C - CPU-generated (80186+) - BOUND RANGE EXCEEDED
INT 05 C - CPU-generated (80186+) - BOUND RANGE EXCEEDED
Desc:	generated by BOUND instruction when the value to be tested is less than
	  the indicated lower bound or greater than the indicated upper bound.
Note:	returning from this interrupt re-executes the failing BOUND instruction

Top
05454A - INT 05 U - PSPS v2.01 - EJECT PAGE
INT 05 U - PSPS v2.01 - EJECT PAGE
	AX = 454Ah ('EJ')
Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
	  Technologies
Note:	sends a ^D to the current printer
SeeAlso: AX=4E57h,AX=5053h,AX=554Eh

Top
054E57 - INT 05 U - PSPS v2.01 - SET PARAMETERS
INT 05 U - PSPS v2.01 - SET PARAMETERS
	AX = 4E57h ('NW')
	ES:SI -> 11-byte buffer containing new settings
Return: buffer filled
SeeAlso: AX=454Ah,AX=5053h,INT 17/AH=63h

Top
055053 - INT 05 U - PSPS v2.01 - GET PARAMETERS
INT 05 U - PSPS v2.01 - GET PARAMETERS
	AX = 5053h ('PS')
	ES:SI -> 11-byte buffer for settings
Return: buffer filled
SeeAlso: AX=4E57h,AX=554Eh,INT 17/AH=64h

Top
05554E - INT 05 U - PSPS v2.01 - UNINSTALL
INT 05 U - PSPS v2.01 - UNINSTALL
	AX = 554Eh ('UN')
Program: PSPS is shareware PostScript PrintScreen utility by A.N.D.
	  Technologies
SeeAlso: AX=454Ah,AX=4E57h,INT 17/AH=62h

Top
06 - INT 06 C - CPU-generated (80186+) - INVALID OPCODE
INT 06 C - CPU-generated (80186+) - INVALID OPCODE
Desc:	this interrupt is generated when the CPU attempts to execute an
	  invalid opcode (most protected-mode instructions are considered
	  invalid in real mode) or a BOUND, LDS, LES, or LIDT instruction
	  which specifies a register rather than a memory address
Notes:	return address points to beginning of invalid instruction
	with proper programming, this interrupt may be used to emulate
	  instructions which do not exist; many 386 BIOSes emulate the 80286
	  undocumented LOADALL instruction which was removed from the 80386+
	generated by the 80386+ when the LOCK prefix is used with instructions
	  other than BTS, BTR, BTC, XCHG, XADD (486), CMPXCHG (486), INC, DEC,
	  NOT, NEG, ADD, ADC, SUB, SBB, AND, OR, or XOR, or any instruction
	  not accessing memory.
SeeAlso: INT 0C"CPU",INT 0D"CPU"

Top
06 - INT 06 C - HP 95LX - SLEEP/WAKEUP
INT 06 C - HP 95LX - SLEEP/WAKEUP
Desc:	this interrupt is called just before going into light or deep
	  (shutdown) sleep and just after returning from light or deep sleep
SeeAlso: INT 0B"HP 95LX",INT 15/AX=4DD4h,INT 15/AH=4Eh

Top
06 - INT 06 U - no-name clone - GRAPHICS CHARACTER TABLE (NOT A VECTOR!)
INT 06 U - no-name clone - GRAPHICS CHARACTER TABLE (NOT A VECTOR!)
Desc:	points at graphics data for characters 00h-7Fh of the current font
SeeAlso: INT 43"EGA",INT 44"VIDEO"

Top
07 - INT 07 C - CPU-generated (80286+) - PROCESSOR EXTENSION NOT AVAILABLE
INT 07 C - CPU-generated (80286+) - PROCESSOR EXTENSION NOT AVAILABLE
Desc:	this interrupt is automatically called if a coprocessor instruction is
	  encountered when no coprocessor is installed
Note:	can be used to emulate a numeric coprocessor in software
SeeAlso: INT 09"CPU"

Top
08 - INT 08 C - IRQ0 - SYSTEM TIMER
INT 08 C - IRQ0 - SYSTEM TIMER
Desc:	generated 18.2 times per second by channel 0 of the 8254 system timer,
	  this interrupt is used to keep the time-of-day clock updated
Notes:	programs which need to be invoked regularly should use INT 1C unless
	  they need to reprogram the timer while still keeping the time-of-day
	  clock running at the proper rate
	default handler is at F000h:FEA5h in IBM PC and 100%-compatible BIOSes
	may be masked by setting bit 0 on I/O port 21h
SeeAlso: INT 1C,INT 4A"SYSTEM",INT 50"DESQview",INT 58"DoubleDOS",INT 70"IRQ8"
SeeAlso: INT 78"GO32",INT D8"Screen Thief",MEM 0040h:0040h,MEM 0040h:006Ch

Top
08 - INT 08 C - CPU-generated (80286+) - DOUBLE EXCEPTION DETECTED
INT 08 C - CPU-generated (80286+) - DOUBLE EXCEPTION DETECTED
Desc:	called when multiple exceptions occur on one instruction, or an
	  exception occurs in an exception handler
Notes:	called in protected mode if an interrupt above the defined limit of
	  the interrupt vector table occurs
	return address points at beginning of instruction with errors or the
	  beginning of the instruction which was about to execute when the
	  external interrupt caused the exception
	if an exception occurs in the double fault handler, the CPU goes into
	  SHUTDOWN mode (which circuitry in the PC/AT converts to a reset);
	  this "triple fault" is a faster way of returning to real mode on
	  many 80286 machines than the standard keyboard controller reset

Top
09 - INT 09 C - IRQ1 - KEYBOARD DATA READY
INT 09 C - IRQ1 - KEYBOARD DATA READY
Desc:	this interrupt is generated when data is received from the keyboard.
	  This is normally a scan code (from either a keypress *or* a key
	  release), but may also be an ACK or NAK of a command on AT-class
	  keyboards.
Notes:	this IRQ may be masked by setting bit 1 on I/O port 21h
	if the BIOS supports an enhanced (101/102-key) keyboard, it calls
	  INT 15/AH=4Fh after reading the scan code (see #00006) from the
	  keyboard and before further processing; all further processing uses
	  the scan code returned from INT 15/AH=4Fh
	the default interrupt handler is at F000h:E987h in 100%-compatible
	  BIOSes
	the interrupt handler performs the following actions for certain
	  special keystrokes:
	    Ctrl-Break	 clear keyboard buffer, place word 0000h in buffer,
			 invoke INT 1B, and set flag at 0040h:0071h
	    SysReq	 invoke INT 15/AH=85h (SysReq is often labeled SysRq)
	    Ctrl-Numlock place system in a tight wait loop until next INT 09
	    Ctrl-Alt-Del jump to BIOS startup code (either F000h:FFF0h or the
			   destination of the jump at that address)
	    Shift-PrtSc	 invoke INT 05
	    Ctrl-Alt-Plus (HP Vectra) enable keyclick
	    Ctrl-Alt-Plus (many clones) set clock speed to high
	    Ctrl-Alt-Minus (HP Vectra) reduce keyclick volume
	    Ctrl-Alt-Minus (many clones) set clock speed to low
	    Ctrl-Alt-SysReq (HP Vectra) generate hard reset
	    Ctrl-Alt-S	(many clones) run BIOS setup program
	    Ctrl-Alt-Esc (many clones) run BIOS setup program
	    Ctrl-Alt-Ins (many clones) run BIOS setup program
	    Ctrl-Alt-LeftShift-GrayMinus (some clones) turn off system cache
	    Ctrl-Alt-LeftShift-GrayPlus (some clones) turn on system cache
	DR DOS hooks this interrupt to control the cursor shape (underscore/
	  half block) for overwrite/insert mode
	DR Multiuser DOS hooks this interrupt for cursor shape control and to
	  control whether Ctrl-Alt-Del reboots the current session or the
	  entire system
SeeAlso: INT 05"PRINT SCREEN",INT 0B"HP 95LX",INT 15/AH=4Fh,INT 15/AH=85h
SeeAlso: INT 16/AH=00h,INT 16/AH=10h,INT 1B,INT 2F/AX=A901h,INT 4A/AH=00h"TI"
SeeAlso: INT 51"DESQview",INT 59"DoubleDOS",INT 79"GO32"

(Table 00006)
Values for keyboard make/break (scan) code:
 01h	Esc		 31h	N
 02h	1 !		 32h	M
 03h	2 @		 33h	, <		 63h	F16
 04h	3 #		 34h	. >		 64h	F17
 05h	4 $		 35h	/ ?		 65h	F18
 06h	5 %		 36h	Right Shift	 66h	F19
 07h	6 ^		 37h	Grey*		 67h	F20
 08h	7 &		 38h	Alt		 68h	F21 (Fn) [*]
 09h	8 *		 39h	SpaceBar	 69h	F22
 0Ah	9 (		 3Ah	CapsLock	 6Ah	F23
 0Bh	0 )		 3Bh	F1		 6Bh	F24
 0Ch	- _		 3Ch	F2		 6Ch	--
 0Dh	= +		 3Dh	F3		 6Dh	EraseEOF
 0Eh	Backspace	 3Eh	F4
 0Fh	Tab		 3Fh	F5		 6Fh	Copy/Play
 10h	Q		 40h	F6
 11h	W		 41h	F7
 12h	E		 42h	F8		 72h	CrSel
 13h	R		 43h	F9		 73h	<delta> [*]
 14h	T		 44h	F10		 74h	ExSel
 15h	Y		 45h	NumLock		 75h	--
 16h	U		 46h	ScrollLock	 76h	Clear
 17h	I		 47h	Home		 77h	[Note2] Joyst But1
 18h	O		 48h	UpArrow		 78h	[Note2] Joyst But2
 19h	P		 49h	PgUp		 79h	[Note2] Joyst Right
 1Ah	[ {		 4Ah	Grey-		 7Ah	[Note2] Joyst Left
 1Bh	] }		 4Bh	LeftArrow	 7Bh	[Note2] Joyst Up
 1Ch	Enter		 4Ch	Keypad 5	 7Ch	[Note2] Joyst Down
 1Dh	Ctrl		 4Dh	RightArrow	 7Dh	[Note2] right mouse
 1Eh	A		 4Eh	Grey+		 7Eh	[Note2] left mouse
 1Fh	S		 4Fh	End
 20h	D		 50h	DownArrow
 21h	F		 51h	PgDn
 22h	G		 52h	Ins
 23h	H		 53h	Del
 24h	J		 54h	SysReq		---non-key codes---
 25h	K		 55h	[Note1] F11	 00h	kbd buffer full
 26h	L		 56h	left \| (102-key)
 27h	; :		 57h	F11		 AAh	self-test complete
 28h	' "		 58h	F12		 E0h	prefix code
 29h	` ~		 59h	[Note1] F15	 E1h	prefix code
 2Ah	Left Shift	 5Ah	PA1		 EEh	ECHO
 2Bh	\ |		 5Bh	F13 (LWin)	 F0h	prefix code (key break)
 2Ch	Z		 5Ch	F14 (RWin)	 FAh	ACK
 2Dh	X		 5Dh	F15 (Menu)	 FCh	diag failure (MF-kbd)
 2Eh	C					 FDh	diag failure (AT-kbd)
 2Fh	V					 FEh	RESEND
 30h	B					 FFh	kbd error/buffer full
Notes:	scan codes 56h-E1h are only available on the extended (101/102-key)
	  keyboard and Host Connected (122-key) keyboard; scan codes 5Bh-5Dh
	  are only available on the 122-key keyboard and the Microsoft Natural
	  Keyboard; scan codes 5Eh-76h are only available on the 122-key
	  keyboard
	in the default configuration, break codes are the make scan codes with
	  the high bit set; make codes 60h,61h,70h, etc. are not available
	  because the corresponding break codes conflict with prefix codes
	  (code 2Ah is available because the self-test result code AAh is only
	  sent on keyboard initialization).  An alternate keyboard
	  configuration can be enabled on AT and later systems with enhanced
	  keyboards, in which break codes are the same as make codes, but
	  prefixed with an F0h scan code
	prefix code E0h indicates that the following make/break code is for a
	  "gray" duplicate to a key which existed on the original PC keyboard;
	  prefix code E1h indicates that the following make code has no
	  corresponding break code (currently only the Pause key generates no
	  break code)
	the Microsoft Natural Keyboard sends make codes 5Bh, 5Ch, and 5Dh
	  (all with an E0h prefix) for the Left Windows, Right Windows, and
	  Menu keys on the bottom row
	the European "Cherry G81-3000 SAx/04" keyboard contains contacts for
	  four additional keys, which can be made available by a user
	  modification; the three new keys located directly below the cursor
	  pad's Delete, End, and PgDn keys send make codes 66h-68h (F19-F21);
	  the fourth new key, named <delta>, sends make code 73h
	the SysReq key is often labeled SysRq
	the "Accord" ergonomic keyboard with optional touchpad (no other
	  identification visible on keyboard or in owner's booklet) has an
	  additional key above the Grey- key marked with a left-pointing
	  triangle and labeled "Fn" in the owner's booklet which returns
	  scan codes E0h 68h on make and E0h E8h on break
	the "Preh Commander AT" keyboard with additional F11-F22 keys treats
	  F11-F20 as Shift-F1..Shift-F10 and F21/F22 as Ctrl-F1/Ctrl-F2; the
	  Eagle PC-2 keyboard with F11-F24 keys treated those additional keys
	  in the same way
	[Note1] the "Cherry G80-0777" keyboard has additional F11-F15 keys
	  which generate make codes 55h-59h; some other extended keyboards
	  generate codes 55h and 56h for F11 and F12, which cannot be managed
	  by standard DOS keyboard drivers
	[Note2] the Schneider/Amstrad PC1512 PC keyboards contain extra keys,
	  a mouse, and a digital joystick, which are handled like extra keys.
	  The joystick's motion scancodes are converted into standard arrow
	  keys by the BIOS, and the joystick and mouse button scan codes are
	  converted to FFFFh codes in the BIOS keyboard buffer
	  (see CMOS 15h"AMSTRAD").
	  In addition to the keys listed in the table above, there are
	    Del-> (delete forward)	70h
	    Enter			74h
SeeAlso: #00602 at INT 16/AX=6F07h,#03214 at INT 4A/AH=05h

Top
09 - INT 09 C - CPU-generated (80286,80386) - PROCESSOR EXTENSION PROTECTION ERROR
INT 09 C - CPU-generated (80286,80386) - PROCESSOR EXTENSION PROTECTION ERROR
Desc:	called if the coprocessor attempts to access memory outside a segment
	  boundary; it may occur at an arbitrary time after the coprocessor
	  instruction was issued
Notes:	until the condition is cleared or the coprocessor is reset, the only
	  coprocessor instruction which may be used is FNINIT; WAIT or other
	  coprocessor instructions will cause a deadlock because the
	  coprocessor is still busy waiting for data
	for the 486+, a coprocessor protection error generates an INT 0D
SeeAlso: INT 07"CPU"

Top
09 - INT 09 P - internal hardware - RESERVED BY Intel (80486)
INT 09 P - internal hardware - RESERVED BY Intel (80486)
Note:	this exception has been moved to INT 0D
SeeAlso: INT 09"CPU",INT 0D

Top
0A - INT 0A C - IRQ2 - LPT2 (PC), VERTICAL RETRACE INTERRUPT (EGA,VGA)
INT 0A C - IRQ2 - LPT2 (PC), VERTICAL RETRACE INTERRUPT (EGA,VGA)
Notes:	the TOPS and PCnet adapters use this interrupt request line by default
	DOS 3.2 revectors IRQ2 to a stack-switching routine; DOS 3.3+ does so
	  unless STACKS=0 has been set in CONFIG.SYS.  MS/PC-DOS 3.3+ use the
	  IBM Interrupt Sharing Protocol (see #02568) when hooking this IRQ
	on ATs and above, the physical data line for IRQ2 is labeled IRQ9 and
	  connects to the slave 8259.  The BIOS redirects the interrupt for
	  IRQ9 back here.
	under DESQview, only the INT 15h vector and BASIC segment address (the
	  word at 0000h:0510h) may be assumed to be valid for the handler's
	  process
	many VGA boards do not implement the vertical retrace interrupt,
	  including the IBM VGA Adapter where the traces are either cut or
	  removed
SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71,INT 7A"GO32"

Top
0A - INT 0A C - IRQ2 - Tandy 1000-series HARD DISK
INT 0A C - IRQ2 - Tandy 1000-series HARD DISK
Notes:	this interrupt may be masked by setting bit 2 on I/O port 21h
	the Tandy 1000, 1000A, and 1000HD use IRQ2 for the hard disk; the
	  1000EX, HX, RLX, RLX-HD, RLX-B, RLX-HD-B use IRQ5 instead; the
	  1000RL, RL-HD, SL, SL/2, TL, TL/2, and TL/3 are jumper-selectable
	  for either IRQ2 or IRQ5 (default IRQ5); the 1000SX and TX are
	  DIP-switch selectable for IRQ2 or IRQ5 (default IRQ2); the RSX and
	  RSX-HD use IRQ14.  Tandy systems which use IRQ2 for the hard disk
	  interrupt use IRQ5 for vertical retrace.
SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71

Top
0A - INT 0A - IRQ2 - ROLAND MPU MIDI INTERFACE
INT 0A - IRQ2 - ROLAND MPU MIDI INTERFACE
Note:	newer Roland cards and MIDI interfaces by other manufacturers use
	  a jumper-selectable IRQ, but software and hardware generally defaults
	  to IRQ2
SeeAlso: INT 52"DESQview",INT 5A"DoubleDOS",INT 71,INT 7A"GO32"

Top
0A - INT 0A CP - CPU-generated (80286+) - INVALID TASK STATE SEGMENT
INT 0A CP - CPU-generated (80286+) - INVALID TASK STATE SEGMENT
Desc:	automatically called during a task switch if the new TSS specified by
	  the task gate is invalid for any of the following reasons:
		TSS limit is less than 43 (80286) or 103 (80386/80486)
		LDT selector invalid or segment not present
		null SS selector, or SS selector outside LDT/GDT limit
		stack segment is read-only
		stack segment DPL differs from new CPL, or RPL <> CPL
		CS selector is outside LDT/GDT limit or not code
		non-conforming code segment's DPL differs from CPL
		conforming code segment's DPL > CPL
		DS/ES selectors outside LDT/GDT limit or not readable segments
Note:	the handler must use a task gate in order to have a valid TSS under
	  which to execute; it must also reset the busy bit in the new TSS
SeeAlso: INT 0B"CPU"

Top
0B - INT 0B C - IRQ3 - SERIAL COMMUNICATIONS (COM2)
INT 0B C - IRQ3 - SERIAL COMMUNICATIONS (COM2)
Desc:	automatically asserted by the UART when COM2 needs attention, if the
	  UART has been programmed to generate interrupts
Notes:	the TOPS and PCnet adapters use this interrupt request line as an
	  alternate
	on PS/2s, COM2 through COM8 share this interrupt; on many PC's, COM4
	  shares this interrupt
	may be masked by setting bit 3 on I/O port 21h
	DOS 3.3+ revectors IRQ3 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 0C"COM1",INT 53"DESQview",INT 5B"DoubleDOS",INT 7B"GO32"

Top
0B - INT 0B CP - CPU-generated (80286+) - SEGMENT NOT PRESENT
INT 0B CP - CPU-generated (80286+) - SEGMENT NOT PRESENT
Desc:	generated when loading a segment register if the segment descriptor
	  indicates that the segment is not currently in memory, unless the
	  segment is an LDT (see INT 0A"CPU") or stack segment (see
	  INT 0C"CPU") needed by a task switch
Note:	may be used to implement virtual memory by loading in segments as they
	  are accessed, clearing the "not present" bit after loading
SeeAlso: INT 0A"CPU",INT 0E"CPU"

Top
0B - INT 0B - HP 95LX - LOW-LEVEL KEYBOARD HANDLER
INT 0B - HP 95LX - LOW-LEVEL KEYBOARD HANDLER
Desc:	this is the lowest-level keyboard handler on an HP 95LX palmtop
Note:	debounces key, places the keycode in I/O register 60h, and calls INT 09
SeeAlso: INT 09,INT 0D"HP 95LX",INT 15/AX=4DD4h

Top
0C - INT 0C C - IRQ4 - SERIAL COMMUNICATIONS (COM1)
INT 0C C - IRQ4 - SERIAL COMMUNICATIONS (COM1)
Desc:	automatically asserted by the UART when COM1 needs attention, if the
	  UART has been programmed to generate interrupts
BUG:	this vector is modified but not restored by Direct Access v4.0, and
	  may be left dangling by other programs written with the same version
	  of compiled BASIC
Notes:	on many PC's, COM3 shares this interrupt
	may be masked by setting bit 4 on I/O port 21h
	DOS 3.3+ revectors IRQ4 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 0B"COM2",INT 54"DESQview",INT 5C"DoubleDOS",INT 7C"GO32"

Top
0C - INT 0C C - CPU-generated (80286+) - STACK FAULT
INT 0C C - CPU-generated (80286+) - STACK FAULT
Desc:	this interrupt is generated in protected mode on a stack overflow or
	  underflow, or if an inter-level transition or task switch references
	  a stack segment marked "not present"; it is generated in real mode
	  on accessing a word operand at SS:FFFFh
Note:	the 80286 will shut down in real mode if SP=1 before a push.  On the
	  PC AT and compatibles, external circuitry generates a reset on
	  shutdown.
SeeAlso: INT 0B"CPU",INT 0D"CPU"

Top
0C - INT 0C - IBM SYSTEM 36/38 WORKSTATION EMULATION - API POINTER
INT 0C - IBM SYSTEM 36/38 WORKSTATION EMULATION - API POINTER
Desc:	the IBM System 36/38 emulator may be invoked through a private API,
	  whose entry point address (see #00007) is offset 100h in the segment
	  pointed at by this vector

(Table 00007)
Call the System 36/38 emulator API entry point with:
	AH = function
	    03h update screen
	    05h select next session
		AL = session number (00h-03h)
		Return: AL = session type code
			    00h not active
			    01h display session
			    02h printer session
			    FEh invalid session number
			DS = requested session's data segment (0 if not active)
			    (see #00008)
Return: ???

Format of System 36/38 emulator's data area:
Offset	Size	Description	(Table 00008)
13Eh	BYTE	bit flags for status line indicators turned on since this byte
		last zerod
13Fh	BYTE	bit flags for status line indicators turned off since this
		byte last set to FFh
140h	WORD	offset of EBCDIC to ASCII translation
146h	WORD	offset of EBCDIC screen buffer
148h	WORD	offset of EC (engineering change) level signature
150h	BYTE	"KEYI"
151h	BYTE	5250 key scan code to be sent to remote
15Bh	BYTE	"SYSAV"
15Dh	BYTE	5250 cursor column
15Eh	BYTE	5250 cursor row
167h	BYTE	"DVCTAD"
178h	BYTE	"FLAGS"
184h	BYTE	"SESSNOAD"
193h	BYTE	"STNAD"
198h	BYTE	"NSDS"
Note:	offsets are from the interrupt handler's segment

Top
0D - INT 0D C - IRQ5 - FIXED DISK (PC,XT), LPT2 (AT), reserved (PS/2)
INT 0D C - IRQ5 - FIXED DISK (PC,XT), LPT2 (AT), reserved (PS/2)
Notes:	under DESQview, only the INT 15h vector and BASIC segment address (the
	  word at 0000h:0510h) may be assumed to be valid for the handler's
	  process
	DOS 3.3+ revectors IRQ5 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
	the Tandy 1000, 1000A, and 1000HD use IRQ2 for the hard disk; the
	  1000EX, HX, RLX, RLX-HD, RLX-B, RLX-HD-B use IRQ5 instead; the
	  1000RL, RL-HD, SL, SL/2, TL, TL/2, and TL/3 are jumper-selectable
	  for either IRQ2 or IRQ5 (default IRQ5); the 1000SX and TX are
	  DIP-switch selectable for IRQ2 or IRQ5 (default IRQ2); the RSX and
	  RSX-HD use IRQ14.  Tandy systems which use IRQ2 for the hard disk
	  interrupt use IRQ5 for vertical retrace.
	may be masked by setting bit 5 on I/O port 21h
SeeAlso: INT 0E"IRQ6",INT 0F"IRQ7",INT 55"DESQview",INT 5D"DoubleDOS"
SeeAlso: INT 7D"GO32"

Top
0D - INT 0D C - IRQ5 - Tandy 1000 60 Hz RAM REFRESH
INT 0D C - IRQ5 - Tandy 1000 60 Hz RAM REFRESH
Desc:	used to ensure that the dynamic RAM retains its contents in earlier
	  1000-series models; later models use normal DMA for RAM refresh
	  (some early models have no DMA unless it is added via an expansion
	  card)
SeeAlso: INT 55

Top
0D - INT 0D - HP 95LX - INFRARED INTERRUPT
INT 0D - HP 95LX - INFRARED INTERRUPT
Desc:	this interrupt is used to perform communications over the infrared
	  data link
SeeAlso: INT 0B"HP 95LX",INT 0E"HP 95LX",INT 15/AX=4DD4h

Top
0D - INT 0D C - CPU-generated (80286+) - GENERAL PROTECTION VIOLATION
INT 0D C - CPU-generated (80286+) - GENERAL PROTECTION VIOLATION
Desc:	the CPU generates this interrupt when it detects a protection violation
	  which does not fit under any other category having a separate
	  interrupt
Notes:	called in real mode when
	    an instruction accesses a memory operand extending beyond offset
	      FFFFh (i.e. WORD at FFFFh or DWORD at FFFDh or higher) in segment
	      CS, DS, ES, FG, or GS
	    a PUSH MEM or POP MEM instruction contains an invalid bit encoding
	      in the second byte
	    an instruction exceeds the maximum length allowed (10 bytes for
	      80286, 15 bytes for 80386/80486)
	    an instruction wraps from offset FFFFh to offset 0000h
	called in protected mode on protection violations not covered by INT 06
	  through INT 0C, including
	    segment limit violations
	    write to read-only segments
	    accesses using null DS or ES selectors
	    accesses to segments with privilege greater than CPL
	    wrong descriptor type
	called on 80486 protected-mode floating-point protection fault
SeeAlso: INT 09"80486",INT 0C"STACK"

Top
0E - INT 0E C - IRQ6 - DISKETTE CONTROLLER
INT 0E C - IRQ6 - DISKETTE CONTROLLER
Desc:	this interrupt is generated by the floppy disk controller on
	  completion of an operation
Notes:	default handler is at F000h:EF57h in IBM PC and 100%-compatible BIOSes
	may be masked by setting bit 6 on I/O port 21h
	DOS 3.3+ revectors IRQ6 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 0D"IRQ5",INT 56"DESQview",INT 5E"DoubleDOS",INT 7E"GO32"

Top
0E - INT 0E C - CPU-generated (80386+ native mode) - PAGE FAULT
INT 0E C - CPU-generated (80386+ native mode) - PAGE FAULT
Desc:	this interrupt is generated in protected and virtual-86 modes on
	  attempting to access a 4K memory page whose page table entry has
	  the "present" bit cleared
Notes:	used to implement virtual memory--when the page fault occurs, the
	  operating system can load the appropriate page from disk
	a protected-mode program written in the Flat memory model will often
	  generate this interrupt (typically reported as an Exception #14 or
	  Exception 0E with a register dump) when dereferencing an
	  uninitialized or corrupted pointer
SeeAlso: INT 0B"CPU"

Top
0E - INT 0E C - HP 95LX - EXTERNAL CARD INTERRUPT
INT 0E C - HP 95LX - EXTERNAL CARD INTERRUPT
SeeAlso: INT 0D"HP 95LX",INT 0F"HP 95LX",INT 15/AX=4DD4h

Top
0F - INT 0F C - IRQ7 - PARALLEL PRINTER
INT 0F C - IRQ7 - PARALLEL PRINTER
Desc:	this interrupt is generated by the LPT1 printer adapter when the
	  printer becomes ready
Notes:	most printer adapters do not reliably generate this interrupt
	the 8259 interrupt controller generates an interrupt corresponding to
	  IRQ7 when an error condition occurs
SeeAlso: INT 0D"IRQ5",INT 57"DESQview",INT 5F"DoubleDOS",INT 7F"GO32"
SeeAlso: MEM 0040h:006Bh

Top
0F - INT 0F C - HP 95LX - REAL-TIME CLOCK
INT 0F C - HP 95LX - REAL-TIME CLOCK
SeeAlso: INT 0E"HP 95LX",INT 15/AX=4DD4h,INT 70"IRQ8"

Top
10 - INT 10 C - CPU-generated (80286+) - COPROCESSOR ERROR
INT 10 C - CPU-generated (80286+) - COPROCESSOR ERROR
Desc:	this interrupt is generated by the CPU when the -ERROR pin is asserted
	  by the coprocessor
Note:	AT's and clones usually wire the coprocessor to use IRQ13, but not all
	  get it right
SeeAlso: INT 09"hardware",INT 75

Top
10 - INT 10h - LIRVGA19 - CHAR HEIGHT HOOK
INT 10h - LIRVGA19 - CHAR HEIGHT HOOK
Desc:	LIRVGA19.COM fixes display problems on some notebooks by hooking
	   INT 10h and resetting the BIOS character height (MEM 0040h:0085h)
	   to 10h on return, if it happens to be greater than 10h.
Program: LIRVGA19.COM is part of the Lithuanian LIR codepage support package
	  developed by LABAS u.a.b.
SeeAlso: INT 10/AX=5555h/BX=BBBBh,MEM 0040h:0085h

Top
1000 - INT 10 - VIDEO - SET VIDEO MODE
INT 10 - VIDEO - SET VIDEO MODE
	AH = 00h
	AL = desired video mode (see #00010)
Return: AL = video mode flag (Phoenix, AMI BIOS)
	    20h mode > 7
	    30h modes 0-5 and 7
	    3Fh mode 6
	AL = CRT controller mode byte (Phoenix 386 BIOS v1.10)
Desc:	specify the display mode for the currently active display adapter
InstallCheck: for Ahead adapters, the signature "AHEAD" at C000h:0025h
	for Paradise adapters, the signature "VGA=" at C000h:007Dh
	for Oak Tech OTI-037/057/067/077 chipsets, the signature "OAK VGA" at
	  C000h:0008h
	for ATI adapters, the signature "761295520" at C000h:0031h; the byte
	  at C000h:0043h indicates the chipset revision:
		31h for 18800
		32h for 18800-1
		33h for 18800-2
		34h for 18800-4
		35h for 18800-5
		62h for 68800AX (Mach32) (see also #00732)
	  the two bytes at C000h:0040h indicate the adapter type
		"22" EGA Wonder
		"31" VGA Wonder
		"32" EGA Wonder800+
	  the byte at C000h:0042h contains feature flags
		bit 1: mouse port present
		bit 4: programmable video clock
	  the byte at C000h:0044h contains additional feature flags if chipset
	    byte > 30h (see #00009)
	for Genoa video adapters, the signature 77h XXh 99h 66h at C000h:NNNNh,
	  where NNNNh is stored at C000h:0037h and XXh is
		00h for Genoa 6200/6300
		11h for Genoa 6400/6600
		22h for Genoa 6100
		33h for Genoa 5100/5200
		55h for Genoa 5300/5400
	  for SuperEGA BIOS v2.41+, C000h:0057h contains the product level
	  for Genoa SuperEGA BIOS v3.0+, C000h:0070h contains the signature
	    "EXTMODE", indicating support for extended modes
Notes:	IBM standard modes do not clear the screen if the high bit of AL is set
	  (EGA or higher only)
	the Tseng ET4000 chipset is used by the Orchid Prodesigner II, Diamond
	  SpeedSTAR VGA, Groundhog Graphics Shadow VGA, Boca Super X VGA,
	  Everex EV-673, etc.
	intercepted by GRAFTABL from Novell DOS 7 and Caldera OpenDOS 7.01.
SeeAlso: AX=0070h,AX=007Eh,AX=10E0h,AX=10F0h,AH=40h,AX=6F05h,AH=FFh"GO32"
SeeAlso: INT 33/AX=0028h,INT 5F/AH=00h,INT 62/AX=0001h,MEM 0040h:0049h
Index:	installation check;Tseng ET4000|installation check;Ahead video cards
Index:	installation check;Oak Technologies|installation check;ATI video cards
Index:	installation check;Paradise video|installation check;Genoa video cards

Bitfields for ATI additional feature flags:
Bit(s)	Description	(Table 00009)
 0	70 Hz non-interlaced display
 1	Korean (double-byte) characters
 2	45 MHz memory clock rather than 40 MHz
 3	zero wait states
 4	paged ROMs
 6	no 8514/A monitor support
 7	HiColor DAC

(Table 00010)
Values for video mode:
     text/ text pixel	pixel	colors disply scrn  system
     grph resol	 box  resolution       pages  addr
 00h = T  40x25	 8x8   320x200	16gray	  8   B800 CGA,PCjr,Tandy
     = T  40x25	 8x14  320x350	16gray	  8   B800 EGA
     = T  40x25	 8x16  320x400	 16	  8   B800 MCGA
     = T  40x25	 9x16  360x400	 16	  8   B800 VGA
 01h = T  40x25	 8x8   320x200	 16	  8   B800 CGA,PCjr,Tandy
     = T  40x25	 8x14  320x350	 16	  8   B800 EGA
     = T  40x25	 8x16  320x400	 16	  8   B800 MCGA
     = T  40x25	 9x16  360x400	 16	  8   B800 VGA
 02h = T  80x25	 8x8   640x200	16gray	  4   B800 CGA,PCjr,Tandy
     = T  80x25	 8x14  640x350	16gray	  8   B800 EGA
     = T  80x25	 8x16  640x400	 16	  8   B800 MCGA
     = T  80x25	 9x16  720x400	 16	  8   B800 VGA
 03h = T  80x25	 8x8   640x200	 16	  4   B800 CGA,PCjr,Tandy
     = T  80x25	 8x14  640x350	 16/64	  8   B800 EGA
     = T  80x25	 8x16  640x400	 16	  8   B800 MCGA
     = T  80x25	 9x16  720x400	 16	  8   B800 VGA
     = T  80x43	 8x8   640x350	 16	  4   B800 EGA,VGA [17]
     = T  80x50	 8x8   640x400	 16	  4   B800 VGA [17]
 04h = G  40x25	 8x8   320x200	  4	  .   B800 CGA,PCjr,EGA,MCGA,VGA
 05h = G  40x25	 8x8   320x200	 4gray	  .   B800 CGA,PCjr,EGA
     = G  40x25	 8x8   320x200	  4	  .   B800 MCGA,VGA
 06h = G  80x25	 8x8   640x200	  2	  .   B800 CGA,PCjr,EGA,MCGA,VGA
     = G  80x25	  .	  .	mono	  .   B000 HERCULES.COM on HGC [14]
 07h = T  80x25	 9x14  720x350	mono	 var  B000 MDA,Hercules,EGA
     = T  80x25	 9x16  720x400	mono	  .   B000 VGA
 08h = T 132x25	 8x8  1056x200	 16	  .   B800 ATI EGA/VGA Wonder [2]
     = T 132x25	 8x8  1056x200	mono	  .   B000 ATI EGA/VGA Wonder [2]
     = G  20x25	 8x8   160x200	 16	  .	.  PCjr, Tandy 1000
     = G  80x25	 8x16  640x400	color	  .	.  Tandy 2000
     = G  90x43	 8x8   720x348	mono	  .   B000 Hercules + MSHERC.COM
     = G  90x45	 8x8   720x360	mono	  .   B000 Hercules + HERKULES [11]
     = G  90x29	 8x12  720x348	mono	  .	.  Hercules + HERCBIOS [15]
 09h = G  40x25	 8x8   320x200	 16	  .	.  PCjr, Tandy 1000
     = G  80x25	 8x16  640x400	mono	  .	.  Tandy 2000
     = G  90x43	 8x8   720x348	mono	  .	.  Hercules + HERCBIOS [15]
 0Ah = G  80x25	 8x8   640x200	  4	  .	.  PCjr, Tandy 1000
 0Bh =	 reserved				   (EGA BIOS internal use)
     = G  80x25	 8x8   640x200	 16	  .	.  Tandy 1000 SL/TL [13]
 0Ch =	 reserved				   (EGA BIOS internal use)
 0Dh = G  40x25	 8x8   320x200	 16	  8   A000 EGA,VGA
 0Eh = G  80x25	 8x8   640x200	 16	  4   A000 EGA,VGA
 0Fh = G  80x25	 8x14  640x350	mono	  2   A000 EGA,VGA
 10h = G  80x25	 8x14  640x350	  4	  2   A000 64k EGA
     = G    .	  .    640x350	 16	  .   A000 256k EGA,VGA
 11h = G  80x30	 8x16  640x480	mono	  .   A000 VGA,MCGA,ATI EGA,ATI VIP
 12h = G  80x30	 8x16  640x480	 16/256K  .   A000 VGA,ATI VIP
     = G  80x30	 8x16  640x480	 16/64	  .   A000 ATI EGA Wonder
     = G    .	  .    640x480	 16	  .	.  UltraVision+256K EGA
 13h = G  40x25	 8x8   320x200	256/256K  .   A000 VGA,MCGA,ATI VIP
 14h = T 132x25	 Nx16	  .	 16	  .   B800 XGA, IBM Enhanced VGA [3]
     = T 132x25	 8x16 1056x400	 16/256K  .	.  Cirrus CL-GD5420/5422/5426
     = G  80x25	 8x8   640x200	  .	  .	.  Lava Chrome II EGA
     = G    .	  .    640x400	 16	  .	.  Tecmar VGA/AD
 15h = G  80x25	 8x14  640x350	  .	  .	.  Lava Chrome II EGA
 16h = G  80x25	 8x14  640x350	  .	  .	.  Lava Chrome II EGA
     = G    .	  .    800x600	 16	  .	.  Tecmar VGA/AD
 17h = T 132x25	  .	  .	  .	  .	.  Tecmar VGA/AD
     = T  80x43	 8x8   640x348	 16	  4   B800 Tseng ET4000 BIOS [10]
     = G  80x34	 8x14  640x480	  .	  .	.  Lava Chrome II EGA
 18h = T  80x30	 9x16  720x480	 16	  1   A000 Realtek RTVGA [12]
     = T 132x25	  .	  .	mono	  .   B000 Cirrus 5320 chipset
     = T 132x44	 8x8  1056x352	mono	  .   B000 Tseng Labs EVA
     = T 132x44	 9x8  1188x352	 4gray	  2   B000 Tseng ET3000 chipset
     = T 132x44	 8x8  1056x352	 16/256	  2   B000 Tseng ET4000 chipset
     = G  80x34	 8x14  640x480	  .	  .	.  Lava Chrome II EGA
     = G	      1024x768	 16	  .	.  Tecmar VGA/AD
 19h = T  80x43	 9x11  720x473	 16	  1   A000 Realtek RTVGA [12]
     = T 132x25	 8x14 1056x350	mono	  .   B000 Tseng Labs EVA
     = T 132x25	 9x14 1188x350	 4gray	  4   B000 Tseng ET3000 chipset
     = T 132x25	 8x14 1056x350	 16/256	  4   B000 Tseng ET4000 chipset
     = T 132x34	  .	  .	mono	  .   B000 Cirrus 5320 chipset
 1Ah = T  80x60	 9x8   720x480	 16	  1   A000 Realtek RTVGA [12]
     = T 132x28	 8x13 1056x364	mono	  .   B000 Tseng Labs EVA
     = T 132x28	 9x13 1188x364	 4gray	  4   B000 Tseng ET3000 chipset
     = T 132x28	 8x13 1056x364	 16/256	  4   B000 Tseng ET4000 chipset
     = T 132x44	  .	  .	mono	  .   B000 Cirrus 5320 chipset
     = G    .	  .    640x350	256	  .	.  Tecmar VGA/AD
 1Bh = T 132x25	 9x14 1188x350	 16	  1   A000 Realtek RTVGA [12]
     = G    .	  .    640x400	256	  .	.  Tecmar VGA/AD
 1Ch = T 132x25	  .	  .	  .	  .	.  Cirrus 5320 chipset
     = T 132x30	 9x16 1188x480	 16	  1   A000 Realtek RTVGA [12]
     = G    .	  .    640x480	256	  .	.  Tecmar VGA/AD
 1Dh = T 132x43	  .	  .	  .	  .	.  Cirrus 5320 chipset
     = T 132x43	 9x11 1188x473	 16	  1   A000 Realtek RTVGA [12]
     = G    .	  .    800x600	256	  .	.  Tecmar VGA/AD
 1Eh = T 132x44	  .	  .	  .	  .	.  Cirrus 5320 chipset
     = T 132x60	 9x8  1188x480	 16	  1   A000 Realtek RTVGA [12]
 1Fh = G 100x75	 8x8   800x600	 16	  1   A000 Realtek RTVGA
 20h = T 132x25	  .	  .	 16	  .	.  Avance Logic AL2101
     = G  40x16	  .    240x128	mono	  .   B000 HP 95LX/100LX/200LX
     = G  80x30	 8x16  640x480	 16	  .	.  C&T 64310/65530 BIOS
     = G 120x45	 8x16  960x720	 16	  1   A000 Realtek RTVGA
 21h = T  80x25	  .	  .	mono	  .   B000 HP 200LX
     = T 132x30	  .	  .	 16	  .	.  Avance Logic AL2101
     = T 132x44	 9x9  1188x396	 16/256K  .   B800 WD90C
     = T 132x44	 9x9  1188x396	 16	  .   B800 Diamond Speedstar 24X
     = T 132x60	  .	  .	 16	  2   B800 Tseng ET4000 chipset [10]
     = G  80x43	 8x8   720x348	mono	  .   B000 DESQview 2.x+Hercules [4]
     = G 128x48	 8x16 1024x768	 16	  1   A000 Realtek RTVGA [12]
 22h = T 132x43	  .	  .	  .	  .	.  Allstar Peacock (VGA)
     = T 132x43	  .	  .	 16	  .	.  Avance Logic AL2101
     = T 132x44	 8x8  1056x352	  .	  .   B800 Tseng Labs EVA
     = T 132x44	 9x8  1188x352	 16/256K  2   B800 Tseng ET3000 chipset
     = T 132x44	 8x8  1056x352	 16/256K  2   B800 Tseng ET4000 chipset
     = T 132x44	 8x8  1056x352	  .	  .	.  Ahead Systems EGA2001
     = T 132x44	 8x8  1056x352	 16	  2   B800 Ahead B
     = T 132x44	 8x9  1056x398	 16	  .	.  STB Lightspeed ET4000/W32P
     = T 132x44	  .	  .	 16	  .	.  Orchid Prodesigner VGA
     = G  80x43	 8x8   720x348	mono	  .   B800 DESQview 2.x+Hercules [4]
     = G  96x64	 8x16  768x1024	 16	  1   A000 Realtek RTVGA
     = G 100x37	 8x16  800x600	 16	  .	.  C&T 64310/65530 BIOS
 23h = T 132x25	 6x14  792x350	  .	  .   B800 Tseng Labs EVA
     = T 132x25	 9x14 1188x350	 16/256K  4   B800 Tseng ET3000 chipset
     = T 132x25	 8x14 1056x350	 16/256	  4   B800 Tseng ET4000 chipset
     = T 132x25	 8x14 1056x350	  .	  .	.  Ahead Systems EGA2001
     = T 132x25	 8x14 1056x350	 16	  4   B800 Ahead B
     = T 132x25	 8x8  1056x200	 16	  .   B800 ATI EGA Wonder,ATI VIP
     = T 132x25	  .	  .	  .	  .	.  Cirrus 5320 chipset
     = T 132x28	  .	  .	  .	  .	.  Allstar Peacock (VGA)
     = T 132x28	  .	  .	 16	  .	.  Orchid Prodesigner VGA
     = T 132x60	  .	  .	 16	  .	.  Avance Logic AL2101
     = G 128x48	 8x16 1024x768	  4	  1   A000 Realtek RTVGA
 24h = T  80x30	  .	  .	 16	  .	.  Avance Logic AL2101
     = T 132x25	  .	  .	  .	  .	.  Allstar Peacock (VGA)
     = T 132x25	  .	  .	 16	  .	.  Orchid Prodesigner VGA
     = T 132x28	 6x13  792x364	  .	  .   B800 Tseng Labs EVA
     = T 132x28	 9x13 1188x364	 16/256K  4   B800 Tseng ET3000 chipset
     = T 132x28	 8x12 1056x336	 16	  1   B800 Ahead B
     = T 132x28	 8x13 1056x364	 16/256K  4   B800 Tseng ET4000 chipset
     = T 132x28	 8x14 1056x392	 16	  .	.  STB Lightspeed ET4000/W32P
     = T 132x28	  .	  .	  .	  .	.  Cirrus 5320 chipset
     = G  64x32	 8x16  512x512	256	  1   A000 Realtek RTVGA
     = G 128x48	 8x16 1024x768	 16	  .	.  C&T 64310/65530 BIOS
 25h = T  80x43	  .	  .	 16	  .	.  Avance Logic AL2101
     = G  80x60	 8x8   640x480	  .	  .   A000 Tseng Labs EVA
     = G  80x60	 8x8   640x480	 16/256K  1   A000 Tseng ET3000/4000 chipset
     = G    .	  .    640x480	 16	  .	.  VEGA VGA
     = G  80x60	 8x8   640x480	 16	  .   A000 Orchid Prodesigner VGA
     = G  80x60	 8x8   640x480	 16	  1   A000 Ahead B (same as 26h)
     = G    .	  .    640x480	 16	  .	.  NEC GB-1
     = G    .	  .    640x480	 16	  .	.  Cirrus 5320 chipset
     = G    .	  .    640x400	256	  .	.  Realtek RTVGA
 26h = T  80x60	 8x8   640x480	  .	  .	.  Tseng Labs EVA
     = T  80x60	 8x8   640x480	 16/256K  3   B800 Tseng ET3000/4000 chipset
     = T  80x60	  .	  .	  .	  .	.  Allstar Peacock (VGA)
     = T  80x60	  .	  .	 16	  .	.  Orchid ProDesigner VGA
     = T  80x60	  .	  .	 16	  .	.  Avance Logic AL2101
     = G  80x60	 8x8   640x480	  .	  .	.  Ahead Systems EGA2001
     = G  80x60	 8x8   640x480	 16	  1   A000 Ahead B (same as 25h)
     = G    .	  .    640x480	256	  .	.  Realtek RTVGA
 27h = T 132x25	 8x8  1056x200	mono	  .   B000 ATI EGA Wonder,ATI VIP
     = G    .	  .    720x512	 16	  .	.  VEGA VGA
     = G    .	  .    720x512	 16	  .	.  Genoa
     = G 100x75	 8x8   800x600	256	  1   A000 Realtek RTVGA [12]
     = G    .	  .    960x720	 16	  .	.  Avance Logic AL2101
 28h = T ???x???  .	  .	  .	  .	.  VEGA VGA
     = G    .	  .    512x512	256	  .	.  Avance Logic AL2101
     = G    .	  .   1024x768	256	  .	.  Realtek RTVGA (1meg)
     = G 160x64	 8x16 1280x1024	 16	  .	.  Chips&Technologies 64310 [1]
 29h = G    .	  .    640x400	256	  .	.  Avance Logic AL2101
     = G    .	  .    800x600	 16	  .	.  VEGA VGA
     = G 100x37	 8x16  800x600	 16	  .   A000 Orchid
     = G    .	  .    800x600	 16	  .   A000 STB,Genoa,Sigma
     = G    .	  .    800x600	 16	  .	.  Allstar Peacock (VGA)
     = G 100x37	 8x16  800x600	 16/256K  1   A000 Tseng ET3000/4000 chipset
     = G    .	  .    800x600	???	  .	.  EIZO MDB10
     = G    .	  .    800x600	 16	  .	.  Cirrus 5320 chipset
     = G   NA	  .    800x600	 16	  .	.  Compaq QVision 1024/1280
     = G    .	  .   1024x1024 256	  .	.  Realtek RTVGA BIOS v3.C10
 2Ah = T 100x40	  .	  .	  .	  .	.  Allstar Peacock (VGA)
     = T 100x40	 8x16  800x640	 16	  .	.  Orchid Prodesigner VGA
     = T 100x40	 8x15  800x600	 16/256K  4   B800 Tseng ET3000/4000 chipset
     = T 100x40	 8x15  800x600	 16	  .	.  STB Lightspeed ET4000/W32P
     = G    .	  .    640x480	256	  .	.  Avance Logic AL2101
     = G    .	  .   1280x1024	 16	  .	.  Realtek RTVGA
 2Bh = G    .	  .    800x600	 16	  .	.  Avance Logic AL2101
 2Ch = G    .	  .    800x600	256	  .	.  Avance Logic AL2101
 2Dh = G    .	  .    640x350	256	  .	.  VEGA VGA
     = G    .	  .    640x350	256/256K  .   A000 Orchid, Genoa, STB
     = G  80x25	 8x14  640x350	256/256K  1   A000 Tseng ET3000/4000 chipset
     = G    .	  .    640x350	256	  .	.  Cirrus 5320 chipset
     = G  80x25	 8x14  640x350	256	  .	.  STB Lightspeed ET4000/W32P
     = G    .	  .    768x1024	 16	  .	.  Avance Logic AL2101
 2Eh = G    .	  .    640x480	256	  .	.  VEGA VGA
     = G  80x30	 8x16  640x480 256/256K	  .   A000 Orchid
     = G    .	  .    640x480 256/256K	  .   A000 STB,Genoa,Sigma
     = G  80x30	 8x16  640x480 256/256K	  1   A000 Tseng ET3000/4000 chipset
     = G    .	  .    640x480 256/256K	  .	.  Compaq QVision 1024/1280
     = G    .	  .    768x1024 256	  .	.  Avance Logic AL2101
 2Fh = T 160x50	 8x8  1280x400	 16	  4   B800 Ahead B (Wizard/3270)
     = G    .	  .    720x512	256	  .	.  VEGA VGA
     = G    .	  .    720x512	256	  .	.  Genoa
     = G  80x25	 8x16  640x400 256/256K	  1   A000 Tseng ET4000 chipset
     = G    .	  .   1024x768	  4	  .	.  Avance Logic AL2101
 30h = G  80x30	 8x16  640x480	256	  .	.  C&T 64310/65530 BIOS
     = G    .	  .	  .	  .	  .   B800 AT&T 6300
     = G    .	  .    720x350	  2	  .	.  3270 PC
     = G    .	  .    800x600	256	  .	.  VEGA VGA
     = G 100x37	 8x16  800x600 256/256K	  .   A000 Orchid
     = G    .	  .    800x600 256/256K	  .   A000 STB,Genoa,Sigma
     = G    .	  .    800x600	256	  .	.  Cardinal
     = G 100x37	 8x16  800x600 256/256K	  1   A000 Tseng ET3000/4000 chipset
     = G    .	  .   1024x768	 16	  .	.  Avance Logic AL2101
 31h = G    .	  .   1024x768	256	  .	.  Avance Logic AL2101
 32h = T  80x34	 8x10	  .	 16	  4   B800 Ahead B (Wizard/3270)
     = G    .	  .    640x480	256	  .	.  Compaq QVision 1024/1280
     = G 100x37	 8x16  800x600	256	  .	.  C&T 64310/65530 BIOS
 33h = T 132x44	 8x8	  .	 16	  .   B800 ATI EGA Wonder,ATI VIP
     = T  80x34	 8x8	  .	 16	  4   B800 Ahead B (Wizard/3270)
 34h = T  80x66	 8x8	  .	 16	  4   B800 Ahead B (Wizard/3270)
     = G    .	  .    800x600	256	  .	.  Compaq QVision 1024/1280
     = G 128x48	 8x16 1024x768	256	  .	.  Chips&Technologies 64310
 36h = G    .	  .    960x720	 16	  .	.  VEGA VGA, STB
     = G    .	  .    960x720	 16	  .   A000 Tseng ET3000 only
     = G    .	  .   1280x1024	 16	  .	.  Avance Logic AL2101
 37h = T 132x44	 8x8	  .	mono	  .   B800 ATI EGA Wonder,ATI VIP
     = G    .	  .   1024x768	 16	  .	.  VEGA VGA
     = G 128x48	 8x16 1024x768	 16	  .   A000 Orchid
     = G    .	  .   1024x768	 16	  .   A000 STB,Genoa,Sigma
     = G    .	  .   1024x768	 16	  .	.  Definicon
     = G 128x48	 8x16 1024x768	 16	  1   A000 Tseng ET3000/4000 chipset
     = G    .	  .   1024x768	 16	  .	.  Compaq QVision 1024/1280
     = G    .	  .   1280x1024 256	  .	.  Avance Logic AL2101
 38h = G    .	  .   1024x768	256	  .	.  STB VGA/EM-16 Plus (1MB)
     = G 128x48	 8x16 1024x768	256/256K  1   A000 Tseng ET4000 chipset
     = G    .	  .   1024x768	256	  .	.  Orchid ProDesigner II
     = G    .	  .   1024x768	256	  .	.  Compaq QVision 1024/1280
     = G 160x64	 8x16 1280x1024	256	  .	.  Chips&Technologies 64310 [1]
 39h = G    .	  .   1280x1024	 16	  .	.  Compaq QVision 1280
 3Ah = G    .	  .   1280x1024	256	  .	.  Compaq QVision 1280
 3Bh = G    .	  .    512x480	256	  .	.  Compaq QVision 1024/1280
 3Ch = G    .	  .    640x400	 64K	  .	.  Compaq QVision 1024/1280
 3Dh = G    .	  .   1280x1024	 16	  .	.  Definicon
     = G 128x64	 8x16 1280x1024	 16	  1   A000 Tseng ET4000 v3.00 [1,7]
 3Eh = G    .	  .   1280x961	 16	  .	.  Definicon
     = G    .	  .    640x480	 64K	  .	.  Compaq QVision 1024/1280
 3Fh = G    .	  .   1280x1024 256	  .	.  Hercules ??? (ET4000W32)
     = G    .	  .    800x600	 64K	  .	.  Compaq QVision 1024/1280
 40h = T  80x43	  .	  .	  .	  .	.  VEGA VGA, Tecmar VGA/AD
     = T  80x43	  .	  .	  .	  .	.  Video7 V-RAM VGA
     = T  80x43	  .	  .	  .	  .	.  Tatung VGA
     = T 100x30	  .	  .	 16	  .	.  MORSE VGA
     = T 100x30	  .	  .	  .	  .	.  Cirrus 510/520 chipset
     = T  80x25	  .    720x350	mono	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  .    320x200	 64K	  .	.  Avance Logic AL2101
     = G  80x25	 8x16  640x400	  2	  1   B800 AT&T 6300, AT&T VDC600
     = G  80x25	 8x16  640x400	  2	  1   B800 Olivetti Quaderno
     = G  80x25	 8x16  640x400	  2	  1   B800 Compaq Portable
     = G  80x30	 8x16  640x480	32K	  .	.  Chips&Technologies 64310
     = G    .	  .   1024x768	 64K	  .	.  Compaq QVision 1280
 41h = T 132x25	  .	  .	  .	  .	.  VEGA VGA
     = T 132x25	  .	  .	  .	  .	.  Tatung VGA
     = T 132x25	  .	  .	  .	  .	.  Video7 V-RAM VGA
     = T 100x50	  .	  .	 16	  .	.  MORSE VGA
     = T 100x50	  .	  .	  .	  .	.  Cirrus 510/520 chipset
     = T  80x34	 9x14  720x476	 16/256K  .   B800 WD90C
     = T  80x34	 9x14	  .	 16	  .   B800 Diamond Speedstar 24X
     = G    .	  .    512x512	 64K	  .	.  Avance Logic AL2101
     = G    .	  .    640x200	 16	  1	.  AT&T 6300
     = G  80x30	 8x16  640x480	 64K	  .	.  Chips&Technologies 64310
     = G  80x25	  .    720x348	mono	  .   B000 Genoa SuperEGA BIOS 3.0+
 42h = T 132x43	  .	  .	  .	  .	.  VEGA VGA
     = T 132x43	  .	  .	  .	  .	.  Tatung VGA
     = T 132x43	  .	  .	  .	  .	.  Video7 V-RAM VGA
     = T  80x34	 9x10	  .	  4	  4   B800 Ahead B (Wizard/3270)
     = T 100x60	  .	  .	 16	  .	.  MORSE VGA
     = T 100x60	  .	  .	  .	  .	.  Cirrus 510/520 chipset
     = G  80x25	 8x16  640x400	 16	  .	.  AT&T 6300, AT&T VDC600
     = G    .	  .    640x400	 64K	  .	.  Avance Logic AL2101
     = G  80x25	  .    720x348	mono	  .   B800 Genoa SuperEGA BIOS 3.0+
     = G 100x37	 8x16  800x600	 32K	  .	.  Chips&Technologies 64310
 43h = T  80x60	  .	  .	  .	  .	.  VEGA VGA
     = T  80x60	  .	  .	  .	  .	.  Tatung VGA
     = T  80x60	  .	  .	  .	  .	.  Video7 V-RAM VGA
     = T  80x45	 9x8	  .	  4	  4   B800 Ahead B (Wizard/3270)
     = T 100x75	  .	  .	 16	  .	.  MORSE VGA
     = T  80x29	  .    720x348	mono	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  . 640x200 of 640x400 viewport	   AT&T 6300 (unsupported)
     = G    .	  .    640x480	 64K	  .	.  Avance Logic AL2101
     = G 100x37	 8x16  800x600	 64K	  .	.  Chips&Technologies 64310
 44h =	disable VDC and DEB output		.  AT&T 6300
     = T 100x60	  .	  .	  .	  .	.  VEGA VGA
     = T 100x60	  .	  .	  .	  .	.  Tatung VGA
     = T 100x60	  .	  .	  .	  .	.  Video7 V-RAM VGA
     = T  80x32	  .    720x352	mono	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  .    800x600	 64K	  .	.  Avance Logic AL2101
 45h = T 132x28	  .	  .	  .	  .	.  Tatung VGA
     = T 132x28	  .	  .	  .	  .	.  Video7 V-RAM VGA
     = T  80x44	  .    720x352	mono	  .	.  Genoa SuperEGA BIOS 3.0+
 46h = T 132x25	 8x14	  .	mono	  .	.  Genoa 6400
     = T 132x25	 9x14	  .	mono	  .	.  Genoa SuperEGA BIOS 3.0+
     = G 100x40	 8x15  800x600	  2	  .	.  AT&T VDC600
 47h = T 132x29	 8x12	  .	mono	  .	.  Genoa 6400
     = T 132x29	 9x12	  .	mono	  .	.  Genoa SuperEGA BIOS 3.0+
     = T 132x28	 9x16 1188x448	 16/256K  .   B800 WD90C
     = T 132x28	 9x16	  .	 16	  .   B800 Diamond Speedstar 24X
     = G 100x37	 8x16  800x600	 16	  .	.  AT&T VDC600
 48h = T 132x32	 8x12	  .	mono	  .	.  Genoa 6400
     = T 132x32	 9x11	  .	mono	  .	.  Genoa SuperEGA BIOS 3.0+
     = G  80x50	 8x8   640x400	  2	  .   B800 AT&T 6300, AT&T VDC600
     = G  80x50	 8x8   640x400	  2	  .   B800 Olivetti Quaderno
 49h = T 132x44	 8x8	  .	mono	  .	.  Genoa 6400
     = T 132x44	 9x8	  .	mono	  .	.  Genoa SuperEGA BIOS 3.0+
     = G  80x30	 8x16  640x480	  .	  .	.  Lava Chrome II EGA
     = G  80x30	 8x16  640x480	  .	  .   A000 Diamond Stealth64 Video 2xx1
 4Bh = G 100x37	 8x16  800x600	  .	  .   A000 Diamond Stealth64 Video 2xx1
 4Dh = T 120x25	  .	  .	  .	  .	.  VEGA VGA
     = G    .	  .    512x480	 16M	  .	.  Compaq QVision 1024/1280
     = G 128x48	 8x16 1024x768	  .	  .   A000 Diamond Stealth64 Video 2xx1
 4Eh = T 120x43	  .	  .	  .	  .	.  VEGA VGA
     = T  80x60	 8x8	  .	 16/256K  .   B800 Oak OTI-067/OTI-077 [8]
     = G    .	  .    640x400	 16M	  .	.  Compaq QVision 1024/1280
     = G 144x54	 8x16 1152x864	  .	  .   A000 Diamond Stealth64 Video 2xx1
 4Fh = T 132x25	  .	  .	  .	  .	.  VEGA VGA
     = T 132x60	  .	  .	  .	  .	.  some Oak Tech VGA [8]
     = G    .	  .    640x480	 16M	  .	.  Compaq QVision 1280
 50h = T  80x30	 8x16	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = T  80x34	  .	  .	  .	  .	.  Lava Chrome II EGA
     = T  80x43	  .	  .	mono	  .	.  VEGA VGA
     = T 132x25	 9x14	  .	mono	  .	.  Ahead Systems EGA2001
     = T 132x25	 9x14	  .	  4	  4   B800 Ahead B
     = T 132x25	 8x14	  .	 16	  8   B800 OAK Technologies VGA-16
     = T 132x25	 8x14	  .	 16/256K  .   B800 Oak OTI-037/067/077 [8]
     = T 132x25	 8x14 1056x350	 16	  8   B800 UM587 chipset
     = T 132x30	  .	  .	 16	  .	.  MORSE VGA
     = T 132x30	  .	  .	  .	  .	.  Cirrus 510/520 chipset
     = G  80x30	 8x16  640x480	 16	  .	.  Paradise EGA-480
     = G  80x30	 8x16  640x480	 16	  .	.  NEL Electronics BIOS
     = G  80x30	 8x16  640x480	 16M	  .	.  Chips&Technologies 64310
     = G    .	  .    640x480	mono???	  .	.  Taxan 565 EGA
     = G  40x25	 8x8   320x200	  .	  .	.  Genoa SuperEGA BIOS 3.0+
 51h = T  80x30	 8x16	  .	  .	  .	.  Paradise EGA-480
     = T  80x30	 9x16	  .	  .	  .	.  NEL Electronics BIOS
     = T  80x30	  .	  .	  .	  .	.  Lava Chrome II EGA
     = T  80x43	 8x11	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = T 132x25	  .	  .	mono	  .	.  VEGA VGA
     = T 132x28	 9x12	  .	  4	  4   B800 Ahead B
     = T 132x43	 8x8	  .	 16	  5   B800 OAK Technologies VGA-16
     = T 132x43	 8x8	  .	 16/256K  .   B800 Oak OTI-037/067/077
     = T 132x43	 8x8  1056x344	 16	  5   B800 UM587 chipset
     = T 132x50	  .	  .	 16	  .	.  MORSE VGA
     = T 132x50	  .	  .	  .	  .	.  Cirrus 510/520 chipset
     = G  80x34	 8x14  640x480	 16	  .	.  ATI EGA Wonder
     = G  80x25	 8x8   640x200	  .	  .	.  Genoa SuperEGA BIOS 3.0+
 52h = T  80x60	  .	  .	  .	  .	.  Lava Chrome II EGA
     = T  80x60	 8x8	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = T 132x43	  .	  .	mono	  .	.  VEGA VGA
     = T 132x44	 9x8	  .	mono	  .	.  Ahead Systems EGA2001
     = T 132x44	 9x8	  .	  4	  2   B800 Ahead B
     = T 132x60	  .	  .	 16	  .	.  MORSE VGA
     = T 132x60	  .	  .	  .	  .	.  Cirrus 510/520 chipset
     = G  80x25	 8x19  640x480	 16	  1   A000 AX VGA (Kanji&superimpose)
     = G  94x29	 8x14  752x410	 16	  .	.  ATI EGA Wonder
     = G 100x75	 8x8   800x600	 16	  1   A000 OAK Technologies VGA-16
     = G 100x75	 8x8   800x600	 16	  .   A000 Oak OTI-037 chipset [8]
     = G 100x37	 8x16  800x600	 16	  .   A000 Oak OTI-067/077 chips [8]
     = G 100x75	 8x8   800x600	 16	  .   A000 UM587 chipset
     = G 128x30	 8x16 1024x480	 16	  .	.  NEL Electronics BIOS
 53h = T  80x25	 8x16	  .	  .	  .	.  NEL Electronics BIOS
     = T  80x60	  .	  .	 16	  .	.  MORSE VGA
     = T  80x60	  .	  .	  .	  .	.  Cirrus 510/520 chipset
     = T 132x25	 8x14	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = T 132x43	  .	  .	  .	  .	.  Lava Chrome II EGA
     = G  80x25	 8x19  640x480	 16	  1   A000 AX VGA (Kanji, no superimp.)
     = G    .	  .    640x480	256	  .	.  Oak VGA
     = G  80x30	 8x16  640x480	256	  .   A000 Oak OTI-067/OTI-077 [8]
     = G 100x40	 8x14  800x560	 16	  .	.  ATI EGA Wonder,ATI VIP
     = G    .	  .	  .	  .	  .	.  AX PC
 54h = T 132x25	  .	  .	  .	  .	.  Lava Chrome II EGA
     = T 132x30	 8x16	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = T 132x43	 8x8	  .	  .	  .	.  Paradise EGA-480
     = T 132x43	 8x8	  .	  .	  .	.  NEL Electronics BIOS
     = T 132x43	 7x9	  .	 16/256K  .   B800 Paradise VGA
     = T 132x43	 8x9	  .	 16/256K  .   B800 Paradise VGA on multisync
     = T 132x43	  .	  .	  .	  .	.  Taxan 565 EGA
     = T 132x43	  .	  .	  .	  .	.  AST VGA Plus
     = T 132x43	  .	  .	  .	  .	.  Hewlett-Packard D1180A
     = T 132x43	 7x9	  .	 16	  .	.  AT&T VDC600
     = T 132x43	 9x9  1188x387	 16/256K  .   B800 WD90C
     = T 132x43	 9x9  1188x387	 16/256K  .   B800 Diamond Speedstar 24X
     = T 132x43	 9x9  1188x387	 16/256K  .   B800 Diamond Stealth 24
     = T 132x43	 8x8	  .	  .	  .   B800 Diamond Stealth64 Video 2xx1
     = T 132x43	 8x8  1056x350	 16/256K  .	.  Cirrus CL-GD5420/5422/5426
     = T 132x50	 8x8	  .	 16	  .   A000 NCR 77C22 [9]
     = G 100x42	 8x14  800x600	 16	  .   A000 ATI EGA Wonder, VGA Wonder
     = G 100x42	 8x14  800x600	 16	  .   A000 ATI Ultra 8514A, ATI XL
     = G    .	  .    800x600	256	  .   A000 Oak VGA
     = G 100x37	 8x16  800x600	256	  .   A000 Oak OTI-067/077 chips [8]
 55h = T  80x66	 8x8	  .	 16/256K  .   A000 ATI VIP
     = T 132x25	 8x14	  .	  .	  .	.  Paradise EGA-480
     = T 132x25	 8x14	  .	  .	  .	.  NEL Electronics BIOS
     = T 132x25	 7x16	  .	 16/256K  .   B800 Paradise VGA
     = T 132x25	 8x16	  .	 16/256K  .   B800 Paradise VGA on multisync
     = T 132x25	  .	  .	  .	  .	.  Taxan 565 EGA
     = T 132x25	  .	  .	  .	  .	.  AST VGA Plus
     = T 132x25	  .	  .	  .	  .	.  Hewlett-Packard D1180A
     = T 132x25	 7x16	  .	 16	  .	.  AT&T VDC600
     = T 132x25	 8x16	  .	 16	  .   A000 NCR 77C22 [9]
     = T 132x25	 9x16 1188x400	 16/256K  .   B800 WD90C
     = T 132x25	 9x16 1188x400	 16/256K  .   B800 Diamond Speedstar 24X
     = T 132x25	 9x16 1188x400	 16/256K  .   B800 Diamond Stealth 24
     = T 132x25	 8x16	  .	  .	  .   B800 Diamond Stealth64 Video 2xx1
     = T 132x25	 8x14 1056x350	 16/256K  .	.  Cirrus CL-GD5420/5422/5426
     = T 132x43	 8x11	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = G  94x29	 8x14  752x410	  .	  .	.  Lava Chrome II EGA
     = G 128x48	 8x16 1024x768	 16/256K  .   A000 ATI VGA Wonder v4+  [5]
     = G    .	  .   1024x768	 16/256K  .	.  ATI VGA Wonder Plus
     = G    .	  .   1024x768	 16/256K  .	.  ATI Ultra 8514A,ATI XL
     = G 128x48	 8x16 1024x768	  4	  .   A000 Oak OTI-067/077 chips [8]
 56h = T 132x43	 8x8	  .	  3???	  2   B000 NSI Smart EGA+
     = T 132x43	 7x9	  .	  4	  .   B000 Paradise VGA
     = T 132x43	 8x9	  .	  4	  .   B000 Paradise VGA on multisync
     = T 132x43	  .	  .	mono	  .	.  Taxan 565 EGA
     = T 132x43	 7x9	  .	  2	  .	.  AT&T VDC600
     = T 132x43	 9x8	  .	  .	  .	.  NEL Electronics BIOS
     = T 132x50	 8x8	  .	  4	  .   A000 NCR 77C22 [9]
     = T 132x60	 8x8	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = G    .	  .   1024x768	 16	  .   A000 Oak VGA
     = G 128x48	 8x16 1024x768	 16	  .   A000 Oak OTI-067/077 chips [8]
 57h = T 132x25	 8x14	  .	  3???	  4   B000 NSI Smart EGA+
     = T 132x25	 7x16	  .	  4	  .   B000 Paradise VGA
     = T 132x25	 8x16	  .	  4	  .   B000 Paradise VGA on multisync
     = T 132x25	 9x14	  .	  .	  .	.  NEL Electronics BIOS
     = T 132x25	  .	  .	mono	  .	.  Taxan 565 EGA
     = T 132x25	 7x16	  .	  2	  .	.  AT&T VDC600
     = T 132x25	 9x14	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = T 132x25	 8x16	  .	  4	  .   A000 NCR 77C22 [9]
     = G  96x48	 8x16  768x1024	 16	  .   A000 Oak OTI-067/077 chips [8]
 58h = T  80x33	 8x14	  .	 16	  .   B800 ATI EGA Wonder,ATI VIP
     = T  80x32	 9x16	  .	 16	  .	.  Genoa 6400
     = T  80x43	 8x8	  .	  .	  .	.  NEL Electronics BIOS
     = T 132x30	 9x16	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = G 100x75	 8x8   800x600	 16/256K  .   A000 Paradise VGA
     = G 100x75	 8x8   800x600	 16	  .	.  AT&T VDC600
     = G 100x75	 8x8   800x600	 16	  .   A000 NCR 77C22 [9]
     = G 100x75	 8x8   800x600	 16	  .   A000 Diamond Speedstar 24X
     = G 100x75	 8x8   800x600	 16/256K  .   A000 Paradise VGA, WD90C
     = G    .	  .    800x600	 16	  .	.  AST VGA Plus, Compaq VGA
     = G    .	  .    800x600	 16	  .	.  Dell VGA
     = G    .	  .    800x600	 16	  .	.  Hewlett-Packard D1180A
     = G    .	  .    800x600	???	  .	.  ELT VGA PLUS 16
     = G 100x37	 8x16  800x600	 16/256K  .   A000 Cirrus CL-GD5420/5422/5426
     = G 160x64	 8x16 1280x1024	 16	  .   A000 Oak OTI-077 chipset [8]
 59h = T  80x43	 9x8	  .	  .	  .	.  NEL Electronics BIOS
     = T  80x66	 8x8	  .	 16/256K  .   A000 ATI VIP
     = T 132x43	 9x11	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = G 100x75	 8x8   800x600	  2	  .   A000 Paradise VGA
     = G 100x75	 8x8   800x600	  2	  .	.  AT&T VDC600
     = G    .	  .    800x600	  2	  .	.  AST VGA Plus, Compaq VGA
     = G    .	  .    800x600	  2	  .	.  Dell VGA
     = G    .	  .    800x600	  2	  .	.  Hewlett-Packard D1180A
     = G 100x75	 8x8   800x600	  2	  .   A000 NCR 77C22 [9]
     = G 128x48	 8x16 1024x768	256	  .   A000 Oak OTI-077 chipset [8]
 5Ah = T  80x60	 8x8	  .	  .	  .	.  NEL Electronics BIOS
     = T 132x60	 9x8	  .	 16/256K  .   B800 Trident TVGA 8800/8900
     = G 128x48	 8x16 1024x768	  2	  .   A000 NCR 77C22 [9]
 5Bh = T  80x30	 8x16	  .	  .	  .   B800 ATI VGA Wonder (undoc)
     = G    .	  .    640x350	256	  .	.  Genoa 6400
     = G  80x25	 8x16  640x400	 32K	  .   A000 Oak OTI-067/077 chips [8]
     = G    .	  .    800x600	 16	  .	.  Maxxon, SEFCO TVGA, Imtec
     = G 100x75	 8x8   800x600	 16/256K  .   A000 Trident TVGA 8800, 8900
     = G    .	  .    800x600	???	  .	.  Vobis MVGA
     = G 100x37	 8x16  800x600	  .	  .	.  NEL Electronics BIOS
     = G 128x48	 8x16 1024x768	 16	  .   A000 NCR 77C22 [1,9]
 5Ch = T 100x37	 8x16	  .	  .	  .	.  NEL Electronics BIOS
     = G    .	  .    640x400	256	  .	.  Logix, ATI Prism Elite
     = G    .	  .    640x400	256	  .	.  Maxxon, SEFCO TVGA, Imtec
     = G  80x25	 8x16  640x400	256/256K  .   A000 Zymos Poach, Hi Res 512
     = G  80x25	 8x16  640x400	256/256K  .   A000 Trident TVGA 8800/8900
     = G  80x30	 8x16  640x480	256	  .	.  Genoa 6400
     = G  80x30	 8x16  640x480	 32K	  .   A000 Oak OTI-077 chipset [8]
     = G 100x75	 8x8   800x600	256	  .   A000 NCR 77C22 [9]
     = G 100x75	 8x8   800x600	256/256K  .   A000 WD90C
     = G 100x75	 8x8   800x600	256/256K  .   A000 Diamond Speedstar 24X
     = G 100x37	 8x16  800x600	256/256K  .   A000 Cirrus CL-GD5420/5422/5426
 5Dh = T 100x75	 8x8	  .	  .	  .	.  NEL Electronics BIOS
     = G  80x25	 8x14  640x350	 64K	  .	.  STB Lightspeed ET4000/W32P
     = G    .	  .    640x480	256	  .	.  Logix, ATI Prism Elite
     = G    .	  .    640x480	256	  .	.  Maxxon, SEFCO TVGA, Imtec
     = G  80x30	 8x16  640x480	256/256K  .   A000 Zymos Poach, Hi Res 512
     = G  80x30	 8x16  640x480	256/256K  .   A000 Trident TVGA 8800 (512K)
     = G 128x48	 8x16 1024x768	 16	  .   A000 NCR 77C22 [9]
     = G 128x48	 8x16 1024x768	 16/256K  .   A000 WD90C
     = G 128x48	 8x16 1024x768	 16	  .   A000 Diamond Speedstar 24X
     = G 128x48	 8x16 1024x768	 16/256K  .   A000 Cirrus CL-GD5420/5422/5426
 5Eh = G    .	  .    640x400	256	  .	.  Paradise VGA,VEGA VGA
     = G    .	  .    640x400	256	  .	.  AST VGA Plus, NCR 77C22
     = G    .	  .    640x400	256	  .	.  Compaq VGA, Dell VGA
     = G  80x25	 8x16  640x400	256	  .	.  AT&T VDC600
     = G  80x25	 8x16  640x400	256	  .   A000 NCR 77C22 [9]
     = G  80x25	 8x16  640x400	256/256K  .   A000 WD90C
     = G  80x25	 8x16  640x400	256/256K  .   A000 Diamond Speedstar 24X
     = G    .	  .    800x600	 16	  .	.  Logix, ATI Prism Elite
     = G 100x37	 8x16  800x600	 16	  .	.  NEL Electronics BIOS
     = G 100x75	 8x8   800x600	256	  .	.  Genoa 6400
     = G 100x75	 8x8   800x600	256/256K  .   A000 Zymos Poach, Trident 8900
     = G 100x75	 8x8   800x600	256/256K  .   A000 Hi Res 512
 5Fh = G  80x25	 8x16  640x400	 64K	  .	.  STB Lightspeed ET4000/W32P
     = G    .	  .    640x480	256	  .	.  Paradise VGA
     = G    .	  .    640x480	256	  .	.  AST VGA Plus, NCR 77C22
     = G    .	  .    640x480	256	  .	.  Compaq VGA, Dell VGA
     = G    .	  .    640x480	256	  .	.  Hewlett-Packard D1180A
     = G  80x30	 8x16  640x480	256	  .	.  AT&T VDC600 (512K)
     = G  80x30	 8x16  640x480	256	  .   A000 NCR 77C22 [9]
     = G  80x30	 8x16  640x480	256/256K  .   A000 WD90C
     = G  80x30	 8x16  640x480	256/256K  .   A000 Diamond Speedstar 24X
     = G  80x30	 8x16  640x480	256/256K  .   A000 Cirrus CL-GD5420/5422/5426
     = G    .	  .   1024x768	 16	  .	.  Logix, ATI Prism Elite
     = G    .	  .   1024x768	 16	  .	.  Maxxon, Imtec
     = G 128x48	 8x16 1024x768	 16	  .	.  Genoa 6400
     = G 128x48	 8x16 1024x768	 16/256K  .   A000 Zymos Poach, Hi Res 512
     = G 128x48	 8x16 1024x768	 16/256K  .   A000 Trident TVGA 88/8900 512K
 60h = T 132x25	 8x14	  .	 16/64	  8   B800 Quadram Ultra VGA
     = T 132x25	 8x14	  .	 16	  .	.  Genoa 6400
     = T 132x25	 8x14	  .	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = T 132x25	  .	  .	  .	  .	.  Cirrus 5320 chipset
     = T 132x25	 8x16 1056x400	 16	  .   B800 Chips&Technologies chipset
     = G  80x???  .    ???x400	  .	  .	.  Corona/Cordata BIOS 4.10+
     = G  80x25	 8x16  640x400	256	  1   A000 Ahead A, Ahead B
     = G    .	  .    752x410	  .	  .	.  VEGA VGA
     = G    .	  .    752x410	 16	  .	.  Tatung VGA
     = G    .	  .    752x410	 16	  .	.  Video7 V-RAM VGA
     = G 128x48	 8x16 1024x768	  4/256K  .   A000 Trident TVGA 8900
     = G 128x48	 8x16 1024x768	256/256K  .   A000 WD90C
     = G 128x48	 8x16 1024x768	256/256K  .   A000 Diamond Speedstar 24X
     = G 128x48	 8x16 1024x768	256/256K  .   A000 Cirrus CL-GD5420/5422/5426
     = G 144x54	 8x16 1152x864	  .	  .   A000 Diamond Stealth64 Video 2xx1
 61h = T 132x29	 8x12	  .	 16/64	  8   B800 Quadram Ultra VGA
     = T 132x29	 8x8	  .	 16	  .	.  Genoa 6400
     = T 132x29	 8x8	  .	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = T 132x50	  .	  .	  .	  .	.  Cirrus 5320 chipset
     = T 132x50	 8x8  1056x400	 16	  .   B800 Chips&Technologies chipset
     = T 132x50	 8x16 1056x800	 16	  .   B800 Chips&Technologies 64310
     = G    .	  .    ???x400	  .	  .	.  Corona/Cordata BIOS 4.10+
     = G  80x25	 8x16  640x400	256	  .   A000 ATI VGA Wonder,VGA Wonder+
     = G  80x25	 8x16  640x400	256	  .   A000 ATI Ultra 8514A,ATI XL
     = G  80x25	 8x16  640x400	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G  80x30	 8x16  640x480	256	  1   A000 Ahead A, Ahead B (512K)
     = G    .	  .    720x540	  .	  .	.  VEGA VGA
     = G    .	  .    720x540	 16	  .	.  Tatung VGA
     = G    .	  .    720x540	 16	  .	.  Video7 V-RAM VGA
     = G  96x64	 8x16  768x1024	 16/256K  .   A000 Trident TVGA 88/8900 512K
     = G 128x48	 8x16 1024x768	256	  .   A000 NCR 77C22 [1,9]
     = G 144x54	 8x16 1152x864	  .	  .   A000 Diamond Stealth64 Video 2xx1
 62h = T 132x32	 8x11	  .	 16/64	  6   B800 Quadram Ultra VGA
     = T 132x32	 8x12	  .	 16	  .	.  Genoa 6400
     = T 132x32	 8x11	  .	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = T 132x43	 8x8  1056x344	 16	  .   B800 C&T 82C450 BIOS
     = G    .	  .    640x450	 16	  .	.  Cirrus 510/520 chipset
     = G  80x30	 8x16  640x480	256	  .   A000 ATI VGA Wonder,VGA Wonder+
     = G  80x30	 8x16  640x480	256	  .   A000 ATI Ultra 8514A,ATI XL
     = G  80x30	 8x16  640x480	32K	  .   A000 WD90C
     = G  80x30	 8x16  640x480	32K	  .   A000 Diamond Speedstar 24X
     = G    .	  .    800x600	  .	  .	.  VEGA VGA
     = G    .	  .    800x600	 16	  .	.  Tatung VGA
     = G    .	  .    800x600	 16	  .	.  Video7 V-RAM VGA
     = G 100x75	 8x8   800x600	256	  1   A000 Ahead A, Ahead B (512K)
     = G 128x48	 8x16 1024x768	256/256K  .   A000 Trident TVGA 8900, Zymos
     = G 128x48	 8x16 1024x768	256	  .   A000 NCR 77C22 [9]
 63h = T 132x44	 8x8	  .	 16/64	  5   B800 Quadram Ultra VGA
     = T 132x44	 8x8	  .	 16	  .	.  Genoa 6400
     = T 132x44	 8x8	  .	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  .    720x540	 16	  .	.  MORSE VGA
     = G    .	  .    720x540	 16	  .	.  Cirrus 510/520 chipset
     = G 100x42	 8x14  800x600	256	  .   A000 ATI VGA Wonder,VGA Wonder+
     = G 100x42	 8x14  800x600	256	  .   A000 ATI Ultra 8514A,ATI XL
     = G    .	  .    800x600	32K	  .   A000 WD90C
     = G    .	  .    800x600	32K	  .   A000 Diamond Speedstar 24X
     = G 128x48	 7x16 1024x768	256	  1   A000 Ahead B (1MB)
     = G    .	  .   1024x768	  2	  .	.  Video7 V-RAM VGA
 64h = T 132x60	 8x8	  .	 16	  .	.  Genoa 6400
     = T  80x43	 8x8   528x344	 16	  .   B800 C&T 82C450 BIOS
     = G    .	  .    640x480	64K	  .   A000 Cirrus CL-GD 5422/5426
     = G    .	  .    800x600	 16	  .	.  MORSE VGA
     = G    .	  .    800x600	 16	  .	.  Cirrus 510/520 chipset
     = G    .	  .    800x600	???	  .	.  SAMPO-Mira VGA
     = G    .	  .   1024x768	  4	  .	.  Video7 V-RAM VGA
     = G 128x48	 8x16 1024x768	256	  .   A000 ATI VGA Wonder Plus,ATI XL
     = G 160x64	 8x16 1280x1024	 16/256K  .   A000 WD90C [1]
     = G 160x64	 8x16 1280x1024	 16/256K  .   A000 Diamond Speedstar 24X [1]
 65h = T  80x50	 8x8   528x400	 16	  .   B800 C&T 82C450 BIOS
     = G    .	  .    800x600	64K	  .   A000 Cirrus CL-GD 5422/5426
     = G    .	  .   1024x768	 16	  .	.  Video7 V-RAM VGA
     = G 128x48	 8x16 1024x768	 16	  .   A000 ATI VGA Wonder
 66h = T  80x50	 8x8   640x400	 16/256K  .   B800 WD90C
     = T  80x50	 8x8	  .	 16	  .   B800 Diamond Speedstar 24X
     = G    .	  .    640x400	256	  .	.  Tatung VGA
     = G    .	  .    640x400	256	  .	.  Video7 V-RAM VGA
     = G    .	  .    640x480	32K	  .   A000 Cirrus CL-GD 5422/5426
 67h = T  80x43	 8x8   640x344	 16/256K  .   B800 WD90C
     = T  80x43	 8x8	  .	 16	  .   B800 Diamond Speedstar 24X
     = G    .	  .    640x480	256	  .	.  Video7 V-RAM VGA
     = G    .	  .    800x600	32K	  .   A000 Cirrus CL-GD 5422/5426
     = G 128x48	 8x16 1024x768	  4	  .   A000 ATI VGA Wonder
     = G 160x64	 8x16 1280x1024	 16	  .   A000 NCR 77C22 [1,9]
 68h = G  80x25	 8x16  640x400	  .	  .   A000 Diamond Stealth64 Video 2xx1
 69h = T 132x50	 8x8  1056x400	 16/256K  .   B800 WD90C
     = T 132x50	 8x8	  .	 16	  .   B800 Diamond Speedstar 24X
     = G  80x30	 8x16  640x480	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G    .	  .    720x540	256	  .   A000 Video7 V-RAM VGA
 6Ah = G    .	  .    800x600	 16	  .   A000 VESA standard interface
     = G 100x75	 8x8   800x600	 16	  .   A000 Genoa 6400
     = G 100x75	 8x8   800x600	 16	  .   A000 Diamond Speedstar 24X
     = G    .	  .    800x600	 16	  .   A000 Ahead A
     = G 100x75	 8x8   800x600	 16	  1   A000 Ahead B (VESA) [see 71h]
     = G    .	  .    800x600	 16	  .	.  Zymos Poach, Hi Res 512
     = G    .	  .    800x600	 16	  .	.  Epson LT-386SX in CRT Mode
     = G    .	  .    800x600	 16	  .	.  Compuadd 316SL in CRT Mode
     = G 100x37	 8x16  800x600	 16/256K  .   A000 Cirrus CL-GD5420/5422/5426
     = G 100x37	 8x16  800x600	 16	  .   A000 Diamond Stealth64 Video 2xx1
     = G 100x42	 8x14  800x600	  .	  .   A000 ATI VGA Wonder (undoc)
     = G    .	  .    800x600	 16	  .   A000 Chips&Technologies chipset
     = G 160x64	 8x16 1280x1024 256	  .   A000 NCR 77C22 [1,9]
 6Bh = T 100x37	 8x16	  .	 16	  .	.  Genoa 6400
     = T 100x37	 8x16	  .	  .	  .	.  NEL Electronics BIOS
     = G 100x37	 8x16  800x600	  .	  .   A000 Diamond Stealth64 Video 2xx1
 6Ch = G  80x30	 8x16  640x480	 16M	  .   A000 Trident 8900CL/BIOS C04
     = G 100x75	 8x8   800x600	256	  .	.  Genoa 6400
     = G 128x48	 8x16 1024x768	  2	  .   A000 Diamond Stealth64 Video 2xx1
     = G 160x60	 8x16 1280x960	 16/256K  .   A000 WD90C [1]
     = G 160x60	 8x16 1280x960	 16/256K  .   A000 Diamond Speedstar 24X [1]
     = G 160x64	 8x16 1280x1024	 16/256K  .   A000 Cirrus CL-GD 5422/5426 [1]
 6Dh = G  80x25	 8x14  640x350	 64K	  .   A000 STB Lightspeed ET4000/W32P
     = G 128x48	 8x16 1024x768	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G 160x64	 8x16 1280x1024 256/256K  .   A000 Cirrus CL-GD 5422/5426 [1]
 6Eh = G  40x25	 8x8   320x200	 64K	  .   A000 Cirrus CL-GD 5422/5426
     = G 160x64	 8x16 1280x1024	  2	  .   A000 Diamond Stealth64 Video 2xx1
 6Fh = G  40x25	 8x8   320x200	 16M	  .   A000 Cirrus CL-GD 5422/5426
     = G 160x64	 8x16 1280x1024	  .	  .   A000 Diamond Stealth64 Video 2xx1
 70h =	extended mode set (see AX=0070h)	.  Everex Micro Enhancer EGA
     = T  40x25	 8x8	  .	 16	  8   B800 Quadram (CGA double scan)
     = T  40x25	 8x8   (CGA dblscan)	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  .    360x480	256	  .	.  Cirrus 510/520/5320 chips
     = G  90x28	 8x14  720x392	 16	  1   A000 Ahead B
     = G  80x30	 8x16  640x480	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G 100x38	 8x16  800x600	 16	  .   A000 C&T chipset, Cardinal
     = G    .	  .   1024x480	256	  .   A000 Trident 8900C BIOS C3.0
 71h = T  80x25	 8x8	  .	 16	  8   B800 Quadram (CGA double scan)
     = T  80x25	 8x8   (CGA dblscan)	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  .    528x400	256	  .	.  Cirrus 510/520 chipset
     = G  80x30	 8x16  640x480	 16M	  .   A000 Cirrus CL-GD 5422/5426
     = G  80x30	 8x16  640x480	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G 100x35	 8x16  800x600	 16/64	  .   A000 NSI Smart EGA+
     = G 100x75	 8x8   800x600	 16	  1   A000 Ahead B (same as 6Ah)
     = G    .	  .    960x720	 16	  .	.  C&T chipset, Cardinal
     = G    .	  .   1024x480	256	  .   A000 Trident 8900C BIOS C3.0
 72h = T  80x60	 8x8	  .	 16	  .   B800 Quadram Ultra VGA
     = T  80x60	 8x8	  .	 16	  .   B800 Genoa 6400
     = T  80x60	 8x8	  .	 16	  .   B800 Genoa SuperEGA BIOS 3.0+
     = G    .	  .    528x480	256	  .	.  Cirrus 510/520 chipset
     = G  80x25	 8x19  640x480	 16	  1   A000 DOS/V w/ any VGA
     = G  80x30	 8x16  640x480	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G    .	  .    640x480	32K	  .   A000 ATI
     = G    .	  .    640x480	16M	  .   A000 WD90C
     = G    .	  .    640x480	16M	  .   A000 Diamond Speedstar 24X
     = G    .	  .   1024x768	 16	  .	.  C&T chipset, Cardinal
     = G 128x48	 8x16 1024x768i	 16	  .   A000 C&T 82C450 BIOS
     = G 128x48	 8x16 1024x768	 16	  .   A000 C&T 65530 BIOS (multisync)
 73h = G  80x60	 8x8   640x480	 16	  .   A000 Quadram Ultra VGA
     = G  80x60	 8x8   640x480	 16	  .	.  Genoa 6400
     = G  80x60	 8x8   640x480	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = G 100x37	 8x16  800x600	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = T  80x25	 8x19  640x475	 16	  1   none DOS/V, emulated in VGA graph
 74h = T  80x66	 8x8	  .	 16	  .   B800 Quadram Ultra VGA
     = T  80x66	 8x8	  .	 16	  .   B800 Genoa 6400
     = T  80x66	 8x8	  .	 16	  .   B800 Genoa SuperEGA BIOS 3.0+
     = G    .	  .    640x400	  2	  .   B800 Toshiba 3100 AT&T mode
     = G  80x30	 8x16  640x480	 32K	  .   A000 Trident 8900C/BIOS C03
     = G 100x37	 8x16  800x600	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G 128x48	 8x16 1024x768	 16	  1   A000 Ahead A, Ahead B (512K)
     = G    .	  .   1024x768	 64K	  .   A000 Cirrus CL-GD 5422/5426 [1]
 75h = G  80x30	 8x16  640x480	 64K	  .   A000 Trident 8900C/BIOS C03
     = G  80x66	  .    640x528	 16???	  .   A000 Quadram Ultra VGA
     = G  80x66	  .    640x528	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = G 100x37	 8x16  800x600	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G 128x48	 8x16 1024x768	  4	  1   A000 Ahead B
     = G 128x48	 8x16 1024x768	 16	  .   A000 Chips&Technologies 64310
 76h = T  94x29	 8x14	  .	 16	  .   B800 Quadram Ultra VGA
     = T  94x29	 8x14	  .	  .	  .	.  Genoa SuperEGA BIOS 3.0+
     = G 100x75	 8x8   800x600	 32K	  .   A000 Trident 8900C/BIOS C03
     = G 128x48	 8x16 1024x768	  2	  1   A000 Ahead B
     = G 128x48	 8x16 1024x768	  .	  .   A000 Diamond Stealth64 Video 2xx1
     = G 160x64	 8x16 1280x1024	 16	  .   A000 Chips&Technologies 64310 [1]
 77h = G  94x29	  .    752x410	 16???	  .   A000 Quadram Ultra VGA
     = G  94x29	  .    752x410	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = G 100x75	 8x8   800x600	 64K	  .   A000 Trident 8900C/BIOS C03
     = G 128x48	 8x16 1024x768	  .	  .   A000 Diamond Stealth64 Video 2xx1
 78h = T 100x37	 8x16	  .	 16	  .	.  Genoa 6400
     = T 100x75	 8x8	  .	 16	  .   B800 Quadram Ultra VGA
     = T 100x75	 8x8	  .	  .	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  .    640x400	256	  .	.  STB VGA/EM-16 Plus
     = G  80x25	 8x16  640x400	256	  .	.  Cardinal, C&T chipset
     = G    .	  .    640x400	256	  .	.  Cirrus 5320 chipset
     = G  80x25	 8x16  640x400	256	  .   A000 Chips&Technologies 64310
 79h = G  80x30	 8x16  640x480	256	  .	.  Cardinal, C&T chipset
     = G  80x30	 8x16  640x480	256	  .   A000 Chips&Technologies 64310
     = G 100x75	  .    800x600	 16???	  .   A000 Quadram Ultra VGA
     = G 100x75	 8x8   800x600	 16	  .	.  Genoa SuperEGA BIOS 3.0+
     = G 100x75	 8x8   800x600	 16	  .	.  Genoa 6400
 7Ah = T 114x60	 8x8	  .	 16	  .   B800 Quadram Ultra VGA
     = T 114x60	 8x8	  .	  .	  .	.  Genoa SuperEGA BIOS 3.0+
     = G    .	  .    720x540	256	  .	.  C&T chipset, Cardinal
 7Bh = G    .	  .    800x600	256	  .	.  C&T chipset, Cardinal
     = G 114x60	  .    912x480	 16???	  .   A000 Quadram Ultra VGA
     = G    .	  .    912x480	 16	  .	.  Genoa SuperEGA BIOS 3.0+
 7Ch = G    .	  .    512x512	 16	  .	.  Genoa
     = G 100x37	 8x16  800x600	256	  .	.  C&T 82C453/F65530 chipsets
     = G 100x37	 8x16  800x600	256	  .   A000 Chips&Technologies 64310
     = G 200x75	 8x16 1600x1200	  . [16]  .   A000 Diamond Stealth64 Video 2xx1
 7Dh = G  64x32	 8x16  512x512	256	  .	.  Genoa
 7Eh =	special mode set (see AX=007Eh)		.  Paradise VGA, AT&T VDC600
     = G  80x25	 8x16  640x400	256	  .	.  Genoa 6400
     = G    .	  .   1024x768	256	  .	.  C&T 82C453 chipset
     = G 128x48	 8x16 1024x768	256	  .   A000 Chips&Technologies 64310
     = G  90x43	  .	  .	mono	  .   B000 HERCULES.COM on HGC [14]
 7Fh =	special function set (see AX=007Fh/BH=00h) Paradise VGA, AT&T VDC600
     = G 128x48	 8x16 1024x768	  4	  .	.  Genoa 6400
     = G  90x29	  .	  .	mono	  .   B000 HERCULES.COM on HGC [14]
 82h = T  80x25	  .	  .	B&W	  .	.  AT&T VDC overlay mode [6]
 83h = T  80x25	  .	  .	  .	  .	.  AT&T VDC overlay mode [6]
 86h = G    .	  .    640x200	B&W	  .	.  AT&T VDC overlay mode [6]
 88h = G  90x43	 8x8   720x348	mono	  .   B000 Hercules + MSHERC.COM
 C0h = G    .	  .    640x400	2/prog palette	.  AT&T VDC overlay mode [6]
     = G    .	  .    640x400	2/prog palette	.  Olivetti Quaderno overlay
 C4h =	disable output	  .	  .	  .	.  AT&T VDC overlay mode [6]
 C8h = G  80x50	 8x8   640x400	  2	  .   B800 Olivetti Quaderno overlay
 D0h = G    .	  .    640x400	  2	  .   B800 DEC VAXmate AT&T mode
Notes:
[1] interlaced only
[2] for ATI EGA Wonder, mode 08h is only valid if SMS.COM is loaded resident.
      SMS maps mode 08h to mode 27h if the byte at location 0040:0063 is 0B4h,
      otherwise to mode 23h, thus selecting the appropriate (monochrome or
      color) 132x25 character mode.
    for ATI VGA Wonder, mode 08h is the same, and only valid if VCONFIG loaded
      resident
[3] early XGA boards support 132-column text but do not have this BIOS mode
[4] DESQview intercepts calls to change into these two modes (21h is page 0,
      22h is page 1) even if there is no Hercules graphics board installed
[5] ATI BIOS v4-1.00 has a text-scrolling bug in this mode
[6] for AT&T VDC overlay modes, BL contains the DEB mode, which may be 06h,
      40h, or 44h
[7] BIOS text support is broken in this undocumented mode; scrolling moves
      only about 1/3 of the screen (and does even that portion incorrectly),
      while screen clears only clear about 3/4.
[8] The Oak OTI-037/067/077 modes are present in the Oak VGA BIOS, which OEMs
      may choose to use only partially or not at all; thus, not all Oak boards
      support all "Oak" modes listed here
[9] this card uses the full 128K A000h-BFFFh range for the video buffer,
      precluding the use of a monochrome adapter in the same system
[10] mode 17h supported by Tseng ET4000 BIOS 8.01X dated 1990/09/14, but not
      v8.01X dated 1992/02/28; mode 21h supported by 1992/02/28 version but not
      1990/09/14 version
[11] HERKULES simulates a 90x45 text mode in Hercules graphics mode; the
      installation check for HERKULES.COM is the signature "Herkules" two
      bytes beyond the INT 10 handler
[12] The Realtek RTVGA BIOS v3.C10 crashes when attempting to switch into
      modes 21h or 27h; this version of the BIOS also sets the BIOS data area
      incorrectly for extended text modes, resulting in scrolling after only
      24 lines (the VMODE.EXE	utility does set the data area correctly)
[13] The Tandy 1000SL/TL BIOS does not actually support this mode
[14] HERCULES.COM is a graphics-mode BIOS extension for Hercules-compatible
      graphics cards by Soft Warehouse, Inc.  Its installation check is to
      test whether the word preceding the INT 10 handler is 4137h.
[15] The Hercules-graphics video modes for HERCBIOS (shareware by Dave
      Tutelman) may be changed by a command-line switch; the 90x43
      character-cell mode's number is always one higher than the 90x29 mode
      (whose default is mode 08h)
[16] Stealth64 Video 2001-series BIOS v1.03 reports 76 lines for mode 7Ch,
      resulting in incorrect scrolling for TTY output (scrolling occurs only
      after the end of the 76th line, which is not displayed)
[17] For 43-line text on EGA or 43/50-line text on VGA, you must load an 8x8
      font using AX=1102h after switching to mode 3; VGA may also require
      using INT 10/AH=12h/BL=30h
SeeAlso: #00011,#00083,#00191
Index:	video modes
Index:	installation check;HERKULES|installation check;HERCULES.COM

Top
100070 - INT 10 - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
INT 10 - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
	AX = 0070h
	BL = mode (see #00011)
Desc:	specify a proprietary display mode on the Everex Micro Enhancer or
	  Viewpoint video adapters
SeeAlso: AH=00h,AX=6F05h,AX=7000h/BX=0004h,AH=FFh"GO32"

(Table 00011)
Values for Everex video mode:
     text/ text pixel	pixel	colors disply scrn monitor    adapter
     grph resol	 box  resolution       pages  addr
 00h = G    .	  .    640x480	 16	  .	.  multisync  EGA,VGA
 01h = G    .	  .    752x410	 16	  .	.  multisync  EGA,VGA
 02h = G    .	  .    800x600	 16	  .	.  multisync  EGA,VGA
 03h = T  80x34	  .	  .	  .	  .	.  multisync  EGA,VGA
 04h = T  80x60	  .	  .	  .	  .	.  multisync  EGA,VGA
 05h = T  94x29	  .	  .	  .	  .	.  multisync  EGA only
 06h = T  94x51	  .	  .	  .	  .	.  multisync  EGA only
 07h = T 100x43	 8x14	  .	 16	  .	.  .	      VGA only
 08h = T 100x75	 8x8	  .	 16	  .	.  .	      VGA only
 09h = T  80x44	  .	  .	  .	  .	.  EGA	      EGA only
 0Ah = T 132x25	  .	  .	  .	  .	.  EGA	      EGA,VGA
 0Bh = T 132x44	  .	  .	  .	  .	.  EGA	      EGA,VGA
 0Ch = T 132x25	  .	  .	  .	  .	.  CGA	      EGA only
 0Dh = T  80x44	  .	  .	  .	  .	.  mono	      EGA only
 0Eh = T 132x25	  .	  .	  .	  .	.  mono
 0Fh = T 132x44	  .	  .	  .	  .	.  mono
 10h =	reserved
 11h = G    .	  .   1280x350	  4	  .	.  .	      EGA only
 12h = G    .	  .   1280x600	  4	  .	.  .	      EGA only
 13h = G    .	  .    640x350	256	  .	.  .	      EGA,EV673
 14h = G    .	  .    640x400	256	  .	.  .
 15h = G    .	  .    512x480	256	  .	.  .
 16h = T  80x30	 8x16	  .	256	  .	.  .	      VGA only
 18h = T 100x27	 8x16	  .	 16	  .	.  .	      VGA only
 20h = G    .	  .   1024x768	 16	  .	.  .	      Everex 629,678
	    .	  .	  .	  .	  .	.  .	      Everex EV-673
 21h = T 160x64	 8x16 1280x1024	 16	  .	.  .	      1MB VGA only
 30h = G    .	  .    640x480	256	  .	.  .	      Everex 629,678
	    .	  .	  .	  .	  .	.  .	      Everex EV-673
 31h = G    .	  .    800x600	256	  .	.  .	      Everex 629,678
	    .	  .	  .	  .	  .	.  .	      Everex EV-673
 32h = G 128x48	 8x16 1024x768	256	  .	.  .	      1MB VGA only
 40h = T 132x30	 8x16	  .	 16	  .	.  .	      VGA only
 50h = T 132x32	 8x16	  .	mono	  .	.  .	      VGA only
 62h = G  40x25	 8x8   320x200	32K	  .	.  .	      Vwpt TC (EV629)
 70h = G  64x30	 8x16  512x480	32K	  .	.  .	      Viewpoint TC
 71h = G  80x30	 8x16  640x480	32K	  .	.  .	      Viewpoint TC
 76h = G  64x30	 8x16  512x480	16M	  .	.  .	      Viewpoint TC
 77h = G  80x30	 8x16  640x480	16M	  .	.  .	      Viewpoint TC
SeeAlso: #00010,#00191
Index:	video modes;Everex

Top
10007E - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET SPECIAL MODE
	AX = 007Eh
	BX = horizontal dimension of the mode desired
	CX = vertical dimension of the mode desired
	    (both BX/CX in pixels for graphics modes, rows for alpha modes)
	DX = number of colors of the mode desired (0000h for monochrome modes)
Return: BH = 7Eh if successful (Paradise VGA)
	AL = 7Eh if successful (AT&T VDC600)
Desc:	specify a display mode by resolution rather than mode number
SeeAlso: AH=00h,AX=0070h,AX=007Fh/BH=00h,AX=6F05h,AH=FFh"GO32"
Index:	video modes;Paradise|video modes;AT&T

Top
10007FBH00 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET VGA OPERATION
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET VGA OPERATION
	AX = 007Fh
	BH = 00h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
SeeAlso: AX=007Fh/BH=01h,AX=007Fh/BH=02h

Top
10007FBH01 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET NON-VGA OPERATION
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - SET NON-VGA OPERATION
	AX = 007Fh
	BH = 01h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
Note:	color modes (0,1,2,3,4,5,6) will set non-VGA CGA operation, monochrome
	  mode 7 will set non-VGA MDA/Hercules operation
SeeAlso: AX=007Fh/BH=00h,AX=007Fh/BH=02h

Top
10007FBH02 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - QUERY MODE STATUS
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - QUERY MODE STATUS
	AX = 007Fh
	BH = 02h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
	---if successful---
	BL = 00h if operating in VGA mode, 01h if non-VGA mode
	CH = total video RAM size in 64k byte units
	CL = video RAM used by the current mode
Note:	under Novell DOS 7 TaskMgr Multitasker, this call always returns 0K
	  video memory in CX
SeeAlso: AX=007Fh/BH=00h,AX=007Fh/BH=01h

Top
10007FBH03 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - LOCK CURRENT MODE
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - LOCK CURRENT MODE
	AX = 007Fh
	BH = 03h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
Desc:	allows current mode (VGA or non-VGA) to survive re-boot
SeeAlso: AX=007Eh,AX=007Fh/BH=04h,AX=007Fh/BH=06h,AH=FFh"Oak"

Top
10007FBH04 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MDA EMULATION MODE
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MDA EMULATION MODE
	AX = 007Fh
	BH = 04h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=05h,AH=FFh"Oak"

Top
10007FBH05 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER CGA EMULATION MODE
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER CGA EMULATION MODE
	AX = 007Fh
	BH = 05h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=04h,AH=FFh"Oak"

Top
10007FBH06 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MONOCHROME VGA MODE
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER MONOCHROME VGA MODE
	AX = 007Fh
	BH = 06h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
Note:	this function also switches to video mode 7
SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=07h,AH=FFh"Oak"

Top
10007FBH07 - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER COLOR VGA MODE
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - ENTER COLOR VGA MODE
	AX = 007Fh
	BH = 07h
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
Note:	this function also switches to video mode 3
SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=06h,AH=FFh"Oak"

Top
10007F - INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED DATA REGISTER ACCESS
INT 10 - VIDEO - Paradise VGA, AT&T VDC600 - EXTENDED DATA REGISTER ACCESS
	AX = 007Fh
	BH = function
	    0Ah,0Bh,0Ch,0Dh,0Eh,0Fh  WRITE PARADISE REGISTERS 0,1,2,3,4,5
		(port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh)
		BL = value to set in the paradise register
	    1Ah,1Bh,1Ch,1Dh,1Eh,1Fh READ PARADISE REGISTERS 0,1,2,3,4,5
		(port 03CEh indices 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh)
		Return: BL = value of the paradise register
			BH = 7Fh if successful
	    29h-2Fh ??? (Paradise VGA for Dell, 1991/07/24)
Return: AL = 7Fh if successful (AT&T VDC600)
	BH = status (Paradise/Dell)
	    00h invalid function
	    7Fh successful
SeeAlso: AX=007Eh,AX=007Fh/BH=03h,AX=007Fh/BH=05h,AH=FFh"Oak"

Top
10007FBH60 - INT 10 - Paradise VGA - ???
INT 10 - Paradise VGA - ???
	AX = 007Fh
	BH = 60h
	BL = ??? (00h-13h)
	???
Return: BH = status (00h failed or not supported, 7Fh successful)
	???
Note:	this function is supported by the 1993/5/14 ROM for the Dell 486D
SeeAlso: AX=007Fh/BH=61h

Top
10007FBH61 - INT 10 - Paradise VGA - ???
INT 10 - Paradise VGA - ???
	AX = 007Fh
	BH = 61h
	ES:DI -> buffer for list of ??? (see #00012)
Return: BH = status (00h failed or not supported, 7Fh successful)
	???
Note:	this function is supported by the 1993/5/14 ROM for the Dell 486D
SeeAlso: AX=007Fh/BH=60h

Format of Paradise VGA list entry:
Offset	Size	Description	(Table 00012)
 00h	BYTE	??? or 00h if end of list
 01h	BYTE	???
 02h	WORD	???
 04h	WORD	???
 06h	WORD	???

Top
10007FBXA500 - INT 10 - Paradise VGA - ???
INT 10 - Paradise VGA - ???
	AX = 007Fh
	BX = A500h
	???
Return: BH = status (00h failed or not supported, 7Fh successful)
	???
Note:	this function is supported by the 1993/5/14 ROM for the Dell 486D
SeeAlso: AX=007Fh/BH=A6h

Top
10007FBHA5 - INT 10 - Paradise VGA - ???
INT 10 - Paradise VGA - ???
	AX = 007Fh
	BH = A5h
	BL = ???
	    bits 3-0: ??? (0-4)
	    bits 5,4: ???
	???
Return: BH = status (00h failed or not supported, 7Fh successful)
	???
Note:	this function is supported by the 1993/5/14 ROM for the Dell 486D

Top
10007FBHA6 - INT 10 - Paradise VGA - ???
INT 10 - Paradise VGA - ???
	AX = 007Fh
	BH = A6h
	???
Return: BH = status (00h failed or not supported, 7Fh successful)
	???
Note:	this function is supported by the 1993/5/14 ROM for the Dell 486D
SeeAlso: AX=007Fh/BH=A5h

Top
1001 - INT 10 - VIDEO - SET TEXT-MODE CURSOR SHAPE
INT 10 - VIDEO - SET TEXT-MODE CURSOR SHAPE
	AH = 01h
	CH = cursor start and options (see #00013)
	CL = bottom scan line containing cursor (bits 0-4)
Return: nothing
Desc:	specify the starting and ending scan lines to be occupied by the
	  hardware cursor in text modes
Notes:	buggy on EGA systems--BIOS remaps cursor shape in 43 line modes, but
	  returns unmapped cursor shape
	UltraVision scales size to the current font height by assuming 14-line
	  monochrome and 8-line color fonts; this call is not valid if cursor
	  emulation has been disabled
	applications which wish to change the cursor by programming the
	  hardware directly on EGA or above should call INT 10/AX=1130h or
	  read 0040h:0085h first to determine the current font height
	on some adapters, setting the end line greater than the number of lines
	  in the font will result in the cursor extending to the top of the
	  next character cell on the right
BUG:	AMI 386 BIOS and AST Premier 386 BIOS will lock up the system if AL
	  is not equal to the current video mode
SeeAlso: AH=03h,AX=CD05h,AH=12h/BL=34h,#03885

Bitfields for cursor start and options:
Bit(s)	Description	(Table 00013)
 7	should be zero
 6,5	cursor blink
	(00=normal, 01=invisible, 10=erratic, 11=slow)
	(00=normal, other=invisible on EGA/VGA)
 4-0	topmost scan line containing cursor

Top
1002 - INT 10 - VIDEO - SET CURSOR POSITION
INT 10 - VIDEO - SET CURSOR POSITION
	AH = 02h
	BH = page number
	    0-3 in modes 2&3
	    0-7 in modes 0&1
	    0 in graphics modes
	DH = row (00h is top)
	DL = column (00h is left)
Return: nothing
SeeAlso: AH=03h,AH=05h,INT 60/DI=030Bh,MEM 0040h:0050h

Top
1003 - INT 10 - VIDEO - GET CURSOR POSITION AND SIZE
INT 10 - VIDEO - GET CURSOR POSITION AND SIZE
	AH = 03h
	BH = page number
	    0-3 in modes 2&3
	    0-7 in modes 0&1
	    0 in graphics modes
Return: AX = 0000h (Phoenix BIOS)
	CH = start scan line
	CL = end scan line
	DH = row (00h is top)
	DL = column (00h is left)
Notes:	a separate cursor is maintained for each of up to 8 display pages
	many ROM BIOSes incorrectly return the default size for a color display
	  (start 06h, end 07h) when a monochrome display is attached
	With PhysTechSoft's PTS ROM-DOS the BH value is ignored on entry.
SeeAlso: AH=01h,AH=02h,AH=12h/BL=34h,MEM 0040h:0050h,MEM 0040h:0060h

Top
1004 - INT 10 - VIDEO - READ LIGHT PEN POSITION (except VGA)
INT 10 - VIDEO - READ LIGHT PEN POSITION (except VGA)
	AH = 04h
Return: AH = light pen trigger flag
	    00h not down/triggered
	    01h down/triggered
		DH,DL = row,column of character light pen is on
		CH = pixel row (graphics modes 04h-06h)
		CX = pixel row (graphics modes with >200 rows)
		BX = pixel column
Desc:	determine the current position and status of the light pen (if
	  present)
Notes:	on a CGA, returned column numbers are always multiples of 2 (320-
	  column modes) or 4 (640-column modes)
	returned row numbers are only accurate to two lines

Top
1004 - INT 10 - HUNTER 16 - GET CURSOR ADDRESS
INT 10 - HUNTER 16 - GET CURSOR ADDRESS
	AH = 04h
	BH = page
Return: DH = row (0..24)
	DL = column (0..79)
	CH = cursor pixel Y-address (0..199)
	CL = cursor pixel X-address (0..639)
Notes:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
	pixel coordinates are for the lower left corner of the character cell
	  containing the cursor
SeeAlso: AH=60h"HUNTER"

Top
1005 - INT 10 - VIDEO - SELECT ACTIVE DISPLAY PAGE
INT 10 - VIDEO -  SELECT ACTIVE DISPLAY PAGE
	AH = 05h
	AL = new page number (00h to number of pages - 1) (see #00010)
Return: nothing
Desc:	specify which of possibly multiple display pages will be visible
Note:	to determine whether the requested page actually exists, use AH=0Fh
	  to query the current page after making this call
SeeAlso: AH=0Fh,AH=43h,AH=45h,MEM 0040h:0062h,MEM 0040h:004Eh

Top
100500 - INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - SET GRAPHICS BITMAP BUFFER
INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - SET GRAPHICS BITMAP BUFFER
	AX = 0500h
	BX = segment of buffer
Return: nothing
Desc:	set the address of graphics bitmap buffer for video modes 60h and 61h
SeeAlso: AX=050Fh"Corona"

Top
10050F - INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - GET GRAPHICS BITMAP BUFFER
INT 10 - VIDEO - Corona/Cordata BIOS v4.10+ - GET GRAPHICS BITMAP BUFFER
	AX = 050Fh
Return: DX = segment of graphics bitmap buffer
Desc:	get the address of graphics bitmap buffer for video modes 60h and 61h
SeeAlso: AX=0500h"Corona"

Top
100580 - INT 10 - VIDEO - PCjr, Tandy 1000 - GET CRT/CPU PAGE REGISTERS
INT 10 - VIDEO - PCjr, Tandy 1000 - GET CRT/CPU PAGE REGISTERS
	AX = 0580h
Return: BH = CRT page register
	BL = CPU page register
Notes:	the CPU page determines which 16K block of the first 128K of physical
	  memory will be mapped at B800h by the hardware
	the CRT page determines the start address of the memory used by the
	  video controller
SeeAlso: AH=05h"SET CRT/CPU"

Top
1005 - INT 10 - VIDEO - PCjr, Tandy 1000 - SET CRT/CPU PAGE REGISTERS
INT 10 - VIDEO - PCjr, Tandy 1000 - SET CRT/CPU PAGE REGISTERS
	AH = 05h
	AL = subfunction
	    81h set CPU page register
		BL = CPU page
	    82h set CRT page register
		BH = CRT page
	    83h set both CPU and CRT page registers
		BL = CPU page
		BH = CRT page
Return: nothing
Notes:	the CPU page determines which 16K block of the first 128K of physical
	  memory will be mapped at B800h by the hardware
	the CRT page determines the start address of the memory used by the
	  video controller
SeeAlso: AX=0580h

Top
1006 - INT 10 - VIDEO - SCROLL UP WINDOW
INT 10 - VIDEO - SCROLL UP WINDOW
	AH = 06h
	AL = number of lines by which to scroll up (00h = clear entire window)
	BH = attribute used to write blank lines at bottom of window
	CH,CL = row,column of window's upper left corner
	DH,DL = row,column of window's lower right corner
Return: nothing
Note:	affects only the currently active page (see AH=05h)
BUGS:	some implementations (including the original IBM PC) have a bug which
	  destroys BP
	the Trident TVGA8900CL (BIOS dated 1992/9/8) clears DS to 0000h when
	  scrolling in an SVGA mode (800x600 or higher)
SeeAlso: AH=07h,AH=12h"Tandy 2000",AH=72h,AH=73h,AX=7F07h,INT 50/AX=0014h

Top
1007 - INT 10 - VIDEO - SCROLL DOWN WINDOW
INT 10 - VIDEO - SCROLL DOWN WINDOW
	AH = 07h
	AL = number of lines by which to scroll down (00h=clear entire window)
	BH = attribute used to write blank lines at top of window
	CH,CL = row,column of window's upper left corner
	DH,DL = row,column of window's lower right corner
Return: nothing
Note:	affects only the currently active page (see AH=05h)
BUGS:	some implementations (including the original IBM PC) have a bug which
	  destroys BP
	the Trident TVGA8900CL (BIOS dated 1992/9/8) clears DS to 0000h when
	  scrolling in an SVGA mode (800x600 or higher)
SeeAlso: AH=06h,AH=12h"Tandy 2000",AH=72h,AH=73h,INT 50/AX=0014h

Top
1008 - INT 10 - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION
INT 10 - VIDEO - READ CHARACTER AND ATTRIBUTE AT CURSOR POSITION
	AH = 08h
	BH = page number (00h to number of pages - 1) (see #00010)
Return: AH = character's attribute (text mode only) (see #00014)
	AH = character's color (Tandy 2000 graphics mode only)
	AL = character
Notes:	for monochrome displays, a foreground of 1 with background 0 is
	  underlined
	the blink bit may be reprogrammed to enable intense background colors
	  using AX=1003h or by programming the CRT controller
	the foreground intensity bit (3) can be programmed to switch between
	  character sets A and B on EGA and VGA cards, thus enabling 512
	  simultaneous characters on screen.  In this case the bit's usual
	  function (intensity) is regularly turned off.
	in graphics modes, only characters drawn with white foreground pixels
	  are matched by the pattern-comparison routine
	on the Tandy 2000, BH=FFh specifies that the current page should be
	  used
	because of the IBM BIOS specifications, there may exist some clone
	  BIOSes which do not preserve SI or DI; the Novell DOS kernel
	  preserves SI, DI, and BP before many INT 10h calls to avoid problems
	  due to those registers not being preserved by the BIOS.
BUG:	some IBM PC ROM BIOSes destroy BP when in graphics modes
SeeAlso: AH=09h,AX=1003h,AX=1103h,AH=12h/BL=37h,AX=5001h

Bitfields for character's display attribute:
Bit(s)	Description	(Table 00014)
 7	foreground blink or (alternate) background bright (see also AX=1003h)
 6-4	background color (see #00015)
 3	foreground bright or (alternate) alternate character set (see AX=1103h)
 2-0	foreground color (see #00015)
SeeAlso: #00026

(Table 00015)
Values for character color:
	Normal		Bright
 000b	black		dark gray
 001b	blue		light blue
 010b	green		light green
 011b	cyan		light cyan
 100b	red		light red
 101b	magenta		light magenta
 110b	brown		yellow
 111b	light gray	white

Top
1009 - INT 10 - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION
INT 10 - VIDEO - WRITE CHARACTER AND ATTRIBUTE AT CURSOR POSITION
	AH = 09h
	AL = character to display
	BH = page number (00h to number of pages - 1) (see #00010)
	    background color in 256-color graphics modes (ET4000)
	BL = attribute (text mode) or color (graphics mode)
	    if bit 7 set in <256-color graphics mode, character is XOR'ed
	      onto screen
	CX = number of times to write character
Return: nothing
Notes:	all characters are displayed, including CR, LF, and BS
	replication count in CX may produce an unpredictable result in graphics
	  modes if it is greater than the number of positions remaining in the
	  current row
	With PhysTechSoft's PTS ROM-DOS the BH, BL, and CX values are ignored
	  on entry.
SeeAlso: AH=08h,AH=0Ah,AH=4Bh"GRAFIX",INT 17/AH=60h,INT 1F"SYSTEM DATA"
SeeAlso: INT 43"VIDEO DATA",INT 44"VIDEO DATA"

Top
100A - INT 10 - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION
INT 10 - VIDEO - WRITE CHARACTER ONLY AT CURSOR POSITION
	AH = 0Ah
	AL = character to display
	BH = page number (00h to number of pages - 1) (see #00010)
	    background color in 256-color graphics modes (ET4000)
	BL = attribute (PCjr, Tandy 1000 only) or color (graphics mode)
	    if bit 7 set in <256-color graphics mode, character is XOR'ed
	      onto screen
	CX = number of times to write character
Return: nothing
Notes:	all characters are displayed, including CR, LF, and BS
	replication count in CX may produce an unpredictable result in graphics
	  modes if it is greater than the number of positions remaining in the
	  current row
	With PhysTechSoft's PTS ROM-DOS the BH and CX values are ignored
	  on entry.
SeeAlso: AH=08h,AH=09h,AH=11h"Tandy 2000",AH=4Bh,INT 17/AH=60h
SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA",INT 44"VIDEO DATA"

Top
100B--BH00 - INT 10 - VIDEO - SET BACKGROUND/BORDER COLOR
INT 10 - VIDEO - SET BACKGROUND/BORDER COLOR
	AH = 0Bh
	BH = 00h
	BL = background/border color (border only in text modes)
Return: nothing
SeeAlso: AH=0Bh/BH=01h

Top
100B--BH01 - INT 10 - VIDEO - SET PALETTE
INT 10 - VIDEO - SET PALETTE
	AH = 0Bh
	BH = 01h
	BL = palette ID
	    00h background, green, red, and brown/yellow
	    01h background, cyan, magenta, and white
Return: nothing
Note:	this call was only valid in 320x200 graphics on the CGA, but newer
	  cards support it in many or all graphics modes
SeeAlso: AH=0Bh/BH=00h,MEM 0040h:0066h

Top
100B--BH02 - INT 10 - Tandy 2000 - VIDEO - SET PALETTE ENTRY
INT 10 - Tandy 2000 - VIDEO - SET PALETTE ENTRY
	AH = 0Bh
	BH = 02h
	BL = palette entry number
	AL = new color value for palette entry
Return: nothing
Note:	this interrupt is identical to INT 52 for Tandy 2000
SeeAlso: INT 10/AH=00h,INT 10/AH=0Bh/BH=01h,INT 52"Tandy 2000"

Top
100C - INT 10 - VIDEO - WRITE GRAPHICS PIXEL
INT 10 - VIDEO - WRITE GRAPHICS PIXEL
	AH = 0Ch
	BH = page number
	AL = pixel color
	    if bit 7 set, value is XOR'ed onto screen except in 256-color modes
	CX = column
	DX = row
Return: nothing
Desc:	set a single pixel on the display in graphics modes
Notes:	valid only in graphics modes
	BH is ignored if the current video mode supports only one page
SeeAlso: AH=0Dh,AH=46h

Top
100D - INT 10 - VIDEO - READ GRAPHICS PIXEL
INT 10 - VIDEO - READ GRAPHICS PIXEL
	AH = 0Dh
	BH = page number
	CX = column
	DX = row
Return: AL = pixel color
Desc:	determine the current color of the specified pixel in grahics modes
Notes:	valid only in graphics modes
	BH is ignored if the current video mode supports only one page
SeeAlso: AH=0Ch,AH=47h

Top
100E - INT 10 - VIDEO - TELETYPE OUTPUT
INT 10 - VIDEO - TELETYPE OUTPUT
	AH = 0Eh
	AL = character to write
	BH = page number
	BL = foreground color (graphics modes only)
Return: nothing
Desc:	display a character on the screen, advancing the cursor and scrolling
	  the screen as necessary
Notes:	characters 07h (BEL), 08h (BS), 0Ah (LF), and 0Dh (CR) are interpreted
	  and do the expected things
	IBM PC ROMs dated 1981/4/24 and 1981/10/19 require that BH be the same
	  as the current active page
BUG:	if the write causes the screen to scroll, BP is destroyed by BIOSes
	  for which AH=06h destroys BP
SeeAlso: AH=02h,AH=06h,AH=0Ah

Top
100E--CXABCD - INT 10 - V20-XT-BIOS - TELETYPE OUTPUT WITH ATTRIBUTE
INT 10 - V20-XT-BIOS - TELETYPE OUTPUT WITH ATTRIBUTE
	AH = 0Eh
	CX = ABCDh
	BP = ABCDh
	AL = character to write
	BH = page number
	BL = foreground color (text modes as well as graphics modes)
Return: nothing
Program: V20-XT-BIOS is a ROM BIOS replacement with extensions by Peter
	  Koehlmann / c't magazine
Desc:	display a character on the screen, advancing the cursor and scrolling
	  the screen as necessary
Notes:	characters 07h (BEL), 08h (BS), 0Ah (LF), and 0Dh (CR) are interpreted
	  and do the expected things
SeeAlso: INT 15/AH=84h"V20-XT-BIOS"

Top
100F - INT 10 - VIDEO - GET CURRENT VIDEO MODE
INT 10 - VIDEO - GET CURRENT VIDEO MODE
	AH = 0Fh
Return: AH = number of character columns
	AL = display mode (see #00010 at AH=00h)
	BH = active page (see AH=05h)
Notes:	if mode was set with bit 7 set ("no blanking"), the returned mode will
	  also have bit 7 set
	EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h
	  (monochrome) in all extended-row text modes
	HP 200LX returns AL=07h (monochrome) if mode was set to AL=21h
	  and always 80 resp. 40 columns in all text modes regardless of
	  current zoom setting (see AH=D0h)
	when using a Hercules Graphics Card, additional checks are necessary:
	    mode 05h: if WORD 0040h:0063h is 03B4h, may be in graphics page 1
		  (as set by DOSSHELL and other Microsoft software)
	    mode 06h: if WORD 0040h:0063h is 03B4h, may be in graphics page 0
		  (as set by DOSSHELL and other Microsoft software)
	    mode 07h: if BYTE 0040h:0065h bit 1 is set, Hercules card is in
		  graphics mode, with bit 7 indicating the page (mode set by
		  Hercules driver for Borland Turbo C)
	the Tandy 2000 BIOS is only documented as returning AL, not AH or BH
SeeAlso: AH=00h,AH=05h,AX=10F2h,AX=1130h,AX=CD04h,MEM 0040h:004Ah

Top
100F56BX4756 - INT 10 - VUIMAGE DISPLAY DRIVER (v2.20 and below)
INT 10 - VUIMAGE DISPLAY DRIVER (v2.20 and below)
	AX = 0F56h
	BX = 4756h
	CX = 4944h
	DL = function
	    01h installation check
		Return: AX = 5649h
			BX = 4443h
			CX = 5647h
			DH = 01h
	    02h get first video mode's parameters
		Return: AX = BIOS mode number
			BX = width in pixels
			CX = height in pixels
			DX = number of colors
	    03h get next video mode's parameters
		Return: as for DL=02h
	    04h display line???
		ES:DI -> record (see #00016)
		???
		Return: ???
Program: VUIMAGE is a shareware GIF/TIFF image viewer by Offe Enterprises
Note:	the use of TSR display drivers was discontinued after v2.20
Index:	installation check;VUIMAGE display driver

Format of record for VUIMAGE Function 04h:
Offset	Size	Description	(Table 00016)
 00h	WORD	row number
 02h	WORD	starting column???
 04h	WORD	ending column???
	???

Top
100F--SIF123 - INT 10 - FRIEZE v7.41+ - INSTALLATION CHECK
INT 10 - FRIEZE v7.41+ - INSTALLATION CHECK
	AH = 0Fh
	SI = F123h
	DI = 321Fh
Return: AH = number of character columns
	AL = display mode (see #00010 at AH=00h)
	BH = active page (see AH=05h)
	SI = DI = F345h if installed
Notes:	if mode was set with bit 7 set ("no blanking"), the returned mode will
	  also have bit 7 set
	EGA, VGA, and UltraVision return either AL=03h (color) or AL=07h
	  (monochrome) in all extended-row text modes
SeeAlso: AH=0Fh"VIDEO",AH=4Bh"FRIEZE"

Top
1010 - INT 10 - BIOS Window Extension v1.1 - SET WINDOW COORDINATES
INT 10 - BIOS Window Extension v1.1 - SET WINDOW COORDINATES
	AH = 10h
	CH,CL = row,column of upper left corner of window
	DH,DL = row,column of lower right corner of window
Return: AL = status
	    00h successful
	    01h failed
	AH destroyed
Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
Note:	when a window has been set, all output via AH=0Eh is restricted to
	  the specified window
SeeAlso: AH=11h"Window",AH=12h"Window"

Top
1010 - INT 10 - VIDEO - Eagle PC2 BIOS Rev. C - SET SCROLL SPEED
INT 10 - VIDEO - Eagle PC2 BIOS Rev. C - SET SCROLL SPEED
	AH = 10h
	AL = speed
	    00h fast
	    01h slow (scrolling only moves characters during vertical retrace)
Return: AH = previous speed

Top
1010 - INT 10 - Tandy 2000 - VIDEO - GET/SET CHARACTER FONTS
INT 10 - Tandy 2000 - VIDEO - GET/SET CHARACTER FONTS
	AH = 10h
	AL = control value
	    bit 0: set character set instead of reading it
	    bit 1: high 128 characters instead of low 128 characters
	ES:BX -> new character set if AL bit 0 set
Return: ES:BX -> current character set if AL bit 0 clear on entry
Notes:	this interrupt is identical to INT 52 on Tandy 2000
	the character set consists of 16 bytes for each of the 128 characters,
	  where each of the 16 bytes describes the pixels in one scan line,
	  most significant bit leftmost
SeeAlso: AH=00h,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
SeeAlso: INT 52"Tandy 2000"

Top
101000 - INT 10 - VIDEO - SET SINGLE PALETTE REGISTER (PCjr,Tandy,EGA,MCGA,VGA)
INT 10 - VIDEO - SET SINGLE PALETTE REGISTER (PCjr,Tandy,EGA,MCGA,VGA)
	AX = 1000h
	BL = palette register number (00h-0Fh)
	   = attribute register number (undocumented) (see #00017)
	BH = color or attribute register value
Return: nothing
Notes:	on MCGA, only BX = 0712h is supported
	under UltraVision, the palette locking status (see AX=CD01h)
	  determines the outcome
SeeAlso: AX=1002h,AX=1007h,AX=CD01h

(Table 00017)
Values for attribute register number:
 10h	attribute mode control register (should let BIOS control this)
 11h	overscan color register (see also AX=1001h)
 12h	color plane enable register (bits 3-0 enable corresponding
	  text attribute bit)
 13h	horizontal PEL panning register
 14h	color select register

Top
101001 - INT 10 - VIDEO - SET BORDER (OVERSCAN) COLOR (PCjr,Tandy,EGA,VGA)
INT 10 - VIDEO - SET BORDER (OVERSCAN) COLOR (PCjr,Tandy,EGA,VGA)
	AX = 1001h
	BH = border color (00h-3Fh)
Return: nothing
BUG:	the original IBM VGA BIOS incorrectly updates the parameter save area
	  and places the border color at offset 11h of the palette table
	  rather than offset 10h
Note:	under UltraVision, the palette locking status (see AX=CD01h)
	  determines the outcome
SeeAlso: AX=1002h,AX=1008h,AX=CD01h

Top
101002 - INT 10 - VIDEO - SET ALL PALETTE REGISTERS (PCjr,Tandy,EGA,VGA)
INT 10 - VIDEO - SET ALL PALETTE REGISTERS (PCjr,Tandy,EGA,VGA)
	AX = 1002h
	ES:DX -> palette register list (see #00018)
	BH = 00h to avoid problems on some adapters
Return: nothing
Note:	under UltraVision, the palette locking status (see AX=CD01h)
	  determines the outcome
SeeAlso: AX=1000h,AX=1001h,AX=1009h,AX=CD01h

Format of palette register list:
Offset	Size	Description	(Table 00018)
 00h 16 BYTEs	colors for palette registers 00h through 0Fh
 10h	BYTE	border color
SeeAlso: #00461

Top
101003 - INT 10 - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
INT 10 - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
	AX = 1003h
	BL = new state
	    00h background intensity enabled
	    01h blink enabled
	BH = 00h to avoid problems on some adapters
Return: nothing
Notes:	although there is no function to get the current status on adapters
	  prior to the VGA, bit 5 of 0040h:0065h indicates the state; on the
	  VGA, use AH=1Bh and check offset 2Dh of the returned data (see #00040)
	when configured for a monochrome display, the Boca Research Multi-EGA
	  with ROM v M1.1 Type D has its screen disrupted if BH is not clear
	this call is reported to be "Get Cursor Position" on the Tandy
	  1000SL/TL
SeeAlso: AH=08h,AH=1Bh

Top
101007 - INT 10 - VIDEO - GET INDIVIDUAL PALETTE REGISTER (VGA,UltraVision v2+)
INT 10 - VIDEO - GET INDIVIDUAL PALETTE REGISTER (VGA,UltraVision v2+)
	AX = 1007h
	BL = palette or attribute (undoc) register number (see #00017)
Return: BH = palette or attribute register value
Note:	UltraVision v2+ supports this function even on color EGA systems in
	  video modes 00h-03h, 10h, and 12h; direct programming of the palette
	  registers will cause incorrect results because the EGA registers are
	  write-only.  To guard against older versions or unsupported video
	  modes, programs which expect to use this function on EGA systems
	  should set BH to FFh on entry.
SeeAlso: AX=1000h,AX=1009h

Top
101008 - INT 10 - VIDEO - READ OVERSCAN (BORDER COLOR) REGISTER (VGA,UltraVision v2+)
INT 10 - VIDEO - READ OVERSCAN (BORDER COLOR) REGISTER (VGA,UltraVision v2+)
	AX = 1008h
Return: BH = border color (00h-3Fh)
Note:	(see AX=1007h)
SeeAlso: AX=1001h

Top
101009 - INT 10 - VIDEO - READ ALL PALETTE REGISTERS AND OVERSCAN REGISTER (VGA)
INT 10 - VIDEO - READ ALL PALETTE REGISTERS AND OVERSCAN REGISTER (VGA)
	AX = 1009h
	ES:DX -> 17-byte buffer for palette register list (see #00018)
Return: nothing
Note:	UltraVision v2+ supports this function even on color EGA systems in
	  video modes 00h-03h, 10h, and 12h; direct programming of the palette
	  registers will cause incorrect results because the EGA registers are
	  write-only.  To guard against older versions or unsupported video
	  modes, programs which expect to use this function on EGA systems
	  should set the ES:DX buffer to FFh before calling.
SeeAlso: AX=1002h,AX=1007h,AX=CD02h

Top
101010 - INT 10 - VIDEO - SET INDIVIDUAL DAC REGISTER (VGA/MCGA)
INT 10 - VIDEO - SET INDIVIDUAL DAC REGISTER (VGA/MCGA)
	AX = 1010h
	BX = register number
	CH = new value for green (0-63)
	CL = new value for blue (0-63)
	DH = new value for red (0-63)
Return: nothing
SeeAlso: AX=1012h,AX=1015h

Top
101012 - INT 10 - VIDEO - SET BLOCK OF DAC REGISTERS (VGA/MCGA)
INT 10 - VIDEO - SET BLOCK OF DAC REGISTERS (VGA/MCGA)
	AX = 1012h
	BX = starting color register
	CX = number of registers to set
	ES:DX -> table of 3*CX bytes where each 3 byte group represents one
		 byte each of red, green and blue (0-63)
Return: nothing
SeeAlso: AX=1010h,AX=1017h,INT 62/AX=00A5h

Top
101013 - INT 10 - VIDEO - SELECT VIDEO DAC COLOR PAGE (VGA)
INT 10 - VIDEO - SELECT VIDEO DAC COLOR PAGE (VGA)
	AX = 1013h
	BL = subfunction
	    00h select paging mode
		BH = 00h select 4 blocks of 64
		BH = 01h select 16 blocks of 16
	    01h select page
		BH = page number (00h to 03h) or (00h to 0Fh)
Return: nothing
Note:	this function is not valid in mode 13h
SeeAlso: AX=101Ah

Top
101015 - INT 10 - VIDEO - READ INDIVIDUAL DAC REGISTER (VGA/MCGA)
INT 10 - VIDEO - READ INDIVIDUAL DAC REGISTER (VGA/MCGA)
	AX = 1015h
	BL = palette register number
Return: DH = red value
	CH = green value
	CL = blue value
	AX destroyed by some BIOSes
	      (e.g. Tseng ET4000 BIOS v8.00n always returns AX=00C9h)
SeeAlso: AX=1010h,AX=1017h

Top
101017 - INT 10 - VIDEO - READ BLOCK OF DAC REGISTERS (VGA/MCGA)
INT 10 - VIDEO - READ BLOCK OF DAC REGISTERS (VGA/MCGA)
	AX = 1017h
	BX = starting palette register
	CX = number of palette registers to read
	ES:DX -> buffer (3 * CX bytes in size) (see also AX=1012h)
Return: buffer filled with CX red, green and blue triples
SeeAlso: AX=1012h,AX=1015h,INT 62/AX=00A4h

Top
101018 - INT 10 U - VIDEO - SET PEL MASK (VGA/MCGA)
INT 10 U - VIDEO - SET PEL MASK (VGA/MCGA)
	AX = 1018h
	BL = new PEL value
Return: nothing
SeeAlso: AX=1019h

Top
101019 - INT 10 U - VIDEO - READ PEL MASK (VGA/MCGA)
INT 10 U - VIDEO - READ PEL MASK (VGA/MCGA)
	AX = 1019h
Return: BL = value read
SeeAlso: AX=1018h

Top
10101A - INT 10 - VIDEO - GET VIDEO DAC COLOR-PAGE STATE (VGA)
INT 10 - VIDEO - GET VIDEO DAC COLOR-PAGE STATE (VGA)
	AX = 101Ah
Return: BL = paging mode
	    00h four pages of 64
	    01h sixteen pages of 16
	BH = current page
SeeAlso: AX=1013h

Top
10101B - INT 10 - VIDEO - PERFORM GRAY-SCALE SUMMING (VGA/MCGA)
INT 10 - VIDEO - PERFORM GRAY-SCALE SUMMING (VGA/MCGA)
	AX = 101Bh
	BX = starting palette register
	CX = number of registers to convert
Return: nothing
Desc:	convert the RGB values of one or more palette registers such that the
	  resulting values are grays with the same intensities as the original
	  colors
SeeAlso: AH=12h/BL=33h

Top
1010E0 - INT 10 - VIDEO - Diamond Speedstar 24 - SET 24-BIT GRAPHICS MODE
INT 10 - VIDEO - Diamond Speedstar 24 - SET 24-BIT GRAPHICS MODE
	AX = 10E0h
	BL = video mode (see also #00010 at AH=00h)
	    2Eh = 640x480
Return: ???
SeeAlso: AH=00h,AX=10F0h

Top
1010F0 - INT 10 - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE
INT 10 - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE
	AX = 10F0h
	BL = video mode (see also #00010 at AH=00h)
	    13h = 320x200x32K
	    2Dh = 640x350x32K
	    2Eh = 640x480x32K
	    2Fh = 640x400x32K
	    30h = 800x600x32K
	    3Eh = 640x480x16M (Genoa 7900)
	    FFh Tseng 24-bit color mode
		BH = mode
		    2Dh = 640x480
		    2Eh = 640x480x16M
		    2Fh = 640x400
		    30h = 800x600
		    38h = 1024x768??? (Tseng ET4000/W32i)
Return: AL = 10h if supported
	AH = status
	    00h if successful
	    other on error
Desc:	switch the display into a graphics mode with 15 or more bits per pixel
Note:	the Tseng HiColor BIOS extensions are supported by:
	  Diamond Computer Systems	SpeedStar HiColor VGA
	  Everex Systems		HC VGA
	  Focus Information Systems	2theMax 4000
	  Cardinal Technologies		VGA732
	  Orchid ProDesigner IIs	Genoa 7900
SeeAlso: AH=00h,AX=10E0h,AX=10F1h,AX=10F2h
Index:	video modes;Tseng Hi-Color

Top
1010F1 - INT 10 - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE
INT 10 - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE
	AX = 10F1h
Return: AL = 10h if supported
	BL = type of digital/analog converter (see #00019)
Desc:	determine which type of digital-to-analog converter is installed on the
	  display board
SeeAlso: AX=10F0h,AX=10F2h

(Table 00019)
Values for type of DAC:
 00h normal VGA DAC
 01h Sierra SC1148x HiColor DAC
 ---Diamond SpeedStar 24---
 02h new Sierra SS24 DAC (24-bit)
 ---generic Tseng BIOS v8+ ---
 02h Sierra Mark2 (15-bit) or Mark3 (15/16-bit) DAC
 03h ATT20c490/1/2 (15/16/24-bit)
 04h AcuMos ADAC1 (15/16/24-bit)
 05h unknown 15/16/24-bit DAC
 06h Cirrus Internal 15/16/24-bit (CL-GD54xx series adapters)
 07h Diamond SS2410 (15/24-bit)
 08h unknown 15/16/24-bit DAC
 09h unknown 15/16/24-bit DAC
 else other HiColor DAC

Top
1010F2 - INT 10 u - VIDEO - Tseng ET-4000 BIOS - CHECK IF HiColor MODE/SET HiColor MODE
INT 10 u - VIDEO - Tseng ET-4000 BIOS - CHECK IF HiColor MODE/SET HiColor MODE
	AX = 10F2h
	BL = function
	    00h get current HiColor mode
	    01h set 15-bit HiColor mode
	    02h set 16-bit HiColor mode
Return: AX = 0010h if supported
	    BL = video mode type
		00h not in HiColor mode
		01h 15-bit RGB mode
		02h 16-bit RGB mode
		03h 24-bit RGB mode
Desc:	determine whether the display is in a graphics mode with 15 or more
	  bits per pixel color resolution
Note:	set (BL=01h/02h) only works if already in a HiColor mode
SeeAlso: AH=0Fh,AX=10F0h,AX=10F1h

Top
1011 - INT 10 - BIOS Window Extension v1.1 - GET WINDOW COORDINATES
INT 10 - BIOS Window Extension v1.1 - GET WINDOW COORDINATES
	AH = 11h
Return: CH,CL = row,column of upper left corner
	DH,DL = row,column of lower right corner
Desc:	determine the portion of the display to which output is restricted
Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
SeeAlso: AH=10h"Window",AH=12h"Window"

Top
1011 - INT 10 - Tandy 2000 - VIDEO - WRITE ATTRIBUTE ONLY
INT 10 - Tandy 2000 - VIDEO - WRITE ATTRIBUTE ONLY
	AH = 11h
	BL = new character attribute (text modes) or color (graphics)
	CX = number of times to write attribute
Return: nothing
Note:	this interrupt is identical to INT 52 on Tandy 2000
SeeAlso: AH=0Ah,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
SeeAlso: INT 52"Tandy 2000"

Top
101100 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
	AX = 1100h
	ES:BP -> user table
	CX = count of patterns to store
	DX = character offset into map 2 block
	BL = block to load in map 2
	BH = number of bytes per character pattern
Return: nothing
Notes:	This function will cause a mode set, completely resetting
	  the video environment, but without clearing the video buffer
	the current block specifiers may be determined with INT 10/AH=1Bh,
	  looking at offsets 2Bh and 2Ch of the returned data (VGA only)
	  (see AH=1Bh,#00040)
SeeAlso: AX=1101h,AX=1102h,AX=1103h,AX=1104h,AX=1110h,AH=1Bh,AX=CD10h
SeeAlso: MEM 0040h:0084h
Index:	text mode;font|text mode;screen rows

Top
101101 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
	AX = 1101h
	BL = block to load
Return: nothing
Notes:	(see also AX=1100h)
	This function will cause a mode set, completely resetting
	  the video environment, but without clearing the video buffer
	the "monochrome" patters are 8x14 pixels in size
SeeAlso: AX=1100h,AX=1102h,AX=1103h,AX=1104h,AX=1111h,AH=1Bh,AX=CD10h
SeeAlso: MEM 0040h:0084h
Index:	text mode;font|text mode;screen rows

Top
101102 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
	AX = 1102h
	BL = block to load
Return: nothing
Notes:	(see AX=1100h)
SeeAlso: AX=1100h,AX=1101h,AX=1103h,AX=1104h,AX=1112h,AH=1Bh,AX=CD10h
SeeAlso: MEM 0040h:0084h

Top
101103 - INT 10 - VIDEO - TEXT-MODE CHARGEN - SET BLOCK SPECIFIER (PS,EGA,VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - SET BLOCK SPECIFIER (PS,EGA,VGA)
	AX = 1103h
	BL = block specifier (see #00020)
Return: nothing
Notes:	(see also AX=1110h)
	This function allows dual character sets to appear on screen
	  simultaneously
SeeAlso: AX=1100h,AX=1101h,AX=1102h,AX=1104h,AH=1Bh,AX=CD10h
SeeAlso: MEM 0040h:0084h
Index:	text mode;font|text mode;screen rows

Bitfields for block specifier:
Bit(s)	Description	(Table 00020)
---EGA/MCGA---
 0,1	block selected by characters with attribute bit 3 clear
 2,3	block selected by characters with attribute bit 3 set
---VGA---
 0,1,4	block selected by characters with attribute bit 3 clear
 2,3,5	block selected by characters with attribute bit 3 set

Top
101104 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
	AX = 1104h
	BL = block to load
Return: nothing
Notes:	(see AX=1100h)
SeeAlso: AX=1100h,AX=1101h,AX=1102h,AX=1103h,AX=1114h,AH=1Bh,AX=CD10h
SeeAlso: MEM 0040h:0084h
Index:	text mode;font|text mode;screen rows

Top
1011 - INT 10 - VIDEO - Realtek RTVGA - TEXT-MODE CHARACTER GENERATOR FUNCTIONS
INT 10 - VIDEO - Realtek RTVGA - TEXT-MODE CHARACTER GENERATOR FUNCTIONS
	AH = 11h
	AL = 07h load user-specified patterns and recalculate mode parms
		 parameters are the same as for AX=1110h
	AL = 08h load monochrome patterns (8x14) and recalculate mode parms
		 parameters are the same as for AX=1111h
	AL = 09h load ROM 8 by 8 double-dot patterns and recalculate mode parms
		 parameters are the same as for AX=1112h
	AL = 0Bh load ROM 8x16 character set (VGA) and recalculate mode parms
		 parameters are the same as for AX=1114h
Note:	these functions should only be called under the same conditions as
	  AL=1xh (see AX=1110h"EGA")
SeeAlso: AX=1100h,AX=1110h"CHARGEN",AX=1110h"Realtek",MEM 0040h:0084h
Index:	text mode;font|text mode;screen rows

Top
10110F - INT 10 - VIDEO - Realtek RTVGA - SET USER 8x8 GRAPHICS CHARACTERS
INT 10 - VIDEO - Realtek RTVGA - SET USER 8x8 GRAPHICS CHARACTERS
	AX = 110Fh
	ES:BP -> user table for INT 1F
Return: nothing
Note:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
SeeAlso: AX=1110h"Realtek",AX=1111h"Realtek",AX=1112h"Realtek",AX=1120h

Top
101110 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD USER-SPECIFIED PATTERNS (PS,EGA,VGA)
	AX = 1110h
	ES:BP -> user table
	CX = count of patterns to store
	DX = character offset into map 2 block
	BL = block to load in map 2
	BH = number of bytes per character pattern
Return: nothing
Notes:	This function will cause a mode set, completely resetting
	  the video environment, but without clearing the video buffer
	This function is designed to be called immediately after a mode set,
	  it is equivalent to AX=110xh except that:
	      Page 0 must be active.
	      Bytes/character is recalculated.
	      Max character rows is recalculated.
	      CRT buffer length is recalculated.
	      CRTC registers are reprogrammed as follows:
		     R09 = bytes/char-1 ; max scan line (mode 7 only)
		     R0A = bytes/char-2 ; cursor start
		     R0B = 0		; cursor end
		     R12 = ((rows+1)*(bytes/char))-1 ; vertical display end
		     R14 = bytes/char	; underline loc
			   (*** BUG: should be 1 less ***)
	the current block specifiers may be determined with INT 10/AH=1Bh,
	  looking at offsets 2Bh and 2Ch of the returned data (VGA only)
	  (see AH=1Bh,#00040)
SeeAlso: AX=1100h,AX=1111h,AX=1112h,AX=1114h,AH=1Bh,AX=CD10h,MEM 0040h:0084h
Index:	text mode;font|text mode;screen rows

Top
101110 - INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS
INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS
	AX = 1110h
	ES:BP -> user table
	CX = bytes per character
	BL = row specifier
	    00h user set
		DL = number of rows
	    01h 14 rows
	    02h 25 rows
	    03h 43 rows
Return: nothing
Note:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
SeeAlso: AX=110Fh"Realtek",AX=1112h"Realtek",AX=1121h

Top
101111 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM MONOCHROME PATTERNS (PS,EGA,VGA)
	AX = 1111h
	BL = block to load
Return: nothing
Notes:	(see AX=1110h)
	the "monochrome" patters are 8x14 pixels in size
SeeAlso: AX=1101h,AX=1110h,AX=1112h,AX=1114h,AH=1Bh,AX=CD10h

Top
101111 - INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x14 GRAPHICS CHARACTERS
INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x14 GRAPHICS CHARACTERS
	AX = 1111h
	BL = row specifier (see AX=1121h)
Return: nothing
Note:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
SeeAlso: AX=110Fh"Realtek",AX=1110h"Realtek",AX=1122h

Top
101112 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x8 DBL-DOT PATTERNS (PS,EGA,VGA)
	AX = 1112h
	BL = block to load
Return: nothing
Notes:	(see AX=1110h)
SeeAlso: AX=1103h,AX=1110h,AX=1111h,AX=1114h,AH=1Bh,AX=CD10h

Top
101112 - INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x8 DOUBLE-DOT CHARACTERS
INT 10 - VIDEO - Realtek RTVGA - SET ROM 8x8 DOUBLE-DOT CHARACTERS
	AX = 1112h
	BL = row specifier (see AX=1121h)
Return: nothing
Note:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
SeeAlso: AX=110Fh"Realtek",AX=1110h"Realtek",AX=1111h"Realtek",AX=1123h

Top
101114 - INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
INT 10 - VIDEO - TEXT-MODE CHARGEN - LOAD ROM 8x16 CHARACTER SET (VGA)
	AX = 1114h
	BL = block to load
Return: nothing
Notes:	(see AX=1110h)
SeeAlso: AX=1104h,AX=1110h,AX=1111h,AX=1112h,AH=1Bh,AX=CD10h

Top
101118 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
INT 10 - IBM SurePath BIOS - Officially "Private" Function
	AX = 1118h

Top
101120 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER 8x8 GRAPHICS CHARS (PS,EGA,VGA)
INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER 8x8 GRAPHICS CHARS (PS,EGA,VGA)
	AX = 1120h
	ES:BP -> user table for INT 1F
Return: nothing
Note:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
SeeAlso: AX=1121h,AX=1122h,AX=1123h,AX=1124h,AX=1129h,INT 1F"SYSTEM DATA"
SeeAlso: INT 43"VIDEO DATA"

Top
101121 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (PS,EGA,VGA)
INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (PS,EGA,VGA)
	AX = 1121h
	ES:BP -> user table
	CX = bytes per character
	BL = row specifier
	    00h user set
		DL = number of rows
	    01h 14 rows
	    02h 25 rows
	    03h 43 rows
Return: AL = new number of rows (Diamond Stealth64 Video)
Note:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
SeeAlso: AX=1120h,AX=1122h,AX=1123h,AX=1124h,AX=1129h"Compaq"
SeeAlso: AX=1129h"Diamond",INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"

Top
101122 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x14 GRAPHICS CHARS (PS,EGA,VGA)
INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x14 GRAPHICS CHARS (PS,EGA,VGA)
	AX = 1122h
	BL = row specifier (see AX=1121h)
Return: nothing
Notes:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
	UltraVision v2+ sets INT 43 to the appropriate font on this call
SeeAlso: AX=1111h,AX=1120h,AX=1121h,AX=1123h,AX=1124h,AX=1129h
SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"

Top
101123 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x8 DOUBLE-DOT CHARS (PS,EGA,VGA)
INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET ROM 8x8 DOUBLE-DOT CHARS (PS,EGA,VGA)
	AX = 1123h
	BL = row specifier (see AX=1121h)
Return: nothing
Notes:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
	UltraVision v2+ sets INT 43 to the appropriate font on this call
SeeAlso: AX=1112h,AX=1120h,AX=1121h,AX=1122h,AX=1124h,AX=1129h
SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"

Top
101124 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPHICS CHARS (VGA,MCGA)
INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPHICS CHARS (VGA,MCGA)
	AX = 1124h
	BL = row specifier (see AX=1121h)
Return: nothing
Notes:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
	UltraVision v2+ sets INT 43 to the appropriate font on this call
SeeAlso: AX=1120h,AX=1121h,AX=1122h,AX=1123h,AX=1129h
SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"

Top
101129 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPH CHARS (Compaq Systempro)
INT 10 - VIDEO - GRAPH-MODE CHARGEN - LOAD 8x16 GRAPH CHARS (Compaq Systempro)
	AX = 1129h
	BL = row specifier (see AX=1121h)
Return: nothing
Notes:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
	UltraVision v2+ sets INT 43 to the appropriate font on this call
SeeAlso: AX=1120h,AX=1121h,AX=1122h,AX=1123h,AX=1124h,INT 1F"SYSTEM DATA"
SeeAlso: INT 43"VIDEO DATA"

Top
101129 - INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (Diamond)
INT 10 - VIDEO - GRAPH-MODE CHARGEN - SET USER GRAPHICS CHARACTERS (Diamond)
	AX = 1129h
	DI:BP -> user table
	CX = bytes per character
	BL = row specifier
	    00h user set
		DL = number of rows
	    01h 14 rows
	    02h 25 rows
	    03h 43 rows
Return: AL = new number of rows
Notes:	this function is meant to be called immediately after a mode set;
	  results are unpredictable at other times
	supported by Diamond Stealth64 Video
SeeAlso: AX=1120h,AX=1122h,AX=1123h,AX=1124h,INT 1F"SYSTEM",INT 43"VIDEO"

Top
101130 - INT 10 - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA)
INT 10 - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA)
	AX = 1130h
	BH = pointer specifier
	    00h INT 1Fh pointer
	    01h INT 43h pointer
	    02h ROM 8x14 character font pointer
	    03h ROM 8x8 double dot font pointer
	    04h ROM 8x8 double dot font (high 128 characters)
	    05h ROM alpha alternate (9 by 14) pointer (EGA,VGA)
	    06h ROM 8x16 font (MCGA, VGA)
	    07h ROM alternate 9x16 font (VGA only) (see #00021)
	    11h (UltraVision v2+) 8x20 font (VGA) or 8x19 font (autosync EGA)
	    12h (UltraVision v2+) 8x10 font (VGA) or 8x11 font (autosync EGA)
Return: ES:BP = specified pointer
	CX    = bytes/character of on-screen font (not the requested font!)
	DL    = highest character row on screen
Note:	for UltraVision v2+, the 9xN alternate fonts follow the corresponding
	  8xN font at ES:BP+256N
BUG:	the IBM EGA and some other EGA cards return in DL the number of rows on
	  screen rather than the highest row number (which is one less).
SeeAlso: AX=1100h,AX=1103h,AX=1120h,INT 1F"SYSTEM DATA",INT 43"VIDEO DATA"

Format of alternate font table [array]:
Offset	Size	Description	(Table 00021)
 00h	BYTE	character to be replaced (00h = end of table)
 01h  N BYTEs	graphics data for character, one byte per scan line

Top
101130BX4D4F - INT 10 - M10_SCR.COM v3.5+ - INSTALLATION CHECK
INT 10 - M10_SCR.COM v3.5+ - INSTALLATION CHECK
	AX = 1130h
	BX = 4D4Fh
Return: CX = 4F4Dh if installed
	    ES:BP -> M10_SCR INT 10 handler
Program: M10_SCR is a shareware extended text mode and font driver by
	  I.V. Morozov
SeeAlso: INT 16/AX=4D4Fh

Top
1012 - INT 10 - BIOS Window Extension v1.1 - GET BLANKING ATTRIBUTE
INT 10 - BIOS Window Extension v1.1 - GET BLANKING ATTRIBUTE
	AH = 12h
Return: BH = attribute to use on blanked lines when scrolling
Program: BWE is a TSR by John J. Seal published in May 1986 Dr. Dobb's Journal
SeeAlso: AH=11h"Window",AH=12h"Window"

Top
1012 - INT 10 - Tandy 2000 - VIDEO - SCROLL WINDOW
INT 10 - Tandy 2000 - VIDEO - SCROLL WINDOW
	AH = 12h
	AL = number of rows or columns to scroll
	BH = buffer flag
	    00h data in user buffer
		ES:SI -> buffer containing character/attribute pairs
	    01h no buffer, fill emptied rows/columns with blanks
	BL = direction in which to scroll
	    00h up
	    01h down
	    02h left
	    03h right
	CH,CL = row,column of upper left corner of scroll area
	DH,DL = row,column of lower right corner
Return: nothing
Notes:	this interrupt is identical to INT 52 on Tandy 2000
	the user buffer, if supplied, must be organized by row; regardless of
	  the scroll direction, all character/attribute pairs for the first
	  row are first, then the pairs for the second row, etc.
SeeAlso: AH=00h,AH=0Bh/BH=02h,AH=11h"Tandy 2000",AH=12h"Tandy 2000"
SeeAlso: INT 52"Tandy"

Top
1012--BL10 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, EGA, VGA, MCGA) - GET EGA INFO
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, EGA, VGA, MCGA) - GET EGA INFO
	AH = 12h
	BL = 10h
Return: BH = video state
	    00h color mode in effect (I/O port 3Dxh)
	    01h mono mode in effect (I/O port 3Bxh)
	BL = installed memory (00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K)
	CH = feature connector bits (see #00022)
	CL = switch settings (see #00023,#00024)
	AH destroyed (at least by Tseng ET4000 BIOS v8.00n)
Note:	one possible check for the presence of an EGA or later display card
	  is to call this function with BH=FFh; if not present, BH will be
	  unchanged on return
	another installation check is used by Athena Digital's HGCIBM, which
	  sets CX to FFFFh on calling and checks whether it has been changed
	  on return
Index:	installation check;EGA

Bitfields for feature connector bits:
Bit(s)	Description	(Table 00022)
 0	FEAT 1 line, state 2
 1	FEAT 0 line, state 2
 2	FEAT 1 line, state 1
 3	FEAT 0 line, state 1
 4-7	unused (0)

Bitfields for switch settings:
Bit(s)	Description	(Table 00023)
 0	switch 1 OFF
 1	switch 2 OFF
 2	switch 3 OFF
 3	switch 4 OFF
 4-7	unused

(Table 00024)
Values for switch settings on original EGA/VGA:
 00h		primary MDA/HGC,	secondary EGA+ 40x25
 01h-03h	primary MDA/HGC,	secondary EGA+ 80x25
 04h		primary CGA 40x25,	secondary EGA+ 80x25 mono
 05h		primary CGA 80x25,	secondary EGA+ 80x25 mono
 06h		primary EGA+ 40x25,	secondary MDA/HGC (optional)
 07h-09h	primary EGA+ 80x25,	secondary MDA/HGC (optional)
 0Ah		primary EGA+ 80x25 mono,secondary CGA 40x25 (optional)
 0Bh		primary EGA+ 80x25 mono,secondary CGA 80x25 (optional)

Top
1012--BL11 - INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET BIOS INFO
INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET BIOS INFO
	AH = 12h
	BL = 11h
Return: AL = 12h if function supported
	    BL = ??? (10h)
	    ES:BP -> BIOS info structure (see #00025)
SeeAlso: AH=12h/BL=12h"TRIDENT"

Format of Trident BIOS Info structure:
Offset	Size	 Description	(Table 00025)
 00h	BYTE	 ??? (0000h)
 01h	BYTE	 OEM Code (00h for original Trident)
 02h	WORD	 ID??? (1073h for 8800BR, 1074 for 8800CS)
 04h  8 BYTEs	 BIOS date ('mm/dd/yy')
 0Ch	WORD	 ???
 0Eh  8 BYTEs	 BIOS Version (' C3-128 ', ' C3-129 ')

Top
1012--BL12 - INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET VIDEO RAM SIZE
INT 10 - VIDEO - Trident TVGA 8800/8900/9000 BIOS - GET VIDEO RAM SIZE
	AH = 12h
	BL = 12h
Return: AL = 12h if function supported
	    AH = number of 256K banks of RAM installed
		  (read from CRTC register 1Fh)
SeeAlso: AH=12h/BL=11h"TRIDENT"

Top
1012--BL20 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS,EGA,VGA,MCGA) - ALTERNATE PRTSC
	AH = 12h
	BL = 20h  select alternate print screen routine
Return: nothing
Desc:	installs a PrtSc routine from the video card's BIOS to replace the
	  default PrtSc handler from the ROM BIOS, which usually does not
	  understand screen heights other than 25 lines
Note:	some adapters disable print-screen instead of enhancing it
SeeAlso: INT 05"PRINT SCREEN"

Top
1012--BL2E - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
	AH = 12h
	BL = 2Eh
Return: nothing
Note:	due to an omitted end-of-list marker, these versions of the BIOS will
	  crash the system on this function

Top
1012--BL30 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - SELECT VERTICAL RESOLUTION
	AH = 12h
	BL = 30h
	AL = vertical resolution
	     00h 200 scan lines
	     01h 350 scan lines
	     02h 400 scan lines
Return: AL = 12h if function supported
Desc:	specify the number of scan lines used to display text modes
Note:	the specified resolution will take effect on the next mode set
SeeAlso: AH=00h

Top
1012--BL31 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - PALETTE LOADING
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - PALETTE LOADING
	AH = 12h
	BL = 31h
	AL = new state
	    00h enable default palette loading
	    01h disable default palette loading
Return: AL = 12h if function supported
Desc:	specify whether a default palette should be loaded when the display
	  mode is set
SeeAlso: AH=00h

Top
1012--BL32 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - VIDEO ADDRESSING
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - VIDEO ADDRESSING
	AH = 12h
	BL = 32h
	AL = new state
	    00h enable video addressing
	    01h disable video addressing
Return: AL = 12h if function supported
Desc:	specify whether the CPU should have access to video memory and the
	  display adapters I/O registers

Top
1012--BL33 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - GRAY-SCALE SUMMING
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA, MCGA) - GRAY-SCALE SUMMING
	AH = 12h
	BL = 33h
	AL = new state
	    00h enable gray scale summing
	    01h disable gray scale summing
Return: AL = 12h if function supported
Desc:	specify whether or not colors should be converted to gray scale when
	  palette or color registers are loaded
SeeAlso: AX=101Bh,AX=BF06h,AX=BF08h

Top
1012--BL34 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (VGA) - CURSOR EMULATION
	AH = 12h
	BL = 34h
	AL = new state
	    00h enable alphanumeric cursor emulation
	    01h disable alphanumeric cursor emulation
Return: AL = 12h if function supported
Desc:	specify whether the BIOS should automatically remap cursor start/end
	  according to the current character height in text modes
SeeAlso: AH=01h,AH=03h

Top
1012--BL35 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS) - DISPLAY-SWITCH INTERFACE
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS) - DISPLAY-SWITCH INTERFACE
	AH = 12h
	BL = 35h
	AL = subfunction
	    00h initial adapter video off
	    01h initial planar video on
	    02h switch active video off
	    03h switch inactive video on
	    80h *UNDOCUMENTED* set system board video active flag
	ES:DX -> buffer for 128 byte save area (if AL = 00h-03h)
Return: AL = 12h if function supported
Desc:	switch between two video adapters which may otherwise have address
	  conflicts
SeeAlso: AX=BF00h,AX=BF01h,INT 6D"VGA"

Top
1012--BL36 - INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, VGA) - VIDEO REFRESH CONTROL
INT 10 - VIDEO - ALTERNATE FUNCTION SELECT (PS, VGA) - VIDEO REFRESH CONTROL
	AH = 12h
	BL = 36h
	AL = new state
	    00h enable refresh
	    01h disable refresh
Return: AL = 12h if function supported
Desc:	specify whether the contents of video memory should be displayed on
	  the screen; disabling refresh effectively blanks the screen
Note:	when display refresh is disabled, the entire screen displays the color
	  specified by the DAC color register 00h; thus to actually blank the
	  screen, the application must first ensure that that register has been
	  set to black
BUG:	GEM/VIEWMAX ET3000 and ET4000 drivers dated 1988/6/23 do not correctly
	  reenable refresh after the screen has been blanked due to inactivity,
	  resulting in a total loss of video synchronization
SeeAlso: AX=BF05h

Top
1012--BL37 - INT 10 - VIDEO - XGA - MAINFRAME INTERACTIVE SUPPORT
INT 10 - VIDEO - XGA - MAINFRAME INTERACTIVE SUPPORT
	AH = 12h
	BL = 37h
	AL = text attribute type (00h normal VGA, 01h mainframe type)
Return: AL = 12h if supported
SeeAlso: #00026,AH=08h,#00042

Bitfields for XGA mainframe type character attributes:
Bit(s)	Description	(Table 00026)
 7	blink double rate (75% ON time) or use color 8 as background
	(see AX=1003h)
 6	reverse video
 5	underlined
 4	left-most and right-most dots of underline area inverted
 3	foreground intensity/character font select
 2-0	foreground color
SeeAlso: #00014,#00036

Top
1012--BL38 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
INT 10 - IBM SurePath BIOS - Officially "Private" Function
	AH = 12h
	BL = 38h
SeeAlso: AX=1118h,AH=12h/BL=39h

Top
1012--BL39 - INT 10 - IBM SurePath BIOS - Officially "Private" Function
INT 10 - IBM SurePath BIOS - Officially "Private" Function
	AH = 12h
	BL = 39h
SeeAlso: AX=1118h,AH=12h/BL=38h,AH=12h/BL=3Ah

Top
1012--BL3A - INT 10 - IBM SurePath BIOS - Officially "Private" Function
INT 10 - IBM SurePath BIOS - Officially "Private" Function
	AH = 12h
	BL = 3Ah
SeeAlso: AX=1118h,AH=12h/BL=39h

Top
1012--BL53 - INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
	AH = 12h
	BL = 53h
Note:	due to an omitted end-of-list marker, this version of the BIOS will
	  crash the system on this function

Top
1012--BL57 - INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
INT 10 - Tseng ET-4000 BIOS v8.00 (1991/06/07) - BUG
	AH = 12h
	BL = 57h
Note:	due to an omitted end-of-list marker, this version of the BIOS will
	  crash the system on this function

Top
1012--BH55 - INT 10 - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES
INT 10 - VIDEO - ALTERNATE FUNC SELECT (ATI,Tatung,Taxan) - ENHANCED FEATURES
	AH = 12h
	BH = 55h
	BL = subfunction
	    00h disable enhanced features
	    01h enable enhanced features
	    02h get status
		Return: AL = status flags (see #00027)
	    03h disable register trapping (CGA emulation)
	    04h enable register trapping
	    05h program video mode
		ES:BP -> video mode table (see #00028)
	    06h get mode table
		AL = video mode
		Return: ES:BP -> table suitable for mode AL
				  (and subfunc BL=05h) (see #00028)
			BP = FFFFh on error
			SI = 0000h (ATI Mach32)
Note:	the ATI Mouse driver (MOUSE.COM/MOUSE.SYS) uses subfunction 06h to get
	  the mode table for mode 03h, and then looks for a signature string
	  beginning within 32 bytes of the offset specified by the word at
	  ES:000Ch
SeeAlso: AH=FFh"Oak"
Index:	installation check;ATI video adapters

Bitfields for status flags:
Bit(s)	Description	(Table 00027)
 3	set if enhanced features enabled
 7-5	monitor type
	000 PS/2 mono
	001 PS/2 color
	010 multi-sync
	011 Taxan 650 25kHz
	100 RGB
	101 mono
	110 EGA
	111 Compaq internal

Format of ATI VGA Wonder video mode table:
Offset	Size	Description	(Table 00028)
 00h	BYTE	number of columns
 01h	BYTE	maximum row (number of rows - 1)
 02h	BYTE	scan lines per row
 03h	WORD	video buffer size in bytes
 05h  4 BYTEs	values for Sequencer registers 1-4
 09h	BYTE	value for Miscellaneous Output register
 0Ah 25 BYTEs	values for CRTC registers 00h-18h
		00h horizontal total size (chars)
		01h horizontal displayed (chars)
		02h horizontal sync position (chars)
		03h horizontal sync width (chars)
		04h vertical total size (char rows)
		05h vertical total adjust (scan lines)
		06h vertical displayed (char rows)
		07h vertical sync position (char rows)
		08h interlace mode
		09h max scan line in row
		0Ah cursor start scan line
		0Bh cursor end scan line
		0Ch screen memory start (high)
		0Dh screen memory start (low)
		0Eh cursor address (high)
		0Fh cursor address (low)
		10h light pen (high)
		11h light pen (low)
 23h 20 BYTEs	default palette (values for Attribute Controller regs 00h-13h)
 37h  9 BYTEs	values for Graphics Controller registers 00h-08h

Top
1012--BL74 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
	AH = 12h
	BL = 74h
Note:	due to an omitted end-of-list marker, these versions of the BIOS will
	  crash the system on this function

Top
1012--BL80 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
	AH = 12h
	BL = 80h
Note:	due to an omitted end-of-list marker, these versions of the BIOS will
	  crash the system on this function

Top
1012--BL80 - INT 10 - Cirrus Logic BIOS - INQUIRE VGA TYPE
INT 10 - Cirrus Logic BIOS - INQUIRE VGA TYPE
	AH = 12h
	BL = 80h
Return: AX = controller type in bits 13-0 (see #00029)
	    bit 14: ???
	    bit 15: ???
	BL = silicon revision number (bit 7 set if not available)
	BH = ???
	    bit 2 set if using CL-GD 6340 LCD interface
SeeAlso: AH=12h/BL=81h,AH=12h/BL=82h,AH=12h/BL=85h,AH=12h/BL=9Ah,AH=12h/BL=A1h

(Table 00029)
Values for Cirrus Logic video controller type:
 0000h	no extended alternate select support
 0001h	reserved
 0002h	CL-GD510/520
 0003h	CL-GD610/620
 0004h	CL-GD5320
 0005h	CL-GD6410
 0006h	CL-GD5410
 0007h	CL-GD6420
 0008h	CL-GD6412
 0010h	CL-GD5401
 0011h	CL-GD5402
 0012h	CL-GD5420
 0013h	CL-GD5422
 0014h	CL-GD5424
 0015h	CL-GD5426
 0016h	CL-GD5420r1
 0017h	CL-GD5402r1
 0018h	CL-GD5428
 0019h	CL-GD5429
 0020h	CL-GD6205/15/25
 0021h	CL-GD6215
 0022h	CL-GD6225
 0023h	CL-GD6235
 0024h	CL-GD6245
 0030h	CL-GD5432
 0031h	CL-GD5434
 0032h	CL-GD5430
 0033h	CL-GD5434 rev. E and F
 0035h	CL-GD5440
 0036h	CL-GD5436
 0039h	CL-GD5446
 0040h	CL-GD6440
 0041h	CL-GD7542 (Nordic)
 0042h	CL-GD7543 (Viking)
 0043h	CL-GD7541 (Nordic Lite)
 0050h	CL-GD5452 (Northstar)
 0052h	CL-GD5452 (Northstar) ???
SeeAlso: #00732,#00743

Top
1012--BL81 - INT 10 - Cirrus Logic BIOS - GET BIOS VERSION NUMBER
INT 10 - Cirrus Logic BIOS - GET BIOS VERSION NUMBER
	AH = 12h
	BL = 81h
Return: AH = BIOS major version
	AL = BIOS minor version
SeeAlso: AH=12h/BL=80h,AH=12h/BL=82h

Top
1012--BL82 - INT 10 - Cirrus Logic BIOS - GET DESIGN REVISION CODE
INT 10 - Cirrus Logic BIOS - GET DESIGN REVISION CODE
	AH = 12h
	BL = 82h
Return: AL = chip revision
	AH = ??? (AFh for v1.01)
SeeAlso: AH=12h/BL=80h,AH=12h/BL=81h,#00732 at INT 1A/AX=B102h

Top
1012--BL84 - INT 10 - Cirrus Logic BIOS v3.02 - INQUIRE OPTIONS
INT 10 - Cirrus Logic BIOS v3.02 - INQUIRE OPTIONS
	AH = 12h
	BL = 84h
Return: AX = user options word (see #00030)
SeeAlso: AH=12h/BL=89h,AH=12h/BL=8Ah,AH=12h/BL=8Bh,AH=12h/BL=8Ch,AH=12h/BL=8Fh
SeeAlso: AH=12h/BL=90h,AH=12h/BL=9Ah

Bitfields for Cirrus Logic user options word:
Bit(s)	Description	(Table 00030)
 1,0	centering
	00 vertical centered, 01 from bottom, 10 from top, 11 reserved
 3,2	720-dot fix-up options
	00 OR every 8th and 9th pixel
	01 display MGA mode from left
	10 display MGA mode from right
	11 skip every 9th pixel
 4	???
 7-5	video mode (001 CGA, 010 MGA, 011 EGA, 100 VGA)
 8	external monitor enabled instead of LCD panel
 9	vertical expand mode enabled
 10	8-bit mode instead of 16-bit mode
 11	normal video rather than reverse video (for LCD)
 12	attribute automap rather than attribute emulation
 13	bold mode disabled (default)
 14	fast bandwidth
 15	???

Top
1012--BL85 - INT 10 - Cirrus Logic BIOS - GET INSTALLED MEMORY
INT 10 - Cirrus Logic BIOS - GET INSTALLED MEMORY
	AH = 12h
	BL = 85h
Return: AL = number of 64K banks of video memory
SeeAlso: AH=12h/BL=80h,AH=12h/BL=93h

Top
1012--BL89 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - EN/DISABLE REVERSE VIDEO MODE
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - EN/DISABLE REVERSE VIDEO MODE
	AH = 12h
	BL = 89h
	AL = new state (00h enabled, 01h disabled)
Return: nothing
SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Ah,AH=12h/BL=8Bh

Top
1012--BL8A - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET FRAME COLOR
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET FRAME COLOR
	AH = 12h
	BL = 8Ah
	AL = new gray-scale color (00h = black to 0Fh = white)
Return: nothing
SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Fh

Top
1012--BL8B - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE BOLD MODE
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE BOLD MODE
	AH = 12h
	BL = 8Bh
	AL = new state (00h enabled, 01h disabled)
Return: nothing
SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Ch,AH=12h/BL=8Fh

Top
1012--BL8C - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET AUTOMAP/EMULATE ATTRIBUTES
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET AUTOMAP/EMULATE ATTRIBUTES
	AH = 12h
	BL = 8Ch
	AL = new state
	    00h enable automap
	    01h disable automap and emulate attributes
Return: nothing
SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Bh

Top
1012--BL8F - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE EXPAND MODE
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - ENABLE/DISABLE EXPAND MODE
	AH = 12h
	BL = 8Fh
	AL = new state (00h enabled, 01h disabled)
Return: nothing
Note:	when expand mode is enabled, the vertical dimension is enlarged to
	  full screen
SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=8Bh,AH=12h/BL=90h

Top
1012--BL90 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET CENTERING MODE
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET CENTERING MODE
	AH = 12h
	BL = 90h
	AL = new position
	    00h centered
	    01h from top
	    02h from bottom
	    03h from top
Return: nothing
SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Fh

Top
1012--BL91 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET 720-DOT FIXUP MODE
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SET 720-DOT FIXUP MODE
	AH = 12h
	BL = 91h
	AL = new mode
	    00h display MGA mode from left of screen (default)
	    01h display MGA from right
	    02h skip every ninth pixel
	    03h OR every 8th and 9th pixel
Return: nothing
SeeAlso: AH=12h/BL=84h,AH=12h/BL=8Ah,AH=12h/BL=90h

Top
1012--BL92 - INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SWITCH DISPLAY
INT 10 - Cirrus Logic BIOS v3.02 - LCD panel - SWITCH DISPLAY
	AH = 12h
	BL = 92h
	AL = new display (00h LCD, 01h external monitor)
Return: nothing
Note:	the deselected display is disabled
SeeAlso: AH=12h/BL=84h,AH=12h/BL=89h,AH=12h/BL=90h,AH=12h/BL=94h

Top
1012--BL93 - INT 10 - Cirrus Logic BIOS - FORCE 8-BIT OR 16-BIT OPERATION
INT 10 - Cirrus Logic BIOS - FORCE 8-BIT OR 16-BIT OPERATION
	AH = 12h
	BL = 93h
	AL = new I/O width (00h = 16 bits, 01h = 8 bits)
Return: nothing
SeeAlso: AH=12h/BL=9Ah

Top
1012--BL94 - INT 10 - Cirrus Logic BIOS v3.02 - POWER CONSERVATION
INT 10 - Cirrus Logic BIOS v3.02 - POWER CONSERVATION
	AH = 12h
	BL = 94h
	AL = new state (00h wake up monitor, 01h shut down display)
Return: nothing
Note:	AL=01h is reported not to work properly on the LCD panel
SeeAlso: AH=12h/BL=84h,AH=12h/BL=92h

Top
1012--BL9A - INT 10 - Cirrus Logic BIOS - GET USER OPTIONS
INT 10 - Cirrus Logic BIOS - GET USER OPTIONS
	AH = 12h
	BL = 9Ah
Return: AX = options word 1 (see #00031)
	CX = options word 2 (see #00032)
	BX,DX reserved
SeeAlso: AH=12h/BL=80h,AH=12h/BL=84h,AH=12h/BL=93h,AH=12h/BL=A0h
SeeAlso: AH=12h/BL=A3h,AH=12h/BL=A4h,#00732 at INT 1A/AX=B102h

Bitfields for Cirrus Logic options word 1:
Bit(s)	Description	(Table 00031)
 0,1	reserved
 2-4	monitor type
 5-6	maximum vertical resolution
 7-9	reserved
 10	force 8-bit operation
 11-13	reserved
 14	vertical refresh frequency at 640x480
	=0 60 Hz
	=1 high refresh
 15	reserved
SeeAlso: AH=12h/BL=AEh

Bitfields for Cirrus Logic options word 2:
Bit(s)	Description	(Table 00032)
 15-13	vertical refresh frequency at 1024x768
 12-11	vertical refresh frequency at 800x600
 10-6	reserved
 5-4	vertical refresh frequency at 1280x1024
 3-0	reserved
SeeAlso: #00033

Bitfields for Cirrus Logic Options word 2 (alternate???):
Bit(s)	Description	(Table 00033)
 15-12	vertical refresh frequency at 1024x768
	0000 43i Hz
	0001 60	 Hz
	0010 70	 Hz
	0011 72	 Hz
	0100 76	 Hz
	other reserved
 11-8	vertical refresh frequency at 800x600
	0000 56 Hz
	0001 60 Hz
	0010 72 Hz
	0011 75 Hz
	other reserved
 7-4	maximum vertical resolution
	0000 480  scanlines
	0001 600  scanlines
	0010 768  scanlines
	0011 1024 scanlines
	other reserved
 3-1	vertical refresh frequency at 1280x1024
	000 43i	 Hz
	001 60	 Hz
	010 71.2 Hz (CL-GD5434 rev. E and F)
	011 74	 Hz (CL-GD5434 rev. E and F)
	other reserved
 0	reserved
SeeAlso: #00032

Top
1012--BLA0 - INT 10 - Cirrus Logic BIOS - GET VIDEO MODE AVAILABILITY
INT 10 - Cirrus Logic BIOS - GET VIDEO MODE AVAILABILITY
	AH = 12h
	BL = A0h
	AL = video mode number (00h-7Fh)
Return: AH bit 0: video mode supported
	BX = offset of BIOS subroutine to fixup standard video parameters
		(call subroutine with DS:SI and ES:DI as returned by this call)
	DS:SI -> standard video parameters or FFFFh:FFFFh
	ES:DI -> supplemental video parameters or FFFFh:FFFFh
SeeAlso: AH=00h,AH=12h/BL=9Ah,AH=12h/BL=A1h

Top
1012--BLA1 - INT 10 - Cirrus Logic BIOS - READ MONITOR TYPE AND ID FROM 15-PIN CONNECTOR
INT 10 - Cirrus Logic BIOS - READ MONITOR TYPE AND ID FROM 15-PIN CONNECTOR
	AH = 12h
	BL = A1h
Return: BH = monitor ID (see #00034)
	BL = monitor type (00h color, 01h grayscale, 02h no display)
SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A2h

(Table 00034)
Values for Cirrus Logic monitor ID:
 00h-08h reserved
 09h	IBM 8604/8507 or equivalent
 0Ah	IBM 8514 or equivalent
 0Bh	IBM 8515 or equivalent
 0Dh	IBM 8503 or equivalent
 0Eh	IBM 8512/8513 or equivalent
 0Fh	no monitor

Top
1012--BLA2 - INT 10 - Cirrus Logic BIOS - SET MONITOR HORIZONTAL RETRACE FREQUENCY
INT 10 - Cirrus Logic BIOS - SET MONITOR HORIZONTAL RETRACE FREQUENCY
	AH = 12h
	BL = A2h
	AL = retrace rate
	    00h standard VGA (31.5 kHz)
	    01h 8514-compatible (31.5 kHz and 35.5 kHz interlaced)
	    02h SuperVGA (31.5-35.1 kHz)
	    03h extended SuperVGA (31.5-35.5 kHz)
	    04h multi-frequency (31.5-37.8 kHz)
	    05h extended multi-frequency (31.5-48.0 kHz)
	    06h super multi-frequency (31.5-56.0 kHz)
	    07h extended super multi-frequency (31.5-64.0 kHz)
Return: nothing
SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A0h,AH=12h/BL=A4h

Top
1012--BLA3 - INT 10 - Cirrus Logic BIOS - SET VGA REFRESH
INT 10 - Cirrus Logic BIOS - SET VGA REFRESH
	AH = 12h
	BL = A3h
	AL = refresh rate for 640x480 (00h normal, 01h high)
Return: nothing
SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A4h

Top
1012--BLA4 - INT 10 - Cirrus Logic BIOS - SET MONITOR TYPE
INT 10 - Cirrus Logic BIOS - SET MONITOR TYPE
	AH = 12h
	BL = A4h
	AL = options 1
	    bits 7-4 = vertical refresh at 640x480
		(0 = 60Hz, 1 = 72Hz, other reserved)
	    bits 3-0 = maximum vertical resolution
		(0 = 480 scanlines, 1 = 600, 2 = 768, 3 = 1024, other reserved)
	BH = options 2
	    bits 7-4 = vertical refresh at 1024x768
		(0=87Hz-int, 1=60Hz, 2=70Hz, 3=72Hz, 4=76Hz, other reserved)
	    bits 3-0 = vertical refresh at 800x600
		(0 = 56Hz, 1 = 60Hz, 2 = 72Hz, other reserved)
	CH = options 3
	    bits 7-4 = vertical refresh at 1280x1024
		(0=87Hz-int, 1=60Hz, 2=70Hz, other reserved)
	    bits 3-0: reserved
	CL,DX reserved
Return: nothing
SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h

Top
1012--BLAE - INT 10 - Cirrus Logic BIOS - GET HIGH REFRESH
INT 10 - Cirrus Logic BIOS - GET HIGH REFRESH
	AH = 12h
	BL = AEh
Return:	AL = result
	    bits 7-1: reserved
	    bit 0:    640x480 high refresh rate
		      =0 72 Hz
		      =1 75 Hz
SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h,AH=12h/BL=A4h,AH=12h/BL=AFh

Top
1012--BLAF - INT 10 - Cirrus Logic BIOS - SET HIGH REFRESH
INT 10 - Cirrus Logic BIOS - SET HIGH REFRESH
	AH = 12h
	BL = AFh
	AL = option
	    bits 7-1: reserved
	    bit 0:    640x480 high refresh rate
		      =0 72 Hz
		      =1 75 Hz
Return: nothing
SeeAlso: AH=12h/BL=9Ah,AH=12h/BL=A3h,AH=12h/BL=A4h,AH=12h/BL=AEh

Top
1012--BLBE - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
	AH = 12h
	BL = BEh
Note:	due to an omitted end-of-list marker, these versions of the BIOS will
	  crash the system on this function

Top
1012--BLC6 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
	AH = 12h
	BL = C6h
Note:	due to an omitted end-of-list marker, these versions of the BIOS will
	  crash the system on this function

Top
1012--BLF0 - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
	AH = 12h
	BL = F0h
Note:	due to an omitted end-of-list marker, these versions of the BIOS will
	  crash the system on this function

Top
1012--BLF1 - INT 10 - Tseng ET-4000 BIOS - GET/SET SCREEN REFRESH RATE
INT 10 - Tseng ET-4000 BIOS - GET/SET SCREEN REFRESH RATE
	AH = 12h
	BL = F1h
	AL = subfunction
	    00h set refresh rate
	    01h get refresh rate
	BH = video mode
	    00h	 640x480
	    01h	 800x600
	    02h	 1024x768
	    03h	 1280x1024
	CX = new refresh rate (see #00035) if AL = 00h
Return: AL = 12h if supported
	    CX = current rate (for AL=00h, a changed CX indicates failure)

(Table 00035)
Values for Tseng ET4000 refresh rate:
 CX	640x480	800x600	  1024x768/1280x1024
 00h	60 Hz	 56 Hz	   interlaced
 01h	72 Hz	 60 Hz	   60 Hz
 02h	75 Hz	 72 Hz	   70 Hz
 03h	90 Hz	 75 Hz	   75 Hz
 04h	--	 90 Hz	   --

Top
1013 - INT 10 - VIDEO - WRITE STRING (AT and later,EGA)
INT 10 - VIDEO - WRITE STRING (AT and later,EGA)
	AH = 13h
	AL = write mode
	   bit 0: update cursor after writing
	   bit 1: string contains alternating characters and attributes
	   bits 2-7: reserved (0)
	BH = page number
	BL = attribute if string contains only characters
	CX = number of characters in string
	DH,DL = row,column at which to start writing
	ES:BP -> string to write
Return: nothing
Notes:	recognizes CR, LF, BS, and bell; for the ET4000 BIOS, scrolling,
	  backspace, and CR only take place in the active page
	also available PC or XT with EGA or higher
	HP 95LX only supports write mode 00h
	IBM documents AL=10h,11h,20h,21h as "private" rather than "reserved"
	with PhysTechSoft's PTS ROM-DOS the AL,BH,BL,DH, and DL values are
	  ignored on entry.
BUG:	on the IBM VGA Adapter, any scrolling which may occur is performed on
	  the active page rather than the requested page
SeeAlso: AH=09h,AH=0Ah,AH=13h"DOS/V"

Top
1013 - INT 10 - DOS/V - READ/WRITE DOUBLE-BYTE CHARACTER SET CHARACTERS/ATTRIBUTES
INT 10 - DOS/V - READ/WRITE DOUBLE-BYTE CHARACTER SET CHARACTERS/ATTRIBUTES
	AH = 13h
	AL = function
	    10h read characters and standard attributes
	    11h read characters and extended attributes
	    12h write characters and standard attributes
	    13h write characters and extended attributes
	BH = 00h
	CX = number of characters to transfer
	DH,DL = row,column at which to start transfer
	ES:BP -> buffer for/containing characters and attributes (see #00036)
Return: ES:BP buffer filled if reading
Program: DOS/V is a Japanese-language version of MS-DOS which can run on
	  standard (non-Japanese) ATs and compatible equipped with a VGA or
	  newer video adapter
Notes:	subfunctions 11h and 13h are only valid when DOS/V is using video
	  mode 73h
	the cursor position is not changed by these functions
	extended attributes consist of three bytes; the first is the standard
	  character attribute byte, the second is as described below, and the
	  third is always zero in current versions
SeeAlso: AH=00h,AH=13h"VIDEO"

Bitfields for DOS/V second extended attribute byte:
Bit(s)	Description	(Table 00036)
 7	underline using foreground color
 6	reverse foreground/background specified in standard attribute byte
 5-4	unused
 3	vertical white grid line in cell
 2	horizontal white grid line in cell
 1-0	unused
SeeAlso: #00014,#00026

Top
101400 - INT 10 - VIDEO - LOAD USER-SPECIFIED LCD CHARACTER FONT (CONV,Compaq Port 386)
INT 10 - VIDEO - LOAD USER-SPECIFIED LCD CHARACTER FONT (CONV,Compaq Port 386)
	AX = 1400h
	ES:DI -> character font
	BH = number of bytes per character
	    08h or 10h (Compaq)
	BL = 00h load main font (block 0)
	     01h load alternate font (block 1)
	CX = number of characters to store
	DX = character offset into RAM font area
Return: nothing
SeeAlso: AX=1100h,AX=1110h,AX=1401h

Top
101401 - INT 10 - VIDEO - LOAD SYSTEM ROM DEFAULT LCD CHARACTER FONT (CONV,CP386)
INT 10 - VIDEO - LOAD SYSTEM ROM DEFAULT LCD CHARACTER FONT (CONV,CP386)
	AX = 1401h
	BL = font to load
	    00h main font (block 0)
	    01h alternate font (block 1)
Return: nothing
SeeAlso: AX=1100h,AX=1102h,AX=1400h

Top
101402 - INT 10 - VIDEO - SET MAPPING OF LCD HIGH INTENSITY ATTRIBUTES (CONV,CP386)
INT 10 - VIDEO - SET MAPPING OF LCD HIGH INTENSITY ATTRIBUTES (CONV,CP386)
	AX = 1402h
	BL = subfunction
	    00h ignore high intensity attribute
	    01h map high intensity to reverse video
	    02h map high intensity to underscore
	    03h map high intensity to selected alternate font
	    B0h half intensity (Compaq)
	    B1h toggle active intensity bit interpretation (CP386)
Return: nothing

Top
1015 - INT 10 - VIDEO - GET PHYSICAL DISPLAY PARAMETERS (CONVERTIBLE)
INT 10 - VIDEO - GET PHYSICAL DISPLAY PARAMETERS (CONVERTIBLE)
	AH = 15h
Return: AX = alternate display adapter type (see #00037)
	ES:DI -> parameter table (see #00038)
SeeAlso: AH=1Bh

(Table 00037)
Values for PC Convertible alternate display adapter type:
 0000h	none
 5140h	LCD
 5153h	CGA
 5151h	mono

Format of PC Convertible display parameter table:
Offset	Size	Description	(Table 00038)
 00h	WORD	monitor model number
 02h	WORD	vertical pixels per meter
 04h	WORD	horizontal pixels per meter
 06h	WORD	total vertical pixels
 08h	WORD	total horizontal pixels
 0Ah	WORD	horizontal pixel separation in micrometers
		(width, center-to-center)
 0Ch	WORD	vertical pixel separation in micrometers
		(height, center-to-center)

Top
1015 - INT 10 - VIDEO - SET SUPERIMPOSE MODE (Sperry PC)
INT 10 - VIDEO - SET SUPERIMPOSE MODE (Sperry PC)
	AH = 15h
	AL = superimpose mode
	    00h show graphics screen
	    01h show text screen
	    02h show text screen superimposed on graphics screen
Return: nothing

Top
1018 - INT 10 - VIDEO - DOS/V - GET/SET FONT PATTERN
INT 10 - VIDEO - DOS/V - GET/SET FONT PATTERN
	AH = 18h
	AL = subfunction
	    00h get font pattern
	    01h set font pattern
	BX = 0000h
	CL = character size in bytes (01h,02h)
	CH = 00h
	DH = character width in pixels
	DL = character height in pixels
	ES:DI -> buffer for/containing font image
Return: AL = status (00h successful, else error)
	ES:DI buffer filled for function 00h if successful
Note:	the supported font sizes are 8x16 single-byte, 8x19 single-byte,
	  16x16 double-byte, and 24x24 double-byte
SeeAlso: AH=19h,INT 16/AH=14h

Top
1019 - INT 10 - Japanese VIDEO - DOUBLE-BYTE CHARACTER SET SHIFT INFORMATION
INT 10 - Japanese VIDEO - DOUBLE-BYTE CHARACTER SET SHIFT INFORMATION
	AH = 19h
	???
Return: ???
SeeAlso: AH=18h,INT 16/AH=14h

Top
101A00 - INT 10 - VIDEO - GET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
INT 10 - VIDEO - GET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
	AX = 1A00h
Return: AL = 1Ah if function was supported
	    BL = active display code (see #00039)
	    BH = alternate display code (see #00039)
Notes:	this function is commonly used to check for the presence of a VGA
	this function is supported on the ATI EGA Wonder with certain
	  undocumented configuration switch settings, even though the EGA
	  Wonder does not support VGA graphics; to distinguish this case,
	  call AX=1C00h with CX nonzero, which the EGA Wonder does not support
SeeAlso: AH=12h/BL=35h,AX=1A01h,AH=1Bh,AH=1Ch,MEM 0040h:008Ah
Index:	installation check;VGA

(Table 00039)
Values for display combination code:
 00h	no display
 01h	monochrome adapter w/ monochrome display
 02h	CGA w/ color display
 03h	reserved
 04h	EGA w/ color display
 05h	EGA w/ monochrome display
 06h	PGA w/ color display
 07h	VGA w/ monochrome analog display
 08h	VGA w/ color analog display
 09h	reserved
 0Ah	MCGA w/ digital color display
 0Bh	MCGA w/ monochrome analog display
 0Ch	MCGA w/ color analog display
 FFh	unknown display type

Top
101A01 - INT 10 - VIDEO - SET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
INT 10 - VIDEO - SET DISPLAY COMBINATION CODE (PS,VGA/MCGA)
	AX = 1A01h
	BL = active display code (see #00039)
	BH = alternate display code
Return: AL = 1Ah if function was supported
SeeAlso: AH=12h/BL=35h,AX=1A00h

Top
101B - INT 10 - VIDEO - FUNCTIONALITY/STATE INFORMATION (PS,VGA/MCGA)
INT 10 - VIDEO - FUNCTIONALITY/STATE INFORMATION (PS,VGA/MCGA)
	AH = 1Bh
	BX = implementation type
	    0000h return funtionality/state information
	ES:DI -> 64-byte buffer for state information (see #00040)
Return: AL = 1Bh if function supported
	    ES:DI buffer filled with state information
BUG:	Trident 8900 (BIOS D3.0 1991/11/12) and Trident 9000 (C3.0 1991/10/25)
	  do not correctly set the fields at offsets 27h and 29h of the
	  state information
SeeAlso: AH=15h,AX=1A00h,AX=1F01h

Format of MCGA+ state information:
Offset	Size	Description	(Table 00040)
 00h	DWORD	address of static funtionality table (see #00045)
 04h	BYTE	video mode in effect
 05h	WORD	number of columns
 07h	WORD	length of regen buffer in bytes
 09h	WORD	starting address of regen buffer
 0Bh	WORD	cursor position for page 0
 0Dh	WORD	cursor position for page 1
 0Fh	WORD	cursor position for page 2
 11h	WORD	cursor position for page 3
 13h	WORD	cursor position for page 4
 15h	WORD	cursor position for page 5
 17h	WORD	cursor position for page 6
 19h	WORD	cursor position for page 7
 1Bh	WORD	cursor "type" (start/stop scan lines)
 1Dh	BYTE	active display page
 1Eh	WORD	CRTC port address
 20h	BYTE	current setting of PORT 03x8h
 21h	BYTE	current setting of PORT 03x9h
 22h	BYTE	number of rows - 1
 23h	WORD	bytes/character
 25h	BYTE	display combination code of active display
 26h	BYTE	DCC of alternate display
 27h	WORD	number of colors supported in current mode (0000h = mono)
 29h	BYTE	number of pages supported in current mode
 2Ah	BYTE	number of scan lines active
		(0,1,2,3) = (200,350,400,480)
		Tseng ET3000: (4,5,6 = 512,600,768)
 2Bh	BYTE	primary character block
 2Ch	BYTE	secondary character block
 2Dh	BYTE	miscellaneous flags (see #00041)
 2Eh	BYTE	non-VGA mode support (see #00042)
 2Fh  2 BYTEs	reserved (00h)
 31h	BYTE	video memory available
		00h = 64K, 01h = 128K, 02h = 192K, 03h = 256K
 32h	BYTE	save pointer state flags (see #00043)
 33h	BYTE	display information and status (see #00044)
 34h 12 BYTEs	reserved (00h)

Bitfields for miscellaneous flags:
Bit(s)	Description	(Table 00041)
 0	all modes on all displays on
 1	gray summing on
 2	monochrome display attached
 3	default palette loading disabled
 4	cursor emulation enabled
 5	0 = intensity; 1 = blinking
 6	flat-panel display is active
 7	unused (0)
SeeAlso: #00040

Bitfields for non-VGA mode support:
Bit(s)	Description	(Table 00042)
 7-5	reserved
 4	132-column mode supported
 3	=1 MFI attributes enabled (see AH=12h/BL=37h)
	=0 VGA attributes
 2	16-bit VGA graphics present
 1	adapter interface driver required
 0	BIOS supports information return for adapter interface
SeeAlso: #00040

Bitfields for save pointer state flags:
Bit(s)	Description	(Table 00043)
 0	512 character set active
 1	dynamic save area present
 2	alpha font override active
 3	graphics font override active
 4	palette override active
 5	DCC override active
 6-7	unused (0)
SeeAlso: #00040

Bitfields for display information and status:
Bit(s)	Description	(Table 00044)
 7	640x480 flat-panel can be used simultaneously with CRT controller
 6-3	reserved
 2	color display
 1	flat-panel display active
 0	flat-panel display attached
SeeAlso: #00040

Format of Static Functionality Table:
Offset	Size	Description	(Table 00045)
 00h	BYTE	modes supported 1
		bit 0 to bit 7 = 1 modes 0,1,2,3,4,5,6,7 supported
 01h	BYTE	modes supported 2
		bit 0 to bit 7 = 1 modes 8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh supported
 02h	BYTE	modes supported 3
		bit 0 to bit 3 = 1 modes 10h,11h,12h,13h supported
		bit 4 to bit 7 unused (0)
 03h	BYTE	(IBM) reserved
		(Tseng ET3000/4000) modes supported 4
				bit 0 to bit 7 = modes 18h-1Fh supported
 04h	BYTE	(IBM) reserved
		(Tseng ET3000/4000) modes supported 5
				bit 0 to bit 7 = modes 20h-27h supported
 05h	BYTE	(IBM) reserved
		(Tseng ET3000/4000) modes supported 6
				bit 0 to bit 7 = modes 28h-2Fh supported
 06h	BYTE	(IBM) reserved
		(Tseng ET3000/4000) modes supported 7
				bit 0 to bit 7 = modes 30h-37h supported
 07h	BYTE	scan lines supported
		bit 0 to bit 2 = 1 if scan lines 200,350,400 supported
		bits 3-7 = unused (0)
 08h	BYTE	total number of character blocks available in text modes
 09h	BYTE	maximum number of active character blocks in text modes
 0Ah	WORD	miscellaneous function support flags (see #00046)
 0Ch	WORD	reserved
 0Eh	BYTE	save pointer function flags (see #00047)
 0Fh	BYTE	reserved
SeeAlso: #00040

Bitfields for miscellaneous function support flags:
Bit(s)	Description	(Table 00046)
 0	all modes on all displays function supported
 1	gray summing function supported
 2	character font loading function supported
 3	default palette loading enable/disable supported
 4	cursor emulation function supported
 5	EGA palette present
 6	color palette present
 7	color-register paging function supported
 8	light pen supported (see AH=04h)
 9	save/restore state function 1Ch supported
 10	intensity/blinking function supported (see AX=1003h)
 11	Display Combination Code supported (see #00039)
 12-15	unused (0)
SeeAlso: #00040

Bitfields for save pointer function flags:
Bit(s)	Description	(Table 00047)
 0	512 character set supported
 1	dynamic save area supported
 2	alpha font override supported
 3	graphics font override supported
 4	palette override supported
 5	DCC extension supported
 6-7	unused (0)
SeeAlso: #00040

Top
101C - INT 10 - VIDEO - SAVE/RESTORE VIDEO STATE (PS50+,VGA)
INT 10 - VIDEO - SAVE/RESTORE VIDEO STATE (PS50+,VGA)
	AH = 1Ch
	AL = function
	    00h return state buffer size
		Return: BX = number of 64-byte blocks needed
	    01h save video state
		ES:BX -> buffer
	    02h restore video state
		ES:BX -> buffer containing previously saved state
	CX = requested states (see #00048)
Return: AL = 1Ch if function supported
Notes:	many BIOSes corrupt the video registers when saving the state, so a
	  program should restore the state immediately after saving it (the
	  saved data is uncorrupted)
	the BIOS data area consists of the 96 bytes from 0040h:0049h-00A8h
	this function is not supported when DOS/V is running
	this function may be a better VGA installation check than the usual
	  INT 10/AX=1A00h, since some late-model EGA cards (such as the ATI
	  EGA Wonder) supported that call
SeeAlso: AX=1A00h,AX=5F90h,AX=5FA0h,MEM 0040h:00A8h

Bitfields for requested states:
Bit(s)	Description	(Table 00048)
 0	video hardware (see #00049)
 1	BIOS data areas
 2	color registers and DAC state (see #00050)
 3-15	unused (0)
SeeAlso: #00186

Format of VGA video hardware state:
Offset	Size	Description	(Table 00049)
 00h	BYTE	sequencer index register
 01h	BYTE	CRTC index register
 02h	BYTE	graphics controller index register
 03h	BYTE	attribute controller index register
 04h	BYTE	feature controller register
 05h  4 BYTEs	sequencer registers
 09h	BYTE	sequencer register 0
 0Ah 25 BYTEs	CRTC registers 0-8
 23h 16 BYTEs	palette registers 00h-0Fh
 33h  4 BYTEs	attribute registers 10h-13h
 37h  9 BYTEs	graphics controller registers 0-8
 40h	BYTE	CRTC base address (low)
 41h	BYTE	CRTC base address (high)
 42h	BYTE	plane 0 latch
 43h	BYTE	plane 1 latch
 44h	BYTE	plane 2 latch
 45h	BYTE	plane 3 latch

Format of VGA DAC state:
Offset	Size	Description	(Table 00050)
 00h	BYTE	read/write mode DAC
 01h	BYTE	pixel address
 02h	BYTE	pixel mask
 03h 768 BYTEs	color data (256 triples)
303h	BYTE	color select register

Top
101D - INT 10 - VIDEO - DOS/V - SHIFT STATUS LINE CONTROL
INT 10 - VIDEO - DOS/V - SHIFT STATUS LINE CONTROL
	AH = 1Dh
	AL = function
	    00h enable shift status line(s)
		BX = number of lines to reserve at bottom of screen (usu. 1)
	    01h disable shift status line
		BX = number of lines reserved at bottom of screen (usually 1)
	    02h get number of status lines
		Return: BX = number of lines reserved for shift status
SeeAlso: AH=19h

Top
101D - INT 10 - SpeedSTAR Plus BIOS v4.23+ - SET SYNC PARAMETERS
INT 10 - SpeedSTAR Plus BIOS v4.23+ - SET SYNC PARAMETERS
	AH = 1Dh
	AL = video mode
	ES = caller's segment
Return: nothing
Note:	the caller's segment contains at offset 5Ch (FCB field in PSP)
	  or 100h a table with sync parameters (see #00051) (BIOS looks at both
	  offsets)

Format of SpeedSTAR Plus sync table:
Offset	Size	Description	(Table 00051)
 00h  9 BYTEs	ID contains string 'ey5CENTER'
 09h  5 BYTEs	sync parameters for 640x480 modes 11h,12h,25h,26h,2Eh
 0Bh  5 BYTEs	sync parameters for 800x600 modes 29h,30h,2Ah
 13h  5 BYTEs	sync parameters for 1024x768 modes 37h,38h

Top
101D - INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
INT 10 - Tseng ET-4000 BIOS v3.00 and v8.00 - BUG
	AH = 1Dh
Note:	these versions of the BIOS jump to a random location on this function
	  due to a fencepost error

Top
101DAABXFDEC - INT 10 U - Diamond Stealth64 Video - INSTALLATION CHECK
INT 10 U - Diamond Stealth64 Video - INSTALLATION CHECK
	AX = 1DAAh
	BX = FDECh
Return: BX = CDEFh if Diamond Stealth64 Video 2001-series video card installed
	    AL = number of megabytes of video memory
	    AH = card type??? (4Bh for VL-Bus/5Bh for PCI)
	    CX = ??? (0000h)
	    SI:DI -> signature/copyright string

Top
101E00 - INT 10 - VIDEO - FLAT-PANEL - READ INFORMATION
INT 10 - VIDEO - FLAT-PANEL - READ INFORMATION
	AX = 1E00h
Return: AL = 1Eh if function supported
	    BL = flat-panel status (see #00052)
	    ES:DI -> information table (see #00053)
Note:	IBM classifies this function as optional
SeeAlso: AX=1E01h,AX=1E02h,AX=1E03h,AX=1E04h,AX=1E05h,AX=1EFEh

Bitfields for flat-panel status:
Bit(s)	Description	(Table 00052)
 7-3	reserved
 2	color display
 1	flat panel is active
 0	flat panel is attached
SeeAlso: #00053

Format of flat-panel information table:
Offset	Size	Description	(Table 00053)
 00h	BYTE	number of WORDs in the remainder of the table
 01h	WORD	number of vertical pixels per meter
 03h	WORD	number of horizontal pixels per meter
 05h	WORD	total number of vertical pixels
 07h	WORD	total number of horizontal pixels
 09h	WORD	vertical pixel separation in micrometers (center-to-center)
 0Bh	WORD	horizontal pixel separation in micrometers
 0Dh	WORD	range of gray levels available, less 1
 0Fh	WORD	number of red levels available, less 1 (0000h if nonochrome)
 11h	WORD	number of green levels available, less 1 (0000h if nonochrome)
 13h	WORD	number of blue levels available, less 1 (0000h if nonochrome)
SeeAlso: #00052

Top
101E01 - INT 10 - VIDEO - FLAT-PANEL - LCD/CRT DISPLAY CONTROL
INT 10 - VIDEO - FLAT-PANEL - LCD/CRT DISPLAY CONTROL
	AX = 1E01h
	BH = function
	    bit 7: =1 set display control, =0 query control
	    bits 6-0: reserved (0)
	---if BH bit 7 set---
	BL = new display combination (see #00054)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bits 6-3: reserved (0)
		bit 2: simultaneous display is supported by hardware
		bit 1: LCD/CRT display control supported by hardware
		bit 0: set operation was successful (always clear on get)
	    BL = active display combination (see #00054)
SeeAlso: AX=1E00h,AX=1E02h

Bitfields for Flat-Panel display combination:
Bit(s)	Description	(Table 00054)
 7-2	reserved (0)
 1-0	combination
	00 reserved
	01 LCD active
	10 CRT active
	11 both LCD and CRT active (simultaneous display)
SeeAlso: #00055

Top
101E02 - INT 10 - VIDEO - FLAT-PANEL - DISPLAY POSITION
INT 10 - VIDEO - FLAT-PANEL - DISPLAY POSITION
	AX = 1E02h
	BH = function
	    bit 7: =1 set display position, =0 query position
	    bits 6-0: reserved (0)
	---if BH bit 7 set---
	BL = new position setting (see #00055)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bits 6-4: reserved (0)
		bit 3: positioning to top is supported by hardware
		bit 2: positioning to center is supported by hardware
		bit 1: positioning to bottom is supported by hardware
		bit 0: set operation was successful (always clear on get)
	    BL = active position setting (see #00055)
SeeAlso: AX=1E00h,AX=1E01h

Bitfields for Flat-Panel position setting:
Bit(s)	Description	(Table 00055)
 7-2	reserved (0)
 1-0	position
	00 center
	01 top
	10 bottom
	11 reserved
SeeAlso: #00054,#00056

Top
101E03 - INT 10 - VIDEO - FLAT-PANEL - VERTICAL EXPANSION FOR TEXT/GRAPHICS MODES
INT 10 - VIDEO - FLAT-PANEL - VERTICAL EXPANSION FOR TEXT/GRAPHICS MODES
	AX = 1E03h
	BH = function
	    bit 7: =1 set vertical expansion, =0 query expansion
	    bits 6-0: reserved (0)
	---if BH bit 7 set---
	BL = new vertical expansion setting (see #00056)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bits 6-4: reserved (0)
		bit 3: vertical expansion of text is supported by hardware
		bit 2: vertical expansion of graphics is supported by hardware
		bit 1: hardware supports independent control of expansion in
			text and graphics modes
		bit 0: set operation was successful (always clear on get)
	    BL = active vertical expansion setting (see #00056)
SeeAlso: AX=1E00h,AX=1E02h.AX=1E04h

Bitfields for Flat-Panel vertical expansion setting:
Bit(s)	Description	(Table 00056)
 7-2	reserved (0)
 1	vertical expansion turned on for text modes
 0	vertical expansion turned on for graphics modes
SeeAlso: #00054,#00055,#00057

Top
101E04 - INT 10 - VIDEO - FLAT-PANEL - NORMAL/REVERSE VIDEO FOR TEXT/GRAPHICS MODES
INT 10 - VIDEO - FLAT-PANEL - NORMAL/REVERSE VIDEO FOR TEXT/GRAPHICS MODES
	AX = 1E04h
	BH = function
	    bit 7: =1 set normal/reverse video, =0 query normal/reverse
	    bits 6-0: reserved (0)
	---if BH bit 7 set---
	BL = new normal/reverse video setting (see #00057)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bits 6-4: reserved (0)
		bit 3: hardware supports reverse video for text modes
		bit 2: hardware supports reverse video for graphics modes
		bit 1: hardware supports independent control of reverse video
		      in text and graphics modes
		bit 0: set operation was successful (always clear on get)
	    BL = active normal/reverse video setting (see #00057)
SeeAlso: AX=1E00h,AX=1E03h,AX=1E05h

Bitfields for Flat-Panel normal/reverse video setting:
Bit(s)	Description	(Table 00057)
 7-2	reserved (0)
 1	reverse video for text
 0	reverse video for graphics
SeeAlso: #00054,#00056,#00058,#00059

Top
101E05 - INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS CONTROL
INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS CONTROL
	AX = 1E05h
	BH = function
	    bit 7: =1 set brightness, =0 query brightness
	    bits 6-0: reserved (0)
	---if BH bit 7 set---
	BL = new brightness setting (see #00058)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bits 6-2: reserved (0)
		bit 1: software brightness control is supported
		bit 0: set operation was successful (always clear on get)
	    BL = active brightness setting (see #00058)
Note:	this function operates independently of AX=1E07h
SeeAlso: AX=1E00h,AX=1E04h,AX=1E06h,AX=1E07h

Bitfields for Flat-Panel brightness control:
Bit(s)	Description	(Table 00058)
 7-1	reserved (0)
 0	high brightness
SeeAlso: #00057,#00059

Top
101E06 - INT 10 - VIDEO - FLAT-PANEL - CONTRAST CONTROL FOR TEXT/GRAPHICS
INT 10 - VIDEO - FLAT-PANEL - CONTRAST CONTROL FOR TEXT/GRAPHICS
	AX = 1E06h
	BH = function
	    bit 7: =1 set contrast control, =0 query contrast
	    bits 6-0: reserved (0)
	---if BH bit 7 set---
	BL = new normal/reverse video setting (see #00059)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bits 6-4: reserved (0)
		bit 3: software contrast control supported for text
		bit 2: software contrast control supported for graphics
		bit 1: hardware supports independent control of contrast
		      in text and graphics modes
		bit 0: set operation was successful (always clear on get)
	    BL = active contrast setting (see #00059)
Note:	this function operates independently of AX=1E08h
SeeAlso: AX=1E00h,AX=1E04h,AX=1E05h,AX=1E07h,AX=1E08h

Bitfields for Flat-Panel contrast control:
Bit(s)	Description	(Table 00059)
 7-2	reserved (0)
 1	high contrast for text
 0	high contrast for graphics
SeeAlso: #00057,#00058

Top
101E07 - INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS SETTING
INT 10 - VIDEO - FLAT-PANEL - BRIGHTNESS SETTING
	AX = 1E07h
	BH = function
	    bit 7: =1 set brightness control, =0 query brightness
	    bit 6: use standard brightness
	    bits 5-0: reserved (0)
	---if BH bits 7,6=10---
	BL = brightness (00h = minimum, FFh = maximum)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bit 6: standard/custom (copied from input)
		bits 5-2: reserved (0)
		bit 1: software brightness control is supported
		bit 0: set operation was succesful (always clear on get)
	    BL = brightness (00h = minimum, FFh = maximum)
Note:	this function operates independently of AX=1E05h
SeeAlso: AX=1E00h,AX=1E05h,AX=1E08h

Top
101E08 - INT 10 - VIDEO - FLAT-PANEL - CONTRAST SETTING
INT 10 - VIDEO - FLAT-PANEL - CONTRAST SETTING
	AX = 1E08h
	BH = function
	    bit 7: =1 set contrast control, =0 query contrast
	    bit 6: use standard contrast
	    bits 5-0: reserved (0)
	---if BH bits 7,6=10---
	BL = contrast (00h = minimum, FFh = maximum)
Return: AL = 1Eh if function supported
	    BH = results
		bit 7: query/set (copied from input)
		bit 6: standard/custom (copied from input)
		bits 5-2: reserved (0)
		bit 1: software contrast control is supported
		bit 0: set operation was succesful (always clear on get)
	    BL = contrast (00h = minimum, FFh = maximum)
Note:	this function operates independently of AX=1E06h
SeeAlso: AX=1E00h,AX=1E06h,AX=1E07h

Top
101EFE - INT 10 - VIDEO - FLAT-PANEL - FUNCTION SUPPORT FLAG
INT 10 - VIDEO - FLAT-PANEL - FUNCTION SUPPORT FLAG
	AX = 1EFEh
	ES:DI -> DWORD buffer for bitmap of supported functions
		(set to all zeros before calling)
Return: ES:DI buffer updated with mask of supported functions
Index:	installation check;flat-panel display support
SeeAlso: AX=1E00h,AX=1E06h

Top
101F00 - INT 10 - VIDEO - XGA - GET DMQS (Display Mode Query and Set) DATA LENGTH
INT 10 - VIDEO - XGA - GET DMQS (Display Mode Query and Set) DATA LENGTH
	AX = 1F00h
Return: AL = 1Fh if supported
	    BX = number of bytes of DMQS data
Note:	not supported on the original IBM XGA, only on XGA-NI (non-interlaced)
	  and later models.
SeeAlso: AX=1F01h

Top
101F01 - INT 10 - VIDEO - XGA - READ DMQS DATA
INT 10 - VIDEO - XGA - READ DMQS DATA
	AX = 1F01h
	ES:DI -> user buffer for return data (call AX=1F00h for size)
Return: AL = 1Fh if function supported
	user buffer filled with DMQS data (see #00060)
Note:	not supported on the original IBM XGA, only on XGA-NI (non-interlaced)
	  and later models.
SeeAlso: AH=1Bh,AX=1F00h,AX=3000h

Format of XGA DMQS buffer:
Offset	Size	Description	(Table 00060)
 00h	WORD	offset (in bytes) to DMQS data for next XGA instance
 02h	BYTE	slot number
 03h	BYTE	XGA implementation function level identifier
 04h	BYTE	XGA implementation resolution level identifier
 05h	WORD	vendor identifier - identifies card vendor
 07h	WORD	vendor defined field
 09h	WORD	XGA adapter I/O register base address
 0Bh	WORD	XGA coprocessor register base address
		(paragraph--multiply by 10h to get physical address)
 0Dh	WORD	1 Megabyte system video memory aperture
		0000h if not allocated
		(Multiply by 100000h to get physical address)
 0Fh	WORD	4 Megabyte system video memory aperture
		0000h if not allocated
		(multiply by 100000h to get physical address)
 11h	WORD	video memory base address
		(multiply by 100000h to get physical address)
 13h	WORD	composite ID of the attached display
 15h	BYTE	amount of video memory available, in multiples of 256K bytes
 16h	DWORD	alternate XGA coprocessor register base address.  0 = none.
 1Ah	var	DMQS Data for further XGA Instances (as above)
Note:	"Instances" refers to the capability of having up to 8 XGA
	  adapters in one computer.
SeeAlso: #00061

Top
101F02 - INT 10 - VIDEO - XGA - GET SVGA DMQS DATA LENGTH
INT 10 - VIDEO - XGA - GET SVGA DMQS DATA LENGTH
	AX = 1F02h
Return: AL = 1Fh if function supported
	    BX = length of SVGA DMQS data in bytes
SeeAlso: AX=1F00h,AX=1F03h

Top
101F03 - INT 10 - VIDEO - XGA - GET SVGA DMQS DATA
INT 10 - VIDEO - XGA - GET SVGA DMQS DATA
	AX = 1F03h
	ES:DI -> buffer for SVGA DMQS data (see #00061)
Return: AL = 1Fh if function supported
	    ES:DI buffer filled
SeeAlso: AX=1F00h,AX=1F02h

Format of SVGA DMQS data:
Offset	Size	Description	(Table 00061)
 00h	WORD	offset to DMQS data for next SVGA instance or 0000h
 02h	BYTE	reserved
 03h	BYTE	SVGA implementation functional level
 04h	BYTE	SVGA implementation resolution level
 05h	WORD	vendor ID
 07h	WORD	vendor-specific
 09h  7 BYTEs	reserved
 10h	BYTE	SVGA linear address window size
		00h 64K
		01h 1M
		02h 2M
		03h 4M
 11h	WORD	SVGA linear address window location or 0000h if not allocated
		(multiply by 10000h [shift left 16 bits] to get physical addr)
 13h	WORD	attached monitor's composite monitor ID
 15h	BYTE	available video RAM in multiples of 256K
 16h 11 BYTEs	reserved
SeeAlso: #00060

Top
103000CX0000 - INT 10 - VIDEO - LOCATE 3270PC CONFIGURATION TABLE (INSTALLATION CHECK)
INT 10 - VIDEO - LOCATE 3270PC CONFIGURATION TABLE (INSTALLATION CHECK)
	AX = 3000h
	CX = 0000h
	DX = 0000h
Return: CX:DX -> 3270PC configuration table (see #00062)
	CX:DX = 0000h:0000h if 3270PC Control Program not active
SeeAlso: AX=1F01h

Format of 3270 PC configuration table:
Offset	Size	Description	(Table 00062)
 00h	BYTE	aspect ratio X
 01h	BYTE	aspect ratio Y
 02h	BYTE	monitor type (see #00063)
 03h	BYTE	reserved
 04h	BYTE	adapter ID
		00h = 5151/5272 adapter
		04h = 5151/5272 with XGA adapter
		30h = 3295 or 3270PC G/GX adapter
 05h	BYTE	reserved
 06h	BYTE	function flags 1 (see #00064)
 07h	BYTE	function flags 2
		bit 6: GPI graphics supported
 08h	WORD	segment address of Control Program Level table (see #00065)
 0Ah 10 BYTEs	reserved

(Table 00063)
Values for 3270 PC monitor type:
 00h	5151 (mono) or 5272 (color)
 01h	3295
 02h	5151 or 5272 with XGA (???) graphics adapter
 03h	5279 with 3270PC G adapter
 04h	5379 model C01 with 3270PC GX adapter
 05h	5379 model M01 with 3270PC GX adapter
 07h	non-3270PC with 3270 Workstation Program
 FFh	3270PC Control Program not loaded

Bitfields for 3270 PC function flags 1:
Bit(s)	Description	(Table 00064)
 7	mono text, 1 page
 6	color text, 1 page
 5	color text, 4 pages
 4	CGA color graphics
 3	720x350 two-color graphics
 2	360x350 four-color graphics
 1	720x350 eight-color graphics

Format of Control Program Level table:
Offset	Size	Description	(Table 00065)
 00h	WORD	program version
		02xxh = 3270PC Control Program v2.xx
		03xxh = 3270PC Control Program v3.xx
		04xxh = 3270 Workstation Program v1.xx
 02h	BYTE	Control Program ID (00h)
 03h 27 BYTEs	Control Program Descriptor ("IBM 3270 PC CONTROL PROGRAM")

Top
103800 - INT 10 - Tinytalk Personal v1.09f+ - GET CONFIGURATION INFO
INT 10 - Tinytalk Personal v1.09f+ - GET CONFIGURATION INFO
	AX = 3800h
Return: ES:DI -> configuration info (see #00066)
Program: Tinytalk is a shareware screen reader by OMS Development/Eric Bohlman
Notes:	this call is also used as the installation check by verifying that the
	  returned ES:DI points at valid configuration info
	Tinytalk v1.09f ignores AL and always returns the configuration info;
	  v1.10 adds several subfunctions selected with AL
SeeAlso: AX=3801h,AX=3803h,AX=3806h,AH=39h,INT 14/AX=F0F1h
SeeAlso: INT 2F/AX=FB00h"AutoBraille"
Index:	installation check;Tinytalk Personal

Format of Tinytalk Personal configuration info:
Offset	Size	Description	(Table 00066)
 00h  8 BYTEs	signature "TTCONFIG"
 08h	WORD	size of configuration data, not counting signature, this WORD,
		  or the following byte
 0Ah	BYTE	???
 0Bh	???	configuration data

Top
103801 - INT 10 - Tinytalk Personal v1.10 - ???
INT 10 - Tinytalk Personal v1.10 - ???
	AX = 3801h
	DL = ???
Return: ???
SeeAlso: AX=3800h,AX=3802h

Top
103802 - INT 10 - Tinytalk Personal v1.10 - ???
INT 10 - Tinytalk Personal v1.10 - ???
	AX = 3802h
	DL = ???
Return: ???
SeeAlso: AX=3800h,AX=3801h

Top
103803 - INT 10 - Tinytalk Personal v1.10 - GET ???
INT 10 - Tinytalk Personal v1.10 - GET ???
	AX = 3803h
Return: AL = ???
SeeAlso: AX=3800h,AX=3804h,AX=3805h

Top
103804 - INT 10 - Tinytalk Personal v1.10 - GET ???
INT 10 - Tinytalk Personal v1.10 - GET ???
	AX = 3804h
Return: AX = ???
SeeAlso: AX=3800h,AX=3803h,AX=3805h

Top
103805 - INT 10 - Tinytalk Personal v1.10 - GET ???
INT 10 - Tinytalk Personal v1.10 - GET ???
	AX = 3805h
Return: AL = ???
SeeAlso: AX=3800h,AX=3803h,AX=3804h

Top
103806 - INT 10 - Tinytalk Personal v1.10 - ???
INT 10 - Tinytalk Personal v1.10 - ???
	AX = 3806h
	ES:DX -> ASCIZ ???
Return: ???
SeeAlso: AX=3800h

Top
1039 - INT 10 - Tinytalk Personal v1.10 - ???
INT 10 - Tinytalk Personal v1.10 - ???
	AH = 39h
Program: Tinytalk is a shareware screen reader by OMS Development/Eric Bohlman
Note:	this function was a NOP in TTDEMO.EXE, but may be implemented in other
	  variants of Tinytalk

Top
1040 - INT 10 - VIDEO - Hercules GRAFIX - "GMODE" - SET GRAPHICS MODE
INT 10 - VIDEO - Hercules GRAFIX - "GMODE" - SET GRAPHICS MODE
	AH = 40h
Return: nothing
Program: Hercules GRAFIX (or GRAPH X, as it is called in some documentation)
	  provides text output in graphics mode and some graphics primitives
	  on the Hercules Graphics Card
Desc:	switch the Hercules Graphics Card into graphics mode (720x348) without
	  clearing the screen; make Page 0 the default for both writing and
	  display, and set LEVEL (see AH=44h) to 01h
SeeAlso: AH=00h,AH=41h,AH=42h
Index:	video modes;Hercules

Top
1041 - INT 10 - VIDEO - Hercules GRAFIX - "TMODE" - SET TEXT MODE
INT 10 - VIDEO - Hercules GRAFIX - "TMODE" - SET TEXT MODE
	AH = 41h
Return: nothing
Desc:	switch the Hercules Graphics Card into text mode
SeeAlso: AH=00h,AH=40h
Index:	video modes;Hercules

Top
1042 - INT 10 - VIDEO - Hercules GRAFIX - "CLRSCR" - CLEAR CURRENT PAGE
INT 10 - VIDEO - Hercules GRAFIX - "CLRSCR" - CLEAR CURRENT PAGE
	AH = 42h
Return: nothing
SeeAlso: AH=45h

Top
1043 - INT 10 - VIDEO - Hercules GRAFIX - "GPAGE" - SELECT DRAWING PAGE
INT 10 - VIDEO - Hercules GRAFIX - "GPAGE" - SELECT DRAWING PAGE
	AH = 43h
	AL = page number (0,1)
Return: nothing
Desc:	specify which of the two pages of video memory is to be used for
	  output
SeeAlso: AH=05h,AH=44h,AH=45h

Top
1044 - INT 10 - VIDEO - Hercules GRAFIX - "LEVEL" - SELECT DRAWING FUNCTION
INT 10 - VIDEO - Hercules GRAFIX - "LEVEL" - SELECT DRAWING FUNCTION
	AH = 44h
	AL = drawing function
	    00h clear pixels
	    01h set pixels
	    02h invert pixels
Return: nothing
Desc:	specify how graphics output will change the display
SeeAlso: AH=40h,AH=45h,AH=46h,AH=4Bh,AH=4Ch,AH=4Dh

Top
1045 - INT 10 - VIDEO - Hercules GRAFIX - "DISP" - SELECT PAGE TO DISPLAY
INT 10 - VIDEO - Hercules GRAFIX - "DISP" - SELECT PAGE TO DISPLAY
	AH = 45h
	AL = page number (0,1)
Return: nothing
Desc:	specify which of the two pages of video memory is visible on screen
SeeAlso: AH=05h,AH=42h,AH=43h

Top
1046 - INT 10 - VIDEO - Hercules GRAFIX - "PLOT" - DRAW ONE PIXEL
INT 10 - VIDEO - Hercules GRAFIX - "PLOT" - DRAW ONE PIXEL
	AH = 46h
	DI = x (0-719)
	BP = y (0-347)
Return: nothing
Notes:	function 44h determines operation and function 43h which page to use
	if the indicated coordinate is invalid, this function does nothing
SeeAlso: AH=0Ch,AH=47h,AH=49h,AH=4Ch,AH=4Dh

Top
1047 - INT 10 - VIDEO - Hercules GRAFIX - "GETPT" - FIND PIXEL VALUE
INT 10 - VIDEO - Hercules GRAFIX - "GETPT" - FIND PIXEL VALUE
	AH = 47h
	DI = x (0-719)
	BP = y (0-347)
Return: AL = 00h pixel clear
	AL = 01h pixel set
Note:	function 43h specifies which page is used
SeeAlso: AH=0Dh,AH=46h

Top
1048 - INT 10 - VIDEO - Hercules GRAFIX - "MOVE" - MOVE TO POINT
INT 10 - VIDEO - Hercules GRAFIX - "MOVE" - MOVE TO POINT
	AH = 48h
	DI = x (0-719)
	BP = y (0-347)
Return: nothing
Desc:	specify the location from which to start the next graphics output
SeeAlso: AH=49h

Top
1049 - INT 10 - VIDEO - Hercules GRAFIX - "DLINE" - DRAW TO POINT
INT 10 - VIDEO - Hercules GRAFIX - "DLINE" - DRAW TO POINT
	AH = 49h
	DI = x (0-719)
	BP = y (0-347)
Return: nothing
Note:	function 48h or 49h specify first point, 44h operation and 43h page to
	  use
SeeAlso: AH=43h,AH=44h,AH=48h,AH=4Ch,AH=4Dh

Top
104A - INT 10 - VIDEO - Hercules GRAFIX - "BLKFIL" - BLOCK FILL
INT 10 - VIDEO - Hercules GRAFIX - "BLKFIL" - BLOCK FILL
	AH = 4Ah
	DI = x coordinate of lower left corner
	BP = y coordinate of lower left corner
	BX = height in pixels
	CX = width in pixels
Return: nothing
Desc:	draw a solid rectangle of the specified size at the given location
SeeAlso: AH=4Eh

Top
104B - INT 10 - VIDEO - Hercules GRAFIX - "TEXT" - DISPLAY CHARACTER
INT 10 - VIDEO - Hercules GRAFIX - "TEXT" - DISPLAY CHARACTER
	AH = 4Bh
	AL = character to display
	DI = x (0-719)
	BP = y (0-347)
Return: nothing
Notes:	unlike the other BIOS character functions character position is
	  specified in pixels rather than rows and columns
	the character is writting using the drawing function last specified by
	  AH=44h
SeeAlso: AH=09h,AH=0Ah,AH=44h

Top
104B - INT 10 - FRIEZE - API
INT 10 - FRIEZE - API
	AH = 4Bh
	CL = function
	    00h (v6.x-) print window
		AL = mode
		    00h character
		    01h normal
		    02h sideways
	    01h load window
		ES:BX -> ASCIZ filename from which to read
	    02h save window
		ES:BX -> ASCIZ filename to which to write
	    03h set print width
		AL = width in 1/4 inches
	    04h set print height
		AL = height in 1/4 inches
	    05h reserved
	    06h set left margin
		AL = printout margin in 1/4 inches
	    07h set window size
		ES:BX -> four-WORD structure with Xmin, Ymin, Xmax, Ymax
	    08h reserved
	    09h set patterns
		ES:BX -> 16-BYTE vector of screen->printer color correspondnces
	    0Ah get patterns
		ES:BX -> 16-BYTE buffer for color correspondences
	    0Bh set mode
		AL = mode
	    0Ch (v7.41) ???
		AL = ???
		    00h ??? (calls original INT 05)
		    else ???
	    0Dh (v7.41) ???
		AL = ???
		    00h ??? (calls original INT 05)
		    else ???
	    0Eh (v7.41) ???
		???
	    0Fh get window
		ES:BX -> four-WORD buffer for Xmin, Ymin, Xmax, Ymax
	    10h set print options
		ES:BX -> printer options in same format as FRIEZE cmdline
	    11h initialize
		ES:BX -> three-WORD array from CARDS.DAT for HRes, VRes, code
	    12h (v7.41) ???
		???
	    13h (v7.41) ???
		???
	    14h get version
		Return: AH = major version (00h if FRIEZE version before 7)
			AL = minor version
	    15h set parameters
		ES:BX -> parameter table (see #00068)
	    16h get parameters
		ES:BX -> buffer for parameter table (see #00068)
	    17h get printer resolution
		ES:BX -> 12-WORD table for six horizontal/vertical resol pairs
	    18h (v8.0 only) reserved
	    50h (v7.41) get ???
		Return: AX = ???
	    51h (v7.41) get ???
		Return: ES = ??? (seen 2348h)
			AX = ??? (seen 8432h)
Return: AX = status (see #00067)
SeeAlso: AH=0Fh/SI=F123h

(Table 00067)
Values for FRIEZE function status:
 00h	successful
 01h	user aborted printout with ESC
 02h	reserved
 03h	file read error
 04h	file write error or printer error
 05h	file not found
 06h	invalid header (not an image or wrong screen mode) or can't create file
 07h	file close error
 08h	disk error
 09h	(v7.0+) printer error
 0Ah	invalid function
 0Bh	(v7.0+) can't create file
 0Ch	(v7.0+) wrong video mode

Format of FRIEZE parameter table:
Offset	Size	Description	(Table 00068)
 00h	WORD	top margin (1/100 inch)
 02h	WORD	left margin (1/100 inch)
 04h	WORD	horizontal size (1/100 inch)
 06h	WORD	vertical size (1/100 inch)
 08h	WORD	quality/draft mode
		00h draft mode
		01h quality mode
		02h use horizontal/vertical resolution for output resolution
 0Ah	WORD	printer horizontal resolution (dots per inch)
 0Ch	WORD	printer vertical resolution (dots per inch)
 0Eh	WORD	reserved (FFFFh)
Note:	any field which should remain unchanged may be filled with FFFFh

Top
104C - INT 10 - VIDEO - Hercules GRAFIX - "ARC" - DRAW ARC
INT 10 - VIDEO - Hercules GRAFIX - "ARC" - DRAW ARC
	AH = 4Ch
	AL = quadrant (1 = upper right, 2 = upper left, etc)
	DI = x coordinate of center
	BP = y coordinate of center
	BX = radius
Return: nothing
SeeAlso: AH=49h,AH=4Dh

Top
104D - INT 10 - VIDEO - Hercules GRAFIX - "CIRC" - DRAW CIRCLE
INT 10 - VIDEO - Hercules GRAFIX - "CIRC" - DRAW CIRCLE
	AH = 4Dh
	DI = x of center
	BP = y of center
	BX = radius
Return: nothing
SeeAlso: AH=49h,AH=4Ch

Top
104E - INT 10 - VIDEO - Hercules GRAFIX - "FILL" - FILL AREA
INT 10 - VIDEO - Hercules GRAFIX - "FILL" - FILL AREA
	AH = 4Eh
	DI = x coordinate of an interior point
	BP = y coordinate of an interior point
Return: nothing
Desc:	fill a convex polygonal area bounded by a contiguous line of the
	  opposite color with the border color
Note:	the first fill makes the figure solid, the second erases it
SeeAlso: AH=4Ah

Top
104E00 - INT 10 - VESA XGA BIOS Extensions - GET XGA ENVIRONMENT INFORMATION
INT 10 - VESA XGA BIOS Extensions - GET XGA ENVIRONMENT INFORMATION
	AX = 4E00h
	ES:DI -> 256-byte buffer for XGA information (see #00069)
Return: AL = 4Eh if function supported
	    AH = status
		00h successful
		else error code
Desc:	determine whether VESA XGA extensions are present and the capabilities
	  supported by the display adapter
SeeAlso: AX=4E01h,AX=4E02h,AX=4F00h
Index:	installation check;VESA XGA

Format of XGA information buffer:
Offset	Size	Description	(Table 00069)
 00h  4 BYTEs	signature ("VESA")
 04h	WORD	VESA version number
 06h	DWORD	pointer to ASCIZ OEM string
 0Ah	DWORD	environment flags (see #00070)
 0Eh	WORD	number of XGA adapters installed (other VESA XGA functions
		  require a handle indicating which adapter to use)
 10h 240 BYTEs	reserved

Bitfields for XGA environment flags:
Bit(s)	Description	(Table 00070)
 0-1	system bus (00 = MCA, 01 = ISA, 10 = EISA)
 2	bus mastering available
 3-31	reserved

Top
104E01 - INT 10 - VESA XGA BIOS Extensions - RETURN XGA SUBSYSTEM INFORMATION
INT 10 - VESA XGA BIOS Extensions - RETURN XGA SUBSYSTEM INFORMATION
	AX = 4E01h
	DX = XGA handle (0 to number of XGAs-1)
	ES:DI -> 256-byte buffer for subsystem information (see #00071)
Return: AL = 4Eh if function supported
	AH = status
	    00h	 function successful
	    else error code
SeeAlso: AX=4E00h,AX=4E02h

Format of XGA subsystem information:
Offset	Size	Description	(Table 00071)
 00h	DWORD	pointer to null-terminated board OEM string
 04h	DWORD	capabilities (see #00072)
 08h	DWORD	pointer to 8KB XGA ROM (or NULL)
 0Ch	DWORD	pointer to the XGA memory mapped registers
 10h	WORD	base address of XGA I/O registers (21x0h)
 12h	DWORD	pointer to start of physical video memory
		(A000h:0000h or B000h:0000h)
 16h	DWORD	physical address of 4MB aperture (or NULL if none)
 1Ah	DWORD	physical address of 1MB aperture (or NULL if none)
 1Eh	DWORD	physical address of 64KB aperture (or NULL if not enabled)
 22h	DWORD	physical address of OEM aperture (or NULL if none)
 26h	WORD	size of OEM aperture in 64KByte units
 28h	DWORD	pointer to list of video modes
		The list is a series of WORDs terminated by FFFFh
 2Ch	WORD	number of 64KB blocks on the board
 2Eh	DWORD	XGA manufacturer ID
		byte 0 POS data index 1
		byte 1 is index 2
		byte 2 is 21xAh index 75h
 32h 206 BYTEs	reserved

Bitfields for XGA capabilities:
Bit(s)	Description	(Table 00072)
 0-1	board bus architecture: 0=MCA, 1=ISA, 3=EISA
 2-3	reserved
 4-6	DMA Channel assigned for acquiring bus mastership (only for ISA bus)
 7	DMA Channel Status (ISA only). enabled if set
 8-31	reserved

Top
104E02 - INT 10 - VESA XGA BIOS Extensions - RETURN XGA MODE INFORMATION
INT 10 - VESA XGA BIOS Extensions - RETURN XGA MODE INFORMATION
	AX = 4E02h
	CX = Video mode
	DX = XGA handle
	ES:DI -> 256 byte buffer for mode information (see #00073)
Return: AL = 4Eh if function supported
	AH = status
	    00h	 function successful
	    else error code
SeeAlso: AX=4E00h,AX=4E01h

Format of XGA mode information:
Offset	Size	Description	(Table 00073)
 00h	WORD	attributes of the mode (see #00074)
 02h	WORD	bytes per logical scanline
 04h	WORD	horizontal resolution in pixels
 06h	WORD	vertical resolution in scanlines
 08h	BYTE	character Width in pixels
 09h	BYTE	character Height in pixels
 0Ah	BYTE	number of planes
 0Bh	BYTE	bits per pixels
 0Ch	BYTE	memory model (see #00075)
 0Dh	BYTE	number of Image Pages
 0Eh	BYTE	number of Red bits
 0Fh	BYTE	bit position of Red bit field
 10h	BYTE	number of Green bits
 11h	BYTE	bit position of Green bit field
 12h	BYTE	number of Blue bits
 13h	BYTE	bit position of Blue bit field
 14h	BYTE	number of Reserved bits
 15h	BYTE	bit position of Reserved bit field
 16h 235 BYTEs	reserved

Bitfields for XGA mode attributes:
Bit(s)	Description	(Table 00074)
 0	set if mode is supported
 1	reserved
 2	output is supported by the BIOS
 3	reserved
 4	if set this is a graphics mode (VGA registers inactive, XGA active),
	  if clear this is a text mode (VGA registers active, XGA inactive)

(Table 00075)
Values for XGA video memory model:
 00h	Text Mode
 01h	CGA graphics
 02h	Hercules graphics
 03h	4-planar graphics
 04h	Packed Pixel
 05h	Non-chain 4, 256 color
 06h	Direct Color
 07h	YUV-24

Top
104E03 - INT 10 - VESA XGA BIOS Extensions - SET XGA VIDEO MODE
INT 10 - VESA XGA BIOS Extensions - SET XGA VIDEO MODE
	AX = 4E03h
	BX = video mode
	CX = other command flags
	     bit 0  If clear the feature connector is set to the default state
	DX = XGA handle
	ES:DI -> 256 byte buffer
Return: AL = 4Eh if function supported
	AH = status
	    00h	 function successful
	    else error code
SeeAlso: AH=00h,AX=4E04h,AX=4F02h

Top
104E04 - INT 10 - VESA XGA BIOS Extensions - RETURN CURRENT VIDEO MODE
INT 10 - VESA XGA BIOS Extensions - RETURN CURRENT VIDEO MODE
	AX = 4E04h
	DX = XGA handle
Return: AL = 4Eh if function supported
	AH = status
	    00h	 function successful
		BX??? = current mode
	    else error code
SeeAlso: AH=0Fh,AX=4E03h,AX=4F03h

Top
104E05 - INT 10 - VESA XGA BIOS Extensions - SET FEATURE CONNECTOR STATE
INT 10 - VESA XGA BIOS Extensions - SET FEATURE CONNECTOR STATE
	AX = 4E05h
	BX = Feature Connector State (see #00076)
	DX = XGA handle
Return: AL = 4Eh if function supported
	AH = status
	    00h	 function successful
	    else error code
SeeAlso: AX=4E00h,AX=4E06h

Bitfields for XGA Feature Connector State:
Bit(s)	Description	(Table 00076)
 0	Feature Connector is enabled
 1	Feature Connector is in Output Mode rather than Input Mode
 2-15	reserved (0)

Top
104E06 - INT 10 - VESA XGA BIOS Extensions - RETURN FEATURE CONNECTOR STATE
INT 10 - VESA XGA BIOS Extensions - RETURN FEATURE CONNECTOR STATE
	AX = 4E06h
	DX = XGA handle
Return: AL = 4Eh if function supported
	AH = status
	    00h	 function successful
	    else error code
	BX = Feature Connector State (see #00076)
SeeAlso: AX=4E00h,AX=4E05h

Top
104F00 - INT 10 - VESA SuperVGA BIOS (VBE) - GET SuperVGA INFORMATION
INT 10 - VESA SuperVGA BIOS (VBE) - GET SuperVGA INFORMATION
	AX = 4F00h
	ES:DI -> buffer for SuperVGA information (see #00077)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		ES:DI buffer filled
	    01h failed
	    ---VBE v2.0---
	    02h function not supported by current hardware configuration
	    03h function invalid in current video mode
Desc:	determine whether VESA BIOS extensions are present and the capabilities
	  supported by the display adapter
SeeAlso: AX=4E00h,AX=4F01h,AX=7F00h"SOLLEX",AX=A00Ch
Index:	installation check;VESA SuperVGA

Format of SuperVGA information:
Offset	Size	Description	(Table 00077)
 00h  4 BYTEs	(ret) signature ("VESA")
		(call) VESA 2.0 request signature ("VBE2"), required to receive
		  version 2.0 info
 04h	WORD	VESA version number (one-digit minor version -- 0102h = v1.2)
 06h	DWORD	pointer to OEM name
		"761295520" for ATI
 0Ah	DWORD	capabilities flags (see #00078)
 0Eh	DWORD	pointer to list of supported VESA and OEM video modes
		(list of words terminated with FFFFh)
 12h	WORD	total amount of video memory in 64K blocks
---VBE v1.x ---
 14h 236 BYTEs	reserved
---VBE v2.0 ---
 14h	WORD	OEM software version (BCD, high byte = major, low byte = minor)
 16h	DWORD	pointer to vendor name
 1Ah	DWORD	pointer to product name
 1Eh	DWORD	pointer to product revision string
 22h	WORD	(if capabilities bit 3 set) VBE/AF version (BCD)
		0100h for v1.0P
 24h	DWORD	(if capabilities bit 3 set) pointer to list of supported
		  accelerated video modes (list of words terminated with FFFFh)
 28h 216 BYTEs	reserved for VBE implementation
100h 256 BYTEs	OEM scratchpad (for OEM strings, etc.)
Notes:	the list of supported video modes is stored in the reserved portion of
	  the SuperVGA information record by some implementations, and it may
	  thus be necessary to either copy the mode list or use a different
	  buffer for all subsequent VESA calls
	not all of the video modes in the list of mode numbers may be
	  supported, e.g. if they require more memory than currently installed
	  or are not supported by the attached monitor.	 Check any mode you
	  intend to use through AX=4F01h first.
	the 1.1 VESA document specifies 242 reserved bytes at the end, so the
	  buffer should be 262 bytes to ensure that it is not overrun; for
	  v2.0, the buffer should be 512 bytes
	the S3 specific video modes will most likely follow the FFFFh
	  terminator at the end of the standard modes.	A search must then
	  be made to find them, FFFFh will also terminate this second list
	in some cases, only a "stub" VBE may be present, supporting only
	  AX=4F00h; this case may be assumed if the list of supported video
	  modes is empty (consisting of a single word of FFFFh)

Bitfields for VESA capabilities:
Bit(s)	Description	(Table 00078)
 0	DAC can be switched into 8-bit mode
 1	non-VGA controller
 2	programmed DAC with blank bit (i.e. only during blanking interval)
 3	(VBE v3.0) controller supports hardware stereoscopic signalling
 3	controller supports VBE/AF v1.0P extensions
 4	(VBE v3.0) if bit 3 set:
	    =0 stereo signalling via external VESA stereo connector
	    =1 stereo signalling via VESA EVC connector
 4	(VBE/AF v1.0P) must call EnableDirectAccess to access framebuffer
 5	(VBE/AF v1.0P) controller supports hardware mouse cursor
 6	(VBE/AF v1.0P) controller supports hardware clipping
 7	(VBE/AF v1.0P) controller supports transparent BitBLT
 8-31	reserved (0)
SeeAlso: #00077,AX=4F09h

Top
104F01 - INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
	AX = 4F01h
	CX = SuperVGA video mode (see #04082 for bitfields)
	ES:DI -> 256-byte buffer for mode information (see #00079)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		ES:DI buffer filled
	    01h failed
Desc:	determine the attributes of the specified video mode
SeeAlso: AX=4F00h,AX=4F02h

Bitfields for VESA/VBE video mode number:
Bit(s)	Description	(Table 04082)
 15	preserve display memory on mode change
 14	(VBE v2.0+) use linear (flat) frame buffer
 13	(VBE/AF 1.0P) VBE/AF initializes accelerator hardware
 12	reserved for VBE/AF
 11	(VBE v3.0) user user-specified CRTC refresh rate values
 10-9	reserved for future expansion
 8-0	video mode number (0xxh are non-VESA modes, 1xxh are VESA-defined)

Format of VESA SuperVGA mode information:
Offset	Size	Description	(Table 00079)
 00h	WORD	mode attributes (see #00080)
 02h	BYTE	window attributes, window A (see #00081)
 03h	BYTE	window attributes, window B (see #00081)
 04h	WORD	window granularity in KB
 06h	WORD	window size in KB
 08h	WORD	start segment of window A (0000h if not supported)
 0Ah	WORD	start segment of window B (0000h if not supported)
 0Ch	DWORD	-> FAR window positioning function (equivalent to AX=4F05h)
 10h	WORD	bytes per scan line
---remainder is optional for VESA modes in v1.0/1.1, needed for OEM modes---
 12h	WORD	width in pixels (graphics) or characters (text)
 14h	WORD	height in pixels (graphics) or characters (text)
 16h	BYTE	width of character cell in pixels
 17h	BYTE	height of character cell in pixels
 18h	BYTE	number of memory planes
 19h	BYTE	number of bits per pixel
 1Ah	BYTE	number of banks
 1Bh	BYTE	memory model type (see #00082)
 1Ch	BYTE	size of bank in KB
 1Dh	BYTE	number of image pages (less one) that will fit in video RAM
 1Eh	BYTE	reserved (00h for VBE 1.0-2.0, 01h for VBE 3.0)
---VBE v1.2+ ---
 1Fh	BYTE	red mask size
 20h	BYTE	red field position
 21h	BYTE	green mask size
 22h	BYTE	green field size
 23h	BYTE	blue mask size
 24h	BYTE	blue field size
 25h	BYTE	reserved mask size
 26h	BYTE	reserved mask position
 27h	BYTE	direct color mode info
		bit 0: color ramp is programmable
		bit 1: bytes in reserved field may be used by application
---VBE v2.0+ ---
 28h	DWORD	physical address of linear video buffer
 2Ch	DWORD	pointer to start of offscreen memory
 30h	WORD	KB of offscreen memory
---VBE v3.0 ---
 32h	WORD	bytes per scan line in linear modes
 34h	BYTE	number of images (less one) for banked video modes
 35h	BYTE	number of images (less one) for linear video modes
 36h	BYTE	linear modes: size of direct color red mask (in bits)
 37h	BYTE	linear modes: bit position of red mask LSB (e.g. shift count)
 38h	BYTE	linear modes: size of direct color green mask (in bits)
 39h	BYTE	linear modes: bit position of green mask LSB (e.g. shift count)
 3Ah	BYTE	linear modes: size of direct color blue mask (in bits)
 3Bh	BYTE	linear modes: bit position of blue mask LSB (e.g. shift count)
 3Ch	BYTE	linear modes: size of direct color reserved mask (in bits)
 3Dh	BYTE	linear modes: bit position of reserved mask LSB
 3Eh	DWORD	maximum pixel clock for graphics video mode, in Hz
 42h 190 BYTEs	reserved (0)
Note:	while VBE 1.1 and higher will zero out all unused bytes of the buffer,
	  v1.0 did not, so applications that want to be backward compatible
	  should clear the buffer before calling

Bitfields for VESA SuperVGA mode attributes:
Bit(s)	Description	(Table 00080)
 0	mode supported by present hardware configuration
 1	optional information available (must be =1 for VBE v1.2+)
 2	BIOS output supported
 3	set if color, clear if monochrome
 4	set if graphics mode, clear if text mode
---VBE v2.0+ ---
 5	mode is not VGA-compatible
 6	bank-switched mode not supported
 7	linear framebuffer mode supported
 8	double-scan mode available (e.g. 320x200 and 320x240)
---VBE v3.0 ---
 9	interlaced mode available
 10	hardware supports triple buffering
 11	hardware supports stereoscopic display
 12	dual display start address support
 13-15	reserved
---VBE/AF v1.0P---
 9	application must call EnableDirectAccess before calling bank-switching
	  functions
SeeAlso: #00079

Bitfields for VESA SuperVGA window attributes:
Bit(s)	Description	(Table 00081)
 0	exists
 1	readable
 2	writable
 3-7	reserved
SeeAlso: #00079

(Table 00082)
Values for VESA SuperVGA memory model type:
 00h	text
 01h	CGA graphics
 02h	HGC graphics
 03h	16-color (EGA) graphics
 04h	packed pixel graphics
 05h	"sequ 256" (non-chain 4) graphics
 06h	direct color (HiColor, 24-bit color)
 07h	YUV (luminance-chrominance, also called YIQ)
 08h-0Fh reserved for VESA
 10h-FFh OEM memory models
SeeAlso: #00079

Top
104F02 - INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
	AX = 4F02h
	BX = new video mode (see #04082,#00083,#00084)
	ES:DI -> (VBE 3.0+) CRTC information block, bit mode bit 11 set
		  (see #04083)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
Notes:	bit 13 may only be set if the video mode is present in the list of
	  accelerated video modes returned by AX=4F00h
	if the DAC supports both 8 bits per primary color and 6 bits, it will
	  be reset to 6 bits after a mode set; use AX=4F08h to restore 8 bits
SeeAlso: AX=4E03h,AX=4F00h,AX=4F01h,AX=4F03h,AX=4F08h

(Table 00083)
Values for VESA video mode:
 00h-FFh OEM video modes (see #00010 at AH=00h)
 100h	640x400x256
 101h	640x480x256
 102h	800x600x16
 103h	800x600x256
 104h	1024x768x16
 105h	1024x768x256
 106h	1280x1024x16
 107h	1280x1024x256
 108h	80x60 text
 109h	132x25 text
 10Ah	132x43 text
 10Bh	132x50 text
 10Ch	132x60 text
---VBE v1.2+ ---
 10Dh	320x200x32K
 10Eh	320x200x64K
 10Fh	320x200x16M
 110h	640x480x32K
 111h	640x480x64K
 112h	640x480x16M
 113h	800x600x32K
 114h	800x600x64K
 115h	800x600x16M
 116h	1024x768x32K
 117h	1024x768x64K
 118h	1024x768x16M
 119h	1280x1024x32K (1:5:5:5)
 11Ah	1280x1024x64K (5:6:5)
 11Bh	1280x1024x16M
---VBE 2.0+ ---
 120h	1600x1200x256
 121h	1600x1200x32K
 122h	1600x1200x64K
81FFh	special full-memory access mode
Notes:	the special mode 81FFh preserves the contents of the video memory and
	  gives access to all of the memory; VESA recommends that the special
	  mode be a packed-pixel mode.	For VBE 2.0+, it is required that the
	  VBE implement the mode, but not place it in the list of available
	  modes (mode information for this mode can be queried directly,
	  however).
	as of VBE 2.0, VESA will no longer define video mode numbers
SeeAlso: #00010,#00011,#00084,#00191
Index:	video modes;VESA

(Table 00084)
Values for S3 OEM video mode:
 201h	640x480x256
 202h	800x600x16
 203h	800x600x256
 204h	1024x768x16
 205h	1024x768x256
 206h	1280x960x16
 207h	1152x864x256 (Diamond Stealth 64)
 208h	1280x1024x16
 209h	1152x864x32K
 20Ah	1152x864x64K (Diamond Stealth 64)
 20Bh	1152x864x4G
 211h	640x480x64K (Diamond Stealth 24)
 211h	640x400x4G  (Diamond Stealth64 Video / Stealth64 Graphics)
 212h	640x480x16M (Diamond Stealth 24)
 301h	640x480x32K
Note:	these modes are only available on video cards using S3's VESA driver
SeeAlso: #00083,#00191,#00732 at INT 1A/AX=B102h
Index:	video modes;S3

Format of VESA VBE CRTC Information Block:
Offset	Size	Description	(Table 04083)
 00h	WORD	total number of pixels horizontally
 02h	WORD	horizontal sync start (in pixels)
 04h	WORD	horizontal sync end (in pixels)
 06h	WORD	total number of scan lines
 08h	WORD	vertical sync start (in scan lines)
 0Ah	WORD	vertical sync end (in scan lines)
 0Ch	BYTE	flags (see #04084)
 0Dh	DWORD	pixel clock, in Hz
 11h	WORD	refresh rate, in 0.01 Hz units
		this field MUST be set to pixel_clock / (HTotal * VTotal),
		  even though it may not actually be used by the VBE
		  implementation
 13h 40 BYTEs	reserved

Bitfields for VESA VBE CRTC Information Block flags:
Bit(s)	Description	(Table 04084)
 0	enable double scanning
 1	enable interlacing
 2	horizontal sync polarity (0 positive, 1 negative)
 3	vertical sync polarity (0 positive, 1 negative)
SeeAlso: #04083

Top
104F03 - INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
	AX = 4F03h
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		BX = video mode (see #00083,#00084)
		    bit 13: VBE/AF v1.0P accelerated video mode
		    bit 14: linear frame buffer enabled (VBE v2.0+)
		    bit 15: don't clear video memory
	    01h failed
SeeAlso: AH=0Fh,AX=4E04h,AX=4F02h

Top
104F04 - INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
	AX = 4F04h
	DL = subfunction
	    00h get state buffer size
		Return: BX = number of 64-byte blocks needed
	    01h save video states
		ES:BX -> buffer
	    02h restore video states
		ES:BX -> buffer
	CX = states to save/restore (see #00085)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
SeeAlso: AH=1Ch,AX=5F90h,AX=5FA0h

Bitfields for VESA SuperVGA states to save/restore:
Bit(s)	Description	(Table 00085)
 0	video hardware state
 1	video BIOS data state
 2	video DAC state
 3	SuperVGA register state
SeeAlso: #00048,#00186

Top
104F05 - INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
	AX = 4F05h
	BH = subfunction
	    00h select video memory window
		DX = window address in video memory (in granularity units)
	    01h get video memory window
		Return: DX = window address in video memory (in gran. units)
	BL = window number
	    00h window A
	    01h window B
	ES = selector for memory-mapped registers (VBE 2.0+, when called from
	      32-bit protected mode)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
Note:	when using an accelerated video mode under VBE/AF v1.0P, the
	  application must call EnableDirectAccess before switching banks if
	  bit 9 of the video mode attributes flag is set (see #00080)
BUG:	Phoenix S3 Trio64V+ v1.02-02 reportedly returns garbage in DX for
	  subfunction 01h
SeeAlso: AX=4F01h,AX=4F06h,AX=4F07h,AX=7000h/BX=0004h

Top
104F06 - INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET LOGICAL SCAN LINE LENGTH (PIXELS)
INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET LOGICAL SCAN LINE LENGTH (PIXELS)
	AX = 4F06h
	BL = subfunction
	    00h set scan line length
		CX = desired width in pixels
	    01h get scan line length
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
	BX = bytes per scan line
	CX = number of pixels per scan line
	DX = maximum number of scan lines
Notes:	if the desired width is not achievable, the next larger width will be
	  set
	the scan line may be wider than the visible area of the screen
	this function is valid in text modes, provided that pixel values are
	  multiplied by the character cell width/height
SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h/BL=02h,AX=4F06h/BL=03h,AX=4F07h

Top
104F06BL02 - INT 10 - VESA SuperVGA BIOS v2.0+ - SET LOGICAL SCAN LINE LENGTH (BYTES)
INT 10 - VESA SuperVGA BIOS v2.0+ - SET LOGICAL SCAN LINE LENGTH (BYTES)
	AX = 4F06h
	BL = 02h
	CX = desired scanline width in bytes
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
	BX = bytes per scan line
	CX = number of pixels per scan line
	DX = maximum number of scan lines
Notes:	if the desired width is not achievable, the next larger width will be
	  set
	the scan line may be wider than the visible area of the screen
	this function is valid in text modes, provided that pixel values are
	  multiplied by the character cell width/height
SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h,AX=4F06h/BL=03h,AX=4F07h

Top
104F06BL03 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET MAXIMUM SCAN LINE LENGTH
INT 10 - VESA SuperVGA BIOS v2.0+ - GET MAXIMUM SCAN LINE LENGTH
	AX = 4F06h
	BL = 03h
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
	BX = maximum bytes per scan line
	CX = maximum number of pixels per scan line
Notes:	this function is valid in text modes, provided that pixel values are
	  multiplied by the character cell width/height
SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h,AX=4F06h/BL=02h,AX=4F07h

Top
104F07 - INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET DISPLAY START
INT 10 - VESA SuperVGA BIOS v1.1+ - GET/SET DISPLAY START
	AX = 4F07h
	BL = subfunction
	    00h,80h set display start
		CX = leftmost displayed pixel in scan line
		DX = first displayed scan line
	    01h get display start
		Return: BH = 00h
			CX = leftmost displayed pixel in scan line
			DX = first displayed scan line
	BH = 00h (reserved)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
Notes:	this function is valid in text modes, provided that values are
	  multiplied by the character cell width/height
	subfunction 80h waits until vertical retrace before changing the
	  display start address (VBE v2.0+)
SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h

Top
104F07 - INT 10 - VESA SuperVGA BIOS v3.0+ - SCHEDULED DISPLAY START
INT 10 - VESA SuperVGA BIOS v3.0+ - SCHEDULED DISPLAY START
	AX = 4F07h
	BL = subfunction
	    02h,82h (VBE v3.0) schedule display start at next vertical retrace
		ECX = display start address in bytes
	    03h,83h schedule stereoscopic display start
		ECX = left image start address (in bytes)
		EDX = right image start address (in bytes)
	    04h	get scheduled display start status
		Return:	CX = start status
			    (00h no display flip, else display has flipped)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
SeeAlso: AX=4F07h"DISPLAY START",AX=4F07h"STEREOSCOPIC"

Top
104F07 - INT 10 - VESA SuperVGA BIOS v3.0+ - ENABLE/DISABLE STEREOSCOPIC MODE
INT 10 - VESA SuperVGA BIOS v3.0+ - ENABLE/DISABLE STEREOSCOPIC MODE
	AX = 4F07h
	BL = subfunction
	    05h enable stereoscopic mode
	    06h	disable stereoscopic mode
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
Note:	when stereoscopic mode is enabled, the display start address will
	  automatically alternate between the left and right images on every
	  vertical retrace
SeeAlso: AX=4F07h"DISPLAY START",AX=4F07h"SCHEDULED"

Top
104F08 - INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
	AX = 4F08h
	BL = subfunction
	    00h set DAC palette width
		BH = desired number of bits per primary color
	    01h get DAC palette width
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		BH = current number of bits per primary (06h = standard VGA)
	    01h failed

Top
104F09 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
	AX = 4F09h
	BL = subfunction
	    00h set (primary) palette
	    01h get (primary) palette
	    02h set secondary palette data
	    03h get secondary palette data
	    80h set palette during vertical retrace
	CX = number of entries to change
	DX = starting palette index
	ES:DI -> palette buffer, array of DAC entries (see #00086)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
	    01h failed
SeeAlso: AX=4F0Ah,AX=D000h"S3VBE"

Format of VESA VBE palette entry:
Offset	Size	Description	(Table 00086)
 00h	BYTE	red
 01h	BYTE	green
 02h	BYTE	blue
 03h	BYTE	alpha or alignment byte

Top
104F0ABL00 - INT 10 - VESA SuperVGA BIOS v2.0+ - GET PROTECTED-MODE INTERFACE
INT 10 - VESA SuperVGA BIOS v2.0+ - GET PROTECTED-MODE INTERFACE
	AX = 4F0Ah
	BL = 00h
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		ES:DI -> protected-mode table (see #00087)
		CX = length of table in bytes, included protected-mode code
	    01h failed
SeeAlso: AX=4F00h,AX=4F05h,AX=4F07h,AX=4F09h

Format of VESA VBE 2.0 protected-mode table:
Offset	Size	Description	(Table 00087)
 00h	WORD	offset (within table) of protected-mode code for Function 5
		  (Set Window)
 02h	WORD	offset of protected-mode code for Function 7 (Set Disp Start)
 04h	WORD	offset of protected-mode code for Function 9 (Set Primary
		  Palette)
 06h	WORD	offset (within table) of list of I/O ports and memory locations
		  for which I/O privilege may be required in protected mode
		  (0000h if no list) (see #04085)
 08h	var	code and optional port/memory list

Format of VESA VBE 2.0+ protected-mode port/memory list:
Offset	Size	Description	(Table 04085)
 00h	WORD	I/O port number
	...
	WORD	FFFFh marking end of I/O port list
	DWORD	memory region base address
	WORD	memory region limit (one less than length)
	WORD	FFFFh marking end of memory region list
Note:	the memory region is optional; if not present, there will be a word
	  of FFFFh immediately following the FFFFh marking the end of the I/O
	  port list
SeeAlso: #00087

Top
104F0A - INT 10 O - VESA SuperVGA BIOS v2.0 beta - GET PROTECTED-MODE CODE
INT 10 O - VESA SuperVGA BIOS v2.0 beta - GET PROTECTED-MODE CODE
	AX = 4F0Ah
	BX = function to be copied (see #00088)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		CX = number of bytes to copy
		ES:DI -> code for requested function
	    01h failed
SeeAlso: AX=4F09h,AX=D000h"S3VBE"

(Table 00088)
Values for VESA VBE protected-mode function identifiers:
 0001h	set bank (see AX=4F05h)
 0002h	set display start (see AX=4F07h)
 0003h	set palette (see AX=4F09h)

Top
104F0BBL00 - INT 10 - VESA SuperVGA BIOS v3.0 - GET NEAREST PIXEL CLOCK
INT 10 - VESA SuperVGA BIOS v3.0 - GET NEAREST PIXEL CLOCK
	AX = 4F0Bh
	BL = 00h get closest pixel clock
	ECX = requested clock frequency in Hz
	DX = video mode number
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		ECX = nearest clock rate
	    01h failed

Top
104F0B - INT 10 - VESA SuperVGA BIOS - GET VBE/AF v1.0P DEVICE CONTEXT BUFFER
INT 10 - VESA SuperVGA BIOS - GET VBE/AF v1.0P DEVICE CONTEXT BUFFER
	AX = 4F0Bh
	BL = subfunction
	    00h get length of device context buffer
	    01h initialize device context buffer
		ES:DI -> real-mode address of buffer (see #00089)
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		CX = number of bytes required for buffer (if BL=00h on entry)
		ES:DI buffer initialized (if BL=01h on entry)
	    01h failed
Note:	this interface description is derived from the draft VBE/AF proposal
	  (version 1.0P, document revsion 0.12P, dated 13jan95)
SeeAlso: AX=4F00h,AX=4F01h,AX=4F17h

Format of VBE/AF v1.0P Device Context buffer:
Offset	Size	Description	(Table 00089)
 00h	WORD	maximum X coordinate in frame buffer (0 = left edge)
		Note:	application must never pass X coordinate greater than
			  this value to the SetClipRect function (values are
			  NOT range-checked!)
 02h	WORD	maximum Y coordinate in frame buffer (0 = top edge)
		Note:	application must never pass Y coordinate greater than
			  this value to the SetClipRect function
 04h	DWORD	-> "SetForeColor" to set foreground color/mix (see #00091)
 08h	DWORD	-> "SetBackColor" to set background color/mix (see #00092)
 0Ch	DWORD	-> "SetClipRect" set hardware clipping rectangle (see #00093)
 10h	DWORD	-> function "DrawScan" to draw a single scan line
 14h	DWORD	-> function "DrawScanList" to draw a list of scan lines
 18h	DWORD	-> function "DrawRect" to draw a solid rectangle
 1Ch	DWORD	-> function "DrawLine" to draw a solid line
 20h	DWORD	-> function "DrawPattScan" to draw a patterned scan line
 24h	DWORD	-> function "BitBlt" to perform screen-to-screen BitBLT
 28h	DWORD	-> "TransBitBlt" to perform transparent screen-to-screen BitBLT
 2Ch	DWORD	-> "MonoBitBlt" to monochrome expansion screen-to-screen BitBLT
 30h	DWORD	-> function "SetCursor" to download hardware cursor image
 34h	DWORD	-> function "SetCursorPos" to set hardware cursor position
 38h	DWORD	-> function "SetCursorColor" to set hardware cursor color
 3Ch	DWORD	-> function "ShowCursor" to show/hide hardware cursor
 40h	DWORD	-> function "WaitTillIdle" to wait until graphics engine idle
 44h	DWORD	-> "EnableDirectAccess" to enable direct framebuffer access
 48h	DWORD	-> "DisableDirectAccess" to disable direct framebuffer access
 4Ch	DWORD	-> "BankSwitchCB" bank-switching callback function
		(set by application, may simply point at 32-bit VBE 2.0 bank
		  switching entry point)
 50h	WORD	"VidMemSel" selector for video memory (must be set by app)
 52h	WORD	"IOPortsOff" offset of I/O ports table in context buffer
 54h	WORD	"IOMemoryOff" offset of I/O memory table in context buffer
 56h	WORD	"IOMemSel1" selector for first I/O memory area specified by
		  I/O memory table (must be set by application)
 58h	WORD	"IOMemSel2" selector for second I/O memory area
 5Ah	WORD	"IOMemSel3" selector for third I/O memory area
 5Ch	WORD	"IOMemSel4" selector for fourth I/O memory area
 5Eh  N BYTEs	device-specific state buffer
      N WORDs	I/O port access table (list of ports, last entry is FFFFh)
      N DWORDs	I/O memory access table (list of physical-address/length pairs,
		  last entry is FFFFFFFFh)
      N BYTEs	32-bit code for VBE/AF v1.0P function
Notes:	all function pointers are offsets into the 32-bit code within the
	  context buffer, and should be updated to point at the actual
	  functions after the application has copied the buffer from the
	  real-mode memory used for the interrupt call into its own flat-model
	  memory space
	any functions which are not supported by the hardware have function
	  pointers which are set to 00000000h initially

(Table 00090)
Values for VBE/AF v1.0P color mixing mode:
 00h	replace
 01h	XOR with existing pixel
 02h	OR with existing pixel
 03h	AND with existing pixel
SeeAlso: #00091,#00090

(Table 00091)
Call VBE/AF v1.0P function "SetForeColor" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = new foreground color (format varies by video mode)
	BL = new foreground mixing mode (see #00090)
SeeAlso: #00089,#00092,#00107

(Table 00092)
Call VBE/AF v1.0P function "SetbackColor" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = new background color (format varies by video mode)
	BL = new background mixing mode (see #00090)
SeeAlso: #00089,#00091,#00093

(Table 00093)
Call VBE/AF v1.0P function "SetClipRect" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = left clipping coordinate
	EBX = top clipping coordinate
	ECX = right clipping coordinate
	EDX = bottom clipping coordinate
SeeAlso: #00089,#00092,#00094,#00107

(Table 00094)
Call VBE/AF v1.0P function "DrawScan" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = X1 coordinate
	EBX = Y coordinate
	ECX = X2 coordinate
Desc:	draw a solid horizontal line from (X1,Y) to (X2,Y) in the currently-
	  active foreground color and mix, omitting the pixel at the largest
	  X coordinate
SeeAlso: #00089,#00093,#00095,#00098,#00107

(Table 00095)
Call VBE/AF v1.0P function "DrawScanList" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = Y coordinate of first line
	EBX = length of scan list
	DS:ESI -> scanline list X coordinates (2N WORDs)
Desc:	draw multiple solid horizontal lines at successive Y coordinates,
	  using the currently-active foreground color and mix, omitting the
	  pixel at the largest X coordinate for each line
Note:	the scanline list consists of pairs of X coordinates; because the
	  last pixel is omitted, a scanline will be skipped if X1==X2
SeeAlso: #00089,#00094,#00096,#00107

(Table 00096)
Call VBE/AF v1.0P function "DrawRect" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = left coordinate
	EBX = top coordinate
	ECX = right coordinate
	EDX = bottom coordinate
Desc:	draw a solid rectangle in the currently-active foreground color and
	  mix, omitting the rightmost X coordinate and bottom-most scan line
Note:	results are undefined if EAX>ECX or EBX>EDX; nothing will be drawn if
	  EAX=ECX or EBX=EDX
SeeAlso: #00089,#00094,#00095,#00097

(Table 00097)
Call VBE/AF v1.0P function "DrawLine" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = ??? (specified this way in the draft documentation!)
	EBX = ???
	ECX = ???
	EDX = ???
	ESI = ???
Desc:	draw a solid line in the currently-active foreground color and mix,
	  given the Bresenham parameters
SeeAlso: #00089,#00094,#00096,#00098

(Table 00098)
Call VBE/AF v1.0P function "DrawPattScan" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = X1 coordinate
	EBX = Y coordinate
	ECX = X2 coordinate
	DL = 8-bit stipple pattern
Desc:	draw a patterned horizontal line from (X1,Y) to (X2,Y) in the
	  currently-active foreground color and mix, omitting the pixel at
	  the largest X coordinate
Note:	for each pixel in the line, if DL bit (X mod 8) is set, the pixel is
	  drawn, and left untouched if the bit is clear
SeeAlso: #00089,#00096,#00097,#00094,#00099,#00107

(Table 00099)
Call VBE/AF v1.0P function "BitBlt" with:
	ES:EDI -> device context buffer (see #00089)
	DS:ESI -> BitBlt parameter block (see #00100)
	BL = mix operation
	    00h replace
	    01h XOR
	    02h OR
	    03h AND
SeeAlso: #00089,#00094,#00098,#00101,#00107

Format of VBE/AF BitBlt parameter block:
Offset	Size	Description	(Table 00100)
 00h	WORD	left coordinate of source rectangle
 02h	WORD	top coordinate of source rectangle
 04h	WORD	right coordinate of source rectangle
 06h	WORD	bottom coordinate of source rectangle
 08h	WORD	left coordinate of destination rectangle
 0Ah	WORD	top coordinate of destination rectangle
 0Ch	BYTE	horizontal direction: 00h = decrement X, 01h = increment X
 0Dh	BYTE	vertical direction: 00h = decrement Y, 01h = increment Y
Notes:	the rightmost pixel(s) and bottom-most scan line are not copied
	the horizontal/vertical direction flags are used to ensure correct
	  copies when the source and destination rectangles overlap
SeeAlso: #00099

(Table 00101)
Call VBE/AF v1.0P function "TransBitBlt" with:
	ES:EDI -> device context buffer (see #00089)
	DS:ESI -> BitBlt parameter block (see #00100)
	BL = mix operation
	    00h replace
	    01h XOR
	    02h OR
	    03h AND
	ECX = transparent color
Desc:	copy a rectangular area from one location to another, treating pixels
	  with the specified color as transparent (leaving the destination
	  unchanged)
SeeAlso: #00089,#00099,#00102,#00107

(Table 00102)
Call VBE/AF v1.0P function "MonoBitBlt" with:
	ES:EDI -> device context buffer (see #00089)
	DS:ESI -> BitBlt parameter block (see #00100)
	BL = mix operation
	    00h replace
	    01h XOR
	    02h OR
	    03h AND
	BH = bit-plane from which to read
Desc:	copy a rectangular area from one location to another, expanding a
	  single bit of each source pixel
SeeAlso: #00089,#00099,#00101

(Table 00103)
Call VBE/AF v1.0P function "SetCursor" with:
	ES:EDI -> device context buffer (see #00089)
	DS -> application's data segment
	ESI -> 32x32 cursor data, in Windows 3.1 cursor-file format
		(32 DWORDs of XOR mask followed by 32 DWORDs of AND mask)
SeeAlso: #00089,#00094,#00104,#00105

(Table 00104)
Call VBE/AF v1.0P function "SetCursorPos" with:
	ES:EDI -> device context buffer (see #00089)
	EAX = cursor X coordinate
	EBX = cursor Y coordinate
	CL = cursor's X hotspot
	CH = cursor's Y hotspot
SeeAlso: #00089,#00103,#00105

(Table 00105)
Call VBE/AF v1.0P function "SetCursorColor" with:
	ES:EDI -> device context buffer (see #00089)
	AL = 8-bit color index, or color's Red value
	AH = color's Green value (16-bpp, 24-bpp, 32-bpp modes)
	BL = color's Blue value (16-bpp, 24-bpp, 32-bpp modes)
SeeAlso: #00089,#00103,#00104,#00106

(Table 00106)
Call VBE/AF v1.0P function "ShowCursor" with:
	ES:EDI -> device context buffer (see #00089)
	AL = new visibility (00h hide cursor, 01h show cursor)
SeeAlso: #00089,#00103,#00104,#00105

(Table 00107)
Call VBE/AF v1.0P function "WaitTillIdle" with:
	ES:EDI -> device context buffer (see #00089)
Desc:	pause until the hardware accelerator has completed all pending
	  operations
SeeAlso: #00089,#00108,#00109

(Table 00108)
Call VBE/AF v1.0P function "EnableDirectAccess" with:
	ES:EDI -> device context buffer (see #00089)
SeeAlso: #00089,#00109,#00107,AX=4F05h,#00078,#00080

(Table 00109)
Call VBE/AF v1.0P function "DisableDirectAccess" with:
	ES:EDI -> device context buffer (see #00089)
SeeAlso: #00089,#00108

Top
104F0C - INT 10 - VESA SuperVGA BIOS - RESERVED FOR FUTURE SVGA FUNCTIONS
INT 10 - VESA SuperVGA BIOS - RESERVED FOR FUTURE SVGA FUNCTIONS
	AX = 4F0Ch-4F0Fh
SeeAlso: AX=4F00h

Top
104F0B - INT 10 - Diamond Viper V330 - ???
INT 10 - Diamond Viper V330 - ???
	AX = 4F0Bh
	ECX = ???
	???
Return: AL = 4Fh if function supported
	AH = status
	    00h successful
		ECX = ???
		???
	    01h failed
Note:	in BIOS v1.62, ECX is in multiples of 10000 (decimal) for both input
	  and output, and this function never fails

Top
104F10BL00 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET CAPABILITIES
INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET CAPABILITIES
	AX = 4F10h
	BL = 00h
	ES:DI = 0000h:0000h (reserved for future use as pointer to info block)
Return: AL = 4Fh if function supported (installed)
	AH = call status
	    00h successful
	    else failed
	---if successful---
	BL = VBE/PM version (bits 7-4: major, bits 3-0: minor)
	BH = supported states (see #00110)
	ES:DI unchanged
Index:	installation check;VESA VBE/Power Management|VESA DPMS
SeeAlso: AX=4F10h/BL=01h,AX=4F10h/BL=02h

Bitfields for VESA VBE/PM supported power states:
Bit(s)	Description	(Table 00110)
 0	standby
 1	suspend
 2	off
 3	reduced on

Top
104F10BL01 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - SET DISPLAY POWER STATE
INT 10 - VESA VBE/PM (Power Management) v1.0+ - SET DISPLAY POWER STATE
	AX = 4F10h
	BL = 01h
	BH = new state (see #00111)
Return: AL = 4Fh if function supported
	AH = call status
	    00h successful
	    else failed
SeeAlso: AX=4F10h/BL=00h,AX=4F10h/BL=02h,AX=A00Ch

(Table 00111)
Values for VESA VBE/PM power state:
 00h	On
 01h	standby
 02h	suspend
 04h	Off
 08h	reduced On (for flat screens)

Top
104F10BL02 - INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET DISPLAY POWER STATE
INT 10 - VESA VBE/PM (Power Management) v1.0+ - GET DISPLAY POWER STATE
	AX = 4F10h
	BL = 02h
Return: AL = 4Fh if function supported
	AH = call status
	    00h successful
	       BH = current power state (see #00111)
	    else failed
SeeAlso: AX=4F10h/BL=00h,AX=4F10h/BL=01h,AX=A00Dh

Top
104F11 - INT 10 - VESA VBE/FP (Flat Panel Interface) - API
INT 10 - VESA VBE/FP (Flat Panel Interface) - API
	AX = 4F11h
	BL = function
	    00h installation check / get capabilities
	other registers vary by function
Return: varies by function

Top
104F12 - INT 10 - VESA VBE/CI (Cursor Interface) - API
INT 10 - VESA VBE/CI (Cursor Interface) - API
	AX = 4F12h
	BL = function
	other registers vary by function
Return: varies by function
SeeAlso: AX=4F4Dh

Top
104F13BX0000 - INT 10 - VESA VBE/AI (Audio Interface) - INSTALLATION CHECK
INT 10 - VESA VBE/AI (Audio Interface) - INSTALLATION CHECK
	AX = 4F13h
	BX = 0000h
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		    BX = version (0010h for 1.00 -- note nonstandard value!)
		01h failed
SeeAlso: AX=4F13h/BX=0001h,AX=4F13h/BX=0005h

Top
104F13BX0001 - INT 10 - VESA VBE/AI (Audio Interface) - LOCATE DEVICE
INT 10 - VESA VBE/AI (Audio Interface) - LOCATE DEVICE
	AX = 4F13h
	BX = 0001h
	CX = 0000h ???
	DX = type of device
	    0001h Wave device
	    0002h MIDI device
	    0003h Volume device
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		    CX = handle [returned 1 for DX=1 and 3, and 2 for DX=2]
		01h failed
SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0002h

Top
104F13BX0002 - INT 10 - VESA VBE/AI (Audio Interface) - QUERY DEVICE
INT 10 - VESA VBE/AI (Audio Interface) - QUERY DEVICE
	AX = 4F13h
	BX = 0002h
	CX = handle
	DX = query
	    0001h return length of GeneralDeviceClass
	    0002h return copy	of GeneralDeviceClass (see #00112)
	    0003h return length of Volume Info Structure
	    0004h return copy	of Volume Info Structure (see #00122)
	    0005h return length of Volume Services Structure
	    0006h return copy	of Volume Services Structure (see #00124)
	    0007h-000Fh reserved
	    0010h-FFFFh device-specific
	SI:DI -> buffer (functions 0002h,0004h,0006h)
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		    SI:DI = length (functions 1,3,5)
		    SI:DI buffer filled (functions 2,4,6)
		01h failed
Note:	functions 0003h to 0006h are only supported for the Volume device

Format of GeneralDeviceClass structure:
Offset	Size	Description	(Table 00112)
 00h	4 BYTEs	name of the structure ("GENI")
 04h	DWORD	structure length
 08h	WORD	type of device (1=Wave, 2=MIDI)
 0Ah	WORD	version of VESA driver support (0100h for 1.00)
 10h	var	for CX=handle for Wave device:
		    Wave Info structure (see #00113)
		    some bytes ???
		for CX=handle for MIDI device:
		    MIDI Info Structure (see #00118)
		    first 8 bytes of MIDI Service Structure ???
SeeAlso: #00122,#00124

Format of WAVE Info Structure:
Offset	Size	Description	(Table 00113)
 00h	4 BYTEs	name of the structure ("WAVI")
 04h	DWORD	structure length [0000007Eh]
 08h	DWORD	driver software version [00000003h]
 0Ch 32 BYTEs	vendor name, etc. (ASCIZ string)
 2Ch 32 BYTEs	vendor product name
 4Ch 32 BYTEs	vendor chip/hardware description
 6Ch	BYTE	installed board number
 6Dh	3 BYTEs	unused data
 70h	DWORD	feature bits (see #00114)
 74h	WORD	user determined preference field
 76h	WORD	memory required for driver use [0200h]
 78h	WORD	number of timer tick callbacks per second [0000h]
 7Ah	WORD	channels: 1 = mono, 2 = stereo
		stereo is assumed to be interleaved data
 7Ch	WORD	bitfield of max sample sizes (see #00115)
SeeAlso: #00118

Bitfields for Wave feature bits:
Bit(s)	Description	(Table 00114)
 0	8000hz Mono Playback
 1	8000hz Mono Record
 2	8000hz Stereo Record
 3	8000hz Stereo Playback
 4	8000hz Full Duplex Play/Record
 5	11025hz Mono Playback
 6	11025hz Mono Record
 7	11025hz Stereo Record
 8	11025hz Stereo Playback
 9	11025hz Full Duplex Play/Record
 10	22050hz Mono Playback
 11	22050hz Mono Record
 12	22050hz Stereo Record
 13	22050hz Stereo Playback
 14	22050hz Full Duplex Play/Record
 15	44100hz Mono Playback
 16	44100hz Mono Record
 17	44100hz Stereo Record
 18	44100hz Stereo Playback
 19	44100hz Full Duplex Play/Record
 20-26	reserved (0)
 27	driver must pre-handle the data
 28	Variable Sample mono   playback
 29	Variable Sample stereo playback
 30	Variable Sample mono   record
 31	Variable Sample stereo record

(Table 00115)
Values for Sample data size:
 01h	8bit play
 02h	16bit play
 10h	8bit record
 20h	16bit record

Format of WAVE Audio Services structure:
Offset	Size	Description	(Table 00116)
 00h	4 BYTEs	name of the structure
 04h	DWORD	structure length
 08h 16 BYTEs	for future expansion
---entry points (details???)---
 18h	DWORD	DeviceCheck
		11h compression (see also #00117)
		12h driver state
		13h get current pos
		14h sample rate
		15h set preference
		16h get DMA,IRQ
		17h get IO address
		18h get mem address
		19h get mem free
		1Ah full duplex
		1Bh get block size
		1Ch get PCM format
		1Dh enable PCM format
		80h-.. vendors can add DevChks above 0x80
 1Ch	DWORD	PCMInfo
 20h	DWORD	PlayBlock
 24h	DWORD	PlayCont
 28h	DWORD	RecordBlock
 2Ch	DWORD	RecordCont
 30h	DWORD	PauseIO
 34h	DWORD	ResumeIO
 38h	DWORD	StopIO
 3Ch	DWORD	WavePrepare
 40h	DWORD	WaveRegister
 44h	DWORD	GetLastError
		01h unsupported feature/function
		02h bad sample rate
		03h bad block length
		04h bad block address
		05h app. missed an IRQ
		06h don't understand the PCM size/format
		80h-.. vendors specific errors
 48h	DWORD	TimerTick
 4Ch	DWORD	ApplPSyncCB: CallBack: play filled in by the app
 50h	DWORD	ApplRSyncCB: CallBack: rec filled in by the app
SeeAlso: #00120,#00124

(Table 00117)
Values for type of compression:
 01h	IMA play
 02h	ALAW play
 03h	ULAW play
 11h	IMA record
 12h	ALAW record
 13h	ULAW record

Format of MIDI Info Structure:
Offset	Size	Description	(Table 00118)
 00h	4 BYTEs	name of the structure ("MIDI")
 04h	DWORD	structure length
 08h	DWORD	driver software version [00000003h]
 0Ch 32 BYTEs	vendor name, etc. (ASCIZ string)
 2Ch 32 BYTEs	vendor product name
 4Ch 32 BYTEs	vendor chip/hardware description
 6Ch	BYTE	installed board number
 6Dh	3 BYTEs	unused data
 70h 14 BYTEs	the patch library file name [OPL2.BNK 00..]
 7Eh	DWORD	feature bits (see #00119)
 80h	WORD	user determined preference field
 82h	WORD	memory required for driver use
 84h	WORD	# of timer tick callbacks per second
 86h	WORD	max # of tones (voices, partials)
SeeAlso: #00112,#00120,#00122

Bitfields for MIDI feature bits:
Bit(s)	Description	(Table 00119)
 0-3	reserved for GM extensions
 4	Transmitter/Receiver only
 5	Patches preloaded
 6	MIDI receive has time stamp
 8	MIDI interrupt driven input supported
 9	MIDI polled input supported
 10	MIDI remote patches supported

Format of MIDI Service structure:
Offset	Size	Description	(Table 00120)
 00h	4 BYTEs	name of the structure ("MIDS")
 04h	DWORD	structure length
 08h 16 WORDs	patches loaded table bit field
 28h 16 BYTEs	for future expansion
---entry points (details???)---
 38h	DWORD	device check
		11h return available tones
		12h return TRUE/FALSE if patch is understood
		13h set preference
		14h allow/disallow voice stealing
		15h get FIFO sizes
		16h get DMA,IRQ
		17h get IO address
		18h get mem address
		19h get mem free
		80h-.. vendors can add DevChks above 0x80
 3Ch	DWORD	global reset
 40h	DWORD	MIDI msg
 44h	DWORD	poll MIDI
 48h	DWORD	preload patch
 4Ch	DWORD	unload patch
 50h	DWORD	timer tick
 54h	DWORD	get last error
		01h unsupported feature/function
		02h unknown patch type (see #00121)
		03h all tones are used
		04h messages are out of sync
		05h an incoming patch was incomplete
		06h an incoming patch couldn't be stored
		07h had to drop an incoming byte
		08h driver is failing a patch download
		80h-.. vendors specific errors
 58h	DWORD	Patch Block free callback
 5Ch	DWORD	MIDI byte avail. callback
SeeAlso: #00116,#00124

(Table 00121)
Values for MIDI Registered Patch Types:
 10h	OPL2
 11h	OPL3

Format of Volume Info Structure:
Offset	Size	Description	(Table 00122)
 00h  4	BYTEs	name of the structure ("VOLI")
 04h	DWORD	structure length (00000092h)
 08h	DWORD	driver software version [00000001h]
 0Ch 32 BYTEs	vendor name, etc. (ASCIZ string)
 2Ch 32 BYTEs	vendor product name
 4Ch 32 BYTEs	vendor chip/hardware description
 6Ch	BYTE	installed board number (0 for 1st/only board)
 6Dh  3	BYTEs	unused data (0)
 70h 24 BYTEs	text name of the mixer channel
 88h	DWORD	features bits (see #00123)
 8Ch	WORD	minimum volume setting
 8Eh	WORD	maximum volume setting
 90h	WORD	attenuation/gain crossover
SeeAlso: #00112,#00124

Bitfields for Volume feature bits:
Bit(s)	Description	(Table 00123)
 0	Stereo Volume control available
 2	Low Pass Filter is available
 3	High Pass Filter is available
 4	Parametric Tone Control is available
 5	selectable output paths
 8	Azimuth Field positioning supported
 9	Phi Field positioning supported
 10-30	unused???
 31	Master Volume device

Format of Volume Services Structure:
Offset	Size	Description	(Table 00124)
 00h	4 BYTEs	name of the structure ("VOLS")
 04h	DWORD	structure length (00000038h)
 08h 16 BYTEs	16 bytes for future expansion (0)
---entry points (details???)---
 18h	DWORD	device check
		0011h filter range
		0012h filter setting
		0013h filter current
		0014h tone range
		0015h tone setting
		0016h tone current
		0017h path
		0018h get IO address
		0080h-.. vendors can add DevChks above 0x80
 1Ch	DWORD	set vol to an absolute setting
		01h User master volume setting
		02h application master volume setting
 20h	DWORD	set 3D volume
 24h	DWORD	tone control
 28h	DWORD	filter control
 2Ch	DWORD	output path
 30h	DWORD	reset channel
 34h	DWORD	get last error
		01h unsupported feature/function
		02h out of range parameter value
		80h+ vendor-specific errors
SeeAlso: #00116,#00120

Top
104F13BX0003 - INT 10 - VESA VBE/AI (Audio Interface) - OPEN DEVICE
INT 10 - VESA VBE/AI (Audio Interface) - OPEN DEVICE
	AX = 4F13h
	BX = 0003h
	CX = handle
	DX = API set (16/32-bit)
	SI = segment ???
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		    SI:CX -> memory ???
		01h failed
SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0002h,AX=4F13h/BX=0004h

Top
104F13BX0004 - INT 10 - VESA VBE/AI (Audio Interface) - CLOSE DEVICE
INT 10 - VESA VBE/AI (Audio Interface) - CLOSE DEVICE
	AX = 4F13h
	BX = 0004h
	CX = handle
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0003h,AX=4F13h/BX=0005h

Top
104F13BX0005 - INT 10 - VESA VBE/AI (Audio Interface) - UNINSTALL DRIVER
INT 10 - VESA VBE/AI (Audio Interface) - UNINSTALL DRIVER
	AX = 4F13h
	BX = 0005h
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0006h

Top
104F13BX0006 - INT 10 - VESA VBE/AI (Audio Interface) - DRIVER CHAIN/UNCHAIN
INT 10 - VESA VBE/AI (Audio Interface) - DRIVER CHAIN/UNCHAIN
	AX = 4F13h
	BX = 0006h
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AX=4F13h/BX=0000h,AX=4F13h/BX=0005h

Top
104F14 - INT 10 - VESA OEM Extensions - API
INT 10 - VESA OEM Extensions - API
	AX = 4F14h
	BL = function
	    00h installation check / get capabilities
	other registers vary by function
Return: varies by function
Note:	this function is provided for OEMs to implement system-specific
	  functionality in a VESA-compatible manner

Top
104F14 - INT 10 - VESA OEM Extensions - Matrox Millenium (BIOS v2.1)
INT 10 - VESA OEM Extensions - Matrox Millenium (BIOS v2.1)
	AX = 4F14h
	BL = function
	    00h installation check / get capabilities
		ES:DI -> 256-byte buffer for Matrox-specific information
			(see #00125)
		Return: ES:DI buffer filled
	    01h read/write MGA indexed data register
		BH = direction (00h = write, else read)
		CL = register number (80h for most-recently used register)
		CH = new value, if writing
		Return: CH = current value, if reading
	    02h read/write register in MGA control space
		BH = direction and size
			bit 4: read register instead of writing
			bits 1-0: data size (00 = BYTE, 01 = WORD, 10 = DWORD)
		SI = register address
		CL/CX/ECX = new value if writing
		Return: CL/CX/ECX = current value if reading
	    03h read PINS byte
		SI = offset of byte within PINS data (see #00126)
		Return: CL = value of specified PINS byte
	    04h ??? (related to PLL programming)
		DX = ???
		Return: CL,EDX destroyed
	    05h read BIOS byte
		SI = offset of byte relative to start of BIOS image
		Return: CL = specified byte
	    else
		Return: AX = FFFFh
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		01h failed
Note:	most of this info is from http:\\grafi.ii.pw.edu.pl\gbm\matrox
SeeAlso: MEM C000h:7FFCh"Matrox"

Format of Matrox-specific VESA extensions information:
Offset	Size	Description	(Table 00125)
 00h  7 BYTEs	signature "VBE/MGA"
 07h 10 BYTEs	??? (01h 01h 00h 00h 00h 00h 00h 00h 00h 07h)
 11h	WORD	BIOS version (high byte = major, low byte = one-digit minor)
 13h	DWORD	-> manufacturer name (ASCIZ "Matrox")
 17h	DWORD	-> ASCIZ card name
 1Bh	DWORD	-> ??? ASCIZ string (empty string on card examined)
 1Fh	DWORD	-> ASCIZ vendor name
 23h	DWORD	-> ASCIZ BIOS file base name
 27h	DWORD	-> PINS
 2Bh	WORD	video memory size in 64K units
 2Dh	DWORD	linear address of linear frame buffer
 31h	DWORD	linear address of MGA control aperture
 35h	WORD	PCI bus/device for card???
 37h 201 BYTEs	unused??? (cleared to 00h)

Format of Matrox PINS data (version 3.0):
Offset	Size	Description	(Table 00126)
 00h  2 BYTEs	signature ".A" (2Eh 41h)
 02h	BYTE	structure length (40h for v3.0)
 03h	BYTE	???
 04h	WORD	PINS version (high byte = major, low byte = minor)
 06h	WORD	date last programmed
 08h	WORD	number of times programmed
 0Ah	WORD	flags
 0Ch  8 BYTEs	ASCII serial number, three letters + five digits
 14h  8 BYTEs	???
 1Ch  4 BYTEs	ASCII card version
 20h	DWORD	PCB revision
 24h	BYTE	maximum RAMDAC frequency in MHz (less 100)
 25h	BYTE	maximum RAMDAC frequency???
 26h	BYTE	maximum RAMDAc frequency???
 27h	BYTE	???
 28h	BYTE	??? timing data?
 29h	BYTE	???
 2Ah	BYTE	???
 2Bh	BYTE	???
 2Ch	BYTE	???
 2Dh	BYTE	???
 2Eh	BYTE	???
 2Fh	BYTE	???
 30h  4 BYTEs	???
 34h	BYTE	???
 35h	BYTE	???
 36h	BYTE	???
 37h	BYTE	memory size in 64K units
 38h	BYTE	???
 39h	BYTE	???
 3Ah	BYTE	???
 3Bh	BYTE	???
 3Ch	BYTE	???
 3Dh	BYTE	???
 3Eh	BYTE	???
 3Fh	BYTE	checksum (to make sum of all bytes MOD 256 == 00h)

Top
104F15BL00 - INT 10 - VESA VBE/DC (Display Data Channel) - INSTALLATION CHECK / CAPABILITIES
INT 10 - VESA VBE/DC (Display Data Channel) - INSTALLATION CHECK / CAPABILITIES
	AX = 4F15h
	BL = 00h
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		    BX = ???
		01h failed
		    ???
SeeAlso: AX=4F15h/BL=01h,AX=4F15h/BL=02h

Top
104F15BL01 - INT 10 - VESA VBE/DC (Display Data Channel) - READ EDID
INT 10 - VESA VBE/DC (Display Data Channel) - READ EDID
	AX = 4F15h
	BL = 01h
	CX = 0000h
	DX = 0000h
	ES:DI -> 128-byte buffer for EDID record (see #00127)
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		    ES:DI buffer filled
		01h failed (e.g. non-DDC monitor)
SeeAlso: AX=4F15h/BL=00h,AX=4F15h/BL=02h,I2C A0h"DDC"

Format of VESA EDID record:
Offset	Size	Description	(Table 00127)
 00h  8 BYTEs	padding (all FFh, or 00h FFh..FFh 00h)
 08h	WORD	big-endian manufacturer ID (see #00136)
		bits 14-10: first letter (01h='A', 02h='B', etc.)
		bits 9-5: second letter
		bits 4-0: third letter
 0Ah	WORD	EDID ID code -- identifies monitor model
 0Ch	DWORD	serial number or FFFFFFFFh
		for "MAG", subtract 7000000 to get actual serial number
		for "OQI", subtract 456150000
		for "PHL", subtract ???
		for "VSC", subtract 640000000
 10h	BYTE	week number of manufacture
 11h	BYTE	manufacture year - 1990
 12h	BYTE	EDID version
 13h	BYTE	EDID revision
 14h	BYTE	video input type (see #00129)
 15h	BYTE	maximum horizontal size in cm
 16h	BYTE	maximum vertical size in cm
 17h	BYTE	gamma factor (gamma = 1.0 + factor/100, so max = 3.55)
 18h	BYTE	DPMS flags (see #00128)
 19h	BYTE	chroma information: green X'/Y' and red X'/Y'
 1Ah	BYTE	chroma information: white X'/Y' and blue X'/Y'
 1Bh	BYTE	chroma information: red Y
 1Ch	BYTE	chroma information: red X
 1Dh	BYTE	chroma information: green Y
 1Eh	BYTE	chroma information: green X
 1Fh	BYTE	chroma information: blue Y
 20h	BYTE	chroma information: blue X
 21h	BYTE	chroma information: white Y
 22h	BYTE	chroma information: white X
 23h	BYTE	established timings 1 (see #00130)
 24h	BYTE	established timings 2 (see #00131)
 25h	BYTE	manufacturer's reserved timing or 00h for none
		bit 7: 1152x870 @ 75 Hz (Mac II, Apple)
 26h  8 WORDs	standard timing identification
		resolution (low byte) and vertical frequency (high byte) for
		  each of eight modes (see #00132)
		X resolution = (lowbyte + 31) * 8
 36h 18 BYTEs	detailed timing description #1 (see #00133)
		(v1.1) alternately, text identification (see #00135)
 48h 18 BYTEs	detailed timing description #2
		(v1.1) alternately, text identification (see #00135)
 5Ah 18 BYTEs	detailed timing description #3
		(v1.1) alternately, text identification (see #00135)
 6Ch 18 BYTEs	detailed timing description #4
		(v1.1) alternately, text identification (see #00135)
 7Eh	BYTE	unused???
 7Fh	BYTE	checksum
		(radix-complement: 256-low byte of 16-bit sum of 00h-7Eh)

Bitfields for DPMS EDID flags:
Bit(s)	Description	(Table 00128)
 2-0	unused???
 3	display type
	=0 non-RGB multicolor
	=1 RGB color
 4	unused???
 5	Active Off supported
 6	Suspend supported
 7	Standby supported
SeeAlso: #00127

Bitfields for DPMS input signal type:
Bit(s)	Description	(Table 00129)
 0	separate sync
 1	composite sync
 2	sync on green
 4-3	unused???
 6-5	voltage level
	00 0.700V/0.300V (1.00 Vp-p)
	01 0.714V/0.286V
	10 0.100V/0.400V
	11 reserved
 7	=1 digital signal, =0 analog
SeeAlso: #00127

Bitfields for DPMS established timings 1:
Bit(s)	Description	(Table 00130)
 0	720x400 @ 70 Hz (VGA 640x400, IBM)
 1	720x400 @ 88 Hz (XGA2)
 2	640x480 @ 60 Hz (VGA)
 3	640x480 @ 67 Hz (Mac II, Apple)
 4	640x480 @ 72 Hz (VESA)
 5	640x480 @ 75 Hz (VESA)
 6	800x600 @ 56 Hz (VESA)
 7	800x600 @ 60 Hz (VESA)
SeeAlso: #00127,#00131

Bitfields for DPMS established timings 2:
Bit(s)	Description	(Table 00131)
 0	800x600 @ 72 Hz (VESA)
 1	800x600 @ 75 Hz (VESA)
 2	832x624 @ 75 Hz (Mac II)
 3	1024x768 @ 87 Hz interlaced (8514A)
 4	1024x768 @ 60 Hz (VESA)
 5	1024x768 @ 70 Hz (VESA)
 6	1024x768 @ 75 Hz (VESA)
 7	1280x1024 @ 75 Hz (VESA)
SeeAlso: #00127,#00130

Bitfields for DPMS standard timing information:
Bit(s)	Description	(Table 00132)
 5-0	vertical refresh frequency - 60 (Hz)
 7-6	aspect ratio (Y resolution = X resolution * aspect ratio)
	00 ???
	01 0.75
	10 0.8
	11 0.5625
Note:	if both bytes of the timing are 00h or 01h, then the Standard Timing
	  is "None"
SeeAlso: #00127

Format of Detailed Timing Description:
Offset	Size	Description	(Table 00133)
 00h	BYTE	horizontal frequency in kHz (if 00h, may be text)(see #00135)
 01h	BYTE	vertical frequency in Hz
 02h	BYTE	horizontal active time (pixels) and X resolution
 03h	BYTE	horizontal blanking time (pixels)
 04h	BYTE	horizontal active time 2 / horizontal blanking time 2
 05h	BYTE	vertical active time (lines) and Y resolution
 06h	BYTE	vertical blanking time (lines)
 07h	BYTE	vertical active time 2 / vertical blanking time 2
 08h	BYTE	horizontal sync offset (pixels)
 09h	BYTE	horizontal sync pulsewidth (pixels)
 0Ah	BYTE	vertical sync offset / vertical sync pulsewidth
 0Bh	BYTE	vertical/horizontal sync offset 2 / vert/hor. sync pulsewidth 2
 0Ch	BYTE	horizontal image size (mm)
 0Dh	BYTE	vertical image size (mm)
 0Eh	BYTE	horizontal image size 2 / vertical image size 2
 0Fh	BYTE	horizontal border (pixels)
 10h	BYTE	vertical border (lines)
 11h	BYTE	type of display (see #00134)
SeeAlso: #00127,#00135

Bitfields for EDID detailed display type:
Bit(s)	Description	(Table 00134)
 7	interlaced
 6-5	stereo mode
	00 normal display (no stereo)
	01 stereo, right stereo sync high
	10 stereo, left stereo sync high
	11 undefined
 4-3	sync type
	00 sync analog composite
	01 sync bipolar analog composite
	10 sync digital composite
	11 sync digital separate
---sync digital separate---
 2	vertical sync polarity (0 = negative, 1 = positive)
 1	horizontal sync polarity (0 = negative, 1 = positive)
---other sync types---
 2	serrate
 1	sync location (0 = on green, 1 = on RGB)
------
 0	not used???	
SeeAlso: #00133

Format of EDID Text Identification Strings:
Offset	Size	Description	(Table 00135)
 00h  3 BYTEs	00h 00h 00h (to distinguish from detailed timing description)
 03h	BYTE	text identifier
		FFh serial number
		FEh vendor name
		FDh vertical/horizontal frequency range
		FCh model name
---frequency range---
 04h	BYTE	00h ???
 05h	BYTE	minimum vertical refresh frequency in Hz
 06h	BYTE	maximum vertical refresh
 07h	BYTE	minimum horizontal frequency in kHz
 08h	BYTE	maximum horizontal frequency
 09h	BYTE	FFh ???
---other---
 04h 14 BYTEs	text, may be terminated with either a NUL (00h) or LF (0Ah)
SeeAlso: #00132

(Table 00136)
Values for manufacturer ID:
 "ACT"	Targa
 "ADI"	ADI Corporation	  http://www.adi.com.tw
 "AOC"	AOC International (USA) Ltd. (see #00137)
 "API"	Acer America Corp. (see #00138)
 "APP"	Apple Computer, Inc. (see #00139)
 "ART"	ArtMedia
 "AST"	AST Research (see #00140)
 "CPL"	Compal Electronics, Inc. / ALFA (see #00141)
 "CPQ"	COMPAQ Computer Corp. (see #00142)
 "CTX"	CTX - Chuntex Electronic Co. (see #00143)
 "DEC"	Digital Equipment Corporation (see #00144)
 "DEL"	Dell Computer Corp. (see #00145)
 "DPC"	Delta Electronics, Inc. (see #00146)
 "DWE"	Daewoo Telecom Ltd (see #00147)
 "ECS"	ELITEGROUP Computer Systems (see #00148)
 "EIZ"	EIZO (see #00149)
 "FCM"	Funai Electric Company of Taiwan
 "GSM"	LG Electronics Inc. (GoldStar Technology, Inc.) (see #00158)
 "GWY"	Gateway 2000
 "HEI"	Hyundai Electronics Industries Co., Ltd. (see #00150)
 "HIT"	Hitachi (see #00151)
 "HSL"	Hansol Electronics (see #00152)
 "HTC"	Hitachi Ltd. / Nissei Sangyo America Ltd. (see #00153)
 "HWP"	Hewlett Packard (see #00154)
 "IBM"	IBM PC Company (see #00155)
 "ICL"	Fujitsu ICL  (see #00156)
 "IVM"	Idek Iiyama North America, Inc. (see #00157)
 "KFC"	KFC Computek
 "LKM"	ADLAS / AZALEA
 "LNK"	LINK Technologies, Inc.
 "LTN"	Lite-On
 "MAG"	MAG InnoVision (see #00159)
 "MAX"	Maxdata Computer GmbH
 "MEI"	Panasonic Comm. & Systems Co. (see #00168)
 "MEL"	Mitsubishi Electronics (see #00160)
 "MIR"	miro Computer Products AG (see #00161)
 "MTC"	MITAC
 "NAN"	NANAO (see #00162)
 "NEC"	NEC Technologies, Inc. (see #00163)
 "NOK"	Nokia (see #00164)
 "OQI"	OPTIQUEST (see #00165)
 "PBN"	Packard Bell
 "PGS"	Princeton Graphic Systems (see #00166)
 "PHL"	Philips Consumer Electronics Co. (see #00167)
 "REL"	Relisys
 "SAM"	Samsung (see #00169)
 "SDI"	Samtron (see #00170)
 "SMI"	Smile
 "SNI"	Siemens Nixdorf
 "SNY"	Sony Corporation
 "SPT"	Sceptre
 "SRC"	Shamrock Technology
 "STP"	Sceptre
 "TAT"	Tatung Co. of America, Inc. (see #00171)
 "TRL"	Royal Information Company (see #00172)
 "TSB"	Toshiba, Inc.
 "UNM"	Unisys Corporation
 "VSC"	ViewSonic Corporation (see #00173)
 "WTC"	Wen Technology
 "ZCM"	Zenith Data Systems
 "___"	Targa
SeeAlso: #00127

(Table 00137)
Values for AOC monitor EDID:
 A566h	AOC SPECTRUM 5Nlr
 A782h	AOC SPECTRUM 7Nlr
 D350h	AOC SPECTRUM 4V, 4VA, 4Vlr, 4VlrA
 D566h	AOC SPECTRUM 5Vlr, 5VlrA
 E570h	AOC SPECTRUM 5Glr
 E750h	AOC SPECTRUM 7DlrA
SeeAlso: #00136,#00138

(Table 00138)
Values for Acer monitor EDID:
 0037h	AcerView 55
 424Ch	AcerView 76ie
 440Bh	AcerView 11D
 4421h	AcerView 33D
 4522h	AcerView 7134e
 4536h	AcerView 7154e
 4538h	AcerView 7156e
 454Ch	AcerView 7176ie
 454Eh	AcerView 7178ie
 4938h	AcerView 7156i
 494Ch	AcerView 76i
 494Eh	AcerView 78i
 4962h	AcerView 98i
 4C21h	AcerView 33DL
 4C22h	AcerView 34TL
 4C37h	AcerView 55L
 4C38h	AcerView 56L
 4E4Ch	AcerView 76N
 5321h	AcerView 7133s
 5322h	AcerView 7134s
 5336h	AcerView 7154s
 5338h	AcerView 7156s, 7156is
 534Ch	AcerView 7176is
 5422h	AcerView 34T
SeeAlso: #00136,#00137,#00140

(Table 00139)
Values for Apple Computer monitor EDID:
 0352h	AppleVision 850
SeeAlso: #00136

(Table 00140)
Values for AST monitor EDID:
 8001h	ASTVision 4V
 8002h	ASTVision 4I
 8003h	ASTVision 4N
 8004h	ASTVision 4L
 8005h	ASTVision 5L
 8006h	ASTVision 7L
 8007h	ASTVision 7H
 8008h	ASTVision 20H
 8009h	AST Sabre
 800Ah	ASTVision 5V
SeeAlso: #00136,#00127,#00138,#00141

(Table 00141)
Values for ALFA monitor EDID:
 096Bh	ALFA TH-450
SeeAlso: #00136,#00140,#00142

(Table 00142)
Values for Compaq monitor EDID:
 0011h	COMPAQ 1024
 0012h	COMPAQ 1024
 0013h	COMPAQ 1024
 0014h	COMPAQ 1024
 0015h	COMPAQ 1024
 0016h	COMPAQ 1024
 0017h	COMPAQ PRB
 0018h	COMPAQ PRB
 0019h	COMPAQ PRB
 001Ah	COMPAQ PRB
 0020h	COMPAQ PRB
 0021h	COMPAQ PRB
 0022h	COMPAQ 151FS
 0023h	COMPAQ 151FS
 0024h	COMPAQ 151FS
 0025h	COMPAQ 151FS
 0026h	COMPAQ 151FS
 0027h	COMPAQ 151FS
 0028h	COMPAQ 151FS
 0029h	COMPAQ PRB
 002Ah	COMPAQ PRB
 002Bh	COMPAQ PRB
 002Ch	COMPAQ PRB
 002Dh	COMPAQ 171FS
 002Eh	COMPAQ 171FS
 002Fh	COMPAQ 171FS
 0030h	COMPAQ 171FS
 0031h	COMPAQ 171FS
 0032h	COMPAQ 171FS
 0033h	COMPAQ 171FS
 0040h	COMPAQ QVision 200
 0041h	COMPAQ QVision 200
 0042h	COMPAQ QVision 200
 0043h	COMPAQ QVision 200
 0044h	COMPAQ QVision 200
 0045h	COMPAQ QVision 200
 0046h	COMPAQ QVision 200
 0047h	COMPAQ QVision 200
 0048h	COMPAQ QVision 200
 0049h	COMPAQ QVision 200
 0100h	COMPAQ 1024
 0146h	COMPAQ 1024
 0147h	COMPAQ 1024
 0346h	COMPAQ 151FS
 0347h	COMPAQ 151FS
 0348h	COMPAQ 151FS
 0349h	COMPAQ 151FS
 034Ah	COMPAQ 151FS
 034Bh	COMPAQ 151FS
 0546h	COMPAQ 171FS
 0547h	COMPAQ 171FS
 0548h	COMPAQ 171FS
 0549h	COMPAQ 171FS
 0746h	COMPAQ PRB
 0747h	COMPAQ PRB
 0846h	COMPAQ PRA
 0847h	COMPAQ PRA
 0848h	COMPAQ PRA
 0849h	COMPAQ PRA
 084Ah	COMPAQ PRA
 084Bh	COMPAQ PRA
 084Ch	COMPAQ PRA
 084Dh	COMPAQ PRA
 0946h	COMPAQ PRB
 0947h	COMPAQ PRB
 0948h	COMPAQ PRB
 0949h	COMPAQ PRB
 0A46h	COMPAQ PRA
 0A47h	COMPAQ PRA
 0A48h	COMPAQ PRA
 0A49h	COMPAQ PRA
 0A4Ah	COMPAQ PRA
 0A4Bh	COMPAQ PRA
 0A4Ch	COMPAQ PRA
 0A4Dh	COMPAQ PRA
 0D46h	COMPAQ 140
 0D47h	COMPAQ 140
 0D48h	COMPAQ 140
 0D49h	COMPAQ 140
 0D4Ah	COMPAQ 140
 0D4Bh	COMPAQ 140
 0D4Ch	COMPAQ 140
 0D4Dh	COMPAQ 140
 0F46h	COMPAQ 150
 0F47h	COMPAQ 150
 0F48h	COMPAQ 150
 0F49h	COMPAQ 150
 0F4Ah	COMPAQ 150
 0F4Bh	COMPAQ 150
 0F4Ch	COMPAQ 150
 0F4Dh	COMPAQ 150
SeeAlso: #00136,#00141,#00143

(Table 00143)
Values for "CTX" monitor EDID:
 1451h	CTX 1451
 1551h	CTX 1551
 1562h	CTX 1562
 1565h	CTX 1565
 1569h	CTX 1569S 15-inch
 1765h	CTX 1765
 1785h	CTX 1785 XE
 2085h	CTX 2085
 2185h	CTX 2185
SeeAlso: #00136,#00142,#00144

(Table 00144)
Values for Digital Equipment Corporation monitor EDID:
 06FAh	Digital 21" Color (FR-PCXAV-WZ)
 073Ah	Digital 17" Color (FR-PCXAV-YZ)
 BA08h	Digital 15" Color Monitor (FR-PCXBV-E*)
 DA08h	Digital 17" Color Monitor (FR-PCXBV-F*)
SeeAlso: #00136,#00143,#00145

(Table 00145)
Values for Dell monitor EDID:
 139Ah	Dell Ultrascan 14XE
 139Bh	Dell Ultrascan 14XE
 139Ch	Dell Ultrascan 14XE
 139Dh	Dell Ultrascan 14XE
 2210h	Dell Ultrascan V17X
 2211h	Dell Ultrascan V17X
 2212h	Dell Ultrascan V17X
 2213h	Dell Ultrascan V17X
 2214h	Dell Ultrascan 21TE
 2215h	Dell Ultrascan 21TE
 2216h	Dell Ultrascan 21TE
 2217h	Dell Ultrascan 21TE
 3024h	Dell VS17X
 3025h	Dell VS17X
 3026h	Dell VS17X
 3027h	Dell VS17X
 4273h	Dell VS15X
SeeAlso: #00136,#00144,#00146

(Table 00146)
Values for Delta Electronics monitor EDID:
 0456h	Delta DA-456
 1565h	Delta DA-1565
 1765h	Delta DA-1765
SeeAlso: #00136,#00145,#00147

(Table 00147)
Values for Daewoo monitor EDID:
 1423h	Daewoo CMC-1423B1
 1427h	Daewoo CMC-1427X1
 1502h	Daewoo CMC-1502B1
 1505h	Daewoo CMC-1505X
 1507h	Daewoo CMC-1507X1
 1703h	Daewoo CMC-1703B
 5133h	Daewoo CMC-1511B
 7044h	Daewoo CMC-1704C
SeeAlso: #00136,#00146,#00148

(Table 00148)
Values for ELITEGROUP Computer Systems monitor EDID:
 0001h	ECS VERTOS 1401
 0002h	ECS VERTOS 1501
 0003h	ECS VERTOS 1502
 0004h	ECS VERTOS 1503
 0005h	ECS VERTOS 1700
 0006h	ECS VERTOS 1701
 0007h	ECS VERTOS 1700
 0008h	ECS VERTOS 2101
 0009h	ECS VERTOS 2102
SeeAlso: #00136,#00147,#00149

(Table 00149)
Values for EIZO monitor EDID:
 0200h	EIZO FlexScan F351
 0201h	EIZO FlexScan F553
 0202h	EIZO FlexScan F563
 0203h	EIZO FlexScan F764
 0204h	EIZO FlexScan F784
 0206h	EIZO FlexScan 6600
 0300h	EIZO FlexScan 6500
 0302h	EIZO 9060S
 0303h	EIZO 9065S
 0305h	EIZO FlexScan T563
 0306h	EIZO 9070S
 0307h	EIZO 9080i
 0308h	EIZO 9400i
 0309h	EIZO 9500
 030Ah	EIZO FlexScan F340iW
 030Ch	EIZO FlexScan F552
 030Dh	EIZO FlexScan F560iW
 030Fh	EIZO FlexScan F760iW
 0310h	EIZO FlexScan F780iW
 0311h	EIZO FlexScan T560i
 0312h	EIZO FlexScan T660i
 0313h	EIZO FlexScan T562
 0314h	EIZO FlexScan T662
 038Ch	EIZO FlexScan F550iW
SeeAlso: #00136,#00148,#00150

(Table 00150)
Values for Hyundai monitor EDID:
 0B42h	Hyundai Deluxscan 21	   
 12F0h	Hyundai Deluxscan 14S	
 16D8h	Hyundai Deluxscan 15B	
 16E8h	Hyundai Deluxscan 15G	
 16EEh	Hyundai Delucscan 15G+	
 1E02h	Hyundai Deluxscan 17 Pro
 1EB8h	Hyundai Deluxscan 17B	
 1EBEh	Hyundai Deluxscan 17B+	
 5864h	Hyundai DeluxScan 15 Pro
 B81Eh	Hyundai DeluxScan 17
SeeAlso: #00136,#00149,#00151

(Table 00151)
Values for Hitachi monitor EDID:
 1717h	Hitachi Accuvue GX17L
 1727h	Hitachi HM1764
 1827h	Hitachi HM1782
 2147h	Hitachi HM4721
 2149h	Hitachi HM4921
 4020h	Hitachi HM4020
 4021h	Hitachi HM4021
 4711h	Hitachi Accuvue UX4721
 4810h	Hitachi Accuvue GX20
 4811h	Hitachi Accuvue GX21
 4820h	Hitachi HM4820
 4821h	Hitachi HM4821
 4830h	Hitachi Accuvue GX20H
 4911h	Hitachi Accuvue UX4921
 6421h	Hitachi HM6421
 6811h	Hitachi Accuvue UX6821
 6821h	Hitachi HM6821
SeeAlso: #00136,#00150,#00152

(Table 00152)
Values for Hansol Electronics monitor EDID:
 0579	Hansol Electronics Mazellan14px
 057A	Hansol Electronics Mazellan400A
 05DD	Hansol Electronics Mazellan15ax
 A605	Hansol Electronics Mazellan17px 
SeeAlso: #00136,#00151,#00153

(Table 00153)
Values for Hitachi, Ltd. monitor EDID:
 AB6Fh	CM-1711M
 ABC2h	CM-2112M
 ABC7h	CM-2111M
 ABCCh	CM-2110M
 ABE0h	Hitachi, Ltd CM802
 ABE2h	Hitachi, Ltd CM801
 ABE3h	Hitachi, Ltd CM800
 ABEAh	Hitachi, Ltd CM803
 ABF4h	Hitachi, Ltd CM701
 AFC8h	Hitachi, Ltd CM500
 AFD2h	Hitachi, Ltd CM600
 AFD7h	Hitachi, Ltd CM611
SeeAlso: #00136,#00152,#00154

(Table 00154)
Values for Hewlett-Packard monitor EDID:
 0AF0h	HP D2800A Ultra VGA 1600 21"
 0AF6h	HP D2806A Ergo Ultra VGA 15"
 0AF8h	HP D2808 1024 Low Emission
 0AFFh	HP D2815A 1024 Low Emission 14"
 0F11h	HP D3857A Multi Media 15"
 0F12h	HP D3858A Multi Media 14"
SeeAlso: #00136,#00151,#00155

(Table 00155)
Values for IBM monitor EDID:
 198Eh	IBM G41
 198Fh	IBM G50
 1990h	IBM G70
 1991h	IBM G200
 1999h	IBM P50
 199Ah	IBM P70
 199Bh	IBM P200
 1BB7h	IBM 7095
 1BB9h	IBM 7097
 2112h	IBM 2112
 2113h	IBM 2113
 2114h	IBM 2114
 2115h	IBM 2115
 2117h	IBM 2117
 2215h	IBM 2215
 2238h	IBM 2238
 2248h	IBM 2248
 2264h	IBM 2264
 2535h	IBM 9525-0X1
 26ACh	IBM Aptiva 9900
 27ADh	IBM Aptiva 9901
 6312h	IBM 6312
 6314h	IBM 6314
 6315h	IBM 6315
 6317h	IBM 6317
 6319h	IBM 6319
 6321h	IBM 6321
 6322h	IBM 6322
 6324h	IBM 6324
 6325h	IBM 6325
 6327h	IBM 6327
 8504h	IBM 8504
 8511h	IBM 8511
 8512h	IBM 8512
 8513h	IBM 8513
 8514h	IBM 8514
 8515h	IBM 8515
 8517h	IBM 8517
 8518h	IBM 8518
 9504h	IBM 9504
 9515h	IBM 9515
 9517h	IBM 9517
 9518h	IBM 9518
 9521h	IBM 9521
 9524h	IBM 9524
 9525h	IBM 9525
 9527h	IBM 9527
SeeAlso: #00136,#00154,#00156

(Table 00156)
Values for Fujitsu ICL monitor EDID:
 0100h	Fujitsu ICL ErgoPro 211v
 0200h	Fujitsu ICL ErgoPro 171p
 0400h	Fujitsu ICL ErgoPro 171v
 0700h	Fujitsu ICL ErgoPro 151p
 0800h	Fujitsu ICL ErgoPro 151p AutoBrite
 0A00h	Fujitsu ICL ErgoPro 151v
 0B00h	Fujitsu ICL ErgoPro 141v
 0D00h	Fujitsu ICL ErgoPro 141p
 0F00h	Fujitsu ICL ErgoPro 152v
 1400h	Fujitsu ICL ErgoPro 142v
 1600h	Fujitsu ICL ErgoPro e153
 1900h	Fujitsu ICL ErgoPro x173
 1A00h	Fujitsu ICL ErgoPro x173a
 1C00h	Fujitsu ICL ErgoPro x152
 1D00h	Fujitsu ICL ErgoPro e173
 2200h	FUJITSU ErgoPro e154
 2400h	FUJITSU ErgoPro x174
SeeAlso: #00136,#00155,#00157

(Table 00157)
Values for Idek Iiyama North America monitor EDID:
 1700h	Iiyama Vision Master MF-8617
SeeAlso: #00136,#00156,#00158

(Table 00158)
Values for LG Electronics monitor EDID:
 36B4h	LG StudioWorks 44m
 36B9h	LG StudioWorks 44i
 3AA0h	LG 1505s
 3AA2h	LG StudioWorks 56m
 3AAFh	LG StudioWorks 56T 15-inch
 3AB0h	LG StudioWorks 5D
 3AB6h	LG StudioWorks 5D
 426Ch	LG StudioWorks 78i
 426Dh	LG StudioWorks 78T
 426Eh	LG StudioWorks 76i
 4273h	LG StudioWorks 76m
 4274h	LG StudioWorks 78m
 4277h	LG StudioWorks 74m
 4278h	LG StudioWorks 74i
 427Eh	LG StudioWorks 7D
 427Fh	LG StudioWorks 78D
 4280h	LG StudioWorks 78DT
 4281h	LG StudioWorks 7DT
 4284h	LG StudioWorks 76T
 42CFh	LG 1725s
 4E21h	LG StudioWorks 20i
SeeAlso: #00136,#00157,#00159

(Table 00159)
Values for MAG monitor EDID:
 5620h	DX1595
 5624h	DX15T
 5626h	DX1795
SeeAlso: #00136,#00158,#00160

(Table 00160)
Values for Mitsubishi monitor EDID:
 0040h	Mitsubishi Diamond Pro 21TX (THN-9105)
 2040h	Mitsubishi Diamond Scan 20H (FR-8905)
 2040h	Mitsubishi Diamond Pro 20X (FR-8905B)
 6140h	Mitsubishi Diamond Scan 17HX (FFF8705)
 8040h	Mitsubishi Diamond Pro 15H (SD-57xxC)
 4040h	Mitsubishi Diamond Pro 17TX (TFG-8705)
 408Fh	Mitsubishi Diamond Scan 15VX (SD58xx)
 40C0h	Mitsubishi Diamond Pro 87TXM (TFM8705)
SeeAlso: #00136,#00159,#00161

(Table 00161)
Values for Miro monitor EDID:
 0721h	PROOFSCREEN miroC21107
 6815h	miroD1568
 6817h	PROOFSCREEN miroC1768
 6917h	miroD1769
 8217h	PROOFSCREEN miroC1782
 8520h	PROOFSCREEN miroC2085 E
 8521h	PROOFSCREEN miroC2185
 9321h	PROOFSCREEN miroC2193
SeeAlso: #00136,#00160,#00162

(Table 00162)
Values for Nanao monitor EDID:
 0000h	NANAO USA FlexScan T2-20
 0400h	NANAO USA F2-15
 0401h	NANAO USA F2-17
 0402h	NANAO USA F2-17EX
 0403h	NANAO USA F2-21
 0404h	NANAO USA FX2-21
 0405h	NANAO USA FlexScan T2-17TS
 0406h	NANAO FlexScan 6600
 0502h	NANAO 9060S
 0503h	NANAO 9065S
 0506h	NANAO 9070U
 0507h	NANAO 9080i
 0508h	NANAO 9400i
 0509h	NANAO 9500
 050Ah	NANAO FlexScan F340iW
 050Bh	NANAO FlexScan F550i
 050Ch	NANAO FlexScan F550iW
 050Dh	NANAO FlexScan F560iW
 050Eh	NANAO FlexScan F750i
 050Fh	NANAO FlexScan F760iW
 0510h	NANAO FlexScan F780iW
 0511h	NANAO FlexScan T560i
 0512h	NANAO FlexScan T660i
 0513h	NANAO USA FlexScan T2-17
 0514h	NANAO USA FlexScan T2-20
 0580h	NANAO USA FlexScan 6300
 0800h	NANAO FlexScan 33F
 0802h	NANAO FlexScan 88F
 0805h	NANAO FlexScan 54T
 0882h	NANAO FlexScan 52F
 0900h	NANAO FlexScan 6500
 0902h	NANAO 9060S
 0906h	NANAO 9070U
 0907h	NANAO 9080i
 090Ah	NANAO FlexScan F347
 090Bh	NANAO FlexScan F550i
 090Ch	NANAO FlexScan F557
 090Fh	NANAO FlexScan 77F
 0910h	NANAO FlexScan F780iJ
 0911h	NANAO FlexScan T560iJ
 0912h	NANAO FlexScan T660iJ
 0913h	NANAO FlexScan 56T
 0914h	NANAO FlexScan 68T
 098Ah	NANAO FlexScan F347II
 098Ch	NANAO FlexScan 55F
 098Fh	NANAO FlexScan 76F
 0991h	NANAO FlexScan T567
 0993h	NANAO FlexScan 53T
SeeAlso: #00136,#00161,#00163

(Table 00163)
Values for NEC monitor EDID:
 37FAh	NEC MultiSync XV14
 37FBh	NEC MultiSync XV14
 3A66h	NEC MultiSync C400
 3C00h	NEC MultiSync XE15
 3C0Ah	NEC MultiSync XP15
 3C14h	NEC MultiSync XV15
 3C1Eh	NEC MultiSync XE15
 3D5Eh	NEC MultiSync XV15+
 3D68h	NEC MultiSync M500
 3E4Eh	NEC MultiSync C500
 43A8h	NEC MultiSync XE17
 43B2h	NEC MultiSync XE17
 43BCh	NEC MultiSync XV17
 4416h	NEC MultiSync XP17
 533Eh	NEC MultiSync XE21
 53B6h	NEC MultiSync XP21
SeeAlso: #00136,#00162,#00164

(Table 00164)
Values for Nokia monitor EDID:
 008Dh	NOKIA 449M
 0098h	NOKIA 449X
 00A3h	NOKIA 447KC
 00A9h	NOKIA 447XI
 00ABh	NOKIA 447KA
 00ADh	NOKIA 447M
 00B7h	NOKIA 447W
 00B8h	NOKIA 447X
 00BBh	NOKIA 447XAV
 00BCh	NOKIA 447K
 00D2h	NOKIA 445R
SeeAlso: #00136,#00163,#00165

(Table 00165)
Values for OptiQuest monitor EDID:
 3138h	OPTIQUEST VA656
 3141h	OPTIQUEST 14ES
 3232h	OPTIQUEST 1562A-2
 3233h	OPTIQUEST 1769DC
 3234h	OPTIQUEST 1000S-2
 3332h	OPTIQUEST V655
 3333h	OPTIQUEST V775
 3432h	OPTIQUEST V650
 3832h	OPTIQUEST V665
 4637h	OPTIQUEST 1769DC
SeeAlso: #00136,#00164,#00166

(Table 00166)
Values for Princeton Graphics monitor EDID:
 003Bh	Princeton EO15
 003Dh	Princeton EO17
SeeAlso: #00136,#00165,#00167

(Table 00167)
Values for Philips monitor EDID:
 0200h	Philips CM0200 (15C)
 0500h	Philips CM0500 (20C)
 0700h	Philips CM0700 (20T)
 0800h	Philips CM0800 (15B)
 1200h	Philips CM1200 (15A)
 1800h	Philips CM1800 (15A)
 2000h	Philips CM0200 (14B)
 2600h	Philips 17TCM26
 2800h	Philips 17BCM28
 3800h	Philips 17ACM38
 5600h	Philips CM5600 (20B)
 700Bh	Philips CM0700 (21B)
 8000h	Philips CM0800 (14A)
SeeAlso: #00136,#00166,#00168

(Table 00168)
Values for Panasonic monitor EDID:
 1604h	Panasonic TX-D2151W-ES
 1610h	Panasonic TX-D2151NM
SeeAlso: #00136,#00167,#00169

(Table 00169)
Values for Samsung monitor EDID:
 0000h	Samsung SyncMaster 3Ne
 0100h	Samsung SyncMaster 4S
 1530h	Samsung 15GLsi
 4610h	Samsung SyncMaster 21GLs
 4690h	Samsung SyncMaster 20GLsi
 4D50h	Samsung SyncMaster 15GLe
 4D51h	Samsung SyncMaster 15GLi
 4D52h	Samsung SyncMaster 15M
 4D70h	Samsung SyncMaster 17GLi
 4D71h	Samsung SyncMaster 17GLsi
 4D72h	Samsung SyncMaster 6Ne
 4D73h	Samsung 17GLi
 4D74h	Samsung 17GLsi
 5450h	Samsung SyncMaster 15Me
 6D20h	Samsung SyncMaster 15GLe
SeeAlso: #00136,#00168,#00170

(Table 00170)
Values for Samtron monitor EDID:
 1428h	Samtron 428PT/PTL
 1528h	Samtron SC-528TXL
 1529h	Samtron SC-528UXL
 1530h	Samtron SC-528MXLJ
 4690h	Samtron SC-208DXL+
 4D70h	Samtron SC-728FXL
 4D71h	Samtron SC-726GXL
 5451h	Samtron SC-528MDL
SeeAlso: #00136,#00169,#00171

(Table 00171)
Values for Tatung monitor EDID:
 1F65h	Intelliscan TM651x series 15"
 1F67h	Intelliscan TM671x series 17"
 2F44h	Intelliscan TM442x series 14"
 2F45h	Intelliscan TM452x series 15"
 434Dh	Tatung CM-17MC
 4855h	Tatung CM-14UH
SeeAlso: #00136,#00170,#00172

(Table 00172)
Values for Royal Information Company monitor EDID:
 061Ch	TRL/RIC DL-1564
 0622h	TRL/RIC DH-1570
SeeAlso: #00136,#00171,#00173

(Table 00173)
Values for ViewSonic monitor EDID:
 0C00h	ViewSonic 17GS
 0C0Fh	ViewSonic 17PS
 0C1Fh	ViewSonic 17GA
 1600h	ViewSonic 21PS-2
 2601h	ViewSonic 15GS
 2600h	ViewSonic 15GS-2
 3141h	ViewSonic 14ES
 3142h	ViewSonic 14ES
 3143h	ViewSonic 14ES
 3145h	ViewSonic 15GS-3
 3252h	ViewSonic 21PS-2
 3253h	ViewSonic 21PS-2
 334Bh	ViewSonic 17GS-2
 334Ch	ViewSonic 17GS-2
 3351h	ViewSonic PT810
 344Bh	ViewSonic 17PS-2
 344Ch	ViewSonic 17PS-2
 3451h	ViewSonic PT810-2
 354Dh	ViewSonic GT800
 354Eh	ViewSonic GT800
 3550h	ViewSonic GT800
 3644h	ViewSonic 15GA
 3646h	ViewSonic 15GA
 3648h	ViewSonic 15GA
 364Ah	ViewSonic PT770
 364Bh	ViewSonic PT770
 364Ch	ViewSonic PT770
 3744h	ViewSonic 15G-2
 3746h	ViewSonic 15G-2
 3748h	ViewSonic 15G-2
 374Bh	ViewSonic 17GA
 374Ch	ViewSonic 17GA
 3844h	ViewSonic 15ES-2
 3846h	ViewSonic 15ES-2
 3848h	ViewSonic 15ES-2
 384Ah	ViewSonic 17EA
 384Bh	ViewSonic 17EA
 384Ch	ViewSonic 17EA
 3944h	ViewSonic 15GS-2
 3946h	ViewSonic 15GS-2
 3948h	ViewSonic 15GS-2
 394Ah	ViewSonic 17GS-2
 394Bh	ViewSonic 17GS-2
 394Ch	ViewSonic 17GS-2
 424Ah	ViewSonic GT770
 424Bh	ViewSonic GT770
 424Ch	ViewSonic GT770
 434Ah	ViewSonic 17PS-2
 434Bh	ViewSonic 17PS-2
 434Ch	ViewSonic 17PS-2
 4439h	ViewSonic 15GS-2
 444Ah	ViewSonic 17GA-2
 4637h	ViewSonic 1769DC
 4745h	ViewSonic G653 (VCDTS21444-2E)
SeeAlso: #00136,#00172

Top
104F15BL02 - INT 10 - VESA VBE/DC (Display Data Channel) - READ VDIF
INT 10 - VESA VBE/DC (Display Data Channel) - READ VDIF
	AX = 4F15h
	BL = 02h
	???
Return: AL = 4Fh if function supported
	    AH = status
		00h successful
		    ???
		01h failed
SeeAlso: AX=4F15h/BL=00h,AX=4F15h/BL=01h

Top
104F16 - INT 10 - VESA VBE/GC (Graphics System Configuration) - API
INT 10 - VESA VBE/GC (Graphics System Configuration) - API
	AX = 4F16h
	BL = function
	    00h installation check / get capabilities
	other registers vary by function
Return: varies by function

Top
104F17 - INT 10 - VESA VBE/AF (Accelerator Functions) - API
INT 10 - VESA VBE/AF (Accelerator Functions) - API
	AX = 4F17h
	BL = function
	    00h installation check / get capabilities
	other registers vary by function
Return:	AL = 4Fh if function supported
	    AH = status
		00h successful
		01h failed
		02h hardware does not support function
		03h function not available in current video mode
		else reserved for future error codes
	other vary by function
Notes:	the accelerator function code should be given a 32-bit protected
	  mode stack which has at least 1024 bytes available for use by the
	  VBE/AF code
	when called, the I/O permission bitmap must allow access to any
	  ports which VBE/AF may require for operation
SeeAlso: AX=4F0Bh

Top
104F4D - INT 10 - VESA - VIDEO CURSOR INTERFACE REQUEST
INT 10 - VESA - VIDEO CURSOR INTERFACE REQUEST
	AX = 4F4Dh
	BX = number of bytes available for VCI use
	DS:0000h -> buffer for VCI
	ES:DI -> VCI driver callback function
Return: AL = 4Fh if supported
	    AH = status
		00h successful
		    BX = number of bytes used by VCI
		    ES:DI -> VCI request handler
		01h failed
Desc:	allow the VESA BIOS Extensions to cooperate with a pointing-device
	  (typically mouse) driver
SeeAlso: AX=4F12h

Top
104F70 - INT 10 - Avance Logic - GET ADAPTER INFORMATION
INT 10 - Avance Logic - GET ADAPTER INFORMATION
	AX = 4F70h
Return:	AX = 004Fh if successful
	    BL = board information (see #00174)
	    BH = board type???
		00h on ALG2101
		FFh otherwise
SeeAlso: AX=4F00h

Bitfields for Avance Logic board information:
Bit(s)	Description	(Table 00174)
 0-1	video RAM size
	00 256K
	01 512K
	10 1M
	11 2M
 2	???
 3	slot size???
	=0 8-bit slot
	=1 16-bit slot
 4	unused
 5	set on ALG2228/AL2301
 6-7	unused

Top
104FDD - INT 10 - ATI M64VBE.COM - GET RESIDENT SEGMENT
INT 10 - ATI M64VBE.COM - GET RESIDENT SEGMENT
	AX = 4FDDh
Return: AX = CS of resident code
Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip
SeeAlso: AX=4FFFh/BX=364Dh"M64VBE",INT 60"M64VBE"

Top
104FFF - INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
	AX = 4FFFh
	DL = new state (00h off, 01h on)
Return: AX = 0000h if successful

Top
104FFF - INT 10 - Diamond Stealth 24 - SET/RESET DUAL DISPLAY MODE
INT 10 - Diamond Stealth 24 - SET/RESET DUAL DISPLAY MODE
	AX = 4FFFh
	BX = dual display mode
	    00h reset
	    01h set dual display, 32KB VGA test
	    02h set dual display, 64KB VGA test
Return: AX = 4F00h if successful
	    BX = number of scanlines off screen for test mode

Top
104FFFBX364D - INT 10 - ATI M64VBE.COM - UNINSTALL
INT 10 - ATI M64VBE.COM - UNINSTALL
	AX = 4FFFh
	BX = 364Dh ('6M')
	CX = 5634h ('V4')
Return: AX,DX,DS,ES destroyed
Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip
SeeAlso: AX=4FDDh"M64VBE",INT 60"M64VBE"

Top
1050 - INT 10 - SCROLOCK.COM - INSTALLATION CHECK
INT 10 - SCROLOCK.COM - INSTALLATION CHECK
	AH = 50h
Return: BX = 1954h if installed
	    AL = 00h if inactive, nonzero if active
Program: SCROLOCK is a utility supplied with System Enhancement Associates'
	  ARC archiver
SeeAlso: AH=51h

Top
105000 - INT 10 - VIDEO - AX PC - SET SCREEN COUNTRY CODE
INT 10 - VIDEO - AX PC - SET SCREEN COUNTRY CODE
	AX = 5000h
	BX = country code
	    0001h USA (English), 0051h Japan
Return: AL = status
	    00h successful
	    01h bad country code
	    02h other error
Note:	This function is called with BX=0051h by Japanese versions of
	  MS-DOS/PC DOS/DR DOS IO.SYS/IBMBIO.COM at initialization time.
SeeAlso: AX=5001h,INT 16/AX=5000h

Top
105001 - INT 10 - VIDEO - AX PC - GET SCREEN COUNTRY CODE
INT 10 - VIDEO - AX PC - GET SCREEN COUNTRY CODE
	AX = 5001h
Return: AL = status
	    00h successful
		BX = country code
	    02h error
SeeAlso: AH=00h,AX=5000h,INT 16/AX=5001h,INT 21/AH=38h

Top
105049 - INT 10 - VIDEO - SCREENR v1.55+ - API
INT 10 - VIDEO - SCREENR v1.55+ - API
	AX = 5049h ('PI')
	BX = function
	    0000h installation check
	    0001h lock mode
	    0002h unlock mode
	    0003h lock palette
	    0004h unlock palette
Return: AX = 0000h if installed
	    BX = TSR version (BH=major,BL=minor)
	    CL = mode locking status
		00h mode not locked
		01h mode locked: INT 10/AH=00h disabled
	    CH = palette locking status
		00h palette not locked
		01h palette locked, the following functions are disabled:
			AX=1000h, AX=1001h, AX=1002h, AX=1010h, AX=1012h
Program: SCREENR is a TSR supplied with Patrick Ibbetson's SCREEN display
	  utility.
Index:	installation check;SCREENR

Top
1051 - INT 10 - SCROLOCK.COM - ENABLE/DISABLE
INT 10 - SCROLOCK.COM - ENABLE/DISABLE
	AH = 51h
	AL = state
	    00h disable
	    nonzero enable
Return: nothing
Program: SCROLOCK is a utility supplied with System Enhancement Associates'
	  ARC file archiver
SeeAlso: AH=50h"SCROLOCK"

Top
105100 - INT 10 - VIDEO - AX PC - REGISTER EXTERNAL CHARACTER
INT 10 - VIDEO - AX PC - REGISTER EXTERNAL CHARACTER
	AX = 5100h
	BH = character width in bits (10h)
	BL = character height (10h)
	DX = character code (DH = F0h-F3h, DL=40h-7Eh,80h-FCh)
	ES:BP -> character bitmap
Return: AL = status (00h successful, 01h failed)
SeeAlso: AX=5101h,INT 1F"SYSTEM DATA"

Top
105101 - INT 10 - VIDEO - AX PC - READ CHARACTER
INT 10 - VIDEO - AX PC - READ CHARACTER
	AX = 5101h
	BH = character width in bits
	BL = character height
	DX = character code (DH = 00h if 8-bit character)
	ES:BP -> buffer for character bitmap
Return: AL = status (00h successful, 01h failed)
SeeAlso: AH=09h,AX=5100h

Top
105200 - INT 10 - VIDEO - AX PC - SET VIRTUAL TEXT RAM BUFFER
INT 10 - VIDEO - AX PC - SET VIRTUAL TEXT RAM BUFFER
	AX = 5200h
	BX = segment of buffer
Return: nothing
SeeAlso: AX=5201h

Top
105201 - INT 10 - VIDEO - AX PC - GET VIRTUAL TEXT RAM BUFFER
INT 10 - VIDEO - AX PC - GET VIRTUAL TEXT RAM BUFFER
	AX = 5201h
Return: BX = segment of buffer or 0000h if failed
SeeAlso: AX=8300h,AH=FEh

Top
1053 - INT 10 - Show Partner F/X v3.6 - START PRESENTATION
INT 10 - Show Partner F/X v3.6 - START PRESENTATION
	AH = 53h
	DS:DX -> ASCIZ name of presentation file (no path, extension forced to
		.PR2)
Return: ???
SeeAlso: AH=55h

Top
1055 - INT 10 - Show Partner F/X v3.6 - UNINSTALL
INT 10 - Show Partner F/X v3.6 - UNINSTALL
	AH = 55h
Return: FXSHOW.EXE removed from memory
SeeAlso: AH=53h

Top
105555 - INT 10 - VIDEO - ATI EGA/VGA Wonder Super Switch - INSTALLATION CHECK
INT 10 - VIDEO - ATI EGA/VGA Wonder Super Switch - INSTALLATION CHECK
	AX = 5555h
Return: AX = AAAAh    if installed
	BX:CX -> ??? routine in SMS.COM resident portion
	      -> data area (see #00175) in VCONFIG
Program: Super Switch (SMS.COM) is a video mode switch program supplied with
	  ATI EGA Wonder. It also maps video mode 08h to 27h or 23h.
SeeAlso: INT 10/AH=00h,INT 14/AX=AA01h,INT 2F/AX=6400h
Index:	screen saver;ATI Wonder SMS.COM

Format of ATI Super Switch data area:
Offset	Size	Description	(Table 00175)
 00h	DWORD	original INT 09 vector
 04h	DWORD	original INT 10 vector
 08h	DWORD	original INT 1C vector
 0Ch	WORD	screen saver state, 0=off, 1=on
 0Eh	WORD	blanking interval in clock ticks

Top
105555BXAAAA - INT 10 - LIR - SET CONFIGURATION
INT 10 - LIR - SET CONFIGURATION
	AX = 5555h
	BX = AAAAh
	CL = new configuration flags (see #04118)
	CH > 0 new video adapter configuration (see #04121)
	   = 0 do not update video adapter configuration
	DL = new keyboard layout flags (see #04119)
	DH = new alphabet flags (see #04120)
Return: AX = A55Ah if installed
Program: LIR is a DOS/Windows 3.xx codepage support package develoved by
	  LABAS u.a.b. It supports several screen and printer codepages as
	  well as various keyboard layouts used in Lithuania.
	  Download at: ftp://ftp.labas.com/pub/drivers/language/lir422.zip
SeeAlso: AX=5555h/BX=BBBBh,INT 17/AX=5555h/BX=AAAAh

Bitfields for LIR configuration flags:
Bit(s)	Description	(Table 04118)
 7	program is active
 6	???
 5-3	code page
 2	Lithuanian???
 1	Russian???
 0	enable beeps
SeeAlso: #04119

Bitfields for LIR keyboard layout flags:
Bit(s)	Description	(Table 04119)
 7-5	keyboard layout
	100 QWERTY
	010 Lithuanian AZERTY
	001 Lithuanian ergonomic FZVPUJ
 4-3	reserved (0)
 2	Lithuanian keyboard???
 1	Russian keyboard???
 0	???
SeeAlso: #04118,#04120

Bitfields for LIR Alphabet flags:
Bit(s)	Description	(Table 04120)
 7-3	reserved (0)
 2	Lithuanian alphabetic symbol table???
 1	Russian alphabetic symbol table???
 0	reserved (0)
SeeAlso: #04118,#04119,#04121

Bitfields for LIR video adapter configuration:
Bit(s)	Description	(Table 04121)
 7	Hercules Graphics Card (HGC)
 6-5	reserved (0)
 4	VGA
 3	MCGA
 2	EGA
 1	CGA
 0	reserved (0)
Note:	multiple bits may be set if more than one video adapter is installed
SeeAlso: #04118

Top
105555BXBBBB - INT 10 - LIR - GET CONFIGURATION
INT 10 - LIR - GET CONFIGURATION
	AX = 5555h
	BX = BBBBh
Return: AX = magic signature A55Ah
	BX = version number (BH = major version, BL = minor version),
	      e.g. BX = 0410h for LIR v4.10, or BX = 0422h for LIR v4.22)
	CL = configuration flags (see #04118)
	CH = video adapter configuration (see #04121)
	DL = keyboard layout flags(see #04119)
	DH = alphabet flags (see #04120)
SeeAlso: AX=5555h/BX=AAAAh,INT 17/AX=5555h/BX=BBBBh

Top
105F00 - INT 10 - Chips & Technologies Extended BIOS - RETURN CHIP INFORMATION
INT 10 - Chips & Technologies Extended BIOS - RETURN CHIP INFORMATION
	AX = 5F00h
Return: AL = 5Fh function supported
	    BL = chip type (see #00176)
	    BH = video memory size (see #00177)
	    CX = miscellaneous information (see #00178)
SeeAlso: AX=5F01h

Bitfields for Chips&Technologies chip type:
Bit(s)	Description	(Table 00176)
 7-4	chip type
	0000: 82c451
	0001: 82c452 / 82c452A
	0010: 82c455
	0011: 82c453
	0100: 82c450
	0101: 82c456
	0110: 82c457
	0111: F65520
	1000: F65530 / F65525
	1001: F66510
	1010: ???
	1011: F64300 "Wingine DGX"
	1100: F65535/F65545 ???
	1101: F65540
	1110: ???
	1111: ???
 3-0	revision number
SeeAlso: #00177

(Table 00177)
Values for Chips&Technologies video memory size:
 00h	256KB
 01h	512KB
 02h	1MB
 03h	2MB
SeeAlso: #00176

Bitfields for Chips&Technologies miscellaneous information:
Bit(s)	Description	(Table 00178)
 0	DAC size (0=6-bit, 1=8-bit)
 1	system type (0=PC/AT, 1=PS/2)
 2	extended text modes supported by BIOS
 3	reserved
 4	extended graphics modes supported by BIOS
 5	reserved
 6	BIOS supports graphics cursor
 7	BIOS supports anti-aliased font
 8	BIOS supports pre-programmed emulation
 9	BIOS supports auto emulation
 10	BIOS supports variable mode set at cold boot
 11	BIOS supports variable mode set on warm boot
 12	BIOS supports emulation mode set at cold boot
 13	BIOS supports emulation mode set on warm boot
 14-15	reserved

Top
105F00 - INT 10 - VIDEO - Realtek RTVGA - RETURN CHIP VERSION
INT 10 - VIDEO - Realtek RTVGA - RETURN CHIP VERSION
	AX = 5F00h
Return: AH = 00h, if successful
	AL = chip version (the same value that VTEST.EXE reads)
	    00h RTG3103???
	    01h RTG31030/RTG3105
	    02h RTG3106???
	    3Fh non-Realtek chip
BUG:	in v3.C10, AX=5F00h on return due to improper stack restoration code
SeeAlso: AX=5F01h"RTVGA"

Top
105F01 - INT 10 - Chips & Technologies Extended BIOS - SET PREPROGRAMMED EMULATION
INT 10 - Chips & Technologies Extended BIOS - SET PREPROGRAMMED EMULATION
	AX = 5F01h
	BL = emulation type (see #00179)
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F00h,AX=5F02h,AH=FFh"Oak"

(Table 00179)
Values for Chips&Technologies emulation type:
 00h,01h reserved
 02h	CGA
 03h	MDA
 04h	Hercules
 05h	EGA
 06h	VGA (disable emulation)

Top
105F01 - INT 10 - VIDEO - Realtek RTVGA - WRITE RTVGA BIOS STRING TO DESTINATION
INT 10 - VIDEO - Realtek RTVGA - WRITE RTVGA BIOS STRING TO DESTINATION
	AX = 5F01h
	ES:DI -> zero-filled buffer for BIOS ID string
Return: AH = 00h if successful
	ES:DI -> ASCII signature "REALTEK VGA BIOS Version 3C.10"
BUG:	in v3.C10, AX=5F01h on return due to improper stack restoration code
SeeAlso: AX=5F00h"RTVGA",AX=5F02h"RTVGA"

Top
105F02 - INT 10 - Chips & Technologies Extended BIOS - AUTO EMULATION CONTROL
INT 10 - Chips & Technologies Extended BIOS - AUTO EMULATION CONTROL
	AX = 5F02h
	BL = new state of autmatic emulation (00h enabled, 01h disabled)
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F01h,AX=5F03h

Top
105F02 - INT 10 - Chips & Technologies '64300' BIOS - SET CLOCK
INT 10 - Chips & Technologies '64300' BIOS - SET CLOCK
	AX = 5F02h
	BH = what to set
	    02h dot clock
		BL = speed in MHz (12-99)
	    03h memory clock
		BL = speed in MHz (12-99)
	    FFh default dot and memory clocks
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F00h"Chips",AX=5F03h"64300",AX=5F02h"65530"

Top
105F02 - INT 10 - Chips & Technologies '65530' BIOS - SET CLOCK
INT 10 - Chips & Technologies '65530' BIOS - SET CLOCK
	AX = 5F02h
	BH = what to set
	    02h dot clock
		BL = new clock speed (see #00180)
	    03h memory clock
		BL = new clock speed (see #00180)
	    04h set power-down register
		BL = new value for power-down register (bits 3-0 only)
	    06h (404 clock chip) set control register
		BL = new vlaue for control register (bits 5-0 only)
	    06h (404A/B/B-ES clock chips) set control register PWRDN1
		BL = new value for control register
	    07h (404A/B/B-ES clock chips) set control register PWRDN1
		BL = new value for control register
	    FFh default dot and memory clocks
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F01h,AX=5F02h"64300",AX=5FA0h,#00184

(Table 00180)
Values for C&T '65530' BIOS clock speed:
 00h	12 MHz
 01h	14 MHz
 02h	16 MHz
 03h	18 MHz
 04h	20 MHz
 05h	25 MHz
 06h	28 MHz
 07h	32 MHz
 08h	36 MHz
 09h	40 MHz
 0Ah	45 MHz
 0Bh	50 MHz
 0Ch	56 MHz
 0Dh	60 MHz
 0Eh	65 MHz
 0Fh	66 MHz
 15h	34 MHz

Top
105F02 - INT 10 - VIDEO - Realtek RTVGA - RETURN RTVGA ON-BOARD MEMORY SIZE
INT 10 - VIDEO - Realtek RTVGA - RETURN RTVGA ON-BOARD MEMORY SIZE
	AX = 5F02h
Return: AH = 00h, if successful
	AL = on-board memory size
	     (00h = 256K, 01h = 512K, 02h = 768K, 03h = 1024K)
BUG:	in v3.C10, AX=5F02h on return due to improper stack restoration code
SeeAlso: AX=5F01h"RTVGA",AX=5F03h"RTVGA"

Top
105F03 - INT 10 - VIDEO - Realtek RTVGA - SET ???
INT 10 - VIDEO - Realtek RTVGA - SET ???
	AX = 5F03h
	BL = 0-3 (???)
Return: AH = 00h if successful
BUG:	in v3.C10, AX=5F03h on return due to improper stack restoration code
SeeAlso: AX=5F02h"RTVGA"

Top
105F03BL00 - INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON DISPLAY MODE
INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON DISPLAY MODE
	AX = 5F03h
	BL = 00h
	CL = display mode
	CH = mode (see #00181)
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F02h,AX=5F03h/BL=01h"Chips",AX=5F90h

Bitfields for Chips&Technologies display mode:
Bit(s)	Description	(Table 00181)
 1-0	scanlines (00 = 200, 01 = 350, 10 = 400)
 7	persistence (0 reset on next boot, 1 until changed)

Top
105F03BH00 - INT 10 - Chips & Technologies '64300' BIOS - GET CLOCK SPEED
INT 10 - Chips & Technologies '64300' BIOS - GET CLOCK SPEED
	AX = 5F03h
	BH = 00h (get default memory clock)
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
		    BL = clock speed in MHz
SeeAlso: AX=5F02h"64300",AX=5F04h"64300"

Top
105F03BL01 - INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON EMULATION MODE
INT 10 - Chips & Technologies Extended BIOS - SET POWER-ON EMULATION MODE
	AX = 5F03h
	BL = 01h
	CL = emulation mode (see #00181)
	CH = permanence
	    bit 7 persistence (0 reset on next boot, 1 until changed)
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F02h,AX=5F03h/BL=00h"Chips",AX=5F90h

Top
105F04 - INT 10 - Chips & Technologies '64300' BIOS - GET REFRESH RATE
INT 10 - Chips & Technologies '64300' BIOS - GET REFRESH RATE
	AX = 5F04h
	BL = video mode number
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
		    BH = available refresh rates (see #00182)
		    BL = currently-set refresh rate (see #00182)
SeeAlso: AX=5F03h"64300",AX=5F05h"64300"

Bitfields for C&T 64300 refresh rates:
Bit(s)	Description	(Table 00182)
 5	75 Hz
 4	72 Hz
 3	70 Hz
 2	60 Hz
 1	56 Hz
 0	interlaced

Top
105F05 - INT 10 - Chips & Technologies '64300' BIOS - SET REFRESH RATE
INT 10 - Chips & Technologies '64300' BIOS - SET REFRESH RATE
	AX = 5F05h
	BL = video mode number
	BH = refresh rate to set (see #00182)
		bit 7:	=0 program new clock and CRT parametes
			=1 keep current parameters
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F04h"64300"

Top
105F06 - INT 10 - Chips & Technologies '64300' BIOS - GET XRAM INFORMATION
INT 10 - Chips & Technologies '64300' BIOS - GET XRAM INFORMATION
	AX = 5F06h
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
		    BL = XRAM presence (00h no XRAM, 01h present)
SeeAlso: AX=5F05h,AX=5F08h

Top
105F08 - INT 10 - Chips & Technologies '64300' BIOS - SET LINEAR MEMORY START ADDRESS
INT 10 - Chips & Technologies '64300' BIOS - SET LINEAR MEMORY START ADDRESS
	AX = 5F08h
	BX = desired start address in megabytes
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F06h

Top
105F10 - INT 10 - Chips & Technologies '64300'/'65530' BIOS - GET LINEAR MEMORY INFO
INT 10 - Chips & Technologies '64300'/'65530' BIOS - GET LINEAR MEMORY INFO
	AX = 5F10h
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
		    BX:CX = linear memory base address
		    DX = virtual screen width offset (bytes)
		    SI;DI = linear memory size
SeeAlso: AX=5F08h,AX=5FA0h

Top
105F50 - INT 10 - Chips & Technologies Extended BIOS - GET LAPTOP DISPLAY STATUS
INT 10 - Chips & Technologies Extended BIOS - GET LAPTOP DISPLAY STATUS
	AX = 5F50h
Return: DL = display status (see #00183)
Note:	this call can be used on Toshiba laptops since ~1995 instead of
	  INT 42/AX=7503h which is no longer supported with the F655xx chips
SeeAlso: INT 42/AX=7503h

Bitfields for display status:
Bit(s)	Description	(Table 00183)
 7-4	always 0 ???
 3	1: both displays active (bit 1 also set)
 2	1: normal (monochrome display only), 0: inverse or color
 1	1: internal display active, 0: external only
 0	always set ???

Top
105F50 - INT 10 - Chips & Technologies '65530' BIOS - GET 655xx INFORMATION
INT 10 - Chips & Technologies '65530' BIOS - GET 655xx INFORMATION
	AX = 5F50h
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
		    BX = width of flat panel in pixels
		    CX = height of flat panel in pixels
		    DX = F65520/525/530 status (see #00184)
SeeAlso: AX=5F51h,INT 15/AX=5F31h

Bitfields for C&T F65520/525/530 status:
Bit(s)	Description	(Table 00184)
 15-0	reserved
 6-5	type of clock chip
	00 = 404
	01 = 404A
	10 = 404B ES
	11 = 404B
 4	accelerator enabled
 3	both displays active
 2	video polarity (1 = inverted)
 1	output device
	0 CRT
	1 flat panel (LCD)
 0	reserved

Top
105F51 - INT 10 - Chips & Technologies Extended BIOS - SWITCH DISPLAY DEVICE
INT 10 - Chips & Technologies Extended BIOS - SWITCH DISPLAY DEVICE
	AX = 5F51h
	BL = new active display
	    00h CRT
	    01h flat panel (LCD)
	    02h both simultaneously
	BH = 01h to allow reprogramming the DAC
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F50h,AX=5F53h

Top
105F53 - INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE ACCELERATOR SUPPORT
INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE ACCELERATOR SUPPORT
	AX = 5F53h
	BL = new support state
	    00h disable buffer/accelerator
	    01h enable buffer/acelerator
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F50h,AX=5F51h,AX=5F54h

Top
105F54 - INT 10 - Chips & Technologies Extended BIOS - TURN FLAT PANEL ON/OFF
INT 10 - Chips & Technologies Extended BIOS - TURN FLAT PANEL ON/OFF
	AX = 5F54h
	BL = new state
	    00h on
	    01h off
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F50h,AX=5F51h,AX=5F53h,AX=5F5Ah

Top
105F5A - INT 10 - Chips & Technologies Extended BIOS - SET FLAT-PANEL VIDEO POLARITY
INT 10 - Chips & Technologies Extended BIOS - SET FLAT-PANEL VIDEO POLARITY
	AX = 5F5Ah
	BL = new video polarity
	    00h normal
	    01h inverted
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F50h,AX=5F54h

Top
105F5C - INT 10 - Chips & Technologies Extended BIOS - SET VERTICAL COMPENSATION
INT 10 - Chips & Technologies Extended BIOS - SET VERTICAL COMPENSATION
	AX = 5F5Ch
	BL = type of vertical compensation to use
	    00h no compensation
	    01h automatic centering
	    02h set centering register
		DX = centering value (bits 9-0 only)
	    03h non-automatic centering
	    04h set vertical line insertion register
		DL = vertical line insertion (bits 3-0 only)
	    05h set alternate maximum scanline register
		DL = alternate maximum scanline (bits 4-0 only)
	    06h enable text stretching, type 0
	    07h enable text stretching, type 1
	    08h enable text stretching, type 2
	    09h enable text stretching, type 3
	    0Ah	disable text stretching
	    0Bh set vertical line replication register
		DL = vertical line replication (bits 3-0 only)
	    0Ch enable graphics stretching, type 0
	    0Dh enable graphics stretching, type 1
	    0Eh disable vertical graphics stretching
	    0Fh disable all horizontal and vertical compensation
	    10h enable optimal compensation
	    11h disable optimal compensation
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F50h,AX=5F5Eh,AX=5F5Fh

Top
105F5E - INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE TALL FONT LOADING
INT 10 - Chips & Technologies Extended BIOS - EN/DISABLE TALL FONT LOADING
	AX = 5F5Eh
	BL = new state of tall-font loading
	    00h enable loading	of 8x19/30/32 fonts
	    01h disable loading of 8x19/30/32 fonts
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
Note:	when tall fonts are enabled, the fonts are stretched by duplicating
	  scan lines as appropriate to convert an 8x16 font to the proper
	  height (scan lines 1/9/12 [8x19] or 2-15 [8x30] or all [8x32])
SeeAlso: AX=5F5Ch,AX=5F5Fh

Top
105F5F - INT 10 - Chips & Technologies Extended BIOS - HORIZONTAL COMPENSATION
INT 10 - Chips & Technologies Extended BIOS - HORIZONTAL COMPENSATION
	AX = 5F5Fh
	BL = horizontal compensation type
	    00h none
	    01h automatic centering
	    02h set centering register
		DL = centering value
	    03h non-automatic centering
	    04h enable text compression (force 8xN fonts)
	    05h disable text compression (allow 9xN fonts)
	    06h enable auto doubling
	    07h disable auto doubling
	    0Fh disable all horizontal and vertical compensation
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AX=5F50h,AX=5FA0h

Top
105F90 - INT 10 - Chips & Technologies Extended BIOS - GET SUPERVGA STATE BUFFER SIZE
INT 10 - Chips & Technologies Extended BIOS - GET SUPERVGA STATE BUFFER SIZE
	AX = 5F90h
	CX = state mask (see #00185)
Return: AL = 5Fh if function supported
	    BX = number of 64-byte blocks required
SeeAlso: AH=1Ch,AX=5F03h,AX=5F91h,AX=5F92h,AX=5FA0h

Bitfields for Chips&Technologies state mask:
Bit(s)	Description	(Table 00185)
 0	video hardware
 1	BIOS data state
 2	DAC state
 15	type (0 all state info, 1 SuperVGA state only)

Top
105F91 - INT 10 - Chips & Technologies Extended BIOS - SAVE SUPERVGA STATE
INT 10 - Chips & Technologies Extended BIOS - SAVE SUPERVGA STATE
	AX = 5F91h
	CX = state mask (see #00185)
	ES:BX -> save buffer
Return: AL = 5Fh if function supported
	    buffer at ES:BX filled
SeeAlso: AH=1Ch,AX=5F03h,AX=5F90h,AX=5F92h,AX=5FA1h

Top
105F92 - INT 10 - Chips & Technologies Extended BIOS - RESTORE SUPERVGA STATE
INT 10 - Chips & Technologies Extended BIOS - RESTORE SUPERVGA STATE
	AX = 5F92h
	CX = state mask (see #00185)
	ES:BX -> previously-filled save buffer
Return: AL = 5Fh if function supported
SeeAlso: AH=1Ch,AX=5F03h,AX=5F90h,AX=5F92h,AX=5FA2h

Top
105FA0 - INT 10 - Chips & Technologies Wingine DGX - GET EXTENDED BIOS SAVE BUFFER SIZE
INT 10 - Chips & Technologies Wingine DGX - GET EXTENDED BIOS SAVE BUFFER SIZE
	AX = 5FA0h
	CX = state(s) to be saved (see #00186)
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
		    BX = number of 64-byte blocks required for state
SeeAlso: AH=1Ch,AX=5FA1h,AX=5FA2h,AX=5F90h,AX=4F04h

Bitfields for C&T BIOS save/restore state type:
Bit(s)	Description	(Table 00186)
 0	video hardware
 1	BIOS data
 2	DAC and color registers
 14	(65530 BIOS with AL=A1h only) clear emulation state
 15	extended registers
SeeAlso: #00048,#00085

Top
105FA1 - INT 10 - Chips & Technologies Wingine DGX - SAVE VIDEO STATE
INT 10 - Chips & Technologies Wingine DGX - SAVE VIDEO STATE
	AX = 5FA1h
	CX = state(s) to be saved (see #00186)
	ES:BX -> buffer for state information
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
		    ES:BX buffer filled
SeeAlso: AH=1Ch,AX=5FA0h,AX=5FA2h,AX=5F91h

Top
105FA2 - INT 10 - Chips & Technologies Wingine DGX - RESTORE VIDEO STATE
INT 10 - Chips & Technologies Wingine DGX - RESTORE VIDEO STATE
	AX = 5FA2h
	CX = state(s) to be restored (see #00186)
	ES:BX -> buffer containing previously-saved state information
Return: AL = 5Fh if function supported
	    AH = status
		00h unsuccessful
		01h successful
SeeAlso: AH=1Ch,AX=5FA0h,AX=5FA1h,AX=5F92h

Top
1060 - INT 10 - HUNTER 16 - SET GRAPHICS FONT
INT 10 - HUNTER 16 - SET GRAPHICS FONT
	AH = 60h
	AL = new font
	    bit 7    output characters in reverse video
	    bits 0-6 font number (see #00200 at AH=77h)
Return: BH = cell width
	BL = cell height
Desc:	select the font to use for output in mode 6; this can be used to mix
	  fonts on the screen
Note:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
SeeAlso: AH=04h"HUNTER",AH=73h"HUNTER",AH=77h"HUNTER"

Top
1061 - INT 10 - HUNTER 16 - MOVE CURSOR TO GRAPHICS CO-ORDINATES
INT 10 - HUNTER 16 - MOVE CURSOR TO GRAPHICS CO-ORDINATES
	AH = 61h
	CX = column
	DX = row
Return: nothing
Note:	this function is only valid in graphics modes
SeeAlso: AH=62h

Top
1062 - INT 10 - HUNTER 16 - GET CURSOR POSITION IN GRAPHICS CO-ORDINATES
INT 10 - HUNTER 16 - GET CURSOR POSITION IN GRAPHICS CO-ORDINATES
	AH = 62h
Return: CX = column
	DX = row
Note:	this function is only valid in graphics modes
SeeAlso: AH=61h

Top
1063 - INT 10 - HUNTER 16 - SET CONTRAST
INT 10 - HUNTER 16 - SET CONTRAST
	AH = 63h
	AL = contrast (0..127)
Return: nothing
Desc:	set the LCD screen contrast to improve visibility
SeeAlso: AH=64h,AH=75h

Top
1064 - INT 10 - HUNTER 16 - SET BACKLIGHT LEVEL
INT 10 - HUNTER 16 - SET BACKLIGHT LEVEL
	AH = 64h
	AL = level (0..15)
Return: nothing
Desc:	set the LCD backlight level to improve visibility in bad lighting
SeeAlso: AH=63h,AH=65h,AH=74h,AH=78h"HUNTER",INT 15/AH=74h

Top
106500 - INT 10 - HUNTER 16 - GET BACKLIGHT TIMEOUT
INT 10 - HUNTER 16 - GET BACKLIGHT TIMEOUT
	AX = 6500h
Return: BX = timeout in seconds (0-300)
Desc:	returns the time after which the backlight will turn off
SeeAlso: AH=63h,AH=64h,AX=6501h,INT 15/AH=74h

Top
106501 - INT 10 - HUNTER 16 - SET BACKLIGHT TIMEOUT
INT 10 - HUNTER 16 - SET BACKLIGHT TIMEOUT
	AX = 6501h
	BX = timeout in seconds (0-300)
Return: nothing
Desc:	set the idle time after which the backlight will turn off
SeeAlso: AH=64h,AX=6500h

Top
1066 - INT 10 - HUNTER 16 - SPLIT DISPLAY
INT 10 - HUNTER 16 - SPLIT DISPLAY
	AH = 66h
	AL = control bits (see #00187)
	BH = top row of lower section of LCD (0..7)
	BL = top row of lower section of the virtual screen (0..24)
Return: nothing
Desc:	split the LCD screen horizontally into two parts; each part may be
	  individually scrollable or fixed.
Note:	the Hunter 16 has a 240x64 LCD display which serves as a window into
	  a 640x200 virtual screen

Bitfields for HUNTER 16 control bits:
Bit(s)	Description	(Table 00187)
 0-1	01: no split, 10: allow split
 2	allow scrolling the upper part
 3	allow scrolling the lower part

Top
106A00BX0000 - INT 10 - Direct Graphics Interface Standard (DGIS) - INQUIRE AVAILABLE DEVICES
INT 10 - Direct Graphics Interface Standard (DGIS) - INQUIRE AVAILABLE DEVICES
	AX = 6A00h
	BX = 0000h
	CX = 0000h
	DX = buffer length (may be 0)
	ES:DI -> buffer
Return: BX = number of bytes stored in buffer
	CX = bytes required for all descriptions (0 if no DGIS)
Note:	buffer contains descriptions and addresses of DGIS-compatible
	  display(s) and printer(s)
SeeAlso: AX=6A02h

Top
106A01CX0000 - INT 10 - Direct Graphics Interface Standard (DGIS) - REDIRECT CHARACTER OUTPUT
INT 10 - Direct Graphics Interface Standard (DGIS) - REDIRECT CHARACTER OUTPUT
	AX = 6A01h
	CX = 0000h
	ES:DI = address of device to send INT 10 output to
Return: CX = 0000h  output could not be redirected
	     else INT 10h output now routed to requested display
SeeAlso: AX=6A02h

Top
106A02 - INT 10 - DGIS - INQUIRE INT 10 OUTPUT DEVICE
INT 10 - DGIS - INQUIRE INT 10 OUTPUT DEVICE
	AX = 6A02h
	ES:DI = 0000h:0000h
Return: ES:DI = 0000h:0000h  if current display is non-DGIS
		else address of the current DGIS INT 10 display
SeeAlso: AX=6A00h,AX=6A01h

Top
106D74 - INT 10 - MTRFONTS - INSTALLATION CHECK
INT 10 - MTRFONTS - INSTALLATION CHECK
	AX = 6D74h ('mt')
	DS:0104h = signature "MtRfOnTs"
Return: AX = 4D54h ('MT') if installed
	    ES = PSP segment of resident code
Program: MTRFONTS is a shareware TSR (part of the MTR package) by Mechon Mamre
	  which provides Hebrew screen fonts
SeeAlso: INT 16/AX=6D74h"MTRTSR"

Top
106E00 - INT 10 - Paradise VGA internal - GET ???
INT 10 - Paradise VGA internal - GET ???
	AX = 6E00h
Return: BX = 5744h ('WD') if supported
	    DH:AH:AL = last three ASCII digits of ROM serial number
	    CL = ???
	    CH = ???
SeeAlso: AX=6E04h,AX=6E05h

Top
106E04 - INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
INT 10 - Paradise VGA internal - GET SCREEN SIZE AND ???
	AX = 6E04h
Return: BX = screen width (columns)
	CX = screen height (lines)
	AH = ??? (05h or FFh)
	AL = ??? (04h or video mode)
SeeAlso: AX=6E00h,AX=6E05h

Top
106E05 - INT 10 - Paradise VGA internal - SET MODE
INT 10 - Paradise VGA internal - SET MODE
	AX = 6E05h
	BL = mode
Return: nothing
Note:	like AH=00h, AL=BL.
SeeAlso: AH=00h,AX=6E00h,AX=6E04h,AX=6F05h

Top
106F00 - INT 10 - HP Vectra EX-BIOS - INSTALLATION CHECK
INT 10 - HP Vectra EX-BIOS - INSTALLATION CHECK
	AX = 6F00h
	BX <> 4850h (usually set to 0000h for simplicity)
Return: BX = 4850h ('HP') indicates HP Extended BIOS video functions present
	AX destroyed
SeeAlso: AX=6F00h"Video7",AX=6F01h,AX=6F02h,AX=6F03h,AX=6F04h,AX=6F05h
SeeAlso: INT 14/AX=6F00h,INT 16/AX=6F00h,INT 17/AX=6F00h,INT 33/AX=6F00h

Top
106F00BX0000 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - INSTALLATION CHECK
INT 10 - VIDEO - Video7 VGA,VEGA VGA - INSTALLATION CHECK
	AX = 6F00h
	BX = 0000h
Return: BX = 5637h ('V7') indicates Video7 VGA/VEGA VGA extensions are present
SeeAlso: AX=6F01h,AX=6F02h,AX=6F03h,AX=6F04h,AX=6F05h

Top
106F01 - INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP EX-BIOS - GET MONITOR INFO
INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP EX-BIOS - GET MONITOR INFO
	AX = 6F01h
Return: AL = monitor type code (HP,VEGA VGA only) (see #00188)
	AH = status register information (see #00189)
	CL = current value of Extended Control register (HP Ext BIOS, and only
		if AL=41h) (see #00190)
Notes:	bits 0-3 are the same as the EGA/VGA status register bits 0-3
	supported by original HP Vectra AT and by ES/QS/RS series Vectras

(Table 00188)
Values for monitor type code (HP Extended BIOS):
 00h	non-HP card with ROM and possibly its own INT 10h driver
 41h	MultiMode video display adapter
 42h-44h reserved
 45h	industry standard monochrome display adapter
 46h	industry standard color display adapter
 51h	reserved

Bitfields for status register information:
Bit(s)	Description	(Table 00189)
 0	display enable
	0 = display enabled
	1 = vertical or horizontal retrace in progress
 1	light pen flip flop set
 2	light pen switch activated
 3	vertical sync
 4	monitor resolution
	0 = high resolution (>200 lines)
	1 = low resolution (<=200 lines)
 5	display type (0 = color, 1 = monochrome)
 6,7	diagnostic bits
Note:	bits 0-3 are the same as the EGA/VGA status register bits 0-3

Top
106F02 - INT 10 - HP Vectra EX-BIOS - SET MONITOR INFO
INT 10 - HP Vectra EX-BIOS - SET MONITOR INFO
	AX = 6F02h
	BL = new value for extended control register (see #00190)
Return: AX,BL destroyed
Notes:	this function is only valid when an HP MultiMode Video Display Adapter
	  is installed
	the Extended Control register is at I/O address 3DDh
SeeAlso: AX=6F01h,AX=6F03h

Bitfields for HP Vectra extended control register:
Bit(s)	Description	(Table 00190)
 0	screen resolution (0 = 200 lines, 1 = 400 lines)
 1	underline enable (if set, 'blue' of fg color = underline)
 2	font (0 = Standard-8, 1 = HP-Roman-8)
 3	memory disabled for CPU access
 4	allow access to full 32K memory instead of wrapping at 16K
 5	select second 16K page instead of first
 6,7	unused

Top
106F03 - INT 10 - HP Vectra EX-BIOS - MODIFY MONITOR INFO
INT 10 - HP Vectra EX-BIOS - MODIFY MONITOR INFO
	AX = 6F03h
	BH = exclude mask (set bits are not modified)
	BL = new values for bits indicated by BH (see #00190)
Return: AX destroyed
Notes:	this function is only valid when an HP MultiMode Video Display Adapter
	  is installed
	supported by original HP Vectra AT and by ES/QS/RS series Vectras
SeeAlso: AX=6F01h,AX=6F02h

Top
106F04 - INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP Vectra - GET MODE AND SCREEN RESOLUTION
INT 10 - VIDEO - Video7 VGA,VEGA VGA,HP Vectra - GET MODE AND SCREEN RESOLUTION
	AX = 6F04h
Return: AL = current video mode (see #00191)
	BX = horizontal columns (text) or pixels (graphics)
	CX = vertical columns (text) or pixels (graphics)
SeeAlso: AX=6F05h

Top
106F05 - INT 10 - VIDEO - Video7 VGA,VEGA EXTENDED EGA/VGA,HP Vectra - SET VIDEO MODE
INT 10 - VIDEO - Video7 VGA,VEGA EXTENDED EGA/VGA,HP Vectra - SET VIDEO MODE
	AX = 6F05h
	BL = mode (see #00191)
Return: AX,BL destroyed
Notes:	also supported by the HP Vectra Extended BIOS on the original
	  HP Vectra AT and by ES/QS/RS series Vectras
	on the HP Vectra, this function rather than AH=00h must be used to
	  return to an IBM-standard mode after setting an HP-specified mode
	  from 08h to 0Fh.
SeeAlso: AH=00h,AX=0070h,AX=007Eh,AX=6F04h

(Table 00191)
Values for Video7/VEGA video mode:
     text/ text pixel	pixel	colors disply scrn  system
     grph resol	 box  resolution       pages  addr
 00h-13h = standard IBM modes (see #00010 at AH=00h)
 08h = T  80x27	  .	  .	mono	  .	.  HP MultiMode Video
 09h = T  80x27	  .	  .	  .	  .	.  HP MultiMode Video
 0Ah = T  40x27	  .	  .	mono	  .	.  HP MultiMode Video
 0Bh = T  40x27	  .	  .	  .	  .	.  HP MultiMode Video
 0Ch = reserved					   HP MultiMode Video
 0Dh = G    .	  .    640x400	  .	  .	.  HP MultiMode Video
 0Eh = G    .	  .    320x400	  .	  .	.  HP MultiMode Video
 0Fh = G    .	  .    320x400	  .	  .	.  HP MultiMode Video
 40h = T  80x43	 8x8	  .	  .	  .	.  Video7/VEGA VGA
 41h = T 132x25	 8x14	  .	  .	  .	.  Video7/VEGA VGA
 42h = T 132x43	 8x8	  .	  .	  .	.  Video7/VEGA VGA
 43h = T  80x60	 8x8	  .	  .	  .	.  Video7/VEGA VGA
 44h = T 100x60	 8x8	  .	  .	  .	.  Video7/VEGA VGA
 45h = T 132x28	 8x8	  .	  .	  .	.  Video7/VEGA VGA
 60h = G    .	  .    752x410	 16	  .	.  Video7 VGA, VEGA VGA
 61h = G    .	  .    720x540	 16	  .	.  Video7 VGA, VEGA VGA
     = G    .	  .    720x540	 16	  .	.  Northgate, Headland 1024i
 62h = G    .	  .    800x600	 16	  .	.  Video7 VGA, VEGA Ext EGA
     = G    .	  .    800x600	 16	  .	.  Headland 1024i
 63h = G    .	  .   1024x768	  2	  .	.  Video7 VGA
 64h = G    .	  .   1024x768	  4	  .	.  Video7 VGA
 65h = G    .	  .   1024x768	 16	  .	.  Video7 VGA, VEGA Ext EGA
     = G    .	  .   1024x768	 16	  .	.  Headland 1024i
 66h = G    .	  .    640x400	256	  .	.  Video7 VGA, VEGA Ext VGA
     = G    .	  .    640x400	256	  .	.  Northgate, Headland 1024i
 67h = G    .	  .    640x480	256	  .	.  Video7 VGA, VEGA Ext VGA
     = G    .	  .    640x480	256	  .	.  Headland 1024i
 68h = G    .	  .    720x540	256	  .	.  Video7 VGA, VEGA Ext VGA
     = G    .	  .    720x540	256	  .	.  Headland 1024i
 69h = G    .	  .    800x600	256	  .	.  Video7 VGA, VEGA Ext VGA
     = G    .	  .    800x600	256	  .	.  Headland 1024i
 70h = G    .	  .    752x410	 16gray	  .	.  Video7 VGA, VEGA VGA
 71h = G    .	  .    720x540	 16gray	  .	.  Video7 VGA, VEGA VGA
 72h = G    .	  .    800x600	 16gray	  .	.  Video7 VGA
 73h = G    .	  .   1024x768	  2gray	  .	.  Video7 VGA
 74h = G    .	  .   1024x768	  4gray	  .	.  Video7 VGA
 75h = G    .	  .   1024x768	 16gray	  .	.  Video7 VGA
 76h = G    .	  .    640x400	256gray	  .	.  Video7 VGA
 77h = G    .	  .    640x480	256gray	  .	.  Video7 VGA
 78h = G    .	  .    720x540	256gray	  .	.  Video7 VGA
 79h = G    .	  .    800x600	256gray	  .	.  (future)
SeeAlso: AH=00h,#00010,AX=0070h,#00011,AX=007Eh,AX=6F04h,#00083
Index:	video modes;Video 7|video modes;VEGA|video modes;Headland

Top
106F06 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - SELECT AUTOSWITCH MODE
INT 10 - VIDEO - Video7 VGA,VEGA VGA - SELECT AUTOSWITCH MODE
	AX = 6F06h
	BL = Autoswitch mode select
	     00h select EGA/VGA-only modes
	     01h select Autoswitched VGA/EGA/CGA/MGA modes
	     02h select 'bootup' CGA/MGA modes
	BH = enable/disable (00h enable, 01h = disable selection)
Return: nothing

Top
106F07 - INT 10 - VIDEO - Video7 VGA,VEGA VGA - GET VIDEO MEMORY CONFIGURATION
INT 10 - VIDEO -  Video7 VGA,VEGA VGA - GET VIDEO MEMORY CONFIGURATION
	AX = 6F07h
Return: AL = 6Fh
	AH = memory configuration
	    bits 0-6 = number of 256K blocks of video memory
	    bit 7    = DRAM/VRAM (0: DRAM, 1: VRAM)
	BH = chip revision (SR8F) (S/C Chip in VEGA VGA)
	BL = chip revision (SR8E) (G/A Chip in VEGA VGA)
	CX = 0000h
SeeAlso: AH=12h/BL=10h

Top
1070 - INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF VIDEO RAM
INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF VIDEO RAM
	AH = 70h
Return: AX:BX -> WORD containing green plane's offset
	AX:CX -> WORD containing green plane's segment
	AX:DX -> WORD containing segment of red (offset 0) and blue (offset
			4000) planes
SeeAlso: AH=71h

Top
1070 - INT 10 - HUNTER 16 - DRAW ELLIPSE/CIRCLE
INT 10 - HUNTER 16 - DRAW ELLIPSE/CIRCLE
	AH = 70h
	DS:BX -> control block (see #00192)
Return: nothing
Desc:	Draws a circle or ellipse. Only valid in graphics modes.
Note:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
SeeAlso: AH=71h"HUNTER"

Format of HUNTER 16 control block:
Offset	Size	Description	(Table 00192)
 00h	WORD	center X co-ordinate
 02h	BYTE	center Y co-ordinate
 03h	WORD	radius in pixels
 05h	BYTE	color (00h white, 01h black, FFh invert)
 06h	BYTE	aspect ratio x:x (1-127)
 07h	BYTE	aspect ratio y:y (1-127)

Top
107000BX0000 - INT 10 - Everex Extended Video BIOS - RETURN EMULATION STATUS
INT 10 - Everex Extended Video BIOS - RETURN EMULATION STATUS
	AX = 7000h
	BX = 0000h
Return: AL = 70h if Trident-based Everex card
	CL = monitor type (see #00193)
	CH = feature bits (see #00194)
	DX = video board info
	    bits 4-15: board ID model (see #00195)
	    bits 0-3:  board ID revision
	DI = BCD BIOS version number
SeeAlso: AX=5F01h,AH=FFh"Oak"

(Table 00193)
Values for Everex monitor type:
 00h	mono
 01h	CGA
 02h	EGA
 03h	digital multifrequency
 04h	IBM PS/2
 05h	IBM 8514
 06h	SuperVGA
 07h	analog multifrequency
 08h	super multifrequency

Bitfields for Everex feature bits:
Bit(s)	Description	(Table 00194)
 7-6	memory size
	00 = 256K
	01 = 512K
	10 = 1024K
	11 = 2048K
 5	special oscillator present
 4	VGA protect enabled
 0	6845 emulation

(Table 00195)
Values for board model for Trident-based Everex cards:
 0236h	Ultragraphics II
 0620h	Vision VGA
 0673h	EVGA
 0678h	Viewpoint

Top
107000BX0004 - INT 10 - Everex Extended Video BIOS - GET PAGING FUNCTION POINTER FOR CURR MODE
INT 10 - Everex Extended Video BIOS - GET PAGING FUNCTION POINTER FOR CURR MODE
	AX = 7000h
	BX = 0004h
Return: ES:DI -> FAR paging function (call with DL = page to set)
Note:	the word preceding ES:DI is the length of the function in bytes, and
	  the last byte of the function is a FAR return instruction.
SeeAlso: AX=4F05h,AX=7000h/BX=0000h,AX=7000h/BX=0005h

Top
107000BX0005 - INT 10 - Everex Extended Video BIOS - GET SUPPORTED MODE INFO
INT 10 - Everex Extended Video BIOS - GET SUPPORTED MODE INFO
	AX = 7000h
	BX = 0005h
	CL = maximum number of modes to get info for
	CH = mode type to get info for (see #00196)
	DL = monitor type to get info for
	ES:DI -> buffer for mode info (see #00197)
Return: CL = total number of modes fitting criteria
	CH = size of each info record
SeeAlso: AX=7000h/BX=0000h,AX=7000h/BX=0004h

(Table 00196)
Values for Everex mode type:
 00h	all modes
 01h	monochrome text modes
 02h	color text modes
 03h	four-color CGA graphics modes
 04h	two-color CGA graphics modes
 05h	16-color graphics modes
 06h	256-color graphics modes

Format of Everex mode information record:
Offset	Size	Description	(Table 00197)
 00h	BYTE	mode number (bit 7 set if extended mode)
 01h	BYTE	mode type (see #00196)
 02h	BYTE	info bits (see #00198)
 03h	BYTE	font height
 04h	BYTE	text columns on screen
 05h	BYTE	text rows on screen
 06h	WORD	number of scan lines
 08h	BYTE	color information
		bits 7-4 reserved
		     3-0 bits per pixel

Bitfields for Everex info bits:
Bit(s)	Description	(Table 00198)
 7,6	reserved
 5	monochrome mode
 4	interlaced display
 3	requires special oscillator
 2,1	memory required (00 = 256K, 01 = 512K, 10 = 1024K, 11 = 2048K)
 0	reserved

Top
1071 - INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF INCRAM
INT 10 - VIDEO - TANDY 2000 only - GET ADDRESS OF INCRAM
	AH = 71h
Return: AX:BX -> WORD containing segment address of INCRAM
	AX:CX -> WORD containing offset of INCRAM
SeeAlso: AH=70h"TANDY"

Top
1071 - INT 10 - HUNTER 16 - DRAW LINE/BOX
INT 10 - HUNTER 16 - DRAW LINE/BOX
	AH = 71h
	DS:BX -> control block (see #00199)
Return: nothing
Desc:	Draws a line or box. Only valid in graphics modes.
SeeAlso: AH=70h"HUNTER"

Format of HUNTER 16 control block:
Offset	Size	Description	(Table 00199)
 00h	WORD	left edge X co-ordinate
 02h	BYTE	lower edge Y co-ordinate
 03h	WORD	right edge X co-ordinate
 05h	BYTE	upper edge Y co-ordinate
 06h	BYTE	color (00h white, 01h black, FFh invert)
 07h	BYTE	type (00h line, 01h box)
 08h	BYTE	if non-zero (and type is BOX) fill with color

Top
1072 - INT 10 - VIDEO - TANDY 2000 only - SCROLL RIGHT PART OR ALL OF SCREEN
INT 10 - VIDEO - TANDY 2000 only - SCROLL RIGHT PART OR ALL OF SCREEN
	AH = 72h
	AL = number of columns to shift scroll area, 00h to clear entire area
	BH = new attributes for blanked columns at left
	CH,CL = row, column of upper left corner of scroll area
	DH,DL = row, column of lower right corner of scroll area
Return: nothing
SeeAlso: AH=06h,AH=07h,AH=73h"TANDY",INT 15/AH=12h/BH=05h

Top
1072 - INT 10 - HUNTER 16 - SELECT TEXT-MODE INVERSE VIDEO MECHANISM
INT 10 - HUNTER 16 - SELECT TEXT-MODE INVERSE VIDEO MECHANISM
	AH = 72h
	AL = mechanism to use
	    00h do not use inverse video
	    01h emulate MDA. Display attribute 07h is normal video and 70h is
		inverse video.
	    02h use inverse video if background is non-black.
	    03h use inverse video for high intensity text.
	    04h use inverse video for text with background intensity greater
		than foreground intensity.
	    05h use inverse video for text with background color other than
		black or high intensity foreground.
Return: nothing
SeeAlso: AH=70h"HUNTER",AH=71h"HUNTER"

Top
1073 - INT 10 - VIDEO - TANDY 2000 only - SCROLL LEFT PART OR ALL OF SCREEN
INT 10 - VIDEO - TANDY 2000 only - SCROLL LEFT PART OR ALL OF SCREEN
	AH = 73h
	AL = number of columns to shift scroll area, 00h to clear entire area
	BH = new attributes for blanked columns at right
	CH,CL = row, column of upper left corner of scroll area
	DH,DL = row, column of lower right corner of scroll area
Return: nothing
SeeAlso: AH=06h,AH=07h,AH=72h"TANDY",INT 15/AH=12h/BH=05h

Top
1073 - INT 10 - HUNTER 16 - SELECT TEXT FONT
INT 10 - HUNTER 16 - SELECT TEXT FONT
	AH = 73h
	AL = new font
	      00h  7x7 in a 8x8 cell
	      01h  5x7 in a 6x8 cell
	      06h  3x5 in a 4x6 cell
Return: BH = cell width
	BL = cell height
SeeAlso: AH=60h"HUNTER",AH=77h"HUNTER"

Top
1074 - INT 10 - HUNTER 16 - SET LCD WINDOWS POSITION
INT 10 - HUNTER 16 - SET LCD WINDOWS POSITION
	AH = 74h
	DH = row (0..24)
	DL = column (0..79)
Return: nothing
Desc:	set the position in the virtual screen being displayed in the LCD
	  screen. If Split Screen (INT 10/AH=66h) is used, this call sets the
	  position for the window which has the cursor.
SeeAlso: AH=66h"HUNTER",AH=75h,AH=76h

Top
1075 - INT 10 - HUNTER 16 - SET ZOOM
INT 10 - HUNTER 16 - SET ZOOM
	AH = 75h
	AL = new Zoom state (00h off, nonzero on)
Return: nothing
SeeAlso: AH=74h,AH=76h

Top
1076 - INT 10 - HUNTER 16 - LOOKING KEYS
INT 10 - HUNTER 16 - LOOKING KEYS
	AH = 76h
	AL = action
	     00h home the window
	     01h move up one line
	     02h move down one line
	     03h move left one character
	     04h move right one character
	     05h flip window to other side of virtual screen
Return: nothing
Desc:	moves the displayed screen around the virtual screen
SeeAlso: AH=74h,AH=75h

Top
1077 - INT 10 - HUNTER 16 - GET GRAPHICS FONT
INT 10 - HUNTER 16 - GET GRAPHICS FONT
	AH = 77h
Return: AL = font number (see #00200)
SeeAlso: AH=60h"HUNTER",AH=73h"HUNTER"

(Table 00200)
Values for HUNTER 16 graphics font number:
 00h	 7x7  in a  8x8	 cell
 01h	 5x7  in a  6x8	 cell
 02h	 7x9  in a  8x10 cell
 03h	14x9  in a 16x10 cell
 04h	 7x18 in a  8x20 cell
 05h	14x18 in a 16x20 cell
 06h	 3x5  in a  4x6	 cell
Note:	size is X * Y

Top
1078 - INT 10 - HUNTER 16 - TURN BACKLIGHT ON/OFF
INT 10 - HUNTER 16 - TURN BACKLIGHT ON/OFF
	AH = 78h
	AL = new state of backlight (00h on, 01h off)
Return: nothing
SeeAlso: AH=64h,INT 15/AH=74h

Top
107F - INT 10 - Paradise SVGA - WD90C24 INSTALLATION CHECK
INT 10 - Paradise SVGA - WD90C24 INSTALLATION CHECK
	AH = 7Fh
Return: AX = 1234h if WD90C24 chip installed

Top
107F00 - INT 10 - SOLLEX SuperVGA - GET EXTENSIONS INFO
INT 10 - SOLLEX SuperVGA - GET EXTENSIONS INFO
	AX = 7F00h
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		    ES:DI -> info structure (see #00201)
		01h failed
Program: the SOLLEX (Smos videO controLLer EXtensions) SuperVGA functions are
	  an extension to the VESA SuperVGA BIOS Extensions (see AX=4F00h) by
	  Seiko Epson Corporation intended to provided a standardized interface
	  to SuperVGA functionality not addressed by the VESA standard
SeeAlso: AX=4F00h

Format of SOLLEX SuperVGA info structure:
Offset	Size	Description	(Table 00201)
 00h	DWORD	pointer to VESA function dispatch table
 04h	DWORD	pointer to SOLLEX function dispatch table
 08h	DWORD	pointer to VESA SuperVGA info (see #00077 at AX=4F00h)
 0Ch	DWORD	pointer to mode info structure table, consisting of
		  alternating ResInfo (see #00202) and VESA mode information
		  (see #00079 at AX=4F01h) blocks, terminated with an FFFFh word
 10h	DWORD	pointer to font info structure table (see #00203)
 14h	WORD	high resolution crystal frequency in Hz (0000h = not present)
 16h	DWORD	pointer to ASCIZ ID string
 1Ah	DWORD	pointer to timeout reset table
		array of bytes, each a multiple of the minimum time increment
 1Eh	WORD	minimum time increment in timer ticks
 20h	BYTE	inverse options supported
		bit 0: inverse supported
		bits 1-7: reserved
 21h	BYTE	normal color value
 22h	BYTE	inverse color value
 23h	WORD	port to be accessed for normal/inverse settings
 25h	WORD	type of interface chip (currently undefined)
 27h	WORD	program operational mode
		bits 1-0: 00 no preference
			  01 terse (minimum detail in program messages)
			  10 verbose
			  11 use menus if supported, verbose mode otherwise
		bits 7-2: reserved
 29h	WORD	SOLLEX specification version
 2Bh	WORD	version of VESA/SOLLEX implementation
 2Dh	DWORD	offset to relocatable portion of SOLLEX extensions (for CONFIG)
 2Eh	DWORD	offset to unused section of the extensions ROM
 31h 16 BYTEs	reserved
Note:	all DWORD pointers initially require segment fixups; if the segment
	  is 0000h, it should be changed to the returned ES, otherwise it
	  may be assumed to be correct

Format of SOLLEX SuperVGA ResInfo:
Offset	Size	Description	(Table 00202)
 00h	WORD	16-bit mode number
 02h	WORD	adapter type (00h VGA, 01h EGA, 02h CGA, 03h MDA)
 04h	WORD	display info (see #00206)
 06h	DWORD	pointer to video parameter table
 0Ah	BYTE	replacement entry in master Video Parameter
 0Bh	BYTE	mode requested for mode set by BIOS
 0Ch	DWORD	pointer to LoadReg table
 10h	BYTE	index into table of clock values (see #00204)
SeeAlso: #00201

Format of SOLLEX SuperVGA font info table [array] entry:
Offset	Size	Description	(Table 00203)
 00h	BYTE	required font height
 01h	BYTE	parameter to load text mode font
 02h	BYTE	parameter to load graphics mode font
SeeAlso: #00201

(Table 00204)
Values for SOLLEX SuperVGA clock value index:
 00h	25 MHz
 01h	28 MHz
 02h	PCLK
 03h	31.5 MHz (VESA 640x480)
 04h	reserved
 05h	16 MHz (EGA)
 06h	PCLK
 07h	24 MHz (EGA)
 08h	25 MHz
 09h	28 MHz
 0Ah	36 MHz
 0Bh	45 MHz (for 1024x768)
 0Ch	80 MHz
 0Dh	40 MHz
 0Eh	65 MHz
 0Fh	 1 MHz (for powerdown)
SeeAlso: #00201

Top
107F00BX4000 - INT 10 - Diamond Stealth 24 - GET S3 INFORMATION BLOCK
INT 10 - Diamond Stealth 24 - GET S3 INFORMATION BLOCK
	AX = 7F00h
	BX = 4000h
Return: AX = 007Fh if supported
	    DX:BX -> DAC set mode routine
SeeAlso: AX=7F00h/BX=4001h,AX=7F00h/BX=4002h,#00732 at INT 1A/AX=B102h

Top
107F00BX4001 - INT 10 - Diamond Stealth 24 - GET LINEAR ADDRESS
INT 10 - Diamond Stealth 24 - GET LINEAR ADDRESS
	AX = 7F00h
	BX = 4001h
Return: AX = 007Fh if supported
	    CX = current linear address base (high word)
SeeAlso: AX=7F00h/BX=4000h,AX=7F00h/BX=4002h

Top
107F00BX4002 - INT 10 - Diamond Stealth 24 - SET LINEAR ADDRESS
INT 10 - Diamond Stealth 24 - SET LINEAR ADDRESS
	AX = 7F00h
	BX = 4002h
	CX = new linear address base (high word)
Return: AX = 007Fh if supported
SeeAlso: AX=7F00h/BX=4000h,AX=7F00h/BX=4001h

Top
107F01BL00 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - SET ADAPTER
INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - SET ADAPTER
	AX = 7F01h
	BL = 00h
	CX = adapter request (see #00205)
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
Note:	initializes video hardware to a particular standard
SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=01h,AX=7F01h/BL=02h

Bitfields for SOLLEX SuperVGA adapter request:
Bit(s)	Description	(Table 00205)
 1-0	adapter type (00 VGA, 01 EGA, 10 CGA, 11 MDA)
 2	reserved
 4-3	change displays (00 none, 01 analog 10 digital 11 panel)
 6-5	desired monitor sense (01 color, 10 mono, 11=8514)
 7	lock override
 8	alternate adapter mode
 15-9	reserved

Top
107F01BL01 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - GET ADAPTER
INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - GET ADAPTER
	AX = 7F01h
	BL = 01h
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
	    BX = adapter type (see #00205)
	    DX = display type (see #00206)
SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=00h,AX=7F01h/BL=02h

Bitfields for SOLLEX SuperVGA display type:
Bit(s)	Description	(Table 00206)
 15-9	reserved
 8	alternate display active
 7	Enhanced Color Display monitor active
 6	multi-frequency digital monitor active
 5	PS/2-type monitor active
 4	plasma/electroluminescent panel active
 3	LCD panel active
 2	multi-frequency analog monitor active
 1-0	monitor sense (00 none, 01 color, 10 mono, 11=8514)

Top
107F01BL02 - INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - DETERMINE ADAPTER SUPPORT
INT 10 - SOLLEX SuperVGA - ADAPTER CONTROL - DETERMINE ADAPTER SUPPORT
	AX = 7F01h
	BL = 02h
	CX = adapter request (see #00205)
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h requested setting can successfully be made
		01h requested setting not available in this configuration
SeeAlso: AX=7F00h"SOLLEX",AX=7F01h/BL=00h

Top
107F02BL00 - INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - SET DISPLAY OUTPUT
INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - SET DISPLAY OUTPUT
	AX = 7F02h
	BL = 00h
	CX = display output setting (see #00207)
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AX=7F00h"SOLLEX",AX=7F02h/BL=00h

Bitfields for SOLLEX SuperVGA display output setting:
Bit(s)	Description	(Table 00207)
 0	CRTC control in 2,1 valid
 1	enable digital output
 2	enable analog output
 3	panel control in 5,4 valid
 4	enable LCD output
 5	enable plasma/EL output
 6	inverse control in 7 valid
 7	0=normal, 1=inverse
 15-8	reserved

Top
107F02BL01 - INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - GET DISPLAY OUTPUT
INT 10 - SOLLEX SuperVGA - DISPLAY OUTPUT CONTROL - GET DISPLAY OUTPUT
	AX = 7F02h
	BL = 01h
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		    BX = display output setting (see #00207)
		    CX = displays attached (see #00208)
		01h failed
SeeAlso: AX=7F00h"SOLLEX",AX=7F02h/BL=00h

Bitfields for SOLLEX SuperVGA displays attached:
Bit(s)	Description	(Table 00208)
 0	PS/2 display on analog output
 1	multi-frequency monitor on analog output
 2	LCD panel attached
 3	plasma/electroluminescent panel attached
 4	multi-frequency monitor on digital output
 5	Enhanced Color Display attached to digital outpt
 6	alternate display
 15-7	reserved

Top
107F03BL00 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GET SUPPORT INFO
INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GET SUPPORT INFO
	AX = 7F03h
	BL = 00h
	CX = support type
		0000h VGA, 0001h EGA, 0002h CGA, 0003h MDA, 0004h extensions,
		0005h-0012h reserved for SOLLEX, 0013h Hercules,
		0014h-001Fh reserved for SOLLEX, 0020h-00FFh reserved for OEM
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		    CX = size of video support code
		    DX = segment of physical video support (0000h if no ROM)
		    ES = segment of active video support
		    ES:DI -> information block (DI = 0000h if none available)
		01h failed
SeeAlso: AX=7F03h/BL=01h

Top
107F03BL01 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - INITIALIZE VIDEO SUPPORT
INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - INITIALIZE VIDEO SUPPORT
	AX = 7F03h
	BL = 01h
	CX = support request
	ES = segment of support code
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
Note:	initializes the indicated video support by calling ES:0003h; this
	  function may be used to switch the active video support back to
	  ROM after AX=7F03h/BL=02h
SeeAlso: AX=7F03h/BL=00h

Top
107F03BL02 - INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GO RAM RESIDENT
INT 10 - SOLLEX SuperVGA - VIDEO SUPPORT CONTROL - GO RAM RESIDENT
	AX = 7F03h
	BL = 02h
	CX = support request
	ES = destination segment
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AX=7F00h"SOLLEX",AX=7F03h/BL=01h

Top
107F04BL00 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET POWER STATE
INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET POWER STATE
	AX = 7F04h
	BL = 00h
	CX = new power state
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
Note:	higher values progressively reduce the operations available on the
	  video adapter while yielding increasing power savings
SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=01h

Top
107F04BL01 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET POWER STATE
INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET POWER STATE
	AX = 7F04h
	BL = 01h
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		    CX = current power state
		    DX = maximum state
		01h failed
SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=00h

Top
107F04BL02 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET TIMEOUT RESET
INT 10 - SOLLEX SuperVGA - POWER CONTROL - SET TIMEOUT RESET
	AX = 7F04h
	BL = 02h
	CX = timeout reset
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=03h

Top
107F04BL03 - INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET TIMEOUT RESET
INT 10 - SOLLEX SuperVGA - POWER CONTROL - GET TIMEOUT RESET
	AX = 7F04h
	BL = 03h
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		    BX = time increment
		    CX = current timeout reset
		    DX = maximum timeout reset
		    ES:DI -> timeout reset table (array of bytes)
		01h failed
Note:	the timeout period is computed as (BYTE ES:[DI+CX]) * BX timer ticks
SeeAlso: AX=7F00h"SOLLEX",AX=7F04h/BL=02h

Top
107F05 - INT 10 - SOLLEX SuperVGA - LOAD REGISTER
INT 10 - SOLLEX SuperVGA - LOAD REGISTER
	AX = 7F05h
	ES:DI -> register value table (see #00209)
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AH=F1h,AH=F3h,AH=F5h

Format of SOLLEX SuperVGA register value table:
Offset	Size	Description	(Table 00209)
 00h	WORD	base I/O register (FFFFh = end of list)
 02h 2N BYTEs	pairs of values to be written to the base I/O register as an
		  index value and the following register as a data byte
 2N+2	WORD	FFFFh (end of data list)
	... (repeats until FFFFh base address)

Top
107F06 - INT 10 - SOLLEX SuperVGA - MULTIPLE FONT CONTROL
INT 10 - SOLLEX SuperVGA - MULTIPLE FONT CONTROL
	AX = 7F06h
	BL = subfunction
	    00h set multiple font state
		CX = new state (00h off, 01h on)
	    01h get multiple font state
		Return: BL = current state (00h off, 01h on)
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AX=1100h,AX=1103h

Top
107F07 - INT 10 - SOLLEX SuperVGA - FILL VIDEO RAM
INT 10 - SOLLEX SuperVGA - FILL VIDEO RAM
	AX = 7F07h
	BL = how much to fill
	   00h regen size
	   01h all video memory
	CX = pattern to write (normally 0720h for text modes and 0000h for gr)
Return: AL <> 7Fh if not supported
	AL = 7Fh if supported
	    AH = status
		00h successful
		01h failed
SeeAlso: AH=06h

Top
1080 - INT 10 - CU Writer v1.4 - GET OPTION
INT 10 - CU Writer v1.4 - GET OPTION
	AH = 80h
	AL = desired option
Return: ???
Program: CU Writer is a public-domain Thai-English word processor from
	  Chulalongkorn University, Bangkok
SeeAlso: AH=81h"CU Writer"

Top
1080--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - SET ??? HANDLER
INT 10 U - VIDEO - DESQview 2.0x only - internal - SET ??? HANDLER
	AH = 80h
	DX = 4456h ('DV')
	ES:DI -> FAR subroutine to be called on ???
Return: DS = segment of DESQview data structure for video buffer
Note:	this function is probably meant for internal use only, due to the magic
	  value required in DX
	the subroutine seems to be called when the DESQview menu is accessed;
	  on entry, AL = 03h or 04h

Top
1081 - INT 10 - CU Writer v1.4 - SET OPTION
INT 10 - CU Writer v1.4 - SET OPTION
	AH = 81h
	???
Return: ???
SeeAlso: AH=80h"CU Writer"

Top
1081--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - GET ???
INT 10 U - VIDEO - DESQview 2.0x only - internal - GET ???
	AH = 81h
	DX = 4456h ('DV')
Return: ES = segment of DESQview data structure for video buffer
	    BYTE ES:[0] = current window number in DV 2.0x
Note:	this function is probably meant for internal use only, due to the magic
	  value required in DX
SeeAlso: AH=82h"DESQview"

Top
1082--DX4456 - INT 10 U - VIDEO - DESQview 2.0x only - internal - GET CURRENT WINDOW INFO
INT 10 U - VIDEO - DESQview 2.0x only - internal - GET CURRENT WINDOW INFO
	AH = 82h
	DX = 4456h ('DV')
Return: DS = segment in DESQview for data structure
	     in DV 2.00,
		  BYTE DS:[0] = window number
		  WORD DS:[1] = segment of other data structure
		  WORD DS:[3] = segment of window's object handle
	ES = segment of DESQview data structure for video buffer
	AL = current window number
	AH = ???
	BL = direct screen writes
	    00h program does not do direct writes
	    01h program does direct writes, so shadow buffer not usable
	BH = ???
	CL = current video mode
	CH = ???
Note:	this function is probably meant for internal use only, due to the magic
	  value required in DX
SeeAlso: AH=81h"DESQview"

Top
108200 - INT 10 - VIDEO - AX PC - GET/SET SCROLL MODE
INT 10 - VIDEO - AX PC - GET/SET SCROLL MODE
	AX = 8200h
	BL = new scroll mode or FFh to get current mode
	    00h dynamic, 01h software
Return: AL = scroll mode (current mode if BL=FFh, previous mode otherwise)
SeeAlso: AH=06h,AH=07h

Top
108300 - INT 10 - VIDEO - AX PC - GET VIDEO RAM ADDRESS
INT 10 - VIDEO - AX PC - GET VIDEO RAM ADDRESS
	AX = 8300h
Return: AX = offset of video RAM
	ES:BX -> virtual text RAM buffer
SeeAlso: AX=5201h

Top
1086 - INT 10 - ???
INT 10 - ???
	AH = 86h
Note:	called by Diamond Stealth64 Video STLTH64.VXD
SeeAlso: INT 2F/AX=4021h

Top
108B - INT 10 - Alloy MW386 - FORCE WORKSTATION SCREEN UPDATE
INT 10 - Alloy MW386 - FORCE WORKSTATION SCREEN UPDATE
	AH = 8Bh
Return: nothing
SeeAlso: AH=92h,AH=93h

Top
1090 - INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION DISPLAY MODE
INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION DISPLAY MODE
	AH = 90h
Return: AL = current video mode (see #00010 at AH=00h)
SeeAlso: AH=91h

Top
1091 - INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION ADAPTER TYPE
INT 10 - Alloy MW386 - GET PHYSICAL WORKSTATION ADAPTER TYPE
	AH = 91h
Return: AL = video adapter type (see #00210)
Note:	types less than 80h do not imply that the current user is on the host
SeeAlso: AH=90h

(Table 00210)
Values for Alloy MW386 video adapter type:
 00h	monochrome
 01h	Hercules monochrome graphics
 02h	CGA
 03h	EGA
 04h	VGA
 80h	monochrome text terminal
 81h	Hercules graphics terminal
 82h	color graphics terminal

Top
1092 - INT 10 - Alloy MW386 - INHIBIT WORKSTATION SCREEN UPDATES
INT 10 - Alloy MW386 - INHIBIT WORKSTATION SCREEN UPDATES
	AH = 92h
Return: nothing
Note:	the terminal will be updated even when screen updates are inhibited if
	  TTY output is used
SeeAlso: AH=8Bh

Top
1093 - INT 10 - Alloy MW386 - REDRAW SCREEN
INT 10 - Alloy MW386 - REDRAW SCREEN
	AH = 93h
Return: nothing
SeeAlso: AH=8Bh,AH=FFh

Top
109508 - INT 10 - VHRBIOS.SYS - ???
INT 10 - VHRBIOS.SYS - ???
	AX = 9508h
Return: ???
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=96h"VHRBIOS.SYS",AH=F0h"VHRBIOS.SYS"

Top
1096 - INT 10 - VHRBIOS.SYS - GET OTHER DISPLAY INFO
INT 10 - VHRBIOS.SYS - GET OTHER DISPLAY INFO
	AH = 96h
Return: AL = display type (see AH=1Ah)
	AH = ??? (possibly related to Micro Channel support)
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
Desc:	returns info on any non-Genius video adapter in the system
SeeAlso: AX=9508h"VHRBIOS.SYS",AH=F0h"VHRBIOS.SYS"

Top
10A0 - INT 10 - CU Writer v1.4 - SET PIXEL WRITE MODE
INT 10 - CU Writer v1.4 - SET PIXEL WRITE MODE
	AH = A0h
	???
Return: ???
Program: CU Writer is a public-domain Thai-English word processor from
	  Chulalongkorn University, Bangkok
SeeAlso: AH=80h"CU Writer",AH=B0h

Top
10A000 - INT 10 - ATI BIOS Extensions - ???
INT 10 - ATI BIOS Extensions - ???
	AX = A000h
	CL = ??? (bits 2-0 may not be 000)
	CH = ??? (81h or ???)
	DX = segment of ??? (if CH=81h)
	???
Return: AX = ???
Program: the ATI BIOS extensions are supported by ATI graphics cards containing
	  the Mach64 or newer graphics chips (Rage Pro, Rage 128, etc.)
SeeAlso: AX=4F10h/BL=00h,AX=A001h

Top
10A001 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A001h
	CL = ??? flags
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A000h,AX=A002h

Top
10A002 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A002h
	CL = ??? (bits 2-0 may not be 000)
	CH = ??? (81h or ???)
	DX = segment of ??? (if CH=81h)
	???
Return: AH = status
	    00h successful
	    01h failed
	???
Note:	executes AX=A000h, then AX=A001h if A000h was successful
SeeAlso: AX=A000h,AX=A001h

Top
10A003 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A003h
	BX = ???
	???
Return: AH = status (00h successful)
	???
SeeAlso: AX=A000h,AX=A002h

Top
10A004 - INT 10 - PhoenixVIEW/LC - VIDEO DISPLAY TYPE
INT 10 - PhoenixVIEW/LC - VIDEO DISPLAY TYPE
	AX = A004h
	???
Return: ???
Desc:	configure display parameters
SeeAlso: AX=A01Bh"PhoenixVIEW/LC"

Top
10A004 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A004h
	BX = video mode??? (0000-00FFh)
	DX = ??? (sent to some port [66ECh???] one bit at a time, high to low)
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A000h,AX=A002h

Top
10A005 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A005h
	CL = ??? flags (bits 0,2, others?)
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A000h,AX=A002h

Top
10A006 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A006h
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A000h,AX=A002h

Top
10A007 - INT 10 - ATI Mach64 BIOS - GET ???
INT 10 - ATI Mach64 BIOS - GET ???
	AX = A007h
Return: AH = 00h (successful)
	AL = ??? (00h)
	BX = ??? (15A0h in examined BIOS)
	DX = segment of BIOS
SeeAlso: AX=A000h,AX=A002h

Top
10A008 - INT 10 - ATI Mach64 BIOS - GET ??? SIZE
INT 10 - ATI Mach64 BIOS - GET ??? SIZE
	AX = A008h
	CL = ??? flags
	???
Return: AH = 00h (successful)
	BX = size of ??? (0046h if CL bit 0 clear on entry)
SeeAlso: AX=A000h,AX=A009h

Top
10A009 - INT 10 - ATI Mach64 BIOS - GET ???
INT 10 - ATI Mach64 BIOS - GET ???
	AX = A009h
	DX:BX -> buffer for ???
	CL = ??? flags
	???
Return: AH = status
	    00h successful
		DX:BX buffer filled
	    01h failed
	???
SeeAlso: AX=A000h,AX=A008h

Top
10A00A - INT 10 - ATI Mach64 BIOS - GET ???
INT 10 - ATI Mach64 BIOS - GET ???
	AX = A00Ah
Return: AH = 00h (successful)
	AL = ??? (01h)
	BX = ??? (5938h)
	CX = ??? (595Eh)
	DX = segment of BIOS
SeeAlso: AX=A000h,AX=A002h

Top
10A00B - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A00Bh
	BX = ???
	CL = ??? flags
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A000h,AX=A002h

Top
10A00C - INT 10 - ATI Mach64 BIOS - SET SLEEP MODE
INT 10 - ATI Mach64 BIOS - SET SLEEP MODE
	AX = A00Ch
	CL = new state
	    00h normal operation
	    01h standby
	    02h suspend
	    03h off
Return: AH = status
	    00h successful
	    01h failed
Note:	CL bit 2 affects values written to video card's ports
SeeAlso: AX=A000h,AX=A00Dh,AX=4F00h,AX=4F10h/BL=01h

Top
10A00D - INT 10 - ATI Mach64 BIOS - GET SLEEP MODE
INT 10 - ATI Mach64 BIOS - GET SLEEP MODE
	AX = A00Dh
Return: AH = 00h (successful)
	CL = current power mode
	    00h normal operation
	    01h standby
	    02h suspend
	    03h off
SeeAlso: AX=A00Ch,AX=4F10h/BL=02h
SeeAlso: AX=A00Ch,AX=A00Dh"Rage128"AX=4F10h/BL=02h

Top
10A00D - INT 10 - ATI Rage128 BIOS - GET ???
INT 10 - ATI Rage128 BIOS - GET ???
	AX = A00Dh
	BL = subfunction
	   00h ???
	   01h ???
	   02h ???
	   03h ???
	DX:DI -> buffer for results
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A000h,AX=A00Dh"Mach64",AX=A015h

Top
10A00E - INT 10 - ATI Mach64 BIOS - SET ???
INT 10 - ATI Mach64 BIOS - SET ???
	AX = A00Eh
	CL = ??? (00h-03h)
Return: AH = status
	    00h successful
	    01h failed
Notes:	CL zero/nonzero are treated differently
	NOP in All-in-Wonder 128 BIOS
SeeAlso: AX=A000h,AX=A00Fh

Top
10A00F - INT 10 - ATI Mach64 BIOS - GET ???
INT 10 - ATI Mach64 BIOS - GET ???
	AX = A00Fh
Return: AH = 00h (successful)
	CL = ??? (00h-03h, read from PORT 42ECh)
Note:	NOP in All-in-Wonder 128 BIOS
SeeAlso: AX=A000h,AX=A00Eh

Top
10A010 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A010h
	CL = ???  (80h/other)
	???
Return: AH = status
	    00h successful
	    01h failed
	???
Note:	NOP in All-in-Wonder 128 BIOS
SeeAlso: AX=A000h,AX=A002h

Top
10A011 - INT 10 - ATI Mach64 BIOS - GET ???
INT 10 - ATI Mach64 BIOS - GET ???
	AX = A011h
Return: AH = 00h (successful)
	BL = ??? (1Fh)
	BH = ??? (0Fh)
	CL = ??? (00h)
	CH = ??? (0Fh)
	DX = ??? (00FFh)
Note:	NOP in All-in-Wonder 128 BIOS
SeeAlso: AX=A000h,AX=A010h

Top
10A012 - INT 10 - ATI Mach64 BIOS - GET ???
INT 10 - ATI Mach64 BIOS - GET ???
	AX = A012h
Return: AH = 00h (successful)
	AL = ??? (00h)
	BX = ??? (0000h)
	CX = ??? (0000h)
	DX = ??? (02ECh)
Note:	NOP in All-in-Wonder 128 BIOS
SeeAlso: AX=A000h,AX=A002h

Top
10A013 - INT 10 - ATI Mach64 BIOS - ???
INT 10 - ATI Mach64 BIOS - ???
	AX = A013h
	???
Return: AH = status
	    00h successful
	    01h failed
	???
Note:	not implemented in examined Mach64 BIOS, always returns AH=01h; NOP in
	  examined All-in-Wonder 128 BIOS
SeeAlso: AX=A000h,AX=A002h

Top
10A014 - INT 10 - ATI Rage128 BIOS - ???
INT 10 - ATI Rage128 BIOS - ???
	AX = A014h
	CH = ??? (bits 0,1,4)
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A000h,AX=A015h

Top
10A015 - INT 10 - ATI Rage128 BIOS - GET/SET ???
INT 10 - ATI Rage128 BIOS - GET/SET ???
	AX = A015h
	CH = subfunction
	    00h get ???	
	    01h set ???
	       CL = ??? (only bits 0,1 used on All-in-Wonder 128)
	    other NOP
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A014h,AX=A017h

Top
10A016 - INT 10 - ATI Rage128 BIOS - NOP
INT 10 - ATI Rage128 BIOS - NOP
	AX = A016h
Return: nothing
SeeAlso: AX=A000h,AX=A017h

Top
10A017 - INT 10 - ATI Rage128 BIOS - ???
INT 10 - ATI Rage128 BIOS - ???
	AX = A017h
	???
Return: AH = status
	    00h successful
	    01h failed
	???
SeeAlso: AX=A014h,AX=A015h

Top
10A01B - INT 10 - PhoenixVIEW/LC - CRT MONITOR DETECTION
INT 10 - PhoenixVIEW/LC - CRT MONITOR DETECTION
	AX = A01Bh
	???
Return: ???
Desc:	determine whether an external display is currently attached
SeeAlso: AX=A004h"PhoenixVIEW/LC"

Top
10AA - INT 10 OU - Player's Tool 3.0 - UNINSTALL
INT 10 OU - Player's Tool 3.0 - UNINSTALL
	AH = AAh
Return: ???
Note:	this call has been removed in PT 3.996b
Program: Player's Tool is a game cheater by Dmitry Yakunin & Andy Robinson
SeeAlso: AH=ABh,INT 2F/AH=AAh

Top
10AB - INT 10 OU - Player's Tool 3.0 - INSTALLATION CHECK
INT 10 OU - Player's Tool 3.0 - INSTALLATION CHECK
	AH = ABh
Return: BH = FFh
	???
Note:	this call has been removed in PT 3.996b
SeeAlso: AH=AAh,INT 2F/AH=ABh

Top
10B0 - INT 10 - CU Writer v1.4 - PUT PIXEL
INT 10 - CU Writer v1.4 - PUT PIXEL
	AH = B0h
	???
Return: ???
SeeAlso: AH=A0h"CU Writer",AH=B1h,AH=B2h,AH=B3h,AH=B4h,AH=B5h,AH=D0h

Top
10B1 - INT 10 - CU Writer v1.4 - MOVE TO
INT 10 - CU Writer v1.4 - MOVE TO
	AH = B1h
	???
Return: ???
SeeAlso: AH=B0h,AH=B2h,AH=C0h"CU Writer"

Top
10B2 - INT 10 - CU Writer v1.4 - DRAW LINE TO
INT 10 - CU Writer v1.4 - DRAW LINE TO
	AH = B2h
	???
Return: ???
SeeAlso: AH=B0h,AH=B1h,AH=B3h,AH=B4h,AH=B5h

Top
10B3 - INT 10 - CU Writer v1.4 - FLOOD FILL
INT 10 - CU Writer v1.4 - FLOOD FILL
	AH = B3h
	???
Return: ???
SeeAlso: AH=B2h,AH=B5h

Top
10B4 - INT 10 - CU Writer v1.4 - DRAW RECTANGLE
INT 10 - CU Writer v1.4 - DRAW RECTANGLE
	AH = B4h
	???
Return: ???
SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B5h

Top
10B5 - INT 10 - CU Writer v1.4 - DRAW FILLED RECTANGLE
INT 10 - CU Writer v1.4 - DRAW FILLED RECTANGLE
	AH = B5h
	???
Return: ???
SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B4h

Top
10BB - INT 10 U - Doorway - SET BIOS/DIRECT REDIRECTION
INT 10 U - Doorway - SET BIOS/DIRECT REDIRECTION
	AH = BBh
	AL = new redirection mode
	    00h BIOS (hook and redirect INT 10h,etc.)
	    01h DIRECT (scan video memory for changes)
Return: ???
SeeAlso: INT 16/AH=67h"Doorway"

Top
10BD44 - INT 10 U - Compaq QVision - ???
INT 10 U - Compaq QVision - ???
	AX = BD44h
	???
Return: ???
Note:	called by Compaq's MTX132.COM, which places the QVision in 132-column
	  mode

Top
Section -


Top
10BF--CX0000 - INT 10 - Athena Digital HGCIBM.COM - INSTALLATION CHECK
INT 10 - Athena Digital HGCIBM.COM - INSTALLATION CHECK
	AH = BFh
	CX = 0000h (???)
Return: CX = 0202h
	DL = ??? (internal data, possibly version number)

Top
10BF00 - INT 10 - VIDEO - Compaq Extensions - SELECT EXTERNAL MONITOR
INT 10 - VIDEO - Compaq Extensions - SELECT EXTERNAL MONITOR
	AX = BF00h
Return: nothing
Desc:	specify that the external monitor become the active monitor
Note:	all registers preserved and the internal monitor is blanked
SeeAlso: AX=BF01h,AX=BF12h,AH=12h/BL=35h

Top
10BF01 - INT 10 - VIDEO - Compaq Extensions - SELECT INTERNAL MONITOR
INT 10 - VIDEO - Compaq Extensions - SELECT INTERNAL MONITOR
	AX = BF01h
Return: nothing
Desc:	specify that the internal monitor become the active monitor
Note:	all registers preserved and the external monitor is blanked
SeeAlso: AX=BF00h,AX=BF12h,AH=12h/BL=35h

Top
10BF02 - INT 10 - VIDEO - Compaq Extensions - SET MASTER MODE OF CURRENT CONTROLLER
INT 10 - VIDEO - Compaq Extensions - SET MASTER MODE OF CURRENT CONTROLLER
	AX = BF02h
	BH = master mode
	    04h CGA
	    05h EGA
	    07h MDA
Return: nothing
SeeAlso: AX=BF03h

Top
10BF03BX0000 - INT 10 - VIDEO - Compaq Extensions - GET ENVIRONMENT
INT 10 - VIDEO - Compaq Extensions - GET ENVIRONMENT
	AX = BF03h
	BX = 0000h
Return: BH = active monitor
	    (00h = external, 01h = internal, 03h both, 04h neither)
	BL = master mode (see #00211)
	CH = ASIC type and version
	    00h (reserved, very early Compaq VGCs)
	    31h if QVision VGA
	CL = switchable VDU modes supported (see #00212)
	DH = internal monitor type (see #00213)
	DL = external monitor type (see #00213)
SeeAlso: AX=1A00h,AX=BF00h,AX=BF01h,AX=BF02h,AX=BF11h

(Table 00211)
Values for Compaq video master mode:
 00h	switchable VDU not present
 04h	CGA
 05h	EGA
 07h	MDA
 08h	switchable LCD controller present
 09h	plasma VGA
 0Ah	TFT (active-matrix) VGA

Bitfields for Compaq switchable VDU modes support:
Bit(s)	Description	(Table 00212)
 0	CGA supported
 1,2	reserved (1)
 3	MDA supported
 4	BitBLT engine available
 5	132-column support availble
 6	640x480x256 mode available
 7	8-bit DAC mode available

(Table 00213)
Values for Compaq monitor type:
 00h	none
 01h	dual-mode monitor
 02h	5153 RGB monitor (RGBI 16-color)
 03h	Compaq Color monitor
 04h	640x400 flat panel (Plasma CGA)
 05h	VGC monochrome
 06h	VGC color
 07h	8-level mono LCD VGA (internal)
	1024x768 mono VGA (external)
 08h	16-level mono plasma VGA (internal)
	1024x768 color VGA (external)
 09h	4-level mono LCD CGA
 0Ah	16-level mono LCD VGA
 0Bh	active-matrix color VGA
 0Ch	active-matrix mono VGA
 0Dh	STN color VGA

Top
10BF04 - INT 10 - VIDEO - Compaq Extensions - SET MODE SWITCH DELAY
INT 10 - VIDEO - Compaq Extensions - SET MODE SWITCH DELAY
	AX = BF04h
	BH = new state of delay (00h enabled, 01h disabled)
Return: nothing
Note:	the 1993/04/08 sytem ROM appears to use BL instead of BH; a future
	  version of the list will provide more definite information
SeeAlso: AX=BF05h

Top
10BF05 - INT 10 - VIDEO - Compaq Extensions - ENABLE/DISABLE DISPLAY
INT 10 - VIDEO - Compaq Extensions - ENABLE/DISABLE DISPLAY
	AX = BF05h
	BH = new state of video
	    00h off
	    01h on
Return: nothing
Note:	the 1993/04/08 sytem ROM appears to use BL instead of BH; a future
	  version of the list will provide more definite information
SeeAlso: AH=12h/BL=36h,AX=BF04h

Top
10BF06 - INT 10 - VIDEO - Compaq SLT/286 - READ GRAY SCALE TABLE
INT 10 - VIDEO - Compaq SLT/286 - READ GRAY SCALE TABLE
	AX = BF06h
	CL = address to be read from gray scale table
Return: AL = bit 3-0 - Value read from gray scale table
	CL = address to be read from gray scale table
SeeAlso: AH=12h/BL=33h,AX=BF07h

Top
10BF07 - INT 10 - VIDEO - Compaq SLT/286 - WRITE GRAY SCALE TABLE
INT 10 - VIDEO - Compaq SLT/286 - WRITE GRAY SCALE TABLE
	AX = BF07h
	CH = value to write to gray scale table
	CL = address to be written to gray scale table
Return: nothing
SeeAlso: AX=BF06h,AX=BF08h

Top
10BF08 - INT 10 - VIDEO - Compaq SLT/286 - WRITE COLOR MIX REGISTERS
INT 10 - VIDEO - Compaq SLT/286 - WRITE COLOR MIX REGISTERS
	AX = BF08h
	CH = bits 7-4 green weight
	     bits 3-0 blue weight
	CL = bits 7-4 unused
	     bits 3-0 red weight
Return: nothing
SeeAlso: AH=12h/BL=33h,AX=BF07h

Top
10BF09 - INT 10 - VIDEO - Compaq Extensions - TURN ON REVERSE VIDEO
INT 10 - VIDEO - Compaq Extensions - TURN ON REVERSE VIDEO
	AX = BF09h
Return: CF clear
Notes:	sets bit 6 of port 03CEh index 81h; in some cases also sets index 84h
	  to 6Fh and index 83h to 04h
	supported by at least the QVision board and the LTE Lite ROM BIOS
SeeAlso: AX=BF0Ah,AX=BF0Bh

Top
10BF0A - INT 10 - VIDEO - Compaq Extensions - TURN OFF REVERSE VIDEO
INT 10 - VIDEO - Compaq Extensions - TURN OFF REVERSE VIDEO
	AX = BF0Ah
Return: CF clear
Notes:	clears bit 6 of port 03CEh index 81h; in some cases also sets index 84h
	  to 80h and index 83h to FBh
	supported by at least the QVision board and the LTE Lite ROM BIOS
SeeAlso: AX=BF09h,AX=BF0Bh

Top
10BF0B - INT 10 - VIDEO - Compaq Extensions - CHECK WHETHER VIDEO REVERSED
INT 10 - VIDEO - Compaq Extensions - CHECK WHETHER VIDEO REVERSED
	AX = BF0Bh
Return: CF clear
	AX = state (0000h normal video, 0001h reverse video)
Note:	supported by at least the QVision board and the LTE Lite ROM BIOS
SeeAlso: AX=BF09h,AX=BF0Ah

Top
10BF0C - INT 10 - VIDEO - Compaq Extensions - SET DAC 6-BIT MODE
INT 10 - VIDEO - Compaq Extensions - SET DAC 6-BIT MODE
	AX = BF0Ch
Return: CF clear
Desc:	specify that video DAC registers use only six bits of color info
Note:	supported by at least the QVision board and the SystemPro XL ROM BIOS
SeeAlso: AX=BF0Dh,AX=BF0Eh

Top
10BF0D - INT 10 - VIDEO - Compaq Extensions - SET DAC 8-BIT MODE
INT 10 - VIDEO - Compaq Extensions - SET DAC 8-BIT MODE
	AX = BF0Dh
Return: CF clear
Desc:	specify that video DAC registers use all eight bits of color info
Note:	supported by at least the QVision board and the SystemPro XL ROM BIOS
SeeAlso: AX=BF0Ch,AX=BF0Eh

Top
10BF0E - INT 10 - VIDEO - Compaq Extensions - CHECK DAC 6-BIT/8-BIT mode
INT 10 - VIDEO - Compaq Extensions - CHECK DAC 6-BIT/8-BIT mode
	AX = BF0Eh
Return: CF clear
	AL = DAC mode
	    00h in 6-bit mode
	    01h in 8-bit mode
Note:	supported by at least the QVision board and the SystemPro XL ROM BIOS
SeeAlso: AX=BF0Ch,AX=BF0Dh

Top
10BF0F - INT 10 - VIDEO - Compaq Extensions - SET HIGH ADRESS MAP REGISTER
INT 10 - VIDEO - Compaq Extensions - SET HIGH ADRESS MAP REGISTER
	AX = BF0Fh
	BX = high address map location in megabytes, or
	    0000h to disable high address map, or
	    FFFFh to let ROM configure high address map
Return: CF clear
	AX = previous value of high address map register
Notes:	supported by at least the QVision board and the SystemPro XL and LTE
	  Lite ROM BIOSes
SeeAlso: AX=BF10h

Top
10BF10 - INT 10 - VIDEO - Compaq Extensions - GET HIGH ADDRESS MAP REGISTER
INT 10 - VIDEO - Compaq Extensions - GET HIGH ADDRESS MAP REGISTER
	AX = BF10h
Return: CF clear
	AX = current value of high address map register
Notes:	supported by at least the QVision board and the SystemPro XL and LTE
	  Lite ROM BIOSes
	the Compaq QVision documentation (October 1993) says the value is
	  returned in BX, but this appears to be one of many typos
SeeAlso: AX=BF0Fh

Top
10BF11 - INT 10 - VIDEO - Compaq Extensions - GET EXTENDED ENVIRONMENT
INT 10 - VIDEO - Compaq Extensions - GET EXTENDED ENVIRONMENT
	AX = BF11h
Return: AL = BFh if supported
	    CF clear
	    ES:DI -> ASCII signature "COMPAQ"
	    ES:SI -> advanced functionality table (see #00214)
Note:	supported by at least the QVision board and the LTE Lite and ProSignia
	  ROM BIOSes
SeeAlso: AX=1A00h,AX=BF03h

Bitfields for Compaq advanced video functionality:
Bit(s)	Description	(Table 00214)
 31	future graphics extensions (reserved, set to 0)
 30-16	reserved
 15-12	available video memory in 256K blocks, less one (0000 = 256K, etc.)
 11-8	reserved
 7	QVision modes supported
 6	Advanced VGA modes supported
 5	Accelerated VGA modes supported
 4	standard VGA modes supported
 3-2	reserved
 1	132-column modes supported
 0	reserved

Top
10BF12 - INT 10 - VIDEO - Compaq Extensions - NEW ACTIVE MONITOR
INT 10 - VIDEO - Compaq Extensions - NEW ACTIVE MONITOR
	AX = BF12h
	BH reserved
	BL = function mask (see #00215)
Return: CF clear
Notes:	this function is a NOP if the VGA subsystem is inactive or the current
	  Display Combination Code is 10h or higher
	supported by at least the QVision board and the LTE Lite and ProSignia
	  ROM BIOSes
SeeAlso: AX=BF01h,AX=BF02h,#00733

Bitfields for function mask:
Bit(s)	Description	(Table 00215)
 7	command mode
	if set, bits 1 and 0 make the monitor active when set
	if clear, bits 1 and 0 toggle the monitor's state when set
 6-2	reserved
 1	internal monitor
 0	external monitor

Top
10BF13 - INT 10 - VIDEO - Compaq QVision - GAMMA CORRECTION
INT 10 - VIDEO - Compaq QVision - GAMMA CORRECTION
	AX = BF13h
	BL = subfunction
	    00h load gamma correction table for true-color mode
		DS = BIOS data segment
	    01h set palette RAM bypass
	BH = 00h
Return: nothing
Note:	these functions must be called after a video mode set, and are in
	  effect only for the current video mode
SeeAlso: #00733

Top
10BFA0BXADAD - INT 10 - VIDEO - Compaq ADAPT.COM - INSTALLATION CHECK
INT 10 - VIDEO - Compaq ADAPT.COM - INSTALLATION CHECK
	AX = BFA0h
	BX = ADADh
Return: AX = BDBDh if newer ADAPT.COM installed
	    BX = BCD version (BH = major, BL = minor)
	    CL = ???
	    CH = ???
	    DL = ???
	AX = ADADh if older version of ADAPT.COM installed
Program: ADAPT is Compaq's Advanced Display Attribute Programming Tool, an
	  optionally-resident utility for setting display colors and cursor
	  size; when resident, it also includes a screen blanker
SeeAlso: AX=BFA1h,AX=BFA2h,AX=DFA5h
Index:	screen saver;ADAPT

Top
10BFA1 - INT 10 - VIDEO - Compaq ADAPT.COM - GET ???
INT 10 - VIDEO - Compaq ADAPT.COM - GET ???
	AX = BFA1h
Return: AX = BDBEh if supported
	    CH = current value of ???
	    DL = current value of ???
SeeAlso: AX=BFA0h,AX=BFA2h

Top
10BFA2 - INT 10 - VIDEO - Compaq ADAPT.COM - SET ???
INT 10 - VIDEO - Compaq ADAPT.COM - SET ???
	AX = BFA2h
	CH = new value for ???
	DL = new value for ???
Return: AX = BDBEh if supported
SeeAlso: AX=BFA0h,AX=BFA1h

Top
10C0 - INT 10 - CU Writer v1.4 - GO TO TEXT ROW AND COLUMN
INT 10 - CU Writer v1.4 - GO TO TEXT ROW AND COLUMN
	AH = C0h
	???
Return: ???
SeeAlso: AH=B1h,AH=C1h,AH=C2h,AH=C3h,AH=C4h

Top
10C000 - INT 10 - S3 SpeedUp v3.00+ - INSTALLATION CHECK
INT 10 - S3 SpeedUp v3.00+ - INSTALLATION CHECK
	AX = C000h
Return: AX = FFFFh if installed
	    DX = version number (binary, DH=major, DL=minor)
	    BX = resident code segment
Program: S3SPDUP is a freeware TSR by Dietmar Meschede to improve the speed
	  of chained video modes (both VESA and VGA Mode 13) on S3-chipset
	  video cards
SeeAlso: AX=C001h,AX=C002h,AX=C003h,AX=D000h"S3VBE"

Top
10C001 - INT 10 - S3 SpeedUp v3.00+ - GET ACTIVE OPTIONS
INT 10 - S3 SpeedUp v3.00+ - GET ACTIVE OPTIONS
	AX = C001h
Return: AX = FFFFh if function supported
	    BX = currently active options (see #00216)
SeeAlso: AX=C000h,AX=C002h,AX=C003h

Bitfields for S3SpeedUp options:
Bit(s)	Description	(Table 00216)
 0	speed up banked VESA modes
 1	speed up 320x200 VGA mode 13
SeeAlso: #00222

Top
10C002 - INT 10 - S3 SpeedUp v3.00+ - SET ACTIVE OPTIONS
INT 10 - S3 SpeedUp v3.00+ - SET ACTIVE OPTIONS
	AX = C002h
	BX = new value for active options (see #00216)
Return: AX = FFFFh if function supported
SeeAlso: AX=C000h,AX=C001h,AX=C003h,AX=D003h"S3VBE"

Top
10C003 - INT 10 - S3 SpeedUp v3.10+ - GET FLAGS
INT 10 - S3 SpeedUp v3.10+ - GET FLAGS
	AX = C003h
Return: AX = FFFFh if function supported
	    BX = flags
		bit 0: SpeedUp is active
		bit 1: Windows run after SpeedUp
SeeAlso: AX=C000h,AX=C001h,AX=C002h,AX=D005h"S3VBE"

Top
10C004 - INT 10 - S3 SpeedUp v3.10+ - RESERVED FUNCTIONS
INT 10 - S3 SpeedUp v3.10+ - RESERVED FUNCTIONS
	AX = C004h-C0FFh
Return: AX = 5555h
SeeAlso: AX=C000h

Top
10C1 - INT 10 - CU Writer v1.4 - OUTPUT TEXT
INT 10 - CU Writer v1.4 - OUTPUT TEXT
	AH = C1h
	???
Return: ???
SeeAlso: AH=C0h,AH=C2h,AH=C3h,AH=C4h

Top
10C2 - INT 10 - CU Writer v1.4 - REVERSE TEXT
INT 10 - CU Writer v1.4 - REVERSE TEXT
	AH = C2h
	???
Return: ???
SeeAlso: AH=C0h,AH=C1h,AH=C3h,AH=C4h

Top
10C3 - INT 10 - CU Writer v1.4 - TEXT BAR
INT 10 - CU Writer v1.4 - TEXT BAR
	AH = C3h
	???
Return: ???
SeeAlso: AH=C0h,AH=C1h,AH=C4h

Top
10C4 - INT 10 - CU Writer v1.4 - TEXT MENU
INT 10 - CU Writer v1.4 - TEXT MENU
	AH = C4h
	???
Return: ???
SeeAlso: AH=C0h,AH=C1h,AH=C3h,AH=D0h

Top
10CB00 - INT 10 - UNCHAIN - SAVE CURRENT VGA REGISTERS
INT 10 - UNCHAIN - SAVE CURRENT VGA REGISTERS
	AX = CB00h
Note:	combined with AX=CB06h, this function permits the use of video mode
	  13h together with the VGA's unchained mode
SeeAlso: AX=CB06h,AX=CBFFh

Top
10CB01 - INT 10 - UNCHAIN - UPDATE PAGE 1 OFFSET
INT 10 - UNCHAIN - UPDATE PAGE 1 OFFSET
	AX = CB01h
	BX = offset of page 1
Return: nothing
Desc:	inform UNCHAIN of the location of video page 1 in video memory; the
	  default is 0000h
SeeAlso: AX=CB02h,AX=CB03h,AX=CB04h,AX=CBFFh

Top
10CB02 - INT 10 - UNCHAIN - UPDATE PAGE 2 OFFSET
INT 10 - UNCHAIN - UPDATE PAGE 2 OFFSET
	AX = CB02h
	BX = offset of page 2
Return: nothing
Desc:	inform UNCHAIN of the location of video page 2 in video memory; the
	  default is 3E80h (16000, for 320x200)
SeeAlso: AX=CB00h,AX=CB01h,AX=CB03h,AX=CB04h

Top
10CB03 - INT 10 - UNCHAIN - UPDATE PAGE 3 OFFSET
INT 10 - UNCHAIN - UPDATE PAGE 3 OFFSET
	AX = CB03h
	BX = offset of page 3
Return: nothing
Desc:	inform UNCHAIN of the location of video page 3 in video memory; the
	  default is 7D00h (32000, for 320x200)
SeeAlso: AX=CB01h,AX=CB02h,AX=CB04h

Top
10CB04 - INT 10 - UNCHAIN - UPDATE PAGE 4 OFFSET
INT 10 - UNCHAIN - UPDATE PAGE 4 OFFSET
	AX = CB04h
	BX = offset of page 4
Return: nothing
Desc:	inform UNCHAIN of the location of video page 4 in video memory; the
	  default is BB80h (48000, for 320x200)
SeeAlso: AX=CB01h,AX=CB02h,AX=CB03h,AX=CB05h

Top
10CB05 - INT 10 - UNCHAIN - SAVE PALETTE
INT 10 - UNCHAIN - SAVE PALETTE
	AX = CB05h
Return: nothing
SeeAlso: AX=CB00h,AX=CB06h

Top
10CB06 - INT 10 - UNCHAIN - RESTORE VGA REGISTERS
INT 10 - UNCHAIN - RESTORE VGA REGISTERS
	AX = CB06h
Return: nothing
SeeAlso: AX=CB00h,AX=CB05h,AX=CBFFh

Top
10CBFF - INT 10 - UNCHAIN - INSTALLATION CHECK
INT 10 - UNCHAIN - INSTALLATION CHECK
	AX = CBFFh
Return: AX = CCBBh if installed
Program: UNCHAIN is a TSR by Colin Buckley which permits use of Borland
	  development tools with Mode X video in the absence of a second
	  monitor
SeeAlso: AX=CB00h,AX=CB01h,AX=CB06h

Top
10CC00 - INT 10 - VIDEO - UltraVision - GET STATUS (INSTALLATION CHECK)
INT 10 - VIDEO - UltraVision - GET STATUS (INSTALLATION CHECK)
	AX = CC00h
	SI = magic value 0000h (if checking version)
Return: CX = product signature
	    ABCDh UltraVision
	    5546h ('UF') UltraFont
	AL = Ultravision extensions
	    00h enabled
	    FFh disabled
	AH = card designator
	BX:00F0h -> palette values (for compatibility with NEWFONT)
	DX = support for high resolution modes
	    00h not active
	    01h active
	SI = UltraVision version number (v1.2+), high byte=major,low byte=minor
	    unchanged for versions <1.2
Note:	UltraFont is a simplified version of UltraVision for Toshiba;
	  only the signature in CX and the status in AL will be returned
SeeAlso: AX=CC01h,AX=CC02h

Top
10CC01 - INT 10 - VIDEO - UltraVision - DISABLE EXTENSIONS
INT 10 - VIDEO - UltraVision - DISABLE EXTENSIONS
	AX = CC01h
Return: nothing
Notes:	subsequent BIOS calls will be passed through to previous handler
	should be followed immediately by mode set to restore normal EGA/VGA
	  state
SeeAlso: AX=CC02h

Top
10CC02 - INT 10 - VIDEO - UltraVision - ENABLE EXTENSIONS
INT 10 - VIDEO - UltraVision - ENABLE EXTENSIONS
	AX = CC02h
Return: nothing
Note:	should be followed immediately by mode set to restore previous
	  UltraVision state
SeeAlso: AX=CC01h

Top
10CCAB - INT 10 - HiFont - INSTALLATION CHECK
INT 10 - HiFont - INSTALLATION CHECK
	AX = CCABh
Return: AX = ABCCh
Program: HiFont is a 8x19 font driver for standard VGA by Solar Designer

Top
10CD00 - INT 10 - VIDEO - UltraVision - LOAD ULTRAVISION PALETTE (color EGA,VGA)
INT 10 - VIDEO - UltraVision - LOAD ULTRAVISION PALETTE (color EGA,VGA)
	AX = CD00h
	CL = palette table number (01h-07h for v1.x, 01h-0Fh for v2+)
	DS:DX -> 16-byte palette register list (colors for registers 00h-0Fh)
Return: nothing
Notes:	if palette locking is in effect for the current mode, the new colors
	  will be displayed immediately; otherwise, the system reverts to the
	  default palette
	palette table 0 is reserved for the default palette and cannot be set
	UltraVision always sets the border color to black
SeeAlso: AX=CD01h,AX=CD02h

Top
10CD01 - INT 10 - VIDEO - UltraVision - SET PALETTE LOCKING STATUS (color EGA,VGA)
INT 10 - VIDEO - UltraVision - SET PALETTE LOCKING STATUS (color EGA,VGA)
	AX = CD01h
	CL = palette locking value
	    00h none
	    01h text modes only (02h,03h)
	    FFh all modes (all standard color text and graphics modes)
Return: nothing
Notes:	intended for video modes with 16 or fewer colors
SeeAlso: AX=1000h,AX=1002h,AX=CD00h,AX=CD03h

Top
10CD02 - INT 10 - VIDEO - UltraVision - GET ULTRAVISION PALETTE (EGA,VGA)
INT 10 - VIDEO - UltraVision - GET ULTRAVISION PALETTE (EGA,VGA)
	AX = CD02h
Return: CL = palette table number
	DS:DX -> 17-byte palette register list (see #00217)
	DS:SI -> current font names table (see #00218,#00219)
Note:	only the font names are valid on monochrome EGA systems
SeeAlso: AX=1009h,AX=CD00h

Format of UltraVision palette register list:
Offset	Size	Description	(Table 00217)
 00h 16 BYTEs	colors for palette registers 00h through 0Fh
 10h	BYTE	border color

Format of UltraVision v2+ current font names table:
Offset	Size	standard EGA	HiRes EGA	VGA	(Table 00218)
 00h  8 BYTEs	N/A		F19 font	F20 font
 08h  8 BYTEs	F14 font	F14 font	F14 font
 10h  8 BYTEs	N/A		F11 font	F10 font
 18h  8 BYTEs	F8 font		F8 font		F8 font

Format of UltraVision v1.x current font names table:
Offset	Size	HiRes EGA	(Table 00219)
 00h  8 BYTEs	F19/F14 font
 08h  8 BYTEs	F11/F8 font

Top
10CD03 - INT 10 - VIDEO - UltraVision - GET PALETTE LOCKING STATUS (color EGA,VGA)
INT 10 - VIDEO - UltraVision - GET PALETTE LOCKING STATUS (color EGA,VGA)
	AX = CD03h
Return: CL = palette locking value
	    00h none
	    01h text modes only
	    FFh all modes
SeeAlso: AX=CD01h

Top
10CD04 - INT 10 - VIDEO - UltraVision - GET UltraVision TEXT MODE (EGA,VGA)
INT 10 - VIDEO - UltraVision - GET UltraVision TEXT MODE (EGA,VGA)
	AX = CD04h
Return: AL = mode number (see #00220)
SeeAlso: AH=0Fh,AX=CC00h,AH=CDh

(Table 00220)
Values for UltraVision video mode number:
 11h	80x25
 12h	80x43, 80x50
 13h	80x34, 80x36
 14h	80x60, 80x63
 19h	94x25
 1Ah	94x43, 94x50
 1Bh	94x36
 1Ch	94x63
 21h	108x25
 22h	108x43, 108x50
 23h	107x34, 108x36
 24h	108x60, 108x63
 31h	120x25
 32h	120x43, 120x50
 33h	132x25
 34h	132x44, 132x50
 39h	120x36
 3Ah	120x63
 3Bh	132x36
 3Ch	132x60
Index:	video modes;UltraVision

Top
10CD05 - INT 10 - VIDEO - UltraVision - SET CURSOR TYPE (EGA,VGA)
INT 10 - VIDEO - UltraVision - SET CURSOR TYPE (EGA,VGA)
	AX = CD05h
	CL = type
	    00h line cursor
	    FFh box cursor
Return: nothing
Note:	sets default cursor type for text-based programs
SeeAlso: AH=01h,AX=CD06h

Top
10CD06 - INT 10 - VIDEO - UltraVision - GET CURSOR TYPE (EGA,VGA)
INT 10 - VIDEO - UltraVision - GET CURSOR TYPE (EGA,VGA)
	AX = CD06h
Return: CL = type
	    00h line cursor
	    FFh box cursor
SeeAlso: AH=03h,AX=CD05h

Top
10CD07 - INT 10 - VIDEO - UltraVision v1.2+ - SET UNDERLINE STATUS (EGA,VGA)
INT 10 - VIDEO - UltraVision v1.2+ - SET UNDERLINE STATUS (EGA,VGA)
	AX = CD07h
	CL = hardware underline status (see #00221)
	BL = foreground color for normal text (FFh = current)
	BH = foreground color for bright text (FFh = current)
Return: CL = hardware underline status
	BL = current foreground color for normal text
	BH = current foreground color for bright text
Notes:	when underline or strikeout is enabled in color text modes, the
	  specified colors will be assigned temporarily to colors 01h and 09h,
	  allowing affected text to match non-underlined text.	The color
	  remapping uses values from the current onscreen palette regardless
	  of the palette locking status (see AX=CD01h)
	specify the standard colors (BL=01h,BH=09h) to enable underline or
	  strikeout without color remapping
SeeAlso: AX=CD08h

(Table 00221)
Values for hardware underline status:
 00h	off (color systems only)
 01h	underline below characters
 02h	strike through characters

Top
10CD08 - INT 10 - VIDEO - UltraVision v1.2+ - GET UNDERLINE STATUS (EGA,VGA)
INT 10 - VIDEO - UltraVision v1.2+ - GET UNDERLINE STATUS (EGA,VGA)
	AX = CD08h
Return: CL = hardware underline status (see #00221)
	BL = foreground color for normal text
	BH = foreground color for bright text
Note:	only CL is valid on monochrome EGA systems
SeeAlso: AX=CD07h

Top
10CD0F - INT 10 - VIDEO - UltraVision - GET POINTER TO ??? (EGA,VGA)
INT 10 - VIDEO - UltraVision - GET POINTER TO ??? (EGA,VGA)
	AX = CD0Fh
Return: DS:DI -> pointer to ???
Note:	This gets called by DR DOS "Panther" SECURITY.	SECURITY also issues a
	  number of calls to the other UltraVision functions in the AH=CCh and
	  AH=CDh range, and carefully checks signatures.
SeeAlso: AX=1100h,AX=1103h

Top
10CD10 - INT 10 - VIDEO - UltraVision - LOAD USER FONT (EGA,VGA)
INT 10 - VIDEO - UltraVision - LOAD USER FONT (EGA,VGA)
	AX = CD10h
	BH = bytes per character (08h,0Ah,0Bh,0Eh,13h,14h)
	CX = ABCDh load 9xN alternate font (v2+)
	   else number of characters to load
		DX = character offset into font table
		DS:SI -> 8-byte ASCII font name
	ES:BP -> font definitions
Return: AX = FFFFh if invalid font parameters
Notes:	loads the designated characters into UltraVision's resident font area
	should be followed by a video mode set to reload character generator
SeeAlso: AX=1100h,AX=1103h

Top
10CD - INT 10 - VIDEO - UltraVision - SET ULTRAVISION TEXT MODE (EGA,VGA)
INT 10 - VIDEO - UltraVision - SET ULTRAVISION TEXT MODE (EGA,VGA)
	AH = CDh
	AL = text mode number (see #00220)
Return: AX = CDCDh if invalid mode
SeeAlso: AX=CD04h

Top
10D0 - INT 10 - CU Writer v1.4 - LOAD PICTURE
INT 10 - CU Writer v1.4 - LOAD PICTURE
	AH = D0h
	???
Return: ???
SeeAlso: AH=B0h"CU Writer",AH=C4h

Top
10D0 - INT 10 U - VIDEO - HP 100LX/200LX - SET ZOOM MODE
INT 10 U - VIDEO - HP 100LX/200LX - SET ZOOM MODE
	AH = D0h
	AL = zoom mode
	    02h 80x25 mono
	    03h 80x25 color
	    80h 64x18 mono
	    81h 64x18 color
	    82h 40x25 mono
	    83h 40x25 color
	    84h 40x16 mono
	    85h 40x16 color
Return: nothing
Note:	zoom mode can only be changed within zoom modes of the same color
	  scheme; if needed, set to mono/color with AH=00h,AL=02h/03h; with
	  mono video modes AL=07h or AL=21h only 80x25 and 40x16 will work
	the current zoom mode is stored in the BIOS data area at 0040h:009Fh
SeeAlso: AH=D1h,AH=D4h

Top
10D000 - INT 10 - S3VBE/Core2.0 v3.00+ - INSTALLATION CHECK
INT 10 - S3VBE/Core2.0 v3.00+ - INSTALLATION CHECK
	AX = D000h
Return: AX = FFFFh if installed
	    BX = resident code segment
	    DX = version (binary, DH = major, DL = minor)
Program: S3VBE/Core2.0 is a freeware TSR by Dietmar Meschede to provide
	  VESA 2.0 services on S3-based video cards with VESA 1.2 BIOS
SeeAlso: AX=D001h"S3VBE",AX=D002h"S3VBE",AX=D003h"S3VBE",AX=D005h"S3VBE"

Top
10D001 - INT 10 - S3VBE/Core2.0 v3.00+ - GET ACTIVE OPTIONS
INT 10 - S3VBE/Core2.0 v3.00+ - GET ACTIVE OPTIONS
	AX = D001h
Return: AX = FFFFh if supported
	    BX = currently active options (see #00222)
SeeAlso: AX=D000h"S3VBE",AX=D002h"S3VBE"

Bitfields for S3VBE options:
Bit(s)	Description	(Table 00222)
 0	VESA VBE v2.0 extensions enabled
 1	linear frame buffer enabled
 2	low-resolution video mode support enabled
 8	never clear video memory during VBE mode set (v3.10+)
---debug options---
 12	report VBE version 1.2 (v3.10+)
 13	always fail AX=4F0Ah (v3.10+)
 14	don't copy video mode list (v3.12+)
SeeAlso: #00216

Top
10D002 - INT 10 - S3VBE/Core2.0 v3.00+ - SET ACTIVE OPTIONS
INT 10 - S3VBE/Core2.0 v3.00+ - SET ACTIVE OPTIONS
	AX = D002h
	BX = new active options (see #00222)
Return: AX = FFFFh if supported
SeeAlso: AX=D000h"S3VBE",AX=D001h"S3VBE"

Top
10D003 - INT 10 U - S3VBE/Core2.0 v3.10+ - GET VBE/Core CAPABILITIES
INT 10 U - S3VBE/Core2.0 v3.10+ - GET VBE/Core CAPABILITIES
	AX = D003h
Return: AX = FFFFh if supported
	    BX = capabilities
		bit 0: SpeedUp = activate/deactivate linear addressing at
			A0000h for VBE functions 04h/05h
SeeAlso: AX=D000h"S3VBE",AX=D001h"S3VBE",AX=D004h"S3VBE",AX=D005h"S3VBE"

Top
10D004 - INT 10 U - S3VBE/Core2.0 v3.10+ - ACTIVATE SPEED-UP
INT 10 U - S3VBE/Core2.0 v3.10+ - ACTIVATE SPEED-UP
	AX = D004h
Return: AX = FFFFh if supported
	BX = status
	    0000h SpeedUp activated
	    0001h SpeedUp not possible (wrong memory organization for mode)
	    0002h SpeedUp not possible (linear frame buffer active)
Note:	called by S3 SpeedUp (see AX=C000h)
SeeAlso: AX=C000h"SpeedUp",AX=D000h"S3VBE",AX=D003h"S3VBE",AX=D005h"S3VBE"

Top
10D005 - INT 10 U - S3VBE/Core2.0 v3.10+ - DEACTIVATE SPEED-UP
INT 10 U - S3VBE/Core2.0 v3.10+ - DEACTIVATE SPEED-UP
	AX = D005h
Return: AX = FFFFh if supported
	BX = status
	    0000h SpeedUp deactivated
	    0001h SpeedUp not possible (wrong memory organization for mode)
	    0002h SpeedUp not possible (linear frame buffer active)
Notes:	called by S3 SpeedUp (see AX=C000h)
	functions 06h-FFh (e.g. AX=D006h-D0FFh) are considered reserved by
	  v3.10+ and return AX=5555h
SeeAlso: AX=C000h"SpeedUp",AX=D000h"S3VBE",AX=D003h"S3VBE",AX=D004h"S3VBE"

Top
10D1 - INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
	AH = D1h
	AL = 01h
Return: ???
Note:	called by AH=D0h
SeeAlso: AH=D0h,AH=D4h

Top
10D4 - INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
INT 10 U - VIDEO - HP 100LX/200LX - INTERNAL - ???
	AH = D4h
	AL = 29h
Return: ???
Note:	called by AH=D0h
SeeAlso: AH=D0h,AH=D1h

Top
10D5 - INT 10 - Netroom SCRNCLK - ???
INT 10 - Netroom SCRNCLK - ???
	AH = D5h
	???
Return: ???
Program: SCRNCLK is a "cloaked" screen accelerator included with Netroom

Top
10DAAD - INT 10 - TSRUNIT v1.10 - INSTALLATION CHECK
INT 10 - TSRUNIT v1.10 - INSTALLATION CHECK
	AX = DAADh
	BX = check signature (different for each TSR)
	CX = 0000h
Return: CX = return signature (nonzero) if installed
	    ES = program segment prefix
Program: TSRUNIT is a Turbo Pascal unit for creating TSRs by Nir Sofer

Top
10DFA5 - INT 10 U - VIDEO - Compaq ADAPT.COM - GET ??? DATA AREA
INT 10 U - VIDEO - Compaq ADAPT.COM - GET ??? DATA AREA
	AX = DFA5h
Return: AX = BDBFh if supported
	    ES:DI -> ??? data area
	    BX = ES
SeeAlso: AX=BFA0h

Top
10EE - INT 10 - VIDEO - IBM "Private" Function
INT 10 - VIDEO - IBM "Private" Function
	AH = EEh
SeeAlso: INT 13/AH=FFh"IBM"

Top
10EF - INT 10 - VIDEO - MSHERC.COM - GET VIDEO ADAPTER TYPE AND MODE
INT 10 - VIDEO - MSHERC.COM - GET VIDEO ADAPTER TYPE AND MODE
	AH = EFh
Return: DL = video adapter type
	    00h original Hercules
	    01h Hercules Plus	 (port 03BAh reads x001xxxxx)
	    02h Hercules InColor (port 03BAh reads x101xxxxx)
	    FFh not a Hercules-compatible card (port 03BAh bit 7 not pulsing)
	DH = memory mode byte
	    00h "half" mode
	    01h "full" mode
	    FFh not a Hercules-compatible card
Program: MSHERC.COM/QBHERC.COM is a support program for the Microsoft Quick
	  languages which makes their graphics libraries compatible with a
	  Hercules card by adding video modes 08h and 88h, and supporting
	  text in the new graphics modes.
Notes:	while in mode 08h or 88h, INT 10 supports the Hercules card much like
	  a CGA.
	MSHERC performs an installation check by setting DL=FFh and testing
	  whether it has been changed on return, which causes it to reinstall
	  itself when no HGC is present (or HGC emulation has temporarily been
	  disabled); a better installation check would be to use DX=80FFh and
	  check whether DX has been changed
	reportedly returns DH=00h on some not-entirely-Hercules-compatible
	  cards
Index:	installation check;MSHERC

Top
10F0 - INT 10 - EGA Register Interface Library - READ ONE REGISTER
INT 10 - EGA Register Interface Library - READ ONE REGISTER
	AH = F0h
	BL = register number
	BH = 00h
	DX = group index (see #00223)
Return: BL = data
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others; it is used for software virtualization
	  of write-only registers on an EGA video adapter, so that multiple
	  programs may peacefully coexist without clobbering each other's
	  display settings
SeeAlso: AH=F1h"EGA",AH=F2h"EGA",AH=FAh"EGA",INT 2F/AX=BC00h

(Table 00223)
Values for group index:
 Pointer/data chips
 00h	CRT Controller (25 reg) 3B4h mono modes, 3D4h color modes
 08h	Sequencer (5 registers) 3C4h
 10h	Graphics Controller (9 registers) 3CEh
 18h	Attribute Controller (20 registers) 3C0h
 Single registers
 20h	Miscellaneous Output register 3C2h
 28h	Feature Control register (3BAh mono modes, 3DAh color modes)
 30h	Graphics 1 Position register 3CCh
 38h	Graphics 2 Position register 3CAh

Top
10F0 - INT 10 - VHRBIOS.SYS - INSTALLATION CHECK
INT 10 - VHRBIOS.SYS - INSTALLATION CHECK
	AH = F0h
Return: BX = 4F4Bh ('OK')
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=F1h"VHRBIOS.SYS",AH=F2h"VHRBIOS.SYS",AH=F4h"VHRBIOS.SYS"
SeeAlso: AH=96h"VHRBIOS.SYS"

Top
10F1 - INT 10 - EGA Register Interface Library - WRITE ONE REGISTER
INT 10 - EGA Register Interface Library - WRITE ONE REGISTER
	AH = F1h
	DX = group index (see #00223)
	    if single register:
		BL = value to write
	    otherwise
		BL = register number
		BH = value to write
Return: BL = data
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others
SeeAlso: AX=7F05h,AH=F0h"EGA",AH=F3h"EGA",AH=FAh"EGA"

Top
10F1 - INT 10 - VHRBIOS.SYS - SET REVERSE VIDEO
INT 10 - VHRBIOS.SYS - SET REVERSE VIDEO
	AH = F1h
	AL = new video state 
	    (bit 5 set for black text on white, clear for white on black)
Return: ???
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=F0h"VHRBIOS.SYS",AH=F3h"VHRBIOS.SYS"

Top
10F2 - INT 10 - EGA Register Interface Library - READ REGISTER RANGE
INT 10 - EGA Register Interface Library - READ REGISTER RANGE
	AH = F2h
	CH = starting register number
	CL = number of registers (>1)
	DX = group index (00h,08h,10h,18h) (see #00223)
	ES:BX -> buffer, CL bytes
Return: nothing
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others
SeeAlso: AH=F0h"EGA",AH=F3h"EGA",AH=FAh"EGA"

Top
10F2 - INT 10 - VHRBIOS.SYS - ???
INT 10 - VHRBIOS.SYS - ???
	AH = F2h
Return: ???
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=F0h"VHRBIOS.SYS",AH=F4h"VHRBIOS.SYS"

Top
10F3 - INT 10 - EGA Register Interface Library - WRITE REGISTER RANGE
INT 10 - EGA Register Interface Library - WRITE REGISTER RANGE
	AH = F3h
	CH = starting register
	CL = number of registers (>1)
	DX = group index (00h,08h,10h,18h) (see #00223)
	ES:BX -> buffer, CL bytes
Return: nothing
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others
SeeAlso: AX=7F05h,AH=F1h"EGA",AH=F2h"EGA",AH=F4h"EGA"

Top
10F3 - INT 10 - VHRBIOS.SYS - SWITCH BETWEEN DUAL MONITORS???
INT 10 - VHRBIOS.SYS - SWITCH BETWEEN DUAL MONITORS???
	AH = F3h
Return: ???
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=F0h"VHRBIOS.SYS",AH=F4h"VHRBIOS.SYS",AH=F6h"VHRBIOS.SYS"

Top
10F4 - INT 10 - EGA Register Interface Library - READ REGISTER SET
INT 10 - EGA Register Interface Library - READ REGISTER SET
	AH = F4h
	CX = number of registers to read (>1)
	ES:BX -> table of register records (see #00224)
Return: register values in table filled in
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others
SeeAlso: AH=F0h"EGA",AH=F2h"EGA",AH=F5h"EGA"

Format of EGA RIL entries in table of register records:
Offset	Size	Description	(Table 00224)
 00h	WORD	group index
		Pointer/data chips
		   00h CRTC (3B4h mono modes, 3D4h color modes)
		   08h Sequencer 3C4h
		   10h Graphics Controller 3CEh
		   18h Attribute Controller 3C0h
		Single registers
		   20h Miscellaneous Output register 3C2h
		   28h Feature Control register (3BAh mono modes, 3DAh color)
		   30h Graphics 1 Position register 3CCh
		   38h Graphics 2 Position register 3CAh
 02h	BYTE	register number (0 for single registers)
 03h	BYTE	register value

Top
10F4 - INT 10 - VHRBIOS.SYS - GET VERSION
INT 10 - VHRBIOS.SYS - GET VERSION
	AH = F4h
Return: AX = driver version (AH = major, AL = minor)
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=F0h"VHRBIOS.SYS",AH=F5h"VHRBIOS.SYS"

Top
10F5 - INT 10 - EGA Register Interface Library - WRITE REGISTER SET
INT 10 - EGA Register Interface Library - WRITE REGISTER SET
	AH = F5h
	CX = number of registers to write (>1)
	ES:BX -> table of records (see #00224)
Return: nothing
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others
SeeAlso: AX=7F05h,AH=F1h"EGA",AH=F3h"EGA",AH=F4h"EGA"

Top
10F5 - INT 10 - VHRBIOS.SYS - GET VENDOR ID
INT 10 - VHRBIOS.SYS - GET VENDOR ID
	AH = F5h
Return: AXBX = vendor ID (4D44h:5349h = 'MDSI' for Micro Display Systems Inc.)
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=F0h"VHRBIOS.SYS",AH=F4h"VHRBIOS.SYS",AH=F6h"VHRBIOS.SYS"

Top
10F6 - INT 10 - EGA Register Interface Library - REVERT TO DEFAULT REGISTERS
INT 10 - EGA Register Interface Library - REVERT TO DEFAULT REGISTERS
	AH = F6h
Return: nothing
Note:	provided by the Microsoft Mouse driver, OS/2 compatibility box, and
	  others
SeeAlso: AH=F5h"EGA",AH=F7h"EGA"

Top
10F6 - INT 10 - VHRBIOS.SYS - GET INFO
INT 10 - VHRBIOS.SYS - GET INFO
	AH = F6h
	AL = what to get
	    00h device driver state
		Return: AX = device driver state
	    01h video mode info
		Return: AL = video mode
			DH = screen height in rows
			DL = screen width in columns
Program: VHRBIOS.SYS is a driver for the Micro Display Systems "TheGenius"
	  black&white A4/portrait monitor
SeeAlso: AH=F0h"VHRBIOS.SYS",AH=F4h"VHRBIOS.SYS",AH=96h"VHRBIOS.SYS

Top
10F7 - INT 10 - EGA Register Interface Library - DEFINE DEFAULT REGISTER TABLE
INT 10 - EGA Register Interface Library - DEFINE DEFAULT REGISTER TABLE
	AH = F7h
	DX = port number
	   Pointer/data chips
	      00h CRTC (3B4h mono modes, 3D4h color modes)
	      08h Sequencer 3C4h
	      10h Graphics Controller 3CEh
	      18h Attribute Controller 3C0h
	   Single registers
	      20h Miscellaneous Output register 3C2h
	      28h Feature Control register (3BAh mono modes, 3DAh color modes)
	      30h Graphics 1 Position register 3CCh
	      38h Graphics 2 Position register 3CAh
	ES:BX -> table of one-byte entries, one byte to be written to each
		 register
Return: nothing
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others
SeeAlso: AH=F0h"EGA",AH=F6h"EGA"

Top
10FA--BX0000 - INT 10 - EGA Register Interface Library - INTERROGATE DRIVER
INT 10 - EGA Register Interface Library - INTERROGATE DRIVER
	AH = FAh
	BX = 0000h
Return: BX = 0000h if RIL driver not present
	ES:BX -> EGA Register Interface version number, if present:
	    byte 0 = major release number
	    byte 1 = minor release number
Note:	the RIL is provided by EGA.SYS, the Microsoft Mouse driver, the OS/2
	  compatibility box, and others
SeeAlso: AH=F0h"EGA",AH=F6h"EGA",INT 2F/AX=BC00h

Top
10FA - INT 10 - FASTBUFF.COM - INSTALLATION CHECK
INT 10 - FASTBUFF.COM - INSTALLATION CHECK
	AH = FAh
Return: AX = 00FAh if installed
	    ES = segment of resident code
Program: FASTBUFF.COM is a keyboard speedup/screen blanking utility by David
	  Steiner
Index:	screen saver;FASTBUFF

Top
10FE - INT 10 - TopView - GET SHADOW BUFFER
INT 10 - TopView - GET SHADOW BUFFER
	AH = FEh
	ES:DI -> assumed video buffer
		B800h:0000h color text/CGA graphics, B000h:0000h mono text,
		  or A000h:0000h EGA/VGA graphics (RSIS environments only)
Return: ES:DI -> actual video buffer for calling process
Desc:	Determine the address of the virtual screen to which the program
	  should write instead of the actual video memory; this permits
	  programs to be multitasked without interfering with each other's
	  output, and allows memory managers to move the video memory to
	  permit larger programs to be loaded.
Notes:	if no multitasker or RSIS-compliant environment is installed, ES:DI is
	  returned unchanged; RSIS is the Relocated Screen Interface
	  Specification
	for display pages other than 0, use AH=05h and AH=0Fh to determine
	  whether a particular page exists
	TopView requires a call to AH=FFh to notify it that the screen has
	  changed; DESQview will check for changes itself until the first call
	  to AH=FFh
SeeAlso: AH=05h,AX=5201h,AH=FFh,INT 15/AX=1024h,INT 21/AH=2Bh"DESQview"
SeeAlso: INT 21/AH=ECh"DoubleDOS"

Top
10FF - INT 10 - TopView - UPDATE SCREEN FROM SHADOW BUFFER
INT 10 - TopView - UPDATE SCREEN FROM SHADOW BUFFER
	AH = FFh
	CX = number of consecutive changed characters
	ES:DI -> first changed character in shadow buffer
Return: nothing
Notes:	avoid CX=0000h
	DESQview will discontinue the automatic screen updating initiated by
	  AH=FEh after this call
	not supported (ignored) by DESQview/X 1.0x
SeeAlso: AH=93h,AH=FEh

Top
10FF - INT 10 - DJ GO32.EXE 80386+ DOS extender - VIDEO EXTENSIONS
INT 10 - DJ GO32.EXE 80386+ DOS extender - VIDEO EXTENSIONS
	AH = FFh
	AL = video mode (see #00225)
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
	  GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
SeeAlso: AH=00h,INT 21/AH=FFh"GO32"

(Table 00225)
Values for GO32 video mode number:
 00h	80x25 text
 01h	default text
 02h	CXxDX text
 03h	biggest text
 04h	320x200 graphics
 05h	default graphics
 06h	CXxDX graphics
 07h	biggest non-interlaced graphics
 08h	biggest graphics
Index:	video modes;GO32

Top
10FF - INT 10 - VIDEO - Oak VGA BIOS v1.02+ - SET EMULATION
INT 10 - VIDEO - Oak VGA BIOS v1.02+ - SET EMULATION
	AH = FFh
	AL = emulation
	    43h ('C') CGA emulation
	    45h ('E') EGA emulation
	    4Dh ('M') Hercules emulation
	    56h ('V') VGA emulation
	ES:DI -> signature string "Calamity"
Return: VGA switched to suggested mode
SeeAlso: AH=00h,AX=007Fh/BH=00h,AX=007Fh/BH=02h,AX=5F01h

Top
10FF00 - INT 10 - CARBON COPY PLUS v5.0 - CHECK IF CC CONNECTED TO CCHELP
INT 10 - CARBON COPY PLUS v5.0 - CHECK IF CC CONNECTED TO CCHELP
	AX = FF00h
Return: BL = state
	    00h not connected
	    01h connected
SeeAlso: AX=FF01h,AX=FF02h

Top
10FF01 - INT 10 - CARBON COPY PLUS v5.0 - DISCONNECT AND RESET LINE
INT 10 - CARBON COPY PLUS v5.0 - DISCONNECT AND RESET LINE
	AX = FF01h
Return: nothing
SeeAlso: AX=FF00h,AX=FF02h

Top
10FF02 - INT 10 - CARBON COPY PLUS v5.0 - GET LAST PHONE NUMBER DIALED
INT 10 - CARBON COPY PLUS v5.0 - GET LAST PHONE NUMBER DIALED
	AX = FF02h
Return: ES:DI -> ASCIZ phone number
SeeAlso: AX=FF00h,AX=FF01h

Top
11 - INT 11 - CPU-generated (80486+) - ALIGNMENT CHECK
INT 11 - CPU-generated (80486+) - ALIGNMENT CHECK
Desc:	automatically generated by the CPU when the AC flag is set, the current
	  privilege level is 3, and a misaligned memory access (WORD not on an
	  even address or DWORD not on a multiple of 4) is made
Note:	not all V86 monitors allow the AC flag to be set, such as Turbo
	  Debugger 386
SeeAlso: INT 12"CPU"

Top
11 - INT 11 - BIOS - GET EQUIPMENT LIST
INT 11 - BIOS - GET EQUIPMENT LIST
Return: (E)AX = BIOS equipment list word (see #00226,#03215 at INT 4B"Tandy")
Note:	since older BIOSes do not know of the existence of EAX, the high word
	  of EAX should be cleared before this call if any of the high bits
	  will be tested
SeeAlso: INT 4B"Tandy 2000",MEM 0040h:0010h

Bitfields for BIOS equipment list:
Bit(s)	Description	(Table 00226)
 0	floppy disk(s) installed (number specified by bits 7-6)
 1	80x87 coprocessor installed
 3-2	number of 16K banks of RAM on motherboard (PC only)
	number of 64K banks of RAM on motherboard (XT only)
 2	pointing device installed (PS)
 3	unused (PS)
 5-4	initial video mode
	00 EGA, VGA, or PGA
	01 40x25 color
	10 80x25 color
	11 80x25 monochrome
 7-6	number of floppies installed less 1 (if bit 0 set)
 8	DMA support installed (PCjr, Tandy 1400LT)
	DMA support *not* installed (Tandy 1000's)
 11-9	number of serial ports installed
 12	game port installed
 13	serial printer attached (PCjr)
	internal modem installed (PC/Convertible)
 15-14	number of parallel ports installed
---Compaq, Dell, and many other 386/486 machines--
 23	page tables set so that Weitek coprocessor addressable in real mode
 24	Weitek math coprocessor present
---Compaq Systempro---
 25	internal DMA parallel port available
 26	IRQ for internal DMA parallel port (if bit 25 set)
	0 = IRQ5
	1 = IRQ7
 28-27	parallel port DMA channel
	00 DMA channel 0
	01 DMA channel 0 ???
	10 reserved
	11 DMA channel 3
Notes:	Some implementations of Remote (Initial) Program Loader (RPL/RIPL)
	  don't set bit 0 to indicate a "virtual" floppy drive, although the
	  RPL requires access to its memory image through a faked drive A:.
	  This may have caused problems with releases of DOS 3.3x and earlier,
	  which assumed A: and B: to be invalid drives then and would discard
	  any attempts to access these drives.	Implementations of RPL should
	  set bit 0 to indicate a "virtual" floppy.
	The IBM PC DOS 3.3x-2000 IBMBIO.COM contains two occurences of code
	  sequences like:
	    INT 11h
	    JMP SHORT skip
	    DB 52h,50h,53h; "RPS"
	    skip: OR AX,1
	    TEST AX,1
	  While at the first glance this seems to be a bug since it just
	  wastes memory and the condition is always true, this could well be
	  a signature for an applyable patch to stop it from forcing AX bit 0
	  to be always on. MS-DOS IO.SYS does not contain these signatures,
	  however.
BUGs:	Some old BIOSes didn't properly report the count of floppy drives
	  installed to the system.  In newer systems INT 13h/AH=15h can be
	  used to retrieve the number of floppy drives installed.
	Award BIOS v4.50G and v4.51PG erroneously set bit 0 even if there are
	  no floppy drives installed; use two calls to INT 13/AH=15h to
	  determine whether any floppies are actually installed
SeeAlso: INT 12"BIOS",#03215 at INT 4B"Tandy 2000"

Top
11----SI6A6A - INT 11 - Columbia Data Products Standard Device Level Protocol (SDLP) 1.6
INT 11 - Columbia Data Products Standard Device Level Protocol (SDLP) 1.6
	SI = 6A6Ah
	AH = command (see #00227)
	AL = SCSI Addressing (see #00228)
Return: CF clear if successful
	    DI = 6A6Ah if AH=01h on entry (maybe for all functions???)
	    AH = ??? for command 01h
	CF set on error
	    AL = error code
SeeAlso: INT 21/AX=4402h"ASPI"

(Table 00227)
Values for SDLP command:
 00h	SDLP initialization
 01h	SDLP System Identify
 02h	simple read sectors
 03h	simple write sectors
 04h	simple verify sectors/seek to sector
 05h	get device size/type
 06h	ready unit
 07h	format unit
 08h	diagnostics
 09h	rewind
 0Ah	erase
 0Bh	write filemarks
 0Ch	space
 0Dh	prevent/allow media removal
 0Eh	load/unload media
 0Fh	reserved - returns good status
 10h	set block size
 11h	write setmark
 12h	set error level
 13h	get address of Request Sense Buffer
 14h	get SDLP error via Request Sense
 F0h	Vendor Unique Function (WD7000-FASST2 only)
 FDh	reset current SCSI HAC
 FEh	get/set current SCSI HAC
 FFh	execute SCSI command

Bitfields for SDLP SCSI addressing:
Bit(s)	Description	(Table 00228)
 7-6	Host Adapter
 5-3	SCSI Target ID
 2-0	SCSI Target LUN (logical unit number)

Top
110225BX6900 - INT 11 - Blank-It Screen Blanker - INSTALLATION CHECK
INT 11 - Blank-It Screen Blanker - INSTALLATION CHECK
	AX = 0225h
	BX = 6900h
Return: BL = 23h
	ES:DI -> ASCIZ "BLNKIT"
Program: Blank-It is a resident screen blanker by Rhode Island Soft Systems,
	  Inc.
SeeAlso: AX=0225h/BX=6902h,AX=0225h/BX=6908h,AX=0225h/BX=6909h,INT 14/AX=AA01h
Index:	screen saver;Blank-It

Top
110225BX6901 - INT 11 - Blank-It Screen Blanker - SET TIMEOUT FOR SCREEN BLANKING
INT 11 - Blank-It Screen Blanker - SET TIMEOUT FOR SCREEN BLANKING
	AX = 0225h
	BX = 6901h
	CX = timeout in timer ticks (18.2/second) or 0000h to disable timeout
	     largest value is 59 minutes (FBACh or 64428)
Return: CF clear if successful
	    DI = 6A6Ah (possibly also 6A6Ah for all following functions)
	    AH = ???
	CF set on error
	    AL = error code
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6904h
Index:	screen saver;Blank-It

Top
110225BX6902 - INT 11 - Blank-It Screen Blanker - ENABLE THE SOFTWARE
INT 11 - Blank-It Screen Blanker - ENABLE THE SOFTWARE
	AX = 0225h
	BX = 6902h
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6903h
Index:	screen saver;Blank-It

Top
110225BX6903 - INT 11 - Blank-It Screen Blanker - DISABLE THE SOFTWARE
INT 11 - Blank-It Screen Blanker - DISABLE THE SOFTWARE
	AX = 0225h
	BX = 6903h
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6902h
Index:	screen saver;Blank-It

Top
110225BX6904 - INT 11 - Blank-It Screen Blanker - GET BLANKING TIMEOUT
INT 11 - Blank-It Screen Blanker - GET BLANKING TIMEOUT
	AX = 0225h
	BX = 6904h
Return: CF clear if successful
	    BX = timeout (see AX=0225h/BX=6901h)
	CF set on error
	    AL = error code
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6901h
Index:	screen saver;Blank-It

Top
110225BX6905 - INT 11 - Blank-It Screen Blanker - ENABLE WINDOWS COMPATIBILITY MODE
INT 11 - Blank-It Screen Blanker - ENABLE WINDOWS COMPATIBILITY MODE
	AX = 0225h
	BX = 6905h
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6906h
Index:	screen saver;Blank-It

Top
110225BX6906 - INT 11 - Blank-It Screen Blanker - DISABLE WINDOWS COMPATIBILITY MODE
INT 11 - Blank-It Screen Blanker - DISABLE WINDOWS COMPATIBILITY MODE
	AX = 0225h
	BX = 6906h
Return: CF clear if successful
	CF set on error
	    AL = error code
Program: Blank-It is a resident screen blanker by Rhode Island Soft Systems,
	  Inc.
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6905h
Index:	screen saver;Blank-It

Top
110225BX6907 - INT 11 - Blank-It Screen Blanker - UNBLANK THE SCREEN
INT 11 - Blank-It Screen Blanker - UNBLANK THE SCREEN
	AX = 0225h
	BX = 6907h
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6908h
Index:	screen saver;Blank-It

Top
110225BX6908 - INT 11 - Blank-It Screen Blanker - BLANK THE SCREEN
INT 11 - Blank-It Screen Blanker - BLANK THE SCREEN
	AX = 0225h
	BX = 6908h
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AX=0225h/BX=6900h,AX=0225h/BX=6907h
Index:	screen saver;Blank-It

Top
110225BX6909 - INT 11 - Blank-It Screen Blanker - SET HOTKEY FOR MANUAL BLANKING
INT 11 - Blank-It Screen Blanker - SET HOTKEY FOR MANUAL BLANKING
	AX = 0225h
	BX = 6909h
	CL = key scan code (see #00229)
Return: CF clear if successful
	CF set on error
	    AL = error code
Program: Blank-It is a resident screen blanker by Rhode Island Soft Systems,
	  Inc.
SeeAlso: AX=0225h/BX=6900h
Index:	screen saver;Blank-It|hotkeys;Blank-It

(Table 00229)
Values for Blank-It hotkey scan code:
 00h	No hot key
 1Dh	Left CTRL
 2Ah	Left Shift
 36h	Right Shift
 57h	F11
 58h	F12
SeeAlso: #00006

Top
1105D7 - INT 11 CU - Borland C++ IDE - INSTALLED CALLOUT
INT 11 CU - Borland C++ IDE - INSTALLED CALLOUT
	AX = 05D7h
	BX = product ID (0088h)
Note:	called by the BC++ IDE when an application calls
	  INT 12/AX=05D7h/BX=05D7h
SeeAlso: INT 12/AX=05D7h/BX=05D7h
Index:	installation check;Borland C++ IDE

Top
1177 - INT 11 - RainbowFAX v1.3 - SFENGINE API - OPERATIONAL CONTROL
INT 11 - RainbowFAX v1.3 - SFENGINE API - OPERATIONAL CONTROL
	AH = 77h
	AL = subfunction
	    01h request SFENGINE start
		Return: AX = 0001h
	    02h check if SFENGINE started
		Return: AX = 0000h or 0001h
	    03h request SFENGINE stop
		Return: AX = 0001h
	    04h check if SFENGINE stopped
		Return: AX = 0000h or 0001h
	    05h installation check
		Return: AX = 0001h
	    06h uninstall???
		BX:DX -> return address for successful uninstall???
		Return: (at caller's address)
			AX = 0000h
	    else
		Return: AX = FFFFh (invalid subfunction)
Return: ES:DX -> ASCIZ signature string "SFAX ENGINE V1.0"
		followed by internal data area???
SeeAlso: AH=78h,AH=79h,AH=7Ah,AH=7Ch
Index:	installation check;RainbowFAX|installation check;SFENGINE
Index:	uninstall;RainbowFAX|uninstall;SFENGINE

Top
1178 - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
	AH = 78h
	AL = subfunction
	    01h set ???
		BX = new state for ???
		    0000h ???
		    else ???
		Return: AX = 0001h
	    02h set ???
		BX = ???
		CX = ???
		Return: AX = 0001h
	    03h set ???
		BX = new state for ???
		    0000h ???
		    else ???
		Return: AX = 0001h
	    else
		Return: AX = FFFFh (invalid subfunction)
SeeAlso: AH=77h,AH=79h,AH=7Ah,AH=7Ch

Top
1179 - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
	AH = 79h
	AL = subfunction
	    01h set ??? flag
		Return: AX = previous state (0000h already set, 0001h clear)
	    02h clear ??? flag (refer to subfunc 01h)
		Return: AX = 0001h
	    03h set ??? flag (different from subfn 02h or 04h)
		Return: AX = 0001h
	    04h clear ??? flag (different from subfn 02h or 03h)
		Return: AX = 0001h
	    else
		Return: AX = FFFFh (invalid subfunction)
SeeAlso: AH=77h,AH=78h,AH=7Ah,AH=7Ch

Top
117A - INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
INT 11 - RainbowFAX v1.3 - SFENGINE API - ???
	AH = 7Ah
	AL = subfunction
	    01h set ??? flag
		Return: AX = previous state (0000h already set, 0001h clear)
	    02h clear ??? flag
		Return: AX = 0001h
	    03h set ??? flag (different from subfn 02h)
		Return: AX = 0001h
	    else
		Return: AX = FFFFh (invalid subfunction)
SeeAlso: AH=77h,AH=78h,AH=79h,AH=7Ch

Top
117C01 - INT 11 - RainbowFAX v1.3 - SFENGINE API - SET ??? FLAG
INT 11 - RainbowFAX v1.3 - SFENGINE API - SET ??? FLAG
	AX = 7C01h
Return: AX = 0001h
SeeAlso: AH=77h,AH=78h,AH=79h,AH=7Ah,AX=7C02h,AX=7C03h

Top
117C02 - INT 11 - RainbowFAX v1.3 - SFENGINE API - CLEAR ??? FLAG
INT 11 - RainbowFAX v1.3 - SFENGINE API - CLEAR ??? FLAG
	AX = 7C02h
Return: AX = 0001h
SeeAlso: AH=77h,AH=78h,AH=79h,AH=7Ah,AX=7C01h,AX=7C03h

Top
117C03 - INT 11 - RainbowFAX v1.3 - SFENGINE API - UNSUPPORTED FUNCTIONS
INT 11 - RainbowFAX v1.3 - SFENGINE API - UNSUPPORTED FUNCTIONS
	AX = 7C03h-7CFFh
Return: AX = FFFFh
SeeAlso: AH=77h,AX=7C01h,AX=7C02h

Top
11BC--DX1954 - INT 11 - BNU FOSSIL - INSTALLATION CHECK
INT 11 - BNU FOSSIL - INSTALLATION CHECK
	AH = BCh
	DX = 1954h
Return: AX = 1954h
	ES:DX -> entry point of driver (instead of INT 14)
SeeAlso: INT 14/AH=04h"FOSSIL"

Top
11FF--SI6A6A - INT 11 - WD7000 SDLP interface - EXECUTE GENERIC SCSI COMMAND
INT 11 - WD7000 SDLP interface - EXECUTE GENERIC SCSI COMMAND
	AH = FFh
	SI = 6A6Ah
	AL = SCSI Addressing (see #00230)
	CX = bytes of data to be transmitted (max FFF0h)
	DH = 00h
	DL = length of SCSI Command Descriptor Block
	DS:DI -> SCSI Command Descriptor Block
	ES:BX -> data buffer
Return: CF set on error
	    AL = error code
	CF clear if successful
Note:	because of busmaster operations with WD7000FASST avoid accessing
	  video memory directly; check 386 memory manager for VDS support.
	  The WD7000XTAT works with programmed IO and does not have this
	  limitation.
SeeAlso: INT 21/AX=4402h"ASPI",INT 2F/AX=7F01h

Bitfields for SDLP SCSI addressing:
Bit(s)	Description	(Table 00230)
 2-0	SCSI Target LUN (logical unit number)
 5-3	SCSI Target ID
 7	write flag, set for write operations, clear otherwise

Top
11FFFECXFFFE - INT 11 - BACK&FORTH (before v1.62) API
INT 11 - BACK&FORTH (before v1.62) API
	AX = FFFEh
	CX = FFFEh
	BX = function
	    00h installation check
		Return: AX = installation state
			    0001h BNFHIGH and BNFLOW both loaded
			    0003h only BNFHIGH loaded
			    else neither loaded
	    01h ???
		Return: DX:AX -> ???
	    02h ???
	    03h ???
	    04h ???
	    05h ??? switches current PSP segment and stack if BNFLOW has not
		    yet announced itself installed
	    06h ???
		Return: AX = ???
SeeAlso: INT 12/AX=FFFEh
Index:	installation check;BACK&FORTH

Top
12 - INT 12 - BIOS - GET MEMORY SIZE
INT 12 - BIOS - GET MEMORY SIZE
Return: AX = kilobytes of contiguous memory starting at absolute address 00000h
Note:	this call returns the contents of the word at 0040h:0013h; in PC and
	  XT, this value is set from the switches on the motherboard
SeeAlso: INT 11"BIOS",INT 2F/AX=4A06h,INT 4C"Tandy 2000",MEM 0040h:0013h

Top
12 - INT 12 - CPU-generated (Pentium +) - MACHINE CHECK EXCEPTION
INT 12 - CPU-generated (Pentium +) - MACHINE CHECK EXCEPTION
Notes:	Intel documents this interrupt as CPU model-dependent
	for current Pentium processors, the reason for the machine check
	  exception may be read from model-specific registers 00h and 01h
	  (described, for example, in Christian Ludloff's 4P package)
	for Pentium Pro/II processors,	the reason may be read from the
	  MCG_STATUS MSR (see MSR 0000017Ah)
	this exception is enabled by bit 6 of CR4
SeeAlso: INT 11"CPU",MSR 00000000h,MSR 00000001h,MSR 0000017Ah

Top
12----CX1806 - INT 12 - KEYBUI v2.0+ - INSTALLATION CHECK
INT 12 - KEYBUI v2.0+ - INSTALLATION CHECK
	CX = 1806h
Return: AX = kilobytes of contiguous memory starting at absolute address 00000h
	CX = 1960h if installed
Program: KEYBUI is a resident keyboard driver by Johan Zwiekhorst which allows
	  accented characters and box drawing on standard QWERTY keyboards; it
	  also provides break-to-DOS and screen blanking capabilities
SeeAlso: INT 14/AX=AA01h
Index:	screen saver;KEYBUI

Top
12----CX1807 - INT 12 - PARKER v2.0+ - INSTALLATION CHECK
INT 12 - PARKER v2.0+ - INSTALLATION CHECK
	CX = 1807h
Return: AX = kilobytes of contiguous memory starting at absolute address 00000h
	CX = 1961h if installed
Program: PARKER is an optionally-resident hard disk parking program by Johan
	  Zwiekhorst

Top
1205D7BX05D7 - INT 12 U - Borland C++ IDE - INSTALLATION CHECK
INT 12 U - Borland C++ IDE - INSTALLATION CHECK
	AX = 05D7h (1495d)
	BX = 05D7h
Note:	the BC++ IDE will call INT 11/AX=05D7h/BX=0088h if it is loaded
SeeAlso: INT 11/AX=05D7h

Top
124350BX4920 - INT 12 C - CPI-standard virus - "FRIEND" CHECK
INT 12 C - CPI-standard virus - "FRIEND" CHECK
	AX = 4350h
	BX = 4920h
	CX = AB46h
	DX = 554Eh
Return: if friendly (not to be infected)
	    CX:DX -> ASCIZ identity code (changes yearly)
SeeAlso: INT 13/AX=EC00h"VIRUS",INT 13/AX=5001h,INT 21/AX=0B56h

Top
12FFFECXFFFE - INT 12 - Back&Forth v1.62+ - API
INT 12 - Back&Forth v1.62+ - API
	AX = FFFEh
	CX = FFFEh
	BX = function
	    00h installation check
		Return: AX = 0001h installed
			     else  not loaded
	    01h (reserved)
	    02h build program ID list (shareware Back&Forth)
		ES:DI -> buffer of at least 100 bytes, to be filled with words
		Return: AX = number of programs defined
			ES:DI buffer filled with AX words
	    02h get memory statistics (Back&Forth Professional)
		Return: AX = available swap memory, KBytes
			BX = maximum task size, KBytes
			DX = fixed overhead per task, excluding video/macro
			      storage
	    03h switch to specified task (task need not be open yet)
		DX = two-letter program ID
		Return: AX = status
			    0000h if task undefined
			    0001h task switch will occur when safe
	    04h (reserved)
	    05h (reserved)
	    06h get version (documented only for Back&Forth Professional)
		Return: AX = version * 100 (v1.71 = 00ABh)
	    07h spawn program (Back&Forth Professional only???)
		ES:DI -> BF_SPAWN record (see #00232)
		Return: AX = status
			    0000h if no task handles free
			    0001h spawn will occur when safe
	    08h get open tasks (documented only for Back&Forth Professional)
		ES:DI -> task info buffer (see #00231,#00233)
		Return: AX = number of open tasks (max 20)
		Note:	the supplied buffer must be large enough to hold 21
			  task entries
	    09h (reserved)
	    ---Back&Forth Professional---
	    0Ah get active clipboard filename
		Return: DX:AX -> ASCIZ clipboard filename
	    0Bh get active task number
		AX = active task number (00h-13h)
		BX = number of tasks allocated
		DX = maximum number of tasks
	    0Ch (reserved)
	    0Dh (reserved)
	    0Eh (reserved)
	    0Fh stuff string into keyboard buffer
		ES:DI -> ASCIZ string to be stuffed
		Return: nothing
	    10h check if in graphics mode
		Return: AX = state
			    0000h color text mode
			    0004h mono text mode
			    FFFFh graphics mode
	    11h get Back&Forth Professional user number
		Return: AX = user number (0000h-00FFh)
	    12h switch task by task number
		DX = task number
		Return: AX = status
			    0000h attempted to switch to active task
			    0001h task switch will occur when safe
			    FFFFh invalid task number
	    13h delete (kill) task
		DX = task number
		Return: AX = status
			    0000h attempted to delete the active task
			    0001h successfully deleted
			    FFFFh invalid task number
		Note:	the active task number will change if the deleted task
			  was lower in the task list than the active task
	    14h get next available task handle
		Return:	AX = next available task handle
			    FFFFh if task table is full
Program: Back & Forth is a task switcher by Progressive Solutions, Inc.
SeeAlso: INT 11/AX=FFFEh
Index:	installation check;BACK&FORTH

Format of Back&Forth task info buffer:
Offset	Size	Description	(Table 00231)
 00h 21 BYTEs	ASCIZ task name
 15h	BYTE	hotkey shift state (as for INT 16/AH=02h)
 16h	WORD	hotkey scan code (see also #00006)
 18h	WORD	program ID
Index:	hotkeys;Back&Forth
SeeAlso: #00232,#00233

Format of Back&Forth Professional BF_SPAWN record:
Offset	Size	Description	(Table 00232)
 00h 21 BYTEs	task description
 15h	BYTE	flag: disable hotkeys
 16h	WORD	environment size in bytes
 18h	BYTE	hotkey shift flags
 19h	WORD	hotkey scancode
 1Bh	WORD	maximum number of EMS pages
 1Dh	WORD	required memory in KBytes
 1Fh  3 BYTEs	DESQview-style two-letter program ID
 22h 13 BYTEs	base name of program to be run (no path or extension)
 2Fh 66 BYTEs	directory from which to start program
 71h 66 BYTEs	initial current directory for program
SeeAlso: #00231,#00233

Format of Back&Forth Professional BF_TASK record:
Offset	Size	Description	(Table 00233)
 00h	DWORD	Unix-style task start time (seconds since 1970/1/1)
 04h 21 BYTEs	task description
 19h	DWORD	elapsed time in task (seconds)
 1Dh	WORD	task ID
 1Fh	BYTE	task hotkey keyboard flags
 20h	WORD	task hotkey scan code (see also #00006)
 22h	DWORD	time task was suspended/exited
 26h	WORD	task handle
SeeAlso: #00231,#00232

Top
1300 - INT 13 - DISK - RESET DISK SYSTEM
INT 13 - DISK - RESET DISK SYSTEM
	AH = 00h
	DL = drive (if bit 7 is set both hard disks and floppy disks reset)
Return: AH = status (see #00234)
	CF clear if successful (returned AH=00h)
	CF set on error
Note:	forces controller to recalibrate drive heads (seek to track 0)
	for PS/2 35SX, 35LS, 40SX and L40SX, as well as many other systems,
	  both the master drive and the slave drive respond to the Reset
	  function that is issued to either drive
SeeAlso: AH=0Dh,AH=11h,INT 21/AH=0Dh,INT 4D/AH=00h"TI Professional"
SeeAlso: INT 56"Tandy 2000",MEM 0040h:003Eh

Top
1301 - INT 13 - DISK - GET STATUS OF LAST OPERATION
INT 13 - DISK - GET STATUS OF LAST OPERATION
	AH = 01h
	DL = drive (bit 7 set for hard disk)
Return: CF clear if successful (returned status 00h)
	CF set on error
	AH = status of previous operation (see #00234)
Note:	some BIOSes return the status in AL; the PS/2 Model 30/286 returns the
	  status in both AH and AL
SeeAlso: AH=00h,INT 4D/AH=01h,MEM 0040h:0041h,MEM 0040h:0074h

(Table 00234)
Values for disk operation status:
 00h	successful completion
 01h	invalid function in AH or invalid parameter
 02h	address mark not found
 03h	disk write-protected
 04h	sector not found/read error
 05h	reset failed (hard disk)
 05h	data did not verify correctly (TI Professional PC)
 06h	disk changed (floppy)
 07h	drive parameter activity failed (hard disk)
 08h	DMA overrun
 09h	data boundary error (attempted DMA across 64K boundary or >80h sectors)
 0Ah	bad sector detected (hard disk)
 0Bh	bad track detected (hard disk)
 0Ch	unsupported track or invalid media
 0Dh	invalid number of sectors on format (PS/2 hard disk)
 0Eh	control data address mark detected (hard disk)
 0Fh	DMA arbitration level out of range (hard disk)
 10h	uncorrectable CRC or ECC error on read
 11h	data ECC corrected (hard disk)
 20h	controller failure
 31h	no media in drive (IBM/MS INT 13 extensions)
 32h	incorrect drive type stored in CMOS (Compaq)
 40h	seek failed
 80h	timeout (not ready)
 AAh	drive not ready (hard disk)
 B0h	volume not locked in drive (INT 13 extensions)
 B1h	volume locked in drive (INT 13 extensions)
 B2h	volume not removable (INT 13 extensions)
 B3h	volume in use (INT 13 extensions)
 B4h	lock count exceeded (INT 13 extensions)
 B5h	valid eject request failed (INT 13 extensions)
 B6h	volume present but read protected (INT 13 extensions)
 BBh	undefined error (hard disk)
 CCh	write fault (hard disk)
 E0h	status register error (hard disk)
 FFh	sense operation failed (hard disk)
SeeAlso: #M0022

Top
1302 - INT 13 - DISK - READ SECTOR(S) INTO MEMORY
INT 13 - DISK - READ SECTOR(S) INTO MEMORY
	AH = 02h
	AL = number of sectors to read (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> data buffer
Return: CF set on error
	    if AH = 11h (corrected ECC error), AL = burst length
	CF clear if successful
	AH = status (see #00234)
	AL = number of sectors transferred (only valid if CF set for some
	      BIOSes)
Notes:	errors on a floppy may be due to the motor failing to spin up quickly
	  enough; the read should be retried at least three times, resetting
	  the disk with AH=00h between attempts
	most BIOSes support "multitrack" reads, where the value in AL
	  exceeds the number of sectors remaining on the track, in which
	  case any additional sectors are read beginning at sector 1 on
	  the following head in the same cylinder; the MSDOS CONFIG.SYS command
	  MULTITRACK (or the Novell DOS DEBLOCK=) can be used to force DOS to
	  split disk accesses which would wrap across a track boundary into two
	  separate calls
	the IBM AT BIOS and many other BIOSes use only the low four bits of
	  DH (head number) since the WD-1003 controller which is the standard
	  AT controller (and the controller that IDE emulates) only supports
	  16 heads
	AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
	  than 1024 cylinders by placing bits 10 and 11 of the cylinder number
	  into bits 6 and 7 of DH
	under Windows95, a volume must be locked (see INT 21/AX=440Dh/CX=084Bh)
	  in order to perform direct accesses such as INT 13h reads and writes
	all versions of MS-DOS (including MS-DOS 7 [Windows 95]) have a bug
	  which prevents booting on hard disks with 256 heads (FFh), so many
	  modern BIOSes provide mappings with at most 255 (FEh) heads
	some cache drivers flush their buffers when detecting that DOS is
	  bypassed by directly issuing INT 13h from applications.  A dummy
	  read can be used as one of several methods to force cache
	  flushing for unknown caches (e.g. before rebooting).
BUGS:	When reading from floppies, some AMI BIOSes (around 1990-1991) trash
	  the byte following the data buffer, if it is not arranged to an even
	  memory boundary.  A workaround is to either make the buffer word
	  aligned (which may also help to speed up things), or to add a dummy
	  byte after the buffer.
	MS-DOS may leave interrupts disabled on return from this function.
	Apparently some BIOSes or intercepting resident software have bugs
	  that may destroy DX on return or not properly set the Carry flag.
	  At least some Microsoft software frames calls to this function with
	  PUSH DX, STC, INT 13h, STI, POP DX.
	on the original IBM AT BIOS (1984/01/10) this function does not disable
	  interrupts for harddisks (DL >= 80h).	 On these machines the MS-DOS/
	  PC DOS IO.SYS/IBMBIO.COM installs a special filter to bypass the
	  buggy code in the ROM (see CALL F000h:211Eh)
SeeAlso: AH=03h,AH=0Ah,AH=06h"V10DISK.SYS",AH=21h"PS/1",AH=42h"IBM"
SeeAlso: INT 21/AX=440Dh/CX=084Bh,INT 4D/AH=02h

Top
1303 - INT 13 - DISK - WRITE DISK SECTOR(S)
INT 13 - DISK - WRITE DISK SECTOR(S)
	AH = 03h
	AL = number of sectors to write (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> data buffer
Return: CF set on error
	CF clear if successful
	AH = status (see #00234)
	AL = number of sectors transferred
	      (only valid if CF set for some BIOSes)
Notes:	errors on a floppy may be due to the motor failing to spin up quickly
	  enough; the write should be retried at least three times, resetting
	  the disk with AH=00h between attempts
	most BIOSes support "multitrack" writes, where the value in AL
	  exceeds the number of sectors remaining on the track, in which
	  case any additional sectors are written beginning at sector 1 on
	  the following head in the same cylinder; the CONFIG.SYS command
	  MULTITRACK can be used to force DOS to split disk accesses which
	  would wrap across a track boundary into two separate calls
	the IBM AT BIOS and many other BIOSes use only the low four bits of
	  DH (head number) since the WD-1003 controller which is the standard
	  AT controller (and the controller that IDE emulates) only supports
	  16 heads
	AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
	  than 1024 cylinders by placing bits 10 and 11 of the cylinder number
	  into bits 6 and 7 of DH
	under Windows95, an application must issue a physical volume lock on
	  the drive via INT 21/AX=440Dh before it can successfully write to
	  the disk with this function
SeeAlso: AH=02h,AH=0Bh,AH=07h"V10DISK.SYS",AH=22h"PS/1",AH=43h"IBM"
SeeAlso: INT 21/AX=440Dh"DOS 3.2+",INT 4D/AH=03h

Top
1304 - INT 13 - DISK - VERIFY DISK SECTOR(S)
INT 13 - DISK - VERIFY DISK SECTOR(S)
	AH = 04h
	AL = number of sectors to verify (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> data buffer (PC,XT,AT with BIOS prior to 1985/11/15)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234)
	AL = number of sectors verified
Notes:	errors on a floppy may be due to the motor failing to spin up quickly
	  enough (timeout error 80h); the write should be retried at least
	  three times, resetting the disk with AH=00h between attempts
	on floppys, the operation should also be retried on media change
	  (06h) detection.
	this function does not compare the disk with memory, it merely
	  checks whether the sector's stored CRC matches the data's actual CRC
	the IBM AT BIOS and many other BIOSes use only the low four bits of
	  DH (head number) since the WD-1003 controller which is the standard
	  AT controller (and the controller that IDE emulates) only supports
	  16 heads
	AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
	  than 1024 cylinders by placing bits 10 and 11 of the cylinder number
	  into bits 6 and 7 of DH
BUG:	some Epson ROM BIOSes sometimes have problems properly handling this
	  function. The workaround is to reset the disk (INT 13/AH=00h) before
	  the call.
SeeAlso: AH=02h,AH=44h,INT 4D/AH=04h,INT 4D/AH=06h

Top
1305 - INT 13 - FLOPPY - FORMAT TRACK
INT 13 - FLOPPY - FORMAT TRACK
	AH = 05h
	AL = number of sectors to format
	CH = track number
	DH = head number
	DL = drive number
	ES:BX -> address field buffer (see #00235)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234)
Notes:	on AT or higher, call AH=17h first
	the number of sectors per track is read from the diskette parameter
	  table pointed at by INT 1E
BUG:	some old Compaq BIOSes have a bug when attempting to call this function
	  from Windows Standard Mode with EMM386 loaded.  A possible workaround
	  is to call this function from Real Mode e.g. through DPMI function
	  "Call Real Mode function with FAR return" (see INT 31/AX=0301h).
SeeAlso: AH=05h"FIXED",AH=17h,AH=18h,INT 1E

Format of floppy format address field buffer entry (one per sector in track):
Offset	Size	Description	(Table 00235)
 00h	BYTE	track number
 01h	BYTE	head number (0-based)
 02h	BYTE	sector number
 03h	BYTE	sector size (00h=128 bytes, 01h=256 bytes, 02h=512, 03h=1024)

Top
1305 - INT 13 - FIXED DISK - FORMAT TRACK
INT 13 - FIXED DISK - FORMAT TRACK
	AH = 05h
	AL = interleave value (XT-type controllers only)
	ES:BX -> 512-byte format buffer
		the first 2*(sectors/track) bytes contain F,N for each sector
		   F = sector type
			00h for good sector
			20h to unassign from alternate location
			40h to assign to alternate location
			80h for bad sector
		   N = sector number
	CH = cylinder number (bits 8,9 in high bits of CL)
	CL = high bits of cylinder number (bits 7,6)
	DH = head
	DL = drive
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234)
Notes:	AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
	  than 1024 cylinders by placing bits 10 and 11 of the cylinder number
	  into bits 6 and 7 of DH
	for XT-type controllers on an AT or higher, AH=0Fh should be called
	  first
	the IBM AT BIOS and many other BIOSes use only the low four bits of
	  DH (head number) since the WD-1003 controller which is the standard
	  AT controller (and the controller that IDE emulates) only supports
	  16 heads
	not all controller support sector types 20h and 40h
	under Windows95, an application must issue a physical volume lock on
	  the drive via INT 21/AX=440Dh before it can successfully write to
	  the disk with this function
SeeAlso: AH=05h"FLOPPY",AH=06h"FIXED",AH=07h"FIXED",AH=0Fh,AH=18h,AH=1Ah

Top
1305 - INT 13 - Future Domain SCSI BIOS - SEND SCSI MODE SELECT COMMAND
INT 13 - Future Domain SCSI BIOS - SEND SCSI MODE SELECT COMMAND
	AH = 05h
	DL = hard drive ID
	ES:BX -> mode select data (see #00236)
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234)
Notes:	this function can be called before AH=07h"SCSI" or AH=06h"SCSI" to
	  format a SCSI disk with the desired parameters
	the mode select data below is from the SCSI-1 specification
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=06h"SCSI",AH=07h"SCSI",INT 4F/AX=8100h

Format of Future Domain SCSI mode select data:
Offset	Size	Description	(Table 00236)
 00h	BYTE	number of bytes of remaining data (12 + vendor unique length)
 01h	BYTE	reserved (0)
 02h	BYTE	medium type (0 for hard disk)
 03h	BYTE	reserved (0)
 04h	BYTE	block descriptor length (8)
 05h	BYTE	density code (0 for hard disk)
 06h  3 BYTEs	(big-endian) number of blocks (000000h for entire disk)
 09h	BYTE	reserved (0)
 0Ah  3 BYTEs	(big-endian) block length (512 standard, or 256)
 0Dh	???	vendor-specific parameter bytes (optional)

Top
13057FSI324D - INT 13 - 2M - FORMAT TRACK
INT 13 - 2M - FORMAT TRACK
	AX = 057Fh
	SI = 324Dh ("2M")
	CH = track number
	DH = head number
	DL = drive number
	ES:BX -> boot sector of future 2M diskette
Return: CF set on error
	CF clear if successful
	AH = status (see #00234)
Program: 2M is a TSR developed by Ciriaco Garc¡a de Celis to support
	  non standard diskettes with 820-902/1476-1558K (5.25 DD/HD)
	  and 984-1066/1804-1886K/3608-3772K (3.5 DD/HD/ED)
InstallCheck: must search for a "CiriSOFT:2M:1.3" or "CiriSOFT:2MX:3.0" or
	  similar (recomended ":2M:", ":2MX:", or ":2MB:" substrings) in the
	  CiriSOFT TSR interface
Notes:	it is not necessary to call AH=17h or AH=18h first (will be ignored)
	the diskette format must always begin on cylinder 0 head 0
	the boot sector can be obtained from an already-formatted 2M diskette
	  (by calling AH=02h with head number 00h in 2M v1.x and with head
	  number 80h for 2M v2+)
	since 2M v2.0, the BOOT sector is emulated using the first physical
	  sector of FAT2; the second-sixth physical sectors of FAT2 in HD or ED
	  diskettes store the SuperBOOT code. To skip the FAT2 emulation (using
	  FAT1) of 2M, in order to read the SuperBOOT code, head number must be
	  80h-81h instead 0-1 (bit 7 active) in standard read/write functions.
	  This lets diskcopy programs format 2M target diskettes copying
	  SuperBOOT code. If the target diskette is already 2MF formatted
	  (containing boot code) this trick it is not necessary.
	when using STV technology (offset 65 of boot sector equal to 1) it is
	  necessary to write the full track before formatting (except track 0
	  side 0) to complete the format and skip future CRC errors on read; in
	  track 0 side 1 the head used must be 81h instead 1. Diskcopy programs
	  may do a format-write-verify sequential phases to improve performance
SeeAlso: AH=05h"FLOPPY",AH=18h/CX=5055h,INT 2F"CiriSOFT"

Top
1306 - INT 13 - FIXED DISK - FORMAT TRACK AND SET BAD SECTOR FLAGS (XT,PORT)
INT 13 - FIXED DISK - FORMAT TRACK AND SET BAD SECTOR FLAGS (XT,PORT)
	AH = 06h
	AL = interleave value
	CH = cylinder number (bits 8,9 in high bits of CL)
	CL = sector number
	DH = head
	DL = drive
Return: AH = status code (see #00234)
Note:	AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
	  than 1024 cylinders by placing bits 10 and 11 of the cylinder number
	  into bits 6 and 7 of DH
SeeAlso: AH=05h"FIXED",AH=07h"FIXED"

Top
1306 - INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE WITH BAD SECTOR MAPPING
INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE WITH BAD SECTOR MAPPING
	AH = 06h
	AL = interleave
	     (0 = default, 1 = consecutive sectors, 2 - 255 = vendor unique)
	DL = hard drive ID
	DH = defect list info (see #00237)
	ES:BX -> defect table A, B or C (see #00238,#00239,#00240)
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234)
Notes:	block addresses must be in ascending order (for table B, cylinder is
	  most significant, byte from index least significant; for table C,
	  cylinder is most significant, sector number least significant)
	table B defect bytes from index of FFFFFFFFh indicates that the entire
	  track shall be reassigned
	table C defect sector number of FFFFFFFFh indicates that the entire
	  track shall be reassigned
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=05h"SCSI",AH=06h"FIXED",AH=07h"SCSI"

Bitfields for Future Domain SCSI defect list info:
Bit(s)	Description	(Table 00237)
 7-5	drive LUN
 4	defect list is available
 3	defect list is complete (erase drive's defect list)
 2-0	defect table format
	(000=use defect table A, 100=use defect table B,
	 101=use defect table C)

Format of Future Domain SCSI defect table A:
Offset	Size	Description	(Table 00238)
 00h	WORD	number of bytes remaining in table
 02h	BYTE	reserved (0)
 03h	BYTE	reserved (0)
 04h	WORD	(big-endian) defect list length (4*number of defects)
 06h  4 DWORDs	(big-endian) defect block addresses

Format of Future Domain SCSI defect table B:
Offset	Size	Description	(Table 00239)
 00h	WORD	number of bytes remaining in table
 02h	BYTE	reserved (0)
 03h	BYTE	reserved (0)
 04h	WORD	(big-endian) defect list length (8*number of defects)
 06h 8N BYTEs	defect list [array] (see #00241)

Format of Future Domain SCSI defect table C:
Offset	Size	Description	(Table 00240)
 00h	WORD	number of bytes remaining in table
 02h	BYTE	reserved (0)
 03h	BYTE	reserved (0)
 04h	WORD	(big-endian) defect list length (8*number of defects)
 06h 8N BYTEs	defect list [array] (see #00241)

Format of Future Domain SCSI defect list entry:
Offset	Size	Description	(Table 00241)
 00h  3 BYTEs	(big-endian) cylinder number of defect
 03h	BYTE	head number of defect
 04h	DWORD	(big-endian) defect bytes from index

Top
1306 - INT 13 - Adaptec AHA-154xA/Bustek BT-542 BIOS - IDENTIFY SCSI DEVICES
INT 13 - Adaptec AHA-154xA/Bustek BT-542 BIOS - IDENTIFY SCSI DEVICES
	AH = 06h
Return: AH = status code (see #00234)
	CF clear if successful
	    AL = first drive supported
		(80h nonconcurrent operation, 81h concurrent operation)
	CF set on error
Desc:	determine the number of the first supported SCSI drive
Note:	the return value is 80h when two SCSI drives are supported, 81h if
	  only one SCSI drive is installed
SeeAlso: AH=08h"PC",#00732 at INT 1A/AX=B102h

Top
1306 - INT 13 - V10DISK.SYS - READ DELETED SECTORS
INT 13 - V10DISK.SYS - READ DELETED SECTORS
	AH = 06h
	AL = number of sectors
	CH = cylinder number (bits 8,9 in high bits of CL)
	CL = sector number
	DH = head
	DL = drive
	ES:BX -> buffer
Return: AH = status code (see #00234)
Program: V10DISK.SYS is a driver for the Flagstaff Engineering 8" floppies
SeeAlso: AH=02h,AH=07h"V10DISK.SYS"

Top
1307 - INT 13 - FIXED DISK - FORMAT DRIVE STARTING AT GIVEN TRACK (XT,PORT)
INT 13 - FIXED DISK - FORMAT DRIVE STARTING AT GIVEN TRACK (XT,PORT)
	AH = 07h
	AL = interleave value (XT only)
	ES:BX = 512-byte format buffer (see AH=05h)
	CH = cylinder number (bits 8,9 in high bits of CL)
	CL = sector number
	DH = head
	DL = drive
Return: AH = status code (see #00234)
Note:	AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more
	  than 1024 cylinders by placing bits 10 and 11 of the cylinder number
	  into bits 6 and 7 of DH
SeeAlso: AH=05h"FIXED",AH=06h"FIXED",AH=1Ah

Top
1307 - INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE
INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE
	AH = 07h
	AL = interleave (0 = default, 1 = consecutive sectors,
	       2 - 255 = vendor unique)
	DL = hard drive ID
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234)
SeeAlso: AH=05h"SCSI",AH=06h"SCSI",AH=07h"FIXED"

Top
1307 - INT 13 - V10DISK.SYS - WRITE DELETED SECTORS
INT 13 - V10DISK.SYS - WRITE DELETED SECTORS
	AH = 07h
	AL = number of sectors
	CH = cylinder number (bits 8,9 in high bits of CL)
	CL = sector number
	DH = head
	DL = drive
	ES:BX -> buffer
Return: AH = status code (see #00234)
Program: V10DISK.SYS is a driver for the Flagstaff Engineering 8" floppies
SeeAlso: AH=03h,AH=06h"V10DISK.SYS"

Top
1308 - INT 13 - DISK - GET DRIVE PARAMETERS (PC,XT286,CONV,PS,ESDI,SCSI)
INT 13 - DISK - GET DRIVE PARAMETERS (PC,XT286,CONV,PS,ESDI,SCSI)
	AH = 08h
	DL = drive (bit 7 set for hard disk)
	ES:DI = 0000h:0000h to guard against BIOS bugs
Return: CF set on error
	    AH = status (07h) (see #00234)
	CF clear if successful
	    AH = 00h
	    AL = 00h on at least some BIOSes
	    BL = drive type (AT/PS2 floppies only) (see #00242)
	    CH = low eight bits of maximum cylinder number
	    CL = maximum sector number (bits 5-0)
		 high two bits of maximum cylinder number (bits 7-6)
	    DH = maximum head number
	    DL = number of drives
	    ES:DI -> drive parameter table (floppies only)
Notes:	may return successful even though specified drive is greater than the
	  number of attached drives of that type (floppy/hard); check DL to
	  ensure validity
	for systems predating the IBM AT, this call is only valid for hard
	  disks, as it is implemented by the hard disk BIOS rather than the
	  ROM BIOS
	the IBM ROM-BIOS returns the total number of hard disks attached
	  to the system regardless of whether DL >= 80h on entry.
	Toshiba laptops with HardRAM return DL=02h when called with DL=80h,
	  but fail on DL=81h.  The BIOS data at 40h:75h correctly reports 01h.
	may indicate only two drives present even if more are attached; to
	  ensure a correct count, one can use AH=15h to scan through possible
	  drives
	Reportedly some Compaq BIOSes with more than one hard disk controller
	  return only the number of drives DL attached to the corresponding
	  controller as specified by the DL value on entry.  However, on
	  Compaq machines with "COMPAQ" signature at F000h:FFEAh,
	  MS-DOS/PC DOS IO.SYS/IBMBIO.COM call INT 15/AX=E400h and 
	  INT 15/AX=E480h to enable Compaq "mode 2" before retrieving the count
	  of hard disks installed in the system (DL) from this function.
	the maximum cylinder number reported in CX is usually two less than
	  the total cylinder count reported in the fixed disk parameter table
	  (see INT 41h,INT 46h) because early hard disks used the last cylinder
	  for testing purposes; however, on some Zenith machines, the maximum
	  cylinder number reportedly is three less than the count in the fixed
	  disk parameter table.
	for BIOSes which reserve the last cylinder for testing purposes, the
	  cylinder count is automatically decremented
	on PS/1s with IBM ROM DOS 4, nonexistent drives return CF clear,
	  BX=CX=0000h, and ES:DI = 0000h:0000h
	machines with lost CMOS memory may return invalid data for floppy
	  drives. In this situation CF is cleared, but AX,BX,CX,DX,DH,DI,
	  and ES contain only 0.  At least under some circumstances, MS-DOS/
	  PC DOS IO.SYS/IBMBIO.COM just assumes a 360 KB floppy if it sees
	  CH to be zero for a floppy.
	the PC-Tools PCFORMAT program requires that AL=00h before it will
	  proceed with the formatting
	if this function fails, an alternative way to retrieve the number
	  of floppy drives installed in the system is to call INT 11h.
	In fact, the MS-DOS/PC-DOS IO.SYS/IBMBIO.COM attempts to get the
	  number of floppy drives installed from INT 13/AH=08h, when INT 11h
	  AX bit 0 indicates there are no floppy drives installed. In addition
	  to testing the CF flag, it only trusts the result when the number of
	  sectors (CL preset to zero) is non-zero after the call.
BUGS:	several different Compaq BIOSes incorrectly report high-numbered
	  drives (such as 90h, B0h, D0h, and F0h) as present, giving them the
	  same geometry as drive 80h; as a workaround, scan through disk
	  numbers, stopping as soon as the number of valid drives encountered
	  equals the value in 0040h:0075h
	a bug in Leading Edge 8088 BIOS 3.10 causes the DI,SI,BP,DS, and ES
	  registers to be destroyed
	some Toshiba BIOSes (at least before 1995, maybe some laptops???
	  with 1.44 MB floppies) have a bug where they do not set the ES:DI
	  vector even for floppy drives. Hence these registers should be
	  preset with zero before the call and checked to be non-zero on
	  return before using them.  Also it seems these BIOSes can return
	  wrong info in BL and CX, as S/DOS 1.0 can be configured to preset
	  these registers as for an 1.44 MB floppy.
	the PS/2 Model 30 fails to reset the bus after INT 13/AH=08h and
	  INT 13/AH=15h. A workaround is to monitor for these functions
	  and perform a transparent INT 13/AH=01h status read afterwards.
	  This will reset the bus. The MS-DOS 6.0 IO.SYS takes care of
	  this by installing a special INT 13h interceptor for this purpose.
	AD-DOS may leave interrupts disabled on return from this function.
	Some Microsoft software explicitly sets STI after return.
SeeAlso: AH=06h"Adaptec",AH=13h"SyQuest",AH=48h,AH=15h,INT 1E
SeeAlso: INT 41"HARD DISK 0"

(Table 00242)
Values for diskette drive type:
 01h	360K
 02h	1.2M
 03h	720K
 04h	1.44M
 05h	??? (reportedly an obscure drive type shipped on some IBM machines)
	2.88M on some machines (at least AMI 486 BIOS)
 06h	2.88M
 10h	ATAPI Removable Media Device

Top
1308 - INT 13 - V10DISK.SYS - SET FORMAT
INT 13 - V10DISK.SYS - SET FORMAT
	AH = 08h
	AL = number of sectors
	CH = cylinder number (bits 8,9 in high bits of CL)
	CL = sector number
	DH = head
	DL = drive
Return: AH = status code (see #00234)
Program: V10DISK.SYS is a driver for the Flagstaff Engineering 8" floppies
Note:	details not available
SeeAlso: AH=03h,AH=06h"V10DISK.SYS"

Top
130800DLF0 - INT 13 - SecureDrive - INSTALLATION CHECK
INT 13 - SecureDrive - INSTALLATION CHECK
	AX = 08000h
	DL = F0h
Return: AX = EDCBh for version 1.0-1.2
	AX = EDCCh for version 1.3
	CX = code segment
	DX = data address within code segment
Program: SecureDrive by Mike Ingle <mikeingle@delphi.com> allows you to create
	  an encrypted partition on your harddisk.

Top
1309 - INT 13 - HARD DISK - INITIALIZE CONTROLLER WITH DRIVE PARAMETERS (AT,PS)
INT 13 - HARD DISK - INITIALIZE CONTROLLER WITH DRIVE PARAMETERS (AT,PS)
	AH = 09h
	DL = drive (80h for first, 81h for second)
Return: CF clear if successful
	CF set on error
	AH = status (see #00234)
Notes:	on the PC and XT, this function uses the parameter table pointed at by
	  INT 41
	on the AT and later, this function uses the parameter table pointed at
	  by INT 41 if DL=80h, and the parameter table pointed at by INT 46 if
	  DL=81h
SeeAlso: INT 41"HARD DISK 0",INT 46"HARD DISK 1"

Top
130A - INT 13 - HARD DISK - READ LONG SECTOR(S) (AT and later)
INT 13 - HARD DISK - READ LONG SECTOR(S) (AT and later)
	AH = 0Ah
	AL = number of sectors (01h may be only value supported)
	CH = low eight bits of cylinder number
	CL = sector number (bits 5-0)
	     high two bits of cylinder number (bits 7-6)
	DH = head number
	DL = drive number (80h = first, 81h = second)
	ES:BX -> data buffer
Return: CF clear if successful
	CF set on error
	AH = status (see #00234)
	AL = number of sectors transferred
Notes:	this function reads in four to seven bytes of error-correcting code
	  along with each sector's worth of information
	data errors are not automatically corrected, and the read is aborted
	  after the first sector with an ECC error
	used for diagnostics only on PS/2 systems; IBM officially classifies
	  this function as optional
BUG:	on the original IBM AT BIOS (1984/01/10) this function does not disable
	  interrupts for harddisks (DL >= 80h). On these machines the MS-DOS/
	  PC DOS IO.SYS/IBMBIO.COM installs a special filter to bypass the
	  buggy code in the ROM (see CALL F000h:211Eh)
SeeAlso: AH=02h,AH=0Bh,MEM 0040h:0074h

Top
130B - INT 13 - HARD DISK - WRITE LONG SECTOR(S) (AT and later)
INT 13 - HARD DISK - WRITE LONG SECTOR(S) (AT and later)
	AH = 0Bh
	AL = number of sectors (01h may be only value supported)
	CH = low eight bits of cylinder number
	CL = sector number (bits 5-0)
	     high two bits of cylinder number (bits 7-6)
	DH = head number
	DL = drive number (80h = first, 81h = second)
	ES:BX -> data buffer
Return: CF clear if successful
	CF set on error
	AH = status (see #00234)
	AL = number of sectors transferred
Notes:	each sector's worth of data must be followed by four to seven bytes of
	  error-correction information
	used for diagnostics only on PS/2 systems; IBM officially classifies
	  this function as optional
SeeAlso: AH=03h,AH=0Ah,MEM 0040h:0074h

Top
130C - INT 13 - HARD DISK - SEEK TO CYLINDER
INT 13 - HARD DISK - SEEK TO CYLINDER
	AH = 0Ch
	CH = low eight bits of cylinder number
	CL = sector number (bits 5-0)
	    high two bits of cylinder number (bits 7-6)
	DH = head number
	DL = drive number (80h = first, 81h = second hard disk)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234)
SeeAlso: AH=00h,AH=02h,AH=0Ah,AH=47h

Top
130D - INT 13 - HARD DISK - RESET HARD DISKS
INT 13 - HARD DISK - RESET HARD DISKS
	AH = 0Dh
	DL = drive number (80h = first, 81h = second hard disk)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234)
Notes:	reinitializes the hard disk controller, resets the specified drive's
	  parameters, and recalibrates the drive's heads (seek to track 0)
	for PS/2 35SX, 35LS, 40SX and L40SX, as well as many other systems,
	  both the master drive and the slave drive respond to the Reset
	  function that is issued to either drive
	not for PS/2 ESDI drives
SeeAlso: AH=00h,INT 21/AH=0Dh

Top
130E - INT 13 - HARD DISK - READ SECTOR BUFFER (XT only)
INT 13 - HARD DISK - READ SECTOR BUFFER (XT only)
	AH = 0Eh
	DL = drive number (80h = first, 81h = second hard disk)
	ES:BX -> buffer
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234)
Notes:	transfers controller's sector buffer.  No data is read from the drive
	used for diagnostics only on PS/2 systems
SeeAlso: AH=0Ah

Top
130F - INT 13 - HARD DISK - WRITE SECTOR BUFFER (XT only)
INT 13 - HARD DISK - WRITE SECTOR BUFFER (XT only)
	AH = 0Fh
	DL = drive number (80h = first, 81h = second hard disk)
	ES:BX -> buffer
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234)
Notes:	does not write data to the drive
	should be called before formatting to initialize an XT-type
	  controller's sector buffer
	used for diagnostics only on PS/2 systems
SeeAlso: AH=0Bh

Top
1310 - INT 13 - HARD DISK - CHECK IF DRIVE READY
INT 13 - HARD DISK - CHECK IF DRIVE READY
	AH = 10h
	DL = drive number (80h = first, 81h = second hard disk)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
SeeAlso: AH=11h

Top
1311 - INT 13 - HARD DISK - RECALIBRATE DRIVE
INT 13 - HARD DISK - RECALIBRATE DRIVE
	AH = 11h
	DL = drive number (80h = first, 81h = second hard disk)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
Note:	causes hard disk controller to seek the specified drive to cylinder 0
SeeAlso: AH=00h,AH=0Ch,AH=10h,AH=19h"FIXED DISK",MEM 0040h:003Eh

Top
1312 - INT 13 - HARD DISK - CONTROLLER RAM DIAGNOSTIC (XT,PS)
INT 13 - HARD DISK - CONTROLLER RAM DIAGNOSTIC (XT,PS)
	AH = 12h
	DL = drive number (80h = first, 81h = second hard disk)
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234 at AH=01h)
	AL = 00h
SeeAlso: AH=13h,AH=14h

Top
1312 - INT 13 - Future Domain SCSI CONTROLLER - STOP SCSI DISK
INT 13 - Future Domain SCSI CONTROLLER - STOP SCSI DISK
	AH = 12h
	DL = hard drive ID
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234 at AH=01h)
Notes:	available at least on the TMC-870 8-bit SCSI controller BIOS v6.0A
	if the given drive is a SCSI device, the SCSI Stop Unit command is sent
	  and either "Disk prepared for shipping" or "Disk Stop command failed"
	  is displayed
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)

Top
1312 - INT 13 - SyQuest - START/STOP SCSI DISK
INT 13 - SyQuest - START/STOP SCSI DISK
	AH = 12h
	AL = subfunction
	    00h start disk
	    01h stop disk
	CX = wait flag
	    00h wait for ready
	    01h don't wait for ready
	DL = hard drive ID (bit 7 for hard disks must be set)
Return: CF set on error
	CF clear if successful
	AH = status
	    00h successful
	    01h invalid function request
	    80h timeout
SeeAlso: AH=12h"Future Domain",AH=13h"SyQuest"

Top
1313 - INT 13 - HARD DISK - DRIVE DIAGNOSTIC (XT,PS)
INT 13 - HARD DISK - DRIVE DIAGNOSTIC (XT,PS)
	AH = 13h
	DL = drive number (80h = first, 81h = second hard disk)
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234 at AH=01h)
	AL = 00h
SeeAlso: AH=12h"HARD DISK",AH=14h"HARD DISK"

Top
1313 - INT 13 - SyQuest - READ DRIVE PARAMATERS (for DOS 5+)
INT 13 - SyQuest - READ DRIVE PARAMATERS (for DOS 5+)
	AH = 13h
	DL = drive ID (bit 7 set for hard disks)
Return: CF set on error
	    AH = status (07h) (see #00234 at AH=01h)
	CF clear if successful
	    AH = 00h
	    BL = drive type (AT/PS2 floppies only) (see #00242)
	    CH = low eight bits of maximum cylinder number
	    CL = maximum sector number (bits 5-0)
		 high two bits of maximum cylinder number (bits 7-6)
	    DH = maximum head number
	    DL = number of drives
	    ES:DI -> drive parameter table (floppies only)
Notes:	the return values are identical to the standard INT 13/AH=08h, but the
	  number of drives is not limited to 2, so
	scanning all possible drive numbers with the Read DASD Type call
	  (AH=15h) should generally be preferred to determine the number of
	  drives attached to the system.
SeeAlso: AH=08h"PC",AH=12h"SyQuest",AH=15h,AH=59h"SyQuest"

Top
1314 - INT 13 - HARD DISK - CONTROLLER INTERNAL DIAGNOSTIC
INT 13 - HARD DISK - CONTROLLER INTERNAL DIAGNOSTIC
	AH = 14h
Return: CF set on error
	CF clear if successful
	AH = status code (see #00234 at AH=01h)
	AL = 00h
SeeAlso: AH=12h,AH=13h

Top
1315 - INT 13 - DISK - GET DISK TYPE (XT 1986/1/10 or later,XT286,AT,PS)
INT 13 - DISK - GET DISK TYPE (XT 1986/1/10 or later,XT286,AT,PS)
	AH = 15h
	DL = drive number (bit 7 set for hard disk)
	(AL = FFh, CX = FFFFh, see Note)
Return: CF clear if successful
	    AH = type code
		00h no such drive
		    (SpeedStor) AL = 03h hard disk
				    CX:DX = number of 512-byte sectors
		01h floppy without change-line support
		02h floppy (or other removable drive) with change-line support
		03h hard disk
		    CX:DX = number of 512-byte sectors
	CF set on error
	    AH = status (see #00234 at AH=01h)
Note:	SyQuest can report type 01h or 02h for 'hard disks', since its media
	  is removable
BUGS:	many versions of the Award 486 BIOS do not return the sector count
	  because the BIOS exit code restores CX and DX to their original
	  values after the function had already set them to correct values
	Some releases of PC Tools REBUILD preset CX=FFFFh and only trust the
	  results if CH <= 2 on return (which would cut off drives > 16 Gb).
	several different Compaq BIOSes incorrectly report high-numbered
	  drives (such as 90h, B0h, D0h, and F0h) as present, giving them the
	  same geometry as drive 80h; as a workaround, scan through disk
	  numbers, stopping as soon as the number of valid drives encountered
	  equals the value in 0040h:0075h
	the PS/2 Model 30 fails to reset the bus after INT 13/AH=08h and
	  INT 13/AH=15h.  A workaround is to monitor for these functions
	  and perform a transparent INT 13/AH=01h status read afterwards.
	  This will reset the bus. The MS-DOS 6.0 IO.SYS takes care of
	  this by installing a special INT 13h interceptor for this purpose.
	Some releases of SpeedStor have a bug where it reports AX=0003h instead
	  of correctly reporting AH=03h for hard disks. A possible workaround
	  when testing for hard disks is to check for AH=03h and AX=0003h.
	  In this case this function should be invoked with a bogus fixed
	  value in AL, e.g. AL=FFh.
SeeAlso: AH=08h,AH=16h,AH=17h,AH=19h"SCSI",MEM 0040h:0075h

Top
1316 - INT 13 - FLOPPY DISK - DETECT DISK CHANGE (XT 1986/1/10 or later,XT286,AT,PS)
INT 13 - FLOPPY DISK - DETECT DISK CHANGE (XT 1986/1/10 or later,XT286,AT,PS)
	AH = 16h
	DL = drive number (00h-7Fh)
	SI = 0000h (to avoid crash on AT&T 6300)
Return: CF clear if change line inactive
	    AH = 00h (disk not changed)
	CF set if change line active
	    AH = status
		01h invalid command (SyQuest)
		06h change line active or not supported
		80h drive not ready or not present
Notes:	call AH=15h first to determine whether the drive supports a change
	  line
	this call also clears the media-change status, so that a disk change
	  is only reported once
BUGS:	some versions of Award 386 Modular BIOS and AMI BIOS fail to clear
	  the media-change status
	AT&T 6300 WGS systems crash if SI <> 0 on entry.
	some pre 1986/08/04 Compaq ROM BIOS have a serious bug where this
	  function may re-configure a hard disk depending on what is located
	  at ES:[BX] and data indexed to by it. MS-DOS/PC DOS IO.SYS/IBMBIO.COM
	  install a special filter when they detect Compaq ROM BIOSes with
	  earlier dates.
	some Compaq 286 systems have a bug in all INT 13h functions >= 16h,
	  which causes the byte at DS:0074h to be destroyed when called for
	  hard disks (DL >= 80h). MS-DOS/PC DOS IO.SYS/IBMBIO.COM performs a
	  test on this bug using this sub-function, and if found installs a
	  special filter which points DS into ROM, so that it cannot cause
	  any harm.
	some drives (or controllers???) forget the change line status
	  if another drive is accessed afterwards. The DOS BIOS takes care
	  of this by not relying on the reported change line status when
	  the change line is not active and a different drive is accessed,
	  instead it reports "don't know" to the DOS kernel.
SeeAlso: AH=15h,AH=49h

Top
1317 - INT 13 - FLOPPY DISK - SET DISK TYPE FOR FORMAT (AT,PS)
INT 13 - FLOPPY DISK - SET DISK TYPE FOR FORMAT (AT,PS)
	AH = 17h
	AL = format type
	    01h = 320/360K disk in 360K drive
	    02h = 320/360K disk in 1.2M drive
	    03h = 1.2M disk in 1.2M drive
	    04h = 720K disk in 720K or 1.44M drive
	DL = drive number
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
Note:	this function does not handle 1.44M drives; use AH=18h instead
SeeAlso: AH=15h,AH=18h

Top
131700 - INT 13 - Future Domain SCSI CONTROLLER - GET INQUIRY INFO FROM SCSI DEVICE
INT 13 - Future Domain SCSI CONTROLLER - GET INQUIRY INFO FROM SCSI DEVICE
	AX = 1700h
	CL = length of buffer
	DL = hard drive ID
	ES:BX -> buffer for info (see #00243)
Return: CF clear if successful
	    CH = number of bytes returned in buffer???
	CF set on error
	    AH = status code (see #00234 at AH=01h)
Notes:	this function is not available with 8-bit controller ROM versions < 7.0
	information block bytes 5-n are vendor-specific in older SCSI devices
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=18h"SCSI",AH=1Bh"SCSI"

Format of Future Domain SCSI inquiry information block:
Offset	Size	Description	(Table 00243)
 00h	BYTE	device type
		bits 0-4: peripheral device type (see #00244)
		bits 5-7: peripheral qualifier (see #00245)
 01h	BYTE	device type modifier
		bits 0-6: device type modifier
		bit 7: removable medium
 02h	BYTE	SCSI version (see #00246)
 03h	BYTE	data format/capabilities (see #00247)
 04h	BYTE	additional data length (total remaining bytes)
 05h  2 BYTEs	reserved
 07h	BYTE	device capabilities (see #00248)
 08h  8 BYTEs	vendor identification (space-padded ASCII)
 10h  8 BYTEs	product identification (space-padded ASCII)
 20h  4 BYTEs	product revision level (space-padded ASCII)
 24h 20 BYTEs	vendor specific
 38h 40 BYTEs	reserved
 60h	var	vendor specific parameters

(Table 00244)
Values for Future Domain SCSI peripheral device type:
 00h	direct-access device (e.g., magnetic disk)
 01h	sequential-access device (e.g., magnetic tape)
 02h	printer device
 03h	processor device
 04h	write-once device (e.g., some optical disks)
 05h	CD-ROM device
 06h	scanner device
 07h	optical memory device (e.g., some optical disks)
 08h	medium changer device (e.g., jukeboxes)
 09h	communications device
 0Ah	(defined by ASC IT8)
 0Bh	(defined by ASC IT8)
 0Ch-1Eh reserved
 1Fh	unknown or no device type

(Table 00245)
Values for Future Domain SCSI peripheral qualifier:
 000b	device is currently connected to this logical unit and available
 001b	target is capable of supporting the specified peripheral, but the
	  physical device is not currently connected to this logical unit
 010b	reserved
 011b	target can't support a physical device on this logical unit
 1xxb	vendor specific

Bitfields for Future Domain SCSI version:
Bit(s)	Description	(Table 00246)
 0-2	ANSI-approved version
	000 device might or might not comply to ANSI standard
	001 device complies to ANSI SCSI-1
	010 device complies to ANSI SCSI-2
	other reserved
 3-5	ECMA version
 6-7	ISO version

Bitfields for Future Domain SCSI data format/capabilities:
Bit(s)	Description	(Table 00247)
 0-2	response data format
	000 information block is as specified in SCSI-1
	001 information block is as specified in CCS
	010 information block is as specified in SCSI-2
	other reserved
 4-5	reserved
 6	terminate I/O process supported
 7	asynchronous event notification supported

Bitfields for Future Domain SCSI device capabilities:
Bit(s)	Description	(Table 00248)
 0	device responds to RESET with a hard RESET
 1	tagged command queuing supported
 2	reserved
 3	linked commands supported
 4	synchronous data transfer supported
 5	16-transfers supported
 6	32-transfers supported
 7	relative addressing supported

Top
1318 - INT 13 - DISK - SET MEDIA TYPE FOR FORMAT (AT model 3x9,XT2,XT286,PS)
INT 13 - DISK - SET MEDIA TYPE FOR FORMAT (AT model 3x9,XT2,XT286,PS)
	AH = 18h
	DL = drive number
	CH = lower 8 bits of highest cylinder number (number of cylinders - 1)
	CL = sectors per track (bits 0-5)
	     top 2 bits of highest cylinder number (bits 6,7)
Return: AH = status
	    00h requested combination supported
	    01h function not available
	    0Ch not supported or drive type unknown
	    80h there is no disk in the drive
	ES:DI -> 11-byte parameter table (see #01264 at INT 1E)
Note:	this function does not set the INT 1E vector to point at the returned
	  parameter table; it is the caller's responsibility to do so
SeeAlso: AH=05h,AH=07h,AH=17h,INT 1E

Top
1318 - INT 13 - Future Domain SCSI BIOS - GET SCSI CONTROLLER INFORMATION
INT 13 - Future Domain SCSI BIOS - GET SCSI CONTROLLER INFORMATION
	AH = 18h
	DL = hard drive ID
Return: CF set on error
	    AH = status code (see #00234 at AH=01h)
	CF clear if successful
	    AX = 4321h (magic number)
	    CX = controller family code (see #00249)
	    ---if family code=0200h
		DH = number of exclusively ROM-controlled SCSI devices
		DL = canonical SCSI device number for specified drive
	    ---if family code <> 0200h
		BH = number of exclusively ROM-controlled SCSI devices
		BL = canonical SCSI device number for specified drive
Notes:	also sets an internal flag (non-resettable) which prevents some
	  controller messages from being displayed, allows writes to
	  removable devices (use caution!), and enables the INT 13 interface
	  for more than one drive (i.e. DL >= 81h) in at least some ROM
	  versions
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=05h"SCSI",AX=1700h"SCSI",AH=1Bh"SCSI",INT 4F/AX=8100h

(Table 00249)
Values for Future Domain SCSI controller family code:
 0200h	TMC-1680/? (ROM 3.0)
 0203h	TMC-1650/1660/1670/1680 (ROM 2.0)
 040Ah	TMC-820/830/840/850/860/870/875/880/885 (ROM <= 6.0A)
 050Dh	TMC-840/841/880/881 (ROM 5.2D)
 0700h	TMC-830/850/860/875/885 (ROM 7.0)

Top
1318--CX5055 - INT 13 - PU_1700.COM - INSTALLATION CHECK
INT 13 - PU_1700.COM - INSTALLATION CHECK
	AH = 18h
	CX = 5055h ('PU')
	DL = 00h
Return: AX = 7570h ('up') if PU_1700 is installed
Program: PU_1700 is a BIOS enhancer from PU Service Systems which permits
	  formatting diskettes at higher capacity (1.78M instead of 1.44M)
SeeAlso: AX=057Fh/SI=324Dh"2M"

Top
1318--CXD2C9 - INT 13 - XDF.COM - API
INT 13 - XDF.COM - API
	AH = 18h
	CX = D2C9h ("R"+80h, "I"+80h = Roger Ivey)
	DX = 0000h
	BX = function
	    0000h installation check
		  Return: AH = 0Ch
			  CX = 7269h ("ri" = Roger Ivey)
			  ES = segment of driver
			  CF set
	    2F64h ("/d") disable the driver
		  Return: AH = 0Ch
			  ES:BX = pointer to activation flag (it is set to 0:
				  set it to 1 to enable the driver again)
			  CX = 7269h
			  CF set
	    2F75h ("/u") unload the driver (restore interrupts & free memory)
		  Return: AH = 0Ch
			  DL = 55h ("U") if successful
			     = 00h	   if fails
			  CX = 7269h
			  ES = segment of driver
			  CF set
			  AL, BX, DH, and DI destroyed
Program: XDF is a TSR provided with PC-DOS 7.0 to support XDF 1.84M disks,
	  developed by Roger D. Ivey
Note:	After disabling or enabling the driver, a disk change must be performed
	  or simulated to reset the driver.

Top
1319 - INT 13 - FIXED DISK - PARK HEADS ON ESDI DRIVE (XT286,PS)
INT 13 - FIXED DISK - PARK HEADS ON ESDI DRIVE (XT286,PS)
	AH = 19h
	DL = drive
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
SeeAlso: AH=11h

Top
1319 - INT 13 - Future Domain SCSI CONTROLLER - REINITIALIZE DRIVE
INT 13 - Future Domain SCSI CONTROLLER - REINITIALIZE DRIVE
	AH = 19h
	DL = hard drive ID
Return: CF set on error
	    AH = status code (see #00234 at AH=01h)
	CF clear if successful
	    AH = disk type (03h = fixed disk)
	    CX:DX = number of 512-byte sectors
Notes:	sends SCSI Read Capacity command to get number of logical blocks and
	  adjusts the result for 512-byte sectors
	displays either "Error in Read Capacity Command" or "nnn Bytes per
	  sector" (nnn=256 or 512, the only sizes supported in the translation
	  code)
	should probably be called when a removable device has its media changed
	returns the same values as AH=15h
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=15h,AH=1Ah,INT 4F/AX=8100h

Top
131A - INT 13 - ESDI FIXED DISK - FORMAT UNIT (PS)
INT 13 - ESDI FIXED DISK - FORMAT UNIT (PS)
	AH = 1Ah
	AL = defect table entry count
	CL = format modifiers (see #00250)
	DL = drive (80h,81h)
	ES:BX -> defect table (see #00251), ignored if AL=00h
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
Note:	if periodic interrupt selected, INT 15/AH=0Fh is called after each
	  cylinder is formatted
SeeAlso: AH=07h,INT 15/AH=0Fh

Bitfields for ESDI format modifiers:
Bit(s)	Description	(Table 00250)
 4	generate periodic interrupt
 3	perform surface analysis
 2	update secondary defect map
 1	ignore secondary defect map
 0	ignore primary defect map

Format of defect table entry [array]:
Offset	Size	Description	(Table 00251)
 00h  3 BYTEs	relative sector address (little-endian)
 03h	BYTE	flags and defect count
		bit 7: last logical sector on track
		bit 6: first logical sector on track
		bit 5: last logical sector on cylinder
		bit 4: logical sectors are pushed onto next track
		bits 3-0: number of defects pushed from previous cylinder

Top
131A - INT 13 - Future Domain SCSI CONTROLLER - GET SCSI PARTIAL MEDIUM CAPACITY
INT 13 - Future Domain SCSI CONTROLLER - GET SCSI PARTIAL MEDIUM CAPACITY
	AH = 1Ah
	CH = track (bits 8,9 in high bits of CL)
	CL = sector (01h to number of sectors/track for drive)
	DH = head
	DL = hard drive ID
Return: CF set on error
	AH = status code (see #00234 at AH=01h)
	CX:DX = logical block number of last quickly-accessible block after
		given block
Notes:	sends SCSI Read Capacity command with the PMI bit set to obtain the
	  logical block address of the last block after which a substantial
	  delay in data transfer will be encountered (usually the last block
	  on the current cylinder).  No translation to 512 byte sectors is
	  performed on the result if data is stored on the disk in other than
	  512 byte sectors.
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=15h,AH=19h"SCSI"

Top
131B - INT 13 - ESDI FIXED DISK - GET MANUFACTURING HEADER
INT 13 - ESDI FIXED DISK - GET MANUFACTURING HEADER
	AH = 1Bh
	AL = number of sectors to read
	DL = drive
	ES:BX -> buffer for manufacturing header (defect list)
Return: CF set on error
	CF clear if successful
	AH = status
Note:	manufacturing header format (Defect Map Record format) can be found
	  in IBM 70MB, 115MB Fixed Disk Drives Technical Reference
	the first sector read contains the manufacturing header with the number
	  of defect entries and the beginning of the defect map; the remaining
	  sectors contain the remainder of the defect map

Top
131B - INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO SCSI DISK INFO BLOCK
INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO SCSI DISK INFO BLOCK
	AH = 1Bh
	DL = hard drive ID
Return: CF set on error
	    AH = status code (see #00234 at AH=01h)
	CF clear if successful
	    ES:BX -> SCSI disk information block (see #00252)
Notes:	also sets a non-resettable flag which prevents some controller messages
	  from being displayed
	the TMC-950 does not support any Future Domain BIOS calls; instead,
	  it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=18h"SCSI",AH=1Ch"SCSI"

Format of Future Domain SCSI disk information block:
Offset	Size	Description	(Table 00252)
 00h	BYTE	drive physical information (see #00253)
 01h	WORD	translated number of cylinders
 03h	BYTE	translated number of heads
 04h	BYTE	translated number of sectors per track (17, 34, or 63)
 05h	BYTE	drive address
		bits 0-2: logical unit number
		bits 3-5: device number
 06h	BYTE	01h at initialization
 07h	BYTE	sense code byte 00h, or extended sense code byte 0Ch
 08h	BYTE	00h
 09h	BYTE	00h or extended sense code byte 02h (sense key)
 0Ah	BYTE	00h
 0Bh 10 BYTEs	copy of Command Descriptor Block (CDB) (see #03236,#03237)
 15h	DWORD	translated number of sectors on device

Bitfields for Future Domain SCSI device physical information:
Bit(s)	Description	(Table 00253)
 0	???
 1	device uses parity
 2	256 bytes per sector instead of 512
 3	don't have capacity yet???
 4	disk is removable
 5	logical unit number is not present

Top
131C - INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO FREE CONTROLLER RAM
INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO FREE CONTROLLER RAM
	AH = 1Ch
	DL = hard drive ID (any valid SCSI hard disk)
Return: CF set on error
	    AH = status code (see #00234 at AH=01h)
	CF clear if successful
	    ES:BX -> first byte of free RAM on controller
Notes:	the Future Domain TMC-870 contains 1024 bytes of RAM at offsets 1800h
	  to 1BFFh on-board the controller for storing drive information and
	  controller status; ES:BX points to the first byte available for other
	  uses
	ES contains the segment at which the controller resides; the
	  controller's two memory-mapped I/O ports are at offsets 1C00h, 1E00h
SeeAlso: AH=1Bh"SCSI"

Top
131C - INT 13 U - ESDI FIXED DISK - ???
INT 13 U - ESDI FIXED DISK - ???
	AH = 1Ch
	AL = subfunction (01h-06h)
	DL = drive (80h,81h)
	???
Return: ???
Note:	these functions perform a controller command 0612h without DMA
SeeAlso: AX=1C08h,PORT 3510h"ESDI"

Top
131C08 - INT 13 U - ESDI FIXED DISK - GET COMMAND COMPLETION STATUS
INT 13 U - ESDI FIXED DISK - GET COMMAND COMPLETION STATUS
	AX = 1C08h
	DL = drive (80h,81h)
	ES:BX -> buffer for Command Complete Status Block (see #00254)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
SeeAlso: AX=1C09h,AX=1C0Ah,PORT 3510h"ESDI"

Format of ESDI Command Complete Status Block:
Offset	Size	Description	(Table 00254)
 00h	BYTE	07h
 01h	BYTE	size of block in words (07h)
 02h	BYTE	command error code (see #00255)
 03h	BYTE	command status code (see #00256)
 04h	BYTE	device error code, group 1 (see #00257)
 05h	BYTE	device error flags, group 2 (see #00258)
 06h	WORD	number of unprocessed sectors due to abnormal termination
 08h	DWORD	last Relative Sector Address processed by command
 0Ch	WORD	number of sectors corrected by ECC codes

(Table 00255)
Values for ESDI command error code:
 00h	successful
 01h	parameter invalid
 02h	unknown function
 03h	unsupported command
 04h	command cancelled
 05h	unknown function
 06h	controller diagnostics failed
 07h	formatting failed
 08h	format error in primary map
 09h	format error in secondary map
 0Ah	diagnostic failure during formatting
 0Bh	warning: secondary map too large during formatting
 0Ch	warning: non-zero defect
 0Dh	system checksum error during formatting
 0Eh	warning: incompatible device
 0Fh	warning: push table overflowed
 10h	warning: more than 15 sectors pushed to next cylinder
 11h	internal hardware error
 12h	warning: errors found while verifying sectors
 13h	invalid device
 FFh	device error

(Table 00256)
Values for ESDI command status code:
 01h	successful
 03h	successful after ECC
 05h	successful after retries
 06h	format partially completed
 07h	successful after ECC and retries
 08h	command completed with warning (see #00255)
 09h	abort complete
 0Ah	reset complete
 0Bh	data transfer ready (no status block)
 0Ch	command completed with failure (see #00257,#00258)
 0Dh	DMA error
 0Eh	command block error (see #00255)
 0Fh	bad attention code
SeeAlso: #00257

(Table 00257)
Values for ESDI device error code, group 1:
 00h	successful
 01h	seek fault detected by device
 02h	interface fault
 03h	sector ID not found
 04h	disk not formatted
 05h	unrecoverable ECC error
 06h	ECC error in sector ID
 07h	invalid relative sector address
 08h	timeout
 09h	sector defective
 0Ah	disk changed (removable media)
 0Bh	selection error
 0Ch	write protected (removable media)
 0Dh	write fault
 0Eh	read fault
 0Fh	no index or sector pulse
 10h	device not ready
 11h	seek error detected by adapter
 12h	bad format
 13h	volume overflow
 14h	data address mark not found
 15h	sector ID not found
 16h	missing device configuration data
 17h	first/last relative sector flags missing
 18h	track empty
 81h	timeout while waiting for stop
 82h	timeout while waiting for end of data transfer
 84h	stopped awaiting data transfer during formatting
 85h	timeout while waiting for head switch
 86h	timeout while awaiting DMA completion
SeeAlso: #00256,#00258

Bitfields for ESDI device error flags, group 2:
Bit(s)	Description	(Table 00258)
 7-5	unused
 4	ready
 3	selected
 2	write fault
 1	on track 0
 0	seek/command complete
SeeAlso: #00257

Top
131C09 - INT 13 U - ESDI FIXED DISK - GET DEVICE STATUS
INT 13 U - ESDI FIXED DISK - GET DEVICE STATUS
	AX = 1C09h
	DL = drive (80h,81h)
	ES:BX -> buffer for Device Status Block (see #00259)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
SeeAlso: AX=1C08h,AX=1C0Ah,PORT 3510h"ESDI"

Format of ESDI Device Status Block:
Offset	Size	Description	(Table 00259)
 00h	BYTE	08h
 01h	BYTE	number of words in block (09h)
 02h	BYTE	error flags
 03h	BYTE	unused
 04h	BYTE	command error code (see #00255)
 05h	BYTE	command status code (see #00256)
 06h	WORD	ESDI standard status
 08h  5 WORDs	ESDI vendor-specific status codes

Top
131C0A - INT 13 U - ESDI FIXED DISK - GET DEVICE CONFIGURATION
INT 13 U - ESDI FIXED DISK - GET DEVICE CONFIGURATION
	AX = 1C0Ah
	DL = drive (80h,81h)
	ES:BX -> buffer for Drive Configuration Status Block (see #00260)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
Note:	device configuration format can be found in IBM ESDI Fixed Disk Drive
	  Adapter/A Technical Reference
SeeAlso: AX=1C08h,AX=1C0Bh,AX=1C0Ch

Format of ESDI Drive Configuration Status Block:
Offset	Size	Description	(Table 00260)
 00h	BYTE	09h
 01h	BYTE	number of words in block (06h)
 02h	BYTE	flags
 03h	BYTE	number of spare sectors per cylinder
 04h	DWORD	total number of usable sectors
 08h	WORD	total number of cylinders
 0Ah	BYTE	tracks per cylinder
 0Bh	BYTE	sectors per track

Top
131C0B - INT 13 U - ESDI FIXED DISK - GET ADAPTER CONFIGURATION
INT 13 U - ESDI FIXED DISK - GET ADAPTER CONFIGURATION
	AX = 1C0Bh
	ES:BX -> buffer for Controller Configuration Status Block (see #00261)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
SeeAlso: AX=1C0Ch

Format of ESDI Controller Configuration Status Block:
Offset	Size	Description	(Table 00261)
 00h	BYTE	E9h
 01h	BYTE	number of words in block (06h)
 02h	WORD	unused (0000h)
 04h	DWORD	controller microcode revision level
 08h  2 WORDs	unused (0000h)

Top
131C0C - INT 13 U - ESDI FIXED DISK - GET POS INFORMATION
INT 13 U - ESDI FIXED DISK - GET POS INFORMATION
	AX = 1C0Ch
	ES:BX -> buffer for POS Information Status Block (see #00262)
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
SeeAlso: AX=1C0Bh

Format of ESDI POS Information Status Block:
Offset	Size	Description	(Table 00262)
 00h	BYTE	EAh
 01h	BYTE	number of words in block (05h)
 02h	WORD	magic value FFDDh
 04h	BYTE	POS register 3
 05h	BYTE	POS register 2
 06h	BYTE	POS register 5 (unused, FFh)
 07h	BYTE	POS register 4 (unused, FFh)
 08h	BYTE	POS register 7 (unused, FFh)
 09h	BYTE	POS register 6 (unused, FFh)

Top
131C0D - INT 13 U - ESDI FIXED DISK - ???
INT 13 U - ESDI FIXED DISK - ???
	AX = 1C0Dh
	DL = drive (80h,81h)
	???
Return: ???
Note:	invokes controller command 0614h without DMA
SeeAlso: AH=1Ch"ESDI",AX=1C0Fh,PORT 3510h"ESDI"

Top
131C0E - INT 13 U - ESDI FIXED DISK - TRANSLATE RBA TO ABA
INT 13 U - ESDI FIXED DISK - TRANSLATE RBA TO ABA
	AX = 1C0Eh
	CH = low 8 bits of cylinder number
	CL = sector number, high two bits of cylinder number in bits 6 and 7
	DH = head number
	DL = drive number (80h,81h)
	ES:BX -> ABA number
Return: CF set on error
	CF clear if successful
	AH = status (see #00234 at AH=01h)
Note:	ABA (absolute block address) format can be found in IBM ESDI Adapter
	  Technical Reference by using its Device Configuration Status Block
SeeAlso: AX=1C08h,AX=1C0Fh,PORT 3510h"ESDI"

Top
131C0F - INT 13 U - ESDI FIXED DISK - ???
INT 13 U - ESDI FIXED DISK - ???
	AX = 1C0Fh
	DL = drive (80h,81h)
	???
Return: ???
Note:	invokes controller command 0614h without DMA
SeeAlso: AH=1Ch"ESDI",AX=1C0Dh,AX=1C12h,PORT 3510h"ESDI"

Top
131C12 - INT 13 U - ESDI FIXED DISK - ???
INT 13 U - ESDI FIXED DISK - ???
	AX = 1C12h
	DL = drive (80h,81h)
	???
Return: ???
Note:	invokes controller command 0612h without DMA
SeeAlso: AH=1Ch"ESDI",AX=1C0Fh,PORT 3510h"ESDI"

Top
131D - INT 13 - IBMCACHE.SYS - CACHE STATUS
INT 13 - IBMCACHE.SYS - CACHE STATUS
	AH = 1Dh
	AL = subfunction
	    01h get status record
		DL = drive???
		Return: ES:BX -> status record (see #00263)
			CF set on error
			    AH = error code
	    02h set cache status
		ES:BX -> status record (see #00263)
		DL = drive???
		Return: CF set on error

Format of IBMCACHE.SYS status record:
Offset	Size	Description	(Table 00263)
 00h	DWORD	total number of read requests
 04h	DWORD	total number of hits
 08h	DWORD	number of physical disk reads
 0Ch	DWORD	total number of sectors requested by physical disk reads
 10h  6 BYTEs	???
 16h	DWORD	pointer to start of error list (see #00264)
 1Ah	DWORD	pointer to end of error list
 1Eh	WORD	???
 20h	BYTE	using extended memory if nonzero
 21h	BYTE	???
 22h  4 BYTEs	ASCII version number
 26h	WORD	cache size in KB
 28h	WORD	sectors per page

Format of IBMCACHE.SYS error list:
Offset	Size	Description	(Table 00264)
 00h	DWORD	relative block address of bad page
 04h	BYTE	drive
 05h	BYTE	sector bit-map
 06h	WORD	next error

Top
131F - INT 13 - SyQuest - DOOR LATCH/DOOR BUTTON DETECT
INT 13 - SyQuest - DOOR LATCH/DOOR BUTTON DETECT
	AH = 1Fh
	AL = subfunction
	    00h allow media removal
	    01h prevent media removal (lock door)
	DL = drive ID (bit 7 set for hard disks)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code
		00h successful
		01h invalid function request
		80h timeout
		DDh media change requested
SeeAlso: AH=12h"SyQuest",AH=13h"SyQuest",AH=59h"SyQuest"

Top
1320 - INT 13 - DISK - ??? (Western Digital "Super BIOS")
INT 13 - DISK - ??? (Western Digital "Super BIOS")
	AH = 20h
	???
Return: ???
Notes:	returns some kind of status related to whether the drive contains its
	  default media type
	QEMM v6.00 calls INT 13/AX=2000h/DL=81h in some cases

Top
1320 - INT 13 U - Compaq, ATAPI Removable Media Device - GET CURRENT MEDIA FORMAT
INT 13 U - Compaq, ATAPI Removable Media Device - GET CURRENT MEDIA FORMAT
	AH = 20h
	DL = drive number (00h,01h)
Return: CF clear if successful
	    AL = media type (see #00265)
	    AH = 00h
	CF set on error
	    AH = error code
		01h invalid request
		30h drive does not support media sense
		31h no such drive / media not present
		32h non-default media / drive does not support media type
Notes:	this function is supported by the 1993/3/8 Compaq ROM BIOS, but only
	  partially (AL is always 00h when successful) by the 1993/8/3 version
	this function is also supported by some recent versions of the Phoenix
	  486 BIOS
	this function does not seem to be supported by some Toshiba BIOSes
	  (at least before 1995, maybe some laptops??? with 1.44 MB floppies),
	  because S/DOS 1.0 contains code to bypass a call to this function,
	  always assuming the drive would not support media sense.
SeeAlso: AH=15h

(Table 00265)
Values for Compaq/ATAPI diskette media type:
 03h	720K  (1M unformatted)
 04h	1.44M (2M unformatted)
 06h	2.88M (4M unformatted)
 0Ch	360K
 0Dh	1.2M
 0Eh	Toshiba 3mode
 0Fh	NEC 3mode (1024-byte sectors)
 10h	ATAPI Removable Media Device

Top
1320 - INT 13 u - QUICKCACHE II v4.20 - DISMOUNT
INT 13 u - QUICKCACHE II v4.20 - DISMOUNT
	AH = 20h
	AL = drive (00h = A:, etc. or 7Fh for all removable drives???
				   or FFh for all drives)
Return: AX = status (0000h successful)
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
	  Associates, Inc.
Desc:	flush any dirty buffers for the specified drive(s) and then discard
	  those sector buffers
SeeAlso: AH=21h"QUICKCACHE",AH=22h"QUICKCACHE",AH=28h

Top
1321 - INT 13 - HARD DISK - PS/1 and newer PS/2 - READ MULTIPLE DISK SECTORS
INT 13 - HARD DISK - PS/1 and newer PS/2 - READ MULTIPLE DISK SECTORS
	AH = 21h
	AL = number of sectors to write
	CH = low byte of 12-bit cylinder number
	CL = starting sector (bits 0-5) and bits 8-9 of cylinder (bits 6-7)
	DH = head number (bits 0-5) and bits 10-11 of cylinder (bits 6-7)
	DL = drive number (80h,81h)
	ES:BX -> buffer for data to be read
Return: CF clear if successful
	    ES:BX buffer filled
	CF set on error
	AH = status (see #00234 at AH=01h)
Desc:	read from the disk using the Multiple Block mode available on newer
	  IDE drives and some hard disk controllers, which generates an
	  interrupt only after the end of transferring a group of sectors
	  rather than after each sector
Notes:	must call AH=24h"PS/1" before using this function
	input values in CL and DH are not range-checked
	the byte at address 0040h:0074h is set to the status of the operation
SeeAlso: AH=02h,AH=22h"PS/1",AH=23h"PS/1",AH=24h"PS/1"

Top
1321 - INT 13 u - QUICKCACHE II v4.20 - FLUSH CACHE
INT 13 u - QUICKCACHE II v4.20 - FLUSH CACHE
	AH = 21h
Return: AX = status (0000h successful)
Desc:	immediately write all dirty sectors back to disk
Note:	this is one out of several cache flush calls issued by the PTS-DOS 6.51
	  and S/DOS 1.0 kernel before rebooting. It is called with DL=80h and
	  conflicts with the PS/2 function of the same function number, because
	  the kernel does not perform Quickcache's installation check first.
SeeAlso: AH=25h"QUICKCACHE",AH=2Eh,AH=2Fh

Top
1322 - INT 13 - HARD DISK - PS/1 and newer PS/2 - WRITE MULTIPLE DISK SECTORS
INT 13 - HARD DISK - PS/1 and newer PS/2 - WRITE MULTIPLE DISK SECTORS
	AH = 22h
	AL = number of sectors to write
	CH = low byte of 12-bit cylinder number
	CL = starting sector (bits 0-5) and bits 8-9 of cylinder (bits 6-7)
	DH = head number (bits 0-5) and bits 10-11 of cylinder (bits 6-7)
	DL = drive number (80h,81h)
	ES:BX -> buffer containing data to be written
Return: CF clear if successful
	CF set on error
	AH = status (see #00234 at AH=01h)
Desc:	write to the disk using the Multiple Block mode available on newer
	  IDE drives and some hard disk controllers, which generates an
	  interrupt only after the end of transferring a group of sectors
	  rather than after each sector
Notes:	must call AH=24h"PS/1" before using this function
	input values in CL and DH are not range-checked
	the byte at address 0040h:0074h is set to the status of the operation
SeeAlso: AH=03h,AH=21h"PS/1",AH=23h"PS/1",AH=24h"PS/1"

Top
1322 - INT 13 u - QUICKCACHE II v4.20 - ENABLE/DISABLE CACHE
INT 13 u - QUICKCACHE II v4.20 - ENABLE/DISABLE CACHE
	AH = 22h
	AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
Note:	enables/disables caching of all drives
SeeAlso: AH=2Ch,AH=2Dh,AH=32h,AH=33h,AH=A3h,AH=A4h

Top
1323 - INT 13 U - HARD DISK - PS/1 and newer PS/2 - SET CONTROLLER FEATURES REGISTER
INT 13 U - HARD DISK - PS/1 and newer PS/2 - SET CONTROLLER FEATURES REGISTER
	AH = 23h
	AL = feature number (see #00266)
	DL = drive number (80h,81h)
	???
Return: CF clear if successful
	CF set on error
	AH = status (see #00234 at AH=01h)
SeeAlso: AH=21h"PS/1",AH=22h"PS/1",AH=24h"PS/1",AH=25h"PS/1"

(Table 00266)
Values for PS/1 hard disk feature number:
 01h	select 8-bit data transfers instead of 16-bit
 02h	enable write cache
 22h	Write Same, user-specified area
 33h	disable retries
 44h	set number of ECC bytes for read long/write long (see AH=0Ah,AH=0Bh)
 54h	set cache segments
 55h	disable lookahead
 66h	disable reverting to power-on defaults
 77h	disable error correctioni
 81h	select 16-bit data transfers (default)
 82h	disable write cache
 88h	enable error correction (default)
 99h	enable retries (default)
 AAh	enable lookahead
 BBh	set ECC length for read long/write long to four bytes
 CCh	enable reverting to power-on defaults
 DDh	Write Same, entire disk
SeeAlso: #P0535

Top
1323 - INT 13 U - QUICKCACHE II v4.20 - GET ??? ADDRESS
INT 13 U - QUICKCACHE II v4.20 - GET ??? ADDRESS
	AH = 23h
Return: AX = status (0000h successful)
	ES = segment of ??? data

Top
1324 - INT 13 - HARD DISK - PS/1 and newer PS/2 - SET MULTIPLE MODE
INT 13 - HARD DISK - PS/1 and newer PS/2 - SET MULTIPLE MODE
	AH = 24h
	AL = number of sectors per block (2,4,8,16)
	DL = drive number (80h,81h)
Return: CF clear if successful
	CF set onerror
	AH = status (see #00234 at AH=01h)
Desc:	specify how many sectors the controller should transfer as a group
	  between operation-complete interrupts when using the Read Multiple
	  and Write Multiple functions (AH=21h,AH=22h)
Notes:	set the number of sectors to 0 to disable multiple-transfer mode
	the maximum value for the block size depends on the fixed disk
	  drive type.  The value is stored in byte 15h of the fixed disk
	  drive parameter table that is created by POST.
	the byte at address 0040h:0074h is set to status of operation.
SeeAlso: AH=21h"PS/1",AH=22h"PS/1",AH=23h"PS/1",AH=25h"PS/1"

Top
1324 - INT 13 u - QUICKCACHE II v4.20 - SET SECTORS
INT 13 u - QUICKCACHE II v4.20 - SET SECTORS
	AH = 24h
	BX = new number of sector buffers in cache
Return: AX = status
	    0000h successful
	    0001h failed--size adjusted
	    8000h cache cannot be resized while enabled
SeeAlso: AH=36h

Top
1325 - INT 13 - HARD DISK - PS/1 and newer PS/2 - IDENTIFY DRIVE
INT 13 - HARD DISK - PS/1 and newer PS/2 - IDENTIFY DRIVE
	AH = 25h
	DL = drive number (80h,81h)
	ES:BX-> 512 byte buffer for reply packet
Return: CF clear if successful
	CF set on error
	AH = status (see #00234 at AH=01h)
	buffer filled with ATA/IDE-style drive information block (see #00267)
Desc:	retrieves the 256 words of drive data stored on an IDE hard disk
Notes:	the byte at address 0040h:0074h is set to the status of the operation
	IBM officially classifies this function as optional
SeeAlso: AH=23h"PS/1"

Format of drive information block:
Offset	Size	Description	(Table 00267)
 00h	WORD	general drive configuration (see #00268)
 02h	WORD	number of cylinders
 04h	WORD	reserved
 06h	WORD	number of heads
 08h	WORD	number of unformatted bytes per track
 0Ah	WORD	number of unformatted bytes per sector
 0Ch	WORD	number of sectors per track
 0Eh  6 BYTEs	vendor unique
 14h 20 BYTEs	serial number in ASCII, 0000h=not specified)
 28h	WORD	buffer type
 2Ah	WORD	buffer size in 512 byte increments (0000h=not specified)
 2Ch	WORD	number of ECC bytes passed on Read/Write Long cmds
		0000h = not specified
 2Eh  8 BYTEs	firmware revision in ASCII, 0000h=not specified
 36h 40 BYTEs	model number in ASCII, 0000h=not specified
 5Eh	WORD	bits 15-8  Vendor Unique
		bits 7-0  00h = Read/Write Multiple commands not implemented
			  xxh = Maximum number of sectors that can be
			  transferred per interrupt on Read and Write
			  Multiple commands
 60h	WORD	0000h = cannot perform doubleword I/O
		0001h = can perform doubleword I/O
 62h	WORD	capabilities
		bit 15-9  0=reserved
		bit 8  1=DMA Supported
		bit 7-0	 Vendor Unique
 64h	WORD	reserved
 66h	WORD	bits 15-8 PIO data transfer cycle timing mode
		bits 7-0  Vendor Unique
 68h	WORD	bits 15-8 DMA data transfer cycle timing mode
		bits 7-0  Vendor Unique
 6Ah	WORD	bits 15-1 reserved
		bit 0	1=the fields reported in tranlation mode are valid
			0=the fields reported in translation mode may be valid
 6Ch	WORD	number of current cylinders
 6Eh	WORD	number of current heads
 70h	WORD	number of current sectors per track
 72h	DWORD	current capacity in sectors
 76h	WORD	reserved
 78h 136 BYTEs	not defined by ATA spec 2.6
100h 64 BYTEs	vendor unique
140h 96 BYTEs	reserved
Note:	the above description is as in the ATA (AT Attachment) Specification.
SeeAlso: #P0516

Bitfields for general drive configuration:
Bit(s)	Description	(Table 00268)
 15	0   reserved for non-magnetic drives
 14	format speed tolerance gap required
 13	track offset option available
 12	data strobe offset option available
 11	rotational speed tolerance is > 0.5%
 10	disk transfer rate > 10 Mbs
 9	disk transfer rate > 5Mbs but <= 10Mbs
 8	disk transfer rate <= 5Mbs
 7	removable cartridge drive
 6	fixed drive
 5	spindle motor control option implemented
 4	head switch time > 15 usec
 3	not MFM encoded
 2	soft sectored
 1	hard sectored
 0	reserved (0)

Top
1325 - INT 13 u - QUICKCACHE II v4.20 - SET FLUSH INTERVAL
INT 13 u - QUICKCACHE II v4.20 - SET FLUSH INTERVAL
	AH = 25h
	BX = interval
Return: AX = status (0000h successful)
Desc:	specify how often the cache should write dirty buffers to disk when
	  buffered writes are enabled
SeeAlso: AH=21h"QUICKCACHE",AH=2Ch,AH=2Eh

Top
1326 - INT 13 U - QUICKCACHE II v4.20 - UNINSTALL
INT 13 U - QUICKCACHE II v4.20 - UNINSTALL
	AH = 26h
Return: AX = status
	    0000h successful
	    0001h-00FFh interrupt vector which was hooked by another TSR
SeeAlso: AH=27h

Top
1327--BX0000 - INT 13 u - QUICKCACHE II v4.20 - INSTALLATION CHECK
INT 13 u - QUICKCACHE II v4.20 - INSTALLATION CHECK
	AH = 27h
	BX = 0000h
Return: AX = 0000h if installed
	BX nonzero if installed
	    BH = major version
	    BL = binary minor version
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
	  Associates, Inc.
SeeAlso: AH=26h,AH=A0h,INT 16/AX=FFA5h/CX=1111h

Top
1328 - INT 13 U - QUICKCACHE II v4.20 - SET AUTOMATIC DISMOUNT
INT 13 U - QUICKCACHE II v4.20 - SET AUTOMATIC DISMOUNT
	AH = 28h
	AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
SeeAlso: AH=20h"QUICKCACHE"

Top
1329 - INT 13 U - QUICKCACHE II v4.20 - NOP
INT 13 U - QUICKCACHE II v4.20 - NOP
	AH = 29h
Return: AX = 0000h

Top
132A - INT 13 u - QUICKCACHE II v4.20 - SET BUFFER SIZE
INT 13 u - QUICKCACHE II v4.20 - SET BUFFER SIZE
	AH = 2Ah
	AL = buffer size (1-30)
Return: AX = status (0000h successful)
Desc:	specify the number of cache sector buffers to dedicate to buffered read
	  and write operations
SeeAlso: AH=2Ch,AH=2Dh,AH=39h,AH=3Ah

Top
132B - INT 13 U - QUICKCACHE II v4.20 - DRIVE ACCESS SOUNDS
INT 13 U - QUICKCACHE II v4.20 - DRIVE ACCESS SOUNDS
	AH = 2Bh
	AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)

Top
132C - INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED WRITES
INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED WRITES
	AH = 2Ch
	AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
Desc:	specify whether the cache should delay disk writes
Note:	this function enables or disables delayed writes for all drives; use
	  AH=38h to change a single drive
SeeAlso: AH=25h"QUICKCACHE",AH=2Dh,AH=2Eh,AH=38h

Top
132D - INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED READ
INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED READ
	AH = 2Dh
	AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
Desc:	specify whether the cache should attempt to read ahead of actual
	  requests
Note:	this function enables or disables read-ahead for all drives; use AH=37h
	  to change a single drive
SeeAlso: AH=2Ch,AH=37h

Top
132E - INT 13 u - QUICKCACHE II v4.20 - SET FLUSH COUNT
INT 13 u - QUICKCACHE II v4.20 - SET FLUSH COUNT
	AH = 2Eh
	BX = flush count
Return: AX = status (0000h successful)
Desc:	specify how many dirty sectors the cache should write after each flush
	  interval (see AH=25h"QUICKCACHE") when buffered writes are enabled
SeeAlso: AH=21h"QUICKCACHE",AH=25h"QUICKCACHE",AH=2Ch

Top
132F - INT 13 - QUICKCACHE II v4.20 - FORCE IMMEDIATE INCREMENTAL FLUSH
INT 13 - QUICKCACHE II v4.20 - FORCE IMMEDIATE INCREMENTAL FLUSH
	AH = 2Fh
Return: AX = status (0000h successful)
Desc:	immediately flush up to "flushcount" dirty sectors to disk as if the
	  flush interval had expired
SeeAlso: AH=21h"QUICKCACHE"

Top
1330 - INT 13 u - QUICKCACHE II v4.20 - GET INFO
INT 13 u - QUICKCACHE II v4.20 - GET INFO
	AH = 30h
	AL = what to get
	    00h system info (see #00269)
	    01h drive info (see #00270)
	    02h access frequency (array of 30 words)
	    03h drive index
		(array of 32 bytes indicating BIOS drive for DOS drive)
	DS:DX -> buffer for info
Return: AX = status (0000h successful, 8000h invalid info specifier)
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
	  Associates, Inc.

Format of QUICKCACHE II system info:
Offset	Size	Description	(Table 00269)
 00h	BYTE	flag: cache enabled
 01h	BYTE	flag: buffered writes enabled
 02h	BYTE	flag: buffered reads enabled
 03h	BYTE	flag: sounds enabled
 04h	BYTE	flag: autodismount enabled
 05h	BYTE	???
 06h	BYTE	flag: ???
 07h	BYTE	flag: ???
 08h	BYTE	flag: "em_assigned"
 09h	BYTE	flag: emulated EMS
 0Ah	BYTE	single sector bonus
 0Bh	BYTE	"sticky_max"
 0Ch	BYTE	write sector bonus
 0Dh	BYTE	bonus threshold
 0Eh	WORD	flush interval
 10h	WORD	flush count
 12h	WORD	reserve pool size
 14h	WORD	remaining space in reserve pool
 16h	WORD	required free memory
 18h	WORD	total cache sectors
 1Ah	WORD	dirty cache sectors
 1Ch	BYTE	trace buffer size
 1Dh	BYTE	reserved (padding)
SeeAlso: #00270

Format of QUICKCACHE II drive info [16-element array, one element]:
Offset	Size	Description	(Table 00270)
 00h	BYTE	DOS drive number
 01h	BYTE	BIOS drive number
 02h	BYTE	maximum sector number
 03h	BYTE	maximum head number
 04h	BYTE	read buffer size
 05h	BYTE	write buffer size
 06h	BYTE	last status
 07h	BYTE	flag: enabled
 08h	BYTE	flag: buffered write enabled
 09h	BYTE	flag: buffered read enabled
 0Ah	BYTE	flag: in use (drive info is valid)
 0Bh	BYTE	flag: cylinder flush
 0Ch	BYTE	reserved (padding)
 0Dh	BYTE	sectors per track
 0Eh	WORD	sector size
 10h	WORD	sectors assigned
 12h	WORD	dirty sectors
 14h	WORD	reserved sectors
 16h	WORD	number of read errors
 18h	WORD	number of write errors
 1Ah	DWORD	"rio_count"
 1Eh	DWORD	number of cache misses
 22h	DWORD	"wio_count"
 26h	DWORD	"dio_count"
SeeAlso: #00269

Top
1331 - INT 13 U - QUICKCACHE II v4.20 - RESERVE MEMORY
INT 13 U - QUICKCACHE II v4.20 - RESERVE MEMORY
	AH = 31h
	BX = number of paragraphs of conventional memory to reserve for apps
Return: AX = status (0000h successful)

Top
1332 - INT 13 U - QUICKCACHE II v4.20 - ENABLE CACHING FOR SPECIFIC DRIVE
INT 13 U - QUICKCACHE II v4.20 - ENABLE CACHING FOR SPECIFIC DRIVE
	AH = 32h
	AL = drive number (00h=A:)
Return: AX = status (0000h successful)
SeeAlso: AH=22h"QUICKCACHE",AH=33h

Top
1333 - INT 13 U - QUICKCACHE II v4.20 - DISABLE CACHING FOR SPECIFIC DRIVE
INT 13 U - QUICKCACHE II v4.20 - DISABLE CACHING FOR SPECIFIC DRIVE
	AH = 33h
	AL = drive number (00h=A:)
Return: AX = status (0000h successful)
SeeAlso: AH=22h"QUICKCACHE",AH=32h

Top
1334 - INT 13 U - QUICKCACHE II v4.20 - SECTOR LOCKING
INT 13 U - QUICKCACHE II v4.20 - SECTOR LOCKING
	AH = 34h
	AL = function
	    00h end sector locking/unlocking
	    01h lock all accessed sectors into cache
	    02h unlock all accessed sectors and discard from cache
Return: AX = status (0000h successful)
SeeAlso: AH=20h"QUICKCACHE",AH=35h

Top
1335 - INT 13 U - QUICKCACHE II v4.20 - SET LOCK POOL SIZE
INT 13 U - QUICKCACHE II v4.20 - SET LOCK POOL SIZE
	AH = 35h
	BX = number of sectors in lock pool
Return: AX = status (0000h successful)
Desc:	specify the number of cache sector buffers which may be dedicated to
	  data locked into the cache
SeeAlso: AH=34h

Top
1336 - INT 13 U - QUICKCACHE II v4.20 - SET TRACE BUFFER SIZE
INT 13 U - QUICKCACHE II v4.20 - SET TRACE BUFFER SIZE
	AH = 36h
	AL = new size of trace buffer
Return: AX = status (0000h successful)
Note:	called with AL=05h during an INT 13/AH=24h"QUICKCACHE" call
SeeAlso: AH=24h"QUICKCACHE"

Top
1337 - INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED READS FOR SPECIFIC DRIVE
INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED READS FOR SPECIFIC DRIVE
	AH = 37h
	AL = new state (00h disabled, else enabled)
	DL = drive number (00h = A:)
Return: AX = status (0000h successful)
SeeAlso: AH=2Dh,AH=38h

Top
1338 - INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED WRITES FOR SPECIFIC DRIVE
INT 13 U - QUICKCACHE II v4.20 - SET BUFFERED WRITES FOR SPECIFIC DRIVE
	AH = 38h
	AL = new state (00h disabled, else enabled)
	DL = drive number (00h = A:)
Return: AX = status (0000h successful)
SeeAlso: AH=2Ch,AH=37h

Top
1339 - INT 13 U - QUICKCACHE II v4.20 - SET READ BUFFER SIZE FOR SPECIFIC DRIVE
INT 13 U - QUICKCACHE II v4.20 - SET READ BUFFER SIZE FOR SPECIFIC DRIVE
	AH = 39h
	AL = new size of read buffer
	DL = drive number (00h = A:)
Return: AX = status (0000h successful)
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
	  Associates, Inc.
SeeAlso: AH=2Ah,AH=3Ah

Top
133A - INT 13 U - QUICKCACHE II v4.20 - SET WRITE BUFFER SIZE FOR SPECIFIC DRIVE
INT 13 U - QUICKCACHE II v4.20 - SET WRITE BUFFER SIZE FOR SPECIFIC DRIVE
	AH = 3Ah
	AL = new size of write buffer
	DL = drive number (00h = A:)
Return: AX = status (0000h successful)
SeeAlso: AH=2Ah,AH=39h

Top
133B - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
	AH = 3Bh
	AL = new state of ??? (01h enabled, else disabled)
Return: AX = status (0000h successful)
Note:	is affected by the flag reported at offset 05h of the system info
	  returned by AH=30h, and sets the flag at offset 06h
SeeAlso: AH=3Ch

Top
133C - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE ???
	AH = 3Ch
	AL = new state of ??? (01h enabled, else disabled)
Return: AX = status (0000h successful)
Note:	is affected by the flag reported at offset 05h of the system info
	  returned by AH=30h, and sets the flag at offset 07h
SeeAlso: AH=3Bh

Top
133D - INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE CYLINDER FLUSH FOR DRIVE
INT 13 U - QUICKCACHE II v4.20 - ENABLE/DISABLE CYLINDER FLUSH FOR DRIVE
	AH = 3Dh
	AL = new state (01h enabled, else disabled)
	DL = drive number (00h = A:)
Return: AX = status (0000h successful)

Top
133E - INT 13 U - QUICKCACHE II v4.20 - SET SINGLE-SECTOR BONUS
INT 13 U - QUICKCACHE II v4.20 - SET SINGLE-SECTOR BONUS
	AH = 3Eh
	AL = new value for bonus
Return: AX = status (0000h successful)
Desc:	specify the bonus score to give to single-sector transfers in order to
	  keep those sectors in the cache longer

Top
133F - INT 13 U - QUICKCACHE II v4.20 - SET BONUS THRESHOLD
INT 13 U - QUICKCACHE II v4.20 - SET BONUS THRESHOLD
	AH = 3Fh
	AL = new value for bonus threshold
Return: AX = status (0000h successful)

Top
1340 - INT 13 U - QUICKCACHE II v4.20 - SET "sticky_max"
INT 13 U - QUICKCACHE II v4.20 - SET "sticky_max"
	AH = 40h
	AL = new value for "sticky_max"
Return: AX = status (0000h successful)
SeeAlso: AH=41h"QUICKCACHE"

Top
1341--BX55AA - INT 13 - IBM/MS INT 13 Extensions - INSTALLATION CHECK
INT 13 - IBM/MS INT 13 Extensions - INSTALLATION CHECK
	AH = 41h
	BX = 55AAh
	DL = drive (80h-FFh)
Return: CF set on error (extensions not supported)
	    AH = 01h (invalid function)
	CF clear if successful
	    BX = AA55h if installed
	    AH = major version of extensions
		01h = 1.x
		20h = 2.0 / EDD-1.0
		21h = 2.1 / EDD-1.1
		30h = EDD-3.0
	    AL = internal use
	    CX = API subset support bitmap (see #00271)
	    DH = extension version (v2.0+ ??? -- not present in 1.x)
Note:	the Phoenix Enhanced Disk Drive Specification v1.0 uses version 2.0 of
	  the INT 13 Extensions API
SeeAlso: AH=42h"INT 13 Ext",AH=48h"INT 13 Ext"

Bitfields for IBM/MS INT 13 Extensions API support bitmap:
Bit(s)	Description	(Table 00271)
 0	extended disk access functions (AH=42h-44h,47h,48h) supported
 1	removable drive controller functions (AH=45h,46h,48h,49h,INT 15/AH=52h)
	  supported
 2	enhanced disk drive (EDD) functions (AH=48h,AH=4Eh) supported
	extended drive parameter table is valid (see #00273,#00278)
 3-15	reserved (0)

Top
1341 - INT 13 U - QUICKCACHE II v4.20 - SAVE/RESTORE ???
INT 13 U - QUICKCACHE II v4.20 - SAVE/RESTORE ???
	AH = 41h
	AL = direction
	    01h save to file
	    else restore from file
	ES:DI -> 1024-byte buffer for ???
Return: AX = status (0000h successful, 8000h failed)
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
	  Associates, Inc.
SeeAlso: AH=40h"QUICKCACHE"

Top
1342 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED READ
INT 13 - IBM/MS INT 13 Extensions - EXTENDED READ
	AH = 42h
	DL = drive number
	DS:SI -> disk address packet (see #00272)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (see #00234)
	    disk address packet's block count field set to number of blocks
	      successfully transferred
SeeAlso: AH=02h,AH=41h"INT 13 Ext",AH=43h"INT 13 Ext"

Format of disk address packet:
Offset	Size	Description	(Table 00272)
 00h	BYTE	size of packet (10h or 18h)
 01h	BYTE	reserved (0)
 02h	WORD	number of blocks to transfer (max 007Fh for Phoenix EDD)
 04h	DWORD	-> transfer buffer
 08h	QWORD	starting absolute block number
		(for non-LBA devices, compute as
		  (Cylinder*NumHeads + SelectedHead) * SectorPerTrack +
		  SelectedSector - 1
 10h	QWORD	(EDD-3.0, optional) 64-bit flat address of transfer buffer;
		  used if DWORD at 04h is FFFFh:FFFFh

Top
134257DX1234 - INT 13 U - Beame&Whiteside BWLPD - INSTALLATION CHECK
INT 13 U - Beame&Whiteside BWLPD - INSTALLATION CHECK
	AX = 4257h ("BW")
	DX = 1234h
Return: BX = 414Ch if installed
Program: BWLPD is the printer daemon from the BW-NFS package
SeeAlso: INT 62/AH=00h"ETHDEV"

Top
1343 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED WRITE
INT 13 - IBM/MS INT 13 Extensions - EXTENDED WRITE
	AH = 43h
	AL = write flags
	   ---v1.0,2.0---
	   bit 0: verify write
	   bits 7-1 reserved (0)
	   ---v2.1+ ---
	   00h,01h write without verify
	   02h write with verify
	DL = drive number
	DS:SI -> disk address packet (see #00272)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (see #00234)
	    disk address packet's block count field set to number of blocks
	      successfully transferred
Note:	the BIOS returns CF set/AH=01h (invalid function) if verify is
	  requested but not supported
SeeAlso: AH=03h,AH=41h"INT 13 Ext",AH=42h"INT 13 Ext",AH=44h

Top
1344 - INT 13 - IBM/MS INT 13 Extensions - VERIFY SECTORS
INT 13 - IBM/MS INT 13 Extensions - VERIFY SECTORS
	AH = 44h
	DL = drive number
	DS:SI -> disk address packet (see #00272)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (see #00234)
	    disk address packet's block count field set to number of blocks
	      successfully verified
SeeAlso: AH=04h,AH=41h"INT 13 Ext",AH=42h"INT 13 Ext",AH=47h

Top
1345 - INT 13 - IBM/MS INT 13 Extensions - LOCK/UNLOCK DRIVE
INT 13 - IBM/MS INT 13 Extensions - LOCK/UNLOCK DRIVE
	AH = 45h
	AL = operation
	    00h lock media in drive
	    01h unlock media
	    02h check lock status
	DL = drive number
Return: CF clear if successful
	    AH = 00h
	    AL = lock state (00h = unlocked)
	CF set on error
	    AH = error code (see #00234)
Notes:	this function is required to be supported for any removable drives
	  numbered 80h or higher
	a device may be locked even if no media is present in the drive
	up to 255 locks may be placed on a drive, and the media will not
	  be physically unlocked until all locks have been removed
SeeAlso: AH=41h"INT 13 Ext",AH=46h,AH=49h,INT 15/AH=52h"INT 13 Extensions"

Top
1346 - INT 13 - IBM/MS INT 13 Extensions - EJECT MEDIA
INT 13 - IBM/MS INT 13 Extensions - EJECT MEDIA
	AH = 46h
	AL = 00h (reserved)
	DL = drive number
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (see #00234)
SeeAlso: AH=49h,INT 15/AH=52h"INT 13 Extensions"

Top
1347 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED SEEK
INT 13 - IBM/MS INT 13 Extensions - EXTENDED SEEK
	AH = 47h
	DL = drive number
	DS:SI -> disk address packet (see #00272)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (see #00234)
Note:	this function initiates the seek, and may return before the seek
	  actually completes
SeeAlso: AH=0Ch,AH=42h"INT 13 Ext"

Top
1348 - INT 13 - IBM/MS INT 13 Extensions - GET DRIVE PARAMETERS
INT 13 - IBM/MS INT 13 Extensions - GET DRIVE PARAMETERS
	AH = 48h
	DL = drive (80h-FFh)
	DS:SI -> buffer for drive parameters (see #00273)
Return: CF clear if successful
	    AH = 00h
	    DS:SI buffer filled
	CF set on error
	    AH = error code (see #00234)
BUGS:	several different Compaq BIOSes incorrectly report high-numbered
	  drives (such as 90h, B0h, D0h, and F0h) as present, giving them the
	  same geometry as drive 80h; as a workaround, scan through disk
	  numbers, stopping as soon as the number of valid drives encountered
	  equals the value in 0040h:0075h
	Dell machines using PhoenixBIOS 4.0 Release 6.0 fail to correctly
	  handle this function if the flag word at DS:[SI+2] is not 0000h
	  on entry
SeeAlso: AH=08h,AH=41h,AH=49h,MEM 0040h:0075h

Format of IBM/MS INT 13 Extensions drive parameters:
Offset	Size	Description	(Table 00273)
 00h	WORD	(call) size of buffer
		    (001Ah for v1.x, 001Eh for v2.x, 42h for v3.0)
		(ret) size of returned data
 02h	WORD	information flags (see #00274)
 04h	DWORD	number of physical cylinders on drive
 08h	DWORD	number of physical heads on drive
 0Ch	DWORD	number of physical sectors per track
 10h	QWORD	total number of sectors on drive
 18h	WORD	bytes per sector
---v2.0+ ---
 1Ah	DWORD	-> EDD configuration parameters (see #00278)
		FFFFh:FFFFh if not available
---v3.0 ---
 1Eh	WORD	signature BEDDh to indicate presence of Device Path info
 20h	BYTE	length of Device Path information, including signature and this
		  byte (24h for v3.0)
 21h  3 BYTEs	reserved (0)
 24h  4 BYTEs	ASCIZ name of host bus ("ISA" or "PCI")
 28h  8 BYTEs	ASCIZ name of interface type
		"ATA"
		"ATAPI"
		"SCSI"
		"USB"
		"1394" IEEE 1394 (FireWire)
		"FIBRE" Fibre Channel
 30h  8 BYTEs	Interface Path (see #00275)
 38h  8 BYTEs	Device Path (see #00276)
 40h	BYTE	reserved (0)
 41h	BYTE	checksum of bytes 1Eh-40h (two's complement of sum, which makes
		  the 8-bit sum of bytes 1Eh-41h equal 00h)
Note:	if the size is less than 30 on call, the final DWORD will not be
	  returned by a v2.x implementation; similarly for the Device Path info
SeeAlso: #00277,#03196

Bitfields for IBM/MS INT 13 Extensions information flags:
Bit(s)	Description	(Table 00274)
 0	DMA boundary errors handled transparently
 1	cylinder/head/sectors-per-track information is valid
 2	removable drive
 3	write with verify supported
 4	drive has change-line support (required if drive >= 80h is removable)
 5	drive can be locked (required if drive >= 80h is removable)
 6	CHS information set to maximum supported values, not current media
 15-7	reserved (0)
Note:	bits 4-6 are only valid if bit 2 is set
SeeAlso: #00273

Format of EDD v3.0 Interface Path:
Offset	Size	Description	(Table 00275)
---ISA---
 00h	WORD	16-bit base address
 02h  6 BYTEs	reserved (0)
---PCI---
 00h	BYTE	PCI bus number
 01h	BYTE	PCI device number
 02h	BYTE	PCI function number
 03h  5 BYTEs	reserved (0)
SeeAlso: #00273,#00276

Format of EDD v3.0 Device Path:
Offset	Size	Description	(Table 00276)
---ATA---
 00h	BYTE	flag: 00h = master, 01h = slave
 01h  7 BYTEs	reserved (0)
---ATAPI---
 00h	BYTE	flag: 00h = master, 01h = slave
 01h	BYTE	logical unit number
 02h  6 BYTEs	reserved (0)
---SCSI---
 00h	BYTE	logical unit number
 01h  7 BYTEs	reserved (0)
---USB---
 00h	BYTE	to be determined
 01h  7 BYTEs	reserved (0)
---IEEE1394---
 00h	QWORD	64-bit FireWire General Unique Identifier (GUID)
---FibreChannel---
 00h	QWORD	Word Wide Number (WWN)
SeeAlso: #00273,#00275

Format of Phoenix Enhanced Disk Drive Spec translated drive parameter table:
Offset	Size	Description	(Table 00277)
 00h	WORD	number of cylinders
 02h	BYTE	number of heads
 03h	BYTE	A0h (signature indicating translated table)
 04h	BYTE	number of physical sectors per track
 05h	WORD	starting write precompensation cylinder number
 07h	BYTE	reserved
 08h	BYTE	control byte (see #03198 at INT 41"DISK 0")
 09h	WORD	number of physical cylinders
 0Bh	BYTE	number of physical heads
 0Ch	WORD	cylinder number of landing zone
 0Eh	BYTE	number of logical sectors per track
 0Fh	BYTE	checksum
Program: the Phoenix Enhanced Disk Drive Specification is an addition to the
	  IBM/MS INT 13 extensions
SeeAlso: #00278,#03196

Format of Phoenix Enhanced Disk Drive Spec Fixed Disk Parameter Table:
Offset	Size	Description	(Table 00278)
 00h	WORD	physical I/O port base address
 02h	WORD	disk-drive control port address
 04h	BYTE	drive flags (see #00279)
 05h	BYTE	proprietary information
		bits 7-4 reserved (0)
		bits 3-0: Phoenix proprietary (used by BIOS)
 06h	BYTE	IRQ for drive (bits 3-0; bits 7-4 reserved and must be 0)
 07h	BYTE	sector count for multi-sector transfers
 08h	BYTE	DMA control
		bits 7-4: DMA type (0-2) as per ATA-2 specification
		bits 3-0: DMA channel
 09h	BYTE	programmed I/O control
		bits 7-4: reserved (0)
		bits 3-0: PIO type (1-4) as per ATA-2 specification
 0Ah	WORD	drive options (see #00280)
 0Ch  2 BYTEs	reserved (0)
 0Eh	BYTE	extension revision level (high nybble=major, low nybble=minor)
		(currently 10h for v1.0 and 11h for v1.1-3.0)
 0Fh	BYTE	2's complement checksum of bytes 00h-0Eh
		8-bit sum of all bytes 00h-0Fh should equal 00h
Note:	this structure is also called the Device Paramter Table Extension
	  (DPTE)
SeeAlso: #00277

Bitfields for Phoenix Enhanced Disk Drive Spec drive flags:
Bit(s)	Description	(Table 00279)
 7	reserved (1)
 6	LBA enabled
 5	reserved (1)
 4	drive is slave
 3-0	reserved (0)
SeeAlso: #00278,#00280

Bitfields for Phoenix Enhanced Disk Drive Spec drive options:
Bit(s)	Description	(Table 00280)
 0	fast PIO enabled
 1	fast DMA access enabled
 2	block PIO (multi-sector transfers) enabled
 3	CHS translation enabled
 4	LBA translation enabled
 5	removable media
 6	ATAPI device (CD-ROM)
 7	32-bit transfer mode
---v1.1+ ---
 8	ATAPI device uses DRQ to signal readiness for packet command
	(must be 0 if bit 6 is 0)
 10-9	translation type (must be 00 if bit 3 is 0)
	00 Phoenix bit-shifting translation
	01 LBA-assisted translation
	10 reserved
	11 proprietary translation
---v3.0---
 11	Ultra DMA access enabled
 15-12	reserved (0)
SeeAlso: #00278,#00279

Top
1349 - INT 13 - IBM/MS INT 13 Extensions - EXTENDED MEDIA CHANGE
INT 13 - IBM/MS INT 13 Extensions - EXTENDED MEDIA CHANGE
	AH = 49h
	DL = drive number
Return: CF clear if media has not changed
	    AH = 00h
	CF set if media may have changed
	    AH = 06h (see #00234)
Note:	unlike AH=16h, any drive number may be specified
SeeAlso: AH=16h,AH=41h"INT 13 Ext",AH=46h

Top
134A - INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION
INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION
	AH = 4Ah
	AL = 00h
	DS:SI -> specification packet (see #00281)
Return: CF clear if successful
	CF set on error (drive will not be in emulation mode)
	AX = return codes
SeeAlso: AH=48h,AX=4B00h,AH=4Ch,AH=4Dh

Format of Bootable CD-ROM Specification Packet:
Offset	Size	Description	(Table 00281)
 00h	BYTE	size of packet in bytes (13h)
 01h	BYTE	boot media type (see #00282)
 02h	BYTE	drive number
		00h floppy image
		80h bootable hard disk
		81h-FFh nonbootable or no emulation
 03h	BYTE	CD-ROM controller number
 04h	DWORD	Logical Block Address of disk image to emulate
 08h	WORD	device specification (see also #00282)
		(IDE) bit 0: drive is slave instead of master
		(SCSI)	bits 7-0: LUN and PUN
			bits 15-8: bus number
 0Ah	WORD	segment of 3K buffer for caching CD-ROM reads
 0Ch	WORD	load segment for initial boot image
		if 0000h, load at segment 07C0h
 0Eh	WORD	number of 512-byte virtual sectors to load
		(only valid for AH=4Ch)
 10h	BYTE	low byte of cylinder count (for INT 13/AH=08h)
 11h	BYTE	sector count, high bits of cylinder count (for INT 13/AH=08h)
 12h	BYTE	head count (for INT 13/AH=08h)
SeeAlso: #00283,AH=08h

Bitfields for Bootable CD-ROM boot media type:
Bit(s)	Description	(Table 00282)
 3-0	media type
	0000 no emulation
	0001 1.2M diskette
	0010 1.44M diskette
	0011 2.88M diskette
	0100 hard disk (drive C:)
	other reserved
 5-4	reserved (0)
 6	image contains ATAPI driver
 7	image contains SCSI driver(s)
SeeAlso: #00281

Top
134B00 - INT 13 - Bootable CD-ROM - TERMINATE DISK EMULATION
INT 13 - Bootable CD-ROM - TERMINATE DISK EMULATION
	AX = 4B00h
	DL = drive number or 7Fh to terminate all emulations
	DS:SI -> empty specification packet (see #00281)
Return: CF clear if successful
	CF set on error (drive will still be in emulation mode)
	AX = return codes
	DS:SI specification packet filled
SeeAlso: AH=48h,AH=4Ah,AX=4B00h,AH=4Ch,AH=4Dh

Top
134B01 - INT 13 - Bootable CD-ROM - GET STATUS
INT 13 - Bootable CD-ROM - GET STATUS
	AX = 4B01h
	DL = drive number
	DS:SI -> empty specification packet (see #00281)
Return: CF clear if successful
	CF set on error
	AX = return codes
	DS:SI specification packet filled
Note:	same as AX=4B00h, but does not terminate emulation
SeeAlso: AH=48h,AH=4Ah,AX=4B00h,AH=4Ch,AH=4Dh

Top
134C - INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION AND BOOT
INT 13 - Bootable CD-ROM - INITIATE DISK EMULATION AND BOOT
	AH = 4Ch
	AL = 00h
	DS:SI -> specification packet (see #00281)
Return: never, if successful
	CF set (error while attempting to boot)
	AX = error codes
SeeAlso: AH=48h,AH=4Ah,AX=4B00h,AH=4Dh

Top
134D00 - INT 13 - Bootable CD-ROM - RETURN BOOT CATALOG
INT 13 - Bootable CD-ROM - RETURN BOOT CATALOG
	AX = 4D00h
	DS:SI -> command packet (see #00283)
Return: CF clear if successful
	CF set on error
	AX = return codes
SeeAlso: AH=48h,AH=4Ah,AX=4B00h,AH=4Ch

Format of Bootable CD-ROM "get boot catalog" command packet:
Offset	Size	Description	(Table 00283)
 00h	BYTE	size of packet in bytes (08h)
 01h	BYTE	number of sectors of boot catalog to read
 02h	DWORD	-> buffer for boot catalog
 06h	WORD	first sector in boot catalog to transfer
SeeAlso: #00281

Top
134E - INT 13 - IBM/MS INT 13 Extensions v2.1+ - SET HARDWARE CONFIGURATION
INT 13 - IBM/MS INT 13 Extensions v2.1+ - SET HARDWARE CONFIGURATION
	AH = 4Eh
	AL = function
	    00h enable prefetch
	    01h disable prefetch
	    02h set maximum PIO transfer mode
	    03h set PIO mode 0
	    04h set default PIO transfer mode
	    05h enable INT 13h DMA maximum mode
	    06h disable INT 13h DMA
	DL = drive number
Return: CF clear if successful
	    AH = 00h
	    AL = status
		00h command was safe (only affected specified drive)
		01h other devices are affected
	CF set on error
	    AH = error code (see #00234)
Note:	DMA and PIO modes are mutually exclusive, so selecting DMA disables
	  PIO (for either the specified device or all devices on that
	  controller), and selecting PIO disables DMA
SeeAlso: AH=41h"INT 13 Extensions",AX=5001h"Enhanced Disk Drive"

Top
135001 - INT 13 - Enhanced Disk Drive Spec v3.0 - SEND PACKET COMMAND
INT 13 - Enhanced Disk Drive Spec v3.0 - SEND PACKET COMMAND
	AX = 5001h
	DL = drive number
	ES:BX -> command packet (see #00284)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code
Desc:	send data to and from a serial packet-oriented device, such as IEEE1394
	  and USB
SeeAlso: AH=41h"INT 13 Extensions",AH=4Eh

Format of Enhanced Disk Drive Spec v3.0 command packet:
Offset	Size	Description	(Table 00284)
 00h	WORD	signature B055h
 02h	BYTE	length of packet in bytes
 03h	BYTE	reserved (0)
 04h  N BYTEs	formatted packet data

Top
135001 - INT 13 - VIRUS - "Andropinis" - INSTALLATION CHECK
INT 13 - VIRUS - "Andropinis" - INSTALLATION CHECK
	AX = 5001h
Return: AX = 0150h if resident
SeeAlso: AX=FD50h"VIRUS",INT 21/AX=0B56h

Top
135342CX0001 - INT 13 - ScanBoot - INSTALLATION CHECK
INT 13 - ScanBoot - INSTALLATION CHECK
	AX = 5342h ("SB")
	CX = 0001h
	DX = 0000h
Return: CF clear if ScanBoot installed
	   AX = 0000h
	   CX = serial number ("SW" if shareware release)
	   DX = version
	   BX,SI,ES destroyed
Program: ScanBoot is a virus-detection TSR by PanSoft

Top
135501 - INT 13 - Seagate ST01/ST02 - Inquiry
INT 13 - Seagate ST01/ST02 - Inquiry
	AX = 5501h
	DH = number of bytes to transfer
	DL = drive ID (80h, 81h, ...)
	ES:BX -> buffer for results
Return: ES:BX buffer filled with the Inquiry results
Notes:	the ST01/ST02 BIOS does not return any success/failure indication,
	  so all commands must be assumed to have been successful
	the ST01/ST02 BIOS always maps its drives after the previous BIOS
	  drives without changing the BIOS drive count at 0040h:0075h
	this command is identical to the SCSI Inquiry command

Top
135502 - INT 13 - Seagate ST01/ST02 - RESERVED
INT 13 - Seagate ST01/ST02 - RESERVED
	AX = 5502h

Top
135503 - INT 13 - Seagate ST01/ST01 - Set Device Type Qualifier (DTQ)
INT 13 - Seagate ST01/ST01 - Set Device Type Qualifier (DTQ)
	AX = 5503h
	DH = DTQ byte (see #00285)
	DL = drive ID (80h, 81h, ...)
Return: nothing

Bitfields for DTQ byte:
Bit(s)	Description	(Table 00285)
 7	reserved
 6	SCSI drive attached
 5	reserved
 4	selected drive is ST225N/NP (Paired)
 3	selected drive is ST225N
 2	Host Adapter checks parity on the selected drive
 1	selected drive has been installed
 0	Seagate installation software present

Top
135504 - INT 13 U - Seagate - ??? - RETURN IDENTIFICATION
INT 13 U - Seagate - ??? - RETURN IDENTIFICATION
	AX = 5504h
	DX = drive (bit 7 set for hard disk)
Return: CF clear if successful
	    AX = 4321h if ST01/ST02h
	    AX = 4322h if ??? Seagate controller
	CF set on error
SeeAlso: AX=5505h,AX=5514h

Top
135504 - INT 13 - Seagate ST01/ST02 - RETURN IDENTIFICATION
INT 13 - Seagate ST01/ST02 - RETURN IDENTIFICATION
	AX = 5504h
	DL = drive ID (80h, 81h, ...)
Return: AX = 4321h
	BL = selected drive number (00h, 01h)
	BH = number of drives attached to Host Adapter (max. 2)

Top
135505 - INT 13 - Seagate - ??? - PARK HEADS
INT 13 - Seagate - ??? - PARK HEADS
	AX = 5505h
	DX = drive (bit 7 set for hard disk)
Return: CF clear if successful
	CF set on error
SeeAlso: AX=5504h,AX=5515h

Top
135505 - INT 13 - Seagate ST01/ST02 - PARK HEADS
INT 13 - Seagate ST01/ST02 - PARK HEADS
	AX = 5505h
	DL = drive ID (80h, 81h, ...)
	DH = subfunction
	    00h park heads (SCSI Stop command)
	    01h un-park heads (SCSI Start command)
Return: nothing

Top
135506 - INT 13 - Seagate ST01/ST02 - SCSI Bus Parity
INT 13 - Seagate ST01/ST02 - SCSI Bus Parity
	AX = 5506h
	DL = drive ID (80h, 81h, ...)
	DH = subfunction
	    00h disable parity check
	    01h enable parity check
	    02h return current parity setting
Return: AL = status
	    00h parity checking disabled
	    01h parity checking enabled

Top
135507 - INT 13 - Seagate ST01/ST02 - RESERVED FUNCTIONS
INT 13 - Seagate ST01/ST02 - RESERVED FUNCTIONS
	AX = 5507h to 550Dh
Note:	officially listed as "reserved"

Top
135514 - INT 13 U - Seagate - ???
INT 13 U - Seagate - ???
	AX = 5514h
	DX = drive (bit 7 set for hard disk)
Return: CF clear if successful
	CF set on error
	AX = return value (FEBEh,FEBFh,FEDAh,FEDBh)
SeeAlso: AX=5504h,AX=5515h

Top
135515 - INT 13 U - Seagate - PARK HEADS???
INT 13 U - Seagate - PARK HEADS???
	AX = 5515h
	DX = drive (bit 7 set for hard disk)
Return: CF clear if successful
	CF set on error
Note:	appears to be identical to AX=5505h
SeeAlso: AX=5504h,AX=5505h

Top
1359 - INT 13 - SyQuest - Generic SCSI pass through
INT 13 - SyQuest - Generic SCSI pass through
	AH = 59h
	CX = HOST_ID, 0-based
	DX = 80h
	ES:BX pointer to SCSI structure (see #00286)
Return: CF clear
	AH = 95h
SeeAlso: AH=12h"SyQuest",AH=13h"SyQuest",AH=1Fh"SyQuest"

Format of SyQuest SCSI structure:
Offset	Size	Description	(Table 00286)
 00h	WORD	opcode (see #00287)
 02h	BYTE	target's SCSI ID
 03h	BYTE	target's logical unit number
 04h	BYTE	data direction (00h no data xfer, 01h data in, FFh data out)
 05h	BYTE	host status
		00h successful
		01h selection time out
		02h data over-run or under-run
 06h	BYTE	target status at command completion
		00h successful
		02h check status
		08h busy
 07h	BYTE	command data block length
 08h	DWORD	request data length
 0Ch	DWORD	result data length (actual length of data transferred)
 10h	DWORD	-> CDB (see #03236,#03237,#03238)
 14h	DWORD	-> data buffer
Note:	The handler does not perform a 'Request Sense' command if there was an
	  error

(Table 00287)
Values for SCSI opcode:
 00h	verify interface
	clears carry flag and returns if function is available
 01h	returns the ID of the INT 13h Handler in a NULL terminated string of
	length less than 40 byte including the terminator.
	The string is stored in the buffer pointed by p_buf.
 02h	device mapping info. The caller provides a one byte buffer.
	The handler stores the Int 13h Device ID (80h or above) in the buffer.
	It stores 0 if that target does not exists.
 03h	execute SCSI command
 04h	device reset
 05h	SCSI bus reset
SeeAlso: #00286

Top
1370 - INT 13 - Priam EDVR.SYS DISK PARTITIONING SOFTWARE???
INT 13 - Priam EDVR.SYS DISK PARTITIONING SOFTWARE???
	AH = 70h
	???
Return: ???
Note:	Priam's EDISK.EXE (FDISK replacement) and EFMT.EXE (low-level
	  formatting program) make this call, presumably to EDVR.SYS (the
	  partitioning driver)
SeeAlso: AH=ADh

Top
1375 - INT 13 - ???
INT 13 - ???
	AH = 75h
	???
Return: AH = ???
	???
Note:	intercepted by PC-Cache (v5.1 only)

Top
1376 - INT 13 - ???
INT 13 - ???
	AH = 76h
	???
Return: AH = ???
	???
Note:	intercepted by PC-Cache (v5.1 only)

Top
137B00 - INT 13 - NOW! v3.05 - GET INFORMATION
INT 13 - NOW! v3.05 - GET INFORMATION
	AX = 7B00h
	CX:DX -> 1F8h-byte buffer for information record (see #00288)
Return: AX = 0000h
	BX = segment of main resident code
	ES = ???
Program: NOW! is a disk cache by Vertisoft Systems, Inc.
SeeAlso: AX=7B02h,AH=EFh

Format of NOW! information record:
Offset	Size	Description	(Table 00288)
 00h 80 BYTEs	name of directory from which NOW! was started
 50h 424 BYTEs	???
 81h  ? BYTEs	array of bytes for ???
 F7h 250 BYTEs	array of 25 entries, one per drive???
	Offset	Size	Description
	 00h  2 BYTEs	???
	 02h	WORD	???
	 04h	WORD	???
	 06h  4 BYTEs	???
1F1h  7 BYTEs	???

Top
137B01 - INT 13 - NOW! v3.05 - ???
INT 13 - NOW! v3.05 - ???
	AX = 7B01h
Return: DX = segment of ???
SeeAlso: AX=7B00h

Top
137B02 - INT 13 - NOW! v3.05 - SET INFORMATION
INT 13 - NOW! v3.05 - SET INFORMATION
	AX = 7B02h
	BX = segment of ??? (10h above a PSP)
	CX:DX -> 1F8h-byte information record (see #00288)
Return: ???
Program: NOW! is a disk cache by Vertisoft Systems, Inc.
Note:	NOW! grabs the INT 24h value from the PSP reached via the segment in
	  BX
SeeAlso: AX=7B00h

Top
137B03 - INT 13 - NOW! v3.05 - ???
INT 13 - NOW! v3.05 - ???
	AX = 7B03h
	???
Return: ???
SeeAlso: AX=7B00h,AX=7B04h

Top
137B04 - INT 13 - NOW! v3.05 - ???
INT 13 - NOW! v3.05 - ???
	AX = 7B04h
	???
Return: ???
SeeAlso: AX=7B03h

Top
137B05 - INT 13 - NOW! v3.05 - GET DISK ACCESSES???
INT 13 - NOW! v3.05 - GET DISK ACCESSES???
	AX = 7B05h
Return: BX:AX = number of physical accesses???
	DX:CX = total disk accesses???
SeeAlso: AX=7B00h,AX=7B06h

Top
137B06 - INT 13 - NOW! v3.05 - GET ???
INT 13 - NOW! v3.05 - GET ???
	AX = 7B06h
	BX = ???
Return: AX = 0000h
	BX = ???
SeeAlso: AX=7B05h,AX=7B07h

Top
137B07 - INT 13 - NOW! v3.05 - GET ???
INT 13 - NOW! v3.05 - GET ???
	AX = 7B07h
Return: AX = ???
	BX = ???
	CX = ???
	DX = ???
SeeAlso: AX=7B06h

Top
137B08 - INT 13 - NOW! v3.05 - ???
INT 13 - NOW! v3.05 - ???
	AX = 7B08h
	CX = ??? (default 00h)
Return: ???
SeeAlso: AX=7B00h

Top
1380--CX6572 - INT 13 - FAST! v4.02+ - API
INT 13 - FAST! v4.02+ - API
	AH = 80h
	CX = 6572h
	DX = 1970h
	ES:BX -> request packet (see #00290)
	AL = function number (see #00289)
Return: AH = status (except function 06h)
	    00h if successful
	    01h invalid function
	    05h not supported by the installed variant
	CF clear if successful
	CF set on error
	AL may be destroyed
Program: FAST! is a disk cache by Future Computing Systems and marketed by
	  BLOC Publishing Corp.
SeeAlso: AX=8001h,AX=8006h,AX=8007h
Index:	hotkeys;FAST!

(Table 00289)
Values for FAST! function:
 01h	get cache information (see AX=8001h)
 04h	disable cache
 05h	enable cache and reset statistics
 06h	installation check (see AX=8006h)
 07h	unhook interrupts (see AX=8007h)
 09h	flush cache
 0Ah	(v4.02+) enable staged writes
 0Bh	(v4.02+) disable staged writes
 0Ch	(v4.02+) enable beep on flush
 0Dh	(v4.02+) disable beep on flush
 0Eh	???
 0Fh	???
 10h	(v4.12+) enable hotkeys
 11h	(v4.12+) disable hotkeys
 12h	(v4.13+) set idle delay
 13h	(v4.13+) set flush dirty percentage
 14h	(v5.00+) enable mouse checks
 15h	(v5.00+) disable mouse checks
 16h	(v5.00d+) reduce cache size to minimum
 17h	(v5.00d+) increase cache size to maximum

Format of FAST! request packet:
Offset	Size	Description	(Table 00290)
 00h	DWORD	pointer to 19-byte signature string (see #00291)
 04h	DWORD	pointer to buffer for data (if needed by function)

(Table 00291)
Values for FAST! v4.04-v5.03 signature string:
 13h 07h 06h 08h 11h 18h 0Fh 0Eh 02h 18h 13h 08h 0Bh 08h 01h 00h 04h 08h 15h

Top
138001CX6572 - INT 13 - FAST! v4.02+ - GET CACHE INFORMATION
INT 13 - FAST! v4.02+ - GET CACHE INFORMATION
	AX = 8001h
	CX = 6572h
	DX = 1970h
	ES:BX -> request packet (see #00292)
Return: AH = 00h if successful
SeeAlso: AH=80h,AX=8006h

Format of FAST! request packet:
Offset	Size	Description	(Table 00292)
 00h	DWORD	-> 19-byte signature string (see #00291)
 04h	DWORD	-> buffer for cache information (see #00293)

Format of FAST! cache information (v5.00-5.03):
Offset	Size	Description	(Table 00293)
 00h	WORD	binary version number of FAST! (v5.00 = 01F4h)
 02h	BYTE	revision letter (61h = X.XXa, 62h = X.XXb, etc.)
 03h	BYTE	FAST! variant
		(01h = FASTE, 02h = FASTX BIOS, 04h = FASTC, 20h = FASTX XMS)
 04h	DWORD	total number of read requests
 08h	DWORD	number of physical disk reads
 0Ch	DWORD	grabbed hash buckets
 10h	DWORD	"st_386mem"
 14h	DWORD	total number of writes (only counted when staging enabled)
 18h	DWORD	number of physical disk writes (only when staging enabled)
 1Ch	DWORD	number of write errors while flushing cache
 20h	WORD	flags1 (see #00294)
 22h	WORD	flags
		bit 0: ???
		bit 1: staged writes enabled
 24h	WORD	???
 26h	WORD	maximum cache size in KB
 28h	WORD	minimum cache size in KB
 2Ah	WORD	segment of first cache buffer (FASTC)
		segment of EMS page frame (FASTE)
		XMS handle (FASTX XMS)
 2Ch	WORD	number of hash buckets containing no entries
 2Eh	WORD	number of hash buckets containing one entry
 30h	WORD	number of hash buckets containing two entries
 32h	WORD	number of hash buckets containing three entries
 34h	WORD	number of hash buckets containing four entries
 36h	WORD	number of hash buckets containing five entries
 38h	WORD	maximum contiguous sectors
 3Ah	WORD	hash factor
 3Ch	WORD	number of paragraphs of memory used below 1M
 3Eh	WORD	entries per hash bucket
 40h	WORD	idle delay in seconds
 42h  2 BYTEs	???
 44h	WORD	staged write threshold percentage
 46h  2 BYTEs	???
 48h	WORD	number of dirty sectors
 4Ah	WORD	number of staged write buffers
 4Ch	WORD	current cache size in KB
 4Eh	WORD	beep frequency in Hz
 50h	WORD	???
 52h	WORD	???

Bitfields for FAST! flags1:
Bit(s)	Description	(Table 00294)
 0	beep on flush
 3	hotkeys enabled
 4	mouse idle check enabled
 8	caching enabled
 13	???

Top
138006CX6572 - INT 13 - FAST! v4.02+ - INSTALLATION CHECK
INT 13 - FAST! v4.02+ - INSTALLATION CHECK
	AX = 8006h
	CX = 6572h
	DX = 1970h
	ES:BX -> request packet (see #00295)
Return: AX = 1965h if installed
SeeAlso: AH=80h,AX=8001h,AX=8007h

Format of FAST! request packet:
Offset	Size	Description	(Table 00295)
 00h	DWORD	-> 19-byte signature string (see #00291)

Top
138007CX6572 - INT 13 - FAST! v4.02+ - UNHOOK INTERRUPTS
INT 13 - FAST! v4.02+ - UNHOOK INTERRUPTS
	AX = 8007h
	CX = 6572h
	DX = 1970h
	ES:BX -> request packet (see #00296)
Return: AX = 1965h if installed
SeeAlso: AH=80h,AX=8006h
Index:	uninstall;FAST!

Format of FAST! request packet:
Offset	Size	Description	(Table 00296)
 00h	DWORD	-> 19-byte signature string (see #00291)

Top
1381--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
INT 13 - Super PC-Kwik v3.20+ - ???
	AH = 81h
	SI = 4358h
	???
Return: ???
Note:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call (PC-Cache v5.1 corresponds
	  to PC-Kwik v3.20 and PC-Cache v5.5 to PC-Kwik v3.27)
	returns immediately in PC-Cache v5.x
Index:	PC-Cache|Qualitas Qcache

Top
1382--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
INT 13 - Super PC-Kwik v3.20+ - ???
	AH = 82h
	SI = 4358h
	???
Return: AL = ???
Note:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call
SeeAlso: AH=84h
Index:	PC-Cache|Qualitas Qcache

Top
1383--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
INT 13 - Super PC-Kwik v3.20+ - ???
	AH = 83h
	SI = 4358h
	AL = ???
	ES:BX -> ???
	???
Return: ???
Note:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call
SeeAlso: AH=85h
Index:	PC-Cache|Qualitas Qcache

Top
1384--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
INT 13 - Super PC-Kwik v3.20+ - ???
	AH = 84h
	SI = 4358h
	AL = ???
	???
Return: AL = ???
Note:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call
SeeAlso: AH=82h
Index:	PC-Cache|Qualitas Qcache

Top
1385--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
INT 13 - Super PC-Kwik v3.20+ - ???
	AH = 85h
	SI = 4358h
	AL = ???
	DL = ???
	???
Return: ???
Note:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call (PC-Cache v5.1 corresponds
	  to PC-Kwik v3.20)
SeeAlso: AH=83h
Index:	PC-Cache|Qualitas Qcache

Top
1386--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
INT 13 - Super PC-Kwik v4.00+ - ???
	AH = 86h
	SI = 4358h
	???
Return: ???
Note:	Qualitas Qcache v4.00 is an OEM version of Super PC-Kwik v4.00, and
	  thus supports this call
Index:	Qualitas Qcache

Top
1387--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
INT 13 - Super PC-Kwik v4.00+ - ???
	AH = 87h
	SI = 4358h
	???
Return: AH = status??? (00h)
	CX = ???
	DX = ??? (0000h)
Note:	Qualitas Qcache v4.00 is an OEM version of Super PC-Kwik v4.00, and
	  thus supports this call
Index:	Qualitas Qcache

Top
1388--SI4358 - INT 13 - Super PC-Kwik v4.00+ - ???
INT 13 - Super PC-Kwik v4.00+ - ???
	AH = 88h
	SI = 4358h
	???
Return: AH = status??? (00h)
	CX = ???
	DX = ??? (0000h)
Note:	Qualitas Qcache v4.00 is an OEM version of Super PC-Kwik v4.00, and
	  thus supports this call
Index:	Qualitas Qcache

Top
1389--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 89h
	SI = 4358h
	???
Return: ???

Top
138A--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 8Ah
	SI = 4358h
	???
Return: ???

Top
138EED - INT 13 - HyperDisk v4.01+ - ???
INT 13 - HyperDisk v4.01+ - ???
	AX = 8EEDh
	???
Return: ???
Program: HyperDisk is a shareware disk cache by HyperWare (Roger Cross)
SeeAlso: AX=8EEEh,AX=8EEFh,AH=EEh,INT 2F/AX=DF00h

Top
138EEE - INT 13 - HyperDisk v4.01+ - ???
INT 13 - HyperDisk v4.01+ - ???
	AX = 8EEEh
Return: CF set
	AX = CS of HyperDisk resident code
	???
Note:	identical to AX=8EEFh in HYPERDKX v4.21-4.30
SeeAlso: AX=8EEDh,AX=8EEFh,AH=EEh

Top
138EEF - INT 13 - HyperDisk v4.01+ - ???
INT 13 - HyperDisk v4.01+ - ???
	AX = 8EEFh
Return: CF set
	AX = CS of HyperDisk resident code
	???
Note:	identical to AX=8EEEh in HYPERDKX v4.21-4.30
SeeAlso: AX=8EEDh,AX=8EEEh,AH=EEh

Top
1392--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 92h
	SI = 4358h
	???
Return: AH = status??? (00h)
	DL = ???
SeeAlso: AH=93h

Top
1393--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 93h
	SI = 4358h
	???
Return: AH = status??? (00h)
	AL = ???
SeeAlso: AH=92h

Top
1394--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 94h
	SI = 4358h
	???
Return: ???

Top
1395--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 95h
	SI = 4358h
	???
Return: AH = status??? (00h)
	DX = ???

Top
1396--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 96h
	SI = 4358h
	AL = ??? (01h)
	BX = ??? (0790h)
	DL = ???
Return: AH = status??? (00h)
	DX = ???

Top
1397--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 97h
	SI = 4358h
	???
Return: ???

Top
1398--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 98h
	SI = 4358h
	???
Return: ???

Top
1399--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 99h
	SI = 4358h
	???
Return: ???

Top
139A--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 9Ah
	SI = 4358h
	???
Return: ???

Top
139B--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 9Bh
	SI = 4358h
	???
Return: ???

Top
139C--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 9Ch
	SI = 4358h
	???
Return: ???
Note:	functions 9Ch and 9Dh are the only ones which are fully reentrant; all
	  other PC-Kwik API calls (INT 13/81h-B0h) return AX=0200h and CF clear
	  if a previous call is still in progress

Top
139D--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = 9Dh
	SI = 4358h
	???
Return: ???

Top
13A0--SI4358 - INT 13 - Super PC-Kwik v3.20+ - GET RESIDENT CODE SEGMENT
INT 13 - Super PC-Kwik v3.20+ - GET RESIDENT CODE SEGMENT
	AH = A0h
	SI = 4358h
Return: AX = segment of resident code
Note:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call (note that PC-Cache v5.5
	  corresponds to PC-Kwik v3.27)
SeeAlso: INT 16/AX=FFA5h/CX=1111h
Index:	PC-Cache|Qualitas Qcache

Top
13A1--SI4358 - INT 13 - Super PC-Kwik v3.20+ - FLUSH CACHE
INT 13 - Super PC-Kwik v3.20+ - FLUSH CACHE
	AH = A1h
	SI = 4358h
Return: CF clear
	AH = 00h (v5.10)
Notes:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call (note that PC-Cache v5.1
	  corresponds to PC-Kwik v3.20)
	this function is one out of several cache flush calls issued by the
	  PTS-DOS 6.51 and S/DOS 1.0 kernel before rebooting.
SeeAlso: INT 16/AX=FFA5h/CX=FFFFh
Index:	PC-Cache|Qualitas Qcache

Top
13A2--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
INT 13 - Super PC-Kwik v3.20+ - ???
	AH = A2h
	SI = 4358h
	???
Return: ???
Note:	PC Tools PC-Cache 5.x and Qualitas Qcache 4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call (note that PC-Cache v5.1
	  corresponds to PC-Kwik v3.20)
Index:	PC-Cache|Qualitas Qcache

Top
13A3--SI4358 - INT 13 U - Super PC-Kwik v5.10+ - DISABLE CACHE
INT 13 U - Super PC-Kwik v5.10+ - DISABLE CACHE
	AH = A3h
	SI = 4358h
Return: CF clear
SeeAlso: AH=A4h

Top
13A4--SI4358 - INT 13 U - Super PC-Kwik v5.10+ - ENABLE CACHE
INT 13 U - Super PC-Kwik v5.10+ - ENABLE CACHE
	AH = A4h
	SI = 4358h
Return: CF clear
SeeAlso: AH=A3h

Top
13A5--SI4358 - INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM TERMINATION NOTIFICATION
INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM TERMINATION NOTIFICATION
	AH = A5h
	SI = 4358h
Return: AX = ???
	SI = ???
Notes:	called and used internally by Super PC-Kwik when a program terminates
	  via INT 21/AH=00h, INT 21/AH=31h, or INT 21/AH=4Ch
	this call is not supported by Qualitas Qcache 4.00
Index:	PC-Cache
SeeAlso: AH=A6h,AH=A9h,INT 21/AH=00h,INT 21/AH=31h,INT 21/AH=4Ch

Top
13A6--SI4358 - INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM LOAD NOTIFICATION
INT 13 CU - Super PC-Kwik v5.10+ - PROGRAM LOAD NOTIFICATION
	AH = A6h
	SI = 4358h
	DS:DX -> ASCIZ program name
	ES:BX -> EXEC data block (see #01590 at INT 21/AH=4Bh)
Return: ???
Note:	called and used internally by Super PC-Kwik when a program is loaded
	  with INT 21/AX=4B00h
SeeAlso: AH=A5h,AH=A9h,INT 21/AH=4Bh

Top
13A7--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - ???
INT 13 CU - Super PC-Kwik 5.1 - ???
	AH = A7h
	SI = 4358h
Return: ???
Note:	called and used internally by Super PC-Kwik on some INT 21 calls
SeeAlso: AH=A5h,AH=A6h,AH=A8h

Top
13A759 - INT 13 U - Novell DOS 7 - SDRes v27.03 - ???
INT 13 U - Novell DOS 7 - SDRes v27.03 - ???
	AX = A759h
Return: AX = 59A7h if installed
	    DX:BX -> ??? data
Program: SDRes is the resident portion of the Search&Destroy antiviral by
	  Fifth Generation Systems, as bundled with Novell DOS 7
SeeAlso: INT 21/AH=0Eh/DL=ADh

Top
13A8--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - ???
INT 13 CU - Super PC-Kwik 5.1 - ???
	AH = A8h
	SI = 4358h
Return: ???
Note:	called and used internally by Super PC-Kwik on some INT 21 calls
SeeAlso: AH=A5h,AH=A6h,AH=A7h

Top
13A9--SI4358 - INT 13 CU - Super PC-Kwik 5.1 - EXITCODE RETRIEVAL NOTIFICATION
INT 13 CU - Super PC-Kwik 5.1 - EXITCODE RETRIEVAL NOTIFICATION
	AH = A9h
	SI = 4358h
Return: ???
Note:	called and used internally by Super PC-Kwik when an application issues
	  INT 21/AH=4Dh
SeeAlso: AH=A5h,AH=A6h,INT 21/AH=4Dh

Top
13AA--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
INT 13 - Super PC-Kwik v4+ - ???
	AH = AAh
	SI = 4358h
	???
Return: ???
Note:	Qualitas Qcache is an OEM version of Super PC-Kwik, and thus supports
	  this call

Top
13AB--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
INT 13 - Super PC-Kwik v4+ - ???
	AH = ABh
	SI = 4358h
	???
Return: ???
Note:	Qualitas Qcache is an OEM version of Super PC-Kwik, and thus supports
	  this call

Top
13AC--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
INT 13 - Super PC-Kwik v4+ - ???
	AH = ACh
	SI = 4358h
	???
Return: ???
Note:	Qualitas Qcache is an OEM version of Super PC-Kwik, and thus supports
	  this call

Top
13AD - INT 13 - Priam HARD DISK CONTROLLER???
INT 13 - Priam HARD DISK CONTROLLER???
	AH = ADh
	???
Return: ???
Note:	this call is made from Priam's EFMT.EXE (low-level formatter), probably
	  to check the ROM type on the controller for their hard disk kits
SeeAlso: AH=70h

Top
13AD--SI4358 - INT 13 - Super PC-Kwik v4+ - ???
INT 13 - Super PC-Kwik v4+ - ???
	AH = ADh
	SI = 4358h
	???
Return: ???
Note:	Qualitas Qcache is an OEM version of Super PC-Kwik, and thus supports
	  this call

Top
13AE--SI4358 - INT 13 - Super PC-Kwik v5.10+ - ???
INT 13 - Super PC-Kwik v5.10+ - ???
	AH = AEh
	SI = 4358h
	???
Return: ???

Top
13B0--SI4358 - INT 13 - Super PC-Kwik v3.20+ - ???
INT 13 - Super PC-Kwik v3.20+ - ???
	AH = B0h
	SI = 4358h
	???
Return: ???
Note:	PC Tools PC-Cache 5.x is an OEM version of Super PC-Kwik, and thus
	  supports this call; Qualitas Qcache does not support it
Index:	PC-Cache

Top
13BF00 - INT 13 - Mylex/Adaptec??? - ???
INT 13 - Mylex/Adaptec??? - ???
	AX = BF00h
	BX = PCI address???
	DI = 0000h ???
	DL = drive number (80h = C:)
Return: ???
Note:	some poorly-commented code using this function notes that there had
	  been a workaround for some Mylex BIOS bug by setting DL to 8Fh

Top
13E000 - INT 13 - XBIOS - COMMAND
INT 13 - XBIOS - COMMAND
	AX = E000h
	CX = 0
	DL = drive number (80h,81h,82h,83h)
	ES:BX = pointer to XBIOS Command Block (see #00297)
Return: CF clear if successful
	    CX = 1234h XBIOS Signature
	CF set on error
Program: XBIOS is a driver in some versions of Disk Manager that is
	  loaded from the disk MBR, replacing the ROM BIOS disk support
	  e.g. adding LBA mode support, and read/write multiple.
SeeAlso: AH=F9h"SWBIOS"

Format of XBIOS Command Block:
Offset	Size	Description	(Table 00297)
 00h	BYTE	function
		0Eh Get XBIOS Configuration Information
		    Return: buffer points to Ontrackr_Ref_Data structure
			(see #00298)
 01h	BYTE	reserved (must be zero before function call)
 02h	DWORD	buffer pointer - Input or output depending on opcode
SeeAlso: #00298,#00299

Format of Ontrackr_Ref_Data structure:
Offset	Size	Description	(Table 00298)
 00h	WORD	Size of structure (33h)
 02h	BYTE	VxD Chain mode
 03h 12 BYTEs	Drive 1: Ontrackr_VxD_Data structure (see #00299)
 0Fh 12 BYTEs	Drive 2: Ontrackr_VxD_Data structure
 1Bh 12 BYTEs	Drive 3: Ontrackr_VxD_Data structure
 27h 12 BYTEs	Drive 4: Ontrackr_VxD_Data structure (see #00299)
SeeAlso: #00297,#00299

Format of Ontrackr_VxD_Data structure:
Offset	Size	Description	(Table 00299)
 00h	BYTE	INT 13h drive number
 01h	DWORD	Delta skew value
 05h	BYTE	Physical  heads (Word 3 of Identify Data)
 06h	BYTE	Physical sectors per track (Word 6 of Identify Data)
 07h	BYTE	Multiple Block Size (Blocking factor)
 08h	BYTE	Read/Write Multiple disable flags
		00001000b	drive supports r/w multiple
		00000100b	do not use read multiple
		00000010b	do not use write multiple
 09h	WORD	Base port address (1F0/170)
 0Bh	BYTE	Hardware interrupt channel (14/15)
SeeAlso: #00298

Top
13EC00 - INT 13 - VIRUS - "Tiso" - INSTALLATION CHECK
INT 13 - VIRUS - "Tiso" - INSTALLATION CHECK
	AX = EC00h
Return: CF clear if installed
SeeAlso: AH=F2h,INT 12/AX=4350h/BX=4920h

Top
13EE - INT 13 - SWBIOS - SET 1024-CYLINDER FLAG
INT 13 - SWBIOS - SET 1024-CYLINDER FLAG
	AH = EEh
	DL = drive number (80h, 81h)
Return: CF clear
	   AH = 00h
Program: SWBIOS is a TSR by Ontrack Computer Systems
Desc:	the following INT 13 call will add 1024 to the specified cylinder
	  number to get the actual cylinder number desired
Notes:	the flag is cleared by all INT 13 calls except AH=EEh and AH=EFh
	Disk Manager also supports these calls
	this function is also supported by HyperDisk v4.01+ and PC-Cache v5.5+,
	  in order to allow caching of drives using SWBIOS to access more than
	  1024 cylinders
	for software which supports that call, this function is equivalent to
	  calling AH=EFh with CX=0400h
SeeAlso: AH=F9h,AH=FEh,INT 16/AX=FFA5h/CX=1111h,INT 2F/AX=DF00h
Index:	PC-Cache;huge disks|Disk Manager

Top
13EF - INT 13 - Ontrack Drive Rocket - SET CYLINDER OFFSET
INT 13 - Ontrack Drive Rocket - SET CYLINDER OFFSET
	AH = EFh
	CX = cylinder offset for next INT 13 call
	DL = drive number (80h, 81h)
Return: CF clear
	    AH = 00h
Program: Drive Rocket is a drive accelerator by Ontrack Computer Systems for
	  IDE drives supporting the read multiple and write multiple commands
Desc:	the following INT 13 call will add the number given by this call to
	  the specified cylinder to get the actual cylinder number, then reset
	  the offset to zero
Note:	this function is also supported by the NOW! disk cache, and presumably
	  newer versions of SWBIOS and Disk Manager
	for software which supports this call, AH=EEh is equivalent to calling
	  this function with CX=0400h
	the cylinder offset is reset to 0 by all INT 13 called except AH=EEh
	  and AH=EFh
SeeAlso: AX=7B00h

Top
13F2 - INT 13 - VIRUS - "Neuroquila" - INSTALLATION CHECK
INT 13 - VIRUS - "Neuroquila" - INSTALLATION CHECK
	AH = F2h
Return: CF ??? if installed
SeeAlso: AX=EC00h,INT 12/AX=4350h/BX=4920h,INT 21/AX=0B56h

Top
13F9 - INT 13 - SWBIOS - INSTALLATION CHECK
INT 13 - SWBIOS - INSTALLATION CHECK
	AH = F9h
	DL = drive number (80h,81h)
Return: CF clear
	    DX = configuration word
		bit 15 set if other SWBIOS extensions available
	CF set on error
Program: SWBIOS is a TSR by Ontrack Computer Systems
	XBIOS is a driver in some versions of Disk Manager that is
	  loaded from the disk MBR, replacing the ROM BIOS disk support
	  eg adding LBA mode support, and read/write multiple.
Note:	Disk Manager also supports these calls
SeeAlso: AH=EEh,AX=E000h"XBIOS",AH=FFh"EZ-Drive"
Index:	Disk Manager

Top
13FA--DX5945 - INT 13 - PC Tools v8+ VSAFE, VWATCH - API
INT 13 - PC Tools v8+ VSAFE, VWATCH - API
	AH = FAh
	DX = 5945h
	AL = function (00h-07h)
Return: varies by function
	if not installed:
	    CF set
		AH = 01h
Note:	this API is identical to the ones on INT 16/AH=FAh and INT 21/AH=FAh,
	  so it is listed in its entirety under INT 16/AX=FA00h and following
SeeAlso: INT 16/AX=FA00h

Top
13FD50 - INT 13 - VIRUS - "Predator" - INSTALLATION CHECK
INT 13 - VIRUS - "Predator" - INSTALLATION CHECK
	AX = FD50h
Return: AX = 50FDh if resident
SeeAlso: AX=5001h"VIRUS",INT 16/AH=DDh"VIRUS"

Top
13FE - INT 13 - SWBIOS - GET EXTENDED CYLINDER COUNT
INT 13 - SWBIOS - GET EXTENDED CYLINDER COUNT
	AH = FEh
	DL = drive number (80h, 81h)
Return: CF clear
	DX = number of cylinders beyond 1024 on drive
Program: SWBIOS is a TSR by Ontrack Computer Systems
Notes:	standard INT 13/AH=08h will return a cylinder count truncated to 1024
	BIOS without this extension would return count modulo 1024
	Disk Manager also supports these calls
SeeAlso: AH=EEh

Top
13FF - INT 13 - EZ-Drive - INSTALLATION CHECK
INT 13 - EZ-Drive - INSTALLATION CHECK
	AH = FFh
	DL = drive number (80h)
Return: CF clear
	    AX = AA55h
	    ES:BX -> string "AERMH13Vxx", where xx is the version number of
		  the EZ-Drive driver
	CF set on error
Program: EZ-Drive is a driver by Micro House that is loaded from the
	  hard disk MBR, replacing the ROM BIOS disk support, eg adding
	  LBA mode support, and read/write multiple.
Note:	this function is called by the Windows95 Master Boot Record
SeeAlso: AX=E000h"XBIOS",AH=F9h"SWBIOS"

Top
13FF - INT 13 - IBM SurePath BIOS - Officially "Private" Function
INT 13 - IBM SurePath BIOS - Officially "Private" Function
	AH = FFh

Top
13FFFFBHAA - INT 13 - UNIQUE UX Turbo Utility - SET TURBO MODE
INT 13 - UNIQUE UX Turbo Utility - SET TURBO MODE
	AX = FFFFh
	BH = AAh
	BL = subfunction
	    00h installation check
		Return: AX = 1234h if installed
	    01h turn on Turbo mode
	    02h turn off Turbo mode
	    03h set Turbo mode according to hardware switch
	    04h set disk access to Turbo mode
	    05h set disk access to Normal mode
Return: nothing
SeeAlso: INT 15/AH=DFh
Index:	installation check;UNIQUE UX Turbo Utility

Top
14 - INT 14 - SERIAL - Digiboard DigiCHANNEL PC/X* Extender INT 14 (XAPCM232.SYS)
INT 14 - SERIAL - Digiboard DigiCHANNEL PC/X* Extender INT 14 (XAPCM232.SYS)
InstallCheck:	determine whether the "~DOSXAM~" character device exists
Index:	installation check;Digiboard DigiCHANNEL

Top
1400 - INT 14 - SERIAL - INITIALIZE PORT
INT 14 - SERIAL - INITIALIZE PORT
	AH = 00h
	AL = port parameters (see #00300)
	DX = port number (00h-03h) (04h-43h for Digiboard XAPCM232.SYS)
Return: AH = line status (see #00304)
	    FFh if error on Digiboard XAPCM232.SYS
	AL = modem status (see #00305)
Notes:	default handler is at F000h:E739h in IBM PC and 100% compatible BIOSes
	since the PCjr supports a maximum of 4800 bps, attempting to set 9600
	  bps will result in 4800 bps
	various network and serial-port drivers support the standard BIOS
	  functions with interrupt-driven I/O instead of the BIOS's polled I/O
	the 1993/04/08 Compaq system ROM uses only the low two bits of DX
	the default setting used by DOS (MS-DOS 6, DR-DOS 7.03, PTS-DOS) when
	  (re-)initializing the serial devices is AL=A3h (2400 bps, no parity,
	  1 stop bit, 8 data bits).
SeeAlso: AH=04h"SERIAL",AH=04h"MultiDOS",AH=05h"SERIAL",AH=57h
SeeAlso: AX=8000h"ARTICOM",AH=81h"COMM-DRV",AH=82h"COURIERS",AH=8Ch
SeeAlso: MEM 0040h:0000h,PORT 03F8h"Serial"

Bitfields for serial port parameters:
Bit(s)	Description	(Table 00300)
 7-5	data rate (110,150,300,600,1200,2400,4800,9600 bps)
 4-3	parity (00 or 10 = none, 01 = odd, 11 = even)
 2	stop bits (set = 2, clear = 1)
 1-0	data bits (00 = 5, 01 = 6, 10 = 7, 11 = 8)
SeeAlso: #00302,#00307,#00308,#00309

Top
1400 - INT 14 - FOSSIL (Fido/Opus/Seadog Standard Interface Level) - INITIALIZE
INT 14 - FOSSIL (Fido/Opus/Seadog Standard Interface Level) - INITIALIZE
	AH = 00h
	AL = initializing parameters
	    7 - 6 - 5	   4 - 3     2	  1 - 0
	    -BAUD RATE-	   PARITY   STOP   WORD
				    BITS  LENGTH
	    000 19200 bd   00 none  0: 1  00: 5
	    001 38400 bd   01 odd   1: 2  01: 6
	    010	  300 bd   11 even	  10: 7
	    011	  600 bd		  11: 8
	    100	 1200 bd
	    101	 2400 bd
	    110	 4800 bd
	    111	 9600 bd (4800 on PCjr)
	DX = port number (0-3 or FFh if only performing non-I/O setup)
Return: AH = RS-232 status code bits (see #00301)
	AL = modem status bits
	    bit 3: always 1
	    bit 7: DCD - carrier detect
SeeAlso: #00300,AH=05h"FOSSIL",AH=81h"COMM-DRV",AH=82h"COURIERS"

Bitfields for FOSSIL RS-232 status:
Bit(s)	Description	(Table 00301)
 0	RDA - input data is available in buffer
 1	OVRN - data has been lost
 5	THRE - room is available in output buffer
 6	TSRE - output buffer empty

Top
1400 - INT 14 - Tandy 2000 - SERIAL - RESET COMM PORT
INT 14 - Tandy 2000 - SERIAL - RESET COMM PORT
	AH = 00h
	AL = RS-232C parameters (see #00302)
	DL = port number
	DH = protocol
	    bit 0: use XON/XOFF on received data
	    bit 1: use XON/XOFF when transmitting
Return: AH = line status (see #00304)
	AL = modem status (see #00305)
Note:	this interrupt is identical to INT 53 on the Tandy 2000
SeeAlso: AH=04h"Tandy 2000",INT 53"Tandy 2000"

Top
1400 - INT 14 - MBBIOS - INITIALIZE PORT
INT 14 - MBBIOS - INITIALIZE PORT
	AH = 00h
	AL = port parameters (see #00302)
	DX = port number
Return: AH = line status (see #00304)
	AL = modem status (see #00305)
Note:	MBBIOS was written by H. Roy Engehausen
SeeAlso: AH=04h"MBBIOS",AH=05h"MBBIOS",AH=09h"MBBIOS"

Bitfields for MBBIOS port parameters:
Bit(s)	Description	(Table 00302)
 7-5	data rate
	(normally 110,150,300,600,1200,2400,4800,9600 bps;
	9600,14400,19200,28800,38400,57600,115200,330400 bps
	if the high-speed option is set)
 4-3	parity (00 or 10 = none, 01 = odd, 11 = even)
 2	stop bits (set = 2, clear = 1)
 1-0	data bits (00 = 5, 01 = 6, 10 = 7, 11 = 8)
SeeAlso: #00300

Top
1400--DXFFFF - INT 14 - Connection Manager - MODIFY DEFAULT CONNECTION PARAMETERS
INT 14 - Connection Manager - MODIFY DEFAULT CONNECTION PARAMETERS
	AH = 00h
	DX = FFFFh
	ES:DI -> vector string specifying new parameters
Return: AH = return code (00h,03h) (see #00303)
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
Note:	if DX is 0-3 on entry, Connection Manager emulates the standard BIOS
	  function, but redirects the port over the network; if DX is any other
	  value, the call is chained
SeeAlso: AH=04h/DX=FFFFh,AH=08h/DX=FFFFh,AH=0Ah/DX=FFFFh

(Table 00303)
Values for Connection Manager return code:
 00h	successful
 01h	no such connection
 02h	invalid connection ID
 03h	invalid subvector found
 04h	communication error (check BH)
 06h	insufficient resources, retry later
 FFh	no data available

Top
1401 - INT 14 - SERIAL - WRITE CHARACTER TO PORT
INT 14 - SERIAL - WRITE CHARACTER TO PORT
	AH = 01h
	AL = character to write
	DX = port number (00h-03h) (04h-43h for Digiboard XAPCM232.SYS)
Return: AH bit 7 clear if successful
	AH bit 7 set on error
	AH bits 6-0 = port status (see #00304)
Notes:	various network and serial-port drivers support the standard BIOS
	  functions with interrupt-driven I/O instead of the BIOS's polled I/O
	the 1993/04/08 Compaq system ROM uses only the low two bits of DX
SeeAlso: AH=02h,AH=0Bh"FOSSIL",AX=8000h"ARTICOM",AH=89h,MEM 0040h:007Ch

Top
1401--DXFFFF - INT 14 - Connection Manager - SEND CHARACTER
INT 14 - Connection Manager - SEND CHARACTER
	AH = 01h
	DX = FFFFh
	BH = character to send
Return: AH = return code (00h-02h,06h) (see #00303)
Notes:	if DX is 0-3 on entry, Connection Manager emulates the standard BIOS
	  function, but redirects the port over the network; if DX is any other
	  value, the call is chained
	this function is provided primarily for compatibility; AH=06h/DX=FFFFh
	  is the preferred function because it provides better performance
SeeAlso: AH=02h/DX=FFFFh,AH=06h/DX=FFFFh,AH=09h/DX=FFFFh

Top
1402 - INT 14 - SERIAL - READ CHARACTER FROM PORT
INT 14 - SERIAL - READ CHARACTER FROM PORT
	AH = 02h
	AL = 00h (ArtiCom)
	DX = port number (00h-03h (04h-43h for Digiboard XAPCM232.SYS))
Return: AH = line status (see #00304)
	AL = received character if AH bit 7 clear
Notes:	will timeout if DSR is not asserted, even if function 03h returns
	  data ready
	various network and serial-port drivers support the standard BIOS
	  functions with interrupt-driven I/O instead of the BIOS's polled I/O
	the 1993/04/08 Compaq system ROM uses only the low two bits of DX
SeeAlso: AH=01h,AH=02h"FOSSIL",AH=84h,AH=FCh

Top
1402 - INT 14 - FOSSIL - RECEIVE CHARACTER WITH WAIT
INT 14 - FOSSIL - RECEIVE CHARACTER WITH WAIT
	AH = 02h
	DX = port number (0-3)
Return: AL = character received
	AH = 00h
SeeAlso: AH=01h,AH=02h"SERIAL"

Top
1402--DXFFFF - INT 14 - Connection Manager - RECEIVE CHARACTER
INT 14 - Connection Manager - RECEIVE CHARACTER
	AH = 02h
	DX = FFFFh
	BH = character to send
Return: AH = return code (00h-02h,04h,FFh) (see #00303)
	BH = line status (see #00304)
	AL = received character (if any)
Notes:	if DX is 0-3 on entry, Connection Manager emulates the standard BIOS
	  function, but redirects the port over the network; if DX is any other
	  value, the call is chained
	this function is provided primarily for compatibility; AH=07h/DX=FFFFh
	  is the preferred function because it provides better performance
SeeAlso: AH=02h/DX=FFFFh,AH=03h/DX=FFFFh,AH=06h/DX=FFFFh

Top
1403 - INT 14 - SERIAL - GET PORT STATUS
INT 14 - SERIAL - GET PORT STATUS
	AH = 03h
	AL = 00h (ArtiCom)
	DX = port number (00h-03h) (04h-43h for Digiboard XAPCM232.SYS)
Return: AH = line status (see #00304)
	AL = modem status (see #00305)
	AX = 9E00h if disconnected (ArtiCom)
Note:	the 1993/04/08 Compaq system ROM uses only the low two bits of DX
SeeAlso: AH=00h,AH=07h"MultiDOS",AX=8000h"ARTICOM",AH=81h"COURIERS",AX=FD02h

Bitfields for serial line status:
Bit(s)	Description	(Table 00304)
 7	timeout
 6	transmit shift register empty
 5	transmit holding register empty
 4	break detected
 3	framing error
 2	parity error
 1	overrun error
 0	receive data ready
Note:	for COMM-DRV, if bit 7 is set, an error occurred, and may be retrieved
	  through a separate call (see AX=8000h"COMM-DRV")

Bitfields for modem status:
Bit(s)	Description	(Table 00305)
 7	carrier detect
 6	ring indicator
 5	data set ready
 4	clear to send
 3	delta carrier detect
 2	trailing edge of ring indicator
 1	delta data set ready
 0	delta clear to send

Top
1403--DXFFFF - INT 14 - Connection Manager - RETURN COMMUNICATION PORT STATUS
INT 14 - Connection Manager - RETURN COMMUNICATION PORT STATUS
	AH = 03h
	DX = FFFFh
	AL = connection ID
Return: AH = return code (00h-02h) (see #00303)
	BH = line status (see #00306)
	BL = modem status (see #00305) (only bits 4,5,7; all others zero)
Notes:	if DX is 0-3 on entry, Connection Manager emulates the standard BIOS
	  function, but redirects the port over the network; if DX is any other
	  value, the call is chained
SeeAlso: AH=00h/DX=FFFFh,AH=04h/DX=FFFFh,AH=0Ah/DX=FFFFh

Bitfields for Connection Manager line status:
Bit(s)	Description	(Table 00306)
 7	CTS changed
 6	current CTS state
 5	timeout
 4	break
 3	framing error
 2	parity error
 1	overrun
 0	current carrier state (0 active, 1 no carrier)

Top
1404 - INT 14 - SERIAL - EXTENDED INITIALIZE (CONVERTIBLE,PS)
INT 14 - SERIAL - EXTENDED INITIALIZE (CONVERTIBLE,PS)
	AH = 04h
	AL = break status
	    00h if break
	    01h if no break
	BH = parity (see #00307)
	BL = number of stop bits
	    00h one stop bit
	    01h two stop bits (1.5 if 5 bit word length)
	CH = word length (see #00308)
	CL = bps rate (see #00309)
	DX = port number
Return: AX = port status code (see #00304,#00305)
SeeAlso: AH=00h,AH=1Eh,AX=8000h"ARTICOM"

(Table 00307)
Values for serial port parity:
 00h	no parity
 01h	odd parity
 02h	even parity
 03h	stick parity odd
 04h	stick parity even
SeeAlso: #00300,#00308,#00309,#00310

(Table 00308)
Values for serial port word length:
 00h	5 bits
 01h	6 bits
 02h	7 bits
 03h	8 bits
SeeAlso: #00300,#00307,#00309,#00345

(Table 00309)
Values for serial port bps rate:
 00h	110 (19200 if ComShare installed)
 01h	150 (38400 if ComShare installed)
 02h	300
 03h	600 (14400 if ComShare installed)
 04h	1200
 05h	2400
 06h	4800 (28800 if ComShare installed)
 07h	9600
 08h	19200
---ComShare---
 09h	38400
 0Ah	57600
 0Bh	115200
SeeAlso: #00300,#00307,#00309,#00346,#00353,AH=36h,#00364,#00606,#02923

Top
1404 - INT 14 - Tandy 2000 - SERIAL - FLUSH COMM BUFFER
INT 14 - Tandy 2000 - SERIAL - FLUSH COMM BUFFER
	AH = 04h
	DL = port number
	DH = protocol
	    bit 0: use XON/XOFF on received data
	    bit 1: use XON/XOFF when transmitting
Return: nothing
Desc:	clears the serial interface buffer
Note:	this interrupt is identical to INT 53 on the Tandy 2000
SeeAlso: AH=00h"Tandy 2000",INT 53"Tandy 2000"

Top
1404 - INT 14 - FOSSIL - INITIALIZE DRIVER
INT 14 - FOSSIL - INITIALIZE DRIVER
	AH = 04h
	DX = port number
	optionally BX=4F50h
		   ES:CX -> byte to be set upon ^C
Return: AX = 1954h (if successful)
	BL = maximum function number supported (excluding 7Eh and above)
	BH = revision of FOSSIL specification supported
	DTR is raised
Note:	the word at offset 6 in the interrupt handler contains 1954h, and the
	  following byte contains the maximum function number supported; this
	  can serve as an installation check
SeeAlso: AH=05h"FOSSIL",AH=1Ch,INT 11/AH=BCh
Index:	installation check;FOSSIL

Top
1404 - INT 14 - MultiDOS Plus IODRV - INITIALIZE PORT
INT 14 - MultiDOS Plus IODRV - INITIALIZE PORT
	AH = 04h
Return: port initialized; if Hayes-compatible modem, a connection has been
	  established
Note:	the port number is stored at offset BEh in the Task Control Block
	  (see #00456 at INT 15/AH=13h"MultiDOS")
SeeAlso: AH=00h,AH=05h"MultiDOS",AH=20h"MultiDOS",INT 15/AH=13h"MultiDOS"

Top
1404 - INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE BAUD RATE
INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE BAUD RATE
	AH = 04h
	AL = initializing parameters (see #00310)
	BX = baud rate
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    FFh error
SeeAlso: AH=05h"Digiboard"

Bitfields for Digiboard initializing parameters:
Bit(s)	Description	(Table 00310)
 7-5	unused
 4-3	parity (00 none, 01 odd, 11 even)
 2	stop bits (0 = one, 1 = two)
 1-0	data bits (00 = five, 01 = six, 10 = seven, 11 = eight)
SeeAlso: #00307,#00308

Top
1404 - INT 14 - MBBIOS - INSTALLATION CHECK
INT 14 - MBBIOS - INSTALLATION CHECK
	AH = 04h
	DX = port number
Return: AX = AA55h if installed on specified port
SeeAlso: AH=00h"MBBIOS",AH=09h"MBBIOS"

Top
1404--DXFFFF - INT 14 - Connection Manager - OPEN COMMUNICATION
INT 14 - Connection Manager - OPEN COMMUNICATION
	AH = 04h
	DX = FFFFh
	ES:DI -> Connection Request protocol vector (see #00311)
Return: AH = return code
	    00h successful
		AL = connection ID
		BH = connection type
		    00h direct connection or no dialing
		    01h Connection Server dialed phone
	    01h no response from Connection Server
	    03h invalid request
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
Desc:	initiate a connection to the Connection Server listed in the current
	  Client parameter set
Notes:	if DX is 0-3 on entry, Connection Manager emulates the standard BIOS
	  function, but redirects the port over the network; if DX is any other
	  value, the call is chained
	all subvectors of the Connection Request vector are optional; if
	  missing, default values are provided by the default connection
	  parameter set
SeeAlso: AH=00h/DX=FFFFh,AH=05h/DX=FFFFh,AH=06h/DX=FFFFh,AH=07h/DX=FFFFh
SeeAlso: AH=0Ah/DX=FFFFh,AH=0Ch/DX=FFFFh

Format of Connection Manager protocol command vector:
Offset	Size	Description	(Table 00311)
 00h	WORD	(big-endian) total length of command (including this word)
 02h	WORD	(big-endian) command code
		EF01h Connection Request
		EF06h Modify Connection Parameters
 04h  N BYTEs	list of subvectors (see #00313)
		allowable subvector types are 01h-04h,17h,18h for command code
		  EF01h; 03h,04h for command code EF06h (see #00312)

(Table 00312)
Values for Connection Manager subvector type code:
 01h	Connection ID
 02h	Destination ID
 03h	Asynchronous line parameters
 04h	Data transfer parameters
 09h	Line speed
 0Ah	Serial coding
 0Bh	Packet size
 0Ch	Timers
 0Dh	Special characters
 0Eh	Target ID
 0Fh	Telephone number
 10h	ASCII destination ID
 11h	Parity
 12h	Bits per character
 13h	Number of stop bits
 14h	Packet timer
 15h	Intercharacter timer
 17h	Flags
 18h	Parameter ranges
 19h	Flow control

Format of Connection Manager subvector:
Offset	Size	Description	(Table 00313)
 00h	BYTE	length of subvector
 01h	BYTE	type code (see #00312)
 02h N-2 BYTEs	data, which may include subvectors
SeeAlso: #00314,#00315,#00316,#00317,#00318,#00319,#00320,#00321,#00322,#00323,#00324
SeeAlso: #00325,#00326,#00328,#00329,#00330,#00331,#00332,#00333,#00311

Format of Connection ID subvector:
Offset	Size	Description	(Table 00314)
 00h	BYTE	03h (length)
 01h	BYTE	01h (subvector "Connection ID")
 02h	BYTE	connection ID
SeeAlso: #00313

Format of Destination ID subvector:
Offset	Size	Description	(Table 00315)
 00h	BYTE	length
 01h	BYTE	02h (subvector "Destination ID")
 02h  N BYTEs	subvector(s) of type 0Eh, 0Fh, or 10h
SeeAlso: #00313

Format of Asynchronous line parameters subvector:
Offset	Size	Description	(Table 00316)
 00h	BYTE	length
 01h	BYTE	03h (subvector "Asynchronous line parameters")
 02h  N BYTEs	subvector(s) of type 09h, 0Ah, or 19h
SeeAlso: #00313

Format of Data transfer parameters subvector:
Offset	Size	Description	(Table 00317)
 00h	BYTE	length
 01h	BYTE	04h (subvector "Data transfer parameters")
 02h  N BYTEs	subvector(s) of type 0Bh, 0Ch, or 0Dh
SeeAlso: #00313

Format of Line speed subvector:
Offset	Size	Description	(Table 00318)
 00h	BYTE	04h (length)
 01h	BYTE	09h (subvector "Line speed")
 02h	WORD	bit map, highest set bit selects speed
		bit 0: 2400
		bits 1-7: 1800, 1200, 600, 300, 115200, 150, 110 bps
		bits 8-15: 57600, 38400, 19200, 14400, 9600, 7200, 4800, 3600
SeeAlso: #00313

Format of Serial coding subvector:
Offset	Size	Description	(Table 00319)
 00h	BYTE	length
 01h	BYTE	0Ah (subvector "Serial coding")
 02h  N BYTEs	subvector(s) of type 11h, 12h, or 13h
SeeAlso: #00313

Format of Packet size subvector:
Offset	Size	Description	(Table 00320)
 00h	BYTE	04h (length)
 01h	BYTE	0Bh (subvector "Packet size")
 02h	WORD	(big-endian) packet size, 1 to 1024
SeeAlso: #00313

Format of Timers subvector:
Offset	Size	Description	(Table 00321)
 00h	BYTE	length
 01h	BYTE	0Ch (subvector "Timers")
 02h  8 BYTEs	subvector of type 14h or 15h
SeeAlso: #00313

Format of Special characters subvector:
Offset	Size	Description	(Table 00322)
 00h	BYTE	length
 01h	BYTE	0Dh (subvector "Special characters")
 02h  N BYTEs	list of ASCII characters to be used as EOM or EOB
SeeAlso: #00313

Format of Target ID:
Offset	Size	Description	(Table 00323)
 00h	BYTE	length
 01h	BYTE	0Eh (subvector "Target ID")
 02h  N BYTEs	target ID, 1-16 bytes
SeeAlso: #00313

Format of Telephone number subvector:
Offset	Size	Description	(Table 00324)
 00h	BYTE	length
 01h	BYTE	0Fh (subvector "Telephone number")
 02h  N BYTEs	telephone number
SeeAlso: #00313

Format of ASCII destination ID subvector:
Offset	Size	Description	(Table 00325)
 00h	BYTE	length
 01h	BYTE	10h (subvector "ASCII destination ID")
 02h  N BYTEs	destination ID
SeeAlso: #00313

Format of Parity subvector:
Offset	Size	Description	(Table 00326)
 00h	BYTE	03h (length)
 01h	BYTE	11h (subvector "Parity")
 02h	BYTE	parity type (see #00327)
SeeAlso: #00313

Bitfields for Connection Manager parity type:
Bit(s)	Description	(Table 00327)
 7	odd
 6	even
 5	mark
 4	space
 3	none
SeeAlso: #00326

Format of Bits per character subvector:
Offset	Size	Description	(Table 00328)
 00h	BYTE	03h (length)
 01h	BYTE	12h (subvector "Bits per character")
 02h	BYTE	bits per character
		bit 7: seven
		bit 6: eight
SeeAlso: #00313

Format of Number of stop bits subvector:
Offset	Size	Description	(Table 00329)
 00h	BYTE	03h (length)
 01h	BYTE	13h (subvector "Number of stop bits")
 02h	BYTE	stop bits
		bit 7: one
		bit 6: 1.5
		bit 5: two
SeeAlso: #00313

Format of Packet timer and Intercharacter timer subvectors:
Offset	Size	Description	(Table 00330)
 00h	BYTE	04h (length)
 01h	BYTE	subvector type
		14h Packet timer
		15h Intercharacter timer
 02h	WORD	(big-endian) unit of value representing 20ms
SeeAlso: #00313

Format of Flags subvector:
Offset	Size	Description	(Table 00331)
 00h	BYTE	03h (length)
 01h	BYTE	17h (subvector "Flags")
 02h	BYTE	flags
		bit 7: queueing requested
SeeAlso: #00313

Format of Parameter ranges subvector:
Offset	Size	Description	(Table 00332)
 00h	BYTE	length
 01h	BYTE	18h (subvector "Parameter ranges")
 02h  N BYTEs	subvector(s) of type 09h, 11h, 12h, or 13h
SeeAlso: #00313

Format of Flow control subvector:
Offset	Size	Description	(Table 00333)
 00h	BYTE	length (02h-04h)
 01h	BYTE	19h (subvector "Flow control")
 02h	BYTE	XOFF character
 03h	BYTE	XON character
Note:	if length is 02h, flow control is disabled; if length is 03h, any
	  character will be accepted as XON after an XOFF
SeeAlso: #00313

Top
140400 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INSTALLATION CHECK
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INSTALLATION CHECK
	AX = 0400h
Return: AX = 0FF0h
SeeAlso: AX=0401h,AX=0408h

Top
140401 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INITIALIZE MODE
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - INITIALIZE MODE
	AX = 0401h
	CX = mode
Return: nothing
SeeAlso: AX=0400h,AX=0402h

Top
140402 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - EXTENDED INITIALIZE
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - EXTENDED INITIALIZE
	AX = 0402h
	CL = parameters
Return: nothing
SeeAlso: AX=0400h,AX=0401h

Top
140403 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - SET TIMEOUT
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - SET TIMEOUT
	AX = 0403h
	CX = timeout
Return: nothing
SeeAlso: AX=0400h

Top
140404 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE RECEIVE BUFFER
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE RECEIVE BUFFER
	AX = 0404h
Return: nothing
SeeAlso: AX=0400h,AX=0405h,AX=0406h

Top
140405 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET RECEIVE BUFFER COUNT
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET RECEIVE BUFFER COUNT
	AX = 0405h
Return: AX = number of characters in buffer
SeeAlso: AX=0400h,AX=0404h,AX=0407h

Top
140406 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE TRANSMIT BUFFER
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - CLEAR THE TRANSMIT BUFFER
	AX = 0406h
Return: nothing
SeeAlso: AX=0400h,AX=0404h,AX=0407h

Top
140407 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET TRANSMIT BUFFER COUNT
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - GET TRANSMIT BUFFER COUNT
	AX = 0407h
Return: AX = number of characters in the buffer
SeeAlso: AX=0400h,AX=0405h,AX=0406h

Top
140408 - INT 14 - Microsoft Systems Journal TSRCOMM INT14 - UNINSTALL
INT 14 - Microsoft Systems Journal TSRCOMM INT14 - UNINSTALL
	AX = 0408h
Return: nothing
SeeAlso: AX=0400h

Top
1405 - INT 14 - SERIAL - EXTENDED COMMUNICATION PORT CONTROL (CONVERTIBLE,PS)
INT 14 - SERIAL - EXTENDED COMMUNICATION PORT CONTROL (CONVERTIBLE,PS)
	AH = 05h
	AL = function
	    00h read modem control register
	      Return: BL = modem control register (see #00334)
		      AH = status
	    01h write modem control register
	      BL = modem control register (see #00334)
	      Return: AX = status
	DX = port number
Note:	also supported by ArtiCom
SeeAlso: AH=00h,AH=1Fh,AX=8000h"ARTICOM",AH=FBh

Bitfields for modem control register:
Bit(s)	Description	(Table 00334)
 0	data terminal ready
 1	request to send
 2	OUT1
 3	OUT2
 4	LOOP
 5-7	reserved

Top
1405 - INT 14 - FOSSIL - DEINITIALIZE DRIVER
INT 14 - FOSSIL - DEINITIALIZE DRIVER
	AH = 05h
	DX = port number
Return: none
	DTR is not affected
SeeAlso: AH=00h,AH=04h"FOSSIL",AH=1Dh,AH=8Dh

Top
1405 - INT 14 - MultiDOS Plus IODRV - READ CHARACTER FROM PORT
INT 14 - MultiDOS Plus IODRV - READ CHARACTER FROM PORT
	AH = 05h
	AL = timeout in seconds (00h = never)
Return: AL = status
	    00h successful
		AH = character read
	    01h read error
	    02h timed out
	    other modem status (CTS, DSR) changed
Note:	the port number is stored at offset BEh in the Task Control Block
SeeAlso: AH=02h,AH=04h"MultiDOS",AH=06h"MultiDOS",AH=22h"MultiDOS"
SeeAlso: INT 15/AH=13h"MultiDOS"

Top
1405 - INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE PROTOCOL
INT 14 - Digiboard DigiCHANNEL PC/X* - CHANGE PROTOCOL
	AH = 05h
	AL = protocol (see #00335)
	BH = new XOFF character (00h = current)
	BL = new XON character (00h = current)
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    FFh error
SeeAlso: AH=04h"Digiboard"

Bitfields for Digiboard protocol:
Bit(s)	Description	(Table 00335)
 7-4	unused
 3	RTS/CTS
 2	DSR
 1,0	XON/XOFF

Top
1405 - INT 14 - MBBIOS - DROP DTR AND RTS
INT 14 - MBBIOS - DROP DTR AND RTS
	AH = 05h
	DX = port number
Return: none
SeeAlso: AH=00h"MBBIOS",AH=06h"MBBIOS",AH=06h"FOSSIL"

Top
1405 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHANGE PORT PROTOCOL
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHANGE PORT PROTOCOL
	AH = 05h
	AL = new port protocol (see #00336)
	BH = new XOFF character
	BL = new XON character
	DX = port number
Return: AH = FFh if invalid protocol
SeeAlso: AH=00h,AH=04h"SERIAL",AH=06h"PC-MOS"

Bitfields for PC-MOS/386 serial port protocol:
Bit(s)	Description	(Table 00336)
 7	set to enable/disable CD monitoring, clear to set protocol
---bit 7 set---
 4	CD monitoring enabled
 5	automatic restart enabled
---bit 7 clear---
 0	receive XON/XOFF
 1	transmit XON/XOFF
 2	DTR/DSR
 3	RTS/CTS

Top
1405 - INT 14 - PhysTechSoft PTS ROM-DOS - SET PACKET
INT 14 - PhysTechSoft PTS ROM-DOS - SET PACKET
	AH = 05h
	CX = packet length
	DX = port number
	DS:SI -> packet
Return: AH = error code (0 = no error, -1 = error)
Notes:	The embedded PC can send messages at any time. The managing PC may
	  force the embedded PC to receive messages only after causing a reset
	  on the remote embedded PC.
    !!!from Matthias Paul:
    Description of the high-level control packets:
	After the reset the embedded PC will send a 4-byte packet "LOAD"
	  to the managing PC to indicate it is now able to receive commands.
	The managing PC can send commands using 6-byte sized packets starting
	  with "COMM" followed by a 2-byte command code:
	    "01" demand setup information
	    "02" demand sending of diagnostic information
	If diagnostic information is requested, the embedded PC will send back
	  a header packet starting with 4-byte "DIAG" followed by 2 bytes
	  indicating the count of diagnostic data packets following. Each
	  diagnostic data packet is sized 134 bytes, starting with the 4-byte
	  "DIAG", a 2-byte number packet, followed by 128 bytes of data.
	If setup information is requested, the embedded PC will send back
	  8 bytes length packets starting with "SETP" and 2 byte of setup
	  information of the LOADER and BIOS. The contents varies.
	If the embedded PC requests the managing PC to send a BIOS it will
	  send a 4 byte packet "BIOS".
	The managing PC will then send back a 6-byte sized BIOS header packet
	  starting with "BIOS" and a 2-byte indicator of the BIOS image size
	  in packets.
	The embedded PC will answer by sending a 6 byte packet starting with
	  "BIOS" followed by the running number of the demanded packet.
	The managing PC will then send the requested part of the BIOS image
	  in a 134 byte sized packet, starting with "BIOS", the 2 byte running
	  number of the packet and 128 bytes of the actual BIOS info.
	The embedded PC acknowledges that it received the BIOS with a 6-byte
	  packet "BIOS", followed by 2-bytes of 0.
	If the embedded PCs requests the managing PC to send the operating
	  system, it will follow the same proceduce as for requesting the
	  BIOS. The only difference is that instead of "BIOS", the string
	  "PTOS" will be used in the communication.
	Debug information packets have a length of 32 bytes starting with
	  the 4-byte "DEBU" signature, and followed by the contents of the
	  PCU registers in the following order: SP, SS, ES, DS, BP, DI, SI,
	  DX, CX, BX, AX, IP, CS, Flags. Debug information is send after
	  reaching the corresponding breakpoint.
     Description of the low-level packet protocol:
	Before sending a packet the sending side sends a byte 52h and for a
	  certain time (ca. 1 second for the embedded PC) waits for
	  confirmation (41h) from the receiving side. If no acknowledge is
	  received this	procedure is repeated 4 more times before an error is
	  returned.
	If acknowledge was received the following information is sent:
	 2 BYTEs  synchronization (50h, 50h)
	   BYTE	  data packet size - 1
	 2 BYTEs  CRC of the data
	 var.	  data
	 2 BYTEs  synchronization (F0h, F0h)
	The receiving side must acknowledge this by sending back two bytes
	  59h, 59h. If the sender does not receive the confirmation, it
	  tries 4 more times before returning an error.
SeeAlso: INT 14h/AH=06h, INT 15h/AX=E908h, INT 15h/E909h

Top
1405--DXFFFF - INT 14 - Connection Manager - CLOSE COMMUNICATION
INT 14 - Connection Manager - CLOSE COMMUNICATION
	AH = 05h
	DX = FFFFh
	AL = connection ID
Return: AH = return code
	    00h successful
	    01h no such connection
	    02h invalid connection ID
		AL = correct connection ID
Desc:	terminate existing connection to allow another one to be established
Note:	if DX is 0-3 on entry, Connection Manager emulates the standard BIOS
	  function, but redirects the port over the network; if DX is any other
	  value, the call is chained
SeeAlso: AH=04h/DX=FFFFh,AH=0Dh/DX=FFFFh

Top
1406 - INT 14 - FOSSIL - RAISE/LOWER DTR
INT 14 - FOSSIL - RAISE/LOWER DTR
	AH = 06h
	DX = port
	AL = DTR state to be set
	    00h = lower
	    01h = raise
Return: nothing
SeeAlso: AH=05h"MBBIOS",AH=1Ah

Top
1406 - INT 14 - MultiDOS Plus IODRV - WRITE CHARACTER TO PORT
INT 14 - MultiDOS Plus IODRV - WRITE CHARACTER TO PORT
	AH = 06h
	AL = character
Return: AL = status
	    00h successful
Notes:	the port number is stored at offset BEh in the Task Control Block
	if output queue is full, the calling task is blocked until the
	  character can be stored
SeeAlso: AH=01h,AH=04h"MultiDOS",AH=05h"MultiDOS",AH=21h"MultiDOS"
SeeAlso: INT 15/AH=13h"MultiDOS"

Top
1406 - INT 14 - MBBIOS - RAISE DTR AND RTS
INT 14 - MBBIOS - RAISE DTR AND RTS
	AH = 06h
	DX = port number
Return: none
SeeAlso: AH=05h"MBBIOS",AH=07h"MBBIOS"

Top
1406 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DRIVER 'ID' FUNCTION
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DRIVER 'ID' FUNCTION
	AH = 06h
	DX = port number
Return: AH bit 7 set
	AL = number of highest function supported by driver
Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
	  operating system by The Software Link, Inc.
SeeAlso: AH=18h"PC-MOS"

Top
1406 - INT 14 - TelAPI - WRITE BLOCK
INT 14 - TelAPI - WRITE BLOCK
	AH = 06h
	CX = number of characters to write
	DX = port number
	ES:DI -> buffer containing data
Return: AX = number of characters actually sent (negative on error)
	CX = ???
SeeAlso: AH=07h"TelAPI",AH=E0h"TelAPI",AH=E3h"TelAPI"

Top
1406 - INT 14 - PhysTechSoft PTS ROM-DOS - GET PACKET
INT 14 - PhysTechSoft PTS ROM-DOS - GET PACKET
	AH = 06h
	CX = buffer size for packet
	DX = port number
	DS:SI -> buffer for packet
Return: AH = error code (00h = no error, FFh = error)
	CX = packet size
SeeAlso: AH=05h"PTS ROM-DOS",INT 15/AX=E908h,INT 15/AX=E909h

Top
1406--DXFFFF - INT 14 - Connection Manager - SEND CHARACTER BLOCK
INT 14 - Connection Manager - SEND CHARACTER BLOCK
	AH = 06h
	DX = FFFFh
	AL = connection ID
	CX = number of characters to send
	ES:DI -> buffer containing data to be sent
Return: AH = return code (see #00303)
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=04h/DX=FFFFh,AH=07h/DX=FFFFh,AH=09h/DX=FFFFh

Top
1407 - INT 14 - FOSSIL - RETURN TIMER TICK PARAMETERS
INT 14 - FOSSIL - RETURN TIMER TICK PARAMETERS
	AH = 07h
Return: AL = timer tick interrupt number
	AH = ticks per second on interrupt number in AL
	DX = approximate number of milliseconds per tick
SeeAlso: AH=16h

Top
1407 - INT 14 - MultiDOS Plus IODRV - GET PORT STATUS
INT 14 - MultiDOS Plus IODRV - GET PORT STATUS
	AH = 07h
Return: CL = modem status (see #00305)
	CH = character at head of input queue (if any)
	DX = number of characters in input queue
Note:	the port number is stored at offset BEh in the Task Control Block
SeeAlso: AH=03h,AH=05h"MultiDOS",AH=08h"MultiDOS",AH=09h"MultiDOS"
SeeAlso: AH=23h"MultiDOS",INT 15/AH=13h"MultiDOS"

Top
1407 - INT 14 - MBBIOS - SEND BREAK
INT 14 - MBBIOS - SEND BREAK
	AH = 07h
	DX = port number
Return: none
SeeAlso: AH=06h"MBBIOS",AH=FAh"EBIOS"

Top
1407 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SEND RS-232 BREAK
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SEND RS-232 BREAK
	AH = 07h
	BX = duration of break in clock ticks
	DX = port number
Return: nothing

Top
1407 - INT 14 - TelAPI - READ BLOCK
INT 14 - TelAPI - READ BLOCK
	AH = 07h
	CX = length of buffer in bytes
	DX = port number
	ES:DI -> buffer for data
Return: AX > 0000h number of characters actually read
	AX = 0000h host has closed connection
	AX < 0000h error code (see #00397)
	CX = ???
Note:	translates CRLF into local EOL if the connection is in ASCII mode,
	  negotiates various Telnet options, and immediately executes several
	  different Telnet action commands
SeeAlso: AH=06h"TelAPI",AH=E0h"TelAPI",AH=E2h"TelAPI"

Top
1407--DXFFFF - INT 14 - Connection Manager - RECEIVE CHARACTER BLOCK
INT 14 - Connection Manager - RECEIVE CHARACTER BLOCK
	AH = 07h
	DX = FFFFh
	AL = connection ID
	BL = flag
	    00h wait for data
	    nonzero do not wait if no data avaiable
	CX = size of receive buffer
	ES:DI -> buffer for received characters
Return: AH = return code (00h-02h,04h,FFh) (see #00303)
	BH = line status (see #00306)
	CX = number of characters received
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=01h/DX=FFFFh,AH=04h/DX=FFFFh,AH=06h/DX=FFFFh

Top
1408 - INT 14 - FOSSIL - FLUSH OUTPUT BUFFER WAITING TILL ALL OUTPUT IS DONE
INT 14 - FOSSIL - FLUSH OUTPUT BUFFER WAITING TILL ALL OUTPUT IS DONE
	AH = 08h
	DX = port number
Return: nothing
SeeAlso: AH=09h"FOSSIL"

Top
1408 - INT 14 - MultiDOS Plus 4.0 IODRV - GET AND RESET PORT LINE STATUS
INT 14 - MultiDOS Plus 4.0 IODRV - GET AND RESET PORT LINE STATUS
	AH = 08h
Return: AL = line status (see #00304)
	AH destroyed
Notes:	the port number is stored at offset BEh in the Task Control Block
	on every line status change, the line status is ORed with the line
	  status accumulator; this function returns the accumulator and clears
	  it
SeeAlso: AH=03h,AH=04h"MultiDOS",AH=07h"MultiDOS",INT 15/AH=13h"MultiDOS"

Top
1408 - INT 14 - Digiboard DigiCHANNEL PC/X* - ALTERNATE STATUS CHECK
INT 14 - Digiboard DigiCHANNEL PC/X* - ALTERNATE STATUS CHECK
	AH = 08h
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = RS232 status bits (see #00304 at AH=03h)
	ZF set if no characters queued
	ZF clear if character available
	    AL = next character
SeeAlso: AH=03h,AH=08h"PC-MOS",AH=09h"Digiboard",AH=14h"Digiboard"

Top
1408 - INT 14 - MBBIOS - NON-DESTRUCTIVE READ
INT 14 - MBBIOS - NON-DESTRUCTIVE READ
	AH = 08h
	DX = port number
Return: AL = character (if AH bit 0 set)
	AH = status (see #00304)
SeeAlso: AH=0Bh"MBBIOS",AH=0Ch"FOSSIL"

Top
1408 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STATUS CHECK
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STATUS CHECK
	AH = 08h
	DX = port number
Return: CF set if carrier loss detected
	ZF set if input buffer empty
	ZF clear if characters available
	    AL = next character dequeued

Top
1408--DXFFFF - INT 14 - Connection Manager - RETURN DEFAULT CONNECTION PARAMETERS
INT 14 - Connection Manager - RETURN DEFAULT CONNECTION PARAMETERS
	AH = 08h
	DX = FFFFh
	CX = size of buffer for parameters or 0000h to get length
	ES:DI -> buffer for parameter vector (see #00311)
Return: AH = return code
	    00h successful
		CX = number of bytes required (if CX=0000h on entry)
		CX = number of bytes omitted for lack of space (if CX nonzero)
	    nonzero invalid request
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=00h/DX=FFFFh,AH=0Fh/DX=FFFFh

Top
1409 - INT 14 - FOSSIL - PURGE OUTPUT BUFFER THROWING AWAY ALL PENDING OUTPUT
INT 14 - FOSSIL - PURGE OUTPUT BUFFER THROWING AWAY ALL PENDING OUTPUT
	AH = 09h
	DX = port number
Return: nothing
SeeAlso: AH=08h"FOSSIL",AH=0Ah"FOSSIL",AH=88h

Top
1409 - INT 14 - MultiDOS Plus IODRV - RESET PORT STATUS
INT 14 - MultiDOS Plus IODRV - RESET PORT STATUS
	AH = 09h
Return: modem status byte cleared
Note:	the port number is stored at offset BEh in the Task Control Block
SeeAlso: AH=04h"MultiDOS",AH=07h"MultiDOS",INT 15/AH=13h"MultiDOS"

Top
1409 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR BUFFERS
INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR BUFFERS
	AH = 09h
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    FFh error
SeeAlso: AH=08h"Digiboard",AH=0Ah"Digiboard",AH=10h"Digiboard"

Top
1409 - INT 14 - MBBIOS - GET/SET OPTIONS
INT 14 - MBBIOS - GET/SET OPTIONS
	AH = 09h
	AL = option byte (see #00337)
	DX = port number???
Return: AL = old option byte
SeeAlso: AH=00h"MBBIOS",AH=04h"MBBIOS",AH=10h"FOSSIL"

Bitfields for MBBIOS option byte:
Bit(s)	Description	(Table 00337)
 0	transmit buffering enabled
 2	hardware handshaking enabled
 5	high-speed option enabled (see AH=00h"MBBIOS",#00302)
 other	reserved

Top
1409 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RESET I/O BUFFER POINTERS
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RESET I/O BUFFER POINTERS
	AH = 09h
	DX = port number
Return: nothing
SeeAlso: AH=13h"PC-MOS"

Top
1409--DXFFFF - INT 14 - Connection Manager - SEND BREAK
INT 14 - Connection Manager - SEND BREAK
	AH = 09h
	DX = FFFFh
	AL = connection ID
Return: AH = return code (00h-02h) (see #00303 at AH=00h/DX=FFFFh)
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=02h/DX=FFFFh,AH=03h/DX=FFFFh

Top
140A - INT 14 - FOSSIL - PURGE INPUT BUFFER THROWING AWAY ALL PENDING INPUT
INT 14 - FOSSIL - PURGE INPUT BUFFER THROWING AWAY ALL PENDING INPUT
	AH = 0Ah
	DX = port number
Return: nothing
SeeAlso: AH=09h"FOSSIL",AH=85h

Top
140A - INT 14 - Digiboard DigiCHANNEL PC/X* - INPUT QUEUE CHECK
INT 14 - Digiboard DigiCHANNEL PC/X* - INPUT QUEUE CHECK
	AH = 0Ah
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AX = number of characters available in buffer
Note:	this function is also supported by the PC-MOS/386 v5.01 $serial.sys
SeeAlso: AH=09h"Digiboard",AH=0Dh"Digiboard"

Top
140A - INT 14 - MBBIOS - WRITE BUFFER
INT 14 - MBBIOS - WRITE BUFFER
	AH = 0Ah
	CX = count
	ES:DI -> buffer (see #00338)
Return: AX = status (see #00304,#00305)
	CX = unsent character count
	DI updated
Note:	the PACCOM version of MBBIOS does not use CX or ES:DI; instead, ES
	  contains the segment of a buffer containing the packet to be sent,
	  which by default will be freed once the packet has been sent.	 Use
	  AH=0Ch"MBBIOS" to allocate the buffer.
SeeAlso: AH=01h,AH=0Bh"MBBIOS",AH=0Ch"MBBIOS",AH=19h"FOSSIL"

Format of MBBIOS PACCOM buffer:
Offset	Size	Description	(Table 00338)
 00h 504 BYTEs	data area
1F8h	WORD	length of data in data area
1FAh	BYTE	flags/status
		bit 7: don't discard buffer after transmitting data
		bit 6: buffer has been transmitted
1FBh	BYTE	reserved (0) for additional flags/status
1FCh	WORD	user data
1FEh	WORD	MBBIOS-internal pointer to next buffer

Top
140A--DXFFFF - INT 14 - Connection Manager - MODIFY ACTIVE CONNECTION PARAMETERS
INT 14 - Connection Manager - MODIFY ACTIVE CONNECTION PARAMETERS
	AH = 0Ah
	DX = FFFFh
	ES:DI -> vector string containing new parameters (see #00311)
Return: AH = return code (00h-03h,06h) (see #00303)
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
Note:	any subvectors valid for the Change Parameters command replace the
	  existing values in the current set
SeeAlso: AH=00h/DX=FFFFh,AH=0Fh/DX=FFFFh

Top
140B - INT 14 - FOSSIL - TRANSMIT NO WAIT
INT 14 - FOSSIL - TRANSMIT NO WAIT
	AH = 0Bh
	AL = character
	DX = port number
Return: AX = result
	    0000h character not accepted
	    0001h character accepted
SeeAlso: AH=01h

Top
140B - INT 14 - MBBIOS - READ BUFFER
INT 14 - MBBIOS - READ BUFFER
	AH = 0Bh
	CX = size of buffer
	ES:DI -> buffer
Return: AH = composite line status (see #00304) formed by ORing all statuses
		  on receive interrupts; bit 0 set if additional characters
		  available
	AL = composite modem status (see #00305) formed by ORing all statuses
	CX = number of characters actually read
	DI updated
Note:	the PACCOM version of MBBIOS does not use CX or ES:DI on call,
	  instead returning ES set to the segment of the buffer containing a
	  received packet, or 0000h if no packets available; the buffer may
	  be freed with AH=0Ch"MBBIOS"
SeeAlso: AH=02h,AH=08h"MBBIOS",AH=0Ah"MBBIOS",AH=0Ch"MBBIOS",AH=18h"FOSSIL"

Top
140B--DXFFFF - INT 14 - Connection Manager - PREPARE FOR INBOUND CONNECTION
INT 14 - Connection Manager - PREPARE FOR INBOUND CONNECTION
	AH = 0Bh
	DX = FFFFh
	AL = service name
	    00h use parameter file or default
	    01h use specified name
		ES:DI -> 16-byte blank-padded name
	BH = connection notification
	    00h program awaiting connection, don't notify user
	    01h notify user on connecting
	BL = connection type
	    00h connection will use Connection Manager API
Return: AH = return code (00h-02h) (see #00303 at AH=00h/DX=FFFFh)
	AL = connection ID if AH=00h
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=04h/DX=FFFFh,AH=0Ch/DX=FFFFh,AH=10h/DX=FFFFh

Top
140C - INT 14 - FOSSIL - NON-DESTRUCTIVE READ AHEAD
INT 14 - FOSSIL - NON-DESTRUCTIVE READ AHEAD
	AH = 0Ch
	DX = port number
Return: AX = FFFFh character not available
	AX = 00xxh character xx available
SeeAlso: AH=08h"MBBIOS",AH=20h"FOSSIL"

Top
140C - INT 14 - MBBIOS PACCOM support - BUFFER MANAGEMENT
INT 14 - MBBIOS PACCOM support - BUFFER MANAGEMENT
	AH = 0Ch
	ES = segment of buffer to free, or 0000h to allocate new buffer
Return: ES = segment of allocated buffer (if ES=0000h on entry)
Note:	the PACCOM version of MBBIOS uses only ES as buffer address for
	  AH=0Ah and AH=0Bh
SeeAlso: AH=0Ah"MBBIOS",AH=0Bh"MBBIOS"

Top
140C--DXFFFF - INT 14 - Connection Manager - TEST FOR INBOUND CONNECTION REQUEST
INT 14 - Connection Manager - TEST FOR INBOUND CONNECTION REQUEST
	AH = 0Ch
	DX = FFFFh
	AL = connection ID from AH=0Bh/DX=FFFFh
Return: AH = return code (00h-03h) (see also #00303 at AH=00h/DX=FFFFh)
	    03h not prepared for inbound connection
	AL = connection ID (if AH=00h) or correct connection ID (if AH=02h)
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=03h/DX=FFFFh,AH=04h/DX=FFFFh,AH=0Bh/DX=FFFFh

Top
140D - INT 14 - FOSSIL - KEYBOARD READ WITHOUT WAIT
INT 14 - FOSSIL - KEYBOARD READ WITHOUT WAIT
	AH = 0Dh
Return: AX = result
	    FFFFh character not available
	    xxyyh standard IBM-style scan code
SeeAlso: AH=0Eh

Top
140D - INT 14 - Digiboard DigiCHANNEL PC/X* - GET POINTER TO CH_KEY_RDY FLAG
INT 14 - Digiboard DigiCHANNEL PC/X* - GET POINTER TO CH_KEY_RDY FLAG
	AH = 0Dh
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: ES:BX -> CH_KEY_RDY flag (see #00339)
SeeAlso: AH=0Ah"Digiboard"

(Table 00339)
Values for Digiboard CH_KEY_RDY flag:
 00h	receive buffer empty
 FFh	characters available

Top
140D - INT 14 - MBBIOS PACCOM support - SET TXD
INT 14 - MBBIOS PACCOM support - SET TXD
	AH = 0Dh
	AL = new setting (FFh = 1.0)
Return: nothing
Desc:	specify the time from RTS to start or packet
SeeAlso: AX=0D00h,AH=0Eh"MBBIOS",AH=0Fh"MBBIOS"

Top
140D--DXFFFF - INT 14 - Connection Manager - TERMINATE CONNECTION CLIENT ACTIVITY
INT 14 - Connection Manager - TERMINATE CONNECTION CLIENT ACTIVITY
	AH = 0Dh
	DX = FFFFh
Return: AH = return code
	    00h successful
	    nonzero operation not terminated
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
Desc:	end all Connection Client TSR activity to allow it to be removed from
	  memory
SeeAlso: AH=05h/DX=FFFFh,AH=6Fh/BX=FFFFh

Top
140D00 - INT 14 - MBBIOS - GET AVAILABLE BYTES
INT 14 - MBBIOS - GET AVAILABLE BYTES
	AX = 0D00h
Return: AX = bytes in transmit buffer
	CX = bytes in receive buffer
SeeAlso: AH=0Ah"MBBIOS",AH=0Bh"MBBIOS"

Top
140D01 - INT 14 - MBBIOS - LOWER ALL MODEM CONTROL SIGNALS
INT 14 - MBBIOS - LOWER ALL MODEM CONTROL SIGNALS
	AX = 0D01h
Return: nothing
Note:	this function lowers DTR, RTS, etc.
SeeAlso: AX=0D02h

Top
140D02 - INT 14 - MBBIOS - RAISE ALL MODEM CONTROL SIGNALS
INT 14 - MBBIOS - RAISE ALL MODEM CONTROL SIGNALS
	AX = 0D02h
Return: nothing
Note:	this function raises DTR, RTS, etc.
SeeAlso: AX=0D01h

Top
140D03 - INT 14 - MBBIOS - SET HANDSHAKE BYTE
INT 14 - MBBIOS - SET HANDSHAKE BYTE
	AX = 0D03h
	CL = new handshake byte
Return: CL = previous handshake byte
Note:	this function lowers DTR, RTS, etc.

Top
140E - INT 14 - FOSSIL - KEYBOARD READ WITH WAIT
INT 14 - FOSSIL - KEYBOARD READ WITH WAIT
	AH = 0Eh
Return: AX = xxyyh standard IBM-style scan code
SeeAlso: AH=0Dh"FOSSIL"

Top
140E - INT 14 - Digiboard DigiCHANNEL PC/X* - WRITE STRING
INT 14 - Digiboard DigiCHANNEL PC/X* - WRITE STRING
	AH = 0Eh
	CX = number of characters to write
	ES:BX -> string
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AX = number of characters actually written
	ZF clear if successful
	ZF set on error
SeeAlso: AH=0Fh"Digiboard"

Top
140E - INT 14 - MBBIOS PACCOM support - SET PERSISTENCE
INT 14 - MBBIOS PACCOM support - SET PERSISTENCE
	AH = 0Eh
	AL = new setting (FFh = 1.0)
Return: nothing
Desc:	specify the time from end of DCD to RTS
SeeAlso: AH=0Dh"MBBIOS",AH=0Fh"MBBIOS"

Top
140E--DXFFFF - INT 14 - Connection Manager - SET HARDWARE FLOW STATE
INT 14 - Connection Manager - SET HARDWARE FLOW STATE
	AH = 0Eh
	DX = FFFFh
	AL = connection ID from AH=04h/DX=FFFFh
	BL = RTS state (00h off, 01h on)
Return: AH = return code (00h-03h) (see also #00303 at AH=00h/DX=FFFFh)
	    03h invalid request (BL not 00h or 01h)
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=03h/DX=FFFFh,AH=0Ah/DX=FFFFh

Top
140F - INT 14 - FOSSIL - ENABLE/DISABLE FLOW CONTROL
INT 14 - FOSSIL - ENABLE/DISABLE FLOW CONTROL
	AH = 0Fh
	AL = bit mask describing requested flow control (see #00340)
	DX = port number
Return: nothing
SeeAlso: AH=09h"MBBIOS",AH=10h"FOSSIL"

Bitfields for FOSSIL requested flow control:
Bit(s)	Description	(Table 00340)
 0	XON/XOFF on transmit (watch for XOFF while sending)
 1	CTS/RTS (CTS on transmit/RTS on receive)
 2	reserved
 3	XON/XOFF on receive (send XOFF when buffer near full)
 4-7	all 1

Top
140F - INT 14 - Digiboard DigiCHANNEL PC/X* - READ STRING
INT 14 - Digiboard DigiCHANNEL PC/X* - READ STRING
	AH = 0Fh
	CX = number of characters to read
	ES:BX -> buffer
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AX = number of characters read
	ZF clear if successful
	ZF set on error (line status or wrong number of characters)
SeeAlso: AH=0Eh"Digiboard"

Top
140F - INT 14 - MBBIOS PACCOM support - SET SLOT TIME
INT 14 - MBBIOS PACCOM support - SET SLOT TIME
	AH = 0Fh
	AL = new setting in clock ticks
Return: nothing
Desc:	specify the time from end of DCD to RTS
SeeAlso: AH=0Dh"MBBIOS",AH=0Eh"MBBIOS",AH=10h"MBBIOS"

Top
140F--DXFFFF - INT 14 - Connection Manager - RETURN ACTIVE CONNECTION PARAMETERS
INT 14 - Connection Manager - RETURN ACTIVE CONNECTION PARAMETERS
	AH = 0Fh
	DX = FFFFh
	AL = connection ID
	CX = size of buffer or 0000h to get length of returned vector
	ES:DI -> buffer for connection parameter vector (see #00311)
Return: AH = return code (00h-02h,06h) (see #00303 at AH=00h/DX=FFFFh)
	CX = number of bytes which could not be returned because the given
	      buffer was too small
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
SeeAlso: AH=08h/DX=FFFFh,AH=0Ah/DX=FFFFh

Top
1410 - INT 14 - FOSSIL - EXTENDED ^C/^K CHECKING AND TRANSMIT ON/OFF
INT 14 - FOSSIL - EXTENDED ^C/^K CHECKING AND TRANSMIT ON/OFF
	AH = 10h
	AL = bit mask
	    bit 0: enable/disable ^C/^K checking
	    bit 1: enable/disable the transmitter
	DX = port number
Return: nothing
SeeAlso: AH=0Fh"FOSSIL"

Top
1410 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR RECEIVE BUFFER
INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR RECEIVE BUFFER
	AH = 10h
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    FFh error
SeeAlso: AH=09h"Digiboard",AH=11h"Digiboard"

Top
1410 - INT 14 - MBBIOS PACCOM support - SET CRC WAIT
INT 14 - MBBIOS PACCOM support - SET CRC WAIT
	AH = 10h
	AL = new setting in clock ticks (should be at least 5 character times)
Return: nothing
Desc:	specify the time from start of last character to dropping RTS
SeeAlso: AH=0Dh"MBBIOS",AH=0Fh"MBBIOS"

Top
1410--DXFFFF - INT 14 - Connection Manager - QUERY SERVICE NAMES
INT 14 - Connection Manager - QUERY SERVICE NAMES
	AH = 10h
	DX = FFFFh
	CL = subfunction
	    00h search first
	    01h search next
	ES:DI -> pattern buffer (see #00341)
Return: AH = return code (00h,01h,03h,06h) (see also #00303 at AH=00h/DX=FFFFh)
	    01h no (more) matching names
	    03h invalid request
	ES:DI buffer filled with reply buffer (see #00341) containing matched
		  name if AH=00h
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
Desc:	obtain the names of groups and lines available for connection requests,
	  and the names of active Connection Servers
SeeAlso: AH=04h/DX=FFFFh,AH=0Bh/DX=FFFFh

Format of Connection Manager pattern/reply buffer:
Offset	Size	Description	(Table 00341)
 00h	WORD	length of pattern (30h or 32h)
 02h 16 BYTEs	server pattern or name
 12h 16 BYTEs	group pattern or name
 22h 16 BYTEs	line pattern or name
 23h	BYTE	(optional) ???
 24h	BYTE	(optional, returned) current line status
		00h available
		01h out of service
		02h currently allocated to a connection
Note:	pattern may include '?' wildcard to match any character

Top
1411 - INT 14 - FOSSIL - SET CURRENT CURSOR LOCATION
INT 14 - FOSSIL - SET CURRENT CURSOR LOCATION
	AH = 11h
	DH = row
	DL = column
Return: nothing
Note:	this is the same as INT 10/AH=02h
SeeAlso: AH=12h"FOSSIL"

Top
1411 - INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR TRANSMIT BUFFER
INT 14 - Digiboard DigiCHANNEL PC/X* - CLEAR TRANSMIT BUFFER
	AH = 11h
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    FFh error
SeeAlso: AH=09h"Digiboard",AH=10h"Digiboard"

Top
1411 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DISABLE PORT
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DISABLE PORT
	AH = 11h
	DX = port number
Return: AL = status
	    00h successful
	    01h IRQ for port is shared
	    02h IRQ was reserved
SeeAlso: AH=04h"SERIAL",AH=05h"SERIAL",AH=12h"PC-MOS"

Top
1412 - INT 14 - FOSSIL - READ CURRENT CURSOR LOCATION
INT 14 - FOSSIL - READ CURRENT CURSOR LOCATION
	AH = 12h
Return: DH = row
	DL = column
Note:	this is the same as INT 10/AH=03h
SeeAlso: AH=11h"FOSSIL"

Top
1412 - INT 14 - Digiboard DigiCHANNEL PC/X* - GET TRANSMIT BUFFER FREE SPACE
INT 14 - Digiboard DigiCHANNEL PC/X* - GET TRANSMIT BUFFER FREE SPACE
	AH = 12h
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AX = number of bytes free
SeeAlso: AH=0Ah"Digiboard",AH=14h"Digiboard"

Top
1412 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET CURRENT PORT PARAMETERS
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET CURRENT PORT PARAMETERS
	AH = 12h
	DX = port number
Return: AH = status
	    FFh port number invalid
	AL = line parameters (see #00304)
	AH = flow control configuration (see #00336 at AH=05h"PC-MOS")
	CX:BX = bps rate
	DL = XOFF character or 00h for none
	DH = XON character or 00h for none

Top
1413 - INT 14 - FOSSIL - SINGLE CHARACTER ANSI WRITE TO SCREEN
INT 14 - FOSSIL - SINGLE CHARACTER ANSI WRITE TO SCREEN
	AH = 13h
	AL = character
Return: nothing
Note:	should not be called if it is unsafe to call DOS
SeeAlso: AH=15h

Top
1413 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - REGISTER A PORT WITH A TERMINAL
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - REGISTER A PORT WITH A TERMINAL
	AH = 13h
	DX = port number
Return: AH = status
	    FFh port number invalid
	    else
		ES:BX -> BYTE flag (00h buffer empty, FFh buffer contains data)
SeeAlso: AH=17h"PC-MOS"

Top
1414 - INT 14 - FOSSIL - ENABLE OR DISABLE WATCHDOG PROCESSING
INT 14 - FOSSIL - ENABLE OR DISABLE WATCHDOG PROCESSING
	AH = 14h
	AL = 01h enable watchdog
	     00h disable watchdog
	DX = port number
Return: nothing
SeeAlso: INT 21/AH=2Bh/CX=6269h"WDTSR"

Top
1414 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT STRING
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT STRING
	AH = 14h
	CX = number of characters in string
	DX = port number
	ES:BX -> string to be sent
	SI = timeout in timer ticks or 0000h for default
Return: AX = number of bytes actually sent
	ZF clear if successful
	ZF set on timeout
SeeAlso: AH=01h,AH=15h"PC-MOS"

Top
1414 - INT 14 - Digiboard - GET NUMBER OF BOARDS INSTALLED
INT 14 - Digiboard - GET NUMBER OF BOARDS INSTALLED
	AH = 14h
Return: AX = number of boards installed
SeeAlso: AH=08h"Digiboard",AH=15h"Digiboard"

Top
1415 - INT 14 - FOSSIL - WRITE CHARACTER TO SCREEN USING BIOS SUPPORT ROUTINES
INT 14 - FOSSIL - WRITE CHARACTER TO SCREEN USING BIOS SUPPORT ROUTINES
	AH = 15h
	AL = character
Return: nothing
SeeAlso: AH=13h"FOSSIL"

Top
1415 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STRING
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - INPUT STRING
	AH = 15h
	CX = size of buffer
	DX = port number
	ES:BX -> buffer for received characters
	SI = timeout in clock ticks or 0000h for default
Return: AX = number of characters actually read
	ZF set on timeout (no data available)
SeeAlso: AH=02h,AH=14h"PC-MOS",AH=16h"PC-MOS"

Top
1415 - INT 14 - Digiboard - ENABLE/DISABLE MEMORY
INT 14 - Digiboard - ENABLE/DISABLE MEMORY
	AH = 15h
	AL = new state (00h disabled, 01h enabled)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=14h"Digiboard",AH=16h"Digiboard"

Top
1416 - INT 14 - FOSSIL - INSERT/DELETE FUNCTION FROM TIMER TICK CHAIN
INT 14 - FOSSIL - INSERT/DELETE FUNCTION FROM TIMER TICK CHAIN
	AH = 16h
	AL = function
	    00h = delete
	    01h = add
	ES:DX -> routine to call
Return: AX = status
	    0000h successful
	    0001h unsuccessful
SeeAlso: AH=07h"FOSSIL"

Top
1416 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - LINK TO ANOTHER SERIAL DRIVER
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - LINK TO ANOTHER SERIAL DRIVER
	AH = 16h
	ES:BX -> calling driver's INT 14 entry point
Return: nothing
Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
	  operating system by The Software Link, Inc.

Top
1416 - INT 14 - Digiboard DigiCHANNEL PC/X* - CCB COMMAND
INT 14 - Digiboard DigiCHANNEL PC/X* - CCB COMMAND
	AH = 16h
	AL = CCB command number (see #00342) (see also following entries)
	BL = byte 2
	BH = byte 3
	CL = byte 1 (for all channel functions except 4Eh and 4Fh)
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AX=1646h,AH=18h"Digiboard"

(Table 00342)
Values for Digiboard CCB command number:
 40h	Set Receive Mid Water Mark
 41h	Set Receive High Water Mark
 42h	Flush Receive Buffer
 43h	Flush Transmit Buffer
 44h	Transmit Pause
 45h	Transmit Resume
 46h	Set Interrupt to Host Mask
 47h	Set Baud, Data, Stop and Parity
 48h	Send Break
 49h	Set Modem Lines
 4Ah	Set Break Count
 4Bh	Set Handshake
 4Ch	Set Xon/Xoff Characters
 4Dh	Set Transmit Mid Water Mark
 4Eh	IRQ Polling Timer to Host
 4Fh	Buffer Set All
 50h	Port On
 51h	Port Off
 52h	Receive Pause
 53h	Special Character Interrupt
 54h	RS-422 Enable

Top
141646 - INT 14 - Digiboard - CCB COMMAND - SET INTERRUPT TO HOST MASK
INT 14 - Digiboard - CCB COMMAND - SET INTERRUPT TO HOST MASK
	AX = 1646h
	BL = bits to set
	BH = bits to clear
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=1647h

Top
141647 - INT 14 - Digiboard - CCB COMMAND - SET BAUD/DATABITS/STOPBITS/PARITY
INT 14 - Digiboard - CCB COMMAND - SET BAUD/DATABITS/STOPBITS/PARITY
	AX = 1647h
	BL = baud
	BH = datatype
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=1646h,AX=1649h

Top
141649 - INT 14 - Digiboard - CCB COMMAND - SET MODEM LINES
INT 14 - Digiboard - CCB COMMAND - SET MODEM LINES
	AX = 1649h
	BL = bits to set
	BH = bits to clear
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=1647h

Top
14164A - INT 14 - Digiboard - CCB COMMAND - SET BREAK COUNT
INT 14 - Digiboard - CCB COMMAND - SET BREAK COUNT
	AX = 164Ah
	BL = break count
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=1649h,AX=164Bh

Top
14164B - INT 14 - Digiboard - CCB COMMAND - SET HANDSHAKE
INT 14 - Digiboard - CCB COMMAND - SET HANDSHAKE
	AX = 164Bh
	BL = bits to set
	BH = bits to clear
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=1649h,AX=164Ch

Top
14164C - INT 14 - Digiboard - CCB COMMAND - SET XON/XOFF CHARACTERS
INT 14 - Digiboard - CCB COMMAND - SET XON/XOFF CHARACTERS
	AX = 164Ch
	BL = XON character
	BH = XOFF character
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=164Bh,AX=164Dh

Top
14164D - INT 14 - Digiboard - CCB COMMAND - SET TRANSMIT MID-WATER MARK
INT 14 - Digiboard - CCB COMMAND - SET TRANSMIT MID-WATER MARK
	AX = 164Dh
	BX = new mid-water mark
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=164Ch,AX=164Eh,AX=164Fh

Top
14164E - INT 14 - Digiboard - CCB COMMAND - IRQ POLLING TIMER TO HOST
INT 14 - Digiboard - CCB COMMAND - IRQ POLLING TIMER TO HOST
	AX = 164Eh
	BL = ticks
	BH = ???
	CL = mode
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=164Dh

Top
14164F - INT 14 - Digiboard - CCB COMMAND - BUFFER SET ALL
INT 14 - Digiboard - CCB COMMAND - BUFFER SET ALL
	AX = 164Fh
	BL = size
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=164Dh

Top
141653 - INT 14 - Digiboard - CCB COMMAND - SPECIAL CHARACTER INTERRUPT
INT 14 - Digiboard - CCB COMMAND - SPECIAL CHARACTER INTERRUPT
	AX = 1653h
	BL = enable/disable
	BH = special character
	CL = byte 1
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h error
	    FFh error
SeeAlso: AH=16h"Digiboard",AX=1646h

Top
1417 - INT 14 - FOSSIL - REBOOT SYSTEM
INT 14 - FOSSIL - REBOOT SYSTEM
	AH = 17h
	AL = method
	    00h = cold boot
	    01h = warm boot
SeeAlso: INT 16/AX=E0FFh,INT 19,INT 60/DI=0606h

Top
1417 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - WRITE MODEM CONTROL REGISTER
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - WRITE MODEM CONTROL REGISTER
	AH = 17h
	AL = new value for UART's modem control register
	DX = port number
Return: nothing

Top
1418 - INT 14 - FOSSIL - READ BLOCK
INT 14 - FOSSIL - READ BLOCK
	AH = 18h
	CX = maximum number of characters to transfer
	DX = port number
	ES:DI -> user buffer
Return: AX = number of characters transferred
SeeAlso: AH=19h"FOSSIL",AH=83h"COURIERS",AX=FF02h,INT 6B/AX=0100h

Top
1418 - INT 14 - Digiboard DigiCHANNEL PC/X* - SEND BIOS COMMAND
INT 14 - Digiboard DigiCHANNEL PC/X* - SEND BIOS COMMAND
	AH = 18h
	ES:BX -> 16-byte command string
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    80h timeout
	AL = mailbox status
	    00h no errors
	    8Xh BIOS error
	ES:BX buffer filled in with mailbox string
	ZF clear if no errors
	ZF set if either status byte contains an error code
SeeAlso: AH=16h"Digiboard"

Top
1418 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET DRIVER DESCRIPTION
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - GET DRIVER DESCRIPTION
	AH = 18h
	DX = port number
Return: DS:BX -> 40-byte buffer containing a string identifying the serial
		driver
SeeAlso: AH=06h"PC-MOS"

Top
1419 - INT 14 - FOSSIL - WRITE BLOCK
INT 14 - FOSSIL - WRITE BLOCK
	AH = 19h
	CX = maximum number of characters to transfer
	DX = port number
	ES:DI -> user buffer
Return: AX = number of characters transferred
SeeAlso: AH=18h"FOSSIL",AH=86h,INT 6B/AX=0000h

Top
1419 - INT 14 - Digiboard DigiCHANNEL PC/X* - SPECIAL CHARACTER INTERRUPT
INT 14 - Digiboard DigiCHANNEL PC/X* - SPECIAL CHARACTER INTERRUPT
	AH = 19h
	BL = flag
	    00h disable special character interrupt
	    FFh enable interrupt
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: AH = status
	    00h successful
	    FFh failed
SeeAlso: AH=1Ah"Digiboard"

Top
1419 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SELECTIVE BUFFER FLUSH
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - SELECTIVE BUFFER FLUSH
	AH = 19h
	AL = what to flush
	    bit 0: input buffer
	    bit 1: output buffer
	DX = port number
Return: nothing
SeeAlso: AH=09h"PC-MOS"

Top
141A - INT 14 - FOSSIL - BREAK BEGIN OR END
INT 14 - FOSSIL - BREAK BEGIN OR END
	AH = 1Ah
	AL = 00h stop sending 'break'
	     01h start sending 'break'
	DX = port number
Return: nothing
SeeAlso: AH=06h"FOSSIL",AH=8Ah,AH=FAh

Top
141A - INT 14 - Digiboard DigiCHANNEL PC/X - SPECIAL CHARACTER FLAG/COUNTER
INT 14 - Digiboard DigiCHANNEL PC/X - SPECIAL CHARACTER FLAG/COUNTER
	AH = 1Ah
	BX = subfunction
	    00h return pointer to special character flag byte
	    01h return pointer to special character counter word
	DX = port number (00h-03h) (04h-43h for XAPCM232.SYS)
Return: ES:BX -> special character flag or counter
Notes:	flag is FFh if one or more special characters are in the receive
	  buffer; it is 00h and the counter is invalid if no special characters
	  are in the receive buffer
	counter (if valid) contains the number of characters in the receive
	  buffer up to and including the last-received special character

Top
141B - INT 14 - FOSSIL - RETURN INFORMATION ABOUT THE DRIVER
INT 14 - FOSSIL - RETURN INFORMATION ABOUT THE DRIVER
	AH = 1Bh
	DX = port number
	CX = size of user buffer
	ES:DI -> user buffer for driver info (see #00343)
Return: AX = number of characters transferred
	CX = 3058h ("0X") (X00 FOSSIL only)
	DX = 2030h (" 0") (X00 FOSSIL only)

Format of FOSSIL driver info:
Offset	Size	Description	(Table 00343)
 00h	WORD	size of structure in bytes
 02h	BYTE	FOSSIL spec driver conforms to
 03h	BYTE	revision level of this specific driver
 04h	DWORD	pointer to ASCIZ identification string
 08h	WORD	size of the input buffer
 0Ah	WORD	number of bytes left in buffer
 0Ch	WORD	size of the output buffer
 0Eh	WORD	number of bytes left in buffer
 10h	BYTE	width of screen
 11h	BYTE	length of screen
 12h	BYTE	actual baud rate, computer to modem

Top
141C - INT 14 - X00 FOSSIL - ACTIVATE PORT
INT 14 - X00 FOSSIL - ACTIVATE PORT
	AH = 1Ch
	DX = port number
Return: AX = 1954h if successful
	BL = maximum function number supported (not including 7Eh and above)
	BH = revision of FOSSIL specification supported
Note:	this is a duplicate of AH=04h, so that AH=04h may be made compatible
	  with the PS/2 BIOS in a future release
SeeAlso: AH=04h"FOSSIL",AH=1Dh

Top
141D - INT 14 - X00 FOSSIL - DEACTIVATE PORT
INT 14 - X00 FOSSIL - DEACTIVATE PORT
	AH = 1Dh
	DX = port number
Return: none
Notes:	this is a duplicate of AH=05h, so that AH=05h may be made compatible
	  with the PS/2 BIOS in a future release
	ignored if the port was never activated with AH=04h or AH=1Ch
SeeAlso: AH=05h"FOSSIL",AH=1Ch

Top
141E - INT 14 - X00 FOSSIL - EXTENDED LINE CONTROL INITIALIZATION
INT 14 - X00 FOSSIL - EXTENDED LINE CONTROL INITIALIZATION
	AH = 1Eh
	AL = break status
	    00h if break
	    01h if no break
	BH = parity (see #00344)
	BL = number of stop bits
	    00h one stop bit
	    01h two stop bits (1.5 if 5 bit word length)
	CH = word length (see #00345)
	CL = bps rate (see #00346)
	DX = port number
Return: AX = port status code (see #00304,#00305)
Notes:	this function is intended to exactly emulate the PS/2 BIOS AH=04h call
	if the port was locked at X00 load time, the appropriate parameters are
	  ignored
SeeAlso: AH=00h,AH=04h"SERIAL"

(Table 00344)
Values for X00 FOSSIL parity:
 00h	no parity
 01h	odd parity
 02h	even parity
 03h	stick parity odd
 04h	stick parity even
SeeAlso: #00307,#00345,#00346

(Table 00345)
Values for X00 FOSSIL word length:
 00h	5 bits
 01h	6 bits
 02h	7 bits
 03h	8 bits
SeeAlso: #00308,#00344,#00346

(Table 00346)
Values for X00 FOSSIL bps rate:
 00h	110
 01h	150
 02h	300
 03h	600
 04h	1200
 05h	2400
 06h	4800
 07h	9600
 08h	19200
SeeAlso: #00309,#00344,#00345

Top
141E - INT 14 - HUNTER 16 - READ COMMS PARAMETERS
INT 14 - HUNTER 16 - READ COMMS PARAMETERS
	AH = 1Eh
	CX = channel number (00h COM1, 01h COM2, ...)
	DS:BX -> buffer for communications parameters (see #00347)
Return: DS:BX buffer filled
Note:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
SeeAlso: AH=20h"HUNTER"

Format of HUNTER 16 communications parameters:
Offset	Size	Description	(Table 00347)
 00h	BYTE	communications type (00h IBM, nonzero Husky)
 01h	BYTE	port number (00h COM1, 01h COM2)
 02h	BYTE	baud rate (00h 110 bps, 01h 150, 02h 300, 03h 600, 04h 1200,
		  05h 2400, 06h 4800, 07h 9600, 08h 19200, 09h 38400)
 03h	BYTE	data bits (01h seven, 02h eight)
 04h	BYTE	parity (00h none, 01h odd, 02h even)
 05h	BYTE	stop bits (00h one, 01h two)
 06h	BYTE	handshake (see #00348)
 07h	BYTE	handshake protocol (00h none, 01h Xon/Xoff, 02h HWK3780)
 08h	BYTE	Nulls after CR (0-20)
 09h	BYTE	LF (00h off, 01h on)
 0Ah	BYTE	Serig. 0..7Fh: Ignore this character
		       80h: Serig off
 0Bh	BYTE	echo (00h off, 01h on)
 0Ch	BYTE	transmit timeout in seconds (1-60) or 00h to disable
 0Dh	BYTE	receive timeout in seconds (1-60) or 00h to disable
 0Eh  5 BYTEs	reserved

Bitfields for HUNTER 16 handshake:
Bit(s)	Description	(Table 00348)
 0-1	0: RTS off, 1: RTS hold, 2: RTS true
 2	DTR enabled
 4	CTS enabled
 5	DSR enabled
 6	DCD enabled

Top
141F - INT 14 - X00 FOSSIL - EXTENDED SERIAL PORT STATUS/CONTROL
INT 14 - X00 FOSSIL - EXTENDED SERIAL PORT STATUS/CONTROL
	AH = 1Fh
	DX = port number
	AL = direction
	    00h read modem control register
		Return: BL = modem control register (see #00349)
			AH = status
	    01h write modem control register
		BL = modem control register (see #00349)
		Return: AX = status
Notes:	this function is intended to exactly emulate the PS/2 BIOS AH=05h call
	X00 forces BL bit 3 set (interrupts cannot be disabled)
SeeAlso: AH=00h,AH=05h"SERIAL"

Bitfields for X00 FOSSIL modem control register:
Bit(s)	Description	(Table 00349)
 0	data terminal ready
 1	request to send
 2	OUT1
 3	OUT2 (interrupts) enabled
 4	LOOP
 5-7	reserved

Top
1420 - INT 14 - X00 FOSSIL - DESTRUCTIVE READ WITH NO WAIT
INT 14 - X00 FOSSIL - DESTRUCTIVE READ WITH NO WAIT
	AH = 20h
	DX = port number
Return: AH = 00h if character was available
	    AL = next character (removed from receive buffer)
	AX = FFFFh if no character available
SeeAlso: AH=0Ch,AH=21h"X00"

Top
1420 - INT 14 - Alloy MW386 - ATTACH LOGICAL COMMUNICATIONS PORT TO PHYSICAL PORT
INT 14 - Alloy MW386 - ATTACH LOGICAL COMMUNICATIONS PORT TO PHYSICAL PORT
	AH = 20h
	AL = logical port (01h COM1, 02h COM2)
	DX = physical port number
Return: AX = status
	    0000h successful
	    FFFFh failed
SeeAlso: AH=21h"Alloy",AH=22h"Alloy",AH=23h"Alloy",INT 17/AH=8Bh"Alloy"

Top
1420 - INT 14 - MultiDOS Plus - INITIALIZE PORT
INT 14 - MultiDOS Plus - INITIALIZE PORT
	AH = 20h
	AL = port parameters (see #00300 at AH=00h"SERIAL")
	DX = port number (0-3)
Return: AH = status
	    00h successful
	    41h no such port
	    64h monitor mode already active
SeeAlso: AH=00h"SERIAL",AH=04h"MultiDOS",AH=21h"MultiDOS",AH=23h"MultiDOS"

Top
1420 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHECK OUTPUT QUEUE
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - CHECK OUTPUT QUEUE
	AH = 20h
	DX = port number
Return: AX = number of bytes in output buffer
SeeAlso: AH=0Ah"Digiboard"

Top
1420 - INT 14 - HUNTER 16 - SELECT COMMS PARAMETERS
INT 14 - HUNTER 16 - SELECT COMMS PARAMETERS
	AH = 20h
	CX = channel number (00h COM1, 01h COM2, ...)
	DS:BX -> buffer with communications parameter (see #00347)
Return: AX = status
	    0000h successful
	    0001h invalid parameter
SeeAlso: AH=1Eh"HUNTER",AH=21h"HUNTER"

Top
1421 - INT 14 - X00 FOSSIL - STUFF RECEIVE BUFFER
INT 14 - X00 FOSSIL - STUFF RECEIVE BUFFER
	AH = 21h
	AL = character
	DX = port number
Return: nothing
Notes:	the given character is inserted at the end of the receive buffer as if
	  it had just arrived from the serial port; all normal receive
	  processing (XON/XOFF, ^C/^K) is performed on the character
	fully re-entrant
SeeAlso: AH=20h"X00"

Top
1421 - INT 14 - Alloy MW386 v1.x only - RELEASE PHYSICAL COMMUNICATIONS PORT
INT 14 - Alloy MW386 v1.x only - RELEASE PHYSICAL COMMUNICATIONS PORT
	AH = 21h
	DX = physical port number
Return: AX = status
	    0000h successful
	    FFFFh failed
SeeAlso: AH=20h"Alloy",AH=22h"Alloy"

Top
1421 - INT 14 - MultiDOS Plus - TRANSMIT CHARACTER
INT 14 - MultiDOS Plus - TRANSMIT CHARACTER
	AH = 21h
	AL = character to send
	DX = port number
Return: AH = status (see #00350)
Note:	monitor mode must have been turned on with AH=24h before calling
SeeAlso: AH=20h"MultiDOS",AH=22h"MultiDOS",AH=24h"MultiDOS"

(Table 00350)
Values for MultiDOS Plus status:
 00h	successful
 39h	no DSR or CTS
 3Ch	no DSR
 3Bh	no CTS
 41h	no such port
 42h	monitor mode not active
 97h	timed out

Top
1421 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT CHARACTER, WITH TIMEOUT
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - OUTPUT CHARACTER, WITH TIMEOUT
	AH = 21h
	AL = char to send
	DX = port number
	SI = timeout in timer ticks (0000h = default)
Return: after character is sent or timeout expires
Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
	  operating system by The Software Link, Inc.
SeeAlso: AH=01h,AH=0Eh"Digiboard",AH=22h"PC-MOS"

Top
1421 - INT 14 - HUNTER 16 - EXTENDED CONTROL
INT 14 - HUNTER 16 - EXTENDED CONTROL
	AH = 21h
	AL = command
	    01h force transmission of buffer
	    02h clear transmit buffer
	    03h clear receive buffer
	DX = port (00h COM1, 01h COM2)
Return: AH = extended status
Desc:	executes the command on the selected port
SeeAlso: AH=1Eh"HUNTER",AH=20h"HUNTER",AH=22h"HUNTER",AH=24h"HUNTER"

Top
1422 - INT 14 - Alloy MW386 v2+ - RELEASE LOGICAL COMMUNICATIONS PORT
INT 14 - Alloy MW386 v2+ - RELEASE LOGICAL COMMUNICATIONS PORT
	AH = 22h
	AL = logical port (01h COM1, 02h COM2)
Return: AX = status (0000h successful)
SeeAlso: AH=20h"Alloy",AH=21h"Alloy"

Top
1422 - INT 14 - MultiDOS Plus - RECEIVE CHARACTER
INT 14 - MultiDOS Plus - RECEIVE CHARACTER
	AH = 22h
	DX = port number
Return: AH = status (see also AH=21h"MultiDOS")
	    00h successful
		AL = character
	    3Dh framing and parity error
	    3Eh overrun error
	    3Fh framing error
	    40h parity error
	    96h ring buffer overflow
Note:	if no character is available, this function waits until a character
	  arrives or an implementation-dependent timeout elapses
SeeAlso: AH=20h"MultiDOS",AH=21h"MultiDOS",AH=27h

Top
1422 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RECEIVE CHARACTER, WITH TIMEOUT
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - RECEIVE CHARACTER, WITH TIMEOUT
	AH = 22h
	DX = port number
	SI = timeout in timer ticks (0000h = default)
Return: AH = port status (see also #00304 at AH=03h)
	    bit 7 = 1 indicates time-out
	AL = character received
Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
	  operating system by The Software Link, Inc.
SeeAlso: AH=02h,AH=0Fh"Digiboard",AH=21h"PC-MOS"

Top
1422 - INT 14 - HUNTER 16 - EXTENDED STATUS
INT 14 - HUNTER 16 - EXTENDED STATUS
	AH = 22h
	DX = port (00h COM1, 01h COM2)
Return: AH = extended status
	BX = number of characters in input buffer
	CX = number of characters in output buffer
Desc:	returns the most recent Extended Status code for the port
SeeAlso: AH=21h"HUNTER"

Top
1423 - INT 14 - Alloy MW386 v2+ - GET PORT NUMBER FROM LOGICAL PORT ID
INT 14 - Alloy MW386 v2+ - GET PORT NUMBER FROM LOGICAL PORT ID
	AH = 23h
	AL = logical port (01h COM1, 02h COM2)
	DH = user ID
	DL = process ID (DH,DL both FFh for current task)
Return: AL = MW386 port mode (see #00351)
	CX = MW386 port number
	DH = owner's user ID
	DL = owner's task ID
SeeAlso: AH=20h"Alloy",INT 17/AH=8Bh"Alloy"

Bitfields for MW386 port mode:
Bit(s)	Description	(Table 00351)
 0	port is shared (spooler only)
 1	port is spooled instead of direct (spooler only)
 2	port is assigned as logical COM device, not in spooler
 3	port is free

Top
1423 - INT 14 - MultiDOS Plus - GET PORT STATUS
INT 14 - MultiDOS Plus - GET PORT STATUS
	AH = 23h
	DX = port number
Return: AH = line status (see #00304 at AH=03h)
	AL = modem status (see #00305 at AH=03h)
SeeAlso: AH=03h,AH=07h"MultiDOS",AH=20h"MultiDOS"

Top
1423 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DECLARE PORT OWNERSHIP
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - DECLARE PORT OWNERSHIP
	AH = 23h
	DX = port number
	BX = TCB segment/selector address of owner task
Return: nothing
SeeAlso: AH=0Dh"Digiboard",AH=21h"PC-MOS",AH=22h"PC-MOS"

Top
1423 - INT 14 - HUNTER 16 - CONTROL HANDSHAKE LINES
INT 14 - HUNTER 16 - CONTROL HANDSHAKE LINES
	AH = 23h
	BH = handshake line to set (00h RTS, 01h DTR)
	BL = new level (00h low, 01h high)
Return: nothing
Desc:	sets the handshake lines of COM1 to the desired level
SeeAlso: AH=21h"HUNTER",AH=24h"HUNTER"

Top
1424 - INT 14 - Alloy MW386 v2+ - CHANGE PHYSICAL PORT PARAMETERS
INT 14 - Alloy MW386 v2+ - CHANGE PHYSICAL PORT PARAMETERS
	AH = 24h
	CX = physical I/O port number
	DS:DX -> configuration table (see #00352)
Return: AH = 00h
Note:	invalid port numbers are merely ignored
SeeAlso: INT 17/AH=96h

Format of Alloy MW386 configuration table:
Offset	Size	Description	(Table 00352)
 00h	BYTE	baud rate (see #00353)
 01h	BYTE	data bits (00h=5, 01h=6, 02h=7, 03h=8)
 02h	BYTE	parity (00h none, 01h odd, 02h even)
 03h	BYTE	stop bits (00h=1, 01h=2)
 04h	BYTE	receive flow control
		00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC, 04h RTS/CTS
 05h	BYTE	transmit flow control (as for receive)

(Table 00353)
Values for Alloy MW386 baud rate:
 00h	38400
 01h	19200
 02h	9600
 03h	7200
 04h	4800
 05h	3600
 06h	2400
 07h	2000
 08h	1200
 09h	600
 0Ah	300
 0Bh	150
 0Ch	134.5
SeeAlso: #00309

Top
1424 - INT 14 - MultiDOS Plus - SET MONITOR MODE
INT 14 - MultiDOS Plus - SET MONITOR MODE
	AH = 24h
	AL = port status storage
	    00h single status for entire receive buffer
	    01h separate status kept for each byte in receive buffer
	DX = port number
Return: AH = status
	    00h successful
	    3Ah invalid status storage specified
	    41h no such port
	    64h monitor mode already active
Note:	in monitor mode, MultiDOS redirects all BIOS video output to a serial
	  port
SeeAlso: AH=20h"MultiDOS",AH=25h

Top
1424 - INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - ???
INT 14 - PC-MOS/386 v5.01 $serial.sys v5.04 - ???
	AH = 24h
Return: ???
Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
	  operating system by The Software Link, Inc.

Top
1424 - INT 14 - HUNTER 16 - CONTROL CTS HANDSHAKING
INT 14 - HUNTER 16 - CONTROL CTS HANDSHAKING
	AH = 24h
	AL = new CTS handshake state for COM1 (00h disabled, 01h enabled)
Return: nothing
SeeAlso: AH=23h"HUNTER",AH=25h"HUNTER",AH=26h"HUNTER"

Top
1425 - INT 14 - MultiDOS Plus - CLEAR BUFFERS
INT 14 - MultiDOS Plus - CLEAR BUFFERS
	AH = 25h
	AL = function
	    00h only clear buffers
	    01h clear buffers and deactivate
	DX = port number
Return: AH = status
	    00h successful
	    3Ah invalid function
	    41h no such port
	    42h monitor mode not active
SeeAlso: AH=20h"MultiDOS",AH=24h"MultiDOS"

Top
1425 - INT 14 - HUNTER 16 - CONTROL RS232 DRIVERS
INT 14 - HUNTER 16 - CONTROL RS232 DRIVERS
	AH = 25h
	AL = new state of RS232 drivers (00h off, 01h on)
Return: nothing
Note:	this function can be used to save power by turning off the RS232
	  drivers.  It can also be used to turn on the RS232 drivers before
	  connecting to a remote system to avoid "garbage" while the drivers
	  turn on.
SeeAlso: AH=23h"HUNTER",AH=24h"HUNTER",AH=26h"HUNTER"

Top
1426 - INT 14 - HUNTER 16 - CONTROL RI POWER UP
INT 14 - HUNTER 16 - CONTROL RI POWER UP
	AH = 26h
	AL = 00h enable RI power up
	    else disable RI power up
Return: nothing
Desc:	control whether the Ring Indicator handshake can power up the Hunter

Top
1427 - INT 14 - MultiDOS Plus - GET BUFFER CHARACTER COUNT
INT 14 - MultiDOS Plus - GET BUFFER CHARACTER COUNT
	AH = 27h
	DX = port number
Return: AH = status
	    00h successful
	    41h no such port
	    42h monitor mode not active
	AL = number of characters in receive buffer

Top
1427 - INT 14 - HUNTER 16 - GET INSTALLED PROTOCOLS COUNT
INT 14 - HUNTER 16 - GET INSTALLED PROTOCOLS COUNT
	AH = 27h
	AL = number of extended protocols installed (since last call)
Return: AL = total number installed, including new ones
Desc:	Returns the number of extended communication protocols installed
SeeAlso: AH=25h"HUNTER",AH=28h"HUNTER"

Top
1428 - INT 14 - HUNTER 16 - GET PROTOCOL NAME
INT 14 - HUNTER 16 - GET PROTOCOL NAME
	AH = 28h
	AL = protocol handle
	DS:BX -> 8 character buffer for protocol name
Return: AH = status
	    00h successful
		DS:BX buffer filled with the protocol name
	    FFh failed
SeeAlso: AH=27h"HUNTER",AH=29h"HUNTER"

Top
1429 - INT 14 - HUNTER 16 - GET PROTOCOL HANDLE
INT 14 - HUNTER 16 - GET PROTOCOL HANDLE
	AH = 29h
	DS:BX -> buffer containing the protocol name
Return: AH = status
	    00h successful
		AL = handle
	    FFh failed
SeeAlso: AH=28h"HUNTER",AH=2Ah"HUNTER"

Top
142A - INT 14 - HUNTER 16 - EXTENDED PROTOCOL MENU
INT 14 - HUNTER 16 - EXTENDED PROTOCOL MENU
	AH = 2Ah
	AL = protocol handle
Return: AH = status
	    00h successful
	    FFh failed
	AL = menu handle
SeeAlso: AH=29h"HUNTER",AH=2Bh"HUNTER"

Top
142B - INT 14 - HUNTER 16 - GET EXTENDED PROTOCOL PARAMETERS
INT 14 - HUNTER 16 - GET EXTENDED PROTOCOL PARAMETERS
	AH = 2Bh
	AL = protocol handle
	DS:BX -> buffer for extended protocol parameters
Return: AH = status
	    00h successful
		DS:BX buffer filled with extended parameters
	    FFh failed
SeeAlso: AH=2Ah"HUNTER"

Top
142C00 - INT 14 - HUNTER 16 - GET DTR
INT 14 - HUNTER 16 - GET DTR
	AX = 2C00h
Return: AH = 00h
	BL = current state
	    00h	 normal DTR operation
	    else DTR is forced high
Desc:	Indicates whether the DTR signal on COM1 is forced high
Note:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
SeeAlso: AH=2Ch"SET DTR"

Top
142C - INT 14 - HUNTER 16 - SET DTR
INT 14 - HUNTER 16 - SET DTR
	AH = 2Ch
	AL nonzero
	BL = new state
	    00h	 normal operation
	    else force DTR high
Return: AH = 00h
Desc:	determine whether the DTR signal on COM1 should be forced high
SeeAlso: AX=2C00h

Top
1436 - INT 14 - ComShare - INSTALLATION CHECK
INT 14 - ComShare - INSTALLATION CHECK
	AH = 36h
Return: AX = 4353h ('CS') if installed
	    BX = bitmap of installed ports (bit 0: COM1 is gateway, etc.)
	    CX reserved for future use
	    WORD DX:[0100h] = ComShare version number
Program: The ComShare System is a modem-sharing program for NetBIOS and
	  NetWare-based networks by NashaKala Corporation
Note:	ComShare supports the standard BIOS INT 14h calls with a slight
	  change in the interpretation of speed values
	  (see #00309 at AH=04h"SERIAL")
SeeAlso: AH=00h"SERIAL",AH=04h"SERIAL",AX=F4FFh

Top
144000 - INT 14 - I1541 - INSTALLATION CHECK
INT 14 - I1541 - INSTALLATION CHECK
	AX = 4000h
Return: AX = 1541h if installed
	    BH = I1541 major version (BCD)
	    BL = I1541 minor version (BCD)
	    CX = 0000h

Top
144001 - INT 14 - I1541 - TEST IF 1541 CABLE CONNECTED
INT 14 - I1541 - TEST IF 1541 CABLE CONNECTED
	AX = 4001h
Return: CF clear if connected
	    BL = LPT number where 1541 cable is connected (1..3)
	CF set if cable not connected
Desc:	scan all the LPT ports searching for the adapter cable
SeeAlso: AX=4000h

Top
144002 - INT 14 - I1541 - SELECT LPT PORT FOR OUTPUT
INT 14 - I1541 - SELECT LPT PORT FOR OUTPUT
	AX = 4002h
	BL = LPT number (1..3)
Return: CF clear if successful
	CF set otherwise
Desc:	force the input output routines to work on the cable placed on LPT BL
SeeAlso: AX=4001h

Top
144003 - INT 14 - I1541 - RESET ALL DEVICES
INT 14 - I1541 - RESET ALL DEVICES
	AX = 4003h
Return: nothing
Desc:	send a reset pulse of 100ms to all CBM devices
Note:	it is necessary to wait about 2 seconds after reset before executing
	  other	instructions
SeeAlso: AX=4000h,AX=4004h

Top
144004 - INT 14 - I1541 - SEND LISTEN SIGNAL
INT 14 - I1541 - SEND LISTEN SIGNAL
	AX = 4004h
	BH = device number (0..15)
Return: CF clear if successful
	CF set on error
	    AL = error number (see #00354)
SeeAlso: AX=4005h,AX=4006h

(Table 00354)
Values for I1541 error number:
 00h	device not present
 01h	listener not ready
 02h	missing EOI time-out
 03h	EOI not completed
 04h	data not released
 05h	frame error

Top
144005 - INT 14 - I1541 - SEND SECONDARY ADDRESS FOR LISTEN
INT 14 - I1541 - SEND SECONDARY ADDRESS FOR LISTEN
	AX = 4005h
	BL = channel number and mode (see #00355)
Return: CF clear if successful
	CF set on error
	    AL = error number (see #00354)
SeeAlso: AX=4004h,AX=4006h

Bitfields for I1541 channel number and mode:
Bit(s)	Description	(Table 00355)
 7-4	mode
	0110 read/write
	1110 close channel
	1111 open channel
 3-0	channel number

Top
144006 - INT 14 - I1541 - SEND UNLISTEN SIGNAL
INT 14 - I1541 - SEND UNLISTEN SIGNAL
	AX = 4006h
Return: CF clear if successful
	CF set on error
	    AL = error number (see #00354)
SeeAlso: AX=4004h,AX=4005h

Top
144007 - INT 14 - I1541 - SEND TALK SIGNAL
INT 14 - I1541 - SEND TALK SIGNAL
	AX = 4007h
	BH = device number (0-15)
Return: CF clear if successful
	CF set on error
	    AL = error number (see #00354)
SeeAlso: AX=4008h,AX=4009h

Top
144008 - INT 14 - I1541 - SEND SECONDARY ADDRESS FOR TALK
INT 14 - I1541 - SEND SECONDARY ADDRESS FOR TALK
	AX = 4008h
	BL = channel number and mode (see #00355)
Return: CF clear if successful
	CF set on error
	    AL = error number (see also #00354)
		40h turn around time-out
SeeAlso: AX=4007h,AX=4009h

Top
144009 - INT 14 - I1541 - SEND UNTALK SIGNAL
INT 14 - I1541 - SEND UNTALK SIGNAL
	AX = 4009h
Return: CF clear if successful
	CF set on error
	   AL = error number (see #00354)
SeeAlso: AX=4007h,AX=4008h

Top
14400A - INT 14 - I1541 - SEND A BYTE TO A DEVICE
INT 14 - I1541 - SEND A BYTE TO A DEVICE
	AX = 400Ah
	BL = byte to send
	CL = last-byte flag
	    00h more bytes follow
	    01h this is the last byte to be sent
Return: CF clear if successful
	CF set on error
	    AL = error number (see #00354)
SeeAlso: AX=4000h,AX=400Bh

Top
14400B - INT 14 - I1541 - RECEIVE A BYTE FROM A DEVICE
INT 14 - I1541 - RECEIVE A BYTE FROM A DEVICE
	AX = 400Bh
Return: CF clear if successful
	    AL = byte received
	    CL = last-byte flag
		00h more bytes to follow
		01h received byte is the last
	CF set on error
	    AL = error number
		80h EOI response required
		81h talker not ready
		82h clock not set
		83h clock not released
	    CL = 00h
SeeAlso: AX=4000h,AX=400Ah

Top
14400C - INT 14 - I1541 - WAIT
INT 14 - I1541 - WAIT
	AX = 400Ch
	CX = number of 838ns microticks to wait (0000h means 65536, ~55ms)
Return: after wait period elapses
SeeAlso: AX=4000h,AX=400Dh

Top
14400D - INT 14 - I1541 - LONGWAIT
INT 14 - I1541 - LONGWAIT
	AX = 400Dh
	DX:CX = number of 838ns microticks to wait
	     (0000h:0000h means 4294967296, about one hour)
Example: To wait 1s you must set DX:CX=(1s/838ns)=1193180
SeeAlso: AX=4000h,AX=400Ch

Top
14400E - INT 14 - I1541 - GET INFO
INT 14 - I1541 - GET INFO
	AX = 400Eh
Return: AX = LPT port I/O address in use (0000h if no cable in use)
	BL = LPT number (1..3) in use (00h if no cable in use)
	CF set if the cable is auto-detectable
	CF clear if cable could not be auto-detected or is not present
SeeAlso: AX=4000h

Top
1456 - INT 14 U - BWCOM14 - INSTALLATION CHECK
INT 14 U - BWCOM14 - INSTALLATION CHECK
	AH = 56h
Return: CX = 0001h if installed
Program: BWCOM14 is a network serial port emulator (simulating a Hayes modem
	  connected to the serial port) distributed as part of the
	  Beame&Whiteside BW-NFS package
SeeAlso: AH=57h,AH=58h,INT 2F/AX=DF00h/BX=5445h

Top
1457 - INT 14 U - BWCOM14 - INITIALIZE
INT 14 U - BWCOM14 - INITIALIZE
	AH = 57h
	DL = port number
Return: AL = initialization status (00h successful, 01h already initialized)
	CX = port status (0001h port redirected, 0002h and FFFFh failed)
Note:	after this call, all invocations of INT 14/AH=00h-03h for the specified
	  port will be handled by BWCOM14 until AH=58h is called
SeeAlso: AH=00h"SERIAL",AH=56h,AH=58h

Top
1458 - INT 14 U - BWCOM14 - SHUTDOWN
INT 14 U - BWCOM14 - SHUTDOWN
	AH = 58h
Return: CX = status (0001h successful, 0002h not initialized)
Note:	after this call, BWCOM14 will no longer redirect the COM port
SeeAlso: AH=56h,AH=57h

Top
146F--BXFFFE - INT 14 U - Connection Manager - ???
INT 14 U - Connection Manager - ???
	AH = 6Fh
	BX = FFFEh
	???
Return: ???
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network

Top
146F--BXFFFF - INT 14 - Connection Manager - INSTALLATION CHECK
INT 14 - Connection Manager - INSTALLATION CHECK
	AH = 6Fh
	BX = FFFFh
Return: DX:BX -> Connection Manager Communication Table if installed
	BX = FFFFh if not installed
SeeAlso: AH=0Dh/DX=FFFFh

Top
146F00 - INT 14 - HP Vectra EX-BIOS - "F14_INQUIRE" - INSTALLATION CHECK
INT 14 - HP Vectra EX-BIOS - "F14_INQUIRE" - INSTALLATION CHECK
	AX = 6F00h
	BX <> 4850h (usually set to 0000h for simplicity)
Return: BX = 4850h ("HP") if HP Extended BIOS serial port extensions available
	AX destroyed
Note:	supported by original HP Vectra AT and by ES/QS/RS series Vectras
SeeAlso: AX=6F01h,AX=6F02h,AX=6F03h,AX=6F04h,INT 10/AX=6F00h,INT 14/AX=6F00h
SeeAlso: INT 17/AX=6F00h,INT 33/AX=6F00h

Top
146F01 - INT 14 - HP Vectra EX-BIOS - "F14_EXINIT" - INITIALIZE SERIAL PORT
INT 14 - HP Vectra EX-BIOS - "F14_EXINIT" - INITIALIZE SERIAL PORT
	AX = 6F01h
	BX = port attributes (see #00356)
	DX = port number (0-3)
Return: AH = line status (see #00304)
	AL = modem status (see #00305)
Note:	supported by original HP Vectra AT and by ES/QS/RS series Vectras
SeeAlso: AX=6F00h

Bitfields for HP Vectra Extended BIOS serial port attributes:
Bit(s)	Description	(Table 00356)
 8-5	data rate (110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200)
 4-3	parity
	00 none
	01 odd
	10 none
	11 even
 2	stop bits (0 = one, 1 = two)
 1-0	bits per character
	10 seven-bit characters
	11 eight-bit characters
	0x undefined

Top
146F02 - INT 14 - HP Vectra EX-BIOS - "F14_PUT_BUFFER" - TRANSMIT BUFFER
INT 14 - HP Vectra EX-BIOS - "F14_PUT_BUFFER" - TRANSMIT BUFFER
	AX = 6F02h
	CX = number of characters in buffer
	DX = port number (0-3)
	ES:DI -> buffer containing characters
Return: AH = line status (see #00304)
	AL = modem status (see #00305)
	CX = number of bytes actually sent
	ES:DI -> next byte to be transferred (unchanged if all bytes sent)
Desc:	send characters from the specified buffer until all characters have
	  been sent or an error/timeout is encountered
Note:	supported by original HP Vectra AT and by ES/QS/RS series Vectras
SeeAlso: AX=6F00h,AX=6F03h,AX=6F04h,INT 17/AX=6F02h

Top
146F03 - INT 14 - HP Vectra EX-BIOS - "F14_GET_BUFFER" - READ DATA INTO BUFFER
INT 14 - HP Vectra EX-BIOS - "F14_GET_BUFFER" - READ DATA INTO BUFFER
	AX = 6F03h
	CX = size of buffer
	DX = port number (0-3)
	ES:DI -> buffer for received characters
Return: AH = line status (see #00304)
	---on error (AH bit 7 set)---
	   AL = 00h
	   ES:DI -> next byte to be transferred
	---if successful---
	   AL = last byte read
	   ES:DI unchanged
	CX = number of bytes read
Desc:	read characters into the specified buffer until the buffer is filled
	  or a timeout occurs
Notes:	supported by original HP Vectra AT and by ES/QS/RS series Vectras
	polls the Data Set Ready modem status and Data Ready line status bits
	  to determine when characters are available
SeeAlso: AX=6F00h,AX=6F02h,AX=6F04h

Top
146F04 - INT 14 - HP Vectra EX-BIOS - "F14_TRM_BUFFER" - READ UNTIL TERMINATOR
INT 14 - HP Vectra EX-BIOS - "F14_TRM_BUFFER" - READ UNTIL TERMINATOR
	AX = 6F04h
	BL = lowest termination character
	BH = highest termination character
	CX = size of buffer
	DX = port number (0-3)
	ES:DI -> buffer for received characters
Return: AH = line status (see #00304)
	---on error (AH bit 7 set)---
	   AL = 00h
	   ES:DI -> next byte to be transferred
	---if successful---
	   AL = last byte read
	   ES:DI unchanged
	CX = number of bytes read
Desc:	read characters into the specified buffer until the buffer is filled,
	  a character in the specified range is received, or a timeout occurs
Notes:	supported by original HP Vectra AT and by ES/QS/RS series Vectras
	polls the Data Set Ready modem status and Data Ready line status bits
	  to determine when characters are available
SeeAlso: AX=6F00h,AX=6F02h,AX=6F03h

Top
147000 - INT 14 - NEWCOM - INSTALLATION CHECK
INT 14 - NEWCOM - INSTALLATION CHECK
	AX = 7000h
Return: AX = 4E43h ('NC') if installed
	BX = 4F4Dh ('OM') if installed
	    CH = major version number
	    CL = minor version number
	    DH = patch level
	    DL = language (currently: 00h English, 01h French)
Program: Newcom is a DOS commandline-enhancer by kilobug@kali.isicom.fr
SeeAlso: INT 2F/AX=D44Dh

Top
147E - INT 14 - FOSSIL - INSTALL AN EXTERNAL APPLICATION FUNCTION
INT 14 - FOSSIL - INSTALL AN EXTERNAL APPLICATION FUNCTION
	AH = 7Eh
	AL = code assigned to external application (80h-BFh)
	    80h reserved for communications FOSSIL
	    81h video FOSSIL
	    82h reserved for keyboard FOSSIL
	    83h reserved for system FOSSIL
	ES:DX -> entry point
Return: AX = 1954h
	BL = code assigned to application (same as input AL)
	DH = status
	    00h failed
	    01h successful
SeeAlso: AH=7Fh,AH=80h"FOSSIL",AX=8100h,AH=82h"FOSSIL",AH=83h"FOSSIL"

Top
147F - INT 14 - FOSSIL - REMOVE AN EXTERNAL APPLICATION FUNCTION
INT 14 - FOSSIL - REMOVE AN EXTERNAL APPLICATION FUNCTION
	AH = 7Fh
	AL = code assigned to external application
	ES:DX -> entry point
Return: AX = 1954h
	BL = code assigned to application (same as input AL)
	DH = status
	    00h failed
	    01h successful
SeeAlso: AH=7Eh

Top
1480 - INT 14 - COMMUNICATIONS FOSSIL
INT 14 - COMMUNICATIONS FOSSIL
	AH = 80h
SeeAlso: AH=7Eh

Top
1480 - INT 14 - COURIERS.COM - INSTALLATION CHECK
INT 14 - COURIERS.COM - INSTALLATION CHECK
	AH = 80h
Return: AH = E8h if loaded
Program: COURIERS is a TSR utility by PC Magazine

Top
148000 - INT 14 - ARTICOM - INSTALLATION CHECK
INT 14 - ARTICOM - INSTALLATION CHECK
	AX = 8000h
Return: AL = FFh if installed
	    BH = major version
	    BL = minor version
Program: ArtiCom is an asynchronous communications driver by Artisoft which
	  works on top of NetBIOS and allows modem/serial-port sharing by
	  programs using INT 14 for serial I/O.
Note:	ArtiCom supports 32 simultaneous COM ports using multiport cards and
	  drivers
SeeAlso: AH=00h"SERIAL",AH=01h,AH=02h,AH=03h,AH=04h"SERIAL",AH=05h"SERIAL"
SeeAlso: AX=8001h,AX=8002h

Top
148000 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET ERROR CODE AND BUFFER STATUS
INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET ERROR CODE AND BUFFER STATUS
	AX = 8000h
	DX = port number
Return: AX = code for last error (see #00357)
	BX = number of characters in output buffer
	CX = nubmer of characters in input buffer
	DX = state flag (see #00358)
Program: COMM-DRV is a universal serial communications driver by Willies'
	  Computer Software Company, which supports standard INT 14 and
	  FOSSIL calls as well as its own interfaces
SeeAlso: AX=8001h"COMM-DRV",AX=8002h"COMM-DRV",AX=8003h"COMM-DRV"

(Table 00357)
Values for COMM-DRV error code:
 00h	no error
 01h	buffer not set or attempted to change buffer for active port
 02h	port not active
 03h	transmit buffer full
 04h	receive buffer full
 05h	syntax error
 06h	invalid buffer size
 07h	invalid port
 08h	handler changed
 09h	invalid baud rate
 0Ah	invalid parity setting
 0Bh	invalid data length
 0Ch	invalid number of stop bits
 0Dh	invalid protocol number
 0Eh	IRQ changed
 0Fh	port changged
 10h	invalid threshold setting
 11h	invalid IRQ number
 12h	interrupts not enabled
 13h	invalid break syntax
 14h	fatal error
 15h	CTS error
 16h	invalid RS232 I/O port address
 17h	environment variable not set
 18h	error on IOCTL call
 19h	error during atexit cleanup
 1Ah	error mapping for direct calls
 1Bh	error opening device
 1Ch	unable to allocate memory
 1Dh	error on external micro card
 1Eh	card changed error
 1Fh	card type error
 20h	not supported
 21h	parent port error
 22h	card command buffer full
 23h	no subdevice for this port
 24h	unknown error
 25h	external card busy
 26h	no more timers available
 27h	INT 14 vector changed
 28h	INT 08 vector changed
 29h	DPMI error
 2Ah	TSR buffer too small (or nonexistent)
 2Bh	out of asynchronous resources
 2Ch	out of timer resources
 2Dh	out of "other" timer resources
 2Eh	file I/O error
 2Fh	hardware memory > 64K

Bitfields for state flag :
Bit(s)	Description	(Table 00358)
 0	port is active
 1	output throttled (XOFF received, or DSR or CTS reset)
 2	input throttled (XOFF sent, or DTR or RTS reset)

Top
148001 - INT 14 - ARTICOM - UNLOAD ASYNCHRONOUS REDIRECTOR FROM MEMORY
INT 14 - ARTICOM - UNLOAD ASYNCHRONOUS REDIRECTOR FROM MEMORY
	AX = 8001h
Return: AX = error code, if error (see #00360)
SeeAlso: AX=8000h"ARTICOM",AX=8002h"ARTICOM",AX=8003h"ARTICOM"
Index:	uninstall;ARTICOM

Top
148001 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
	AX = 8001h
	DX = port number
Return: BX:DI -> Port Control Block (see #00367)
SeeAlso: AX=8000h"COMM-DRV",AX=8002h"COMM-DRV",AX=8003h"COMM-DRV"

Top
148002 - INT 14 - ARTICOM - GET ASYNCHRONOUS REDIRECTOR STATUS
INT 14 - ARTICOM - GET ASYNCHRONOUS REDIRECTOR STATUS
	AX = 8002h
	ES:DI -> buffer for redirector status structure (see #00359)
Return: AX = error code, if error (see #00360)
SeeAlso: AX=8000h"ARTICOM",AX=8003h"ARTICOM"

Format of ARTICOM redirector status:
Offset	Size	Description	(Table 00359)
 00h	WORD	redirector major and minor version numbers
 02h	WORD	redirectable ports found
 04h	WORD	redirectable ports + local ports found
 06h	WORD	redirector internal buffer size
 08h	WORD	maximum servers maintained
 0Ah	WORD	number of adapters found

Top
148002 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET PORT PARAMETERS
	AX = 8002h
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
	    BX:DI -> Port Control Block (see #00367) (modifyable portion only)
SeeAlso: AX=8000h"COMM-DRV",AX=8001h"COMM-DRV",AX=8003h"COMM-DRV"

Top
148003 - INT 14 - ARTICOM - TRANSLATE ERROR CODE TO ERROR STRING
INT 14 - ARTICOM - TRANSLATE ERROR CODE TO ERROR STRING
	AX = 8003h
	CX = error number to translate (see #00360)
Return: ES:DI -> ASCIZ error text or 0000h:0000h if unable to translate
SeeAlso: AX=8000h

(Table 00360)
Values for ARTICOM error codes:
 00h	"No error"
 01h	"An invalid port number was specified"
 02h	"Port is already redirected"
 03h	"Too many ports redirected"
 04h	"Cannot locate the server"
 05h	"Server is busy"
 06h	"Access denied"
 07h	"Resource in use"
 08h	"Resource in use - request queued"
 09h	"No such resource"
 0Ah	"Invalid username/password pair"
 0Bh	"Noncompatible version number"
 0Ch	"Can't remove from memory"
 0Dh	"Bad NETBIOS adapter number"
 0Eh	"No more entries in list"
 0Fh	"Resource is not available at this time"
 10h	"Invalid value to INT 14 call"

Top
148003 - INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET I/O BUFFER SIZES
INT 14 - COMM-DRV v14.0 - READ PORT METRICS - GET I/O BUFFER SIZES
	AX = 8003h
	DX = port number
Return: AX = number of characters in input buffer
	BX = input buffer size
	CX = number of characters in output buffer
	DX = output buffer size
SeeAlso: AX=8000h"COMM-DRV",AX=8001h"COMM-DRV",AX=8002h"COMM-DRV"

Top
148004 - INT 14 - ARTICOM - ATTACH ASYNCHRONOUS RESOURCE
INT 14 - ARTICOM - ATTACH ASYNCHRONOUS RESOURCE
	AX = 8004h
	DX = port to redirect (COM1=0, COM2=1, ...)
	CH = attach type
	CL = adapter to use for attach, 0FFh to search all
	ES:DI -> attachment structure (see #00361)
Return: AX = error code, if error (see #00360)
Note:	The wildcard '*' is supported in the server and resource fields.  If
	  wild cards are used then the first matching available server is
	  attached.
SeeAlso: AX=8000h,AX=8003h,AX=8005h

Format of ARTICOM attachment structure:
Offset	Size	Description	(Table 00361)
 00h 16 BYTEs	server to look for attach
 10h 16 BYTEs	attach to resource name
 20h 16 BYTEs	username for attach
 30h 16 BYTEs	password for username or resource
 40h	BYTE	attach type
		00h normal
		01h queue if resource is in use (not yet supported in v1.00)

Top
148005 - INT 14 - ARTICOM - DETACH ASYNCHRONOUS RESOURCE
INT 14 - ARTICOM - DETACH ASYNCHRONOUS RESOURCE
	AX = 8005h
	DX = port to detach (COM1=0, COM2=1, ...)
Return: AX = error code, if error (see #00360)
Note:	only a previously attached resource can be detached
SeeAlso: AX=8000h,AX=8003h,AX=8004h

Top
148006 - INT 14 - ARTICOM - GET RESOURCE INFORMATION
INT 14 - ARTICOM - GET RESOURCE INFORMATION
	AX = 8006h
	BX = remote port (COM1=0, COM2=1, ...)
	CL = adapter number, FFh to try all adapters
	ES:DI -> resource information structure (see #00362)
	DS:SI -> 16 byte server name. See note.
Return: AX = error code, if error (see #00360)
	BX = next remote port, recall to get next resource info
Note:	Wild cards supported in both the resource field and server name
	  string DS:SI. If wild cards used then first matching available
	  resource information is searched. Set the resource field to FFh to
	  return all resources.
SeeAlso: AX=8000h,AX=8002h,AX=8003h,AX=8007h

Format of ARTICOM resource information structure:
Offset	Size	Description	(Table 00362)
 00h	BYTE	00h = free, else used
 01h 16 BYTEs	resource name
 11h 16 BYTEs	username of resource user
 21h	WORD	amount of time used
 23h	WORD	amount of time remaining
 53h 48 BYTEs	description of resource
 93h 64 BYTEs	initialization string for modem
 B3h 32 BYTEs	dial string for modem
 D3h 32 BYTEs	hang-up string for modem

Top
148007 - INT 14 - ARTICOM - GET REDIRECTED PORT INFORMATION
INT 14 - ARTICOM - GET REDIRECTED PORT INFORMATION
	AX = 8007h
	DX = port index (COM1=0, COM2=1, ...)
	ES:DI -> buffer for port information structure (see #00363)
Return: CF clear if redirection info returned and port is redirected
	CF set if not a redirected port
	AX = error code, if error (see #00360)
SeeAlso: AX=8000h,AX=8003h,AX=8006h,AX=8008h

Format of ARTICOM port information structure:
Offset	Size	Description	(Table 00363)
 00h 16 BYTEs	server name resource is on
 10h	BYTE	adapter number server is on
 11h 16 BYTEs	resource name
 21h	WORD	remote port index, use to get additional information
 23h	WORD	buffer size
 25h	WORD	baud rate (see #00364)
 26h	BYTE	modem status register
 27h	BYTE	modem control register
 28h	BYTE	line status register
 29h	BYTE	line control register
 2Ah	BYTE	flow control in use: 0 - NONE, 1 - XON/XOFF, 2 - RTS/CTS
 2Bh	WORD	send timeout in ticks
 2Dh	WORD	receive timeout in ticks
 2Fh	WORD	time used on remote port
 31h	WORD	time left before timeout
 33h	BYTE	if server changes allowed?
 34h	WORD	FFFFh (-1) if connection ok, else old port index

(Table 00364)
Values for ARTICOM baud rate:
 00h	110
 01h	150
 02h	300
 03h	600
 04h	1200
 05h	2400
 06h	4800
 07h	9600
 08h	19200
 09h	38400
 0Ah	57600
 0Bh	115200
 0Ch	134.5
 0Dh	1800
 0Eh	2000
 0Fh	3600
 10h	7200
SeeAlso: #00309

Top
148008 - INT 14 - ARTICOM - GET AVAILABLE SERVER NAME
INT 14 - ARTICOM - GET AVAILABLE SERVER NAME
	AX = 8008h
	BX = server index (0,1,...)
	ES:DI -> server name structure (see #00365)
Return: AX = error code, if error (see #00360)
	BX = next remote port, repeat call to get next available server
Note:	the wildcard '*' is supported in the server name field.	 Set the
	  server name to FFh to search for all servers.
SeeAlso: AX=8000h,AX=8003h,AX=8007h

Format of ARTICOM server name structure:
Offset	 Size	  Description	(Table 00365)
  00h 16 BYTEs	  (call) ASCIZ server name
  10h	 BYTE	  (ret) the adapter server is found

Top
148009 - INT 14 - ARTICOM - SET SEND AND RECEIVE TIMEOUTS
INT 14 - ARTICOM - SET SEND AND RECEIVE TIMEOUTS
	AX = 8009h
	BX = send timeout in ticks
	CX = receive timeout in ticks
	DX = port index (COM1=0, COM2=1, ...)
Return: nothing
SeeAlso: AX=8000h,AX=800Ah

Top
14800A - INT 14 - ARTICOM - MODIFY FLOW CONTROL
INT 14 - ARTICOM - MODIFY FLOW CONTROL
	AX = 800Ah
	BL = flow control type (00h none, 01h XON/XOFF, 02h RTS/CTS)
	DX = port index (COM1=0, COM2=1, ...)
Return: AX = error code, if error (see #00360)
Note:	for attached ports only!
SeeAlso: AX=8000h,AX=8003h,AX=8009h

Top
148025 - INT 14 - ARTICOM - SET INTERNAL SEND/RECEIVE VECTOR
INT 14 - ARTICOM - SET INTERNAL SEND/RECEIVE VECTOR
	AX = 8025h
	DS:DX -> address of trap function (see #00366) to call on read/write
Return: nothing
Note:	setting the vector to a user function allows the redirector's activity
	  to be monitored.
SeeAlso: AX=8000h,AX=8035h,INT 21/AH=25h

(Table 00366)
Values ARTICOM trap function is called with:
	AH = operation
	    80h reading character
	    81h writing character
	AL = character
Return: AX must be preserved
	far JUMP to old trap function (see AX=8035h)

Top
148035 - INT 14 - ARTICOM - GET INTERNAL SEND/RECEIVE VECTOR
INT 14 - ARTICOM - GET INTERNAL SEND/RECEIVE VECTOR
	AX = 8035h
Return: ES:BX -> address of current send/receive routine
Note:	this function returns the address of the routine which is called
	  inside A-REDIR.EXE each time a character is received or sent on the
	  active COM port.
SeeAlso: AX=8000h,AX=8025h,INT 21/AH=35h

Top
1481 - INT 14 - COURIERS.COM - CHECK IF PORT BUSY
INT 14 - COURIERS.COM - CHECK IF PORT BUSY
	AH = 81h
	AL = port number (1-4)
Return: AH = status
	    00h port available
	    01h port exists but already in use
	    02h port nonexistent
Program: COURIERS is a TSR utility by PC Magazine
SeeAlso: AH=83h,AH=8Dh

Top
1481 - INT 14 - COMM-DRV - EXTENDED INITIALIZATION
INT 14 - COMM-DRV - EXTENDED INITIALIZATION
	AH = 81h
	BX:DI -> port control block (see #00367)
	DX = port number
Return: AH = line status register (see #00304)
	    error if bit 7 set
	AL = modem status register (see #00305)
Program: COMM-DRV is a universal serial communications driver by Willies'
	  Computer Software Company, which supports standard INT 14 and
	  FOSSIL calls as well as its own interfaces
Note:	AX=8001h should be called first to fill in the port control block
SeeAlso: AH=00h,AX=8001h,AH=82h"COMM-DRV",AH=86h"COMM-DRV"

Format of COMM-DRV port control block:
Offset	Type	Description	(Table 00367)
 00h	WORD	port IO address
 02h	WORD	port IRQ
 04h	WORD	baud rate
 06h	WORD	parity
 08h	WORD	data bits
 0Ah	WORD	stop bits
 0Ch	WORD	break status (0000h off)
 0Eh	WORD	flow control protocol
 10h	BYTE	input block
 11h	BYTE	output block
 12h	WORD	low threshold
 14h	WORD	high threshold
 16h	WORD	segment of buffer
 18h	WORD	offset of buffer
 1Ah	WORD	input buffer length
 1Ch	WORD	output buffer length
 1Eh	BYTE	auxiliary address
 1Fh	BYTE	spare
 20h  4 WORDs	spares

Top
148100 - INT 14 - VIDEO FOSSIL - RETURN VFOSSIL INFORMATION
INT 14 - VIDEO FOSSIL - RETURN VFOSSIL INFORMATION
	AX = 8100h
	ES:DI -> buffer for VFOSSIL information (see #00368)
Return: AX = 1954h if installed
SeeAlso: AH=7Eh,AX=8101h

Format of VFOSSIL information:
Offset	Size	Description	(Table 00368)
 00h	WORD	size of information in bytes, including this field
 02h	WORD	VFOSSIL major version
 04h	WORD	VFOSSIL revision level
 06h	WORD	highest VFOSSIL application function supported

Top
148101 - INT 14 - VIDEO FOSSIL - OPEN VFOSSIL
INT 14 - VIDEO FOSSIL - OPEN VFOSSIL
	AX = 8101h
	ES:DI -> buffer for application function table (see #00369)
	CX = length of buffer in bytes
Return: AX = 1954h if installed
	    BH = highest VFOSSIL application function supported
Note:	the number of initialized pointers in the application function table
	  will never exceed CX/4; if the buffer is large enough, BH+1 pointers
	  will be initialized
SeeAlso: AX=8102h

Format of VFOSSIL application function table:
Offset	Size	Description	(Table 00369)
 00h	DWORD	-> function to query current video mode (VioGetMode)(see #00374)
 04h	DWORD	-> function to set video mode (VioSetMode) (see #00375)
 08h	DWORD	-> function to query hardware config (VioGetConfig) (see #00376)
 0Ch	DWORD	-> function to write data in TTY mode (VioWrtTTY) (see #00377)
 10h	DWORD	-> function to get current ANSI state (VioGetANSI) (see #00378)
 14h	DWORD	-> function to set new ANSI state (VioSetANSI) (see #00379)
 18h	DWORD	-> function to get curr cursor position (VioGetCurPos)
		  (see #00380)
 1Ch	DWORD	-> function to set cursor position (VioSetCurPos) (see #00381)
 20h	DWORD	-> function to get cursor shape (VioGetCurType) (see #00382)
 24h	DWORD	-> function to set cursor shape (VioSetCurType) (see #00383)
 28h	DWORD	-> function to scroll screen up (VioScrollUp) (see #00384)
 2Ch	DWORD	-> function to scroll screen down (VioScrollDn) (see #00385)
 30h	DWORD	-> function to read cell string from screen (VioReadCellStr)
		  (see #00386)
 34h	DWORD	-> function to read char string from screen (VioReadCharStr)
		  (see #00387)
 38h	DWORD	-> function to write a cell string (VioWrtCellStr)
		  (see #00388)
 3Ch	DWORD	-> function to write char string, leaving attr (VioWrtCharStr)
		  (see #00389)
 40h	DWORD	-> function to write char string,const attr (VioWrtCharStrAttr)
		  (see #00390)
 44h	DWORD	-> function to replicate an attribute (VioWrtNAttr)
		  (see #00391)
 48h	DWORD	-> function to replicate a cell (VioWrtNCell)
		  (see #00392)
 4Ch	DWORD	-> function to replicate a character (VioWrtNChar)
		  (see #00393)

Format of VFOSSIL video mode data structure:
Offset	Size	Description	(Table 00370)
 00h	WORD	length of structure including this field
 02h	BYTE	mode characteristics
		bit 0: clear if MDA, set otherwise
		bit 1: graphics mode
		bit 2: color disabled (black-and-white)
 03h	BYTE	number of colors supported (1=2 colors, 4=16 colors, etc)
 04h	WORD	number of text columns
 06h	WORD	number of text rows
 08h	WORD	reserved
 0Ah	WORD	reserved
 0Ch	DWORD	reserved
SeeAlso: #00374,#00375

Format of VFOSSIL video configuration data:
Offset	Size	Description	(Table 00371)
 00h	WORD	structure length including this field
 02h	WORD	adapter type
		00h monochrome/printer
		01h CGA
		02h EGA
		03h VGA
		07h 8514/A
 04h	WORD	display type
		00h monochrome
		01h color
		02h enhanced color
		09h 8514
 06h	DWORD	adapter memory size
SeeAlso: #00376

Format of VFOSSIL cursor type record:
Offset	Size	Description	(Table 00372)
 00h	WORD	cursor start line
 02h	WORD	cursor end line
 04h	WORD	cursor width (always 01h)
 06h	WORD	cursor attribute (FFFFh = hidden)

(Table 00373)
Values for VFOSSIL error code:
 0000h	successful
 0074h	internal VIO failure
 0163h	unsupported mode
 0166h	invalid row value
 0167h	invalid column value
 017Eh	buffer too small
 01A5h	invalid VIO parameter
 01B4h	invalid VIO handle

(Table 00374)
Call VioGetMode with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to video mode data structure (see #00370)
Return: AX = error code (00h, 74h, 17Eh, 1B4h) (see #00373)
SeeAlso: #00375

(Table 00375)
Call VioSetMode with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to video mode data structure (see #00370)
Return: AX = error code (00h, 74h, 163h, 17Eh, 1A5h, 1B4h) (see #00373)
SeeAlso: #00374

(Table 00376)
Call VioGetConfig with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to video configuration data buffer (see #00371)
Return: AX = error code (00h, 74h, 17Eh, 1B4h) (see #00373)

(Table 00377)
Call VioWrtTTY with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	length of string
		DWORD	pointer to character string to be written to screen
Return: AX = error code (00h, 74h, 1B4h) (see #00373)
Notes:	write wraps at end of line and terminates if it reaches end of screen
	in ANSI mode, ANSI control sequences are interpreted, and this func is
	  not required to be reentrant; in non-ANSI mode, the function is
	  reentrant and may be called from within an MS-DOS function call

(Table 00378)
Call VioGetANSI with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to WORD which will be set to 00h if ANSI is off
			or 01h if ANSI is on
Return: AX = error code (00h, 74h, 1B4h) (see #00373)
SeeAlso: #00379

(Table 00379)
Call VioSetANSI with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to WORD indicating new state of ANSI
			00h off, 01h on
Return: AX = error code (00h, 74h, 1A4h, 1B4h) (see #00373)
SeeAlso: #00378

(Table 00380)
Call VioGetCurPos with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to WORD to hold current cursor column (0-based)
		DWORD	pointer to WORD to hold current cursor row (0-based)
Return: AX = error code (00h, 74h, 1B4h) (see #00373)
SeeAlso: #00381

(Table 00381)
Call VioSetCurPos with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	cursor column
		WORD	cursor row
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
Note:	if either coordinate is invalid, the cursor is not moved
SeeAlso: #00380

(Table 00382)
Call VioGetCurType with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to cursor type record (see #00372)
Return: AX = error code (00h, 74h, 1B4h) (see #00373)
SeeAlso: #00383

(Table 00383)
Call VioSetCurType with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to cursor type record (see #00372)
Return: AX = error code (00h, 74h, 1A4h, 1B4h) (see #00373)
SeeAlso: #00384

(Table 00384)
Call VioScrollUp with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to char/attr cell for filling emptied rows
		WORD	number or rows to scroll (FFFFh = clear area)
		WORD	right column of scroll area
		WORD	bottom row of scroll area
		WORD	left column of scroll area
		WORD	top row of scroll area
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
SeeAlso: #00385,INT 10/AH=06h

(Table 00385)
Call VioScrollDn with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to char/attr cell for filling emptied rows
		WORD	number or rows to scroll (FFFFh = clear area)
		WORD	right column of scroll area
		WORD	bottom row of scroll area
		WORD	left column of scroll area
		WORD	top row of scroll area
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
SeeAlso: #00384,INT 10/AH=07h

(Table 00386)
Call VioReadCellStr with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	column at which to start reading
		WORD	row at which to start reading
		DWORD	pointer to WORD containing length of buffer in bytes
			on return, WORD contains number of bytes actually read
		DWORD	pointer to buffer for cell string
Return: AX = error code (00h, 74h, 166h ,167h, 1B4h) (see #00373)

(Table 00387)
Call VioReadCharStr with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	column at which to start reading
		WORD	row at which to start reading
		DWORD	pointer to WORD containing length of buffer in bytes
			on return, WORD contains number of bytes actually read
		DWORD	pointer to buffer for character string
Return: AX = error code (00h, 74h, 166h ,167h, 1B4h) (see #00373)

(Table 00388)
Call VioWrtCellStr with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	column at which to start writing
		WORD	row at which to start writing
		WORD	length of cell string in bytes
		DWORD	pointer to cell string to write
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
Note:	write wraps at end of line and terminates if it reaches end of screen

(Table 00389)
Call VioWrtCharStr with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	column at which to start writing
		WORD	row at which to start writing
		WORD	length of character string
		DWORD	pointer to character string to write
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
Note:	write wraps at end of line and terminates if it reaches end of screen

(Table 00390)
Call VioWrtCharStrAttr with:
	STACK:	WORD	VIO handle (must be 00h)
		DWORD	pointer to attribute to be applied to each character
		WORD	column at which to start writing
		WORD	row at which to start writing
		WORD	length of character string
		DWORD	pointer to character string to write
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
Note:	write wraps at end of line and terminates if it reaches end of screen

(Table 00391)
Call VioWrtNAttr with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	column at which to start writing
		WORD	row at which to start writing
		WORD	number of times to write attribute
		DWORD	pointer to display attribute to replicate
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
Note:	write wraps at end of line and terminates if it reaches end of screen

(Table 00392)
Call VioWrtNCell with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	column at which to start writing
		WORD	row at which to start writing
		WORD	number of times to write cell
		DWORD	pointer to cell to replicate
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
Note:	write wraps at end of line and terminates if it reaches end of screen

(Table 00393)
Call VioWrtNChar with:
	STACK:	WORD	VIO handle (must be 00h)
		WORD	column at which to start writing
		WORD	row at which to start writing
		WORD	number of times to write character
		DWORD	pointer to character to replicate
Return: AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
Note:	write wraps at end of line and terminates if it reaches end of screen

Top
148102 - INT 14 - VIDEO FOSSIL - CLOSE VFOSSIL
INT 14 - VIDEO FOSSIL - CLOSE VFOSSIL
	AX = 8102h
Return: AX = 1954h
Note:	terminates all operations; after this call, the video FOSSIL may either
	  be removed from memory or reinitialized
SeeAlso: AX=8101h,AX=8103h

Top
148103 - INT 14 - VIDEO FOSSIL - UNINSTALL
INT 14 - VIDEO FOSSIL - UNINSTALL
	AX = 8103h
Return: AX = 1954h
Note:	this is an extension to the VFOSSIL spec by Bob Hartman's VFOS_IBM

Top
1482 - INT 14 - KEYBOARD FOSSIL
INT 14 - KEYBOARD FOSSIL
	AH = 82h
SeeAlso: AH=7Eh

Top
1482 - INT 14 - COURIERS.COM - CONFIGURE PORT
INT 14 - COURIERS.COM - CONFIGURE PORT
	AH = 82h
	AL = port number (1-4)
	BX = speed (bps)
	CX = bit flags
	    bit 0: enable input flow control
	    bit 1: enable output flow control
	    bit 2: use X.PC protocol (not yet implemented)
Return: nothing
SeeAlso: AH=00h,AH=8Ch,INT 7A"X.PC"

Top
1482 - INT 14 - COMM-DRV v14.0 - PORT CLEANUP
INT 14 - COMM-DRV v14.0 - PORT CLEANUP
	AH = 82h
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
Desc:	reset the port to its state before the AH=81h initialization and unhook
	  any interrupts used by the port
SeeAlso: AH=81h"COMM-DRV",AH=83h"COMM-DRV"

Top
1483 - INT 14 - SYSTEM FOSSIL
INT 14 - SYSTEM FOSSIL
	AH = 83h
SeeAlso: AH=7Eh

Top
1483 - INT 14 - COURIERS.COM - START INPUT
INT 14 - COURIERS.COM - START INPUT
	AH = 83h
	ES:BX -> circular input buffer
	CX = length of buffer
		(should be at least 128 bytes if input flow control enabled)
Return: nothing
SeeAlso: AH=18h,AH=87h,AH=8Dh,AH=A5h"BAPI"

Top
1483 - INT 14 - COMM-DRV v14.0 - FLUSH COMMUNICATION BUFFERS
INT 14 - COMM-DRV v14.0 - FLUSH COMMUNICATION BUFFERS
	AH = 83h
	DX = port number
	AL = subfunction
	    00h flush input buffer
	    01h flush output buffer
	    02h flush both buffers
Return: AH bit 7 set on error
	AH bit 7 clear if successful
SeeAlso: AH=81h"COMM-DRV",AH=84h"COMM-DRV"

Top
1484 - INT 14 - COURIERS.COM - READ CHARACTER
INT 14 - COURIERS.COM - READ CHARACTER
	AH = 84h
Return: ZF set if no characters available
	ZF clear
	   AL = character
	   AH = modem status bits
		bit 7: set on input buffer overflow
SeeAlso: AH=02h,AH=86h,AH=89h

Top
1484 - INT 14 - COMM-DRV v14.0 - SEND PACKET
INT 14 - COMM-DRV v14.0 - SEND PACKET
	AH = 84h
	CX = packet length in bytes
	DX = port number
	ES:DI -> packet to be sent
Return: AH = line status (see #00304)
	    bit 7 set on error
	AL destroyed
SeeAlso: AH=83h"COMM-DRV",AH=85h"COMM-DRV",AH=86h"COMM-DRV"

Top
1485 - INT 14 - COURIERS.COM - FLUSH PENDING INPUT
INT 14 - COURIERS.COM - FLUSH PENDING INPUT
	AH = 85h
Return: nothing
SeeAlso: AH=0Ah,AH=88h"COURIERS"

Top
1485 - INT 14 - COMM-DRV v14.0 - RECEIVE PACKET
INT 14 - COMM-DRV v14.0 - RECEIVE PACKET
	AH = 85h
	CX = length of packet in bytes
	DX = port number
	ES:DI -> buffer for packet
Return: AH = line status (see #00304)
	    bit 7 set on error
	AL destroyed
Note:	this call requires that at least the requested number of bytes are
	  already present in the input buffer, and will fail if there are
	  fewer bytes available
SeeAlso: AH=84h"COMM-DRV",AH=86h"COMM-DRV",AH=8Eh"COMM-DRV"

Top
1486 - INT 14 - COURIERS.COM - START OUTPUT
INT 14 - COURIERS.COM - START OUTPUT
	AH = 86h
	ES:BX -> output buffer
	CX = length of output buffer
Return: nothing
SeeAlso: AH=19h,AH=83h"COURIERS",AH=A4h"BAPI"

Top
1486 - INT 14 - COMM-DRV v14.0 - SET INPUT/OUTPUT TIMEOUTS
INT 14 - COMM-DRV v14.0 - SET INPUT/OUTPUT TIMEOUTS
	AH = 86h
	BL = maximum clock ticks to wait before signalling error on input func
	BH = maximum clock ticks to wait before signalling error on output
	DX = port number
	SI = input timeout in clock ticks if BL=FFh and BH=FFh
	DI = output timeout in clock ticks if BL=FFh and BH=FFh
Return: AH bit 7 set on error
	AH bit 7 clear if successful
Note:	functions 02h, 85h, and 8Eh will wait for the input timeout before
	  returning an error when no data is available; functions 01h and 84h
	  will wait for the output timeout before returning an error if there
	  is no space to output the data
SeeAlso: AH=01h,AH=02h,AH=84h"COMM-DRV",AH=85h"COMM-DRV",AH=8Eh"COMM-DRV"

Top
1487 - INT 14 - COURIERS.COM - OUTPUT STATUS
INT 14 - COURIERS.COM - OUTPUT STATUS
	AH = 87h
Return: AX = number of unsent characters
SeeAlso: AH=88h"COURIERS"

Top
1487 - INT 14 - COMM-DRV v14.0 - TURN ON DTR
INT 14 - COMM-DRV v14.0 - TURN ON DTR
	AH = 87h
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
SeeAlso: AX=8000h"COMM-DRV",AH=88h"COMM-DRV",AH=89h"COMM-DRV"

Top
1488 - INT 14 - COURIERS.COM - ABORT OUTPUT
INT 14 - COURIERS.COM - ABORT OUTPUT
	AH = 88h
SeeAlso: AH=09h"FOSSIL",AH=85h"COURIERS"

Top
1488 - INT 14 - COMM-DRV v14.0 - TURN OFF DTR
INT 14 - COMM-DRV v14.0 - TURN OFF DTR
	AH = 88h
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
Program: COMM-DRV is a universal serial communications driver by Willies'
	  Computer Software Company, which supports standard INT 14 and
	  FOSSIL calls as well as its own interfaces
SeeAlso: AX=8000h"COMM-DRV",AH=87h"COMM-DRV",AH=8Ah"COMM-DRV"

Top
1489 - INT 14 - COURIERS.COM - SEND SINGLE CHARACTER
INT 14 - COURIERS.COM - SEND SINGLE CHARACTER
	AH = 89h
	CL = character to send
Return: nothing
SeeAlso: AH=01h,AH=84h"COURIERS"

Top
1489 - INT 14 - COMM-DRV v14.0 - TURN ON RTS
INT 14 - COMM-DRV v14.0 - TURN ON RTS
	AH = 89h
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
SeeAlso: AX=8000h"COMM-DRV",AH=87h"COMM-DRV",AH=8Ah"COMM-DRV"

Top
148A - INT 14 - COURIERS.COM - SEND BREAK
INT 14 - COURIERS.COM - SEND BREAK
	AH = 8Ah
Return: nothing
SeeAlso: AH=89h"COURIERS",AH=FAh

Top
148A - INT 14 - COMM-DRV v14.0 - TURN OFF RTS
INT 14 - COMM-DRV v14.0 - TURN OFF RTS
	AH = 8Ah
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
SeeAlso: AX=8000h"COMM-DRV",AH=88h"COMM-DRV",AH=89h"COMM-DRV"

Top
148B - INT 14 - COMM-DRV v14.0 - SET USER INTERRUPT ROUTINE
INT 14 - COMM-DRV v14.0 - SET USER INTERRUPT ROUTINE
	AH = 8Bh
	CX = bitmask of interrupt to process
	    00h = deinstall
	BX:DI -> DWORD containing address of function to be called
Return: AH bit 7 clear if successful
	AH bit 7 set on error

Top
148C - INT 14 - COURIERS.COM - SET SPEED
INT 14 - COURIERS.COM - SET SPEED
	AH = 8Ch
	BX = speed in bps
Return: nothing
SeeAlso: AH=00h,AH=82h"COURIERS"

Top
148C - INT 14 - COMM-DRV v14.0 - READ UART REGISTER
INT 14 - COMM-DRV v14.0 - READ UART REGISTER
	AH = 8Ch
	AL = register offset
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
	    AL = contents of UART register
SeeAlso: AH=8Dh"COMM-DRV"

Top
148D - INT 14 - COURIERS.COM - DECONFIGURE PORT
INT 14 - COURIERS.COM - DECONFIGURE PORT
	AH = 8Dh
Return: nothing
SeeAlso: AH=82h"COURIERS"

Top
148D - INT 14 - COMM-DRV v14.0 - WRITE UART REGISTER
INT 14 - COMM-DRV v14.0 - WRITE UART REGISTER
	AH = 8Dh
	AL = register offset
	BL = new value for UART register
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
SeeAlso: AH=8Ch"COMM-DRV"

Top
148E - INT 14 - COMM-DRV v14.0 - READ PACKET NONDESTRUCTIVELY
INT 14 - COMM-DRV v14.0 - READ PACKET NONDESTRUCTIVELY
	AH = 8Eh
	CX = length of packet in bytes
	DX = port number
	ES:DI -> buffer for packet
Return: AH = line status (see #00304)
	    bit 7 set on error (see AX=8000h"COMM-DRV")
	AL destroyed
Program: COMM-DRV is a universal serial communications driver by Willies'
	  Computer Software Company, which supports standard INT 14 and
	  FOSSIL calls as well as its own interfaces
Desc:	retrieve a packet from the input buffer without removing it from the
	  buffer
Note:	this call requires that at least the requested number of bytes are
	  already present in the input buffer, and will fail if there are
	  fewer bytes available
SeeAlso: AX=8000h"COMM-DRV",AH=84h"COMM-DRV",AH=85h"COMM-DRV",AH=86h"COMM-DRV"

Top
14A0 - INT 14 - 3com BAPI SERIAL I/O - CONNECT TO PORT
INT 14 - 3com BAPI SERIAL I/O - CONNECT TO PORT
	AH = A0h
	ES:BX -> ASCIZ internet host name
	CX = length of name
Return: AH = return code (00h,04h-06h,08h,0Ah-0Ch) (see #00394)
	CL = session ID
Program: the Bridge Application Program Interface is a set of functions which
	  makes many of the details of LAN communications transparent
Note:	Novell TELAPI.EXE returns AH=09h (not supported) and CL=00h
SeeAlso: AH=A1h"BAPI",AH=A2h"BAPI",AH=A5h"BAPI",AX=AF00h

(Table 00394)
Values for 3com BAPI return code:
 00h	successful
 01h	no characters written
 02h	no characters read
 03h	no such session
 04h	clearinghouse name not found
 05h	no response from host
 06h	no more sessions available
 07h	session aborted
 08h	invalid clearinghouse name
 09h	not supported
 0Ah	internal (general) network error
 0Bh	out of memory
 0Ch	invalid IP address

Top
14A0--CXFFFF - INT 14 - Interconnections Inc. TES - INSTALLATION CHECK/STATUS REPORT
INT 14 - Interconnections Inc. TES - INSTALLATION CHECK/STATUS REPORT
	AH = A0h
	CX = FFFFh
Return: CF clear if successful
	    AX = 5445h ('TE')
	    CX <> FFFFh
	    DX = port number
	CF set on error
Program: TES is a network serial port emulation program
SeeAlso: AH=A1h"TES"

Top
14A1 - INT 14 - 3com BAPI SERIAL I/O - DISCONNECT FROM PORT
INT 14 - 3com BAPI SERIAL I/O - DISCONNECT FROM PORT
	AH = A1h
	DH = session ID (00h for external session managment)
Return: AH = return code (00h,03h,07h,0Ah,0Bh) (see #00394)
	AL destroyed (Novell TELAPI.EXE)
SeeAlso: AH=A0h"BAPI"

Top
14A1 - INT 14 - Interconnections Inc. TES - GET LIST OF SESSIONS WITH STATUS
INT 14 - Interconnections Inc. TES - GET LIST OF SESSIONS WITH STATUS
	AH = A1h
Return: CX = number of active sessions
	ES:SI -> status array (see #00395)
SeeAlso: AH=A2h"TES",AH=A3h"TES"

Format of Interconnections TES status array entry:
Offset	Size	Description	(Table 00395)
 00h	BYTE	status
 01h	WORD	offset of name

Top
14A2 - INT 14 - 3com BAPI SERIAL I/O - WRITE CHARACTER
INT 14 - 3com BAPI SERIAL I/O - WRITE CHARACTER
	AH = A2h
	AL = character
	DH = session ID (00h for external session managment)
Return: AH = return code (00h,01h,03h,07h,0Ah,0Bh) (see #00394)
SeeAlso: AH=A0h"BAPI",AH=A3h"BAPI",AH=A4h"BAPI"

Top
14A2 - INT 14 - Interconnections Inc. TES - GET LIST OF SERVER NAMES
INT 14 - Interconnections Inc. TES - GET LIST OF SERVER NAMES
	AH = A2h
Return: CX = number of servers
	ES:SI -> array of offsets from ES for server names
SeeAlso: AH=A1h"TES"

Top
14A3 - INT 14 - 3com BAPI SERIAL I/O - READ CHARACTER
INT 14 - 3com BAPI SERIAL I/O - READ CHARACTER
	AH = A3h
	DH = session ID (00h for external session managment)
Return: AH = return code (00h,02h,03h,07h,0Ah,0Bh) (see #00394)
	AL = character read or 00h if none available
SeeAlso: AH=A0h"BAPI",AH=A2h"BAPI",AH=A5h"BAPI",AH=A7h"BAPI"

Top
14A3 - INT 14 - Interconnections Inc. TES - START A NEW SESSION
INT 14 - Interconnections Inc. TES - START A NEW SESSION
	AH = A3h
	ES:SI -> ???
Return: CF clear if successful
	    AX = 5445h ('TE')
	    CX <> FFFFh
	    DX = port number
	CF set on error
SeeAlso: AH=A1h"TES",AH=A4h"TES",AH=A6h"TES"

Top
14A4 - INT 14 - 3com BAPI SERIAL I/O - WRITE BLOCK
INT 14 - 3com BAPI SERIAL I/O - WRITE BLOCK
	AH = A4h
	CX = length of buffer in bytes
	DH = session ID (00h for external session managment)
	ES:BX -> buffer containing data
Return: AH = return code (00h,01h,03h,07h,0Ah,0Bh) (see #00394)
	CX = number of bytes actually sent
SeeAlso: AH=19h,AH=86h,AH=A0h"BAPI",AH=A5h"BAPI"

Top
14A4 - INT 14 - Interconnections Inc. TES - HOLD CURRENTLY ACTIVE SESSION
INT 14 - Interconnections Inc. TES - HOLD CURRENTLY ACTIVE SESSION
	AH = A4h
	???
Return: ???
SeeAlso: AH=A3h"TES",AH=A5h"TES"

Top
14A5 - INT 14 - 3com BAPI SERIAL I/O - READ BLOCK
INT 14 - 3com BAPI SERIAL I/O - READ BLOCK
	AH = A5h
	CX = length of buffer
	DH = session ID (00h for external session managment)
	ES:BX -> buffer for data
Return: AH = return code (00h,02h,03h,07h,0Ah,0Bh) (see #00394)
	CX = number of bytes actually read
SeeAlso: AH=18h,AH=83h"COURIERS",AH=A0h"BAPI",AH=A3h"BAPI",AH=A4h"BAPI"
SeeAlso: AH=A7h"BAPI",AX=FF02h

Top
14A5 - INT 14 - Interconnections Inc. TES - RESUME A SESSION
INT 14 - Interconnections Inc. TES - RESUME A SESSION
	AH = A5h
	AL = session number
Return: ???
SeeAlso: AH=A4h"TES",AH=A6h"TES"

Top
14A6 - INT 14 - 3com BAPI SERIAL I/O - SEND SHORT BREAK
INT 14 - 3com BAPI SERIAL I/O - SEND SHORT BREAK
	AH = A6h
	DH = session ID (00h for external session managment)
Return: AH = return code (00h,03h,07h,0Ah,0Bh) (see #00394)
Desc:	generate a short break signal; if data delivery was turned off by the
	  break, wait for the host to turn it on again
SeeAlso: AH=1Ah,AH=8Ah,AH=FAh,AH=A0h"BAPI"

Top
14A6 - INT 14 - Interconnections Inc. TES - DROP A SESSION
INT 14 - Interconnections Inc. TES - DROP A SESSION
	AH = A6h
	AL = session number
Return: AH = status
	    00h successful
	    else error
SeeAlso: AH=A3h"TES",AH=A5h"TES"

Top
14A7 - INT 14 - 3com BAPI SERIAL I/O - READ STATUS
INT 14 - 3com BAPI SERIAL I/O - READ STATUS
	AH = A7h
	DH = session ID (00h for external session managment)
Return: AH = return code (00h,03h,07h,0Ah,0Bh) (see #00394)
	CX = number of bytes available for reading
Note:	Novell TELAPI.EXE v4.01 always returns either 0 or 1 bytes available
SeeAlso: AH=A5h"BAPI"

Top
14A7 - INT 14 - Interconnections Inc. TES - SWITCH TO NEXT ACTIVE SESSION
INT 14 - Interconnections Inc. TES - SWITCH TO NEXT ACTIVE SESSION
	AH = A7h
	???
Return: ???
SeeAlso: AH=A3h"TES",AH=A5h"TES"

Top
14A8 - INT 14 - Interconnections Inc. TES - SEND STRING TO COMMAND INTERPRETER
INT 14 - Interconnections Inc. TES - SEND STRING TO COMMAND INTERPRETER
	AH = A8h
	AL = 00h no visible response
	ES:SI -> ASCIZ command
Return: ???

Top
14A8 - INT 14 - Novell TelAPI v4.01 - CONNECTION INFORMATION???
INT 14 - Novell TelAPI v4.01 - CONNECTION INFORMATION???
	AH = A8h
	DH = session ID???
	CH = subfunction
	    02h ???
	    0Dh ???
	    0Fh ???
	    10h ???
	    11h ???
	    28h ???
	    else
		Return: AH = 09h (not supported)
Return: AH = return code (see #00394)
	    00h successful
		CL = ??? (0/1/8) (subfunctions 02h,0Dh,0Fh,10h)
		CL = ??? (7Fh/FFh) (subfunction 28h)
		CX = ??? (subfunction 11h)
SeeAlso: AH=A9h"TelAPI"

Top
14A9 - INT 14 - Novell TelAPI v4.01 - CONNECTION CONTROL???
INT 14 - Novell TelAPI v4.01 - CONNECTION CONTROL???
	AH = A9h
	DH = session ID???
	CH = subfunction
	    02h ???
	    0Dh ???
	    0Fh ???
	    10h ???
	    11h ???
	    28h ???
	    else
		Return: AH = 09h (not supported)
	???
Return: AH = return code (see #00394)
	???
SeeAlso: AH=A8h"TelAPI",AH=E4h,INT 6B/AX=0600h

Top
14AA01 - INT 14 - DimVGA v2.0+ - INSTALLATION CHECK
INT 14 - DimVGA v2.0+ - INSTALLATION CHECK
	AX = AA01h
Return: AX = FFFFh if installed, unchanged
	BX = version (v1.5+ only), BH = major, BL = minor (v1.5 = 0105h)
	CX = resident segment (v3.1+)
Program: DimVGA is a public domain screen saver by Menno Pieters
SeeAlso: AX=AA02h,AX=AA03h,AX=AA06h,INT 11/AX=0225h/BX=6900h,INT 12"KEYBUI"
SeeAlso: INT 2D/AL=10h"Burnout Plus",INT 2F/AX=6400h,INT 2F/AH=93h
SeeAlso: INT 2F/AX=C000h"VGAsave",INT 2F/AX=C000h"AD-DOS",INT 2F/AX=C050h
SeeAlso: INT 2F/AX=E300h
Index:	screen saver;DimVGA

Top
14AA02 - INT 14 - DimVGA v2.0+ - SET TIME-OUT (DIMMING/BLANKING) PERIOD
INT 14 - DimVGA v2.0+ - SET TIME-OUT (DIMMING/BLANKING) PERIOD
	AX = AA02h
	BX = number of clock ticks
Return: AX = FFFFh
Note:	on screen modes with 256 or less colors DimVGA will dim the screen,
	  when more than 256 colors can be used DimVGA will blank the screen.
SeeAlso: AX=AA01h,AX=AA03h,AX=AA04h,AX=AA06h
Index:	screen saver;DimVGA

Top
14AA03 - INT 14 - DimVGA v2.0+ - SET DIMMING FACTOR
INT 14 - DimVGA v2.0+ - SET DIMMING FACTOR
	AX = AA03h
	BX = percentage remaining visible (1-99)
Return: AX = FFFFh
SeeAlso: AX=AA02h,AX=AA05h,AX=AA06h
Index:	screen saver;DimVGA

Top
14AA04 - INT 14 - DimVGA v2.0+ - GET TIME-OUT PERIOD
INT 14 - DimVGA v2.0+ - GET TIME-OUT PERIOD
	AX = AA04h
Return: AX = FFFFh
	BX = current time-out in clock ticks
SeeAlso: AX=AA02h,AX=AA05h,AX=AA0Ah
Index:	screen saver;DimVGA

Top
14AA05 - INT 14 - DimVGA v2.0+ - GET DIMMING FACTOR
INT 14 - DimVGA v2.0+ - GET DIMMING FACTOR
	AX = AA05h
Return: AX = FFFFh
	BX = current dimming factor
SeeAlso: AX=AA03h,AX=AA04h,AX=AA0Ah
Index:	screen saver;DimVGA

Top
14AA06 - INT 14 - DimVGA v2.0+ - DISABLE
INT 14 - DimVGA v2.0+ - DISABLE
	AX = AA06h
Return: AX = FFFFh
SeeAlso: AX=AA01h,AX=AA07h,AX=AA0Ah
Index:	screen saver;DimVGA

Top
14AA07 - INT 14 - DimVGA v2.0+ - ENABLE
INT 14 - DimVGA v2.0+ - ENABLE
	AX = AA07h
Return: AX = FFFFh
SeeAlso: AX=AA01h,AX=AA06h,AX=AA0Ah
Index:	screen saver;DimVGA

Top
14AA08 - INT 14 - DimVGA v2.0+ - DIM SCREEN 'MANUALLY'
INT 14 - DimVGA v2.0+ - DIM SCREEN 'MANUALLY'
	AX = AA08h
Return: AX = FFFFh
Note:	this function will dim the screen immediately, even if DimVGA is
	  currently disabled
SeeAlso: AX=AA01h,AX=AA02h,AX=AA09h
Index:	screen saver;DimVGA

Top
14AA09 - INT 14 - DimVGA v2.0+ - UNDIM SCREEN 'MANUALLY'
INT 14 - DimVGA v2.0+ - UNDIM SCREEN 'MANUALLY'
	AX = AA09h
Return: AX = FFFFh
Note:	this function will undim the screen immediately, even if DimVGA is
	  currently disabled
SeeAlso: AX=AA01h,AX=AA08h
Index:	screen saver;DimVGA

Top
14AA0A - INT 14 - DimVGA v2.0+ - CHECK WHETHER ENABLED
INT 14 - DimVGA v2.0+ - CHECK WHETHER ENABLED
	AX = AA0Ah
Return: AX = FFFFh
	BX = current state (0000h disabled, 0001h enabled)
SeeAlso: AX=AA01h,AX=AA06h,AX=AA07h
Index:	screen saver;DimVGA

Top
14AA0B - INT 14 - DimVGA v2.1+ - SET HOTKEY
INT 14 - DimVGA v2.1+ - SET HOTKEY
	AX = AA0Bh
	BH = shift state (see #00396)
	BL = keyboard scancode
Return: AX = FFFFh
SeeAlso: AX=AA01h,AX=AA0Ch
Index:	screen saver;DimVGA

Bitfields for DimVGA hotkey shift state:
Bit(s)	Description	(Table 00396)
 7-4	unused
 3	Alt key pressed
 2	Ctrl key pressed
 1	Left shift key pressed
 0	Right shift key pressed

Top
14AA0C - INT 14 - DimVGA v2.1+ - GET HOTKEY
INT 14 - DimVGA v2.1+ - GET HOTKEY
	AX = AA0Ch
Return: AX = FFFFh
	BH = shift state (see #00396)
	BL = keyboard scancode
SeeAlso: AX=AA01h,AX=AA0Bh
Index:	screen saver;DimVGA

Top
14AA0D - INT 14 - DimVGA v3.0+ - SET MOUSE CHECK STATUS
INT 14 - DimVGA v3.0+ - SET MOUSE CHECK STATUS
	AX = AA0Dh
	BX = new mouse check status
	    0000h mouse checking off
	    0001h mouse checking on
Return: AX = FFFFh
Note:	before switching mouse checking on, a mouse driver should be
	  found in memory. If no mouse driver is found, mouse checking
	  should be switched off (resident DimVGA does not check by itself).
SeeAlso: AX=AA01h,AX=AA0Eh
Index:	screen saver;DimVGA

Top
14AA0E - INT 14 - DimVGA v3.0+ - GET MOUSE CHECK STATUS
INT 14 - DimVGA v3.0+ - GET MOUSE CHECK STATUS
	AX = AA0Eh
Return: BX = mouse check status (0000h disabled, 0001h enabled)
SeeAlso: AX=AA01h,AX=AA0Dh
Index:	screen saver;DimVGA

Top
14AA0F - INT 14 - DimVGA v3.4 - SET LOCKING STATUS
INT 14 - DimVGA v3.4 - SET LOCKING STATUS
	AX = AA0Fh
	BX = locking status
	    0000h disabled
	    0001h enabled
Return: AX = FFFFh
SeeAlso: AX=AA01h,AX=AA0Dh,AX=AA10h
Index:	screen saver;DimVGA

Top
14AA10 - INT 14 - DimVGA v3.4 - GET MOUSE CHECK STATUS
INT 14 - DimVGA v3.4 - GET MOUSE CHECK STATUS
	AX = AA10h
Return: BX = locking status (0000h disabled, 0001h enabled)
SeeAlso: AX=AA01h,AX=AA0Dh,AX=AA0Fh
Index:	screen saver;DimVGA

Top
14AD - INT 14 - IBM SurePath BIOS - Officially "Private" Function
INT 14 - IBM SurePath BIOS - Officially "Private" Function
	AH = ADh
SeeAlso: AH=AEh"IBM",AH=AFh"IBM"

Top
14AE - INT 14 - IBM SurePath BIOS - Officially "Private" Function
INT 14 - IBM SurePath BIOS - Officially "Private" Function
	AH = AEh
SeeAlso: AH=ADh"IBM",AH=AFh"IBM"

Top
14AF - INT 14 - IBM SurePath BIOS - Officially "Private" Function
INT 14 - IBM SurePath BIOS - Officially "Private" Function
	AH = AFh
SeeAlso: AH=ADh"IBM",AH=AEh"IBM"

Top
14AF00BXAAAA - INT 14 - 3com BAPI SERIAL I/O - INSTALLATION CHECK
INT 14 - 3com BAPI SERIAL I/O - INSTALLATION CHECK
	AX = AF00h
	BX = AAAAh
Return: AX = AF01h if installed
	    BH = protocol type (if BX=AAAAh on entry)
		01h NetManage TCP/IP
	    BL = version for protocol type (if BX=AAAAh on entry)
Note:	early versions of the BAPI and the ROM BIOS simply destroy AX; this
	  behavior is used to determine whether the newer functions (AH=B0h,
	  AH=B1h,etc) are available
SeeAlso: AH=A0h"BAPI"

Top
14B0 - INT 14 - 3com BAPI SERIAL I/O - EN/DISABLE "ENTER COMMAND MODE" (ECM) CHARACTER
INT 14 - 3com BAPI SERIAL I/O - EN/DISABLE "ENTER COMMAND MODE" (ECM) CHARACTER
	AH = B0h
	AL = new state (00h disabled, 01h enabled)
Return: AH = return code (00h,07h,0Ah) (see #00394)
Note:	disabling the ECM character allows applications to send data which
	  includes the ECM character
SeeAlso: AX=AF00h"BAPI",AH=B1h,AH=B2h

Top
14B1 - INT 14 - 3com BAPI SERIAL I/O - ENTER COMMAND MODE
INT 14 - 3com BAPI SERIAL I/O - ENTER COMMAND MODE
	AH = B1h
Return: AH = return code (00h,07h,0Ah) (see #00394)
Desc:	provide a means for the application or terminal emulator to perform
	  the same action normally caused by the ECM character
SeeAlso: AH=B0h,AH=B2h

Top
14B2 - INT 14 - 3com BAPI SERIAL I/O - GET ECM WATCH STATE
INT 14 - 3com BAPI SERIAL I/O - GET ECM WATCH STATE
	AH = B2h
Return: AH = return code (00h,07h,0Ah) (see #00394)
	AL = watch flag (00h disabled, 01h enabled)
Desc:	determine whether the ECM character is enabled
SeeAlso: AH=B0h,AH=B1h

Top
14B3 - INT 14 - 3com BAPI SERIAL I/O - GET/SET CONFIGURATION INFO
INT 14 - 3com BAPI SERIAL I/O - GET/SET CONFIGURATION INFO
	AH = B3h
	AL = direction (00h get, 01h set)
	DH = session ID (00h for external session managment)
	DL = configuration item (00h = end-of-line mapping)
	CX = new configuration item value (if AL=01h)
	    ---if DL=00h---
	    CH = application EOL type (app to Telnet client)
		01h application will send lone CR
		02h application will send CR-? pair
	    CL = driver EOL type (Telnet client to Telnet server)
		01h driver should send CR-NUL pair
		02h driver should send CR-LF pair
Return: AH = return code (00h,03h,09h-0Bh) (see #00394)
	---if AL=00h---
	CX = configuration item value (above)
SeeAlso: AH=B2h

Top
14E0 - INT 14 - TelAPI - "telopen" - CREATE TELNET CONNECTION (BLOCKING)
INT 14 - TelAPI - "telopen" - CREATE TELNET CONNECTION (BLOCKING)
	AH = E0h
	BX = port number to connect with (default 0017h used if <= 0)
	CX:DX = Internet address of remote host
	DS:DI -> 2-byte remote host (session) identifier
	ES:SI -> 1700-byte buffer for Telnet state record
	    0000h:0000h to use TelAPI internally-allocated space
Return: AX = status (0000h-0009h,FED3h,FF37h,FFBDh,FFC0h,FFCDh) (see #00397)
	ES:SI buffer filled with state record
	ES:SI -> internally-allocated state record in some versions
Note:	the remote host identifier may be used to refer to this connection
SeeAlso: AH=E1h,AH=ECh,AX=FF00h

(Table 00397)
Values for TelAPI status:
 0000h-7FFFh	successful (session number)
 FED3h	(-301)	no session allocated, or out of TelAPI data space
 FF37h	(-201)	all sessions in use
 FFBDh	(-67)	unknown hostname
 FFC0h	(-64)	host not functioning
 FFC3h	(-61)	connection attempt refused
 FFC4h	(-60)	connection attempt timed out
 FFC8h	(-56)	socket already connected
 FFCDh	(-51)	network is unreachable
 FFDDh	(-35)	operation would block

Top
14E000 - INT 14 - MX5 Extended FOSSIL - GET MNP STATUS BLOCK
INT 14 - MX5 Extended FOSSIL - GET MNP STATUS BLOCK
	AX = E000h
	DX = port number (0-3)
Return: ES:BX -> status block (see #00398)
Program: MX5 is a FOSSIL driver by MagicSoft which emulates MNP Level 5, and
	  ships with the METZ terminal program as MTEMNP.DRV (a TSR despite
	  the .DRV extension)
SeeAlso: AX=E006h

Format of MX5 Extended FOSSIL status block:
Offset	Size	Description	(Table 00398)
 00h	BYTE	flag: active (00h no, 01h yes)
 01h	BYTE	MNP level (2,4,5)
 02h	BYTE	series ID from remote MNP
 03h	DWORD	total packets transmitted
 07h	DWORD	duplicate packets transmitted
 0Bh	DWORD	maximum speed
 0Fh	DWORD	total packets received
 13h	DWORD	duplicate packets received
 17h	DWORD	maximum speed

Top
14E001 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP LEVEL
INT 14 - MX5 Extended FOSSIL - GET/SET MNP LEVEL
	AX = E001h
	BH = function
	    00h get MNP level
	    01h set MNP level
		BL = new level (00h none, 02h/04h/05h MNP level N)
	DX = port number (0-3)
Return: BL = MNP level
SeeAlso: AX=E002h,AX=E003h,AX=E004h,AX=E006h

Top
14E002 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP ANSWER/ORIGINATE MODE
INT 14 - MX5 Extended FOSSIL - GET/SET MNP ANSWER/ORIGINATE MODE
	AX = E002h
	BH = function
	    00h get answer/originate mode
	    01h set mode
		BL = new mode (00h originate [default], 01h answer)
	DX = port number (0-3)
Return: BL = answer/originate mode
SeeAlso: AX=E001h,AX=E003h,AX=E006h

Top
14E003 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP WAIT TICKS
INT 14 - MX5 Extended FOSSIL - GET/SET MNP WAIT TICKS
	AX = E003h
	BH = function
	    00h get wait ticks
	    01h set wait ticks
		BL = MNP wait ticks (default 0Eh)
	DX = port number (0-3)
Return: BL = wait ticks
SeeAlso: AX=E001h,AX=E002h,AX=E006h

Top
14E004 - INT 14 - MX5 Extended FOSSIL - GET/SET MNP CONNECT SOUND LEVEL
INT 14 - MX5 Extended FOSSIL - GET/SET MNP CONNECT SOUND LEVEL
	AX = E004h
	BH = function
	    00h get sound level
	    01h set sound level
		BL = new sound level (00h off, 01h on [default])
	DX = port number
Return: BL = sound state
Desc:	specify whether MX5 should generate beeps after an MNP connection
	  (three high beeps if successful, high then low on connection failure)
SeeAlso: AX=E002h,AX=E006h

Top
14E005 - INT 14 - MX5 Extended FOSSIL - UNINSTALL
INT 14 - MX5 Extended FOSSIL - UNINSTALL
	AX = E005h
Return: BX = segment of MX5's memory block or 0000h on failure
Note:	caller must free the returned memory block to complete the uninstall
SeeAlso: AX=E006h

Top
14E006BX0000 - INT 14 - MX5 Extended FOSSIL - INSTALLATION CHECK
INT 14 - MX5 Extended FOSSIL - INSTALLATION CHECK
	AX = E006h
	BX = 0000h
Return: BX = 4D58h ('MX') if installed
	    AH = major version
	    AL = minor version
SeeAlso: AX=E000h,AX=E001h,AX=E005h,AX=E007h

Top
14E007 - INT 14 - MX5 Extended FOSSIL - WAIT SPECIFIED NUMBER OF TICKS
INT 14 - MX5 Extended FOSSIL - WAIT SPECIFIED NUMBER OF TICKS
	AX = E007h
	CX = number of ticks to wait
Return: nothing
SeeAlso: AX=E006h

Top
14E1 - INT 14 - TelAPI - "telclose" - TERMINATE TELNET CONNECTION
INT 14 - TelAPI - "telclose" - TERMINATE TELNET CONNECTION
	AH = E1h
	BX = connection ID
Return: AX = status (0000h,FFF7h,maybe others) (see #00397)
Note:	flushes and releases all buffers and data space used by the connection
SeeAlso: AH=E0h,AH=E6h,AX=FF00h

Top
14E2 - INT 14 - TelAPI - "telread" - BUFFERED READ
INT 14 - TelAPI - "telread" - BUFFERED READ
	AH = E2h
	BX = connection ID (see AH=E0h"TelAPI")
	CX = length of buffer in bytes
	ES:SI -> buffer for data
Return: AX > 0000h number of characters actually read
	AX = 0000h host has closed connection
	AX < 0000h error code (see #00397)
Note:	translates CRLF into local EOL if the connection is in ASCII mode,
	  negotiates various Telnet options, and immediately executes several
	  different Telnet action commands
SeeAlso: AH=07h"TelAPI",AH=E3h,AH=E6h,AX=FF00h,INT 6B/AH=01h

Top
14E3 - INT 14 - TelAPI - "telwrite" - BUFFERED WRITE
INT 14 - TelAPI - "telwrite" - BUFFERED WRITE
	AH = E3h
	BX = connection ID
	CX = length of buffer in bytes
	ES:SI -> buffer containing data
Return: AX > 0000h number of characters actually written
	AX < 0000h error code (see #00397)
Note:	translates local EOL into CRLF if the connection is in ASCII mode,
	  sends the appropriate Telnet commands for the characters selected
	  for IP, AYT, AO, EC, EL, and Break
SeeAlso: AH=06h"TelAPI",AH=E2h,AH=E6h,AX=FF00h,INT 6B/AH=00h

Top
14E4 - INT 14 - TelAPI - "telioctl" - CONNECTION CONTROL
INT 14 - TelAPI - "telioctl" - CONNECTION CONTROL
	AH = E4h
	BX = connection ID (see AH=E0h"TelAPI")
	CX = Telnet command/option identifier (see #00400)
	ES:SI -> buffer containing command/option argument (see #00399)
Return: AX = status (0000h, etc.) (see #00397)
Desc:	start filter control, initiate Telnet option negotiation, or get filter
	  control status
SeeAlso: AH=A9h,AH=E6h,AX=FF00h,INT 6B/AX=0600h

Format of TelAPI Telnet command/option argument:
Offset	Size	Description	(Table 00399)
 00h  5 WORD	numeric arguments
 0Ah	DWORD	-> ASCIZ string
SeeAlso: #00400

(Table 00400)
Values for TelAPI Telnet command/option identifier:
 01h	ASCII		args: none
 02h	BINARY		args: none
 03h	LOCALECHO	args: none		client echos data
 04h	REMOTEECHO	args: none		server echos data
 05h	SGA		args: none		Suppress Go-Ahead signal
 07h	CHARMODE	args: none		no line-buffering
 08h	LINEMODE	args: -> erase-line ch	perform line-buffering
 09h	RECVEOL		args: EOL type
 0Ah	SENDEOL		args: EOL type
 0Bh	EOR		args: none		enable end-of-record sequence
 0Dh	BREAK		args: -> break char
 0Eh	VERBOSE		args: verbosity		display Telnet negotiations?
 0Fh	AYT		args: -> AYT escape ch
 10h	AO		args: -> AO escape char
 11h	IP		args: -> IP escape char
 12h	EC		args: -> escape char
 13h	EL		args: -> escape char
 14h	STATUS		args: type; returns data in structure
 18h	TERMTYPE	args: -> terminal type
 19h	ATTACHPORT	args: port number ; returns session number
 1Bh	TRANSMIT_EOR	args: EOR enabled	append EOR to every telwrite?
SeeAlso: #00399

Top
14E5 - INT 14 - TelAPI - "telreset" - RESET ALL CONNECTIONS
INT 14 - TelAPI - "telreset" - RESET ALL CONNECTIONS
	AH = E5h
Return: AX = status (0000h,other) (see also #00397)
	    FFFFh unable to reset
Desc:	close all sessions and reset TelAPI to defaults
SeeAlso: AH=E1h,AH=E6h,AX=FF00h

Top
14E6 - INT 14 - TelAPI - "telunload" - UNINSTALL
INT 14 - TelAPI - "telunload" - UNINSTALL
	AH = E6h
Return: AX = status
	    0000h successful
	    FFFFh unable to uninstall
Notes:	TelAPI also supports the NASI/NACS and NCSI APIs on INT 6B
	this function invokes AH=E5h internally
SeeAlso: AH=E5h,AX=FF00h,INT 6B/AH=00h,INT 6B/AH=10h

Top
14E7 - INT 14 - TelAPI - "tellist" - GET TELNET SESSION LIST
INT 14 - TelAPI - "tellist" - GET TELNET SESSION LIST
	AH = E7h
	ES:SI -> 10-word buffer for session list
Return: AX = 0000h (successful)
	ES:SI buffer filled
Desc:	determine, for each of the ten allowable sessions, whether the session
	  is currently available
Note:	each word in the buffer is filled with either 0000h to indicate that
	 the corresponding sesion is unavailable, or 0001h if available
SeeAlso: AH=E0h,AH=E5h,AX=FF00h

Top
14E8 - INT 14 - TelAPI - "telattach" - ATTACH COM PORT TO/FROM TELNET SESSION
INT 14 - TelAPI - "telattach" - ATTACH COM PORT TO/FROM TELNET SESSION
	AH = E8h
	BX = connection ID (see AH=E0h"TelAPI")
	CX = serial port number (0000h-0003h = COM1-COM4)
Return: AX = status
	    0000h successful
	    FFFFh failed
SeeAlso: AH=E0h,AH=E9h,AX=FF00h

Top
14E9 - INT 14 - TelAPI - "telportosn" - GET SESSION NUMBER FOR COM PORT
INT 14 - TelAPI - "telportosn" - GET SESSION NUMBER FOR COM PORT
	AH = E9h
	DX = serial port number (0000h-0003h = COM1-COM4)
Return: AX >= 0000h session number
	AX < 0000h error code (see #00397)
SeeAlso: AH=E0h,AH=E8h,AH=EAh,AX=FF00h

Top
14EA - INT 14 - TelAPI - "telstatus" - GET TELNET CONNECTION STATUS INFORMATION
INT 14 - TelAPI - "telstatus" - GET TELNET CONNECTION STATUS INFORMATION
	AH = EAh
	BX = connection ID (see AH=E0h"TelAPI")
	ES:SI -> buffer for status info (see #00401)
Return: AX = status (0000h,FFFFh,etc.)
SeeAlso: AH=E9h,AH=EBh,AX=FF00h

Format of TelAPI Telnet connection status information:
Offset	Size	Description	(Table 00401)
 00h  4 BYTEs	remote host IP address
 04h 20 BYTEs	reserved
 18h	WORD	local port number
 1Ah	BYTE	connection mode (00h = ASCII, 01h = Binary)
 1Bh	BYTE	echo flag (00h local, 01h remote)
 1Ch	BYTE	SGA flag (00h will, 01h won't)
 1Dh	BYTE	EOR negotation flag (00h do negotiate, 01h don't)
 1Eh	BYTE	buffering (00h line mode, 01h character mode)
 1Fh	BYTE	reserved
 20h	BYTE	verbose flag (00h no, 01h verbose mode)
 21h	BYTE	received EOL (00h no xlat, 01h CR, 02h LF, 03h CRLF)
 22h	BYTE	sent EOL (00h no translation, 01h CR, 02h LF)
 23h	BYTE	break character
 24h	BYTE	IP escape character
 25h	BYTE	AO escape character
 26h	BYTE	AYT escape character
 27h	BYTE	EC escape character
 28h	BYTE	EL escape character
 29h 41 BYTEs	ASCIZ Telnet-negotiated terminal type
 52h  9 BYTEs	session ID
SeeAlso: #00402

Top
14EB - INT 14 - TelAPI - "telname" - GET AVAILABLE/INUSE STATUS FOR ALL SESSIONS
INT 14 - TelAPI - "telname" - GET AVAILABLE/INUSE STATUS FOR ALL SESSIONS
	AH = EBh
	ES:SI -> buffer for session statuses (see #00402)
Return: ES:SI buffer filled
SeeAlso: AH=E9h,AH=EAh,AX=FF00h

Format of TelAPI session status information [array]:
Offset	Size	Description	(Table 00402)
 00h	BYTE	session state (00h available, 01h connected)
 01h  9 BYTEs	session ID if connected
 0Ah	WORD	attached COM port if connected, FFFFh if not
SeeAlso: #00401

Top
14EC - INT 14 - TelAPI - "telnblkopen" - CREATE TELNET CONNECTION (NON-BLOCKING)
INT 14 - TelAPI - "telnblkopen" - CREATE TELNET CONNECTION (NON-BLOCKING)
	AH = ECh
	BX = port number to connect with (default 0017h used if <= 0)
	CX:DX = Internet address of remote host
	DS:DI -> 2-byte remote host (connection) identifier
	ES:SI -> 1700-byte buffer for Telnet state record
	    0000h:0000h to use TelAPI internally-allocated space
Return: AX = status (0000h-0009h,FED3h,FF37h,FFBDh,FFC0h,FFCDh) (see #00397)
	ES:SI buffer filled with state record
	ES:SI -> internally-allocated state record in some versions
Notes:	the remote host identifier may be used to refer to this connection
	this function returns immediately; use AH=EDh to check whether the
	  connection has been established yet
	this function is not supported by the Microdyne TelAPI v3.7
SeeAlso: AH=E0h"TelAPI",AH=EDh,AX=FF00h

Top
14ED - INT 14 - TelAPI - "telpoll" - POLL TELNET SESSION FOR CONNECTION COMPLETION
INT 14 - TelAPI - "telpoll" - POLL TELNET SESSION FOR CONNECTION COMPLETION
	AH = EDh
	BX = connection ID (see AH=ECh)
Return: AX = status (0000h,0001h,FFFFh,etc.) (see also #00397)
	    0000h session now connected
	    0001h connection still in progress
Note:	this function is not supported by the Microdyne TelAPI v3.7
SeeAlso: AH=EDh,AX=FF00h

Top
14F0F0 - INT 14 - ASAP v1.0 - ???
INT 14 - ASAP v1.0 - ???
	AX = F0F0h
	DX = ???
	???
Return: ???
Program: ASAP (Automatic Screen Access Program) is a shareware screen reader
	  by MicroTalk
SeeAlso: AX=F0F1h

Top
14F0F1DX0000 - INT 14 - ASAP v1.0 - INSTALLATION CHECK
INT 14 - ASAP v1.0 - INSTALLATION CHECK
	AX = F0F1h
	DX = 0000h
Return: DX = segment of resident code
	    0000h if not installed
Program: ASAP (Automatic Screen Access Program) is a shareware screen reader
	  by MicroTalk
SeeAlso: AX=F0F0h,INT 10/AX=3800h

Top
14F4FF - INT 14 - IBM/Yale EBIOS SERIAL I/O - INSTALLATION CHECK
INT 14 - IBM/Yale EBIOS SERIAL I/O - INSTALLATION CHECK
	AX = F4FFh
	DX = port (00h-03h)
Return: CF clear if present
	    AX = 0000h
	CF set if not present
	    AX <> 0000h
SeeAlso: AH=36h"ComShare",AH=F9h,AH=FCh

Top
14F9 - INT 14 - IBM/Yale EBIOS SERIAL I/O - REGAIN CONTROL
INT 14 - IBM/Yale EBIOS SERIAL I/O - REGAIN CONTROL
	AH = F9h
	DX = port (00h-03h)
Return: nothing
SeeAlso: AX=F4FFh

Top
14FA - INT 14 - IBM/Yale EBIOS SERIAL I/O - SEND BREAK
INT 14 - IBM/Yale EBIOS SERIAL I/O - SEND BREAK
	AH = FAh
	DX = port (00h-03h)
Return: nothing
SeeAlso: AH=07h"MBBIOS",AH=1Ah,AH=8Ah

Top
14FB - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET OUTGOING MODEM SIGNALS
INT 14 - IBM/Yale EBIOS SERIAL I/O - SET OUTGOING MODEM SIGNALS
	AH = FBh
	AL = modem control register (see #00334 at AH=05h"SERIAL")
	DX = port (00h-03h)
Return: nothing
SeeAlso: AH=05h"SERIAL"

Top
14FC - INT 14 - IBM/Yale EBIOS SERIAL I/O - READ CHARACTER, NO WAIT
INT 14 - IBM/Yale EBIOS SERIAL I/O - READ CHARACTER, NO WAIT
	AH = FCh
	DX = port (00h-03h)
Return: AH = RS232 status bits (see #00304 at AH=03h)
	AL = character
SeeAlso: AH=02h,AH=0Ch,AX=FF02h

Top
14FD02 - INT 14 - IBM/Yale EBIOS SERIAL I/O - READ STATUS
INT 14 - IBM/Yale EBIOS SERIAL I/O - READ STATUS
	AX = FD02h
Return: CX = number of characters available

Top
14FF00 - INT 14 - TelAPI - "telcheck" - INSTALLATION CHECK
INT 14 - TelAPI - "telcheck" - INSTALLATION CHECK
	AX = FF00h
Return: AX = 00FFh if installed
	    BX = version number * 100 (decimal)
SeeAlso: AH=E6h,AX=F4FFh

Top
14FF01 - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET SEND BUFFER
INT 14 - IBM/Yale EBIOS SERIAL I/O - SET SEND BUFFER
	AX = FF01h
	CX = length of buffer (0000h to cancel buffer assignment)
	DX = port (00h-03h)
	ES:BX -> send buffer
Return: nothing
SeeAlso: AH=18h,AH=83h"COURIERS",AH=A5h"BAPI",AH=FCh,AX=FF02h

Top
14FF02 - INT 14 - IBM/Yale EBIOS SERIAL I/O - SET RECEIVE BUFFER
INT 14 - IBM/Yale EBIOS SERIAL I/O - SET RECEIVE BUFFER
	AX = FF02h
	CX = length of buffer (0000h to cancel buffer assignment)
	DX = port (00h-03h)
	ES:BX -> receive buffer
Return: nothing
SeeAlso: AH=18h,AH=83h"COURIERS",AH=A5h"BAPI",AH=FCh,AX=FF01h

Top
14FFF8 - INT 14 - COMM-DRV v14.0 - SET BAUD RATE DIVISOR
INT 14 - COMM-DRV v14.0 - SET BAUD RATE DIVISOR
	AX = FFF8h
	BX = card type (sub-device number)
	CX = new baudrate divisor
	DX = index to baud rate
Return: AH bit 7 set on error
	AH bit 7 clear if successful
Program: COMM-DRV is a universal serial communications driver by Willies'
	  Computer Software Company, which supports standard INT 14 and
	  FOSSIL calls as well as its own interfaces
SeeAlso: AX=8000h"COMM-DRV"

Top
14FFFB - INT 14 - COMM-DRV v14.0 - GET HIGHEST ALLOWED PORT NUMBER
INT 14 - COMM-DRV v14.0 - GET HIGHEST ALLOWED PORT NUMBER
	AX = FFFBh
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
	    BX = highest port number

Top
14FFFC - INT 14 - COMM-DRV v14.0 - GET INT 14 FLAGS
INT 14 - COMM-DRV v14.0 - GET INT 14 FLAGS
	AX = FFFCh
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
	    BX = flags (see #00403)
SeeAlso: AX=FFFDh

Bitfields for INT 14h flags:
Bit(s)	Description	(Table 00403)
 0	port active for INT 14h
 1	interface behaving like a FOSSIL driver

Top
14FFFD - INT 14 - COMM-DRV v14.0 - SET INT 14 FLAGS
INT 14 - COMM-DRV v14.0 - SET INT 14 FLAGS
	AX = FFFDh
	BX = flags (see #00403)
	DX = port number
Return: AH bit 7 set on error
	AH bit 7 clear if successful
SeeAlso: AX=FFFCh

Top
14FFFE - INT 14 - COMM-DRV v14.0 - RESTORE INT 14 VECTOR TO ORIGINAL
INT 14 - COMM-DRV v14.0 - RESTORE INT 14 VECTOR TO ORIGINAL
	AX = FFFEh
Return: AH bit 7 set on error
	AH bit 7 clear if successful

Top
14FFFF - INT 14 - COMM-DRV v14.0 - GET INT 14 INFORMATION AREA
INT 14 - COMM-DRV v14.0 - GET INT 14 INFORMATION AREA
	AX = FFFFh
	BX:SI -> DWORD buffer for address of information area (see #00404)
		  (initialized to zeros)
Return: BX:SI buffer filled with nonzero value if installed
Program: COMM-DRV is a universal serial communications driver by Willies'
	  Computer Software Company, which supports standard INT 14 and
	  FOSSIL calls as well as its own interfaces
Index:	installation check;COMM-DRV

Format of COMM-DRV information area:
Offset	Size	Description	(Table 00404)
 00h  8 BYTEs	signature "COMM-DRV"
 08h  2 BYTEs	00h,00h
 0Ah	DWORD	-> direct address mapping table
 0Eh	DWORD	previous INT 14 vector

Top
15 - INT 15 - Microsoft TSR Specification
INT 15 - Microsoft TSR Specification
	No additional information available at this time.

Top
1500 - INT 15 - CASSETTE - TURN ON TAPE DRIVE'S MOTOR (PC and PCjr only)
INT 15 - CASSETTE - TURN ON TAPE DRIVE'S MOTOR (PC and PCjr only)
	AH = 00h
Return: CF set on error
	    AH = 86h no cassette present
	CF clear if successful
SeeAlso: AH=01h"CASSETTE",MEM 0040h:0067h"PC"

Top
1500 - INT 15 - Amstrad PC1512 - GET AND RESET MOUSE COUNTS
INT 15 - Amstrad PC1512 - GET AND RESET MOUSE COUNTS
	AH = 00h
Return: CX = signed X count
	DX = signed Y count

Top
1500 - INT 15 - VMiX v2+ - INSTALLATION CHECK
INT 15 - VMiX v2+ - INSTALLATION CHECK
	AH = 00h
Return: DX = 0798h if installed
	    AX = version (AH = major, AL = minor)

Top
1500 - INT 15 - MultiDOS Plus - GIVE UP TIME SLICE
INT 15 - MultiDOS Plus - GIVE UP TIME SLICE
	AH = 00h
Return: nothing
Note:	if issued by the highest-priority task while MultiDOS is using
	  priority-based rather than round-robin scheduling, control will be
	  returned to the caller immediately
SeeAlso: AH=03h"MultiDOS",AX=1000h

Top
1501 - INT 15 - CASSETTE - TURN OFF TAPE DRIVE'S MOTOR (PC and PCjr only)
INT 15 - CASSETTE - TURN OFF TAPE DRIVE'S MOTOR (PC and PCjr only)
	AH = 01h
Return: CF set on error
	    AH = 86h no cassette present
	CF clear if successful
SeeAlso: AH=00h"CASSETTE"

Top
1501 - INT 15 - Amstrad PC1512 - WRITE DATA TO NON-VOLATILE RAM
INT 15 - Amstrad PC1512 - WRITE DATA TO NON-VOLATILE RAM
	AH = 01h
	AL = NVRAM location (00h to 3Fh) (see #00405)
	BL = NVRAM data value
Return: AH = return code
	    00h OK
	    01h address bad
	    02h write error
SeeAlso: AH=02h"Amstrad"

Format of Amstrad NVRAM:
Offset	Size	Description	(Table 00405)
 00h	BYTE	time of day: seconds
 01h	BYTE	alarm time: seconds
 02h	BYTE	time of day: minutes
 03h	BYTE	alarm time: minutes
 04h	BYTE	time of day: hours
 05h	BYTE	alarm time: hours
 06h	BYTE	day of week, 1 = Sunday
 07h	BYTE	day of month
 08h	BYTE	month
 09h	BYTE	year mod 100
 0Ah	BYTE	RTC status register A (see #00406)
 0Bh	BYTE	RTC status register B (see #00407)
 0Ch	BYTE	RTC status register C (read-only) (see #00408)
 0Dh	BYTE	RTC status register D
		bit 7: battery good
 0Eh  6 BYTEs	time and date machine last used
 14h	BYTE	user RAM checksum
 15h	WORD	Enter key scancode/ASCII code
 17h	WORD	Forward delete key scancode/ASCII code
 19h	WORD	Joystick fire button 1 scancode/ASCII code
 1Bh	WORD	Joystick fire button 2 scancode/ASCII code
 1Dh	WORD	mouse button 1 scancode/ASCII code
 1Fh	WORD	mouse button 2 scancode/ASCII code
 21h	BYTE	mouse X scaling factor
 22h	BYTE	mouse Y scaling factor
 23h	BYTE	initial VDU mode and drive count
 24h	BYTE	initial VDU character attribute
 25h	BYTE	size of RAM disk in 2K blocks
 26h	BYTE	initial system UART setup byte
 27h	BYTE	initial external UART setup byte
 28h 24 BYTEs	available for user application
Note:	bytes 00h-0Dh are the same on the IBM AT as they are used/updated by
	  the clock chip

Bitfields for RTC status register A:
Bit(s)	Description	(Table 00406)
 7	set if date/time being updated
 6-4	time base speed, default 010 = 32768 Hz
 3-0	interrupt rate selection, default 0110 = 1024 Hz
SeeAlso: #00405

Bitfields for RTC status register B:
Bit(s)	Description	(Table 00407)
 7	clear if normal update, set if abort update
 6	periodic interrupt enable
 5	alarm interrupt enable
 4	update end interrupt enable
 3	square wave enable
 2	date mode (clear = BCD, set = binary)
 1	24-hour format
 0	daylight saving time enable
SeeAlso: #00405

Bitfields for RTC status register C:
Bit(s)	Description	(Table 00408)
 7	IRQF flag
 6	PF flag
 5	AF flag
 4	UF flag
SeeAlso: #00405

Top
1501 - INT 15 - VMiX - "sys_chanreq" - I/O CHANNEL OBJECT MANAGER
INT 15 - VMiX - "sys_chanreq" - I/O CHANNEL OBJECT MANAGER
	AH = 01h
	STACK:	WORD	object ID of requestor
		DWORD	pointer to ASCIZ name of requested method
			"assign" assign channel to object
			"deassign" deassign channel
			"cursor" set cursor on/off
			"init" initialize comm port
			"open" open I/O channel
			"position" set cursor position
			"receive" get buffered packet from comm port
			"send" send buffered packet to comm port
			"vio" set current virtual I/O to specified channel
			"window" make window at cursor position
		---if "assign"---
		 WORD	object UID
		 WORD	caller UID/PID
		 DWORD	CSL with port
		---if "deassign"---
		 WORD	channel ID
		---if "cursor"---
		 WORD	channel ID (must be a SRCSINK)
		 WORD	new state (0000h off, 0001h on)
		---if "init"---
		 WORD	channel ID (must be a SRCSINK)
		 WORD	comm port number (00h-03h)
		 WORD	UART init code
		---if "open"---
		 WORD	channel ID
		---if "position"---
		 WORD	channel ID (must be a SRCSINK)
		 WORD	position (high byte = row, low byte = column)
		---if "receive"---
		 DWORD	pointer to buffer
		---if "send"---
		 WORD	length of buffer
		 DWORD	pointer to buffer
		---if "vio"---
		 WORD	channel ID (must be a SRCSINK)
		---if "window"---
		 WORD	top left (high byte = row, low byte = column)
		 WORD	bottom right (high byte = row, low byte = column)
Return: DX:AX -> IRP structure or 0000h:0000h
SeeAlso: AH=00h"VMiX",AH=02h"VMiX"

Top
1501 - INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE
INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE
	AH = 01h
	AL = semaphore number (00h-3Fh)
Return: AH = status
	    00h successful
	    02h invalid semaphore number
Notes:	if the semaphore is not owned, ownership is assigned to the calling
	  task and the call returns immediately
	if the semaphore is already owned by another task, the calling task
	  is placed on a queue for the semaphore and suspended until it can
	  become owner of the semaphore
	semaphore 0 is used internally by MultiDOS to synchronize DOS access
SeeAlso: AH=02h"MultiDOS",AH=10h"MultiDOS",AH=1Bh"MultiDOS"

Top
1502 - INT 15 - CASSETTE - READ DATA (PC and PCjr only)
INT 15 - CASSETTE - READ DATA (PC and PCjr only)
	AH = 02h
	CX = number of bytes to read
	ES:BX -> buffer
Return: CF clear if successful
	    DX = number of bytes read
	    ES:BX -> byte following last byte read
	CF set on error
	AH = status (see #00409)
SeeAlso: AH=00h"CASSETTE",AH=03h"CASSETTE",MEM 0040h:0069h,MEM 0040h:006Bh"PC"

(Table 00409)
Values for Cassette status:
 00h	successful
 01h	CRC error
 02h	bad tape signals
 04h	no data
 80h	invalid command
 86h	no cassette present

Top
1502 - INT 15 - Amstrad PC1512 - READ DATA FROM NON-VOLATILE RAM
INT 15 - Amstrad PC1512 - READ DATA FROM NON-VOLATILE RAM
	AH = 02h
	AL = NVRAM location (00h to 3Fh)
Return: AH = return code
	    00h OK
	    01h address bad
	    02h checksum error
	AL = NVRAM data value
SeeAlso: AH=01h"Amstrad"

Top
1502 - INT 15 - VMiX - "sys_memreq" - MEMORY OBJECT MANAGER
INT 15 - VMiX - "sys_memreq" - MEMORY OBJECT MANAGER
	AH = 02h
	STACK:	WORD	object ID of requestor
		DWORD	pointer to ASCIZ name of requested method
			"assign" allocate low memory block
			"assign extended" allocate extended memory pages
			"assign gdt" allocate GDT selector
			"paged" allocate low paged memory
			"paged extended" alllocate extended memory pages
			"deassign" free memory block
			"deassign gdt" free GDT selector
			"getvpage" get physical address for virtual page
			"setvpage" set physical address for virtual page
			"info" get VMiX memory usage info block
			"move" move contents of 32-bit memory
			"newmcb" make new DOS memory control block
			"owner" get process ID of MCB or PSP owner
			"umb" allocate upper memory block
			"video" toggle system use of video memory and get stat
		---if "assign"---
		 WORD	number of objects
		 WORD	size in bytes (multiple of 512 bytes)
		---if "assign extended"---
		 WORD	number of objects
		 WORD	size in bytes (multiple of 4K)
		---if "assign gdt"---
		 WORD	access type (low byte)
		 WORD	segment size in paragraphs
		 DWORD	pointer to start of physical segment
		---if "paged"---
		 WORD	number of 512-byte pages
		---if "paged extended"
		 WORD	number of 4K pages
		---if "deassign"---
		 DWORD	pointer returned by previous allocation call
		---if "deassign gdt"---
		 WORD	GDT selector
		---if "getvpage"---
		 WORD	owner's process ID
		 DWORD	pointer to buffer for page structure (struct VPGE)
		---if "setvpage"---
		 WORD	owner's process ID
		 DWORD	pointer to new page structure (struct VPGE)
		---if "info"---
		 no additional arguments
		---if "move"
		 DWORD	32-bit source address
		 DWORD	32-bit destination address
		 WORD	number of words to move
		---if "newmcb"---
		 DWORD	pointer to new MCB's location
		 WORD	size of memory block
		 DWORD	pointer to ASCIZ name string (max 8 chars)
		---if "owner"---
		 WORD	MCB or PSP segment
		---if "umb"---
		 WORD	size in paragraphs
		---if "video"---
		 no additional arguments
Return: DX:AX -> memory block or VPGE struct or 0000h:0000h
SeeAlso: AH=00h"VMiX",AH=01h"VMiX"

Top
1502 - INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE
INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE
	AH = 02h
	AL = semaphore number (00h-3Fh)
Return: AH = status
	    00h successful
	    01h not semaphore owner
	    02h invalid semaphore number
Notes:	if any tasks are waiting for the semaphore, the first task on the wait
	  queue will become the new owner and be reawakened
	do not use within an interrupt handler
SeeAlso: AH=01h"MultiDOS",AH=10h"MultiDOS",AH=1Ch"MultiDOS"

Top
1503 - INT 15 - CASSETTE - WRITE DATA (PC and PCjr only)
INT 15 - CASSETTE - WRITE DATA (PC and PCjr only)
	AH = 03h
	CX = number of bytes to write
	ES:BX -> data buffer
Return: CF clear if successful
	    ES:BX -> byte following last byte written
	CF set on error
	AH = status (see #00409)
	CX = 0000h
SeeAlso: AH=00h"CASSETTE",AH=02h"CASSETTE"

Top
1503 - INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE WRITE REGISTER
INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE WRITE REGISTER
	AH = 03h
	AL = value (I,R,G,B bits)
Return: nothing
SeeAlso: AH=04h"Amstrad"

Top
1503 - INT 15 - VMiX - "sys_pinput" - PROMPTED CONSOLE INPUT
INT 15 - VMiX - "sys_pinput" - PROMPTED CONSOLE INPUT
	AH = 03h
	STACK:	DWORD	pointer to ASCII prompt
		WORD	field outline character
		WORD	length of input field (max 7Fh)
		DWORD	address of pointer to input buffer
Return: AX = length of input (input buffer is padded with blanks)
SeeAlso: AH=04h"VMiX"

Top
1503 - INT 15 - MultiDOS Plus - SUSPEND TASK FOR INTERVAL
INT 15 - MultiDOS Plus - SUSPEND TASK FOR INTERVAL
	AH = 03h
	DX = number of time slices to remain suspended
Return: after specified interval has elapsed
Note:	when priority-based scheduling is in use, high-priority tasks should
	  use this function to yield the processor
SeeAlso: AH=00h"MultiDOS",AH=0Ah"MultiDOS"

Top
1504 - INT 15 - SYSTEM - BUILD ABIOS SYSTEM PARAMETER TABLE (PS)
INT 15 - SYSTEM - BUILD ABIOS SYSTEM PARAMETER TABLE (PS)
	AH = 04h
	ES:DI -> 32-byte results buffer for System Parameter Table (see #00410)
	DS = segment containing ABIOS RAM extensions (zero if none)
Return: CF clear if successful
	    AH = 00h success
	    ES:DI buffer filled
	    AL destroyed
	CF set on failure
	    AX destroyed
	    AH = 80h/86h if not supported
SeeAlso: AH=05h"ABIOS",AH=C1h

Format of ABIOS System Parameter Table:
Offset	Size	Description	(Table 00410)
 00h	DWORD	FAR address of ABIOS Common Start Routine
 04h	DWORD	FAR address of ABIOS Interrupt Routine
 08h	DWORD	FAR address of ABIOS Time-out Routine
 0Ch	WORD	number of bytes of stack required by this ABIOS implementation
 0Eh 16 BYTEs	reserved
 1Eh	WORD	number of entries in initialization table

Top
1504 - INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE READ REGISTER
INT 15 - Amstrad PC1512 - WRITE VDU COLOR PLANE READ REGISTER
	AH = 04h
	AL = value (RDSEL1 and RDSEL0)
Return: nothing
SeeAlso: AH=03h"Amstrad",AH=05h"Amstrad"

Top
1504 - INT 15 - VMiX - "sys_vprintf" - FORMATTED OUTPUT TO STREAM
INT 15 - VMiX - "sys_vprintf" - FORMATTED OUTPUT TO STREAM
	AH = 04h
	STACK:	DWORD	control string
		DWORD	array of arguments
Return: nothing
SeeAlso: AH=03h"VMiX"

Top
1504 - INT 15 - MultiDOS Plus - SEND MESSAGE TO ANOTHER TASK
INT 15 - MultiDOS Plus - SEND MESSAGE TO ANOTHER TASK
	AH = 04h
	AL = mailbox number (00h-3Fh)
	CX = message length in bytes
	DS:SI -> message
Return: AH = status
	    00h successful
	    01h out of message memory
	    02h invalid mailbox number
Note:	the message is copied into a system buffer; the caller may immediately
	  reuse its buffer
SeeAlso: AH=05h"MultiDOS"

Top
1505 - INT 15 - SYSTEM - BUILD ABIOS INITIALIZATION TABLE (PS)
INT 15 - SYSTEM - BUILD ABIOS INITIALIZATION TABLE (PS)
	AH = 05h
	ES:DI -> results buffer of length 18h * Number_of_Entries (see #00411)
	DS = segment containing ABIOS RAM extensions (zero if none)
Return: CF clear if successful
	    AH = 00h success
	    ES:DI buffer filled
	    AL destroyed
	CF set on failure
	    AX destroyed
	    AH = 80h/86h if not supported
SeeAlso: AH=04h"ABIOS",AH=C1h

Format of one entry of ABIOS Initialization Table:
Offset	Size	Description	(Table 00411)
 00h	WORD	device ID (see #00412)
 02h	WORD	number of Logical IDs
 04h	WORD	Device Block length (zero for ABIOS patch or extension)
 06h	DWORD	-> init routine for Device Block and Function Transfer Table
 0Ah	WORD	request block length
 0Ch	WORD	Function Transfer Table length (zero for a patch)
 0Eh	WORD	Data Pointers length (in Common Data Area)
 10h	BYTE	secondary device ID (hardware level this ABIOS ver supports)
 11h	BYTE	revision (device driver revision level this ABIOS supports)
 12h  6 BYTEs	reserved

(Table 00412)
Values for ABIOS device ID:
 00h	ABIOS internal calls
 01h	floppy disk
 02h	hard disk
 03h	video
 04h	keyboard
 05h	parallel port
 06h	serial port
 07h	system timer
 08h	real-time clock
 09h	system services
 0Ah	NMI
 0Bh	mouse
 0Eh	CMOS RAM
 0Fh	DMA
 10h	Programmable Option Select (POS)
 16h	keyboard password

Top
1505 - INT 15 - Amstrad PC1512 - WRITE VDU GRAPHICS BORDER REGISTER
INT 15 - Amstrad PC1512 - WRITE VDU GRAPHICS BORDER REGISTER
	AH = 05h
	AL = value (I,R,G,B bits)
Return: nothing
SeeAlso: AH=04h"Amstrad"

Top
1505 - INT 15 - VMiX - "sys_getpid" - GET PROCESS ID OF CURRENT PROCESS
INT 15 - VMiX - "sys_getpid" - GET PROCESS ID OF CURRENT PROCESS
	AH = 05h
Return: AX = process ID
SeeAlso: AH=06h"VMiX",AH=0Bh"VMiX"

Top
1505 - INT 15 - MultiDOS Plus - CHECK MAILBOX
INT 15 - MultiDOS Plus - CHECK MAILBOX
	AH = 05h
	AL = mailbox number (00h-3Fh)
Return: AH = status
	    00h successful
		DX = length of first message in queue, 0000h if no message
	    02h invalid mailbox number
SeeAlso: AH=04h"MultiDOS",AH=06h"MultiDOS"

Top
1506 - INT 15 - Amstrad PC1512 - GET ROS VERSION NUMBER
INT 15 - Amstrad PC1512 - GET ROS VERSION NUMBER
	AH = 06h
Return: BX = version number

Top
1506 - INT 15 - VMiX - "sys_getpcb" - GET POINTER TO PROCESS CONTROL BLOCK
INT 15 - VMiX - "sys_getpcb" - GET POINTER TO PROCESS CONTROL BLOCK
	AH = 06h
	STACK:	WORD	process ID
Return: DX:AX -> process control block
SeeAlso: AH=05h"VMiX",AH=07h"VMiX",AH=08h"VMiX"

Top
1506 - INT 15 - MultiDOS Plus - READ MAILBOX
INT 15 - MultiDOS Plus - READ MAILBOX
	AH = 06h
	AL = mailbox number (00h-3Fh)
	CX = size of buffer in bytes
	ES:DI -> buffer for message
Return: AH = status
	    00h successful
		CX = number of bytes copied
		DX = actual length of message
	    02h invalid mailbox number
Note:	if the caller's buffer is not large enough, the message is truncated
	  and the remainder is lost
SeeAlso: AH=04h"MultiDOS",AH=05h"MultiDOS"

Top
1507 - INT 15 - VMiX - "sys_getocb" - GET POINTER TO OBJECT CONTROL BLOCK
INT 15 - VMiX - "sys_getocb" - GET POINTER TO OBJECT CONTROL BLOCK
	AH = 07h
	STACK:	WORD	object type
Return: DX:AX -> object control block
SeeAlso: AH=06h"VMiX",AH=08h"VMiX"

Top
1507 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = 07h
SeeAlso: AH=08h"IBM"

Top
1507 - INT 15 - MultiDOS Plus - SPAWN INTERNAL TASK (CREATE NEW THREAD)
INT 15 - MultiDOS Plus - SPAWN INTERNAL TASK (CREATE NEW THREAD)
	AH = 07h
	BX:CX = entry point of new task
	DX = stack size in paragraphs
Return: AH = status
	    00h successful
	    01h no free task control blocks
	    02h no free memory for task's stack
Note:	execution returns immediately to calling task
SeeAlso: AH=08h"MultiDOS",AH=09h"MultiDOS",AH=13h"MultiDOS"

Top
1508 - INT 15 - VMiX - "sys_getccb" - GET CHANNEL CONTROL BLOCK
INT 15 - VMiX - "sys_getccb" - GET CHANNEL CONTROL BLOCK
	AH = 08h
	STACK:	WORD	channel ID
Return: DX:AX -> channel control block
SeeAlso: AH=06h"VMiX",AH=07h"VMiX"

Top
1508 - INT 15 - IBM SurePath BIOS - WAIT REQUESTED TIME PERIOD
INT 15 - IBM SurePath BIOS - WAIT REQUESTED TIME PERIOD
	AH = 08h
	AL = function
	    00h wait in increments of 15.025 microseconds
		CX = number of time increments to wait (0000h = maximum)
	    80h wait in increments of 840 ns
		ECX = number of time increments to wait
	    81h I/O event wait
		BH = bitmask of bits to check
		BL = expected pattern
		DX = I/O port address
		ECX = number of 840 ns microticks to wait
		Return: ECX = 00000000h if expected pattern did not occur
	    82h memory event wait
		BH = bitmask of bits to check
		BL = expected pattern
		ES:SI -> BYTE to check
		ECX = number of 840 ns microticks to wait
		Return: ECX = 00000000h if expected pattern did not occur
	    other reserved
Return: CF clear if successful
	CF set on error
	AH = status
	    00h successful
	    01h used 15.025 microsecond interval, time rounded up
	    08h reserved subfunction
	    86h function not supported
Notes:	IBM classifies this function as optional
	if the POST determines that the timer is nonfunctional, this function
	  uses the 15.025 microsecond refresh timer instead of the
	  full-resolution timer
SeeAlso: AH=07h"IBM",AH=09h"IBM",AH=86h

Top
1508 - INT 15 - MultiDOS Plus - TERMINATE INTERNAL TASK (KILL THREAD)
INT 15 - MultiDOS Plus - TERMINATE INTERNAL TASK (KILL THREAD)
	AH = 08h
Return: calling task terminated, so execution never returns to caller
Notes:	an internal task must be terminated with this function rather than a
	  DOS termination function
	task's stack space is returned to parent task's memory pool
SeeAlso: AH=07h"MultiDOS"

Top
1509 - INT 15 - VMiX - "sys_getqueue" - GET ID OF QUEUED ELEMENT
INT 15 - VMiX - "sys_getqueue" - GET ID OF QUEUED ELEMENT
	AH = 09h
	STACK:	WORD	queue ID (0 = process queue, 1 = object, 3 = type)
		WORD	subqueue ID
Return: AX = queue ID
SeeAlso: AH=0Ah"VMiX"

Top
1509 - INT 15 - IBM BIOS - RESERVED FOR PCMCIA SYSTEM RESOURCE TABLE ACCESS
INT 15 - IBM BIOS - RESERVED FOR PCMCIA SYSTEM RESOURCE TABLE ACCESS
	AH = 09h
	no further details available
SeeAlso: AH=08h"IBM"

Top
1509 - INT 15 - MultiDOS Plus - CHANGE TASK'S PRIORITY
INT 15 - MultiDOS Plus - CHANGE TASK'S PRIORITY
	AH = 09h
	AL = new priority
Return: nothing
Note:	the priority has different meanings depending on whether priority-
	  based or round-robin scheduling is used
SeeAlso: AH=07h"MultiDOS"

Top
150A - INT 15 - VMiX - "sys_qetqnext" - GET ID OF NEXT QUEUED ELEMENT
INT 15 - VMiX - "sys_qetqnext" - GET ID OF NEXT QUEUED ELEMENT
	AH = 0Ah
	STACK:	WORD	queue ID (0 = process queue, 1 = object, 3 = type)
		WORD	ID of current element in queue chain
Return: AX = ID of next element
SeeAlso: AH=09h"VMiX",AH=0Fh"VMiX"

Top
150A - INT 15 - MultiDOS Plus - CHANGE TIME SLICE INTERVAL
INT 15 - MultiDOS Plus - CHANGE TIME SLICE INTERVAL
	AH = 0Ah
	AL = new interval
	    00h = 55.0 ms (default)
	    80h = 27.5 ms
	    40h = 13.75 ms
	    20h = 6.88 ms
	    10h = 3.44 ms
	    08h = 1.72 ms
SeeAlso: AH=03h"MultiDOS"

Top
150B - INT 15 - VMiX - "sys_sysreq" - SYSTEM CONFIGURATION MANAGER
INT 15 - VMiX - "sys_sysreq" - SYSTEM CONFIGURATION MANAGER
	AH = 0Bh
	STACK:	WORD	caller's UID
		DWORD	pointer to ASCIZ name of requested method
			"abort" abort current send/receive on comm port
			"block" start/end critical section
			"close" terminate interrupt-drive comm I/O
			"open" prepare comm port for interrupt-driven I/O
			"delay" set delay timer and wait
			"hibernate" put process to sleep
			"ints" enable/disable interrupt-driven INT 14h
			"length" get current send/receive buffer offsets
			"kswitch" switch stacks
			"numproc" get number of active processes
			"protocol" set protocol function for comm interrupts
			"relocate" set/reset VMiX flag for relocating to himem
			"status" get current open comm port status
			"wake" awaken a process
			"xport" get comm port polled for logins
		---if "abort"---
		 no additional arguments
		---if "block"---
		 WORD	0000h end, 0001h start
		---if "close"---
		 no additional arguments
		---if "open"---
		 WORD	comm port (00h-03h)
		 WORD	BIOS parameter byte (see #00300 at INT 14/AH=00h),
			except bits 7-5: 000 = 19200, 001 = 38400, 011 = 115200
		---if "delay"---
		 WORD	time in seconds
		---if "hibernate"---
		 WORD	process ID
		---if "ints"---
		 WORD	0000h if no, 0001h if yes
		---if "length","numproc","relocate","status","xport"---
		 no additional arguments
		---if "kswitch"---
		 DWORD	pointer to new stack
		---if "protocol"---
		 DWORD	pointer to function (must be in low "assign"ed memory
			when in 386 mode)
		---if "wake"---
		 WORD	process ID
Return: DX:AX -> result or 0000h:0000h
		---if "length"---
		 BYTE	receive offset
		 BYTE	send offset
		---if "kswitch"---
		 DWORD	old stack pointer
		---if "numproc"---
		 WORD	number of active processes
		---if "status"---
		 current open comm port status
		---if "xport"---
		 current comm port being polled for logins
Note:	the "delay" command reportedly disables the keyboard until the delay
	  completes
SeeAlso: AH=05h"VMiX",AH=0Eh"VMiX"

Top
150B - INT 15 - MultiDOS Plus - FORCE DISPLAY OUTPUT TO PHYSICAL SCREEN MEMORY
INT 15 - MultiDOS Plus - FORCE DISPLAY OUTPUT TO PHYSICAL SCREEN MEMORY
	AH = 0Bh
Return: nothing
Notes:	sets calling task's screen pointer to actual screen memory; the pointer
	  may be restored with AH=0Ch
	caller's video mode must be same as foreground task's video mode
	any text written while in the background will be saved to the
	  foreground task's virtual screen when it switches to the background
	useful if a background task wants to display a message on the
	  foreground screen
SeeAlso: AH=0Ch"MultiDOS"

Top
150C - INT 15 - VMiX - "sys_getstack" - GET POINTER TO PROCESS TSS STACK
INT 15 - VMiX - "sys_getstack" - GET POINTER TO PROCESS TSS STACK
	AH = 0Ch
	STACK:	WORD	process ID
Return: DX:AX -> TSS stack store
SeeAlso: AH=00h"VMiX"

Top
150C - INT 15 - MultiDOS Plus - RESTORE OLD VIDEO DISPLAY MEMORY
INT 15 - MultiDOS Plus - RESTORE OLD VIDEO DISPLAY MEMORY
	AH = 0Ch
Return: nothing
Note:	restores task's screen pointer saved by AH=0Bh; must not be called
	  unless AH=0Bh has been called first
SeeAlso: AH=0Bh"MultiDOS"

Top
150D - INT 15 - VMiX - "sys_spawn" - START A CHILD PROCESS JOB SHELL
INT 15 - VMiX - "sys_spawn" - START A CHILD PROCESS JOB SHELL
	AH = 0Dh
	STACK:	DWORD	ASCIZ string starting with requested I/O channel and
			followed by standard VMiX shell command string
Return: AX = process ID or error code "SYS_ERROR"
Note:	the maximum string length is 7Fh characters
SeeAlso: AH=0Eh"VMIX",AH=11h"VMiX",INT 21/AH=4Bh

Top
150D - INT 15 - MultiDOS Plus - DISABLE MULTITASKING
INT 15 - MultiDOS Plus - DISABLE MULTITASKING
	AH = 0Dh
Return: nothing
Note:	calling task receives all time slices until AH=0Eh is called; this
	  allows time-critical events or nonreentrant code to be processed
SeeAlso: AH=0Eh"MultiDOS",AH=10h"MultiDOS",AX=101Bh,AH=20h"MultiDOS"

Top
150E - INT 15 - VMiX - "sys_kill" - HARD TERMINATE PROCESS
INT 15 - VMiX - "sys_kill" - HARD TERMINATE PROCESS
	AH = 0Eh
	STACK:	WORD	process ID
Return: AX = status (SYS_OK or SYS_ERROR)
SeeAlso: AH=0Bh"VMiX",AH=0Dh"VMIX"

Top
150E - INT 15 - MultiDOS Plus - ENABLE MULTITASKING
INT 15 - MultiDOS Plus - ENABLE MULTITASKING
	AH = 0Eh
Return: nothing
SeeAlso: AH=0Dh"MultiDOS",AX=101Ch,AH=20h"MultiDOS"

Top
150F - INT 15 C - SYSTEM - FORMAT UNIT PERIODIC INTERRUPT (PS ESDI drives only)
INT 15 C - SYSTEM - FORMAT UNIT PERIODIC INTERRUPT (PS ESDI drives only)
	AH = 0Fh
	AL = phase code
	    00h reserved
	    01h surface analysis
	    02h formatting
Return: CF clear if formatting should continue
	CF set if formatting should terminate
Note:	called during ESDI drive formatting after each cylinder is completed
SeeAlso: INT 13/AH=1Ah

Top
150F - INT 15 - VMiX - "sys_getqkey" - GET KEY FIELD OF QUEUED ELEMENT
INT 15 - VMiX - "sys_getqkey" - GET KEY FIELD OF QUEUED ELEMENT
	AH = 0Fh
	STACK:	WORD	queue ID (0 = process queue, 1 = object q, 3 = type q)
		WORD	ID of element in queue chain
Return: AX = key
SeeAlso: AH=0Ah"VMiX"

Top
150F - INT 15 - MultiDOS Plus - EXECUTE A MULTIDOS PLUS COMMAND
INT 15 - MultiDOS Plus - EXECUTE A MULTIDOS PLUS COMMAND
	AH = 0Fh
	DS:BX -> ASCIZ command
Return: after command has been processed
Notes:	specified string is executed as if it had been typed at the MultiDOS
	  command prompt
	the task is placed on a queue which MultiDOS examines periodically and
	  is suspended until MultiDOS has processed the command
	all lowercase characters up to the first blank are converted to upper
	  case within the given buffer

Top
Section -


Top
1510 - INT 15 - VMiX - "sys_virtual" - EXECUTE CONFORMING FUNCTION IN PROTECTED MODE
INT 15 - VMiX - "sys_virtual" - EXECUTE CONFORMING FUNCTION IN PROTECTED MODE
	AH = 10h
	STACK:	DWORD	pointer to function
	      N WORDs	function args
Return: AX = function's return value??? (not specified in documentation)
Note:	while the function is executing, the following global descriptors are
	  available:
		20h stack segment
		38h code segment of function
		40h data alias for function's code segment
	  additional GDT descriptors can be allocated using AH=02h with
	  function "assign gdt"
SeeAlso: AH=02h"VMiX",AH=51h"VMiX"

Top
1510 - INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE
INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE
	AH = 10h
	AL = semaphore number (00h-3Fh)
Return: AH = status
	    00h semaphore not in use
	    01h semaphore owned by another task
	    02h invalid semaphore number
	    03h semaphore owned by caller
SeeAlso: AH=02h"MultiDOS",AH=0Dh"MultiDOS",AH=1Dh"MultiDOS"

Top
151000 - INT 15 - TopView - "PAUSE" - GIVE UP CPU TIME
INT 15 - TopView - "PAUSE" - GIVE UP CPU TIME
	AX = 1000h
Return: after other processes run
Note:	under DESQview, if the process issuing this call has hooked INT 08h,
	  the current time-slice is set to expire at the next clock tick rather
	  than immediately
SeeAlso: AH=00h"MultiDOS",AX=5305h,INT 21/AH=89h,INT 21/AH=EEh"DoubleDOS"
SeeAlso: INT 2F/AX=1680h,INT 60/DI=0106h,INT 62/AH=01h,INT 6F/AH=2Ah"F_YIELD"
SeeAlso: INT 7A/BX=000Ah,INT 7F/AH=02h"MultiLink",INT 7F/AH=E8h

Top
151001 - INT 15 - TopView - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
INT 15 - TopView - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
	AX = 1001h
	BX = number of bytes to allocate
Return: ES:DI -> block of memory or 0000h:0000h (DV v2.26+)
	AX = status (DV v2.42)
	    0000h successful
	    0001h failed
Note:	use SETERROR (AX=DE15h) to avoid a user prompt if there is insufficient
	  common memory.  Under DV v2.42, this call never generates a user
	  prompt regardless of the SETERROR value; instead, it always returns
	  AX=0001h and ES:DI=0000h:0000h if out of memory
SeeAlso: AX=1002h,AX=102Eh,AX=DE0Ch,AX=DE15h

Top
151002 - INT 15 - TopView - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
INT 15 - TopView - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
	AX = 1002h
	ES:DI -> previously allocated block
Return: block freed
SeeAlso: AX=1001h,AX=DE0Dh

Top
151003 - INT 15 - TopView - "PRINTC" - DISPLAY CHARACTER/ATTRIBUTE ON SCREEN
INT 15 - TopView - "PRINTC" - DISPLAY CHARACTER/ATTRIBUTE ON SCREEN
	AX = 1003h
	BH = attribute
	BL = character
	DX = segment of object handle for window
Return: nothing
Note:	BX=0000h does not display anything, it only positions the hardware
	  cursor to the logical cursor's current position

Top
1510 - INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
	AH = 10h
	AL = 04h thru 12h
Return: pops up "Programming error" window in DV 2.x

Top
151013 - INT 15 - TopView - "GETBIT" - DEFINE A 2ND-LEVEL INTERRUPT HANDLER
INT 15 - TopView - "GETBIT" - DEFINE A 2ND-LEVEL INTERRUPT HANDLER
	AX = 1013h
	ES:DI -> FAR service routine
Return: BX = bit mask indicating which bit was allocated
	    0000h if no more bits available
SeeAlso: AX=1014h,AX=1015h
Note:	only a few TopView/DESQview API calls are allowed during a hardware
	  interrupt; if other calls need to be made, the interrupt handler
	  must schedule a 2nd-level interrupt with "SETBIT" (AX=1015h)

Top
151014 - INT 15 - TopView - "FREEBIT" - UNDEFINE A 2ND-LEVEL INTERRUPT HANDLER
INT 15 - TopView - "FREEBIT" - UNDEFINE A 2ND-LEVEL INTERRUPT HANDLER
	AX = 1014h
	BX = bit mask from INT 15/AX=1013h
Return: nothing
SeeAlso: AX=1013h,AX=1015h

Top
151015 - INT 15 - TopView - "SETBIT" - SCHEDULE ONE OR MORE 2ND-LEVEL INTERRUPTS
INT 15 - TopView - "SETBIT" - SCHEDULE ONE OR MORE 2ND-LEVEL INTERRUPTS
	AX = 1015h
	BX = bit mask for interrupts to post
Return: indicated routines will be called: (DV 2.0x) at next task switch
					   (DV 2.2x) immediately on return from
						     hardware interrupt
Notes:	this is one of the few TopView calls which are allowed from a hardware
	  interrupt handler
	the handler will be called with ES containing the segment of the handle
	  of the next task to be executed; on return, ES must be the segment of
	  a task handle
SeeAlso: AX=1013h,AX=1014h

Top
151016 - INT 15 - TopView - "ISOBJ" - VERIFY OBJECT HANDLE
INT 15 - TopView - "ISOBJ" - VERIFY OBJECT HANDLE
	AX = 1016h
	ES:DI = possible object handle
Return: BX = status
	    FFFFh if ES:DI is a valid object handle (see #00414)
	    0000h if ES:DI is not
Note:	under DESQview versions prior to 2.50, an object handle is always a
	  pointer to the object; for versions 2.50 and up, only task handles
	  are always pointers--other handles may consist of a unique object
	  number and offset into DESQview's common memory (see #00423)
SeeAlso: AX=DE14h,AX=DE2Bh,AX=DE2Ch

(Table 00413)
Values for DESQview object type:
 00h	window/task
 01h	mailbox
 02h	keyboard
 03h	timer
 04h	pointer
 05h	panel
 06h	objectq

Format of DESQview object:
Offset	Size	Description	(Table 00414)
 00h	WORD	offset in common memory of previous object of same type
 02h	WORD	offset in common memory of next object of same type
 04h	WORD	signature FEDCh (DV 2.42-)
		signature FEDCh or object number (DV 2.50+)
 06h	WORD	object type (see #00413)
 08h	DWORD	object handle to return to caller
 0Ch	DWORD	canonicalized object address (segment = common memory)
 10h	WORD	offset in common memory of owning task
		(0000h for unowned OBJECTQs)
 12h	WORD	mapping context
		offset in common memory of mapping context record (see #00416)
	remainder varies by object type and DESQview version
---v2.42 keyboard object---
 14h	WORD	flag bits (see also AH=12h/BH=0Ah"OBJECT")
		bit 15: keyboard opened
 16h  4 BYTEs	???
 1Ah	WORD	priority in OBJECTQ???
 1Ch	...
 25h	WORD	offset in common memory of ??? task
 27h  4 BYTEs	???
---v2.42 objectq object---
 14h	WORD	flag bits (see also AH=12h/BH=0Ah"OBJECT")
		bit 15: OBJECTQ opened
 16h  2 BYTEs	???
 18h	WORD	offset in common memory of ??? task
 1Ah  6 BYTEs	???
---v2.42 mailbox object---
 14h	WORD	flag bits (see also AH=12h/BH=0Ah"OBJECT")
		bit 15: mailbox opened
 1Ah	WORD	priority in OBJECTQ???
 1Ch  6 BYTEs	???
 22h	WORD	offset in common memory of mailbox name (counted string)
		0000h if no name
    <= 5 BYTEs	???
---v2.22-2.42,2.52,2.60 window/task object---
 14h	BYTE	00h window, 01h task
 15h	BYTE	internal (not Switch menu) window number???
 16h	BYTE	internal (not Switch menu) window number???
 17h	WORD	segment of internal window record (see #00417)
 19h  2 BYTEs	???
 1Bh	BYTE	cursor row
 1Ch	BYTE	cursor column
 1Dh	BYTE	visible window origin, row
 1Eh	BYTE	visible window origin, column
 1Fh	BYTE	window height (logical)
 20h	BYTE	window width (logical)
 21h	BYTE	window position, row
 22h	BYTE	window position, column
 23h	BYTE	window height (visible)
 24h	BYTE	window width (visible)
 25h	BYTE	row of top of frame (or window if unframed)
 26h	BYTE	column of left of frame (or window if unframed)
 27h	BYTE	window height (physical, including frame)
 28h	BYTE	window width (physical, including frame)
 29h	BYTE	unzoomed visible origin, row (00h before first zoom)
 2Ah	BYTE	unzoomed visible origin, column (00h before first zoom)
 2Bh	BYTE	unzoomed window position, row (00h before first zoom)
 2Ch	BYTE	unzoomed window position, column (00h before first zoom)
 2Dh	BYTE	unzoomed window height (00h before first zoom)
 2Eh	BYTE	unzoomed window width (00h before first zoom)
		unzoomed parameters above are updated when window is zoomed
		  to full screen
 2Fh	BYTE	??? initially logical window height
 30h	BYTE	??? initially logical window width
 31h  2 BYTEs	???
 33h	BYTE	minimum height of window
 34h	BYTE	minimum width of window
 35h	BYTE	maximum height of window
 36h	BYTE	maximum width of window
 37h  3 BYTEs	???
 3Ah  8 BYTEs	window frame characters: ul,ur,ll,lr,t,b,l,r
 42h 24 BYTEs	attributes???
 5Ah  8 BYTEs	window frame characters: ul,ur,ll,lr,t,b,l,r
 62h  3 BYTEs	???
 65h	BYTE	??? bitflags
 66h	BYTE	bit 0: window is zoomed
 67h	BYTE	???
 68h	WORD	offset in common memory of window name or 0000h if untitled
 6Ah	WORD	length of window name
 6Ch  2 BYTEs	???
 6Eh	WORD	offset of logical cursor in window (in character cells)
 70h	DWORD	pointer to field table for window
 74h	BYTE	???
 75h  2 BYTEs	???
 77h	BYTE	number of last-visited field
 78h	DWORD	pointer to field table entry for last-visited field
 7Ch  3 BYTEs	???
 7Fh	BYTE	select field marker character
 80h	BYTE	??? bit flags
		bit 0: allow ECh window stream opcode to change reverse logattr
		bit 1: alternate field processing mode selected
 81h	BYTE	???
 82h	DWORD	notification function (manager stream opcode 8Ah)
		no notification if segment = 0000h
 86h	DWORD	notification argument (manager stream opcode 8Bh)
 8Ah	WORD	offset in common memory of ??? window object or 0000h
 8Ch	WORD	offset in common memory of ??? window object or 0000h
 8Eh	WORD	offset in common memory of ??? window object or 0000h
 90h	BYTE	??? bitflags
 91h	BYTE	???
 ---task object only
 92h	BYTE	bit flags (bits 0-4)
 93h	BYTE	character for ??? (default 20h)
 94h	BYTE	??? flag
 95h	WORD	offset in common memory of ???
 97h  2 BYTEs	???
 99h	WORD	???
 9Bh	BYTE	??? bit flags
		bit 3: ???
		bit 6: perform protected-attribute processing on select fields
 9Ch	BYTE	???
 9Dh	WORD	offset in common memory of current register save record
		  (see #00415).	No register save record in use if < 01C0h
 9Fh	WORD	offset in common memory of task's keyboard object
 A1h	WORD	offset in common memory of task's OBJECTQ object
 A3h	WORD	offset in common memory of task's mailbox object
 A5h	WORD	semaphore: FFFFh if on user stack, else on task's private stack
 A7h	DWORD	user's SS:SP
 ABh	WORD	task's private SP (SS read from offset 0Ah)
 ADh  6 BYTEs	???
 B3h	BYTE	??? bit flags
		bit 0: run in foreground only
 B4h	BYTE	???
 B5h	BYTE	??? bitflags
 B6h	BYTE	task status (see #00555 at AX=DE2Ch)
 B7h  9 BYTEs	???
 C0h	WORD	head pointer for keyboard buffer (wraps back to 00h after 80h)
 C2h	WORD	tail pointer for keyboard buffer (wraps back to 00h after 80h)
 C4h  2 BYTEs	??? (0000h)
 C6h	WORD	segment of keyboard buffer for task
 C8h	WORD	offset in common memory of ??? keyboard object
 CAh	BYTE	???
---v2.22-2.42
 CBh	WORD	offset in common memory of ??? object
 CEh	BYTE	??? flag
 CFh	WORD	offset in common memory of default notify window for task
		  or 0000h if none
 D1h  4 BYTEs	???
 D5h	BYTE	window number on Switch Window menu
 D6h  5 BYTEs	???
 DBh	WORD	offset in common memory of ??? object
 DDh  2 BYTEs	???
 DFh	WORD	API level for task
 E1h	WORD	offset in common memory of object task is waiting on if task
		  status is 'waiting', else 0000h
 E7h	WORD	segment of ???
 E9h 4	BYTEs	???
 EDh	WORD	EMS handle of virtualization buffer, 0000h if no virtualization
 F1h 12 BYTEs	???
 FBh	WORD	???
 FDh	BYTE	???
 FFh 12 BYTEs	???
10Bh	DWORD	pointer to process record (see #00418,#00419)
10Dh 10 BYTEs	???
119h	DWORD	SS:SP for ???
11Dh  4 BYTEs	???
121h	DWORD	pointer to ???
125h 25 BYTEs	???
13Eh	DWORD	pointer to ??? in system memory
---v2.22
142h  3 BYTEs	???
145h		task's default keyboard object
---v2.42
142h	DWORD	pointer to first task instance data record in system memory
148h	DWORD	pointer to last task instance data record in system memory
		(see #00420)
14Ah	BYTE	???
14Dh 42 BYTEs	task's default keyboard object
177h 32 BYTEs	task's ObjectQ object
197h 41 BYTEs	task's default mailbox object
1C0h 24 BYTEs	first register save record
450h	--	default top of private stack
---v2.52 (probably all DV/X)
Same as v2.60 below except there is an extra 29 bytes inserted somewhere
  before offset 9Fh, but not yet known exactly where.  Also, for the WAIT_ON
  field (v2.60 offset E3h), some X apps (probably waiting on a socket) have
  0000h even when waiting.
---v2.60
 CBh	WORD	??? (added in 2.50 - rest is same as 2.42)
 CDh	WORD	offset in common memory of ??? object
 D0h	BYTE	??? flag
 D1h	WORD	offset in common memory of default notify window for task
		  or 0000h if none
 D3h  4 BYTEs	???
 D7h	BYTE	window number on Switch Window menu
 D8h  5 BYTEs	???
 DDh	WORD	offset in common memory of ??? object
 DFh  2 BYTEs	???
 E1h	WORD	API level for task
 E3h	WORD	If status at B6h=waiting, offset in common memory of object
		  that task is waiting on, else 0000h. (Task with CPU also
		  has 0000h here)
 E9h	WORD	segment of ???
 EBh 4	BYTEs	???
 EFh	WORD	EMS handle of virtualization buffer, 0 if no virtualization
 F3h 12 BYTEs	???
 FDh	WORD	???
 FFh	BYTE	???
101h  8 BYTEs	???
109h	DWORD	pointer to process record in system memory
10Dh 14 BYTEs  ???
11Bh	DWORD	SS:SP for ???
11Fh  4 BYTEs	???
123h	DWORD	pointer to ???
127h 25 BYTEs	???
140h	DWORD	pointer to ??? in system memory
144h	DWORD	pointer to first task instance data record in system memory
148h	DWORD	pointer to last task instance data record in system memory
		(from INT 15/AX=DE27h) (see #00420)
14Ch	BYTE	???
14Eh 42 BYTEs	task's default keyboard object
179h 32 BYTEs	task's ObjectQ object
199h 41 BYTEs	task's default mailbox object
1C2h 24 BYTEs	first register save record
452h	--	default top of private stack

Format of DESQview Register Save Record:
Offset	Size	Description	(Table 00415)
 00h	WORD	AX
 02h	WORD	BX
 04h	WORD	CX
 06h	WORD	DX
 08h	WORD	DI
 0Ah	WORD	SI
 0Eh	WORD	DS
 10h	WORD	ES
 12h	DWORD	return address
 16h	WORD	original flags

Format of DESQview mapping context record:
Offset	Size	Description	(Table 00416)
 00h	WORD	lowest segment in process's memory
		(often start of system memory chain)
 02h	WORD	size of process's memory in paragraphs
 04h	BYTE	flag: 00h if process swapped out, 01h otherwise
 05h	BYTE	flag: 00h if allocated in conventional memory, 01h if EMS
 06h  2 BYTEs	???
 08h	WORD	EMS handle if in EMS, else 0
 0Ah  2 BYTEs	??? (nonzero if system memory resides in shared mem???)
 0Ch	WORD	segment of system memory block that contains process record,
		  referenced from segment of start of system memory chain
 0Eh	BYTE	???
 0Fh	WORD	size of system memory block that contains process record
		  and DOS memory in paragraphs
 11h	BYTE	bit flags
		Bit 0: Swapped out???
		Bit 1: ???
		Bit 2: Swapped out???
 12h	BYTE	???
 13h	BYTE	reference count
 ---v2.31
 14h 10 BYTEs	???
 1Eh	WORD	segment of process record
 20h  2 BYTEs	???
 22h	WORD	segment of ???	(in first free system memory block???)
 24h	WORD	segment of end of system memory chain
 26h	WORD	segment of start of system memory chain
 28h  8 BYTEs	???
 2Ah	DWORD	pointer to ??? (process record???)
 2Dh 10 BYTEs	???
 37h	BYTE	lowest interrupt vector to save on context switch
 38h	BYTE	highest interrupt vector to save on context switch
 39h	WORD	offset in common memory of main task with this context
 3Ah 12 BYTEs	???
 46h	BYTE	internal mapping context number
 47h 12 BYTEs	???
 ---v2.5x-2.60
 14h  6 BYTEs	???
 1Ah	WORD	segment of process record
 1Ch  2 BYTEs	???
 1Eh	WORD	segment of first free system memory block
 20h	WORD	segment of start of system memory chain
 22h	WORD	segment of end of system memory chain
 24h 8	BYTEs	???
 2Ch	DWORD	pointer to ??? (1 segment into process record???)
 30h 3	BYTEs	???
 33h	WORD	Offset in common memory of main task with this context
 35h 7	BYTEs	???
 3Ch	BYTE	internal mapping context number
 3Dh 14 BYTEs	???
 4Bh	WORD	first DOS memory segment (first MCB segment+1)
 4Dh	BYTE	??? (flag???)
 ---v2.53 (2.5x???)
 4Eh 12 BYTEs	???
 ---v2.60
 4Eh	WORD	segment of script buffer (see #00421)
 50h  6 BYTEs	???

Format of DESQview Internal Window Record (v2.31-2.60):
Offset	Size	Description	(Table 00417)
 00h	BYTE	internal window number???
 01h	BYTE	display page???
 02h	BYTE	video mode
 03h  3 BYTEs	???
 06h	BYTE	logical window height
 07h	BYTE	logical window width
 08h	DWORD	pointer to text video buffer
 0Ch 116 BYTEs	???

Format of DESQview process record (v2.31):
Offset	Size	Description	(Table 00418)
-470h 13 BYTEs	filename of ??? Script
-463h 1117 BYTEs ??? (script buffer???)
 -6h  6 BYTEs	???
 00h	WORD	segment of parent PSP in process
 02h  5 BYTEs	???
 07h	WORD	segment of current PSP in process
 09h	WORD	segment of first MCB in process
 0Bh 13 BYTEs	???
 18h 1024 BYTEs process's interrupt vector table
418h 376 BYTEs	???
590h		first MCB in process
SeeAlso: #00419

Format of DESQview process record (v2.52-v2.60) (probably also 2.5x):
Offset	Size	Description	(Table 00419)
 00h 28 BYTEs	EXE header of last EXE, ??? if last program run was COM
 1Ch ??? BYTEs	overwritten with ASCIZ filename of last program run (EXE/COM)
11Ch	WORD	segment of parent PSP in process
11Eh  4 BYTEs	???
122h	WORD	segment of current PSP
124h	WORD	segment of current PSP
126h	WORD	segment of first MCB in process
128h  4 BYTEs	???
12Ch	DWORD	pointer to first process instance data record in system memory
130h	DWORD	pointer to last process instance data record in system memory
		(from INT 15/AX=DE27h) (see #00420)
134h  8 BYTEs	???
13Ch	WORD	size of current environment
13Eh	WORD	segment of current environment
140h	WORD	segment of current PSP
142h	DWORD	entry point of current program
146h 10 BYTEs	???
---v2.52 (v2.5x???)
150h	BYTE	???
151h	WORD	segment of parent PSP in process
153h	WORD	???
155h	WORD	???
157h	WORD	???
159h  4 BYTEs	???
15Dh	WORD	segment of current environment
15Fh	WORD	segment of current PSP
161h	WORD	segment of ???
162h	WORD	???
164h  3 BYTEs	???
168h 1024 BYTEs process's interrupt vector table
568h 120 BYTEs	???
5E0h		first MCB in process
---v2.60
150h	WORD	segment of parent PSP in process
152h	WORD	???
154h	WORD	???
156h	WORD	???
158h  4 BYTEs	???
15Ch	WORD	segment of current environment
15Eh	WORD	segment of current PSP
160h	WORD	segment of ???
162h	WORD	???
164h 1024 BYTEs process's interrupt vector table
564h 108 BYTEs	???
5D0h		first MCB in process
SeeAlso: #00418

Format of DESQview task or process instance data record (v2.5x???, v2.60):
Offset	Size	Description	(Table 00420)
 00h	DWORD	pointer to next record of same type or 00000000
 04h	DWORD	pointer to previous record of same type or 00000000
 08h	DWORD	pointer to source area of memory during restore state
 0Ch	WORD	number of bytes to save/restore
 0Eh	DWORD	pointer to destination area of memory during restore state
 12h	WORD	??? (0)
 14h  N BYTEs	source memory buffer during restore state

Format of DESQview script buffer (v2.60):
Offset	Size	Description	(Table 00421)
 00h 13 BYTEs	ASCIZ Script filename
 0Dh 80 BYTEs	???
 5Eh  N BYTEs	script records (see #00422)

Format of one DESQview script record (v2.60):
Offset	Size	Description	(Table 00422)
 00h	BYTE	signature 12h
 01h 18 BYTEs	blank-padded script name
 13h	BYTE	ASCII code of key attached to script or 0 if non-ASCII key
 14h	BYTE	scan code of key attached to script if non-ASCII, else 0
 15h	BYTE	???
 16h	WORD	size of script in bytes
 18h  N	BYTEs	script (ASCII code of each keystroke; if 0, next byte is
		  scan code of non-ASCII key)
SeeAlso: #00421

Format of DESQview Common Memory Header (v2.31-2.60):
Offset	Size	Description	(Table 00423)
 00h	WORD	offset of lowest used block
 02h	WORD	bytes of commom memory, including header
 04h	WORD	offset of first free block
 06h  N BYTEs	size depends of DV version, ??? (DVP buffer???)
Note:	the above is located at the beginning of the commom memory segment
SeeAlso: #00424,#00425,#00433

Format of DESQview Free block header:
Offset	Size	Description	(Table 00424)
 00h	WORD	size of block in bytes including header
 02h	WORD	offset of next free block
 04h  N BYTEs	free block
SeeAlso: #00423,#00425

Format of DESQview Used block header:
Offset	Size	Description	(Table 00425)
 00h	WORD	size of block in bytes including header
 02h  N BYTEs	used block
SeeAlso: #00423,#00424

Top
151017 - INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
INT 15 - TopView - UNIMPLEMENTED IN DV 2.x
	AX = 1017h
Return: pops up "Programming error" window in DV 2.x

Top
151018 - INT 15 - TopView - "LOCATE" - FIND WINDOW AT A GIVEN SCREEN LOCATION
INT 15 - TopView - "LOCATE" - FIND WINDOW AT A GIVEN SCREEN LOCATION
	AX = 1018h
	BH = column
	BL = row
	ES = segment of object handle for window below which to search
	    0000h = start search with topmost window
Return: ES = segment of object handle for window which is visible at the
	       indicated position, or covered by indicated window
	    0000h if no window
SeeAlso: AX=1023h,AX=1024h

Top
151019 - INT 15 - TopView - "SOUND" - MAKE TONE
INT 15 - TopView - "SOUND" - MAKE TONE
	AX = 1019h
	BX = frequency in Hertz (0000h = silence)
	CX = duration in clock ticks (18.2 ticks/sec)
Return: immediately, tone continues to completion
Notes:	if another tone is already playing, the new tone does not start until
	  completion of the previous one.  Up to 32 tones may be queued before
	  the process is blocked until a note completes.
	in DV 2.00, the lowest tone allowed is 20 Hz
	if CX = 0, the current note is cancelled; if BX = 0 as well, all queued
	  notes are also cancelled
SeeAlso: AH=82h"HUNTER",INT 16/AH=73h

Top
15101A - INT 15 - TopView - "OSTACK" - SWITCH TO TASK'S INTERNAL STACK
INT 15 - TopView - "OSTACK" - SWITCH TO TASK'S INTERNAL STACK
	AX = 101Ah
Return: stack switched
Notes:	this call may not be nested; a second call must be preceded by a call
	  to "USTACK" (AX=1025h)
	while TopView requires many API calls to be executed while on the
	  task's internal stack, DESQview allows those calls to be executed
	  regardless of the current stack
SeeAlso: AX=1025h

Top
15101B - INT 15 - TopView - "BEGINC" - BEGIN CRITICAL REGION
INT 15 - TopView - "BEGINC" - BEGIN CRITICAL REGION
	AX = 101Bh
Return: task-switching temporarily disabled
Notes:	will not task-switch until "ENDC" (AX = 101Ch) called unless task
	  voluntarily releases the CPU (upon regaining the CPU, task-switching
	  will again be disabled)
	suspends the caller until DOS is free
SeeAlso: AH=0Dh"MultiDOS",AX=101Ch,AX=DE13h,AX=DE1Ch,INT 2F/AX=1681h
SeeAlso: INT 60/DI=0602h

Top
15101C - INT 15 - TopView - "ENDC" - END CRITICAL REGION
INT 15 - TopView - "ENDC" - END CRITICAL REGION
	AX = 101Ch
Return: task-switching enabled
Note:	this API call may be made from within a hardware interrupt handler
SeeAlso: AX=101Bh,AX=DE13h,AX=DE1Bh,INT 2F/AX=1682h,INT 60/DI=0603h

Top
15101D - INT 15 - TopView - "STOP" - STOP TASK
INT 15 - TopView - "STOP" - STOP TASK
	AX = 101Dh
	ES = segment of object handle for task to be stopped
	    (== handle of main window for that task)
Return: indicated task will not get any CPU time until restarted with AX=101Eh
Note:	once a task has been stopped, additional "STOP"s are ignored
BUG:	in DV 2.00, this function is ignored unless the indicated task is the
	  current task
SeeAlso: AX=101Eh,AX=102Bh,AH=12h"VMiX",INT 21/AH=81h

Top
15101E - INT 15 - TopView - "START" - START TASK
INT 15 - TopView - "START" - START TASK
	AX = 101Eh
	ES = segment of object handle for task to be started
	    (== handle of main window for that task)
Return: indicated task is started up again
Note:	once a task has been started, additional "START"s are ignored
SeeAlso: AX=101Dh,AX=102Bh,INT 21/AH=82h

Top
15101F - INT 15 - TopView - "DISPEROR" - POP-UP ERROR WINDOW
INT 15 - TopView - "DISPEROR" - POP-UP ERROR WINDOW
	AX = 101Fh
	BX = bit fields
	    bits 0-12: number of characters to display
	    bits 13,14: which mouse button may be pressed to remove window
			 00 = either
			 01 = left
			 10 = right
			 11 = either
	    bit 15: beep if 1
	ES:DI -> text of message
	CH = width of error window (0 = default)
	CL = height of error window (0 = default)
	DX = segment of object handle
Return: BX = status: 1 = left button, 2 = right, 27 = ESC pressed
Note:	window remains on-screen until ESC or indicated mouse button is pressed

Top
151020 - INT 15 - TopView - UNIMPLEMENTED IN DV v2.00+
INT 15 - TopView - UNIMPLEMENTED IN DV v2.00+
	AX = 1020h
Return: pops up "Programming error" window in DV v2.00+

Top
151021 - INT 15 - TopView - "PGMINT" - INTERRUPT ANOTHER TASK
INT 15 - TopView - "PGMINT" - INTERRUPT ANOTHER TASK
	AX = 1021h
	BX = segment of object handle for task to interrupt (not self)
	DX:CX -> FAR routine to jump to next time task is run
Return: nothing
Notes:	the FAR routine is entered with the current ES, DS, SI, DI, and BP
	  values, using the task's internal stack (see AX=101Ah); only SS:SP
	  needs to be preserved
	multiple PGMINTs to a single task are processed last-in first-out
	if the other task is in a DOS or DV API call, the interruption will
	  occur on return from that call

Top
151022BX0000 - INT 15 - TopView - "GETVER" - GET VERSION
INT 15 - TopView - "GETVER" - GET VERSION
	AX = 1022h
	BX = 0000h
Return: BX nonzero, TopView or compatible loaded
	(BL = major version, BH = minor version)
Notes:	TaskView returns BX = 0001h, DESQview v2.00+ returns BX = 0A01h

Top
151023 - INT 15 - TopView - "POSWIN" - POSITION WINDOW
INT 15 - TopView - "POSWIN" - POSITION WINDOW
	AX = 1023h
	BX = segment of object handle for parent window within which to
	       position the window (0 = full screen)
	ES = segment of object handle for window to be positioned
	DL = general window position (see #00426)
	CH = number of columns to offset from position specified by DL
	CL = number of rows to offset from position specified by DL
Return: nothing

Bitfields for TopView general window position:
Bit(s)	Description	(Table 00426)
 0,1	horizontal position
	00 = current, 01 = center, 10 = left, 11 = right
 2,3	vertical position
	00 = current, 01 = center, 10 = top, 11 = bottom
 4	don't redraw screen if set
 5-7	not used

Top
151024 - INT 15 - TopView - "GETBUF" - GET VIRTUAL SCREEN INFO
INT 15 - TopView - "GETBUF" - GET VIRTUAL SCREEN INFO
	AX = 1024h
	BX = segment of object handle for window (0000h = use default)
Return: ES:DI -> virtual screen
	CX = size of virtual screen in bytes
	DL = screen type
	    00h text screen
	    01h graphics screen
SeeAlso: INT 10/AH=FEh,INT 21/AH=2Bh/CX=4445h

Top
151025 - INT 15 - TopView - "USTACK" - SWITCH BACK TO USER'S STACK
INT 15 - TopView - "USTACK" - SWITCH BACK TO USER'S STACK
	AX = 1025h
Return: stack switched back
Notes:	call only after having switched to internal stack with AX=101Ah
	while TopView requires many API calls to be executed while on the
	  task's private stack, DESQview allows those calls to be executed
	  regardless of the current stack
SeeAlso: AX=101Ah

Top
1510 - INT 15 - DESQview (TopView???) - UNIMPLEMENTED IN DV 2.x
INT 15 - DESQview (TopView???) - UNIMPLEMENTED IN DV 2.x
	AH = 10h
	AL = 26h thru 2Ah
Return: pops up "Programming error" window in DV 2.x

Top
15102B - INT 15 - DESQview v2.00+ (TopView???) - "POSTTASK" - AWAKEN TASK
INT 15 - DESQview v2.00+ (TopView???) - "POSTTASK" - AWAKEN TASK
	AX = 102Bh
	BX = segment of object handle for task
Return: nothing
Note:	forces a task which is waiting on its objectq to continue by placing
	  the handle for the task on the objectq
SeeAlso: AX=101Dh,AX=101Eh,INT 21/AH=82h

Top
15102C - INT 15 - DESQview v2.00+ - "NEWPROC" - START NEW APPLICATION IN NEW PROCESS
INT 15 - DESQview v2.00+ - "NEWPROC" - START NEW APPLICATION IN NEW PROCESS
	AX = 102Ch
	ES:DI -> contents of .PIF/.DVP file (see #00427)
	BX = size of .PIF/.DVP info
Return: BX = segment of object handle for new task
	    0000h on error
SeeAlso: AX=DE24h,INT 21/AH=4Bh

Format of .PIF/.DVP file:
Offset	Size	Description	(Table 00427)
 00h	BYTE	reserved (0)
 01h	BYTE	checksum of bytes 02h through 170h
 02h 30 BYTEs	blank-padded program title
 20h	WORD	maximum memory to allocate to partition in KB
 22h	WORD	minimum memory required in KB
 24h 64 BYTEs	ASCIZ program pathname
 64h	BYTE	default drive letter ('A',...)
 65h 64 BYTEs	ASCIZ default directory name
 A5h 64 BYTEs	ASCIZ program parameters
 E5h	BYTE	initial screen mode (0-7) (also see offset 189h)
 E6h	BYTE	number of text pages used
 E7h	BYTE	number of first interrupt to save
 E8h	BYTE	number of last interrupt to save
 E9h	BYTE	rows in virtual screen buffer
 EAh	BYTE	columns in virtual screen buffer
 EBh	BYTE	initial window position, row
 ECh	BYTE	initial window position, column
 EDh	WORD	system memory in KB
 EFh 64 BYTEs	ASCIZ shared program name
12Fh 64 BYTEs	ASCIZ shared program data file
16Fh	BYTE	program flags 1 (see #00428)
170h	BYTE	flags2
		bit 6: uses command-line parameters in field at A5h
		bit 5: swaps interrupt vectors
---information unique to .DVP files---
171h  2 BYTEs	keys to use on open menu
173h	WORD	size of script buffer in bytes
175h	WORD	automatically give up CPU after this many tests for keyboard
		  input in one clock tick (default 0 = never)
177h	BYTE	nonzero = "uses own colors"
178h	BYTE	nonzero if application swappable
179h  3 BYTEs	reserved (0) according to Quarterdeck documentation
		in actual .DVP files, frequently 01h
17Ch	BYTE	nonzero to automatically close on exit (see also #00430)
17Dh	BYTE	nonzero if copy-protect floppy is required
---information unique to DESQview 2.0+---
17Eh	BYTE	.DVP version number
		00h DESQview v1.2+
		01h DESQview v2.0+
		02h DESQview v2.2+
17Fh	BYTE	reserved (0)
180h	BYTE	initial number of rows in physical window
181h	BYTE	initial number of columns in physical window
182h	WORD	maximum expanded memory to allow, in KB
184h	BYTE	DVP program flags 3 (see #00429)
185h	BYTE	keyboard conflict level (0-4 for DV<2.26, 00h-0Fh for DV2.26+)
		(see #00431)
186h	BYTE	number of graphics pages used
187h	WORD	extra system memory size
189h	BYTE	initial screen mode (FFh = default) (overrides offset E5h)
---information unique to DESQview 2.2+---
18Ah	BYTE	serial port usage
		FFh uses all serial ports
		00h no serial ports
		01h only COM1
		02h only COM2
18Bh	BYTE	DVP program flags 4 (see #00430)
18Ch	BYTE	protection level for 386 machines
18Dh 19 BYTEs	reserved (0) for regular DESQview
---information unique to DESQview/X 1.0---
18Dh	BYTE	X flags
		bits 3-7: unused (0)
		bit 2: don't display wait message when opening window
		bit 1: don't display DOS window
		bit 0: (XNEWPROC) use DOS client layer (DOS-to-X)
		       (NEWPROC) inherit DOS client layer usage
18Eh	BYTE	X keyboard behavior (0-3)
18Fh	BYTE	font scaling
		00h fixed fonts
		01h scalable fonts
190h 10 BYTEs	reserved (0)
19Ah	WORD	length of data follownig XDVP signature
19Ch  4 BYTEs	signature "XDVP"
1A0h  N BYTEs	list of variable length records (see #00432)

Bitfields for .PIF/.DVP program flags 1:
Bit(s)	Description	(Table 00428)
 7	writes text directly to screen
 6	runs in foreground only (see also #00427 offset 184h)
 5	uses math coprocessor
 4	accesses system keyboard buffer directly
 3-1	reserved (0)
 0	swappable
SeeAlso: #00427,#00429,#00430

Bitfields for .DVP program flags 3:
Bit(s)	Description	(Table 00429)
 7	automatically assign window position
 5	maximum memory value has been specified
 4	disallow "Close" command
 3	foreground-only when doing graphics
	set by DV 2.3+ when "Runs in Background" = "D" (undoc)
 2	don't virtualize (see also #00430)
 1	foreground-only during DOS calls
	set by DV 2.3+ when "Runs in Background" = "D" (undoc)
SeeAlso: #00427,#00428,#00430

Bitfields for .DVP program flags 4:
Bit(s)	Description	(Table 00430)
 7	automatically close application on exit if .COM or .EXE	specified
	(see also #00427 offset 17Ch)
 6	swappable if not using serial ports
 5	start program with window hidden (v2.26+)
 4	start program in background (v2.26+)
 3	virtualize text (see also #00429)
 2	virtualize graphics (see also #00429)
 1	share CPU when foreground
 0	share EGA when foreground and zoomed
SeeAlso: #00427,#00428,#00429

Bitfields for DESQview keyboard conflict level:
Bit(s)	Description	(Table 00431)
 3	save/restore entire INT 09 handler state every taskswtch
 2	take special precautions for programs which read the BIOS keyboard
	  buffer directly from memory
 1	never indicate keystroke available during scripts/xfers
 0	only indicate keystroke available every sixth poll
SeeAlso: #00427

Format of DESQview/X variable length record:
Offset	Size	Description	(Table 00432)
 00h	WORD	length of following record, 0000h if end of record list
 02h	BYTE	record type
		01h script filename, up to 64 characters
		02h command-line parameters (allows >64 characters on cmdline)
		03h environment inheritance
		04h environment string
		05h starting window position
---types 01h,02h,04h---
 03h  N BYTEs	ASCII data
---type 03h---
 03h	BYTE	inheritance
		00h do not inherit
		01h inherit environment
---type 05h---
 03h  N BYTEs	ASCII copy of fields as typed into DVPMAN, separated by commas:
		starting row, starting column, starting height, starting width
Note:	if there are multiple occurrences of record types 01h, 02h, or 03h,
	  only the last instance of each type is used; multiple occurrences of
	  type 04h are concatenated
SeeAlso: #00427

Top
15102D - INT 15 - DESQview v2.00+ - "KMOUSE" - KEYBOARD MOUSE CONTROL
INT 15 - DESQview v2.00+ - "KMOUSE" - KEYBOARD MOUSE CONTROL
	AX = 102Dh
	BL = subfunction
	    00h determine whether using keyboard mouse
		Return: BL = 00h using real mouse
			     01h using keyboard mouse
	    01h turn keyboard mouse on
	    02h turn keyboard mouse off
SeeAlso: INT 33/AX=0024h

Top
15102E - INT 15 - DESQview v2.40+ - ALLOCATE SYSTEM MEMORY
INT 15 - DESQview v2.40+ - ALLOCATE SYSTEM MEMORY
	AX = 102Eh
	BX = number of bytes
Return: AX = status
	    0000h successful
		ES:DI -> allocated system memory (see #00433)
	    0001h failed
		ES:DI = 0000h:0000h
Note:	under DV 2.42, this call is identical to AX=1001h
SeeAlso: AX=1001h,AX=1002h,AX=DE0Ch

Format of DESQview system memory block header:
Offset	Size	Description	(Table 00433)
 00h	WORD	segment of next header or 0000h
 02h	WORD	segment of previous header or 0000h
 04h	WORD	size of block in paragraphs, including header
 06h	BYTE	availability flag (00h in use, 01h free)
Note:	this header is located one paragraph before the memory block proper
SeeAlso: #00423

Top
1511 - INT 15 - TopView commands
INT 15 - TopView commands
	AH = 11h
	AL = various (except 17h)
Return: varies by function
Note:	in DESQview 2.x, these function calls are identical to AH=DEh, so
	  see those below
SeeAlso: AX=DE00h,AX=DE22h,AX=DE30h

Top
1511 - INT 15 - VMiX - "sys_system" - EXECUTE SHELL SYSTEM COMMANDS
INT 15 - VMiX - "sys_system" - EXECUTE SHELL SYSTEM COMMANDS
	AH = 11h
	STACK:	DWORD	pointer to ASCIZ string containing a VMiX shell
			request (max len = 127)
Return: AX = status (SYS_OK or SYS_ERROR)
SeeAlso: AH=0Ch"VMiX"

Top
1511 - INT 15 - MultiDOS Plus - TURN OFF AltZ TOGGLE
INT 15 - MultiDOS Plus - TURN OFF AltZ TOGGLE
	AH = 11h
Note:	disables the Alt-Z MultiDOS command/program-selection hotkey
SeeAlso: AH=12h"MultiDOS"
Index:	hotkeys;MultiDOS Plus

Top
151117BX0000 - INT 15 - DESQview v2.20+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
INT 15 - DESQview v2.20+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
	AX = 1117h
	BX = 0000h	get current mapping context without setting
	     nonzero	set new mapping context
Return: BX = mapping context in effect before call
	interrupts enabled
Notes:	this function differs from AX = DE17h for DESQview v2.20 through 2.25
	mapping contexts determine conventional-memory addressability; setting
	  a mapping context ensures that the associated program and data areas
	  are in memory for access.  Usable by drivers, TSRs and shared
	  programs.
	caller need not be running under DESQview, but must ensure that the
	  stack in use will not be mapped out by the call
SeeAlso: AX=DE17h,INT 2F/AX=1685h

Top
1511DE - INT 15 - DESQview - QEXT.SYS - INSTALLATION CHECK
INT 15 - DESQview - QEXT.SYS - INSTALLATION CHECK
	AX = 11DEh
Return: CF clear if installed
	    AX = segment at which QEXT.SYS is located
Desc:	QEXT.SYS is Quarterdeck's HMA manager for DESQview; more recent
	  versions also implement the XMS standard
Note:	a private entry point (see #00434) may be found by searching the
	  beginning of the returned segment for the signature string
	  "QUARTERDECK EXTENDED MEMORY MANAGER 286"; the word immediately
	  prior to the signature contains the QEXT version number in BCD,
	  and the word prior to that contains the offset within the QEXT
	  code segment of the private entry point
SeeAlso: INT 2F/AX=4310h"XMS",INT 67/AH=3Fh

(Table 00434)
Call QEXT.SYS private entry point with:
	AH = 00h ???
	AH = nonzero ???

Top
1512 - INT 15 - VMiX - "sys_sleep" - PUT PROCESS TO SLEEP
INT 15 - VMiX - "sys_sleep" - PUT PROCESS TO SLEEP
	AH = 12h
	STACK:	WORD	process ID
Return: AX = status (SYS_OK or SYS_ERROR)
SeeAlso: AH=03h"MultiDOS",AX=101Dh,AH=13h"VMiX"

Top
1512 - INT 15 - MultiDOS Plus - TURN ON AltZ TOGGLE
INT 15 - MultiDOS Plus - TURN ON AltZ TOGGLE
	AH = 12h
Note:	enables the Alt-Z MultiDOS command/program-selection hotkey
SeeAlso: AH=11h"MultiDOS"
Index:	hotkeys;MultiDOS Plus

Top
1512--BH00 - INT 15 - TopView - SEND MESSAGE - "HANDLE" - RETURN OBJECT HANDLE
INT 15 - TopView - SEND MESSAGE - "HANDLE" - RETURN OBJECT HANDLE
	AH = 12h
	BH = 00h
	BL = which handle to return
	    00h handle in DWORD on top of stack
	    01h current task's window handle
	    02h given task's mailbox handle (task's handle on stack)
	    03h current task's mailbox handle
	    04h given task's keyboard handle (task's handle on stack)
	    05h current task's keyboard object handle
	    06h given task's OBJECTQ handle (task's handle on stack)
	    07h current task's OBJECTQ handle
	    08h	  \
	      thru > return 0000:0000 under DV < 2.26
	    10h	  /
	    0Ch (2.26+) task owning object with handle in DWORD on top of stack
	    0Dh (2.26+) task handle of owner (parent) of current task
Return: DWORD on top of stack is object handle
Note:	BL=0Ch,0Dh returns 00000000h if the object is not open (keyboard,
	  mailbox, panel, pointer, and timer objects) or is an orphan (task,
	  window)
SeeAlso: AH=12h/BH=02h,AH=12h/BH=80h

Top
1512--BH01 - INT 15 - TopView - SEND MESSAGE - "NEW" - CREATE NEW OBJECT
INT 15 - TopView - SEND MESSAGE - "NEW" - CREATE NEW OBJECT
	AH = 12h
	BH = 01h
	BL = object type to create (see #00435)
	STACK: (only if window object or WINDOW class)
	       DWORD address to jump to (no new task if high word == 0)
	       DWORD (reserved) 0 = non-task window, FFFFh = task window
	       DWORD bytes for task's private stack (FFFFh == default of 0100h)
	       DWORD bytes system memory for input buffer for READ/READN
			(0 == none, -1 == default--same as logical window size)
	       DWORD window size, columns
	       DWORD window size, rows
	       DWORD length of window title
	       DWORD address of window title
Return: DWORD on top of stack is new object handle
Notes:	if a new task is created, it is started with
	  AX = BX = SI = DI = BP = 0
	  DX:CX = handle of parent task
	  DS = ES = SS = segment of private stack (and new task's handle)
	new windows are orphans, inherit the colors/hidden status of the
	  creating task's window, and are placed in the upper left hand corner
	  of the screen but not automatically redrawn
	new keyboards are closed, and have all object bits cleared except for
	  the hardware cursor bit
SeeAlso: AH=12h/BH=02h,AH=12h/BH=81h

(Table 00435)
Values for TopView/DESQview object type (for creation):
 00h	(DV 2.0x only) handle is DWORD on top of stack
 01h	(DV 2.0x only) use task's window handle
 02h	(DV 2.0x only) given task's mailbox (task's handle on stack)
 03h	(DV 2.0x only) current task's mailbox
 04h	(DV 2.0x only) given task's keyboard (task's handle on stack)
 05h	(DV 2.0x only) current task's keyboard object
 08h	WINDOW class
 09h	MAILBOX class
 0Ah	KEYBOARD class
 0Bh	TIMER object (counts down 32-bit time in 10ms increments)
 0Fh	POINTER object
 10h	PANEL object

Top
1512--BH02 - INT 15 - TopView - SEND MESSAGE - "FREE" - FREE AN OBJECT
INT 15 - TopView - SEND MESSAGE - "FREE" - FREE AN OBJECT
	AH = 12h
	BH = 02h
	BL = object
	    00h handle in DWORD on top of stack
		window: close window and free
		timer: free timer
		panel: free panel object
		pointer: free pointer
	    01h task's window handle - kills task, never returns
	    02h given task's mailbox (task's handle on top of stack)
	    03h current task's mailbox
	    04h given task's keyboard (task's handle on top of stack)
	    05h current task's keyboard object
Return: STACK popped if handle passed on stack
Notes:	when a window is freed, its keyboard and pointer objects are freed;
	  task windows also free any mailbox, objectq, and panel objects held
	  by the task and any child tasks
	if the keyboard being freed is the default keyboard for a task, this
	  call is equivalent to CLOSE
	panel and pointer objects are automatically closed if open
SeeAlso: AH=12h/BH=01h,AH=12h/BH=0Dh,AH=12h/BH=82h

Top
1512--BH03 - INT 15 - TopView - SEND MESSAGE - "ADDR" - GET HANDLE OF MESSAGE SENDER
INT 15 - TopView - SEND MESSAGE - "ADDR" - GET HANDLE OF MESSAGE SENDER
	AH = 12h
	BH = 03h
	BL = object
	    00h mailbox handle in DWORD on top of stack
	    02h sender of last msg read from mailbox (task's handle on stack)
	    03h sender of last msg read from current task's mailbox
Return: DWORD on stack is task handle of message sender
SeeAlso: AH=12h/BH=00h,AH=12h/BH=83h

Top
1512--BH03 - INT 15 - DESQview v2.26+ - "CONNECT" - CONNECT TWO WINDOWS
INT 15 - DESQview v2.26+ - "CONNECT" - CONNECT TWO WINDOWS
	AH = 12h
	BH = 03h
	BL = window to be connected
	    00h handle of window to be attached in DWORD on top of stack
	    01h attach current task's main window
	STACK: DWORD handle of window to attach to or 00000000h to detach
Return: STACK popped
Notes:	when two windows are connected, both will move if the user moves either
	multiple windows may be attached to a single window, but each window
	  may only be attached to one window at a time
SeeAlso: AH=12h/BH=83h

Top
1512--BX0300 - INT 15 - TopView - SEND MESSAGE - "DIR" - GET PANEL FILE DIRECTORY
INT 15 - TopView - SEND MESSAGE - "DIR" - GET PANEL FILE DIRECTORY
	AH = 12h
	BX = 0300h
	STACK: DWORD handle of panel object (see #00436)
Return: STACK: DWORD length of directory (always multiple of 14 bytes)
	       DWORD address of directory
Note:	a null string is returned if the object is not open
SeeAlso: AH=12h/BX=0400h"APPLY",AH=12h/BH=83h

Format of TopView panel file:
Offset	Size	Description	(Table 00436)
 00h  2 BYTEs	C0h C3h
 02h	BYTE	number of panels in file
 03h	for each panel in file:
	    8 BYTEs  blank-padded panel name
	      DWORD  panel offset in file
	      WORD   panel length
	data for panels (each consists of one or more window/query/manager
	  streams); first byte of each panel must be 1Bh, fifth byte must be
	  E5h

Top
1512--BH04 - INT 15 - TopView - SEND MESSAGE - "READ" - READ NEXT LOGICAL LINE OF WINDOW
INT 15 - TopView - SEND MESSAGE - "READ" - READ NEXT LOGICAL LINE OF WINDOW
	AH = 12h
	BH = 04h
	BL = window to read from
	    00h handle is DWORD on top of stack
	    01h use calling task's default window
	    0Ch (DV 2.26+) default window of task owning handle on top of stack
	    0Dh (DV 2.26+) default window of parent task of current task
Return: STACK:	DWORD number of bytes read
		DWORD address of buffer
Notes:	reading starts at the current logical cursor position; the cursor is
	  updated to point at the character following the last one read
	any translucent blanks (FFh) which are visible on screen are changed
	  to the character which is seen through them
	the string produced by the read is placed in an input buffer which may
	  be reused by the next READ or READN of a window
	window stream opcodes D8h and D9h determine whether the read returns
	  characters or attributes
SeeAlso: AH=12h/BH=05h"WINDOW",AH=12h/BH=12h,AH=12h/BH=84h

Top
1512--BH04 - INT 15 - TopView - SEND MESSAGE - "READ" - GET NEXT RECORD FROM OBJECT
INT 15 - TopView - SEND MESSAGE - "READ" - GET NEXT RECORD FROM OBJECT
	AH = 12h
	BH = 04h
	BL = object
	    00h handle is DWORD on top of stack
		mailbox: wait for and get next message
		keyboard: wait for and get pointer to next input buffer
		pointer: wait for and get next message
	    02h get next message from mailbox (task's handle on top of stack)
	    03h get next message from current task's mailbox
	    04h get the next input from keyboard (handle on top of stack)
	    05h get the next input from task's default keyboard
	    06h wait for input from any object in OBJECTQ (handle on stack)
	    07h wait for input from any object in task's default OBJECTQ
Return: STACK: (if objectq) DWORD handle of object with input
	       (otherwise)  DWORD number of bytes
			    DWORD address of pointer message (see #00437)
Notes:	for a keyboard in keystroke mode, the input buffer is a single byte
	  containing the character code as returned by the BIOS; the BIOS scan
	  code is available via the STATUS call if the character is zero
	for a keyboard in field mode, the input buffer format is determined
	  by the field table header for the window the keyboard is attached to
	keyboard input buffers and mailbox message buffers may be invalidated
	  by the next READ, ERASE, CLOSE, or FREE message to the same object
SeeAlso: AH=12h/BH=05h"OBJECT",AH=12h/BH=84h

Format of DESQview pointer message:
Offset	Size	Description	(Table 00437)
 00h	WORD	row
 02h	WORD	column
 04h	BYTE	status (see #00438)
 05h	BYTE	field number or zero (APILEVEL >= 2.00 only)

Bitfields for DESQview pointer status:
Bit(s)	Description	(Table 00438)
 7-2	number of clicks-1 if multiple-click mode active
 7	set when press/release mode active and button pressed
 6	set when press/release mode active and button released
 1-0	button pressed (00=none,01=button1,10=button2)
SeeAlso: #00437

Top
1512--BX0400 - INT 15 - TopView - SEND MESSAGE - "READ" - WAIT FOR TIMER TO EXPIRE
INT 15 - TopView - SEND MESSAGE - "READ" - WAIT FOR TIMER TO EXPIRE
	AH = 12h
	BX = 0400h
	STACK: DWORD timer's handle
Return: after timer expires
	STACK: DWORD time in 1/100 sec after midnight when timer expired
SeeAlso: AH=12h/BH=0Ah,AH=12h/BH=84h

Top
1512--BX0400 - INT 15 - TopView - SEND MESSAGE - "APPLY" - WRITE PANEL TO WINDOW
INT 15 - TopView - SEND MESSAGE - "APPLY" - WRITE PANEL TO WINDOW
	AH = 12h
	BX = 0400h
	STACK: DWORD handle of panel object
	       DWORD window's handle (or 0 for current task's window)
	       DWORD length of panel name
	       DWORD pointer to panel name
Return: STACK: DWORD handle of window which was used
	       DWORD handle of keyboard or 0
Notes:	status of APPLY may be checked with STATUS message
	panel MUST have the following format
	  first byte must be 1Bh (i.e. must start with a stream)
	  first opcode in stream must be E5h
	    single byte arg of opcode is interpreted thus:
	      bits 7,6	11 means create new window
			10 means create new field table for existing window
			01 means use existing window and field table
	      bit 5 if set, panel contains a field table
			(creates a new keyboard and puts it in field mode)
	      bit 4 if set, panel contains input fields
	      bit 3 if set, panel contains select fields but no input fields
	if the panel contains input or select fields, a keyboard handle is
	  returned; either the window's current open keyboard or a
	  newly-created keyboard object.  The caller should read that keyboard
	  to obtain input from the panel.
SeeAlso: AH=12h/BH=84h

Top
1512--BH05 - INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE TO OBJECT
INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE TO OBJECT
	AH = 12h
	BH = 05h
	BL = object
	    00h handle is DWORD on top of stack
		timer: start timer to end at a specified time
		keyboard: add input buffer to queue
		pointer: move pointer icon to specified position
	    02h send message by value/status=0 to mbox (task's handle on stack)
	    03h send message by value/status=0 to current task's mailbox
	    04h add input buffer to KEYBOARD queue (handle on top of stack)
	    05h add input buffer to task's default KEYBOARD queue
	    06h add an object to OBJECTQ (handle on top of stack)
	    07h add an object to task's default OBJECTQ
	STACK: (if mailbox)  DWORD length
			     DWORD address
	       (if keyboard) DWORD status (scan code in keystroke mode)
			     DWORD length (should be 1 in keystroke mode)
			     DWORD address
	       (if objectq)  DWORD handle of object to add
	       (if timer)    DWORD 1/100ths seconds since midnight (actually
				   only accurate to 1/18 sec)
	       (if pointer)  DWORD column relative to origin of window
			     DWORD row relative to origin of window
Return: STACK popped
Notes:	under DV 2.2+, failed mailbox writes may return CF set (see AX=DE15h)
	the data and status written to a keyboard object must match the format
	  returned by the keyboard object in the current mode
	the pointer position is scaled according to the current scaling factors
SeeAlso: AH=12h/BH=04h,AH=12h/BH=85h

Top
1512--BH05 - INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE STRING TO WINDOW
INT 15 - TopView - SEND MESSAGE - "WRITE" - WRITE STRING TO WINDOW
	AH = 12h
	BH = 05h
	BL = window to write to
	    00h DWORD on top of stack is window handle
	    01h write string to task's default window
	    0Ch (DV 2.26+) default window of task owning handle on top of stack
	    0Dh (DV 2.26+) default window of parent of current task
	STACK: DWORD object handle if handle passed on stack
	       DWORD total length of string (high word == 0)
	       DWORD address of string to display (see #00439)
Return: indicated actions performed
	a. non-control characters are displayed (opcodes DEh and DFh control
	   whether the attributes are left or changed to the current attrib)
	b. CR/LF/BS/Tab cause the usual cursor movement
	c. ESC starts a data structure with additional commands if following
	   byte is less than 20h; otherwise, it is written to the window
	STACK:	DWORD handle of new window if window stream opcode E6h
		else nothing (arguments have been popped)
SeeAlso: AH=12h/BH=04h,AH=12h/BH=85h

Format of stream data structure:
Offset	Size	Description	(Table 00439)
 00h	BYTE	1Bh magic value identifying start of stream
 01h	BYTE	stream type (00h, 01h, 10h, 14h-1Fh legal)
		(see #00440,#00446,#00447,#00448)
 02h	WORD	length of remainder of stream in bytes
	var-length fields follow, each an OPCODE followed by
	     zero or more args

(Table 00440)
Values for MODE 00h (set or display values) "WINDOW STREAM" opcodes:
Opcodes:args
 00h  display 20h blanks with the default attribute
 01h-1Fh display OPCODE blanks with the default attribute
 20h  display char with default attribute 20h times
	BYTE char to repeat
 21h-3Fh display char with default attribute OPCODE-20h times
	BYTE char to repeat
 40h  display 20h blanks with specified attribute
	BYTE attribute of blanks
 41h-5Fh display OPCODE-40h blanks with specified attribute
	BYTE attribute of blanks
 60h  display next 20h characters
	20h BYTEs characters to display
 61h-7Fh display next OPCODE-60h characters
	N BYTEs characters to display
 80h-87h display N blanks with default attribute
	BYTE low 8 bits of 11-bit count (high 3 in low 3 bits of OPCODE)
		  [000h means 800h]
 88h-8Fh display N copies of the character
	BYTE low 8 bits of 11-bit count (high 3 in low 3 bits of OPCODE)
		  [000h means 800h]
	BYTE character to repeat
 90h-97h display N blanks with specified attribute
	BYTE low 8 bits of 11-bit length (high 3 in low 3 bits of OPCODE)
		  [000h means 800h]
	BYTE attribute
 98h-9Fh display string at logical cursor pos
	BYTE low 8 bits of 11-bit length (high 3 in low 3 bits of OPCODE)
		  [000h means 800h]
	N BYTEs string to display
 A0h  set logical cursor row
	BYTE row number (0 is top)
 A1h  set logical cursor column
	BYTE column number (0 is leftmost)
 A2h  set top edge of scrolling region
	BYTE row
 A3h  set left edge of scrolling region
	BYTE column
 A4h  set row of physical window position
	BYTE line
 A5h  set column of physical window position
	BYTE column
 A6h  set height of physical window
	BYTE number of rows
 A7h  set width of physical window
	BYTE number of columns
 A8h  set viewport row
	BYTE row
 A9h  set viewport column
	BYTE column
 AAh  set virtual screen height [contents of window unpredictable after]
	BYTE rows
 ABh  set virtual screen width [contents of window unpredictable after]
	BYTE columns
 ACh-AEh unused
 AFh  set compatible/preferred video modes
	BYTE compatibility/preference mask
		bit 7	compatible with monochrome
		bit 6	compatible with color text, EGA/VGA graphics
		bit 5	compatible with medium-resolution CGA graphics
		bit 4	compatible with high-resolution CGA graphics
		bit 3	prefer monochrome
		bit 2	prefer color text, EGA/VGA graphics
		bit 1	prefer medium-resolution CGA graphics
		bit 0	prefer high-resolution CGA graphics
 B0h  move logical cursor down
	BYTE number of rows (signed, negative values move up)
		[if rows=0 and hardware cursor owner, update hardware cursor]
 B1h  move logical cursor right
	BYTE number of columns (signed, negative values move left)
		[if cols=0 and hardware cursor owner, update hardware cursor]
 B2h  shift top edge of scrolling region
	BYTE number of rows (signed)
 B3h  shift left edge of scrolling region
	BYTE number of columns (signed)
 B4h  shift physical window down
	BYTE number of lines (signed)
 B5h  shift physical window right
	BYTE number of columns (signed)
 B6h  expand physical window vertically
	BYTE number of lines (signed)
 B7h  expand physical window horizontally
	BYTE number of columns (signed)
 B8h  adjust viewport row
	BYTE number of rows (signed)
 B9h  adjust viewport column
	BYTE number of columns (signed)
 BAh  adjust virtual screen height [contents of window unpredict after]
	BYTE number of rows to increase (signed)
 BBh  adjust virtual screen width [contents of window unpredictbl after]
	BYTE number of columns to increase (signed)
 BCh-BFh reserved (currently unused)
 C0h  set logical cursor position
	BYTE row number (0 is top border)
	BYTE column number (0 is left border)
 C1h  set top left corner of scrolling region
	BYTE row
	BYTE column
 C2h  set physical window pos
	BYTE upper left row (no top border if 0)
	BYTE upper left column (no left border if 0)
 C3h  set current window size
	BYTE number of rows
	BYTE number of columns
 C4h  set upper left corner of viewport (portion of virtual screen displayed
	  in window)
	BYTE row
	BYTE column
 C5h  set size of virtual screen [contents unpredictable afterwards]
	BYTE number of rows
	BYTE number of columns
 C6h  unused
 C7h  unused
 C8h  set logical cursor relative to current position
	BYTE number of rows to move down (signed)
	BYTE number of columns to move right (signed)
		[if rows=cols=0 and hardware cursor owner, update hardw cursor]
 C9h  shift top left corner of scrolling region
	BYTE number of rows (signed)
	BYTE number of columns (signed)
 CAh  set window pos relative to current position
	BYTE number of rows to shift down (signed)
	BYTE number of columns to shift right (signed)
 CBh  set window size relative to current size
	BYTE number of rows to expand (signed)
	BYTE number of cols to expand (signed)
 CCh  shift viewport relative to current position
	BYTE rows to shift (signed)
	BYTE cols to shift (signed)
 CDh  resize virtual screen
	BYTE number of rows to expand (signed)
	BYTE number of columns to expand (signed)
 CEh  scroll text when using E8h-EBh/F8h-FBh opcodes (default)
 CFh  scroll attributes when using  E8h-EBh/F8h-FBh opcodes
 D0h  allow window frame to extend beyond screen
 D1h  always display a complete frame, even if window extends beyond edge of
	  screen
 D2h  allow DV to change logical colors on video mode switch (default)
 D3h  application changes logical attributes
 D4h  window is visible [must redraw to actually make visible]
 D5h  window is hidden [must redraw to actually remove]
 D6h  window has frame (default)
 D7h  window unframed [must redraw to actually remove frame]
 D8h  READ/READN will read characters from window (default)
 D9h  READ/READN will read attributes from window
 DAh  use logical attributes, which may be remapped (see #00441)
 DBh  use physical attributes for characters
 DCh  enable special actions for control characters (default)
 DDh  disable special control char handling, all chars displayable by BIOS TTY
	  call
 DEh  write both character and attribute (default)
 DFh  write character only, leave attribute untouched
 E0h  repeat following commands through E1h opcode
	BYTE number of times to repeat (00h means 256 times)
 E1h  end of commands to repeat, start repeating them
 E2h  set current output color
	BYTE color
 E3h  clear virtual screen from scroll origin to end using current color
 E4h  redraw window
 E5h  select menu style
	BYTE style (normally 18h)
		bits 5,4 = 01 use two-letter menu entries for remainder of
		  this stream
 E5h  (panel file only)
	BYTE modifier
		bits 7,6 = 11 panel stream creates new window
			 = 10 panel defines new field table for existing window
			 = 01 panel stream uses existing window & field table
		bit 5 = 1 stream contains a field table (create kyboard object)
		bit 4 = 1 stream defines input fields (create keyboard object)
		bit 3 = 1 stream defines select fields but not input fields
		bit 2 = 1 stream defines exclusive input window (DV 2.2)
		bit 1 reserved
		bit 0 reserved
 E6h  create new window and perform rest of manipulations in new window
	BYTE number of rows
	BYTE number of columns
	Return: DWORD object handle of new window returned on stack at end
	Note:	the window is created with a physical size of 0x0 at the
		  same position as the window to which this stream was sent
 E7h  no operation
 E8h  scroll area up (top left corner defined by opcode C1h)
	BYTE height
	BYTE width
 E9h  scroll area down (top left corner defined by opcode C1h)
	BYTE height
	BYTE width
 EAh  scroll area left (top left corner defined by opcode C1h)
	BYTE height
	BYTE width
 EBh  scroll area right (top left corner defined by opcode C1h)
	BYTE height
	BYTE width
 ECh  set logical attributes for window contents
	BYTE video modes command applies to
		bit 7	monochrome
		bit 6	color text, EGA/VGA graphics
		bit 5	medium-resolution CGA graphics
		bit 4	high-resolution CGA graphics
	BYTE which attributes to set
		bit 7	if set, copy single following byte to indicated attribs
		bits 4-6  number of first attribute to change - 1
		bits 0-3  number of consecutive attributes to change
	N BYTEs new attributes
 EDh  set logical attributes for window frame
	BYTE video modes command applies to (also see opcode ECh)
	BYTE which attributes to set
		bit 7	if set, copy single following byte to indicated attrs
		bits 4-6  number of first attribute to change - 1
		bits 0-3  number of consecutive attributes to change
	N BYTEs new attributes
		  attributes
		       1 = top left corner
		       2 = top right corner
		       3 = bottom left corner
		       4 = bottom right corner
		       5 = top edge
		       6 = bottom edge
		       7 = left edge
		       8 = right edge
 EEh  set characters for window frame
	BYTE video modes command applies to (also see opcode ECh)
	BYTE which characters to set
		bit 7	if set, copy single following byte to indicated chars
		bits 4-6  number of first character to change - 1
		bits 0-3  number of consecutive characters to change
	N BYTEs new chars (same relative position as attributes above)
 EFh  set window name
	BYTE length of name (should be in range 0 to logical screen width)
	N BYTEs name
 F0h  clear input field to blanks
	BYTE field number
 F1h  fill input field with character
	BYTE field number
	BYTE char
 F2h  set color of input field
	BYTE field number (1-N)
	BYTE attribute
 F3h  set initial contents of input field
	BYTE field number (1-N)
	N BYTEs enough chars to exactly fill field as defined by op FFh
 F4h  position cursor to start of specific input field
	BYTE field number (1-N)
 F5h  change field table entry
	BYTE field number
	7-8 BYTEs field table entry (also see opcode FFh below)
 F6h  set field type
	BYTE field number
	BYTE type
		00h inactive
		40h output field
		80h input field
		C0h deselected field
		C2h selected field
 F7h  "broadcast write"	write data to fields with program output bit set in
	  the field table entry, in field number order
	N BYTEs (total length of all program output fields)
 F8h  scroll field up a line
	BYTE field number
 F9h  scroll field down a line
	BYTE field number
 FAh  scroll field left
	BYTE field number
 FBh  scroll field right
	BYTE field number
 FCh  set field table header
	6 BYTEs	field table header (see #00442)
 FDh  reset modified bit for all fields
 FEh  reset selected and modified bits for all fields
 FFh  set up input fields
	6 BYTEs	table header (see #00442)
	7/8N BYTEs the field table entries, one for each field (see #00444)
	Note:	DESQview uses and updates the actual copy of the information
		  which is contained in the stream.  Thus this info must remain
		  intact until after the data entry is complete.
SeeAlso: #00439,#00446

(Table 00441)
Values for TopView logical attributes:
 01h	normal text
 02h	highlighted normal text
 03h	help text
 04h	highlighted help text
 05h	error message
 06h	highlighted error message
 07h	emphasized text
 08h	marked text
 9-16	reverse video versions of 1-8
SeeAlso: #00440

Format of TopView field table header:
Offset	Size	Description	(Table 00442)
 00h	BYTE	number of fields (must be <= existing number of fields)
 01h	BYTE	screen behavior bits (see #00443)
 02h	BYTE	current input field (updated by DESQview)
 03h	BYTE	current select field (updated by DESQview)
 04h	BYTE	attribute for select fields when they are pointed at
 05h	BYTE	attribute for select fields which have been selected
SeeAlso: #00440,#00444

Bitfields for TopView screen behavior bits:
Bit(s)	Description	(Table 00443)
 7	reserved
 6	menu items may be selected via keyboard
 5	left mouse button in "status" mode (press anywhere in window
	  immediately returns control to application)
 4	right mouse button in "status" mode
 3	select fields return contents or blanks rather than 'Y' or 'N'
 2	modified bits reset on return to application
 1-0	type of data returned
	00 no data returned on read of keyboard
	01 data returned as array of characters containing all fields packed
	      together, with no field numbers
	10 data returned as numbered variable-length records for all fields
	11 data returned as numbered variable-length records for the fields
	      which were modified
SeeAlso: #00440

Format of TopView field table entry:
Offset	Size	Description	(Table 00444)
 00h	BYTE	start row    \
 01h	BYTE	start column  \ if menu selection and start is to
 02h	BYTE	end row	      / right or below end, select from kbd only
 03h	BYTE	end column   /
 04h	BYTE	field type (see #00445)
 05h	BYTE	modifier
		if type is fill-in, then bit flags to determine behavior
		  bit 7	 automatically enter CR when field full
		  bit 6	 move to next field when current field is full
		  bit 5	 enter text from right end (for numbers)
		  bit 4	 force input to uppercase
		  bit 3	 clear old contents on first keystroke
		  bit 2	 input returned when cursor moves out of
			  modified field ("validate", API level 2.02+)
		  bit 1	 reserved
		  bit 0	 reserved
		if select field, first key to press to activate
		  00h if have to point-&-click or is an extended-ASCII
		      keystroke (only if two-key menus enabled)
 06h	BYTE	(select field only) normal color of field
 07h	BYTE	second key for select field.  This byte is present iff
		  two-letter menu entries selected with opcode E5h, and in that
		  case is present regardless of field type
SeeAlso: #00442

Bitfields for TopView field type:
Bit(s)	Description	(Table 00445)
 7,6	field class
	00 inactive (non-entry) field
	01 echos keystrokes input to make menu selection
	10 fill-in field
	11 select field
 5	field can be filled by broadcast write (F7h opcode)
 4	reserved
 3	reserved
 2	reserved
 1	set if field selected
 0	set if field modified
SeeAlso: #00444

(Table 00446)
Values for MODE 01h "QUERY STREAM" opcodes:
(valid only for those opcodes listed here)
 A0h return logical cursor row in next byte
 A1h return logical cursor column in next byte
 A2h return top row of scrolling region in next byte
 A3h return left column of scrolling region in next byte
 A4h return row of physical window origin in next byte
 A5h return column of physical window origin in next byte
 A6h return height of physcial window in next byte
 A7h return width of physical window in next byte
 A8h return row of viewport origin in next byte
 A9h return column of viewport origin in next byte
 AAh return height of virtual screen in next byte
 ABh return width of virtual screen in next byte
 AFh return current video mode in next byte
 C0h return current logical cursor position in next two bytes
 C1h return top left corner of scrolling region in next two bytes
 C2h return current window position in next two bytes
 C3h return current window size in next two bytes
 C4h return current viewport origin in next two bytes
 C5h return current virtual screen size in next two bytes
 D0h \ overwritten with D0h if frames may fall off screen edge
 D1h /		       D1h if frames always displayed entirely
 D2h \ overwritten with D2h if DESQview controls color palette
 D3h /		       D3h if application changes color palette
 D4h \ overwritten with D4h if window visible
 D5h /		       D5h if window hidden
 D6h \ overwritten with D6h if window has frame
 D7h /		       D7h if window unframed
 D8h \ overwritten with D8h if reading characters from window
 D9h /		       D9h if reading attributes from window
 DAh \ overwritten with DAh if using logical attributes
 DBh /		       DBh if using physical attributes
 DCh \ overwritten with DCh if TTY control char interpretation on
 DDh /		       DDh if TTY control char interpretation off
 DEh \ overwritten with DEh if writing both characters and attributes
 DFh /		       DFh if leaving attributes untouched
 E2h return current color in next byte
 ECh get logical attributes for window contents
	BYTE execute call if currently in specified video mode
		bit 7	monochrome
		bit 6	color text, EGA/VGA graphics
		bit 5	medium-resolution CGA graphics
		bit 4	high-resolution CGA graphics
	BYTE which attributes to get
		bit 7	unused???
		bits 4-6 first attribute to get - 1
		bits 0-3 number of consecutive attributes
	N BYTEs buffer to hold attributes
 EDh get logical attributes for window frame
	BYTE execute call if currently in video mode (also see opcode ECh)
	BYTE which attributes to get
		bit 7	unused???
		bits 4-6 first attribute to get - 1
		bits 0-3 number of consecutive attributes
	N BYTEs buffer to hold attributes
 EEh get characters for window frame
	BYTE execute call if currently in video mode (also see opcode ECh)
	BYTE which attributes to get
		bit 7	unused???
		bits 4-6 first char to get - 1
		bits 0-3 number of consecutive chars
	N BYTEs buffer to hold chars
 EFh return first N characters of current window name
	BYTE	max length of returned name
	N BYTEs buffer to hold window name
 F3h return contents of specified field
	BYTE field number
	N BYTEs buffer to hold field contents (size equal to field size)
 F5h get field table entry
	BYTE field number
	7-8 BYTEs buffer to hold field table entry (see #00444)
	Notes:	DV < 2.26 always returns 7 bytes
		DV 2.26+ w/ APILEVEL < 2.26 returns 8 bytes iff field table
		  is using 8-byte entries and eighth byte after	F5h is E7h
		  (NOP); otherwise, 7 bytes are returned
		DV 2.26+ w/ APILEVEL > 2.26 returns 7 or 8 bytes depending
		  on the field table entry size
 F6h get type of a field
	BYTE field number
	BYTE type
 FCh get field table header
	6 BYTEs buffer to store field table header (see #00442)
SeeAlso: #00439,#00447

(Table 00447)
Values for MODE 10h "MANAGER STREAM" opcodes (valid only for those listed):
 00h allow window to be moved horizontally
 01h allow window to be moved vertically
 02h allow window to change width
 03h allow window to change height
 04h allow window to be scrolled horizontally
 05h allow window to be scrolled vertically
 06h allow "Close Window" menu selection for application
 07h allow "Hide Window" menu selection for application
 08h allow application to be suspended ("Rearrange/Freeze")
 0Eh allow "Scissors" menu
 10h allow DESQview main menu to be popped up
 11h allow "Switch Windows" menu
 12h allow "Open Window" menu
 13h allow "Quit" menu selection
 20h-33h opposite of 00h-13h, disallow specified action
 40h notify if horizontal position of window changes
 41h notify if vertical position of window changes
 42h notify if width of window changes
 43h notify if height of window changes
 44h notify if window scrolled horizontally
 45h notify if window scrolled vertically
 46h notify if window is closed--program has to clean up and exit itself
 47h notify if window is hidden
 48h notify if "?" on main menu selected
 49h notify if pointer message sent to window
 4Ah notify if window is placed in foreground
 4Bh notify if window is placed in background
 4Ch notify if video mode changes
 4Dh notify if "Scissors" menu "Cut" option selected
 4Eh notify if "Scissors" menu "Copy" option selected
 4Fh notify if "Scissors" menu "Paste" option selected
 50h notify if DESQview main menu about to pop up
 51h notify if DESQview main menu popped down
 60h-71h	 opposite of 40h-51h: don't notify on specified event
 84h attach window to parent task's window (both move together)
 85h detach window from parent task's window (may move independently)
 86h disable background operation for application
 87h enable running in background
 88h set minimum size of physical window
	BYTE rows
	BYTE columns
 89h set maximum size of physical window
	BYTE rows
	BYTE cols
 8Ah set primary asynchronous notification routine (see #00449)
	DWORD address of routine, 0000h:0000h means none (see also below)
 8Bh set async notification parameter
	DWORD 32-bit value passed to 8Ah async routine in DS:SI
 ACh (DV2.2+) perform regular select field attribute processing
 ADh (DV2.2+) protect attributes in selected field from being lost
 AEh make window default notify window for owning app (API level 2.00+)
 AFh set selected field marker character
	BYTE character to display at left edge of selected fields
 BCh set standard field processing mode
 BDh set alternate field processing mode (enables cursor pad for menus)
 BEh disables changing reverse logical attributes with ECh opcode
 BFh enables changing reverse logical attributes with ECh opcode
 C0h make current window topmost in system
 C1h force current process into foreground
 C2h make current window topmost in process
 C3h position mouse pointer relative to origin of current field
	BYTE rows below upper left corner of field
	BYTE columns to right of upper left corner of field
 C4h position mouse pointer relative to origin of given field
	BYTE field number
	BYTE rows below upper left corner of field
	BYTE columns to right of upper left corner of field
 C5h orphan current window (also hides it)
	Note: must be last in stream; all subsequent commands ignored
 C6h show all windows for this process
 C7h hide all windows for this process
 C8h suspend process and hide all its windows
 C9h force current process into background
 CAh make current window bottom-most in process
 CBh cancel current window manager operation, remove DV menu, give control
	  to topmost application
 CCh orphan window and give it to the system for use as paste data
 CEh reorder windows
	DWORD pointer to null-terminated list of words; each word is segment
		  of object handle for a window
 FFh no operation
SeeAlso: #00439,#00446,#00448

(Table 00448)
Values for MODES 14h to 1Fh "USER STREAMS":
	normally NOPs, but may be defined by SETESC message to invoke FAR
	routines, one for each mode number
	  on entry to handler,
		DS:SI -> first byte of actual stream (not header)
		CX = number of bytes in stream
		ES:DI = window's handle
SeeAlso: #00446,#00447

(Table 00449)
Values asynchronous notification routine defined by man.stream 8Ah called with:
	ES:DI = handle of window
	DS:SI is 32-bit value set by 8Bh manager stream opcode
	   mailbox contains message indicating event
	      Opcode
	       40h  horizontal movement
		   DWORD object handle of window
		   BYTE	 new row
		   BYTE	 new col
	       41h  vertical movement
		   DWORD object handle of window
		   BYTE	 new row
		   BYTE	 new col
	       42h  horizontal size change
		   DWORD object handle of window
		   BYTE	 new rows
		   BYTE	 new cols
	       43h  vertical size change
		   DWORD object handle of window
		   BYTE	 new rows
		   BYTE	 new cols
	       44h  scrolled horizontally
		   DWORD object handle of window
		   BYTE	 mouse row within window
		   BYTE	 mouse column within window
		   BYTE	 field mouse is on, 0 if none
		   BYTE	 amount moved: >0 right, <0 left, 0 done
	       45h  scrolled vertically
		   DWORD object hande of window
		   BYTE	 mouse row within window
		   BYTE	 mouse column within window
		   BYTE	 field mouse is on, 0 if none
		   BYTE	 amount moved: >0 down, <0 up, 0 done
	       46h  window close request
		   DWORD object handle of window
		   BYTE	 mouse pointer row
		   BYTE	 mouse pointer column
		   BYTE	 field mouse is on, 0 if none
	       47h  application's windows hidden
	       48h  Help for Program selected
		   DWORD object handle of window
		   BYTE	 mouse pointer row
		   BYTE	 mouse pointer column
		   BYTE	 field mouse is on, 0 if none
	       49h  pointer message sent to window
		   DWORD pointer handle which received message
	       4Ah  switched to window from another ("raise")
	       4Bh  switched away from the window ("lower")
	       4Ch  video mode changed
		   BYTE new BIOS video mode
	       4Dh  Scissors/cUt selected
		   DWORD object handle of window
		   BYTE	 row of upper left corner
		   BYTE	 column of upper left corner
		   BYTE	 field number ul corner is in, 0=none
		   DWORD handle of orphaned window created with
			 copy of data from specified region
		   BYTE	 height of region
		   BYTE	 width of region
	       4Eh  Scissors/Copy selected
		   DWORD object handle of window
		   BYTE	 row of upper left corner
		   BYTE	 column of upper left corner
		   BYTE	 field number ul corner is in, 0=none
		   DWORD handle of orphaned window created with
			 copy of data from specified region
		   BYTE	 height of region
		   BYTE	 width of region
	       4Fh  Scissors/Paste selected
		   DWORD object handle of window
		   BYTE	 row of upper left corner
		   BYTE	 column of upper left corner
		   BYTE	 field number ul corner is in, 0=none
		   DWORD handle of orphaned window with data
		   BYTE	 height of region
		   BYTE	 width of region
			Note: orphaned data window should be adopted or freed
				when done
	       50h  main menu about to pop up
	       51h  main menu popped down
Return: all registers unchanged

Top
1512--BH06 - INT 15 - DESQview 2.20+ - SEND MESSAGE - "SETPRI" - SET PRIORITY WITHIN OBJECTQ
INT 15 - DESQview 2.20+ - SEND MESSAGE - "SETPRI" - SET PRIORITY WITHIN OBJECTQ
	AH = 12h
	BH = 06h
	BL = object
	    00h object handle in DWORD on top of stack
		mailbox, keyboard, pointer, or timer
		(DV 2.50+) window
	    01h (DV 2.50+) current task's window
	    04h given task's keyboard (task's handle on top of stack)
	    05h current task's default keyboard
	STACK: DWORD new priority of object in task's OBJECTQ
			(new priority of task if window handle)
Return: STACK popped
Notes:	initially all objects have the same default value.  Should only make
	  relative adjustments to this default value.
	when changing priorities, all objects already on the objectq are
	  reordered
	for window handles, only the non-blocked task(s) with the highest
	  priority receive CPU time under DESQview 2.50-2.52; the default
	  priority is 0Ah
SeeAlso: AH=12h/BH=07h,AH=12h/BH=87h

Top
1512--BH07 - INT 15 - DESQview 2.20+ - SEND MESSAGE - "GETPRI" - GET PRIORITY WITHIN OBJECTQ
INT 15 - DESQview 2.20+ - SEND MESSAGE - "GETPRI" - GET PRIORITY WITHIN OBJECTQ
	AH = 12h
	BH = 07h
	BL = object
	    00h object handle in DWORD on top of stack
		mailbox, keyboard, pointer, or timer
		(DV 2.50+) window
	    01h (DV 2.50+) current task's window
	    04h given task's keyboard (task's handle on top of stack)
	    05h current task's default keyboard
Return: STACK: DWORD object priority
Note:	initially all objects have the same default value.  Should only make
	  relative adjustments to this default value.
SeeAlso: AH=12h/BH=06h

Top
1512--BH08 - INT 15 - TopView - SEND MESSAGE - "SIZEOF" - GET OBJECT SIZE
INT 15 - TopView - SEND MESSAGE - "SIZEOF" - GET OBJECT SIZE
	AH = 12h
	BH = 08h
	BL = object
	    00h handle in DWORD on top of stack
		window: total character positions in window
		timer: elapsed time since timer started
		pointer: number of messages queued to pointer object
		panel: number of panels in panel file
		keyboard: number of input buffers queued
	    01h total chars in current task's default window
	    02h number of messages in task's mailbox (task's handle on stack)
	    03h number of messages in current task's mailbox
	    04h number of input buffers queued in task's kbd (handle on stack)
	    05h number of input buffers queued for current task's default kbd
	    06h number of objects queued in OBJECTQ (task's handle on stack)
	    07h number of objects queued in current task's OBJECTQ
	    0Ch (DV 2.26+) total chars in window owning handle on top of stack
	    0Dh (DV 2.26+) total chars in parent task's window
Return: DWORD on top of stack is result (any handle on stack has been popped)
Note:	for panel objects, a count of zero is returned if no panel file is open
	  for the object
SeeAlso: AH=12h/BH=04h,AH=12h/BH=09h

Top
1512--BH09 - INT 15 - TopView - SEND MESSAGE - "LEN" - GET OBJECT LENGTH
INT 15 - TopView - SEND MESSAGE - "LEN" - GET OBJECT LENGTH
	AH = 12h
	BH = 09h
	BL = object
	    00h handle in DWORD on top of stack
		window: get chars/line
		timer: get 1/100 seconds remaining before timer expires
		mailbox: (DV/X) get number of bytes queued to mailbox
	    01h get number of chars/line in current task's default window
	    0Ch (DV 2.26+) get chars/line in window owning handle on top of stk
	    0Dh (DV 2.26+) get chars/line in parent task's window
Return: DWORD on top of stack is length (any handle on stack has been popped)
SeeAlso: AH=12h/BH=08h

Top
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - WRITE CHARS AND ATTRIBS TO WINDOW
INT 15 - TopView - SEND MESSAGE - "ADDTO" - WRITE CHARS AND ATTRIBS TO WINDOW
	AH = 12h
	BH = 0Ah
	BL = window to write to
	    00h window handle is DWORD on top of stack
	    01h current task's default window
	    0Ch (DV 2.26+) default window of task owning handle on top of stack
	    0Dh (DV 2.26+) default window of parent of current task
	STACK:	DWORD count of attributes
		DWORD address of attribute string
		DWORD count of characters
		DWORD address of character string
Return: STACK popped
Notes:	if one string is longer than the other, the shorter one will be reused
	  until the longer one is exhausted
	the cursor is left just after the last character written
SeeAlso: AH=12h/BH=0Bh"WINDOW"

Top
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - SEND MAILBOX MESSAGE/STAT BY VALUE
INT 15 - TopView - SEND MESSAGE - "ADDTO" - SEND MAILBOX MESSAGE/STAT BY VALUE
	AH = 12h
	BH = 0Ah
	BL = mailbox to write to
	    00h handle is DWORD on top of stack
	    02h default mailbox of task whose handle is on top of stack
	    03h current task's default mailbox
	STACK:	DWORD	status (low byte)
		DWORD	length of message
		DWORD	address of message
Return: STACK popped
Notes:	the message is copied into either system or common memory
	insufficient memory normally causes the process to be aborted; under
	  DESQview 2.2+, failed writes may return CF set instead (see AX=DE15h)
SeeAlso: AH=12h/BH=0Bh"MAILBOX"

Top
1512--BH0A - INT 15 - TopView - SEND MESSAGE - "ADDTO" - SET OBJECT BITS
INT 15 - TopView - SEND MESSAGE - "ADDTO" - SET OBJECT BITS
	AH = 12h
	BH = 0Ah
	BL = object
	    00h handle is DWORD on top of stack
		timer: start timer for specified interval
		pointer: set control flags (see #00451)
		keyboard: set control flags (see #00450)
	    04h set control flags on KEYBOARD object (handle on top of stack)
	    05h set control flags on task's default KEYBOARD object
	STACK: (if timer)   DWORD duration in 1/100 seconds
	       (otherwise)  DWORD bits to set
Return: STACK popped
SeeAlso: AH=12h/BH=0Bh"OBJECT"

Bitfields for DESQview keyboard object bits:
Bit(s)	Description	(Table 00450)
 15	reserved, can't be set
 14	unused
 13	reserved, can't be set
 12-6	unused
 5	(DV 2.2+) exclusive input
 4	filter all keys (used with handler established by SETESC)
	if 0, only keys that would normally be displayed are filtered
 3	program continues executing while input in progress
 2	insert mode active for field mode
 1	hardware cursor displayed when task is hardware cursor owner
	must be set if keyboard in field mode and field table includes input
	  fields
 0	keyboard is in field mode rather than keystroke mode

Bitfields for DESQview pointer object bits:
Bit(s)	Description	(Table 00451)
 15	reserved, can't be set
 14-8	unused
 7	mouse pointer is hidden while in window
 6	get messages even if window not topmost
 5	get messages even if window not foreground
 4	multiple clicks separated by less than 1/3 second are counted and
	  returned in a single message
 3	pointer position is relative to screen origin, not window origin
 2	send message on button release as well as button press
 1	(DV 2.23+) send message with row=FFFFh and col=FFFFh whenever the
	  pointer leaves the window
 0	send message only on button activity, not movement
	DV-specific, and INT 15/AX=DE0Fh must have been called first

Top
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - WRITE ATTRIBUTES TO WINDOW
INT 15 - TopView - SEND MESSAGE - "SUBFROM" - WRITE ATTRIBUTES TO WINDOW
	AH = 12h
	BH = 0Bh
	BL = window to write attributes to
	    00h handle is DWORD on top of stack
	    01h current task's default window
	    0Ch (DV 2.26+) default window of task owning handle on top of stack
	    0Dh (DV 2.26+) default window of parent of current task
	STACK:	DWORD number of attributes to write
		DWORD address of attributes
Return: STACK popped
Note:	the attributes are written starting at the current cursor position; the
	  cursor is left just after the last position written
SeeAlso: AH=12h/BH=0Ah"WINDOW"

Top
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - SEND MAILBOX MESSAGE/STAT BY REF
INT 15 - TopView - SEND MESSAGE - "SUBFROM" - SEND MAILBOX MESSAGE/STAT BY REF
	AH = 12h
	BH = 0Bh
	BL = mailbox to write to
	    00h handle is DWORD on top of stack
	    02h default mailbox of task whose handle is on top of stack
	    03h current task's default mailbox
	STACK:	DWORD	status (low byte)
		DWORD	length of message
		DWORD	address of message
Return: STACK popped
Notes:	only a pointer to the message is stored, but the write may still fail
	  due to insufficient memory
	under DV 2.2+, failed mailbox writes may return CF set (see AX=DE15h)
SeeAlso: AH=12h/BH=0Ah"MAILBOX"

Top
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - REMOVE OBJECT FROM OBJECTQ
INT 15 - TopView - SEND MESSAGE - "SUBFROM" - REMOVE OBJECT FROM OBJECTQ
	AH = 12h
	BH = 0Bh
	BL = OBJECTQ from which to remove all copies of a particular object
	    06h OBJECTQ of task whose handle is on top of stack
	    07h task's default OBJECTQ
	STACK:	DWORD	handle of object to remove
Return: STACK popped
Note:	should be sent whenever an object is erased or closed

Top
1512--BH0B - INT 15 - TopView - SEND MESSAGE - "SUBFROM" - RESET OBJECT BITS
INT 15 - TopView - SEND MESSAGE - "SUBFROM" - RESET OBJECT BITS
	AH = 12h
	BH = 0Bh
	BL = object
	    00h handle is DWORD on top of stack
		pointer: reset control flags
		keyboard: reset control flags
	    04h clear control flags on KEYBOARD object (handle on top of stack)
	    05h clear control flags on task's default KEYBOARD object
	STACK:	DWORD	which bits to clear (see #00450,#00451)
Return: STACK popped
SeeAlso: AH=12h/BH=0Ah"OBJECT"

Top
1512--BH0C - INT 15 - TopView - SEND MESSAGE - "OPEN" - OPEN OBJECT
INT 15 - TopView - SEND MESSAGE - "OPEN" - OPEN OBJECT
	AH = 12h
	BH = 0Ch
	BL = object
	    00h handle is DWORD on top of stack
		window:	  fill with given character from scroll origin to end
		keyboard: attach to a window
		timer:	  open
		pointer:  start taking input for window
		panel:	  associate with a panel file
	    01h fill task's default window with given char from scrl org to end
	    02h open given task's mailbox for input (task's handle on stack)
	    03h open current task's mailbox
	    04h attach a KEYBOARD to a window (handle on top of stack)
	    05h attach task's default KEYBOARD to a window
	    06h open a task's OBJECTQ (task's handle on top of stack)
	    07h open current task's OBJECTQ
	    0Ch (DV 2.26+) fill def window of task owning handle on top of stck
	    0Dh (DV 2.26+) fill default window of parent of current task
	 STACK: (if window)   DWORD character to fill with
		(if keyboard) DWORD handle of window to attach to
		(if pointer)  DWORD handle of window to attach to
		(if panel)    DWORD length of filename or resident panel
			      DWORD address of filename or resident panel
		(otherwise)   nothing
Return: STACK popped
Notes:	if first byte of panel file name is 1Bh, then the "name" IS a panel
	if first two bytes of panel file "name" are C0hC3h, then the "name" IS
	  the panel file
	result code of open may be retrieved with STATUS message
	logical cursor is left at scroll origin after filling window
	the task opening a mailbox becomes its owner, and the only task allowed
	  to read the mailbox
	messages are only sent to a pointer object when the mouse is positioned
	  in the window to which the pointer has been attached
	there is no need to explicitly open a timer object, as ADDTO and WRITE
	  messages automatically open the timer
SeeAlso: AH=12h/BH=0Dh,AH=12h/BH=14h"LOCK"

Top
1512--BH0D - INT 15 - TopView - SEND MESSAGE - "CLOSE" - CLOSE OBJECT
INT 15 - TopView - SEND MESSAGE - "CLOSE" - CLOSE OBJECT
	AH = 12h
	BH = 0Dh
	BL = object
	    00h handle is DWORD on top of stack
		timer:	  close
		keyboard: detach from window and discard queued input
		pointer:  stop taking input
		panel:	  close
		mailbox:  close, unlock, and discard any pending messages
	    02h close given task's mailbox (task's handle on top of stack)
	    03h close task's default mailbox
	    04h close KEYBOARD object (handle on top of stack)
	    05h close task's default KEYBOARD
	    06h close given task's OBJECTQ (task's handle on top of stack)
	    07h close current task's OBJECTQ
Return: STACK popped if handle passed on stack
Notes:	when an OBJECTQ is closed, each object in the OBJECTQ is sent an
	  ERASE message (AH=12h/BH=0Eh)
	when a panel object is closed, the panel file and any panels currently
	  in use are freed; window and keyboard objects created by APPLY are
	  not affected, but field mode input ceases
	open but idle timer objects consume a small amount of CPU time
SeeAlso: AH=12h/BH=0Ch,AH=12h/BH=0Eh,AH=12h/BH=14h"LOCK"

Top
1512--BH0E - INT 15 - TopView - SEND MESSAGE - "ERASE" - ERASE OBJECT
INT 15 - TopView - SEND MESSAGE - "ERASE" - ERASE OBJECT
	AH = 12h
	BH = 0Eh
	BL = object
	    00h handle is DWORD on top of stack
		window:	  clear from scroll origin to end of window
		keyboard: discard input
		timer:	  cancel current interval
		pointer:  discard all pending messages
		mailbox:  discard all pending messages
	    01h clear task's default window from scroll origin to end
	    02h discard all queued messages in mailbox (handle on top of stack)
	    03h discard all queued messages in current task's default mailbox
	    04h discard all input queued to KEYBOARD (handle on top of stack)
	    05h discard all input queued to task's default KEYBOARD
	    06h remove all objects from OBJECTQ (task's handle on top of stack)
	    07h remove all objects from current task's OBJECTQ
	    0Ch (DV 2.26+) clear window of task owning handle on top of stack
	    0Dh (DV 2.26+) clear default window of parent of current task
Return: STACK popped if handle passed on stack
Note:	when an OBJECTQ is erased, each object in the OBJECTQ is also erased
SeeAlso: AH=12h/BH=02h

Top
1512--BH0F - INT 15 - TopView - SEND MESSAGE - "STATUS" - GET OBJECT STATUS
INT 15 - TopView - SEND MESSAGE - "STATUS" - GET OBJECT STATUS
	AH = 12h
	BH = 0Fh
	BL = object
	    00h handle is DWORD on top of stack
		timer:	 is it running?
		pointer: return status of last message
		panel:	 verify success of last OPEN or APPLY
	    02h return status of last msg READ from mailbox (handle on stack)
	    03h return status of last msg READ from task's default mailbox
	    04h get stat of last msg from task's KEYBOARD (task handle on stk)
	    05h get status of last msg from task's default KEYBOARD
	    06h return whether OBJECTQ is open or not (handle on top of stack)
	    07h return whether task's default OBJECTQ is open or not
Return: DWORD on top of stack is status (any handle passed on stack popped)
Notes:	if object is a panel object, the status indicates the error code:
	  00h successful
	  14h panel name not in panel directory
	  15h not enough memory to apply panel
	  16h invalid panel format
	  17h panel file already open
	  81h-92h  DOS error codes+80h			\  codes > 80h indicate
	  95h not enough memory to open panel file	 > that the panel was
	  98h null panel file name			/  not opened
	if object is a timer, the status is:
	  00000000h open but not running
	  40000000h open and running
	  80000000h closed
	if object is an OBJECTQ, the status is:
	  00000000h open
	  80000000h closed
	if object is a keyboard in keystroke mode, the status is the extended
	  character code (scan code) of the last keystroke
	if object is a keyboard in field mode, the status indicates the reason
	  for the last return from the field manager
	  00h Enter key pressed
	  01h Button 1 or keystroke selection
	  02h Button 2
	  03h validation
	  04h auto Enter on field
	  1Bh Escape pressed
	  46h ^Break pressed
	  other: extended code for key terminating input
	the status of mailbox messages sent by the window manager is always 80h
	the status of a pointer message is the same as the status field in the
	  message
SeeAlso: AH=12h/BH=04h"READ"

Top
1512--BH10 - INT 15 - TopView - SEND MESSAGE - "EOF" - GET OBJECT EOF STATUS
INT 15 - TopView - SEND MESSAGE - "EOF" - GET OBJECT EOF STATUS
	AH = 12h
	BH = 10h
	BL = object
	    00h handle is DWORD on top of stack
		window: return TRUE if logical cursor past end of window
		mailbox: ???
	    01h returns TRUE if logical cursor past end of task's def window
	    02h return ??? for task's mailbox (task's handle on top of stack)
	    03h return ??? for current task's mailbox
	    0Ch (DV 2.26+) check log crsr of window owning handle on top of stk
	    0Dh (DV 2.26+) check log cursor of window of parent task
Return: DWORD on top of stack is status (any handle on stack has been popped)

Top
1512--BH11 - INT 15 - TopView - SEND MESSAGE - "AT" - POSITION OBJECT CURSOR
INT 15 - TopView - SEND MESSAGE - "AT" - POSITION OBJECT CURSOR
	AH = 12h
	BH = 11h
	BL = window for which to move cursor
	    00h window's handle is DWORD on top of stack
	    01h task's default window
	    0Ch (DV 2.26+) default window of task owning handle on top of stack
	    0Dh (DV 2.26+) default window of parent of current task
	STACK: DWORD column
	       DWORD row
Return: STACK popped

Top
1512--BH11 - INT 15 - TopView - SEND MESSAGE - "SETNAME" - ASSIGN NAME TO MAILBOX
INT 15 - TopView - SEND MESSAGE - "SETNAME" - ASSIGN NAME TO MAILBOX
	AH = 12h
	BH = 11h
	BL = mailbox to name
	    00h DWORD on top of stack is mailbox handle
	    02h use given task's mailbox (task's handle on top of stack)
	    03h use current task's default mailbox
	STACK: DWORD length of name
	       DWORD address of name
Return: STACK popped
SeeAlso: AH=12h/BH=12h"GETNAME",AX=DE0Eh

Top
1512--BX1100 - INT 15 - TopView - SEND MESSAGE - "SETSCALE" - SET POINTER SCALE FACTOR
INT 15 - TopView - SEND MESSAGE - "SETSCALE" - SET POINTER SCALE FACTOR
	AH = 12h
	BX = 1100h
	STACK: DWORD object handle for pointer object
	       DWORD number of colums to scale pointer position to
	       DWORD number of rows to scale pointer position to
Return: STACK popped
SeeAlso: AH=12h/BX=1200h

Top
1512--BH12 - INT 15 - TopView - SEND MESSAGE - "READN" - GET NEXT N OBJECT BYTES
INT 15 - TopView - SEND MESSAGE - "READN" - GET NEXT N OBJECT BYTES
	AH = 12h
	BH = 12h
	BL = window to read from
	    00h handle is DWORD on top of stack
	    01h read next N chars or attributes on task's default window
	    0Ch (DV 2.26+) read window of task owning handle on top of stack
	    0Dh (DV 2.26+) read default window of parent of current task
	STACK: DWORD count
Return: STACK: DWORD number of bytes actually read
	       DWORD address of buffer containing data
Notes:	reading starts at the current logical cursor position; the cursor is
	  updated to point at the character following the last one read
	any translucent blanks (FFh) which are visible on screen are changed
	  to the character which is seen through them
	the string produced by the read is placed in an input buffer which may
	  be reused by the next READ or READN of a window
	window stream opcodes D8h and D9h determine whether the read returns
	  characters or attributes
SeeAlso: AH=12h/BH=04h"WINDOW",AH=12h/BH=05h"WINDOW"

Top
1512--BH12 - INT 15 - DESQview 2.50+ - SEND MESSAGE - "GETNAME" - GET NAME OF MAILBOX
INT 15 - DESQview 2.50+ - SEND MESSAGE - "GETNAME" - GET NAME OF MAILBOX
	AH = 12h
	BH = 12h
	BL = mailbox for which to retrieve name
	    00h DWORD on top of stack is mailbox handle
	    02h use given task's mailbox (task's handle on top of stack)
	    03h use current task's default mailbox
	STACK: DWORD length of buffer for name
	       DWORD pointer to buffer
Return: STACK: DWORD length of returned name (or size of buffer, if less)
Program: DESQview 2.5x is distributed as part of DESQview/X 1.0x
Note:	the returned name is not NUL-terminated
SeeAlso: AH=12h/BH=11h"SETNAME",AX=DE0Eh

Top
1512--BX1200 - INT 15 - TopView - SEND MESSAGE - "GETSCALE" - GET POINTER SCALE FACTOR
INT 15 - TopView - SEND MESSAGE - "GETSCALE" - GET POINTER SCALE FACTOR
	AH = 12h
	BX = 1200h
	STACK: DWORD object handle for pointer
Return: STACK: DWORD pointer pos scaled as if window were this many colums wide
	       DWORD pointer pos scaled as if window were this many rows high
SeeAlso: AH=12h/BX=1100h

Top
1512--BH13 - INT 15 - TopView - SEND MESSAGE - "REDRAW" - REDRAW WINDOW
INT 15 - TopView - SEND MESSAGE - "REDRAW" - REDRAW WINDOW
	AH = 12h
	BH = 13h
	BL = window object
	    00h DWORD on top of stack is handle for window to redraw
	    01h redraw task's default window
	    0Ch (DV 2.26+) redraw window of task owning handle on top of stack
	    0Dh (DV 2.26+) redraw default window of parent of current task
Return: STACK popped if handle was passed on stack
SeeAlso: AH=12h/BH=05h"WINDOW",AH=12h/BH=0Eh

Top
1512--BH13 - INT 15 - DESQview 2.50+ - SEND MESSAGE - "READINTO" - GET NEXT MAIL MESSAGE
INT 15 - DESQview 2.50+ - SEND MESSAGE - "READINTO" - GET NEXT MAIL MESSAGE
	AH = 12h
	BH = 13h
	BL = mailbox from which to read
	    00h DWORD on top of stack is mailbox handle
	    02h use given task's mailbox (task's handle on top of stack)
	    03h use current task's default mailbox
	STACK: DWORD size of buffer in bytes
	       DWORD pointer to buffer
Return: STACK: DWORD number of bytes read
Program: DESQview 2.5x is distributed as part of DESQview/X 1.0x
Notes:	this call blocks if no input is available, but will return less than
	  the requested number of bytes if some (but insufficient) data is
	  available
	use this call instead of AH=12h/BH=04h if the mailbox has flag bits
	  4 or 5 set, as common memory may be exhausted by that call when
	  attempting to read the next message
SeeAlso: AH=12h/BH=04h"READ",AH=12h/BH=05h,AH=12h/BH=16h

Top
1512--BX1300 - INT 15 - TopView - SEND MESSAGE - "SETICON" - SPECIFY POINTER ICON
INT 15 - TopView - SEND MESSAGE - "SETICON" - SPECIFY POINTER ICON
	AH = 12h
	BX = 1300h
	STACK: DWORD object handle for pointer
	       DWORD character to use for pointer
Return: STACK popped

Top
1512--BH14 - INT 15 - TopView - SEND MESSAGE - "SETESC" - SET ESCAPE ROUTINE ADDRESS
INT 15 - TopView - SEND MESSAGE - "SETESC" - SET ESCAPE ROUTINE ADDRESS
	AH = 12h
	BH = 14h
	BL = message modifier
	    00h handle is DWORD on top of stack
	    01h define user stream
	    04h intercept keystrokes from KEYBOARD to window (handle on stack)
	    05h intercept keystrokes from task's default KEYBOARD to a window
	STACK: (if window)   DWORD user stream number (14h-1Fh)
			     DWORD address of FAR user stream handler
	       (if keyboard) DWORD address of FAR filter function (see #00452)
Return: STACK popped

(Table 00452)
Values keyboard filter function is called with when keyboard is in field mode:
	AL = character
	AH = 00h or extended ASCII code if AL = 00h
	BL = field number
	CH = cursor column
	CL = cursor row
	DL = field type modifier (sixth item in field table entry)
	DH = seventh item in field table entry
	ES:SI = window's handle
	DS:DI -> field table entry for field containing the cursor
Return: AH = action to take
	    00h use keystroke
	    01h ignore keystroke
	    FFh beep and ignore keystroke
Note: the filter function is not allowed to make INT 15, DOS, or BIOS calls

Top
1512--BH14 - INT 15 - TopView - SEND MESSAGE - "LOCK" - REQUEST EXCLUSIVE ACCESS TO RESOURCE
INT 15 - TopView - SEND MESSAGE - "LOCK" - REQUEST EXCLUSIVE ACCESS TO RESOURCE
	AH = 12h
	BH = 14h
	BL = object
	    00h mailbox handle is DWORD on top of stack
	    02h use given task's mailbox (task's handle on top of stack)
	    03h use current task's default mailbox
Return: STACK popped if BL=00h
Note:	release exclusive access by sending CLOSE message to mailbox
	access may be requested multiple times, and requires multiple CLOSEs
SeeAlso: AH=12h/BH=0Dh

Top
1512--BH15 - INT 15 - DESQview v2.20+ - SEND MESSAGE - "SETFLAGS" - SET OBJECT FLAGS
INT 15 - DESQview v2.20+ - SEND MESSAGE - "SETFLAGS" - SET OBJECT FLAGS
	AH = 12h
	BH = 15h
	BL = object
	    00h DWORD on top of stack
		mailbox, keyboard, or pointer only
	    02h mailbox for task whose handle is on top of stack
	    03h mailbox for current task
	    04h keyboard for task whose handle is on top of stack
	    05h keyboard for current task
	STACK: DWORD flags (see #00453,#00454)
Return: STACK popped
Notes:	only available if the API level has been set to at least 2.20
	equivalent to performing SUBFROM and ADDTO calls on the object
	if a mailbox has bits 4 or 5 set, you must use "READINTO" rather than
	  "READ" (see AH=12h/BH=13h"READINTO") to retrieve messages
SeeAlso: AH=12h/BH=0Ah,AH=12h/BH=0Bh,AH=12h/BH=16h

Bitfields for DESQview mailbox object flags:
Bit(s)	Description	(Table 00453)
 0	all mail messages in common memory
 1	allow write even if closed
 2	don't erase messages when mailbox closed
 4	(DV/X) append messages with like status and sender (stream-oriented
	  mail)
 5	(DV/X) store mail in expanded memory (pool grows as needed)
 6	(DV/X) make mailbox into non-owned mailbox

Bitfields for DESQview keyboard object flags:
Bit(s)	Description	(Table 00454)
 5	exclusive input when keyboard in use for input

Top
1512--BH16 - INT 15 - DESQview v2.20+ - SEND MESSAGE - "GETFLAGS" - GET OBJECT FLAGS
INT 15 - DESQview v2.20+ - SEND MESSAGE - "GETFLAGS" - GET OBJECT FLAGS
	AH = 12h
	BH = 16h
	BL = object
	    00h DWORD on top of stack
		mailbox, keyboard, or pointer only
	    02h mailbox for task whose handle is on top of stack
	    03h mailbox for current task
	    04h keyboard for task whose handle is on top of stack
	    05h keyboard for current task
Return: STACK: DWORD current control flags (see #00453,#00454)
Notes:	only available if the API level has been set to at least 2.20
	if a mailbox has bits 4 or 5 set, you must use "READINTO" rather than
	  "READ" (see AH=12h/BH=13h"READINTO") to retrieve messages
SeeAlso: AH=12h/BH=0Ah,AH=12h/BH=0Bh,AH=12h/BH=13h"READINTO",AH=12h/BH=15h

Top
1512--BH17 - INT 15 - DESQview v2.42-2.52 - BUG
INT 15 - DESQview v2.42-2.52 - BUG
	AH = 12h
	BH = 17h
	BL = object
	    00h DWORD on top of stack
		mailbox, keyboard, or pointer only
	    02h mailbox for task whose handle is on top of stack
	    03h mailbox for current task
	    04h keyboard for task whose handle is on top of stack
	    05h keyboard for current task
Return: STACK popped if handle passed on stack
Notes:	due to a fencepost error, message 17h is accepted for mailboxes,
	  keyboards, and pointers, but causes a random branch
	DESQview v2.50-2.52 are distributed as part of DESQview/X v1.02

Top
1512--BH80 - INT 15 - DESQview v2.50+ - SEND MESSAGE 00h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 00h WITH ERROR RECOVERY
	AH = 12h
	BH = 80h
Note:	this function is identical to AH=12h/BH=00h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=00h

(Table 00455)
Values for DESQview error code:
 00h	no error
 01h	invalid values
 02h	alias invalid
 03h	handle valid but wrong type
 04h	invalid handle

Top
1512--BH81 - INT 15 - DESQview v2.50+ - SEND MESSAGE 01h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 01h WITH ERROR RECOVERY
	AH = 12h
	BH = 81h
Note:	this function is identical to AH=12h/BH=01h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=01h

Top
1512--BH82 - INT 15 - DESQview v2.50+ - SEND MESSAGE 02h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 02h WITH ERROR RECOVERY
	AH = 12h
	BH = 82h
Note:	this function is identical to AH=12h/BH=02h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=02h

Top
1512--BH83 - INT 15 - DESQview v2.50+ - SEND MESSAGE 03h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 03h WITH ERROR RECOVERY
	AH = 12h
	BH = 83h
Note:	this function is identical to AH=12h/BH=03h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=03h,AH=12h/BX=0300h

Top
1512--BH84 - INT 15 - DESQview v2.50+ - SEND MESSAGE 04h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 04h WITH ERROR RECOVERY
	AH = 12h
	BH = 84h
Note:	this function is identical to AH=12h/BH=04h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=04h,AH=12h/BX=0400h

Top
1512--BH85 - INT 15 - DESQview v2.50+ - SEND MESSAGE 05h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 05h WITH ERROR RECOVERY
	AH = 12h
	BH = 85h
Note:	this function is identical to AH=12h/BH=05h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=05h

Top
1512--BH86 - INT 15 - DESQview v2.50+ - SEND MESSAGE 06h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 06h WITH ERROR RECOVERY
	AH = 12h
	BH = 86h
Note:	this function is identical to AH=12h/BH=06h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=06h

Top
1512--BH87 - INT 15 - DESQview v2.50+ - SEND MESSAGE 07h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 07h WITH ERROR RECOVERY
	AH = 12h
	BH = 87h
Note:	this function is identical to AH=12h/BH=07h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=07h

Top
1512--BH88 - INT 15 - DESQview v2.50+ - SEND MESSAGE 08h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 08h WITH ERROR RECOVERY
	AH = 12h
	BH = 88h
Note:	this function is identical to AH=12h/BH=08h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=08h

Top
1512--BH89 - INT 15 - DESQview v2.50+ - SEND MESSAGE 09h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 09h WITH ERROR RECOVERY
	AH = 12h
	BH = 89h
Note:	this function is identical to AH=12h/BH=09h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=09h

Top
1512--BH8A - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ah WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ah WITH ERROR RECOVERY
	AH = 12h
	BH = 8Ah
Note:	this function is identical to AH=12h/BH=0Ah, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=0Ah

Top
1512--BH8B - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Bh WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 0Bh WITH ERROR RECOVERY
	AH = 12h
	BH = 8Bh
Note:	this function is identical to AH=12h/BH=0Bh, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=0Bh

Top
1512--BH8C - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ch WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 0Ch WITH ERROR RECOVERY
	AH = 12h
	BH = 8Ch
Note:	this function is identical to AH=12h/BH=0Ch, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=0Ch

Top
1512--BH8D - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Dh WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 0Dh WITH ERROR RECOVERY
	AH = 12h
	BH = 8Dh
Note:	this function is identical to AH=12h/BH=0Dh, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=0Dh

Top
1512--BH8E - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Eh WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 0Eh WITH ERROR RECOVERY
	AH = 12h
	BH = 8Eh
Note:	this function is identical to AH=12h/BH=0Eh, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=0Eh

Top
1512--BH8F - INT 15 - DESQview v2.50+ - SEND MESSAGE 0Fh WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 0Fh WITH ERROR RECOVERY
	AH = 12h
	BH = 8Fh
Note:	this function is identical to AH=12h/BH=0Fh, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=0Fh

Top
1512--BH90 - INT 15 - DESQview v2.50+ - SEND MESSAGE 10h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 10h WITH ERROR RECOVERY
	AH = 12h
	BH = 90h
Note:	this function is identical to AH=12h/BH=10h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=10h

Top
1512--BH91 - INT 15 - DESQview v2.50+ - SEND MESSAGE 11h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 11h WITH ERROR RECOVERY
	AH = 12h
	BH = 91h
Note:	this function is identical to AH=12h/BH=11h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=11h,AH=12h/BX=1100h

Top
1512--BH92 - INT 15 - DESQview v2.50+ - SEND MESSAGE 12h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 12h WITH ERROR RECOVERY
	AH = 12h
	BH = 92h
Note:	this function is identical to AH=12h/BH=12h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=12h,AH=12h/BX=1200h

Top
1512--BH93 - INT 15 - DESQview v2.50+ - SEND MESSAGE 13h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 13h WITH ERROR RECOVERY
	AH = 12h
	BH = 93h
Note:	this function is identical to AH=12h/BH=13h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=13h

Top
1512--BH94 - INT 15 - DESQview v2.50+ - SEND MESSAGE 14h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 14h WITH ERROR RECOVERY
	AH = 12h
	BH = 94h
Note:	this function is identical to AH=12h/BH=14h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=14h

Top
1512--BH95 - INT 15 - DESQview v2.50+ - SEND MESSAGE 15h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 15h WITH ERROR RECOVERY
	AH = 12h
	BH = 95h
Note:	this function is identical to AH=12h/BH=15h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=15h

Top
1512--BH96 - INT 15 - DESQview v2.50+ - SEND MESSAGE 16h WITH ERROR RECOVERY
INT 15 - DESQview v2.50+ - SEND MESSAGE 16h WITH ERROR RECOVERY
	AH = 12h
	BH = 96h
Note:	this function is identical to AH=12h/BH=16h, except that DESQview will
	  not pop up a "Programming Error" window, instead returning an error
	  code in AL (see #00455)
SeeAlso: AH=12h/BH=16h

Top
1513 - INT 15 - VMiX - "sys_wake" - WAKE SLEEPING PROCESS
INT 15 - VMiX - "sys_wake" - WAKE SLEEPING PROCESS
	AH = 13h
	STACK:	WORD	process ID
Return: AX = status (SYS_OK or SYS_ERROR)
SeeAlso: AH=12h"VMiX"

Top
1513 - INT 15 - MultiDOS Plus - GET TASK CONTROL BLOCK
INT 15 - MultiDOS Plus - GET TASK CONTROL BLOCK
	AH = 13h
Return: BX:AX -> task control block (see #00456)
SeeAlso: AH=15h"MultiDOS"

Format of MultiDOS Plus v4.0 task control block:
Offset	Size	Description	(Table 00456)
 00h	DWORD	pointer to next TCB
 04h  8 BYTEs	ASCIZ task name
 0Ch  2 BYTEs	???
 0Eh	WORD	task PSP segment
 10h	WORD	abort/suspend flags
 12h	WORD	current screen segment (see AH=0Bh,AH=0Ch)
 14h	WORD	priority level (0000h-FFFEh)
 16h	WORD	time slice counter
 18h  2 BYTEs	???
 1Ah	WORD	suspend timer value
 1Ch	WORD	stack segment
 1Eh	WORD	stack pointer
 20h	WORD	display type
 22h	WORD	display memory
 24h  2 BYTEs	???
 26h	WORD	termination count
 28h	WORD	equipment flag for BIO10 driver
 2Ah	BYTE	background CRT mode
 2Bh	WORD	screen width in columns
 2Dh	WORD	screen size in bytes
 2Fh	WORD	segment of physical screen memory
 31h 16 BYTEs	eight cursor positions
 41h	WORD	current cursor shape
 43h	BYTE	active display page
 44h	WORD	CRT controller I/O port base
 46h  2 BYTEs	???
 48h	WORD	foreground task flag
 4Ah  6 BYTEs	???
 50h	WORD	saved video segment (see AH=0Bh,AH=0Ch)
 52h	DWORD	old INT 22
 56h	DWORD	old INT 23
 5Ah	DWORD	old INT 24
 5Eh	WORD	top of memory for task
 60h  4 BYTEs	???
 64h	WORD	DTA segment (see INT 21/AH=1Ah)
 66h	WORD	DTA offset
 68h  4 BYTEs	???
 6Ch	BYTE	current ANSI.SYS attribute
 6Dh	BYTE	current ANSI.SYS column
 6Eh	BYTE	current ANSI.SYS row
 6Fh	BYTE	current ANSI.SYS display state
 70h	BYTE	maximum ANSI.SYS columns
 71h	BYTE	current ANSI.SYS page
 72h	WORD	saved ANSI.SYS cursor position
 74h	BYTE	ANSI.SYS parameter buffer index
 75h	BYTE	current ANSI.SYS screen mode
 76h	BYTE	ANSI.SYS wrap flag
 77h  6 BYTEs	ANSI.SYS parameter buffer
 7Dh	BYTE	ANSI.SYS keyboard DSR state
 7Eh  7 BYTEs	ANSI.SYS keyboard DSR buffer
 85h  3 BYTEs	???
 88h 16 BYTEs	request header for DOS driver calls
 98h 14 BYTEs	???
 A6h	WORD	segment of EMS map if EMS task
 A8h	WORD	flag: task makes EMS calls
 AAh	WORD	EMS handle for task
 ACh	WORD	keyboard shift state
 AEh 12 BYTEs	???
 BAh	WORD	TCB of parent if child task
 BCh	WORD	termination code
 BEh	WORD	COM port number
 C0h  4 BYTEs	???
 C4h	WORD	current IRQ number
 C6h  2 BYTEs	???
 C8h	WORD	miscellaneous flag word
 CAh  2 BYTEs	???
 CCh	DWORD	old INT 10
 D0h	WORD	EMS alternate map set number
 D2h 414 BYTEs	DOS current disk and directory context (optional)

Top
1514 - INT 15 - VMiX - "sys_clrwindow" - CLEAR WINDOW
INT 15 - VMiX - "sys_clrwindow" - CLEAR WINDOW
	AH = 14h
	STACK:	WORD	top left corner of window (high byte = row, low = col)
		WORD	bottom right corner of window (high = row, low = col)
Return: AX = status (SYS_OK)
Note:	clears window to color set with "sys_setcolors" (AH=18h)
SeeAlso: AH=15h"VMiX",AH=16h"VMiX",AH=18h"VMiX",AH=1Fh"VMiX"

Top
1514 - INT 15 - MultiDOS Plus - CHECK IF MultiDOS FOREGROUND OR BACKGROUND
INT 15 - MultiDOS Plus - CHECK IF MultiDOS FOREGROUND OR BACKGROUND
	AH = 14h
Return: AX = current state
	    0000h MultiDOS Plus command prompt is background task
	    0001h command prompt is foreground task
SeeAlso: AH=0Bh"MultiDOS"

Top
1515 - INT 15 - VMiX - "sys_setbwindow" - SET BANNER WINDOW MESSAGE
INT 15 - VMiX - "sys_setbwindow" - SET BANNER WINDOW MESSAGE
	AH = 15h
	STACK:	DWORD	pointer to ASCIZ banner message for top of screen
Return: AX = status (SYS_OK)
SeeAlso: AH=14h"VMiX",AH=16h"VMiX"

Top
1515 - INT 15 - MultiDOS Plus - GET SYSTEM BLOCK
INT 15 - MultiDOS Plus - GET SYSTEM BLOCK
	AH = 15h
Return: BX:AX -> system block (see #00457)
SeeAlso: AH=13h"MultiDOS"

Format of MultiDOS Plus 4.0 system block:
Offset	Size	Description	(Table 00457)
 00h	WORD	segment of system control block
 02h	WORD	redirection flag set by /NOREDIRECT
 04h	WORD	no-INT 10 flag set by /NO10
 06h	DWORD	old INT 10
 0Ah	DWORD	new INT 10
 0Eh	DWORD	pointer to WORD with current TCB offset (see #00456)
 12h	DWORD	pointer to WORD with idle task TCB offset
 16h	DWORD	pointer to WORD with foreground TCB offset (see #00456)
 1Ah	DWORD	pointer to WORD with MultiDOS TCB offset (see #00456)
 1Eh	WORD	Task Control Block size
 20h	WORD	number of TCBs
 22h	WORD	flag: EMS present
 24h	WORD	EMS page frame base segment
 26h	WORD	16K pages in EMS page frame
 28h	WORD	base segment for conventional memory tasks
 2Ah	WORD	conventional memory size in paragraphs
 2Ch	DWORD	pointer to list of queue pointers

Top
1516 - INT 15 - VMiX - "sys_setwindow" - SET ROOT WINDOW SIZE AND HOME CURSOR
INT 15 - VMiX - "sys_setwindow" - SET ROOT WINDOW SIZE AND HOME CURSOR
	AH = 16h
	STACK:	DWORD	pointer to I/O Request Packet
		WORD	top left corner of window (high byte = row, low = col)
		WORD	bottom right corner of window (high = row, low = col)
Return: AX = status (SYS_OK or SYS_ERROR)
SeeAlso: AH=14h"VMiX",AH=17h"VMiX"

Top
1516 - INT 15 - MultiDOS Plus - INITIALIZATION
INT 15 - MultiDOS Plus - INITIALIZATION
	AH = 16h
Note:	used internally during initialization; any other calls will cause
	  unpredictable results

Top
1517 - INT 15 - VMiX - "sys_getcolors" - GET CONSOLE WINDOW COLORS
INT 15 - VMiX - "sys_getcolors" - GET CONSOLE WINDOW COLORS
	AH = 17h
Return: AH = foreground color
	AL = background color
SeeAlso: AH=16h"VMiX",AH=18h"VMiX"

Top
1517 - INT 15 - MultiDOS Plus - MAP IRQ
INT 15 - MultiDOS Plus - MAP IRQ
	AH = 17h
	AL = IRQ to map (01h-0Fh)
	BX = offset of task control block (see #00456) to associate with IRQ
Return: AX = status
	    0000h successful
	    other invalid IRQ
Note:	the EMS map of the specified TCB is associated with the given interrupt
SeeAlso: AH=18h"MultiDOS",AH=19h"MultiDOS"

Top
1518 - INT 15 - VMiX - "sys_setcolors" - SET CONSOLE COLORS
INT 15 - VMiX - "sys_setcolors" - SET CONSOLE COLORS
	AH = 18h
	STACK:	WORD	new background/foreground colors
			bits 3-0: foreground
			bits 7-4: background
			bits 15-8: unused
Return: AX = color
SeeAlso: AH=14h"VMiX",AH=17h"VMiX",AH=19h"VMiX"

Top
1518 - INT 15 - MultiDOS Plus - UNMAP IRQ
INT 15 - MultiDOS Plus - UNMAP IRQ
	AH = 18h
	AL = IRQ to unmap (01h-0Fh)
Return: AX = status
	    0000h successful
	    0001h invalid IRQ
Note:	results are unpredictable if the IRQ has not been mapped
SeeAlso: AH=17h"MultiDOS",AH=19h"MultiDOS"

Top
1519 - INT 15 - VMiX v2+ - "sys_setconwn" - SET WINDOW COLORS
INT 15 - VMiX v2+ - "sys_setconwn" - SET WINDOW COLORS
	AH = 19h
	STACK:	WORD	new background/foreground colors
			bits 3-0: foreground
			bits 7-4: background
			bits 15-8: unused
Return: AX = color
SeeAlso: AH=18h"VMiX"

Top
1519 - INT 15 - MultiDOS Plus - UNMAP ALL IRQs
INT 15 - MultiDOS Plus - UNMAP ALL IRQs
	AH = 19h
Return: AX destroyed
Note:	for MultiDOS internal use only
SeeAlso: AH=17h"MultiDOS",AH=18h"MultiDOS"

Top
151A - INT 15 - VMiX v2+ - "sys_sint" - INVOKE SOFTWARE INTERRUPT
INT 15 - VMiX v2+ - "sys_sint" - INVOKE SOFTWARE INTERRUPT
	AH = 1Ah
	STACK:	WORD	interrupt number
		DWORD	pointer to register structure
Return: AX = returned flags

Top
151A - INT 15 - MultiDOS Plus - MAP SEMAPHORE NAME TO NUMBER
INT 15 - MultiDOS Plus - MAP SEMAPHORE NAME TO NUMBER
	AH = 1Ah
	DS:SI -> 8-byte name
Return: AL = status
	    00h successful
		AH = semaphore number (20h-3Fh)
	    04h out of string space
Notes:	all eight bytes of the name are significant
	if the name does not already exist, it is added to the name table and
	  associated with a free semaphore number
	names cannot be destroyed
SeeAlso: AH=1Bh"MultiDOS",AH=1Ch"MultiDOS",AH=1Dh"MultiDOS"

Top
151B - INT 15 - VMiX v2+ - "sys_blkmov" - MOVE MEMORY BLOCK
INT 15 - VMiX v2+ - "sys_blkmov" - MOVE MEMORY BLOCK
	AH = 1Bh
	STACK:	DWORD	source address
		DWORD	destination address
		WORD	number of words to move
Return: nothing

Top
151B - INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE BY NAME
INT 15 - MultiDOS Plus - REQUEST RESOURCE SEMAPHORE BY NAME
	AH = 1Bh
	DS:SI -> 8-byte name
Return: AH = status
	    00h successful
	    02h invalid semaphore number
	    03h caller already owns semaphore
	    04h out of string space
Notes:	(see AH=01h"MultiDOS")
	equivalent to AH=1Ah followed by AH=01h
SeeAlso: AH=01h"MultiDOS",AH=1Ah"MultiDOS",AH=1Ch"MultiDOS",AH=1Dh"MultiDOS"

Top
151C - INT 15 - VMiX v2+ - "sys_bitblt" - PUT GRAPHICAL OBJECT AT CURSOR POSITION
INT 15 - VMiX v2+ - "sys_bitblt" - PUT GRAPHICAL OBJECT AT CURSOR POSITION
	AH = 1Ch
	STACK:	WORD	AND/OR pixel with background (00h = OR, 01h = AND)
		DWORD	pointer to object bitmap
		WORD	object width in pixels
		WORD	object height in pixels
Return: nothing
SeeAlso: AH=1Dh"VMiX"

Top
151C - INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE BY NAME
INT 15 - MultiDOS Plus - RELEASE RESOURCE SEMAPHORE BY NAME
	AH = 1Ch
	DS:SI -> 8-byte name
Return: AH = status
	    00h successful
	    01h not semaphore owner
	    02h invalid semaphore number
	    04h out of string space
Notes:	(see AH=02h"MultiDOS")
	equivalent to AH=1Ah followed by AH=02h
SeeAlso: AH=02h"MultiDOS",AH=1Ah"MultiDOS",AH=1Bh"MultiDOS",AH=1Dh"MultiDOS"

Top
151D - INT 15 - VMiX v2+ - "sys_getfont" - GET CURRENT CONSOLE GRAPHICS FONT
INT 15 - VMiX v2+ - "sys_getfont" - GET CURRENT CONSOLE GRAPHICS FONT
	AH = 1Dh
Return: AX = current font number (00h-03h)
SeeAlso: AH=1Ch"VMiX",AH=1Eh"VMiX"

Top
151D - INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE BY NAME
INT 15 - MultiDOS Plus - TEST RESOURCE SEMAPHORE BY NAME
	AH = 1Dh
	DS:SI -> 8-byte name
Return: AH = status
	    00h semaphore not in use
	    01h semaphore owned by another task
	    02h invalid semaphore number
	    03h caller owns semaphore
	    04h out of string space
Notes:	(see AH=10h"MultiDOS")
	equivalent to AH=1Ah followed by AH=10h
SeeAlso: AH=10h"MultiDOS",AH=1Ah"MultiDOS",AH=1Bh"MultiDOS",AH=1Ch"MultiDOS"

Top
151E - INT 15 - VMiX v2+ - "sys_setfont" - SET CONSOLE GRAPHICS FONT
INT 15 - VMiX v2+ - "sys_setfont" - SET CONSOLE GRAPHICS FONT
	AH = 1Eh
	STACK: WORD new font number (00h-03h)
Return: AX = current font number (00h-03h)
SeeAlso: AH=1Dh"VMiX"

Top
151E00 - INT 15 - MultiDOS Plus - CLEAR EVENT COUNTER
INT 15 - MultiDOS Plus - CLEAR EVENT COUNTER
	AX = 1E00h
	DX = event/trigger number (00h-3Fh)
Return: AH = status
	    00h successful
SeeAlso: AX=1E01h,AX=1E02h

Top
151E01 - INT 15 - MultiDOS Plus - TRIGGER EVENT
INT 15 - MultiDOS Plus - TRIGGER EVENT
	AX = 1E01h
	DX = event/trigger number (00h-3Fh)
Return: AH = status
	    00h successful
	    01h invalid event/trigger number
Notes:	schedules any task waiting for event; if no task is waiting, the event
	  counter is incremented (and will roll over if it was 65535)
	may be invoked by interrupt handler
SeeAlso: AX=1E00h,AX=1E02h

Top
151E02 - INT 15 - MultiDOS Plus - WAIT FOR EVENT
INT 15 - MultiDOS Plus - WAIT FOR EVENT
	AX = 1E02h
	DX = event/trigger number (00h-3Fh)
Return: AH = status
	    00h successful
	    01h invalid event/trigger number
Note:	if the event counter is zero, the task is suspended until the event is
	  triggered with AX=1E01h; else, the counter is decremented and the
	  call returns immediately
SeeAlso: AX=1E00h,AX=1E01h

Top
151E08 - INT 15 - MultiDOS Plus 4.01 - SET CONTEXT-SWITCH FUNCTIONS
INT 15 - MultiDOS Plus 4.01 - SET CONTEXT-SWITCH FUNCTIONS
	AX = 1E08h
	DX:BX -> context save handler (see #00458)
	DX:CX -> context restore handler (see #00458)
Return: nothing
Note:	handlers may be removed by setting addresses to 0000h:0000h

(Table 00458)
Values MultiDOS Plus context-switch handlers are called with:
	ES:BX -> task's TCB
Return: all registers preserved

Top
151F - INT 15 - VMiX v2.???+ - "sys_scrollwin" - SCROLL WINDOW
INT 15 - VMiX v2.???+ - "sys_scrollwin" - SCROLL WINDOW
	AH = 1Fh
	STACK:	WORD	top left corner of window (high byte = row, low = col)
		WORD	bottom right corner of window
Return: AX = status (SYS_OK)
SeeAlso: AH=14h"VMiX",AH=18h"VMiX"

Top
151F - INT 15 - MultiDOS Plus v4.01 - GET MEMORY PARAMETERS
INT 15 - MultiDOS Plus v4.01 - GET MEMORY PARAMETERS
	AH = 1Fh
Return: BX = first segment of conventional memory
	DX = first segment of EMS swap frame into which MultiDOS will load
		programs

Top
1520 - INT 15 - MultiDOS Plus v4.01 - CHECK IF MULTITASKING ENABLED
INT 15 - MultiDOS Plus v4.01 - CHECK IF MULTITASKING ENABLED
	AH = 20h
Return: AX = current state
	    0000h multitasking enabled
	    other TCB of task that disabled multitasking
SeeAlso: AH=0Dh"MultiDOS",AH=13h"MultiDOS"

Top
152000 - INT 15 U - DOS 3.0+ PRINT.COM - DISABLE CRITICAL REGION FLAG
INT 15 U - DOS 3.0+ PRINT.COM - DISABLE CRITICAL REGION FLAG
	AX = 2000h
Return: nothing
Desc:	stop setting user flag on entry to PRINT critical region
Note:	also supported by PC Network v1.00 RECEIVER.COM
SeeAlso: AX=2001h

Top
152001 - INT 15 U - DOS 3.0+ PRINT.COM - SET CRITICAL REGION FLAG
INT 15 U - DOS 3.0+ PRINT.COM - SET CRITICAL REGION FLAG
	AX = 2001h
	ES:BX -> byte which is to be incremented while in a DOS call
Return: nothing
Desc:	specify a user flag which PRINT should set to let an interested
	  application know it is in a critical region
Note:	also supported by PC Network v1.00 RECEIVER.COM
SeeAlso: AX=2000h

Top
152010 - INT 15 - OS HOOK - SETUP SYSREQ ROUTINE (AT,XT286,PS50+)
INT 15 - OS HOOK - SETUP SYSREQ ROUTINE (AT,XT286,PS50+)
	AX = 2010h
	???
Return: ???
SeeAlso: AX=2011h

Top
152011 - INT 15 - OS HOOK - COMPLETION OF SYSREQ FUNCTION (AT,XT286,PS50+)
INT 15 - OS HOOK - COMPLETION OF SYSREQ FUNCTION (AT,XT286,PS50+)
	AX = 2011h
	???
Return: ???
SeeAlso: AX=2010h

Top
1521 - INT 15 - SYSTEM - POWER-ON SELF-TEST ERROR LOG (PS50+)
INT 15 - SYSTEM - POWER-ON SELF-TEST ERROR LOG (PS50+)
	AH = 21h
	AL = subfunction
	    00h read POST log
	    01h write POST log
		BH = device ID
		BL = error code
Return: CF clear if successful
	CF set on error
	AH = status
	    00h OK
	    01h list full
	    02h unsupported subfunction
	    80h invalid command
	    86h unsupported function
	if function 00h:
	   BX = number of error codes stored
	   ES:DI -> error log
Notes:	the log is a series of words, the first byte of which identifies the
	  error code and the second the device.
	supported by AMI PCI BIOS
	IBM considers this a required BIOS function
	if the device ID is FFh, the "error code" is the actual device number
	  minus 255 (thus these devices have no specific error codes)
SeeAlso: AH=23h"SYSTEM",AH=24h"SYSTEM"

Top
1522 - INT 15 - SYSTEM - later PS/2s - LOCATE ROM BASIC
INT 15 - SYSTEM - later PS/2s - LOCATE ROM BASIC
	AH = 22h
Return: CF set on error
	    AH = status (86h if function not supported)
	CF clear on success
	    AH = 00h
	    ES:BX -> ROM BASIC
Notes:	if this function is not supported, ROM BASIC is at F600h:0000h
	IBM classifies this function as optional
SeeAlso: INT 86"BASIC",INT F0"BASIC"

Top
152300 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ??? CMOS DATA
INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ??? CMOS DATA
	AX = 2300h
Return: CF clear if successful
	    CL = value of CMOS location 2Dh
	    CH = value of CMOS location 2Eh
	CF set on error
	    AH = error code (80h,86h)
Note:	IBM classifies this function as optional
SeeAlso: AX=2301h,AX=2304h,AX=2305h

Top
152301 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SET ??? CMOS DATA
INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SET ??? CMOS DATA
	AX = 2301h
	CL = new value for CMOS location 2Dh
	CH = new value for CMOS location 2Eh
Return: CF clear if successful
	CF set on error
	    AH = error code (80h,86h)
Notes:	sets the contents of CMOS locations 2Dh and 2Eh
	IBM classifies this function as optional
SeeAlso: AX=2300h,AX=2304h,AX=2305h

Top
152302 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ROM STARTUP VIDEO REG TABLES
INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET ROM STARTUP VIDEO REG TABLES
	AX = 2302h
	BL = data index (00h-0Dh) (see #00459)
Return: ES:BX -> table for register (see #00460,#00461)
	CX = size of table in bytes (may be 0000h)
Note:	IBM classifies this function as optional
SeeAlso: AX=2300h,AX=2301h,AX=2303h

(Table 00459)
Values for PS/1 ROM startup video register tables:
 00h	DAC registers
 01h	???
 02h	Palette registers
 03h-0Dh ???

Format of PS/1 ROM startup DAC register table:
Offset	Size	Description	(Table 00460)
 00h	WORD	number of DAC registers in table
 02h	var	array of 3-byte DAC register values, starting at register 00h
SeeAlso: #00459

Format of PS/1 ROM startup Palette register table:
Offset	Size	Description	(Table 00461)
 00h 16 BYTEs	colors for palette registers 00h through 0Fh
 10h	BYTE	border color
SeeAlso: #00459,#00018

Top
152303 - INT 15 U - IBM BIOS - SMART ENERGY SYSTEM - ???
INT 15 U - IBM BIOS - SMART ENERGY SYSTEM - ???
	AX = 2303h
	BX = ??? ('x')
	DX = 'y' and 'z'
		bits 15-7 = 'y'
		bits 6-3 unused
		bits 2-0 = 'z'
	DI = ??? (0352h)
Return: ???
Notes:	performs graphics functions, writes to segment A000h and VGA I/O ports
	IBM classifies this function as optional

Top
152304 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SYSTEM SETUP
INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - SYSTEM SETUP
	AX = 2304h
	DX = segment of 32K buffer
Return: CF clear if successful
	    AX = 0003h (left over from setting video mode 3)
	    BX,CX,DX,BP,DS,ES destroyed
	CF set on error
	    AH = error code (80h,86h)
Desc:	run system setup utility, and optionally save any changed settings to
	  CMOS RAM
Note:	IBM classifies this function as optional
SeeAlso: AX=2301h,AX=2305h

Top
152305 - INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET PROCESSOR SPEED
INT 15 u - IBM BIOS - SMART ENERGY SYSTEM - GET PROCESSOR SPEED
	AX = 2305h
Return: CF clear if successful
	    AL = processor speed in MHz
	CF set on error
	    AL = FFh (speed unknown or >80 MHz)
	    AL = error code (80h,86h = unsupported function)
Note:	IBM classifies this function as optional
SeeAlso: AX=2301h,AX=2304h,AH=BCh

Top
152400 - INT 15 - SYSTEM - later PS/2s - DISABLE A20 GATE
INT 15 - SYSTEM - later PS/2s - DISABLE A20 GATE
	AX = 2400h
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status
		01h keyboard controller is in secure mode
		86h function not supported
Notes:	also supported by AMI PCI BIOS and Qualitas 386MAX v6.01+
	IBM classifies this function as optional
BUG:	AMI BIOS v1.00.03.AV0M never reports an error on failure to disable
	  the A20 gate; it simply writes 0 to PORT 0092h
SeeAlso: AX=2401h,AX=2402h,AX=2403h,PORT 0092h

Top
152401 - INT 15 - SYSTEM - later PS/2s - ENABLE A20 GATE
INT 15 - SYSTEM - later PS/2s - ENABLE A20 GATE
	AX = 2401h
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status
		01h keyboard controller is in secure mode
		86h function not supported
Notes:	also supported by AMI PCI BIOS and Qualitas 386MAX v6.01+
	IBM classifies this function as optional
SeeAlso: AX=2400h,AX=2402h,PORT 0092h

Top
152402 - INT 15 - SYSTEM - later PS/2s - GET A20 GATE STATUS
INT 15 - SYSTEM - later PS/2s - GET A20 GATE STATUS
	AX = 2402h
Return: CF clear if successful
	    AH = 00h
	    AL = current state (00h disabled, 01h enabled)
	    CX = ??? (set to 0000h-000Bh or FFFFh by AMI BIOS v1.00.03.AV0M)
		FFFFh if keyboard controller does not become ready within C000h
			 read attempts
	CF set on error
	    AH = status
		01h keyboard controller is in secure mode
		86h function not supported
Notes:	also supported by AMI PCI BIOS and Qualitas 386MAX v6.01+
	IBM classifies this function as optional
SeeAlso: AX=2400h,AX=2401h

Top
152403 - INT 15 - SYSTEM - later PS/2s - QUERY A20 GATE SUPPORT
INT 15 - SYSTEM - later PS/2s - QUERY A20 GATE SUPPORT
	AX = 2403h
Return: CF clear if successful
	    AH = 00h
	    BX = status of A20 gate support (see #00462)
	CF set on error
	    AH = status
		01h keyboard controller is in secure mode
		86h function not supported
Notes:	also supported by AMI PCI BIOS and Qualitas 386MAX v6.01+
	IBM classifies this function as optional
BUG:	at one point early in processing INT 15/AH=24h, the AMI PCI BIOS
	  version 1.00.05.AX1 compares whether AL==03h instead of AL>=03h,
	  thus causing a random branch on any value of AL greater than 3.
SeeAlso: AX=2402h

Bitfields for A20 gate support status:
Bit(s)	Description	(Table 00462)
 0	supported on keyboard controller
 1	supported with bit 1 of I/O port 92h
 14-2	reserved
 15	additional data is available (location not yet defined)

Top
153000 - INT 15 - Object Kernel for DOS - INSTALLATION CHECK
INT 15 - Object Kernel for DOS - INSTALLATION CHECK
	AX = 3000h
Return: AX:BX = 4F42h:4A21h ('OBJ!') if installed
	    CX = resident segment
Program: the Object Kernel is a program by M.W. Pieters which is currently
	  under development
Note:	Central Point's CPBACKUP v9 calls INT 15/AX=3000h at startup, but it
	  may be checking for a different program's presence
SeeAlso: AX=3001h,AX=3008h

Top
153001 - INT 15 - Object Kernel for DOS - GET STATUS BLOCK
INT 15 - Object Kernel for DOS - GET STATUS BLOCK
	AX = 3001h
Return: AX = FFFFh
	ES:DI -> status block
SeeAlso: AX=3000h,AX=3008h

Top
153002 - INT 15 - Object Kernel for DOS - KILL PROCESS
INT 15 - Object Kernel for DOS - KILL PROCESS
	AX = 3002h
	(not yet implemented)
SeeAlso: AX=3000h

Top
153003 - INT 15 - Object Kernel for DOS - STOP PROCESS
INT 15 - Object Kernel for DOS - STOP PROCESS
	AX = 3003h
	(not yet implemented)
SeeAlso: AX=3000h

Top
153004 - INT 15 - Object Kernel for DOS - START PROCESS
INT 15 - Object Kernel for DOS - START PROCESS
	AX = 3004h
	(not yet implemented)
SeeAlso: AX=3000h

Top
153005 - INT 15 - Object Kernel for DOS - RESTART PROCESS
INT 15 - Object Kernel for DOS - RESTART PROCESS
	AX = 3005h
	(not yet implemented)
SeeAlso: AX=3000h

Top
153006 - INT 15 - Object Kernel for DOS - EXECUTE PROCESS
INT 15 - Object Kernel for DOS - EXECUTE PROCESS
	AX = 3006h
	(not yet implemented)
SeeAlso: AX=3000h

Top
153007 - INT 15 - Object Kernel for DOS - LIST PROCESSES
INT 15 - Object Kernel for DOS - LIST PROCESSES
	AX = 3007h
	(not yet implemented)
SeeAlso: AX=3000h

Top
153008 - INT 15 - Object Kernel for DOS - SWITCH ObjectKernel ON/OFF
INT 15 - Object Kernel for DOS - SWITCH ObjectKernel ON/OFF
	AX = 3008h
	BH = new state (00h disabled, 01h enabled)
Return: AX = FFFFh
SeeAlso: AX=3000h,AX=3009h

Top
153009 - INT 15 - Object Kernel for DOS - RESERVED FOR FUTURE USE
INT 15 - Object Kernel for DOS - RESERVED FOR FUTURE USE
	AX = 3009h to 30FFh
SeeAlso: AX=3000h
Program: the Object Kernel is a program by M.W. Pieters which is currently
	  under development

Top
153D - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = 3Dh
SeeAlso: AH=07h"IBM",AH=3Eh"IBM"

Top
153E - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = 3Eh
SeeAlso: AH=3Dh"IBM",AH=3Fh"IBM"

Top
153F - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = 3Fh
SeeAlso: AH=07h"IBM",AH=3Eh"IBM"

Top
1540 - INT 15 - SYSTEM - READ/MODIFY PROFILES (CONVERTIBLE)
INT 15 - SYSTEM - READ/MODIFY PROFILES (CONVERTIBLE)
	AH = 40h
	AL = subfunction
	    00h get system profile in CX and BX
	    01h set system profile from CX and BX
	    02h get internal modem profile in BX
	    03h set internal modem profile from BX
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status (80h = profile execution failed)

Top
154000 - INT 15 - Compaq SLT/286 or Portable 386 - READ LCD/PLASMA TIMEOUT
INT 15 - Compaq SLT/286 or Portable 386 - READ LCD/PLASMA TIMEOUT
	AX = 4000h
Return: AX = 4000h
	CL = timeout in minutes, 00h if disabled
SeeAlso: AX=4001h,AX=4600h

Top
154001 - INT 15 - Compaq SLT/286 or Portable 386 - SET LCD/PLASMA TIMEOUT
INT 15 - Compaq SLT/286 or Portable 386 - SET LCD/PLASMA TIMEOUT
	AX = 4001h
	CL = timeout in minutes, 00h to disable
Return: AL = status
	    00h timeout modified
	    01h timeout cannot be modified
	    40h timeout cannot be modified
	CL = timeout in minutes, 00h if disabled
SeeAlso: AX=4000h,AX=4601h

Top
1541 - INT 15 - SYSTEM - WAIT ON EXTERNAL EVENT (CONVERTIBLE and some others)
INT 15 - SYSTEM - WAIT ON EXTERNAL EVENT (CONVERTIBLE and some others)
	AH = 41h
	AL = condition type (see #00463)
	BH = condition compare or mask value
	BL = timeout value times 55 milliseconds
	    00h means no timeout
	DX = I/O port address if AL bit 4 set
	ES:DI -> user byte if AL bit 4 clear
Return: after event or timeout occurs
Note:	call AH=C0h and examine bit 3 of feature byte 1 to determine whether
	  this function is supported
SeeAlso: AH=83h,AH=86h,AH=C0h

Bitfields for external event wait condition type:
Bit(s)	Description	(Table 00463)
 0-2	condition to wait for
	0 any external event
	1 compare and return if equal
	2 compare and return if not equal
	3 test and return if not zero
	4 test and return if zero
 3	reserved
 4	1=port address, 0=user byte
 5-7	reserved

Top
1542 - INT 15 - SYSTEM - REQUEST POWER OFF (CONVERTIBLE,HP 95LX)
INT 15 - SYSTEM - REQUEST POWER OFF (CONVERTIBLE,HP 95LX)
	AH = 42h
	AL = suspend type
	    00h to use system profile
	    01h to force suspend regardless of system profile
Return: nothing
Note:	the HP 95LX apparently suspends regardless of the value in AL; on
	  power-up, execution will resume following the instruction calling
	  this function
SeeAlso: AH=44h

Top
154280 - INT 15 - Compaq SLT/286 - ENTER STANDBY
INT 15 - Compaq SLT/286 - ENTER STANDBY
	AX = 4280h
Return: AH = 42h
	CF clear if successful
	CF set if unable to enter standby
SeeAlso: AX=4600h,AX=5307h/CX=0001h"STAND-BY"

Top
1543 - INT 15 - SYSTEM - READ SYSTEM STATUS (CONVERTIBLE)
INT 15 - SYSTEM - READ SYSTEM STATUS (CONVERTIBLE)
	AH = 43h
Return: AL = status bits (see #00464)

Bitfields for Convertible system status:
Bit(s)	Description	(Table 00464)
 7	power low
 6	external power in use
 5	standby power lost
 4	power activated by alarm
 3	internal modem powered on
 2	RS232/parallel adapter powered on
 1	reserved
 0	LCD detached

Top
1544 - INT 15 - SYSTEM - (DE)ACTIVATE INTERNAL MODEM POWER (CONVERTIBLE)
INT 15 - SYSTEM - (DE)ACTIVATE INTERNAL MODEM POWER (CONVERTIBLE)
	AH = 44h
	AL = new modem power state (00h power off, 01h power on)
Return: nothing
SeeAlso: AH=42h

Top
1544C0 - INT 15 - Olivetti Quaderno - INITIALIZE DIGITAL SIGNAL PROCESSING???
INT 15 - Olivetti Quaderno - INITIALIZE DIGITAL SIGNAL PROCESSING???
	AX = 44C0h
	ES:DI -> new DSP procedure (exchanged with CMOS[28h])
	ES:SI -> ??? buffer
Return: ES:DI -> old DSP procedure
	ES:SI buffer filled with ten bytes from CMOS (addresses 14h-1Ch)
	  followed by 00h (addresses 15h-1Ch copied only if less than 21h)
Note:	this function is also supported by XBIOS.COM
SeeAlso: AX=44C9h

Top
1544C1 - INT 15 - Olivetti Quaderno - ???
INT 15 - Olivetti Quaderno - ???
	AX = 44C1h
	???
Return: ???
Note:	this function is also supported by XBIOS.COM
SeeAlso: AX=44C9h

Top
1544C2 - INT 15 - Olivetti Quaderno - ???
INT 15 - Olivetti Quaderno - ???
	AX = 44C2h
	DL = byte to be written to I/O port 350h
Note:	this function is also supported by XBIOS.COM
SeeAlso: AX=44C3h,AX=44C9h

Top
1544C3 - INT 15 - Olivetti Quaderno - GET ???
INT 15 - Olivetti Quaderno - GET ???
	AX = 44C3h
Return: DH = bitfields (see #00465)
	DL = value read from I/O port 350h
Note:	this function is also supported by XBIOS.COM
SeeAlso: AX=44C2h,AX=44C9h

Bitfields for Olivetti Quaderno ???:
Bit(s)	Description	(Table 00465)
 5-7	5-7 read from I/O port 351h
 2-4	zero
 1-0	"tres complique"

Top
1544C4 - INT 15 - Olivetti Quaderno - ???
INT 15 - Olivetti Quaderno - ???
	AX = 44C4h and 44C5h
	???
Return: ???
Note:	this function is also supported by XBIOS.COM
SeeAlso: AX=44C9h

Top
1544C6 - INT 15 - Olivetti Quaderno - READ LCD
INT 15 - Olivetti Quaderno - READ LCD
	AX = 44C6h
Return: DX = FFFFh clock is displayed on LCD display
	DX = other: hex number displayed in first four positions of display
	BH = left alphanumeric character on display (see #00466)
	BL = right alphanumeric character on display (see #00466)
	CL = colon flags (see #00467)
Notes:	the LCD display has the format HH:HH:AA, where H is a hex digit and A
	  is an alphanumeric character
	this function is also supported by XBIOS.COM
SeeAlso: AX=44C7h,AX=44C9h

(Table 00466)
Values for Olivetti Quaderno LCD alphanumeric characters:
 00h-0Fh hex digit
 2Bh	"+"
 2Dh	"-"
 30h-39h "0" to "9"
 41h-5Ah "A" to "Z"
 61h-6Ah "a" to "z"
 else	blank

Bitfields for Olivetti Quaderno LCD colon flags:
Bit(s)	Description	(Table 00467)
 0	left colon on
 1	right colon on
 2-7	unused

Top
1544C7 - INT 15 - Olivetti Quaderno - WRITE LCD
INT 15 - Olivetti Quaderno - WRITE LCD
	AX = 44C7h
	DX = hex display
	    FFFFh display clock and "HI", "Md", or "Lo"
		BH,BL,CL unused
	    other: display specified hex number in first four positions
		BH = left alphanumeric character on display (see #00466)
		BL = right alphanumeric character on display (see #00466)
		CL = colon flags (see #00467)
Return: nothing
Note:	this function is also supported by XBIOS.COM
SeeAlso: AX=44C6h

Top
1544C8 - INT 15 - Olivetti Quaderno - ???
INT 15 - Olivetti Quaderno - ???
	AX = 44C8h
	CL = ??? (00h,02h,21h)
	CH = ???
	???
Return: ???
Note:	this function is also supported by XBIOS.COM
SeeAlso: AX=44C9h

Top
1544C9 - INT 15 - Olivetti Quaderno - GET XBIOS VERSION
INT 15 - Olivetti Quaderno - GET XBIOS VERSION
	AX = 44C9h
Return: AL = major version
	AH = minor version
Note:	this function is also supported by XBIOS.COM

Top
1544F1 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
	AX = 44F1h
	DS:DX -> byte with 00h ???
Return: ???
Note:	used by Toshiba BIOS setup utility TSETUP.EXE to distinguish
	  between USER and SUPERVISOR security level
SeeAlso: AX=44F2h,AX=44F3h

Top
1544F2BX0604 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
	AX = 44F2h
	BX = 0604h ???
Return: CF = ???
	AH = ???
	DX = ???
Note:	used by Toshiba BIOS setup utility TSETUP.EXE to distinguish
	  between USER and SUPERVISOR security level
SeeAlso: AX=44F1h,AX=44F3h

Top
1544F3 - INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
INT 15 U - Toshiba laptops - SECURITY LEVEL CHECK
	AX = 44F3h
	DS:DX -> byte with 00h or 01h ???
Return: DS:DX -> changed ???
Note:	used by Toshiba BIOS setup utility TSETUP.EXE to distinguish
	  between USER and SUPERVISOR security level
SeeAlso: AX=44F1h,AX=44F2h

Top
1545 - INT 15 U - HP 100LX/200LX - SET DISPLAY CONTROL STATUS
INT 15 U - HP 100LX/200LX - SET DISPLAY CONTROL STATUS
	AH = 45h
	AL = new display control status
	    bit 0: DISPCTL flag +C instead of -C
	    bit 1: DISPCTL flag +K instead of -K
SeeAlso: AH=46h"HP",AH=47h"HP"

Top
1546 - INT 15 U - HP 100LX/200LX - SET POWER OFF TIMEOUT
INT 15 U - HP 100LX/200LX - SET POWER OFF TIMEOUT
	AH = 46h
	BX = timeout value in ticks
	    0000h inhibit auto power off
Note:	the 200LX default timeout is 0CCDh = 3277 ticks = approx. 3 min.
SeeAlso: AH=45h"HP",AH=47h"HP"

Top
154600 - INT 15 - Compaq SLT/286 - READ POWER CONSERVATION/MODEM CONFIGURATION
INT 15 - Compaq SLT/286 - READ POWER CONSERVATION/MODEM CONFIGURATION
	AX = 4600h
Return: AH = modem configuration information (see #00468)
	AL = power conservation status information (see #00469)
	BH = default system inactivity timeout (1-21 minutes)
	BL = current system inactivity timeout (1-21 minutes)
	CH = default video display inactivity timeout (1-63 minutes)
	CL = current video display inactivity timeout (1-63 minutes)
	DH = default fixed disk drive inactivity timeout (1-21 minutes)
	DL = current fixed disk drive inactivity timeout (1-21 minutes)
SeeAlso: AX=4280h,AX=4601h,INT 77

Bitfields for Compaq SLT/286 modem configuration information:
Bit(s)	Description	(Table 00468)
 0	powerup state (0 off, 1 on)
 1	modem installed
 2	IRQ line assignment (0 IRQ 4, 1 IRQ 3)
 3	COM port assignment (0 = COM 2, 1 = COM 1)
 4	modem state (0 not assigned, 1 assigned)
 5	modem is on

Bitfields for Compaq SLT/286 power conservation status:
Bit(s)	Description	(Table 00469)
 0	power source (0 internal, 1 external)
 1-2	low battery state
	00 no low battery condition
	01 low battery 1
	10 reserved
	11 low battery 2
 3-4	power conservation mode
	00 automatic, 01 on, 10 off, 11 reserved

Top
154601 - INT 15 - Compaq SLT/286 - MODIFY POWER CONSERVATION/MODEM CONFIGURATION
INT 15 - Compaq SLT/286 - MODIFY POWER CONSERVATION/MODEM CONFIGURATION
	AX = 4601h
	BL = system inactivity timeout (1-21 minutes)
	    FFh do not change
	CL = video display inactivity timeout (1-63 minutes)
	    FFh do not change
	DL = current fixed disk drive inactivity timeout (1-21 minutes)
	    FFh do not change
	DH = new modem state (00h turn off, 01h turn on, FFh don't change)
Return: CF clear if successful
	    AH = 00h
	    BL = current system inactivity timeout (1-21 minutes)
	    CL = current video display inactivity timeout (1-63 minutes)
	    DL = current fixed disk drive inactivity timeout (1-21 minutes)
	    DH = modem state (FFh unchanged, 00h turned off, 01h turned on)
	CF set on error
	    AH = error code
		01h input is out of range
		02h no modem present
SeeAlso: AX=4600h,INT 77

Top
154604 - INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - GET ???
INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - GET ???
	AX = 4604h
Return: CF clear if successful
	    AL = byte read from I/O port 03F8h
	CF set on error (not supported)
	    AH = 86h (unsupported function)
Note:	also supported by 1993/7/26 LTE Lite 386 ROM

Top
154605 - INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - ???
INT 15 - Compaq Contura 486 and "Alladin" 1993/08/05 ROMs - ???
	AX = 4605h
Return: CF clear if successful
	CF set on error (not supported)
	    AH = 86h (unsupported function)
Note:	this function is a NOP (other than clearing CF) in the 1993/08/05
	  version of the Contura 486/486c/486cx and "Aladdin" ROM, and the
	  1993/7/26 LTE Lite 386 ROM

Top
1547 - INT 15 U - HP 100LX/200LX - GET/SET DISPLAY CONTRAST
INT 15 U - HP 100LX/200LX - GET/SET DISPLAY CONTRAST
	AH = 47h
	AL = subfunction
	   00h set contrast
		BL = new contrast
		    (00h-0Fh, 0Fh is darkest, 10h-FFh are same as 0Fh)
	   other get current contrast
Return: AL = contrast (00h-0Fh, 0Fh is darkest)
Note:	may be for backward compatibility with HP95LX, as INT 15/AH=62h does
	  substantially the same thing as this function
SeeAlso: AH=45h"HP",AH=48h"HP",AH=62h"HP"

Top
1548 - INT 15 U - HP 100LX/200LX - SET BUZZER VOLUME
INT 15 U - HP 100LX/200LX - SET BUZZER VOLUME
	AH = 48h
	AL = volume (00h-03h; 03h is loudest, 04h-FFh are same as 03h)
SeeAlso: AH=47h"HP"

Top
1549 - INT 15 U - HP 100LX/200LX - SERIAL INTERFACE SELECT
INT 15 U - HP 100LX/200LX - SERIAL INTERFACE SELECT
	AH = 49h
	AL = serial interface
	    00h wired (COM1)
	    01h infrared
Note:	interface should only be changed in deactivated state (see AH=4Ah)
SeeAlso: AH=4Ah"HP"

Top
154900 - INT 15 - Far East MS-DOS - GET BIOS TYPE
INT 15 - Far East MS-DOS - GET BIOS TYPE
	AX = 4900h
Return: CF clear if successful
	    AH = 00h
	    BL = BIOS mode
		00h DOS/V
		01h standard DBCS DOS (hardware DBCS support)
	CF set on error
	    AH = 86h (function not supported)
Note:	in practice, DOS/J returns AH=86h; AX DOS does not support this call
SeeAlso: AH=50h,INT 21/AH=30h

Top
154A - INT 15 U - HP 100LX/200LX - SERIAL INTERFACE CONTROL
INT 15 U - HP 100LX/200LX - SERIAL INTERFACE CONTROL
	AH = 4Ah
	AL = control
	    00h deactivate
	    01h activate
Note:	interface selected with AH=49h will be (de)activated
SeeAlso: AH=49h"HP",AH=4Bh"HP"

Top
154B - INT 15 U - HP 100LX/200LX - ADJUST SYSTEM TIME
INT 15 U - HP 100LX/200LX - ADJUST SYSTEM TIME
	AH = 4Bh
Desc:	adjust system time based on real-time clock
SeeAlso: AH=4Ah"HP",INT 1A/AH=02h,INT 21/AH=2Ch

Top
154DD4 - INT 15 - HP 95LX/100LX/200LX - INSTALLATION CHECK
INT 15 - HP 95LX/100LX/200LX - INSTALLATION CHECK
	AX = 4DD4h
Return: BX = 4850h ("HP") if HP 95LX/100LX/200LX
	    CX = model
		0101h HP 95LX
		0102h HP 100LX/200LX
	    DH = ???
		02h HP 200LX 2MB BIOS 1.01 A D german
	    DL = ???
		00h HP 95LX
		01h HP 200LX 2MB BIOS 1.01 A D german
SeeAlso: INT 0B"HP 95LX",INT 0F"HP 95LX",INT 5F/AH=00h,INT 60/DI=0100h
SeeAlso: INT 61"HP 95LX"

Top
154E - INT 15 - HP 95LX - ENABLE/DISABLE LIGHT SLEEP
INT 15 - HP 95LX - ENABLE/DISABLE LIGHT SLEEP
	AH = 4Eh
	AL = light sleep
	    00h disabled
	    01h enabled
Note:	when light sleep is disabled, the system will continue running at full
	  speed; when enabled, it may automatically slow to conserve batteries
SeeAlso: INT 06"HP 95LX",INT 60/DI=0100h

Top
154E - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = 4Eh
SeeAlso: AH=07h"IBM",AH=3Eh"IBM"

Top
154F - INT 15 C - KEYBOARD - KEYBOARD INTERCEPT (AT model 3x9,XT2,XT286,CONV,PS)
INT 15 C - KEYBOARD - KEYBOARD INTERCEPT (AT model 3x9,XT2,XT286,CONV,PS)
	AH = 4Fh
	AL = hardware scan code (see #00006)
	CF set
Return: CF set to continue processing scan code
	   AL = possibly-altered hardware scan code (see #00006)
	CF clear
	   scan code should be ignored
Notes:	called by INT 09 handler to translate scan codes; the INT 09 code does
	  not examine the scan code it reads from the keyboard until after
	  this function returns.  This permits software to rearrange the
	  keyboard; for example, swapping the CapsLock and Control keys, or
	  turning the right Shift key into Enter.
	DOS 6 KEYB.COM will not pass through this function if Ctrl-Alt-Del is
	  pressed and a SmartDrive v4-compatible cache is installed which has
	  dirty cache buffers; some other disk caches such as HyperDisk
	  operate similarly in order to prevent loss of cached data which has
	  not yet been written to disk
	IBM classifies this function as required
SeeAlso: INT 09,INT 15/AH=C0h

Top
1550 - INT 15 - DOS/V - FONT SUBSYSTEM ACCESS
INT 15 - DOS/V - FONT SUBSYSTEM ACCESS
	AH = 50h
	AL = which function address to retrieve
	    00h "read font" function
	    01h "write font" function
	BL = 00h
	BH = character size (00h single-byte, 01h double-byte)
	DH = width of character cell
	DL = height of character cell
	BP = code page (see #00470)
Return: CF clear if successful
	    AH = 00h
	    ES:BX -> requested function's address
	CF set on error
	    AH = error code (see #00471)
SeeAlso: AH=49h

(Table 00470)
Values for DOS/V code page:
 0	default
 437	US English
 932	Japanese
 934	Korea
 936	China
 938	Taiwan
SeeAlso: #01757

(Table 00471)
Values for DOS/V error code:
 01h	invalid font type in BH
 02h	BL not zero
 03h	invalid font size
 04h	invalid code page
 80h	unsupported function (PC)
 86h	unsupported function (XT)
SeeAlso: #01680

Top
1550 - INT 15 - VMIX v2.???+ - "sys_vm_page" - SET NEW VIRTUAL PAGE TABLE
INT 15 - VMIX v2.???+ - "sys_vm_page" - SET NEW VIRTUAL PAGE TABLE
	AH = 50h
	BX = segment of page directory table
	CX = page number of page table
SeeAlso: AH=10h"VMiX",AH=51h"VMiX",AH=52h"VMiX"

Top
1551 - INT 15 - VMiX v2.???+ - "sys_vm_func" - EXECUTE FUNCTION IN PROTECTED MODE
INT 15 - VMiX v2.???+ - "sys_vm_func" - EXECUTE FUNCTION IN PROTECTED MODE
	AH = 51h
	STACK:	DWORD	selector:offset of function
Return: registers as returned by function
Note:	executes function with privilege level 0 (highest privilege)
SeeAlso: AH=10h"VMiX",AH=52h"VMiX"

Top
155101 - INT 15 - SYSTEM - later PS/2s - EXPANSION UNIT, RETURN CONFIGURATION NUMBER
INT 15 - SYSTEM - later PS/2s - EXPANSION UNIT, RETURN CONFIGURATION NUMBER
	AX = 5101h
Return: CF set if successful
	    AH = 00h
	    AL = current configuration number
		00h system unit only
		FFh configuration not recognized
	    BX = status flag
		bits 0-14: reserved
		bit 15: additional data is available (location TBD)
	CF clear on error
	    AH = status
		01h expansion unit is not present
		86h function not supported
Note:	CF convention is the reverse of the standard convention for this
	  interrupt.  (Perhaps a typo in the IBM BIOS Tech Ref?)

Top
1552 - INT 15 - VMiX v2.???+ - "sys_vm_init" - INITIALIZE PROTECTED-MODE ENVIRONMENT
INT 15 - VMiX v2.???+ - "sys_vm_init" - INITIALIZE PROTECTED-MODE ENVIRONMENT
	AH = 52h
SeeAlso: AH=50h"VMiX",AH=51h"VMiX"

Top
1552 - INT 15 C - IBM/MS INT 13 Extensions - MEDIA EJECT INTERCEPT
INT 15 C - IBM/MS INT 13 Extensions - MEDIA EJECT INTERCEPT
	AH = 52h
	DL = drive number
Return: CF clear if OK to eject media
	    AH = 00h
	CF set if ejection disallowed
	    AH = error code (B1h,B3h) (see #00234)
Note:	called by the IBM/MS INT 13 Extensions driver/BIOS when an ejection
	  request is made
SeeAlso: INT 13/AH=46h"INT 13 Extensions"

Top
155300 - INT 15 - Advanced Power Management v1.0+ - INSTALLATION CHECK
INT 15 - Advanced Power Management v1.0+ - INSTALLATION CHECK
	AX = 5300h
	BX = device ID of system BIOS (0000h)
Return: CF clear if successful
	    AH = major version (BCD)
	    AL = minor version (BCD)
	    BX = 504Dh ("PM")
	    CX = flags (see #00472)
	CF set on error
	    AH = error code (06h,09h,86h) (see #00473)
BUG:	early versions of the Award Modular BIOS with built-in APM support
	  reportedly do not set BX on return

Bitfields for APM flags:
Bit(s)	Description	(Table 00472)
 0	16-bit protected mode interface supported
 1	32-bit protected mode interface supported
 2	CPU idle call reduces processor speed
 3	BIOS power management disabled
 4	BIOS power management disengaged (APM v1.1)
 5-7	reserved

(Table 00473)
Values for APM error code:
 01h	power management functionality disabled
 02h	interface connection already in effect
 03h	interface not connected
 04h	real-mode interface not connected
 05h	16-bit protected-mode interface already connected
 06h	16-bit protected-mode interface not supported
 07h	32-bit protected-mode interface already connected
 08h	32-bit protected-mode interface not supported
 09h	unrecognized device ID
 0Ah	invalid parameter value in CX
 0Bh	(APM v1.1) interface not engaged
 0Ch	(APM v1.2) function not supported
 0Dh	(APM v1.2) Resume Timer disabled
 0Eh-1Fh reserved for other interface and general errors
 20h-3Fh reserved for CPU errors
 40h-5Fh reserved for device errors
 60h	can't enter requested state
 61h-7Fh reserved for other system errors
 80h	no power management events pending
 81h-85h reserved for other power management event errors
 86h	APM not present
 87h-9Fh reserved for other power management event errors
 A0h-FEh reserved
 FFh	undefined

Top
155301 - INT 15 - Advanced Power Management v1.0+ - CONNECT REAL-MODE INTERFACE
INT 15 - Advanced Power Management v1.0+ - CONNECT REAL-MODE INTERFACE
	AX = 5301h
	BX = device ID of system BIOS (0000h)
Return: CF clear if successful
	CF set on error
	    AH = error code (02h,05h,07h,09h) (see #00473)
Note:	on connection, an APM v1.1 or v1.2 BIOS switches to APM v1.0
	  compatibility mode until it is informed that the user supports a
	  newer version of APM (see AX=530Eh)
SeeAlso: AX=5302h,AX=5303h,AX=5304h

Top
155302 - INT 15 R - Advanced Power Management v1.0+ - CONNECT 16-BIT PROTMODE INTERFACE
INT 15 R - Advanced Power Management v1.0+ - CONNECT 16-BIT PROTMODE INTERFACE
	AX = 5302h
	BX = device ID of system BIOS (0000h)
Return: CF clear if successful
	    AX = real-mode segment base address of protected-mode 16-bit code
		segment
	    BX = offset of entry point
	    CX = real-mode segment base address of protected-mode 16-bit data
		segment
	    ---APM v1.1---
	    SI = APM BIOS code segment length
	    DI = APM BIOS data segment length
	CF set on error
	    AH = error code (02h,05h,06h,07h,09h) (see #00473)
Notes:	the caller must initialize two consecutive descriptors with the
	  returned segment base addresses; these descriptors must be valid
	  whenever the protected-mode interface is called, and will have
	  their limits arbitrarily set to 64K.
	the protected mode interface is invoked by making a far call with the
	  same register values as for INT 15; it must be invoked while CPL=0,
	  the code segment descriptor must have a DPL of 0, the stack must be
	  in a 16-bit segment and have enough room for BIOS use and possible
	  interrupts, and the current I/O permission bit map must allow access
	  to the I/O ports used for power management.
	functions 00h-03h are not available from protected mode
	on connection, an APM v1.1 or v1.2 BIOS switches to APM v1.0
	  compatibility mode until it is informed that the user supports a
	  newer version of APM (see AX=530Eh)
SeeAlso: AX=5301h,AX=5303h,AX=5304h

Top
155303 - INT 15 - Advanced Power Management v1.0+ - CONNECT 32-BIT PROTMODE INTERFACE
INT 15 - Advanced Power Management v1.0+ - CONNECT 32-BIT PROTMODE INTERFACE
	AX = 5303h
	BX = device ID of system BIOS (0000h)
Return: CF clear if successful
	    AX = real-mode segment base address of protected-mode 32-bit code
		segment
	    EBX = offset of entry point
	    CX = real-mode segment base address of protected-mode 16-bit code
		segment
	    DX = real-mode segment base address of protected-mode 16-bit data
		segment
	    ---APM v1.1---
	    SI = APM BIOS code segment length
	    DI = APM BIOS data segment length
	CF set on error
	    AH = error code (02h,05h,07h,08h,09h) (see #00473)
Notes:	the caller must initialize three consecutive descriptors with the
	  returned segment base addresses for 32-bit code, 16-bit code, and
	  16-bit data, respectively; these descriptors must be valid whenever
	  the protected-mode interface is called, and will have their limits
	  arbitrarily set to 64K.
	the protected mode interface is invoked by making a far call to the
	  32-bit code segment with the same register values as for INT 15; it
	  must be invoked while CPL=0, the code segment descriptor must have a
	  DPL of 0, the stack must be in a 32-bit segment and have enough room
	  for BIOS use and possible interrupts, and the current I/O permission
	  bit map must allow access to the I/O ports used for power management.
	functions 00h-03h are not available from protected mode
	on connection, an APM v1.1 or v1.2 BIOS switches to APM v1.0
	  compatibility mode until it is informed that the user supports a
	  newer version of APM (see AX=530Eh)
SeeAlso: AX=5301h,AX=5302h,AX=5304h

Top
155304 - INT 15 - Advanced Power Management v1.0+ - DISCONNECT INTERFACE
INT 15 - Advanced Power Management v1.0+ - DISCONNECT INTERFACE
	AX = 5304h
	BX = device ID of system BIOS (0000h)
Return: CF clear if successful
	CF set on error
	    AH = error code (03h,09h) (see #00473)
SeeAlso: AX=5301h,AX=5302h,AX=5303h

Top
155305 - INT 15 - Advanced Power Management v1.0+ - CPU IDLE
INT 15 - Advanced Power Management v1.0+ - CPU IDLE
	AX = 5305h
Return: CF clear if successful (after system leaves idle state)
	CF set on error
	    AH = error code (03h,0Bh) (see #00473)
Notes:	call when the system is idle and should be suspended until the next
	  system event or interrupt
	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
	if an interrupt causes the system to resume normal processing, the
	  interrupt may or may not have been handled when the BIOS returns
	  from this call; thus, the caller should allow interrupts on return
	interrupt handlers may not retain control if the BIOS allows
	  interrupts while in idle mode even if they are able to determine
	  that they were called from idle mode
	the caller should issue this call continuously in a loop until it needs
	  to perform some processing of its own
SeeAlso: AX=1000h,AX=5306h,INT 2F/AX=1680h

Top
155306 - INT 15 - Advanced Power Management v1.0+ - CPU BUSY
INT 15 - Advanced Power Management v1.0+ - CPU BUSY
	AX = 5306h
Return: CF clear if successful
	CF set on error
	    AH = error code (03h,0Bh) (see #00473)
Notes:	called to ensure that the system runs at full speed even on systems
	  where the BIOS is unable to recognize increased activity (especially
	  if interrupts are hooked by other programs and not chained to the
	  BIOS)
	this call may be made even when the system is already running at full
	  speed, but it will create unnecessary overhead
	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
SeeAlso: AX=5305h

Top
155307 - INT 15 - Advanced Power Management v1.0+ - SET POWER STATE
INT 15 - Advanced Power Management v1.0+ - SET POWER STATE
	AX = 5307h
	BX = device ID (see #00474)
	CX = system state ID (see #00475)
Return: CF clear if successful
	CF set on error
	    AH = error code (01h,03h,09h,0Ah,0Bh,60h) (see #00473)
Note:	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
SeeAlso: AX=530Ch

(Table 00474)
Values for APM device IDs:
 0000h	system BIOS
 0001h	all devices for which the system BIOS manages power
 01xxh	display (01FFh for all attached display devices)
 02xxh	secondary storage (02FFh for all attached secondary storage devices)
 03xxh	parallel ports (03FFh for all attached parallel ports)
 04xxh	serial ports (04FFh for all attached serial ports)
---APM v1.1+ ---
 05xxh	network adapters (05FFh for all attached network adapters)
 06xxh	PCMCIA sockets (06FFh for all)
 0700h-7FFFh reserved
 80xxh	system battery devices (APM v1.2)
 8100h-DFFFh reserved
 Exxxh	OEM-defined power device IDs
 F000h-FFFFh reserved

(Table 00475)
Values for system state ID:
 0000h	ready (not supported for device ID 0001h)
 0001h	stand-by
 0002h	suspend
 0003h	off (not supported for device ID 0001h in APM v1.0)
---APM v1.1---
 0004h	last request processing notification (only for device ID 0001h)
 0005h	last request rejected (only for device ID 0001h)
 0006h-001Fh reserved system states
 0020h-003Fh OEM-defined system states
 0040h-007Fh OEM-defined device states
 0080h-FFFFh reserved device states

Top
155307CX0001 - INT 15 - Advanced Power Management v1.0+ - SYSTEM STAND-BY
INT 15 - Advanced Power Management v1.0+ - SYSTEM STAND-BY
	AX = 5307h
	CX = 0001h
	BX = 0001h (device ID for all power-managed devices)
Return: CF clear
Notes:	puts the entire system into stand-by mode; normally called in response
	  to a System Stand-by Request notification after any necessary
	  processing, but may also be invoked at the caller's discretion
	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
	the stand-by state is typically exited on an interrupt
SeeAlso: AX=4280h,AX=5307h/CX=0002h"SUSPEND",AX=5307h/CX=0003h,AX=530Bh

Top
155307CX0002 - INT 15 - Advanced Power Management v1.0+ - SUSPEND SYSTEM
INT 15 - Advanced Power Management v1.0+ - SUSPEND SYSTEM
	AX = 5307h
	CX = 0002h
	BX = 0001h (device ID for all power-managed devices)
Return: after system is resumed
	CF clear
Notes:	puts the entire system into a low-power suspended state; normally
	  called in response to a Suspend System Request notification after
	  any necessary processing, but may also be invoked at the caller's
	  discretion
	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
	the caller may need to update its date and time values because the
	  system could have been suspended for a long period of time
SeeAlso: AX=5307h/CX=0001h"STAND-BY",AX=530Bh

Top
155307CX0003 - INT 15 - Advanced Power Management v1.2 - TURN OFF SYSTEM
INT 15 - Advanced Power Management v1.2 - TURN OFF SYSTEM
	AX = 5307h
	CX = 0003h
	BX = 0001h (device ID for all power-managed devices)
Return: after system is resumed
	CF clear
Notes:	if supported by the system's power supply, turns off the system power
SeeAlso: AX=5307h/CX=0001h"STAND-BY",AX=530Bh

Top
155308 - INT 15 - Advanced Power Management v1.0+ - ENABLE/DISABLE POWER MANAGEMENT
INT 15 - Advanced Power Management v1.0+ - ENABLE/DISABLE POWER MANAGEMENT
	AX = 5308h
	BX = device ID for all devices power-managed by APM
	    0001h (APM v1.1+)
	    FFFFh (APM v1.0)
	CX = new state
	    0000h disabled
	    0001h enabled
Return: CF clear if successful
	CF set on error
	    AH = error code (01h,03h,09h,0Ah,0Bh) (see #00473)
Notes:	when power management is disabled, the system BIOS will not
	  automatically power down devices, enter stand-by or suspended mode,
	  or perform any power-saving actions in response to AX=5305h calls
	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
	the APM BIOS should never be both disabled and disengaged at the same
	  time
SeeAlso: AX=5309h,AX=530Dh,AX=530Fh

Top
155309 - INT 15 - Advanced Power Management v1.0+ - RESTORE POWER-ON DEFAULTS
INT 15 - Advanced Power Management v1.0+ - RESTORE POWER-ON DEFAULTS
	AX = 5309h
	BX = device ID for all devices power-managed by APM
	    0001h (APM v1.1)
	    FFFFh (APM v1.0)
Return: CF clear if successful
	CF set on error
	    AH = error code (03h,09h,0Bh) (see #00473)
Note:	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
SeeAlso: AX=5308h

Top
15530A - INT 15 - Advanced Power Management v1.0+ - GET POWER STATUS
INT 15 - Advanced Power Management v1.0+ - GET POWER STATUS
	AX = 530Ah
	BX = device ID
	    0001h all devices power-managed by APM
	    80xxh specific battery unit number XXh (01h-FFh) (APM v1.2)
Return: CF clear if successful
	    BH = AC line status
		00h off-line
		01h on-line
		02h on backup power (APM v1.1)
		FFh unknown
		other reserved
	    BL = battery status (see #00476)
	    CH = battery flag (APM v1.1+) (see #00477)
	    CL = remaining battery life, percentage
		00h-64h (0-100) percentage of full charge
		FFh unknown
	    DX = remaining battery life, time (APM v1.1) (see #00478)
	    ---if specific battery unit specified---
	    SI = number of battery units currently installed
	CF set on error
	    AH = error code (09h,0Ah) (see #00473)
Notes:	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
	supported in real mode (INT 15) and both 16-bit and 32-bit protected
	  mode

(Table 00476)
Values for APM v1.0+ battery status:
 00h	high
 01h	low
 02h	critical
 03h	charging
 FFh	unknown
 other	reserved
SeeAlso: #00477,#00478

Bitfields for APM v1.1+ battery flag:
Bit(s)	Description	(Table 00477)
 0	high
 1	low
 2	critical
 3	charging
 4	selected battery not present (APM v1.2)
 5-6	reserved (0)
 7	no system battery
Note:	all bits set (FFh) if unknown
SeeAlso: #00476,#00478

Bitfields for APM v1.1+ remaining battery life:
Bit(s)	Description	(Table 00478)
 15	time units: 0=seconds, 1=minutes
 14-0	battery life in minutes or seconds
Note:	all bits set (FFFFh) if unknown
SeeAlso: #00476,#00477

Top
15530B - INT 15 - Advanced Power Management v1.0+ - GET POWER MANAGEMENT EVENT
INT 15 - Advanced Power Management v1.0+ - GET POWER MANAGEMENT EVENT
	AX = 530Bh
Return: CF clear if successful
	    BX = event code (see #00479)
	    CX = event information (APM v1.2) if BX=0003h or BX=0004h
		bit 0: PCMCIA socket was powered down in suspend state
	CF set on error
	    AH = error code (03h,0Bh,80h) (see #00473)
Notes:	although power management events are often asynchronous, notification
	  will not be made until polled via this call to permit software to
	  only receive event notification when it is prepared to process
	  power management events; since these events are not very time-
	  critical, it should be sufficient to poll once or twice per second
	the critical resume notification is made after the system resumes
	  from an emergency suspension; normally, the system BIOS only notifies
	  its partner that it wishes to suspend and relies on the partner to
	  actually request the suspension, but no notification is made on an
	  emergency suspension
	should not be called from within a hardware interrupt handler to avoid
	  reentrance problems
SeeAlso: AX=5307h,AX=5307h/CX=0001h"STAND-BY",AX=5307h/CX=0002h"SUSPEND"

(Table 00479)
Values for APM event code:
 0001h	system stand-by request
 0002h	system suspend request
 0003h	normal resume system notification
 0004h	critical resume system notification
 0005h	battery low notification
---APM v1.1---
 0006h	power status change notification
 0007h	update time notification
 0008h	critical system suspend notification
 0009h	user system standby request notification
 000Ah	user system suspend request notification
 000Bh	system standby resume notification
---APM v1.2---
 000Ch	capabilities change notification (see AX=5310h)
------
 000Dh-00FFh reserved system events
 01xxh	reserved device events
 02xxh	OEM-defined APM events
 0300h-FFFFh reserved

Top
15530C - INT 15 - Advanced Power Management v1.1+ - GET POWER STATE
INT 15 - Advanced Power Management v1.1+ - GET POWER STATE
	AX = 530Ch
	BX = device ID (see #00474)
Return: CF clear if successful
	    CX = system state ID (see #00475)
	CF set on error
	    AH = error code (01h,09h) (see #00473)
SeeAlso: AX=5307h

Top
15530D - INT 15 - Advanced Power Management v1.1+ - EN/DISABLE DEVICE POWER MANAGEMENT
INT 15 - Advanced Power Management v1.1+ - EN/DISABLE DEVICE POWER MANAGEMENT
	AX = 530Dh
	BX = device ID (see #00474)
	CX = function
	    0000h disable power management
	    0001h enable power management
Return: CF clear if successful
	CF set on error
	    AH = error code (01h,03h,09h,0Ah,0Bh) (see #00473)
Desc:	specify whether automatic power management should be active for a
	  given device
SeeAlso: AX=5308h,AX=530Fh

Top
15530E - INT 15 - Advanced Power Management v1.1+ - DRIVER VERSION
INT 15 - Advanced Power Management v1.1+ - DRIVER VERSION
	AX = 530Eh
	BX = device ID of system BIOS (0000h)
	CH = APM driver major version (BCD)
	CL = APM driver minor version (BCD) (02h for APM v1.2)
Return: CF clear if successful
	    AH = APM connection major version (BCD)
	    AL = APM connection minor version (BCD)
	CF set on error
	    AH = error code (03h,09h,0Bh) (see #00473)
SeeAlso: AX=5300h,AX=5303h

Top
15530F - INT 15 - Advanced Power Management v1.1+ - ENGAGE/DISENGAGE POWER MANAGEMENT
INT 15 - Advanced Power Management v1.1+ - ENGAGE/DISENGAGE POWER MANAGEMENT
	AX = 530Fh
	BX = device ID (see #00474)
	CX = function
	    0000h disengage power management
	    0001h engage power management
Return: CF clear if successful
	CF set on error
	    AH = error code (01h,09h) (see #00473)
Notes:	unlike AX=5308h, this call does not affect the functioning of the APM
	  BIOS
	when cooperative power management is disengaged, the APM BIOS performs
	  automatic power management of the system or device
SeeAlso: AX=5308h,AX=530Dh

Top
155310 - INT 15 - Advanced Power Management v1.2 - GET CAPABILITIES
INT 15 - Advanced Power Management v1.2 - GET CAPABILITIES
	AX = 5310h
	BX = device ID (see #00474)
	    0000h (APM BIOS)
	    other reserved
Return: CF clear if successful
	    BL = number of battery units supported (00h if no system batteries)
	    CX = capabilities flags (see #00480)
	CF set on error
	    AH = error code (01h,09h,86h) (see #00473)
Notes:	this function is supported via the INT 15, 16-bit protected mode, and
	  32-bit protected mode interfaces; it does not require that a
	  connection be established prior to use
	this function will return the capabilities currently in effect, not
	  any new settings which have been made but do not take effect until
	  a system restart
SeeAlso: AX=5300h,AX=530Fh,AX=5311h,AX=5312h,AX=5313h

Bitfields for APM v1.2 capabilities flags:
Bit(s)	Description	(Table 00480)
 15-8	reserved
 7	PCMCIA Ring Indicator will wake up system from suspend mode
 6	PCMCIA Ring Indicator will wake up system from standby mode
 5	Resume on Ring Indicator will wake up system from suspend mode
 4	Resume on Ring Indicator will wake up system from standby mode
 3	resume timer will wake up system from suspend mode
 2	resume timer will wake up system from standby mode
 1	can enter global suspend state
 0	can enter global standby state

Top
155311 - INT 15 - Advanced Power Management v1.2 - GET/SET/DISABLE RESUME TIMER
INT 15 - Advanced Power Management v1.2 - GET/SET/DISABLE RESUME TIMER
	AX = 5311h
	BX = device ID (see #00474)
	    0000h (APM BIOS)
	    other reserved
	CL = function
	    00h disable Resume Timer
	    01h get Resume Timer
	    02h set Resume Timer
		CH = resume time, seconds (BCD)
		DL = resume time, minutes (BCD)
		DH = resume time, hours (BCD)
		SI = resume date (BCD), high byte = month, low byte = day
		DI = resume date, year (BCD)
Return: CF clear if successful
	    ---if getting timer---
	    CH = resume time, seconds (BCD)
	    DL = resume time, minutes (BCD)
	    DH = resume time, hours (BCD)
	    SI = resume date (BCD), high byte = month, low byte = day
	    DI = resume date, year (BCD)
	CF set on error
	    AH = error code (03h,09h,0Ah,0Bh,0Ch,0Dh,86h) (see #00473)
Notes:	this function is supported via the INT 15, 16-bit protected mode, and
	  32-bit protected mode interfaces
SeeAlso: AX=5300h,AX=5310h,AX=5312h,AX=5313h

Top
155312 - INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE RESUME ON RING
INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE RESUME ON RING
	AX = 5312h
	BX = device ID (see #00474)
	    0000h (APM BIOS)
	    other reserved
	CL = function
	    00h disable Resume on Ring Indicator
	    01h enable Resume on Ring Indicator
	    02h get Resume on Ring Indicator status
Return: CF clear if successful
	    CX = resume status (0000h disabled, 0001h enabled)
	CF set on error
	    AH = error code (03h,09h,0Ah,0Bh,0Ch,86h) (see #00473)
Notes:	this function is supported via the INT 15, 16-bit protected mode, and
	  32-bit protected mode interfaces
SeeAlso: AX=5300h,AX=5310h,AX=5311h,AX=5313h

Top
155313 - INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE TIMER-BASED REQUESTS
INT 15 - Advanced Power Management v1.2 - ENABLE/DISABLE TIMER-BASED REQUESTS
	AX = 5313h
	BX = device ID (see #00474)
	    0000h (APM BIOS)
	    other reserved
	CL = function
	    00h disable timer-based requests
	    01h enable timer-based requests
	    02h get timer-based requests status
Return: CF clear if successful
	    CX = timer-based requests status (0000h disabled, 0001h enabled)
	CF set on error
	    AH = error code (03h,09h,0Ah,0Bh,86h) (see #00473)
Notes:	this function is supported via the INT 15, 16-bit protected mode, and
	  32-bit protected mode interfaces
	some BIOSes set AH on return even when successful
SeeAlso: AX=5300h,AX=5310h,AX=5311h,AX=5312h

Top
155380BH00 - INT 15 - APM SL Enhanced v1.0 - GET SUSPEND/GLOBAL STANDBY MODE
INT 15 - APM SL Enhanced v1.0 - GET SUSPEND/GLOBAL STANDBY MODE
	AX = 5380h
	BH = 00h
Return: CF clear if successful
	    AL = 82360SL Auto Power Off Timer High Count (APWR_TMRH)
	    BL = sustdbymode (see #00481)
SeeAlso: AX=5380h/BH=01h,AX=5380h/BH=02h,AX=5380h/BH=7Fh

Bitfields for APM SL sustdbymode:
Bit(s)	Description	(Table 00481)
 2	???
 1	Auto Power Off Timer Enable (APWR_TMR_EN)
 0	???

Top
155380BH01 - INT 15 - APM SL Enhanced v1.0 - SET SUSPEND/GLOBAL STANDBY MODE
INT 15 - APM SL Enhanced v1.0 - SET SUSPEND/GLOBAL STANDBY MODE
	AX = 5380h
	BH = 01h
	BL = sustdbymode (see #00481)
Return: CF clear if successful
SeeAlso: AX=5380h/BH=00h,AX=5380h/BH=7Fh

Top
155380BH02 - INT 15 - APM SL Enhanced v1.0 - GET GLOBAL STANDBY TIMER
INT 15 - APM SL Enhanced v1.0 - GET GLOBAL STANDBY TIMER
	AX = 5380h
	BH = 02h
Return: CF clear if successful
	SI:DI = timer count in seconds (actually 1.024 seconds)
Desc:	reads the value of 82360SL GSTDBY_TMRH & GSTDBY_TMRL registers
SeeAlso: AX=5380h/BH=00h,AX=5380h/BH=03h,AX=5380h/BH=04h,AX=5380h/BH=7Fh

Top
155380BH03 - INT 15 - APM SL Enhanced v1.0 - SET GLOBAL STANDBY TIMER
INT 15 - APM SL Enhanced v1.0 - SET GLOBAL STANDBY TIMER
	AX = 5380h
	BH = 03h
	SI:DI = timer count in seconds (actually 1.024 seconds)
Return: CF clear if successful
Desc:	sets the value of 82360SL GSTDBY_TMRH & GSTDBY_TMRL registers
Note:	the maximum timer count is 268431 seconds
SeeAlso: AX=5380h/BH=02h,AX=5380h/BH=7Fh

Top
155380BH04 - INT 15 - APM SL Enhanced v1.0 - GET AUTO POWER OFF TIMER
INT 15 - APM SL Enhanced v1.0 - GET AUTO POWER OFF TIMER
	AX = 5380h
	BH = 04h
Return: CF clear if successful
	SI:DI = timer count in seconds (actually 1.024 seconds)
Desc:	reads the value of 82360SL APWR_TMRH & APWR_TMRL registers
SeeAlso: AX=5380h/BH=02h,AX=5380h/BH=05h,AX=5380h/BH=06h,AX=5380h/BH=7Fh

Top
155380BH05 - INT 15 - APM SL Enhanced v1.0 - SET AUTO POWER OFF TIMER
INT 15 - APM SL Enhanced v1.0 - SET AUTO POWER OFF TIMER
	AX = 5380h
	BH = 05h
	SI:DI = timer count in seconds (actually 1.024 seconds)
Return: CF clear if successful
Desc:	sets the value of 82360SL APWR_TMRH & APWR_TMRL registers
Note:	the maximum timer count is 134213 seconds
SeeAlso: AX=5380h/BH=04h,AX=5380h/BH=7Fh

Top
155380BH06 - INT 15 - APM SL Enhanced v1.0 - GET RESUME CONDITION
INT 15 - APM SL Enhanced v1.0 - GET RESUME CONDITION
	AX = 5380h
	BH = 06h
Return: CF clear if successful
	    BL = resume condition (see #00482)
Desc:	reads the value of 82360SL RESUME_MASK register
SeeAlso: AX=5380h/BH=04h,AX=5380h/BH=07h,AX=5380h/BH=08h,AX=5380h/BH=7Fh

Bitfields for APM SL resume condition:
Bit(s)	Description	(Table 00482)
 7-2	reserved (0)
 1	alarm enabled (resume on CMOS alarm)
 0	ring enabled

Top
155380BH07 - INT 15 - APM SL Enhanced v1.0 - SET RESUME CONDITION
INT 15 - APM SL Enhanced v1.0 - SET RESUME CONDITION
	AX = 5380h
	BH = 07h
	BL = resume condition (see #00482)
Return: CF clear if successful
Desc:	sets the value of 82360SL RESUME_MASK register
SeeAlso: AX=5380h/BH=06h,AX=5380h/BH=7Fh

Top
155380BH08 - INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT TIME
INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT TIME
	AX = 5380h
	BH = 08h
Return: CF clear if successful
	    CH = hours
	    CL = minutes
	    SI = seconds
	CF set on error
	    AH = error code (see #00483)
Desc:	gets calendar event time from CMOS ram
SeeAlso: AX=5380h/BH=06h,AX=5380h/BH=09h,AX=5380h/BH=0Ah,AX=5380h/BH=7Fh

(Table 00483)
Values for APM SL error code:
 02h	no alarm set
 03h	no battery

Top
155380BH09 - INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT TIME
INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT TIME
	AX = 5380h
	BH = 09h
	CH = hours
	CL = minutes
	SI = seconds
Return: CF clear if successful
	CF set on error
	    AH = error code (see #00483)
Desc:	sets calendar event time in CMOS ram, enables Alarm resume
SeeAlso: AX=5380h/BH=08h,AX=5380h/BH=7Fh

Top
155380BH0A - INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT DATE
INT 15 - APM SL Enhanced v1.0 - GET CALENDAR EVENT DATE
	AX = 5380h
	BH = 0Ah
Return: CF clear if successful
	    SI = century
	    DI = year
	    CH = month
	    CL = day
	CF set on error
	    AH = error code (see #00483)
Desc:	reads calendar event date from Extended CMOS ram
SeeAlso: AX=5380h/BH=08h,AX=5380h/BH=0Bh,AX=5380h/BH=0Ch,AX=5380h/BH=7Fh

Top
155380BH0B - INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT DATE
INT 15 - APM SL Enhanced v1.0 - SET CALENDAR EVENT DATE
	AX = 5380h
	BH = 0Bh
	SI = century
	DI = year
	CH = month
	CL = day
Return: CF clear if successful
	CF set on error
	    AH = error code (see #00483)
Desc:	sets calendar event date in Extended CMOS ram
SeeAlso: AX=5380h/BH=0Ah,AX=5380h/BH=7Fh

Top
155380BH0C - INT 15 - APM SL Enhanced v1.0 - GET CPU SPEED MODE
INT 15 - APM SL Enhanced v1.0 - GET CPU SPEED MODE
	AX = 5380h
	BH = 0Ch
Return: CF clear if successful
	CL = CPU clock divider (1,2,4 or 8)
	BL = autocpumode ???
Desc:	reads bits 4-5 of CPUPWRMODE register
SeeAlso: AX=5380h/BH=0Ah,AX=5380h/BH=0Dh,AX=5380h/BH=7Fh

Top
155380BH0D - INT 15 - APM SL Enhanced v1.0 - SET CPU SPEED MODE
INT 15 - APM SL Enhanced v1.0 - SET CPU SPEED MODE
	AX = 5380h
	BH = 0Dh
	CL = CPU clock divider (1,2,4 or 8)
	BL = autocpumode ???
Return: CF clear if successful
Desc:	writes bits 4-5 of CPUPWRMODE register
SeeAlso: AX=5380h/BH=0Ch,AX=5380h/BH=7Eh,AX=5380h/BH=7Fh

Top
155380BH7E - INT 15 - APM SL Enhanced v1.0 - SL HW PARAMETER
INT 15 - APM SL Enhanced v1.0 - SL HW PARAMETER
	AX = 5380h
	BH = 7Eh
Return: AL = ???
	    03h on A-Step 386SL BIOSes
	    12h on later steps
	BX = Control port (00B0h)
SeeAlso: AX=5380h/BH=00h,AX=5380h/BH=7Fh

Top
155380BH7F - INT 15 - Advanced Power Management v1.1 - OEM APM INSTALLATION CHECK
INT 15 - Advanced Power Management v1.1 - OEM APM INSTALLATION CHECK
	AX = 5380h
	BH = 7Fh
Return: CF clear if successful
	    BX = OEM identifier
	    all other registers OEM-defined
	    ---Intel SL Enhanced Option BIOS---
	    BX = 534Ch ('SL')
	    CL = 4Fh ('O')
	    AL = version (10h = 1.0)
	    ---HP APM BIOS---
	    BX = 4850h ('HP')
	    CX = version (0001h)
	CF set on error
	    AH = error code (03h) (see #00473)
SeeAlso: AX=5380h/BH=00h

Top
155380 - INT 15 - Advanced Power Management v1.1 - OEM APM FUNCTIONS
INT 15 - Advanced Power Management v1.1 - OEM APM FUNCTIONS
	AX = 5380h
	BH <> 7Fh
	all other registers OEM-defined
Return: OEM-defined
SeeAlso: AX=5380h/BH=7Fh

Top
155380BX8000 - INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
	AX = 5380h
	BX = 8000h
	CX = 0020h
Return: ???
Note:	although a check for the indicated value is present in the examined
	  copy of the BIOS, no code was associated with it (possibly an OEM
	  option not included in that copy) and this function always returns
	  CF set/AH=03h if CX=0020h and CF set/AH=86h for CX<>0020h
SeeAlso: AX=5380h/BX=8001h

Top
155380BX8001 - INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
INT 15 U - Phoenix BIOS 4.0 Rel 6.0 - ???
	AX = 5380h
	BX = 8001h
	CX = 0020h
Return: ???
Note:	although a check for the indicated value is present in the examined
	  copy of the BIOS, no code was associated with it (possibly an OEM
	  option not included in that copy)
SeeAlso: AX=5380h/BX=8000h

Top
1553B0BH00 - INT 15 - Intel System Management Bus - RESERVED
INT 15 - Intel System Management Bus - RESERVED
	AX = 53B0h
	BH = 00h
Program: the SMBus is a variant of ACCESS.bus being used by Intel and Duracell
	  for the Smart Battery proposal, but designed to be generic enough to
	  handle other devices besides batteries

Top
1553B0BH01 - INT 15 - Intel System Management Bus - INSTALLATION CHECK
INT 15 - Intel System Management Bus - INSTALLATION CHECK
	AX = 53B0h
	BH = 01h
	BL = 72h ('r')
	CX = 6164h ('ad')
Return: CF clear if installed
	    AH = SMBus BIOS Interface Specification major version (01h)
	    AL = SMBus BIOS Interface Specification minor version (00h)
	    BL = number of SMBus devices present
	    CX = 6941h ('iA')
	    DX = vendor-specified SMBus hardware code
		0000h means undefined hardware type
	CF set if error
	    AH = Error code 0Ah, 86h (see #00484)
Note:	this function is only supported in INT 15h mode
SeeAlso: AX=53B0h/BH=02h,AX=53B0h/BH=03h,AX=53B0h/BH=04h,AX=53B0h/BH=06h
SeeAlso: #01105 at INT 1A/AX=B10Ah/SF=8086h

(Table 00484)
Values for Intel System Management Bus error codes:
 00h	SMBus OK
 01h	SMBus connect failed
 02h	SMBus already connected (see also #00485)
 03h	SMBus disconnect failed
 04h	SMBus not connected
 05h	SMBus INT 15 interface disabled
 06h	SMBus device address request out of range
 07h	SMBus unknown failure
 08h	SMBus message list empty
 09h	SMBus message list overflow
 0Ah	SMBus invalid signature
 10h	SMBus device address not acknowledged
 11h	SMBus device error detected
 12h	SMBus device command access denied
 13h	SMBus unknown error
 14h	SMBus transaction pending
 15h	SMBus no transaction pending
 16h	SMBus request does not match pending transaction
 17h	SMBus device access denied
 18h	SMBus timeout
 19h	SMBus protocol not supported
 1Ah	SMBus busy
 1Bh	SMBus SMI detected
 80h	SMBus OK (previously unreported SMI occurred)
 86h	SMBus not supported

(Table 00485)
Values for Intel System Management Bus Already Connected sub-error codes:
 01h	real mode connect already established
 02h	16-bit PMode connect already established
 03h	32-bit PMode connect already established
SeeAlso: #00484

Top
1553B0BH02 - INT 15 - Intel System Management Bus - REAL MODE CONNECT
INT 15 - Intel System Management Bus - REAL MODE CONNECT
	AX = 53B0h
	BH = 02h
	CX = 6941h ('iA')
Return: CF clear if successful
	    AX = SMBus Real mode code segment
	    BX = offset of entry point into SMBus BIOS Interface
	    CX = SMBus Real mode data segment
	CF set if error
	    AH = error code (01h,02h,0Ah,86h) (see #00484)
	    AL = sub-error code if error code is 02h (see #00485)
Desc:	connect to SMBus interface; once connected, all SMBus calls are made
	  to the supplied entry point instead of INT 15 (with registers
	  identical to those described here for INT 15)
Notes:	Support for this function is optional
	this function is only supported in INT 15 mode when implemented
SeeAlso: AX=53B0h/BH=01h,AX=53B0h/BH=03h,AX=53B0h/BH=04h,AX=53B0h/BH=05h

Top
1553B0BH03 - INT 15 - Intel System Management Bus - 16-BIT PROTECTED-MODE CONNECT
INT 15 - Intel System Management Bus - 16-BIT PROTECTED-MODE CONNECT
	AX = 53B0h
	BH = 03h
	CX = 6941h ('iA')
Return: CF clear if successful
	    AX = SMBus 16-bit code segment (real mode base address)
	    BX = offset of entry point into SMBus BIOS Interface
	    CX = SMBus 16-bit data segment (real mode base address)
	    SI = code segment length in bytes
	    DI = data segment length in bytes
	CF set if error
	    AH = error code (01h,02h,0Ah,86h) (see #00484)
	    AL = sub-error code if error code is 02h (see #00485)
Desc:	connect to SMBus interface; once connected, all SMBus calls are made
	  to the supplied entry point instead of INT 15 (with registers
	  identical to those described here for INT 15)
Notes:	before calling the entry point, two descriptors must be initialized
	  in the GDT or LDT.  They must be consecutive and be in the order of
	  code, then data.  At the time	of the call, the descriptors must be
	  valid and have CPL=0.
	the code descriptor must be ring-0 privilege
	this function is only supported in INT 15 mode
SeeAlso: AX=53B0h/BH=01h,AX=53B0h/BH=02h,AX=53B0h/BH=04h,AX=53B0h/BH=05h

Top
1553B0BH04 - INT 15 - Intel System Management Bus - 32-BIT PROTECTED-MODE CONNECT
INT 15 - Intel System Management Bus - 32-BIT PROTECTED-MODE CONNECT
	AX = 53B0h
	BH = 04h
	CX = 6941h ('iA')
Return: CF clear if successful
	    AX = SMBus 32-bit code segment (real mode base address)
	    EBX = offset of entry point into SMBus BIOS Interface
	    CX = SMBus 16-bit code segment (real mode base address)
	    DX = SMBus data segment (real mode base address)
	    SI = code segment length in bytes
	    DI = data segment length in bytes
	CF set if error
	    AH = error code (01h,02h,0Ah,86h) (see #00484)
	    AL = sub-error code if error code is 02h (see #00485)
Desc:	connect to SMBus interface; once connected, all SMBus calls are made
	  to the supplied entry point instead of INT 15 (with registers
	  identical to those described here for INT 15)
Notes:	before calling the entry point, two descriptors must be initialized in
	  the GDT or LDT.  They must be consecutive and be in the order of
	  32-bit code, 16-bit code, then data.	At the time of the call, the
	  descriptors must be valid and have CPL=0.
	the code descriptors must be ring-0 privilege
	this function is supported only in INT 15 mode
SeeAlso: AX=53B0h/BH=01h,AX=53B0h/BH=02h,AX=53B0h/BH=03h,AX=53B0h/BH=05h

Top
1553B0BH05 - INT 15 - Intel System Management Bus - DISCONNECT
INT 15 - Intel System Management Bus - DISCONNECT
	AX = 53B0h
	BH = 05h
	CX = 6941h ('iA')
Return: CF clear if successful
	    AH = 00h (SMBus OK)
	CF set if error
	    AH = error code (03h,04h,05h,0Ah,86h) (see #00484)
Note:	this function is supported in connected mode (far CALL entry point)
	  only
SeeAlso: AX=53B0h/BH=01h,AX=53B0h/BH=02h,AX=53B0h/BH=03h,AX=53B0h/BH=04h

Top
1553B0BH06 - INT 15 - Intel System Management Bus - GET DEVICE ADDRESSES
INT 15 - Intel System Management Bus - GET DEVICE ADDRESSES
	AX = 53B0h
	BH = 06h
	BL = position in list to report
	CH = 6941h ('iA')
Return: CF clear if successful
	    AH = 00h (SMBus OK)
	    BH = number of SMBus devices
	    BL = SMBus Device Address of device at position BL in list
		(see #00486)
	CF set if error
	    AH = error code (06h,0Ah,86h) (see #00484)
Desc:	retrieves already assigned SMBus device addresses
Notes:	this function is supported in INT 15h mode only
	bit 0 of the device address indicates read/write, so a device may
	  be listed at both xxxxxxx0b and xxxxxxx1b
SeeAlso: I2C A0h [and I2C.LST in general]

(Table 00486)
Values for System Management Bus predefined device addresses:
 10h	SMBus host
 12h	Smart Battery charger
 14h	Smart Battery selector
 16h	Smart Battery
 18h	SMBus Alert response
 50h	ACCESS.bus host
 58h	LCD contrast controller
 5Ah	CCFL backlight driver
 6Eh	ACCESS.bus default address
 80h-86h PCMCIA socket controllers
 88h	VGA graphics controller
 90h-96h unrestricted addresses
 82h	SMBus device default address

Top
1553B0BH07 - INT 15 - Intel System Management Bus - RETRIEVE CRITICAL MESSAGES
INT 15 - Intel System Management Bus - RETRIEVE CRITICAL MESSAGES
	AX = 53B0h
	BH = 07h
	CX = 6941h ('iA')
Return: CF clear if successful
	    AH = 00h (SMBus OK)
	    AL = device address
	    BX = device message
	CF set if error
	    AH = error code (05h,07h,08h,09h,0Ah,86h) (see #00484)
Desc:	retrieves oldest queued critical message from an SMBus device to the
	  host
Notes:	up to five messages are queued; if the queue is full, messages will be
	  lost and error 09h returned

Top
1553B0BH08 - INT 15 - Intel System Management Bus - RESERVED
INT 15 - Intel System Management Bus - RESERVED
	AX = 53B0h
	BH = 08h-0Fh

Top
1553B0BH10 - INT 15 - Intel System Management Bus - REQUEST
INT 15 - Intel System Management Bus - REQUEST
	AX = 53B0h
	BH = 10h
	BL = protocol (see #00487)
	CH = device address
	CL = device command (see #00488)
	DH = MSB Data or block length (for BlockWrite)
	DL = LSB Data or first byte of block (for BlockWrite)
Return: CF clear if successful
	    AH = 00h or 80h (SMBus OK)
		 (80h indicates a previously unreported SMI took place)
	CF set if error
	    AH = error code (05h,10h,11h,12h,13h,14h,17h,19h,1Ah,86h)
		  (see #00484)
Desc:	request access to a device on the SMBus
SeeAlso: AX=53B0h/BH=11h, AX=53B0h/BH=13h

(Table 00487)
Values for Intel System Management Bus protocol codes:
 00h	Quick Command
 01h	Send Byte
 02h	Receive Byte
 03h	Write Byte
 04h	Read Byte
 05h	Write Word
 06h	Read Word
 07h	Block Write
 08h	Block Read
 09h	Process Call
 0Ah-FFh reserved
SeeAlso: #00488

(Table 00488)
Values for Intel System Management Bus Smart Battery command codes:
 Cmd	Protocol(s)	Description
 00h	Rd/Wr Word	"ManufacturerAccess" implementation-specific
 01h	Rd/Wr Word	get/set Low Capacity Alarm threshold
 02h	Rd/Wr Word	get/set Remaining Time Alarm value (in minutes)
 03h	Rd/Wr Word	get/set battery characteristics (see #00489)
 04h	Rd/Wr Word	"AtRate" indicate charge/discharge rate
 05h	Read Word	"AtRateTimeToFull" time to completely charge (in min.)
 06h	Read Word	"AtRateTimeToEmpty" time to entirely discharge (min.)
 07h	Read Word	"AtRateOK" boolean: can battery supply another 10sec?
 08h	Read Word	internal battery temperature (in 0.1 Kelvins)
 09h	Read Word	current battery voltage in millivolts
 0Ah	Read Word	current flowing through battery in milliamperes
			(positive if charging, negative if discharging)
 0Bh	Read Word	average current over the past minute
 0Ch	Read Word	expected error margin in capacity computations in %
 0Dh	Read Word	predicted remaining charge as % of full charge
 0Eh	Read Word	predicted remaining charge as % of design capacity
 0Fh	Read Word	predicted remaining charge in mAh or 10mWh
 10h	Read Word	predicted full charge capacity in mAh or 10mWh
 11h	Read Word	predicted remaining battery life in minutes
			FFFFh = not discharging
 12h	Read Word	rolling average of predicted life over past minute
 13h	Read Word	rolling average of predicted charge time over past min.
			FFFFh = not charging
 14h	Read Word	get battery's desired charging current in mA
 14h	Write Word	set charging current in mA
 15h	Read Word	get battery's desired charging current in mV
 15h	Write Word	set desired charging voltage in mV
 16h	Read Word	get current battery status (see #00490)
 17h	Read Word	get number of charge/discharge cycles for battery
 18h	Read Word	get design capacity in mAh or 10mWh
 19h	Read Word	get design voltage
 1Ah	Read Word	get specification information (see #00491)
 1Bh	Read Word	get manufacture date (see #01665 at INT 21/AX=5700h)
 1Ch	Read Word	get serial number
 1Dh-1Fh		reserved
 20h	Read Block	get manufacturer's name
 21h	Read Block	get device name
 22h	Read Block	get device chemistry (see #00492)
 23h	Read Block	get manufacturer data
 24h-2Eh		reserved
 2Fh			manufacturer-specific
 30h-3Bh		reserved
 3Ch-3Fh		manufacturer-specific
Note:	bits 7-6 are reserved for addressing multiple batteries in a future
	  version of the specification
SeeAlso: #00487

Bitfields for Smart Battery battery characteristics:
Bit(s)	Description	(Table 00489)
 0	battery has internal charge controller (read-only)
 1	primary/secondary battery support (read-only)
 6-2	reserved
 7	conditioning cycle requested
 8	internal charge controller enabled
 9	battery operating in primary mode
 13-10	reserved
 14	disable broadcast to charger
 15	report capacity in units of 10mW / 10mWh instead of mA / mAh
SeeAlso: #00488,#00490

Bitfields for Smart Battery battery status:
Bit(s)	Description	(Table 00490)
 15	overcharged
 14	terminate-charge alarm
 13	reserved
 12	over-temperature alarm
 11	terminate-discharge alarm
 10	reserved
 9	remaining-capacity alarm
 8	remaining-time alarm
 7	initialized
 6	charging
 5	fully charged
 4	fully discharged
 3-0	error codes
	0000 OK
	0001 busy
	0010 reserved command
	0011 unsupported command
	0100 access denied (tried to write to read-only value)
	0101 overflow/underflow
	0110 bad size
	0111 unknown error
SeeAlso: #00488,#00489,#00491

Bitfields for Smart Battery specification information:
Bit(s)	Description	(Table 00491)
 3-0	SmartBattery specification minor revision number
 7-4	SmartBattery specification version number
 11-8	voltage scaling (0-3, multiply voltages by 10^scale)
 15-12	current scaling (0-3, multiply currents by 10^scale)
SeeAlso: #00488,#00490

(Table 00492)
Values for Smart Battery device chemistry (not case-sensitive):
 "LION"	Lithium ion
 "NiMH"	Nickel metal hydride
 "PbAc"	lead-acid
 "NiCd" Nickel Cadmium
 "NiZn" Nickel Zinc
 "RAM"	rechargeable Alkaline Manganese
 "ZnAr" Zinc-Air
SeeAlso: #00488

Top
1553B0BH11 - INT 15 - Intel System Management Bus - REQUEST CONTINUATION
INT 15 - Intel System Management Bus - REQUEST CONTINUATION
	AX = 53B0h
	BH = 11h
	BL = protocol (see #00487)
	CH = device address
	CL = number of valid bytes in DX (1 or 2)
	DH = MSB Data (CL = 1 or 2)
	DL = LSB Data (CL = 2)
Return: CF clear if successful
	    AH = 00h (SMBus OK)
	    CL = SMBus status
		00h SMBus hardware not ready for more data
		01h SMBus hardware ready for 2 more data bytes
	CF set if error
	    AH = error code (05h,11h,13h,15h,16h,18h,1Bh,86h) (see #00484)
Desc:	continue WriteBlock protocol started with function 10h
SeeAlso: AX=53B0h/BH=10h, AX=53B0h/BH=13h

Top
1553B0BH12 - INT 15 - Intel System Management Bus - REQUEST ABORT
INT 15 - Intel System Management Bus - REQUEST ABORT
	AX = 53B0h
	BH = 12h
	BL = protocol (see #00487)
	CH = device address
	CL = device command
Return: CF clear if successful
	    AH = 00h (SMBus OK)
	CF set if error
	    AH = error code (05h,13h,15h,16h,86h) (see #00484)
Desc:	stop the currently pending SMBus request; usually used to terminate
	  a request after an SMI Detected error

Top
1553B0BH13 - INT 15 - Intel System Management Bus - REQUEST DATA AND STATUS
INT 15 - Intel System Management Bus - REQUEST DATA AND STATUS
	AX = 53B0h
	BH = 13h
	BL = protocol (see #00487)
	CH = device address
	CL = device command
Return: CF clear if successful
	    AH = 00h (SMBus OK)
	    CH = status
		00h no data pending, transaction complete
		01h no data pending, transaction continues
		02h data pending
	    CL = number of valid bytes in DX (0-2)
	    DH = MSB data
	    DL = LSB data
	CF set if error
	    AH = error code (05h,10h,11h,13h,15h,16h,18h,1Bh,86h) (see #00484)
Desc:	determine when a transaction is complete, gather data returned by read
	  transactions
Note:	for Block Read protocol (08h), first call returns block	length in DH
	  and the first byte of the block in DL

Top
1554 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = 54h
SeeAlso: AH=07h"IBM",AH=3Eh"IBM"

Top
155400 - INT 15 C - Omniview Multitasker - INSTALLATION NOTIFICATION
INT 15 C - Omniview Multitasker - INSTALLATION NOTIFICATION
	AX = 5400h
	ES:BX -> device information tables
	DI:DX -> dispatcher entry point
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5407h,INT 2F/AX=DE00h

Top
155401 - INT 15 C - Omniview Multitasker - PROCESS CREATION
INT 15 C - Omniview Multitasker - PROCESS CREATION
	AX = 5401h
	ES:BX = process handle
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5402h,INT 2F/AX=DE04h

Top
155402 - INT 15 C - Omniview Multitasker - PROCESS DESTRUCTION
INT 15 C - Omniview Multitasker - PROCESS DESTRUCTION
	AX = 5402h
	ES:DX = process handle
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5401h,INT 2F/AX=DE05h

Top
155403 - INT 15 C - Omniview Multitasker - SAVE
INT 15 C - Omniview Multitasker - SAVE
	AX = 5403h
	ES:DX = process swapping out
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5404h,INT 2F/AX=DE08h

Top
155404 - INT 15 C - Omniview Multitasker - RESTORE
INT 15 C - Omniview Multitasker - RESTORE
	AX = 5404h
	ES:DX = process swapping in
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5403h,INT 2F/AX=DE09h

Top
155405 - INT 15 C - Omniview Multitasker - SWITCHING TO BACKGROUND
INT 15 C - Omniview Multitasker - SWITCHING TO BACKGROUND
	AX = 5405h
	ES:DX = process swapping in
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5406h

Top
155406 - INT 15 C - Omniview Multitasker - SWITCHING TO FOREGROUND
INT 15 C - Omniview Multitasker - SWITCHING TO FOREGROUND
	AX = 5406h
	ES:DX = process swapping in
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5405h

Top
155407 - INT 15 C - Omniview Multitasker - EXIT NOTIFICATION
INT 15 C - Omniview Multitasker - EXIT NOTIFICATION
	AX = 5407h
Note:	called by OmniView to notify programs loaded before OmniView of state
	  changes inside OmniView
SeeAlso: AX=5400h,INT 2F/AX=DE03h

Top
155F31 - INT 15 C - Chips & Technologies '65530' BIOS - POST INITIALIZATION NOTIFICATION
INT 15 C - Chips & Technologies '65530' BIOS - POST INITIALIZATION NOTIFICATION
	AX = 5F31h
Return:	nothing
Desc:	this function is called after the video BIOS completes power-up
	  initialization and just prior to displaying the sign-on message
SeeAlso: AX=5F33h,AX=5F35h,INT 10/AX=5F50h

Top
155F33 - INT 15 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
INT 15 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
	AX = 5F33h
	BL = current width in characters
	BH = curent video mode
	CH = active display page
Return:	nothing
Desc:	this function is called at the end of a video mode set
Note:	the OEM has the option of enabling or disabling this callout, as well
	  as specifying whether the callout occurs on INT 15h or INT 42h
SeeAlso: AX=5F31h,AX=5F35h,INT 10/AX=5F50h,INT 42/AX=5F33h

Top
155F35 - INT 15 C - Chips & Technologies '65530' BIOS - MONITOR SENSING HOOK
INT 15 C - Chips & Technologies '65530' BIOS - MONITOR SENSING HOOK
	AX = 5F35h
Return:	DL = boot display
	    00h CRT
	    01h flat panel (LCD)
	    02h both simultaneously
	    leave unchanged to boot according to BIOS settings
SeeAlso: AX=5F31h,AX=5F33h,INT 10/AX=5F50h

Top
1560 - INT 15 - HUNTER 16 - SET SYSTEM CLOCK SPEED
INT 15 - HUNTER 16 - SET SYSTEM CLOCK SPEED
	AH = 60h
	AL = new speed
	    00h normal (8 MHz)
	    01h Slow Mode 1 (4 MHz)
	    02h Slow Mode 2 (2 MHz)
Note:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
SeeAlso: AX=6301h

Top
156000 - INT 15 U - HP 100LX/200LX - GET MAIN BATTERY LEVEL
INT 15 U - HP 100LX/200LX - GET MAIN BATTERY LEVEL
	AX = 6000h
Return: AX = battery level
Note:	multiply the returned value with 1Bh and add 622h to get millivolts
SeeAlso: AX=6001h,AX=6002h,AX=6003h,AX=6004h

Top
156001 - INT 15 U - HP 100LX/200LX - GET BACKUP BATTERY LEVEL
INT 15 U - HP 100LX/200LX - GET BACKUP BATTERY LEVEL
	AX = 6001h
Return: AX = battery level
Note:	multiply the returned value with 1Bh and add 622h to get millivolts
SeeAlso: AX=6000h,AX=6002h

Top
156002 - INT 15 U - HP 100LX/200LX - GET POWER INFO
INT 15 U - HP 100LX/200LX - GET POWER INFO
	AX = 6002h
Return: AL = power settings (see #00493)
SeeAlso: AX=6000h,AX=6003h,AX=6004h

Bitfields for power settings:
Bit(s)	Description	(Table 00493)
 0-1	unused ???
 2	card battery status low (OK if bit clear)
 3	battery charging off (disabled if bits 3-5 clear)
 4	battery charging slow
 5	battery charging fast
 6	power adaptor active
 7	battery type NiCad (alkaline if bit clear)

Top
156003 - INT 15 U - HP 100LX/200LX - SET MAIN BATTERY TYPE
INT 15 U - HP 100LX/200LX - SET MAIN BATTERY TYPE
	AX = 6003h
	BL = battery type
	    00h alkaline
	    01h NiCad
SeeAlso: AX=6000h,AX=6004h

Top
156004 - INT 15 U - HP 100LX/200LX - SET BATTERY CHARGING MODE
INT 15 U - HP 100LX/200LX - SET BATTERY CHARGING MODE
	AX = 6004h
	BL = charging
	    00h disabled
	    01h enabled
SeeAlso: AX=6000h,AX=6003h

Top
1561 - INT 15 - HUNTER 16 - GET POWER LEVEL
INT 15 - HUNTER 16 - GET POWER LEVEL
	AH = 61h
Return: AH = percentage of full power left (0..100)
Desc:	determine how much battery power is left
SeeAlso: AH=62h,AH=66h,AH=73h"HUNTER"

Top
1561 - INT 15 U - HP 100LX/200LX - SET ANNOUNCIATORS POSITION
INT 15 U - HP 100LX/200LX - SET ANNOUNCIATORS POSITION
	AH = 61h
	AL = position (20h = left, 60h = right)
Note:	The announciators are the indicator symbols for the Shift and Fn keys
	  in the bottom line
SeeAlso: AH=62h"HP",INT 16/AH=02h

Top
1562 - INT 15 - HUNTER 16 - SET LOW POWER THRESHOLD
INT 15 - HUNTER 16 - SET LOW POWER THRESHOLD
	AH = 62h
	AL = level (00h 5%, 01h 10%, ... 12h 95%)
	BX = interval between power low warnings in seconds (1..600)
Return: AH = Status
Desc:	set the level (relative to full power) when power-low warnings begin
	  and the interval between the warnings
SeeAlso: AH=61h,AH=65h,AH=66h

Top
1562 - INT 15 U - HP 100LX/200LX - SET DISPLAY CONTRAST
INT 15 U - HP 100LX/200LX - SET DISPLAY CONTRAST
	AH = 62h
	BL = contrast (00h-1Fh, 1Fh is the darkest)
SeeAlso: AH=47h"HP",AH=61h"HP"

Top
156300 - INT 15 - HUNTER 16 - GET IDLE TIMEOUT
INT 15 - HUNTER 16 - GET IDLE TIMEOUT
	AX = 6300h
Return: AH = status
	BX = timeout in seconds (0-3600)
Desc:	get the idle timeout value, the interval without keyboard or
	   communications activity before the system shuts down
SeeAlso: AX=6301h

Top
156301 - INT 15 - HUNTER 16 - SET IDLE TIMEOUT
INT 15 - HUNTER 16 - SET IDLE TIMEOUT
	AX = 6301h
	BX = timeout in seconds (0-3600)
Desc:	sets the idle timeout value, the interval without keyboard or
	  communications activity before the system shuts down
SeeAlso: AX=6300h

Top
1564 - INT 15 - HUNTER 16 - CONTROL RESUME MODE
INT 15 - HUNTER 16 - CONTROL RESUME MODE
	AH = 64h
	AL = new state
	    00h disable Resume mode
	    01h enable Resume mode
Return: AH = status
Desc:	turn Resume mode on or off. In Resume mode the system starts in
	  the application that was running when it shut down as if nothing
	  had happened.
SeeAlso: AH=67h,AH=68h,AH=69h

Top
1565 - INT 15 - HUNTER 16 - AUTHORISE CHARGING
INT 15 - HUNTER 16 - AUTHORISE CHARGING
	AH = 65h
	AL = charging level
	    01h charging not allowed
	    02h charging allowed until power down
	    03h charging allowed until batteries changed or fail.
		Ask user if charging is still allowed on next poweron
	    04h charging allowed indefinitely
	BX = 0203h
	CX = 0405h
	DX = 0607h
Return: AH = status
SeeAlso: AH=66h,AH=68h

Top
1566 - INT 15 - HUNTER 16 - SET BATTERY LEVEL
INT 15 - HUNTER 16 - SET BATTERY LEVEL
	AH = 66h
	AL = level in percent of maximum (0..100)
Return: AH = status
SeeAlso: AH=61h,AH=65h

Top
1567 - INT 15 - HUNTER 16 - CONTROL STOP MODE
INT 15 - HUNTER 16 - CONTROL STOP MODE
	AH = 67h
	AL = mode when waiting for input
	    00h use STOP mode (allows communication)
	    01h use HALT mode (disallows communication)
Return: AH = status
Desc:	select the power save mode to use when waiting for input
SeeAlso: AH=69h

Top
156700BXFFFF - INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - INSTALLATION CHECK
INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - INSTALLATION CHECK
	AX = 6700h
	BX = FFFFh
Return: BX = FFFFh (Arabic/Hebrew MS-DOS not installed)
	BX = version (e.g. 0101h for Arabic/Hebrew MS-DOS 5.0)
Note:	This call is made by the SK_HGC.COM TSR for HGC and HGC/RAMFont
	  graphics adapters to ensure it runs on the correct version of
	  Arabic or Hebrew MS-DOS.
	The function is probably implemented in the ARABIC.COM/HEBREW.COM
	  driver.
	Arabic/Hebrew versions of MS-DOS 3.3 existed, but no details are
	  available.
SeeAlso: AX=67C3h,INT 2F/AX=AD41h

Top
- INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - HGC & HGC/RAMFont support???
INT 15h - Arabic/Hebrew MS-DOS 5.0???+ - HGC & HGC/RAMFont support???
	AX = 67C3h
	CX = 1Bh
	CS|DS???:SI -> buffer
Return: ES:DI -> ???
	AX = ???
Program: The SK_HGC.COM TSR is used to support operation of ARABIC.COM/
	  HEBREW.COM with the Hercules Graphic Card series of video adapters.
	  It is provided for compatibility with ADOS 3.30/HDOS 3.30 only.
	  This file must be loaded immediately after ARABIC.COM/HEBREW.COM
	  to insure correct operation with these devices.
Notes:	This call is made by the SK_HGC.COM TSR for HGC and HGC/RAMFont
	  graphics adapters when it has successfully detected an Arabic/Hebrew
	  issue of MS-DOS via INT15h/6700h/BX=FFFFh to ensure it runs on the
	  correct version of Arabic or Hebrew MS-DOS.
	At some unknown offset in the buffer it contains a flag indicating
	  if a HGC or HGC/RAMFont adapter is present or not.
	ARABIC/HEBREW does not operate with Monochrome Display Adapters (MDA)
	  and the Hercules Graphic Card Plus (HGC+). ARABIC/HEBREW does operate
	  with Hercules Graphic Card (HGC) with a burnt-in ROM/EPROM font (many
	  HGC cards, even the highly integrated ones, allow for this kind of
	  user customization), though this is not officially supported.
	In some pre-1987 IBM XT/AT and compatibles, the Hercules Graphic
	  Card Plus operates like a MDA card. This hardware limitation
	  prevents ARABIC/HEBREW from running on this combination of hardware.
SeeAlso: AX=6700h

Top
1568 - INT 15 - HUNTER 16 - REQUEST POWER DOWN
INT 15 - HUNTER 16 - REQUEST POWER DOWN
	AH = 68h
Desc:	turns off the Hunter 16 if power down is allowed (see AH=69h)
SeeAlso: AH=69h

Top
1569 - INT 15 - HUNTER 16 - CONTROL POWER DOWN AVAILABILITY
INT 15 - HUNTER 16 - CONTROL POWER DOWN AVAILABILITY
	AH = 69h
	AL = mode
	    00h inhibit power down
	    01h allow power down
Return: AH = status
SeeAlso: AH=67h,AH=68h,AH=6Ah

Top
156A - INT 15 - HUNTER 16 - CONTROL SLOW MODE
INT 15 - HUNTER 16 - CONTROL SLOW MODE
	AH = 6Ah
	AL = mode
	    00h inhibit Slow mode
	    01h allow Slow mode
Return: AH = status
SeeAlso: AH=69h

Top
156B - INT 15 - HUNTER 16 - GET ROM BIOS VERSION
INT 15 - HUNTER 16 - GET ROM BIOS VERSION
	AH = 6Bh
Return: BH = version number (ASCII)
	BL = release number (ASCII)
	CH = major??? release number (ASCII)
	CL = minor??? release number (ASCII)
SeeAlso: AH=6Ch

Top
156C - INT 15 - HUNTER 16 - GET SERIAL NUMBER
INT 15 - HUNTER 16 - GET SERIAL NUMBER
	AH = 6Ch
Return: BL:CX = BCD serial number
Note:	when shipped, all Hunter 16s have the same Serial Number, but a
	  different number can be stored (see AH=72h)
SeeAlso: AH=6Bh,AH=72h

Top
156D - INT 15 - HUNTER 16 - GET EVENT DETAIL
INT 15 - HUNTER 16 - GET EVENT DETAIL
	AH = 6Dh
Return: AH = 00h if successful
	CX:BX = event flags bit 0..31 (see #00494)
Note:	this function allows testing for events
SeeAlso: AH=6Eh,AH=6Fh

Bitfields for HUNTER 16 events:
Bit(s)	Description	(Table 00494)
 6	RI received
 5	RTC Alarm
 4	data received on COM2
 3	data received on COM1
 2	error on COM2
 1	error on COM1
 0	PWR button pressed

Top
156E - INT 15 - HUNTER 16 - ENABLE/TRAP EVENT
INT 15 - HUNTER 16 - ENABLE/TRAP EVENT
	AH = 6Eh
	AL = Software Interrupt
	      00h  do not trap event
	      else trap as software interrupt number AL
	BH = event number (see AH=6Dh)
	BL = enable mask
	    00h disable event
	    01h enable event
Return: AH = 00h if successful
SeeAlso: AH=6Dh,AH=6Fh

Top
156F - INT 15 - HUNTER 16 - ACKNOWLEDGE EVENT
INT 15 - HUNTER 16 - ACKNOWLEDGE EVENT
	AH = 6Fh
	AL = event number (see AH=6Dh)
Return: AH = 00h if successful
Desc:	Acknowledges the event, so the next similar event can be detected
SeeAlso: AH=6Dh"HUNTER",AH=6Eh

Top
1570 - INT 15 - HUNTER 16 - CONTROL SOUND
INT 15 - HUNTER 16 - CONTROL SOUND
	AH = 70h
	AL = new state
	    00h disable sound
	    else enable sound
Note:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.

Top
157000 - INT 15 - Tandy 1000SL/TL - READ FROM EEPROM
INT 15 - Tandy 1000SL/TL - READ FROM EEPROM
	AX = 7000h
	BL = number of word to read (00h-3Fh)
Return: CF clear if function supported
	    DX = contents of EEPROM word
Note:	newer Tandy 1000-series machines use EEPROM instead of CMOS RAM in
	  the clock chip to store system configuration information
SeeAlso: AX=7001h

Top
157001 - INT 15 - Tandy 1000SL/TL - WRITE TO EEPROM
INT 15 - Tandy 1000SL/TL - WRITE TO EEPROM
	AX = 7001h
	BL = number of word to read (00h-3Fh)
	DX = new value for EEPROM word
Return: CF clear if function supported
Note:	the EEPROMs are normally written only by the system setup program;
	  changing the values can badly mess up a Tandy
SeeAlso: AX=7000h

Top
157002 - INT 15 U - Tandy 1000 Model ??? - GET ROM PAGE
INT 15 U - Tandy 1000 Model ??? - GET ROM PAGE
	AX = 7002h
Return: AL = ROM page mapped at 0E0000h (0-6 (13?))
Note:	some Tandy machines have DOS and DeskMate in a 512k paged ROM.	The
	  BIOS uses this call to determine what ROM page is mapped in the 64k
	  segment at 0E0000h.
	the 1000TL has 8 64k ROM pages; page 7 is permanently mapped at
	  0F0000h.  There may be 16 32k ROM pages on other systems.
SeeAlso: AX=7003h,INT E0"DeskMate"

Top
157003 - INT 15 U - Tandy 1000 Model ??? - SET ROM PAGE
INT 15 U - Tandy 1000 Model ??? - SET ROM PAGE
	AX = 7003h
	DL = ROM page to be mapped at 0E0000h (0-6 (13?))
Return: CF clear if valid ROM page specified
Note:	Some Tandy machines have DOS and DeskMate in a 512k paged ROM.	The
	  BIOS uses this call to map ROM pages in the 64k segment at 0E0000h.
	The 1000TL has 8 64k ROM pages; page 7 is permanently mapped at
	  0F0000h.  There may be 16 32k ROM pages on other systems.
SeeAlso: AX=7002h,INT E0"DeskMate"

Top
1571 - INT 15 - HUNTER 16 - SELECT POWER UP KEYS
INT 15 - HUNTER 16 - SELECT POWER UP KEYS
	AH = 71h
	BL = column
	BH = row
	AL = column switch (00h disable, 01h enable)
	CL = row switch (00h disable, 01h enable)
Return: AH = status
SeeAlso: AH=7Bh,AH=88h

Top
157200 - INT 15 - HUNTER 16 - RESET SERIAL NUMBER
INT 15 - HUNTER 16 - RESET SERIAL NUMBER
	AX = 7200h
Return: AH = 00h if successful
Desc:	reset the serial number to the default serial number present when the
	  Hunter 16 was shipped
SeeAlso: AH=6Ch,AH=72h

Top
1572 - INT 15 - HUNTER 16 - REDIRECT SERIAL NUMBER
INT 15 - HUNTER 16 - REDIRECT SERIAL NUMBER
	AH = 72h
	AL nonzero
	DS:BX -> new serial number (6 ASCII digits)
Return: AH = 00h if successful
Desc:	install a new serial number
SeeAlso: AH=6Ch,AX=7200h

Top
1573 - INT 15 - HUNTER 16 - GET ORACLE GT POWER LEVEL
INT 15 - HUNTER 16 - GET ORACLE GT POWER LEVEL
	AH = 73h
	AL = drive (0: A:, 1: B:)
Return: AH = status
	    00h successful
	    FFh Oracle GT drive not connected
	AL = power level in percent of maximum (0..100)
Desc:	get the power remaining in the Oracle GT batteries
SeeAlso: AH=61h

Top
1574 - INT 15 - HUNTER 16 - SET BACKLIGHT POWER UP STATE
INT 15 - HUNTER 16 - SET BACKLIGHT POWER UP STATE
	AH = 74h
	AL = new level
	    01h off
	    02h unchanged
	    03h change level
		BL = desired level (00h-7Fh)
Return: AH = status
Desc:	select the backlight level to use when the Hunter is next turned on
SeeAlso: AH=64h,AH=75h,INT 10/AH=64h,INT 10/AH=78h

Top
1575 - INT 15 - HUNTER 16 - SET CONTRAST POWER UP STATE
INT 15 - HUNTER 16 - SET CONTRAST POWER UP STATE
	AH = 75h
	AL = new level
	    01h off
	    02h unchanged
	    03h change level
		BL = desired level (00h-7Fh)
Return: AH = status
Desc:	select the LCD contrast level to use when the Hunter is next turned on
SeeAlso: AH=63h,AH=74h

Top
1576 - INT 15 - HUNTER 16 - CONTROL POWER SAVE
INT 15 - HUNTER 16 - CONTROL POWER SAVE
	AH = 76h
	BX = power save control (see #00495)
SeeAlso: AH=74h

Bitfields for HUNTER 16 power save control:
Bit(s)	Description	(Table 00495)
 0	power save enabled
 1	inhibit power save when waiting for COM1 data
 2	inhibit power save when waiting for COM2 data
 3	inhibit power save when waiting for data from barcode wand
 4	inhibit power up on timer tick

Top
1579 - INT 15 - HUNTER 16 - REDIRECT LPT1
INT 15 - HUNTER 16 - REDIRECT LPT1
	AH = 79h
	AL = port to which to redirect (00h COM1, 01h COM2)

Top
157A - INT 15 - HUNTER 16 - INVOKE HOT KEY
INT 15 - HUNTER 16 - INVOKE HOT KEY
	AH = 7Ah
Desc:	this function has the same effect as pressing the HOT key
SeeAlso: AH=7Bh

Top
157B - INT 15 - HUNTER 16 - CONTROL HOT KEY
INT 15 - HUNTER 16 - CONTROL HOT KEY
	AH = 7Bh
	AL = 00h prevent HOT key
	    else allow HOT key
Desc:	Allow or prevent the HOT key function which is used to examine and
	  change the Hunter setup
SeeAlso: AH=71h,AH=7Ah,AH=7Ch

Top
157C - INT 15 - HUNTER 16 - CONTROL HOT KEY POWER OPTION
INT 15 - HUNTER 16 - CONTROL HOT KEY POWER OPTION
	AH = 7Ch
	AL = 00h prevent HOT key power option
	    else allow HOT key power option
Desc:	allow or prevent changing the power options
SeeAlso: AH=7Bh,AH=7Dh

Top
157D - INT 15 - HUNTER 16 - OVERRIDE LOW POWER TURN OFF
INT 15 - HUNTER 16 - OVERRIDE LOW POWER TURN OFF
	AH = 7Dh
	AL = 00h turn off after 10 warnings
	    else never turn off
Desc:	specify whether the Hunter 16 turns off after 10 low power warnings
SeeAlso: AH=7Ch

Top
157E - INT 15 - HUNTER 16 - CONTROL BATTERY CHANGE FACILITIES (APM)
INT 15 - HUNTER 16 - CONTROL BATTERY CHANGE FACILITIES (APM)
	AH = 7Eh
	AL = 00h do not prompt
	    else prompt
Desc:	select whether the user is prompted for the battery state if the
	  battery cap has been off when the system is turned on
SeeAlso: AH=7Fh

Top
157F - INT 15 - HUNTER 16 - SET BATTERY TYPE (APM)
INT 15 - HUNTER 16 - SET BATTERY TYPE (APM)
	AH = 7Fh
	AL = battery type
	    00h	 non-rechargeable
	    else rechargeable
SeeAlso: AH=7Eh

Top
1580 - INT 15 C - OS HOOK - DEVICE OPEN (AT,XT286,PS)
INT 15 C - OS HOOK - DEVICE OPEN (AT,XT286,PS)
	AH = 80h
	BX = device ID
	CX = process ID
	CF clear
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status (see #00496)
Note:	this function should be hooked by a multitasker which wishes to keep
	  track of device ownership; the default BIOS handler merely returns
	  successfully
SeeAlso: AH=81h,AH=82h

(Table 00496)
Values for status:
 80h	invalid command (PC,PCjr)
 86h	function not supported (XT)

Top
1580 - INT 15 - HUNTER 16 - GET/SET BATTERY CAPACITY (APM)
INT 15 - HUNTER 16 - GET/SET BATTERY CAPACITY (APM)
	AH = 80h
	AL = function
	    00h get
		Return: AL = capacity (500mA + AL * 50mA, max 40 = 2500mA)
	    else set
		BL = battery capacity (same as AL above)
SeeAlso: AH=61h"HUNTER",AH=81h"HUNTER"

Top
1581 - INT 15 C - OS HOOK - DEVICE CLOSE
INT 15 C - OS HOOK - DEVICE CLOSE
	AH = 81h
	BX = device ID
	CX = process ID
	CF clear
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status (see #00496)
Note:	this function should be hooked by a multitasker which wishes to keep
	  track of device ownership; the default BIOS handler merely returns
	  successfully
SeeAlso: AH=80h,AH=82h

Top
1581 - INT 15 - HUNTER 16 - CONTROL POWER OUTPUT
INT 15 - HUNTER 16 - CONTROL POWER OUTPUT
	AH = 81h
	AL = new state of power output (00h off, nonzero on)
Desc:	turn the +5V low power output on or off
SeeAlso: AH=80h"HUNTER"

Top
1582 - INT 15 C - OS HOOK - PROGRAM TERMINATION
INT 15 C - OS HOOK - PROGRAM TERMINATION
	AH = 82h
	BX = process ID
	CF clear
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status (see #00496)
Notes:	closes all devices opened by the given process ID with function 80h
	this function should be hooked by a multitasker which wishes to keep
	  track of device ownership; the default BIOS handler merely returns
	  successfully
SeeAlso: AH=80h,AH=81h

Top
1582 - INT 15 - HUNTER 16 - SOUND OUTPUT
INT 15 - HUNTER 16 - SOUND OUTPUT
	AH = 82h
	DX = length (duration in seconds = DX * 666670 / frequency)
	BX = pitch (see #00497)
Desc:	Sound the tone specified in BX for the duration in DX
SeeAlso: AX=1019h

(Table 00497)
Values for HUNTER 16 sound pitch:
BX(dec)	 Note	Frequency	BX(dec)	 Note	Frequency
  425	G	1568.000	 1515	A	 440.000
  451	F#	1479.503	 1605	G#	 415.307
  477	F	1396.900	 1701	G	 392.000
  506	E	1318.500	 1802	F#	 369.998
  536	D#	1244.523	 1909	F	 349.230
  568	D	1174.700	 2022	E	 329.630
  601	C#	1108.749	 2143	D#	 311.127
  637	C	1046.500	 2270	D	 293.660
  675	B	 958.770	 2405	C#	 277.183
  715	A#	 932.329	 2548	MID C	 261.630
  758	A	 880.000	 2700	B	 246.940
  803	G#	 830.609	 2860	A#	 233.081
  850	G	 783.990	 3030	A	 220.000
  901	F#	 739.990	 3210	G#	 207.654
  954	F	 698.460	 3401	G	 196.000
 1011	E	 659.260	 3604	F#	 184.996
 1071	D#	 622.257	 3818	F	 174.610
 1135	D	 587.330	 4045	E	 164.810
 1203	C#	 554.365	 4286	D#	 155.560
 1274	C	 523.250	 4540	D	 146.830
 1350	B	 493.880	 4668	C#	 142.827
 1430	A#	 466.162	 4803	C	 138.810

Top
1583 - INT 15 - BIOS - SET EVENT WAIT INTERVAL (AT,PS50+)
INT 15 - BIOS - SET EVENT WAIT INTERVAL (AT,PS50+)
	AH = 83h
	AL = subfunction
	    00h set interval
		CX:DX = microseconds to delay
		ES:BX -> byte whose high bit is to be set at end of interval
	    01h cancel wait interval
Return: CF set on error or function already busy
	    AH = status
		80h invalid command (PC,PCjr)
		86h function not supported (XT and later)
	CF clear if successful
Notes:	the resolution of the wait period is 977 microseconds on many systems
	  because many BIOSes use the 1/1024 second fast interrupt from the AT
	  real-time clock chip which is available on INT 70
	IBM AT 1984/1/10 BIOS ignores AL and always performs subfunction 00h
SeeAlso: AH=41h,AH=86h,INT 70,MEM 0040h:0098h,MEM 0040h:009Ch

Top
1583 - INT 15 - HUNTER 16 - CONTROL SCREEN SYNCHRONISATION
INT 15 - HUNTER 16 - CONTROL SCREEN SYNCHRONISATION
	AH = 83h
	AL = state of LCD window (00h disabled, nonzero enabled)
Desc:	Enable/disable the facility where the displayed window tracks the
	  cursor output to keep the focus visible

Top
1584 - INT 15 - BIOS - JOYSTICK SUPPORT (XT after 1982/11/8,AT,XT286,PS)
INT 15 - BIOS - JOYSTICK SUPPORT (XT after 1982/11/8,AT,XT286,PS)
	AH = 84h
	DX = subfunction
	    0000h read joystick switches
		Return: AL bits 7-4 = switch settings
	    0001h read positions of joysticks
		Return: AX = X position of joystick A
			BX = Y position of joystick A
			CX = X position of joystick B
			DX = Y position of joystick B
Return: CF set on error
	    AH = status (see #00496)
	CF clear if successful
Notes:	if no game port is installed, subfunction 0000h returns AL=00h (all
	  switches open) and subfunction 0001h returns AX=BX=CX=DX=0000h
	a 250kOhm joystick typically returns 0000h-01A0h
SeeAlso: AH=84h"V20-XT-BIOS"

Top
1584 - INT 15 - V20-XT-BIOS - JOYSTICK SUPPORT
INT 15 - V20-XT-BIOS - JOYSTICK SUPPORT
	AH = 84h
	DX = subfunction
	    0000h read joystick switches
		Return: AL bits 7-4 = switch settings
	    other: read positions of joysticks as indicated by bits 0-3
		Return: AX = X position of joystick A (if DX bit 0 set)
			BX = Y position of joystick A (if DX bit 1 set)
			CX = X position of joystick B (if DX bit 2 set)
			DX = Y position of joystick B (if DX bit 3 set)
Return: CF set on error
	    AH = status (see #00496)
	CF clear if successful
Program: V20-XT-BIOS is a ROM BIOS replacement with extensions by Peter
	   Koehlmann / c't magazine
SeeAlso: AH=84h"PS",INT 10/AH=0Eh/CX=ABCDh

Top
1584--DX0002 - INT 15 - AMIGATSR - INSTALLATION CHECK
INT 15 - AMIGATSR - INSTALLATION CHECK
	AH = 84h
	DX = 0002h
Return: AX = 1234h if installed
Program: AMIGATSR is a serial-port driver for using an Amiga gamepad on a PC
SeeAlso: AH=84h/DX=0002h"MULTIJOY"

Top
1584--DX0002 - INT 15 - MULTIJOY - INSTALLATION CHECK
INT 15 - MULTIJOY - INSTALLATION CHECK
	AH = 84h
	DX = 0002h
Return: AX = 4321h if installed
SeeAlso: AH=84h/DX=0002h"AMIGATSR",AH=84h/DX=0003h"MULTIJOY"

Top
1584--DX0003 - INT 15 - MULTIJOY - GET ACTIVE JOYSTICK
INT 15 - MULTIJOY - GET ACTIVE JOYSTICK
	AH = 84h
	DX = 0003h
Return: AX = number of the currently-active joystick device
	BX = device classification (see #04098)
SeeAlso: AH=84h/DX=0002h"MULTIJOY"
 !!! more info to follow

Bitfields for MULTIJOY device classification:
Bit(s)	Description	(Table 04098)
 15	device connected and ready
 14	no buttons (overrides bits 12-9)
 13	no axes (overrides bits 8-5)
 12-9	number of buttons, less one
 8-5	number of axes, less one
 4	digital device rather than analog
 3-0	device type
	0000 keyboard emulating joystick
	0001 gamepad
	0010 joystick
	0011 steering wheel
	0100 flight yoke
	0101 mouse emulating joystick
	0110 trackball emulating joystick
	0111 GlidePoint (touchpad) emulating joystick
	1000 touchscreen emulating joystick
	1001 steering wheel
	1010 light pen emulating joystick
	1011 speech recognition emulating joystick
	1100 TV remote emulating joystick
	1101 network/Internet remote control
	1110 PC software-controlled (demo mode, etc.)
	1111 other device

Top
1584--DX0004 - INT 15 - MULTIJOY - SELECT JOYSTICK
INT 15 - MULTIJOY - SELECT JOYSTICK
	AH = 84h
	DX = 0004h
	BX = number of the joystick device to make active
Return: ???
SeeAlso: AH=84h/DX=0003h"MULTIJOY"

Top
158400 - INT 15 - HUNTER 16 - GET DISKETTE PORT
INT 15 - HUNTER 16 - GET DISKETTE PORT
	AX = 8400h
	BH = Drive (0: A:, 1: B:)
Return: AL = Port (0: COM1, >0: COM2)
Desc:	return the COM port used for the floppy drive
SeeAlso: AX=8401h

Top
158401 - INT 15 - HUNTER 16 - SET DISKETTE PORT
INT 15 - HUNTER 16 - SET DISKETTE PORT
	AX = 8401h
	BH = Drive (0: A:, 1: B:)
	BL = Port (0: COM1, >0: COM2)
Desc:	set the COM port used for the floppy drive
SeeAlso: AX=8400h

Top
1585 - INT 15 C - OS HOOK - SysReq KEY ACTIVITY (AT,PS)
INT 15 C - OS HOOK - SysReq KEY ACTIVITY (AT,PS)
	AH = 85h
	AL = SysReq key action (00h pressed, 01h released)
	CF clear
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status (see #00496)
Notes:	called by keyboard decode routine
	the default handler simply returns successfully; programs which wish
	  to monitor the SysReq key must hook this call
	the SysReq key is often labeled SysRq
SeeAlso: INT 09

Top
158500 - INT 15 - HUNTER 16 - RESTORE POWER MENU (APM)
INT 15 - HUNTER 16 - RESTORE POWER MENU (APM)
	AX = 8500h
Desc:	restore the standard power menu
SeeAlso: AX=8501h"HUNTER"

Top
158501 - INT 15 - HUNTER 16 - SET POWER MENU (APM)
INT 15 - HUNTER 16 - SET POWER MENU (APM)
	AX = 8501h
	BL = user software interrupt number
Desc:	install an alternate power menu routine
SeeAlso: AX=8500h"HUNTER"

Top
1586 - INT 15 - BIOS - WAIT (AT,PS)
INT 15 - BIOS - WAIT (AT,PS)
	AH = 86h
	CX:DX = interval in microseconds
Return: CF clear if successful (wait interval elapsed)
	CF set on error or AH=83h wait already in progress
	    AH = status (see #00496)
Note:	the resolution of the wait period is 977 microseconds on many systems
	  because many BIOSes use the 1/1024 second fast interrupt from the AT
	  real-time clock chip which is available on INT 70; because newer
	  BIOSes may have much more precise timers available, it is not
	  possible to use this function accurately for very short delays unless
	  the precise behavior of the BIOS is known (or found through testing)
SeeAlso: AH=41h,AH=83h,INT 1A/AX=FF01h,INT 70

Top
1586 - INT 15 - HUNTER 16 - GET/SET SCREEN ATTRIBUTE TABLE
INT 15 - HUNTER 16 - GET/SET SCREEN ATTRIBUTE TABLE
	AH = 86h
	AL = function (00h get, nonzero set)
	BX = 1234h
	DS:SI -> 256-byte Attribute buffer
Note:	In text modes each character has its attribute byte XOR'd with the
	  corresponding byte in the attribute table.  If the attribute is 15,
	  15 is XOR'd with Table[15]

Top
1587 - INT 15 - SYSTEM - COPY EXTENDED MEMORY
INT 15 - SYSTEM - COPY EXTENDED MEMORY
	AH = 87h
	CX = number of words to copy (max 8000h)
	ES:SI -> global descriptor table (see #00499)
Return: CF set on error
	CF clear if successful
	AH = status (see #00498)
Notes:	copy is done in protected mode with interrupts disabled by the default
	  BIOS handler; many 386 memory managers perform the copy with
	  interrupts enabled
	on the PS/2 30-286 & "Tortuga" this function does not use the port 92h
	  for A20 control, but instead uses the keyboard controller (8042).
	  Reportedly this may cause the system to crash when access to the
	  8042 is disabled in password server mode (see also PORT 0064h,#P0398)
	this function is incompatible with the OS/2 compatibility box
SeeAlso: AH=88h,AH=89h,INT 1F/AH=90h

(Table 00498)
Values for extended-memory copy status:
 00h	source copied into destination
 01h	parity error
 02h	interrupt error
 03h	address line 20 gating failed
 80h	invalid command (PC,PCjr)
 86h	unsupported function (XT,PS30)

Format of global descriptor table:
Offset	Size	Description	(Table 00499)
 00h 16 BYTEs	zeros (used by BIOS)
 10h	WORD	source segment length in bytes (2*CX-1 or greater)
 12h  3 BYTEs	24-bit linear source address, low byte first
 15h	BYTE	source segment access rights (93h)
 16h	WORD	(286) zero
		(386+) extended access rights and high byte of source address
 18h	WORD	destination segment length in bytes (2*CX-1 or greater)
 1Ah  3 BYTEs	24-bit linear destination address, low byte first
 1Dh	BYTE	destination segment access rights (93h)
 1Eh	WORD	(286) zero
		(386+) extended access rights and high byte of destin. address
 20h 16 BYTEs	zeros (used by BIOS to build CS and SS descriptors)

Top
1587 - INT 15 - HUNTER 16 - SET INT 72h VECTOR
INT 15 - HUNTER 16 - SET INT 72h VECTOR
	AH = 87h
	DS:DX = new service routine
Desc:	set the INT 72h vector which is called in 2 cases:
	  - when the machine is about to turn off or reboot, INT 72h is called
	    with AH=0
	  - when the machine is powering up INT 72h is called with AH=01h
Note:	the actual INT 72h vector must also be changed with INT 21/AH=25h

Top
1588 - INT 15 - SYSTEM - GET EXTENDED MEMORY SIZE (286+)
INT 15 - SYSTEM - GET EXTENDED MEMORY SIZE (286+)
	AH = 88h
Return: CF clear if successful
	    AX = number of contiguous KB starting at absolute address 100000h
	CF set on error
	    AH = status
		80h invalid command (PC,PCjr)
		86h unsupported function (XT,PS30)
Notes:	TSRs which wish to allocate extended memory to themselves often hook
	  this call, and return a reduced memory size.	They are then free to
	  use the memory between the new and old sizes at will.
	the standard BIOS only returns memory between 1MB and 16MB; use AH=C7h
	  for memory beyond 16MB
	not all BIOSes correctly return the carry flag, making this call
	  unreliable unless one first checks whether it is supported through
	  a mechanism other than calling the function and testing CF
	Due to applications not dealing with more than 24-bit descriptors
	  (286), Windows 3.0 has problems when this function reports more
	  than 15 MB. Some releases of HIMEM.SYS are therefore limited to use
	  only 15 MB, even when this function reports more.
SeeAlso: AH=87h,AH=8Ah"Phoenix",AH=C7h,AX=DA88h,AX=E801h,AX=E820h

Top
1588 - INT 15 - HUNTER 16 - GET POWER UP KEYS
INT 15 - HUNTER 16 - GET POWER UP KEYS
	AH = 88h
Return: AH = 00h
	BX = column
	CL = row
SeeAlso: AH=71h

Top
1589 - INT 15 - SYSTEM - SWITCH TO PROTECTED MODE
INT 15 - SYSTEM - SWITCH TO PROTECTED MODE
	AH = 89h
	BL = interrupt number of IRQ0 (IRQ1-7 use next 7 interrupts)
	BH = interrupt number of IRQ8 (IRQ9-F use next 7 interrupts)
	ES:SI -> GDT for protected mode (see #00500)
Return: CF set on error
	   AH = FFh  error enabling address line 20
	CF clear if successful
	   AH = 00h
	   in protected mode at specified address
	   BP may be destroyed; all segment registers change
Notes:	BL and BH must be multiples of 8
	the protected-mode CS must reference the same memory as the CS this
	  function is called from because execution continues with the address
	  following the interrupt call
SeeAlso: AH=87h,AH=88h,INT 67/AX=DE0Ch

Format of BIOS switch-to-protected-mode Global Descriptor Table:
Offset	Size	Description	(Table 00500)
 00h  8 BYTEs	null descriptor (initialize to zeros)
 08h  8 BYTEs	GDT descriptor (see #00501)
 10h  8 BYTEs	IDT descriptor
 18h  8 BYTEs	DS descriptor
 20h  8 BYTEs	ES
 28h  8 BYTEs	SS
 30h  8 BYTEs	CS
 38h  8 BYTEs	uninitialized, used to build descriptor for BIOS CS

Format of segment descriptor table entry:
Offset	Size	Description	(Table 00501)
 00h	WORD	segment limit, low word
 02h  3 BYTEs	segment base address, low 24 bits
 05h	BYTE	access mode (see #00502)
 06h	BYTE	386+ extended access mode (see #00505)
 07h	BYTE	386+ segment base address, high 8 bits
SeeAlso: #00500,INT 2C/AX=0002h,INT 31/AX=0009h

Bitfields for segment descriptor table access mode field:
Bit(s)	Description	(Table 00502)
 3-0	segment type (see #00503,#00504)
 4	descriptor type (1 = application, 0 = system)
 6-5	descriptor privilege level
 7	segment is present in RAM
SeeAlso: #00501,#00505

(Table 00503)
Values for system segment descriptor type:
 0	reserved
 1	available 16-bit TSS
 2	LDT
 3	busy 16-bit TSS
 4	16-bit call gate
 5	task gate
 6	16-bit interrupt gate
 7	16-bit trap gate
 8	reserved
 9	available 32-bit TSS
 10	reserved
 11	busy 32-bit TSS
 12	32-bit call gate
 13	reserved
 14	32-bit interrupt gate
 15	32-bit trap gate
SeeAlso: #00502,#00504

Bitfields for application segment descriptor type:
Bit(s)	Description	(Table 00504)
 3	code/data
	0 date
	1 code
---data segments---
 2	expand down
 1	writeable
---code segments---
 2	conforming
 1	readable
------
 0	accessed
SeeAlso: #00502,#00503

Bitfields for 386+ segment descriptor table extended access mode field:
Bit(s)	Description	(Table 00505)
 3-0	high 4 bits of segment limit
 4	available
 5	reserved (0)
 6	default operation size (1 = 32 bits, 0 = 16 bits)
 7	granularity (1 = 4K, 0 = byte)
SeeAlso: #00501,#00502,#02557

Top
158900 - INT 15 - HUNTER 16 - GET POWER MODE
INT 15 - HUNTER 16 - GET POWER MODE
	AX = 8900h
Return: AH = 00h
	BL = current power mode
	    00h Standard Power Mode (SPM)
	    01h Advanced Power Mode (APM)
SeeAlso: AX=8901h

Top
158901 - INT 15 - HUNTER 16 - SET POWER MODE
INT 15 - HUNTER 16 - SET POWER MODE
	AX = 8901h
	BL = new mode
	    00h Standard Power Mode (SPM)
	    01h Advanced Power Mode (APM)
Return: AH = 00h
SeeAlso: AX=8900h

Top
158A - INT 15 - HUNTER 16 - CONTROL POWER INPUT (SPM)
INT 15 - HUNTER 16 - CONTROL POWER INPUT (SPM)
	AH = 8Ah
	AL = new state of Power Input (00h disabled, nonzero enabled)
	SI = 1234h
	DI = 5678h
Return: AH = status
	    00h success
	    FFh failure
Desc:	Enable or disable Power Input. When Power Input is disabled the AC
	  adapter will neither charge the batteries nor supply power to the
	  Hunter 16. Disable Power Input if using Alkaline batteries.

Top
158A - INT 15 - Phoenix BIOS v4.0 - GET BIG MEMORY SIZE
INT 15 - Phoenix BIOS v4.0 - GET BIG MEMORY SIZE
	AH = 8Ah
Return: DX:AX = extended memory size in K
SeeAlso: AH=88h,AX=E801h,AX=E820h

Top
158B - INT 15 - HUNTER 16 - GET/SET CHARGER TEMPERATURE OVERRIDE
INT 15 - HUNTER 16 - GET/SET CHARGER TEMPERATURE OVERRIDE
	AH = 8Bh
	AL = function
	    00h get
		Return:	BH = Maximum charging temperature
				Temp = -20 + (n * 0.63) degrees Centigrade
			BL = Minimum charging temperature
	    else set
		BH = maximum charging temperature (as above)
		BL = minimum charging temperature (as above)
Return: AH = status
	    00h success
	    FFh failure
Desc:	get/set the temperature interval within which the charger should
	  operate

Top
158C - INT 15 - HUNTER 16 - GET/SET POWER SAVE ENTRY FLAG
INT 15 - HUNTER 16 - GET/SET POWER SAVE ENTRY FLAG
	AH = 8Ch
	AL = function
	    00h get
		Return: BX = which operations disable power save (see #00506)
	    else set
		BX = which operations should disable power save (see #00506)
SeeAlso: AH=8Dh

Bitfields for HUNTER 16 operations disabling power save:
Bit(s)	Description	(Table 00506)
 0	INT 10h prevents power save
 1	INT 13h prevents power save
 2	INT 14h prevents power save
 3	INT 15h prevents power save
 4	INT 1Ah prevents power save
 5	INT 21h prevents power save
 6	direct write to video RAM prevents power save
 7	access to 8250 UART prevents power save
 8	access to 8253 (Sound) prevents power save

Top
158D - INT 15 - HUNTER 16 - GET/SET BOOST CHARGE (SPM)
INT 15 - HUNTER 16 - GET/SET BOOST CHARGE (SPM)
	AH = 8Dh
	AL = function
	    00h get
		Return: AL = Fast Charge state (00h prevented, else allowed)
	    nonzero set
		BH = Fast Charge state (00h prevent, nonzero allow)
Return: AH = status
	    00h success
	    FFh failure
Desc:	control whether Fast Charging (200ma rather than 70ma) is allowed
SeeAlso: AH=8Ch

Top
1590 - INT 15 - OS HOOK - DEVICE BUSY (AT,PS)
INT 15 - OS HOOK - DEVICE BUSY (AT,PS)
	AH = 90h
	AL = device type (see #00507)
	ES:BX -> request block for type codes 80h through BFh
	CF clear
Return: CF set if wait time satisfied
	CF clear if driver must perform wait
	    AH = 00h
Notes:	type codes are allocated as follows:
	  00-7F non-reentrant devices; OS must arbitrate access
	  80-BF reentrant devices; ES:BX points to a unique control block
	  C0-FF wait-only calls, no complementary INT 15/AH=91h call
	floppy and hard disk BIOS code uses this call to implement a timeout;
	  for device types 00h and 01h, a return of CF set means that the
	  timeout expired before the disk responded.
	this function should be hooked by a multitasker to allow other tasks
	  to execute while the BIOS is waiting for I/O completion; the default
	  handler merely returns with AH=00h and CF clear
SeeAlso: AH=91h,INT 13/AH=00h,INT 17/AH=00h,INT 1A/AH=83h

(Table 00507)
Values for device type:
 00h	disk
 01h	diskette
 02h	keyboard
 03h	PS/2 pointing device
 21h	waiting for keyboard input (Phoenix BIOS)
 80h	network
 FBh	digital sound (Tandy)
 FCh	disk reset (PS)
 FDh	diskette motor start
 FEh	printer

Top
1591 - INT 15 - OS HOOK - DEVICE POST (AT,PS)
INT 15 - OS HOOK - DEVICE POST (AT,PS)
	AH = 91h
	AL = device type (see #00507)
	ES:BX -> request block for type codes 80h through BFh
	CF clear
Return: AH = 00h
Note:	this function should be hooked by a multitasker to allow other tasks
	  to execute while the BIOS is waiting for I/O completion; the default
	  handler merely returns with AH=00h and CF clear
SeeAlso: AH=90h

Top
1592 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = 92h
SeeAlso: AH=07h"IBM",AH=3Eh"IBM"

Top
15A0 - INT 15 - IBM SurePath BIOS - ACCESS LOADABLE-ABIOS SIGNATURE
INT 15 - IBM SurePath BIOS - ACCESS LOADABLE-ABIOS SIGNATURE
	AH = A0h
	AL = function
	    00h get loadable-ABIOS signature
		Return: BL = signature value
			    00h loadable-ABIOS prompting not required
			    A1h loadable-ABIOS prompting is required
	    01h write loadable-ABIOS signature
		BL = new signature value
		    00h loadable-ABIOS prompting not required
		    A1h loadable-ABIOS prompting is required
Return: CF clear if successful
	CF set on error
	AH = status
	    00h successful
	    01h invalid subfunction
	    02h unable to read/write signature
	    86h function not supported
Note:	IBM classifies this function as optional
SeeAlso: AH=08h"IBM"

Top
15A100 - INT 15 U - AMI PCI BIOS - SET ??? FLAG
INT 15 U - AMI PCI BIOS - SET ??? FLAG
	AX = A100h
Return: AX = 0000h
	CF clear
	BX,CX,DI may be destroyed
Desc:	sets bit 7 of CMOS RAM location 37h and updates the CMOS checksum in
	  locations 3Eh and 3Fh
Notes:	in the examined version of the BIOS, nonzero values in AL cause it to
	  drop through to checking the next possible value of AH, i.e. only
	  subfunction 00h is supported
	also supported by Dell XPS P90 and IBM PS/PV 6384, which also use
	  AMI BIOSes

Top
15AB - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = ABh
SeeAlso: AH=07h"IBM",AH=3Eh"IBM"

Top
15B001CX5354 - INT 15 - Stac STACKER - INSTALLATION CHECK
INT 15 - Stac STACKER - INSTALLATION CHECK
	AX = B001h
	CX = 5354h ('ST')
	DX = 4143h ('AC')
Return: AX = 4F4Bh ('OK') if installed
Note:	this function is encapsulated in Stac's STACKER.LIB C library; it is
	  called by Novell DOS 7+ NWCACHE v1.01, which makes use of this
	  library

Top
15BA10 - INT 15 - HP OmniShare - Pen Driver - REPORT PEN CONTROL AREA EVENT
INT 15 - HP OmniShare - Pen Driver - REPORT PEN CONTROL AREA EVENT
	AX = BA10h
	BL = event
	   00h the pen left control areas
	   01h the pen entered the Brightness- area
	   02h the pen entered the Brightness+ area
	   03h the pen entered the Contrast- area
	   04h the pen entered the Contrast+ area
Return: CF clear if successfully processed
	CF set on error (function not supported, ie. not an OmniShare BIOS)
Note:	The pen driver is responsible for detecting when the pen enters and
	  leaves control areas of the OmniShare tablet, and notifying the BIOS.
	The BIOS manages the events, including the autorepetition, and sets
	  the status LEDs.
SeeAlso: AX=BA20h,AX=BA13h

Top
15BA11 - INT 15 - HP OmniShare - Pen Driver - SET THE COMMUNICATION LED STATE
INT 15 - HP OmniShare - Pen Driver - SET THE COMMUNICATION LED STATE
	AX = BA11h
	BL = new LED state (00h steady, 01h flashing)
Return: CF clear if successful
	CF set on error
Note:	this function is for use by communication software to give visual
	  feedback of active communications even if the display is in standby
	  mode.
SeeAlso: AX=BA10h,AX=BA24h

Top
15BA12 - INT 15 - HP OmniShare - Pen Driver - STORE PEN BATTERY CHARGE
INT 15 - HP OmniShare - Pen Driver - STORE PEN BATTERY CHARGE
	AX = BA12h
	BL = new battery state (00h good, 01h low charge)
Return: CF set on error
	CF clear if successfully stored in CMOS
Note:	The last report will be displayed by the Power-On Self Test the next
	  time the OmniShare boots.  This allows something meaningful to be
	  reported even if the pen is not detected during the POST.
SeeAlso: AX=BA13h

Top
15BA13 - INT 15 - HP OmniShare - Pen Driver - GET PEN BATTERY CHARGE
INT 15 - HP OmniShare - Pen Driver - GET PEN BATTERY CHARGE
	AX = BA13h
Return: CF clear if successful
	    BL = pen battery state (00h good, 01h low charge)
	CF set on error
Note:	returns the last value set by AX=BA12h.
SeeAlso: AX=BA12h

Top
15BA20 - INT 15 - HP OmniShare - STANDBY.COM - INSTALLATION CHECK
INT 15 - HP OmniShare - STANDBY.COM - INSTALLATION CHECK
	AX = BA20h
Return: CF clear if successful (installed)
	CF set on error (not installed)
Notes:	The display controller can enter a standby mode after a given timeout,
	  to conserve power or (for the OmniShare) to increase the life of
	  the backlight.
	A side effect of standby mode is that the communications LED turns on
	  automatically when the display is in standby mode.  This is done in
	  hardware, and is intended to show that the unit is still on.
SeeAlso: AX=BA10h,AX=BA20h,AX=BA22h,AX=BA24h,AX=BA26h

Top
15BA21 - INT 15 - HP OmniShare - STANDBY.COM - SET STANDBY DURATION
INT 15 - HP OmniShare - STANDBY.COM - SET STANDBY DURATION
	AX = BA21h
	BL = new timeout before standby mode in minutes (01h-0Fh)
	    00h to disable automatic switch to standby mode
Return: CF clear if successful
	CF set on error (function not supported)
Note:	The actual timeout with a GD6205 controller is ((N*64)-32) seconds,
	  instead of (N*60) seconds as documented.
SeeAlso: AX=BA20h,AX=BA22h

Top
15BA22 - INT 15 - HP OmniShare - STANDBY.COM - GET STANDBY DURATION
INT 15 - HP OmniShare - STANDBY.COM - GET STANDBY DURATION
	AX = BA22h
Return: CF clear if successful
	   BL = standy duration in minutes (01h-0Fh), or 00h if disabled
	CF set on error (function not supported)
Note:	The actual timeout with a GD6205 controller is ((N*64)-32) seconds,
	  instead of (N*60) seconds as documented.
SeeAlso: AX=BA20h,AX=BA21h

Top
15BA23 - INT 15 - HP OmniShare - STANDBY.COM - TURN ON THE SCREEN IMMEDIATELY
INT 15 - HP OmniShare - STANDBY.COM - TURN ON THE SCREEN IMMEDIATELY
	AX = BA23h
Return: CF clear if successful
	CF set on error
SeeAlso: AX=BA11h,AX=BA20h,AX=BA24h

Top
15BA24 - INT 15 - HP OmniShare - STANDBY.COM - TURN OFF THE SCREEN IMMEDIATELY
INT 15 - HP OmniShare - STANDBY.COM - TURN OFF THE SCREEN IMMEDIATELY
	AX = BA24h
Return: CF clear if successful
	CF set on error
Note:	This function is not implemented yet. Reserved for future versions
	  of the OmniShare.
SeeAlso: AX=BA11h,AX=BA20h,AX=BA23h

Top
15BA25 - INT 15 - HP OmniShare - STANDBY.COM - PREPARE FOR UNINSTALL
INT 15 - HP OmniShare - STANDBY.COM - PREPARE FOR UNINSTALL
	AX = BA25h
Return: CF clear if successful
	    AX = 25BAh
	    BX = PSP of STANDBY.COM resident portion
	    DX:CX -> previous INT 15 handler
	CF set on error
Note:	This function is used internally by the STANDBY.COM /u option, and
	  should not be used by application programs.
SeeAlso: AX=BA20h

Top
15BA26 - INT 15 - HP OmniShare - STANDBY.COM - IS THE DISPLAY IN STANDBY MODE?
INT 15 - HP OmniShare - STANDBY.COM - IS THE DISPLAY IN STANDBY MODE?
	AX = BA26h
Return: CF clear if successful
	    AL	= display state (00h active, 01h in standby mode)
	CF set on error (function not supported)
SeeAlso: AX=BA20h,AX=BA23h

Top
15BA27 - INT 15 - HP OmniShare - STANDBY.COM - RESERVED FUNCTIONS
INT 15 - HP OmniShare - STANDBY.COM - RESERVED FUNCTIONS
	AX = BA27h to BA2Fh
Desc:	reserved for future use

Top
15BC - INT 15 - Phoenix 386 BIOS - DETERMINE CPU SPEED FOR DELAY LOOPS
INT 15 - Phoenix 386 BIOS - DETERMINE CPU SPEED FOR DELAY LOOPS
	AH = BCh
Return: CF clear
	(Phoenix 1.10 10a) BYTE 0040h:00B0h set to delay loop count
	(Dell 4xxDE BIOS A11) WORD 0040h:00ECh set to delay loop count
Note:	this function reads system timer channel 0 twice, then does
	  calculations on the returned values to determine the delay loop
	  counter needed by the BIOS for beeps and floppy timeouts
SeeAlso: AX=2305h,MEM 0040h:00B0h

Top
15BF00 - INT 15 - Rational Systems DOS/16M - ???
INT 15 - Rational Systems DOS/16M - ???
	AX = BF00h
	???
Return: ???
Note:	under DESQview/X 1.02 DVDOS4GX.DVR, this call is identical to AX=BF02h
SeeAlso: AX=BF02h

Top
15BF01 - INT 15 - Rational Systems DOS/16M - ???
INT 15 - Rational Systems DOS/16M - ???
	AX = BF01h
	???
Return: ???
Notes:	under DESQview/X 1.02 DVDOS4GX.DVR, this call is identical to AX=BF02h
	called by DOS/4GW
SeeAlso: AX=BF00h,AX=BF02h

Top
15BF02DX0000 - INT 15 - Rational Systems DOS/16M - INSTALLATION CHECK
INT 15 - Rational Systems DOS/16M - INSTALLATION CHECK
	AX = BF02h
	DX = 0000h
Return: DX = nonzero if installed
	    DX:SI -> XBRK structure (see #00508)
Note:	this function is also supported by DOS/4G
SeeAlso: AX=BF01h,AX=BFDCh,AX=BFDEh/BX=0000h
SeeAlso: INT 21/AH=FFh/DH=0Eh,INT 2F/AH=A1h,INT 2F/AX=F100h,INT 2F/AX=FBA1h

Format of DOS/16M XBRK structure:
Offset	Size	Description	(Table 00508)
 00h	DWORD	linear address of first available byte
 04h	DWORD	linear address of last available byte + 1 ???
 08h	DWORD	real-mode address of XBRK structure???
 0Ch	DWORD	???
 10h  2 BYTEs	???
 12h	WORD	segment of ???
 14h  8 BYTEs	???
 1Ch 512 BYTEs	protected-mode IDT
21Ch  N BYTEs	protected-mode GDT

Top
15BF03 - INT 15 - Rational Systems DOS/4GW - UNINSTALL???
INT 15 - Rational Systems DOS/4GW - UNINSTALL???
	AX = BF03h
	BX = PSP segment of extender
	???
Return: ???
Note:	if BX is not the PSP segment of the extender, it passes the call down
	  the INT 15 chain; this allows nested instances of the extender
SeeAlso: AX=BF06h

Top
15BF04 - INT 15 - Rational Systems DOS/4GW - ???
INT 15 - Rational Systems DOS/4GW - ???
	AX = BF04h
	BX = PSP segment of extender
Return: nothing???
Notes:	if BX is not the PSP segment of the extender, it passes the call down
	  the INT 15 chain; this allows nested instances of the extender
	grabs INT 2Fh and installs handlers for INT 2F/AX=1605h-1607h
SeeAlso: INT 2F/AX=1607h/BX=22C0h

Top
15BF05 - INT 15 - Rational Systems DOS/4GW - INITIALIZE PROTECTED-MODE INTERFACE
INT 15 - Rational Systems DOS/4GW - INITIALIZE PROTECTED-MODE INTERFACE
	AX = BF05h
	BX = PSP segment of extender
Return: nothing???
Notes:	if BX is not the PSP segment of the extender, it passes the call down
	  the INT 15 chain; this allows nested instances of the extender
	calls INT 67/AX=DE01h if ???

Top
15BF06 - INT 15 - Rational Systems DOS/4GW - ???
INT 15 - Rational Systems DOS/4GW - ???
	AX = BF06h
	BX = PSP segment of extender
	???
Return: ???
Note:	if BX is not the PSP segment of the extender, it passes the call down
	  the INT 15 chain; this allows nested instances of the extender
SeeAlso: AX=BF03h

Top
15BFDCDX0000 - INT 15 - Rational Systems DOS/4GW - INSTALLATION CHECK
INT 15 - Rational Systems DOS/4GW - INSTALLATION CHECK
	AX = BFDCh
	DX = 0000h
	SI = 0000h
Return: DX = nonzero if installed
	    DX:SI -> XBRK structure (see #00508)
SeeAlso: AX=BF02h

Top
15BFDEBX0000 - INT 15 - DESQview/X - DVDOS4GX.DVR - INSTALLATION CHECK
INT 15 - DESQview/X - DVDOS4GX.DVR - INSTALLATION CHECK
	AX = BFDEh
	BX = 0000h
Return: AX = ??? (0003h)
	BX = FFFFh
SeeAlso: AX=BF02h

Top
15BFDEBX0001 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROCESS MANAGER NAME
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROCESS MANAGER NAME
	AX = BFDEh
	BX = 0001h
Return: BX = 0000h (success)
	CX:DX -> name of process manager executable
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX0002 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
	AX = BFDEh
	BX = 0002h
	CX:DX -> ???
Return: BX = 0000h (success)
SeeAlso: AX=BFDEh/BX=0000h,AX=BFDEh/BX=0003h

Top
15BFDEBX0003 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
	AX = BFDEh
	BX = 0003h
Return: BX = 0000h (success)
	CX:DX -> ???
SeeAlso: AX=BFDEh/BX=0000h,AX=BFDEh/BX=0002h

Top
15BFDEBX0004 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
	AX = BFDEh
	BX = 0004h
	CL = ???
Return: BX = 0000h (success)
	CX:DX -> XBRK structure (see #00508)
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX0005 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
	AX = BFDEh
	BX = 0005h
	CX = new value for ???
Return: BX = 0000h (success)
	AX = old value of ???
	DS:SI -> ??? (if AX nonzero on return)
	ES:DI -> ??? (if AX zero on return)
Note:	called by DOS4GW.EXE
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX0006 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
	AX = BFDEh
	BX = 0006h
Return: BX = 0000h (success)
	AH = interrupt number??? (BEh)
	CX:DX = ???
SeeAlso: AX=BFDEh/BX=0000h,AX=BFDEh/BX=0007h,INT BE"DESQview"

Top
15BFDEBX0007 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
	AX = BFDEh
	BX = 0007h
	CX:DX = ???
Return: BX = 0000h (success)
SeeAlso: AX=BFDEh/BX=0000h,AX=BFDEh/BX=0006h

Top
15BFDEBX0008 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
	AX = BFDEh
	BX = 0008h
	CX = segment of ???
	DS = ???
Return: BX = status
	    0000h successful
		AL = ??? (80h or C0h)
		DX = ??? (0603h) if AL=C0h
	    0001h failed
		AX = 0000h
Note:	called by DOS4GW.EXE
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX0009 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROTECTED MODE PROGRAM LOADER
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET PROTECTED MODE PROGRAM LOADER
	AX = BFDEh
	BX = 0009h
Return: BX = 0000h (success)
	CX:DX -> full pathname to LOAD32.EXP
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX000A - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - DECREMENT ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - DECREMENT ???
	AX = BFDEh
	BX = 000Ah
Return: BX = 0000h (success)
	AX = new value of ??? counter
Notes:	also resets a variety of values if the counter goes negative
	called by DOS4GW.EXE
SeeAlso: AX=BFDEh/BX=0000h,AX=BFDEh/BX=000Bh

Top
15BFDEBX000B - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - INCREMENT ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - INCREMENT ???
	AX = BFDEh
	BX = 000Bh
Return: AX = new value of ??? counter
Note:	called by DOS4GW.EXE
SeeAlso: AX=BFDEh/BX=0000h,AX=BFDEh/BX=000Ah

Top
15BFDEBX000C - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
	AX = BFDEh
	BX = 000Ch
	CL = ???
	    00h
	    nonzero
Return: ???
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX000D - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
	AX = BFDEh
	BX = 000Dh
	???
Return: ???
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX000E - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
	AX = BFDEh
	BX = 000Eh
	DX:CX -> ???
Return: AX = segment of handle for calling task
	BX = ??? (probably destroyed)
	DX:CX -> ???
SeeAlso: AX=BFDEh/BX=0000h,AX=BFDEh/BX=000Fh,AX=BFDEh/BX=0013h

Top
15BFDEBX000F - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - ???
	AX = BFDEh
	BX = 000Fh
Return: AX = segment of handle for calling task
	BX = ??? (probably destroyed)
	DX:CX -> ???
Note:	identical to AX=BFDEh/BX=000Eh with CX:DX = 0000h:0000h
SeeAlso: AX=BFDEh/BX=000Eh,AX=BFDEh/BX=0010h

Top
15BFDEBX0010 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET TASK HANDLE
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET TASK HANDLE
	AX = BFDEh
	BX = 0010h
Return: AX = segment of caller's task handle
	BX destroyed
SeeAlso: AX=BFDEh/BX=000Fh

Top
15BFDEBX0011 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
	AX = BFDEh
	BX = 0011h
Return: CX = code segment of DVDOS4GX.DVR
	BX = ??? (0004h)
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX0012 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
	AX = BFDEh
	BX = 0012h
Return: DX = code segment of DVDOS4GX.DVR
	BX = ??? (012Ch)
	CX = ??? (0006h)
SeeAlso: AX=BFDEh/BX=0000h

Top
15BFDEBX0013 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
	AX = BFDEh
	BX = 0013h
Return: DX:CX -> ???
SeeAlso: AX=BFDEh/BX=000Eh

Top
15BFDEBX0014 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - LOCK ??? MAILBOX
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - LOCK ??? MAILBOX
	AX = BFDEh
	BX = 0014h
	CX = index of ??? mailbox
		(0000h-0004h valid, but no range checking done)
Return: AX,BX destroyed
SeeAlso: AX=BFDEh/BX=0015h,AX=BFDEh/BX=0017h

Top
15BFDEBX0015 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - UNLOCK ??? MAILBOX
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - UNLOCK ??? MAILBOX
	AX = BFDEh
	BX = 0015h
	CX = index of ??? mailbox
		(0000h-0004h valid, but no range checking done)
Return: AX,BX destroyed
SeeAlso: AX=BFDEh/BX=0014h,AX=BFDEh/BX=0016h

Top
15BFDEBX0016 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - CHECK IF ??? MAILBOX OWNED
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - CHECK IF ??? MAILBOX OWNED
	AX = BFDEh
	BX = 0016h
	CX = index of ??? mailbox
		(0000h-0004h valid, but no range checking done)
Return: AX = status
	    0000h no one owns mailbox
	    0001h mailbox has an owner
	BX destroyed
SeeAlso: AX=BFDEh/BX=0015h,AX=BFDEh/BX=0017h

Top
15BFDEBX0017 - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ??? MAILBOX OWNER
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ??? MAILBOX OWNER
	AX = BFDEh
	BX = 0017h
	CX = index of ??? mailbox
		(0000h-0004h valid, but no range checking done)
Return: AX = segment of mailbox owner's handle
	BX = segment of caller's task handle
SeeAlso: AX=BFDEh/BX=0015h,AX=BFDEh/BX=0016h

Top
15BFDEBXFFFD - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - GET ???
	AX = BFDEh
	BX = FFFDh
Return: CX:DX = ???
SeeAlso: AX=BFDEh/BX=FFFEh

Top
15BFDEBXFFFE - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - SET ???
	AX = BFDEh
	BX = FFFEh
	CX:DX = ???
SeeAlso: AX=BFDEh/BX=FFFDh

Top
15BFDEBXFFFF - INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - NOP
INT 15 - DESQview/X 1.02+ - DVDOS4GX.DVR - NOP
	AX = BFDEh
	BX = FFFFh
SeeAlso: AX=BFDEh/BX=0000h

Top
15C0 - INT 15 - SYSTEM - GET CONFIGURATION (XT >1986/1/10,AT mdl 3x9,CONV,XT286,PS)
INT 15 - SYSTEM - GET CONFIGURATION (XT >1986/1/10,AT mdl 3x9,CONV,XT286,PS)
	AH = C0h
Return: CF set if BIOS doesn't support call
	CF clear on success
	    ES:BX -> ROM table (see #00509)
	AH = status
	    00h successful
		The PC XT (since 1986/01/10), PC AT (since 1985/06/10), the
		  PC XT Model 286, the PC Convertible and most PS/2 machines
		  will clear the CF flag and return the table in ES:BX.
	    80h unsupported function
		The PC and PCjr return AH=80h/CF set
	    86h unsupported function
		The PC XT (1982/11/08), PC Portable, PC AT (1984/01/10),
		or PS/2 prior to Model 30 return AH=86h/CF set
Notes:	the 1986/1/10 XT BIOS returns an incorrect value for the feature byte
	the configuration table is at F000h:E6F5h in 100% compatible BIOSes
	Dell machines contain the signature "DELL" or "Dell" at absolute FE076h
	  and a model byte at absolute address FE845h (see #00516)
	Hewlett-Packard machines contain the signature "HP" at F000h:00F8h and
	  a product identifier at F000h:00FAh (see #00519)
	Compaq machines can be identified by the signature string "COMPAQ" at
	  F000h:FFEAh, and is preceded by additional information (see #00517)
	Tandy 1000 machines contain 21h in the byte at F000h:C000h and FFh in
	  the byte at FFFFh:000Eh; Tandy 1000SL/TL machines only provide the
	  first three data bytes (model/submodel/revision) in the returned
	  table
	the ID at F000h:C000h is used by some Microsoft software before
	  trusting the floppy flags bits 1 and 0 at 0040h:00B5h.
	the Wang PC contains the signature "WANG" at FC00h:0000h. This is used
	  by Peter Reilley's portable binary editor and viewer BEAV to detect
	  a Wang PC.
	Toshiba laptops contain the signature "TOSHIBA" at FE010h as part of
	  a laptop information record at F000h:E000h (see #00520)
	some AST machines contain the string "COPYRIGHT AST RESEARCH" one byte
	  past the end of the configuration table
	the Phoenix 386 BIOS contains a second version and date string
	  (presumably the last modification for that OEM version) beginning at
	  F000h:FFD8h, with each byte doubled (so that both ROM chips contain
	  the complete information)
SeeAlso: AH=C7h,AH=C9h,AX=D100h,AX=D103h

Format of ROM configuration table:
Offset	Size	Description	(Table 00509)
 00h	WORD	number of bytes following
 02h	BYTE	model (see #00515)
 03h	BYTE	submodel (see #00515)
 04h	BYTE	BIOS revision: 0 for first release, 1 for 2nd, etc.
 05h	BYTE	feature byte 1 (see #00510)
 06h	BYTE	feature byte 2 (see #00511)
 07h	BYTE	feature byte 3 (see #00512)
 08h	BYTE	feature byte 4 (see #00513)
 09h	BYTE	feature byte 5 (see #00514)
		??? (08h) (Phoenix 386 v1.10)
		??? (0Fh) (Phoenix 486 v1.03 PCI)
---AWARD BIOS---
 0Ah  N BYTEs	AWARD copyright notice
---Phoenix BIOS---
 0Ah	BYTE	??? (00h)
 0Bh	BYTE	major version
 0Ch	BYTE	minor version (BCD)
 0Dh  4 BYTEs	ASCIZ string "PTL" (Phoenix Technologies Ltd)
		also on Phoenix Cascade BIOS
---Quadram Quad386---
 0Ah 17 BYTEs	ASCII signature string "Quadram Quad386XT"
---Toshiba (Satellite Pro 435CDS at least)---
 0Ah  7 BYTEs	signature "TOSHIBA"
 11h	BYTE	??? (8h)
 12h	BYTE	??? (E7h) product ID??? (guess)
 13h  3 BYTEs	"JPN"

Bitfields for feature byte 1:
Bit(s)	Description	(Table 00510)
 7	DMA channel 3 used by hard disk BIOS
 6	2nd interrupt controller (8259) installed
 5	Real-Time Clock installed
 4	INT 15/AH=4Fh called upon INT 09h
 3	wait for external event (INT 15/AH=41h) supported
 2	extended BIOS area allocated (usually at top of RAM)
 1	bus is Micro Channel instead of ISA
 0	system has dual bus (Micro Channel + ISA)
SeeAlso: #00509,#00511

Bitfields for feature byte 2:
Bit(s)	Description	(Table 00511)
 7	32-bit DMA supported
 6	INT 16/AH=09h (keyboard functionality) supported (see #00585)
 5	INT 15/AH=C6h (get POS data) supported
 4	INT 15/AH=C7h (return memory map info) supported
 3	INT 15/AH=C8h (en/disable CPU functions) supported
 2	non-8042 keyboard controller
 1	data streaming supported
 0	reserved
SeeAlso: #00509,#00512,AH=C6h,AH=C7h,AH=C8h,INT 16/AH=09h

Bitfields for feature byte 3:
Bit(s)	Description	(Table 00512)
 7	not used
 6-5	reserved
 4	POST supports ROM-to-RAM enable/disable
 3	SCSI subsystem supported on system board
 2	information panel installed
 1	IML (Initial Machine Load) system (BIOS loaded from disk)
 0	SCSI supported in IML
SeeAlso: #00509,#00511,#00512

Bitfields for feature byte 4:
Bit(s)	Description	(Table 00513)
 7	IBM "private" (set on N51SX, CL57SX)
 6	system has EEPROM
 5-3	ABIOS presence
	001 not supported
	010 supported in ROM
	011 supported in RAM (must be loaded)
 2	"private"
 1	system supports memory split at/above 16M
 0	POSTEXT directly supported by POST
SeeAlso: #00509,#00512,#00514

Bitfields for feature byte 5 (IBM):
Bit(s)	Description	(Table 00514)
 7-5	IBM "private"
 4-2	reserved
 1	system has enhanced mouse mode
 0	flash EPROM
SeeAlso: #00509,#00513

(Table 00515)
Values for model/submodel/revision:
Model  Submdl  Rev	BIOS date	System
 FFh	*	*	04/24/81	PC (original)
 FFh	*	*	10/19/81	PC (some bugfixes)
 FFh	*	*	10/27/82	PC (HD, 640K, EGA support)
 FFh	00h	rev	  ???		Tandy 1000SL
 FFh	01h	rev	  ???		Tandy 1000TL
 FFh	46h	***	  ???		Olivetti M15
 FEh	*	*	08/16/82	PC XT
 FEh	*	*	11/08/82	PC XT and Portable
 FEh	*	*	../..x..	Toshiba laptops up to ~1987
					("x"=product ID) (see #00521)
 FEh	00h	*** *	  ???		Olivetti M19
 FEh	43h	***	  ???		Olivetti M240
 FEh	A6h	???	  ???		Quadram Quad386
 FDh	*	*	06/01/83	PCjr
 FCh	*	*	01/10/84	AT models 068,099 6 MHz 20MB
 FCh	*	*	02/25/93	Linux DOSEMU (all versions)
 FCh	00h	00h	  ???		PC3270/AT
 FCh	00h	01h	06/10/85	AT model  239	  6 MHz 30MB
 FCh	00h	> 01h	  ???		7531/2 Industrial AT
 FCh	01h	00h	11/15/85	AT models 319,339 8 MHz, Enh Keyb, 3.5"
 FCh	01h	00h	09/17/87	Tandy 3000
 FCh	01h	00h	../..x..	Toshiba laptops since ~1988
					("x"=product ID) (see #00521)
 FCh	01h	00h	03/08/93	Compaq DESKPRO/i
 FCh	01h	00h	 various	Compaq DESKPRO, SystemPro, ProSignia
 FCh	01h	00h	07/20/93	Zenith Z-Lite 425L
 FCh	01h	00h	04/09/90	AMI BIOS
 FCh	01h	20h	06/10/92	AST
 FCh	01h	30h	  ???		Tandy 3000NL
 FCh	01h	???	  ???		Compaq 286/386
 FCh	02h	00h	04/21/86	PC XT-286
 FCh	02h	00h	 various	Compaq LTE Lite
 FCh	02h	00h	08/05/93	Compaq Contura 486/486c/486cx
 FCh	02h	00h	08/11/88	SoftWindows 1.0.1 (Power Macintosh)
 FCh	04h	00h	02/13/87     ** PS/2 Model 50 (10 MHz/1 ws 286)
 FCh	04h	01h	05/09/87	PS/2 Model 50 (10 Mhz 286, LW-type 32)
 FCh	04h	02h	  ???		PS/2 Model 50
 FCh	04h	02h	01/28/88	PS/2 Model 50Z (10 Mhz 286, LW-type 33)
 FCh	04h	03h	04/18/88	PS/2 Model 50Z (10 MHz/0 ws 286)
 FCh	04h	04h	  ???		PS/2 Model 50Z
 FCh	05h	00h	02/13/87     ** PS/2 Model 60 (10 MHz 286)
 FCh	06h	00h	  ???		IBM 7552-140 "Gearbox"
 FCh	06h	01h	  ???		IBM 7552-540 "Gearbox"
 FCh	08h	***	  ???		Epson, unknown model
 FCh	08h	00h	  ???		PS/2 Model 25/286
 FCh	09h	00h	  ???		PS/2 Model 25 (10 MHz 286)
 FCh	09h	00h	08/25/88	PS/2 Model 30 286 (10 Mhz, LW-type 37)
 FCh	09h	02h	06/28/89	PS/2 Model 30-286
 FCh	09h	02h	06/28/89	PS/2 Model 25 286 (10 Mhz, LW-type 37)
 FCh	0Bh	00h	12/01/89	PS/1 (LW-Type 44)
 FCh	0Bh	00h	02/16/90	PS/1 Model 2011 (10 MHz 286)
 FCh	20h	00h	02/18/93	Compaq ProLinea
 FCh	25h	09h	12/07/91	PS/2 Model 56 SLC (20 MHz 386SLC)
 FCh	30h	***	  ???		Epson, unknown model
 FCh	31h	***	  ???		Epson, unknown model
 FCh	33h	***	  ???		Epson, unknown model
 FCh	42h	***	  ???		Olivetti M280
 FCh	45h	***	  ???		Olivetti M380 (XP 1, XP3, XP 5)
 FCh	48h	***	  ???		Olivetti M290
 FCh	4Fh	***	  ???		Olivetti M250
 FCh	50h	***	  ???		Olivetti M380 (XP 7)
 FCh	51h	***	  ???		Olivetti PCS286
 FCh	52h	***	  ???		Olivetti M300
 FCh	81h	00h	01/15/88	Phoenix 386 BIOS v1.10 10a
 FCh	81h	01h	  ???		"OEM machine"
 FCh	82h	01h	  ???		"OEM machine"
 FCh	94h	00h	  ???		Zenith 386
 FBh	00h	01h	01/10/86	PC XT-089, Enh Keyb, 3.5" support
 FBh	00h	01h	05/13/94	HP 200LX 2MB BIOS 1.01 A D german
 FBh	00h	02h	05/09/86	PC XT
 FBh	00h	04h	08/19/93	HP 100LX 1MB BIOS 1.04 A
 FBh	4Ch	***	  ???		Olivetti M200
 FAh	00h	00h	09/02/86	PS/2 Model 30 (8 MHz 8086)
 FAh	00h	01h	12/12/86	PS/2 Model 30
 FAh	00h	02h	02/05/87	PS/2 Model 30
 FAh	01h	00h	06/26/87	PS/2 Model 25/25L (8 MHz 8086)
 FAh	30h	00h	  ???		IBM Restaurant Terminal
 FAh	4Eh	***	  ???		Olivetti M111
 FAh	FEh	00h	  ???		IBM PCradio 9075
 F9h	00h	00h	09/13/85	PC Convertible
 F9h	FFh	00h	  ???		PC Convertible
 F8h	00h	00h	03/30/87     ** PS/2 Model 80 (16MHz 386)
 F8h	00h	00h	  ???		PS/2 Model 75 486 (33Mhz 486)
 F8h	01h	00h	10/07/87	PS/2 Model 80 (20MHz 386)
 F8h	02h	00h	  ???		PS/2 Model 55-5571
 F8h	04h	00h	01/29/88	PS/2 Model 70 (20 Mhz 386DX,LW-type 33)
 F8h	04h	02h	04/11/88	PS/2 Model 70 20MHz, type 2 system brd
 F8h	04h	03h	03/17/89	PS/2 Model 70 20MHz, type 2 system brd
 F8h	05h	00h	  ???		IBM PC 7568
 F8h	06h	00h	  ???		PS/2 Model 55-5571
 F8h	07h	00h	  ???		IBM PC 7561/2
 F8h	07h	01h	  ???		PS/2 Model 55-5551
 F8h	07h	02h	  ???		IBM PC 7561/2
 F8h	07h	03h	  ???		PS/2 Model 55-5551
 F8h	09h	00h	01/29/88	PS/2 Model 70 16MHz 386DX, type 1 sysbd
 F8h	09h	02h	04/11/88	PS/2 Model 70 some models
 F8h	09h	03h	03/17/89	PS/2 Model 70 some models
 F8h	09h	04h	12/15/89	PS/2 Model 70 (16 Mhz 386, LW-type 33)
 F8h	0Bh	00h	01/18/89	PS/2 Model P70 (8573-121) typ 2 sys brd
 F8h	0Bh	02h	12/16/89	PS/2 Model P70 ??
 F8h	0Ch	00h	11/02/88	PS/2 Model 55SX (16 MHz 386SX)
 F8h	0Dh	00h	  ???		PS/2 Model 70 25MHz, type 3 system brd
 F8h	0Dh	00h	06/08/88	PS/2 Model 70 386 25MHz, type 3 sys brd
 F8h	0Dh	01h	02/20/89	PS/2 Model 70 386 25MHz, type 3 sys brd
 F8h	0Dh	???	12/01/89	PS/2 Model 70 486 25Mhz, type 3 sys brd
 F8h	0Eh	00h	  ???		PS/1 486SX
 F8h	0Fh	00h	  ???		PS/1 486DX
 F8h	10h	00h	  ???		PS/2 Model 55-5551
 F8h	11h	00h	10/01/90	PS/2 Model 90 XP (25 MHz 486)
 F8h	12h	00h	  ???		PS/2 Model 95 XP
 F8h	13h	00h	10/01/90	PS/2 Model 90 XP (33 MHz 486)
 F8h	14h	00h	10/01/90	PS/2 Model 90-AK9 (25 MHz 486), 95 XP
 F8h	15h	00h	  ???		PS/2 Model 90 XP
 F8h	16h	00h	10/01/90	PS/2 Model 90-AKD / 95XP486 (33MHz 486)
 F8h	17h	00h	  ???		PS/2 Model 90 XP
 F8h	19h	05h	  ???		PS/2 Model 35/35LS or 40 (20 MHz 386SX)
 F8h	19h	05h	03/15/91	PS/2 Model 35 SX / 40 SX (LW-type 37)
 F8h	19h	06h	04/04/91	PS/2 Model 35 SX / 40 SX (LW-type 37)
 F8h	1Ah	00h	  ???		PS/2 Model 95 XP
 F8h	1Bh	00h	09/29/89	PS/2 Model 70 486 (25 Mhz 386DX)
 F8h	1Bh	00h	10/02/89	PS/2 Model 70-486 (25 MHz 486)
 F8h	1Ch	00h	02/08/90	PS/2 Model 65-121 / 65 SX (16MHz 386SX)
 F8h	1Eh	00h	02/08/90	PS/2 Model 55LS (16 MHz 386SX)
 F8h	23h	00h	  ???		PS/2 Model L40 SX
 F8h	23h	01h	  ???		PS/2 Model L40 SX (20 MHz 386SX)
 F8h	23h	02h	02/27/91	PS/2 Model L40 SX (20Mhz386SX,LW-typ37)
 F8h	25h	00h	  ???		PS/2 Model 57 SLC
 F8h	25h	06h	  ???		PS/2 Model M57 (20 MHz 386SLC)
 F8h	26h	00h	  ???		PS/2 Model 57 SX
 F8h	26h	01h	  ???		PS/2 Model 57 (20 MHz 386SX)
 F8h	26h	02h	07/03/91	PS/2 Model 57 SX (20Mhz 386SX, SCSI)
 F8h	28h	00h	  ???		PS/2 Model 95 XP
 F8h	29h	00h	  ???		PS/2 Model 90 XP
 F8h	2Ah	00h	  ???		PS/2 Model 95 XP (50 MHz 486)
 F8h	2Bh	00h	  ???		PS/2 Model 90 / 90XP486 (50 MHz 486)
 F8h	2Ch	00h	  ???		PS/2 Model 95 XP
 F8h	2Ch	01h	  ???		PS/2 Model 95 (20 MHz 486SX)
 F8h	2Dh	00h	  ???		PS/2 Model 90 XP (20 MHz 486SX)
 F8h	2Eh	00h	  ???		PS/2 Model 95 XP
 F8h	2Eh	00h	  ???		PS/2 Model 95 XP486 (20 Mhz 486SX)
 F8h	2Eh	01h	  ???		PS/2 Model 95 (20 MHz 486SX + 487SX)
 F8h	2Fh	00h	  ???		PS/2 Model 90 XP (20 MHz 486SX + 487SX)
 F8h	30h	00h	  ???		PS/1 Model 2121 (16 MHz 386SX)
 F8h	33h	00h	  ???		PS/2 Model 30-386
 F8h	34h	00h	  ???		PS/2 Model 25-386
 F8h	36h	00h	  ???		PS/2 Model 95 XP
 F8h	37h	00h	  ???		PS/2 Model 90 XP
 F8h	38h	00h	  ???		PS/2 Model 57
 F8h	39h	00h	  ???		PS/2 Model 95 XP
 F8h	3Fh	00h	  ???		PS/2 Model 90 XP
 F8h	40h	00h	  ???		PS/2 Model 95 XP
 F8h	41h	00h	  ???		PS/2 Model 77
 F8h	45h	00h	  ???		PS/2 Model 90 XP (Pentium)
 F8h	46h	00h	  ???		PS/2 Model 95 XP (Pentium)
 F8h	47h	00h	  ???		PS/2 Model 90/95 E (Pentium)
 F8h	48h	00h	  ???		PS/2 Model 85
 F8h	49h	00h	  ???		PS/ValuePoint 325T
 F8h	4Ah	00h	  ???		PS/ValuePoint 425SX
 F8h	4Bh	00h	  ???		PS/ValuePoint 433DX
 F8h	4Eh	00h	  ???		PS/2 Model 295
 F8h	50h	00h	  ???		PS/2 Model P70 (8573) (16 MHz 386)
 F8h	50h	01h	12/16/89	PS/2 Model P70 (8570-031)
 F8h	52h	00h	  ???		PS/2 Model P75 (33 MHz 486)
 F8h	56h	00h	  ???		PS/2 Model CL57 SX
 F8h	57h	00h	  ???		PS/2 Model 90 XP
 F8h	58h	00h	  ???		PS/2 Model 95 XP
 F8h	59h	00h	  ???		PS/2 Model 90 XP
 F8h	5Ah	00h	  ???		PS/2 Model 95 XP
 F8h	5Bh	00h	  ???		PS/2 Model 90 XP
 F8h	5Ch	00h	  ???		PS/2 Model 95 XP
 F8h	5Dh	00h	  ???		PS/2 Model N51 SLC
 F8h	5Eh	00h	  ???		IBM ThinkPad 700
 F8h	61h	***	  ???		Olivetti P500
 F8h	62h	***	  ???		Olivetti P800
 F8h	80h	00h	  ???		PS/2 Model 80 (25 MHz 386)
 F8h	80h	01h	11/21/89	PS/2 Model 80-A21 (25 Mhz 386)
 F8h	81h	00h	  ???		PS/2 Model 55-5502
 F8h	87h	00h	  ???		PS/2 Model N33SX
 F8h	88h	00h	  ???		PS/2 Model 55-5530T
 F8h	97h	00h	  ???		PS/2 Model 55 Note N23SX
 F8h	99h	00h	  ???		PS/2 Model N51 SX
 F8h	F2h	30h	  ???		Reply Model 32
 F8h	F6h	30h	  ???		Memorex Telex
 F8h	FDh	00h	  ???		IBM Processor Complex (with VPD)
 F8h	???	???	  ???		PS/2 Model 90 (25 MHz 486SX)
 F8h	???	???	  ???		PS/2 Model 95 (25 MHz 486SX)
 F8h	???	???	  ???		PS/2 Model 90 (25 MHz 486SX + 487SX)
 F8h	???	???	  ???		PS/2 Model 95 (25 MHz 486SX + 487SX)
 E4h	???	???	  ???		Triumph Adler PC/XT
 E1h	???	???	  ???		??? (checked for by DOS4GW.EXE)
 E1h	00h	00h	  ???		PS/2 Model 55-5530 Laptop
 D9h	???	???	  ???		Peacock XT
 9Ah	*	*	  ???		Compaq XT/Compaq Plus
 30h	???	???	  ???		Sperry PC
 2Dh	*	*	  ???		Compaq PC/Compaq Deskpro
 ???	56h	???	  ???		Olivetti, unknown model
 ???	74h	???	  ???		Olivetti, unknown model
Notes:	BIOS dates may vary without changes to the revision code, especially
	  for non-IBM machines
    * This BIOS call is not implemented in these early versions or under
      Linux's DOSEMU.  Read the Model byte at F000h:FFFEh and BIOS date at
      F000h:FFF5h instead.
   ** These BIOS versions require the DASDDRVR.SYS patches.
  *** These Olivetti and Epson machines store the submodel in the byte at
	F000h:FFFDh.
SeeAlso: #00509,#00516

(Table 00516)
Values for Dell model byte:
 02h	Dell 200
 03h	Dell 300
 05h	Dell 220
 06h	Dell 310
 07h	Dell 325
 09h	Dell 310A
 0Ah	Dell 316
 0Bh	Dell 220E
 0Ch	Dell 210
 0Dh	Dell 316SX
 0Eh	Dell 316LT
 0Fh	Dell 320LX
 11h	Dell 425E
SeeAlso: #00509,#00515

Format of Compaq product information:
Address		Size	Description	(Table 00517)
 F000h:FFE4h	BYTE	product family code (first byte)
 F000h:FFE5h	BYTE	Point release number
 F000h:FFE6h	BYTE	ROM version code
 F000h:FFE7h	BYTE	product family code (second byte)
 F000h:FFE8h	WORD	BIOS type code
SeeAlso: #00518,#00520

Format of Hewlett-Packard ROM ID at F000h:00F8h:
Offset	Size	Description	(Table 00518)
 00h  2 BYTEs	signature "HP" (48h 50h)
 02h  2 BYTEs	00h 00h
 04h	BYTE	secondary code revision
 05h	BYTE	primary code revision
 06h	BYTE	date code, year-1960 (BCD)
 07h	BYTE	date code, week of year (BCD)
SeeAlso: #00517,#00519

Bitfields for Hewlett-Packard product identifier:
Bit(s)	Description	(Table 00519)
 4-0	machine code
	0 original Vectra
	1 ES/12
	2 RS/20
	3 Portable/CS
	4 ES
	5 CS
	6 RS/16
	other reserved
 7-5	CPU type
	0 = 80286
	1 = 8088
	2 = 8086
	3 = 80386
	other reserved
SeeAlso: #00518

Format of Toshiba laptop information:
Offset	Size	Description	(Table 00520)
 00h  8 BYTEs	ASCII product number (e.g. "T2200SX ")
 08h  8 BYTEs	ASCII version number (e.g. "V1.20   ")
 10h  8 BYTEs	ASCII signature string "TOSHIBA "
 18h  8 BYTEs	always zero???
 20h	DWORD	-> built-in BIOS setup program entry point or 0000h:0000h
Note:	this record is located at F000h:E000h
SeeAlso: #00517,#00518

(Table 00521)
Values for Toshiba product ID:
model prodID   version	  date	   product number
 FEh	29h		../..)..   Toshiba T1000LE
 FEh	2Ah		../..*..   Toshiba T1000XE
 FEh	2Bh		../..+..   Toshiba T1000SE
 FEh	2Ch		../..,..   Toshiba T1000
 FEh	2Dh		../..-..   Toshiba T1200F
 FEh	2Dh	V4.00	12/26-87   Toshiba T1200H
 FEh	2Eh		../.....   Toshiba T1100+
 FCh	22h		../.."..   Toshiba T8500
 FCh	26h		01/15&88   Toshiba T5200
 FCh	27h		../..'..   Toshiba T5100
 FCh	28h		../..(..   Toshiba T2000
 FCh	2Ah		12/26*89   Toshiba T1200XE
 FCh	2Bh		../..+..   Toshiba T1600
 FCh	2Ch		../..,..   Toshiba T3100e
 FCh	2Dh		../..-..   Toshiba T3200
 FCh	2Fh		../../..   Toshiba T3100
 FCh	34h	V1.50	02/04494   Toshiba T100X
 FCh	38h		../..8..   Toshiba T2000SXe
 FCh	39h	V1.20	09/16991   Toshiba T2200SX
 FCh	39h	V1.40	10/01992   Toshiba T2200SX
 FCh	3Ch	V1.50	01/28<91   Toshiba T2000SX
 FCh	3Dh		../..=..   Toshiba T3200SXC
 FCh	3Eh		../..>..   Toshiba T3100SX
 FCh	3Fh		../..?..   Toshiba T3200SX
 FCh	40h		../..@..   Toshiba T4500C
 FCh	41h	V1.20	04/05A92   Toshiba T4500     ("T4500SXC" ???)
 FCh	45h	V3.20	04/14E92   Toshiba T4400SX   ("C" or "SXC" on cover)
 FCh	45h		01/13E93   Toshiba T4400SXC
 FCh	46h *		../..F..   Toshiba T6400
 FCh	46h *		../..F..   Toshiba T6400C
 FCh	5Fh	V1.40	01/18_94   Toshiba T3300SL
 FCh	69h		../..i..   Toshiba T1900C    ("T1900CT" ???)
 FCh	6Ah	V1.30	05/19j93   Toshiba T1900     ("T1900S" ???)
 FCh	6Dh	V1.10	12/25m92   Toshiba T1850C
 FCh	6Eh	V1.00	08/19n92   Toshiba T1850
 FCh	6Eh	V1.10	12/25n92   Toshiba T1850
 FCh	6Fh	V1.00	07/17o92   Toshiba T1800
 FCh	6Fh	V1.10	12/25o92   Toshiba T1800
 FCh	7Eh	V1.30	06/17~93   Toshiba T4600C
 FCh	7Fh	V1.40	11/10x94   Toshiba T4600
 FCh	8Ah	V1.30	10/22x93   Toshiba T6600C
 FCh	91h	V1.20	07/15x94   Toshiba T2400CT
 FCh	91h	V5.00	07/28x95   Toshiba T2400CS/CT
 FCh	92h	V5.00	07/28x95   Toshiba T3600CT
 FCh	96h *	V1.40	12/08x94   Toshiba T200
 FCh	96h *	V1.50	12/08x94   Toshiba T200CS	(T200)
 FCh	97h		../..x..   Toshiba T4800CT
 FCh	98h *	V1.10	12/22x93   Toshiba T1910
 FCh	98h *	V2.40	07/12x94   Toshiba T1910/CS	(T19XX)
 FCh	99h		../..x..   Toshiba T4700CS
 FCh	9Bh	V2.30	01/31x94   Toshiba T4700CT
 FCh	9Bh	V2.50	03/22x94   Toshiba T4700CT
 FCh	9Bh	V5.00	07/28x95   Toshiba T4700CT
 FCh	9Ch	V1.30	01/11x94   Toshiba T1950CT
 FCh	9Ch	V2.50	07/22x94   Toshiba T1950CT	(T19XX)
 FCh	9Dh *	V2.40	07/12x94   Toshiba T1950/CS	(T19XX)
 FCh	9Eh *	V1.20	12/25x93   Toshiba T3400
 FCh	9Eh *	V1.30	03/22x94   Toshiba T3400/CT
 FCh	B5h **	V5.10	08/25x95   Toshiba T2110/CS	(T21XX)
 FCh	B5h	V5.10	08/25x95   Toshiba T2130CS/CT	(T21XX)
 FCh	BAh	V1.30	02/16x95   Toshiba T2150CDS/CDT
 FCh	BAh	V5.00	07/27x95   Toshiba T2150CDS/CDT (T2150)
 FCh	BBh **	V1.30	01/25x95   Toshiba T2100/CS/CT
 FCh	BBh **	V5.00	07/27x95   Toshiba T2100/CS/CT
 FCh	BCh	V1.20	12/05x94   Toshiba T2450CT
 FCh	BCh	V5.00	07/28x95   Toshiba T2450CT
 FCh	BEh	V5.00	07/28x95   Toshiba T4850CT
 FCh	C0h	V5.20	05/30x96   Toshiba 420CDS/CDT
 FCh	C1h	V5.20	03/27x96   Toshiba 100CS
 FCh	C3h	V5.60	07/19x96   Toshiba 710CDT / 720CDT
 FCh	C6h	V5.30	11/30x95   Toshiba 410CS/CDT
 FCh	CAh	V5.10	08/18x95   Toshiba 400CS/CDT
 FCh	CAh	V5.40	12/18x95   Toshiba 400CS/CDT
 FCh	CBh	V5.10	09/01x95   Toshiba 610CT
 FCh	CCh	V5.50	06/13x96   Toshiba 700CS/CT
 FCh	CFh	V5.00	08/07x95   Toshiba T4900CT
 FCh	DCh	V5.10	06/17x96   Toshiba 650CT
 FCh	DCh	V5.10	05/10x96   Toshiba 110CS/CT
 FCh	DDh	V5.10	05/10x96   Toshiba 110CS/CT
 FCh	DFh	V5.20	05/27x96   Toshiba 500CS/CDT
 FCh	???	V5.???	../..x..   Toshiba 620CT
 FCh	???	V5.???	../..x..   Toshiba 660CDT
 FCh	???	V5.30	11/22/96   Toshiba 730CDT
 FCh	???	V6.00	09/20/96   Toshiba 200CDS/CDT
 FCh	???	V6.20	11/14/96   Toshiba 430CDS/CDT
 FCh	???	V6.40	12/05/96   Toshiba 510CS/CDT
Notes:	the 8-bit ASCII graphics character in the "date" column above
	  has been substituted by "x" if larger than 80h
	BIOS version numbers and dates may vary, esp. due to harddisk and
	  (flash) BIOS upgrades; all BIOS versions 5.xx are flash updates
	  for Windows95, the product number may indicate the series only
	  (T21XX) or does no longer contain the exact type suffix (CS/CT)
	the most recent versions of the BIOS have stopped including the
	  product ID code in the BIOS date
	[*] These models have monochrome and color versions which can be
	  distinguished with INT 42/AX=7503h (WD90C24 chipset)
	[**] These models have monochrome and color versions which can be
	  distinguished with INT 10/AX=5F50h (CT655xx chipset)
	models not found here like T21x5 are variants differing only in
	  bundled software
SeeAlso: #00515

Top
15C1 - INT 15 - SYSTEM - RETURN EXTENDED-BIOS DATA-AREA SEGMENT ADDRESS (PS)
INT 15 - SYSTEM - RETURN EXTENDED-BIOS DATA-AREA SEGMENT ADDRESS (PS)
	AH = C1h
Return: CF set on error
	CF clear if successful
	    ES = segment of data area (see #M0001,#M0004,#M0005)
SeeAlso: AH=04h"ABIOS",MEM 0040h:000Eh"DATA"

Top
15C200 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - ENABLE/DISABLE
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - ENABLE/DISABLE
	AX = C200h
	BH = new state
	    00h disabled
	    01h enabled
Return: CF set on error
	AH = status (see #00522)
Note:	IBM classifies this function as required
SeeAlso: AX=C201h,AX=C207h,AX=C208h

(Table 00522)
Values for pointing device function status:
 00h	successful
 01h	invalid function
 02h	invalid input
 03h	interface error
 04h	need to resend
 05h	no device handler installed

Top
15C201 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - RESET
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - RESET
	AX = C201h
Return: CF set on error
	    AH = status (see #00522)
	CF clear if successful
	    BH = device ID
	    BL = value returned by attached device after reset
		AAh if device is a mouse
Notes:	after successful completion of this call, the pointing device is set
	  as follows: disabled, sample rate 100 Hz, resolution 4 counts/mm,
	  scaling 1:1, unchanged data package size
	this function should be called before rebooting the system (see
	  INT 15/AH=4Fh), since otherwise the mouse may behave erratically on
	  some systems after the boot.	Before calling this function, the 
	  caller should check that the INT 15h vector is in fact initialized
	  (on some very old machines the IVT may contain 0000h:0000h).
	IBM classifies this function as required
SeeAlso: INT 33/AX=0000h,AX=C200h,AX=C207h

Top
15C202 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET SAMPLING RATE
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET SAMPLING RATE
	AX = C202h
	BH = sampling rate
	    00h 10/second
	    01h 20/second
	    02h 40/second
	    03h 60/second
	    04h 80/second
	    05h 100/second
	    06h 200/second
Return: CF set on error
	    AH = status (see #00522)
SeeAlso: INT 33/AX=001Ch

Top
15C203 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET RESOLUTION
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET RESOLUTION
	AX = C203h
	BH = resolution (see #00523)
Return: CF set on error
	    AH = status (see #00522)

(Table 00523)
Values for pointing device resolution:
 00h	one count per mm
 01h	two counts per mm
 02h	four counts per mm
 03h	eight counts per mm

Top
15C204 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - GET TYPE
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - GET TYPE
	AX = C204h
Return: CF set on error
	    AH = status (see #00522)
	CF clear if successful
	    BH = device ID

Top
15C205 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - INITIALIZE
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - INITIALIZE
	AX = C205h
	BH = data package size (1 - 8 bytes)
Return: CF set on error
	    AH = status (see #00522)
Note:	the pointing device is set as follows: disabled, 100 Hz sample rate,
	  resolution 4 counts/mm, scaling 1:1
SeeAlso: AX=C201h

Top
15C206 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - EXTENDED COMMANDS
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - EXTENDED COMMANDS
	AX = C206h
	BH = subfunction
	    00h return device status
		Return: BL = pointing device status (see #00524)
			CL = resolution (see #00523)
			DL = sample rate, reports per second
	    01h set scaling at 1:1
	    02h set scaling at 2:1
Return: CF set on error
	    AH = status (see #00522)

Bitfields for pointing device status:
Bit(s)	Description	(Table 00524)
 0	right button pressed
 1	reserved
 2	left button pressed
 3	reserved
 4	0 if 1:1 scaling, 1 if 2:1 scaling
 5	device enabled
 6	0 if stream mode, 1 if remote mode
 7	reserved

Top
15C207 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET DEVICE HANDLER ADDR
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE (PS) - SET DEVICE HANDLER ADDR
	AX = C207h
	ES:BX -> FAR user device handler or 0000h:0000h to cancel
Return: CF set on error
	    AH = status (see #00522)
Note:	when the subroutine is called, it is passed the following values on
	  the stack; the handler should return with a FAR return without
	  popping the stack:
		WORD 1: status (see #00525)
		WORD 2: X data (high byte = 00h)
		WORD 3: Y data (high byte = 00h)
		WORD 4: 0000h
SeeAlso: INT 33/AX=000Ch

Bitfields for pointing device status:
Bit(s)	Description	(Table 00525)
 15-8	reserved (0)
 7	Y data overflowed
 6	X data overflowed
 5	Y data is negative
 4	X data is negative
 3	reserved (1)
 2	reserved (0)
 1	right button pressed
 0	left button pressed

Top
15C208 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - WRITE TO POINTER PORT
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - WRITE TO POINTER PORT
	AX = C208h
	BL = byte to be sent to the pointing device
Note:	IBM classifies this function as optional
SeeAlso: AX=C200h,AX=C209h

Top
15C209 - INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - READ FROM POINTER PORT
INT 15 - SYSTEM - POINTING DEVICE BIOS INTERFACE - READ FROM POINTER PORT
	AX = C209h
Return: BL = first byte read from pointing device
	CL = second byte read
	DL = third byte read
Note:	IBM classifies this function as optional
SeeAlso: AX=C200h,AX=C208h

Top
15C2 - INT 15 - IBM SurePath BIOS - Officially "Private" Function
INT 15 - IBM SurePath BIOS - Officially "Private" Function
	AH = C2h
	AL = 10h-23h
SeeAlso: AH=07h"IBM",AH=3Eh"IBM"

Top
15C3 - INT 15 - SYSTEM - ENABLE/DISABLE WATCHDOG TIMEOUT (PS50+)
INT 15 - SYSTEM - ENABLE/DISABLE WATCHDOG TIMEOUT (PS50+)
	AH = C3h
	AL = function
	    00h disable PS/2 watchdog timer
	    01h enable PS/2 watchdog timer
		BX = timer counter (0001h-00FFh)
	    02h disable Gearbox system
	    03h enable Gearbox system
Return: CF set on error
	CF clear if successful
Note:	the watchdog timer generates an NMI
SeeAlso: INT 21/AH=2Bh/CX=6269h"WDTSR"

Top
15C4 - INT 15 - SYSTEM - PROGRAMMABLE OPTION SELECT (PS50+)
INT 15 - SYSTEM - PROGRAMMABLE OPTION SELECT (PS50+)
	AH = C4h
	AL = subfunction
	    00h return base POS register address
	    01h enable selected slot for setup
		BL = slot number (1 to 8)
	    02h disable setup for all slots (enable adapter)
Return: CF set on error
	DX = base POS register address (if subfunction 00h)
SeeAlso: AH=C6h

Top
15C5 - INT 15 UC - OS HOOK - ROM BIOS TRACING CALLOUT (PS30/286,PS50Z,PS95)
INT 15 UC - OS HOOK - ROM BIOS TRACING CALLOUT (PS30/286,PS50Z,PS95)
	AH = C5h
	AL = interrupt being invoked
	    01h INT 19
	    02h INT 14
	    03h INT 16
	    04h INT 40 (floppy INT 13)
	    05h INT 17
	    06h INT 10
	    07h INT 12
	    08h INT 11
	    09h INT 1A
Return: all registers except AX must be preserved
Notes:	called as the very first action of the indicated ROM BIOS interrupt
	  handlers on the PS/2 Models 30/286, 50Z, and 95
	default handler does nothing and returns CF clear for the above
	  subfunctions, CF set and AH=86h for all other subfunctions
	value of AX passed to the original interrupt handler is pushed on
	  stack immediately prior to call

Top
15C6 - INT 15 U - later PS/2 models - GET POS DATA
INT 15 U - later PS/2 models - GET POS DATA
	AH = C6h
	???
Return: ???
Notes:	this function is referenced by name and number in some IBM BIOS manuals
	IBM reports that "there are a number of problems with this call" and
	  does not recommend its use.
SeeAlso: AH=C4h

Top
15C7 - INT 15 - SYSTEM - later PS/2s - RETURN MEMORY-MAP INFORMATION
INT 15 - SYSTEM - later PS/2s - RETURN MEMORY-MAP INFORMATION
	AH = C7h
	DS:SI -> user supplied memory map table (see #00526)
Return: CF set on error
	CF clear if successful
Notes:	call AH=C0h and examine bit 4 of feature byte 2 to check if this
	  function is supported
	IBM classifies this function as optional
	Windows95 OSR2 reportedly does not support this function even though
	  INT 15/AH=C0h indicates that it is available (observed on several
	  different systems)
SeeAlso: AH=C0h,AH=C9h,AH=D1h,AX=E820h

Format of memory-map table structure:
Offset	Size	Description	(Table 00526)
 00h	WORD	length of table (excluding this word)
 02h	DWORD	local memory between 1M and 16M, in 1K blocks
 06h	DWORD	local memory between 16M and 4G, in 1K blocks
 0Ah	DWORD	system memory between 1M and 16M, in 1K blocks
 0Eh	DWORD	system memory between 16M and 4G, in 1K blocks
 12h	DWORD	cacheable memory between 1M and 16M, in 1K blocks
 16h	DWORD	cacheable memory between 16M and 4G, in 1K blocks
 1Ah	DWORD	1K blocks before start of non-system memory between 1M and 16M
 1Eh	DWORD	1K blocks before start of non-system memory between 16M and 4G
 22h	WORD	start segment of largest free block from C0000h-DFFFFh
 24h	WORD	size of largest free block
 26h	DWORD	reserved

Top
15C8 - INT 15 - SYSTEM - ENABLE/DISABLE PROCESSOR FUNCTIONS
INT 15 - SYSTEM - ENABLE/DISABLE PROCESSOR FUNCTIONS
	AH = C8h
	AL = function
	    00h disable L1 cache
	    01h enable L1 cache
	    ---models 90 and 95 only---
	    02h disable L2 cache
	    03h enable L2 cache
	    04h disable both caches
	    05h enable both caches
	    06h return status of both caches
	    07h-FFh Reserved
Return: CF set on error
	CF clear if successful
	AH = status (see #00527)
	For subfunction 06h only:
	    BL = status of L1 cache
		00h enabled
		01h disabled or not installed
		02h disabled due to test error (can not be enabled)
	    BH = status of L2 cache (same codes as BL)
Notes:	 supported by at least PS/2 70, 70/486, 80-A21, 90, 95
	call AH=C0h and examine bit 3 of feature byte 2 to check if this
	  function is supported.
	on a 486 system, any external caches must be disabled when the
	  on-chip cache (L1) is disabled.
SeeAlso: AH=C0h

(Table 00527)
Values for status:
 00h	operation successful
 01h	function choice (in AL) is invalid
 02h	NVRAM data is invalid
 03h	cache test error
 04h	(90 and 95 only) cannot perform operation requested due to state of
	  other cache (also see note above)
 05h	no L2 cache is present
 07h	invalid input values
 09h	CPU in protected mode

Top
15C9 - INT 15 - newer PS/2; various BIOSes - GET CPU TYPE AND MASK REVISION
INT 15 - newer PS/2; various BIOSes - GET CPU TYPE AND MASK REVISION
	AH = C9h
	AL = 10h (may be required on some non-PS BIOSes)
Return: CF clear if successful
	    AH = 00h
	    CH = CPU type (see #00528)
	    CL = mask revision (stepping level) (see #00529)
	CF set on error
	    AH = status (80h,86h = function not supported)
Notes:	the BIOS must save DX at startup in order to be able to support this
	  call; PS/2 Models 56, 57, 90, and 95 are known to support it
	the PS/2 BIOS merely reads CMOS locations 190h (type) and 191h (rev)
	IBM classifies this function as optional
SeeAlso: AX=D100h,AX=DA92h,MEM 0040h:00BCh

(Table 00528)
Values for CPU type:
 03h	80386DX or clone
 04h	80486
 05h	Pentium
 23h	80386SX or clone
 33h	Intel i376
 43h	80386SL or clone
 A3h	IBM 386SLC
 A4h	IBM 486SLC

(Table 00529)
Values for stepping level:
---i376 (type code 33h)---
 05h	A0
 08h	B
---80386/80386DX (type code 03h)---
 03h	Intel B1 to B10, Am386DX/DXL step A
 05h	Intel D0
 08h	Intel D1/D2/E1, Am386DX/DXL step B
---80386SL (type code 43h)---
 05h	A
 1xh	B
---80386SX (type code 23h)---
 04h	Intel A0
 05h	Intel B, Am386SX/SXL step A1
 08h	Intel C/D1, Am386SX/SXL step B
 09h	Intel 386CX/386EX/386SXstatic step A
---80486DX (type code 04h)---
 00h	Intel A0/A1
 01h	Intel B2 to B6
 02h	Intel C0
 03h	Intel C1
 04h	Intel D0
 10h	Intel cA2/cA3, Cx486SLC step A
 11h	Intel cB0/cB1
---486DX2 (type code 04h)---
 02h	Am486DX2 (unknown stepping)
 32h	Intel DX2/Overdrive steps A0 to A2
 33h	Intel DX2/Overdrive step B1
---486SX (type code 04h)---
 20h	Intel A0
 22h	Intel B0
 27h	Intel cA0
 28h	Intel cB0
---486SL (type code 04h)---
 40h	Intel A
---IntelSX2 (type code 04h)---
 5xh	Intel A
---IntelDX4 (type code 04h)---
 8xh	Intel A
---487SX (type code 04h)---
 20h	Intel A0
 21h	Intel B0
---Pentium (type code 05h)---
 0xh	Intel P5 steps Ax (1993)
 1xh	Intel P5 steps Bx (1994)
 2xh	Intel P54C step A
---RapidCAD (type code 03h)---
 40h	A

Top
15CA - INT 15 U - PS/2 Model 95 - READ/WRITE CMOS MEMORY
INT 15 U - PS/2 Model 95 - READ/WRITE CMOS MEMORY
	AH = CAh
	AL = function
	    00h read CMOS
		Return: CL = value of CMOS location
	    01h write CMOS
		CL = new value for CMOS location
	BL = CMOS location (0Eh-3Fh)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (see #00530)
Note:	writes do not update the CMOS checksum

(Table 00530)
Values for CMOS read/write error code:
 01h	CMOS lost power or has invalid checksum
 03h	specified location out of range (too high)
 04h	specified location out of range (too low)
 80h	unsupported function (PC)
 86h	unsupported function (XT)

Top
15CB - INT 15 U - PS/2 Model 95 - RESERVED
INT 15 U - PS/2 Model 95 - RESERVED
	AH = CBh
	???
Return: ???

Top
15CC - INT 15 U - PS/2 Model 95 - RESERVED
INT 15 U - PS/2 Model 95 - RESERVED
	AH = CCh
	???
Return: ???

Top
15CCCC - INT 15 U - Toshiba laptops - VCHAD.EXE - INSTALLATION CHECK
INT 15 U - Toshiba laptops - VCHAD.EXE - INSTALLATION CHECK
	AX = CCCCh
Return: AX = ABCDh if installed
Note:	supported by Toshiba VGA change display utility VCHAD.EXE ver 2.90+
	  older versions have the string "VCHAD" 2 bytes after the address of
	  the INT 15 handler which is hooked by all versions for the SysReq key
SeeAlso: AH=85h

Top
15CD - INT 15 U - PS/2 Model 95 - RESERVED
INT 15 U - PS/2 Model 95 - RESERVED
	AH = CDh
	???
Return: ???

Top
15CE--BL00 - INT 15 - later PS/2s - ALLOCATE DMA ARBITRATION LEVEL
INT 15 - later PS/2s - ALLOCATE DMA ARBITRATION LEVEL
	AH = CEh
	BL = 00h-0Eh arbitration level to be allocated
	     0Fh-FFh reserved
	AL = option byte
	    bit 7-1: reserved (0)
	    bit 0: 0 = need DMA channel for arbitration level requested
		   1 = no channel required for arbitration level
Return: CF set on error
	    AH = status (80h,86h = function not supported)
	CF clear on success
	    AL = channel number
		00h-07h channel number allocated for the arbiration level
		08h-FEh reserved
		FFh	no channel requested for arbitration level
	    AH = status (see #00531)
Notes:	 arbitration level 00h has the highest priority, 0Eh the lowest
	 to perform a DMA transfer operation, be sure to call this function
	   first, and call AH=CFh afterward.  Failure to use this function
	   can cause unpredictable results.
SeeAlso: AH=CFh

(Table 00531)
Values for DMA arbitration status:
 00h	success
 01h	arbitration level not available
 02h	channel not available
 03h	invalid arbitration level passed

Top
15CF - INT 15 - later PS/2s - DEALLOCATE DMA ARBITRATION LEVEL
INT 15 - later PS/2s - DEALLOCATE DMA ARBITRATION LEVEL
	AH = CFh
	BL = arbitration level to be deallocated (see AH=CEh)
Return: CF set on error
	    AH = status (80h,86h = function not supported)
	CF clear on success
	    AH = status
		00h success
		04h arbitration level not allocated
SeeAlso: AH=CEh

Top
15D0 - INT 15 - later PS/2s - RESERVED
INT 15 - later PS/2s - RESERVED
	AH = D0h
	???
Return: ???

Top
15D042BL00 - INT 15 R - Intel Pentium Pro BIOS UPDATE - INSTALLATION CHECK
INT 15 R - Intel Pentium Pro BIOS UPDATE - INSTALLATION CHECK
	AX = D042h
	BL = 00h
Return: CF clear if successful
	CF set on error
	AH = status
	    00h successful
		EBX:ECX = signature "INTELPEP"
		EDX = BIOS update loader version
		SI = number of 2K update blocks which can be recorded in NVRAM
	    86h not implemented
	AL = OEM error (if AH is not 00h or 86h, otherwise undefined)
	    00h successful
Program: the Pentium Pro BIOS update allows the system BIOS or other software
	  to install a microcode patch into the Pentium Pro processor
Notes:	this API must be called from actual real mode, not V86 mode
	at least 32K stack space must be available when this function is called
SeeAlso: AX=D042h/BL=01h,AX=D042h/BL=02h,AX=D042h/BL=03h
SeeAlso: @xxxxh:xxxxh"Intel BIOS Upgrade",MSR 00000079h

Top
15D042BL01 - INT 15 R - Intel Pentium Pro BIOS UPDATE - WRITE BIOS UPDATE AREA
INT 15 R - Intel Pentium Pro BIOS UPDATE - WRITE BIOS UPDATE AREA
	AX = D042h
	BL = 01h
	ES:DI -> microcode update block (see #00533)
	CX,DX,SI = segments of three 64K scratchpad areas for BIOS use
Return: CF clear if successful
	CF set on error
	AH = status (see #00532)
	AL = OEM error (if AH is not 00h or 86h, otherwise undefined)
	    00h successful
Notes:	a microcode update may also be initiated by a WRMSR instruction
	  with ECX=0079h, EDX=00000000h, and EAX=linear address of update
	  block (see #00533)
	at least 32K stack space must be available when this function is called
SeeAlso: AX=D042h/BL=00h,AX=D042h/BL=02h,AX=D042h/BL=03h,MSR 00000079h

(Table 00532)
Values for Pentium Pro BIOS update status:
 00h	successful
 86h	not implemented
 90h	unable to erase NVRAM device
 91h	unable to write to NVRAM device
 92h	unable to read storage
 93h	NVRAM is full
 94h	specified processor stepping is not present in system
 95h	invalid header or loader version
 96h	wrong checksum in header
 97h	processor rejected the update
 98h	the same or a more recent update is already stored
 99h	update block number was out of range

Format of Pentium Pro microcode update block:
Offset	Size	Description	(Table 00533)
 00h	DWORD	update header version number (currently 00000001h)
		FFFFFFFFh = unused block
 04h	DWORD	revision number of this microcode update
 08h	DWORD	update creation date, as BCD mmddyyyy (month,day,year)
 0Ch	DWORD	family/model/stepping of processor to which update applied
		(same value as returned by CPUID instruction)
 10h	DWORD	checksum (used to force sum of all 512 DWORDs of the update
		block to 00000000h)
 14h	DWORD	revision number of loader needed to install update
		(currently 00000001h)
 18h 24 BYTEs	reserved for future expansion
 30h 2000 BYTEs	encrypted microcode data
SeeAlso: MSR 00000079h,OPCODE "CPUID"

Top
15D042BL02 - INT 15 R - Intel Pentium Pro BIOS UPDATE - BIOS UPDATE CONTROL
INT 15 R - Intel Pentium Pro BIOS UPDATE - BIOS UPDATE CONTROL
	AX = D042h
	BL = 02h
	BH = function
	    01h enable update loading at initialization time
	    02h check whether update loading is enabled
	CX,DX,SI = segments of three 64K scratchpad areas for BIOS use
Return: CF clear if successful
	CF set on error
	AH = status (see #00532)
	    00h successful
		BL = enabled/disabled flag
	    86h not implemented
	AL = OEM error (if AH is not 00h or 86h, otherwise undefined)
	    00h successful
Notes:	this API must be called from actual real mode, not V86 mode
	at least 32K stack space must be available when this function is called
	there is no call to disable update loading due to security risks; the
	  BIOS setup can disable loading
SeeAlso: AX=D042h/BL=00h,AX=D042h/BL=02h,AX=D042h/BL=03h

Top
15D042BL03 - INT 15 R - Intel Pentium Pro BIOS UPDATE - READ BIOS UPDATE AREA
INT 15 R - Intel Pentium Pro BIOS UPDATE - READ BIOS UPDATE AREA
	AX = D042h
	BL = 03h
	ES:DI -> buffer for microcode update block (see #00533)
	ECX = two real-mode 64K scratchpad segments (upper and lower words)
	DX = segment of 64K scratchpad area for BIOS use
	SI = zero-based index number of update block to retrieve
Return: CF clear if successful
	CF set on error
	AH = status
	    00h successful
		ES:DI buffer filled with 2048-byte update block
	    86h not implemented
	AL = OEM error (if AH is not 00h or 86h, otherwise undefined)
	    00h successful
Program: the Pentium Pro BIOS update allows the system BIOS or other software
	  to install a microcode patch into the Pentium Pro processor
Notes:	this API must be called from actual real mode, not V86 mode
	at least 32K stack space must be available when this function is called
SeeAlso: AX=D042h/BL=00h,AX=D042h/BL=01h,AX=D042h/BL=03h

Top
15D100DX0000 - INT 15 - later PS/2s - GET NUMBER OF DEVICE DESCRIPTOR TABLE (DDT) ENTRIES
INT 15 - later PS/2s - GET NUMBER OF DEVICE DESCRIPTOR TABLE (DDT) ENTRIES
	AX = D100h
	DX = 0000h (reserved, must set to 0)
Return: BL = size of one DDT entry, in bytes
	CX = number of DDT entries
	AH = return code (see #00534)
	CF set on error
	CF clear on success
SeeAlso: AH=C0h,AH=C7h,AH=C9h,AX=D101h,AX=D102h,AX=D103h,AX=D104h

(Table 00534)
Values for return code:
 00h	success
 01h	requested DDT entry not found
 02h	DDT data not valid
 86h	function not supported

Top
15D101 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY NUMBER
INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY NUMBER
	AX = D101h
	BX = number of requested entry (starting with 1)
	DX = 0000h (reserved, must be set to 0)
	ES:DI -> buffer to contain DDT entry (see #00535)
Return: AH = return code (see #00534)
	CF set on error
	CF clear on success
	    ES:DI buffer filled with DDT entry
SeeAlso: AH=C0h,AH=C7h,AH=C9h,AX=D100h,AX=D102h,AX=D104h

Format of Device Descriptor Table (DDT):
Offset	Size	Description	(Table 00535)
 00h	BYTE	bits 7-4: reserved (set to 0)
		bits 3-0: slot of device (0 = system board)
 01h	BYTE	bits 7-4: second interrupt for this device (0 = none)
		bits 3-0: first interrupt for this device (0 = none)
 02h	BYTE	bits 7-4: second arbitration level for this device
		bits 3-0: first arbitration level for this device
 03h	WORD	DDT indicators (see #00536)
 05h	BYTE	reserved (0)
 06h	WORD	device ID (0 = none)
 08h	WORD	starting address of first  I/O block (0 = none)
 0Ah	WORD	starting address of second I/O block (0 = none)
 OCh	WORD	starting address of third  I/O block (0 = none)
 OEh	DWORD	start of first non-system memory block (0 = none)
 12h	WORD	size of first non-system memory block (in kilobytes)
 14h	DWORD	start of second non-system memory block (0 = none)
 18h	WORD	size of second non-system memory block (in kilobytes)
 1Ah	BYTE	implementation identifier of the device
 1Bh	BYTE	implementation revision level of the device
Note:	I/O block addresses and non-system memory addresses are listed in
	  ascending order in each DDT entry.

Bitfields for DDT indicators:
Bit(s)	Description	(Table 00536)
 15	reserved (0)
 14	second arbitration level exists
 13	first arbitration level exists
 12	serial interface is RS-422
 11	not address limited
 10	DMA channel used
 9	second arbitration level can be shared
 8	first arbitration level can be shared
 7-0	reserved (0)

Top
15D102 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY I/O ADDRSS
INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY I/O ADDRSS
	AX = D102h
	BX = entry number at which to start searching
	CX = requested I/O port address
	DX = 0000h (reserved, must be set to 0)
	ES:DI -> buffer to contain DDT entry (see #00535)
Return: AH = return code (see #00534)
	BX = DDT entry number where I/O port was found, or total entries
	     plus 1 if port was not found.
	CF set on error
	CF clear on success
	    ES:DI buffer filled with DDT entry
Desc:	the DDT is searched from the specified entry for the I/O port in CX,
	  and the first entry in which it is found is returned
SeeAlso: AH=C0h,AH=C7h,AH=C9h,AX=D100h,AX=D101h,AX=D103h,AX=D104h

Top
15D103DX0000 - INT 15 - later PS/2s - RETURN ENTIRE DDT
INT 15 - later PS/2s - RETURN ENTIRE DDT
	AX = D103h
	DX = 0000h (reserved, must be set to 0)
	ES:DI -> buffer to contain DDT entry (see #00535)
Return: AH = return code (see #00534)
	CF set on error
	CF clear on success
	    ES:DI buffer filled with DDT entry
SeeAlso: AH=C0h,AH=C7h,AH=C9h,AX=D100h,AX=D104h

Top
15D104 - INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY DEVICE ID
INT 15 - later PS/2s - RETURN DEVICE DESCRIPTOR TABLE (DDT) ENTRY BY DEVICE ID
	AX = D104h
	BX = entry number at which to start searching
	CX = requested device ID
	DX = 0000h (reserved, must be set to 0)
	ES:DI -> buffer to contain DDT entry (see #00535)
Return: AH = return code (see #00534)
	BX = DDT entry number where device ID was found, or total entries
	      plus 1 if port was not found.
	CF set on error
	CF clear on success
	    ES:DI buffer filled with DDT entry
Desc:	the DDT is searched from the specified entry for the device ID in CX,
	  and the first entry in which it is found is returned.
SeeAlso: AH=C0h,AH=C7h,AH=C9h,AX=D100h,AX=D101h,AX=D103h

Top
15D2 - INT 15 - later PS/2s - RESERVED
INT 15 - later PS/2s - RESERVED
	AH = D2h
	???
Return: ???

Top
15D3 - INT 15 - later PS/2s - RESERVED
INT 15 - later PS/2s - RESERVED
	AH = D3h
	???
Return: ???

Top
15D4 - INT 15 - later PS/2s - GET PHYSICAL FIXED DISK DRIVE NUMBER (SELECTABLE BOOT)
INT 15 - later PS/2s - GET PHYSICAL FIXED DISK DRIVE NUMBER (SELECTABLE BOOT)
	AH = D4h
	DL = logical fixed disk drive number
Return: AH = return code (see #00537)
	CF set on error
	CF clear on success
	    AL = physical fixed disk drive number

(Table 00537)
Values for return code:
 00h	success
 01h	specified logical drive number is invalid
 80h	function not supported (on PCjr and PC)
 86h	function not supported

Top
15D5 - INT 15 - later PS/2s - RESERVED
INT 15 - later PS/2s - RESERVED
	AH = D5h
	???
Return: ???

Top
15D600BL00 - INT 15 - later PS/2s - READ BOOT DEVICE ID
INT 15 - later PS/2s - READ BOOT DEVICE ID
	AX = D600h
	BL = 00h
	DX = device ID
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = status (86h for function not supported)
SeeAlso: AX=D600h/BL=01h,AX=D601h/BL=00h,AX=D602h

Top
15D600BL01 - INT 15 - later PS/2s - WRITE BOOT DEVICE ID
INT 15 - later PS/2s - WRITE BOOT DEVICE ID
	AX = D600h
	BL = 01h
	DX = device ID
Return: CF clear on success
	    AH = 00h
	CF set on error
	    AH = status (86h for function not supported)
SeeAlso: AX=D600h/BL=00h,AX=D601h/BL=01h

Top
15D601BL00 - INT 15 - later PS/2s - READ BOOT DEVICE KEY
INT 15 - later PS/2s - READ BOOT DEVICE KEY
	AX = D601h
	BL = 00h
	DX = device ID
Return: CF clear on success
	    AH = 00h
	CF set on error
	    AH = status (86h for function not supported)
SeeAlso: AX=D600h/BL=00h,AX=D601h/BL=01h,AX=D602h

Top
15D601BL01 - INT 15 - later PS/2s - WRITE BOOT DEVICE KEY
INT 15 - later PS/2s - WRITE BOOT DEVICE KEY
	AX = D601h
	BL = 01h
	DX = device ID
Return: CF clear on success
	    AH = 00h
	CF set on error
	    AH = status (86h for function not supported)
SeeAlso: AX=D600h/BL=01h,AX=D601h/BL=00h

Top
15D602 - INT 15 - later PS/2s - QUERY BOOT REFERENCE PARTITION
INT 15 - later PS/2s - QUERY BOOT REFERENCE PARTITION
	AX = D602h
Return: CF clear on success
	    AH = 00h
	    AL = status of reference-partition boot request
		00h boot not requested
		01h boot requested
	CF set on error
	    AH = status (86h for function not supported)
SeeAlso: AX=D601h/BL=00h

Top
15D800 - INT 15 - EISA SYSTEM ROM - READ SLOT CONFIGURATION INFORMATION
INT 15 - EISA SYSTEM ROM - READ SLOT CONFIGURATION INFORMATION
	AX = D800h
	CL = slot number (including embedded and virtual)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (80h,82h,83h,86h,87h)(see #00539)
	AL = bit flags (see #00538)
	BH = major revision level of configuration utility
	BL = minor revision level of configuration utility
	CX = checksum of configuration file
	DH = number of device functions
	DL = combined function information byte (see #00540)
	SI:DI = 4-byte compressed ID (DI = bytes 0&1, SI = bytes 2&3)
Note:	call with AL=80h if using 32-bit CS addressing mode instead of 16-bit
SeeAlso: AX=D801h,AX=D804h

Bitfields for EISA AL bit flags:
Bit(s)	Description	(Table 00538)
 7	set if duplicate IDs
 6	set if product ID readable
 4,5	slot type (00=expansion, 01=embedded, 10=virtual device)
 0-3	duplicate ID number if bit 7 set
SeeAlso: #00540

(Table 00539)
Values for EISA error code:
 80h	invalid slot number
 81h	invalid function number
 82h	EISA CMOS corrupt
 83h	empty slot
 84h	error clearing CMOS
 85h	EISA CMOS is full
 86h	invalid BIOS-FW function call
 87h	invalid system configuration
 88h	config utility version not supported

Bitfields for EISA combined function information byte:
Bit(s)	Description	(Table 00540)
 7	reserved
 6	slot has free-form data entries
 5	slot has port initialization entries
 4	slot has port-range entries
 3	slot has DMA entries
 2	slot has IRQ entries
 1	slot has memory entries
 0	slot has function type entries
SeeAlso: #00538

Top
15D801 - INT 15 - EISA SYSTEM ROM - READ FUNCTION CONFIGURATION INFORMATION
INT 15 - EISA SYSTEM ROM - READ FUNCTION CONFIGURATION INFORMATION
	AX = D801h
	CH = function number to read
	CL = slot number (including embedded and virtual)
	DS:SI -> 320-byte buffer for standard configuration data block
Return: CF clear if successful
	    AH = 00h
	    DS:SI buffer filled
	CF set on error
	    AH = error code (80h-83h,86h,87h) (see #00539)
	BX destroyed
Note:	call with AL=81h if using 32-bit CS addressing mode instead of 16-bit
	this function is also supported by the Compaq SystemPro 486, but it
	  uses more than 1297 bytes of stack.
BUG:	some implementations appear to destroy the DF direction flag;
	  the Novell DOS 7+ memory managers explicitly clear it afterwards.

Top
15D802 - INT 15 - EISA SYSTEM ROM - CLEAR NONVOLATILE MEMORY (EISA CMOS)
INT 15 - EISA SYSTEM ROM - CLEAR NONVOLATILE MEMORY (EISA CMOS)
	AX = D802h
	BH = EISA config utility major revision level
	BL = EISA config utility minor revision level
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (84h,86h,88h) (see #00539)
Note:	call with AL=82h if using 32-bit CS addressing mode instead of 16-bit
SeeAlso: AX=D803h

Top
15D803 - INT 15 - EISA SYSTEM ROM - WRITE NONVOLATILE MEMORY
INT 15 - EISA SYSTEM ROM - WRITE NONVOLATILE MEMORY
	AX = D803h
	CX = length of data structure (0000h = empty slot)
		includes two bytes for config file checksum
	DS:SI -> configuration data
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (84h-86h) (see #00539)
Note:	call with AL=83h if using 32-bit CS addressing mode instead of 16-bit
SeeAlso: AX=D802h

Top
15D804 - INT 15 - EISA SYSTEM ROM - READ PHYSICAL SLOT
INT 15 - EISA SYSTEM ROM - READ PHYSICAL SLOT
	AX = D804h
	CL = slot number (including embedded and virtual)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (80h,83h,86h) (see #00539)
	SI:DI = 4-byte compressed ID (DI = bytes 0&1, SI = bytes 2&3)
Note:	call with AL=84h if using 32-bit CS addressing mode instead of 16-bit
SeeAlso: AX=D800h

Top
15D820 - INT 15 - Compaq LTE Lite - GET ???
INT 15 - Compaq LTE Lite - GET ???
	AX = D820h
	DS:SI -> 17-byte buffer for ???
Return: DS:SI buffer filled (first byte is length of remaining data, unless
	  it is greater than 10h, in which case the second byte is 00h and no
	  other data is returned)
Note:	this function is also supported by Compaq's EISA System ROM, Contura
	  486/486c/486cx and recent DESKPRO/i ROMs
SeeAlso: AX=D821h

Top
15D821 - INT 15 - Compaq LTE Lite - SET ???
INT 15 - Compaq LTE Lite - SET ???
	AX = D821h
	DS:SI -> counted string (should not be more than 16 bytes)
Return: AH = 00h
Note:	this function is also supported by Compaq's EISA System ROM, Contura
	  486/486c/486cx and recent DESKPRO/i ROMs
SeeAlso: AX=D820h

Top
15D822BL00 - INT 15 - Compaq EISA System ROM 04/08/93 - GET ???
INT 15 - Compaq EISA System ROM 04/08/93 - GET ???
	AX = D822h
	BL = 00h
	CX = size of buffer or 0000h to retrieve required buffer size
	DS:SI -> buffer for ??? (if CX nonzero)
Return: CF clear if successful
	    AH = 00h
	    DH = 08h
	    CX = required buffer size to retrieve all data (if CX=0 on entry)
	    DS:SI buffer filled (if CX nonzero on entry)
	CF set on error (BL nonzero)
	    AH = 86h

Top
15D823 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
INT 15 - Compaq EISA System ROM 04/08/93 - ???
	AX = D823h
	BL = subfunction??? (00h or 80h)
	BH = ???
	DS:SI -> buffer for ??? (see #00541)
Return: CF clear if successful
	    AH = 00h
	    DH = 08h
	    DL = ???
	CF set on error
	    AH = error code
		86h BL neither 00h nor 80h
		87h ???

Format of Compaq EISA buffer:
Offset	Size	Description	(Table 00541)
 00h	BYTE	???
 01h	WORD	???
 03h	BYTE	???
 04h	WORD	???
 06h	WORD	???
	???

Top
15D824 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
INT 15 - Compaq EISA System ROM 04/08/93 - ???
	AX = D824h
	CX = ???
	DS:SI -> ASCIZ string containing ???
Return: CF clear if successful
	    AH = 00h
	    CX = ???
	CF set on error
	    AH = error code
		87h ??? failed
		88h ???
Note:	these functions are only available if ??? from keyboard controller
	  command C0h

Top
15D825 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
INT 15 - Compaq EISA System ROM 04/08/93 - ???
	AX = D825h
	CX = ???
	SI = ???
	DI = ???
	???
Return: CF clear if successful
	    AH = 00h
	    CX = ???
	CF set on error
	    AH = error code
		87h ??? failed
		88h ???
		    CX = ???
Note:	these functions are only available if ??? from keyboard controller
	  command C0h

Top
15D826 - INT 15 - Compaq EISA System ROM 04/08/93 - ???
INT 15 - Compaq EISA System ROM 04/08/93 - ???
	AX = D826h
	BX = ???
	CX = size of buffer in bytes
	DS:SI -> buffer for ???
	???
Return: CF clear if successful
	    AH = 00h
	    CX = ???
	CF set on error
	    AH = error code
		87h ??? failed
		88h ???
Note:	these functions are only available if ??? from keyboard controller
	  command C0h

Top
15D8 - INT 15 - EISA SYSTEM ROM - 32-bit CS ADDRESSING MODE CALLS
INT 15 - EISA SYSTEM ROM - 32-bit CS ADDRESSING MODE CALLS
	AH = D8h
	AL = 80h to 84h
	other registers as appropriate for AL=00h to 04h
Return: as appropriate for AL=00h to 04h
Note:	these functions are identical to AX=D800h to D804h, except that they
	  should be called when using 32-bit CS addressing mode (pointers use
	  ESI rather than SI as offset) instead of 16-bit addressing mode
SeeAlso: AX=D800h,AX=D801h,AX=D802h,AX=D803h,AX=D804h

Top
15D8 - INT 15 - Compaq EISA System ROM 04/08/93 - 32-bit CS ADDRESSING MODE CALLS
INT 15 - Compaq EISA System ROM 04/08/93 - 32-bit CS ADDRESSING MODE CALLS
	AH = D8h
	AL = A0h to A6h
	other registers as appropriate for AL=20h to 26h
Return: as appropriate for AL=20h to 26h
Note:	these functions are identical to AX=D820h to D826h, except that they
	  should be called when using 32-bit CS addressing mode

Top
15DA - INT 15 U - AMI PCI BIOS v1.00.05.AX1 - ???
INT 15 U - AMI PCI BIOS v1.00.05.AX1 - ???
	AH = DAh
	AL = function (00h-08h,12h,14h,15h,19h,88h-8Eh,92h,99h)
	other registers vary by function
Return: CF clear if successful
	    varies by function
	CF set on error
	    AH = error code (86h unsupported [sub]function)
Note:	functions not listed above always return CF set and AH=86h; in the
	  examined BIOS, functions 02h-04h,06h-07h,89h-8Bh, and 8Dh also
	  always return CF set and AH=86h
SeeAlso: AX=DA00h,AX=DA01h,AX=DA88h,AX=DA99h,AX=DB00h

Top
15DA00 - INT 15 U - AMI PCI BIOS - ???
INT 15 U - AMI PCI BIOS - ???
	AX = DA00h
	CL = subfunction
	    00h ???
	    01h ???
	    02h get ???
	???
Return: CF clear if successful
	    ???
	CF set on error
	    AH = error code (86h unsupported subfunction)
Note:	in the v1.00.05.AX1 BIOS, subfunctions 00h and 01h always return
	  failure
SeeAlso: AX=DA01h

Top
15DA01 - INT 15 U - AMI PCI BIOS - CPU SPEED CONTROL
INT 15 U - AMI PCI BIOS - CPU SPEED CONTROL
	AX = DA01h
	CL = subfunction (00h-02h)
	    00h set low CPU speed
	    01h set high CPU speed
	    02h get current CPU speed
Return: CF clear if successful
	    AH = current/new CPU speed (00h low, 01h high)
	    AL = ??? (00h)
	CF set on error
	    AH = error code (86h unsupported subfunction)
Notes:	in the v1.00.05.AX1 BIOS, subfunctions 00h and 01h are NOPs in both
	  protected and V86 modes due to a test of MSW bit 0
	setting the CPU speed also generates the same audible signals generated
	  when manually switching speeds with Ctrl-Alt-Gray- and Ctrl-Alt-Gray+
BUG:	the BIOS apparently intends to return CF set if ???, but fails to use
	  a different exit path in that case, resulting in CF clear

Top
15DA05 - INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
	AX = DA05h
	ES:SI -> 8-byte buffer for ??? and BIOS revision strings
Return: CF clear
	ES:SI buffer filled
	AL = 00h
	CX = ??? (0000h)
Notes:	for BIOS v1.00.05.AX1, the ??? string is "IDNO" and the BIOS revision
	  string is "AX1 "
SeeAlso: AX=DA15h,AX=DB04h

Top
15DA08 - INT 15 U - AMI PCI BIOS - ???
INT 15 U - AMI PCI BIOS - ???
	AX = DA08h
	???
Return: CF clear if successful
	    ???
	CF set on error
	    AH = error code (86h unsupported subfunction)
Note:	in the examined v1.00.05.AX1 BIOS, this call always returns failure

Top
15DA12 - INT 15 U - AMI PCI BIOS - v1.00.05.AX1 - ???
INT 15 U - AMI PCI BIOS - v1.00.05.AX1 - ???
	AX = DA12h
	CL = subfunction
	    00h ???
	    01h	???
	    02h get ???
	    03h ???
	    04h ???
	???
Return: CF clear if successful
	    ???
	CF set on error
	    AH = error code (86h unsupported subfunction)
Desc:	??? performs various manipulations on system chipset registers
Notes:	subfunctions 00h and 01h are NOPs in protected and V86 modes due to
	  a test of MSW bit 0
	subfunctions 00h-02h always return success

Top
15DA14 - INT 15 U - AMI PCI BIOS - GET/SET ???
INT 15 U - AMI PCI BIOS - GET/SET ???
	AX = DA14h
	CL = subfunction
	    00h read
	    01h write
		DH = new value for ??? (00h-02h)
	DL = index of ??? (00h-03h, but not range-checked)
	???
Return: CF clear if successful
	    DH = current value of ??? if reading
	CF set on error
	    AH = error code (86h unsupported subfunction)
Note:	the values for indexes 00h and 01h are stored in CMOS RAM location 19h,
	  and the values for 02h and 03h are stored in location 36h
BUG:	the v1.00.05.AX1 BIOS range-checks DH on subfunction 00h instead of
	  subfunction 01h, even though DH is never used by subfunction 00h

Top
15DA15 - INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
INT 15 U - AMI PCI BIOS - GET ??? AND BIOS REVISION STRINGS
	AX = DA15h
	ES:DI -> 8-byte buffer for ??? and BIOS revision strings
Return: CF clear
	ES:DI buffer filled
	AL = 00h
Note:	for BIOS v1.00.05.AX1, the ??? string is "IDNO" and the BIOS revision
	  string is "AX1 "
SeeAlso: AX=DA05h,AX=DB04h

Top
15DA19 - INT 15 U - AMI PCI BIOS - GET/SET ???
INT 15 U - AMI PCI BIOS - GET/SET ???
	AX = DA19h
	CL = subfunction
	    00h get first ???
	    01h get second ???
	    02h set first ???
		BX = ???
		DX = ???
	    03h set second ???
		BX = ???
		DX = ???
Return: CF clear if successful
	    AX = 0000h
	    BX,DX = ??? (subfunctions 00h and 01h only)
	CF set on error
	    AH = error code (86h unsupported subfunction)
Note:	the first ??? is stored in CMOS RAM locations 1Bh-1Eh, the second in
	  locations 1Fh-22h in the v1.00.05.AX1 BIOS

Top
15DA20 - INT 15 U - AMI PCI BIOS v1.00.12.AX1T - CMOS RAM BITFIELD MANIPULATION
INT 15 U - AMI PCI BIOS v1.00.12.AX1T - CMOS RAM BITFIELD MANIPULATION
	AX = DA20h
	BL = subfunction
	    00h set CMOS data field
		BH = CMOS data field number (00h-4Dh)
		CH = new value for bitfield (in lowest bits of register)
	    01h read CMOS data field
		BH = CMOS data field number (00h-4Dh)
		Return: CH = value of bitfield
			CL = mask of valid bits
		Note:	both CL/CH shifted to move valid bits into lowest pos
	    02h set CMOS byte
		CL = CMOS RAM address (00h-7Fh)
		CH = new value for CMOS byte
	    03h get CMOS byte
		CL = CMOS RAM address (00h-7Fh)
		Return: CH = value of CMOS byte
	    04h update CMOS checksums
		Note:	sets 2Eh/2Fh to checksum of 10h-2Dh and 7Eh/7Fh to
			  checksum of 48h-7Dh
	    05h verify CMOS checksums
		Return:	CF clear if checksums OK
			    AH = 00h
			CF set if checksum mismatch
			    AH = 01h
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (86h unsupported function/data field)
Notes:	this function was not supported by the v1.00.05.AX1 BIOS, but had been
	  added by 1.00.12.AX1T
	after using subfunctions 00h or 02h, the application must call
	  subfunction 04h to update the checksums to prevent an error the next
	  time the system is booted

(Table 00542)
Values for AMI BIOS v1.00.12.AX1T CMOS bitfield identifier:
 ID	address	bit(s)	contents
 00h	1Ah	7-6
 01h	1Dh	7-6
 02h	6Eh	1
 03h	77h	0
 04h	77h	1
 05h	77h	2
 06h	77h	3
 07h	77h	5
 08h	77h	6
 09h	77h	7
 0Ah	78h	7	power management enabled???
 0Bh	78h	6
 0Ch	10h	7-4	first floppy drive type
 0Dh	10h	3-0	second floppy drive type
 0Eh	11h	7
 0Fh	20h	4-0	selected language for error messages/setup utility
 10h	11h	2-1
 11h	11h	4
 12h	11h	0
 13h	11h	3
 14h	13h	7
 15h	13h	6-5
 16h	13h	4-2
 17h	19h	7
 18h	19h	6
 19h	19h	5
 1Ah	19h	4
 1Bh	1Eh	2-0
 1Ch	1Bh	7-6
 1Dh	1Ch	7
 1Eh	1Ch	3
 1Fh	1Ah	5-4
 20h	1Dh	5-4
 21h	1Bh	5-4
 22h	1Ch	6
 23h	1Ch	2
 24h	1Ah	3-2
 25h	1Dh	3-2
 26h	1Bh	3-2
 27h	1Ch	5
 28h	1Ch	1
 29h	1Ah	1-0
 2Ah	1Dh	1-0
 2Bh	1Bh	1-0
 2Ch	1Ch	4
 2Dh	1Ch	0
 2Eh	50h	7-0
 2Fh	51h	7-0
 30h	52h	7-0
 31h	53h	7-0
 32h	60h	0
 33h	60h	0
 34h	60h	0
 35h	60h	0
 36h	60h	0
 37h	60h	0
 38h	60h	1
 39h	61h	7
 3Ah	60h	2
 3Bh	61h	6-4
 3Ch	61h	2-0
 3Dh	60h	7-6
 3Eh	60h	5-4
 3Fh	78h	5-4
 40h	6Eh	5
 41h	1Eh	3
 42h	6Eh	0
 43h	6Eh	2
 44h	6Fh	1-0
 45h	6Fh	1-0
 46h	28h	4-2
 47h	28h	7-5
 48h	6Eh	4
 49h	6Eh	3
 4Ah	76h	7-0
 4Bh	77h	4
 4Ch	11h	6
 4Dh	1Fh	7-0

Top
15DA88 - INT 15 U - AMI PCI BIOS - GET EXTENDED MEMORY SIZE
INT 15 U - AMI PCI BIOS - GET EXTENDED MEMORY SIZE
	AX = DA88h
Return: CF clear (successful)
	AX = 0000h
	CL:BX = extended memory size in KBytes
SeeAlso: AH=88h

Top
15DA8C - INT 15 U - AMI PCI BIOS - GET BIOS AND CHIPSET IDENTIFICATION
INT 15 U - AMI PCI BIOS - GET BIOS AND CHIPSET IDENTIFICATION
	AX = DA8Ch
	CL = subfunction
	    00h get BIOS version string
		ES:DI -> 12-byte buffer for version string
	    01h get chipset identification
		BL = what to retrieve
		    (00h host/PCI bridge,01h motherboard chipset)
		ES:DI -> 12-byte buffer for chipset identification (see #00543)
Return: CF clear if successful
	    ES:DI buffer filled
	CF set on error
	    AH = error code (86h unsupported subfunction)
Notes:	the v1.00.05.AX1 BIOS returns "1.00.05.AX1 " as its version string
	subfunction 01h returns the five bytes read from the PCI configuration
	  registers 00h-05h (see #00878), padded to 12 bytes with NULs
SeeAlso: AX=DB04h,PORT C000h"Neptune"

Format of AMI PCI BIOS chipset identification:
Offset	Size	Description	(Table 00543)
 00h	WORD	vendor ID (see #00732 at AX=B102h)
		8086h = Intel
 02h	WORD	device ID
		0484h (BL=01h)
		04A3h (BL=00h)
 04h	BYTE	low byte of PCI Command Register
 05h  7 BYTEs	unused (00h)

Top
15DA8E - INT 15 U - AMI PCI BIOS - ???
INT 15 U - AMI PCI BIOS - ???
	AX = DA8Eh
	???
Return: CF clear if successful
	    ???
	CF set on error
	    AH = error code (86h unsupported subfunction)
Note:	in the	v1.00.05.AX1 BIOS, this call always returns failure

Top
15DA92 - INT 15 U - AMI PCI BIOS - GET CPU TYPE AND SPEED
INT 15 U - AMI PCI BIOS - GET CPU TYPE AND SPEED
	AX = DA92h
Return: CF clear (successful)
	AL = CPU stepping (see also #00529 at INT 15/AH=C9h)
	AH = CPU model
	BL = CPU family (05h = Pentium, etc.)
	CX = external clock speed in MHz (BCD)
	    (0040h,0050h,0060h,0066h are possible return values on my
	      Pentium with the Intel "Neptune" chipset)
	EAX high word destroyed
Note:	90 MHz and faster Pentium CPUs can be configured to run at varying
	  multiples of the external clock speed, i.e. a typical 90 MHz Pentium
	  system will run the motherboard at 60 MHz (my 90 MHz Pentium returns
	  0060h in CX)
SeeAlso: AH=C9h

Top
15DA99 - INT 15 U - AMI PCI BIOS - GET/SET ??? FLAG
INT 15 U - AMI PCI BIOS - GET/SET ??? FLAG
	AX = DA99h
	CL = subfunction
	    00h check if ???
	    01h set ??? flag
	    02h clear ??? flag
Return: CF clear if successful
	    AH = ??? (00h,01h)
	    AL = 00h
	CF set on error
	    AH = error code (86h unsupported subfunction)
Note:	the flag is stored in bit 0 of CMOS RAM location 2Ch for BIOS
	  v1.00.05.AX1

Top
15DB00 - INT 15 U - AMI BIOS - Flash ROM - READ FLASH BIOS
INT 15 U - AMI BIOS - Flash ROM - READ FLASH BIOS
	AX = DB00h
	DS:SI -> parameter block (see #00544)
	ES:DI -> buffer for copied information
Return: CF clear if successful
	CF set on error
	    AH = status (86h if not implemented)
	DS,ES destroyed, possibly other registers
Note:	used by FMUP.EXE, Intel's Flash Memory Update utility
SeeAlso: AH=DAh,AX=DB01h,AX=DB04h

Format of AMI BIOS Flash ROM parameter block:
Offset	Size	Description	(Table 00544)
 00h 32 BYTEs	ASCIZ description of the file's contents
 20h	BYTE	Logical area type (see #00545)
 21h	DWORD	logical area size (overall size of area)
 25h	BYTE	flag: load from file (FF=yes, 00=no)
 26h	BYTE	flag: reboot after update (FF=yes, 00=no)
 27h	BYTE	flag: update entire image (FF=yes, 00=no)
 28h 24	BYTEs	ASCIZ logical area name (cooresponds to offset 20)
		"System BIOS"
		"Logo Data Area", etc.
 40h 15 BYTEs	ASCIZ time stamp string: MM/DD/YY-HH:MM
 4Fh	BYTE	checksum for this header (sum of all bytes except this one)
		if checksum would be 00h,01h, or FFh, it is set to 2Ah
 50h	DWORD	this file's starting address (offset in image)
 54h	DWORD	size of image chunk in this file
 58h	BYTE	logical area type - same as offset 20h
 59h	BYTE	flag: last file in chain (FF=yes, 00=no)
 5Ah  6 BYTEs	ASCIZ signature "FLASH"
 60h 16 BYTEs	ASCIZ filename of next file in chain
 70h 16 BYTEs	ASCIZ BIOS reserved string (usually version #)
Notes:	this block is identical in format to the 128-byte header on an AMI
	  BIOS Update file
	for AX=DB00h, the following fields must be specified: 50h,54h,58h;
	  the fields at offset 20h and 5Ah should also be set if possible
	the fields at offsets 40h and 70h will be set on return, if available
SeeAlso: #00546

Top
15DB01 - INT 15 U - AMI BIOS - Flash ROM - GET BIOS SUBSYSTEM INFORMATION
INT 15 U - AMI BIOS - Flash ROM - GET BIOS SUBSYSTEM INFORMATION
	AX = DB01h
	CL = BIOS subsystem information identifier (see #00545)
Return: CF clear if successful
	    AX = 0000h
	    ES:DI -> 56-byte record describing subsystem (see #00546)
	CF set on error
	    AH = status
		01h nonexistent subsystem
		86h function not supported
	    AL = 00h
Note:	used by FMUP.EXE, Intel's Flash Memory Update utility
SeeAlso: AX=DB00h,AX=DB02h

(Table 00545)
Values for AMI BIOS subsystem identifier:
 00h	recovery code
 01h	system BIOS
 02h	PCI configuration data
 03h	OEM logo data area (see #00547)
 04h	system BIOS/Language Set (one system)
	configuration utility (another system)
SeeAlso: #00546

Format of AMI BIOS subsystem information:
Offset	Size	Description	(Table 00546)
 00h	BYTE	subsystem identifier/logical area type (see #00545)
 01h	DWORD	subsystem (FlashROM page) size in bytes
 05h	BYTE	flag: loadable from file (FFh=yes)
 06h	BYTE	flag: reboot after update (FFh=yes)
 07h	BYTE	flag: update entire image (FFh=yes)
 08h 24 BYTEs	subsystem/logical area name
 20h	BYTE	subsystem identifier???
 21h	BYTE	flag: reprogrammable if FFh
 22h	BYTE	??? (01h,02h seen)
 23h  5 BYTEs	??? (apparently always 00h)
 28h 16 BYTEs	BIOS reserved string (usually version number)
SeeAlso: #00544

Format of AMI OEM Logo data area:
Offset	Size	Description	(Table 00547)
 00h  8 BYTEs	signature
		"TEXTLOGO" if text-mode OEM logo
		8 DUP (FFh) if unused
 08h	WORD	offset of logo font definition table
 0Ah	WORD	offset of logo data
 0Ch	WORD	size of logo font table in words
 0Eh	WORD	offset of upper left corner of logo in video page
 10h	WORD	width of logo
 12h	WORD	height of logo
 14h	BYTE	reserved???
 var	var	logo font definition (16 bytes per character)
 var	var	logo data as character/attribute pairs
Note:	the attribute for the logo characters specifies which font will be used
	  for that character.  If bit 3 is cleared, the normal system font is
	  used; if bit 3 is set, the logo font is used, with screen colors
	  adjusted to match the corresponding non-bright attribute for the
	  system font
SeeAlso: #00545,#00546

Top
15DB02 - INT 15 U - AMI BIOS - Flash ROM - GET SIZE OF FLASH ROM PROGRAMMING CODE
INT 15 U - AMI BIOS - Flash ROM - GET SIZE OF FLASH ROM PROGRAMMING CODE
	AX = DB02h
Return: CF clear
	AX = 0000h
	BX = size of ROM programming code in bytes
Note:	used by FMUP.EXE, Intel's Flash Memory Update utility
SeeAlso: AX=DB00h,AX=DB03h

Top
15DB03 - INT 15 U - AMI BIOS - Flash ROM - GET FLASH ROM PROGRAMMING CODE
INT 15 U - AMI BIOS - Flash ROM - GET FLASH ROM PROGRAMMING CODE
	AX = DB03h
	DS:SI -> ???
	ES:DI -> buffer for Flash ROM programming code
	BX = ???
	DX = ???
Return: CF clear if successful
	    AH = ???
	    BX = ???
	    DX = ???
	CF set on error
	    AH = error code
Notes:	the entry point for the copied code (which is fully relocatable) is
	  the very first byte (see #00548)
	used by FMUP.EXE, Intel's Flash Memory Update utility
SeeAlso: AX=DB00h,AX=DB02h

(Table 00548)
Call AMI BIOS ??? code with:
	AL = function
	    00h erase Flash ROM block
		CX = ???
			bit 8: address line A16 inverted
		???
	    01h program new data into Flash ROM
		???
	    02h perform cold reboot
	DS:SI -> ??? (see #00549)
	ES:DI -> ???
Return: AH = status
	    00h successful
	    01h invalid function
	    02h ???
	    03h ???
	    04h ???
Note:	DS:SI and ES:DI are ignored for function 02h

Format of AMI BIOS Flash ROM programming parameters:
Offset	Size	Description	(Table 00549)
 00h 32 BYTEs	???
 20h	BYTE	BIOS section number
 21h	DWORD	length of BIOS code/data in bytes
 25h 43 BYTEs	???
 50h	DWORD	???
 54h 44 BYTEs	???
SeeAlso: #00548

Top
15DB04 - INT 15 U - AMI BIOS - Flash ROM - GET BIOS REVISION
INT 15 U - AMI BIOS - Flash ROM - GET BIOS REVISION
	AX = DB04h
Return: CF clear if supported
	    BL:BH:DL:DH = BIOS revision string
		(e.g. 'AX1 ' for v1.00.05.AX1, 'AV0M' for v1.00.03.AV0M)
	    CL = flag: DH valid?
		00h ignore DH; ignore DL as well if 20h (space)
		01h ignore DH if 20h (space)
	    CH = BIOS status
		00h normal mode
		01h ROM recovery mode
	    AL = ??? (02h)
Note:	used by FMUP.EXE, Intel's Flash Memory Update utility
SeeAlso: AX=DA05h,AX=DA15h,AX=DA8Ch,AX=DB00h,AX=DB03h

Top
15DE00 - INT 15 - DESQview - GET PROGRAM NAME
INT 15 - DESQview - GET PROGRAM NAME
	AX = DE00h
Return: AX = offset into DESQVIEW.DVO of program most recently selected from
	      the "Switch Windows" menu (see #00550)
Note:	always returns AX=0000h under DESQview/X
SeeAlso: AX=DE07h

Format of program entry in DESQVIEW.DVO:
Offset	Size	Description	(Table 00550)
 00h	BYTE	length of name (FFh if end of file)
 01h  N BYTEs	name
      2 BYTEs	keys to invoke program (second = 00h if only one key used)
	BYTE	program type
		00h normal program
		04h divider
		80h Delete a Program
		81h Change a Program
	WORD	??? apparently always 0000h

Top
15DE01 - INT 15 - DESQview - UPDATE "OPEN WINDOW" MENU
INT 15 - DESQview - UPDATE "OPEN WINDOW" MENU
	AX = DE01h
Return: nothing
Notes:	reads DESQVIEW.DVO, disables Open menu if file not in current directory
	NOP for DESQview/X

Top
15DE02 - INT 15 - DESQview 1.x only - SET ??? FLAG FOR CURRENT WINDOW
INT 15 - DESQview 1.x only - SET ??? FLAG FOR CURRENT WINDOW
	AX = DE02h
Return: nothing
Note:	this call is a NOP in DV 2.x
SeeAlso: AX=DE03h

Top
15DE03 - INT 15 - DESQview 1.x only - GET ??? FOR CURRENT WINDOW
INT 15 - DESQview 1.x only - GET ??? FOR CURRENT WINDOW
	AX = DE03h
Return: AX = ??? for current window
	BX = ??? for current window
Note:	this call is a NOP in DV 2.x
SeeAlso: AX=DE02h

Top
15DE04 - INT 15 - DESQview - GET AVAILABLE COMMON MEMORY
INT 15 - DESQview - GET AVAILABLE COMMON MEMORY
	AX = DE04h
Return: BX = bytes of common memory available
	CX = largest block available
	DX = total common memory in bytes
SeeAlso: AX=DE05h,AX=DE06h

Top
15DE05 - INT 15 - DESQview - GET AVAILABLE CONVENTIONAL MEMORY
INT 15 - DESQview - GET AVAILABLE CONVENTIONAL MEMORY
	AX = DE05h
Return: BX = KB of memory available
	CX = largest block available
	DX = total conventional memory in KB
SeeAlso: AX=DE04h,AX=DE06h

Top
15DE06 - INT 15 - DESQview - GET AVAILABLE EXPANDED MEMORY
INT 15 - DESQview - GET AVAILABLE EXPANDED MEMORY
	AX = DE06h
Return: BX = KB of expanded memory available
	CX = largest block available
	DX = total expanded memory in KB
SeeAlso: AX=DE04h,AX=DE05h

Top
15DE07 - INT 15 - DESQview - "APPNUM" - GET CURRENT PROGRAM'S NUMBER
INT 15 - DESQview - "APPNUM" - GET CURRENT PROGRAM'S NUMBER
	AX = DE07h
Return: AX = number of program as it appears on the "Switch Windows" menu
Note:	this API call may be made from a hardware interrupt handler
SeeAlso: AX=DE00h

Top
15DE08 - INT 15 - DESQview - GET ???
INT 15 - DESQview - GET ???
	AX = DE08h
Return: AX = 0000h if ??? is not set to the current task
	     0001h if ??? is set to the current task

Top
15DE09 - INT 15 - DESQview - UNIMPLEMENTED
INT 15 - DESQview - UNIMPLEMENTED
	AX = DE09h
Return: nothing (NOP in DV 1.x and 2.x)

Top
15DE0A - INT 15 - DESQview v2.00+ - "DBGPOKE" - DISPLAY CHARACTER ON STATUS LINE
INT 15 - DESQview v2.00+ - "DBGPOKE" - DISPLAY CHARACTER ON STATUS LINE
	AX = DE0Ah
	BL = character
Return: character displayed, next call will display in next position (which
	wraps back to the start of the line if off the right edge of screen)
Notes:	displays character on bottom line of *physical* screen, regardless
	  of current size of window (even entirely hidden)
	does not know about graphics display modes, just pokes the characters
	  into display memory
	this API call may be made from a hardware interrupt handler
SeeAlso: AX=1003h

Top
15DE0B - INT 15 - DESQview v2.00+ - "APILEVEL" - DEFINE MINIMUM API LEVEL REQUIRED
INT 15 - DESQview v2.00+ - "APILEVEL" - DEFINE MINIMUM API LEVEL REQUIRED
	AX = DE0Bh
	BL = API level minor version number
	BH = API level major version number
Return: AX = maximum API level (AH = major, AL = minor)
Notes:	if the requested API level is greater than the version of DESQview, a
	  "You need a newer version" error window is popped up
	the API level defaults to 1.00, and is inherited by child tasks

Top
15DE0C - INT 15 - DESQview v2.00+ - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
INT 15 - DESQview v2.00+ - "GETMEM" - ALLOCATE "SYSTEM" MEMORY
	AX = DE0Ch
	BX = number of bytes
Return: ES:DI -> allocated block or 0000h:0000h (DV 2.26+)
Note:	use SETERROR (AX=DE15h) to avoid a user prompt if there is insufficient
	  system memory
SeeAlso: AX=1001h,AX=102Eh,AX=DE0Dh,AX=DE15h,AX=DE19h

Top
15DE0D - INT 15 - DESQview v2.00+ - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
INT 15 - DESQview v2.00+ - "PUTMEM" - DEALLOCATE "SYSTEM" MEMORY
	AX = DE0Dh
	ES:DI -> previously allocated block
Return: nothing
SeeAlso: AX=1002h,AX=DE0Ch

Top
15DE0E - INT 15 - DESQview v2.00+ - "FINDMAIL" - FIND MAILBOX BY NAME
INT 15 - DESQview v2.00+ - "FINDMAIL" - FIND MAILBOX BY NAME
	AX = DE0Eh
	ES:DI -> name to find (see #00551)
	CX = length of name
Return: BX = 0000h not found
	     0001h found
		DS:SI = object handle
SeeAlso: AH=12h/BH=11h,AH=12h/BH=12h"GETNAME"

(Table 00551)
Values for special DESQview mailbox names:
 "COM1" ... "COM4"	RBcomm using COM1 ... COM4
 "DESQview/X Help Engine"
 "DESQview/X Network Server"  Network Manager
 "DESQview X Server0"	X-Windows server
 "DESQview X Server7"	X-Windows printing service
 "INBOX"		DESQview/X LPD requests
 "OUTBOX"		DESQview/X LPD responses
 "WAITBOX"		semaphore to synchronize DESQview/X LPD communications
 "_DVNM_"		DV/X v1.10 network manager

Top
15DE0F - INT 15 - DESQview v2.00+ - ENABLE DESQview EXTENSIONS
INT 15 - DESQview v2.00+ - ENABLE DESQview EXTENSIONS
	AX = DE0Fh
Return: AX and BX destroyed (seems to be bug, weren't saved&restored)
Notes:	sends a manager stream with opcodes AEh, BDh, and BFh to task's window
	enables an additional mouse mode

Top
15DE10 - INT 15 - DESQview v2.00+ - "PUSHKEY" - PUT KEY INTO KEYBOARD INPUT STREAM
INT 15 - DESQview v2.00+ - "PUSHKEY" - PUT KEY INTO KEYBOARD INPUT STREAM
	AX = DE10h
	BH = scan code
	BL = character
Return: nothing
Notes:	a later read will get the keystroke as if it had been typed by the user
	multiple pushes are read last-in first-out
	if a script exists for the pushed key in the current application, the
	  script will be executed
	early copies of DV 2.00 destroy AX, BX, ES, and DI
SeeAlso: INT 16/AH=05h

Top
15DE11BL00 - INT 15 - DESQview v2.00+ - "JUSTIFY" - EN/DISABLE AUTOM. WINDOW JUSTIFICATION
INT 15 - DESQview v2.00+ - "JUSTIFY" - EN/DISABLE AUTOM. WINDOW JUSTIFICATION
	AX = DE11h
	BL = 00h      viewport will not move automatically
	     nonzero  viewport will move to keep cursor visible (default)
Return: nothing

Top
15DE12BX0000 - INT 15 - DESQview v2.01+ - "CSTYLE" - SET "C"-COMPATIBLE CONTROL CHAR INTERPRET
INT 15 - DESQview v2.01+ - "CSTYLE" - SET "C"-COMPATIBLE CONTROL CHAR INTERPRET
	AX = DE12h
	BX = 0000h    select normal style (linefeed only moves down)
	     nonzero  select C style (linefeed moves to start of next line)
Return: nothing
Note:	set on a per-task basis, and inherited from the parent task

Top
15DE13 - INT 15 - DESQview v2.20+ - "GETCRIT" - GET CRITICAL NESTING COUNT
INT 15 - DESQview v2.20+ - "GETCRIT" - GET CRITICAL NESTING COUNT
	AX = DE13h
Return: BX = number of calls to BEGINC or ENTERC
	      (see INT 15/AX=101Bh,INT 15/AX=DE1Ch) without matching ENDC
	      (see INT 15/AX=101Ch)
Note:	this API call may be made from within a hardware interrupt handler
SeeAlso: AX=101Bh,AX=101Ch,AX=DE1Bh,AX=DE1Ch

Top
15DE14 - INT 15 - DESQview v2.20+ - GET OBJECT TYPE
INT 15 - DESQview v2.20+ - GET OBJECT TYPE
	AX = DE14h
	ES:DI -> object
Return: BL = 00h not an object
	     08h window or task
	     09h mailbox
	     0Ah keyboard
	     0Bh timer
	     0Ch objectq
	     0Fh pointer
	     10h panel
SeeAlso: AX=1016h

Top
15DE15 - INT 15 - DESQview v2.20+ - SET ERROR HANDLING
INT 15 - DESQview v2.20+ - SET ERROR HANDLING
	AX = DE15h
	BL = error handling mode
	    00h post system error on all error conditions
	    01h return carry flag set on calls to ADDTO, SUBFROM, and WRITE
		messages sent to mailboxes which fail due to lack of system
		or common memory
	    02h (v2.26+) same as 01h, but also return null pointer for GETMEM
		calls which fail due to lack of system memory
Return: nothing
SeeAlso: AX=DE0Ch,AX=DE16h

Top
15DE16 - INT 15 - DESQview v2.20+ - GET ERROR HANDLING
INT 15 - DESQview v2.20+ - GET ERROR HANDLING
	AX = DE16h
Return: BL = current mode
	    00h always post system error
	    01h return carry flag set on failed mailbox writes
	    02h return CF set on failed mailbox writes and NULL on failed
		GETMEM calls
SeeAlso: AX=DE15h

Top
15DE17 - INT 15 - DESQview v2.20-2.25 - reserved
INT 15 - DESQview v2.20-2.25 - reserved
	AX = DE17h
Return: pops up "Programming error" window
Note:	AX = 1117h is NOT identical to this call under DESQview 2.20 thru 2.25
SeeAlso: AX=1117h

Top
15DE17 - INT 15 - DESQview v2.26+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
INT 15 - DESQview v2.26+ - "ASSERTMAP" - GET/SET MAPPING CONTEXT
	AX = DE17h
	BX = function
	    0000h   get current mapping context without setting
	    nonzero set new mapping context to BX
Return: BX = mapping context in effect before call
Notes:	mapping contexts determine conventional-memory addressability; setting
	  a mapping context ensures that the associated program and data areas
	  are in memory for access.  Usable by drivers, TSRs and shared
	  programs.
	caller need not be running under DESQview
	this API call may be made from a hardware interrupt handler
SeeAlso: AX=1016h,AX=1117h,AX=DE21h,INT 2F/AX=1685h

Top
15DE18 - INT 15 - DESQview v2.20+ - internal - ???
INT 15 - DESQview v2.20+ - internal - ???
	AX = DE18h
	BP = function number
	    high byte must be 10h
	    low byte is function
		00h set ???
		    BL = ???  (00h-10h, video mode???)
		    BH = value to store
		03h set ???
		    BL = ??? (stored in driver)
		0Ah get ???
		    ES:DI -> 18-byte buffer to hold ???
Note:	calls video driver (NOP for Hercules driver,probably CGA and MCGA also)

Top
15DE19 - INT 15 - DESQview v2.23+ - "GETCOMMON" - ALLOCATE "COMMON" MEMORY
INT 15 - DESQview v2.23+ - "GETCOMMON" - ALLOCATE "COMMON" MEMORY
	AX = DE19h
	BX = number of bytes to allocate
Return: AX = 0000h successful
		ES:DI -> allocated block
	     nonzero insufficient memory
Note:	this API call may be made from within a hardware interrupt handler
SeeAlso: AX=DE0Ch,AX=DE15h,AX=DE1Ah

Top
15DE1A - INT 15 - DESQview v2.23+ - "PUTCOMMON" - DEALLOCATE "COMMON" MEMORY
INT 15 - DESQview v2.23+ - "PUTCOMMON" - DEALLOCATE "COMMON" MEMORY
	AX = DE1Ah
	ES:DI -> previously allocated block
Return: AX = 0000h (successful)
Note:	this function may be called from within a hardware interrupt handler
SeeAlso: AX=DE0Dh,AX=DE19h

Top
15DE1B - INT 15 - DESQview v2.23+ internal - DECREMENT CRITICAL NESTING COUNT
INT 15 - DESQview v2.23+ internal - DECREMENT CRITICAL NESTING COUNT
	AX = DE1Bh
Return: nothing
SeeAlso: AX=101Ch,AX=DE13h,AX=DE1Ch

Top
15DE1C - INT 15 - DESQview v2.23+ - "ENTERC" - INCREMENT CRITICAL NESTING COUNT
INT 15 - DESQview v2.23+ - "ENTERC" - INCREMENT CRITICAL NESTING COUNT
	AX = DE1Ch
Return: nothing
Notes:	similar to AX=101Bh, but begins the critical region without ensuring
	  that DOS is free
	the official documentation states that this call should be paired with
	  "ENDC" (AX=101Ch); no mention is made of AX=DE1Bh
	this API call may be made from within a hardware interrupt handler
SeeAlso: AX=101Bh,AX=101Ch,AX=DE13h,AX=DE1Bh

Top
15DE1D - INT 15 - DESQview v2.23+ - "PUTKEY" - FAKE USER KEYSTROKES
INT 15 - DESQview v2.23+ - "PUTKEY" - FAKE USER KEYSTROKES
	AX = DE1Dh
	DX = segment of handle for task to receive keystroke
	BL = character
	BH = scan code
Return: AX = 0000h if successful
	   nonzero if receiver's keyboard buffer was full
Notes:	the key is treated as though the user had pressed it, ignoring any
	  script which may be bound to the key, and using the current field
	  table if the keyboard object is in field processing mode
	multiple PUTKEYs are seen in the order in which they are executed
SeeAlso: AX=DE10h

Top
15DE1E - INT 15 - DESQview v2.23+ - "SCRNINFO" - GET TRUE VIDEO PARAMETERS
INT 15 - DESQview v2.23+ - "SCRNINFO" - GET TRUE VIDEO PARAMETERS
	AX = DE1Eh
Return: CL = actual number of rows on screen
	CH = actual number of columns on screen
	BL = actual video mode (may differ from INT 10/AH=0Fh return) (v2.26+)
Note:	this API call may be made from a hardware interrupt handler
SeeAlso: INT 10/AH=0Fh

Top
15DE1F - INT 15 - DESQview v2.23+ - "DOSUSER" - GET HANDLE OF TASK CURRENTLY USING DOS
INT 15 - DESQview v2.23+ - "DOSUSER" - GET HANDLE OF TASK CURRENTLY USING DOS
	AX = DE1Fh
Return: BX = segment of task handle or 0000h if no tasks are using DOS
Note:	this API call may be made from within a hardware interrupt handler
SeeAlso: AX=DE13h,INT 21/AH=34h

Top
15DE20 - INT 15 - DESQview v2.26+ - "DISPATCHINT" - INTERRUPT ANOTHER TASK
INT 15 - DESQview v2.26+ - "DISPATCHINT" - INTERRUPT ANOTHER TASK
	AX = DE20h
	BX = segment of handle of task to interupt
	DX:CX -> FAR interrupt routine
	BP,SI,DI,DS,ES as required by interrupt routine
Return: nothing
Notes:	unlike "PGMINT" (AX=1021h), DISPATCHINT may be applied to the task
	  making the DISPATCHINT call
	multiple "DISPATCHINT" calls are processed in the order in which they
	  were executed
	the FAR routine is entered with the current ES, DS, SI, DI, and BP
	  values, using the task's internal stack (see AX=101Ah); only SS:SP
	  needs to be preserved
	this API call may be made from within a hardware interrupt handler
SeeAlso: AX=1021h,AX=DE2Ah

Top
15DE21 - INT 15 - DESQview v2.26+ - "ASSERTVIR" - CONTROL 386 SCREEN VIRTUALIZATION
INT 15 - DESQview v2.26+ - "ASSERTVIR" - CONTROL 386 SCREEN VIRTUALIZATION
	AX = DE21h
	BX = new state
	    0000h turn off
	    nonzero turn on
Return: BX = old state of virtualization
Notes:	this API call may be made from within a hardware interrupt handler
	under DV 2.40 and 2.42, this call appears to have no effect and always
	  returns a nonzero value in BX which appears to be the offset within
	  the DV common memory segment of the caller's task object; it may
	  only have an effect within a hardware interrupt handler
SeeAlso: AX=1117h,AX=DE17h

Top
15DE22 - INT 15 - DESQview v2.26+ - "PROCESSMEM" - GET TASK MEMORY STATUS
INT 15 - DESQview v2.26+ - "PROCESSMEM" - GET TASK MEMORY STATUS
	AX = DE22h
	DX = segment of task handle
Return: DX = total amount of memory in paragraphs
	BX = amount of system memory in paragraphs
	CX = largest block of system memory available in paragraphs
	AX = memory flags (see #00552)
Notes:	if the task handle is a child task, the returned values will be for the
	  process containing the task, rather than the task itself
	if the process's system memory is swapped out, BX,CX,DX remain
	  unchanged, because the memory usage cannot be determined
SeeAlso: AX=DE04h,AX=DE05h,AX=DE06h

Bitfields for DESQview process memory flags:
Bit(s)	Description	(Table 00552)
 0	system memory resides in shared memory
 1	process's memory is swapped out
 2	process's system memory is swapped out

Top
15DE23 - INT 15 U - DESQview v2.31+ - ???
INT 15 U - DESQview v2.31+ - ???
	AX = DE23h
	BX = ??? IRQ number on first PIC?
	CX = ??? IRQ number on second PIC?
Return: ???
Note:	called by QEMM 6.00+

Top
15DE24 - INT 15 - DESQview v2.40+ - "XNEWPROC" - START NEW APPLICATION
INT 15 - DESQview v2.40+ - "XNEWPROC" - START NEW APPLICATION
	AX = DE24h
	BX = length of .DVP data
	CX = length of ??? string
	DS:SI -> ??? string
	ES:DI -> .DVP data (see #00427 at AX=102Ch)
Return: BX = segment of task handle??? or 0000h on error
Note:	this call is similar to AX=102Ch except that it can interpret the
	  extended DVP data
SeeAlso: AX=102Ch

Top
15DE25 - INT 15 - DESQview v2.40+ - "GETDVPATH" - GET DESQview DIRECTORY
INT 15 - DESQview v2.40+ - "GETDVPATH" - GET DESQview DIRECTORY
	AX = DE25h
	ES:DI -> 67-byte buffer for ASCIZ directory name
Return: ES:DI buffer filled with directory from which DESQview was started
BUG:	DV 2.42 does not place a terminating NUL at the end of the directory
	  name, so if the buffer is not cleared to zeros before the call,
	  there is no way to tell where the directory name ends.  This bug
	  has been fixed in DV 2.52 (DV/X 1.02)
SeeAlso: AX=DE2Eh,INT 21/AH=47h

Top
15DE26 - INT 15 - DESQview v2.40+ - "GETFOREGROUND" - GET KEYBOARD FOCUS
INT 15 - DESQview v2.40+ - "GETFOREGROUND" - GET KEYBOARD FOCUS
	AX = DE26h
Return: BX = segment of handle for task with keyboard focus
Note:	under DESQview/X, the X server always has the keyboard focus unless a
	  "direct" window is active
SeeAlso: AX=DE2Fh,INT 2F/AX=DE0Ah

Top
15DE27 - INT 15 - DESQview v2.50+ - "ADDINSTANCEDATA" - ADD PER-TASK SAVE/RESTORE AREA
INT 15 - DESQview v2.50+ - "ADDINSTANCEDATA" - ADD PER-TASK SAVE/RESTORE AREA
	AX = DE27h
	BX = type
	    0000h process
	    0001h task
	ES:DI -> list of Instance Item Structures (see #00553)
Return: CF clear if successful
	    AX = ???
	    BX = ???
	CF set on error
	    AX = error code???
		0004h invalid BX value
Note:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
SeeAlso: INT 2F/AX=DE08h,INT 2F/AX=DE09h

Format of DESQview Instance Item Structure [one element of list]:
Offset	Size	Description	(Table 00553)
 00h	WORD	length of data area DESQview should save and restore on context
		  switches (0000h = end of list)
 02h	DWORD	pointer to area to be saved/restored

Top
15DE28 - INT 15 U - DESQview v2.50+ - ???
INT 15 U - DESQview v2.50+ - ???
	AX = DE28h
	BX = segment of ??? or 0000h for default
	???
Return: ???
Note:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
SeeAlso: AX=DE2Ah

Top
15DE29BX0000 - INT 15 U - DESQview/X - ???
INT 15 U - DESQview/X - ???
	AX = DE29h
	BX = 0000h
	???
Return: CF clear if successful
	    ???
	CF set on error
Notes:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
	under DESQview 2.60, this function and all other subfunctions of
	  AX=DE29h always return CF set, as they are unique to DESQview/X

Top
15DE29BX0001 - INT 15 U - DESQview/X - ???
INT 15 U - DESQview/X - ???
	AX = DE29h
	BX = 0001h
	DX = segment of window handle
Return: CF clear if successful
	    AX = ???
	    DX = ???
	CF set on error
Note:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.

Top
15DE29BX0002 - INT 15 U - DESQview/X - ???
INT 15 U - DESQview/X - ???
	AX = DE29h
	BX = 0002h
	DX = segment of window handle
Return: CF clear if successful
	    AX = ???
	    DX = ???
	CF set on error
Note:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.

Top
15DE29BX0003 - INT 15 U - DESQview/X - ???
INT 15 U - DESQview/X - ???
	AX = DE29h
	BX = 0003h
	DX = segment of window handle
Return: CF clear if successful
	    ???
	CF set on error
Note:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.

Top
15DE29BX0004 - INT 15 U - DESQview/X - GET DISPLAY NAME
INT 15 U - DESQview/X - GET DISPLAY NAME
	AX = DE29h
	BX = 0004h
	CX = size of buffer in bytes
	DX = segment of window handle
	ES:DI -> buffer for display name
Return: CF clear if successful
	    buffer filled with ASCIZ display name (truncated if necessary) or
	      null string if no display
	CF set on error
Notes:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
	the name ":0" refers to the local display

Top
15DE29BX0005 - INT 15 U - DESQview/X - ???
INT 15 U - DESQview/X - ???
	AX = DE29h
	BX = 0005h
	???
Return: CF clear if successful
	    ???
	CF set on error
Note:	under DESQview 2.60, this function and all other subfunctions of
	  AX=DE29h always return CF set, as they are unique to DESQview/X

Top
15DE2A - INT 15 - DESQview v2.50+ - "DISPATCHINTAFTERDOS" - INTERRUPT ANOTHER TASK
INT 15 - DESQview v2.50+ - "DISPATCHINTAFTERDOS" - INTERRUPT ANOTHER TASK
	AX = DE2Ah
	BX = segment of handle for task to interrupt or 0000h for caller
	DX:CX -> interrupt routine
	BP,SI,DI,DS,ES as required by interrupt routine
Return: nothing
Notes:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
	this call is the same as AX=DE20h except that it will delay
	  interrupting the specified task until after it has exited DOS
SeeAlso: AX=1021h,AX=DE20h

Top
15DE2B - INT 15 - DESQview v2.50+ - "OBJNEXT" - TRAVERSE OBJECT LIST
INT 15 - DESQview v2.50+ - "OBJNEXT" - TRAVERSE OBJECT LIST
	AX = DE2Bh
	ES:DI -> starting object
		0000h:0000h for first object in list???
Return: AX = status
	    0000h successful
		ES:DI -> next object of same type (window/non-window)
	    0001h failed (ES:DI was not a valid handle)
Notes:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
	there are two separate lists, one for window/task objects and one
	  for all other objects
SeeAlso: AX=1016h,AX=DE2Ah,AX=DE2Ch

Top
15DE2C - INT 15 - DESQview v2.50+ - "WININFO" - GET WINDOW INFORMATION
INT 15 - DESQview v2.50+ - "WININFO" - GET WINDOW INFORMATION
	AX = DE2Ch
	DX = window information format version (0100h for DESQview 2.5x)
	BX = segment of window handle or 0000h for default
	ES:DI -> buffer for window information (see #00554)
Return: AX = status
	    0000h successful
Note:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
SeeAlso: AX=1000h,AX=1016h,AX=DE01h,AX=DE2Bh

Format of DESQview window information:
Offset	Size	Description	(Table 00554)
 00h	BYTE	task flag: 00h window, 01h task
 01h	BYTE	process number if owner task
		00h if non-owner task
 02h	WORD	segment of owner's handle, 0000h if orphaned
 04h	WORD	mapping context (see #00416 at AX=1016h)
 06h	BYTE	task status (see #00555)
 07h	BYTE	unused
 08h	WORD	status bits (see #00556)
 0Ah	BYTE	01h if foreground-only window

(Table 00555)
Values for DESQview task status:
 00h	"Waiting" waiting for input
 01h	"Idle" keyboard poll limit reached
 03h	same as 01h
 04h	"Pausing" INT 15/AX=1000h pause called
 04h	DV/X direct: user did something to allow task switch
 05h	"ModeChg" video mode about to be changed
 06h	"ModeNtf" notify that video mode changed
 07h	"MoniCh" requested change to other monitor
 08h	"StartPgm" control relinquished to start new process
 09h	"MgrCan" made window manager CANCEL command
 0Ah	"Slicing" time slice expired
 0Bh	"Exit DOS" notify on DOS calls
 0Ch	"Enter DOS" process is re-entering DOS
 0Dh	"Terminate" INT 21/AH=4Ch or task freed
 0Eh	"BrkNxt" Control-Break pressed
 0Fh	"MgrCol" keyboard focus taken away
 10h	"PgmInt" interrupted by API call from another task
 11h	"BldOpen" call to INT 15/AX=DE01h

Bitfields for DESQview task status bits:
Bit(s)	Description	(Table 00556)
 6	task is freeing another task
 5	process is being created
 4	user suspended process
 3	process suspended itself
 2	process is resized direct window (suspended)
 1	process swapped out
 0	DESQview process

Top
15DE2D - INT 15 U - DESQview v2.50+ - GET/SET SOCKET HANDLER
INT 15 U - DESQview v2.50+ - GET/SET SOCKET HANDLER
	AX = DE2Dh
	CX = direction
	    FFFFh set socket handler
		DX:BX -> FAR function for socket interface
			must be of the format described under INT 63"DESQview"
			  at #03515
	    other get socket handler
		Return: DX:BX -> socket handler (see #03515)
Notes:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
	the "set" subfunction is normally called only by SOCKET.DVR
SeeAlso: AX=DE2Eh,INT 63"DESQview",#03515

Top
15DE2E - INT 15 U - DESQview v2.50+ - SOCKET API
INT 15 U - DESQview v2.50+ - SOCKET API
	AX = DE2Eh
	DX:BX -> socket record (see #00558)
		0000h:0000h to create a new socket record
Return: CX = size of socket record in bytes
	DX:BX -> socket record which was used
Notes:	DESQview 2.50-2.52 are distributed as part of DESQview/X v1.0x.
	socket records are allocated from common memory
	for Unix compatibility, each socket and connection on a socket is
	  allocated a DOS file handle (referencing an SFT for NUL) which is
	  used on various calls to specify which of possibly multiple
	  connections is to be operated upon
SeeAlso: AX=DE2Dh,INT 61/AX=0001h/SF=0001h"VINES",INT 63"DESQview"

(Table 00557)
Values for DESQview/X socket API function number:
 0000h	initialize socket???
 0001h	"gethostname"
 0002h	"ioctl" check for input
 0003h	"sleep" delay for specified period
 0004h	"htons" convert word to network (big-endian) byte order
 0005h	"select"
 0006h	"bsd_close"/"so_close" close socket
 0007h	NOP
 0008h	"connect" initiate connection on socket
 0009h	"recv"/"recvfrom" read from socket
 000Ah	"socket"
 000Bh	???
 000Ch	"gethostbyname"
 000Dh	"send"/"sendto" write to socket
 000Eh	??? (does something to all connections for process)
 000Fh	"getpid" get process identifier
 0010h	"gettimeofday"
 0011h	"bind" assign name to socket
 0012h	"listen" listen for connections on socket
 0013h	"accept" accept connection on socket
 0014h	connect to X server
 0015h	"gethostbyaddr" get host information for an address
 0016h	"getprotobyname"
 0017h	"getprotobynumber"
 0018h	"getservbyname"
 0019h	"getservbyport"
 001Ah	"getsockname" determine name bound to socket
 001Bh	"getpeername" get name of connected peer
 001Ch	"getsockopt"/"setsockopt"
 001Dh	"so_exit"	 close all sockets for calling process
 001Eh	"issock" determine whether file handle references socket
 001Fh	"so_attach" reattach previously detached socket
 0020h	"so_detach" temporarily detach socket
 0021h	"dvpath" get DESQview directory (see also AX=DE24h)
 0022h	"NewProc" start new application (see also AX=102Ch)
 0023h	"so_linkup"
 0024h	"CanonicalPath" canonicalize filename (see also INT 21/AH=60h)
 0025h	indirect INT 15h call
 0026h	Network Manager interface
 0027h	"so_unlink"    close connection from "so_linkup"
 0028h	"raisepriority"
 0029h	"lowerpriority"
 002Ah	"so_private" ???
 FFFFh	"NetExit" (appears to be a NOP)

Format of DESQview/X socket record:
Offset	Size	Description	(Table 00558)
 00h	WORD	signature F0ADh
 02h	WORD	function number (see #00557)
 04h	WORD	returned error code (see #00578)
 06h	WORD	maximum message size??? (usually 0400h)
 08h	WORD	PSP segment to use or 0000h if socket not valid
 0Ah	WORD	scratch space (JFT size)
 0Ch	DWORD	scratch space (JFT address)
 10h	DWORD	mailbox handle (initialized by function 0000h)
 14h	DWORD	timer object handle (initialized by function 0000h)
---function 0000h---
 18h	WORD	(ret) ???
---function 0001h---
 18h	WORD	(ret) status???
 1Ah 128 BYTEs	(ret) ASCIZ hostname (empty string if not on network)
 9Ah	WORD	maximum length of hostname to return
---function 0002h---
 18h	WORD	(ret) status
 1Ah	WORD	socket's file handle
 1Ch	WORD	IOCTL function
		05h "FIONREAD" determine available input
		06h "FIONBIO" set blocking state of socket
 1Eh	WORD	(return, subfn 05h) number of bytes available for reading
		(call, subfn 06h) 0000h blocking, nonzero nonblocking
---function 0003h---
 18h  2 BYTEs	unused
 1Ah	WORD	delay time in seconds
---function 0004h---
 18h	WORD	(ret) result in network (big-endian) byte order
 1Ah	WORD	value to convert to network byte order
---function 0005h---
 18h	WORD	(ret) number of handles meeting the specified conditions???
 1Ah	WORD	number of file handles in each bitset
 1Ch	DWORD	bitset of socket handles to check for readability
 20h	DWORD	bitset of socket handles to check for writability
 24h	DWORD	bitset of socket handles to check for errors
 28h	WORD	timeout in ??? or 0000h to block until some socket ready
 2Ah	DWORD	???
 2Eh	DWORD	???
---function 0006h---
 18h	WORD	(ret) status: 0000h if successful, FFFFh on error
 1Ah	WORD	socket's file handle
---function 0008h---
 18h	WORD	(ret) status: 0000h if successful, FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	WORD	0001h if socket name specified, 0000h if not
 1Eh	WORD	length of socket name
 20h  N BYTEs	name of socket to which to connect
---function 0009h---
 18h	WORD	(ret) number of bytes actually read, 0000h if connection
			closed, or FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	WORD	number of bytes to read
 1Eh	WORD	flags
 20h	WORD	0000h if no source address desired
		0001h if source address is to be stored (datagram sockets)
 22h	WORD	length of source address
 24h 110 BYTEs	source address
 92h 1K BYTEs	buffer for data to be read
---function 000Ah---
 18h	WORD	(ret) socket's file handle or FFFFh on error
 1Ah	WORD	address family (0001h,0002h)
 1Ch	WORD	socket type
 1Eh	WORD	protocol
---function 000Bh---
 18h	WORD	(ret) 0001h if ??? or FFFFh on error
 1Ah	WORD	socket's file handle
 1Eh	WORD	(call) ???
---function 000Ch---
 18h 128 BYTEs	ASCIZ hostname (special case if empty string or "unix")
 98h	???	(ret) packed 'hostent' structure
 A2h	???	(ret) ???
---function 000Dh---
 18h	WORD	(ret) number of bytes actually written or FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	WORD	number of bytes to write
 1Eh	WORD	number of bytes to follow in subsequent writes???
 20h	WORD	flags
 22h	WORD	0000h if no destination specified, 0001h if destination present
 24h	WORD	0001h if broadcast message???, 0000h if not
		(ignored if no destination specified)
 26h	WORD	length of destination address
 28h 110 BYTEs	destination address
 96h 1K BYTEs	buffer containing data to be written
---function 000Eh---
 no additional fields
---function 000Fh---
 18h	DWORD	(ret) DESQview task handle of calling process
---function 0010h---
 18h	DWORD	(ret) current time
 1Ch	DWORD	(ret) ???
---function 0011h---
 18h	WORD	(ret) status: 0000h if successful, FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	WORD	length of name
 1Eh  N BYTEs	buffer for socket name
---function 0012h---
 18h	WORD	(ret) status: 0000h if successful, FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	WORD	maximum backlog of pending connections allowed on socket
---function 0013h---
 18h	WORD	(ret) file handle for new connection or FFFFh on error
 1Ah	WORD	listen()ing socket's file handle
 1Ch	WORD	(call) length of buffer for connecting entity's address
		(ret) actual length of address
 1Eh  N BYTEs	buffer for connecting entity's address (110 bytes???)
---function 0014h---
 18h	WORD	(ret) socket's file handle or FFFFh on error
 1Ah  4 BYTEs	(ret) ???
 1Eh	WORD	(ret) ???
 20h	WORD	(ret) ???
 22h 256 BYTEs	ASCIZ X display name
122h	???
---function 0015h---
 18h	WORD	(call) type of address??? (test for 0001h seen)
 1Ah	WORD	(call) length of buffer for host address
 1Ch 110 BYTEs	buffer containing ASCIZ host address
 8Ah	WORD	(ret) offset of official host name
 8Ch	WORD	(ret) offset of alias list???
 8Eh	WORD	(ret) address type???
 90h	WORD	(ret) length of an address in bytes???
 92h	WORD	(ret) offset of address???
 9Ah  N BYTEs	(ret) buffer for hostname, alias list, and host address
---function 0016h---
 18h	???	buffer for ASCIZ protocol name
 98h	???
---function 0017h---
 18h	WORD	(call) protocol number
 1Ah	WORD	(ret) ??? or 0001h
---function 0018h---
 18h 128 BYTEs	buffer containing ASCIZ ???
 98h 128 BYTEs	buffer containing ASCIZ ???
118h	WORD	(ret) ???
---function 0019h---
 18h	WORD	port number
 1Ah 128 BYTEs	(call) ASCIZ host name
		(ret) packed servent strctures???
 9Ah	WORD	(ret) ???
---function 001Ah---
 18h	WORD	(ret) 0000h if successful, FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	WORD	(call) length of buffer for socket name
		(ret) actual length of socket name
 1Eh  N BYTEs	buffer for socket name
---function 001Bh---
 18h	WORD	(ret) status: 0000h if successful, FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	WORD	(call) size of buffer for name
		(ret) actual size of name
 1Eh  N BYTEs	buffer for peer's name
---function 001Ch---
 18h	WORD	(ret) status: 0000h if successful, FFFFh on error
 1Ah	WORD	direction: 0000h to get, 0001h to set
 1Ch	WORD	socket's file handle
 1Eh	WORD	option level
 20h	WORD	option name
 22h	WORD	(call) length of buffer for option value
		(ret) actual length of option value
 24h  N BYTEs	buffer for option value
---function 001Dh---
 no additional fields
---function 001Eh---
 18h	WORD	(ret) status: 0000h ??? or 0001h ???
 1Ah	WORD	file handle which may or may not be a socket
---function 001Fh---
 18h	WORD	(ret) file handle or FFFFh on error
 1Ah	DWORD	(call) pointer to Socket Context Record (see #00579) of a
			previously detached socket
---function 0020h---
 18h	WORD	(ret) status: 0000h if successful or FFFFh on error
 1Ah	WORD	socket's file handle
 1Ch	DWORD	(ret) pointer to Socket Context Record (see #00579) for
			the file handle
---function 0021h---
 18h 64 BYTEs	buffer for DESQview startup directory (see AX=DE25h)
---function 0022h---
 18h	DWORD	(ret) task handle of new application
 1Ch	WORD	size of .DVP data
 1Eh 129 BYTEs	ASCIZ ???
 9Fh  N BYTEs	.DVP data (see #00427 at AX=102Ch)
---function 0023h---
 18h	WORD	(ret) ??? or FFFFh on error
 1Ah	WORD	socket's file handle???
---function 0024h---
 18h	WORD	(ret) DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
			0000h if successful
 1Ah 129 BYTEs	ASCIZ filename/pathname
11Bh 129 BYTEs	ASCIZ canonicalized filename/pathname (see INT 21/AH=60h)
---function 0025h---
 18h	WORD	value of AX
 1Ah	WORD	value of BX
 1Ch	WORD	(call) value of CX for call if AH value other than 12h
		(call) number of stack parameters if AH value is 12h
		(ret) returned CX for calls other than INT 15/AH=12h
 1Eh	WORD	value of DX
 20h	WORD	value of DI
 22h	WORD	value of SI
 24h	WORD	value of DS
 26h	WORD	value of ES
 28h	WORD	(ret) value of FLAGS after call
 2Ah  N DWORDs	(call) stack parameters for INT 15/AH=12h call
		(ret) stack results from INT 15/AH=12h call
---function 0026h---
 18h	WORD	(call) Network Manager subfunction (see #00559)
		(ret) status??? (0000h on error)
 1Ah	WORD	(call) size of parameter data
		(ret) size of returned data
 1Ch  N BYTEs	(call) parameter data required by call (see #00560,#00561,#00577)
		(ret) result data (see #00570,#00571,#00576)
---function 0027h---
 18h	WORD	(ret) status: 0000h if successful, FFFFh on error
 1Ah	WORD	socket's file handle
---functions 0028h,0029h---
 18h	WORD	(call) file handle for which to set priority low/high
			FFFFh to change calling task's priority
---function 002Ah---
 no additional fields

(Table 00559)
Values for DESQview/X Network Manager subfunction:
 0004h	"so_exit"???
 0005h	"gethostbyname"
 0006h	"gethostname"
 0009h	"socket"
 000Dh	"gethostbyaddr"
 000Fh	"getprotobyname"
 0010h	get protocol name for protocol number
 0011h	"getservbyname"
 0012h	"getservbyport" (see #00563)
 0013h	"getsockname"??? (see #00564)
 0016h	"shutdown" (see #00565)
 0017h	kill Network Manager
 0018h	"getpeername"??? (see #00566)
 0019h	??? (called by socket function 0000h) (see #00567)
 001Ah	??? (see #00568)
 001Bh	"so_linkup" (see #00569)
 001Dh	"getnetstatus" get network services (see #00570)
 001Fh	"getpwuid"
 0020h	"getpwnam"
 0021h	"getpwvar"
 0022h	"crypt"
 0023h	"so_unlink"
 0024h	"getlogin" (see #00571)
 0028h	"sethostent"
 0029h	"gethostent"
 002Ah	"soaddhost"
 002Bh	"soupdatehost"
 002Ch	"sodeletehost"
 002Dh	"setservent"
 002Eh	"getservent"
 002Fh	"setpwent"
 0030h	"getpwent" (see #00572)
 0031h	"sethostpath" (see #00573)
 0032h	"endservent"
 0033h	"endhostent"
 0034h	"getnettype" get IP network number (see #00574)
 0035h	??? (pops up Network Manager window)
 0037h	"getnettimeout" (see #00575)
 0038h	get machine name and IP address (see #00576)
 0039h	"getuid" (see #00577)
---DV/X v2.0+ ---
 0041h	"deletepwnam"
 0045h	"renamepw"

Format of Function 0026h/Subfunction 000Fh data:
Offset	Size	Description	(Table 00560)
 00h  8 BYTEs	(ret) ???

Format of Function 0026h/Subfunction 0010h data:
Offset	Size	Description	(Table 00561)
 00h  2 BYTEs	(ret) ???
 02h	WORD	(ret) protocol number
 04h	WORD	(call) protocol number for which to get name
 06h	WORD	(ret) ???
 08h	var	(ret) ASCIZ protocol name
 N	var	(ret) ASCIZ protocol name

Format of Function 0026h/Subfunction 0011h data:
Offset	Size	Description	(Table 00562)
 00h  8 BYTEs	???
 08h	var	(ret) ASCIZ protocol name
	var	(ret) ASCIZ ??? name
	var	(ret) ASCIZ ??? name

Format of Function 0026h/Subfunction 0012h data:
Offset	Size	Description	(Table 00563)
 00h  8 BYTEs	(ret) ???

Format of Function 0026h/Subfunction 0013h data:
Offset	Size	Description	(Table 00564)
 00h 116 BYTEs	(ret) ???

Format of Function 0026h/Subfunction 0016h ("shutdown") data:
Offset	Size	Description	(Table 00565)
 00h	WORD	(ret) shutdown status (0000h successful, FFFFh error)
 02h  4 BYTEs	(ret) ???
 04h	WORD	(call) socket handle
 06*h	WORD	(call) what (0 = receives, 1 = sends, 2 = both)

Format of Function 0026h/Subfunction 0018h data:
Offset	Size	Description	(Table 00566)
 00h 116 BYTEs	(ret) ???

Format of Function 0026h/Subfunction 0019h data:
Offset	Size	Description	(Table 00567)
 00h  4 BYTEs	(ret) ???
 04h	DWORD	(ret) task handle of ???

Format of Function 0026h/Subfunction 001Ah data:
Offset	Size	Description	(Table 00568)
 00h 38 BYTEs	(ret) ???

Format of Function 0026h/Subfunction 001Bh data:
Offset	Size	Description	(Table 00569)
 00h 10 BYTEs	(ret) ???

Format of Function 0026h/Subfunction 001Dh return data [array]:
Offset	Size	Description	(Table 00570)
 00h	WORD	??? or FFFFh if end of array
 02h  7 BYTEs	???
 09h 27 BYTEs	ASCIZ name of service

Format of Function 0026h/Subfunction 0024h return data:
Offset	Size	Description	(Table 00571)
 00h	var	ASCIZ username

Format of Function 0026h/Subfunction 0030h data:
Offset	Size	Description	(Table 00572)
 00h	WORD	(call) UID or 0000h for current user
		(ret) ???
 02h	WORD	(ret) UID
 04h  6 BYTEs	(ret) ???
 0Ah	var	(ret) ASCIZ username
	var	(ret) ASCIZ encrypted password
	var	(ret) ASCIZ initial ("home") directory

Format of Function 0026h/Subfunction 0031h ("sethostpath") data:
Offset	Size	Description	(Table 00573)
 00h   4 BYTEs	???
 04h 144 BYTEs	ASCIZ ???

Format of Function 0026h/Subfunction 0034h data:
Offset	Size	Description	(Table 00574)
 00h  1-3 BYTEs IP network number of caller's machine (low byte first)

Format of Function 0026h/Subfunction 0037h ("getnettimeout") return data:
Offset	Size	Description	(Table 00575)
 00h	WORD	(ret) timeout
 02h  2 BYTEs	(ret) ???

Format of Function 0026h/Subfunction 0038h return data:
Offset	Size	Description	(Table 00576)
 00h	BYTE	???
 01h  4 BYTEs	IP address
 05h	var	ASCIZ machine name
	???

Format of Function 0026h/Subfunction 0039h ("getuid") return data:
Offset	Size	Description	(Table 00577)
 00h	WORD	user ID
 02h  2 BYTEs	???
SeeAlso: #00573,#00576

(Table 00578)
Values for DESQview/X socket error code:
 0000h	successful
 0009h	"BADF" bad file handle
 000Ch	"ENOMEM" out of memory
 000Eh	"EFAULT" bad address
 0016h	"EINVAL" invalid argument
 0018h	"EMFILE" too many open files
 0020h	"EPIPE" ??? broken pipe
 0023h	"EWOULDBLOCK" operation cannot be completed at this time
 0024h	"EINPROGRESS" operation now in progress
 0026h	"ENOTSOCK" socket invalid
 0028h	"EMSGSIZE" message too long to send atomically
 002Ch	"ESOCKTNOSUPPORT" socket type not supported
 002Fh	"EAFNOSUPPORT" address family not supp. by protocol fam.
 0031h	"EDOM" argument too large
 0038h	"EISCONN" socket is already connected
 0039h	"ENOTCONN" socket is not connected

Format of DESQview/X Socket Context Record:
Offset	Size	Description	(Table 00579)
 00h	DWORD	pointer to next Socket Context Record, 0000h:0000h if last
 04h	WORD	SFT index for socket, 00FFh if not connected, FFFFh if detached
 06h	WORD	PSP segment of owner or 0000h
 08h	WORD	mapping context of owning window (see #00416 at AX=1016h)
 0Ah  2 BYTEs	???
 0Ch	WORD	address family
 0Eh	WORD	socket type
 10h	WORD	protocol
 12h	WORD	socket state
		0001h created
		0002h bound
		0003h listening???
		0005h connected
 14h	DWORD	timer object handle
 18h	DWORD	object handle (mailbox???)
 1Ch	DWORD	object handle of parent of above object or 0000h:0000h
 20h	DWORD	pointer to ??? or 0000h
 24h  6 BYTEs	???
 2Ah	WORD	file handle for socket or FFFFh
 2Ch  2 BYTEs	???
 2Eh	WORD	nonzero if socket nonblocking
---network connections only---
 30h  2 BYTEs	???
 32h	WORD	???
 34h  4 BYTEs	(big-endian) IP address of remote
 38h  6 BYTEs	???

Top
15DE2F - INT 15 - DESQview v2.50+ - "VIDEONOTIFY" - HAS DIRECT WINDOW BEEN ACTIVE?
INT 15 - DESQview v2.50+ - "VIDEONOTIFY" - HAS DIRECT WINDOW BEEN ACTIVE?
	AX = DE2Fh
Return: BX = status
	    0001h keyboard focus has been given to a direct window since the
		last call
	    0000h if not
Notes:	DESQview 2.50-2.53 are distributed as part of DESQview/X v1.00-1.10.
	Quarterdeck stated that this call would not be available under future
	  versions of DESQview Classic, but it is still present in v2.60

Top
15DE30 - INT 15 - DESQview v2.50+ - "GETDVXVERSION" - GET DESQview/X VERSION
INT 15 - DESQview v2.50+ - "GETDVXVERSION" - GET DESQview/X VERSION
	AX = DE30h
Return: BX = version (BH=major, BL=minor) or 0000h if not DESQview/X
Notes:	DESQview 2.50-2.53 are distributed as part of DESQview/X v1.00-1.10.
	you must first check the DESQview version to verify that it is 2.50 or
	  greater
SeeAlso: INT 21/AH=2Bh/CX=4445h

Top
15DE31 - INT 15 - DESQview/X v1.10 - ???
INT 15 - DESQview/X v1.10 - ???
	AX = DE31h
	CX = ???
	    0000h ???
	    nonzero ???
	???
Return: ???

Top
15DF - INT 15 - Juko UNIQUE UX BIOS - TURBO MODE CONTROL
INT 15 - Juko UNIQUE UX BIOS - TURBO MODE CONTROL
	AH = DFh
	AL = function
	    00h turn on Turbo mode
	    01h turn off Turbo mode
	    02h set Turbo mode according to hardware switch
SeeAlso: INT 13/AX=FFFFh

Top
15E00F - INT 15 - Compaq Systempro - MULTIPROCESSOR DISPATCH
INT 15 - Compaq Systempro - MULTIPROCESSOR DISPATCH
	AX = E00Fh
	ES:BX -> start of 2nd processor's execution
Return: AL = status
	    0Fh successful
	    00h failure
SeeAlso: AX=E10Eh,AX=E200h

Top
15E10E - INT 15 - Compaq Systempro - MULTIPROCESSOR END-OF-DISPATCH
INT 15 - Compaq Systempro - MULTIPROCESSOR END-OF-DISPATCH
	AX = E10Eh
	ES:BX -> start of 2nd processor's execution
Return: AL = status
	    0Fh successful (halted)
	    00h failure (not halted)
SeeAlso: AX=E00Fh,AX=E200h

Top
15E200 - INT 15 - Compaq Systempro - MULTIPROCESSOR AVAILABLE
INT 15 - Compaq Systempro - MULTIPROCESSOR AVAILABLE
	AX = E200h
Return: AX bit 15 set if 2nd processor available
SeeAlso: AX=E00Fh,AX=E10Eh

Top
15E4 - INT 15 - Tandy??? - ???
INT 15 - Tandy??? - ???
	AH = E4h
	AL = subfunction
	    21h, 89h, 8Ah, 8Bh called by 386MAX v6.01
	DL = ???
Return: DL = 00h if successful???
Note:	the section of code in 386MAX which calls these functions also checks
	  whether the ROM BIOS has both Tandy and Phoenix Technologies
	  signatures if these calls fail; the Tandy 1000SL/TL BIOS does not
	  support this function, however, returning the usual CF set/AH=86h for
	  "unsupported function".

Top
15E4 - INT 15 - Compaq ROM BIOS 1993/08/03 and newer - ???
INT 15 - Compaq ROM BIOS 1993/08/03 and newer - ???
	AH = E4h
	AL = subfunction
	    00h get advanced system info
		Return: CF clear
			AH = 00h
			CX = 0000h
			BX = advanced system info flags (read from [XBDA:0094h])
			     bit 4: "mode 2" (dual harddisk controller) enabled
	    01h,02h unsupported by this ROM version
		Return: CF set, AH = 86h
	    80h set advanced system info
		BX = advanced system info flags
		     bit 4: enable "mode 2" (dual harddisk controller)
		???
		Return: ???
		Note:	On Compaq machines with "COMPAQ" signature at
			  F000h:FFEAh (see also MEM F000h:FFE0h), MS-DOS/PC DOS
			  IO.SYS/IBMBIO.COM use	this function to set bit 4
			  before calling INT 13h/AH=08h to retrieve the number
			  of hard disks installed (DL).
	    90h,A0h,B0h,C0h,D0h,E0h,F0h set ???
		Return: CF clear
			AH = 00h
			CX = 0000h
			BX = ???
	    81h,91h,A1h,B1h,C1h,D1h,E1h,F1h unsupported by 3/8/93&4/8/93 ROMs
		Return: CF set, AH = 86h
Notes:	functions 80h/90h/etc. are not supported by the 4/8/93 EISA System ROM
	these functions are not supported by the 7/26/93 LTE Lite 386 ROM

Top
Section -


Top
15E800 - INT 15 - Compaq Contura - GET ???
INT 15 - Compaq Contura - GET ???
	AX = E800h
Return: AX = 0000h
	BH = 00h
	BL = ??? (read from port 0C7Ch)
	CH = ???
	CL = ???
	DX = 0000h
Note:	also supported by 3/8/93 DESKPRO/i and 7/26/93 LTE Lite 386 ROM BIOS

Top
15E800 - INT 15 - Compaq Contura Aero, Contura 400 - GET SYSTEM MODEL CODE???
INT 15 - Compaq Contura Aero, Contura 400 - GET SYSTEM MODEL CODE???
	AX = E800h
	BX = ??? (0000h)
Return: CF clear if successful
	    BH = 02h
	    BL = submodel??? (0Ch,0Dh,34h,38h,40h,44h,48h,64h,68h)
	CF set on error
	others???
Notes:	used by Compaq's SOFTPAQ number 0937 EPPBIOS.SYS to determine whether
	  the Enhanced Parallel Port expected by that driver is available
	used by Compaq's SOFTPAW number 0856 VOLCTRL.EXE to determine whether
	  volume control hardware expected by that driver is available

Top
15E800 - INT 15 - Compaq Prolinea - GET ???
INT 15 - Compaq Prolinea - GET ???
	AX = E800h
	BX = ??? (1369h)
Return: BH = 01h
	BL = ???
	others???
Note:	used by Compaq's SOFTPAQ number 0718 INT10_04.SYS to determine whether
	  the fix that driver applies is required (will not install if BX on
	  return is other than 010Eh or 010Fh)
SeeAlso: AX=E802h

Top
15E801 - INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS
INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS
	AX = E801h
Return: CF clear if successful
	    AX = extended memory between 1M and 16M, in K (max 3C00h = 15MB)
	    BX = extended memory above 16M, in 64K blocks
	    CX = configured memory 1M to 16M, in K
	    DX = configured memory above 16M, in 64K blocks
	CF set on error
Notes:	supported by the A03 level (6/14/94) and later XPS P90 BIOSes, as well
	  as the Compaq Contura, 3/8/93 DESKPRO/i, and 7/26/93 LTE Lite 386 ROM
	  BIOS
	supported by AMI BIOSes dated 8/23/94 or later
	on some systems, the BIOS returns AX=BX=0000h; in this case, use CX
	  and DX instead of AX and BX
	this interface is used by Windows NT 3.1, OS/2 v2.11/2.20, and is
	  used as a fall-back by newer versions if AX=E820h is not supported
	this function is not used by MS-DOS 6.0 HIMEM.SYS when an EISA machine
	  (for example with parameter /EISA) (see also MEM F000h:FFD9h), or no
	  Compaq machine was detected, or parameter /NOABOVE16 was given.
SeeAlso: AH=8Ah"Phoenix",AX=E802h,AX=E820h,AX=E881h"Phoenix"

Top
15E802 - INT 15 - Compaq Contura - GET ???
INT 15 - Compaq Contura - GET ???
	AX = E802h
Return: CF clear
	AX = 0000h
	BX = ???
	CX = 0000h
Note:	this function is also supported by the LTE Lite 25c, 25E, and 486; not
	  supported by LTE Lite 20 and 25.
SeeAlso: AX=E801h"Phoenix"

Top
15E820 - INT 15 - newer BIOSes - GET SYSTEM MEMORY MAP
INT 15 - newer BIOSes - GET SYSTEM MEMORY MAP
	AX = E820h
	EAX = 0000E820h
	EDX = 534D4150h ('SMAP')
	EBX = continuation value or 00000000h to start at beginning of map
	ECX = size of buffer for result, in bytes (should be >= 20 bytes)
	ES:DI -> buffer for result (see #00581)
Return: CF clear if successful
	    EAX = 534D4150h ('SMAP')
	    ES:DI buffer filled
	    EBX = next offset from which to copy or 00000000h if all done
	    ECX = actual length returned in bytes
	CF set on error
	    AH = error code (86h) (see #00496 at INT 15/AH=80h)
Notes:	originally introduced with the Phoenix BIOS v4.0, this function is
	  now supported by most newer BIOSes, since various versions of Windows
	  call it to find out about the system memory
	a maximum of 20 bytes will be transferred at one time, even if ECX is
	  higher; some BIOSes (e.g. Award Modular BIOS v4.50PG) ignore the
	  value of ECX on entry, and always copy 20 bytes
	some BIOSes expect the high word of EAX to be clear on entry, i.e.
	  EAX=0000E820h
	if this function is not supported, an application should fall back
	  to AX=E802h, AX=E801h, and then AH=88h
	the BIOS is permitted to return a nonzero continuation value in EBX
	  and indicate that the end of the list has already been reached by
	  returning with CF set on the next iteration
	this function will return base memory and ISA/PCI memory contiguous
	  with base memory as normal memory ranges; it will indicate
	  chipset-defined address holes which are not in use and motherboard
	  memory-mapped devices, and all occurrences of the system BIOS as
	  reserved; standard PC address ranges will not be reported
SeeAlso: AH=C7h,AX=E801h"Phoenix",AX=E881h,MEM xxxxh:xxx0h"ACPI"

Format of Phoenix BIOS system memory map address range descriptor:
Offset	Size	Description	(Table 00580)
 00h	QWORD	base address
 08h	QWORD	length in bytes
 10h	DWORD	type of address range (see #00581)

(Table 00581)
Values for System Memory Map address type:
 01h	memory, available to OS
 02h	reserved, not available (e.g. system ROM, memory-mapped device)
 03h	ACPI Reclaim Memory (usable by OS after reading ACPI tables)
 04h	ACPI NVS Memory (OS is required to save this memory between NVS
	  sessions)
 other	not defined yet -- treat as Reserved
SeeAlso: #00580

Top
15E881 - INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS (32-bit)
INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS (32-bit)
	AX = E881h
Return: CF clear if successful
	    EAX = extended memory between 1M and 16M, in K (max 3C00h = 15MB)
	    EBX = extended memory above 16M, in 64K blocks
	    ECX = configured memory 1M to 16M, in K
	    EDX = configured memory above 16M, in 64K blocks
	CF set on error
Notes:	supported by AMI BIOSes dated 8/23/94 or later
	this interface is used by Windows NT 3.1, OS/2 v2.11/2.20, and is
	  used as a fall-back by newer versions if AX=E820h is not supported
SeeAlso: AX=E801h"Phoenix",AX=E820h"Phoenix"

Top
15E900 - INT 15 - PhysTechSoft PTS ROM-DOS - RESET WATCHDOG TIMER
INT 15 - PhysTechSoft PTS ROM-DOS - RESET WATCHDOG TIMER
	AX = E900h
Return: nothing

Top
15E901 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE DIAGNOSTIC CONTROL POINT CODE
INT 15 - PhysTechSoft PTS ROM-DOS - WRITE DIAGNOSTIC CONTROL POINT CODE
	AX = E901h
	CX = control point code (codes 000h-1FFh system backup)
Return: nothing
Note:	Provided by PhysTechSoft's PTS ROM-DOS and displayed by SETUP.COM.
SeeAlso: AX=E902h,INT 14/AH=05h"PTS ROM-DOS",INT 14/AH=06h"PTS ROM-DOS"

(Table 04093)
Values for PhysTechSoft PTS ROM-DOS control point code:
 ???	LOADER: Stack loaded
	LOADER: IVT initialized
	LOADER: Channel initialized
	LOADER: Local loading
	LOADER: Flash tested
	LOADER: Load from ROM
	LOADER: Load ROM comp.
	LOADER: Load from Flash
	LOADER: Load Flash co.
	BIOS: Chipset initialized
	BIOS: CPU tested
	BIOS: Stack tested
	BIOS: CRC tested
	BIOS: IVT initialized
	BIOS: Vars initialized
	BIOS: Resident init
	BIOS: Channel initialized
	BIOS: Memory tested
	BIOS: SRAM tested
	BIOS: EMS tested
	BIOS: PIC initialized
	BIOS: PPI initialized
	BIOS: DMA initialized
	BIOS: Timer initialized
	BIOS: Disks initialized
	BIOS: Boot loaded
	BIOS: Failed boot
	DOS: Job point: (up to 25???)
SeeAlso: #04091

Top
15E902 - INT 15 - PhysTechSoft PTS ROM-DOS - SET DIAGNOSTIC DOS ERROR FLAG
INT 15 - PhysTechSoft PTS ROM-DOS - SET DIAGNOSTIC DOS ERROR FLAG
	AX = E902h
	CX = diagnostic flag mask (see #04091,#04092)
Return: nothing
Note:	Provided by PhysTechSoft's PTS ROM-DOS and displayed by SETUP.COM.
	  DOS error flags can be assigned by application software.
SeeAlso: AX=E901h,INT 14/AH=05h"PTS ROM-DOS", INT 14/AH=06h"PTS ROM-DOS"

Bitfields for PhysTechSoft PTS ROM-DOS BIOS error flags:
Bit(s)	Description	(Table 04091)
 ???	Processor test failed.
	Stack test failed.
	BIOS code damaged.
	Conventional memory test failed.
	SRAM test failed.
	EMS test failed.
	Boot-sector damaged.
	Boot-sector read error.
	Loader setup damaged.
	BIOS setup damaged.
SeeAlso: #04092,#04093

Bitfields for PhysTechSoft PTS ROM-DOS LOADER error flags::
Bit(s)	Description	(Table 04092)
 ???	Processor test failed.
	Loader code damaged.
	Loader code in RAM damaged.
	Loader setup in flash-memory damaged.
	BIOS setup in flash-memory damaged.
	BIOS offset in flash-memory field damaged.
	BIOS size in flash-memory field damaged.
	BIOS in flash-memory damaged.
	BIOS in ROM damaged.
	Last operation field damaged.
	Channel error.
	Setup in flash-memory damaged.
	Loading BIOS from control channel failed.
	Loading DOS from control channel failed.
SeeAlso: #04091

Top
15E903 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-ENABLE FLASH-DISK
INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-ENABLE FLASH-DISK
	AX = E903h
Return: nothing
Note:	Enabling writing on Flash disk can lead to corruption of EMS disk info.
SeeAlso: AX=E904h,AX=E905h

Top
15E904 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-PROTECT FLASH-DISK
INT 15 - PhysTechSoft PTS ROM-DOS - WRITE-PROTECT FLASH-DISK
	AX = E904h
Return: nothing
SeeAlso: AX=E903h,AX=E905h

Top
15E905 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE IMAGE OF BIOS TO FLASH-MEMORY
INT 15 - PhysTechSoft PTS ROM-DOS - WRITE IMAGE OF BIOS TO FLASH-MEMORY
	AX = E905h
	DS:SI -> buffer
Return: nothing
SeeAlso: AX=E903h,INT 14/AH=05h"PTS ROM-DOS",INT 14/AH=06h"PTS ROM-DOS"

Top
15E906 - INT 15 - PhysTechSoft PTS ROM-DOS - READ SETUP INFORMATION FROM FLASH-DISK
INT 15 - PhysTechSoft PTS ROM-DOS - READ SETUP INFORMATION FROM FLASH-DISK
	AX = E906h
	DS:SI -> buffer
Return:	AL = error code (00h = no error, 01h = setup information not found)
SeeAlso: AX=E907h,INT 14/AH=05h"PTS ROM-DOS",INT 14/AH=06h"PTS ROM-DOS"

Top
15E907 - INT 15 - PhysTechSoft PTS ROM-DOS - WRITE SETUP INFORMATION ON FLASH-DISK
INT 15 - PhysTechSoft PTS ROM-DOS - WRITE SETUP INFORMATION ON FLASH-DISK
	AX = E907h
	DS:SI -> buffer
Return:	nothing
SeeAlso: AX=E906h

Top
15E908 - INT 15 - PhysTechSoft PTS ROM-DOS - SET BREAKPOINT
INT 15 - PhysTechSoft PTS ROM-DOS - SET BREAKPOINT
	AX = E908h
	CL = flags
	    bit 1: =0 operate in one-fold mode
		   =1 operate in many-fold mode
	    bit 0: =0 send debug information to control channel
		   =1 activate handler
	ES:SI = breakpoint address
	DX:DI = handler address
Return: AH = error code
	    00h no error
	    01h incorrect parameter
	    02h no room in breakpoint table
SeeAlso: AX=E909h,INT 14/AH=05h"PTS ROM-DOS",INT 14/AH=06h"PTS ROM-DOS"

Top
15E909 - INT 15 - PhysTechSoft PTS ROM-DOS - REMOVE BREAKPOINT
INT 15 - PhysTechSoft PTS ROM-DOS - REMOVE BREAKPOINT
	AX = E909h
	ES:SI = breakpoint address
Return:	AH = error code
	    00h no error
	    01h incorrect parameter
SeeAlso: AX=E908h,INT 14/AH=05h"PTS ROM-DOS",INT 14/AH=06h"PTS ROM-DOS"

Top
15F200CX454D - INT 15 - Tandon memory mapper - Tandon MAPPER HARDWARE INITIALIZATION CHECK ???
INT 15 - Tandon memory mapper - Tandon MAPPER HARDWARE INITIALIZATION CHECK ???
	AX = F200h
	CX = 454Dh
Return: CF clear if hardware already initialised
	    BX = upper RAM areas in use
		bit 0: C000-C3FF
		bit 1: C400-C7FF
		...
		bit 11: EC00-EFFF
	CF set if hardware not initialised yet

Top
1600 - INT 16 - KEYBOARD - GET KEYSTROKE
INT 16 - KEYBOARD - GET KEYSTROKE
	AH = 00h
Return: AH = BIOS scan code
	AL = ASCII character
Notes:	on extended keyboards, this function discards any extended keystrokes,
	  returning only when a non-extended keystroke is available
	the BIOS scan code is usually, but not always, the same as the hardware
	  scan code processed by INT 09.  It is the same for ASCII keystrokes
	  and most unshifted special keys (F-keys, arrow keys, etc.), but
	  differs for shifted special keys
	some (older) clone BIOSes do not discard extended keystrokes and manage
	  function AH=00h and AH=10h the same
	the K3PLUS v6.00+ INT 16 BIOS replacement doesn't discard extended
	  keystrokes (same as with functions 10h and 20h), but will always
	  translate prefix E0h to 00h. This allows old programs to use extended
	  keystrokes and should not cause compatibility problems
SeeAlso: AH=01h,AH=05h,AH=10h,AH=20h,AX=AF4Dh"K3PLUS",INT 18/AH=00h
SeeAlso: INT 09,INT 15/AH=4Fh

Top
1601 - INT 16 - KEYBOARD - CHECK FOR KEYSTROKE
INT 16 - KEYBOARD - CHECK FOR KEYSTROKE
	AH = 01h
Return: ZF set if no keystroke available
	ZF clear if keystroke available
	    AH = BIOS scan code
	    AL = ASCII character
Note:	if a keystroke is present, it is not removed from the keyboard buffer;
	  however, any extended keystrokes which are not compatible with 83/84-
	  key keyboards are removed by IBM and most fully-compatible BIOSes in
	  the process of checking whether a non-extended keystroke is available
	some (older) clone BIOSes do not discard extended keystrokes and manage
	  function AH=00h and AH=10h the same
	the K3PLUS v6.00+ INT 16 BIOS replacement doesn't discard extended
	  keystrokes (same as with functions 10h and 20h), but will always
	  translate prefix E0h to 00h. This allows old programs to use extended
	  keystrokes and should not cause compatibility problems
SeeAlso: AH=00h,AH=11h,AH=21h,INT 18/AH=01h,INT 09,INT 15/AH=4Fh

Top
1602 - INT 16 - KEYBOARD - GET SHIFT FLAGS
INT 16 - KEYBOARD - GET SHIFT FLAGS
	AH = 02h
Return: AL = shift flags (see #00582)
	AH destroyed by many BIOSes
SeeAlso: AH=12h,AH=22h,INT 17/AH=0Dh,INT 18/AH=02h,MEM 0040h:0017h

Bitfields for keyboard shift flags:
Bit(s)	Description	(Table 00582)
 7	Insert active
 6	CapsLock active
 5	NumLock active
 4	ScrollLock active
 3	Alt key pressed (either Alt on 101/102-key keyboards)
 2	Ctrl key pressed (either Ctrl on 101/102-key keyboards)
 1	left shift key pressed
 0	right shift key pressed
SeeAlso: #00587,#03743,MEM 0040h:0017h,#M0010

Top
1603 - INT 16 - KEYBOARD - SET TYPEMATIC RATE AND DELAY
INT 16 - KEYBOARD - SET TYPEMATIC RATE AND DELAY
	AH = 03h
	AL = subfunction
	    00h set default delay and rate (PCjr and some PS/2)
	    01h increase delay before repeat (PCjr)
	    02h decrease repeat rate by factor of 2 (PCjr)
	    03h increase delay and decrease repeat rate (PCjr)
	    04h turn off typematic repeat (PCjr and some PS/2)
	    05h set repeat rate and delay (AT,PS)
		BH = delay value (00h = 250ms to 03h = 1000ms)
		BL = repeat rate (00h=30/sec to 0Ch=10/sec [def] to 1Fh=2/sec)
	    06h get current typematic rate and delay (newer PS/2s)
		Return: BL = repeat rate (above)
			BH = delay (above)
Return: AH destroyed by many BIOSes
Note:	use INT 16/AH=09h to determine whether some of the subfunctions are
	  supported
SeeAlso: INT 16/AH=09h,AH=29h"HUNTER",AH=2Ah"HUNTER"

Top
1604 - INT 16 - KEYBOARD - SET KEYCLICK (PCjr only)
INT 16 - KEYBOARD - SET KEYCLICK (PCjr only)
	AH = 04h
	AL = keyclick state
	    00h off
	    01h on
Return: AH destroyed by many BIOSes
SeeAlso: AH=03h,AH=04h"K3PLUS"

Top
1604 - INT 16 - Tandy 2000 - KEYBOARD - FLUSH KEYBOARD BUFFER
INT 16 - Tandy 2000 - KEYBOARD - FLUSH KEYBOARD BUFFER
	AH = 04h
Note:	this interrupt is identical to INT 51 on the Tandy 2000
SeeAlso: INT 16/AH=00h,INT 16/AH=02h,INT 16/AH=05h"Tandy 2000"
SeeAlso: INT 51"Tandy 2000"

Top
1604 - INT 16 - K3PLUS v6.22+ - SET KEYCLICK
INT 16 - K3PLUS v6.22+ - SET KEYCLICK
	AH = 04h
	AL = keyclick state
	    00h keyclick off, leave loudness setting unchanged
	    01h keyclick on, leave loudness setting unchanged
	    else
	       bit 0: keyclick enabled if set
	       bits 7-1: new keyclick loudness (non-zero)
Return: AH destroyed by many BIOSes
Note:	Applications which try to set a new loudness, but are unsure of the
	  results of other INT 16/AH=04h implementations, should set the new
	  loudness first, and then call this function again with AL=01h or
	  AL=00h
SeeAlso: AH=03h,AH=04h"KEYBOARD",AX=AF4Dh

Top
1605 - INT 16 - KEYBOARD - STORE KEYSTROKE IN KEYBOARD BUFFER (AT/PS w enh keybd only)
INT 16 - KEYBOARD - STORE KEYSTROKE IN KEYBOARD BUFFER (AT/PS w enh keybd only)
	AH = 05h
	CH = BIOS scan code
	CL = ASCII character
Return: AL = status
	    00h if successful
	    01h if keyboard buffer full
	AH destroyed by many BIOSes
Notes:	under DESQview, a number of "keystrokes" invoke specific
	  DESQview-related actions when they are read from the keyboard
	  buffer (see #00583)
	similarly, some "keystrokes" invoke special functions on the HP 100LX
	  and HP 200LX (see #00584)
SeeAlso: AH=00h,AH=25h"K3",AH=71h,AX=AF4Dh,AH=FFh,INT 15/AX=DE10h
SeeAlso: MEM 0040h:001Eh

(Table 00583)
Values for pseudo-keystrokes for DESQview:
 38FBh or FB00h	switch to next window (only if main menu already popped up)
 38FCh or FC00h	pop up DESQview main menu
 38FEh or FE00h	close the current window
 38FFh or FF00h	pop up DESQview learn menu

(Table 00584)
Values for pseudo-keystrokes for HP 100LX/200LX:
 EE00h	pop up topcard display and set other system manager applications
	  into sleep mode

Top
1605 - INT 16 - KEYBOARD - SELECT KEYBOARD LAYOUT (PCjr only)
INT 16 - KEYBOARD - SELECT KEYBOARD LAYOUT (PCjr only)
	AH = 05h
	AL = function
	    01h set keyboard layout to French
	    02h set keyboard layout to German
	    03h set keyboard layout to Italian
	    04h set keyboard layout to Spanish
	    05h set keyboard layout to UK
	    80h check if function supported
		Return: AL <> 80h if supported
Return: ???
	AH destroyed by many BIOSes
Note:	this function is called by the DOS 3.2 KEYBxx.COM
SeeAlso: AH=92h,AH=A2h,AX=AF4Dh

Top
1605 - INT 16 - Tandy 2000 - KEYBOARD - RESET KEYBOARD
INT 16 - Tandy 2000 - KEYBOARD - RESET KEYBOARD
	AH = 05h
Desc:	reset the keyboard and flush the keyboard buffer
Note:	this interrupt is identical to INT 51 on the Tandy 2000
SeeAlso: INT 16/AH=00h,INT 16/AH=02h,INT 16/AH=03h,INT 51"Tandy 2000"

Top
160600 - INT 16 - AAKEYS - GET NEXT KEYBOARD EVENT
INT 16 - AAKEYS - GET NEXT KEYBOARD EVENT
	AX = 0600h
Return:	CF clear if successful
	    AL = next keyboard event in event buffer, FFh if buffer overflowed
	CF set on error
	    AL = 00h buffer empty
	BX destroyed
Program: AAKEYS is a TSR by Anthony Appleyard which records keyboard scan
	  codes in a 256-byte buffer in addition to any normal processing which
	  takes place
Note:	the installation check consists of calling INT 16/AX=06xxh (where 'xx'
	  is any subfunction other than those listed here) and testing whether
	  AX=BEEFh on return
SeeAlso: AX=0601h,AX=0602h,AX=0603h,AX=0604h

Top
160601 - INT 16 - AAKEYS - EMPTY KEY-EVENT BUFFER
INT 16 - AAKEYS - EMPTY KEY-EVENT BUFFER
	AX = 0601h
Return:	nothing
SeeAlso: AX=0600h,AX=0602h,AX=0603h,AX=0604h

Top
160602 - INT 16 - AAKEYS - DISABLE AAKEYS
INT 16 - AAKEYS - DISABLE AAKEYS
	AX = 0602h
Return:	AX,DX destroyed
Desc:	restores INT 09 and INT 16 and clears the TSRs signature byte
SeeAlso: AX=0600h,AX=0601h,AX=0603h,AX=0604h

Top
160603 - INT 16 - AAKEYS - GET KEY-EVENT BUFFER
INT 16 - AAKEYS - GET KEY-EVENT BUFFER
	AX = 0603h
Return:	ES:BX -> 256-byte circular key-event buffer
	ES:[AX] = offset of head of buffer
	ES:[AX+1] = offset of tail of buffer
SeeAlso: AX=0600h,AX=0601h,AX=0602h,AX=0604h

Top
160604 - INT 16 - AAKEYS - EMPTY BIOS KEYBOARD BUFFER
INT 16 - AAKEYS - EMPTY BIOS KEYBOARD BUFFER
	AX = 0604h
Return:	AX destroyed
SeeAlso: AX=0600h,AX=0601h,AX=0602h,AX=0603h

Top
1609 - INT 16 - KEYBOARD - GET KEYBOARD FUNCTIONALITY
INT 16 - KEYBOARD - GET KEYBOARD FUNCTIONALITY
	AH = 09h
Return: AL = supported keyboard functions (see #00585)
	AH destroyed by many BIOSes
Note:	this function is only available if bit 6 of the second feature byte
	  returned by INT 15/AH=C0h is set (see #00509)
SeeAlso: AH=03h,AH=0Ah,AH=10h,AH=11h,AH=12h,AH=20h,AH=21h,AH=22h,INT 15/AH=C0h

Bitfields for supported keyboard functions:
Bit(s)	Description	(Table 00585)
 7	reserved
 6	INT 16/AH=20h-22h supported (122-key keyboard support)
 5	INT 16/AH=10h-12h supported (enhanced keyboard support)
 4	INT 16/AH=0Ah supported
 3	INT 16/AX=0306h supported
 2	INT 16/AX=0305h supported
 1	INT 16/AX=0304h supported
 0	INT 16/AX=0300h supported
SeeAlso: #00511

Top
160A - INT 16 - KEYBOARD - GET KEYBOARD ID
INT 16 - KEYBOARD - GET KEYBOARD ID
	AH = 0Ah
Return: BX = keyboard ID (see #00586)
	AH destroyed by many BIOSes
Notes:	check return value from AH=09h to determine whether this function is
	  supported
	this function is also supported by the K3PLUS v6.00+ INT 16 BIOS
	  replacement
SeeAlso: AH=09h,AX=AF4Dh,MEM 0040h:00C2h"AMI"

(Table 00586)
Values for keyboard ID:
 0000h	no keyboard attached
 41ABh	Japanese "G" keyboard (translate mode)
	MF2 Keyboard (usually in translate mode)
 54ABh	Japanese "P" keyboard (translate mode)
 83ABh	Japanese "G" keyboard (pass-through mode)
	MF2 Keyboard (pass-through mode)
 84ABh	Japanese "P" keyboard (pass-through mode)
 86ABh	122-key keyboard
 90ABh	old Japanese "G" keyboard
 91ABh	old Japanese "P" keyboard
 92ABh	old Japanese "A" keyboard

Top
1610 - INT 16 - KEYBOARD - GET ENHANCED KEYSTROKE (enhanced kbd support only)
INT 16 - KEYBOARD - GET ENHANCED KEYSTROKE (enhanced kbd support only)
	AH = 10h
Return: AH = BIOS scan code
	AL = ASCII character
Notes:	if no keystroke is available, this function waits until one is placed
	  in the keyboard buffer
	the BIOS scan code is usually, but not always, the same as the hardware
	  scan code processed by INT 09.  It is the same for ASCII keystrokes
	  and most unshifted special keys (F-keys, arrow keys, etc.), but
	  differs for shifted special keys.
	unlike AH=00h, this function does not discard extended keystrokes
	INT 16/AH=09h can be used to determine whether this function is
	  supported, but only on later model PS/2s
SeeAlso: AH=00h,AH=09h,AH=11h,AH=20h,MEM 0040h:0019h,MEM 0040h:001Eh

Top
1611 - INT 16 - KEYBOARD - CHECK FOR ENHANCED KEYSTROKE (enh kbd support only)
INT 16 - KEYBOARD - CHECK FOR ENHANCED KEYSTROKE (enh kbd support only)
	AH = 11h
Return: ZF set if no keystroke available
	ZF clear if keystroke available
	    AH = BIOS scan code
	    AL = ASCII character
Notes:	if a keystroke is available, it is not removed from the keyboard buffer
	unlike AH=01h, this function does not discard extended keystrokes
	some versions of the IBM BIOS Technical Reference erroneously report
	  that CF is returned instead of ZF
	INT 16/AH=09h can be used to determine whether this function is
	  supported, but only on later model PS/2s
SeeAlso: AH=01h,AH=09h,AH=10h,AH=21h,INT 09,INT 15/AH=4Fh

Top
1612 - INT 16 - KEYBOARD - GET EXTENDED SHIFT STATES (enh kbd support only)
INT 16 - KEYBOARD - GET EXTENDED SHIFT STATES (enh kbd support only)
	AH = 12h
Return: AL = shift flags 1 (same as returned by AH=02h) (see #00587)
	AH = shift flags 2 (see #00588)
Notes:	AL bit 3 set only for left Alt key on many machines
	AH bits 7 through 4 always clear on a Compaq SLT/286
	INT 16/AH=09h can be used to determine whether this function is
	  supported, but only on later model PS/2s
	many BIOSes (including at least some versions of Phoenix and AMI) will
	  destroy AH on return from functions higher than AH=12h, returning
	  12h less than was in AH on entry (due to a chain of DEC/JZ
	  instructions)
SeeAlso: AH=02h,AH=09h,AH=22h,AH=51h,INT 17/AH=0Dh,MEM 0040h:0017h

Bitfields for keyboard shift flags 1:
Bit(s)	Description	(Table 00587)
 7	Insert active
 6	CapsLock active
 5	NumLock active
 4	ScrollLock active
 3	Alt key pressed (either Alt on 101/102-key keyboards)
 2	Ctrl key pressed (either Ctrl on 101/102-key keyboards)
 1	left shift key pressed
 0	right shift key pressed
SeeAlso: #00582,#00588,MEM 0040h:0017h,#M0010

Bitfields for keyboard shift flags 2:
Bit(s)	Description	(Table 00588)
 7	SysReq key pressed (SysReq is often labeled SysRq)
 6	CapsLock pressed
 5	NumLock pressed
 4	ScrollLock pressed
 3	right Alt key pressed
 2	right Ctrl key pressed
 1	left Alt key pressed
 0	left Ctrl key pressed
SeeAlso: #00587,MEM 0040h:0018h,#M0011

Top
1613 - INT 16 - DOS/V - DOUBLE-BYTE CHARACTER SET SHIFT CONTROL
INT 16 - DOS/V - DOUBLE-BYTE CHARACTER SET SHIFT CONTROL
	AH = 13h
	AL = function
	    00h set shift status
		DX = shift status (see #00589), must preserve internal status
			  bits
	    01h get shift status
		Return: DX = current shift status (see #00589)
Note:	these functions are supplied by the Japanese Front-End Processor
SeeAlso: AH=14h,INT 21/AX=6301h

Bitfields for DOS/V shift status:
Bit(s)	Description	(Table 00589)
 0	full-size rather than half-size
 2-1	character input mode
	00 alphanumeric, 01 Katakana, 10 Hiragana, 11 unused
 5-3	internal status
 6	Romaji enabled
 7	Katakana to Kanji conversion enabled
 15-8	internal status

Top
1614 - INT 16 - DOS/V - SHIFT STATUS DISPLAY CONTROL
INT 16 - DOS/V - SHIFT STATUS DISPLAY CONTROL
	AH = 14h
	AL = function
	    00h enable display
	    01h disable display
	    02h get display state
		Return: AL = current state (00h enabled, 01h disabled)
Desc:	control the screen-bottom shift status row(s) for the Japanese
	  Front-End Processor
SeeAlso: AH=13h,INT 10/AH=19h,INT 10/AH=1Dh

Top
1620 - INT 16 - KEYBOARD - GET 122-KEY KEYSTROKE (122-key kbd support only)
INT 16 - KEYBOARD - GET 122-KEY KEYSTROKE (122-key kbd support only)
	AH = 20h
Return: AH = BIOS scan code (see AH=10h)
	AL = ASCII character
Note:	use AH=09h to determine whether this function is supported
SeeAlso: AH=00h,AH=09h,AH=10h,AH=21h,AH=22h

Top
1620 - INT 16 - HUNTER 16 - SET TEMPORARY SHIFT
INT 16 - HUNTER 16 - SET TEMPORARY SHIFT
	AH = 20h
	AL = shift status (see #00590)
Notes:	the Husky Hunter 16 is an 8088-based ruggedized laptop.	 Other family
	  members are the Husky Hunter, Husky Hunter 16/80, and Husky Hawk.
	the user can override the specified settings by pressing the keys

Bitfields for HUNTER 16 shift status:
Bit(s)	Description	(Table 00590)
 4	Scroll Lock on
 5	Num Lock on
 6	Caps Lock on

Top
1620 - INT 16 O - K3 v1.5x, K3PLUS v5.xx - GET EXTENDED BUFFER STATE
INT 16 O - K3 v1.5x, K3PLUS v5.xx - GET EXTENDED BUFFER STATE
	AH = 20h
Return: AX = K3 version
	ES:BX -> extended keyboard buffer start
	ES:DX -> extended keyboard buffer end
	ES:SI -> next keystroke
	ES:DI -> last keystroke in buffer
	CX = number of keystrokes in buffer
Program: K3PLUS is an extended keyboard driver by Matthias Paul and Axel C.
	  Frinke, originally based on the K3 extended German keyboard driver
	  by Martin Gerdes published in c't magazine in 1988
Note:	this function was normally unsupported under K3PLUS v6.00-v6.22 and
	  is no longer supported by v6.30+; use AX=AF20h instead
SeeAlso: AH=25h"K3",AX=AF20h,INT 2F/AX=D44Fh/BX=0000h,INT 2F/AX=ED58h

Top
1621 - INT 16 - KEYBOARD - CHECK FOR 122-KEY KEYSTROKE (122-key kbd support only)
INT 16 - KEYBOARD - CHECK FOR 122-KEY KEYSTROKE (122-key kbd support only)
	AH = 21h
Return: ZF set if no keystroke available
	ZF clear if keystroke available
	    AH = BIOS scan code
	    AL = ASCII character
Notes:	use AH=09h to determine whether this function is supported
	some versions of the IBM BIOS Technical Reference erroneously report
	  that CF is returned instead of ZF
	K3PLUS v6.00+ supports this function as an alias of AH=11h
SeeAlso: AH=01h,AH=09h,AH=11h,AH=20h,AH=21h

Top
1621 - INT 16 - HUNTER 16 - CONTROL SHIFT KEYS
INT 16 - HUNTER 16 - CONTROL SHIFT KEYS
	AH = 21h
	AL = shift keys to control (see #00582)
	BL = shift state for disabled keys
Note:	If a bit in AL is set the key is disabled and set to the state of the
	  corresponding bit in BL
SeeAlso: AH=20h"HUNTER",AH=22h"HUNTER"

Top
1622 - INT 16 - KEYBOARD - GET 122-KEY SHIFT STATUS (122-key kbd support only)
INT 16 - KEYBOARD - GET 122-KEY SHIFT STATUS (122-key kbd support only)
	AH = 22h
Return: AL = shift flags 1 (see #00587)
	AH = shift flags 2 (see #00588)
Notes:	use AH=09h to determine whether this function is supported
	K3PLUS v6.00+ supports this function as an alias of AH=12h
SeeAlso: AH=02h,AH=09h,AH=12h,AH=20h,AH=21h

Top
1622 - INT 16 - HUNTER 16 - CONTROL CTRL-ALT-DEL
INT 16 - HUNTER 16 - CONTROL CTRL-ALT-DEL
	AH = 22h
	AL = new Ctrl-Alt-Del state (00h enabled, nonzero disabled)
	BX = 0708h
	CX = 0910h
	DX = 1112h
Return: AL = 00h if successful
SeeAlso: AH=21h"HUNTER",AH=23h"HUNTER",AH=2Ah

Top
1623 - INT 16 - HUNTER 16 - CONTROL EMERGENCY BREAKOUT
INT 16 - HUNTER 16 - CONTROL EMERGENCY BREAKOUT
	AH = 23h
	AL = new state of breakout (00h enabled, nonzero disabled)
	BX = 0708h
	CX = 0910h
	DX = 1112h
Return: AL = 00h if successful
Desc:	Enables or disables the emergency breakout feature, where the
	  Hunter 16 at power on checks whether the X and P keys are pressed.
	  If so the machine will boot rather than continue the running program
SeeAlso: AH=22h"HUNTER"

Top
1624 - INT 16 - HUNTER 16 - REDEFINE KEY CODES
INT 16 - HUNTER 16 - REDEFINE KEY CODES
	AH = 24h
	AL = Matrix Code (see #00591)
	BL = new Key code
Return: AL = status (00h successful, nonzero failed)
SeeAlso: AH=2Bh,AH=2Ch

(Table 00591)
Values for HUNTER 16 Matrix Code:
 Code  Key		Code	Key		Code	Key
 00h   Esc key		1Eh	Space		3Bh	L
 01h   1		21h	0		3Ch	,
 02h   Q		22h	-		3Eh	Right shift
 03h   Tab		23h	'		42h	8
 04h   Num Lock		24h	Keypad 4	43h	7
 05h   \		25h	Enter		44h	U
 08h   LShift		26h	Keypad 7	45h	I
 09h   Ctrl		27h	.		46h	J
 0Ah   "Paw" key	28h	Keypad 1	47h	K
 0Bh   2		29h	Keypad 0	48h	M
 0Ch   W		2Ch	=		49h	N
 0Dh   A		2Dh	Backspace	4Ah	/
 0Eh   S		2Eh	Keypad 8	4Dh	6
 0Fh   Z		2Fh	Keypad 9	4Eh	5
 11h   Alt		30h	Keypad 5	4Fh	T
 16h   4		31h	Keypad 6	50h	Y
 17h   3		32h	Keypad 2	51h	G
 18h   E		33h	Keypad 3	52h	H
 19h   R		34h	Keypad .	53h	B
 1Ah   D		37h	9		54h	V
 1Bh   F		38h	O		55h	#
 1Ch   X		39h	P		58h	Pwr
 1Dh   C		3Ah	;		59h	Shift Pwr

Top
1625 - INT 16 - HUNTER 16 - RESET KEYBOARD
INT 16 - HUNTER 16 - RESET KEYBOARD
	AH = 25h
Return: AL = 00h
Desc:	restores the standard keyboard layout after any remapping
SeeAlso: AH=24h,AH=2Bh,AH=2Ch

Top
1625 - INT 16 O - K3 v1.5x, K3PLUS v5.xx - COPY INTO EXTENDED BUFFER
INT 16 O - K3 v1.5x, K3PLUS v5.xx - COPY INTO EXTENDED BUFFER
	AH = 25h
	CX = number of keystrokes to copy
	ES:SI -> buffer containing keystrokes
Return: CF clear if successful
	CF set on error (i.e. buffer full)
	    CX = number of keystrokes NOT transferred
	    ES:SI -> first keystroke not transferred
Note:	this function was normally unsupported under K3PLUS v6.00-v6.22 and
	  is no longer supported by v6.30+; use AX=AF25h instead
SeeAlso: AH=05h,AH=20h"K3",AX=AF25h,INT 2F/AX=D44Fh/BX=0001h

Top
1626 - INT 16 - HUNTER 16 - CONTROL KEYCLICK
INT 16 - HUNTER 16 - CONTROL KEYCLICK
	AH = 26h
	AL = new state of keyclicks (00h disabled, 01h enabled)
Return: AL = 00h
SeeAlso: AH=2Ah

Top
1627 - INT 16 - HUNTER 16 - CONTROL SCREEN DUMP AREA
INT 16 - HUNTER 16 - CONTROL SCREEN DUMP AREA
	AH = 27h
	AL = what to dump
	    00h whole (virtual) window
	    01h LCD window only
Return: AL = 00h
Desc:	control whether printscren dumps the whole 80x25 screen or only the
	  part displayed in the LCD window
Note:	the Hunter 16 has a 240x64 LCD display which serves as a window into
	  a 640x200 virtual screen

Top
1629 - INT 16 - HUNTER 16 - GET KEY REPEAT
INT 16 - HUNTER 16 - GET KEY REPEAT
	AH = 29h
Return: BL = Typematic rate (characters per second) (see #00592)
	BH = delay (00h = 250ms, 01h = 500ms, 02h = 750ms, 03h = 1s)
SeeAlso: AH=03h,AH=2Ah

(Table 00592)
Values for HUNTER 16 Typematic rate:
 00h	30.0	 08h	15.0	 10h	7.5	 18h	3.7
 01h	26.7	 09h	13.3	 11h	6.7	 19h	3.3
 02h	24.0	 0Ah	12.0	 12h	6.0	 1Ah	3.0
 03h	21.8	 0Bh	10.9	 13h	5.5	 1Bh	2.7
 04h	20.0	 0Ch	10.0	 14h	5.0	 1Ch	2.5
 05h	18.5	 0Dh	 9.2	 15h	4.6	 1Dh	2.3
 06h	17.1	 0Eh	 8.6	 16h	4.3	 1Eh	2.1
 07h	16.0	 0Fh	 8.0	 17h	4.0	 1Fh	2.0
SeeAlso: AH=2Ah

Top
162A - INT 16 - HUNTER 16 - CONTROL KEY REPEAT
INT 16 - HUNTER 16 - CONTROL KEY REPEAT
	AH = 2Ah
	AL = new state of keyboard autorepeat (00h disabled, 01h enabled)
SeeAlso: AH=03h,AH=26h,AH=29h,AH=2Bh

Top
162B - INT 16 - HUNTER 16 - REDEFINE KEY SCAN CODES
INT 16 - HUNTER 16 - REDEFINE KEY SCAN CODES
	AH = 2Bh
	AL = which key table to redefine
	    00h unshifted
	    01h shifted
	    02h Numlock
	BH = standard scan code of key (00h-80h)
	BL = new scan code
Desc:	redefine the generated scan code from BH to BL
SeeAlso: AH=24h,AH=2Ah,AH=2Ch

Top
162C - INT 16 - HUNTER 16 - REDEFINE RAW KEY CODES
INT 16 - HUNTER 16 - REDEFINE RAW KEY CODES
	AH = 2Ch
	AL = Matrix code of key (see AH=29h)
	BL = new key code
Return: AL = status (00h success, nonzero failed)
Desc:	redefine the key code generated by holding the PAW key down and
	  pressing the key in AL
SeeAlso: AH=24h,AH=2Bh

Top
162D - INT 16 - HUNTER 16 - CONTROL BREAK KEYS
INT 16 - HUNTER 16 - CONTROL BREAK KEYS
	AH = 2Dh
	AL = enabled break keys
	    bit 0 Ctrl-C
	    bit 1 Ctrl-Break
	BX = 0708h
	CX = 0910h
	DX = 1112h
Return: AL = status (00h success, FFh failed)
SeeAlso: AH=21h"HUNTER"

Top
163577 - INT 16 U - TextWare TWTSR - API
INT 16 U - TextWare TWTSR - API
	AX = 3577h
	CX = function
	    00CBh ???
		Return: AX = 0000h
			BX = 0000h
			DX:CX -> ???
	    00CCh uninstall
		Return: AX = status
			    0000h successful
			    FFFDh unable to unload because vectors taken
	    00CDh ???
		Return: AX = 0000h
			BX = 0000h
			DX:CX -> ???
	    other
		Return: AX = 5345h ('SE')
Program: TWTSR is a TSR which allows the TextWare hypertext browser to be
	  popped up via hotkey
SeeAlso: AX=D724h

Top
164252 - INT 16 - TEXTCAP 2.0 - INSTALLATION CHECK
INT 16 - TEXTCAP 2.0 - INSTALLATION CHECK
	AX = 4252h
Return: AX = 5242h if installed
Program: TEXTCAP 2.0 is a heavily modified (by Gisbert W. Selke) version of
	  the PC Magazine utility CAPTURE written by Tom Kihlken
SeeAlso: AX=4253h,AX=4254h

Top
164253 - INT 16 - TEXTCAP 2.0 - UNINSTALL
INT 16 - TEXTCAP 2.0 - UNINSTALL
	AX = 4253h
Return: AX = segment of resident code
Notes:	the uninstall code does not check whether interrupt vectors have been
	  chained by other programs
	the caller must free the main memory block (using the returned segment)
SeeAlso: AX=4252h,AX=4254h

Top
164254 - INT 16 - TEXTCAP 2.0 - DUMP TEXT SCREEN TO FILE
INT 16 - TEXTCAP 2.0 - DUMP TEXT SCREEN TO FILE
	AX = 4254h
Return: AX = status
	    4254h if screen dump will be written as soon as disk becomes idle
	    5442h if screen dump written
SeeAlso: AX=4252h,AX=4253h

Top
164500 - INT 16 - Shamrock Software EMAIL - GET STATUS
INT 16 - Shamrock Software EMAIL - GET STATUS
	AX = 4500h
	DL = port number (01h = COM1)
	ES:BX -> 13-byte buffer for ASCIZ name
Return: AX = 4D00h if EMAIL installed on specified port
	    ES:BX -> "" if no connection
		  -> "*" if connection but caller has not identified name
		  -> name otherwise
	    CX = version (CH = major, CL = minor)
	    DL = privilege level of user (00h = guest)
	    DH = chosen language (00h German, 01h English)
SeeAlso: AX=4501h,AX=4502h

Top
164501 - INT 16 - Shamrock Software EMAIL - GET ELAPSED ONLINE TIME AND MAXIMUM TIME
INT 16 - Shamrock Software EMAIL - GET ELAPSED ONLINE TIME AND MAXIMUM TIME
	AX = 4501h
	DL = port number (01h = COM1)
Return: AX = 4D00h if EMAIL installed on specified port
	    BX = maximum connect time in clock ticks
	    CX = maximum connect time for guests (without name) in clock ticks
	    DX = elapsed connect time of current user in clock ticks
SeeAlso: AX=4500h

Top
164502 - INT 16 - Shamrock Software EMAIL - GET CURRENT COMMUNICATIONS PARAMETERS
INT 16 - Shamrock Software EMAIL - GET CURRENT COMMUNICATIONS PARAMETERS
	AX = 4502h
	DL = port number (01h = COM1)
Return: AX = 4D00h if EMAIL installed on specified port
	    BL = current value of serial port's Line Control Register
	    BH = flags (see #00593)
	    CX = selected country code (33 = France, 49 = Germany, etc)
	    DX = baudrate divisor (115200/DX = baudrate)
SeeAlso: AX=4500h

Bitfields for Shamrock Software EMAIL flags:
Bit(s)	Description	(Table 00593)
 0	ISO code
 1	pause
 2	linefeed
 3	ANSI sequences

Top
164503 - INT 16 - Shamrock Software EMAIL - SPECIFY COMMAND-WORD FOR USER FUNCTION
INT 16 - Shamrock Software EMAIL - SPECIFY COMMAND-WORD FOR USER FUNCTION
	AX = 4503h
	DL = port number (01h = COM1)
	DH = maximum execution time in clock ticks (00h = 5 seconds)
	ES:BX -> ASCIZ string with new user command-word
Return: AX = 4D00h if EMAIL installed on specified port
Notes:	a single user command (consisting of only uppercase letters and digits)
	  may be defined, and remains valid until it is overwritten or the
	  EMAIL program terminates; the user command must be activated by
	  calling AX=4504h at least once.
	an existing command word may be redefined with this function
SeeAlso: AX=4504h,AX=4505h

Top
164504 - INT 16 - Shamrock Software EMAIL - CHECK FOR USER FUNCTION COMMAND-WORD
INT 16 - Shamrock Software EMAIL - CHECK FOR USER FUNCTION COMMAND-WORD
	AX = 4504h
	DL = port number (01h = COM1)
	ES:BX -> 80-byte buffer for ASCIZ user input line
Return: AX = 4D00h if EMAIL installed on specified port
	    DL = flags
		bit 0: user function supported (always set)
		bit 1: user entered user-function command word
	    if DL bit 1 set,
		ES:BX buffer contains line entered by user which begins with
			the defined command word and has been converted to all
			caps
Note:	caller must process the returned commandline and invoke AX=4505h
	  within five seconds with the result of that processing
SeeAlso: AX=4503h,AX=4505h

Top
164505 - INT 16 - Shamrock Software EMAIL - SEND RESULT OF USER FUNCTION
INT 16 - Shamrock Software EMAIL - SEND RESULT OF USER FUNCTION
	AX = 4505h
	DL = port number (01h = COM1)
	DH = error flag
	    bit 3: set on error
	ES:BX -> ASCIZ text to return to user, max 1024 bytes
Return: AH = 4Dh if EMAIL installed on specified port
	AL = status
	    00h successful
	    02h unable to perform function (timeout, prev call not complete)
	    other error
Notes:	if the error flag in DH is set, the string is not sent and an error
	  message is generated instead; if this function is not called within
	  five seconds of AX=4504h, EMAIL automatically generates an error
	  message
	the string is copied into an internal buffer, allowing this function's
	  caller to continue immediately
SeeAlso: AX=4503h,AX=4504h,INT 17/AX=2400h

Top
164506 - INT 16 - Shamrock Software EMAIL - MONITOR XMODEM DOWNLOAD
INT 16 - Shamrock Software EMAIL - MONITOR XMODEM DOWNLOAD
	AX = 4506h
	DL = port number (01h = COM1)
	ES:BX -> 13-byte buffer for ASCIZ filename
Return: AX = 4D00h if EMAIL installed on specified port
	    DH = Xmodem status
		00h no XGET command given
		01h XGET in progress
		02h XGET completed successfully
	    ES:BX buffer filled with last filename given to XGET command
		(without path)
Note:	DH=02h will only be returned once per XGET; subsequent calls will
	  return DH=00h
SeeAlso: AX=4500h,INT 17/AX=2408h

Top
164B - INT 16 - Frank Klemm Keyboard Driver v2.0 - API
INT 16 - Frank Klemm Keyboard Driver v2.0 - API
	AH = 4Bh
	CX = code or action
	    0000h-FEFFh key code
	    FF00h-FFFFh action (see #00594)
	BL = scan code (normal keys) or scan code + 60h (enhanced keys)
	BH = shift state (see #00595)
Return: CX = previous code or action

(Table 00594)
Values for Frank Klemm Keyboard Driver action code:
 FF00h	no action
 FF01h	hardcopy
 FF02h	left shift
 FF03h	right shift
 FF04h	left Ctrl
 FF05h	right Ctrl
 FF06h	left Alt
 FF07h	right Alt / AltGr
 FF08h	CapsLock
 FF09h	NumLock
 FF0Ah	ScrlLock
 FF0Bh	Insert (returns code 5200h or 52E0h)
 FF0Ch	Pause
 FF0Dh	Ctrl-Break function
 FF0Eh	warm boot via far jump to F000h:FFF0h
 FF0Fh	terminate current program
 FF10h	key for entering keys via Alt-numpad (read-only)
 FF11h	clear keyboard buffer
 FF12h	reset (warmboot on XT)
 FF13h	mouse sensitivity (read-only)
 FF14h	keyjobs (read-only)
 FF15h	SysRq
 FF16h	turn on CPU cache (486+)
 FF17h	turn off CPU cache (486+)
SeeAlso: #00595

(Table 00595)
Values for Frank Klemm Keyboard Driver shift state:
 00h	no shift keys
 01h	either Shift
 02h	either Ctrl
 03h	left Alt
 04h	Ctrl + Alt
---standard keyboard---
 05h	right Alt / AltGr
---Russian keyboard---
 05h	Russian + no shift keys
 06h	Russian + either Shift
SeeAlso: #00594

Top
164D4F - INT 16 - M16_KBD.COM v5.6 - INSTALLATION CHECK
INT 16 - M16_KBD.COM v5.6 - INSTALLATION CHECK
	AX = 4D4Fh
Return: AX = 6F6Dh if installed
	    ES = segment of resident code
Program: M16_KBD is a shareware Cyrillic keyboard driver by I.V. Morozov
SeeAlso: INT 10/AX=1130h/BX=4D4Fh

Top
165000 - INT 16 - KEYBOARD - AX PC - SET KEYBOARD COUNTRY CODE
INT 16 - KEYBOARD - AX PC - SET KEYBOARD COUNTRY CODE
	AX = 5000h
	BX = country code
	    0001h USA (English), 0051h Japan
Return: AL = status
	    00h successful
	    01h bad country code
	    02h other error
Notes:	This function is called with BX=0051h by Japanese versions of
	  MS-DOS/PC DOS/DR DOS IO.SYS/IBMBIO.COM at initialization time.
	the K3PLUS v6.00+ INT 16 BIOS replacement will switch between the
	  supported country specific layout (e.g. BX=0031h Germany, BX=001Fh
	  Netherlands, BX=0020h Belgium, BX=0022h Spain) (as with <Ctrl>+
	  <Alt>+<F2>) and K3PLUS' transparent mode (as with <Ctrl>+<Alt>+<F1>).
	In transparent mode (BX=0001h), K3PLUS chains to the underlying
	  driver (normally the BIOS driver with US-layout). K3PLUS beeps on
	  mode changes
SeeAlso: AX=5001h,AX=AF4Dh,INT 10/AX=5000h,INT 17/AX=5000h

Top
165001 - INT 16 - KEYBOARD - AX PC - GET KEYBOARD COUNTRY CODE
INT 16 - KEYBOARD - AX PC - GET KEYBOARD COUNTRY CODE
	AX = 5001h
Return: AL = status
	    00h successful
		BX = country code
	    02h error
Note:	also supported by K3PLUS v6.00+
SeeAlso: AX=5000h,INT 10/AX=5001h,INT 17/AX=5001h

Top
1651 - INT 16 - KEYBOARD - AX PC - READ SHIFT KEY STATUS
INT 16 - KEYBOARD - AX PC - READ SHIFT KEY STATUS
	AH = 51h
Return: AL = standard shift key states (see #00582,#00587)
	AH = Kana lock (00h off, 01h on)
Note:	also supported by K3PLUS v6.00+, but K3PLUS always returns AH=00h
SeeAlso: AH=02h,AH=12h,AH=22h

Top
165453BX5242 - INT 16 - TSRBONES - INSTALLATION CHECK
INT 16 - TSRBONES - INSTALLATION CHECK
	AX = 5453h ('TS')
	BX = 5242h ('RB')
	CX = 4F4Eh ('ON')
	DX = 4553h ('ES')
Return: AX = 4553h if installed
	BX = 4F4Eh if installed
	CX = 5242h if installed
	DX = 5453h if installed
Program: TSRBONES is a skeletal TSR framework by Robert Curtis Davis
Note:	these values are the default as the TSRBONES package is distributed,
	  but will normally be changed when implementing an actual TSR with
	  the TSRBONES skeleton
SeeAlso: INT 2D/AL=00h"AMIS"

Top
165472BX4C54 - INT 16 - TrLit - API
INT 16 - TrLit - API
	AX = 5472h ('Tr')
	BX = 4C54h ('Lt')
	CL = function
	    00h installation check
		Return:	DX = 1234h if installed
			    AX = 100*version (binary, 00E9h = v2.33)
			    CX = resident code segment
	    01h get original INT 09 vector
		Return: ES:BX -> previous handler
	    02h get original INT 16 vector
		Return: ES:BX -> previous handler
	    else chained
	CH = 00h (for backward compatibility with versions before 2.30)
Program: TrLit is a Russian keyboard transliterator by Rostislav Krasny
Index:	installation check;TrLit

Top
165500 - INT 16 C - Microsoft Word internal - MICROSOFT WORD COOPERATION WITH TSR
INT 16 C - Microsoft Word internal - MICROSOFT WORD COOPERATION WITH TSR
	AX = 5500h
Return: AX = 4D53h ('MS') if keyboard TSR present
Notes:	during startup, Microsoft Word tries to communicate with any TSRs
	  that are present through this call.
	if the return is not 4D53h, Word installs its own INT 09 and INT 16
	  handlers; otherwise it assumes that the TSR will handle the keyboard
SeeAlso: AX=55FFh,INT 1A/AX=3601h

Top
1655FE - INT 16 CU - Microsoft QBASIC internal - MICROSOFT COOPERATION WITH TSR
INT 16 CU - Microsoft QBASIC internal - MICROSOFT COOPERATION WITH TSR
	AX = 55FEh
	DX = function
	    0000h initialize
		ES:BX -> ??? function
		ES:CX -> ??? structure
	    FFFFh shutdown/reset
Return: AX = result
	    4D4Bh only the INT 1B handler will be installed.
	    other: handlers for INT 08, INT 09, INT 16, INT 1B, and INT 1C
		  are installed
Notes:	The pointer in ES:CX seems to point at a structure defining a callback
	  function when new keyboard keys are pressed. If a TSR returns
	  AX=4D4Bh, QBASIC will stop (with IRQ's and interrupts enabled).
	these calls are also made by MS-DOS 6.0's DOSSHELL at startup, exit,
	  and before/after shelling out
	since EDIT.COM and HELP.COM merely invoke QBASIC, those two programs
	  will also cause this interface to be invoked
	K3PLUS v6.07+ supports this function, but will never invoke the
	  callback function
SeeAlso: AX=5500h,AX=AF4Dh,INT 1A/AX=3601h

Top
1655FF - INT 16 C - Microsoft Word - TSR COOPERATION???
INT 16 C - Microsoft Word - TSR COOPERATION???
	AX = 55FFh
	BX >= 0004h (version of Microsoft Word [BL = major] ???)
	CX = function
	    0000h set ??? flag
	    other clear ??? flag
Notes:	hooks intercepting this call are present in SWAPSH and SWAPDT v1.77j,
	  distributed with PC Tools v7, as well as the Trusted Access
	  SCRNBLNK.COM; this may be part of the standard TesSeRact library
	known to be called by the German edition of Microsoft Word 5.0
SeeAlso: AX=5500h,INT 2F/AX=5453h

Top
165758BX4858 - INT 16 U - Netroom CACHECLK - INSTALLATION CHECK
INT 16 U - Netroom CACHECLK - INSTALLATION CHECK
	AX = 5758h
	BX = 4858h ('HX')
	DX = 4443h ('DC')
	CX <> 5758h
Return: BX = 6878h if installed
	CX = 6463h if installed
	    AX = code segment of TSR
	    CX = internal version??? (v3.00 returns 0100h)
Program: CACHECLK is a "cloaked" disk cache included with Netroom
Notes:	if CX=5758h on entry, CACHECLK returns with all registers unchanged
	the cache statistics are located early in the segment pointed at by
	  AX on return
SeeAlso: INT 2F/AX=5758h

Top
165758BX5754 - INT 16 U - Netroom ??? - ???
INT 16 U - Netroom ??? - ???
	AX = 5758h
	BX = 5754h
	???
Return: ???

Top
165758BX5755 - INT 16 U - Netroom ??? - ???
INT 16 U - Netroom ??? - ???
	AX = 5758h
	BX = 5755h
	DS:SI -> ???
Return: ???

Top
165758BX5756 - INT 16 U - Netroom ??? - INSTALLATION CHECK
INT 16 U - Netroom ??? - INSTALLATION CHECK
	AX = 5758h
	BX = 5756h
Return: BX <> 5756h if installed

Top
165758BX5858 - INT 16 U - Netroom PRENET - GET OLD INTERRUPT VECTORS
INT 16 U - Netroom PRENET - GET OLD INTERRUPT VECTORS
	AX = 5758h
	BX = 5858h
Return: CF clear
	DX:BX -> saved copy of interrupt vector table
InstallCheck:	call this function and compare BX against 5858h on return; if
	  it has changed, PRENET is installed
SeeAlso: AX=5758h/BX=5859h
Index:	installation check;Netroom PRENET

Top
165758BX5859 - INT 16 U - Netroom POSTNET - GET OLD INTERRUPT VECTORS
INT 16 U - Netroom POSTNET - GET OLD INTERRUPT VECTORS
	AX = 5758h
	BX = 5859h
Return: CF clear
	DX:BX -> saved copy of interrupt vector table
InstallCheck:	call this function and compare BX against 5859h on return; if
	  it has changed, POSTNET is installed
SeeAlso: AX=5758h/BX=5858h
Index:	installation check;Netroom POSTNET

Top
1667 - INT 16 - Doorway v2.x+ - INSTALLATION CHECK / REDIRECTION CONTROLa
INT 16 - Doorway v2.x+ - INSTALLATION CHECK / REDIRECTION CONTROLa
	AH = 67h
	AL = Doorway mode
	    00h turn off DOS redirection
	    01h turn on DOS redirection
Return: AH = 80h if Doorway is actively redirecting output
	    AL = 80h if Doorway was already in requested mode
Program: Doorway is a program by Marshall Dudley which allows most DOS programs
	  to run as a BBS door without modification
Note:	to perform an installation check without changing the redirection
	  state, if is necessary to restore the original mode if AL was not
	  80h on return
SeeAlso: INT 10/AH=BBh"Doorway"

Top
166969BX6968 - INT 16 - PC Tools v5.1+ BACKTALK - UNHOOK
INT 16 - PC Tools v5.1+ BACKTALK - UNHOOK
	AX = 6969h
	BX = 6968h
Return: resident code unhooked, but not removed from memory
Index:	uninstall;BACKTALK

Top
166969BX6969 - INT 16 - PC Tools v5.1+ BACKTALK - INSTALLATION CHECK
INT 16 - PC Tools v5.1+ BACKTALK - INSTALLATION CHECK
	AX = 6969h
	BX = 6969h
	DX = 0000h
Return: DX nonzero if installed
	    BX = CS of resident code
	    DX = PSP segment of resident code
	    DS:SI -> ASCIZ identification string "CPoint Talk"

Top
166A6B - INT 16 U - FastJuice - DISABLE/UNLOAD???
INT 16 U - FastJuice - DISABLE/UNLOAD???
	AX = 6A6Bh
Return: ???
Program: FastJuice is a resident battery-power monitor by SeaSide Software
SeeAlso: AX=7463h
Index:	uninstall;FastJuice

Top
166C63 - INT 16 U - TMED v1.6a - INSTALLATION CHECK
INT 16 U - TMED v1.6a - INSTALLATION CHECK
	AX = 6C63h ('lc')
Return: AX = 4C43h ('LC') if installed
Program: TMED is a freeware resident memory editor by Liang Chen

Top
166D74 - INT 16 - MTRTSR - INSTALLATION CHECK
INT 16 - MTRTSR - INSTALLATION CHECK
	AX = 6D74h ('mt')
Return: AX = 4D54h ('MT') if installed
Program: MTRTSR is a part of the shareware MTR package by Mechon Mamre which
	  permits searching the large corpus of classical Hebrew texts in the
	  package
SeeAlso: INT 10/AX=6D74h"MTRFONTS"

Top
166F00 - INT 16 - HP Vectra EX-BIOS - "F16_INQUIRE" - Extended BIOS INSTALLATION CHECK
INT 16 - HP Vectra EX-BIOS - "F16_INQUIRE" - Extended BIOS INSTALLATION CHECK
	AX = 6F00h
	BX <> 4850h (usually set to 0000h for simplicity)
Return: BX = 4850h ("HP") if present
Notes:	called by recent MS Mouse drivers looking for an HP-HIL mouse
	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
SeeAlso: AX=6F01h,AX=6F04h,AX=6F07h,AX=6F09h,AX=6F0Dh,AX=6F11h,AX=6F12h
SeeAlso: INT 14/AX=6F00h,INT 17/AX=6F00h,INT 33/AX=6F00h
SeeAlso: INT 6F/AH=00h"HP Vectra"

Top
166F01 - INT 16 - HP Vectra EX-BIOS - "F16_DEF_ATTR" - GET DEFAULT TYPEMATIC VALUES
INT 16 - HP Vectra EX-BIOS - "F16_DEF_ATTR" - GET DEFAULT TYPEMATIC VALUES
	AX = 6F01h
Return: AH = 00h (successful)
	CX = 0004h (size of returned buffer)
	ES:SI -> buffer for typematic info (see #00596)
Note:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
SeeAlso: AX=6F00h,AX=6F02h,AX=6F03h,AX=6F04h

Format of HP Vectra EX-BIOS typematic info:
Offset	Size	Description	(Table 00596)
 00h	BYTE	delay before repeat for all non-Cursor Control Pad keys
		(see #00597)
 01h	BYTE	typematic rate for all non-Cursor Control Pad keys (see #00598)
 02h	BYTE	delay before repeat for Cursor Control Pad keys	(see #00599)
 03h	BYTE	typematic rate for Cursor Control Pad keys (see #00598)

(Table 00597)
Values for HP Vectra EX-BIOS non-CCP delay time:
 00h	17 ms
 01h	150 ms
 02h	283 ms
 03h	417 ms
 04h	550 ms
 05h	683 ms
 06h	817 ms
 07h	950 ms
 08h	1083 ms
 09h	1217 ms
 0Ah	1350 ms
 0Bh	1483 ms
 0Ch	1617 ms
 0Dh	1750 ms
 0Eh	1883 ms
 0Fh	2017 ms
Note:	the above values assume that the key repeat rate has been set to 60 Hz;
	  double the times if set to 30 Hz
SeeAlso: #00596,#00598,#00599

(Table 00598)
Values for HP Vectra EX-BIOS typematic rate:
 00h	60 / sec
 01h	30 / sec
 02h	20
 03h	15
 04h	12
 05h	10
 06h	8.57
 07h	7.5
 08h	6.66
 09h	6 / sec
 0Ah	5.45
 0Bh	5
 0Ch	4.62
 0Dh	4.28
 0Eh	4 / sec
 0Fh	typematic disabled
Note:	the above values assume that the key repeat rate has been set to 60 Hz;
	  halve the rates if set to 30 Hz
SeeAlso: #00597,#00599

(Table 00599)
Values for HP Vectra EX-BIOS CCP delay time:
 00h	17 ms
 01h	83 ms
 02h	150 ms
 03h	217 ms
 04h	283 ms
 05h	350 ms
 06h	417 ms
 07h	483 ms
 08h	550 ms
 09h	617 ms
 0Ah	683 ms
 0Bh	750 ms
 0Ch	817 ms
 0Dh	883 ms
 0Eh	950 ms
 0Fh	1017 ms
Note:	the above values assume that the key repeat rate has been set to 60 Hz;
	  double the times if set to 30 Hz
SeeAlso: #00597,#00598

Top
166F02 - INT 16 - HP Vectra EX-BIOS - "F16_GET_ATTR" - GET CURRENT TYPEMATIC VALUES
INT 16 - HP Vectra EX-BIOS - "F16_GET_ATTR" - GET CURRENT TYPEMATIC VALUES
	AX = 6F02h
Return: AH = 00h (successful)
	CX = 0004h (size of returned buffer)
	ES:SI -> buffer for typematic info (see #00596)
Note:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
SeeAlso: AX=6F00h,AX=6F02h,AX=6F03h,AX=6F04h
SeeAlso: AX=6F00h,AX=6F01h,AX=6F03h

Top
166F03 - INT 16 - HP Vectra EX-BIOS - "F16_SET_ATTR" - SET TYPEMATIC VALUES
INT 16 - HP Vectra EX-BIOS - "F16_SET_ATTR" - SET TYPEMATIC VALUES
	AX = 6F03h
	ES:SI -> buffer containing typematic info (see #00596)
Return: AH = 00h (successful)
Note:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
SeeAlso: AX=6F00h,AX=6F02h,AX=6F03h,AX=6F04h
SeeAlso: AX=6F00h,AX=6F01h,AX=6F02h

Top
166F04 - INT 16 - HP Vectra EX-BIOS - "F16_DEF_MAPPING" - GET DEFAULT KEY MAPPINGS
INT 16 - HP Vectra EX-BIOS - "F16_DEF_MAPPING" - GET DEFAULT KEY MAPPINGS
	AX = 6F04h
	ES:SI -> mapping buffer (see #00600)
Return: AH = 00h (successful)
	CX = 001Eh (number of bytes in buffer)
	ES:SI buffer filled
Notes:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
	the HIL input system translates the HIL keyboard events to simulate
	  an IBM-compatible keyboard; the translation can be altered
	  dynamically by applications
SeeAlso: AX=6F00h,AX=6F05h,AX=6F06h

Format of HP Vectra EX-BIOS keyboard mapping info:
Offset	Size	Description	(Table 00600)
 00h  3 WORDs	entry for V_QWERTY driver (IP, CS, DS)
 06h  3 WORDs	entry for V_SOFTKEY driver (IP, CS, DS)
 0Ch  3 WORDs	entry for V_FUNCTION driver
 12h  3 WORDs	entry for V_NUMPAD driver
 18h  3 WORDs	entry for V_CCP driver

Top
166F05 - INT 16 - HP Vectra EX-BIOS - "F16_GET_MAPPING" - GET CURRENT KEY MAPPINGS
INT 16 - HP Vectra EX-BIOS - "F16_GET_MAPPING" - GET CURRENT KEY MAPPINGS
	AX = 6F05h
	ES:SI -> mapping buffer (see #00600)
Return: AH = 00h (successful)
	CX = 001Eh (number of bytes in buffer)
	ES:SI buffer filled
Note:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
SeeAlso: AX=6F04h,AX=6F06h

Top
166F06 - INT 16 - HP Vectra EX-BIOS - "F16_SET_MAPPING" - SET KEY MAPPINGS
INT 16 - HP Vectra EX-BIOS - "F16_SET_MAPPING" - SET KEY MAPPINGS
	AX = 6F06h
	CX = number of bytes in buffer (001Eh)
	ES:SI -> mapping buffer (see #00600)
Return: AH = 00h (successful)
Notes:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
	any application which modifies the key mappings should restore them
	  before terminating
	drivers installed with this function are assured of 32 bytes of stack
	  space when they are invoked
SeeAlso: AX=6F04h,AX=6F05h,AX=6F07h

Top
166F07 - INT 16 - HP Vectra EX-BIOS - "F16_SET_XLATORS" - SET CCP AND SOFTKEY PADS
INT 16 - HP Vectra EX-BIOS - "F16_SET_XLATORS" - SET CCP AND SOFTKEY PADS
	AX = 6F07h
	BL = translation to set (see #00601)
Return: AH = 00h (successful)
Notes:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
	this function may no longer work properly if the application has
	  modified the key mappings with AX=6F06h
SeeAlso: AX=6F06h,AX=6F09h

(Table 00601)
Values for HP Vectra keyboard translation specifier:
 00h	map V_CCP to V_CCPCUR, forcing the cursor pad to return cursor keys
 01h	map V_CCP to V_CCPNUM, forcing the cursor pad to always return numbers
 02h	map V_CCP to V_OFF, disabling the cursor pad
 03h	map V_CCP to V_CCPGID, converting cursor pad keys to GID data
 04h	map V_CCP to V_RAW, passing cursor pad data untranslated to INT 09
 05h	map V_SOFTKEY to V_SKEY2KFEY, translating into standard function keys
 06h	map V_SOFTKEY to V_RAW, passing Softkey scancodes direct to INT 09
 07h	map V_SOFTKEY to V_OFF, disabling HP Softkeys
SeeAlso: #00602

(Table 00602)
Values for HP Vectra scancodes and BIOS keycodes for V_RAW translator:
	      INT 09		 INT 16 keycode
    Key	     scan code	Default	 Shifted   Ctrl	     Alt
 * (NumPd)	37h	2Ah	 (Prt Sc)  00/72h    00/37H
 Sysreq		54h	  --	 --	   --	     --
 CCP-Up		60h	00/D9h	 00/BFh	   00/A5h    00/8BH
 CCP-Left	61h	00/DAh	 00/C0h	   00/A6h    00/8CH
 CCP-Down	62h	00/DBh	 00/C1h	   00/A7h    00/8DH
 CCP-Right	63h	00/DCh	 00/C2h	   00/A8h    00/8EH
 CCP-Home	64h	00/DDh	 00/C3h	   00/A9h    00/8FH
 CCP-PgUp	65h	00/DEh	 00/C4h	   00/AAh    00/90H
 CCP-End	66h	00/DFh	 00/C5h	   00/ABh    00/91H
 CCP-PgDn	67h	00/E0h	 00/C6h	   00/ACh    00/92H
 CCP-Ins	68h	00/E1h	 00/C7h	   00/ADh    00/93H
 CCP-Del	69h	00/E2h	 00/C8h	   00/AEh    00/94H
 CCP-CNTR	6Ah	00/E3h	 00/C9h	   00/AFh    00/95H
 f1		70h	00/E9h	 00/CFh	   00/B5h    00/9BH
 f2		71h	00/EAh	 00/D0h	   00/B6h    00/9CH
 f3		72h	00/EBh	 00/D1h	   00/B7h    00/9DH
 f4		73h	00/ECh	 00/D2h	   00/B8h    00/9EH
 f5		74h	00/EDh	 00/D3h	   00/B9h    00/9FH
 f6		75h	00/EEh	 00/D4h	   00/BAh    00/A0H
 f7		76h	00/EFh	 00/D5h	   00/BBh    00/A1H
 f8		77h	00/F0h	 00/D6h	   00/BCh    00/A2H
Note:	only HP-specific codes are listed in this table; see INT 09 for a full
	  list of standard scan codes
SeeAlso: #00006,#00601

Top
166F08 - INT 16 - HP Vectra EX-BIOS - "F16_KBD" - GET KEYBOARD INFORMATION
INT 16 - HP Vectra EX-BIOS - "F16_KBD" - GET KEYBOARD INFORMATION
	AX = 6F08h
Return: AH = status
	   00h successful
	   02h unsupported (non-HIL, i.e. standard, keyboard)
	BH = HP-HIL address (HP Vectra AT only???)
	BL = HP-HIL ID (HP Vectra AT only???)
	BL = keyboard language (ES/QS/RS only???) (see #00603)
Notes:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
	the driver's address in the HP_VECTOR_TABLE (see INT 6F/AH=00h) may
	  be computed as (BH-1)*6 + N, where N is the address of the first
	  HP-HIL device driver (see INT 6F/AH=0Ah"F_INQUIRE_FIRST")
SeeAlso: AX=6F05h,AX=6F09h,INT 6F/AH=0Ah"F_INQUIRE_FIRST"

(Table 00603)
Values for HP HIL keyboard language code:
 00h	reserved
 01h	Arabic-French
 02h	Kanji
 03h	Swiss-French
 04h	Portugese
 05h	Arabic
 06h	Hebrew
 07h	Canadian-English
 08h	Turkish
 09h	Greek
 0Ah	Thai
 0Bh	Italian
 0Ch	Hangul (Korean)
 0Dh	Dutch
 0Eh	Swedish
 0Fh	German
 10h	Chinese (PRC)
 11h	Chinese (Taiwan)
 12h	Swiss (French ii)
 13h	Spanish
 14h	Swiss (German ii)
 15h	Belgian (Flemish)
 16h	Finnish
 17h	United Kingdom
 18h	French-Canadian
 19h	French-German
 1Ah	Norwegian
 1Bh	French
 1Ch	Danish
 1Dh	Katakana
 1Eh	Latin American Spanish
 1Fh	United States-American
 20h-FEh reserved
 FFh	non-HP keyboard (IBM AT keyboard and IBM Enhanced keyboard)

Top
166F09 - INT 16 - HP Vectra EX-BIOS - "F16_KBD_RESET" - RESET KEYBOARD TO DEFAULTS
INT 16 - HP Vectra EX-BIOS - "F16_KBD_RESET" - RESET KEYBOARD TO DEFAULTS
	AX = 6F09h
Return: AH = 00h (successful)
Desc:	reset all keyboard mappings to their default translators, and reset
	  typematic values to their defaults
Note:	supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
SeeAlso: AX=6F04h,AX=6F07h,AX=6F08h

Top
166F0A - INT 16 - HP Vectra ES/QS/RS EX-BIOS - READ PROCESSOR SPEED
INT 16 - HP Vectra ES/QS/RS EX-BIOS - READ PROCESSOR SPEED
	AX = 6F0Ah
Return: AH = 00h (successful)
	BX = speed code
	    0Bh for low speed (see #00604)
	    12h for medium speed (see #00604)
	    0Ch for high speed (see #00604)
Note:	supported by ES, QS, and RS series of HP Vectras
SeeAlso: AX=6F00h

(Table 00604)
Values for HP Vetra CPU speed:
	Vectra		Low	    Medium	High
	ES		8 MHz	     -		 8 MHz
	ES/12		8 MHz	     -		12 MHz
	QS/16, RS/16	8 MHz	     -		16 MHz
	QS/16S		8 MHz	     -		16 MHz
	QS/20, RS/20	8 MHz	     -		20 MHz
	RS/20C		5 MHz	    10 MHz	20 MHz
	RS/25C		5 MHz	    12.5 MHz	25 MHz

Top
166F0B - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO LOW
INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO LOW
	AX = 6F0Bh
Return: AH = 00h (successful)
Notes:	see AX=6F0Ah for speed definitions
	supported by ES, QS, and RS series of HP Vectras
SeeAlso: AX=6F00h,AX=6F0Ah

Top
166F0C - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO HIGH
INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO HIGH
	AX = 6F0Ch
Return: AH = 00h (successful)
Notes:	see AX=6F0Ah for speed definitions
	supported by ES, QS, and RS series of HP Vectras
SeeAlso: AX=6F00h,AX=6F0Ah

Top
166F0D - INT 16 - HP Vectra ES/QS/RS EX-BIOS - GET HIL Extended BIOS INTERRUPT NUMBER
INT 16 - HP Vectra ES/QS/RS EX-BIOS - GET HIL Extended BIOS INTERRUPT NUMBER
	AX = 6F0Dh
Return: AH = interrupt number (default 6Fh, 02h means 6Fh as well)
Notes:	supported by ES, QS, and RS series of HP Vectras
	called by MS Windows HPSYSTEM.DRV and HPEBIOS.386 to support the HP-HIL
	  input system
SeeAlso: AX=6F00h,AX=6F0Eh,INT 6F/AH=00h"HP Vectra",INT 6F/AH=0Ah"HP"

Top
166F0E - INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET HIL Extended BIOS INTERRUPT NUMBER
INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET HIL Extended BIOS INTERRUPT NUMBER
	AX = 6F0Eh
	BL = new interrupt number (60h-6Fh,78h-7Fh)
Return: AH = status (00h = successful)
Desc:	allows the HIL Extended BIOS software to use a non-default interrupt
	  number in case of an interrupt conflict with another application
Notes:	supported by ES, QS, and RS series of HP Vectras
	called by MS Windows HPSYSTEM.DRV and HPEBIOS.386 to support the HP-HIL
	  input system
SeeAlso: AX=6F00h,AX=6F0Dh,INT 6F/AH=00h"HP",INT 6F/AH=0Ah"HP"

Top
166F0F - INT 16 - HP Vectras RS/20C and RS/25C - ENABLE MEMORY CACHING
INT 16 - HP Vectras RS/20C and RS/25C - ENABLE MEMORY CACHING
	AX = 6F0Fh
Return: AH = status
	    00h successful
	    FEh cache subsystem is bad
SeeAlso: AX=6F00h,AX=6F10h,AX=6F11h

Top
166F10 - INT 16 - HP Vectras RS/20C and RS/25C - DISABLE MEMORY CACHING
INT 16 - HP Vectras RS/20C and RS/25C - DISABLE MEMORY CACHING
	AX = 6F10h
Return: AH = 00h (successful)
SeeAlso: AX=6F00h,AX=6F0Fh,AX=6F11h

Top
166F11 - INT 16 - HP Vectras RS/20C and RS/25C - GET MEMORY CACHING STATE
INT 16 - HP Vectras RS/20C and RS/25C - GET MEMORY CACHING STATE
	AX = 6F11h
Return: AH = 00h (successful)
	AL bit 0 = cache state
	    0 cache disabled
	    1 cache enabled
SeeAlso: AX=6F00h,AX=6F0Fh,AX=6F10h

Top
166F12 - INT 16 - HP Vectras RS/20C and RS/25C - SET PROCESSOR SPEED TO MEDIUM
INT 16 - HP Vectras RS/20C and RS/25C - SET PROCESSOR SPEED TO MEDIUM
	AX = 6F12h
Return: AH = 00h (successful)
Note:	see AX=6F0Ah for speed definitions
SeeAlso: AX=6F00h,AX=6F0Ah

Top
1670 - INT 16 - FAKEY.COM - INSTALLATION CHECK
INT 16 - FAKEY.COM - INSTALLATION CHECK
	AH = 70h
Return: AX = 1954h if installed
Program: FAKEY is a keystroke faking utility by System Enhancement Associates

Top
1671 - INT 16 - FAKEY.COM - PUSH KEYSTROKES
INT 16 - FAKEY.COM - PUSH KEYSTROKES
	AH = 71h
	CX = number of keystrokes
	DS:SI -> array of words containing keystrokes to be returned by AH=00h
Program: FAKEY is a keystroke faking utility by System Enhancement Associates
SeeAlso: AH=05h,AH=72h

Top
1672 - INT 16 - FAKEY.COM - CLEAR FAKED KEYSTROKES
INT 16 - FAKEY.COM - CLEAR FAKED KEYSTROKES
	AH = 72h
Program: FAKEY is a keystroke faking utility by System Enhancement Associates
SeeAlso: AH=71h

Top
1673 - INT 16 - FAKEY.COM - PLAY TONES
INT 16 - FAKEY.COM - PLAY TONES
	AH = 73h
	CX = number of tones to play
	DS:SI -> array of tones (see #00605)
Program: FAKEY is a keystroke faking utility by System Enhancement Associates
SeeAlso: INT 15/AX=1019h

Format of FAKEY.COM tone array entries:
Offset	Size	Description	(Table 00605)
 00h	WORD	divisor for timer channel 2
 02h	WORD	duration in clock ticks

Top
167463 - INT 16 U - FastJuice - INSTALLATION CHECK
INT 16 U - FastJuice - INSTALLATION CHECK
	AX = 7463h ("tc")
Return: AX = 5443h ("TC") if installed
Program: FastJuice is a resident battery-power monitor by SeaSide Software
SeeAlso: AX=6A6Bh

Top
1675 - INT 16 - pcANYWHERE III - SET TICK COUNT FOR SCANNING
INT 16 - pcANYWHERE III - SET TICK COUNT FOR SCANNING
	AH = 75h
	AL = number of ticks between checks for new screen changes

Top
1676 - INT 16 - pcANYWHERE III - SET ERROR CHECKING TYPE
INT 16 - pcANYWHERE III - SET ERROR CHECKING TYPE
	AH = 76h
	AL = error checking type
	    00h none
	    01h fast
	    02h slow

Top
1677 - INT 16 - pcANYWHERE III - LOG OFF
INT 16 - pcANYWHERE III - LOG OFF
	AH = 77h
	AL = mode
	    00h wait for another call
	    01h leave in Memory Resident Mode
	    02h leave in Automatic Mode
	    FFh leave in current operating mode

Top
167761 - INT 16 - WATCH.COM v2.x-v3.0 - INSTALLATION CHECK
INT 16 - WATCH.COM v2.x-v3.0 - INSTALLATION CHECK
	AX = 7761h ('wa')
Return: AX = 5741h ('WA') if installed
Note:	WATCH.COM is part of the "TSR" package by Kim Kokkonen
SeeAlso: INT 21/AX=7761h

Top
167788BX7789 - INT 16 - PC Magazine PUSHDIR.COM - INSTALLATION CHECK
INT 16 - PC Magazine PUSHDIR.COM - INSTALLATION CHECK
	AX = 7788h
	BX = 7789h
	DS:SI -> signature "PUSHDIR VERSION 1.0"
Return: AX = 7789h if installed and signature correct
	BX = 7788h
	SI destroyed

Top
1679 - INT 16 - pcANYWHERE III - CHECK STATUS
INT 16 - pcANYWHERE III - CHECK STATUS
	AH = 79h
Return: AX = status
	    FFFFh if resident and active
	    FFFEh if resident but not active
	    FFFDh if in Memory Resident mode
	    FFFCh if in Automatic mode
	    other value if not resident
SeeAlso: AX=7B00h,INT 21/AX=2B44h

Top
167A - INT 16 - pcANYWHERE III - CANCEL SESSION
INT 16 - pcANYWHERE III - CANCEL SESSION
	AH = 7Ah

Top
167B00 - INT 16 - pcANYWHERE III - SUSPEND
INT 16 - pcANYWHERE III - SUSPEND
	AX = 7B00h
SeeAlso: AH=79h,AX=7B01h

Top
167B01 - INT 16 - pcANYWHERE III - RESUME
INT 16 - pcANYWHERE III - RESUME
	AX = 7B01h
SeeAlso: AH=79h,AX=7B00h

Top
167C - INT 16 - pcANYWHERE III - GET PORT CONFIGURATION
INT 16 - pcANYWHERE III - GET PORT CONFIGURATION
	AH = 7Ch
Return: AH = port number
	AL = baud rate (see #00606)
SeeAlso: AX=7B00h,AH=7Eh

(Table 00606)
Values for pcANYWHERE III baud rate:
 00h	50 baud
 01h	75 baud
 02h	110 baud
 03h	134.5 baud
 04h	150 baud
 05h	300 baud
 06h	600 baud
 07h	1200 baud
 08h	1800 baud
 09h	2000 baud
 0Ah	2400 baud
 0Bh	4800 baud
 0Ch	7200 baud
 0Dh	9600 baud
 0Eh	19200 baud
SeeAlso: #00309

Top
167D - INT 16 - pcANYWHERE III - GET/SET TERMINAL PARAMETERS
INT 16 - pcANYWHERE III - GET/SET TERMINAL PARAMETERS
	AH = 7Dh
	AL = subfunction
	    00h set terminal parameters
	    01h get terminal parameters
	    02h get configuration header and terminal parameters
	DS:CX -> terminal parameter block
SeeAlso: AH=7Ch,AH=7Eh

Top
167E - INT 16 - pcANYWHERE III - COMMUNICATIONS I/O THROUGH PORT
INT 16 - pcANYWHERE III - COMMUNICATIONS I/O THROUGH PORT
	AH = 7Eh
	AL = subfunction
	    01h port input status
		Return AX = 0 if no characer ready,
		       AX = 1 if character ready
	    02h port input character
		Return AL = received character
	    03h port output character in CX
	    11h hang up phone
SeeAlso: AH=7Ch

Top
167F - INT 16 - pcANYWHERE III - SET KEYBOARD/SCREEN MODE
INT 16 - pcANYWHERE III - SET KEYBOARD/SCREEN MODE
	AH = 7Fh
	AL = subfunction
	    00h enable remote keyboard only
	    01h enable host keyboard only
	    02h enable both keyboards
	    08h display top 24 lines
	    09h display bottom 24 lines
	    10h Hayes modem
	    11h other modem
	    12h direct connect

Top
1680 - INT 16 - MAKEY.COM - INSTALLATION CHECK
INT 16 - MAKEY.COM - INSTALLATION CHECK
	AH = 80h
Return: AX = 1954h if installed
Program: MAKEY is a utility by System Enhancement Associates

Top
1687 - INT 16 - DK.COM v1.03 - INSTALLATION CHECK
INT 16 - DK.COM v1.03 - INSTALLATION CHECK
	AH = 87h
Return: AX = 4A57h ('JW') if installed
Program: DK.COM is the resident part of a small keyboard macro utility
	  by Digital Mechanics.

Top
168765BX4321 - INT 16 - AT.COM version 8/26/87 - API
INT 16 - AT.COM version 8/26/87 - API
	AX = 8765h
	BX = 4321h
	CX = ??? or FFFFh
	if CX = FFFFh
		DX = number of event to remove or FFFFh
Return: ES:BX -> event record array (see #00607)
Program: AT.COM is a resident scheduler by Bill Frolik

Format of AT.COM event record:
Offset	Size	Description	(Table 00607)
 00h	BYTE	in-use flag (00h free, 01h in use, FFh end of array)
 01h	BYTE	day of date on which to trigger
 02h	BYTE	month of date on which to trigger
 03h	BYTE	trigger time, minute
 04h	BYTE	trigger time, hour
 05h	WORD	offset of command to be executed

Top
1692 - INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
	AH = 92h
Return: AH <= 80h if enhanced keyboard functions (AH=10h-12h) supported
Desc:	this function is called by the DOS 3.2 KEYBxx.COM and DOS 5+ KEYB.COM
	  to determine the highest supported keyboard function
Note:	many BIOSes (including at least some versions of Phoenix and AMI) will
	  destroy AH on return from functions higher than AH=12h, returning
	  12h less than was in AH on entry (due to a chain of DEC/JZ
	  instructions)
SeeAlso: AH=05h"PCjr",AH=A2h,INT 2F/AX=AD80h

Top
1699 - INT 16 - SCOUT v5.4 - GET ???
INT 16 - SCOUT v5.4 - GET ???
	AH = 99h
Return: AX = ABCDh
	BX:CX -> ??? (appears to be start of PSP for resident portion)
Program: Scout is a memory-resident file manager by New-Ware
SeeAlso: AH=9Eh

Top
169E - INT 16 - SCOUT v5.4 - INSTALLATION CHECK
INT 16 - SCOUT v5.4 - INSTALLATION CHECK
	AH = 9Eh
Return: AX = ABCDh if installed
Program: Scout is a memory-resident file manager by New-Ware
SeeAlso: AH=99h

Top
16A2 - INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
	AH = A2h
Return: AH <= 80h if 122-key keyboard functions (AH=20h-22h) supported
Desc:	this function is called by the DOS 3.2 KEYBxx.COM and DOS 5+ KEYB.COM
	  to determine the highest supported keyboard function
Note:	many BIOSes (including at least some versions of Phoenix and AMI) will
	  destroy AH on return from functions higher than AH=12h, returning
	  12h less than was in AH on entry (due to a chain of DEC/JZ
	  instructions)
SeeAlso: AH=05h"PCjr",AH=92h,INT 2F/AX=AD80h

Top
16AA - INT 16 - PTxxx.COM - (xxx=CGA,EGA,VGA,HER...) CALL GATE FOR GRAPHICS
INT 16 - PTxxx.COM - (xxx=CGA,EGA,VGA,HER...) CALL GATE FOR GRAPHICS
	AH = AAh
	Various registers set up by high level language.
Return: Graphics performed
Note:	PT stands for Paint Tools which is a graphics library for Turbo Pascal,
	  Modula 2 and others from DataBiten in Sweden. The library is
	  installed as a memory resident driver.

Top
16AABBBXEEFF - INT 16 U - JORJ v4.3 - INSTALLATION CHECK
INT 16 U - JORJ v4.3 - INSTALLATION CHECK
	AX = AABBh
	BX = EEFFh
Return: AX = EEFFh if installed
	BX = AABBh if installed
	    CL = hotkey name (default 6Ah 'j' for Alt-J)
Program: JORJ is a shareware dictionary with phonetic lookup by Jorj Software
	  Co.
Index:	hotkeys;JORJ

Top
16AF20BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - GET EXTENDED BUFFER STATE
INT 16 - K3PLUS v6.00+ (API v2.0+) - GET EXTENDED BUFFER STATE
	AX = AF20h
	BX = 4B33h ('K3')
Return: AX = K3 version (same as returned in BX by AX=AF4Dh)
	ES:BX -> extended keyboard buffer start
	ES:DX -> extended keyboard buffer end
	ES:SI -> next keystroke
	ES:DI -> last keystroke in buffer
	CX = number of keystrokes in buffer
Program: K3PLUS is an extended keyboard driver by Matthias Paul and Axel C.
	  Frinke, originally based on the K3 extended German keyboard driver
	  by Martin Gerdes published in c't magazine in 1988
Note:	this function replaces the identical function AH=20h"K3"
SeeAlso: AH=20h"K3",AX=AF25h,AX=AF4Dh,AX=AF50h,INT 2F/AX=ED58h

Top
16AF25BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - COPY INTO EXTENDED BUFFER
INT 16 - K3PLUS v6.00+ (API v2.0+) - COPY INTO EXTENDED BUFFER
	AX = AF25h
	BX = 4B33h ('K3')
	CX = number of keystrokes to copy
	ES:SI -> buffer containing keystrokes
Return: CF clear if successful
	CF set on error (i.e. buffer full)
	    CX = number of keystrokes NOT transferred
	    ES:SI -> first keystroke not transferred
Note:	this function replaces the identical function AH=25h"K3"
SeeAlso: AH=25h"K3",AX=AF20h,AX=AF4Dh,AX=AF50h,INT 2F/AX=D44Fh/BX=0001h

Top
16AF4DBX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - GET VERSION INFORMATION
INT 16 - K3PLUS v6.00+ (API v2.0+) - GET VERSION INFORMATION
	AX = AF4Dh
	BX = 4B33h ('K3')
Return: AL = 50h if installed
	    BX = K3 version
	    DX = API version
	    ES:CX -> K3 structure (version-dependent) (see #00608)
Program: K3PLUS is an extended keyboard driver by Matthias Paul and Axel C.
	  Frinke, originally based on the K3 extended German keyboard driver
	  by Martin Gerdes published in c't magazine in 1988
SeeAlso: AX=AF20h,AX=AF50h,AX=AF80h,AX=AF82h/BX=4B33h,INT 2F/AX=D44Fh/BX=0000h
SeeAlso: INT 2F/AX=ED58h
Index:	installation check;K3PLUS

Format of internal K3 structure:
Offset	Size	Description	(Table 00608)
 00h  3 BYTEs	signature "K3$"
 03h	BYTE	length of structure, including this byte and signature
 04h	WORD	compiler switch option flags A (see #00609)
 06h	WORD	compiler switch option flags B (see #00610)
 08h	BYTE	internal flags A (see #00611)
 09h	BYTE	internal flags B (see #00612)
 0Ah	WORD	DOS version recorded at startup
 0Ch	WORD	"ActTypeSpeed"
 0Eh	WORD	last Keyboard-ID sent
		41ABh translated, 83ABh native (pass-through)
 10h	WORD	offset of K3TAB Special
 12h	WORD	offset of K3TAB German
 14h	WORD	offset of K3TAB Alt
 16h	WORD	offset of K3TAB AltGr
 18h	WORD	offset of K3TAB Ctrl
 1Ah	WORD	offset of K3TAB NPad
 1Ch	WORD	offset of K3TAB CtrlNPad
 1Eh	WORD	offset of K3TAB AltNPad
 20h	WORD	offset of K3TAB ApoTbl or 0000h
 22h	WORD	offset of K3TAB UmlautTbl or 0000h
 24h	WORD	offset of K3TAB UmlautTblExp or 0000h
 26h	WORD	length of video mode table
 28h	WORD	offset of VidMdTbl or 0000h
 2Ah	BYTE	'$' end marker

Bitfields for K3PLUS compiler switch option flags A:
Bit(s)	Description	(Table 00609)
 15	GuINT16Fct2 (general use of INT 16 function 2)
 14	Int15df (INT 15 has to be predefined)
 13	GuAltNP (general use of Alt Numpad)
 12	SupAT (ATs+ supported)
 11	GuINT16Fct3 (general use of INT 16 function 3)
 10	GuINT16Ret (general use of INT16 bad function return)
 9-8	Layout (0-2, 3 reserved; 0=PC, 1=AT, 2=MF)
 7	ForceMF (force MF decode without read-ID)
 6	KXlate (translate keys for special keyboard)
 5	UmlautX (umlaut translation capability included)
 4	ApoX (translate apostrophe)
 3	DoINT16 (INT 16 handler included)
 2	UseCC (CopyCursor included)
 1-0	UseEB
	0=no extended keystroke buffer, 1=reserve mem, 2=use PSP, 3=reserved

Bitfields for K3 compiler switch option flags B:
Bit(s)	Description	(Table 00610)
 15-11	reserved (0)
 10	CtrlSeq (Ctrl macro capability included)
 9-8	SupINT16fct55FE
 6	DoInstallCheck (check for double installation)
 5	SupINT16fct5PcJr (INT 16/AH=05h"PCjr" supported)
 4	SendOut (sound and message output supported)
 3	SupInt16fct5500 (INT 16/AX=5500h supported)
 2	GuINT15Fct4F (calls to INT 15/AH=4Fh supported)
 1-0	UseBufferStart (0=use standard area, 1=set standard area,
	2=use internal indexes, 3=reserved)

Bitfields for K3 internal flags A:
Bit(s)	Description	(Table 00611)
 7	DoingUmlautExp
 6	CallINT15fct4F
 5	Beep1 (requires SendOut set in option flags B)
 4	ATflag (set for AT, 386, PS/2 Models 50-80)
 3	XTflag (set for PC, PC/XT, Micromint PC, Pencock PC, PS/2 Model 30)
 2	KeyClick
 1	UmlautExp
 0	UmlautTrans

Bitfields for K3 internal flags B:
Bit(s)	Description	(Table 00612)
 7-5	reserved
 4	TranslateE0 enabled
 3	Boot enabled
 2	PrintScreen enabled
 1	Break enabled
 0	ApoPendingBeep

Top
16AF50BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.0+) - CHECK IF FUNCTION SUPPORTED
INT 16 - K3PLUS v6.00+ (API v2.0+) - CHECK IF FUNCTION SUPPORTED
	AX = AF50h
	BX = 4B33h ('K3')
	CH = function
	    00h get function flags
		CL = 00h
		Return: CX = supported function flags (see #00613)
	    nonzero reserved for extensions
SeeAlso: AX=AF20h,AX=AF4Dh,AX=AF51h,AX=AF80h

Bitfields for K3PLUS supported function list:
Bit(s)	Description	(Table 00613)
 0	function 4Dh supported
 1	function 50h supported
 2-3	reserved (0)
 4	function 20h supported
 5	function 25h supported
 6	function 51h supported
 7	reserved (0)
 8	function 80h supported
 9	function 81h supported
 10	function 82h supported
 11-15	reserved (0)

Top
16AF51BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - SET OPTIONS
INT 16 - K3PLUS v6.00+ (API v2.00+) - SET OPTIONS
	AX = AF51h
	BX = 4B33h ('K3')
	CX = switches
Return: AL = status
	    00h done
		CX = previous switch settings
	    01h switch not supported
	    FFh other error
SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF80h

Top
16AF80BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 09h VECTOR
INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 09h VECTOR
	AX = AF80h
	BX = 4B33h ('K3')
Return: AL = status
	    00h not supported
	    81h if successful
		ES:CX -> original INT 09 handler
SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF81h,AX=AF82h

Top
16AF81BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 16h HANDLER
INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 16h HANDLER
	AX = AF81h
	BX = 4B33h ('K3')
Return: AL = status
	    00h not supported
	    82h if successful
		ES:CX -> original INT 16 handler
SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF80h,AX=AF82h

Top
16AF82BX4B33 - INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 10h HANDLER
INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 10h HANDLER
	AX = AF82h
	BX = 4B33h ('K3')
Return: AL = status
	    00h not supported
	    83h if successful
		ES:CX -> original INT 10 handler
Program: K3PLUS is an extended keyboard driver by Matthias Paul and Axel C.
	  Frinke, originally based on the K3 extended German keyboard driver
	  by Martin Gerdes published in c't magazine in 1988
SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF80h,AX=AF81h,INT 2F/AX=ED58h

Top
16B0B1 - INT 16 - VGARAM v1.00 - INSTALLATION CHECK
INT 16 - VGARAM v1.00 - INSTALLATION CHECK
	AX = B0B1h
	ES:DI -> 6 byte signature "VGARAM"
Return: AX = B1B0h if installed,
	DS:BX -> VGARAM Status byte: 0 = OFF, 1 = ON
Program: VGARAM is a utility by Brett Warthen which makes VGA memory which is
	  not used in text modes available for DOS

Top
16CA--BX736B - INT 16 - CtrlAlt Associates STACKEY.COM v3.00 - API
INT 16 - CtrlAlt Associates STACKEY.COM v3.00 - API
	AH = CAh
	BX = 736Bh ("sk")
	CX = 736Bh
	AL = function
	    00h installation check
		Return: DX = words available in keyboard buffer
	    01h place keystroke in buffer
		DX = keystroke (DH = scan code, DL = ASCII character)
		Return: DX = words available in keyboard buffer
			    FFFFh on error
	    02h flush STACKEY and BIOS keyboard buffers
Return: AX = CAFFh if installed
	    BX = segment of resident code
	    CX = STACKEY version (CH = major, CL = minor)
Program: STACKEY is a shareware keyboard-input faking TSR
Index:	installation check;STACKEY

Top
16CA00BX6570 - INT 16 - CtrlAlt Associates EGAPAL.COM v1.00 - INSTALLATION CHECK
INT 16 - CtrlAlt Associates EGAPAL.COM v1.00 - INSTALLATION CHECK
	AX = CA00h
	BX = 6570h ("ep")
	CX = 6570h
Return: AX = CAFFh if installed
	    BX = segment of resident code
	    CX = ??? (0090h)
Program: EGAPAL is a TSR supplied with STACKEY which makes EGA palette
	  settings permanent across mode switches
SeeAlso: AX=CA00h/BX=7670h

Top
16CA00BX7670 - INT 16 - CtrlAlt Associates VGAPAL.COM v1.00 - INSTALLATION CHECK
INT 16 - CtrlAlt Associates VGAPAL.COM v1.00 - INSTALLATION CHECK
	AX = CA00h
	BX = 7670h ("vp")
	CX = 7670h
Return: AX = CAFFh if installed
	    BX = segment of resident code
	    CX = ??? (0090h)
Program: VGAPAL is a TSR supplied with STACKEY which makes VGA palette
	  settings permanent across mode switches
SeeAlso: AX=CA00h/BX=6570h

Top
16CB00 - INT 16 - PUPClip v1.12+ - INSTALLATION CHECK
INT 16 - PUPClip v1.12+ - INSTALLATION CHECK
	AX = CB00h
Return: BX = 4342h if installed
	    AX = version (AH = major version, AL = BCD minor version)
Program: PUPClip is the freeware PopUP Clipboard for DOS and Windows DOS
	 sessions by SkullC0DEr
SeeAlso: AX=CB01h,AX=CB02h,AX=CB03h,AX=CB04h,AX=CB05h,AX=CB06h,AX=CB08h
SeeAlso: INT 2F/AX=1701h

Top
16CB01 - INT 16 - PUPClip v1.12+ - GET CLIPBOARD CURSOR POSITION
INT 16 - PUPClip v1.12+ - GET CLIPBOARD CURSOR POSITION
	AX = CB01h
Return: BL = column (0-79)
	BH = row (0-49)
SeeAlso: AX=CB00h,AX=CB02h,AX=CB03h

Top
16CB02 - INT 16 - PUPClip v1.12+ - SET CLIPBOARD CURSOR POSITION
INT 16 - PUPClip v1.12+ - SET CLIPBOARD CURSOR POSITION
	AX = CB02h
	BL = column (0-79)
	BH = row (0-49)
Return: CF clear if successful
	CF set on error (invalid position)
SeeAlso: AX=CB00h,AX=CB01h,AX=CB04h

Top
16CB03 - INT 16 - PUPClip v1.12+ - GET CHARACTER FROM CURRENT CLIPBOARD CURSOR POSITION
INT 16 - PUPClip v1.12+ - GET CHARACTER FROM CURRENT CLIPBOARD CURSOR POSITION
	AX = CB03h
Return: BL = ASCII character at current position
SeeAlso: AX=CB00h,AX=CB02h,AX=CB04h,INT 2F/AX=1705h

Top
16CB04 - INT 16 - PUPClip v1.12+ - WRITE CHARACTER TO CURRENT CLIPBOARD CURSOR POSITION
INT 16 - PUPClip v1.12+ - WRITE CHARACTER TO CURRENT CLIPBOARD CURSOR POSITION
	AX = CB04h
	BL = ASCII character to store
SeeAlso: AX=CB00h,AX=CB02h,AX=CB03h,AX=CB05h,INT 2F/AX=1703h

Top
16CB05 - INT 16 - PUPClip v1.12+ - CLEAR CLIPBOARD CONTENTS
INT 16 - PUPClip v1.12+ - CLEAR CLIPBOARD CONTENTS
	AX = CB05h
Return: nothing
SeeAlso: AX=CB00h,AX=CB04h,AX=CB06h,AX=CB07h,INT 2F/AX=1702h

Top
16CB06 - INT 16 - PUPClip v1.12+ - SCROLL UP CLIPBOARD CONTENTS
INT 16 - PUPClip v1.12+ - SCROLL UP CLIPBOARD CONTENTS
	AX = CB06h
Return: nothing
SeeAlso: AX=CB00h,AX=CB05h,AX=CB07h

Top
16CB07 - INT 16 - PUPClip v1.12+ - SCROLL DOWN CLIPBOARD CONTENTS
INT 16 - PUPClip v1.12+ - SCROLL DOWN CLIPBOARD CONTENTS
	AX = CB07h
Return: nothing
SeeAlso: AX=CB00h,AX=CB05h,AX=CB06h

Top
16CB08 - INT 16 - PUPClip v1.12+ - POP UP
INT 16 - PUPClip v1.12+ - POP UP
	AX = CB08h
Return: CF clear if successful
	CF set on error (unsupported video mode)
SeeAlso: AX=CB00h

Top
16D724CX00CB - INT 16 U - APCAL v3.20 - GET ???
INT 16 U - APCAL v3.20 - GET ???
	AX = D724h
	CX = 00CBh
Return: AX = 0000h
	BX = 0000h
	DX:CX -> ??? or 0000h:0000h
Program: APCAL is an optionally-resident shareware appointment calendar by
	  Gamma Software
SeeAlso: AX=3577h,AX=D724h/CX=00CCh,AX=D724h/CX=00CDh

Top
16D724CX00CC - INT 16 U - APCAL v3.20 - GET ???
INT 16 U - APCAL v3.20 - GET ???
	AX = D724h
	CX = 00CCh
Return: AX = 0000h
	BX = 0000h
	DX:CX -> ??? (apparently an internal data area)
SeeAlso: AX=D724h/CX=00CBh,AX=D724h/CX=00CDh

Top
16D724CX00CD - INT 16 U - APCAL v3.20 - GET ???
INT 16 U - APCAL v3.20 - GET ???
	AX = D724h
	CX = 00CDh
Return: AX = ??? (5345h seen)
SeeAlso: AX=D724h/CX=00CBh,AX=D724h/CX=00CCh

Top
16DD - INT 16 - VIRUS - "Frumble" - INSTALLATION CHECK
INT 16 - VIRUS - "Frumble" - INSTALLATION CHECK
	AH = DDh
Return: AL = DDh if resident
SeeAlso: INT 13/AX=FD50h,INT 21/AX=010Fh,INT 21/AX=0B56h

Top
16DFDF - INT 16 U - Corel PowerSCSI - FDAUDIO.COM - INSTALLATION CHECK
INT 16 U - Corel PowerSCSI - FDAUDIO.COM - INSTALLATION CHECK
	AX = DFDFh
Return: ES:DI -> ASCII signature "FDAUDIO/CD" followed by ASCII date, i.e.
	  "06/18/93" if installed

Top
16E000 - INT 16 - AMI BIOS - BIOS-FLASH Interface - GET VERSION NUMBER
INT 16 - AMI BIOS - BIOS-FLASH Interface - GET VERSION NUMBER
	AX = E000h
Return: CF clear if successful
	    AL = FAh
	    BX = version number (BCD) (0200h = v2.00)
	CF set on error (not implemented)
Notes:	this interface is available on AMI BIOSes built from AMI core version
	  8/8/93 (HiFlex BIOS) or 11/15/93 (WinBIOS) or later
	the "Meningitis" virus uses this API when attacking a system equipped
	  with an AMI BIOS; it is supposedly able to write itself into the
	  Flash ROM and thus make itself part of the BIOS
SeeAlso: AX=E001h,AX=E004h,AX=E006h,AX=E008h,AX=E00Ah,AX=E00Bh,AX=E0FFh

Top
16E001 - INT 16 - AMI BIOS - BIOS-FLASH Interface - GET CHIPSET SAVE/RESTORE SIZE
INT 16 - AMI BIOS - BIOS-FLASH Interface - GET CHIPSET SAVE/RESTORE SIZE
	AX = E001h
Return: CF clear if successful
	    AL = FAh
	    BX = number of bytes required to save chipset configuration
	CF set on error
SeeAlso: AX=E000h,AX=E002h,AX=E003h

Top
16E002 - INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE CHIPSET STATUS & PREPARE CHPSET
INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE CHIPSET STATUS & PREPARE CHPSET
	AX = E002h
	ES:DI -> buffer for storing chipset status
Return: CF clear if successful
	    AL = FAh
	CF set on error
SeeAlso: AX=E000h,AX=E001h,AX=E003h

Top
16E003 - INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE CHIPSET STATUS
INT 16 - AMI BIOS - BIOS-FLASH Interface -  RESTORE CHIPSET STATUS
	AX = E003h
	ES:DI -> buffer in which chipset status was previously stored
Return: CF clear if successful
	    AL = FAh
	CF set on error
SeeAlso: AX=E000h,AX=E001h,AX=E002h

Top
16E004 - INT 16 - AMI BIOS - BIOS-FLASH Interface - LOWER PROGRAMMING VOLTAGE Vpp
INT 16 - AMI BIOS - BIOS-FLASH Interface - LOWER PROGRAMMING VOLTAGE Vpp
	AX = E004h
Return: CF clear if successful
	    AL = FAh
	CF set on error
Note:	this function does not return until the voltage level stabilizes
SeeAlso: AX=E000h,AX=E005h,AX=E006h

Top
16E005 - INT 16 - AMI BIOS - BIOS-FLASH Interface - RAISE PROGRAMMING VOLTAGE Vpp
INT 16 - AMI BIOS - BIOS-FLASH Interface - RAISE PROGRAMMING VOLTAGE Vpp
	AX = E005h
Return: CF clear if successful
	    AL = FAh
	CF set on error
Note:	this function does not return until the voltage level stabilizes
SeeAlso: AX=E000h,AX=E004h,AX=E007h

Top
16E006 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE PROTECT
INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE PROTECT
	AX = E006h
Return: CF clear if successful
	    AL = FAh
	CF set on error
Note:	this function performs any delay required to allow the Flash ROM to
	  stabilize in the write-protected state
SeeAlso: AX=E000h,AX=E004h,AX=E007h

Top
16E007 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE ENABLE
INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE ENABLE
	AX = E007h
Return: CF clear if successful
	    AL = FAh
	CF set on error
Note:	this function performs any delay required to allow the Flash ROM to
	  stabilize in the write-enabled state
SeeAlso: AX=E000h,AX=E005h,AX=E006h,AX=E008h

Top
16E008 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH SELECT
INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH SELECT
	AX = E008h
Return: CF clear if successful
	    AL = FAh
	CF set on error
Desc:	select the Flash ROM if the system contains both EPROM and Flash ROM
Note:	this function performs any delay required to allow the Flash ROM to
	  stabilize in the selected state; if no EPROM is present, this
	  function always returns successfully
SeeAlso: AX=E000h,AX=E007h,AX=E009h

Top
16E009 - INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH DE-SELECT
INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH DE-SELECT
	AX = E009h
Return: CF clear if successful
	    AL = FAh
	CF set on error
Desc:	select the EPROM if the system contains both EPROM and Flash ROM
Note:	this function performs any delay required to allow the Flash ROM to
	  stabilize in the de-selected state; if no EPROM is present, this
	  function always returns successfully
SeeAlso: AX=E000h,AX=E006h,AX=E008h

Top
16E00A - INT 16 - AMI BIOS - BIOS-FLASH Interface - VERIFY ALLOCATED MEMORY
INT 16 - AMI BIOS - BIOS-FLASH Interface - VERIFY ALLOCATED MEMORY
	AX = E00Ah
	BX = number of paragraphs
	ES = starting segment of memory
Return: CF clear if successful
	    AL = FAh
	CF set on error
Desc:	determine whether the specified memory may be used for flash
	  programming
Note:	always returns error if BX is zero on entry
SeeAlso: AX=E000h,AX=E00Bh

Top
16E00B - INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE INTERNAL CACHE STATUS
INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE INTERNAL CACHE STATUS
	AX = E00Bh
	ES:DI -> buffer for internal cache status (minimum 4Kbytes)
Return: CF clear if successful
	    AL = FAh
	CF set on error
Note:	always returns error if the hardware does not contain internal
	  cache or this call is made in protected mode
SeeAlso: AX=E000h,AX=E00Ah,AX=E00Ch

Top
16E00C - INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE INTERNAL CACHE STATUS
INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE INTERNAL CACHE STATUS
	AX = E00Ch
	ES:DI -> buffer containing internal cache status (minimum 4Kbytes)
Return: CF clear if successful
	    AL = FAh
	CF set on error
Note:	always returns error if the hardware does not contain internal
	  cache or this call is made in protected mode
SeeAlso: AX=E000h,AX=E00Bh

Top
16E0E0 - INT 16 - TurboPower TSRs - ALTERNATE INSTALLATION CHECK
INT 16 - TurboPower TSRs - ALTERNATE INSTALLATION CHECK
	AX = E0E0h
Return: AX = 1F1Fh if installed
	    DWORD 0040h:00F0h -> last data block in TSR list (see #00615)
Note:	the returned TSR list provides support for communication among TSRs
	  built with TurboPower's Turbo Professional and Object Professional
	  libraries for Turbo Pascal
SeeAlso: AX=F0F0h

Top
16E0FF - INT 16 - AMI BIOS - BIOS-FLASH Interface - GENERATE CPU RESET
INT 16 - AMI BIOS - BIOS-FLASH Interface - GENERATE CPU RESET
	AX = E0FFh
Return: never
SeeAlso: AX=E000h,INT 14/AH=17h"FOSSIL"

Top
16ED--BHED - INT 16 - BORLAND TURBO LIGHTNING - API
INT 16 - BORLAND TURBO LIGHTNING - API
	AH = EDh
	BH = EDh
	BL = function
	    00h installation check
		Return: AX = 5205h
			CH = major version
			CL = minor version
	    01h identical to function 00h???
	    02h get resident data segment
		Return: AX = data segment of resident portion
	    03h get resident ???
		Return: AX = offset of some buffer in resident code seg
	    04h redefine auxiliary dictionary
		DS:SI -> counted filename string
		Return: AL = result code
	    05h select active environment
		AL = environment (00h to 0Ch)
		Return: AX = status
			    0000h if OK
			    0001h if out of range
	    06h toggle AutoProof???
		AL = state (00h off, 01h on)
	    07h ???
	    08h ???
		AL = char???
		CX = ???
		DX = ???
		Return: AX = 0, 1 or 2
	    09h ???
	    0Ah ???
		CX = ???
		DX = ???
		Return: AX = ???
	    0Bh check dictionary integrity???
		DS:SI -> counted dictionary filename string
		Return: AX = 0, 40h, 80h
	    0Ch spellcheck string (disk dictionary, possibly RAM dict as well)
		DS:SI -> counted string to check
		Return: AH = 0
			AL = result code
			   00h string found in dictionary
			   20h string begins more than one word
			   40h string not found
	    0Dh set ???
		(sets an internal flag)
	    0Eh spellcheck string (RAM dictionary only)
		DS:SI -> counted string to check
		Return: AH = 00h
			AL = result code
			    00h string found in dictionary
			    01h string not found
			    02h ???
	    0Fh ???
	    10h ???
Notes:	AX in general returns an error code from most functions.
Index:	installation check;Turbo Lightning

Top
16EF - INT 16 - CALCULATOR - INSTALLATION CHECK
INT 16 - CALCULATOR - INSTALLATION CHECK
	AH = EFh
Return: AX = 0088h if installed
Program: CALCULATOR is a shareware popup calculator by Andrzej Brzezinski and
	  Marek Kosznik

Top
16F0 - INT 16 - Compaq 386 and newer - SET CPU SPEED
INT 16 - Compaq 386 and newer - SET CPU SPEED
	AH = F0h
	AL = speed code (see #00614)
	if AL=09h,
	    CX = speed value, 1 (slowest) to 50 (full), 3 ~= 8088
Note:	also supported by some versions of AMI BIOS dated June 1992 or later;
	  speed codes 0 or 1 are used for Low Speed, 2 for High Speed
SeeAlso: AH=F1h,AH=F3h

(Table 00614)
Values for speed code:
 00h	equivalent to 6 MHz 80286 (COMMON)
 01h	equivalent to 8 MHz 80286 (FAST)
 02h	full 16 MHz (HIGH)
 03h	toggles between 8 MHz-equivalent and speed set by system board switch
	  (AUTO or HIGH)
 08h	full 16 MHz except 8 MHz-equivalent during floppy disk access
 09h	specify speed directly

Top
16F0F0 - INT 16 - TurboPower TSRs - INSTALLATION CHECK
INT 16 - TurboPower TSRs - INSTALLATION CHECK
	AX = F0F0h
Return: AX = 0F0Fh if installed
	    ES:DI -> last data block in TSR list (see #00615)
Note:	the returned TSR list provides support for communication among TSRs
	  built with TurboPower's Turbo Professional and Object Professional
	  libraries for Turbo Pascal
SeeAlso: AX=E0E0h

Format of TurboPower TSR data block:
Offset	Size	Description	(Table 00615)
 00h	DWORD	pointer to program tag (counted ASCII string)
 04h	WORD	interface version number (0400h)
 06h	DWORD	pointer to command entry point
 0Ah	DWORD	pointer to previous data block (0000h:0000h if none)
 0Eh	DWORD	pointer to next data block (0000h:0000h if none)
---swappable TSRs only---
 12h	DWORD	pointer to swapping data
 16h	DWORD	pointer to user data
	more???

Top
16F1 - INT 16 - Compaq 386 and newer - READ CURRENT CPU SPEED
INT 16 - Compaq 386 and newer - READ CURRENT CPU SPEED
	AH = F1h
Return: AL = speed code (see #00614)
	if AL = 09h, CX = speed code
Note:	also supported by some versions of AMI BIOS dated June 1992 or later
SeeAlso: AH=F0h,AH=F3h

Top
16F2 - INT 16 - Compaq 386 and newer - DETERMINE ATTACHED KEYBOARD TYPE
INT 16 - Compaq 386 and newer - DETERMINE ATTACHED KEYBOARD TYPE
	AH = F2h
Return: AL = type
	    00h if 11-bit AT keyboard is in use
	    01h if 9-bit PC keyboard is in use
	AH = 00h (04/08/93 system ROM)
SeeAlso: MEM 0040h:00C2h

Top
16F3 - INT 16 - Compaq 80286s - SET CPU SPEED LIMIT (OVERRIDE JUMPER)
INT 16 - Compaq 80286s - SET CPU SPEED LIMIT (OVERRIDE JUMPER)
	AH = F3h
	AL = new limit
	    00h limit is 6 Mhz
	    01h limit is 8 Mhz/6 Mhz
SeeAlso: AH=F0h,AH=F1h

Top
16F398 - INT 16 U - NORTON GUIDES - INSTALLATION CHECK
INT 16 U - NORTON GUIDES - INSTALLATION CHECK
	AX = F398h
Return: AX = 6A73h ("js")
	BH = BIOS scan code of current hot key
	BL = ASCII code of current hot key
Note:	NG.EXE was written by John Socha

Top
16F400 - INT 16 - Compaq Systempro and higher - CACHE CONTROLLER STATUS
INT 16 - Compaq Systempro and higher - CACHE CONTROLLER STATUS
	AX = F400h
Return: AH = E2h (*)
	AL = status
	    00h not present
	    01h enabled
	    02h disabled
	CX = cache memory size
	    bit 15:	cache size information is NOT valid
	    bits 14-0:	cache memory size in kilobytes
	DH = cache write technology
	    bit 7:	cache write information is NOT valid
	    bits 6-1:	reserved (0)
	    bit 0:	0 = Write-through caching
			1 = Write-back caching
	DL = cache type
	    bit 7:	cache type information is NOT valid
	    bits 6-1:	reserved (0)
	    bit 0:	0 = Direct mapped
			1 = Two-way set-associative
Notes:	also supported by some versions of AMI BIOS dated June 1992 or later
	many (most) BIOSes return a modified AH when called for an unsupported
	  or non-keyboard function (typically, the highest supported keyboard
	  function [normally 12h] is subtracted from the original AH)
SeeAlso: AX=F401h,AX=F402h

Top
16F401 - INT 16 - Compaq Systempro and higher - ENABLE CACHE CONTROLLER
INT 16 - Compaq Systempro and higher - ENABLE CACHE CONTROLLER
	AX = F401h
Return: AX = E201h
Notes:	also supported by some versions of AMI BIOS dated June 1992 or later
	many (most) BIOSes return a modified AH when called for an unsupported
	  or non-keyboard function (typically, the highest supported keyboard
	  function [normally 12h] is subtracted from the original AH)
SeeAlso: AX=F400h,AX=F402h

Top
16F402 - INT 16 - Compaq Systempro and higher - DISABLE CACHE CONTROLLER
INT 16 - Compaq Systempro and higher - DISABLE CACHE CONTROLLER
	AX = F402h
Return: AX = E202h
Notes:	also supported by some versions of AMI BIOS dated June 1992 or later
	many (most) BIOSes return a modified AH when called for an unsupported
	  or non-keyboard function (typically, the highest supported keyboard
	  function [normally 12h] is subtracted from the original AH)
SeeAlso: AX=F400h,AX=F401h

Top
16FA00DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - INSTALLATION CHECK
INT 16 U - PC Tools v8+ VSAFE, VWATCH - INSTALLATION CHECK
	AX = FA00h
	DX = 5945h
Return: CF clear
	DI = 4559h
	BX = BIOS hotkey scancode (default 2F00h) (VSAFE only)
		FFFFh if disabled
Note:	MS-DOS 6.0 bundles VSAFE and VWATCH as part of its virus protection
SeeAlso: AX=FA05h,INT 13/AH=FAh,INT 21/AH=FAh"VDEFEND",INT 2F/AX=6282h

Top
16FA01DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - UNINSTALL
INT 16 U - PC Tools v8+ VSAFE, VWATCH - UNINSTALL
	AX = FA01h
	DX = 5945h
Return: CF clear if successful
	DI = 4559h
SeeAlso: AX=FA00h

Top
16FA02DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET/SET OPTIONS
INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET/SET OPTIONS
	AX = FA02h
	DX = 5945h
	BL = new parameter flags (see #00616)
Return: CF clear
	DI = 4559h
	CL = old value of parameter flags

Bitfields for VSAFE/VWATCH parameter flags:
Bit(s)	Description	(Table 00616)
 7	Protect executable files
 6	Protect FD boot sector
 5	Protect HD boot sector
 4	Boot sector viruses
 3	Check executable files
 2	General write protect
 1	Resident
 0	HD Low level format

Top
16FA03DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET ???
INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET ???
	AX = FA03h
	DX = 5945h
Return: CF clear
	DI = 4559h
	AX = 0002h

Top
16FA04DX5945 - INT 16 U - PC Tools v8+ VSAFE - GET HOTKEY DISABLE FLAG
INT 16 U - PC Tools v8+ VSAFE - GET HOTKEY DISABLE FLAG
	AX = FA04h
	DX = 5945h
Return: CF clear
	DI = 4559h
	BL = hotkey disable flag (nonzero if hotkey disabled)
Note:	this function is a NOP under VWATCH, merely returning CF clear/DI=4559h
SeeAlso: AX=FA00h,AX=FA05h

Top
16FA05DX5945 - INT 16 U - PC Tools v8+ VSAFE - SET HOTKEY DISABLE FLAG
INT 16 U - PC Tools v8+ VSAFE - SET HOTKEY DISABLE FLAG
	AX = FA05h
	DX = 5945h
	BL = new value of hotkey disable flag (nonzero to disable hotkey)
Return: CF clear
	DI = 4559h
Note:	this function is a NOP under VWATCH, merely returning CF clear/DI=4559h
SeeAlso: AX=FA00h,AX=FA04h

Top
16FA06DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET NETWORK DRIVES TEST FLAG
INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET NETWORK DRIVES TEST FLAG
	AX = FA06h
	DX = 5945h
Return: CF clear
	DI = 4559h
	BL = test status
	    00h don't monitor network drives (default for VWATCH v2.1)
	    FFh monitor network drives (default for VSAFE v2.0)
	CL = ??? (only VSAFE 2.0)
SeeAlso: AX=FA07h

Top
16FA07DX5945 - INT 16 U - PC Tools v8+ VSAFE, VWATCH - SET NETWORK DRIVES TEST FLAG
INT 16 U - PC Tools v8+ VSAFE, VWATCH - SET NETWORK DRIVES TEST FLAG
	AX = FA07h
	DX = 5945h
	BL = new state
	    00h don't monitor
	    01h monitor network drives
Return: CF clear
	DI = 4559h
Note:	VWATCH v2.1 (from PC Tools 9.0) returns CF set instead
SeeAlso: AX=FA00h,AX=FA06h

Top
16FA08DX5945 - INT 16 U - PC Tools v9+ VWATCH v2.1 - ???
INT 16 U - PC Tools v9+ VWATCH v2.1 - ???
	AX = FA08h
	DX = 5945h
Return: CF clear
	DI = 4559h
	AX = ??? (0002h)
	BX = version (BH=major, BL=two-digit minor)
Note:	this function is not supported by the PC Tools 9.0 VSAFE v2.0
SeeAlso: AX=FA00h,AX=FA06h

Top
16FE55 - INT 16 U - PC Tools v8+ programs - GET ???
INT 16 U - PC Tools v8+ programs - GET ???
	AX = FE55h
	CX = segment of resident program or 0000h for last loaded
	DX = 0000h
Return: DX = resident code segment (unchanged if CX=0000h on entry)
	AX = ??? or 0000h
Note:	this call is supported by CPSCHED, CPTASK, DATAMON, DPROTECT, DRIVEMAP,
	  and DSKLIGHT beginning in PC Tools v8.0; programs other than CPTASK
	  seem to hook it merely to return the same AX as the CPTASK loaded
	  prior to them returned

Top
16FEA4 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - RESET ???
INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - RESET ???
	AX = FEA4h
Return: nothing
Note:	this function is identical to AX=FFA4h, and is implemented by the same
	  code in DESKTOP
SeeAlso: AX=FFA4h

Top
16FEC6 - INT 16 U - PC Tools v7+ CPSCHED - ENABLE/DISABLE CPSCHED API
INT 16 U - PC Tools v7+ CPSCHED - ENABLE/DISABLE CPSCHED API
	AX = FEC6h
	BL = new state (00h enabled, nonzero disabled)
Return: nothing
Desc:	specify whether CPSCHED API calls other than this one and AX=FE55h will
	  be honored

Top
16FED3 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - ???
INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - ???
	AX = FED3h
	DS:SI -> 92-byte data record for ???
Return: ???
Note:	this function is identical to AX=FFD3h, and is implemented by the same
	  code in DESKTOP
SeeAlso: AX=FFD3h

Top
16FEDC - INT 16 U - PC Tools v7+ CPSCHED - UNHOOK INTERRUPTS
INT 16 U - PC Tools v7+ CPSCHED - UNHOOK INTERRUPTS
	AX = FEDCh
Return: AX,DX destroyed
Index:	uninstall;CPSCHED

Top
16FEEFCX0000 - INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - INSTALLATION CHECK
INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - INSTALLATION CHECK
	AX = FEEFh
	CX = 0000h
Return: CX = ABCDh if PC Tools scheduler (CPSCHED or DESKTOP) installed
	    BX = segment of resident portion
	    DX = (CPSCHED v8.0) resident CS
Note:	this function is identical to AX=FFD3h, and is implemented by the same
	  code in DESKTOP
SeeAlso: AX=FFEFh

Top
16FEF1 - INT 16 U - PC Tools v7 only CPSCHED/DESKTOP - ALTERNATE INSTALLATION CHECK
INT 16 U - PC Tools v7 only CPSCHED/DESKTOP - ALTERNATE INSTALLATION CHECK
	AX = FEF1h
	BX = ???
Return: CX = 5555h if PC Tools scheduler (CPSCHED or DESKTOP) installed
	DX = 5555h
Note:	this function is identical to AX=FFD3h, and is implemented by the same
	  code in DESKTOP
SeeAlso: AX=FFF1h

Top
16FF - INT 16 - KEYBOARD - KBUF extensions - ADD KEY TO TAIL OF KEYBOARD BUFFER
INT 16 - KEYBOARD - KBUF extensions - ADD KEY TO TAIL OF KEYBOARD BUFFER
	AH = FFh
	DX = scan code
Return: AL = status
	    00h success
	    01h failure
Program: KBUF is a keyboard buffer expander by Mark Adler
SeeAlso: AH=05h

Top
16FF - INT 16 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY ZOOM INTERRUPT
INT 16 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY ZOOM INTERRUPT
	AH = FFh
Return: AL = interrupt number to which BIOS keyboard handler has been relocated
	AL+1 = Zoom interrupt number
	BX = hotkey
Notes:	the default interrupts are 60h for keyboard and 61h for Zoom interrupt;
	  the default hot key is F10
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: INT 61/AX=0000h"OPTIMA",INT 61/AX=0005h"OPTIMA"
Index:	hotkeys;OPTIMA 1024 VGA

Top
16FF--BH00 - INT 16 - FREEZE.COM - INSTALLATION CHECK
INT 16 - FREEZE.COM - INSTALLATION CHECK
	AH = FFh
	BH = 00h
Return: BH = FFh if installed
Program: FREEZE is a PC Magazine utility

Top
16FF70BX0000 - INT 16 U - PC Tools v8+ DRIVEMAP - INSTALLATION CHECK
INT 16 U - PC Tools v8+ DRIVEMAP - INSTALLATION CHECK
	AX = FF70h
	BX = 0000h
	CX = 4C69h ('Li')
	DX = 6E6Bh ('nk')
Return: AX = 0000h
	CX = 4350h ('CP')
	DH = major version
	DL = minor version
Program: DRIVEMAP is a redirector which allows drives on computers connected
	  over the parallel or serial ports to appear as local drives
SeeAlso: AX=FF70h/BX=0001h,AX=FF70h/BX=0002h

Top
16FF70BX0001 - INT 16 U - PC Tools v8+ DRIVEMAP - ???
INT 16 U - PC Tools v8+ DRIVEMAP - ???
	AX = FF70h
	BX = 0001h
	DL = ???
Return: AX = ???
	DH = ???
SeeAlso: AX=FF70h/BX=0000h,AX=FF70h/BX=0002h

Top
16FF70BX0002 - INT 16 U - PC Tools v8+ DRIVEMAP - ???
INT 16 U - PC Tools v8+ DRIVEMAP - ???
	AX = FF70h
	BX = 0002h
	CX = ???
	DX = ???
Return: AX = ??? or FFFEh/FFFFh on error
	DL = ???
BUG:	DRIVEMAP will branch to random locations for BX values other than
	  those listed above for v8.0-9.0 because a) the incorrect register is
	  range-tested, resulting in BX=0003h-5CD6h being accepted as valid
	  function numbers, and b) the conditional which branches on invalid
	  function numbers jumps to the following instruction, becoming a NOP
SeeAlso: INT 2F/AX=9203h"DRIVEMAP"
Index:	installation check;DRIVEMAP

Top
16FF80BX0000 - INT 16 U - PC Tools v8+ CPTASK - INSTALLATION CHECK
INT 16 U - PC Tools v8+ CPTASK - INSTALLATION CHECK
	AX = FF80h
	BX = 0000h
	CX = 0000h
	DX = 0000h
Return: CX = 5555h if installed
Program: CPTASK is a task switcher by Central Point Software

Top
16FF80BX0001 - INT 16 U - PC Tools v8+ CPTASK - GET ???
INT 16 U - PC Tools v8+ CPTASK - GET ???
	AX = FF80h
	BX = 0001h
	???
Return: DX:SI -> task list??? (ten entries of 70h bytes in v9.0)
	BX = ??? (PSP segment of resident code???)

Top
16FF80BX0002 - INT 16 U - PC Tools v8+ CPTASK - GET ???
INT 16 U - PC Tools v8+ CPTASK - GET ???
	AX = FF80h
	BX = 0002h
Return: DX:SI -> ???

Top
16FF80BX0003 - INT 16 U - PC Tools v8+ CPTASK - GET ??? FLAGS
INT 16 U - PC Tools v8+ CPTASK - GET ??? FLAGS
	AX = FF80h
	BX = 0003h
Return: AX = flags (see #00617)
SeeAlso: AX=FF80h/BX=0004h,AX=FF80h/BX=0006h

Bitfields for CPTASK flags:
Bit(s)	Description	(Table 00617)
 10	???
 13	???
 14	???
 15	???

Top
16FF80BX0004 - INT 16 U - PC Tools v8+ CPTASK - SET ???
INT 16 U - PC Tools v8+ CPTASK - SET ???
	AX = FF80h
	BX = 0004h
	CX = new value of ???
Return: ???
Note:	this function also sets bit 14 of the flags word returned by
	  AX=FF80h/BX=0003h

Top
16FF80BX0005 - INT 16 U - PC Tools v8+ CPTASK - GET NUMBER OF ACTIVE TASKS???
INT 16 U - PC Tools v8+ CPTASK - GET NUMBER OF ACTIVE TASKS???
	AX = FF80h
	BX = 0005h
Return: AX = number of active tasks???

Top
16FF80BX0006 - INT 16 U - PC Tools v8+ CPTASK - GET AND CLEAR ??? FLAG
INT 16 U - PC Tools v8+ CPTASK - GET AND CLEAR ??? FLAG
	AX = FF80h
	BX = 0006h
Return: AX = old state (0000h clear, 0001h set)
Note:	the tested flag is bit 13 of the flags returned by AX=FF80h/BX=0003h

Top
16FF80BX0007 - INT 16 U - PC Tools v8+ CPTASK - ???
INT 16 U - PC Tools v8+ CPTASK - ???
	AX = FF80h
	BX = 0007h
	ES:DI -> ???
	???
Return: ???

Top
16FF80BX0008 - INT 16 U - PC Tools v8+ CPTASK - ???
INT 16 U - PC Tools v8+ CPTASK - ???
	AX = FF80h
	BX = 0008h
	???
Return: ???

Top
16FF80BX0009 - INT 16 U - PC Tools v8+ CPTASK - GET ???
INT 16 U - PC Tools v8+ CPTASK - GET ???
	AX = FF80h
	BX = 0009h
Return: CL = ???
	CH = ??? (01h or 02h)

Top
16FF80BX000A - INT 16 U - PC Tools v9+ CPTASK - SET ???
INT 16 U - PC Tools v9+ CPTASK - SET ???
	AX = FF80h
	BX = 000Ah
	DS:SI -> 128-byte buffer containing ???

Top
16FF80BX000B - INT 16 U - PC Tools v9+ CPTASK - SET ???
INT 16 U - PC Tools v9+ CPTASK - SET ???
	AX = FF80h
	BX = 000Bh
	DX = index of ??? task (1-10)

Top
16FF80BX000C - INT 16 U - PC Tools v9+ CPTASK - SET IDLE??? DELAY
INT 16 U - PC Tools v9+ CPTASK - SET IDLE??? DELAY
	AX = FF80h
	BX = 000Ch
	CX = new delay time in minutes

Top
16FF80BX4350 - INT 16 U - PC Tools v8+ CPTASK - UNINSTALL
INT 16 U - PC Tools v8+ CPTASK - UNINSTALL
	AX = FF80h
	BX = 4350h ('CP')
	CX = 5354h ('ST')
Return: never returns; terminates all tasks and exits to program originally
	  calling CPTASK

Top
16FF90 - INT 16 U - PC Tools v8+ DESKTOP - ???
INT 16 U - PC Tools v8+ DESKTOP - ???
	AX = FF90h
	???
Return: ???
Note:	available only when popped up

Top
16FF91 - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FF91h
	???
Return: AX = 0000h
Note:	calls AX=FFFDh after ???
SeeAlso: AX=FF92h,AX=FFFDh

Top
16FF92 - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FF92h
	???
Return: AX = 0000h
Note:	like AX=FF91h, but temporarily sets ??? to 3
SeeAlso: AX=FF91h,AX=FFFDh

Top
16FF93 - INT 16 U - PC Tools v7+ DESKTOP - SET ??? FLAG
INT 16 U - PC Tools v7+ DESKTOP - SET ??? FLAG
	AX = FF93h

Top
16FF94 - INT 16 U - PC Tools v7+ DESKTOP - SET ???
INT 16 U - PC Tools v7+ DESKTOP - SET ???
	AX = FF94h
	CX = ??? (default 0017h)

Top
16FF95 - INT 16 U - PC Tools v7+ DESKTOP - SET ???
INT 16 U - PC Tools v7+ DESKTOP - SET ???
	AX = FF95h
	BX = ???

Top
16FF96 - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FF96h
	CL = ???
Return: AX = ???

Top
16FF97 - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FF97h
	DS:DX -> buffer for ??? (see #00618)
Return: ???

Format of PC Tools DESKTOP buffer:
Offset	Size	Description	(Table 00618)
 00h 48 BYTEs	???
 30h 128 BYTEs	???

Top
16FF98 - INT 16 U - PC Tools v7+ DESKTOP - OPEN \DESK.OVL FILE AND SEEK TO OVERLAY
INT 16 U - PC Tools v7+ DESKTOP - OPEN \DESK.OVL FILE AND SEEK TO OVERLAY
	AX = FF98h
	DX = byte offset in file of overlay header (see #00619)
Return: BX = file handle for DESK.OVL file
Desc:	open the DESK.OVL file, seek to the specified offset, read in the
	  overlay header, and seek to the offset specified by the header

Format of PC Tools DESKTOP overlay header:
Offset	Size	Description	(Table 00619)
 00h 12 BYTEs	NUL-padded ASCII overlay filename
 0Ch	DWORD	offset within DESK.OVL file of actual overlay

Top
16FF99 - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FF99h
	???
Return: ???

Top
16FF9A - INT 16 U - PC Tools v7+ DESKTOP - GET NAME OF COLOR SCHEME
INT 16 U - PC Tools v7+ DESKTOP - GET NAME OF COLOR SCHEME
	AX = FF9Ah
Return: ES:BX -> name of current color scheme
Note:	available even if not popped up

Top
16FF9B - INT 16 U - PC Tools v7+ DESKTOP - UNUSED
INT 16 U - PC Tools v7+ DESKTOP - UNUSED
	AX = FF9Bh
Return: ???
Note:	sounds triple-length beep

Top
16FF9C - INT 16 U - PC Tools v8+ CPTASK - SET/CLEAR ??? POINTER
INT 16 U - PC Tools v8+ CPTASK - SET/CLEAR ??? POINTER
	AX = FF9Ch
	BL = function
	    00h set ??? pointer
		DS:SI -> ???
	    01h clear pointer to 0000h:0000h

Top
16FF9D - INT 16 U - PC Tools v8+ CPTASK, VSAFE - ???
INT 16 U - PC Tools v8+ CPTASK, VSAFE - ???
	AX = FF9Dh
	ES:BX -> ??? word
Return: ???
Note:	if ES is non-zero, the word pointed at by ES:BX determines whether the
	  ??? flag is cleared (word = 0000h) or set (word is nonzero).	The
	  flag is always cleared if ES=0000h.

Top
16FF9E - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FF9Eh
	DL = ???
	    bit 7: ???
	    bits 6-0: function number??? (00h,01h,other)
	???
Return: ???

Top
16FFA1 - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FFA1h
	???
Return: ???
Note:	same as AX=FFA2h, except ??? set to FFh
SeeAlso: AX=FFA2h

Top
16FFA2 - INT 16 U - PC Tools v7+ DESKTOP - ???
INT 16 U - PC Tools v7+ DESKTOP - ???
	AX = FFA2h
	???
Return: ???
Note:	calls AX=FFC7h (remove window) and AX=FFFDh
SeeAlso: AX=FFA1h,AX=FFC7h,AX=FFFDh

Top
16FFA3BX0000 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
	AX = FFA3h
	BX = 0000h
	CX = 0000h
Return: AX = segment of resident code
	BX = 5555h
	CX = 5555h
Note:	also supported by DOS 6 UNDELETE which is licensed from PC Tools
SeeAlso: INT 21/AH=3Fh"NB.SYS",INT 21/AX=4101h,INT 2F/AX=6284h

Top
16FFA3BX0001 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
	AX = FFA3h
	BX = 0001h
	CX = 0001h
Return: AX:BX -> ???
	CX = BX

Top
16FFA3BX0002 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
	AX = FFA3h
	BX = 0002h
	CX = 0002h
Return: AX = ??? (0 or 1)
	CX = BX = AX

Top
16FFA3BX0003 - INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
	AX = FFA3h
	BX = 0003h
	CX = 0003h
Return: AX = ??? (0 or 1)
	CX = BX = AX

Top
16FFA3BX0004 - INT 16 U - PC Tools v7+ DATAMON - SET ??? FLAG
INT 16 U - PC Tools v7+ DATAMON - SET ??? FLAG
	AX = FFA3h
	BX = 0004h
	CX = 0004h
SeeAlso: AX=FFA3h/BX=0005h

Top
16FFA3BX0005 - INT 16 U - PC Tools v7+ DATAMON - CLEAR ??? FLAG
INT 16 U - PC Tools v7+ DATAMON - CLEAR ??? FLAG
	AX = FFA3h
	BX = 0005h
	CX = 0005h
SeeAlso: AX=FFA3h/BX=0004h

Top
16FFA3BX0006 - INT 16 U - PC Tools v7+ DATAMON - SET PSP SEGMENT ???
INT 16 U - PC Tools v7+ DATAMON - SET PSP SEGMENT ???
	AX = FFA3h
	BX = 0006h
	CX = 0006h
	DX = current PSP segment as known to DOS??? or 0000h

Top
16FFA3BXFFA3 - INT 16 U - PC Tools v9 DSKLIGHT - INSTALLATION CHECK
INT 16 U - PC Tools v9 DSKLIGHT - INSTALLATION CHECK
	AX = FFA3h
	BX = FFA3h
	CX = FFA3h
Return: BX = CX = 5555h if installed
	    AX = resident code segment
Program: DSKLIGHT is a TSR included with PC Tools v9+ which displays a disk-
	  access indicator on the screen; in v7 and v8, this function was
	  provided by DATAMON
Note:	DSKLIGHT chains to the previous handler if BX or CX is not FFA3h

Top
16FFA4 - INT 16 U - PC Tools v7-8 DESKTOP - ???
INT 16 U - PC Tools v7-8 DESKTOP - ???
	AX = FFA4h
Return: ???
Notes:	available even when not popped up
	sets unknown flag if ??? conditions met
SeeAlso: AX=FEA4h

Top
16FFA5CX1111 - INT 16 - PC-Cache v6+ - INSTALLATION CHECK
INT 16 - PC-Cache v6+ - INSTALLATION CHECK
	AX = FFA5h
	CX = 1111h
Return: CH = 00h if installed
	    ES:DI -> internal data (see #00620)
	    CL = cache state
		01h enabled
		02h disabled
SeeAlso: INT 13/AH=27h,INT 13/AH=A0h,INT 21/AH=2Bh/CX=4358h

Format of PC-Cache internal data:
Offset	Size	Description	(Table 00620)
-1Ch 20 BYTEs	cached drive list, one byte per drive A: to T:
		each byte is either blank (20h) or drive letter (41h-54h)
 -8	BYTE	???
 -7	WORD	number of physical transfers (scaled down to 0000h-7FFFh)
 -5	WORD	number of saved transfers (scaled down to 0000h-7FFFh)
 -3   3 BYTEs	???

Top
16FFA5CXAAAA - INT 16 - PC-Cache v6+ - ENABLE DELAYED WRITES
INT 16 - PC-Cache v6+ - ENABLE DELAYED WRITES
	AX = FFA5h
	CX = AAAAh
Return: AX = ??? (apparently either 0000h or sectors_in_cache - 5)
SeeAlso: AX=FFA5h/CX=CCCCh

Top
16FFA5CXCCCC - INT 16 - PC-Cache v6+ - FLUSH CACHE AND DISABLE DELAYED WRITES
INT 16 - PC-Cache v6+ - FLUSH CACHE AND DISABLE DELAYED WRITES
	AX = FFA5h
	CX = CCCCh
Return: AX = ??? (apparently either 0000h or sectors_in_cache - 5)
Note:	delayed writes are automatically disabled on EXECing
	  (see INT 21/AH=4Bh) a program named either WIN.CO? or DV.E??;
	  however, delayed writes are not automatically reenabled upon the
	  program's termination in v6.
SeeAlso: AX=FFA5h/CX=AAAAh,AX=FFA5h/CX=FFFFh

Top
16FFA5CXDDDD - INT 16 - PC-Cache v6+ - FLUSH AND DISABLE CACHE
INT 16 - PC-Cache v6+ - FLUSH AND DISABLE CACHE
	AX = FFA5h
	CX = DDDDh
SeeAlso: AX=FFA5h/CX=EEEEh,AX=FFA5h/CX=FFFFh

Top
16FFA5CXEEEE - INT 16 - PC-Cache v6+ - ENABLE CACHE
INT 16 - PC-Cache v6+ - ENABLE CACHE
	AX = FFA5h
	CX = EEEEh
SeeAlso: AX=FFA5h/CX=DDDDh

Top
16FFA5CXFFFF - INT 16 - PC-Cache v6+ - FLUSH CACHE
INT 16 - PC-Cache v6+ - FLUSH CACHE
	AX = FFA5h
	CX = FFFFh
SeeAlso: AX=FFA5h/CX=CCCCh,AX=FFA5h/CX=DDDDh,INT 13/AH=A1h

Top
16FFA6 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
	AX = FFA6h
Return: DS:SI -> ???
Note:	available only when popped up

Top
16FFA7 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ??? PATH
INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ??? PATH
	AX = FFA7h
Return: DS:SI -> ASCIZ path (directory from which PCTools was run???)

Top
16FFA8 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
	AX = FFA8h
	DS:SI -> three consecutive ASCIZ strings for ??? (max 256 bytes total)
	???
Return: ???
Notes:	available only when popped up
	strings copied into internal buffer, among other actions

Top
16FFA9 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET VERSION STRING
INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET VERSION STRING
	AX = FFA9h
Return: DS:SI -> version string

Top
16FFAA - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
	AX = FFAAh
	???
Return: ???
Note:	available only when popped up

Top
16FFAB - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET EDITOR SETTINGS???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET EDITOR SETTINGS???
	AX = FFABh
Return: DS:SI -> editor setting strings???

Top
16FFAC - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
	AX = FFACh
	DL = ???
Note:	available only when popped up

Top
16FFAD - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
	AX = FFADh
	DL = ???

Top
16FFAE - INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
	AX = FFAEh
Return: AL = ???

Top
16FFAF - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
	AX = FFAFh
	DL = ???

Top
16FFB0 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
	AX = FFB0h
	BL = ???

Top
16FFB1 - INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
	AX = FFB1h
	???
Return: ???

Top
16FFB2 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
	AX = FFB2h
Return: DS:SI -> ???

Top
16FFB3 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.5-8.0 DESKTOP - ???
	AX = FFB3h
	???
Return: ???
Note:	available only when popped up

Top
16FFB4 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - SET ??? FLAG
INT 16 U - PC Tools v5.5-8.0 DESKTOP - SET ??? FLAG
	AX = FFB4h
Note:	available only when popped up
SeeAlso: AX=FFBBh

Top
16FFB5 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET WINDOW PARAMETERS
INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET WINDOW PARAMETERS
	AX = FFB5h
	BX = window specifier (000Fh to 0019h) (see #00621)
	DX = 0000h get, nonzero = set
	ES:DI -> window parameter buffer (see #00622)
SeeAlso: AX=FFCBh

(Table 00621)
Values for PC Tools DESKTOP window specifier:
 000Fh	comm/FAX
 0014h	hotkey selection
 0015h	ASCII table
 0016h	system colors menu

Format of PC Tools DESKTOP window parameters:
Offset	Size	Description	(Table 00622)
 00h	BYTE	rows in window, not counting frame
 01h	BYTE	columns in window, not counting frame
 02h	BYTE	row number of top of window
 03h	BYTE	2*column number of left of window
 04h	BYTE	character attribute for ???
 05h	BYTE	character attribute for background/border
 06h	BYTE	character attribute for ???
 07h	DWORD	pointer to ??? on screen
 0Bh  4 BYTEs	???
 0Fh	BYTE	nonzero if window may be resized
Note:	if running in monochrome mode, character attributes at offsets 04h to
	  06h are stored unchanged, but attributes other than 07h, 0Fh, or 70h
	  are changed to 07h on reading

Top
16FFB6 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
	AX = FFB6h
Return: AH = ???
	AL = ???

Top
16FFB7 - INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET ???
INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET ???
	AX = FFB7h
	BX = direction
	    0000h copy to buffer
	    else  copy from buffer
	DS:SI -> 70-byte buffer with ???
Return: data copied
Note:	available only when popped up under v6.0+

Top
16FFB8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET/SET???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET/SET???
	AX = FFB8h
	BH = subfunction
	    00h get
		Return: BL = old value of ???
			CL = old value of ??? (v6.0+)
			CH = old value of ??? (v6.0+)
	    nonzero set
		BL = new value for ???
		CL = new value for ??? (v6.0+)
		CH = new value for ??? (v6.0+)
		DH = ???
		Return: AL = old value replaced by CL (v6.0+)
			AH = old value replaced by CH (v6.0+)

Top
16FFB9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFB9h
	???
Return: AX = ???
	CX = ???
	DS:SI -> ???
	ES:DI -> ???

Top
16FFBA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFBAh
	???
Return: AX = ???
Note:	available only when popped up

Top
16FFBB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLEAR ??? FLAG
INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLEAR ??? FLAG
	AX = FFBBh
Note:	available only when popped up
SeeAlso: AX=FFB4h

Top
16FFBC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - RESTORE ORIGINAL SCREEN???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - RESTORE ORIGINAL SCREEN???
	AX = FFBCh

Top
16FFBD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ??? DATABASE INDEXING MESSAGES
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ??? DATABASE INDEXING MESSAGES
	AX = FFBDh
	???
Return: ???

Top
16FFBE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFBEh
	???
Return: ???
Note:	available only when popped up

Top
16FFBF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFBFh
	BX = DOS file handle to write on
	???
Return: ???
Note:	available only when popped up

Top
16FFC0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFC0h
	???
Return: AX = 0000h if successful
	AX = FFFFh on error
Note:	available only when popped up

Top
16FFC1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFC1h
	BL = ???
	ES:DI -> data structure (see #00623)
	???
Return: AX = ???
Note:	available only when popped up
SeeAlso: AX=FFC2h,AX=FFC3h

Format of PC Tools DESKTOP data structure:
Offset	Size	Description	(Table 00623)
 00h	WORD	???
 02h	WORD	???
 04h	WORD	???
 06h	WORD	???
 08h	WORD	???
 0Ah	BYTE	???
 0Bh	BYTE	??? (zero/nonzero)
---v7.1---
 0Ch	WORD	???
 0Eh	BYTE	???
 0Fh	WORD	???
 11h	WORD	???
	???

Top
16FFC2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFC2h
	BL = ???
	ES:DI -> data structure (see #00623)
	???
Return: AH = ???
	CX = ???
	DH = ???
	DL = ???
Note:	available only when popped up
SeeAlso: AX=FFC1h,AX=FFC3h

Top
16FFC3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFC3h
	BL = ???
	ES:DI -> data structure (see #00623)
	???
Return: AH = ???
	CX = ???
	DH = ???
	DL = ???
Note:	available only when popped up
SeeAlso: AX=FFC1h,AX=FFC2h

Top
16FFC4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
	AX = FFC4h
Return: AL = ???
	BX = segment of scratch space???
	CX = segment of stored screen data (section covered by window???)
	DX = segment of window parameters for ???
	ES:BP -> ???
Note:	available only when popped up in versions prior to 6.0

Top
16FFC5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK WHETHER DESKTOP LOADED RESIDENT
INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK WHETHER DESKTOP LOADED RESIDENT
	AX = FFC5h
Return: BL = Desktop state
	    00h if nonresident
	    nonzero if loaded resident
Note:	available only when popped up; should call AX=FFEFh first to ensure
	  that DESKTOP is active
SeeAlso: AX=FFEFh,AX=FFF3h

Top
16FFC6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
	AX = FFC6h
	BL = new value for ???

Top
16FFC7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - REMOVE WINDOW
INT 16 U - PC Tools v5.1-8.0 DESKTOP - REMOVE WINDOW
	AX = FFC7h
	???
Return: ???

Top
16FFC8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
	AX = FFC8h
Return: DS:SI -> ???
Note:	valid only while popped up

Top
16FFC9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY DATA TO CLIPBOARD
INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY DATA TO CLIPBOARD
	AX = FFC9h
	DS:SI -> characters to store in clipboard
	CX = size in bytes
Return: CF set on error
Notes:	available only when popped up
	while copying, bytes of 00h and 0Ah are skipped

Top
16FFCA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
	AX = FFCAh
	DX = ???
Return: AX destroyed
Note:	available only when popped up

Top
16FFCB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SELECT WINDOW PARAMETERS???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SELECT WINDOW PARAMETERS???
	AX = FFCBh
	DX = window specifier???
Return: AX destroyed
Note:	available only when popped up
SeeAlso: AX=FFB5h

Top
16FFCC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY ASCIZ STRING CENTERED IN WINDOW
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY ASCIZ STRING CENTERED IN WINDOW
	AX = FFCCh
	DS:SI -> ASCIZ string
Return: AX = ???
	CX = ???
	ES:DI -> address past last character displayed (v5.1/5.5)
	      -> ??? on menu bar (v6.0)

Top
16FFCD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFCDh
	DS:DX -> ???
Return: ???
Note:	available only when popped up

Top
16FFCE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ??? DELAYS
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ??? DELAYS
	AX = FFCEh
	CX = ???
Return: nothing???

Top
16FFCF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLOSE PRINTER/PRINT FILE
INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLOSE PRINTER/PRINT FILE
	AX = FFCFh
Note:	available only when popped up

Top
16FFD0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO PRINT???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO PRINT???
	AX = FFD0h
	???
Return: ???
Note:	available only when popped up

Top
16FFD1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY PRINT OPTIONS MENU
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY PRINT OPTIONS MENU
	AX = FFD1h
Return: BX = number of copies
	DX = destination
	    00h cancel
	    01h LPT1
	    02h LPT2
	    03h LPT3
	    04h COM1
	    05h COM2
	    06h disk file
Note:	available only when popped up

Top
16FFD2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFD2h
	BX = ???
Return: BL = ???
Note:	available only when popped up

Top
16FFD3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFD3h
	DS:SI -> 92-byte data record for ???
Return: ???
SeeAlso: AX=FED3h

Top
16FFD4BH3C - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CREATE/OPEN/DELETE FILE
INT 16 U - PC Tools v5.1-8.0 DESKTOP - CREATE/OPEN/DELETE FILE
	AX = FFD4h
	BH = 3Ch create file (with no attributes)
	     3Dh open file
	     41h delete file
	BL = access mode
	     00h read only
	     01h write only
	     02h read/write
	DS:SI -> ASCIZ filename
Return: BX = file handle
	    0000h on error
Note:	operation is attempted in (in order) the directory from which the
	  desktop was started/run???, the directory specified with the
	  filename, X:\PCTOOLS\, and X:\

Top
16FFD5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFD5h
	???
Return: ???
Note:	available only when popped up

Top
16FFD6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFD6h
	BX = ???
	CX = ???
	DX = offset in ???
	???
Return: ???
Note:	available only when popped up

Top
16FFD7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFD7h
	???
Return: BL = ???
Note:	available only when popped up

Top
16FFD8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SAFE CREATE FILE
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SAFE CREATE FILE
	AX = FFD8h
	DS:BX -> ASCIZ filename
Return: BX = file handle
	    0000h on error
Note:	pops up confirmation menu if file already exists
	only available when popped up???

Top
16FFD9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
	AX = FFD9h
Return: AX = ???
Note:	available only when popped up

Top
16FFDA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET NAME OF LAST FILE OPENED
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET NAME OF LAST FILE OPENED
	AX = FFDAh
	DS:SI -> ??? (v5.1/5.5 only)
Return: DS:SI -> filename

Top
16FFDB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
	AX = FFDBh
	BL = ???
Note:	available only when popped up

Top
16FFDC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - UNHOOK
INT 16 U - PC Tools v5.1-8.0 DESKTOP - UNHOOK
	AX = FFDCh
Return: interrupt vectors 09h, 10h (v6.0+), 16h, 1Ch, and 21h restored to
	  original values
Index:	uninstall;PC Tools DESKTOP

Top
16FFDDBX0000 - INT 16 U - PC Tools v5.1+ PCShell API - INSTALLATION CHECK
INT 16 U - PC Tools v5.1+ PCShell API - INSTALLATION CHECK
	AX = FFDDh
	BX = 0000h
Return: CX = 5555h
	DX = 5555h if PCShell installed in resident mode

Top
16FFDDBX0001 - INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
	AX = FFDDh
	BX = 0001h
Return: CF clear if request successful (PCShell will pop up)
	CF set on error
SeeAlso: AX=FFDDh/BX=0003h

Top
16FFDDBX0002 - INT 16 U - PC Tools v5.1-5.5 PCShell API - GET ???
INT 16 U - PC Tools v5.1-5.5 PCShell API - GET ???
	AX = FFDDh
	BX = 0002h
Return: AL =
	    00h ???
	    01h ???
Note:	PCShell v6.0+ displays the error message "Incorrect PCRUN version",
	  awaits a keystroke, and aborts the current process

Top
16FFDDBX0003 - INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
	AX = FFDDh
	BX = 0003h
SeeAlso: AX=FFDDh/BX=0001h

Top
16FFDDBX0004 - INT 16 U - PC Tools v5.1+ PCShell API - GET ???
INT 16 U - PC Tools v5.1+ PCShell API - GET ???
	AX = FFDDh
	BX = 0004h
Return: CF clear if successful
	    DS:SI -> ???

Top
16FFDDBX0005 - INT 16 U - PC Tools v5.1+ PCShell API - ???
INT 16 U - PC Tools v5.1+ PCShell API - ???
	AX = FFDDh
	BX = 0005h
	???
Return: ???
Note:	resets various variables if certain conditions are met

Top
16FFDDBX0006 - INT 16 U - PC Tools v5.1+ PCShell API - ???
INT 16 U - PC Tools v5.1+ PCShell API - ???
	AX = FFDDh
	BX = 0006h
	???
Return: ???
Note:	resets various variables if certain conditions are met

Top
16FFDDBX0007 - INT 16 U - PC Tools v5.1+ PCShell API - SET ??? FLAG
INT 16 U - PC Tools v5.1+ PCShell API - SET ??? FLAG
	AX = FFDDh
	BX = 0007h
Return: CF clear if successful
SeeAlso: AX=FFDDh/BX=0008h

Top
16FFDDBX0008 - INT 16 U - PC Tools v5.1+ PCShell API - CLEAR ??? FLAG
INT 16 U - PC Tools v5.1+ PCShell API - CLEAR ??? FLAG
	AX = FFDDh
	BX = 0008h
Return: CF undefined
SeeAlso: AX=FFDDh/BX=0007h

Top
16FFDDBX0009 - INT 16 U - PC Tools v6.0+ PCShell API - GET PCRUN PARAMETERS
INT 16 U - PC Tools v6.0+ PCShell API - GET PCRUN PARAMETERS
	AX = FFDDh
	BX = 0009h
Return: CF clear if successful
	    DS:SI -> list of pointers (see #00624)

Format of PC Tools PCShell returned pointer list:
Offset	Size	Description	(Table 00624)
 00h	WORD	offset of WORD containing ???
 02h	WORD	offset of name of program to execute
 04h	WORD	offset of 80-byte buffer for ???
 06h	WORD	offset of buffer for ??? (length in WORD preceding buffer)
 08h	WORD	offset of buffer for ??? (length in WORD preceding buffer)

Top
16FFDDBX000A - INT 16 U - PC Tools v6.0+ PCRUN API - INSTALLATION CHECK
INT 16 U - PC Tools v6.0+ PCRUN API - INSTALLATION CHECK
	AX = FFDDh
	BX = 000Ah
Return: CX = 5555h if running
	DX = 5555h
Note:	also sets a flag

Top
16FFDDBX000B - INT 16 U - PC Tools v6.0+ PCRUN API - ???
INT 16 U - PC Tools v6.0+ PCRUN API - ???
	AX = FFDDh
	BX = 000Bh
	???
Return: CX = 5555h if PCRUN active
	DX = 5555h
Note:	also clears flag set by AX=FFDDh/BX=000Ah

Top
16FFDE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY POPUP MENU
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY POPUP MENU
	AX = FFDEh
	DS:DX -> menu description (must be on a paragraph boundary)
Return: AX = ???
	    AL seems to be the number of the selected button
Note:	available only when popped up
SeeAlso: AX=FFEEh

Top
16FFDF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFDFh
	???
Return: ???

Top
16FFE0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFE0h
	CX = ???
	DX = ???
Note:	available only when popped up

Top
16FFE1 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - BEEP
INT 16 U - PC Tools v5.1-8.0 DESKTOP - BEEP
	AX = FFE1h

Top
16FFE2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFE2h
	DX = ???
Return: ???
Note:	available only when popped up

Top
16FFE3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PRINT CHARACTER
INT 16 U - PC Tools v5.1-8.0 DESKTOP - PRINT CHARACTER
	AX = FFE3h
	BL = character to print to currently open printer or print file
Return: CF set on error
Note:	available only when popped up
SeeAlso: INT 17/AH=00h

Top
16FFE4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFE4h
	DX = segment of ???
Return: ???
Note:	available only when popped up

Top
16FFE5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - POP UP FILE SELECTION MENU
INT 16 U - PC Tools v5.1-8.0 DESKTOP - POP UP FILE SELECTION MENU
	AX = FFE5h
	DS:SI -> ASCIZ wildcard filespec followed by ASCIZ menu title
	DX = segment of window parameters???
Return: AX = DOS file handle for file
		DS:DX -> filename???
	    FFFFh if function cancelled by user
Note:	available only when popped up
SeeAlso: AX=FFDAh

Top
16FFE6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK FOR AND GET KEYSTROKE
INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK FOR AND GET KEYSTROKE
	AX = FFE6h
Return: AX = 0000h if no key available
	     else  BIOS keycode
Notes:	available only when popped up
	invokes INT 28 idle interrupt before checking for key

Top
16FFE7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFE7h
	BX = segment of ???
Return: ???
Note:	available only when popped up

Top
16FFE8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY NUMBER
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY NUMBER
	AX = FFE8h
	CX = number
	DH = attribute
	DS:SI -> destination for ASCII number
Return: DS:SI buffer filled in with alternating characters and attributes

Top
16FFE9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET FILE LIST???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET FILE LIST???
	AX = FFE9h
Return: BX = segment of file/directory list (14 bytes per file, NUL-padded)
Note:	available only when popped up

Top
16FFEA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY COUNTED STRING
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY COUNTED STRING
	AX = FFEAh
	DS:SI -> counted string (count byte followed by string)
Return: ???
Note:	available only when popped up

Top
16FFEB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFEBh
	???
Return: ???

Top
16FFEC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET KEY
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET KEY
	AX = FFECh
	DS:SI -> FAR routine to ???
	BX = ???
	???
Return: AX = keystroke
	    FFFFh if F10 pressed to go to menu
Notes:	available only when popped up
	invokes INT 28 while waiting for keystroke
	F10 is hotkey to Desktop menu
Index:	hotkeys;PC Tools DESKTOP

Top
16FFED - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
	AX = FFEDh
Return: AX = ???
Note:	available only when popped up

Top
16FFEE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE PULLDOWN MENUS
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE PULLDOWN MENUS
	AX = FFEEh
	DS:SI -> pulldown menu system description (see #00625)
Return: AX destroyed
Notes:	available only when popped up
	if the accessory does not need any menu items of its own, it should
	  call AX=FFFAh instead
SeeAlso: AX=FFF7h,AX=FFFAh

Format of PC Tools DESKTOP pulldown menu system description:
Offset	Size	Description	(Table 00625)
 00h	WORD	offset of menu bar contents (counted string)
 02h	WORD	number of items on menu bar
 04h 10 BYTEs	scan codes for hotkeying to each of up to ten menu items
 0Eh 10 BYTEs	which character to highlight in each menu item (01h=first)
 18h	WORD	offset of first menu definition (see #00626)
 1Ah	WORD	offset of second menu definition
	...

Format of PC Tools DESKTOP menu definition:
Offset	Size	Description	(Table 00626)
 00h	WORD	offset of menu contents (see #00627)
 02h	WORD	number of entries in menu
 04h	for each entry:
		Offset	Size	Description
		 00h	BYTE	scancode of Alt-key to invoke entry
		 01h	BYTE	character to highlight (01h=first, etc)
		 02h	WORD	offset of FAR routine to handle selection

Format of PC Tools DESKTOP menu contents:
Offset	Size	Description	(Table 00627)
 00h	BYTE	number of lines in menu
 01h	BYTE	width of menu
 02h  N BYTEs	counted strings, one for each line in menu

Top
16FFEFCX0000 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - INSTALLATION CHECK
INT 16 U - PC Tools v5.1-8.0 DESKTOP - INSTALLATION CHECK
	AX = FFEFh
	CX = 0000h
Return: CX = ABCDh if PC Tools DESKTOP.EXE installed
	    BX = segment of resident portion
	    AX = ??? (v5.1/5.5 only)
SeeAlso: AX=FEEFh,AX=FFC5h,AX=FFF3h

Top
16FFF0 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
	AX = FFF0h
	DX = ???
Return: AX destroyed
Note:	available only when popped up

Top
16FFF1BX0000 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ALTERNATE INSTALLATION CHECK
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ALTERNATE INSTALLATION CHECK
	AX = FFF1h
	BX = 0000h  leave ??? flag as is
	    nonzero set ??? flag
Return: CX = 5555h if installed
	DX = 5555h

Top
16FFF2 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY HELP LINE
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY HELP LINE
	AX = FFF2h
	DS:SI -> ASCIZ function key label string (each label preceded by '[')
		or help text
Return: AX destroyed
Notes:	available only when popped up
	if the specified string does not start with '[', it is displayed
	  centered on the bottom line, else the function key labels are shown

Top
16FFF3 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO UNLOAD RESIDENT DESKTOP
INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO UNLOAD RESIDENT DESKTOP
	AX = FFF3h
Note:	releases any EMS being used; restores video mode, page, and cursor
	  shape; and restores interrupt vectors
SeeAlso: AX=FFC5h,AX=FFEFh
Index:	uninstall;PC Tools DESKTOP

Top
16FFF4 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
	AX = FFF4h
	???
Return: ???
Note:	available only when popped up
SeeAlso: AX=FFF6h

Top
16FFF5 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET SCREEN ATTRIBUTE ARRAY
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET SCREEN ATTRIBUTE ARRAY
	AX = FFF5h
Return: ES:BX -> screen attributes data structure (see #00628)
	AL = ??? (v6.0+)

Format of PC Tools DESKTOP attribute data structure:
Offset	Size	Description	(Table 00628)
 -1	BYTE	attribute for desktop background
 00h	BYTE	attribute for normal characters on desktop menu
 01h	BYTE	attribute for highlighted characters on desktop menu
 02h  5 BYTEs	???
 07h	BYTE	attribute for dialog boxes
 08h 15 BYTEs	???
 17h	BYTE	attribute for message boxes

Top
16FFF6 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - INVOKE NOTEPAD EDITOR
INT 16 U - PC Tools v5.1-8.0 DESKTOP - INVOKE NOTEPAD EDITOR
	AX = FFF6h
	DS = segment of editor buffer structure (see #00629)
	BX = ???
	DX = segment of window parameters structure (see #00622)
Return: ???
Note:	available only when popped up
SeeAlso: AX=FFF4h

Format of PC Tools DESKTOP editor buffer structure:
Offset	Size	Description	(Table 00629)
 00h	WORD	offset of current cursor position in buffer segment
 02h  2 BYTEs	???
 04h	WORD	offset of beginning of file data in buffer segment
 06h 10 BYTEs	???
 10h  N BYTEs	ASCIZ name of file being edited

Top
16FFF7 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS MENU BAR ENTRY???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS MENU BAR ENTRY???
	AX = FFF7h
	DS:SI -> ???
	???
Return: ???
Notes:	available only when popped up
	performs input processing on the menu bar set up with AX=FFEEh
SeeAlso: AX=FFEEh,AX=FFFBh

Top
16FFF8 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DRAW EMPTY WINDOW
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DRAW EMPTY WINDOW
	AX = FFF8h
	DS:0000h -> window parameters structure (see #00622)
	DS:BX -> DWORD to store address of ??? on screen
Return: ???

Top
16FFF9 - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE SCREEN REFRESH ROUTINE
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE SCREEN REFRESH ROUTINE
	AX = FFF9h
	ES:BX -> FAR routine to redisplay the utility's window
Note:	available only when popped up

Top
16FFFA - INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE STANDARD PULLDOWN MENUS
INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE STANDARD PULLDOWN MENUS
	AX = FFFAh
Notes:	available only when popped up
	adds the "Window" option to the "Desktop" option which is the only one
	  available when no accessories are active.  Unlike AX=FFEEh, no
	  additional menu items are added between "Desktop" and "Window"
SeeAlso: AX=FFEEh,AX=FFFBh

Top
16FFFB - INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS STANDARD MENU BAR
INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS STANDARD MENU BAR
	AX = FFFBh
Return: ???
Notes:	available only when popped up
	performs input processing on the standard menu bar set up with AX=FFFAh
SeeAlso: AX=FFF7h

Top
16FFFC - INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET HOTKEYS AND KEYBOARD VECTOR
INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET HOTKEYS AND KEYBOARD VECTOR
	AX = FFFCh
Return: ES:BX -> hotkey table (see #00630)
	DS:DX = original INT 09 vector

Format of PC Tools DESKTOP hotkey table:
Offset	Size	Description	(Table 00630)
 00h  2 BYTEs	scancode/shift state for desktop hotkey
 02h  2 BYTEs	scancode/shift state for clipboard paste key
 04h  2 BYTEs	scancode/shift state for clipboard copy key
 06h  2 BYTEs	scancode/shift state for screen autodial key

Top
16FFFD - INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY ???
INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY ???
	AX = FFFDh
Return: AX destroyed
Note:	copies 4000 bytes from ??? to ??? under certain circumstances
SeeAlso: AX=FF91h,AX=FF92h

Top
16FFFE - INT 16 U - PC Tools v5.1-8.0 DESKTOP - SHOW MOUSE CURSOR
INT 16 U - PC Tools v5.1-8.0 DESKTOP - SHOW MOUSE CURSOR
	AX = FFFEh
SeeAlso: AX=FFFFh,INT 33/AX=0001h

Top
16FFFF - INT 16 U - PC Tools v5.1-8.0 DESKTOP - HIDE MOUSE CURSOR
INT 16 U - PC Tools v5.1-8.0 DESKTOP - HIDE MOUSE CURSOR
	AX = FFFFh
SeeAlso: AX=FFFEh,INT 33/AX=0002h

Top
17----DX0ABC - INT 17 - PRINTER - LPTx v5.x INSTALLATION CHECK
INT 17 - PRINTER - LPTx v5.x INSTALLATION CHECK
	DX = 0ABCh
Return: AX = AAAAh
	DX = BAAAh
	ES = code segment of resident portion

Top
17----DX0B90 - INT 17 - PRINTER - LPTx v6.x INSTALLATION CHECK
INT 17 - PRINTER - LPTx v6.x INSTALLATION CHECK
	DX = 0B90h
Return: DX = ABBBh
	ES = code segment of resident portion

Top
17----DX0B91 - INT 17 - PRINTER - LPTx v7.x INSTALLATION CHECK
INT 17 - PRINTER - LPTx v7.x INSTALLATION CHECK
	DX = 0B91h
Return: DX = ABCBh
	ES = code segment of resident portion

Top
17----DX0F5F - INT 17 - PRINTER - LPTx v4.x INSTALLATION CHECK
INT 17 - PRINTER - LPTx v4.x INSTALLATION CHECK
	DX = 0F5Fh
Return: AX = AAAAh
	DX = F555h
	ES = code segment of resident portion

Top
1700 - INT 17 - PRINTER - WRITE CHARACTER
INT 17 - PRINTER - WRITE CHARACTER
	AH = 00h
	AL = character to write
	DX = printer number (00h-02h)
Return: AH = printer status (see #00631)
Note:	Under PhysTechSoft's PTS ROM-DOS the parallel port can also be
	  accessed as COM5.
BUGS:	Some print spoolers trash the BX register on return.
	Some original IBM BIOSes set more than one printer status bits at
	  a time, while only one of them is correct.
SeeAlso: AH=02h,AH=84h"AX",AX=6F02h,AH=F1h,INT 16/AX=FFE3h,INT 1A/AH=11h"NEC"
SeeAlso: INT 4B/AH=00h,PORT 0278h"PRINTER",MEM 0040h:0008h,MEM 0040h:0078h

Bitfields for printer status:
Bit(s)	Description	(Table 00631)
 7	not busy
 6	acknowledge
 5	out of paper
 4	selected
 3	I/O error
 2-1	unused
 0	timeout
Notes:	If both, bit 5 "out of paper" and 4 "selected" are set, the MS-DOS/
	  PC DOS kernel assumes that no printer is attached.
	for Tandy 2000, bit 7 indicates printer-busy when set rather than clear

Top
1701 - INT 17 - PRINTER - INITIALIZE PORT
INT 17 - PRINTER - INITIALIZE PORT
	AH = 01h
	DX = printer number (00h-02h)
Return: AH = printer status (see #00631)
Note:	some printers report that they are ready immediately after
	  initialization when they actually are not; a more reliable result may
	  be obtained by calling AH=02h after a brief delay
SeeAlso: AH=02h,AH=FFh"PC-MOS",INT 1A/AH=10h"NEC",INT 4B/AH=01h

Top
1702 - INT 17 - PRINTER - GET STATUS
INT 17 - PRINTER - GET STATUS
	AH = 02h
	DX = printer number (00h-02h)
Return: AH = printer status (see #00631)
Note:	PRINTFIX from MS-DOS 5.0 hooks this function and always returns AH=90h
SeeAlso: AH=01h,AH=F2h,INT 1A/AH=12h"NEC",INT 4B/AH=02h

Top
1702--DX0000 - INT 17 - INSET - INSTALLATION CHECK
INT 17 - INSET - INSTALLATION CHECK
	AH = 02h
	DX = 0000h
	CX = 07C3h (1987d)
Return: CX = 07C2h (1986d) if installed
Program: INSET is a text/graphics integration program

Top
170200BX5050 - INT 17 - Enhanced Parallel Port (EPP) BIOS - INSTALLATION CHECK
INT 17 - Enhanced Parallel Port (EPP) BIOS - INSTALLATION CHECK
	AX = 0200h
	BX = 5050h ('PP')
	CH = 45h   ('E')
	DX = printer port number (00h-02h)
Return: AH = status
	    00h if installed and port is an enhanced parallel port
		CX:AL = installed BIOS type
		    5050h:45h ('PPE') if EPP v3.0+ BIOS installed
		    4550h:50h ('EPP') if EPP v1.0 BIOS installed
		---EPP 1.0, 3.0---
		DX:BX -> far entry point to Advanced BIOS (see #00632)
		---EPP Revision 7---
		DX = EPP I/O base address
		ES:BX -> far entry point to EPP BIOS (see #00632,#00633)
	    03h if installed but specified port not supported
		CF set
Program: The Enhanced Parallel Port BIOS provides support for parallel
	  port peripherals using the enhanced modes of the IEEE 1284.
SeeAlso: AH=E0h,MEM 0040h:0008h,MEM 0040h:00DCh

(Table 00632)
Call EPP BIOS entry point with:
	DL = port number (v1.0,v3.0)
	DX = (Revision 7) EPP port I/O base address
	AH = function
	    00h Query Configuration
		Return: AH = 00h if successful
			    AL = IRQ number used by port or FFh if no IRQ
			    BH = EPP BIOS revision (major in high nybble,
				  minor in low nybble)
			    BL = I/O capabilities (see #00635)
			    ES:DI -> ASCIZ driver information/version text
			    ---v1.0,v3.0---
			    CX = I/O port base address for parallel port
			    ---Revision 7---
			    CL = EPP chipset code (see #00636)
			    CH = hardware manufacturer's product code
	    01h Set Mode
		AL = mode bits (see #00637)
		Return: AX,BX destroyed
	    02h Get Mode
		Return: AL = mode bits (see also #00637)
				bit 7: EPP port interrupts enabled
			AH = 00h
			CF clear
			BX destroyed
	    03h Interrupt Control
		AL = subfunction
		    00h enable parallel port interrupts
		    01h disable parallel port interrupts
		Return: AH = status (00h,05h,06h) (see also #00634)
	    04h EPP Reset
		Return: AH = 00h if successful
			AL destroyed
	    05h perform Address-Write/Device-Select I/O cycle
		AL = device address
		Return: AH = status
			AL destroyed
	    06h perform Address-Read I/O cycle
		Return: AL = returned address/device data
			AH = status
	    07h write byte
		AL = data byte to write
		Return: AH = status
	    08h output block of data
		DS:SI -> block of data to be sent to parallel port
		CX = number of bytes to output
		Return: AH = status (see #00634)
			CX = number of unsent bytes
	    09h read byte of data
		Return: AH = status (see #00634)
			AL = byte read from parallel port
	    0Ah read block of data
		ES:DI -> buffer for received data
		CX = number of bytes to read from paralle port
		Return: AH = status (see #00634)
			ES:DI buffer filled if successful
			CX = number of bytes not transferred
	    0Bh Address/Byte-Read
		AL = device address
		Return: AH = status (see #00634)
			AL = byte read if successful
	    0Ch Address/Byte-Write
		AL = device address
		DH = data byte (v1.0,v3.0)
		CL = data byte (Revision 7)
		Return: AH = status (see #00634)
	    0Dh Address/Block-Read
		AL = device address
		ES:DI -> buffer for received data
		CX = number of bytes to read
		Return: AH = status (see #00634)
			CX = number of bytes NOT transferred
	    0Eh Address/Block-Write
		AL = device address
		ES:DI -> data to be sent (v1.0,v3.0)
		DS:SI -> data to be send (Revision 7)
		CX = number of bytes to write
		Return: AH = status (see #00634)
			CX = number of bytes NOT transferred
	    0Fh Lock Port
		AL = multiplexor port number
			bits 7-4: daisy chain port number (1-8)
			bits 3-0: mux device port number (1-8, 0 if no mux)
		Return: AH = status (00h,03h,05h) (see #00634)
	    10h Unlock Port
		AL = multiplexor port number
			bits 7-4: daisy chain port number (1-8)
			bits 3-0: mux device port number (1-8, 0 if no mux)
		Return: AH = status (00h,03h,05h) (see #00634)
	    11h Device Interrupt
		BL = multiplexor port number
			00h if no multiplexor, else mux device port (01h-08h)
		AL = subfunction
		    00h disable device interrupts
		    01h enable device interrupt
			ES:DI -> interrupt event handler
		Return: AH = status (00h,03h,05h,06h) (see #00634)
		Note:	AMI BIOS v1.00.12.AX1T ignores the multiplexor port
			  number; it also always sets INT 0F to the address
			  specified in ES:DI
	    12h Real-Time Mode
		AL = subfunction
		    00h check whether any real-time devices present
		    01h add (advertise) real-time device
		    02h remove real-time device
		Return: AH = status (00h,05h,06h,07h) (see #00634)
			AL = real-time devices present? (00h no, 01h yes)
		Note:	unlike all other functions, this one does not use DL/DX
Return: AH = status (see #00634)
	CF clear if successful
	CF set on error
	BX destroyed
SeeAlso: #00633

(Table 00633)
Call EPP BIOS (Revision 7) entry point multiplexor functions with:
	DX = EPP port base I/O address
	AH = function
	    40h Query Mux
		Return: AH = status (see #00634)
			AL = currently-selected port
			CH = status flags
				bit 0: channel locked
				bit 1: interrupt pending
			BH destroyed
		Note:	the PhoenixBIOS v4.0 documentation lists BL as the
			  currently-selected port and AL as the status flags
	    41h Query Device Port
		AL = EPP multiplex device port (1-8)
		Return: AH = status (see #00634)
			CH = status flags (see #00638)
			BX = EPP product/device ID (0000h if undefined)
		Note:	the PhoenixBIOS v4.0 documentation lists AL as the
			  status flags and CX as the device ID
	    42h Set Product ID
		AL = EPP multiplex device port (1-8)
		CX = EPP product ID
		Return: AH = status (see #00634)
			BX destroyed
	    50h Query Daisy Chain
		AL = EPP multiplexor device port (1-8)
		Return: AH = status (see #00634)
			CH = status flags
				bit 0: channel locked
				bit 1: interrupt pending
			BL = currently-selected device
			BH = EPP daisy chain revision (high nybble = major)
			CL = daisy-chain depth (00h if no daisy chain)
			ES:DI -> ASCIZ driver vendor identification string
		Note:	the PhoenixBIOS v4.0 documentation lists AH=51h as
			  "Query Daisy Chain" and BL as the multiplexor port;
			  it also lists AL as status flags on return
	    51h Rescan Daisy Chain (dynamically reassign port numbers)
		AL = EPP multiplexor device port (1-8)
		Return: AH = status (see #00634)
			BX destroyed
		Note:	the PhoenixBIOS v4.0 documentation lists AH=50h as
			  "Rescan Daisy Chain" and BL as the multiplexor port
Notes:	these functions are only valid if a port multiplexor or daisy chain
	  is present
	PhoenixBIOS 4.0 documents function 50h as "Rescan" and 51h as
	  "Query Daisy Chain"
SeeAlso: #00632,INT 2D/AL=DCh

(Table 00634)
Values for EPP BIOS function status:
 00h	successful
 02h	unsupported command/feature
 03h	unsupported parallel port
 05h	unsupported in current mode
 06h	invalid subfunction
 07h	already ???
 20h	multiplexor not present (AMI)
 40h	multiplexor not present
 41h	multiplexor currently locked
 80h	I/O timeout
 FFh	invalid/unsupported function
SeeAlso: #00632,#00633

Bitfields for EPP (v3.0, Revision 7) I/O capabilities:
Bit(s)	Description	(Table 00635)
 0	multiplexor present
 1	PS/2 bi-directional capable
 2	daisy chain present
 3	ECP capable
 4	EPP software emulation supported
 5	EPP capable
 6	fast Centronics supported
 7	standard EPP I/O map
SeeAlso: #00632

(Table 00636)
Values for EPP (Revision 7) chipset code:
 00h	Intel SL
 01h	FarPoint Communications
 02h	SMC
 03h	Chips&Technologies
 04h	Western Digital
 05h	National Semiconductor
SeeAlso: #00632

Bitfields for EPP BIOS mode bits:
Bit(s)	Description	(Table 00637)
 0	set compatibility mode
 1	set bi-directional mode
 2	set EPP mode
---Revision 7,v3.0---
 3	set ECP mode
 4	set EPP software emulation
 5	set fast Centronics mode
 6-7 reserved (0)
SeeAlso: #00632,#M0053

Bitfields for EPP BIOS multiplex status flags:
Bit(s)	Description	(Table 00638)
 0	port is selected
 1	port is locked
 2	interrupts are enabled
 3	interrupt pending
SeeAlso: #00633

Top
1703 - INT 17 U - Emulaser ELTSR - INSTALL INTERRUPT HANDLERS
INT 17 U - Emulaser ELTSR - INSTALL INTERRUPT HANDLERS
	AH = 03h
Return: BX = ???
	CX = ???
Program: ELTSR is the resident portion of the Emulaser PostScript emulator by
	  Vertisoft Systems, Inc.
SeeAlso: AH=04h"Emulaser",AH=0Eh,INT 1A/AH=E5h

Top
1703 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 03h
SeeAlso: AH=04h"IBM",AH=05h"IBM"

Top
1703 - INT 17 - PC-MOS/386 v5.01 - PRINT SPOOLER - PRINT STRING
INT 17 - PC-MOS/386 v5.01 - PRINT SPOOLER - PRINT STRING
	AH = 03h
	DX = printer port number
	CX = number of characters to print
	DS:SI -> string
Return: AH = printer status (see #00631)
	CX = number of characters actually printed
Desc:	send an entire string of chars to the print spooler with a single call
Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
	  operating system by The Software Link, Inc.
SeeAlso: AH=00h,AH=01h,AH=02h,AH=FFh"PC-MOS"

Top
1703--BX5A00 - INT 17 - DMP Print Spooler v2.03 - INSTALLATION CHECK
INT 17 - DMP Print Spooler v2.03 - INSTALLATION CHECK
	AH = 03h
	BX = 5A00h
Return: AX = 5ACBh
	DI = 0000h
	ES = DMP code segment (also data segment)
Program: DMP is a Printer driver/spooler, by DMP (USA), available on the
	  PCTODAY disk, volume 10, March 1991

Top
170300 - INT 17 - DOSISODE to WATTCP TSR Interface - "socket"
INT 17 - DOSISODE to WATTCP TSR Interface - "socket"
	AX = 0300h
	CX = type of socket from  socket( domain, type, protocol )
	DX = local identifier of socket (0 - 31)
Return: AX = 0000h success
	    CX = segment of 4500 byte transfer buffer
	    DX = offset of 4500 byte transfer buffer
	   = FFFFH failure
	    CX = error code
		ENFILE	    23
Program: DOSISODE is the ISO developers environment which has been ported to
	  DOS and will run with the Waterloo TCP turned into a resident TSR.
	  Currently it allows a maximum of 6 open sockets.
Note:	this function will initialize the interface the first time it is
	  called
SeeAlso: AX=0400h"DOSISODE",AX=0600h"DOSISODE",AX=0800h"DOSISODE"
SeeAlso: AX=0A00h"DOSISODE",AX=0C00h"DOSISODE",AX=0E00h"DOSISODE"

Top
1704 - INT 17 U - Emulaser ELTSR - BEGIN CAPTURING OUTPUT
INT 17 U - Emulaser ELTSR - BEGIN CAPTURING OUTPUT
	AH = 04h
Note:	has no effect unless ELTSR is deactivated (see AX=0503h)
SeeAlso: AH=03h"Emulaser",AX=0503h,INT 1A/AH=E5h

Top
1704 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 04h
SeeAlso: AH=03h"IBM",AH=05h"IBM"

Top
170400 - INT 17 - DOSISODE to WATTCP TSR Interface - "bind"
INT 17 - DOSISODE to WATTCP TSR Interface - "bind"
	AX = 0400h
Note:	this function just returns
SeeAlso: AX=0300h"DOSISODE",AX=0500h"DOSISODE",AX=0C00h"DOSISODE"

Top
1705 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 05h
SeeAlso: AH=03h"IBM",AH=04h"IBM"

Top
170500 - INT 17 U - Emulaser ELTSR - ???
INT 17 U - Emulaser ELTSR - ???
	AX = 0500h
	???
Return: AX = unload status (0001h safe to unload, 0002h not safe)
	BX = ???
	CX = PSP segment of ELTSR
	DX = activity flag (0000h disabled, 0001h capturing, 0002h ???printing)
	SI = ???
	DI = ???
SeeAlso: AH=04h,INT 1A/AH=E5h

Top
170500 - INT 17 - DOSISODE to WATTCP TSR Interface - "connect"
INT 17 - DOSISODE to WATTCP TSR Interface - "connect"
	AX = 0500h
SeeAlso: AX=0400h"DOSISODE",AX=0700h"DOSISODE",AX=0C00h"DOSISODE"

Top
170501 - INT 17 U - Emulaser ELTSR - UNHOOK INTERRUPTS
INT 17 U - Emulaser ELTSR - UNHOOK INTERRUPTS
	AX = 0501h
Return: (see AX=0500h)
Note:	restores interrupt vectors without checking whether they have been
	  hooked by later programs; should only be called if ELTSR reports
	  that it is safe to unload
SeeAlso: AH=04h,AX=0500h,AX=0503h,INT 1A/AH=E5h
Index:	uninstall;Emulaser ELTSR

Top
170502 - INT 17 U - Emulaser ELTSR - SET ???
INT 17 U - Emulaser ELTSR - SET ???
	AX = 0502h
	BL = Emulaser port (31h = LPT1, 32h = LPT2, 33h = LPT3)
	CL = ???
	DL = ???
Return: (see AX=0500h)
SeeAlso: AH=04h,AX=0500h,INT 1A/AH=E5h

Top
170503 - INT 17 U - Emulaser ELTSR - DEACTIVATE???
INT 17 U - Emulaser ELTSR - DEACTIVATE???
	AX = 0503h
Return: (see AX=0500h)
SeeAlso: AH=04h,AX=0500h,AX=0501h,INT 1A/AH=E5h

Top
1706 - INT 17 U - Emulaser ELTSR - ???
INT 17 U - Emulaser ELTSR - ???
	AH = 06h
	???
Return: ???
SeeAlso: AX=0500h,AX=0503h,AH=07h"ELTSR",INT 1A/AH=E5h

Top
170600 - INT 17 - DOSISODE to WATTCP TSR Interface - "listen"
INT 17 - DOSISODE to WATTCP TSR Interface - "listen"
	AX = 0600h
Note:	this function just returns
SeeAlso: AX=0300h"DOSISODE",AX=0700h"DOSISODE",AX=0C00h"DOSISODE"
SeeAlso: AX=0E00h"DOSISODE"

Top
1707 - INT 17 U - Emulaser ELTSR - OPEN CAPTURE FILE
INT 17 U - Emulaser ELTSR - OPEN CAPTURE FILE
	AH = 07h
	ES:DX -> ASCIZ filename to be opened
Return: ???
Note:	new output will be appended to the specified file
SeeAlso: AH=08h,INT 1A/AH=E5h

Top
170700 - INT 17 - DOSISODE to WATTCP TSR Interface - "accept"
INT 17 - DOSISODE to WATTCP TSR Interface - "accept"
	AX = 0700h
Note:	this function just returns
SeeAlso: AX=0600h"DOSISODE",AX=0800h"DOSISODE",AX=0C00h"DOSISODE"

Top
1708 - INT 17 U - Emulaser ELTSR - CLOSE CAPTURE FILE
INT 17 U - Emulaser ELTSR - CLOSE CAPTURE FILE
	AH = 08h
	???
Return: ???
Desc:	close the file previously opened by function 07h
SeeAlso: AH=07h,INT 1A/AH=E5h

Top
170800 - INT 17 - DOSISODE to WATTCP TSR Interface - "recvfrom"
INT 17 - DOSISODE to WATTCP TSR Interface - "recvfrom"
	AX = 0800h
SeeAlso: AX=0500h"DOSISODE",AX=0900h"DOSISODE",AX=0A00h"DOSISODE"

Top
1709 - INT 17 U - Emulaser ELTSR - PRINT CAPTURE FILE???
INT 17 U - Emulaser ELTSR - PRINT CAPTURE FILE???
	AH = 09h
	BX = ???
	CX = ???
	DX = printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
Return: AX = status
	    00h successful
	    FFh failed
Program: ELTSR is the resident portion of the Emulaser PostScript emulator by
	  Vertisoft Systems, Inc.
Note:	this function calls through to INT 1A/AX=E401h, and thus requires
	  that either ELSPL or Disk Spool II be installed
SeeAlso: AH=0Ah,INT 1A/AX=E401h,INT 1A/AH=E5h

Top
170900 - INT 17 - DOSISODE to WATTCP TSR Interface - "sendto"
INT 17 - DOSISODE to WATTCP TSR Interface - "sendto"
	AX = 0900h
SeeAlso: AX=0700h"DOSISODE",AX=0800h"DOSISODE",AX=0A00h"DOSISODE"

Top
170A - INT 17 U - Emulaser ELTSR - SET ??? FILENAME
INT 17 U - Emulaser ELTSR - SET ??? FILENAME
	AH = 0Ah
	ES:BX -> ??? buffer
	CX = length of ??? buffer
Return: ???
Note:	copies the specified name into the buffer passed to ELSPL as the
	  filename by AH=09h
SeeAlso: AH=09h,INT 1A/AH=E5h

Top
170A00 - INT 17 - DOSISODE to WATTCP TSR Interface - "select"
INT 17 - DOSISODE to WATTCP TSR Interface - "select"
	AX = 0A00h
SeeAlso: AX=0800h"DOSISODE",AX=0B00h"DOSISODE",AX=0E00h"DOSISODE"

Top
170B - INT 17 U - Emulaser ELTSR - GET ???
INT 17 U - Emulaser ELTSR - GET ???
	AH = 0Bh
Return: AX:BX -> ???
SeeAlso: AH=0Ah,INT 1A/AH=E5h

Top
170B - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 0Bh
SeeAlso: AH=03h"IBM",AH=0Ch"IBM"

Top
170B00 - INT 17 - DOSISODE to WATTCP TSR Interface - "ioctl"
INT 17 - DOSISODE to WATTCP TSR Interface - "ioctl"
	AX = 0B00h
	DX = local identifier of socket (0 - 31)
Note:	this function sets the socket into non_block mode
SeeAlso: AX=0A00h"DOSISODE",AX=0C00h"DOSISODE",AX=0E00h"DOSISODE"

Top
170C - INT 17 U - Emulaser ELTSR - SET ??? FLAG
INT 17 U - Emulaser ELTSR - SET ??? FLAG
	AH = 0Ch
	???
Return: ???
SeeAlso: AH=0Bh,INT 1A/AH=E5h

Top
170C - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 0Ch
SeeAlso: AH=0Bh"IBM",AH=0Dh"IBM"

Top
170C00 - INT 17 - DOSISODE to WATTCP TSR Interface - "close"
INT 17 - DOSISODE to WATTCP TSR Interface - "close"
	AX = 0C00h
SeeAlso: AX=0300h"DOSISODE",AX=0500h"DOSISODE",AX=0D00h"DOSISODE"

Top
170D - INT 17 U - Emulaser ELTSR - GET TRUE ScrlLk STATE
INT 17 U - Emulaser ELTSR - GET TRUE ScrlLk STATE
	AH = 0Dh
Return: AX = state (0000h off, 0010h on)
Desc:	determine the actual state of ScrlLk even when Emulaser is controlling
	  the ScrlLk light as its activity indicator
SeeAlso: AH=0Ch,INT 16/AH=02h,INT 1A/AH=E5h

Top
170D - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 0Dh
SeeAlso: AH=0Ch"IBM",AH=0Eh"IBM"

Top
170D00 - INT 17 - DOSISODE to WATTCP TSR Interface - "shutdown" - SHUTDOWN INTERFACE
INT 17 - DOSISODE to WATTCP TSR Interface - "shutdown" - SHUTDOWN INTERFACE
	AX = 0D00h
Note:	this function is used to shutdown the interface
SeeAlso: AX=0C00h"DOSISODE",AX=0E00h"DOSISODE"

Top
170E - INT 17 U - Emulaser ELTSR - BACKGROUND PROCESSING
INT 17 U - Emulaser ELTSR - BACKGROUND PROCESSING
	AH = 0Eh
Program: ELTSR is the resident portion of the Emulaser PostScript emulator by
	  Vertisoft Systems, Inc.
Note:	this function is called by ELTSR on every INT 08 to allow data to be
	  processed in the background, but may also be called by applications
	  to give Emulaser additional CPU time
SeeAlso: AH=0Dh,INT 1A/AH=E5h

Top
170E - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 0Eh
SeeAlso: AH=03h"IBM",AH=0Dh"IBM",AH=80h"IBM"

Top
170E00 - INT 17 - DOSISODE to WATTCP TSR Interface - INSTALLATION CHECK
INT 17 - DOSISODE to WATTCP TSR Interface - INSTALLATION CHECK
	AX = 0E00h
Return: CX = 1234h if installed
Program: DOSISODE is the ISO developers environment which has been ported to
	  DOS and will run with the Waterloo TCP turned into a resident TSR.
	  Currently it allows a maximum of 6 open sockets.
Note:	this function is used to check if the interface is loaded
SeeAlso: AX=0300h"DOSISODE",AX=0A00h"DOSISODE"

Top
172000 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - INSTALLATION CHECK
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - INSTALLATION CHECK
	AX = 2000h
	BL = printer number???
Return: AX = status (see #00639)
	BX = driver version number (BH=major,BL=minor)
	CH = ??? (00h)
	CL = ???
	DX = ??? (0100h)
Note:	also enables the remaining printer driver functions (2001h-2007h)
SeeAlso: AX=2001h,AX=2002h,AX=2003h,AX=2004h,AX=2005h,AX=2006h,AX=2007h

(Table 00639)
Values for PC Paint function status:
 0000h	successful
 0001h	invalid printer???
 0002h	???
 0003h	invalid subfunction
 0005h	driver disabled, must call function 00h first
 0009h	unknown printer error
 000Bh	printer not selected
 000Ch	printer out of paper
 000Eh	error while writing to serial printer
 000Fh	???
 0010h	invalid function number
 0011h	value out of range

Top
172001 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - SET ??? FLAG
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - SET ??? FLAG
	AX = 2001h
	BL = printer number???
Return: AX = status (see #00639)

Top
172002 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET INFORMATION
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET INFORMATION
	AX = 2002h
	BL = printer number???
	CL = desired information
	    00h printer type
		Return: ES:DI -> ASCIZ printer name
	    01h paper size
		DX = size index
		Return: ES:DI -> ASCIZ paper size description
	    02h ???
		Return: BX = ???
	    03h printer information???
		DX = ???
		ES:BX -> buffer for ??? (min 134 bytes)
Return: AX = status (see #00639)
SeeAlso: AX=2000h,AX=2004h

Top
172003 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ???
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ???
	AX = 2003h
	ES:BX -> ???
Return: AX = status (see #00639)
SeeAlso: AX=2000h,AX=2004h

Top
172004 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET ???
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET ???
	AX = 2004h
	BL = printer number???
Return: AX = status (see #00639)
	ES:DI -> ???
SeeAlso: AX=2000h,AX=2003h

Top
172005 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE PRINTER TO NEXT PAGE
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE PRINTER TO NEXT PAGE
	AX = 2005h
	BL = printer number???
Return: AX = status (see #00639)
Note:	this function also clears the flag set by AX=2001h
SeeAlso: AX=2000h,AX=2001h,AX=2006h

Top
172006 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE TO NEXT PAGE & SHUT DOWN
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE TO NEXT PAGE & SHUT DOWN
	AX = 2006h
	BL = printer number???
Return: AX = status (see #00639)
Note:	this function also clears the flag set by AX=2001h and disables
	  functions other than AX=2000h
SeeAlso: AX=2000h,AX=2001h,AX=2005h

Top
172007 - INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - UNIMPLEMENTED
INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - UNIMPLEMENTED
	AX = 2007h
Return: AX unchanged
SeeAlso: AX=2000h

Top
172400 - INT 17 - Shamrock Software NET.24 v3.11+ - ENABLE/DISABLE API FUNCTIONS
INT 17 - Shamrock Software NET.24 v3.11+ - ENABLE/DISABLE API FUNCTIONS
	AX = 2400h
	DL = new state
	    00h disabled
	    01h enabled
Return: DL = 24h if installed
	DH = minor version number
	CX = network address of this machine
	AL = status (see #00640)
SeeAlso: AX=2403h,INT 16/AX=4500h

(Table 00640)
Values for NET.24 function status:
 00h	successful
 01h	timeout
 02h	header error
 03h	data error
 04h	busy
 05h	invalid parameters

Top
172401 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, NO HANDSHAKE
INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, NO HANDSHAKE
	AX = 2401h
	BL = timeout in clock ticks
Return: AL = status (see #00640)
	DX:BX -> receive buffer
SeeAlso: AX=2402h,AX=2404h,AX=2408h

Top
172402 - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT BLOCK, NO HANDSHAKE
INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT BLOCK, NO HANDSHAKE
	AX = 2402h
	transmit buffer filled (see AX=2403h)
Return: AL = status (see #00640)
SeeAlso: AX=2401h,AX=2403h,AX=2404h,AX=2409h

Top
172403 - INT 17 - Shamrock Software NET.24 v3.11+ - GET STATUS AND TRANSMISSION BUFFER
INT 17 - Shamrock Software NET.24 v3.11+ - GET STATUS AND TRANSMISSION BUFFER
	AX = 2403h
Return: AL = status (see #00640)
	CX = number of characters in receive ring buffer
	DX:BX -> transmit buffer
SeeAlso: AX=2400h,AX=2402h

Top
172404 - INT 17 - Shamrock Software NET.24 v3.11+ - SEND ACK BLOCK
INT 17 - Shamrock Software NET.24 v3.11+ - SEND ACK BLOCK
	AX = 2404h
	BX = target address
Return: AL = status (see #00640)
SeeAlso: AX=2402h,AX=2405h

Top
172405 - INT 17 - Shamrock Software NET.24 v3.11+ - SEND NAK BLOCK
INT 17 - Shamrock Software NET.24 v3.11+ - SEND NAK BLOCK
	AX = 2405h
	BX = target address
Return: AL = status (see #00640)
SeeAlso: AX=2402h,AX=2404h

Top
172406 - INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED RECEIVE
INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED RECEIVE
	AX = 2406h
Return: AL = status (see #00640)
SeeAlso: AX=2407h,AX=240Ah

Top
172407 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE CHARACTER FROM REMOTE
INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE CHARACTER FROM REMOTE
	AX = 2407h
Return: AL = status (see also #00640)
	    06h end of data
	DL = received character
SeeAlso: AX=2406h

Top
172408 - INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, WITH HANDSHAKE
INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, WITH HANDSHAKE
	AX = 2408h
Return: AL = status (see also #00640)
	    06h end of data
	CX = number of bytes in receive buffer
	DX:SI -> receive buffer
SeeAlso: AX=2401h,AX=2405h,AX=2409h

Top
172409 - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT COMMAND, WITH HANDSHAKE
INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT COMMAND, WITH HANDSHAKE
	AX = 2409h
	BX = target address
	CX = number of data bytes
	DL = command code to send
	DS:SI -> data bytes for command
Return: AL = status (see also #00640)
	    03h no response
	    06h remote currently unable to perform command
SeeAlso: AX=2405h,AX=2408h

Top
17240A - INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED TRANSMIT
INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED TRANSMIT
	AX = 240Ah
Return: AL = status (see #00640)
SeeAlso: AX=2406h,AX=240Bh,AX=240Ch

Top
17240B - INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT SINGLE CHARACTER TO REMOTE
INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT SINGLE CHARACTER TO REMOTE
	AX = 240Bh
	DL = character to send
Return: AL = status (see also AX=2400h)
	    03h transmission error
	    06h write error
SeeAlso: AX=2407h,AX=240Ah,AX=240Ch

Top
17240C - INT 17 - Shamrock Software NET.24 v3.11+ - END CHARACTER-ORIENTED TRANSMIT
INT 17 - Shamrock Software NET.24 v3.11+ - END CHARACTER-ORIENTED TRANSMIT
	AX = 240Ch
Return: AL = status (see also AX=2400h)
	    03h transmission error
	    06h remote breaks connection
SeeAlso: AX=240Ah,AX=240Bh

Top
174B00 - INT 17 - Brother P-Touch - INSTALLATION CHECK
INT 17 - Brother P-Touch - INSTALLATION CHECK
	AX = 4B00h
Return:	AX = 4249h ('BI' = Brother International) if installed
	    BX = program ID
		4550h ('EP') for "Epson FX-80 Emulator"
		5047h ('PG') for "Printer to Disk Utility"
	    CX = numbero of parallel port being emulated or intercepted
SeeAlso: AX=4B01h

Top
174B01 - INT 17 - Brother P-Touch - UNINSTALL
INT 17 - Brother P-Touch - UNINSTALL
	AX = 4B01h
Return: AX = segment of resident program or 0000h if unable to uninstall
Note:	the calling program must manually free both the indicated segment
	  and the environment segment for the TSR with INT 21/AH=49h
	  (the environment is pointed at by the WORD at AX:002Ch)
SeeAlso: AX=4B00h,INT 21/AH=49h

Top
175000 - INT 17 - AX (Japanese AT) PRINTER - SET PRINTER COUNTRY CODE
INT 17 - AX (Japanese AT) PRINTER - SET PRINTER COUNTRY CODE
	AX = 5000h
	BX = country code
	    0001h USA (English), 0051h Japan
Return: AL = status
	    00h successful
	    01h bad country code
	    02h other error
SeeAlso: AX=5001h,AH=51h,INT 10/AX=5000h,INT 16/AX=5000h

Top
175001 - INT 17 - AX (Japanese AT) PRINTER - GET PRINTER COUNTRY CODE
INT 17 - AX (Japanese AT) PRINTER - GET PRINTER COUNTRY CODE
	AX = 5001h
Return: AL = status
	    00h successful
		BX = country code
	    02h error
SeeAlso: AX=5000h,AH=51h,INT 10/AX=5001h,INT 16/AX=5001h

Top
1751 - INT 17 - AX (Japanese AT) PRINTER - JIS to Shift-JIS CONVERSION
INT 17 - AX (Japanese AT) PRINTER - JIS to Shift-JIS CONVERSION
	AH = 51h
	DX = 2-byte JIS code
Return: DX = shift-JIS value or 0000h on error
Note:	one of AH=51h and AH=52h converts from JIS (Japanese Industry Standard)
	  characters to Shift-JIS characters, and the other performs the
	  opposite conversion
SeeAlso: AX=5000h,AH=52h

Top
1752 - INT 17 - AX (Japanese AT) PRINTER - Shift-JIS to JIS CONVERSION
INT 17 - AX (Japanese AT) PRINTER - Shift-JIS to JIS CONVERSION
	AH = 52h
	DX = 2-byte shift-JIS code
Return: DX = JIS code or 0000h on error
Note:	one of AH=51h and AH=52h converts from JIS (Japanese Industry Standard)
	  characters to Shift-JIS characters, and the other performs the
	  opposite conversion
SeeAlso: AH=51h

Top
175555BXAAAA - INT 17 - LR - SET CONFIGURATION
INT 17 - LR - SET CONFIGURATION
	AX = 5555h
	BX = AAAAh
	CL = configuration flags (see #04117)
	DX = LPT number
Return: AX = A55Ah
	BX = BBBBh
Program: LR_xxxx.COM files are a set of printer-hardware dependent printer
	  drivers found in the LIR DOS/Windows 3.xx codepage support package
	  develoved by LABAS u.a.b.  LIR supports several different screen and
	  printer codepages and various keyboard layouts used in Lithuania.
	  Download at: ftp://ftp.labas.com/pub/drivers/language/lir422.zip
SeeAlso: AX=5555h/BX=BBBBh,INT 10/AX=5555h/BX=AAAAh

Bitfields for LR_xxxx.COM configuration flags:
Bit(s)	Description	(Table 04117)
 7	ESC sequence???
 6	ESC sequence???
 5-3	printer code page
 2	Lithuanian alphabet???
 1	Russian alphabet???
 0	???

Top
175555BXBBBB - INT 17 - LR - GET CONFIGURATION
INT 17 - LR - GET CONFIGURATION
	AX = 5555h
	BX = BBBBh
	DX = LPT number
Return: AX = A55Ah
	BX = CCCCh
	CL = configuration flags (see #04117)
SeeAlso: AX=5555h/BX=AAAAh,INT 10/AX=5555h/BX=BBBBh

Top
1760 - INT 17 - FLASHUP.COM - INSTALLATION CHECK
INT 17 - FLASHUP.COM - INSTALLATION CHECK
	AH = 60h
Return: AL = 60h
	DX = CS of resident code
Notes:	FLASHUP.COM is part of Flash-Up Windows by The Software Bottling Co.
	FLASHUP also hooks INT 10 and receives commands via INT 10/AH=09h,0Ah
	  consisting of an 80h followed by the actual command
SeeAlso: INT 10/AH=09h,INT 10/AH=0Ah

Top
1761 - INT 17 - SPEEDSCR.COM - INSTALLATION CHECK
INT 17 - SPEEDSCR.COM - INSTALLATION CHECK
	AH = 61h
Return: AL = 61h
	DX = CS of resident code
Note:	SPEEDSCR.COM is by The Software Bottling Co.

Top
1762 - INT 17 U - T2PS v1.0 - UNINSTALL
INT 17 U - T2PS v1.0 - UNINSTALL
	AH = 62h
Return: nothing
SeeAlso: AH=63h,AH=64h,INT 05/AX=554Eh

Top
1763 - INT 17 U - T2PS v1.0 - SET PARAMETERS
INT 17 U - T2PS v1.0 - SET PARAMETERS
	AH = 63h
	ES:SI -> settings (see #00641)
Program: T2PS is a shareware ASCII-to-PostScript converter by A.N.D.
	  Technologies
SeeAlso: AH=62h,AH=64h,INT 05/AX=4E57h

Format of T2PS settings:
Offset	Size	Description	(Table 00641)
 00h	WORD	LPT port number (0=LPT1, etc.)
 02h	WORD	page heigh in points
 04h	WORD	page width in points
 06h	WORD	top margin in points
 08h	WORD	bottom margin in points
 0Ah	WORD	left margin in points
 0Ch	WORD	right margin in points
 0Eh	WORD	font size in points
 10h	WORD	tab size
 12h	WORD	timeout in clock ticks

Top
1764 - INT 17 U - T2PS v1.0 - GET PARAMETERS
INT 17 U - T2PS v1.0 - GET PARAMETERS
	AH = 64h
	ES:SI -> buffer for settings (see #00641)
Return: ES:SI buffer filled
SeeAlso: AH=62h,AH=63h,INT 05/AX=5053h

Top
176F00BX0000 - INT 17 - HP Vectra - EXTENDED BIOS - "F17_INQUIRE" - INSTALLATION CHECK
INT 17 - HP Vectra - EXTENDED BIOS - "F17_INQUIRE" - INSTALLATION CHECK
	AX = 6F00h
	BX = 0000h
Return: BX = 4850h ("HP") if HP Extended BIOS printer extensions available
SeeAlso: AX=6F02h,INT 14/AX=6F00h,INT 10/AX=6F00h,INT 14/AX=6F00h
SeeAlso: INT 33/AX=6F00h,INT 6F/AH=00h"HP Vectra"

Top
176F02 - INT 17 - HP Vectra - EXTENDED BIOS - "F17_PUT_BUFFER" - PRINT BUFFER
INT 17 - HP Vectra - EXTENDED BIOS - "F17_PUT_BUFFER" - PRINT BUFFER
	AX = 6F02h
	CX = size of buffer in bytes
	DX = port number (0-3)
	ES:DI -> buffer containing characters to be printed
Return: AH = printer status (see #00631)
	CX = number of bytes successfully printed
	---on error (AH bit 0 set)---
	    ES:DI -> next byte to be sent
	---if successful---
	    ES:DI unchanged
SeeAlso: AH=00h,AX=6F00h,INT 14/AX=6F02h

Top
1780 - INT 17 - IBM SurePath BIOS - Officially "Private" Function
INT 17 - IBM SurePath BIOS - Officially "Private" Function
	AH = 80h
SeeAlso: AH=03h"IBM",AH=0Bh"IBM"

Top
1781 - INT 17 - Alloy NTNX, MW386 - CANCEL JOBS FOR CURRENT USER
INT 17 - Alloy NTNX, MW386 - CANCEL JOBS FOR CURRENT USER
	AH = 81h
	AL = 00h (NTNX compatibility mode)
	CL = number of jobs to cancel
Return: AL = status (see #00642)
Note:	this function cancels the last CL printouts for the current task
SeeAlso: AH=82h

(Table 00642)
Values for Alloy status:
 00h	success
 01h-7Fh warning
 80h	general failure
 81h	host overloaded (NTNX only)
 82h	module busy (NTNX only)
 83h	host busy (NTNX only)
 84h	re-entry flag set
 85h	invalid request
 86h	invalid printer
 87h	invalid process ID
 89h	access denied
 8Ah	option not available for given port type
 8Bh	option not available for given task type
 91h	printer busy
 C2h	file not found
 C3h	path not found
 C4h	file access failure

Top
1782 - INT 17 - Alloy NTNX, MW386 - CANCEL ALL JOBS FOR CURRENT USER
INT 17 - Alloy NTNX, MW386 - CANCEL ALL JOBS FOR CURRENT USER
	AH = 82h
	AL = 00h (NTNX compatibility mode)
Return: AL = status (see #00642)
SeeAlso: AH=81h

Top
1783 - INT 17 - Alloy NTNX, MW386 - SET NUMBER OF COPIES
INT 17 - Alloy NTNX, MW386 - SET NUMBER OF COPIES
	AH = 83h
	AL = mode
	    00h NTNX compatibility
		CL = number of copies (max 99, default 1)
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
		CX = number of copies
Return: AL = status (see #00642)
Note:	in NTNX compatibility mode, this function only affects LPT1

Top
1784 - INT 17 - Alloy NTNX, MW386 - GENERATE PRINT BREAK
INT 17 - Alloy NTNX, MW386 - GENERATE PRINT BREAK
	AH = 84h
	AL = mode
	    00h NTNX compatibility
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
Note:	closes spool file and tells spooler to queue the print job (LPT1 only
	  under MW386 in NTNX compatibility mode)

Top
1784 - INT 17 - AX (Japanese AT) PRINTER - OUTPUT CHARACTER WITHOUT CONVERSION
INT 17 - AX (Japanese AT) PRINTER - OUTPUT CHARACTER WITHOUT CONVERSION
	AH = 84h
	AL = character
	DX = printer number
Return: AH = printer status (see #00631)
SeeAlso: AH=00h,AH=85h

Top
1785 - INT 17 - AX (Japanese AT) PRINTER - ENABLE/DISABLE CHARACTER CONVERSION
INT 17 - AX (Japanese AT) PRINTER - ENABLE/DISABLE CHARACTER CONVERSION
	AH = 85h
	AL = new state (00h enabled, 01h disabled)
SeeAlso: AH=84h"AX"

Top
1787 - INT 17 - Alloy NTNX - SET INDOS POINTER
INT 17 - Alloy NTNX - SET INDOS POINTER
	AH = 87h
	AL = 00h
	CX:BX -> buffer for user-written printer drivers
Return: BX,CX destroyed
Note:	must be executed before the printer is enabled
SeeAlso: AH=8Ah

Top
1788 - INT 17 - Alloy NTNX, MW386 - REMOVE PRINTER FROM SPOOLER
INT 17 - Alloy NTNX, MW386 - REMOVE PRINTER FROM SPOOLER
	AH = 88h
	AL = mode
	    00h NTNX compatibility
		DX = NTNX printer number (see #00643)
	    01h MW386
		DX = MW386 printer number
Return: AH = status (see #00642)
Note:	removes specified printer from the spooler's list of printers
SeeAlso: AH=89h,AH=8Bh

(Table 00643)
Values for Alloy NTNX printer number:
 00h	host LPT1
 01h	host LPT2
 02h	host LPT3
 03h	host LPT4
 04h	host COM1
 05h	host COM2
 06h	user's logical COM2
 07h	user's terminal AUX port
 08h	user's logical COM1 (MW386 only)

Top
1789 - INT 17 - Alloy NTNX, MW386 - ADD PRINTER TO SPOOLER
INT 17 - Alloy NTNX, MW386 - ADD PRINTER TO SPOOLER
	AH = 89h
	AL = mode
	    00h NTNX compatibility
		DX = NTNX printer number (see #00643)
	    01h MW386
		DX = MW386 printer number
Return: AL = status (see #00642)
Note:	the specified printer is added to the spooler's list of available
	  printers
SeeAlso: AH=88h,AH=8Bh

Top
178A - INT 17 - Alloy NTNX - ACTIVATE USER-WRITTEN PRINTER DRIVER
INT 17 - Alloy NTNX - ACTIVATE USER-WRITTEN PRINTER DRIVER
	AH = 8Ah
	???
SeeAlso: AH=92h

Top
178B - INT 17 - Alloy MW386 - GET PHYSICAL DEVICE NUMBER FROM NAME
INT 17 - Alloy MW386 - GET PHYSICAL DEVICE NUMBER FROM NAME
	AH = 8Bh
	DS:DX -> ASCIZ printer name
Return: AL = status (see also AH=81h)
	    00h successful
		DX = physical device number
SeeAlso: AH=89h,AH=8Ch,INT 14/AH=20h"Alloy"

Top
178C - INT 17 - Alloy MW386 - GET DEVICE NAME FROM PHYSICAL DEVICE NUMBER
INT 17 - Alloy MW386 - GET DEVICE NAME FROM PHYSICAL DEVICE NUMBER
	AH = 8Ch
	DX = physical device number
	ES:DI -> 17-byte buffer for ASCIZ device name
Return: AL = status (see also AH=81h)
	    00h successful
		ES:DI buffer filled
SeeAlso: AH=88h,AH=8Bh

Top
178D - INT 17 - Alloy NTNX,MW386 - RESET SPOOLER
INT 17 - Alloy NTNX,MW386 - RESET SPOOLER
	AH = 8Dh
	AL = 00h
Return: AL = status (see #00642)
Notes:	clears all buffers and resets spooler to boot-up values
	MW386 supports this function for compatibility only; it is a NOP

Top
178E - INT 17 - Alloy NTNX - GET INT 28 ENTRY POINT
INT 17 - Alloy NTNX - GET INT 28 ENTRY POINT
	AH = 8Eh
	AL = 00h
Return: CX:BX -> INT 28 entry point
SeeAlso: AH=8Fh

Top
178F - INT 17 - Alloy NTNX - GET DOS INTERCEPT ENTRY POINT
INT 17 - Alloy NTNX - GET DOS INTERCEPT ENTRY POINT
	AH = 8Fh
	AL = 00h
Return: CX:BX -> DOS intercept routine
SeeAlso: AH=8Eh

Top
1790 - INT 17 - Alloy NTNX, MW386 - SPOOL FILE BY NAME
INT 17 - Alloy NTNX, MW386 - SPOOL FILE BY NAME
	AH = 90h
	AL = mode
	    00h NTNX compatibility
		DL = printer code (FFh=current) (NTNX, MW386 v1.x only)
		DH = number of copies (FFh=current) (NTNX, MW386 v1.x only)
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
	CX:SI -> ASCIZ pathname
Return: AL = status (see #00642)
Note:	in mode 00h, the file is always sent to logical LPT1
SeeAlso: AH=A0h

Top
1791 - INT 17 - Alloy NTNX, MW386 - GET USER NUMBER AND CURRENT PRINTER
INT 17 - Alloy NTNX, MW386 - GET USER NUMBER AND CURRENT PRINTER
	AH = 91h
	AL = mode
	    00h NTNX compatibility
		Return: CX = user number (00h = host)
			DX = currently selected printer number (00h-08h)
	    01h MW386
		Return: CX = user number
			DX = physical dev number of currently selected printer
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
		Return: CX = user number
			DX = physical device number
Return: AL = status (see #00642)
SeeAlso: AH=8Ch

Top
1792 - INT 17 - Alloy NTNX - CHECK PRINTER DRIVER
INT 17 - Alloy NTNX - CHECK PRINTER DRIVER
	AH = 92h
	AL = 00h
	CL = 00h
Return: CL = driver state
	    01h initialized
	    80h not initialized
	AX = status (see #00642)
SeeAlso: AH=8Ah

Top
1794 - INT 17 - Alloy NTNX, MW386 - SELECT PRINTER
INT 17 - Alloy NTNX, MW386 - SELECT PRINTER
	AH = 94h
	AL = mode
	    00h NTNX compatibility
		DX = NTNX printer number (see #00643)
	    01h MW386
		DX = MW386 printer number
	    02h MW386 v2+
		BX = logical printer number
		DX = MW386 printer number
Return: AL = status (see #00642)
Note:	modes 00h and 01h affect only logical LPT1
SeeAlso: AH=8Bh,AH=95h

Top
1795 - INT 17 - Alloy NTNX, MW386 - GET CURRENT PRINTER
INT 17 - Alloy NTNX, MW386 - GET CURRENT PRINTER
	AH = 95h
	AL = mode
	    00h NTNX compatibility
		Return: DX = NTNX printer number (see #00643)
			    (FFFFh if current printer not compatible with NTNX)
	    01h MW386
		Return: DX = MW386 printer number
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
		Return: DX = MW386 printer number (FFFFh = none)
Return: AL = status (see #00642)
Note:	modes 00h and 01h return the printer number of logical LPT1 only
SeeAlso: AH=94h

Top
1796 - INT 17 - Alloy NTNX - SET SERIAL PORT PARAMETERS
INT 17 - Alloy NTNX - SET SERIAL PORT PARAMETERS
	AH = 96h
	AL = 00h
Note:	documentation states that this is a NOP, doing only XOR AX,AX before
	  returning
SeeAlso: INT 14/AH=24h

Top
1797 - INT 17 - Alloy NTNX, MW386 - SET DATA DRIVEN PRINT BREAK
INT 17 - Alloy NTNX, MW386 - SET DATA DRIVEN PRINT BREAK
	AH = 97h
	AL = mode
	    00h NTNX compatibility
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
	CH,CL,DH = three character break sequence
	DL = subfunction
	    00h set break string
	    else reset break
Return: AL = status (see #00642)
Notes:	mode 00h affects only logical LPT1
	when the break string is encountered, the spool file will be closed and
	  queued for printing automatically
	the break string is not permanently saved, and will be reset each time
	  MW386 or the user is rebooted
SeeAlso: AH=9Bh

Top
1798 - INT 17 - Alloy NTNX,MW386 - RESTART PRINTER
INT 17 - Alloy NTNX,MW386 - RESTART PRINTER
	AH = 98h
	AL = 00h
	DL = printer number (FFh=current)
Return: AL = status
	    00h successful
	    01h incorrect printer
	    02h task not found
Note:	MW386 supports this function for compatibility only; it is a NOP

Top
1799 - INT 17 - Alloy NTNX, MW386 - GET/SET PRINTER MODE
INT 17 - Alloy NTNX, MW386 - GET/SET PRINTER MODE
	AH = 99h
	AL = mode
	    00h NTNX compatibility
		DL = NTNX printer number (see #00643)
			(FFh = task's current logical LPT1)
		DH = mode (see #00644)
	    01h MW386
		DX = MW386 printer number
		CL = mode (as for DH above)
Return: AL = status (see #00642)
	DH = mode (bits 1 and 2 set as above)
	DL = printer owner's user number if not spooled

Bitfields for Alloy printer mode:
 0	get mode if 1, set mode if 0	(Table 00644)
 1	private ("attached")
 2	direct instead of spooled
 3-7	reserved (0)

Top
179A - INT 17 - Alloy NTNX,MW386 - SET TAB EXPANSION
INT 17 - Alloy NTNX,MW386 - SET TAB EXPANSION
	AH = 9Ah
	AL = mode
	    00h NTNX compatibility
		DX = NTNX printer number (see #00643)
			(FFFFh = current logical LPT1)
	    01h MW386
		DX = MW386 printer number
	CL = tab length (00h = no expansion, 01h-63h = spaces per tab)
Return: AL = status (see #00642)
Note:	beginning with MW386 v2.0, tab expansion is set on a per-printer basis
	  rather than a per-user basis; NTNX and MW386 v1.x ignore DX
SeeAlso: AH=A4h

Top
179B - INT 17 - Alloy NTNX,MW386 - SET PRINT BREAK TIMEOUT
INT 17 - Alloy NTNX,MW386 - SET PRINT BREAK TIMEOUT
	AH = 9Bh
	AL = mode
	    00h NTNX compatibility
		CX = timeout value in clock ticks (1/18 sec) (00h = never)
	    01h MW386
		CX = timeout value in seconds (00h = never)
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
		CX = timeout value in seconds (00h = never)
Return: AL = status (see #00642)
Notes:	modes 00h and 01h affect only the current logical LPT1
	if no data is sent to a printer for the specified amount of time, the
	  spool file will be closed and queued for printing automatically
SeeAlso: AH=97h

Top
17A0 - INT 17 - Alloy MW386 - SPOOL COPY OF FILE
INT 17 - Alloy MW386 - SPOOL COPY OF FILE
	AH = A0h
	AL = mode
	    00h NTNX compatibility
		DX = ??? (NTNX, MW386 v1.x only)
	    02h MW386 v2+
		BX = logical device number
		    00h-03h = LPT1-LPT4
		    04h-07h = COM1-COM4
	CX:SI -> ASCIZ pathname
Return: AL = status (see #00642)
Notes:	makes a copy of the specified file in the spooler's directory, allowing
	  the original file to be modified or deleted while the copy is printed
	in mode 00h, the file is printed on logical LPT1
SeeAlso: AH=90h

Top
17A4 - INT 17 - Alloy MW386 - ENABLE/DISABLE FORM FEED
INT 17 - Alloy MW386 - ENABLE/DISABLE FORM FEED
	AH = A4h
	AL = new state
	    00h form feed after end of print job disabled
	    01h form feed enabled
Return: AL = status (see #00642)
Note:	only affects the current logical LPT1
SeeAlso: AH=9Ah,AH=A6h,INT 7F/AH=05h"NTNX (Host)"

Top
17A6 - INT 17 - Alloy MW386 - ENABLE/DISABLE BANNER PAGE
INT 17 - Alloy MW386 - ENABLE/DISABLE BANNER PAGE
	AH = A6h
	AL = new state
	    00h banner page before print job disabled
	    01h banner page enabled
Return: AL = status (see #00642)
Note:	only affects the current logical LPT1
SeeAlso: AH=A4h

Top
17A7 - INT 17 - Alloy MW386 v2+ - GET/SET SPOOL FLAGS
INT 17 - Alloy MW386 v2+ - GET/SET SPOOL FLAGS
	AH = A7h
	AL = spool flags (see #00645)
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
Return: AL = status (see #00642)
Note:	the documentation does not state which register contains the result of
	  a GET
SeeAlso: AH=A4h,AH=A6h

Bitfields for Alloy spool flags:
Bit(s)	Description	(Table 00645)
 0	banner page enabled (see AH=A6h)
 1	form feed enabled (see AH=A4h)
 2-6	reserved (0)
 7	set flags if 1, get flags if 0

Top
17A8 - INT 17 - Alloy MW386 - DEFINE TEMPORARY FILENAME
INT 17 - Alloy MW386 - DEFINE TEMPORARY FILENAME
	AH = A8h
	CX:SI -> ASCIZ filename without extension (max 8 chars)
Return: AL = status (see #00642)
Note:	allows application to specify banner page filename for spool files
	  collected from the application's printer output
SeeAlso: AH=A9h

Top
17A9 - INT 17 - Alloy MW386 - CHANGE TEMPORARY SPOOL DRIVE
INT 17 - Alloy MW386 - CHANGE TEMPORARY SPOOL DRIVE
	AH = A9h
	AL = new spool drive (2=C:,3=D:,etc)
Return: AL = status (see #00642)
Note:	does not remove previous spooling directory since jobs may be pending
SeeAlso: AH=A8h

Top
17AA - INT 17 - Alloy MW386 v2+ - GET REAL-TIME PRINTER STATUS
INT 17 - Alloy MW386 v2+ - GET REAL-TIME PRINTER STATUS
	AH = AAh
	AL = mode
	    00h NTNX
		DX = NTNX printer number (see #00643)
	    01h MW386
		DX = MW386 printer number
Return: AH = instantaneous printer status
	    00h printer ready
	    01h not ready
	    12h off line
	    13h out of paper
	    14h general device failure
	    15h device timeout
	    16h bad device number

Top
17AF - INT 17 - Alloy MW386 - CHECK SPOOLER
INT 17 - Alloy MW386 - CHECK SPOOLER
	AH = AFh
Return: AX = 55AAh if spooler available

Top
17C0 - INT 17 - PC Magazine PCSpool - GET CONTROL BLOCK ADDRESS
INT 17 - PC Magazine PCSpool - GET CONTROL BLOCK ADDRESS
	AH = C0h
	DX = printer port (0-3)
Return: ES:BX -> control block (see #00646)
SeeAlso: AH=C1h

Format of PCSpool control block:
Offset	Size	Description	(Table 00646)
 00h	WORD	printer number
 02h	WORD	address of printer status port
 04h	WORD	number of first record in queue
 06h	WORD	number of last record in queue
 08h	DWORD	characters already printed
 0Ch	DWORD	number of characters remaining
 10h	DWORD	pointer to dequeue buffer
 14h	DWORD	previous count of characters printed
 18h	DWORD	number of clock ticks taken to print them
 1Ch	WORD	offset of next character to output
 1Eh	WORD	offset of next character to print
 20h	WORD	pointer to spooling queue record
 22h	BYTE	current spooling status
 23h	BYTE	current printer status:
		00h OK
		01h not ready
		02h paused with message
		03h paused
		04h initializing
		FEh non-existent port
		FFh not spooled
 24h	BYTE	current control record type
 25h	WORD	observed printer speed
 27h	WORD	characters to print per service
 29h	BYTE	01h if disk write needed
 2Ah	BYTE	01h if queued data should be flushed
 2Bh	BYTE	01h to update cps status

Top
17C1 - INT 17 - PC Magazine PCSpool - BUILD PAUSE CONTROL RECORD
INT 17 - PC Magazine PCSpool - BUILD PAUSE CONTROL RECORD
	AH = C1h
	DX = printer port (0-3)
	DS:SI -> ASCIZ string to save for display
Note:	flushes pending writes
SeeAlso: AH=C0h,AH=C2h

Top
17C2 - INT 17 - PC Magazine PCSpool - FLUSH PENDING WRITES
INT 17 - PC Magazine PCSpool - FLUSH PENDING WRITES
	AH = C2h
	DX = printer port (0-3)
SeeAlso: AH=C3h

Top
17C3 - INT 17 - PC Magazine PCSpool - CANCEL PRINTER QUEUE (FLUSH ALL QUEUED OUTPUT)
INT 17 - PC Magazine PCSpool - CANCEL PRINTER QUEUE (FLUSH ALL QUEUED OUTPUT)
	AH = C3h
	DX = printer port (0-3)
SeeAlso: AH=C2h,AH=C7h

Top
17C4 - INT 17 - PC Magazine PCSpool - QUERY SPOOLER ACTIVE
INT 17 - PC Magazine PCSpool - QUERY SPOOLER ACTIVE
	AH = C4h
Return: DI = B0BFh
	SI = segment

Top
17C5 - INT 17 - PC Magazine PCSpool - JOB SKIP PRINTER QUEUE
INT 17 - PC Magazine PCSpool - JOB SKIP PRINTER QUEUE
	AH = C5h
	DX = printer port (0-3)
Note:	cancels up to the pause record

Top
17C6 - INT 17 - PC Magazine PCSpool - CHECK PRINTER QUEUE STATUS
INT 17 - PC Magazine PCSpool - CHECK PRINTER QUEUE STATUS
	AH = C6h
	DX = printer port (0-3)
Return: AX = queue status
	   0000h printer not active or at pause
	   0001h printer busy

Top
17C7 - INT 17 - PC Magazine PCSpool - CLOSE QUEUE
INT 17 - PC Magazine PCSpool - CLOSE QUEUE
	AH = C7h
	DX = printer port (0-3)
SeeAlso: AH=C3h

Top
17CD00 - INT 17 - INSET - EXECUTE COMMAND STRING
INT 17 - INSET - EXECUTE COMMAND STRING
	AX = CD00h
	DS:DX -> ASCIZ command string (max 80 bytes)
Return: CX = 07C2h (1986d)
Note:	user interface menus pop up after last command, unless that command
	exits INSET

Top
17CD01 - INT 17 - INSET - GET IMAGE SIZE
INT 17 - INSET - GET IMAGE SIZE
	AX = CD01h
	DS:DX -> ASCIZ name of image file
Return: AX = height in 1/720th inch
	BX = width in 1/720th inch
	CX = 07C2h (1986d)

Top
17CD02 - INT 17 - INSET - INITIALIZE
INT 17 - INSET - INITIALIZE
	AX = CD02h
Return: CX = 07C2h (1986d)
Note:	all open files are closed and the printer is reset
SeeAlso: AX=CD04h

Top
17CD03 - INT 17 - INSET - EXECUTE INSET MENU WITHIN OVERRIDE MODE
INT 17 - INSET - EXECUTE INSET MENU WITHIN OVERRIDE MODE
	AX = CD03h
Return: CX = 07C2h (1986d)

Top
17CD04 - INT 17 - INSET - INITIALIZE LINKED MODE
INT 17 - INSET - INITIALIZE LINKED MODE
	AX = CD04h
	ES:SI -> FAR routine for linked mode (see #00647)
Return: CX = 07C2h
SeeAlso: AX=CD02h,AX=CD08h

(Table 00647)
Values INSET linked-mode routine is called with:
	AL = function
	    00h send character to printer
		BL = character to send
	    01h send string to printer
		CX = number of bytes to send
		DS:DX -> buffer containing data
	    02h move print head to horizontal starting position of image
Return: AX = status
	    0000h success
	    0001h failure

Top
17CD05 - INT 17 - INSET - START MERGING IMAGE INTO TEXT
INT 17 - INSET - START MERGING IMAGE INTO TEXT
	AX = CD05h
	DS:DX -> ASCIZ name of PIX file
	CX = left margin of text in 1/720th inch
Return: AH = printer type
	    00h page-oriented (multiple images may be placed side-by-side)
	    01h line-oriented (use AX=CD06h for vertical paper movement)
	CX = 07C2h (1986d)
SeeAlso: AX=CD07h

Top
17CD06 - INT 17 - INSET - GRAPHICS LINE FEED
INT 17 - INSET - GRAPHICS LINE FEED
	AX = CD06h
Return: AH = completion status
	    00h image complete
	    01h image incomplete
	CX = 07C2h (1986d)
SeeAlso: AX=CD09h

Top
17CD07 - INT 17 - INSET - FLUSH GRAPHICS FROM MERGE BUFFER
INT 17 - INSET - FLUSH GRAPHICS FROM MERGE BUFFER
	AX = CD07h
Return: CX = 07C2h
SeeAlso: AX=CD05h

Top
17CD08 - INT 17 - INSET - CANCEL LINK MODE
INT 17 - INSET - CANCEL LINK MODE
	AX = CD08h
Return: CX = 07C2h
SeeAlso: AX=CD04h

Top
17CD09 - INT 17 - INSET - ALTER TEXT LINE SPACING
INT 17 - INSET - ALTER TEXT LINE SPACING
	AX = CD09h
	CX = line spacing in 1/720th inch
Return: CX = 07C2h
Note:	not yet implemented, line spacing is currently fixed at 1/6 inch
SeeAlso: AX=CD06h

Top
17CD0A - INT 17 - INSET - GET SETUP
INT 17 - INSET - GET SETUP
	AX = CD0Ah
	DS:DX -> buffer for IN.SET data
Return: CX = 07C2h

Top
17CD0B - INT 17 - INSET - START GETTING SCALED IMAGE
INT 17 - INSET - START GETTING SCALED IMAGE
	AX = CD0Bh
	DS:SI -> ASCIZ pathname of .PIX file
	BX = number of bitplanes
	CX = number of rows in output bitmap
	DX = number of columns in output bitmap
Return: AX = status
	    0000h OK
	    FFFFh error
Note:	image is returned in strips by repeated calls to AX=CD0Ch

Top
17CD0C - INT 17 - INSET - GET NEXT IMAGE STRIP
INT 17 - INSET - GET NEXT IMAGE STRIP
	AX = CD0Ch
Return: AX = status
	    0000h OK but not complete
	    0001h OK and image complete
	    FFFFh error
	DS:SI -> buffer (max 4K) for bit map strip
	CX = start row
	DX = number of rows
	BX = offset in bytes between bit planes
Note:	buffer may be overwritten by subsequent calls
SeeAlso: AX=CD0Bh

Top
17E0 - INT 17 - EPP BIOS - INSTALLATION CHECK
INT 17 - EPP BIOS - INSTALLATION CHECK
	AH = E0h
Return: ??? (AH <> E0h if installed ???)
SeeAlso: AX=0200h"EPP",AH=E1h,AH=E2h

Top
17E1 - INT 17 - EPP BIOS - DISABLE EPP
INT 17 - EPP BIOS - DISABLE EPP
	AH = E1h
	???
Return: ???
SeeAlso: AX=0200h"EPP",AH=E0h,AH=E2h

Top
17E2 - INT 17 - EPP BIOS - ENABLE EPP
INT 17 - EPP BIOS - ENABLE EPP
	AH = E2h
	???
Return: ???
SeeAlso: AX=0200h"EPP",AH=E0h,AH=E1h

Top
17F0 - INT 17 - NorthNet Jetstream API - INSTALLATION CHECK
INT 17 - NorthNet Jetstream API - INSTALLATION CHECK
	AH = F0h
	DX = printer port (0-3)
Return: AX = 0001h Jetstream present
	     else  non-Jetstream port
Note:	NorthNet Jetstream is a high-performance DMA-driven parallel card able
	  to drive printers at up to 80000 characters per second

Top
17F1 - INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER
INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER
	AH = F1h
	CX = data buffer length
	DX = printer port (0-3)
	DS:SI -> data buffer
Return: AX = status
	    0000h printer not ready (see also AH=02h)
	    other printing started
SeeAlso: AH=00h,AH=F2h,AH=F3h,AH=F5h

Top
17F2 - INT 17 - NorthNet Jetstream API - GET PRINT PROGRESS STATUS
INT 17 - NorthNet Jetstream API - GET PRINT PROGRESS STATUS
	AH = F2h
	DX = printer port (0-3)
Return: AX = status
	    0000h prior print request finished
	    other number of characters left to print
SeeAlso: AH=02h,AH=F1h,AH=F3h

Top
17F3 - INT 17 - NorthNet Jetstream API - ABORT PRINT OPERATION
INT 17 - NorthNet Jetstream API - ABORT PRINT OPERATION
	AH = F3h
	DX = printer port (0-3)
Return: AX = number of unprinted characters due to abort
SeeAlso: AH=F1h,AH=F4h

Top
17F4 - INT 17 - NorthNet Jetstream API - SET COMPLETION (POST) ADDRESS
INT 17 - NorthNet Jetstream API - SET COMPLETION (POST) ADDRESS
	AH = F4h
	DX = printer port (0-3)
	DS:DS -> FAR post address (called with interrupts on)
SeeAlso: AH=F1h,AH=F3h

Top
17F5 - INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER FROM EXTENDED MEMORY
INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER FROM EXTENDED MEMORY
	AH = F5h
	CX = data buffer length
	DX = printer port (0-3)
	DS:SI -> data buffer (32-bit physical address)
Return: AX = status
	    0000h printer not ready (see also AH=02h)
	    other printing started
SeeAlso: AH=F1h

Top
17FF--BX0000 - INT 17 U - PC-MOS/386 v5.01 - PRINT SPOOLER - CLOSE SPOOL FILE
INT 17 U - PC-MOS/386 v5.01 - PRINT SPOOLER - CLOSE SPOOL FILE
	AH = FFh
	BX = 0000h
	CX = 0000h
	DX = printer port number
Return: AH = printer status (see #00631 at AH=00h)
Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
	  operating system by The Software Link, Inc.
Desc:	close the spool file immediately instead of waiting for the close time
	  to elapse
SeeAlso: AH=01h,AH=03h"PC-MOS"

Top
18 - INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
Desc:	called when there is no bootable disk available to the system
Notes:	very few PCs other than those produced by IBM contain BASIC in ROM, so
	  the action is unpredictable on compatibles; this interrupt often
	  reboots the system, and often has no effect at all
	some PC and XT clones had an optional IBM CASSETTE BASIC stored
	  in the ROM, too.
	most BIOSes will display an error message similar to "NO BASIC", and
	  either reboot or return to the caller.
	PS/2 machines usually pop up a graphical box to the effect that
	  the user should enter a floppy and press F1.
	Some clones display the message "No boot device available,
	  strike F1 to retry, F2 for setup utility"
	network cards with their own BIOS can hook this interrupt to allow
	  a diskless boot off the network (even when a hard disk is present
	  if none of the partitions is marked as the boot partition)
SeeAlso: INT 2F/AX=4A06h,INT 86"NetBIOS",INT 2F/AX=4A06h,INT 2F/AX=4A07h

Top
1800 - INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
	AH = 00h
Return: AX = keystroke
SeeAlso: AH=01h,AH=02h,INT 16/AH=00h

Top
1801 - INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
	AH = 01h
Return: BH = status
	    00h no keystrokes available
	    01h keystroke available
		AX = keystroke
SeeAlso: AH=00h,AH=02h,INT 16/AH=01h

Top
1802 - INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
	AH = 02h
Return: AL = shift flags
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,INT 16/AH=02h

Top
1803 - INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
	AH = 03h
	???
Return: ???
SeeAlso: AH=00h,AH=04h

Top
1804 - INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
	AH = 04h
	???
Return: ???
Note:	details are not available at this time
SeeAlso: AH=00h,AH=02h,INT 16/AH=00h,INT 16/AH=01h,INT 16/AH=02h

Top
18 - INT 18 - NEC PC-9800 series - VIDEO
INT 18 - NEC PC-9800 series - VIDEO
	AH = function
	    0Ah set video mode
	    0Bh get video mode
	    0Ch start text screen display
	    0Dh end text screen display
	    0Eh set single display area
	    0Fh set multiple display area
	    10h set cursor shape
	    11h display cursor
	    12h terminate cursor
	    13h set cursor position
	    14h read font patter
	    16h initialize text video RAM
	    1Ah define user character
	    others
	???
Return: ???
Notes:	details are not available at this time
	text video RAM is located at segments A000h (characters) and A200h
	  (attributes), graphics video RAM at segment C000h

Bitfields for NEC PC-9800 series video attributes:
Bit(s)	Description	(Table 00648)
 0	disable drawing character
 1	blinking
 2	reverse video
 3	underline
 4	vertical line
 7-5	color
	(0=black, 1=blue, 2=red, 3=purple, 4=green, 5=cyan, 6=yellow, 7=white)

Top
180E - INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
	AH = 0Eh
	DX = offset of first byte to display???
Return: ???
SeeAlso: AH=1Bh,MEM 0050h:0001h

Top
181B - INT 18 - NEC PC-9800 series - SET DISPLAY MODE
INT 18 - NEC PC-9800 series - SET DISPLAY MODE
	AH = 1Bh
	AL = ??? (00h for text mode)
Return: ???

Top
185350BX4849 - INT 18 - SPHINX C-- - WB.COM - API
INT 18 - SPHINX C-- - WB.COM - API
	AX = 5350h ('SP')
	BX = 4849h ('HI')
	CX = 4E58h ('NX')
	DH = function
	    01h set ???
		DL = ???
	    02h get ???
		Return: DL = ???
	    03h get ???
		Return: ES:DI -> ??? data buffer
	    06h ???
Return: AX = 7370h ('sp') if installed
	BX = 6869h ('hi') if installed
	CX = 6E78h ('nx') if installed
Program: SPHINX C-- is a shareware compiler by Peter Cellik for a language
	  which is a cross between C and assembler; WB.COM is the driver which
	  launches the WorkBench

Top
186900 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
	AX = 6900h
Return: AX = amount of DRAM on card or 0000h if GUS not available
Program: YEA_GUS is a driver for the Graphics Ultra Sound which hooks INT 18h
	  and then shells out the the program requiring its services
SeeAlso: AX=6901h,AX=690Ah,AX=690Bh

Top
186901 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
	AX = 6901h
	BX = number of active voices (14-32)
Return: nothing
SeeAlso: AX=6900h

Top
186902 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
	AX = 6902h
	BX = voice number (00h-1Fh)
	CX = linear volume (0000h-01FFh)
Return: nothing
SeeAlso: AX=6900h,AX=6903h,AX=6904h,AX=6909h,AX=690Ah

Top
186903 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
	AX = 6903h
	BX = voice number (00h-1Fh)
	CX = frequency in Hz (0-44100)
Return: nothing
SeeAlso: AX=6902h,AX=6904h

Top
186904 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
	AX = 6904h
	BX = voice number (00h-1Fh)
	CX = balance (0 = left, 7 = even, 15 = right)
Return: nothing
SeeAlso: AX=6902h,AX=6903h

Top
186905 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
	AX = 6905h
	BL = voice number
	BH = sample type (0 = 8-bit, 1 = 16-bit)
	CL = looping type (0 = none, 1 = forward, 2 = back and forth)
	CH:DI = 20-bit starting address for voice data
	DL:SI = 20-bit address for loop start
	DH:BP = 20-bit address for loop end
SeeAlso: AX=6903h,AX=6906h,AX=690Bh

Top
186906 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
	AX = 6906h
	BL = data format (1 = twos-complement, 0 = not)
	BH = sample type (0 = 8-bit, 1 = 16-bit)
	CX = number of bytes to send
	ES:SI -> buffer containing data
	DL:DI = 20-bit address of GUS DRAM at which to load sound data
SeeAlso: AX=6900h,AX=6905h,AX=690Ch

Top
186907 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
	AX = 6907h
	BX = voice number (00h-1Fh)
Return: nothing
SeeAlso: AX=6908h,AX=690Dh

Top
186908 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
	AX = 6908h
	BX = voice number (00h-1Fh)
	CL:DX = 20-bit ending address
Return: nothing
SeeAlso: AX=690Bh

Top
186909 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
	AX = 6909h
	BL = voice number (00h-1Fh)
	BH = looping type (0 = none, 1 = forward, 2 = back and forth)
	CX = starting volume
	DX = ending volume
	DI:SI = time
Return: nothing
SeeAlso: AX=6902h,AX=690Ah

Top
18690A - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
	AX = 690Ah
	BX = voice number (00h-1Fh)
Return: AX = current non-linear volume for voice
SeeAlso: AX=6902h,AX=6909h

Top
18690B - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
	AX = 690Bh
	BX = voice number
Return: BX:AX = 20-bit address at which voice is playing
SeeAlso: AX=6900h,AX=6905h,AX=6908h

Top
18690C - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
	AX = 690Ch
	BL = data format (1 = twos-complement, 0 = not)
	BH = sample type (0 = 8-bit, 1 = 16-bit)
	CX = number of bytes to get
	ES:SI -> buffer for retrieved data
	DL:DI = 20-bit address in GUS DRAM from which to read voice data
Return: nothing
SeeAlso: AX=6906h

Top
18690D - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
	AX = 690Dh
	BX = voice
	CX = sample type (0 = 8-bit, 1 = 16-bit)
	DX = looping type (0 = none, 1 = forward, 2 = back and forth)
Return: CX = balance value
SeeAlso: AX=6907h,AX=6908h

Top
188000 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
	AX = 8000h
Program: EURO_MOD is a .MOD file player for the Gravis Ultra Sound which hooks
	  INT 18h and then shells out to the program requiring its services
SeeAlso: AX=8001h,AX=8004h

Top
188001 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
	AX = 8001h
	BX:CX -> ASCIZ filename
SeeAlso: AX=8000h,AX=8002h

Top
188002 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
	AX = 8002h
SeeAlso: AX=8002h,AX=8003h

Top
188003 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
	AX = 8003h

Top
188004 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN
	AX = 8004h
SeeAlso: AX=8000h,AX=8003h

Top
19 - INT 19 - SYSTEM - BOOTSTRAP LOADER
INT 19 - SYSTEM - BOOTSTRAP LOADER
Desc:	This interrupt reboots the system without clearing memory or restoring
	  interrupt vectors.  Because interrupt vectors are preserved, this
	  interrupt usually causes a system hang if any TSRs have hooked
	  vectors from 00h through 1Ch, particularly INT 08.
Notes:	Usually, the BIOS will try to read sector 1, head 0, track 0 from drive
	  A: to 0000h:7C00h.  If this fails, and a hard disk is installed, the
	  BIOS will read sector 1, head 0, track 0 of the first hard disk.
	  This sector should contain a master bootstrap loader and a partition
	  table (see #00650).  After loading the master boot sector at
	  0000h:7C00h, the master bootstrap loader is given control
	  (see #00653).	It will scan the partition table for an active
	  partition, and will then load the operating system's bootstrap
	  loader (contained in the first sector of the active partition) and
	  give it control.
	true IBM PCs and most clones issue an INT 18 if neither floppy nor hard
	  disk have a valid boot sector
	to accomplish a warm boot equivalent to Ctrl-Alt-Del, store 1234h in
	  0040h:0072h and jump to FFFFh:0000h.	For a cold boot equivalent to
	  a reset, store 0000h at 0040h:0072h before jumping.
	VDISK.SYS hooks this interrupt to allow applications to find out how
	  much extended memory has been used by VDISKs (see #00649).  DOS 3.3+
	  PRINT hooks INT 19 but does not set up a correct VDISK header block
	  at the beginning of its INT 19 handler segment, thus causing some
	  programs to overwrite extended memory which is already in use.
	the default handler is at F000h:E6F2h for 100% compatible BIOSes
	MS-DOS 3.2+ hangs on booting (even from floppy) if the hard disk
	  contains extended partitions which point at each other in a loop,
	  since it will never find the end of the linked list of extended
	  partitions
	under Windows Real and Enhanced modes, calling INT 19 will hang the
	  system in the same was as under bare DOS; under Windows Standard
	  mode, INT 19 will successfully perform a cold reboot as it appears
	  to have been redirected to a MOV AL,0FEh/OUT 64h,AL sequence
BUG:	when loading the remainder of the DOS system files fails, various
	  versions of IBMBIO.COM/IO.SYS incorrectly restore INT 1E before
	  calling INT 19, assuming that the boot sector had stored the
	  contents of INT 1E at DS:SI instead of on the stack as it actually
	  does
SeeAlso: INT 14/AH=17h,INT 18"BOOT HOOK",INT 49"Tandy 2000",INT 5B"PC Cluster"
SeeAlso: MEM 0040h:0067h,MEM F000h:FFF0h,CMOS 0Fh

Format of VDISK header block (at beginning of INT 19 handler's segment):
Offset	Size	Description	(Table 00649)
 00h 18 BYTEs	n/a (for VDISK.SYS, the device driver header)
 12h 11 BYTEs	signature string "VDISK	 Vn.m" for VDISK.SYS version n.m
 1Dh 15 BYTEs	n/a
 2Ch  3 BYTEs	linear address of first byte of available extended memory

Format of hard disk master boot sector:
Offset	Size	Description	(Table 00650)
 00h 446 BYTEs	Master bootstrap loader code
1BEh 16 BYTEs	partition record for partition 1 (see #00651)
1CEh 16 BYTEs	partition record for partition 2
1DEh 16 BYTEs	partition record for partition 3
1EEh 16 BYTEs	partition record for partition 4
1FEh	WORD	signature, AA55h indicates valid boot block

Format of partition record:
Offset	Size	Description	(Table 00651)
 00h	BYTE	boot indicator (80h = active partition)
 01h	BYTE	partition start head
 02h	BYTE	partition start sector (bits 0-5)
 03h	BYTE	partition start track (bits 8,9 in bits 6,7 of sector)
 04h	BYTE	operating system indicator (see #00652)
 05h	BYTE	partition end head
 06h	BYTE	partition end sector (bits 0-5)
 07h	BYTE	partition end track (bits 8,9 in bits 6,7 of sector)
 08h	DWORD	sectors preceding partition
 0Ch	DWORD	length of partition in sectors
SeeAlso: #00650

(Table 00652)
Values for operating system indicator:
 00h	empty partition-table entry
 01h	DOS 12-bit FAT
 02h	XENIX root file system
 03h	XENIX /usr file system (obsolete)
 04h	DOS 16-bit FAT (up to 32M)
 05h	DOS 3.3+ extended partition
 06h	DOS 3.31+ Large File System (16-bit FAT, over 32M)
 07h	QNX
 07h	OS/2 HPFS
 07h	Windows NT NTFS
 07h	Advanced Unix
 07h	see partition boot record; could be any of the above or others
 08h	OS/2 (v1.0-1.3 only)
 08h	AIX bootable partition, SplitDrive
 08h	Commodore DOS
 08h	DELL partition spanning multiple drives
 09h	AIX data partition
 09h	Coherent filesystem
 0Ah	OS/2 Boot Manager
 0Ah	OPUS
 0Ah	Coherent swap partition
 0Bh	Windows95 with 32-bit FAT
 0Ch	Windows95 with 32-bit FAT (using LBA-mode INT 13 extensions)
 0Eh	logical-block-addressable VFAT (same as 06h but using LBA-mode INT 13)
 0Fh	logical-block-addressable VFAT (same as 05h but using LBA-mode INT 13)
 10h	OPUS
 11h	OS/2 Boot Manager hidden 12-bit FAT partition
 12h	Compaq Diagnostics partition
 14h	(resulted from using Novell DOS 7.0 FDISK to delete Linux Native part)
 14h	OS/2 Boot Manager hidden sub-32M 16-bit FAT partition
 16h	OS/2 Boot Manager hidden over-32M 16-bit FAT partition
 17h	OS/2 Boot Manager hidden HPFS partition
 17h	hidden NTFS partition
 18h	AST special Windows swap file ("Zero-Volt Suspend" partition)
 19h	Willowtech Photon coS
 1Bh	hidden Windows95 FAT32 partition
 1Ch	hidden Windows95 FAT32 partition (using LBA-mode INT 13 extensions)
 1Eh	hidden LBA VFAT partition
 20h	Willowsoft Overture File System (OFS1)
 21h	officially listed as reserved
 21h	FSo2
 23h	officially listed as reserved
 24h	NEC MS-DOS 3.x
 26h	officially listed as reserved
 31h	officially listed as reserved
 33h	officially listed as reserved
 34h	officially listed as reserved
 36h	officially listed as reserved
 38h	Theos
 3Ch	PowerQuest PartitionMagic recovery partition
 40h	VENIX 80286
 41h	Personal RISC Boot
 41h	PowerPC boot partition
 42h	SFS (Secure File System) by Peter Gutmann
 45h	EUMEL/Elan
 46h	EUMEL/Elan
 47h	EUMEL/Elan
 48h	EUMEL/Elan
 4Fh	Oberon boot/data partition
 50h	OnTrack Disk Manager, read-only partition
 51h	OnTrack Disk Manager, read/write partition
 51h	NOVELL
 52h	CP/M
 52h	Microport System V/386
 53h	OnTrack Disk Manager, write-only partition???
 54h	OnTrack Disk Manager (DDO)
 55h	EZ-Drive (see also INT 13/AH=FFh"EZ-Drive")
 56h	GoldenBow VFeature
 5Ch	Priam EDISK
 61h	SpeedStor
 63h	Unix SysV/386, 386/ix
 63h	Mach, MtXinu BSD 4.3 on Mach
 63h	GNU HURD
 64h	Novell NetWare 286
 64h	SpeedStore
 65h	Novell NetWare (3.11)
 67h	Novell
 68h	Novell
 69h	Novell
 70h	DiskSecure Multi-Boot
 71h	officially listed as reserved
 73h	officially listed as reserved
 74h	officially listed as reserved
 75h	PC/IX
 76h	officially listed as reserved
 7Eh	F.I.X.
 80h	Minix v1.1 - 1.4a
 81h	Minix v1.4b+
 81h	Linux
 81h	Mitac Advanced Disk Manager
 82h	Linux Swap partition
 82h	Prime
 82h	Solaris (Unix)
 83h	Linux native file system (ext2fs/xiafs)
 84h	OS/2-renumbered type 04h partition (related to hiding DOS C: drive)
 85h	Linux EXT
 86h	FAT16 volume/stripe set (Windows NT)
 87h	HPFS Fault-Tolerant mirrored partition
 87h	NTFS volume/stripe set
 93h	Amoeba file system
 94h	Amoeba bad block table
 98h	Datalight ROM-DOS SuperBoot
 99h	Mylex EISA SCSI
 A0h	Phoenix NoteBIOS Power Management "Save-to-Disk" partition
 A1h	officially listed as reserved
 A3h	officially listed as reserved
 A4h	officially listed as reserved
 A5h	FreeBSD, BSD/386
 A6h	OpenBSD
 A9h	NetBSD (http://www.netbsd.org/)
 B1h	officially listed as reserved
 B3h	officially listed as reserved
 B4h	officially listed as reserved
 B6h	officially listed as reserved
 B6h	Windows NT mirror set (master), FAT16 file system
 B7h	BSDI file system (secondarily swap)
 B7h	Windows NT mirror set (master), NTFS file system
 B8h	BSDI swap partition (secondarily file system)
 BEh	Solaris boot partition
 C0h	DR DOS/DR-DOS/Novell DOS secured partition
 C0h	CTOS
 C1h	DR DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition
 C4h	DR DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition
 C6h	DR DOS 6.0 LOGIN.EXE-secured Huge partition
 C6h	corrupted FAT16 volume/stripe set (Windows NT)
 C6h	Windows NT mirror set (slave), FAT16 file system
 C7h	Syrinx Boot
 C7h	corrupted NTFS volume/stripe set
 C7h	Windows NT mirror set (slave), NTFS file system
 CBh	Reserved for DR DOS/DR-DOS/OpenDOS secured FAT32
 CCh	Reserved for DR DOS/DR-DOS secured FAT32 (LBA)
 CEh	Reserved for DR DOS/DR-DOS secured FAT16 (LBA)
 D0h	Multiuser DOS secured FAT12
 D1h	Old Multiuser DOS secured FAT12
 D4h	Old Multiuser DOS secured FAT16 (<= 32M)
 D5h	Old Multiuser DOS secured extended partition
 D6h	Old Multiuser DOS secured FAT16 (> 32M)
 D8h	CP/M-86
 DBh	CP/M, Concurrent CP/M, Concurrent DOS
 DBh	CTOS (Convergent Technologies OS)
 E1h	SpeedStor 12-bit FAT extended partition
 E2h	DOS read-only (Florian Painke's XFDISK 1.0.4)
 E3h	DOS read-only
 E3h	Storage Dimensions
 E4h	SpeedStor 16-bit FAT extended partition
 E5h	officially listed as reserved
 E6h	officially listed as reserved
 EBh	BeOS BFS (BFS1)
 F1h	Storage Dimensions
 F2h	DOS 3.3+ secondary partition
 F3h	officially listed as reserved
 F4h	SpeedStor
 F4h	Storage Dimensions
 F5h	Prologue
 F6h	officially listed as reserved
 FEh	LANstep
 FEh	IBM PS/2 IML (Initial Microcode Load) partition
 FFh	Xenix bad block table
Note:	for partition type 07h, one should inspect the partition boot record
	  for the actual file system type
SeeAlso: #00651

(Table 00653)
Values Bootstrap loader is called with (IBM BIOS):
	CS:IP = 0000h:7C00h
	DH = access
	    bits 7-6,4-0: don't care
	    bit 5: =0 device supported by INT 13
	DL = boot drive
	    00h first floppy
	    80h first hard disk

Top
1A00 - INT 1A - TIME - GET SYSTEM TIME
INT 1A - TIME - GET SYSTEM TIME
	AH = 00h
Return: CX:DX = number of clock ticks since midnight
	AL = midnight flag, nonzero if midnight passed since time last read
Notes:	there are approximately 18.2 clock ticks per second, 1800B0h per 24 hrs
	  (except on Tandy 2000, where the clock runs at 20 ticks per second)
	IBM and many clone BIOSes set the flag for AL rather than incrementing
	  it, leading to loss of a day if two consecutive midnights pass
	  without a request for the time (e.g. if the system is on but idle)
	since the midnight flag is cleared, if an application calls this
	  function after midnight before DOS does, DOS will not receive the
	  midnight flag and will fail to advance the date
	Modern releases of MS-DOS/PC DOS (5.0+???) assume that AL is a day
	  rollover counter rather than a flag, as expected by older releases.
	  DOS 5 - 7.10 (Windows 98 SE) provide an undocumented CONFIG.SYS
	  SWITCHES=/T option to force the old behaviour of the day advancing
	  code, that is using a flag instead of a counter.
	DR DOS 3.31 - DR-DOS 7.03 handle AL as a flag.
SeeAlso: AH=01h,AH=02h,INT 21/AH=2Ch,INT 55"Tandy 2000",INT 4E/AH=02h"TI"
SeeAlso: INT 62/AX=0099h,MEM 0040h:006Ch,MEM 0040h:0070h

Top
1A01 - INT 1A - TIME - SET SYSTEM TIME
INT 1A - TIME - SET SYSTEM TIME
	AH = 01h
	CX:DX = number of clock ticks since midnight
Return: nothing
Notes:	there are approximately 18.2 clock ticks per second, 1800B0h per 24 hrs
	  (except on Tandy 2000, where the clock runs at 20 ticks per second)
	this call resets the midnight-passed flag
SeeAlso: AH=00h,AH=03h,INT 21/AH=2Dh

Top
1A02 - INT 1A - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
INT 1A - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
	AH = 02h
	CF clear to avoid bug (see below)
Return: CF clear if successful
	    CH = hour (BCD)
	    CL = minutes (BCD)
	    DH = seconds (BCD)
	    DL = daylight savings flag (00h standard time, 01h daylight time)
	CF set on error (i.e. clock not running or in middle of update)
Notes:	this function is also supported by the Sperry PC, which predates the
	  IBM AT; the data is returned in binary rather than BCD on the Sperry,
	  and DL is always 00h
	MS-DOS/PC DOS IO.SYS/IBMBIO.COM use this function to detect if a RTC
	  is preset by checking if the returned values are non-zero. If they
	  are, this function is called one more time, before it is assumed
	  that no RTC is present.
BUG:	some BIOSes leave CF unchanged if successful, so CF should be cleared
	  before calling this function
SeeAlso: AH=00h,AH=03h,AH=04h,INT 21/AH=2Ch

Top
1A02 - INT 1A - Tandy 2000 - TIME - GET DATE AND TIME
INT 1A - Tandy 2000 - TIME - GET DATE AND TIME
	AH = 02h
Return: BX = number of days since January 1, 1980
	CH = hours
	CL = minutes
	DH = seconds
	DL = hundredths
SeeAlso: AH=03h"Tandy 2000",INT 55"Tandy 2000"

Top
1A03 - INT 1A - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS)
INT 1A - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS)
	AH = 03h
	CH = hour (BCD)
	CL = minutes (BCD)
	DH = seconds (BCD)
	DL = daylight savings flag (00h standard time, 01h daylight time)
Return: nothing
Note:	this function is also supported by the Sperry PC, which predates the
	  IBM AT; the data is specified in binary rather than BCD on the
	  Sperry, and the value of DL is ignored
SeeAlso: AH=01h,AH=03h,AH=05h,INT 21/AH=2Dh,INT 4B/AH=01h

Top
1A03 - INT 1A - Tandy 2000 - TIME - SET DATE AND TIME
INT 1A - Tandy 2000 - TIME - SET DATE AND TIME
	AH = 03h
	BX = number of days since January 1, 1980
	CH = hours
	CL = minutes
	DH = seconds
	DL = hundredths
Return: nothing
SeeAlso: AH=02h"Tandy 2000",INT 55"Tandy 2000"

Top
1A04 - INT 1A - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
INT 1A - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
	AH = 04h
	CF clear to avoid bug (see below)
Return: CF clear if successful
	    CH = century (BCD)
	    CL = year (BCD)
	    DH = month (BCD)
	    DL = day (BCD)
	CF set on error
Notes:	DR-DOS 7.02 (after 1998-06-06) and 7.03 hook this function and correct
	  the century to 20xx if the reported year is 1900..1980 to auto-fix
	  ROM-BIOSes which are not Year 2000 compliant. On a running system,
	  it would also correct the rollover bug from 1999/12/31 to 2000/01/01.
	  The latter can be turned off using the new CONFIG.SYS YEAR2000=ON|OFF
	  command, as hooking INT 1Ah can sometimes cause compatibility
	  problems with 3rd party software, e.g. NCR/Symbios/LSI Logic-based
	  SDMS PCI SCSI drivers (including all OEM drivers like from Asus,
	  Noma, etc.), some Flash-BIOS software like Asus PFLASH, Quarterdeck's
	  QEMM Stealth and Quick-Boot features.
	Using EXCLUDESTEALTHINT=1A, though, will allow QEMM's Stealth features
	  to coexist with the DR-DOS Year 2000 rollover support.
	Actually, the Y2K-fix is provided since OpenDOS 7.02 BETA 2+
	  (1997-08-13), but although these older releases corrected the
	  ROM-BIOS, they didn't pass all Y2K-test suites and had some obscure
	  and inexplicable PCI problems due to the fact that the original
	  INT 1Ah was called via indirect means.  Newer releases, however, use
	  a dynamically fixed-up direct jump to avoid these problems.
	PC DOS 7 plus Y2K fixes and PC DOS 2000 provide similar, though not
	  identical means, which cannot be switched off.
	MS-DOS and older issues of PC DOS do not provide any such means, and
	  thus requires extra Y2K-TSRs to be loaded when run on buggy BIOSes.
BUG:	some BIOSes, such as the 1998/07/25 system ROM in the Compaq Deskpro
	  EP/SB, leave CF unchanged if successful, so CF should be cleared
	  before calling this function
SeeAlso: AH=02h,AH=04h"Sperry",AH=05h,INT 21/AH=2Ah,INT 4B/AH=02h"TI"

Top
1A04 - INT 1A - Sperry PC - GET REAL-TIME CLOCK DATE
INT 1A - Sperry PC - GET REAL-TIME CLOCK DATE
	AH = 04h
Return: CF clear if successful
	    CL = year-1980
	    DH = month (binary) (01h-0Ch)
	    DL = day (binary) (01h-1Fh)
	CF set on error
SeeAlso: AH=02h,AH=04h,AH=05h"Sperry",INT 21/AH=2Ah,INT 4B/AH=02h"TI"

Top
1A04--CX4555 - INT 1A - CheckIt Year 2000 Fix v2.06 - INSTALLATION CHECK
INT 1A - CheckIt Year 2000 Fix v2.06 - INSTALLATION CHECK
	AH = 04h
	CX = 4555h ('EU')
	DX = 524Fh ('RO')
	BX = 0000h
Return: BX <> 0000h if installed
	    BX = major/minor/sub version (2068h = version 2.06.8)
Program: CheckIt is a TSR by Eurosoft (UK) Ltd. which corrects some Y2K-related
	  RTC bugs

Top
1A05 - INT 1A - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS)
INT 1A - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS)
	AH = 05h
	CH = century (BCD)
	CL = year (BCD)
	DH = month (BCD)
	DL = day (BCD)
Return: nothing
SeeAlso: AH=04h,INT 21/AH=2Bh"DATE",INT 4B/AH=00h"TI"

Top
1A05 - INT 1A - Sperry PC - SET REAL-TIME CLOCK DATE
INT 1A - Sperry PC - SET REAL-TIME CLOCK DATE
	AH = 05h
	CL = year-1980
	CH = 00h (???)
	DH = month (binary) (01h-0Ch)
	DL = day (binary) (01h-1Fh)
Return: nothing
SeeAlso: AH=02h,AH=04h"Sperry",AH=05h,INT 21/AH=2Bh"DATE"

Top
1A06 - INT 1A - TIME - SET ALARM (AT,XT286,PS)
INT 1A - TIME - SET ALARM (AT,XT286,PS)
	AH = 06h
	CH = hour (BCD)
	CL = minutes (BCD)
	DH = seconds (BCD)
Return: CF set on error (alarm already set or clock stopped for update)
	CF clear if successful
Notes:	the alarm occurs every 24 hours until turned off, invoking INT 4A each
	  time
	the BIOS does not check for invalid values for the time, so the CMOS
	  clock chip's "don't care" setting (any values between C0h and FFh)
	  may be used for any or all three parts.  For example, to create an
	  alarm once a minute, every minute, call with CH=FFh, CL=FFh, and
	  DH=00h.
SeeAlso: AH=07h,AH=0Ch,INT 4A"SYSTEM"

Top
1A07 - INT 1A - TIME - CANCEL ALARM (AT,XT286,PS)
INT 1A - TIME - CANCEL ALARM (AT,XT286,PS)
	AH = 07h
Return: alarm disabled
Note:	does not disable the real-time clock's IRQ
SeeAlso: AH=06h,AH=0Dh,INT 70

Top
1A08 - INT 1A - TIME - SET RTC ACTIVATED POWER ON MODE (CONVERTIBLE)
INT 1A - TIME - SET RTC ACTIVATED POWER ON MODE (CONVERTIBLE)
	AH = 08h
	CH = hours in BCD
	CL = minutes in BCD
	DH = seconds in BCD
SeeAlso: AH=09h

Top
1A09 - INT 1A - TIME - READ RTC ALARM TIME AND STATUS (CONV,PS30)
INT 1A - TIME - READ RTC ALARM TIME AND STATUS (CONV,PS30)
	AH = 09h
Return: CH = hours in BCD
	CL = minutes in BCD
	DH = seconds in BCD
	DL = alarm status
	    00h alarm not enabled
	    01h alarm enabled but will not power up system
	    02h alarm will power up system
SeeAlso: AH=08h

Top
1A0A - INT 1A - TIME - READ SYSTEM-TIMER DAY COUNTER (XT2,PS)
INT 1A - TIME - READ SYSTEM-TIMER DAY COUNTER (XT2,PS)
	AH = 0Ah
Return: CF set on error
	CF clear if successful
	    CX = count of days since Jan 1,1980
SeeAlso: AH=04h,AH=0Bh

Top
1A0B - INT 1A - TIME - SET SYSTEM-TIMER DAY COUNTER (XT2,PS)
INT 1A - TIME - SET SYSTEM-TIMER DAY COUNTER (XT2,PS)
	AH = 0Bh
	CX = count of days since Jan 1,1980
Return: CF set on error
	CF clear if successful
SeeAlso: AH=05h,AH=0Ah

Top
1A0C - INT 1A - TIME - SET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
INT 1A - TIME - SET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
	AH = 0Ch
	CH = hours (BCD)
	CL = minutes (BCD)
	DH = seconds (BCD)
	DL = day of month (BCD)
Return: CF clear if successful
	CF set on error (alarm already set or clock nonfunctional)
Desc:	set an automatic power-on for a given time in the future
Note:	IBM classifies this function as optional
SeeAlso: AH=06h,AH=0Dh,AH=0Eh,INT 4A

Top
1A0D - INT 1A - TIME - RESET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
INT 1A - TIME - RESET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
	AH = 0Dh
Return: CF clear if successful
	CF set on error
Desc:	cancel a previously-set power-on alarm
Note:	IBM classifies this function as optional
SeeAlso: AH=07h,AH=0Ch,AH=0Eh

Top
1A0E - INT 1A - TIME - GET RTC DATE/TIME ALARM AND STATUS (IBM)
INT 1A - TIME - GET RTC DATE/TIME ALARM AND STATUS (IBM)
	AH = 0Eh
Return: CF clear if successful
	    BH = alarm status
		00h disabled
		01h enabled but will not power-up system
		02h enabled, system will power-up on activation
	    CH = alarm time, hours (BCD)
	    CL = alarm time, minutes (BCD)
	    DH = seconds (BCD)
	    DL = day of month (BCD)
	CF set on error
SeeAlso: AH=0Ch,AH=0Dh,AH=0Fh

Top
1A0F - INT 1A - TIME - INITIALIZE REAL-TIME CLOCK
INT 1A - TIME - INITIALIZE REAL-TIME CLOCK
	AH = 0Fh
	AL = reserved (0)
Return: CF clear if successful
	CF set on error
SeeAlso: AH=0Ch,AH=0Dh,AH=0Eh

Top
1A10 - INT 1A - NEC PC-9800 series - PRINTER - INITIALIZE
INT 1A - NEC PC-9800 series - PRINTER - INITIALIZE
	AH = 10h
	???
Return: ???
SeeAlso: AH=11h,AH=12h,INT 17/AH=01h

Top
1A1000 - INT 1A - NEC PC-9800 series - INSTALLATION CHECK
INT 1A - NEC PC-9800 series - INSTALLATION CHECK
	AX = 1000h
Return: AX <> 1000h if NEC

Top
1A11 - INT 1A - NEC PC-9800 series - PRINTER - OUTPUT CHARACTER
INT 1A - NEC PC-9800 series - PRINTER - OUTPUT CHARACTER
	AH = 11h
	???
Return: ???
SeeAlso: AH=10h,AH=12h,INT 17/AH=00h

Top
1A12 - INT 1A - NEC PC-9800 series - PRINTER - SENSE STATUS
INT 1A - NEC PC-9800 series - PRINTER - SENSE STATUS
	AH = 12h
	???
Return: ???
SeeAlso: AH=10h,AH=11h,INT 17/AH=02h

Top
1A3601 - INT 1A - WORD PERFECT v5.0 Third Party Interface - INSTALLATION CHECK
INT 1A - WORD PERFECT v5.0 Third Party Interface - INSTALLATION CHECK
	AX = 3601h
Return: DS:SI = routine to monitor keyboard input, immediately preceded by the
		ASCIZ string "WPCORP\0"
Notes:	WordPerfect 5.0 will call this interrupt at start up to determine if a
	  third party product wants to interface with it.  The third party
	  product must intercept this interrupt and return the address of a
	  keyboard monitor routine.
	Before checking for keyboard input, and after every key entered by the
	  user, Word Perfect will call the routine whose address was provided
	  in DS:SI with the following parameters:
		Entry:	AX = key code or 0
			BX = WordPerfect state flag
		Exit:	AX = 0 or key code
			BX = 0 or segment address of buffer with key codes
	See the "WordPerfect 5.0 Developer's Toolkit" for further information.
SeeAlso: INT 16/AX=5500h

Top
1A6108 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDWITHREPLY" - SEND MSG AND GET REPLY
INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDWITHREPLY" - SEND MSG AND GET REPLY
	AX = 6108h
	STACK:	WORD	conversation ID (0000h-0009h)
		DWORD	pointer to message buffer
		WORD	length of message
		DWORD	pointer to reply buffer
		WORD	length of reply buffer
		WORD	0000h (use default "Cparams" structure)
Return: AX = status (see #00654)
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol
SeeAlso: AX=6205h

(Table 00654)
Values for SNAP.EXE status:
 0000h	successful
 F830h	"SNAP_ABORTED"
 FC04h	"SNAP_SERVERDIED"
 FC05h	"SNAP_RESEND"
 FC06h	"SNAP_SELECTFAILED"
 FC07h	"SNAP_WRONGVERSION"
 FC08h	"SNAP_INVALIDACK"
 FC09h	"SNAP_TIMEOUT"
 FC0Ah	"SNAP_SERVERREJECT"
 FC0Bh	"SNAP_NOREPLYDUE"
 FC0Ch	"SNAP_NOAUTHENTICATE"/"SNAP_GUARDIAN_ERROR"
 FC0Dh	"SNAP_NOINIT"
 FC0Eh	"SNAP_SOCKETERROR"
 FC0Fh	"SNAP_BUFFERLIMIT"
 FC10h	"SNAP_INVALIDCID"
 FC11h	"SNAP_INVALIDOP"
 FC12h	"SNAP_XMITFAIL"
 FC13h	"SNAP_NOMORERETRIES"
 FC14h	"SNAP_BADPARMS"
 FC15h	"SNAP_NOMEMORY"
 FC16h	"SNAP_NOMORECONVS"
 FFFFh	failed (invalid function/parameter)

Top
1A6205 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDNOREPLY" - SEND MSG, DON'T AWAIT REPLY
INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDNOREPLY" - SEND MSG, DON'T AWAIT REPLY
	AX = 6205h
	STACK:	WORD	conversation ID (0000h-0009h)
		DWORD	pointer to message
		WORD	length of message
		WORD	0000h (use default "Cparms" structure)
Return: AX = status (see #00654)
	STACK unchanged
SeeAlso: AX=6108h

Top
1A6308 - INT 1A - SNAP.EXE 3.2+ - "SNAP_BEGINCONV" - BEGIN CONVERSATION
INT 1A - SNAP.EXE 3.2+ - "SNAP_BEGINCONV" - BEGIN CONVERSATION
	AX = 6308h
	STACK:	WORD	offset of ASCIZ "guardian"
		WORD	offset of ASCIZ hostname
		WORD	offset of ASCIZ server name
		WORD	offset of ASCIZ userid
		WORD	offset of ASCIZ password
		WORD	offset of password length
		WORD	offset of password type
		WORD	offset of "Cparms" structure (see #00655)
Return: ???
	STACK unchanged
Note:	all stacked offsets are within the SNAP data segment (use AX=6A01h
	  to allocate a buffer)
SeeAlso: AX=6405h,AX=7202h

Format of SNAP.EXE Cparms structure:
Offset	Size	Description	(Table 00655)
 00h	WORD	retry delay in seconds
 02h	WORD	timeout delay in seconds
 04h	WORD	maximum buffer size
 06h	WORD	encryption level

Top
1A6405 - INT 1A - SNAP.EXE 3.2+ - "SNAP_ENDCONV" - END CONVERSATION
INT 1A - SNAP.EXE 3.2+ - "SNAP_ENDCONV" - END CONVERSATION
	AX = 6405h
	STACK:	WORD	conversation ID (0000h-0009h)
		DWORD	pointer to message buffer
		WORD	length of message
		WORD	0000h (use default "Cparms" structure)
Return: AX = status (see #00654)
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol
SeeAlso: AX=6308h

Top
1A6900 - INT 1A - SNAP.EXE 3.2+ - "SNAP_DATASEG" - GET RESIDENT DATA SEGMENT
INT 1A - SNAP.EXE 3.2+ - "SNAP_DATASEG" - GET RESIDENT DATA SEGMENT
	AX = 6900h
Return: AX = value used for DS by resident code
SeeAlso: AX=6A01h,AX=6F01h

Top
1A6A01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_ALLOC" - ALLOCATE BUFFER IN SNAP DATA SEGMENT
INT 1A - SNAP.EXE 3.2+ - "SNAP_ALLOC" - ALLOCATE BUFFER IN SNAP DATA SEGMENT
	AX = 6A01h
	STACK:	WORD	number of bytes to allocate
Return: AX = offset of allocated buffer or 0000h if out of memory
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol
SeeAlso: AX=6B01h

Top
1A6B01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_FREE" - DEALLOCATE BUFFER IN SNAP DATA SEGMENT
INT 1A - SNAP.EXE 3.2+ - "SNAP_FREE" - DEALLOCATE BUFFER IN SNAP DATA SEGMENT
	AX = 6B01h
	STACK:	WORD	offset within SNAP data segment of previously allocated
			buffer
Return: STACK unchanged
Note:	this call is a NOP if the specified offset is 0000h
SeeAlso: AX=6A01h

Top
1A6C04 - INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYTO" - COPY DATA TO RESIDENT SNAP PACKAGE
INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYTO" - COPY DATA TO RESIDENT SNAP PACKAGE
	AX = 6C04h
	STACK:	WORD	offset within SNAP data segment of dest (nonzero)
		WORD	segment of source buffer
		WORD	offset of source buffer
		WORD	number of bytes to copy
Return: AX = offset of byte after last one copied to destination
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol
SeeAlso: AX=6D04h

Top
1A6D04 - INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYFROM" - COPY DATA FROM RESIDENT SNAP PACKAGE
INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYFROM" - COPY DATA FROM RESIDENT SNAP PACKAGE
	AX = 6D04h
	STACK:	WORD	offset within SNAP data segment of source buffer
		WORD	segment of destination buffer
		WORD	offset of destination buffer
		WORD	number of bytes to copy
Return: AX = offset of byte after last one copied from source
	buffer filled
	STACK unchanged
SeeAlso: AX=6C04h

Top
1A6E01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETDEBUG" - SET ???
INT 1A - SNAP.EXE 3.2+ - "SNAP_SETDEBUG" - SET ???
	AX = 6E01h
	STACK:	WORD	new value for ???
Return: AX = old value of ???
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol

Top
1A6F01 - INT 1A - SNAP.EXE 3.2+ - "SNAP_CHKINSTALL" - INSTALLATION CHECK
INT 1A - SNAP.EXE 3.2+ - "SNAP_CHKINSTALL" - INSTALLATION CHECK
	AX = 6F01h
	STACK: WORD 0000h
Return: AX = status
	    0000h SNAP is resident
	    other SNAP not present
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol, and is
	  required by PCVENUS (a network shell).  The combination of SNAP and
	  PCVENUS allows the use of the Andrew File System as one or more
	  networked drives.
SeeAlso: AX=6900h,AX=7400h

Top
1A7002 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETANCHOR"
INT 1A - SNAP.EXE 3.2+ - "SNAP_SETANCHOR"
	AX = 7002h
	STACK:	WORD	anchor number (0000h-0009h)
		WORD	new value for the anchor
Return: AX = status
	    0000h successful
	    FFFFh failed (top word on stack not in range 00h-09h)
	STACK unchanged
SeeAlso: AX=7101h

Top
1A7101 - INT 1A - SNAP.EXE 3.2+ - "SNAP_GETANCHOR"
INT 1A - SNAP.EXE 3.2+ - "SNAP_GETANCHOR"
	AX = 7101h
	STACK:	WORD	anchor number (0000h-0009h)
Return: AX = anchor's value
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol
SeeAlso: AX=7002h

Top
1A7202 - INT 1A - SNAP.EXE 3.2+ - "SNAP_SETCONVPARMS" - SET CONVERSATION PARAMETERS
INT 1A - SNAP.EXE 3.2+ - "SNAP_SETCONVPARMS" - SET CONVERSATION PARAMETERS
	AX = 7202h
	STACK:	WORD	conversation ID (0000h-0009h)
		WORD	offset within resident data segment of "Cparms"
			  structure (see #00655)
Return: AX = status???
	STACK unchanged
SeeAlso: AX=6308h

Top
1A7302 - INT 1A - SNAP.EXE 3.2+ - "SNAP_CLIENTVERSION" - ???
INT 1A - SNAP.EXE 3.2+ - "SNAP_CLIENTVERSION" - ???
	AX = 7302h
	STACK:	WORD	conversation ID (0000h-0009h)
		WORD	offset within resident data segment of ???
Return: AX = ???
	???
	STACK unchanged
SeeAlso: AX=7400h

Top
1A7400 - INT 1A - SNAP.EXE 3.2+ - "SNAP_VERSION" - GET VERSION
INT 1A - SNAP.EXE 3.2+ - "SNAP_VERSION" - GET VERSION
	AX = 7400h
Return: AX = version (AH=major, AL=minor)
Note:	this call is only valid if SNAP is installed
SeeAlso: AX=7302h,INT 1A/AX=6F01h

Top
1A75 - INT 1A - SNAP.EXE 3.2+ - "SNAP_NOP" - ???
INT 1A - SNAP.EXE 3.2+ - "SNAP_NOP" - ???
	AH = 75h
	AL = ???
Return: AX = ??? (0000h)
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol

Top
1A76 - INT 1A - SNAP.EXE 3.2+ - "SNAP_802_5" - ???
INT 1A - SNAP.EXE 3.2+ - "SNAP_802_5" - ???
	AH = 76h
	AL = ???
Return: AX = ???

Top
1A77 - INT 1A - SNAP.EXE 3.4 - ???
INT 1A - SNAP.EXE 3.4 - ???
	AH = 77h
	AL = ??? (at least 01h)
	STACK:	WORD	???
		???
Return: ???
	STACK unchanged

Top
1A7802 - INT 1A - SNAP.EXE 3.4 - ???
INT 1A - SNAP.EXE 3.4 - ???
	AX = 7802h
	STACK:	WORD	???
		WORD	???
Return: ???
	STACK unchanged
Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
	  which implements the Simple Network Application Protocol

Top
1A7F - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
	AH = 7Fh
	???
Return: ???
Note:	this function is not supported by the Tandy 1000SL/TL BIOS
SeeAlso: AH=80h,AH=83h,AH=85h

Top
1A80 - INT 1A - PCjr, Tandy 2500???, Tandy 1000SL/TL - SET UP SOUND MULTIPLEXOR
INT 1A - PCjr, Tandy 2500???, Tandy 1000SL/TL - SET UP SOUND MULTIPLEXOR
	AH = 80h
	AL = 00h source is 8253 channel 2
	     01h source is cassette input
	     02h source is I/O channel "Audio IN"
	     03h source is sound generator chip
Note:	although documented in the 1000TL Technical Reference, the 1000TL
	  BIOS has just an IRET for this call
SeeAlso: AH=7Fh,AH=83h

Top
1A80 - INT 1A - PCMCIA Socket Services v1.00 - GET NUMBER OF ADAPTERS
INT 1A - PCMCIA Socket Services v1.00 - GET NUMBER OF ADAPTERS
	AH = 80h
Return: CF clear if successful
	    CX = 5353h ('SS') if Socket Services installed
		AL = number of adapters present (0-16)
	    AH destroyed
	CF set on error
	    AH = error code (see #00656)
SeeAlso: AH=83h"PCMCIA"

(Table 00656)
Values for PCMCIA error codes:
 01h	"BAD_ADAPTER" nonexistent adapter
 02h	"BAD_ATTRIBUTE" invalid attribute specified
 03h	"BAD_BASE" invalid system memory base address
 04h	"BAD_EDC" invalid EDC generator specified
 05h	"BAD_INDICATOR" invalid indicator specified
 06h	"BAD_IRQ" invalid IRQ channel specified
 07h	"BAD_OFFSET" invalid PCMCIA card offset specified
 08h	"BAD_PAGE" invalid page specified
 09h	"BAD_READ" unable to complete request
 0Ah	"BAD_SIZE" invalid window size specified
 0Bh	"BAD_SOCKET" nonexistent socket specified
 0Ch	"BAD_TECHNOLOGY" unsupported Card Technology for writes
 0Dh	"BAD_TYPE" unavailable window type specified
 0Eh	"BAD_VCC" invalid Vcc power level index specified
 0Fh	"BAD_VPP" invalid Vpp1 or Vpp2 power level index specified
 10h	"BAD_WAIT" invalid number of wait states specified
 11h	"BAD_WINDOW" nonexistent window specified
 12h	"BAD_WRITE" unable to complete request
 13h	"NO_ADAPTERS" no adapters installed, but Socket Services is present
 14h	"NO_CARD" no card in socket
 15h	function not supported
 16h	invalid mode
 17h	invalid speed
 18h	busy

Top
1A81 - INT 1A - PCMCIA Socket Services v1.00 - REGISTER STATUS CHANGE CALLBACK
INT 1A - PCMCIA Socket Services v1.00 - REGISTER STATUS CHANGE CALLBACK
	AH = 81h
	DS:DX -> callback routine (see #00657) or 0000h:0000h to disable
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (see #00656)
Note:	the callback will be invoked on any socket changes whose notification
	  has not been disabled with the status change enable mask; it may be
	  invoked either while processing a hardware interrupt from the adapter
	  or while processing the following Socket Services request
SeeAlso: AH=80h"PCMCIA",AH=82h"PCMCIA"

(Table 00657)
Values PCMCIA callback routine is invoked with:
	AL = adapter number
	BH = status change interrupt enable mask (see #00658)
	BL = socket number
	DH = current socket status (see #00659)
	DL = current card status (see #00660)
Return: all registers preserved
Notes:	the callback may be invoked during a hardware interrupt, and may not
	  call on Socket Services
	the callback will be invoked once for each socket with a status change

Bitfields for PCMCIA status change interrupt enable mask:
Bit(s)	Description	(Table 00658)
 7	card detect change
 6	ready change
 5	battery warning change
 4	battery dead change
 3	insertion request
 2	ejection request
 1-0	reserved (0)

Bitfields for PCMCIA current socket status:
Bit(s)	Description	(Table 00659)
 7	card changed
 6	reserved (0)
 5	card insertion complete
 4	card ejection complete
 3	card insertion request pending
 2	card ejection request pending
 1	card locked
 0	reserved (0)

Bitfields for PCMCIA current card status:
Bit(s)	Description	(Table 00660)
 7	card detect
 6	ready
 5	battery voltage detect 2 (battery warning)
 4	battery voltage detect 1 (battery dead)
 3-1	reserved (0)
 0	write protected

Top
1A8100 - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND - INSTALLATION CHECK
INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND - INSTALLATION CHECK
	AX = 8100h
Return: AL > 80h if supported
	AX = 00C4h if supported (1000SL/TL)
	    CF set if sound chip is busy
	    CF clear  if sound chip is free
Note:	the value of CF is not definitive; call this function until CF is
	  clear on return, then call AH=84h"Tandy"

Top
1A82 - INT 1A - Tandy 2500???, Tandy 1000SL/TL - DIGITAL SOUND - RECORD SOUND
INT 1A - Tandy 2500???, Tandy 1000SL/TL - DIGITAL SOUND - RECORD SOUND
	AH = 82h
	ES:BX -> buffer for sound samples
	CX = length of buffer
	DX = transfer rate (1-4095, 1 is fastest)
Return: AH = 00h
	CF set if sound busy
	CF clear if sound chip free
Note:	the value in DX should be 1/10 the corresponding value for
	  INT 1A/AH=83h on the 1000TL, 1/11.5 on the 1000SL.  Call
	  INT 1A/AX=8100h and INT 1A/AH=84h before invoking this function.
	The BIOS issues an INT 15/AX=91FBh when the input is complete
	DMA across a 64K boundary is masked by the BIOS

Top
1A82 - INT 1A - PCMCIA Socket Services v1.00 - REGISTER CARD TECHNOLOGY CALLBACK
INT 1A - PCMCIA Socket Services v1.00 - REGISTER CARD TECHNOLOGY CALLBACK
	AH = 82h
	DS:DX -> callback routine (see #00661) or 0000h:0000h
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (see #00656)
Note:	the callback is invoked on a Write Multiple request with an unsupported
	  card technology type
SeeAlso: AH=81h"PCMCIA",AH=94h

(Table 00661)
Values PCMCIA callback routine is invoked with:
	ES:AX -> Low-Level Socket Services Routines (see #00663)
	BH = socket attributes (see #00662)
	CX = number of bytes or words to write
	DS:SI -> data buffer to be written
	DX:DI -> 26-bit linear card address
	BP = card technology type
Return: CF clear if successful
	CF set on error
	    AH = error code (07h,0Ch,12h,14h) (see #00656)

Bitfields for PCMCIA socket attributes:
Bit(s)	Description	(Table 00662)
 7-4	reserved (0)
 3	packed buffer
 2	even bytes only (only valid if 1 set)
 1	data width (clear = byte, set = word)
 0	memory type (clear = common, set = attribute)

Format of PCMCIA Low-Level Socket Services Routines:
Offset	Size	Description	(Table 00663)
 00h	WORD	offset of Write Many routine (see #00664)
 02h	WORD	offset of Write One routine (see #00665)
 04h	WORD	offset of Read One routine (see #00666)
 06h	WORD	offset of Increment Offset routine (see #00667)
 08h	WORD	offset of Set Offset routine (see #00668)
 0Ah	WORD	offset of Get Status routine (see #00669)

(Table 00664)
Call Write Many routine with:
	BH = socket attributes (see #00662)
	CX = number of bytes or words to write
	DS:SI -> data to be written
Return: CF clear if successful
	CF set on error

(Table 00665)
Call Write One routine with:
	AL/AX = data to be written
	BH = socket attributes (see #00662)
Return: CF clear if successful
	CF set on error

(Table 00666)
Call Read One routine with:
	BH = socket attributes (see #00662)
Return: CF clear if successful
	    AL/AX = data read
	CF set on error

(Table 00667)
Call Increment Offset routine with:
	BH = socket attributes (see #00662)
Return: CF clear if successful
	CF set on error

(Table 00668)
Call Set Offset routine with:
	DX:DI = new offset address
Return: CF clear if successful
	CF set on error

(Table 00669)
Call Get Status routine with:
	nothing
Return: AL = current card status (see #00660)

Top
1A83 - INT 1A - Tandy 2500, Tandy 1000L series - START PLAYING DIGITAL SOUND
INT 1A - Tandy 2500, Tandy 1000L series - START PLAYING DIGITAL SOUND
	AH = 83h
	AL = volume (0=silence, 7=highest)
	CX = number of bytes to play
	DX = time between sound samples (multiples of 273 nanoseconds)
	    only bits 11-0 used
	ES:BX -> sound data (array of 8-bit unsigned PCM samples)
Return: AH = 00h
	CF set if sound is busy
	CF clear if sound chip is free
Notes:	this call returns immediately while the sound plays in the
	  background; the sound chip is clocked at 3.57 MHz, with the low 12
	  bits of DX specifying the clock divisor
	The BIOS appears to call INT 15/AX=91FBh when the sound device
	  underflows to allow another INT 1A/AH=83h for seamless playing of
	  long sounds.
SeeAlso: AH=84h"Tandy",INT 15/AH=91h

Top
1A83 - INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET SERVICES VERSION NUMBER
INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET SERVICES VERSION NUMBER
	AH = 83h
	AL = adapter number
Return: CF clear if successful
	    AX = Socket Services version (BCD)
	    BX = implementation version (BCD)
	    CX = 5353h ("SS")
	    DS:SI -> ASCIZ implementor description
	CF set on error
	    AH = error code (01h) (see #00656)
Note:	the current version (from the Revision A.00 documentation) of Socket
	  Services is 1.00 (AX=0100h)
SeeAlso: AH=80h"PCMCIA"

Top
1A84 - INT 1A - Tandy 2500, Tandy 1000L series - STOP PLAYING DIGITAL SOUND
INT 1A - Tandy 2500, Tandy 1000L series - STOP PLAYING DIGITAL SOUND
	AH = 84h
Return: ???
Note:	the BIOS will call INT 15/AX=91FBh when the sound has stopped playing
SeeAlso: AH=83h"Tandy",AH=85h"Tandy"

Top
1A84 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ADAPTER
INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ADAPTER
	AH = 84h
	AL = adapter number
Return: CF clear if successful
	    AH destroyed
	    BH = number of windows
	    BL = number of sockets (1-16)
	    CX = number of EDCs
	    DH = capabilities (see #00670)
	    DL = status change interrupt used (only if DH bit 3 set)(see #00671)
	CF set on error
	    AH = error code (01h) (see #00656)
SeeAlso: AH=80h"PCMCIA",AH=85h"PCMCIA",AH=87h

Bitfields for PCMCIA capabilities:
Bit(s)	Description	(Table 00670)
 7-6	reserved (0)
 5	status change interrupt is hardware shareable
 4	status change interrupt is software shareable
 3	status change interrupt
 2	data bus width is per-socket rather than per-window
 1	power management is per-adapter rather than per-socket
 0	indicators are per-adapter rather than per-socket

(Table 00671)
Values for PCMCIA status change interrupt usage:
 00h-0Fh IRQ level
 10h	NMI
 11h	I/O check
 12h	bus error
 13h	vendor specific
 14h-FFh reserved

Top
1A85 - INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
	AH = 85h
	???
Return: ???
Note:	this function is not supported by the Tandy 1000SL/TL BIOS
SeeAlso: AH=7Fh,AH=83h"Tandy"

Top
1A85 - INT 1A - PCMCIA Socket Services v1.00 - GET ADAPTER
INT 1A - PCMCIA Socket Services v1.00 - GET ADAPTER
	AH = 85h
	AL = adapter number
Return: CF clear if successful
	    AH destroyed
	    DH = adapter attributes (see #00672)
	CF set on error
	    AH = error code (01h) (see #00656)
SeeAlso: AH=84h"PCMCIA",AH=86h

Bitfields for PCMCIA adapter attributes:
Bit(s)	Description	(Table 00672)
 7-5	reserved (0)
 4	hardware share status change
 3	software share status change
 2	enable status change interrupts
 1	adapter preserves state information during reduced power consumption
 0	attempting to reduce power consumption

Top
1A86 - INT 1A - PCMCIA Socket Services v1.00 - SET ADAPTER
INT 1A - PCMCIA Socket Services v1.00 - SET ADAPTER
	AH = 86h
	AL = adapter number
	DH = new adapter attributes (see #00672)
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h) (see #00656)
SeeAlso: AH=84h"PCMCIA",AH=85h"PCMCIA"

Top
1A87 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE WINDOW
INT 1A - PCMCIA Socket Services v1.00 - INQUIRE WINDOW
	AH = 87h
	AL = adapter number
	BH = window number
Return: CF clear if successful
	    AH destroyed
	    BL = capabilities (see #00673)
	    CX = bitmap of assignable sockets
	    DH = EISA A15-A12 address lines (in bits 7-4, bits 3-0 = 0)
	    DL = supported access speeds (see #00674)
	    DS:SI -> Memory Window Characteristics table (see #00675)
	    DS:DI -> I/O Window Characteristics table (see #00676)
	CF set on error
	    AH = error code (01h,11h) (see #00656)
SeeAlso: AH=84h"PCMCIA",AH=88h,AH=89h,AH=8Ch

Bitfields for PCMCIA window capabilities:
Bit(s)	Description	(Table 00673)
 7-5	reserved (0)
 4	separate enable for EISA comon space
 3	EISA I/O mappable
 2	I/O space
 1	attribute memory
 0	common memory

Bitfields for PCMCIA supported access speeds:
Bit(s)	Description	(Table 00674)
 7	reserved (0)
 6	600 ns
 5	300 ns
 4	250 ns
 3	200 ns
 2	150 ns
 1	100 ns
 0	WAIT line monitoring

Format of PCMCIA Memory Window Characteristics table:
Offset	Size	Description	(Table 00675)
 00h	WORD	window capabilities (see #00677)
 02h	WORD	minimum base address in 4K pages
 04h	WORD	maximum base address in 4K pages
 06h	WORD	minimum window size in 4K pages
 08h	WORD	maximum window size in 4K pages
 0Ah	WORD	window size granularity (4K units)
 0Ch	WORD	required base address alignment (4K units)
 0Eh	WORD	required card offset alignment (4K units)

Format of PCMCIA I/O Window Characteristics table:
Offset	Size	Description	(Table 00676)
 00h	WORD	window capabilities (see #00677)
 02h	WORD	minimum base address in bytes
 04h	WORD	maximum base address in bytes
 06h	WORD	minimum window size in bytes
 08h	WORD	maximum window size in bytes
 0Ah	WORD	window size granularity (bytes)

Bitfields for PCMCIA window capabilities:
Bit(s)	Description	(Table 00677)
 0	programmable base address
 1	programmable window size
 2	window disable/enable supported
 3	8-data bus
 4	16-data bus
 5	base address alignment on size boundary required
 6	power-of-two size granularity
---memory windows---
 7	card offset must be aligned on size boundary
 8	paging hardware available
 9	paging hardware shared
 10	page disable/enable supported
 11-15	reserved (0)
---I/O windows---
 7-15	reserved (0)

Top
1A88 - INT 1A - PCMCIA Socket Services v1.00 - GET WINDOW
INT 1A - PCMCIA Socket Services v1.00 - GET WINDOW
	AH = 88h
	AL = adapter number
	BH = window number
Return: CF clear if successful
	    AH destroyed
	    BL = socket number (0-16) (0 = not assigned)
	    CX = window size (bytes for I/O window, 4K units for memory window)
	    DH = window attributes (see #00678)
	    DL = access speed (only one bit set) (see #00674)
	    SI = window base address (bytes if I/O, 4K units if memory)
	    DI = card offset address (memory only, 4K units)
	CF set on error
	    AH = error code (01h,11h) (see #00656)
SeeAlso: AH=87h,AH=89h,AH=8Ah

Bitfields for PCMCIA window attributes:
Bit(s)	Description	(Table 00678)
 0	memory-mapped rather than I/O-mapped
 1	attribute memory rather than common (memory-mapped)
	EISA mapped (I/O)
 2	enabled
 3	16-data path
 4	subdivided into pages (memory-mapped only)
 5	non-specific access slot enable (EISA-mapped only)
 6-7	reserved (0)

Top
1A89 - INT 1A - PCMCIA Socket Services v1.00 - SET WINDOW
INT 1A - PCMCIA Socket Services v1.00 - SET WINDOW
	AH = 89h
	AL = adapter number
	BH = window number
	BL = socket number
	CX = window size (bytes if I/O window, 4K units if memory window)
	DH = window attributes (see #00678)
	DL = access speed (only one bit set) (see #00674)
	SI = window base address (bytes if I/O, 4K units if memory window)
	DI = card offset addrress (memory only, 4K units)
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,03h,07h,08h,0Ah,0Bh,0Dh,10h,11h) (see #00656)
SeeAlso: AH=87h,AH=88h,AH=8Bh

Top
1A8A - INT 1A - PCMCIA Socket Services v1.00 - GET PAGE
INT 1A - PCMCIA Socket Services v1.00 - GET PAGE
	AH = 8Ah
	AL = adapter number
	BH = window number
	BL = page number
Return: CF clear if successful
	    AH destroyed
	    DX = page attributes (see #00679)
	    DI = memory card offset (4K units)
	CF set on error
	    AH = error code (01h,08h,11h) (see #00656)
Notes:	this function is only valid for memory-mapped windows
	the socket being operated on is implied by the previous AH=89h call
SeeAlso: AH=88h,AH=8Bh

Bitfields for PCMCIA page attributes:
Bit(s)	Description	(Table 00679)
 0	page enabled
 15-1	reserved (0)

Top
1A8B - INT 1A - PCMCIA Socket Services v1.00 - SET PAGE
INT 1A - PCMCIA Socket Services v1.00 - SET PAGE
	AH = 8Bh
	AL = adapter number
	BH = window number
	BL = page number
	DX = page attributes (see #00679)
	DI = memory card offset (4K units)
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,02h,07h,08h,11h) (see #00656)
Notes:	this function is only valid for memory-mapped windows
	the socket being operated on is implied by the previous AH=89h call
SeeAlso: AH=89h,AH=8Ah

Top
1A8C - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE SOCKET
INT 1A - PCMCIA Socket Services v1.00 - INQUIRE SOCKET
	AH = 8Ch
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
Return: CF clear if successful
	    AH destroyed
	    DH = capabilities (see #00680)
	    DL = hardware indicators (see #00681)
	    DS:SI -> Socket Characteristics table (see #00682)
	    DS:DI -> Power Management table (see #00684)
	CF set on error
	    AH = error code (01h,0Bh) (see #00656)
SeeAlso: AH=87h,AH=8Dh,AH=8Eh

Bitfields for PCMCIA socket capabilities:
Bit(s)	Description	(Table 00680)
 0	card change
 1	card lock
 2	insert card (motor control)
 3	eject card (motor control)
 4-7	reserved (0)

Bitfields for PCMCIA socket hardware indicators:
Bit(s)	Description	(Table 00681)
 0	busy status
 1	write-protected
 2	battery status
 3	card lock status
 4	XIP status (eXecute-In-Place)
 5-7	reserved (0)

Format of PCMCIA Socket Characteristics table:
Offset	Size	Description	(Table 00682)
 00h	WORD	supported card types (see #00683)
 02h	WORD	steerable IRQ levels (bit 0 = IRQ0 to bit 15 = IRQ15)
 04h	WORD	additional steerable IRQ levels
		bit 0: NMI
		bit 1: I/O check
		bit 2: bus error
		bit 3: vendor-unique
		bits 4-7 reserved (0)

Bitfields for supported card types:
Bit(s)	Description	(Table 00683)
 0	memory card
 1	I/O card
 2-7	reserved (0)

Format of PCMCIA Power Management table:
Offset	Size	Description	(Table 00684)
 00h	WORD	number of entries in table (0 if power management not avail)
 02h 2N BYTEs	power levels
		byte 0: voltage in 0.1V units
		byte 1: power supply
			bit 7: Vcc
			bit 6: Vpp1
			bit 5: Vpp2

Top
1A8D - INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET
INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET
	AH = 8Dh
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
Return: CF clear if successful
	    AH destroyed
	    BH = status change interrupt enable mask (see #00658)
	    CH = Vcc level (lower nybble) (see #00684)
	    CL = Vpp1 level (upper nybble) and Vpp2 level (lower nybble)
	    DH = current socket status (see #00659)
	    DL = indicators (see #00681)
	    SI = card type (see #00685)
	    DI = IRQ level steering (I/O only) (see #00686)
	CF set on error
	    AH = error code (01h,0Bh) (see #00656)
SeeAlso: AH=8Ch,AH=8Eh

Bitfields for PCMCIA card type:
Bit(s)	Description	(Table 00685)
 0	memory
 1	I/O
 2-15	reserved (0)

Bitfields for PCMCIA I/O level steering:
Bit(s)	Description	(Table 00686)
 15	interrupt steering enabled
 14-5	reserved (0)
 4-0	IRQ level (0-15=IRQ,16=NMI,17=I/O check,18=bus error,19=vendor)

Top
1A8E - INT 1A - PCMCIA Socket Services v1.00 - SET SOCKET
INT 1A - PCMCIA Socket Services v1.00 - SET SOCKET
	AH = 8Eh
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
	BH = status change interrupt enable mask (see #00658)
	CL = Vpp1 level (upper nybble) and Vpp2 level (lower nybble)
	DH = current socket status (see #00659)
	DL = indicators (see #00681)
	SI = card type (see #00685)
	DI = IRQ level steering (I/O only) (see #00686)
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,02h,05h,06h,0Bh,0Eh,0Fh) (see #00656)
SeeAlso: AH=8Ch,AH=8Dh

Top
1A8F - INT 1A - PCMCIA Socket Services v1.00 - GET CARD
INT 1A - PCMCIA Socket Services v1.00 - GET CARD
	AH = 8Fh
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
Return: CF clear if successful
	    AH destroyed
	    DL = current card status (see #00660)
	CF set on error
	    AH = error code (01h,0Bh) (see #00656)
SeeAlso: AH=8Dh,AH=90h

Top
1A90 - INT 1A - PCMCIA Socket Services v1.00 - RESET CARD
INT 1A - PCMCIA Socket Services v1.00 - RESET CARD
	AH = 90h
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,0Bh,14h) (see #00656)
Note:	toggles RESET pin of the specified card, but does not wait after
	  toggling the pin; it is the caller's responsibility to avoid
	  accessing the card before it is ready again

Top
1A91 - INT 1A - PCMCIA Socket Services v1.00 - READ ONE
INT 1A - PCMCIA Socket Services v1.00 - READ ONE
	AH = 91h
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
	BH = attributes (see #00687)
	DX:SI = card address
Return: CF clear if successful
	    AH destroyed
	    CL/CX = value read
	CF set on error
	    AH = error code (01h,07h,09h,0Bh,14h) (see #00656)
	    CX may be destroyed
Note:	this function is only valid for I/O-mapped sockets
SeeAlso: AH=92h,AH=93h,INT 21/AX=440Dh"DOS 3.2+"

Bitfields for PCMCIA attributes:
Bit(s)	Description	(Table 00687)
 2	even bytes only
 1	word rather than byte
 0	attribute memory instead of common memory

Top
1A92 - INT 1A - PCMCIA Socket Services v1.00 - WRITE ONE
INT 1A - PCMCIA Socket Services v1.00 - WRITE ONE
	AH = 92h
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
	BH = attributes (see #00687)
	CL/CX = value to write
	DX:SI = card address
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,07h,0Bh,12h,14h) (see #00656)
Note:	this function is only valid for I/O-mapped sockets; it also does not
	  implement Card Technology handling--use AH=94h when writing to
	  non-RAM technologies
SeeAlso: AH=91h,AH=94h,INT 21/AX=440Dh"DOS 3.2+"

Top
1A93 - INT 1A - PCMCIA Socket Services v1.00 - READ MULTIPLE
INT 1A - PCMCIA Socket Services v1.00 - READ MULTIPLE
	AH = 93h
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
	BH = attributes (see #00687)
	CX = number of bytes or words to read
	DX:SI = card address
	DS:DI -> data buffer to be filled
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,07h,09h,0Bh,14h) (see #00656)
Note:	this function is only available on I/O-mapped sockets
SeeAlso: AH=91h,AH=94h,INT 21/AX=440Dh"DOS 3.2+"

Top
1A94 - INT 1A - PCMCIA Socket Services v1.00 - WRITE MULTIPLE
INT 1A - PCMCIA Socket Services v1.00 - WRITE MULTIPLE
	AH = 94h
	AL = adapter number
	BL = socket number (01h to maximum supported by adapter)
	BH = attributes (see #00687)
	CX = number of bytes or words to read
	DX:DI = card address
	DS:SI -> buffer containing data
	BP = Card Technology type (0000h = RAM)
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,07h,0Bh,0Ch,12h,14h) (see #00656)
Notes:	this function is only available on I/O-mapped sockets
	Socket Services calls the Card Technology callback (see #00661) for
	  any card technology it does not directly support
SeeAlso: AH=82h"PCMCIA",AH=92h,AH=93h,INT 21/AX=440Dh"DOS 3.2+"

Top
1A95 - INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ERROR DETECTION CODE
	AH = 95h
	AL = adapter number
	BH = EDC generator number
Return: CF clear if successful
	    AH destroyed
	    CX = bitmap of assignable sockets
	    DH = EDC capabilities (see #00688)
	    DL = supported EDC types (see #00689)
	CF set on error
	    AH = error code (01h,04h) (see #00656)
SeeAlso: AH=96h,AH=9Ch

Bitfields for EDC capabilities:
Bit(s)	Description	(Table 00688)
 0	unidirectional only generation
 1	bidirectional only generation
 2	register-based (I/O-mapped) support
 3	memory-mapped support
 4	pausable
 5-7	reserved (0)

Bitfields for supported EDC types:
Bit(s)	Description	(Table 00689)
 0	8-checksum
 1	16-CRC-SDLC
 2-7	reserved (0)

Top
1A96 - INT 1A - PCMCIA Socket Services v1.00 - GET ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - GET ERROR DETECTION CODE
	AH = 96h
	AL = adapter number
	BH = EDC generator number
Return: CF clear if successful
	    AH destroyed
	    BL = socket number
	    DH = EDC attributes (see #00690)
	    DL = EDC type (see #00689) (only one bit set)
	CF set on error
	    AH = error code (01h,04h) (see #00656)
SeeAlso: AH=95h,AH=97h,AH=9Ch

Bitfields for EDC attributes:
Bit(s)	Description	(Table 00690)
 0	unidirectional only
 1	(if 0 set) clear=read, set=write
 2-7	reserved (0)

Top
1A97 - INT 1A - PCMCIA Socket Services v1.00 - SET ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - SET ERROR DETECTION CODE
	AH = 97h
	AL = adapter number
	BH = EDC generator
	BL = socket number
	DH = EDC attributes (see #00690)
	DL = EDC type (see #00689) (only one bit may be set)
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,02h,04h,0Bh) (see #00656)
SeeAlso: AH=96h,AH=9Ch

Top
1A98 - INT 1A - PCMCIA Socket Services v1.00 - START ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - START ERROR DETECTION CODE
	AH = 98h
	AL = adapter number
	BH = EDC generator
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,04h) (see #00656)
SeeAlso: AH=96h,AH=99h,AH=9Bh,AH=9Ch

Top
1A99 - INT 1A - PCMCIA Socket Services v1.00 - PAUSE ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - PAUSE ERROR DETECTION CODE
	AH = 99h
	AL = adapter number
	BH = EDC generator
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,04h) (see #00656)
SeeAlso: AH=9Ah

Top
1A9A - INT 1A - PCMCIA Socket Services v1.00 - RESUME ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - RESUME ERROR DETECTION CODE
	AH = 9Ah
	AL = adapter number
	BH = EDC generator
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (01h,04h) (see #00656)
SeeAlso: AH=99h,AH=98h

Top
1A9B - INT 1A - PCMCIA Socket Services v1.00 - STOP ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - STOP ERROR DETECTION CODE
	AH = 9Bh
	AL = adapter number
	BH = EDC generator
Return: CF clear if successful
	    AH destroyed
	CF set on error
	    AH = error code (see #00656)
SeeAlso: AH=98h,AH=99h,AH=9Ch

Top
1A9C - INT 1A - PCMCIA Socket Services v1.00 - READ ERROR DETECTION CODE
INT 1A - PCMCIA Socket Services v1.00 - READ ERROR DETECTION CODE
	AH = 9Ch
	AL = adapter number
	BH = EDC generator
Return: CF clear if successful
	    AH destroyed
	    DL/DX = computed checksum or CRC
	CF set on error
	    AH = error code (01h,04h) (see #00656)
SeeAlso: AH=95h,AH=96h,AH=98h,AH=99h,AH=9Bh

Top
1A9D - INT 1A - PCMCIA Socket Services v2.1??? - GET VENDOR INFO
INT 1A - PCMCIA Socket Services v2.1??? - GET VENDOR INFO
	AH = 9Dh
	AL = adapter number
	BH = EDC generator
	ES:EDI -> vendor information structure (see #00691)
Return: CF clear if successful
	    AH destroyed
	    DX = vendor release number in BCD
	    ES:EDI unchanged
	CF set on error
	    AH = error code (01h,15h) (see #00656)
Notes:	this API is supported by recent versions of the AMI BIOS
	the low-level API described here is hidden by the higher-level
	  ExCA API once Card Services has been installed
SeeAlso: AH=9Dh"ExCA"

Format of Vendor Information structure:
Offset	Size	Description	(Table 00691)
 00h	WORD	buffer length (set to size of buffer below)
 04h	WORD	(ret) data length
 08h  x BYTEs	implementor name (ASCIIZ string)

Top
1A9D - INT 1A - Intel PCMCIA ExCA Card Services - API
INT 1A - Intel PCMCIA ExCA Card Services - API
	AH = 9Dh
	AL = subfunction (see #00692)
	???
Return: ???
SeeAlso: AH=9Dh"ExCA",#00891

(Table 00692)
Values for PCMCIA ExCA Card Services subfunction number:
 00h	Client Services: Get Number of Sockets
 01h	Advanced Client Utilities: Initialize
 02h	Client Services: Register Client
 03h	Client Services: Deregister Client
 04h	Advanced Client Utilities: Enumerate Clients
 05h	Client Services: Register SCB
 06h	Client Services: Deregister SCB
 07h	Advanced Client Utilities: Register MTD
 08h	Advanced Client Utilities: Deregister MTD
 09h	Advanced Client Utilities: Enumerate MTD
 0Ah	Client Services: Get Status
 0Bh	Client Services: Reset Card
 0Ch	Client Utilities: Get First Tuple
 0Dh	Client Utilities: Get Next Tuple
 0Eh	Client Utilities: Determine First Region
 0Fh	Client Utilities: Determine Next Region
 10h	Client Utilities: Get First Region
 11h	Client Utilities: Get Next Region
 12h	Client Utilities: Get First Partition
 13h	Client Utilities: Get Next Partition
 14h	Bulk Memory Services: Open Region
 15h	Bulk Memory Services: Read Memory
 16h	Bulk Memory Services: Write Memory
 17h	Bulk Memory Services: Copy Memory
 18h	Bulk Memory Services: Erase Memory
 19h	Resource Management: Request I/O
 1Ah	Resource Management: Release I/O
 1Bh	Resource Management: Request Memory
 1Ch	Client Services: Modify Window
 1Dh	Resource Management: Release Memory
 1Eh	Client Services: Map Mem Page
 1Fh	Advanced Client Utilities: Return SS Entry
 20h	Advanced Client Utilities: Map Log to Phy
 21h	Advanced Client Utilities: Map Log Phy to Log
 22h	Resource Management: Request IRQ
 23h	Resource Management: Release IRQ
 24h	Bulk Memory Services: Close Region

Top
1A9E - INT 1A - PCMCIA Socket Services v2.1 - ACKNOWLEDGE INTERRUPT
INT 1A - PCMCIA Socket Services v2.1 - ACKNOWLEDGE INTERRUPT
	AH = 9Eh
	AL = adapter number
Return: CF clear if successful
	    AH destroyed
	    CX = bitmap representing sockets which have changed status
	CF set on error
	    AH = error code (01h) (see #00656)
Note:	this API is supported by recent versions of the AMI BIOS

Top
1A9F - INT 1A - PCMCIA Socket Services v2.1 - GET/SET PRIOR INT 1A HANDLER
INT 1A - PCMCIA Socket Services v2.1 - GET/SET PRIOR INT 1A HANDLER
	AH = 9Fh
	AL = adapter number
	BL = mode
	    00h get prior INT 1Ah handler
	    01h set prior INT 1Ah handler
		CX:DX -> new prior handler
Return: CF clear if successful
	    AH destroyed
	    CX:DX -> old prior handler
	CF set on error
	    AH = error code (01h,15h,18h) (see #00656)
Desc:	allows hooking of INT 16h "behind" the Socket Services hook
Note:	this API is supported by recent versions of the AMI BIOS
SeeAlso: AH=9Eh,AH=A0h"PCMCIA",AH=AEh"PCMCIA"

Top
1AA0 - INT 1A U - Disk Spool II v2.07+ - INSTALLATION CHECK
INT 1A U - Disk Spool II v2.07+ - INSTALLATION CHECK
	AH = A0h
Return: AH = B0h if installed
	    AL = pending INT 1A/AH=D0h subfunction if nonzero???
	    ES = code segment
	    ES:BX -> name of current spool file
	    ES:SI -> current despool file
	    CL = despooler state (00h disabled, 41h enabled)
	    CH = spooler state (00h disabled, 41h enabled)
	    DL = despooler activity
		00h currently active printing a file
		41h standing by
	    DH = 00h ???
	       = 41h ???
	    DI = 0000h ???
		 0001h ???
Program: Disk Spool II is a shareware disk-based print spooler by Budget
	  Software Company
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=ABh,AH=C0h,AH=D0h,AH=E1h

Top
1AA0 - INT 1A - PCMCIA Socket Services v2.1 - GET/SET SOCKET SERVICES ADDRESS
INT 1A - PCMCIA Socket Services v2.1 - GET/SET SOCKET SERVICES ADDRESS
	AH = A0h
	AL = adapter number
	BH = mode
	    00h real mode
	    01h 16:16 protected mode
	    02h 16:32 protected mode
	    03h 00:32 (Flat) protected mode
	BL = subfunction
	    00h return number of additional data areas (see #00693)
	    01h return description of additional data areas (see #00694)
	    02h accept mode-specific pointers to data areas (see #00695)
	ES:EDI -> buffer supplied by caller
Return: CF clear if successful
	    AH destroyed
	    CX = number of additional data areas
	    ES:EDI unchanged
	CF set on error
	    AH = error code (01h,02h,15h,16h,18h) (see #00656)
SeeAlso: AH=9Fh,AH=AEh

Format of PCMCIA Subfunction 00h Buffer Table Entry structure:
Offset	Size	Description	(Table 00693)
 00h	DWORD	32-bit linear base address of the code segment
 04h	DWORD	segment limit of the code segment
 08h	DWORD	entry point offset
 0Ch	DWORD	32-bit linear base address of the data segment
		(ignored in 00:32 flat mode)
 10h	DWORD	segment limit of the data segment
 14h	DWORD	data area offset.  Only used in 32-bit protected mode.
SeeAlso: #00694,#00695

Format of PCMCIA Additional Data Area Description structure [array]:
Offset	Size	Description	(Table 00694)
 00h	DWORD	32-bit linear base address of the additional data segment
		(ignored in 00:32 flat mode)
 04h	DWORD	segment limit of the code segment
 08h	DWORD	data area offset (only used in 32-bit protected mode)
SeeAlso: #00693,#00695

Format of PCMCIA Subfunction 02h Buffer Table Entry structure:
Offset	Size	Description	(Table 00695)
 00h	DWORD	32-bit offset(ignored in 16:16 protected mode)
 04h	DWORD	selector (only used in 00:32 flat mode)
 08h	DWORD	reserved
SeeAlso: #00693,#00694

Top
1AA1 - INT 1A - PCMCIA Socket Services v2.1 - GET ACCESS OFFSETS
INT 1A - PCMCIA Socket Services v2.1 - GET ACCESS OFFSETS
	AH = A1h
	AL = adapter number
	BH = Mode
	     00h = Real Mode
	     01h = 16:16 Protected Mode
	     02h = 16:32 Protected Mode
	     03h = 00:32 Protected Mode
	CX = Number of access offsets
	ES:EDI -> buffer supplied by caller, CX words long (see #00696)
Return: CF clear if successful
	    AH destroyed
	    DX = number of access offsets supported
	    ES:EDI unchanged
	CF set on error
	    AH = error code (01h,15h,16h) (see #00656)
Desc:	Returns an array of low-level adapter-specific optimized
	PC Card access routines for adapters that use registers
	or I/O ports to access PC Card memory.	Adapters that access
	PC Card memory through windows mapped to host system memory
	do not support this function.
Note:	offsets returned are 16-bit offsets into the
	Socket Services code segment.  They must be called
	appropriately for the processor mode selected.
	(Real, 16:16 and 16:32 modes use FAR CALL,
	Flat 00:32 mode uses a 32-bit NEAR CALL).
SeeAlso: AH=AEh

Format of Offset Table structure:
Offset	Size	Description	(Table 00696)
 00h	WORD	Set Address
 02h	WORD	Set Auto Increment
 04h	WORD	Read Byte
 06h	WORD	Read Word
 08h	WORD	Read Byte with Auto Increment
 0Ah	WORD	Read Word with Auto Increment
 0Ch	WORD	Read Words
 0Eh	WORD	Read Words with Auto Increment
 10h	WORD	Write Byte
 12h	WORD	Write Word
 14h	WORD	Write Byte with Auto Increment
 16h	WORD	Write Word with Auto Increment
 18h	WORD	Write Words
 1Ah	WORD	Write Words with Auto Increment
 1Ch	WORD	Compare Byte
 1Eh	WORD	Compare Byte with Auto Increment
 20h	WORD	Compare Words
 22h	WORD	Compare Words with Auto Increment

Top
1AA2 - INT 1A - CardBus Socket Services - ACCESS CONFIGURATION SPACE
INT 1A - CardBus Socket Services - ACCESS CONFIGURATION SPACE
	AH = A2h
	??? details not available
Return: ???

Top
1AA4 - INT 1A - CardBus Socket Services - GET BRIDGE WINDOW / WINDOW CAPABILITIES
INT 1A - CardBus Socket Services - GET BRIDGE WINDOW / WINDOW CAPABILITIES
	AH = A4h
	??? details not available
Return: ???
SeeAlso: AH=A5h"CardBus"

Top
1AA5 - INT 1A - CardBus Socket Services - SET BRIDGE WINDOW
INT 1A - CardBus Socket Services - SET BRIDGE WINDOW
	AH = A5h
	??? details not available
Return: ???
SeeAlso: AH=A4h"CardBus"

Top
1AAB - INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
	AH = ABh
Return: AH = BAh if installed
	    AL = pending INT 1A/AH=ADh subfunction if nonzero???
	    ES = code segment
	    ES:BX -> name of current spool file
	    ES:SI -> current despool file
	    CL = despooler state (00h disabled, 41h enabled)
	    CH = spooler state (00h disabled, 41h enabled)
	    DL = despooler activity
		00h currently active printing a file
		41h standing by
	    DH = 00h ???
	       = 41h ???
	    DI = 0000h ???
		 0001h ???
Program: Disk Spool II is a shareware disk-based print spooler by Budget
	  Software Company
SeeAlso: AH=A0h,AH=ACh,AH=ADh,AH=E1h

Top
1AAC - INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
	AH = ACh
Return: (see AH=ABh)
Note:	this function is identical to AH=ABh
SeeAlso: AH=A0h,AH=ABh,AH=ADh

Top
1AAD - INT 1A U - Disk Spool II v1.83 - FUNCTION CALLS
INT 1A U - Disk Spool II v1.83 - FUNCTION CALLS
	AH = ADh
	AL = function code (see #00697)
Return: AH = 00h if successful
SeeAlso: AH=ABh

(Table 00697)
Values for Disk Spool function code:
 02h	enable spooler only
 03h	enable the despooler
 04h	disable the despooler
 08h	inhibit popup menu
 09h	enable popup menu
 0Ah	???
 0Bh	disable the spooler
 0Ch	start despooler after last successfully printed document???
 0Dh	start despooler at the exact point where it last left off???
 0Eh	pop up the menu
 0Fh	???
 11h	???
 14h	???
 15h	???
 16h	???
 17h	???
 18h	???
 19h	???
 20h	clear file pointed to by the despooler???
 21h	???
 22h	???
 23h	???
 30h	???

Top
1AAE - INT 1A - PCMCIA Socket Services v2.1 - VENDOR SPECIFIC
INT 1A - PCMCIA Socket Services v2.1 - VENDOR SPECIFIC
	AH = AEh
	AL = adapter number
	all other registers are vendor-specific
Return: vendor specific
SeeAlso: AH=A1h,AH=AFh

Top
1AAE - INT 1A - PCMCIA Socket Services v2.1 - API
INT 1A - PCMCIA Socket Services v2.1 - API
	AH = AEh
	SI = function
	    0002h ???
	    0100h ???
	    0101h ???
	    8000h ???
	    8001h ???
	details not yet available
Return: CF clear if successful
	CF set on error
	    AH = error code (02h,0Bh,11h,15h,17h) (see #00656)
SeeAlso: AH=9Eh

Top
1AAF - INT 1A - PCMCIA v2 Card Services - API
INT 1A - PCMCIA v2 Card Services - API
	AH = AFh
	AL = function
	    00h close memory
	    01h copy memory
	    02h deregister client
	    03h get client information (see #00702)
	    04h get configuration information (see #00704)
	    05h get first partition
	    06h get first region
	    07h get first tuple (see #00711)
	    08h get next partition
	    09h get next region
	    0Ah get next tuple
	    0Bh	get Card Services information (see #00700)
	    0Ch get status
	    0Dh	get tuple data (see #00712)
	    0Eh	get first client (see #00701)
	    0Fh get/register Erase Queue
	    10h	register client (see #00713)
	    11h reset function
	    12h map logical socket
	    13h map logical window
	    14h map memory page
	    15h map physical socket
	    16h map physical window
	    17h modify window
	    18h open memory
	    19h read memory
	    1Ah register MTD
	    1Bh release I/O
	    1Ch release IRQ (see #00715)
	    1Dh release window
	    1Eh release configuration (see #00716)
	    1Fh request I/O (see #00717)
	    20h request IRQ (see #00718)
	    21h reqeust window (see #00720)
	    22h request socket mask
	    23h return SS entry
	    24h write memory
	    25h deregister Erase Queue
	    26h check Erase Queue
	    27h modify configuration
	    28h register timer
	    29h set region
	    2Ah get next client
	    2Bh validate CIS
	    2Ch request exclusive access (see #00723)
	    2Dh release exclusive access (see #00723)
	    2Eh get event mask
	    2Fh release socket mask
	    30h request configuration (see #00724)
	    31h set event mask
	    32h add Socket Service
	    33h replace Socket Service
	    34h vendor-specific
	    35h adjust resource information
	    36h access configuration register
	    37h get first window
	    38h get next window
	    39h get memory page
	    3Ah request DMA
	    3Bh release DMA
	further details not yet available
Return: ??? = result code (see #00698)
SeeAlso: AH=AEh

(Table 00698)
Values for PCMCIA Card Services result codes:
 00h	successful
 01h	invalid adapter number
 02h	bad value for attribute field
 03h	bad value for base system memory address
 04h	invalid EDC generator specified
 05h	(reserved for historical reasons)
 06h	invalid IRQ level specified
 07h	invalid PC Card memory array offset
 08h	invalid page number specified
 09h	unable to complete read request
 0Ah	invalid size specified
 0Bh	invalid socket number
 0Ch	(reserved for historical reasons)
 0Dh	invalid window or interface type
 0Eh	invalid Vcc power level specified
 0Fh	invalid Vpp1 or Vpp2 power level specified
 10h	(reserved for historical reasons)
 11h	invalid window number
 12h	unable to complete write request
 13h	(reserved for historical reasons)
 14h	no PC Card in socket
 15h	service not supported by implementation
 16h	unsupported processor mode
 17h	specified speed not available
 18h	busy -- retry later
 19h	undefined error (general failure)
 1Ah	storage medium write protected
 1Bh	argument length in (E)CX is invalid
 1Ch	bad value(s) in argument packet
 1Dh	configuration has already been locked
 1Eh	requested resource already in use
 1Fh	no more items of requested type available
 20h	out of resources
 21h	invalid client handle
 22h	unsupported client version

(Table 00699)
Values for Card Services Callback Event codes:
 01h	battery dead
 02h	battery low
 03h	card locked
 04h	card has become ready
 05h	card removed
 06h	card unlocked
 07h	motorized ejection complete
 08h	ejection requested
 09h	insertion complete
 0Ah	insertion requested
 0Bh	power management: resume
 0Ch	power management: suspend
 0Dh	exclusive access granted
 0Eh	exclusive access requested
 0Fh	perform physical reset
 10h	physical reset requested
 11h	card has been reset
 12h	MTD request (read/write/etc)
 14h	request for client info
 15h	timer has expired
 16h	Socket Service was modified
 17h	write-protected
 18h	attention requested
 40h	card insertion
 80h	reset complete
 81h	erase complete
 82h	registration complete

Format of Card Services Information:
Offset	Size	Description	(Table 00700)
 00h	WORD	length of information record in bytes
 02h	WORD	signature
 04h	WORD	number of sockets
 06h	WORD	revision level
 08h	WORD	Card Services level
 0Ah	WORD	offset of vendor string
 0Ch	WORD	length of vendor string
 0Eh	WORD	number of functions
 10h 255 BYTEs	vendor string
SeeAlso: #00702

Format of Card Services Client structure:
Offset	Size	Description	(Table 00701)
 00h	WORD	PCMCIA socket number
 02h	WORD	client attributes

Format of Cards Services Client Information:
Offset	Size	Description	(Table 00702)
 00h	WORD	maximum length of data in bytes (180)
 02h	WORD	(ret) length of returned data
 04h	WORD	attributes (see #00703)
 06h	WORD	revision level (BCD)
 08h	WORD	Card Services level (BCD)
 0Ah	WORD	revision date (DOS packed date format) (see #01666)
 0Ch	WORD	offset to name
 0Eh	WORD	length of name
 10h	WORD	offset to vendor string
 12h	WORD	length of vendor string
 14h 80 BYTEs	buffer for name
 64h 80 BYTEs	buffer for vendor string
SeeAlso: #00700,#00704

Bitfields for Card Services client attributes:
Bit(s)	Description	(Table 00703)
 0	memory client
 1	MTD client
 2	I/O client
 3	all clients can share this card
 4	only one client can use this card at a time
SeeAlso: #00702

Format of Card Services configuration information:
Offset	Size	Description	(Table 00704)
 00h	WORD	socket (usually 0000h)
 02h	WORD	attributes (see #00705)
 04h	BYTE	Vcc value
 05h	BYTE	Vpp1 value
 06h	BYTE	Vpp2 value
 07h	BYTE	interface type (see #00706)
 08h	DWORD	base address of configuration registers
 0Ch	BYTE	card's Status register setting (if present)
 0Dh	BYTE	card's Pin register setting (if present)
 0Eh	BYTE	card's Socket/Copy register setting (if present)
 0Fh	BYTE	card's Option register setting (if present)
 10h	BYTE	bitmap of present card configuration registers
 11h	BYTE	first device type
 12h	BYTE	function code
 13h	BYTE	SysInit mask
 14h	WORD	manufacturer code
 16h	WORD	manufacturer information
 18h	BYTE	valie card register values
 19h	BYTE	IRQ number assigned to PC Card
 1Ah	WORD	IRQ attributes (see #00708)
 1Ch	WORD	base port address (for I/O range 1)
 1Eh	BYTE	number of contiguous ports (for I/O range 1)
 1Fh	BYTE	bitmap of port attributes (for I/O range 1) (see #00709)
 20h	WORD	base port address (for I/O range 2)
 22h	BYTE	number of contiguous ports (for I/O range 2)
 23h	BYTE	bitmap of port attributes (for I/O range 2) (see #00709)
 24h	BYTE	number of I/O address lines decoded (16-bit PC Card only)
 25h	BYTE	extended status register setting (if present)
 26h	BYTE	bitmap of DMA attributes (see #00710)
		(note: value at call is used to set!)
 27h	BYTE	assigned DMA channel
 28h	BYTE	number of I/O windows in use on logical socket
 29h	BYTE	number of memory windows in use on logical socket
SeeAlso: #00703,#00724

Bitfields for Card Services Configuration attributes:
Bit(s)	Description	(Table 00705)
 0	exclusive
 1	IRQ active
 2	CardBus card
 3-5	reserved (0)
 6	DMA channel is active
 7	reserved (0)
 8	valid client
 9	overwrite voltage value
 10-15	reserved (0)
SeeAlso: #00704

Bitfields for Card Services Configuration interface type:
Bit(s)	Description	(Table 00706)
 0	memory interface
 1	I/O and memory interface
 2	CardBus interface
 3-7	reserved (0)
SeeAlso: #00704

Bitfields for Card Services Configuration registers:
Bit(s)	Description	(Table 00707)
 0	option value is value
 1	status value
 2	pin-replacement value
 3	copy value
 4	extended status value
 5-7	reserved (0)
SeeAlso: #00704

Bitfields for Card Services Configuration IRQ attributes:
Bit(s)	Description	(Table 00708)
 1-0	sharing
	00 no sharing
	01 time-multiplex sharing
	10 dynamic sharing
	11 reserved
 2	force pulse mode
 3	first used together
 4-7	reserved
 8	pulse IRQ has been assigned
 9-15	reserved
SeeAlso: #00704,#00709,#00710,#00715,#00718

Bitfields for Card Services Configuration Port attributes:
Bit(s)	Description	(Table 00709)
 0	shared I/O ports
 1	"CS_FirstCommonUsedCard"
 2	force alias access
 3	=1 sixteen-bit I/O
	=0 eight-bit I/O
 7-4	reserved (0)
SeeAlso: #00704,#00708,#00710,#00717

Bitfields for Card Services Configuration DMA attributes:
Bit(s)	Description	(Table 00710)
 1-0	sharing mode
	00 no sharing
	01 time-multiplex sharing
	10 dynamic sharing
	11 reserved
 3-2	DMA request signal
	00 reserved
	01 DMARQ uses pin SPKR#
	10 DMARQ uses pin IOIS16#
	11 DMARQ uses pin INPACK#
 4	DMA size
	0 eight bits
	1 sixteen bits
 7-5	reserved (0)
SeeAlso: #00704,#00708,#00709

Format of Card Services Tuple information:
Offset	Size	Description	(Table 00711)
 00h	WORD	logical socket number
 02h	WORD	attributes
		bit 0: return Link tuples
 04h	BYTE	code value of desired tuple
 05h	BYTE	reserved (0)
 06h	WORD	(ret) TupleFlags
 08h	DWORD	(ret) -> Card Services Link State Information
 0Ch	DWORD	(ret) -> Card Services CIS State Information
 10h	BYTE	(ret) code for tuple
 11h	BYTE	(ret) link value for tuple
SeeAlso: #00712

Format of Card Services GetTupleData record:
Offset	Size	Description	(Table 00712)
 00h	WORD	logical socket
 02h	WORD	attributes
 04h	BYTE	code value of desired tuple
 05h	BYTE	offset into tuple from link byte
 06h	WORD	flags
 08h	DWORD	-> Link
 0Ch	DWORD	-> CIS
 10h	WORD	(call) maximum amount of data to return (0004h)
 12h	WORD	(ret) amount of data returned
 14h	DWORD	(ret) tuple data
SeeAlso: #00711

Format of Card Services Client Registration record:
Offset	Size	Description	(Table 00713)
 00h	WORD	attributes
 02h	WORD	event mask
 04h	WORD	client data (passed to client event handler in DI)
--- 16-bit code ---
 06h	WORD	client data selector (passed to event handler in DS)
 08h	WORD	client data offset (passed to event handler in SI)
 0Ah	WORD	reserved
--- 32-bit code ---
 06h	WORD	reserved
 08h	DWORD	client data offset (passed to event handler in ESI)
------
 0Ch	WORD	expected Card Services version (0210h for v2.10)

Bitfields for Card Services client event codes:
Bit(s)	Description	(Table 00714)
 0	change in write-protect status
 1	change in card lock
 2	ejection request
 3	insertion request
 4	battery is dead
 5	battery low
 6	change in Ready
 7	change in Card Detect
 8	power management change
 9	reset
 10	Socket Services updated
 11	extended status change
SeeAlso: #00713

Format of Card Services ReleaseIRQ record:
Offset	Size	Description	(Table 00715)
 00h	WORD	logical socket number
 02h	WORD	attributes (see #00708)
 04h	BYTE	assigned IRQ number to be released

Format of Card Services Release Configuration record:
Offset	Size	Description	(Table 00716)
 00h	WORD	logical socket number

Format of Card Services Request I/O record:
Offset	Size	Description	(Table 00717)
 00h	WORD	logical socket number
 02h	WORD	base port 1
 04h	BYTE	size of port range 1
 05h	BYTE	attributes for port range 1 (see #00709)
 06h	WORD	base port 2
 08h	BYTE	size of port range 2
 09h	BYTE	attributes for port range 2 (see #00709)
 0Ah	BYTE	number of address lines (typically 16)
SeeAlso: #00718,#00716

Format of Card Services Request IRQ record:
Offset	Size	Description	(Table 00718)
 00h	WORD	logical socket number
 02h	WORD	attributes (see #00708)
 04h	BYTE	(ret) assigned IRQ number, if successful
 05h	BYTE	IRQ info (see #00719)
 06h	WORD	bitmap of available IRQs (bit 0 = IRQ0, etc.)
		(only if bit 4 of IRQ info set)
SeeAlso: #00717,#00716

Bitfields for Card Services Request IRQ info flags:
Bit(s)	Description	(Table 00719)
 7	IRQ is shared
 6	pulse (edge-triggered) interrupt
 5	level interrupt
 4	use IRQ bitmap
--- bit 4 set ---
 3	vendor-specific interrupt
 2	bus error
 1	I/O check interrupt
 0	NMI
--- bit 4 clear ---
 3-0	IRQ number
SeeAlso: #00718

Format of Card Services Request Window record:
Offset	Size	Description	(Table 00720)
 00h	WORD	logical socket number
 02h	WORD	attributes (see #00721)
 04h	DWORD	system base adress
 08h	DWORD	size of memory window
 0Ch	BYTE	additional info
		if attributes bit ??? is set, this is the address-lines field
		otherwise, this is the access-speed field (see #00722)

Bitfields for Card Services Request Window attributes:
Bit(s)	Description	(Table 00721)
 0	I/O window instead of memory window
 1	attribute memory instead of normal memory (16-bit PC Cards only)
 2	window enabled
 3	16-bit data path instead of 8-bit path (16-bit PC Cards only, v2.10+)
	(ignored if bit 9 set)
 4	size is given in 16K pages (invalid for CardBus PC Cards)
 5	shared (invalid for CardBus)
 6	first shared (invalid for CardBus)
 7	"CS_BindingSpecific" (memory window only)
 8	card offsets are window-size granular (16-bit PC Card memory window)
 9	32-bit data path (CardBus only)
 10	reserved (0)
 12-11	prefetch/cache
	00 neither prefetchable nor cacheable
	01 prefetchable but not cacheable
	10 prefetchable and cachable
	11 reserved
 15-13	decoded base address register number (CardBus only)
SeeAlso: #00720,#00722

Bitfields for Card Services Request Window access-speed:
Bit(s)	Description	(Table 00722)
 6-3	mantissa
	0000 use device speed code
	0001  1.0
	0010  1.2
	0011  1.2 ???
	0100  1.5
	0101  2.0
	0110  2.5
	0111  3.0
	1000  3.5
	1001  4.0
	1010  4.5
	1011  5.0
	1100  5.5
	1101  6.0
	1110  7.0
	1111  8.0
--- if mantissa==0 ---
 2-0	device speed code
	000 reserved
	001 250 ns
	010 200 ns
	011 150 ns
	100 100 ns
	101-111 reserved
--- if mantissa<>0 ---
 2-0	speed exponent
	000	1 ns
	001    10 ns
	010   100 ns
	011	1 us
	100    10 us
	101   100 us
	110	1 ms
	111    10 ms
SeeAlso: #00720,#00721

Format of Card Services Request/Release Exclusive Access record:
Offset	Size	Description	(Table 00723)
 00h	WORD	logical socket number
 02h	WORD	attributes (currently all reserved, must be 0000h)

Format of Card Services Request Configuration record:
Offset	Size	Description	(Table 00724)
 00h	WORD	socket (usually 0000h)
 02h	WORD	attributes (see #00705)
 04h	BYTE	Vcc value
 05h	BYTE	Vpp1 value
 06h	BYTE	Vpp2 value
 07h	BYTE	interface type (see #00706)
 08h	DWORD	base address of configuration registers
 0Ch	BYTE	card's Status register setting (if present)
 0Dh	BYTE	card's Pin register setting (if present)
 0Eh	BYTE	card's Socket/Copy register setting (if present)
 0Fh	BYTE	card's Option register setting (if present)
 10h	BYTE	bitmap of present card configuration registers
 11h	BYTE	extended status register setting (if present)
SeeAlso: #00704

Top
1AB000 - INT 1A U - HP 100LX/200LX - PCMCIA - ???
INT 1A U - HP 100LX/200LX - PCMCIA - ???
	AX = B000h
	ES:BX -> parameter block ???
Return: CF clear if ???
	CF set if ???
Note:	called by HP 100LX/200LX PCMCIA client CIC100.EXE

Top
1AB001CX4D52 - INT 1A - Microsoft Real-Time Compression Interface (MRCI) - ROM-BASED SERVER
INT 1A - Microsoft Real-Time Compression Interface (MRCI) - ROM-BASED SERVER
	AX = B001h
	CX = 4D52h ("MR")
	DX = 4349h ("CI")
Return: CX = 4943h ("IC") if installed
	DX = 524Dh ("RM") if installed
	    ES:DI -> MRCINFO structure (see #00725)
Note:	this call is functionally identical to INT 2F/AX=4A12h, which should
	  be called first, as this call is used for the first, ROM-based
	  MRCI server, while the other call is used for RAM-based servers
	  which may be partially or entirely replacing a prior server
SeeAlso: INT 2F/AX=4A12h

Format of MRCINFO structure:
Offset	Size	Description	(Table 00725)
 00h  4 BYTEs	vendor signature
		"MSFT" Microsoft
 04h	WORD	server version (high=major)
 06h	WORD	MRCI specification version
 08h	DWORD	address of server entry point (see #00727)
 0Ch	WORD	bit flags: server capabilities (see #00726)
 0Eh	WORD	bit flags: hardware assisted capabilities (see #00726)
 10h	WORD	maximum block size supported by server (at least 8192 bytes)

Bitfields for MRCI capabilities:
Bit(s)	Description	(Table 00726)
 0	standard compress
 1	standard decompress
 2	update compress
 3	MaxCompress (not present in initial public release)
 4	reserved
 5	incremental decompress
 6	MRCI 2.0 standard compress
 7	MRCI 2.0 standard decompress
 8-14	reserved
 15	this structure is in ROM and can't be modified
	(server capabilities only)

(Table 00727)
Call MRCI entry point with:
	DS:SI -> MRCREQUEST structure (see #00728)
	CX = type of client (0000h application, 0001h file system)
	AX = operation
	    0001h perform standard compression
	    0002h perform standard decompression
	    0004h perform update compression
	    0008h perform MaxCompress
	    0020h perform incremental decompression
	    0040h perform MRCI 2.0 standard compression
	    0080h perform MRCI 2.0 standard decompression
	AX = FFFFh clear flags
	    BX = bitmask of flags to clear (set bits in BX are flags to clear)
Return: AX = status
	    0000h successful
	    0001h invalid function
	    0002h server busy, try again
	    0003h destination buffer too small
	    0004h incompressible data
	    0005h bad compressed data format
	BP destroyed (MS-DOS 6.2)
Note:	MRCI driver may chain to a previous driver

Format of MRCREQUEST structure:
Offset	Size	Description	(Table 00728)
 00h	DWORD	pointer to source buffer
 04h	WORD	size of source buffer (0000h = 64K)
 06h	WORD	(UpdateCompress only)
		(call) offset in source buffer of beginning of changed data
		(ret) offset in destination buffer of beginning of changed
			  compressed data
 08h	DWORD	pointer to destination buffer
		must contain original compressed data for UpdateCompress
 0Ch	WORD	size of destination buffer (0000h = 64K)
		any compression: size of buffer for compressed data
		standard decompression: number of bytes to be decompressed
		incremental decompression: number of byte to decompress now
		(ret) actual size of resulting data
 0Eh	WORD	client compressed data storage allocation size
 10h	DWORD	incremental decompression state data
		set to 00000000h before first incremental decompression call
Notes:	the source and destination buffers may not overlap
	the source and destination buffer sizes should normally be the same
	application should not update the contents of the MRCREQUEST structure
	  between incremental decompression calls

Top
Section -


Top
1AB101 - INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK
INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK
	AX = B101h
	EDI = 00000000h
Return: AH = 00h if installed
	    CF clear
	    EDX = 20494350h (' ICP')
	    EDI = physical address of protected-mode entry point (see #00731)
	    AL = PCI hardware characteristics (see #00730)
	    BH = PCI interface level major version (BCD)
	    BL = PCI interface level minor version (BCD)
	    CL = number of last PCI bus in system
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	some BIOSes do not change EDI, so applications looking for the
	  protected-mode entry point should set EDI to 00000000h before
	  calling this function
SeeAlso: AX=B181h

(Table 00729)
Values for PCI BIOS v2.0c+ status codes:
 00h	successful
 81h	unsupported function
 83h	bad vendor ID
 86h	device not found
 87h	bad PCI register number

Bitfields for PCI hardware characteristics:
Bit(s)	Description	(Table 00730)
 0	configuration space access mechanism 1 supported
 1	configuration space access mechanism 2 supported
 2-3	reserved
 4	Special Cycle generation mechanism 1 supported
 5	Special Cycle generation mechanism 2 supported
 6-7	reserved

(Table 00731)
Call protected-mode entry point with:
	registers as for real/V86-mode INT call
	CS = ring 0 descriptor with access to full address space
Return: as for real/V86-mode call

Top
1AB102 - INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE
INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE
	AX = B102h
	CX = device ID (see #00735,#00742,#00743,#00873,#00875)
	DX = vendor ID (see #00732)
	SI = device index (0-n)
Return: CF clear if successful
	CF set on error
	AH = status (00h,83h,86h) (see #00729)
	    00h successful
		BH = bus number
		BL = device/function number (bits 7-3 device, bits 2-0 func)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	device ID FFFFh may be reserved as a wildcard in future implementations
	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
	all devices sharing a single vendor ID and device ID may be enumerated
	  by incrementing SI from 0 until error 86h is returned
SeeAlso: AX=B182h

(Table 00732)
Values for PCI vendor ID:
 001Ah	Ascend Communications, Inc.
 003Dh	Martin-Marietta Corporation
 0E11h	Compaq (see #00733)
 1000h	Symbios Logic Inc (formerly NCR) (see #00734)
 1002h	ATI (see #00735)
 1003h	ULSI Systems (see #00736)
 1004h	VLSI Technologies (see #00737)
 1005h	Avance Logics (ADL) (see #00738)
 1006h	Reply Group
 1007h	Netframe Systems Inc.
 1008h	Epson
 100Ah	Phoenix Technologies
 100Bh	National Semiconductor (see #00739)
 100Ch	Tseng Labs (see #00740) (also ID 10BEh)
 100Dh	AST Research
 100Eh	Weitek (see #00741)
 1010h	Video Logic Ltd
 1011h	DEC (see #00742)
 1012h	Micronics Computers
 1013h	Cirrus Logic (see #00743,#00029)
 1014h	IBM (see #00744)
 1015h	LSI Logic Corp. of Canada
 1016h	ICL Personal Systems
 1017h	SPEA Software AG
 1018h	Unisys
 1019h	EliteGroup Computer Sys
 101Ah	NCR/AT&T GIS
 101Bh	Vitesse Semiconductor
 101Ch	Western Digital (see #00745)
 101Eh	AMI (see #00746)
 101Fh	Picturetel
 1020h	Hitachi Computer Electronics
 1021h	Oki Electric Industry
 1022h	Advanced Micro Devices (see #00747)
 1023h	Trident Microsystems (see #00748)
 1024h	Zenith Data Systems
 1025h	Acer
 1028h	Dell Computer Corporation
 1029h	Siemens Nixdorf
 102Ah	LSI Logic, Headland Division (see #00749)
 102Bh	Matrox (see #00750)
 102Ch	Chips & Technologies (see #00751)
 102Dh	Wyse Technologies
 102Eh	Olivetti Advanced Technology
 102Fh	Toshiba America (see #00752)
 1030h	TMC Research
 1031h	Miro Computer Products AG (see #00753)
 1032h	Compaq
 1033h	NEC Corporation (see #00754)
 1034h	Burndy Corporation
 1035h	Computers and Communications Research Lab
 1036h	Future Domain (see #00755)
 1037h	Hitachi Micro Systems
 1038h	AMP Incorporated
 1039h	Silicon Integrated System (SIS) (see #00756)
 103Ah	Seiko Epson Corporation
 103Bh	Tatung Corp. of America
 103Ch	Hewlett-Packard (see #00757)
 103Eh	Solliday
 103Fh	Logic Modeling
 1040h	Kubota Pacific
 1041h	Computrend
 1042h	PC Technology (see #00758,#00928) (see also PORT 03F0h"PCTech")
 1043h	Asustek
 1044h	Distributed Processing Technology (DPT) (see #00759)
 1045h	OPTi (see #00760)
 1046h	IPC Corporation, Ltd.
 1047h	Genoa Systems Corp.
 1048h	Elsa GmbH
 1049h	Fountain Technology
 104Ah	SGS Thomson Microelectric (see #00761)
 104Bh	BusLogic (see #00762)
 104Ch	Texas Instruments (see #00763)
 104Dh	Sony Corporation
 104Eh	Oak Technology (see #00764)
 104Fh	Co-Time Computer Ltd.
 1050h	Winbond (see #00765)
 1051h	Anigma Corp.
 1052h	Young Micro Systems
 1054h	Hitachi, Ltd. (see #00766)
 1055h	EFAR Microsystems (see #00767)
 1056h	ICL
 1057h	Motorola (see #00768)
 1058h	Electronics and Telecommunications Research
 1059h	Teknor Microsystems
 105Ah	Promise Technology (see #00769)
 105Bh	Foxconn International
 105Ch	Wipro Infotech Ltd.
 105Dh	Number 9 Computer Company (see #00770)
 105Eh	VTech Engineering Canada, Ltd.
 105Fh	Infotronic America, Inc.
 1060h	United Microelectronics (UMC) (see #00771)
 1061h	8x8 (X Tech) (see #00772)
 1062h	Maspar Computer Copr.
 1063h	Ocean Office Automation
 1064h	Alcatel Cit
 1065h	Texas Microsystems
 1066h	PicoPower Technology (see #00773)
 1067h	Mitsubishi Electronics
 1068h	Diversified Technology
 1069h	Mylex Corporation (see #00774)
 106Ah	Aten Research
 106Bh	Apple Computer
 106Ch	Hyundai Electronics America
 106Dh	Sequent
 106Eh	DFI Inc.
 106Fh	City Gate Development, Ltd.
 1070h	Daewoo Telecom Ltd.
 1071h	Mitac
 1072h	GIT Co., Ltd.
 1073h	Yamaha Corporation (see #00775)
 1074h	NexGen Microsystems (see #00776)
 1075h	Advanced Integration Research
 1076h	Chaintech Computer Co. Ltd.
 1077h	Q Logic (see #00777)
 1078h	Cyrix Corporation
 1079h	I-Bus
 107Ah	Networth
 107Bh	Gateway 2000
 107Ch	Goldstar Co. Ltd.
 107Dh	Leadtek Research (see #00778)
 107Eh	Interphase Corporation (see #00779)
 107Fh	Data Technology Corporation (DTC) (see #00780)
 1080h	Contaq Microsystems (see #00781)
 1081h	Supermac Technology
 1082h	EFA Corporation of America
 1083h	Forex Computer Corporation (see #00782)
 1084h	Parador
 1085h	Tulip Computers Int'l BV
 1086h	J. Bond Computer Systems
 1087h	Cache Computer
 1088h	Microcomputer Systems (M) Son
 1089h	Data General Corporation
 108Ah	Bit3 Computer (see #00783)
 108Ch	Elonex PLC (Oakleigh Systems, Inc)
 108Dh	Olicom (see #00784)
 108Eh	Sun Microsystems
 108Fh	Systemsoft Corporation
 1090h	Encore Computer Corporation
 1091h	Intergraph Corporation (see #00785)
 1092h	Diamond Computer Systems
 1093h	National Instruments (see #00786)
 1094h	First International Computers (FIC)
 1095h	CMD Technology, Inc. (see #00787)
 1096h	Alacron
 1097h	Appian Technology (see #00788)
 1098h	Vision / Quantum Designs Ltd (see #00789)
 1099h	Samsung Electronics Co. Ltd.
 109Ah	Packard Bell
 109Bh	Gemlight Computer Ltd.
 109Ch	Megachips Corporation
 109Dh	Zida Technologies
 109Eh	Brooktree Corporation (see #00790)
 109Fh	Trigem Computer Inc.
 10A0h	Meidensha Corporation
 10A1h	Juko Electronics Inc. Ltd.
 10A2h	Quantum Corporation
 10A3h	Everex Systems Inc.
 10A4h	Globe Manufacturing Sales
 10A5h	Racal Interlan
 10A6h	Informtech Industrial Ltd.
 10A7h	Benchmarq Microelectronics
 10A8h	Sierra Semiconductor (see #00791)
 10A9h	Silicon Graphics
 10AAh	ACC Microelectronics (see #00792)
 10ABh	Digicom
 10ACh	Honeywell IASD
 10ADh	Symphony Labs (see #00793)
 10AEh	Cornerstone Technology
 10AFh	Microcomputer Systems
 10B0h	CardExpert Technology
 10B1h	Cabletron Systems, Inc.
 10B2h	Raytheon Company
 10B3h	Databook Inc
 10B4h	STB Systems
 10B5h	PLX Technology (see #00794)
 10B6h	Madge Networks (see #00795)
 10B7h	3com Corporation (see #00796)
 10B8h	Standard Microsystems Corporation (SMC) (see #00797)
 10B9h	Acer Labs Inc. (see #00798)
 10BAh	Mitsubishi Electronics Corp.
 10BBh	Dapha Electronics Corporation
 10BCh	Advanced Logic Research Inc. (ALR)
 10BDh	Surecom Technology (see #00799)
 10BEh	Tseng Labs International Corp. (see #00740)
 10BFh	Most Inc.
 10C0h	Boca Research Inc.
 10C1h	ICM Corp. Ltd.
 10C2h	Auspex Systems Inc.
 10C3h	Samsung Semiconductors
 10C4h	Award Software International Inc.
 10C5h	Xerox Corporation
 10C6h	Rambus Inc.
 10C7h	Media Vision
 10C8h	Neomagic Corporation (see #00800)
 10C9h	DataExpert Corporation
 10CAh	Fujitsu
 10CBh	Omron Corporation
 10CCh	Mentor Arc Inc.
 10CDh	Advanced System Products (see #00801)
 10CEh	Radius Inc.
 10CFh	Citicorp TTI (see #00802)
 10D0h	Fujitsu Limited
 10D1h	Future+ Systems
 10D2h	Molex Incorporated
 10D3h	Jabil Circuit Inc.
 10D4h	Hualon Microelectronics
 10D5h	Autologic Inc.
 10D6h	Cetia
 10D7h	BCM Advanced Research
 10D8h	Advanced Peripherals Labs
 10D9h	Macronix International Co. Ltd
 10DAh	Thomas-Conrad Corporation
 10DBh	Rohm Research
 10DCh	CERN/ECP/EDU (see #00803)
 10DDh	Evans & Sutherland (see #00804)
 10DEh	NVIDIA Corporation
 10DFh	Emulex Corporation (see #00805)
 10E0h	Integrated Micro Solutions (IMS) (see #00806)
 10E1h	TekRAM Technology Corporation Ltd. (see #00807)
 10E2h	Aptix Corporation
 10E3h	Newbridge Microsystems (see #00808)
 10E4h	Tandem Computers
 10E5h	Micro Industries
 10E6h	Gainbery Computer Products Inc.
 10E7h	Vadem
 10E8h	Applied Micro Circuits Corp. (see #00809)
 10E9h	Alps Electronic Corp. Ltd.
 10EAh	Integraphics Systems (see #00810)
 10EBh	Artist Graphics (see #00811)
 10ECh	Realtek Semiconductor (see #00812)
 10EDh	ASCII Corporation (see #00813)
 10EEh	Xilinx Corporation
 10EFh	Racore Computer Products
 10F0h	Peritek Corporation
 10F1h	Tyan Computer
 10F2h	Achme Computer Inc.
 10F3h	Alaris Inc.
 10F4h	S-MOS Systems
 10F5h	NKK Corporation (see #00814)
 10F6h	Creative Electronic Systems SA
 10F7h	Matsushita Electric Industrial Corp. Ltd.
 10F8h	Altos India Ltd.
 10F9h	PC Direct
 10FAh	Truevision (see #00815)
 10FBh	Thesys Ges. fr Microelektronik mbH
 10FCh	I/O Data Device Inc.
 10FDh	Soyo Technology Corp. Ltd.
 10FEh	Fast Electronic GmbH
 10FFh	N-Cube
 1100h	Jazz Multimedia
 1101h	Initio Corporation (see #00816)
 1102h	Creative Labs
 1103h	Triones Technologies Inc.
 1104h	Rasterops
 1105h	Sigma Designs, Inc.
 1106h	VIA Technologies (see #00817)
 1107h	Stratus Computer
 1108h	Proteon Inc. (see #00818)
 1109h	Cogent Data Technologies (see #00819)
 110Ah	Siemens AG / Siemens Nixdorf AG (see #00820)
 110Bh	Xenon Microsystems / Chromatic Research, Inc.
 110Ch	Mini-Max Technology Inc.
 110Dh	ZNyX Corporation
 110Eh	CPU Technology
 110Fh	Ross Technology
 1110h	Powerhouse Systems
 1111h	Santa Cruz Operation (SCO)
 1112h	Rockwell / RNS division of Meret Communications Inc. (see #00821)
 1113h	Accton Technology Corporation
 1114h	Atmel Corporation
 1115h	DuPont Pixel Systems
 1116h	Data Translation / Media 100, Inc.
 1117h	Datacube Inc. (see #00822)
 1118h	Berg Electronics
 1119h	Vortex Computersysteme GmbH (see #00823)
 111Ah	Efficient Networks, Inc. (see #00824)
 111Bh	Teledyne Electronic Systems
 111Ch	Tricord Systems, Inc.
 111Dh	Integrated Device Technology
 111Eh	Eldec Corporation
 111Fh	Precision Digital Images
 1120h	EMC Corporation
 1121h	Zilog
 1122h	Multi-tech Systems, Inc.
 1123h	Excellent Design, Inc.
 1124h	Leutron Vision AG
 1125h	Eurocore
 1126h	Vigra
 1127h	FORE Systems (see #00825)
 1128h	???
 1129h	Firmworks
 112Ah	Hermes Electronics Co.
 112Bh	Linotype - Hell AG
 112Dh	Ravicad
 112Eh	Infomedia MicroElectronics Inc (see #00826)
 112Fh	Imaging Technology (see #00827)
 1130h	Computervision
 1131h	Philips Semiconductors
 1132h	Mitel Corp
 1133h	Eicon Technology Corporation
 1134h	Mercury Computer Systems Inc (see #00828)
 1135h	Fuji Xerox Co Ltd (see #00829)
 1136h	Momentum Data Systems
 1137h	Cisco Systems Inc
 1138h	Ziatech Corporation (see #00830)
 1139h	Dynamic Pictures Inc (see #00831)
 113Ah	FWB Inc
 113Ch	Cyclone Microsystems (PLX) (see #00832)
 113Dh	Leading Edge Products Inc
 113Eh	Sanyo Electric Co. - Computer Engineering Dept.
 113Fh	Equinox Systems
 1140h	Intervoice Inc
 1141h	Crest Microsystem Inc (see #00833)
 1142h	Alliance Semiconductor Corp (see #00834)
 1143h	Netpower, Inc.
 1144h	Cincinnati Milacron / Vickers Inc. Electronic Systems (see #00835)
 1145h	Workbit Corp
 1146h	Force Computers
 1147h	Interface Corp.
 1148h	Schneider & Koch Co. / Syskonnect (see #00836)
 1149h	Win System Corporation
 114Ah	VMIC (see #00837)
 114Bh	Canopus Co.
 114Ch	Annabooks
 114Dh	IC Corporation
 114Eh	Nikon Systems Inc
 114Fh	Digi International / Stargate (see #00838)
 1150h	Thinking Machines Corp.
 1151h	JAE Electronics Inc.
 1152h	Megatek
 1153h	Land Win Electronic Corp.
 1154h	Melco Inc.
 1155h	Pine Technology Ltd.
 1156h	Periscope Engineering
 1157h	Avsys Corporation
 1158h	Voarx R&D Inc. (see #00839)
 1159h	MuTech (see #00840)
 115Ah	Harleguin Ltd.
 115Bh	Parallax Graphics
 115Ch	Photron, Ltd.
 115Dh	Xircom
 115Eh	Peer Protocols Inc.
 115Fh	???
 1160h	Megasoft Inc.
 1161h	PFU Ltd. (see #00841)
 1162h	OA Laboratory Co Ltd.
 1163h	Creative Labs / Rendition (see #00842)
 1164h	Advanced Peripherals Tech
 1165h	Imagraph Corporation (see #00843)
 1166h	Pequr Technology Inc. / Relience Computer
 1167h	Mutoh Industries, Inc.
 1168h	Thine Electronics Inc
 1169h	Centre for Development of Advanced Computing
 116Ah	Polaris Communications
 116Bh	Connectware Inc
 116Ch	???
 116Dh	???
 116Eh	???
 116Fh	Workstation Technology
 1170h	Inventec Corporation
 1171h	Loughborough Sound Images
 1172h	Altera Corporation
 1173h	Adobe Systems
 1174h	Bridgeport Machines
 1175h	Mitron Computer Inc.
 1176h	SBE
 1177h	Silicon Engineering
 1178h	Alfa Inc (see #00844)
 1179h	Toshiba America Info Systems
 117Ah	A-Trend Technology
 117Bh	LG Electronics Inc.
 117Ch	Atto Technology
 117Dh	???
 117Eh	T/R Systems
 117Fh	???
 1180h	Ricoh Co Ltd
 1181h	Telmatics International
 1182h	???
 1183h	Fujikura Ltd
 1184h	Forks Inc
 1185h	Dataworld
 1186h	D-Link System Inc
 1187h	Advanced Technology Laboratories
 1188h	Shima Seiki Manufacturing Ltd.
 1189h	Matsushita Electronics (see #00845)
 118Ah	Hilevel Technology
 118Bh	???
 118Ch	Corollary Inc (see #00846)
 118Dh	BitFlow Inc (see #00847)
 118Eh	Hermstedt GmbH
 118Fh	???
 1190h	???
 1191h	Artop Electric / Acard Technology Corp. (see #00848)
 1192h	Densan Co. Ltd
 1193h	Zeitnet Inc. (see #00849)
 1194h	Toucan Technology
 1195h	Ratoc System Inc
 1196h	Hytec Electronics Ltd
 1197h	Gage Applied Sciences Inc.
 1198h	Lambda Systems Inc
 1199h	Digital Communications Associates Inc,
 119Ah	Mind Share Inc.
 119Bh	Omega Micro Inc.
 119Ch	Information Technology Inst.
 119Dh	Bug Sapporo Japan
 119Eh	Fujitsu
 119Fh	Bull Hn Information Systems
 11A0h	Convex Computer Corporation
 11A1h	Hamamatsu Photonics K.K.
 11A2h	Sierra Research and Technology
 11A3h	Deuretzbacher GmbH & Co. Eng. KG
 11A4h	Barco
 11A5h	MicroUnity Systems Engineering, Inc.
 11A6h	Pure Data
 11A7h	Power Computing Corp.
 11A9h	InnoSys Inc. (see #00850)
 11AAh	Actel
 11ABh	Galileo Technology Ltd. (see #00851)
 11ACh	Canon Information Systems
 11ADh	Lite-On Communications Inc
 11AEh	Scitex Corporation Ltd
 11AFh	Pro-Log Corporation / Avid Technology Corp.
 11B0h	V3 Semiconductor Inc. (see #00852)
 11B1h	Apricot Computers
 11B2h	Eastman Kodak
 11B3h	Barr Systems Inc.
 11B4h	Leitch Technology International
 11B5h	Radstone Technology Plc
 11B6h	United Video Corp
 11B7h	Motorola
 11B8h	Xpoint Technologies Inc
 11B9h	Pathlight Technology Inc. (see #00853)
 11BAh	Videotron Corp
 11BBh	Pyramid Technology
 11BCh	Network Peripherals Inc
 11BDh	Pinnacle Systems Inc.
 11BEh	International Microcircuits Inc
 11BFh	Astrodesign, Inc.
 11C3h	NEC Corporation
 11C4h	Document Technologies Ind.
 11C5h	Shiva Corporatin
 11C6h	Dainippon Screen Mfg. Co., Ltd.
 11C7h	D.C.M. Data Systems
 11C8h	Dolphin Interconnect Solutions (see #00854)
 11C9h	MAGMA
 11CAh	LSI Systems Inc
 11CBh	Specialix International, Ltd. (see #00855)
 11CCh	Michels & Kleberhoff Computer GmbH
 11CDh	HAL Computer Systems Inc.
 11CEh	Netaccess
 11D0h	Lockheed Martin Federal	Systems-Manassas
 11D2h	Intercom, Inc.
 11D4h	Analog Devices
 11D5h	Ikon Corp.
 11D9h	TEC Corp.
 11DAh	Novell
 11DBh	Sega Enterprises, Ltd.
 11DEh	Zoran Corporation
 11DFh	New Wave PDG
 11E0h	???
 11E1h	GEC Plessey Semi Inc.
 11E2h	Samsung Information Systems Americ
 11E3h	Quicklogic Corporation
 11E4h	Second Wave Inc.
 11E5h	IIX Consulting
 11E6h	Mitsui-Zosen System Research
 11E7h	???
 11E8h	Digital Processing Systems Inc.
 11E9h	???
 11EAh	Elsag Bailey
 11EBh	Formation Inc.
 11ECh	Coreco Inc.
 11EDh	Mediamatics
 11EEh	Dome Imaging Systems Inc.
 11EFh	Nicolet Technologies B.V.
 11F0h	Compu-Shack GmbH
 11F1h	Symbios Logic Inc.
 11F2h	Picture Tel Japan K.K.
 11F3h	Keithley Metrabyte
 11F4h	Kinetic Systems Corporation
 11F5h	Computing Devices International
 11F6h	Powermatic Data Systems Ltd.
 11F6h	Compex USA, Inc. (see #00856)
 11F7h	Scientific Atlanta
 11F8h	PMC-Sierra Inc. (see #00857)
 11F9h	I-Cube, Inc.
 11FEh	RP ??? (see #00858)
 1201h	Vista Controls Corp.
 1203h	Bayer Corp., AGFA division
 1204h	Lattice	Semiconductor Corp.
 1205h	Array Corp.
 1206h	Amdahl Corp.
 120Eh	Cyclades (see #00859)
 1216h	PURUP Eskofot A/S
 1217h	O2Micro, Inc.
 121Ah	3DFX Interactive, Inc.
 121Bh	Advanced Telecomm Modules
 1220h	Ariel Corporation (see #00860)
 1221h	Contec Co., Ltd.
 1222h	Ancor Communications, Inc.
 1223h	Heurikon/Computer Products
 1224h	Interactive Images
 1225h	Power I/O, Inc.
 1226h	???
 1227h	Tech-Source
 1228h	Norsk Elektro Optikk A/S
 1229h	Data Kinesis Inc.
 122Ah	Integrated Telecom
 122Bh	LG Industrial Systems Co. Ltd.
 122Ch	Sican GmbH
 122Dh	Aztech Systems Ltd
 122Eh	Xyratex
 122Fh	Andrew Corporation
 1230h	Fishcamp Engineering
 1231h	Woodward McCoach, Inc.
 1232h	GPT Limited
 1233h	Bus-Tech, Inc.
 1234h	Technical Corp.
 1235h	Risq Modular Systems, Inc. / Smart Modular Technologies, Inc.
 1236h	Sigma Designs Corporation
 1237h	Alta Technology Corporation
 1238h	Adtran
 1239h	The 3DO Company
 123Ah	Visicom Laboratories, Inc.
 123Bh	Seeq Technology, Inc.
 123Ch	Century Systems, Inc.
 123Dh	Engineering Design Team, Inc.
 123Eh	Sumutech, Inc.
 123Fh	C-Cube Microsystems
 1240h	Marathon Technologies Corp.
 1241h	DSC Communications
 1242h	(unknown vendor)
 1243h	Delphax
 1244h	AVM Audiovisuelles Mktg & Computer GmbH
 1245h	A.P.D., S.A.
 1246h	Dipix Technologies, Inc.
 1247h	Xylon Research, Inc.
 1248h	Central Data Corporation
 1249h	Samsung Electronics Co., Ltd.
 124Ah	AEG Electrocom GmbH
 124Bh	SBS/Greenspring Modular I/O
 124Ch	Solitron Technologies, Inc.
 124Dh	Stallion Technologies
 124Eh	Cylink
 124Fh	Infortrend Technology, Inc.
 1250h	Hitachi Microcomputer System, Ltd.
 1251h	VLSI Solution Oy
 1252h	???
 1253h	Guzik Technical Enterprises
 1254h	Linear Systems Ltd.
 1255h	Optibase Ltd.
 1256h	Perceptive Solutions, Inc.
 1257h	Vertex Networks, Inc.
 1258h	Gilbarco, Inc.
 1259h	Allied telesyn International
 125Ah	ABB Power Systems
 125Bh	Asix Electronics Corporation
 125Ch	Aurora Technologies, Inc.
 125Dh	ESS Technology
 125Eh	SpecialVideo Engineering SRL
 125Fh	Concurrent Technologies, Inc.
 1260h	Harris Semiconductor (see #00861)
 1261h	Matsushita-Kotobuki Electronics Industries
 1262h	ES Computer Company, Ltd.
 1263h	Sonic Solutions
 1264h	Aval Nagasaki Corporation
 1265h	Casio Computer Co., Ltd.
 1266h	Microdyne Corporation
 1267h	S.A. Telecommunications
 1268h	Tektronix
 1269h	Thomson-CSF/TTM
 126Ah	Lexmark International, Inc.
 126Bh	Adax, Inc.
 126Ch	Northern Telecom
 126Dh	Splash Technology, Inc.
 126Eh	Sumitomo Metal Industries, Ltd.
 126Fh	Silicon Motion, Inc.
 1270h	Olympus Optical Co., Ltd.
 1271h	GW Instruments
 1272h	Telematics International
 1273h	Hughes Network Systems
 1274h	Ensoniq (see #00862)
 1275h	Network Appliance Corporation
 1276h	Switched Network Tecnologies, Inc.
 1277h	Comstream
 1278h	Transtech Parallel Systems Ltd.
 1279h	Transmeta Corporation
 127Ah	Rockwell Semiconductor Systems
 127Bh	Pixera Corporation
 127Ch	Crosspoint Solutions, Inc.
 127Dh	Vela Research
 127Eh	Winnov, L.P.
 127Fh	Fujifilm
 1280h	Photoscript Group Ltd.
 1281h	Yokogawa Electric Corporation
 1282h	Davicom Semiconductor, Inc.
 1283h	Integrated Technology Express, Inc.
 1284h	Sahara Networks, Inc.
 1285h	Platform Technologies, Inc.
 1286h	Mazet GmbH
 1287h	M-Pact, Inc. / Luxsonor, Inc.
 1288h	Timestep Corporation
 1289h	AVC Technology, Inc.
 128Ah	Asante Technologies, Inc.
 128Bh	Transwitch Corporation
 128Ch	Retix Corporation / Sonoma Systems, Inc.
 128Dh	G2 Networks, Inc.
 128Ch	Retix Corp
 128Dh	???
 128Eh	Samho Multi Tech Ltd. / Hoon Tech Co., Ltd.
 128Fh	Tateno Dennou, Inc.
 1290h	Sord Computer Corporation
 1291h	NCS Computer Italia
 1292h	Tritech Microelectronics, Inc.
 1293h	Media Reality Technology
 1294h	Rhetorex, Inc.
 1295h	Imagenation Corporation
 1296h	Kofax Image Products
 1297h	Holco Ent Co, Ltd / Shuttle Computer
 1298h	Spellcaster Telecommunications Inc.
 1299h	Knowledge Technology Lab.
 129Ah	VMetro, Inc.
 129Bh	Image Access
 129Ch	Jaycor / Xantel Corporation
 129Dh	Compcore Multimedia, Inc.
 129Eh	Victor Company of Japan, Ltd.
 129Fh	OEC Medical Systems, Inc.
 12A0h	Allen-Bradley Company
 12A1h	Simpact Associates, Inc.
 12A2h	Newgen Systems Corporation
 12A3h	Lucent Technologies
 12A4h	NTT Electronics Technology Company
 12A5h	Vision Dynamics Ltd.
 12A6h	Scalable Networks, Inc.
 12A7h	AMO GmbH
 12A8h	News Datacom
 12A9h	Xiotech Corporation
 12AAh	SDL Communications, Inc.
 12ABh	Yuan Yuan Enterprise Co., Ltd.
 12ACh	MeasureX Corporation
 12ADh	Multidata GmbH
 12AEh	Alteon Networks, inc.
 12AFh	TDK USA Corporation
 12B0h	Jorge Scientific Corporation
 12B1h	GammaLink
 12B2h	General Signal Networks
 12B3h	Inter-Face Co. Ltd.
 12B4h	FutureTel Inc.
 12B5h	Granite Systems Inc.
 12B6h	Natural Microsystems
 12B7h	Acumen
 12B8h	Korg
 12B9h	US Robotics / 3com Corporation
 12BAh	PMC Sierra
 12BBh	Nippon Unisoft Corporation
 12BCh	Array Microsystems
 12BDh	Computerm Corp.
 12BEh	Anchor Chips
 12BFh	Fujifilm Microdevices
 12C0h	InfiMed
 12C1h	GMM Research Corp.
 12C2h	Mentec Limited
 12C3h	Holtek Microelectronics Inc.
 12C4h	Connect Tech Inc.
 12C5h	Picture Elements, Inc. (see #00863)
 12C6h	Mitani Corporation
 12C7h	Dialogic Corporation
 12C8h	G Force Co, Ltd.
 12C9h	Gigi Operations
 12CAh	Integrated Computing Engines
 12CBh	Antex Electronics Corporation
 12CCh	Pluto Technologies International
 12CDh	Aims Lab
 12CEh	Netspeed, Inc.
 12CFh	Prophet Systems, Inc.
 12D0h	GDE Systems, Inc.
 12D1h	Psitech
 12D2h	NVIDIA / SGS Thomson
 12D3h	Vingmed Sound A/S
 12D4h	DGM&S
 12D5h	Equator Technologies
 12D6h	Analogic Corporation
 12D7h	Biotronic SRL
 12D8h	Pericom Semiconductor
 12D9h	Aculab PLC
 12DAh	True Time
 12DBh	Annapolis Micro Systems, Inc.
 12DCh	Symicron Computer Communication Ltd.
 12DDh	Management Graphics
 12DEh	Rainbow Technologies
 12DFh	SBS Technologies Inc.
 12E0h	Chase Research
 12E1h	Nintendo Co, Ltd.
 12E2h	Datum Inc, Bancomm-Timing Division
 12E3h	Imation Corp - Medical Imaging Systems
 12E4h	Brooktrout Technology Inc.
 12E5h	Apex Inc / XCD Inc.
 12E6h	Cirel Systems
 12E7h	Sunsgroup Corporation / Sebring Systems
 12E8h	CRISC Corporation
 12E9h	GE Spacenet
 12EAh	Zuken / Real Vision, Inc.
 12EBh	Aureal Semiconductor
 12ECh	3A International, Inc.
 12EDh	Optivision Inc.
 12EEh	Orange Micro
 12EFh	Vienna Systems
 12F0h	Pentek
 12F1h	Sorenson Vision Inc.
 12F2h	GammaGraphx, Inc.
 12F3h	XING, Inc.
 12F4h	Megatel
 12F5h	Forks
 12F6h	Dawson France
 12F7h	Cognex
 12F8h	Electronic-Design GmbH
 12F9h	FourFold Technologies
 12FBh	Spectrum Signal Processing
 12FCh	Capital Equipment Corp.
 12FDh	i2S
 12FEh	ESD Electronic System Design GmbH
 12FFh	Lexicon
 1300h	Harman International Industries, Inc.
 1302h	Computer Sciences Corp.
 1303h	Innovative Integration
 1304h	Juniper Networks
 1305h	NetPhone, Inc.
 1306h	Duet Technologies
 1307h	Computer Boards
 1308h	Jato Technologies, Inc.
 1309h	AB Semicon, Ltd.
 130Ah	Mitsubishi Electric MicroComputer
 130Bh	Colorgraphic Communications Corp.
 130Ch	AMBEX Technologies, Inc.
 130Dh	Accelerix, Inc.
 130Eh	Yamatake-Honeywell Co., Ltd.
 130Fh	Advanet, Inc.
 1310h	GESPAC
 1311h	VideoServer, Inc.
 1312h	Acuity Imaging, Inc.
 1313h	Yaskawa Electric Co.
 1316h	Teradyne, Inc.
 1317h	Bridgecom, Inc.
 1318h	Packet Engines, Inc.
 1319h	ForteMedia, Inc.
 131Ah	Finisar Corp.
 131Ch	Nippon Electro-Sensory Devices Corp.
 131Dh	Sysmic, Inc.
 131Eh	Xinex Networks, Inc.
 131Fh	SIIG, Inc.
 1320h	Crypto AG
 1321h	Arcobel Graphics BV
 1322h	MTT Co., Ltd.
 1323h	DOME, Inc.
 1324h	Sphere Communications
 1325h	Salix Technologies, Inc.
 1326h	SeaChange International
 1327h	Voss Scientific
 1328h	Quadrant International
 1329h	Productivity Enhancement
 132Ah	Microcom, Inc.
 132Bh	BroadBand Technologies
 132Ch	Micrel, Inc.
 132Dh	Integrated Silicon Solution, Inc.
 1330h	MMC Networks
 1331h	RadiSys Corporation
 1332h	Micro Memory
 1333h	???
 1334h	Redcreek Communications, Inc.
 1335h	Videomail, Inc.
 1336h	???
 1337h	Third Planet Publishing
 1338h	BT Electronics
 133Ah	VTEL Corp.
 133Bh	Softcom Microsystems
 133Ch	Holontech Corp.
 133Dh	S S Technologies
 133Eh	Virtual Computer Corp.
 133Fh	SCM Microsystems
 1340h	Atalla Corp.
 1341h	Kyoto Microcomputer Co.
 1342h	Promax Systems Inc.
 1343h	Phylon Communications, Inc.
 1344h	Crucial Technology
 1345h	Arescom, Inc.
 1346h	???
 1347h	Odetics
 1348h	???
 1349h	Sumitomo Electric Industries, Ltd.
 134Ah	DTC Technology Corp.
 134Bh	Ark Research Corp.
 134Ch	Chori Joho System Co., Ltd.
 134Dh	Pctel, Inc.
 134Eh	CSTI
 134Fh	Algo System Co., Ltd.
 1350h	Systec Co., Ltd.
 1351h	Sonix, Inc.
 1353h	Dassault A.T.
 1354h	dWave System, Inc.
 1355h	Kratos Analytical, Ltd.
 1356h	The Logical Co.
 1359h	Prisa Networks
 135Ah	Brain Boxes
 135Bh	Giganet, Inc.
 135Ch	Quatech, Inc.
 135Dh	ABB Network Partner AB
 135Eh	Sealevel Systems, Inc.
 135Fh	I-Data International A-S
 1360h	Meinberg Funkuhren
 1361h	Soliton Systems K.K.
 1362h	Fujifacom Corp.
 1363h	Phoenix Technology, Ltd.
 1364h	ATM Communications, Inc.
 1365h	Hypercope Corp.
 1366h	Teijin Seiki Co., Ltd.
 1367h	Hitachi Zosen Corp.
 1368h	Skyware Corp.
 1369h	Digigram
 136Ah	High Soft Tech
 136Bh	Kawasaki Steel Corp.
 136Ch	Adtek System Science Co., Ltd.
 136Dh	Gigalabs, Ltd.
 136Fh	Applied Magic, Inc.
 1370h	ATL Products
 1371h	CNET Technology, Inc.
 1373h	Silicon Vision, Inc.
 1374h	Silicom, Ltd.
 1375h	Argosystems, Inc.
 1376h	LMC
 1377h	Electronic Equipment Production
 1378h	Telemann Co., Ltd.
 1379h	Asahi Kasei Microsystems Co., Ltd.
 137Ah	Mark Of The Unicorn, Inc.
 137Bh	PPT Vision
 137Ch	Iwatsu Electric Co., Ltd.
 137Dh	Dynachip Corp.
 137Eh	Patriot Scientific Corp.
 137Fh	Japan Satellite Systems, Inc.
 1380h	Sanritz Automation Co., Ltd.
 1381h	Brains Co., Ltd.
 1382h	Marian - Electronic & Software
 1383h	Controlnet, Inc.
 1384h	Reality Simulation Systems, Inc.
 1385h	Netgear
 1386h	Video Domain Technologies
 1387h	Systran Corp.
 1388h	Hitachi Information Technology Co., Ltd.
 1389h	Applicom International
 138Ah	Fusion Micromedia Corp.
 138Bh	Tokimec, Inc.
 138Ch	Silicon Reality
 138Dh	Future Techno Designs Pte., Ltd.
 138Eh	Basler GmbH
 138Fh	Patapsco Designs, Inc.
 1390h	Concept Development, Inc.
 1391h	Development Concepts, Inc.
 1392h	Medialight, Inc.
 1394h	Level One Communications
 1395h	Ambicom, Inc.
 1396h	Cipher Systems, Inc.
 1397h	Cologne Chip Designs GmbH
 1398h	Clarion Co., Ltd.
 1399h	Rios Systems Co., Ltd.
 139Ah	Alacritech, Inc.
 139Bh	Mediasonic Multimedia Systems, Ltd.
 139Ch	Quantum 3D, Inc.
 139Dh	EPL, Ltd.
 139Eh	Media4
 139Fh	Aethra S.R.L.
 13A0h	Crystal Group, Inc.
 13A1h	Kawasaki Heavy Industries, Ltd.
 13A2h	Ositech Communications, Inc.
 13A3h	HI-FN
 13A4h	Rascom, Inc.
 13A5h	Audio Digital Imaging, Inc.
 13A6h	Videonics, Inc.
 13A7h	Teles AG
 13A8h	Exar Corp.
 13A9h	Ultrasound Group
 13AAh	Broadband Networks, Inc.
 13ABh	Arcom Control Systems, Ltd.
 13ACh	Motion Media Technology, Ltd.
 13ADh	Nexus, Inc.
 13AEh	ALD Technology, Ltd.
 13AFh	T.Sqware
 13B0h	Maxspeed Corp.
 13B1h	Tamura Corp.
 13B2h	Techno Chips Co., Ltd.
 13B3h	Lanart Corp.
 13B4h	Wellbean Co, Inc.
 13B5h	ARM
 13B6h	DLoG GmbH
 13B7h	LOGIC Devices, Inc.
 13B8h	Nokia Telecommunications Oy
 13B9h	Elecom Co., Ltd.
 13BAh	Oxford Instruments
 13BBh	Sanyo Technosound Co., Ltd.
 13BCh	Bitran Corp.
 13BDh	Sharp Corp.
 13BEh	Miroku Jyoho Service Co., Ltd.
 13BFh	Sharewave., Inc.
 13C0h	Microgate Corp.
 13C1h	3ware Inc.
 13C2h	Technotrend Systemtechnik GmbH
 13C3h	Janz Computer AG
 13C4h	Phase Metrics
 13C5h	Alphi Technology Corp.
 13C6h	Condor Engineering, Inc.
 13C7h	Blue Chip Technology, Ltd.
 13C8h	Apptech, Inc.
 13C9h	Eaton Corp.
 13CAh	IOMEGA Corp.
 13CBh	Yano Electric Co., Ltd.
 13CCh	Metheus Corp.
 13CDh	Compatible Systems Corp.
 13CEh	Cocom A/S
 13CFh	Studio Audio & Video, Ltd.
 13D0h	Techsan Electronics Co., Ltd.
 13D1h	Abocom Systems, Inc.
 13D2h	Shark Multimedia, Inc.
 13D3h	IMC Networks
 13D4h	Graphics Microsystems, Inc.
 13D5h	Media 100, Inc.
 13D6h	K.I. Technology Co., Inc.
 13D7h	Toshiba Engineering Corp.
 13D8h	Phobos Corp.
 13D9h	Apex PC Solutions, Inc.
 13DAh	Intresource Systems Pte., Ltd.
 13DBh	Janich & Klass Computertechnik GmbH
 13DCh	Netboost Corp.
 13DDh	Multimedia Bundle, Inc.
 13DEh	ABB Robotics Products AB
 13DFh	E-Tech, Inc.
 13E0h	GVC Corp.
 13E1h	Silicom Multimedia Systems, Inc.
 13E2h	Dynamics Research Corp.
 13E3h	Nest, Inc.
 13E4h	Calculex, Inc.
 13E5h	Telesoft Design, Ltd.
 13E6h	Argosy Research, Inc.
 13E7h	NAC, Inc.
 13E8h	Chip Express Corp.
 13E9h	Intraserver Technology, Inc.
 13EAh	Dallas Semiconductor
 13EBh	Hauppauge Computer Works, Inc.
 13ECh	Zydacron, Inc.
 13EDh	Raytheion E-Systems
 13EEh	Hayes Microcomputer Products, Inc.
 13F0h	Sundance Technology, Inc.
 13F1h	Oce' - Technologies B.V.
 13F2h	Ford Microelectronics, Inc.
 13F3h	McData Corp.
 13F4h	Troika Design, Inc.
 13F5h	Kansai Electric Co., Ltd.
 13F6h	C-Media Electronics, Inc.
 13F7h	Wildfire Communications
 13F8h	Ad Lib Multimedia, Inc.
 13F9h	NTT Advanced Technology Corp.
 13FAh	Pentland Systems, Ltd.
 13FBh	Aydin Corp.
 13FCh	Computer Peripherals International
 13FDh	Micro Science, Inc.
 13FEh	Advantech Co., Ltd.
 13FFh	Silicon Spice, Inc.
 1400h	ARTX, Inc.
 1401h	CR-Systems A/S
 1402h	Meilhaus Electronic GmbH
 1403h	Ascor, Inc.
 1404h	Fundamental Software, Inc.
 1405h	Excalibur Systems, Inc.
 1406h	Oce' Printing Systems GmbH
 1407h	Lava Computer Mfg., Inc.
 1408h	Aloka Co., Ltd.
 1409h	Timedia Technology Co., Ltd.
 140Ah	DSP Research, Inc.
 140Bh	Ramix, Inc.
 140Ch	Elmic Systems, Inc.
 140Dh	Matsushita Electrics Works, Ltd.
 140Eh	Goepel Electronic GmbH
 140Fh	Salient Systems Corp.
 1410h	Midas Lab, Inc.
 1411h	Ikos Systems, Inc.
 1412h	IC Ensemble, Inc.
 1413h	Addonics
 1414h	Microsoft
 1415h	Oxford Semiconductor, Ltd.
 1416h	Multiwave Innovation Pte, Ltd.
 1417h	Convergenet Technologies, Inc.
 1418h	Kyushu Electronics Systems, Inc.
 1419h	Excel Switching Corp.
 141Ah	Apache Micro Peripherals, Inc.
 141Bh	Zoom Telephonics, Inc.
 141Dh	Digitan Systems, Inc.
 141Eh	Fanuc, Ltd.
 141Fh	Visiontech, Ltd.
 1420h	Psion Dacom PLC
 1421h	ADS Technologies, Inc.
 1422h	Ygrec Systems Co., Ltd.
 1423h	Custom Technology Corp.
 1424h	Vidoeserver Connections
 1425h	ASIC Designers, Inc.
 1426h	Storage Technology Corp.
 1427h	Better On-line Solutions
 1428h	EDEC Co., Ltd.
 1429h	UNEX Technology Corp.
 142Ah	Kingmax Technology, Inc.
 142Bh	RadioLAN
 142Ch	Minton Optic Industry Co., Ltd.
 142Dh	Pix Stream, Inc.
 142Eh	Vitec Multimedia
 142Fh	Radicom Research, Inc.
 1430h	ITT Aerospace/Communications Division
 1431h	Gilat Satellite Networks
 1432h	Edimax Computer Co.
 1433h	Eltec Elektronik GmbH
 1435h	Real Time Devices US, Inc.
 1436h	CIS Technology, Inc.
 1437h	Nissin Co Inc
 1438h	Atmel-Dream
 1439h	Outsource Engineering & Mfg. Inc
 143Ah	Stargate Solutions Inc
 143Bh	Canon Research Center, America
 143Ch	Amlogic Inc
 143Dh	Tamarack Microelectronics Inc
 143Fh	Lightwell Co Ltd - Zax Division
 1440h	Algol Corp
 1441h	AGIE LTD
 1442h	Phoenix Contact Co GmbH
 1443h	Unibrain S.A.
 1444h	TRW
 1445h	Logical do Ltd
 1447h	AIM GmbH
 1448h	Alesis Studio
 1449h	TUT Systems Inc
 144Ah	Adlink Technology
 144Bh	Loronix Information Systems Inc
 144Ch	Catalina Research Inc
 144Eh	Olitec
 144Fh	Askey Computer Corp
 1450h	Nexus Systems Inc
 1451h	SP3D Chip Design GmbH
 1453h	Mycom Inc
 1454h	Altiga Networks
 1455h	Logic Plus Plus Inc
 1456h	Advanced Hardware
 1457h	Nuera Communications Inc
 1458h	Giga-Byte Technology
 1459h	Dooin Electronics
 145Ah	Escalate Networks Inc
 145Bh	Praim SRL
 145Ch	Cryptek
 145Dh	Gallant Computer Inc
 145Eh	Aashima Technology B.V.
 145Fh	Baldor Electric Company
 1460h	Dynarc Inc
 1461h	Avermedia Technologies Inc
 1462h	Micro-Star International Co Ltd
 1463h	Fast Corp
 1464h	Interactive Circuits & Systems Ltd
 1465h	GN Nettest Telecom Div.
 1466h	Designpro Inc
 1467h	Digicom SPA
 1468h	Ambit microsystem Corp
 1469h	Cleveland Motion Controls
 146Ah	IFR Ltd
 146Bh	Parascan Technologies Ltd
 146Ch	Ruby Tech Corp
 146Dh	Tachyon Inc
 146Eh	Williams Electronic Games Inc
 146Fh	Multi Dimensional Consulting Inc
 1470h	Bay Networks
 1471h	Integrated Telecom Express Inc
 1472h	Daikin Indistries Ltd
 1473h	Zapex Technologies Inc
 1474h	Doug Carson & Associates
 1475h	Picazo Communications
 1476h	Mortara Instrument Inc
 1477h	Net Insight
 1478h	Diatrend Corp
 1479h	Toray Industries Inc
 147Ah	Formosa Industrial Computing
 147Bh	Abit Computer Corp
 147Ch	Aware Inc
 147Dh	Interworks Computer Products
 147Eh	Matsushita Graphic Communication Systems Inc
 147Fh	Nihon Unisys Ltd
 1480h	SCII Telecom
 1481h	Biopac Systems Inc
 1482h	ISYTEC
 1483h	Labway Corp
 1668h	Action Tec Electronics, Inc.
 1A08h	Sierra Semiconductor
 1B13h	Jaton Corp.
 1C1Ch	Symphony (see #00864)
 1D44h	DPT
 1DE1h	TekRAM (see #00865)
 21C3h	21st Century Computer Corp.
 2348h	Racore 
 270Bh	Xantel Corp.
 270Fh	Chaintech Computer Co., Ltd.
 3000h	Hansol Electronics Inc.
 3142h	Post Impression Systems
 3388h	Hint Corp.
 3D3Dh	3DLabs (see #00866)
 4005h	Avance Logic, Inc. (see #00867)
 4444h	Internext Compression, Inc.
 4468h	BRIDGEPORT MACHINES
 4594h	Cogetec Informatique Inc.
 4680h	UMAX Computer Corp.
 4843h	Hercules Computer Technology, Inc.
 4942h	???
 4943h	Growth Networks
 4978h	Axil Computer, Inc.
 4A14h	NetVin
 4B10h	Buslogic Inc. (see #00869)
 4C48h	Lung Hwa Electronics
 4D51h	Mediaq Inc
 4DDCh	ILC data Device Corp.
 5053h	Voyetra Technologies
 5143h	Qualcomm, Inc.
 5333h	S3 (see also #00870)
 5455h	Technische Universit„t Berlin
 5519h	Cnet Technologies, Inc.
 5555h	Genroco Inc
 5700h	Netpower
 6356h	UltraStor
 6374h	c't Magazin fuer Computertechnik (see #00871)
 6409h	Logitec Corp
 6666h	Decision Computer International Co.
 7604h	O.N. Electric Co Ltd
 8008h	Quancom Electronic GmbH (see #00872)
 8086h	Intel (see also #00873)
 8800h	Trigem Computer (see #00874)
 8866h	T-Square Design Inc
 8888h	Silicon Magic
 8E0Eh	Computone Corporation
 8E2Eh	KTI
 9004h	Adaptec (see #00875)
 9005h	Adaptec
 907Fh	Atronics (see #00876)
 9412h	Holtek
 A200h	NEC Corp. (see #00754)
 A259h	Hewlett Packard (see #00757)
 A25Bh	Hewlett Packard GmbH PL24-MKT (see #00757)
 A304h	Sony
 A727h	3com Corp. (see #00796)
 AA42h	Scitex Digital Video
 B1B3h	Shiva Europe, Ltd.
 C001h	TSI Telsys
 C0A9h	Micron/Crucial Technology
 C0DEh	Motorola (see #00768)
 C0FEh	Motion Engineering, Inc.
 CAFEh	Chrysalis-ITS
 D4D4h	DY4 Systems Inc.
 E159h	Tiger Jet Network Inc.
 E000h	Winbond
 E159h	Tiger Jet Network Inc.
 ECC0h	Echo Corp.
 EDD8h	Ark Logic Inc (see #00877)
 FEDAh	Epigram Inc
Note:	this list, as well as the following per-vendor tables, tends to be
	  rather out-of-date.  The current version of the listing can be found
	  in PCICFG.DAT, part of the PCICFG program distributed in RBPCIxxx.ZIP
	  (available at http://www.pobox.com/~ralf/files.html).
SeeAlso: #00878

(Table 00733)
Values for Compaq PCI device code:
 0001h	EISA Bridge
 0002h	ISA Bridge
 1000h	Triflex/PCI CPU Bridge
 2000h	Triflex/PCI CPU Bridge
 3032h	QVision
 3033h	QVision 1280/p
 3034h	QVision 1280
 4000h	Triflex/PCI CPU Bridge
 AE32h	Netelligent 10/100 TX
 AE34h	Netelligent 10 T
 AE35h	Integrated NetFlex 3/P
 AE40h	Dual-port Netelligent 10/100 TX
 AE43h	ProLiant Integrated Netelligent 10/100
 B011h	Dual-port Netelligent 10/100 TX
 F130h	ThunderLAN
 F150h	NetFlex 3/P with BNC
SeeAlso: #00732

(Table 00734)
Values for Symbios Logic (formerly NCR) PCI device code:
 0001h	PCI revision ID:
	00-0Fh 53C810 (fast SCSI)
	10-1Fh 53C810A (fast SCSI)
	20-2Fh 53C810ALV (fast SCSI)
 0002h	53C820 (fast wide SCSI)
 0003h	PCI revision ID:
	00-0Fh 53C825 (fast wide SCSI)
	10-1Fh 53C825A (Ultra wide SCSI)
 0004h	53C815 (fast SCSI)
 0005h	53C810AP (fast SCSI)
 0006h	PCI revision ID:
	00-0Fh 53C860 (Ultra SCSI)
	10-1Fh 53C860LV (Ultra SCSI)
 000Fh	53C875 (Ultra wide SCSI)
 1000h	63c815 Fast-SCSI
SeeAlso: #00732

(Table 00735)
Values for ATI PCI device code:
 4158h	68800AX (Mach32)
 4354h	215CT222
 4358h	210888CX
 4758h	210888GX (Mach64)
 5654h	215VT222 Video Expression
SeeAlso: #00732

(Table 00736)
Values for ULSI Systems PCI device code:
 0201h	 US201 Graphics Controller
SeeAlso: #00732

(Table 00737)
Values for VLSI Technologies PCI device code:
 0005h	82C592 CPU Bridge
 0006h	82C593 ISA Bridge
 0007h	82C594 Wildcat System Ctrlr
 0008h	VL82C597 Wildcat ISA Bridge
 0009h	82C597
 000Ch	82C541
 000Dh	82C543
 0101h	82C532
 0102h	82C534
 0104h	82C535
 0105h	82C147
 0200h	82C975 RISC GUI Accelerator
 0280h	82C925 RISC GUI Accelerator
SeeAlso: #00732

(Table 00738)
Values for Avance Logic, Inc. (Avance Logics) PCI device code:
 2301h	ALG2301 GUI accelerator
 2302h	ALG2302 GUI accelerator
SeeAlso: #00732,INT 10/AX=4F70h

(Table 00739)
Values for National Semiconductor PCI device code:
 0001h	DP83810 Ethernet
 0002h	PC87415 IDE DMA-Master Mode controller (see #00922)
 D001h	NS87410 EIDE controller (see #00921)
SeeAlso: #00732,#00773

(Table 00740)
Values for Tseng Labs PCI device code:
 3202h	ET4000/W32p-2
 3205h	ET4000/W32p-B
 3206h	ET4000/W32p-C
 3207h	ET4000/W32p-D
 3208h	ET6000
SeeAlso: #00732

(Table 00741)
Values for Weitek PCI device code:
 9000h	Power9000???
 9001h	Power9001
 9100h	Power9100
SeeAlso: #00732

(Table 00742)
Values for DEC PCI device code:
 0001h	DC21050	DEC BRD PCI-PCI bridge
 0002h	DC21040	Tulip
 0004h	DecChip 21030
 0009h	DC21140	Tulip Fast (see #00923)
 000Ah	21230	Video Codec
 000Fh	DEFPA	FDDI
 0014h	DC21041	Tulip Plus (see #00923)
 0016h	DGLPB	ATM
 0019h	DC21143 PCI/Cardbus Ethernet
 0021h	21052	PCI-PCI Bridge (see #00924)
 0022h	21150	PCI-PCI Bridge
 0024h	21152	PCI-PCI Bridge
 0025h	21153	PCI-PCI Bridge
 0026h	21154	PCI-PCI Bridge
 0045h	21553	PCI-PCI Bridge
 0046h	21554	PCI-PCI Bridge
 1050h??? 21340 Managed Port Switch
SeeAlso: #00732

(Table 00743)
Values for Cirrus Logic PCI device code:
 0038h	CL-GD7548 Video Controller
 004Ch	CL-GD7556 64-bit Video/Graphics LCD/CRT Ctrlr
 00A0h	Cirrus 5430
 00A4h	Cirrus 5434-4
 00A8h	Cirrus 5434-8
 00ACh	Cirrus 5436
 00B8h	Cirrus GD5446
 00BCh	CL-GD5480 64-bit SGRAM GUI accelerator
 1100h	Cirrus 6729 PCMCIA Controller
 1110h	Cirrus 6832 PCMCIA/CardBus Ctrlr
 1200h	Cirrus 7542
 1202h	Cirrus 7543
 1204h	Cirrus 7541
 6001h	CS4610/4611 CrystalClear SoundFusion Audio Accelerator
SeeAlso: #00732

(Table 00744)
Values for IBM PCI device code:
 0002h	MCA Bridge
 0005h	Alta Lite CPU Bridge
 0007h	Alta MP CPU Bridge
 000Ah	ISA Bridge
 0017h	CPU Bridge
 0018h	Auto LANStreamer
 001Bh	GXT-150P Graphics Adapter
 001Dh	82G2675
 0020h	MCA Bridge
 0022h	PCI-PCI Bridge
 002Eh	??? RAID SCSI
 0036h	Miami/PCI  32-bit LocalBus Bridge
 0047h	???
 0048h	???
 004Ah	???
 004Bh	???
 004Ch	???
 004Dh	???
 004Eh	???
 004Fh	???
 0050h	???
 0051h	???
 0052h	???
 0053h	??? 25 MBit ATM controller
 0055h	???
 0059h	???
 005Ah	???
 005Bh	???
SeeAlso: #00732

(Table 00745)
Values for Western Digital PCI device code:
 0193h	WD33C193A 8-bit SCSI
 0196h	SCSI Bridge
 0197h	WD33C197A 16-bit SCSI
 0296h	WD33C296A 16-bit SCSI
 3193h	WD7193 Fast SCSI-II
 3197h	WD7197 Fast-Wide SCSI-II
 3296h	WD7197
 4296h	WD33C296 Wide Fast-20 Bridge
 C24Ah	90C?
SeeAlso: #00732

(Table 00746)
Values for AMI PCI device code:
 9010h	MegaRAID
 9030h	??? IDE Controller
 9031h	??? IDE Controller
 9032h	??? IDE/SCSI Controller
 9033h	??? SCSI Controller
 9040h	??? Multimedia card
SeeAlso: #00732

(Table 00747)
Values for Advanced Micro Devices (AMD) PCI device code:
 2000h	Am79C970 (Lance)
	Am79C970A (PCnet-PCI II, PCI revision ID is 1xh)
	Am79C971 (PCnet-FAST, PCI revision ID is 2xh)
 2020h	Am53c974 SCSI (see #00925)
 2040h	Am79C974 Ethernet/SCSI
SeeAlso: #00732

(Table 00748)
Values for Trident PCI device code:
 9320h	??? 32-bit GUI accelerator
 9350h	??? 32-bit GUI accelerator
 9360h	??? Flat-Panel controller
 9420h	Trident 9420
 9440h	Trident 9440
 9460h	Trident 9460
 9660h	Trident 9660
 9682h	??? Multimedia accelerator
SeeAlso: #00732

(Table 00749)
Values for LSI Logic PCI device code:
 0000h	Hydra (Pentium chipset)
 0010h	Aspen (486 chipset)
SeeAlso: #00732

(Table 00750)
Values for Matrox PCI device code:
 0518h	MGA-II (Ultima)
 0519h	Millenium (2064W)
 0D10h	MGA-I (Impression)
SeeAlso: #00732

(Table 00751)
Values for Chips & Technologies PCI device code:
 00B8h	64310 GUI Accelerator
 00D0h	65545 Flat Panel/CRT VGA
 00D8h	F65545
 00DCh	F65548
 00E0h	65550 Flat Panel/CRT GUI Accelerator
 00E4h	65554 display
 00E5h	65555 HiQVPro LCD/CRT GUI Controller
 00F4h	68554 HiQVision LCD/CRT GUI Controller
SeeAlso: #00732

(Table 00752)
Values for Toshiba America PCI device code:
 0009h	r4x00 Bridge
SeeAlso: #00732

(Table 00753)
Values for Miro Computer Products AG PCI device code:
 5601h	36050
 5607h	video in/out w/ MPEG
SeeAlso: #00732

(Table 00754)
Values for NEC Corporation PCI device code:
 0001h	PCI-to-486 Bridge
 0002h	PCI-to-VL98 Bridge
 0003h	ATM LAN controller
 0004h	r4000PCI Bridge
 0005h	PCI-to-486 Bridge
 0006h	GUI Accelerator
 0007h	PCI-to-UXbus Bridge
 0008h	GUI Accelerator
 0009h	PC-98 Graphics Controller
SeeAlso: #00732

(Table 00755)
Values for Future Domain PCI device code:
 0000h	TMC-36C70 / TMC-18C30 (fast SCSI)
SeeAlso: #00732

(Table 00756)
Values for Silicon Integrated System (SIS) PCI device code:
 0001h	SiS6201
 0002h	SiS6202
 0006h	SI 85C501/2
 0008h	SI 85C503/5513
 0205h	SiS6205
 0406h	SiS501
 0496h	SiS496
 0596h	Pentium chipset
 0601h	SiS601
 3602h	IDE controller
 5401h	486 chipset
 5511h	SiS5511 Pentium chipset
 5513h	SiS5513 EIDE controller
 5581h	Pentium chipset
 5582h	ISA Bridge
 5596h	Pentium chipset
 6204h	video decoder/MPEG
 6205h	PCI VGA controller
SeeAlso: #00732

(Table 00757)
Values for Hewlett-Packard PCI device code:
 1030h	J2585A DeskDirect 10/100 PCI NIC
 1040h	J2973A DeskDirect 10BaseT PCI NIC
 1041h	J2585B DeskDirect 10/100 PCI NIC
 1042h	J2970A DeskDirect 10BaseT/2 PCI NIC
 2910h	E2910A PCI-bus exerciser
 2925h	E2925A PCI-bus exerciser
SeeAlso: #00732

(Table 00758)
Values for PC Technology PCI device code:
 1000h	RZ1000
 1001h	RZ1001
SeeAlso: #00732

(Table 00759)
Values for Distributed Processing Technology (DPT) PCI device code:
 A400h	2124A/9X EATA SmartCache/RAID SCSI
SeeAlso: #00732

(Table 00760)
Values for OPTi PCI device code:
 A0F8h	82C750 (Vendetta) USB controller
 C557h	82C557
 C558h	82C558
 C567h	82C750 (Vendetta, device 0)
 C568h	82C750 (Vendetta, device 1)
 C621h	82C621 IDE controller / 82C750 Vendetta IDE controller
 C822h	82C822
 C824h	82C824 FireFox PC-Card controller
 C825h	82C825 FireBridge II
 C861h	82C861/82C871 FireLink/FireBlast PCI-to-USB Bridge (see #00965)
 D568h	82C750 Vendetta IDE controller
 D768h	82C750 Vendetta IDE controller (ultra DMA)
SeeAlso: #00732

(Table 00761)
Values for SGS Thomson Microelectronics PCI device code:
 0008h	SGS 2000
 0009h	SGS 1764
SeeAlso: #00732

(Table 00762)
Values for BusLogic PCI device code:
 0140h	MultiMaster NC
 1040h	MultiMaster
 8130h	FlashPoint
SeeAlso: #00732

(Table 00763)
Values for Texas Instruments PCI device code:
 0500h	100 Mbit LAN controller
 0508h	tms380c2x
 1000h	TI PCI Eagle i/f
 3D04h	TVP4010	 3D Graphics Processor	 !!!ti\slas155.pdf p.26
 A001h	TDC1570	 64-bit ATM sar
 A100h	TDC1561	 32-bit ATM sar
 AC10h	PCI1050	 PCCard controller
 AC11h	PCI1053	 PCCard controller
 AC12h	PCI1130	 PCCard controller
SeeAlso: #00732

(Table 00764)
Values for Oak Technology PCI device code:
 0107h	OTI-0107 (Spitfire)
SeeAlso: #00732

(Table 00765)
Values for Winbond PCI device code:
 0000h	??? Ethernet controller
 0001h	83769
 0105h	82C105
SeeAlso: #00732

(Table 00766)
Values for Hitachi Ltd. PCI device code:
 0001h	PCI Bridge
 0002h	PCI-bus controller
SeeAlso: #00732

(Table 00767)
Values for EFAR Microsystems PCI device code:
 0810h	486 Bridge
 0922h	Pentium/P54C Bridge
 0926h	ISA Bridge
SeeAlso: #00732

(Table 00768)
Values for Motorola PCI device code:
 0001h	MPC105 PowerPC chipset
SeeAlso: #00732

(Table 00769)
Values for Promise Technology PCI device code:
 5300h	Promise 5300
SeeAlso: #00732

(Table 00770)
Values for Number 9 Computer Company PCI device code:
 2309h	Imagine 128
 2339h	Imagine 128-2
SeeAlso: #00732

(Table 00771)
Values for United Microelectronics (UMC) PCI device code:
 0001h	UM82C881 (486 chipset)
 0002h	UM82C776 (ISA Bridge)
 0101h	UM8673F
 0881h	UM8881 (486 chipset)
 0886h	UM8886F (ISA Bridge)
 0891h	UM8891A
 1001h	UM886A (dual IDE controller)
 673Ah	UM8886BF
 8710h	UM8710 VGA controller
 886Ah	UM8886A
 8881h	UM8881F
 8886h	UM8886F
 8891h	UM8891 (Pentium chipset)
 9017h	UM9017F
 E881h	UM8881 (486 chipset)
 E886h	UM8886N
 E891h	UM8891N
SeeAlso: #00732

(Table 00772)
Values for 8x8 (X Tech) PCI device code:
 0001h	AGX-016
 0002h	IIT3204/3501 MPEG decoder
SeeAlso: #00732

(Table 00773)
Values for PicoPower PCI device code:
 0000h	PT80C826 VL Bridge
 0001h	Vesuvius V1-LS System Controller (see PORT 0024h"V1-LS")
	Revision ID field: 03h = Rev. AA, 04h = Rev. BB, 05h = Rev. CC
 0002h	Vesuvius V3-LS ISA Bridge (see #00971,PORT 0024h"V3-LS")
 0005h	National Semiconductor PC87550 PCI System Controller
 8002h	Vesuvius V3-LS ISA Bridge (secondary; Rev. BB and higher only)
SeeAlso: #00732,#00739

(Table 00774)
Values for Mylex Corporation PCI device code:
 0001h	DAC960P Wide SCSI + RAID
SeeAlso: #00732

(Table 00775)
Values for Yamaha Corporation PCI device code:
 0001h	?? 3D graphics controller
 0002h	YGV615	RPA3 3D graphics controller
SeeAlso: #00732

(Table 00776)
Values for NexGen Microsystems PCI device code:
 4E78h	NexGen 82C501
SeeAlso: #00732

(Table 00777)
Values for Q Logic PCI device code:
 1020h	ISP1020 Fast-Wide SCSI
 1022h	ISP1022 Fast-Wide SCSI
SeeAlso: #00732

(Table 00778)
Values for Leadtek Research PCI device code:
 0000h	LeadTek 805
SeeAlso: #00732

(Table 00779)
Values for Interphase PCI device code:
 0001h	ATM interface
 0002h	100 vg amylan controller
SeeAlso: #00732

(Table 00780)
Values for Data Technology Corporation (DTC) PCI device code:
 0802h	SL82C105  EIDE Controller
SeeAlso: #00732

(Table 00781)
Values for Contaq Microsystems PCI device code:
 0600h	Contaq 82C599
SeeAlso: #00732

(Table 00782)
Values for Forex Computer Corporation PCI device code:
 0001h	FR710  EIDE Controller
 0613h	??? Host Bridge
SeeAlso: #00732

(Table 00783)
Values for Bit3 Computer PCI device code:
 0001h	Model 617  PCI-VME Bus Adapter
SeeAlso: #00732

(Table 00784)
Values for Olicom PCI device code:
 0001h	??? Ethernet Controller
SeeAlso: #00732

(Table 00785)
Values for Intergraph Corporation PCI device code:
 0020h	3D graphics processor
 0021h	3D graphics processor w/texture
 0040h	3D graphics frame buffer
 0041h	3D graphics frame buffer
 0060h	proprietary bus bridge
 0720h	Motion JPEG codec
SeeAlso: #00732

(Table 00786)
Values for National Instruments PCI device code:
 C801h	PCI-GPIB
SeeAlso: #00732

(Table 00787)
Values for CMD Technology, Inc. PCI device code:
 0640h	CMD 640
 0642h	IDE controller with RAID-1
 0646h	CMD 646 EIDE
 0650h	PBC0650A Fast SCSI-II
SeeAlso: #00732

(Table 00788)
Values for Appian Technology:
 0038h	??? EIDE Controller
SeeAlso: #00732

(Table 00789)
Values for Vision / Quantum Designs Ltd. PCI device code:
 0001h	QD8500
 0002h	QD8580
SeeAlso: #00732

(Table 00790)
Values for Brooktree Corporation PCI device code:
 0350h	BT848  TV/PCI with DMA Push
 2115h	BtV 2115 Mediastream Controller
 2125h	BtV 2125 Mediastream Controller
 8230h	Bt8230 ATM Segment/Reassembly Ctrlr (SRC) (see #00981)
SeeAlso: #00732

(Table 00791)
Values for Sierra Semiconductor PCI device code:
 0000h	STB 64-bit GUI accelerator
SeeAlso: #00732

(Table 00792)
Values for ACC Microelectronics PCI device code:
 0000h	ACC 2056
SeeAlso: #00732

(Table 00793)
Values for Symphony Labs PCI device code:
 0001h	83769
 0103h	sl82c103 PCI-IDE Controller
 0105h	82C105 bus-master PCI-IDE controller
SeeAlso: #00732

(Table 00794)
Values for PLX Technology PCI device code:
 9036h	PCI9036 interface chip
 9060h	PCI9060xx interface chip
SeeAlso: #00732

(Table 00795)
Values for Madge Networks PCI device code:
 0001h	Smart 16/4 Ringnode
 1000h	Collage 25 ATM adapter
 1001h	Collage 155 ATM adapter
SeeAlso: #00732

(Table 00796)
Values for 3com Corporation PCI device code:
 5900h	3C590
 5950h	3C595TX
 5951h	3C595T4
 5952h	3C595MII
 8811h	token ring
 9000h	3C900-TPO Fast Etherlink
 9001h	3C900-COMBO Fast Etherlink
 9050h	3C905-TX Fast Etherlink 10/100
SeeAlso: #00732

(Table 00797)
Values for Standard Microsystems Corporation (SMC) PCI device code:
 1000h	37C665 floppy disk controller
 1001h	37C922 floppy disk controller
SeeAlso: #00732

(Table 00798)
Values for Acer Labs Inc. PCI device code:
 1435h	M1435 VL Bridge
 1445h	ALI M1445 VL bridge + EIDE
 1449h	ALI M1449 ISA bridge
 1451h	ALI M1451 Pentium chipset
 1461h	ALI M1461 P54C chipset
 1489h	ALI M1489
 1511h	ALI M1511
 1513h	ALI M1513
 3141h	M3141 GUI accelerator VRAM
 3143h	M3143 GUI accelerator VRAM/DAC
 3145h	M3145 GUI accelerator VRAM
 3147h	M3147 GUI accelerator VRAM/DAC
 3149h	M3149 GUI accelerator VRAM
 3151h	M3151 GUI accelerator VRAM
 5212h	M4803
 5215h	ALI MS4803 EIDE controller
 5217h	m5217 I/O
 5219h	m5219 I/O
 5235h	m5225 I/O
SeeAlso: #00732

(Table 00799)
Values for Surecom Technology PCI device code:
 5240h	IDE Controller
 5241h	PCMCIA Bridge
 5242h	general-purpose controller
 5243h	Bus controller
 5244h	Floppy-disk controller
SeeAlso: #00732

(Table 00800)
Values for Neomagic Corporation:
 0000h	graphics controller
SeeAlso: #00732

(Table 00801)
Values for Advanced System Products PCI device code:
 1100h	ABP940 revision A??? SCSI
 1200h	ABP940 revision B??? Fast SCSI-2
 1300h	Fast-Wide SCSI controller
SeeAlso: #00732

(Table 00802)
Values for Citicorp TTI PCI device code:
 2001h	mb86605 Wide SCSI-2
SeeAlso: #00732

(Table 00803)
Values for CENR/ECP/EDU PCI device code:
 0001h	SPSB PMC
 0002h	SPSB PCI
 10DCh	ATT 2C15-3 FPGA
SeeAlso: #00732

(Table 00804)
Values for Evans & Sutherland PCI device code:
 0001h	3D graphics processor
SeeAlso: #00732

(Table 00805)
Values for Emulex Corporation PCI device code:
 1AE5h	Fibre Channel Host Adapter
SeeAlso: #00732

(Table 00806)
Values for Integrated Micro Solutions PCI device code:
 5026h	IMS5026/27/28 VL Bridge
 5028h	ISA Bridge
 8849h	IMS 8849
 8853h	ATM network card
 9128h	IMS9129 GUI accelerator
SeeAlso: #00732

(Table 00807)
Values for TekRAM Technology Corporation Ltd. PCI device code:
 690Ch	TekRAM 690c
SeeAlso: #00732

(Table 00808)
Values for Newbridge Microsystems PCI device code:
 0000h	CA91C042 VMEbus Bridge
SeeAlso: #00732

(Table 00809)
Values for Applied Micro Circuits Corp. PCI device code:
 4750h	S5933 PCI controller
 8043h	MyriNet
SeeAlso: #00732

(Table 00810)
Values for Integraphics Systems PCI device code:
 1680h	1680
SeeAlso: #00732

(Table 00811)
Values for Artist Graphics PCI device code:
 0101h	3GA 64-bit graphics processor
SeeAlso: #00732

(Table 00812)
Values for Realtek Semiconductor PCI device code:
 8029h	Realtek 8029
SeeAlso: #00732

(Table 00813)
Values for ASCII Corporation PCI device code:
 7310h	V7310 VGA Video Overlay
SeeAlso: #00732

(Table 00814)
Values for NKK Corporation PCI device code:
 A001h	NDR4000	  NR4600 Bridge
SeeAlso: #00732

(Table 00815)
Values for Truevision PCI device code:
 0000h	??? GUI Accelerator
 0001h	??? GUI Accelerator
 0002h	??? GUI Accelerator
 0003h	??? GUI Accelerator
 0004h	??? GUI Accelerator
 0005h	??? GUI Accelerator
 0006h	??? GUI Accelerator
 0007h	??? GUI Accelerator
 0008h	??? GUI Accelerator
 0009h	??? GUI Accelerator
 0010h	??? GUI Accelerator
 0011h	??? GUI Accelerator
 0012h	??? GUI Accelerator
 0013h	??? GUI Accelerator
 0014h	??? GUI Accelerator
 0015h	??? GUI Accelerator
SeeAlso: #00732

(Table 00816)
Values for Initio Corporation PCI device code:
 9100h	320P
 9400h	Fast-Wide SCSI
 9700h	Fast-Wide SCSI
SeeAlso: #00732

(Table 00817)
Values for VIA Technologies PCI device code:
 0505h	VIA 82C505
 0561h	VIA 82C561
 0571h	AMD-645 Peripheral Bus Controller, function 1 (see #01034)
	VT82C586A/B PCI Integrated Peripheral Controller, function 1
 0576h	VIA 82C576
 0585h	VT82C585VPX Host Bus-PCI bridge (see #00982)
 0586h	AMD-645 Peripheral Bus Controller, function 0 (see #01011)
	VT82C586A/B PCI Integrated Peripheral Controller, function 0
 0595h	AMD-640 System Controller (see #00983)
	VT82C595
 0597h	VT82C597 / VT82C597AT
 1000h	82C570MV P54 Controller
 1106h	82C570MV ISA Bridge + IDE
 1571h	VIA 82C416
 3038h	AMD-645 Peripheral Bus Controller, function 2 (see #01046)
	VT82C586A/B PCI Integrated Peripheral Controller, function 2
 3040h	AMD-645 Peripheral Bus Controller, function 3 (see #01049)
	VT82C586B PCI Integrated Peripheral Controller, function 3
SeeAlso: #00732

(Table 00818)
Values for Proteon Inc. PCI device code:
 0100h	p1690plus-AA  Token Ring
 0101h	p1690plus-AB 2-port Token Ring
SeeAlso: #00732

(Table 00819)
Values for Cogent Data Technologies PCI device code:
 1400h	EM110TX PCI Fast Ethernet
SeeAlso: #00732

(Table 00820)
Values for Siemens Nixdorf PCI device code:
 6120h	SZB6120 Multimedia Adapter
SeeAlso: #00732

(Table 00821)
Values for Rockwell PCI device code:
 2200h	FDDI adapter
 2300h	Fast Ethernet adapter
 2340h	four-port Fast Ethernet
 2400h	ATM adapter
SeeAlso: #00732

(Table 00822)
Values for Datacube Inc. PCI device code:
 9500h	MAX-LC SuperVGA
 9501h	MAX-LC image processing
SeeAlso: #00732

(Table 00823)
Values for Vortex Computersysteme GmbH PCI device code:
 0000h	GDT60x0 SCSI RAID
 0001h	GDT6000B SCSI RAID
 0002h	GDT6x10 SCSI RAID
 0003h	GDT6x20 two-channel SCSI RAID
 0004h	GDT6530 three-channel SCSI RAID
 0005h	GDT6550 five-channel SCSI RAID
 0006h	GDT6x17
 0007h	GDT6x27
 0008h	GDT6537
 0009h	GDT6557
 000Ah	GDT6x15
 000Bh	GDT6x25
 000Ch	GDT6535
 000Dh	GDT6555
SeeAlso: #00732

(Table 00824)
Values for Efficient Networks, Inc. PCI device code:
 0000h	155P-MF1 ATM FPGA
 0002h	ATM ASIC
SeeAlso: #00732

(Table 00825)
Values for FORE Systems PCI device code:
 0210h	PCA200PC
 0300h	PCA200E
SeeAlso: #00732

(Table 00826)
Values for Infomedia MicroElectronics PCI device code:
 0000h	EIDE/HD and IDE/CD-ROM controller
 000Bh	EIDE/HD and IDE/CD-ROM controller
SeeAlso: #00732

(Table 00827)
Values for Imaging Technology PCI device code:
 0000h	ICPCI
 0001h	video frame grabber/processor
SeeAlso: #00732

(Table 00828)
Values for Mercury Computer Systems PCI device code:
 0001h	Raceway Bridge
SeeAlso: #00732

(Table 00829)
Values for Fuji Xerox Co Ltd. PCI device code:
 0001h	Printer Controller
SeeAlso: #00732

(Table 00830)
Values for Ziatech Corporation PCI device code:
 8905h	8905 STD-32 Bridge
SeeAlso: #00732

(Table 00831)
Values for Dynamic Pictures Inc. PCI device code:
 0001h	VGA-compatible 3D graphics
SeeAlso: #00732

(Table 00832)
Values for Cyclone Microsystems (PLX Technology???) PCI device code:
 0001h	PLX 9060
 0911h	PCI 911	 i960Jx Intelligent I/O
 0912h	PCI 912	 i960Cx Intelligent I/O
 0913h	PCI 913	 i960Hx Intelligent I/O
SeeAlso: #00732

(Table 00833)
Values for Crest Microsystem PCI device code:
 0001h	EIDE/ATAPI super adapter
SeeAlso: #00732

(Table 00834)
Values for Alliance Semiconductor Corp. PCI device code:
 3210h	Pro Motion 3210
 6410h	GUI Accelerator
 6412h	GUI Accelerator
 6420h	GUI Accelerator
 6422h	Pro Video
 6424h	GUI Accelerator
 6426h	GUI Accelerator
SeeAlso: #00732

(Table 00835)
Values for Cincinnati Milacron PCI device code:
 0001h	Noservo Controller
SeeAlso: #00732

(Table 00836)
Values for Schneider & Koch Co. PCI device code:
 4000h	FDDI adapter
SeeAlso: #00732

(Table 00837)
Values for VMIC PCI device code:
 7587h	VME
SeeAlso: #00732

(Table 00838)
Values for Digi International / Stargate PCI device code:
 0003h	RightSwitch
SeeAlso: #00732

(Table 00839)
Values for Voarx R&D Inc. PCI device code:
 3011h	Tokenet/vg 1001/10m anylan
 9050h	Lanfleet/Truevalue
SeeAlso: #00732

(Table 00840)
Values for MuTech PCI device code:
 0001h	MV1000
SeeAlso: #00732

(Table 00841)
Values for PFU Ltd. PCI device code:
 0001h	Host Bridge
SeeAlso: #00732

(Table 00842)
Values for Creative Labs (vendor ID 1163h) PCI device code:
 0001h	3D Blaster
SeeAlso: #00732

(Table 00843)
Values for Imagraph Corporation PCI device code:
 0001h	Motion JPEG record/play w/ audio
SeeAlso: #00732

(Table 00844)
Values for Alfa Inc. PCI device code:
 AFA1h	Fast Ethernet
SeeAlso: #00732

(Table 00845)
Values for Matsushita Electronics PCI device code:
 1592h	???
SeeAlso: #00732

(Table 00846)
Values for Corollary Inc. PCI device code:
 0014h	PCIB  C-bus II to PCI bridge chip
SeeAlso: #00732

(Table 00847)
Values for BitFlow Inc. PCI device code:
 0001h	Raptor-PCI frame grabber
SeeAlso: #00732

(Table 00848)
Values for Artop Electric PCI device code:
 0001h	IDE controller
 0002h	IDE controller
 0003h	SCSI-2 cache controller
 0004h	ATP8400 ASIC cache accelerator
 8001h	SCSI-2 cache controller
 8002h	SCSI-2 controller
SeeAlso: #00732

(Table 00849)
Values for Zeitnet Inc. PCI device code:
 0001h	Zeitnet 1221
 0002h	Zeitnet 1225
SeeAlso: #00732

(Table 00850)
Values for InnoSys Inc. PCI device code:
 4240h	AMCC S5933Q Intelligent Serial Card
SeeAlso: #00732

(Table 00851)
Values for Galileo Technology PCI device code:
 0146h	GT-64010 System Controller for R46xx CPU
 4801h	GT-48001 8-port switched Ethernet ctrlr
SeeAlso: #00732

(Table 00852)
Values for V3 Semiconductor Inc. PCI device code:
 0292h	V292PBC	 Am29030/40 Bridge
 0960h	V96xPBC	 i960 Bridge
 C960h	V96DPC	 i960 dual PCI Bridge
SeeAlso: #00732

(Table 00853)
Values for Pathlight Technology PCI device code:
 C0EDh	SSA Controller
SeeAlso: #00732

(Table 00854)
Values for Dolphin Interconnect Solutions PCI device code:
 0658h	PSB  PCI-SCI Bridge
SeeAlso: #00732

(Table 00855)
Values for Specialix Research Ltd. PCI device code:
 2000h	PCI-9050 Target Interface
 4000h	Specialix XIO (SUPI-1 Target Interface)
 8000h	Specialix RIO (T255 Bridge)
SeeAlso: #00732

(Table 00856)
Values for Compex USA, Inc. PCI device code:
 1401h	ReadyLINK RL2000 10MBit NIC
SeeAlso: #00732

(Table 00857)
Values for PMC-Sierra Inc. PCI device code:
 7375h	PM7375 LASAR-155 ATM SAR
SeeAlso: #00732

(Table 00858)
Values for RP PCI device code:
 0001h	RP8OCTA
 0002h	RP8INTF
 0003h	RP16INTF
 0004h	RP32INTF
SeeAlso: #00732

(Table 00859)
Values for Cyclades PCI device code:
 0100h	Cyclom Y Lo multiport serial card
 0101h	Cyclom Y Hi
 0200h	Cyclom Z Lo multiport serial card
 0201h	Cyclom Z Hi
SeeAlso: #00732

(Table 00860)
Values for Ariel Corporation PCI device code:
 1220h	AMCC 5933  TMS320C80 DSP/Imaging Board
SeeAlso: #00732

(Table 00861)
Values for Harris Semiconductor PCI device code:
 8130h	HMP8130 NTSC/PAL Video Decoder
 8131h	HMP8131 NTSC/PAL Video Decoder
SeeAlso: #00732

(Table 00862)
Values for Ensoniq PCI device code:
 1371h	AudioPCI-97 ES1371
 5000h	AudioPCI ES1370
SeeAlso: #00732

(Table 00863)
Values for Picture Elements PCI device code:
 0081h	PCIVST	PCI Thresholding Engine
SeeAlso: #00732

(Table 00864)
Values for Symphony PCI device code:
 0001h	Symphony 82C101 IDE controller
SeeAlso: #00732

(Table 00865)
Values for TekRAM PCI device code:
 DC29h	DC290 / DC290M EIDE controller
SeeAlso: #00732

(Table 00866)
Values for 3DLabs PCI device code:
 0004h	3C0SX GUI Accelerator
SeeAlso: #00732

(Table 00867)
Values for Avance Logic, Inc. PCI device code:
 2301h	AVL2301 GUI Accelerator
 2303h	AVG2302 GUI Accelerator
SeeAlso: #00732

(Table 00868)
Values for 4942h PCI device code:
 4C4Ch	??? (Ensoniq AudioPCI ES1370 subsystem)
SeeAlso: #00732

(Table 00869)
Values for BusLogic Inc. PCI device code:
 3080h	??? SCSI-ti
 4010h	??? Fast-Wide SCSI-2
SeeAlso: #00732

(Table 00870)
Values for S3 PCI device code:
 5631h	86C325 ViRGE 3D GUI Accelerator
 8800h	Vision 866
 8801h	Vision 964
 8810h	S3 Trio32
 8811h	S3 Trio64, or Trio64V+
 8812h	S3 Trio64UV+
 8813h	S3 Trio64? v3
 883Dh	S3 ViRGE/VX
 888xh	S3 868
 88Bxh	S3 928
 88C0h	S3 864-1
 88C1h	S3 864-2
 88C2h	S3 864-3
 88C3h	S3 864-4
 88D0h	S3 964-1
 88D1h	S3 964-2
 88D2h	S3 964-3
 88D3h	S3 964-4
 88F0h	S3 968
 88F1h	S3 968-2
 88F2h	S3 968-3
 88F3h	S3 968-3
 8900h	S3 Trio64 V2/DX GUI Accelerator
 8901h	S3 775 Trio64V2
 8902h	S3 PLATO/PX
 8A01h	S3 ViRGE/DX or ViRGE/GX
 8A10h	???
 8C00h	???
 8C01h	???
SeeAlso: #00732,#00873

(Table 00871)
Values for c't Magazin fr Computer PCI device code:
 6773h	GPPCI  PCI interface
SeeAlso: #00732

(Table 00872)
Values for Quancom Electronic PCI device code:
 0010h	PCI-WDOG1 Watchdog
 0011h	PWDOG2 Watchdog2/PCI
SeeAlso: #00732

(Table 00873)
Values for Intel PCI device code:
 0482h	82375EB/SB PCI-EISA Bridge (see #01054)
 0483h	82424 Cache Controller (see #01063)
 0484h	82378/82379 Bus Interface (Mercury/Saturn/Neptune chipsets) (see #01064)
 0486h	82425EX/82430
 04A3h	82434 LX (Mercury) / NX (Neptune) (see #01055)
 0960h	i960 RP Microprocessor/Bridge
 1221h	82092AA PCMCIA Bridge
 1222h	82092AA IDE Controller
 1223h	Intel SAA7116
 1226h	82596
 1227h	82865
 1228h	EtherExpress Pro/100 Smart
 1229h	82557 Fast Ethernet (see #01227)
 122Dh	82437FX (Triton)
 122Eh	82371FB ISA Bridge (Triton)
 1230h	82338 IDE controller / 82371FB IDE function (Triton)
 1234h	82371MX (see #01168)
 1235h	82437MX
 1237h	82441FX (see #01229)
 1239h	82371FB IDE Interface (Triton)
 123Ch	82380AB Mobile PCI-to-ISA Bridge (see #01090)
 124Bh	82380FB Mobile PCI-to-PCI Bridge (see #04069)
 1250h	82439HX (430HX chipset) (see #01098)
 1960h	80960RP i960RP Microprocessor
 7000h	82371SB ISA Bridge (see #01167)
 7010h	82371SB IDE controller (see #01214)
 7020h	82371SB (see #01215)
 7030h	82437VX (430VX chipset) (see #01108)
 7100h	82439TX (430TX chipset) (see #01099)
 7110h	82371AB PIIX4 ISA Bridge (see #01100)
 7111h	82371AB PIIX4 Ultra DMA IDE Controller (see #01103)
 7112h	82371AB PIIX4 USB Controller (see #01104)
 7113h	82371AB PIIX4 Power Management Controller (see #01105)
 7180h	82443LX/EX 440LX/EX Host-PCI Bridge (see #01129)
 7181h	82443LX/EX 440LX/EX AGP device (see #01130)
 7190h	82443BX 440BX PCI-Host Bridge (AGP Enabled) (see #01142)
 7191h	82443BX 440BX PCI-PCI Bridge (see #01143)
 7192h	82443BX 440BX PCI-Host Bridge (AGP Disabled) (see #01142)
 71A0h	82443GX Host Bridge/Controller (AGP enabled)
 71A1h	82443GX AGP Controller
 71A2h	82443GX Host Bridge/Controller (AGP disabled)
 84C4h	82450KX/GX PCI Bridge (Orion) (see #01240)
 84C5h	82450KX/GX Memory Ctrlr (Orion)
 84CAh	82451NX (450NX) Memory & I/O Controller (MIOC)
 84CBh	82454NX (450NX) PCI Expansion Bridge (PXB)
SeeAlso: #00732,#00870

(Table 00874)
Values for Trigem Computer PCI device code:
 2008h	video assistant
SeeAlso: #00732

(Table 00875)
Values for Adaptec PCI device code:
 1078h	AIC-7810C RAID Coprocessor
 5078h	x940 Fast-Wide SCSI-II Ctrlr
 5578h	AHA-2830P SCSI Controller
 7078h	AHA-294x/AIC-7870P Fast-Wide SCSI-II
 7178h	AHA-2940 Fast-Wide SCSI-II
 7278h	x940 two-channel Fast-Wide SCSI
 7378h	AHA-3985 4-channel RAID SCSI
 7478h	AHA-2944 SCSI
 7810h	AIC-7810 memory control IC
 7850h	AIC-7850 SCSI IC (see #01241)
 7855h	AHA-2930 SCSI
 7870h	AIC-7870 SCSI IC
 7871h	AHA-2940
 7872h	AHA-3940
 7873h	AHA-3980
 7874h	AHA-2944 Differential SCSI
 7880h	AIC-7880 Fast-20 SCSI
 8078h	Adaptec 7880
 8178h	Adaptec 2940UW
 8278h	AHA-3940U/UW
 8378h	Adaptec 7883
 8478h	Adaptec 7884
SeeAlso: #00732

(Table 00876)
Values for Atronics PCI device code:
 2015h	Atronics 2015
SeeAlso: #00732

(Table 00877)
Values for Ark Logic Inc. PCI device code:
 A091h	ARK 1000PV ??? Stingray
 A099h	ARK 2000PV ??? Stingray
 A0A1h	ark2000mt 64-bit GUI Accel w/DCI
SeeAlso: #00732

Top
1AB103 - INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE
INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE
	AX = B103h
	ECX = class code (see also #F0085,#00878)
	    bits 31-24 unused
	    bits 23-16 class
	    bits 15-8  subclass
	    bits 7-0   programming interface
	SI = device index (0-n)
Return: CF clear if successful
	CF set on error
	AH = status (00h,86h) (see #00729)
	    00h successful
		BH = bus number
		BL = device/function number (bits 7-3 device, bits 2-0 func)
	    86h device not found
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
	all devices sharing the same Class Code may be enumerated by
	  incrementing SI from 0 until error 86h is returned
SeeAlso: AX=B183h

Top
1AB106 - INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS
INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS
	AX = B106h
	BL = bus number
	EDX = Special Cycle data
Return: CF clear if successful
	CF set on error
	AH = status (00h,81h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Note:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
SeeAlso: AX=B186h,INT 2F/AX=1684h/BX=304Ch

Top
1AB108 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE
	AX = B108h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    CL = byte read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
BUG:	the Award BIOS 4.51PG (dated 05/24/96) incorrectly returns FFh for
	  register 00h if the PCI function number is nonzero
SeeAlso: AX=B109h,AX=B10Ah,AX=B188h,INT 2F/AX=1684h/BX=304Ch

Top
1AB109 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD
	AX = B109h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh, must be multiple of 2) (see #00878)
Return: CF clear if successful
	    CX = word read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
BUG:	the Award BIOS 4.51PG (dated 05/24/96) incorrectly returns FFFFh for
	  register 00h if the PCI function number is nonzero
SeeAlso: AX=B108h,AX=B10Ah,AX=B189h,INT 2F/AX=1684h/BX=304Ch

Top
1AB10A - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD
	AX = B10Ah
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh, must be multiple of 4) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
BUG:	the Award BIOS 4.51PG (dated 05/24/96) incorrectly returns FFFFFFFFh
	  for register 00h if the PCI function number is nonzero
SeeAlso: AX=B108h,AX=B109h,AX=B10Ah/SF=8086h,AX=B18Ah,INT 2F/AX=1684h/BX=304Ch

Format of PCI Configuration Data:
Offset	Size	Description	(Table 00878)
 00h	WORD	vendor ID (read-only) (see #00732 at AX=B102h)
		FFFFh returned if requested device non-existent
 02h	WORD	device ID (read-only)
 04h	WORD	command register (see #00879)
 06h	WORD	status register (see #00880)
 08h	BYTE	revision ID
 09h  3 BYTEs	class code
		bits 7-0: programming interface
		bits 15-8: sub-class
		bits 23-16: class code (see also #F0085)
 0Ch	BYTE	cache line size
 0Dh	BYTE	latency timer
 0Eh	BYTE	header type
		bits 6-0: header format
			00h other
			01h PCI-to-PCI bridge
			02h PCI-to-CardBus bridge
		bit 7: multi-function device
 0Fh	BYTE	Built-In Self-Test result (see #00881)
---header type 00h---
 10h	DWORD	base address 0 (see #00882)
		(OpenHCI) base address of host controller registers (see #00902)
 14h	DWORD	base address 1
 18h	DWORD	base address 2
 1Ch	DWORD	base address 3
 20h	DWORD	base address 4
 24h	DWORD	base address 5
 28h	DWORD	CardBus CIS pointer (read-only) (see #00889)
 2Ch	WORD	subsystem vendor ID or 0000h
 2Eh	WORD	subsystem ID or 0000h
 30h	DWORD	expansion ROM base address (see #00883)
 34h	BYTE	offset of capabilities list within configuration space (R/O)
		(only valid if status register bit 4 set) (see #00884)
 35h  3 BYTEs	reserved
 38h	DWORD	reserved
 3Ch	BYTE	interrupt line
		00h = none, 01h = IRQ1 to 0Fh = IRQ15
 3Dh	BYTE	interrupt pin (read-only)
		(00h = none, else indicates INTA# to INTD#)
 3Eh	BYTE	minimum time bus master needs PCI bus ownership, in 250ns units
		(read-only)
 3Fh	BYTE	maximum latency, in 250ns units (bus masters only) (read-only)
 40h 48 DWORDs	varies by device (see #00919,#00920,#01055,#01083)
---header type 01h---
 10h	DWORD	base address 0 (see #00882)
 14h	DWORD	base address 1
 18h	BYTE	primary bus number (for bus closer to host processor)
 19h	BYTE	secondary bus number (for bus further from host processor)
 1Ah	BYTE	subordinate bus number
 1Bh	BYTE	secondary latency timer
 1Ch	BYTE	I/O base (see #00899)
 1Dh	BYTE	I/O limit (see #00899)
 1Eh	WORD	secondary status
 20h	WORD	memory base (see #00900)
 22h	WORD	memory limit
 24h	WORD	prefetchable memory base
 26h	WORD	prefetchable memory limit
 28h	DWORD	prefetchable base, upper 32 bits
 2Ch	DWORD	prefetchable limit, upper 32 bits
 30h	WORD	I/O base, upper 16 bits
 32h	WORD	I/O limit, upper 16 bits
 34h	DWORD	reserved
 38h	DWORD	expansion ROM base address
 3Ch	BYTE	interrupt line
 3Dh	BYTE	interrupt pin (read-only)
 3Eh	WORD	bridge control (see #00901)
 40h 48 DWORDs	varies by device (see #00919,#00920,#01055,#01083)
---header type 02h---
 10h	DWORD	CardBus Socket/ExCa base address (see #00890)
		bits 31-12: start address of socket interface register block
			  in 4K blocks
		bits 11-0: reserved (0)
 14h	BYTE	offset of capabilities list within configuration space (R/O)
		(only valid if status register bit 4 set) (see #00884)
 15h	BYTE	reserved
 16h	WORD	secondary status
 18h	BYTE	PCI bus number
 19h	BYTE	CardBus bus number
 1Ah	BYTE	subordinate bus number
 1Bh	BYTE	CardBus latency timer
 1Ch	DWORD	memory base address 0
 20h	DWORD	memory limit 0
 24h	DWORD	memory base address 1
 28h	DWORD	memory limit 1
 2Ch	WORD	I/O base address 0
 2Eh	WORD	I/O base address 0 high word (optional)
 30h	WORD	I/O limit 0
 32h	WORD	I/O limit 0 high word (optional)
 34h	WORD	I/O base address 1
 36h	WORD	I/O base address 1 high word (optional)
 38h	WORD	I/O limit 1
 3Ah	WORD	I/O limit 1 high word (optional)
 3Ch	BYTE	interrupt line
 3Dh	BYTE	interrupt pin (read-only) (no interrupt used if 00h)
 3Eh	WORD	bridge control
 40h	WORD	subsystem vendor ID
 42h	WORD	subsystem device ID
 44h	DWORD	16-bit PC Card legacy mode base address (for accessing ExCa
		  registers)
 48h 14 DWORDs	reserved
 80h 32 DWORDs	varies by device (see #00919,#00920,#01055,#01083)

Bitfields for PCI Configuration Command Register:
Bit(s)	Description	(Table 00879)
 0	I/O access enabled
 1	memory access enabled
 2	bus master enable
 3	special cycle recognition enabled
 4	memory write and invalidate enabled
 5	VGA palette snoop enabled
 6	parity error response enabled
 7	wait cycles enabled
 8	system error (SERR# line) enabled
 9	fast back-to-back transactions enabled
 15-10	reserved
SeeAlso: #00878,#00880

Format of PCI Configuration Status Register:
Bit(s)	Description	(Table 00880)
 3-0	reserved (0)
 4	new capabilities list is present (first entry pointed at by byte at
	  34h or 14h)
 5	capable of running at 66 MHz
 6	UDF supported
 7	capable of fast back-to-back transactions
 8	data parity error reported
 10-9	device select timing
	00 fast
	01 medium
	10 slow
	11 reserved
 11	signaled target abort
 12	received target abort
 13	received master abort
 14	signaled system error (device is asserting SERR# line)
 15	detected parity error (set even if parity error reporting is disabled)
Note:	bits 12, 13 and 15 are cleared by writing a 1 into the corresponding
	  bit
SeeAlso: #00878,#00879

Bitfields for PCI Configuration Built-In Self-Test register:
Bit(s)	Description	(Table 00881)
 3-0	completion code (0000 = successful)
 5-4	reserved
 6	start BIST (set to one to start, cleared automatically on completion)
 7	BIST-capable
Notes:	this register is hardwired to 00h if no BIST capability
	software should timeout the BIST after two seconds
SeeAlso: #00878

Bitfields for PCI Configuration Base Address:
Bit(s)	Description	(Table 00882)
 0	address type (0 = memory space, 1 = I/O space)
---memory address---
 2-1	address type
	00 anywhere in first 4GB
	01 below 1MB
	10 anywhere in 64-bit address space
	11 reserved
 3	prefetchable
 31-4	bits 31-4 of base memory address if addressable in first 1MB or 4GB
 63-4	bits 63-4 of base memory address if addressable in 64-bit memory
	(bits 63-32 are stored in the following base address DWORD)
---I/O address---
 1	reserved
 31-2	bits 31-2 of base I/O port
SeeAlso: #00878,#00902

Bitfields for PCI Configuration Expansion ROM Address:
Bit(s)	Description	(Table 00883)
 0	address decode enable (ROM address is valid)
 10-1	reserved
 31-11	bits 31-11 of ROM's starting physical address
SeeAlso: #00878

Format of PCI Capabilities List:
Offset	Size	Description	(Table 00884)
 00h	BYTE	capability identifier
		01h PCI Power Managment
 01h	BYTE	offset of next item (within configuration space) or 00h
      N	BYTEs	varies by capability type
---PCI Power Management---
 02h	WORD	power managment capabilities (see #00885) (read-only)
 04h	WORD	power managment capabilities status register (see #00886)
 06h	BYTE	PMCSR bridge support extensions (see #00887)
 07h	BYTE	(optional) read-only data register (see #00888)
Note:	this information is from the v0.93 draft of the specification and is
	  subject to change
SeeAlso: #00878,#00880

Bitfields for PCI Power Management Capabilities:
Bit(s)	Description	(Table 00885)
 15	reserved (0)
 14-12	PME# support
	bit 12: PME# can be asserted from power state D0
	bit 13: PME# can be asserted from power state D1
	bit 14: PME# can be asserted from power state D2
 11	reserved (0)
 10	D2 power state supported
 9	D1 power state supported
 8	full-speed clock is required in state D0 for proper operation
	(if clear, device may be run at reduced clock except when actually
	  being accessed)
 7-6	dynamic clock control support
	00 not bridge, no dynamic clock control, or secondary bus' clock is
	      is tied to primary bus' clock
	01 bridge is capable of dynamic clock control
	10 reserved
	11 secondary bus has independent clock, but dynamic clock not supported
 5	device-specific initialization is required
 4	auxiliary power required for PME# generation
 3	PCI clock required for PME# generation
 2-0	specification version
	001 = v1.0; four bytes of power management registers
Note:	this information is from the v0.93 draft of the specification and is
	  subject to change
SeeAlso: #00884,#00886,#00887

Bitfields for PCI Power Management Capabilities Status Register:
Bit(s)	Description	(Table 00886)
 15	PME status: if set, PME# is (or would be) asserted
	writing a 1 to this bit clears it
 14-13	(read-only) scale factor to apply to contents of Data register
	00 unknown (or unimplemented data)
	01 x0.1
	10 x0.01
	11 x0.001
 12-9	(read-write) data select (see #00888)
 8	(read-write) enable PME# assertion
 7-5	reserved (0)
 4	(read-write) enable dynamic data reporting
	when set, PME# is asserted whenever the value in the Data register
	  changes significantly
 3-2	reserved (0)
 1-0	(read-write) current power state
	00 = D0
	...
	11 = D3
Note:	this information is from the v0.93 draft of the specification and is
	  subject to change
SeeAlso: #00884,#00885,#00887

Bitfields for PCI Power Management PMCSR bridge support extension:
Bit(s)	Description	(Table 00887)
 7	(read-only) Bus Power Control Enable
 6	(read-only) Bus Power State B3 supported
 5	(read-only) Bus Power State B2 supported
 4	dynamic clock control enable
 3-0	reserved (0)
Note:	this information is from the v0.93 draft of the specification and is
	  subject to change
SeeAlso: #00884,#00885,#00886

(Table 00888)
Values for PCI Power Management Data Select:
 00h	D0-state power consumed in watts (+20%/-10%)
 01h	D1-state power consumed in watts (+20%/-10%)
 02h	D2-state power consumed in watts (+20%/-10%)
 03h	D3-state power consumed in watts (+20%/-10%)
 04h	D0-state power dissipated into chassis in watts
 05h	D1-state power dissipated into chassis in watts
 06h	D2-state power dissipated into chassis in watts
 07h	D3-state power dissipated into chassis in watts
 08h-0Fh reserved
SeeAlso: #00886

Bitfields for PCI Configuration CardBus CIS Pointer:
Bit(s)	Description	(Table 00889)
 2-0	address space
	000 in device's device-specific configuration space
	001 in memory pointed to by base address register 0
	...
	110 in memory pointed to by base address register 5
	111 in device's expansion ROM
 27-3	offset within address space defined by bits 2-0
 31-28	ROM image number (when address space is expansion ROM)
SeeAlso: #00878

Format of CardBus Socket/ExCA socket interface register space:
Offset	Size	Description	(Table 00890)
 00h	DWORD	Socket Event Register (see #00892)
 04h	DWORD	Socket Mask Register (see #00893)
 08h	DWORD	Socket Present State Register (see #00894)
 0Ch	DWORD	Socket Force Event Register (see #00895)
 10h	DWORD	Socket Control Register (see #00896)
 14h  3 DWORDs	reserved
 20h	DWORD	Socket Power Management Register
 90h	BYTE	(TI PCI1130) Retry Status Register
 91h	BYTE	(TI PCI1130) Card Control Register (see #00897)
 92h	BYTE	(TI PCI1130) Device Control Register (see #00898)
 93h	BYTE	(TI PCI1130) Buffer Control Register
800h 64+ BYTEs	ExCa Socket Interface Registers (see #00891)

Format of ExCa memory-mapped registers:
Offset	Size	Description	(Table 00891)
 00h	BYTE	identification and revision register
 01h	BYTE	interface status register
 02h	BYTE	power control register
 03h	BYTE	interrupt and general control
 04h	BYTE	card status change
 05h	BYTE	card status change interrupt configuration
 06h	BYTE	address window enable
 07h	BYTE	I/O window control register
 08h	WORD	I/O window 0 start address
 0Ah	WORD	I/O window 0 end address
 0Ch	WORD	I/O window 1 start address
 0Eh	WORD	I/O window 1 end address
 10h	WORD	memory window 0 start address
 12h	WORD	memory window 0 end address
 14h	WORD	memory window 0 offset address
 16h  2 BYTEs	user-defined
 18h	WORD	memory window 1 start address
 1Ah	WORD	memory window 1 end address
 1Ch	WORD	memory window 1 offset address
 1Eh	BYTE	user-defined
 1Fh	BYTE	reserved
 20h	WORD	memory window 2 start address
 22h	WORD	memory window 2 end address
 24h	WORD	memory window 2 offset address
 26h  2 BYTEs	user-defined
 28h	WORD	memory window 3 start address
 2Ah	WORD	memory window 3 end address
 2Ch	WORD	memory window 3 offset address
 2Eh  2 BYTEs	user-defined
 30h	WORD	memory window 4 start address
 32h	WORD	memory window 4 end address
 34h	WORD	memory window 4 offset address
 36h 10 BYTEs	user-defined
---optional---
 40h	BYTE	memory window 0 start address high byte
 41h	BYTE	memory window 1 start address high byte
 42h	BYTE	memory window 2 start address high byte
 43h	BYTE	memory window 3 start address high byte
 44h	BYTE	memory window 4 start address high byte
 45h-7FFh	user-defined
SeeAlso: #00890

Bitfields for CardBus Socket Event Register:
Bit(s)	Description	(Table 00892)
 0	CSTSCHG pin asserted (status change)
 1	CCD1# (card detect 1) changed state
 2	CCD2# (card detect 2) changed state
 3	interface power cycle completed
31-4	reserved (0)
Note:	the bits in this register are set by the bridge, and cleared by writing
	  a one into the bits one wishes to clear
SeeAlso: #00890,#00893,#00895

Bitfields for CardBus Socket Event Mask Register:
Bit(s)	Description	(Table 00893)
 0	write-protect (enable status-change interrupt on WriteProtect switch)
 1	ready mask (allow status-change interrupt on Ready line change)
 3-2	battery condition (allow status-change int on battery-condition change)
 4	general wakeup enabled
 5	binary audio mode enabled on CAUDIO pin
 6	Pulse Width Modulation enabled on CAUDIO pin
	(CAUDIO state undefined if both bits 5 and 6 set)
 13-7	reserved (0)
 14	Wakeup mask (enable wakeup events via status-change pin)
 15	enable card interrupts via CINT# pin and wakeup events
 31-16	reserved
SeeAlso: #00890,#00892,#00894

Bitfields for CardBus Socket Present State Register:
Bit(s)	Description	(Table 00894)
 0	CSTSCHG pin asserted (status change)
 1	CCD1# (card detect 1) changed state
 2	CCD2# (card detect 2) changed state
 3	interface power cycle completed
 4	16-bit PC card inserted
 5	CardBus card inserted
 6	card's interrupt pin asserted
 7	card inserted but type can not be determined
 8	data may have been lost due to abrupt card removal
 9	attempted to apply Vcc voltage not supported by the card
 10	card can accept Vcc = 5.0 volts
 11	card can accept Vcc = 3.3 volts
 12	card can accept Vcc = X.X volts
 13	card can accept Vcc = Y.Y volts
 27-14	reserved (0)
 28	socket can accept Vcc = 5.0 volts
 29	socket can accept Vcc = 3.3 volts
 30	socket can accept Vcc = X.X volts
 31	socket can accept Vcc = Y.Y volts
Note:	bits 0-3 may be cleared by writing a 1 into the respective bits
SeeAlso: #00890,#00892,#00893,#00896

Bitfields for CardBus Socket Force Event Register:
Bit(s)	Description	(Table 00895)
 0	write-protect
 1	ready
 2	battery voltage detect 2
 3	battery voltage detect 1
 4	general wakeup
 14-5	reserved (0)
 15	enable card interrupts via CINT# pin
 31-16	reserved
Note:	this register can simulate events by forcing the values of some of the
	  bits in the Event Mask Register; any bit of this register which is
	  set to 1 forces the corresponding bit in the Mask Register to 1,
	  while bits set to 0 leave the corresponding bit unchanged
SeeAlso: #00890,#00892,#00896

Bitfields for CardBus Socket Control Register:
Bit(s)	Description	(Table 00896)
 2-0	Vpp control
	000 power off
	001 12.0 Volts
	010 5.0 Volts
	011 3.3 Volts
	100 reserved (X.X Volts)
	101 reserved (Y.Y Volts)
	110 reserved
	111 reserved
 3	reserved (0)
 6-4	Vcc control (as for Vpp, but 12.0V not supported)
 31-7	reserved (0)
SeeAlso: #00890,#00893,#00895

Bitfields for TI PCI1130 Card Control Register:
Bit(s)	Description	(Table 00897)
 0	interrupt pending
 1	speaker output enabled
 2	reserved
 3	enable status-change interrupt routing (to INTA# for socket A, INTB#
	  for socket B)
 4	function interrupt routed to corresponding PCI interrupt pin
 5	PCI interrupts enabled
 6	ZOOM video mode enabled
 7	Ring Indicator enabled on IRQ15/RI_OUT pin
SeeAlso: #00890,#00898

Bitfields for TI PCI1130 Device Control Register:
Bit(s)	Description	(Table 00898)
 0	reserved (0)
 2-1	interrupt mode enable
	00 no interrupt
	01 ISA mode (direct IRQ routing)
	10 serialized interrupt mode
	11 reserved
 4-3	reserved
 5	3volt Socket Capable force bit
 6	5volt Socket Capable force bit
 7	reserved
SeeAlso: #00890,#00897

Bitfields for PCI Configuration I/O base and limit:
Bit(s)	Description	(Table 00899)
 3-0	(read-only) address decoding type
	0000 16-bit
	0001 32-bit
	other reserved
 7-4	bits 15-12 of I/O address range
SeeAlso: #00878,#00900

Bitfields for PCI Configuration memory base and limit:
Bit(s)	Description	(Table 00900)
 3-0	address decode type
	0000 32-bit address decoder
	0001 64-bit address decoder
	other reserved
 15-4	bits 31-20 of memory address range
SeeAlso: #00878,#00899

Bitfields for PCI Configuration Bridge Control Register:
Bit(s)	Description	(Table 00901)
 7	enable fast back-to-back cycles on secondary bus
 6	reset secondary bus
 5	master abort mode on secondary bus
 4	reserved
 3	VGA enable (when set, forward VGA memory and I/O ranges to seconary
	  bus)
 2	ISA enable
 1	reserved
 0	enable parity error response
SeeAlso: #00878,#01131

Format of OpenHCI Host Controller memory-mapped registers:
Offset	Size	Description	(Table 00902)
 00h	DWORD	"HcRevision"		OpenHCI revision (see #00903)
 04h	DWORD	"HcControl"		HC operating modes (see #00904)
 08h	DWORD	"HcCommandStatus"	command/status (see #00905)
 0Ch	DWORD	"HcInterruptStatus"	interrupt status (see #00906)
 10h	DWORD	"HcInterruptEnable"	enable interrupts (see #00907)
 14h	DWORD	"HcInterruptDisable"	disable interrupts (see #00907)
 18h	DWORD	"HcHCCA"		HC Communications Area (see #00908)
 1Ch	DWORD	"HcPeriodCurrentED"	Endpoint Descriptor addr (see #00909)
 20h	DWORD	"HcControlHeadED"	Control Endpoint Descriptor (see #00910)
 24h	DWORD	"HcControlCurrentED"	Control Endpoint Descriptor (see #00910)
 28h	DWORD	"HcBulkHeadED"		Bulk Endpoint Descriptor (see #00911)
 2Ch	DWORD	"HcBulkCurrentED"	Bulk Endpoint Descriptor (see #00911)
 30h	DWORD	"HcDoneHead"		last completed Xfer Descr. (see #00912)
 34h	DWORD	"HcFmInterval"		Frame bit-time interval (see #00913)
 38h	DWORD	"HcFmRemaining"		bit time remaining in Frame (see #00914)
 3Ch	DWORD	"HcFmNumber"		Frame Number (bits 15-0)
 40h	DWORD	"HcPeriodicStart"	earliest time to start periodic list
					(bits 13-0)
 44h	DWORD	"HcLSThreshold"		threshold for Low Speed transaction
					(bits 11-0)
 48h	DWORD	"HcRhDescriptorA"	Root Hub Descriptor A (see #00915)
 4Ch	DWORD	"HcRhDescriptorB"	Root Hub Descriptor B (see #00916)
 50h	DWORD	"HcRhStatus"		Root Hub status (see #00917)
 54h  N DWORDs	"HCRhPortStatus[1-N]"	Root Hub port status N (see #00918)
Note:	OpenHCI reserves a full 4K page of the systems address space for its
	  memory-mapped registers
SeeAlso: #00878,#00882,#F0085,#00966

Bitfields for OpenHCI "HcRevision" register:
Bit(s)	Description	(Table 00903)
 31-8	reserved
 7-0	BCD OpenHCI specification number (10h = 1.0, 11h = 1.1)
Note:	this register is read-only
SeeAlso: #00902,#00904

Bitfields for OpenHCI "HcControl" register:
Bit(s)	Description	(Table 00904)
 31-11	reserved
 10	RWE	enable Remote Wakeup feature
 9	RWC	controller supports Remote Wakeup signalling
 8	IR	Interrupt Routing
		0 normal host bus interrupt
		1 System Managment Interrupt
 7-6	HCFS	USB Host Controller Functional State
		00 USBReset
		01 USBResume
		10 USBOperational
		11 USBSuspend
 5	BLE	enable Bulk List processing in next frame
 4	CLE	enable Control List processing in next frame
 3	IE	enable Isochronous ED processing
 2	PLE	enable processing of Periodic List in next frame
 1-0	CBSR	Control Bulk Service Ratio
		00  1:1 Control EDs:Bulk EDs served
		01  2:1
		10  3:1
		11  4:1
SeeAlso: #00902,#00903,#00905

Bitfields for OpenHCI "HcCommandStatus" register:
Bit(s)	Description	(Table 00905)
 31-18	reserved
 17-16	SOC	scheduling-overrun count
 15-4	reserved
 3	OCR	ownership change request is pending
 2	BLF	bulk list contains TDs
 1	CLF	control list contains TDs
 0	HCR	host controller software reset
Note:	writing a 1 bit sets the corresponding bit, while a 0 bit leaves the
	  corresponding bit unchanged
SeeAlso: #00902,#00903,#00906

Bitfields for OpenHCI "HcInterruptStatus" register:
Bit(s)	Description	(Table 00906)
 31	reserved (0)
 30	OC	ownership change
 29-7	reserved
 6	RHSC	Root Hub status changed
 5	FNO	frame number overflowed
 4	UE	unrecoverable error
 3	RD	resume detected
 2	SF	start of frame
 1	WDH	writeback done
 0	SO	scheduling overrun
Note:	writing a 1 bit clears the corresponding bit of the register
SeeAlso: #00902,#00903,#00905,#00907

Bitfields for OpenHCI "HcInterruptEnable" and "HcInterruptDisable" registers:
Bit(s)	Description	(Table 00907)
 31	MIE	master interrupt enable
 30	OC	ownership change
 29-7	reserved
 6	RHSC	Root Hub status change
 5	FNO	frame number overflow
 4	UE	unrecoverable error
 3	RD	Resume Detect
 2	SF	start of frame
 1	WDH	HcDoneHead writeback
 0	SO	scheduling overrun
Note:	writing a 1 bit to HcInterruptEnable enables the corresponding
	  interrupt, while writing a 1 bit to HcInterruptDisable disables it;
	  zero bits are ignored.  On reading, both registers return the
	  same value, which reflects the currently enabled interrupts
SeeAlso: #00902

Bitfields for OpenHCI "HcHCCA" register:
Bit(s)	Description	(Table 00908)
 31-8	physical address of Host Controller Communications Area (bits 31-8)
 7-0	reserved (0)
Note:	the required alignment for the HCCA may be determined by writing
	  FFFFFFFFh to this register and determining the number of low-order
	  zero bits
SeeAlso: #00902,#00909,#00910

Bitfields for OpenHCI "HcPeriodCurrentED" register:
Bit(s)	Description	(Table 00909)
 31-4	physical address of current Isochronous/Interrupt Endpoint Descriptor
	  (bits 31-4)
 3-0	reserved (0)
SeeAlso: #00902,#00908,#00910

Bitfields for OpenHCI "HcControlHeadED"/"HcControlCurrentED" register:
Bit(s)	Description	(Table 00910)
 31-4	physical address of first/current Endpoint Descriptor (bits 31-4)
 3-0	reserved (0)
Note:	HcControlCurrentED is set to 0000000h to indicate the end of the
	  Control list
SeeAlso: #00902,#00908,#00909

Bitfields for OpenHCI "HcBulkHeadED"/"HcBulkCurrentED" register:
Bit(s)	Description	(Table 00911)
 31-4	physical address of first/current Endpoint Descriptor in the Bulk
	  list (bits 31-4)
 3-0	reserved (0)
Note:	HcBulkCurrentED is set to 0000000h to indicate the end of the Bulk
	  list
SeeAlso: #00902,#00908,#00910

Bitfields for OpenHCI "HcDoneHead" register:
Bit(s)	Description	(Table 00912)
 31-4	physical address of most-recently completed Transfer Descriptor added
	  to the Done queue (bits 31-4)
 3-0	reserved (0)
SeeAlso: #00902,#00909,#00911

Bitfields for OpenHCI "HcFmInterval" register:
Bit(s)	Description	(Table 00913)
 31	"FIT"	toggled each time a new value is loaded into bits 13-0
 30-16	"FSMPS"	largest data packet in bits
 15-14	reserved
 13-0	"FI"	Frame Interval (between to consecutive SOFs)
SeeAlso: #00902,#00914

Bitfields for OpenHCI "HcFmRemaining" register:
Bit(s)	Description	(Table 00914)
 31	"FRT"	loaded from bit 31 of HcFmInterval whenever FR reaches 0
 30-14	reserved
 13-0	"FR"	FrameRemaining -- bits times left in current frame
SeeAlso: #00902,#00913

Bitfields for OpenHCI "HcRhDescriptorA" register:
Bit(s)	Description	(Table 00915)
 31-24	"POTPGT" power-on to power-good time in 2ms units
 23-13	reserved
 12	"NOCP"	no over-current protection supported
 11	"OCPM"	over-current status reported per-port
 10	"DT"	device type - is root hub compound device?
 9	"NPS"	NoPowerSwitching -- ports are always powered up
 8	"PSM"	power-switching mode -- if set, each port powered individually
 7-0	"NDP"	number of downstream ports
SeeAlso: #00902,#00916,#00917

Bitfields for OpenHCI "HcRhDescriptorB" register:
Bit(s)	Description	(Table 00916)
 31-16	"PPCM"	PortPowerControlMask -- bitmask of ports NOT affected by global
		  power control (bit 16 [port #0] is reserved)
 15-0	"DR"	DeviceRemovable -- bitmap of removable devices
SeeAlso: #00902,#00915,#00917

Bitfields for OpenHCI "HcRhStatus" register:
Bit(s)	Description	(Table 00917)
 31	"CRWE"	Clear Remote Wakeup Enable
		write 1 to disable remote wakeup (writes of 0 ignored)
 30-18	reserved
 17	"OCIC"	OverCurrent Indicator Change
		write 1 to clear
 16   R	"LPSC"	Local Power Status Change
      W		Set Global Power mode (write 1; writes of 0 ignored)
 15	"DRWE"	Device Remote Wakeup Enable
		write 1 to enable (writes of 0 ignored)
		read to get current status
 14-2	reserved
 1	"OCI"	OverCurrent Indicator
 0    R "LPS"	LocalPowerStatus (always 0 for Root Hub)
      W		write 1 to turn off power to all ports/ports with clear
		  PortPowerControlMask bits
SeeAlso: #00902,#00915,#00916,#00918

Bitfields for OpenHCI "HcRhPortStatusN" register:
Bit(s)	Description	(Table 00918)
 31-21	reserved
 20	"PRSC"	Port Reset Status Change (write '1' to clear)
 19	"OCIC"	Port OverCurrent Indiactor Change (write '1' to clear)
 18	"PSSC"	Port Suspend Status Change (write '1' to clear)
 17	"PESC"	Port Enable Status Change (write '1' to clear)
 16	"CSC"	Connect Status Change (write '1' to clear)
 15-10	reserved
 9    R	"LSDA"	Low Speed Device Attached
      W		clear port power by writing '1'
 8    R	"PPS"	Port Power Status
      W		set port power by writing '1'
 7-5	reserved
 4    R	"PRS"	Port Reset Status
      W		set port reset by writing '1'
 3    R	"POCI"	Port OverCurrent Indicator
      W		clear suspend status by writing '1'
 2    R	"PSS"	Port Suspend Status
      W		set port suspend by writing '1'
 1    R "PES"	Port Enable Status
      W		set port enable by writing '1'
 0    R "CCS"	current connect status
      W		clear port enable by writing '1'
SeeAlso: #00902,#00915,#00916,#00917

Top
1AB10ASF1004 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VLSI devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VLSI devices)
	AX = B10Ah subfn 1004h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=8086h

Format of PCI Configuration Data for VLSI VL82C591 Host/PCI bridge:
Offset	Size	Description	(Table 00919)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1004h, device ID 0005h)
 40h	BYTE	bus number
 41h	BYTE	subordinate bus number
 42h	WORD	reserved
 44h  4 DWORDs	reserved
 54h  2 BYTEs	device-specific configuration registers
 56h	WORD	reserved
 58h  2 BYTEs	device-specific configuration registers
 5Ah	WORD	reserved
 5Ch  5 BYTEs	device-specific configuration registers
	...
 FFh	BYTE	device-specific configuration register
SeeAlso: #00878,#00732,#00920

Format of PCI Configuration data for VLSI VL82C593 PCI/ISA bridge:
Offset	Size	Description	(Table 00920)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1004, device ID 0006h)
 40h  4 DWORDs	reserved
 50h 11 BYTEs	device-specific configuration registers
 5Bh	BYTE	reserved
 5Ch 25 BYTEs	device-specific configuration registers
 75h 138 BYTEs	reserved
 FFh	BYTE	device-specific configuration register
SeeAlso: #00878,#00919

Top
1AB10ASF100B - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (National Semicond. device)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (National Semicond. device)
	AX = B10Ah subfn 100Bh
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=8086h

Format of National Semiconductor PC87410 EIDE Controller configuration:
Offset	Size	Description	(Table 00921)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 100Bh, device ID D001h)
 10h	DWORD	I/O base address for channel 0 control ports (def: 01F0h)
 14h	DWORD	I/O base address for channel 0 status port (def: 03F6h)
 18h	DWORD	I/O base address for channel 1 control ports (def: 0170h)
 1Ch	DWORD	I/O base address for channel 1 status port (def: 0376h)
 40h	BYTE	IDE Channel 0 timing control
 41h	WORD	IDE Channel 0 read-ahead counter (write-only except bit 15)
 43h	BYTE	IDE Channel 0 function
 44h	BYTE	IDE Channel 1 timing control
 45h	WORD	IDE Channel 1 read-ahead counter (write-only except bit 15)
 47h	BYTE	IDE Channel 1 function
 48h	BYTE	PCI control
 49h  7 BYTEs	unused
 50h 176 BYTEs	??? (unused?)
!!!http://www.national.com/ds/PC/PC87410.pdf p.7
SeeAlso: #00739,#00922

Format of National Semiconductor PC87415 IDE DMA-Master configuration:
Offset	Size	Description	(Table 00922)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 100Bh, device ID 0002h)
 40h  3 BYTEs	control register
 43h	BYTE	write buffer status (read-only)
 44h	BYTE	Channel 1 master read timing
 45h	BYTE	Channel 1 master write timing
 48h	BYTE	Channel 1 slave read timing
 49h	BYTE	Channel 1 slave write timing
 4Ch	BYTE	Channel 2 master read timing
 4Dh	BYTE	Channel 2 master write timing
 50h	BYTE	Channel 2 slave read timing
 51h	BYTE	Channel 2 slave write timing
 54h	BYTE	command and control block timing
 55h	BYTE	sector size
!!!http://www.national.com/ds/PC/PC87415.pdf p.8
SeeAlso: #00739,#00921

Top
1AB10ASF1011 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (DEC device)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (DEC device)
	AX = B10Ah subfn 1011h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=8086h

Format of DEC DC21140/DC21040/DC21041 Tulip {Fast/Plus} Ethernet:
Offset	Size	Description	(Table 00923)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1011h, device ID 0014h)
 10h	DWORD	base I/O port for access to control/status registers
 14h	DWORD	base memory address for access to control/status registers
 40h	DWORD	configuration driver area
		bit 31: sleep mode   \ only one of bits 31,30 may be set
		bit 30: snooze mode  /
		bits 15-8: device driver's use
!!!digital\21041hm.pdf p.34   digital\21140ahm.pdf p.35
SeeAlso: #00742

Format of DEC 21052 PCI-PCI bridge PCI configuration data:
Offset	Size	Description	(Table 00924)
 00h 64 BYTEs	header, type 1 (see #00878)
		(vendor ID 1011h, device ID 0021h)
 40h	BYTE	chip control
 41h	BYTE	diagnostic control
 42h	BYTE	burst counter
 43h	BYTE	SErr disable
 44h	BYTE	primary target wait timer
 45h	BYTE	secondary target wait timer
 46h  2 BYTEs	reserved
 48h	DWORD	count of secondary write attempts
 4Ch	DWORD	count of primary write attempts
 50h 44 DWORDs	reserved
!!!digital\21052ds.pdf p.117
SeeAlso: #00742

Top
1AB10ASF1022 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (AMD devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (AMD devices)
	AX = B10Ah subfn 1022h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=1042h,AX=B10Ah/SF=8086h

Format of AMD Am53C974A PC-SCSI PCI configuration data:
Offset	Size	Description	(Table 00925)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1022h, device ID 2020h)
 10h	DWORD	I/O base address (see PORT xxxxh"Am53C974A")
 40h 16 BYTEs	scratch registers
		(used by AMD's PC-SCSI drivers as follows:
		    40h/41h  SCSI configuration register 0 (see #00926,#00927)
		    ...
		    4Eh/4Fh  SCSI configuration register 7)
SeeAlso: #00747

Bitfields for AMD Am53C974A Target Device Configuration Register:
Bit(s)	Description	(Table 00926)
 15-14	reserved
 13	"FSCSI" Fast SCSI drive is present
 12-8	"SPD" synchronous period
 7-4	synchronous offset (0 = asynchronous transfers)
 3-1	SCSI bus status
 0	target device is present and active
	if 0, all other bits must be cleared to zero for target devices
SeeAlso: #00925,#00927

Bitfields for AMD Am53C974A Host Configuration Register:
Bit(s)	Description	(Table 00927)
 15-9	reserved
 8	SCSI bus has been reset
 7	starting BIOS number (bits 6-4) is valid
 6-4	starting BIOS number (000 = BIOS drive 80h, 001 = drive 81h, etc)
 3	this device is a SCSI host
 2	protected-mode driver initialized
 1	real-mode driver initialized
 0	target device present
	=0 indicates that this is a host if bit 3 is set
SeeAlso: #00925,#00926

Top
1AB10ASF1042 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PC Technology devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PC Technology devices)
	AX = B10Ah subfn 1042h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=1022h,AX=B10Ah/SF=1045h,AX=B10Ah/SF=8086h

Format of PCI Configuration data for PC Technology RZ-1000 EIDE controller:
Offset	Size	Description	(Table 00928)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1042h, device ID 1000h)
 10h	DWORD	base address for controller I/O registers
		(set to 01F1h for primary controller, 0171h for secondary)
 14h	DWORD	base address for controller digital I/O port
		(set to 03F5h for primary, 0375h for secondary)
 40h	DWORD	???
		bits 7-1: ???
		bit 13: read-ahead mode enabled
			(Read-Ahead is buggy on original RZ-1000, and is
			  thus typically disabled by clearing this bit)
		bit 16: ???
 44h	DWORD	???
 48h  8 BYTEs	???
 50h 176 BYTEs	unused???

Top
1AB10ASF1045 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (OPTi devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (OPTi devices)
	AX = B10Ah subfn 1045h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=1042h,AX=B10Ah/SF=1066h

Format of PCI Configuration data for OPTi 82C750 Vendetta (device 0):
Offset	Size	Description	(Table 00929)
 00h 64	BYTEs	header (see #00878)
		(vendor ID 1045h, device ID C567h)
 40h	DWORD	memory control (see #00930)
 44h  6	BYTEs	data path control (see #00931)
 4Ah	WORD	reserved
 4Ch	BYTE	SDRAM SDRAS/SDCAS mux control (see #00932)
 4Dh	BYTE	SDRAM select (see #00933)
 4Eh	BYTE	ECC test / I2C control (see #00934)
 4Fh	BYTE	ECC test data
 50h	DWORD	ECC control (see #00935)
 54h	WORD	SDRAM select (see #00936)
 56h	BYTE	data path control / EDO X-2-2-2 writes (see #00937)
 57h	BYTE	reserved
 58h	DWORD	ECC reporting (see #00938)
 5Ch 164 BYTEs	reserved
SeeAlso: #00878,#00939,#00965

Bitfields for OPTi 82C750 Vendetta (device 0) memory control:
Bit(s)	Description	(Table 00930)
 31-30	reserved
 29	reserved (1)
 28-18	reserved
 17	reserved (1)
 16	HA drive-back during CPU memory access enable
 15-6	PCI video frame buffer write posting hole
 5-4	reserved
 3	PCI bus write post disable
 2	video frame buffer write post (posting enabled if bit 2 = bit 3)
 1	video memory write post(posting enabled if bit 1 = bit 3)
 0	I/O cycle write post enable
SeeAlso: #00929,#00931

Bitfields for OPTi 82C750 Vendetta (device 0) data path control:
Bit(s)	Description	(Table 00931)
 41-47	reserved
 40	DTY pin suspend enable
 39-38	reserved
 37	SDRAM refresh 0 sized bank RAS# disable
 36	SDRAM control signal stepping enable
 35	reserved
 34-32	SDRAM mode
	000 = normal
	001 = NOP enable
	010 = precharge all banks
	011 = mode register enable
	100 = CBR cycle enable
	101-111 = reserved
 31	SDRAM memory read access enable
 30	CPU-to-PCI FIFO clear enable
 29	PCI-to-DRAM FIFO clear enable
 28	CPU-to-DRAM FIFO clear enable
 27	82C750 register write disable
 26-15	reserved
 14	PCI master/ECC generate NMI disable
 13-12	reserved (1)
 11	memory parity checking enable
 10	reserved
 9	CPU DRAM write byte merge enable
 8	MD bus pull-up resistor disable
 7	PCI CPU write 6DW FIFO enable
 6	DRAM PCI read 24DW FIFO enable
 5	DRAM PCI write 24DW FIFO enable
 4	DRAM CPU write 8QW FIFO enable
 3	82C750 memory read access (0 = SDRAM, 1 = reserved)
 2-1	reserved
 0	82C750 memory read access (0 = FP mode, 1 = EDO/SDRAM)
SeeAlso: #00929

Bitfields for OPTi 82C750 Vendetta (device 0) SDRAM SDRAS/SDCAS mux control:
Bit(s)	Description	(Table 00932)
 7	MCACHE enable
 6	GWE#/BWE# (1)
 5	reserved (read-only)
 4	reserved (1)
 3	BOFF# CPU status latch enable
 2	reserved (1) (SDRAS# & SDCAS#)
 1	reserved (1) (BA1 & BA0)
 0	pin mux
	0 = RAS4# & RAS5#
	1 = SDRAS# & SDCAS#
SeeAlso: #00929

Bitfields for OPTi 82C750 Vendetta (device 0) SDRAM select:
Bit(s)	Description	(Table 00933)
 7-6	reserved
 5	bank 5 enable
 4	bank 4 enable
 3-0	reserved
SeeAlso: #00929

Bitfields for OPTi 82C750 Vendetta (device 0) ECC test / I2C control:
Bit(s)	Description	(Table 00934)
 7	ECC test mode enable
 6	reserved
 5	reserved (1 if SDRAM enabled)
 4	I2C data output read-back (read-only)
 3	I2C clock output read-back (read-only)
 2	I2C data output (refer to file I2C.LST for more details)
 1	I2C clock output
 0	I2C control enable
SeeAlso: #00929,I2C A0h,#00935

Bitfields for OPTi 82C750 Vendetta (device 0) ECC control:
Bit(s)	Description	(Table 00935)
 31-13	upper 19 bits of error address
 12-5	syndrome byte for reported error
 4	non-correctable error
 3	single-bit error
 2	nibble error
 1	ECC error report enable
 0	ECC data path enable
SeeAlso: #00929,#00934

Bitfields for OPTi 82C750 Vendetta (device 0) SDRAM select:
Bit(s)	Description	(Table 00936)
 15	SDWE# stepping enable
 14	reserved (1) (SDRAM)
 13-12	reserved
 11-6	bank 5-0 SDRAM technology
	0 = 16 Mb
	1 = 64 Mb
 5-0	bank 5-0 SDRAM timing
	0 = leadoff 7/6
	1 = leadoff 8/7
SeeAlso: #00929

Bitfields for OPTi 82C750 Vendetta (device 0) data path control / EDO X-2-2-2:
Bit(s)	Description	(Table 00937)
 7	CPU-to-DRAM FIFO enable
 6	1 CLK CAS enable
 5-0	RAS5#-RAS0# X-2-2-2 write enable
	(CPU-to-DRAM FIFO, DRAM write post, and cache readaround write must
	  be enabled)
SeeAlso: #00929

Bitfields for OPTi 82C750 Vendetta (device 0) ECC reporting:
Bit(s)	Description	(Table 00938)
 31-26	reserved
 25-16	single-bit error counter
 15	reserved
 14	delayed write enable
 13-4	single-bit error limit
 3	correctable error reporting (0 = NMI, 1 = SMI)
 2	single-bit error counter enable (disabling resets counter)
 1	error reporting method (0 = NMI, 1 = SMI)
 0	NMI/SMI generate disable
SeeAlso: #00929

Format of PCI Configuration data for OPTi 82C750 Vendetta (device 1):
Offset	Size	Description	(Table 00939)
 00h 64	BYTEs	header (see #00824)
		(vendor ID 1045h, device ID C568h)
 40h	WORD	keyboard control (see #00940)
 42h	WORD	interrupt control (see #00941)
 44h	BYTE	pin functionality 1 (see #00942)
 45h	BYTE	reserved
 46h	WORD	cycle control (see #00943)
 48h	WORD	pin functionality 2 (see #00944)
 4Ah	WORD	ROMCS# range control (see #00945)
 4Ch	BYTE	miscellaneous control 1 (see #00946)
 4Dh	BYTE	reserved
 4Eh	BYTE	miscellaneous control 2 (see #00947)
 4Fh	BYTE	miscellaneous control 3 (see #00948)
 50h	WORD	interrupt trigger control (see #00949)
 52h	WORD	interrupt multiplexing control (see #00950)
 54h	WORD	PCI master control (see #00951)
 56h	WORD	serial interrupt source (see #00952)
 58h	BYTE	serial interrupt mode control (see #00953)
 59h	BYTE	pin functionality 3 (see #00954)
 5Ah	WORD	distributed DMA master base address
 5Ch	BYTE	distributed DMA control (see #00955)
 5Dh  3	BYTEs	reserved
 60h	BYTE	USB interrupt control register (see #00956)
 61h	BYTE	PCI reset control (see #00957)
 62h	BYTE	emulation control (see #00958)
 63h	BYTE	PCI retry control (see #00959)
 64h 153 BYTEs	reserved
 FDh	BYTE	SMI control
 FEh	BYTE	stop grant cycle control
 FFh	BYTE	host memory parity error
SeeAlso: #00878,#00929,#00965

Bitfields for OPTi 82C750 Vendetta (device 1) keyboard control:
Bit(s)	Description	(Table 00940)
 15	keyboard port read (read-only)
 14	keyboard port write (read-only)
 13	keyboard RESET CPUINIT
	0 = generate immediately
	1 = wait for halt
 12	keyboard emulation disable
 11-9	PIRQ3# IRQ generation
	000 = use interrupt trigger control register (offset 50h)
	001 = IRQ5
	010-101 = IRQ9-IRQ12
	110-111 = IRQ14-IRQ15
 8-6	PIRQ2# IRQ generation
 5-3	PIRQ1# IRQ generation
 2-0	PIRQ0# IRQ generation
SeeAlso: #00939,#00941

Bitfields for OPTi 82C750 Vendetta (device 1) interrupt control:
Bit(s)	Description	(Table 00941)
 15	ISA IRQ14 blocking enable
 14	ISA IRQ15 blocking enable
 13	DMA/ISA master to preempt PCI master enable
 12	PCI priority is fixed instead of rotating
 11-10	back-to-back ISA I/O delay 
	00 = 3 ATCLKs
	01 = 12 ATCLKs
	10 = no delay
	11 = delay all by 12 ATCLKs
 9	PCI master ISA device access disable
 8	ISA bus control signals for memory access >16M and I/O access >64K
	  disable
 7-6	IRQ15-IRQ14 triggering (0 = edge, 1 = level)
 5-2	IRQ12-IRQ9 triggering (0 = edge, 1 = level)
 1	IRQ 5 triggering (0 = edge, 1 = level)
 0	pin AE16 functionality
	0 = DREQ6
	1 = EPMI0#
SeeAlso: #00939,#00940

Bitfields for OPTi 82C750 Vendetta (device 1) pin functionality 1:
Bit(s)	Description	(Table 00942)
 7-6	pin AC15 functionality
	00-01 = controlled by bits 1-0
	10 = DACK7#
	11 = reserved
 5-4	pin AE15 functionality
	00-01 = controlled by bits 1-0
	10 = DACK6#
	11 = reserved
 3-2	pin AF15 functionality
	00-01 = controlled by bits 1-0
	10 = DACK5#
	11 = reserved
 1-0	DACK group-wise programmable pin functionalities
	00 = DACK3#-DACK0#
	01 = DACK7#-DACK5#, DACK3#, DACK1#, DACK0#
	10 = reserved
	11 = EDACK2#-EDACK0#, EDACKEN#, PIRQ3#, PIRQ2#
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) cycle control:
Bit(s)	Description	(Table 00943)
 15	ISA bus ROM write enable
 14	hidden refresh enable
 13-12	ATCLK select
	00 = LCLK/4
	01 = LCLK/3
	10 = LCLK/2
	11 = LCLK
 11	CPU master to PCI slave write
	0 = 1 LCLK
	1 = 0 LCLK
 10-8	PCI master to PCI master preempt timer
	000 = no preempt
	001 = 260 LCLKs
	010 = 132 LCLKs
	011 = 68 LCLKs
	100 = 36 LCLKs
	101 = 20 LCLKs
	110 = 12 LCLKs
	111 = 5 LCLKs
 7	reserved
 6	XDIR achieve
	0 = accessing ROM, keyboard controller, RTC
	1 = accessing ROM, NVRAM
 5	PERR# to SERR# conversion enable
 4	address parity checking enable
 3	target abort SERR# generation enable
 2	fast back-to-back enable
 1	sample point decoding
	0 = slow
	1 = subtractive
 0	reserved
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) pin functionality 2:
Bit(s)	Description	(Table 00944)
 15	pin AF18 functionality (0 = IRQ15, 1 = reserved)
 14-13	pin AE19 functionality (00-01 = IRQ12, 10-11 = reserved)
 12	pin AD20 functionality (0 = IRQ10, 1 = MIRQ10/12)
 11	pin AE21 functionality (0 = IRQ6, 1 = reserved)
 10	pin AD22 functionality (0 = IRQ4, 1 = MIRQ4/6)
 9-8	pin AD16 functionality (00 = DREQ7, 01 = EPMI3#, 1x = reserved)
 7-6	pin AD17 functionality
	00 = DREQ3
	01 = DREQ3/7
	10 = DREQ7
	11 = reserved
 5-4	pin AD18 functionality
	00 = DREQ1
	01 = DREQ1/6
	10 = DREQ6
	11 = reserved
 3-2	pin AE18 functionality
	00 = DREQ0
	01 = DREQ0/5
	10 = DREQ5
	11 = reserved
 1-0	pin T23 functionality (0x = PREQ1#, 1x = reserved)
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) ROMCS# range control:
Bit(s)	Description	(Table 00945)
 15	FFFF8000h-FFFFFFFFh ROMCS# disable
 14	FFFF0000h-FFFF7FFFh ROMCS# disable
 13	FFFE8000h-FFFEFFFFh ROMCS# enable
 12	FFFE0000h-FFFE7FFFh ROMCS# enable
 11	FFFD8000h-FFFDFFFFh ROMCS# enable
 10	FFFD0000h-FFFD7FFFh ROMCS# enable
 9	FFFC8000h-FFFCFFFFh ROMCS# enable
 8	FFFC0000h-FFFC7FFFh ROMCS# enable
 7	F8000h-FFFFFh ROMCS# disable
 6	F0000h-F7FFFh ROMCS# disable
 5	E8000h-EFFFFh ROMCS# enable
 4	E0000h-E7FFFh ROMCS# enable
 3	D8000h-DFFFFh ROMCS# enable
 2	D0000h-D7FFFh ROMCS# enable
 1	C8000h-CFFFFh ROMCS# enable
 0	C0000h-C7FFFh ROMCS# enable
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) miscellaneous control 1:
Bit(s)	Description	(Table 00946)
 7-5	reserved
 4	game port/MPU-401 enable
 3	PREQ4#/PGNT4# mux (0 = SDA2/GP3, 1 = PREQ4#/PGNT4#)
 2	DACK5# 1-to-0 transition enable
 1-0	reserved
SeeAlso: #00939,#00947,#00948

Bitfields for OPTi 82C750 Vendetta (device 1) miscellaneous control 2:
Bit(s)	Description	(Table 00947)
 7-4	reserved
 3	pipeline byte merge enable
 2	EOP configuration (0 = output, 1 = input)
 1	byte merge enable
 0	ISA master data swap disable
SeeAlso: #00939,#00946,#00948

Bitfields for OPTi 82C750 Vendetta (device 1) miscellaneous control 3:
Bit(s)	Description	(Table 00948)
 7	pin AB15 functionality
	0 = DACK5#
	1 = PPWRL+PPWRL2
 6	IDE functionality support enable
 5	reserved (read-only)
 4	ISA bus AT command 1 wait state extension disable
 3-2	reserved
 1	pin AE14 functionality
	0 = controlled by offset 44h bits 1-0
	1 = GPCS2#
 0	reserved
SeeAlso: #00939,#00946,#00947

Bitfields for OPTi 82C750 Vendetta (device 1) interrupt trigger control:
Bit(s)	Description	(Table 00949)
 15	reserved (1)
 14	reserved
 13	pin AD15 functionality (0 = DACK2#, 1 = GPCS2#)
 12-11	reserved
 10	IRQ3 triggering (0 = edge, 1 = level)
 9	IRQ4 triggering (0 = edge, 1 = level)
 8	IRQ7 triggering (0 = edge, 1 = level)
 7-6	IRQ generation when PIRQ3# triggered
	00 = disable
	01 = IRQ3
	10 = IRQ4
	11 = IRQ7
 5-4	IRQ generation when PIRQ2# triggered
	00 = disable
	01 = IRQ3
	10 = IRQ4
	11 = IRQ7
 3-2	IRQ generation when PIRQ1# triggered
	00 = disable
	01 = IRQ3
	10 = IRQ4
	11 = IRQ7
 1-0	IRQ generation when PIRQ0# triggered
	00 = disable
	01 = IRQ3
	10 = IRQ4
	11 = IRQ7
SeeAlso: #00939,#00950

Bitfields for OPTi 82C750 Vendetta (device 1) interrupt multiplexing control:
Bit(s)	Description	(Table 00950)
 15	pin functionality
	0 = AE22:IRQ3, AF21:IRQ5, AE21:IRQ6, AD21:IRQ7, AE20:IRQ9, AF19:IRQ11
	1 = AE22:MIRQ3/5, AF21:MIRQ7/9, AE21:MIRQ11/15, 
	    AD21:EPMI1#, AE20:EPMI2#, AF19:GMIRQ
 14	pin R22 functionality (0 = PREQ2#, 1 = EPMI0#)
 13	IRQ1 latching enable
 12	IRQ12 latching enable
 11	DACKEN# status (0 = active low, 1 = active high)
 10	system bus owned by external device
 9	flash ROM locking enable
 8	reserved
 7	IRQ6 triggering (0 = edge, 1 = level)
 6-3	IRQ generation when GMIRQ triggered
	0000 = disabled
	0001-0010 = reserved
	0011-0111 = IRQ3-IRQ7
	1000 = reserved
	1001-1100 = IRQ9-IRQ12
	1101 = reserved
	1110-1111 = IRQ14-IRQ15
 2	reserved (1)
 1	priority scheme enable
 0	concurrent refresh and IDE cycle enable
SeeAlso: #00939,#00949

Bitfields for OPTi 82C750 Vendetta (device 1) PCI master control:
Bit(s)	Description	(Table 00951)
 15-12	reserved
 11	interrupt request register recover enable
 10	DMA address and counter (0 = current, 1 = base)
 9	CPU/PCI master access ISA cycle retry enable
 8	CPU-to-PCI cycle AHOLD signal use enable
	(used only when bit 4 = 1)
 7	PCI master X-1-1-1 write enable
 6	PCI master X-1-1-1 read enable
 5	concurrent PCI master/IDE enable
 4	new AHOLD protocol enable
 3	PCI master non-contiguous byte enable
 2	reserved
 1	simultaneous hardware PMU and IDE function operation enable
 0	ISA refresh disable
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) serial interrupt source:
Bit(s)	Description	(Table 00952)
 15-3	IRQ15-IRQ3 interrupt resource (0 = ISA, 1 = serial interrupt)
 2	SMI#, IOCHK#, PCIRQ3#-PCIRQ0# interrupt resource
	0 = ISA
	1 = serial interrupt
 1-0	IRQ1-IRQ0 interrupt resource (0 = ISA, 1 = serial interrupt)
SeeAlso: #00939,#00953

Bitfields for OPTi 82C750 Vendetta (device 1) serial interrupt mode control:
Bit(s)	Description	(Table 00953)
 7-6	serial interrupt control mode
	00 = continuous
	01 = idle
	1x = active
 5	reserved
 4	data frame slot support
	0 = 17 slots (IRQ15-IRQ3, IRQ1-IRQ0, SMI#, IOCHK#)
	1 = 21 slots (IRQ15-IRQ3, IRQ1-IRQ0, SMI#, IOCHK#, PCIRQ3#-PCIRQ0#)
 3-2	CPU access PCI priority
	00 = lowest
	01 = higher after 4 PCI master grants
	10 = higher after 2 PCI master grants
	11 = higher after 3 PCI master grants
 1-0	serial interrupt start frame pulse width in continuous/active mode
	00 = 4/3 CLK
	01 = 6/5 CLK
	10 = 8/7 CLK
	11 = reserved
SeeAlso: #00939,#00952

Bitfields for OPTi 82C750 Vendetta (device 1) pin functionality 3:
Bit(s)	Description	(Table 00954)
 7	PCI arbitration time-out mode enable
 6	0 wait state for CPU I/O access enable
 5	SMI output disable
 4	CPU request for PCI bus (0 = enabled, 1 = reserved)
 3	reserved
 2	refresh preemption disable
 1-0	reserved
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) distributed DMA control:
Bit(s)	Description	(Table 00955)
 7-5	channel 7-5 enable
 4-1	channel 3-0 enable
 0	DDMA enable
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) USB interrupt control register:
Bit(s)	Description	(Table 00956)
 7	reserved
 6-5	buffered DMA control
	00 = original DMA with old protocol
	01 = reserved
	10 = original DMA with PCI master capability
	11 = buffered DMA enable
 4	reserved
 3-0	IRQ generation when USBIRQ triggered
	0000 = disabled
	0001-0010 = reserved
	0011-0111 = IRQ3-IRQ7
	1000 = reserved
	1001-1100 = IRQ9-IRQ12
	1101 = reserved
	1110-1111 = IRQ14-IRQ15
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) PCI reset control:
Bit(s)	Description	(Table 00957)
 7	PCI soft reset generate enable
 6	PCI slave demand mode buffered DMA retry fix enable
 5	IORDY# PCI master delay fix enable
 4	ISA command deassertion IOCHRDY delay
	0 = <1 ATCLK
	1 = >=1 ATCLK
 3-2	buffered DMA fix (00 = disable, 11 = enable)
 1	reserved
 0	ISA master synchronization (1)
SeeAlso: #00939

Bitfields for OPTi 82C750 Vendetta (device 1) emulation control:
Bit(s)	Description	(Table 00958)
 7	PCIRST# disable
 6	SDA2 muxed with XDIR	(0 = XDIR, 1 = SDA2)
 5	SPKR muxed with MIDI1	(0 = MIDI1, 1 = SPKR)
 4	audio mux		(0 = MP7-MP0, DACK)
 3	audio module enable
 2	ATA-33 IDE pin mux scheme (0 = old, 1 = new)
 1	REFRESH priority	(0 = high, 1 = lowest)
 0	port 92h emulation disable
SeeAlso: #00939,PORT 0092h

Bitfields for OPTi 82C750 Vendetta (device 1) PCI retry control:
Bit(s)	Description	(Table 00959)
 7-2	reserved
 1	reserved (1)
 0	ISA slave PCI master retry
	0 = no change
	1 = generate BOFF#
SeeAlso: #00939

Format of PCI Configuration data for OPTi 82C750 Vendetta (IDE controller):
Offset	Size	Description	(Table 00960)
 00h 64	BYTEs	header (see #00824)
		(vendor ID 1045h, device ID C621h)
 40h	BYTE	IDE initialization control (see #00961)
 41h	BYTE	reserved
 42h	BYTE	IDE enhanced feature (see #00962)
 43h	BYTE	IDE enhanced mode (see #00963)
 44h	WORD	ultra DMA mode select (see #00964)
 46h 186 BYTEs	reserved

Bitfields for OPTi 82C750 Vendetta (IDE Controller) IDE initialization control:
Bit(s)	Description	(Table 00961)
 7-6	bus master IDE PCI bus request when FIFO filled with
	00 = 32 bytes (early request disabled)
	01 = 30 bytes
	10 = 28 bytes
	11 = 26 bytes
 5	reserved (1)
 4	reserved
 3	secondary IDE disable
 2	I/O addresses relocatable
 1-0	IDE device default cycle time
	00 = >=600ns (PIO mode 0)
	01 = >=383ns (PIO mode 2)
	10 = >=240ns (PIO mode 1)
	11 = >=180ns (PIO mode 3)
SeeAlso: #00960

Bitfields for OPTi 82C750 Vendetta (IDE Controller) IDE enhanced feature:
Bit(s)	Description	(Table 00962)
 7	reserved
 6	IDE write concurrency enable
 5	slave IDE FIFO to ISA bus preemption disable
 4	IDE arbiter PCI/IDE concurrency support enable
 3	PCI memory commands enable
 2	PCI master IDE and IDE cycle concurrency enable
 1	PCI master X-1-1-1 MIDE enable
 0	reserved
SeeAlso: #00960,#00963

Bitfields for OPTi 82C750 Vendetta (IDE Controller) IDE enhanced mode:
Bit(s)	Description	(Table 00963)
 7-6	secondary IDE drive 1 enhanced mode
	00 = disabled
	01 = command recovery in 1 LCLK
	10 = command recovery in 0 LCLK
	11 = reserved
 5-4	secondary IDE drive 0 enhanced mode
	00 = disabled
	01 = command recovery in 1 LCLK
	10 = command recovery in 0 LCLK
	11 = reserved
 3-2	primary IDE drive 1 enhanced mode
	00 = disabled
	01 = command recovery in 1 LCLK
	10 = command recovery in 0 LCLK
	11 = reserved
 1-0	primary IDE drive 0 enhanced mode
	00 = disabled
	01 = command recovery in 1 LCLK
	10 = command recovery in 0 LCLK
	11 = reserved
SeeAlso: #00960,#00963

Bitfields for OPTi 82C750 Vendetta (IDE Controller) ultra DMA mode select:
Bit(s)	Description	(Table 00964)
 15	primary IDE disable
 14-12	reserved
 11-10	secondary IDE drive 1 ultra DMA mode
	00 = mode 0
	01 = mode 1
	10 = mode 2
	11 = reserved
 9-8	secondary IDE drive 0 ultra DMA mode (same values as bits 11-10)
 7-6	primary IDE drive 1 ultra DMA mode (same values as bits 11-10)
 5-4	primary IDE drive 0 ultra DMA mode (same values as bits 11-10)
 3	secondary IDE drive 1 ultra DMA 33 enable
 2	secondary IDE drive 0 ultra DMA 33 enable
 1	primary IDE drive 1 ultra DMA 33 enable
 0	primary IDE drive 0 ultra DMA 33 enable
SeeAlso: #00960

Format of PCI Configuration data for OPTi 82C861/82C871 PCI-to-USB Bus Bridge:
Offset	Size	Description	(Table 00965)
 00h 64	BYTEs	header (see #00878)
		(vendor ID 1045h, device ID C861h)
 40h  4 BYTEs	reserved for testing
 44h 10 BYTEs	reserved
 4Eh	BYTE	I2C control
		bits 7-5: reserved
		bit 4: I2C data output read-back (read-only)
		bit 3: I2C clock output read-back (read-only)
		bit 2: I2C data output
		bit 1: I2C clock output
		bit 0: I2C control enable
 4Fh	BYTE	reserved
 50h	BYTE	PCI host feature control
		bits 7-4: reserved
		bit 3: subsystem vendor ID register write disable
		bit 2: CLKRUN# enable
		bit 1: port 2 output disable
		bit 0: port 1 output disable
 51h	BYTE	interrupt assignment
		bit 7: host controller type 
		    0 = Viper-N+ (send 1 data phase on IRQ driveback)
		    1 = FireStar (send 2 data phases on IRQ driveback)
		bit 6: IRQ driveback enable
		bit 5: reserved
		bits 4-0: interrupt assignment
		    00000 = disabled
		    00001 = PCIRQ0# (default) to 00100 = PCIRQ3#,
		    00101 = ACPI0 to 01111 = ACPI10
		    10000 = IRQ0 to 11111 = IRQ15
 52h  2 BYTEs	reserved
 54h	DWORD	IRQ driveback address
		bits 1-0: reserved to 00 (read-only)
 58h 20 BYTEs	reserved
 6Ch	DWORD	reserved (test mode enable)
SeeAlso: #00878,#00929,#00939

Format of OPTi FireLink/FireBlast Host Controller memory-mapped registers:
Offset	Size	Description	(Table 00966)
 00h 256 BYTES	standard OpenHCI registers (see #00902)
100h	DWORD	"HceControl"	emulation control (see #00967)
104h	DWORD	"HceInput"	legacy Input Buffer (see #00968)
108h	DWORD	"HceOutput"	legacy Output Buffer (see #00969)
10Ch	DWORD	"HceStatus"	legacy Status (see #00970)
SeeAlso: #00902,#00965

Bitfields for OPTi FireLink/FireBlast "HceControl" register:
Bit(s)	Description	(Table 00967)
 31-9	reserved
 8	A20 gate state
 7	IRQ12 active (write 1 to clear)
 6	IRQ1 active (write 1 to clear)
 5	A20 gate sequence
	1  D1h written to port 64h
	0  other than D1h written to port 64h
 4	external IRQ emulation enable
 3	IRQ enable
 2	character pending emulation enable
 1	(read-only) emulation interrupt condition
 0	emulation enable
SeeAlso: #00902,PORT 0064h

Bitfields for OPTi FireLink/FireBlast "HceInput" register:
Bit(s)	Description	(Table 00968)
 31-8	reserved
 7-0	data written to port 60h or 64h
SeeAlso: #00902,#00970,PORT 0060h,PORT 0064h

Bitfields for OPTi FireLink/FireBlast "HceOutput" register:
Bit(s)	Description	(Table 00969)
 31-8	reserved
 7-0	data to be returned on read of port 60h
SeeAlso: #00902,PORT 0060h

Bitfields for OPTi FireLink/FireBlast "HceStatus" register:
Bit(s)	Description	(Table 00970)
 31-8	reserved
 7	parity error
 6	time-out
 5	aux output full enable
 4	keyboard inhibit switch state
	0  inhibited
	1  not inhibited
 3	data written to port:
	0  port 60h
	1  port 64h
 2	warm/cold boot flag
 1	input full
 0	output full
SeeAlso: #00902,PORT 0060h,PORT 0064h

Top
1AB10ASF1066 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PicoPower devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (PicoPower devices)
	AX = B10Ah subfn 1066h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=8086h

Format of PicoPower Vesuvius V3-LS ISA Bridge configuration:
Offset	Size	Description	(Table 00971)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1066h, device ID 0002h or 8002h)
 40h	WORD	distributed DMA control register (see #00972)
 42h	BYTE	distributed DMA status register (see #00973)
 44h	DWORD	slave DMAC CH0 base register (see #00974)
 48h	DWORD	slave DMAC CH1 base register (see #00974)
 4Ch	DWORD	slave DMAC CH2 base register (see #00974)
 50h	DWORD	slave DMAC CH3 base register (see #00974)
 54h	DWORD	slave DMAC CH5 base register (see #00974)
 58h	DWORD	slave DMAC CH6 base register (see #00974)
 5Ch	DWORD	slave DMAC CH7 base register (see #00974)
 90h	DWORD	PCI-to-ISA bridge configuration register (see #00975)
 94h	DWORD	ISA memory address positive decode (see #00976)
 98h	DWORD	I/O address positive decode (see #00977)
 9Ch	WORD	I/O configuration address register (see #00978)
 A0h	DWORD	programmable ISA I/O address decoder (see #00979)
 A4h  6 DWORD	programmable ISA range decoder registers 1-6 (see #00980)
 C0h 64 BYTEs	reserved
SeeAlso: #00773

Bitfields for PicoPower Vesuvius V3-LS distributed DMA control register:
Bit(s)	Description	(Table 00972)
 15-6	reserved
 5	(revision BB & later) secondary slave floppy disk distributed access
	  enable (if bit 1 = 0)
 4	(revision BB & later) secondary slave hard disk distributed access
	  enable (if bit 1 = 0)
 3	slave floppy drive port distributed access enable (if bit 1 = 0)
 2	slave hard drive port distributed access enable (if bit 1 = 0)
 1	distributed DMA mode
	0 = master
	1 = slave
 0	distributed DMA function enable
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS distributed DMA status register:
Bit(s)	Description	(Table 00973)
 7-1	reserved
 0	DDMA status (write 1 to clear)
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS slave DMAC CH0-7 base register:
Bit(s)	Description	(Table 00974)
 31-16	reserved (0)
 15-7	channel base address
 6-4	channel base address (hardwired to channel number)
 3	extended address (0)
 2-1	size (00 for channel 0-3, 01 for channel 5-7)
 0	channel enable
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS PCI-to-ISA bridge configuration:
Bit(s)	Description	(Table 00975)
 31-15	reserved
 14	AD/SD/SA bus staggering enable
 13	ISA bridge PCI positive decode enable
 12	ISA bridge PCI subtractive decode disable
 11-10	reserved
 9	retry enable
 8	lock input enable
 7	SERR#/NMI status flag (write 1 to clear)
 6	PERR#/NMI status flag (write 1 to clear)
 5	SERR# triggers NMI enable
 4	PERR# triggers NMI enable
 3	reserved
 2-0	(revision BB and later) system configuration setting
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS ISA memory address positive decode:
Bit(s)	Description	(Table 00976)
 31-9	reserved
 8	ISA memory A0000h-AFFFFh and FFA0000h-FFFAFFFFh decode enable
 7	ISA memory B0000h-BFFFFh and FFB0000h-FFFBFFFFh decode enable
 6	ISA memory C0000h-C7FFFh and FFC0000h-FFFC7FFFh decode enable
 5	ISA memory C8000h-CFFFFh and FFC8000h-FFFCFFFFh decode enable
 4	ISA memory D0000h-D7FFFh and FFD0000h-FFFD7FFFh decode enable
 3	ISA memory D8000h-DFFFFh and FFD8000h-FFFDFFFFh decode enable
 2	ISA memory E0000h-E7FFFh and FFE0000h-FFFE7FFFh decode enable
 1	ISA memory E8000h-EFFFFh and FFE8000h-FFFEFFFFh decode enable
 0	ISA memory F0000h-FFFFFh and FFF0000h-FFFFFFFFh decode enable
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS I/O address positive decode:
Bit(s)	Description	(Table 00977)
 31-24	reserved
 23	(revision BB and later) I/O read 377h decode enable
 22	(revision BB and later) I/O read 3F7h decode enable
 21	PC NET (360h-36Fh) decode enable
 20	audio 5 (388h-38Bh) decode enable
 19	audio 4 (250h-25Fh) decode enable
 18	audio 3 (240h-24Fh) decode enable
 17	audio 2 (230h-23Fh) decode enable
 16	audio 1 (220h-22Fh) decode enable
 15	audio 0 (201h) decode enable
 14	(revision BB and later) ISA secondary floppy (370h-375h, 377h write)
	  decode enable
 13	(revision BB and later) ISA primary floppy (3F0h-3F5h, 3F7h write)
	  decode enable
 12	(revision BB and later) ISA secondary IDE (170h-177h, 376h) decode
	  enable
 11	(revision BB and later) ISA primary IDE (1F0h-1F7h, 3F6h) decode enable
 10	ISA LPT3 (3BCh-3BFh, 7BCh-7BEh) decode enable
 9	ISA LPT2 (278h-27Fh, 678h-67Ah) decode enable
 8	ISA LPT1 (378h-37Fh, 778h-77Ah) decode enable
 7	ISA COM4 (2E8h-2EFh) decode enable
 6	ISA COM3 (3E8h-3EFh) decode enable
 5	ISA COM2 (2F8h-2FFh) decode enable
 4	ISA COM1 (3F8h-3FFh) decode enable
 3	ISA system I/O (00h-FFh) decode enable
 2	configuration (24h/26h) decode enable
 1-0	reserved
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS I/O configuration address register:
Bit(s)	Description	(Table 00978)
 15-10	reserved
 9-1	configuration I/O address
 0	configuration address register enable
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS programmable ISA I/O address decoder:
Bit(s)	Description	(Table 00979)
 31-18	reserved
 17	ISA range decoder 6 read enable
 16	ISA range decoder 6 write enable
 15	ISA range decoder 6 type
	0 = memory
	1 = I/O
 14	ISA range decoder 5 read enable
 13	ISA range decoder 5 write enable
 12	ISA range decoder 5 type (same values as bit 15)
 11	ISA range decoder 4 read enable
 10	ISA range decoder 4 write enable
 9	ISA range decoder 4 type (same values as bit 15)
 8	ISA range decoder 3 read enable
 7	ISA range decoder 3 write enable
 6	ISA range decoder 3 type (same values as bit 15)
 5	ISA range decoder 2 read enable
 4	ISA range decoder 2 write enable
 3	ISA range decoder 2 type (same values as bit 15)
 2	ISA range decoder 1 read enable
 1	ISA range decoder 1 write enable
 0	ISA range decoder 1 type (same values as bit 15)
SeeAlso: #00971

Bitfields for PicoPower Vesuvius V3-LS programmable ISA range decoder 1:
Bit(s)	Description	(Table 00980)
 31-16	ISA address compare
 15-0	ISA device address (memory address bits 23-8, I/O address bits 15-0)
SeeAlso: #00971

Top
1AB10ASF1066 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Brooktree devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Brooktree devices)
	AX = B10Ah subfn 1066h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=8086h

Format of Brooktree Bt8230 ATM controller configuration:
Offset	Size	Description	(Table 00981)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 109Eh, device ID 8230h)
 10h	DWORD	address at which to map external memory (multiple of 16M)
		internal registers are mapped at offsets 0000h-01FFh; Bt8222
		  registers are mapped at 0200h-03FFh, and T1/E1 Framer
		  registers are mapped at 0800h-0FFFh.	Only 32-bit memory
		  accesses are used
 40h	BYTE	maximum burst length (00h not allowed, default = 10h)
 41h	BYTE	"SPECIAL_STATUS"
		bit 3: attempted to perform DMA on PCI while bus-mastering
			  disabled in PCI command word
		bit 2: PCI/DMA synchronization error occurred
		bit 1: PCI bus master encountered fatal error
		bit 0: direction of transaction which encountered error
			=0 write (refer to offset 48h)
			=1 read (refer to offset 44h)
		Note:	bits 3-1 are write-clear, bit 0 is read-only
 42h  2 BYTEs	unused
 44h	DWORD	current read target address for PCI bus master (read-only)
 48h	DWORD	current write target address for PCI bus master (read-only)
 4Ch 180 BYTEs	reserved
SeeAlso: #00790

Top
1AB10ASF1106 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VIA Technologies devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (VIA Technologies devices)
	AX = B10Ah subfn 1106h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=8086h


Format of Via Technologies' VT82C580VPX CPU-PCI bridge configuration:
Offset	Size	Description	(Table 00982)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1106h, device ID 0585h)
 40h 16 BYTEs	unused
 50h	BYTE	cache control 1
 51h	BYTE	cache control 2
 52h	BYTE	non-cacheable control
 53h	BYTE	system performance control
 54h	BYTE	non-cacheable region 1 (high)
 55h	BYTE	non-cacheable region 1 (low)
 56h	BYTE	non-cacheable region 2 (high)
 57h	BYTE	non-cacheable region 2 (low)
 58h	BYTE	DRAM configuration 1
 59h	BYTE	DRAM configuration 2
 5Ah  6	BYTEs	DRAM row N ending address (N=0-5)
 60h	BYTE	DRAM type
 61h	BYTE	shadow RAM control 1
 62h	BYTE	shadow RAM control 2
 63h	BYTE	shadow RAM control 3
 64h	BYTE	DRAM reference timing
 65h	BYTE	DRAM timing control 1 (see #00996)
 66h	BYTE	DRAM timing control 2 (see #00997)
 67h	BYTE	32-bit DRAM width (see #00998)
 68h	BYTE
 69h	BYTE	reserved ("do not program")
 6Ah	BYTE	refresh counter
 6Bh	BYTE	refresh control
 6Ch	BYTE	SDRAM control
 6Dh	BYTE	DRAM control drive strength
 6Eh  2 BYTEs	reserved
 70h	BYTE	PCI buffer control
 71h	BYTE	CPU-to-PCI flow control 1
 72h	BYTE	CPU-to-PCI flow control 2
 73h	BYTE	PCI master control 1
 74h	BYTE	PCI master control 2
 75h	BYTE	PCI arbitration 1
 76h	BYTE	PCI arbitration 2
 77h	BYTE	reserved for chip test
 78h 136 BYTEs	reserved
!!!via\580vpx.pdf
SeeAlso: #00817

Format of AMD-640 System Controller:
Offset	Size	Description	(Table 00983)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1106h, device ID 0595h)
 0Dh	BYTE	latency timer (bits 7-3)
		00h = 32*8 PCI clocks
		01h = 1*8 PCI clocks
		N = N*8 PCI clocks
 40h 16 BYTEs	unused???
 50h	BYTE	cache control 1 (see #00984)
 51h	BYTE	cache control 2 (see #00985)
 52h	BYTE	non-cacheable control (see #00986)
 53h	BYTE	system performance control (see #00987)
 54h	WORD	non-cacheable region 1 (see #00988)
 56h	WORD	non-cacheable region 2 (see #00988)
 58h	BYTE	DRAM configuration register 1 (see #00989)
 59h	BYTE	DRAM configuration register 2 (see #00990)
 5Ah  6	BYTEs	end of DRAM banks 0-5
		each register specifies bits 29-22 of the bank's ending address
 60h	BYTE	DRAM type (see #00991)
 61h	BYTE	shadow RAM control register 1 (see #00992)
 62h	BYTE	shadow RAM control register 2 (see #00993)
 63h	BYTE	shadow RAM control register 3 (see #00994)
 64h	BYTE	DRAM timing (see #00995)
 65h	BYTE	DRAM control register 1 (see #00996)
 66h	BYTE	DRAM control register 2 (see #00997)
 67h	BYTE	32-bit DRAM width control register (see #00998)
 68h  2 BYTEs	reserved
 6Ah	BYTE	DRAM refresh counter (in units of 16 CPU clocks)
 6Bh	BYTE	DRAM refresh control register (see #00999)
 6Ch	BYTE	SDRAM control register (see #01000)
 6Dh	BYTE	DRAM drive strength control register (see #01001)
 6Eh	BYTE	ECC control register (see #01002)
 6Fh	BYTE	ECC status register (see #01003)
 70h	BYTE	PCI buffer control (see #01004)
 71h	BYTE	CPU-to-PCI flow control 1 (see #01005)
 72h	BYTE	CPU-to-PCI flow control 2 (see #01006)
 73h	BYTE	PCI target control (see #01007)
 74h	BYTE	PCI initiator control (see #01008)
 75h	BYTE	PCI arbitration control 1 (see #01009)
 76h	BYTE	PCI arbitration control 2 (see #01010)
 77h 137 BYTEs	reserved
Note:	the AMD-640 uses PCI configuration mechanism #1; bus/device/function
	  are always 00h/00h/00h
SeeAlso: #00817,#01011

Bitfields for AMD-640 Cache Control Register 1:
Bit(s)	Description	(Table 00984)
 7-6	cache enable
	00 disabled
	01 initialization (BIOS fills L2 cache to known state)
	10 enabled (normal operation)
	11 reserved
 5	reserved (do not change)
 4-3	tag configuration
	00 eight tag bits, no "modify" bit
	01 seven tag bits, one modify bit
	10 ten tag bits, no modify bit
	11 nine tag bits, one modify bit
 2	reserved (0)
 1-0	type of cache RAM
	00 none
	01 reserved
	10 burst SRAM
	11 pipeline burst SRAM
SeeAlso: #00983,#00985

Bitfields for AMD-640 Cache Control Register 2:
Bit(s)	Description	(Table 00985)
 7-6	reserved (0)
 5	backoff processor until L2 cache filled
 4	reserved (0)
 3	two banks of SRAM instead of one
 2	reserved (0)
 1-0	L2 cache size
	00 = 256K
	01 = 512K
	10 = 1M
	11 = 2M
SeeAlso: #00983,#00984,#00986

Bitfields for AMD-640 Non-Cacheable Control Register:
Bit(s)	Description	(Table 00986)
 7	segment C000h-C7FFh cacheable and write-protected
 6	D000h-DFFFh cacheable and write-protected
 5	E000h-EFFFh cacheable and write-protected
 4	F000h-FFFFh cacheable and write-protected
 3	reserved (0)
 2	force L2 cache fill
 1	reserved (1)
 0	L2 write mode (0 = writeback, 1 = write-through)
SeeAlso: #00983,#00985,#00987

Bitfields for AMD-640 System Performance Control Register:
Bit(s)	Description	(Table 00987)
 7	enable read-around-write
 6	enable cache read pipeline cycle
 5	enable cache write pipeline cycle
 4	enable DRAM pipeline cycle
 3	enable PCI Peer Concurrence (PCI initiator can transfer to another
	  PCI device without blocking memory or CPU bus)
 2-0	reserved (0)
SeeAlso: #00983,#00986

Bitfields for AMD-640 Non-Cacheable Region register:
Bit(s)	Description	(Table 00988)
 15-11	bits 20-16 of region's base address
 10-8	size of non-cacheable area
	000 disabled
	001 = 64K
	010 = 128K
	...
	110 = 2M
	111 = 4M
 7-0	bits 28-21 of region's base address
SeeAlso: #00983,#00989

Bitfields for AMD-640 DRAM Configuration Register 1:
Bit(s)	Description	(Table 00989)
 7-5	type of address mapping for memory banks 0 and 1
	---EDO/FastPageMode---
	000 eight-bit column address
	001 nine-bit column address
	010 ten-bit column address
	011 eleven-bit column address
	100 twelve-bit column address
	other reserved
	---SDRAM---
	0xx = 16-Mbit SDRAM (see #00991)
	1xx = 64-Mbit SDRAM
 4	reserved (0)
 3-1	type of address mapping ofr memory banks 2 and 3
 0	reserved (0)
SeeAlso: #00983,#00990

Bitfields for AMD-640 DRAM Configuration Register 2:
Bit(s)	Description	(Table 00990)
 7-5	type of address mapping for memory banks 4 and 5 (see #00989)
 4-3	reserved (0)
 2-0	last populated memory bank
	000 - 101 = Bank0 - Bank5
	110,111 reserved
Note:	banks 2-4 are non-cacheable if tag RAM is ten bits + modified bit
SeeAlso: #00983,#00989

Bitfields for AMD-640 DRAM Type register:
Bit(s)	Description	(Table 00991)
 7-6	reserved
 5-4	type of DRAM in banks 4 and 5
	00 fast page mode (FPM)
	01 extended data out (EDO)
	10 reserved
	11 synchronous DRAM (SDRAM)
 3-2	type of DRAM in banks 2 and 3
 1-0	type of DRAM in banks 0 and 1
SeeAlso: #00983,#00989,#00990

Bitfields for AMD-640 Shadow RAM Control Register 1:
Bit(s)	Description	(Table 00992)
 7-6	segment CC00h-CFFFh shadow RAM control
	00 shadowing disabled
	01 write enabled
	10 read enabled
	11 both read and write enabled
 5-4	segment C800h-CBFFh shadow RAM control
 3-2	segment C400h-C7FFh shadow RAM control
 1-0	segment C000h-C3FFh shadow RAM control
SeeAlso: #00983,#00993,#00994

Bitfields for AMD-640 Shadow RAM Control Register 2:
Bit(s)	Description	(Table 00993)
 7-6	segment DC00h-DFFFh shadow RAM control
	00 shadowing disabled
	01 write enabled
	10 read enabled
	11 both read and write enabled
 5-4	segment D800h-DBFFh shadow RAM control
 3-2	segment D400h-D7FFh shadow RAM control
 1-0	segment D000h-D3FFh shadow RAM control
SeeAlso: #00983,#00992,#00994

Bitfields for AMD-640 Shadow RAM Control Register 3:
Bit(s)	Description	(Table 00994)
 7-6	segment E000h-EFFFh shadow RAM control
	00 shadowing disabled
	01 write enabled
	10 read enabled
	11 both read and write enabled
 5-4	segment F000h-FFFFh shadow RAM control
 3-2	ISA memory hole
	00 none
	01 = 512K-640K
	10 = 15M-16M
	11 = 14M-16M
 1	enable SMI redirection
	if set: 30000h-3FFFFh redirected to B0000h, 40000h-4FFFFh to A0000h
 0	redirect video RAM accesses (A0000h-BFFFFh) to system DRAM rather than
	  PCI bus (used to initialize SMRAM at B0000h)
SeeAlso: #00983,#00992,#00993

Bitfields for AMD-640 DRAM Timing register:
Bit(s)	Description	(Table 00995)
 7-6	RAS# precharge time
	00 = 2T (for 50ns DRAM) [T = HCLK period]
	01 = 3T (60ns)
	10 = 4T (70ns)
	11 = 6T
 5-4	RAS# pulse width
	00 = 3T (for 50ns DRAM)
	01 = 4T (60ns)
	10 = 5T (70ns)
	11 = 6T
 3-2	CAS# pulse width
	FPM: 00=1T, 01=2T, 10=3T, 11=4T
	EDO: 00=4T, 01=1T, 10=2T, 11=3T
 1	write pulse width (0 = 1T, 1 = 2T)
 0	delay from column address to CAS# (0 = 1T, 1 = 2T)
SeeAlso: #00983,#00994

Bitfields for AMD-640 DRAM Control Register 1:
Bit(s)	Description	(Table 00996)
 7-6	page mode control
	00 close page after access
	01 reserved
	10 keep page open until timeout or page miss
	11 close page if processor has not accessed DRAM for 8 CPU cycles
 5	enable fast DRAM decoding
 4	reduce EDO DRAM leadoff cycle from 6T to 5T
 3	delay DRAM data latch by 1/2 clock
 2	(AMD-640) reserved
	(VT82C580VPX) Pin88 function (0 = DB32, 1 = TA9)
 1	reserved (0)
 0	delay DRAM read cycle by 1T whenever write buffer contains data
	must be set if read-around-write is enabled (see #00987)
SeeAlso: #00983,#00997,#00982

Bitfields for AMD-640 DRAM Control Register 2:
Bit(s)	Description	(Table 00997)
 7	enable EDO test mode
	when set, EDO RAM contents will read correctly, FPM not
 6	reserved (0)
 5-3	(AMD-640) reserved (0)
 5	(VT82C580VPX) SDRAM CAS# latency (0 = latency 2, 1 = latency 3)
 4	(VT82C580VPX) reserved (0)
 3	(VT82C580VPX) enable Turbo EDO mode (0 = x-2-2-2, 1 = x-1-1-1 bursts)
 2	add one wait state for memory data-to-host data pop
 1	reduce RAS# precharge by 1T for SDRAM
 0	reduce RAS# to CAS# delay for SDRAM
Note:	bits 1 and 0 have no effect unless SDRAM has been selected via the
	  DRAM type register (see #00991)
SeeAlso: #00983,#00996,#00982

Bitfields for AMD-640 32-bit DRAM Width Control register:
Bit(s)	Description	(Table 00998)
 7	RAS# to Column Address delay (0 = 1T, 1 = 2T)
 6	delay NA# by 1T
 5-0	widths of banks 5 - 0
	AMD-640 documentation clains that all bits should be cleared
	for VT82C580VPX, settings are 0 = 64-bit, 1 = 32-bit (only applicable
	  when two banks of PBSRAM are installed)
SeeAlso: #00983,#00982,#00997,#00999

Bitfields for AMD-640 DRAM Refresh Control register:
Bit(s)	Description	(Table 00999)
 7	enable CAS#-before-RAS# refresh
 6	enable burst refresh (four rows every 60 us, not one every 15 us)
 5-0	reserved (0)
SeeAlso: #00983,#00998

Bitfields for AMD-640 SDRAM Control Register:
Bit(s)	Description	(Table 01000)
 7	enable 4-bank interleave for 64-Mbit SDRAMs (when bit 5 set)
 6	enable SDRAM burst write
 5	enable SDRAM bank interleave
	(when set, reduces 3-line burst from 8-1-1-1-3-1-1-1-3-1-1-1 to 8-1...)
 4	reserved (0)
 3	SDRAM CAS# latency (0 = latency 2, 1 = latency 3)
 2-0	SDRAM Operation Mode
	000 normal SDRAM
	001 enable NOP command
	010 convert CPU-to-DRAM cycles into All Banks Precharge command
	011 convert CPU-to-DRAM cycles into commands on MA[11:0]
	100 enable CAS#-before-RAS# cycles
	other reserved
SeeAlso: #00983,#00999

Bitfields for AMD-640 DRAM Drive Strength Control register:
Bit(s)	Description	(Table 01001)
 7	bank decoding test (1="for production test only. DO NOT SET.")
 6	strength of MA[1:0] drive (0 = 12ma, 1 = 24ma)
 5	function of N17 and M17 pins
	0 N17 is RAS5#, M17 is RAS4#
	1 N17 is MA1, M17 is MA0
 4	force SMM mode (when set, act as if SMIACT# is asserted)
 3	strength of SDRAM command lines (0 = 12ma, 1 = 24ma)
 2	strength of MA[13:2] and WEx# drive (0 = 12ma, 1 = 24ma)
 1	strength of CAS# drive (0 = 12ma, 1 = 24ma)
 0	strength of RAS# drive (0 = 12ma, 1 = 24ma)
SeeAlso: #00983,#00999

Bitfields for AMD-640 ECC Control Register:
Bit(s)	Description	(Table 01002)
 7	ECC mode select (0 = parity, 1 = ECC)
 6	reserved (0)
 5	assert SERR# for ECC multibit errors
 4	assert SERR# for ECC single-bit errors
 3	add 1T for SDRAM read cycles with ECC (required when ECC mode enabled)
 2	enable ECC for banks 5 and 4
 1	enable ECC for banks 3 and 2
 0	enable ECC for banks 1 and 0
SeeAlso: #00983,#01003

Bitfields for AMD-640 ECC Status Register:
Bit(s)	Description	(Table 01003)
 7	multi-bit error detected (write-clear)
 6-4	number of DRAM bank containing multi-bit error (write-clear)
 3	single-bit error detected (write-clear)
 2-0	number of DRAM bank containing single-bit error (write-clear)
SeeAlso: #00983,#01002

Bitfields for AMD-640 PCI Buffer Control register:
Bit(s)	Description	(Table 01004)
 7	enable CPU-to-PCI posted writes
 6	enable PCI-to-DRAM posted writes
 5	enable PCI-to-DRAM prefetch
 4-2	reserved (0)
 1	disable PCI retry for processor QuadWord access
 0	CPU-to-PCI buffer flushing
	0 flushing has priority over bus grants
	1 bus-grant to another PCI initiator has priority over flushing
SeeAlso: #00983

Bitfields for AMD-640 CPU-to-PCI Flow Control 1 register:
Bit(s)	Description	(Table 01005)
 7,3	PCI burst control
	00 no bursts, every write goes to write buffer
	01 burst writes placed in write buffer, non-burst writes sent to PCI
	      bus immediately after write buffers flushed
	1x all writes go to write buffer; bursting performed for burstable
	      transactions
 6	enable byte merge
 5	reserved (1)
 4	enable posted PCI I/O cycle writes
 2	eanble fast back-to-back PCI writes
 1	enable quick frame generation (FRAME# asserted one clock early)
 0	add one wait state to IRDY#
SeeAlso: #00983,#01006

Bitfields for AMD-640 CPU-to-PCI Flow Control 2 register:
Bit(s)	Description	(Table 01006)
 7	unsuccessful retry (16 or 64 times) has occurred (write-clear)
 6	retry timeout action
	0 retry continuously, recording status
	1 flush buffer; if reading, return FFFFFFFFh
 5-4	retry count and backoff
	00 retry twice, backoff processor
	01 retry 16 times, set bit 7 on failure
	10 retry four times, backoff processor
	11 retry 64 times, set bit 7 on failure
 3	discard failed data from write buffer when retry fails
 2	backoff processor if PCI read retry fails
 1	assert FRAME# one cycle earlier than indicated by offset 71h bit 1
 0	reduce TRDY#-to-BRDY# by one HCLK on processor reads of PCI target
SeeAlso: #00983,#01005,#01007

Bitfields for AMD-640 PCI Target Control register:
Bit(s)	Description	(Table 01007)
 7	slow memory decoding (must be set if fast back-to-back cycles enabled)
 6	add one wait state to TRDY# response on reads
 5	add one wait state to TRDY# response on writes
 4	reserved (0)
 3	assert STOP# after write timeout
 2	assert STOP# after read timeout
 1	enable sampling of PCI LOCK# pin
 0	force AMD-640 to initiate PCI arbitration if FRAM# not asserted within
	  16 PCI clocks of last GNT#
SeeAlso: #00983,#01006,#01008

Bitfields for AMD-640 PCI Initiator Control register:
Bit(s)	Description	(Table 01008)
 7	enable enhanced PCI commands (Memory Read Line, Memory Read Multiple,
	  and Memory Write and Invalidate)
 6	enable single-write byte merging
 5-0	reserved (0)
SeeAlso: #00983,#01007,#01008

Bitfields for AMD-640 PCI Arbitration Control 1 register:
Bit(s)	Description	(Table 01009)
 7	arbitration priority
	0 = fixed (high-to-low is REQ1#, REQ2#, REQ3#, REQ4#, PREQ#, and CPU)
	1 = fair (round-robin) arbitration
 6	arbitration mode
	0 arbitrate at end of REQ#
	1 arbitrate at end of each FRAME# (allows pre-emption by a
	  higher-priority initiator)
 5-4	reserved (0)
 3-0	number of idle time periods of 32 PCI clocks before arbitration is
	  forced (0000 disables timeout)
SeeAlso: #00983,#01008,#01010

Bitfields for AMD-640 PCI Arbitration Control 2 register:
Bit(s)	Description	(Table 01010)
 7	enable initiator priority rotation
	=0 use arbitration priority as set by offset 75h bit 7 (see #01009)
 6	reserved (0)
 5-4	initiator priority rotation control
	00 disabled (use offset 75h bit 7 setting)
	01 grant to processor after every PCI initiator grant
	10 grant to processor after every other PCI initiator grant
	11 grant to processor after every three PCI initiator grants
 3-0	reserved (0)
SeeAlso: #00983,#01009

Format of AMD-645 Peripheral Bus Controller, function 0 (PCI-ISA bridge) data:
Offset	Size	Description	(Table 01011)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1106h, device ID 0586h)
 40h	BYTE	ISA bus control (see #01012)
 41h	BYTE	ISA Test Mode (see #01013)
 42h	BYTE	ISA clock control (see #01014)
 43h	BYTE	ROM Decode Control (see #01015)
 44h	BYTE	keyboard controller control (see #01016)
 45h	BYTE	Type F DMA control (see #01017)
 46h	BYTE	Miscellaneous control 1 (see #01018)
 47h	BYTE	Miscellaneous control 2 (see #01019)
 48h	BYTE	Miscellaneous control 3 (see #01020)
 49h	BYTE	reserved
 4Ah	BYTE	IDE interrupt routing (see #01021)
 4Bh	BYTE	reserved
 4Ch	BYTE	PCI memory hole bottom, bits 23-16
 4Dh	BYTE	PCI memory hole top, bits 23-16
		(if top is <= bottom, hole is disabled)
 4Eh	WORD	DMA/Master memory access control 3 (see #01022)
 50h	BYTE	PnP DRQ Routing (see #01023)
 51h  3	BYTEs	reserved
 54h	BYTE	PCI IRQ Edge/Level selection (see #01024)
 55h	BYTE	PnP Routing for external MIRQ0/1 (see #01025)
 56h	BYTE	PnP Routing for PCI INTB/INTA (see #01027)
 57h	BYTE	PnP Routing for PCI INTD/INTC (see #01028)
 58h	BYTE	PnP Routing for external MIRQ2 (see #01029)
 59h	BYTE	MIRQ pin configuration (see #01030)
 5Ah	BYTE	XD Power-On Strap Options (see #01031)
 5Bh	BYTE	internal RTC test mode (see #01032)
 5Ch  4 BYTEs	reserved
 60h	WORD	distributed DMA, channel 0 base address/enable (see #01033)
 62h	WORD	distributed DMA, channel 1 base address/enable (see #01033)
 64h	WORD	distributed DMA, channel 2 base address/enable (see #01033)
 66h	WORD	distributed DMA, channel 3 base address/enable (see #01033)
 68h	WORD	reserved
 6Ah	WORD	distributed DMA, channel 5 base address/enable (see #01033)
 6Ch	WORD	distributed DMA, channel 6 base address/enable (see #01033)
 6Eh	WORD	distributed DMA, channel 7 base address/enable (see #01033)
 70h 144 BYTEs	reserved
SeeAlso: #00817,#00983,#01034,#01046

Bitfields for AMD-645 ISA Bus Control register:
Bit(s)	Description	(Table 01012)
 7	extra delay on ISA commands (default is disabled)
 6	enable extended ISA bus ready (default is disabled)
 5	ISA slave wait states (0=4 wait states [default], 1=5 wait states)
 4	chipset I/O wait states (0=2 wait states [default], 1=4 wait states)
 3	I/O recovery time enabled
 2	enable extended ALE
 1	no ROM wait states (default is clear, 1 wait state)
 0	enable ROM writes
SeeAlso: #01011

Bitfields for AMD-645 ISA Test Mode register:
Bit(s)	Description	(Table 01013)
 7-6	reserved (0)
 5	enable fast reset via PORT 0092h
 4	reserved (0)
 3	double DMA clock (=0 DMA at 1/2 ISA clock, =1 DMA at full ISA clock)
 2-0	reserved (0)
SeeAlso: #01011,#01012,#01014

Bitfields for AMD-645 ISA Clock Control register:
Bit(s)	Description	(Table 01014)
 7	disable "Latch IO16#"
 6-4	reserved (0)
 3	enable ISA Bus clock select via bits 2-0 (=0 use PCLK/4)
 2-0	ISA Bus clock select
	000 PCLK/3 (default)
	001 PCLK/2
	010 PCLK/4
	011 PCLK/6
	100 PCLK/5
	101 PCLK/10
	110 PCLK/12
	111 OSC/2
Note:	in order to safely change the ISA clock, bit 3 must first be cleared,
	  then bits 2-0 may be changed, and finally bit 3 can be set again
SeeAlso: #01011,#01013

Bitfields for AMD-645 ROM Decode Control register:
Bit(s)	Description	(Table 01015)
 7	enable 64K ROM at FFFE00000h-FFFEFFFFh
 6	enable 384K ROM at FFF80000h-FFFDFFFFh
 5	enable 32K ROM at E8000h-EFFFFh
 4	enable 32K ROM at E0000h-E7FFFh
 3	enable 32K ROM at D8000h-D8FFFh
 2	enable 32K ROM at D0000h-D7FFFh
 1	enable 32K ROM at C8000h-CFFFFh
 0	enable 32K ROM at C0000h-C7FFFh
SeeAlso: #01011

Bitfields for AMD-645 Keyboard Controller Control register:
Bit(s)	Description	(Table 01016)
 7-4	reserved (0)
 3	enable Mouse Lock
 2-0	reserved (0)
SeeAlso: #01011

Bitfields for AMD-645 Type-F DMA Control register:
Bit(s)	Description	(Table 01017)
 7	enable line buffer from ISA Master/DMA to PCI
 6-4	enable Type F timing on DMA Channels 7, 6, 5
 3-0	enable Type F timing on DMA Channels 3-0
SeeAlso: #01011

Bitfields for AMD-645 Miscellaneous Control 1 register:
Bit(s)	Description	(Table 01018)
 7-5	reserved (0)
 4	enable command register test mode
	(when set, PCI offset 04h bits 0-1 become writable and bit 3 read-only)
 3-2	reserved (0)
 1	disallow interruptions of PCI burst reads
 0	enable posted memory writes
SeeAlso: #01011,#01019,#01020

Bitfields for AMD-645 Miscellaneous Control 2 register:
Bit(s)	Description	(Table 01019)
 7	use INIT as CPU reset signal instead of CPURST
 6	enable PCI transaction delay
 5	enable ports 04D0h-04D1h (per EISA spec)
 4	enable interrupt controller shadow register
 3	reserved (0)
 2	enable write delay transaction time-out timer
 1	enable read delay transaction time-out timer
 0	software PCI reset -- set to cause a PCI reset via PCIRST pin
SeeAlso: #01011,#01018,#01020,PORT 04D0h

Bitfields for AMD-645 Miscellaneous Control 3 register:
Bit(s)	Description	(Table 01020)
 7-4	reserved (0)
 3	disable RTC PORT 0074h and PORT 0075h
 2	disable integrated USB controller
 1	disable integrated IDE controller
 0	add 512K to offset 4Eh bits 15-12 at top of PCI memory
SeeAlso: #01011,#01018,#01019,PORT 0074h"AMD-645"

Bitfields for AMD-645 IDE Interrupt Routing register:
Bit(s)	Description	(Table 01021)
 7	wait for PGNT before Grant to ISA Master/DMA
 6	port 00xxh bus select (0=access via SD bus, 1=access via XD bus)
 5-4	reserved (0)
 3-2	secondary IDE channel IRQ (same encoding as primary)
 1-0	primary IDE channel IRQ
	00 IRQ14 (default for primary)
	01 IRQ15 (default for secondary)
	10 IRQ10
	11 IRQ11
SeeAlso: #01011

Bitfields for AMD-645 DMA/Master Memory Access Control 3 register:
Bit(s)	Description	(Table 01022)
 15-12	top of PCI memory for ISA DMA/Master access, bits 23-20, less 1
 11	accesses to E0000h-EFFFFh forwarded to PCI
 10	accesses to A0000h-BFFFFh forwarded to PCI
 9	accesses to 80000h-9FFFFh forwarded to PCI
 8	accesses to 00000h-7FFFFh forwarded to PCI
 7	accesses to DC000h-DFFFFh forwarded to PCI
 6	accesses to D8000h-DBFFFh forwarded to PCI
 5	accesses to D4000h-D7FFFh forwarded to PCI
 4	accesses to D0000h-D3FFFh forwarded to PCI
 3	accesses to CC000h-CFFFFh forwarded to PCI
 2	accesses to C8000h-CBFFFh forwarded to PCI
 1	accesses to C4000h-C7FFFh forwarded to PCI
 0	accesses to C0000h-C3FFFh forwarded to PCI
SeeAlso: #01011

Bitfields for AMD-645 PnP DRQ Routing register:
Bit(s)	Description	(Table 01023)
 7-0	reserved (always read 04h)
SeeAlso: #01011,#01024

Bitfields for AMD-645 PCI IRQ Edge/Level Select register:
Bit(s)	Description	(Table 01024)
 7-4	reserved
 3	PIRQA# is edge-sensitive rather than level-sensitive
 2	PIRQB# is edge-sensitive
 1	PIRQC# is edge-sensitive
 0	PIRQD# is edge-sensitive
SeeAlso: #01011,#01023,#01025

Bitfields for AMD-645 PnP IRQ Routing 1 register:
Bit(s)	Description	(Table 01025)
 7-4	routing for MIRQ1 (see #01026)
 3-0	routing for MIRQ0 (see #01026)
SeeAlso: #01011,#01024

(Table 01026)
Values for AMD-645 IRQ routing:
 0000	disabled
 0001	IRQ1
 0010	reserved
 0011	IRQ3
 ...
 0111	IRQ7
 1000	reserved
 1001	IRQ9
 ...
 1100	IRQ12
 1101	reserved
 1110	IRQ14
 1111	IRQ15
SeeAlso: #01025,#01027,#01028,#01029

Bitfields for AMD-645 PnP IRQ Routing 2 register:
Bit(s)	Description	(Table 01027)
 7-4	routing for PIRQB# (see #01026)
 3-0	routing for PIRQA# (see #01026)
SeeAlso: #01025,#01028,#01029

Bitfields for AMD-645 PnP IRQ Routing 3 register:
Bit(s)	Description	(Table 01028)
 7-4	routing for PIRQD# (see #01026)
 3-0	routing for PIRQC# (see #01026)
SeeAlso: #01025,#01027,#01029

Bitfields for AMD-645 PnP IRQ Routing 4 register:
Bit(s)	Description	(Table 01029)
 7-4	reserved
 3-0	routing for MIRQ2# (see #01026)
SeeAlso: #01025,#01027,#01028

Bitfields for AMD-645 MIRQ Pin Configuration register:
Bit(s)	Description	(Table 01030)
 7-3	reserved (0)
 2	select MASTER# instead of MIRQ2
 1	select KEYLOCK instead of MIRQ1
 0	select APICCS# instead of MIRQ0
SeeAlso: #01011,#01029

Bitfields for AMD-645 XD Power-Up Strap Options register:
Bit(s)	Description	(Table 01031)
 7-4	Keyboard RP16-RP13
 3	reserved (0)
 2	enable internal RTC
 1	enable internal PS/2 mouse
 0	enable internal keyboard controller
Note:	the default value of this register is latched from external pins at
	  power-up
SeeAlso: #01011

Bitfields for AMD-645 Internal RTC Test Mode register:
Bit(s)	Description	(Table 01032)
 7-2	reserved (0)
 1	enable access to internal RTC's RAM when RTC is disabled
	  (see PORT 0074h"AMD-645")
 0	reserved (0)
SeeAlso: #01011

Bitfields for AMD-645 Distributed DMA Base/Enable register:
Bit(s)	Description	(Table 01033)
 15-4	base address bits 15-4 for Channel N
 3	enable DMA channel
 2-0	reserved (0)
SeeAlso: #01011

Format of AMD-645 Peripheral Bus Controller, function 1 (IDE Control) data:
Offset	Size	Description	(Table 01034)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1106h [VIA Technologies], device ID 0571h)
 09h	BYTE	programming interface
		bit 7: Master IDE capability
		bits 6-4: reserved (0)
		bit 3: secondary channel supports operating mode selection
		bit 2: use native PCI mode, not compatibility mode for sec. ch.
		bit 1: primary channel supports operating mode selection
		bit 0: use native PCI mode, not compatibility mode for pri. ch.
 10h	DWORD	primary data/command base address
 14h	DWORD	primary control/status base address
 18h	DWORD	secondary data/command base address
 1Ch	DWORD	secondary control/status base address
 20h	DWORD	bus master control base address (default 0000CC01h)
 40h	BYTE	chip enable (see #01035)
 41h	BYTE	IDE configuration (see #01036)
 42h	BYTE	reserved ("do not program")
 43h	BYTE	FIFO configuration (see #01037)
 44h	BYTE	miscellaneous control 1 (see #01038)
 45h	BYTE	miscellaneous control 2 (see #01039)
 46h	BYTE	miscellaneous control 3 (see #01040)
 47h	BYTE	unused???
 48h	DWORD	drive timing control (see #01041)
 4Ch	BYTE	address setup time (see #01042)
 4Dh	BYTE	reserved ("do not program")
 4Eh	BYTE	secondary non-01F0h port access timing (see #01043)
 4Fh	BYTE	primary non-01F0h port access timing (see #01043)
 50h	BYTE	UltraDMA/33 extended timing control, Sec. Drive 1 (see #01044)
 51h	BYTE	UltraDMA/33 extended timing control, Sec. Drive 0 (see #01044)
 52h	BYTE	UltraDMA/33 extended timing control, Pri. Drive 1 (see #01044)
 53h	BYTE	UltraDMA/33 extended timing control, Pri. Drive 0 (see #01044)
 54h  4 BYTEs	reserved
 58h	DWORD	"reserved"
		(appears to be an additional set of drive timing controls)
 5Ch  4 BYTEs	???
 60h	WORD	primary sector size (see #01045)
 62h  6 BYTEs	reserved
 68h	WORD	secondary sector size (see #01045)
 6Ah 150 BYTEs	reserved
Note:	the AMD-645 IDE controller is compatible with the SFF 8038i v1.0 spec
SeeAlso: #00817,#01011,#01046

Bitfields for AMD-645 IDE Chip Enable register:
Bit(s)	Description	(Table 01035)
 7-2	reserved (00001)
 1	enable primary IDE channel
 0	enable secondary IDE channel
SeeAlso: #01034,#01036

Bitfields for AMD-645 IDE Configuration register :
Bit(s)	Description	(Table 01036)
 7	enable primary IDE read-prefetch buffer
 6	enable primary IDE post write buffer
 5	enable secondary IDE read-prefetch buffer
 4	enable secondary IDE post write buffer
 3-0	reserved (0110)
SeeAlso: #01034,#01035,3813

Bitfields for AMD-645 IDE FIFO Configuration register:
Bit(s)	Description	(Table 01037)
 7	reserved (0)
 6-5	FIFO configuration
	00	primary channel = 16, secondary channel = 0
	01/10	primary channel = 8, secondary channel = 8
	11	primary channel = 0, secondary channel = 16
 4	reserved (1)
 3-2	primary channel FIFO threshold
	00 = completely full
	01 = 3/4 full
	10 = 1/2 full
	11 = 1/4 full
 1-0	secondary channel FIFO threshold (same settings as bits 3-2)
SeeAlso: #01034,#01036

Bitfields for AMD-645 IDE Miscellaneous Control 1 register:
Bit(s)	Description	(Table 01038)
 7	reserved (0)
 6	number of wait states on Master Read Cycle IRDY#
 5	number of wait states on Master Write Cycle IRDY#
 4	enable 1/2 clock advance on FIFO output
 3	enable bus-master IDE status register read retry
 2-0	reserved (0)
SeeAlso: #01034,#01039,#01040

Bitfields for AMD-645 IDE Miscellaneous Control 2 register:
Bit(s)	Description	(Table 01039)
 7	reserved (0)
 6	swap interrupts between the two IDE channels
 5-0	reserved (0)
SeeAlso: #01034,#01038,#01040

Bitfields for AMD-645 IDE Miscellaneous Control 3 register:
Bit(s)	Description	(Table 01040)
 7	enable FIFO flush for read DMA on primary channel interrupt
 6	enable FIFO flush for read DMA on secondary channel interrupt
 5	enable FIFO flush for each sector on primary channel
 4	enable FIFO flush for each sector on secondary channel
 3-2	reserved
 1-0	maximum DRDY# pulse width
	00 unlimited
	01 64 PCI clocks
	10 128 PCI clocks
	11 192 PCI clocks
SeeAlso: #01034,#01038,#01039

Bitfields for AMD-645 IDE Drive Timing Control register:
Bit(s)	Description	(Table 01041)
 31-28	primary drive 0 active DIOR#/DIOW# pulse width
 27-24	primary drive 0 DIOR#/DIOW# recovery time (PCI clocks, less 1)
 23-20	primary drive 1 active pulse width (PCI clocks, less 1)
 19-16	primary drive 1 recovery time
 15-12	secondary drive 0 active pulse width
 11-8	secondary drive 0 recovery time
 7-4	secondary drive 1 active pulse width
 3-0	secondary drive 1 recover time (PCI clocks, less 1)
SeeAlso: #01034,#01042

Bitfields for AMD-645 IDE Address Setup Time register:
Bit(s)	Description	(Table 01042)
 7-6	primary drive 0 address setup time
	00 = 1T
	01 = 2T
	10 = 3T
	11 = 4T
 5-4	primary drive 1 address setup time (same values as above)
 3-2	secondary drive 0 address setup time
 1-0	secondary drive 1 address setup time
SeeAlso: #01034,#01041

Bitfields for AMD-645 Non-01F0h Port Access Timing register:
Bit(s)	Description	(Table 01043)
 7-4	width of DIOR#/DIOW# active pulse in PCI clocks (less 1)
 3-0	DIOR#/DIOW# recovery time in PCI clocks (less 1)
SeeAlso: #01011

Bitfields for AMD-645 UltraDMA/33 Extended Timing Control register:
Bit(s)	Description	(Table 01044)
 7	method for enabling UltraDMA mode on drive
	0 using "Set Feature" command
	1 using bit 6 of this register
 6	enable UltraDMA mode for drive
 5	UltraDMA transfer mode
	0 UltraDMA DMA mode
	1 UltraDMA PIO mode
 4-2	reserved (0)
 1-0	drive cycle time
	00 = 2T
	...
	11 = 5T
SeeAlso: #01011

Bitfields for AMD-645 Sector Size register:
Bit(s)	Description	(Table 01045)
 15-12	reserved
 11-0	sector size in bytes (default 200h)
SeeAlso: #01011

Format of AMD-645 Peripheral Bus Controller, function 2 (USB Controller) data:
Offset	Size	Description	(Table 01046)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1106h, device ID 3038h)
 20h	DWORD	base address of USB I/O ports (see PORT xxxxh"AMD-645 - USB"
 40h	BYTE	miscellaneous control 1 (see #01047)
 41h	BYTE	miscellaneous control 2 (see #01048)
 42h  2 BYTEs	reserved
 44h  3 BYTEs	reserved ("do not program")
 47h	BYTE	reserved
 48h 24 BYTEs	reserved
 60h	BYTE	USB release number (read-only, 10h)
 61h 95 BYTEs	reserved
 C0h	WORD	USB legacy support (read-only, 2000h)
 C2h 62 BYTEs	reserved
SeeAlso: #00817,#00983,#01011,#01034,#01049

Bitfields for AMD-645 USB Miscellaneous Control 1 register:
Bit(s)	Description	(Table 01047)
 7	PCI memory commands
	0 support memory-read-line, memory-read-multiple, and
	  memory-write-and-invalidate
	1 memory read and memory write commands only
 6	do not disable port on EOF babble
 5	eanble PCI parity checking and PERR# generation
 4	reserved (0)
 3	USB data length
	0 allow TD length up to 1280 bytes
	1 limit to 1023
 2	enable USB power management
 1	DMA limited to 8-DW burst instead of 16-DW
 0	insert one PCI wait state
SeeAlso: #01046,#01048

Bitfields for AMD-645 USB Miscellaneous Control 2 register:
Bit(s)	Description	(Table 01048)
 7-3	reserved (0)
 2	only trap port 60h/64h bits when trap-enable bits are set
 1	do not pass A20GATE command sequence (from UHCI) through I/O port 64h
 0	reserved (0)
SeeAlso: #01046,#01047,PORT 0064h

Format of AMD-645 Peripheral Bus Controller, function 3 (Power Mgmt) data:
Offset	Size	Description	(Table 01049)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 1106h, device ID 3040h)
 20h	DWORD	base address for I/O ports (see PORT xxxxh"AMD-645")
 40h	BYTE	pin configuration (see #01050)
 41h	BYTE	general configuration (see #01051)
 42h	BYTE	SCI interrupt configuration (see #01052)
 43h	BYTE	reserved
 44h	WORD	primary interrupt channel
		bit 2 is reserved; setting any other bit N makes IRQN the
		  primary interrupt channel
 46h	WORD	secondary interrupt channel
		bit 2 is reserved; setting any other bit N makes IRQN the
		  secondary interrupt channel
 48h  8 BYTEs	unused???
 50h	DWORD	GP timer control (see #01053)
 54h 13	BYTEs	reserved
 61h	BYTE	programming interface read value (value to be returned by
		  configuration register 09h) (write-only)
 62h	BYTE	subclass read value (value to be returned by
		  configuration register 0Ah) (write-only)
 63h	BYTE	base class read value (value to be returned by configuration
		  register 0Bh) (write-only)
 64h 156 BYTEs	reserved
SeeAlso: #00817,#00983,#01011,#01034,#01046,#01049

Bitfields for AMD-645 PM Pin Configuration register:
Bit(s)	Description	(Table 01050)
 7	GPIO4 configuration (0 = Pin136 is GPO_WE, 1 = Pin136 is GPIO4)
 6	GPIO3 configuration (0 = Pin92 is GPI_RE#, 1 = Pin92 is GPIO3)
 5-0	reserved (0)
SeeAlso: #01049,#01051

Bitfields for AMD-645 PM General Configuration register:
Bit(s)	Description	(Table 01051)
 7	enable debounce of PWRBTN# input
 6	enable ACPI timer reset
 5-4	reserved ("do not program")
 3	select ACPI timer size (0 = 24 bits, 1 = 32 bits)
 2	enable PCI Frame Activation as Resume Event im power state C2
 1	clock-throttling cycle time
	0 = 32 usec clock, 512 usec cycle time (default)
	1 = 1 msec clock 16 msec cycle time
 0	reserved ("do not program")
SeeAlso: #01049,#01050,MEM xxxxh:xxx0h"ACPI"

Bitfields for AMD-645 PM SCI Interrupt Configuration register:
Bit(s)	Description	(Table 01052)
 7-4	reserved (0)
 3-0	interrupt assignment
	0000 disabled
	else IRQ number (except IRQ2 is reserved)
SeeAlso: #01049

Bitfields for AMD-645 PM GP Timer Control register:
Bit(s)	Description	(Table 01053)
 31-30	power-conservation mode timer
	00 = 1/16 sec
	01 = 1/8 sec
	10 = 1 sec
	11 = 1 minute
 29	(read) set when system is in power-conservation mode
 28	enable power-conservation mode
 27-26	secondary event timer
	00 = 2 msec
	01 = 64 msec
	10 = 1/2 sec
	11 = 0.25 msec after EOI
 25	secondary event occurred, secondary event timer is counting down
 24	enable secondary event timer
 23-16	GP1 Timer count (see bits 5-4)
 15-8	GP0 Timer count (see bits 1-0)
 7	start GP1 timer
 6	automatically reload GP1 timer after counting down to 0
 5-4	time base for GP1 timer
	00 disabled
	01 = 32 microseconds
	10 = 1 second
	11 = 1 minute
 3	start GP0 timer
 2	automatically reload GP0 timer after counting down to 0
 1-0	time base for GP0 timer
	00 disabled
	01 = 1/16 second
	10 = 1 second
	11 = 1 minute
SeeAlso: #01049

Top
1AB10ASF8086 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Intel devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Intel devices)
	AX = B10Ah subfn 8086h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #00878)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=1106h,AX=B10Dh

Format of PCI Configuration data for Intel 82375 EISA Bridge:
Offset	Size	Description	(Table 01054)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 0482h)
		(revision numbers: 03h = 82375EB, 04h = 82375SB)
 40h	BYTE	PCI Control
!!!intel\29047704.pdf pg. 32
 41h	BYTE	PCI Arbiter Control
 42h	BYTE	PCI Arbiter Priority Control
 43h	BYTE	PCI Arbiter Priority Control Extension
 44h	BYTE	MEMCS# Control
 45h	BYTE	MEMCS# Bottom of Hole
 46h	BYTE	MEMCS# Top of Hole
 47h	BYTE	MEMCS# Top of Memory
 48h	WORD	EISA Address Decode Control 1
 4Ah  2 BYTEs	reserved
 4Ch	BYTE	ISA I/O Recovery Time Control
 4Dh  7 BYTEs	reserved
 54h	BYTE	MEMCS# Attribute Register #1
 55h	BYTE	MEMCS# Attribute Register #2
 56h	BYTE	MEMCS# Attribute Register #3
 57h	BYTE	reserved
 58h	BYTE	PCI Decode Control
 59h	BYTE	reserved
 5Ah	BYTE	EISA Address Decode Control 2
 5Bh	BYTE	reserved
 5Ch	BYTE	EISA-to-PCI Memory Region Attributes
 5Dh  3 BYTEs	reserved
 60h  4 DWORDs	EISA-to-PCI Memory Region Address registers 1-4
 70h  4 DWORDs	EISA-to-PCI I/O Region Address registers 1-4
 80h	WORD	BIOS Timer base address
 82h  2 BYTEs	reserved
 84h	BYTE	EISA Latency Timer Control Register
 85h  3 BYTEs	reserved
 88h	DWORD	PCEB Test Control Register ("DO NOT WRITE")
 8Ch 116 BYTEs	reserved
SeeAlso: #00878,#01055

Format of PCI Configuration data for Intel 82434LX/NX Cache/DRAM Controller:
Offset	Size	Description	(Table 01055)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 04A3h)
		(revision numbers: 01h/03h are 82434LX, 1xh are 82434NX)
		(command register only supports bits 8,6,2,1,0)
 40h 16 BYTEs	unused (hard-wired to 00h)
 44h	BYTE	??? (AMI BIOS writes 00h)
 45h	BYTE	??? (AMI BIOS writes 00h)
 50h	BYTE	Host CPU Selection (see #01056)
 51h	BYTE	deturbo frequency control register
		when deturbo mode is selected (see PORT 0CF9h), the chipset
		  places a hold on the memory bus for a fraction of the
		  time inversely proportional to the value in this register
		  by comparing it against a free-running 8-bit counter counting
		  at 1/8 the CPU clock speed
		  (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
		  (only bits 7-6 writable, bits 5-0 hardwired to 0)
 52h	BYTE	Secondary Cache Control (see #01057)
 53h	BYTE	Host Read/Write Buffer Control (see #01058)
 54h	BYTE	PCI Read/Write Buffer Control
		bits 7-3: reserved
		bit 2: LBXs connected to TRDY#
		bit 1: enable PCI burst writes
		bit 0: enable PCI-to-memory posted writes
 55h  2 BYTEs	reserved
 57h	BYTE	DRAM Control (see #01059)
 58h	BYTE	DRAM Timing (see also #01117)
		bits 7-2: reserved
		bit 1: (NX only) RAS# Wait State
		bit 0: CAS# Wait State (one extra wait state before CAS#
			  within burst cycle)
 59h  7	BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h  8	BYTEs	DRAM Row Boundary registers 0-7
		(chip revisions numbered < 10h [LX] only support six rows of
		  DRAM)
		each register N indicates the amount of cumulative amount of
		  memory in SIMM banks 0-N, in multiples of 1M; offset 67h
		  (65h on 82434LX's) contains the total amount of memory
		  installed in the system; on the 82434NX, two additional
		  bits are concatenated to each row boundary from the DRAM Row
		  Boundary Extension registers to allow up to 1024M of memory
		  to be specified (though only 512M are supported)
 68h  4 BYTEs	(NX only) DRAM Row Boundary Extension registers
		each nybble is concatenated with the corresponding DRAM Row
		  Boundary register to form a 12-bit boundary value (of which
		  only the low 10 bits are actually used)
 6Ch	DWORD	reserved (hardwired to 00000000h)
 70h	BYTE	Error Command (see #01060)
 71h	BYTE	Error Status (see #01061)
 72h	BYTE	System Management RAM control (see also #01123)
		bits 7-6: reserved
		bit 5:	map SMM-mode memory (64K) into address space when bits
			2-0 = 010 (default 3000h:0000h; can be changed by
			first SMM event)
		bit 4: close SMRAM space (allows data accesses to be forwarded
			to PCI bus while execuding SMM code)
		bit 3: lock SMRAM space (can't be cleared by software)
		bits 2-0: SMRAM memory address (010 = Axxxxh, 011 = Bxxxxh)
 73h  5 BYTEs	reserved
 78h	WORD	Memory Space Gap
		bit 15: enable ISA hole
		bits 14-12: size of ISA hole in MB (less 1); must be power of 2
		bits 11-8: reserved
		bits 7-4: bottom of ISA memory hole in MB
			  (must be multiple of gap size)
		bits 3-0: reserved
 7Ah  2 BYTEs	reserved
 7Ch	DWORD	Frame Buffer Range (see #01062)
 80h 128 BYTEs	reserved
Note:	the 82434NX is part of the Intel Neptune chipset
SeeAlso: #01064,#01083

Bitfields for Intel 82434LX/NX Host CPU Selection:
Bit(s)	Description	(Table 01056)
 7-5	host CPU type
	LX: hardwired to 100 (Pentium)
	NX: "reserved" (101 on RB's system)
 4-3	reserved
 2	enable L1 cache
 1-0	Host Operating Frequency (set according to external bus speed)
	00: reserved
	01: 50 MHz
	10: 60 MHz
	11: 66 MHz
	(LX: bit 1 reserved, only 60/66 MHz supported)
SeeAlso: #01055,#01057

Bitfields for Intel 82434LX/NX Secondary Cache Control:
Bit(s)	Description	(Table 01057)
 7-6	secondary cache size
	00 none
	01 reserved
	10 256K
	11 512K
 5	SRAM type
	0 standard SRAMs
	1 burst SRAMs
 4	secondary cache allocation
	0 cache only CPU reads of memory with CACHE# asserted
	1 cache all CPU reads of cacheable memory
 3	Cache Byte Control
	0 use single write enable and per-byte select lines
	1 use per-byte write enables on the cache
 2	(NX only) SRAM connectivity
	0 disable CCS[1:0]# / CCS1# functionality
	1 enable CCS[1:0]# functionality to de-select async SRAMs, placing them
	  in a low-power standby mode
	1 enable CCS1# functionality for burst SRAMs, indicating the lack of an
	  external address latch
 1	(LX only) Secondary Cache Write Policy
	0 write-through
	1 write-back (NX is always in write-back mode)
 0	Secondary Cache Enable
SeeAlso: #01055,#01058

Bitfields for Intel 82434LX/NX Host Read/Write Buffer Control:
Bit(s)	Description	(Table 01058)
 7-4	reserved
 3	enable read-around-write
 2	reserved
 1	enable CPU-to-PCI posted writes
 0	(LX only) enable CPU-to-memory posted writes
	(NX always posts memory writes)
SeeAlso: #01055,#01057

Bitfields for Intel 82434LX/NX DRAM Control:
Bit(s)	Description	(Table 01059)
 7-6	(NX only) DRAM burst timing
	00  X-4-4-4 read/write (default)
	01  X-4-4-4 read, X-3-3-3 write
	10  reserved
	11  X-3-3-3 read/write
 5	parity error mask
 4	0-Active RAS# mode
 3	SMRAM enable (must be set to enable reg 72h)
 2	Burst-of-Four Refresh
 1	Refresh Type
	=0 RAS#-only
	=1 CAS#-before-RAS#
 0	DRAM Refresh Enable
SeeAlso: #01055

Bitfields for Intel 82434LX/NX Error Command register:
Bit(s)	Description	(Table 01060)
 7	assert SERR# on receiving target abort
 6	assert SERR# on PCI data-write parity error
 5	(NX only) assert SERR# on PCI data-read parity error
 4	(NX only) assert SERR# on PCI address parity error
 3	(NX only) assert PERR# on data parity error
 2	enable L2 cache parity
 1	enable SERR# on DRAM/L2 cache data parity error
 0	assert PEN# on data reads; allow CPU to signal parity error via PCHK#
Notes:	PCI command register bit 6 is master enable for bit 3;
	PCI cmd bits 6 and 8 are the master enable for bits 7-4 and 1
	bits 1-0 = 10 is not permitted
SeeAlso: #01055,#01061

Bitfields for Intel 82434LX/NX Error Status register:
Bit(s)	Description	(Table 01061)
 7	reserved
 6	PCI-write detected parity error
 5	(NX only) PCI-read detected parity error
 4	(NX only) PCI address parity error detected
 3	main memory data parity error
 2	L2 cache data parity error
 1	reserved
 0	Shutdown cycle detected
Note:	clear status bits by writing a 'one' bit to each bit to be cleared
SeeAlso: #01060,#01055

Bitfields for Intel 82434LX/NX Frame Buffer Range register:
Bit(s)	Description	(Table 01062)
 31-20	buffer offset (in 1MB increments; must be multiple of buffer set set
	  by bits 3-0)
 19-14	reserved
 13	enable byte merging
 12	128K VGA-range Attribute Enable
	when set, bits 13,9,7 also apply to VGA memory range (Axxxx-Bxxxx)
 11-10	reserved
 9	no lock requests
 8	reserved
 7	enable transparent bufer writes
 6-4	reserved
 3-0	buffer size in MB (less 1); must be power of 2
Note:	if bits 31-20=0, the frame buffer feature is disabled
SeeAlso: #01055

Format of PCI Configuration data for Intel 82424 Cache Controller:
Offset	Size	Description	(Table 01063)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 0483h)
 40h	BYTE	bus number
 41h	BYTE	subordinate bus number
 42h	BYTE	disconnect timer
 50h	BYTE	host CPU selection
 51h	BYTE	deturbo frequency control
		when deturbo mode is selected (see PORT 0CF9h), the chipset
		  places a hold on the memory bus for a fraction of the
		  time inversely proportional to the value in this register
		  (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
 52h	BYTE	secondary cache control
 53h	BYTE	write buffer control
 54h	BYTE	PCI features control
 55h	BYTE	DRAM Operation Mode Select
 56h	BYTE	System Exception Handling
 57h	BYTE	SMM Control Register
 58h	BYTE	reserved
 59h  7	BYTEs	Programmable Attribute Map registers 0-6 (see also #01118)
 60h  4 BYTEs	DRAM Row Boundary registers 0-3
		each register N indicates amount of memory in rows 0-N (each
		  row is 64 bits wide)
		boundary register 3 (offset 63h) contains the total system
		  memory, which may not exceed 128M
 64h  4 BYTEs	unused???
 68h	WORD	Memory Hole-0
 6Ah	WORD	Memory Hole-1
Note:	the above field names are those given by EduWARE's PCI Configuration
	  Manager v1.2
SeeAlso: #01055,#01083,#01108

Format of PCI Configuration data for Intel 82378 and 82379 ISA Bridges:
Offset	Size	Description	(Table 01064)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 0484h)
		(revision ID:
		    bits 7-4: reserved
		    bits 3-0: revision
			0011 82378ZB A0-step
			1000 82379AB A0-step)
 40h	BYTE	PCI Control (see #01065)
 41h	BYTE	PCI Arbiter Control (see #01066)
 42h	BYTE	PCI Arbiter Priority Control (see #01067)
 43h	BYTE	(82378ZB) PCI Arbiter Priority Control Extension Register
		bit 0: bank 3 fixed priority mode select (see also #01067)
		    =0 REQ2# has higher priority
		    =1 REQ3# has higher priority
 44h	BYTE	MEMCS# Control (see #01068)
 45h	BYTE	MEMCS# Bottom of Hole (address bits 23-16)
 46h	BYTE	MEMCS# Top of Hole (address bits 23-16)
 47h	BYTE	MEMCS# Top of Memory
		(address bits 28-21 == size in 2M increments, less 1)
 48h	BYTE	ISA Address Decoder Control (see #01069)
 49h	BYTE	ISA Address Decoder ROM Block Enable (see #01070)
 4Ah	BYTE	ISA Address Decoder Bottom of Hole (address bits 23-16)
 4Bh	BYTE	ISA Address Decoder Top of Hole (address bits 23-16)
 4Ch	BYTE	ISA Controller Recovery Time (see #01087)
 4Dh	BYTE	ISA Clock Divisor (see #01071)
 4Eh	BYTE	Utility Bus Chip Select Enable A (see #01072)
 4Fh	BYTE	Utility Bus Chip Select Enable B (see #01073)
 50h  4 BYTEs	reserved
 54h	BYTE	MEMCS# Attribute Register #1 (see #01074)
		attributes for 16K blocks from C0000h-CFFFFh
 55h	BYTE	MEMCS# Attribute Register #2 (see #01074)
		attributes for 16K blocks from D0000h-DFFFFh
 56h	BYTE	MEMCS# Attribute Register #3 (see #01074)
		attributes for 16K blocks from E0000h-EFFFFh
 57h	BYTE	(82378) Scatter/Gather Relocation Base Adress (see #01075)
		(82379AB) reserved
 58h  8 BYTEs	reserved
 60h	BYTE	(82378ZB) IRQ0# Route Control (see #01076)
 61h	BYTE	(82378ZB) IRQ1# Route Control (see #01076)
 62h	BYTE	(82378ZB) IRQ2# Route Control (see #01076)
 63h	BYTE	(82378ZB) IRQ3# Route Control (see #01076)
 64h 12 BYTEs	reserved
 70h	BYTE	(82378) reserved
		(82379AB, write-only) PIC/APIC Configuration Control
			  (see #01077)
 71h	BYTE	(82378) reserved
		(82379AB, write-only) APIC Base Address Relocation
		  (see #01078,MEM FEC00000h)
 72h 14 BYTEs	reserved
 80h	WORD	BIOS timer base address (see PORT 0078h)
		bits 15-2 are bits 15-2 of BIOS timer port address
		bit 1: reserved (0)
		bit 0: timer enabled (if disabled, other bits ignored)
 82h 30 BYTEs	unused???
 A0h	BYTE	SMI Control (see #01079)
 A1h	BYTE	reserved
 A2h	WORD	SMI Enable (see #01080)
 A4h	DWORD	System Event Enable (SEE) (see #01081)
 A8h	BYTE	Fast-Off Timer (in minutes)
 A9h	BYTE	reserved
 AAh	WORD	active SMI Requests (see #01082)
 ACh	BYTE	(82378ZB) Clock Throttle STPCLK# Low Timer
		duration of STPCLK# low period in 32 microsecond units
 ADh	BYTE	reserved
 AEh	BYTE	(82378ZB) Clock Throttle STPCLK# High Timer
		duration of STPCLK# high period in 32 microsecond units
 AFh 81 BYTEs	reserved
SeeAlso: #01055,#01167,PORT 040Ah"82378ZB"

Bitfields for Intel 82378/82379 PCI Control:
Bit(s)	Description	(Table 01065)
 7	reserved (0)
 6	DMA Reserved Page Register Aliasing Control
	=0 alias PORT 80h-8Fh to PORT 90h-9Fh
 5	Interrupt Acknowledge Enable
	=0 ignore INTA cycles on the PCI bus, but still allow 8259 register
	  access and poll-mode functions
 4-3	Subtractive Decoding Sample Point
	00 slow sample point
	01 typical
	10 fast sample point
	11 reserved
 2	PCI Posted Write Buffer Enable
 1	ISA Master Line Buffer Configuration
	=0 single-transaction mode
	=1 eight-byte mode for ISA bus master transfers
 0	DMA Line Buffer Configuration
	=0 single-transaction mode
	=1 eight-byte mode
SeeAlso: #01064,#01066

Bitfields for Intel 82378/82379 PCI Arbiter Control:
Bit(s)	Description	(Table 01066)
 7-5	reserveed (0)
 4-3	Master Retry Timer
	00 disabled (retries never masked)
	01 retries unmasked after 16 PCICLKs
	10 retries unmasked after 32 PCICLKs
	11 retries unmasked after 64 PCICLKs
 2	Bus Park
	=1 park CPUREQ# on PCI bus when 82378 detects PCI bus idle
 1	Bus Lock
	=0 resource lock
	=1 Bus lock
 0	Guaranteed Access Time
	=1 ISA bus masters are guaranteed 2.5 microsecond CHRDY time-out
SeeAlso: #01064,#01065

Bitfields for Intel 82378/82379 PCI Arbiter Priority Control:
Bit(s)	Description	(Table 01067)
 7	bank 3 rotate control
 6	bank 2 rotate control
 5	bank 1 rotate control
 4	bank 0 rotate control
 3	bank 2 fixed priority mode select B
 2	bank 2 fixed priority mode select A
 1	bank 1 fixed priority mode select
 0	bank 0 fixed priority mode select
Note:	if both 'rotate' and 'fixed' bits are set for a given bank,
	  that bank will be in rotating-priority mode
SeeAlso: #01064,#01066

Bitfields for Intel 82378/82379 MEMCS# Control Register:
Bit(s)	Description	(Table 01068)
 7-5	reserved (0)
 4	MEMCS# Master Enable
 3	write enable for 0F0000h-0FFFFFh
 2	read enable for 0F0000h-0FFFFFh
 1	write enable for 080000h-09FFFFh
 0	read enable for 080000h-09FFFFh
SeeAlso: #01064

Bitfields for Intel 82378/82379 ISA Address Decoder Control Register:
Bit(s)	Description	(Table 01069)
 7-4	ISA memory cycle forwarding to PCI
	0000-1111 = 1M-16M top of ISA memory; any accesses above programmed
		  limit are forwarded to PCI bus
 3-0	ISA/DMA memory cycle to PCI bus enables
	bit 3: 896K-960K (E000h-EFFFh)
	bit 2: 640K-768K (A000h-BFFFh)
	bit 1: 512K-640K (8000h-9FFFh)
	bit 0: 0K-512K	 (0000h-7FFFh)
SeeAlso: #01064,#01070

Bitfields for Intel 82378/82379 ISA Address Decoder ROM Block Enable:
Bit(s)	Description	(Table 01070)
 7	enable 880K-896K (EC00h-EFFFh)
 6	enable 864K-880K (E800h-EBFFh)
 5	enable 848K-864K (E400h-E7FFh)
 4	enable 832K-848K (E000h-E3FFh)
 3	enable 816K-832K (DC00h-DFFFh)
 2	enabel 800K-816K (D800h-DBFFh)
 1	enable 784K-800K (D400h-D7FFh)
 0	enable 768K-784K (D000h-D3FFh)
Note:	ISA accesses within any enabled ranges are forwarded to the PCI bus
SeeAlso: #01064,#01069

Bitfields for Intel 82378/82379 ISA Clock Divisor Register:
Bit(s)	Description	(Table 01071)
 7	reserved (0)
 6	enable positive decode of upper 64K BIOS at 000F0000h-000FFFFFh,
	  FFEF0000h-FFEFFFFFh, and FFFF0000h-FFFFFFFFh
 5	coprocessor error enable
	=1 FERR# is driven onto IRQ13
 4	IRQ12/Mouse Function Enable
	=0 standard IRQ12
	=1 mouse
 3	RSTDRV enable
	=1 assert RSTDRV until this bit cleared (for use in changing ISA bus
	  speed)
 2-0	PCICLK-to-ISA SYSCLK divisor
	000	4
	001	3
	other	reserved
SeeAlso: #01064,#01069

Bitfields for Intel 82378/82379 Utility Bus Chip Select A Register:
Bit(s)	Description	(Table 01072)
 7	extended BIOS enable (decode accesses to FFF80000h-FFFDFFFFh)
 6	lower BIOS enable (decode accesses to E0000h-EFFFFh,
	  FFEE0000h-FFEEFFFFh, and FFFE0000h-FFFEFFFFh)
 5	(82378ZB) floppy disk primary/secondary address select
	=1 use secondary address range
 4	(82378ZB) IDE Decode enable
 3,2	floppy disk address locations enable
 1	keyboard controller address location enable
	enables I/O addresses 60h,62h,64h,66h (82378ZB) or 60h/64h (82379AB)
 0	RTC address location enabled
	=1 enable decode of I/O ports 70h-77h
SeeAlso: #01064,#01089,#01073

Bitfields for Intel 82378ZB/82379 Utility Bus Chip Select B Register:
Bit(s)	Description	(Table 01073)
 7	configuration RAM decode enable
	=1 permit write accesses to I/O port 0C00h and r/w to ports 08xxh
 6	enable PORT 0092h
 5-4	parallel port enable
	00 LPT1 (ports 03BCh-03BFh)
	01 LPT2 (ports 0378h-037Fh)
	10 LPT3 (ports 0278h-027Fh)
	11 disabled
 3-2	serial port B enable
	00 COM1 (03F8h-03FFh)
	01 COM2 (02F8h-02FFh)
	10 reserved
	11 port B disabled
 1-0	serial port A enable
	00 COM1 (03F8h-03FFh)
	01 COM2 (02F8h-02FFh)
	10 reserved
	11 port A disabled
Note:	if both serial ports are set to the same address, port B is disabled
SeeAlso: #01064,#01072,PORT 0092h

Bitfields for Intel 82378/82379 MEMCS# Attribute Register 1/2/3:
Bit(s)	Description	(Table 01074)
 7	write-enable xC000h-xFFFFh expansion ROM
 6	read-enable xC000h-xFFFFh expansion ROM
 5	write-enable x8000h-xBFFFh expansion ROM
 4	read-enable x8000h-xBFFFh expansion ROM
 3	write-enable x4000h-x7FFFh expansion ROM
 2	read-enable x4000h-x7FFFh expansion ROM
 1	write-enable x0000h-x3FFFh expansion ROM
 0	read-enable x0000h-x3FFFh expansion ROM
Note:	x = C/D/E depending on the attribute register
SeeAlso: #01064

Bitfields for Intel 82378ZB Scatter Gather Relocation Base Address:
Bit(s)	Description	(Table 01075)
 7-0	bits 15-8 of base address for scatter/gather I/O ports
	(default 04h; low 8 bits of address are always 10h-3Fh)
SeeAlso: #01064,#01074,#01076,PORT 040Ah"82378ZB",#P0039

Bitfields for Intel 82371/82378/82379 PCI IRQ Route Control Register:
Bit(s)	Description	(Table 01076)
 7	disable IRQ routing
 6-4	reserved (0)
 3-0	ISA IRQ number to which to route the PCI IRQ
Note:	IRQs 0-2, 8, and 13 are reserved
SeeAlso: #01064,#01167,#01100

Bitfields for Intel 82379AB PIC/APIC Configuration Control Register:
Bit(s)	Description	(Table 01077)
 7-2	reserved
 1	SMI Routing Control
	=1 SMI via APIC
	=0 SMI via SMI# signal
 0	INT Routing Control
	=1 INT disabled (requires that APIC be enabled)
	=0 INT enabled
SeeAlso: #01064,#01078

Bitfields for Intel 82379AB/82371 APIC Base Address Relocation:
Bit(s)	Description	(Table 01078)
 7	reserved
 6	(82379AB) reserved
 6	(82371) A12 mask
	=1 ignore address bit 12 in APIC address
 5-0	bits 15-10 of APIC memory address (ORed with FEC00000h to form base
	  address)
SeeAlso: #01064,#01167,#01077,MEM FEC00000h

Bitfields for Intel 82378/82379 SMI Control Register:
Bit(s)	Description	(Table 01079)
 7	reserved
 6	(82378) reserved
	(82379) require Stop Grant bus cycle before asserting STPCLK#
 5-4	reserved
 3	Fast-Off Timer freeze
 2	STPCLK# scaling enable
	=1 enable Clock Throttle bytes in PCI configuration space
 1	STPCLK# signal enable
	=1 assert STPCLK# on read from PORT 00B2h
 0	SMI# Gate
	=1 enable SMI# on system management interrupt
Notes:	bit 1 is cleared either with an explicit write of 0 here, or by any
	  write to PORT 00B2h
	bit 0 does not affect the recording of SMI events, so a pending SMI
	  will cause an immediate SMI# when the bit is set
SeeAlso: #01064,#01080,#01081,#01222,PORT 00B2h

Bitfields for Intel 82371/82378/82379 SMI Enable Register:
Bit(s)	Description	(Table 01080)
 15-9	reserved
 8	(82371SB only) Legacy USB SMI enable
 7	APMC Write SMI enable
	=1 generate SMI on write to PORT 00B2h
 6	EXTSMI# SMI enable
 5	Fast-Off Timer SMI enable
 4	IRQ12 (PS/2 mouse) SMI enable
 3	IRQ8 (RTC alarm) SMI enable
 2	IRQ4 (COM1/COM3) SMI enable
 1	IRQ3 (COM2/COM4) SMI enable
 0	IRQ1 (keyboard) SMI enable
SeeAlso: #01064,#01079,#01081,#01167,PORT 00B2h

Bitfields for Intel 82371/82378/82379 System Event Enable Register:
Bit(s)	Description	(Table 01081)
 31	Fast-Off SMI enable (system and break events)
 30	(82379 only) Fast-Off Interrupt Enable (break events only)
 30	(82371 only) INTR enable (break events only)
 29	Fast-Off NMI enable (system and break events)
 28	(82371SB only) Fast-Off APIC enable (break events only)
 27	(82379 only) Fast-Off COM enable (system events only)
 26	(82379 only) Fast-Off LPT enable (system events only)
 25	(82379 only) Fast-Off Drive enable (system events only)
 24	(82379 only) Fast-Off DMA enable (system events only)
 23-16	reserved
 15-3	Fast-Off IRQ (15-3) enable (system and break events)
 2	reserved
 1-0	Fast-Off IRQ (1-0) enable (system and break events)
Note:	any enabled system event restarts the Fast-Off Timer, thus preventing
	  a Fast-Off powerdown; any enabled break event awakens the system from
	  powerdown
SeeAlso: #01064,#01079,#01080,#01082,#01167

Bitfields for Intel 82371/82378/82379 SMI Request Register:
Bit(s)	Description	(Table 01082)
 15-9	reserved
 8	(82371SB only) Legacy USB SMI status
 7	APM SMI Status (write to PORT 00B2h triggered SMI)
 6	EXTSMI# SMI Status (EXTSMI# line triggered SMI)
 5	Fast-Off Timer expired
 4	IRQ12 triggered SMI
 3	IRQ8 triggered SMI
 2	IRQ4 triggered SMI
 1	IRQ3 triggered SMI
 0	IRQ1 triggered SMI
Note:	software must explicitly reset the appropriate bits
SeeAlso: #01064,#01081,#01167

Format of PCI Configuration data for Intel 82425EX PSC:
Offset	Size	Description	(Table 01083)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 0486h)
 40h	BYTE	PCI control register (see #01084)
 41h  3 BYTEs	???
 44h	BYTE	host device control register (see #01085)
 45h  3 BYTEs	???
 48h	WORD	PCI local-bus IDE control register (see #01086)
 4Ah  2 BYTEs	???
 4Ch	BYTE	ISA I/O recovery timer register (see #01087)
 4Dh	BYTE	part revision register (see #01088)
 4Eh	BYTE	X-bus Chip Select A register (see #01089)
 4Fh	BYTE	X-bus Chip Select B register??? (see also #01102)
 50h	BYTE	host select register
 51h	BYTE	deturbo frequency control register
		when deturbo mode is selected (see PORT 0CF9h), the chipset
		  places a hold on the memory bus for a fraction of the
		  time inversely proportional to the value in this register
		  (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
 52h	WORD	secondary (L2) cache control register
 54h  2 BYTEs	???
 56h	WORD	DRAM control register
 58h	BYTE	???
 59h  7 BYTEs	Programmable Attribute Map (PAM) registers 0-6 (see also #01118)
 60h  5 BYTEs	DRAM row boundary registers 0-4
		each register N indicates amount of memory in rows 0-N (each
		  row is 64 bits wide); the fifth row of memory (if
		  implemented) must contain either 8M or 16M, depending on
		  system configuration
		boundary register 4 (offset 64h) contains the total system
		  memory, which may not exceed 128M
 65h	BYTE	???
 66h	BYTE	PIRQ route control register 0
 67h	BYTE	PIRQ route control register 1
 68h	BYTE	DRAM memory hole register
 69h	BYTE	top of memory
 6Ah  6 BYTEs	???
 70h	BYTE	SMRAM control register
 71h 47 BYTEs	unused???
 A0h	BYTE	SMI control register
 A1h	BYTE	???
 A2h	WORD	SMI enable register
 A4h	DWORD	system event enable
 A8h	BYTE	fast off timer register
 A9h	BYTE	???
 AAh	WORD	SMI request register
 ACh	BYTE	clock throttle STPCLK# low timer
 ADh	BYTE	unused???
 AEh	BYTE	clock throttle STPCLK# high timer
 AFh	BYTE	???
 B0h 80 BYTEs	unused???
SeeAlso: #00878,#01063,#01055,#01108,#01167

Bitfields for Intel 82425EX PCI control register:
Bit(s)	Description	(Table 01084)
 0	CPU-to-PCI byte merging
 1	CPU-to-PCI bursting enable
 2	PCI posted-write buffer enable
 4-3	subtractive decode sampling point
	00 slow
	01 typical
	10 fast
	11 reserved
 5	DRAM parity error enable
 6	target abort error enable
 7	reserved
SeeAlso: #01083,#01085,#01086,#01087

Bitfields for Intel 82425EX host device control register:
Bit(s)	Description	(Table 01085)
 0	HRDY# maximum signal sampling point
	0 slow timing
	1 fast timing
 1	HDEV# signal sampling point
	0 slow timing
	1 fast timing
 2	host device present
 7-3	reserved
SeeAlso: #01083,#01084

Bitfields for Intel 82425EX local-bus IDE control register:
Bit(s)	Description	(Table 01086)
 1-0	primary/secondary PCI IDE enable
	00 IDE disabled
	01 primary (ports 01F0h-01F7h,03F6,03F7h)
	10 secondary (ports 0170h-017Fh,0376h,0377h)
	11 reserved
 3-2	fast timing bank drive select 1
	bit 2 = drive 0 enabled
	bit 3 = drive 1 enabled
 5-4	IORDY sample point Enable Drive Select
	bit 4 = drive 0 enabled
	bit 5 = drive 1 enabled
 7-6	reserved
 9-8	IORDY sample point
	00 6 clocks
	01 5 clocks
	10 4 clocks
	11 3 clocks
 12-10	recover time (000 = 8 PCI clocks, 001 = 7, ..., 101 = 3, 110/111 = 3)
 15-13	reserved
SeeAlso: #01083,#01084

Bitfields for Intel chipset ISA I/O recovery timer register:
Bit(s)	Description	(Table 01087)
 7	(82425EX/82371) DMA reserved page register aliasing disable
	=0 ports 0090h-009Fh alias ports 0080h-008Fh
	=1 ports 0090h-009Fh forwarded to ISA bus
 6	8-bit I/O recovery enable
 5-3	8-bit I/O recovery time
	000 = 8 SYSCLKs
	001-110 = 1-7 SYSCLKs
 2	16-bit I/O recovery enable
 1-0	16-bit I/O recovery time
	00 = 4 SYSCLKs
	01-11 = 1-3 SYSCLKs
SeeAlso: #01064,#01083,#01084,#01167,#01170

Bitfields for Intel 82425EX part revision register:
Bit(s)	Description	(Table 01088)
 7-5	fabrication house identifier (read-only)
 4	E0000h-EFFFFh ISA-to-main-memory forwarding enabled
 3-0	revision ID (read-only)
SeeAlso: #01083,#01089

Bitfields for Intel 82425EX/82371 X-bus Chip Select A register:
Bit(s)	Description	(Table 01089)
 7	extended BIOS enabled at FFF80000h-FFFDFFFFh
 6	lower (E000h) BIOS enabled
 5	trigger IRQ13 on FERR#
 4	IRQ12 mouse function enabled
 3	(82371AB only) alias accesses to PORTs 63h/65h/67h to 61h
	(else) reserved (0)
 2	BIOS memory write protect
 1	keyboard controller addresses (60h,62h,64h,66h) enabled
 0	RTC addresses (70h-77h) enabled
SeeAlso: #01083,#01167,#01088,#01102

Format of PCI Configuration Data for Intel 82380AB PCI-ISA Bridge:
Offset	Size	Description	(Table 01090)
 00h 64 BYTEs	header (see #00878)
		(vender ID 8086h, device ID 123Ch)
 40h	BYTE	I/O Recovery Register (see #01091)
 41h	BYTE	reserved
 42h	BYTE	MISA Error Status (see #01092)
 43h 189 BYTEs	reserved
SeeAlso: #00873,#01093

Bitfields for Intel 82380AB I/O Recovery Register:
Bit(s)	Description	(Table 01091)
 7	SYSCLK select
	0 SYSCLK = PCICLK/4
	1 SYSCLK = PCICLK/3
 6	enable 8-bit I/O recovery
 5-3	additional recovery time for 8-bit I/O cycles, in SYSCLKs
 2	enable 16-bit I/O recovery
 1-0	additional recovery time for 16-bit I/O cycles, in SYSCLKs
SeeAlso: #01090

Bitfields for Intel 82380AB MISA error status:
Bit(s)	Description	(Table 01092)
 7-3	reserved
 2	IOCHK# asserted
 1	reserved
 0	illegal byte lane combination for PCI I/O detected
SeeAlso: #01090

Format of PCI Configuration data for Intel 82380FB PCI-PCI Bridge (MPCI2):
Offset	Size	Description	(Table 01093)
 00h 64 BYTEs	header type 1 [bridge] (see #00878)
		(vendor ID 8086h, device ID 124Bh)
 40h	BYTE	Connector Control (see #01094)
 41h	BYTE	Connector Event (see #01095)
 42h  2 BYTEs	reserved
 44h	WORD	Serial Bus Interface/Burst Enable (see #01096)
 46h	BYTE	MPCI2 Miscellaneous Status (see #01097)
 47h  5 BYTEs	reserved
 4Ch	WORD	Special Message Encode
		encoded message portion of Special Cycle forwarded by MPCI2
 4Eh 178 BYTEs	reserved
SeeAlso: #00873,#01090

Bitfields for Intel 82380FB Connector Control register:
Bit(s)	Description	(Table 01094)
 7-4	reserved
 3	QEN2 output signal
 2	QEN1 output signal
 1-0	reserved
SeeAlso: #01093

Bitfields for Intel 82380FB Connector Event register:
Bit(s)	Description	(Table 01095)
 7	reserved (1)
 6	activate power-no suspend
 5	(read-only) inverted state of MISAEN pin
 4	(read-only) inverted state of DSTYP pin
 3	undocking permit
	software should set this bit for at least 32 microseconds; when this
	  bit is then cleared, the MPCI2 pulses the OPENACK signal for 256 us
	  to tell external hardware to "eject" the notebook
 2	reserved (1)
 1	system is docked
 0	open requested
SeeAlso: #01093

Bitfields for Intel 82380FB Serial Interface/Burst Enable register:
Bit(s)	Description	(Table 01096)
 15-13	reserved
 12	enable SERR# on discarding of posted write data
 11	reserved
 10	SDATA signal direction (0 = output, 1 = input)
 9	enable write posting
 8	enable read bursting
 7	enable upstream blind prefetching
 6	reserved
 5	SDATA signal state (read when bit 10 set, write when bit 10 clear)
 4	SDIN signal state
 3	do not pulse P_SERR# when S_PERR# is asserted
 2	cascade/frame determination delay (0 = 20 P_CLKs, 1 = 10 P_CLKs)
 1	serial EEPROM chip select
 0	serial EEPROM clock
SeeAlso: #01093

Bitfields for Intel 82380FB MPCI2 Miscellaneous Status register:
Bit(s)	Description	(Table 01097)
 7-1	reserved
 0	(write-clear) P_SERR# was asserted due to invalidation of posted write
SeeAlso: #01093

Format of PCI Configuration Data for Intel 82439HX:
Offset	Size	Description	(Table 01098)
 00h 64 BYTEs	header (see #00878)
		(vender ID 8086h, device ID 1250h)
		(revision ID 00h = A0 stepping)
 40h 16 BYTEs	reserved
 50h	BYTE	PCI Control (see #01110)
 51h	BYTE	reserved
 52h	BYTE	cache control (see #01112)
 53h  3 BYTEs	reserved
 56h	BYTE	DRAM extended control (see #01115)
 57h	BYTE	DRAM control (see #01116)
 58h	BYTE	DRAM timing (see #01117)
 59h  7 BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h  8 BYTEs	DRAM Row Boundary registers 0-7
		each register N indicates cumulative amount of memory in rows
		  0-N (each 64 bits wide), in 4M units
 68h	BYTE	DRAM Row Type (see #01119)
		bits 0-7 indicate whether each row 0-7 contains EDO DRAM
		  instead of page-mode DRAM
 69h	BYTE	???
 6Ah  8 BYTEs	reserved
 72h	BYTE	System Management RAM control (see #01123)
 73h 29 BYTEs	reserved
 90h	BYTE	Error Command (see #01126)
 91h	BYTE	Error Status (see #01127) (read-only)
 92h	BYTE	Error Syndrome (read-only)
		latest non-zero ECC error syndrome
 93h 109 BYTEs	reserved
SeeAlso: #01108,#01229

Format of PCI Configuration Data for Intel 82439TX "MTXC":
Offset	Size	Description	(Table 01099)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7100h)
		(revision ID 00h = A0 stepping)
 40h 15 BYTEs	reserved
 4Fh	BYTE	Arbitration Control register (see #01109)
 50h	BYTE	PCI Control register (see #01110)
 51h	BYTE	reserved
 52h	BYTE	Cache Control register (see #01112)
 53h	BYTE	Extended Cache Control register (see #01113)
 54h	WORD	SDRAM Control Register (see #01114)
 56h	BYTE	DRAM Extended Control register (see #01115)
 57h	BYTE	DRAM Control register (see #01116)
 58h	BYTE	DRAM Timing register (see #01117)
 59h  7 BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h  6 BYTEs	DRAM Row Boundary registers 0-5
		each register N indicates cumulative amount of memory in rows
		  0-N (each 64 bits wide), in 4M units
 66h	BYTE	reserved
 67h	BYTE	DRAM Row Type High register (see #01213)
 68h	BYTE	DRAM Row Type Low register (see #01119)
 69h  7 BYTEs	reserved
 70h	BYTE	Multi-Transaction Timer register
		number of PCLKs guaranteed to the current agent before the
		  82439TX will grant the bus to another PCI agent on request
 71h	BYTE	Extended System Management RAM Control register (see #01149)
 72h	BYTE	System Management RAM Control register (see #01123)
 73h  6 BYTEs	reserved
 79h	BYTE	Miscellaneous Control register (see #01128)
 7Ah 134 BYTEs	reserved
Note:	The Intel 82439TX chipset uses PCI configuration mechanism #1
SeeAlso:  #00873,PORT 0CF8h

Format of PCI Configuration Data for Intel 82371AB (PIIX4), ISA Bridge:
Offset	Size	Description	(Table 01100)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7110h)
 40h 12 BYTEs	reserved
 4Ch	BYTE	ISA I/O recovery timer (see #01101)
 4Dh	BYTE	reserved
 4Eh	WORD	X-Bus Chip Select (see #01089,#01102)
 50h 16 BYTEs	reserved
 60h	BYTE	PIRQA route control (see #01076)
 61h	BYTE	PIRQB route control (see #01076)
 62h	BYTE	PIRQC route control (see #01076)
 63h	BYTE	PIRQD route control (see #01076)
!!!intel\29056201.pdf p.59
 64h	BYTE	serial IRQ control
 65h  4 BYTEs	reserved???
 69h	BYTE	top of memory
 6Ah	WORD	miscellaneous status
 6Ch 10 BYTEs	reserved???
 76h	BYTE	motherboard device DMA control 0
 77h	BYTE	motherboard device DMA control 1
 78h  9 BYTEs	reserved???
 80h	BYTE	APIC base address relocation
 81h	BYTE	reserved???
 82h	BYTE	deterministic latency control
 83h 13 BYTEs	reserved???
 90h	WORD	PCI DMA configuration
 92h	WORD	distributed DMA (channels 0-3) slave base pointer
 94h	WORD	distributed DMA (channels 5-7) slave base pointer
 96h 26 BYTEs	reserved???
 B0h	DWORD	general configuration
 B4h 23 BYTEs	reserved???
 CBh	BYTE	real-time clock configuration
 CCh 52 BYTEs	reserved
SeeAlso: #00873,#01103,#01104,#01105

Bitfields for Intel PIIX4 ISA I/O recovery timer:
Bit(s)	Description	(Table 01101)
 7	disable aliasing PORTs 90h-9Fh into 80h-8Fh (except PORT 0092h)
 6	enable 8-bit I/O recover timer in bits 5-3
 5-3	additional 8-bit I/O recovery time (added to 3.5 SYSCLK minimum)
	000 = 8 SYSCLKs, else N SYSCLKs
 2	enable 16-bit I/O recovery timer in bits 1-0
 1-0	additional 16-bit I/O recovery time (added to 3.5 SYSCLK minimum)
	00 = 3 SYSCLKs
	01 = 1 SYSCLK
	10 = 2 SYSCLKs
	11 = 4 SYSCLKs
SeeAlso: #01100

Bitfields for Intel 82371 X-Bus Chip Select Enable (high byte):
Bit(s)	Description	(Table 01102)
 7-3	reserved
 2	(82371AB) enable positive PCI decode for Micro Controller at PORTs 62h
	  and 66h
 1	(82371AB) enable one-megabyte extended BIOS (FFF00000h-FFF7FFFFh are
	  forwarded to ISA bus, aliased to top of 16M region)
 0	enable I/O APIC
SeeAlso: #01089

Format of PCI Configuration Data for Intel 82371AB (PIIX4), IDE Controller:
Offset	Size	Description	(Table 01103)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7111h)
 20h	DWORD	I/O base address (for 16 contiguous PORTs)
!!!intel\29056201.pdf p.89
 40h	WORD	primary channel timing register
 42h	WORD	secondary channel timing register
 44h	BYTE	slave IDE timing
 45h  3 BYTEs	reserved???
 48h	BYTE	Ultra DMA/33 control
 49h	BYTE	reserved???
 4Ah	WORD	Ultra DMA/33 timing
 4Ch 180 BYTEs	reserved
SeeAlso: #00873,#01100,#01104,#01105

Format of PCI Configuration Data for Intel 82371AB (PIIX4), USB Controller:
Offset	Size	Description	(Table 01104)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7112h)
 20h	DWORD	I/O base address (for 32 contiguous PORTs)
!!!intel\29056201.pdf p.102
 40h 32 BYTEs	reserved
 60h	BYTE	USB specification release number
		00h pre-release 1.0
		10h release 1.0
 61h 95 BYTEs	reserved
 C0h	WORD	legacy support
 C2h 61 BYTEs	reserved
 FFh	BYTE	miscellaneous support
SeeAlso: #00873,#01100,#01103,#01105

Format of PCI Configuration Data for Intel 82371AB (PIIX4), Power Management:
Offset	Size	Description	(Table 01105)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7113h)
 40h	DWORD	base address of power-management I/O ports
		(same format as PCI base addresses; low bit hardwired to 1)
 44h	DWORD	initial counts of device 0-11 idle timers
 48h	DWORD	!!!intel\29056201.pdf p.117
 4Ch	DWORD	general-purpose input control
 50h  3 BYTEs	"device resource D"
 53h	BYTE	unused???
 54h	DWORD	device activity event selection A
 58h	DWORD	device activity event selection B
 5Ch	DWORD	"device resource A"
 60h	DWORD	"device resource B"
 64h	DWORD	"device resource C"
 68h  3 BYTEs	"device resource E"
 6Bh  5 BYTEs	unused???
 70h  3 BYTEs	"device resource G"
 73h	BYTE	unused???
 74h	DWORD	"device resource H"
 78h	DWORD	"device resource I"
 7Ch	DWORD	"device resource J"
 80h	BYTE	miscellaneous power management
 81h 15 BYTEs	unused???
 90h	DWORD	base address for SMBus I/O ports
		(same format as PCI base addresses; low bit hardwired to 1)
 94h	...
 D2h	BYTE	SMBus host configuration
 D3h	BYTE	SMBus slave command
 D4h	BYTE	SMBus slave shadow port 1 address
 D5h	BYTE	SMBus slave shadow port 2 address
 D6h	BYTE	SMBus revision
 D7h
SeeAlso: #00873,#01100,#01103,#01104

Format of PCI Configuration Data for Intel 82437MX:
Offset	Size	Description	(Table 01106)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 1235h)
 40h 16 BYTEs	reserved
 50h	BYTE	PCI Control (see #01111)
 51h	BYTE	reserved
 52h	BYTE	cache control (see #01112)
 53h  4 BYTEs	reserved
 57h	BYTE	DRAM Control (see #01116)
 58h	BYTE	DRAM timing (see #01117)
 59h  7 BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h  4 BYTEs	DRAM Row Boundary Registers 0-3
		each register N indicates cumulative amount of memory in rows
		  0-N, in 4M units (each row is 64 bits wide)
 64h  4 BYTEs	reserved
 68h	BYTE	DRAM Row Type (see #01121)
 69h  9 BYTEs	reserved
 72h	BYTE	System Management RAM control (see #01123)
 73h 141 BYTEs	reserved
SeeAlso: #01108,#01107

Format of PCI Configuration Data for Intel 82437FX:
Offset	Size	Description	(Table 01107)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 122Dh) (see #00873)
 40h 16 BYTEs	reserved
 50h	BYTE	PCI Control (see #01111)
 51h	BYTE	reserved
 52h	BYTE	cache control (see #01112)
 53h  4 BYTEs	reserved
 57h	BYTE	DRAM Control (see #01116)
 58h	BYTE	DRAM timing (see #01117)
 59h  7 BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h  5 BYTEs	DRAM Row Boundary Registers 0-4
		each register N indicates cumulative amount of memory in rows
		  0-N, in 4M units (each row is 64 bits wide)
 65h  3 BYTEs	reserved
 68h	BYTE	DRAM Row Type (see #01121)
 69h  9 BYTEs	reserved
 72h	BYTE	System Management RAM control (see #01123)
 73h 141 BYTEs	reserved
SeeAlso: #01106,#01108

Format of PCI Configuration Data for Intel 82437VX:
Offset	Size	Description	(Table 01108)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7030h)
		(revision ID 00h = A0 stepping)
 40h 15 BYTEs	reserved
 4Fh	BYTE	arbitration control (see #01109)
 50h	BYTE	PCI Control (see #01110)
 51h	BYTE	reserved
 52h	BYTE	cache control (see #01112)
 53h	BYTE	cache control extensions (see #01113)
 54h	WORD	SDRAM control (see #01114)
 55h	BYTE	reserved
 56h	BYTE	DRAM extended control (see #01115)
 57h	BYTE	DRAM control (see #01116)
 58h	BYTE	DRAM timing (see #01117)
 59h  7 BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h  5 BYTEs	DRAM Row Boundary registers 0-4
		each register N indicates amount of memory in rows 0-N in 4M
		  units (each row is 64 bits wide); the fifth row of memory (if
		  implemented) must contain either 8M or 16M, depending on
		  system configuration
		boundary register 4 (offset 64h) contains the total system
		  memory, which may not exceed 128M
 65h  2 BYTEs	reserved
 67h	BYTE	DRAM Row Type (high)
		defines memory type in DRAM row 4 in bits 4,0 (see #01119)
 68h	BYTE	DRAM Row Type (low) (see #01119)
 69h	BYTE	PCI TRDY timer (see #01122)
 6Ah  6 BYTEs	reserved
 70h	BYTE	Multi-Transaction Timer
		number of PCLKs guaranteed to the current agent before the
		  82437 will grant the bus to another PCI agent on request
 71h	BYTE	reserved
 72h	BYTE	System Management RAM control (see #01123)
 73h	BYTE	shared memory buffer control (see #01124)
 74h	BYTE	shared memory buffer start address, in 0.5MB units
		end address is top-of-memory at offset 64h or start of an
		  enabled PCI memory hole when top-of-memory is 16M
 76h  2 BYTEs	reserved
 78h	BYTE	graphics controller latency timers (see #01125)
 79h 135 BYTEs	reserved
SeeAlso: #00873,#01063,#01083,#01098,#01106

Bitfields for Intel 82437VX,82439TX Arbitration Control register:
Bit(s)	Description	(Table 01109)
 7	extended CPU-to-PIIX PHLDA# signalling enabled
 6-0	(82439TX) reserved
 6-4	reserved
 3	(82437VX) CPU priority enable
	=1 CPU gets PCI bus after two PCI slots
	=0 CPU gets PCI bus after three PCI slots
 2-0	reserved
SeeAlso: #01099,#01108,#01110

Bitfields for Intel 82437VX,82439HX/TX PCI Control register:
Bit(s)	Description	(Table 01110)
 7-4	reserved (82437VX,82439TX)
 7	DRAM ECC/Parity Select (82439HX)
	=1 ECC
	=0 parity
 6	ECC TEST enable (82439HX)
 5	shutdown to port 92h (82439HX)
	=1 send 01h to PORT 0092h on Shutdown special cycle on host bus
 4	dual-processor NA# enable (82439HX)
 3	PCI Concurrency Enable
	=1 CPU can access DRAM/L2 during non-PIIX PCI master cycles
	=0 CPU kept off PCI bus during all PCI bus-master cycles
 2-0	reserved (82437VX,82439TX)
 2	SERR# Output Type (82439HX only)
	=1 SERR# is actively driven high when negated
	=0 SERR# is PCI-compatible open-drain output
 1	reserved
 0	Global TXC Enable (82439HX only)
	=1 enable new 82439HX features
SeeAlso: #01099,#01108,#01098,#01112,#01111

Bitfields for Intel 82437FX/82437MX PCI Control register:
Bit(s)	Description	(Table 01111)
 7-5	CPU inactivity timer (in PCI Clocks less 1)
 4	reserved
 3	enable PCI Peer Concurrency
	=1 CPU can access DRAM/L2 during non-PIIX PCI master cycles
	=0 CPU kept off PCI bus during all PCI bus-master cycles
 2	disable PCI Bursting
 1	disable PCI Streaming
 0	disable Bus Concurrency
SeeAlso: #01106,#01107,#01110

Bitfields for Intel 82437,82439HX/TX cache control register:
Bit(s)	Description	(Table 01112)
 7-6	secondary cache size
	00 none
	01 256K
	10 512K
	11 reserved
 5-4	L2 RAM type
	00 pipelined burst SRAM/DRAM
	01 reserved
	10 asynchronous SRAM (82437FX/MX/VX,82439TX only)
	11 two banks of pipelined burst cache
 3	NA disable
	=1 never assert NA# pin
 2	reserved (82437FX/MX/VX,82439TX)
 2	Extended Cacheability Enable (82439HX)
	=1 cache up to 512M
	=0 cache only first 64M
 1	Secondary Cache Force Miss or Invalidate
	=1 force all memory accesses to bypass L2 cache
 0	First Level Cache Enable
	=1 all memory accesses made non-cacheable by CPU L1 cache
SeeAlso: #01099,#01108,#01098,#01110,#01113,#01114,#01106

Bitfields for Intel 82437VX,82439TX cache control extensions register:
Bit(s)	Description	(Table 01113)
 7-6	reserved
 5	DRAM cache detected (read-only)
 4-0	DRAM cache refresh timer
	number of HCLKs 82437VX,82439TX remains idle during DRAM cache refresh
SeeAlso: #01099,#01108,#01112

Bitfields for Intel 82437VX,82439TX SDRAM control register:
Bit(s)	Description	(Table 01114)
 15-9	reserved
 8-6	Special SDRAM Mode Select
	000 normal mode (default)
	001 enable NOP command
	010 enable All Banks Precharge command
	011 enable Mode Register Command
	100 enable CBR Cycle
	101 reserved
	11x reserved
 5	(82437VX) reserved
 5	(82439TX) RAS# to CAS# Override
	=1 and CAS# latency=0, RAS# to CAS# is delayed 2 HCLKs
	=0 RAS# to CAS# delay determined solely by CAS# latency setting
 4	CAS# latency
	=1 latency is 2 for all SDRAM cycles
	=0 latency is 3
 3	RAS# precharge and refresh timing
	=0 slower
	=1 faster
 2	reserved
 1	(82437VX) reserved
 1	(82439TX) 64-Mbit Technology Enable
	=1 supports 64M-bit SDRAM devices
	=0 supports 64M-bit EDO/FPM devices only
 0	reserved
SeeAlso: #01099,#01108,#01112

Bitfields for Intel 82437VX,82439HX/TX DRAM extended control register:
Bit(s)	Description	(Table 01115)
 7	reserved
 6	(VX/TX) refresh RAS# assertion length (0=4 clocks, 1=5 clocks)
 5	(VX/TX) Fast EDO Path Select
 4	Speculative Leadoff Disable
 3	(82439HX) Turn-Around Insertion Enable
	=1 insert one extra clock of turnaround time after asserting MWE#
 2-1	Memory Address Drive Strength
	82437VX:	     82439HX:		       82439TX:
	  00 reserved	       00 8mA			 00 10mA/10mA (MA/MWE#)
	  01 10mA (default)    01 8mA/12mA (MAA/MWE#)	 01 10mA/16mA (MA/MWE#)
	  10 16mA	       10 12mA/8mA (MAA/MWE#)	 10 16mA/10mA (MA/MWE#)
	  11 reserved	       11 12mA			 11 16mA/16mA (MA/MWE#)
 0	(82437VX) DRAM Symmetry Detect Mode
	(used to force some memory address lines to fixed value for detecting
	  DRAM symmetry row-by-row)
 0	(82439HX) 64MBit Mode Enable
	=1 enable support for 64M SIMMs
 0	(82439TX) reserved
SeeAlso: #01099,#01108,#01098,#01116

Bitfields for Intel 82437,82439HX/TX DRAM control register:
Bit(s)	Description	(Table 01116)
 7-6	DRAM Hole Enable
	00 none
	01 512K-640K
	10 15M-16M (82437FX/MX/VX only)
	11 14M-16M (82437VX,82439TX only)
 5	reserved
 4	(82437MX only) refresh type during Suspend
	=1 self-refreshing DRAMs in system
	=0 CAS-before-RAS refresh
	(82439TX only) Enhanced Paging disabled
 3	EDO Detect Mode enable
	(used to detect whether memory is EDO bank-by-bank)
 2-0	DRAM refresh rate
	     FX/VX/HX	 MX	     TX
	000  disabled	 15.6 us     disabled
	001  50 MHz	 31.2 us     15.6 us
	010  60 MHz	 62.4 us     31.2 us
	011  66 MHz	 125 us	     64.4 us
	100  reserved	 250 us	     125 us
	101  reserved	 reserved    256 us
	1xx  reserved	 reserved    reserved
SeeAlso: #01099,#01108,#01098,#01115,#01106

Bitfields for Intel 82437FX/MX/VX,82439HX/TX DRAM timing register:
Bit(s)	Description	(Table 01117)
 7	(82437FX,82439TX) reserved
 7	(82437MX) MA[11:2] buffer strength
	=0 8mA
	=1 12mA
 7	(82437VX) MA-to-RAS# Delay
	=1 one clock
	=0 two clocks
 7	(82439HX) Turbo Read Leadoff
	=1 bypass first register in DRAM data pipeline, saving one clock
	(may only be set in a cacheless configuration)
 6-5	DRAM Read Burst Timing
	00 x444 (EDO and Standard Page Mode)
	01 x333 (EDO), x444 (SPM)
	10 x222 (EDO), x333 (SPM)
	11 x322 (EDO), x333 (SPM) (82437VX only)
	11 reserved (other)
 4-3	DRAM Write Burst Timing
	00 x444
	01 x333
	10 x222
	11 reserved
 2	(82439TX) reserved
 2	RAS-to-CAS Delay
	=1 two clocks
	=0 three clocks
 1-0	DRAM Leadoff Timing
	82437FX/MX  Read Leadoff  Write Leadoff	 RAS# Precharge
	  00		8	    6		   3
	  01		7	    5		   3
	  10		8	    6		   4
	  11		7	    5		   4
	82437VX,82439TX	 Read  Write Leadoff  RAS# Precharge
	  00	       11	    7		   3
	  01	       10	    6		   3
	  10	       11	    7		   4
	  11	       10	    6		   4
	82439HX	 Read Leadoff  Write Leadoff  RAS# Precharge
	  00		7	    6		   3
	  01		6	    5		   3
	  10		7	    6		   4
	  11		6	    5		   4
SeeAlso: #01099,#01108,#01116,#01106,#01107

Bitfields for Intel 8243x/8244x Programmable Attribute Map Register:
Bit(s)	Description	(Table 01118)
 7	reserved
 6	cache enable (region 1)
 5	write enable (region 1)
 4	read enable (region 1)
 3	reserved
 2	cache enable (region 0)
 1	write enable (region 0)
 0	read enable (region 0)
Notes:	each programmable attribute map register controls two memory
	  regions at the top of the first megabyte of memory
	for the Intel 82441FX and 82443BX/LX, bits 6 and 2 are reserved, as
	  cacheability is set using the Pentium Pro/II/Celeron's MTRR registers
	  (see MSR 000000FEh)
	Intel 82434,82437FX/MX/VX,82439HX,82441FX,82443EX/LX PAM
	  registers/regions:
		PAM0 low: reserved [*]
		PAM0 hi:  segment F000-FFFF
		PAM1 low: segment C000-C3FF
		PAM1 hi:  segment C400-C7FF
		PAM2 low: segment C800-CBFF
		PAM2 hi:  segment CC00-CFFF
		PAM3 low: segment D000-D3FF
		PAM3 hi:  segment D400-D7FF
		PAM4 low: segment D800-DBFF
		PAM4 hi:  segment DC00-DFFF
		PAM5 low: segment E000-E3FF
		PAM5 hi:  segment E400-E7FF
		PAM6 low: segment E800-EBFF
		PAM6 hi:  segment EC00-EFFF
	[*] on the 82434 (and possibly other Intel chipsets), the low nybble of
	  PAM0 controls segment 8000-9FFF
SeeAlso: #01055,#01108,#01098,#01099,#01229,#01106,#01107,#01142,#01129

Bitfields for Intel 82437VX,82439TX DRAM Row Type register:
Bit(s)	Description	(Table 01119)
 7,3	row 3 type
 6,2	row 2 type
 5,1	row 1 type
 4,0	row 0 type
	00 SPM DRAM
	01 EDO DRAM
	10 SDRAM
	11 reserved
SeeAlso: #01099,#01108,#01118,#01213

Bitfields for Intel 82439TX DRAM Row Type high register:
Bit(s)	Description	(Table 01213)
 7	Host Frequency detection
	=1 66MHz Bus
	=0 60MHz bus
 5,1	DRAM Row 5 type
 4,0	DRAM ROW 4 type
	00 SPM
	01 EDO
	10 SDRAM
	11 reserved
 6,3	reserved
 2	Memory Address select Enabled
SeeAlso: #01099,#01119

Bitfields for Intel 82437FX/82437MX DRAM Row Type register:
Bit(s)	Description	(Table 01121)
 7-4	reserved
 3-0	DRAM Row N is EDO instead of page-mode DRAM
SeeAlso: #01106,#01107

Bitfields for Intel 82437VX PCI TRDY timer:
Bit(s)	Description	(Table 01122)
 7-3	reserved
 2-0	TRDY timeout value
	000 2 PCICLKs
	001 4 PCICLKs
	010 6 PCICLKs
	011 8 PCICLKs
	1xx reserved
SeeAlso: #01108,#01123

Bitfields for Intel 82437,82439HX/TX,82443BX/EX/LX SMRAM control register:
Bit(s)	Description	(Table 01123)
 7	reserved
 6	SMM Space Open
	=1 make SMM DRAM visible even when not in SMM if bit 4 =0
 5	SMM Space Closed
	=1 no data references permitted to SMM DRAM even in SMM
 4	SMM Space Locked
	=1 force bits 4 and 6 to become read-only; and clear bit 6
 3	SMRAM Enable
	=1 128K DRAM are accessible for use at A000 while in SMM
 2-0	SMM Space Base Segment
	010 segment A000-BFFF
	100 segment C000-CFFF (82437MX,82443EX only)
	other reserved
Note:	bits 5 and 6 must never both be set at the same time
SeeAlso: #01099,#01108,#01098,#01124,#01106,#01107,#01142,#01129

Bitfields for Intel 82437VX Shared Memory Buffer control register:
Bit(s)	Description	(Table 01124)
 7-2	reserved
 1	enable shared memory buffer
 0	redirect shared memory buffer access
	=0 treat SMB area as a hole in system DRAM
SeeAlso: #01108,#01123,#01125

Bitfields for Intel 82437VX Graphics Controller Latency Timer:
Bit(s)	Description	(Table 01125)
 7-6	reserved
 5-3	GC latency for PCI reads (in 4 HCLK multiples) (default=100)
 2-0	GC latency for CPU and PCI writes (in 4 HCLK multiples) (default=011)
SeeAlso: #01108,#01124

Bitfields for Intel 82439HX Error Command register:
Bit(s)	Description	(Table 01126)
 7	SERR# duration
	=0 one PCI clock
	=1 until error flags are cleared
 6-3	reserved
 2	force bad parity on multiple-bit uncorrectable error
 1	assert SERR# on multiple-bit uncorrectable error
 0	assert SERR# on single-bit correctable error
SeeAlso: #01098,#01127

Bitfields for Intel 82439HX Error Status register:
Bit(s)	Description	(Table 01127)
 7-5	DRAM row associated with multi-bit error
 4	multi-bit uncorrectable error occurred (write 1 bit to clear)
 3-1	DRAM row associated with single-bit correctable error
 0	single-bit correctable error occurred (write 1 bit to clear)
SeeAlso: #01098,#01126

Bitfields for Intel 82439TX miscellaneous control register:
Bit(s)	Description	(Table 01128)
 7	reserved
 6	ACPI control register enable
 5	Suspend refresh type (EDO/FPM DRAM only)
	=1 Self refresh (Always for SDRAM)
	=0 CBR refresh
 4	Normal refresh enable
	When set to 1, 82439TX switches from suspend refresh to normal refresh
 3	reserved
 2	Internal clock control disable
	=1 disable
	=0 enable  Disables 82439TX internal clocks during suspend, reducing
	  power consumption.
 1-0	reserved
SeeAlso: #01099

Format of PCI configuration for Intel 82443EX/LX Device 0 (Host-PCI):
Offset	Size	Description	(Table 01129)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7180h)
		chipset is 82443EX if revision >= 03h
 40h 16 BYTEs	reserved
 50h	WORD	PAC Configuration register (See #01131)
 52h	BYTE	reserved
 53h	BYTE	Data Buffer Control register (see #01132)
 54h	BYTE	reserved
 55h	WORD	DRAM Row Type register (see #01133)
 57h	BYTE	DRAM Control register (see #01134)
 58h	BYTE	DRAM Timing register (see #01135)
 59h  7 BYTEs	PAM Configuration registers 0-6 (See #01118)
 60h  8 BYTEs	DRAM Row Boundary registers 0-7
		each register indicates top of memory for a particular row, in
		  8MB units; DIMMs use two rows each, with single-sided DIMMs
		  leaving the odd-numbered rows unpopulated
 68h	BYTE	Fixed DRAM Hole Control register (see #01147)
 69h	BYTE	reserved
 6Ah	WORD	DRAM Extended Mode Select register (see #01136)
 6Ch	DWORD	Memory Buffer Strength Control register (see #01137)
 70h	BYTE	Multi-Transaction Timer register (see #01140)
 71h	BYTE	reserved
 72h	BYTE	System Management RAM Control register (see #01123)
 73h 29 BYTEs	reserved
 90h	BYTE	Error Command register (see #01156)
 91h	BYTE	Error Status 0 register (see #01138)
 92h	BYTE	Error Status 1 register (see #01139)
 93h	BYTE	Reset Control Register (see #01239)
 94h 12 BYTEs	reserved
 A0h	DWORD	AGP Capability register (see #01158)
 A4h	DWORD	AGP Status register (see #01159)
 A8h	DWORD	AGP Command register (see #01160)
 ACh  4 BYTEs	reserved
 B0h	DWORD	AGP Control register (see #01161)
 B4h	BYTE	Arpeture Size Control register (see #01162)
 B5h  3 BYTEs	reserved
 B8h	DWORD	Arpeture Translation Table Base register (see #01163)
 BCh	BYTE	AGP MTT Control register (see #01140)
 BDh	BYTE	AGP Low Priority Transaction timer register (see #01141)
 BCh 67 BYTEs	reserved
Notes:	The 82443EX is virtually identical to the 82443LX, except that it does
	  not support ECC type DRAM.
	The Intel 82443EX/LX chipsets use PCI configuration mechanism #1
SeeAlso: #01130,#01142,PORT 0CF8h

Format of PCI configuration for Intel 82443EX/LX Device 1 (PCI-PCI):
Offset	Size	Description	(Table 01130)
 00h 64 BYTEs	header, type 1 [bridge] (see #00878)
		(vendor ID 8086h, device ID 7181h)
		chipset is 82443EX if revision >= 03h
 40h 192 BYTEs	reserved
Note:	The Intel 82443LX chipset uses PCI configuration mechanism #1
SeeAlso: #01129,#01143,PORT 0CF8h

Bitfields for Intel 82443EX/LX (Device 0) PAC Configuration register:
Bit(s)	Description	(Table 01131)
 15	WSC# Handshake Disable
 14	(82443LX) Host Frequency (read-only)
	=1 60MHz
	=0 66MHz
 14	(82443EX) reserved
 13-12	reserved
 11	??? (Not documented by Intel!)
 10	PCI Agent to Arperture Access Disable
 9	Aperture Access Global Enable
 8-6	(82443EX) reserved
 8-7	(82443LX) DRAM Data Integrety Mode
	00  Non-ECC (no check, no correct)
	01  EC-only (do check, no correct)
	10  reserved
	11 ECC (do check, do correct)
 6	(82443LX) ECC-Test Diagnostic Mode Enabled
 5	MDA Present
	Note:	Controls routing of Monochrome Display Adaptor I/O and memory
		  range accesses. Works in conjunction with the VGA-bit in
		  Bridge Control register of device 1 (see #00901):
		    VGA MDA
		    0	0	MDA and VGA routed to PCI bus
		    0	1	reserved
		    1	0	MDA and VGA routed to AGP bus
		    1	1	VGA routed to AGP bus, MDA routed to PCI bus
 4-0	reserved
SeeAlso: #00901,#01129

Bitfields for Intel 82443EX/LX (Device 0) Data Buffer Control register:
Bit(s)	Description	(Table 01132)
 7	reserved
 6	CPU-to-PCI posting enabled
 5	Write post during I/O Bridge access enabled
 4-0	reserved
SeeAlso: #01129

Bitfields for Intel 82443EX/LX (Device 0) DRAM Row Type register:
Bit(s)	Description	(Table 01133)
 15-14	row 7 type
	0 0  EDO	(Same values for each row)
	0 1  reserved
	1 0  SDRAM
	1 1  empty row
 13-12	row 6 type
 11-10	row 5 type
 9-8	row 4 type
 7-6	row 3 type
 5-4	row 2 type
 3-2	row 1 type
 1-0	row 0 type
SeeAlso: #01129,#01134

Bitfields for Intel 82443EX/LX (Device 0) DRAM Control register:
Bit(s)	Description	(Table 01134)
 7-6	reserved
 5	DRAM EDO Auto-Detect mode enabled
 4	SDRAM power management enabled
 3	reserved
 2-0	DRAM Refresh rate
	000 = Refresh disabled
	001 = Normal (Based on PAC Configuration bit 14)
	010-111 = reserved
SeeAlso: #01129,#01133,#01135

Bitfields for Intel 82443EX/LX (Device 0) DRAM Timing register:
Bit(s)	Description	(Table 01135)
 7	SDRAM RAS to CAS Delay	(1 = 2 clocks, 0 = 3 clocks)
 6	SDRAM CAS Latency	(1 = 2 clocks, 0 = 3 clocks)
 5	SDRAM RAS Precharge Time (1 = 2 clocks, 0 = 3 clocks)
 4	EDO DRAM Read Burst timing
	=1 Read rate is x222
	=0 Read rate is x333
 3	EDO DRAM Write Burst timing
	=1 Write rate is x222
	=0 write rate is x333
 2	EDO RAS Precharge Time	(1 = 3 clocks, 0 = 4 clocks)
 1	EDO RAS to CAS Delay	(1 = 2 clocks, 0 = 3 clocks)
 0	MA Wait State
	=1 Fast (0 wait states for SDRAM, clocks run normally for EDO)
	=0 Slow (1 wait state for SDRAM, add one clock to all EDO timings)
SeeAlso: #01129,#01134

Bitfields for Intel 82443EX/LX DRAM Extended Mode Select register:
Bit(s)	Description	(Table 01136)
 15-8	reserved
 7-5	Operating Mode
	000	Normal operating mode
	001	NOP command enabled
	010	All banks precharge enable
	011	Mode register set command enable
	100	CBR cycle enable
	101-11x reserved
 4	reserved
 3-2	Page timeout select
	00    16 clocks
	01-11 reserved
 1-0	Close both banks control
	00    close both banks on page misses
	01-11 reserved
SeeAlso: #01129

Bitfields for Intel 82443EX/LX Memory Buffer Strength Control register:
Bit(s)	Description	(Table 01137)
 31-30	MAA[1-0] buffer strength
	00  48mA (same values for bits 25-12,5-0)
	01  42mA
	10  22mA
	11  reserved
 29-28	(82443LX only) MECC[7-0] buffer strength
	00  42mA (same values for bits 27-26,11-6)
	01  38mA
	10  33mA
	11  reserved
 27-26	MD[63-0] buffer strength
 25-24	RCSA[0]# & RCSB[0]#/MAB[6] buffer strength
 23-22	(82443LX only) MAB[1-0] buffer strength
 21-20	MAA[13:2] buffer strength
 19-18	RCSA[1]# & RCSB[1]#/MAB[7] buffer strength
 17-16	RCSA[2]# & RCSB[2]#/MAB[8] buffer strength
 15-14	RCSA[3]# & RCSB[3]#/MAB[9] buffer strength
 13-12	(82443LX only) RCSA[4]# & RCSB[4]#/MAB[10] buffer strength
 11-10	(82443LX only) CQDB[5,1]# buffer strength
 9-8	CQDA[5,1]# buffer strength
 7-6	CQDA[7-6,4-2,0]# buffer strength
---82443LX---
 5-4	RCSA[5]# & RCSB[5]#/MAB[11] buffer strength
 3-2	RCSA[6]#/MAB[2] & RCSB[6]#/MAB[12] buffer strength
 1-0	RCSA[7]#/MAB[3] & RCSB[7]#/MAB[13] buffer strength
---82443EX---
 5-0	reserved
SeeAlso: #01129

Bitfields for Intel 82443EX/LX Error Status 0 register:
Bit(s)	Description	(Table 01138)
---82443LX---
 7-5	Multi-bit first error (read-only) Indicates which DRAM row had the
	  multi-bit error
 4	Multiple-bit ECC Error occurred flag
 3-1	Single-bit first row error (read-only) Indicates which DRAM row had the
	  single-bit error
 0	Single-bit ECC error occurred flag
---82443EX---
 7-0	reserved
Note:	Write a 1 to bits 4 & 0 to clear the flags
SeeAlso: #01129,#01139

Bitfields for Intel 82443EX/LX Error Status 1 register:
Bit(s)	Description	(Table 01139)
 7-3	reserved
 2	AGP non-snoopable access outside of graphics arperture
 1	AGP non-snoopable access outside of main DRAM ranges and arperture
 0	access to invalid graphics arperture translation table entry
Note:	Write a 1 to these bit(s) to clear
SeeAlso: #01129,#01138

Bitfields for Intel 82443EX/LX Multi-Transaction Timer register:
Bit(s)	Description	(Table 01140)
 7-3	Multi-transaction timer count value
 2-0	reserved
SeeAlso: #01129,#01141

Bitfields for Intel 82443EX/LX Low Priority Transaction Timer register:
Bit(s)	Description	(Table 01141)
 7-3	Low priority transaction timer count value
 2-0	reserved
SeeAlso: #01129,#01140

Format of PCI Configuration for Intel 82443BX Device 0 (Host-PCI):
Offset	Size	Description	(Table 01142)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7190h/7192h)
 10h	DWORD	graphics aperture base address
 2Ch	WORD	subsystem vendor identification (write-once)
 2Eh	WORD	subsystem device identification (write-once)
 40h 16 BYTEs	reserved (0)
 50h	DWORD	440BX Configuration (see #01144)
 54h  3 BYTEs	reserved (0)
 57h	BYTE	DRAM Control (see #01145)
 58h	BYTE	DRAM Timing (see #01146)
 59h  7 BYTEs	Programmable Attribute Map register 0-6 (see #01118)
 60h  8 BYTEs	DRAM Row Boundary registers 0-7
		each register indicates top of memory for a particular row, in
		  8MB units; DIMMs use two rows each, with single-sided DIMMs
		  leaving the odd-numbered rows unpopulated
 68h	BYTE	Fixed DRAM Hole Control (see #01147)
 69h  6 BYTEs	Memory Buffer Strength Control (see #01148)
 6Fh  2 BYTEs	reserved (0)
 71h	BYTE	Intel Reserved (1Fh)
 72h	BYTE	SMRAM Control (see #01123)
 73h	BYTE	Extended SMRAM Control (see #01149)
 74h	WORD	SDRAM Row Page Size (see #01150)
 76h	WORD	SDRAM Control Register (see #01151)
 78h	WORD	Paging Policy Register (see #01152)
 7Ah	BYTE	Power Management Control (see #01153)
 7Bh	WORD	Suspend CBR Refresh Rate Register (see #01154)
 7Dh  3 BYTEs	reserved (0)
 80h	DWORD	Error Address Pointer (see #01155)
 84h 12 BYTEs	reserved (0)
 90h	BYTE	Error Command Register (see #01156)
 91h	WORD	Error Status Register (see #01157)
 93h	BYTE	reserved (0)
 94h	DWORD	Intel Reserved (00006104h)
 98h	WORD	Intel Reserved (0500h)
 9Ah	BYTE	Intel Reserved (0)
 9Bh  5 BYTEs	reserved (0)
 A0h	DWORD	AGP Capability Identifier (see #01158)
 A4h	DWORD	AGP Status Register (read-only) (see #01159)
 A8h	DWORD	AGP Command Register (see #01160)
 ACh  4 BYTEs	reserved (0)
 B0h	DWORD	AGP Control Register (see #01161)
 B4h	BYTE	Aperture Size Control (see #01162)
 B5h  3 BYTEs	reserved (0)
 B8h	DWORD	Aperture Translation Table (see #01163)
 BCh  2 BYTEs	reserved
 BEh	WORD	reserved (0)
 C0h	DWORD	Intel Reserved (0)
 C4h	DWORD	Intel Reserved (0)
 C8h	BYTE	Intel Reserved (18h)
 C9h	BYTE	Intel Reserved (0Ch)
 CAh  3 BYTEs	Memory Buffer Frequency Select (see #01164)
 CDh  3 BYTEs	reserved (0)
 D0h  8 BYTEs	BIOS scratch pad (read-write, init to 0 on reset)
 D8h  8 BYTEs	Intel Reserved (0)
 E0h  2	DWORDs	DRAM Write Thermal Throttling Control (see #01165)
 E8h  8 BYTEs	DRAM Read Therman Throttling Control (see #01165)
 F0h	WORD	Buffer Control Register (see #01166)
 F2h  2 BYTEs	Intel Reserved (0000h)
 F4h	DWORD	Intel Reserved (0000F800h)
		bits 30-29 are "Abort Disable Test Mode" configuration bits
			and should always be set (according to Intel
			Specification Update)
 F8h	DWORD	Intel Reserved (00000F20h)
 FCh	DWORD	Intel Reserved (0)
SeeAlso: #00873,#01143,PORT 0022h"82443BX"
!!!intel\29063301.pdf p.34

Format of PCI Configuration for Intel 82443BX Device 1 (PCI-AGP):
Offset	Size	Description	(Table 01143)
 00h 64 BYTEs	header, type 1 [bridge] (see #00878)
		(vendor ID 8086h, device ID 7191h)
 40h 192 BYTEs	reserved
SeeAlso: #00873,#01142,#01130
!!!intel\29063301.pdf p.80

Bitfields for Intel 82443BX (Device 0) NBX Configuration Register:
Bit(s)	Description	(Table 01144)
 31-24	SDRAM rows without ECC; each set bit indicates a row in the SDRAM array
	  with does NOT have error correction (bit 24 = row 0; note that double-
	  sided DIMMs use two rows, one for the front and one for the back)
 23-19	reserved
 18	DRAM data asserted on host bus on the same clock on which the snoop
	  result is sampled, instead of one clock later
 17	ECC signals are always driven for EDO memory
 16	IDSEL redirection
	=0 allocate IDSEL1/AD12 to bridge, never assert external AD12
	=1 allocate IDSEL7/AD18 to bridge, never assert external AD18; PCI
	  configuration cycles for Bus0/Device7 are redirected to Bus0/Device1
 15	disable WSC# handshake (uni-processor mode)
 14	Intel Reserved
 13:12	Host/DRAM frequency
	00  100 MHz
	01  reserved
	10  66 MHz
	11  reserved
 11	enable AGP-to-PCI access (note: AGP-to-PCI traffic is not allowed to
	  target ISA-bus devices)
 10	disable PCI agent access to graphis aperture (ignored if bit 9 clear)
 9	global enable graphics aperture access
 8:7	DRAM Data Integrity Mode
	00 non-ECC
	01 error checking only (e.g. parity)
	10 ECC mode
	11 ECC mdoe with hardware scrubbing
 6	enable ECC diagnostics mode (when set, ECC lines are forced to zero on
	  writes and compared to internally-generated ECC on reads)
 5	monochrome video adapter present on PCI/ISA bus (with primary adapter
	  on AGP bus)
	if register 3Eh bit 3 is clear, all VGA cycles are sent to PCI
	  regardless of this bit
	otherwise: if clear, all VGA cycles are sent to AGP; if set, all VGA
	  cycles except MDA ranges (memory B0000h-B7FFFh and ports 03B4h,03B5h,
	  03B8h,03B9h,03BAh,03BFh) are sent to AGP
 4	reserved
 3	enable posting of host USWC (U??? Speculative Write Combine) writes to
	  PCI memory
 2	In-Order Queue Depth
	=1 maximum (PPro supports up to 8, but 82443BX only supports depth 4)
	=0 depth forced to 1 (no pipelining on processor bus)
 1:0	reserved
SeeAlso: #01142

Bitfields for 82443BX DRAM Control:
Bit(s)	Description	(Table 01145)
 7-6	reserved
 5	module mode configuration (read-only)
	=0 self-refresh entry is staggered; if "SDRAMPWR" (offset 76h bit 4) is
	  set, 3 DIMMs are supported, CKE[5:0] is driven, and dynamic SDRAM
	  power-down is available; if "SDRAMPWR" is clear, 4 DIMMs are
	  supported but power-down is not available
	=1 self-refresh entry is not staggered; 3 DIMMs are supported, only
	  CKE0 is driven, and dynamic power-down is not available
 4:3	DRAM type
	00 EDO
	01 SDRAM
	10 registered SDRAM
	11 reserved
 2:0	DRAM refresh rate
	000 disabled
	001 15.6 microseconds
	010 31.2 microseconds
	011 62.4
	100 124.8
	101 249.6
	else reserved
SeeAlso: #01142

Bitfields for Intel 82443BX DRAM Timing:
Bit(s)	Description	(Table 01146)
 7-2	reserved
 1	add one EDO RASx# wait state for row misses (two tASR instead of one)
 0	add one wait state to first EDO CASx# assertion for page hits
	(2 Tasc instead of 1 Tasc)
SeeAlso: #01142

Bitfields for Intel 82443BX/EX/LX Fixed DRAM Hole Control:
Bit(s)	Description	(Table 01147)
 7-6	Hole Enable
	00 none
	01 512K-640K
	10 15M-16M
	11 reserved
 5-0	reserved (0)
SeeAlso: #01142,#01129

Bitfields for Intel 82443BX Memory Buffer Strength Control:
Bit(s)	Description	(Table 01148)
 47-40	reserved (0)
 39-38	strengths of MAA[13:0], WEA#, SRASA#, SCASA# (settings same as below)
 37-36	strengths of MAB[12:11,9:0], MAB[13,10], WEB#, SRASB#, SCASB#
	00 = 1x (at both 66 and 100 MHz)
	01 reserved
	10 = 2x (at both 66 and 100 MHz)
	11 = 3x (at both 66 and 100 MHz)
 35-34	MD[63:0] buffer strength control 2
	4 DIMM FET config: strength for MD[63:0] path connected to DIMMs 2&3
	3/4 DIMM non-FET config: program to same value as buffer str. ctrl 1
 33-32	MD[63:0] buffer strength control 1
	4 DIMM FET config: strength for MD[63:0] path connected to DIMMs 0&1
	3/4 DIMM non-FET config: programmable based on total load detected on
	  all DIMM connectors
	00 = 1x (at both 66 and 100 MHz)
	01 reserved
	10 = 2x (at both 66 and 100 MHz)
	11 = 3x (at 100 MHz only)
 31-30	MECC[7:0] buffer strength control 2
	4 DIMM FET config: strength for MECC[7:0] path connected to DIMMs 2&3
	3/4 DIMM non-FET config: program to same value as buffer str. ctrl 1
 29-28	MECC[7:0] buffer strength control 1
	4 DIMM FET config: strength for MD[63:0] path connected to DIMMs 0&1
	3/4 DIMM non-FET config: programmable based on total load detected on
	  all DIMM connectors
	(values same as for MD[63:0] buffer strength)
 27-26	CSB7#/CKE5 buffer strength (same values as bits 37-36)
 25-24	CSA7#/CKE3 buffer strength (same values as bits 37-36)
 23-22	CSB6#/CKE4 buffer strength (same values as bits 37-36)
 21-20	CSA6#/CKE2 buffer strength (same values as bits 37-36)
 19	CSA5#/RASA5#, CSB5#/RASB5# buffer strength
	0 = 1x (at both 66 and 100 MHz)
	1 = 2x (at both 66 and 100 MHz)
 18	CSA4#/RASA4#, CSB4#/RASB4# buffer strength (same values as bit 19)
 17	CSA3#/RASA3#, CSB3#/RASB3# buffer strength (same values as bit 19)
 16	CSA2#/RASA2#, CSB2#/RASB2# buffer strength (same values as bit 19)
 15	CSA1#/RASA1#, CSB1#/RASB1# buffer strength (same values as bit 19)
 14	CSA0#/RASA0#, CSB0#/RASB0# buffer strength (same values as bit 19)
 13-12	DQMA5/CASA5# buffer strength
	00 = 1x (at both 66 and 100 MHz)
	01 reserved
	10 = 2x (at both 66 and 100 MHz)
	11 = 3x (at 66 MHz only)
 11-10	DQMA1/CASA1# buffer strength (same values as bits 37-36)
 9-8	DQMB5/CASB5# buffer strength (same values as bits 13-12)
 7-6	DQMB1/CASB1# buffer strength (same values as bits 13-12)
 5-4	DQMA[7:6,4:2,0]/CASA[7:6,4:2,0]#  buffer strength (as for bits 37-36)
 3-2	CKE1/GCKE buffer strength (same values as bits 37-36)
 1-0	CKE0/FENA buffer strength (same values as bits 37-36)
SeeAlso: #01142

Bitfields for Intel 82439TX/82443BX Extended SMRAM Control register:
Bit(s)	Description	(Table 01149)
 7	SMRAM location
	=0 compatible SMRAM space at segment A000h
	=1 high SMRAM space at addreses 100A0000h to 100FFFFFh (accessing
	  physical DRAM addresses A0000h to FFFFFh)
 6	(write-clear) access to extended SMRAM memory range when SMRAM space
	  is not open and not in SMM
 5	enable write-through caching of SMRAM
	(forced to 1 by 82443BX, to 0 by 82439TX)
 4	enable L1 caching of SMRAM (forced to 1 by 82443BX)
 3	enable L2 caching of SMRAM (forced to 1 by 82443BX)
 2-1	TSEG size (read-only once SMRAM locked) (see #01123)
	00 128K
	01 256K
	10 512K
	11 1M
 0	enable TSEG (read-only once SMRAM locked) (see #01123)
	when both SMRAM and TSEG are enabled, the top N kilobytes of physical
	  DRAM are no longer claimed by the memory controller, and instead
	  appear as extended SMRAM at an address 256M higher than the physical
	  address
SeeAlso: #01142,#01123,#01099

Bitfields for Intel 82443BX SDRAM Row Page Size:
Bit(s)	Description	(Table 01150)
 15-14	page size for row 7 (back of DIMM4)
	00 two KB
	01 four KB
	10 eight KB
	11 reserved
 13-12	page size for row 6 (front of DIMM4)
 ...
 3-2	page size for row 1 (back of DIMM1)
 1-0	page size for row 0 (front of DIMM1) 
SeeAlso: #01142

Bitfields for Intel 82443BX SDRAM Control Register:
Bit(s)	Description	(Table 01151)
 15-10	reserved (0)
 9-8	add one-clock delay to idle/pipeline DRAM leadoff when =01 (all other
	  values are illegal)
 7-5	SDRAM mode select
	000 normal operation
	001 issue NOP command on all CPU-to-SDRAM cycles
	010 issue All-Banks-Precharge command on all CPU-to-SDRAM cycles
	011 issue mode register set command on CPU-to-SDRAM cycles
		(command is driven on memory address lines, so the proper
		address must be calculated for each row of memory to drive
		the correct command; MAx[2:0] must be driven to 010 for
		burst-of-4 mode, MAx3 to 1 for interleave wrap type,
		MAx4 to the value of the CAS# latency bit, MAx[6:5] to 01,
		and MAx[12:7] to 0000000
	100 issue CBR cycles on all CPU-to-SDRAM cycles
	else reserved
 4	"SDRAMPWR" specifies how CKE signals are driven for various DRAM
	  configurations; refer to #01145 bit 5
 3	Leadoff Command Timing
	=0 four CS# clocks (100 MHz or 66 MHz desktop if MAA/MAB load > 9)
	=1 three CS# clocks (66 MHz mobile platforms, or desktop w/ load <= 9)
 2	CAS# latency
	=0 three DCLKs
	=1 two DCLKs
 1	SDRAM RAS# to CAS# delay
	=0 three clocks
	=1 two clocks
 0	SDRAM RAS# precharge
	=0 three clocks
	=1 two clocks
SeeAlso: #01142

Bitfields for Intel 82443BX Paging Policy Register:
Bit(s)	Description	(Table 01152)
 15-8	banks per row (bit 7 is row 0, bit 15 is row 7)
	=0 two banks
	=1 four banks
 7-5	reserved
 4	Intel Reserved
 3-0	DRAM Idle Timer ("DIT")
	number of clocks in idle state before all pages are precharged
	0000 no clocks
	0001 2 clocks
	0010 4 clocks
	0011 8 clocks
	0100 10 clocks
	0101 12 clocks
	0110 16 clocks
	0111 32 clocks
	1xxx never (pages are not closed on idle)
SeeAlso: #01142

Bitfields for Intel 82443BX Power Management Control Register:
Bit(s)	Description	(Table 01153)
 7	enable SDRAM power-down for idle rows
 6	enable ACPI control register at PORT 0022h
 5	suspend refresh type
	=0 self-refresh
	=1 CBR mode
 4	enable normal refresh (must be set before accessing RAM after a reset)
 3	quick-start mode enabled (read-only)
 2	enable dynamic clock gating on AGPset "IDLE" condition (all buses in
	  idle state)
 1	AGP disabled (read-only)
 0	enable CPU reset without PCIRST enable
SeeAlso: #01142

Bitfields for Intel 82443BX Suspend CBR Refresh Rate:
Bit(s)	Description	(Table 01154)
 15-13	reserved (0)
 12	enable automatic Suspend CBR Refresh Rate adjustment (based on number
	  of OSCCLKs in a given time); if clear, the below field must be
	  programmed to guarantee minimum refresh rates in the worst case
 11-0	Suspend CBR Refresh Rate (number of OSCCLKs between refresh requests)
SeeAlso: #01142

Bitfields for Intel 82443BX Error Address Pointer:
Bit(s)	Description	(Table 01155)
 31-12	(read-only) bits 31-12 of address in which first parity/ECC error
	  occurred
 11-2	reserved
 1	(write-clear) multi-bit error occurred
 0	(write-clear) single-bit error occurred
SeeAlso: #01156,#01142

Bitfields for Intel 82443BX/EX/LX Error Command Register:
Bit(s)	Description	(Table 01156)
 7	enable SERR# on AGP non-snoopable access outside graphics aperture
 6	enable SERR# on invalid AGP DRAM access (82443BX)
	enable SERR# on AGP Non-snoopable access to location outside main DRAM
	  and arpeture rangles (82443EX/LX)
 5	enable SERR# on access to invalid Graphics Aperture Translation Table
 4	enable SERR# on receiving Target Abort
 3	enable SERR# when Thermal DRAM Throttling detected (82443BX)
	enable SERR# on PCI Parity Error (82443EX/LX)
---82443BX---
 2	SERR# mode
	=0 asserted for one PCI clock
	=1 level mode signal (for systems that connect SERR# to EXTSMI#)
 1	enable SERR# on receiving multi-bit Parity/ECC error
 0	enable SERR# on receiving single-bit (corrected) ECC error
---82443EX/LX---
 2-0	reserved
Note:	bits 1 and 0 must be clear on systems not supporting ECC
SeeAlso: #01155,#01157,#01142,#01129

Bitfields for Intel 82443BX Error Status Register:
Bit(s)	Description	(Table 01157)
 15-13	reserved (0)
 12	(write-clear) DRAM Read thermal throttling condition occurred
 11	(write-clear) DRAM Write thermal throttling condition occurred
 10	(write-clear) AGP non-snoopable access outside Graphics Aperture
 9	(write-clear) invalid AGP non-snoopable DRAM read access
 8	(write-clear) invalid Graphics Aperture Translation Table entry
 7-5	(read-only) number of DRAM row containing first multi-bit error
 4	(write-clear) multi-bit (uncorrectable) error occurred
 3-1	(read-only) number of DRAM row containing first single-bit error
 0	(write-clear) single-bit (correctable) error occurred
SeeAlso: #01156,#01142

Bitfields for Intel AGP Capability Identifier:
Bit(s)	Description	(Table 01158)
 31-24	reserved
 23-20	major version of supported AGP revision
 19-16	minor version of supported AGP revision
 15-8	offset of next capability (0 = none)
 7-0	PCI capability ID (2 = AGP, 0 = disabled)
SeeAlso: #01142,#01159,#01129

Bitfields for Intel 82443BX/EX/LX AGP Status Register:
Bit(s)	Description	(Table 01159)
 31-24	maximum AGP request queue depth (read-only)
 23-10	reserved
 9	AGP side band addressing is supported (read-only)
 8-2	reserved
 1-0	supported AGP data transfer type(s)
	bit 0: 1x data transfer mode
	bit 1: 2x data transfer mode
Note:	bits 0 and 1 may not both be clear
SeeAlso: #01160,#01142,#01158,#01129

Bitfields for Intel 82443BX/EX/LX AGP Command Register:
Bit(s)	Description	(Table 01160)
 31-10	reserved
 9	enable AGP sideband addressing
 8	enable AGP
 7-2	reserved
 1-0	selected AGP transfer rate
	00 = default
	01 = 1x
	10 = 2x
	11 illegal
SeeAlso: #01159,#01142,#01161,#01129

Bitfields for Intel 82443BX/EX/LX AGP Control Register:
Bit(s)	Description	(Table 01161)
 31-16	reserved (0)
 15	disable forced ordering of snoopable writes and AGP reads (82443BX)
	(82443EX/LX) reserved
 14	reserved (0)
 13	enable Graphics Aperture Write-AGP Read synchronization
 12-10	reserved (0)
 9-8	reserved (0) (82443BX)
	expedite transaction throttle timer (82443EX/LX)
	00 no throttling
	01 reserved
	10 192 clocks on, 64 clocks off
	11 reserved
 7	enable Graphics Translation Lookaside Buffer (and GTLB Flush Control)
 6-0	reserved (0)
SeeAlso: #01160,#01142,#01129

Bitfields for Intel 82443BX/EX/LX Graphics Aperture Size Control:
Bit(s)	Description	(Table 01162)
 7-6	reserved
 5-0	aperture size
	000000 256M
	100000 128M
	110000 64M
	111000 32M
	111100 16M
	111110 8M
	111111 4M
	other illegal
SeeAlso: #01142,#01163,#01129

Bitfields for Intel 82443BX/EX/LX Graphics Aperture Trans. Table Base Register:
Bit(s)	Description	(Table 01163)
 31-12	bits 31-12 of aperture translation table base address 
 11-0	reserved (0)
SeeAlso: #01162,#01142,#01129

Bitfields for Intel 82443BX Memory Buffer Frequency Select:
Bit(s)	Description	(Table 01164)
 23	reserved
 22	MAA[13:0], WEA#, SRASA#, SCASA# buffer select
	=0 66 MHz buffers
	=1 100 MHz buffers
 21	MAB[12:11,9:0]#, MAB[13,10], WEB#, SRASB#, SCASB# buffer select
	(as for bit 22)
 20	MD[63:0] (control 2) buffer select
 19	MD[63:0] (control 1) buffer select
 18	MECC[7:0] (control 2) buffer select
 17	MECC[7:0] (control 1) buffer select
 16	CSB7#/CKE5 buffer select
 15	CSA7#/CKE3 buffer select
 14	CSB6#/CKE4 buffer select
 13	CSA6#/CKE2 buffer select
 12	CSA5#/RASA5#, CSB5#/RASB5# buffer select
 11	CSA4#/RASA4#, CSB4#/RASB4# buffer select
 10	CSA3#/RASA3#, CSB3#/RASB3# buffer select
 9	CSA2#/RASA2#, CSB2#/RASB2# buffer select
 8	CAS1#/RASA1#, CSB1#/RASB1# buffer select
 7	CSA0#/RASA0#, CSB0#/RASB0# buffer select
 6	DQMA5/CASA5# buffer select
 5	DQMA1/CASA1# buffer select
 4	DQMB5/CASB5# buffer select
 3	DQMB1/CASB1# buffer select
 2	DQMA[7:6,4:2,0]/CASA[7:6,4:2,0]# buffer select
 1	CKE1/GCKE buffer select
 0	CKE0/FENA buffer select
SeeAlso: #01142,#01166

Bitfields for Intel 82443BX DRAM Read/Write Thermal Throttling Control:
Bit(s)	Description	(Table 01165)
 63	lock all read and write throttle control register bits (exists in Write
	  Throttling control register only)
 62-46	reserved
 45-38	global DRAM sampling window (in four-millisecond units)
 37-26	global QWORD threshold (documented as units of 215, but may be typo and
	  actually be units of 2^15 = 32768)
	thermal throttling will be invoked if the number of QWORD accesses
	  during the sampling window exceeds the threshold count
 25-20	throttle time in multiples of the sampling window
 19-13	throttle monitoring window in 16 DRAM-clock units
 12-3	throttle QWORD maximum count -- while throttling is enabled, at most
	  this many QWORD accesses are permitted during each throttle
	  monitoring window
 2-0	DRAM Throttle Mode
	100 normal operation
	else Intel Reserved
SeeAlso: #01142

Bitfields for Intel 82443BX Buffer Control Register:
Bit(s)	Description	(Table 01166)
 15-10	reserved
 9-6	AGP Jam Latch strength
	bit 9: enable strong pull-up
	bit 8: enable weak pull-up
	bit 7: enable strong pull-down
	bit 6: enable weak pull-down
 5-0	Intel Reserved
SeeAlso: #01142,#01164

Format of PCI Configuration for Intel 82371FB/82371SB Function 0 (ISA Bridge):
Offset	Size	Description	(Table 01167)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 122Eh/7000h)
		(revision ID 00h = 82371SB step A-1)
		(revision ID 01h = 82371SB step B-0)
 40h 12 BYTEs	reserved
 4Ch	BYTE	ISA I/O Controller Recovery Timer (see #01087)
 4Dh	BYTE	reserved
 4Eh	BYTE	X-Bus Chip Select Enable (see #01089)
 4Fh	BYTE	(82371SB) X-Bus Chip Select Enable High (see #01102)
		bit 0: I/O APIC enabled
 4Fh	BYTE	(82371FB) reserved
 50h 16 BYTEs	reserved
 60h  4 BYTEs	PCI IRQ Route Control (see #01076)
 64h  5 BYTEs	reserved
 69h	BYTE	top of memory (see #01216)
 6Ah	WORD	miscellaneous status (see #01217)
 6Ch  4 BYTEs	reserved
 70h	BYTE	motherboard IRQ Route Control 0 (see #01218)
 71h	BYTE	(82371FB) motherboard IRQ Route Control 1 (see #01218)
 72h  4 BYTEs	reserved
 76h  2 BYTEs	motherboard DMA control (see #01219)
 78h	WORD	programmable chip select control (see #01220)
 7Ah  6 BYTEs	reserved
 80h	BYTE	(82371SB) APIC Base Address Relocation (see #01078)
 81h	BYTE	reserved
 82h	BYTE	(82371SB) Deterministic Latency Control (see #01221)
 83h 29 BYTEs	reserved
 A0h	BYTE	SMI Control (see #01222)
 A1h	BYTE	reserved
 A2h	WORD	SMI Enable (see #01080)
 A4h	DWORD	System Event Enable (SEE) (see #01081)
 A8h	BYTE	Fast-Off Timer (in minutes, PCICLKs, or milliseconds)
		value is count less one; timer must be stopped before
		  changing its value
 A9h	BYTE	reserved
 AAh	WORD	SMI Request (see #01082)
 ACh	BYTE	Clock Scale STPCLK# Low Timer
		STPCLK# stays low for 1+1056*(value+1) PCICLKs
 ADh	BYTE	reserved
 AEh	BYTE	Clock Scale STPCLK# High Timer
		STPCLK# stays high for 1+1056*(value+1) PCICLKs
 AFh 81 BYTEs	reserved
SeeAlso: #00873,#01214,#01215,#01064,#01083,#01108,#01098

Format of PCI configuration for Intel 82371MX MPIIX:
Offset	Size	Description	(Table 01168)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 1234h)
 40h  9 BYTEs	reserved
 49h	BYTE	serial and parallel port enable (see #01169)
 4Ah  2 BYTEs	reserved
 4Ch	BYTE	Extended I/O Controller Recovery Timer (see #01170)
 4Dh	BYTE	reserved
 4Eh	BYTE	BIOS enable (see #01171)
 4Fh	BYTE	FDC enable (see #01172)
 50h 16 BYTEs	reserved
 60h	BYTE	PIRQA# Route Control (see #01076)
 61h	BYTE	PIRQB# Route Control (see #01076)
 62h  8 BYTEs	reserved
 6Ah	WORD	Miscellaneous Status (see #01173)
 6Ch	WORD	IDE timing modes (see #01223)
 6Eh  2 BYTEs	reserved
 70h	BYTE	Motherboard IRQ Route Control (see #01223)
 71h  5 BYTEs	reserved
 76h  3 BYTEs	Motherboard DMA Route Control (see #01219)
 79h  5 BYTEs	reserved
 7Eh	BYTE	Audio enable (see #01174)
 7Fh	BYTE	DMA channel 5-7 address size (see #01175)
 80h	BYTE	PCI DMA enable (see #01176)
 81h  7 BYTEs	reserved
 88h	BYTE	PCI DMA/PCI DMA expansion A (see #01177)
 89h	BYTE	PCI DMA/PCI DMA expansion B (see #01177)
 8Ah	WORD	Programmable Memory Address Control 0 (see #01178)
 8Ch	WORD	Programmable Memory Address Control 1 (see #01178)
 8Eh	WORD	Programmable Memory Address Mask (see #01179)
 90h	BYTE	Programmable Address Range Enable (see #01180)
 91h	BYTE	reserved
 92h	WORD	Programmable Chip Select Control (see #01181)
 94h	WORD	Programmable Address Control 1 (see #01182)
 96h	WORD	Programmable Address Control 2 (see #01182)
 98h	WORD	Programmable Address Control 3 (see #01182)
 9Ah	BYTE	Programmable Address Mask A (see #01183)
 9Bh	BYTE	Programmable Address Mask B (see #01184)
 9Ch	WORD	I/O configuration address (see #01185)
 9Eh  2 BYTEs	reserved
 A0h	WORD	Programmable Address Control 4 (see #01182)
 A2h	WORD	Programmable Address Control 5 (see #01182)
 A4h	BYTE	Programmable Address Mask C (see #01186)
 A5h	BYTE	Peripheral Access Detect Enable 0 (see #01187)
 A6h	BYTE	Peripheral Access Detect Enable 1 (see #01188)
 A7h	BYTE	Peripheral Access Detect Enable 2 (see #01189)
 A8h	WORD	Local Trap Address for Device 3 (see #01190)
 AAh	BYTE	Local Trap Mask for Device 3 (see #01191)
 ABh	BYTE	Local Trap SMI Enable (see #01192)
 ACh  2 BYTEs	reserved
 AEh	BYTE	Local Trap SMI Status (see #01192)
 AFh	BYTE	reserved
 B0h	BYTE	Local Standby SMI Enable (see #01193)
 B1h	BYTE	Local Standby Timer Reload Enable (see #01194)
 B2h	BYTE	Local Standby SMI Status (see #01193)
 B3h	BYTE	reserved
 B4h	BYTE	Local Standby Timer IDE Idle (see #01195)
 B5h	BYTE	Local Standby Timer Audio Idle	(see #01195)
 B6h	BYTE	Local Standby Timer COM Idle (see #01195)
 B7h	BYTE	reserved
 B8h	BYTE	Local Standby Timer Device 1 Idle (see #01195)
 B9h	BYTE	Local Standby Timer Device 2 Idle (see #01195)
 BAh	BYTE	Local Standby Timer Device 3 Idle (see #01195)
 BBh	BYTE	reserved
 BCh	BYTE	Software/EXTSMI# SMI Delay Timer (see #01195)
 BDh	BYTE	Suspend SMI Delay Timer (see #01195)
 BEh	BYTE	Global Standby Timer (see #01195)
 BFh	BYTE	Clock Throttle Standby Timer (see #01195)
 C0h	BYTE	System Management Control (see #01196)
 C1h	BYTE	System SMI Enable (see #01197)
 C2h	BYTE	Miscellaneous SMI Enable (see #01198)
 C3h	BYTE	Global SMI Enable (see #01200)
 C4h  2 BYTEs	reserved
 C6h	BYTE	System SMI Status (see #01197)
 C7h	BYTE	Miscellaneous SMI Status (see #01199)
 C8h	BYTE	Global SMI Status (see #01201)
 C9h  3 BYTEs	reserved
 CCh	BYTE	Suspend/Resume Control 1 (see #01202)
 CDh	BYTE	Suspend/Resume Control 2 (see #01203)
 CEh	BYTE	SMOUT Control (see #01204)
 CFh	BYTE	reserved
 D0h	BYTE	System Event Enable 0 (see #01207)
 D1h	BYTE	System Event Enable 1 (see #01208)
 D2h	BYTE	System Event Enable 2 (see #01209)
 D3h	BYTE	Burst Count Timer (see #01195)
 D4h	BYTE	Clock Control (see #01205)
 D5h	BYTE	reserved
 D6h	BYTE	STPCLK# Low Timer (see #01195)
 D7h	BYTE	STPCLK# High Timer (see #01195)
 D8h	BYTE	Stop Break Event Enable 0 (see #01207)
 D9h	BYTE	Stop Break Event Enable 1 (see #01208)
 DAh	BYTE	Stop Break Event Enable 2 (see #01209)
 DBh  5 BYTEs	reserved
 E0h	BYTE	Shadow Register (see #01206)
 E1h  3 BYTEs	reserved
 E4h	BYTE	Burst Clock Event Enable 0 (see #01207)
 E5h	BYTE	Burst Clock Event Enable 1 (see #01208)
 E6h	BYTE	Burst Clock Event Enable 2 (see #01209)
 E7h	BYTE	Burst Clock Event Enable 3 (see #01210)
 E8h	BYTE	Burst Clock Event Enable 4 (see #01211)
 E9h	BYTE	Burst Clock Event Enable 5 (see #01212)
 EAh	BYTE	Burst Clock Event Enable 6 (see #01213)
 EBh	BYTE	reserved
 ECH	BYTE	Clock Throttle Break Event Enable 0 (see #01207)
 EDh	BYTE	Clock Throttle Break Event Enable 1 (see #01208)
 EEh	BYTE	Clock Throttle Break Event Enable 2 (see #01209)
 EFh	BYTE	Clock Throttle Break Event Enable 3 (see #01210)
 F0h	BYTE	Clock Throttle Break Event Enable 4 (see #01211)
 F1h	BYTE	Clock Throttle Break Event Enable 5 (see #01212)
 F2h	BYTE	Clock Throttle Break Event Enable 6 (see #01213)
 F3h 13 BYTES	reserved
SeeAlso: #00873,#01076

Bitfields for Intel 82371MX serial and parallel port enable register:
Bit(s)	Description	(Table 01169)
 7	reserved
 6	LPT3 enabled
 5	LPT2 enabled
 4	LPT1 enabled
 3	COM4 enabled
 2	COM3 enabled
 1	COM2 enabled
 0	COM1 enabled
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Extended I/O Controller Recovery Timer register:
Bit(s)	Description	(Table 01170)
 7	reserved
 6	8-Bit I/O Recovery Enable
	=1 Enable value programmed into bits 5-3
 5-3	8-Bit I/O Recovery Times
	000 = 8 SYSCLK
	001 = 1 SYSCLK (default)
	010 = 2 SYSCLK
	011 = 3 SYSCLK
	100 = 4 SYSCLK
	101 = 5 SYSCLK
	110 = 6 SYSCLK
	111 = 7 SYSCLK
 2-0	Reserved (0)
SeeAlso: #01168,#01087,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX BIOS enable register:
Bit(s)	Description	(Table 01171)
 7	Extended BIOS Enable
 6	Lower BIOS Enable 1
 5	Lower BIOS Enable 0
 4	Lower BIOS CS# Enable 0
 3	F Segment BIOS Enable
 2	BIOSCS# Write Protect
 1-0	reserved
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX FDC Enable register:
Bit(s)	Description	(Table 01172)
 7	Coprocessor Error fuction Enable
 6	IRQ12/M Mouse Function Enable
 5	System Management Output 5/Disk Output Enable
 4	System Management Output 4/RTCALE Enable
 3	Motherboad DMA 2 Disable
 2	reserved
 1	Floppy Secondary Addess Enable
 0	Floppy Primary Address Enable
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Miscellaneous Status register:
Bit(s)	Description	(Table 01173)
 15-3	reserved
 2-1	reserved (0)
 0	ISA Clock Divisor Status
	=1 Divisor=3 (PCICLK=25MHz) default
	=0 Divisor=4 (PCICLK=33MHz)
Note:	This is a read-only register that reports on chipset jumper settings.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Audio enable register:
Bit(s)	Description	(Table 01174)
 7	Audio enabled
 6-4	Reserved
 3-2	Audio I/O Address
	00	0220h
	01	0230h
	10	0240h
	11	0250h
 1-0	reserved
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX DMA channel 5-7 address size register:
Bit(s)	Description	(Table 01175)
 7	Channel 7 16/8-Bit Count by Word/Byte
	=1 16-bit, count by word
	=0 8-bit, count by byte
 6	Channel 6 16/8-Bit Count by Word/Byte (same values as bit 7)
 5	Channel 5 16/8-Bit Count by Word/Byte (same values as bit 7)
4-3	reserved (0)
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX PCI DMA Enable register:
Bit(s)	Description	(Table 01176)
 7	DMA CH7 is on PCI Bus
 6	DMA CH6 is on PCI Bus
 5	DMA CH5 is on PCI Bus
 4	reserved
 3	DMA CH3 is on PCI Bus
 2	DMA CH2 is on PCI Bus
 1	DMA CH1 is on PCI Bus
 0	DMA CH0 is on PCI Bus
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX PCI DMA/PCI DMA expansion registers:
Bit(s)	Description	(Table 01177)
 7-4	reserved
 3	Expansion enabled
 2-0	DMA channel
Note:	The PCI DMA Expansion request lines (REQ[A,B]#/GNT[A,B]#) provide PCI
	  DMA and PCI DMA expansion support.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Memory Address Control registers:
Bit(s)	Description	(Table 01178)
 15-0	Memory Access Control
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Memory Address Mask register:
Bit(s)	Description	(Table 01179)
 7-0	Memory Address Mask
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Address Range Enable register:
Bit(s)	Description	(Table 01180)
 7	PCS# Enabled for Programmable Address Range 2
 6	PCS# Enabled for Programmable Address Range 1
 5	Programmable Address range 5 Enabled
 4	Programmable Address range 4 Enabled
 3	Programmable Address range 5 Enabled
 2	Programmable Address range 3 Enabled
 1	Programmable Address range 1 Enabled
 5	PCS# Address range Enabled
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Chip Select Control register:
Bit(s)	Description	(Table 01181)
 15-0	PCS# Address
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Address Control registers:
Bit(s)	Description	(Table 01182)
 15-0	Programmable Address Control
Note:	This register selects a 16-bit I/O address range to be forwarded to
	  the Extended I/O Bus, if enabled in the Programmable Address Range
	  register.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Address Mask A register:
Bit(s)	Description	(Table 01183)
 7-4	Programmable Address Control 1 Mask
 3-0	Programmable Chip Select Mask
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Address Mask B register:
Bit(s)	Description	(Table 01184)
 7-4	Programmable Address Control 3 Mask
 3-0	Programmable Address Control 2 Mask
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX I/O configuration address register:
Bit(s)	Description	(Table 01185)
 15-10	reserved
 9-1	I/O Configuration Address
 0	I/O Configuration Address Enabled
Note:	This register provides an I/O address range to be forwarded to the
	  Extended I/O Bus for accesses to the configuration space of an
	  integrated I/O device. PCI address bits 9-1 are compared to bits
	  9-1 of this register. Address bits 31-10 must be 0.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Programmable Address Mask C register:
Bit(s)	Description	(Table 01186)
 7-4	Programmable Address Control 5 Mask
 3-0	Programmable Address Control 4 Mask
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Peripheral Access Detect Enable 0 register:
Bit(s)	Description	(Table 01187)
 7	Enable Audio-E
 6	Enable Audio-D
 5	Enable Audio-C
 4	Enable Audio-B
 3	Enable Audio-A
 2	Enable Parallel 3
 1	Enable Parallel 2
 0	Enable Parallel 1
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Peripheral Access Detect Enable 1 register:
Bit(s)	Description	(Table 01188)
 7	Enable COM4
 6	Enable COM3
 5	Enable COM3
 4	Enable COM1
 3	Enable Secondary FDC
 2	Enable Primary FDC
 1	Enable Secondary IDE
 0	Enable Promary IDE
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Peripheral Access Detect Enable 2 register:
Bit(s)	Description	(Table 01189)
 7	Enable PMAC1
 6	Enable PMAC0
 5	Enable PAC5
 4	Enable PAC4
 3	Enable PAC3
 2	Enable PAC2
 1	Enable PAC1
 0	Enable PCSC
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Local Trap Address for Device 3 register:
Bit(s)	Description	(Table 01190)
 15-0	Local Trap Address base for Device 3
Note:	Is compared with bits 15-0 of PCI I/O Addresses. Address bits 31-16
	  must be 0.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Local Trap Mask for Device 3 register:
Bit(s)	Description	(Table 01191)
 7-4	Local Trap COM Port Select
	=1000	COM4 02E8h-02EFh
	=0100	COM3 03E8h-83EFh
	=0010	COM2 02F8h-02FFh
	=0001	COM1 03F8h-03FFh
Note:	These bits when set cause an SMI# when access to the corresponding I/O
	  port range is made.
 3-0	Local Trap Mask
Note:	This field selects the range of trappable addresses (in bytes).
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Local Trap SMI Enable/Status registers:
Bit(s)	Description	(Table 01192)
 7-6	reserved
 5	IDE
 4	Audio
 3	COM
 2	DEV3
 1	DEV2
 0	DEV1
Note:	a set bit indicates in the Enable register turns generation of SMI# on
	  I/O accesses to the address region used by the selected device;
	  a set bit in the Status register indicates which trap caused an SMI#
	  interrupt.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Local Standby SMI Enable/Status registers:
Bit(s)	Description	(Table 01193)
 7-6	reserved
 5	IDE
 4	Audio
 3	COM
 2	DEV3
 1	DEV2
 0	DEV1
Note:	each bit in the Enable register turns on the associated SMI Timer; a
	  set bit in the Status register indicates which local standby timer
	  caused the SMI interrupt
SeeAlso: #01168,#01194,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Local Standby Timer Reload Enable register:
Bit(s)	Description	(Table 01194)
 7	IDE
 6	Audio
 5	COM
 4	DEV3
 3	DEV2
 2	DEV1
 1	Audio MDAK2
 0	Audio MDAK1
Note:	This register enables local standby timer reloading. When the
	  associated I/O address range is accessed, the standby timer is
	  reloaded with it's default value. Also note the different bit-order
	  for this register only.
SeeAlso: #01168,#01193,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Count Value registers:
Bit(s)	Description	(Table 01195)
 7-0	Count value
Note:	This field contains the initial count value for various time-out
	  events. 00 is an illegal programmed value. The programmed value is
	  decremented by certain events or system clocks, and the event is
	  triggered when the count reaches 0.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX System Management Control register:
Bit(s)	Description	(Table 01196)
 7-3	reserved
 2	Freeze (but not reset) all Power Management timers
 1	=0 disable all Power Management functions
 0	=0 disable SMI
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX System SMI Enable/Status registers:
Bit(s)	Description	(Table 01197)
 7	reserved
 6	Write to APMC Port (software SMI)
 5	EXTSMI#
 4	IRQ12
 3	IRQ8
 2	IRQ4
 1	IRQ3
 0	IRQ1
Note:	each set bit in the Enable register turns on SMI# generation for the
	  associated hardware event; a set bit in the Status register indicates
	  which event caused the SMI interrupt
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Miscellaneous SMI Enable register:
Bit(s)	Description	(Table 01198)
 7-4	reserved
 3	Write to APMC Port
 2	SRBTN#
 1	BATLOW#
 0	reserved
Note:	Enables SMI# generation for the above hardware events
SeeAlso: #01168,#01199,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Miscellaneous SMI Status register:
Bit(s)	Description	(Table 01199)
 7-4	reserved
 3	=1 indicates system is in global standby mode
 2	SRBTN# caused SMI
 1	BATLOW# caused SMI
 0	reserved
SeeAlso: #01168,#01198,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Global SMI Enable register:
Bit(s)	Description	(Table 01200)
 7	System Events Enabled
 6	Software SMI#'s (generated by bit 0 of this register) Enabled
 5	reserved
 4	Local Traps Enabled
 3	Local Standby Timers Enabled
 2	Global Standby Timer Enabled
 1	SRBTN# and BATLOW# Enabled
Note:	Enables SMI# generation for the above hardware events
SeeAlso: #01168,#01201,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Global SMI Status register:
Bit(s)	Description	(Table 01201)
 7	One of the System Events caused SMI
 6	Software SMI or EXTSMI# caused SMI
 5	Write to APMC caused SMI
 4	Access to one of the Local Traps caused SMI
 3	One of the local Standby timers caused SMI
 2	Global Standby Timer caused SMI
 1	SRBTN# or BATLOW# caused SMI
 0	reserved
SeeAlso: #01168,#01200,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Suspend/Resume Control 1 register:
Bit(s)	Description	(Table 01202)
 7	BATLOW# bypasses Suspend delay timer and activates SMI# immediately
 6	IRQ8 will NOT cause a resume
 5	COM RI (Ring) will NOT cause a resume ("Wake on Ring" function)
 4	BATLOW# will not prevent a resume
 3	is set by power management software at the end of a suspend routine
 2	can be set by power management software at the end of a suspend routine
 1-0	Set suspend mode
	00	Suspend Disabled
	01	reserved
	10	Suspend-to-DRAM
	11	Suspend-to-Disk
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Suspend/Resume Control 2 register:
Bit(s)	Description	(Table 01203)
 7-1	reserved
 0	EXTSMI# will NOT cause a resume event
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX SMOUT Control register:
Bit(s)	Description	(Table 01204)
 7-6	reserved
 5-0	Writing to any bits sets the state of the 6 SMOUTx pins.
	SMOUT5 is not effected if it is configured for DOE# function
	SMOUT4 is not effected if it is configured for RTCALE function
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Clock Control register:
Bit(s)	Description	(Table 01205)
 7	Clock Throttle standy by timer frequency
	=1 32ms
	=0 4ms
Note:	Sets the granularity of the Clock Throttle Standby Timer
 6-5	reserved
 4	Enable Auto Clock Throttle
 3-2	STPCLK# Mode
	00 Disable STPCLK# Function
	01 Enable stop grant mode
	10 Enable stop clock mode
	11 reserved
 1	Enable clock throttling
 0	Enable "PCI Clock can be stopped"
SeeAlso: #01168,PORT xxxxh"Intel 82371"

(Table 01206)
Values for Intel 82371MX Shadow Register
Value	AT Port	Description
 00h	00h	Channel 0 Base Address Register (low byte)
 01h	00h	Channel 0 Base Address Register (high byte)
 02h	01h	Channel 0 Base Word Count Register (low byte)
 03h	01h	Channel 0 Base Word Count Register (high byte)
 04h	02h	Channel 1 Base Address Register (low byte)
 05h	02h	Channel 1 Base Address Register (high byte)
 06h	03h	Channel 1 Base Word Count Register (low byte)
 07h	03h	Channel 1 Base Word Count Register (high byte)
 08h	04h	Channel 2 Base Address Register (low byte)
 09h	04h	Channel 2 Base Address Register (high byte)
 0Ah	05h	Channel 2 Base Word Count Register (low byte)
 0Bh	05h	Channel 2 Base Word Count Register (high byte)
 0Ch	06h	Channel 3 Base Address Register (low byte)
 0Dh	06h	Channel 3 Base Address Register (high byte)
 0Eh	07h	Channel 3 Base Word Count Register (low byte)
 0Fh	07h	Channel 3 Base Word Count Register (high byte)
 10h	08h	DMA1 Command Register
 11h	0Bh	Channel 0 Mode Register
 12h	0Bh	Channel 1 Mode Register
 13h	0Bh	Channel 2 Mode Register
 14h	0Bh	Channel 3 Mode Register
 15h	0Fh	DMA1 Mask Register
 16h	C4h	Channel 5 Base Address Register (low byte)
 17h	C4h	Channel 5 Base Address Register (high byte)
 18h	C6h	Channel 5 Base Word Count Register (low byte)
 19h	C6h	Channel 5 Base Word Count Register (high byte)
 1Ah	C8h	Channel 6 Base Address Register (low byte)
 1Bh	C8h	Channel 6 Base Address Register (high byte)
 1Ch	CAh	Channel 6 Base Word Count Register (low byte)
 1Dh	CAh	Channel 6 Base Word Count Register (high byte)
 1Eh	CCh	Channel 7 Base Address Register (low byte)
 1Fh	CCh	Channel 7 Base Address Register (high byte)
 20h	CDh	Channel 7 Base Word Count Register (low byte)
 21h	CDh	Channel 7 Base Word Count Register (high byte)
 22h	D0h	DMA2 Command Register
 23h	D6h	Channel 5 Mode Register
 24h	D6h	Channel 6 Mode Register
 25h	D6h	Channel 7 Mode Register
 26h	DEh	DMA2 Mask Register
 27h	20h	PIC1 ICW1
 28h	21h	PIC1 ICW2
 29h	21h	PIC1 ICW3
 2Ah	21h	PIC1 ICW4
 2Bh	20h	PIC1 OCW2
 2Ch	A0h	PIC2 ICW1
 2Dh	A1h	PIC2 ICW2
 2Eh	A1h	PIC2 ICW3
 2Fh	A1h	PIC2 ICW4
 30h	A0h	PIC2 OCW2
 31h	70h	NMI mask / RTC address
 32h	03FAh	COM1 FIFO Enable Register (only bits 0,3,6 & 7 valid)
 33h	02FAh	COM2 FIFO Enable Register (only bits 0,3,6 & 7 valid)
 34h	03EAh	COM3 FIFO Enable Register (only bits 0,3,6 & 7 valid)
 35h	02EAh	COM4 FIFO Enable Register (only bits 0,3,6 & 7 valid)
 36h	40h	TIMER 0 Count Register (low byte)
 37h	40h	TIMER 0 Count Register (high byte)
 38h	20h	Master PIC OCW3 Register (bits 0,2 & 5 only valid)
 39h	A0h	Slave PIC OCW3 Register (bits 0,2 & 5 only valid)
Desc:	This register is used to read the current programmed value of certain
	  AT compatable I/O ports which are traditionally write-only.
Note:	To read a given register, write the value from the table to the shadow
	  register, then immediately re-read the shadow register. The returned
	  value is the current value of the I/O port.
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Burst Clock/Clock Throttle Break Enable 0 register:
Bit(s)	Description	(Table 01207)
 7	Enable IRQ7
 6	Enable IRQ6
 5	Enable IRQ7
 4	Enable IRQ4
 3	Enable IRQ3
 2	reserved
 1	Enable IRQ1
 0	Enable IRQ0
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Event Enable 1 register:
Bit(s)	Description	(Table 01208)
 7	Enable IRQ15
 6	Enable IRQ14
 5	reserved
 4	Enable IRQ12
 3	Enable IRQ11
 2	Enable IRQ10
 1	Enable IRQ9
 0	Enable IRQ8
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Event Enable 2 register:
Bit(s)	Description	(Table 01209)
 7	(Clock Throttle Break Event,Burst Clock Event)
	  reserved
	(System Event,Stop Break Event,Clock Throttle Break Event)
	  Enable BATLOW# & SRBTN#
 6	Enable EXTSMI#
 5	Enable SMI#
 4	(System Event,Stop Break Event,Clock Throttle Break Event)
	  Enable NMI
	(Burst Clock Event)
	  reserved
 3	(System Event,Stop Break Event,Clock Throttle Break Event)
	  Enable INTR
	(Burst Clock Event)
	  reserved
 2	reserved
 1	Enable COMRI#
 0	Enable events of selected type
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Event Enable 3 register:
Bit(s)	Description	(Table 01210)
 7-2	reserved
 1	Enable EXTEVNT#
 0	Enable PHLDA#
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Event Enable 4 register:
Bit(s)	Description	(Table 01211)
 7	Enable PMAC1
 6	Enable PMAC0
 5	Enable PAC5
 4	Enable PAC4
 3	Enable PAC3
 2	Enable PAC2
 1	Enable PAC1
 0	Enable PCSC
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Event Enable 5 register:
Bit(s)	Description	(Table 01212)
 7	Enable COM4
 6	Enable COM3
 5	Enable COM3
 4	Enable COM1
 3	Enable Secondary FDC
 2	Enable Primary FDC
 1	Enable Secondary IDE
 0	Enable Promary IDE
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Bitfields for Intel 82371MX Event Enable 6 register:
Bit(s)	Description	(Table 01213)
 7	Enable Audio-E
 6	Enable Audio-D
 5	Enable Audio-C
 4	Enable Audio-B
 3	Enable Audio-A
 2	Enable Parallel 3
 1	Enable Parallel 2
 0	Enable Parallel 1
SeeAlso: #01168,PORT xxxxh"Intel 82371"

Format of PCI Configuration for Intel 82371FB/82371SB Function 1 (IDE):
Offset	Size	Description	(Table 01214)
 00h 64 BYTEs	header (see #00878)
		(vender ID 8086h, device ID 1230h/7010h)
 20h	DWORD	Bus Master Interface Base Address
		(see PORT xxxxh"Intel 82371SB")
 40h	WORD	IDE timing modes, primary channel (see #01223)
 42h	WORD	IDE timing modes, secondary channel (see #01223)
 44h	BYTE	(82371SB) slave IDE timing register (see #01224)
 45h 187 BYTEs	reserved
SeeAlso: #01167,#01215,PORT xxxxh"Intel 82371SB"

Format of PCI Configuration data for Intel 82371SB Function 2 (USB):
Offset	Size	Description	(Table 01215)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 7020h)
 20h	DWORD	I/O space base address
		(see PORT xxxxh"Intel 82371SB")
 40h 32 BYTEs	reserved
 60h	BYTE	Serial Bus Specification release number
		00h pre-release 1.0
		10h Release 1.0
 61h  9 BYTEs	reserved
 6Ah	WORD	miscellaneous status (see #01225)
 6Ch 84 BYTEs	reserved
 C0h	WORD	legacy support (see #01226)
 C2h 62 BYTEs	reserved
SeeAlso: #01167,#01214,PORT xxxxh"Intel 82371SB"

Bitfields for Intel 82371FB/82371SB top of memory register:
Bit(s)	Description	(Table 01216)
 7-4	top of ISA memory (in megabytes, less 1; i.e. 0001 = 2M)
 3	ISA/DMA lower BIOS forwarding enable
 2	(82371SB) enable A000/B000 segment forwarding to PCI bus
 1	enable forwarding ISA/DMA 512K-640K region to PCI bus
 0	reserved
SeeAlso: #01167,#01217

Bitfields for Intel 82371FB/82371SB miscellaneous status register:
Bit(s)	Description	(Table 01217)
 15	(82371SB) enable SERR# on delayed transaction
	write 1 to clear this bit
 14-8	reserved
 7	(82371SB) NB Retry Enable
 6	(82371SB) EXTSMI# Mode Enable
	allow special SERR# protocol between PCI bridge and 82371
 5	reserved
 4	(82371SB) enable USB
	disable USB's master enable and I/O decode enable prior to
	 clearing this bit!
 3	reserved
 2	(82371FB) PCI Header Type Bit enable
	=1 report multifunction device in PCI configuration header
 1	(82371FB) internal ISA DMA/external DMA Mode status (read-only)
	=0 normal DMA operation
 0	(82371FB) ISA Clock Divisor status (read-only)
	(82371SB) ISA Clock Divisor (read-write)
	=1 SYSCLK clock divisor is 3
	=0 SYSCLK clock divisor is 4
SeeAlso: #01167,#01216

Bitfields for Intel 82371FB/82371SB/82371MX motherboard IRQ Route Control:
Bit(s)	Description	(Table 01218)
 7	disable IRQ routing
 6	enable MIRQx/IRQx sharing
 5	(82371SB only) enable IRQ0 output
 4	reserved (0)
 3-0	ISA IRQ number to which to route the PCI IRQ
Notes:	IRQs 0-2, 8, and 13 are reserved
	interrupt sharing should only be enabled when the device connected to
	  the MIRQ line and the device connected to the IRQ line both produce
	  active high, level triggered interrupts.
SeeAlso: #01167,#01168,#01216,#01219

Bitfields for Intel 82371FB/82371SB/82371MX motherboard DMA control:
Bit(s)	Description	(Table 01219)
 7	type F DMA buffer enable
 6-4	reserved
 3	(82371FB only) disable motherboadr DMA channel
	(SB/MX) reserved (0)
 2-0	DMA channel number (100 = disabled [default])
	(82371FB) Type F and Motherboard DMA
	(82371SB/MX) Type F DMA
SeeAlso: #01167,#01168,#01218

Bitfields for Intel 82371FB/83271SB programmable chip select control register:
Bit(s)	Description	(Table 01220)
 15-2	I/O address which will assert PCS# signal
 1-0	PCS address mask
	00 four bytes
	01 eight contiguous bytes
	10 disabled
	11 sixteen contiguous bytes
SeeAlso: #01167,#01219,#01221

Bitfields for Intel 82371SB Deterministic Latency Control register:
Bit(s)	Description	(Table 01221)
 7-4	reserved
 3	enable SERR# on delayed transaction timeout
 2	enable USB passive release
 1	enable passive release
 0	enable delayed transactions
SeeAlso: #01167,#01220

Bitfields for Intel 82371FB/82371SB SMI Control Register:
Bit(s)	Description	(Table 01222)
 7-5	reserved
 4-3	Fast-Off Timer freeze/granularity selection
	00 one minute granularity (assuming 33 MHz PCICLK)
	01 disabled (frozen)
	10 one PCICLK
	11 one millisecond
 2	STPCLK# scaling enable
	=1 enable Clock Scale bytes in PCI configuration space
 1	STPCLK# signal enable
	=1 assert STPCLK# on read from PORT 00B2h
 0	SMI# Gate
	=1 enable SMI# on system management interrupt
Notes:	bit 1 is cleared either with an explicit write of 0 here, or by any
	  write to PORT 00B2h
	bit 0 does not affect the recording of SMI events, so a pending SMI
	  will cause an immediate SMI# when the bit is set
SeeAlso: #01167,#01079

Bitfields for Intel 82371FB/82371SB/82371MX IDE timing modes:
Bit(s)	Description	(Table 01223)
 15	IDE decode enable
 14	(82371SB) slave IDE timing register enable (see #01224)
	(82371MX) primary/secondary address decode (=0 primary, =1 secondary)
 13-12	IORDY# sample point
	00 five clocks after DIOx# assertion
	01 four clocks
	10 three clocks
	11 two clocks
 11-10	reserved
 9-8	recovery time between IORDY# sample point and DIOx#
	00 four clocks
	01 three clocks
	10 two clocks
	11 one clock
 7	(FB/SB) DMA timing enable only, drive 1
	(MX) reserved
 6	prefetch and posting enable, drive 1
 5	IORDY# sample point enable drive select 1
 4	fast timing bank drive select 1
 3	(FB/SB) DMA timing enable only, drive 0
	(MX) reserved
 2	prefetch and posting enable, drive 0
 1	IORDY# sample point enable drive select 0
 0	fast timing bank drive select 0
SeeAlso: #01214,#01168

Bitfields for Intel 82371SB slave IDE timing register:
Bit(s)	Description	(Table 01224)
 7-6	secondary drive 1 IORDY# sample point
	00 five clocks after DIOx# assertion
	01 four clocks
	10 three clocks
	11 two clocks
 5-4	secondary drive 1 recovery time
	00 four clocks
	01 three clocks
	10 two clocks
	11 one clock
 3-2	primary drive 1 IORDY# sample point
 1-0	primary drive 1 recovery time
SeeAlso: #01223

Bitfields for Intel 82371SB miscellaneous status:
Bit(s)	Description	(Table 01225)
 15-1	reserved
 0	USB clock selection
	=1 48 MHz
	=0 24 MHz
SeeAlso: #01215,#01226

Bitfields for Intel 82371SB legacy support register:
Bit(s)	Description	(Table 01226)
 15	A20GATE pass-through sequence ended
	write 1 to clear this bit
 14	reserved
 13	USB PIRQ enabled
 12	USR IRQ status (read-only)
 11	trap caused by write to PORT 0064h
	write 1 to clear this bit
 10	trap caused by read from PORT 0064h
	write 1 to clear this bit
 9	trap caused by write to PORT 0060h
	write 1 to clear this bit
 8	trap caused by read from PORT 0060h
	write 1 to clear this bit
 7	enable SMI at end of A20GATE Pass-Through
 6	A20GATE pass-through sequence in progress (read-only)
 5	enable A20GATE pass-through sequence
	(write PORT 64h,D1h; write 60h,xxh; read 64h; write 64h,FFh)
 4	enable trap/SMI on USB IRQ
 3	enable trap/SMI on PORT 0064h write
 2	enable trap/SMI on PORT 0064h read
 1	enable trap/SMI on PORT 0060h write
 0	enable trap/SMI on PORT 0060h read
SeeAlso: #01215,#01225

Format of PCI Configuration Data for Intel 82557:
Offset	Size	Description	(Table 01227)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 1229h) (see #00873)
 10h	DWORD	base address of memory-mapped Control/Status Registers (4K)
		(see #01228)
 14h	DWORD	base address of I/O-mapped Control/Status Registers (32 ports)
 18h	DWORD	base address of Flash memory (1M)
 40h 192 BYTEs	unused
SeeAlso: #01098

Format of Intel 82557 Control/Status Registers:
Offset	Size	Description	(Table 01228)
 00h	WORD	SCB status word
 02h	WORD	SCB command word
 04h	DWORD	SCB general pointer
 08h	DWORD	PORT
 0Ch	WORD	Flash control register
 0Eh	WORD	EEPROM control register
 10h	DWORD	MDI control register
 14h	DWORD	Early RCV Interrupt Rx byte count (RXBC) register
Note:	see www.intel.com/design/network/datashts/64434604.pdf for additional
	  details
SeeAlso: #01228

Format of PCI Configuration Data for Intel 82441FX:
Offset	Size	Description	(Table 01229)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 1237h) (see #00873)
 40h 16 BYTEs	reserved
 50h	WORD	PMC Configuration (see #01230)
 52h	BYTE	deturbo counter control
		when deturbo mode is selected (see PORT 0CF9h), the chipset
		  places a hold on the memory bus for a fraction of the
		  time inversely proportional to the value in this register
		  (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
 53h	BYTE	DBX buffer control (see #01231)
 54h	BYTE	auxiliary control (see #01232)
 55h	WORD	DRAM Row Type (see #01233)
 57h	BYTE	DRAM Control (see #01234)
 58h	BYTE	DRAM Timing (see #01235)
 59h  7 BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h  8 BYTEs	DRAM Row Buondary registers 0-7
		each register N indicates cumulative amount of memory in rows
		  0-N (each 64 bits wide), in 8M units
 68h	BYTE	Fixed DRAM Hole Control
 69h  7 BYTEs	reserved
 70h	BYTE	Multi-Transaction Timer
		number of PCLKs guaranteed to the current agent before the
		  82441 will grant the bus to another PCI agent on request
 71h	BYTE	CPU Latency Timer (see #01236)
 72h	BYTE	System Management RAM control (see #01123)
 73h 29 BYTEs	reserved
 90h	BYTE	Error Command (see #01237)
 91h	BYTE	Error Status (see #01238)
 92h	BYTE	reserved
 93h	BYTE	Turbo Reset Control (see #01239)
 94h 108 BYTEs	reserved
SeeAlso: #01098,#01108

Bitfields for Intel 82441FX PMC Configuration Register:
Bit(s)	Description	(Table 01230)
 15	WSC Protocol Enable
 14	Row Select/Extra Copy select (read-only)
	=1 pins on PMC configured as two additional row selects (6/7)
	=0 extra copy of two lowest memory address bits enabled
 13-10	reserved
 9-8	host frequence select
	00 reserved
	01 60 MHz
	10 66 MHz
	11 reserved
 7	reserved
 6	ECC/Parity TEST enable
 5-4	DRAM Data Integrity Mode
	00 no parity/ECC
	01 parity generated and checked
	10 ECC generated and checked, correction disabled
	10 ECC generated and checked, correction enabled
 3	reserved
 2	In-Order Queue size (0=one, 1=four)
 1-0	reserved
SeeAlso: #01229,#01231

Bitfields for Intel 82441FX DBX buffer control register:
Bit(s)	Description	(Table 01231)
 7	enable delayed transactions
 6	enable CPU-to-PCI IDE posting
 5	enable USWC Write Post during I/O Bridge access
 4	disable PCI Delayed Transaction timer
 3	enable CPU-to-PCI Write Post
 2	enable PCI-to-DRAM pipeline
 1	enable PCI Burst Write Combining
 0	enable Read-Around-Write
SeeAlso: #01229,#01230

Bitfields for Intel 82441FX auxiliary control register:
Bit(s)	Description	(Table 01232)
 7	enable RAS precharge
 6-2	reserved
 1	Lower Memory Address Buffer Set A
	=0 8mA
	=1 12mA
 0	reserved
SeeAlso: #01229

Bitfields for Intel 82441FX DRAM Row Type register:
Bit(s)	Description	(Table 01233)
 15-14	row 7 DRAM type
 13-12	row 6 DRAM type
 11-10	row 5 DRAM type
 9-8	row 4 DRAM type
 7-6	row 3 DRAM type
 5-4	row 2 DRAM type
 3-2	row 1 DRAM type
 1-0	row 0 DRAM type
	00 fast page-mode DRAM
	01 EDO DRAM
	10 BEDO DRAM
	11 empty row
SeeAlso: #01229,#01234

Bitfields for Intel 82441FX DRAM Control register:
Bit(s)	Description	(Table 01234)
 7	reserved
 6	enable DRAM Refresh Queue
 5	enable DRAM EDO Auto-Detect Mode
 4	DRAM Refresh Type
	=0 CAS before RAS
	=1 RAS only
 3	reserved
 2-0	DRAM refresh rate
	000 disabled
	001 normal (as set by PMCCFG register)
	01x reserved
	1xx reserved
	111 fast refresh (every 32 host clocks)
SeeAlso: #01229,#01233,#01235

Bitfields for Intel 82441FX DRAM Timing register:
Bit(s)	Description	(Table 01235)
 7	reserved
 6	enable WCBR Mode
 5-4	DRAM Read Burst Timing
		BEDO	EDO	FPM
	00	x333	x444	x444
	01	x222	x333	x444
	10	x222	x222	x333
	11	res.	res.	res.
 3-2	DRAM Write Burst Timing
		(B)EDO	FPM
	00	x444	x444
	01	x333	x444
	10	x333	x333
	11	x222	x333
 1	RAS-to-CAS delay
	=1 one clock
	=0 zero clocks
 0	insert one MA Wait State
SeeAlso: #01229,#01234

Bitfields for Intel 82441FX CPU Latency Timer register:
Bit(s)	Description	(Table 01236)
 7-5	reserved
 4-0	snoop stall count value
SeeAlso: #01229

Bitfields for Intel 82441FX Error Command register:
Bit(s)	Description	(Table 01237)
 7-5	reserved
 4	enable SERR# on receiving Target Abort
 3	enable SERR# on PCI Parity Error (PERR#)
 2	reserved
 1	enable SERR# on receiving multiple-bit ECC/Parity error
 0	enable SERR# on receiving single-bit ECC error
SeeAlso: #01229,#01238

Bitfields for Intel 82441FX Error Status register:
Bit(s)	Description	(Table 01238)
 7-5	DRAM row causing first multi-bit error (read-only)
 4	multiple-bit uncorrectable error detected
	write 1 to this bit to clear it
 3-1	DRAM row causing first single-bit error (read-only)
 0	single-bit correctable ECC error detected
	write 1 to this bit to clear it
SeeAlso: #01229,#01237

Bitfields for Intel 82441FX,82443EX/LX Turbo Reset Control register:
Bit(s)	Description	(Table 01239)
 7-4	reserved
 3	enable BIST on hard reset
 2	reset CPU
 1	reset mode (0 = soft reset, 1 = hard reset)
 0	deturbo mode (82441FX)
	reserved (82443EX/LX)
Note:	BIST should not be enabled during a soft reset
SeeAlso: #01229,#01129,PORT 0CF9h

Format of PCI Configuration data for Intel 82454KX/GX:
Offset	Size	Description	(Table 01240)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 8086h, device ID 84C4h)
!!!intel\29052301.pdf pg. 40
 40h	DWORD	top of system memory
 44h  4 BYTEs	reserved
 48h	BYTE	PCI decode mode
 49h	BYTE	bridge device number
 4Ah	BYTE	PCI bus number
 4Bh	BYTE	PCI subordinate bus number
 4Ch	BYTE	PB configuration
 4Dh  4 BYTEs	reserved
 51h	BYTE	deturbo counter control
 52h	BYTE	reserved
 53h	BYTE	CPU read/write control
 54h	WORD	PCI read/write control
 56h	BYTE	reserved
 57h	BYTE	SMM Enable
 58h	BYTE	video buffer area enable
 59h  7 BYTEs	Programmable Attribute Map registers 0-6 (see #01118)
 60h 16 BYTEs	reserved
 70h	BYTE	Error Command
 71h	BYTE	Error Status
 72h  6 BYTEs	reserved
 78h	WORD	memory gap range
 7Ah	WORD	memory gap upper address
 7Ch	DWORD	PCI frame buffer
 80h  8 BYTEs	reserved
 88h	DWORD	high memory gap start address
 8Ch	DWORD	high memory gap end address
 90h  8 BYTEs	reserved
 98h	DWORD	(GX only) I/O Space Range #1
 9Ch	BYTE	PCI reset
 9Dh  3 BYTEs	reserved
 A0h	DWORD	(GX only) I/O Space Range #2
 A4h	DWORD	I/O APIC range
 A8h  8 BYTEs	reserved
 B0h	WORD	configuration values driven on reset
 B2h  2 BYTEs	reserved
 B4h	WORD	captured system configuration values (read-only)
 B6h  2 BYTEs	reserved
 B8h	DWORD	SMM range
 BCh	BYTE	high BIOS register
 BDh  3 BYTEs	reserved
 C0h	DWORD	PB Extended Error Reporting Command
 C4h	DWORD	PB Extended Error Reporting Status
 C8h	DWORD	PB Retry Timers
 CCh 52 BYTEs	reserved
SeeAlso: #00878

Top
1AB10ASF9004 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Adaptec devices)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (Adaptec devices)
	AX = B10Ah subfn 9004h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh) (see #01241)
Return: CF clear if successful
	    ECX = dword read
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Ah/SF=8086h

Format of PCI Configuration Data for AIC-78xx PCI SCSI controllers:
Offset	Size	Description	(Table 01241)
 00h 64 BYTEs	header (see #00878)
		(vendor ID 9004h) (see #00875 for device ID)
 40h	WORD	device configuration register (DEVCONFIG) (see #01242)
SeeAlso: #00734,PORT xxxxh"Adaptec AIC-78xx"

Bitfields for AIC-78xx device configuration register (DEVCONFIG):
Bit(s)	Description	(Table 01242)
 15-11	reserved
 10	(AIC-787x+) multi-port mode (MPORTMODE)
 9	(AIC-787x+) external SRAM present? (RAMPSM)
 8	"VOLSENSE"
 7	SCB RAM select (SCBRAMSEL)
 6	"MRDCEN"
 5	(AIC-787x+) external SCB SRAM access time  (EXTSCBTIME)
 4	(AIC-787x+) external SCB SRAM parity enable (EXTSCBPEN)
 3	"BERREN"
 2	"DACEN"
 1	SCSI terminator power level (STPWLEVEL)
 0	(AIC-787x+) differential active negation enable (DIFACTNEGEN)
Note:	clearing bit 7 allows access to the external SCB SRAM
SeeAlso: #01241

Top
1AB10B - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE
INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE
	AX = B10Bh
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh)
	CL = byte to write
Return: CF clear if successful
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B108h,AX=B10Ch,AX=B10Dh,AX=B18Bh,INT 2F/AX=1684h/BX=304Ch

Top
1AB10C - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD
INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD
	AX = B10Ch
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (multiple of 2 less than 0100h)
	CX = word to write
Return: CF clear if successful
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B109h,AX=B10Bh,AX=B10Dh,AX=B18Ch,INT 2F/AX=1684h/BX=304Ch

Top
1AB10D - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD
INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD
	AX = B10Dh
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (multiple of 4 less than 0100h)
	ECX = dword to write
Return: CF clear if successful
	CF set on error
	AH = status (00h,87h) (see #00729)
	EAX, EBX, ECX, and EDX may be modified
	all other flags (except IF) may be modified
Notes:	this function may require up to 1024 byte of stack; it will not enable
	  interrupts if they were disabled before making the call
	the meanings of BL and BH on entry were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B10Bh,AX=B10Ch,AX=B18Dh,INT 2F/AX=1684h/BX=304Ch

Top
1AB10EBX0000 - INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION
INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION
	AX = B10Eh
	BX = 0000h
	DS = segment/selector for PCI BIOS data
	    (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
	    specified by BIOS32 services directory)
	ES:(E)DI -> IRQ routing table header (see #01259 at AX=B406h)
Return: CF clear if successful
	    AH = 00h
	    BX = bit map of IRQ channels permanently dedicated to PCI
	    WORD ES:[DI] = size of returned data
	CF set on error
	    AH = error code (59h) (see #01243)
	    WORD ES:[DI] = required size of buffer
SeeAlso: AX=B10Fh,AX=B406h,INT 2F/AX=1684h/BX=304Ch

Top
1AB10F - INT 1A - PCI BIOS v2.1+ - SET PCI IRQ
INT 1A - PCI BIOS v2.1+ - SET PCI IRQ
	AX = B10Fh
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	CH = number of IRQ to connect
	CL = number of interrupt pin (0Ah=INTA# to 0Dh=INTD#) to reprogram
	DS = segment/selector for PCI BIOS data
	    (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
	    specified by BIOS32 services directory)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (59h) (see #01243)
Note:	assumes that the calling application has determined the IRQ routing
	  topology (see AX=B10Eh), has ensured that the selected IRQ will not
	  cause a conflict, and will update the interrupt line configuration
	  register on all devices which currently use the IRQ line
SeeAlso: AX=B10Eh

Top
1AB181 - INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK (32-bit)
INT 1A - PCI BIOS v2.0c+ - INSTALLATION CHECK (32-bit)
	AX = B181h
Return: as for AX=B101h
SeeAlso: AX=B101h

Top
1AB182 - INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE (32-bit)
INT 1A - PCI BIOS v2.0c+ - FIND PCI DEVICE (32-bit)
	AX = B182h
	CX = device ID (see #00735,#00742,#00743,#00873,#00875)
	DX = vendor ID (see #00732 at AX=B102h)
	SI = device index (0-n)
Return: as for AX=B102h
SeeAlso: AX=B102h

Top
1AB183 - INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE (32-bit)
INT 1A - PCI BIOS v2.0c+ - FIND PCI CLASS CODE (32-bit)
	AX = B183h
	ECX = class code (bits 23-0)
	SI = device index (0-n)
Return: as for AX=B103h
SeeAlso: AX=B103h

Top
1AB186 - INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS (32-bit)
INT 1A - PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS (32-bit)
	AX = B186h
	BH = bus number
	EDX = Special Cycle data
Return: as for AX=B106h
Note:	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B106h

Top
1AB188 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE (32-bit)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION BYTE (32-bit)
	AX = B188h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh)
Return: as for AX=B108h
Note:	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B108h,AX=B189h,AX=B18Ah

Top
1AB189 - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD (32-bit)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION WORD (32-bit)
	AX = B189h
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh)
Return: as for AX=B109h
Note:	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B109h,AX=B188h,AX=B18Ah

Top
1AB18A - INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (32-bit)
INT 1A - PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (32-bit)
	AX = B18Ah
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh)
Return: as for AX=B10Ah
Note:	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ah,AX=B188h,AX=B189h

Top
1AB18B - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE (32-bit)
INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE (32-bit)
	AX = B18Bh
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (0000h-00FFh)
	CL = byte to write
Return: as for AX=B10Bh
Note:	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Bh,AX=B18Ch,AX=B18Dh

Top
1AB18C - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD (32-bit)
INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD (32-bit)
	AX = B18Ch
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (multiple of 2 less than 0100h)
	CX = word to write
Return: as for AX=B10Ch
Note:	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Ch,AX=B18Bh,AX=B18Dh

Top
1AB18D - INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD (32-bit)
INT 1A - PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD (32-bit)
	AX = B18Dh
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	DI = register number (multiple of 4 less than 0100h)
	ECX = dword to write
Return: as for AX=B10Dh
Note:	the meanings of BL and BH on return were exchanged between the initial
	  drafts of the specification and final implementation
SeeAlso: AX=B10Dh,AX=B18Bh,AX=B18Ch

Top
1AB18EBX0000 - INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION (32-bit)
INT 1A - PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION (32-bit)
	AX = B18Eh
	BX = 0000h
	DS = segment/selector for PCI BIOS data
	    (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
	    specified by BIOS32 services directory)
	ES:(E)DI -> IRQ routing table header (see #01259 at AX=B406h)
Return: CF clear if successful
	    AH = 00h
	    BX = bit map of IRQ channels permanently dedicated to PCI
	    WORD ES:[DI] = size of returned data
	CF set on error
	    AH = error code (59h) (see #01243)
	    WORD ES:[DI] = required size of buffer
SeeAlso: AX=B10Fh,AX=B406h,INT 2F/AX=1684h/BX=304Ch

Top
1AB18F - INT 1A - PCI BIOS v2.1+ - SET PCI IRQ (32-bit)
INT 1A - PCI BIOS v2.1+ - SET PCI IRQ (32-bit)
	AX = B18Fh
	BH = bus number
	BL = device/function number (bits 7-3 device, bits 2-0 function)
	CH = number of IRQ to connect
	CL = number of interrupt pin (0Ah=INTA# to 0Dh=INTD#) to reprogram
	DS = segment/selector for PCI BIOS data
	    (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
	    specified by BIOS32 services directory)
Return: CF clear if successful
	    AH = 00h
	CF set on error
	    AH = error code (59h) (see #01243)
Note:	assumes that the calling application has determined the IRQ routing
	  topology (see AX=B10Eh), has ensured that the selected IRQ will not
	  cause a conflict, and will update the interrupt line configuration
	  register on all devices which currently use the IRQ line
SeeAlso: AX=B10Eh

Top
1AB2 - INT 1A - Reserved For PCI
INT 1A - Reserved For PCI
	AH = B2h

Top
1AB3 - INT 1A - Reserved For PCI
INT 1A - Reserved For PCI
	AH = B3h

Top
1AB400 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - INSTALLATION CHECK
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - INSTALLATION CHECK
	AX = B400h
Return: CF clear if installed
	AX = 0000h if installed
	    BH = ACFG major version (02h)
	    BL = ACFG minor version (08h)
	    CX = ??? (0002h)
	    EDX = 47464341h ('GFCA', which is byte-swapped 'ACFG')
	    SI = ??? (001Fh)
SeeAlso: AX=B401h,AX=B402h,AX=B403h,AX=B404h,AX=B405h,AX=B406h,AX=B407h
SeeAlso: @xxxxh:xxxxh"Plug-and-Play"

(Table 01243)
Values for Intel Plug-and-Play AUTO-CONFIGURATION error codes:
 0000h	successful
 0001h	specified action could not be completed
 0051h	???
 0055h	unable to read/write configuration table from/to nonvolatile storage
 0056h	not a valid configuration table or wrong table version
 0059h	buffer too small
 0081h	unsupported function
 FFFFh	???
SeeAlso: #F0081

Top
1AB401 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET DEFAULT CONFIG TABLE
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET DEFAULT CONFIG TABLE
	AX = B401h
Return: CF clear if successful
	    AX = 0000h
	    BX = maximum size of configuration table in bytes
	    CX = required configuration buffer size
		(includes scratch space used by ACFG code)
	    EDI = linear/physical address of ESCD table (see #01244)
	CF set on error
	    AX = error code (see #01243)
SeeAlso: AX=B400h,AX=B402h,@xxxxh:xxxxh"Plug-and-Play"

Format of Intel Plug-and-Play Extended System Configuration Data table:
Offset	Size	Description	(Table 01244)
 00h	WORD	total length of this table
 02h  4 BYTEs	signature "ACFG"
 06h	BYTE	minor version number
 07h	BYTE	major version number (currently 02h)
 08h	BYTE	number of boards listed in the configuration data
 09h  3 BYTEs	reserved (00h)
 0Ch	var	board data
	WORD	checksum
Notes:	this table contains information about the standard devices in the
	  system, such as serial ports, parallel ports, etc.  For each device,
	  it includes at least the I/O port address (03F8h,02F8h,0378h,etc).
	the sum of all words in the table, including the checksum field (with
	  implied zero padding if the length is odd), must equal 0000h
SeeAlso: #01245

Format of Extended System Configuration Data Board Header:
Offset	Size	Description	(Table 01245)
 00h	WORD	length of this header in bytes
 02h	BYTE	slot number
		00h motherboard
		01h-0Fh ISA/EISA
		10h-40h	PCI
 03h	BYTE	reserved (00h)
SeeAlso: #01244,#01246

Format of Extended System Configuration Data Freeform Board Header:
Offset	Size	Description	(Table 01246)
 00h  4 BYTEs	signature "ACFG"
 04h	BYTE	minor version number
 05h	BYTE	major version number (currently 02h)
 06h	BYTE	board type
		01h ISA
		02h EISA
		04h PCI
		08h PCMCIA
		10h PnPISA
		20h MCA
 07h	BYTE	reserved (00h)
 08h	WORD	disabled functions (bit N set = function N disabled)
 0Ah	WORD	configuration error functions
 0Ch	WORD	reconfigurable functions (bit N set = function N reconfig'able)
 0Eh  2 BYTEs	reserved (00h)
SeeAlso: #01249,#01250

Format of Extended System Configuration Data Freeform PCI Device Data:
Offset	Size	Description	(Table 01247)
 00h	BYTE	PCI bus number
 01h	BYTE	PCI device and function number
 02h	WORD	PCI device identifier
 04h	WORD	PCI vendor ID (see #00732 at INT 1A/AX=B102h)
 06h  2 BYTEs	reserved (00h)
SeeAlso: #01247,#01250

Format of Extended System Configuration Data Freeform PnP ISA Board ID:
Offset	Size	Description	(Table 01248)
 00h	DWORD	vendor ID (EISA device identifier)
 04h	DWORD	serial number
SeeAlso: #01248,#01249

Format of Extended System Configuration Data PnP ISA ECD Extension Function:
Offset	Size	Description	(Table 01249)
 00h	WORD	001Eh (length of this structure)
 02h	BYTE	01h (selection size)
 03h	BYTE	00h (selection data)
 04h	BYTE	C0h (function information byte) (see #01252)
 05h	BYTE	18h (size of following free-format data)
 06h 16 BYTEs	freeform board header (see #01246)
 16h  8 BYTEs	Plug-and-Play board ID (see #01248)
Note:	ECD = Extended Configuration Data; this structure must be the last
	  "function" for a particular ISA Plug-and-Play board
SeeAlso: #01250

Format of Extended System Configuration Data PCI ECD Extension Function:
Offset	Size	Description	(Table 01250)
 00h	WORD	length of this structure (at least 001Eh, up to 0056h)
 02h	BYTE	01h (selection size)
 03h	BYTE	00h (selection data)
 04h	BYTE	C0h (function information byte) (see #01252)
 05h	BYTE	size of following free-format data (at least 18h, max 50h)
 06h 16 BYTEs	freeform board header (see #01246)
 16h 8N BYTEs	PCI board ID (see #01247) for one to eight boards
Notes:	ECD = Extended Configuration Data; this structure must be the last
	  "function" for a particular PCI board
	AMI BIOS v1.00.05.AX1 sets the length field to 001Ch for entries with
	  a single board ID, apparently treating the field as the length of
	  the remainder of the structure instead of the full structure's length
SeeAlso: #01249

Bitfields for EISA ID and Slot Information:
Bit(s)	Description	(Table 01251)
 3-0	selector among duplicate configuration file names (0000 if no dups)
 5-4	slot type
	00 expansion slot
	01 embedded
	10 virtual slot
	11 reserved
 6	ID is readable
 7	duplicate IDs present
 8	board can be disabled
 9	IOCHKERR supported
 10	board or entries locked
 13-11	reserved
 14	board does not have or need configuration file
 15	configuration not complete
SeeAlso: #01252

Bitfields for EISA Function Information:
Bit(s)	Description	(Table 01252)
 0	subtype data
 1	memory information (see #01253)
 2	IRQ information (see #01255)
 3	DMA information (see #01256)
 4	port range information (see #01257)
 5	port initialization data (see #01258)
 6	free form data
 7	function disabled
SeeAlso: #01249,#01250,#01251

Format of EISA Memory Information:
Offset	Size	Description	(Table 01253)
 00h	WORD	memory information flags (see #01254)
 02h  3 BYTEs	high 24 bits of memory start address (LSB first)
 05h	WORD	memory size in K (0000h = 65536K)
SeeAlso: #01252

Bitfields for EISA Memory Information Flags:
Bit(s)	Description	(Table 01254)
 0	writable (RAM rather than ROM)
 1	cached
 2	write-back cache rather than write-through
 4-3	memory type
	00 system
	01 expantion
	10 virtual
	11 other
 5	shared
 6	reserved (0)
 7	more entries follow
 9-8	memory width
	00 byte
	01 word
	10 dword
	11 reserved
 11-10	decoded address lines
	00 = 20
	01 = 24
	10 = 32
	11 reserved
 15-12	reserved (0)
SeeAlso: #01253

Bitfields for EISA IRQ Information:
Bit(s)	Description	(Table 01255)
 3-0	IRQ number
 4	reserved (0)
 5	IRQ triggering (0 = edge, 1 = level)
 6	IRQ is shareable
 7	more entries follow
 15-8	reserved (0)
SeeAlso: #01252

Bitfields for EISA DMA Information:
Bit(s)	Description	(Table 01256)
 2-0	DMA channel number
 5-3	reserved (0)
 6	shareable
 7	more entries follow
 9-8	reserved
 11-10	DMA transfer size
	00 byte
	01 word
	10 dword
	11 word, but count in bytes
 13-12	DMA timing
	00 ISA-compatible
	01 EISA type "A"
	10 EISA type "B"
	11 EISA type "C"/"F" (burst)
 15-14	reserved (0)
SeeAlso: #01252

Format of EISA Port Range Information:
Offset	Size	Description	(Table 01257)
 00h	BYTE	port description
		bits 4-0: number of sequential ports
		bit 5 reserved (0)
		bit 6: shareable
		bit 7: more entries follow
 01h	WORD	I/O port address
SeeAlso: #01252,#01258

Format of EISA Port Initialization Data:
Offset	Size	Description	(Table 01258)
 00h	BYTE	flags
		bits 1-0: port size
			00 byte
			01 word
			10 dword
			11 reserved
		bit 2: masked write
		bits 6-3 reserved (0)
		bit 7: more entries follow
 01h	???
SeeAlso: #01252,#01257

Top
1AB402 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - COPY AND VERIFY CONFIG TABLE
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - COPY AND VERIFY CONFIG TABLE
	AX = B402h
	DS:SI -> configuration table (see #01244)
	ES:DI -> buffer for copy of configuration table
Return: CF clear if successful
	    AX = 0000h
	CF set on error
	    AX = error code (0055h,0056h) (see #01243)
Note:	the buffer pointed at by ES:DI must be at least as large as the
	  maximum configuration table size reported by AX=B401h
SeeAlso: AX=B400h,AX=B401h,AX=B403h

Top
1AB403 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - STORE ESCD TABLE IN NVRAM
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - STORE ESCD TABLE IN NVRAM
	AX = B403h
	DS:SI -> configuration table (see #01244)
Return: CF clear if successful
	    AX = 0000h
	CF set on error
	    AX = error code (0055h) (see #01243)
Note:	sets the configuration table's checksum field, then copies the table
	  into nonvolatile storage (i.e. FlashROM)
SeeAlso: AX=B400h,AX=B402h

Top
1AB404 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET AVAILABLE IRQs???
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET AVAILABLE IRQs???
	AX = B404h
	BX = bitmap of IRQs being used???
Return: CF clear if successful
	    AX = 0000h
	    BX = available for ISA??? (not(BXin) & A127h)
	    CX = available for on-board I/O??? (not(BXin) & 40D8h)
	    DX = available for PCI??? (either not(BXin) & 0E00h or 0000h)
	CF set on error
	    AX = error code (0051h) (see #01243)
Note:	the various vector types have also been called "shareable",
	  "unshareable", and "avoidable"
SeeAlso: AX=B400h,INT 2F/AX=1684h/BX=304Ch

Top
1AB405 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET ???
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET ???
	AX = B405h
Return: AX = ??? (0008h)
SeeAlso: AX=B400h

Top
1AB406 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET PCI IRQ ROUTING TABLE
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - GET PCI IRQ ROUTING TABLE
	AX = B406h
	ES:DI -> IRQ routing table header (see #01259)
Return: CF clear if successful
	    AX = 0000h
	    WORD ES:[DI] = size of returned data
	CF set on error
	    AX = error code (0059h) (see #01243)
	    WORD ES:[DI] = required size of buffer
SeeAlso: AX=B400h,AX=B404h,AX=B10Eh,INT 2F/AX=1684h/BX=304Ch

Format of Intel Plug-and-Play AUTO-CONFIGURATION PCI IRQ routing header:
Offset	Size	Description	(Table 01259)
 00h	WORD	length of IRQ routing table buffer
 02h	DWORD	-> IRQ routing table array buffer (see #01260)

Format of Intel Plug-and-Play ACFG PCI IRQ routing table entry [array]:
Offset	Size	Description	(Table 01260)
 00h	BYTE	PCI bus number
 01h	BYTE	PCI device number (bits 7-3)
 02h	BYTE	link value for INTA#
		(if non-zero, wire-ORed together with any other PCI interrupts
		  with same link value)
 03h	WORD	IRQ connectivity bit map for INTA#
		(standard AT IRQs to which PCI interrupt can be routed)
 05h	BYTE	link value for INTB#
 06h	WORD	IRQ connectivity bit map for INTB#
 08h	BYTE	link value for INTC#
 09h	WORD	IRQ connectivity bit map for INTC#
 0Bh	BYTE	link value for INTD#
 0Ch	WORD	IRQ connectivity bit map for INTD#
 0Eh	BYTE	(PCI BIOS v2.1+) device slot number (00h = motherboard)
 0Fh	BYTE	reserved
Note:	each item in the routing table corresponds to a motherboard PCI
	  device or PCI slot
SeeAlso: #01259,#M0091

Top
1AB407 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - ???
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - ???
	AX = B407h
	EDX = length of ???
	EDI = physical address of ???
Return: CF clear if successful
	    AX = 0000h
	    EDX = ???
	    EDI = ???
	CF set on error
	    AX = error code (FFFFh) (see #01243)
Notes:	returns error if EDI < 000C0000h or EDI+EDX > 00100000h
	seems to force EDI and EDX to align to 16K boundaries
SeeAlso: AX=B400h

Top
1AB4 - INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - 32-BIT API
INT 1A - Intel Plug-and-Play AUTO-CONFIGURATION - 32-BIT API
	AH = B4h
	AL = function (80h-87h)
	further details not yet available
Note:	these functions are 32-bit versions of functions 00h-07h

Top
1AC0 - INT 1A U - Disk Spool II v2.07+ - ALTERNATE INSTALLATION CHECK
INT 1A U - Disk Spool II v2.07+ - ALTERNATE INSTALLATION CHECK
	AH = C0h
Return: (see AH=A0h)
Notes:	this call is identical to AH=A0h
	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=A0h,AH=ABh,AH=D0h

Top
1ACCCCBXCCCC - INT 1A U - DATEFIX - INSTALLATION CHECK
INT 1A U - DATEFIX - INSTALLATION CHECK
	AX = CCCCh
	BX = CCCCh
	CX = 0000h
Return: CX = CCCCh if installed
	    ES:BX -> original interrupt handler
Program: DATEFIX is a public-domain TSR to correct the date on AT&T 6300
	  machines, where the realtime clock's calendar wraps after 1991
SeeAlso: AH=FEh,AH=FFh"AT&T"

Top
1AD0 - INT 1A U - Disk Spool II v2.07+ - FUNCTION CALLS
INT 1A U - Disk Spool II v2.07+ - FUNCTION CALLS
	AH = D0h
	AL = function code
	    01h enable spooler and despooler
	    02h enable spooler only
	    03h enable despooler at beginning of file
	    04h disable the despooler
	    05h disable the despooler and spooler
	    06h clear the spool file
	    08h inhibit the popup menu
	    09h enable the popup menu
	    0Ah ??? (called by Disk Spool's INT 21 handler)
	    0Bh disable the spooler
	    0Ch start despooler after last successfully printed document
	    0Dh start despooler at the exact point where it last left off
	    0Eh pop up the menu
	    0Fh ???
	    11h start new spool file??? (called by Disk Spool's INT 21 handler
			when a program terminates)
	    14h ???
	    15h delete despool file and reset ???
	    16h ??? (writes something to unknown file)
	    17h ??? (writes something to despool file, then reads something
			else and ???)
	    18h ??? (reads something from despool file, and then ???)
	    19h ??? (creates/truncates spool file)
	    20h clear file pointed to by the despooler
	    21h ??? (writes something to unknown file)
	    22h ??? (writes something to spool file if spooler/despooler using
			same file)
	    23h ??? (opens/creates unknown file, then ???)
	    30h ???
	    31h ???
	    32h beep
	    33h append CRLF to spool file???
	    34h ???
	    35h ???
	    36h ???
	    37h append CRLF to spool file and start a new spool file???
	    38h ???
	    40h ??? (v4.05)
	    41h ??? (v4.05)
	    51h ??? (called by Disk Spool's INT 21 handler)
	    52h ??? (called by Disk Spool's INT 21 handler)
	    57h ???
	    5Ah ??? (v4.05)
	    5Bh ??? (v4.05)
	    5Ch ??? (v4.05)
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=A0h,AH=ADh

Top
1AE0 - INT 1A - Disk Spool II v4.0x - ENABLE/DISABLE
INT 1A - Disk Spool II v4.0x - ENABLE/DISABLE
	AH = E0h
	AL = subfunction
	    01h enable spooler
	    02h disable spooler
	    03h enable despooler
	    04h disable despooler
	CL = printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
Return: AH = status
	    00h successful
	    F0h printer port not managed by Disk Spool II
	    FFH failed
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=A0h,AH=E1h,AX=E301h,AX=E401h

Top
1AE1 - INT 1A - Disk Spool II v4.0x - GET STATUS
INT 1A - Disk Spool II v4.0x - GET STATUS
	AH = E1h
	CL = printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
Return: AH = status
	    00h successful
		CL = despooler state (00h disabled, 41h enabled)
		CH = spooler state (00h disabled, 41h enabled)
		DL = despooler activity (00h standing by, 41h printing)
		ES:BX -> ASCIZ name of current spool file (or next if AutoSpool
			or AutoDespool enabled)
		ES:SI -> ASCIZ name of current despool file
		ES:DI -> 3-byte file extension used by Disk Spool II
	    F0h printer port not managed by Disk Spool II
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=A0h,AH=E0h,AH=E2h

Top
1AE11B - INT 1A - TheGrab v4.60 - ???
INT 1A - TheGrab v4.60 - ???
	AX = E11Bh
	???
Return: ??? (may destroy all registers)
SeeAlso: AX=E11Dh

Top
1AE11D - INT 1A - TheGrab v4.60 - INSTALLATION CHECK
INT 1A - TheGrab v4.60 - INSTALLATION CHECK
	AX = E11Dh
Return: ES:DI -> signature block (see #01261) if installed
	    CX = length of signature block (000Fh)
Program: TheGrab is a resident ANSI screen grabber bundled with TheDraw
SeeAlso: AX=E11Bh

Format of TheGrab signature block:
Offset	Size	Description	(Table 01261)
 00h	BYTE	08h
 01h  8 BYTEs	ASCIZ "THEGRAB"
 09h  6 BYTEs	??? (zeros)

Top
1AE2 - INT 1A - Disk Spool II v4.0x - GET SPOOL FILES
INT 1A - Disk Spool II v4.0x - GET SPOOL FILES
	AH = E2h
	AL = which
	    01h first
	    02h next (can only call after "first")
	CL = printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
Return: AH = status
	    00h successful
		ES:BX -> ASCIZ filename
	    F0h no (more) spool files
	    FFh failed
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=E0h,AH=E1h

Top
1AE301 - INT 1A - Disk Spool II v4.0x - GET SPOOL FILE STATUS
INT 1A - Disk Spool II v4.0x - GET SPOOL FILE STATUS
	AX = E301h
	ES:BX -> ASCIZ filename (max 32 chars)
Return: AH = status
	    00h successful
		ES:SI -> spool file status record (see #01262)
	    F0h not a spool file
	    FFh failed
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=E0h,AX=E302h,AX=E401h

Format of Disk Spool II spool file status record:
Offset	Size	Description	(Table 01262)
 00h	BYTE	hour of creation or last update
 01h	BYTE	minute of creation or last update
 02h	BYTE	year-1980 of creation or last update
 03h	BYTE	month of creation or last update
 04h	BYTE	day of creation or last update
 05h	BYTE	total number of copies to print
 06h	BYTE	number of copies already printed
 07h	BYTE	printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
 08h	BYTE	save status (00h delete after printing, 01h save)
 09h	BYTE	file status
		01h done printing, but being saved
		02h on hold
		03h queued for printing
		04h being spooled
		05h being despooled (i.e. printed)
 0Ah 16 BYTEs	ASCIZ description
 1Ah  2 WORDs	file size in bytes (high,low)
 1Eh  2 WORDs	bytes left to print (high,low)

Top
1AE302 - INT 1A - Disk Spool II v4.0x - UPDATE SPOOL FILE
INT 1A - Disk Spool II v4.0x - UPDATE SPOOL FILE
	AX = E302h
	ES:BX -> ASCIZ filename (max 32 chars)
	ES:SI -> spool file status record (see #01262)
Return: AH = status
	    00h successful
	    F0h not a spool file
	    FFh failed
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=E0h,AX=E301h,AX=E401h

Top
1AE401 - INT 1A - Disk Spool II v4.0x - SPOOL EXISTING FILE
INT 1A - Disk Spool II v4.0x - SPOOL EXISTING FILE
	AX = E401h
	ES:BX -> ASCIZ filename (max 32 chars)
	CL = printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
Return: AH = status
	    00h successful
	    FFh failed
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=E1h,AX=E302h,AX=E402h

Top
1AE402 - INT 1A U - Disk Spool II v4.0x - SPOOL EXISTING FILE???
INT 1A U - Disk Spool II v4.0x - SPOOL EXISTING FILE???
	AX = E402h
	ES:BX -> ASCIZ filename (max 32 chars)
	CL = printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
Return: AH = status
	    00h successful
	    FFh failed
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=E1h,AX=E302h,AX=E401h

Top
1AE5 - INT 1A U - Emulaser ELSPL.COM - ???
INT 1A U - Emulaser ELSPL.COM - ???
	AH = E5h
	???
Return: ???
Program: ELSPL.COM is a licensed version of Disk Spool II which is distributed
	  as part of Vertisoft's Emulaser PostScript emulator
SeeAlso: AH=A0h,INT 17/AH=03h

Top
1AEE - INT 1A U - Disk Spool II v4.05 - ???
INT 1A U - Disk Spool II v4.05 - ???
	AH = EEh
	AL = printer port???
	???
Return: ???
Note:	this function is also supported by Vertisoft's Emulaser utility ELSPL,
	  as that is a licensed version of Disk Spool II
SeeAlso: AH=E1h

Top
1AF7 - INT 1A - RighTime v1.1 - TEMPORARILY DISABLE
INT 1A - RighTime v1.1 - TEMPORARILY DISABLE
	AH = F7h
Program: RighTime is a TSR by G.T. Becker which continuously adjusts the
	  system time to correct for clock drift
Note:	any AH value from F0h-F7h or F9h-FEh will perform this function in
	  version 1.1, but F7h is the function called by transient portion
SeeAlso: AH=F8h,AH=FFh"RighTime"

Top
1AF8 - INT 1A - RighTime v1.1 - ENABLE
INT 1A - RighTime v1.1 - ENABLE
	AH = F8h
Program: RighTime is a TSR by G.T. Becker which continuously adjusts the
	  system time to correct for clock drift
Note:	RighTime is TeSseRact-compatible (see INT 2F/AX=5453h) and modifies its
	  TeSseRact program identifier based on its current state: "RighTime"
	  when enabled, "RighTim"F7h when disabled.
SeeAlso: AH=F7h,AH=FFh"RighTime"

Top
1AFE - INT 1A - AT&T 6300 - READ TIME AND DATE
INT 1A - AT&T 6300 - READ TIME AND DATE
	AH = FEh
Return: BX = day count (0 = Jan 1, 1984)
	CH = hour
	CL = minute
	DH = second
	DL = hundredths
SeeAlso: AX=CCCCh/BX=CCCCh,AH=FFh"AT&T",INT 21/AH=2Ah,INT 21/AH=2Ch

Top
1AFF - INT 1A - AT&T 6300 - SET TIME AND DATE
INT 1A - AT&T 6300 - SET TIME AND DATE
	AH = FFh
	BX = day count (0 = Jan 1, 1984)
	CH = hour
	CL = minute
	DH = second
	DL = hundredths
Return: ???
SeeAlso: AX=CCCCh/BX=CCCCh,AH=FEh,INT 21/AH=2Bh"DATE",INT 21/AH=2Dh

Top
1AFF - INT 1A - RighTime v1.1 - PERMANENTLY DISABLE
INT 1A - RighTime v1.1 - PERMANENTLY DISABLE
	AH = FFh
Program: RighTime is a TSR by G.T. Becker which continuously adjusts the
	  system time to correct for clock drift
Note:	upon being permanently disabled, RighTime closes the file handle
	  referencing its executable (which is updated with time correction
	  information every two minutes while RighTime is enabled).

Top
1AFF00 - INT 1A - SND - INSTALLATION CHECK???
INT 1A - SND - INSTALLATION CHECK???
	AX = FF00h
Return: AL = version??? (02h)
	AH = busy flag (00h if not in a SND call, 01h if SND currently active)
Note:	the SND API is also supported by IC (Internal Commands) v2.0, a
	  shareware TSR by Geoff Friesen which extends COMMAND.COM's internal
	  command set
SeeAlso: AX=FF01h,AX=FF02h,AX=FF04h,AX=FF05h

Top
1AFF01 - INT 1A - SND - PAUSE
INT 1A - SND - PAUSE
	AX = FF01h
	DX = number of clock ticks to delay
Return: AH = status
	    00h successful
	    01h SND busy
Notes:	if successful, execution returns to the caller after the delay expires;
	  if SND is busy, execution returns immediately
	the IC v2.0 implementation of this API makes no special allowance for
	  time rollover at midnight, which can cause the delay to be over one
	  hour if this function is called just before the BIOS time count
	  rolls over and the delay extends into the next day
SeeAlso: AX=FF00h,INT 15/AH=86h,INT 62/AX=0096h,INT 7F/AH=E8h,INT 80/BX=0009h
SeeAlso: INT E0/CL=BDh

Top
1AFF02 - INT 1A - SND - START SOUND
INT 1A - SND - START SOUND
	AX = FF02h
	DX = frequency in Hertz (14h-FFFFh)
Return: AH = status
	    00h successful
	    01h SND busy
SeeAlso: AX=FF00h,AX=FF01h,AX=FF03h

Top
1AFF03 - INT 1A - SND - STOP SOUND
INT 1A - SND - STOP SOUND
	AX = FF03h
Return: AH = status
	    00h successful
	    01h busy
Note:	turns off any sound currently being emitted by the PC's speaker unless
	  SND is currently busy processing an API call (this includes
	  background music).  Use AX=FF05h to stop the sound even if an API
	  call is in progress.
SeeAlso: AX=FF00h,AX=FF02h,AX=FF05h

Top
1AFF04 - INT 1A - SND - PLAY MUSIC STRING IN BACKGROUND
INT 1A - SND - PLAY MUSIC STRING IN BACKGROUND
	AX = FF04h
	DS:DX -> ASCIZ music string
Return: AH = status
	    00h successful (music begins playing in background)
	    01h busy
Note:	the music string accepted by SND is not the same as that accepted by
	  BASIC and other programs which process music strings
SeeAlso: AX=FF00h,AX=FF05h,INT 80/BX=0006h

Top
1AFF05 - INT 1A - SND - UNCONDITIONALLY STOP SOUND
INT 1A - SND - UNCONDITIONALLY STOP SOUND
	AX = FF05h
Return: AH = 00h (successful)
Note:	this function is the same as AX=FF03h, but will stop the sound even if
	  SND is currently busy, such as playing background music
SeeAlso: AX=FF00h,AX=FF03h,INT 80/BX=0007h

Top
1B - INT 1B C - KEYBOARD - CONTROL-BREAK HANDLER
INT 1B C - KEYBOARD - CONTROL-BREAK HANDLER
Desc:	this interrupt is automatically called when INT 09 determines that
	  Control-Break has been pressed
Note:	normally points to a short routine in DOS which sets the Ctrl-C flag,
	  thus invoking INT 23h the next time DOS checks for Ctrl-C.
SeeAlso: INT 23,MEM 0040h:0071h

Top
1C - INT 1C - TIME - SYSTEM TIMER TICK
INT 1C - TIME - SYSTEM TIMER TICK
Desc:	this interrupt is automatically called on each clock tick by the INT 08
	  handler
Notes:	this is the preferred interrupt to chain when a program needs to be
	  invoked regularly
	not available on NEC 9800-series PCs
SeeAlso: INT 08,INT E2"PC Cluster"

Top
1D - INT 1D - SYSTEM DATA - VIDEO PARAMETER TABLES
INT 1D - SYSTEM DATA - VIDEO PARAMETER TABLES
Notes:	the default parameter table (see #01263) is located at F000h:F0A4h for
	  100% compatible BIOSes
	Under PhysTechSoft's PTS ROM-DOS this table is fictitious.
SeeAlso: INT 10/AH=00h

Format of video parameters:
Offset	Size	Description	(Table 01263)
 00h 16 BYTEs	6845 register values for modes 00h and 01h
 10h 16 BYTEs	6845 register values for modes 02h and 03h
 20h 16 BYTEs	6845 register values for modes 04h and 05h
 30h 16 BYTEs	6845 register values for modes 06h and 07h
 40h	WORD	bytes in video buffer for modes 00h and 01h (0800h)
 42h	WORD	bytes in video buffer for modes 02h and 03h (1000h)
 44h	WORD	bytes in video buffer for modes 04h and 05h (4000h)
 46h	WORD	bytes in video buffer for mode 06h (4000h)
 48h  8 BYTEs	columns on screen for each of modes 00h through 07h
 50h  8 BYTEs	CRT controller mode bytes for each of modes 00h through 07h
Note:	QEMM v7.5 Stealth appears to copy only the first 40h bytes of this
	  table into always-accessible memory

Top
1E - INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
Notes:	the default parameter table (see #01264) is located at F000h:EFC7h for
	  100% compatible BIOSes
	if the table is changed, INT 13/AH=00h should be called to ensure that
	  the floppy-disk controller is appropriately reprogrammed
	before rebooting the machine, this pointer should be restored to point
	  to the original position of the floppy parameters in the ROM BIOS.
	  The DOS boot sector takes care of this and in the case of a bootstrap
	  error, resets the vector. It also passes the original pointer to the
	  IO.SYS/IBMDOS.COM file for possible later restoration.
	under PhysTechSoft's PTS ROM-DOS this table is fictitious.
	the DR-DOS multi-OS LOADER (at least 1.04 up to including DR-DOS 7.03)
	  does not alter the INT 1Eh vector when launching IBMBIO.COM files
	  via its boot methods "S" or "D".  Although this allows booting
	  (uncompressed) IBMBIO.COM files bigger than 29 KB, it may
	  occasionally cause the floppy parameters to get trashed due to a 
	  bug in the DR-DOS 7.03 IBMBIO.COM startup code.
BUG:	The 2nd level decompressor of the DR-DOS 7.03 IBMBIO.COM (1998/08/11 to
	  1999/07) start-up code erroneously assumes that the floppy parameters
	  reside at 0000h:7C00h (normally set up there by the boot sector)
	  instead of relying on the INT 1Eh vector to point at their location.
	  Since the "assumed" floppy parameters get moved around and INT 1Eh
	  gets updated to point to their new location, this may cause the
	  contents of the floppy params to get trashed, if they weren't
	  actually copied to 0000h:7C00h by the bootstrap loader (that is the
	  boot sector or the LOADER utility).
SeeAlso: INT 13/AH=0Fh,INT 41"HARD DISK 0",INT 4D/AH=0Ah

Format of diskette parameter table:
Offset	Size	Description	(Table 01264)
 00h	BYTE	first specify byte
		bits 7-4: step rate (Fh=2ms,Eh=4ms,Dh=6ms,etc.)
		bits 3-0: head unload time (0Fh = 240 ms)
 01h	BYTE	second specify byte
		bits 7-1: head load time (01h = 4 ms)
		bit    0: non-DMA mode (always 0)
		Note:	The DOS boot sector sets the head load time to 15ms,
			  however, one should retry the operation on failure
 02h	BYTE	delay until motor turned off (in clock ticks)
 03h	BYTE	bytes per sector (00h = 128, 01h = 256, 02h = 512, 03h = 1024)
 04h	BYTE	sectors per track (maximum if different for different tracks)
 05h	BYTE	length of gap between sectors (2Ah for 5.25", 1Bh for 3.5")
 06h	BYTE	data length (ignored if bytes-per-sector field nonzero)
 07h	BYTE	gap length when formatting (50h for 5.25", 6Ch for 3.5")
 08h	BYTE	format filler byte (default F6h)
 09h	BYTE	head settle time in milliseconds
 0Ah	BYTE	motor start time in 1/8 seconds
---IBM SurePath BIOS---
 0Bh	BYTE	maximum track number
 0Ch	BYTE	data transfer rate
 0Dh	BYTE	drive type in CMOS
SeeAlso: #03226 at INT 4D/AH=09h

Top
1F - INT 1F - SYSTEM DATA - 8x8 GRAPHICS FONT
INT 1F - SYSTEM DATA - 8x8 GRAPHICS FONT
Desc:	this vector points at 1024 bytes of graphics data, 8 bytes for each
	  character 80h-FFh
Notes:	graphics data for characters 00h-7Fh stored at F000h:FA6Eh in 100%
	  compatible BIOSes
	Under PhysTechSoft's PTS ROM-DOS this table is fictitious.
SeeAlso: INT 10/AX=5000h,INT 43

Top
1F12 - INT 1F U - C&T "SuperState" BIOS - POWER OFF
INT 1F U - C&T "SuperState" BIOS - POWER OFF
	AH = 12h
Return: none
Note:	POWER OFF

Top
1F17 - INT 1F U - C&T "SuperState" BIOS - EXECUTE FAR PROC ROUTINE ON SuperState
INT 1F U - C&T "SuperState" BIOS - EXECUTE FAR PROC ROUTINE ON SuperState
	AH = 17h
	ES:DI -> far procedure
Return: all registers except AH,ES,DI
Note:	You can change the BIOS area (F000h:0000h - F000h:FFFFh) only through
	  this function

Top
1F19 - INT 1F U - C&T "SuperState" BIOS - ENABLE AUTO WAKEUP AND SET TIME AND DATE
INT 1F U - C&T "SuperState" BIOS - ENABLE AUTO WAKEUP AND SET TIME AND DATE
	AH = 19h
	AL = hour in BCD
	BH = minutes in BCD
	BL = seconds in BCD
	CH = year century in BCD (must be 19h)
	CL = year low in BCD
	DH = month in BCD
	DL = date in BCD
Return: CF clear

Top
1F1C - INT 1F U - C&T "SuperState" BIOS - SET SUSPEND TIMEOUT
INT 1F U - C&T "SuperState" BIOS - SET SUSPEND TIMEOUT
	AH = 1Ch
	BX = sec until suspend starts
Return: None

Top
1F1D - INT 1F U - C&T "SuperState" BIOS - SET SLEEP TIMEOUT
INT 1F U - C&T "SuperState" BIOS - SET SLEEP TIMEOUT
	AH = 1Dh
	BX = sec until sleep starts
Return: None

Top
1F90 - INT 1F - NEC PC-9801 - COPY EXTENDED MEMORY
INT 1F - NEC PC-9801 - COPY EXTENDED MEMORY
	AH = 90h
	ES:BX -> global descriptor table (see #00499 at INT 15/AH=87h)
	CX = number of bytes to copy
	SI = 0000h
	DI = 0000h
Return: CF clear if successful
	CF set on error
	???
SeeAlso: INT 15/AH=87h

Top
1FF5--BLFA - INT 1F U - C&T "SuperState" BIOS - REQUEST PASSWORD INPUT
INT 1F U - C&T "SuperState" BIOS - REQUEST PASSWORD INPUT
	AH = F5h
	BL = FAh
Return: none
Note:	this function will not return until the correct password is entered
SeeAlso: AH=F5h/BL=FDh,AH=F5h/BL=FEh

Top
1FF5--BLFD - INT 1F U - C&T "SuperState" BIOS - ENCRYPT PASSWORD
INT 1F U - C&T "SuperState" BIOS - ENCRYPT PASSWORD
	AH = F5h
	BL = FDh
	CX:SI = input string
	DX:DI = encrypted string
	BH = length of input string
Return: CF set on error
SeeAlso: AH=F5h/BL=FAh,AH=F5h/BL=FEh

Top
1FF5--BLFE - INT 1F U - C&T "SuperState" BIOS - SET PASSWORD
INT 1F U - C&T "SuperState" BIOS - SET PASSWORD
	AH = F5h
	BL = FEh
	CX:SI -> input string
	BH = length of input string (if BH = 00h, clear password)
Return: CF set on error
Note:	the input string must be encrypted by INT 1Fh/AH=F5h/BL=FDh
SeeAlso: AH=F5h/BL=FDh,AH=F5h/BL=FFh

Top
1FF5--BLFF - INT 1F U - C&T "SuperState" BIOS - GET ENCRYPTED PASSWORD
INT 1F U - C&T "SuperState" BIOS - GET ENCRYPTED PASSWORD
	AH = F5h
	BL = FFh
	DX:DI = string buffer
Return: CF set on error
	CF clear if successful
	    BH = length of input string (if BH = 00h, password is not valid)
	    DX:DI -> encrypted password string
SeeAlso: AH=F5h/BL=FDh,AH=F5h/BL=FEh

Top
1FFB - INT 1F U - C&T "SuperState" BIOS - GET/SET CPU SPEED
INT 1F U - C&T "SuperState" BIOS - GET/SET CPU SPEED
	AH = FBh
	BL = function
	    00h get CPU speed
		Return: AL = current CPU speed (00h = fast, 01h = slow)
	    01h set CPU speed
		AL = new CPU speed (00h = fast, 01h = slow)
SeeAlso: AH=FCh/BL=00h

Top
1FFC--BL00 - INT 1F U - C&T "SuperState" BIOS - GET ALARM STATUS
INT 1F U - C&T "SuperState" BIOS - GET ALARM STATUS
	AH = FCh
	BL = 00h
Return: AL = current alarm state (00h = disabled, 01h = enabled)
SeeAlso: AH=FCh/BL=01h,AH=FCh/BL=02h

Top
1FFC--BL01 - INT 1F U - C&T "SuperState" BIOS - SET ALARM STATUS
INT 1F U - C&T "SuperState" BIOS - SET ALARM STATUS
	AH = FCh
	BL = 01h
	AL = new alarm state (00h = disabled, 01h = enabled)
SeeAlso: AH=FCh/BL=00h,AH=FCh/BL=03h

Top
1FFC--BL02 - INT 1F U - C&T "SuperState" BIOS - GET ALARM TIME
INT 1F U - C&T "SuperState" BIOS - GET ALARM TIME
	AH = FCh
	BL = 02h
Return: CH = hour by BCD
	CL = min by BCD
	DH = sec by BCD
SeeAlso: AH=FCh/BL=00h,AH=FCh/BL=03h,AH=FCh/BL=04h

Top
1FFC--BL03 - INT 1F U - C&T "SuperState" BIOS - SET ALARM TIME
INT 1F U - C&T "SuperState" BIOS - SET ALARM TIME
	AH = FCh
	BL = 03h
	CH = hour by BCD
	CL = min by BCD
	DH = sec by BCD
Return: CF set on error (incorrect time format or Alarm is not enable)
SeeAlso: AH=FCh/BL=01h,AH=FCh/BL=02h,AH=FCh/BL=05h

Top
1FFC--BL04 - INT 1F U - C&T "SuperState" BIOS - GET ALARM DATE
INT 1F U - C&T "SuperState" BIOS - GET ALARM DATE
	AH = FCh
	BL = 04h
Return: CH = year century by BCD
	CL = year low by BCD
	DH = month by BCD
	DL = date by BCD
SeeAlso: AH=FCh/BL=02h,AH=FCh/BL=05h

Top
1FFC--BL05 - INT 1F U - C&T "SuperState" BIOS - SET ALARM DATE
INT 1F U - C&T "SuperState" BIOS - SET ALARM DATE
	AH = FCh
	BL = 05h
	CH = year century by BCD
	CL = year low by BCD
	DH = month by BCD
	DL = date by BCD
Return: CF set on error (incorrect date format or Alarm is not enable)
SeeAlso: AH=FCh/BL=03h,AH=FCh/BL=04h

Top
1FFD--BL00 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP STATUS
INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP STATUS
	AH = FDh
	BL = 00h
Return: AL = current wake-up state (00h = disabled, 01h = enabled)
SeeAlso: AH=FDh/BL=01h,AH=FDh/BL=02h

Top
1FFD--BL01 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP STATUS
INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP STATUS
	AH = FDh
	BL = 01h
	AL = new wake-up state (00h = disabled, 01h = enabled)
SeeAlso: AH=FDh/BL=00h,AH=FDh/BL=03h

Top
1FFD--BL02 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP TIME
INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP TIME
	AH = FDh
	BL = 02h
Return: CH = hour by BCD
	CL = min by BCD
	DH = sec by BCD
SeeAlso: AH=FDh/BL=00h,AH=FDh/BL=03h

Top
1FFD--BL03 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP TIME
INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP TIME
       AH = FDh
       BL = 03h
       CH = hour by BCD
       CL = min by BCD
       DH = sec by BCD
Return: CF set on error (incorrect Time format or Auto Wake up is not enable)
SeeAlso: AH=FDh/BL=01h,AH=FDh/BL=02h

Top
1FFD--BL04 - INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP DATE
INT 1F U - C&T "SuperState" BIOS - GET AUTO WAKE UP DATE
	AH = FDh
	BL = 04h
Return: CH = year century in BCD
	CL = year low in BCD
	DH = month in BCD
	DL = date in BCD
SeeAlso: AH=FDh/BL=02h,AH=FDh/BL=05h

Top
1FFD--BL05 - INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP DATE
INT 1F U - C&T "SuperState" BIOS - SET AUTO WAKE UP DATE
	AH = FDh
	BL = 05h
	CH = year century in BCD
	CL = year low in BCD
	DH = month in BCD
	DL = date in BCD
Return: CF set on error (incorrect date format or Auto Wake up is not enable)
SeeAlso: AH=FDh/BL=03h"C&T",AH=FDh/BL=04h"C&T"

Top
Section -


Top
20 - INT 20 - Minix - SEND/RECEIVE MESSAGE
INT 20 - Minix - SEND/RECEIVE MESSAGE
	AX = process ID of other process
	BX -> message
	CX = operation (1 send, 2 receive, 3 send&receive)
Program: Minix is a Version 7 Unix-compatible operating system by Andrew
	  Tanenbaum
Note:	the message contains the system call number (numbered as in V7
	  Unix(tm)) and the call parameters

Top
20 - INT 20 - DOS 1+ - TERMINATE PROGRAM
INT 20 - DOS 1+ - TERMINATE PROGRAM
	CS = PSP segment
Return: never
Notes:	(see INT 21/AH=00h)
	this function sets the program's return code (ERRORLEVEL) to 00h
SeeAlso: INT 21/AH=00h,INT 21/AH=4Ch

Top
20 - INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER
INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER
	???
Return: ???
SeeAlso: INT 21"COMTROL"

Top
20----Vx0001 - INT 20 P - Microsoft Windows - VMM - VxD SERVICES
INT 20 P - Microsoft Windows - VMM - VxD SERVICES
	VxD = 0001h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01265)
Values for VMM (VxD ID 0001h) service number:
 0000h	get version
 0001h	get current VM handle
 0002h	test current VM handle
 0003h	get system VM handle
 0004h	test system VM handle
 0005h	validate VM handle
 0006h	get VMM reenter count
 0007h	begin reentrant execution
 0008h	end reentrant execution
 0009h	install V86 breakpoint
 000Ah	remove V86 breakpoint
 000Bh	allocate V86 callback
 000Ch	allocation PM callback
 000Dh	call when VM returns
 000Eh	schedule global event
 000Fh	schedule VM event
 0010h	call global event
 0011h	call VM event
 0012h	cancel global event
 0013h	cancel VM event
 0014h	call priority VM event
 0015h	cancel priority VM event
 0016h	get NMI handler address
 0017h	set NMI handler address
 0018h	hook NMI event
 0019h	call when VM interrupts enabled
 001Ah	enable VM interrupts
 001Bh	disable VM interrupts
 001Ch	map flat
 001Dh	map linear to VM address
 001Eh	adjust execution priority
 001Fh	begin critical section
 0020h	end critical section
 0021h	end critical section and suspend
 0022h	claim critical section
 0023h	release critical section
 0024h	call when not critical
 0025h	create semaphore
 0026h	destroy semaphore
 0027h	wait on semaphore
 0028h	signal semaphore
 0029h	get critical section status
 002Ah	call when task switched
 002Bh	suspend VM
 002Ch	resume VM
 002Dh	no-fail resume VM
 002Eh	nuke VM
 002Fh	crash current VM
 0030h	get execution focus
 0031h	set execution focus
 0032h	get time slice priority
 0033h	set time slice priority
 0034h	get time slice granularity
 0035h	set time slice granularity
 0036h	get time slice information
 0037h	adjust execution time
 0038h	release time slice
 0039h	wake up VM
 003Ah	call when idle
 003Bh	get next VM handle
 003Ch	set global timeout
 003Dh	set VM timeout
 003Eh	cancel timeout
 003Fh	get system time
	Return: EAX = time in milliseconds that Windows has been running
 0040h	get VM execution time
 0041h	hook V86 interrupt chain
 0042h	get V86 interrupt vector
 0043h	set V86 interrupt vector
 0044h	get PM interrupt vector
 0045h	set PM interrupt vector
 0046h	simulate interrupt
 0047h	simulate IRET
 0048h	simulate far call
 0049h	simulate far jump
 004Ah	simulate far RET
 004Bh	simulate far RET N
 004Ch	build interrupt stack frame
 004Dh	simulate push
 004Eh	simulate pop
 004Fh	_HeapAllocate
 0050h	_HeapReAllocate
 0051h	_HeapFree
 0052h	_HeapGetSize
 0053h	_PageAllocate
 0054h	_PageReAllocate
 0055h	_PageFree
 0056h	_PageLock
 0057h	_PageUnLock
 0058h	_PageGetSizeAddr
 0059h	_PageGetAllocInfo
 005Ah	_GetFreePageCount
 005Bh	_GetSysPageCount
 005Ch	_GetVMPgCount
 005Dh	_MapIntoV86
 005Eh	_PhysIntoV86
 005Fh	_TestGlobalV86Mem
 0060h	_ModifyPageBits
 0061h	copy page table
 0062h	map linear into V86
 0063h	linear page lock
 0064h	linear page unlock
 0065h	_SetResetV86Pageabl
 0066h	_GetV86PageableArray
 0067h	_PageCheckLinRange
 0068h	page out dirty pages
 0069h	discard pages
 006Ah	_GetNulPageHandle
 006Bh	get first V86 page
 006Ch	map physical address to linear address
 006Dh	_GetAppFlatDSAlias
 006Eh	_SelectorMapFlat
 006Fh	_GetDemandPageInfo
 0070h	_GetSetPageOutCount
 0071h	hook V86 page
 0072h	assign device V86 pages
 0073h	deassign device V86 pages
 0074h	get array of V86 pages for device
 0075h	_SetNULPageAddr
 0076h	allocate GDT selector
 0077h	free GDT selector
 0078h	allocate LDT selector
 0079h	free LDT selector
 007Ah	_BuildDescriptorDWORDs
 007Bh	get descriptor
 007Ch	set descriptor
 007Dh	toggle HMA
 007Eh	get fault hook addresses
 007Fh	hook V86 fault
 0080h	hook PM fault
 0081h	hook VMM fault
 0082h	begin nested V86 execution
 0083h	begin nested execution
 0084h	execute V86-mode interrupt
 0085h	resume execution
 0086h	end nested execution
 0087h	allocate PM application callback area
 0088h	get current PM application callback area
 0089h	set V86 execution mode
 008Ah	set PM execution mode
 008Bh	begin using locked PM stack
 008Ch	end using locked PM stack
 008Dh	save client state
 008Eh	restore client state
 008Fh	execute VxD interrupt
	STACK:	WORD	interrupt number
		other registers as required by interrupt call
	Return:	registers as returned by interrupt call
 0090h	hook device service
	EAX = service ID (high word = VxD ID, low = service number)
	ESI -> new handler
 0091h	hook device V86 API
 0092h	hook device PM API
 0093h	system control (see also #02657)
 0094h	simulate I/O
 0095h	install multiple I/O handlers
 0096h	install I/O handler
	DX = I/O port address
	ESI -> handler to call when I/O access attempted???
 0097h	enable global trapping
	DX = I/O port address
 0098h	enable local trapping
	DX = I/O port address
 0099h	disable global trapping
	DX = I/O port address
 009Ah	disable local trapping
	DX = I/O port address
 009Bh	create list
 009Ch	destroy list
 009Dh	allocate list
 009Eh	attach list
 009Fh	attach list tail
 00A0h	insert into list
 00A1h	remove from list
 00A2h	deallocate list
 00A3h	get first item in list
 00A4h	get next item in list
 00A5h	remove first item in list
 00A6h	add instance item
 00A7h	allocate device callback area
 00A8h	allocate global V86 data area
 00A9h	allocate temporary V86 data area
 00AAh	free temporary V86 data area
 00ABh	get decimal integer from profile
 00ACh	convert decimal string to integer
 00ADh	get fixed-point number from profile
 00AEh	convert fixed-point string
 00AFh	get hex integer from profile
 00B0h	convert hex string to integer
 00B1h	get boolean value from profile
 00B2h	convert boolean string
 00B3h	get string from profile
 00B4h	get next string from profile
 00B5h	get environment string
 00B6h	get exec path
 00B7h	get configuration directory
 00B8h	open file
 00B9h	get PSP segment
 00BAh	get DOS vectors
 00BBh	get machine information
 00BCh	get/set HMA information
 00BDh	set system exit code
 00BEh	fatal error handler
 00BFh	fatal memory error
 00C0h	update system clock
 00C1h	test if debugger installed
 00C2h	output debugger string
 00C3h	output debugger character
 00C4h	input debugger character
 00C5h	debugger convert hex to binary
 00C6h	debugger convert hex to decimal
 00C7h	debugger test if valid handle
 00C8h	validate client pointer
 00C9h	test reentry
 00CAh	queue debugger string
 00CBh	log procedure call
 00CCh	debugger test current VM
 00CDh	get PM interrupt type
 00CEh	set PM interrupt type
 00CFh	get last updated system time
 00D0h	get last updated VM execution time
 00D1h	test if double-byte character-set lead byte
 00D2h	_AddFreePhysPage
 00D3h	_PageResetHandlePAddr
 00D4h	_SetLastV86Page
 00D5h	_GetLastV86Page
 00D6h	_MapFreePhysReg
 00D7h	_UnmapFreePhysReg
 00D8h	_XchgFreePhysReg
 00D9h	_SetFreePhysRegCalBk
 00DAh	get next arena (MCB)
 00DBh	get name of ugly TSR
 00DCh	get debug options
 00DDh	set physical HMA alias
 00DEh	_GetGlblRng0V86IntBase
 00DFh	add global V86 data area
 00E0h	get/set detailed VM error
 00E1h	Is_Debug_Chr
 00E2h	clear monochrome screen
 00E3h	output character to mono screen
 00E4h	output string to mono screen
 00E5h	set current position on mono screen
 00E6h	get current position on mono screen
 00E7h	get character from mono screen
 00E8h	locate byte in ROM
 00E9h	hook invalid page fault
 00EAh	unhook invalid page fault
 00EBh	set delete on exit file
 00ECh	close VM
 00EDh	"Enable_Touch_1st_Meg"
 00EEh	"Disable_Touch_1st_Meg"
 00EFh	install exception handler
 00F0h	remove exception handler
 00F1h	"Get_Crit_Status_No_Block"
 00F2h	"_Schedule_VM_RTI_Event"
 00F3h	"_Trace_Out_Service"
 00F4h	"_Debug_Out_Service"
 00F5h	"_Debug_Flags_Service"
 00F6h	VMM add import module name
 00F7h	VMM Add DDB
 00F8h	VMM Remove DDB
 00F9h	get thread time slice priority
 00FAh	set thread time slice priority
 00FBh	schedule thread event
 00FCh	cancel thread event
 00FDh	set thread timeout
 00FEh	set asynchronous timeout
 00FFh	"_AllocatreThreadDataSlot"
 0100h	"_FreeThreadDataSlot"
 0101h	create Mutex
 0102h	destroy Mutex
 0103h	get Mutex owner
 0104h	call when thread switched
 0105h	create thread
 0106h	start thread
 0107h	terminate thread
 0108h	get current thread handle
 0109h	test current thread handle
 010Ah	"Get_Sys_Thread_Handle"
 010Bh	"Test_Sys_Thread_Handle"
 010Ch	"Validate_Thread_Handle"
 010Dh	"Get_Initial_Thread_Handle"
 010Eh	"Test_Initial_Thread_Handle"
 010Fh	"Debug_Test_Valid_Thread_Handle"
 0110h	"Debug_Test_Cur_Thread"
 0111h	"VMM_GetSystemInitState"
 0112h	"Cancel_Call_When_Thread_Switched"
 0113h	"Get_Next_Thread_Handle"
 0114h	"Adjust_Thread_Exec_Priority"
 0115h	"_Deallocate_Device_CB_Area"
 0116h	"Remove_IO_Handler"
 0117h	"Remove_Mult_IO_Handlers"
 0118h	unhook V86 interrupt chain
 0119h	unhook V86 fault handler
 011Ah	unhook PM fault handler
 011Bh	unhook VMM fault handler
 011Ch	unhook device service
 011Dh	"_PageReserve"
 011Eh	"_PageCommit"
 011Fh	"_PageDecommit"
 0120h	"_PagerRegister"
 0121h	"_PagerQuery"
 0122h	"_PagerDeregister"
 0123h	"_ContextCreate"
 0124h	"_ContextDestroy"
 0125h	"_PageAttach"
 0126h	"_PageFlush"
 0127h	"_SignalID"
 0128h	"_PageCommitPhys"
 0129h	"_Register_Win32_Services"
 012Ah	"Cancel_Call_When_Not_Critical"
 012Bh	"Cancel_Call_When_Idle"
 012Ch	"Cancel_Call_When_Task_Switched"
 012Dh	"_Debug_Printf_Service"
 012Eh	enter Mutex
 012Fh	leave Mutex
 0130h	simulate VM I/O
 0131h	"Signal_Semaphore_No_Switch"
 0132h	"_MMSwitchContext"
 0133h	"_MMModifyPermissions"
 0134h	"_MMQuery"
 0135h	"_EnterMustComplete"
 0136h	"_LeaveMustComplete"
 0137h	"_ResumeExecMustComplete"
 0138h	get thread termination status
 0139h	"_GetInstanceInfo"
 013Ah	"_ExecIntMustComplete"
 013Bh	"_ExecVxDIntMustComplete"
 013Ch	begin V86 serialization
 013Dh	unhook V86 page
 013Eh	"VMM_GetVxDLocationList"
 013Fh	"VMM_GetDDBList" get start of VxD chain
	(see also #02657 at INT 2F/AX=1684h/BX=0017h)
 0140h	unhook NMI event
 0141h	"Get_Instanced_V86_Int_Vector"
 0142h	get or set real DOS PSP
 0143h	call priority thread event
 0144h	"Get_System_Time_Address"
 0145h	"Get_Crit_Status_Thread"
 0146h	"Get_DDB"
 0147h	"Directed_Sys_Control"
 0148h	"_RegOpenKey"
 0149h	"_RegCloseKey"
 014Ah	"_RegCreateKey"
 014Bh	"_RegDeleteKey"
 014Ch	"_RegEnumKey"
 014Dh	"_RegQueryValue"
 014Eh	"_RegSetValue"
 014Fh	"_RegDeleteValue"
 0150h	"_RegEnumValue"
 0151h	"_RegQueryValueEx"
 0152h	"_RegSetValueEx"
 0153h	"_CallRing3"
 0154h	"Exec_PM_Int"
 0155h	"_RegFlushKey"
 0156h	"_PageCommitContig"
 0157h	"_GetCurrentContext"
 0158h	"_LocalizeSprintf"
 0159h	"_LocalizeStackSprintf"
 015Ah	"Call_Restricted_Event"
 015Bh	"Cancel_Restricted_Event"
 015Ch	"Register_PEF_Provider"
 015Dh	"_GetPhysPageInfo"
 015Eh	"_RegQueryInfoKey"
 015Fh	"MemArb_Reserve_Pages"
 0160h	"Time_Slice_Sys_VM_Idle"
 0161h	"Time_Slice_Sleep"
 0162h	"Boost_With_Decay"
 0163h	"Set_Inversion_Pri"
 0164h	"Reset_Inversion_Pri"
 0165h	"Release_Inversion_Pri"
 0166h	"Get_Thread_Win32_Pri"
 0167h	"Set_Thread_Win32_Pri"
 0168h	"Set_Thread_Static_Boost"
 0169h	"Set_VM_Static_Boost"
 016Ah	"Release_Inversion_Pri_ID"
 016Bh	"Attach_Thread_To_Group"
 016Ch	"Detach_Thread_From_Group"
 016Dh	"Set_Group_Static_Boost"
 016Eh	"_GetRegistryPath"
 016Fh	"_GetRegistryKey"
 0170h	"_CleanupNestedExec"
 0171h	"_RegRemapPreDefKey"
 0172h	"End_V86_Serialization"
 0173h	"_Assert_Range"
 0174h	"_Sprintf"
 0175h	"_PageChangePager"
 0176h	"_RegCreateDynKey"
 0177h	"RegQMulti"
 0178h	"Boost_Thread_With_VM"
 0179h	"Get_Boot_Flags"
 017Ah	"Set_Boot_Flags"
 017Bh	"_lstrcpyn"
 017Ch	"_lstrlen"
 017Dh	"_lmemcpy"
 017Eh	"_GetVxDName"
 017Fh	"Force_Mutexes_Free"
 0180h	"Restore_Forced_Mutexes"
 0181h	"_AddReclaimableItem"
 0182h	"_SetReclaimableItem"
 0183h	"_EnumReclaimableItem"
 0184h	"Time_Slice_Wake_Sys_VM"
 0185h	"VMM_Replace_Global_Environment"
 0186h	"Begin_Non_Serial_Nest_V86_Exec"
 0187h	"Get_Nest_Exec_Status"
 0188h	"Open_Boot_Log"
 0189h	"Write_Boot_Log"
 018Ah	"Close_Boot_Log"
 018Bh	"EnableDisable_Boot_Log"
 018Ch	"_Call_On_My_Stack"
 018Dh	"Get_Inst_V86_Int_Vec_Base"
 018Eh	"_lstrcmpi"
 018Fh	"_strupr"
 0190h	"Log_Fault_Call_Out"
 0191h	"_AtEventTime"
 0191h	...last service for Windows95 SP1
 811Ch	unhook device service??? (called by KEYREMAP.VXD)
	EAX = service ID (high word = VxD ID, low = service number)
	ESI -> handler
SeeAlso: #01266,#01267,INT 2F/AX=1684h/BX=0001h

Top
20----Vx0002 - INT 20 P - Microsoft Windows - DEBUG - VxD SERVICES
INT 20 P - Microsoft Windows - DEBUG - VxD SERVICES
	VxD = 0002h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01266,#01340

(Table 01266)
Values for DEBUG (VxD ID 0002h) service number:
 0000h	get version
 0001h	"DEBUG_Fault"
 0002h	"DEBUG_CheckFault"
 0003h	"_DEBUG_LoadSyms"
SeeAlso: #01265,#01267

Top
20----Vx0003 - INT 20 P - Microsoft Windows - VPICD - VxD SERVICES
INT 20 P - Microsoft Windows - VPICD - VxD SERVICES
	VxD = 0003h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01267,#01340

(Table 01267)
Values for VPICD (VxD ID 0003h) service number:
 0000h	get version
 0001h	virtualize IRQ
 0002h	set interrupt request
 0003h	clear interrupt request
 0004h	physical EOI
 0005h	get complete status
 0006h	get status
 0007h	test physical request
 0008h	physically mask
 0009h	physically unmask
 000Ah	set automatic masking
 000Bh	get IRQ complete status
 000Ch	convert handle to IRQ
 000Dh	convert IRQ to interrupt
 000Eh	convert interrupt to IRQ
 000Fh	call on hardware interrupt
 0010h	force default owner
 0011h	force default behavior
 0012h	"VPICD_Auto_Mask_At_Inst_Swap"
 0013h	"VPICD_Begin_Inst_Page_Swap"
 0014h	"VPICD_End_Inst_Page_Swap"
 0015h	"VPICD_Virtual_EOI"
 0016h	"VPICD_Get_Virtualization_Count"
 0017h	"VPICD_Post_Sys_Critical_Init"
 0018h	"VPICD_VM_SlavePIC_Mask_Change"
SeeAlso: #01265,#01268,INT 2F/AX=1684h/BX=0003h

Top
20----Vx0004 - INT 20 P - Microsoft Windows - VDMAD - VxD SERVICES
INT 20 P - Microsoft Windows - VDMAD - VxD SERVICES
	VxD = 0004h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01268)
Values for VDMAD (VxD ID 0004h) service number:
 0000h	get version
 0001h	virtualize channel
 0002h	get region information
 0003h	set region information
 0004h	get virtual state
 0005h	set virtual state
 0006h	set physical state
 0007h	mask channel
 0008h	unmask channel
 0009h	lock DMA region
 000Ah	unlock DMA region
 000Bh	scatter lock
 000Ch	scatter unlock
 000Dh	reserve buffer space
 000Eh	request buffer
 000Fh	release buffer
 0010h	copy to buffer
 0011h	copy from buffer
 0012h	default handler
 0013h	disable translation
 0014h	enable translation
 0015h	get EISA address mode
 0016h	set EISA address mode
 0017h	unlock DMA region (ND)
 0018h	"VDMAD_Phys_Mask_Channel"
 0019h	"VDMAD_Phys_Unmask_Channel"
 001Ah	"VDMAD_Unvirtualize_Channel"
 001Bh	"VDMAD_Set_IO_Address"
 001Ch	"VDMAD_Get_Phys_Count"
 001Dh	"VDMAD_Get_Phys_Status"
 001Eh	"VDMAD_Get_Max_Phys_Page"
 001Fh	"VDMAD_Set_Channel_Callbacks"
 0020h	"VDMAD_Get_Virt_Count"
 0021h	"VDMAD_Set_Virt_Count"
 0021h	...last service for Windows95 SP1
SeeAlso: #01267,#02646,#02683 at INT 2F/AX=1684h/BX=0444h

Top
20----Vx0005 - INT 20 P - Microsoft Windows - VTD - VxD SERVICES
INT 20 P - Microsoft Windows - VTD - VxD SERVICES
	VxD = 0005h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01269)
Values for VTD (VxD ID 0005h) service number:
 0000h	get version
 0001h	update system clock
 0002h	get interrupt period
 0003h	begin minimum interrupt period
 0004h	end minimum interrupt period
 0005h	disable trapping
 0006h	enable trapping
 0007h	get real time
	Return: EDX:EAX = time in 840ns units since Windows was started
 0008h	"VTD_Get_Date_And_Time"
 0009h	"VTD_Adjust_VM_Count"
 000Ah	"VTD_Delay"
SeeAlso: #02646 at INT 2F/AX=1684h/BX=0005h

Top
20----Vx0006 - INT 20 P - Microsoft Windows - V86MMGR - VxD SERVICES
INT 20 P - Microsoft Windows - V86MMGR - VxD SERVICES
	VxD = 0006h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01270)
Values for V86MMGR (VxD ID 0006h) service number:
 00h	get version
 01h	allocate V86 pages
 02h	set EMS and XMS limits
 03h	get EMS and XMS limits
 04h	set mapping information
 05h	get mapping information
 06h	Xlat API
 07h	load client pointer
 08h	allocate buffer
 09h	free buffer
 0Ah	get Xlat buffer state
 0Bh	set Xlat buffer state
 0Ch	get VM flat selector
 0Dh	map pages
 0Eh	free page map region
 0Fh	_LocalGlobalReg
 10h	get page status
 11h	set local A20
 12h	reset base pages
 13h	set available mapped pages
 14h	"V86MMGR_NoUMBInitCalls"
 15h	"V86MMGR_Get_EMS_XMS_Avail"
 16h	"V86MMGR_Toggle_HMA"
	EAX = ???
 17h	"V86MMGR_Dev_Init"
 18h	"V86MMGR_Alloc_UM_Page"
SeeAlso: #02646,#01271,INT 2F/AX=1684h"DEVICE API"

Top
20----Vx0007 - INT 20 P - Microsoft Windows - PageSwap - VxD SERVICES
INT 20 P - Microsoft Windows - PageSwap - VxD SERVICES
	VxD = 0007h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01271)
Values for PageSwap (VxD ID 0007h) service number:
 00h	get version
 01h	test create
 02h	create swap file
 03h	destroy swap file
 04h	in
 05h	out
 06h	test if I/O valid
 07h	"Read_Or_Write"
 08h	"Grow_File"
 09h	"Init_File"
SeeAlso: #01270,#01272,#01273,#02648

Top
20----Vx0009 - INT 20 P - Microsoft Windows - REBOOT - VxD SERVICES
INT 20 P - Microsoft Windows - REBOOT - VxD SERVICES
	VxD = 0009h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01272)
Values for REBOOT (VxD ID 0009h) service number:
 00h	get REBOOT version???
 01h	???
 02h	???
 03h	...last service for Windows95 SP1
SeeAlso: #01271,#01273,#02642

Top
20----Vx000A - INT 20 P - Microsoft Windows - VDD - VxD SERVICES
INT 20 P - Microsoft Windows - VDD - VxD SERVICES
	VxD = 000Ah
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01273)
Values for VDD (VxD ID 000Ah) service number:
 00h	get version
 01h	PIF state
 02h	get GrabRtn
 03h	hide cursor
 04h	set VM type
 05h	get ModTime
 06h	set HCurTrk
 07h	message clear screen
 08h	message foreground color
 09h	message background color
 0Ah	message output text
 0Bh	message set cursor position
 0Ch	query access
 0Dh	"VDD_Check_Update_Soon"
 0Eh	"VDD_Get_Mini_Dispatch_Table"
 0Fh	"VDD_Register_Virtual_Port"
	DX = base I/O port number
	CL = number of contiguous ports???
 10h	"VDD_Get_VM_Info"
 11h	"VDD_Get_Special_VM_IDs"
	Return: ESI = ???
		EDI = ???
 12h	"VDD_Register_Extra_Screen_Selector"
 13h	"VDD_Takeover_VGA_Port"
	DX = VGA I/O port number (03C2h, etc.)
	ECX -> routine to call on I/O access
	Return: ECX -> previous handler (to be jumped to at end of new handler)
 14h	???
 15h	???
 16h	...last service for Windows95 SP1
SeeAlso: #01272,#01274,#02648

Top
20----Vx000B - INT 20 P - Microsoft Windows - VSD - VxD SERVICES
INT 20 P - Microsoft Windows - VSD - VxD SERVICES
	VxD = 000Bh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01274)
Values for VSD (VxD ID 000Bh) service number:
 00h	get version
 01h	bell
 02h	sound on
 03h	"VSD_TakeSoundPort"
SeeAlso: #01273,#01275

Top
20----Vx000C - INT 20 P - Microsoft Windows - VMD / VMOUSE - VxD SERVICES
INT 20 P - Microsoft Windows - VMD / VMOUSE - VxD SERVICES
	VxD = 000Ch
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01275)
Values for VMD / VMOUSE (VxD ID 000Ch) service number:
 0000h	get version
 0001h	set mouse type
 0002h	get mouse owner
 0003h	"VMOUSE_Post_Pointer_Message"
 0004h	"VMOUSE_Set_Cursor_Proc"
 0005h	"VMOUSE_Call_Cursor_Proc"
 0006h	"VMOUSE_Set_Mouse_Data~Get_Mouse_Data"
 0007h	"VMOUSE_Manipulate_Pointer_Message"
 0008h	"VMOUSE_Set_Middle_Button"
 0009h	"VMD_Set_Middle_Button"
 000Ah	"VMD_Enable_Disable_Mouse_Events"
 000Bh	"VMD_Post_Absolute_Pointer_Message"
	...last service for Windows95 SP1
SeeAlso: #01274,#01276,INT 2F/AX=1684h/BX=000Ch

Top
20----Vx000D - INT 20 P - Microsoft Windows - VKD - VxD SERVICES
INT 20 P - Microsoft Windows - VKD - VxD SERVICES
	VxD = 000Dh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01276)
Values for VKD (VxD ID 000Dh) service number:
 0000h	get version
 0001h	define hotkey
 0002h	remove hotkey
 0003h	locally enable hotkey
 0004h	locally disable hotkey
 0005h	reflect hotkey
 0006h	cancel hotkey state
 0007h	force keys
 0008h	get keyboard owner
 0009h	define paste mode
 000Ah	start pasting
 000Bh	cancel paste
 000Ch	get message key
 000Dh	peek message key
 000Eh	flush message key queue
 000Fh	"VKD_Enable_Keyboard"
 0010h	"VKD_Disable_Keyboard"
 0011h	"VKD_Get_Shift_State"
 0012h	"VKD_Filter_Keyboard_Input"
 0013h	"VKD_Put_Byte"
 0014h	"VKD_Set_Shift_State"
	...last service for Windows95 SP1
SeeAlso: #01275,#01277

Top
20----Vx000E - INT 20 P - Microsoft Windows - VCD - VxD SERVICES
INT 20 P - Microsoft Windows - VCD - VxD SERVICES
	VxD = 000Eh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01277)
Values for VCD (VxD ID 000Eh) service number:
 0000h	get version
 0001h	set port global
 0002h	get focus
 0003h	virtualize port
 0004h	"VCD_Acquire_Port"
 0005h	"VCD_Free_Port"
 0006h	"VCD_Acquire_Port_Windows_Style"
 0007h	"VCD_Free_Port_Windows_Style"
 0008h	"VCD_Steal_Port_Windows_Style"
 0009h	"VCD_Find_COM_Index"
 000Ah	"VCD_Set_Port_Global_Special"
 000Bh	"VCD_Virtualize_Port_Dynamic"
 000Ch	"VCD_Unvirtualize_Port_Dynamic"
	...last service for Windows95 SP1
SeeAlso: #01276,#01278

Top
20----Vx0010 - INT 20 P - Microsoft Windows - BlockDev / IOS - VxD SERVICES
INT 20 P - Microsoft Windows - BlockDev / IOS - VxD SERVICES
	VxD = 0010h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01278)
Values for BlockDev/IOS (VxD ID 0010h) service number:
 0000h	get version
 0001h	register device
 0002h	find INT 13 drive
 0003h	get device list
 0004h	send command
 0005h	command complete
 0006h	synchronous command
 0007h	"IOS_Register"
 0008h	"IOS_Requestor_Service"
 0009h	"IOS_Exclusive_Access"
 000Ah	"IOS_Send_Next_Command"
 000Bh	"IOS_Set_Async_Time_Out"
 000Ch	"IOS_Signal_Semaphore_No_Switch"
 000Dh	"IOSIdleStatus"
 000Eh	"IOSMapIORSToI24"
 000Fh	"IOSMapIORSToI21"
 0010h	"PrintLog"
SeeAlso: #01277,#01279

Top
20----Vx0011 - INT 20 P - Microsoft Windows - VMCPD - VxD SERVICES
INT 20 P - Microsoft Windows - VMCPD - VxD SERVICES
	VxD = 0011h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01279)
Values for VMCPD (VxD ID 0011h) service number:
 0000h	"VMCPD_Get_Version"
 0001h	"VMCPD_Get_Virt_State"
 0002h	"VMCPD_Set_Virt_State"
 0003h	"VMCPD_Get_CR0_State"
 0004h	"VMCPD_Set_CR0_State"
 0005h	"VMCPD_Get_Thread_State"
 0006h	"VMCPD_Set_Thread_State"
 0007h	"_VMCPD_Get_FP_Instruction_Size"
 0008h	"VMCPD_Set_Thread_Precision"
SeeAlso: #01278,#01280,#02642

Top
20----Vx0012 - INT 20 P - Microsoft Windows - EBIOS - VxD SERVICES
INT 20 P - Microsoft Windows - EBIOS - VxD SERVICES
	VxD = 0012h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01280)
Values for EBIOS (VxD ID 0012h) service number:
 00h	get EBIOS version
 01h	get unused memory
SeeAlso: #01279,#01281

Top
20----Vx0014 - INT 20 P - Microsoft Windows - VNETBIOS - VxD SERVICES
INT 20 P - Microsoft Windows - VNETBIOS - VxD SERVICES
	VxD = 0014h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01281)
Values for VNETBIOS (VxD ID 0014h) service number:
 00h	get version
 01h	register
 02h	submit
 03h	enum
 04h	deregister
 05h	register2
 06h	map
 07h	enum2
SeeAlso: #01280,#01282

Top
20----Vx0015 - INT 20 P - Microsoft Windows - DOSMGR - VxD SERVICES
INT 20 P - Microsoft Windows - DOSMGR - VxD SERVICES
	VxD = 0015h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01282)
Values for DOSMGR (VxD ID 0015h) service number:
 0000h	get version
 0001h	set exec VM data
 0002h	coyp VM drive state
 0003h	execute VM
 0004h	get InDOS pointer
 0005h	add device
 0006h	remove device
 0007h	instance device
 0008h	get DOS critical status
 0009h	enable InDOS polling
 000Ah	backfill allowed
 000Bh	"LocalGlobalReg"
 000Ch	"Init_UMB_Area"
 000Dh	"Begin_V86_App"
 000Eh	"End_V86_App"
 000Fh	"Alloc_Local_Sys_VM_Mem"
	EAX = number of paragraphs??? to allocate
 0010h	"DOSMGR_Grow_CDSs"
 0011h	"DOSMGR_Translate_Server_DOS_Call"
 0012h	"DOSMGR_MMGR_PSP_Change_Notifier"
SeeAlso: #01281,#02656 at INT 2F/AX=1684h/BX=0015h

Top
20----Vx0017 - INT 20 P - Microsoft Windows - SHELL - VxD SERVICES
INT 20 P - Microsoft Windows - SHELL - VxD SERVICES
	VxD = 0017h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01283)
Values for SHELL (VxD ID 0017h) service number:
 0000h	get version
 0001h	resolve contention
 0002h	event
 0003h	SYSMODAL message
 0004h	message
 0005h	get VM information
 0006h	"_SHELL_PostMessage"
 0007h	"_SHELL_WinExec"
 0008h	"_SHELL_CallDll"
 0009h	"SHELL_OpenClipboard"
 000Ah	"SHELL_SetClipboardData"
 000Bh	"SHELL_GetClipboardData"
 000Ch	"SHELL_CloseClipboard"
 000Dh	"_SHELL_Install_Taskman_Hooks"
 000Eh	"SHELL_Hook_Properties"
 000Fh	"SHELL_Unhook_Properties"
 0010h	"SHELL_OEMKeyScan"
 0011h	"SHELL_Update_User_Activity"
 0012h	"_SHELL_UnhookSystemBroadcast"
 0013h	"_SHELL_LocalAllocEx"
 0014h	"_SHELL_LocalFree"
 0015h	"_SHELL_LoadLibrary"
 0016h	"_SHELL_FreeLibrary"
 0017h	"_SHELL_GetProcAddress"
 0018h	"_SHELL_CallDll"
 0019h	"_SHELL_SuggestSingleMSDOSMode"
 001Ah	"SHELL_CheckHotkeyAllowed"
 001Bh	"_SHELL_GetDOSAppInfo"
SeeAlso: #01282,#01284,#02657 at INT 2F/AX=1684h/BX=0017h

Top
20----Vx0018 - INT 20 P - Microsoft Windows - VMPoll - VxD SERVICES
INT 20 P - Microsoft Windows - VMPoll - VxD SERVICES
	VxD = 0018h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01284)
Values for VMPoll (VxD ID 0018h) service number:
 00h	get version
 01h	enable/disable
 02h	reset detection
 03h	check idle
SeeAlso: #01269,#02657 at INT 2F/AX=1684h/BX=0017h

Top
20----Vx001A - INT 20 P - Microsoft Windows - DOSNET - VxD SERVICES
INT 20 P - Microsoft Windows - DOSNET - VxD SERVICES
	VxD = 001Ah
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01285)
Values for DOSNET (VxD ID 001Ah) service number:
 00h	get version
 01h	send FILESYSCHANGE
 02h	do PSP adjust
SeeAlso: #01284,#01286

Top
20----Vx001B - INT 20 P - Microsoft Windows - VFD - VxD SERVICES
INT 20 P - Microsoft Windows - VFD - VxD SERVICES
	VxD = 001Bh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01286,#01340

(Table 01286)
Values for VFD (VxD ID 001Bh) service number:
 0000h	get version
SeeAlso: #01285,#01287

Top
20----Vx001C - INT 20 P - Microsoft Windows - LoadHi - VxD SERVICES
INT 20 P - Microsoft Windows - LoadHi - VxD SERVICES
	VxD = 001Ch
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01287)
Values for LoadHi (VxD ID 001Ch) service number:
 00h	get version
	Return:	CF clear
		EAX = version (AH = major, AL = minor)
		ESI -> ASCIZ signature "LoadHi"
SeeAlso: #01286,#01288

Top
20----Vx0020 - INT 20 P - Microsoft Windows - Int13 - VxD SERVICES
INT 20 P - Microsoft Windows - Int13 - VxD SERVICES
	VxD = 0020h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01288)
Values for Int13 (VxD ID 0020h) service number:
 00h	get version
 01h	device registered
 02h	translate VM interrupt
 03h	hooking BIOS interrupt
 04h	unhooking BIOS interrupt
SeeAlso: #01287,#01289

Top
20----Vx0021 - INT 20 P - Microsoft Windows - PAGEFILE - VxD SERVICES
INT 20 P - Microsoft Windows - PAGEFILE - VxD SERVICES
	VxD = 0021h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01289)
Values for PAGEFILE (VxD ID 0021h) service number:
 00h	get version
 01h	init file
 02h	clean up
 03h	grow file
 04h	read or write
 05h	cancel
 06h	test I/O valid
 07h	"Get_Size_Info"
 08h	"Set_Async_Manager"
 09h	"Call_Async_Manager"
SeeAlso: #01288,#02661 at INT 2F/AX=1684h/BX=0021h

Top
20----Vx0026 - INT 20 P - Microsoft Windows - VPOWERD - VxD SERVICES
INT 20 P - Microsoft Windows - VPOWERD - VxD SERVICES
	VxD = 0026h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01290)
Values for VPOWERD (VxD ID 0026h) service number:
 00h	get version
	Return:	CF clear
		EAX = version (AH = major, AL = minor)
 01h	get APM BIOS version
	Return: CF clear
		EAX = APM BIOS version
 02h	get current power management level
	Return: CF clear
		EAX = power management level
 03h	enable/disable power management (see INT 15/AX=5308h)
	Return: EAX = error code (see #02665) or 00000000h if successful
 04h	set power state (see INT 15/AX=5307h)
	???
	Return: EAX = error code (see #02665) or 00000000h if successful
 05h	set system power status
	Return: EAX = error code (see #02665) or 00000000h if successful
 06h	restore APM power-on defaults (see INT 15/AX=5309h)
	Return: EAX = error code (see #02665) or 00000000h if successful
 07h	get power status (see INT 15/AX=530Ah)
	Return: ???
 08h	get APM 1.1 power state (see INT 15/AX=530Ch)
	Return: ???
 09h	invoke OEM APM function
	??? -> bufer containing parameters for INT 15/AX=5380h
	Return: EAX = error code (see #02665) or 00000000h if successful
		buffer updated if successful
 0Ah	register power handler
	???
	Return: EAX = error code (see #02665) or 00000000h if successful
 0Bh	deregister power handler
	???
	Return: EAX = error code (see #02665) or 00000000h if successful
 0Ch	Win32 get system power status
 0Dh	Win32 set system power status
SeeAlso: #01289,#01291,INT 2F/AX=1684h/BX=0026h

Top
20----Vx0027 - INT 20 P - Microsoft Windows - VXDLDR - VxD SERVICES
INT 20 P - Microsoft Windows - VXDLDR - VxD SERVICES
	VxD = 0027h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01291)
Values for VXDLDR (VxD ID 0027h) service number:
 0000h	"VXDLDR_Get_Version"
 0001h	"VXDLDR_LoadDevice"
 0002h	"VXDLDR_UnloadDevice"
 0003h	"VXDLDR_DevInitSucceeded"
 0004h	"VXDLDR_DevInitFailed"
 0005h	"VXDLDR_GetDeviceList"
 0006h	"VXDLDR_UnloadMe"
 0007h	"PELDR_LoadModule"
 0008h	"PELDR_GetModuleHandle"
 0009h	"PELDR_GetModuleUsage"
 000Ah	"PELDR_GetEntryPoint"
 000Bh	"PELDR_GetProcAddress"
 000Ch	"PELDR_AddExportTable"
 000Dh	"PELDR_RemoveExportTable"
 000Eh	"PELDR_FreeModule"
 000Fh	"VXDLDR_Notify"
 0010h	"_PELDR_InitCompleted"
 0011h	"_PELDR_LoadModuleEx"
SeeAlso: #01289,#01292

Top
20----Vx0028 - INT 20 P - Microsoft Windows - NDIS - VxD SERVICES
INT 20 P - Microsoft Windows - NDIS - VxD SERVICES
	VxD = 0028h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01292)
Values for NDIS (VxD ID 0028h) service number:
 00h	"NdisGetVersion"
 01h	"NdisAllocateSpinLock"
 02h	"NdisFreeSpinLock"
 03h	"NdisAcquireSpinLock"
 04h	"NdisReleaseSpinLock"
 05h	"NdisOpenConfiguration"
 06h	"NdisReadConfiguration"
 07h	"NdisCloseConfiguration"
 08h	"NdisReadEisaSlotInformation"
 09h	"NdisReadMcaPosInformation"
 0Ah	"NdisAllocateMemory"
 0Bh	"NdisFreeMemory"
 0Ch	"NdisSetTimer"
 0Dh	"NdisCancelTimer"
 0Eh	"NdisStallExecution"
 0Fh	"NdisInitializeInterrupt"
 10h	"NdisRemoveInterrupt"
 11h	"NdisSynchronizeWithInterrupt"
 12h	"NdisOpenFile"
 13h	"NdisMapFile"
 14h	"NdisUnmapFile"
 15h	"NdisCloseFile"
 16h	"NdisAllocatePacketPool"
 17h	"NdisFreePacketPool"
 18h	"NdisAllocatePacket"
 19h	"NdisReinitializePacket"
 1Ah	"NdisFreePacket"
 1Bh	"NdisQueryPacket"
 1Ch	"NdisAllocateBufferPool"
 1Dh	"NdisFreeBufferPool"
 1Eh	"NdisAllocateBuffer"
 1Fh	"NdisCopyBuffer"
 20h	"NdisFreeBuffer"
 21h	"NdisQueryBuffer"
 22h	"NdisGetBufferPhysicalAddress"
 23h	"NdisChainBufferAtFront"
 24h	"NdisChainBufferAtBack"
 25h	"NdisUnchainBufferAtFront"
 26h	"NdisUnchainBufferAtBack"
 27h	"NdisGetNextBuffer"
 28h	"NdisCopyFromPacketToPacket"
 29h	"NdisRegisterProtocol"
 2Ah	"NdisDeregisterProtocol"
 2Bh	"NdisOpenAdapter"
 2Ch	"NdisCloseAdapter"
 2Dh	"NdisSend"
 2Eh	"NdisTransferData"
 2Fh	"NdisReset"
 30h	"NdisRequest"
 31h	"NdisInitializeWrapper"
 32h	"NdisTerminateWrapper"
 33h	"NdisRegisterMac"
 34h	"NdisDeregisterMac"
 35h	"NdisRegisterAdapter"
 36h	"NdisDeregisterAdapter"
 37h	"NdisCompleteOpenAdapter"
 38h	"NdisCompleteCloseAdapter"
 39h	"NdisCompleteSend"
 3Ah	"NdisCompleteTransferData"
 3Bh	"NdisCompleteReset"
 3Ch	"NdisCompleteRequest"
 3Dh	"NdisIndicateReceive"
 3Eh	"NdisIndicateReceiveComplete"
 3Fh	"NdisIndicateStatus"
 40h	"NdisIndicateStatusComplete"
 41h	"NdisCompleteQueryStatistics"
 42h	"NdisEqualString"
 43h	"NdisNetAddressStringToBinary"
 44h	"NdisReadNetworkAddress"
 45h	"NdisWriteErrorLogEntry"
 46h	"C_MapPhysToLinear"
 47h	"C_HeapFree"
 48h	"NdisAllocateSharedMemory"
 49h	"NdisFreeSharedMemory"
 ...
 5Fh	...last service for Windows95 SP1
SeeAlso: #01291,#01293

Top
20----Vx002A - INT 20 P - Microsoft Windows - VWIN32 - VxD SERVICES
INT 20 P - Microsoft Windows - VWIN32 - VxD SERVICES
	VxD = 002Ah
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01293)
Values for VWIN32 (VxD ID 002Ah) service number:
 0000h	"VWin32_Get_Version"
 0001h	"VWin32_Wake_For_Event"
 0002h	"_VWIN32_QueueUserApc"
 0003h	"_VWIN32_Get_Thread_Context"
 0004h	"_VWIN32_Set_Thread_Context"
 0005h	"_VWIN32_CopyMem"
 0006h	"_VWIN32_BlockForTermination"
 0007h	"_VWIN32_Emulate_Npx"
 0008h	"_VWIN32_CheckDelayedNpxTrap"
 0009h	"VWIN32_EnterCrstR0"
 000Ah	"VWIN32_LeaveCrstR0"
 000Bh	"_VWIN32_FaultPopup"
 000Ch	"VWIN32_GetContextHandle"
 000Dh	"VWIN32_GetCurrentProcessHandle"
 000Eh	"_VWIN32_SetWin32Event"
 000Fh	"_VWIN32_PulseWin32Event"
 0010h	"_VWIN32_ResetWin32Event"
 0011h	"_VWIN32_WaitSingleObject"
 0012h	"_VWIN32_WaitMultipleObjects"
 0013h	"_VWIN32_CreateRing0Thread"
 0014h	"_VWIN32_CloseVxDHandle"
 0015h	"VWIN32_ActiveTimeBiasSet"
 0016h	"VWIN32_GetCurrentDirectory"
 0017h	"VWIN32_BlueScreenPopup"
 0018h	"VWIN32_TerminateApp"
 0019h	"_VWIN32_QueueKernelAPC"
 001Ah	"VWIN32_SysErrorBox"
 001Bh	"_VWIN32_IsClientWin32"
 001Ch	"VWIN32_IFSRIPWhenLev2Taken"
SeeAlso: #01292,#01294

Top
20----Vx002B - INT 20 P - Microsoft Windows - VCOMM - VxD SERVICES
INT 20 P - Microsoft Windows - VCOMM - VxD SERVICES
	VxD = 002Bh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01294)
Values for VCOMM (VxD ID 002Bh) service number:
 0000h	"VCOMM_Get_Version"
 0001h	"_VCOMM_Register_Port_Driver"
 0002h	"_VCOMM_Acquire_Port"
 0003h	"_VCOMM_Release_Port"
 0004h	"_VCOMM_OpenComm"
 0005h	"_VCOMM_SetCommState"
 0006h	"_VCOMM_GetCommState"
 0007h	"_VCOMM_SetupComm"
 0008h	"_VCOMM_TransmitCommChar"
 0009h	"_VCOMM_CloseComm"
 000Ah	"_VCOMM_GetCommQueueStatus"
 000Bh	"_VCOMM_ClearCommError"
 000Ch	"_VCOMM_GetModemStatus"
 000Dh	"_VCOMM_GetCommProperties"
 000Eh	"_VCOMM_EscapeCommFunction"
 000Fh	"_VCOMM_PurgeComm"
 0010h	"_VCOMM_SetCommEventMask"
 0011h	"_VCOMM_GetCommEventMask"
 0012h	"_VCOMM_WriteComm"
 0013h	"_VCOMM_ReadComm"
 0014h	"_VCOMM_EnableCommNotification"
 0015h	"_VCOMM_GetLastError"
 0016h	"_VCOMM_Steal_Port"
 0017h	"_VCOMM_SetReadCallBack"
 0018h	"_VCOMM_SetWriteCallBack"
 0019h	"_VCOMM_GetSetCommTimeouts"
 001Ah	"_VCOMM_SetWriteRequest"
 001Bh	"_VCOMM_SetReadRequest"
 001Ch	"_VCOMM_Dequeue_Request"
 001Dh	"_VCOMM_Dequeue_Request"
 001Eh	"_VCOMM_Enumerate_DevNodes"
 001Fh	"VCOMM_Map_Win32DCB_To_Ring0"
 0020h	"VCOMM_Map_Ring0DCB_To_Win32"
 0021h	"_VCOMM_Get_Contention_Handler"
 0022h	"_VCOMM_Map_Name_To_Resource"
SeeAlso: #01293,#01295

Top
20----Vx002C - INT 20 P - Microsoft Windows - SPOOLER - VxD SERVICES
INT 20 P - Microsoft Windows - SPOOLER - VxD SERVICES
	VxD = 002Ch
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01295)
Values for SPOOLER (VxD ID 002Ch) service number:
 0000h	get version???
 0001h	???
 0010h	...last service for Windows95 SP1
SeeAlso: #01294,#01296

Top
20----Vx0032 - INT 20 P - Microsoft Windows - VSERVER - VxD SERVICES
INT 20 P - Microsoft Windows - VSERVER - VxD SERVICES
	VxD = 0032h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01296)
Values for VSERVER (VxD ID 0032h) service number:
 00h	get VSERVER version
	Return: CF clear
		EAX = version (AH = major, AL = minor)
		EBX = ??? (00000000h)
 01h	allocate ???
	AX = ???
	ESI = ???
	Return: CF clear if successful
		CF set on error (table full)
 02h	NOP???
	Return: EBX = 00000000h
 03h	???
	Return: ZF clear
SeeAlso: #01295,#01297,INT 2F/AX=1684h/BX=0032h

Top
20----Vx0033 - INT 20 P - Microsoft Windows - CONFIGMG - VxD SERVICES
INT 20 P - Microsoft Windows - CONFIGMG - VxD SERVICES
	VxD = 0033h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01297)
Values for CONFIGMG (VxD ID 0033h) service number:
 0000h	"_CONFIGMG_Get_Version"
 0001h	"_CONFIGMG_Initialize"
 0002h	"_CONFIGMG_Locate_DevNode"
 0003h	"_CONFIGMG_Get_Parent"
 0004h	"_CONFIGMG_Get_Child"
 0005h	"_CONFIGMG_Get_Sibling"
 0006h	"_CONFIGMG_Get_Device_ID_Size"
 0007h	"_CONFIGMG_Get_Device_ID"
 0008h	"_CONFIGMG_Get_Depth"
 0009h	"_CONFIGMG_Get_Private_DWord"
 000Ah	"_CONFIGMG_Set_Private_DWord"
 000Bh	"_CONFIGMG_Create_DevNode"
 000Ch	"_CONFIGMG_Query_Remove_SubTree"
 000Dh	"_CONFIGMG_Remove_SubTree"
 000Eh	"_CONFIGMG_Register_Device_Driver"
 000Fh	"_CONFIGMG_Register_Enumerator"
 0010h	"_CONFIGMG_Register_Arbitrator"
 0011h	"_CONFIGMG_Deregister_Arbitrator"
 0012h	"_CONFIGMG_Query_Arbitrator_Free_Size"
 0013h	"_CONFIGMG_Query_Arbitrator_Free_Data"
 0014h	"_CONFIGMG_Sort_NodeList"
 0015h	"_CONFIGMG_Yield"
 0016h	"_CONFIGMG_Lock"
 0017h	"_CONFIGMG_Unlock"
 0018h	"_CONFIGMG_Add_Empty_Log_Conf"
 0019h	"_CONFIGMG_Free_Log_Conf"
 001Ah	"_CONFIGMG_Get_First_Log_Conf"
 001Bh	"_CONFIGMG_Get_Next_Log_Conf"
 001Ch	"_CONFIGMG_Add_Res_Des"
 001Dh	"_CONFIGMG_Modify_Res_Des"
 001Eh	"_CONFIGMG_Free_Res_Des"
 001Fh	"_CONFIGMG_Get_Next_Res_Des"
 0020h	"_CONFIGMG_Get_Performance_Info"
 0021h	"_CONFIGMG_Get_Res_Des_Data_Size"
 0022h	"_CONFIGMG_Get_Res_Des_Data"
 0023h	"_CONFIGMG_Process_Events_Now"
 0024h	"_CONFIGMG_Create_Range_List"
 0025h	"_CONFIGMG_Add_Range"
 0026h	"_CONFIGMG_Delete_Range"
 0027h	"_CONFIGMG_Test_Range_Available"
 0028h	"_CONFIGMG_Dup_Range_List"
 0029h	"_CONFIGMG_Free_Range_List"
 002Ah	"_CONFIGMG_Invert_Range_List"
 002Bh	"_CONFIGMG_Intersect_Range_List"
 002Ch	"_CONFIGMG_First_Range"
 002Dh	"_CONFIGMG_Next_Range"
 002Eh	"_CONFIGMG_Dump_Range_List"
 002Fh	"_CONFIGMG_Load_DLVxDs"
 0030h	"_CONFIGMG_Get_DDBs"
 0031h	"_CONFIGMG_Get_CRC_CheckSum"
 0032h	"_CONFIGMG_Register_DevLoader"
 0033h	"_CONFIGMG_Reenumerate_DevNode"
 0034h	"_CONFIGMG_Setup_DevNode"
 0035h	"_CONFIGMG_Reset_Children_Marks"
 0036h	"_CONFIGMG_Get_DevNode_Status"
 0037h	"_CONFIGMG_Remove_Unmarked_Children"
 0038h	"_CONFIGMG_ISAPNP_To_CM"
 0039h	"_CONFIGMG_CallBack_Device_Driver"
 003Ah	"_CONFIGMG_CallBack_Enumerator"
 003Bh	"_CONFIGMG_Get_Alloc_Log_Conf"
 003Ch	"_CONFIGMG_Get_DevNode_Key_Size"
 003Dh	"_CONFIGMG_Get_DevNode_Key"
 003Eh	"_CONFIGMG_Read_Registry_Value"
 003Fh	"_CONFIGMG_Write_Registry_Value"
 0040h	"_CONFIGMG_Disable_DevNode"
 0041h	"_CONFIGMG_Enable_DevNode"
 0042h	"_CONFIGMG_Move_DevNode"
 0043h	"_CONFIGMG_Set_Bus_Info"
 0044h	"_CONFIGMG_Get_Bus_Info"
 0045h	"_CONFIGMG_Set_HW_Prof"
 0046h	"_CONFIGMG_Recompute_HW_Prof"
 0047h	"_CONFIGMG_Query_Change_HW_Prof"
 0048h	"_CONFIGMG_Get_Device_Driver_Private_DWord"
 0049h	"_CONFIGMG_Set_Device_Driver_Private_DWord"
 004Ah	"_CONFIGMG_Get_HW_Prof_Flags"
 004Bh	"_CONFIGMG_Set_HW_Prof_Flags"
 004Ch	"_CONFIGMG_Read_Registry_Log_Confs"
 004Dh	"_CONFIGMG_Run_Detection"
 004Eh	"_CONFIGMG_Call_At_Appy_Time"
 004Fh	"_CONFIGMG_Fail_Change_HW_Prof"
 0050h	"_CONFIGMG_Set_Private_Problem"
 0051h	"_CONFIGMG_Debug_DevNode"
 0052h	"_CONFIGMG_Get_Hardware_Profile_Info"
 0053h	"_CONFIGMG_Register_Enumerator_Function"
 0054h	"_CONFIGMG_Call_Enumerator_Function"
 0055h	"_CONFIGMG_Add_ID"
 0056h	"_CONFIGMG_Find_Range"
 0057h	"_CONFIGMG_Get_Global_State"
 0058h	"_CONFIGMG_Broadcast_Device_Change_Message"
 0059h	"_CONFIGMG_Call_DevNode_Handler"
 005Ah	"_CONFIGMG_Remove_Reinsert_All"
Note:	the VxD services appear to be identical to the PM/V86 APIs on
	  INT 2F/AX=1684h
SeeAlso: #01296,#01299,INT 2F/AX=1684h/BX=0033h

Top
20----Vx0034 - INT 20 P - Microsoft Windows - DWCFGMG.SYS - VxD SERVICES
INT 20 P - Microsoft Windows - DWCFGMG.SYS - VxD SERVICES
	VxD = 0034h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01298)
Values for DWCFGMG.SYS (VxD ID 0034h) service number:
 00h	"CM_GetVersion" get supported DDI version
	Return: EAX = 00000000h if not installed
		else
		    AH = major version number
		    AL = minor version number
		    EBX = number of devices controlled by DWCFGMG.SYS
 01h	"CM_GetConfig" get device configuration
	EBX = device index
	EDI -> buffer for configuration information (see #02675)
	Return: EAX = status (0000h successful, 0001h index out of range)
 02h	"CM_LockConfig" lock device configuration
	EDI -> configuration information (see #02675)
	Return: EAX = status
		    0000h successful
		    0001h resource conflict
		    0002h invalid request
 03h	"CM_UnlockConfig" unlock device configuration
	EDI -> configuration information (see #02675)
	Return: EAX = status (0000h successful, 0001h invalid request)
 04h	"CME_QueryResources"
 05h	"CME_AllocResources"
 06h	"CME_DeallocResources"
SeeAlso: INT 2F/AX=1684h/BX=0034h

Top
20----Vx0036 - INT 20 P - Microsoft Windows - VFBACKUP - VxD SERVICES
INT 20 P - Microsoft Windows - VFBACKUP - VxD SERVICES
	VxD = 0036h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01299)
Values for VFBACKUP (VxD ID 0036h) service number:
 0000h	get version
	Return: CF clear
		EAX = version (AH = major, AL = minor)
 0001h	"VFBACKUP_Lock_NEC"
 0002h	"VFBACKUP_UnLock_NEC"
 0003h	"VFBACKUP_Register_NEC"
 0004h	"VFBACKUP_Register_VFD"
 0005h	"VFBACKUP_Lock_All_Ports"
SeeAlso: #01297,#01300

Top
20----Vx0037 - INT 20 P - Microsoft Windows - VMINI / ENABLE - VxD SERVICES
INT 20 P - Microsoft Windows - VMINI / ENABLE - VxD SERVICES
	VxD = 0037h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01300)
Values for VMINI / ENABLE (VxD ID 0037h) service number:
 0000h	get version
	Return: CF clear
		EAX = version (AH = major, AL = minor)
 0001h	"VMINI_Update"
	??? (performs VMMCall 1800Eh, then falls through to service 04h)
	Return: EAX = system time???
 0002h	"VMINI_Status"
	get current ???
	Return: EAX = ???
 0003h	"VMINI_DisplayError" (schedules a global event via VMMCall 1800Eh)
	Return: ???
 0004h	"VMINI_SetTimeStamp" (performs VMMCall 100CFh)
	Return: EAX = system time
 0005h	"VMINI_Siren" (call ??? priority event)
	Return: nothing
 0006h	"VMINI_RegisterAccess" (set ??? / get ???)
	EDI -> buffer containing data to copy into VxD and space for results
	Return: EDI buffer updated
 0007h	"VMINI_GetData"
	EBX = ??? flags (bits 2,15,17,18 checked)
	EDI -> ???
	???
	Return: ???
 0008h	"VMINI_ShutDownItem" (schedules a global event via VMMCall 1800Eh)
	Return: ???
 0009h	"VMINI_RegisterSK" (get ??? data)
	EDI -> buffer for data (see #01301)
	Return:	EDI buffer updated if large enough
SeeAlso: #01299,#01302,#02677 at INT 2F/AX=1684h/BX=0037h

Format of ENABLE.VXD ??? data:
Offset	Size	Description	(Table 01301)
 00h	DWORD	(ret) length of data, including this word
		(call) length of buffer
 04h	DWORD	-> 24-byte (or larger) buffer
 08h	DWORD	-> 20-byte buffer
 0Ch	DWORD	-> 260-byte buffer
 10h	DWORD	-> 260-byte buffer
SeeAlso: #01300

Top
20----Vx0038 - INT 20 P - Microsoft Windows - VCOND - VxD SERVICES
INT 20 P - Microsoft Windows - VCOND - VxD SERVICES
	VxD = 0038h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01302)
Values for VCOND (VxD ID 0038h) service number:
 0000h	get VCOND version
	Return: CF clear
		EAX = version (AH = major, AL = minor)
 0001h	"VCOND_Launch_ConApp_Inherited"
SeeAlso: #01303,#01300,#01304

(Table 01303)
Values for Windows95 VCOND (Vxd ID 0038h) Win32 service number:
 00h	get VCOND version
	Return: EAX = version (AH = major, AL = minor)
 ...
 34h	...last Win32 service for Windows95 SP1
SeeAlso: #01302

Top
20----Vx003D - INT 20 P - Microsoft Windows - BIOS - VxD SERVICES
INT 20 P - Microsoft Windows - BIOS - VxD SERVICES
	VxD = 003Dh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01304)
Values for BIOS (VxD ID 003Dh) service number:
 00h	get version???
 01h	???
 02h	???
 03h	???
SeeAlso: #01302,#01305

Top
20----Vx003E - INT 20 P - Microsoft Windows - WSOCK - VxD SERVICES
INT 20 P - Microsoft Windows - WSOCK - VxD SERVICES
	VxD = 003Eh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01305)
Values for WSOCK (VxD ID 003Eh) service number:
 00h	get WSOCK version
	Return: CF clear
		AH = major version
		AL = minor version
		EAX high word = 0000h
 01h	???
	EAX = ??? or 00000000h
	Return: CF clear if successful
		    EAX = 00000000h
		CF set on error
		    EAX = ???
 02h	???
	EAX = ??? or 00000000h
	Return: ???
 03h	???
 04h	...last service for Windows95 SP1
SeeAlso: #01304,#01306

Top
20----Vx0040 - INT 20 P - Microsoft Windows - IFSMgr - VxD SERVICES
INT 20 P - Microsoft Windows - IFSMgr - VxD SERVICES
	VxD = 0040h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01306)
Values for IFSMGR (VxD ID 0040h) service number:
 00h	get version
 01h	"RegisterMount"
 02h	"RegisterNet"
 03h	"RegisterMailSlot"
 04h	"Attach"
 05h	"Detach"
 06h	"Get_NetTime"
 07h	"Get_DOSTime"
 08h	"SetupConnection"
 09h	"DerefConnection"
 0Ah	"ServerDOSCall"
 0Bh	"CompleteAsync"
 0Ch	"RegisterHeap"
 0Dh	"GetHeap"
 0Eh	"RetHeap"
 0Fh	"CheckHeap"
 10h	"CheckHeapItem"
 11h	"FillHeapSpare"
 12h	"Block"
 13h	"Wakeup"
 14h	"Yield"
 15h	"SchedEvent"
 16h	"QueueEvent"
 17h	"KillEvent"
 18h	"FreeIOReg"
 19h	"MakeMailSlot"
 1Ah	"DeleteMailSlot"
 1Bh	"WriteMailSlot"
 1Ch	"PopUp"
 1Dh	"printf"
 1Eh	"AssertFailed"
 1Fh	"LogEntry"
 20h	"DebugMenu"
 21h	"DebugVars"
 22h	"GetDebugString"
 23h	"GetDebugHexNum"
 24h	"NetFunction"
 25h	"DoDelAllUses"
 26h	"SetErrString"
 27h	"GetErrString"
 28h	"SetReqHook"
 29h	"SetPathHook"
 2Ah	"UseAdd"
 2Bh	"UseDel"
 2Ch	"InitUseAdd"
 2Dh	"ChangeDir"
 2Eh	"DelAllUses"
 2Fh	"CDROM_Attach"
 30h	"CDROM_Detach"
 31h	"Win32DupHandle"
 32h	"Ring0_FileIO"
 33h	"Toggle_Extended_File_Handle"
 34h	"IFSMgr_GetDrive_Info"
 35h	"IFSMgr_Ring0GetDriveInfo"
 36h	"IFSMgr_BlockNoEvents"
 37h	"IFSMgr_NetToDosTime"
 38h	"IFSMgr_DosToNetTime"
 39h	"IFSMgr_DosToWin32Time"
 3Ah	"IFSMgr_Win32ToDosTime"
 3Bh	"IFSMgr_NetToWin32Time"
 3Ch	"IFSMgr_Win32ToNetTime"
 3Dh	"IFSMgr_MetaMatch"
 3Eh	"IFSMgr_TransMatch"
 3Fh	"IFSMgr_CallProvider"
 40h	"UniToBCS"
 41h	"UniToBCSPath"
 42h	"BCSToUni"
 43h	"UniToUpper"
 44h	"UniCharToOEM"
 45h	"CreateBasis"
 46h	"MatchBasisName"
 47h	"AppendBasisTail"
 48h	"FcbToShort"
 49h	"ShortToFcb"
 4Ah	"IFSMgr_ParsePath"
 4Bh	"Query_PhysLock"
 4Ch	"_VolFlush"
 4Dh	"NotifyVolumeArrival"
 4Eh	"NotifyVolumeRemoval"
 4Fh	"QueryVolumeRemoval"
 50h	"IFSMgr_FSDUnmountCFSD"
 51h	"IFSMgr_GetConversionTablePtrs"
 52h	"IFSMgr_CheckAccessConflict"
 53h	"IFSMgr_LockFile"
 54h	"IFSMgr_UnlockFile"
 55h	"IFSMgr_RemoveLocks"
 56h	"IFSMgr_CheckLocks"
 57h	"IFSMgr_CountLocks"
 58h	"IFSMgr_ReassignLockFileInst"
 59h	"IFSMgr_UnassignLockList"
 5Ah	"IFSMgr_MountChildVolume"
 5Bh	"IFSMgr_UnmountChildVolume"
 5Ch	"IFSMgr_SwapDrives"
 5Dh	"IFSMgr_FSDMapFHtoIOREQ"
 5Eh	"IFSMgr_FSDParsePath"
 5Fh	"IFSMgr_FSDAttachSFT"
 60h	"IFSMgr_GetTimeZoneBias"
 61h	"IFSMgr_PNPEvent"
 62h	"IFSMgr_RegisterCFSD"
 63h	"IFSMgr_Win32MapExtendedHandleToSFT"
 64h	"IFSMgr_DbgSetFileHandleLimit"
 65h	"IFSMgr_Win32MapSFTToExtendedHandle"
 66h	"IFSMgr_FSDGetCurrentDrive"
 67h	"IFSMgr_InstallFileSystemApiHook"
 68h	"IFSMgr_RemoveFileSystemApiHook"
 69h	"IFSMgr_RunScheduledEvents"
 6Ah	"IFSMgr_CheckDelResource"
 6Bh	"IFSMgr_Win32GetVMCurdir"
 6Ch	"IFSMgr_SetupFailedConnection"
 6Dh	"_GetMappedErr"
 6Eh	"ShortToLossyFcb"
 6Fh	"IFSMgr_GetLockState"
 70h	"BcsToBcs"
 71h	"IFSMgr_SetLoopback"
 72h	"IFSMgr_ClearLoopback"
 73h	"IFSMgr_ParseOneElement"
 74h	"BcsToBcsUpper"
SeeAlso: #01305,#01307

Top
20----Vx0041 - INT 20 P - Microsoft Windows - VCDFSD - VxD SERVICES
INT 20 P - Microsoft Windows - VCDFSD - VxD SERVICES
	VxD = 0041h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01307)
Values for VCDFSD (VxD ID 0041h) service number:
 00h	get VCDFSD version???
 01h	???
 02h	???
 03h	???
SeeAlso: #01306,#01308

Top
20----Vx0048 - INT 20 P - Microsoft Windows - PERF - VxD SERVICES
INT 20 P - Microsoft Windows - PERF - VxD SERVICES
	VxD = 0048h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01308)
Values for PERF (VxD ID 0048h) service number:
 00h	get version
	Return: CF clear
		EAX = version (AH = major, AL = minor)
 01h	"PERF_Server_Register"
	(creates/sets a registry key for the server)
 02h	"PERF_Server_Deregister"
	end performance monitoring (deletes registry key for server)
 03h	"PERF_Server_Add_Stat"
	start performance monitoring (creates/sets a registry key)
 04h	"PERF_Server_Remove_Stat"
	end performance monitoring (deletes registry key)
SeeAlso: #01307,#01311,#01309

Top
20----Vx004A - INT 20 P - Microsoft Windows - MTRR - VxD SERVICES
INT 20 P - Microsoft Windows - MTRR - VxD SERVICES
	VxD = 004Ah
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01309)
Values for MTRR (VxD ID 004Ah) service number:
 00h	get version
 01h	??? (highest service defined for Win95B)
SeeAlso: #01308,#01310

Top
20----Vx004B - INT 20 P - Microsoft Windows - NTKERN - VxD SERVICES
INT 20 P - Microsoft Windows - NTKERN - VxD SERVICES
	VxD = 004Bh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01310)
Values for NTKERN (VxD ID 004Bh) service number:
 00h	get version???
 ...
 08h	??? (highest service defined for Win95B)
SeeAlso: #01309,#01311

Top
20----Vx011F - INT 20 P - Microsoft Windows - VFLATD - VxD SERVICES
INT 20 P - Microsoft Windows - VFLATD - VxD SERVICES
	VxD = 011Fh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01311)
Values for VFLATD (VxD ID 011Fh) service number:
 00h	get VFLATD version???
 01h	???
SeeAlso: #01308,#01312

Top
20----Vx0449 - INT 20 P - Microsoft Windows - vjoyd - VxD SERVICES
INT 20 P - Microsoft Windows - vjoyd - VxD SERVICES
	VxD = 0449h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01312)
Values for vjoyd (VxD ID 0449h) service number:
 00h	get vjoyd version???
 01h	???
SeeAlso: #01311,#01313

Top
20----Vx044A - INT 20 P - Microsoft Windows - mmdevldr - VxD SERVICES
INT 20 P - Microsoft Windows - mmdevldr - VxD SERVICES
	VxD = 044Ah
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01313)
Values for mmdevldr (VxD ID 044Ah) service number:
 00h	get mmdevldr version???
 01h	???
 02h	???
 03h	???
 04h	???
 05h	???
SeeAlso: #01312,#01314

Top
20----Vx0480 - INT 20 P - Microsoft Windows - VNetSup - VxD SERVICES
INT 20 P - Microsoft Windows - VNetSup - VxD SERVICES
	VxD = 0480h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01314)
Values for VNetSup (VxD ID 0480h) service number:
 00h	get VNetSup version???
 01h	???
 02h	???
 03h	???
 04h	???
 05h	???
 06h	???
SeeAlso: #01313,#01315

Top
20----Vx0481 - INT 20 P - Microsoft Windows - VREDIR - VxD SERVICES
INT 20 P - Microsoft Windows - VREDIR - VxD SERVICES
	VxD = 0481h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01315)
Values for VREDIR (VxD ID 0481h) service number:
 0000h	"VRedir_Get_Version"
 0001h	"VRedir_Register"
 0002h	"VRedir_MakeMailSlot"
 0003h	"VRedir_DeleteMailSlot"
 0004h	"VRedir_ServerEnum"
 0010h	...last service for Windows95 SP1
SeeAlso: #01314,#01316

Top
20----Vx0483 - INT 20 P - Microsoft Windows - VSHARE - VxD SERVICES
INT 20 P - Microsoft Windows - VSHARE - VxD SERVICES
	VxD = 0483h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01316)
Values for VSHARE (VxD ID 0483h) service number:
 00h	get VSHARE version???
SeeAlso: #01315,#01317

Top
20----Vx0487 - INT 20 P - Microsoft Windows - NWLINK - VxD SERVICES
INT 20 P - Microsoft Windows - NWLINK - VxD SERVICES
	VxD = 0487h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01317)
Values for NWLINK (VxD ID 0487h) service number:
 00h	get NWLINK version???
 01h	???
 06h	...last service for Windows95 SP1
SeeAlso: #01316,#01318,#02642

Top
20----Vx0488 - INT 20 P - Microsoft Windows - VTDI - VxD SERVICES
INT 20 P - Microsoft Windows - VTDI - VxD SERVICES
	VxD = 0488h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01318)
Values for VTDI (VxD ID 0488h) service number:
 00h	get VTDI version???
 01h	???
 08h	get ???
	seen called with DWORD -> ASCIZ "MSTCP" on stack, returning EAX=???
 0Dh	...last service for Windows95 SP1
SeeAlso: #01317,#01319

Top
20----Vx0489 - INT 20 P - Microsoft Windows - VIP - VxD SERVICES
INT 20 P - Microsoft Windows - VIP - VxD SERVICES
	VxD = 0489h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01319)
Values for VIP (VxD ID 0489h) service number:
 00h	get VIP version???
 01h	???
 05h	???
 06h	???
	returns EAX=0/1
 08h	...last service for Windows95 SP1
---Frontier Technologies' FTCVIP---
 09h	???
	returns EAX=1
SeeAlso: #01318,#01320

Top
20----Vx048A - INT 20 P - Microsoft Windows - MSTCP - VxD SERVICES
INT 20 P - Microsoft Windows - MSTCP - VxD SERVICES
	VxD = 048Ah
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01320)
Values for MSTCP (VxD ID 048Ah) service number:
 00h	get MSTCP version???
SeeAlso: #01319,#01321

Top
20----Vx048B - INT 20 P - Microsoft Windows - VCACHE - VxD SERVICES
INT 20 P - Microsoft Windows - VCACHE - VxD SERVICES
	VxD = 048Bh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01321)
Values for VCACHE (VxD ID 048Bh) service number:
 0000h	"VCACHE_Get_Version"
 0001h	"VCACHE_Register"
 0002h	"VCACHE_GetSize"
 0003h	"VCACHE_CheckAvail"
 0004h	"VCACHE_FindBlock"
 0005h	"VCACHE_FreeBlock"
 0006h	"VCACHE_MakeMRU"
 0007h	"VCACHE_Hold"
 0008h	"VCACHE_Unhold"
 0009h	"VCACHE_Enum"
 000Ah	"VCACHE_TestHandle"
 000Bh	"VCACHE_VerifySums"
 000Ch	"VCACHE_RecalcSums"
 000Dh	"VCACHE_TestHold"
 000Eh	"VCACHE_GetStats"
 000Fh	"VCache_Deregister"
 0010h	"VCache_AdjustMinimum"
 0011h	"VCache_SwapBuffers"
 0012h	"VCache_RelinquishPage"
 0013h	"VCache_UseThisPage"
 0014h	"_VCache_CreateLookupCache"
 0015h	"_VCache_CloseLookupCache"
 0016h	"_VCache_DeleteLookupCache"
 0017h	"_VCache_Lookup"
 0018h	"_VCache_UpdateLookup"
SeeAlso: #01320,#01322

Top
20----Vx048E - INT 20 P - Microsoft Windows - NWREDIR - VxD SERVICES
INT 20 P - Microsoft Windows - NWREDIR - VxD SERVICES
	VxD = 048Eh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01322)
Values for NWREDIR (VxD ID 048Eh) service number:
 00h	get NWREDIR version???
 01h	???
SeeAlso: #01321,#01323

Top
20----Vx0491 - INT 20 P - Microsoft Windows - FILESEC - VxD SERVICES
INT 20 P - Microsoft Windows - FILESEC - VxD SERVICES
	VxD = 0491h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01323)
Values for FILESEC (VxD ID 0491h) service number:
 00h	get FILESEC version???
 01h	???
 10h	...last service for Windows95 SP1
SeeAlso: #01322,#01324

Top
20----Vx0492 - INT 20 P - Microsoft Windows - NWSERVER - VxD SERVICES
INT 20 P - Microsoft Windows - NWSERVER - VxD SERVICES
	VxD = 0492h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01324)
Values for NWSERVER (VxD ID 0492h) service number:
 00h	get NWSERVER version???
 01h	???
 02h	???
 03h	???
SeeAlso: #01323,#01325

Top
20----Vx0493 - INT 20 P - Microsoft Windows - MSSP / NWSP - VxD SERVICES
INT 20 P - Microsoft Windows - MSSP / NWSP - VxD SERVICES
	VxD = 0493h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01325)
Values for MSSP/NWSP (VxD ID 0493h) service number:
 00h	get NSSP / NWSP version???
 01h	???
 06h	...last service for Windows95 SP1
SeeAlso: #01324,#01326

Top
20----Vx0494 - INT 20 P - Microsoft Windows - NSCL - VxD SERVICES
INT 20 P - Microsoft Windows - NSCL - VxD SERVICES
	VxD = 0494h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01326)
Values for NSCL (VxD ID 0494h)	service number:
 00h	get NSCL version???
 01h	???
 02h	???
SeeAlso: #01325,#01327

Top
20----Vx0495 - INT 20 P - Microsoft Windows - AFVXD - VxD SERVICES
INT 20 P - Microsoft Windows - AFVXD - VxD SERVICES
	VxD = 0495h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01327)
Values for AFVXD (VxD ID 0495h) service number:
 00h	get version
	Return: CF clear
		AX = version (AH = high, AL = low)
 01h	???
	EAX -> ???
	EBX -> ???
	ECX = ???
	Return:	???
 02h	???
	EAX -> ???
	Return: ???
SeeAlso: #01326,#01328

Top
20----Vx0496 - INT 20 P - Microsoft Windows - NDIS2SUP - VxD SERVICES
INT 20 P - Microsoft Windows - NDIS2SUP - VxD SERVICES
	VxD = 0496h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier (see #02642)
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01328)
Values for NDIS2SUP (VxD ID 0496h) service number:
 00h	get NDIS2SUP version???
 01h	???
SeeAlso: #01327,#01329

Top
20----Vx0498 - INT 20 P - Microsoft Windows - Splitter - VxD SERVICES
INT 20 P - Microsoft Windows - Splitter - VxD SERVICES
	VxD = 0498h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier (see #02642)
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01329)
Values for Splitter (VxD ID 0498h) service number:
 00h	get Splitter version
	Return:	CF clear
		EAX = version (00000001h)
 01h	???
 02h	???
 03h	hook/unhook VMM "hook device service" service
	EAX = request (0 = unhook, nonzero = hook)
	Return: if EAX nonzero on entry, Splitter's service 04h replaces VMM
		  service 0090h; otherwise, default handler is restored
 04h	Splitter "hook device service" handler
SeeAlso: #01328,#01330

Top
20----Vx0499 - INT 20 P - Microsoft Windows - PPPMAC - VxD SERVICES
INT 20 P - Microsoft Windows - PPPMAC - VxD SERVICES
	VxD = 0499h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier (see #02642)
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01330)
Values for PPPMAC (VxD ID 0499h) service number:
 00h	???
 09h	...last service for Windows95 SP1
SeeAlso: #01329,#01331,#02642

Top
20----Vx049A - INT 20 P - Microsoft Windows - VDHCP - VxD SERVICES
INT 20 P - Microsoft Windows - VDHCP - VxD SERVICES
	VxD = 049Ah
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier (see #02642)
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01331)
Values for VDHCP (VxD ID 049Ah) service number:
 00h	get VDHCP version???
 01h	???
 02h	???
 03h	???
SeeAlso: #01330,#01332

Top
20----Vx049B - INT 20 P - Microsoft Windows - VNBT - VxD SERVICES
INT 20 P - Microsoft Windows - VNBT - VxD SERVICES
	VxD = 049Bh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier (see #02642)
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01332)
Values for VNBT (VxD ID 049Bh) service number:
 00h	get VNBT version???
SeeAlso: #01331,#01333

Top
20----Vx049D - INT 20 P - Microsoft Windows - LOGGER - VxD SERVICES
INT 20 P - Microsoft Windows - LOGGER - VxD SERVICES
	VxD = 049Dh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier (see #02642)
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01333)
Values for LOGGER (VxD ID 049Dh) service number:
 00h	get LOGGER version???
 01h	???
 02h	???
 03h	???
 04h	???
SeeAlso: #01332,#01334

Top
20----Vx097C - INT 20 P - Microsoft Windows - PCCARD - VxD SERVICES
INT 20 P - Microsoft Windows - PCCARD - VxD SERVICES
	VxD = 097Ch
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier (see #02642)
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01334,#01340

(Table 01334)
Values for PCCARD (VxD ID 097Ch) service number:
 0000h	"PCCARD_Get_Version"
 0001h	"PCCARD_Card_Services"
SeeAlso: #01333,#01337

Top
20----Vx3048 - INT 20 P - Frontier Technologies ??? - VxD SERVICES
INT 20 P - Frontier Technologies ??? - VxD SERVICES
	VxD = 3048h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01335

(Table 01335)
Values for ??? (VxD ID 3048h) service number:
 00h	get version???
 03h	???
	called with 5 DWORDs on stack, returns EAX=???, ECX nonzero on error
 04h	???
	called with DWORD on stack, returns EAX=???, ECX nonzero on error
 06h	???
	called with DWORD on stack, returns EAX=???, ECX nonzero on error
 07h	???
	called with 3 DWORDs on stack, returns EAX=???, ECX nonzero on error
 0Bh	???
	called with 2 DWORDs on stack, returns EAX=???, ECX nonzero on error
 0Ch	???
	called with 2 DWORDs on stack, returns EAX=???, ECX nonzero on error
 0Dh	???
	called with 6 DWORDs on stack, returns EAX=???, ECX nonzero on error
 1Ah	???
	called with 3 DWORDs on stack
SeeAlso: #01336

Top
20----Vx3049 - INT 20 P - Frontier Technologies ??? - VxD SERVICES
INT 20 P - Frontier Technologies ??? - VxD SERVICES
	VxD = 3049h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01336

(Table 01336)
Values for ??? (VxD ID 3049h) service number:
 00h	get version???
 1Dh	???
	called with 2 DWORDs on stack; returns EAX=???, ECX nonzero on error
 1Eh	???
	called with 6 DWORDs on stack; returns EAX=???, ECX nonzero on error
SeeAlso: #01335

Top
20----Vx3098 - INT 20 P - QEMM - VstlthD - VxD SERVICES
INT 20 P - QEMM - VstlthD - VxD SERVICES
	VxD = 3098h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01337)
Values for VStlthD (VxD ID 3098h) service number:
 00h	get version
	Return:	CF clear
		EAX = version (AH = major, AL = BCD minor)
 01h	???
 02h	get current ???
	Return: CF clear
		EDX = current value of ???
 03h	???
SeeAlso: #01334,#01338

Top
20----Vx30F6 - INT 20 P - Microsoft Windows - WSVV - VxD SERVICES
INT 20 P - Microsoft Windows - WSVV - VxD SERVICES
	VxD = 30F6h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01338)
Values for WSVV (VxD ID 30F6h) service number:
 00h	get WSVV version???
SeeAlso: #01337,#01339

Top
20----Vx33FC - INT 20 P - Microsoft Windows - ASPIENUM - VxD SERVICES
INT 20 P - Microsoft Windows - ASPIENUM - VxD SERVICES
	VxD = 33FCh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01339)
Values for ASPIENUM (VxD ID 33FCh) service number:
 00h	get ASPIENUM version???
 01h	???
 02h	???
 03h	???
SeeAlso: #01338,#01340

Top
20----Vx357E - INT 20 P - Microsoft Windows - DSOUND - VxD SERVICES
INT 20 P - Microsoft Windows - DSOUND - VxD SERVICES
	VxD = 357Eh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01340)
Values for DSOUND (VxD ID 357Eh) service number:
 00h	get DSOUND version???
 01h	???
 02h	???
SeeAlso: #01339,#01341

Top
20----Vx39E6 - INT 20 P - Microsoft Windows - A3D - VxD SERVICES
INT 20 P - Microsoft Windows - A3D - VxD SERVICES
	VxD = 39E6h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340


(Table 01341)
Values for A3D (VxD ID 39E6h) service number:
 00h	get version???
 01h	???
 02h	??? (highest service defined)
SeeAlso: #01340,#01342

Top
20----Vx3BFD - INT 20 P - Microsoft Windows - CWCPROXY - VxD SERVICES
INT 20 P - Microsoft Windows - CWCPROXY - VxD SERVICES
	VxD = 3BFDh
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01342)
Values for CWCPROXY (VxD ID 3BFDh) service number:
 00h	get version???
 ...
 03h	??? (highest service defined)
SeeAlso: #01341,#01343

Top
20----Vx3C78 - INT 20 P - Microsoft Windows - VGARTD - VxD SERVICES
INT 20 P - Microsoft Windows - VGARTD - VxD SERVICES
	VxD = 3C78h
Note:	the desired VxD and service number are identified by the data
	  immediately following the INT 20 instruction, as in:
		INT	20h
		DW	service number
		DW	VxD identifier
SeeAlso: INT 2F/AX=1684h"DEVICE API",INT 30"Windows",#01265,#01340

(Table 01343)
Values for VGARTD (VxD ID 3C78h) service number:
 00h	get version???
 ...
 05h	??? (highest service defined)
SeeAlso: #01342,#02642

Top
21 - INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE
INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE
	???
Return: AX = first segment available for control program use
SeeAlso: INT 20"COMTROL",INT 22"COMTROL"

Top
2100 - INT 21 - DOS 1+ - TERMINATE PROGRAM
INT 21 - DOS 1+ - TERMINATE PROGRAM
	AH = 00h
	CS = PSP segment
Notes:	Microsoft recommends using INT 21/AH=4Ch for DOS 2+
	this function sets the program's return code (ERRORLEVEL) to 00h
	execution continues at the address stored in INT 22 after DOS performs
	  whatever cleanup it needs to do (restoring the INT 22,INT 23,INT 24
	  vectors from the PSP assumed to be located at offset 0000h in the
	  segment indicated by the stack copy of CS, etc.)
	if the PSP is its own parent, the process's memory is not freed; if
	  INT 22 additionally points into the terminating program, the
	  process is effectively NOT terminated
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=26h,AH=31h,AH=4Ch,INT 20,INT 22

Top
2101 - INT 21 - DOS 1+ - READ CHARACTER FROM STANDARD INPUT, WITH ECHO
INT 21 - DOS 1+ - READ CHARACTER FROM STANDARD INPUT, WITH ECHO
	AH = 01h
Return: AL = character read
Notes:	^C/^Break are checked, and INT 23 executed if read
	^P toggles the DOS-internal echo-to-printer flag
	^Z is not interpreted, thus not causing an EOF if input is redirected
	character is echoed to standard output
	standard input is always the keyboard and standard output the screen
	  under DOS 1.x, but they may be redirected under DOS 2+
SeeAlso: AH=06h,AH=07h,AH=08h,AH=0Ah

Top
21010F - INT 21 - VIRUS - "Susan" - INSTALLATION CHECK
INT 21 - VIRUS - "Susan" - INSTALLATION CHECK
	AX = 010Fh
Return: AX = 7553h ("Su") if resident
SeeAlso: INT 16/AH=DDh"VIRUS",INT 21/AX=0B56h

Top
2102 - INT 21 - DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT
INT 21 - DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT
	AH = 02h
	DL = character to write
Return: AL = last character output (despite the official docs which state
		nothing is returned) (at least DOS 2.1-7.0)
Notes:	^C/^Break are checked, and INT 23 executed if pressed
	standard output is always the screen under DOS 1.x, but may be
	  redirected under DOS 2+
	the last character output will be the character in DL unless DL=09h
	  on entry, in which case AL=20h as tabs are expanded to blanks
	if standard output is redirected to a file, no error checks (write-
	  protected, full media, etc.) are performed
SeeAlso: AH=06h,AH=09h

Top
2103 - INT 21 - DOS 1+ - READ CHARACTER FROM STDAUX
INT 21 - DOS 1+ - READ CHARACTER FROM STDAUX
	AH = 03h
Return: AL = character read
Notes:	keyboard checked for ^C/^Break, and INT 23 executed if detected
	STDAUX is usually the first serial port
SeeAlso: AH=04h,INT 14/AH=02h,INT E0/CL=03h

Top
2104 - INT 21 - DOS 1+ - WRITE CHARACTER TO STDAUX
INT 21 - DOS 1+ - WRITE CHARACTER TO STDAUX
	AH = 04h
	DL = character to write
Notes:	keyboard checked for ^C/^Break, and INT 23 executed if detected
	STDAUX is usually the first serial port
	if STDAUX is busy, this function will wait until it becomes free
SeeAlso: AH=03h,INT 14/AH=01h,INT E0/CL=04h

Top
2105 - INT 21 - DOS 1+ - WRITE CHARACTER TO PRINTER
INT 21 - DOS 1+ - WRITE CHARACTER TO PRINTER
	AH = 05h
	DL = character to print
Notes:	keyboard checked for ^C/^Break, and INT 23 executed if detected
	STDPRN is usually the first parallel port, but may be redirected under
	  DOS 2+
	if the printer is busy, this function will wait
SeeAlso: INT 17/AH=00h

Top
2106 - INT 21 - DOS 1+ - DIRECT CONSOLE OUTPUT
INT 21 - DOS 1+ - DIRECT CONSOLE OUTPUT
	AH = 06h
	DL = character (except FFh)
Return: AL = character output (despite official docs which state nothing is
		returned) (at least DOS 2.1-7.0)
Notes:	does not check ^C/^Break
	writes to standard output, which is always the screen under DOS 1.x,
	  but may be redirected under DOS 2+
SeeAlso: AH=02h,AH=09h

Top
2106--DLFF - INT 21 - DOS 1+ - DIRECT CONSOLE INPUT
INT 21 - DOS 1+ - DIRECT CONSOLE INPUT
	AH = 06h
	DL = FFh
Return: ZF set if no character available
	    AL = 00h
	ZF clear if character available
	    AL = character read
Notes:	^C/^Break are NOT checked
	if the returned character is 00h, the user pressed a key with an
	  extended keycode, which will be returned by the next call of this
	  function
	this function reads from standard input, which is always the keyboard
	  under DOS 1.x, but may be redirected under DOS 2+
	although the return of AL=00h when no characters are available is not
	  documented, some programs rely on this behavior
SeeAlso: AH=0Bh

Top
2107 - INT 21 - DOS 1+ - DIRECT CHARACTER INPUT, WITHOUT ECHO
INT 21 - DOS 1+ - DIRECT CHARACTER INPUT, WITHOUT ECHO
	AH = 07h
Return: AL = character read from standard input
Notes:	does not check ^C/^Break
	standard input is always the keyboard under DOS 1.x, but may be
	  redirected under DOS 2+
	if the interim console flag is set (see AX=6301h), partially-formed
	  double-byte characters may be returned
SeeAlso: AH=01h,AH=06h,AH=08h,AH=0Ah

Top
2108 - INT 21 - DOS 1+ - CHARACTER INPUT WITHOUT ECHO
INT 21 - DOS 1+ - CHARACTER INPUT WITHOUT ECHO
	AH = 08h
Return: AL = character read from standard input
Notes:	^C/^Break are checked, and INT 23 executed if detected
	standard input is always the keyboard under DOS 1.x, but may be
	  redirected under DOS 2+
	if the interim console flag is set (see AX=6301h), partially-formed
	  double-byte characters may be returned
SeeAlso: AH=01h,AH=06h,AH=07h,AH=0Ah,AH=64h"DOS 3.2+"

Top
2109 - INT 21 - DOS 1+ - WRITE STRING TO STANDARD OUTPUT
INT 21 - DOS 1+ - WRITE STRING TO STANDARD OUTPUT
	AH = 09h
	DS:DX -> '$'-terminated string
Return: AL = 24h (the '$' terminating the string, despite official docs which
		state that nothing is returned) (at least DOS 2.1-7.0 and
		NWDOS)
Notes:	^C/^Break are checked, and INT 23 is called if either pressed
	standard output is always the screen under DOS 1.x, but may be
	  redirected under DOS 2+
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
SeeAlso: AH=02h,AH=06h"OUTPUT"

Top
210A - INT 21 - DOS 1+ - BUFFERED INPUT
INT 21 - DOS 1+ - BUFFERED INPUT
	AH = 0Ah
	DS:DX -> buffer (see #01344)
Return: buffer filled with user input
Notes:	^C/^Break are checked, and INT 23 is called if either detected
	reads from standard input, which may be redirected under DOS 2+
	if the maximum buffer size (see #01344) is set to 00h, this call returns
	  immediately without reading any input
SeeAlso: AH=0Ch,INT 2F/AX=4810h

Format of DOS input buffer:
Offset	Size	Description	(Table 01344)
 00h	BYTE	maximum characters buffer can hold
 01h	BYTE	(call) number of chars from last input which may be recalled
		(ret) number of characters actually read, excluding CR
 02h  N BYTEs	actual characters read, including the final carriage return

Top
210A00 - INT 21 - WCED v1.6+ - INSTALLATION CHECK
INT 21 - WCED v1.6+ - INSTALLATION CHECK
	AX = 0A00h
	DS:DX -> 6-byte buffer whose first two bytes must be 00h
Return: buffer offset 02h-05h filled with "Wced" if installed
Program: WCED is a free command-line editor and history utility by Stuart
	  Russell
SeeAlso: AH=FFh"CED"

Top
210B - INT 21 - DOS 1+ - GET STDIN STATUS
INT 21 - DOS 1+ - GET STDIN STATUS
	AH = 0Bh
Return: AL = status
	    00h if no character available
	    FFh if character is available
Notes:	^C/^Break are checked, and INT 23 is called if either pressed
	standard input is always the keyboard under DOS 1.x, but may be
	  redirected under DOS 2+
	if the interim console flag is set (see AX=6301h), this function
	  returns AL=FFh if a partially-formed double-byte character is
	  available
SeeAlso: AH=06h"INPUT",AX=4406h

Top
210B56 - INT 21 - VIRUS - "Perfume" - INSTALLATION CHECK
INT 21 - VIRUS - "Perfume" - INSTALLATION CHECK
	AX = 0B56h
Return: AX = 4952h if resident
SeeAlso: AX=0D20h,INT 12/AX=4350h/BX=4920h,INT 13/AH=F2h,INT 21/AX=010Fh

Top
210C - INT 21 - DOS 1+ - FLUSH BUFFER AND READ STANDARD INPUT
INT 21 - DOS 1+ - FLUSH BUFFER AND READ STANDARD INPUT
	AH = 0Ch
	AL = STDIN input function to execute after flushing buffer
	other registers as appropriate for the input function
Return: as appropriate for the specified input function
Note:	if AL is not one of 01h,06h,07h,08h, or 0Ah, the buffer is flushed but
	  no input is attempted
SeeAlso: AH=01h,AH=06h"INPUT",AH=07h,AH=08h,AH=0Ah

Top
210D - INT 21 - DOS 1+ - DISK RESET
INT 21 - DOS 1+ - DISK RESET
	AH = 0Dh
Return: (DOS 6 only) CF clear (earlier versions preserve CF)
Notes:	This function writes all modified disk buffers to disk, but does not
	  update the directory information (that is only done when files are
	  closed or a SYNC call is issued)
SeeAlso: AX=5D01h,AX=710Dh,INT 13/AH=00h,INT 2F/AX=1120h

Top
210D20 - INT 21 - VIRUS - "Crazy Imp" - INSTALLATION CHECK
INT 21 - VIRUS - "Crazy Imp" - INSTALLATION CHECK
	AX = 0D20h
Return: AX = 1971h if resident
SeeAlso: AX=0B56h,AX=1812h,AX=2C2Ch,AX=710Dh,AH=30h/DX=ABCDh

Top
210E - INT 21 - DOS 1+ - SELECT DEFAULT DRIVE
INT 21 - DOS 1+ - SELECT DEFAULT DRIVE
	AH = 0Eh
	DL = new default drive (00h = A:, 01h = B:, etc)
Return: AL = number of potentially valid drive letters
Notes:	under Novell NetWare, the return value is always 32, the number of
	  drives that NetWare supports
	under DOS 3.0+, the return value is the greatest of 5, the value of
	  LASTDRIVE= in CONFIG.SYS, and the number of drives actually present
	on a DOS 1.x/2.x single-floppy system, AL returns 2 since the floppy
	  may be accessed as either A: or B:
	otherwise, the return value is the highest drive actually present
	DOS 1.x supports a maximum of 16 drives, 2.x a maximum of 63 drives,
	  and 3+ a maximum of 26 drives
	under Novell DOS 7, this function returns the correct LASTDRIVE value
	  even when the undocumented LASTDRIVE=27..32 directive was used in
	  CONFIG.SYS
	"parse FCB" (see AH=29h) can be used to determine whether a drive
	  letter is valid
SeeAlso: AH=19h,AH=3Bh,AH=DBh

Top
210E--DLAD - INT 21 U - Novell DOS 7 - SDRes v27.03 - INSTALLATION CHECK
INT 21 U - Novell DOS 7 - SDRes v27.03 - INSTALLATION CHECK
	AH = 0Eh
	DL = ADh
Return: AL = BAh if installed
Program: SDRes is the resident portion of the Search&Destroy antiviral by
	  Fifth Generation Systems, as bundled with Novell DOS 7
Note:	SDRes will terminate programs which test for the presence of viruses
	  using interrupt-based installation calls, saying that the program
	  may be infected
SeeAlso: AH=0Eh/DL=AEh,AH=0Eh/DL=AFh,AH=4Ah/BX=00B6h,INT 13/AX=A759h

Top
210E--DLAE - INT 21 U - Novell DOS 7 - SDRes v27.03 - CLEAR ??? FLAG
INT 21 U - Novell DOS 7 - SDRes v27.03 - CLEAR ??? FLAG
	AH = 0Eh
	DL = AEh
SeeAlso: AH=0Eh/DL=ADh,AH=0Eh/DL=AFh,INT 13/AX=A759h

Top
210E--DLAF - INT 21 U - Novell DOS 7 - SDRes v27.03 - SET ??? FLAG
INT 21 U - Novell DOS 7 - SDRes v27.03 - SET ??? FLAG
	AH = 0Eh
	DL = AFh
SeeAlso: AH=0Eh/DL=ADh,AH=0Eh/DL=AEh,INT 13/AX=A759h

Top
210F - INT 21 - DOS 1+ - OPEN FILE USING FCB
INT 21 - DOS 1+ - OPEN FILE USING FCB
	AH = 0Fh
	DS:DX -> unopened File Control Block (see #01345,#01346)
Return: AL = status
	    00h successful
	    FFh file not found or access denied
Notes:	(DOS 3.1+) file opened for read/write in compatibility mode
	an unopened FCB has the drive, filename, and extension fields filled
	  in and all other bytes cleared
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
	DR DOS checks password attached with AX=4303h
	(FAT32 drive) this function will only succeed for creating a volume
	  label; FAT32 does not support FCBs for file I/O
BUG:	APPEND for DOS 3.3+ corrupts DX if the file is not found
SeeAlso: AH=10h,AH=16h,AH=3Dh,AX=4303h

Format of File Control Block:
Offset	Size	Description	(Table 01345)
 00h	BYTE	drive number (0 = default, 1 = A, etc)
		FFh is not allowed (signals extended FCB, see #01346)
 01h  8 BYTEs	blank-padded file name
 09h  3 BYTEs	blank-padded file extension
 0Ch	WORD	current block number
 0Eh	WORD	logical record size
 10h	DWORD	file size
 14h	WORD	date of last write (see #01666 at AX=5700h)
 16h	WORD	time of last write (see #01665 at AX=5700h) (DOS 1.1+)
 18h  8 BYTEs	reserved (see #01347,#01348,#01349,#01350,#01351)
 20h	BYTE	record within current block
 21h	DWORD	random access record number (if record size is > 64 bytes, high
		  byte is omitted)
SeeAlso: #01346

Format of Extended File Control Block (XFCB):
Offset	Size	Description	(Table 01346)
 00h	BYTE	FFh signature for extended FCB
 01h  5 BYTEs	reserved
 06h	BYTE	file attribute if extended FCB
 07h 36 BYTEs	standard FCB (all offsets are shifted by seven bytes)
SeeAlso: #01246

Format of FCB reserved field for DOS 1.0:
Offset	Size	Description	(Table 01347)
 16h	WORD	location in directory (if high byte = FFh, low byte is device
		  ID)
 18h	WORD	number of first cluster in file
 1Ah	WORD	current absolute cluster number on disk
 1Ch	WORD	current relative cluster number within file
		(0 = first cluster of file, 1 = second cluster, etc.)
 1Eh	BYTE	dirty flag (00h = not dirty)
 1Fh	BYTE	unused

Format of FCB reserved field for DOS 1.10-1.25:
Offset	Size	Description	(Table 01348)
 18h	BYTE	bit 7: set if logical device
		bit 6: not dirty
		bits 5-0: disk number or logical device ID
 19h	WORD	starting cluster number on disk
 1Bh	WORD	current absolute cluster number on disk
 1Dh	WORD	current relative cluster number within file
 1Fh	BYTE	unused

Format of FCB reserved field for DOS 2.x:
Offset	Size	Description	(Table 01349)
 18h	BYTE	bit 7: set if logical device
		bit 6: set if open???
		bits 5-0: ???
 19h	WORD	starting cluster number on disk
 1Bh	WORD	???
 1Dh	BYTE	???
 1Eh	BYTE	???
 1Fh	BYTE	???

Format of FCB reserved field for DOS 3.x:
Offset	Size	Description	(Table 01350)
 18h	BYTE	number of system file table entry for file
 19h	BYTE	attributes
		bits 7,6: 00 = SHARE.EXE not loaded, disk file
			  01 = SHARE.EXE not loaded, character device
			  10 = SHARE.EXE loaded, remote file
			  11 = SHARE.EXE loaded, local file or device
		bits 5-0: low six bits of device attribute word
---SHARE.EXE loaded, local file---
 1Ah	WORD	starting cluster of file on disk
 1Ch	WORD	(DOS 3.x) offset within SHARE of sharing record
		  (see #01637 at AH=52h)
 1Eh	BYTE	file attribute
 1Fh	BYTE	???
---SHARE.EXE loaded, remote file---
 1Ah	WORD	number of sector containing directory entry (see #01352)
 1Ch	WORD	relative cluster within file of last cluster accessed
 1Eh	BYTE	absolute cluster number of last cluster accessed
 1Fh	BYTE	???
---SHARE.EXE not loaded---
 1Ah	BYTE	(low byte of device attribute word AND 0Ch) OR open mode
 1Bh	WORD	starting cluster of file
 1Dh	WORD	number of sector containing directory entry (see #01352)
 1Fh	BYTE	number of directory entry within sector
Note:	if FCB opened on character device, DWORD at 1Ah is set to the address
	  of the device driver header, then the BYTE at 1Ah is overwritten.
SeeAlso: #01646

Format of FCB reserved field for DOS 5.0:
Offset	Size	Description	(Table 01351)
 18h	BYTE	number of system file table entry for file
 19h	BYTE	attributes
		bits 7,6: 00 = SHARE.EXE not loaded, disk file
			  01 = SHARE.EXE not loaded, character device
			  10 = SHARE.EXE loaded, remote file
			  11 = SHARE.EXE loaded, local file or device
		bits 5-0: low six bits of device attribute word
---SHARE.EXE loaded, local file---
 1Ah	WORD	starting cluster of file on disk
 1Ch	WORD	unique sequence number of sharing record
 1Eh	BYTE	file attributes
 1Fh	BYTE	unused???
---SHARE.EXE loaded, remote file---
 1Ah	WORD	network handle
 1Ch	DWORD	network ID
---SHARE not loaded, local device---
 1Ah	DWORD	pointer to device driver header (see #01646)
 1Eh  2 BYTEs	unused???
---SHARE not loaded, local file---
 1Ah	BYTE	extra info
		bit 7: read-only attribute from SFT
		bit 6: archive attribute from SFT
		bits 5-0: high bits of sector number
 1Bh	WORD	starting cluster of file
 1Dh	WORD	low word of sector number containing directory entry
		(see #01352)
 1Fh	BYTE	number of directory entry within sector

Top
2110 - INT 21 - DOS 1+ - CLOSE FILE USING FCB
INT 21 - DOS 1+ - CLOSE FILE USING FCB
	AH = 10h
	DS:DX -> File Control Block (see #01345)
Return: AL = status
	    00h successful
	    FFh failed
Notes:	a successful close forces all disk buffers used by the file to be
	  written and the directory entry to be updated
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=0Fh,AH=16h,AH=3Eh

Top
2111 - INT 21 - DOS 1+ - FIND FIRST MATCHING FILE USING FCB
INT 21 - DOS 1+ - FIND FIRST MATCHING FILE USING FCB
	AH = 11h
	DS:DX -> unopened FCB (see #01345), may contain '?' wildcards
Return: AL = status
	    00h successful
		[DTA] unopened FCB for first matching file
	    FFh no matching filename, or bad FCB
Notes:	the type of the returned FCB depends on whether the input FCB was a
	  normal or an extended FCB
	the data returned in the DTA (disk transfer area) is actually the
	  drive number (or extended FCB header and drive number) followed by
	  the file's directory entry (see #01352); this format happens to be
	  compatible with an unopened FCB
	for extended FCBs with search attribute 08h, the volume label (if any)
	  will be returned even if the current directory is not the root dir.
	DOS 3.0+ also allows the '*' wildcard
	the search FCB at DS:DX must not be modified if AH=12h will be used to
	  continue searching; DOS 3.3 has set the following parts of the FCB:
		 0Ch	BYTE	???
		 0Dh	WORD	directory entry number of matching file
		 0Fh	WORD	cluster number of current directory
		 11h  4 BYTEs	???
		 15h	BYTE	drive number (1=A:)
	this function is used by many copy protection schemes to obtain the
	  starting cluster of a file
BUG:	under Windows95, if a .EXE program ("MZ" header) rather than a true
	  .COM calls this function from a DOS box, the ten bytes of the
	  directory entry from 0Ch to 15h may be filled with zeros rather than
	  the additional file times
SeeAlso: AH=12h,AH=1Ah,AH=4Eh,INT 2F/AX=111Bh

Format of DOS directory entry:
Offset	Size	Description	(Table 01352)
 00h  8 BYTEs	blank-padded filename
		first character is set to E5h for deleted files (05h for
		  pending delete files under Novell DOS / OpenDOS)
 08h  3 BYTEs	blank-padded file extension
 0Bh	BYTE	attributes
 0Ch 10 BYTEs	(MS-DOS 1.0-6.22) reserved
		(DR DOS) used to store file password / owner (see #01354)
			(see also INT 21/AX=4302h)
		(Novell DOS 7) DELWATCH data (see #01354)
		(MS-DOS 7/Windows95) additional file times (see #01353)
 16h	WORD	time of creation or last update (see #01665 at AX=5700h)
 18h	WORD	date of creation or last update (see #01666 at AX=5700h)
 1Ah	WORD	starting cluster number (see also AX=440Dh/CX=0871h)
		(may not be set in INT 21/AH=11h return data for FAT32 drives)
 1Ch	DWORD	file size
SeeAlso: #01355,#02628,#02629

Format of MS-DOS 7/Windows95 additional file times:
Offset	Size	Description	(Table 01353)
 00h	BYTE	reserved
 01h	BYTE	10-millisecond units past creation time below
 02h	WORD	file creation time
 04h	WORD	file creation date
 06h	WORD	last-access date
 08h	WORD	(FAT32) high word of starting cluster number
Note:	this data is stored beginning at offset 0Ch in a standard directory
	  entry
SeeAlso: #01352

Format of DR DOS 6/Novell DOS 7 additional file information:
Offset	Size	Description	(Table 01354)
 0Ch	BYTE	reserved (00h)
		(DOSPLUS v1.2) user-defined attributes for CP/M compatibility
		  (bit 7 = F1,...,bit 4 = F4, bits 3-0 reserved (0))
 0Dh	BYTE	first character of original filename for deleted file
 0Eh	WORD	encrypted file/directory password
 10h	WORD	reserved (00h)
		(Novell DOS 7 DELWATCH) original file time
		    cleared when file is undeleted or purged
 12h	WORD	(DR DOS 6) file owner ID
		(Novell DOS 7 DELWATCH) original file date
		    cleared when file is undeleted or purged
 14h	WORD	single/multiuser file/directory access rights (see AX=4302h)
---deleted files---
 16h	WORD	(Novell DOS 7 DELWATCH) time of deletion
 18h	WORD	(Novell DOS 7 DELWATCH) date of deletion
Note:	offsets are within the full directory entry
SeeAlso: #01352

Format of MS-DOS 7/Windows95 long-filename directory entry:
Offset	Size	Description	(Table 01355)
 00h	BYTE	LFN record sequence and flags
		bits 5-0: sequence number
		bit 6: set if last long-filename record for file
		bit 7: set if file deleted
 01h 10 BYTEs	long filename, first part
 0Bh	BYTE	0Fh (otherwise impossible file attribute, used as signature)
 0Ch	BYTE	reserved??? (00h)
 0Dh	BYTE	checksum for short filename
 0Eh 12 BYTEs	long filename, second part
 1Ah	WORD	first cluster number (always 0000h for LFN records)
 1Ch  4 BYTEs	long filename, third part
Notes:	long-filename entries are always stored in the directory just prior
	  to the short-name entry for a file
	multiple LFN records are used if the long filename does not fit into
	  a single record
	the short-filename checksum byte is computed by adding up the
	  eleven bytes of the short filename, rotating the intermediate
	  sum right one bit before adding the next character
	the long filename is encoded as 16-bit Unicode characters; for most
	  filenames, this appears in the directory as the ASCII character
	  followed by 00h
SeeAlso: #01352,INT 21/AX=5704h,INT 21/AH=71h

Top
2112 - INT 21 - DOS 1+ - FIND NEXT MATCHING FILE USING FCB
INT 21 - DOS 1+ - FIND NEXT MATCHING FILE USING FCB
	AH = 12h
	DS:DX -> unopened FCB (see #01345)
Return: AL = status
	    00h successful
		Disk Transfer Area filled with unopened FCB
	    FFh no more matching filenames
Note:	(see AH=11h)
	assumes that successful FindFirst executed on search FCB before call
SeeAlso: AH=1Ah,AH=4Fh,INT 2F/AX=111Ch

Top
2113 - INT 21 - DOS 1+ - DELETE FILE USING FCB
INT 21 - DOS 1+ - DELETE FILE USING FCB
	AH = 13h
	DS:DX -> unopened FCB (see #01345), filename filled with template for
		deletion ('?' wildcards allowed)
Return: AL = status
	    00h one or more files successfully deleted
	    FFh no matching files or all were read-only or locked
Notes:	DOS 1.25+ deletes everything in the current directory (including
	  subdirectories) and sets the first byte of the name to 00h (entry
	  never used) instead of E5h if called on an extended FCB with
	  filename '???????????' and bits 0-4 of the attribute set (bits 1 and
	  2 for DOS 1.x).  This may have originally been an optimization to
	  minimize directory searching after a mass deletion (DOS 1.25+ stop
	  the directory search upon encountering a never-used entry), but can
	  corrupt the filesystem under DOS 2+ because subdirectories are
	  removed without deleting the files they contain.
	currently-open files should not be deleted
	MS-DOS allows deletion of read-only files with an extended FCB, whereas
	  Novell NetWare, DR DOS 6, and Novell DOS 7/OpenDOS 7.01 do not
	this function generates a trap "D" under OS/2 v4.x (Warp4) when called
	  on an HPFS partition with a wildcard in the filename; it operates
	  correctly on FAT partitions and when called without wildcards
SeeAlso: AH=41h,INT 2F/AX=1113h

Top
2114 - INT 21 - DOS 1+ - SEQUENTIAL READ FROM FCB FILE
INT 21 - DOS 1+ - SEQUENTIAL READ FROM FCB FILE
	AH = 14h
	DS:DX -> opened FCB (see #01345)
Return: AL = status
	    00h successful
	    01h end of file (no data)
	    02h segment wrap in DTA
	    03h end of file, partial record read
	Disk Tranfer Area filled with record read from file
Notes:	reads a record of the size specified in the FCB beginning at the
	  current file position, then updates the current block and current
	  record fields in the FCB
	if a partial record was read, it is zero-padded to the full size
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=0Fh,AH=15h,AH=1Ah,AH=3Fh"DOS",INT 2F/AX=1108h

Top
2115 - INT 21 - DOS 1+ - SEQUENTIAL WRITE TO FCB FILE
INT 21 - DOS 1+ - SEQUENTIAL WRITE TO FCB FILE
	AH = 15h
	DS:DX -> opened FCB (see #01345)
	Disk Tranfer Area contains record to be written
Return: AL = status
	    00h successful
	    01h disk full
	    02h segment wrap in DTA
Notes:	writes a record of the size specified in the FCB beginning at the
	  current file position, then updates the current block and current
	  record fields in the FCB
	if less than a full sector is written, the data is placed in a DOS
	  buffer to be written out at a later time
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=0Fh,AH=14h,AH=1Ah,AH=40h,INT 2F/AX=1109h

Top
2116 - INT 21 - DOS 1+ - CREATE OR TRUNCATE FILE USING FCB
INT 21 - DOS 1+ - CREATE OR TRUNCATE FILE USING FCB
	AH = 16h
	DS:DX -> unopened FCB (see #01345), wildcards not allowed
Return: AL = status
	    00h successful
	    FFh directory full or file exists and is read-only or locked
Notes:	if file already exists, it is truncated to zero length
	if an extended FCB is used, the file is given the attribute in the
	  FCB; this is how to create a volume label in the disk's root dir
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
	(FAT32 drive) this function will only succeed for creating a volume
	  label; FAT32 does not support FCBs for file I/O
SeeAlso: AH=0Fh,AH=10h,AH=3Ch

Top
2117 - INT 21 - DOS 1+ - RENAME FILE USING FCB
INT 21 - DOS 1+ - RENAME FILE USING FCB
	AH = 17h
	DS:DX -> modified FCB (see also #01345)
		the old filename ('?' wildcards OK) is in the standard location
		while the new filename ('?' wildcards OK, no drive) is stored
		in the 11 bytes beginning at offset 11h
Return: AL = status
	    00h successfully renamed
	    FFh no matching files,file is read-only, or new name already exists
Notes:	subdirectories may be renamed using an extended FCB with the
	  appropriate attribute, as may volume labels
	DR DOS checks password attached with AX=4303h before permitting rename
SeeAlso: AH=0Fh,AH=13h,AX=4303h,AH=56h,INT 2F/AX=1111h

Top
2118 - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
	AH = 18h
Return: AL = 00h
Note:	corresponds to the CP/M BDOS function "get bit map of logged drives",
	  which is meaningless under MS-DOS
SeeAlso: AH=1Dh,AH=1Eh,AH=20h,AX=4459h,INT 60/DI=0513h

Top
2118 - INT 21 - U - PTS-DOS 6.51 & S/DOS 1.0 - EXTENDED RENAME FILE USING FCB
INT 21 - U - PTS-DOS 6.51 & S/DOS 1.0 - EXTENDED RENAME FILE USING FCB
	AH = 18h
	DS:DX -> modified FCB (see also #01345)
Return: AL = status
	     00h successfully renamed
	     FFh no matching files,file is read-only, or new name already exists
Notes:	This function is provided by Paragon Technology Systems S/DOS 1.0
	  (and most probably also PTS-DOS 6.51, maybe even earlier). It uses
	  the same code as for function INT 21/AH=17h, but additionally sets
	  an internal "SERVER" flag on entry. Apparently this results in
	  different usage of attributes and wildcards.
	It is currently unknown if this function is also supported by
	  PhysTechSoft's PTS-DOS 6.60, 6.70, or 2000.
SeeAlso: AH=17h,AH=0Fh,AH=13h,AX=4303h,AH=56h,INT 2F/AX=1111h,INT21/AH=5Dh

Top
211812 - INT 21 - VIRUS - "Tasha Yar" - INSTALLATION CHECK
INT 21 - VIRUS - "Tasha Yar" - INSTALLATION CHECK
	AX = 1812h
Return: AL = 00h if resident
	DX = 4310h if resident
SeeAlso: INT 21/AX=0B56h"VIRUS",INT 21/AX=187Fh,INT 21/AX=2C2Ch"VIRUS"

Top
21187FBX4453 - INT 21 - VIRUS - "DS-3783" -INSTALLATION CHECK
INT 21 - VIRUS - "DS-3783" -INSTALLATION CHECK
	AX = 187Fh
	BX = 4453h
Return: BX = 87A1h if resident
SeeAlso: AX=1812h"VIRUS",AX=18FFh"VIRUS"

Top
2118FF - INT 21 - VIRUS - "Pathogen:SMEG" - INSTALLATION CHECK
INT 21 - VIRUS - "Pathogen:SMEG" - INSTALLATION CHECK
	AX = 18FFh
Return: AX = E701h if resident
SeeAlso: INT 21/AX=1812h"VIRUS",INT 21/AX=2080h"VIRUS"

Top
2119 - INT 21 - DOS 1+ - GET CURRENT DEFAULT DRIVE
INT 21 - DOS 1+ - GET CURRENT DEFAULT DRIVE
	AH = 19h
Return: AL = drive (00h = A:, 01h = B:, etc)
Note:	Novell NetWare uses the fact that DOS 2.x COMMAND.COM issues this call
	  from a particular location every time it starts a command to
	  determine when to issue an automatic EOJ
SeeAlso: AH=0Eh,AH=47h,AH=BBh

Top
211A - INT 21 - DOS 1+ - SET DISK TRANSFER AREA ADDRESS
INT 21 - DOS 1+ - SET DISK TRANSFER AREA ADDRESS
	AH = 1Ah
	DS:DX -> Disk Transfer Area (DTA)
Notes:	the DTA is set to PSP:0080h when a program is started
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
SeeAlso: AH=11h,AH=12h,AH=2Fh,AH=4Eh,AH=4Fh

Top
211B - INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR DEFAULT DRIVE
INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR DEFAULT DRIVE
	AH = 1Bh
Return: AL = sectors per cluster (allocation unit)
	CX = bytes per sector
	DX = total number of clusters
	DS:BX -> media ID byte (see #01356)
Notes:	under DOS 1.x, DS:BX points at an actual copy of the FAT; later
	  versions return a pointer to a copy of the FAT's ID byte
	this function may not be properly supported on CD-ROMs and other
	  installable file systems (use AX=4402h"CD-ROM" for CD-ROMs
	  instead)
BUG:	DOS 7.10 (Win95B/Win98) reportedly returns incorrect values in AL and
	  DX for FAT12/FAT16 drives, even though it manages correct results
	  for FAT32 drives (DOS windows are not affected, only real-mode
	  DOS)
SeeAlso: AH=1Ch,AH=36h

(Table 01356)
Values for media ID byte:
 FFh	floppy, double-sided, 8 sectors per track (320K)
 FEh	floppy, single-sided, 8 sectors per track (160K)
 FDh	floppy, double-sided, 9 sectors per track (360K)
 FCh	floppy, single-sided, 9 sectors per track (180K)
 FAh	HP 200LX D: ROM disk, 16 sectors per track (995K)
	HP 200LX E: (Stacker host drive ???)
 F9h	floppy, double-sided, 15 sectors per track (1.2M)
	floppy, double-sided, 9 sectors per track (720K,3.5")
 F8h	hard disk
 F0h	other media
	(e.g. floppy, double-sized, 18 sectors per track -- 1.44M,3.5")

Top
211C - INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR SPECIFIC DRIVE
INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR SPECIFIC DRIVE
	AH = 1Ch
	DL = drive (00h = default, 01h = A:, etc)
Return: AL = sectors per cluster (allocation unit), or FFh if invalid drive
	CX = bytes per sector
	DX = total number of clusters
	DS:BX -> media ID byte (see #01356)
Notes:	under DOS 1.x, DS:BX points at an actual copy of the FAT; later
	  versions return a pointer to a copy of the FAT's ID byte
	on a DBLSPACE drive, the total number of clusters is based on the
	  estimated compression ratio
	this function may not be properly supported on CD-ROMs and other
	  installable file systems (use AX=4402h"CD-ROM" for CD-ROMs
	  instead)
BUG:	DOS 7.10 (Win95B/Win98) reportedly returns incorrect values in AL and
	  DX for FAT12/FAT16 drives, even though it manages correct results
	  for FAT32 drives (DOS windows are not affected, only real-mode
	  DOS)
SeeAlso: AH=1Bh,AH=36h

Top
211D - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
	AH = 1Dh
Return: AL = 00h
Note:	corresponds to the CP/M BDOS function "get bit map of read-only
	  drives", which is meaningless under MS-DOS
SeeAlso: AH=18h,AH=1Eh,AH=20h,AX=4459h

Top
211E - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
	AH = 1Eh
Return: AL = 00h
Note:	corresponds to the CP/M BDOS function "set file attributes" which was
	 meaningless under MS-DOS 1.x
SeeAlso: AH=18h,AH=1Dh,AH=20h

Top
211F - INT 21 - DOS 1+ - GET DRIVE PARAMETER BLOCK FOR DEFAULT DRIVE
INT 21 - DOS 1+ - GET DRIVE PARAMETER BLOCK FOR DEFAULT DRIVE
	AH = 1Fh
Return: AL = status
	    00h successful
		DS:BX -> Drive Parameter Block (DPB) (see #01357 for DOS 1.x,
			AH=32h for DOS 2+)
	    FFh invalid drive
Note:	this call was undocumented prior to the release of DOS 5.0; however,
	  only the DOS 4.0+ version of the DPB has been documented
SeeAlso: AH=32h,AX=7302h

Format of DOS 1.1 and MS-DOS 1.25 drive parameter block:
Offset	Size	Description	(Table 01357)
 00h	BYTE	sequential device ID
 01h	BYTE	logical drive number (0=A:)
 02h	WORD	bytes per sector
 04h	BYTE	highest sector number within a cluster
 05h	BYTE	shift count to convert clusters into sectors
 06h	WORD	starting sector number of first FAT
 08h	BYTE	number of copies of FAT
 09h	WORD	number of directory entries
 0Bh	WORD	number of first data sector
 0Dh	WORD	highest cluster number (number of data clusters + 1)
 0Fh	BYTE	sectors per FAT
 10h	WORD	starting sector of directory
 12h	WORD	address of allocation table
Note:	the DOS 1.0 table is the same except that the first and last fields
	  are missing; see INT 21/AH=32h for the DOS 2+ version
SeeAlso: #01395,#04039

Top
2120 - INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
INT 21 - DOS 1+ - NULL FUNCTION FOR CP/M COMPATIBILITY
	AH = 20h
Return: AL = 00h
Note:	corresponds to the CP/M BDOS function "get/set default user
	  (sublibrary) number", which is meaningless under MS-DOS
SeeAlso: AH=18h,AH=1Dh,AH=1Eh,AX=4459h

Top
2120 - INT 21 - S/DOS 1.0+ & PTS-DOS 6.51+ - GET OEM REVISION
INT 21 - S/DOS 1.0+ & PTS-DOS 6.51+ - GET OEM REVISION
	AH = 20h
	AL = which OEM code to retrieve
	    00h get PTS OEM code
		Return: CF cleared
			AL = OEM code (currently always 00h)
	    01h get PTS OEM revision code
		Return: CF cleared
			AL = revision code (default is 00h, but may vary)
Desc:	S/DOS is a reduced and modified PTS-DOS 6.51 release with source code
	  on CD
Note:	This function is provided by S/DOS 1.0 (and is most probably also
	  supported with PTS-DOS 6.51+, maybe even earlier).  It clears the
	  CF flag for all other AL arguments, too. However, AL = 00h and 01h
	  are handled separately. The revision code can be individually defined
	  in the MAKEFILE at compilation time.
	The PTS OEM code does not correlate with the DOS OEM code returned
	  by INT 21/AH=30h, likewise the PTS OEM revision does not correlate
	  with the DOS revision returned by INT 21/AX=3306h.
SeeAlso: INT 21/AH=30h,INT 21/AX=3306h

Top
212080 - INT 21 - VIRUS - "New-Year" - INSTALLATION CHECK
INT 21 - VIRUS - "New-Year" - INSTALLATION CHECK
	AX = 2080h
Return: AH = 00h if resident (normal DOS return would be AX = 2000h)
SeeAlso: INT 21/AX=18FFh"VIRUS",INT 21/AX=2C2Ch"VIRUS"

Top
2121 - INT 21 - DOS 1+ - READ RANDOM RECORD FROM FCB FILE
INT 21 - DOS 1+ - READ RANDOM RECORD FROM FCB FILE
	AH = 21h
	DS:DX -> opened FCB (see #01345)
Return: AL = status
	    00h successful
	    01h end of file, no data read
	    02h segment wrap in DTA, no data read
	    03h end of file, partial record read
	Disk Tranfer Area filled with record read from file
Notes:	the record is read from the current file position as specified by the
	  random record and record size fields of the FCB
	the file position is not updated after reading the record
	if a partial record is read, it is zero-padded to the full size
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=14h,AH=22h,AH=27h,AH=3Fh"DOS"

Top
2122 - INT 21 - DOS 1+ - WRITE RANDOM RECORD TO FCB FILE
INT 21 - DOS 1+ - WRITE RANDOM RECORD TO FCB FILE
	AH = 22h
	DS:DX -> opened FCB (see #01345)
	Disk Transfer Area contains record to be written
Return: AL = status
	    00h successful
	    01h disk full
	    02h segment wrap in DTA
Notes:	the record is written to the current file position as specified by the
	  random record and record size fields of the FCB
	the file position is not updated after writing the record
	if the record is located beyond the end of the file, the file is
	  extended but the intervening data remains uninitialized
	if the record only partially fills a disk sector, it is copied to a
	  DOS disk buffer to be written out to disk at a later time
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=15h,AH=21h,AH=28h,AH=40h

Top
2123 - INT 21 - DOS 1+ - GET FILE SIZE FOR FCB
INT 21 - DOS 1+ - GET FILE SIZE FOR FCB
	AH = 23h
	DS:DX -> unopened FCB (see #01345), wildcards not allowed
Return: AL = status
	    00h successful (matching file found)
		FCB random record field filled with size in records, rounded up
		to next full record
	    FFh failed (no matching file found)
Notes:	not supported by MS Windows 3.0 DOSX.EXE DOS extender
	MS-DOS returns nonsense if the FCB record number field is set to a very
	  large positive number, and status FFh if negative; DR DOS returns the
	  correct file size in both cases
BUG:	APPEND for DOS 3.3+ corrupts DX if the file is not found
SeeAlso: AH=42h

Top
2124 - INT 21 - DOS 1+ - SET RANDOM RECORD NUMBER FOR FCB
INT 21 - DOS 1+ - SET RANDOM RECORD NUMBER FOR FCB
	AH = 24h
	DS:DX -> opened FCB (see #01345)
Notes:	computes the random record number corresponding to the current record
	  number and record size, then stores the result in the FCB
	normally used when switching from sequential to random access
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=21h,AH=27h,AH=42h

Top
2125 - INT 21 - DOS 1+ - SET INTERRUPT VECTOR
INT 21 - DOS 1+ - SET INTERRUPT VECTOR
	AH = 25h
	AL = interrupt number
	DS:DX -> new interrupt handler
Notes:	this function is preferred over direct modification of the interrupt
	  vector table
	some DOS extenders place an API on this function, as it is not
	  directly meaningful in protected mode
	under DR DOS 5.0-6.0, this function does not use any of the
	  DOS-internal stacks and may thus be called at any time; however,
	  under Novell DOS 7.0 - DR-DOS 7.02, this function was not reentrant.
	  Since 1998/05/29, DR-DOS 7.03 no longer uses any internal stacks and
	  tests for this function much earlier, to allow a minimal stack usage
	  of just two words in addition to the IRET frame, allowing it to be
	  called from INT 21h functions, specificially device drivers.  This
	  fixes the MCS SMB client
	Novell NetWare (except the new DOS Requester) monitors the offset of
	  any INT 24 set, and if equal to the value at startup, substitutes
	  its own handler to allow handling of network errors; this introduces
	  the potential bug that any program whose INT 24 handler offset
	  happens to be the same as COMMAND.COM's will not have its INT 24
	  handler installed
SeeAlso: AX=2501h,AH=35h

Top
212501 - INT 21 P - Phar Lap 386/DOS-Extender - RESET DOS EXTENDER DATA STRUCTURES
INT 21 P - Phar Lap 386/DOS-Extender - RESET DOS EXTENDER DATA STRUCTURES
	AX = 2501h
	SS = application's original SS or DS (FlashTek X-32VM)
Return: CF clear if successful
	CF set on error
	    caller is operating on X-32 stack (FlashTek X-32VM)
Notes:	Phar Lap uses INT 21/AH=25h as the entry point for all 386/DOS-Extender
	  system calls.	 Only available when directly using 386/DOS-Extender or
	  a compatible DOS extender, or when using a product that was created
	  using 386-DOS/Extender or a compatible
	this function is also supported by FlashTek X-32VM
SeeAlso: AH=30h"Phar Lap"

Top
212502 - INT 21 P - Phar Lap 386/DOS-Extender - GET PROTECTED-MODE INTERRUPT VECTOR
INT 21 P - Phar Lap 386/DOS-Extender - GET PROTECTED-MODE INTERRUPT VECTOR
	AX = 2502h
	CL = interrupt number
Return: CF clear
	ES:EBX = CS:EIP of protected-mode interrupt handler
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2503h,AX=2504h,INT 31/AX=0204h

Top
212503 - INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE INTERRUPT VECTOR
INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE INTERRUPT VECTOR
	AX = 2503h
	CL = interrupt number
Return: CF clear
	EBX = CS:IP of real-mode interrupt handler
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2502h,AX=2504h,AH=35h,INT 31/AX=0200h

Top
212504 - INT 21 P - Phar Lap 386/DOS-Extender - SET PROTECTED-MODE INTERRUPT VECTOR
INT 21 P - Phar Lap 386/DOS-Extender - SET PROTECTED-MODE INTERRUPT VECTOR
	AX = 2504h
	CL = interrupt number
	DS:EDX = CS:EIP of protected-mode interrupt handler
Return: CF clear
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2502h,AX=2505h,INT 31/AX=0205h

Top
212505 - INT 21 P - Phar Lap 386/DOS-Extender - SET REAL-MODE INTERRUPT VECTOR
INT 21 P - Phar Lap 386/DOS-Extender - SET REAL-MODE INTERRUPT VECTOR
	AX = 2505h
	CL = interrupt number
	EBX = CS:IP of real-mode interrupt handler
Return: CF clear
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2503h,AX=2504h,INT 31/AX=0201h

Top
212506 - INT 21 P - Phar Lap 386/DOS-Extender - SET INT TO ALWAYS GAIN CNTRL IN PR. MODE
INT 21 P - Phar Lap 386/DOS-Extender - SET INT TO ALWAYS GAIN CNTRL IN PR. MODE
	AX = 2506h
	CL = interrupt number
	DS:EDX = CS:EIP of protected-mode interrupt handler
Return: CF clear
Notes:	this function modifies both the real-mode low-memory interrupt
	  vector table and the protected-mode Interrupt Descriptor Table (IDT)
	interrupts occurring in real mode are resignaled in protected mode
	this function is also supported by FlashTek X-32VM

Top
212507 - INT 21 P - Phar Lap 386/DOS-Extender - SET REAL- & PROTECTED-MODE INT VECTORS
INT 21 P - Phar Lap 386/DOS-Extender - SET REAL- & PROTECTED-MODE INT VECTORS
	AX = 2507h
	CL = interrupt number
	DS:EDX = CS:EIP of protected-mode interrupt handler
	EBX = CS:IP of real-mode interrupt handler
Return: CF clear
Notes:	interrupts are disabled until both vectors have been modified
	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2504h,AX=2505h

Top
212508 - INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT LINEAR BASE ADDRESS
INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT LINEAR BASE ADDRESS
	AX = 2508h
	BX = segment selector
Return: CF clear if successful
	    ECX = linear base address of segment
	CF set if invalid segment selector
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2509h

Top
212509 - INT 21 P - Phar Lap 386/DOS-Extender - CONVERT LINEAR TO PHYSICAL ADDRESS
INT 21 P - Phar Lap 386/DOS-Extender - CONVERT LINEAR TO PHYSICAL ADDRESS
	AX = 2509h
	EBX = linear address to convert
Return: CF clear if successful
	    ECX = physical address (carry flag clear)
	CF set if linear address not mapped in page tables
SeeAlso: AX=2508h

Top
212509 - INT 21 P - FlashTek X-32VM - GET SYSTEM SEGMENTS AND SELECTORS
INT 21 P - FlashTek X-32VM - GET SYSTEM SEGMENTS AND SELECTORS
	AX = 2509h
Return: CF clear
	EAX high word = default DS
	AX = alias for 16-bit data segment
	BX = real mode code segment
	EDX high word = selector covering full 4GB address space
	DX = default SS
	ESI high word = PSP selector
	SI = environment selector

Top
21250A - INT 21 P - Phar Lap 386/DOS-Extender - MAP PHYSICAL MEMORY AT END OF SEGMENT
INT 21 P - Phar Lap 386/DOS-Extender - MAP PHYSICAL MEMORY AT END OF SEGMENT
	AX = 250Ah
	ES = segment selector in the Local Descriptor Table (LDT) of segment
	     to modify
	EBX = physical base address of memory to map (multiple of 4K)
	ECX = number of physical 4K pages to map
Return: CF clear if successful
	    EAX = 32-bit offset in segment of mapped memory
	CF set on error
	    EAX = error code
		08h insufficient memory to create page tables
		09h invalid segment selector
SeeAlso: INT 31/AX=0800h

Top
21250C - INT 21 P - Phar Lap 386/DOS-Extender - GET HARDWARE INTERRUPT VECTORS
INT 21 P - Phar Lap 386/DOS-Extender - GET HARDWARE INTERRUPT VECTORS
	AX = 250Ch
Return: CF clear
	AL = base interrupt vector for IRQ0-IRQ7
	AH = base interrupt vector for IRQ8-IRQ15
	BL = interrupt vector for BIOS print screen function (Phar Lap only)
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: INT 31/AX=0400h,INT 67/AX=DE0Ah

Top
21250D - INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE LINK INFORMATION
INT 21 P - Phar Lap 386/DOS-Extender - GET REAL-MODE LINK INFORMATION
	AX = 250Dh
Return: CF clear
	EAX = CS:IP of real-mode callback procedure (see #01358) that will
		  call through from real mode to a protected-mode routine
	EBX = 32-bit real-mode address of intermode call data buffer
	ECX = size in bytes of intermode call data buffer
	ES:EDX = protected-mode address of intermode call data buffer
Notes:	this function is also supported by FlashTek X-32VM
	X-32VM guarantees the intermode buffer to be at least 4 KB
SeeAlso: AX=250Eh

(Table 01358)
Call Phar Lap real-mode callback with:
	STACK:	DWORD	offset to protected-mode code
		WORD	placeholder for protected-mode CS
		DWORD	pointer to selector structure (see #01359)
			or 0000h:0000h for defaults
		var	parameters for protected-mode procedure
Return: via FAR return

Format of Phar Lap selector structure:
Offset	Size	Description	(Table 01359)
 00h	WORD	protected-mode GS selector
 02h	WORD	protected-mode FS selector
 04h	WORD	protected-mode ES selector
 06h	WORD	protected-mode DS selector

Top
21250E - INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE
INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE
	AX = 250Eh
	EBX = CS:IP of real-mode procedure to call
	ECX = number of two-byte words to copy from protected-mode stack
	      to real-mode stack
Return: CF clear if successful
	    all segment registers unchanged
	    all general registers contain values set by real-mode procedure
	    all other flags set as they were left by real-mode procedure
	    stack unchanged
	CF set on error
	    EAX = error code
		01h not enough real-mode stack space
Note:	this function is also supported by FlashTek X-32VM; under X-32VM, the
	  call will fail if ECX > 0000003Fh
SeeAlso: AX=250Dh,AX=2510h,AH=E1h"OS/286",INT 31/AX=0301h

Top
21250F - INT 21 P - Phar Lap 386/DOS-Extender - CONVERT PROTECTED-MODE ADDRESS TO MS-DOS
INT 21 P - Phar Lap 386/DOS-Extender - CONVERT PROTECTED-MODE ADDRESS TO MS-DOS
	AX = 250Fh
	ES:EBX = 48-bit protected-mode address to convert
	ECX = 00000000h or length of data in bytes
Return: CF clear if successful (address < 1MB and contiguous)
	    ECX = 32-bit real-mode MS-DOS address
	CF set on error (address >= 1MB or not contiguous)
	    ECX = linear address
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2510h

Top
212510 - INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE, REGISTERS
INT 21 P - Phar Lap 386/DOS-Extender - CALL REAL-MODE PROCEDURE, REGISTERS
	AX = 2510h
	EBX = CS:IP of real-mode procedure to call
	ECX = number of two-byte words to copy to protected-mode stack to
	      real-mode stack
	DS:EDX -> pointer to parameter block (see #01360)
Return: CF clear if successful
	    all segment registers unchanged,
	    EDX unchanged
	    all other general registers contain values set by real-mode proc
	    all other flags are set as they were left by real-mode procedure
	    real-mode register values are returned in the parameter block
	CF set on error
	    EAX = error code
		01h not enough real-mode stack space
Note:	unlike most of the preceding 25xxh functions, this one is not
	  supported by FlashTek X-32VM
SeeAlso: AX=250Eh,AX=250Fh

Format of Phar Lap real-mode call parameter block:
Offset	Size	Description	(Table 01360)
 00h	WORD	real-mode DS value
 02h	WORD	real-mode ES value
 04h	WORD	real-mode FS value
 06h	WORD	real-mode GS value
 08h	DWORD	real-mode EAX value
 0Ch	DWORD	real-mode EBX value
 10h	DWORD	real-mode ECX value
 14h	DWORD	real-mode EDX value

Top
212511 - INT 21 P - Phar Lap 386/DOS-Extender - ISSUE REAL-MODE INTERRUPT
INT 21 P - Phar Lap 386/DOS-Extender - ISSUE REAL-MODE INTERRUPT
	AX = 2511h
	DS:EDX -> parameter block (see #01361)
Return: all segment registers unchanged
	EDX unchanged
	all other registers contain values set by the real-mode int handler
	the flags are set as they were left by the real-mode interrupt handler
	real-mode register values are returned in the parameter block
Note:	this function is also supported by FlashTek X-32VM
SeeAlso: AX=2503h,AX=2505h,AX=250Eh,AH=E3h"OS/286",INT 31/AX=0300h

Format of Phar Lap real-mode interrupt parameter block:
Offset	Size	Description	(Table 01361)
 00h	WORD	interrupt number
 02h	WORD	real-mode DS value
 04h	WORD	real-mode ES value
 06h	WORD	real-mode FS value
 08h	WORD	real-mode GS value
 0Ah	DWORD	real-mode EAX value
 0Eh	DWORD	real-mode EDX value
Note: all other real-mode values set from protected-mode registers

Top
212512 - INT 21 P - Phar Lap 386/DOS-Extender - LOAD PROGRAM FOR DEBUGGING
INT 21 P - Phar Lap 386/DOS-Extender - LOAD PROGRAM FOR DEBUGGING
	AX = 2512h
	DS:EDX -> pointer to ASCIZ program name
	ES:EBX -> pointer to parameter block (see #01363)
	ECX = size in bytes of LDT buffer
Return: CF clear if successful
	    EAX = number of segment descriptors in LDT
	CF set on error
	    EAX = error code (see #01362)
SeeAlso: AX=2517h

(Table 01362)
Values for Phar Lap error code:
 02h	file not found or path invalid
 05h	access denied
 08h	insufficient memory
 0Ah	environment invalid
 0Bh	invalid file format
 80h	LDT too small

Format of Phar Lap program load parameter block:
Offset	Size	Description	(Table 01363)
Input:
 00h	DWORD	32-bit offset of environment string
 04h	WORD	segment of environment string
 06h	DWORD	32-bit offset of command-tail string
 0Ah	WORD	segment of command-tail string
 0Ch	DWORD	32-bit offset of LDT buffer (size in ECX)
 10h	WORD	segment of LDT buffer
Output:
 12h	WORD	real-mode paragraph address of PSP (see also AH=26h)
 14h	WORD	real/protected mode flag
		0000h  real mode
		0001h  protected mode
 16h	DWORD	initial EIP value
 1Ah	WORD	initial CS value
 1Ch	DWORD	initial ESP value
 20h	WORD	initial SS value
 22h	WORD	initial DS value
 24h	WORD	initial ES value
 26h	WORD	initial FS value
 28h	WORD	initial GS value

Top
212513 - INT 21 P - Phar Lap 386/DOS-Extender - ALIAS SEGMENT DESCRIPTOR
INT 21 P - Phar Lap 386/DOS-Extender - ALIAS SEGMENT DESCRIPTOR
	AX = 2513h
	BX = segment selector of descriptor in GDT or LDT
	CL = access-rights byte for alias descriptor
	CH = use-type bit (USE16 or USE32) for alias descriptor
Return: CF clear if successful
	    AX = segment selector for created alias
	CF set on error
	    EAX = error code
		08h insufficient memory (can't grow LDT)
		09h invalid segment selector in BX

Top
212514 - INT 21 P - Phar Lap 386/DOS-Extender - CHANGE SEGMENT ATTRIBUTES
INT 21 P - Phar Lap 386/DOS-Extender - CHANGE SEGMENT ATTRIBUTES
	AX = 2514h
	BX = segment selector of descriptor in GDT or LDT
	CL = new access-rights byte
	CH = new use-type bit (USE16 or USE32)
Return: CF clear if successful
	CF set on error
	    EAX = error code
		09h invalid selector in BX
SeeAlso: AX=2515h,INT 31/AX=0009h

Top
212515 - INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT ATTRIBUTES
INT 21 P - Phar Lap 386/DOS-Extender - GET SEGMENT ATTRIBUTES
	AX = 2515h
	BX = segment selector of descriptor in GDT or LDT
Return: CF clear if successful
	    CL = access-rights byte for segment
	    CH = use-type bit (USE16 or USE32)
	ECX<16-31> destroyed
	CF set on error
	    EAX = error code
		09h invalid segment selector in BX
SeeAlso: AX=2514h

Top
212516 - INT 21 P - Phar Lap 386/DOS-Extender v2.2+ - FREE ALL MEMORY OWNED BY LDT
INT 21 P - Phar Lap 386/DOS-Extender v2.2+ - FREE ALL MEMORY OWNED BY LDT
	AX = 2516h
Return: CF clear
Note:	this function must be called from Ring 0 or the CS descriptor is freed

Top
212517 - INT 21 P - Phar Lap 386/DOS-Extender v2.1c+ - GET INFO ON DOS DATA BUFFER
INT 21 P - Phar Lap 386/DOS-Extender v2.1c+ - GET INFO ON DOS DATA BUFFER
	AX = 2517h
Return: CF clear
	ES:EBX -> data buffer (protected mode address)
	ECX -> data buffer (real mode address)
	EDX = size of data buffer in bytes
Note:	the data buffer's address changes after calls to AX=2512h and AX=252Ah
SeeAlso: AX=2512h,AX=252Ah,AX=2530h

Top
212518 - INT 21 P - Phar Lap 386/DOS-Extender 2.1c+ - SPECIFY HANDLER FOR MOVED SEGMENTS
INT 21 P - Phar Lap 386/DOS-Extender 2.1c+ - SPECIFY HANDLER FOR MOVED SEGMENTS
	AX = 2518h
	ES:EBX -> function to call when a segment is moved
Return: CF clear
	ES:EBX -> previous handler

Top
212519 - INT 21 P - Phar Lap 386/DOS-Extender VMM - GET ADDITIONAL MEMORY ERROR INFO
INT 21 P - Phar Lap 386/DOS-Extender VMM - GET ADDITIONAL MEMORY ERROR INFO
	AX = 2519h
Return: CF clear
	EAX = error code
	    0000h  no error
	    0001h  out of physical memory
	    0002h  out of swap space (unable to grow swap file)
	    0003h  out of LDT entries and unable to grow LDT
	    0004h  unable to change extended memory allocation mark
	    FFFFFFFFh	paging disabled
Note:	VMM is the Virtual Memory Manager option

Top
21251A - INT 21 P - Phar Lap 386/DOS-Extender VMM - LOCK PAGES IN MEMORY
INT 21 P - Phar Lap 386/DOS-Extender VMM - LOCK PAGES IN MEMORY
	AX = 251Ah
	EDX = number of 4k pages to lock
	if BL = 00h
	    ECX = linear address of first page to lock
	if BL = 01h
	    ES:ECX -> pointer to first page to lock
Return: CF clear if successful
	CF set on error
	    EAX = error code
		08h insufficient memory
		09h invalid address range
SeeAlso: AX=251Bh,AX=EB06h,INT 31/AX=0600h

Top
21251B - INT 21 P - Phar Lap 386/DOS-Extender VMM - UNLOCK PAGES
INT 21 P - Phar Lap 386/DOS-Extender VMM - UNLOCK PAGES
	AX = 251Bh
	EDX = number of pages to unlock
	if BL = 00h
	    ECX = linear address of first page to unlock
	if BL = 01h
	    ES:ECX -> pointer to first page to unlock
Return: CF clear if successful
	CF set on error
	    EAX = error code
		09h invalid address range
SeeAlso: AX=251Ah,AX=EB07h,INT 31/AX=0601h

Top
21251C - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.1c+ - FREE PHYSICAL MEMORY PAGES
INT 21 P - Phar Lap 386/DOS-Extender VMM v2.1c+ - FREE PHYSICAL MEMORY PAGES
	AX = 251Ch
	BH = preservation flag (00h preserve contents, 01h discard contents)
	EDX = number of pages to free
	BL = address type
	    00h linear address
		ECX = linear address of first page to be freed
	    01h pointer
		ES:ECX -> first page to be freed
Return: CF clear if successful
	CF set on error
	    EAX = error code
		08h memory error, swap space full, no VMM or DPMI
		09h invalid address

Top
21251D - INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - READ PAGE-TABLE ENTRY
INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - READ PAGE-TABLE ENTRY
	AX = 251Dh
	BL = address type
	    00h linear address
		ECX = linear address of page table entry to read
	    01h pointer
		ES:ECX -> page table entry to read
Return: CF clear if successful
	    EAX = contents of page table entry
	CF set on error
	    EAX = error code
		09h invalid address or NOPAGE option set
		78h invalid under DPMI
Note:	this function is obsolete; use AX=252Bh/BH=09h instead
SeeAlso: AX=251Eh,AX=252Bh/BH=09h,AX=EB00h,INT 31/AX=0506h

Top
21251E - INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - WRITE PAGE-TABLE ENTRY
INT 21 OP - Phar Lap 386/DOS-Extender VMM v2.1c - WRITE PAGE-TABLE ENTRY
	AX = 251Eh
	BL = address type
	    00h linear address
		ECX = linear address of page table entry to read
	    01h pointer
		ES:ECX -> page table entry to read
	EDX = new value for page table entry
Return: CF clear if successful
	CF set on error
	    EAX = error code
		09h invalid address or NOPAGE option set
		82h not compatible with DPMI
Note:	this call is obsolete; use AX=252Bh/BH=0Ah instead
SeeAlso: AX=251Dh,AX=252Bh/BH=0Ah,INT 31/AX=0507h

Top
21251F - INT 21 P - Phar Lap 386/DOS-Extender VMM - EXHANGE TWO PAGE-TABLE ENTRIES
INT 21 P - Phar Lap 386/DOS-Extender VMM - EXHANGE TWO PAGE-TABLE ENTRIES
	AX = 251Fh
	BL = address type
	    00h linear address
		ECX = linear address of first page table entry
		EDX = linear address of second page table entry
	    01h pointer
		ES:ECX -> first page table entry
		ES:EDX -> second page table entry
Return: CF clear if successful
	CF set on error
	    EAX = error code
		09h invalid address or NOPAGE option set
		82h not compatible with DPMI
SeeAlso: AX=251Dh,AX=251Eh

Top
212520 - INT 21 P - Phar Lap 386/DOS-Extender VMM - GET MEMORY STATISTICS
INT 21 P - Phar Lap 386/DOS-Extender VMM - GET MEMORY STATISTICS
	AX = 2520h
	DS:EDX -> pointer to buffer at least 100 bytes in size (see #01364)
	BL = 0 (don't reset VM stats), 1 (reset VM stats)
Return: carry flag clear

Format of Phar Lap VM statistics buffer:
Offset	Size	Description	(Table 01364)
 00h	DWORD	VM status
		0001h VM subsystem is present
		0000h VM not present
 04h	DWORD	"nconvpg" number of conventional memory pages available
 08h	DWORD	"nbimpg" number of Compaq built-in memory pages available
 0Ch	DWORD	"nextpg" total number of extended memory pages
 10h	DWORD	"extlim" extender memory pages limit
 14h	DWORD	"aphyspg" number of physical memory pages allocated to appl
 18h	DWORD	"alockpg" number of locked pages owned by application
 1Ch	DWORD	"sysphyspg" number physical memory pages allocated to system
 20h	DWORD	"nfreepg" number of free physical pages; approx if EMS VCPI
 24h	DWORD	linear address of beginning of application address space
 28h	DWORD	linear address of end of application address space
 2Ch	DWORD	number of seconds since last time VM stats were reset
 30h	DWORD	number of page faults since last time
 34h	DWORD	number of pages written to swap file since last time
 38h	DWORD	number of reclaimed pages (page faults on swapped pages)
 3Ch	DWORD	number of virtual pages allocated to the application
 40h	DWORD	size in pages of swap file
 44h	DWORD	number of system pages allocated with EMS calls
 48h	DWORD	minimum number of conventional memory pages
 4Ch	DWORD	maximum size in pages to which swap file can be increased
 50h	DWORD	"vmflags"
		bit 0 = 1 if page fault in progress
---v4.0+ ---
 54h	DWORD	number of physical pages guaranteed to be free
 58h	DWORD	number of free physical pages currently available
 5Ch	DWORD	size in pages of largest free block of memory (including disk
		  swap space)
 60h	DWORD	reserved

Top
212521 - INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S EXTENDED MEM USAGE
INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S EXTENDED MEM USAGE
	AX = 2521h
	EBX = max 4k pages of physical extended memory which program may use
Return: CF clear if successful
	   EBX = maximum limit in pages
	   ECX = minimum limit in pages
	CF set on error
	    EAX = error code
		08h insufficient memory or -nopage switch used
SeeAlso: AX=2522h

Top
212522 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY ALTERNATE PAGE-FAULT HANDLR
INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY ALTERNATE PAGE-FAULT HANDLR
	AX = 2522h
	ES:EBX -> alternate handler for page faults
Return: CF clear
	ES:EBX -> previous page-fault handler
SeeAlso: AX=2523h

Top
212523 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY OUT-OF-SWAP-SPACE HANDLER
INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - SPECIFY OUT-OF-SWAP-SPACE HANDLER
	AX = 2523h
	???
Return: ???
Note:	this function takes a DWORD pointer and a DWORD pointer to a DWORD
	  pointer as arguments
SeeAlso: AX=2522h

Top
212524 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - INSTALL PAGE-REPLACEMENT HANDLERS
INT 21 P - Phar Lap 386/DOS-Ext VMM v2.2+ - INSTALL PAGE-REPLACEMENT HANDLERS
	AX = 2524h
	???
Return: ???
Note:	this function takes three DWORD pointers and three DWORD pointers to
	  DWORD pointers as arguments

Top
212525 - INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S CONVENT'L MEM USAGE
INT 21 P - Phar Lap 386/DOS-Extender VMM - LIMIT PROGRAM'S CONVENT'L MEM USAGE
	AX = 2525h
	EBX = limit in 4k pages of physical conventional memory which program
	      may use
Return: CF clear if successful
	    EBX = maximum limit in pages
	    ECX = minimum limit in pages
	CF set on error
	    EAX = error code
		08h insufficient memory or -nopage switch used
SeeAlso: AX=2521h

Top
212526 - INT 21 P - Phar Lap 386/DOS-Extender - GET CONFIGURATION INFORMATION
INT 21 P - Phar Lap 386/DOS-Extender - GET CONFIGURATION INFORMATION
	AX = 2526h
	???
Return: ???
Notes:	details are not yet available
	this function takes a pointer to the configuration buffer (see #01365)
	  and a poitner to a BYTE as arguments

Format of Phar Lap configuration buffer:
Offset	Size	Description	(Table 01365)
 00h	DWORD	flags 1 (see #01366)
 04h	DWORD	flags 2 (unused through v5.0)
 08h	DWORD	flags 3 (unused through v5.0)
 0Ch	DWORD	386|DOS-Extender major version
 10h	DWORD	386|DOS-Extender minor version
 14h	DWORD	first letter of text after minor version number in version str
 18h	DWORD	beta flag (00h normal release, 01h beta release)
 1Ch	DWORD	processor (3 = 386, 4 = 486)
 20h	DWORD	coprocessor (4 = none, 6 = 287, 7 = 387/486)
 24h	DWORD	Weitek coprocessor flag (0 = none, 1 = present)
 28h	DWORD	machine type (0 = IBM PC compatible, 1 = NEC 9800 series)
 2Ch	DWORD	machine class
		IBM: bus type (0=ISA, 1=MCA, 2=XT, 3=EISA)
		NEC: 0=normal mode, 1=high-res mode
 30h	DWORD	VCPI flag (0 = none, 1 = present)
 34h	DWORD	-WEITEK/-1167 switch (0 = AUTO, 1 = ON, 2 = OFF)
 38h	DWORD	-MINREAL setting
 3Ch	DWORD	-MAXREAL setting
 40h	DWORD	-MINIBUF setting
 44h	DWORD	-MAXIBUF setting
 48h	DWORD	size in bytes of DOS call data buffer
 4Ch	DWORD	number of interrupt stacks (-NISTACK)
 50h	DWORD	interrupt stack size (-ISTKSIZE)
 54h	DWORD	-REALBREAK setting
 58h	DWORD	-CALLBUFS
 5Ch	DWORD	-HWIVEC
 60h	DWORD	-PRIVEC
 64h	DWORD	-INTMAP
 68h	DWORD	-PRIMAP
 6Ch	DWORD	VCPI: master 8259 interrupt vector base (IRQ0 mapping)
 70h	DWORD	VCPI: slave 8259 interrupt vector base (IRQ8 mapping)
 74h	DWORD	BIOS print screen interrupt vector (0 if NEC)
 78h	DWORD	-EXTLOW setting
 7Ch	DWORD	-EXTHIGH setting
 80h	DWORD	lowest physical extended-memory address allocatable
 84h	DWORD	highest physical extended-memory address allocatable + 1
 88h	DWORD	special memory's physical base address (00000000h if none)
 8Ch	DWORD	special memory size in bytes (00000000h if none)
 90h	DWORD	-MAXVCPIMEM setting
 94h	DWORD	-VSCAN
 98h	DWORD	-SWAPCHK (0 = OFF, 1 = ON, 2 = FORCE, 3 = MAX)
 9Ch	DWORD	-CODESIZE setting
 A0h	DWORD	minimum swap file size (-MINSWFSIZE)
 A4h	DWORD	maximum swap fiel size (-MAXSWFSIZE)
 A8h	DWORD	page replacement policy (0 = LFU, 1 = NUR)
 ACh	DWORD	number of GDT entries (-NGDTENT)
 B0h	DWORD	number of LDT entries (-NLDTENT)
 B4h	DWORD	program's privilege level (0-3)
---386|DOS-Extender v3.0+ ---
 B8h	DWORD	-LOCKSTACK setting
 BCh	DWORD	-MAXEXTMEM
 C0h	DWORD	-MAXXMSMEM
 C4h	DWORD	-MAXPGMMEM
 C8h	DWORD	-DATATHRESHOLD
 CCh	DWORD	virtual memory manager flag (0 = not present, 1 = present)
 D0h	DWORD	Cyrix coprocessor flag (0 = no Cyrix EMC387, 1 = present)
 D4h	DWORD	-CYRIX setting (0 = AUTO, 1 = ON, 2 = OFF)
 D8h	DWORD	DPMI flag (0 = not present, 1 = present)
 DCh	DWORD	DPMI major version
 E0h	DWORD	DPMI minor version
 E4h	DWORD	DPMI capabilities flags (see #01367)
 E8h	DWORD	VCPI major version
 ECh	DWORD	VCPI minor version
 F0h	WORD	VCPI: IRQ0-7 physical base interrupt vector
 F2h	WORD	VCPI: IRQ8-15 physical base interrupt vector
 F4h	DWORD	XMS flag (0 = none, 1 = present)
 F8h	DWORD	XMS major version
 FCh	DWORD	XMS minor version
100h	WORD	application's CS selector
102h	WORD	application's DS selector
104h	WORD	application's PSP selector
106h	WORD	application's environment selector
108h	WORD	selector mapping entire first megabyte
10Ah	WORD	selector mapping text video memory
10Ch	WORD	selector mapping video memory (text for IBM, graphics for NEC)
10Eh	WORD	selector mapping Weitek address space, 0000h if not present
110h	WORD	selector mapping Cyrix EMC387 address space, 0000h if none
112h	WORD	reserved (0)
114h	DWORD	real-mode FAR entry point to call to switch to protected mode
		  with no saved context
118h	DWORD	size of LDT in bytes
---386|DOS-Extender v5.0+ ---
11Ch	DWORD	Windows flag (0 = not present, 1 = Windows present)
120h	DWORD	Windows major version
124h	DWORD	Windows minor version
128h	DWORD	Windows mode (0 = real/standard, 1 = enhanced)
12Ch	DWORD	OS/2 flag (0 = not present, 1 = OS/2 present)
130h	DWORD	OS/2 major version
134h	DWORD	OS/2 minor version
138h 50 DWORDs	reserved (0)

Bitfields for flags 1:
Bit(s)	Description	(Table 01366)
 0	-NOPAGE specified
 1	-A20 specified
 2	-VDISK specified
 3	-XT specified
 4	-AT specified
 5	-MCA specified
 6	-EISA specified
 7	-NORMRES specified (NEC only)
 8	-HIGHRES specified (NEC only)
 9	set if -SWFGROW1ST, clear if -NOSWFGROW1ST
 10	-NOVM specified
 11	-SAVEREGS specified
 12	unused (clear)
 13	-NOVCPI specified
 14	-NOMUL specified
 15	-NOBMCHK specified
 16	-NOSPCLMEM or -NOBIM
 17	-NOPGEXP specified
 18	-SWAPDEFDISK specified
---v3.0+ ---
 19	-SAVEINTS specified
 20	-NOLOAD specified
 21	-PAGELOG specified
 22	-OPENDENY specified
 23	-ERRATA17 specified
---v4.1+ ---
 24	-NESTDPMI specified
 25	-NONESTDPMI specified
 26	-NODPMI specified
 27	-NOPCDWEITEK specified
---v4.2+ ---
 28	-WININT21 specified

Bitfields for DPMI capabilities flags:
Bit(s)	Description	(Table 01367)
 0	paging supported
 1	physical device mapping
 2	conventional memory mapping
 3	exceptions restartable

Top
212527 - INT 21 P - Phar Lap 386/DOS-Extender VMM - EN/DISABLE STATE SAVE ON INTERRUPTS
INT 21 P - Phar Lap 386/DOS-Extender VMM - EN/DISABLE STATE SAVE ON INTERRUPTS
	AX = 2527h
	EBX = new status (00h disabled, 01h enabled)
Return: CF clear
	EBX = previous state save flag
SeeAlso: AX=2528h

Top
212528 - INT 21 P - Phar Lap 386/DOS-Extender VMM - READ REGISTERS AFTER CTRL-C INT
INT 21 P - Phar Lap 386/DOS-Extender VMM - READ REGISTERS AFTER CTRL-C INT
	AX = 2528h
	DS:EBX -> buffer for registers (see #01368)
Return: CF clear if successful
	    DS:EBX buffer filled
	CF set on error
	    EAX = error code
		83h interrupt state save not enabled
		84h no active interrupt
SeeAlso: AX=2527h

Format of Phar Lap buffer for registers:
Offset	Size	Description	(Table 01368)
 00h  8 BYTEs	unused
 08h  4	DWORDs	EAX,EBX,ECX,EDX
 18h  4 DWORDs	ESI,EDI,EBP,ESP
 28h  6 WORDs	CS,DS,SS,ES,FS,GS
 34h	DWORD	EIP
 38h	DWORD	EFLAGS

Top
212529 - INT 21 P - Phar Lap 386/DOS-Extender - LOAD FLAT MODEL .EXP or .REX FILE
INT 21 P - Phar Lap 386/DOS-Extender - LOAD FLAT MODEL .EXP or .REX FILE
	AX = 2529h
	???
Return: ES:EBX -> parameter block (see #01369)
	???
Note:	details not available at this time
SeeAlso: AX=252Ah

Format of Phar Lap program load parameter block:
Offset	Size	Description	(Table 01369)
 00h	DWORD	initial EIP
 04h	WORD	initial CS
 06h	DWORD	initial ESP
 0Ah	WORD	initial SS
 0Ch  4 WORDs	initial DS, ES, FS, GS
 14h	DWORD	minimum size in bytes of program segment
 18h	DWORD	bytes of additional memory allocated
 1Ch	DWORD	flags
		bit 0: child linked with -UNPRIVILEGED
		---v6.0+ ---
		bit 1: child is PE file instead of .EXP
		bit 2: loaded file is a DLL
		bits 3-31 reserved
---v6.0+ ---
 20h	DWORD	module handles (PE files only)
 24h  7 DWORDs	reserved (0)

Top
21252A - INT 21 P - Phar Lap 386/DOS-Extender VMM - NEW LOAD PROGRAM FOR DEBUG
INT 21 P - Phar Lap 386/DOS-Extender VMM - NEW LOAD PROGRAM FOR DEBUG
	AX = 252Ah
	DS:EDX -> ASCIZ program name
	ES:EBX -> parameter block (see #01363)
	ECX = size of LDT buffer in bytes
	ESI = bit flags
	    bit 0: allow demand paging rather than loading entire program
	    bit 1: demand page from swap file rather than from .EXP
Return: CF clear if successful
	    EAX = VMM handle or FFFFFFFFh if none
	    ECX = number of descriptors in LDT buffer
	CF set on error
	    EAX = error code
		02h file error
		    EBX = file error code (see #01370)
		    ECX = DOS error code if EBX=1,2,3, or 8
		08h insufficient memory
		    EBX = memory error code (see #01371)
		80h LDT buffer too small
		87h called twice without intervening call to AX=2531h
SeeAlso: AX=2512h,AX=2517h,AX=2529h,AX=2531h

(Table 01370)
Values for Phar Lap file error code:
 01h	DOS open error
 02h	DOS seek error
 03h	DOS read error
 04h	not an .EXP or .REX file
 05h	invalid file format
 06h	-OFFSET is not a multiple of 64K
 07h	-NOPAGE incompatible with -REALBREAK/-OFFSET
 08h	DOS error loading .EXE file

(Table 01371)
Values for Phar Lap memory error code:
 01h	out of physical memory
 02h	out of swap space
 04h	unable to change extended memory allocation
 05h	-MAXPGMMEM exceeded
 06h	insufficient low memory to REALBREAK value
 07h	insufficient low memory for PSP and environment

Top
21252BBH00 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE UNMAPPED PAGES
INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE UNMAPPED PAGES
	AX = 252Bh
	BH = 00h
	???
Return: ???

Top
21252BBH01 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE ALLOCATED PAGES
INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE ALLOCATED PAGES
	AX = 252Bh
	BH = 01h
	???
Return: ???

Top
21252BBH02 - INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE PHYSICAL DEVICE PAGES
INT 21 Pu - Phar Lap 386/DOS-Extender - CREATE PHYSICAL DEVICE PAGES
	AX = 252Bh
	BH = 02h
	???
Return: ???

Top
21252BBH03 - INT 21 Pu - Phar Lap 386/DOS-Extender - MAP DATA FILE
INT 21 Pu - Phar Lap 386/DOS-Extender - MAP DATA FILE
	AX = 252Bh
	BH = 03h
	???
Return: ???
SeeAlso: AX=252Bh/BH=0Bh

Top
21252BBH04 - INT 21 Pu - Phar Lap 386/DOS-Extender - GET PAGE TYPES
INT 21 Pu - Phar Lap 386/DOS-Extender - GET PAGE TYPES
	AX = 252Bh
	BH = 04h
	???
Return: ???
Note:	returns one word per page
SeeAlso: #01372

Bitfields for Phar Lap page information:
Bit(s)	Description	(Table 01372)
 7	mapped to read/write data file
 6	mapped to read-only data file
 5	swapped to disk
 4	locked
 3-0	page type
	0 unmapped
	1 allocated
	2 physical device page

Top
21252B - INT 21 P - Phar Lap 386/DOS-Extender - VIRTUAL MEMORY MANAGEMENT - PAGE LOCKING
INT 21 P - Phar Lap 386/DOS-Extender - VIRTUAL MEMORY MANAGEMENT - PAGE LOCKING
	AX = 252Bh
	BH = function
	    05h lock pages
	    06h unlock pages
	BL = address type
	    00h linear address
		ECX = linear start address of memory region
	    01h segmented address
		ES:ECX -> start of memory region
	EDX = size of memory region in bytes
Return: CF clear if successful
	CF set on error
Note:	this function is also supported by FlashTek X-32VM; if X-32 is not
	  using virtual memory, this function always succeeds

Top
21252B - INT 21 Pu - Phar Lap 386/DOS-Extender - FREE PHYSICAL PAGES
INT 21 Pu - Phar Lap 386/DOS-Extender - FREE PHYSICAL PAGES
	AX = 252Bh
	BH = function (07h,08h)
	???
Return: ???

Top
21252BBH09 - INT 21 P - Phar Lap 386/DOS-Extender v4.1 - GET PAGETABLE ENTRY/PAGE TABLE INFO
INT 21 P - Phar Lap 386/DOS-Extender v4.1 - GET PAGETABLE ENTRY/PAGE TABLE INFO
	AX = 252Bh
	BH = 09h
	BL = subfunction
	    00h get page table entry by linear address
		ECX = linear address for which to get page table entry
	    01h get page table entry by logical address
		ES:ECX = address for which to get page table entry
Return: CF clear if successful
	    EAX = page table entry
	    EBX = additional page table information
	CF set on error
	    EAX = error code
		0009h invalid address
		0082h running under DPMI
SeeAlso: AX=251Dh,AX=252Bh/BH=0Ah

Top
21252BBH0A - INT 21 P - Phar Lap 386/DOS-Extender v4.1 - SET PAGETABLE ENTRY/PAGE TABLE INFO
INT 21 P - Phar Lap 386/DOS-Extender v4.1 - SET PAGETABLE ENTRY/PAGE TABLE INFO
	AX = 252Bh
	BH = 0Ah
	BL = subfunction
	    00h set page table entry for linear address
		ECX = linear address for which to get page table entry
	    01h set page table entry for logical address
		ES:ECX = address for which to get page table entry
	ESI = page table entry
	EDI = additional page table information
Return: CF clear if successful
	CF set on error
	    EAX = error code
		0009h invalid address
		0082h running under DPMI
SeeAlso: AX=252Bh/BH=09h

Top
21252BBH0B - INT 21 P - Phar Lap 386/DOS-Extender v4.1+ - MAP DATA FILE AT FILE OFFSET
INT 21 P - Phar Lap 386/DOS-Extender v4.1+ - MAP DATA FILE AT FILE OFFSET
	AX = 252Bh
	BH = 0Bh
	BL = subfunction
	    00h by linear address
		ECX = linear address at which to map data file
	    01h by logical address
		ES:ECX = logical address at which to map data file
	EDX = number of bytes to map
	DS:ESI -> mapping structure (see #01373)
	DS:EDI -> ASCIZ filename
Return: CF clear if successful
	CF set on error
	    EAX = error code
		0002h file error
		    ECX = phase (01h opening file, 02h seeking, 03h reading)
		    EDX = error code returned by DOS
		0009h invalid address
		0081h invalid parameters or 386|VMM not present
		0086h all 386|VMM file handles already in use
SeeAlso: AX=252Bh/BH=03h,AX=252Bh/BH=09h

Format of Phar Lap mapping structure:
Offset	Size	Description	(Table 01373)
 00h	DWORD	starting file offset to be mapped
 04h	DWORD	DOS file access and sharing modes (see #01403 at INT 21/AH=3Dh)

Top
21252C - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ADD UNMAPPED PAGES AT END OF SEGMENT
INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ADD UNMAPPED PAGES AT END OF SEGMENT
	AX = 252Ch
	BX = segment selector
	ECX = number of 4K pages to add
Return: CF clear if successful
	    EAX = offset in segment of beginning of unmapped pages
	CF set on error
	    EAX = error code
		08h insufficent memory
		09h invalid selector
		82h not supported by current DPMI

Top
21252D - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - CLOSE VMM FILE HANDLE
INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - CLOSE VMM FILE HANDLE
	AX = 252Dh
	EBX = VMM file handle
Return: CF clear if successful
	CF set on error
	    EAX = error code (81h invalid VMM handle)

Top
21252E - INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - GET/SET VMM PARAMETERS
INT 21 P - Phar Lap 386/DOS-Extender VMM v2.3+ - GET/SET VMM PARAMETERS
	AX = 252Eh
	CL = direction (00h get parameters, 01h set parameters)
	DS:EBX -> parameter buffer (see #01374)
Return: CF clear if successful
	CF set on error
	    EAX = error code (81h bad parameter value)

Format of Phar Lap VMM parameter buffer:
Offset	Size	Description	(Table 01374)
 00h	DWORD	flags
		bit 0: page fault logging enabled
		---v5.0+ ---
		bit 1: swap extender to disk during DOS EXEC call
		bit 2: don't zero allocated memory
 04h	DWORD	scan period for page aging, in milliseconds
 08h	DWORD	maximum size (in bytes) to check on each page scan
 0Ch 52 BYTEs	unused

Top
21252F - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - WRITE RECORD TO VMM PAGE LOG FILE
INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - WRITE RECORD TO VMM PAGE LOG FILE
	AX = 252Fh
	DS:EBX -> data to be written
	CX = size of data in bytes
Return: CF clear if successful
	CF set on error
	    EAX = error code (85h no page log file or not 386/VMM)

Top
212530 - INT 21 P - Phar Lap 386/DOS-Ext VMM v2.3+ - SET SIZE OF BUFFER FOR DOS CALLS
INT 21 P - Phar Lap 386/DOS-Ext VMM v2.3+ - SET SIZE OF BUFFER FOR DOS CALLS
	AX = 2530h
	ECX = size of data buffer in bytes (1024 to 65536)
Return: CF clear if successful
	CF set on error
	    EAX = error code
		08h insufficient low memory
		81h invalid size
SeeAlso: AX=2517h

Top
212531 - INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0 - READ/WRITE LDT DESCRIPTOR
INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0 - READ/WRITE LDT DESCRIPTOR
	AX = 2531h
	BX = segment selector
	ECX = direction (00h read, 01h write)
	DS:EDX -> 8-byte buffer for descriptor contents
Return: CF clear if successful
	CF set on error
	    EAX = error code
		81h invalid selector
		82h DPMI running, or not a code or data segment

Top
212532 - INT 21 P - Phar Lap 386/DOS-Extender - GET EXCEPTION HANDLER VECTOR
INT 21 P - Phar Lap 386/DOS-Extender - GET EXCEPTION HANDLER VECTOR
	AX = 2532h
	CL = exception number (00h-0Fh)
Return: CF clear if successful
	    ES:EBX = CS:EIP of current exception handler
	CF set on error (CL > 0Fh)
Notes:	this call is also supported by the FlashTek X-32VM extender
	this function is incompatible with 386|VMM; use AX=2522h instead
SeeAlso: AX=2522h,AX=2533h

Top
212533 - INT 21 P - Phar Lap 386/DOS-Extender - SET EXCEPTION HANDLER VECTOR
INT 21 P - Phar Lap 386/DOS-Extender - SET EXCEPTION HANDLER VECTOR
	AX = 2533h
	CL = exception number (00h-0Fh)
	DS:EDX = CS:EIP of new exception handler
Return: CF clear if successful
	CF set on error (CL > 0Fh)
Notes:	this call is also supported by the FlashTek X-32VM extender
	this function is incompatible with 386|VMM; use AX=2522h instead
SeeAlso: AX=2522h,AX=2532h

Top
212534 - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - GET INTERRUPT FLAG
INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - GET INTERRUPT FLAG
	AX = 2534h
Return: CF clear
	EAX = interrupt state (00h disabled, 01h enabled)

Top
212535 - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - READ/WRITE SYSTEM REGISTERS
INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - READ/WRITE SYSTEM REGISTERS
	AX = 2535h
	EBX = direction (00h read registers, 01h write)
	DS:EDX -> system register record (see #01375)
Return: CF clear
Note:	this call is only available under MS Windows if PHARLAP.386 VDD is
	  installed

Format of Phar Lap system register record:
Offset	Size	Description	(Table 01375)
 00h	DWORD	CR0
 04h  4 DWORDs	DR0,DR1,DR2,DR3
 14h  2 DWORDs	reserved
 1Ch  2 DWORDs	DR6,DR7
 24h  3 DWORDs	reserved

Top
212536 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0+ - MIN/MAX EXTENDED/CONV MEMORY USAGE
INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0+ - MIN/MAX EXTENDED/CONV MEMORY USAGE
	AX = 2536h
	EBX = bit flags
	    bit 0: modifying conventional memory rather than extended memory
	    bit 1: setting maximum memory usage rather than minimum
	ECX = new limit in 4K pages
Return: CF clear if successful
	    EAX = new limit
	CF set on error
	    EAX = error code (08h memory error or -NOPAGE set)
	    EBX = maximum limit in pages
	    ECX = minimum limit in pages

Top
212537 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ALLOCATE DOS MEMORY ABOVE DOS BUFFER
INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - ALLOCATE DOS MEMORY ABOVE DOS BUFFER
	AX = 2537h
	BX = number of paragraphs to allocate
Return: CF clear if successful
	    AX = real-mode segment of allocated block
	CF set on error
	    AX = error code
		07h MS-DOS memory chain corrupted
		08h insufficient low memory
	    BX = size in paragraphs of largest free block
SeeAlso: AH=48h

Top
212538 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - READ PROTMODE REGS AFTER SFTWARE INT
INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - READ PROTMODE REGS AFTER SFTWARE INT
	AX = 2538h
	DS:EBX -> buffer for registers (see #01368)
	ECX = register record to retrieve
	    00h first interrupt state
	    01h next interrupt state
		EDX = handle for current interrupt state
Return: CF clear if successful
	    DS:EBX buffer filled
	    EDX = handle of current interrupt state
	    ESI = number of interrupt which occurred
	CF set on error
	    EAX = error code
		81h invalid handle in EDX
		83h register saving not enabled
		84h no more interrupt states
SeeAlso: AX=2527h,AX=2528h

Top
212539 - INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - GET OFFSET OF .EXP FILE HEADER
INT 21 P - Phar Lap 386/DOS-Ext VMM v3.0 - GET OFFSET OF .EXP FILE HEADER
	AX = 2539h
	BX = MS-DOS file handle for open file
Return: CF clear if successful
	    EAX = offset of .EXP header in file
	CF set on error
	    EAX = error code (02h file error)
	    EBX = file error code
		02h DOS error seeking
		03h DOS error reading
		04h invalid file type
		05h invalid file format
	    ECX = DOS error code if EBX=02h or 03h
	current file position in file modified

Top
21253A - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - INSTALL MOD. SEG FAILURE HANDLER
INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - INSTALL MOD. SEG FAILURE HANDLER
	AX = 253Ah
	ES:EBX -> function to be called when INT 21/AH=4Ah is about to return
		an error
Return: CF clear
	ES:EBX -> previous handler
SeeAlso: AH=4Ah

Top
21253B - INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - JUMP TO REAL MODE CODE, NO CONTEXT
INT 21 P - Phar Lap 386/DOS-Extender v3.0+ - JUMP TO REAL MODE CODE, NO CONTEXT
	AX = 253Bh
	DS:EBX -> buffer containing register contents (see #01368)
Return: never returns
SeeAlso: AX=2528h

Top
21253C - INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0+ - SHRINK 386|VMM SWAP FILE
INT 21 P - Phar Lap 386/DOS-Extender VMM v3.0+ - SHRINK 386|VMM SWAP FILE
	AX = 253Ch
Return: CF clear
	EAX = old size of swap file in bytes
	EBX = new size of swap file in bytes

Top
21253D - INT 21 P - Phar Lap 386/DOS-Extender v4.0+ - READ/WRITE IDT DESCRIPTOR
INT 21 P - Phar Lap 386/DOS-Extender v4.0+ - READ/WRITE IDT DESCRIPTOR
	AX = 253Dh
	BL = interrupt number
	ECX = direction (0 = read, 1 = write)
	DS:EDX -> 8-byte buffer for descriptor
Return: CF clear if successful
	    DS:EDX filled if reading
	CF set on error
	    EAX = error code (0082h if running under DPMI)
Desc:	access hardware-level IDT rather than the internal 386/DOS-Extender
	  shadow IDT
Notes:	this call will always fail under DPMI because it is not possible to
	  access the IDT
	the descriptor is not checked when writing
	this call can normally be used only by programs running in ring 0
	  because the processor does not allow an interrupt to be vectored to
	  a less privileged ring

Top
21253F - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - ALLOCATE LDT DESCRIPTOR
INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - ALLOCATE LDT DESCRIPTOR
	AX = 253Fh
	BX = LDT descriptor to allocate (0000h for any)
	???
Return: ???

Top
212540 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FORCE ALIAS OF SEGMENT
INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FORCE ALIAS OF SEGMENT
	AX = 2540h
	???
Return: ???

Top
212544 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FREE DLL
INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - FREE DLL
	AX = 2544h
	???
Return: ???

Top
212545 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET/SET PROCEDURE ADDRESS
INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET/SET PROCEDURE ADDRESS
	AX = 2545h
	ECX = direction (00h get, 01h set)
	???
Return: ???

Top
212546 - INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET MODULE HANDLE
INT 21 Pu - Phar Lap 386/DOS-Extender v6.0+ - GET MODULE HANDLE
	AX = 2546h
	???
Return: ???

Top
2125C0 - INT 21 P - Phar Lap 386/DOS-Extender - ALLOCATE MS-DOS MEMORY BLOCK
INT 21 P - Phar Lap 386/DOS-Extender - ALLOCATE MS-DOS MEMORY BLOCK
	AX = 25C0h
	BX = number of 16-byte paragraphs of MS-DOS memory requested
Return: CF clear if successful
	    AX = real-mode paragraph address of memory
	CF set on error
	    AX = error code
		07h MS-DOS memory control blocks destroyed
		08h insufficient memory
	    BX = size in paragraphs of largest available memory block
SeeAlso: AX=25C1h,AX=25C2h

Top
2125C1 - INT 21 P - Phar Lap 386/DOS-Extender - RELEASE MS-DOS MEMORY BLOCK
INT 21 P - Phar Lap 386/DOS-Extender - RELEASE MS-DOS MEMORY BLOCK
	AX = 25C1h
	CX = real-mode paragraph address of memory block to free
Return: CF clear if successful
	    EAX destroyed
	CF set on error
	    AX = error code
		07h MS-DOS memory control blocks destroyed
		09h invalid memory block address in CX
SeeAlso: AX=25C0h,AX=25C2h

Top
2125C2 - INT 21 P - Phar Lap 386/DOS-Extender - MODIFY MS-DOS MEMORY BLOCK
INT 21 P - Phar Lap 386/DOS-Extender - MODIFY MS-DOS MEMORY BLOCK
	AX = 25C2h
	BX = new requested block size in paragraphs
	CX = real-mode paragraph address of memory block to modify
Return: CF clear if successful
	    EAX destroyed
	CF set on error
	    AX = error code
		07h MS-DOS memory control blocks destroyed
		08h insufficient memory
		09h invalid memory block address in CX
	    BX = size in paragraphs of largest available memory block
SeeAlso: AX=25C0h,AX=25C1h

Top
2125C3 - INT 21 P - Phar Lap 386/DOS-Extender - EXECUTE PROGRAM
INT 21 P - Phar Lap 386/DOS-Extender - EXECUTE PROGRAM
	AX = 25C3h
	ES:EBX -> pointer to parameter block (see #01377)
	DS:EDX -> pointer to ASCIZ program filename
Return: CF clear if successful
	    all registers unchanged
	CF set on error
	    EAX = error code (see #01376)

(Table 01376)
Values for Phar Lap error code:
 01h	function code in AL is invalid ???
 02h	file not found or path invalid
 05h	access denied
 08h	insufficient memory to load program
 0Ah	environment invalid
 0Bh	invalid file format

Format of parameter block:
Offset	Size	Description	(Table 01377)
 00h	DWORD	32-bit offset of environment string
 04h	WORD	segment selector of environment string
 06h	DWORD	32-bit offset of command-tail string
 0Ah	WORD	segment selector of command-tail string

Top
2126 - INT 21 - DOS 1+ - CREATE NEW PROGRAM SEGMENT PREFIX
INT 21 - DOS 1+ - CREATE NEW PROGRAM SEGMENT PREFIX
	AH = 26h
	DX = segment at which to create PSP (see #01378)
Return: AL destroyed
Notes:	new PSP is updated with memory size information; INTs 22h, 23h, 24h
	  taken from interrupt vector table; the parent PSP field is set to 0
	(DOS 2+) DOS assumes that the caller's CS is the segment of the PSP to
	  copy
BUG:	DR DOS 6.0 original releases 05/1991 & 08/1991 had a problem where the
	  segment from which the PSP was copied was incorrect so that the PSP
	  was not filled correctly and did not contain the command tail.  The
	  DR DOS 6.0 BDOS patch "PAT312" English (1992/01/07, XDIR /C: A0C6h)
	  and later "full" rebuilds fix this problem (see INT 21/AX=4452h).
SeeAlso: AH=4Bh,AH=50h,AH=51h,AH=55h,AH=62h,AH=67h

Format of Program Segment Prefix (PSP):
Offset	Size	Description	(Table 01378)
 00h  2 BYTEs	INT 20 instruction for CP/M CALL 0 program termination
		the CDh 20h here is often used as a signature for a valid PSP
 02h	WORD	segment of first byte beyond memory allocated to program
 04h	BYTE	(DOS) unused filler
		(OS/2) count of fake DOS version returns
 05h	BYTE	CP/M CALL 5 service request (FAR CALL to absolute 000C0h)
		BUG: (DOS 2+ DEBUG) PSPs created by DEBUG point at 000BEh
 06h	WORD	CP/M compatibility--size of first segment for .COM files
 08h  2 BYTEs	remainder of FAR JMP at 05h
 0Ah	DWORD	stored INT 22 termination address
 0Eh	DWORD	stored INT 23 control-Break handler address
 12h	DWORD	DOS 1.1+ stored INT 24 critical error handler address
 16h	WORD	segment of parent PSP
 18h 20 BYTEs	DOS 2+ Job File Table, one byte per file handle, FFh = closed
 2Ch	WORD	DOS 2+ segment of environment for process (see #01379)
 2Eh	DWORD	DOS 2+ process's SS:SP on entry to last INT 21 call
 32h	WORD	DOS 3+ number of entries in JFT (default 20)
 34h	DWORD	DOS 3+ pointer to JFT (default PSP:0018h)
 38h	DWORD	DOS 3+ pointer to previous PSP (default FFFFFFFFh in 3.x)
		used by SHARE in DOS 3.3
 3Ch	BYTE	DOS 4+ (DBCS) interim console flag (see AX=6301h)
		Novell DOS 7 DBCS interim flag as set with AX=6301h
		(possibly also used by Far East MS-DOS 3.2-3.3)
 3Dh	BYTE	(APPEND) TrueName flag (see INT 2F/AX=B711h)
 3Eh	BYTE	(Novell NetWare) flag: next byte initialized if CEh
		(OS/2) capabilities flag
 3Fh	BYTE	(Novell NetWare) Novell task number if previous byte is CEh
 40h  2 BYTEs	DOS 5+ version to return on INT 21/AH=30h
 42h	WORD	(MSWindows3) selector of next PSP (PDB) in linked list
		Windows keeps a linked list of Windows programs only
 44h	WORD	(MSWindows3) "PDB_Partition"
 46h	WORD	(MSWindows3) "PDB_NextPDB"
 48h	BYTE	(MSWindows3) bit 0 set if non-Windows application (WINOLDAP)
 49h	BYTE	unused by DOS versions <= 6.00
 4Ch	WORD	(MSWindows3) "PDB_EntryStack"
 4Eh  2 BYTEs	unused by DOS versions <= 6.00
 50h  3 BYTEs	DOS 2+ service request (INT 21/RETF instructions)
 53h  2 BYTEs	unused in DOS versions <= 6.00
 55h  7 BYTEs	unused in DOS versions <= 6.00; can be used to make first FCB
		  into an extended FCB
 5Ch 16 BYTEs	first default FCB, filled in from first commandline argument
		overwrites second FCB if opened
 6Ch 16 BYTEs	second default FCB, filled in from second commandline argument
		  overwrites beginning of commandline if opened
 7Ch  4 BYTEs	unused
 80h 128 BYTEs	commandline / default DTA
		command tail is BYTE for length of tail, N BYTEs for the tail,
		  followed by a BYTE containing 0Dh
Notes:	in DOS v3+, the limit on simultaneously open files may be increased by
	  allocating memory for a new open file table, filling it with FFh,
	  copying the first 20 bytes from the default table, and adjusting the
	  pointer and count at 34h and 32h.  However, DOS will only copy the
	  first 20 file handles into a child PSP (including the one created on
	  EXEC).
	in an OS/2 DOS box, values of D0h-FEh in the open file table indicate
	  device drivers
	network redirectors based on the original MS-Net implementation use
	  values of 80h-FEh in the open file table to indicate remote files;
	  Novell NetWare also uses values from FEh down to 80h or one more than
	  FILES= (whichever is greater) to indicate remote files (except on
	  OS/2, where is uses CFh down to 80h)
	MS-DOS 5.00 incorrectly fills the FCB fields when loading a program
	  high; the first FCB is empty and the second contains the first
	  parameter
	some DOS extenders place protected-mode values in various PSP fields
	  such as the "parent" field, which can confuse PSP walkers.  Always
	  check either for the CDh 20h signature or that the suspected PSP is
	  at the beginning of a memory block which owns itself (the preceding
	  paragraph should be a valid MCB with "owner" the same as the
	  suspected PSP).
	Novell NetWare updates the fields at offsets 3Eh and 3Fh without
	  checking that a legal PSP segment is current; see AH=50h for further
	  discussion
	for 4DOS and Windows95, the command tail may be more than 126
	  characters; in that case, the length byte will be set to 7Fh (with
	  an 0Dh in the	 127th position at offset FFh), and the first 126
	  characters will be stored in the PSP, with the entire command line
	  in the environment variable CMDLINE; under at least some versions
	  of 4DOS, the byte at offset FFh is *not* set to 0Dh, so there is no
	  terminating carriage return in the PSP's command tail.
BUG:	When shelling out from the Borland Pascal 7.00 IDE, overly-long
	  command lines will not be delimited by a 0Dh character, and the
	  length byte is set to 80h!  A workaround is to always patch in a
	  0Dh at the last position of the command line buffer before scanning
	  the command line.

Format of environment block:
Offset	Size	Description	(Table 01379)
 00h  N BYTEs	first environment variable, ASCIZ string of form "var=value"
      N BYTEs	second environment variable, ASCIZ string
	...
      N BYTEs	last environment variable, ASCIZ string of form "var=value"
	BYTE	00h
---DOS 3.0+ ---
	WORD	number of strings following environment (normally 1)
      N BYTEs	ASCIZ full pathname of program owning this environment
		other strings may follow

Top
2127 - INT 21 - DOS 1+ - RANDOM BLOCK READ FROM FCB FILE
INT 21 - DOS 1+ - RANDOM BLOCK READ FROM FCB FILE
	AH = 27h
	CX = number of records to read
	DS:DX -> opened FCB (see #01345)
Return: AL = status
	    00h successful, all records read
	    01h end of file, no data read
	    02h segment wrap in DTA, no data read
	    03h end of file, partial read
	Disk Transfer Area filled with records read from file
	CX = number of records read (return AL = 00h or 03h)
Notes:	read begins at current file position as specified in FCB; the file
	  position is updated after reading
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=21h,AH=28h,AH=3Fh"DOS"

Top
2128 - INT 21 - DOS 1+ - RANDOM BLOCK WRITE TO FCB FILE
INT 21 - DOS 1+ - RANDOM BLOCK WRITE TO FCB FILE
	AH = 28h
	CX = number of records to write
	DS:DX -> opened FCB (see #01345)
	Disk Transfer Area contains records to be written
Return: AL = status
	    00h successful
	    01h disk full or file read-only
	    02h segment wrap in DTA
	CX = number of records written
Notes:	write begins at current file position as specified in FCB; the file
	  position is updated after writing
	if CX = 0000h on entry, no data is written; instead the file size is
	  adjusted to be the same as the file position specified by the random
	  record and record size fields of the FCB
	if the data to be written is less than a disk sector, it is copied into
	  a DOS disk buffer, to be written out to disk at a later time
	not supported by MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso: AH=22h,AH=27h,AH=40h,AH=59h/BX=0000h

Top
2129 - INT 21 - DOS 1+ - PARSE FILENAME INTO FCB
INT 21 - DOS 1+ - PARSE FILENAME INTO FCB
	AH = 29h
	AL = parsing options (see #01380)
	DS:SI -> filename string (both '*' and '?' wildcards OK)
	ES:DI -> buffer for unopened FCB
Return: AL = result code
	    00h successful parse, no wildcards encountered
	    01h successful parse, wildcards present
	    FFh failed (invalid drive specifier)
	DS:SI -> first unparsed character
	ES:DI buffer filled with unopened FCB (see #01345)
Notes:	asterisks in the name are expanded to question marks in the FCB
	all processing stops when a filename terminator is encountered
	cannot be used with filespecs which include a path (DOS 2+)
	Novell NetWare monitors the result code since an 'invalid drive' may
	  signal an attempt to reconnect a network drive; if there are no
	  connections to the specified drive, NetWare attempts to build a
	  connection and map the drive to the SYS:LOGIN directory
SeeAlso: AH=0Fh,AH=16h,AH=26h

Bitfields for parsing options:
Bit(s)	Description	(Table 01380)
 0	skip leading separators
 1	use existing drive number in FCB if no drive is specified, instead of
	  setting field to zero
 2	use existing filename in FCB if no base name is specified, instead of
	  filling field with blanks
 3	use existing extension in FCB if no extension is specified, instead of
	  filling field with blanks
 4-7	reserved (0)

Top
212A - INT 21 - DOS 1+ - GET SYSTEM DATE
INT 21 - DOS 1+ - GET SYSTEM DATE
	AH = 2Ah
Return: CX = year (1980-2099)
	DH = month
	DL = day
---DOS 1.10+---
	AL = day of week (00h=Sunday)
SeeAlso: AH=2Bh"DOS",AH=2Ch,AH=E7h"Novell",INT 1A/AH=04h,INT 2F/AX=120Dh

Top
212B - INT 21 - DOS 1+ - SET SYSTEM DATE
INT 21 - DOS 1+ - SET SYSTEM DATE
	AH = 2Bh
	CX = year (1980-2099)
	DH = month (1-12)
	DL = day (1-31)
Return: AL = status
	    00h successful
	    FFh invalid date, system date unchanged
Note:	DOS 3.3+ also sets CMOS clock; due to the limitations of the CLOCK$
	  driver interface, the CMOS time is also updated to the current
	  DOS time (which is the BIOS time-of-day clock with the default
	  CLOCK$ driver)
SeeAlso: AH=2Ah,AH=2Dh,INT 1A/AH=05h

Top
212B--CX4149 - INT 21 - AI Architects - ??? - INSTALLATION CHECK
INT 21 - AI Architects - ??? - INSTALLATION CHECK
	AH = 2Bh
	CX = 4149h ('AI')
	DX = 413Fh ('A?')
Return: AL <> FFh if installed
Note:	Borland's TKERNEL makes this call

Top
212B--CX4358 - INT 21 - Super PC-Kwik v3.20+ - INSTALLATION CHECK
INT 21 - Super PC-Kwik v3.20+ - INSTALLATION CHECK
	AH = 2Bh
	CX = 4358h ('CX')
Return: AL = FFh if PC-Kwik/PC-Cache not installed
	AL = 00h if installed
	    CF clear
	    CX = 6378h ('cx')
	    BX = ???
	    DX = version (DH = major version, DL = binary minor version)
Note:	PC Tools PC-Cache v5.x and Qualitas Qcache v4.00 are OEM versions of
	  Super PC-Kwik, and thus support this call (PC-Cache 5.1 corresponds
	  to PC-Kwik v3.20)
SeeAlso: INT 13/AH=A0h,INT 13/AH=B0h,INT 16/AX=FFA5h/CX=1111h
Index:	PC-Cache;installation check|Qualitas Qcache;installation check
Index:	installation check;PC-Cache 5.x|installation check;Qualitas Qcache

Top
212B--CX4445 - INT 21 - DESQview - INSTALLATION CHECK
INT 21 - DESQview - INSTALLATION CHECK
	AH = 2Bh
	CX = 4445h ('DE')
	DX = 5351h ('SQ')
	AL = subfunction (DV v2.00+)
	    01h get version
		Return: BX = version (BH = major, BL = minor)
		Note: early copies of v2.00 return 0002h
	    02h get shadow buffer info, and start shadowing
		Return: BH = rows in shadow buffer
			BL = columns in shadow buffer
			DX = segment of shadow buffer
	    04h get shadow buffer info
		Return: BH = rows in shadow buffer
			BL = columns in shadow buffer
			DX = segment of shadow buffer
	    05h stop shadowing
Return: AL = FFh if DESQview not installed
Notes:	in DESQview v1.x, there were no subfunctions; this call only identified
	  whether or not DESQview was loaded.  DESQview v2.52 performs function
	  01h for all subfunction requests 0Ch and higher and appears to ignore
	  all lower-numbered functions not listed here.
	DESQview versions 2.50-2.52 are part of DESQview/X v1.0x; version 2.53
	  is part of DESQview/X v1.10; and version 2.63 is part of DESQview/X
	  v2.00.
BUG:	subfunction 05h does not appear to work correctly in DESQview 2.52
SeeAlso: INT 10/AH=FEh,INT 10/AH=FFh,INT 15/AX=1024h,INT 15/AX=DE30h

Top
212B--CX454C - INT 21 - ELRES v1.1 - INSTALLATION CHECK
INT 21 - ELRES v1.1 - INSTALLATION CHECK
	AH = 2Bh
	CX = 454Ch ('EL')
	DX = 5253h ('RS')
Return: ES:BX -> ELRES history structure (see #01381)
	DX = DABEh (signature, DAve BEnnett)
Program: ELRES is an MS-DOS return code (errorlevel) recorder by David H.
	  Bennett which stores recent errorlevel values, allows them to be
	  retrieved for use in batch files, and can place them in an
	  environment variable
SeeAlso: AH=4Bh"ELRES",AH=4Dh

Format of ELRES history structure:
Offset	Size	Description	(Table 01381)
 00h	WORD	number of return codes which can be stored by following buffer
 02h	WORD	current position in buffer (treated as a ring)
 04h  N BYTEs	ELRES buffer

Top
212B00CX5643 - INT 21 - The Volkov Commander - GET POINTER TO LEFT PANEL DATA STRUCTURE
INT 21 - The Volkov Commander - GET POINTER TO LEFT PANEL DATA STRUCTURE
	AX = 2B00h
	CX = 5643h ('VC')
	DX = 4F4Dh ('OM')
Return: AL = 0
	ES:BX -> left panel data structure
Program: Volcov Commander is a shell for MS-DOS by Vsevolod V. Volkov
SeeAlso: AX=2B01h/CX=5643h,AX=2B02h/CX=5643h

Top
212B01CX5643 - INT 21 - The Volkov Commander - GET POINTER TO RIGHT PANEL DATA STRUCTURE
INT 21 - The Volkov Commander - GET POINTER TO RIGHT PANEL DATA STRUCTURE
	AX = 2B01h
	CX = 5643h ('VC')
	DX = 4F4Dh ('OM')
Return: AL = 0
	ES:BX -> right panel data structure
SeeAlso: AX=2B00h/CX=5643h,AX=2B02h/CX=5643h

Top
212B02CX5643 - INT 21 - The Volkov Commander - GET POINTER TO GLOBAL VARIABLES
INT 21 - The Volkov Commander - GET POINTER TO GLOBAL VARIABLES
	AX = 2B02h
	CX = 5643h ('VC')
	DX = 4F4Dh ('OM')
Return: AL = 0
	ES:BX -> global variables
SeeAlso: AX=2B00h/CX=5643h,AX=2B01h/CX=5643h

Top
212B01CX444D - INT 21 - Quarterdeck DOS-UP.SYS v2.00 - INSTALLATION CHECK
INT 21 - Quarterdeck DOS-UP.SYS v2.00 - INSTALLATION CHECK
	AX = 2B01h
	CX = 444Dh ('DM')
	DX = 4158h ('AX')
Return: AX = 0000h if installed
	    BX = DOS-UP version (BH = minor, BL = major)
	    CX = 4845h ('HE')
	    DX = 5245h ('RE')
	    ES = DOS-UP driver segment

Top
212B01CX5441 - INT 21 - TAME v2.10+ - INSTALLATION CHECK
INT 21 - TAME v2.10+ - INSTALLATION CHECK
	AX = 2B01h
	CX = 5441h ('TA')
	DX = 4D45h ('ME')
---v2.60---
	BH = ???
	    00h skip ???, else do
Return: AL = 02h if installed
	ES:DX -> data area in TAME-RES (see #01382,#01386,#01388)
Program: TAME is a shareware program by David G. Thomas which gives up CPU
	  time to other partitions under a multitasker when the current
	  partition's program incessantly polls the keyboard or system time

Format of TAME 2.10-2.20 data area:
Offset	Size	Description	(Table 01382)
 00h	BYTE	data structure minor version number (01h in TAME 2.20)
 01h	BYTE	data structure major version number (07h in TAME 2.20)
 02h	DWORD	number of task switches
 06h	DWORD	number of keyboard polls
 0Ah	DWORD	number of time polls
 0Eh	DWORD	number of times DESQview told program runs only in foreground
 12h	DWORD	original INT 10h
 16h	DWORD	original INT 14h
 1Ah	DWORD	original INT 15h
 1Eh	DWORD	original INT 16h
 22h	DWORD	original INT 17h
 26h	DWORD	original INT 21h
 2Ah	DWORD	original INT 28h
 2Eh	WORD	offset of TAME INT 10h handler
 30h	WORD	offset of TAME INT 14h handler
 32h	WORD	offset of TAME INT 15h handler
 34h	WORD	offset of TAME INT 16h handler
 36h	WORD	offset of TAME INT 17h handler
 38h	WORD	offset of TAME INT 21h handler
 3Ah	WORD	offset of TAME INT 28h handler
 3Ch	WORD	X in /max:X,Y or /freq:X,Y
 3Eh	WORD	Y in /max:X,Y or /freq:X,Y
 40h	WORD	number of polls remaining before next task switch
 42h	WORD	/KEYIDLE value
 44h	BYTE	interrupts already grabbed by TAME (see #01383)
 45h	BYTE	flags for interrupts which may be acted on (same bits as above)
 46h	BYTE	TAME enabled (01h) or disabled (00h)
 47h	BYTE	/TIMEPOLL (01h) or /NOTIMEPOLL (00h)
 48h	BYTE	/NOTIMER (01h) or /TIMER (00h)
 49h	BYTE	window or task number for this task
 4Ah	BYTE	multitasker type (see #01384)
 4Bh	BYTE	type of task switching selected
		bit 0: DESQview???
		bit 1: DoubleDOS???
		bit 2: TopView???
		bit 3: KeySwitch
		bit 4: HLT instruction
 4Ch	BYTE	???
 4Dh	BYTE	flags
		bit 1: /FREQ instead of /MAX
 4Eh	BYTE	/FG: value
 4Fh	BYTE	task switches left until next FGONLY DESQview API call
 50h	BYTE	???

Bitfields for interrupts already grabbed by TAME:
Bit(s)	Description	(Table 01383)
 0	INT 10h
 1	INT 14h
 2	INT 15h
 3	INT 16h
 4	INT 17h
 5	INT 21h
 6	INT 28h

(Table 01384)
Values for multitasker type:
 01h	DESQview
 02h	DoubleDOS
 03h	TopView
 04h	OmniView
 05h	VM/386

Bitfields for type of task switching selected:
Bit(s)	Description	(Table 01385)
 0	DESQview
 1	DoubleDOS
 2	TopView
 3	OmniView
 4	KeySwitch
 5	HLT instruction

Format of TAME 2.30 data area:
Offset	Size	Description	(Table 01386)
 00h	BYTE	data structure minor version number (02h in TAME 2.30)
 01h	BYTE	data structure major version number (0Ah in TAME 2.30)
 02h	DWORD	number of task switches
 06h	DWORD	number of keyboard polls
 0Ah	DWORD	number of time polls
 0Eh	DWORD	number of times DESQview told program runs only in foreground
 12h	DWORD	time of last /CLEAR or TAME-RES load
 16h	DWORD	time yielded
 1Ah	DWORD	time spent polling
 1Eh	DWORD	time spent waiting on key input with INT 16/AH=01h,11h
 22h	DWORD	original INT 10h
 26h	DWORD	original INT 14h
 2Ah	DWORD	original INT 15h
 2Eh	DWORD	original INT 16h
 32h	DWORD	original INT 17h
 36h	DWORD	original INT 21h
 3Ah	DWORD	original INT 28h
 3Eh	WORD	offset of TAME INT 10h handler
 40h	WORD	offset of TAME INT 14h handler
 42h	WORD	offset of TAME INT 15h handler
 44h	WORD	offset of TAME INT 16h handler
 46h	WORD	offset of TAME INT 17h handler
 48h	WORD	offset of TAME INT 21h handler
 4Ah	WORD	offset of TAME INT 28h handler
 4Ch	WORD	X in /max:X,Y or /freq:X,Y
 4Eh	WORD	Y in /max:X,Y or /freq:X,Y
 50h	WORD	number of polls remaining before next task switch
 52h	WORD	/KEYIDLE value
 54h	WORD	/FG: value
 56h	WORD	task switches left until next FGONLY DESQview API call
 58h	WORD	multitasker version
 5Ah	WORD	virtual screen segment
 5Ch	BYTE	interrupts already grabbed by TAME (see #01383)
 5Dh	BYTE	flags for interrupts which may be acted on (same bits as above)
 5Eh	BYTE	window or task number for this task
 5Fh	BYTE	multitasker type (see #01384)
 60h	BYTE	type of task switching selected (bit flags) (see #01385)
 61h	BYTE	watch_DOS
 62h	BYTE	action flags (see #01387)
 63h	BYTE	old status
 64h	WORD	signature DA34h

Bitfields for TAME action flags:
Bit(s)	Description	(Table 01387)
 0	TAME enabled
 1	/FREQ instead of /MAX (X and Y count fields are per tick)
 2	/TIMEPOLL
 3	/KEYPOLL
 4	inhibit timer
 5	enable status monitoring
SeeAlso: #01386,#01388

Format of TAME 2.60 data area:
Offset	Size	Description	(Table 01388)
 00h	BYTE	data structure minor version number (02h in TAME 2.60)
 01h	BYTE	data structure major version number (0Bh in TAME 2.60)
 02h	DWORD	number of task switches
 06h	DWORD	number of keyboard polls
 0Ah	DWORD	number of time polls
 0Eh	DWORD	number of times DESQview told program runs only in foreground
 12h	DWORD	time of last /CLEAR or TAME-RES load
 16h	DWORD	time yielded
 1Ah	DWORD	time spent polling
 1Eh	DWORD	time spent waiting on key input with INT 16/AH=01h,11h
 22h  4 BYTEs	???
 26h	DWORD	original INT 10h
 2Ah	DWORD	original INT 14h
 2Eh	DWORD	original INT 15h
 32h	DWORD	original INT 16h
 36h	DWORD	original INT 17h
 3Ah	DWORD	original INT 21h
 3Eh	DWORD	original INT 28h
 42h	WORD	offset of TAME INT 10h handler
 44h	WORD	offset of TAME INT 14h handler
 46h	WORD	offset of TAME INT 15h handler
 48h	WORD	offset of TAME INT 16h handler
 4Ah	WORD	offset of TAME INT 17h handler
 4Ch	WORD	offset of TAME INT 21h handler
 4Eh	WORD	offset of TAME INT 28h handler
 50h	WORD	X in /max:X,Y or /freq:X,Y
 52h	WORD	Y in /max:X,Y or /freq:X,Y
 54h	WORD	number of polls remaining before next task switch
 56h	WORD	/KEYIDLE value
 58h  4 BYTEs	???
 5Ch	WORD	X in /boost:X,Y
 5Eh	WORD	Y in /boost:X,Y
 60h	WORD	/FG: value
 62h	WORD	task switches remaining until next FGONLY DESQview API call
 64h	WORD	multitasker version ???
 66h	WORD	virtual screen segment
 68h	BYTE	interrupts already grabbed by TAME (see #01383)
 69h	BYTE	flags for interrupts which may be acted on (same bits as above)
 6Ah	BYTE	window or task number for this task
 6Bh	BYTE	multitasker type (see #01384)
 6Ch	BYTE	type of task switching selected (bit flags) (see #01385)
 6Dh	BYTE	watch_DOS
 6Eh	BYTE	action flags (see #01387)
 6Fh	BYTE	old status
 70h	WORD	signature DA34h

Top
212B16CX0643 - INT 21 - VIRUS - "Maltese Amoeba" - INSTALLATION CHECK
INT 21 - VIRUS - "Maltese Amoeba" - INSTALLATION CHECK
	AX = 2B16h
	CX = 0643h
Return: AX = 1603h if installed

Top
212B44BX4D41 - INT 21 - pcANYWHERE IV/LAN - INSTALLATION CHECK
INT 21 - pcANYWHERE IV/LAN - INSTALLATION CHECK
	AX = 2B44h ('D')
	BX = 4D41h ('MA')
	CX = 7063h ('pc')
	DX = 4157h ('AW')
Return: AX = resident program
	    4F4Bh ('OK') if large host resident
	    6F6Bh ('ok') if small host resident
	CX:DX -> API entry point (see #01389)
SeeAlso: INT 16/AH=79h

(Table 01389)
Call pcANYWHERE API entry point with:
	AX = 0000h get pcANYWHERE IV version
	    DS:SI -> BYTE buffer for host type code
	    Return: AH = version number
		    AL = revision number
		    DS:DI buffer byte filled with
			00h full-featured host
			01h limited-feature LAN host
			other API may not be supported
	AX = 0001h initialize operation
	    DS:SI -> initialization request structure (see #01390)
	    Return: AX = function status (see #01393)
	AX = 0002h get status
	    Return: AH = current operating mode (see #01390)
		    AL = current connection status (see #01392)
	AX = 0003h suspend remote screen updates
	    Return: AX = function status (see #01393)
	AX = 0004h resume screen updates
	    Return: AX = function status (see #01393)
	AX = 0005h end current remote access session
	    DS:SI -> termination request structure (see #01391)
	    Return: AX = function status (see #01393)
	AX = 0006h remove pcANYWHERE IV from memory
	    Return: AX = status (see #01393)
	AX = 8000h read data from communications channel
	    DS:BX -> buffer
	    CX = buffer size
	    Return: AX >= number of characters read/available
		    AX < 0 on error
	AX = 8001h write data to communications channel
	    DS:BX -> buffer
	    CX = buffer size
	    Return: AX >= number of characters written
		    AX < 0 on error
	AX = 8002h get connection status
	    Return: AX = status
			> 0000h if connection active
			= 0000h if connection lost
			< 0000h on error

Format of pcANYWHERE initialization request structure:
Offset	Size	Description	(Table 01390)
 00h	BYTE	operating mode
		00h wait for a call
		01h hot key activates
		02h incoming call activates
		03h initiate a call
 01h  3 BYTEs	user ID to append to config file names
 04h	WORD	DS-relative pointer to path for config files
 06h	WORD	DS-relative pointer to path for program files

Format of pcANYWHERE termination request structure:
Offset	Size	Description	(Table 01391)
 00h	BYTE	operating mode after termination
		00h wait for a call
		01h hot key activates
		02h incoming call activates
		80h use current mode
		FFh remove from memory

Bitfields for current connection status:
Bit(s)	Description	(Table 01392)
 0	a physical connection is active
 1	remove screen updating is active
 2	connection checking is active
 3	hot key detection is active
 4	background file transfer is active

(Table 01393)
Values for pcANYWHERE function status:
 0000h	function completed successfully
 FFD1h	unable to release interrupt vectors
 FFD2h	unable to release allocated memory
 FFF2h	unable to establish a connection when operating mode is
	  "Initiate a call"
 FFF3h	modem configuration is invalid (corrupt config)
 FFF4h	modem initialization failed (no modem response)
 FFF5h	the communications device could not be initialized
 FFF6h	the host operator aborted the function
 FFF7h	the communications driver type specified in the configuration file is
	  different than the one loaded when pcANYWHERE IV was started
 FFF9h	the configuration file is invalid
 FFFAh	the configuration file could not be found
 FFFBh	no session is active
 FFFCh	a remote access session is active
 FFFDh	the specified operating mode is invalid

Top
212B--CX5643 - INT 21 - Volkov Commander - INSTALLATION CHECK
INT 21 - Volkov Commander - INSTALLATION CHECK
	AH = 2Bh
	CX = 5643h ('VC')
	DX = 4F4Dh ('OM')
	AL = function number
	    00h get left window data address
	    01h get right window data address
	    02h get address of general variables
Return: AL = 00h if Volkov Commander installed
	    AH = version code (27h for v4.00.039)
	    ES:BX -> requested data
Program: Volkov Commander is a Norton Commander-like DOS shell

Top
212B--CX6269 - INT 21 - WDTSR.COM - INSTALLATION CHECK
INT 21 - WDTSR.COM - INSTALLATION CHECK
	AH = 2Bh
	CX = 6269h ('bi')
	DX = 742Dh ('t-')
Return: AL = FFh if not installed
	AL = 77h ('w') if WDTSR is installed
	    CX = 6174h ('at')
	    DX = 6368h ('ch')
	    ES = resident code segment
	    ES:DI -> identification and configuration data
Program: WDTSR is a driver for the bitWatch watchdog hardware by bit-design
	  GmbH
SeeAlso: AH=2Bh/CX=6269h"bitFOSSI",INT 14/AH=14h"FOSSIL",INT 15/AH=C3h

Top
212B--CX6269 - INT 21 - bitFOSS - INSTALLATION CHECK
INT 21 - bitFOSS - INSTALLATION CHECK
	AH = 2Bh
	CX = 6269h ('bi')
	DX = 7446h ('tF')
Return: AL = FFh if not installed
	AL = 4Fh ('O') if bitFOSS is installed
	    CX = 5353h ('SS')
	    DX = 494Ch ('IL')
	    ES = resident code segment
	    ES:DI -> identification data
Program: bitFOSS is a revision 5 FOSSIL driver
SeeAlso: AH=2Bh/CX=6269h"bitFOSSI",INT 11/AH=BCh

Top
212B--CX6269 - INT 21 - bitFOSSI - INSTALLATION CHECK
INT 21 - bitFOSSI - INSTALLATION CHECK
	AH = 2Bh
	CX = 6269h ('bi')
	DX = 7449h ('tI')
Return: AL = FFh if not installed
	AL = 53h ('S') if bitFOSSI is installed
	    CX = 444Eh ('DN')
	    DX = 2D46h ('-F')
	    ES = resident code segment
	    ES:DI -> identification data
Program: bitFOSSI is a revision 5 FOSSIL driver for ???'s ISDN board
SeeAlso: AH=2Bh/CX=6269h"bitFOSS",INT 11/AH=BCh

Top
212C - INT 21 - DOS 1+ - GET SYSTEM TIME
INT 21 - DOS 1+ - GET SYSTEM TIME
	AH = 2Ch
Return: CH = hour
	CL = minute
	DH = second
	DL = 1/100 seconds
Note:	on most systems, the resolution of the system clock is about 5/100sec,
	  so returned times generally do not increment by 1
	on some systems, DL may always return 00h
SeeAlso: AH=2Ah,AH=2Dh,AH=E7h"Novell",INT 1A/AH=00h,INT 1A/AH=02h,INT 1A/AH=FEh
SeeAlso: INT 2F/AX=120Dh

Top
212C - INT 21 - VIRUS - "Anti Pode 2.0" - INSTALLATION CHECK
INT 21 - VIRUS - "Anti Pode 2.0" - INSTALLATION CHECK
	AH = 2Ch
Return: DL = F2h if resident
SeeAlso: AX=1812h"VIRUS",AX=2C2Ch

Top
212C00CX534B - INT 21 - SKUDO - INSTALLATION CHECK
INT 21 - SKUDO - INSTALLATION CHECK
	AX = 2C00h
	CX = 534Bh ('SK')
	DX = 5544h ('UD')
	BX = 4F21h ('O!')
Return: AX = 5349h ('SI') if installed
	    CH = version number
	    CL = subversion
Program: SKUDO is an antivirus TSR by Jordi Mas

Top
212C2C - INT 21 - VIRUS - "LockJaw/Proto-T" - INSTALLATION CHECK
INT 21 - VIRUS - "LockJaw/Proto-T" - INSTALLATION CHECK
	AX = 2C2Ch
Return: AX = 0DCDh if resident
SeeAlso: AH=2Ch"VIRUS",AX=3000h"VIRUS"

Top
212D - INT 21 - DOS 1+ - SET SYSTEM TIME
INT 21 - DOS 1+ - SET SYSTEM TIME
	AH = 2Dh
	CH = hour
	CL = minute
	DH = second
	DL = 1/100 seconds
Return: AL = result
	    00h successful
	    FFh invalid time, system time unchanged
Note:	DOS 3.3+ also sets CMOS clock; due to the limitations of the CLOCK$
	  driver interface, the CMOS date is also updated to the current
	  DOS date
SeeAlso: AH=2Bh"DOS",AH=2Ch,INT 1A/AH=01h,INT 1A/AH=03h,INT 1A/AH=FFh"AT&T"

Top
212D01CX7820 - INT 21 - PC-Mix - INSTALLATION CHECK
INT 21 - PC-Mix - INSTALLATION CHECK
	AX = 2D01h
	CX = 7820h ('X ')
	DX = 6D69h ('MI')
Return: AL = 00h if installed

Top
212E--DL00 - INT 21 - DOS 1+ - SET VERIFY FLAG
INT 21 - DOS 1+ - SET VERIFY FLAG
	AH = 2Eh
	DL = 00h (DOS 1.x/2.x only)
	AL = new state of verify flag
	    00h off
	    01h on
Notes:	default state at system boot is OFF
	when ON, all disk writes are verified provided the device driver
	  supports read-after-write verification
SeeAlso: AH=54h

Top
212F - INT 21 - DOS 2+ - GET DISK TRANSFER AREA ADDRESS
INT 21 - DOS 2+ - GET DISK TRANSFER AREA ADDRESS
	AH = 2Fh
Return: ES:BX -> current DTA
Note:	under the FlashTek X-32 DOS extender, the pointer is in ES:EBX
SeeAlso: AH=1Ah

Top
2130 - INT 21 - DOS 2+ - GET DOS VERSION
INT 21 - DOS 2+ - GET DOS VERSION
	AH = 30h
---DOS 5+ ---
	AL = what to return in BH
	    00h OEM number (see #01394)
	    01h version flag
Return: AL = major version number (00h if DOS 1.x)
	AH = minor version number
	BL:CX = 24-bit user serial number (most versions do not use this)
---if DOS <5 or AL=00h---
	BH = MS-DOS OEM number (see #01394)
---if DOS 5+ and AL=01h---
	BH = version flag
	    bit 3: DOS is in ROM
	    other: reserved (0)
Notes:	the OS/2 v1.x Compatibility Box returns major version 0Ah (10)
	the OS/2 v2.x Compatibility Box returns major version 14h (20)
	OS/2 Warp 3.0 Virtual DOS Machines report v20.30; Warp 4 VDMs report
	  v20.40.
	the Windows NT DOS box returns version 5.00, subject to SETVER
	DOS 4.01 and 4.02 identify themselves as version 4.00; use
	  INT 21/AH=87h to distinguish between the original European MS-DOS 4.0
	  and the later PC-DOS 4.0x and MS-DOS 4.0x
	IBM DOS 6.1 reports its version as 6.00; use the OEM number to
	  distinguish between MS-DOS 6.00 and IBM DOS 6.1 (there was never an
	  IBM DOS 6.0)
	IBM's PC DOS 7 and Y2K updates report themselves as IBM 7.0 to be
	  distinguished from the MS-DOS 7.0 portion of Windows 95.
	MS-DOS 6.21 reports its version as 6.20; version 6.22 returns the
	  correct value
	Windows95 returns version 7.00 (the underlying MS-DOS), as did the
	  "Chicago" beta (reported in _Microsoft_Systems_Journal_,August 1994);
	  Windows95 OSR2 and OSR2.5 (OPK3) return MS version 7.10
	DR DOS 5.0 and 6.0 report version 3.31; Novell DOS 7 reports IBM v6.00,
	  which some software displays as IBM DOS v6.10 (because of the version
	  mismatch in true IBM DOS, as mentioned above).  The Novell DOS 7
	  SETVER.EXE has an undocumented option /G x.y which sets the "global"
	  DOS version returned by this function for all executables not given
	  a specific version number in SETVER to major version x and minor
	  version y.
	Heiko Goeman's Advanced WinDOS 2.10/2.11/2.21 returns "IBM" DOS 5.00
	  (subject to SETVER) and serial number 0.
	All versions of CCI Multiuser DOS up to "CCI Multiuser DOS 7.22 Gold"
	  as of 1997-02-10 report DOS 3.31.
	DR DOS 3.31, 3.32, 3.33, 3.34, 3.35, 3.40, 3.41, 5.0, 6.0 and
	  DR PalmDOS/NetWare PalmDOS 1.0 report version 3.31;
	  DR DOS "Panther" BETA 1 and "StarTrek" report as 5.0.
	  Novell DOS 7, OpenDOS 7.01, DR-OpenDOS 7.02, DR-DOS 7.02, DR-DOS 7.03
	  all report themselves as IBM 6.00, which some software displays as
	  IBM DOS 6.10 (because of the version mismatch in true IBM DOS,
	  as mentioned above). Use INT 21/AX=4452h to distinguish the DR-DOS
	  family from PC DOS.
	The Novell DOS 7 and OpenDOS 7.01 SETVER.EXE has an undocumented
	  option /G x.y which sets the "global" DOS version returned by this
	  function for all executables not given a specific version number in
	  SETVER to major version x >= 5 and minor version y = 0..254,
	  y = 255 is used to disable the BDOS version check at INT 21/AX=4452h.
	A slightly modified option has been documented for DR-OpenDOS 7.02+:
	  in /X mode it now allows for x >= 1, while y >= 100 requires /X mode,
	  and y >= 128 is used to control advanced version control means now
	  (see below).
	DR-DOS 7.02+ IBMDOS.COM (since 1998-01-10) now recognizes optional
	  paths to filenames stored in the SETVER list. Previously such entries
	  were never found. This allows for a three staged model for SETVERed
	  versions:
	  highest priority = entry with path is matching.
	  middle priority = entry without path is matching.
	  lowest priority = use global version (SETVER /G).
	The DR-DOS 7.02+ SETVER 1.01+ (1998-01-12) has also been enhanced to
	  allow DOS *and* BDOS version faking (see INT 21/AX=4452h): In /X mode,
	  setting a sub-version of y = 128..255 will be reported as 0..127 DOS
	  sub-version, sub-versions of y = 100..127 will instead be used to
	  report this value as BDOS version (64h..7Fh) via INT 21/AX=4452h, and
	  the DOS revision stored in PCM_HEADER in the IBMDOS.COM file will
	  be used to report the DOS sub-version (usually this holds 0, but it
	  can be patched to other values, see INT 21/AX=4452h !!!).
	  Note, that DR-DOS SHARE 2.05+ (1998-01-05) has relaxed version
	  checking, and will install on any DOS revision 0..127, as long as
	  run on a DR-DOS 72h+ kernel (formerly it was bound to a revision
	  byte of 0 only).
	Under Novell DOS 7+, the SETVERing also affects the version number
	  WORD stored at offset +40h in each program's PSP (see #01378).
	  This holds true even for special sub-versions of 100..255
	  (see INT 21/AX=4452h).
	generic MS-DOS 3.30, Compaq MS-DOS 3.31, and others identify themselves
	  as PC-DOS by returning OEM number 00h
	the version returned under DOS 4.0x may be modified by entries in
	  the special program list (see #01662 at AH=52h); the version returned
	  under DOS 5+ may be modified by SETVER--use AX=3306h to get the true
	  version number
SeeAlso: AX=3000h/BX=3000h,AX=3306h,AX=4452h,AH=87h,INT 15/AX=4900h
SeeAlso: AH=20h"S/DOS",INT 2F/AX=122Fh,INT 2F/AX=4010h,INT 2F/AX=4A33h
SeeAlso: INT 2F/AX=E002h

(Table 01394)
Values for DOS OEM number:
 00h *	IBM
     -	(Novell DOS, Caldera OpenDOS, DR-OpenDOS, and DR-DOS 7.02+ report IBM
	  as their OEM)
 01h *	Compaq
 02h *	MS Packaged Product
 04h *	AT&T
 05h *	ZDS (Zenith Electronics, Zenith Electronics)
	Note:	Zenith DOS 3.30 supports >32MB hard disks; this OEM ID can be
		  used to detect that support
 06h *	Hewlett-Packard
 07h *	Zenith Data Systems (ZDS, Groupe Bull), for DOS 5.0+
 08h *	Tandon
 09h *	AST (AST Europe Ltd.)
 0Ah *	Asem
 0Bh *	Hantarex
 0Ch *	SystemsLine
 0Dh *	Packard-Bell
 0Eh *	Intercomp
 0Fh *	Unibit
 10h *	Unidata
 16h *	DEC
 17h *	Olivetti DOS
 23h *	Olivetti (may have been a typo, since 23 = 17h)
 28h *	Texas Instruments
 29h *	Toshiba
 33h -	Novell (Windows/386 device IDs only)
 34h *	MS Multimedia Systems (Windows/386 device IDs only)
 35h *	MS Multimedia Systems (Windows/386 device IDs only)
 4Dh *	Hewlett-Packard (HP)
 5Eh -	RxDOS (Api Software & Mike Podanoffsky)	 http://www.freedos.org/
 66h -	PhysTechSoft (PTS-DOS)	http://www.phystechsoft.com/
	probably Paragon Technology Systems Corporation PTS-DOS as well
 99h -	General Software's Embedded DOS
 CDh -	Paragon Technology Systems Corporation ("Source DOS" S/DOS 1.0+)
	(see also INT 21/AH=20h"S/DOS")
 EDh -	reserved for future OpenDOS/DR-DOS based projects  http://www.drdos.org
 EEh	DR DOS
 EFh	Novell DOS
	Note:	released versions of Novell DOS 7 use OEM ID 00h instead
 FDh	FreeDOS	 http://www.freedos.org/
 FFh *	Microsoft, Phoenix (listed as "undefined" by Microsoft)
Notes:	'*' indicates an OEM release of MS-DOS, while '-' indicates an OEM
	  number used by a non-Microsoft DOS
	known OEM releases of MS-DOS:
	    AT&T DOS 3.10 (uses DOS 2.x cluster sizes and FAT structures)
	    Commodore DOS 3
	    Compaq DOS 3.31 (>32MB partitions similar to MS-DOS 4+)
	    Computerland DOS 3.10 (mix of DOS 2.x and 3.x disk mechanisms)
	    Eagle MS-DOS 1.25 (DOS 1.x with some hard disk support and built-in
		  ANSI.SYS functionality)
	    Epson Equity III DOS 3.10 (different clustering)
	    Leading Edge
	    NEC DOS 3.3
	    Olivetti DOS 2.11
	    Phoenix DOS 3.3, 4.01
	    Sanyo DOS 3.2
	    Tandy
	    Toshiba DOS
	    Unisys
	    Wyse MS-DOS 3
	    Zenith DOS 2.x (uses Zenith disk mechanism, extra drives at G:)
	    Zenith DOS 3.x (can be configured for Zenith or MS-DOS mechanism)
	    Zenith DOS 3.3 PLUS (>32MB partitions similar to MS-DOS 4+)

Top
2130 - INT 21 - Phar Lap 386/DOS-Extender, Intel Code Builder - INSTALLATION CHECK
INT 21 - Phar Lap 386/DOS-Extender, Intel Code Builder - INSTALLATION CHECK
	AH = 30h
	EAX = 00003000h
	EBX = 50484152h ("PHAR")
Return: AL = major DOS version
	AH = minor DOS version
	EAX bits 31-16 = 4458h ('DX') if 386/DOS-extender installed
	    BL = ASCII major version number
	EAX bits 31-16 = 4243h ('BC') if Intel Code Builder installed
	    EDX = address of GDA
SeeAlso: AX=2501h,AX=FF00h,INT 2F/AX=F100h

Top
2130--DXABCD - INT 21 - VIRUS - "Possessed" - INSTALLATION CHECK
INT 21 - VIRUS - "Possessed" - INSTALLATION CHECK
	AH = 30h
	DX = ABCDh
Return: DX = DCBAh if installed
SeeAlso: AX=0D20h,AH=30h/SI=1234h,AX=3000h"VIRUS",AX=30F1h

Top
2130--SI1234 - INT 21 - VIRUS - "ANDROMEDA-758" -INSTALLATION CHECK
INT 21 - VIRUS - "ANDROMEDA-758" -INSTALLATION CHECK
	AH = 30h
	SI = 1234h
Return: AX = FFDDh if resident
SeeAlso: AH=30h/DX=ABCDh,AX=3000h"VIRUS"

Top
213000BX1234 - INT 21 - CTask 2.0+ - INSTALLATION CHECK
INT 21 - CTask 2.0+ - INSTALLATION CHECK
	AX = 3000h
	BX = 1234h
	DS:DX -> 8-byte version string (DX < FFF0h) "CTask21",00h for v2.1-2.2
Return: AL = DOS major version
	AH = DOS minor version
	CX:BX -> Ctask global data block
Program: CTask is a multitasking kernel for C written by Thomas Wagner
Note:	if first eight bytes of returned data block equal eight bytes passed
	  in, CTask is resident

Top
213000BX3000 - INT 21 - PC-MOS/386 v3.0 - INSTALLATION CHECK/GET VERSION
INT 21 - PC-MOS/386 v3.0 - INSTALLATION CHECK/GET VERSION
	AX = 3000h
	BX = 3000h
	CX = DX = 3000h
Return: AX = PC-MOS version
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
SeeAlso: AH=30h,INT D4/AH=02h,INT D4/AH=10h

Top
213000BX614A - INT 21 - VIRUS - "Jackal" - INSTALLATION CHECK
INT 21 - VIRUS - "Jackal" - INSTALLATION CHECK
	AX = 3000h
	BX = 614Ah ('aJ')
	CX = 6B63h ('kc')
	DX = 6C61h ('la')
Return: BX = ???
SeeAlso: AX=2C2Ch"VIRUS",AX=3030h"VIRUS"

Top
213022 - INT 21 - StopPrg v2.0 - INSTALLATION CHECK
INT 21 - StopPrg v2.0 - INSTALLATION CHECK
	AX = 3022h
Return: AX = DOS version (see AH=30h)
	CX = 1112h if StopPrg installed
	    BX = segment of resident code
Program: StopPrg is a resident program aborter by MAK-TRAXON's Prophet
Note:	StopPrg may be temporarily disabled by storing 9090h in the word at
	  0000h:04FEh

Top
213030BX694D - INT 21 - VIRUS - "IMTC" -INSTALLATION CHECK
INT 21 - VIRUS - "IMTC" -INSTALLATION CHECK
	AX = 3030h
	BX = 694Dh
Return: DX = 7443h if resident
SeeAlso: AX=3000h/BX=614Ah"VIRUS",AX=3032h"VIRUS"

Top
213032DX1234 - INT 21 - VIRUS - "Uruguay" - INSTALLATION CHECK
INT 21 - VIRUS - "Uruguay" - INSTALLATION CHECK
	AX = 3032h
	DX = 1234h
Return: AX = 5678h if resident
SeeAlso: AX=3030h"VIRUS",AX=30F1h"VIRUS"

Top
2130F1 - INT 21 - VIRUS - "Dutch-555"/"Quit 1992" - INSTALLATION CHECK
INT 21 - VIRUS - "Dutch-555"/"Quit 1992" - INSTALLATION CHECK
	AX = 30F1h
Return: AL = 00h if resident
SeeAlso: AH=30h/DX=ABCDh,AX=3032h,AX=330Fh,AX=33DAh

Top
2130FFCX4445 - INT 21 - DESQ??? - INSTALLATION CHECK
INT 21 - DESQ??? - INSTALLATION CHECK
	AX = 30FFh
	CX = 4445h ("DE")
	DX = 5351h ("SQ")
Return: BH = 05h if installed
	???
Note:	called by DUBLDISK.COM v2.6; this function is not supported by
	  DESQview, so it may be for DESQview's precursor DESQ.
SeeAlso: AX=4404h"DUBLDISK"

Top
2131 - INT 21 - DOS 2+ - TERMINATE AND STAY RESIDENT
INT 21 - DOS 2+ - TERMINATE AND STAY RESIDENT
	AH = 31h
	AL = return code
	DX = number of paragraphs to keep resident
Return: never
Notes:	the value in DX only affects the memory block containing the PSP;
	  additional memory allocated via AH=48h is not affected
	the minimum number of paragraphs which will remain resident is 11h
	  for DOS 2.x and 06h for DOS 3.0+
	most TSRs can save some memory by releasing their environment block
	  before terminating (see #01378 at AH=26h,AH=49h)
	any open files remain open, so one should close any files which will
	  not be used before going resident; to access a file which is left
	  open from the TSR, one must switch PSP segments first (see AH=50h)
SeeAlso: AH=00h,AH=4Ch,AH=4Dh,INT 20,INT 22,INT 27

Top
2132 - INT 21 - DOS 2+ - GET DOS DRIVE PARAMETER BLOCK FOR SPECIFIC DRIVE
INT 21 - DOS 2+ - GET DOS DRIVE PARAMETER BLOCK FOR SPECIFIC DRIVE
	AH = 32h
	DL = drive number (00h = default, 01h = A:, etc)
Return: AL = status
	    00h successful
		DS:BX -> Drive Parameter Block (DPB) (see #01395) for specified
			  drive
	    FFh invalid or network drive
Notes:	the OS/2 compatibility box supports the DOS 3.3 version of this call
	  except for the DWORD at offset 12h
	this call updates the DPB by reading the disk; the DPB may be accessed
	  via the DOS list of lists (see #01627 at AH=52h) if disk access is not
	  desirable.
	undocumented prior to the release of DOS 5.0; only the DOS 4.0+
	  version of the DPB has been documented, however
	supported by DR DOS 3.41+; DR DOS 3.41-6.0 return the same data as
	  MS-DOS 3.31
	IBM ROM-DOS v4.0 also reports invalid/network (AL=FFh) on the ROM drive
SeeAlso: AH=1Fh,AH=52h,AX=7302h

Format of DOS Drive Parameter Block:
Offset	Size	Description	(Table 01395)
 00h	BYTE	drive number (00h = A:, 01h = B:, etc)
 01h	BYTE	unit number within device driver
 02h	WORD	bytes per sector
 04h	BYTE	highest sector number within a cluster
 05h	BYTE	shift count to convert clusters into sectors
 06h	WORD	number of reserved sectors at beginning of drive
 08h	BYTE	number of FATs
 09h	WORD	number of root directory entries
 0Bh	WORD	number of first sector containing user data
 0Dh	WORD	highest cluster number (number of data clusters + 1)
		16-bit FAT if greater than 0FF6h, else 12-bit FAT
 0Fh	BYTE	number of sectors per FAT
 10h	WORD	sector number of first directory sector
 12h	DWORD	address of device driver header (see #01646)
 16h	BYTE	media ID byte (see #01356)
 17h	BYTE	00h if disk accessed, FFh if not
 18h	DWORD	pointer to next DPB
---DOS 2.x---
 1Ch	WORD	cluster containing start of current directory, 0000h=root,
		FFFFh = unknown
 1Eh 64 BYTEs	ASCIZ pathname of current directory for drive
---DOS 3.x---
 1Ch	WORD	cluster at which to start search for free space when writing
 1Eh	WORD	number of free clusters on drive, FFFFh = unknown
---DOS 4.0-6.0---
 0Fh	WORD	number of sectors per FAT
 11h	WORD	sector number of first directory sector
 13h	DWORD	address of device driver header (see #01646)
 17h	BYTE	media ID byte (see #01356)
 18h	BYTE	00h if disk accessed, FFh if not
 19h	DWORD	pointer to next DPB
 1Dh	WORD	cluster at which to start search for free space when writing,
		usually the last cluster allocated
 1Fh	WORD	number of free clusters on drive, FFFFh = unknown
SeeAlso: #01357,#01663,#01787 at AX=7302h,#04039 at INT E0/CL=71h

Top
2133 - INT 21 - DOS 2+ - EXTENDED BREAK CHECKING
INT 21 - DOS 2+ - EXTENDED BREAK CHECKING
	AH = 33h
	AL = subfunction
	    00h get current extended break state
		Return: DL = current state, 00h = off, 01h = on
	    01h set state of extended ^C/^Break checking
		DL = new state
		    00h off, check only on character I/O functions
		    01h on, check on all DOS functions
		Return: (Novell DOS 7) DL = old state of extended Break checks
Note:	under DOS 3.1+ and DR DOS, this function does not use any of the
	  DOS-internal stacks and may thus be called at any time
SeeAlso: AX=3302h

Top
213302 - INT 21 - DOS 3.x+ internal - GET AND SET EXTENDED CONTROL-BREAK CHECKING STATE
INT 21 - DOS 3.x+ internal - GET AND SET EXTENDED CONTROL-BREAK CHECKING STATE
	AX = 3302h
	DL = new state (00h for OFF, 01h for ON)
Return: DL = old state of extended BREAK checking
Notes:	this function does not use any of the DOS-internal stacks and may thus
	  be called at any time; one possible use is modifying Control-Break
	  checking from within an interrupt handler or TSR
	not supported by DR DOS through version 6.0 (error code 01h);
	  newly-supported by Novell DOS 7
SeeAlso: AH=33h

Top
213303 - INT 21 - DOS 3.4/4.0 - GET CURRENT CPSW STATE
INT 21 - DOS 3.4/4.0 - GET CURRENT CPSW STATE
	AX = 3303h
Return: DL = current CPSW
Notes:	this function and AX=3304h were intended to support a proposed
	  code-page switching flag (using the WORD at offset 0Ch in the DOS
	  directory entry for codepage information); however, this function
	  has always been a NOP in public releases of DOS and OS/2.
	  See _DOS_Internals_ Chapter 2 for more information.
	the released MS-DOS 4.00 IO.SYS has an undocumented CONFIG.SYS
	  directive named CPSW= and that beside others the MS-DOS 4.00 ATTRIB
	  supported a number of undocumented special parameters for
	  "predefined" Extended Attributes (EAs) e.g.
	  ATTRIB filename [(CODEPAGE|CP)[=new_value]].
	this function does not use any of the DOS-internal stacks and may
	   thus be called at any time. It is directly dispatched from
	   the INT 21h entry point with interrupts disabled.
SeeAlso: AX=3304h

Top
213304 - INT 21 - DOS 3.4/4.0 - SET CPSW STATE
INT 21 - DOS 3.4/4.0 - SET CPSW STATE
	AX = 3304h
	DL = new CPSW state
Return: nothing
Notes:	this function and AX=3303h were intended to support a proposed
	  code-page switching flag (using the WORD at offset 0Ch in the DOS
	  directory entry for codepage information); however, this function
	  has always been a NOP in public releases of DOS and OS/2.
	  See _DOS_Internals_ Chapter 2 for more information.
	the released MS-DOS 4.00 IO.SYS has an undocumented CONFIG.SYS
	  directive named CPSW= and that beside others the MS-DOS 4.00 ATTRIB
	  supported a number of undocumented special parameters for
	  "predefined" Extended Attributes (EAs) e.g.
	  ATTRIB filename [(CODEPAGE|CP)[=new_value]].
	this function does not use any of the DOS-internal stacks and may
	   thus be called at any time. It is directly dispatched from
	   the INT 21h entry point with interrupts disabled.
SeeAlso: AX=3303h,AH=11h,AX=5702h

Top
213305 - INT 21 - DOS 4.0+ - GET BOOT DRIVE
INT 21 - DOS 4.0+ - GET BOOT DRIVE
	AX = 3305h
Return: DL = boot drive (1=A:,...)
Notes:	This function does not use any of the DOS-internal stacks and may
	   thus be called at any time.  It is directly dispatched from
	   the INT 21h entry point with interrupts disabled.
	NEC 9800-series PCs always call the boot drive A: and assign the other
	  drive letters sequentially to the other drives in the system
	this call is supported by OS/2 Warp 3.0, but not earlier versions of
	  OS/2; it is also supported by Novell DOS 7

Top
213306 - INT 21 - DOS 5+ - GET TRUE VERSION NUMBER
INT 21 - DOS 5+ - GET TRUE VERSION NUMBER
	AX = 3306h
Return: BL = major version
	BH = minor version
	DL = revision (bits 2-0, all others 0)
	DH = version flags
	    bit 3: DOS is in ROM
	    bit 4: DOS is in HMA
	AL = FFh if true DOS version < 5.0
Notes:	this function always returns the true version number, unlike AH=30h,
	  whose return value may be changed with SETVER
	because of the conflict from the CBIS redirector (see next
	  entry), programs should check whether BH is less than 100 (64h)
	  and BL is at least 5 before accepting the returned BX as the true
	  version number; however, even this is not entirely reliable when
	  that redirector is loaded
	Under MS-DOS/PC DOS, DR DOS, PTS-DOS, S/DOS this function does not
	  use any of the DOS internal stacks and thus is fully reentrant
	OS/2 v2.1 will return BX=0A14h (version 20.10)
	Windows 95 and Windows 95 SP1 return version 7.00; Windows 95 OSR2
	  and OPK3 (OSR2.5) return version MS 7.10.
	the Windows NT DOS box returns BX=3205h (version 5.50)
	Novell DOS 7 returns IBM v6.00, which some software displays as
	  IBM DOS v6.10 (because of the version mismatch in true IBM DOS
	  mentioned for INT 21/AH=30h); versions through Update 15 all
	  return revision code 00h
	Windows95 and Windows95 SP1 return version 7.00; Windows95 OSR2 returns
	  version 7.10
	Heiko Goeman's Advanced WinDOS 2.10/2.11/2.21 returns DOS 5.00, 
	  revision 0.
	Novell DOS 7, OpenDOS 7.01, DR-OpenDOS 7.02, DR-DOS 7.02, DR-DOS 7.03
	  all return IBM 6.00, which some software displays as IBM DOS 6.10
	  (because of the version mismatch in true IBM DOS mentioned for
	  INT 21/AH=30h); versions through Novell DOS 7 Update 15.2 (01/1996)
	  all return revision code 00h. The DOS revision is stored in bits 7-0
	  of the "patch_version" field in the PCM_HEADER structure in the
	  IBMDOS.COM file (see also INT 21/AX=4452h !!!). The version
	  flags (DH) are stored in bits 15-8 of "patch_version", but is updated
	  at runtime to reflect the actual status. "patch_version" is also
	  reported as DX in INT 21/AX=4452h.
	Unlike MS-DOS, under Novell DOS 7+ IBMDOS.COM will also allow to
	  SETVER the returned "true" DOS version same as with INT 21/AX=3000h
	  and INT 21/AX=3001h.
	DR-DOS 7.02+ IBMDOS.COM (since 1998-01-10) now recognizes optional
	  paths to filenames stored in the SETVER list. Previously such
	  entries were never found. This enables a three staged model of
	  SETVERed versions:
	  highest priority = entry with path is matching.
	  middle priority = entry without path is matching.
	  lowest priority = use global version (SETVER /G).
	The DR-DOS 7.02+ SETVER 1.01+ (1998-01-12) has also been enhanced to
	  allow BDOS and DOS version faking (see INT 21/AX=4452h). In /X mode,
	  a set sub-version of y = 128..255 will be reported as 0..127 DOS
	  sub-version, sub-versions of y = 100..127 will be used to report this
	  value as BDOS version (64h..7Fh) with INT 21/AX=4452h instead while
	  bits 6-0 of the DOS revision stored in PCM_HEADER in the IBMDOS.COM
	  file will be used to report the BH DOS sub-version 0..127 (usually
	  this holds 0, but it can be patched to other values).
	DR-DOS SHARE 2.05 (1998-01-05) has relaxed version checking now, and
	  will install on any DOS revision 0..127 (formerly it was bound to
	  DOS revision 0 only), as long as run on a DR-DOS 72h or 73h BDOS
	  kernel.  Hence, if there will be changes in the SHARE implementation
	  without changing the BDOS version, DR-DOS SHARE 2.05 can still be
	  stopped from installing by changing the DOS revision in PCM_HEADER
	  to something in the range 128..255.
	Under Novell DOS 7+, the version SETVERing also affects the version
	  number WORD stored at offset +40h in each program's PSP (see
	  Table xxxx at INT 21/AH=26h). This holds true even for special
	  sub-versions of 100..255 (see INT 21/AX=4452h).
	S/DOS 1.0 (1995) returns a DOS revision of 9, while its own PTS OEM
	  revision still defaults to 0 (see also INT 21/AH=20h"S/DOS").
BUG:	DR DOS 5.0 and 6.0 return CF set/AX=0001h for INT 21/AH=33h
	  subfunctions other than 00h-02h and 05h, while MS-DOS returns AL=FFh
	  for invalid subfunctions
SeeAlso: AH=30h,INT 2F/AX=122Fh,INT 2F/AX=E000h"SETDRVER"

Top
213306 - INT 21 - CBIS network - NETWORK REDIRECTOR - ???
INT 21 - CBIS network - NETWORK REDIRECTOR - ???
	AX = 3306h
Return: AX = 3306h
	BL = ??? (usually 00h)
	BH = ??? (usually 00h or FFh)
Note:	unknown function, is in conflict with DOS 5+ version call
SeeAlso: AX=3306h"DOS"

Top
213307 - INT 21 - Windows95 - SET/CLEAR DOS_FLAG
INT 21 - Windows95 - SET/CLEAR DOS_FLAG
	AX = 3307h
	DL = subfunction
	    00h clear bit 5 of "DOS_FLAG"
	    01h set bit 5 of "DOS_FLAG"
Return: ???

Top
21330F - INT 21 - VIRUS - "Burghofer" - INSTALLATION CHECK
INT 21 - VIRUS - "Burghofer" - INSTALLATION CHECK
	AX = 330Fh
Return: AL = 0Fh if resident (DOS returns AL=FFh)
SeeAlso: AX=30F1h,AX=33DAh,AX=33E0h

Top
213341 - INT 21 - Diet Disk v1.0 - INSTALLATION CHECK
INT 21 - Diet Disk v1.0 - INSTALLATION CHECK
	AX = 3341h
Return: DX = 1234h if installed
	    CX = resident code segment
Program: Diet Disk is a public domain transparent data file compressor by
	  Barry Nance

Top
2133DA - INT 21 - VIRUS - "CoffeeShop" - INSTALLATION CHECK
INT 21 - VIRUS - "CoffeeShop" - INSTALLATION CHECK
	AX = 33DAh
Return: AH = A5h if resident
	    AL = virus version
SeeAlso: AX=33DB,AX=33DCh,AX=330Fh,AX=33E0h,AX=5643h"VIRUS"

Top
2133DB - INT 21 - VIRUS - "CoffeeShop" - GENERATE RANDOM NUMBER
INT 21 - VIRUS - "CoffeeShop" - GENERATE RANDOM NUMBER
	AX = 33DBh
Return:	???
SeeAlso: AX=33DAh,AX=33DCh

Top
2133DC - INT 21 - VIRUS - "CoffeeShop" - DISPLAY "LEGALIZE CANNABIS" GRAPHIC
INT 21 - VIRUS - "CoffeeShop" - DISPLAY "LEGALIZE CANNABIS" GRAPHIC
	AX = 33DCh
Return:	???
SeeAlso: AX=33DAh,AX=33DBh

Top
2133E0 - INT 21 - VIRUS - "Oropax" - INSTALLATION CHECK
INT 21 - VIRUS - "Oropax" - INSTALLATION CHECK
	AX = 33E0h
Return: AL = E0h if resident (DOS returns AL=FFh)
SeeAlso: AX=330Fh,AX=33DAh,AX=357Fh

Top
2134 - INT 21 - DOS 2+ - GET ADDRESS OF INDOS FLAG
INT 21 - DOS 2+ - GET ADDRESS OF INDOS FLAG
	AH = 34h
Return: ES:BX -> one-byte InDOS flag
Notes:	this function executes on the DOS stack, and thus cannot be called
	  while another DOS function is already executing; you should use
	  this function once at the beginning of the program and store the
	  returned pointer rather than calling it when requiring DOS access
	the value of InDOS is incremented whenever an INT 21 function begins
	  and decremented whenever one completes
	during an INT 28 call, it is safe to call some INT 21 functions even
	  though InDOS may be 01h instead of zero
	InDOS alone is not sufficient for determining when it is safe to
	  enter DOS, as the critical error handling decrements InDOS and
	  increments the critical error flag for the duration of the critical
	  error.  Thus, it is possible for InDOS to be zero even if DOS is
	  busy.
	SMARTDRV 4.0 sets the InDOS flag while flushing its buffers to disk,
	  then zeros it on completion
	the critical error flag is the byte immediately following InDOS in
	  DOS 2.x, and the byte BEFORE the InDOS flag in DOS 3.0+ and
	  DR DOS 3.41+ (except COMPAQ DOS 3.0, where the critical error flag
	  is located 1AAh bytes BEFORE the critical section flag)
	for DOS 3.1+, an undocumented call exists to get the address of the
	  critical error flag (see AX=5D06h)
	this function was undocumented prior to the release of DOS 5.0.
SeeAlso: AX=5D06h,AX=5D0Bh,INT 15/AX=DE1Fh,INT 28

Top
2135 - INT 21 - DOS 2+ - GET INTERRUPT VECTOR
INT 21 - DOS 2+ - GET INTERRUPT VECTOR
	AH = 35h
	AL = interrupt number
Return: ES:BX -> current interrupt handler
Note:	under DR DOS 5.0+, this function does not use any of the DOS-internal
	  stacks and may thus be called at any time
SeeAlso: AH=25h,AX=2503h

Top
213501 - INT 21 P - FlashTek X-32VM - ALLOCATE PROTECTED-MODE SELECTOR
INT 21 P - FlashTek X-32VM - ALLOCATE PROTECTED-MODE SELECTOR
	AX = 3501h
Return: CF clear if successful
	    BX = new selector
	CF set on error (no more selectors available)
Note:	the new selector will be an expand-up read/write data selector with
	  undefined base and limit
SeeAlso: AX=3502h,INT 31/AX=0000h

Top
213502 - INT 21 P - FlashTek X-32VM - DEALLOCATE PROTECTED-MODE SELECTOR
INT 21 P - FlashTek X-32VM - DEALLOCATE PROTECTED-MODE SELECTOR
	AX = 3502h
	BX = selector
Return: CF clear if successful
	CF set on error (invalid selector)
Note:	only selectors allocated via AX=3501h should be deallocated
SeeAlso: AX=3501h,INT 31/AX=0001h

Top
213503 - INT 21 P - FlashTek X-32VM - SET SELECTOR BASE ADDRESS
INT 21 P - FlashTek X-32VM - SET SELECTOR BASE ADDRESS
	AX = 3503h
	BX = selector
	ECX = base address
Return: CF clear if successful
	CF set on error (invalid selector)
SeeAlso: AX=3504h,AX=3505h,INT 31/AX=0007h

Top
213504 - INT 21 P - FlashTek X-32VM - GET SELECTOR BASE ADDRESS
INT 21 P - FlashTek X-32VM - GET SELECTOR BASE ADDRESS
	AX = 3504h
	BX = selector
Return: CF clear if successful
	    ECX = absolute base address of selector
	CF set on error (invalid selector)
SeeAlso: AX=3503h,INT 31/AX=0006h

Top
213505 - INT 21 P - FlashTek X-32VM - SET SELECTOR LIMIT
INT 21 P - FlashTek X-32VM - SET SELECTOR LIMIT
	AX = 3505h
	BX = selector
	ECX = desired limit
Return: CF clear if successful
	    ECX = actual limit set
	CF set on error (no more selectors available)
Note:	the limit will be rounded down to nearest 4K boundary if the requested
	  limit is greater than 1MB
SeeAlso: AX=3503h,INT 31/AX=0008h

Top
21350A - INT 21 P - FlashTek X-32VM - PHYSICAL ADDRESS MAPPING
INT 21 P - FlashTek X-32VM - PHYSICAL ADDRESS MAPPING
	AX = 350Ah
	EBX = absolute physical address
	ECX = size in bytes of area to map
Return: CF clear if successful
	CF set on error (insufficient memory or service refused by DPMI host)
Notes:	should not make repeated calls for the same physical address
	there is no provision for unmapping memory

Top
21350B - INT 21 P - FlashTek X-32VM - UPDATE AND RETURN AVAILABLE FREE MEMORY
INT 21 P - FlashTek X-32VM - UPDATE AND RETURN AVAILABLE FREE MEMORY
	AX = 350Bh
	DS = default selector for DS
Return: CF clear
	EAX = maximum amount of memory which can be allocated via AX=350Ch
SeeAlso: AX=350Ch

Top
21350C - INT 21 P - FlashTek X-32VM - ALLOCATE A BLOCK OF MEMORY
INT 21 P - FlashTek X-32VM - ALLOCATE A BLOCK OF MEMORY
	AX = 350Ch
	ECX = size of block in bytes
	DS = default DS
Return: CF clear if successful
	    EAX = near pointer to new block
	    EDX = new lowest legal value for stack
	CF set on error (requested size not multiple of 4K)
SeeAlso: AX=350Bh,AX=350Dh

Top
21350D - INT 21 P - FlashTek X-32VM - RESERVE BLOCK OF MEMORY FOR 32-BIT STACK
INT 21 P - FlashTek X-32VM - RESERVE BLOCK OF MEMORY FOR 32-BIT STACK
	AX = 350Dh
	EBX = current ESP value
	ECX = size of block in bytes
	DS = default DS
Return: CF clear if successful
	    EBX = new value for ESP
	    EDX = suggested new limit for SS
	CF set on error
Note:	this function should only be called once during initialization
SeeAlso: AX=350Bh,AX=350Ch

Top
21357F - INT 21 - VIRUS - "Agiplan"/"Month 4-6" - INSTALLATION CHECK
INT 21 - VIRUS - "Agiplan"/"Month 4-6" - INSTALLATION CHECK
	AX = 357Fh
Return: DX = FFFFh if installed
SeeAlso: AX=33E0h,AX=3DFFh

Top
2136 - INT 21 - DOS 2+ - GET FREE DISK SPACE
INT 21 - DOS 2+ - GET FREE DISK SPACE
	AH = 36h
	DL = drive number (00h = default, 01h = A:, etc)
Return: AX = FFFFh if invalid drive
	else
	    AX = sectors per cluster
	    BX = number of free clusters
	    CX = bytes per sector
	    DX = total clusters on drive
Notes:	free space on drive in bytes is AX * BX * CX
	total space on drive in bytes is AX * CX * DX
	"lost clusters" are considered to be in use
	according to Dave Williams' MS-DOS reference, the value in DX is
	  incorrect for non-default drives after ASSIGN is run
	this function does not return proper results on CD-ROMs;
	  use AX=4402h"CD-ROM" instead
	(FAT32 drive) the reported total and free space are limited to 2G-32K
	  should they exceed that value
SeeAlso: AH=1Bh,AH=1Ch,AX=4402h"CD-ROM",AX=7303h

Top
213700 - INT 21 - DOS 2+ - "SWITCHAR" - GET SWITCH CHARACTER
INT 21 - DOS 2+ - "SWITCHAR" - GET SWITCH CHARACTER
	AX = 3700h
Return: AL = status
	    00h successful
		DL = current switch character
	    FFh unsupported subfunction
Desc:	Determine the character which is used to introduce command switches.
	  This setting is ignored by MS-DOS commands in version 4.0 and higher,
	  but is honored by many third-party programs and by Novell DOS 7
	  external commands
BUG:	Novell DOS 7's COMMAND.COM (prior to Update 15) fails to honor the
	  SwitChar setting for internal commands even though COMMAND.COM
	  honors it in its own command tail (i.e. COMMAND /?); even in Update
	  15, internal commands fail to honor SwitChar for the /? help option
Notes:	documented in some OEM versions of some releases of DOS
	supported by OS/2 compatibility box
	always returns AL=00h/DL=2Fh for MS-DOS 5+ and DR DOS 3.41-6.0
	Novell DOS 7 COMMAND.COM indicates switch characters other than '/'
	  by changing the first backslash (and only the first one) in the
	  path it prints for PROMPT $p with a forward slash
SeeAlso: AX=3701h

Top
213701 - INT 21 - DOS 2+ - "SWITCHAR" - SET SWITCH CHARACTER
INT 21 - DOS 2+ - "SWITCHAR" - SET SWITCH CHARACTER
	AX = 3701h
	DL = new switch character
Return: AL = status
	    00h successful
	    FFh unsupported subfunction
Notes:	documented in some OEM versions of some releases of DOS; DOS 2.x had
	  a SWITCHAR=c setting in CONFIG.SYS
	supported by OS/2 compatibility box and Novell DOS 7
	ignored by MS-DOS 5+ and DR DOS 3.41-6.0; DR DOS 6.0 and Novell DOS 7
	  leave AX unchanged
SeeAlso: AX=3700h

Top
2137 - INT 21 - DOS 2.x and 3.3+ only - "AVAILDEV" - SPECIFY \DEV\ PREFIX USE
INT 21 - DOS 2.x and 3.3+ only - "AVAILDEV" - SPECIFY \DEV\ PREFIX USE
	AH = 37h
	AL = subfunction
	    02h get availdev flag
		Return: DL = 00h \DEV\ must precede character device names
			   = nonzero \DEV\ is optional
	    03h set availdev flag
		DL = new state
		    00h		\DEV\ is mandatory
		    nonzero	\DEV\ is optional
Return: AL = status
	    00h successful
	    FFh unsupported subfunction
Notes:	all versions of DOS from 2.00 allow \DEV\ to be prepended to device
	  names without generating an error even if the directory \DEV does
	  not actually exist (other paths generate an error if they do not
	  exist); DOS 2.x has an AVAILDEV= option in CONFIG.SYS to make \DEV
	  mandatory
	although MS-DOS 3.3+, DR DOS 3.41+, and Novell DOS 7 accept these
	  calls, they have no effect, and AL=02h always returns DL=FFh (except
	  for Novell DOS 7, which leaves AX unchanged for both subfunctions)

Top
2137A0BX6A6D - INT 21 - XPACK v1.52+ - TSR INSTALLATION CHECK
INT 21 - XPACK v1.52+ - TSR INSTALLATION CHECK
	AX = 37A0h
	BX = 6A6Dh ('jm')
Return: AL = FFh if not present as TSR (default return value from DOS)
	AX = 0000h if installed as a TSR
	    CX = 6A6Dh ('jm')
	    DX = version ID (0152h)
Program: XPACK is a transparent file compressor/decompressor by JauMing Tseng
SeeAlso: AX=37A1h/BX=6A6Dh,AX=37A3h/BX=6A6Dh

Top
2137A1BX6A6D - INT 21 - XPACK v1.52+ - UNINSTALL
INT 21 - XPACK v1.52+ - UNINSTALL
	AX = 37A1h
	BX = 6A6Dh ('jm')
Return: AX = status
	    0000h successful
	    FFFFh failed
Program: XPACK is a transparent file compressor/decompressor by JauMing Tseng
SeeAlso: AX=37A0h/BX=6A6Dh

Top
2137A2BX6A6D - INT 21 - XPACK v1.52+ - GET TSR STATUS
INT 21 - XPACK v1.52+ - GET TSR STATUS
	AX = 37A2h
	BX = 6A6Dh ('jm')
Return: AX = 0000h (successful)
	DL = status (01h active, 00h disabled)
SeeAlso: AX=37A3h/BX=6A6Dh

Top
2137A3BX6A6D - INT 21 - XPACK v1.52+ - SET TSR STATUS
INT 21 - XPACK v1.52+ - SET TSR STATUS
	AX = 37A3h
	BX = 6A6Dh ('jm')
	DL = status (01h active, 00h disabled)
Return: AX = 0000h (successful)
SeeAlso: AX=37A0h/BX=6A6Dh,AX=37A2h/BX=6A6Dh

Top
2137A6BX6A6D - INT 21 - XPACK v1.65 - GET TEMPORARY DIRECTORY NAME
INT 21 - XPACK v1.65 - GET TEMPORARY DIRECTORY NAME
	AX = 37A6h
	BX = 6A6Dh ('jm')
Return: AX = 0000h
	DS:DX -> name of temporary directory
Program: XPACK is a transparent file compressor/decompressor by JauMing Tseng
SeeAlso: AX=37A0h/BX=6A6Dh,AX=37A7h/BX=6A6Dh

Top
2137A7BX6A6D - INT 21 - XPACK v1.65 - SET TEMPORARY DIRECTORY NAME
INT 21 - XPACK v1.65 - SET TEMPORARY DIRECTORY NAME
	AX = 37A7h
	BX = 6A6Dh ('jm')
	DS:DX -> ASCIZ name of temporary directory (max 64 chars)
Return: AX = 0000h
Note:	the specified directory name must include a drive letter and end with
	  a backslash (e.g. 'c:\dos\',0)
SeeAlso: AX=37A0h/BX=6A6Dh,AX=37A6h/BX=6A6Dh

Top
2137D0BX899D - INT 21 - DIET v1.43e - TSR INSTALLATION CHECK
INT 21 - DIET v1.43e - TSR INSTALLATION CHECK
	AX = 37D0h
	BX = 899Dh ('DI' + 'ET')
Return: AL = FFh if not present as TSR (default return value from DOS)
	AX = 0000h if installed as a TSR
	    CX = 899Dh
	    DX = version ID
Program: DIET is a transparent file compressor/decompressor by Teddy Matsumoto
SeeAlso: AX=37D1h,AX=37D2h,AX=37D4h,AX=37D6h,AX=37DFh,AX=4BF0h,AX=4BF1h

Top
2137D1BX899D - INT 21 - DIET v1.43e - GET DIET.EXE RESIDENT SEGMENT
INT 21 - DIET v1.43e - GET DIET.EXE RESIDENT SEGMENT
	AX = 37D1h
	BX = 899Dh ('DI' + 'ET')
Return: AX = 0000h
	CX = code segment of TSR part of DIET.EXE
	DX = memory block segment of TSR DIET.EXE
		(0000h if installed as device driver)
SeeAlso: AX=37D0h,AX=37DFh

Top
2137D2BX899D - INT 21 - DIET v1.43e - GET TSR CONTROL FLAGS
INT 21 - DIET v1.43e - GET TSR CONTROL FLAGS
	AX = 37D2h
	BX = 899Dh ('DI' + 'ET')
Return: AX = 0000h
	DL = control flag (00h active, else disabled)
	DH = skip flag (nonzero while TSR active)
SeeAlso: AX=37D0h,AX=37D3h,AX=37D4h

Top
2137D3BX899D - INT 21 - DIET v1.43e - SET TSR CONTROL FLAGS
INT 21 - DIET v1.43e - SET TSR CONTROL FLAGS
	AX = 37D3h
	BX = 899Dh ('DI' + 'ET')
	DL = control flag (00h active, else disabled)
	DH = skip flag (00h)
Return: AX = 0000h
SeeAlso: AX=37D0h,AX=37D2h,AX=37D5h

Top
2137D4BX899D - INT 21 - DIET v1.43e - GET TSR OPTIONS
INT 21 - DIET v1.43e - GET TSR OPTIONS
	AX = 37D4h
	BX = 899Dh ('DI' + 'ET')
Return: AX = 0000h
	DX = TSR options (see #01396)
SeeAlso: AX=37D0h,AX=37D2h,AX=37D5h

Bitfields for DIET TSR options:
Bit(s)	Description	(Table 01396)
 0	automated compression of DIETed file
 1	automated compression of newly-created file
 2	suppress DIET message
 3	display original file size
 4-15	reserved (0)

Top
2137D5BX899D - INT 21 - DIET v1.43e - SET TSR OPTIONS
INT 21 - DIET v1.43e - SET TSR OPTIONS
	AX = 37D5h
	BX = 899Dh ('DI' + 'ET')
	DX = TSR options (see #01396)
Return: AX = 0000h
Program: DIET is a transparent file compressor/decompressor by Teddy Matsumoto
SeeAlso: AX=37D0h,AX=37D3h,AX=37D4h

Top
2137D6BX899D - INT 21 - DIET v1.43e - GET TEMPORARY DIRECTORY NAMES
INT 21 - DIET v1.43e - GET TEMPORARY DIRECTORY NAMES
	AX = 37D6h
	BX = 899Dh ('DI' + 'ET')
Return: AX = 0000h
	DS:DX -> name of temporary directory or 0000h:0000h for current dir
SeeAlso: AX=37D0h,AX=37D7h

Top
2137D7BX899D - INT 21 - DIET v1.43e - SET TEMPORARY DIRECTORY NAMES
INT 21 - DIET v1.43e - SET TEMPORARY DIRECTORY NAMES
	AX = 37D7h
	BX = 899Dh ('DI' + 'ET')
	DS:DX -> ASCIZ name of temporary directory (max 61 chars)
		0000h:0000h for current directory
Return: AX = 0000h
Note:	the specified directory name must include a drive letter and end with
	  a backslash
SeeAlso: AX=37D0h,AX=37D6h

Top
2137DCBX899D - INT 21 - DIET v1.43e - SET ADDRESS OF EXTERNAL PROCEDURE
INT 21 - DIET v1.43e - SET ADDRESS OF EXTERNAL PROCEDURE
	AX = 37DCh
	BX = 899Dh ('DI' + 'ET')
	DS:DX -> external procedure (see #01397)
Return: AX = 0000h
Note:	the resident code will call the specified external procedure at the
	  beginning of decompression and when compression is exited on failure
SeeAlso: AX=37DDh

(Table 01397)
Values DIET external procedure is called with:
	STACK:	WORD	class
			FFFDh creation failed for unknown reasons
			FFFEh creation failed due to lack of space
			FFFFh file creation error
			else file handle of DIETed file to be decompressed
		DWORD	-> compressed filename
		DWORD	-> decompressed or temporary filename
Return: SI,DI,BP,DS,ES must be preserved by external procedure

Top
2137DDBX899D - INT 21 - DIET v1.43e - RELEASE EXTERNAL PROCEDURE
INT 21 - DIET v1.43e - RELEASE EXTERNAL PROCEDURE
	AX = 37DDh
	BX = 899Dh ('DI' + 'ET')
Program: DIET is a transparent file compressor/decompressor by Teddy Matsumoto
Note:	unlinks the external procedure specified by AX=37DCh
SeeAlso: AX=37DCh

Top
2137DEBX899D - INT 21 - DIET v1.43e - READ EMS STATUS
INT 21 - DIET v1.43e - READ EMS STATUS
	AX = 37DEh
	BX = 899Dh ('DI' + 'ET')
Return: AX = 0000h
	CX = EMS status
	    0000h not used
	    0001h used as work area
	    0002h used for code and as work area
	DX = EMM handle when EMS is in use

Top
2137DFBX899D - INT 21 - DIET v1.43e - UNINSTALL TSR
INT 21 - DIET v1.43e - UNINSTALL TSR
	AX = 37DFh
	BX = 899Dh ('DI' + 'ET')
Return: AX = status
	    0000h successful
	    00FFh failed
Program: DIET is a transparent file compressor/decompressor by Teddy Matsumoto
SeeAlso: AX=37D0h
Index:	uninstall;DIET

Top
2138 - INT 21 - DOS 2+ - GET COUNTRY-SPECIFIC INFORMATION
INT 21 - DOS 2+ - GET COUNTRY-SPECIFIC INFORMATION
	AH = 38h
--DOS 2.x--
	AL = 00h get current-country info
	DS:DX -> buffer for returned info (see #01398,#01399)
Return: CF set on error
	    AX = error code (02h)
	CF clear if successful
	    AX = country code (MS-DOS 2.11 only)
	    buffer at DS:DX filled
--DOS 3.0+--
	AL = 00h for current country
	AL = 01h thru 0FEh for specific country with code <255 (see #01400)
	AL = 0FFh for specific country with code >= 255
	   BX = 16-bit country code (see #01400)
	DS:DX -> buffer for returned info (see #01399)
Return: CF set on error
	    AX = error code (02h)
	CF clear if successful
	    AX = country code (Novell NWDOS v7.0)
	    BX = country code
	    DS:DX buffer filled
Note:	this function is not supported by the Borland DPMI host, but no error
	  is returned; as a workaround, one should allocate a buffer in
	  conventional memory with INT 31/AX=0100h and simulate an INT 21 with
	  INT 31/AX=0300h
SeeAlso: AH=65h,INT 10/AX=5001h,INT 2F/AX=1404h

Format of DOS 2.00-2.10 country info:
Offset	Size	Description	(Table 01398)
 00h	WORD	date format  0 = USA	mm dd yy
			     1 = Europe dd mm yy
			     2 = Japan	yy mm dd
 02h	BYTE	currency symbol
 03h	BYTE	00h
 04h	BYTE	thousands separator char
 05h	BYTE	00h
 06h	BYTE	decimal separator char
 07h	BYTE	00h
 08h 24 BYTEs	reserved

Format of DOS 2.11+ country info:
Offset	Size	Description	(Table 01399)
 00h	WORD	date format (see #01398)
 02h  5 BYTEs	ASCIZ currency symbol string
 07h  2 BYTEs	ASCIZ thousands separator
 09h  2 BYTEs	ASCIZ decimal separator
 0Bh  2 BYTEs	ASCIZ date separator
 0Dh  2 BYTEs	ASCIZ time separator
 0Fh	BYTE	currency format
		bit 2 = set if currency symbol replaces decimal point
		bit 1 = number of spaces between value and currency symbol
		bit 0 = 0 if currency symbol precedes value
			1 if currency symbol follows value
 10h	BYTE	number of digits after decimal in currency
 11h	BYTE	time format
		bit 0 = 0 if 12-hour clock
			1 if 24-hour clock
 12h	DWORD	address of case map routine
		(FAR CALL, AL = character to map to upper case [>= 80h])
 16h  2 BYTEs	ASCIZ data-list separator
 18h 10 BYTEs	reserved

(Table 01400)
Values for country code:
 001h (1)	United States
 002h (2)	Canadian-French
 003h (3)	Latin America
 004h (4)	Canada (English)
 007h (7)	Russia
 014h (20)	Egypt
 01Bh (27)	South Africa
 01Eh (30)	Greece
 01Fh (31)	Netherlands
 020h (32)	Belgium
 021h (33)	France
 022h (34)	Spain
 023h (35)	Bulgaria???
 024h (36)	Hungary (not supported by DR DOS 5.0)
 026h (38)	Yugoslavia (not supported by DR DOS 5.0) -- obsolete
 027h (39)	Italy / San Marino / Vatican City
 028h (40)	Romania
 029h (41)	Switzerland / Liechtenstein
 02Ah (42)	Czechoslovakia / Tjekia / Slovakia (not supported by DR DOS 5.0)
 02Bh (43)	Austria (DR DOS 5.0)
 02Ch (44)	United Kingdom
 02Dh (45)	Denmark
 02Eh (46)	Sweden
 02Fh (47)	Norway
 030h (48)	Poland (not supported by DR DOS 5.0)
 031h (49)	Germany
 033h (51)	Peru
 034h (52)	Mexico
 035h (53)	Cuba
 036h (54)	Argentina
 037h (55)	Brazil (not supported by DR DOS 5.0)
 038h (56)	Chile
 039h (57)	Columbia
 03Ah (58)	Venezuela
 03Ch (60)	Malaysia
 03Dh (61)	International English / Australia
 03Eh (62)	Indonesia / East Timor
 03Fh (63)	Philippines
 040h (64)	New Zealand
 041h (65)	Singapore
 042h (66)	Thailand (or Taiwan???)
 051h (81)	Japan (DR DOS 5.0, MS-DOS 5.0+)
 052h (82)	South Korea (DR DOS 5.0)
 054h (84)	Vietnam
 056h (86)	China (MS-DOS 5.0+)
 058h (88)	Taiwan (MS-DOS 5.0+)
 05Ah (90)	Turkey (MS-DOS 5.0+)
 05Bh (91)	India
 05Ch (92)	Pakistan
 05Dh (93)	Afghanistan
 05Eh (94)	Sri Lanka
 062h (98)	Iran
 063h (99)	Asia (English)
 066h (102)	??? (Hebrew MS-DOS 5.0)
 070h (112)	Belarus
 0C8h (200)	Thailand (PC DOS 6.1+)
		(reported as 01h due to a bug in PC DOS COUNTRY.SYS)
 0D4h (212)	Morocco
 0D5h (213)	Algeria
 0D8h (216)	Tunisia
 0DAh (218)	Libya
 0DCh (220)	Gambia
 0DDh (221)	Senegal
 0DEh (222)	Maruitania
 0DFh (223)	Mali
 0E0h (224)	African Guinea
 0E1h (225)	Ivory Coast
 0E2h (226)	Burkina Faso
 0E3h (227)	Niger
 0E4h (228)	Togo
 0E5h (229)	Benin
 0E6h (230)	Mauritius
 0E7h (231)	Liberia
 0E8h (232)	Sierra Leone
 0E9h (233)	Ghana
 0EAh (234)	Nigeria
 0EBh (235)	Chad
 0ECh (236)	Centra African Republic
 0EDh (237)	Cameroon
 0EEh (238)	Cape Verde Islands
 0EFh (239)	Sao Tome and Principe
 0F0h (240)	Equatorial Guinea
 0F1h (241)	Gabon
 0F2h (242)	Congo
 0F3h (243)	Zaire
 0F4h (244)	Angola
 0F5h (245)	Guinea-Bissau
 0F6h (246)	Diego Garcia
 0F7h (247)	Ascension Isle
 0F8h (248)	Seychelles
 0F9h (249)	Sudan
 0FAh (250)	Rwhanda
 0FBh (251)	Ethiopia
 0FCh (252)	Somalia
 0FDh (253)	Djibouti
 0FEh (254)	Kenya
 0FFh (255)	Tanzania
 100h (256)	Uganda
 101h (257)	Burundi
 103h (259)	Mozambique
 104h (260)	Zambia
 105h (261)	Madagascar
 106h (262)	Reunion Island
 107h (263)	Zimbabwe
 108h (264)	Namibia
 109h (265)	Malawi
 10Ah (266)	Lesotho
 10Bh (267)	Botswana
 10Ch (268)	Swaziland
 10Dh (269)	Comoros
 10Eh (270)	Mayotte
 122h (290)	St. Helena
 129h (297)	Aruba
 12Ah (298)	Faroe Islands
 12Bh (299)	Greenland
 15Eh (350)	Gibraltar
 15Fh (351)	Portugal
 160h (352)	Luxembourg
 161h (353)	Ireland
 162h (354)	Iceland
 163h (355)	Albania
 164h (356)	Malta
 165h (357)	Cyprus
 166h (358)	Finland
 167h (359)	Bulgaria
 172h (370)	Lithuania (reported as 372 due to a bug in MS-DOS COUNTRY.SYS)
 173h (371)	Latvia (reported as 372 due to a bug in MS-DOS COUNTRY.SYS)
 174h (372)	Estonia
 175h (373)	Moldova
 177h (375)	??? (MS-DOS 7.10 / Windows98)
 17Ch (380)	Ukraine
 17Dh (381)	Serbia / Montenegro
 180h (384)	Croatia
 181h (385)	Croatia (PC DOS 7+)
 182h (386)	Slovenia
 183h (387)	Bosnia-Herzegovina (Latin)
 184h (388)	Bosnia-Herzegovina (Cyrillic) (PC DOS 7+)
		(reported as 381 due to a bug in PC DOS COUNTRY.SYS)
 185h (389)	FYR Macedonia
 1A5h (421)	Czech Republic / Tjekia (PC DOS 7+)
 1A6h (422)	Slovakia
		(reported as 421 due to a bug in COUNTRY.SYS)
 1F4h (500)	Falkland Islands
 1F5h (501)	Belize
 1F6h (502)	Guatemala
 1F7h (503)	El Salvador
 1F8h (504)	Honduras
 1F9h (505)	Nicraragua
 1FAh (506)	Costa Rica
 1FBh (507)	Panama
 1FCh (508)	St. Pierre and Miquelon
 1FDh (509)	Haiti
 24Eh (590)	Guadeloupe
 24Fh (591)	Bolivia
 250h (592)	Guyana
 251h (593)	Ecuador
 252h (594)	rench Guiana
 253h (595)	Paraguay
 254h (596)	Martinique / French Antilles
 255h (597)	Suriname
 256h (598)	Uruguay
 257h (599)	Netherland Antilles
 29Ah (666)	Russia??? (PTS-DOS 6.51 KEYB)
 29Bh (667)	Poland??? (PTS-DOS 6.51 KEYB)
 29Ch (668)	Poland??? (Slavic???) (PTS-DOS 6.51 KEYB)
 29Eh (670)	Saipan / N. Mariana Island
 29Fh (671)	Guam
 2A0h (672)	Norfolk Island (Australia) / Christmas Island/Cocos Islands / Antartica
 2A1h (673)	Brunei Darussalam
 2A2h (674)	Nauru
 2A3h (675)	Papua New Guinea
 2A4h (676)	Tonga Islands
 2A5h (677)	Solomon Islands
 2A6h (678)	Vanuatu
 2A7h (679)	Fiji
 2A8h (680)	Palau
 2A9h (681)	Wallis & Futuna
 2AAh (682)	Cook Islands
 2ABh (683)	Niue
 2ACh (684)	American Samoa
 2ADh (685)	Western Samoa
 2AEh (686)	Kiribati
 2AFh (687)	New Caledonia
 2B0h (688)	Tuvalu
 2B1h (689)	French Polynesia
 2B2h (690)	Tokealu
 2B3h (691)	Micronesia
 2B4h (692)	Marshall Islands
 2C7h (711)	??? (currency = EA$, code pages 437,737,850,852,855,857)
 311h (785)	Arabic (Middle East/Saudi Arabia/etc.)
 324h (804)	Ukraine
 329h (809)	Antigua and Barbuda / Anguilla / Bahamas / Barbados / Bermuda
		British Virgin Islands / Cayman Islands / Dominica
		Dominican Republic / Grenada / Jamaica / Montserra
		St. Kitts and Nevis / St. Lucia / St. Vincent and Grenadines
		Trinidad and Tobago / Turks and Caicos
 352h (850)	North Korea
 354h (852)	Hong Kong
 355h (853)	Macao
 357h (855)	Cambodia
 358h (856)	Laos
 370h (880)	Bangladesh
 376h (886)	Taiwan (MS-DOS 6.22+)
 3C0h (960)	Maldives
 3C1h (961)	Lebanon
 3C2h (962)	Jordan
 3C3h (963)	Syria / Syrian Arab Republic
 3C4h (964)	Iraq
 3C5h (965)	Kuwait
 3C6h (966)	Saudi Arabia
 3C7h (967)	Yemen
 3C8h (968)	Oman
 3C9h (969)	Yemen??? (Arabic MS-DOS 5.0)
 3CBh (971)	United Arab Emirates
 3CCh (972)	Israel (Hebrew) (DR DOS 5.0,MS-DOS 5.0+)
 3CDh (973)	Bahrain
 3CEh (974)	Qatar
 3CFh (975)	Bhutan
 3D0h (976)	Mongolia
 3D1h (977)	Nepal
 3E3h (995)	Myanmar (Burma)
      (10xxx)	reserved for ISO 28601/ISO 8601 or derivative national stds
      (11xxx)	reserved for Euro currency support
      (12xxx)	reserved for ISO 28601 + Euro currency
      (1xxxx)	not yet defined
      (20xxx)	reserved for ISO 28601/ISO 8601 or derivative national stds
      (21xxx)	reserved for Euro currency support
      (22xxx)	reserved for ISO 28601 + Euro currency
      (2xxxx)	not yet defined
      (30xxx)	reserved for user-definable country codes
      (31xxx)	reserved for OEM-defined country codes
      (32000+)	reserved for future expansion
Note:	not all country codes are supported by all versions of DOS

Top
2138--DXFFFF - INT 21 - DOS 3.0+ - SET COUNTRY CODE
INT 21 - DOS 3.0+ - SET COUNTRY CODE
	AH = 38h
	DX = FFFFh
	AL = 01h thru FEh for specific country with code <255
	AL = FFh for specific country with code >= 255
	   BX = 16-bit country code (see #01400)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Note:	not supported by OS/2
SeeAlso: INT 2F/AX=1403h

Top
2139 - INT 21 - DOS 2+ - "MKDIR" - CREATE SUBDIRECTORY
INT 21 - DOS 2+ - "MKDIR" - CREATE SUBDIRECTORY
	AH = 39h
	DS:DX -> ASCIZ pathname
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (03h,05h) (see #01680 at AH=59h/BX=0000h)
Notes:	all directories in the given path except the last must exist
	fails if the parent directory is the root and is full
	DOS 2.x-3.3 allow the creation of a directory sufficiently deep that
	  it is not possible to make that directory the current directory
	  because the path would exceed 64 characters
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
SeeAlso: AH=3Ah,AH=3Bh,AH=6Dh,AX=7139h,AH=E2h/SF=0Ah,AX=43FFh/BP=5053h
SeeAlso: INT 2F/AX=1103h,INT 60/DI=0511h

Top
213A - INT 21 - DOS 2+ - "RMDIR" - REMOVE SUBDIRECTORY
INT 21 - DOS 2+ - "RMDIR" - REMOVE SUBDIRECTORY
	AH = 3Ah
	DS:DX -> ASCIZ pathname of directory to be removed
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (03h,05h,06h,10h) (see #01680 at AH=59h/BX=0000h)
Notes:	directory must be empty (contain only '.' and '..' entries)
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
SeeAlso: AH=39h,AH=3Bh,AX=713Ah,AH=E2h/SF=0Bh,INT 2F/AX=1101h,INT 60/DI=0512h

Top
213B - INT 21 - DOS 2+ - "CHDIR" - SET CURRENT DIRECTORY
INT 21 - DOS 2+ - "CHDIR" - SET CURRENT DIRECTORY
	AH = 3Bh
	DS:DX -> ASCIZ pathname to become current directory (max 64 bytes)
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (03h) (see #01680 at AH=59h/BX=0000h)
Notes:	if new directory name includes a drive letter, the default drive is
	  not changed, only the current directory on that drive
	changing the current directory also changes the directory in which
	  FCB file calls operate
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
SeeAlso: AH=47h,AX=713Bh,INT 2F/AX=1105h

Top
213C - INT 21 - DOS 2+ - "CREAT" - CREATE OR TRUNCATE FILE
INT 21 - DOS 2+ - "CREAT" - CREATE OR TRUNCATE FILE
	AH = 3Ch
	CX = file attributes (see #01401)
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	    AX = file handle
	CF set on error
	    AX = error code (03h,04h,05h) (see #01680 at AH=59h/BX=0000h)
Notes:	if a file with the given name exists, it is truncated to zero length
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
	DR DOS checks the system password or explicitly supplied password at
	  the end of the filename against the reserved field in the directory
	  entry before allowing access
SeeAlso: AH=16h,AH=3Dh,AH=5Ah,AH=5Bh,AH=93h,INT 2F/AX=1117h

Bitfields for file attributes:
Bit(s)	Description	(Table 01401)
 0	read-only
 1	hidden
 2	system
 3	volume label (ignored)
 4	reserved, must be zero (directory)
 5	archive bit
 7	if set, file is shareable under Novell NetWare

Top
213D - INT 21 - DOS 2+ - "OPEN" - OPEN EXISTING FILE
INT 21 - DOS 2+ - "OPEN" - OPEN EXISTING FILE
	AH = 3Dh
	AL = access and sharing modes (see #01402)
	DS:DX -> ASCIZ filename
	CL = attribute mask of files to look for (server call only)
Return: CF clear if successful
	    AX = file handle
	CF set on error
	    AX = error code (01h,02h,03h,04h,05h,0Ch,56h) (see #01680 at AH=59h)
Notes:	file pointer is set to start of file
	if SHARE or a network is loaded, the file open may fail if the file
	  is already open, depending on the combination of sharing modes
	  (see #01403,#01404)
	file handles which are inherited from a parent also inherit sharing
	  and access restrictions
	files may be opened even if given the hidden or system attributes
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
	DR DOS checks the system password or explicitly supplied password at
	  the end of the filename (following a semicolon) against the reserved
	  field in the directory entry before allowing access
	sharing modes are only effective on local drives if SHARE is loaded
BUG:	Novell DOS 7 SHARE v1.00 would refuse file access in the cases in
	  #01403 marked with [1] (read-only open of a read-only file
	  which had previously been opened in compatibility mode); this was
	  fixed in SHARE v1.01 of 09/29/94
SeeAlso: AH=0Fh,AH=3Ch,AX=4301h,AX=5D00h,INT 2F/AX=1116h,INT 2F/AX=1226h

Bitfields for access and sharing modes:
Bit(s)	Description	(Table 01402)
 2-0	access mode
	000 read only
	001 write only
	010 read/write
	011 (DOS 5+ internal) passed to redirector on EXEC to allow
		case-sensitive filenames
 3	reserved (0)
 6-4	sharing mode (DOS 3.0+) (see #01403)
	000 compatibility mode
	001 "DENYALL" prohibit both read and write access by others
	010 "DENYWRITE" prohibit write access by others
	011 "DENYREAD" prohibit read access by others
	100 "DENYNONE" allow full access by others
	111 network FCB (only available during server call)
 7	inheritance
	if set, file is private to current process and will not be inherited
	  by child processes
SeeAlso: #01782,#01403

(Table 01403)
Values of DOS 2-6.22 file sharing behavior:
	  |	Second and subsequent Opens
 First	  |Compat  Deny	  Deny	 Deny	Deny
 Open	  |	   All	  Write	 Read	None
	  |R W RW R W RW R W RW R W RW R W RW
 - - - - -| - - - - - - - - - - - - - - - - -
 Compat R |Y Y Y  N N N	 1 N N	N N N  1 N N
	W |Y Y Y  N N N	 N N N	N N N  N N N
	RW|Y Y Y  N N N	 N N N	N N N  N N N
 - - - - -|
 Deny	R |C C C  N N N	 N N N	N N N  N N N
 All	W |C C C  N N N	 N N N	N N N  N N N
	RW|C C C  N N N	 N N N	N N N  N N N
 - - - - -|
 Deny	R |2 C C  N N N	 Y N N	N N N  Y N N
 Write	W |C C C  N N N	 N N N	Y N N  Y N N
	RW|C C C  N N N	 N N N	N N N  Y N N
 - - - - -|
 Deny	R |C C C  N N N	 N Y N	N N N  N Y N
 Read	W |C C C  N N N	 N N N	N Y N  N Y N
	RW|C C C  N N N	 N N N	N N N  N Y N
 - - - - -|
 Deny	R |2 C C  N N N	 Y Y Y	N N N  Y Y Y
 None	W |C C C  N N N	 N N N	Y Y Y  Y Y Y
	RW|C C C  N N N	 N N N	N N N  Y Y Y
Legend: Y = open succeeds, N = open fails with error code 05h
	C = open fails, INT 24 generated
	1 = open succeeds if file read-only, else fails with error code
	2 = open succeeds if file read-only, else fails with INT 24
SeeAlso: #01636,#01404

(Table 01404)
Values for DOS 7.x file sharing behavior:
	  |	Second and subsequent Opens
 First	  |Compat    Deny      Deny	 Deny	   Deny
 Open	  |	     All       Write	 Read	   None
	  |R W RW A  R W RW A  R W RW A	 R W RW A  R W RW A
 - - - - -| - - - - - - - - - - - - - - - - - - - - - - - -
 Compat R |Y Y Y Y   N N N N   Y N N Y	 N N N Y   Y N N Y
	W |Y Y Y C   N N N N   N N N N	 N N N Y   Y N N Y
	RW|Y Y Y C   N N N N   N N N N	 N N N Y   Y N N Y
	NA|Y C C Y   N N N N   Y N N Y	 N N N Y   Y N N Y
 - - - - -|
 Deny	R |C C C C   N N N N   N N N N	 N N N N   N N N N
 All	W |C C C C   N N N N   N N N N	 N N N N   N N N N
	RW|C C C C   N N N N   N N N N	 N N N N   N N N N
	NA|C C C C   N N N N   N N N N	 N N N N   N N N N
 - - - - -|
 Deny	R |Y C C Y   N N N N   Y N N Y	 N N N Y   Y N N Y
 Write	W |C C C C   N N N N   N N N N	 Y N N Y   Y N N Y
	RW|C C C C   N N N N   N N N N	 N N N Y   Y N N Y
	NA|Y C C Y   N N N N   Y N N Y	 N N N Y   Y N N Y
 - - - - -|
 Deny	R |C C C C   N N N N   N Y N N	 N N N N   N Y N N
 Read	W |C C C C   N N N N   N N N N	 N Y N N   N Y N N
	RW|C C C C   N N N N   N N N N	 N N N N   N Y N N
	NA|Y Y Y Y   N N N N   Y Y Y Y	 N N N Y   Y Y Y Y
 - - - - -|
 Deny	R |Y Y Y Y   N N N N   Y Y Y Y	 N N N Y   Y Y Y Y
 None	W |C C C C   N N N N   N N N N	 Y Y Y Y   Y Y Y Y
	RW|C C C C   N N N N   N N N N	 N N N Y   Y Y Y Y
	NA|Y Y Y Y   N N N N   Y Y Y Y	 N N N Y   Y Y Y Y
Legend: R -> reading, W -> writing, RW -> both reading & writing,
	A/NA -> reading without access time update
	Y = open succeeds, N = open fails with error code 05h
	C = open fails, INT 24 generated
SeeAlso: #01403,#01636

Top
213D76 - INT 21 - VIRUS - "GT-SPOOF" -INSTALLATION CHECK
INT 21 - VIRUS - "GT-SPOOF" -INSTALLATION CHECK
	AX = 3D76h
Return: AX = 763Dh if resident
SeeAlso: AX=357Fh,AX=3DFFh

Top
213DFF - INT 21 - VIRUS - "JD-448" - INSTALLATION CHECK
INT 21 - VIRUS - "JD-448" - INSTALLATION CHECK
	AX = 3DFFh
Return: AX = 4A44h if resident
SeeAlso: AX=3D76h,AX=4203h

Top
213E - INT 21 - DOS 2+ - "CLOSE" - CLOSE FILE
INT 21 - DOS 2+ - "CLOSE" - CLOSE FILE
	AH = 3Eh
	BX = file handle
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (06h) (see #01680 at AH=59h/BX=0000h)
Notes:	if the file was written to, any pending disk writes are performed, the
	  time and date stamps are set to the current time, and the directory
	  entry is updated
	recent versions of DOS preserve AH because some versions of Multiplan
	  had a bug which depended on AH being preserved
SeeAlso: AH=10h,AH=3Ch,AH=3Dh,INT 2F/AX=1106h,INT 2F/AX=1227h

Top
213F - INT 21 - DOS 2+ - "READ" - READ FROM FILE OR DEVICE
INT 21 - DOS 2+ - "READ" - READ FROM FILE OR DEVICE
	AH = 3Fh
	BX = file handle
	CX = number of bytes to read
	DS:DX -> buffer for data
Return: CF clear if successful
	    AX = number of bytes actually read (0 if at EOF before call)
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	data is read beginning at current file position, and the file position
	  is updated after a successful read
	the returned AX may be smaller than the request in CX if a partial
	  read occurred
	if reading from CON, read stops at first CR
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
BUG:	Novell NETX.EXE v3.26 and 3.31 do not set CF if the read fails due to
	  a record lock (see AH=5Ch), though it does return AX=0005h; this
	  has been documented by Novell
SeeAlso: AH=27h,AH=40h,AH=93h,INT 2F/AX=1108h,INT 2F/AX=1229h

Top
213F - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - READ STATUS BLOCK
INT 21 - Turbo Debug HARDWARE BREAKPOINTS - READ STATUS BLOCK
	AH = 3Fh
	BX = handle for character device "TDHDEBUG"
	CX = number of bytes to read
	DS:DX -> buffer for status block (see #01406)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AH=40h"Turbo Debug"

(Table 01405)
Values for status of Turbo Debugger command:
 00h	successful
 01h	invalid handle
 02h	no more breakpoints available
 03h	hardware does not support specified breakpoint type
 04h	previous command prevents execution
 05h	debugger hardware not found
 06h	hardware failure
 07h	invalid command
 08h	driver not initialized yet
 FEh	recursive entry (hardware breakpoint inside hw bp handler)

Format of Turbo Debugger status block:
Offset	Size	Description	(Table 01406)
 00h	BYTE	status of command (see #01405)
---status for command 01h---
 01h	WORD	device driver interface version number (currently 1)
 03h	WORD	device driver software version
 05h	BYTE	maximum simultaneous hardware breakpoints
 06h	BYTE	configuration bits (see #01407)
 07h	BYTE	supported breakpoint types (see #01408)
 08h	WORD	supported addressing match modes (see #01409)
 0Ah	WORD	supported data matches (see #01410)
 0Ch	BYTE	maximum data match length (01h, 02h, or 04h)
 0Dh	WORD	size of onboard memory (in KB)
 0Fh	WORD	maximum number of trace-back events
 11h	WORD	hardware breakpoint enable byte address segment (0000h if not
		  supported)
---status for command 04h---
 01h	BYTE	handle to use when referring to the just-set breakpoint

Bitfields for Turbo Debugger configuration bits:
Bit(s)	Description	(Table 01407)
 0	CPU and DMA accesses are distinct
 1	can detect DMA transfers
 2	supports data mask
 3	hardware pass counter on breakpoints
 4	can match on data as well as addresses

Bitfields for Turbo Debugger supported breakpoint types:
Bit(s)	Description	(Table 01408)
 0	memory read
 1	memory write
 2	memory read/write
 3	I/O read
 4	I/O write
 5	I/O read/write
 6	instruction fetch

Bitfields for Turbo Debugger supported addressing match modes:
Bit(s)	Description	(Table 01409)
 0	any address
 1	equal to test value
 2	not equal
 3	above test value
 4	below test value
 5	below or equal
 6	above or equal
 7	within range
 8	outside range

Bitfields for Turbo Debugger supported data matches:
Bit(s)	Description	(Table 01410)
 0	any data
 1	equal to test value
 2	not equal
 3	above test value
 4	below test value
 5	below or equal
 6	above or equal
 7	within range
 8	outside range

Top
213F - INT 21 - PC/TCP IPCUST.SYS - READ CONFIGURATION DATA
INT 21 - PC/TCP IPCUST.SYS - READ CONFIGURATION DATA
	AH = 3Fh
	BX = handle for character device "$IPCUST"
	CX = number of bytes to read
	DS:DX -> buffer for configuration data (see #01411)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	if less than the entire data is read or written, the next read/write
	  continues where the previous one ended; IOCTL calls AX=4402h and
	  AX=4403h both reset the location at which the next operation starts
	  to zero
	the data pointer is also reset to zero if the previous read or write
	  reached or exceeded the end of the data, when the current function
	  is read and the previous was write, or vice versa
	v2.1+ uses a new configuration method, but allows the installation
	  of IPCUST.SYS for backward compatibility with other software which
	  must read the PC/TCP configuration
SeeAlso: AH=40h"IPCUST",AX=4402h"IPCUST",AX=4402h"FTPSOFT"

Format of PC/TCP configuration data:
Offset	Size	Description	(Table 01411)
 00h 12 BYTEs	IPCUST.SYS device driver header (see #01646)
 12h	BYTE	???
 13h	BYTE	???
 14h	WORD	???
 16h	BYTE	bit flags
		bit 0: send BS rather than DEL for BackSpace key
		bit 1: wrap long lines
 17h	BYTE	???
 18h 64 BYTEs	ASCIZ hostname
 58h 64 BYTEs	ASCIZ domain name
		(fully qualified domain name is hostname.domain-name)
 98h 16 BYTEs	ASCIZ username
 A8h 64 BYTEs	ASCIZ full name
 E8h 64 BYTEs	ASCIZ office address
128h 32 BYTEs	ASCIZ phone number
148h	WORD	offset from GMT in minutes
14Ah  4 BYTEs	ASCIZ timezone name
14Eh	WORD	number of time servers
150h  ? DWORDs	(big-endian) IP addresses for time servers
	???
164h	WORD	number of old-style name servers
166h  3 DWORDs	(big-endian) IP addresses for name servers
172h	WORD	number of domain name servers
174h  3 DWORDs	(big-endian) IP addresses for domain name servers
180h	DWORD	(big-endian) IP address of default gateway
184h	DWORD	(big-endian) IP address of log server
188h	DWORD	(big-endian) IP address of cookie server
18Ch	DWORD	(big-endian) IP address of lpr server
190h	DWORD	(big-endian) IP address of imagen print server
194h 54 BYTEs	???
1E8h	WORD	TCP default window size in bytes
1EAh	WORD	TCP low window size
1ECh 64 BYTEs	ASCIZ host tabel filename
22Ch  2 BYTEs	???
22Eh 80 BYTEs	ASCIZ mail relay host name
27Eh	BYTE	???
27Fh	BYTE	??? bit flags
280h 44 BYTEs	???
2ACh	WORD	???
2AEh 202 BYTEs	???

Top
213F - INT 21 - WORKGRP.SYS - GET ENTRY POINT
INT 21 - WORKGRP.SYS - GET ENTRY POINT
	AH = 3Fh
	BX = file handle for device "NET$HLP$"
	CX = 0008h
	DS:DX -> buffer for entry point record (see #01485)
Return: CF clear if successful
	    AX = number of bytes actually read (0 if at EOF before call)
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Program: WORKGRP.SYS is the portion of Microsoft's Workgroup Connection which
	  permits communication with PCs running Windows for Workgroups or
	  LAN Manager
SeeAlso: AX=4402h"WORKGRP.SYS",INT 2F/AX=9400h

Top
213F - INT 21 - BW-TCP - GET DRIVER INFO
INT 21 - BW-TCP - GET DRIVER INFO
	AH = 3Fh
	BX = file handle for device "ETHDEV27"
	CX = 002Bh
	DS:DX -> buffer for driver info (see #01412)
Return: CF clear if successful
	    AX = number of bytes actually read (0 if at EOF before call)
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Program: BW-TCP is a TCP/IP protocol stack by Beame & Whiteside Software
InstallCheck:	for the TCP/IP stack, test for the existence of the character
	  device UDP-IP10
Note:	the B&W socket library performs an INT 21/AX=4401h with DX=0060h before
	  making this call to retrieve the driver information; one should also
	  call the private API interrupt with AH=15h
SeeAlso: INT 14/AH=56h,INT 62/AH=00h"ETHDEV",INT 63/AH=03h,INT 64/AH=01h
Index:	installation check;BW-TCP hardware driver
Index:	installation check;BW-TCP TCPIP.SYS

Format of BW-TCP driver info:
Offset	Size	Description	(Table 01412)
 00h	WORD	I/O base address
 02h	BYTE	shared memory page (01h = segment 0100h, etc.)
 03h	BYTE	interrupt vector for private API
 04h	BYTE	IRQ used by board
 05h	WORD	size of data buffer
 07h	WORD	maximum transfer window
 09h	WORD	time zone
 0Bh	BYTE	address type (01h user, 04h RARP, 05h BOOTP)
 0Ch	DWORD	internet address
 10h	WORD	"value" ???
 12h	BYTE	subnet mask
 13h	WORD	"ether_pointer" ???
 15h	WORD	offset in device driver of log server records (see #01413)
 17h	WORD	offset in device driver of name server records (see #01413)
 19h	WORD	offset in device driver of print server records (see #01413)
 1Bh	WORD	offset in device driver of time server records (see #01413)
 1Dh	WORD	offset in device driver of gateway records (see #01413)
 1Fh	WORD	segment address of device driver
 21h	BYTE	transfer size
 22h  9 BYTEs	network adapter board name
---11/21/91+ ---
 23h	BYTE	ETHDEV version (major in high nybble, minor in low nybble)
 24h	BYTE	ETHDEV revision
 25h	BYTE	TCPIP version (major in high nybble, minor in low nybble)
 26h	BYTE	TCPIP revision
 27h	BYTE	BWRPC version (major in high nybble, minor in low nybble)
 28h	BYTE	BWRPC revision
 29h	BYTE	BWNFS version (major in high nybble, minor in low nybble)
 2Ah	BYTE	BWNFS revision
 2Bh	BYTE	Telnet version (major in high nybble, minor in low nybble)
 2Ch	BYTE	Telnet revision
 2Dh	BYTE	NETBIOS version (major in high nybble, minor in low nybble)
 2Eh	BYTE	NETBIOS revision
Note:	for each driver, if version=0, the driver is not installed or does
	  not support the version check

Format of BW-TCP server records:
Offset	Size	Description	(Table 01413)
 00h	BYTE	number of server records following
 01h  N DWORDs	internet addresses of servers

Top
213F - INT 21 - Trusted Access - NB.SYS - GET STATE
INT 21 - Trusted Access - NB.SYS - GET STATE
	AH = 3Fh
	BX = file handle for device "$$NB$$NB"
	CX = 0002h (size of state)
	DS:DX -> buffer for state record (see #01414)
Return: CF clear if successful
	    AX = number of bytes actually read (0 if at EOF before call)
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Program: Trusted Access is a security and access-control package by Lassen
	  Software, Inc.; NB.SYS is a device driver to prevent the user from
	  terminating CONFIG.SYS or AUTOEXEC.BAT with Ctrl-Break
SeeAlso: AH=40h"NB.SYS",AX=4101h

Format of Trusted Access state record:
Offset	Size	Description	(Table 01414)
 00h	BYTE	00h off, 01h on
 01h	BYTE	keys being disabled
		bit 0: Ctrl-Break
		bit 1: SysReq
		bit 2: Ctrl and Alt
		bit 3: Ctrl-Alt-Del
		bit 7: all keys (overrides other bits)

Top
213F - INT 21 U - IFSHLP.SYS - GET ENTRY POINT
INT 21 U - IFSHLP.SYS - GET ENTRY POINT
	AH = 3Fh
	BX = file handle for device "IFS$HLP$"
	CX = 0008h (size of buffer in bytes)
	DS:DX -> buffer for entry point record (see #01415)
Return: CF clear if successful
	    AX = number of bytes actually read (0 if at EOF before call)
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Program: IFSHLP.SYS is a support driver for Microsoft Windows for Workgroups
SeeAlso: AX=4402h"IFSHLP"

Format of IFSHLP.SYS entry point record:
Offset	Size	Description	(Table 01415)
 00h  4 BYTEs	(call) required signature if called via IOCTL
			70h E9h 34h 37h for Windows 3.11
			70h E9h 35h 37h for Windows 3.11
		(ret) signature 34h 37h 70h EFh (Windows 3.11)
		(ret) signature 35h 37h 70h EFh (Windows95)
 04h	DWORD	(ret) pointer to FAR call entry point (see #01416)

(Table 01416)
Call IFSHLP.SYS entry point with:
	STACK:	WORD	function number (00h-0Ch)
			00h get ??? data
			01h set interrupt intercepts (trap)
			02h remove interrupt intercepts (untrap)
			03h ??? LPT2
			04h ??? LPT1
			05h revector INT 2F to trap and remove trap for others
			06h set ??? flag
			07h clear ??? flag
			08h get ??? flag word
			---Windows 3.11 only---
			09h ???
			0Ah ???
			0Bh ???
			0Ch get ???
---if function 00h---
Return: DX:AX -> ??? data (see #01417)
	BX destroyed
---if function 01h---
	STACK:	DWORD	new intercept (trap) address
Return: AX = status
	    0000h successful
	    0001h failed (already set)
		DX = 0000h
	BX destroyed
Note:	the trap handler is called with a function number in BX, and the
	  original BX on top of the stack; a null handler must perform a
	  POP BX and an IRET
---if function 02h---
Return: AX = status
	    0000h successful
	    0001h failed (not set)
	DX = 0000h
	BX destroyed
---if function 03h,04h---
	STACK:	WORD	???
Return: AX = 0000h
	DX = 0000h
	BX destroyed
---if function 05h---
	???
Return:	BX destroyed
---if function 06h---
Return: AX = 0001h and DX = 0000h if already set
	AX,DX unchanged if successful
	BX destroyed
---if function 07h---
Return: AX = 0001h and DX = 0000h if not set
	AX,DX unchanged if successful
	BX destroyed
---if function 08h---
Return: DX = 0000h
	AX = flags
	    bit 0: set/cleared by functions 06h and 07h
	    bit 1: trap is currently set (refer to functions 01h/02h)
	BX destroyed
---if function 09h---
Return: AX = status
	    0000h successful
	    0001h failed (already called)
	BX destroyed
---if function 0Ah---
	STACK:	WORD	???
	???
Return:	BX destroyed
---if function 0Bh---
Return: AX = status
	    0000h successful
	    0001h failed (not set)
	BX destroyed
---if function 0Ch---
Return: AX = 0000h
	ES:BX -> ??? data
---if function > 0Ch---
Return: AX = 0001h
	DX = 0000h
	BX destroyed

Format of IFSHLP ??? data:
Offset	Size	Description	(Table 01417)
 00h	DWORD	-> DOS Swappable Data Area (see #01687,#01689)
 02h	WORD	??? offset in DOS data segment?
 04h	WORD	offset in DOS data segment of current-PSP WORD
 06h	WORD	???
 08h	WORD	???
 0Ah	WORD	???
 0Ch	DWORD	-> DOS List of Lists (see #01627)
 10h	???
SeeAlso: #01416

Top
213F--BXFEB0 - INT 21 - VIRUS - "KYZ/LieWait" - INSTALLATION CHECK
INT 21 - VIRUS - "KYZ/LieWait" - INSTALLATION CHECK
	AH = 3Fh
	BX = FEB0h
Return: BX = 1212h if resident
SeeAlso: AX=3032h"VIRUS",AX=4BF1h"VIRUS"

Top
2140 - INT 21 - DOS 2+ - "WRITE" - WRITE TO FILE OR DEVICE
INT 21 - DOS 2+ - "WRITE" - WRITE TO FILE OR DEVICE
	AH = 40h
	BX = file handle
	CX = number of bytes to write
	DS:DX -> data to write
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	if CX is zero, no data is written, and the file is truncated or
	  extended to the current position
	data is written beginning at the current file position, and the file
	  position is updated after a successful write
	for FAT32 drives, the file must have been opened with AX=6C00h with
	  the "extended size" flag in order to expand the file beyond 2GB;
	  otherwise the write will fail with error code 0005h (access denied)
	the usual cause for AX < CX on return is a full disk
BUG:	a write of zero bytes will appear to succeed when it actually failed
	  if the write is extending the file and there is not enough disk
	  space for the expanded file (DOS 5.0-6.0); one should therefore check
	  whether the file was in fact extended by seeking to 0 bytes from
	  the end of the file (INT 21/AX=4202h/CX=0000h/DX=0000h)
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
SeeAlso: AH=28h,AH=3Fh"DOS",AH=93h,INT 2F/AX=1109h

Top
2140 - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
	AH = 40h
	BX = handle for character device "TDHDEBUG"
	CX = number of bytes to write
	DS:DX -> hardware breakpoint command (see #01418)
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Note:	results are retrieved by reading from the device
SeeAlso: AH=3Fh"Turbo Debug"

Format of Turbo Debugger hardware breakpoint commands:
Offset	Size	Description	(Table 01418)
 00h	BYTE	command code
		00h install interrupt vectors
		01h get hardware capabilities
		02h enable hardware breakpoints
		03h disable hardware breakpoints
		04h set hardware breakpoint
		05h clear hardware breakpoint
		06h set I/O base address and reset hardware
		07h restore interrupt vectors
---command code 00h---
 01h	DWORD	pointer to Turbo Debugger entry point to be jumped to on
		  hardware breakpoint; call with CPU state the same as on
		  the breakpoint except for pushing AX and placing an entry
		  code (FFh if breakout button or breakpoint handle) in AH
---command code 04h---
 01h	BYTE	breakpoint type
		00h memory read
		01h memory write
		02h memory read/write
		03h I/O read
		04h I/O write
		05h I/O read/write
		06h instruction fetch
 02h	BYTE	address matching mode (see #01419)
 03h	DWORD	32-bit linear low address
 07h	DWORD	32-bit linear high address
 0Bh	WORD	pass count
 0Dh	BYTE	data size (01h, 02h, or 04h)
 0Eh	BYTE	source of matched bus cycle (01h CPU, 02h DMA, 03h either)
 0Fh	BYTE	data-matching mode (see #01419)
 10h	DWORD	low data value
 14h	DWORD	high data value
 18h	DWORD	data mask specifying which bits of the data are tested
---command code 05h---
 01h	BYTE	handle of breakpoint to clear (breakpoint returned from command
		  04h)
---command code 06h---
 01h	WORD	base address of hardware debugger board

(Table 01419)
Values for Turbo Debugger address/data matching mode:
 00h	match any
 01h	equal to test value
 02h	different from test value
 03h	above test value
 04h	below test value
 05h	below or equal to test value
 06h	above or equal to test value
 07h	within inclusive range
 08h	outside specified range

Top
2140 - INT 21 - PC/TCP IPCUST.SYS - WRITE CONFIGURATION DATA
INT 21 - PC/TCP IPCUST.SYS - WRITE CONFIGURATION DATA
	AH = 40h
	BX = handle for character device "$IPCUST"
	CX = number of bytes to write
	DS:DX -> buffer for configuration data (AH=3Fh"IPCUST")
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	if less than the entire data is read or written, the next read/write
	  continues where the previous one ended; IOCTL calls AX=4402h and
	  AX=4403h both reset the location at which the next operation starts
	  to zero
	the data pointer is also reset to zero if the previous read or write
	  reached or exceeded the end of the data, when the current function
	  is read and the previous was write, or vice versa
	v2.1+ uses a new configuration method, but allows the installation
	  of IPCUST.SYS for backward compatibility with other software which
	  must read the PC/TCP configuration
SeeAlso: AH=3Fh"IPCUST",AX=4402h"IPCUST"

Top
2140 - INT 21 U - Trusted Access - NB.SYS - SET STATE
INT 21 U - Trusted Access - NB.SYS - SET STATE
	AH = 40h
	BX = handle for character device "$$NB$$NB"
	DS:DX -> state record (see #01414)
	CX ignored
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Program: Trusted Access is a security and access-control package by Lassen
	  Software, Inc.; NB.SYS is a device driver to prevent the user from
	  terminating CONFIG.SYS or AUTOEXEC.BAT with Ctrl-Break
SeeAlso: AH=3Fh"NB.SYS"

Top
214000BX0002 - INT 21 - FARTBELL.EXE - INSTALLATION CHECK
INT 21 - FARTBELL.EXE - INSTALLATION CHECK
	AX = 4000h
	BX = 0002h
	CX = 0000h
	DS:DX = 0000h:0000h
Return: CF clear if installed
	    AX = CS of resident code
Program: FARTBELL is a joke program by Guenther Thiele which makes various
	  noises when programs output a bell
SeeAlso: AX=4001h

Top
214001BX0002 - INT 21 - FARTBELL.EXE - FORCE NOISE
INT 21 - FARTBELL.EXE - FORCE NOISE
	AX = 4001h
	BX = 0002h
	CX = 0000h
	DS:DX = 0000h:0000h
Program: FARTBELL is a joke program by Guenther Thiele which makes various
	  noises when programs output a bell
SeeAlso: AX=4000h

Top
2141 - INT 21 - DOS 2+ - "UNLINK" - DELETE FILE
INT 21 - DOS 2+ - "UNLINK" - DELETE FILE
	AH = 41h
	DS:DX -> ASCIZ filename (no wildcards, but see notes)
	CL = attribute mask for deletion (server call only, see notes)
Return: CF clear if successful
	    AX destroyed (DOS 3.3) AL seems to be drive of deleted file
	CF set on error
	    AX = error code (02h,03h,05h) (see #01680 at AH=59h/BX=0000h)
Notes:	(DOS 3.1+) wildcards are allowed if invoked via AX=5D00h, in which case
	  the filespec must be canonical (as returned by AH=60h), and only
	  files matching the attribute mask in CL are deleted
	DR DOS 5.0-6.0 returns error code 03h if invoked via AX=5D00h; DR DOS
	  3.41 crashes if called via AX=5D00h with wildcards
	DOS does not erase the file's data; it merely becomes inaccessible
	  because the FAT chain for the file is cleared
	deleting a file which is currently open may lead to filesystem
	  corruption.  Unless SHARE is loaded, DOS does not close the handles
	  referencing the deleted file, thus allowing writes to a nonexistant
	  file.
	under DR DOS and DR Multiuser DOS, this function will fail if the file
	  is currently open
	under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
BUG:	DR DOS 3.41 crashes if called via AX=5D00h
SeeAlso: AH=13h,AX=4301h,AX=4380h,AX=5D00h,AH=60h,AX=7141h,AX=F244h
SeeAlso: INT 2F/AX=1113h

Top
214101DXFFFE - INT 21 - SoftLogic Data Guardian - ???
INT 21 - SoftLogic Data Guardian - ???
	AX = 4101h
	DX = FFFEh
Return: AX = 0000h if installed
Note:	resident code sets several internal variables on this call
SeeAlso: AH=3Fh"NB.SYS",INT 16/AX=FFA3h/BX=0000h

Top
2142 - INT 21 - DOS 2+ - "LSEEK" - SET CURRENT FILE POSITION
INT 21 - DOS 2+ - "LSEEK" - SET CURRENT FILE POSITION
	AH = 42h
	AL = origin of move
	    00h start of file
	    01h current file position
	    02h end of file
	BX = file handle
	CX:DX = (signed) offset from origin of new file position
Return: CF clear if successful
	    DX:AX = new file position in bytes from start of file
	CF set on error
	    AX = error code (01h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	for origins 01h and 02h, the pointer may be positioned before the
	  start of the file; no error is returned in that case (except under
	  Windows NT), but subsequent attempts at I/O will produce errors
	if the new position is beyond the current end of file, the file will
	  be extended by the next write (see AH=40h); for FAT32 drives, the
	  file must have been opened with AX=6C00h with the "extended size"
	  flag in order to expand the file beyond 2GB
BUG:	using this method to grow a file from zero bytes to a very large size
	  can corrupt the FAT in some versions of DOS; the file should first
	  be grown from zero to one byte and then to the desired large size
SeeAlso: AH=24h,INT 2F/AX=1228h

Top
214203 - INT 21 - VIRUS - "Shake" - INSTALLATION CHECK
INT 21 - VIRUS - "Shake" - INSTALLATION CHECK
	AX = 4203h
Return: AX = 1234h if resident
SeeAlso: AX=3DFFh,AX=4243h

Top
214243 - INT 21 - VIRUS - "Invader" - INSTALLATION CHECK
INT 21 - VIRUS - "Invader" - INSTALLATION CHECK
	AX = 4243h
Return: AX = 5678h if resident
SeeAlso: AX=4203h,AX=44A0h,AX=4B04h

Top
214300 - INT 21 - DOS 2+ - GET FILE ATTRIBUTES
INT 21 - DOS 2+ - GET FILE ATTRIBUTES
	AX = 4300h
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	    CX = file attributes (see #01420)
	    AX = CX (DR DOS 5.0)
	CF set on error
	    AX = error code (01h,02h,03h,05h) (see #01680 at AH=59h)
Notes:	under the FlashTek X-32 DOS extender, the filename pointer is in DS:EDX
	under DR DOS 3.41 and 5.0, attempts to change the subdirectory bit are
	  simply ignored without an error
BUG:	Windows for Workgroups returns error code 05h (access denied) instead
	  of error code 02h (file not found) when attempting to get the
	  attributes of a nonexistent file.  This causes open() with O_CREAT
	  and fopen() with the "w" mode to fail in Borland C++.
SeeAlso: AX=4301h,AX=4310h,AX=7143h,AH=B6h,INT 2F/AX=110Fh,INT 60/DI=0517h

Top
214301 - INT 21 - DOS 2+ - "CHMOD" - SET FILE ATTRIBUTES
INT 21 - DOS 2+ - "CHMOD" - SET FILE ATTRIBUTES
	AX = 4301h
	CX = new file attributes (see #01420)
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,02h,03h,05h) (see #01680 at AH=59h)
Notes:	will not change volume label or directory attribute bits, but will
	  change the other attribute bits of a directory (the directory
	  bit must be cleared to successfully change the other attributes of a
	  directory, but the directory will not be changed to a normal file as
	  a result)
	MS-DOS 4.01 reportedly closes the file if it is currently open
	for security reasons, the Novell NetWare execute-only bit can never
	  be cleared; the file must be deleted and recreated
	under the FlashTek X-32 DOS extender, the filename pointer is in DS:EDX
	DOS 5.0 SHARE will close the file if it is currently open in sharing-
	  compatibility mode, otherwise a sharing violation critical error is
	  generated if the file is currently open
	DR DOS 3.41/5.0 will silently ignore attempts to change the 'directory'
	  attribute bit
SeeAlso: AX=4300h,AX=4311h,AX=7143h,INT 2F/AX=110Eh

Bitfields for file attributes:
Bit(s)	Description	(Table 01420)
 7	shareable (Novell NetWare)
 7	pending deleted files (Novell DOS, OpenDOS)
 6	unused
 5	archive
 4	directory
 3	volume label
	execute-only (Novell NetWare)
 2	system
 1	hidden
 0	read-only

Top
214302 - INT 21 - MS-DOS 7 - GET COMPRESSED FILE SIZE
INT 21 - MS-DOS 7 - GET COMPRESSED FILE SIZE
	AX = 4302h
	DS:DX -> ASCIZ pathname for file or directory
Return: CF clear if successful
	    ??? = compressed size of file/directory in bytes
	CF set on error
	    AX = error code
Note:	on volumes which do not support compression, the returned size is the
	  actual file size rounded up to the next cluster boundary
SeeAlso: AH=71h,AH=72h

Top
214302 - INT 21 - DR DOS 3.41+ internal - GET ACCESS RIGHTS
INT 21 - DR DOS 3.41+ internal - GET ACCESS RIGHTS
	AX = 4302h
	DS:DX -> ASCIZ pathname
Return: CF clear if successful
	    CX = access rights (see #01421)
	    AX = CX (DR DOS 5.0)
	CF set on error
	    AX = error code
Desc:	Determine which operations the calling program may perform on a
	  specified file without being required to provide a password.
Notes:	this protection scheme has been coordinated on all current Digital
	  Research/Novell operating systems (DR DOS 3.41+, DRMDOS 5.x, and
	  FlexOS 2+)
	this function is documented in DR DOS 6.0 and corresponds to the
	  "Get/Set File Attributes" function, subfunction 2, documented in
	  Concurrent DOS.
	only FlexOS actually uses the "execution" bits; DR DOS 3.41+ treats
	  them as "read" bits.
	DR DOS 3.41-5.x only use bits 0-3.  Only DR DOS 6.0 using a
	  DRMDOS 5.x security system allowing for users and groups uses bits
	  4-11.
SeeAlso: AX=4303h,#01354 at INT 21/AH=11h

Bitfields for DR DOS file access rights:
Bit(s)	Description	(Table 01421)
 0	owner delete requires password
 1	owner execution requires password (FlexOS)
 2	owner write requires password
 3	owner read requires password
 4	group delete requires password
 5	group execution requires password (FlexOS)
 6	group write requires password
 7	group read requires password
 8	world delete requires password
 9	world execution requires password (FlexOS)
 10	world write requires password
 11	world read requires password

Top
214303 - INT 21 - DR DOS 3.41+ internal - SET ACCESS RIGHTS AND PASSWORD
INT 21 - DR DOS 3.41+ internal - SET ACCESS RIGHTS AND PASSWORD
	AX = 4303h
	CX = access rights
	     bits 11-0: access rights (see #01421)
	     bit 15: new password is to be set
	DS:DX -> ASCIZ pathname
	[DTA] = new password if CX bit 15 is set (blank-padded to 8 characters)
Return: CF clear if successful
	CF set on error
	    AX = error code
Notes:	if the file is already protected, the old password must be added after
	  the pathname, separated by a ";".  As with all password handling in
	  DR DOS, the old password is processed by the kernel, not any
	  applications or utilities making the call.
	this function is documented in DR DOS 6.0 and corresponds to the
	  "Get/Set File Attributes" function, subfunction 3, documented in
	  Concurrent DOS.
SeeAlso: AH=0Fh,AH=17h,AX=4302h"DR DOS",AX=4305h,AX=4454h

Top
214304 - INT 21 U - DR DOS 5.0-6.0 internal - GET ENCRYPTED PASSWORD
INT 21 U - DR DOS 5.0-6.0 internal - GET ENCRYPTED PASSWORD
	AX = 4304h
	DS:DX -> ASCIZ filename
	???
Return: CF clear if successful
	    CX = AX = 0000h if no password assigned to file
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Note:	this function is only supported by DR DOS 5.0 and 6.0 and DRMDOS 5.1
SeeAlso: AX=4303h,AX=4305h

Top
214305 - INT 21 U - DR DOS 5.0-6.0 internal - SET EXTENDED FILE ATTRIBUTES
INT 21 U - DR DOS 5.0-6.0 internal - SET EXTENDED FILE ATTRIBUTES
	AX = 4305h
	DS:DX -> ASCIZ filename
	???
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Desc:	this function allows the extended attributes, and optionally the
	  encrypted password, of a file to be set.
Note:	this function is only supported by DR DOS 5.0 and 6.0 and DRMDOS 5.1
SeeAlso: AX=4304h,AX=4311h

Top
214306 - INT 21 O - DR DOS 6.0 - GET FILE OWNER
INT 21 O - DR DOS 6.0 - GET FILE OWNER
	AX = 4306h
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	    AX = CX = value set with AX=4307h
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Note:	no longer supported by Novell DOS 7 / OpenDOS
SeeAlso: AX=4307h

Top
214307 - INT 21 O - DR DOS 6.0 - SET FILE OWNER
INT 21 O - DR DOS 6.0 - SET FILE OWNER
	AX = 4307h
	CX = ??? (owner identification number?)
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Note:	no longer supported by Novell DOS 7 / OpenDOS
SeeAlso: AX=4306h

Top
214310 - INT 21 - Banyan VINES 2.1+ - GET EXTENDED FILE ATTRIBUTES
INT 21 - Banyan VINES 2.1+ - GET EXTENDED FILE ATTRIBUTES
	AX = 4310h
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	    CH = attributes (see #01422)
	CF set on error
	    AX = error code (01h,02h,03h,05h) (see #01680 at AH=59h/BX=0000h)
Note:	the filename may be a directory but must be on a VINES file service
SeeAlso: AX=4300h,AX=4311h,AH=B6h,INT 2F/AX=110Fh

Top
214311 - INT 21 - Banyan VINES 2.1+ - SET EXTENDED FILE ATTRIBUTES
INT 21 - Banyan VINES 2.1+ - SET EXTENDED FILE ATTRIBUTES
	AX = 4311h
	CH = new attributes (see #01422)
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	CF set on error
	    AX = error code (01h,02h,03h,05h) (see #01680 at AH=59h/BX=0000h)
Note:	the filename may be a directory but must be on a VINES file service
SeeAlso: AX=4301h,AX=4305h,AX=4310h,INT 2F/AX=110Eh

Bitfields for VINES extended file attributes:
Bit(s)	Description	(Table 01422)
 7	unused
 6	shareable
 5	execute-only
 4-0	unused

Top
214321BX0000 - INT 21 - Q87, Q387 - INSTALLATION CHECK
INT 21 - Q87, Q387 - INSTALLATION CHECK
	AX = 4321h
	BX = 0000h
	EAX = 87654321h (entire EAX value is required, not just AX)
Return: EAX = 12345678h if installed
Program: Q387 (renamed to Q87 as of v3.7) is a math coprocessor emulator from
	  Quickware
Note:	this function is available only in virtual-86 mode in older versions;
	  newer versions also provide it in MS Windows 16- and 32-bit protected
	  mode
SeeAlso: AX=4321h/BX=0001h,AX=4321h/BX=0002h,INT 67/AX=4321h

Top
214321BX0001 - INT 21 - Q87, Q387 - ENABLE EMULATOR
INT 21 - Q87, Q387 - ENABLE EMULATOR
	AX = 4321h
	BX = 0001h
	EAX = 87654321h (entire EAX value is required, not just AX)
Desc:	enable the emulator by setting the CPU MSW's EM bit and updating
	  the BIOS equipment list
Note:	this function is available only in virtual-86 mode in older versions;
	  newer versions also provide it in MS Windows 16- and 32-bit protected
	  mode
SeeAlso: AX=4321h/BX=0000h,AX=4321h/BX=0002h

Top
214321BX0002 - INT 21 - Q87, Q387 - DISABLE EMULATOR
INT 21 - Q87, Q387 - DISABLE EMULATOR
	AX = 4321h
	BX = 0002h
	EAX = 87654321h (entire EAX value is required, not just AX)
Desc:	disable the emulator by clearing the CPU MSW's EM bit and updating
	  the BIOS equipment list
Note:	this function is available only in virtual-86 mode in older versions;
	  newer versions also provide it in MS Windows 16- and 32-bit protected
	  mode
SeeAlso: AX=4321h/BX=0000h,AX=4321h/BX=0001h

Top
214380 - INT 21 - Novell DOS 7 - UNDELETE PENDING DELETE FILE
INT 21 - Novell DOS 7 - UNDELETE PENDING DELETE FILE
	AX = 4380h
	???
Return: ???
SeeAlso: AH=41h,AX=4381h

Top
214381 - INT 21 - Novell DOS 7 - PURGE PENDING DELETE FILE
INT 21 - Novell DOS 7 - PURGE PENDING DELETE FILE
	AX = 4381h
	???
Return: ???
SeeAlso: AH=41h,AX=4380h

Top
214382 - INT 21 - DR-DOS >7.03 - RESERVED
INT 21 - DR-DOS >7.03 - RESERVED
	AX = 4382h-438Fh
Notes:	These previously unused functions are reserved for future versions of
	  DR-DOS (post 7.03).
	AX=4382h will be identical to the previous AX=4302h, which is now also
	  used by MS-DOS 7+ for a different purpose.
SeeAlso: INT 21h/4302h

Top
2143FFBP5053 - INT 21 - MS-DOS 7.20 (Win98) - EXTENDED-LENGTH FILENAME OPERATIONS
INT 21 - MS-DOS 7.20 (Win98) - EXTENDED-LENGTH FILENAME OPERATIONS
	AX = 43FFh
	BP = 5053h ('PS')
	CL = function
	    39h "mkdir" create directory
		DS:DX -> ASCIZ pathname
	    56h rename file
		DS:DX -> ASCIZ filename of existing file (no wildcards)
		ES:DI -> ASCIZ new filename (no wildcards)
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (03h,05h) (see #01680 at AH=59h/BX=0000h)
Note:	these functions are equivalent to INT 21/AH=39h and INT 21/AH=56h,
	  but with a maximum path length of 128 characters instead of 67;
	  unlike INT 21/AX=71xxh, these functions are available under bare
	  DOS and not just in a Windows DOS box
SeeAlso: AH=39h,AH=56h,AX=7139h,AX=7156h

Top
Section -


Top
214400 - INT 21 - DOS 2+ - IOCTL - GET DEVICE INFORMATION
INT 21 - DOS 2+ - IOCTL - GET DEVICE INFORMATION
	AX = 4400h
	BX = handle
Return: CF clear if successful
	    DX = device information word (see #01423)
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	value in DH corresponds to high byte of device driver's attribute word
	  if handle refers to a character device
	Novell NetWare reportedly does not return a drive number in bits 5-0
	  for a disk file
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4401h,INT 2F/AX=122Bh

Bitfields for device information word:
Bit(s)	Description	(Table 01423)
 character device
  14	device driver can process IOCTL requests (see AX=4402h"DOS 2+")
  13	output until busy supported
  11	driver supports OPEN/CLOSE calls
   8	??? (set by MS-DOS 6.2x KEYB)
   7	set (indicates device)
   6	EOF on input
   5	raw (binary) mode
   4	device is special (uses INT 29)
   3	clock device
   2	NUL device
   1	standard output
   0	standard input
 disk file
  15	file is remote (DOS 3.0+)
  14	don't set file date/time on closing (DOS 3.0+)
  11	media not removable
   8	(DOS 4 only) generate INT 24 if no disk space on write or read past
	  end of file
   7	clear (indicates file)
   6	file has not been written
  5-0	drive number (0 = A:)
SeeAlso: INT 29

Top
214401 - INT 21 - DOS 2+ - IOCTL - SET DEVICE INFORMATION
INT 21 - DOS 2+ - IOCTL - SET DEVICE INFORMATION
	AX = 4401h
	BX = handle (must refer to character device)
	DX = device information word (see #01423)
	    (DH must be zero for DOS version prior to 6.x)
Return: CF clear if successful
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,INT 2F/AX=122Bh

Top
214402 - INT 21 - DOS 2+ - IOCTL - READ FROM CHARACTER DEVICE CONTROL CHANNEL
INT 21 - DOS 2+ - IOCTL - READ FROM CHARACTER DEVICE CONTROL CHANNEL
	AX = 4402h
	BX = file handle referencing character device
	CX = number of bytes to read
	DS:DX -> buffer
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	format of data is driver-specific
	  (also see separate entries below for some specific cases)
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,AX=4403h"DOS",AX=4404h"DOS",INT 2F/AX=122Bh

Top
214402 - INT 21 - Network Driver Interface Specification (NDIS) 2.0.1 - PROTOCOL MANAGER
INT 21 - Network Driver Interface Specification (NDIS) 2.0.1 - PROTOCOL MANAGER
	AX = 4402h
	BX = file handle for device "PROTMAN$"
	CX = 000Eh (size of request block)
	DS:DX -> request block (see #01424,#01425,#01426,#01427,#01428,#01432,#01433)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h"FTPSOFT"

Format of NDIS request block for GetProtocolManagerInfo:
Offset	Size	Description	(Table 01424)
 00h	WORD	01h
 02h	WORD	returned status (see #01434)
 04h	DWORD	returned pointer to structure representing parsed user config
 08h	DWORD	unused
 0Ch	WORD	returned BCD version of NDIS on which Protocol Manager is based
SeeAlso: #01425,#01426,#01427,#01428,#01429,#01430,#01431,#01432,#01433

Format of NDIS request block for RegisterModule:
Offset	Size	Description	(Table 01425)
 00h	WORD	02h
 02h	WORD	returned status (see #01434)
 04h	DWORD	pointer to module's common characteristics table (see #01435)
 08h	DWORD	pointer to list of modules to which the module is to be bound
 0Ch	WORD	unused
SeeAlso: #01424,#01426,#01427,#01428,#01429,#01430,#01431,#01432,#01433

Format of NDIS request block for BindAndStart:
Offset	Size	Description	(Table 01426)
 00h	WORD	03h
 02h	WORD	returned status (see #01434)
 04h	DWORD	caller's virtual address in FailingModules structure
 08h	DWORD	unused
 0Ch	WORD	unused
SeeAlso: #01424,#01425,#01427,#01428,#01429,#01430,#01431,#01432,#01433

Format of NDIS request block for GetProtocolManagerLinkage:
Offset	Size	Description	(Table 01427)
 00h	WORD	04h
 02h	WORD	returned status (see #01434)
 04h	DWORD	returned dispatch point
 08h	DWORD	unused
 0Ch	WORD	returned protocol manager DS
Note:	the dispatch point may be called as follows instead of using this IOCTL
	STACK: WORD  protocol manager DS
	       DWORD pointer to request block
	Return: AX = returned status
		STACK popped
SeeAlso: #01424,#01425,#01426,#01428,#01429,#01430,#01431,#01432,#01433

Format of NDIS request block for GetProtocolIniPath:
Offset	Size	Description	(Table 01428)
 00h	WORD	05h
 02h	WORD	returned status (see #01434)
 04h	DWORD	pointer to a buffer for the ASCIZ pathname of PROTOCOL.INI
 08h	DWORD	unused
 0Ch	WORD	buffer length
SeeAlso: #01424,#01425,#01426,#01427,#01429,#01430,#01431,#01432,#01433

Format of NDIS request block for RegisterProtocolManagerInfo:
Offset	Size	Description	(Table 01429)
 00h	WORD	06h
 02h	WORD	returned status (see #01434)
 04h	DWORD	pointer to structure containing parsed user config file
 08h	DWORD	unused
 0Ch	WORD	length of structure
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01430,#01431,#01432,#01433

Format of NDIS request block for InitAndRegister:
Offset	Size	Description	(Table 01430)
 00h	WORD	07h
 02h	WORD	returned status (see #01434)
 04h	DWORD	unused
 08h	DWORD	poitner to ASCIZ name of the module to be prebind initialized
 0Ch	WORD	unused
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01431,#01432,#01433

Format of NDIS request block for UnbindAndStop:
Offset	Size	Description	(Table 01431)
 00h	WORD	08h
 02h	WORD	returned status (see #01434)
 04h	DWORD	failing modules as for BindAndStart
 08h	DWORD	if not 0000h:0000h, pointer to ASCIZ name of module to unbind
		if 0000h:0000h, terminate a set of previously dynamically
		  bound protocol modules
 0Ch	WORD	unused
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01432,#01433

Format of NDIS request block for BindStatus:
Offset	Size	Description	(Table 01432)
 00h	WORD	09h
 02h	WORD	returned status (see #01434)
 04h	DWORD	must be 0000h:0000h
		on return, points to root tree
 08h	DWORD	0000h:0000h
 0Ch	WORD	unused under DOS
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01431,#01433

Format of NDIS request block for RegisterStatus:
Offset	Size	Description	(Table 01433)
 00h	WORD	0Ah
 02h	WORD	returned status (0000h, 0008h, 002Ch) (see #01434)
 04h	DWORD	0000h:0000h
 08h	DWORD	pointer to 16-byte ASCIZ module name
 0Ch	WORD	0000h
Note:	not supported by the 10NET v5.0 PROTMAN$ driver
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01431,#01432

(Table 01434)
Values for NDIS status code:
 0000h	success
 0001h	wait for release--protocol has retained control of the data buffer
 0002h	request queued
 0003h	frame not recognized
 0004h	frame rejected
 0005h	frame should be forwarded
 0006h	out of resource
 0007h	invalid parameter
 0008h	invalid function
 0009h	not supported
 000Ah	hardware error
 000Bh	transmit error
 000Ch	unrecognized destination
 000Dh	buffer too small
 0020h	already started
 0021h	binding incomplete
 0022h	driver not initialized
 0023h	hardware not found
 0024h	hardware failure
 0025h	configuration failure
 0026h	interrupt conflict
 0027h	MAC incompatible
 0028h	initialization failed
 0029h	no binding
 002Ah	network may be disconnected
 002Bh	incompatible OS version
 002Ch	already registered
 002Dh	path not found
 002Eh	insufficient memory
 002Fh	info not found
 00FFh	general failure
 F000h-FFFFh reserved for vendor-specific codes, treated as general failure

Format of NDIS common characteristics table:
Offset	Size	Description	(Table 01435)
 00h	WORD	size of table in bytes
 02h	BYTE	NDIS major version
 03h	BYTE	NDIS minor version
 04h	WORD	reserved
 06h	BYTE	module major version
 07h	BYTE	module minor version
 08h	DWORD	module function flag bits
		bit 0: binding at upper boundary supported
		bit 1: binding at lower boundary supported
		bit 2: dynamically bound
		bits 3-31 reserved, must be 0
 0Ch 16 BYTEs	ASCIZ module name
 1Ch	BYTE	upper boundary protocol level (see #01436)
 1Dh	BYTE	upper boundary interface type
		for MACs: 1 = MAC
		for data links and transports: to be defined
		for session: 1 = NCB
		any level: 0 = private (ISV-defined)
 1Eh	BYTE	lower boundary protocol level (see #01436)
 1Fh	BYTE	lower boundary interface type
		same as offset 1Dh
 20h	WORD	module ID filled in by protocol manager
 22h	WORD	module DS
 24h	DWORD	system request entry point
 28h	DWORD	pointer to service-specific characteristics (see #01438,#01440)
		0000h:0000h if none
 2Ch	DWORD	pointer to service-specific status, or 0000h:0000h if none
		  (see #01441)
 30h	DWORD	pointer to upper dispatch table (see #01437)
		0000h:0000h if none
 34h	DWORD	pointer to lower dispatch table (see #01437)
		0000h:0000h if none
 38h  2 DWORDs	reserved, must be 0
Note:	for compatibility with NDIS 1.x.x, a major version of 00h is
	  interpreted as 01h

(Table 01436)
Values for NDIS boundary protocol level:
 00h	physical
 01h	Media Access Control
 02h	Data link
 03h	network
 04h	transport
 05h	session
 FFh	not specified

Format of NDIS dispatch table:
Offset	Size	Description	(Table 01437)
 00h	DWORD	-> common characteristics table (see #01435)
 04h  4 BYTEs	???
 08h	DWORD	-> ??? function (called with 12 bytes of stack arguments)
 0Ch	DWORD	-> ??? function (called with 10 bytes of stack arguments)
 10h	DWORD	-> ??? function (called with 16 bytes of stack arguments)
 14h	DWORD	-> ??? function (called with 4 bytes of stack arguments)
 18h	DWORD	-> ??? function (called with 18 bytes of stack arguments)
 1Ch	DWORD	-> ??? function (called with 12 bytes of stack arguments)

Format of MAC Service-Specific Characteristics Table:
Offset	Size	Description	(Table 01438)
 00h	WORD	length of table in bytes
 02h 16 BYTEs	ASCIZ MAC type name, "802.3", "802.4", "802.5", "802.6", "DIX",
		  "DIX+802.3", "APPLETALK", "ARCNET", "FDDI", "SDLC", "BSC",
		  "HDLC", or "ISDN"
 12h	WORD	length of station addresses in bytes
 14h 16 BYTEs	permanent station address
 24h 16 BYTEs	current station address
 34h	DWORD	current functional adapter address (00000000h if none)
 38h	DWORD	pointer to multicast address list
 3Ch	DWORD	link speed in bits/sec
 40h	DWORD	service flags (see #01439)
 44h	WORD	maximum frame size which may be both sent and received
 46h	DWORD	total transmit buffer capacity in bytes
 4Ah	WORD	transmit buffer allocation block size in bytes
 4Ch	DWORD	total receive buffer capacity in bytes
 50h	WORD	receive buffer allocation block size in bytes
 52h  3 BYTEs	IEEE vendor code
 55h	BYTE	vendor adapter code
 56h	DWORD	pointer to ASCIZ vendor adapter description
 5Ah	WORD	IRQ used by adapter
 5Ch	WORD	transmit queue depth
 5Eh	WORD	maximum supported number of data blocks in buffer descriptors
 60h  N BYTEs	vendor-specific info
SeeAlso: #01440

Bitfields for service flags:
Bit(s)	Description	(Table 01439)
 0	supports broadcast
 1	supports multicast
 2	supports functional/group addressing
 3	supports promiscuous mode
 4	station address software settable
 5	statistics always current
 6	supports InitiateDiagnostics
 7	supports loopback
 8	MAC does primarily ReceiveChain indications instead of ReceiveLookahead
	indications
 9	supports IBM source routing
 10	supports MAC reset
 11	supports Open/Close adapter
 12	supports interrupt request
 13	supports source routing bridge
 14	supports GDT virtual addresses (OS/2 version)
 15	multiple TransferDatas allowed durign a single indication
 16	MAC normally sets FrameSize = 0 in ReceiveLookahead
 17-31	reserved, must be 0

Format of NetBIOS Service-Specific Characteristics Table:
Offset	Size	Description	(Table 01440)
 00h	WORD	length of table in bytes
 02h 16 BYTEs	ASCIZ type name of NetBIOS module
 12h	WORD	NetBIOS module code
 14h  N BYTEs	vendor-specific info
SeeAlso: #01438

Format of MAC Service-Specific Status Table:
Offset	Size	Description	(Table 01441)
 00h	WORD	length of table in bytes
 02h	DWORD	seconds since 0:00 1/1/70 when diagnostics last run
		(FFFFFFFFh = never)
 06h	DWORD	MAC status bits (see #01442)
 0Ah	WORD	current packet filter flags (see #01443)
 0Ch	DWORD	pointer to media-specific status table or 0000h:0000h
 10h	DWORD	seconds past 0:00 1/1/70 of last ClearStatistics
 14h	DWORD	total frames received (FFFFFFFFh = not counted)
 18h	DWORD	frames with CRC error (FFFFFFFFh = not counted)
 1Ch	DWORD	total bytes received (FFFFFFFFh = not counted)
 20h	DWORD	frames discarded--no buffer space (FFFFFFFFh = not counted)
 24h	DWORD	multicast frames received (FFFFFFFFh = not counted)
 28h	DWORD	broadcast frames received (FFFFFFFFh = not counted)
 2Ch	DWORD	frames with errors (FFFFFFFFh = not counted)
 30h	DWORD	overly large frames (FFFFFFFFh = not counted)
 34h	DWORD	frames less than minimum size (FFFFFFFFh = not counted)
 38h	DWORD	multicast bytes received (FFFFFFFFh = not counted)
 3Ch	DWORD	broadcast bytes received (FFFFFFFFh = not counted)
 40h	DWORD	frames discarded--hardware error (FFFFFFFFh = not counted)
 44h	DWORD	total frames transmitted (FFFFFFFFh = not counted)
 48h	DWORD	total bytes transmitted (FFFFFFFFh = not counted)
 4Ch	DWORD	multicast frames transmitted (FFFFFFFFh = not counted)
 50h	DWORD	broadcast frames transmitted (FFFFFFFFh = not counted)
 54h	DWORD	broadcast bytes transmitted (FFFFFFFFh = not counted)
 58h	DWORD	multicast bytes transmitted (FFFFFFFFh = not counted)
 5Ch	DWORD	frames not transmitted--timeout (FFFFFFFFh = not counted)
 60h	DWORD	frames not transmitted--hardware error (FFFFFFFFh = not countd)
 64h  N BYTEs	vendor-specific info

Bitfields for MAC status bits:
Bit(s)	Description	(Table 01442)
 0-2	operational status
	000 hardware not installed
	001 hardware failed startup diagnostics
	010 hardware configuration problem
	011 hardware fault
	100 operating marginally due to soft faults
	101 reserved
	110 reserved
	111 hardware fully operational
 3	MAC bound
 4	MAC open
 5	diagnostics in progress
 6-31	reserved

Bitfields for packet filter flags:
Bit(s)	Description	(Table 01443)
 0	directed/multicast or group/functional
 1	broadcast
 2	promiscuous
 3	all source routing
 4-15	reserved, must be zero

Top
214402 - INT 21 U - MS-DOS 7.0+ - CONFIG$ device - GET CONFIGURATION INFORMATION
INT 21 U - MS-DOS 7.0+ - CONFIG$ device - GET CONFIGURATION INFORMATION
	AX = 4402h
	BX = file handle for character device "CONFIG$"
	CX = number of bytes to read (at least 5)
	DS:DX -> buffer for ??? data (see #01444)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4403h"CONFIG$"

Format of MS-DOS 7.0 CONFIG$ ??? data:
Offset	Size	Description	(Table 01444)
 00h	WORD	??? (0000h)
 02h	WORD	??? (0000h or value read from IO.SYS segment 70h)
 04h	BYTE	??? (value read from IO.SYS segment 70h)

Top
214402 - INT 21 U - IBM SYSTEM 36/38 WORKSTATION EMULATION - VDI.SYS - GET ???
INT 21 U - IBM SYSTEM 36/38 WORKSTATION EMULATION - VDI.SYS - GET ???
	AX = 4402h
	BX = handle for character device "GDMS"
	CX = number of bytes to read (>= 4)
	DS:DX -> buffer (see #01445)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = number of bytes read

Format of System 36/38 emulator returned data:
Offset	Size	Description	(Table 01445)
 00h  4 BYTEs	???
 04h	DWORD	pointer to ???
 08h  4 BYTEs	???

Top
214402 - INT 21 U - LASTBYTE.SYS v1.19 - IOCTL - GET ??? TABLE
INT 21 U - LASTBYTE.SYS v1.19 - IOCTL - GET ??? TABLE
	AX = 4402h
	BX = handle for device "LA$TBYTE"
	CX = 0004h
	DS:DX -> DWORD to hold address of 39-byte table of ???
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = number of bytes read
Program: LASTBYTE.SYS is part of the shareware "The Last Byte" memory
	  management package by Key Software Products
SeeAlso: AX=4402h"HIGHUMM"

Top
214402 - INT 21 - HIGHUMM.SYS v1.17+ - IOCTL - GET API ADDRESS
INT 21 - HIGHUMM.SYS v1.17+ - IOCTL - GET API ADDRESS
	AX = 4402h
	BX = handle for device "KSP$UMM"
	CX = 0004h
	DS:DX -> DWORD to hold entry point (see #01446)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = number of bytes read
Program: HIGHUMM.SYS is part of the shareware "The Last Byte" memory
	  management package by Key Software Products
SeeAlso: AX=4402h"LASTBYTE"

(Table 01446)
Call HIGHUMM.SYS entry point with:
	AH = 00h allocate UMB (same as XMS function 10h) (see INT 2F/AX=4310h)
	    DX = size in paragraphs
	    Return: BX = segment number (if successful)
		    DX = size of requested block/size of largest block
	AH = 01h deallocate UMB (same as XMS func 11h) (see INT 2F/AX=4310h)
	    DX = segment number of UMB
	AH = 02h request a bank-switched memory block
	    DX = size in paragraphs
	    Return: BX = segment number (if successful)
		    DX = size of requested block/size of largest block
	AH = 03h release a bank-switched memory block
	    DX = segment number
	AH = 04h transfer data to/from high memory
	    DS:SI -> source
	    ES:DI -> destination
	    CX = length in bytes
	    Note: enables bank-switched memory, does the copy, then disables
		bank-switched memory
	AH = 05h get a word from bank-switched memory
	    ES:DI -> word to read
	    Return: DX = word
	AH = 06h put a word to bank-switched memory
	    ES:DI -> word to write
	    DX = word
	AH = 07h put a byte to bank-switched memory
	    ES:DI -> byte to write
	    DL = byte
	AH = 08h enable bank-switched memory
	    DS:SI -> 6-byte status save area
	AH = 09h disable bank-switched memory
	    DS:SI -> 6-byte save area from enable call (AH=08h)
	AH = 0Ah assign name to UMB or high bank-switched block
	    DX = segment number
	    DS:SI -> 8-byte blank-padded name
	AH = 0Bh locate UMB block by name
	    DS:SI -> 8-byte blank-padded name
	    Return: BX = segment number (if successful)
		    DX = size of block
	AH = 0Ch locate bank-switched block by name
	    DS:SI -> 8-byte blank-padded name
	    Return: BX = segment number (if successful)
		    DX = size of block
Return: AX = status code
	    0001h successful
	    0000h failed
		BL = error code
		    80h not implemented
		    B0h insufficient memory, smaller block available
		    B1h insufficient memory, no blocks available
		    B2h invalid segment number
Note:	only functions 00h and 01h are always available; the remaining
	  functions are only enabled if the proper commandline switch is given

Top
214402 - INT 21 - SMARTDRV.SYS v3.x only - IOCTL - GET CACHE STATUS
INT 21 - SMARTDRV.SYS v3.x only - IOCTL - GET CACHE STATUS
	AX = 4402h
	BX = file handle for device "SMARTAAR"
	CX = number of bytes to read (min 28h)
	DS:DX -> buffer for status record (see #01447)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	NCache2 (from the Norton Utilities v8.0) attempts to support this
	  interface, but does not do so correctly, often hanging the system;
	  one should use the SmartDrive v4.x or NCache private interfaces
	  (see INT 2F/AX=4A10h/BX=0000h,INT 2F/AX=FE00h/DI=4E55h)
SeeAlso: AX=4403h"SMARTDRV",INT 2F/AX=4A10h/BX=0000h

Format of SMARTDRV status record:
Offset	Size	Description	(Table 01447)
 00h	BYTE	write-through flag (always 01h)
 01h	BYTE	writes should be buffered (always 00h)
 02h	BYTE	cache enabled if 01h
 03h	BYTE	driver type (01h extended memory, 02h expanded)
 04h	WORD	clock ticks between cache flushes (currently unused)
 06h	BYTE	cache contains locked tracks if nonzero
 07h	BYTE	flush cache on INT 19 reboot if nonzero
 08h	BYTE	cache full track writes if nonzero
 09h	BYTE	double buffering (for VDS) state (00h off, 01h on, 02h dynamic)
 0Ah	DWORD	original INT 13 vector
 0Eh	BYTE	minor version number
 0Fh	BYTE	major version number
 10h	WORD	unused
 12h	WORD	sectors read			\
 14h	WORD	sectors already in cache	 > may be scaled rather than
 16h	WORD	sectors already in track buffer /  absolute counts
 18h	BYTE	cache hit rate in percent
 19h	BYTE	track buffer hit rate in percent
 1Ah	WORD	total tracks in cache
 1Ch	WORD	number of tracks in use
 1Eh	WORD	number of locked tracks
 20h	WORD	number of dirty tracks
 22h	WORD	current cache size in 16K pages
 24h	WORD	original (maximum) cache size in 16K pages
 26h	WORD	minimum cache size in 16K pages
 28h	DWORD	pointer to byte flag to increment for locking cache contents

Top
214402 - INT 21 - CD-ROM device driver - IOCTL INPUT
INT 21 - CD-ROM device driver - IOCTL INPUT
	AX = 4402h
	BX = file handle referencing character device for CD-ROM driver
	CX = number of bytes to read
	DS:DX -> control block (see #01449)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	the data returned depends on the first byte of the control block
	  (two bytes for functions 01h/07h/0Bh, see #01449); the remainder of
	  the control block is filled by the driver
	some device drivers support several subunits (that is more than one
	  drive) but it is not possible to distinguish between them with this
	  function; use INT 2F/AX=1510h or INT 2F/AX=0802h instead
	under Windows95, the "mscd$$$$" device cannot be opened so you cannot
	  obtain the handle required by this function: use INT 2F/AX=1510h
	  or INT 2F/AX=0802h instead
SeeAlso: AX=4403h"CD-ROM",INT 2F/AX=0802h,INT 2F/AX=1510h

(Table 01448)
Values for CD-ROM data being requested:
 00h	device driver header address
 01h	drive head location
 02h	reserved
 03h	error statistics
 04h	audio channel info
 05h	raw drive bytes (uninterpreted and device-specific)
 06h	device status
 07h	sector size
 08h	volume size
 09h	media change status
 0Ah	audio disk info
 0Bh	audio track info
 0Ch	audio Q-Channel info
 0Dh	audio sub-channel info
 0Eh	UPC code
 0Fh	audio status info

Format of CD-ROM control block:
Offset	Size	Description	(Table 01449)
 00h	BYTE	data being requested (see #01448)
---function 00h---
 01h	DWORD	device driver header address (see also AH=52h,#01646)
---function 01h---
 01h	BYTE	(call) addressing mode
		00h HSG
		01h Red Book
 02h	DWORD	current location of drive's head
		logical sector number in HSG mode
		frame/second/minute/unused in Red Book mode
		(HSG sector = minute * 4500 + second * 75 + frame - 150)
---function 03h---
 01h  N BYTEs	undefined as of 5 Aug 88 specification
---function 04h---
 01h	BYTE	input channel (0-3) for output channel 0
 02h	BYTE	volume for output channel 0
 03h	BYTE	input channel (0-3) for output channel 1
 04h	BYTE	volume for output channel 1
 05h	BYTE	input channel (0-3) for output channel 2
 06h	BYTE	volume for output channel 2
 07h	BYTE	input channel (0-3) for output channel 3
 08h	BYTE	volume for output channel 3
Notes:	output channels 0 and 1 are left and right, 2 and 3 are left prime and
	  right prime; a volume of 00h is off
	the default setting is for each input channel to be assigned to the
	  same-numbered output channel at full (FFh) volume
---function 05h---
 01h	BYTE	number of bytes read
 02h 128 BYTEs	buffer for drive bytes
---function 06h---
 01h	DWORD	device parameters (see #01450)
---function 07h---
 01h	BYTE	(call) read mode
		00h cooked
		01h raw
 02h	WORD	(return) sector size in bytes
---function 08h---
 01h	DWORD	volume size in sectors
BUGS:	Aztech device driver v1.10 and v1.27 (at least) return the last sector
	  number, i.e. total number of sectors - 1
	Windows95 returns the total number of sectors + 150 (see the Red Book
	  to HSG conversion formula at function 01h to understand why this
	  happens)
---function 09h---
 01h	BYTE	media change status
		00h don't know
		01h media unchanged
		FFh media has been changed
---function 0Ah---
 01h	BYTE	lowest audio track number
 02h	BYTE	highest audio track number
 03h	DWORD	start address of lead-out track (Red Book format)
--function 0Bh---
 01h	BYTE	(call) track number
 02h	DWORD	starting point of track (Red Book format)
 06h	BYTE	track control info
		bits 15,14,12: track type (notice: bits not contiguous!)
			000 two audio channels, no pre-emphasis
			001 two audio channels with pre-emphasis
			010 data track
			100 four audio channels, no pre-emphasis
			101 four audio channels with pre-emphasis
			other reserved
		bit 13: digital copy permitted
---function 0Ch---
 01h	BYTE	CONTROL and ADR byte (as received from drive)
 02h	BYTE	track number
 03h	BYTE	point or index
 04h	BYTE	minute	\
 05h	BYTE	second	 > running time within track
 06h	BYTE	frame	/
 07h	BYTE	zero
 08h	BYTE	"AMIN" or "PMIN"     \
 09h	BYTE	"ASEC" or "PSEC"      > running time on disk
 0Ah	BYTE	"AFRAME" or "PFRAME" /
---function 0Dh---
 01h	DWORD	starting frame address (Red Book format)
 05h	DWORD	transfer address
 09h	DWORD	number of sectors to read
Note:	copies 96 bytes of sub-channel info per sector into buffer
---function 0Eh---
 01h	BYTE	CONTROL and ADR byte
 02h  7 BYTEs	UPC/EAN code (13 BCD digits,low-order nybble of last byte is 0)
 09h	BYTE	zero
 0Ah	BYTE	"AFRAME"
---function 0Fh---
 ??? documentation not yet available
 01h	WORD	pause status (0000h not paused, 0001h paused)
 03h	DWORD	audio play start address
 07h	DWORD	??? audio play length or end address

Bitfields for CD-ROM device parameters:
Bit(s)	Description	(Table 01450)
 0	door open
 1	door unlocked
 2	supports raw reading in addition to cooked
 3	writable
 4	can play audio/video tracks
 5	supports interleaving
 6	reserved
 7	supports prefetch requests
 8	supports audio channel control
 9	supports Red Book addressing in addition to HSG
 10	audio is playing
 11	no disk in drive
 12	supports R-W subchannels

Top
214402 - INT 21 - Quarterdeck - QEMM-386 v5+ - GET API ENTRY POINT
INT 21 - Quarterdeck - QEMM-386 v5+ - GET API ENTRY POINT
	AX = 4402h
	BX = file handle for device "QEMM386$"
	CX = 0004h
	DS:DX -> DWORD buffer for API entry point
Return: CF clear if successful
	    buffer filled (refer to INT 67/AH=3Fh for entry point parameters)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	Quarterdeck recently (June 1993) documented this function, but the
	  documentation incorrectly states that it is only available for
	  QEMM 6+
SeeAlso: AX=4402h"HOOKROM",INT 2F/AX=D201h/BX=5145h,INT 67/AH=3Fh

Top
214402 - INT 21 U - Quarterdeck - HOOKROM.SYS - GET HOOKED VECTOR TABLE
INT 21 U - Quarterdeck - HOOKROM.SYS - GET HOOKED VECTOR TABLE
	AX = 4402h
	BX = file handle for device "HOOKROM$"
	CX = 0004h
	DS:DX -> DWORD buffer for address of hooked vector table (see #01451)
Return: CF clear if successful
	    DS:DX buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h/SF=01h

Format of HOOKROM.SYS hooked vector table entry:
Offset	Size	Description	(Table 01451)
 00h  5 BYTEs	FAR jump to actual interrupt handler
		(end of table if first byte is not EAh)
 05h	BYTE	interrupt vector number

Top
214402 - INT 21 - Advanced SCSI Programming Interface (ASPI) - INTERFACE
INT 21 - Advanced SCSI Programming Interface (ASPI) - INTERFACE
	AX = 4402h
	BX = file handle for device "SCSIMGR$"
	CX = 0004h or 0005h (refer to notes below)
	DS:DX -> buffer for result (see #01452), set to zeros before call
Return: CF clear if successful
	    AX = 0004h or 0005h (refer to notes below)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	the variant of the call requesting five bytes is an UNDOCUMENTED
	  extension supported by Adaptec's ASPI2DOS.SYS, ASPI4DOS.SYS, and
	  ASPI7DOS.SYS; if made of a host manager which does not support the
	  variant, only four bytes will be returned.  If the variant is
	  supported, Adaptec's WINASPI.DLL assumes that the host manager is
	  an "advanced" one which operates in either real or protected mode
	  (and thus does not require a DPMI INT 31/AX=0301h call to be invoked
	  from protected mode).	 Support of the five-byte variant also appears
	  to imply that an advanced ASPI host manager uses no temporary
	  storage space except the SRB (see #01454) and the stack, and that it
	  is fully reentrant.
	if called with a standard request for four bytes, even Adaptec's
	  advanced drivers return only the requested four bytes containing the
	  ASPI entry point address
	the function address is called with the address of a SCSI Request
	  Block (see #01454) on the stack and the caller must clean up the
	  stack
SeeAlso: AX=440Ch"ASPITAPE",INT 11/AH=FFh"WD7000"

Format of ASPI IOCTL result:
Offset	Size	Description	(Table 01452)
 00h	DWORD	function address
 04h	BYTE	number of SCSI host adapters supported by host manager

(Table 01453)
Values for ASPI request number:
 00h	"HA_INQ"	host adapter inquiry / extended host adapter inquiry
 01h	"GET_TYPE"	get device type
 02h	"EXEC_SIO"	execute SCSI I/O
 03h	"ABORT_SRB"	abort SRB
 04h	"RESET_DEV"	reset SCSI device
 05h	"SET_HAPRMS"	set host adapter parameters
 06h	get disk drive information
 7Fh	(Adaptec) get ASPI manager info?
Note:	request 7Fh is supported by all the Adaptec's DOS ASPI managers:
	  ASPI2DOS.SYS (for AHA-152x), ASPI4DOS.SYS (for AHA-154x/164x),
	  ASPI7DOS.SYS (for AIC-77xx), and ASPI8DOS.SYS (for AIC-78xx)

Format of SCSI Request Block (64 bytes):
Offset	Size	Description	(Table 01454)
 00h	BYTE	request number (see #01453)
 01h	BYTE	request status (see #01455)
 02h	BYTE	host adapter ID
 03h	BYTE	request flags (see #01456)
 04h	DWORD	reserved (0)
---request 00h---
 08h	BYTE	(ret) number of host adapters
 09h	BYTE	(ret) target adapter ID
 0Ah 16 BYTEs	(ret) SCSI manager ID
 1Ah 16 BYTEs	(ret) host adapter ID
 2Ah 16 BYTEs	(ret) host adapter-unique parameters (see #90010,#90011)
---extended request 00h---
 04h  2 BYTEs	(call) extended request signature 55h AAh
		(ret) if extended request supported, reply AAh 55h
 06h	WORD	(call) length of extended buffer at offset 3Ah
		(ret) number of bytes returned in extended buffer
 08h	BYTE	(ret) number of host adapters
 09h	BYTE	(ret) target adapter ID
 0Ah 16 BYTEs	(ret) SCSI manager ID
 1Ah 16 BYTEs	(ret) host adapter ID
 2Ah 16 BYTEs	(ret) host adapter-unique parameters
 3Ah  N BYTEs	extended buffer
		3Ah	WORD	features (see #01457)
		3Ch	WORD	maximum scatter/gather list length
		3Eh	DWORD	maximum SCIS data transfer size (0 = unlimited)
---request 01h---
 08h	BYTE	target ID
 09h	BYTE	logical unit number
 0Ah	BYTE	(ret) device type (see #01460)
---request 02h---
 08h	BYTE	target ID
 09h	BYTE	logical unit number
 0Ah	DWORD	data allocation length
		(ret) residual byte length (if supported and requested)
 0Eh	BYTE	sense allocation length
 0Fh	DWORD	data buffer pointer
 13h	DWORD	next request pointer (for linking)
 17h	BYTE	CDB length
 18h	BYTE	(ret) host adapter status (see #01454)
 19h	BYTE	(ret) target status (see #01459)
 1Ah	DWORD	post routine address (see #01466)
 1Eh	WORD	real mode Post DS
 20h	DWORD	SRB pointer
 24h	WORD	reserved
 26h	DWORD	SRB physical address
 2Ah 22 BYTEs	SCSIMGR$ workspace
 40h  N BYTEs	CCB, including sense data (20-24 bytes)
---request 03h---
 08h	DWORD	address of SRB to abort
---request 04h---
 08h	BYTE	target ID
 09h	BYTE	logical unit number
 0Ah 14 BYTEs	reserved
 18h	BYTE	(ret) host adapter status (see #01458)
 19h	BYTE	(ret) target status (see #01459)
 1Ah	DWORD	post routine address
 1Eh 34 BYTEs	workspace
---request 05h---
 08h 16 BYTEs	host adapter-unique parameters
---request 06h---
 08h	BYTE	target ID
 09h	BYTE	logical unit number
 0Ah	BYTE	disk drive flags (see #01461)
 0Bh	BYTE	INT 13h drive number
 0Ch	BYTE	preferred head number translation
 0Dh	BYTE	preferred sector size translation
 0Eh 10 BYTEs	reserved
---request 7Fh---
 08h	WORD	base I/O port address
 0Ah	BYTE	number of I/O ports used
 0Bh	BYTE	??? (01h returned for AHA-152x)
 0Ch	BYTE	interrupt level
 0Dh	BYTE	DMA channel
 0Eh	BYTE	(ASPI7DOS.SYS) EISA slot  number
		(ASPI8DOS.SYS) PCI device number
 0Fh	BYTE	bits 7-1: reserved (0)
		bit 0: (AHA-152x) ???
 10h	DWORD	ASPI entry point address
 14h	DWORD	previous ASPI entry point address
 18h	WORD	offset to "ASPI request dispatcher" procedure
 1Ah	WORD	offset to "interrupt handler" procedure
 1Ch	WORD	offset to some procedure
 1Eh	WORD	offset to some procedure
 20h	WORD	offset to host adapter data
 22h	BYTE	??? (apparently always 02h)
 23h	BYTE	reserved??? (0)
 24h	BYTE	(ASPI8DOS.SYS) PCI bus number?
 25h  11 BYTEs	reserved??? (0)
SeeAlso: #01462

(Table 01455)
Values for ASPI request status:
 00h	not done yet
 01h	completed successfully
 02h	aborted by host
 04h	SCSI I/O error
 80h	invalid
 81h	no adapter
 82h	no device attached
 else	status
SeeAlso: #01454

Bitfields for ASPI request flags:
Bit(s)	Description	(Table 01456)
 0	posting enabled
 1	linking enabled
 2	residual byte length reported in Data Allocation Length field
 3	transfer from SCSI target to host
 4	transfer from host to SCSI target
 5	scatter/gather
 7-6	reserved
Note:	no data is transferred if both bits 3 and 4 are set; if neither is
	  set, the direction is determined by the SCSI command
SeeAlso: #01454

Bitfields for ASPI extended features:
Bit(s)	Description	(Table 01457)
 0	scatter/gather supported
 1	residual byte length reported
 2	Wide SCSI 16 host adapter
 3	Wide SCSI 32 host adapter
 15-4	reserved
SeeAlso: #01454

(Table 01458)
Values for host adapter status:
 00h	no error detected
 11h	select timeout
 12h	data overrun
 13h	bus error
 14h	bus failure

(Table 01459)
Values for target status:
 00h	no status
 02h	sense data stored in SRB
 08h	target busy
 18h	reservation error

(Table 01460)
Values for device type:
 00h	disk drive
 01h	tape drive (streamer)
 02h	printer
 03h	processor
 04h	WORM drive
 05h	CD-ROM drive
 06h	scanner
 07h	optical drive
 08h	autochanger
 09h	communications device

(Table 01461)
Values for disk drive flags:
 00h	no INT 13 access
 01h	INT 13 with DOS access
 02h	INT 13 without DOS access
 03h	invalid flags

Format of CCB:
Offset	Size	Description	(Table 01462)
 00h	BYTE	command code (see #01463)
 01h	BYTE	flags
		bits 4-0: vary by function
		bits 7-5: logical unit number
 02h	BYTE	"adr_1"
 03h	BYTE	"adr_0"
 04h	BYTE	length
 05h	BYTE	control
	...
 06h/0Ah 14 BYTEs buffer for sense data (see #01464)
SeeAlso: #01454

(Table 01463)
Values for CCB command code:
 00h	test unit ready
 01h	rewind
 03h	request sense data
 05h	get block size limits
 08h	Group 0 read
 0Ah	Group 0 write
 10h	write file marks
 11h	SCSI Space (set position?)
 12h	SCSI Inquire
 15h	set mode information
 16h	reserve SCSI device
 17h	release SCSI device
 19h	erase
 1Ah	request mode information
 1Bh	load/unload media
 1Dh	request target self-check
 24h	set window parameters
 25h	get window parameters
 28h	Group 1 read
 2Ah	Group 1 write
 31h	document feeder control
 34h	get scan data status
---vendor-specific commands---
 D3h	get document feeder status
 D4h	set document feeder mode

Format of sense data:
Offset	Size	Description	(Table 01464)
 00h	BYTE	error code (bit 7 set if valid)
 01h	BYTE	segment number
 02h	BYTE	sense key
		bit 6: EOM
		bit 5: ILI
		bits 0-3: sense key (see #01465)
 03h  4 BYTEs	information bytes
 07h	BYTE	additional sense length (0Ah)
 08h  4 BYTEs	command-specific information
 0Ch	BYTE	additional sense code
 0Dh	BYTE	additional sense code qualifier
 0Eh	BYTE	field replaceable unit code
 0Fh  3 BYTEs	sense key specific bytes

(Table 01465)
Values for sense key:
 00h	no sense data
 02h	SCSI unit not ready
 03h	media error
 04h	unrecoverable hardware error
 05h	illegal parameter in CDB
 06h	target has been reset
 0Bh	target aborted command

(Table 01466)
Values ASPI post function is called with:
	STACK:	DWORD -> SRB (see #01454) which completed
	interrupts disabled
Return: EBP, EBX, ESI, EDI must be preserved
	interrupts disabled
Note:	the post function may issue any ASPI function except an abort; it
	  should complete as quickly as possible

Format of ASPI2DOS.SYS v3.65 host adapter unique parameters:
Offset	Size	Description	(Table 90010)
 00h	WORD	reserved? (0)
 02h	WORD	reserved? (0)
 04h	WORD	base I/O port address
 06h	BYTE	interrupt level
 07h  9 BYTEs	reserved  (0)
SeeAlso: #90011,#01454

Format of ASPI4DOS.SYS v3.35 host adapter unique parameters:
Offset	Size	Description	(Table 90011)
 00h	WORD	offset to "ASPI request dispatcher" procedure
 02h	WORD	offset to "interrupt handler" procedure
 04h 12 BYTEs	reserved  (0)
SeeAlso: #90010,#01454

Top
214402 - INT 21 U - Qualitas 386MAX v6.00+ - IOCTL INPUT - GET STATE
INT 21 U - Qualitas 386MAX v6.00+ - IOCTL INPUT - GET STATE
	AX = 4402h
	BX = file handle for device "386MAX$$"
	CX = number of bytes to read
	DS:DX -> BYTE 03h followed by 386MAX state buffer (see #01467)
Return: CF clear if successful
	    buffer at DS:DX+1 filled
	    AX = number of bytes actually copied
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	if the value given in CX is less than the size of the state record
	  (5Ah for v6.01, 66h for v7.00), only a partial state record will be
	  returned
	the state is 40h bytes for 386MAX (actually ASTEMM) v2.20 ("386MAX$$"
	  did not exist yet, use "QMMXXXX0" and then "EMMXXXX0" instead) and
	  56h bytes for v5.11.
	to invoke 386MAX API functions, push DX onto the stack, load DX with
	  the word at offset 25h in the returned state, load all other
	  registers as needed for the desired function, and execute an
	  OUT DX,AL or OUT DX,AX; DX will be set to the pushed value on return
	  if it is not otherwise modified by the API function.	For safety,
	  in case a function is not supported or 386MAX is not present, SP
	  should be saved and restored around the API call.
	Windows 3.1 Standard mode, LAN Manager, and Windows for Workgroups all
	  use the 386MAX API; LAN Manager and Windows for Workgroups reportedly
	  make some calls incorrectly
SeeAlso: AX=4403h/SF=03h"386MAX",INT 67/AH=3Fh

Format of 386MAX v6.01+ state:
Offset	Size	Description	(Table 01467)
 -1	BYTE	(call) 03h
 00h  6 BYTEs	signature "386MAX"
 06h  4 BYTEs	version string "N;NN" or "N.NN" (i.e. "6;01" for v6.01)
		(';' by default; apparently changed to a period when 386MAX
		has linked high RAM into DOS's memory chain)
 0Ah	WORD	segment of low-memory portion of 386MAX.SYS
 0Ch  2 BYTEs	???
 0Eh	WORD	segment of ??? memory block or 0000h
 10h	WORD	bit flags 1 (see #01468)
 12h	WORD	starting address of video memory in KB
 14h  2 BYTEs	???
 16h	WORD	total high DOS memory in KB
 18h  2 BYTEs	???
 1Ah	WORD	available shared memory in KB
 1Ch	WORD	KBytes extended memory used by 386MAX
 1Eh  2 BYTEs	???
 20h	WORD	total extended memory in KB
 22h	WORD	IO port to write (OUT DX,AL) to invoke 386MAX INT 15 functions
 24h	WORD	IO port to write (OUT DX,AL) to invoke 386MAX API functions
		  (see #01481)
 26h	WORD	??? (depends on DOS version)
 28h	WORD	size of ??? in paragraphs
 2Ah	DWORD	machine type (see #01476)
 2Eh	DWORD	-> first DOS memory control block
 32h	WORD	system configuration flags (see #01469)
 34h	WORD	debugging flags 1 (see #01470)
 36h	WORD	debugging flags 2 (see #01471)
 38h  2 BYTEs	???
 3Ah	WORD	segment of first MCB in high memory chain
 3Ch	WORD	feature flags 1 (see #01473)
 3Eh	WORD	feature flags 2 (see #01474)
 40h	WORD	feature flags 3 (see #01475)
 42h	WORD	segment of first 386MAX control block??? (see #01477)
 44h	WORD	amount of memory to report available on INT 15/AH=88h
 46h  4 BYTEs	???
 4Ah	WORD	number of K at start of address space swapped with fast
		  extended memory (SWAP= parameter)
 4Ch  2 BYTEs	???
 4Eh	WORD	segment address of ???
 50h	WORD	debugging flags 3 (see #01472)
 52h	DWORD	old INT 21h
 56h	DWORD	pointer to 386MAX's EMS (INT 67h) handler
---386MAX v7.00---
 5Ah	DWORD	KB of extended memory managed by 386MAX
 5Eh	DWORD	bytes of extended memory (EXT= parameter)
 62h  4 BYTEs	???

Bitfields for 386MAX bit flags 1:
Bit(s)	Description	(Table 01468)
 1	???
 2	allow A20 to be enabled/disabled???
 3	??? (cleared by calling INT 67 functions or starting MSWindows)
 4	high RAM present???
 5	386MAX in AUTO mode
 6	386MAX enabled
 7	386MAX is providing EMS services
 8	??? (affects API function 08h)
 9	A20 gate closed (A20 disabled) (see INT 15/AX=2402h)
 10	Weitek support enabled
 11	???
 12	ROMs not shadowed???
 13	QPMS has been used
 14	???
 15	???

Bitfields for 386MAX system configuration flags:
Bit(s)	Description	(Table 01469)
 1	ROM compressed???
 3	???
 5	386MAX loaded into high memory
 6	Microchannel bus
 7	Weitek math coprocessor detected
 9	??? (also generates INT 01 on ??? and INT 03 on ???)
 11	PC/XT (thus only single 8259 interrupt controller present, DMA only
		in 1st megabyte, etc)
 13	LMLTOP= specified
 14	enable A20 control???
 15	???

Bitfields for 386MAX debugging flags 1:
Bit(s)	Description	(Table 01470)
 0	DEBUG=LED
 1	DEBUG=X67
 2	DEBUG=INV
 3	DEBUG=EMSPTED
 4	DEBUG=JMP
 5	DEBUG=CALL
 6	DEBUG=HLT
 7	DEBUG=PMR
 8	DEBUG=CR3
 9	DEBUG=CAPS or DEBUG=INT
 10	DEBUG=RC
 11	DEBUG=ROM
 12	DEBUG=XM
 13	DEBUG=SOR
 14	DEBUG=XR
 15	DEBUG=EMSERR (generate INT 01 on returning error from EMS call)

Bitfields for 386MAX debugging flags 2:
Bit(s)	Description	(Table 01471)
 0	DEBUG=ROMSWAP
 1	DEBUG=UNSHADOWROM
 2	DEBUG=COMPROM
 3	DEBUG=DPMIPHYS
 4	DEBUG=ALLROM
 5	DEBUG=VMS
 6	DEBUG=XMS (generate INT 01 on XMS calls)
 7	DEBUG=I06
 8	DEBUG=VCPI
 9	DEBUG=XDMA
 10	DEBUG=X09
 13	DEBUG=I67 (generate INT 01 on every INT 67 call)
 14	DEBUG=EVM (generate INT 01 on entering V86 mode)
 15	DEBUG=EMSSAVE or DEBUG=VDS

Bitfields for 386MAX debugging flags 3:
Bit(s)	Description	(Table 01472)
 10	DEBUG=EPM
 12	DEBUG=ABIOS
 13	DEBUG=XMSPTED
 14	DEBUG=TIME
 15	DEBUG=SCRUB

Bitfields for 386MAX feature flags 1:
Bit(s)	Description	(Table 01473)
 1	Weitek present
 2	no DPMI services
 3	NODMA
 4	TERSE
 5	NOROM
 6	NOPARITY
 8	NOFLEX (IGNOREFLEXFRAME)
 11	don't create UMBs
 12	don't backfill below video memory (NOLOW)
 13	FRAME= specified
 14	EXT= specified
 15	NOEMS, allow prior expanded memory manager to provide EMS

Bitfields for 386MAX feature flags 2:
Bit(s)	Description	(Table 01474)
 0	UNSHIFT specified (FORCEA20 disabled)
 1	NOXRAM
 2	NOSCSI specified
 3	SCREEN specified
 4	enabled EISADMA
 5	slow DMA
 6	RESETKEYB specified
 7	???
 9	TOP384
 10	???
 11	NOWARMBOOT
 12	USE= specified
 13	ROM= specified

Bitfields for 386MAX feature flags 3:
Bit(s)	Description	(Table 01475)
 0	Windows3 support enabled
 1	SHADOWROM
 2	don't compress ROM (NOCOMPROM)
 3	??? (related to PRGREG=)
 4	??? (related to PRGREG=)
 5	SHADOWRAM
 6	DOS4 specified
 7	NOLOADHIGH
 8	NOPULSE
 11	FORCEA20
 12	DMA buffer enabled
 13	NOSCRUB
 15	NOFRAME

Bitfields for 386MAX machine type:
Bit(s)	Description	(Table 01476)
 12	Amstrad
 13	Epson
 14	Zenith Data Systems
 15	"ASEM"
 16	NEC
 17	"HPRS" model codes 69h and 6Ah
 18	Dell
 19	"CA"
 20	ITT (Xtra Business Systems/Alcatel)
 21	Toshiba 5100
 22	Olivetti
 23	Quadram Quad386 (BIOS model FEh, submodel A6h)
 24	Tandy???
 25	AST 386
 26	INBOARD, ??? version
 27	INBOARD, ??? version
 28	INBOARD, ??? version
 29	"HPRS"
 30	Compaq 386
 31	JET386

Format of 386MAX control block:
Offset	Size	Description	(Table 01477)
 00h	WORD	segment of next block (FFFFh if last)
 02h	WORD	segment of previous block (FFFFh if first)
 04h 12 BYTEs	filename
 10h	WORD	resident size in paragraphs
 12h	WORD	environment size???
 14h	WORD	real prsent environment size + 1 (0000h if ENVSAVE used)
 16h  2 BYTEs	???
 18h	DWORD	initial size or SIZE=n in 386LOAD commandline
 1Ch	DWORD	SIZE=-1 ???
 20h	DWORD	SIZE= ???
 24h	BYTE	PRGREG= if specified, else FFh
 25h	BYTE	ENVREG= if specified, else FFh
 26h	BYTE	FlexFrame (00h not present, 01h present)
 27h  3 BYTEs	???
 2Ah	BYTE	GROUP= or 00h if not present
 2Bh	BYTE	???
 2Ch	WORD	PSP

Format of 386MAX high memory info record:
Offset	Size	Description	(Table 01478)
 00h	WORD	segment address of memory region
 02h	WORD	size of memory region in paragraphs
 04h	BYTE	type or flags???
		00h if locked out
		02h if EMS page frame
		04h if high RAM
		42h if ROM
 05h	BYTE	???

Format of 386MAX ROM shadowing record:
Offset	Size	Description	(Table 01479)
 00h	WORD	logical start segment of ROM??? (may be used by BlueMAX when it
		  squeezes together the ROMs to make room)
 02h	WORD	physical start segment of ROM
 04h  2 BYTEs	???
 06h	WORD	size of shadowed ROM in paragraphs
 08h  2 BYTEs	???
 0Ah	WORD	flags
		bit 15: shadowing enabled for this ROM???
		bit 14: ???
		bit 13: ???
		bit 12: ???
		bit 10: ???

(Table 01480)
Values for 386MAX memory type:
 00h	unused by EMS
 01h	DOS
 04h	page frame overlapping ROM???
 80h	high memory
 84h	page frame???
 87h	video ROM???
Note:	the type may be 00h (unused) if the 16K page is split among different
	  uses (such as ROM and high RAM)

(Table 01481)
Call 386MAX API (via OUT DX,AL) with:
	STACK: WORD value for DX
	AH = 00h unused
		Return: AH = 84h (unsupported function)
	AH = 01h get high memory information
		ES:DI -> buffer for array of high memory info records
			(see #01478)
		Return: CX = number of records placed in buffer
	AH = 02h get shadowed ROM info
		ES:DI -> buffer for array of ROM shadowing records (see #01479)
		Return: CX = number of records placed in buffer
	AH = 03h get 386MAX state
		ES:DI -> 90-byte buffer for state (see #01467)
		Return: AH = 00h (successful)
			buffer filled
	AH = 04h get memory types???
		ES:DI -> buffer for memory type info (array of bytes, one per
			16K page) (see #01480)
		Return:	CX = number of bytes placed in buffer
	AH = 05h get page table entries
		AL = A20 control (00h enable A20 first, 01h leave unchanged)
		CX = buffer size in bytes (0000h = enough for all memory from
			given start to end of memory managed by 386MAX)
		SI = first K to report (rounded down to 4K page)
		ES:DI -> buffer for returned page table entries
		Return: CX = number of bytes returned (four per 4K page)
			ES:DI buffer filled
	AH = 06h get memory speed info
		ES:DI -> buffer for memory speed records (see #01482)
		Return: AH = 00h (successful)
			CX = number of bytes placed in buffer
		Note:	this function can take over a second to execute
	AH = 07h map/unmap multiple handle pages
		DX = EMS handle (on stack)
		STACK: DWORD -> EMS mapping record
		Return:	AH = status (00h,80h,83h,8Ah,8Bh)
		Format of EMS mapping record:
		Offset	Size	Description
		 00h	WORD	function
				0000h use physical page numbers
				0001h use segment addresses
		 02h	WORD	EMS handle
		 04h	WORD	number of mapping entries following
		 06h 2N WORDs	logical page number and physical page/segment
				logical page FFFFh means unmap physical page
		SeeAlso: INT 67/AH=50h
	AH = 08h "EMM2_GOREAL" check whether possible to disable 386MAX
		AL = ??? (00h or nonzero)
		Return: AH = status (00h OK, A4h not possible at this time)
		Note:	if AL=00h, this function always returns success
	AH = 09h toggle Bit Flags 1 flags
		BX = bitmask of bit flags 1's flags to toggle (see #01468)
		Return: AH = 00h (successful)
		Note:	enables A20 first
	AH = 0Ah toggle Debugging Flags 1 flags
		BX = bitmask of Debugging Flags 1's bits to toggle (see #01470)
		Return: AH = 00h (successful)
		Notes:	enables A20 first
			does ??? if bit 3 on after specified bits are toggled
	AH = 0Bh toggle Debugging Flags 2 flags
		BX = bitmask of Debugging Flags 2's bits to toggle (see #01471)
		Return: AH = 00h (successful)
		Note:	enables A20 first
	AH = 0Ch toggle feature flags 3
		BX = bitmask of feature flags 3's bits to toggle (see #01475)
		Return: AH = 00h (successful)
		Note:	enables A20 first
	AH = 0Dh specify 386MAX high-memory location
		BX = segment address of high-memory real-mode portion of 386MAX
		CX = current segment of real-mode stub???
		Return: AH = status (00h successful)
			???
	AH = 0Eh CRT controller register virtualization
		AL = subfunction
		    00h allow access to CRTC I/O ports 03B4h/03B5h, 03D4h/03D5h
		    01h trap accesses to CRTC I/O ports
	AH = 0Fh reboot system
		Return: never
	AH = 10h unused
		Return: AH = 84h (unsupported function)
	AH = 11h get high memory information
		ES:DI -> 96-byte buffer for high memory info
		Return: AH = 00h (successful)
			ES:DI buffer filled
		Notes:	each byte in buffer contains bit flags for a 4K page in
			  the A000h-FFFFh region
				bit 0: page is writeable
				bit 1: physical address same as linear address
				bit 2: EMS page frame
				bit 6: page is part of the QPMS window
			this function can take over a second to execute,
			  because it does a 128K read for each page in an
			  attempt to flush any RAM cache the system may have
	AH = 12h shadow RAM mapping
		AL = subfunction
		    00h unshadow ROMs (except page FFh if NOWARMBOOT set)
		    01h map shadow RAM into ROM regions???
		Return: AH = 00h (successful) if AL=00h or 01h
			AH = 8Fh otherwise
	AH = 13h shadow RAM page protection
		AL = subfunction
		    00h set all shadowed ROM 4K pages to read-only
		    01h set all shadowed ROM 4K pages to read-write
		Return: AH = 00h (successful) if AL=00h or 01h
			AH = 8Fh otherwise
	AH = 14h get Programmable Option Select info???
		ES:DI -> 54-byte buffer for POS data???
		Return: AH = 00h if successful
			AH = A4h on error
		Note:	the buffer consists of nine 6-byte fields; the first
			  eight for slots 1-8, the last for the system board
	AH = 15h ???
		???
		Return: ???
	AH = 16h get 386MAX memory usage screen
		ES:DI -> buffer for memory info display
		CX = size of buffer in bytes
		Return:	ES:DI buffer filled with '$'-terminated string (if
				large enough to hold entire usage screen)
		Note:	the screen is 0303h bytes in v7.00
	AH = 17h Windows 3 startup/termination
		AL = subfunction
		    00h Windows3 initializing
			DX (on stack) = Windows startup flags
			DI = Windows version number (major in upper byte)
			ES:BX = 0000h:0000h
			DS:SI = 0000h:0000h
			Return: CX = 0000h if OK for Windows to load
				   <> 0 if Windows should not load
				ES:BX -> startup info structure
				DS:SI -> Virtual86 mode enable/disable callback
		    01h Windows3 terminating
			ES:BX -> ???
			DX (on stack) = Windows exit flags
			Return: ???
	AH = 18h QPMS (Qualitas Protected Memory Services)
		AL = subfunction
		    00h get QPMS configuration
			Return: BX = starting segment of QPMS memory window
				CX = number of 4K pages reserved for QPMS???
				DX = number of 4K pages in QPMS window???
		    01h map QPMS memory page???
			BX = 4K page number within memory reserved for QPMS???
			CL = 4K page number within QPMS memory window???
		    02h mark all QPMS memory read-only
		    03h mark all QPMS memory read-write
		Return: AH = status (00h,8Ah,8Bh,8Fh)
	AH = 19h get linear address for physical address
		EDX = physical address (low word on stack)
		Return: AH = status
			    00h successful
				EDX = linear address at which physical address
					may be accessed
			    8Bh physical address currently not addressable
		Note:	enables A20 first
	AH = 1Ah set page table entry
		EDX = new page table entry (low word on stack)
		ESI = linear address of page to map (bits 0-11 clear)
		Return: AH = status (00h,8Bh)
		Note:	enables A20 first
	AH = 1Bh get ???
		Return: AH = status
			BX = ???
			CX = number of ???
			EDX = physical address of ???
	AH = 1Ch get original interrupt vector
		AL = interrupt vector (00h-7Fh)
		Return: AH = 00h (successful)
			EDX = original vector before 386MAX loaded (segment in
				high word, offset in low word)
		Note:	no range checking is performed; requests for INTs 80h-
			  FFh will return random values
	AH = 1Dh display string???
		SI = ???
		Return: AH = 00h (successful)
			???
		Note:	this function appears to be broken in v7.00
	AH = 1Eh get memory info
		ES:DI -> memory info (see #01483)
		Return: ???
	AH = 1Fh get DPMI host information
		Return: AX = 0000h if successful
			BX = DPMI flags (see #03152 at INT 31/AX=0400h)
			CL = CPU type (02h = 80286, 03h = 80386, etc.)
			DX = DPMI ver supported (DH=major, DL=2-digit minor)
			SI = ???
			ES???:DI -> ???
		Note:	NOP if NODPMI switch specified
	AH = 20h (v7.00) get ???
	    AL = index of ???
	    Return: EDX = ??? for specified ???
	AH = 21h (v7.00) STACKS support
	    AL = 00h get STACKS parameters
		Return: BX = ??? (0060h for v7.00)
			CX = number of stacks for hardware interrupts
			DX = size of each stack in bytes
			SI = ??? (low and high bytes are separate values)
			DI = ??? (low and high bytes are separate values)
			    low byte = logical page number set by subfn 02h
			ES = ???
	    AL = 01h set ??? "EMM2_DSTKS"
		EBX = ???
		ECX = ???
	    AL = 02h set ???
		BL = logical page number for ??? (00h-03h)
		Return: AH = status (00h,8Ah)
	AH = 22h (v7.00) call ??? for every load module
	    AL = which function to call
		00h call ???
		else call ????
	    Return: AH = 00h
	    Note: if AL=00h, calls the protected-mode function pointed at by
		the DWORD at offset 22h from the start of each module installed
		by a LOAD= directive; if AL<>00h, it calls the function
		pointed at by the DWORD at offset 28h of the load module
	AH = 23h (v7.00) ???
	    AL = 00h set ???
		BL = ???
		Return:	AH = 00h or unchanged (depending on ???)
	    AL = 01h set ???
		BL = ???
		BH = ???
		CX = ???
		DX = ??? (on top of stack)
		Return: AH = status (00h if successful, 8Fh once table full)
		Note:	this call adds one entry to an internal table on each
			  call, until the table is full
	    AL = 02h get ???
		CX = size of buffer
		ES:DI -> buffer for ??? (60 bytes total data)
		Return: CX = number of bytes actually returned
		Note:	returns the array storing the values set with AX=2301h
		Format of one entry in array:
		Offset	Size	Description
		 00h	BYTE	??? (BL from subfn 01h)
		 01h	WORD	??? (CX from subfn 01h)
		 03h	BYTE	??? (BH from subfn 01h)
		 04h	WORD	??? (DX from subfn 01h)
	    AL = 03h set ??? name/path
		ES:DI -> buffer containing ASCIZ ???
	    AL = 04h get ???
		ES:DI -> buffer for ASCIZ ???
	    Note: the ASCIZ string for subfunctions 03h and 04h does not appear
		to be used by 386MAX, and may serve merely for communication
		between two other Qualitas programs
	AH = 24h (v7.00) high memory control
	    AL = 00h get high memory state
		Return: BX = current state
			    00h high memory removed from DOS memory chain
			    01h high memory included in DOS memory chain
	    AL = 01h set high memory state
		BX = new state
		    00h high memory removed from DOS memory chain
		    01h high memory included in DOS memory chain
		    else
			Return: ??? (error, but return varies according to ???)
	AH = 25h (v7.00) remove high RAM from DOS memory chain
	AH = 26h (v7.00) ???
	    BX = ???
	    CX = ???
	    SI = ???
	    DI = ???
	    Return: AH = status
		    BX = ???
		    CX = ???
	AH = 27h (v7.00) ???
	    AL = 00h get ???
		Return: BX = number of paragraphs for ???
	    AL = 01h ???
		BX = ???
		ES??? = ???
	    AL = 02h ???
		???
	    AL = 03h ???
		CX = ???
		DX = ???
		ES??? = ???
		Return: ???
	AH = 28h (v7.00) get ???
		Return: AH = status (00h,8Fh) (see #03648 at INT 67/AH=40h)
			if AH=00h,
			    CX = ???
			    DX = ???
	AH = 29h (v7.00) get ???
		Return: AX = ???
	AH = 40h-5Dh EMS services (see INT 67/AH=40h, etc.)
	AH = DEh VCPI services (see INT 67/AX=DE00h, etc.)
Return: AH = status (as for EMS INT 67 calls)
	    00h successful
	    80h internal error
	    81h hardware malfunction
	    83h invalid handle
	    84h	undefined function
	    8Ah invalid logical page nuber
	    8Bh illegal physical page number
	    8Fh undefined subfunction
	    A4h access denied
	    etc.
	STACK popped (value placed in DX if no specific return value for DX)

Format of 386MAX memory speed record:
Offset	Size	Description	(Table 01482)
 00h	DWORD	page table entry for 4K page
 04h	WORD	number of microticks (840ns units) required for REP LODSD of
		  entire 4K page

Format of 386MAX memory info [array]:
Offset	Size	Description	(Table 01483)
 00h	DWORD	linear start address
 04h	DWORD	size in bytes
 08h	WORD	XMS handle (if next byte = 04h)
		??? (if next byte = 05h)
		??? (if next byte = 06h)
		??? (if next byte = 13h)
		??? (if next byte = 14h)
		??? (if next byte = 15h)
		??? (if next byte = 23h)
		??? (if next byte = 24h)
		??? (if next byte = 26h)
		else unused
 0Ah	BYTE	type
		00h = ???, 01h = VDISK,
		02h = INT 15h extended memory, 03h = ??? extended,
		04h = XMS handle's memory, 05h = ???, 06h = ???, 07h = ???,
		08h = ???, 09h = ???, 0Ah = ???, 0Bh = ???,
		11h = ???, 12h = ???, 14h = ???, 15h = ???,
		19h = ???, 1Ah = ???, 1Bh = ???,
		1Ch = ???, 1Dh = ???, 1Eh = ???, 1Fh = ???,
		20h = ???, 21h = ???, 23h = ???, 24h = ???,
		26h = ???
 0Bh	BYTE	??? (00h for types 00h-03h, 07h-0Bh, 19h-21h;
		     80h for types 04h/13h-15h/23h-26h;
			??? for type 05h)

Top
214402 - INT 21 - PGS1600.DEV - IOCTL - GET CONFIGURATION INFO
INT 21 - PGS1600.DEV - IOCTL - GET CONFIGURATION INFO
	AX = 4402h
	BX = file handle for device "PGS1600$"
	CX = 0018h (size of buffer)
	DS:DX -> configuration buffer (see #01484)
Return: CF clear if successful
	    buffer filled
	    AX = number of bytes actually copied
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: PGS1600.DEV is a device driver for the Cornerstone Technology PG1600
	  display adapter, which provides a 1600x1200 monochrome display as
	  well as one of two emulations, MDA or CGA.
SeeAlso: AX=4403h"PGS1600"

Format of PGS1600.DEV configuration information:
Offset	Size	Description	(Table 01484)
 00h	WORD	version (high byte = major, low byte = minor)
 02h	WORD	board initialisation mode
 04h	WORD	board I/O address
		03D0h CGA emulation
		03B0h MDA emulation
		0390h no emulation
		0350h no emulation, alternate
 06h	WORD	emulation buffer segment
		B800h	CGA emulation
		B000h	MDA emulation
		0000h	no emulation
 08h	WORD	PG1600 graphics buffer segment
 0Ah	WORD	number of bytes between consecutive graphic rows
 0Ch	WORD	horizontal pixel size
 0Eh	WORD	vertical pixel size
 10h	WORD	horizontal dots per inch
 12h	WORD	vertical dots per inch
 14h	WORD	graphics buffer bits per pixel
 16h	WORD	monitor bits per pixel

Top
214402 - INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
	AX = 4402h
	BX = file handle referencing device "$IPCUST"
	CX, DS:DX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	there are a total of 378h bytes of configuration data for IPCUST.SYS
	  version 2.05.	 If less than the entire data is read or written,
	  the next read/write continues where the previous one ended; this
	  call and AX=4403h both reset the location at which the next
	  operation starts to zero
	v2.1+ uses a new configuration method, but allows the installation
	  of IPCUST.SYS for backward compatibility with other software which
	  must read the PC/TCP configuration
SeeAlso: AH=3Fh"IPCUST",AH=40h"IPCUST",AX=4403h"IPCUST"

Top
214402 - INT 21 - WORKGRP.SYS - GET API ENTRY POINT
INT 21 - WORKGRP.SYS - GET API ENTRY POINT
	AX = 4402h
	BX = file handle for device "NET$HLP$"
	CX = 0008h
	DS:DX -> buffer for entry point record (see #01485)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code
Program: WORKGRP.SYS is the portion of Microsoft's Workgroup Connection which
	  permits communication with PCs running Windows for Workgroups or
	  LAN Manager
SeeAlso: AH=3Fh"WORKGRP.SYS"

Format of WORKGRP.SYS entry point record:
Offset	Size	Description	(Table 01485)
 00h	WORD	3633h  \ signature???
 02h	WORD	EF6Fh  /
 04h	DWORD	address of entry point (see #01486)
Note:	first four bytes of buffer must be 6Fh E9h 33h 36h on entry when using
	  IOCTL rather than READ to get the entry point record

(Table 01486)
Call WORKGRP entry point with:
	STACK:	WORD	function number (0000h-0009h)
Return: STACK unchanged
SeeAlso: #01487,#01488,#01489,#01490,#01491,#01492,#01493,#01494

(Table 01487)
Call WORKGRP function 00h with:
	STACK:	WORD	0000h (function "get ???")
Return: DX:AX -> data table

(Table 01488)
Call WORKGRP function 01h with:
	STACK:	WORD	0001h (function "hook ???")
Return: STACK:	DWORD	pointer to ???
		WORD	0001h (function number)

(Table 01489)
Call WORKGRP function 02h with:
	STACK:	WORD	0002h (function "unhook ???")
	???
Return: ???

(Table 01490)
Call WORKGRP function 03h with:
	STACK:	WORD	0003h (function "reenable printer port")
		WORD	LPT port number
Return: ???

(Table 01491)
Call WORKGRP function 04h with:
	STACK:	WORD	0004h (function "disable printer port")
		WORD	LPT port number
Return: ???

(Table 01492)
Call WORKGRP function 05h with:
	STACK:	WORD	0005h (function "???")
		???
Return: ???

(Table 01493)
Call WORKGRP function 06h with:
	STACK:	WORD	0006h (function "???")
Return: STACK unchanged
	AX = 0000h
	DX = 0000h

(Table 01494)
Call WORKGRP functions 07h-09h with:
	STACK:	WORD	0007h-0009h (NOP functions)
Return: STACK unchanged
	AX = 0001h
	DX = 0000h

Top
214402 - INT 21 - 10NET v5.0 - 10BEUI.DOS - API
INT 21 - 10NET v5.0 - 10BEUI.DOS - API
	AX = 4402h
	BX = file handle referencing device "10BEUI$"
	DS:DX -> parameter record (see #01495)
	CX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h"10MEMMGR",INT 6F/AH=00h"10NET"

Format of 10NET 10BEUI.DOS parameter record:
Offset	Size	Description	(Table 01495)
 00h	WORD	000Ah (function number???)
 02h	WORD	???
 04h	DWORD	pointer to buffer for ???
 08h  4 BYTEs	???
 0Ch	WORD	transfer size

Top
214402 - INT 21 - 10NET v5.0 - 10MEMMGR.SYS - API
INT 21 - 10NET v5.0 - 10MEMMGR.SYS - API
	AX = 4402h
	BX = file handle referencing device "MEMMGR0$"
	DS:DX -> 6-byte buffer for interface info (see #01496)
	CX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h"10BEUI",INT 6F/AH=00h"10NET"

Format of 10NET 10MEMMGR.SYS interface info:
Offset	Size	Description	(Table 01496)
 00h	DWORD	address of entry point (see #01497)
 04h	WORD	version (0500h for v5.00)

(Table 01497)
Call 10NET 10MEMMGR.SYS entry point with:
	AL = 01h ???
	    BX = ???
	    Return: CF clear if successful
		    CF set on error
			AX = error code
	AL = 02h ???
	    ???
	AL = 03h ???
	    ???
	AL = 04h set/restore memory allocation strategy
	    BX = subfunction
		0000h set strategy
		0001h restore strategy
	    Return: CF clear if successful
		    CF set on error (if function disabled)
		    various registers destroyed
	AL = other
	    Return: CF set
		    AX = 0000h
		    BL = 01h

Top
214402 - INT 21 - Compaq AG1024.SYS - RGDI - GET DRIVER LOCATION
INT 21 - Compaq AG1024.SYS - RGDI - GET DRIVER LOCATION
	AX = 4402h
	BX = file handle for device "$$$$RGDI"
	CX = 0006h (size of returned data)
	DS:DX -> location record (see #01498)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: AG1024.SYS is a device driver for the Advanced Graphics 1024 adapter
SeeAlso: AX=4403h"RGDI"

Format of Compaq AG1024.SYS location record:
Offset	Size	Description	(Table 01498)
 00h	WORD	signature 55AAh
 02h	WORD	segment of ???
 04h	WORD	segment of device driver's code

Top
214402 - INT 21 - FTPSOFT.DOS v3.1 - GET ???
INT 21 - FTPSOFT.DOS v3.1 - GET ???
	AX = 4402h
	BX = file handle for device "FTPSOFT$"
	CX = size of buffer
	DS:DX -> buffer for data (see #01499)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: FTPSOFT.DOS is a device driver for Protocol Manager support from
	   FTP Software, Inc.
SeeAlso: AH=3Fh"PC/TCP",AX=4402h"NDIS"

Format of FTPSOFT.DOS data:
Offset	Size	Description	(Table 01499)
 00h	WORD	(call) BA98h (if different, no data returned)
 02h	DWORD	-> NDIS common characteristics table
		  (see #01435 at AX=4402h"NDIS")
 06h	DWORD	(call) -> new dispatch table (see #01437 at AX=4402h"NDIS")
 0Ah	DWORD	-> 28-byte buffer for ??? data
 0Eh	DWORD	???
 12h	DWORD	-> FAR function to reset dispatch jump table to defaults
 16h	BYTE	???
Note:	the addresses in the new dispatch table are copied into an internal
	  jump table which may be reset by calling the function pointed at by
	  offset 12h

Top
214402 - INT 21 U - PenDOS PENDEV.SYS - GET ENTRY POINTS
INT 21 U - PenDOS PENDEV.SYS - GET ENTRY POINTS
	AX = 4402h
	BX = file handle for device "$$PENDOS" or "$$PD_REG"
	CX = size of buffer (4 for $$PENDOS and a 4,8,12, or 16 for $$PD_REG)
	DS:DX -> buffer for entry point record (see #01500)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: A limited version of PenDOS by Communication Intelligence Corporation,
	  which provides pen capability to keyboard-based programs, is bundled
	  with IBM DOS 6.1
SeeAlso: AX=4403h"PENDEV.SYS"

Format of PENDEV.SYS entry point record:
Offset	Size	Description	(Table 01500)
 00h	DWORD	-> array of jumps
 04h	WORD	offset of function to retrieve entry point (see #01501)
 06h  2 BYTEs	signature "Pe"
 08h	WORD	offset of function to set entry point (see #01502)
 0Ah  2 BYTEs	signature "nD"
 0Ch	WORD	offset of function to clear entry point (see #01503)
 0Eh	WORD	signature "OS"

(Table 01501)
Call PENDEV.SYS function to retrieve entry point with:
	AX = index of entry point (0-9)
Return: CF clear if successful
	    DX:AX -> desired entry point
	CF set on error (AX out of range)

(Table 01502)
Call PENDEV.SYS function to set entry point with:
	AX = index of entry point (0-9)
	DX:SI -> new handler
Return: CF clear if successful
	CF set on error (AX out of range)

(Table 01503)
Call PENDEV.SYS function to clear entry point with:
	AX = index of entry point (0-9)
Return: CF clear if successful
	CF set on error (AX out of range)
Note:	resets the jump at the specified entry point to its default target,
	  which simply returns

Top
214402 - INT 21 U - LAN Manager - TCPDRV.DOS - API
INT 21 U - LAN Manager - TCPDRV.DOS - API
	AX = 4402h
	BX = file handle referencing device "TCPDRV$"
	CX = 0019h
	DS:DX -> buffer containing request block (see #01504)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: TCPDRV.DOS is the low-level device driver supporting LAN Manager's
	  TCP/IP protocol stack

Format of TCPDRV.DOS request block:
Offset	Size	Description	(Table 01504)
 00h	BYTE	(call) function number
		00h initialize ???
		06h get ???
		07h get ???
 01h	BYTE	(call) 00h
		(ret) error code if error, unchanged if successful
 02h	WORD	signature 4354h ('CT')
---function 00h---
 04h	DWORD	(call) pointer to ??? FAR function
		function is called with ES:BX -> device driver request used to
		  invoke this function
 08h  4 BYTEs	???
 0Ch	DWORD	(call) pointer to ??? record, WORD at offset 22h is read
 10h	DWORD	(ret) -> ??? buffer if 0000h:0000h on call
---function 06h---
 04h  4 BYTEs	???
 08h	DWORD	(ret) pointer to ???
---function 07h---
 04h	DWORD	(ret) pointer to ??? record

Top
214402 - INT 21 U - PC Tools 9 CPRLOW.EXE - GET CODE AND DATA ADDRESSES
INT 21 U - PC Tools 9 CPRLOW.EXE - GET CODE AND DATA ADDRESSES
	AX = 4402h
	BX = file handle referencing device "RECLOWLD"
	DS:DX -> buffer for address list (see #01505)
	CX ignored
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)

Format of CPRLOW address list:
Offset	Size	Description	(Table 01505)
 00h	WORD	segment of CPRLOW code
 02h	WORD	offset in code segment of ??? entry point
		(switches into protected mode)
 04h	WORD	offset in code segment of jump array (see #01506)
 06h	WORD	segment of copy of interrupt vector table at CPRLOW load time
Note:	neither the entry point nor the jump array is valid until after a
	  CPR /LOAD, because CPR.EXE installs the code into CPRLOW at runtime.

Format of CPRLOW jump array:
Offset	Size	Description	(Table 01506)
 00h  3 BYTEs	initialize CPRLOW interrupt hooks
 03h  3 BYTEs	reset timers and enable CPR (hotkey enable)
 06h  3 BYTEs	disable CPR (hotkey disable)
 09h  3 BYTEs	clear ??? flag, hotkey disable, and ???
 0Ch  3 BYTEs	initialize delay loop counter (destroys AX,BX,CX,DX)
 0Fh  3 BYTEs	disable CPR completely (commandline /DISABLE)
 12h  3 BYTEs	enable ??? if CPR enabled by both cmdline and hotkey
 15h  3 BYTEs	enable CPR (commandline /ENABLE)

Top
214402 - INT 21 U - Creative Technology CTMMSYS.SYS v1.00.01 - API
INT 21 U - Creative Technology CTMMSYS.SYS v1.00.01 - API
	AX = 4402h
	BX = file handle for device "CTMMSYS$"
	CX = 0004h (size of data)
	DS:DX -> buffer for entry point (see #01507)
Return: CF clear if successful
	    buffer updated
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: CTMMSYS.SYS is the Creative DOS Multimedia Architecture Integration
	  driver
SeeAlso: AX=4402h"CTSB2",INT 80/BX=0000h"SBFM"

Format of CTMMSYS.SYS entry point record:
Offset	Size	Description	(Table 01507)
 00h	DWORD	(call) signature 4D6D7443h (ASCII "CtmM")
		(ret) pointer to CTMMSYS entry point (see #01508)
SeeAlso: #01509

(Table 01508)
Call CTMMSYS.SYS entry point with:
	AX = ???
	STACK:	WORD	???
		WORD	???
		WORD	??? (0001h,0002h,0005h,0006h)
		WORD	???
		DWORD	-> ???
		WORD	???
		WORD	???
Return: DX:AX = ??? or error code
		0000h:000Bh invalid value for ???
		0000h:000Fh API call already in progress
SeeAlso: #01507

Top
214402 - INT 21 U - Creative Technology CTSB2.SYS v1.01.01 - API
INT 21 U - Creative Technology CTSB2.SYS v1.01.01 - API
	AX = 4402h
	BX = file handle for device "CTSOUND0"
	CX = 0004h (size of data)
	DS:DX -> buffer for entry point (see #01509)
Return: CF clear if successful
	    buffer updated
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: CTMMSYS.SYS is the Creative DOS Multimedia Architecture Integration
	  driver
SeeAlso: AX=4402h"CTMMSYS",INT 80/BX=0000h"SBFM"

Format of CTSB2.SYS entry point record:
Offset	Size	Description	(Table 01509)
 00h	DWORD	(call) signature 4D6D7443h (ASCII "CtmM")
		(ret) pointer to CTSB2 entry point (see #01510)
SeeAlso: #01507

(Table 01510)
Call CTSB2.SYS entry point with:
	AX = ???
	STACK:	DWORD	-> ???
		WORD	function number
			(0100h,0200h,0300h,0400h,0500h,0600h,0701h)
		DWORD	-> ???
		WORD	???
		WORD	???
Return: DX:AX = ??? or error code
		0000h:0004h invalid subfunction???
		0000h:000Bh invalid value for ???
		0000h:000Fh API call already in progress
SeeAlso: #01509

Top
214402 - INT 21 U - Novell DOS 7+ EMM386.EXE - GET STATE RECORD
INT 21 U - Novell DOS 7+ EMM386.EXE - GET STATE RECORD
	AX = 4402h
	BX = file handle for device "EMMXXXX0" or "EMMQXXX0"
	CX = 003Eh (size of state record)
	DS:DX -> buffer for state record (see #01511)
Return: CF clear if successful
	    buffer filled (see #03603 at INT 67/AH=3Fh)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	This function is called by the Novell DOS 7+ MEM utility.

Format of Novell DOS 7 - DR-DOS 7.03 EMM386.EXE state record:
Offset	Size	Description	(Table 01511)
 00h	WORD	signature EDC0h
 02h 12 BYTEs	(ret) bitmap for include range
 0Eh 12 BYTEs	(ret) bitmap for auto range
 1Ah 12 BYTEs	(ret) bitmap for BIOS range
 26h 12 BYTEs	(ret) bitmap for ROM range
 32h 12 BYTEs	(ret) bitmap for map range
Note:	each bitmap covers the upper-memory address range A000h-FFFFh, where
	  offset X bit B within the bitmap indicates the state of the 4K page
	  starting at segment A000h + (8X + B) * 100h

Top
214402SF00 - INT 21 U - Memory Managers - GET API ENTRY POINT
INT 21 U - Memory Managers - GET API ENTRY POINT
	AX = 4402h subfn 00h
	BX = file handle for device "EMMXXXX0"
	CX = 0006h (size of buffer in bytes)
	DS:DX -> buffer for API entry point record (see #01512)
		first byte must be 00h on entry
Return: CF clear if successful
	    buffer filled (see #03603 at INT 67/AH=3Fh)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	this function is supported by Microsoft EMM386.EXE v4.45+ and
	  CEMM v5.10+, and is intended for use by MS Windows as it starts up
	if no other program has hooked INT 67, an alternate installation
	  check for CEMM is testing for the string
	  "COMPAQ EXPANDED MEMORY MANAGER 386" at offset 14h in the INT 67
	  handler's segment; if present, the word at offset 12h contains the
	  offset of the API entry point
SeeAlso: AX=4402h/SF=01h,AX=4402h/SF=02h,AX=4402h"EMM386",INT 67/AH=3Fh

Format of memory manager API entry point record:
Offset	Size	Description	(Table 01512)
 00h	WORD	??? (0022h for CEMM 5.11, 0025h for MS EMM386 v4.45)
 02h	DWORD	manager's private API entry point
		(see #01513,#03666 at INT 67/AX=FFA5h)

(Table 01513)
Call CEMM v5.10+ entry point with:
	AH = 00h get memory manager's state
	    Return: AH = state
			bit 0: turned OFF
			bit 1: AUTO mode enabled
	AH = 01h set memory manager's state
	    AL = new state (00h ON, 01h OFF, 02h AUTO)
	    Return: CF clear if successful
		    CF set on error
	AH = 02h Weitek coprocessor support
	    AL = subfunction
		00h get Weitek support state
		    Return: AL = status
				bit 0: Weitek coprocessor is present
				bit 1: Weitek support is enabled
		01h turn on Weitek support
		02h turn off Weitek support
	    Return: CF clear if successful
		    CF set on error
			AH = error code (01h invalid subfunc, 02h no Weitek)
	AH = 05h get statistics
	    ???
	AH > 06h
	    Return: CF set
		    AH = 01h (invalid function)
Notes:	AH=03h,04h,06h are NOPs which return CF clear, presumably for backwards
	  compatibility with earlier versions of CEMM
	in v5.11, AH=05h merely prints an error message (using INT 21/AH=09h)
	  stating that a different version of CEMM is installed and it is
	  therefore not possible to display the statistics

Top
214402SF01 - INT 21 U - Memory Managers - GET EMM IMPORT STRUCTURE ADDRESS
INT 21 U - Memory Managers - GET EMM IMPORT STRUCTURE ADDRESS
	AX = 4402h subfn 01h
	BX = file handle for device "EMMXXXX0"
	CX = 0006h (size of buffer in bytes)
	DS:DX -> buffer for EMM import structure record (see #01514)
		first byte must be 01h on entry
Return: CF clear if successful
	    buffer filled (see also #03603 at INT 67/AH=3Fh)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	this function is supported by Microsoft EMM386.EXE v4.45+,
	  QEMM-386 v6+, and CEMM v5.10+, and is intended for use by MS Windows
	  as it starts up
	for QEMM-386, this call always returns an error if Windows3 support
	  has been disabled with the NW3 switch
SeeAlso: AX=4402h/SF=00h,AX=4402h"EMM386",INT 2F/AX=D201h/BX=5145h
SeeAlso: INT 67/AH=3Fh

Format of EMM import structure record:
Offset	Size	Description	(Table 01514)
 00h	DWORD	physical address of EMM import structure (see #01515)
 04h	BYTE	EMM import structure major version
 05h	BYTE	EMM import structure minor version
Note:	vession 1.00 contains only EMS information (Windows 3.0+)
	version 1.10 contains UMB/XMS/HMA/EMS information (Windows 3.1)
	version 1.11 is version 1.10 plus memory manager maker/product name
SeeAlso: #03643

Format of Global EMM Import record:
Offset	Size	Description	(Table 01515)
 00h	BYTE	bit flags
		bit 2: ???
		bit 3: free EMM386 virtual HMA only if hma_page_table_paddr!=0
		bit 4: no UMB???
 01h	BYTE	reserved (0)
 02h	WORD	size of structure in bytes
 04h	WORD	structure version
 06h	DWORD	reserved
 0Ah 384 BYTEs	64 EMS frame status records (see #01516), one per 16K of
		  real-mode 1M address space
18Ah	BYTE	??? (must be at least 3*number_of_EMS_frames+4)
18Bh	BYTE	number of UMB frame descriptors following
18Ch 4N DWORDs	UMB frame descriptors
		each is 4 DWORDs giving physical page numbers for the four
		  4K pages of a 16K EMS frame (00000000h if non-UMB page)
var	BYTE	number of EMS handle info records following
    16N BYTEs	EMS handle info records (see #01518)
---version 1.10+ ---
	DWORD	realmode INT 67 vector (used by Windows to set breakpoints)
	DWORD	physical address of HMA page table values
	BYTE	number of free page entries following
     2N DWORDs	free page entries
		each is:
		    DWORD	physical page number
		    DWORD	number of consecutive physical pages
	BYTE	number of XMS handle info records following
		00h if memory manager does not emulate XMS or has real mode
		  XMS code which can execute in the Windows environment
    12N BYTEs	XMS handle info records (see #01519)
	BYTE	number of free UMB info records following
     2N WORDs	free UMB info records
		each is:
		    WORD	real mode start segment
		    WORD	size in paragraphs
---version 1.11---
     20 BYTEs	blank-padded maker name
     20 BYTEs	blank-padded product name

Format of EMS frame status record:
Offset	Size	Description	(Table 01516)
 00h	BYTE	frame type (see #01517)
 01h	BYTE	owner handle (00h/FFh = none) from frame including UMB
		index to UMB frame descriptors
 02h	WORD	logical page for frame, 7FFFh if none, FFFFh if non-EMS frame
 04h	BYTE	EMS physical page number (FFh for non-EMS = don't care???)
 05h	BYTE	flags for non-EMS frames (00h for EMS frame)
		bits 0,1 for first 4K, bits 2,3 for second 4K, etc:
		  10: direct mapping (linear address = physical address)
		  01: UMB mapping

Bitfields for EMS frame type:
Bit(s)	Description	(Table 01517)
 0	EMS frame
 1	(if EMS frame) in standard 64K page frame
 2	first 4K of frame is UMB
 3	second 4K of frame is UMB
 4	third 4K of frame is UMB
 5	last 4K of frame is UMB

Format of EMS handle info record:
Offset	Size	Description	(Table 01518)
 00h	BYTE	handle number (00h = system handle)
 01h	BYTE	flags
		bit 0: normal handle rather than system handle
		bit 2: ??? (set by some EMS managers)
 02h  8 BYTEs	EMS handle's name
 0Ah	WORD	number of 16K pages for handle
 0Ch	DWORD	physical address of page table entries forming page map
Note:	all values should be zero for the system handle if no large frame
	  support is present

Format of XMS handle info record:
Offset	Size	Description	(Table 01519)
 00h	WORD	handle
 02h	WORD	flags
		bit 0: handle usable by Windows
			(already in use when Windows started if clear)
		bit 1: reserved (0)
 04h	DWORD	size in KB (may be zero, used only if flags bit 0 set)
 08h	DWORD	physical address (only if flags bit 0 set)

Top
214402SF02 - INT 21 U - Memory Managers - GET MEMORY MANAGER VERSION
INT 21 U - Memory Managers - GET MEMORY MANAGER VERSION
	AX = 4402h subfn 02h
	BX = file handle for device "EMMXXXX0"
	CX = 0002h (size of buffer in bytes)
	DS:DX -> buffer for memory manager version (see #01520)
		first byte must be 02h on entry
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	this function is supported by Microsoft EMM386.EXE v4.45+ and
	  CEMM v5.10+, and is intended for use by MS Windows as it starts up
SeeAlso: AX=4402h/SF=00h,AX=4402h"EMM386",INT 67/AH=3Fh

Format of memory manager version:
Offset	Size	Description	(Table 01520)
 00h	BYTE	major version
 01h	BYTE	minor version (binary)

Top
214402 - INT 21 U - Microsoft EMM386.EXE v4.45 - GET MEMORY MANAGER INFORMATION
INT 21 U - Microsoft EMM386.EXE v4.45 - GET MEMORY MANAGER INFORMATION
	AX = 4402h
	BX = file handle for device "EMMXXXX0"
	CX = size of buffer in bytes (varies, see #01521)
	DS:DX -> buffer for returned data (see #01521)
		first byte must be set on entry to indicate desired data
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	an error is returned if the number of bytes to be read does not match
	  the number of bytes returned for the specified data item
	this function is part of the interface which allows MS Windows to
	  cooperate with memory managers
SeeAlso: AX=4402h/SF=00h,AX=4402h/SF=01h,AX=4402h/SF=02h,INT 67/AX=FFA5h

Format of EMM386.EXE data buffer:
Offset	Size	Description	(Table 01521)
 00h	BYTE	(call) function
		03h get ???
		04h get ???
---function 03h---
 00h	WORD	???
 02h	WORD	???
---function 04h---
 00h	WORD	segment of UMB containing EMM386 code/data
 02h	WORD	number of paragraphs of EMM386 code/data in UMB
 04h	WORD	???

Top
214402 - INT 21 U - IFSHLP.SYS - GET ENTRY POINT
INT 21 U - IFSHLP.SYS - GET ENTRY POINT
	AX = 4402h
	BX = file handle for device "IFS$HLP$"
	CX = 0008h (size of buffer in bytes)
	DS:DX -> buffer for entry point record (see #01415 at AH=3Fh"IFSHLP")
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AH=3Fh"IFSHLP"

Top
214402 - INT 21 - ATA Software Programming Interface (ATASPI) - INTERFACE
INT 21 - ATA Software Programming Interface (ATASPI) - INTERFACE
	AX = 4402h
	BX = file handle for device "$ATAMGR$"
	CX = 0004h (size of buffer in bytes)
	DS:DX -> buffer for result (see #90000), set to zeros before call
Return: CF clear if successful
	    AX = 0004h
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	ATASPI is an API to control IDE, EIDE, and ATAPI devices, proposed by
	  Future Domain; there's at least one driver in existence which
	  conforms to this specification: ATASPI16.SYS by Future Domain
	(see #90002) on the stack and the caller must clean up the stack
	Future Domain ATASPI16.SYS v2.2 performs ATASPI calls using INT 4Fh
	  interface instead of this INT 21/4402h interface and itself supports
	  both interfaces
SeeAlso: AX=4402h"ASPI",INT 4F/AX=0081h,INT 4F/AX=0082h,PORT 01F0h-01F7h"HDC1"

Format of ATASPI IOCTL result:
Offset	Size	Description	(Table 90000)
 00h	DWORD	ATASPI entry point address

(Table 90001)
Call ATASPI entry point with:
	STACK:	DWORD -> ATA Request Block (ARB) (see #90003)
Notes:	caller must clean up the stack
	the large-model C declaration is
	  void (*entry)(ARB_Struct *);
SeeAlso: #90000

(Table 90002)
Values for ATASPI command code:
 00h	ATA controller inquiry
 01h	get ATA device type
 02h	execute ATA I/O
 03h	abort ATA request
 04h	reset ATA device
 05h	set ATA controller parameter
 06h	get ATA disk drive information
SeeAlso: #90003

Format of ATA Request Block (ARB):
Offset	Size	Description	(Table 90003)
 00h	BYTE	command code (see #90002)
 01h	BYTE	(ret) status (see #90004)
 02h	BYTE	ATA controller number
 03h	BYTE	request flags (see #90005)
 04h	DWORD	reserved (0)
---request 00h---
 08h	BYTE	(ret) total number of ATA controllers
		valid only if ATA controller number = 0FFh
 09h	BYTE	reserved (0)
 0Ah 16 BYTEs	(ret) ATA manager ID
 1Ah 16 BYTEs	(ret) ATA controller ID
 2Ah 16 BYTEs	(ret) controller unique parameters (see #90010)
---request 01h---
 08h	BYTE	device ID (00h = master, 01h = slave)
 09h	BYTE	reserved (0)
 0Ah	BYTE	(ret) peripheral device type (see #90007)
---request 02h---
 08h	BYTE	device ID
 09h	BYTE	reserved (0)
 0Ah	DWORD	data  transfer length
		(ret) residual byte length
 0Eh	BYTE	sense allocation length (N)
 0Fh	DWORD	data  buffer pointer
 13h	DWORD	reserved (0)
 17h	BYTE	ACB length (M)
		for Task File requests must be set to 07h, for ATAPI Packet
		  requests must match the number of bytes in the packet
 18h	BYTE	(ret) ATA controller status (see #90006)
 19h	BYTE	(ret) device status
		value of the error register, 00h if no error (see #P0512)
 1Ah	DWORD	post routine  address (see #90009)
 1Eh	WORD	data transfer block size (in bytes)
		number of data bytes to transfer per hardware interrupt for Task
		  File requests; number of data bytes host prefers to transfer
		  per hardware interrupt for ATAPI Packet commands
 20h 32 BYTEs	reserved for ATASPI workspace
 40h  M BYTEs	ATA/ATAPI command block (ACB)
		contains AT Task File Structure (see #90008) if bit 2 of the
		  request flags is set, ATAPI packet (see #03236,#03237,#03238)
		  if bit 2 is cleared
40h+M N BYTEs	sense allocation area
---request 03h---
 08h	DWORD	address of ARB to be aborted
---request 04h---
 08h	BYTE	device ID
 09h 15 BYTEs	reserved (0)
 18h	BYTE	(ret) ATA controller status (see #90006)
 19h	BYTE	(ret) device status
 1Ah	DWORD	post routine address (see #90009)
 1Eh 34 BYTEs	reserved for ATASPI workspace
---request 05h---
 08h 16 BYTEs	controller unique parameters (vendor unique)
---request 06h---
 08h	BYTE	device ID
 09h	BYTE	reserved (0)
 0Ah	BYTE	(ret) drive flags (see #01461)
 0Bh	BYTE	(ret) INT 13h drive
 0Ch	BYTE	(ret) preferred head   translation
 0Dh	BYTE	(ret) preferred sector translation
 0Eh 10 BYTEs	reserved (0)

(Table 90004)
Values for ATASPI request status:
 00h	request in progress
 01h	request completed without error
 02h	request aborted by host
 04h	request completed with error
 80h	invalid	request
 81h	invalid ATA controller number
 82h	ATA device not installed
 83h	ATA controller/device busy
Note:	if ATASPI ever returns 83h as the status, it is the responsibility of
	  the driver/applications to re-send the request at a later time
SeeAlso: #90003

Bitfields for request flags:
Bit(s)	Description	(Table 90005)
 7	reserved (0)
 6	"ByteXfer"
	=0 use word transfer mode
	=1 use byte transfer mode
 5	(ATAPI device) DSC unavailable action (DUA)
	=0 queue the request and service it when DSC bit is set
	=1 return with status 83h
 4-3	direction
	00 direction determined by device
	01 data in
	10 data out
	11 no data transfer
 2	request type
	=0 ATAPI Packet Command
	=1 AT Task File Structure
 1	reserved (0)
 0	"Post"
	=0 disable posting
	=1 enable  posting
SeeAlso: #90003

(Table 90006)
Values for ATA controller status:
 00h	no error
 11h	device not present
 12h	data overrun/underrun
SeeAlso: #90003

(Table 90007)
Values for peripheral device type:
 00h	direct-access device (e.g. magnetic disk)
 01h	tape device (QIC-121 SCSI Architectural Model)
 02h-04h reserved
 05h	CD-ROM device
 06h	reserved
 07h	optical memory device (e.g. some optical disks)
 08h-0Bh reserved
 0Ch	tape device (Cost Sensitive Architectural Model)
 0Dh-1Eh reserved
 1Fh	unknown or no device type
 80h	non-ATAPI device
SeeAlso: #90003

Format of AT Task File Structure:
Offset	Size	Description	(Table 90008)
 00h	features register
 01h	sector count register
 02h	cylinder LSB register
 04h	cylinder MSB register
 05h	device/head  register (see #P0513)
 06h	command register (see #P0515)
SeeAlso: #90005

(Table 90009)
Values ATASPI post function is called with:
	STACK:	DWORD -> ARB (see #90003) which completed
	interrupts disabled
Return: EBP, EBX, ESI, EDI must be preserved
	interrupts disabled
Notes:	the post function may issue any ATASPI function except an abort; it
	  should complete as quickly as possible
	the large-model C declaration is
	  void (*post)(ARB_Struct *);
SeeAlso: #90003

Format of Future Domain controller unique parameters:
Offset	Size	Description	(Table 90010)
 00h	WORD	controller features
 02h	WORD	controller main I/O port
 04h	WORD	controller alternate I/O port
 06h	BYTE	controller IRQ
 07h	BYTE	??? (00h or 01h)
 08h	BYTE	??? (00h or 01h)
 09h  7 BYTEs	reserved (0)
SeeAlso: #90003

Top
214402 - INT 21 - DRFAT32.SYS device driver - IOCTL INPUT
INT 21 - DRFAT32.SYS device driver - IOCTL INPUT
	AX = 4402h
	BX = file handle referencing character device for DRFAT32.SYS driver
	    (e.g. "FAT32XXX" in the default configuration)
	CX = number of bytes to read
	DS:DX -> control block (see #04108)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	 the data returned depends on the first byte of the control block
	   the remainder of the control block is filled by the driver
	 one DRFAT32.SYS device driver supports up to 8 subunits (that is up
	   to 8 FAT32 partitions). By default, DRFAT32.SYS logs in all FAT32
	   partitions it finds, however, by using command line options /C (CHS),
	   /L (LBA), /H (Hidden) and /P:1..4 (Primary), /E:1..255 (Logical
	   Drive), and /U:min[,max] (Unit 128..255) it can be directed to
	   attach only to one or a specific range of partitions. Multiple
	   DRFAT32.SYS drivers can be loaded in a system when using the
	   /D:name option. To assign them to the redirector, the /D:name option
	   must be repeated for each of the DRFAT32.SYS drivers in the
	   DRFAT32.EXE command line.
SeeAlso: AX=4402h"CD-ROM",INT 2F/AX=0802h

Format of DRFAT32 control block:
Offset	Size	Description	(Table 04108)
 00h	BYTE	data being requested
		00h device driver header address
		09h media change status
		48h address of DRFAT32 geometry table
		else error
---function 00h---
 01h	DWORD	device driver header address (see also AH=52h,#01646)
---function 09h---
 01h	BYTE	media change status
		00h don't know
		01h media unchanged
		FFh media has been changed
---DRFAT32 function 48h---
 01h	DWORD	address of DRFAT32 geometry table (see #04109)

Format of DRFAT32 Geometry Table:
Offset	Size	Description	(Table 04109)
 00h 8*59 BYTEs	eight DRFAT32 partition data tables (see #04110)
 1D8h	BYTE	DRFAT32 access flags (see #04111)
 1D9h	BYTE	DRFAT32 status flags (see #04112)
Note:	This is the table layout used by DRFAT32.SYS 1.00 which supports up
	  to 8 sub-units. The layout of this table and its records may change,
	  so the version indicator in the device driver's signature ("FAT320")
	  and the size of the public data structure should be checked first.
SeeAlso: #04108

Format of DRFAT32 partition data table:
Offset	Size	Description	(Table 04110)
 00h	BYTE	size of following public data structure (9)
	--- public data (needed by the DRFAT32.EXE redirector) ---
 01h	WORD	bytes per sector
 03h	BYTE	sectors per cluster
 04h	WORD	reserved sectors
 06h	DWORD	root directory start cluster
	--- private data ---
 0Ah	DWORD	sectors per track
 0Eh	DWORD	root directory sector
 12h	DWORD	partition start sector
 16h	DWORD	highest partition sector allowed
		(only if range checking enabled)
 1Ah	DWORD	absolute cluster start sector
		(cluster start sector+partition start sector)
 1Eh	DWORD	total sectors per track (number of heads * sectors per track)
 22h	BYTE	drive unit (default 80h)
 23h	BYTE	temp buffer: CHS sectors to write (if verify enabled)
 24h	BYTE	INT 13h extension version
	--- CHS data ---
 25h	WORD	cylinder
 27h	WORD	head
 29h	WORD	sector
	--- LBA data ---
 2Bh 16 BYTEs disk address packet (see #00272 at INT 13/AH=42h)
SeeAlso: #04109

Bitfields for DRFAT32 access flags:
Bit(s)	Description	(Table 04111)
 7	using LBA addressing instead of CHS
 6	using INT 13h extensions (see also INT 13/AH=48h)
 5	multi-sector access allowed
 4	force media change indication on removable drives
 3	force verify after every write (/W)
 2	more than 1024 cylinders, less than 64 heads (/A)
 1	client-side asynchronous buffering allowed (/B), normally =0
 0	read-only access (/R)
SeeAlso: #04109,#04112

Bitfields for DRFAT32 status flags:
Bit(s)	Description	(Table 04112)
 7-2	reserved (0)
 1	Save Guard enabled (blocks any further writes after a fault)
 0	volume may have dirty sectors (set after write operations)
SeeAlso: #04109,#04111

Top
214403 - INT 21 - DOS 2+ - IOCTL - WRITE TO CHARACTER DEVICE CONTROL CHANNEL
INT 21 - DOS 2+ - IOCTL - WRITE TO CHARACTER DEVICE CONTROL CHANNEL
	AX = 4403h
	BX = file handle referencing character device
	CX = number of bytes to write
	DS:DX -> data to write
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	format of data is driver-specific
	  (also see separate entries below for some specific cases)
	if the file handle refers to "4DOSSTAK", the 4DOS (v2.x-3.03)
	  KEYSTACK.SYS driver will push the specified characters on the
	  keyboard stack; similarly for "NDOSSTAK", the NDOS KEYSTACK.SYS
	  driver will push the characters onto the keyboard stack
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,AX=4402h"DOS 2+",AX=4405h"DOS",INT 2F/AX=122Bh
SeeAlso: INT 2F/AX=D44Dh,INT 2F/AX=D44Fh

Top
214403 - INT 21 - SMARTDRV.SYS v3.x only - IOCTL - CACHE CONTROL
INT 21 - SMARTDRV.SYS v3.x only - IOCTL - CACHE CONTROL
	AX = 4403h
	BX = handle for device "SMARTAAR"
	CX = number of bytes to write
	DS:DX -> SMARTDRV control block (see #01523)
Return: CF clear if successful
	    AX = number of bytes actually written
		0000h if control block too small for given command
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	NCache2 (from the Norton Utilities v8.0) attempts to support this
	  interface, but does not do so correctly, often hanging the system;
	  one should use the SmartDrive v4.x or NCache private interfaces
	  (see INT 2F/AX=4A10h/BX=0000h,INT 2F/AX=FE00h/DI=4E55h)
SeeAlso: AX=4402h"SMARTDRV",INT 2F/AX=4A10h/BX=0000h

(Table 01522)
Values for SMARTDRV function code:
 00h	flush cache
 01h	flush and discard cache
 02h	disable caching (flushes and discards cache first)
 03h	enable caching
 04h	control write caching
 05h	set flushing tick count
 06h	lock cache contents
 07h	unlock cache contents
 08h	set flush-on-reboot flag
 09h	unused
 0Ah	control full-track caching
 0Bh	reduce cache size
 0Ch	increase cache size
 0Dh	set INT 13 chain address

Format of SMARTDRV control block:
Offset	Size	Description	(Table 01523)
 00h	BYTE	function code (see #01522)
---functions 00h-03h,06h,07h---
 no additional fields
---function 04h---
 01h	BYTE	write caching control action
		00h turn off write-through
		01h turn on write-through
		02h turn off write buffering (also flushes cache)
		03h turn on write buffering (also flushes cache)
---function 05h---
 01h	WORD	number of timer ticks between cache flushes
---function 08h---
 01h	BYTE	new flush-on-reboot flag (00h off, 01h on)
---function 0Ah---
 01h	BYTE	full-track writes are
		00h not cached
		01h cached
---functions 0Bh,0Ch---
 01h	WORD	number of 16K pages by which to increase/reduce cache size
---function 0Dh---
 01h	DWORD	new address to which to chain on INT 13
Note:	the previous address is not preserved

Top
214403 - INT 21 - CD-ROM device driver - IOCTL OUTPUT
INT 21 - CD-ROM device driver - IOCTL OUTPUT
	AX = 4403h
	BX = file handle referencing character device for CD-ROM driver
	CX = number of bytes to write
	DS:DX -> control block (see #01524)
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	some device drivers support several subunits (that is more than one
	  drive) but it is not possible to distinguish between them with this
	  function; use INT 2F/AX=1510h or INT 2F/AX=0802h instead
	under Windows95, the "mscd$$$$" device cannot be opened so you cannot
	  obtain the handle required by this function: use INT 2F/AX=1510h
	  or INT 2F/AX=0802h instead
SeeAlso: AX=4402h"CD-ROM",INT 2F/AX=0802h,INT 2F/AX=1510h

Format of CR-ROM control block:
Offset	Size	Description	(Table 01524)
 00h	BYTE	function code
		00h eject disk
		01h lock/unlock door
		02h reset drive
		03h control audio channel
		04h write device control string
		05h close tray
---functions 00h,02h,05h---
 no further fields
---function 01h---
 01h	BYTE	lock function
		00h unlock door
		01h lock door
---function 03h---
 01h	BYTE	input channel (0-3) for output channel 0
 02h	BYTE	volume for output channel 0
 03h	BYTE	input channel (0-3) for output channel 1
 04h	BYTE	volume for output channel 1
 05h	BYTE	input channel (0-3) for output channel 2
 06h	BYTE	volume for output channel 2
 07h	BYTE	input channel (0-3) for output channel 3
 08h	BYTE	volume for output channel 3
Note:	output channels 0 and 1 are left and right, 2 and 3 are left prime and
	  right prime; a volume of 00h is off
---function 04h---
 01h  N BYTEs	bytes to send directly to the CD-ROM drive without
		  interpretation

Top
214403 - INT 21 U - MS-DOS 7.0+ - CONFIG$ device - SET??? CONFIGURATION INFORMATION
INT 21 U - MS-DOS 7.0+ - CONFIG$ device - SET??? CONFIGURATION INFORMATION
	AX = 4403h
	BX = file handle for character device "CONFIG$"
	CX = number of bytes to write
	DS:DX -> buffer containing ???
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	IOCTL Output to CONFIG$ is only available while IO.SYS is booting
	  the system; once CONFIG.SYS has been processed, this call always
	  succeeds, ignoring any input
SeeAlso: AX=4403h"CONFIG$"

Top
214403 - INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
	AX = 4403h
	BX = handle for device "SCSITAPE"
	CX = number of bytes to write
	DS:DX -> SCSITAPE control block (see #01525)
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4405h"ST-01",INT 78/AH=10h

Format of SCSITAPE control block:
Offset	Size	Description	(Table 01525)
 00h	WORD	command type
		'F' Format (argument 1 = interleave, argument 2 = format type)
		'E' Erase
		'R' Rewind
		'L' Load
		'N' No Load
		'S' Space (argument 1 = count, argument 2 = type)
		'M' File Mark (argument 1 = count)
		'A' Reassign
 02h	WORD	argument 1
 04h	WORD	argument 2
 06h	WORD	segment of command buffer
 08h	WORD	offset of command buffer
 0Ah	WORD	length of command buffer

Top
214403 - INT 21 U - AI Architects - OS/x86??? - API
INT 21 U - AI Architects - OS/x86??? - API
	AX = 4403h
	BX = handle for device "AIA_OS"
	CX = number of bytes to write (ignored)
	DS:DX -> 12-byte buffer (see #01526), first byte is command:
		  81h installation check
		  82h get API entry point
		  84h uninstall
Return: CF clear if successful
	    AX = number of bytes actually written
	    DS:DX buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Ch,0Dh) (see #01680 at AH=59h)
Notes:	these functions are only available if the DOS extender was loaded as a
	  device driver in CONFIG.SYS
	called by TKERNEL (a licensed version of AI Architects/Ergo OS/x86)
SeeAlso: INT 2F/AX=FBA1h/BX=0081h,INT 2F/AX=FBA1h/BX=0082h
Index:	installation check;OS/x86|entry point;OS/x86|uninstall;OS/x86

Format of buffer on return:
Offset	Size	Description	(Table 01526)
 00h  4 BYTEs	signature "IABH"
---if function 81h---
 (no additional fields)
---if function 82h---
 04h	DWORD	pointer to API entry point (see INT 2F/AX=FBA1h/BX=0082h)
---if function 84h---
 04h	WORD	success indicator
 06h	WORD	segment of ???
 08h	WORD	segment of ??? memory block to free if nonzero
 0Ah	WORD	segment of ??? memory block to free if nonzero

Top
214403 - INT 21 - PGS1600.DEV - IOCTL - SET CONFIGURATION???
INT 21 - PGS1600.DEV - IOCTL - SET CONFIGURATION???
	AX = 4403h
	BX = file handle for device "PGS1600$"
	CX = 0018h (size of buffer)
	DS:DX -> configuration buffer (see #01484 at AX=4402h"PGS1600")
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: PGS1600.DEV is a device driver for the Cornerstone Technology PG1600
	  display adapter, which provides a 1600x1200 monochrome display as
	  well as one of two emulations, MDA or CGA.
SeeAlso: AX=4402h"PGS1600"

Top
214403 - INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
INT 21 - PC/TCP IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
	AX = 4403h
	BX = file handle referencing device "$IPCUST"
	CX, DS:DX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	there are a total of 378h bytes of configuration data for IPCUST.SYS
	  version 2.05.	 If less than the entire data is read or written,
	  the next read/write continues where the previous one ended; this
	  call and AX=4402h both reset the location at which the next
	  operation starts to zero
	v2.1+ uses a new configuration method, but allows the installation
	  of IPCUST.SYS for backward compatibility with other software which
	  must read the PC/TCP configuration
SeeAlso: AH=3Fh"IPCUST",AH=40h"IPCUST",AX=4402h"IPCUST"

Top
214403 - INT 21 - Compaq AG1024.SYS - CPQ_MGES - IOCTL OUTPUT
INT 21 - Compaq AG1024.SYS - CPQ_MGES - IOCTL OUTPUT
	AX = 4403h
	BX = file handle referencing device "CPQ_MGES"
	DS:DX -> request packet (see #01527)
	CX ignored
Return: CF clear if successful
	    AX destroyed
	    data buffer filled (if applicable)
	    first word of request packet set to number of bytes of data
	      available (amount returned is smaller of this and requested
	      amount)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: AG1024.SYS is a device driver for the Advanced Graphics 1024 adapter
SeeAlso: AX=4403h"RGDI"

Format of Compaq AG1024.SYS request packet:
Offset	Size	Description	(Table 01527)
 00h	WORD	function
		0000h get ??? (26h bytes)
		0001h get ??? (36h bytes)
		0002h set ??? (same as returned by function 0001h)
		0003h get ??? (6 bytes)
		0004h get ???
		0005h get ???
		0006h get ??? (10h bytes)
		0007h set ??? (same as returned by function 0006h)
---functions 00h-03h,06h,07h---
 02h	WORD	size of data buffer
 04h	DWORD	-> buffer for function's data
 ---functions 04h,05h---
 02h	WORD	???
 04h	WORD	size of data buffer
 06h	DWORD	-> buffer to receive data

Top
214403 - INT 21 - Compaq AG1024.SYS - RGDI - IOCTL OUTPUT
INT 21 - Compaq AG1024.SYS - RGDI - IOCTL OUTPUT
	AX = 4403h
	BX = file handle referencing device "$$$$RGDI"
	DS:DX -> request packet (see #01528)
	CX ignored
Return: CF clear if successful
	    AX destroyed
	    data buffer filled (if applicable)
	    first word of request packet set to number of bytes of data
	      available (amount returned is smaller of this and requested
	      amount)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: AG1024.SYS is a device driver for the Advanced Graphics 1024 adapter
SeeAlso: AX=4402h"RGDI",AX=4403h"CPQ_MGES"

Format of Compaq AG1024.SYS request packet:
Offset	Size	Description	(Table 01528)
 00h	WORD	function
		0000h get entry points
		0001h get ???
 02h	DWORD	address of buffer for returned data

Top
214403SF01 - INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX OFF
INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX OFF
	AX = 4403h subfn 01h
	BX = handle for device "386MAX$$"
	DS:DX -> BYTE 01h
	CX ignored
Return: DS:DX -> BYTE status (00h = successful)
	CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	this function will fail if any EMS or UMBs are in use
SeeAlso: AX=4403h/SF=02h,AX=4403h/SF=03h,AX=4403h/SF=05h

Top
214403SF02 - INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX ON
INT 21 U - Qualitas 386MAX v6.01+ - TURN 386MAX ON
	AX = 4403h subfn 02h
	BX = handle for device "386MAX$$"
	DS:DX -> BYTE 02h
	CX ignored
Return: DS:DX -> BYTE status (00h = successful)
	CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4403h/SF=01h,AX=4403h/SF=03h,AX=4403h/SF=05h

Top
214403SF03 - INT 21 U - Qualitas 386MAX v6.01+ - SET STATE
INT 21 U - Qualitas 386MAX v6.01+ - SET STATE
	AX = 4403h subfn 03h
	BX = handle for device "386MAX$$"
	CX = number of bytes to copy (up to size of state buffer)
	DS:DX -> BYTE 03h followed by state buffer
		  (see #01467 at AX=4402h"386MAX")
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	the first byte of the buffer must be either 01h, 02h, or 03h
	  (specifying the version of the state record) and the buffer must
	  contain CX bytes AFTER the initial byte
SeeAlso: AX=4402h"386MAX"

Top
214403SF05 - INT 21 U - Qualitas 386MAX v7.00+ - LIMIT AUTOMATIC ACTIVATION TO STD EMS CALLS
INT 21 U - Qualitas 386MAX v7.00+ - LIMIT AUTOMATIC ACTIVATION TO STD EMS CALLS
	AX = 4403h subfn 05h
	BX = handle for device "386MAX$$"
	DS:DX -> BYTE 05h
	CX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Desc:	specifies that 386MAX will only shift from AUTO to ON mode on standard
	  EMS calls INT 67/AH=40h-5Dh
SeeAlso: AX=4403h/SF=02h,AX=4403h/SF=03h,AX=4403h/SF=06h

Top
214403SF06 - INT 21 U - Qualitas 386MAX v7.00+ - ALLOW AUTOMATIC ACTIVATION ON ANY INT 67
INT 21 U - Qualitas 386MAX v7.00+ - ALLOW AUTOMATIC ACTIVATION ON ANY INT 67
	AX = 4403h subfn 06h
	BX = handle for device "386MAX$$"
	DS:DX -> BYTE 06h
	CX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Desc:	specified that 386MAX should shift from AUTO to ON mode on any INT 67
	  call other than INT 67/AH=3Fh
SeeAlso: AX=4403h/SF=01h,AX=4403h/SF=03h,AX=4403h/SF=05h

Top
214403 - INT 21 U - PenDOS PENDEV.SYS - ???
INT 21 U - PenDOS PENDEV.SYS - ???
	AX = 4403h
	BX = file handle for device "$$PENDOS" or "$$PD_REG"
	CX = size of buffer
	DS:DX -> buffer containing ???
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: A limited version of PenDOS by Communication Intelligence Corporation,
	  which provides pen capability to keyboard-based programs, is bundled
	  with IBM DOS 6.1
Note:	this call sets the WORD at offset 1Ah into the device driver request
	  header used to call the driver to 0000h.
SeeAlso: AX=4402h"PENDEV.SYS"

Top
214403 - INT 21 - DR DOS $IDLE$ - IOCTL - DYNAMIC IDLE DETECTION CONTROL
INT 21 - DR DOS $IDLE$ - IOCTL - DYNAMIC IDLE DETECTION CONTROL
	AX = 4403h
	BX = file handle referencing character device $IDLE$
	CX = number of bytes to write (0004h)
	DS:DX -> $IDLE$ IOCTL structure (see #04113)
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	When the DR DOS IBMBIO.COM detects the presence of the $IDLE$ device
	  during startup, it will retrieve the address of the idle state
	  data area via INT 21/AX=4458h and pass it along to the $IDLE$ device
	  driver by calling this function.

Format of DR DOS $IDLE$ IOCTL structure:
Offset	Size	Description	(Table 04113)
 00h	DWORD	-> idle state data area (see Table !!! at INT 21/AX=4458h)

Top
214404 - INT 21 - DOS 2+ - IOCTL - READ FROM BLOCK DEVICE CONTROL CHANNEL
INT 21 - DOS 2+ - IOCTL - READ FROM BLOCK DEVICE CONTROL CHANNEL
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc.)
	CX = number of bytes to read
	DS:DX -> buffer
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	format of data is driver-specific
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4402h"DOS 2+",AX=4405h"DOS",INT 2F/AX=122Bh

Top
214404 - INT 21 - Stacker - GET DEVICE DRIVER ADDRESS AND SET VOLUME NUMBER
INT 21 - Stacker - GET DEVICE DRIVER ADDRESS AND SET VOLUME NUMBER
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc.)
	CX = 0004h
	DS:DX -> DWORD buffer to receive device driver address
Return: buffer filled with pointer into Stacker device driver (see #02550):
	  driver + 19h if Stacker Anywhere controls this drive
	  driver + 1Ah if Stacker controls this drive
	  unchanged else
Notes:	in addition to returning the address of the Stacker device driver,
	  this call also sets the volume number at offset 58h in the device
	  driver (see #02550 at INT 25/AX=CDCDh)
	Stacker Anywhere does not link its built-in device driver into
	  the standard device driver chain, but it can be found via CDS/DPB
	this call can be used as an installation check for all versions of
	  Stacker and Stacker Anywhere to avoid the INT 25 call
SeeAlso: AX=4408h,AX=440Eh,AH=52h,INT 25/AX=CDCDh

Top
214404 - INT 21 - Stacker - GET STACVOL FILE SECTORS
INT 21 - Stacker - GET STACVOL FILE SECTORS
	AX = 4404h
	BL = drive number (0 is current drive)
	CX = byte count (i.e., 200h = 1 sector)
	DS:DX -> buffer (see #01529)
Return: Data Buffer contains the number of sectors requested from the
	  STACVOL physical file for the drive specified.

Format of Stacker buffer:
Offset	Size	Description	(Table 01529)
 00h	WORD	01CDh
 02h	WORD	sector count
 04h	DWORD	number of starting sector
 08h	DWORD	far pointer to Data Buffer

Top
214404 - INT 21 - DUBLDISK.SYS v2.6 - GET INFO
INT 21 - DUBLDISK.SYS v2.6 - GET INFO
	AX = 4404h
	BL = drive number of DoubleDisk drive (00h = default, 01h = A:, etc.)
	CX = number of bytes (000Ah-0014h, call ignored otherwise)
	DS:DX -> data record (see #01530)
Return: CF clear if successful
	    AX = number of bytes read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: DUBLDISK.SYS is the device driver portion of DoubleDisk, a disk
	  expander by Vertisoft Systems, Inc.
InstallCheck:	for v2.6, scan memory for the signature "FAT 2.6  byte:",
	  which is immediately followed by a data table (see #01531)
BUG:	VOPT (a disk optimizer by Golden Bow Software) assumes that any driver
	  which returns the "correct" number of bytes when the first word of
	  the buffer for the data record contains the signature value 4444h is
	  DoubleDisk; a workaround is for the non-DoubleDisk driver to return
	  no data if the signature is present
SeeAlso: AX=440Dh"DOS 3.2+"
Index:	installation check;DUBLDISK.SYS

Format of DUBLDISK data record:
Offset	Size	Description	(Table 01530)
 00h	WORD	(call) signature 4444h
 02h	BYTE	(call) function
			00h ???
			01h ???
---function 00h---
 02h	BYTE	(ret) ???
 03h	BYTE	(ret) ???
---function 01h---
 02h	WORD	(ret) 4444h
 04h	WORD	allocation unit size???
 06h	WORD	???
 08h	WORD	???
 0Ah	BYTE	???

Format of DUBLDISK signature data table:
Offset	Size	Description	(Table 01531)
 00h  5 BYTEs	???
 05h	BYTE	first drive number
 06h	BYTE	number of drives
 07h	???

Top
214404 - INT 21 - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
INT 21 - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = 000Ah (size of DSPACKET structure)
	DS:DX -> DSPACKET structure (see #01532)
Return: CF clear if IOCTL successful -- check DSPACKET for actual status
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4405h"DBLSPACE",INT 2F/AX=4A11h/BX=0000h

Format of DoubleSpace DSPACKET structure:
Offset	Size	Description	(Table 01532)
 00h	WORD	signature 444Dh ("DM")
 02h	BYTE	command code
		46h ('F') flush internal caches
		49h ('I') flush and invalidate internal caches
 03h	WORD	result code
		(ret) 4F4Bh ("OK") if successful, else unchanged
 05h  5 BYTEs	padding

Top
214404 - INT 21 - DBLSPACE.BIN v6.2 - IOCTL - GET ??? FOR SPECIFIED DRIVE
INT 21 - DBLSPACE.BIN v6.2 - IOCTL - GET ??? FOR SPECIFIED DRIVE
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = size of DSPACKET structure (ignored in DOS 6.2)
	DS:DX -> DSPACKET structure (see #01533)
Return: CF clear if IOCTL successful -- check DSPACKET for actual status
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4405h"DBLSPACE",INT 2F/AX=4A11h/BX=0000h

Format of DoubleSpace DSPACKET structure:
Offset	Size	Description	(Table 01533)
 00h	WORD	signature 444Dh ("DM")
 02h	BYTE	command code
		53h ('S') get ??? for specified drive
 03h	WORD	result code
		(ret) 4F4Bh ("OK") if successful, else unchanged
 05h	DWORD	(ret) pointer to 96-byte ??? data
 09h	DWORD	(ret) pointer to ??? data
 0Dh  3 BYTEs	reserved

Top
214404 - INT 21 U - DoubleTools v1.0 - GET ???
INT 21 U - DoubleTools v1.0 - GET ???
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = 0006h
	DS:DX -> DoubleTools structure (see #01534)
Return: CF clear if IOCTL successful -- check DSPACKET for actual status
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	the Transporter device driver has the signature 55h 61h 50h 74h
	  ("DaPt") twelve bytes after it beginning

Format of DoubleTools structure:
Offset	Size	Description	(Table 01534)
 00h	WORD	(call) signature 55h AAh
		(ret) signature 78h 70h ("xp")
 02h	WORD	(call) signature 52h 16h
		(ret) ???
 04h	WORD	(ret) segment of driver's DS (same as its PSP)

Top
214404 - INT 21 U - xDISK v3.31 - CONFIGURE
INT 21 U - xDISK v3.31 - CONFIGURE
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = 0047h (length of version string)
	DS:DX -> 79-byte buffer for version string and ???
	DS:0081h = commandline containing new switches for driver
Return: CF clear if successful
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: xDISK is a shareware resizeable EMS RAMdisk by FM de Monasterio
SeeAlso: AX=4405h"xDISK",INT 2F/AH=DDh/BX=7844h"xDISK"

Top
214404 - INT 21 - COMBI-disk v1.13 - GET DATA RECORD
INT 21 - COMBI-disk v1.13 - GET DATA RECORD
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = 0032h (length of data packet)
	DS:DX -> buffer for data packet (see #01535)
Return: CF clear if successful
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: COMBI-disk is a shareware combination cache and RAMdisk sharing a
	  single pool of memory by Vadim V. Vlasov
InstallCheck:	scan the valid drives for one which returns a correctly-sized
	  data packet with the proper signature in the first field
SeeAlso: AX=4405h"COMBI"
Index:	installation check;COMBI-disk

Format of COMBI-disk data packet:
Offset	Size	Description	(Table 01535)
 00h  6 BYTEs	ASCIZ signature "COMBI"
 06h	WORD	version (high byte = major, low = decimal minor version)
 08h	BYTE	current options
 09h	BYTE	sectors per allocation block
 0Ah	WORD	maximum buffer in KB
 0Ch	WORD	current buffer in KB (less than max if XMS memory being lent)
 0Eh	WORD	total number of allocation blocks
 10h	WORD	current number of allocation blocks
 12h	WORD	number of blocks being used by RAM disk
 14h	WORD	number of blocks being used by cache or unused
 16h	WORD	number of dirty cache blocks
 18h	WORD	number of blocks which could not be written out due to errors
 1Ah	WORD	total number of read requests
 1Ch	WORD	total number of sectors read
 1Eh	WORD	number of BIOS read requests (cache misses)
 20h	WORD	number of sectors read via BIOS (cache misses)
 22h	WORD	total number of write requests
 24h	WORD	total number of sectors written
 26h	WORD	number of BIOS write requests
 28h	WORD	number of sectors written via BIOS
 2Ah	WORD	number of RAM disk read requests
 2Ch	WORD	number of sectors read from RAM disk
 2Eh	WORD	number of RAM disk write requests
 30h	WORD	number of sectors written to RAM disk

Top
214404 - INT 21 - SFS v1.00 - GET CONFIGURATION INFORMATION
INT 21 - SFS v1.00 - GET CONFIGURATION INFORMATION
	AX = 4404h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = 001Ah (length of data packet)
	DS:DX -> buffer for data packet (see #01536)
Return: CF clear if successful
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: SFS (Secure FileSystem) is a shareware encrypting disk driver by
	  Peter C. Gutmann
SeeAlso: AX=4405h"SFS"

Format of SFS data packet:
Offset	Size	Description	(Table 01536)
 00h  4 BYTEs	signature string "SFS1"
 04h	WORD	SFS unit number (0-based)
 06h	WORD	drive on which the SFS volume is mounted
 08h	DWORD	sector offset of logical volume from start of physical volume
		0 if logical volume = physical volume
 0Ch	WORD	flag: 00h = no disk mounted, 01h = disk mounted
 0Eh	WORD	flag: 00h read/write, 01h read-only
 10h	WORD	quick-unmount hotkey
		(high byte = shift state, low = scan code) (see #00006)
 12h	WORD	auto-unmount time in minutes, or 0000h if already expired, or
		FFFFh if not set
 14h	WORD	time in minutes remaining before auto-unmount
 16h	WORD	internal driver check code
		0000h no error
		0001h driver consistency check failed
		0002h unit consistency check failed
 18h	WORD	disk access mode
		0000h BIOS
		0001h IDE direct access
		0002h SCSI direct access

Top
214405 - INT 21 - DOS 2+ - IOCTL - WRITE TO BLOCK DEVICE CONTROL CHANNEL
INT 21 - DOS 2+ - IOCTL - WRITE TO BLOCK DEVICE CONTROL CHANNEL
	AX = 4405h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = number of bytes to write
	DS:DX -> data to write
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	format of data is driver-specific
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4403h"DOS",AX=4404h"DOS",INT 2F/AX=122Bh

Top
214405 - INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
INT 21 - Brian Antoine Seagate ST-01 SCSI.SYS - IOCTL - EXECUTE COMMANDS
	AX = 4405h
	BX = drive number (00h = default, 01h = A:, etc)
	CX = number of bytes to write
	DS:DX -> SCSIDISK control block (see also #01525 at AX=4403h"ST-01")
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4403h"ST-01"

Top
214405 - INT 21 U - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
INT 21 U - DBLSPACE.BIN - IOCTL - FLUSH OR INVALIDATE INTERNAL CACHES
	AX = 4405h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = 000Ah (size of DSPACKET structure)
	DS:DX -> DSPACKET structure (see #01537)
Return: CF clear if IOCTL successful -- check DSPACKET for actual status
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	this call is identical to the documented AX=4404h
SeeAlso: AX=4404h"DBLSPACE",INT 2F/AX=4A11h/BX=0000h

Format of DoubleSpace DSPACKET structure:
Offset	Size	Description	(Table 01537)
 00h	WORD	signature 444Dh ("DM")
 02h	BYTE	command code
		46h ('F') flush internal caches
		49h ('I') flush and invalidate internal caches
 03h	WORD	result code
		(ret) 4F4Bh ("OK") if successful, else unchanged
 05h  5 BYTEs	padding

Top
214405 - INT 21 U - xDISK v3.31 - ???
INT 21 U - xDISK v3.31 - ???
	AX = 4405h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = number of bytes to write
	DS:DX -> buffer containing version string
	???
Return: CF clear if successful
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: xDISK is a shareware resizeable EMS RAMdisk by FM de Monasterio
SeeAlso: AX=4404h"xDISK",INT 2F/AH=DDh/BX=7844h"xDISK"

Top
214405 - INT 21 - COMBI-disk v1.13 - CONTROL COMBI-disk
INT 21 - COMBI-disk v1.13 - CONTROL COMBI-disk
	AX = 4405h
	BL = drive number (00h = default, 01h = A:, etc) for RAM disk
	CX = number of bytes to write
	DS:DX -> buffer containing command packet (see #01539)
Return: CF clear if successful
	    AX = number of bytes actually transferred
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4404h"COMBI"

(Table 01538)
Values for COMBI-disk command code:
 80h	flush cache
 81h	change options byte
 82h	shrink memory
 83h	expand memory
 84h	get dirty block information
 85h	reset write errors
 86h	reset counters

Format of COMBI-disk command packet:
Offset	Size	Description	(Table 01539)
 00h	WORD	version
 02h	BYTE	command code (see #01538)
---command code 80h---
 no additional fields
---command code 81h---
 03h	BYTE	new options byte (see #01540)
---command code 82h---
 03h	WORD	number of KB to release
---command code 83h---
 03h	WORD	number of KB to expand
---command code 84h---
 03h	DWORD	-> buffer for block info (see #01541)
---command code 85h---
 03h	DWORD	block ID
---command code 86h---
 03h	BYTE	which counters to reset
		bit 0: hard disk read counts
		bit 1: hard disk write counts
		bit 2: RAM disk read/write counts
Note:	multiple commands may be placed in a single packet by stringing
	  together as many command/argument pairs as desired

Bitfields for COMBI-disk options byte:
Bit(s)	Description	(Table 01540)
 0	cache off
 1	cache frozen
 2	write caching enabled
 3	delayed writing disabled
 5	fix memory allocation (no XMS lending)
 6	no 'sector not found' error

Format of COMBI-disk block info:
Offset	Size	Description	(Table 01541)
 00h	DWORD	block ID
 04h	BYTE	bitmask of valid sectors in block
 05h	BYTE	bitmask of dirty sectors in block
 06h	BYTE	last error returned by BIOS
 07h	BYTE	number of errors

Top
214405 - INT 21 - SFS v1.00 - DRIVER CONTROL
INT 21 - SFS v1.00 - DRIVER CONTROL
	AX = 4405h
	BL = drive number (00h = default, 01h = A:, etc)
	CX = number of bytes to write
	DS:DX -> data to write (see #01543)
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: SFS (Secure FileSystem) is a shareware encrypting disk driver by
	  Peter C. Gutmann
SeeAlso: AX=4404h"SFS"

(Table 01542)
Values for SFS control function:
 00h	"PACKET_SET_DISKINFO"	 set disk parameters
 01h	"PACKET_SET_KEYINFO"	 set keying information
 02h	"PACKET_SET_READONLY"	 select read/write or read-only
 03h	"PACKET_SET_DRIVENO"	 set drive number to mount
 04h	"PACKET_SET_MOUNTSTATUS" set mount status
 05h	"PACKET_SET_UNMOUNT"	 set/clear quick-unmount hotkey
 06h	"PACKET_SET_TIMEOUT"	 set/clear auto-unmount timeout

Format of SFS control data packet:
Offset	Size	Description	(Table 01543)
 00h	WORD	signature 4330h ('C0')
 02h	WORD	function (see #01542)
---function 00h---
 04h	WORD	sector size in bytes
 06h	BYTE	sectors per cluster
 07h	WORD	number of boot sectors
 09h	BYTE	number of copies of FAT
 0Ah	WORD	size of root directory in entries
 0Ch	WORD	number of sectors on disk, 16-bit
 0Eh	BYTE	media descriptor byte
 0Fh	WORD	sectors per FAT
 11h	WORD	sectors per track
 13h	WORD	number of heads
 15h	DWORD	number of hidden sectors
 19h	DWORD	number of sectors on disk, 32-bit
---function 01h---
 04h 20 BYTEs	master IV for encrypted disk
 18h 64 BYTEs	NDC/SHS keying information
---function 02h---
 04h	WORD	read-only state: 00h read-only, 01h read/write
---function 03h---
 04h	WORD	drive number (see #01544)
 06h	DWORD	sector offset of logical volume from start of physical volume
		0 if logical volume = physical volume
---function 04h---
 04h	WORD	mount status (00h unmounted, 01h mounted)
---function 05h---
 04h	WORD	hotkey (high byte = shift state, low byte = scan code or 00h)
		(see #00006)
		0000h to disable hotkey
---function 06h---
 04h	WORD	timeout in minutes before automatic unmount
		0000h to disable auto-unmount
Notes:	the data for function 00h corresponds to a DOS BPB (see AH=53h)
	functions 00h, 01h, and 03h automatically unmount the encrypted drive
	unmounting a drive with function 04h also destroys the encryption
	  information in the driver and forces all dirty buffers to be flushed

Bitfields for SFS drive number:
Bit(s)	Description	(Table 01544)
 15-12	drive access mode
	0000 BIOS access
	0001 direct IDE access
	0010 direct SCSI access
---if BIOS access---
 11-8	unused (0)
 7-0	BIOS drive number
---if IDE access---
 11-8	unused (0)
 7-0	IDE drive number
---if SCSI access---
 11-8	SCSI host number
 7-4	SCSI target ID
 3-0	SCSI logical unit number

Top
214405 - INT 21 U - SUPERSTOR - IOCTL - INSTALL CHECK
INT 21 U - SUPERSTOR - IOCTL - INSTALL CHECK
	AX = 4405h
	BL = drive number (00h = default, 01h = A:, etc)
	(BH = 0???)
	CX = 000Ch (size of SuperStor packet structure)
	DS:DX -> SuperStor packet structure (see #04114)
Return: CF clear if IOCTL successful -- check SuperStor packet for actual
	      status
	    AX = number of bytes actually transferred???
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note:	This function is called with CX = 0008h for command 06h by NWCACHE
	  although the Request Packet can be larger.  WINSWAP.SYS calls it
	  with 000Ch - also for command 06h.

Format of SuperStor packet:
Offset	Size	Description	(Table 04114)
 00h	WORD	(call) product signature AA55h
		(ret) result code, 0000h if successful
 02h	BYTE	(call) SuperStor product ID (01h)
 03h	BYTE	(call) SuperStor command parameter:
		06h = get compressed drive structure / drive parameters
		07h = return the compressed length of a file
		08h = return real drive ID for swapped drive
		09h = validate the contents of the cluster
		0Bh = checks whether deleted cluster is free
		0Ch = reallocate previously deleted cluster
		0Dh = read absolute sector from the drive
		0Eh = write absolute sector to the drive
		0Fh = instruct the driver to rebuild tables
		10h = flush any cached Replacement Block Table (RBT) sectors
		      to the drive
---command 06h---
 04h	DWORD	(ret) pointer to SuperStor CVF's compressed unit structure
		      (see #04115)
 08h	DWORD	(ret) pointer to internal status structure
---command 07h---
 04h	DWORD	(ret) size of file in bytes
 08h	WORD	(ret) first cluster number
---command 08h---
 04h	BYTE	(ret) swapped drive (0-based)
---commands 09h,0Bh,0Ch---
 04h	WORD	(call) cluster
---commands 0Dh,0Eh---
 04h	DWORD	(call) first logical sector to transfer
 08h	WORD	(call) number of logical sectors to transfer
 0Ah	DWORD	(call) pointer to buffer
---command 0Fh---
 04h	WORD	(call) temporary buffer area
---command 10h---
 no additional parameters

Format of SuperStor CVF compressed unit structure:
Offset	Size	Description	(Table 04115)
 00h 31 BYTEs	BIOS parameter block for compressed drive (see #01663)
 1Fh  5 BYTEs	reserved for future expansion of the BPB
 24h 33 BYTEs   DOS 4-6 style drive parameter block for compressed drive
		  (see #01395)
 45h  2 BYTEs	reserved for future expansion of the DPB
 47h	WORD	first sector of relocation table (RBT)
 49h	WORD	first sector of file allocation table
 4Bh	WORD	first sector of the data area
 4Dh	BYTE	sec2byteshift
 4Eh  2 BYTEs	???
		Note:	Reportedly these two bytes did not exist in ADDSTOR's
			  specification, so the whole structure would have
			  been documented differently.
 50h	WORD	sectors per cluster
 52h	BYTE	sector shift
 53h	WORD	compression ratio
 55h	DWORD	number of physical sectors in the host file
 59h	WORD	OS version
 5Bh	BYTE	SuperStor level
 5Ch	BYTE	unknown???
 5Dh	BYTE	flags
		bits 7-1: ???
		bit 0: drive is mounted
 5Eh	BYTE	unknown???
 5Fh	DWORD	pointer to CVF's underlaying host DCB
		this should be the physical DPB for this unit
		    ->  +00h BYTE host unit DOS unit number
		        +01h BYTE CVF's driver host subunit number
Note:	As this SuperStor compressed unit structure's structure is located
	  within the segment the SuperStor driver has occupied, the segment
	  value of its address can be used as an installation check, since it
	  contains the signature "ADDSTOR" at offset 20h in the SuperStor
	  driver.  This is used by Novell DOS 7 WINSWAP.SYS to check for the
	  presence of SuperStor.
SeeAlso: #04114
Index:	installation check;SuperStor

Top
214406 - INT 21 - DOS 2+ - IOCTL - GET INPUT STATUS
INT 21 - DOS 2+ - IOCTL - GET INPUT STATUS
	AX = 4406h
	BX = file handle
Return: CF clear if successful
	    AL = input status
		00h not ready (device) or at EOF (file)
		FFh ready
	    AH may be destroyed (refer to note)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	files may not register as being at EOF if positioned there by AH=42h
	under DOS 5.0, on a successful return, AH contains either the next
	  character which will be read or 1Ah if at EOF; under a Windows95
	  DOS box, AH seems to be either unchanged or 00h
	this function was not supported by Digital Research's DOS Plus
BUG:	the CLOCK$ device under DR DOS 3.41 always indicates 'Ready'; this was
	  corrected in v5.0
SeeAlso: AX=4407h,INT 2F/AX=122Bh

Top
214407 - INT 21 - DOS 2+ - IOCTL - GET OUTPUT STATUS
INT 21 - DOS 2+ - IOCTL - GET OUTPUT STATUS
	AX = 4407h
	BX = file handle
Return: CF clear if successful
	    AL = input status
		00h not ready
		FFh ready
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	for DOS 2+, files are always ready for output, even if the disk is
	  full or no media is in the drive
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4406h,INT 2F/AX=122Bh

Top
214408 - INT 21 - DOS 3.0+ - IOCTL - CHECK IF BLOCK DEVICE REMOVABLE
INT 21 - DOS 3.0+ - IOCTL - CHECK IF BLOCK DEVICE REMOVABLE
	AX = 4408h
	BL = drive number (00h = default, 01h = A:, etc)
Return: CF clear if successful
	    AX = media type (0000h removable, 0001h fixed)
	CF set on error
	    AX = error code (01h,0Fh) (see #01680 at AH=59h/BX=0000h)
Notes:	in addition to the normal operation, if Stacker is installed, this
	  call also sets the volume number at offset 58h in the Stacker
	  device driver (except under DR DOS 3.41-5.0, which do not pass
	  through this call to the driver; use AX=440Eh instead)
	  (see AX=4404h"Stacker",AX=440Eh,INT 25/AX=CDCDh)
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,AX=4404h"Stacker",AX=4409h,INT 2F/AX=122Bh

Top
214409 - INT 21 - DOS 3.1+ - IOCTL - CHECK IF BLOCK DEVICE REMOTE
INT 21 - DOS 3.1+ - IOCTL - CHECK IF BLOCK DEVICE REMOTE
	AX = 4409h
	BL = drive number (00h = default, 01h = A:, etc)
Return: CF clear if successful
	    DX = device attribute word
		bit 15: drive is SUBSTituted
		bit 13: (DR DOS 3.41/5.0 local drives only) always set
			media ID needed
		bit 12: drive is remote
		bit  9: direct I/O not allowed
	CF set on error
	    AX = error code (01h,0Fh,15h) (see #01680 at AH=59h/BX=0000h)
Notes:	on local drives, DX bits not listed above are the attribute word from
	  the device driver header (see #01646 at AH=52h); for remote drives,
	  the other bits appear to be undefined for MS-DOS versions prior to
	  5.0 (they are all cleared in DOS 5+)
	checking whether DX=0800h on return appears to be a fairly reliable
	  method for detecting Microsoft's RAMDRIVE, though not for other
	  ramdisks (there appears to be no simple yet foolproof method for
	  detecting ramdisks, although the presence of only a single copy of
	  the FAT and only a single head on non-removable devices is a fairly
	  good indicator); for Windows95, RAMDRIVE returns DX=4800h
	for non-existent remote drives, this function sometimes returns
	  AX=0015h (drive not ready) instead of AX=000Fh (invalid drive) on
	  the first call; a subsequent call will return the correct error
	  code
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,AX=4408h,AX=440Ah,INT 2F/AX=122Bh

Top
21440A - INT 21 - DOS 3.1+ - IOCTL - CHECK IF HANDLE IS REMOTE
INT 21 - DOS 3.1+ - IOCTL - CHECK IF HANDLE IS REMOTE
	AX = 440Ah
	BX = handle
Return: CF clear if successful
	    DX = attribute word (as stored in SFT)
		bit 15: set if remote
		bit 14: date/time not set on close
	CF set on error
	    AX = error code (01h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	if file is remote, Novell Advanced NetWare 2.0 returns the number of
	  the file server on which the handle is located in CX
	DR DOS 3.41 and 5.0 clear all bits of DX except bit 15; Novell DOS 7
	  fully supports this function
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,AX=4409h,AH=52h,INT 2F/AX=122Bh

Top
21440B - INT 21 - DOS 3.1+ - IOCTL - SET SHARING RETRY COUNT
INT 21 - DOS 3.1+ - IOCTL - SET SHARING RETRY COUNT
	AX = 440Bh
	CX = pause between retries (default 1)
	DX = number of retries (default 3)
Return: CF clear if successful
	CF set on error
	    AX = error code (01h) (see #01680 at AH=59h/BX=0000h)
Notes:	delay is dependent on processor speed (value in CX specifies number of
	  64K-iteration empty loops to execute)
	if DX=0000h on entry, the retry count is left unchanged
	this function was not supported by Digital Research's DOS Plus
SeeAlso: AH=52h,INT 2F/AX=1224h,INT 2F/AX=122Bh

Top
21440C - INT 21 - DOS 3.2+ - IOCTL - GENERIC CHARACTER DEVICE REQUEST
INT 21 - DOS 3.2+ - IOCTL - GENERIC CHARACTER DEVICE REQUEST
	AX = 440Ch
	BX = device handle
	CH = category code (see #01545)
	CL = function number (see #01546)
	DS:DX -> parameter block (see #01547,#01548,#01549,#01550,#01551,#01552)
	SI = parameter to pass to driver (European MS-DOS 4.0, OS/2 comp box)
	DI = parameter to pass to driver (European MS-DOS 4.0, OS/2 comp box)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    DS:DX -> iteration count if CL=65h
	    SI = returned value (European MS-DOS 4.0, OS/2 comp box)
	    DI = returned value (European MS-DOS 4.0, OS/2 comp box)
Note:	DR DOS 3.41 and 5.0 return error code 16h on CL=45h,65h if the device
	  does not support a retry counter
SeeAlso: AX=440Dh"DOS 3.2+",INT 2F/AX=0802h,INT 2F/AX=122Bh,INT 2F/AX=14FFh
SeeAlso: INT 2F/AX=1A01h

(Table 01545)
Values for IOCTL category code:
 00h	unknown (DOS 3.3+)
 01h	COMn: (DOS 3.3+)
 02h	reserved for terminal control
 03h	CON (DOS 3.3+)
 04h	reserved for keyboard control
 05h	LPTn:
 07h	mouse control (European MS-DOS 4.0)
 08h	reserved for disk control -- same as for block devices
	(see INT 21/AX=440Dh)
 9Eh	Media Access Control driver (STARLITE)
 00h-7Fh reserved for Microsoft
 80h-FFh reserved for OEM/user-defined
SeeAlso: #01558

(Table 01546)
Values for generic character IOCTL function:
 00h	MAC driver Bind (STARLITE) (see #01547)
 40h	DOS 3??? only: was reserved for set screen mode (see #04116)
 45h	set iteration (retry) count (see #01548)
 4Ah	select code page (see #01549)
 4Ch	start code-page preparation (see #01550)
 4Dh	end code-page preparation (see #01551)
 5Fh	set display information (DOS 4.0+) (see #01552)
 60h	DOS 3??? only: was reserved for get screen mode (see #04116)
 65h	get iteration (retry) count
 6Ah	query selected code page (see #01549)
 6Bh	query codepage prepare list (DOS 4.0+) (see #01553)
 7Fh	get display information (DOS 4.0+) (see #01552)
Note:	bit assignments for function code:
	    bit 7: set to ignore if unsupported, clear to return error
	    bit 6: set if passed to driver, clear if intercepted by DOS
	    bit 5: set if queries data from device, clear if sends command
		(by convention, if a function both queries and sends data,
		  bit 5 should be clear)
	    bits 4-0: subfunction

Format of parameter block for function 00h:
Offset	Size	Description	(Table 01547)
 00h  8 BYTEs	ASCIZ signature "STARMAC"
 08h	WORD	version
 0Ah	WORD	flags
		bit 0: media requires connect or listen request before use
		bit 1: network is a LAN (broadcast/multicast supported)
		bit 2: point-to-point network
 0Ch	WORD	handle for use with MAC driver's private interface (filled in
		by MAC driver)
 0Eh	WORD	context
 10h	WORD	approximate speed in KB/sec (filled in by MAC driver)
 12h	WORD	approximate cost in cents per hour (filled in by MAC driver)
 14h	WORD	maximum packet size in bytes (filled in by MAC driver)
 16h	WORD	addressing format (filled in by MAC driver)
		0000h general addressing
		0001h Ethernet addressing
		0002h Token Ring addressing
		0003h Token Bus addressing
 18h	DWORD	Send entry point (filled in by MAC driver)
 1Ch	DWORD	RegisterEventHandler entry point (filled in by MAC driver)
 20h	DWORD	SetPacketFilter entry point (filled in by MAC driver)
 24h	DWORD	UnBind entry point (filled in by MAC driver)

Format of parameter block for DOS 3??? screen mode functions 40h and 60h:
Offset	Size	Description	(Table 04116)
 00h	WORD	length of folowing data (0009h)
 02h	BYTE	mode type
 03h	WORD	number of colors
 05h	WORD	width
 07h	WORD	height
Note:	these functions appear never to have been released to the public
SeeAlso: #01546

Format of parameter block for function 45h:
Offset	Size	Description	(Table 01548)
 00h	WORD	number of times output is attempted before driver assumes
		  device is busy

Format of parameter block for functions 4Ah and 6Ah:
Offset	Size	Description	(Table 01549)
 00h	WORD	length of data
 02h	WORD	code page ID (see #01757 at INT 21/AX=6602h)
 04h 2N BYTEs	DCBS (double byte character set) lead byte range
		  start/end for each of N ranges (DOS 4.0)
	WORD	0000h  end of data (DOS 4.0)

Format of parameter block for function 4Ch:
Offset	Size	Description	(Table 01550)
 00h	WORD	flags
		DISPLAY.SYS = 0000h
		PRINTER.SYS bit 0 clear to prepare downloaded font, set to
			prepare cartridge selection
 02h	WORD	length of remainder of parameter block
 04h	WORD	number of code pages following
 06h  N WORDs	code page 1,...,N

Format of parameter block for function 4Dh:
Offset	Size	Description	(Table 01551)
 00h	WORD	length of data
 02h	WORD	code page ID (see #01757 at INT 21/AX=6602h)

Format of parameter block for functions 5Fh and 7Fh:
Offset	Size	Description	(Table 01552)
 00h	BYTE	level (0 for DOS 4.x-6.0)
 01h	BYTE	reserved (0)
 02h	WORD	length of following data (14)
 04h	WORD	control flags
		bit 0 set for blink, clear for intensity
		bits 1-15 reserved
 06h	BYTE	mode type (1=text, 2=graphics)
 07h	BYTE	reserved (0)
 08h	WORD	colors
		0000h = monochrome
		else N bits per pixel
 0Ah	WORD	pixel columns
 0Ch	WORD	pixel rows
 0Eh	WORD	character columns
 10h	WORD	character rows

Format of parameter block for function 6Bh:
Offset	Size	Description	(Table 01553)
 00h	WORD	length of following data
 02h	WORD	number of hardware code pages
 04h  N WORDs	hardware code pages 1,...,N
	WORD	number of prepared code pages
      N WORDs	prepared code pages 1,...,N

Top
21440C - INT 21 - Greg Shenaut ASPITAPE.SYS - INTERFACE
INT 21 - Greg Shenaut ASPITAPE.SYS - INTERFACE
	AX = 440Ch
	BX = device handle
	CH = category code
	    07h tape (ASPITAPE.SYS)
	CL = function
	    01h "mtop" - perform tape operation
	    02h "mtget" - get tape status
	    03h ignore end-of-tape errors
	    04h enable end-of-tape errors
	DS:DX -> parameter block (see #01554,#01555)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    DS:DX -> data block
Notes:	This device driver is a simple DOS interface to the Adaptec Advanced
	  SCSI Programming Interface (ASPI).  It provides the following device
	  names as access to the SCSI tape, 'RMTx' (rewind on close) and
	  'NRMTx' (NO rewind on close) where x can go from 0 to 3.  There may
	  also be the following names 'MTx' and 'NMTx' which default to 1024
	  byte blocks.	The names may also have a '$' appended to try and make
	  them unique from file names of 'RMT0' etc.
	once opend these devices must be put into RAW mode
SeeAlso: AX=4402h"ASPI"

Format of ASPITAPE.SYS mtop parameter block:
Offset	Size	Description	(Table 01554)
 00h	WORD	operation code
		00h "MTWEOF" - write an end-of-file record
		01h "MTFSF" - forward space file
		02h "MTBSF" - backward space file
		03h "MTFSR" - forward space record
		04h "MTBSR" - backward space record
		05h "MTREW" - rewind
		06h "MTOFFL" - rewind and unload
		07h "MTNOP" - perform TEST UNIT READY
 02h	DWORD	repetition count

Format of ASPITAPE.SYS mtget parameter block:
Offset	Size	Description	(Table 01555)
 00h	BYTE	ASPI host ID
 01h	BYTE	SCSI target ID
 02h	BYTE	SCSI logical unit number
 03h	BYTE	device parameters
		bit 0: drive must use fixed-block read and write
		bit 7: drive is an ASPI device
 04h	BYTE	current device state (see #01556)
 05h	BYTE	unit number within driver
 06h	WORD	fixed block blocksize
 08h	BYTE	last SCSI status
 09h	BYTE	last SCSI sense key
 0Ah	WORD	last SCSI opcode (packed) (see #01557)
 0Ch	WORD	residual bytes from SCSI opcode

Bitfields for ASPITAPE.SYS current device state:
Bit(s)	Description	(Table 01556)
 0	device currently opened in buffered mode
 1	drive currently opened in nonbuffered mode
 2	rewind drive on last close
 3	drive has been written on
 4	drive has been read from
 5	next read will return 0 bytes
 6	EOM will resemble EOF
 7	drive may be busy rewinding

Bitfields for SCSI opcode:
Bit(s)	Description	(Table 01557)
 0-7	SCSI operation (SCSI packet byte 0)
 8-10	SCSI flags (SCSI packet byte 1)
 11-12	ASPI "Direction Bits" (ASPI SRB byte 3)

Top
21440D - INT 21 - DOS 3.2+ - IOCTL - GENERIC BLOCK DEVICE REQUEST
INT 21 - DOS 3.2+ - IOCTL - GENERIC BLOCK DEVICE REQUEST
	AX = 440Dh
	BL = drive number (00h=default,01h=A:,etc)
	CH = category code (see #01558)
	CL = minor code (function) (see #01559)
	DS:DX -> (DOS) parameter block (see #01560,#01562,#01563,#01564,#01565)
	SI:DI -> (OS/2 comp box) parameter block (see #01566,#01568,#01569,#01572)
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    DS:DX -> data block if CL=60h or CL=61h
Notes:	DOS 4.01 seems to ignore the high byte of the number of directory
	  entries in the BPB for diskettes.
	functions 46h and 66h undocumented in DOS 4.x, documented for DOS 5+
	the DUBLDISK.SYS v2.6 driver only supports minor codes 60h and 67h
	DR DOS 3.41-6.0 only support minor codes 40h-42h and 60h-62h; all
	  other minor codes return error code 16h
	some PCMCIA calls reportedly appear to be dangerous for MS-DOS versions
	  prior to 5.0
	minor code 60h normally produces no I/O except with AutoMount=1 for
	  DBLSPACE/DRVSPACE
SeeAlso: AX=440Ch,AX=440Dh/CX=084Ah,AX=440Dh/CX=0871h,AH=69h,INT 2F/AX=0802h
SeeAlso: INT 2F/AX=122Bh

(Table 01558)
Values for block device IOCTL category code:
 08h	disk drive
 48h	FAT32 disk drive
 00h-7Fh reserved for Microsoft
 80h-FFh reserved for OEM/user-defined

(Table 01559)
Values for generic block IOCTL minor code:
 00h	(OS/2)	\ used to lock/unlock a drive
 01h	(OS/2)	/
 40h	set device parameters (see #01560)
 41h	write logical device track (see #01562)
 42h	format and verify logical device track (see #01563)
 46h	(DOS 4.0+) set volume serial number (see #01565,AH=69h)
 47h	(DOS 4.0+) set access flag (see #01566)
 48h	(Enh. Disk Drive Spec) set media lock state (see #01567,INT 13/AH=45h)
 49h	(Enh. Disk Drive Spec) eject media in drive (see INT 13/AH=49h)
	no parameter block required
 4Ah	(MS-DOS 7.0) lock logical volume (see AX=440Dh/CX=084Ah)
 4Bh	(MS-DOS 7.0) lock physical volume (see AX=440Dh/CX=084Bh)
 50h	(PCMCIA) attribute memory write
 51h	(PCMCIA) common memory write
 52h	(PCMCIA) force media change (DOS 5+ ???) (see #01568)
 53h	(PCMCIA) erase drive
 54h	(PCMCIA) erase media
 56h	(PCMCIA) set erase status callback
 57h	(PCMCIA) append Card Information Structure (CIS) tuple
 58h	(PCMCIA) erase CIS tuples
 60h	get device parameters (see #01560)
 61h	read logical device track (see #01562)
 62h	verify logical device track (see #01564)
 66h	(DOS 4.0+) get volume serial number (see #01565,AH=69h)
 67h	(DOS 4.0+) get access flag (see #01566)
 68h	(DOS 5.0+) sense media type (see #01569)
 6Ah	(MS-DOS 7.0) unlock logical volume (see AX=440Dh/CX=086Ah)
	no parameter block required
 6Bh	(MS-DOS 7.0) unlock physical volume (see AX=440Dh/CX=086Bh)
	no parameter block required
 6Ch	(MS-DOS 7.0) get lock flag (see AX=440Dh/CX=086Ch)
	no parameter block required
 6Dh	(MS-DOS 7.0) enumerate open files (see AX=440Dh/CX=086Dh)
 6Eh	(MS-DOS 7.0) find swap file (see AX=440Dh/CX=086Eh)
 6Fh	(MS-DOS 7.0) get drive map information (see #01570)
 70h	(PCMCIA) attribute memory read
 70h	(MS-DOS 7.0) get current lock state (see AX=440Dh/CX=0870h)
	no parameter block required
 71h	(MS-DOS 7.0) get first cluster (see AX=440Dh/CX=0871h)
 73h	(PCMCIA) get memory media information (DOS 5+ ???) (see #01572)
 76h	(PCMCIA) get erase status callback
 77h	(PCMCIA) get first Card Information Structure (CIS) tuple
 78h	(PCMCIA) get next CIS tuple
 7Fh	(PCMCIA) get ??? information (see #01573,#01574)

Format of parameter block for functions 40h, 60h:
Offset	Size	Description	(Table 01560)
 00h	BYTE	special functions
		bit 0 set if function to use current BPB, clear if Device
			  BIOS Parameter Block field contains new default BPB
		bit 1 set if function to use track layout fields only
			must be clear if CL=60h
		bit 2 set if all sectors in track same size (should be set)
		bits 3-7 reserved (MS-DOS, Novell DOS 7)
		bit 5: skip head settling time (WinDOS 2.11)
		bit 6: format access flag (WinDOS 2.11)
 01h	BYTE	device type (see #01561)
 02h	WORD	device attributes
		bit 0 set if nonremovable medium
		bit 1 set if door lock ("changeline") supported
		bits 2-15 reserved
 04h	WORD	number of cylinders
 06h	BYTE	media type
		for 1.2M drive
		    00h 1.2M disk (default)
		    01h 320K/360K disk
		F8h for DUBLDISK.SYS v2.6 expanded drives
		always 00h for other drive types
 07h 31 BYTEs	device BPB (see #01663 at AH=53h), bytes after BPB offset 1Eh
		  omitted; final six bytes only transferred on function 40h
		  with BYTE 00h bit 0 set for MS-DOS 5.0
---function 40h only---
 26h	WORD	number of sectors per track (start of track layout field)
		(maximum 63)
 28h  N word pairs: number,size of each sector in track
---category code 48h (FAT32), function 40h---
 07h 53 BYTEs	extended BPB (see #01664)
 3Ch 32 BYTEs	reserved
 5Ch	WORD	number of track table entries
 5Eh 2N WORDs	sector table (word pairs: number/size of each sector in track)
---category code 48h (FAT32), function 60h---
 07h 53 BYTEs	extended BPB (see #01664)
 3Ch 32 BYTEs	reserved

(Table 01561)
Values for device type:
 00h	320K/360K 5.25-inch floppy disk
 01h	1.2M 5.25-inch floppy disk
 02h	720K floppy disk
 03h	single-density 8-inch disk
 04h	double-density 8-inch disk
 05h	fixed disk
 06h	tape drive
 07h	(DOS 3.3+) other type of block device, normally 1.44M floppy
 08h	read/write optical disk
 09h	(DOS 5+) 2.88M 3.5-inch floppy
 FFh	(some DOS 5 betas) 2.88M 3.5-inch floppy

Format of parameter block for functions 41h, 61h:
Offset	Size	Description	(Table 01562)
 00h	BYTE	special functions (reserved, must be zero)
 01h	WORD	number of disk head
 03h	WORD	number of disk cylinder
 05h	WORD	number of first sector to read/write
 07h	WORD	number of sectors
 09h	DWORD	transfer address
Note:	under Windows95, a volume must be locked (see AX=440Dh/CX=084Bh) in
	  order to perform direct accesses such as track reads and writes
	  with this IOCTL function

Format of parameter block for function 42h:
Offset	Size	Description	(Table 01563)
 00h	BYTE	reserved, must be zero (DOS <3.2)
		  bit 0=0: format/verify track
			1: format status call (DOS 3.2+), don't actually format
		  bit 1: format multiple tracks, require additional WORD
			  (hard disks only)
		  bits 2-7 reserved, must be zero
		value on return (DOS 3.3+):
		  00h	specified tracks, sectors/track supported by BIOS
		  01h	function not supported by BIOS
		  02h	specified tracks, sectors/track not allowed for drive
		  03h	no disk in drive
 01h	WORD	number of disk head
 03h	WORD	number of disk cylinder
---BYTE 00h bit 1 set---
 05h	WORD	number of tracks to format

Format of parameter block for function 62h:
Offset	Size	Description	(Table 01564)
 00h	BYTE	reserved, must be zero (DOS <3.2)
		  bit 0=0: verify single track
			1: verify multiple tracks
		  bits 1-7 reserved, must be zero
		value on return (DOS 3.3+):
		  00h	specified tracks, sectors/track supported by BIOS
		  01h	function not supported by BIOS
		  02h	specified tracks, sectors/track not allowed for drive
		  03h	no disk in drive
 01h	WORD	number of disk head
 03h	WORD	number of disk cylinder
 05h	WORD	number of tracks to verify (equivalent to 255 or fewer sectors)

Format of parameter block for functions 46h, 66h:
Offset	Size	Description	(Table 01565)
 00h	WORD	(call) info level (should be 0000h)
 02h	DWORD	disk serial number (binary)
 06h 11 BYTEs	volume label or "NO NAME    "
 11h  8 BYTEs	filesystem type "FAT12	 " or "FAT16   "
		  (generally CL=66h only, but MS-DOS 5.0 will write the
		  given filesystem type to the disk)
Note:	under MS-DOS 7.0 or a Windows95 DOS box, the volume label field can
	  return as all blanks even when a volume label has been set (the Win95
	  installation seems to blank the volume label field in the partition
	  boot sector; once LABEL has been run, the volume label is reported
	  correctly)
SeeAlso: AH=69h

Format of parameter block for functions 47h, 67h:
Offset	Size	Description	(Table 01566)
 00h	BYTE	special-function field (must be zero)
 01h	BYTE	disk-access flag, nonzero if access allowed by driver

Format of parameter block for function 48h:
Offset	Size	Description	(Table 01567)
 00h	BYTE	(call) locking operation
		00h lock media in drive
		01h unlock media
		02h get locking status
 01h	BYTE	(ret) drive's lock status (number of pending locks on drive)
Note:	also supported by MS-DOS 7.0+

Format of parameter block for function 52h:
 00h	BYTE	(call) unused???	(Table 01568)
		(ret) 00h if flash/ATA drive but no card inserted
			unchanged otherwise
Notes:	the absense of a flash card should be tested by checking the DOS error
	  code rather than the returned byte
	the parameter byte is cleared to 00h erroneously by the Award
	  PCDISK.EXE v1.02c PCMCIA/ATA driver if no ATA card is inserted
	  (bug corrected in PCDISK.EXE v1.02h and later)
	not supported by the SystemSoft ATADRV.EXE and the Phoenix PCMATA.SYS
	  PCMCIA/ATA drivers

Format of parameter block for function 68h:
Offset	Size	Description	(Table 01569)
 00h	BYTE	01h for default media type, 00h for any other media type
		(see also INT 13/AH=20h"Compaq")
 01h	BYTE	02h for 720K, 07h for 1.44M, 09h for 2.88M

Format of parameter block for function 6Fh:
Offset	Size	Description	(Table 01570)
 00h	BYTE	(call) length of this buffer (in bytes)
 01h	BYTE	(ret) number of bytes in parameter block actually used
 02h	BYTE	(ret) drive flags (see #01571)
 03h	BYTE	(ret) physical drive number
		00h-7Fh floppy
		80h-FEh hard
		FFh no physical drive
 04h	DWORD	(ret) bitmap of logical drives associated with physical drive
		bit 0 = drive A:, etc.
 08h	QWORD	(ret) relative block address of partition start

Bitfields for Get Drive Map Information drive flags:
Bit(s)	Description	(Table 01571)
 0	protected-mode driver for logical drive
 1	protected-mode driver in use for physical drive corresponding to the
	  logical drive
 2	drive available only in protected mode
 3	protected-mode drive supports media ejection
 4	drive issues media insertion and removal notifications
SeeAlso: #01570

Format of parameter block for function 73h:
Offset	Size	Description	(Table 01572)
 00h	BYTE	???
		00h ATA card inserted ???
		80h ATA card not inserted ???
 01h	BYTE	length of parameter block ???
		apparently always 40h
 02h	BYTE	???
		00h ATA card not inserted ???
		0Dh ATA card inserted ???
 03h  2 BYTEs	??? (apparently always 00h)
 05h	BYTE	drive number (0=first) ???
 06h	BYTE	total number of drives ???
 07h	BYTE	???
		00h ATA card not inserted ???
		01h ATA card inserted ???
 08h 17 BYTEs	???
 19h	BYTE	???
		00h ATA card not inserted ???
		01h ATA card inserted ???
 1Ah	BYTE	??? (apparently always 01h)
 1Bh	BYTE	???
		00h ATA card not inserted ???
		01h ATA card inserted ???
 1Ch  2 BYTEs	??? (apparently always 0015h)
 1Eh  2 BYTEs	???
 20h  2 BYTEs	??? (apparently always 0110h)
 22h 15 BYTEs	???
 31h  2 BYTEs	??? (apparently always 7000h)
 33h 11 BYTEs	driver signature
		"AWARD PDISK" for Award PCDISK.EXE PCMCIA/ATA driver
		"MS-BIOS    " for HP 200LX generic ATA driver
 3Eh  2 BYTEs	???
Notes:	parameter structure possibly depends on driver
	this function is not supported by the SystemSoft ATADRV.EXE and the
	  Phoenix PCMATA.SYS PCMCIA/ATA drivers

Format of parameter block for function 7Fh for SystemSoft ATADRV.EXE:
Offset	Size	Description	(Table 01573)
 00h	DWORD	-> unknown location within driver
Note:	function supported by the SystemSoft ATADRV.EXE PCMCIA/ATA driver
	  but not by the Award PCDISK.EXE PCMCIA/ATA driver
SeeAlso: #01574

Format of parameter block for function 7Fh for Phoenix PCMATA.SYS:
Offset	Size	Description	(Table 01574)
 00h  8 BYTEs	???
Note:	this function supported by the Phoenix PCMATA.SYS PCMCIA/ATA driver
	  but not by the Award PCDISK.EXE PCMCIA/ATA driver
SeeAlso: #01573

Top
21440DCX084A - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK LOGICAL VOLUME
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK LOGICAL VOLUME
	AX = 440Dh
	CX = 084Ah / 484Ah
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 4Ah)
	BL = drive number (01h=A:,02h=B:,etc)
	BH = lock level (00h-04h)
	DX = drive permissions (see #01575) for Level 1 lock or second
	    Level 0 lock when formatting
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Notes:	the logical volume must be locked before direct disk accesses are
	  permitted by Windows95/98
	the commandline LOCK issues a level 4 lock
	Windows98 only permits lock levels 0 and 4
BUG:	Windows98 will return an error (invalid function) if the specified
	  drive number is zero or more than 32, but only allocated 26 bytes
	  for recording locks, so BL=1Bh..20h will trash internal data
	  structures
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=084Bh,AX=440Dh/CX=086Ah
SeeAlso: AX=440Dh/CX=086Ch

Bitfields for drive permissions:
Bit(s)	Description	(Table 01575)
 0	allow writes
 1	disallow new file mappings
 2	volume locked for formatting

Top
21440DCX084B - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK PHYSICAL VOLUME
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - LOCK PHYSICAL VOLUME
	AX = 440Dh
	CX = 084Bh / 484Bh
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 4Bh)
	BH = logical drive number (00h = default, 01h = A:, etc.)
	BL = lock level (00h-03h)
	DX = drive permissions (see #01575) for Level 1 lock or second
	    Level 0 lock when formatting
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Desc:	lock all logical volumes on the same physical volume as the indicated
	  drive
Note:	the physical volume must be locked before direct disk writes via
	  INT 13 are permitted by Windows95
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=084Ah,AX=440Dh/CX=086Bh
SeeAlso: AX=440Dh/CX=086Ch

Top
21440DCX086A - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK LOGICAL VOLUME
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK LOGICAL VOLUME
	AX = 440Dh
	CX = 086Ah / 486Ah
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 6Ah)
	BL = drive number (00h=default,01h=A:,etc)
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Note:	the logical volume must be locked before direct disk accesses via
	  INT 13 are permitted by Windows95
BUG:	Windows98 will return an error (invalid function) if the specified
	  drive number is zero or more than 32, but only allocated 26 bytes
	  for recording locks, so BL=1Bh..20h will trash internal data
	  structures
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=084Ah,AX=440Dh/CX=086Bh

Top
21440DCX086B - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK PHYSICAL VOLUME
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - UNLOCK PHYSICAL VOLUME
	AX = 440Dh
	CX = 086Bh / 486Bh
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 6Bh)
	BH = logical drive number (00h = default, 01h = A:, etc.)
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Desc:	lock all logical volumes on the same physical volume as the indicated
	  drive
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=084Bh,AX=440Dh/CX=086Ah

Top
21440DCX086C - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET LOCK FLAG STATE
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET LOCK FLAG STATE
	AX = 440Dh
	CX = 086Ch / 486Ch
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 6Ch)
	BL = drive number (00h=default,01h=A:,etc)
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = access flag (see #01576)
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=084Ah,AX=440Dh/CX=084Bh
SeeAlso: AX=440Dh/CX=0870h

(Table 01576)
Values for drive access flag:
 0000h	no writes/file mappings since last call
 0001h	write operation has occurred since last call
 0002h	file mapping has occurred since last call
Note:	function 6Ch resets the access flag every time it is called

Top
21440DCX086D - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - ENUMERATE OPEN FILES
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - ENUMERATE OPEN FILES
	AX = 440Dh
	CX = 086Dh / 486Dh
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 6Dh)
	BL = drive number (00h=default,01h=A:,etc)
	DS:DX -> buffer for ASCIZ pathname
	SI = file index (0000h to number of open files-1)
	DI = enumeration type (0000h all files, 0001h unmovable files)
Return: CF set on error
	    AX = error code (01h,02h,12h,etc.) (see #01680 at AH=59h/BX=0000h)
		0012h if file index is out of range
	CF clear if successful
	    AX = file open mode (BX from AX=6C00h or AX=716Ch)
	    CX = file type (see #01577)
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=084Ah,AX=440Dh/CX=086Ch
SeeAlso: AX=440Dh/CX=086Eh,AX=6C00h,AX=716Ch

(Table 01577)
Values for file type:
 0000h	normal file
 0001h	memory-mapped file (unmovable)
 0002h	unmovable file
 0004h	swap file

Top
21440DCX086E - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - FIND SWAP FILE
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - FIND SWAP FILE
	AX = 440Dh
	CX = 086Eh / 486Eh
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 6Eh)
	BL = drive number (00h=default,01h=A:,etc)
	DS:DX -> buffer for ASCIZ pathname
	SI = file index
	DI = enumeration type
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = pager type
		0001h no pager
		0002h paging through MS-DOS
		0003h protected-mode pager
	    CX:BX = swap file size in 4K pages
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=086Dh

Top
21440DCX0870 - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET CURRENT LOCK STATE
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET CURRENT LOCK STATE
	AX = 440Dh
	CX = 0870h / 4870h
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 70h)
	BL = drive number (00h=default,01h=A:,etc)
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = current lock level (0-3) or FFFFh if not locked
	    CX = lock permissions if AX<>FFFFh (see #01575)
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=086Ch

Top
21440DCX0871 - INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET FIRST CLUSTER
INT 21 - MS-DOS 7.0+ - GENERIC IOCTL - GET FIRST CLUSTER
	AX = 440Dh
	CX = 0871h / 4871h
	    (category code 08h for FAT12/16, 48h for FAT32; minor code 71h)
	BX = filename character set (see #01578)
	DS:DX -> ASCIZ pathname for file or directory
Return: CF set on error
	    AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    DX:AX = first cluster number
Note:	this function finds any file or directory regardless of attributes,
	  except that it will not find volume labels
SeeAlso: AX=440Dh"DOS 3.2+",AX=440Dh/CX=086Ch,#01352

(Table 01578)
Values for character set:
 00h	Windows ANSI
 01h	current OEM character set
 02h	Unicode

Top
21440DCXEDC1 - INT 21 - DR PalmDOS - GENERIC IOCTL - LOGIN SECURITY
INT 21 - DR PalmDOS - GENERIC IOCTL - LOGIN SECURITY
	AX = 440Dh
	CX = EDC1h (category code EDh, minor code C1h)
	BL = boot drive number (01h=A:,02h=B:,etc)
Return: AL = 0 if already logged in
	AL <> 0 if system is still secured (not logged in)
	ES:DI -> ???
Notes:	This function is called by DR PalmDOS IBMBIO.COM after CONFIG.SYS
	  processing has finished and it has launched the LOGIN.SYS utility
	  (if this is not in the root of the boot drive, the undocumented
	  CONFIG.SYS LOGIN directive can be used to change the path and the
	  moment when the login prompt will be displayed).
	If security is active and the user has still not logged in,
	  IBMBIO.COM will display an error message and halt the system.

Top
21440E - INT 21 - DOS 3.2+ - IOCTL - GET LOGICAL DRIVE MAP
INT 21 - DOS 3.2+ - IOCTL - GET LOGICAL DRIVE MAP
	AX = 440Eh
	BL = drive number (00h=default,01h=A:,etc)
Return: CF set on error
	    AX = error code (01h,0Fh) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AL = 00h block device has only one logical drive assigned
		 1..26 the last letter used to reference the drive (1=A:,etc)
Notes:	DR DOS 3.41-5.0 DRIVER.SYS does not support drive mapping and thus
	  always returns AL=00h; Windows NT 4.0 also always returns AL=00h
	in addition to the normal operation, if Stacker is installed, this
	  call also sets the volume number at offset 58h in the Stacker
	  device driver (DR DOS 3.41-5.0 only; use AX=4408h otherwise)
	  (see AX=4404h"Stacker",INT 25/AX=CDCDh)
SeeAlso: AX=4408h,AX=440Fh,INT 2F/AX=122Bh

Top
21440F - INT 21 - DOS 3.2+ - IOCTL - SET LOGICAL DRIVE MAP
INT 21 - DOS 3.2+ - IOCTL - SET LOGICAL DRIVE MAP
	AX = 440Fh
	BL = physical drive number (00h=default,01h=A:,etc))
Return: CF set on error
	    AX = error code (01h,0Fh) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    drive now responds to next logical drive number
Notes:	maps logical drives to physical drives, similar to DOS's treatment of
	  a single physical floppy drive as both A: and B:
	DR DOS 3.41-5.0 DRIVER.SYS does not support drive mapping and thus
	  always returns an error on this function
SeeAlso: AX=440Eh,INT 2F/AX=122Bh

Top
214410 - INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (HANDLE)
INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (HANDLE)
	AX = 4410h
	BX = handle for device
	CH = category code (see #01545)
	CL = function code (see #01546)
Return: CF clear if successful
	    AX = 0000h	specified IOCTL function is supported
	CF set on error
	    AL = 01h	IOCTL capability not available
Note:	a program which wishes to use Generic IOCTL calls beyond those in the
	  standard DOS 3.2 set may use this call first to see whether a
	  particular call is supported
SeeAlso: AX=440Ch,AX=440Dh"DOS 3.2+",AX=4411h

Top
214410BXFFFF - INT 21 U - NewSpace - ENABLE DRIVER
INT 21 U - NewSpace - ENABLE DRIVER
	AX = 4410h
	BX = FFFFh
Program: NewSpace is a TSR by Isogon Corporation which automatically compresses
	  all files as they are written and decompresses them as they are read
Note:	compressed files are not accessible unless the driver is enabled
SeeAlso: AX=4411h/BX=FFFFh

Top
214411 - INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (DRIVE)
INT 21 - DOS 5+ - IOCTL - QUERY GENERIC IOCTL CAPABILITY (DRIVE)
	AX = 4411h
	BL = drive number
	CH = category code (see #01558)
	CL = function code (see #01559)
Return: CF clear if successful
	    AX = 0000h	specified IOCTL function is supported
	CF set on error
	    AL = 01h	IOCTL capability not available
Note:	a program which wishes to use Generic IOCTL calls beyond those in the
	  standard DOS 3.2 set may use this call first to see whether a
	  particular call is supported
SeeAlso: AX=440Ch,AX=440Dh"DOS 3.2+",AX=4410h

Top
214411BXFFFF - INT 21 U - NewSpace - DISABLE DRIVER
INT 21 U - NewSpace - DISABLE DRIVER
	AX = 4411h
	BX = FFFFh
Program: NewSpace is a TSR by Isogon Corporation which automatically compresses
	  all files as they are written and decompresses them as they are read
Note:	compressed files are not accessible unless the driver is enabled
SeeAlso: AX=4410h/BX=FFFFh

Top
214412 - INT 21 O - DR DOS 5.0-6.0 - DETERMINE DOS TYPE
INT 21 O - DR DOS 5.0-6.0 - DETERMINE DOS TYPE
	AX = 4412h
	CF set
Return: CF set if not DR DOS
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if DR DOS
	    DX = AX = version code (see #01580)
Note:	this obsolete call, which is no longer supported in Novell DOS 7, is
	  identical to AX=4452h
SeeAlso: AX=4452h

Top
214412BXFFFF - INT 21 U - NewSpace - INSTALLATION CHECK???
INT 21 U - NewSpace - INSTALLATION CHECK???
	AX = 4412h
	BX = FFFFh
Return: AX = PSP segment of NewRes (resident driver for NewSpace)
	BX:DX -> ???
	CX = ???
SeeAlso: AX=4411h/BX=FFFFh

Top
214413BXFFFF - INT 21 U - NewSpace - GET ???
INT 21 U - NewSpace - GET ???
	AX = 4413h
	BX = FFFFh
Return: AX = code segment of NewRes (resident driver for NewSpace)
	BX = offset of ???
SeeAlso: AX=4412h/BX=FFFFh

Top
214414 - INT 21 OU - DR DOS 5.0-6.0 - SET GLOBAL PASSWORD
INT 21 OU - DR DOS 5.0-6.0 - SET GLOBAL PASSWORD
	AX = 4414h
	DS:DX -> password string (blank-padded to 8 characters)
Desc:	Specify the master password for accessing files.
Note:	this obsolete call, which is no longer supported in Novell DOS 7, is
	  identical to AX=4454h
SeeAlso: AX=4454h

Top
214414BXFFFF - INT 21 U - NewSpace - DEBUGGING DUMP
INT 21 U - NewSpace - DEBUGGING DUMP
	AX = 4414h
	BX = FFFFh
Return: debugging dump written to X:\NEWSPACE.SMP
SeeAlso: AX=4413h/BX=FFFFh,AX=44FFh/BX=FFFFh

Top
214416 - INT 21 OU - DR DOS 5.0-6.0 - HISTORY BUFFER, SHARE, AND HILOAD CONTROL
INT 21 OU - DR DOS 5.0-6.0 - HISTORY BUFFER, SHARE, AND HILOAD CONTROL
	AX = 4416h to 4418h
Note:	these obsolete subfunctions (which are no longer supported in Novell
	  DOS 7) are identical to AX=4456h through 4458h
SeeAlso: AX=4456h,AX=4457h,AX=4458h

Top
214451 - INT 21 - Concurrent DOS v3.2+ - INSTALLATION CHECK
INT 21 - Concurrent DOS v3.2+ - INSTALLATION CHECK
	AX = 4451h
Return: CF set if not Concurrent DOS
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AH = single-user/multiuser nature (see #01581)
		10h single-user
		    AL = operating system version ID (see #01580)
		14h multiuser
		    AL = operating system version ID (see #01579)
Notes:	as of Concurrent DOS/XM 5.0 (possibly earlier), the version is stored
	  in the environment variable VER and the OS type in variable OS
	use this function if you are looking for multiuser capabilities,
	  AX=4452h for single-user
	this function should never return the single-user values; however, an
	  application should be prepared to accept single-user values, i.e. it
	  should check the returned AH and AL separately
	CCI Multiuser DOS 7.22 returns AX=DX=1466h.
	DR DOS 3.31+ error returns with AX=0001h
SeeAlso: AX=4452h,AX=4459h

(Table 01579)
Values for Digital Research operating system version ID:
 32h	Concurrent PC DOS 3.2
 41h	Concurrent DOS 4.1
 50h	Concurrent DOS/XM 5.0 or Concurrent DOS/386 1.1
 60h	Concurrent DOS/XM 6.0 or Concurrent DOS/386 2.0
 62h	Concurrent DOS/XM 6.2 or Concurrent DOS/386 3.0
 66h	DR Multiuser DOS 5.1, CCT Multiuser DOS 7.x
 67h	Concurrent DOS 5.1
SeeAlso: #01581,#04023

Top
214452 - INT 21 - DR DOS 3.41+ - DETERMINE DOS TYPE/GET DR DOS VERSION
INT 21 - DR DOS 3.41+ - DETERMINE DOS TYPE/GET DR DOS VERSION
	AX = 4452h ("DR")
	CF set
Return: CF set if not DR DOS
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if DR DOS
	    AX = version code
	    AH = single-user/multiuser nature (see #01581)
		10h single-user
		    AL = operating system version ID (see #01580)
		14h multiuser
		    AL = operating system version ID (see #01579)
	    DX modified (refer to note below)
Notes:	the DR DOS version is stored in the environment variable VER
	use this function if looking for single-user capabilities, AX=4451h
	  if looking for multiuser; this call should never return multiuser
	  values
	in DR DOS 3.41-6.0, DX=AX on return; for Novell DOS 7, DH=AH but DL=00h
	  (reportedly, DH=00h when booting NWDOS7 from installation disks)
	Novell DOS 7 returns error code 0001h if SETVER x.255 is in effect for
	  the calling program, or SETVER /G x.255 is in effect
	although based on DR DOS, CCI Multiuser DOS 7.xx,
	  IMS Multiuser DOS 7.x, and IMS REAL/32 7.50+ do not support this call
	With OpenDOS 7.02 BETA 2 and DR-OpenDOS 7.02+, the install check
	  in most tools has been changed to run with both, AH=10h and AH=14h
	  to support possible future "client side" multiuser releases of
	  DR-DOS which may return 14h instead of 10h. Tools should also strip
	  off the CP/Net bit before checking the kernel version.
	  Often used version checks like >= 1070h are invalid, therefore,
	  hence the AH and AL must be checked seperately.
	In DR DOS 3.31-6.0, and DR PalmDOS, DX=AX on return.
	For Novell DOS 7 - DR DOS 7.03 the DX value returned by this function
	  is the same as the DX value returned by INT 21/AX=3306h, and
	  represents the DOS revision (bits 7-0, currently always DL=00h) and
	  the version flags (bits 15-8, with bit 12 = DOS in HMA, bit 11 = DOS
	  in ROM) of the "patch_version" field in the PCM_HEADER structure in
	  the IBMDOS.COM file. The version flags, however, are updated at
	  runtime to reflect the actual system status, resulting, for example,
	  in DH=10h for DOS in HMA, and DH=0 when booting Novell DOS 7 from
	  installation disks.
	The operating system version ID represents the BDOS (Basic Disk
	  Operating System) kernel version (of the DRBDOS.SYS aka IBMDOS.COM
	  file), and the two nibbles can actually be read as CP/M version
	  and sub-version, that is DR-DOS 7.03 (version code 1073h) is
	  actually CP/M-86 version 7.3.
	Due to lost original patch sources from the backups, Caldera OpenDOS
	  7.01 merely represented Novell DOS 7 Update 10 with minor changes.
	For Caldera DR-OpenDOS 7.02, all the Novell DOS 7 patches up to
	  including Update 15.2 have been re-incorporated into the system
	  from other sources, while the missing patches for IBMBIO.COM were
	  independently re-implemented by Matthias Paul in 07/1997-10/1997.
	Novell DOS 7 (since 1993-11-08), OpenDOS 7.01 and OpenDOS 7.02 BETA
	  IBMDOS.COM return error code 0001h if SETVER x.255 is in effect
	  for the calling program, or SETVER /G x.255 is in effect.
	Since Caldera DR-OpenDOS 7.02 the SHARE 2.05+ (1998-01-05) driver
	  uses INT 21/AX=65A2h as an *additional* BDOS version check: If the
	  "FUCASE char" function is functional on a DR-DOS BDOS kernel 72h+,
	  SHARE assumes it is running on an OpenDOS 7.02 BETA 1 (73h) kernel
	  (or later) even if the BDOS version returned by INT 21/AX=4452h would
	  indicate an earlier issue of the kernel. Some 3rd party drivers
	  (like HPFS_DOS.EXE) were hardwired to detect Novell DOS 7 only,
	  and so the kernel version had to be patched back on such systems
	  to allow such drivers to work properly. The BDOS version and DOS
	  revision are stored in PCM_HEADER of the IBMDOS.COM file, see
	  table XXXX below.
	However, this is no longer necessary with the introduction of the
	  DR-DOS 7.02+ IBMDOS.COM (since 1998-01-10) and SETVER 1.01+
	  (since 1998-01-12) because they allow to fake BDOS versions as well
	  as faking DOS versions. In /X mode, a set sub-version of y = 100..127
	  will be used as BDOS version instead (64h..7Fh), while the DOS
	  revision will be used to report the DOS sub-version instead. For
	  example, given a DOS revision of 0, SETVER 6.114 would be the proper
	  value to fake Novell DOS 7 (114=72h) on a DR-DOS 7.02+ system,
	  reporting a DOS version of "IBM" 6.00. Sub-versions 128..255 will
	  completely disable this BDOS version check, and report a DOS sub-
	  version of 0..127. This is to work around problems with possibly
	  hostile programs, that try to detect DR-DOS to not run on this OS.
	Additional version check for 1072h kernels: At API level, there
	  is no known way to distinguish Novell DOS 7 from OpenDOS 7.01,
	  however, an IBMBIO.COM/IBMDOS.COM file date since 1997 and the
	  existance of an environment variable %OS%=OPENDOS usually indicates
	  an OpenDOS system (but not the other way around; some OpenDOS
	  BETAs still used %OS%=NWDOS!).
	Additional version checks for 1073h kernels: A functional test of
	  INT 21/AX=65A2h (see above for SHARE) can be used to distinguish
	  OpenDOS 7.02 BETA 1 from the later (OpenDOS 7.02 BETA 2+ and)
	  DR-OpenDOS 7.02 and DR-DOS 7.02 releases, which are both the
	  same, except for the name change and minor bug fixes. Testing
	  for the INT 21/AX=6601h/BX=0000h bug can be used to differentiate the
	  original release of DR-DOS 7.02 from later 7.02 updates and
	  DR-DOS 7.03.
	The DR DOS version is stored in the environment variable VER.
SeeAlso: AX=4412h,AX=4451h,AX=4459h

(Table 01580)
Values for Digital Research operating system version ID:
 41h	DOS Plus 1.2
 60h	DOS Plus 2.0 or 2.1
 63h	DR DOS 3.41
 64h	DR DOS 3.42
 65h	DR DOS 5.0
 67h	DR DOS 6.0
 70h	PalmDOS
 71h	DR DOS 6.0 March 1993 "business update"
 72h	Novell DOS 7.0
 73h	OpenDOS 7.02
SeeAlso: #01579,#01581,#04088,#04023

(Table 04088)
Values for Digital Research operating system ID codes (full AX return value):
 ??41h	- DOS Plus 1.2
 1060h	- DOS Plus 2.0 or 2.1 (1988-03-09???)
	  (this was basically a Concurrent CP/M-86 with built-in DOS emulation
	   developed between 1983-1986)
 1060h	- DR DOS 3.31 (OEM) (1988-04-27???, 06/1988)
	- DR DOS 3.32 (OEM) (1988-08-17)
	- DR DOS 3.33 (OEM) (1988-09-01)
	- DR DOS 3.34 (OEM)
	- DR DOS 3.35 (OEM) (1988-10-21)
	  for example: at least an issue for "Prism System 232" (10/1988)
	  and a French issue existed.
 106?h	- DR DOS 3.40 BETA 1 (1988-11-11)
	- DR DOS 3.40
	  (This is the first issue for sure known to be ROMmable, although
	  DR DOS should have been ROMmable right from the start (1987).)
 1063h	- DR DOS 3.41 various OEM and retail releases (06/1989-07/1989)
	- DR DOS 3.41T
 1064h	- DR DOS 3.42
	  (It is not clear, if this issue was actually released, since Lineo
	  recently (fall 1999) released some historical kernels, and one of
	  them is sailing under the name DR DOS 5.0 "Leopard" BETA 1 and has
	  copyright strings from 1990, while it still identifies itself as
	  being DR DOS 3.41... Unfortunately the uploaded archive is broken,
	  hence it is not possible to find out easily. Maybe DR DOS 3.42 was
	  nothing more than this early "Leopard" BETA???)
 1065h	- DR DOS ??? (1990-02-01)
	- DR DOS 5.0 "Leopard" BETA 2 (1990-03-16),
	- DR DOS 5.0 "Leopard" BETA 2B
	  (This was the first issue to use the new IBMBIO.COM/IBMDOS.COM
	  names instead of DRBIOS.SYS/DRBDOS.SYS.)
	- DR DOS 5.0 "Leopard" BETA 3
	  (This issue still uses separate boot sectors for floppies and
	  harddisks. The boot sector OEM label is still "DIGITAL".)
	- DR DOS 5.0 release (06/1990, 08/1990)
	  (This issue has a combined boot sector for both, floppies and
	  harddisks. The boot sector OEM label has changed to "IBM  3.3".
	  DR DOS 5.0 was the first DOS to introduce high-load capabilities.)
 1066h	- DR DOS ??? (1990-08-09)
	- DR DOS 6.0 "Buxton" ALPHA (02/1991-03/1991)
 1067h	- DR DOS ??? (1991-03-15)
 106?h	- DR DOS 6.0 "Buxton" BETA 2 (??/1991)
 106?h	- DR DOS 6.0 "Buxton" BETA 3 (05/1991, 1991-06-27, 1991-06-28)
 1067h	- DR DOS 6.0 release (05/1991, 08/1991)
	- DR DOS 6.0 BDOS patch "PAT304" English (1991-11-29, XDIR /C: 9D8Ch)
	  fix for "\\" in cmdline by Quick Basic 4.5/MS PDS 7.1 on Lantastic 4.0
	- DR DOS 6.0 BDOS patch "PAT303" English (1991-12-03, XDIR /C: 66B0h)
	  This patch makes INT 21/AH=4Eh (Search First) compatible with MS-DOS
	  when the Volume Label attribute is set. Previously under DR DOS the
	  volume label was only searched for if bit 3 was the only bit set in
	  the attribute whereas MS-DOS searches for the volume label if bit 3
	  is set, irrespective of any other bits in the attribute.
	- DR DOS 6.0 BDOS patch "PAT306" English (1991-12-11, XDIR /C: 8DE5h)
	  This patch fixes a problem with OPTASM which would give error 8
	  if there were not enough handles available. This patch forces the
	  system to check for available handles before it opens a file.
	- DR DOS 6.0 BDOS patch "PAT312" English (1992-01-07, XDIR /C: A0C6h)
	  This patch fixes a problem with INT 21/AH=26h (create PSP) the
	  segment from which the PSP was copied was incorrect so the the PSP
	  was not filled correctly and did not contain the command tail.
	- DR DOS 6.0 BDOS patch "PAT314" English (1992-01-10, XDIR /C: C964h)
	  This patch modifies INT 21/AX=33xxh, the Ctrl Break handler to
	  support undocumented MS-DOS function INT 21/AX=3302h.
	- DR DOS 6.0 BIOS patch "PAT315" English (1992-01-10, XDIR /C: DBAAh)
	  This patch fixes a problem where, when booting from a Bernoulli
	  drive, any DEVICE= statement in CONFIG.SYS failed if it was placed
	  after the device driver RCD.SYS v7.x and DOSOAD.SYS v1.x
	- DR DOS 6.0 BDOS patch "PAT317" English (1992-01-27, XDIR /C: B701h)
	  This patch fixes a problem where attempting to close a changed file
	  on a write protected disk seems to work after the first retry.
	  This was caused because when the retry is attempted the file has been
	  marked as not changed, so the attempt to write to disk is not made.
	- DR DOS 6.0 BDOS patch "PAT321" English (1992-02-19, XDIR /C: 947Bh)
	  This patch fixes a problem where the error codes returned from
	  INT 25h and INT 26h for "drive not ready" and "write protect"
	  errors were incorrect.
	- DR DOS 6.0 BDOS patch "PAT323" English (1992-02-20, XDIR /C: E1B0h)
	  This patch fixes a problem where, if the first command entered after
	  booting the machine is a single character, any use of the command
	  line recall keys will only recall the first command.
	- DR DOS 6.0 ??? German (1992-02-21)
	- DR DOS 6.0 update (02/1992)
	- DR DOS 6.0 BDOS patch "PAT326" English (1992-03-05, XDIR /C: 8EF2h)
	  This is an optional patch to prevent DRDOS from padding the
	  environment of EXEPACKed applications or utilities.
	- DR DOS 6.0 ??? German (1992-03-27)
	- DR DOS 6.0 BDOS patch "PAT334" English (1992-03-27, XDIR /C: 2AFEh)
	  This patch fixes a problem where selecting (R)etry after hitting ^P
	  while the printer is offline caused the system to hang.
	- DR DOS 6.0 "Windows 3.1 update, April 1992" "dr6win" (03/1992,
	  1992-04-07). This public update only includes patches addressing
	  full Windows 3.1 compatiblity. There should have been a full
	  "business update" for registered users, shipping a little bit later.
	- DR DOS 6.0 ??? English (1992-04-07)
	- DR DOS 6.0 BDOS patch "pat354" English (1992-07-28, XDIR /C: 3398h)
	  This patch for Beame and Whiteside Networks: On opening a duplicate
	  file handle which describes a device, a device open call is made to
	  inform the device driver that a new file handle has been opened.
	  This patch is current and up to date as of 1992-11-10.
	- DR DOS 6.0 update (07/1992)
	- DR DOS 6.0 BDOS patch "PAT301" English (1992-10-28, XDIR /C: 959Bh)
	  This patch fixes a problem with apps that opens a file, with Share
	  loaded, but then cannot delete the file until the file is closed.
	  This causes "Money Manager" to fail.
	- DR DOS 6.0 update (11/1992)
	Note: There is no known method to distinguish these different kernels
	       at runtime, except for - maybe - checksumming the IBMBIO.COM/
	       IBMDOS.COM files.
	      The listed patches only address a single problem, while the
	       listed updates are full rebuilds, also including all previous
	       fixes.
 1070h	- multitasking "Vladivar" kernel architecture and introduction of
	  DOS-like structures (1991-07-26, 08/1991)
	- DR DOS ??? (1991-09-26)
	- DR PalmDOS "Merlin" BETA 1-2
	- DR PalmDOS "Merlin" BETA 3 (1992-06-23)
	- DR PalmDOS "Merlin" Evaluation Release (1992-08-25)
	- DR PalmDOS Release Candidates 1-2 (1992-08-26)
	- DR PalmDOS/NetWare PalmDOS 1.0 (06/1992-11/1992)
	  (DR PalmDOS was the first DR DOS re-incarnation that supported
	  a genuine CDS, but still pretended to be DOS 3.31. Much of the
	  former CP/M stuff was stripped out to reduce the code size to meet
	  early Palmtop PC requirements. It introduced the patented dynamic
	  idle detection method (by Roger Gross), a special issue of the
	  TASKMAX program switcher (MINIMAX) to support Personal Information
	  Modules (PIM) plug-in executables, supported Flash/ROM disk,
	  XIP "Execute in Place" applications, and came with PCMCIA Card
	  Services and Service Stack (SS) partially written by Ian Cullimore
	  (ex-Poquet Computer Corporation founder).
	- DR DOS "Panther" BETA 1 (1992-10-16)
	  (This issue already supported DPMS, had the "Vladivar" pre-emptive
	  multitasker, DPMS-SuperStor disk compression, Multiuser-security
	  (World/Group/Owner), and much improved multi-windowing ViewMAX/3 GUI
	  which looked alot more like Windows than GEM. It pretended to be
	  PC DOS 5. However, this issue was never released and later partially
	  merged into the Novell DOS 7 project (without Multiuser-security and
	  ViewMAX/3). In 1999, Caldera Thin Clients released ViewMAX/3 under
	  GPL, see http://www.gemworld.com.)
 1070h??? - DR DOS "StarTrek" (STDOS) (07/1992-05/1993)
	  (A never released, though reportedly fully functional result of
	  a Novell and Apple team-up utilizing the DR DOS "Vladivar" multi-
	  tasker to run Apple's Intel-port of MacOS 7.1 on an issue of DR DOS
	  "Panther", even emulating HFS and Mac resources on DOS FAT file-
	  systems.)
 1071h	- DR DOS ??? (1992-11-26)
	- DR DOS 6.0 "business update" "DRDOS493" English for
	  Windows for Workgroups 3.1 (1993-03-19)
	- DR DOS 6.0 patch "PATDR6" English (1993-03-19) for NetWare
	- DR DOS 6.0 patch "PAT394" English (1993-09-17)
	- Apparently also some issues of DR DOS "Panther"???
 1072h	- Novell DOS 7/PNW "Smirnoff" BETA 1 (??/1993, probably 1993-04-26)
	- Novell DOS 7 "Panther" BETA 2 (08/1993)
	  (This "Panther" issue is much different from the early 10/1992
	  "Panther" BETA 1.)
	- Novell DOS 7 "Panther/Smirnoff" BETA 2 (08/1993)
	- Novell DOS 7 "Panther/Smirnoff" BETA 3 (09/1993)
	  (This issue does not have workarounds for Windows 3.1 "AARD" code)
	- Novell DOS 7 "Panther/Smirnoff" BETA 4 (10/1993)
	- Novell DOS 7 code freeze 1993-12-03???)
	- Novell DOS 7 release (12/1993-04/1994)
	  (also known as NWDOS or ND7, sometimes erroneously called NDOS)
	- Novell DOS 7 German release (1994-02-22)
	  (This issue is known to have workarounds for Windows 3.1 "AARD" code)
	- Novell DOS 7 updates 1-3 (???/1994)
	- Novell DOS 7 update 4 (1994-05-31)
	- Novell DOS 7 updates 5-9 (???/1994)
	- Novell DOS 7 update 10 (12/1994)
	- Novell DOS 7 update 11 (01/1995)
	- Novell DOS 7 update 12 (04/1995)
	- Novell DOS 7 update 13 (05/1995)
	- Novell DOS 7 update 14 (08-09/1995)
	- Novell DOS 7 update 15 (12/1995)
	- Novell DOS 7 update 15.2 (01/1996)
	  Note: The Novell DOS 7 updates 4-15.2 are full rebuilds, not patched
	   binaries.
	- Caldera OpenDOS 7.01 BETA (02/1997)
	  (basically representing Novell DOS 7 update 10 with minor
	  changes here and there)
	- Caldera OpenDOS 7.01 (02-03/1997)
	- Caldera OpenDOS 7.01 M.R.S. (05/1997)
	  (release of the kernel source code)
	- Matthias Paul's enhanced OpenDOS 7.02 ALPHA 1-4 kernels (07-11/1997)
 1073h	- Caldera OpenDOS 7.02 BETA 1 (09/1997)
	  (incorporating most the Novell DOS 7 update 15.2 changes,
	  except for IBMBIO.COM changes, plus a few other enhancements)
	- Caldera OpenDOS 7.02 BETA 2 (11/1997)
	  (now also incorporating Matthias Paul's ALPHA 4 enhancements,
	  the Novell DOS update 15.2 IBMBIO.COM patches have been
	  re-implemented)
	- Caldera OpenDOS 7.02 BETA 2A (12/1997)
	  (now incorporating all Novell DOS 7 update 15.2 changes)
	- Caldera DR-OpenDOS 7.02 (1997-12-2x)
	  (now for the first time the product name is written with a hyphen!!!)
	- Caldera DR-DOS 7.02 internal build (02/1998)
	- Caldera DR-DOS 7.02 release (03/1998)
	- Caldera DR-DOS 7.02A release (06/1998)
	- DR-DOS 7.02 Update 1 (08/1998)
	- DR-DOS 7.02 Update 2 (09/1998)
	- Caldera (Thin Clients) DR-DOS 7.03 BETA (1998-12-03),
	  sometimes referred to as "DR-DOS 7.03 BETA 3"
	- Caldera (Thin Clients) DR-DOS 7.03 release (1998-12-24, 1999-01-06)
	- Lineo DR-DOS 7.03 release (1999-06-07, 1999-09-09)
	  (this issue has no functional changes compared to the 1999-01-06
	  issue of DR-DOS 7.03)
SeeAlso: #01580,#01579,#01581,#04023

Bitfields for CP/M type indicator:
Bit(s)	Description	(Table 01581)
 7-4	CPU type
	0000 = 8080
	0001 = 8086
 3-0	OS type
	0000 = CP/M
	0001 = MP/M
	0002 = CP/Net
	0004 = multiuser
Notes:	Usually 10h (single-user) or 14h (multi-user).
	While earlier releases of the system utilities performed a test for
	  a version code of (>)= (10)xxh, this was changed with
	  DR-OpenDOS 7.02+ (now taking a possible multi-user version into
	  account): Most utilities now test for AH being either 10h or 14h,
	  and a BDOS version >=xxh to allow them to properly run on possible
	  future multi-user releases of DR-DOS. Before doing this test, some
	  of them strip off the CP/Net bit.
SeeAlso: #01580

Top
214454 - INT 21 U - DR DOS 3.41+ - SET GLOBAL PASSWORD
INT 21 U - DR DOS 3.41+ - SET GLOBAL PASSWORD
	AX = 4454h
	DS:DX -> password string (blank-padded to 8 characters)
Desc:	Specify the master password for accessing files.
SeeAlso: AX=4303h,AX=4414h

Top
214456 - INT 21 U - DR DOS 5.0+ - HISTORY BUFFER CONTROL
INT 21 U - DR DOS 5.0+ - HISTORY BUFFER CONTROL
	AX = 4456h
	DL = control flags (see #01582)
Return: AL = previous value of state flags (see #01583)
Note:	DR DOS 6.0 only checks bit 0 and ignores the rest of DL
SeeAlso: #01584

Bitfields for control flags:
Bit(s)	Description	(Table 01582)
 0	whose buffer: 0=application, 1=COMMAND.COM
---Novell DOS 7---
 1	toggle HISTORY usage
 2	toggle INSERT state
Note:	only one bit at a time may be used

Bitfields for state flags:
Bit(s)	Description	(Table 01583)
 0	HISTORY buffer enabled
 1	INSERT enabled
 2-5	unused
 7	whose buffer: 0=application, 1=COMMAND.COM

Top
214457 - INT 21 U - DR DOS 5.0-6.0 - SHARE/HILOAD CONTROL
INT 21 U - DR DOS 5.0-6.0 - SHARE/HILOAD CONTROL
	AX = 4457h
	DH = subfunction
	    00h enable/disable SHARE
		DL = 00h disable
		   = 01h enable
		   else Return: AX = ???
	    01h get HILOAD status
		Return: AX = status
			    0000h off
			    0001h on
	    02h set HILOAD status
		DL = new state (00h off, 01h on)
		Return: AX = ???
	    other
		Return: AX = ???
Note:	This was seen called by COMMAND.COM of DR DOS 6.0; it does not seem
	  to be supported by Novell DOS 7
SeeAlso: AX=4457h/DX=FFFFh

Top
214457DXFFFF - INT 21 OU - DR DOS 6.0 - GET SHARE STATUS
INT 21 OU - DR DOS 6.0 - GET SHARE STATUS
	AX = 4457h
	DX = FFFFh
Return: AX = SHARE status
Note:	not supported by Novell DOS 7
SeeAlso: INT 2F/AX=1000h

Top
214458 - INT 21 U - DR DOS 5.0+ internal - GET POINTER TO INTERNAL VARIABLE TABLE
INT 21 U - DR DOS 5.0+ internal - GET POINTER TO INTERNAL VARIABLE TABLE
	AX = 4458h
Return: ES:BX -> internal variable table (see #01584,#01585)
	AX = ??? (0B50h for DR DOS 5.0, 0A56h for DR DOS 6.0, 0FE4h for
		  Novell DOS 7)
SeeAlso: AX=4452h

Format of DR DOS 5.0-6.0 internal variable table:
Offset	Size	Description	(Table 01584)
 00h	WORD	???
 02h	WORD	segment of ???
 04h	WORD	offset within DOS data segment of history control structure
		  for COMMAND.COM history buffer (see #01586)
 06h	WORD	offset within DOS data segment of history control structure
		  for application history buffer (see #01586)
 08h	BYTE	initial history state flags (see #01583)
 09h  2 BYTEs	???
 0Bh	WORD	KB of extended memory at startup
 0Dh	BYTE	number of far jump entry points
 0Eh	WORD	segment containing far jumps to DR DOS entry points (see #01587)
 10h	WORD	(only if kernel loaded in HMA) offset in HMA of first free HMA
		  memory block (see #01588) or 0000h if none; segment is FFFFh
 12h	WORD	pointer to segment of environment variables set in CONFIG,
		  or 0000h if already used
---DR DOS 6.0---
 14h	WORD	(only if kernel loaded in HMA) offset in HMA of first used HMA
		memory block (see #01588) or 0000h if none; segment is FFFFh
 16h  8 BYTEs	???
 1Eh	WORD	offset in DOS data segment of full COUNTRY.SYS filename
 20h  8 BYTEs	???
 28h	WORD	offset in DOS data segment of SHARE hook table
 2Ah  2 BYTEs	???
 2Ch	WORD	offset in DOS data segment of far pointer to INT 2F/AX=1000h
		  handler
Notes:	the segment used for the DR DOS 6.0 CONFIG environment variables
	  (excluding COMSPEC, VER and OS) is only useful for programs/drivers
	  called from CONFIG.SYS. The word is set to zero later when the area
	  is copied to the COMMAND.COM environment space.  This allows
	  CONFIG.SYS to pass information to AUTOEXEC.BAT.
	the Novell DOS 7 KEYB uses offsets 10h,14h, and 2Ch in the same was
	  as for DR DOS 6.0, so it is likely that the entire table is the same

Format of Novell DOS 7 internal variable table:
Offset	Size	Description	(Table 01585)
 00h	???
 1Eh	WORD	offset of COUNTRY.SYS filename
 42h 16 DWORDs	pointers to ??? entry points
	???

Format of history control structure:
Offset	Size	Description	(Table 01586)
 00h	WORD	segment of buffer
 02h	WORD	size of buffer in bytes
 04h	WORD	???

Format of kernel entry jump table for DR DOS 5.0-6.0:
Offset	Size	Description	(Table 01587)
 00h  5 BYTEs	far jump to kernel entry point for CP/M CALL 5
 05h  5 BYTEs	far jump to kernel entry point for INT 20
 0Ah  5 BYTEs	far jump to kernel entry point for INT 21
 0Fh  5 BYTEs	far jump to kernel entry point for INT 22 (RETF)
 14h  5 BYTEs	far jump to kernel entry point for INT 23 (RETF)
 19h  5 BYTEs	far jump to kernel entry point for INT 24
 1Eh  5 BYTEs	far jump to kernel entry point for INT 25
 23h  5 BYTEs	far jump to kernel entry point for INT 26
 28h  5 BYTEs	far jump to kernel entry point for INT 27
 2Dh  5 BYTEs	far jump to kernel entry point for INT 28
 32h  5 BYTEs	far jump to kernel entry point for INT 2A (IRET)
 37h  5 BYTEs	far jump to kernel entry point for INT 2B (IRET)
 3Ch  5 BYTEs	far jump to kernel entry point for INT 2C (IRET)
 41h  5 BYTEs	far jump to kernel entry point for INT 2D (IRET)
 46h  5 BYTEs	far jump to kernel entry point for INT 2E (IRET)
 4Bh  5 BYTEs	far jump to kernel entry point for INT 2F
Notes:	all of these entry points are indirected through this jump table
	  to allow the kernel to be relocated into high memory while leaving
	  the actual entry addresses in low memory for maximum compatibility
	some of these entry points (22h,23h,24h,2Eh,2Fh) are replaced as soon
	  as COMMAND.COM is loaded, and return immediately to the caller, some
	  returning an error code (the original handler for INT 2F returns
	  AL=03h [fail]).

Format of HMA Memory Block (DR DOS 6.0 kernel loaded in HMA):
Offset	Size	Description	(Table 01588)
 00h	WORD	offset of next HMA Memory Block (0000h if last block)
 02h	WORD	size of this block in bytes (at least 10h)
 04h	BYTE	type of HMA Memory Block (interpreted by MEM)
		00h system
		01h KEYB
		02h NLSFUNC
		03h SHARE
		04h TaskMAX
		05h COMMAND
 05h	var	TSR (or system) code and data. DR DOS TSR's, such as KEYB,
		  hooks interrupts using segment FFFEh instead FFFFh.

Top
214459 - INT 21 - DR Multiuser DOS 5.0 - API
INT 21 - DR Multiuser DOS 5.0 - API
	AX = 4459h
	CL = function (see #04019 at INT E0"CP/M-86")
	DS,DX = parameters
Notes:	DR DOS 5.0 and Novell DOS 7 return CF set and AX=0001h
	this API is also available on INT E0
SeeAlso: AX=4452h,INT E0"CP/M-86"

Top
21445A - INT 21 U - Concurrent DOS etc. - USER GROUP SUPPORT
INT 21 U - Concurrent DOS etc. - USER GROUP SUPPORT
	AX = 445Ah
	CX = operation type
	    00h get default file access rights
	    01h set default file access rights
	    02h get user/group
	    03h get security version
	    04h set security key (needs key)
	    05h set user/group (needs key)
	DX = data for operation if set
	BX = key (if required)
Return: AX = result
Note:	This function was introduced on 1990/06/04 for CDOS.  It has been
	  supported by DR PalmDOS and DR DOS "Panther" (BDOS 1070h),
	  but it is not supported by Novell DOS 7 - DR-DOS 7.03.

Top
2144A0 - INT 21 - VIRUS - "Horns" - INSTALLATION CHECK
INT 21 - VIRUS - "Horns" - INSTALLATION CHECK
	AX = 44A0h
Return: AH = FFh if installed
SeeAlso: AX=4243h"VIRUS",AX=4B04h"VIRUS"

Top
2144E0 - INT 21 U - Sun PC-NFS - API???
INT 21 U - Sun PC-NFS - API???
	AX = 44E0h
	DS:DX -> ???
	SS:BP -> stack frame (see #01589)
Return: ???
Note:	this function is also supported by Beame&Whiteside's BWPCNFS shim; the
	  description presented here was derived from that shim

Format of PC-NFS stack frame:
Offset	Size	Description	(Table 01589)
 00h	WORD	-> previous stack frame
 02h	DWORD	return address

Top
2144FFBXFFFF - INT 21 U - NewSpace - ???
INT 21 U - NewSpace - ???
	AX = 44FFh
	BX = FFFFh
	DX = ???
Program: NewSpace is a TSR by Isogon Corporation which automatically compresses
	  all files as they are written and decompresses them as they are read
SeeAlso: AX=4414h/BX=FFFFh

Top
2145 - INT 21 - DOS 2+ - "DUP" - DUPLICATE FILE HANDLE
INT 21 - DOS 2+ - "DUP" - DUPLICATE FILE HANDLE
	AH = 45h
	BX = file handle
Return: CF clear if successful
	    AX = new handle
	CF set on error
	    AX = error code (04h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	moving file pointer for either handle will also move it for the other,
	  because both will refer to the same system file table
	for DOS versions prior to 3.3, file writes may be forced to disk by
	  duplicating the file handle and closing the duplicate
SeeAlso: AH=3Dh,AH=46h

Top
2146 - INT 21 - DOS 2+ - "DUP2", "FORCEDUP" - FORCE DUPLICATE FILE HANDLE
INT 21 - DOS 2+ - "DUP2", "FORCEDUP" - FORCE DUPLICATE FILE HANDLE
	AH = 46h
	BX = file handle
	CX = file handle to become duplicate of first handle
Return: CF clear if successful
	CF set on error
	    AX = error code (04h,06h) (see #01680 at AH=59h/BX=0000h)
Notes:	closes file with handle CX if it is still open
	DOS 3.30 hangs if BX=CX on entry
	moving file pointer for either handle will also move it for the other,
	  because both will refer to the same system file table
SeeAlso: AH=3Dh,AH=45h

Top
2147 - INT 21 - DOS 2+ - "CWD" - GET CURRENT DIRECTORY
INT 21 - DOS 2+ - "CWD" - GET CURRENT DIRECTORY
	AH = 47h
	DL = drive number (00h = default, 01h = A:, etc)
	DS:SI -> 64-byte buffer for ASCIZ pathname
Return: CF clear if successful
	    AX = 0100h (undocumented)
	CF set on error
	    AX = error code (0Fh) (see #01680 at AH=59h/BX=0000h)
Notes:	the returned path does not include a drive or the initial backslash
	many Microsoft products for Windows rely on AX being 0100h on success
	under the FlashTek X-32 DOS extender, the buffer pointer is in DS:ESI
SeeAlso: AH=19h,AH=3Bh,AH=71h,INT 15/AX=DE25h

Top
2148 - INT 21 - DOS 2+ - ALLOCATE MEMORY
INT 21 - DOS 2+ - ALLOCATE MEMORY
	AH = 48h
	BX = number of paragraphs to allocate
Return: CF clear if successful
	    AX = segment of allocated block
	CF set on error
	    AX = error code (07h,08h) (see #01680 at AH=59h/BX=0000h)
	    BX = size of largest available block
Notes:	DOS 2.1-6.0 coalesces free blocks while scanning for a block to
	  allocate
	.COM programs are initially allocated the largest available memory
	  block, and should free some memory with AH=49h before attempting any
	  allocations
	under the FlashTek X-32 DOS extender, EBX contains a protected-mode
	  near pointer to the allocated block on a successful return
SeeAlso: AH=49h,AH=4Ah,AH=58h,AH=83h

Top
2149 - INT 21 - DOS 2+ - FREE MEMORY
INT 21 - DOS 2+ - FREE MEMORY
	AH = 49h
	ES = segment of block to free
Return: CF clear if successful
	CF set on error
	    AX = error code (07h,09h) (see #01680 at AH=59h/BX=0000h)
Notes:	apparently never returns an error 07h, despite official docs; DOS 2.1+
	  code contains only an error 09h exit
	DOS 2.1-6.0 does not coalesce adjacent free blocks when a block is
	  freed, only when a block is allocated or resized
	the code for this function is identical in DOS 2.1-6.0 except for
	  calls to start/end a critical section in DOS 3.0+
SeeAlso: AH=48h,AH=4Ah

Top
214A - INT 21 - DOS 2+ - RESIZE MEMORY BLOCK
INT 21 - DOS 2+ - RESIZE MEMORY BLOCK
	AH = 4Ah
	BX = new size in paragraphs
	ES = segment of block to resize
Return: CF clear if successful
	CF set on error
	    AX = error code (07h,08h,09h) (see #01680 at AH=59h/BX=0000h)
	    BX = maximum paragraphs available for specified memory block
Notes:	under DOS 2.1-6.0, if there is insufficient memory to expand the block
	  as much as requested, the block will be made as large as possible
	DOS 2.1-6.0 coalesces any free blocks immediately following the block
	  to be resized
SeeAlso: AH=48h,AH=49h,AH=83h

Top
214A--BX00B6 - INT 21 - VIRUS???
INT 21 - VIRUS???
	AH = 4Ah
	BX = 00B6h
	ES = CX
Return: ???
Note:	this call is intercepted by the Search&Destroy SDRes v27.03 bundled
	  with Novell DOS 7, and is presumably some virus's installation check
SeeAlso: AH=0Eh/DL=ADh,AH=4Ah/BX=FFFFh,AH=D2h"VIRUS"

Top
214A--BXFFFF - INT 21 - VIRUS???
INT 21 - VIRUS???
	AH = 4Ah
	BX = FFFFh
	CX = 0568h
	SI = 0129h
	DI = 0000h
	ES = BP
Return: ???
Note:	this call is intercepted by the Search&Destroy SDRes v27.03 bundled
	  with Novell DOS 7, and is presumably some virus's installation check
SeeAlso: AH=0Eh/DL=ADh,AH=4Ah/BX=00B6h

Top
214B - INT 21 - DOS 2+ - "EXEC" - LOAD AND/OR EXECUTE PROGRAM
INT 21 - DOS 2+ - "EXEC" - LOAD AND/OR EXECUTE PROGRAM
	AH = 4Bh
	AL = type of load
	    00h load and execute
	    01h load but do not execute
	    03h load overlay (see #01591)
	    04h load and execute in background (European MS-DOS 4.0 only)
		"Exec & Go" (see also AH=80h)
	DS:DX -> ASCIZ program name (must include extension)
	ES:BX -> parameter block (see #01590,#01591,#01592)
	CX = mode (subfunction 04h only)
		0000h child placed in zombie mode after termination
		0001h child's return code discarded on termination
Return: CF clear if successful
	    BX,DX destroyed
	    if subfunction 01h, process ID set to new program's PSP; get with
		INT 21/AH=62h
	CF set on error
	    AX = error code (01h,02h,05h,08h,0Ah,0Bh) (see #01680 at AH=59h)
Notes:	DOS 2.x destroys all registers, including SS:SP
	under ROM-based DOS, if no disk path characters (colons or slashes)
	  are included in the program name, the name is searched for in the
	  ROM module headers (see #01595) before searching on disk
	for functions 00h and 01h, the calling process must ensure that there
	  is enough unallocated memory available; if necessary, by releasing
	  memory with AH=49h or AH=4Ah
	for function 01h, the AX value to be passed to the child program is put
	  on top of the child's stack
	for function 03h, DOS assumes that the overlay is being loaded into
	  memory allocated by the caller
	function 01h was undocumented prior to the release of DOS 5.0
	some versions (such as DR DOS 6.0) check the parameters and parameter
	  block and return an error if an invalid value (such as an offset of
	  FFFFh) is found
	background programs under European MS-DOS 4.0 must use the new
	  executable format
	this function ignores the filename extension, instead checking the
	  first two bytes of the file to determine whether there is a valid
	  .EXE header (see #01594); if not, the file is assumed to be in .COM
	  format.  If present, the file may be in any of several formats which
	  are extensions of the original .EXE format (see #01593)
	.COM-format executables begin running with the following register
	  values:
		AL = 00h if first FCB has valid drive letter, FFh if not
		AH = 00h if second FCB has valid drive letter, FFh if not
		CS,DS,ES,SS = PSP segment
		SP = offset of last word available in first 64K segment
		(note: AX is always 0000h under DESQview)
	old-format executables begin running with the following register
	  values:
		AL = 00h if first FCB has valid drive letter, FFh if not
		AH = 00h if second FCB has valid drive letter, FFh if not
		DS,ES = PSP segment
		SS:SP as defined in .EXE header
		(note: AX is always 0000h under DESQview)
	new executables begin running with the following register values
		AX = environment segment
		BX = offset of command tail in environment segment
		CX = size of automatic data segment (0000h = 64K)
		ES,BP = 0000h
		DS = automatic data segment
		SS:SP = initial stack
	  the command tail corresponds to an old executable's PSP:0081h and
	  following, except that the 0Dh is turned into a NUL (00h); new
	  format executables have no PSP
	under the FlashTek X-32 DOS extender, only function 00h is supported
	  and the pointers are passed in DS:EDX and ES:EBX
	DR DOS 6 always loads .EXE-format programs with no fixups and
	  .COM-format programs starting with 9Ch 55h (PUSHF/PUSH BP) above the
	  64K mark to avoid the EXEPACK bug, by extending the memory block
	  containing the program's environment; this code is disabled if the
	  name of the parent program as stored in the MCB is 'WIN'.
	DR DOS 3.41 and 5.0 check for a valid filename before testing the
	  subfunction number, so the otherwise invalid subfunction 02h will
	  only return error code 01h if the given filename actually exists;
	  otherwise, errors 02h, 03h, or 05h are returned
BUGS:	DOS 2.00 assumes that DS points at the current program's PSP
	Load Overlay (subfunction 03h) loads up to 512 bytes too many if the
	  file contains additional data after the actual overlay
	Load but Do Not Execute (subfunction 01h) is reported to corrupt the
	  top word of the caller's stack if the loaded module terminates with
	  INT 21/AH=4Ch in some versions of MS-DOS, including v5.00.
SeeAlso: AX=4B05h,AH=4Ch,AH=4Dh,AH=64h/BX=0025h,AH=8Ah,INT 2E,INT 60/DI=0604h

Format of EXEC parameter block for AL=00h,01h,04h:
Offset	Size	Description	(Table 01590)
 00h	WORD	segment of environment to copy for child process (copy caller's
		  environment if 0000h)
 02h	DWORD	pointer to command tail to be copied into child's PSP
 06h	DWORD	pointer to first FCB to be copied into child's PSP
 0Ah	DWORD	pointer to second FCB to be copied into child's PSP
 0Eh	DWORD	(AL=01h) will hold subprogram's initial SS:SP on return
 12h	DWORD	(AL=01h) will hold entry point (CS:IP) on return
SeeAlso: #01591,#01592

Format of EXEC parameter block for AL=03h:
Offset	Size	Description	(Table 01591)
 00h	WORD	segment at which to load overlay
 02h	WORD	relocation factor to apply to overlay if in .EXE format
SeeAlso: #01590,#01592

Format of EXEC parameter block for FlashTek X-32:
Offset	Size	Description	(Table 01592)
 00h	PWORD	48-bit far pointer to environment string
 06h	PWORD	48-bit far pointer to command tail string
SeeAlso: #01590,#01591

(Table 01593)
Values for the executable types understood by various environments:
 MZ	old-style DOS executable (see #01594)
 ZM	used by some very early DOS linkers, and still supported as an
	  alternate to the MZ signature by MS-DOS, PC DOS, PTS-DOS, and S/DOS
 NE	Windows or OS/2 1.x segmented ("new") executable (see #01596)
 LE	Windows virtual device driver (VxD) linear executable (see #01609)
 LX	variant of LE used in OS/2 2.x (see #01609)
 W3	Windows WIN386.EXE file; a collection of LE files
 W4	Windows95 VMM32.VXD file
 PE	Win32 (Windows NT and Win32s) portable executable based on Unix COFF
 DL	HP 100LX/200LX system manager compliant executable (.EXM)
 MP	old PharLap .EXP (see #01619)
 P2	PharLap 286 .EXP (see #01620)
 P3	PharLap 386 .EXP (see #01620)

Format of .EXE file header:
Offset	Size	Description	(Table 01594)
 00h  2 BYTEs	.EXE signature, either "MZ" or "ZM" (5A4Dh or 4D5Ah)
		  (see also #01593)
 02h	WORD	number of bytes in last 512-byte page of executable
 04h	WORD	total number of 512-byte pages in executable (includes any
		partial last page)
 06h	WORD	number of relocation entries
 08h	WORD	header size in paragraphs
 0Ah	WORD	minimum paragraphs of memory required to allocate in addition
		  to executable's size
 0Ch	WORD	maximum paragraphs to allocate in addition to executable's size
 0Eh	WORD	initial SS relative to start of executable
 10h	WORD	initial SP
 12h	WORD	checksum (one's complement of sum of all words in executable)
 14h	DWORD	initial CS:IP relative to start of executable
 18h	WORD	offset within header of relocation table
		40h or greater for new-format (NE,LE,LX,W3,PE,etc.) executable
 1Ah	WORD	overlay number (normally 0000h = main program)
---new executable---
 1Ch  4 BYTEs	???
 20h	WORD	behavior bits
 22h 26 BYTEs	reserved for additional behavior info
 3Ch	DWORD	offset of new executable (NE,LE,etc) header within disk file,
		or 00000000h if plain MZ executable
---Borland TLINK---
 1Ch  2 BYTEs	??? (apparently always 01h 00h)
 1Eh	BYTE	signature FBh
 1Fh	BYTE	TLINK version (major in high nybble, minor in low nybble)
 20h  2 BYTEs	??? (v2.0 apparently always 72h 6Ah, v3.0+ seems always 6Ah 72h)
---ARJ self-extracting archive---
 1Ch  4 BYTEs	signature "RJSX" (older versions, new signature is "aRJsfX" in
		the first 1000 bytes of the file)
---LZEXE 0.90 compressed executable---
 1Ch  4 BYTEs	signature "LZ09"
---LZEXE 0.91 compressed executable---
 1Ch  4 BYTEs	signature "LZ91"
---PKLITE compressed executable---
 1Ch	BYTE	minor version number
 1Dh	BYTE	bits 0-3: major version
		bit 4: extra compression
		bit 5: huge (multi-segment) file
 1Eh  6 BYTEs	signature "PKLITE" (followed by copyright message)
---LHarc 1.x self-extracting archive---
 1Ch  4 BYTEs	unused???
 20h  3 BYTEs	jump to start of extraction code
 23h  2 BYTEs	???
 25h 12 BYTEs	signature "LHarc's SFX "
---LHA 2.x self-extracting archive---
 1Ch  8 BYTEs	???
 24h 10 BYTEs	signature "LHa's SFX " (v2.10) or "LHA's SFX " (v2.13)
---TopSpeed C 3.0 CRUNCH compressed file---
 1Ch	DWORD	018A0001h
 20h	WORD	1565h
---PKARCK 3.5 self-extracting archive---
 1Ch	DWORD	00020001h
 20h	WORD	0700h
---BSA (Soviet archiver) self-extracting archive---
 1Ch	WORD	000Fh
 1Eh	BYTE	A7h
---LARC self-extracting archive---
 1Ch  4 BYTEs	???
 20h 11 BYTEs	"SFX by LARC "
---LH self-extracting archive---
 1Ch  8 BYTEs	???
 24h  8 BYTEs	"LH's SFX "
---RAR self-extracting archive---
 1Ch  4 BYTEs	signature "RSFX"
---other linkers---
 1Ch	var	optional information
---
  N   N DWORDs	relocation items
		each is the segment:offset from start of load image at which
		  to add the actual load segment to the indicated WORD
Notes:	if the word at offset 02h is 4, it should be treated as 00h, since
	  pre-1.10 versions of the MS linker set it that way
	if both minimum and maximum allocation (offset 0Ah/0Ch) are zero, the
	  program is loaded as high in memory as possible (DOS only checks
	  the maximum allocation, however)
	the maximum allocation is set to FFFFh by default
	additional data may be contained in the file beyond the end of the
	  load image described by the .EXE header; this data may be overlays,
	  the actual executable for newer-format executables, or debugging
	  information (see #01600,#01624)
	relocations entries need not be in any particular order, although they
	  are typically stored in order from beginning to end of the load
	  image
SeeAlso: #01596

Format of ROM Module Header:
Offset	Size	Description	(Table 01595)
 00h  2 BYTEs	ROM signature 55h, AAh
 02h	BYTE	size of ROM in 512-byte blocks
 03h  3 BYTEs	POST initialization entry point (near JMP instruction)
 06h	ROM Program Name List [array]
	Offset	Size	Description
	 00h	BYTE	length of ROM program's name (00h if end of name list)
	 01h  N BYTEs	program name
	 N+1  3 BYTEs	program entry point (near JMP instruction)

Format of new executable header:
Offset	Size	Description	(Table 01596)
 00h  2 BYTEs	"NE" (4Eh 45h) signature
 02h  2 BYTEs	linker version (major, then minor)
 04h	WORD	offset from start of this header to entry table (see #01603)
 06h	WORD	length of entry table in bytes
 08h	DWORD	file load CRC (0 in Borland's TPW)
 0Ch	BYTE	program flags (see #01597)
 0Dh	BYTE	application flags (see #01598)
 0Eh	WORD	auto data segment index
 10h	WORD	initial local heap size
 12h	WORD	initial stack size (added to data seg, 0000h if SS <> DS)
 14h	DWORD	program entry point (CS:IP), "CS" is index into segment table
 18h	DWORD	initial stack pointer (SS:SP), "SS" is segment index
		if SS=automatic data segment and SP=0000h, the stack pointer is
		  set to the top of the automatic data segment, just below the
		  local heap
 1Ch	WORD	segment count
 1Eh	WORD	module reference count
 20h	WORD	length of nonresident names table in bytes
 22h	WORD	offset from start of this header to segment table (see #01601)
 24h	WORD	offset from start of this header to resource table
 26h	WORD	offset from start of this header to resident names table
 28h	WORD	offset from start of this header to module reference table
 2Ah	WORD	offset from start of this header to imported names table
		(array of counted strings, terminated with a string of length
		  00h)
 2Ch	DWORD	offset from start of file to nonresident names table
 30h	WORD	count of moveable entry point listed in entry table
 32h	WORD	file alignment size shift count
		0 is equivalent to 9 (default 512-byte pages)
 34h	WORD	number of resource table entries
 36h	BYTE	target operating system
		00h unknown
		01h OS/2
		02h Windows
		03h European MS-DOS 4.x
		04h Windows 386
		05h BOSS (Borland Operating System Services)
		81h PharLap 286|DOS-Extender, OS/2
		82h PharLap 286|DOS-Extender, Windows
 37h	BYTE	other EXE flags (see #01599)
 38h	WORD	offset to return thunks or start of gangload area
 3Ah	WORD	offset to segment reference thunks or length of gangload area
 3Ch	WORD	minimum code swap area size
 3Eh  2 BYTEs	expected Windows version (minor version first)
Note:	this header is documented in detail in the Windows 3.1 SDK Programmer's
	  Reference, Vol 4.
SeeAlso: #01594

Bitfields for new executable program flags:
Bit(s)	Description	(Table 01597)
 0-1	DGROUP type
	  0 = none
	  1 = single shared
	  2 = multiple (unshared)
	  3 = (null)
 2	global initialization
 3	protected mode only
 4	8086 instructions
 5	80286 instructions
 6	80386 instructions
 7	80x87 instructions

Bitfields for new executable application flags:
Bit(s)	Description	(Table 01598)
 0-2	application type
	001 full screen (not aware of Windows/P.M. API)
	010 compatible with Windows/P.M. API
	011 uses Windows/P.M. API
 3	is a Family Application (OS/2)
 5	0=executable, 1=errors in image
 6	non-conforming program (valid stack is not maintained)
 7	DLL or driver rather than application
	(SS:SP info invalid, CS:IP points at FAR init routine called with
	  AX=module handle which returns AX=0000h on failure, AX nonzero on
	  successful initialization)

Bitfields for other new .EXE flags:
Bit(s)	Description	(Table 01599)
 0	supports long filenames
 1	2.X protected mode
 2	2.X proportional font
 3	gangload area

Format of Codeview trailer (at end of executable):
Offset	Size	Description	(Table 01600)
 00h	WORD	signature 4E42h ('NB')
 02h	WORD	Microsoft debug info version number
 04h	DWORD	Codeview header offset
SeeAlso: #01624

Format of new executable segment table record:
Offset	Size	Description	(Table 01601)
 00h	WORD	offset in file (shift left by alignment shift to get byte offs)
 02h	WORD	length of image in file (0000h = 64K)
 04h	WORD	segment attributes (see #01602)
 06h	WORD	number of bytes to allocate for segment (0000h = 64K)
Note:	the first segment table entry is entry number 1
SeeAlso: #01604

Bitfields for segment attributes:
Bit(s)	Description	(Table 01602)
 0	data segment rather than code segment
 1	unused???
 2	real mode
 3	iterated
 4	movable
 5	sharable
 6	preloaded rather than demand-loaded
 7	execute-only (code) or read-only (data)
 8	relocations (directly following code for this segment)
 9	debug info present
 10,11	80286 DPL bits
 12	discardable
 13-15	discard priority

Format of new executable entry table item (list):
Offset	Size	Description	(Table 01603)
 00h	BYTE	number of entry points (00h if end of entry table list)
 01h	BYTE	segment number (00h if end of entry table list)
 02h 3N BYTEs	entry records
		Offset	Size	Description
		 00h	BYTE	flags
				bit 0: exported
				bit 1: single data
				bits 2-7: unused???
		 01h	WORD	offset within segment

Format of new executable relocation data (immediately follows segment image):
Offset	Size	Description	(Table 01604)
 00h	WORD	number of relocation items
 02h 8N BYTEs	relocation items
		Offset	Size	Description
		 00h	BYTE	relocation type
				00h LOBYTE
				02h BASE
				03h PTR
				05h OFFS
				0Bh PTR48
				0Dh OFFS32
		 01h	BYTE	flags
				bit 2: additive
		 02h	WORD	offset within segment
		 04h	WORD	target address segment
		 06h	WORD	target address offset
SeeAlso: #01601,#01605

Format of new executable resource data:
Offset	Size	Description	(Table 01605)
 00h	WORD	alignment shift count for resource data
 02h  N RECORDs resources
	Format of resource record:
	Offset	Size	Description
	 00h	WORD	type ID
			0000h if end of resource records
			>= 8000h if integer type
			else offset from start of resource table to type string
	 02h	WORD	number of resources of this type
	 04h	DWORD	reserved for runtime use
	 08h  N Resources (see #01606)
Note:	resource type and name strings are stored immediately following the
	  resource table, and are not null-terminated
SeeAlso: #01606

Format of new executable resource entry:
Offset	Size	Description	(Table 01606)
 00h	WORD	offset in alignment units from start of file to contents of
		the resource data
 02h	WORD	length of resource image in bytes
 04h	WORD	flags
		bit 4: moveable
		bit 5: shareable
		bit 6: preloaded
 06h	WORD	resource ID
		>= 8000h if integer resource
		else offset from start of resource table to resource string
 08h	DWORD	reserved for runtime use
Notes:	resource type and name strings are stored immediately following the
	  resource table, and are not null-terminated
	strings are counted strings, with a string of length 0 indicating the
	  end of the resource table
SeeAlso: #01605,#01607

Format of new executable module reference table [one bundle of entries]:
Offset	Size	Description	(Table 01607)
 00h	BYTE	number of records in this bundle (00h if end of table)
 01h	BYTE	segment indicator
		00h unused
		FFh movable segment, segment number is in entry
		else segment number of fixed segment
 02h  N RECORDs
	Format of segment record
	Offset	Size	Description
	 00h	BYTE	flags
			bit 0: entry is exported
			bit 1: entry uses global (shared) data
			bits 7-3: number of parameter words
	---fixed segment---
	 01h	WORD	offset
	---moveable segment---
	 01h  2 BYTEs	INT 3F instruction (CDh 3Fh)
	 03h	BYTE	segment number
	 05h	WORD	offset
Note:	table entries are numbered starting from 1
SeeAlso: #01608

Format of new executable resident/nonresident name table entry:
Offset	Size	Description	(Table 01608)
 00h	BYTE	length of string (00h if end of table)
 01h  N BYTEs	ASCII text of string
 N+1	WORD	ordinal number (index into entry table)
Notes:	the first string in the resident name table is the module name; the
	  first entry in the nonresident name table is the module description
	the strings are case-sensitive; if the executable was linked with
	  /IGNORECASE, all strings are in uppercase
SeeAlso: #01607

Format of Linear Executable (enhanced mode executable) header:
Offset	Size	Description	(Table 01609)
 00h  2 BYTEs	"LE" (4Ch 45h) signature (Windows)
		"LX" (4Ch 58h) signature (OS/2)
 02h	BYTE	byte order (00h = little-endian, nonzero = big-endian)
 03h	BYTE	word order (00h = little-endian, nonzero = big-endian)
 04h	DWORD	executable format level
 08h	WORD	CPU type (see also INT 15/AH=C9h)
		01h Intel 80286 or upwardly compatible
		02h Intel 80386 or upwardly compatible
		03h Intel 80486 or upwardly compatible
		04h Intel Pentium (80586) or upwardly compatible
		20h Intel i860 (N10) or compatible
		21h Intel "N11" or compatible
		40h MIPS Mark I (R2000, R3000) or compatible
		41h MIPS Mark II (R6000) or compatible
		42h MIPS Mark III (R4000) or compatible
 0Ah	WORD	target operating system
		01h OS/2
		02h Windows
		03h European DOS 4.0
		04h Windows 386
 0Ch	DWORD	module version
 10h	DWORD	module type (see #01610)
 14h	DWORD	number of memory pages
 18h	Initial CS:EIP
	DWORD	object number
	DWORD	offset
 20h	Initial SS:ESP
	DWORD	object number
	DWORD	offset
 28h	DWORD	memory page size
 2Ch	DWORD	(Windows LE) bytes on last page
		(OS/2 LX) page offset shift count
 30h	DWORD	fixup section size
 34h	DWORD	fixup section checksum
 38h	DWORD	loader section size
 3Ch	DWORD	loader section checksum
 40h	DWORD	offset of object table (see #01611)
 44h	DWORD	object table entries
 48h	DWORD	object page map table offset (see #01613)
 4Ch	DWORD	object iterate data map offset
 50h	DWORD	resource table offset
 54h	DWORD	resource table entries
 58h	DWORD	resident names table offset (see #01614)
 5Ch	DWORD	entry table offset (see #01615,#01616)
 60h	DWORD	module directives table offset
 64h	DWORD	Module Directives entries
 68h	DWORD	Fixup page table offset
 6Ch	DWORD	Fixup record table offset (see #01618)
 70h	DWORD	imported modules name table offset
 74h	DWORD	imported modules count
 78h	DWORD	imported procedures name table offset
 7Ch	DWORD	per-page checksum table offset
 80h	DWORD	data pages offset
 84h	DWORD	preload page count
 88h	DWORD	non-resident names table offset
 8Ch	DWORD	non-resident names table length
 90h	DWORD	non-resident names checksum
 94h	DWORD	automatic data object
 98h	DWORD	debug information offset
 9Ch	DWORD	debug information length
 A0h	DWORD	preload instance pages number
 A4h	DWORD	demand instance pages number
 A8h	DWORD	extra heap allocation
 ACh 12 BYTEs	reserved
 B8h	DWORD	offset of VERSIONINFO resource (MS-Windows VxD only)
 BCh	DWORD	pointer to ??? (dynamically-loadable VxDs only???)
 C0h	WORD	device ID (MS-Windows VxD only)
 C2h	WORD	DDK version (MS-Windows VxD only)
Note:	used by EMM386.EXE, QEMM, and Windows 3.0 Enhanced Mode drivers

Bitfields for Linear Executable module type:
Bit(s)	Description	(Table 01610)
 2	initialization (only for DLLs) 0 = global, 1 = per-process
 4	no internal fixups in executable image
 5	no external fixups in executable image
 8-10	API compatibility
	0 = unknown
	1 = incompatible with PM windowing \
	2 = compatible with PM windowing    > (only for
	3 = uses PM windowing API	   /	programs)
 13	module not loadable (only for programs)
 15-17	module type
	000 program
	001 library (DLL)
	011 protected memory library module
	100 physical device driver
	110 virtual device driver
 30	per-process library termination
	(requires valid CS:EIP, can't be set for .EXE)

Format of object table entry:
Offset	Size	Description	(Table 01611)
 00h	DWORD	virtual size in bytes
 04h	DWORD	relocation base address
 08h	DWORD	object flags (see #01612)
 0Ch	DWORD	page map index
 10h	DWORD	page map entries (see #01613)
 14h  4 BYTEs	reserved??? (apparently always zeros)

Bitfields for object flags:
Bit(s)	Description	(Table 01612)
 0	readable
 1	writable
 2	executable
 3	resource
 4	discardable
 5	shared
 6	preloaded
 7	invalid
 8-9	type
	00 normal
	01 zero-filled
	10 resident
	11 resident and contiguous
 10	resident and long-lockable
 11	reserved
 12	16:16 alias required
 13	"BIG" (Huge: 32-bit)
 14	conforming
 15	"OBJECT_I/O_PRIVILEGE_LEVEL"
 16-31	reserved

Format of object page map table entry:
Offset	Size	Description	(Table 01613)
 00h	BYTE	??? (usually 00h)
 01h	WORD	(big-endian) index to fixup table
		0000h if no relocation info
 03h	BYTE	type (00h hard copy in file, 03h some relocation needed)

Format of resident names table entry:
Offset	Size	Description	(Table 01614)
 00h	BYTE	length of name
 01h  N BYTEs	name
 N+1  3 BYTEs	???

Format of LE linear executable entry table:
Offset	Size	Description	(Table 01615)
 00h	BYTE	number of entries in table
 01h 10 BYTEs per entry
		Offset	Size	Description
		 00h	BYTE	bit flags
				bit 0: non-empty bundle
				bit 1: 32-bit entry
		 01h	WORD	object number
		 03h	BYTE	entry type flags
				bit 0: exported
				bit 1: uses single data rather than instance
				bit 2: reserved
				bits 3-7: number of stack parameters
		 04h	DWORD	offset of entry point
		 08h  2 BYTEs	???
Note:	empty bundles (bit flags at 00h = 00h) are used to skip unused indices,
	  and do not contain the remaining nine bytes

Format of LX linear executable entry table [array]:
Offset	Size	Description	(Table 01616)
 00h	BYTE	number of bundles following (00h = end of entry table)
 01h	BYTE	bundle type
		00h empty
		01h 16-bit entry
		02h 286 callgate entry
		03h 32-bit entry
		04h forwarder entry
		bit 7 set if additional parameter typing information is present
---bundle type 00h---
 no additional fields
---bundle type 01h---
 02h	WORD	object number
 04h	BYTE	entry flags
		bit 0: exported
		bits 7-3: number of stack parameters
 05h	WORD	offset of entry point in object (shifted by page size shift)
---bundle type 02h---
 02h	WORD	object number
 04h	BYTE	entry flags
		bit 0: exported
		bits 7-3: number of stack parameters
 05h	WORD	offset of entry point in object
 07h	WORD	reserved for callgate selector (used by loader)
---bundle type 03h---
 02h	WORD	object number
 04h	BYTE	entry flags
		bit 0: exported
		bits 7-3: number of stack parameters
 05h	DWORD	offset of entry point in object
---bundle type 04h---
 02h	WORD	reserved
 04h	BYTE	forwarder flags
		bit 0: import by ordinal
		bits 7-1 reserved
 05h	WORD	module ordinal
		(forwarder's index into Import Module Name table)
 07h	DWORD	procedure name offset or import ordinal number
Note:	all fields after the first two bytes are repeated N times

Bitfields for linear executable fixup type:
Bit(s)	Description	(Table 01617)
 7	ordinal is BYTE rather than WORD
 6	16-rather than 8-object number/module ordinal
 5	addition with DWORD rather than WORD
 4	relocation info has size with new two bytes at end
 3	reserved (0)
 2	set if add to destination, clear to replace destination
 1-0	type
	00 internal fixup
	01 external fixup, imported by ordinal
	10 external fixup, imported by name
	11 internal fixup via entry table

Format of linear executable fixup record:
Offset	Size	Description	(Table 01618)
 00h	BYTE	type
		bits 7-4: modifier (0001 single, 0011 multiple)
		bits 3-0: type
			0000 byte offset
			0010 word segment
			0011 16-bit far pointer (DWORD)
			0101 16-bit offset
			0110 32-bit far pointer (PWORD)
			0111 32-bit offset
			1000 near call or jump, WORD/DWORD based on seg attrib
 01h	BYTE	linear executable fixup type (see #01617)
---if single type---
 02h	WORD	offset within page
 04h	relocation information
	---internal fixup---
	BYTE	object number
	---external,ordinal---
	BYTE	one-based module number in Import Module table
	BYTE/WORD ordinal number
	WORD/DWORD value to add (only present if modifier bit 4 set)
	---external,name---
	BYTE	one-based module number in Import Module table
	WORD	offset in Import Procedure names
	WORD/DWORD value to add (only present if modifier bit 4 set)
---if multiple type---
 02h	BYTE	number of items
 03h	var	relocation info as for "single" type (above)
      N WORDs	offsets of items to relocate

Format of old Phar Lap .EXP file header:
Offset	Size	Description	(Table 01619)
 00h  2 BYTEs	"MP" (4Dh 50h) signature
 02h	WORD	remainder of image size / page size (page size = 512h)
 04h	WORD	size of image in pages
 06h	WORD	number of relocation items
 08h	WORD	header size in paragraphs
 0Ah	WORD	minimum number of extra 4K pages to be allocated at the end
		  of program, when it is loaded
 0Ch	WORD	maximum number of extra 4K pages to be allocated at the end
		  of program, when it is loaded
 0Eh	DWORD	initial ESP
 12h	WORD	word checksum of file
 14h	DWORD	initial EIP
 18h	WORD	offset of first relocation item
 1Ah	WORD	overlay number
 1Ch	WORD	??? (wants to be 1)
SeeAlso: #01620

Format of new Phar Lap .EXP file header:
Offset	Size	Description	(Table 01620)
 00h  2 BYTEs	signature ("P2" for 286 .EXP executable, "P3" for 386 .EXP)
 02h	WORD	level (01h flat-model file, 02h multisegmented file)
 04h	WORD	header size
 06h	DWORD	file size in bytes
 0Ah	WORD	checksum
 0Ch	DWORD	offset of run-time parameters within file (see #01622)
 10h	DWORD	size of run-time parameters in bytes
 14h	DWORD	offset of relocation table within file
 18h	DWORD	size of relocation table in bytes
 1Ch	DWORD	offset of segment information table within file (see #01621)
 20h	DWORD	size of segment information table in bytes
 24h	WORD	size of segment information table entry in bytes
 26h	DWORD	offset of load image within file
 2Ah	DWORD	size of load image on disk
 2Eh	DWORD	offset of symbol table within file or 00000000h
 32h	DWORD	size of symbol table in bytes
 36h	DWORD	offset of GDT within load image
 3Ah	DWORD	size of GDT in bytes
 3Eh	DWORD	offset of LDT within load image
 42h	DWORD	size of LDT in bytes
 46h	DWORD	offset of IDT within load image
 4Ah	DWORD	size of IDT in bytes
 4Eh	DWORD	offset of TSS within load image
 52h	DWORD	size of TSS in bytes
 56h	DWORD	minimum number of extra bytes to be allocated at end of program
		(level 1 executables only)
 5Ah	DWORD	maximum number of extra bytes to be allocated at end of program
		(level 1 executables only)
 5Eh	DWORD	base load offset (level 1 executables only)
 62h	DWORD	initial ESP
 66h	WORD	initial SS
 68h	DWORD	initial EIP
 6Ch	WORD	initial CS
 6Eh	WORD	initial LDT
 70h	WORD	initial TSS
 72h	WORD	flags
		bit 0: load image is packed
		bit 1: 32-bit checksum is present
		bits 4-2: type of relocation table
 74h	DWORD	memory requirements for load image
 78h	DWORD	32-bit checksum (optional)
 7Ch	DWORD	size of stack segment in bytes
 80h 256 BYTEs	reserved (0)
SeeAlso: #01619,#01623

Format of Phar Lap segment information table entry:
Offset	Size	Description	(Table 01621)
 00h	WORD	selector number
 02h	WORD	flags
 04h	DWORD	base offset of selector
 08h	DWORD	minimum number of extra bytes to be allocated to the segment

Format of 386|DOS-Extender run-time parameters:
Offset	Size	Description	(Table 01622)
 00h  2 BYTEs	signature "DX" (44h 58h)
 02h	WORD	minimum number of real-mode params to leave free at run time
 04h	WORD	maximum number of real-mode params to leave free at run time
 06h	WORD	minimum interrupt buffer size in KB
 08h	WORD	maximum interrupt buffer size in KB
 0Ah	WORD	number of interrupt stacks
 0Ch	WORD	size in KB of each interrupt stack
 0Eh	DWORD	offset of byte past end of real-mode code and data
 12h	WORD	size in KB of call buffers
 14h	WORD	flags
		bit 0: file is virtual memory manager
		bit 1: file is a debugger
 16h	WORD	unprivileged flag (if nonzero, executes at ring 1, 2, or 3)
 18h 104 BYTEs	reserved (0)

Format of Phar Lap repeat block header:
Offset	Size	Description	(Table 01623)
 00h	WORD	byte count
 02h	BYTE	repeat string length

Format of Borland debugging information header (following load image):
Offset	Size	Description	(Table 01624)
 00h	WORD	signature 52FBh
 02h	WORD	version ID
 04h	DWORD	size of name pool in bytes
 08h	WORD	number of names in name pool
 0Ah	WORD	number of type entries
 0Ch	WORD	number of structure members
 0Eh	WORD	number of symbols
 10h	WORD	number of global symbols
 12h	WORD	number of modules
 14h	WORD	number of locals (optional)
 16h	WORD	number of scopes in table
 18h	WORD	number of line-number entries
 1Ah	WORD	number of include files
 1Ch	WORD	number of segment records
 1Eh	WORD	number of segment/file correlations
 20h	DWORD	size of load image after removing uninitialized data and debug
		  information
 24h	DWORD	debugger hook; pointer into debugged program whose meaning
		  depends on program flags
 28h	BYTE	program flags
		bit 0: case-sensitive link
		bit 1: pascal overlay program
 29h	WORD	no longer used
 2Bh	WORD	size of data pool in bytes
 2Dh	BYTE	padding
 2Eh	WORD	size of following header extension (currently 00h, 10h, or 20h)
 30h	WORD	number of classes
 32h	WORD	number of parents
 34h	WORD	number of global classes (currently unused)
 36h	WORD	number of overloads (currently unused)
 38h	WORD	number of scope classes
 3Ah	WORD	number of module classes
 3Ch	WORD	number of coverage offsets
 3Eh	DWORD	offset relative to symbol base of name pool
 42h	WORD	number of browser information records
 44h	WORD	number of optimized symbol records
 46h	WORD	debugging flags
 48h  8 BYTEs	padding
Note:	additional information on the Borland debugging info may be found in
	  Borland's Open Architecture Handbook
SeeAlso: #01600

Top
214B - INT 21 - ELRES v1.0 only - INSTALLATION CHECK
INT 21 - ELRES v1.0 only - INSTALLATION CHECK
	AH = 4Bh
	DS:DX = 0000h:0000h
Return: ES:BX -> ELRES history structure (see #01381 at AH=2Bh/CX=454Ch)
	DX = DABEh (signature, DAve BEnnett)
Program: ELRES is an MS-DOS return code (errorlevel) recorder by David H.
	  Bennett
SeeAlso: AH=2Bh/CX=454Ch

Top
214B04 - INT 21 - VIRUS - "MG", "699"/"Thirteen Minutes" - INSTALLATION CHECK
INT 21 - VIRUS - "MG", "699"/"Thirteen Minutes" - INSTALLATION CHECK
	AX = 4B04h
Return: CF clear if "MG" resident
	AX = 044Bh if "699"/"Thirteen Minutes" resident
SeeAlso: AX=4243h,AH=4Ah/BX=FFFFh,AX=4B21h

Top
214B05 - INT 21 - DOS 5+ - SET EXECUTION STATE
INT 21 - DOS 5+ - SET EXECUTION STATE
	AX = 4B05h
	DS:DX -> execution state structure (see #01625)
Return: CF clear if successful
	    AX = 0000h
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Note:	used by programs which intercept AX=4B00h to prepare new programs for
	  execution (including setting the DOS version number).	 No DOS, BIOS
	  or other software interrupt may be called after return from this call
	  before commencement of the child process.  If DOS is running in the
	  HMA, A20 is turned off on return from this call.
SeeAlso: AH=4Bh

Format of execution state structure:
Offset	Size	Description	(Table 01625)
 00h	WORD	reserved (00h)
 02h	WORD	type flags
		bit 0: program is an .EXE
		bit 1: program is an overlay
 04h	DWORD	pointer to ASCIZ name of program file
 08h	WORD	PSP segment of new program
 0Ah	DWORD	starting CS:IP of new program
 0Eh	DWORD	program size including PSP

Top
214B18DX0010 - INT 21 U - FBOOT v2.13 - PERFORM FAST BOOTSTRAP
INT 21 U - FBOOT v2.13 - PERFORM FAST BOOTSTRAP
	AX = 4B18h
	DX = 0010h
	BX = disk selector
	    0000h boot from floppy
	    0080h boot from hard disk
Return: never if FastBoot installed
Program: CyberWare FastBoot allows fast warm boots by skipping CMOS
	  checking, ROM scan, RAM & peripheral components test
InstallCheck:	search for a character device driver called "FBOOT$$$"

Top
214B20 - INT 21 - VIRUS - "Holocaust"/"Telefonica" - ???
INT 21 - VIRUS - "Holocaust"/"Telefonica" - ???
	AX = 4B20h
SeeAlso: AX=4B04h,AX=4B21h

Top
214B21 - INT 21 C - VIRUS - "Holocaust"/"Telefonica" - ???
INT 21 C - VIRUS - "Holocaust"/"Telefonica" - ???
	AX = 4B21h
Note:	called at completion of virus installation
SeeAlso: AX=4B04h,AX=4B20h,AX=4B25h

Top
214B25 - INT 21 - VIRUS - "1063"/"Mono" - INSTALLATION CHECK
INT 21 - VIRUS - "1063"/"Mono" - INSTALLATION CHECK
	AX = 4B25h
Return: DI = 1234h if resident
SeeAlso: AX=4B21h,AX=4B40h

Top
214B40 - INT 21 - VIRUS - "Plastique"/"AntiCad" - INSTALLATION CHECK
INT 21 - VIRUS - "Plastique"/"AntiCad" - INSTALLATION CHECK
	AX = 4B40h
Return: AX = 5678h if resident
SeeAlso: AX=4B25h,AX=4B41h,AX=4B4Ah

Top
214B41 - INT 21 - VIRUS - "Plastique"/"AntiCad" - ???
INT 21 - VIRUS - "Plastique"/"AntiCad" - ???
	AX = 4B41h
	???
Return: ???
SeeAlso: AX=4B40h

Top
214B4A - INT 21 - VIRUS - "Jabberwocky" - INSTALLATION CHECK
INT 21 - VIRUS - "Jabberwocky" - INSTALLATION CHECK
	AX = 4B4Ah
Return: AL = 57h if resident
SeeAlso: AX=4B40h,AX=4B4Bh

Top
214B4B - INT 21 - VIRUS - "Horse-2" - INSTALLATION CHECK
INT 21 - VIRUS - "Horse-2" - INSTALLATION CHECK
	AX = 4B4Bh
Return: CF clear if resident
SeeAlso: AX=4B4Ah,AX=4B4Dh

Top
214B4D - INT 21 - VIRUS - "Murphy-2", "Patricia"/"Smack" - INSTALLATION CHECK
INT 21 - VIRUS - "Murphy-2", "Patricia"/"Smack" - INSTALLATION CHECK
	AX = 4B4Dh
Return: CF clear if resident
SeeAlso: AX=4B4Ah,AX=4B50h

Top
214B50 - INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - INSTALLATION CHECK
INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - INSTALLATION CHECK
	AX = 4B50h
Return: AX = 1234h if resident
SeeAlso: AX=4B4Dh,AX=4B53h,AX=4B60h

Top
214B53 - INT 21 - VIRUS - "Horse" - INSTALLATION CHECK
INT 21 - VIRUS - "Horse" - INSTALLATION CHECK
	AX = 4B53h
Return: CF clear if resident
SeeAlso: AX=4B50h,AX=4B53h/BX=2121h,AX=4B55h

Top
214B53BX2121 - INT 21 - VIRUS - "One Half" - INSTALLATION CHECK
INT 21 - VIRUS - "One Half" - INSTALLATION CHECK
	AX = 4B53h
	BX = 2121h
	CX = 1212h
	DX = 0236h
Return: AX = 454Bh if installed
SeeAlso: AX=4B50h,AX=4B53h,AX=4B55h

Top
214B55 - INT 21 - VIRUS - "Sparse" - INSTALLATION CHECK
INT 21 - VIRUS - "Sparse" - INSTALLATION CHECK
	AX = 4B55h
Return: AX = 1231h if resident
SeeAlso: AX=4B53h,AX=4B59h

Top
214B59 - INT 21 - VIRUS - "Murphy-1", "Murphy-4" - INSTALLATION CHECK
INT 21 - VIRUS - "Murphy-1", "Murphy-4" - INSTALLATION CHECK
	AX = 4B59h
Return: CF clear if resident
SeeAlso: AX=4B50h,AX=4B5Eh

Top
214B5E - INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
	AX = 4B5Eh
Return: CF clear if resident
SeeAlso: AX=4B59h,AX=4B87h

Top
214B60 - INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - ???
INT 21 - VIRUS - "Plastique-2576"/"AntiCad-2576" - ???
	AX = 4B60h
	???
Return: ???
SeeAlso: AX=4B50h

Top
214B80 - INT 21 - DR DOS v3.31+ - RUN ALREADY-LOADED KERNEL FILE
INT 21 - DR DOS v3.31+ - RUN ALREADY-LOADED KERNEL FILE
	AX = 4B80h
	DS:DX -> ASCIZ name of program to EXEC
	ES = segment of PSP for kernel file
Return: only if call failed
Note:	DR DOS uses this call after an AX=4B01h to load the kernel file into
	  memory and patch the program's parent-PSP field to point at itself
SeeAlso: AH=4Bh"EXEC"

Top
214B87 - INT 21 - VIRUS - "Shirley" - INSTALLATION CHECK
INT 21 - VIRUS - "Shirley" - INSTALLATION CHECK
	AX = 4B87h
Return: AX = 6663h if resident
SeeAlso: AX=4B5Eh,AX=4B95h

Top
214B95 - INT 21 - VIRUS - "Zherkov-1882" - INSTALLATION CHECK
INT 21 - VIRUS - "Zherkov-1882" - INSTALLATION CHECK
	AX = 4B95h
Return: AX = 1973h if resident
SeeAlso: AX=4B87h,AX=4BA7h

Top
214BA7 - INT 21 - VIRUS - "1876"/"Dash-em" - INSTALLATION CHECK
INT 21 - VIRUS - "1876"/"Dash-em" - INSTALLATION CHECK
	AX = 4BA7h
Return: AX = B459h if resident
SeeAlso: AX=4B95h,AX=4BAAh

Top
214BAA - INT 21 - VIRUS - "Nomenklatura" - INSTALLATION CHECK
INT 21 - VIRUS - "Nomenklatura" - INSTALLATION CHECK
	AX = 4BAAh
Return: CF clear if resident
SeeAlso: AX=4BA7h,AX=4BAFh

Top
214BAF - INT 21 - VIRUS - "948"/"Screenplus1", "Magnitogorsk" - INSTALLATION CHECK
INT 21 - VIRUS - "948"/"Screenplus1", "Magnitogorsk" - INSTALLATION CHECK
	AX = 4BAFh
Return: AL = AFh if "Magnitogorsk" resident
	AL = FAh if "948"/"Screenplus1" resident
SeeAlso: AX=4BAAh,AX=4BB1h"VIRUS"

Top
214BB1 - INT 21 - VIRUS - "UZZY" -INSTALLATION CHECK
INT 21 - VIRUS - "UZZY" -INSTALLATION CHECK
	AX = 4BB1h
Return: CL = 04h if resident
SeeAlso: AX=4BAFh"VIRUS",AX=4BDDh"VIRUS"

Top
214BDD - INT 21 - VIRUS - "Lozinsky"/"Zherkov" - INSTALLATION CHECK
INT 21 - VIRUS - "Lozinsky"/"Zherkov" - INSTALLATION CHECK
	AX = 4BDDh
Return: AX = 1234h
SeeAlso: AX=4BB1h"VIRUS",AX=4BFEh

Top
214BEE - INT 21 - F-DRIVER.SYS v1.14+ - GRAB INT 21
INT 21 - F-DRIVER.SYS v1.14+ - GRAB INT 21
	AX = 4BEEh
Return: AX = status
	    1234h grab was successful
	    2345h failed (INT 21 grabbed previously)
Program: F-DRIVER.SYS is part of the shareware F-PROT virus/trojan protection
	  package by Fridrik Skulason
Note:	when called the first time, this function moves the INT 21 monitoring
	  code from its original location in the INT 21 chain to be the first
	  thing called by INT 21.  This is the mechanism used by F-NET.
SeeAlso: INT 2F/AX=4653h/CX=0002h,INT 2F/AX=4653h/CX=0007h

Top
214BF0 - INT 21 - DIET v1.10+ (Overlay Mode) - INSTALLATION CHECK
INT 21 - DIET v1.10+ (Overlay Mode) - INSTALLATION CHECK
	AX = 4BF0h
Return: CF clear if installed
	    AX = 899Dh
Program: DIET is an executable-compression program by Teddy Matsumoto
SeeAlso: AX=37D0h,AX=4BF1h

Top
214BF1 - INT 21 - DIET v1.10+ (Overlay Mode) - EXPAND PROGRAM???
INT 21 - DIET v1.10+ (Overlay Mode) - EXPAND PROGRAM???
	AX = 4BF1h
Return: ???
SeeAlso: AX=37D0h,AX=4BF0h

Top
214BF1 - INT 21 - VIRUS - "Jerusalem 2" - INSTALLATION CHECK
INT 21 - VIRUS - "Jerusalem 2" - INSTALLATION CHECK
	AX = 4BF1h
Return: AX = 1FB4h if resident
SeeAlso: AH=3Fh/BX=FEB0h"VIRUS",AX=4BDDh"VIRUS",AX=4BFEh"VIRUS"

Top
214BFE - INT 21 - VIRUS - "Hitchcock", "Dark Avenger-1028", "1193" - INSTALLATION CHECK
INT 21 - VIRUS - "Hitchcock", "Dark Avenger-1028", "1193" - INSTALLATION CHECK
	AX = 4BFEh
Return: AX = 1234h if "Hitchcock" or "Storm" resident
	AX = ABCDh if "1193"/"Copyright" resident
	DI = 55BBh if "Dark Avenger-1028" resident
SeeAlso: AX=4BDDh,AX=4BF1h"VIRUS",AX=4BFFh"Justice"

Top
214BFF - INT 21 - VIRUS - "USSR-707", "Justice", "Europe 92" - INSTALLATION CHECK
INT 21 - VIRUS - "USSR-707", "Justice", "Europe 92" - INSTALLATION CHECK
	AX = 4BFFh
Return: BL = FFh if "USSR-707" resident
	DI = 55AAh if "Justice" resident
	AX = 1234h if "Hitchcock.1238" resident
	CF clear if "Europe 92" resident
SeeAlso: AX=4BFEh,AX=4BFFh"Cascade",AX=5252h

Top
214BFFSI0000 - INT 21 - VIRUS - "Cascade" - INSTALLATION CHECK
INT 21 - VIRUS - "Cascade" - INSTALLATION CHECK
	AX = 4BFFh
	SI = 0000h
	DI = 0000h
Return: DI = 55AAh if installed
SeeAlso: AX=4BFFh"Justice",AX=5252h

Top
214C - INT 21 - DOS 2+ - "EXIT" - TERMINATE WITH RETURN CODE
INT 21 - DOS 2+ - "EXIT" - TERMINATE WITH RETURN CODE
	AH = 4Ch
	AL = return code
Return: never returns
Notes:	unless the process is its own parent
	  (see #01378 [offset 16h] at AH=26h), all open files are closed and
	  all memory belonging to the process is freed
	all network file locks should be removed before calling this function
SeeAlso: AH=00h,AH=26h,AH=4Bh,AH=4Dh,INT 15/AH=12h/BH=02h,INT 20,INT 22
SeeAlso: INT 60/DI=0601h

Top
214C57 - INT 21 - Headroom - ???
INT 21 - Headroom - ???
	AX = 4C57h
	DS:DX -> target address
Note:	jumps to target address instead of terminating program
SeeAlso: AX=5758h

Top
214D - INT 21 - DOS 2+ - GET RETURN CODE (ERRORLEVEL)
INT 21 - DOS 2+ - GET RETURN CODE (ERRORLEVEL)
	AH = 4Dh
Return: AH = termination type
	    00h normal (INT 20,INT 21/AH=00h, or INT 21/AH=4Ch)
	    01h control-C abort
	    02h critical error abort
	    03h terminate and stay resident (INT 21/AH=31h or INT 27)
	AL = return code
	CF clear
Notes:	the word in which DOS stores the return code is cleared after being
	  read by this function, so the return code can only be retrieved once
	COMMAND.COM stores the return code of the last external command it
	  executed as ERRORLEVEL
	this call should not be used if the child was started with AX=4B04h;
	  use AH=8Ah instead
	the following sequence will close a Virtual DOS Machine under OS/2 2.0
	  through OS/2 Merlin (but may change in the future):
	    MOV	AH,4Dh
	    INT	21h
	    HLT
	    DB	02h,0FDh
	  This sequence is the only way to close a specific VDM which was
	  booted from floppy or a disk image.
SeeAlso: AH=4Bh,AH=4Ch,AH=8Ah

Top
214E - INT 21 - DOS 2+ - "FINDFIRST" - FIND FIRST MATCHING FILE
INT 21 - DOS 2+ - "FINDFIRST" - FIND FIRST MATCHING FILE
	AH = 4Eh
	AL = special flag for use by APPEND (refer to note below)
	CX = file attribute mask (see #01420 at AX=4301h) (bits 0 and 5 ignored)
	    0088h (Novell DOS 7) find first deleted file
	DS:DX -> ASCIZ file specification (may include path and wildcards)
Return: CF clear if successful
	    Disk Transfer Area filled with FindFirst data block (see #01626)
	CF set on error
	    AX = error code (02h,03h,12h) (see #01680 at AH=59h/BX=0000h)
Notes:	for search attributes other than 08h, all files with at MOST the
	  specified combination of hidden, system, and directory attributes
	  will be returned.  Under DOS 2.x, searching for attribute 08h
	  (volume label) will also return normal files, while under DOS 3.0+
	  only the volume label (if any) will be returned.
	this call also returns successfully if given the name of a character
	  device without wildcards.  DOS 2.x returns attribute 00h, size 0,
	  and the current date and time.  DOS 3.0+ returns attribute 40h and
	  the current date and time.
	immediately after an INT 2F/AX=B711h (APPEND return found name), the
	  name at DS:DX will be overwritten; if AL=00h on entry, the actual
	  found pathname will be stored, otherwise, the actual found path
	  will be prepended to the original filespec without a path.
	under LANtastic, this call may be used to obtain a list of a server's
	  shared resources by searching for "\\SERVER\*.*"; a list of printer
	  resources may be obtained by searching for "\\SERVER\@*.*"
	under the FlashTek X-32 DOS extender, the filespec pointer is in DS:EDX
BUGS:	under DOS 3.x and 4.x, the second and subsequent calls to this function
	  with a character device name (no wildcards) and search attributes
	  which include the volume-label bit (08h) will fail unless there is
	  an intervening DOS call which implicitly or explicity performs a
	  directory search without the volume-label bit.  Such implicit
	  searches are performed by CREATE (AH=3Ch), OPEN (AH=3Dh), UNLINK
	  (AH=41h), and RENAME (AH=56h)
	DR DOS 3.41 and 5.0 return the Directory attribute for the volume label
SeeAlso: AH=11h,AH=4Fh,AX=4301h,AX=714Eh,AX=71A1h,AX=F257h/SF=02h
SeeAlso: INT 2F/AX=111Bh,INT 2F/AX=B711h

Format of FindFirst data block:
Offset	Size	Description	(Table 01626)
---PC-DOS 3.10, PC-DOS 4.01, MS-DOS 3.2/3.3/5.0---
 00h	BYTE	drive letter (bits 0-6), remote if bit 7 set
 01h 11 BYTEs	search template
 0Ch	BYTE	search attributes
---DOS 2.x (and some DOS 3.x???)---
 00h	BYTE	search attributes
 01h	BYTE	drive letter
 02h 11 BYTEs	search template
---WILDUNIX.COM---
 00h 12 BYTEs	15-character wildcard search pattern and drive letter (packed)
 0Ch	BYTE	search attributes
---DOS 2.x and most 3.x---
 0Dh	WORD	entry count within directory
 0Fh	DWORD	pointer to DTA???
 13h	WORD	cluster number of start of parent directory
---PC-DOS 4.01, MS-DOS 3.2/3.3/5.0---
 0Dh	WORD	entry count within directory
 0Fh	WORD	cluster number of start of parent directory
 11h  4 BYTEs	reserved
---OS/2 MVDM---
 00h	WORD	"OS2_BMP_handle"
 02h	WORD	"OS2_LastEnt"
 04h	DWORD	"OS2_Checksum"
 08h	BYTE	"OS2_usi_flag"
 09h	DWORD	used by DOS emulator for second pass for volume-label searches
 0Dh	WORD	(ret) "DOS_LastEnt" entry count within directory
 0Fh	BYTE	OS/2 Processed-FindFirst flag
		00h FindFirst processed by DOS
		42h FindFirst processed by OS/2
 10h  5 BYTEs	reserved for future use
---all versions, documented fields---
 15h	BYTE	attribute of file found
 16h	WORD	file time (see #01665 at AX=5700h)
 18h	WORD	file date (see #01666 at AX=5700h)
 1Ah	DWORD	file size
 1Eh 13 BYTEs	ASCIZ filename+extension

Top
214E - INT 21 - WILDUNIX.COM internal - INSTALLATION CHECK
INT 21 - WILDUNIX.COM internal - INSTALLATION CHECK
	AH = 4Eh
	DS:DX = 0000h:0000h
Return: AH = 99h if installed
Program: WILDUNIX.COM is a resident Unix-style wildcard expander by Steve
	  Hosgood and Terry Barnaby

Top
214F - INT 21 - DOS 2+ - "FINDNEXT" - FIND NEXT MATCHING FILE
INT 21 - DOS 2+ - "FINDNEXT" - FIND NEXT MATCHING FILE
	AH = 4Fh
	Disk Transfer Area contains data block from previous FindFirst or
	  FindNext call
Return: CF clear if successful
	    Disk Transfer Area updated
	CF set on error
	    AX = error code (12h) (see #01680 at AH=59h/BX=0000h)
Notes:	under Novell DOS 7, if the FindFirst call (AH=4Eh) had CX=0088h, then
	  the next matching deleted file will be returned
	since the entire state of a FindFirst/FindNext sequence is contained
	  in the data block in the DTA, other disk operations such as renaming,
	  moving, deleting, or creating files can cause inaccurate directory
	  searches, such as finding the same file twice
BUG:	DR DOS 3.41 and 5.0 return the Directory attribute for the volume label
SeeAlso: AH=12h,AH=4Eh,AX=714Fh,AX=71A1h

Top
2150 - INT 21 - DOS 2+ internal - SET CURRENT PROCESS ID (SET PSP ADDRESS)
INT 21 - DOS 2+ internal - SET CURRENT PROCESS ID (SET PSP ADDRESS)
	AH = 50h
	BX = segment of PSP for new process
Notes:	DOS uses the current PSP address to determine which processes own files
	  and memory; it corresponds to process identifiers used by other OSs
	under DOS 2.x, this function cannot be invoked inside an INT 28h
	  handler without setting the Critical Error flag
	under MS-DOS 3.0+ and DR DOS 3.41+, this function does not use any of
	  the DOS-internal stacks and may thus be called at any time, even
	  during another INT 21h call
	some Microsoft applications such as Quick C 2.51 use segments of 0000h
	  and FFFFh and direct access to the SDA (see #01687 at AX=5D06h) to
	  test whether they are running under MS-DOS rather than a compatible
	  OS; although one should only call this function with valid PSP
	  addresses, any program hooking it should be prepared to handle
	  invalid addresses
	this function is supported by the OS/2 compatibility box
	this call was undocumented prior to the release of DOS 5.0
SeeAlso: AH=26h,AH=51h,AH=62h

Top
2150FD - INT 21 - VIRUS - "Predator 2" - INSTALLATION CHECK
INT 21 - VIRUS - "Predator 2" - INSTALLATION CHECK
	AX = 50FDh
Return: AX = FD50h if resident
SeeAlso: AX=4BFFh"VIRUS",AX=5454h"VIRUS"

Top
2151 - INT 21 - DOS 2+ internal - GET CURRENT PROCESS ID (GET PSP ADDRESS)
INT 21 - DOS 2+ internal - GET CURRENT PROCESS ID (GET PSP ADDRESS)
	AH = 51h
Return: BX = segment of PSP for current process
Notes:	DOS uses the current PSP address to determine which processes own files
	  and memory; it corresponds to process identifiers used by other OSs
	under DOS 2.x, this function cannot be invoked inside an INT 28h
	  handler without setting the Critical Error flag
	under DOS 3.0+, this function does not use any of the DOS-internal
	  stacks and may thus be called at any time, even during another
	  INT 21h call
	supported by OS/2 compatibility box
	identical to the documented AH=62h
	this call was undocumented prior to the release of DOS 5.0
SeeAlso: AH=26h,AH=50h,AH=62h

Top
2152 - INT 21 U - DOS 2+ internal - "SYSVARS" - GET LIST OF LISTS
INT 21 U - DOS 2+ internal - "SYSVARS" - GET LIST OF LISTS
	AH = 52h
Return: ES:BX -> DOS list of lists (see #01627)
Notes:	partially supported by OS/2 v1.1 compatibility box (however, most
	  pointers are FFFFh:FFFFh, LASTDRIVE is FFh, and the NUL header "next"
	  pointer is FFFFh:FFFFh).
	partially supported by the Windows NT DOS box; contains only a
	  rudimentary Current Directory Structure (see #01645)
	on return, ES points at the DOS data segment (see also INT 2F/AX=1203h)
	Quarterdeck's suggested check for the use of its DOSDATA.SYS or
	  DOS-UP.SYS is to test whether the list-of-lists segment is greater
	  than the segment of the first memory block; a better check for
	  DOS-UP.SYS is INT 21/AX=2B01h/CX=444Dh
	because not all DOS workalikes support all fields in the List of Lists,
	  applications should ensure that pointers are neither 0000h:0000h
	  nor FFFFh:FFFFh before using them
	Windows for Workgroups 3.11 network and Windows95 set the path to
	  the local drive and directory even for network drives; in that
	  case the UNC form \\SERVER\SHARE can be obtained with
	  INT 21/AX=5F02h or INT 21/AX=5F46h. LapLink RemoteAccess does the
	  same even for INT 21/AX=5F02h
	Windows95 GUI no longer returns the true path for a SUBSTed drive,
	  but MS-DOS 7.00 does; use INT 21/AH=60h to obtain the true name
SeeAlso: INT 2F/AX=1203h

Format of List of Lists:
Offset	Size	Description	(Table 01627)
 -24	WORD	(DOS 3.1+) contents of CX from INT 21/AX=5E01h
 -22	WORD	(DOS ???+) LRU counter for FCB caching
 -20	WORD	(DOS ???+) LRU counter for FCB opens
 -18	DWORD	(DOS ???+) address of OEM function handler (see INT 21/AH=F8h)
			FFFFh:FFFFh if not installed or not available
 -14	WORD	(DOS ???+) offset in DOS CS of code to return from INT 21 call
 -12	WORD	(DOS 3.1+) sharing retry count (see AX=440Bh)
 -10	WORD	(DOS 3.1+) sharing retry delay (see AX=440Bh)
 -8	DWORD	(DOS 3.0+) pointer to current disk buffer
 -4	WORD	(DOS 3.0+) pointer in DOS data segment of unread CON input
		when CON is read via a handle, DOS reads an entire line,
		  and returns the requested portion, buffering the rest
		  for the next read.  0000h indicates no unread input
 -2	WORD	segment of first memory control block (see #01628)
 00h	DWORD	pointer to first Drive Parameter Block (see #01395 at AH=32h)
 04h	DWORD	-> first System File Table (see #01639,#01640,#01641,#01642)
 08h	DWORD	pointer to active CLOCK$ device's header (most recently loaded
		  driver with CLOCK bit set)
 0Ch	DWORD	pointer to active CON device's header (most recently loaded
		  driver with STDIN bit set)
---DOS 2.x---
 10h	BYTE	number of logical drives in system
 11h	WORD	maximum bytes/block of any block device
 13h	DWORD	pointer to first disk buffer (see #01649,#01650)
 17h 18 BYTEs	actual NUL device driver header (not a pointer!)
		NUL is always the first device on DOS's linked list of device
		  drivers. (see #01646)
---DOS 3.0---
 10h	BYTE	number of block devices
 11h	WORD	maximum bytes/block of any block device
 13h	DWORD	pointer to first disk buffer (see #01650,#01652)
 17h	DWORD	pointer to array of current directory structures (see #01643)
 1Bh	BYTE	value of LASTDRIVE command in CONFIG.SYS (default 5)
 1Ch	DWORD	pointer to STRING= workspace area
 20h	WORD	size of STRING area (the x in STRING=x from CONFIG.SYS)
 22h	DWORD	pointer to FCB table
 26h	WORD	the y in FCBS=x,y from CONFIG.SYS
 28h 18 BYTEs	actual NUL device driver header (not a pointer!)
		NUL is always the first device on DOS's linked list of device
		  drivers. (see #01646)
---DOS 3.1-3.3---
 10h	WORD	maximum bytes per sector of any block device
 12h	DWORD	pointer to first disk buffer in buffer chain (see #01650)
 16h	DWORD	pointer to array of current directory structures (see #01643)
 1Ah	DWORD	pointer to system FCB tables (see #01640,#01641,#01642)
 1Eh	WORD	number of protected FCBs (the y in the CONFIG.SYS FCBS=x,y)
 20h	BYTE	number of block devices installed
 21h	BYTE	number of available drive letters (largest of 5, installed
		  block devices, and CONFIG.SYS LASTDRIVE=).  Also size of
		  current directory structure array.
 22h 18 BYTEs	actual NUL device driver header (not a pointer!)
		NUL is always the first device on DOS's linked list of device
		  drivers. (see #01646)
 34h	BYTE	number of JOIN'ed drives
---DOS 4.x---
 10h	WORD	maximum bytes per sector of any block device
 12h	DWORD	pointer to disk buffer info record (see #01652,#01653)
		Note: although the initialization code in IO.SYS uses this
		  pointer, MSDOS.SYS does not, instead using the hardcoded
		  address of the info record
 16h	DWORD	pointer to array of current directory structures
		(see #01643,#01644)
 1Ah	DWORD	pointer to system FCB tables (see #01640,#01641,#01642)
 1Eh	WORD	number of protected FCBs (the y in the CONFIG.SYS FCBS=x,y)
		(always 00h for DOS 5.0)
 20h	BYTE	number of block devices installed
 21h	BYTE	number of available drive letters; also size of current
		  directory structure array.
		For DOS 4.0-6.0: largest of 5, installed block devices,
		  and CONFIG.SYS LASTDRIVE=
		For DOS 7.x (Windows9X), set to 32 if no LASTDRIVE= or
		  LASTDRIVEHIGH=, else set to larger of installed block
		  devices and LASTDRIVE(HIGH)=
 22h 18 BYTEs	actual NUL device driver header (not a pointer!)
		NUL is always the first device on DOS's linked list of device
		  drivers. (see #01646)
 34h	BYTE	number of JOIN'ed drives
 35h	WORD	pointer within IBMDOS code segment to list of special program
		  names (see #01662)
		(always 0000h for DOS 5.0)
 37h	DWORD	pointer to FAR routine for resident IFS utility functions
		(see #01658)
		may be called by any IFS driver which does not wish to
		  service functions 20h or 24h-28h itself
 3Bh	DWORD	pointer to chain of IFS (installable file system) drivers
 3Fh	WORD	the x in BUFFERS x,y (rounded up to multiple of 30 if in EMS)
 41h	WORD	number of lookahead buffers (the y in BUFFERS x,y)
 43h	BYTE	boot drive (1=A:)
 44h	BYTE	flag: 01h to use DWORD moves (80386+), 00h otherwise
 45h	WORD	extended memory size in KB
---DOS 5.0-6.0---
 10h 39 BYTEs	as for DOS 4.x (above)
 37h	DWORD	pointer to SETVER program list or 0000h:0000h
 3Bh	WORD	(DOS=HIGH) offset in DOS CS of function to fix A20 control
		  when executing special .COM format
 3Dh	WORD	PSP of most-recently EXECed program if DOS in HMA, 0000h if low
		used for maintaining count of INT 21 calls which disable A20
		  on return
 3Fh  8 BYTEs	as for DOS 4.x (above)
---Windows NT DOS Box---
 10h  6 BYTEs	???
 16h	DWORD	pointer to array of current directory structures (see #01645)
 1Ah  6 BYTEs	???
 20h	BYTE	number of block devices installed
 21h	BYTE	number of local drive letters (= installed block devices)
		Also size of current directory structure array.
 22h 18 BYTEs	actual NUL device driver header (not a pointer!)
		NUL is always the first device on DOS's linked list of device
		  drivers. (see #01646)
---DOS 7.x---
 10h 55 BYTEs	as for DOS 5.0-6.0 (above)
 47h 25 BYTEs	???
 60h	BYTE	"DOS_FLAG" (see also INT 26)

Format of DOS memory control block:
Offset	Size	Description	(Table 01628)
 00h	BYTE	block type: 5Ah if last block in chain, otherwise 4Dh
 01h	WORD	PSP segment of owner or special flag value (see #01629)
 03h	WORD	size of memory block in paragraphs
 05h  3 BYTEs	unused by MS-DOS
		(386MAX) if locked-out block, region start/prev region end
---DOS 2.x,3.x---
 08h  8 BYTEs	unused
---DOS 4.0+ ---
 08h  8 BYTEs	ASCII program name if PSP memory block or DR DOS UMB,
		  else garbage
		null-terminated if less than 8 characters
Notes:	the next MCB is at segment (current + size + 1)
	under DOS 3.1+, the first memory block is the DOS data segment,
	  containing installable drivers, buffers, etc.	 Under DOS 4.0+ it is
	  divided into subsegments, each with its own memory control block
	  (see #01633), the first of which is at offset 0000h.
	for DOS 5+, blocks owned by DOS may have either "SC" or "SD" in bytes
	  08h and 09h.	"SC" is system code or locked-out inter-UMB memory,
	  "SD" is system data, device drivers, etc.
	Some versions of DR DOS use only seven characters of the program name,
	  placing a NUL in the eighth byte.
SeeAlso: #01630,#01632,#01633

(Table 01629)
Values for special flag PSP segments:
 0000h	free
 0006h	DR DOS XMS UMB
 0007h	DR DOS excluded upper memory ("hole")
 0008h	belongs to DOS
 FFF7h	386MAX v6.01+ ???
 FFFAh	386MAX UMB control block (see #01477 at AX=4402h"386MAX")
 FFFDh	386MAX locked-out memory
 FFFEh	386MAX UMB (normally immediately follows its control block)
 FFFFh	386MAX v6.01+ device driver

Format of MS-DOS 5+ UMB control block:
Offset	Size	Description	(Table 01630)
 00h	BYTE	type: 5Ah if last block in chain, 4Dh otherwise
 01h	WORD	first available paragraph in UMB if control block at start
		  of UMB, 000Ah if control block at end of UMB
 03h	WORD	length in paragraphs of following UMB or locked-out region
 05h  3 BYTEs	unused
 08h  8 BYTEs	block type name: "UMB" if start block, "SM" if end block in UMB
SeeAlso: #01628,#01631

Format of MS-DOS 7.0 HMA memory control block:
Offset	Size	Description	(Table 01631)
 00h	WORD	signature "MS" (4Dh 53h)
 02h	WORD	usage flag???
		0000h free
		else ???
 04h	WORD	size of memory block in bytes (not counting MCB)
 06h	WORD	offset of next memory block in HMA or 0000h
 08h  8 BYTEs	unused (0)
SeeAlso: #01628,#01630,#01632

Format of STARLITE (General Software's Embedded DOS) memory control block:
Offset	Size	Description	(Table 01632)
 00h	BYTE	block type: 5Ah if last block in chain, otherwise 4Dh
 01h	WORD	PSP segment of owner, 0000h if free, 0008h if belongs to DOS
 03h	WORD	size of memory block in paragraphs
 05h	BYTE	unused
 06h	WORD	segment address of next memory control block (0000h if last)
 08h	WORD	segment address of previous memory control block or 0000h
 0Ah  6 BYTEs	reserved

Format of DOS 4.0+ data segment subsegment control blocks:
Offset	Size	Description	(Table 01633)
 00h	BYTE	subsegment type (blocks typically appear in this order)
		"D"  device driver
		"E"  device driver appendage
		"I"  IFS (Installable File System) driver
		     (MS-DOS 7) high-loaded drive data table array (see #02603)
		"F"  FILES=  control block storage area (for FILES>5)
		"X"  FCBS=   control block storage area, if present
		"C"  BUFFERS EMS workspace area (if BUFFERS /X option used)
		"B"  BUFFERS=  storage area
		"L"  LASTDRIVE=	 current directory structure array storage area
		"S"  STACKS=  code and data area, if present (see #01634,#01635)
		"T"  INSTALL= transient code
 01h	WORD	paragraph of subsegment start (usually the next paragraph)
 03h	WORD	size of subsegment in paragraphs
 05h  3 BYTEs	unused
 08h  8 BYTEs	for types "D" and "I", base name of file from which the driver
		  was loaded (unused for other types)

Format of data at start of STACKS code segment (if present):
Offset	Size	Description	(Table 01634)
 00h	WORD	???
 02h	WORD	number of stacks (the x in STACKS=x,y)
 04h	WORD	size of stack control block array (should be 8*x)
 06h	WORD	size of each stack (the y in STACKS=x,y)
 08h	DWORD	pointer to STACKS data segment
 0Ch	WORD	offset in STACKS data segment of stack control block array
 0Eh	WORD	offset in STACKS data segment of last element of that array
 10h	WORD	offset in STACKS data segment of the entry in that array for
		  the next stack to be allocated (initially same as value in
		  0Eh and works its way down in steps of 8 to the value in
		  0Ch as hardware interrupts pre-empt each other)
Note:	the STACKS code segment data may, if present, be located as follows:
    DOS 3.2:	The code segment data is at a paragraph boundary fairly early
		  in the IBMBIO segment (seen at 0070:0190h)
    DOS 3.3:	The code segment is at a paragraph boundary in the DOS data
		  segment, which may be determined by inspecting the segment
		  pointers of the vectors for those of interrupts 02h, 08h-0Eh,
		  70h, 72-77h which have not been redirected by device drivers
		  or TSRs.
    DOS 4.0+	Identified by sub-segment control block type "S" within the DOS
		  data segment.
SeeAlso: #01636,INT B4"STACKMAN"

Format of array elements in STACKS data segment:
Offset	Size	Description	(Table 01635)
 00h	BYTE	status: 00h=free, 01h=in use, 03h=corrupted by overflow of
		  higher stack.
 01h	BYTE	not used
 02h	WORD	previous SP
 04h	WORD	previous SS
 06h	WORD	ptr to word at top of stack (new value for SP). The word at the
		  top of the stack is preset to point back to this control
		  block.

Format of SHARE.EXE hooks (DOS 3.1-6.00):
Offset	Size	Description	(Table 01636)
(offsets from first system file table--pointed at by ListOfLists+04h)
-3Ch	DWORD	pointer to FAR routine for ???
		Note: not called by MS-DOS 3.3, set to 0000h:0000h by
			SHARE 3.3+
-38h	DWORD	pointer to FAR routine called on opening file
		on call, internal DOS location points at filename
		  (see #01687 at AX=5D06h)
		Return: CF clear if successful
			CF set on error
			    AX = DOS error code (24h)
				  (see #01680 at AH=59h/BX=0000h)
		Note: SHARE directly accesses DOS-internal data to get name of
			file just opened
-34h	DWORD	pointer to FAR routine called on closing file
		ES:DI -> system file table
		Note: does something to every Record Lock Record for file
-30h	DWORD	pointer to FAR routine to close all files for given computer
		(called by AX=5D03h)
-2Ch	DWORD	pointer to FAR routine to close all files for given process
		(called by AX=5D04h)
-28h	DWORD	pointer to FAR routine to close file by name
		(called by AX=5D02h)
		DS:SI -> DOS parameter list (see #01686 at AX=5D00h)
		   DPL's DS:DX -> name of file to close
		Return: CF clear if successful
			CF set on error
			    AX = DOS error code (03h)
				  (see #01680 at AH=59h/BX=0000h)
-24h	DWORD	pointer to FAR routine to lock region of file
		call with BX = file handle
			  ---DOS 3.x---
			  CX:DX = starting offset
			  SI:AX = size
			  ---DOS 4.0+ ---
			  DS:DX -> lock range
					DWORD start offset
					DWORD size in bytes
		Return: CF set on error
			    AL = DOS error code (21h) (see #01680 at AH=59h)
		Note: not called if file is marked as remote
-20h	DWORD	pointer to FAR routine to unlock region of file
		call with BX = file handle
			  ---DOS 3.x---
			  CX:DX = starting offset
			  SI:AX = size
			  ---DOS 4.0+ ---
			  DS:DX -> lock range
					DWORD start offset
					DWORD size in bytes
		Return: CF set on error
			    AL = DOS error code (21h) (see #01680 at AH=59h)
		Note: not called if file is marked as remote
-1Ch	DWORD	pointer to FAR routine to check if file region is locked
		call with ES:DI -> system file table entry for file
			CX = length of region from current position in file
		Return: CF set if any portion of region locked
			    AX = 0021h
-18h	DWORD	pointer to FAR routine to get open file list entry
		(called by AX=5D05h)
		call with DS:SI -> DOS parameter list (see #01686 at AX=5D00h)
			DPL's BX = index of sharing record
			DPL's CX = index of SFT in SFT chain of sharing rec
		Return: CF set on error or not loaded
			    AX = DOS error code (12h) (see #01680 at AH=59h)
			CF clear if successful
			    ES:DI -> filename
			    CX = number of locks owned by specified SFT
			    BX = network machine number
			    DX destroyed
-14h	DWORD	pointer to FAR routine for updating FCB from SFT???
		call with DS:SI -> unopened FCB
			  ES:DI -> system file table entry
		Return: BL = C0h???
		Note: copies following fields from SFT to FCB:
		   starting cluster of file	  0Bh	 1Ah
		   sharing record offset	  33h	 1Ch
		   file attribute		  04h	 1Eh
-10h	DWORD	pointer to FAR routine to get first cluster of FCB file ???
		call with ES:DI -> system file table entry
			  DS:SI -> FCB
		Return: CF set if SFT closed or sharing record offsets
				mismatched
			CF clear if successful
			    BX = starting cluster number from FCB
-0Ch	DWORD	pointer to FAR routine to close file if duplicate for process
		DS:SI -> system file table
		Return: AX = number of handle in JFT which already uses SFT
		Note: called during open/create of a file
		Note: if SFT was opened with inheritance enabled and sharing
			mode 111, does something to all other SFTs owned by
			same process which have the same file open mode and
			sharing record
-08h	DWORD	pointer to FAR routine for closing file
		Note: closes various handles referring to file most-recently
			opened
-04h	DWORD	pointer to FAR routine to update directory info in related SFT
		  entries
		call with ES:DI -> system file table entry for file (see #01641)
			  AX = subfunction (apply to each related SFT)
				00h: update time stamp (offset 0Dh) and date
				     stamp (offset 0Fh)
				01h: update file size (offset 11h) and starting
				     cluster (offset 0Bh).  Sets last-accessed
				     cluster fields to start of file if file
				     never accessed
				02h: as function 01h, but last-accessed fields
				     always changed
				03h: do both functions 00h and 02h
		Note: follows ptr at offset 2Bh in system file table entries
		Note: NOP if opened with no-inherit or via FCB
Notes:	most of the above hooks (except -04h, -14h, -18h, and -3Ch) assume
	  either that SS=DOS DS or SS=DS=DOS DS and directly access
	  DOS-internal data
	sharing hooks are not supported by DR DOS 5-6; they appear to be
	  supported by Novell DOS 7, with a segment of 0000h indicating the
	  DOS data segment
SeeAlso: #01637,#01638

Format of sharing record:
Offset	Size	Description	(Table 01637)
 00h	BYTE	flag
		00h free block
		01h allocated block
		FFh end marker
 01h	WORD	size of block
 03h	BYTE	checksum of pathname (including NUL)
		if sum of ASCII values is N, checksum is (N/256 + N%256)
 04h	WORD	offset in SHARE's DS of first Record Lock Record (see #01638)
 06h	DWORD	pointer to start of system file table chain for file
 0Ah	WORD	unique sequence number
 0Ch	var	ASCIZ full pathname
Note:	not supported by DR DOS SHARE 1.1 and 2.0; will reportedly be
	  supported by Novell DOS 7
SeeAlso: #01636,#01638

Format of SHARE.EXE Record Lock Record:
Offset	Size	Description	(Table 01638)
 00h	WORD	offset in SHARE's DS of next lock table in list or 0000h
 02h	DWORD	offset in file of start of locked region
 06h	DWORD	offset in file of end of locked region
 0Ah	DWORD	pointer to System File Table entry for this file
 0Eh	WORD	PSP segment of lock's owner
---DOS 5+ ---
 10h	WORD	lock type: (00h lock all, 01h lock writes only)
SeeAlso: #01636,#01637,#01639,#01642

Format of DOS 2.x system file tables:
Offset	Size	Description	(Table 01639)
 00h	DWORD	pointer to next file table (offset FFFFh if last)
 04h	WORD	number of files in this table
 06h  28h bytes per file
	Offset	Size	Description
	 00h	BYTE	number of file handles referring to this file
	 01h	BYTE	file open mode (see #01402 at AH=3Dh)
	 02h	BYTE	file attribute
	 03h	BYTE	drive (0 = character device, 1 = A, 2 = B, etc)
	 04h 11 BYTEs	filename in FCB format (no path,no period,blank-padded)
	 0Fh	WORD	???
	 11h	WORD	???
	 13h	DWORD	file size???
	 17h	WORD	file date in packed format (see #01666 at AX=5700h)
	 19h	WORD	file time in packed format (see #01665 at AX=5700h)
	 1Bh	BYTE	device attribute (see #01423 at AX=4400h)
	---character device---
	 1Ch	DWORD	pointer to device driver
	---block device---
	 1Ch	WORD	starting cluster of file
	 1Eh	WORD	relative cluster in file of last cluster accessed
	------
	 20h	WORD	absolute cluster number of current cluster
	 22h	WORD	???
	 24h	DWORD	current file position???
SeeAlso: #01640,#01641,#01642

Format of DOS 3.0 system file tables and FCB tables:
Offset	Size	Description	(Table 01640)
 00h	DWORD	pointer to next file table (offset FFFFh if last)
 04h	WORD	number of files in this table
 06h  38h bytes per file
	Offset	Size	Description
	 00h-1Eh as for DOS 3.1+ (see #01641)
	 1Fh	WORD	byte offset of directory entry within sector
	 21h 11 BYTEs	filename in FCB format (no path/period, blank-padded)
	 2Ch	DWORD	(SHARE.EXE) pointer to previous SFT sharing same file
	 30h	WORD	(SHARE.EXE) network machine number which opened file
			(Windows Enhanced mode DOSMGR uses the virtual machine
			  ID as the machine number; see INT 2F/AX=1683h)
	 32h	WORD	PSP segment of file's owner (first three entries for
			  AUX/CON/PRN contain segment of IO.SYS startup code)
	 34h	WORD	(SHARE.EXE) offset in SHARE code seg of share record
	 36h	WORD	??? apparently always 0000h
SeeAlso: #01639,#01641,#01642

Format of DOS 3.1-3.3x, DR DOS 5.0-6.0 system file tables and FCB tables:
Offset	Size	Description	(Table 01641)
 00h	DWORD	pointer to next file table (offset FFFFh if last)
 04h	WORD	number of files in this table
 06h  35h bytes per file
	Offset	Size	Description
	 00h	WORD	number of file handles referring to this file
	 02h	WORD	file open mode (see AX=6C00h, #01402 at AH=3Dh)
			bit 15 set if this file opened via FCB
	 04h	BYTE	file attribute (see #01420 at AX=4301h)
	 05h	WORD	device info word (see #01423 at AX=4400h)
			bit 15 set if remote file
			bit 14 set means do not set file date/time on closing
			bit 12 set means don't inherit on EXEC
			bits 5-0 drive number for disk files
	 07h	DWORD	pointer to device driver header if character device
			else pointer to DOS Drive Parameter Block
			  (see #01395 at AH=32h)
	 0Bh	WORD	starting cluster of file
	 0Dh	WORD	file time in packed format (see #01665 at AX=5700h)
			not used for character devices in DR DOS
	 0Fh	WORD	file date in packed format (see #01666 at AX=5700h)
			not used for character devices in DR DOS
	 11h	DWORD	file size
	---system file table---
	 15h	DWORD	current offset in file (may be larger than size of
			  file; INT 21/AH=42h does not check new position)
	---FCB table---
	 15h	WORD	counter for last I/O to FCB
	 17h	WORD	counter for last open of FCB
			(these are separate to determine the times of the
			  latest I/O and open)
	---
	 19h	WORD	relative cluster within file of last cluster accessed
	 1Bh	WORD	absolute cluster number of last cluster accessed
			0000h if file never read or written???
	 1Dh	WORD	number of sector containing directory entry
			(see #01352)
	 1Fh	BYTE	number of dir entry within sector (byte offset/32)
	 20h 11 BYTEs	filename in FCB format (no path/period, blank-padded)
	 2Bh	DWORD	(SHARE.EXE) pointer to previous SFT sharing same file
	 2Fh	WORD	(SHARE.EXE) network machine number which opened file
			(Windows Enhanced mode DOSMGR uses the virtual machine
			  ID as the machine number; see INT 2F/AX=1683h)
	 31h	WORD	PSP segment of file's owner (see #01378 at AH=26h)
			  (first three entries for AUX/CON/PRN contain segment
			  of IO.SYS startup code)
	 33h	WORD	offset within SHARE.EXE code segment of
			  sharing record (see #01637) 0000h = none
SeeAlso: #01639,#01640,#01642

Format of DOS 4.0-6.0 system file tables and FCB tables:
Offset	Size	Description	(Table 01642)
 00h	DWORD	pointer to next file table (offset FFFFh if last)
 04h	WORD	number of files in this table
 06h  3Bh bytes per file
	Offset	Size	Description
	 00h	WORD	number of file handles referring to this file
			FFFFh if in use but not referenced
	 02h	WORD	file open mode (see AX=6C00h,#01402 at AH=3Dh)
			bit 15 set if this file opened via FCB
	 04h	BYTE	file attribute (see #01420 at AX=4301h)
	 05h	WORD	device info word (see also #01423 at AX=4400h)
			bit 15 set if remote file
			bit 14 set means do not set file date/time on closing
			bit 13 set if named pipe
			bit 12 set if no inherit
			bit 11 set if network spooler
			bit 7  set if device, clear if file (only if local)
			bits 6-0 as for AX=4400h
	 07h	DWORD	pointer to device driver header if character device
			else pointer to DOS Drive Parameter Block
			  (see #01395 at AH=32h) or REDIR data
	 0Bh	WORD	starting cluster of file (local files only)
			not set for FAT32-capable versions of Windows95
			  (since they allow 32-bit cluster numbers)
	 0Dh	WORD	file time in packed format (see #01665)
	 0Fh	WORD	file date in packed format (see #01666)
	 11h	DWORD	file size
	 15h	DWORD	current offset in file (SFT)
			LRU counters (FCB table, two WORDs)
	---local file---
	 19h	WORD	relative cluster within file of last cluster accessed
	 1Bh	DWORD	number of sector containing directory entry
	 1Fh	BYTE	number of dir entry within sector (byte offset/32)
	---network redirector---
	 19h	DWORD	pointer to REDIRIFS record
	 1Dh  3 BYTEs	???
	------
	 20h 11 BYTEs	filename in FCB format (no path/period, blank-padded)
	 2Bh	DWORD	(SHARE.EXE) pointer to previous SFT sharing same file
	 2Fh	WORD	(SHARE.EXE) network machine number which opened file
			(Windows Enhanced mode DOSMGR uses the virtual machine
			  ID as the machine number; see INT 2F/AX=1683h)
	 31h	WORD	PSP segment of file's owner (see #01378 at AH=26h)
			  (first three entries for AUX/CON/PRN contain segment
			  of IO.SYS startup code)
	 33h	WORD	offset within SHARE.EXE code segment of
			sharing record (see #01595)  0000h = none
	 35h	WORD	(local) absolute cluster number of last clustr accessed
			(redirector) ???
	 37h	DWORD	pointer to IFS driver for file, 0000000h if native DOS
Note:	the OS/2 2.0 DOS Boot Session does not properly fill in the filename
	  field due to incomplete support for SFTs; the OS/2 2.0 DOS Window
	  does not appear to support SFTs at all
SeeAlso: #01639,#01640,#01641

Format of current directory structure (CDS) (array, LASTDRIVE entries):
Offset	Size	Description	(Table 01643)
 00h 67 BYTEs	ASCIZ path in form X:\PATH (local) or UNC form
		  \\SERVER\PATH (network, see notes below)
 43h	WORD	drive attributes (also see note below) (see also AX=5F07h)
		bit 15: uses network redirector	 \ invalid if 00, installable
		bit 14: physical drive		 / file system if 11
		bit 13: JOIN'ed	  \ path above is true path that would be
		bit 12: SUBST'ed  / needed if not under SUBST or JOIN
		bit 11: removable media (WinNT4.0)
		bit 10: hard disk??? (WinNT4.0)
		bit  7: remote drive hidden from redirector's assign-list and
			  exempt from network connection make/break commands;
			  set for CD-ROM drives by MSCDEX (not supported by
			  CORELCDX)
 45h	DWORD	pointer to Drive Parameter Block for drive
		  (see #01395 at AH=32h)
---local drives---
 49h	WORD	starting cluster of current directory
		0000h = root, FFFFh = never accessed
 4Bh	WORD	??? seems to be FFFFh always
 4Dh	WORD	??? seems to be FFFFh always
---network drives---
 49h	DWORD	pointer to redirector or REDIRIFS record, or FFFFh:FFFFh
		(DOS 4 only) available for use by IFS driver
 4Dh	WORD	stored user data from INT 21/AX=5F03h
------
 4Fh	WORD	offset in current directory path of backslash corresponding to
		  root directory for drive
		this value specifies how many characters to hide from the
		  "CHDIR" and "GETDIR" calls; normally set to 2 to hide the
		  drive letter and colon, SUBST, JOIN, and networks change it
		  so that only the appropriate portion of the true path is
		  visible to the user
---DOS 4.0+ ---
 51h	BYTE	(DOS 4 only, remote drives) device type
		04h network drive
 52h	DWORD	pointer to IFS driver (DOS 4) or redirector block (DOS 5+) for
		  this drive, 00000000h if native DOS
 56h	WORD	available for use by IFS driver
Notes:	the path for invalid drives is normally set to X:\, but may be empty
	  after JOIN x: /D in DR DOS 5.0 or NET USE x: /D in older LAN versions
	normally, only one of bits 13&12 may be set together with bit 14, but
	  DR DOS 5.0 uses other combinations for bits 15-12: 0111 JOIN,
	  0001 SUBST, 0101 ASSIGN (see #01644)
	Windows for Workgroups 3.11 network sets the path to the local
	  drive and directory even for network drives; in that case the
	  UNC form \\SERVER\SHARE can be obtained with INT 21/AX=5F02h
	  or INT 21/AX=5F46h. LapLink RemoteAccess does the same even for
	  INT 21/AX=5F02h
	Window NT 4.0 always uses X:\PATH, even for substituted drives (i.e.
	  the CDS will *not* contain the original path prior to SUBST)
	SoftWindows on the Macintosh PowerPC sets \\E for the host drive
SeeAlso: #01644,INT 21/AX=71AAh/BL=00h

Format of DR DOS 5.0-6.0 current directory structure entry (array):
Offset	Size	Description	(Table 01644)
 00h 67 BYTEs	ASCIZ pathname of actual root directory for this logical drive
 43h	WORD	drive attributes
		1000h SUBSTed drive
		3000h??? JOINed drive
		4000h physical drive
		5000h ASSIGNed drive
		7000h JOINed drive
		8000h network drive
 45h	BYTE	physical drive number (0=A:) if this logical drive is valid
 46h	BYTE	??? apparently flags for JOIN and ASSIGN
 47h	WORD	cluster number of start of parent directory (0000h = root)
 49h	WORD	entry number of current directory in parent directory
 4Bh	WORD	cluster number of start of current directory
 4Dh	WORD	used for media change detection (details not available)
 4Fh	WORD	cluster number of SUBST/JOIN "root" directory
		0000h if physical root directory
SeeAlso: #01643

Format of Windows NT Current Directory Structure (CDS) (array):
Offset	Size	Description	(Table 01645)
 00h 67 BYTEs	ASCIZ path in form X:\ (does not show either current directory
		  or network path)
 43h  4 BYTEs	???
Note:	the WinNT CDS contains only as many entries as there are local drives,
	  not LASTDRIVE entries.

Format of DOS device driver header:
Offset	Size	Description	(Table 01646)
 00h	DWORD	pointer to next driver, offset=FFFFh if last driver
 04h	WORD	device attributes (see #01647,#01648)
 06h	WORD	device strategy entry point
		call with ES:BX -> request header
		  (see #02597 at INT 2F/AX=0802h)
 08h	WORD	device interrupt entry point
---character device---
 0Ah  8 BYTEs	blank-padded character device name
---block device---
 0Ah	BYTE	number of subunits (drives) supported by driver
 0Bh  7 BYTEs	normally unused; sometimes contains signature to indicate
		  specific drivers:
		"$PCMATA"   PCMCIA driver PCMATA.SYS (see AX=440Dh"DOS 3.2+")
		"AHADDVR"   Adaptec SCSI disk driver ASPIDISK.SYS
		"DBLSPAC"   MS DoubleSpace or DriveSpace
		"DSKREET"   NortonUtils v5+ Diskreet (see INT 2F/AX=FE00h)
		"GFS	"   LapLink III device driver DD.BIN
		"SIDExxx"   PCMCIA driver ATADRV.EXE (see AX=440Dh"DOS 3.2+")
		"STAC-CD"   Stacker/Stacker Anywhere (see AX=4404h"Stacker")
---DoubleSpace/DriveSpace---
 12h  2 BYTEs	signature ",." (2Ch 2Eh)
 14h	var	preloading API entry point
---CD-ROM---
 12h	WORD	reserved, must be 0000h
		appears to be another device chain
 14h	BYTE	drive letter, 01h=A:, etc. (must initially be 00h; this byte
		  is set by MSCDEX when it loads)
 15h	BYTE	number of units
 16h  6 BYTEs	signature 'MSCDnn' where 'nn' is version (currently '00')
		(this field does not exist in most drivers)
SeeAlso: #02550 at INT 25/AX=CDCDh,#02845 at INT 2F/AX=5600h

Bitfields for device attributes (character device):
Bit(s)	Description	(Table 01647)
 15	set (indicates character device)
 14	IOCTL supported (see AH=44h)
 13	(DOS 3.0+) output until busy supported
 12	reserved
 11	(DOS 3.0+) OPEN/CLOSE/RemMedia calls supported
 10-8	reserved
 7	(DOS 5.0+) Generic IOCTL check call supported (driver command 19h)
	(see AX=4410h,AX=4411h)
 6	(DOS 3.2+) Generic IOCTL call supported (driver command 13h)
	(see AX=440Ch,AX=440Dh"DOS 3.2+")
 5	reserved
 4	device is special (use INT 29 "fast console output")
 3	device is CLOCK$ (all reads/writes use transfer record described
	  below)
 2	device is NUL
 1	device is standard output
 0	device is standard input
Note:	for European MS-DOS 4.0, bit 11 also indicates that bits 8-6 contain a
	  version code (000 = DOS 3.0,3.1; 001 = DOS 3.2;
	  010 = European DOS 4.0)
SeeAlso: #01648,#01646

Bitfields for device attributes (block device):
Bit(s)	Description	(Table 01648)
 15	clear (indicates block device)
 14	IOCTL supported
 13	non-IBM format
 12	network device (device is remote)
 11	(DOS 3.0+) OPEN/CLOSE/RemMedia calls supported
 10	reserved
 9	direct I/O not allowed??? (set by DOS 3.3 DRIVER.SYS for "new" drives)
 8	??? set by DOS 3.3 DRIVER.SYS for "new" drives
 7	(DOS 5.0+) Generic IOCTL check call supported (driver command 19h)
	(see AX=4410h,AX=4411h)
 6	(DOS 3.2+) Generic IOCTL call supported (driver command 13h)
	implies support for commands 17h and 18h
	  (see AX=440Ch,AX=440Dh"DOS 3.2+",AX=440Eh,AX=440Fh)
 5-2	reserved
 1	driver supports 32-bit sector addressing (DOS 3.31+)
 0	 reserved
Note:	for European MS-DOS 4.0, bit 11 also indicates that bits 8-6 contain a
	  version code (000 = DOS 3.0,3.1; 001 = DOS 3.2;
	  010 = European DOS 4.0)
SeeAlso: #01647,#01646

Format of DOS 2.x disk buffer:
Offset	Size	Description	(Table 01649)
 00h	DWORD	pointer to next disk buffer, offset = FFFFh if last
		least-recently used buffer is first in chain
 04h	BYTE	drive (0=A, 1=B, etc), FFh if not in use
 05h  3 BYTEs	unused??? (seems always to be 00h 00h 01h)
 08h	WORD	logical sector number
 0Ah	BYTE	number of copies to write (1 for non-FAT sectors)
 0Bh	BYTE	sector offset between copies if multiple copies to be written
 0Ch	DWORD	pointer to DOS Drive Parameter Block (see #01395 at AH=32h)
 10h		buffered data
SeeAlso: #01650,#01652,#01653,#01655

Format of DOS 3.x disk buffer:
Offset	Size	Description	(Table 01650)
 00h	DWORD	pointer to next disk buffer, offset = FFFFh if last
		least-recently used buffer is first in chain
 04h	BYTE	drive (0=A,1=B, etc), FFh if not in use
 05h	BYTE	buffer flags (see #01651)
 06h	WORD	logical sector number
 08h	BYTE	number of copies to write (1 for non-FAT sectors)
 09h	BYTE	sector offset between copies if multiple copies to be written
 0Ah	DWORD	pointer to DOS Drive Parameter Block (see #01395 at AH=32h)
 0Eh	WORD	unused??? (almost always 0)
 10h		buffered data
SeeAlso: #01649,#01652,#01653,#01655

Bitfields for DOS 3.x disk buffer flags:
Bit(s)	Description	(Table 01651)
 7	???
 6	buffer dirty
 5	buffer has been referenced
 4	???
 3	sector in data area
 2	sector in a directory, either root or subdirectory
 1	sector in FAT
 0	boot sector??? (guess)
SeeAlso: #01656

Format of DOS 4.00 (pre UR 25066) disk buffer info:
Offset	Size	Description	(Table 01652)
 00h	DWORD	pointer to array of disk buffer hash chain heads (see #01654)
 04h	WORD	number of disk buffer hash chains (referred to as NDBCH below)
 06h	DWORD	pointer to lookahead buffer, zero if not present
 0Ah	WORD	number of lookahead sectors, else zero (the y in BUFFERS=x,y)
 0Ch	BYTE	00h if buffers in EMS (/X), FFh if not
 0Dh	WORD	EMS handle for buffers, zero if not in EMS
 0Fh	WORD	EMS physical page number used for buffers (usually 255)
 11h	WORD	??? seems always to be 0001h
 13h	WORD	segment of EMS physical page frame
 15h	WORD	??? seems always to be zero
 17h  4 WORDs	EMS partial page mapping information???
SeeAlso: #01649,#01650,#01653,#01657

Format of DOS 4.01 (from UR 25066 Corrctive Services Disk on) disk buffer info:
Offset	Size	Description	(Table 01653)
 00h	DWORD	pointer to array of disk buffer hash chain heads (see #01654)
 04h	WORD	number of disk buffer hash chains (referred to as NDBCH below)
 06h	DWORD	pointer to lookahead buffer, zero if not present
 0Ah	WORD	number of lookahead sectors, else zero (the y in BUFFERS=x,y)
 0Ch	BYTE	01h, possibly to distinguish from pre-UR 25066 format
 0Dh	WORD	??? EMS segment for BUFFERS (only with /XD)
 0Fh	WORD	??? EMS physical page number of EMS seg above (only with /XD)
 11h	WORD	??? EMS segment for ??? (only with /XD)
 13h	WORD	??? EMS physical page number of above (only with /XD)
 15h	BYTE	??? number of EMS page frames present (only with /XD)
 16h	WORD	segment of one-sector workspace buffer allocated in main memory
		  if BUFFERS/XS or /XD options in effect, possibly to avoid DMA
		  into EMS
 18h	WORD	EMS handle for buffers, zero if not in EMS
 1Ah	WORD	EMS physical page number used for buffers (usually 255)
 1Ch	WORD	??? appears always to be 0001h
 1Eh	WORD	segment of EMS physical page frame
 20h	WORD	??? appears always to be zero
 22h	BYTE	00h if /XS, 01h if /XD, FFh if BUFFERS not in EMS
SeeAlso: #01649,#01650,#01652,#01657

Format of DOS 4.x disk buffer hash chain head (array, one entry per chain):
Offset	Size	Description	(Table 01654)
 00h	WORD	EMS logical page number in which chain is resident, -1 if not
		  in EMS
 02h	DWORD	pointer to least recently used buffer header.  All buffers on
		  this chain are in the same segment.
 06h	BYTE	number of dirty buffers on this chain
 07h	BYTE	reserved (00h)
Notes:	buffered disk sectors are assigned to chain N where N is the sector's
	  address modulo NDBCH,	 0 <= N <= NDBCH-1
	each chain resides completely within one EMS page
	this structure is in main memory even if buffers are in EMS

Format of DOS 4.0-6.0 disk buffer:
Offset	Size	Description	(Table 01655)
 00h	WORD	forward ptr, offset only, to next least recently used buffer
 02h	WORD	backward pointer, offset only
 04h	BYTE	drive (0=A,1=B, etc) if bit 7 clear
		SFT index if bit 7 set
		FFh if not in use
 05h	BYTE	buffer flags (see #01656)
 06h	DWORD	logical sector number (local buffers only)
 0Ah	BYTE	number of copies to write
		for FAT sectors, same as number of FATs
		for data and directory sectors, usually 1
 0Bh	WORD	offset in sectors between copies to write for FAT sectors
 0Dh	DWORD	pointer to DOS Drive Parameter Block (see #01395 at AH=32h)
 11h	WORD	size of data in buffer if remote buffer (see also #01656)
 13h	BYTE	reserved (padding)
 14h		buffered data
Note:	for DOS 4.x, all buffered sectors which have the same hash value
	  (computed as the sum of high and low words of the logical sector
	  number divided by the number of disk buffer chains) are on the same
	  doubly-linked circular chain; for DOS 5+, only a single circular
	  chain exists.
	the links consist of offset addresses only, the segment being the same
	  for all buffers in the chain.
SeeAlso: #01649,#01650,#01652

Bitfields for DOS 4.0-6.0 disk buffer flags:
Bit(s)	Description	(Table 01656)
 7	remote buffer
 6	buffer dirty
 5	buffer has been referenced (reserved in DOS 5+)
 4	search data buffer (only valid if remote buffer)
 3	sector in data area
 2	sector in a directory, either root or subdirectory
 1	sector in FAT
 0	reserved
SeeAlso: #01651

Format of DOS 5.0-6.0 disk buffer info:
Offset	Size	Description	(Table 01657)
 00h	DWORD	pointer to least-recently-used buffer header (may be in HMA)
		(see #01655)
 04h	WORD	number of dirty disk buffers
 06h	DWORD	pointer to lookahead buffer, zero if not present
 0Ah	WORD	number of lookahead sectors, else zero (the y in BUFFERS=x,y)
 0Ch	BYTE	buffer location
		00h base memory, no workspace buffer
		01h HMA, workspace buffer in base memory
 0Dh	DWORD	pointer to one-segment workspace buffer in base memory
 11h  3 BYTEs	unused
 14h	WORD	???
 16h	BYTE	flag: INT 24 fail while making an I/O status call
 17h	BYTE	temp storage for user memory allocation strategy during EXEC
 18h	BYTE	counter: number of INT 21 calls for which A20 is off
 19h	BYTE	bit flags
		bit 0: ???
		bit 1: SWITCHES=/W specified in CONFIG.SYS (don't load
			WINA20.SYS when MS Windows 3.0 starts)
		bit 2: in EXEC state (INT 21/AX=4B05h)
 1Ah	WORD	offset of unpack code start (used only during INT 21/AX=4B05h)
 1Ch	BYTE	bit 0 set iff UMB MCB chain linked to normal MCB chain
 1Dh	WORD	minimum paragraphs of memory required by program being EXECed
 1Fh	WORD	segment of first MCB in upper memory blocks or FFFFh if DOS
		  memory chain in base 640K only (first UMB MCB usually at
		  9FFFh, locking out video memory with a DOS-owned memory
		  block)
		the MCB this word points at contains a valid link into high
		  memory even if it is marked with a 'Z' indicating the last
		  memory block
 21h	WORD	paragraph from which to start scanning during memory allocation
SeeAlso: #01652,#01653

(Table 01658)
Call IFS utility function entry point with:
	AH = 20h miscellaneous functions
	    AL = 00h get date
		Return: CX = year
			DH = month
			DL = day
	    AL = 01h get process ID and computer ID
		Return: BX = current PSP segment
			DX = active network machine number
	    AL = 05h get file system info
		ES:DI -> 16-byte info buffer
		Return: buffer filled
			Offset	Size	Description
			 00h  2 BYTEs	unused
			 02h	WORD	number of SFTs (actually counts only
					the first two file table arrays)
			 04h	WORD	number of FCB table entries
			 06h	WORD	number of proctected FCBs
			 08h  6 BYTEs	unused
			 0Eh	WORD	largest sector size supported
	    AL = 06h get machine name
		ES:DI -> 18-byte buffer for name
		Return: buffer filled with name starting at offset 02h
	    AL = 08h get sharing retry count
		Return: BX = sharing retry count
	    AL = other
		Return: CF set
	AH = 21h get redirection state
		BH = type (03h disk, 04h printer)
		Return: BH = state (00h off, 01h on)
	AH = 22h ??? some sort of time calculation
		AL = 00h ???
		    nonzero ???
	AH = 23h ??? some sort of time calculation
	AH = 24h compare filenames
	    DS:SI -> first ASCIZ filename
	    ES:DI -> second ASCIZ filename
	    Return: ZF set if files are same ignoring case and / vs \
	AH = 25h normalize filename
	    DS:SI -> ASCIZ filename
	    ES:DI -> buffer for result
	    Return: filename uppercased, forward slashes changed to backslashes
	AH = 26h get DOS stack
	    Return: DS:SI -> top of stack
		    CX = size of stack in bytes
	AH = 27h increment InDOS flag
	AH = 28h decrement InDOS flag
Note:	IFS drivers which do not wish to implement functions 20h or 24h-28h may
	  pass them on to the default handler pointed at by [LoL+37h]
SeeAlso: #01659,#01660

Format of IFS driver list:
Offset	Size	Description	(Table 01659)
 00h	DWORD	pointer to next driver header
 04h  8 BYTEs	IFS driver name (blank padded), as used by FILESYS command
 0Ch  4 BYTEs	???
 10h	DWORD	pointer to IFS utility function entry point (see #01658)
		call with ES:BX -> IFS request (see #01660)
 14h	WORD	offset in header's segment of driver entry point
	???
SeeAlso: #01658,#01660

Format of IFS request block:
Offset	Size	Description	(Table 01660)
 00h	WORD	total size in bytes of request
 02h	BYTE	class of request
		02h ???
		03h redirection
		04h ???
		05h file access
		06h convert error code to string
		07h ???
 03h	WORD	returned DOS error code
 05h	BYTE	IFS driver exit status
		00h success
		01h ???
		02h ???
		03h ???
		04h ???
		FFh internal failure
 06h 16 BYTEs	???
---request class 02h---
 16h	BYTE	function code
		04h ???
 17h	BYTE	unused???
 18h	DWORD	pointer to ???
 1Ch	DWORD	pointer to ???
 20h  2 BYTEs	???
---request class 03h---
 16h	BYTE	function code
 17h	BYTE	???
 18h	DWORD	pointer to ???
 1Ch	DWORD	pointer to ???
 22h	WORD	returned ???
 24h	WORD	returned ???
 26h	WORD	returned ???
 28h	BYTE	returned ???
 29h	BYTE	unused???
---request class 04h---
 16h	DWORD	pointer to ???
 1Ah	DWORD	pointer to ???
---request class 05h---
 16h	BYTE	function code
		01h flush disk buffers
		02h get disk space
		03h MKDIR
		04h RMDIR
		05h CHDIR
		06h delete file
		07h rename file
		08h search directory
		09h file open/create
		0Ah LSEEK
		0Bh read from file
		0Ch write to file
		0Dh lock region of file
		0Eh commit/close file
		0Fh get/set file attributes
		10h printer control
		11h ???
		12h process termination
		13h ???
	---class 05h function 01h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h  4 BYTEs	???
	 26h	BYTE	???
	 27h	BYTE	???
	---class 05h function 02h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h  4 BYTEs	???
	 26h	WORD	returned total clusters
	 28h	WORD	returned sectors per cluster
	 2Ah	WORD	returned bytes per sector
	 2Ch	WORD	returned available clusters
	 2Eh	BYTE	returned ???
	 2Fh	BYTE	???
	---class 05h functions 03h,04h,05h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h  4 BYTEs	???
	 26h	DWORD	pointer to directory name
	---class 05h function 06h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h  4 BYTEs	???
	 26h	WORD	attribute mask
	 28h	DWORD	pointer to filename
	---class 05h function 07h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h  4 BYTEs	???
	 26h	WORD	attribute mask
	 28h	DWORD	pointer to source filespec
	 2Ch	DWORD	pointer to destination filespec
	---class 05h function 08h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h  4 BYTEs	???
	 26h	BYTE	00h FINDFIRST
			01h FINDNEXT
	 28h	DWORD	pointer to FindFirst search data + 01h if FINDNEXT
	 2Ch	WORD	search attribute if FINDFIRST
	 2Eh	DWORD	pointer to filespec if FINDFIRST
	---class 05h function 09h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h	DWORD	pointer to IFS open file structure (see #01661)
	 26h	WORD	???  \ together, specify open vs. create, whether or
	 28h	WORD	???  / not to truncate
	 2Ah  4 BYTEs	???
	 2Eh	DWORD	pointer to filename
	 32h  4 BYTEs	???
	 36h	WORD	file attributes on call
			returned ???
	 38h	WORD	returned ???
	---class 05h function 0Ah---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h	DWORD	pointer to IFS open file structure (see #01661)
	 26h	BYTE	seek type (02h = from end)
	 28h	DWORD	offset on call
			returned new absolute position
	---class 05h functions 0Bh,0Ch---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h	DWORD	pointer to IFS open file structure (see #01661)
	 28h	WORD	number of bytes to transfer
			returned bytes actually transferred
	 2Ah	DWORD	transfer address
	---class 05h function 0Dh---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h	DWORD	pointer to IFS open file structure (see #01661)
	 26h	BYTE	file handle???
	 27h	BYTE	unused???
	 28h	WORD	???
	 2Ah	WORD	???
	 2Ch	WORD	???
	 2Eh	WORD	???
	---class 05h function 0Eh---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h	DWORD	pointer to IFS open file structure (see #01661)
	 26h	BYTE	00h commit file
			01h close file
	 27h	BYTE	unused???
	---class 05h function 0Fh---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h  4 BYTEs	???
	 26h	BYTE	02h GET attributes
			03h PUT attributes
	 27h	BYTE	unused???
	 28h 12 BYTEs	???
	 34h	WORD	search attributes???
	 36h	DWORD	pointer to filename
	 3Ah	WORD	(GET) returned ???
	 3Ch	WORD	(GET) returned ???
	 3Eh	WORD	(GET) returned ???
	 40h	WORD	(GET) returned ???
	 42h	WORD	(PUT) new attributes
			(GET) returned attributes
	---class 05h function 10h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h	DWORD	pointer to IFS open file structure (see #01661)
	 26h	WORD	???
	 28h	DWORD	pointer to ???
	 2Ch	WORD	???
	 2Eh	BYTE	???
	 2Fh	BYTE	subfunction
			01h get printer setup
			03h ???
			04h ???
			05h ???
			06h ???
			07h ???
			21h set printer setup
	---class 05h function 11h---
	 17h  7 BYTEs	???
	 1Eh	DWORD	pointer to ???
	 22h	DWORD	pointer to IFS open file structure (see #01661)
	 26h	BYTE	subfunction
	 27h	BYTE	unused???
	 28h	WORD	???
	 2Ah	WORD	???
	 2Ch	WORD	???
	 2Eh	BYTE	???
	 2Fh	BYTE	???
	---class 05h function 12h---
	 17h 15 BYTEs	unused???
	 26h	WORD	PSP segment
	 28h	BYTE	type of process termination
	 29h	BYTE	unused???
	---class 05h function 13h---
	 17h 15 BYTEs	unused???
	 26h	WORD	PSP segment
---request class 06h---
 16h	DWORD	returned pointer to string corresponding to error code at 03h
 1Ah	BYTE	returned ???
 1Bh	BYTE	unused
---request class 07h---
 16h	DWORD	pointer to IFS open file structure (see #01661)
 1Ah	BYTE	???
 1Bh	BYTE	unused???
SeeAlso: #01659,#01658,#01661

Format of IFS open file structure:
Offset	Size	Description	(Table 01661)
 00h	WORD	???
 02h	WORD	device info word
 04h	WORD	file open mode
 06h	WORD	???
 08h	WORD	file attributes
 0Ah	WORD	owner's network machine number
 0Ch	WORD	owner's PSP segment
 0Eh	DWORD	file size
 12h	DWORD	current offset in file
 16h	WORD	file time
 18h	WORD	file date
 1Ah 11 BYTEs	filename in FCB format
 25h	WORD	???
 27h	WORD	hash value of SFT address
		(low word of linear address + segment&F000h)
 29h  3 WORDs	network info from SFT
 2Fh	WORD	???

Format of one item in DOS 4.0+ list of special program names:
Offset	Size	Description	(Table 01662)
 00h	BYTE	length of name (00h = end of list)
 01h  N BYTEs	name in format name.ext
 N    2 BYTEs	DOS version to return for program (major,minor)
		(see AH=30h,INT 2F/AX=122Fh)
---DOS 4 only---
 N+2	BYTE	number of times to return fake version number (FFh = always)
Note:	if the name of the executable for the program making the DOS "get
	  version" call matches one of the names in this list, DOS returns the
	  specified version rather than the true version number

Top
215252 - INT 21 - VIRUS - "516"/"Leapfrog" - INSTALLATION CHECK
INT 21 - VIRUS - "516"/"Leapfrog" - INSTALLATION CHECK
	AX = 5252h
Return: BX = FFEEh if resident
SeeAlso: AX=4BFFh"Cascade",AX=58CCh

Top
2153 - INT 21 - DOS 2+ internal - TRANSLATE BIOS PARAMETER BLOCK TO DRIVE PARAM BLOCK
INT 21 - DOS 2+ internal - TRANSLATE BIOS PARAMETER BLOCK TO DRIVE PARAM BLOCK
	AH = 53h
	DS:SI -> BIOS Parameter Block (see #01663)
	ES:BP -> buffer for Drive Parameter Block (see #01395 at AH=32h)
	    DBP drive byte must be set to valid drive (Windows95-OSR2)
	---Windows95---
	CX = signature 4558h ('EX') for FAT32 extended BPB/DPB (see #01664)
	DX = signature 4152h ('AR') for FAT32 extended BPB/DPB
Return: ES:BP buffer filled
Notes:	for DOS 3.0+, the cluster at which to start searching is set to 0000h
	  and the number of free clusters is set to FFFFh (unknown)
	if the number of sectors per cluster is set to zero, MS-DOS will hang
	  at startup because it computes the internally-used shift count by
	  shifting this value right until the carry flag is set; since this
	  will never happen when the field is zero, MS-DOS hangs
	not supported by Windows NT 3.1

Format of BIOS Parameter Block:
Offset	Size	Description	(Table 01663)
 00h	WORD	number of bytes per sector
 02h	BYTE	number of sectors per cluster
 03h	WORD	number of reserved sectors at start of disk
 05h	BYTE	number of FATs
 06h	WORD	number of entries in root directory
 08h	WORD	total number of sectors
		for DOS 4.0+, set to zero if partition >32M, then set DWORD at
		  15h to actual number of sectors
 0Ah	BYTE	media ID byte (see #01356)
 0Bh	WORD	number of sectors per FAT
---DOS 2.13---
 0Dh	WORD	number of sectors per track
 0Fh	WORD	number of heads
 11h	WORD	number of hidden sectors
---DOS 3.0+ ---
 0Dh	WORD	number of sectors per track
 0Fh	WORD	number of heads
 11h	DWORD	number of hidden sectors
 15h 11 BYTEs	reserved
---DOS 4.0+ ---
 15h	DWORD	total number of sectors if word at 08h contains zero
 19h  6 BYTEs	???
 1Fh	WORD	number of cylinders
 21h	BYTE	device type
 22h	WORD	device attributes (removable or not, etc)
---DR DOS 5+ ---
 15h	DWORD	total number of sectors if word at 08h contains zero
 19h  6 BYTEs	reserved
---European MS-DOS 4.00---
 15h	DWORD	total number of sectors if word at 08h contains zero
		(however, this DOS does not actually implement >32M partitions)
SeeAlso: #01395,#01664

Format of Extended BIOS Parameter Block:
Offset	Size	Description	(Table 01664)
 00h 25 BYTEs	same as standard DOS 4-6 BPB (see #01663)
 19h	DWORD	sectors per FAT if WORD at 0Bh is 0000h
 1Dh	WORD	extended flags
		bit 7: do not mirror active FAT to inactive FATs
		bits 6-4: reserved (0)
		bits 3-0: the 0-based FAT number of the active FAT
		    (if mirroring disabled)
 1Fh	WORD	file system version (high byte=major, low byte=minor)
		0000h = Win95-OSR2
 21h	DWORD	starting cluster number of root directory
 25h	WORD	file system information sector number (see also #01788)
		FFFFh if none
 27h	WORD	sector number of backup boot sector (FFFFh if none)
 29h  6 WORDs	reserved
SeeAlso: #01560,#01787

Top
2154 - INT 21 - DOS 2+ - GET VERIFY FLAG
INT 21 - DOS 2+ - GET VERIFY FLAG
	AH = 54h
Return: AL = verify flag
	    00h off
	    01h on (all disk writes verified after writing)
SeeAlso: AH=2Eh

Top
2154--BX4475 - INT 21 - VIRUS - "Dual_GtM"/"Ganeu" - INSTALLATION CHECK
INT 21 - VIRUS - "Dual_GtM"/"Ganeu" - INSTALLATION CHECK
	AH = 54h
	BX = 4475h ("Du")
	CX = 616Ch ("al")
Return: BX = 4774h ("Gt") and CX = 4D21h ("M!") if resident
SeeAlso: AX=50FDh"VIRUS",AX=5454h"VIRUS"

Top
215454 - INT 21 - VIRUS - "Dudley" - INSTALLATION CHECK
INT 21 - VIRUS - "Dudley" - INSTALLATION CHECK
	AX = 5454h
Return: AX = 0000h if resident
SeeAlso: AX=50FDh"VIRUS",AH=54h/BX=4475h"VIRUS",AX=7BCEh"VIRUS"

Top
2155 - INT 21 - DOS 2+ internal - CREATE CHILD PSP
INT 21 - DOS 2+ internal - CREATE CHILD PSP
	AH = 55h
	DX = segment at which to create new PSP
	SI = (DOS 3.0+) value to place in memory size field at DX:[0002h]
Return: AL destroyed
Notes:	creates a "child" PSP rather than making an exact copy of the current
	  PSP; the new PSP's parent pointer is set to the current PSP and the
	  reference count for each inherited file is incremented
	(DOS 2.0+) sets current PSP to DX
	(DOS 3.0+) marks "no inherit" file handles as closed in child PSP
	this function is implemented using the same code as AH=26h, so unlike
	  other DOS 2+ functions, it does not return status in CF, instead
	  returning status in AL as DOS 1.x functions do (but it never puts an
	  explicit return value in AL)
SeeAlso: AH=26h,AH=50h

Top
2156 - INT 21 - DOS 2+ - "RENAME" - RENAME FILE
INT 21 - DOS 2+ - "RENAME" - RENAME FILE
	AH = 56h
	DS:DX -> ASCIZ filename of existing file (no wildcards, but see below)
	ES:DI -> ASCIZ new filename (no wildcards)
	CL = attribute mask (server call only, see below)
Return: CF clear if successful
	CF set on error
	    AX = error code (02h,03h,05h,11h) (see #01680)
Notes:	allows move between directories on same logical volume
	this function does not set the archive attribute
	  (see #01420 at AX=4301h), which results in incremental backups not
	  backing up the file under its new name
	open files should not be renamed
	(DOS 2.x only) this function renames file by creating a new directory
	  entry with the new name, then marking the old entry deleted
	(DOS 3.0+) allows renaming of directories
	(DOS 3.1+) wildcards are allowed if invoked via AX=5D00h, in which case
	  error 12h (no more files) is returned on success, and both source and
	  destination specs must be canonical (as returned by AH=60h).
	  Wildcards in the destination are replaced by the corresponding char
	  of each source file being renamed.  Under DOS 3.x, the call will fail
	  if the destination wildcard is *.* or equivalent; under DR DOS 5.0,
	  the call will fail with error code 03h if any wildcards are used.
	  When invoked via AX=5D00h, only those files matching the attribute
	  mask in CL are renamed.
	under the FlashTek X-32 DOS extender, the old-name pointer is in DS:EDX
	  and the new-name pointer is in ES:EDI (DS must equal ES)
BUG:	(DR DOS 3.41) when invoked via AX=5D00h, this function will generate
	  a new directory entry with the new name (including any wildcards)
	  which can only be removed with a sector editor
SeeAlso: AH=17h,AX=4301h,AX=43FFh/BP=5053h,AX=5D00h,AH=60h,AX=7156h
SeeAlso: AX=F257h/SF=04h

Top
215643 - INT 21 - VIRUS - "PS-MPC.Gold" - INSTALLATION CHECK
INT 21 - VIRUS - "PS-MPC.Gold" - INSTALLATION CHECK
	AX = 5643h  ('VC')
Return: AX = 5053h  ('PS') if resident
SeeAlso: AX=33E0h"VIRUS",AX=5741h"VIRUS",AX=6303h"VIRUS"

Top
215700 - INT 21 - DOS 2+ - GET FILE'S LAST-WRITTEN DATE AND TIME
INT 21 - DOS 2+ - GET FILE'S LAST-WRITTEN DATE AND TIME
	AX = 5700h
	BX = file handle
Return: CF clear if successful
	    CX = file's time (see #01665)
	    DX = file's date (see #01666)
	CF set on error
	    AX = error code (01h,06h) (see #01680)
Note:	under DR DOS 3.41 and 5.0, this function returns 0 (no date/time) for
	  character devices; MS-DOS returns date and time of opening
SeeAlso: AX=5701h,AX=5704h"Windows95"

Bitfields for file time:
Bit(s)	Description	(Table 01665)
 15-11	hours (0-23)
 10-5	minutes
 4-0	seconds/2

Bitfields for file date:
Bit(s)	Description	(Table 01666)
 15-9	year - 1980
 8-5	month
 4-0	day

Top
215701 - INT 21 - DOS 2+ - SET FILE'S LAST-WRITTEN DATE AND TIME
INT 21 - DOS 2+ - SET FILE'S LAST-WRITTEN DATE AND TIME
	AX = 5701h
	BX = file handle
	CX = new time (see #01665)
	DX = new date (see #01666)
Return: CF clear if successful
	CF set on error
	    AX = error code (01h,06h) (see #01680)
SeeAlso: AX=5700h,AX=5705h"Windows95",AX=5707h"Windows95"

Top
215702 - INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTES FOR FILE
INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTES FOR FILE
	AX = 5702h
	BX = file handle
	CX = size of result buffer or 0000h
	DS:SI -> EAP list (see #01667)
	ES:DI -> buffer for returned EAV list (see #01670)
Return: CF clear if successful
	    CX = size of returned data
	CF set on error
	    AX = error code (see #01680)
Desc:	get the current value of one or more extended attributes
Notes:	if CX=0000h on entry, ES:DI is ignored and no data is actually
	  returned, only the amount of data which is available
	the default DOS 4 behavior is to return a single word of 0000h (no
	  structures) in the result buffer if CX>=0002h on entry; this
	  functionality was apparently never released to the public
SeeAlso: AX=5703h,AX=5704h,AH=6Eh,INT 2F/AX=112Dh

Format of EAP (extended attribute properties) list:
Offset	Size	Description	(Table 01667)
 00h	WORD	number of EAP structures following
 02h	var	array of EAP structures (see #01668)
SeeAlso: #01670

Format of EAP (extended attribute property) structure:
Offset	Size	Description	(Table 01668)
 00h	BYTE	attribute type
		01h boolean (either 00h or 01h)
		02h number (BYTE, WORD, or DWORD)
		03h string
		04h date stamp
		05h time stamp
 01h	WORD	EAP flags (see #01669)
 03h	BYTE	size of reference string (name)
 04h  N BYTEs	reference string

Bitfields for EAP flags:
Bit(s)	Description	(Table 01669)
 12	unchangeable
 13	ignore
 14	unchangeable
 15	used by COMMAND.COM for code page, but not understood by ATTRIB

Format of EAV (extended attribute value) list:
Offset	Size	Description	(Table 01670)
 00h	WORD	number of EAV structures following
 02h	var	array of Extended Attribute Value structures (see #01671)
SeeAlso: #01667

Format of Extended Attribute Value structures:
Offset	Size	Description	(Table 01671)
 00h  4 BYTEs	???
 04h	BYTE	size of reference string
 05h	WORD	size of value
 07h	var	reference string
	var	value

Top
215702 - INT 21 - OS/2 v1.1+ Family API - DosQFileInfo
INT 21 - OS/2 v1.1+ Family API - DosQFileInfo
	AX = 5702h
	BX = file handle
	CX = size of buffer for information
	DX = level of information
	    0001h standard file information (see #01672)
	    0002h Query EA Size (see #01672)
	    0003h Query EAs from List (see #01673)
	    0004h Query All EAs (see #01673)
	ES:DI -> buffer for information (see #01672,#01673)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5702h/BX=FFFFh,AX=5703h"OS/2",AH=6Dh"OS/2"

Format of OS/2 DosQFileInfo:
Offset	Size	Description	(Table 01672)
 00h	WORD	creation date
 02h	WORD	creation time
 04h	WORD	last access date
 06h	WORD	last access time
 08h	WORD	last write date
 0Ah	WORD	last write time
 0Ch	DWORD	file size in bytes
 10h	DWORD	allocated space in bytes
 14h	WORD	file attributes
---level 2 only---
 16h	DWORD	size of Extended Attributes in byte
SeeAlso: #01673,#01676

Format of OS/2 DosQFileInfo, EAOP structure:
Offset	Size	Description	(Table 01673)
 00h	DWORD	pointer to general EA list (see #01674)
 04h	DWORD	pointer to buffer for full EA list, with length field set
 08h	DWORD	(ret) error
Note:	for info level 3, the first pointer must contain the address of a
	  list of the Extended Attributes to be retrieved; for info level 4,
	  it should be 0000h:0000h
SeeAlso: #01672,#01676

Format of OS/2 DosQFileInfo, General EA List:
Offset	Size	Description	(Table 01674)
 00h	DWORD	(call) total size of list in bytes (including this field)
		(ret) number of bytes actually used (including this field)
 04h	var	Extended Attribute entries (see #01675) [packed arrray]

Format of OS/2 DosQFileInfo, General EA entry:
Offset	Size	Description	(Table 01675)
 00h	BYTE	length of Extended Attribute name (excluding terminating NUL)
 01h  N BYTEs	EA name
	BYTE	00h
SeeAlso: #01674

Format of OS/2 DosQFileInfo, Full EA List:
Offset	Size	Description	(Table 01676)
 00h	DWORD	(call) total size of list in bytes (including this field)
		(ret) number of bytes actually used (including this field)
 04h	var	Extended Attribute data (see #01677) [packed array]
SeeAlso: #01672,#01673

Format of OS/2 Extended Attribute data (struct FEA):
Offset	Size	Description	(Table 01677)
 00h	BYTE	flags
		bit 7: critical EA
 01h	BYTE	length of Extended Attribute name (excluding terminating NUL)
 02h	WORD	length of Extended Attribute value
 04h  N BYTEs	EA name
	BYTE	00h
      M BYTEs	EA value

Top
215702BXFFFF - INT 21 - OS/2 v1.1+ Compatibility Box Family API - DosQPathInfo
INT 21 - OS/2 v1.1+ Compatibility Box Family API - DosQPathInfo
	AX = 5702h
	BX = FFFFh
	CX = size of buffer for information
	DX = level of information (0002h)
	DS:SI -> filename
	ES:DI -> buffer for FAPI path information (see #01678)
Return: CF clear if successful
	    AL = 00h
	CF set on error
	    AX = error code
SeeAlso: AX=5702h"OS/2",AX=5703h/BX=FFFFh

Format of FAPI path information:
Offset	Size	Description	(Table 01678)
 00h 22 BYTEs	???
 16h	DWORD	extended attribute size (none present if less than 5)

Top
215703 - INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTE PROPERTIES
INT 21 - DOS 4.x only - GET EXTENDED ATTRIBUTE PROPERTIES
	AX = 5703h
	BX = file handle
	CX = size of result buffer or 0000h
	ES:DI -> result buffer
Return: CF clear if successful
	    CX = size of returned data
	CF set on error
	    AX = error code (see #01680)
	ES:DI -> zero word (DOS 4.0) if CX >= 2 on entry
Desc:	get a list of the extended attributes which are defined for the
	  specified file
Notes:	if CX=0000h on entry, ES:DI is ignored and no data is actually
	  returned, only the amount of data which is available
	the default DOS 4 behavior is to return a trivial EAP list consisting
	  of the single word 0000h (no EAP structures) if CX>=0002h on entry;
	  this functionality was apparently never released to the public
SeeAlso: AX=5702h,AX=5704h,AH=6Eh,INT 2F/AX=112Dh

Top
215703 - INT 21 - OS/2 v1.1+ Family API - DosSetFileInfo
INT 21 - OS/2 v1.1+ Family API - DosSetFileInfo
	AX = 5703h
	BX = file handle
	CX = size of information buffer
	DX = level of information
	ES:DI -> information buffer
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5702h"OS/2",AX=5703h/BX=FFFFh

Top
215703BXFFFF - INT 21 - OS/2 v1.1+ Family API - DosSetPathInfo
INT 21 - OS/2 v1.1+ Family API - DosSetPathInfo
	AX = 5703h
	BX = FFFFh
	CX = size of information buffer
	DX = level of information
	DS:SI -> filename
	ES:DI -> information buffer
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5702h/BX=FFFFh,AX=5703h"OS/2"

Top
215704 - INT 21 - DOS 4.x only - SET EXTENDED ATTRIBUTES
INT 21 - DOS 4.x only - SET EXTENDED ATTRIBUTES
	AX = 5704h
	BX = file handle
	ES:DI -> EAV list (see #01670)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
Note:	the default DOS 4 behavior is to do nothing and return successfully;
	  this functionality was apparently never released to the public
SeeAlso: AX=5702h,AX=5703h,INT 2F/AX=112Dh

Top
215704 - INT 21 - MS-DOS 7/Windows95 - GET LAST ACCESS DATE AND TIME
INT 21 - MS-DOS 7/Windows95 - GET LAST ACCESS DATE AND TIME
	AX = 5704h
	BX = file handle
Return: CF clear if successful
	    DX = last access date (see #01666)
	    CX = last access time (currently always 0000h)
	CF set on error
	    AX = error code
SeeAlso: AX=5701h,AX=5705h,AX=5706h

Top
215705 - INT 21 - MS-DOS 7/Windows95 - SET LAST ACCESS DATE AND TIME
INT 21 - MS-DOS 7/Windows95 - SET LAST ACCESS DATE AND TIME
	AX = 5705h
	BX = file handle
	CX = new last-access time (currently not supported, must be 0000h)
	DX = new last-access date (see #01666)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5700h,AX=5704h"Windows95",AX=5707h

Top
215706 - INT 21 - MS-DOS 7/Windows95 - GET CREATION DATE AND TIME
INT 21 - MS-DOS 7/Windows95 - GET CREATION DATE AND TIME
	AX = 5706h
	BX = file handle
Return: CF clear if successful
	    CX = creation time (see #01665)
	    DX = creation date (see #01666)
	    SI = number of 10-millisecond units past time in CX (0-199)
	CF set on error
	    AX = error code
SeeAlso: AX=5701h,AX=5704h"Windows95",AX=5707h

Top
215707 - INT 21 - MS-DOS 7/Windows95 - SET CREATION DATE AND TIME
INT 21 - MS-DOS 7/Windows95 - SET CREATION DATE AND TIME
	AX = 5707h
	BX = file handle
	CX = new creation time (see #01665)
	DX = new creation date (see #01666)
	SI = new creation time: 10-millisecond units past time in CX (0-199)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5700h,AX=5705h,AX=5706h

Top
215741 - INT 21 - VIRUS - "WARP" -INSTALLATION CHECK
INT 21 - VIRUS - "WARP" -INSTALLATION CHECK
	AX = 5741h
Return: AX = 5250h if resident
SeeAlso: AX=5643h"VIRUS",AX=58CCh"VIRUS"

Top
215757BX5757 - INT 21 U - IBM Genie - Resident Manager - INSTALLATION CHECK
INT 21 U - IBM Genie - Resident Manager - INSTALLATION CHECK
	AX = 5757h
	BX = 5757h
Return: AX = 0000h if installed
	    BX = ???
	    DX = ???
	    DS:SI -> list of 27 DWORD entry point addresses
Program: IBM Genie is a set of utility TSRs by Helix Software
Note:	other functions possible if BX <> 5757h, but details not yet available

Top
215758 - INT 21 U - Headroom - API
INT 21 U - Headroom - API
	AX = 5758h
	BL = function
	    00h ???
	    01h get Headroom location
		Return: CF clear if installed
			    AX = PSP segment of Headroom TSR
			    BX = paragraphs of memory used by Headroom
			CF set if not (normal DOS return)
		Note:	this function is also used as an installation check
	    02h get INT 21 handler
		Return: CF clear
			ES:BX -> Headroom's INT 21 handler
		Note: also sets unknown flag
	    03h launch application???
		DS:SI -> 233-byte application record
		Return: ???
	    04h ???
		???
		Return: CF clear
	    05h get swap directory
		Return: CF clear
			DX:AX -> ASCIZ swap directory name
	    06h ???
		DX = ???
		Return: CF clear
	    07h ???
	    08h ???
	    09h get current application
		Return: BX = application number
	    0Ah ???
		DX = application number
		DS:SI = ???
		Return: ???
	    0Bh ???
	    0Ch ???
		DX = application number
		???
		Return: ???
	    0Dh ???
		DX = application number
		???
		Return: ???
	    0Eh get ???
		Return: CF clear
			AX = ???
	    0Fh set ??? flag
	    10h clear ??? flag
	    11h find application by name
		DS:SI -> ASCIZ application name
		Return: CF clear
			AX = application number or FFFFh if not loaded
	    12h ???
		DX = application number
		Return: CF clear
			???
	    13h ???
		Return: CF clear
	    14h ???
		same as function 13h
	    15h set ???
		DX = ???
	    16h get ???
		Return: AX = ??? set by function 15h
	    17h get ???
		Return: BX = ???
			CX = ??? (may be pointer in BX:CX)
	    18h BUG: branches incorrectly due to fencepost error
Program: Headroom is a TSR/task switcher by Helix Software
SeeAlso: AX=4C57h,AX=5757h,INT 2F/AX=5758h

Top
2158 - INT 21 - DOS 2.11+ - GET OR SET MEMORY ALLOCATION STRATEGY
INT 21 - DOS 2.11+ - GET OR SET MEMORY ALLOCATION STRATEGY
	AH = 58h
	AL = subfunction
	    00h get allocation strategy
		Return: AX = current strategy (see #01679)
	    01h set allocation strategy
		BL = new allocation strategy (see #01679)
		BH = 00h (DOS 5+)
Return: CF clear if successful
	CF set on error
	    AX = error code (01h) (see #01680)
Notes:	the Set subfunction accepts any value in BL for DOS 3.x and 4.x;
	  2 or greater means last fit
	the Get subfunction returns the last value set
	setting an allocation strategy involving high memory does not
	  automatically link in the UMB memory chain; this must be done
	  explicitly with AX=5803h in order to actually allocate high memory
	a program which changes the allocation strategy should restore it
	  before terminating
	Toshiba MS-DOS v2.11 supports subfunctions 00h and 01h, as does the
	  TI Professional MS-DOS v2.13
	DR DOS 3.41 reportedly reverses subfunctions 00h and 01h
SeeAlso: AH=48h,AH=49h,AH=4Ah,INT 2F/AX=4310h"XMS",INT 67/AH=3Fh

(Table 01679)
Values for DOS memory allocation strategy:
 00h low memory first fit
 01h low memory best fit
 02h low memory last fit
---DOS 5+ ---
 40h high memory first fit
 41h high memory best fit
 42h high memory last fit
 80h first fit, try high then low memory
 81h best fit, try high then low memory
 82h last fit, try high then low memory

Top
2158 - INT 21 - DOS 5+ - GET OR SET UMB LINK STATE
INT 21 - DOS 5+ - GET OR SET UMB LINK STATE
	AH = 58h
	AL = subfunction
	    02h get UMB link state
		Return: AL = current link state
			    00h UMBs not part of DOS memory chain
			    01h UMBs in DOS memory chain
	    03h set UMB link state
		BX = new link state
		    0000h remove UMBs from DOS memory chain
		    0001h add UMBs to DOS memory chain
Return: CF clear if successful
	CF set on error
	    AX = error code (01h) (see #01680)
Notes:	a program which changes the UMB link state should restore it before
	  terminating
	UMBs will only be available if CONFIG.SYS contains the line DOS=UMB,
	  the UMBs have been linked into the memory chain with AX=5803h, and
	  the allocation strategy has been set to include high memory with
	  AX=5801h
SeeAlso: #01687,#02766 at INT 2F/AX=4310h

Top
2158CC - INT 21 - VIRUS - "1067"/"Headcrash" - INSTALLATION CHECK
INT 21 - VIRUS - "1067"/"Headcrash" - INSTALLATION CHECK
	AX = 58CCh
Return: CF clear if resident
SeeAlso: AX=5741h"VIRUS",AX=5643h,AX=5252h,AX=58DDh,AX=6303h"VIRUS",AX=6969h

Top
2158DD - INT 21 - VIRUS - "1067"/"Headcrash" - GET ORIGINAL INT 21h VECTOR
INT 21 - VIRUS - "1067"/"Headcrash" - GET ORIGINAL INT 21h VECTOR
	AX = 58DDh
Return: CX = code segment of virus
	ES:BX = old INT 21h vector
SeeAlso: AX=5252h,AX=58CCh,AX=6969h

Top
2159--BX0000 - INT 21 - DOS 3.0+ - GET EXTENDED ERROR INFORMATION
INT 21 - DOS 3.0+ - GET EXTENDED ERROR INFORMATION
	AH = 59h
	BX = 0000h
Return: AX = extended error code (see #01680)
	BH = error class (see #01682)
	BL = recommended action (see #01683)
	CH = error locus (see #01684)
	ES:DI may be pointer (see #01681, #01680)
	CL, DX, SI, BP, and DS destroyed
Notes:	functions available under DOS 2.x map the true DOS 3.0+ error code into
	  one supported under DOS 2.x
	you should call this function to retrieve the true error code when an
	  FCB or DOS 2.x call returns an error
	under DR DOS 5.0, this function does not use any of the DOS-internal
	  stacks and may thus be called at any time
SeeAlso: AH=59h/BX=0001h,AX=5D0Ah,INT 2F/AX=122Dh,INT 24

(Table 01680)
Values for DOS extended error code:
---DOS 2.0+ ---
 00h (0)   no error
 01h (1)   function number invalid
 02h (2)   file not found
 03h (3)   path not found
 04h (4)   too many open files (no handles available)
 05h (5)   access denied
 06h (6)   invalid handle
 07h (7)   memory control block destroyed
 08h (8)   insufficient memory
 09h (9)   memory block address invalid
 0Ah (10)  environment invalid (usually >32K in length)
 0Bh (11)  format invalid
 0Ch (12)  access code invalid
 0Dh (13)  data invalid
 0Eh (14)  reserved
 0Eh (14)  (PTS-DOS 6.51+, S/DOS 1.0+) fixup overflow
 0Fh (15)  invalid drive
 10h (16)  attempted to remove current directory
 11h (17)  not same device
 12h (18)  no more files
---DOS 3.0+ (INT 24 errors)---
 13h (19)  disk write-protected
 14h (20)  unknown unit
 15h (21)  drive not ready
 16h (22)  unknown command
 17h (23)  data error (CRC)
 18h (24)  bad request structure length
 19h (25)  seek error
 1Ah (26)  unknown media type (non-DOS disk)
 1Bh (27)  sector not found
 1Ch (28)  printer out of paper
 1Dh (29)  write fault
 1Eh (30)  read fault
 1Fh (31)  general failure
 20h (32)  sharing violation
 21h (33)  lock violation
 22h (34)  disk change invalid (ES:DI -> media ID structure)(see #01681)
 23h (35)  FCB unavailable
 23h (35)  (PTS-DOS 6.51+, S/DOS 1.0+) bad FAT
 24h (36)  sharing buffer overflow
 25h (37)  (DOS 4.0+) code page mismatch
 26h (38)  (DOS 4.0+) cannot complete file operation (EOF / out of input)
 27h (39)  (DOS 4.0+) insufficient disk space
 28h-31h   reserved
---OEM network errors (INT 24)---
 32h (50)  network request not supported
 33h (51)  remote computer not listening
 34h (52)  duplicate name on network
 35h (53)  network name not found
 36h (54)  network busy
 37h (55)  network device no longer exists
 38h (56)  network BIOS command limit exceeded
 39h (57)  network adapter hardware error
 3Ah (58)  incorrect response from network
 3Bh (59)  unexpected network error
 3Ch (60)  incompatible remote adapter
 3Dh (61)  print queue full
 3Eh (62)  queue not full
 3Fh (63)  not enough space to print file
 40h (64)  network name was deleted
 41h (65)  network: Access denied
	  (DOS 3.0+ [maybe 3.3+???]) codepage switching not possible
	    (see also INT 21/AX=6602h,INT 2F/AX=AD42h)
 42h (66)  network device type incorrect
 43h (67)  network name not found
 44h (68)  network name limit exceeded
 45h (69)  network BIOS session limit exceeded
 46h (70)  temporarily paused
 47h (71)  network request not accepted
 48h (72)  network print/disk redirection paused
 49h (73)  network software not installed
	    (LANtastic) invalid network version
 4Ah (74)  unexpected adapter close
	    (LANtastic) account expired
 4Bh (75)  (LANtastic) password expired
 4Ch (76)  (LANtastic) login attempt invalid at this time
 4Dh (77)  (LANtastic v3+) disk limit exceeded on network node
 4Eh (78)  (LANtastic v3+) not logged in to network node
 4Fh (79)  reserved
---end of errors reportable via INT 24---
 50h (80)  file exists
 51h (81)  (undoc) duplicated FCB
 52h (82)  cannot make directory
 53h (83)  fail on INT 24h
---network-related errors (non-INT 24)---
 54h (84)  (DOS 3.3+) too many redirections / out of structures
 55h (85)  (DOS 3.3+) duplicate redirection / already assigned
 56h (86)  (DOS 3.3+) invalid password
 57h (87)  (DOS 3.3+) invalid parameter
 58h (88)  (DOS 3.3+) network write fault
 59h (89)  (DOS 4.0+) function not supported on network / no process slots
	      available
 5Ah (90)  (DOS 4.0+) required system component not installed / not frozen
 5Bh (91)  (DOS 4.0+,NetWare4) timer server table overflowed
 5Ch (92)  (DOS 4.0+,NetWare4) duplicate in timer service table
 5Dh (93)  (DOS 4.0+,NetWare4) no items to work on
 5Fh (95)  (DOS 4.0+,NetWare4) interrupted / invalid system call
 64h (100) (MSCDEX) unknown error
 64h (100) (DOS 4.0+,NetWare4) open semaphore limit exceeded
 65h (101) (MSCDEX) not ready
 65h (101) (DOS 4.0+,NetWare4) exclusive semaphore is already owned
 66h (102) (MSCDEX) EMS memory no longer valid
 66h (102) (DOS 4.0+,NetWare4) semaphore was set when close attempted
 67h (103) (MSCDEX) not High Sierra or ISO-9660 format
 67h (103) (DOS 4.0+,NetWare4) too many exclusive semaphore requests
 68h (104) (MSCDEX) door open
 68h (104) (DOS 4.0+,NetWare4) operation invalid from interrupt handler
 69h (105) (DOS 4.0+,NetWare4) semaphore owner died
 6Ah (106) (DOS 4.0+,NetWare4) semaphore limit exceeded
 6Bh (107) (DOS 4.0+,NetWare4) insert drive B: disk into A: / disk changed
 6Ch (108) (DOS 4.0+,NetWare4) drive locked by another process
 6Dh (109) (DOS 4.0+,NetWare4) broken pipe
 6Eh (110) (DOS 5.0+,NetWare4) pipe open/create failed
 6Fh (111) (DOS 5.0+,NetWare4) pipe buffer overflowed
 70h (112) (DOS 5.0+,NetWare4) disk full
 71h (113) (DOS 5.0+,NetWare4) no more search handles
 72h (114) (DOS 5.0+,NetWare4) invalid target handle for dup2
 73h (115) (DOS 5.0+,NetWare4) bad user virtual address / protection violation
 74h (116) (DOS 5.0+) VIOKBD request
 74h (116) (NetWare4) error on console I/O
 75h (117) (DOS 5.0+,NetWare4) unknown category code for IOCTL
 76h (118) (DOS 5.0+,NetWare4) invalid value for verify flag
 77h (119) (DOS 5.0+,NetWare4) level four driver not found by DOS IOCTL
 78h (120) (DOS 5.0+,NetWare4) invalid / unimplemented function number
 79h (121) (DOS 5.0+,NetWare4) semaphore timeout
 7Ah (122) (DOS 5.0+,NetWare4) buffer too small to hold return data
 7Bh (123) (DOS 5.0+,NetWare4) invalid character or bad file-system name
 7Ch (124) (DOS 5.0+,NetWare4) unimplemented information level
 7Dh (125) (DOS 5.0+,NetWare4) no volume label found
 7Eh (126) (DOS 5.0+,NetWare4) module handle not found
 7Fh (127) (DOS 5.0+,NetWare4) procedure address not found
 80h (128) (DOS 5.0+,NetWare4) CWait found no children
 81h (129) (DOS 5.0+,NetWare4) CWait children still running
 82h (130) (DOS 5.0+,NetWare4) invalid operation for direct disk-access handle
 83h (131) (DOS 5.0+,NetWare4) attempted seek to negative offset
 84h (132) (DOS 5.0+,NetWare4) attempted to seek on device or pipe
---JOIN/SUBST errors---
 85h (133) (DOS 5.0+,NetWare4) drive already has JOINed drives
 86h (134) (DOS 5.0+,NetWare4) drive is already JOINed
 87h (135) (DOS 5.0+,NetWare4) drive is already SUBSTed
 88h (136) (DOS 5.0+,NetWare4) can not delete drive which is not JOINed
 89h (137) (DOS 5.0+,NetWare4) can not delete drive which is not SUBSTed
 8Ah (138) (DOS 5.0+,NetWare4) can not JOIN to a JOINed drive
 8Bh (139) (DOS 5.0+,NetWare4) can not SUBST to a SUBSTed drive
 8Ch (140) (DOS 5.0+,NetWare4) can not JOIN to a SUBSTed drive
 8Dh (141) (DOS 5.0+,NetWare4) can not SUBST to a JOINed drive
 8Eh (142) (DOS 5.0+,NetWare4) drive is busy
 8Fh (143) (DOS 5.0+,NetWare4) can not JOIN/SUBST to same drive
 90h (144) (DOS 5.0+,NetWare4) directory must not be root directory
 91h (145) (DOS 5.0+,NetWare4) can only JOIN to empty directory
 92h (146) (DOS 5.0+,NetWare4) path is already in use for SUBST
 93h (147) (DOS 5.0+,NetWare4) path is already in use for JOIN
 94h (148) (DOS 5.0+,NetWare4) path is in use by another process
 95h (149) (DOS 5.0+,NetWare4) directory previously SUBSTituted
 96h (150) (DOS 5.0+,NetWare4) system trace error
 97h (151) (DOS 5.0+,NetWare4) invalid event count for DosMuxSemWait
 98h (152) (DOS 5.0+,NetWare4) too many waiting on mutex
 99h (153) (DOS 5.0+,NetWare4) invalid list format
 9Ah (154) (DOS 5.0+,NetWare4) volume label too large
 9Bh (155) (DOS 5.0+,NetWare4) unable to create another TCB
 9Ch (156) (DOS 5.0+,NetWare4) signal refused
 9Dh (157) (DOS 5.0+,NetWare4) segment discarded
 9Eh (158) (DOS 5.0+,NetWare4) segment not locked
 9Fh (159) (DOS 5.0+,NetWare4) invalid thread-ID address
-----
 A0h (160) (DOS 5.0+) bad arguments
 A0h (160) (NetWare4) bad environment pointer
 A1h (161) (DOS 5.0+,NetWare4) invalid pathname passed to EXEC
 A2h (162) (DOS 5.0+,NetWare4) signal already pending
 A3h (163) (DOS 5.0+) uncertain media
 A3h (163) (NetWare4) ERROR_124 mapping
 A4h (164) (DOS 5.0+) maximum number of threads reached
 A4h (164) (NetWare4) no more process slots
 A5h (165) (NetWare4) ERROR_124 mapping
 B0h (176) (MS-DOS 7.0) volume is not locked
 B1h (177) (MS-DOS 7.0) volume is locked in drive
 B2h (178) (MS-DOS 7.0) volume is not removable
 B4h (180) (MS-DOS 7.0) lock count has been exceeded
 B4h (180) (NetWare4) invalid segment number
 B5h (181) (MS-DOS 7.0) a valid eject request failed
 B5h (181) (DOS 5.0-6.0,NetWare4) invalid call gate
 B6h (182) (DOS 5.0+,NetWare4) invalid ordinal
 B7h (183) (DOS 5.0+,NetWare4) shared segment already exists
 B8h (184) (DOS 5.0+,NetWare4) no child process to wait for
 B9h (185) (DOS 5.0+,NetWare4) NoWait specified and child still running
 BAh (186) (DOS 5.0+,NetWare4) invalid flag number
 BBh (187) (DOS 5.0+,NetWare4) semaphore does not exist
 BCh (188) (DOS 5.0+,NetWare4) invalid starting code segment
 BDh (189) (DOS 5.0+,NetWare4) invalid stack segment
 BEh (190) (DOS 5.0+,NetWare4) invalid module type (DLL can not be used as
	      application)
 BFh (191) (DOS 5.0+,NetWare4) invalid EXE signature
 C0h (192) (DOS 5.0+,NetWare4) EXE marked invalid
 C1h (193) (DOS 5.0+,NetWare4) bad EXE format (e.g. DOS-mode program)
 C2h (194) (DOS 5.0+,NetWare4) iterated data exceeds 64K
 C3h (195) (DOS 5.0+,NetWare4) invalid minimum allocation size
 C4h (196) (DOS 5.0+,NetWare4) dynamic link from invalid Ring
 C5h (197) (DOS 5.0+,NetWare4) IOPL not enabled
 C6h (198) (DOS 5.0+,NetWare4) invalid segment descriptor privilege level
 C7h (199) (DOS 5.0+,NetWare4) automatic data segment exceeds 64K
 C8h (200) (DOS 5.0+,NetWare4) Ring2 segment must be moveable
 C9h (201) (DOS 5.0+,NetWare4) relocation chain exceeds segment limit
 CAh (202) (DOS 5.0+,NetWare4) infinite loop in relocation chain
 CBh (203) (NetWare4) environment variable not found
 CCh (204) (NetWare4) not current country
 CDh (205) (NetWare4) no signal sent
 CEh (206) (NetWare4) file name not 8.3
 CFh (207) (NetWare4) Ring2 stack in use
 D0h (208) (NetWare4) meta expansion is too long
 D1h (209) (NetWare4) invalid signal number
 D2h (210) (NetWare4) inactive thread
 D3h (211) (NetWare4) file system information not available
 D4h (212) (NetWare4) locked error
 D5h (213) (NetWare4) attempted to execute non-family API call in DOS mode
 D6h (214) (NetWare4) too many modules
 D7h (215) (NetWare4) nesting not allowed
 E6h (230) (NetWare4) non-existent pipe, or bad operation
 E7h (231) (NetWare4) pipe is busy
 E8h (232) (NetWare4) no data available for nonblocking read
 E9h (233) (NetWare4) pipe disconnected by server
 EAh (234) (NetWare4) more data available
 FFh (255) (NetWare4) invalid drive
Note:	there is a report that some Microsoft documentation shifts all DOS
	  error codes in the range BCh (188) through CAh (202) up by one
	  compared to what is listed here; that is probably a documentation
	  error
SeeAlso: #01682,#01683,#01684,#01961

Format of media ID structure:
Offset	Size	Description	(Table 01681)
 00h 12 BYTEs	ASCIZ volume label of required disk
 0Ch	DWORD	serial number (DOS 4.0+)
SeeAlso: #01680

(Table 01682)
Values for DOS Error Class:
 01h (1)  out of resource (storage space or I/O channels)
 02h (2)  temporary situation (file or record lock)
 03h (3)  authorization / permission problem (denied access)
 04h (4)  internal system error (system software bug)
 05h (5)  hardware failure
 06h (6)  system failure (configuration file missing or incorrect)
 07h (7)  application program error
 08h (8)  not found
 09h (9)  bad format
 0Ah (10) locked
 0Bh (11) media error
 0Ch (12) already exists / collision with existing item
 0Dh (13) unknown / other
 0Eh (14) (undoc) cannot
 0Fh (15) (undoc) time
SeeAlso: #01680,#01683,#01684

(Table 01683)
Values for DOS Suggested Action:
 01h	retry
 02h	delayed retry (after pause)
 03h	prompt user to reenter input
 04h	abort after cleanup
 05h	immediate abort ("panic")
 06h	ignore
 07h	retry after user intervention
SeeAlso: #01680,#01682,#01684

(Table 01684)
Values for DOS Error Locus:
 01h	unknown or not appropriate
 02h	block device (disk error)
 03h	network related
 04h	serial device (timeout)
 04h	(PTS-DOS 6.51+ & S/DOS 1.0+) character device
 05h	memory related
SeeAlso: #01680,#01682,#01683

Top
2159--BX0001 - INT 21 - European MS-DOS 4.0 - GET HARD ERROR INFORMATION
INT 21 - European MS-DOS 4.0 - GET HARD ERROR INFORMATION
	AH = 59h
	BX = 0001h
Return: ES:DI -> hard error information packet (see #01685) for most recent
		hard (critical) error
SeeAlso: AH=59h/BX=0000h,AH=95h,INT 24

Format of European MS-DOS 4.0 hard error information packet:
Offset	Size	Description	(Table 01685)
 00h	WORD	contents of AX at system entry
 02h	WORD	Process ID which encountered error
 04h	WORD	contents of AX at time of error
 06h	BYTE	error type
		00h physical I/O error
		01h disk change request
		02h file sharing violation
		03h FCB problem
		04h file locking violation
		05h bad FAT
		06h network detected error
 07h	BYTE	INT 24 error code
 08h	WORD	extended error code (see #01680)
 0Ah	DWORD	pointer to associated device

Top
215A - INT 21 - DOS 3.0+ - CREATE TEMPORARY FILE
INT 21 - DOS 3.0+ - CREATE TEMPORARY FILE
	AH = 5Ah
	CX = file attribute (see #01420 at AX=4301h)
	DS:DX -> ASCIZ path ending with a '\' + 13 zero bytes to receive the
		generated filename
Return: CF clear if successful
	    AX = file handle opened for read/write in compatibility mode
	    DS:DX pathname extended with generated name for temporary file
	CF set on error
	    AX = error code (03h,04h,05h) (see #01680)
Desc:	creates a file with a unique name which must be explicitly deleted
Notes:	under the FlashTek X-32 DOS extender, the path pointer is in DS:EDX
	MS-DOS 3.0-4.0 and DR DOS 3.4-5.0 generate the filename as a sequence
	  of hex digits based on the current date and time; MS-DOS 6+,
	  DR DOS 6, and Novell DOS 7 use letters A-P in place of hex digits
	MS-DOS 5.0 and DR DOS 3.41/5.0 will insert a missing trailing backslash
	  before appending the generated filename, but due to this, an empty
	  string results in a file in the root directory
BUGS:	COMPAQ DOS 3.31 hangs if the pathname is at XXXXh:0000h; it apparently
	  wraps around to the end of the segment
	MS-DOS 5.00 revisions A and B and PC-DOS 5.00 revision A reportedly
	  hang the system if the specified path is the root directory and the
	  root directory is full (no free directory entries)
	Mark Incley <mincley@krisalis.demon.co.uk> reports that this function
	  hangs in MS-DOS 6.2x if the name includes two consecutive path
	  separators (e.g. C:\\ )
SeeAlso: AH=3Ch,AH=5Bh

Top
215B - INT 21 - DOS 3.0+ - CREATE NEW FILE
INT 21 - DOS 3.0+ - CREATE NEW FILE
	AH = 5Bh
	CX = file attribute (see #01420 at AX=4301h)
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	    AX = file handle opened for read/write in compatibility mode
	CF set on error
	    AX = error code (03h,04h,05h,50h) (see #01680)
Notes:	unlike AH=3Ch, this function will fail if the specified file exists
	  rather than truncating it; this permits its use in creating semaphore
	  files because it is an atomic "test and set" operation
	under the FlashTek X-32 DOS extender, the filename pointer is in DS:EDX
SeeAlso: AH=3Ch,AH=5Ah

Top
215C - INT 21 - DOS 3.0+ - "FLOCK" - RECORD LOCKING
INT 21 - DOS 3.0+ - "FLOCK" - RECORD LOCKING
	AH = 5Ch
	AL = subfunction
	    00h lock region of file
	    01h unlock region of file
	BX = file handle
	CX:DX = start offset of region within file
	SI:DI = length of region in bytes
Return: CF clear if successful
	CF set on error
	    AX = error code (01h,06h,21h,24h) (see #01680)
Notes:	error returned unless SHARE or network installed
	an unlock call must specify the same region as some prior lock call
	locked regions become entirely inaccessible to other processes
	duplicate handles created with AH=45h or AH=46h inherit locks, but
	  handles inherited by child processes (see AH=4Bh) do not
	under DR DOS 3.41 and 5.0, if a process opens a file without the no-
	  inherit flag and then starts a child, any locks set by the parent
	  are ignored, and the child will only get an error if it tries to
	  lock an area previously locked by the parent process.	 Under Novell
	  DOS 7, this function is fully supported as in MS-DOS.
SeeAlso: AX=440Bh,AH=BCh,AH=BEh,INT 2F/AX=110Ah,INT 2F/AX=110Bh

Top
215D00 - INT 21 U - DOS 3.1+ internal - SERVER FUNCTION CALL
INT 21 U - DOS 3.1+ internal - SERVER FUNCTION CALL
	AX = 5D00h
	DS:DX -> DOS parameter list (see #01686)
	DPL contains all register values for a call to INT 21h
Return: as appropriate for function being called
Notes:	does not check AH.  Out of range values will crash the system
	executes using specified computer ID and process ID
	sharing delay loops skipped
	a special sharing mode is enabled to handle FCBs opened across network
	wildcards are enabled for DELETE (AH=41h) and RENAME (AH=56h) under
	  MS-DOS; under DR DOS 3.41, wildcards corrupt the filesystem; and
	  under DR DOS 5.0-6.0, the call returns error code 03h due to improper
	  support for the server function call (refer to BUGS: section below)
	an extra file attribute parameter is enabled for OPEN (AH=3Dh),
	  DELETE (AH=41h), and RENAME (AH=56h)
	functions which take filenames require canonical names (as returned
	  by AH=60h); this is apparently to prevent multi-hop file forwarding
BUGS:	the OS/2 2.0 DOS Boot Session incorrectly maps DOS drive letters,
	  seemingly ignoring HPFS drives
	DR DOS 5.0-6.0 merely recursively call INT 21 after loading the
	  registers from the DPL, leading to problems for peer-to-peer
	  networks
SeeAlso: AH=3Dh,AH=41h,AH=56h,AH=60h

Format of DOS parameter list:
Offset	Size	Description	(Table 01686)
 00h	WORD	AX
 02h	WORD	BX
 04h	WORD	CX
 06h	WORD	DX
 08h	WORD	SI
 0Ah	WORD	DI
 0Ch	WORD	DS
 0Eh	WORD	ES
 10h	WORD	reserved (0)
 12h	WORD	computer ID (0 = current system)
 14h	WORD	process ID (PSP segment on specified computer)
Note:	under Windows Enhanced mode, the computer ID is normally the virtual
	  machine ID (see INT 2F/AX=1683h), though this can reportedly be
	  changed by setting UniqueDOSPSP= in SYSTEM.INI

Top
215D01 - INT 21 U - DOS 3.1+ internal - COMMIT ALL FILES FOR SPECIFIED COMPUTER/PROCESS
INT 21 U - DOS 3.1+ internal - COMMIT ALL FILES FOR SPECIFIED COMPUTER/PROCESS
	AX = 5D01h
	DS:DX -> DOS parameter list (see #01686), only computer ID and
		  process ID fields used
Return: CF set on error
	    AX = error code (see #01680)
	CF clear if successful
Notes:	flushes buffers and updates directory entries for each file which has
	  been written to; if remote file, calls INT 2F/AX=1107h
	the computer ID and process ID are stored but ignored under DOS 3.3
	not supported by DR DOS 3.41 and 5.0; returns error code 01h.  Fully
	  supported by Novell DOS 7
SeeAlso: AH=0Dh,AH=68h,INT 2F/AX=1107h

Top
215D02 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE FILE BY NAME
INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE FILE BY NAME
	AX = 5D02h
	DS:DX -> DOS parameter list (see #01686), only fields DX, DS,
		  computer ID, and process ID used
	DPL's DS:DX -> ASCIZ name of file to close
Return: CF set on error
	    AX = error code (see #01680)
	CF clear if successful
Notes:	error unless SHARE is loaded (calls [SysFileTable-28h])
	  (see #01636 at AH=52h)
	name must be canonical fully-qualified, such as returned by AH=60h
	not supported by DR DOS 3.41 and 5.0; returns error code 01h
	not supported by Novell DOS 7, although in Update 15 it is reported
	  to no longer return an error code
SeeAlso: AX=5D03h,AX=5D04h,AH=3Eh,AH=60h

Top
215D03 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN COMPUTER
INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN COMPUTER
	AX = 5D03h
	DS:DX -> DOS parameter list (see #01686), only computer ID used
Return: CF set on error
	    AX = error code (see #01680)
	CF clear if successful
Notes:	error unless SHARE is loaded (calls [SysFileTable-30h])
	  (see #01636 at AH=52h)
	not supported by DR DOS 3.41 and 5.0; returns error code 01h
	not supported by Novell DOS 7 (at least through Update 4; may be
	  supported in Update 15)
SeeAlso: AX=5D02h,AX=5D04h

Top
215D04 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN PROCESS
INT 21 U - DOS 3.1+ internal - SHARE.EXE - CLOSE ALL FILES FOR GIVEN PROCESS
	AX = 5D04h
	DS:DX -> DOS parameter list (see #01686), only computer ID and
		  process ID fields used
Return: CF set on error
	    AX = error code (see #01680)
	CF clear if successful
Notes:	error unless SHARE is loaded (calls [SysFileTable-2Ch])
	   (see #01636 at AH=52h)
	not supported by DR DOS 3.41 and 5.0; returns error code 01h
	not supported by Novell DOS 7
SeeAlso: AX=5D02h,AX=5D03h,INT 2F/AX=111Dh

Top
215D05 - INT 21 U - DOS 3.1+ internal - SHARE.EXE - GET OPEN FILE LIST ENTRY
INT 21 U - DOS 3.1+ internal - SHARE.EXE - GET OPEN FILE LIST ENTRY
	AX = 5D05h
	DS:DX -> DOS parameter list (see #01686)
	DPL's BX = index of sharing record (see #01637 at AH=52h)
	DPL's CX = index of SFT in sharing record's SFT list
Return: CF clear if successful
	    ES:DI -> ASCIZ filename
	    BX = network machine number of SFT's owner
	    CX = number of locks held by SFT's owner
	CF set if either index out of range
	    AX = 0012h (no more files)
Notes:	error unless SHARE is loaded (calls [SysFileTable-18h])
	  (see #01636 at AH=52h)
	names are always canonical fully-qualified, such as returned by AH=60h
	not supported by DR DOS 3.41 and 5.0 and Novell DOS 7, but does not
	  return an error, instead destroying AX
SeeAlso: AH=5Ch,AH=60h

Top
215D06 - INT 21 U - DOS 3.0+ internal - GET ADDRESS OF DOS SWAPPABLE DATA AREA
INT 21 U - DOS 3.0+ internal - GET ADDRESS OF DOS SWAPPABLE DATA AREA
	AX = 5D06h
Return: CF set on error
	   AX = error code (see #01680)
	CF clear if successful
	    DS:SI -> nonreentrant data area (includes all three DOS stacks)
		(critical error flag is first byte) (see #01687)
	    CX = size in bytes of area which must be swapped while in DOS
	    DX = size in bytes of area which must always be swapped
Notes:	the Critical Error flag is used in conjunction with the InDOS flag
	  (see AH=34h) to determine when it is safe to enter DOS from a TSR
	setting CritErr flag allows use of functions 50h/51h from INT 28h under
	  DOS 2.x by forcing use of correct stack
	swapping the data area allows reentering DOS unless DOS is in a
	  critical section delimited by INT 2A/AH=80h and INT 2A/AH=81h,82h
	under DOS 4.0, AX=5D0Bh should be used instead of this function
	SHARE and other DOS utilities consult the byte at offset 04h in the
	  DOS data segment (see INT 2F/AX=1203h) to determine the SDA format
	  in use: 00h = DOS 3.x, 01h = DOS 4.0-6.0, other = error.
	DR DOS 3.41+ supports this function, but the SDA format beyond the
	  first 18h bytes is completely different from MS-DOS
BUG:	calling this function with certain values in DX crashes Novell DOS 7.0
	  prior to Update 14
SeeAlso: AX=5D0Bh,INT 2A/AH=80h,INT 2A/AH=81h,INT 2A/AH=82h

Format of DOS 3.10-3.30 Swappable Data Area:
Offset	Size	Description	(Table 01687)
 -34	BYTE	(DOS 3.10+) printer echo flag (00h off, FFh active)
 -31	BYTE	(DOS 3.30) current switch character
 -30	BYTE	current memory allocation strategy (see AH=58h)
 -28	BYTE	(DOS 3.30) incremented on each INT 21/AX=5E01h call
 -27 16 BYTEs	(DOS 3.30) machine name set by INT 21/AX=5E01h
 -11  5 WORDs	zero-terminated list of offsets which need to be patched to
		  enable critical-section calls (see INT 2A/AH=80h)
 -1	BYTE	unused padding
---start of actual SDA---
 00h	BYTE	critical error flag ("ErrorMode")
 01h	BYTE	InDOS flag (count of active INT 21 calls)
 02h	BYTE	drive on which current critical error occurred, or FFh
		(DR DOS sets to drive number during INT 24, 00h otherwise)
 03h	BYTE	locus of last error
 04h	WORD	extended error code of last error
 06h	BYTE	suggested action for last error
 07h	BYTE	class of last error
 08h	DWORD	ES:DI pointer for last error
 0Ch	DWORD	current DTA (Disk Transfer Address)
		note: may point into SDA during the DOS EXEC function
		  (see AH=4Bh), so programs which swap the SDA must be
		  prepared to move the DTA to a private buffer if they
		  might be invoked during an EXEC
 10h	WORD	current PSP
 12h	WORD	stores SP across an INT 23
 14h	WORD	return code from last process termination (zerod after reading
		  with AH=4Dh)
 16h	BYTE	current drive
 17h	BYTE	extended break flag
---remainder need only be swapped if in DOS---
 18h	WORD	value of AX on call to INT 21
 1Ah	WORD	PSP segment for sharing/network
 1Ch	WORD	network machine number for sharing/network (0000h = us)
 1Eh	WORD	first usable memory block found when allocating memory
 20h	WORD	best usable memory block found when allocating memory
 22h	WORD	last usable memory block found when allocating memory
 24h	WORD	memory size in paragraphs (used only during initialization)
 26h	WORD	last entry checked during directory search
 28h	BYTE	flag: INT 24 returned Fail
 29h	BYTE	flags: allowable INT 24 actions (passed to INT 24 in AH)
 2Ah	BYTE	directory flag (00h directory, 01h file)
 2Bh	BYTE	flag: FFh if Ctrl-Break termination, 00h otherwise
 2Ch	BYTE	flag: allow embedded blanks in FCB
 2Dh	BYTE	padding (unused)
 2Eh	BYTE	day of month
 2Fh	BYTE	month
 30h	WORD	year - 1980
 32h	WORD	number of days since 01jan1980
 34h	BYTE	day of week (0 = Sunday)
 35h	BYTE	flag: console swapped during read from device
 36h	BYTE	flag: safe to call INT 28 if nonzero
 37h	BYTE	flag: if nonzero, INT 24 Abort turned into INT 24 Fail
		(set only during process termination)
 38h 26 BYTEs	device driver request header (see #02597 at INT 2F/AX=0802h)
 52h	DWORD	pointer to device driver entry point (used in calling driver)
 56h 22 BYTEs	device driver request header for I/O calls
 6Ch 14 BYTEs	device driver request header for disk status check
 7Ah	DWORD	pointer to device I/O buffer???
 7Eh	WORD	???
 80h	WORD	???
 82h	BYTE	type of PSP copy (00h=simple for INT 21/AH=26h, FFh=make child)
 83h	BYTE	padding (unused)
 84h  3 BYTEs	24-bit user number (see AH=30h)
 87h	BYTE	OEM number (see #01394 at AH=30h)
 88h	WORD	offset to error code conversion table for INT 25/INT 26
 8Ah  6 BYTEs	CLOCK$ transfer record (see #01688)
 90h	BYTE	device I/O buffer for single-byte I/O functions
 91h	BYTE	padding??? (unused)
 92h 128 BYTEs	buffer for filename
112h 128 BYTEs	buffer for filename
192h 21 BYTEs	findfirst/findnext search data block (see #01626 at AH=4Eh)
1A7h 32 BYTEs	directory entry for found file (see #01352 at AH=11h)
1C7h 81 BYTEs	copy of current directory structure for drive being accessed
218h 11 BYTEs	FCB-format filename for device name comparison
223h	BYTE	terminating NUL for above filename
224h 11 BYTEs	wildcard destination specification for rename (FCB format)
22Fh	BYTE	terminating NUL for above spec
230h	BYTE	???
231h	WORD	destination file/directory starting sector
233h  5 BYTEs	???
238h	BYTE	extended FCB file attribute
239h	BYTE	type of FCB (00h regular, FFh extended)
23Ah	BYTE	directory search attributes
23Bh	BYTE	file open/access mode
23Ch	BYTE	file found/delete flag
		bit 0: file found
		bit 4: file deleted
23Dh	BYTE	flag: device name found on rename, or file not found
23Eh	BYTE	splice flag (file name and directory name together)
23Fh	BYTE	flag indicating how DOS function was invoked
		(00h = direct INT 20/INT 21, FFh = server call AX=5D00h)
240h	BYTE	sector position within cluster
241h	BYTE	flag: translate sector/cluster (00h no, 01h yes)
242h	BYTE	flag: 00h if read, 01h if write
243h	BYTE	current working drive number
244h	BYTE	cluster factor
245h	BYTE	flag: cluster split mode
246h	BYTE	line edit (AH=0Ah) insert mode flag (nonzero = on)
247h	BYTE	canonicalized filename referred to existing file/dir if FFh
248h	BYTE	volume ID flag
249h	BYTE	type of process termination (00h-03h) (see AH=4Dh)
24Ah	BYTE	file create flag (00h = no, search only)
24Bh	BYTE	value with which to replace first byte of deleted file's name
		  (normally E5h, but 00h as described under INT 21/AH=13h)
24Ch	DWORD	pointer to Drive Parameter Block for critical error invocation
		temp: used during process termination
250h	DWORD	pointer to stack frame containing user registers on INT 21
254h	WORD	stores SP across INT 24
256h	DWORD	pointer to DOS Drive Parameter Block for ???
25Ah	WORD	saving partial cluster number
25Ch	WORD	temp: sector of work current cluster
25Eh	WORD	high part of cluster number (only low byte referenced)
260h	WORD	??? temp
262h	BYTE	Media ID byte returned by AH=1Bh,1Ch
263h	BYTE	padding (unused)
264h	DWORD	pointer to device header when filename is character device
268h	DWORD	pointer to current SFT
26Ch	DWORD	pointer to current directory structure for drive being accessed
270h	DWORD	pointer to caller's FCB
274h	WORD	number of SFT to which file being opened will refer
276h	WORD	temporary storage for file handle
278h	DWORD	pointer to a JFT entry in process handle table
		  (see #01378 at AH=26h)
27Ch	WORD	offset in DOS DS of first filename argument
27Eh	WORD	offset in DOS DS of second filename argument
280h	WORD	offset of last component in pathname or FFFFh
282h	WORD	offset of transfer address to add
284h	WORD	last relative cluster within file being accessed
286h	WORD	temp: absolute cluster number being accessed
288h	WORD	directory sector number
28Ah	WORD	??? current cluster number
28Ch	WORD	current relative sector number within file
28Eh	WORD	current sector number
290h	WORD	current byte offset within sector
292h	DWORD	current offset in file
296h	DWORD	temp: file byte count
29Ah	WORD	temp: file byte count
29Ch	WORD	free file cluster entry
29Eh	WORD	last file cluster entry
2A0h	WORD	next file cluster number
2A2h	DWORD	number of bytes appended to file
2A6h	DWORD	pointer to current work disk buffer
2AAh	DWORD	pointer to working SFT
2AEh	WORD	used by INT 21 dispatcher to store caller's BX
2B0h	WORD	used by INT 21 dispatcher to store caller's DS
2B2h	WORD	temporary storage while saving/restoring caller's registers
2B4h	DWORD	pointer to prev call frame (offset 250h) if INT 21 reentered
		also switched to for duration of INT 24
2B8h 21 BYTEs	FindFirst search data for source file(s) of a rename operation
		(see #01626 at AH=4Eh)
2CDh 32 BYTEs	directory entry for file being renamed (see #01352 at AH=11h)
2EDh 331 BYTEs	critical error stack
   403h	 35 BYTEs scratch SFT
438h 384 BYTEs	disk stack (functions greater than 0Ch, INT 25,INT 26)
5B8h 384 BYTEs	character I/O stack (functions 01h through 0Ch)
---DOS 3.2,3.3x only---
738h	BYTE	device driver lookahead flag (usually printer)
		(see AH=64h"DOS 3.2+")
739h	BYTE	volume change flag
73Ah	BYTE	flag: virtual open
73Bh	BYTE	???
Note:	the only fields which remain valid BETWEEN calls to INT 21h are those
	  in the initial "swap-always" portion of the SDA
SeeAlso: #01690

Format of CLOCK$ transfer record:
Offset	Size	Description	(Table 01688)
 00h	WORD	number of days since 1-Jan-1980
 02h	BYTE	minutes
 03h	BYTE	hours
 04h	BYTE	hundredths of second
 05h	BYTE	seconds

Top
215D07 - INT 21 U - DOS 3.1+ network - GET REDIRECTED PRINTER MODE
INT 21 U - DOS 3.1+ network - GET REDIRECTED PRINTER MODE
	AX = 5D07h
Return: DL = mode
	    00h redirected output is combined
	    01h redirected output in separate print jobs
Note:	MS-DOS and DR DOS 3.41/5.0 simply push AX on the stack and call
	  INT 2F/AX=1125h
SeeAlso: AX=5D08h,AX=5D09h,INT 2F/AX=1125h

Top
215D08 - INT 21 U - DOS 3.1+ network - SET REDIRECTED PRINTER MODE
INT 21 U - DOS 3.1+ network - SET REDIRECTED PRINTER MODE
	AX = 5D08h
	DL = mode
	    00h redirected output is combined
	    01h redirected output placed in separate jobs, start new print job
		now
Return:	nothing
Note:	MS-DOS and DR DOS 3.41/5.0 simply push AX on the stack and call
	  INT 2F/AX=1125h
SeeAlso: AX=5D07h,AX=5D09h,INT 2F/AX=1125h

Top
215D09 - INT 21 U - DOS 3.1+ network - FLUSH REDIRECTED PRINTER OUTPUT
INT 21 U - DOS 3.1+ network - FLUSH REDIRECTED PRINTER OUTPUT
	AX = 5D09h
Return:	nothing
Desc:	forces redirected printer output to be printed, and starts a new print
	  job
Notes:	MS-DOS and DR DOS 3.41/5.0 simply push AX on the stack and call
	  INT 2F/AX=1125h
	this function is also supported by 10Net, which calls it Terminate All
	  Spool Jobs, and does not flush if in "combine" mode
SeeAlso: AX=5D07h,AX=5D08h,INT 2F/AX=1125h

Top
215D0A - INT 21 - DOS 3.1+ - SET EXTENDED ERROR INFORMATION
INT 21 - DOS 3.1+ - SET EXTENDED ERROR INFORMATION
	AX = 5D0Ah
	DS:DX -> 11-word DOS parameter list (see #01686)
Return: nothing.  next call to AH=59h will return values from fields AX,BX,CX,
	  DX,DI, and ES in corresponding registers
Notes:	documented for DOS 5+, but undocumented in earlier versions
	the MS-DOS Programmer's Reference incorrectly states that this call was
	  introduced in DOS 4, and fails to mention that the ERROR structure
	  passed to this function is a DOS parameter list.
BUGS:	DR DOS 3.41 and 5.0 read the value for ES from the DS field of the
	  DPL; fortunately, MS-DOS ignores the DS field, allowing a generic
	  routine which sets both DS and ES fields to the same value
	Novell DOS 7 (through at least Update 4) does not save the pointer,
	  which is always reported as 0000h:0000h by AH=59h; Update 15 fully
	  supports this function
SeeAlso: AH=59h/BX=0000h

Top
215D0B - INT 21 OU - DOS 4.x only - internal - GET DOS SWAPPABLE DATA AREAS
INT 21 OU - DOS 4.x only - internal - GET DOS SWAPPABLE DATA AREAS
	AX = 5D0Bh
Return: CF set on error
	    AX = error code (see #01680)
	CF clear if successful
	    DS:SI -> swappable data area list (see #01689)
Notes:	copying and restoring the swappable data areas allows DOS to be
	  reentered unless it is in a critical section delimited by calls to
	  INT 2A/AH=80h and INT 2A/AH=81h,82h
	SHARE and other DOS utilities consult the byte at offset 04h in the
	  DOS data segment (see INT 2F/AX=1203h) to determine the SDA format
	  in use: 00h = DOS 3.x, 01h = DOS 4.0-6.0, other = error.
	DOS 5+ use the SDA format listed below, but revert back to the DOS 3.x
	  call for finding the SDA (see #01687); Novell DOS 7 does not support
	  this function, either.
SeeAlso: AX=5D06h,INT 2A/AH=80h,INT 2A/AH=81h,INT 2A/AH=82h,INT 2F/AX=1203h

Format of DOS 4.x swappable data area list:
Offset	Size	Description	(Table 01689)
 00h	WORD	count of data areas
 02h  N BYTEs	"count" copies of data area record
		Offset	Size	Description
		 00h	DWORD	address
		 04h	WORD	length and type
				bit 15 set if swap always, clear if swap in DOS
				bits 14-0: length in bytes
SeeAlso: #01690

Format of DOS 4.0-6.0 swappable data area:
Offset	Size	Description	(Table 01690)
 -34	BYTE	printer echo flag (00h off, FFh active)
 -31	BYTE	current switch character (ignored by DOS 5+)
 -30	BYTE	current memory allocation strategy (see AH=58h)
 -28	BYTE	incremented on each INT 21/AX=5E01h call
 -27 16 BYTEs	machine name set by INT 21/AX=5E01h
 -11  5 WORDs	zero-terminated list of offsets which need to be patched to
		  enable critical-section calls (see INT 2A/AH=80h)
		(all offsets are 0D0Ch, but this list is still present for
		  DOS 3.x compatibility)
 -1	BYTE	unused padding
Note:	the above data is not actually part of the SDA, and is much more likely
	  to change between DOS versions/OEMs than data in the SDA itself
---start of actual SDA---
 00h	BYTE	critical error flag ("ErrorMode")
 01h	BYTE	InDOS flag (count of active INT 21 calls)
 02h	BYTE	drive on which current critical error occurred or FFh
		(DR DOS 3.41/5.0 set this to 00h when no critical error)
 03h	BYTE	locus of last error
 04h	WORD	extended error code of last error
 06h	BYTE	suggested action for last error
 07h	BYTE	class of last error
 08h	DWORD	ES:DI pointer for last error
 0Ch	DWORD	current DTA (Disk Transfer Address)
		note: may point into SDA during the DOS EXEC function
		  (see AH=4Bh), so programs which swap the SDA must be
		  prepared to move the DTA to a private buffer if they
		  might be invoked during an EXEC
 10h	WORD	current PSP
 12h	WORD	stores SP across an INT 23
 14h	WORD	return code from last process termination (zerod after reading
		  with AH=4Dh)
 16h	BYTE	current drive
 17h	BYTE	extended break flag
 18h	BYTE	flag: code page switching
 19h	BYTE	flag: copy of previous byte in case of INT 24 Abort
---remainder need only be swapped if in DOS---
 1Ah	WORD	value of AX on call to INT 21
		Note:	does not contain correct value on functions 00h-0Ch,
			  50h, 51h, 59h, or 62h			
 1Ch	WORD	PSP segment for sharing/network (0000h = local)
 1Eh	WORD	network machine number for sharing/network (0000h = local)
 20h	WORD	first usable memory block found when allocating memory
 22h	WORD	best usable memory block found when allocating memory
 24h	WORD	last usable memory block found when allocating memory
 26h	WORD	memory size in paragraphs (used only during initialization)
 28h	WORD	last entry checked during directory search
 2Ah	BYTE	flag: nonzero if INT 24 Fail
 2Bh	BYTE	flags: allowable INT 24 responses (passed to INT 24 in AH)
 2Ch	BYTE	flag: do not set directory if nonzero
 2Dh	BYTE	flag: program aborted by ^C
 2Eh	BYTE	flag: allow embedded blanks in FCB
		may also allow use of "*" wildcard in FCBs
 2Fh	BYTE	padding (unused)
 30h	BYTE	day of month
 31h	BYTE	month
 32h	WORD	year - 1980
 34h	WORD	number of days since 01jan1980
 36h	BYTE	day of week (0 = Sunday)
 37h	BYTE	flag: console swapped during read from device
 38h	BYTE	flag: safe to call INT 28 if nonzero
 39h	BYTE	flag: abort currently in progress, turn INT 24 Abort into Fail
 3Ah 30 BYTEs	device driver request header (see #02597 at INT 2F/AX=0802h) for
		  device calls
 58h	DWORD	pointer to device driver entry point (used in calling driver)
 5Ch 22 BYTEs	device driver request header for I/O calls
 72h 14 BYTEs	device driver request header for disk status check (also
		  includes following eight bytes for some calls)
 80h	DWORD	pointer to device I/O buffer
 84h	WORD	part of request header at 72h
 86h	WORD	part of request header at 72h (0)
 88h	BYTE	type of PSP copy (00h=simple for INT 21/AH=26h, FFh=make child)
 89h	DWORD	start offset of file region to lock/unlock
 8Dh	DWORD	length of file region to lock/unlock
 91h	BYTE	padding (unused)
 92h  3 BYTEs	24-bit user number (see AH=30h)
 95h	BYTE	OEM number (see #01394 at AH=30h)
 96h  6 BYTEs	CLOCK$ transfer record (see #01688 at AX=5D06h)
 9Ch	BYTE	device I/O buffer for single-byte I/O functions
 9Dh	BYTE	padding
 9Eh 128 BYTEs	buffer for filename
11Eh 128 BYTEs	buffer for filename (rename destination name)
19Eh 21 BYTEs	findfirst/findnext search data block (see #01626 at AH=4Eh)
1B3h 32 BYTEs	directory entry for found file (see #01394 at AH=11h)
1D3h 88 BYTEs	copy of current directory structure for drive being accessed
22Bh 11 BYTEs	FCB-format filename for device name comparison
236h	BYTE	terminating NUL for above filename
237h 11 BYTEs	wildcard destination specification for rename (FCB format)
242h	BYTE	terminating NUL for above filespec
243h	BYTE	padding???
244h	WORD	destination starting sector (cluster???)
246h  5 BYTEs	extra space to allow a directory entry to be stored starting
		  at offset 22Bh
24Bh	BYTE	extended FCB file attributes
24Ch	BYTE	type of FCB (00h regular, FFh extended)
24Dh	BYTE	directory search attributes
24Eh	BYTE	file open/access mode
24Fh	BYTE	flag: nonzero if file was deleted
250h	BYTE	flag: device name found on rename, or file not found
251h	BYTE	flag: splice file name and directory name together
252h	BYTE	flag indicating how DOS function was invoked
		(00h = direct INT 20/INT 21, FFh = server call AX=5D00h)
253h	BYTE	sector position within cluster
254h	BYTE	flag: translating sector/cluster
255h	BYTE	flag: 00h if read, 01h if write
256h	BYTE	current working drive number
257h	BYTE	cluster factor
258h	BYTE	"sda_CLUSSPLIT" flag: cluster split between two FAT sectors
259h	BYTE	line edit (AH=0Ah) insert mode flag (nonzero = on)
25Ah	BYTE	canonicalized filename referred to existing file/dir if FFh
25Bh	BYTE	volume ID flag
25Ch	BYTE	type of process termination (00h-03h) (see AH=4Dh)
25Dh	BYTE	unused (padding for alignment)
25Eh	BYTE	file create flag (00h = no, search only)
25Fh	BYTE	value for deleted file's first byte: 00h to delete all, else E5
260h	DWORD	pointer to Drive Parameter Block for critical error invocation
264h	DWORD	pointer to stack frame containing user registers on INT 21
268h	WORD	stores SP across INT 24
26Ah	DWORD	pointer to DOS Drive Parameter Block for ???
26Eh	WORD	segment of disk buffer
270h	DWORD	saving partial cluster number
274h	WORD	"sda_PREREAD" 00h if preread, 01h if optional
276h	WORD	temporary used in allocating disk space
278h	BYTE	Media ID byte returned by AH=1Bh,1Ch
279h	BYTE	unused
27Ah	DWORD	pointer to device header if filename is character device
27Eh	DWORD	pointer to current SFT
282h	DWORD	pointer to current directory structure for drive being accessed
286h	DWORD	pointer to caller's FCB
28Ah	WORD	SFT index to which file being opened will refer
28Ch	WORD	temporary storage for file handle
28Eh	DWORD	pointer to JFT entry (for file being opened) in process handle
		  table (see #01378 at AH=26h)
292h	WORD	"sda_WFP_START" offset in DOS DS of first filename argument
294h	WORD	"sda_REN_WFP" offset in DOS DS of second filename argument
296h	WORD	offset of last component in pathname or FFFFh
298h	WORD	offset of transfer address to add
29Ah	WORD	last relative cluster within file being accessed
29Ch	WORD	temp: absolute cluster number being accessed
29Eh	DWORD	directory sector number
2A2h	WORD	directory cluster number
2A4h	DWORD	current relative sector number within file
2A8h	DWORD	current sector number (number of previously written sectors)
2ACh	WORD	current byte offset within sector
2AEh	DWORD	current offset in file
2B2h	WORD	number of bytes in first sector
2B4h	WORD	bytes in partial last sector
2B6h	WORD	number of whole sectors
2B8h	WORD	free file cluster entry
2BAh	WORD	last file cluster entry
2BCh	WORD	next file cluster number
2BEh	DWORD	number of bytes appended to file
2C2h	DWORD	pointer to current work disk buffer
2C6h	DWORD	pointer to working SFT
2CAh	WORD	used by INT 21 dispatcher to store caller's BX
2CCh	WORD	used by INT 21 dispatcher to store caller's DS
2CEh	WORD	temporary storage while saving/restoring caller's registers
2D0h	DWORD	pointer to prev call frame (offset 264h) if INT 21 reentered
		also switched to for duration of INT 24
2D4h	WORD	open mode/action for INT 21/AX=6C00h
2D6h	BYTE	extended open conditional flag
		set to 00h by INT 21h dispatcher, 02h when a read is
		  performed, and 01h or 03h by INT 21/AX=6C00h
2D7h	WORD	extended open I/O mode
2D9h	DWORD	stored ES:DI for AX=6C00h
2DDh	WORD	extended file open action code (see #01770 at AX=6C00h)
2DFh	WORD	extended file open attributes (see #01769 at AX=6C00h)
2E1h	WORD	extended file open file mode (see AX=6C00h)
2E3h	DWORD	pointer to filename to open (see AX=6C00h)
2E7h	WORD	high word of 32-bit sector number, or temp data buffer size
		   from disk buffer
2E9h	WORD	"sda_OffsetMagicPatch"
2EBh	BYTE	disk full on >32M partition when set to 01h
2ECh	WORD	stores DS during call to [List-of-Lists + 37h]
2EEh	WORD	temporary storage (various uses)
2F0h	BYTE	storage for drive error
2F1h	WORD	DOS 3.4 (European MS-DOS 4.00) bit flags
2F3h	DWORD	pointer to user-supplied filename
2F7h	DWORD	pointer to user-supplied rename destination filename
2FBh	WORD	stores SS during call to [List-of-Lists + 37h] and INT 25,26 
2FDh	WORD	stores SP during call to [List-of-Lists + 37h] and INT 25,26
2FFh	BYTE	flag, nonzero if stack switched in calling [List-of-Lists+37h]
300h 21 BYTEs	FindFirst search data for source file(s) of a rename operation
		(see #01626 at AH=4Eh)
315h 32 BYTEs	directory entry for file being renamed (see #01352 at AH=11h)
335h 331 BYTEs	critical error stack
480h 384 BYTEs	disk stack (functions greater than 0Ch, INT 25,INT 26)
600h 384 BYTEs	character I/O stack (functions 01h through 0Ch)
780h	BYTE	device driver lookahead flag (usually printer)
		(see AH=64h"DOS 3.2+")
781h	BYTE	volume change flag
782h	BYTE	flag: virtual file open
783h	BYTE	fastseek drive
784h	WORD	fastseek first cluster number
786h	WORD	fastseek logical cluster number
788h	WORD	fastseek returned logical cluster number
78Ah	WORD	temporary location of DOS@SYSINIT
---MSDOS 7.1+ (FAT32)---
78Ch 47 BYTEs	???
7BBh	BYTE	flag: absolute disk read/write type
		00h = INT 25/INT 26
		01h = INT 21/AX=7305h
7BCh	WORD	high word of directory cluster number at offset 2A2h
7BEh	WORD	high word of cluster number at offset 29Ch
7C0h	WORD	high word of next file cluster number at offset 2BCh
7C2h	WORD	high word of last relative cluster number at offset 29Ah
7C4h	WORD	high word of temp at offset 276h
7C6h	WORD	high word of offset 244h
7C8h	WORD	high word of EBX
7CAh	WORD	high word of EDX used by "PACK"
7CCh	WORD	high word of EDI used by "UNPACK"
7CEh	WORD	high word of EBX used by "SETDIRSRCH"
7D0h	WORD	high word of ECX used by "FREECLUSTER"
7D2h	WORD	high word of EDI used by "GETEOF"
7D4h  3 WORDs	???
Note:	the only fields which remain valid BETWEEN calls to INT 21h are those
	  in the initial "swap-always" portion of the SDA
SeeAlso: #01687,#01689

Top
Section -


Top
215E00 - INT 21 - DOS 3.1+ network - GET MACHINE NAME
INT 21 - DOS 3.1+ network - GET MACHINE NAME
	AX = 5E00h
	DS:DX -> 16-byte buffer for ASCII machine name
Return: CF clear if successful
	    CH = validity
		00h name invalid
		nonzero valid
		    CL = NetBIOS number for machine name
		    DS:DX buffer filled with blank-paded name
	CF set on error
	    AX = error code (01h) (see #01680 at AH=59h)
Note:	supported by OS/2 v1.3+ compatibility box, PC-NFS
SeeAlso: AX=5E01h

Top
215E00 - INT 21 - 10NET v5.0 - GET MACHINE NAME
INT 21 - 10NET v5.0 - GET MACHINE NAME
	AX = 5E00h
Return: CL = redirector's NetBIOS name number
	ES:DI -> network node ID
SeeAlso: AX=5E01h"10NET"

Top
215E01CH00 - INT 21 - DOS 3.1+ network - SET MACHINE NAME
INT 21 - DOS 3.1+ network - SET MACHINE NAME
	AX = 5E01h
	CH = 00h undefine name (make it invalid)
	   <> 0	 define name
	CL = name number
	DS:DX -> 15-character blank-padded ASCIZ name
SeeAlso: AX=5E00h

Top
215E01 - INT 21 - 10NET v5.0 - GET LOCAL 10NET CONFIGURATION TABLE
INT 21 - 10NET v5.0 - GET LOCAL 10NET CONFIGURATION TABLE
	AX = 5E01h
	CX = length of buffer
	DS:DX -> buffer for 10Net configuration table (see #01691)
Return: DS:DX buffer filled
SeeAlso: AX=5E00h"10NET",INT 6F/AH=02h,INT 6F/AH=03h

Format of 10Net Configuration Table:
Offset	Size	Description	(Table 01691)
 00h  8 BYTEs	user name
 08h 15 BYTEs	node ID
 17h  3 BYTEs	unique portion of Ethernet address
 1Ah	BYTE	Who group number
 1Bh	WORD	services mask (see #01693)
 1Dh	DWORD	serial number
 21h	BYTE	maximum concurrent users with same serial number allowed on net
 22h	BYTE	chat mask (see #01694)
 23h	BYTE	internal system bits (see #01695)
 24h  9 BYTEs	version number in format MM.mm.xxx
 2Dh	BYTE	flag: 01h if machine is a PS/2
 2Eh	BYTE	flag: 03h if 80386
 2Fh	BYTE	spool termination mode: 01h concatenate, 02h truncate
		(see AX=5D09h)
 30h	WORD	autospool timeout in clock ticks
 32h	WORD	monitor timeout in clock ticks
 34h	WORD	unused
 36h	WORD	chat timeout in clock ticks
 38h	WORD	netBIOS session timeout in half-seconds
 3Ah	WORD	datagram send timeout in seconds
 3Ch	WORD	keyboard value for initiating chat mode
 3Eh	WORD	Who timeout in clock ticks
 40h	BYTE	flag: 01h if server should process rom NetBIOS Post return
 41h	BYTE	flag: 01h if FCBs should be recycled
 42h  3 BYTEs	signature "DBG"
 45h	BYTE	last interrupt (21h or 6Fh)
 46h	BYTE	last INT 21 AH value
 47h	BYTE	last INT 6F AH value
 48h	WORD	last item posted
 4Ah	WORD	last item free-posted
 4Ch	WORD	last item handled by server
 4Eh	WORD	last redirector send NCB
 50h	WORD	last redirector receive NCB
 52h  4 BYTEs	signature "TABL"
 56h	WORD	offset of datagram buffer table header (see #01692)
 58h	WORD	offset of chat buffer table header (see #01692)
 5Ah	WORD	offset of Raw buffer table header (see #01692)
 5Ch	WORD	offset of Workstation buffer table header (see #01692)
 5Eh	WORD	offset of server receive-any table header (see #01692)
 60h	WORD	offset of Tiny buffer table header (see #01692)
 62h	WORD	offset of zero-length buffer table (NCBs) (see #01692)
 64h	WORD	offset of Rdr (Redirector Mount) table header (see #01692)
 66h	WORD	offset of Ntab (Redirector Session) table header (see #01692)
 68h	WORD	offset of FCB table header (see #01692)
 6Ah	WORD	offset of user file handle table header (see #01692)
 6Ch	WORD	offset of workstation printer RDR extension table header
 6Eh	WORD	offset of server shared device table header (see #01692)
 70h	WORD	offset of server connection table header (see #01692)
 72h	WORD	offset of server login table header (see #01692)
 74h	WORD	offset of server file table header (see #01692)
 76h	WORD	offset of server shared file table header (see #01692)
 78h	WORD	offset of server record lock table header (see #01692)
 7Ah	WORD	offset of remote printer claim table header (see #01692)
 7Ch	WORD	offset of remote printer device table header (see #01692)
 7Eh	WORD	offset of print server mount table header (see #01692)
 80h	WORD	offset of print server sessions table header (see #01692)
 82h	WORD	offset of print server print job structure table header
 84h	WORD	offset of print server pooled device table header (see #01692)
 86h	WORD	size of workstation buffer
 88h	WORD	size of server receive-any buffer
 8Ah	WORD	size of server raw I/O buffer
 8Ch  6 BYTEs	reserved
 92h	DWORD	pointer to profile pathname
 96h	BYTE	datagram retry count
 97h	BYTE	NetBIOS LAN adapter number
 98h  6 BYTEs	physical Ethernet address
 9Eh	BYTE	NetBIOS server name number
 9Fh	BYTE	NetBIOS redirector name number
 A0h	BYTE	10Net interrupt number
 A1h	BYTE	flag: chat is loaded
 A2h	BYTE	flag: INT 6F APIs permanently loaded
 A3h	BYTE	flag: file security present
 A4h	WORD	reserved
 A6h	BYTE	fixed mount bitmask for drives A:-H:
 A7h	BYTE	reserved
 A8h	WORD	10Net system flags (see #01696)
 AAh	BYTE	monitor flags (see #01697)
 ABh  5 BYTEs	reserved
 B0h	WORD	offset of monitor timer block
 B2h	WORD	offset of server timer block
 B4h	WORD	offset of chat timer block
 B6h	WORD	timer chain
 B8h  4 BYTEs	signature "TALS"
 BCh	WORD	number of 10Net sends
 BEh	WORD	number of 10Net receives
 C0h	WORD	number of no-buffer conditions
 C2h	WORD	number of dropped posted messages
 C4h	WORD	number of server NCB errors
 C6h	WORD	number of redirector NCB errors
 C8h	WORD	number of datagram send/receive errors
 CAh	WORD	number of dropped Whos
 CCh	WORD	number of dropped submits
 CEh	WORD	number of session aborts
 D0h	BYTE	number of NetBIOS interface-busy errors
 D1h	BYTE	last NetBIOS bad post command
 D2h	BYTE	last NetBIOS bad redirector command
 D3h	BYTE	do send datagram send/receive error command
 D4h	DWORD	-> DOS system parameter table
 D8h	WORD	number of DOS physical drives
 DAh	WORD	offset of DOS PSP field in DOS data segment
 DCh	WORD	offset of in-DOS flag in DOS data segment
 DEh	WORD	DOS data segment
 E0h	WORD	offset of DOS SFT in DOS data segment
 E2h	WORD	offset of number-of-physical-units field in DOS data segment
 E4h	WORD	10Net code segment
 E6h	WORD	10Net data segment
 E8h	WORD	10Net common server segment
 EAh	WORD	10Net file server segment
 ECh	WORD	10Net print server segment
 EEh	WORD	10Net remote printer segment
Note:	documentation lists field at offset D0h as a WORD, but all following
	  offsets are as though it were a BYTE; if it is indeed a WORD, all
	  offsets after D0h must be increased by one byte

Format of 10Net Table Header:
Offset	Size	Description	(Table 01692)
 -16  4 BYTEs	table identifier
 -12	WORD	peak number of tables allocated
 -10	WORD	number of tables currently in use
 -8	WORD	total number of tables
 -6	WORD	size of each table
 -4	WORD	offset of first allocated table
 -2	WORD	offset of first free table

Bitfields for 10NET services mask:
Bit(s)	Description	(Table 01693)
 0	workstation
 1	file server
 2	print queue server
 3	de-spool server

Bitfields for 10NET chat mask:
Bit(s)	Description	(Table 01694)
 0	chat permitted
 1	bell enabled
 2	chat keyboard initiated
 3	in INT 16 handler
 4	in Get Input
 5	display has timed out
 6	chat is idle

Bitfields for 10NET internal system bits:
Bit(s)	Description	(Table 01695)
 0	submit permitted
 1	submit initiated
 2	submit executing
 3	internal client call/chat/spool/autospool
 4	in spool termination
 5	print permitted
 6	waiting for keyboard input

Bitfields for 10NET System Flags:
Bit(s)	Description	(Table 01696)
 0	in NetBIOS
 1	processing INT 28
 2	is server
 3	in net user-DOS function
 4	in DOS user-DOS function
 5	in net for user non-DOS function
 6	in server DOS function
 7	in server non-DOS function
 8	in terminate
 10	in user on server request
 13	in DOS for user on server
 14	disable critical error handler

Bitfields for Monitor Flags:
Bit(s)	Description	(Table 01697)
 0	waiting for monitor response
 4	in monitor get-input routine
 5	monitor display timeout
 6	sensing for escape key

Top
215E02 - INT 21 - DOS 3.1+ network - SET NETWORK PRINTER SETUP STRING
INT 21 - DOS 3.1+ network - SET NETWORK PRINTER SETUP STRING
	AX = 5E02h
	BX = redirection list index (see AX=5F02h)
	CX = length of setup string
	DS:SI -> setup string
Return: CF clear if successful
	CF set on error
	    AX = error code (01h) (see #01680 at AH=59h/BX=0000h)
Note:	also supported by 10NET v5.0
SeeAlso: AX=5E03h,INT 2F/AX=111Fh

Top
215E03 - INT 21 - DOS 3.1+ network - GET NETWORK PRINTER SETUP STRING
INT 21 - DOS 3.1+ network - GET NETWORK PRINTER SETUP STRING
	AX = 5E03h
	BX = redirection list index (see AX=5F02h)
	ES:DI -> 64-byte buffer for setup string
Return: CF clear if successful
	    CX = length of setup string
	    ES:DI buffer filled
	CF set on error
	    AX = error code (01h) (see #01680 at AH=59h/BX=0000h)
Note:	also supported by 10NET v5.0, but 10NET is documented as using DS:SI
	  instead of ES:DI
SeeAlso: AX=5E02h,INT 2F/AX=111Fh

Top
215E04 - INT 21 - DOS 3.1+ network - SET PRINTER MODE
INT 21 - DOS 3.1+ network - SET PRINTER MODE
	AX = 5E04h
	BX = redirection list index (see AX=5F02h)
	DX = mode
	    bit 0: set if binary, clear if text (tabs expanded to blanks)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Notes:	calls INT 2F/AX=111Fh with 5E04h on stack
	supported by DR DOS 3.41+
SeeAlso: AX=5E05h"DOS",INT 2F/AX=111Fh

Top
215E04 - INT 21 - 10NET v5.0 - INITIATE PRINT JOB
INT 21 - 10NET v5.0 - INITIATE PRINT JOB
	AX = 5E04h
	BX = zero-based redirection list index (see AX=5F02h)
	DS:DX -> extended workstation printer setup structure (see #01698)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=5E05h"10NET",AX=5E06h"10NET"

Format of 10NET extended workstation printer setup structure:
Offset	Size	Description	(Table 01698)
 00h	BYTE	notification flags (see #01699)
 01h	BYTE	job control mask (see #01700)
 02h	WORD	days to retain file
 04h	WORD	test print length
 06h	BYTE	number of copies to print
 07h	BYTE	compression algorithm
 08h	BYTE	tab width (00h = don't expand)
 09h	BYTE	initiation type (00h normal, 01h non-spooled)
 0Ah 38 BYTEs	job start operation notification instructions
 30h 32 BYTEs	comment for job
 50h 64 BYTEs	output filename or non-spooled file

Bitfields for 10NET notification flags:
Bit(s)	Description	(Table 01699)
 0	user at print start
 1	operator at start, with reply
 2	user at print completion
 3	operator at completion, with reply
 4	user on queue switch
 5	operator on queue switch, with reply
 6	user on print error

Bitfields for 10NET job control mask:
Bit(s)	Description	(Table 01700)
 0	print banner page
 1	eject page at end of job
 2	mark as "held" (queue but don't print)
 3	rush job (queue at top)
 4	overwrite file with zeros before deletion
 5	hyperspool if possible

Top
215E05 - INT 21 - DOS 3.1+ network - GET PRINTER MODE
INT 21 - DOS 3.1+ network - GET PRINTER MODE
	AX = 5E05h
	BX = redirection list index (see AX=5F02h)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    DX = printer mode (see AX=5E04h)
Notes:	calls INT 2F/AX=111Fh with 5E05h on stack
	supported by DR DOS 3.41+
SeeAlso: AX=5E04h"DOS",INT 2F/AX=111Fh

Top
215E05 - INT 21 - 10NET v5.0 - TERMINATE PRINT JOB
INT 21 - 10NET v5.0 - TERMINATE PRINT JOB
	AX = 5E05h
	BX = zero-based redirection list index (see AX=5F02h)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Note:	this call resets the spool termination mode to "truncate"
	  (see AX=5D08h)
SeeAlso: AX=5E04h"10NET",AX=5E06h

Top
215E06 - INT 21 - 10NET v5.0 - GET/SET 10NET WORKSTATION PRINTER SETUP STRUCTURE
INT 21 - 10NET v5.0 - GET/SET 10NET WORKSTATION PRINTER SETUP STRUCTURE
	AX = 5E06h
	BX = zero-based redirection list index (see AX=5F02h)
	CX = operation (06h set, 07h get)
	DS:DX -> buffer for setup structure (same as first nine bytes of
		  workstation printer setup) (see #01698)
Return: CF clear if successful
	    DS:DX buffer updated on get
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=5E04h"10NET",AX=5E05h"10NET"

Top
215F00 - INT 21 - DOS 3.1+ network - GET REDIRECTION MODE
INT 21 - DOS 3.1+ network - GET REDIRECTION MODE
	AX = 5F00h
	BL = redirection type
	    03h printer
	    04h disk drive
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    BH = redirection state
		00h off
		01h on
Note:	calls INT 2F/AX=111Eh with AX on top of the stack
SeeAlso: AX=5F01h,INT 2F/AX=111Eh

Top
215F01 - INT 21 - DOS 3.1+ network - SET REDIRECTION MODE
INT 21 - DOS 3.1+ network - SET REDIRECTION MODE
	AX = 5F01h
	BL = redirection type
	    03h printer
	    04h disk drive
	BH = redirection state
	    00h off
	    01h on
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Notes:	when redirection is off, the local device (if any) rather than the
	  remote device is used
	calls INT 2F/AX=111Eh with AX on top of the stack
SeeAlso: AX=5F00h,INT 2F/AX=111Eh,INT 60/AX=0002h

Top
215F02 - INT 21 - DOS 3.1+ network - GET REDIRECTION LIST ENTRY
INT 21 - DOS 3.1+ network - GET REDIRECTION LIST ENTRY
	AX = 5F02h
	BX = zero-based redirection list index
	CX = driver signature
	    0000h LANtastic
	    4E57h ('NW') NetWare
	DS:SI -> 16-byte buffer for ASCIZ local device name or drive letter
		  followed by colon
	ES:DI -> 128-byte buffer for ASCIZ network name
Return: CF clear if successful
	    BH = device status
		00h valid
		01h invalid
		02h valid (connected from inside Windows for Workgroups v3.11)
	    BL = device type
		03h printer
		04h disk drive
	    CX = user data previously set with AX=5F03h
	    DS:SI and ES:DI buffers filled
	    DX,BP destroyed
	CF set on error
	    AX = error code (01h,12h) (see #01680 at AH=59h/BX=0000h)
Notes:	this function is passed through to INT 2F/AX=111Eh by the DOS kernel
	error code 12h is returned if BX is greater than the size of the list
	also supported by Banyan VINES, PC-NFS, LANtastic, and 10NET
	supported by LapLink RemoteAccess but returns the local drive letter;
	  the remote drive letter can be obtained with INT 2F/AX=Cxxxh
	  (see INT 2F/AX=C000h"LapLink")
	the returned device name may or may not include a colon, depending on
	  the network software
SeeAlso: AX=5F03h,AX=5F46h,INT 2F/AX=111Eh,INT 2F/AX=C000h"LapLink"

Top
215F03 - INT 21 - DOS 3.1+ network - REDIRECT DEVICE
INT 21 - DOS 3.1+ network - REDIRECT DEVICE
	AX = 5F03h
	BL = device type
	    03h printer
	    04h disk drive
	CX = user data to save
		0000h for LANtastic
		4E57h ("NW") for NetWare 4.0 requester
	DS:SI -> ASCIZ local device name (16 bytes max)
	ES:DI -> ASCIZ network name + ASCIZ password (128 bytes max total)
Return: CF clear if successful
	CF set on error
	    AX = error code (01h,03h,05h,08h,0Fh,12h) (see #01680 at AH=59h)
Notes:	if device type is disk drive, DS:SI must point at either a null string
	  or a string consisting the drive letter followed by a colon; if a
	  null string, the network attempts to access the destination without
	  redirecting a local drive
	the DOS kernel calls INT 2F/AX=111Eh with AX on top of the stack
	also supported by Banyan VINES, LANtastic, and 10NET
SeeAlso: AX=5F02h,AX=5F04h,INT 2F/AX=111Eh,INT 60/AX=0002h

Top
215F04 - INT 21 - DOS 3.1+ network - CANCEL REDIRECTION
INT 21 - DOS 3.1+ network - CANCEL REDIRECTION
	AX = 5F04h
	DS:SI -> ASCIZ local device name or path
	CX = 4E57h ("NW") for NetWare 4.0 requester
Return: CF clear if successful
	CF set on error
	    AX = error code (01h,03h,05h,08h,0Fh,12h) (see #01680 at AH=59h)
Notes:	the DS:SI string must be either a local device name, a drive letter
	  followed by a colon, or a network directory beginning with two
	  backslashes
	the DOS kernel calls INT 2F/AX=111Eh with AX on top of the stack
	also supported by Banyan VINES, LANtastic, and 10NET
	for NetWare, if only a server name is specified (i.e. "\\SERVER"),
	  the connection to that server will be closed
SeeAlso: AX=5F03h,INT 2F/AX=111Eh,INT 60/AX=0003h

Top
215F05 - INT 21 - DOS 4.0+ network - GET EXTENDED REDIRECTION LIST ENTRY
INT 21 - DOS 4.0+ network - GET EXTENDED REDIRECTION LIST ENTRY
	AX = 5F05h
	BX = redirection list index
	DS:SI -> buffer for ASCIZ source device name
	ES:DI -> buffer for destination ASCIZ network path
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = server's network process ID handle (10NET)
	    BH = device status flag (bit 0 clear if valid)
	    BL = device type (03h if printer, 04h if drive)
	    CX = stored parameter value (user data) from AX=5F03h
	    BP = NETBIOS local session number
	    DS:SI buffer filled
	    ES:DI buffer filled
Notes:	the local session number allows sharing the redirector's session number
	if an error is caused on the NETBIOS LSN, the redirector may be unable
	  to correctly recover from errors
	the DOS kernel calls INT 2F/AX=111Eh with AX on top of the stack
	supported by DR DOS 5.0
	also supported by 10NET v5.0
SeeAlso: AX=5F06h"Network",INT 2F/AX=111Eh

Top
215F05 - INT 21 - STARLITE architecture - MAP LOCAL DRIVE LETTER TO REMOTE FILE SYSTEM
INT 21 - STARLITE architecture - MAP LOCAL DRIVE LETTER TO REMOTE FILE SYSTEM
	AX = 5F05h
	DL = drive number (0=A:)
	DS:SI -> ASCIZ name of the object to map the drive to
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
SeeAlso: AX=5F06h"STARLITE",INT 60/AX=0002h

Top
215F06 - INT 21 U - Network - GET FULL REDIRECTION LIST
INT 21 U - Network - GET FULL REDIRECTION LIST
	AX = 5F06h
	???
Return: ???
Notes:	similar to AX=5F02h and AX=5F05h, but also returns redirections
	  excluded from those calls for various reasons
	calls INT 2F/AX=111Eh with AX on top of the stack
SeeAlso: AX=5F05h"DOS",INT 2F/AX=111Eh

Top
215F06 - INT 21 - STARLITE architecture - UNMAP DRIVE LETTER
INT 21 - STARLITE architecture - UNMAP DRIVE LETTER
	AX = 5F06h
	DL = drive to be unmapped (0=A:)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
SeeAlso: AX=5F05h"STARLITE",INT 60/AX=0003h

Top
215F07 - INT 21 - DOS 5+ - ENABLE DRIVE
INT 21 - DOS 5+ - ENABLE DRIVE
	AX = 5F07h
	DL = drive number (0=A:)
Return: CF clear if successful
	CF set on error
	    AX = error code (0Fh) (see #01680 at AH=59h/BX=0000h)
Notes:	simply sets the "valid" bit in the drive's CDS
	this function is not supported by Novell DOS 7 through at least
	  Update 4, but support was added by Update 13
SeeAlso: AH=52h,AX=5F08h"DOS"

Top
215F07 - INT 21 - STARLITE architecture - MAKE NAMED OBJECT AVAILABLE ON NETWORK
INT 21 - STARLITE architecture - MAKE NAMED OBJECT AVAILABLE ON NETWORK
	AX = 5F07h
	DS:SI -> ASCIZ name of object to offer to network
	ES:DI -> ASCIZ name under which object will be known on the network
		MUST begin with three slashes
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
SeeAlso: AX=5F08h"STARLITE"

Top
215F08 - INT 21 - DOS 5+ - DISABLE DRIVE
INT 21 - DOS 5+ - DISABLE DRIVE
	AX = 5F08h
	DL = drive number (0=A:)
Return: CF clear if successful
	CF set on error
	    AX = error code (0Fh) (see #01680 at AH=59h/BX=0000h)
Notes:	simply clears the "valid" bit in the drive's CDS
	this function is not supported by Novell DOS 7 through at least
	  Update 4, but support was added by Update 13
SeeAlso: AH=52h,AX=5F07h"DOS"

Top
215F08 - INT 21 - STARLITE architecture - REMOVE GLOBAL NETWORK NAME OF OBJECT
INT 21 - STARLITE architecture - REMOVE GLOBAL NETWORK NAME OF OBJECT
	AX = 5F08h
	DS:SI -> ASCIZ network name (not local name) of object to unshare
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
SeeAlso: AX=5F07h"STARLITE"

Top
215F09 - INT 21 - STARLITE architecture - BIND TO NETWORK DEVICE
INT 21 - STARLITE architecture - BIND TO NETWORK DEVICE
	AX = 5F09h
	DS:DX -> ASCIZ name of the device driver to attach to
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Note:	the STARLITE distributed file system can attach to multiple networks
	  simultaneously
SeeAlso: AX=5F0Ah

Top
215F0A - INT 21 - STARLITE architecture - DETACH FROM NETWORK DEVICE
INT 21 - STARLITE architecture - DETACH FROM NETWORK DEVICE
	AX = 5F0Ah
	DS:DX -> ASCIZ name of device driver to detach from
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
SeeAlso: AX=5F09h

Top
215F30 - INT 21 U - LAN Manager Enhanced DOS - GET REDIRECTOR VERSION
INT 21 U - LAN Manager Enhanced DOS - GET REDIRECTOR VERSION
	AX = 5F30h
Return: AX = version (AH=major,AL=minor)

Top
215F32 - INT 21 u - Named Pipes - LOCAL DosQNmPipeInfo
INT 21 u - Named Pipes - LOCAL DosQNmPipeInfo
	AX = 5F32h
	BX = handle
	CX = size of _PIPEINFO structure
	DX = level (must be 0001h)
	DS:SI -> _PIPEINFO structure (see #01701)
Return: CF clear if successful
	    _PIPEINFO structure filled in
	CF set on error
	    AX = error code
Note:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
SeeAlso: AX=5F33h,AX=5F34h

Format of Named Pipes _PIPEINFO structure:
Offset	Size	Description	(Table 01701)
 00h	WORD	size of outgoing buffer
 02h	WORD	size of incoming buffer
 04h	BYTE	maximum number of instances allowed
 05h	BYTE	current number of instances
 06h	BYTE	length of the name (including terminating NUL)
 07h  N BYTEs	name

Top
215F33 - INT 21 u - Named Pipes - LOCAL DosQNmPHandState
INT 21 u - Named Pipes - LOCAL DosQNmPHandState
	AX = 5F33h
	BX = handle
Return: CF clear if successful
	    AH = pipe mode bit mask (see #01702)
	    AL = maximum number of instances
	CF set on error
	    AX = error code
Note:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
SeeAlso: AX=5F32h,AX=5F34h

Bitfields for Named Pipes pipe mode:
Bit(s)	Description	(Table 01702)
 7	set if nonblocking, clear if blocking
 6	set if server end, clear if client end
 2	set if write in message mode, clear if write in byte mode
 0	set if read in message mode, clear if read in byte mode

Top
215F34 - INT 21 u - Named Pipes - LOCAL DosSetNmPHandState
INT 21 u - Named Pipes - LOCAL DosSetNmPHandState
	AX = 5F34h
	BX = handle
	CX = pipe mode bit mask
	    bit 15: set if nonblocking, clear if blocking
	    bit	 8: set if read in message mode, clear if read in byte mode
Return: CF clear if successful
	CF set if error
	    AX = error code
Note:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
SeeAlso: AX=5F32h,AX=5F33h,AX=5F36h

Top
215F35 - INT 21 u - Named Pipes - LOCAL DosPeekNmPipe
INT 21 u - Named Pipes - LOCAL DosPeekNmPipe
	AX = 5F35h
	BX = handle
	CX = buffer length
	DS:SI -> buffer
Return: CF set on error
	    AX = error code
	CF clear if successful (LAN Manager v1-v2)
	AX = 0000h if successful (LAN Manager 3.x)
	---if successful---
	    CX = bytes read
	    SI = bytes left in the pipe
	    DX = bytes left in the current message
	    AX = pipe status (v1-v2) (see #01703)
	    DI = pipe status (v3.x)
Note:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
SeeAlso: AX=5F38h,AX=5F39h,AX=5F51h

(Table 01703)
Values for pipe status:
 0001h	disconnected
 0002h	listening
 0003h	connected
 0004h	closing

Top
215F36 - INT 21 u - Named Pipes - LOCAL DosTransactNmPipe
INT 21 u - Named Pipes - LOCAL DosTransactNmPipe
	AX = 5F36h
	BX = handle
	CX = in buffer length
	DS:SI -> in buffer
	DX = out buffer length
	ES:DI -> out buffer
Return: CF clear if successful
	    CX = bytes read
	CF set on error
	    AX = error code
Note:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
SeeAlso: AX=5F34h,AX=5F37h

Top
215F37 - INT 21 u - Named Pipes - DosCallNmPipe
INT 21 u - Named Pipes - DosCallNmPipe
	AX = 5F37h
	DS:SI -> DosCallNmPipe stack frame (see #01704)
Return: CF clear if successful
	    CX = bytes read
	CF set on error
	    AX = error code
Note:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
SeeAlso: AX=5F36h,AX=5F38h

Format of Named Pipes DosCallNmPipe stack frame:
Offset	Size	Description	(Table 01704)
 00h	DWORD	timeout
 04h	DWORD	-> bytes read WORD (not used!)
 08h	WORD	out buffer length
 0Ah	DWORD	address of out buffer
 0Eh	WORD	in buffer length
 10h	DWORD	address of in buffer
 14h	DWORD	address of pipe name

Top
215F38 - INT 21 u - Named Pipes - LOCAL DosWaitNmPipe - AWAIT AVAIL. OF PIPE INSTANCE
INT 21 u - Named Pipes - LOCAL DosWaitNmPipe - AWAIT AVAIL. OF PIPE INSTANCE
	AX = 5F38h
	DS:DX -> pipe name
	BX:CX = timeout value
Return: CF clear if successful
	CF set if error
	    AX = error code
Notes:	when a client gets a return code of ERROR_PIPE_BUSY on attempting to
	  open a pipe, it should issue this call to wait until the pipe
	  instance becomes available again; on return from this call, the
	  client must attempt to open the pipe once again
	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
SeeAlso: AX=5F37h,AX=5F39h

Top
215F39 - INT 21 U - Named Pipes - LOCAL DosRawReadNmPipe
INT 21 U - Named Pipes - LOCAL DosRawReadNmPipe
	AX = 5F39h
	BX = handle
	CX = buffer length
	DS:DX -> buffer
Return: CF clear if successful
	    CX = bytes read
	CF set if error
	    AX = error code
Notes:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
	not documented in the LAN Manager Toolkit
SeeAlso: AX=5F35h,AX=5F3Ah,INT 2F/AX=1186h

Top
215F3A - INT 21 U - Named Pipes - LOCAL DosRawWriteNmPipe
INT 21 U - Named Pipes - LOCAL DosRawWriteNmPipe
	AX = 5F3Ah
	BX = handle
	CX = buffer length
	DS:DX -> buffer
Return: CF clear if successful
	    CX = bytes written
	CF set if error
	    AX = error code
Notes:	this function was introduced by LAN Manager but is also supported by
	  the Novell DOS Named Pipe Extender, Banyan VINES, OS/2 Virtual DOS
	  Machines, and others
	not documented in the LAN Manager Toolkit
SeeAlso: AX=5F39h,AX=5F3Bh,INT 2F/AX=118Fh

Top
215F3B - INT 21 u - LAN Manager Enhanced DOS - NetHandleSetInfo
INT 21 u - LAN Manager Enhanced DOS - NetHandleSetInfo
	AX = 5F3Bh
	BX = handle
	CX = handle_info_1 structure length or sizeof DWORD
	DI = parameter number to set
	    0000h all
	    0001h number of milliseconds
	    0002h number of characters
	DS:DX -> handle_info_1 structure (DI=0000h) (see #01705)
		or DWORD (DI=0001h or 0002h)
	SI = level of information (0001h)
Return: CF clear if successful
	    CX = total bytes available
	CF set if error
	    AX = error code
SeeAlso: AX=5F3Ch

Format of LAN Manager handle_info_1 structure:
Offset	Size	Description	(Table 01705)
 00h	DWORD	number of milliseconds which workstation collects data before
		  it sends the data to the named pipe
 04h	DWORD	number of characters which workstation collects before it
		  sends the data to the named pipe

Top
215F3C - INT 21 u - LAN Manager Enhanced DOS - NetHandleGetInfo
INT 21 u - LAN Manager Enhanced DOS - NetHandleGetInfo
	AX = 5F3Ch
	BX = handle
	CX = length of handle_info_1 structure
	DS:DX -> handle_info_1 structure (see #01705)
	SI = level of information (must be 0001h)
Return: CF clear if successful
	    CX = total bytes available
	CF set if error
	    AX = error code
SeeAlso: AX=5F3Bh

Top
215F3D - INT 21 U - LAN Manager Enhanced DOS - WRITE MAILSLOT???
INT 21 U - LAN Manager Enhanced DOS - WRITE MAILSLOT???
	AX = 5F3Dh
	???
Return: ???

Top
215F3E - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetSpecialSMB
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetSpecialSMB
	AX = 5F3Eh
	???
Return: ???
Note:	This function is not documented anywhere in the LAN Manager 2.x Toolkit
	  but was documented in LAN Manager 1.x manuals.

Top
215F3F - INT 21 U - LAN Manager Enhanced DOS - REMOTE API CALL
INT 21 U - LAN Manager Enhanced DOS - REMOTE API CALL
	AX = 5F3Fh
	CX = api number
	ES:DI -> data descriptor
	ES:SI -> parameter descriptor
	ES:DX -> auxiliary descriptor (if DX <> 0)
	???
Return: ???

Top
215F40 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetMessageBufferSend
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetMessageBufferSend
	AX = 5F40h
	DS:DX -> NetMessageBufferSend parameter structure (see #01706)
Return: AX = error code

Format of LAN Manager NetMessageBufferSend parameter structure:
Offset	Size	Description	(Table 01706)
 00h	DWORD	-> recipient name (name for specific user, name* for domain
		      wide name, * for broadcast)
 04h	DWORD	-> buffer
 08h	WORD	length of buffer

Top
215F41 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceEnum
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceEnum
	AX = 5F41h
	BL = level of detail (0000h, 0001h or 0002h)
	CX = buffer length
	ES:DI -> buffer of service_info_0, service_info_1, or service_info_2
		(see #01707,#01708,#01709)
Return: CF clear if successful
	    CX = entries read
	    DX = total available
	CF set on error
	    AX = error code

Format of LAN Manager service_info_0 structure:
Offset	Size	Description	(Table 01707)
 00h 16 BYTEs	name
SeeAlso: #01708,#01709

Format of service_info_1 structure:
Offset	Size	Description	(Table 01708)
 00h 16 BYTEs	name
 10h	WORD	status bitmask (see #01710)
 12h	DWORD	status code (see #01711)
		(also see Microsoft LAN Manager Programmer's Reference)
 16h	WORD	process id
SeeAlso: #01707,#01709

Format of service_info_2 structure:
Offset	Size	Description	(Table 01709)
 00h 16 BYTEs	name
 10h	WORD	status bitmask (see #01710)
 12h	DWORD	status code (see #01711)
 16h	WORD	process id
 18h 64 BYTEs	text
SeeAlso: #01707,#01708

Bitfields for LAN Manager status bitmask:
Bit(s)	Description	(Table 01710)
 0,1	00 uninstall
		01 install pending
		10 uninstall pending
		11 installed
 2,3	00 active
		01 Continue pending
		10 Pause pending
		11 paused
 4	uninstallable
 5	pausable
 8	disk redirector paused
 9	spooled device redirector paused (printing)
 10	communication device redirector paused

(Table 01711)
Values for LAN Manager status code:
 high word
    3051 Bad parameter value
    3052 A parameter is missing
    3053 An unknown parameter was specified
    3054 The resource is insufficient
    3055 Configuration is faulty
    3056 An MS-DOS or MS OS/2 error occured
    3057 An internal error occured
    3058 An ambiguous parameter name was given
    3059 A duplicate parameter exists
    3060 The service was terminated by NetSeviceControl when it did not respond
    3061 The service program file could not be executed
    3062 The subservice failed to start
    3063 There is a conflict in the value or use of these parameters
    3064 There is a problem with the file
 low word
    3070 There is insufficient memory
    3071 There is insufficeient disk space
    3072 Unable to create thread
    3073 Unable to create process
    3074 A security failure occured
    3075 There is bad or missing default path
    3076 Network software is not installed
    3077 Server software is not installed
    3078 The server could not access the UAS database
    3079 The action requires user-level security
    3080 The log directory is invalid
    3081 The LAN group specificed could not be used
    3082 The computername is being used as a message alias on another computer
    3083 The workstation failed to announce the servername
    3084 The user accounts system is not configured properly

Top
215F42 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceControl
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServiceControl
	AX = 5F42h
	DH = opcode
	    00h interrogate status
	    01h pause
	    02h continue
	    03h uninstall
	DL = argument
	    01h disk resource
	    02h print resource
	    04h communications resource (not implemented for DOS)
	ES:BX -> NetServiceControl parameter structure (see #01712)
Return: CF clear if successful
	CF set on error
	    AX = error code

Format of LAN Manager NetServiceControl parameter structure:
Offset	Size	Description	(Table 01712)
 00h	DWORD	-> service name
 04h	WORD	result buffer size
 06h	DWORD	-> result buffer as service_info_2 structure

Top
215F43 - INT 21 u - LAN Manager Enhanced DOS - LOCAL DosPrintJobGetId
INT 21 u - LAN Manager Enhanced DOS - LOCAL DosPrintJobGetId
	AX = 5F43h
	BX = handle of remote print job
	CX = size of PRIDINFO struture
	ES:DI -> PRIDINFO structure (see #01713)
Return: CF clear if successful
	    PRIDINFO filled in
	CF set on error
	    AX = error code

Format of LAN Manager PRIDINFO structure:
Offset	Size	Description	(Table 01713)
 00h	WORD	job id
 02h 16 BYTEs	server name
 12h 13 BYTEs	queue name
 1Fh  1 BYTE	pad

Top
215F44 - INT 21 - LAN Manager Enhanced DOS - LOCAL NetWkstaGetInfo
INT 21 - LAN Manager Enhanced DOS - LOCAL NetWkstaGetInfo
	AX = 5F44h
	BX = information level (00h, 01h, or 0Ah)
	CX = buffer size
	DX = 0000h
	ES:DI -> buffer in which to store info (see #01714,#01715,#01716),
	      including any returned strings
Return: AX = error code
	DX = amount of buffer required, unchanged if supplied buffer large
	      enough to hold data
SeeAlso: AX=5F45h,AX=5F49h

Format of LAN Manager wksta_info_0 structure:
Offset	Size	Description	(Table 01714)
 00h	WORD	 reserved (0)
 02h	DWORD	 reserved (0)
 06h	DWORD	 -> path to computer's LANMAN directory
 0Ah	DWORD	 -> computername of the workstation
 0Eh	DWORD	 -> username of user logged onto workstation
 12h	DWORD	 -> domain to which workstation belongs
 16h	WORD	 LAN Manager version number (2 bytes, Major, Minor)
 18h	DWORD	 reserved (0)
 1Ch	WORD	 number of seconds workstation waits for resource availability
 1Eh	DWORD	 delay (in millsecs) before sending data to resource
 22h	WORD	 reserved (0)
 24h	WORD	 reserved (0)
 26h	WORD	 ???
 28h	WORD	 number of seconds to maintain an inactive connection
 2Ah	WORD	 number of seconds an inactive search continues
 2Ch	WORD	 threads to dedicate to network (not supported in MSDOS)
 2Eh	WORD	 number of simultaneous commands sent to network
 30h	WORD	 reserved6 (must be 0)
 32h	WORD	 number of internal buffers
 34h	WORD	 size (in bytes) of each internal buffer
 36h	WORD	 max size (in bytes) of an internal cache buffer (not MSDOS)
 38h	WORD	 seconds before disconnecting inactive session (not MSDOS)
 3Ah	WORD	 size (in bytes) of an internal error buffer (not MSDOS)
 3Ch	WORD	 number of clients that can receive alert messages (not MSDOS)
 3Eh	WORD	 number of services that can be started on workstation
 40h	WORD	 max size (in kilobytes) of error log (not MSDOS)
 42h	WORD	 number of secs before closing inactive print jobs (not MSDOS)
 44h	WORD	 number of character buffers for workstation
 46h	WORD	 max size (in bytes) of character buffer
 48h	DWORD	 -> name of server that validated logon
 4Ch	DWORD	 -> workstation heuristics
 50h	WORD	 number of mailslots allowed
Note:	pointers to strings are set to 0000h:0000h if there is insufficient
	  space in the buffer to hold them
SeeAlso: #01715,#01716

Format of LAN Manager wksta_info_1 structure:
Offset	Size	Description	(Table 01715)
 00h 82 BYTEs	wksta_info_0 structure (see #01714)
 52h	DWORD	 -> name of domain which user is logged on to
 56h	DWORD	 -> all domains in which computer is enlisted
 5Ah	WORD	 number of buffers to allocate for receiving datagrams
SeeAlso: #01716

Format of LAN Manager wksta_info_10 structure:
Offset	Size	Description	(Table 01716)
 00h	DWORD	 -> computername of the workstation
 04h	DWORD	 -> username of user logged onto workstation
 08h	DWORD	 -> domain to which workstation belongs
 0Ch	WORD	 LAN Manager version number (2 bytes, Major, Minor)
 0Eh	DWORD	 -> name of domain which user is loggod on to
 12h	DWORD	 -> all domains in which computer is enlisted
Note:	pointers to strings are set to 0000h:0000h if there is insufficient
	  space in the buffer to hold them
SeeAlso: #01714,#01715

Top
215F45 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetWkstaSetInfo
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetWkstaSetInfo
	AX = 5F45h
	BX = level (0000h or 0001h)
	CX = buffer size
	DX = parameter to set
	ES:DI -> buffer
Return: CF clear if successful
	CF set if error
	    AX = error code
SeeAlso: AX=5F44h

Top
215F46 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseEnum
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseEnum
	AX = 5F46h
	BX = level (0000h or 0001h)
	CX = size of buffer
	ES:DI -> buffer of use_info_0 or use_info_1 structures
		  (see #01717,#01718)
Return: CF clear if successful
	    CX = entries read
	    DX = total available entries
	CF set if error
	    AX = error code
SeeAlso: AX=5F47h,AX=5F48h,AX=5F4Ch

Format of LAN Manager use_info_0 structure:
Offset	Size	Description	(Table 01717)
 00h  9 BYTEs	local device name
 09h	BYTE	padding
 0Ah	DWORD	-> remote device name in UNC form \\server\share
SeeAlso: #01718

Format of LAN Manager use_info_1 structure:
Offset	Size	Description	(Table 01718)
 00h  9 BYTEs	Local device name
 09h	BYTE	padding
 0Ah	DWORD	-> remote device name in UNC form \\server\share
 0Eh	DWORD	-> password
 12h	WORD	network link status
		(00h OK, 02h disconnected, else unsure)
 14h	WORD	use type (-1 wildcard, 0 disk, 1 print, 2 com, 3 ipc)
 16h	WORD	ignored
 18h	WORD	ignored
SeeAlso: #01717

Top
215F47 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseAdd
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseAdd
	AX = 5F47h
	BX = level (0001h)
	CX = size of use_info_1 structure
	ES:DI -> use_info_1 structure (see #01718)
Return: CF clear on success
	CF set on error
	    AX = error code
SeeAlso: AX=5F46h,AX=5F48h

Top
215F48 - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseDel
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetUseDel
	AX = 5F48h
	BX = force level
	    0000h no force
	    0001h force
	    0002h lots of force
	ES:DI -> buffer as either the local device name or UNC remote name
Return: CF clear on success
	CF set on error
	    AX = error code
SeeAlso: AX=5F46h,AX=5F48h,AX=5F49h

Top
215F49 - INT 21 u - LAN Manager Enhanced DOS - NetUseGetInfo
INT 21 u - LAN Manager Enhanced DOS - NetUseGetInfo
	AX = 5F49h
	DS:DX -> NetUseGetInfo parameter structure (see #01719)
Return: CF clear on success
	    DX = total available
	CF set on error
	    AX = error code
SeeAlso: AX=5F44h,AX=5F47h

Format of LAN Manager NetUseGetInfo parameter structure:
Offset	Size	Description	(Table 01719)
 00h	DWORD	pointer to either the local device name or UNC remote name
 04h	WORD	level of information (0000h or 0001h)
 06h	DWORD	pointer to buffer of use_info_0 or use_info_1 structures
 0Ah	WORD	length of buffer

Top
215F4A - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteCopy
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteCopy
	AX = 5F4Ah
	DS:DX -> NetRemoteCopy parameter structure (see #01720)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Bh

Format of LAN Manager NetRemoteCopy parameter structure:
Offset	Size	Description	(Table 01720)
 00h	DWORD	-> source name as UNC
 04h	DWORD	-> destination name as UNC
 08h	DWORD	-> source password
 0Ch	DWORD	-> destination password
 10h	WORD	destination open bitmap
		if destination path exists
		    0000h open fails
		    0001h file is appended
		    0002h file is overwritten
		if destination path doesn't exist
		    0000h open fails
		    0010h file is created
 12h	WORD	copy control bitmap (see #01721)
 14h	DWORD	-> copy_info buffer
 18h	WORD	length of copy_info buffer

Bitfields for LAN Manager copy control:
Bit(s)	Description	(Table 01721)
 0	destination must be a file
 1	destination must be a directory
 2	destination is opened in ascii mode instead of binary
 3	source is opened in ascii mode instead of binary
 4	verify all write operations

Top
215F4B - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteMove
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetRemoteMove
	AX = 5F4Bh
	DS:DX -> NetRemoteMove parameter structure (see #01722)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Ah

Format of LAN Manager NetRemoteMove parameter structure:
Offset	Size	Description	(Table 01722)
 00h	DWORD	-> source name as UNC
 04h	DWORD	-> destination name as UNC
 08h	DWORD	-> source password
 0Ch	DWORD	-> destination password
 10h	WORD	destination open bitmap
		if destination path exists
		    0000h open fails
		    0001h file is appended
		    0002h file is overwritten
		if destination path doesn't exist
		    0000h open fails
		    0010h file is created
 12h	WORD	move control bitmap
		    0001h destination must be a file
		    0002h destination must be a directory
 14h	DWORD	-> move_info buffer
 18h	WORD	length of move_info buffer

Top
215F4C - INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServerEnum
INT 21 u - LAN Manager Enhanced DOS - LOCAL NetServerEnum
	AX = 5F4Ch
	BX = level (0000h or 0001h)
	CX = buffer length
	ES:DI -> buffer in which to store information
Return: CF clear if successful
	    ES:DI -> server_info_X structures (depending on level)
		  (see #01723,#01724)
	    BX = entries read
	    CX = total entries available
	CF set on error
	    AX = error code
Notes:	this function is also supported by the Novell DOS Named Pipe Extender
	this function has been obseleted by NetServerEnum2
SeeAlso: AX=5F53h

Format of LAN Manager server_info_0 structure:
Offset	Size	Description	(Table 01723)
 00h 16 BYTEs	name
SeeAlso: #01724

Format of LAN Manager server_info_1 structure:
Offset	Size	Description	(Table 01724)
 00h 16 BYTEs	name
 10h	BYTE	major version in lower nibble
 11h	BYTE	minor version
 12h	DWORD	server type bitmask (see #01725)
 16h	DWORD	-> comment string
SeeAlso: #01723

Bitfields for LAN Manager server type:
Bit(s)	Description	(Table 01725)
 0	workstation
 1	server
 2	SQL server
 3	primary domain controller
 4	backup domain controller
 5	time server
 6	Apple File Protocol (AFP) server
 7	Novell server
 8	Domain Member (v2.1+)
 9	Print Queue server (v2.1+)
 10	Dialin server (v2.1+)
 11	Unix server (v2.1+)
Note:	set all (FFFFFFFFh) for All Types

Top
215F4D - INT 21 u - LAN Manager Enhanced DOS - DosMakeMailslot
INT 21 u - LAN Manager Enhanced DOS - DosMakeMailslot
	AX = 5F4Dh
	BX = message size
	CX = mailslot size (must be bigger than message size by at least 1)
			   (minimum 1000h, maximum FFF6h)
			   (buffer must be 9 bytes bigger than this)
	DS:SI -> name
	ES:DI -> memory buffer
Return: CF clear if successful
	    AX = handle
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Eh,AX=5F4Fh,AX=5F50h,AX=5F51h

Top
215F4E - INT 21 u - LAN Manager Enhanced DOS - DosDeleteMailslot
INT 21 u - LAN Manager Enhanced DOS - DosDeleteMailslot
	AX = 5F4Eh
	BX = handle
Return: CF clear if successful
	    ES:DI -> memory to be freed (allocated during DosMakeMailslot)
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Dh,AX=5F4Fh

Top
215F4F - INT 21 u - LAN Manager Enhanced DOS - DosMailslotInfo
INT 21 u - LAN Manager Enhanced DOS - DosMailslotInfo
	AX = 5F4Fh
	BX = handle
Return: CF clear if successful
	    AX = max message size
	    BX = mailslot size
	    CX = next message size
	    DX = next message priority
	    SI = number of messages waiting
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Dh,AX=5F4Eh,AX=5F50h

Top
215F50 - INT 21 u - LAN Manager Enhanced DOS - DosReadMailslot
INT 21 u - LAN Manager Enhanced DOS - DosReadMailslot
	AX = 5F50h
	BX = handle
	DX:CX = timeout
	ES:DI -> buffer
Return: CF clear if successful
	    AX = bytes read
	    CX = next item's size
	    DX = next item's priority
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Dh,AX=5F4Fh,AX=5F51h,AX=5F52h

Top
215F51 - INT 21 u - LAN Manager Enhanced DOS - DosPeekMailslot
INT 21 u - LAN Manager Enhanced DOS - DosPeekMailslot
	AX = 5F51h
	BX = handle
	ES:DI -> buffer
Return: CF clear if successful
	    AX = bytes read
	    CX = next item's size
	    DX = next item's priority
	CF set on error
	    AX = error code
SeeAlso: AX=5F35h,AX=5F4Fh,AX=5F50h,AX=5F52h

Top
215F52 - INT 21 u - LAN Manager Enhanced DOS - DosWriteMailslot
INT 21 u - LAN Manager Enhanced DOS - DosWriteMailslot
	AX = 5F52h
	BX = class
	CX = length of buffer
	DX = priority
	ES:DI -> DosWriteMailslot parameter structure (see #01726)
	DS:SI -> mailslot name
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Fh,AX=5F50h,AX=5F51h

Format of LAN Manager DosWriteMailslot parameter structure:
Offset	Size	Description	(Table 01726)
 00h	DWORD	timeout
 04h	DWORD	-> buffer

Top
215F53 - INT 21 u - LAN Manager Enhanced DOS - NetServerEnum2
INT 21 u - LAN Manager Enhanced DOS - NetServerEnum2
	AX = 5F53h
	DS:SI -> NetServerEnum2 parameter structure (see #01727)
Return: CF clear if successful
	    BX = entries read
	    CX = total entries available
	CF set on error
	    AX = error code
SeeAlso: AX=5F4Ch

Format of LAN Manager NetServerEnum2 parameter structure:
Offset	Size	Description	(Table 01727)
 00h	WORD	level (0000h or 0001h)
 02h	DWORD	-> buffer as array of server_info_??? structures (see #01723)
 06h	WORD	length of buffer
 08h	DWORD	server type bitmask (see #01725)
 0Ch	DWORD	-> Domain name (may be 0000h:0000h for all local domains)

Top
215F55 - INT 21 U - LAN Manager Enhanced DOS - KILL ALL CONNECTIONS???
INT 21 U - LAN Manager Enhanced DOS - KILL ALL CONNECTIONS???
	AX = 5F55h
	BX = ???
Return: CF clear if successful
	CF set on error
	    AX = error code

Top
215F80 - INT 21 - LANtastic - GET LOGIN ENTRY
INT 21 - LANtastic - GET LOGIN ENTRY
	AX = 5F80h
	BX = login entry index (0-based)
	ES:DI -> 16-byte buffer for machine name
Return: CF clear if successful
	    buffer filled with machine name ("\\" prefix removed)
	    DL = adapter number (v3+)
	CF set on error
	    AX = error code
Note:	the login entry index corresponds to the value BX used in AX=5F83h
SeeAlso: AX=5F83h

Top
215F81 - INT 21 - LANtastic - LOGIN TO SERVER
INT 21 - LANtastic - LOGIN TO SERVER
	AX = 5F81h
	ES:DI -> ASCIZ login path followed immediately by ASCIZ password
	BL = adapter number
	    FFh try all valid adapters
	    00h-07h try only specified adapter
Return: CF clear if successful
	CF set on error
	    AX = error code
Notes:	login path is of form "\\machine\username"
	if no password is used, the string at ES:DI must be terminated with
	  three NULs for compatibility with LANtastic v3.0.
SeeAlso: AX=5F82h,AX=5F84h

Top
215F82 - INT 21 - LANtastic - LOGOUT FROM SERVER
INT 21 - LANtastic - LOGOUT FROM SERVER
	AX = 5F82h
	ES:DI -> ASCIZ server name (in form "\\machine")
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5F81h,AX=5F88h,AX=5FCBh

Top
215F83 - INT 21 - LANtastic - GET USERNAME ENTRY
INT 21 - LANtastic - GET USERNAME ENTRY
	AX = 5F83h
	BX = login entry index (0-based)
	ES:DI -> 16-byte buffer for username currently logged into
Return: CF clear if successful
	    DL = adapter number (v3+)
	CF set on error
	    AX = error code
Note:	the login entry index corresponds to the value BX used in AX=5F80h
SeeAlso: AX=5F80h

Top
215F84 - INT 21 - LANtastic - GET INACTIVE SERVER ENTRY
INT 21 - LANtastic - GET INACTIVE SERVER ENTRY
	AX = 5F84h
	BX = server index not currently logged into
	ES:DI -> 16-byte buffer for server name which is available for logging
		in to ("\\" prefix omitted)
Return: CF clear if successful
	    DL = adapter number to non-logged in server is on
	CF set on error
	    AX = error code
SeeAlso: AX=5F81h

Top
215F85 - INT 21 - LANtastic - CHANGE PASSWORD
INT 21 - LANtastic - CHANGE PASSWORD
	AX = 5F85h
	ES:DI -> buffer containing "\\machine\oldpassword" 00h "newpassword"00h
Return: CF clear if successful
	CF set on error
	    AX = error code
Notes:	must be logged into the named machine
	this function is illegal for group accounts

Top
215F86 - INT 21 - LANtastic - DISABLE ACCOUNT
INT 21 - LANtastic - DISABLE ACCOUNT
	AX = 5F86h
	ES:DI -> ASCIZ machine name and password in form "\\machine\password"
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	must be logged into the named machine and concurrent logins set to 1
	  by NET_MGR.  Requires system manager to re-enable account.

Top
215F87 - INT 21 - LANtastic v3+ - GET ACCOUNT
INT 21 - LANtastic v3+ - GET ACCOUNT
	AX = 5F87h
	DS:SI -> 128-byte buffer for account information (see #01728)
	ES:DI -> ASCIZ machine name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
	BX destroyed
Note:	must be logged into the specified machine

Format of LANtastic user account structure:
Offset	Size	Description	(Table 01728)
 00h 16 BYTEs	blank-padded username (zero-padded for v4.x)
 10h 16 BYTEs	reserved (00h)
 20h 32 BYTEs	user description
 40h	BYTE	privilege bits (see #01729)
 41h	BYTE	maximum concurrent users
 42h 42 BYTEs	bit map for disallowed half hours, beginning on Sunday
		(bit set if half-hour not an allowed time)
 6Ch	WORD	internal (0002h)
 6Eh  2 WORDs	last login time
 72h  2 WORDs	account expiration date (MS-DOS-format year/month:day)
 76h  2 WORDs	password expiration date (0 = none)
 7Ah	BYTE	number of days to extend password after change (1-31)
		00h if no extension required
---v3.x---
 7Bh  5 BYTEs	reserved
---v4.x---
 7Bh	BYTE	storage for first letter of user name when deleted (first
		  character is changed to 00h when deleting account)
 7Ch	BYTE	extended privileges
 7Dh  3 BYTEs	reserved

Bitfields for LANtastic privilege bits:
Bit(s)	Description	(Table 01729)
 7	bypass access control lists
 6	bypass queue protection
 5	treat as local process
 4	bypass mail protection
 3	allow audit entry creation
 2	system manager
 0	user cannot change password

Top
215F88 - INT 21 - LANtastic v4.0+ - LOGOUT FROM ALL SERVERS
INT 21 - LANtastic v4.0+ - LOGOUT FROM ALL SERVERS
	AX = 5F88h
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5F82h

Top
215F97 - INT 21 - LANtastic - COPY FILE
INT 21 - LANtastic - COPY FILE
	AX = 5F97h
	CX:DX = number of bytes to copy (FFFFFFFFh = entire file)
	SI = source file handle
	DI = destination file handle
Return: CF clear if successful
	    DX:AX = number of bytes copied
	CF set on error
	    AX = error code
Note:	copy is performed by server

Top
215F98 - INT 21 - LANtastic - SEND UNSOLICITED MESSAGE
INT 21 - LANtastic - SEND UNSOLICITED MESSAGE
	AX = 5F98h
	DS:SI -> message buffer (see #01730)
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	v4.1- return no errors
SeeAlso: AX=5F99h

Format of LANtastic message buffer:
Offset	Size	Description	(Table 01730)
 00h	BYTE	reserved
 01h	BYTE	message type
		00h general
		01h server warning
		02h-7Fh reserved
		80h-FFh user-defined
 02h 16 BYTEs	ASCIZ destination machine name
 12h 16 BYTEs	ASCIZ server name which user must be logged into
 22h 16 BYTEs	ASCIZ user name
 32h 16 BYTEs	ASCIZ originating machine name (filled in when received)
 42h 80 BYTEs	message text

Top
215F99 - INT 21 - LANtastic - GET LAST RECEIVED UNSOLICITED MESSAGE
INT 21 - LANtastic - GET LAST RECEIVED UNSOLICITED MESSAGE
	AX = 5F99h
	ES:DI -> messsage buffer (see #01730)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5F98h

Top
215F9A - INT 21 - LANtastic - GET MESSAGE PROCESSING FLAGS
INT 21 - LANtastic - GET MESSAGE PROCESSING FLAGS
	AX = 5F9Ah
Return: CF clear if successful
	    DL = bits describing processing of received messages (see #01731)
	CF set on error
	    AX = error code
SeeAlso: AX=5F9Bh,AX=5F9Ch,AX=5F9Dh

Bitfields for unsolicited message processing flags:
Bit(s)	Description	(Table 01731)
 0	beep before message is delivered
 1	deliver message to message service
 2	pop up message automatically (v3+)

Top
215F9B - INT 21 - LANtastic - SET MESSAGE PROCESSING FLAGS
INT 21 - LANtastic - SET MESSAGE PROCESSING FLAGS
	AX = 5F9Bh
	DL = bits describing processing for received unsolicited messages
	     (see #01731)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5F9Ah,AX=5F9Eh

Top
215F9C - INT 21 - LANtastic v3+ - POP UP LAST RECEIVED MESSAGE
INT 21 - LANtastic v3+ - POP UP LAST RECEIVED MESSAGE
	AX = 5F9Ch
	CX = time to leave on screen in clock ticks
	DH = 0-based screen line on which to place message
Return: CF clear if successful
	CF set on error
	    AX = error code (0Bh)
Notes:	the original screen contents are restored when the message is removed
	the message will not appear, and an error will be returned, if the
	  screen is in a graphics mode
SeeAlso: AX=5F9Ah

Top
215F9D - INT 21 - LANtastic v4.1+ - GET REDIRECTOR CONTROL BITS
INT 21 - LANtastic v4.1+ - GET REDIRECTOR CONTROL BITS
	AX = 5F9Dh
Return: DL = redirector control bits
		bit 7: set to notify on print job completion
SeeAlso: AX=5F9Ah,AX=5F9Eh

Top
215F9E - INT 21 - LANtastic v4.1+ - SET REDIRECTOR CONTROL BITS
INT 21 - LANtastic v4.1+ - SET REDIRECTOR CONTROL BITS
	AX = 5F9Eh
	DL = redirector control bits (see AX=5F9Dh)
Return: nothing
SeeAlso: AX=5F9Bh,AX=5F9Dh

Top
215FA0 - INT 21 - LANtastic - GET QUEUE ENTRY
INT 21 - LANtastic - GET QUEUE ENTRY
	AX = 5FA0h
	BX = queue entry index (0000h is first entry)
	DS:SI -> buffer for queue entry (see #01732)
	ES:DI -> ASCIZ server name in form "\\name"
Return: CF clear if successful
	CF set on error
	    AX = error code
	BX = entry index for next queue entry (BX-1 is current index)
SeeAlso: AX=5FA1h,AX=5FA2h

Format of LANtastic queue entry:
Offset	Size	Description	(Table 01732)
 00h	BYTE	status of entry (see #01733)
 01h	DWORD	size of spooled file
 05h	BYTE	type of entry (see #01734)
 06h	BYTE	output control (see #01735)
 07h	WORD	number of copies
 09h	DWORD	sequence number of queue entry
 0Dh 48 BYTEs	pathname of spooled file
 3Dh 16 BYTEs	user who spooled file
 4Dh 16 BYTEs	name of machine from which file was spooled
 5Dh	WORD	date file was spooled (see #01666 at AX=5700h)
 5Fh	WORD	time file was spooled (see #01665 at AX=5700h)
 61h 17 BYTEs	ASCIZ destination device or user name
 72h 48 BYTEs	comment field

(Table 01733)
Values for status of LANtastic queue entry:
 00h	empty
 01h	being updated
 02h	being held
 03h	waiting for despool
 04h	being despooled
 05h	canceled
 06h	spooled file could not be accessed
 07h	destination could not be accessed
 08h	rush job

(Table 01734)
Values for type of LANtastic queue entry:
 00h	printer queue file
 01h	message
 02h	local file
 03h	remote file
 04h	to remote modem
 05h	batch processor file

Bitfields for output control:
Bit(s)	Description	(Table 01735)
 6	don't delete (for mail)
 5	mail file contains voice mail (v3+)
 4	mail message has been read
 3	response has been requested for this mail

Top
215FA1 - INT 21 - LANtastic - SET QUEUE ENTRY
INT 21 - LANtastic - SET QUEUE ENTRY
	AX = 5FA1h
	BX = handle of opened queue entry
	DS:SI -> queue entry (see #01732)
Return: CF clear if successful
	CF set on error
	    AX = error code
Notes:	the only queue entry fields which may be changed are output control,
	  number of copies, destination device, and comment
	the handle in BX is that from a create or open (INT 21/AH=3Ch,3Dh)
	  call on the file "\\server\\@MAIL" or "\\server\@name" (for
	  printer queue entries)
SeeAlso: AX=5FA0h,AX=5FA2h,AX=5FA9h

Top
215FA2 - INT 21 - LANtastic - CONTROL QUEUE
INT 21 - LANtastic - CONTROL QUEUE
	AX = 5FA2h
	BL = control command
	    00h start despooling (privileged)
	    01h halt despooling (privileged)
	    02h halt despooling at end of job (privileged)
	    03h pause despooler at end of job (privileged)
	    04h print single job (privileged)
	    05h restart current job (privileged)
	    06h cancel the current job
	    07h hold queue entry
	    08h release a held queue entry
	    09h make queue entry a rushed job (privileged)
	CX:DX = sequence number to control (commands 06h-09h)
	DX = physical printer number (commands 00h-05h)
	    00h-02h LPT1-LPT3
	    03h,04h COM1,COM2
	    other	all printers
	ES:DI -> ASCIZ server name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code

Top
215FA3 - INT 21 - LANtastic v3+ - GET PRINTER STATUS
INT 21 - LANtastic v3+ - GET PRINTER STATUS
	AX = 5FA3h
	BX = physical printer number (00h-02h = LPT1-LPT3, 03h-04h = COM1-COM2)
	DS:SI -> buffer for printer status (see #01736)
	ES:DI -> ASCIZ server name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
	BX = next physical printer number
Note:	you must be logged in to the specified server

Format of LANtastic printer status:
Offset	Size	Description	(Table 01736)
 00h	BYTE	printer state (see #01737)
 01h	WORD	queue index of print job being despooled
		FFFFh if not despooling--ignore all following fields
 03h	WORD	actual characters per second being output
 05h	DWORD	number of characters actually output so far
 09h	DWORD	number of bytes read from spooled file so far
 0Dh	WORD	copies remaining to print

Bitfields for LANtastic printer state:
Bit(s)	Description	(Table 01737)
 7	printer paused
 0-6	0 printer disabled
	1 will stop at end of job
	2 print multiple jobs

Top
215FA4 - INT 21 - LANtastic v3+ - GET STREAM INFO
INT 21 - LANtastic v3+ - GET STREAM INFO
	AX = 5FA4h
	BX = 0-based stream index number
	DS:SI -> buffer for stream information (see #01738)
	ES:DI -> ASCIZ machine name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
	BX = next stream number
SeeAlso: AX=5FA5h

Format of LANtastic stream information:
Offset	Size	Description	(Table 01738)
 00h	BYTE	queueing of jobs for logical printer (0=disabled,other=enabled)
 01h 11 BYTEs	logical printer resource template (may contain ? wildcards)

Top
215FA5 - INT 21 - LANtastic v3+ - SET STREAM INFO
INT 21 - LANtastic v3+ - SET STREAM INFO
	AX = 5FA5h
	BX = 0-based stream index number
	DS:SI -> buffer containing stream information (see #01738)
	ES:DI -> ASCIZ machine name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5FA4h

Top
215FA7 - INT 21 - LANtastic - CREATE USER AUDIT ENTRY
INT 21 - LANtastic - CREATE USER AUDIT ENTRY
	AX = 5FA7h
	DS:DX -> ASCIZ reason code (max 8 bytes)
	DS:SI -> ASCIZ variable reason string (max 128 bytes)
	ES:DI -> ASCIZ machine name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	you must be logged in to the specified server and have the "U"
	  privilege to execute this call

Top
215FA9 - INT 21 - LANtastic v4.1+ - SET EXTENDED QUEUE ENTRY
INT 21 - LANtastic v4.1+ - SET EXTENDED QUEUE ENTRY
	AX = 5FA9h
	BX = handle of opened queue entry
	DS:SI -> queue entry (see #01732)
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	functions exactly the same as AX=5FA1h except the spooled filename is
	  also set.  This call supports direct despooling.
SeeAlso: AX=5FA1h

Top
215FB0 - INT 21 - LANtastic - GET ACTIVE USER INFORMATION
INT 21 - LANtastic - GET ACTIVE USER INFORMATION
	AX = 5FB0h
	BX = server login entry index
	DS:SI -> buffer for active user entry (see #01739)
	ES:DI -> ASCIZ machine name in form "\\server"
Return: CF clear if successful
	CF set on error
	    AX = error code
	BX = next login index
SeeAlso: AX=5FB2h

Format of LANtastic active user entry:
Offset	Size	Description	(Table 01739)
 00h	WORD	virtual circuit number
 02h	BYTE	login state (see #01740)
 03h	BYTE	last command issued (see #01741)
 04h  5 BYTEs	number of I/O bytes (40-bit unsigned number)
 09h  3 BYTEs	number of server requests (24-bit unsigned)
 0Ch 16 BYTEs	name of user who is logged in
 1Ch 16 BYTEs	name of remote logged in machine
 2Ch	BYTE	extended privileges (v4+???)
		bit 0: user cannot change his password
 2Dh	WORD	time left in minutes (0000h = unlimited) (v4+???)

Bitfields for login state:
Bit(s)	Description	(Table 01740)
 0	fully logged in
 1	remote program load login
 2	user has system manager privileges
 3	user can create audit entries
 4	bypass mail protection
 5	treat as local process
 6	bypass queue protection
 7	bypass access control lists

(Table 01741)
Values for last LANtastic command:
 00h	login
 01h	process termination
 02h	open file
 03h	close file
 04h	create file
 05h	create new file
 06h	create unique file
 07h	commit data to disk
 08h	read file
 09h	write file
 0Ah	delete file
 0Bh	set file attributes
 0Ch	lock byte range
 0Dh	unlock byte range
 0Eh	create subdirectory
 0Fh	remove subdirectory
 10h	rename file
 11h	find first matching file
 12h	find next matching file
 13h	get disk free space
 14h	get a queue entry
 15h	set a queue entry
 16h	control the queue
 17h	return login information
 18h	return link description
 19h	seek on file
 1Ah	get server's time
 1Bh	create audit entry
 1Ch	open file in multitude of modes
 1Dh	change password
 1Eh	disable account
 1Fh	local server file copy
---v3+---
 20h	get username from account file
 21h	translate server's logical path
 22h	make indirect file
 23h	get indirect file contents
 24h	get physical printer status
 25h	get logical print stream info
 26h	set logical print stream info
 27h	get user's account record
---v4+---
 28h	request server shutdown
 29h	cancel server shutdown
 2Ah	stuff server's keyboard
 2Bh	write then commit data to disk
 2Ch	set extended queue entry
 2Dh	terminate user from server
 2Eh	enable/disable logins
 2Fh	flush server caches
 30h	change username
 31h	get extended queue entry
	(same as get queue, but can return named fields blanked)

Top
215FB1 - INT 21 - LANtastic - GET SHARED DIRECTORY INFORMATION
INT 21 - LANtastic - GET SHARED DIRECTORY INFORMATION
	AX = 5FB1h
	DS:SI -> 64-byte buffer for link description
	ES:DI -> ASCIZ machine and shared directory name in form
		 "\\machine\shared-resource"
Return: CF clear if successful
	    CX = access control list privileges for requesting user (see #01742)
	CF set on error
	    AX = error code

Bitfields for LANtastic access control list:
Bit(s)	Description	(Table 01742)
 4	(I) allow expansion of indirect files
 5	(A) allow attribute changing
 6	(P) allow physical access to device
 7	(E) allow program execution
 8	(N) allow file renaming
 9	(K) allow directory deletion
 10	(D) allow file deletion
 11	(L) allow file/directory lookups
 12	(M) allow directory creation
 13	(C) allow file creation
 14	(W) allow open for write and writing
 15	(R) allow open for read and reading

Top
215FB2 - INT 21 - LANtastic v3+ - GET USERNAME FROM ACCOUNT FILE
INT 21 - LANtastic v3+ - GET USERNAME FROM ACCOUNT FILE
	AX = 5FB2h
	BX = username entry index (0 for first)
	DS:SI -> 16-byte buffer for username
	ES:DI -> ASCIZ server name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
	BX = next queue entry index
SeeAlso: AX=5FB0h

Top
215FB3 - INT 21 - LANtastic v3+ - TRANSLATE PATH
INT 21 - LANtastic v3+ - TRANSLATE PATH
	AX = 5FB3h
	DS:SI -> 128-byte buffer for ASCIZ result
	ES:DI -> full ASCIZ path, including server name
	DX = types of translation to be performed
	    bit 0: expand last component as indirect file
	    bit 1: return actual path relative to server's physical disk
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	always expands any indirect files along the path
SeeALso: AX=5FB4h,INT 21/AH=60h

Top
215FB4 - INT 21 - LANtastic v3+ - CREATE INDIRECT FILE
INT 21 - LANtastic v3+ - CREATE INDIRECT FILE
	AX = 5FB4h
	DS:SI -> 128-byte buffer containing ASCIZ contents of indirect file
	ES:DI -> full ASCIZ path of indirect file to create, incl machine name
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	the contents of the indirect file may be any valid server-relative path
SeeAlso: AX=5FB3h,AX=5FB5h

Top
215FB5 - INT 21 - LANtastic v3+ - GET INDIRECT FILE CONTENTS
INT 21 - LANtastic v3+ - GET INDIRECT FILE CONTENTS
	AX = 5FB5h
	DS:SI -> 128-byte buffer for ASCIZ indirect file contents
	ES:DI -> full ASCIZ path of indirect file
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5FB4h

Top
215FB6 - INT 21 - LANtastic v4.1+ - SET AUTO-LOGIN DEFAULTS
INT 21 - LANtastic v4.1+ - SET AUTO-LOGIN DEFAULTS
	AX = 5FB6h
	ES:DI -> pointer to ASCIZ default user name, immediately followed by
		ASCIZ password
	BL = adapter number to use for default login attempt
	    FFh try all valid adapters
	    00h-05h try adapter 0-5 explicitly
Return: CF clear if successful
	CF set on error
	    AX = error code
Notes:	call with ES:DI -> two nulls to disable auto-login
SeeAlso: AX=5FB7h

Top
215FB7 - INT 21 - LANtastic v4.1+ - GET AUTO-LOGIN DEFAULTS
INT 21 - LANtastic v4.1+ - GET AUTO-LOGIN DEFAULTS
	AX = 5FB7h
	ES:DI -> pointer to 16-byte buffer to store ASCIZ auto-login user name
Return: CF clear if successful
	    DL = adapter number used for default login attempt
		FFh all valid adapters will be tried
		00h-05h specified adapter will be tried explicitly
	CF set on error
	    AX = error code
SeeAlso: AX=5F81h,AX=5FB6h

Top
215FC0 - INT 21 - LANtastic - GET TIME FROM SERVER
INT 21 - LANtastic - GET TIME FROM SERVER
	AX = 5FC0h
	DS:SI -> time block (see #01743)
	ES:DI -> ASCIZ server name to get time from
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AH=E7h"Novell"

Format of LANtastic time block:
Offset	Size	Description	(Table 01743)
 00h	WORD	year
 02h	BYTE	day
 03h	BYTE	month
 04h	BYTE	minutes
 05h	BYTE	hour
 06h	BYTE	hundredths of second
 07h	BYTE	second

Top
215FC8 - INT 21 - LANtastic v4.0+ - SCHEDULE SERVER SHUTDOWN
INT 21 - LANtastic v4.0+ - SCHEDULE SERVER SHUTDOWN
	AX = 5FC8h
	ES:DI -> ASCIZ server name in form "\\machine"
	DS:SI -> ASCIZ reason string (80 characters)
	CX = number of minutes until shutdown (0 = immediate)
	DX = option flags (see #01744)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5FC9h

Bitfields for LANtastic option flags:
Bit(s)	Description	(Table 01744)
 0	auto reboot
 1	do not notify users
 2	halt after shutdown
 3	shutdown due to power fail (used by UPS)
 4-7	reserved
 8-14	user definable
 15	reserved

Top
215FC9 - INT 21 - LANtastic v4.0+ - CANCEL SERVER SHUTDOWN
INT 21 - LANtastic v4.0+ - CANCEL SERVER SHUTDOWN
	AX = 5FC9h
	ES:DI -> ASCIZ server name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	you must have the "S" privilege to use this call
SeeAlso: AX=5FC8h

Top
215FCA - INT 21 - LANtastic v4.0+ - STUFF SERVER KEYBOARD BUFFER
INT 21 - LANtastic v4.0+ - STUFF SERVER KEYBOARD BUFFER
	AX = 5FCAh
	ES:DI -> ASCIZ server name in form "\\machine"
	DS:SI -> ASCIZ string to stuff (128 bytes)
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	you must have the "S" privilege to use this call
	maximum number of characters that can be stuffed is determined by the
	  server's RUN BUFFER SIZE.
SeeAlso: INT 16/AH=05h

Top
215FCB - INT 21 - LANtastic v4.1+ - TERMINATE USER
INT 21 - LANtastic v4.1+ - TERMINATE USER
	AX = 5FCBh
	ES:DI -> ASCIZ server name in form "\\machine"
	DS:SI -> blank-padded username.	 A null char = wildcard.
	DS:DX -> blank-padded machine name.  A null char = wildcard.
	CX = minutes until termination (0 = immediate)
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	you must have the "S" privilege to use this call
	you cannot log yourself out using this call
SeeAlso: AX=5F82h

Top
215FCC - INT 21 - LANtastic v4.1+ - GET/SET SERVER CONTROL BITS
INT 21 - LANtastic v4.1+ - GET/SET SERVER CONTROL BITS
	AX = 5FCCh
	ES:DI -> ASCIZ server name in form "\\machine"
	CX = bit values (value of bits you want to set) (see #01745)
	DX = bit mask (bits you are interested in, 0 = get only) (see #01745)
Return: CF clear if successful
	    CX = control bits after call (see #01745)
	CF set on error
	    AX = error code
Note:	you must have the "S" privilege to SET, anyone can GET.

Bitfields for control bits:
Bit(s)	Description	(Table 01745)
 0	disable logins

Top
215FCD - INT 21 - LANtastic v4.1+ - FLUSH SERVER CACHES
INT 21 - LANtastic v4.1+ - FLUSH SERVER CACHES
	AX = 5FCDh
	ES:DI -> ASCIZ server name in form "\\machine"
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	you must have the "S" privilege to use this call.

Top
215FD0 - INT 21 - LANtastic - GET REDIRECTED PRINTER TIMEOUT
INT 21 - LANtastic - GET REDIRECTED PRINTER TIMEOUT
	AX = 5FD0h
Return: CF clear if successful
	    CX = redirected printer timeout in clock ticks of 55ms
		0000h if timeout disabled
	CF set on error
	    AX = error code
SeeAlso: AX=5FD1h

Top
215FD1 - INT 21 - LANtastic - SET REDIRECTED PRINTER TIMEOUT
INT 21 - LANtastic - SET REDIRECTED PRINTER TIMEOUT
	AX = 5FD1h
	CX = printer timeout in clock ticks of 55ms, 0000h to disable timeouts
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5FD0h

Top
215FE0 - INT 21 C - LANtastic - GET DOS SERVICE VECTOR
INT 21 C - LANtastic - GET DOS SERVICE VECTOR
	AX = 5FE0h
Return: CF clear if successful
	    ES:BX -> current FAR service routine
	CF set on error
	    AX = error code
Note:	the service routine is called by the LANtastic redirector whenever DOS
	  may safely be called, permitting external TSRs and drivers to hook
	  into LANtastic's DOS busy flag checking
SeeAlso: AX=5FE1h,INT 28,INT 2A/AH=84h

Top
215FE1 - INT 21 - LANtastic - SET DOS SERVICE VECTOR
INT 21 - LANtastic - SET DOS SERVICE VECTOR
	AX = 5FE1h
	ES:BX -> FAR routine to call when DOS services are available
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	new handler must chain to previous handler as its first action
SeeAlso: AX=5FE0h

Top
215FE2 - INT 21 - LANtastic - GET MESSAGE SERVICE VECTOR
INT 21 - LANtastic - GET MESSAGE SERVICE VECTOR
	AX = 5FE2h
Return: CF clear if successful
	    ES:BX -> current FAR message service routine
	CF set on error
	    AX = error code
SeeAlso: AX=5FE0h,AX=5FE3h

Top
215FE3 - INT 21 - LANtastic - SET MESSAGE SERVICE VECTOR
INT 21 - LANtastic - SET MESSAGE SERVICE VECTOR
	AX = 5FE3h
	ES:BX -> FAR routine for processing network messages
Return: CF clear if successful
	CF set on error
	    AX = error code
Notes:	handler must chain to previous handler as its first action
	on invocation, ES:BX -> just-received message
SeeAlso: AX=5FE2h

Top
2160 - INT 21 - DOS 3.0+ - "TRUENAME" - CANONICALIZE FILENAME OR PATH
INT 21 - DOS 3.0+ - "TRUENAME" - CANONICALIZE FILENAME OR PATH
	AH = 60h
	DS:SI -> ASCIZ filename or path
	ES:DI -> 128-byte buffer for canonicalized name
Return: CF set on error
	    AX = error code
		02h invalid component in directory path or drive letter only
		03h malformed path or invalid drive letter
	    ES:DI buffer unchanged
	CF clear if successful
	    AH = 00h or 3Ah (DOS 6.1/6.2 for character device)
	    AL = destroyed (00h or 2Fh or 5Ch or last character of current
		  directory on drive)
	    buffer filled with qualified name of form D:\PATH\FILE.EXT or
	      \\MACHINE\PATH\FILE.EXT
Desc:	determine the canonical name of the specified filename or path,
	  corresponding to the undocumented TRUENAME command in COMMAND.COM
Notes:	the input path need not actually exist
	letters are uppercased, forward slashes converted to backslashes,
	  asterisks converted to appropriate number of question marks, and
	  file and directory names are truncated to 8.3 if necessary.  (DR DOS
	  3.41 and 5.0 do not expand asterisks)
	'.' and '..' in the path are resolved
	filespecs on local drives always start with "d:", those on network
	  drives always start with "\\"
	if path string is on a JOINed drive, the returned name is the one that
	  would be needed if the drive were not JOINed; similarly for a
	  SUBSTed, ASSIGNed, or network drive letter.	Because of this, it is
	  possible to get a qualified name that is not legal under the current
	  combination of SUBSTs, ASSIGNs, JOINs, and network redirections
	under DOS 3.3 through 6.00, a device name is translated differently if
	  the device name does not have an explicit directory or the directory
	  is \DEV (relative directory DEV from the root directory works
	  correctly).  In these cases, the returned string consists of the
	  unchanged device name and extension appended to the string X:/
	  (forward slash instead of backward slash as in all other cases) where
	  X is the default or explicit drive letter.
	under MS-DOS 7.0, this call returns the short name for any
	  long-filename portions of the provided pathname or filename
	functions which take pathnames require canonical paths if invoked via
	  INT 21/AX=5D00h
	supported by OS/2 v1.1 compatibility box
	NetWare 2.1x does not support characters with the high bit set; early
	  versions of NetWare 386 support such characters except in this call.
	  In addition, NetWare returns error code 3 for the path "X:\"; one
	  should use "X:\." instead.
	Novell DOS 7 reportedly has difficulty with non-MS-DOS filenames on
	  network drives, and can return "D:" instead of "SERVER/VOLUME"
	for DOS 3.3-6.0, the input and output buffers may be the same, as the
	  canonicalized name is built in an internal buffer and copied to the
	  specified output buffer as the very last step
	for DR DOS 6.0, this function is not automatically called when on a
	  network.  Device drivers reportedly cannot make this call from their
	  INIT function.  Using the same pointer for both input and output
	  buffers is not supported in the April 1992 and earlier versions of
	  DR DOS
	Windows for Workgroups 3.11, Windows95 and even MS-DOS 7.00 only
	  return the local drive path; to obtain network paths use
	  INT 21/AX=5F02h or INT 21/AX=5F46h instead
	Corel's CORELCDX and MSCDEX without the /S switch return canonical
	  names of the form "\\D.\A.\path", where "D" is the CD-ROM drive
	  letter and "A" appears to indicate the first physical CD-ROM drive;
	  MSCDEX with the /S switch returns a canonical name with embedded
	  blanks.  Novell DOS 7 NWCDEX as of the 11/16/94 update returns the
	  same canonical path as MSCDEX; earlier revisions returned
	  "Cdex.   D:\path", where "D" is the CD-ROM drive letter
	the Windows95 MSCDEX-replacement VxD returns "D:\path", even though the
	  MS-DOS 7.00 MSCDEX behaves identically to older versions (above)
BUG:	Windows95 incorrectly treats filenames where the first two characters
	  after the drive letter and colon are both slashes (either forward
	  or backward) as a UNC (network name) and requires several seconds
	  to attempt to resolve the name before returning an unchanged
	  string
SeeAlso: AX=5F02h,AX=5FB3h,AX=7160h/CL=00h,INT 2F/AX=1123h,INT 2F/AX=1221h

Top
2161 - INT 21 - DOS 3.0+ - UNUSED (RESERVED FOR NETWORK USE)
INT 21 - DOS 3.0+ - UNUSED (RESERVED FOR NETWORK USE)
	AH = 61h
Return: AL = 00h
Note:	this function does nothing and returns immediately

Top
2161--BP6467 - INT 21 U - OS/2 v1.x FAPI - OS/2 FILE SYSTEM JOIN/SUBST
INT 21 U - OS/2 v1.x FAPI - OS/2 FILE SYSTEM JOIN/SUBST
	AH = 61h
	BP = 6467h ("dg")
	AL = function
	    00h list (i.e. get)
	    01h add
	    02h delete
	BX = drive number
	CX = size of buffer
	SI = type (0002h JOIN, 0003h SUBST)
	ES:DI -> buffer
Return: CF clear if successful
	    AX = 0000h
	    ES:DI buffer filled, if appropriate
	CF set on error
	    AX = error code
Notes:	used by JOIN and SUBST to communicate with the OS/2 file system
	for function 00h (list), the ES:DI buffer is filled with the ASCIZ
	  JOIN/SUBST path or an empty string if the drive is not JOINed/SUBSTed
	also supported by OS/2 v2.0+ Virtual DOS Machines

Top
2162 - INT 21 - DOS 3.0+ - GET CURRENT PSP ADDRESS
INT 21 - DOS 3.0+ - GET CURRENT PSP ADDRESS
	AH = 62h
Return: BX = segment of PSP for current process
Notes:	this function does not use any of the DOS-internal stacks and may
	  thus be called at any time, even during another INT 21h call
	the current PSP is not necessarily the caller's PSP
	identical to the undocumented AH=51h
SeeAlso: AH=50h,AH=51h

Top
216262SI1994 - INT 21 - ENVLOCK - INSTALLATION CHECK
INT 21 - ENVLOCK - INSTALLATION CHECK
	AX = 6262h
	SI = 1994h
Return: AX = 1994h if installed
	    ES = ENVLOCK's resident segment
Notes:	to deactivate ENVLOCK, zero out the byte at ES:[0102h]
Program: ENVLOCK is a TSR by Alexander Yanovsky that forces other TSRs to
	  deallocate their environment when they stay resident

Top
216300 - INT 21 - DOS 2.25 only - GET LEAD BYTE TABLE ADDRESS
INT 21 - DOS 2.25 only - GET LEAD BYTE TABLE ADDRESS
	AX = 6300h
Return: CF clear if successful
	    DS:SI -> lead byte table (see #01746)
	CF set on error
	    AX = error code (01h) (see #01680 at AH=59h/BX=0000h)
Notes:	does not preserve any registers other than SS:SP
	the US version of MS-DOS 3.30 treats this as an unused function,
	  setting AL=00h and returning immediately
SeeAlso: AX=6301h,AH=07h,AH=08h,AH=0Bh

Format of double-byte character set lead byte table entry:
Offset	Size	Description	(Table 01746)
 00h  2 BYTEs	low/high ends of a range of leading byte of double-byte chars
 02h  2 BYTEs	low/high ends of a range of leading byte of double-byte chars
	...
  N   2 BYTEs	00h,00h end flag

Top
216300 - INT 21 - DOS 3.2+ - GET DOUBLE BYTE CHARACTER SET LEAD-BYTE TABLE
INT 21 - DOS 3.2+ - GET DOUBLE BYTE CHARACTER SET LEAD-BYTE TABLE
	AX = 6300h
Return: AL = error code
	    00h successful
		DS:SI -> DBCS table (see #01746)
		all other registers except CS:IP and SS:SP destroyed
	    FFh not supported
Notes:	probably identical to AH=63h/AL=00h for DOS 2.25
	the US version of MS-DOS 3.30 treats this as an unused function,
	  setting AL=00h and returning immediately, WITHOUT setting DS:SI;
	  only the Far East versions of MS-DOS 3.2 and 3.3 supported this call
	the US version of DOS 4.0+ accepts this function, but returns an empty
	  list
	IBM DOS 6.1 SYS.COM assumes that CF is set on error
SeeAlso: AX=6300h"DOS 2.25"

Top
216301 - INT 21 - DOS 2.25, DOS 3.2+ - SET KOREAN (HANGEUL) INPUT MODE
INT 21 - DOS 2.25, DOS 3.2+ - SET KOREAN (HANGEUL) INPUT MODE
	AX = 6301h
	DL = new mode
	    00h return only full characters on DOS keyboard input functions
	    01h return partially-formed (interim) characters also
Return: AL = status
	    00h successful
	    FFh invalid mode
Notes:	Novell DOS 7 simply stores DL in the caller's PSP (see #01378 at AH=26h)
	the US version of MS-DOS 3.30 treats this as an unused function,
	  setting AL=00h and returning immediately; only the Far East versions
	  of MS-DOS 3.2 and 3.3 supported this call
SeeAlso: AH=07h,AH=08h,AH=0Bh,AX=6300h,AX=6302h

Top
216302 - INT 21 - DOS 2.25, DOS 3.2+ - GET KOREAN (HANGEUL) INPUT MODE
INT 21 - DOS 2.25, DOS 3.2+ - GET KOREAN (HANGEUL) INPUT MODE
	AX = 6302h
Return: AL = status
	    00h successful
		DL = current input mode
		    00h return only full characters (clears interim flag)
		    01h return partial characters (sets interim flag)
	    FFh not supported
Notes:	Novell DOS 7 simply reads the value out of the caller's PSP, so it
	  can return values other than 00h or 01h if the last call to AX=6301h
	  used another value
	the US version of MS-DOS 3.30 treats this as an unused function,
	  setting AL=00h and returning immediately, WITHOUT setting DL; only
	  the Far East versions of MS-DOS 3.2 and 3.3 supported this call
SeeAlso: AH=07h,AH=08h,AH=0Bh,AX=6300h,AX=6301h

Top
216303 - INT 21 - VIRUS - "DOS IDLE" - INSTALLATION CHECK
INT 21 - VIRUS - "DOS IDLE" - INSTALLATION CHECK
	AX = 6303h
Return: BX = 6303h if resident
SeeAlso: AX=5643h"VIRUS",AX=6304h"VIRUS",AX=9AD5h"VIRUS"

Top
216304 - INT 21 - VIRUS - "Replicator" - INSTALLATION CHECK
INT 21 - VIRUS - "Replicator" - INSTALLATION CHECK
	AX = 6304h
Return: BX = 6304h if resident
SeeAlso: AX=6303h"VIRUS",AX=6969h"VIRUS"

Top
2164 - INT 21 - DOS 3.2+ internal - SET DEVICE DRIVER LOOKAHEAD FLAG
INT 21 - DOS 3.2+ internal - SET DEVICE DRIVER LOOKAHEAD FLAG
	AH = 64h
	AL = flag
		00h (default) call device driver function 5 (non-dest read)
			before INT 21/AH=01h,08h,0Ah
	    nonzero don't call driver function 5
Return: nothing (MS-DOS)
	CF set, AX=error code??? (DR DOS 5.0, which does not support this call)
Notes:	this function is called by the DOS 3.3+ PRINT.COM
	under MS-DOS, this function does not use any of the DOS-internal stacks
	  and may thus be called at any time, even during another DOS call
SeeAlso: AH=01h,AH=08h,AH=0Ah,AX=5D06h

Top
2164--DX0000 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - ENABLE AUTOMATIC TITLE SWITCH
INT 21 U - OS/2 v2.0+ Virtual DOS Machine - ENABLE AUTOMATIC TITLE SWITCH
	AH = 64h
	DX = 0000h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
Note:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
SeeAlso: AH=64h/DX=0001h,INT 21/AH=4Bh

Top
2164--DX0001 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - SET SESSION TITLE
INT 21 U - OS/2 v2.0+ Virtual DOS Machine - SET SESSION TITLE
	AH = 64h
	DX = 0001h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
	ES:DI -> new ASCIZ title (max 12 char) or "" to restore default title
Note:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
SeeAlso: AH=64h/DX=0000h,AH=64h/DX=0002h,INT 15/AH=12h/BH=05h

Top
2164--DX0002 - INT 21 U - OS/2 v2.0+ Virtual DOS Machine - GET SESSION TITLE
INT 21 U - OS/2 v2.0+ Virtual DOS Machine - GET SESSION TITLE
	AH = 64h
	DX = 0002h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
	ES:DI -> 13-byte buffer for current title
Return: buffer filled (single 00h if title never changed)
Note:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
SeeAlso: AH=64h/DX=0000h,AH=64h/DX=0001h,INT 15/AH=12h/BH=05h

Top
2164--DX0003 - INT 21 U - OS/2 v2.1 Virtual DOS Machine - GET LASTDRIVE
INT 21 U - OS/2 v2.1 Virtual DOS Machine - GET LASTDRIVE
	AH = 64h
	DX = 0003h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
Return: AL = highest drive supported
Notes:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
	used by WinOS2
	not supported by OS/2 Warp 3.0, check list of lists instead (see #01627)
SeeAlso: AH=52h

Top
2164--DX0004 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SIZE OF PTDA JFT
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SIZE OF PTDA JFT
	AH = 64h
	DX = 0004h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
Return: AX = number of entries in OS/2 JFT for VDM
Notes:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
	in an OS/2 VDM, the DOS Job File Table in the PSP contains an index
	  into the OS/2 JFT in the Per-Task Data Area rather than an SFT index
	  because the OS/2 SFT can contain more than 255 entries

Top
2164--DX0005 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SECOND SFT FLAGS WORD
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET SECOND SFT FLAGS WORD
	AH = 64h
	DX = 0005h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
	DI = DOS file handle
Return: AX = value of second flags word from OS/2 SFT entry for file
Notes:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
	the OS/2 SFT has two flags words rather than DOS's one word, and this
	  function provides access to the word which is not present in DOS

Top
2164--DX0006 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - UNLOAD DOSKRNL SYMBOLS & LOAD PROGR
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - UNLOAD DOSKRNL SYMBOLS & LOAD PROGR
	AH = 64h
	DX = 0006h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
	ES:DI -> ASCIZ filespec
	DS = base address for loading
Notes:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
	this function is only supported by the kernel debugging version of
	  OS2KRNL

Top
2164--DX0007 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET WinOS2 CALL GATE ADDRESS
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET WinOS2 CALL GATE ADDRESS
	AH = 64h
	DX = 0007h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
Return: AX = call gate address
Notes:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
	used by WinOS2 to make direct calls to OS2KRNL, bypassing the overhead
	  of DOSKRNL

Top
2164--DX0008 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET LOADING MESSAGE
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - GET LOADING MESSAGE
	AH = 64h
	DX = 0008h (function number)
	CX = 636Ch (magic value, "cl")
	BX = 0000h (indicates special request)
Return: DS:DX -> '$'-terminated message "Loading.  Please wait."
Notes:	if CX is not 636Ch on entry, INT 21/AH=6Ch is invoked, because a bug
	  in OS/2 1.x FAPI erroneously called AH=64h instead of AH=6Ch
	this function permits National Language Support for the initial message
	  displayed while WinOS2 starts a full-screen session

Top
2164--CX636C - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API support
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API support
	AH = 64h
	CX = 636Ch ("cl")
	BX = API ordinal (see #01747)
	other registers as appropriate for API call
Return: as appropriate for API call
SeeAlso: AH=64h/BX=0025h,AH=64h/BX=00B6h,AH=64h/BX=00CBh

(Table 01747)
Values for OS/2 API ordinal:
 0025h	DOS32StartSession
 0082h	DosGetCP
 00B6h	DosQFSAttach
 00BFh	DosEditName
 00CBh	DosForceDelete
 0144h	Dos32CreateEventSem
 0145h	Dos32OpenEvenSem
 0146h	Dos32CloseEventSem
 0147h	Dos32ResetEventSem
 0148h	Dos32PostEventSem
 0149h	Dos32WaitEventSem
 014Ah	Dos32QueryEventSem
 014Bh	Dos32CreateMutexSem
 014Ch	Dos32OpenMutexSem
 014Dh	Dos32CloseMutexSem
 014Eh	Dos32RequestMutexSem
 014Fh	Dos32ReleaseMutexSem
 0150h	Dos32QueryMutexSem
 0151h	Dos32CreateMuxWaitSem
 0152h	Dos32OpenMuxWaitSem
 0153h	Dos32CloseMuxWaitSem
 0154h	Dos32WaitMuxWaitSem
 0155h	Dos32AddMuxWaitSem
 0156h	Dos32DeleteMuxWaitSem
 0157h	Dos32QueryMuxWaitSem

Top
2164--BX0025 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DOS32StartSession
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DOS32StartSession
	AH = 64h
	BX = 0025h (API ordinal)
	CX = 636Ch ("cl")
	DS:SI -> STARTDATA structure (see #01748)
Return: AX = return code
SeeAlso: AH=64h/CX=636Ch,AH=64h/BX=00B6h

Format of OS/2 Virtual DOS Machine STARTDATA structure:
Offset	Size	Description	(Table 01748)
 00h	WORD	length of structure (must be 0018h,001Eh,0020h,0032h,or 003Ch)
 02h	WORD	relation of new process to caller (00h independent, 01h child)
 04h	WORD	fore/background (00h foreground, 01h background)
 06h	WORD	trace options (00h-02h, 00h = no trace)
 08h	DWORD	pointer to ASCIZ program title (max 62 chars) or 0000h:0000h
 0Ch	DWORD	pointer to ASCIZ program name (max 128 chars) or 0000h:0000h
 10h	DWORD	pointer to ASCIZ program args (max 144 chars) or 0000h:0000h
 14h	DWORD	"TermQ" (currently reserved, must be 00000000h)
 18h	DWORD	pointer to environment (max 486 bytes) or 0000h:0000h
 1Ch	WORD	inheritance (00h or 01h)
 1Eh	WORD	session type
		00h OS/2 session manager determines type (default)
		01h OS/2 full-screen
		02h OS/2 window
		03h PM
		04h VDM full-screen
		07h VDM window
 20h	DWORD	pointer to ASCIZ icon filename (max 128 chars) or 0000h:0000h
 24h	DWORD	"PgmHandle" (currently reserved, must be 00000000h)
 28h	WORD	"PgmControl"
 2Ah	WORD	initial column
 2Ch	WORD	initial row
 2Eh	WORD	initial width
 30h	WORD	initial height
 32h	WORD	reserved (0)
 34h	DWORD	"ObjectBuffer" (currently reserved, must be 00000000h)
 38h	DWORD	"ObjectBufferLen" (currently reserved, must be 00000000h)

Top
2164--BX00B6 - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosQFSAttach
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosQFSAttach
	AH = 64h
	BX = 00B6h (API ordinal)
	CX = 636Ch (magic value "cl")
	DS = user's data segment
	ES:DI -> FSQAttachStruc (see #01749)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = 0000h
	    data buffer filled
SeeAlso: AH=64h/CX=636Ch

Format of OS/2 Virtual DOS Machine FSQAttachStruc:
Offset	Size	Description	(Table 01749)
 00h	DWORD	reserved
 04h	DWORD	pointer to the offset of the data buffer length
 08h	DWORD	pointer to the offset of the data buffer
 0Ch	WORD	FSA Info level
 0Eh	WORD	ordinal index into table
 10h	DWORD	pointer to the offset of the device name
Notes:	The segment value of the buffer, buffer length, and device
	  name MUST all be the same.  It is defined on entry in the DS
	  register.  The details of each info level are defined in the
	  OS/2 CP Reference.

Top
2164--BX00CB - INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosForceDelete
INT 21 U - OS/2 v2.1+ Virtual DOS Machine - OS/2 API DosForceDelete
	AH = 64h
	BX = 00CBh (API ordinal)
	CX = 636Ch (magic value "cl")
	DS:DX -> ASCIZ filename
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (02h,03h,05h) (see #01680 at AH=59h/BX=0000h)
Desc:	delete a file without saving it to the undelete directory
SeeAlso: AH=41h,AH=64h/CX=636Ch

Top
216500 - INT 21 - Windows95 (OSR2) - SET GENERAL INTERNATIONALIZATION INFO
INT 21 - Windows95 (OSR2) - SET GENERAL INTERNATIONALIZATION INFO
	AX = 6500h
	ES:DI -> buffer containing internationalization info (see #01750)
	CX = size of buffer (>= 7)
Return: CF clear if successful
	    AX = system code page
	    CX = number of bytes copied from supplied buffer
	CF set on error
	    AX = error code
Note:	this function will not overwrite the country or code-page numbers,
	  but can be used to modify all other data about the country and
	  code page
SeeAlso: AH=65h"GET EXTENDED",AH=70h

Top
2165 - INT 21 - DOS 3.3+ - GET EXTENDED COUNTRY INFORMATION
INT 21 - DOS 3.3+ - GET EXTENDED COUNTRY INFORMATION
	AH = 65h
	AL = info ID
	    01h get general internationalization info (see also AX=6500h)
	    02h get pointer to uppercase table
	    03h (DOS 6.2+ COUNTRY.SYS) get pointer to lowercase table
	    04h get pointer to filename uppercase table
	    05h get pointer to filename terminator table
	    06h get pointer to collating sequence table
	    07h (DOS 4.0+) get pointer to Double-Byte Character Set table
	BX = code page (FFFFh=global code page) (see #01757)
	DX = country ID (FFFFh=current country)
	ES:DI -> country information buffer (see #01750)
	CX = size of buffer (>= 5)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    CX = size of country information returned
	    ES:DI -> country information (see #01750)
Notes:	AL=05h appears to return same info for all countries and codepages; it
	  has been documented for DOS 5+, but was undocumented in earlier
	  versions
	NLSFUNC must be installed to get info for countries other than the
	  default
	subfunctions 02h and 04h are identical under OS/2
	subfunction 03h apparently supports only codepage 866 in DOS 6.2x
SeeAlso: AH=38h,AH=70h"MS-DOS 7",INT 2F/AX=1401h,INT 2F/AX=1402h
SeeAlso: INT 2F/AX=14FEh

Format of country information:
Offset	Size	Description	(Table 01750)
 00h	BYTE	info ID
---if info ID = 01h---
 01h	WORD	size of following info in bytes
 03h	WORD	country ID (see #01400 at AH=38h)
 05h	WORD	code page (see #01757)
 07h 34 BYTEs	country-dependent info (see #01399 at AH=38h)
---if info ID = 02h---
 01h	DWORD	pointer to uppercase table (see #01751)
---if info ID = 03h---
 01h	DWORD	pointer to lowercase table (see #01752)
---if info ID = 04h---
 01h	DWORD	pointer to filename uppercase table (see #01753)
---if info ID = 05h---
 01h	DWORD	pointer to filename character table (see #01754)
---if info ID = 06h---
 01h	DWORD	pointer to collating table (see #01755)
---if info ID = 07h (DOS 4.0+)---
 01h	DWORD	pointer to DBCS lead byte table (see #01756)
SeeAlso: #01775

Format of uppercase table:
Offset	Size	Description	(Table 01751)
 00h	WORD	table size (0080h)
 02h 128 BYTEs	uppercase equivalents (if any) of chars 80h to FFh
SeeAlso: #01750,#01753

Format of lowercase table:
Offset	Size	Description	(Table 01752)
 00h	WORD	table size (0100h)
 02h 256 BYTEs	lowercase equivalents (if any) of chars 00h to FFh
SeeAlso: #01750,#01753

Format of filename uppercase table:
Offset	Size	Description	(Table 01753)
 00h	WORD	table size (0080h)
 02h 128 BYTEs	uppercase equivalents (if any) of chars 80h to FFh
SeeAlso: #01750,#01751

Format of filename terminator table:
Offset	Size	Description	(Table 01754)
 00h	WORD	table size (not counting this word)
 02h	BYTE	??? (01h for MS-DOS 3.30-6.00)
 03h	BYTE	lowest permissible character value for filename
 04h	BYTE	highest permissible character value for filename
 05h	BYTE	??? (00h for MS-DOS 3.30-6.00)
 06h	BYTE	first excluded character in range \ all characters in this
 07h	BYTE	last excluded character in range  / range are illegal
 08h	BYTE	??? (02h for MS-DOS 3.30-6.00)
 09h	BYTE	number of illegal (terminator) characters
 0Ah  N BYTEs	characters which terminate a filename:	."/\[]:|<>+=;,
Note:	partially documented for DOS 5+, but undocumented for earlier versions
SeeAlso: #01750

Format of collating table:
Offset	Size	Description	(Table 01755)
 00h	WORD	table size (0100h)
 02h 256 BYTEs	values used to sort characters 00h to FFh
SeeAlso: #01750

Format of DBCS lead byte table:
Offset	Size	Description	(Table 01756)
 00h	WORD	length of table in ranges
 02h 2N BYTEs	start/end for N lead byte ranges
	WORD	0000h	(end of table)
SeeAlso: #01750

Top
2165 - INT 21 - DOS 4.0+ - COUNTRY-DEPENDENT CHARACTER CAPITALIZATION
INT 21 - DOS 4.0+ - COUNTRY-DEPENDENT CHARACTER CAPITALIZATION
	AH = 65h
	AL = function
	    20h capitalize character
		DL = character to capitalize
		Return: DL = capitalized character
	    21h capitalize string
		DS:DX -> string to capitalize
		CX = length of string
	    22h capitalize ASCIZ string
		DS:DX -> ASCIZ string to capitalize
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Note:	these calls have been documented for DOS 5+, but were undocumented in
	  DOS 4.x.
BUG:	Novell DOS 7 Update 15 crashes on AX=6521h when CX=0000h

Top
216523 - INT 21 U - DOS 4.0+ - DETERMINE IF CHARACTER REPRESENTS YES/NO RESPONSE
INT 21 U - DOS 4.0+ - DETERMINE IF CHARACTER REPRESENTS YES/NO RESPONSE
	AX = 6523h
	DL = character
	DH = second character of double-byte character (if applicable)
Return: CF set on error
	CF clear if successful
	    AX = type
		00h no
		01h yes
		02h neither yes nor no
Note:	supported by Novell DOS 7, though prior to Update 14, the results
	  depended on the kernel variant rather than the YESCHAR= or COUNTRY=
	  setting in CONFIG.SYS
BUG:	Novell DOS commands and tools all use internal settings rather than
	  this function, so the Yes/No responses are dependent on the specific
	  country's variant being run rather than on the COUNTRY= setting

Top
2165 - INT 21 U - DOS 4.0+ internal - COUNTRY-DEPENDENT FILENAME CAPITALIZATION
INT 21 U - DOS 4.0+ internal - COUNTRY-DEPENDENT FILENAME CAPITALIZATION
	AH = 65h
	AL = function
	    A0h capitalize filename character
		DL = character to capitalize
		Return: DL = capitalized character
	    A1h capitalize counted filename string
		DS:DX -> filename string to capitalize
		CX = length of string
	    A2h capitalize ASCIZ filename
		DS:DX -> ASCIZ filename to capitalize
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Note:	nonfunctional in MS-DOS 4.00 through 7.10 (Win98) due to a bug (the
	  code sets a pointer depending on the high bit of AL, but doesn't
	  clear the bit before branching by function number).  Supported and
	  functional(!) in Novell DOS 7 (Update 15), as well as PC-DOS 7 and
	  OS/2 MVDM

Top
216601 - INT 21 - DOS 3.3+ - GET GLOBAL CODE PAGE TABLE
INT 21 - DOS 3.3+ - GET GLOBAL CODE PAGE TABLE
	AX = 6601h
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    BX = active code page (see #01757)
	    DX = system code page (see #01757)
SeeAlso: AX=6602h

Top
216602 - INT 21 - DOS 3.3+ - SET GLOBAL CODE PAGE TABLE
INT 21 - DOS 3.3+ - SET GLOBAL CODE PAGE TABLE
	AX = 6602h
	BX = active code page (see #01757)
	DX = system code page (active page at boot time)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX = EB41h (Novell NWDOS v7.0 when NLSFUNC not installed and
		  request was for previously-active code page)
SeeAlso: AX=6601h,INT 2F/AX=14FFh

(Table 01757)
Values for code page:
 0	Reduced 7-bit ASCII			[NetWare]
 37	EBCDIC: US/Canada English (CECP)	[Windows NT 3.51+]
 38	EBCDIC: International (old)
 111	Greek
 112	Turkish
 113	Yugoslavian
 161	Arabic					[Linux]
 162	Arabic					[Linux]
 163	Arabic					[Linux]
 164	Arabic					[Linux]
 165	Arabic					[Linux]
 237	EBCDIC: Germany (CECP)
 273	EBCDIC: ??? (CECP)
 274	EBCDIC: Belgium
 275	EBCDIC: Brazilian
 277	EBCDIC: Danish/Norwegian (CECP)
 278	EBCDIC: Finnish/Swedish (CECP)
 280	EBCDIC: Italian (CECP)
 281	EBCDIC: Japanese-E
 284	EBCDIC: Latin-American/Spanish (CECP)
 285	EBCDIC: UK English (CECP)
 290	EBCDIC: Japanese Kana
 297	EBCDIC: French (CECP)
 367	US-ASCII (ISO 646-US, 7-bit)
 420	EBCDIC: Arabic 1
 423	EBCDIC: Greek
 424	EBCDIC: Hebrew
 437	US / English / PC-8 / IBM-2
 500	EBCDIC: Belgium/Switzerland (CECP)
 500	EBCDIC: International
 646	(??? reserved for ISO 646 7-bit codepages)
 667	Eastern Europe (Polish)
 668	Eastern Europe (Slavic)
 708	Arabic/Middle East
 737	Greek (2)
 775	Baltic / Baltic Rim
 819	Latin-1 (ISO 8859-1)
 850	Multilingual (Latin-1)
 851	Greek
 852	Slavic/Easter Europe (Latin-2)		[DOS 5+]
 853	Turkish (Latin-2)
 854	Spanish
 855	Cyrilic (1)
 857	Turkish
 860	Portugese
 861	Icelandic
 862	Hebrew
 863	French Canadian
 864	Arabic/Middle East
 865	Nordic (Norwegian/Danish)
 866	Russian (Cyrillic 2)
 867	Czech
 868	Arabic
 869	Greek (1)
 870	EBCDIC: Yugoslavia (Roece)
 871	EBCDIC: Icelandic
 874	Thailand
 875	EBCDIC: Greek
 880	Russian (Cyrillic GOST)
 880	EBCDIC: Cyrillic
 881	Latin 1 (ISO 8859-1)
 882	Latin 2 (ISO 8859-2)
 883	Latin 3 (ISO 8859-3)
 884	Latin 4 (ISO 8859-4)
 885	Latin 5 (ISO 8859-5)
 891	unknown
 897	Japanese (Shift-JIS)
 903	unknown
 904	unknown
 905	EBCDIC: Turkish
 912	Latin 2 (ISO 8859-2: Eastern Europe)
 913	(??? reserved for Latin 3)
 914	(??? reserved for Latin 4)
 915	Cyrillic (ISO 8859-5: Latin/Cyrillic)
 916	(??? reserved for ISO 8859-6: Latin/Arabic)
 917	(??? reserved for ISO 8859-7: Latin/Greek)
 918	EBCDIC: Arabic 2
 919	(??? reserved for ISO 8859-9: Latin 5)
 920	(??? reserved for ISO 8859-10: Latin 6/Sami)
 932	DBCS: Japanese (Shift-JIS)
 934	DBCS: Korean
 936	DBCS: Chinese (PRC/ROC, Simplified/xGB)
 938	DBCS: Taiwan
 938	DBCS: Chinese (PRC/ROC)
 942	DBCS: Japanese SAA
 944	DBCS: Korean SAA
 948	DBCS: Chinese SAA (PRC/ROC)
 949	Korean (Unified Hangul; Extended Wansung)
 950	Chinese Traditional, Big5 (Taiwan, Hong Kong)
 966	Saudi Arabian
 972	Hebrew (Israeli VT100)
 999	reserved for user-definable codepages
1004	Desktop Publishing
1026	EBCDIC: Turkish (Latin 5)
1047	EBCDIC: International (CECP, de-facto EBCDIC-US)
1250	MSWIN: Eastern Europe (Latin 2)
1251	MSWIN: Cyrillic
1252	MSWIN: English/W. Europe/Standard (Latin 1)
1253	MSWIN: Greek (GRC)
1254	MSWIN: Turkish
1255	MSWIN: Hebrew
1256	MSWIN: Arabic
1257	MSWIN: Baltic (Estonian, Latvian, Lithuanian)
1258	MSWIN: Vietnamese
1361	ANSI???: Korean (Johab)
10000	MAC: International/Standard (Roman)
10006	MAC: Greek
10007	MAC: Cyrillic
10029	MAC: Latin 2
10079	MAC: Icelandic
10081	MAC: Turkish
10646	(should be reserved for the future ISO 10646 32-bit codepage???)
65400	OS/2: reserved for Glyphs
Notes:	not all code pages are available in all versions of DOS or
	  DOS-compatibles, and many (particularly EBCDIC) have not been
	  implemented for *any* DOS to date
	CECP = 'Country Extended CodePage' by IBM.
	Unicode (UCS-2) is a 16-bit character codeset, covering all commonly
	  used characters from almost any language. Not all definitions are
	  fixed at the time of this writing. Unicode will be the future of
	  character coding for the foreseeable future, but is only the
	  "basic multilingual plane" (BMP) subset of 32-bit ISO 10646 codes
	  (UCS-4), a single character set standard covering requirements for
	  all countries and languages, which is still under construction.
	The MS Windows 'ANSI' codepage 1252 (based on the MS Windows 3.0+
	  implementation) appears to be 100% compatible with the code sets
	  used by Amiga OS and Acorn Archimedes RISC-OS and is also a linear
	  subset of the 16bit UniCode code set (UCS-2); the actual ANSI
	  codepage is defined by ISO 8859-1 (Latin 1).
	At least applications for OS/2 Warp 3 Presentation Manager can use
	  EBCDIC codepages, but the codepage ID assignments for EBCDIC
	  codepages are not known for OS/2. OS/2 SAA codepages are not
	  supported in CONFIG.SYS.  Codepage 65400 "Glyphs" is not actually a
	  codepage, but a way to directly access the first 256 of the 383
	  glyphs from the current font set.
	Novell DOS 7/DR DOS 6/Caldera OpenDOS undocumented codepage 853
	  does not necessarily match with MS-DOS' undocumented codepage 853.
	Undocumented codepages 667 and 668 can be found in Russian's PTS/DOS
	  6.51 and S/DOS 1.x DISPLAY.CPI and contain some Eastern European
	  characters.
	Novell NetWare 3.xx clients support UniCode and codepages 437, 850,
	  860, 863, 865, 897, 932, and 1252 (possibly more). NetWare 4.xx
	  clients also support 1250, 1251, 1256. Personal NetWare 1.0 (PNW),
	  as it was distributed in Europe, supports UniCode and codepages 437,
	  850 and 1252.	 Novell's Client32 for DOS/Windows supports 874, 932,
	  936, 949, 950, 1250 - 1257. For codesets not yet available, Novell
	  offers a reduced ASCII 7-bit support through a codepage 0 used as a
	  translation table to UniCode, that supports characters 32-127 except
	  92 ('\').

Format of DOS .CPI (Code Page Information) file header:
Offset	Size	Description	(Table 01758)
 00h	BYTE	ID tag
		FFh FONT file (Standard for generic display or
		      printer font files used by MS-DOS, PC-DOS, DR DOS
		      and Novell DOS)
		7Fh DRFONT file (Used by DR DOS 6.0 / Novell DOS 7 for
		      enhanced & compressed display font files. DR DOS 6.0
		      and Novell DOS 7 still support the standard FONT
		      files, thus allowing leaning of .CPI files from
		      MS-DOS to DR DOS / Novell DOS!)
 01h  7 BYTEs	ID string
		"FONT	" = FONT file (Standard for display or printer)
		"DRFONT " = DRFONT file (Enhanced compressed format used
			    by DR DOS 6.0 / Novell DOS 7 for display fonts)
 08h  8 BYTEs	reserved (0)
 10h	WORD	number of pointers (1)
 12h	BYTE	type of pointers (1)
 13h	DWORD	pointer to file offset of FontInfoHeader
		(Generally pointing to the byte just after FontFileHeader,
		     that is 0000h:0017h. Due to extra data at offset 17h, this
		     value has changed with DR DOS 6.0 / Novell DOS 7 DRFONTs!
		     "MS-DOS 4.0 programmers reference" claimed word offset
		     +15h as an endmarker (0000h), but actually it is the
		     High-Word of the pointer.)
--- Extended FontFileHeader with DR DOS 6.0 / Novell DOS 7 DRFONTs: ---
 17h	BYTE	number of fonts per codepage supported by this file
		     (N=4 with both DR DOS 6.0 / Novell DOS 7 DRFONT files)
 18h  N	BYTEs	cellsize (Height) of fonts 1..N
		the cellsize corresponds with the character boxes height,
		  but is also the count of bytes used for each of the
		  characters inside the font data (as currently all fonts
		  are organized heightx8 and 8 pixel width is just one byte).
 var  N DWORDs	file offsets of DisplayFontData.

Format of DOS .CPI file Font Information Header:
Offset	Size	Description	(Table 01759)
 00h	WORD	number of codepage entries
	var	N codepage entry headers (see #01760)
SeeAlso: #01758

Format of DOS .CPI file CodePage Entry Header:
Offset	Size	Description	(Table 01760)
 00h	WORD	size of this header (normally 1Ch)
 02h	DWORD	offset of next entry, or 0000h:0000h or FFFFh:FFFFh if last
		(if a valid "next" pointer but all of the fonts indicated in
		  the .CPI header have been processed, this field normally
		  points at an optional text area at the end of the .CPI file
		  containing copyright information)
 06h	WORD	device type
		01h display (FONT or DRFONT)
		02h printer (FONT)
 08h  8 BYTEs	blank-padded device name string
 10h	WORD	code page (see #01757)
 12h  3 WORDs	reserved (0)
 18h	DWORD	pointer to Font Data Header (see #00222)
		normally immediately follows this header
SeeAlso: #01758

Format of DOS .CPI file Font Data Header:
Offset	Size	Description	(Table 01761)
 00h	WORD	record type
		0001h FONT
		0002h DRFONT (DR DOS 6.0/Novell DOS 7 display font)
 02h	WORD	number of fonts
 04h	WORD	length of font data (display fonts)
		??? (printer fonts)
 06h	var	font data (#fonts * fontlength) bytes
SeeAlso: #01758

Format of DOS .CPI file ScreenFONT Header:
Offset	Size	Description	(Table 01762)
 00h  6 BYTEs	display-font header (see #01764)
 06h	var	display font data
SeeAlso: #01758

Format of .CPI file DRFONT Header:
Offset	Size	Description	(Table 01763)
 00h 6N BYTEs	DisplayFONT headers for N fonts (see #01764)
      M WORDs	character index table for cell offsets in font data
		currently 256 words in length
SeeAlso: #01758

Format of .CPI file DisplayFONT header:
Offset	Size	Description	(Table 01764)
 00h	BYTE	height of character cell
 01h	BYTE	width of character cell (currently always 08h)
 02h	BYTE	aspect ratio (height) (currently 00h, unused)
 03h	BYTE	aspect ratio (width) (currently 00h, unused)
 04h	WORD	number of characters per font (256)
SeeAlso: #01758

Format of .CPI file PrinterFONT header:
Offset	Size	Description	(Table 01765)
 00h	WORD	type of printer
		0001h (4201.CPI, 1050.CPI, EPS.CPI)
		0002h (4208.CPI, 5202.CPI, PPDS.CPI)
 02h	WORD	bytes per hardware/download codepage-select escape sequence
		(max 31, typically 12)
 04h  N BYTEs	escape sequence to select hardware codepage
      N BYTEs	escape sequence to select download codepage
	var	download data for printer font (including escape sequence to
		  transfer data)
SeeAlso: #01758

Top
2167 - INT 21 - DOS 3.3+ - SET HANDLE COUNT
INT 21 - DOS 3.3+ - SET HANDLE COUNT
	AH = 67h
	BX = size of new file handle table for process
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Desc:	adjust the size of the per-process open file table, thus raising or
	  lowering the limit on the number of files the caller can open
	  simultaneously
Notes:	if BX <= 20, no action is taken if the handle limit has not yet been
	  increased, and the table is copied back into the PSP if the limit
	  is currently > 20 handles
	for file handle tables of > 20 handles, DOS 3.30 never reuses the
	  same memory block, even if the limit is being reduced; this can lead
	  to memory fragmentation as a new block is allocated and the existing
	  one freed
	only the first 20 handles are copied to child processes in DOS 3.3-6.0
	increasing the file handles here will not, in general, increase the
	  number of files that can be opened using the runtime library of a
	  high-level language such as C
	Novell DOS 7 reportedly terminates the calling program if the JFT is
	  being reduced in size and there are any open file handles beyond
	  the portion of the JFT being retained
BUGS:	the original release of DOS 3.30 allocates a full 64K for the handle
	  table on requests for an even number of handles
	DR DOS 3.41 and 5.0 will lose track of any open file handles beyond
	  the portion of the JFT retained after the call; MS-DOS will indicate
	  error 04h if any of the JFT entries to be removed are open
SeeAlso: AH=26h,AH=86h

Top
2168 - INT 21 - DOS 3.3+ - "FFLUSH" - COMMIT FILE
INT 21 - DOS 3.3+ - "FFLUSH" - COMMIT FILE
	AH = 68h
	BX = file handle
Return: CF clear if successful
	    all data still in DOS disk buffers is written to disk immediately,
	      and the file's directory entry is updated
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=5D01h,AH=6Ah,INT 2F/AX=1107h

Top
2169 - INT 21 U - DOS 4.0+ internal - GET/SET DISK SERIAL NUMBER
INT 21 U - DOS 4.0+ internal - GET/SET DISK SERIAL NUMBER
	AH = 69h
	AL = subfunction
	    00h get serial number
	    01h set serial number
	BL = drive (0=default, 1=A, 2=B, etc)
	BH = info level (00h only for DOS; OS/2 allows other levels)
	DS:DX -> disk info (see #01766)
Return: CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	    AX destroyed
	    (AL = 00h) buffer filled with appropriate values from extended BPB
	    (AL = 01h) extended BPB on disk set to values from buffer
Notes:	does not generate a critical error; all errors are returned in AX
	error 0005h given if no extended BPB on disk
	does not work on network drives (error 0001h)
	buffer after first two bytes is exact copy of bytes 27h thru 3Dh of
	  extended BPB on disk
	this function is supported under Novell NetWare versions 2.0A through
	  3.11; the returned serial number is the one a DIR would display,
	  the volume label is the NetWare volume label, and the file system
	  is set to "FAT16".
	this function is not supported by Novell DOS 7 through Update 13, but
	  Personal NetWare 1.0 and Update 15 do support this function
	the serial number is computed from the current date and time when the
	  disk is created; the first part is the sum of the seconds/hundredths
	  and month/day, the second part is the sum of the hours/minutes and
	  year
	the volume label which is read or set is the one stored in the extended
	  BPB on disks formatted with DOS 4.0+, rather than the special root
	  directory entry used by the DIR command in COMMAND.COM (use AH=11h
	  to find that volume label)
SeeAlso: AX=440Dh"DOS 3.2+"

Format of disk info:
Offset	Size	Description	(Table 01766)
 00h	WORD	0000h (info level)
 02h	DWORD	disk serial number (binary)
 06h 11 BYTEs	volume label or "NO NAME    " if none present
 11h  8 BYTEs	(AL=00h only) filesystem type (see #01767)
Note:	under MS-DOS 7.0 or a Windows95 DOS box, the volume label field can be
	  all blanks even when a volume label has been set (the Win95
	  installation seems to blank the volume label field in the partition
	  boot sector; once LABEL has been run, the volume label is reported
	  correctly)
SeeAlso: AH=4Eh

(Table 01767)
Values for filesystem type:
 "FAT12	  "	12-bit FAT
 "FAT16	  "	16-bit FAT
 "CDROM	  "	High-Sierra CD-ROM filesystem
 "CD001	  "	ISO 9660 CD-ROM filesystem
 "CDAUDIO "	audio CD
SeeAlso: #01766

Top
2169 - INT 21 - DR DOS 5.0 - NULL FUNCTION
INT 21 - DR DOS 5.0 - NULL FUNCTION
	AH = 69h
Return: AL = 00h
SeeAlso: AH=18h

Top
216969 - INT 21 - VIRUS - "Rape-747" - INSTALLATION CHECK
INT 21 - VIRUS - "Rape-747" - INSTALLATION CHECK
	AX = 6969h
Return: AX = 0666h if resident
SeeAlso: AX=58CCh,AX=6304h"VIRUS",AH=71h"VIRUS"

Top
2169FFDX0000 - INT 21 U - CUBIT v4.00 - GET CUBIT INT 21 HANDLER
INT 21 U - CUBIT v4.00 - GET CUBIT INT 21 HANDLER
	AX = 69FFh
	DX = 0000h
	BX = CB00h (magic value)
Return: ES:BX -> CUBITR.EXE handler for INT 21
InstallCheck:	test that the first eight bytes at the returned interrupt
	  handler are EBh 07h "CUBITR" (a short jump around the signature
	  followed by the signature)
Note:	the byte following the signature (i.e. ES:[BX+8]) indicates whether
	  CUBITR is active (01h) or disabled (00h)
SeeAlso: AX=69FFh/DX=CFBFh
Index:	installation check;CUBIT

Top
2169FFDXCFBF - INT 21 U - CUBIT v4.00 - UNINSTALL
INT 21 U - CUBIT v4.00 - UNINSTALL
	AX = 69FFh
	DX = CFBFh
	CX = EFCFh
	BX = CB00h (magic value)
Return: ES:BX -> CUBITR.EXE handler for INT 21
	CX = status
	    2020h successful
	    2222h failed
Note:	if DX is neither 0000h nor CFBFh on entry, some other code is executed
SeeAlso: AX=69FFh/DX=0000h

Top
216A - INT 21 U - DOS 4.0+ - COMMIT FILE
INT 21 U - DOS 4.0+ - COMMIT FILE
	AH = 6Ah
	BX = file handle
Return: CF clear if successful
	    AH = 68h
	CF set on error
	    AX = error code (06h) (see #01680 at AH=59h/BX=0000h)
Note:	identical to AH=68h in DOS 5.0-6.0; not known whether this is the case
	  in DOS 4.x
SeeAlso: AH=68h

Top
216B - INT 21 U - DOS 4.0 internal - IFS IOCTL
INT 21 U - DOS 4.0 internal - IFS IOCTL
	AH = 6Bh
	AL = subfunction
	    00h ???
		DS:SI -> Current Directory Structure???
		CL = drive (1=A:)
	    01h ???
		DS:SI -> ???
		CL = file handle???
	    02h ???
		DS:SI -> Current Directory Structure???
		DI = ???
		CX = drive (1=A:)
Return: CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Notes:	passed through to INT 2F/AX=112Fh with AX on top of stack
	Novell DOS 7 Update 15 returns CF set/AX=0001h (invalid function)
SeeAlso: AH=6Bh"DOS 5",INT 2F/AX=112Fh

Top
216B - INT 21 U - DOS 5+ - NULL FUNCTION
INT 21 U - DOS 5+ - NULL FUNCTION
	AH = 6Bh
Return: AL = 00h
Note:	this function does nothing and returns immediately
SeeAlso: AH=6Bh"DOS 4"

Top
216C00 - INT 21 - DOS 4.0+ - EXTENDED OPEN/CREATE
INT 21 - DOS 4.0+ - EXTENDED OPEN/CREATE
	AX = 6C00h
	BL = open mode as in AL for normal open (see also AH=3Dh)
	    bit 7: inheritance
	    bits 4-6: sharing mode
	    bit 3 reserved
	    bits 0-2: access mode
		100 read-only, do not modify file's last-access time (DOS 7.0)
	BH = flags
	    bit 6 = auto commit on every write (see also AH=68h)
	    bit 5 = return error rather than doing INT 24h
	    bit 4 = (FAT32) extended size (allow 4GB files instead of 2GB)
	CX = create attribute (see #01769)
	DL = action if file exists/does not exist (see #01770)
	DH = 00h (reserved)
	DS:SI -> ASCIZ file name
Return: CF set on error
	   AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	   AX = file handle
	   CX = status (see #01768)
Notes:	the PC LAN Program only supports existence actions (in DL) of 01h,
	  10h with sharing=compatibility, and 12h
	DR DOS reportedly does not support this function and does not return
	  an "invalid function call" error when this function is used.
	the documented bits of BX are stored in the SFT when the file is opened
	  (see #01641,#01642)
BUG:	this function has bugs (at least in DOS 5.0 and 6.2) when used with
	  drives handled via the network redirector (INT 2F/AX=112Eh):
	    - CX (attribute) is not passed to the redirector if DL=11h,
	    - CX does not return the status, it is returned unchanged because
	      DOS does a PUSH CX/POP CX when calling the redirector.
SeeAlso: AH=3Ch,AH=3Dh,AX=6C01h,AX=7160h/CL=00h,INT 2F/AX=112Eh

(Table 01768)
Values for extended open function status:
 01h	file opened
 02h	file created
 03h	file replaced

Bitfields for file create attribute:
Bit(s)	Description	(Table 01769)
 6-15	reserved
 5	archive
 4	reserved
 3	volume label
 2	system
 1	hidden
 0	readonly

Bitfields for action:
Bit(s)	Description	(Table 01770)
 7-4	action if file does not exist
	0000 fail
	0001 create
 3-0	action if file exists
	0000 fail
	0001 open
	0010 replace/open

Top
216C01 - INT 21 U - OS/2 v2.0 - "DosOpen2"
INT 21 U - OS/2 v2.0 - "DosOpen2"
	AX = 6C01h
	BL = open mode as in AL for normal open (see also AH=3Dh)
	    bit 7: inheritance
	    bits 4-6: sharing mode
	    bit 3 reserved
	    bits 0-2: access mode
	BH = flags
	    bit 6 = auto commit on every write (see also AH=68h)
	    bit 5 = return error rather than doing INT 24h
	CX = create attribute (see #01769)
	DL = action if file exists/does not exist (see #01770)
	DH = 00h (reserved)
	DS:SI -> ASCIZ file name
	ES:DI -> EAOP structure
Return: CF set on error
	   AX = error code (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
	   AX = file handle
	   CX = status (see #01768)
Note:	this function is virtually identical to AX=6C00h, but supports OS/2's
	  extended attributes
SeeAlso: AX=5704h,AX=6C00h,AH=6Fh"OS/2"

Top
216D - INT 21 U - DOS 5+ ROM - FIND FIRST ROM PROGRAM
INT 21 U - DOS 5+ ROM - FIND FIRST ROM PROGRAM
	AH = 6Dh
	DS:DX -> ASCIZ program name (may contain wildcrds)
Return: CF clear if found
	    Disk Transfer Area filled with ROM search structure (see #01771)
	CF set if not found
	    AX = error code
		0002h name not found in ROM
		0003h name contains colon or backslash
	---if not supported (DOS <5, MS-DOS 5+ non-ROM versions)---
	AL = 00h
Notes:	the '*' wildcard matches all remaining characters in a ROM program's
	  name; any following characters in the search mask are ignored up to
	  another asterisk, which must be matched by an asterisk in the
	  found program's name.
	the search mask and program names may contain multiple periods
SeeAlso: AH=1Ah,AH=4Eh,AH=6Eh,AX=6F00h,AX=6F02h,INT 2F/AX=160Ch

Format of ROM search structure:
Offset	Size	Description	(Table 01771)
 00h 13 BYTEs	ASCIZ name of found ROM program
 0Dh	DWORD	address at which to resume search (do not modify)
 11h	var	ASCIZ search mask passed in (do not modify)

Top
216D - INT 21 U - OS/2 v1.x FAPI - "DosMkDir2"
INT 21 U - OS/2 v1.x FAPI - "DosMkDir2"
	AH = 6Dh
	???
Return: ???
Desc:	create a new directory, with extended attribute information
Note:	also supported by OS/2 v2.0+ Virtual DOS Machines
BUG:	does not work under OS/2 v2.0 because MVDM does not translate the
	  real-mode segment pointer in the Extended Attribute structure
	  (see #01673) into a protected-mode selector; use AH=39h followed by
	  AX=5703h instead
SeeAlso: AH=39h,AX=5702h"OS/2",AX=5703h"OS/2"

Top
216D - INT 21 U - Novell DOS 7 - NOP
INT 21 U - Novell DOS 7 - NOP
	AH = 6Dh
Return: AX = 0000h
Note:	this function invokes the same code as other NOP functions such as
	  AH=18h and AH=61h

Top
216E - INT 21 U - DOS 5+ ROM - FIND NEXT ROM PROGRAM
INT 21 U - DOS 5+ ROM - FIND NEXT ROM PROGRAM
	AH = 6Eh
	Disk Transfer Area contains result of previous FindFirst ROM
	  (see AH=6Dh)
Return: CF clear if found
	    Disk Transfer Area filled with updated ROM search structure
	      (see #01771)
	CF set if not found
	    AX = 0012h (no more matches)
	---if not supported (DOS <5, MS-DOS 5+ non-ROM versions)---
	AL = 00h
SeeAlso: AH=4Fh,AH=6Dh

Top
216E - INT 21 U - OS/2 v1.x FAPI - "DosEnumAttrib"
INT 21 U - OS/2 v1.x FAPI - "DosEnumAttrib"
	AH = 6Eh
	DS:SI -> parameter packet (see #01772)
Return: CF clear if successful
	    AX = 0000h
	    DS:SI buffer updated
	CF set on error
	    AX = error code
Note:	also supported by OS/2 v2.0+ Virtual DOS Machines
SeeAlso: AX=5703h,AH=6Fh"OS/2",INT 2F/AX=112Dh

Format of OS/2 DosEnumAttrib parameter packet:
Offset	Size	Description	(Table 01772)
 00h	DWORD	reserved (0)
 04h	DWORD	info level (always 00000001h)
 08h	DWORD	(call) number of entries requested
		(ret) actual number of entries returned
 0Ch	DWORD	length of buffer
 10h	DWORD	pointer to buffer for results
 14h	DWORD	number of first entry to return
 18h	DWORD	-> file handle or ASCIZ pathname
 1Ch	WORD	flag: 00h = previous field is file handle, 01h = pathname

Top
216F00 - INT 21 U - DOS 5+ ROM - GET ROM SCAN START ADDRESS
INT 21 U - DOS 5+ ROM - GET ROM SCAN START ADDRESS
	AX = 6F00h
Return: CF clear
	AL = 00h
	    BX = current ROM scan starting segment if function supported
SeeAlso: AH=6Dh,AX=6F01h,AX=6F02h

Top
216F00 - INT 21 U - OS/2 v1.x FAPI - "DosQMaxEASize" - GET MAXIMUM SIZE OF EXTENDED ATTR
INT 21 U - OS/2 v1.x FAPI - "DosQMaxEASize" - GET MAXIMUM SIZE OF EXTENDED ATTR
	AX = 6F00h
	DS:SI -> DWORD buffer for maximum size of an extended attribute
Return: CF clear if successful
	    AX = 0000h
	    buffer filled
	CF set on error
	    AX = error code
Note:	also supported by OS/2 v2.0+ Virtual DOS Machines
SeeAlso: AX=5703h,AX=6C01h,AH=6Eh"OS/2"

Top
216F01 - INT 21 U - DOS 5+ ROM - SET ROM SCAN START ADDRESS
INT 21 U - DOS 5+ ROM - SET ROM SCAN START ADDRESS
	AX = 6F01h
	BX = new ROM scan starting address
Return: CF clear
	AL = 00h
SeeAlso: AX=6F00h,AX=6F03h

Top
216F02 - INT 21 U - DOS 5+ ROM - GET EXCLUSION REGION LIST
INT 21 U - DOS 5+ ROM - GET EXCLUSION REGION LIST
	AX = 6F02h
	ES:BX -> buffer for exclusion region list (see #01773)
Return: CF clear
	AL = 00h
	ES:BX = 0000h:0000h on error, unchanged if buffer filled
Note:	for DOS versions which do not support this function, the return value
	  is AL=00h, CF unchanged, ES:BX unchanged, and the ES:BX buffer
	  unchanged
SeeAlso: AX=6F00h,AX=6F03h

Format of ROM exclusion region list:
Offset	Size	Description	(Table 01773)
 00h	WORD	number of entries
 02h 2N WORDs	start/end segments of N excluded regions

Top
216F03 - INT 21 U - DOS 5+ ROM - SET EXCLUSION REGION LIST
INT 21 U - DOS 5+ ROM - SET EXCLUSION REGION LIST
	AX = 6F03h
	DS:DX -> new exclusion region list (see #01773)
Return: CF clear
	AL = 00h
Notes:	DOS saves only the pointer and assumes that the contents of the list
	  are never changed, and that regions do not overlap
	if AL > 03h on entry, DOS returns CF set/AL=01h
SeeAlso: AX=6F01h,AX=6F02h

Top
2170 - INT 21 - MS-DOS 7 (Windows95) - GET/SET INTERNATIONALIZATION INFORMATION
INT 21 - MS-DOS 7 (Windows95) - GET/SET INTERNATIONALIZATION INFORMATION
	AH = 70h
	AL = subfunction
	    00h get ??? info
		CX = buffer size (3Ah bytes needed)
		ES:DI -> buffer
	    01h set above info
		CX = number of bytes to set
		DS:SI -> buffer containing ??? info (see #01774)
	    02h set general internationalization info (see also AX=6500h)
		DS:SI -> buffer containing info (see #01775)
		CX = buffer size in bytes (up to 26h bytes used)
		first three bytes are skipped, the rest is copied to somewhere
		  in the DOS data segment
Return: CF clear if successful
	    ES:DI buffer filled (func 00h) (see #01774)
	    CX = number of bytes actually set or returned
		  (max 003Ah for functions 00h and 01h under v7.00, 0026h for
		  function 02h)
	CF set on error
	    AX = error code
		7000h if function not supported
SeeAlso: AH=38h,AH=65h

Format of MS-DOS v7.0 ??? table:
Offset	Size	Description	(Table 01774)
 00h 58 BYTEs	??? country-specific information
		returned was (among others) "ENU USA GR"..."AM PM M/d/yy"...
		 "dddd,MMMMdd,yyyy" in the German Preview version, and "US"
		 instead of "GR" in the US build 450 version (with German
		 country setting) and the US build 950a version with US
		 country settings
SeeAlso: #01775

Format of MS-DOS v7.0 internationalization table:
Offset	Size	Description	(Table 01775)
 00h  3 BYTEs	unused (and ignored by DOS)
 03h	WORD	country ID (see #01400 at AH=38h)
 05h	WORD	code page (see #01757)
 07h	WORD	date format
 09h  5 BYTEs	ASCIZ currency symbol string
 07h  2 BYTEs	ASCIZ thousands separator
 09h  2 BYTEs	ASCIZ decimal separator
 0Bh  2 BYTEs	ASCIZ date separator
 0Dh  2 BYTEs	ASCIZ time separator
 0Fh	BYTE	currency format
		bit 2 = set if currency symbol replaces decimal point
		bit 1 = number of spaces between value and currency symbol
		bit 0 = 0 if currency symbol precedes value
			1 if currency symbol follows value
 10h	BYTE	number of digits after decimal in currency
 11h	BYTE	time format
		bit 0 = 0 if 12-hour clock
			1 if 24-hour clock
 12h	DWORD	address of case map routine
		(FAR CALL, AL = character to map to upper case [>= 80h])
 16h  2 BYTEs	ASCIZ data-list separator
 18h 10 BYTEs	reserved
Note:	this table has the identical format to the extended country information
	  retrieved via AH=65h with info ID = 01h
SeeAlso: #01399,#01750

Top
217070BX6060 - INT 21 - PCW Weather Card interface - GET DATA SEGMENT
INT 21 - PCW Weather Card interface - GET DATA SEGMENT
	AX = 7070h
	BX = 6060h
	CX = 7070h
	DX = 7070h
	SI = 7070h
	DI = 7070h
Return: AX = segment of data structure (see #01776)
Notes:	the data structure is at offset 516 from this segment
	the update byte is at offset 514 from this segment.  Updates are
	  once per second while this byte is nonzero and it is decremented
	  once per second.  While this byte is 0 updates are once per minute.
SeeAlso: AX=7070h/BX=7070h

Format of PCW Weather Card data structure:
Offset	Type	Description	(Table 01776)
 00h	WORD	hour
 02h	WORD	minute
 04h	WORD	second
 06h	WORD	day
 08h	WORD	month
 0Ah	WORD	year
 0Ch	WORD	???
 0Eh	WORD	relative barometric pressure (in 1/100 inches)
 10h	WORD	???
 12h	WORD	???
 14h	WORD	temperature 1 (in 1/10 degrees F)
 16h	WORD	temperature 1 lowest (in 1/10 degrees F)
 18h	WORD	temperature 1 highest (in 1/10 degrees F)
 1Ah	WORD	temperature 2 (in 1/10 degrees F)
 1Ch	WORD	temperature 2 lowest (in 1/10 degrees F)
 1Eh	WORD	temperature 2 highest (in 1/10 degrees F)
 20h	WORD	wind speed (in MPH)
 22h	WORD	average of 60 wind speed samples (in MPH)
 24h	WORD	highest wind speed (in MPH)
 26h	WORD	wind chill factor  (in 1/10 degrees F)
 28h	WORD	lowest wind chill factor (in 1/10 degrees F)
 2Ah	WORD	???
 2Ch	WORD	wind direction (in degrees)
 2Eh	WORD	accumulated daily rainfall (in 1/10 inches)
 30h	WORD	accumulated annual rainfall (in 1/10 inches)

Top
217070BX7070 - INT 21 - PCW Weather Card interface - INSTALLATION CHECK
INT 21 - PCW Weather Card interface - INSTALLATION CHECK
	AX = 7070h
	BX = 7070h
	CX = 7070h
	DX = 7070h
	SI = 7070h
	DI = 7070h
Return: AX = 0070h
	BX = 0070h
	CX = 0070h
	DX = 0070h
	SI = 0070h
	DI = 0070h
SeeAlso: AX=7070h/BX=6060h,AX=8080h

Top
2171 - INT 21 - Windows95 - LONG FILENAME FUNCTIONS
INT 21 - Windows95 - LONG FILENAME FUNCTIONS
	AH = 71h
	AL = function
	    0Dh reset drive (see AX=710Dh)
	    39h create directory (see AX=7139h)
	    3Ah remove directory (see AX=713Ah)
	    3Bh set current directory (see AX=713Bh)
	    41h delete file (see AX=7141h)
	    43h get/set file attributes (see AX=7143h)
	    47h get current directory (see AX=7147h)
	    4Eh find first file (see AX=714Eh)
	    4Fh find next file (see AX=714Fh)
	    56h move (rename) file (see AX=7156h)
	    60h truename (see AX=7160h/CL=00h,AX=7160h/CL=02h)
	    6Ch create/open file (see AX=716Ch)
	    A0h get volume information (see AX=71A0h)
	    A1h terminate FindFirst/FindNext (see AX=71A1h)
	    A6h get file information (see AX=71A6h)
	    A7h time conversion (see AX=71A7h/BL=00h,AX=71A7h/BL=01h)
	    A8h generate short filename (see AX=71A8h)
	    A9h server create/open file (see AX=71A9h)
	    AAh create/terminate SUBST (see AX=71AAh/BH=00h,AX=71AAh/BH=02h)
Return: CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
	CF clear if successful
	    other registers as for corresponding "old" DOS function
Notes:	if error 7100h is returned, the old-style function should be called
	AX=714Eh returns a "search handle" which must be passed to AX=714Fh;
	  when the search is complete, AX=71A1h must be called to terminate
	  the search
	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
	Caldera's DPMS-enabled LONGNAME.EXE BETA 1 extension for DR-DOS 7
	  supports the following sub-set of LFN functions: 39h, 3Ah, 3Bh, 41h,
	  43h (BL = 0, 1 only), 47h, 4Eh, 4Fh, 56h, 60h (CL = 0, 1, 2), 6Ch,
	  A0h, A1h, A8h. BETA 2 fixes LFN directory entry checksums, which
	  were causing wrong LFNs to be attached to a file. The 8.3 short
	  names for filenames with exactly 8 chars are no longer abbreviated
	  (e.g. LONGNAME.TXT -> LONGNAME.TXT, not LONGNA~1.TXT). BETA 3 has
	  A7h (BL=0, 1) functions added, and 4Eh/4Fh can return file times
	  in both DOS and 64 bit formats, BETA 4 has support added for
	  Caldera's DRFAT32 redirector extension (see INT 2F/AX=15xxh).
	Caldera's DR-OpenDOS 7.02+ COMMAND.COM utilizes the LFN API as soon
	  as it detects it (mind, that LONGNAME.EXE can be dynamically loaded
	  and unloaded at runtime). This COMMAND.COM shell also works under
	  MS-DOS/PC DOS and in DOS boxes of Windows9x, NT, 2000, and OS/2.
	For 4DOS 6.02+ to work with 3rd party LFN providers, the Win95LFN=Yes
	  directive should be inserted into the 4DOS.INI file.
	Mike Podanoffsky's RxDOS 7.2 provides most of this API natively,
	  including functions 39h, 3Ah, 3Bh, 41h, 43h (BL = ???), 47h, 4Bh,
	  4Eh, 4Fh, 56h, 60h (CL = 0, 1, 2, no CH), 6Ch, A0h, A1h and A7h.
	  However, not all sub-functions seem to be supported yet.
SeeAlso: AH=39h,AH=3Ah,AH=3Bh,AH=41h,AX=4300h,AX=4301h,AX=4304h,AX=4306h
SeeAlso: AX=4307h,AH=47h,AH=4Eh,AH=4Fh,AH=56h,AH=6Ch,AX=714Eh,AX=714Fh

Top
2171 - INT 21 - VIRUS - "1205" - INSTALLATION CHECK
INT 21 - VIRUS - "1205" - INSTALLATION CHECK
	AH = 71h
Return: AH = 17h if "1205" is resident
SeeAlso: AX=6969h"VIRUS",AH=76h"VIRUS"

Top
21710D - INT 21 - Windows95 - RESET DRIVE
INT 21 - Windows95 - RESET DRIVE
	AX = 710Dh
	CX = action (see #01777)
	DX = drive number
Return: CF clear
Note:	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=0Dh

(Table 01777)
Values for drive reset action:
 0000h	flush filesystem buffers for drive, and reset drive
 0001h	flush filesystem buffers and cache for drive, and reset drive
 0002h	remount DriveSpace volume

Top
217139 - INT 21 - Windows95 - LONG FILENAME - MAKE DIRECTORY
INT 21 - Windows95 - LONG FILENAME - MAKE DIRECTORY
	AX = 7139h
	DS:DX -> ASCIZ long directory name (including path)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=39h,AX=713Ah,AX=713Bh,AX=43FFh/BP=5053h

Top
21713A - INT 21 - Windows95 - LONG FILENAME - REMOVE DIRECTORY
INT 21 - Windows95 - LONG FILENAME - REMOVE DIRECTORY
	AX = 713Ah
	DS:DX -> ASCIZ long name of directory to remove
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=3Ah,AX=7139h

Top
21713B - INT 21 - Windows95 - LONG FILENAME - CHANGE DIRECTORY
INT 21 - Windows95 - LONG FILENAME - CHANGE DIRECTORY
	AX = 713Bh
	DS:DX -> ASCIZ long name of directory to make current
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=0Eh,AH=3Bh,AX=7139h

Top
217141 - INT 21 - Windows95 - LONG FILENAME - DELETE FILE
INT 21 - Windows95 - LONG FILENAME - DELETE FILE
	AX = 7141h
	DS:DX -> ASCIZ long name of file to delete
	SI = wildcard and attributes flag
		0000h wildcards are not allowed, and search attributes are
			ignored
		0001h wildcards are allowed, and only files with matching
			names and attributes are deleted
	CL = search attributes
	CH = must-match attributes
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=41h

Top
217143 - INT 21 - Windows95 - LONG FILENAME - EXTENDED GET/SET FILE ATTRIBUTES
INT 21 - Windows95 - LONG FILENAME - EXTENDED GET/SET FILE ATTRIBUTES
	AX = 7143h
	DS:DX -> ASCIZ filename
	BL = action
	    00h retrieve attributes
		Return:	CX = file attributes (see #01420)
	    01h set attributes
		CX = attributes
	    02h get physical size of compressed file
		Return: DX:AX = actual disk usage of file, in bytes
	    03h set last write date/time
		DI = new last-write date (see #01666)
		CX = new last-write time (see #01665)
	    04h get last write date/time
		Return:	CX = last write time (see #01665)
			DI = last write date (see #01666)
	    05h set last access date
		DI = new last-access date (see #01666)
	    06h get last access date
		Return:	DI = last access date (see #01666)
	    07h set creation date/time
		DI = new creation date (see #01666)
		CX = new creation time (see #01665)
		SI = hundredths (10-millisecond units past time in CX, 0-199)
	    08h get creation date/time
		Return:	CX = creation time (see #01665)
			DI = creation date (see #01666)
			SI = hundredths (10-millisecond units past time in CX)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AX=4300h,AX=4301h

Top
217147 - INT 21 - Windows95 - LONG FILENAME - GET CURRENT DIRECTORY
INT 21 - Windows95 - LONG FILENAME - GET CURRENT DIRECTORY
	AX = 7147h
	DL = drive number (00h = current, 01h = A:, etc.)
	DS:SI -> buffer for ASCIZ directory name
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Notes:	the returned pathname does not include the drive letter, colon, or
	  leading backslash, and is not necessarily a long filename -- this
	  function returns whatever path was used when changing to the
	  current directory, and may include a mixture of long and short
	  components
	the provided buffer must be at least as large as the value indicated
	  by AX=71A0h
	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=47h,AX=713Bh,AX=7160h,AX=71A0h

Top
21714E - INT 21 - Windows95 - LONG FILENAME - FIND FIRST MATCHING FILE
INT 21 - Windows95 - LONG FILENAME - FIND FIRST MATCHING FILE
	AX = 714Eh
	CL = allowable-attributes mask (see #01420 at AX=4301h)
	      (bits 0 and 5 ignored)
	CH = required-attributes mask (see #01420)
	SI = date/time format (see #01778)
	DS:DX -> ASCIZ filespec (both "*" and "*.*" match any filename)
	ES:DI -> FindData record (see #01779)
Return: CF clear if successful
	    AX = filefind handle (needed to continue search)
	    CX = Unicode conversion flags (see #01780)
	CF set on error
	    AX = error code
		7100h if function not supported
Notes:	this function is only available when IFSMgr is running, not under bare
	  MS-DOS 7
	the application should close the filefind handle with AX=71A1h as soon
	  as it has completed its search
	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=4Eh,AX=714Fh,AX=71A1h

(Table 01778)
Values for Windows95 date/time format:
 0000h	use 64-bit file time format
 0001h	use MS-DOS date/time values (see #01665,#01666) in low double-word of
	  file time QWORD (date is high word, time is low word of double-word)
SeeAlso: #01779

Format of Windows95 long filename FindData record:
Offset	Size	Description	(Table 01779)
 00h	DWORD	file attributes
		bits 0-6 standard DOS attributes (see #01420 at INT 21/AX=4301h)
		bit 8: temporary file
 04h	QWORD	file creation time (number of 100ns intervals since 1/1/1601)
 0Ch	QWORD	last access time
 14h	QWORD	last modification time
 1Ch	DWORD	file size (high 32 bits)
 20h	DWORD	file size (low 32 bits)
 24h  8 BYTEs	reserved (apparently unused)
 2Ch 260 BYTEs	ASCIZ full filename
130h 14 BYTEs	ASCIZ short filename (for backward compatibility)
Note:	under Windows95B, the ASCIZ short filename will be the empty string
	  if the directory does not contain a long filename entry for the
	  file; in that case, the application should use the full filename
SeeAlso: #01780

Bitfields for Windows95 Unicode conversion flags:
Bit(s)	Description	(Table 01780)
 0	the returned full filename contains underscores for un-convertable
	  Unicode characters
 1	the returned short filename contains underscores for un-convertable
	  Unicode characters
SeeAlso: #01779

Top
21714F - INT 21 - Windows95 - LONG FILENAME - FIND NEXT MATCHING FILE
INT 21 - Windows95 - LONG FILENAME - FIND NEXT MATCHING FILE
	AX = 714Fh
	BX = filefind handle (from AX=714Eh)
	SI = date/time format (see #01778)
	ES:DI -> buffer for FindData record (see #01779)
Return: CF clear if successful
	    AH = 4Fh (undocumented)
	    AL destroyed (becomes low byte of filefind handle in Win95B)
	    CX = Unicode conversion flags (see #01780)
	CF set on error
	    AX = error code
		7100h if function not supported
Notes:	this function is only available when IFSMgr is running, not under bare
	  MS-DOS 7
	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
SeeAlso: AH=4Eh,AX=714Eh,AX=71A1h,AX=71A2h

Top
217156 - INT 21 - Windows95 - LONG FILENAME - RENAME FILE
INT 21 - Windows95 - LONG FILENAME - RENAME FILE
	AX = 7156h
	DS:DX -> ASCIZ old file or directory name (long names allowed)
	ES:DI -> ASCIZ new name (long names allowed)
Return: CF clear if successful
	CF set on error
	    AX = error code
		7100h if function not supported
Note:	the file may be renamed into a different directory, but not across
	  disks
SeeAlso: AH=56h,AX=7141h,AX=43FFh/BP=5053h

Top
217160CL00 - INT 21 - Windows95 - LONG FILENAME - "TRUENAME" - CANONICALIZE PATH
INT 21 - Windows95 - LONG FILENAME - "TRUENAME" - CANONICALIZE PATH
	AX = 7160h
	CL = 00h
	CH = SUBST expansion flag
	    00h return a path containing true path for a SUBSTed drive letter
	    80h return a path containing the SUBSTed drive letter
	DS:SI -> ASCIZ filename or path (either long name or short name)
	ES:DI -> 261-byte buffer for canonicalized name
Return: CF set on error
	    AX = error code
		02h invalid component in directory path or drive letter only
		03h malformed path or invalid drive letter
	    ES:DI buffer unchanged
	CF clear if successful
	    ES:DI buffer filled with fully qualified name
	    AX destroyed
Desc:	determine the canonical name of the specified filename or path,
	  corresponding to the undocumented TRUENAME command in COMMAND.COM
Notes:	if a complete path is given, the result will be a short-form complete
	  path; otherwise, the given relative path is appended to the
	  short-form current directory name, '.'/'..'/'...'/etc. are resolved,
	  and the final result uppercased without converting any remaining
	  long-form names to short-form
	for compatibility with DOS versions prior to v7.00, the carry flag
	  should be set on call to ensure that it is set on exit
BUG:	Windows95 incorrectly treats filenames where the first two characters
	  after the drive letter and colon are both slashes (either forward
	  or backward) as a UNC (network name) and requires several seconds
	  to attempt to resolve the name before returning an unchanged
	  string
SeeAlso: AH=60h,AX=7160h/CL=01h

Top
217160CL01 - INT 21 - Windows95 - LONG FILENAME - GET SHORT (8.3) FILENAME FOR FILE
INT 21 - Windows95 - LONG FILENAME - GET SHORT (8.3) FILENAME FOR FILE
	AX = 7160h
	CL = 01h
	CH = SUBST expansion flag
	    00h return a path containing true path for a SUBSTed drive letter
	    80h return a path containing the SUBSTed drive letter
	DS:SI -> ASCIZ long filename or path
	ES:DI -> 67-byte (possibly 128-byte) buffer for short filename
Return: CF set on error
	    AX = error code
		02h invalid component in directory path or drive letter only
		03h malformed path or invalid drive letter
	    ES:DI buffer unchanged
	CF clear if successful
	    ES:DI buffer filled with equivalent short filename (full path,
		  even if relative path given, and all uppercase)
Note:	this call returns the short name for any long-filename portions of
	  the provided pathname or filename
SeeAlso: AH=60h,AX=7160h/CL=00h,AX=7160h/CL=02h

Top
217160CL02 - INT 21 - Windows95 - LONG FILENAME - GET CANONICAL LONG FILENAME OR PATH
INT 21 - Windows95 - LONG FILENAME - GET CANONICAL LONG FILENAME OR PATH
	AX = 7160h
	CL = 02h
	CH = SUBST expansion flag
	    00h return a path containing true path for a SUBSTed drive letter
	    80h return a path containing the SUBSTed drive letter
	DS:SI -> ASCIZ short filename or path
	ES:DI -> 261-byte buffer for canonicalized long name
Return: CF set on error
	    AX = error code
		02h invalid component in directory path or drive letter only
		03h malformed path or invalid drive letter
	    ES:DI buffer unchanged
	CF clear if successful
	    ES:DI buffer filled with qualified long name (can contain
		  lowercase letters)
Desc:	determine the canonical name of the specified filename or path,
	  corresponding to the undocumented TRUENAME command in COMMAND.COM
BUGS:	even though the maximum length of a complete long pathname is 260
	  characters, Windows95 returns CF set/AX=0003h even if the file
	  exists whenever the full pathname is more than 255 characters
	Windows95 incorrectly treats filenames where the first two characters
	  after the drive letter and colon are both slashes (either forward
	  or backward) as a UNC (network name) and requires several seconds
	  to attempt to resolve the name before returning an unchanged
	  string
SeeAlso: AH=60h,AX=7160h/CL=00h,AX=7160h/CL=01h

Top
21716C - INT 21 - Windows95 - LONG FILENAME - CREATE OR OPEN FILE
INT 21 - Windows95 - LONG FILENAME - CREATE OR OPEN FILE
	AX = 716Ch
	BX = access mode and sharing flags (see #01782,also AX=6C00h)
	CX = attributes
	DX = action (see #01781)
	DS:SI -> ASCIZ filename
	DI = alias hint (number to append to short filename for disambiguation)
Return: CF clear if successful
	    AX = file handle
	    CX = action taken
		0001h file opened
		0002h file created
		0003h file replaced
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
SeeAlso: AX=6C00h,AX=7141h,AX=7156h,AX=71A9h

Bitfields for Windows95 long-name open action:
Bit(s)	Description	(Table 01781)
 0	open file (fail if file does not exist)
 1	truncate file if it already exists (fail if file does not exist)
 4	create new file if file does not already exist (fail if exists)
Note:	the only valid combinations of multiple flags are bits 4&0 and 4&1

Bitfields for Windows95 file access/sharing modes:
Bit(s)	Description	(Table 01782)
 2-0	file access mode
	000 read-only
	001 write-only
	010 read-write
	100 read-only, do not modify file's last-access time
 6-4	file sharing modes
 7	no-inherit flag
 8	do not buffer data (requires that all reads/writes be exact physical
	  sectors)
 9	do not compress file even if volume normally compresses files
 10	use alias hint in DI as numeric tail for short-name alias
 12-11	unused??? (0)
 13	return error code instead of generating INT 24h if critical error
	  while opening file
 14	commit file after every write operation
SeeAlso: #01402

Top
2171A0 - INT 21 - Windows95 - LONG FILENAME - GET VOLUME INFORMATION
INT 21 - Windows95 - LONG FILENAME - GET VOLUME INFORMATION
	AX = 71A0h
	DS:DX -> ASCIZ root name (e.g. "C:\")
	ES:DI -> buffer for file system name
	CX = size of ES:DI buffer
Return: CF clear if successful
	    AX destroyed (0000h and 0200h seen)
	    BX = file system flags (see #01783)
	    CX = maximum length of file name [usually 255]
	    DX = maximum length of path [usually 260]
	    ES:DI buffer filled (ASCIZ, e.g. "FAT","NTFS","CDFS")
	CF set on error
	    AX = error code
		7100h if function not supported
Notes:	for the file system name buffer, 32 bytes should be sufficient; that's
	 what is used in some sample code by Walter Oney from Microsoft.
	this function accesses the disk the first time it is called
BUG:	this function returns DX=0000h for CD-ROM drives under Win95 SP1
SeeAlso: AX=714Eh,AX=7160h/CL=00h

Bitfields for long filename volume information flags:
Bit(s)	Description	(Table 01783)
 0	searches are case sensitive
 1	preserves case in directory entries
 2	uses Unicode characters in file and directory names
 3-13	reserved (0)
 14	supports DOS long filename functions
 15	volume is compressed

Top
2171A1 - INT 21 - Windows95 - LONG FILENAME - "FindClose" - TERMINATE DIRECTORY SEARCH
INT 21 - Windows95 - LONG FILENAME - "FindClose" - TERMINATE DIRECTORY SEARCH
	AX = 71A1h
	BX = filefind handle (from AX=714Eh)
Return: CF clear if successful
	CF set on error
	   AX = error code
		7100h if function not supported
Notes:	this function must be called after starting a search with AX=714Eh,
	  to indicate that the search handle returned by that function will
	  no longer be used
	this function is only available when IFSMgr is running, not under bare
	  MS-DOS 7
SeeAlso: AH=4Eh,AX=714Eh,AX=714Fh

Top
2171A2 - INT 21 U - Windows95 - internal - LONG FILENAME - FIND NEXT MATCHING FILE
INT 21 U - Windows95 - internal - LONG FILENAME - FIND NEXT MATCHING FILE
	AX = 71A2h
	BX = filefind handle (from AX=714Eh)
	SI = date/time format (see #01778)
	ES:DI -> buffer for FindData record (see #01779)
Return: CF clear if successful
	    AX = 71A2h
	    CX = Unicode conversion flags (see #01780)
	CF set on error
	    AX = error code
		7100h if function not supported
Notes:	this function is only available when IFSMgr is running, not under bare
	  MS-DOS 7; it is functionally identical to AX=714Fh
	documented as "for internal use by Windows 95 only"

Top
2171A3 - INT 21 U - Windows95 - internal
INT 21 U - Windows95 - internal
	AX = 71A3h
	???
Return: ???
Note:	documented as "for internal use by Windows 95 only"

Top
2171A4 - INT 21 U - Windows95 - internal
INT 21 U - Windows95 - internal
	AX = 71A4h
	???
Return: ???
Note:	documented as "for internal use by Windows 95 only"

Top
2171A5 - INT 21 U - Windows95 - internal
INT 21 U - Windows95 - internal
	AX = 71A5h
	???
Return: ???
Note:	documented as "for internal use by Windows 95 only"

Top
2171A6 - INT 21 - Windows95 - LONG FILENAME - GET FILE INFO BY HANDLE
INT 21 - Windows95 - LONG FILENAME - GET FILE INFO BY HANDLE
	AX = 71A6h
	BX = file handle
	DS:DX -> buffer for file information (see #01784)
	CF set
Return: CF clear if successful
	    file information record filled
	CF set on error
	    AX = error code
		7100h if function not supported
SeeAlso: AX=71A7h/BL=00h

Format of Windows95 file information:
Offset	Size	Description	(Table 01784)
 00h	DWORD	file attributes
 04h	QWORD	creation time (0 = unsupported)
 0Ch	QWORD	last access time (0 = unsupported)
 14h	QWORD	last write time
 1Ch	DWORD	volume serial number
 20h	DWORD	high 32 bits of file size
 24h	DWORD	low 32 bits of file size
 28h	DWORD	number of links to file
 2Ch	DWORD	unique file identifier (high 32 bits)
 30h	DWORD	unique file identifier (low 32 bits)
Note:	the file identifer and volume serial number together uniquely identify
	  a file while it is open; the identifier may change when the system
	  is restarted or the file is first opened

Top
2171A7BL00 - INT 21 - Windows95 - LONG FILENAME - FILE TIME TO DOS TIME
INT 21 - Windows95 - LONG FILENAME - FILE TIME TO DOS TIME
	AX = 71A7h
	BL = 00h
	DS:SI -> QWORD file time
Return: CF clear if successful
	    CX = DOS time (see #01665)
	    DX = DOS date (see #01666)
	    BH = hundredths (10-millisecond units past time in CX)
	CF set on error
	    AX = error code
		7100h if function not supported
Desc:	convert Win95 64-bit file time (UTC) into DOS-style date and time
	  (local timezone)
Note:	the conversion fails if the file time's value is outside the range
	  01jan1980 and 31dec2107
SeeAlso: AX=71A6h,AX=71A7h/BL=01h

Top
2171A7BL01 - INT 21 - Windows95 - LONG FILENAME - DOS TIME TO FILE TIME
INT 21 - Windows95 - LONG FILENAME - DOS TIME TO FILE TIME
	AX = 71A7h
	BL = 01h
	CX = DOS time (see #01665)
	DX = DOS date (see #01666)
	BH = hundredths (10-millisecond units past time in CX)
	ES:DI -> buffer for QWORD file time
Return: CF clear if successful
	    ES:DI buffer filled
	CF set on error
	    AX = error code
		7100h if function not supported
Desc:	convert DOS-style date and time (local timezone) into Win95 64-bit
	  file time (UTC)
SeeAlso: AX=71A6h,AX=71A7h/BL=00h

Top
2171A8 - INT 21 - Windows95 - LONG FILENAME - GENERATE SHORT FILENAME
INT 21 - Windows95 - LONG FILENAME - GENERATE SHORT FILENAME
	AX = 71A8h
	DS:SI -> ASCIZ long filename (no path allowed!)
	ES:DI -> buffer for ASCIZ short filename
	DH = short name's format
	    00h 11-char directory entry/FCB filename format
	    01h DOS 8.3
	DL = character sets
	    bits 7-4: short name's character set (see #01785)
	    bits 3-0: long name's character set (see #01785)
Return: CF clear if successful
	    ES:DI buffer filled
	CF set on error
	    AX = error code
		7100h if function not supported
Note:	this function uses the same algorithm as the filesystem except that
	  the returned name never has a numeric tail for disambiguation
SeeAlso: AX=7160h/CL=00h,AX=7160h/CL=02h,AX=71A7h/BL=00h

(Table 01785)
Values for Windows95 filename character set:
 00h	Windows ANSI
 01h	current OEM character set
 02h	Unicode

Top
2171A9 - INT 21 - Windows95 - LONG FILENAME - SERVER CREATE OR OPEN FILE
INT 21 - Windows95 - LONG FILENAME - SERVER CREATE OR OPEN FILE
	AX = 71A9h
	BX = access mode and sharing flags (see #01782,also AX=6C00h)
	CX = attributes
	DX = action (see #01781)
	DS:SI -> ASCIZ filename
	DI = alias hint (number to append to short filename for disambiguation)
Return: CF clear if successful
	    AX = global file handle
	    CX = action taken
		0001h file opened
		0002h file created
		0003h file replaced
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	for use by real-mode servers only
SeeAlso: AX=6C00h,AX=716Ch

Top
2171AABH00 - INT 21 - Windows95 - LONG FILENAME - CREATE SUBST
INT 21 - Windows95 - LONG FILENAME - CREATE SUBST
	AX = 71AAh
	BH = 00h
	BL = drive number (00h = default, 01h = A:, etc.)
	DS:DX -> ASCIZ pathname to associate with drive letter
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
SeeAlso: AX=71AAh/BH=01h,AX=71AAh/BH=02h,INT 2F/AX=1000h,#01643

Top
2171AABH01 - INT 21 - Windows95 - LONG FILENAME - TERMINATE SUBST
INT 21 - Windows95 - LONG FILENAME - TERMINATE SUBST
	AX = 71AAh
	BH = 01h
	BL = drive number (01h = A:, etc.)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	the specified drive number may not be 00h (default), and presumably not
	  the current drive either
SeeAlso: AX=71AAh/BH=00h,AX=71AAh/BH=02h,INT 2F/AX=1000h,#01643

Top
2171AABH02 - INT 21 - Windows95 - LONG FILENAME - QUERY SUBST
INT 21 - Windows95 - LONG FILENAME - QUERY SUBST
	AX = 71AAh
	BH = 02h
	BL = drive number (01h = A:, etc.)
	DS:DX -> buffer for ASCIZ pathname associated with drive letter
Return: CF clear if successful
	    DS:DX buffer filled
	CF set on error
	    AX = error code (see #01680)
		7100h if function not supported
Note:	the specified drive number may not be 00h (default drive)
SeeAlso: AX=71AAh/BH=00h,AX=71AAh/BH=01h,INT 2F/AX=1000h,#01643

Top
2172 - INT 21 - Windows95 beta - LFN-FindClose
INT 21 - Windows95 beta - LFN-FindClose
	AH = 72h
	details not available
Return:	CF clear if successful
	CF set on error
	    AX = error code (see #01680)
		7200h if function not supported (e.g. under bare MS-DOS 7)
Note:	this function was present in beta versions of Windows95, but is
	  probably not present in the release version
SeeAlso: AX=71A1h

Top
2173 - INT 21 - MS-DOS 7 - DRIVE LOCKING AND FLUSHING
INT 21 - MS-DOS 7 - DRIVE LOCKING AND FLUSHING
	AH = 73h
	DL = drive (0=current, 1=A:, etc.)
	CL = which flag to get or set
	    00h drive flag???
	    01h drive's dirty-buffers flag
	AL = subfunction
	    00h get indicated flag
	    01h set ???
		CH = new value for indicated flag
		    bit 1: ??? (CL=00h only)
		    bit 3: dirty buffers exist for selected drive (CL=01h only)
Return: CF clear if successful
	    for AL=00h:
		AL = value of CL on entry
		for CL=00h: AH = new flag and 06h (i.e. bits 1 and 2 used)
		for CL=01h: AH = new flag and 08h (i.e. bit 3 used)
		(flag being taken from a table of bytes)
	CF set on error
	    AX = error code (01h,0Fh,etc.) (see #01680)
		7300h if function not supported
Note:	these two subfunctions are available even when only the MS-DOS kernel
	  is running

Top
217302 - INT 21 - Windows95 - FAT32 - "Get_ExtDPB" - GET EXTENDED DPB
INT 21 - Windows95 - FAT32 - "Get_ExtDPB" - GET EXTENDED DPB
	AX = 7302h
	DL = drive number (00h=default, 01h=A:, etc.)
	ES:DI -> buffer for returned data (see #01786)
	CX = length of buffer (003Fh for Windows95)
	SI = signature (undocumented, must be F1A6h to get device driver
	      address and next-DBP pointer) (see #01787)
Return: CF clear if successful
	    ES:DI buffer filled
	CF set on error
	    AX = error code
	       0018h bad buffer length
SeeAlso: AX=7303h,AX=7304h,AH=1Fh,AH=32h

Format of Get_ExtDPB data buffer:
Offset	Size	Description	(Table 01786)
 00h	WORD	(call) length of following data (003Dh)
 02h 61 BYTEs	(ret) drive parameter block (DPB) (see #01787)
 
Format of Extended Drive Parameter Block:
Offset	Size	Description	(Table 01787)
 00h 24 BYTEs	standard DOS 4+ DPB
 18h	BYTE	"dpb_flags" (undocumented)
		FFh force media check
 19h	DWORD	pointer to next DPB (see note)
 1Dh	WORD	cluster at which to start search for free space when writing,
		usually the last cluster allocated
 1Fh	WORD	number of free clusters on drive, FFFFh = unknown
 21h	WORD	high word of free cluster count
 23h	WORD	active FAT/mirroring
		bit 7: do not mirror active FAT to inactive FATs
		bits 6-4: reserved (0)
		bits 3-0: the 0-based FAT number of the active FAT
		    (only meaningful if mirroring disabled)		
 25h	WORD	sector number of file system information sector, or
		  FFFFh for none (see also #01788)
 27h	WORD	sector number of backup boot sector, or FFFFh for none
 29h	DWORD	first sector number of the first cluster
 2Dh	DWORD	maximum cluster number
 31h	DWORD	number of sectors occupied by FAT
 35h	DWORD	cluster number of start of root directory
 39h	DWORD	cluster number at which to start searching for free space
Notes:	except for offset 18h, all of the first 33 bytes are identical to
	  the standard DOS 4-6 DPB
	unless the proper value is given in SI on entry to "Get_ExtDBP", the
	  next-DPB pointer and device driver address are set to 0000h:0000h
SeeAlso: #01786,#01395 at AH=32h,#01664

Format of File System Information structure:
Offset	Size	Description	(Table 01788)
 00h	DWORD	signature 61417272h
 04h	DWORD	number of free clusters (FFFFFFFFh if unknown)
 08h	DWORD	most recently allocated cluster
 0Ch 12 BYTEs	reserved
SeeAlso: #01787

Top
217303 - INT 21 - Windows95 - FAT32 - GET EXTENDED FREE SPACE ON DRIVE
INT 21 - Windows95 - FAT32 - GET EXTENDED FREE SPACE ON DRIVE
	AX = 7303h
	DS:DX -> ASCIZ string for drive ("C:\" or "\\SERVER\Share")
	ES:DI -> buffer for extended free space structure (see #01789)
	CX = length of buffer for extended free space
Return: CF clear if successful
	    ES:DI buffer filled
	CF set on error
	    AX = error code
Notes:	on DOS versions which do not support the FAT32 calls, this function
	  returns CF clear/AL=00h (which is the DOS v1+ method for reporting
	  unimplemented functions)
	under DOS 7.x (i.e. "MSDOS Mode" under Windows95), the ASCIZ string
	  pointed at by DS:DX *must* include the drive letter, or this function
	  will return CF set/AX=0015h (invalid drive).	In a DOS box, omitting
	  the drive letter (DS:DX -> "\") results in the free space for the
	  current default drive, as expected
BUG:	this function returns a maximum of 2GB free space even on an FAT32
	  partition larger than 2GB under some versions of Win95 and Win98,
	  apparently by limiting the number of reported free clusters to no
	  more than 64K -- but only in a DOS window if a TSR has hooked INT 21h
SeeAlso: AX=7302h,AX=7304h,AX=7305h,AH=36h

Format of extended free space structure:
Offset	Size	Description	(Table 01789)
 00h	WORD	(ret) size of returned structure
 02h	WORD	(call) structure version (0000h)
		(ret) actual structure version (0000h)
 04h	DWORD	number of sectors per cluster (with adjustment for compression)
 08h	DWORD	number of bytes per sector
 0Ch	DWORD	number of available clusters
 10h	DWORD	total number of clusters on the drive
 14h	DWORD	number of physical sectors available on the drive, without
		  adjustment for compression
 18h	DWORD	total number of physical sectors on the drive, without
		  adjustment for compression
 1Ch	DWORD	number of available allocation units, without adjustment
		  for compression
 20h	DWORD	total allocation units, without adjustment for compression
 24h  8 BYTEs	reserved

Top
217304 - INT 21 - Windows95 - FAT32 - Set DPB TO USE FOR FORMATTING
INT 21 - Windows95 - FAT32 - Set DPB TO USE FOR FORMATTING
	AX = 7304h
	DL = drive number (00h=default, 01h=A:, etc.)
	CX = size of buffer (must be at least 18h)
	ES:DI -> buffer for Set_DPBforFormat structure (see #01790)
Return: CF clear if successful
	    ES:DI buffer updated
	CF set on error
	    AX = error code (18h = bad length in CX)
SeeAlso: AX=7302h,AX=7303h,AX=7305h

Format of Set_DPBforFormat structure:
Offset	Size	Description	(Table 01790)
 00h	WORD	(call) size
 02h	WORD	(call) structure version???  (0000h)
		(ret) ???
 04h	DWORD	(call) function number
		00h invalidate DPB counts
		01h rebuild DPB from BPB
		02h force media change (next access to drive rebuild DPB)
		03h get/set active FAT number and mirroring
		04h get/set root directory cluster number
---function 00h---
 08h	DWORD	new DPB free count (00000000h=no change, FFFFFFFFh=unknown)
 0Ch	DWORD	new DPB next-free (00000000h=no change, FFFFFFFFh=unknown)
 10h	DWORD	unused
 14h	DWORD	unused
---function 01h---
 08h	DWORD	unused???
 0Ch	DWORD	(call) -> BIOS Parameter Block from which to rebuild DPB
 10h	DWORD	unused
 14h	DWORD	unused
---function 02h---
 08h	DWORD	unused
 0Ch	DWORD	unused
 10h	DWORD	unused
 14h	DWORD	unused
---function 03h---
 08h	DWORD	(call) new active FAT/mirroring state, or FFFFFFFFh to get
		bits 3-0: the 0-based FAT number of the active FAT
		bits 6-4: reserved (0)
		bit 7: do not mirror active FAT to inactive FATs
 0Ch	DWORD	(ret) previous active FAT/mirroring state (as above)
 10h	DWORD	unused
 14h	DWORD	unused
---function 04h---
 08h	DWORD	(call) new root directory cluster number
		    FFFFFFFFh to get current
 0Ch	DWORD	(ret) previous root directory cluster number
 10h	DWORD	unused
 14h	DWORD	unused

Top
217305CXFFFF - INT 21 - Windows95 - FAT32 - EXTENDED ABSOLUTE DISK READ/WRITE
INT 21 - Windows95 - FAT32 - EXTENDED ABSOLUTE DISK READ/WRITE
	AX = 7305h
	CX = FFFFh
	DL = drive number (01h=A:, etc.)
	SI = read/write mode flags (see #01791)
	DS:BX -> disk I/O packet (see #02548 at INT 25)
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	one can not specify the default drive (DL=00h) for this function.
SeeAlso: AX=7302h,AX=7304h,INT 25,INT 26

Bitfields for Extended Absolute Disk Read/Write mode flags:
Bit(s)	Description	(Table 01791)
 0	direction (0=read, 1=write)
 12-1	reserved (0)
 14-13	write type (should be 00 on reads)
	00 unknown data
	01 FAT data
	10 directory data
	11 file data
 15	reserved (0)

Top
217575 - INT 21 - VIRUS - "LEGO" -INSTALLATION CHECK
INT 21 - VIRUS - "LEGO" -INSTALLATION CHECK
	AX = 7575h
Return: AX = 4321h if resident
SeeAlso: AX=6969h,AH=76h"VIRUS"

Top
2176 - INT 21 - VIRUS - "Klaeren"/"Hate" - INSTALLATION CHECK
INT 21 - VIRUS - "Klaeren"/"Hate" - INSTALLATION CHECK
	AH = 76h
Return: AL = 48h if resident
SeeAlso: AX=7575h,AX=7700h"VIRUS"

Top
217700 - INT 21 - VIRUS - "Growing Block" - INSTALLATION CHECK
INT 21 - VIRUS - "Growing Block" - INSTALLATION CHECK
	AX = 7700h
Return: AX = 0920h if resident
SeeAlso: AH=76h,AX=7BCEh,AH=7Fh

Top
217734 - INT 21 U - SCROLLit v1.7 - INSTALLATION CHECK
INT 21 U - SCROLLit v1.7 - INSTALLATION CHECK
	AX = 7734h
Return: DX = 3477h if installed
	    AX = segment of resident code
Program: ScrollIt is a shareware backscroll utility by Bromfield Software
	  Products

Top
217761 - INT 21 - WATCH.COM v3.2+ - INSTALLATION CHECK
INT 21 - WATCH.COM v3.2+ - INSTALLATION CHECK
	AX = 7761h ('wa')
Return: AX = 6177h
Note:	WATCH.COM is part of the "TSR" package by TurboPower Software
SeeAlso: INT 16/AX=7761h

Top
217BCE - INT 21 - VIRUS - "Whisper"/"Taipan" - INSTALLATION CHECK
INT 21 - VIRUS - "Whisper"/"Taipan" - INSTALLATION CHECK
	AX = 7BCEh
Return: AX = 7BCEh if resident (???)
SeeAlso: AX=5454h"VIRUS",AX=7700h,AX=7BCFh,AH=7Fh"VIRUS"

Top
217BCF - INT 21 - VIRUS - "Tai-Pan.666"/"Doom II Death" - INSTALLATION CHECK
INT 21 - VIRUS - "Tai-Pan.666"/"Doom II Death" - INSTALLATION CHECK
	AX = 7BCFh
Return: AX = 7BCFh if resident
SeeAlso: AX=7BCEh"VIRUS",AH=7Dh"VIRUS"

Top
217D - INT 21 - VIRUS - "OffSpring" - INSTALLATION CHECK
INT 21 - VIRUS - "OffSpring" - INSTALLATION CHECK
	AH = 7Dh
Return: AH = FAh if installed
SeeAlso: AX=7BCFh"VIRUS",AH=7Fh"VIRUS"

Top
217F - INT 21 - VIRUS - "Squeaker","ASeXual" - INSTALLATION CHECK
INT 21 - VIRUS - "Squeaker","ASeXual" - INSTALLATION CHECK
	AH = 7Fh
Return: AH = 80h if resident
SeeAlso: AX=7BCEh,AH=83h"VIRUS"

Top
2180 - INT 21 - European MS-DOS 4.0 - "AEXEC" - EXECUTE PROGRAM IN BACKGROUND
INT 21 - European MS-DOS 4.0 - "AEXEC" - EXECUTE PROGRAM IN BACKGROUND
	AH = 80h
	CX = mode
	    0000h place child in zombie mode on exit to preserve exit code
	    0001h discard child process and exit code on termination
	DS:DX -> ASCIZ full program name
	ES:BX -> parameter block (as for AX=4B00h)
Return: CF clear if successful
	    AX = Command Subgroup ID (CSID)
	CF set on error
	    AX = error code (see #01680 at AH=59h/BX=0000h)
Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
	  by several other European OEMs; its release falls between mainstream
	  versions 3.2 and 3.3
Desc:	asynchronously execute a program, creating a new process for it
Notes:	this function is called by the DETACH command
	there is a system-wide limit of 32 processes
	the CSID is used to identify all processes that have been spawned by
	  a given process, whether directly or indirectly
	programs to be run in the background must use the new executable format
	  (see #01596 at AH=4Bh)
	background processes may only perform asynchronous (background) EXECs,
	  either this function or AX=4B04h
	background processes may execute INT 11, INT 12, INT 21, INT 2A, and
	  INT 2F at any time; they may execute INT 10 and INT 16 only while
	  they have opened a popup screen via INT 2F/AX=1401h; no other
	  interrupts may be executed from the background
	background processes may not use drive B: or overlay their code
	  segments
	see AX=8700h for an installation check
	the "NE" new executable format made its first appearance in European
	  MS-DOS 4.0
SeeAlso: AH=4Bh,AH=87h,INT 2F/AX=1400h"POPUP"

Top
218080 - INT 21 - PCW Weather Card interface - UNINSTALL PCW.COM AND FREE MEMORY
INT 21 - PCW Weather Card interface - UNINSTALL PCW.COM AND FREE MEMORY
	AX = 8080h
Return: ???
SeeAlso: AX=7070h/BX=7070h

Top
2181 - INT 21 - European MS-DOS 4.0 - "FREEZE" - STOP A PROCESS
INT 21 - European MS-DOS 4.0 - "FREEZE" - STOP A PROCESS
	AH = 81h
	BX = flag (00h freeze command subtree, 01h only specified process)
	CX = Process ID of head of command subtree
Return: CF clear if successful
	CF set on error
	    AX = error code (no such process)
Desc:	temporarily suspend a process or a process and all of its children
Note:	if BX=0001h, this call will not return until the process is actually
	  frozen, which may not be until after it unblocks from an I/O
	  operation
SeeAlso: AH=82h,AH=89h,AX=8E00h,INT 15/AX=101Dh

Top
2182 - INT 21 - European MS-DOS 4.0 - "RESUME" - RESTART A PROCESS
INT 21 - European MS-DOS 4.0 - "RESUME" - RESTART A PROCESS
	AH = 82h
	BX = flag (00h resume command subtree, 01h only specified process)
	CX = Process ID of head of command subtree
Return: CF clear if successful
	CF set on error
	    AX = error code (no such process)
Desc:	restart a previously-suspended process or a process and all of its
	  children
SeeAlso: AH=81h,INT 15/AX=101Eh

Top
2183 - INT 21 - European MS-DOS 4.0 - "PARTITION" - GET/SET FOREGROUND PARTITION SIZE
INT 21 - European MS-DOS 4.0 - "PARTITION" - GET/SET FOREGROUND PARTITION SIZE
	AH = 83h
	AL = function
	    00h get size
	    01h set new size
		BX = new size in paragraphs
Return: CF clear if successful
	    BX = current size (function 00h) or old size (function 01h)
	CF set on error
	    AX = error code (01h,07h,0Dh)(see #01680 at AH=59h/BX=0000h)
Desc:	specify or determine how much memory may be allocated by the foreground
	  process
Note:	if the partition size is set to 0000h, no partition management is done
	  and all memory allocation is compatible with DOS 3.2.
	the partition size can be changed regardless of what use is being made
	  of the changed memory; subsequent allocations will follow the
	  partition rules (foreground processes may allocate only foreground
	  memory; background processes allocate background memory first, then
	  foreground memory)
SeeAlso: AH=48h,AH=4Ah

Top
2183 - INT 21 - VIRUS - "SVC" - INSTALLATION CHECK
INT 21 - VIRUS - "SVC" - INSTALLATION CHECK
	AH = 83h
Return: DX = 1990h if resident
SeeAlso: AH=76h,AH=84h"VIRUS"

Top
2184 - INT 21 - VIRUS - "SVC 5.0" or "SVC 6.0" - INSTALLATION CHECK
INT 21 - VIRUS - "SVC 5.0" or "SVC 6.0" - INSTALLATION CHECK
	AH = 84h
Return: DX = 1990h if resident
	    BH = version number (major in high nybble, minor in low)
SeeAlso: AH=83h"VIRUS",AH=89h"VIRUS"

Top
218400 - INT 21 - European MS-DOS 4.0 - "CREATMEM" - CREATE A SHARED MEMORY AREA
INT 21 - European MS-DOS 4.0 - "CREATMEM" - CREATE A SHARED MEMORY AREA
	AX = 8400h
	BX = size in bytes (0000h = 65536)
	CX = flags
	    bit 6: zero-initialize segment
	DS:DX -> ASCIZ name (must begin with "\SHAREMEM\")
Return: CF clear if successful
	    AX = segment address of shared memory global object
	CF set on error
	    AX = error code (06h,08h) (see #01680 at AH=59h/BX=0000h)
Desc:	create an area of memory which may be accessed by multiple processes
Notes:	shared memory objects are created as special files (thus the
	  restriction on the name)
	on successful creation, the reference count is set to 1
SeeAlso: AX=8401h,AX=8402h,INT 15/AX=DE19h

Top
218401 - INT 21 - European MS-DOS 4.0 - "GETMEM" - OBTAIN ACCESS TO SHARED MEMORY AREA
INT 21 - European MS-DOS 4.0 - "GETMEM" - OBTAIN ACCESS TO SHARED MEMORY AREA
	AX = 8401h
	CX = flags
	    bit 7: writable segment (ignored by MS-DOS 4.0)
	DS:DX -> ASCIZ name (must begin with "\SHAREMEM\")
Return: CF clear if successful
	    AX = segment address of shared memory global object
	    CX = size in bytes
	CF set on error
	    AX = error code (invalid name)
Desc:	get address of a previously-created area of memory which may be
	  accessed by multiple processes
Note:	this call increments the reference count for the shared memory area
SeeAlso: AX=8400h,AX=8402h

Top
218402 - INT 21 - European MS-DOS 4.0 - "RELEASEMEM" - FREE SHARED MEMORY AREA
INT 21 - European MS-DOS 4.0 - "RELEASEMEM" - FREE SHARED MEMORY AREA
	AX = 8402h
	BX = handle (segment address of shared memory object)
Return: CF clear if successful
	CF set on error
	    AX = error code (no such name)
Desc:	indicate that the specified area of shared memory will no longer be
	  used by the caller
Note:	the reference count is decremented and the shared memory area is
	  deallocated if the new reference count is zero
SeeAlso: AX=8400h,AX=8401h,INT 15/AX=DE19h

Top
2185 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 85h
	???
Return: ???

Top
2186 - INT 21 - European MS-DOS 4.0 - "SETFILETABLE" - INSTALL NEW FILE HANDLE TABLE
INT 21 - European MS-DOS 4.0 - "SETFILETABLE" - INSTALL NEW FILE HANDLE TABLE
	AH = 86h
	BX = total number of file handles in new table
Return: CF clear if successful
	CF set on error
	    AX = error code (06h,08h) (see #01680 at AH=59h/BX=0000h)
Desc:	adjust the size of the per-process open file table, thus raising or
	  lowering the limit on the number of files the caller can open
	  simultaneously
Notes:	any currently-open files are copied to the new table
	if the table is increased beyond the default 20 handles, only the
	  first 20 will be inherited by child processes
	error 06h is returned if the requested number of handles exceeds
	  system limits or would require closing currently-open files
SeeAlso: AH=26h,AH=67h

Top
2187 - INT 21 - European MS-DOS 4.0 - "GETPID" - GET PROCESS IDENTIFIER
INT 21 - European MS-DOS 4.0 - "GETPID" - GET PROCESS IDENTIFIER
	AH = 87h
Return: AX = PID
	BX = parent process's PID
	CX = Command Subgroup ID (CSID)
Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
	  by several other European OEMs; its release falls between mainstream
	  versions 3.2 and 3.3
Desc:	determine an identifier by which to access the calling process
Notes:	called by MS C v5.1 getpid() function
	this function apparently must return AX=0001h for INT 21/AH=80h to
	  succeed
	one possible check for European MS-DOS 4.0 is to issue this call with
	  AL=00h and check whether AL is nonzero on return
SeeAlso: AH=30h,AH=62h,AH=80h
Index:	installation check;European MS-DOS 4.0

Top
2188 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 88h
	???
Return: ???
SeeAlso: AH=87h

Top
2189 - INT 21 - European MS-DOS 4.0 - SLEEP
INT 21 - European MS-DOS 4.0 - SLEEP
	AH = 89h
	CX = time in milliseconds or 0000h to give up time slice
Return: CF clear if successful
	    CX = 0000h
	CF set on error
	    AX = error code (interrupted system call)
	    CX = sleep time remaining
Desc:	suspend the calling process for the specified duration
Notes:	the sleep interval is rounded up to the next higher increment of the
	  scheduler clock, and may be extended further if other processes are
	  running
	this call may be interrupted by signals (see AH=8Dh)
	reportedly called by Microsoft C 4.0 startup code
	background processes have higher priority than the foreground process,
	  and should thus periodically yield the CPU
SeeAlso: AH=81h,INT 15/AX=1000h,INT 2F/AX=1680h,INT 7A/BX=000Ah

Top
2189 - INT 21 - VIRUS - "Vriest" - INSTALLATION CHECK
INT 21 - VIRUS - "Vriest" - INSTALLATION CHECK
	AH = 89h
Return: AX = 0123h if resident
SeeAlso: AH=84h"VIRUS",AH=90h"VIRUS"

Top
218A - INT 21 - European MS-DOS 4.0 - "CWAIT" - WAIT FOR CHILD TO TERMINATE
INT 21 - European MS-DOS 4.0 - "CWAIT" - WAIT FOR CHILD TO TERMINATE
	AH = 8Ah
	BL = range (00h command subtree, 01h any child)
	BH = suspend flag
	    00h suspend if children exist but none are dead
	    01h return if no dead children
	CX = Process ID of head of command subtree
Return: CF clear if successful
	    AH = termination type (see #01792)
	    AL = return code from child or aborting signal
	    BX = PID of child (0000h if no dead children)
	CF set on error
	    AX = error code (no child,interrupted system call)
Desc:	get return code from an asynchronously-executed child program,
	  optionally waiting if no return code is available
SeeAlso: AH=4Bh,AH=4Dh,AH=80h,AH=8Dh

(Table 01792)
Values for termination type:
 00h	normal termination
 01h	aborted by Control-C
 02h	aborted by I/O error
 03h	terminate and stay resident
 04h	aborted by signal
 05h	aborted by program error

Top
218B - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 8Bh
	???
Return: ???
SeeAlso: AH=87h

Top
218C - INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
	AH = 8Ch
	AL = signal number (see #01793)
	BL = action (see #01794)
	DS:DX -> signal handler (see #01795)
Return: CF clear if successful
	    AL = previous action
	    ES:BX -> previous signal handler
	CF set on error
	    AX = error code (01h,invalid SigNumber or Action)
		  (see #01680 at AH=59h/BX=0000h)
Desc:	set the routine which will be invoked on a number of exceptional
	  conditions
Note:	all signals will be sent to the most recently installed handler
SeeAlso: AH=8Dh

(Table 01793)
Values for European MS-DOS 4.0 signal number:
 01h	SIGINTR		Control-C or user defined interrupt key
 08h	SIGTERM		program termination
 09h	SIGPIPE		broken pipe
 0Dh	SIGUSER1	reserved for user definition
 0Eh	SIGUSER2	reserved for user definition

(Table 01794)
Values for signal action:
 00h	SIG_DFL		terminate process on receipt
 01h	SIG_IGN		ignore signal
 02h	SIG_GET		signal is accepted
 03h	SIG_ERR		sender gets error
 04h	SIG_ACK		acknowledge received signal and clear it, but don't
			  change current setting

(Table 01795)
Values signal handler is called with:
	AL = signal number (see #01793)
	AH = signal argument
Return: RETF, CF set: terminate process
	RETF, CF clear, ZF set: abort any interrupted system call with an error
	RETF, CF clear, ZF clear: restart any interrupted system call
	IRET: restart any interrupted system call
Note:	the signal handler may also perform a nonlocal GOTO by resetting the
	  stack pointer and jumping; before doing so, it should dismiss the
	  signal by calling this function with BL=04h

Top
218D - INT 21 - European MS-DOS 4.0 - SEND SIGNAL
INT 21 - European MS-DOS 4.0 - SEND SIGNAL
	AH = 8Dh
	AL = signal number (see #01793)
	BH = signal argument
	BL = action
	    00h send to entire command subtree
	    01h send only to specified process
	DX = Process ID
Return: CF clear if successful
	CF set on error
	    AX = error code (01h,06h)(see #01680 at AH=59h/BX=0000h)
Desc:	invoke the exceptional-condition handler for the specified process
Note:	error 06h may be returned if one or more of the affected processes
	  have an error handler for the signal
SeeAlso: AH=8Ch

Top
218E00BH00 - INT 21 - European MS-DOS 4.0 - "SETPRI" - GET/SET PROCESS PRIORITY
INT 21 - European MS-DOS 4.0 - "SETPRI" - GET/SET PROCESS PRIORITY
	AX = 8E00h
	BH = 00h
	BL = action
	    00h set priority for command subtree
	    01h set priority for specified process only
	CX = Process ID
	DH = 00h
	DL = change in priority (00h to get priority)
Return: CF clear if successful
	    DL = process priority
	    DH destroyed
	CF set on error
	    AX = error code (01h,no such process)(see #01680 at AH=59h)
Desc:	specify or determine the execution priority of the specified process
	  or the process and all of its children
SeeAlso: AH=81h

Top
218F - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 8Fh
	???
Return: ???
SeeAlso: AH=87h

Top
2190 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 90h
	???
Return: ???
SeeAlso: AH=87h

Top
2190--CXFFFF - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK READ
INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK READ
	AH = 90h
	CX = FFFFh (for partitions > 32 Mb)
	    DS:BX -> request block (see #04094)
	CX = sector count (for partitions < 32 Mb)
	    DX = starting sector number
	    DS:BX -> buffer
Return: CF set on error
	    AX error code
	CF clear on success
Notes:	This function is supported by Paragon Technology Systems S/DOS 1.0
	  (and most probably by PTS-DOS 6.51, maybe even earlier).
	To access big partitions (> 32 Mb), the CX != FFFFh is not allowed and
	  the buffer must always be used. Otherwise, the system will return
	  error code 0207h.
	It is currently unknown if this function is also supported by
	  PhysTechSoft PTS-DOS 6.60, 6.70, or 2000.
SeeAlso: INT 21/AH=91h"PTS",INT 25h,INT 26h

Format of PTS-DOS & S/DOS disk read/write request block:
Offset	Size	Description	(Table 04094)
 00h	DWORD	sector number
04h	WORD	counter
06h	DWORD	pointer to buffer

Top
2190 - INT 21 - VIRUS - "Carioca" - INSTALLATION CHECK
INT 21 - VIRUS - "Carioca" - INSTALLATION CHECK
	AH = 90h
Return: AH = 01h if resident
SeeAlso: AH=89h"VIRUS",AX=9753h"VIRUS"

Top
2191 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 91h
	???
Return: ???
SeeAlso: AH=87h

Top
2191--CXFFFF - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK WRITE
INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - DIRECT DISK WRITE
	AH = 91h
	CX = FFFFh (for partitions > 32 Mb)
	    DS:BX -> request block (see #04094)
	CX = sector count (for partitions < 32 Mb)
	    DX = starting sector number
	    DS:BX -> buffer
Return: CF set on error
	    AX error code
	CF clear on success
Note:	This function is supported by Paragon Technology Systems S/DOS 1.0
	  (and most probably by PTS-DOS 6.51, maybe even earlier).
	To access big partitions (> 32 Mb), CX != FFFFh is not allowed and
	  the buffer must always be used. Otherwise, the system will return
	  error code 0207h.
	It is currently unknown if this function is also supported by
	  PhysTechSoft PTS-DOS 6.60, 6.70, or 2000.
SeeAlso: INT 21/Ah=90h"PTS",INT 25h,INT 26h

Top
2192 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 92h
	???
Return: ???
SeeAlso: AH=87h

Top
2192 - INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - ABORT CURRENT PROCESS VIA INT 23
INT 21 U - PTS-DOS 6.51 & S/DOS 1.0 - ABORT CURRENT PROCESS VIA INT 23
	AH = 92h
Desc:	This function is provided by Paragon Technology Systems S/DOS 1.0+
	  (and most probably also by PTS-DOS 6.51+, maybe even earlier).
	  It allows terminating programs via the CTRL+BREAK method.
Note:	It is currently unknown if this function is also supported by
	  PhysTechSoft PTS-DOS 6.60, 6.70, or 2000.
SeeAlso: INT 23,INT 24

Top
2193 - INT 21 - European MS-DOS 4.0 - "PIPE" - CREATE A NEW PIPE
INT 21 - European MS-DOS 4.0 - "PIPE" - CREATE A NEW PIPE
	AH = 93h
	CX = size in bytes
Return: CF clear if successful
	    AX = read handle
	    BX = write handle
	CF set on error
	    AX = error code (08h) (see #01680 at AH=59h/BX=0000h)
Desc:	create a communications channel which may be used for interprocess
	  data and command exchanges
SeeAlso: AH=3Ch,AH=3Fh"DOS",AH=40h"DOS",AH=84h

Top
2194 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 94h
	???
Return: ???
SeeAlso: AH=87h

Top
2195 - INT 21 - European MS-DOS 4.0 - HARD ERROR PROCESSING
INT 21 - European MS-DOS 4.0 - HARD ERROR PROCESSING
	AH = 95h
	AL = new state
	   00h enabled
	   01h disabled, automatically fail hard errors
Return: AX = previous setting
Desc:	specify whether hard (critical) errors should automatically fail the
	  system call or invoke an INT 24
SeeAlso: INT 24,INT 21/AH=59h/BX=0001h

Top
2196 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 96h
	???
Return: ???

Top
2197 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 97h
	???
Return: ???

Top
219753 - INT 21 - VIRUS - "Nina" - INSTALLATION CHECK
INT 21 - VIRUS - "Nina" - INSTALLATION CHECK
	AX = 9753h
Return: never (executes original program) if virus resident
SeeAlso: AH=90h"VIRUS",AX=A1D5h"VIRUS",AX=9AD5h"VIRUS"

Top
2198 - INT 21 U - European MS-DOS 4.0 - ???
INT 21 U - European MS-DOS 4.0 - ???
	AH = 98h
	???
Return: ???

Top
2199 - INT 21 u - European MS-DOS 4.0 - "PBLOCK" - BLOCK A PROCESS
INT 21 u - European MS-DOS 4.0 - "PBLOCK" - BLOCK A PROCESS
	AH = 99h
	DS:BX -> memory location to block on
	CX = timeout in milliseconds
	DH = nonzero if interruptable
Return: CF clear if awakened by event
	    AX = 0000h
	CF set if unusual wakeup
	    ZF set if timeout, clear if interrupted by signal
	    AX = nonzero
Desc:	suspend calling process until another process sends a "restart" signal
	  or a timeout occurs
SeeAlso: AH=9Ah,INT 2F/AX=0802h

Top
219A - INT 21 u - European MS-DOS 4.0 - "PRUN" - UNBLOCK A PROCESS
INT 21 u - European MS-DOS 4.0 - "PRUN" - UNBLOCK A PROCESS
	AH = 9Ah
	DS:BX -> memory location processes may have blocked on
Return: AX = number of processes awakened
	ZF set if no processes awakened
Program: European MS-DOS 4.0 was written for Siemens in Germany and then used
	  by several other European OEMs; its release falls between mainstream
	  versions 3.2 and 3.3
Desc:	restart all processes waiting for the specified "restart" signal
SeeAlso: AH=99h,INT 2F/AX=0802h

Top
219AD5 - INT 21 - VIRUS - "Massacre/Beavis" - INSTALLATION CHECK
INT 21 - VIRUS - "Massacre/Beavis" - INSTALLATION CHECK
	AX = 9AD5h
Return: AX = 9AD4h if resident
SeeAlso: AX=6969h"VIRUS",AX=A1D5h"VIRUS"

Top
21A0 - INT 21 - Attachmate Extra! - GET 3270 DISPLAY STATE
INT 21 - Attachmate Extra! - GET 3270 DISPLAY STATE
	AH = A0h
Return: AL = display status (see #01796)
	BX = host window status (see #01797)
Program: Attachmate Extra! is a 3270 emulator by Attachmate Corporation
SeeAlso: AH=A1h

Bitfields for Attachmate Extra! display status:
Bit(s)	Description	(Table 01796)
 7	0=windowed, 1=enlarged
 6-3	current screen profile number 0-9
 2-0	active window number (0=PC, 1-4=host B-E, 5-6=notepad F-G)

Bitfields for host window status:
Bit(s)	Description	(Table 01797)
 15	reserved
 14	0=host E window installed, 1=not
 13	0=host E terminal on, 1=off
 12	0=host E window displayed, 1=not
 11	reserved
 10	0=host D window installed, 1=not
 9	0=host D terminal on, 1=off
 8	0=host D window displayed, 1=not
 7	reserved
 6	0=host C window installed, 1=not
 5	0=host C terminal on, 1=off
 4	0=host C window displayed, 1=not
 3	reserved
 2	0=host B window installed, 1=not
 1	0=host B terminal on, 1=off
 0	0=host B window displayed, 1=not

Top
21A1 - INT 21 - Attachmate Extra! - SET 3270 DISPLAY STATE
INT 21 - Attachmate Extra! - SET 3270 DISPLAY STATE
	AH = A1h
	AL = new display status byte (see #01796)
SeeAlso: AH=A0h,AH=A2h

Top
21A1D5 - INT 21 - VIRUS - "789"/"Filehider" - INSTALLATION CHECK
INT 21 - VIRUS - "789"/"Filehider" - INSTALLATION CHECK
	AX = A1D5h
Return: AX = 900Dh if resident
SeeAlso: AX=9753h,AX=9AD5h,AX=A55Ah

Top
21A2 - INT 21 - Attachmate Extra! - SET HOST WINDOW STATE
INT 21 - Attachmate Extra! - SET HOST WINDOW STATE
	AH = A2h
	AL = new host window status byte (see #01798)
SeeAlso: AH=A1h

Bitfields for Attachmate Extra! host window status:
Bit(s)	Description	(Table 01798)
 7	0=power off, 1=power on
 6	0=not installed, 1=installed
 5-3	reserved
 2-0	window number 1-4=host B-E

Top
21A3 - INT 21 - Attachmate Extra! - SEND KEYSTROKES TO HOST WINDOW
INT 21 - Attachmate Extra! - SEND KEYSTROKES TO HOST WINDOW
	AH = A3h
	AL = window number (1-4=host B-E)
	CX = 0001h
	DS:BX -> keystroke buffer
	DL = zero if keystroke buffer contains host function code (see #01799),
	      non-zero if keystroke buffer contains ASCII character
Return: CX = zero if character sent, non-zero if not
	BX incremented if CX=0

(Table 01799)
Values for Attachmate Extra! host function code:
 00h=reserved	10h=PF16	20h=Clear	30h=SysReq
 01h=PF1	11h=PF17	21h=Print	31h=ErInp
 02h=PF2	12h=PF18	22h=Left	32h=ErEof
 03h=PF3	13h=PF19	23h=Right	33h=Ident
 04h=PF4	14h=PF20	24h=Up		34h=Test
 05h=PF5	15h=PF21	25h=Down	35h=Reset
 06h=PF6	16h=PF22	26h=Home	36h=DevCncl
 07h=PF7	17h=PF23	27h=Fast Left	37h=Dup
 08h=PF8	18h=PF24	28h=Fast Right	38h=FldMark
 09h=PF9	19h=Alt on	29h=Bksp	39h=Enter
 0Ah=PF10	1Ah=Alt off	2Ah=Insert	3Ah=CrSel
 0Bh=PF11	1Bh=Shift on	2Bh=Delete
 0Ch=PF12	1Ch=Shift off	2Ch=Backtab
 0Dh=PF13	1Dh=PA1		2Dh=Tab
 0Eh=PF14	1Eh=PA2		2Eh=Newline
 0Fh=PF15	1Fh=PA3		2Fh=Attn

Top
21A4 - INT 21 - Attachmate Extra! - GET HOST WINDOW BUFFER ADDRESS
INT 21 - Attachmate Extra! - GET HOST WINDOW BUFFER ADDRESS
	AH = A4h
	AL = window number (1-4=host B-E)
Return: DS:BX -> 3270 display buffer
SeeAlso: AH=A5h,AH=B8h

Top
21A5 - INT 21 - Attachmate Extra! - GET HOST WINDOW CURSOR POSITION
INT 21 - Attachmate Extra! - GET HOST WINDOW CURSOR POSITION
	AH = A5h
	AL = window number (1-4=host B-E)
Return: BX = cursor position (80 * row + column, where 0:0 is upper left)
Note:	if the host window is configured with the Extended Attribute (EAB)
	  feature, multiply the cursor position by 2 to obtain the byte offset
	  into the display buffer
SeeAlso: AH=A4h

Top
21A55A - INT 21 - VIRUS - "Eddie-2" - INSTALLATION CHECK
INT 21 - VIRUS - "Eddie-2" - INSTALLATION CHECK
	AX = A55Ah
Return: AX = 5AA5h if resident
SeeAlso: AX=A1D5h,AX=AA00h

Top
21AA00 - INT 21 - VIRUS - "Blinker" - INSTALLATION CHECK
INT 21 - VIRUS - "Blinker" - INSTALLATION CHECK
	AX = AA00h
Return: AX = 00AAh if resident
SeeAlso: AX=A55Ah,AX=AA03h

Top
21AA03 - INT 21 - VIRUS - "Backtime" - INSTALLATION CHECK
INT 21 - VIRUS - "Backtime" - INSTALLATION CHECK
	AX = AA03h
Return: AX = 03AAh if resident
SeeAlso: AX=AA00h,AH=ABh

Top
21AB - INT 21 - VIRUS - "600" or "Voronezh"-family - INSTALLATION CHECK
INT 21 - VIRUS - "600" or "Voronezh"-family - INSTALLATION CHECK
	AH = ABh
Return: AX = 5555h if resident
SeeAlso: AX=AA03h,AX=ABCDh,AX=BBBBh"VIRUS"

Top
21ABCD - INT 21 - VIRUS - Major BBS - INSTALLATION CHECK
INT 21 - VIRUS - Major BBS - INSTALLATION CHECK
	AX = ABCDh
Return: AX = 1234h if installed
SeeAlso: AH=ABh"VIRUS",AX=ABCDh"SuperVirus"

Top
21ABCD - INT 21 - VIRUS - "SuperVirus 2" - INSTALLATION CHECK
INT 21 - VIRUS - "SuperVirus 2" - INSTALLATION CHECK
	AX = ABCDh
Return: AX = DCBAh if resident
SeeAlso: AX=ABCDh"VIRUS",AX=BBBBh"VIRUS"

Top
21AF - INT 21 - Attachmate Extra! - GET TRANSLATE TABLE ADDRESS
INT 21 - Attachmate Extra! - GET TRANSLATE TABLE ADDRESS
	AH = AFh
Return: DS:BX -> translate tables (see #01800)

Format of Attachmate Extra! translate tables:
Offset	Size	Description	(Table 01800)
 00h 256 BYTEs	ASCII to 3270 buffer code translate table
100h 256 BYTEs	3270 buffer code to ASCII translate table
200h 256 BYTEs	3270 buffer code to EBCDIC translate table
300h 256 BYTEs	EBCDIC to 3270 buffer code translate table

Top
21B3 - INT 21 - VIRUS - "Requires" - INSTALLATION CHECK
INT 21 - VIRUS - "Requires" - INSTALLATION CHECK
	AH = B3h
Return: AX = 9051h if resident
SeeAlso: AH=7Fh"VIRUS",AX=B974h"VIRUS"

Top
21B300 - INT 21 U - Novell NetWare - CHECK LIP/PACKET SIGNING/IPX CHECKSUM SUPPORT???
INT 21 U - Novell NetWare - CHECK LIP/PACKET SIGNING/IPX CHECKSUM SUPPORT???
	AX = B300h
Return: AX = 0000h if supported???
Note:	this function appeared with the packet signing/Large Internet Packets/
	  IPX Checksum-aware NetWare shells
SeeAlso: AX=B301h,AX=B302h

Top
21B301 - INT 21 U - Novell NetWare - CHECK SIGNATURE LEVEL???
INT 21 U - Novell NetWare - CHECK SIGNATURE LEVEL???
	AX = B301h
Return: AX = 0000h if supported???
	    BX:CX indicate signature level (see #01801)
Note:	this function appeared with the packet signing/Large Internet Packets/
	  IPX Checksum-aware NetWare shells
SeeAlso: AX=B300h,AX=B304h,#02875 at INT 2F/AX=7A20h/BX=0000h

(Table 01801)
Values for signature level indicator:
 0000h:0000h = signature level 0
 0002h:0000h = signature level 1
 0202h:0000h = signature level 2
 0202h:0202h = signature level 3

Top
21B302 - INT 21 U - Novell NetWare - START PACKET SIGNING
INT 21 U - Novell NetWare - START PACKET SIGNING
	AX = B302h
	CX = server connection (1-8)
	DS:SI -> 24-byte buffer containing ???
Return: ???
Notes:	this function appeared with the packet signing/Large Internet Packets/
	  IPX Checksum-aware NetWare shells
	if packet signing is active, this call is required if and only if the
	  last call successfully authenticated the workstation to the server
SeeAlso: AX=B300h,#02875

Top
21B304 - INT 21 U - Novell NetWare - SET SIGNATURE LEVEL
INT 21 U - Novell NetWare - SET SIGNATURE LEVEL
	AX = B304h
	BX:CX = new signature level (see AX=B301h)
Return: ???
Note:	this function appeared with the packet signing/Large Internet Packets/
	  IPX Checksum-aware NetWare shells
SeeAlso: AX=B300h,AX=B301h,AX=B306h,#02875

Top
21B306 - INT 21 - Novell NetWare - RENEGOTIATE SECURITY LEVEL
INT 21 - Novell NetWare - RENEGOTIATE SECURITY LEVEL
	AX = B306h
	CX = server connection number (01h-08h)
Return: ???
Note:	this function appeared with the packet signing/Large Internet Packets/
	  IPX Checksum-aware NetWare shells
SeeAlso: AX=B300h,AX=B304h,#02875

Top
21B4 - INT 21 U - Novell NetWare - "AttachHandle"
INT 21 U - Novell NetWare - "AttachHandle"
	AH = B4h
	DS:SI -> input buffer (see #01802)
Return: AX = DOS file handle or return code
Note:	this is an interface provided by NetWare to give DOS file access to
	  NetWare files on non-DOS systems such as Macintosh, OS/2, and Unix
SeeAlso: AX=E909h

Format of Novell NetWare input buffer:
Offset	Size	Description	(Table 01802)
 00h	BYTE	"WorkFileServer"
 01h	BYTE	access code
 02h	DWORD	"OpenHandle"
 06h	WORD	"OpenHandleCount"
 08h	DWORD	"OpenFileSize"
Note:	the six bytes at 02h-07h appear to be the six-byte NetWare handle
	  returned by AX=E909h

Top
21B500 - INT 21 U - Novell NetWare - VNETWARE.386 API - GET INSTANCE DATA
INT 21 U - Novell NetWare - VNETWARE.386 API - GET INSTANCE DATA
	AX = B500h
Return: ES:BX -> data
	CX = length
SeeAlso: AX=B501h,AX=B502h

Top
21B501 - INT 21 U - Novell NetWare - VNETWARE.386 API - END VIRTUAL MACHINE
INT 21 U - Novell NetWare - VNETWARE.386 API - END VIRTUAL MACHINE
	AX = B501h
SeeAlso: AX=B500h,AX=B502h

Top
21B502 - INT 21 U - Novell NetWare - VNETWARE.386 API - START VIRTUAL MACHINE
INT 21 U - Novell NetWare - VNETWARE.386 API - START VIRTUAL MACHINE
	AX = B502h
SeeAlso: AX=B500h,AX=B501h

Top
21B5 - INT 21 - Novell NetWare shell 3.01 - TASK MODE CONTROL
INT 21 - Novell NetWare shell 3.01 - TASK MODE CONTROL
	AH = B5h
	AL = subfunction
	    03h get task mode
		Return: AH = 00h
			AL = current task mode byte (see #01803)
	    04h get task mode pointer
		Return: ES:BX -> task mode byte
Notes:	the task mode byte specifies how task cleanup should be performed, but
	  is declared to be version-dependent
	allows a program to disable the automatic cleanup for programs managing
	  task swapping, etc.

(Table 01803)
Values for NetWare task mode byte in version 3.01:
 00h-03h reserved
 04h	 no task cleanup

Top
21B505 - INT 21 U - Novell NetWare - VNETWARE.386 API - SET VIRTUAL MACHINE ID
INT 21 U - Novell NetWare - VNETWARE.386 API - SET VIRTUAL MACHINE ID
	AX = B505h
	???
Return: ???
SeeAlso: AX=B502h,AX=B506h

Top
21B506 - INT 21 U - Novell NetWare - VNETWARE.386 API - GET VIRTUAL MACH SUPPORT LEVEL
INT 21 U - Novell NetWare - VNETWARE.386 API - GET VIRTUAL MACH SUPPORT LEVEL
	AX = B506h
Return: AX = ??? (0002h)
SeeAlso: AX=B505h

Top
21B507 - INT 21 - Novell NetWare - NetWare Shell - GET NUMBER OF PACKET BURST BUFFERS
INT 21 - Novell NetWare - NetWare Shell - GET NUMBER OF PACKET BURST BUFFERS
	AX = B507h
Return: AL = number of packet burst buffers (configured at shell load time)

Top
21B6 - INT 21 - Novell NetWare - FILE SERVICES - EXTENDED FILE ATTRIBUTES
INT 21 - Novell NetWare - FILE SERVICES - EXTENDED FILE ATTRIBUTES
	AH = B6h
	AL = subfunction
	    00h get extended file attributes
	    01h set extended file attributes
		CL = extended file attributes (see #01804)
	DS:DX -> ASCIZ pathname (max 255 bytes)
Return: CF set on error
	    AL = error code
		8Ch caller lacks privileges
		FEh not permitted to search directory
		FFh file not found
	CF clear if successful
	    AL = 00h (success)
	    CL = current extended file attributes (see #01804)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=4300h,AH=E3h/SF=0Fh

Bitfields for NetWare extended file attributes:
Bit(s)	Description	(Table 01804)
 2-0	search mode (executables only)
	000 none (use shell's default search)
	001 search on all opens without path
	010 do not search
	011 search on read-only opens without path
	100 reserved
	101 search on all opens
	110 reserved
	111 search on all read-only opens
 3	reserved
 4	transactions on file tracked
 5	file's FAT indexed
 6	read audit (to be implemented)
 7	write audit (to be implemented)

Top
21B7 - INT 21 U - Novell NetWare - "HoldFileModeSet" (obsolete)
INT 21 U - Novell NetWare - "HoldFileModeSet" (obsolete)
	AH = B7h
	AL = new value for HoldFileFlag
Return: AL = previous value of HoldFileFlag
Note:	this function provided backward compatibility with a bug in early
	  DOS versions and CP/M, but is no longer used or supported

Top
21B8 - INT 21 - Attachmate Extra! - DISABLE HOST BUFFER UPDATES
INT 21 - Attachmate Extra! - DISABLE HOST BUFFER UPDATES
	AH = B8h
	AL = window number (1-4=host B-E)
	DL = 01h
Notes:	only valid in CUT mode
	next AID keystroke (eg Enter) enables host buffer updates
SeeAlso: AH=A4h

Top
21B800 - INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT CAPTURE FLAGS
INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT CAPTURE FLAGS
	AX = B800h
	CX = size of reply buffer (01h-3Fh)
	ES:BX -> reply buffer for capture flags table (see #01805)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 2.0+
SeeAlso: AX=B801h,AX=B802h,AH=DFh/DL=00h,AH=DFh/DL=04h

Format of NetWare capture flags table:
Offset	Size	Description	(Table 01805)
 00h	BYTE	status (used internally, should be set to 00h)
 01h	BYTE	print flags (see #01806)
 02h	BYTE	tab size (01h-12h, default 08h)
 03h	BYTE	printer number on server (00h-04h, default 00h)
 04h	BYTE	number of copies to print (00h-FFh, default 01h)
 05h	BYTE	form type required in printer (default 00h)
 06h	BYTE	reserved
 07h 13 BYTEs	text to be placed on banner page
 14h	BYTE	reserved
 15h	BYTE	default local printer (00h = LPT1)
 16h	WORD	(big-endian) timeout in clock ticks for flushing capture file
		  on inactivity, or 0000h to disable timeout
 18h	BYTE	flush capture file on LPT close if nonzero
 19h	WORD	(big-endian) maximum lines per page
 1Bh	WORD	(big-endian) maximum characters per line
 1Dh 13 BYTEs	name of form required in printer
 2Ah	BYTE	LPT capture flag
		00h inactive, FFh LPT device is being captured
 2Bh	BYTE	file capture flag
		00h if no file specified, FFh if capturing to file
 2Ch	BYTE	timing out (00h if no timeout in effect, FFh if timeout counter
		  running)
 2Dh	DWORD	(big-endian) address of printer setup string
 31h	DWORD	(big-endian) address of printer reset string
 35h	BYTE	target connection ID
 36h	BYTE	capture in progress if FFh
 37h	BYTE	job queued for printing if FFh
 38h	BYTE	print job valid if FFh
 39h	DWORD	bindery object ID of print queue if previous byte FFh
 3Dh	WORD	(big-endian) print job number (1-999)

Bitfields for NetWare print flags:
Bit(s)	Description	(Table 01806)
 2	print capture file if interrupted by loss of connection
 3	no automatic form feed after print job
 6	printing control sequences interpreted by print service
 7	print banner page before capture file

Top
21B801 - INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT CAPTURE FLAGS
INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT CAPTURE FLAGS
	AX = B801h
	CX = size of buffer (01h-3Fh)
	ES:BX -> buffer containing capture flags table (see #01805)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 2.0+
SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h

Top
21B802 - INT 21 - Novell NetWare - PRINT SERVICES - GET SPECIFIC CAPTURE FLAGS
INT 21 - Novell NetWare - PRINT SERVICES - GET SPECIFIC CAPTURE FLAGS
	AX = B802h
	CX = size of reply buffer (01h-3Fh)
	DH = LPT port (00h-02h)
	ES:BX -> reply buffer for capture flags table (see #01805)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h

Top
21B803 - INT 21 - Novell NetWare - PRINT SERVICES - SET SPECIFIC CAPTURE FLAGS
INT 21 - Novell NetWare - PRINT SERVICES - SET SPECIFIC CAPTURE FLAGS
	AX = B803h
	CX = size of buffer (01h-3Fh)
	DH = LPT port (00h-02h)
	ES:BX -> buffer containing capture flags table (see #01805)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B803h,AH=DFh/DL=00h,AH=DFh/DL=04h

Top
21B804 - INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT LOCAL PRINTER
INT 21 - Novell NetWare - PRINT SERVICES - GET DEFAULT LOCAL PRINTER
	AX = B804h
Return: DH = default LPT port (00h-02h)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B805h,AH=DFh/DL=00h

Top
21B805 - INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT LOCAL PRINTER
INT 21 - Novell NetWare - PRINT SERVICES - SET DEFAULT LOCAL PRINTER
	AX = B805h
	DH = new default LPT port (00h-02h)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h

Top
21B806 - INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT QUEUE
INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT QUEUE
	AX = B806h
	DH = LPT port (00h-02h)
	BX:CX = print queue's object ID
Return: AL = status
	    00h successful
	    FFh job already set
Desc:	specify the print queue on which a print job is to be placed the next
	  time a capture is started on the given printer port
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B801h,AX=B807h,AH=E0h/SF=09h

Top
21B807 - INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT JOB
INT 21 - Novell NetWare - PRINT SERVICES - SET CAPTURE PRINT JOB
	AX = B807h
	DH = LPT port (00h-02h)
	BX = job number (see AH=E3h/SF=68h)
	SI:DI:CX = NetWare file handle (see AH=E3h/SF=68h)
Return: AL = status
	    00h successful
	    FFh job already queued
Desc:	specify the capture file and print job to be used for subsequent
	  output to the given printer port
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AX=B801h,AX=B806h,AH=E0h/SF=09h,AH=E3h/SF=68h

Top
21B808 - INT 21 - Novell NetWare - PRINT SERVICES - GET BANNER USER NAME
INT 21 - Novell NetWare - PRINT SERVICES - GET BANNER USER NAME
	AX = B808h
	ES:BX -> 12-byte buffer for user name
Return: AL = status
	    00h successful
Desc:	get the user name which is printed on the banner page
Notes:	this function is supported by Advanced NetWare 2.1+
	the default name is the login name of the user
SeeAlso: AX=B809h

Top
21B809 - INT 21 - Novell NetWare - PRINT SERVICES - SET BANNER USER NAME
INT 21 - Novell NetWare - PRINT SERVICES - SET BANNER USER NAME
	AX = B809h
	ES:BX -> 12-byte buffer containing user name
Return: AL = status
	    00h successful
Desc:	specify the user name which is printed on the banner page
Notes:	this function is supported by Advanced NetWare 2.1+
	the default name is the login name of the user
SeeAlso: AX=B808h

Top
21B9 - INT 21 U - Novell NetWare - "SpecialAttachableFunction"
INT 21 U - Novell NetWare - "SpecialAttachableFunction"
	AH = B9h
	AL = FFh to hook this function
	    ES:BX -> function to invoke on AH=B9h when AL<>FFh
Note:	this function is no longer used or supported by current versions of
	  NetWare

Top
21B974 - INT 21 - VIRUS - "Tracker" - INSTALLATION CHECK
INT 21 - VIRUS - "Tracker" - INSTALLATION CHECK
	AX = B974h
Return: AX = 2888h if resident
SeeAlso: AH=B3h"VIRUS",AH=D0h"VIRUS"

Top
21BA - INT 21 U - Novell NetWare - "ReturnCommandComPointers"
INT 21 U - Novell NetWare - "ReturnCommandComPointers"
	AH = BAh
Return: DX = environment segment
	ES:DI -> COMMAND.COM drive
Desc:	used to edit the COMSPEC and PATH variables in the master environment
	  when mapping network drives
Note:	this function was documented in older Novell documents which are no
	  longer available

Top
21BB - INT 21 - Novell NetWare - WORKSTATION - SET END OF JOB STATUS
INT 21 - Novell NetWare - WORKSTATION - SET END OF JOB STATUS
	AH = BBh
	AL = new EOJ flag
	    00h disable EOJs
	    01h enable EOJs
Return: AL = old EOJ flag
Desc:	specify whether the network shell should automatically generate an
	  End of Job call when the root command processor regains control
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=19h,AH=D6h

Top
21BBBB - INT 21 - VIRUS - "Hey You" - INSTALLATION CHECK
INT 21 - VIRUS - "Hey You" - INSTALLATION CHECK
	AX = BBBBh
Return: AX = 6969h
SeeAlso: AH=ABh"VIRUS",AH=BEh"VIRUS"

Top
21BC - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG PHYSICAL RECORD
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG PHYSICAL RECORD
	AH = BCh
	AL = flags (see #01808)
	BX = file handle
	CX:DX = starting offset in file
	SI:DI = length of region to lock
	BP = timeout in timer ticks (1/18 sec)
		0000h = don't wait if already locked
Return: AL = status (see #01807)
Desc:	add the specified physical record to the log table, optionally locking
	  it
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=5Ch,AH=BDh,AH=BEh,AH=BFh,AH=C2h,AH=D0h

(Table 01807)
Values for NetWare status:
 00h	successful
 96h	no dynamic memory for file
 FEh	timed out
 FFh	failed

Bitfields for NetWare flags:
Bit(s)	Description	(Table 01808)
 0	lock as well as log record
 1	non-exclusive lock

Top
21BD - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECORD
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYSICAL RECORD
	AH = BDh
	BX = file handle
	CX:DX = starting offset in file
	SI:DI = length of record
Return: AL = status
	    00h successful
	    FFh record not locked
Desc:	unlock the specified physical record but do not remove it from log
	  table
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=BCh,AH=BEh"NetWare",AH=C0h,AH=C3h,AH=D2h

Top
21BE - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD
	AH = BEh
	BX = file handle
	CX:DX = starting offset within file
	SI:DI = record length in bytes
Return: AL = status
	    00h successful
	    FFh specified record not locked
Desc:	unlock the physical record and remove it from the log table
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=5Ch,AH=BCh,AH=BDh,AH=C1h,AH=C4h,AH=D4h

Top
21BE - INT 21 - VIRUS - "Datalock" - INSTALLATION CHECK
INT 21 - VIRUS - "Datalock" - INSTALLATION CHECK
	AH = BEh
Return: AX = 1234h if resident
SeeAlso: AX=BBBBh,AX=BE00h

Top
21BE00 - INT 21 - VIRUS - "USSR-1049" - INSTALLATION CHECK
INT 21 - VIRUS - "USSR-1049" - INSTALLATION CHECK
	AX = BE00h
	CF set
Return: CF clear if resident
SeeAlso: AH=BEh"VIRUS",AH=C0h"VIRUS"

Top
21BF - INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK RECORD (FCB)
INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK RECORD (FCB)
	AH = BFh
	AL = flags (see #01808)
	DS:DX -> opened FCB (see #01345 at AH=0Fh)
	BX:CX = offset
	BP = lock timeout in timer ticks (1/18 sec) if AL nonzero
	SI:DI = length
Return: AL = error code (see #01807)
Note:	this function was added in NetWare 4.6, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=BCh,AH=C0h"NetWare",AH=C2h"NetWare"

Top
21C0 - INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
INT 21 O - Novell NetWare, Alloy NTNX - RELEASE RECORD (FCB)
	AH = C0h
	DS:DX -> non-extended FCB (see #01345 at AH=0Fh)
	BX:CX = offset
Return: AL = error code (see #01807)
Notes:	unlocks record but does not remove it from log table
	this function was added in NetWare 4.6, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=BDh,AH=BFh,AH=C1h"NetWare",AH=C3h

Top
21C0 - INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
INT 21 - VIRUS - "Slow"/"Zerotime", "Solano" - INSTALLATION CHECK
	AH = C0h
Return: AX = 0300h if "Slow"/"Zerotime" resident
	AX = 1234h if "Solano" resident
SeeAlso: AX=BE00h,AX=C000h"VIRUS",AX=C301h"VIRUS"

Top
21C000 - INT 21 - VIRUS - "QUICKY" - INSTALLATION CHECK
INT 21 - VIRUS - "QUICKY" - INSTALLATION CHECK
	AX = C000h
	BX = most files infected by any other infected file
Return: AX = 76F3h if resident
SeeAlso: AH=C0h"VIRUS",AX=C001h,AX=C002h,AH=C1h"VIRUS"

Top
21C001 - INT 21 - VIRUS - "QUICKY" - TURN INFECTION OFF
INT 21 - VIRUS - "QUICKY" - TURN INFECTION OFF
	AX = C001h
Return: nothing
Note:	if the virus is already memory resident this call disables any
	  further infections
SeeAlso: AX=C000h,AX=C002h

Top
21C002 - INT 21 - VIRUS - "QUICKY" - TURN INFECTION ON
INT 21 - VIRUS - "QUICKY" - TURN INFECTION ON
	AX = C002h
Return: nothing
Note:	if the virus is already memory resident and infection is disabled,
	  this call re-enables it
SeeAlso: AX=C000h,AX=C001h

Top
21C1 - INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
INT 21 O - Novell NetWare, Alloy NTNX - CLEAR RECORD (FCB)
	AH = C1h
	DS:DX -> opened FCB (see #01345 at AH=0Fh)
	BX:CX = offset
Return: AL = error code (see #01807)
Note:	unlocks record and removes it from log table
	this function was added in NetWare 4.6, but was removed some time prior
	  to Advanced NetWare, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=BEh,AH=C0h"NetWare",AH=C4h

Top
21C1 - INT 21 - VIRUS - "Solano" - ???
INT 21 - VIRUS - "Solano" - ???
	AH = C1h
	???
Return: ???
SeeAlso: AH=C0h"VIRUS"

Top
21C2 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK PHYSICAL RECORD SET
	AH = C2h
	AL = flags
	    bit 1: non-exclusive lock
	BP = lock timeout in timer ticks (1/18 sec) 0000h = no wait
Return: AL = status
	    00h successful
	    FEh timed out
	    FFh failed
Desc:	attempt to lock all physical records listed in the log table
Notes:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	status FFh will be returned if one or more physical records have been
	  exclusively locked by another process
SeeAlso: AH=BFh,AH=C3h,AH=D1h

Top
21C2 - INT 21 - VIRUS - "Scott's Valley" - ???
INT 21 - VIRUS - "Scott's Valley" - ???
	AH = C2h
	???
Return: ???
SeeAlso: AH=C0h"VIRUS"

Top
21C3 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYS RECORD SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE PHYS RECORD SET
	AH = C3h
Desc:	unlock all currently-locked physical records in the log table, but do
	  not remove them from the table
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=BDh,AH=C0h,AH=C2h"NetWare",AH=C4h,AH=D3h

Top
21C301DXF1F1 - INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
INT 21 - VIRUS - "905"/"Backfont" - INSTALLATION CHECK
	AX = C301h
	DX = F1F1h
Return: DX = 0E0Eh if resident
SeeAlso: AH=C0h"VIRUS",AX=C500h"VIRUS"

Top
21C4 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR PHYSICAL RECORD SET
	AH = C4h
Desc:	unlock all physical records in the log table and remove them from the
	  log table
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=BEh,AH=C1h,AH=D5h

Top
21C500 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - OPEN SEMAPHORE
	AX = C500h
	DS:DX -> semaphore name (counted string, max 127 bytes)
	CL = initial value for semaphore
Return: AL = status
	    00h successful
		BL = number of processes having semaphore open
		CX:DX = semaphore handle
	    03h name length greater than 127
		(refer to Novell document FYI.A.4611)
	    FEh invalid name length
	    FFh invalid semaphore value
Notes:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	the semaphore's value is incremented by AX=C503h and decremented by
	  AX=C502h
SeeAlso: AX=C501h,AX=C502h,AX=C503h,AX=C504h,AX=F220h/SF=00h

Top
21C500 - INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
INT 21 - VIRUS - "Sverdlov" - INSTALLATION CHECK
	AX = C500h
Return: AX = 6731h if resident
SeeAlso: AX=C301h"VIRUS",AH=C6h"VIRUS"

Top
21C501 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - EXAMINE SEMAPHORE
	AX = C501h
	CX:DX = semaphore handle
Return: AL = status
	    00h successful
		CX = semaphore value (-127 to 127)
		DL = count of processes which have the semaphore open
	    FFh invalid handle
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C502h,AX=C504h,AX=F220h/SF=01h

Top
21C502 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - WAIT ON SEMAPHORE
	AX = C502h
	CX:DX = semaphore handle
	BP = timeout limit in timer ticks (1/18 sec)
		0000h return immediately if semaphore already zero or negative
Return: AL = status
	    00h successful
	    FEh timeout
	    FFh invalid handle
Desc:	decrement the semaphore's value, optionally waiting until its value
	  becomes positive before decrementing
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C501h,AX=C503h,AX=F220h/SF=02h

Top
21C503 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - SIGNAL SEMAPHORE
	AX = C503h
	CX:DX = semaphore handle
Return: AL = status
	    00h successful
	    01h semaphore value overflowed
	    FFh invalid handle
Desc:	increment the semaphore's value and signal the first process (if any)
	  in the queue waiting on the semaphore
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C502h,AX=F220h/SF=03h

Top
21C504 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLOSE SEMAPHORE
	AX = C504h
	CX:DX = semaphore handle
Return: AL = status
	    00h successful
	    FFh invalid handle
Desc:	decrement the semaphore's open count, and delete the semaphore if the
	  count reaches zero
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AX=C500h"NetWare",AX=C501h,AX=F220h/SF=04h

Top
21C6 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - GET OR SET LOCK MODE
	AH = C6h
	AL = subfunction
	    00h set old "compatibility" mode (default)
	    01h set new extended locks mode
	    02h get lock mode
Return: AL = current lock mode
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	the locking mode should be 01h for NetWare 4.61+ and Advanced
	  NetWare 1.0+ locking calls, and 00h for all older calls
SeeAlso: AH=BCh,AH=C4h,AH=D0h

Top
21C6 - INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
INT 21 - VIRUS - "Socha" - INSTALLATION CHECK
	AH = C6h
Return: AL = 55h if resident
SeeAlso: AX=C500h"VIRUS",AX=C603h

Top
21C603 - INT 21 - VIRUS - "Yankee Doodle" or "MLTI" - INSTALLATION CHECK
INT 21 - VIRUS - "Yankee Doodle" or "MLTI" - INSTALLATION CHECK
	AX = C603h
	BX = version number (002Ch or 002Dh)
	CF set
Return: CF clear if resident
	ZF set if resident and input BX matches version
SeeAlso: AX=C500h"VIRUS",AX=C700h"VIRUS"

Top
21C700 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - BEGIN TRANSACTION
	AX = C700h
Return: CF clear if successful
	    AL = 00h
	CF set on error
	    AL = error code
		96h out of memory
		FEh implicit transaction already active, converted to explicit
		FFh explicit transaction already active
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C701h,AX=C702h,AX=C703h,AX=F222h/SF=01h

Top
21C700 - INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
INT 21 - VIRUS - "MH-757" - INSTALLATION CHECK
	AX = C700h
Return: AL = 07h if resident
SeeAlso: AX=C603h"VIRUS",AH=CBh"VIRUS"

Top
21C701 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - END TRANSACTION
	AX = C701h
Return: AL = status (00h,FDh-FFh) (see #01809)
	    00h successful
		CX:DX = transaction number
	CF clear except when AL=FFh
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C700h"NetWare",AX=C703h,AX=F222h/SF=02h

(Table 01809)
Values for NetWare TTS status:
 00h	successful
 FDh	transaction tracking disabled
 FEh	transaction ended records locked
 FFh	no explicit transaction active

Top
21C702 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - INSTALLATION CHECK
	AX = C702h
Return: AL = status
	    00h not available
	    01h available
	    FDh available but disabled
Desc:	determine whether the default file server supports TTS
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C700h,AX=C701h,AX=C703h,AX=F222h/SF=00h

Top
21C703 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - ABORT TRANSACTION
	AX = C703h
Return: CF clear if successful
	    AL = 00h
	CF set on error
	    AL = error code (FDh-FFh) (see #01809)
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C704h,AX=F222h/SF=03h

Top
21C704 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - TRANSACTION STATUS
	AX = C704h
	CX:DX = transaction number (see AX=C701h)
Return: AL = status
	    00h successful
	    FFh not yet written to disk
Desc:	verify that a transaction has actually been written to disk
Notes:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
	transactions are written to disk in the order in which they are ended,
	  but it may take as much as five seconds for the data to be written
SeeAlso: AX=C700h"NetWare",AX=C701h,AX=C703h,AX=F222h/SF=04h

Top
21C705 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET APPLICTN THRESHOLDS
	AX = C705h
Return: AL = status
	    00h successful
	CL = maximum logical record locks (default 0)
	CH = maximum physical record locks (default 0)
Desc:	get the per-application limits on record locks allowed before an
	  implicit transaction is begun
Notes:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
	if either limit is FFh, implicit transactions are disabled for the
	  corresponding lock type
SeeAlso: AX=C706h,AX=C707h,AX=F222h/SF=05h

Top
21C706 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET APPLICTN THRESHOLDS
	AX = C706h
	CL = maximum logical record locks (default 0)
	CH = maximum physical record locks (default 0)
Return: AL = status
	    00h successful
Desc:	specify the per-application limits on record locks allowed before an
	  implicit transaction is begun
Notes:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
	if either limit is set to FFh, implicit transactions are disabled for
	  the corresponding lock type
SeeAlso: AX=C705h,AX=C708h,AX=F222h/SF=06h

Top
21C707 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - GET WORKSTN THRESHOLDS
	AX = C707h
Return: AL = status
	    00h successful
	CL = maximum logical record locks (default 0)
	CH = maximum physical record locks (default 0)
Desc:	get the per-workstation limits on record locks allowed before an
	  implicit transaction is begun
Notes:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
	if either limit is FFh, implicit transactions are disabled for the
	  corresponding lock type
SeeAlso: AX=C705h,AX=C708h,AX=F222h/SF=07h

Top
21C708 - INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
INT 21 - Novell NetWare - TRANSACTION TRACKING SYSTEM - SET WORKSTN THRESHOLDS
	AX = C708h
	CL = maximum logical record locks (default 0)
	CH = maximum physical record locks (default 0)
Return: AL = status
	    00h successful
Desc:	specify the per-workstation limits on record locks allowed before an
	  implicit transaction is begun
Notes:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
	if either limit is set to FFh, implicit transactions are disabled for
	  the corresponding lock type
SeeAlso: AX=C706h,AX=C707h,AX=F222h/SF=08h

Top
21C8 - INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
INT 21 O - Novell NetWare - BEGIN LOGICAL FILE LOCKING
	AH = C8h
	if function C6h lock mode 00h:
	    DL = mode
		00h no wait
		01h wait
	if function C6h lock mode 01h:
	    BP = timeout in timer ticks (1/18 sec)
Return: AL = error code
Desc:	used to provide TTS support for applications which are not aware of
	  Novell's Transaction Tracking System
Note:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=C9h

Top
21C9 - INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
INT 21 O - Novell NetWare - END LOGICAL FILE LOCKING
	AH = C9h
Return: AL = error code
Desc:	used to provide TTS support for applications which are not aware of
	  Novell's Transaction Tracking System
Note:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=C8h

Top
21CA - INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
INT 21 O - Novell NetWare, Alloy NTNX - LOG/LOCK PERSONAL FILE (FCB)
	AH = CAh
	DS:DX -> FCB (see #01345 at AH=0Fh)
	if function C6h lock mode 01h:
	    AL = log and lock flag
		00h log file only
		01h lock as well as log file
	    BP = lock timeout in timer ticks (1/18 sec)
Return: AL = error code
	    00h successful
	    96h no dynamic memory for file
	    FEh timeout
	    FFh failed
Desc:	provides file locking support for FCBs
Note:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=CBh

Top
21CA15 - INT 21 - VIRUS - "Piter" - ???
INT 21 - VIRUS - "Piter" - ???
	AX = CA15h
	???
Return: ???
SeeAlso: AH=CCh"VIRUS"

Top
21CB - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK FILE SET
	AH = CBh
	if function C6h lock mode 00h:
	    DL = mode (00h no wait, 01h wait)
	if function C6h lock mode 01h:
	    BP = lock timeout in timer ticks (1/18 sec), 0000h = no wait
Return: AL = status (00h,FEh,FFh) (see #01810)
Desc:	attempt to lock all files listed in the log table
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	status FFh will be returned if one or more of the files have already
	  been exclusively locked by another process
SeeAlso: AH=CAh,AH=CDh,AH=D1h,AH=EBh

(Table 01810)
Values for NetWare status:
 00h	successful
 FEh	timed out
 FFh	failed

Top
21CB - INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
INT 21 - VIRUS - "Milous" - INSTALLATION CHECK
	AH = CBh
Return: AL = 07h if resident
SeeAlso: AX=C700h"VIRUS",AX=CB02h

Top
21CB02 - INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
INT 21 - VIRUS - "Witcode" - INSTALLATION CHECK
	AX = CB02h
Return: AX = 02CBh if resident
SeeAlso: AH=CBh"VIRUS",AH=CCh"VIRUS"

Top
21CC - INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
INT 21 O - Novell NetWare, Alloy NTNX - RELEASE FILE (FCB)
	AH = CCh
	DS:DX -> FCB (see #01345 at AH=0Fh)
Return: none
Desc:	unlocks file, but does not remove it from the log table or close it
Note:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=CAh,AH=CDh

Top
21CC - INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
INT 21 - VIRUS - "Westwood" - INSTALLATION CHECK
	AH = CCh
Return: AX = 0700h if resident
SeeAlso: AX=CB02h,AH=CDh"VIRUS",AX=D000h"VIRUS"

Top
21CD - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE SET
	AH = CDh
Return: none
Desc:	unlock all files listed in the log table, but don't remove them from
	  the table
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=CBh,AH=CCh,AH=CFh,AH=D3h

Top
21CD - INT 21 - VIRUS - "Westwood" - ???
INT 21 - VIRUS - "Westwood" - ???
	AH = CDh
	???
Return: ???
SeeAlso: AH=CCh"VIRUS"

Top
21CE - INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
INT 21 O - Novell NetWare, Alloy NTNX - CLEAR FILE (FCB)
	AH = CEh
	DS:DX -> FCB (see #01345 at AH=0Fh)
Return: AL = error code
Desc:	unlocks file and removes it from log table, then closes all opened and
	  logged occurrences
Note:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AH=CAh,AH=CFh,AH=EDh"NetWare"

Top
21CF - INT 21 - LANstep - ???
INT 21 - LANstep - ???
	AH = CFh
	???
Return: ???
Program: LANstep is a redesign of the Waterloo Microsystems PORT network

Top
21CF - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE SET
	AH = CFh
Return: AL = 00h
Desc:	unlock and remove all files from log table
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=CAh,AH=CEh,AH=EBh"NetWare"

Top
21D0 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG LOGICAL RECORD
	AH = D0h
	DS:DX -> record string (counted string, max 99 data bytes)
	if function C6h lock mode 01h: (Novell, NTNX only)
	    AL = flags
		bit 0: lock as well as log the record
		bit 1: non-exclusive lock
	    BP = lock timeout in timer ticks (1/18 sec)
Return: AL = status
	    00h successful
	    96h no dynamic memory for file
	    FEh timed out
	    FFh unsuccessful
Desc:	add the specified logical record name to the log table, and optionally
	  lock the record
Notes:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
	  Banyan VINES, and Alloy NTNX
	locks on logical record names are advisory and may be ignored by other
	  applications
SeeAlso: AH=BCh,AH=D1h,AH=D2h,AH=D4h,AH=EBh

Top
21D0 - INT 21 - VIRUS - "MALAGA" - INSTALLATION CHECK
INT 21 - VIRUS - "MALAGA" - INSTALLATION CHECK
	AH = D0h
Return: AX = 00D0h if resident
SeeAlso: AH=B3h"VIRUS",AH=D0h"ANTIARJ",AX=D000h"VIRUS"

Top
21D0 - INT 21 - VIRUS - "ANTIARJ" -INSTALLATION CHECK
INT 21 - VIRUS - "ANTIARJ" -INSTALLATION CHECK
	AH = D0h
Return: AH = D1h if resident
SeeAlso: AH=D0h"MALAGA"

Top
21D000 - INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
INT 21 - VIRUS - "Fellowship" - INSTALLATION CHECK
	AX = D000h
Return: BX = 1234h if resident
SeeAlso: AH=CCh"VIRUS",AH=D0h"ANTIARJ",AX=D000h"Warlock",AH=D5h"VIRUS",AX=D5AAh

Top
21D000 - INT 21 - VIRUS - "Warlock" - INSTALLATION CHECK
INT 21 - VIRUS - "Warlock" - INSTALLATION CHECK
	AX = D000h
	CF clear
Return: CF set if resident (normal DOS return would be CF clear)
SeeAlso: AX=D000h"VIRUS",AH=D5h"VIRUS"

Top
21D1 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOCK LOGICAL RECORD SET
	AH = D1h
	AL = lock type (00h exclusive, 01h shareable)
	if function C6h lock mode 00h:
	    DL = mode (00h no wait, 01h wait)
	if function C6h lock mode 01h: (Novell only)
	    BP = lock timeout in timer ticks (1/18 sec), 0000h no wait
Return: AL = status (see #01810)
Desc:	attempt to lock all logical record names listed in the log table
Notes:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+,
	  Banyan VINES, and Alloy NTNX
	status FFh will be returned if one or more logical records have been
	  exclusively locked by another process
	locks on logical record names are advisory and may be ignored by other
	  applications
SeeAlso: AH=C2h,AH=CBh,AH=D0h,AH=D3h,AH=D5h

Top
21D2 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD
	AH = D2h
	DS:DX -> semaphore identifier (counted string up to 99 chars long)
Return: AL = status
	    00h successful
	    FFh no such record
Desc:	unlock the logical record name but do not remove it from the log table
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
	  Banyan VINES, and Alloy NTNX
	locks on logical record names are advisory and may be ignored by other
	  applications
SeeAlso: AH=BDh,AH=D0h,AH=D3h,AH=D4h

Top
21D2 - INT 21 - VIRUS???
INT 21 - VIRUS???
	AH = D2h
	???
Return: ???
Note:	this call is intercepted by the Search&Destroy SDRes v27.03 bundled
	  with Novell DOS 7, and is presumably some virus's installation check
SeeAlso: AH=4Ah/BX=00B6h

Top
21D3 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE LOGICAL RECORD SET
	AH = D3h
Desc:	unlock all currently-locked logical record names in the log table, but
	  do not remove them from the table
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
	  Banyan VINES, and Alloy NTNX
	locks on logical record names are advisory and may be ignored by other
	  applications
SeeAlso: AH=C3h,AH=CDh,AH=D1h,AH=D2h,AH=D5h

Top
21D4 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD
	AH = D4h
	DS:DX -> logical record name (counted string up to 99 chars long)
Return: AL = status (00h,FFh) (see #01811)
Desc:	unlock and remove the logical record name from the log table
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
	  Banyan VINES, and Alloy NTNX
	locks on logical record names are advisory and may be ignored by other
	  applications
SeeAlso: AH=BEh,AH=D0h,AH=D2h,AH=D5h

(Table 01811)
Values for NetWare status:
 00h	successful
 FFh	no such record name

Top
21D5 - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR LOGICAL RECORD SET
	AH = D5h
Return: AL = error code (00h,FFh) (see #01811)
Desc:	unlock and remove all logical record name from the log table
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
	  Banyan VINES, and Alloy NTNX
	locks on logical record names are advisory and may be ignored by other
	  applications
SeeAlso: AH=D1h,AH=D3h,AH=D4h

Top
21D5 - INT 21 - VIRUS - "Carfield" - ???
INT 21 - VIRUS - "Carfield" - ???
	AH = D5h
	???
Return: ???
SeeAlso: AX=D5AAh,AH=F3h"Carfield"

Top
21D5AA - INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
INT 21 - VIRUS - "Diamond-A", "Diamond-B" - INSTALLATION CHECK
	AX = D5AAh
Return: AX = 2A55h if "Diamond-A" resident
	AX = 2A03h if "Diamond-B"-family virus resident
SeeAlso: AX=D000h,AH=D5h"VIRUS",AX=D5AAh/BP=DEAAh

Top
21D5AABPDEAA - INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
INT 21 - VIRUS - "Dir" - INSTALLATION CHECK
	AX = D5AAh
	BP = DEAAh
Return: SI = 4321h if resident
SeeAlso: AX=D5AAh,AX=DADAh"VIRUS"

Top
21D6 - INT 21 - Novell NetWare - WORKSTATION - END OF JOB
INT 21 - Novell NetWare - WORKSTATION - END OF JOB
	AH = D6h
	BX = job flag (0000h current job, FFFFh all processes on workstation)
Return: AL = error code
Desc:	unlocks and clears all locked or logged files and records held by the
	  process(es), closes all files, resets error and lock modes, and
	  releases all network resources
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=BBh"NetWare",AH=D7h

Top
21D7 - INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
INT 21 - Novell NetWare - CONNECTION SERVICES - SYSTEM LOGOUT
	AH = D7h
Return: AL = error code
Desc:	this function closes the caller's open files, logs it out from all
	  file servers, detaches the workstation from all non-default file
	  servers, and maps a drive to the default server's SYS:LOGIN directory
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=D6h,AH=E3h/SF=14h,AH=F1h"NetWare"

Top
21D8 - INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
INT 21 - Novell NetWare, Banyan VINES - ALLOCATE RESOURCE
	AH = D8h
	DL = resource number
Return: AL = status (00h successful, FFh unsucessful)
Note:	this function is no longer used or supported by NetWare, and is not
	  documented in Novell documents
SeeAlso: AH=D9h

Top
21D9 - INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
INT 21 - Novell NetWare, Banyan VINES - DEALLOCATE RESOURCE
	AH = D9h
	DL = resource number
Return: AL = status (00h successful, FFh unsucessful)
Note:	this function is no longer used or supported by NetWare, and is not
	  documented in Novell documents
SeeAlso: AH=D8h

Top
21DA - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH NUMBER
	AH = DAh
	DL = volume number
	ES:DI -> reply buffer (see #01812)
Return: AL = 00h
Notes:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
	operator console rights are not required to make this call
	reported total blocks and total unused blocks include the Hot Fix
	  Table; the NetWare shell's implementation of INT 21/AH=36h will
	  report values larger than 268MB as 268MB.
SeeAlso: AH=36h,AH=E2h/SF=15h,AH=E3h/SF=E9h

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01812)
 00h	WORD	sectors/block
 02h	WORD	total blocks on volume
 04h	WORD	unused blocks
 06h	WORD	total directory entries
 08h	WORD	unused directory entries
 0Ah 16 BYTEs	volume name, null padded
 1Ah	WORD	removable flag, 0000h = not removable
Note:	all words are big-endian

Top
21DADA - INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
INT 21 - VIRUS - "Gotcha" - INSTALLATION CHECK
	AX = DADAh
Return: AH = A5h
SeeAlso: AX=D5AAh,AX=DAFEh"VIRUS"

Top
21DAFE - INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
INT 21 - VIRUS - "Plovdiv 1.3" - INSTALLATION CHECK
	AX = DAFEh
Return: AX = 1234h if resident
SeeAlso: AX=DADAh,AH=DDh"VIRUS",AH=DEh"VIRUS"

Top
21DB - INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
INT 21 - Novell NetWare - WORKSTATION - GET NUMBER OF LOCAL DRIVES
	AH = DBh
Return: AL = number of local disks as set by LASTDRIVE in CONFIG.SYS
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=0Eh

Top
21DC - INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION NUMBER
	AH = DCh
Return: AL = logical connection number
	    00h if NetWare not loaded or this machine is a non-dedicated server
	CX = station number in ASCII (CL = first digit)
Notes:	this function is supported by NetWare 4.0+, Banyan VINES, and Alloy
	  NTNX
	station number only unique for those PCs connected to same semaphore
	  service
	this function is called with AX=DC00h on entry by the DR DOS (up to
	  including 7.03) command processor to retrieve the connection number.
	  Old releases used this call only when INT 21/AX=EF03h failed.
	  Current versions (probably since one of the Novell DOS 7 updates)
	  attempt to retrieve the connection number from VLM (INT 2F/AX=7A20h
	  via GENERAL: 0043h/0006h/0001h and CONN: 0010h/0007h/000Dh) first.
	  The connection number is only trusted, however, when CF is clear on
	  return.
SeeAlso: AH=F2h"NetWare",INT 21/AX=EF03h

Top
21DC - INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
INT 21 - PCMag PCMANAGE/DCOMPRES - TURN ON/OFF
	AH = DCh
	DX = state
	    0000h turn on
	    0001h turn off
SeeAlso: AX=FEDCh

Top
21DC28 - INT 21 - VIRUS - "Monika" - INSTALLATION CHECK
INT 21 - VIRUS - "Monika" - INSTALLATION CHECK
	AX = DC28h
Return: AX = 1973h if resident
SeeAlso: AX=D000h"VIRUS",AX=DCBAh"VIRUS"

Top
21DCBA - INT 21 - VIRUS - "Red Spider" - INSTALLATION CHECK
INT 21 - VIRUS - "Red Spider" - INSTALLATION CHECK
	AX = DCBAh
Return: AX = ABCDh if resident
SeeAlso: AX=DC28h"VIRUS",AX=DEFEh"VIRUS"

Top
21DD - INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
INT 21 - Novell NetWare - WORKSTATION - SET NetWare ERROR MODE
	AH = DDh
	DL = error mode
	    00h invoke INT 24 on critical I/O errors (default)
	    01h return NetWare extended error code in AL
	    02h return error code in AL, mapped to standard DOS error codes
Return: AL = previous error mode
Note:	this function is supported by Advanced NetWare 2.0+
SeeAlso: INT 24

Top
21DD - INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
INT 21 - VIRUS - "Jerusalem"-family - RELOCATE VIRUS???
	AH = DDh
	CX = number of bytes to copy
	DS:SI -> source of copy
	ES:DI -> destination of copy
Return: does not return normally; return address is caller's CS:0100h with
	  AX = ???
SeeAlso: AX=DDEFh,AH=E0h"VIRUS",AH=EEh"VIRUS"

Top
21DDEF - INT 21 - VIRUS- "GOLGI" - INSTALLATION CHECK
INT 21 - VIRUS- "GOLGI" - INSTALLATION CHECK
	AX = DDEFh
Return: AX = EFDDh if resident
SeeAlso: AH=DDh"VIRUS",AH=DEh"VIRUS"

Top
21DE - INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
INT 21 - VIRUS - "Durban" - INSTALLATION CHECK
	AH = DEh
Return: AH = DFh if resident
SeeAlso: AX=DAFEh,AX=DDEFh,AH=DEh"April 1st",AX=DEADh"90210"

Top
21DE - INT 21 - VIRUS - "April 1st EXE" - ???
INT 21 - VIRUS - "April 1st EXE" - ???
	AH = DEh
	???
Return: ???
SeeAlso: AH=DEh"Durban",AX=DEADh"90210"

Top
21DE - INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
INT 21 - Novell NetWare - MESSAGE SERVICES - SET BROADCAST MODE
	AH = DEh
	DL = broadcast mode
	    00h receive server and workstation broadcasts (default)
	    01h receive server broadcasts, discard user messages
	    02h store server broadcasts for retrieval
	    03h store all broadcasts for retrieval
Return: AL = new broadcast mode
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+

Top
21DE--DL04 - INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MODE
	AH = DEh
	DL = 04h
Return: AL = current broadcast mode
	    00h receive server and workstation broadcasts (default)
	    01h receive server broadcasts, discard user message
	    02h store server broadcasts for retrieval
	    03h store all broadcasts for retrieval
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+

Top
21DE - INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
INT 21 - Novell NetWare - SHELL TIMER INTERRUPT CHECKS
	AH = DEh
	DL = function
	    05h disable shell timer interrupt checks
	    06h enable shell timer interrupt checks
Return: ???
Note:	this function was added in NetWare 4.0, but is not listed in current
	  Novell documentation and is probably no longer supported

Top
21DEAD - INT 21 - VIRUS - "90210" - INSTALLATION CHECK
INT 21 - VIRUS - "90210" - INSTALLATION CHECK
	AX = DEADh
Return: AX = AAAAh if resident
SeeAlso: AH=DEh"April 1st",AX=DEADh"Shifting",AX=DEDEh"VIRUS"

Top
21DEAD - INT 21 - VIRUS - "Shifting Objective" - RELOCATE CODE ???
INT 21 - VIRUS - "Shifting Objective" - RELOCATE CODE ???
	AX = DEADh
SeeAlso: AX=FEADh
SeeAlso: AX=DEADh"90210",AX=DEDEh"VIRUS"

Top
21DEDE - INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
INT 21 - VIRUS - "Brothers" - INSTALLATION CHECK
	AX = DEDEh
Return: AH = 41h if resident
SeeAlso: AX=DEADh"Shifting",AX=DEFEh"VIRUS"

Top
21DEFE - INT 21 - VIRUS - "Maze" - INSTALLATION CHECK
INT 21 - VIRUS - "Maze" - INSTALLATION CHECK
	AX = DEFEh
Return: AX = ABCDh if resident
SeeAlso: AX=DCBAh"VIRUS",AX=DEDEh"VIRUS",AH=E0h"VIRUS"

Top
21DF--DL00 - INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - START LPT CAPTURE
	AH = DFh
	DL = 00h
Return: AL = status
	    00h successful
Desc:	this function redirects the default LPT to a capture file on the file
	  server
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
	a print job is queued when the first character of output is captured
SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=03h
SeeAlso: AH=DFh/DL=04h,AX=F003h

Top
21DF--DL01 - INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - END LPT CAPTURE
	AH = DFh
	DL = 01h
Return: AL = status
	    00h successful
Desc:	stop redirecting the default LPT, close the capture file, and release
	  the job in the print queue for printing
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
	after this call, the default LPT defaults to local printing
SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=02h,AH=DFh/DL=03h,AH=DFh/DL=05h

Top
21DF--DL02 - INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - CANCEL LPT CAPTURE
	AH = DFh
	DL = 02h
Return: AL = status
	    00h successful
Desc:	this function ends the capture of the default LPT, removes the job from
	  the print queue, and deletes the capture file unless it is a
	  permanent capture file
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
	after this call, the default LPT defaults to local printing
SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=06h

Top
21DF--DL03 - INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - FLUSH LPT CAPTURE
	AH = DFh
	DL = 03h
Return: AL = status
	    00h successful
Desc:	this function closes the current capture file for the default LPT
	  and starts printing it if it is not a permanent capture file
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX; under NTNX, it sends a print break (see INT 17/AH=84h)
	if more data is sent to the LPT port after this call, a new capture
	  file will be opeend
SeeAlso: AH=DFh/DL=00h,AH=DFh/DL=01h,AH=DFh/DL=02h,AH=DFh/DL=07h

Top
21DF--DL04 - INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - START SPECIFIC LPT CAPTURE
	AH = DFh
	DL = 04h
	DH = LPT port (00h-02h)
Return: AL = status
	    00h successful
Desc:	this function redirects the specified LPT to a capture file on the file
	  server
Notes:	this function is supported by Advanced NetWare 2.1+
	a print job is queued when the first character of output is captured
SeeAlso: AX=B800h,AH=DFh/DL=00h,AH=DFh/DL=05h,AH=DFh/DL=06h,AH=DFh/DL=07h
SeeAlso: AX=F003h

Top
21DF--DL05 - INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - END SPECIFIC LPT CAPTURE
	AH = DFh
	DL = 05h
	DH = LPT port (00h-02h)
Return: AL = status
	    00h successful
Desc:	stop redirecting the specified LPT, close the capture file, and release
	  the job in the print queue for printing
Notes:	this function is supported by Advanced NetWare 2.1+
	after this call, the specified LPT defaults to local printing
SeeAlso: AH=DFh/DL=01h,AH=DFh/DL=04h,AH=DFh/DL=06h,AH=DFh/DL=07h

Top
21DF--DL06 - INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - CANCEL SPECIFIC LPT CAPTURE
	AH = DFh
	DL = 06h
	DH = LPT port (00h-02h)
Return: AL = status
	    00h successful
Desc:	this function ends the capture of the specified LPT, removes the job
	  from the print queue, and deletes the capture file unless it is a
	  permanent capture file
Notes:	this function is supported by Advanced NetWare 2.1+
	after this call, the specified LPT defaults to local printing
SeeAlso: AH=DFh/DL=02h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=07h

Top
21DF--DL07 - INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
INT 21 - Novell NetWare - PRINT SERVICES - FLUSH SPECIFIC LPT CAPTURE
	AH = DFh
	DL = 07h
	DH = LPT port (00h-02h)
Return: AL = status
	    00h successful
Desc:	this function closes the current capture file for the specified LPT
	  and starts printing it if it is not a permanent capture file
Notes:	this function is supported by Advanced NetWare 2.1+
	if more data is sent to the LPT port after this call, a new capture
	  file will be opeend
SeeAlso: AH=DFh/DL=03h,AH=DFh/DL=04h,AH=DFh/DL=05h,AH=DFh/DL=06h

Top
21DF00DX534C - INT 21 U - Software Carousel - INSTALLATION CHECK
INT 21 U - Software Carousel - INSTALLATION CHECK
	AX = DF00h
	DX = 534Ch ("SL")
	DI = 534Ch ("SL")
Return: AX = 00FFh if installed
	    ???
Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.

Top
21DF01 - INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
INT 21 - Software Carousel - SWITCH TO ANOTHER TASK
	AX = DF01h
	BL = task number (00h = next task)
Return: AL = status
	    00h Carousel not running
	    01h successful
	    FFh unsucessful
		AH = error code (01h,02h) (see #01813)

(Table 01813)
Values for Software Carousel error code:
 00h	invalid subfunction in AL
 01h	invalid task number
 02h	tried to switch to task with no memory size
 03h	tried to kill program in partition with no program running
 04h	tried to change size of an active memory partition
 05h	invalid memory size
 06h	tried to send command to task with a pending previous command

Top
21DF02 - INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
INT 21 - Software Carousel - KILL PROGRAM IN MEMORY PARTITION
	AX = DF02h
	BL = task number
Return: AL = status
	    00h Carousel not running
	    01h successful
	    FFh unsucessful
		AH = error code (01h,03h) (see #01813)

Top
21DF03 - INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
INT 21 - Software Carousel - GET PARTITION SIZE AND PROGRAM STATUS
	AX = DF03h
	BL = task number
Return: AL = status
	    00h Carousel not running
	    01h successful
		BL = partition state (00h no program running, 01h prog running)
		DX = partition size in KB
	    FFh unsucessful
		AH = error code (01h) (see #01813)
SeeAlso: AX=DF05h

Top
21DF04 - INT 21 - Software Carousel - GET PARTITION NAME
INT 21 - Software Carousel - GET PARTITION NAME
	AX = DF04h
	BL = task number
Return: AL = status
	    00h Carousel not running
	    01h successful
		CX = length of name (00h if default partition name)
		ES:BX -> partition name (if CX nonzero)
	    FFh unsucessful
		AH = error code (01h) (see #01813)
SeeAlso: AX=DF06h

Top
21DF05 - INT 21 - Software Carousel - CHANGE PARTITION SIZE
INT 21 - Software Carousel - CHANGE PARTITION SIZE
	AX = DF05h
	BL = task number
	DX = new size in KB
Return: AL = status
	    00h Carousel not running
	    01h successful
	    FFh unsucessful
		AH = error code (01h,04h,05h) (see #01813)
	BX = minimum size allowed
	CX = maximum size available
SeeAlso: AX=DF03h

Top
21DF06 - INT 21 - Software Carousel - CHANGE PARTITION NAME
INT 21 - Software Carousel - CHANGE PARTITION NAME
	AX = DF06h
	BL = task number
	CX = length of new name (00h to use default, max 18h)
	DS:SI -> new name
Return: AL = status
	    00h Carousel not running
	    01h successful
	    FFh unsucessful
		AH = error code (01h) (see #01813)
SeeAlso: AX=DF04h

Top
21DF07 - INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
INT 21 - Software Carousel - SEND COMMAND TO MEMORY SECTION
	AX = DF07h
	BL = task number
	CX = length of command (max 8 chars)
	DS:SI -> command line
Return: AL = status
	    00h Carousel not running
	    01h successful
	    FFh unsucessful
		AH = error code (01h,06h) (see #01813)
Note:	the maximum length seems too small and may be a typo for 80 characters

Top
21DF08 - INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
INT 21 - Software Carousel - SELECTIVELY ENABLE/DISABLE MENU AND SWITCHING
	AX = DF08h
	BL = new state of keyboard (00h disabled, 01h enabled)
Return: AL = status
	    00h Carousel not running
	    01h successful
Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
Note:	when the keyboard is is disabled, the user may neither access the
	  Carousel menu nor switch to another memory section

Top
21DF09 - INT 21 - Software Carousel - BOOT THE SYSTEM
INT 21 - Software Carousel - BOOT THE SYSTEM
	AX = DF09h
Return: AL = status
	    00h Carousel not running
	    FFh unsucessful
		AH = error code (01h,03h) (see #01813)
Note:	this function never returns if successful

Top
21DF0A - INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
INT 21 - Software Carousel - GET MEMORY SIZE/PARTITION NUMBER OF CURRENT TASK
	AX = DF0Ah
Return: AL = status
	    00h Carousel not running
	    01h successful
		BL = task number
		DX = memory size in KB
	    FFh unsucessful
		AH = error code (01h,03h) (see #01813)

Top
21DF0B - INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
INT 21 - Software Carousel - SET TASK SWITCH CALLBACK
	AX = DF0Bh
	BH = interrupt number or 00h
	BL = function number to invoke on partition switch
	CL = function number to call when it is safe for resident programs
		to perform DOS calls
	DS:DX -> FAR function to call if BH=00h
Return: AL = status
	    00h Carousel not running
	    01h successful
	    FFh unsucessful
		AH = error code (01h,03h) (see #01813)
Notes:	the specified interrupt or FAR function is called with AH set to the
	  appropriate one of the values specified in BL and CL, and BL set to
	  the new task number
	the function specified by CL will not be called until the notification
	  is enabled with AX=DF0Ch
SeeAlso: AX=DF0Ch

Top
21DF0C - INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
INT 21 - Software Carousel - ENABLE DOS-CALL SAFETY NOTIFICATION
	AX = DF0Ch
Return: AL = status
	    00h Carousel not running
	    01h successful
Program: Software Carousel is a task switcher by SoftLogic Solutions, Inc.
SeeAlso: AX=DF0Bh

Top
21E0 - INT 21 - Digital Research DOS Plus - CALL BDOS
INT 21 - Digital Research DOS Plus - CALL BDOS
	AH = E0h
	CL = BDOS function number (see #04019 at INT E0"CP/M-86")
	other registers as appropriate for function
Return: as appropriate for function
SeeAlso: AX=4459h,INT E0"CP/M-86"

Top
21E0 - INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
INT 21 - OS/286, OS/386 - INITIALIZE REAL PROCEDURE
	AH = E0h
	???
Return: ???
SeeAlso: AH=E1h"OS/286"

Top
21E0 - INT 21 - DoubleDOS - MENU CONTROL
INT 21 - DoubleDOS - MENU CONTROL
	AH = E0h
	AL = subfunction
	    01h exchange tasks
	    73h resume invisible job if suspended
	    74h kill other job
	    75h suspend invisible job
Note:	identical to AH=F0h
SeeAlso: AH=F0h"DoubleDOS"

Top
21E0 - INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
INT 21 - VIRUS - "Jerusalem", "Armagedon" - INSTALLATION CHECK
	AH = E0h
Return: AX = 0300h if "Jerusalem" resident
	AX = DADAh if "Armagedon" resident
SeeAlso: AH=DEh"VIRUS",AX=DEDEh"VIRUS",AX=E00Fh

Top
21E0 - INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
INT 21 - Novell NetWare, Alloy NTNX - PRINT SPOOLING
	AH = E0h
	DS:SI -> request buffer (see #01814)
	ES:DI -> reply buffer
Return: AL = status
Note:	this function was added in NetWare 4.0, but is no longer listed in
	  current Novell documentation and may no longer be supported
SeeAlso: AH=E3h/SF=68h,AX=F211h/SF=06h,AX=F211h/SF=0Ah

Format of NetWare print spooling request buffer:
Offset	Size	Description	(Table 01814)
 00h	WORD	length of following data
 02h	BYTE	subfunction
		00h spool data to a capture file
		01h close and queue capture file
		02h set spool flags
		03h spool existing file
		04h get spool queue entry
		05h remove entry from spool queue
 03h	???
SeeAlso: #02101

Top
21E0--SF06 - INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
INT 21 - Novell NetWare - PRINT SERVICES - GET PRINTER STATUS
	AH = E0h subfn 06h
	DS:SI -> request buffer (see #01815)
	ES:DI -> reply buffer (see #01816)
Return: AL = status
	    00h successful
	    FFh no such printer
Desc:	get current state of specified printer attached to the server
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX

Format of NetWare "Get Printer Status" request buffer:
Offset	Size	Description	(Table 01815)
 00h	WORD	0002h (length of following data)
 02h	BYTE	06h (subfunction "Get Printer Status")
 03h	BYTE	printer number (00h-04h)
SeeAlso: #01816

Format of NetWare "Get Printer Status" reply buffer:
Offset	Size	Description	(Table 01816)
 00h	WORD	(call) 0004h (size of following results buffer)
 02h	BYTE	flag: 00h printer active, FFh printer halted
 03h	BYTE	flag: 00h printer online, 01h printer offline
 04h	BYTE	current form type
 05h	BYTE	target printer number (00h-04h)
		same as number in request buffer unless rerouted by server
		  console
SeeAlso: #01815

Top
21E0--SF09 - INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
INT 21 - Novell NetWare - PRINT SERVICES - SPECIFY CAPTURE FILE
	AH = E0h subfn 09h
	DS:SI -> request buffer (see #01817)
	ES:DI -> reply buffer (see #01818)
Return: AL = status
	    00h successful
	    9Ch invalid path
Desc:	create a permanent capture file for the next print capture to be
	  started
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	the caller must have read, write, and create rights for the directory
	  containing the capture file

Format of NetWare "Specify Capture File" request buffer:
Offset	Size	Description	(Table 01817)
 00h	WORD	length of following data (max 102h)
 02h	BYTE	09h (subfunction "Specify Capture File")
 03h	BYTE	directory handle or 00h
 04h	BYTE	length of filename
 05h  N BYTEs	name of capture file
SeeAlso: #01818

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01818)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01817

Top
21E00F - INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
INT 21 - VIRUS - "8-tunes" - INSTALLATION CHECK
	AX = E00Fh
Return: AX = 4C31h if resident
SeeAlso: AH=E0h"VIRUS",AH=E1h"VIRUS"

Top
21E1 - INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
INT 21 - OS/286, OS/386 - ISSUE REAL PROCEDURE CALL
	AH = E1h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AH=E0h"OS/286",AH=E2h"OS/286",AH=E3h"OS/286",AX=250Eh,INT 31/AX=0301h

Top
21E1 - INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
	AH = E1h
SeeAlso: AH=E2h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
SeeAlso: AH=F1h"DoubleDOS"

Top
21E1 - INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
INT 21 - VIRUS - "Mendoza", "Fu Manchu" - INSTALLATION CHECK
	AH = E1h
Return: AX = 0300h if "Mendoza" resident
	AX = 0400h if "Fu Manchu" resident
SeeAlso: AX=E00Fh,AH=E4h"VIRUS"

Top
21E1--SF00 - INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
INT 21 - Novell NetWare - MESSAGE SERVICES - SEND BROADCAST MESSAGE
	AH = E1h subfn 00h
	DS:SI -> request buffer (see #01819)
	ES:DI -> reply buffer (see #01820)
Return: AL = status
	    00h successful
	    FEh I/O error or out of dynamic workspace
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=DEh"NetWare",AH=DEh/DL=04h,AH=E1h/SF=01h,AH=E1h/SF=04h
SeeAlso: AH=E1h/SF=09h

Format of NetWare "Send Broadcast Message" request buffer:
Offset	Size	Description	(Table 01819)
 00h	WORD	length of following data (max 9Eh)
 02h	BYTE	00h (subfunction "Send Broadcast Message")
 03h	BYTE	number of connections (01h-64h)
 04h  N BYTEs	list of connections to receive broadcast message
	BYTE	length of message (01h-37h)
      N BYTEs	broadcast message (no control characters or characters > 7Eh)
SeeAlso: #01820

Format of NetWare "Send Broadcast Message" reply buffer:
Offset	Size	Description	(Table 01820)
 00h	WORD	(call) size of following results buffer (max 65h)
 02h	BYTE	number of connections
 03h  N BYTEs	list of per-connection results
		00h successful
		FCh message rejected due to lack of buffer space
		FDh invalid connection number
		FFh blocked (see also AH=E1h/SF=02h)
SeeAlso: #01819

Top
21E1--SF01 - INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE (OLD)
INT 21 - Novell NetWare - MESSAGE SERVICES - GET BROADCAST MESSAGE (OLD)
	AH = E1h subfn 01h
	DS:SI -> request buffer (see #01821)
	ES:DI -> reply buffer (see #01822)
Return: AL = status
	    00h successful
	    FCh full message queue
	    FEh out of dynamic workspace
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=09h
SeeAlso: AX=F215h/SF=01h,AX=F215h/SF=0Bh

Format of NetWare "Get Broadcast Message" request buffer:
Offset	Size	Description	(Table 01821)
 00h	WORD	0001h (length of following data)
 02h	BYTE	01h (subfunction "Get Broadcast Message")
SeeAlso: #01822,#02109

Format of NetWare "Get Broadcast Message" reply buffer:
Offset	Size	Description	(Table 01822)
 00h	WORD	(call) size of following results buffer (max 38h)
 02h	BYTE	length of message (00h-37h)
		00h if no broadcast messages pending
 03h  N BYTEs	message (no control characters or characters > 7Eh)
SeeAlso: #01821,#02107,#02110

Top
21E1--SF02 - INT 21 - Novell NetWare - MESSAGE SERVICES - DISABLE BROADCAST MESSAGES
INT 21 - Novell NetWare - MESSAGE SERVICES - DISABLE BROADCAST MESSAGES
	AH = E1h subfn 02h
	DS:SI -> request buffer (see #01824)
	ES:DI -> reply buffer (see #01825)
Return: AL = error code
Note:	these functions are supported by NetWare 4.0+ but are not listed in
	  _NetWare_System_Calls--DOS_; they may be obsolete
SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=03h,AH=E1h/SF=04h,AH=E1h/SF=09h
SeeAlso: AX=F215h/SF=02h

Format of NetWare "Disable Broadcasts" request packet:
Offset	Size	Description	(Table 01823)
 00h	WORD	0001h (length of following data)
 02h	BYTE	02h (subfunction "Enable Broadcast Messages")
SeeAlso: #01824,#01825

Top
21E1--SF03 - INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE BROADCAST MESSAGES
INT 21 - Novell NetWare - MESSAGE SERVICES - ENABLE BROADCAST MESSAGES
	AH = E1h subfn 03h
	DS:SI -> request buffer (see #01824)
	ES:DI -> reply buffer (see #01825)
Return: AL = error code
Note:	these functions are supported by NetWare 4.0+ but are not listed in
	  _NetWare_System_Calls--DOS_; they may be obsolete
SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=02h,AH=E1h/SF=04h,AH=E1h/SF=09h
SeeAlso: AX=F215h/SF=03h

Format of NetWare "Enable Broadcast Messages" request buffer:
Offset	Size	Description	(Table 01824)
 00h	WORD	0001h (length of following data)
 02h	BYTE	03h (subfunction "Enable Broadcast Messages")
SeeAlso: #01825,#01823

Format of NetWare "Enable/Disable Broadcast Messages" reply buffer:
Offset	Size	Description	(Table 01825)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01824,#01823

Top
21E1--SF04 - INT 21 O - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
INT 21 O - Novell NetWare - MESSAGE SERVICES - SEND PERSONAL MESSAGE
	AH = E1h subfn 04h
	DS:SI -> request buffer (see #01826)
	ES:DI -> reply buffer (see #01827)
Return: AL = status
	    00h successful
	    FEh I/O error or out of dynamic workspace
Notes:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
	message pipes use CPU time on the file server; IPX, SPX, or NetBIOS
	  connections should be used for peer-to-peer communications as these
	  protocols do not use file server time
SeeAlso: AH=E1h/SF=00h,AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h

Format of NetWare "Send Personal Message" request buffer:
Offset	Size	Description	(Table 01826)
 00h	WORD	length of following data (max E5h)
 02h	BYTE	04h (subfunction "Send Personal Message")
 03h	BYTE	number of connections (01h-64h)
 04h  N BYTEs	list of connections to receive broadcast message
	BYTE	length of message (01h-7Eh)
      N BYTEs	message (no control characters or characters > 7Eh)
SeeAlso: #01827

Format of NetWare "Send Personal Message" reply buffer:
Offset	Size	Description	(Table 01827)
 00h	WORD	(call) size of following results buffer (max 65h)
 02h	BYTE	number of connections
 03h  N BYTEs	list of per-connection results
		00h successful
		FCh message rejected because queue is full (contains 6 msgs)
		FDh incomplete pipe
		FFh failed
SeeAlso: #01826

Top
21E1--SF05 - INT 21 O - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
INT 21 O - Novell NetWare - MESSAGE SERVICES - GET PERSONAL MESSAGE
	AH = E1h subfn 05h
	DS:SI -> request buffer (see #01828)
	ES:DI -> reply buffer (see #01829)
Return: AL = status
	    00h successful
	    FEh out of dynamic workspace
Desc:	return the oldest message in the default file server's message queue
	  for the calling workstation
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
SeeAlso: AH=E1h/SF=01h,AH=E1h/SF=04h,AH=E1h/SF=06h,AH=E1h/SF=08h

Format of NetWare "Get Personal Message" request buffer:
Offset	Size	Description	(Table 01828)
 00h	WORD	0001h (length of following data)
 02h	BYTE	05h (subfunction "Get Personal Message")
SeeAlso: #01829

Format of NetWare "Get Personal Message" reply buffer:
Offset	Size	Description	(Table 01829)
 00h	WORD	(call) size of following results buffer (max 80h)
 02h	BYTE	connection number of sending station
 03h	BYTE	length of message (00h-7Eh)
		00h if no personal messages pending
 04h  N BYTEs	message (no control characters or characters > 7Eh)
SeeAlso: #01828

Top
21E1--SF06 - INT 21 O - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
INT 21 O - Novell NetWare - MESSAGE SERVICES - OPEN MESSAGE PIPE
	AH = E1h subfn 06h
	DS:SI -> request buffer (see #01830)
	ES:DI -> reply buffer (see #01831)
Return: AL = status
	    00h successful
	    FEh out of dynamic workspace
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
SeeAlso: AH=E1h/SF=04h,AH=E1h/SF=07h,AH=E1h/SF=08h

Format of NetWare "Open Message Pipe" request buffer:
Offset	Size	Description	(Table 01830)
 00h	WORD	length of following data (max 66h)
 02h	BYTE	06h (subfunction "Open Message Pipe")
 03h	BYTE	number of pipes to open (01h-64h)
 04h  N BYTEs	list of connection numbers
SeeAlso: #01831,#01832,#01835

Format of NetWare "Open Message Pipe" reply buffer:
Offset	Size	Description	(Table 01831)
 00h	WORD	(call) size of following results buffer (max 65h)
 02h	BYTE	number of connections
 03h  N BYTEs	list of results
		00h successful
		FEh incomplete (target half not yet created)
		FFh failed
SeeAlso: #01830,#01833,#01836

Top
21E1--SF07 - INT 21 O - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
INT 21 O - Novell NetWare - MESSAGE SERVICES - CLOSE MESSAGE PIPE
	AH = E1h subfn 07h
	DS:SI -> request buffer (see #01832)
	ES:DI -> reply buffer (see #01833)
Return: AL = status
	    00h successful
	    FCh full message queue
	    FEh out of dynamic workspace
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=08h

Format of NetWare "Close Mesage Pipe" request buffer:
Offset	Size	Description	(Table 01832)
 00h	WORD	length of following data (max 66h)
 02h	BYTE	07h (subfunction "Close Message Pipe")
 03h	BYTE	number of pipes to close (01h-64h)
 04h  N BYTEs	list of connection numbers
SeeAlso: #01830,#01833

Format of NetWare "Close Message Pipe" reply buffer:
Offset	Size	Description	(Table 01833)
 00h	WORD	(call) size of following results buffer (max 65h)
 02h	BYTE	number of connections
 03h  N BYTEs	list of results
		00h successful
		FDh failed
		FFh no such pipe
SeeAlso: #01831,#01832

Top
21E1--SF08 - INT 21 O - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
INT 21 O - Novell NetWare - MESSAGE SERVICES - CHECK PIPE STATUS
	AH = E1h subfn 08h
	DS:SI -> request buffer (see #01835)
	ES:DI -> reply buffer (see #01836)
Return: AL = status (see #01834)
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0-2.x
SeeAlso: AH=E1h/SF=05h,AH=E1h/SF=06h,AH=E1h/SF=07h,AX=F215h/SF=08h

(Table 01834)
Values for NetWare function status:
 00h	successful
 FCh	full message queue
 FEh	out of dynamic workspace
SeeAlso: #01839

Format of NetWare "Check Pipe Status" request buffer:
Offset	Size	Description	(Table 01835)
 00h	WORD	length of following data (max 66h)
 02h	BYTE	08h (subfunction "Check Pipe Status")
 03h	BYTE	number of pipes to monitor (01h-64h)
 04h  N BYTEs	list of connection numbers
SeeAlso: #01830,#01836

Format of NetWare "Check Pipe Status" reply buffer:
Offset	Size	Description	(Table 01836)
 00h	WORD	(call) size of following results buffer (max 65h)
 02h	BYTE	number of connections
 03h  N BYTEs	list of pipe statuses
		00h open
		FEh incomplete
		FFh closed
SeeAlso: #01831,#01835,#02108

Top
21E1--SF09 - INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
INT 21 - Novell NetWare - MESSAGE SERVICES - BROADCAST TO CONSOLE
	AH = E1h subfn 09h
	DS:SI -> request buffer (see #01837)
	ES:DI -> reply buffer (see #01838)
Return: AL = status (see #01834)
Desc:	send a one-line message to the system console on the default file
	  server
Note:	this function is supported by NetWare 4.0+ and Advanced NetWare 1.0+
SeeAlso: AH=DEh/DL=04h,AH=E1h/SF=00h,AH=E1h/SF=01h,AH=E3h/SF=D1h
SeeAlso: AX=F215h/SF=09h

Format of NetWare "Broadcast to Console" request buffer:
Offset	Size	Description	(Table 01837)
 00h	WORD	length of following data (max 3Eh)
 02h	BYTE	09h (subfunction "Broadcast to Console")
 03h	BYTE	length of message (01h-3Ch)
 04h  N BYTEs	message (no control characters or characters > 7Eh)
SeeAlso: #01838

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01838)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01837

Top
21E2 - INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
INT 21 - OS/286, OS/386 - SET REAL PROCEDURE SIGNAL HANDLER
	AH = E2h
	???
Return: ???
SeeAlso: AH=E0h"OS/286",AH=E1h"OS/286",AH=E6h"OS/286"

Top
21E2 - INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
	AH = E2h
	AL = character
Return: AL = 00h successful
	     01h buffer full (128 characters)
SeeAlso: AH=E1h"DoubleDOS",AH=E3h"DoubleDOS",AH=E8h"DoubleDOS"
SeeAlso: AH=F2h"DoubleDOS"

Top
21E2--SF00 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY HANDLE
	AH = E2h subfn 00h
	DS:SI -> request buffer (see #01840)
	ES:DI -> reply buffer (see #01841)
Return: AL = status (00h,98h,9Bh,9Ch) (see #01839)
Desc:	set the target handle to reference the directory specified by the
	  source handle and the source path; both handles must refer to the
	  same file server
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	the target handle is not changed if this function fails
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=12h,AH=E2h/SF=13h,AX=F216h/SF=00h

(Table 01839)
Values for NetWare function status:
 00h	successful
 84h	not permitted to create
 8Ah	not permitted to delete
 8Bh	not permitted to rename
 8Ch	not permitted to modify
 98h	nonexistent volume
 9Bh	invalid directory handle
 9Ch	invalid path
 9Eh	invalid filename
 9Fh	directory currently in use
 A0h	directory not empty
 C6h	no console rights
 FCh	no such bindery object
SeeAlso: #01834,#01866

Format of NetWare "Set Directory Handle" request buffer:
Offset	Size	Description	(Table 01840)
 00h	WORD	length of following data (max 103h)
 02h	BYTE	00h (subfunction "Set Directory Handle")
 03h	BYTE	directory handle of target
 04h	BYTE	directory handle of source
 05h	BYTE	length of source directory path (01h-FFh)
 06h  N BYTEs	source directory path
SeeAlso: #01841

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01841)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01840

Top
21E2--SF01 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY PATH
	AH = E2h subfn 01h
	DS:SI -> request buffer (see #01842)
	ES:DI -> reply buffer (see #01843)
Return: AL = status (00h,9Bh) (see #01839)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=03h,AH=E2h/SF=1Ah,AH=E9h,AX=F216h/SF=01h

Format of NetWare "Get Directory Path" request buffer:
Offset	Size	Description	(Table 01842)
 00h	WORD	0002h (length of following data)
 02h	BYTE	01h (subfunction "Get Directory Path")
 03h	BYTE	directory handle
SeeAlso: #01843,#01844

Format of NetWare "Get Directory Path" reply buffer:
Offset	Size	Description	(Table 01843)
 00h	WORD	(call) length of following data buffer
 02h	BYTE	length of directory path (01h-FFh)
 03h  N BYTEs	full directory path including volume
SeeAlso: #01842,#01845

Top
21E2--SF02 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY INFORMATION
	AH = E2h subfn 02h
	DS:SI -> request buffer (see #01844)
	ES:DI -> reply buffer (see #01845)
Return: AL = status (00h,98h,9Bh,9Ch) (see #01839)
Desc:	get information about the first or next subdirectory of the specified
	  directory
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=03h,AH=E2h/SF=19h,AX=F216h/SF=02h

Format of NetWare "Scan Directory Information" request buffer:
Offset	Size	Description	(Table 01844)
 00h	WORD	length of following data (max 104h)
 02h	BYTE	02h (subfunction "Scan Directory Information")
 03h	BYTE	directory handle
 04h	WORD	(big-endian) subdirectory number
		0000h for first call, returned subdir number + 1 on next call
 06h	BYTE	length of directory path
 07h  N BYTEs	directory path
SeeAlso: #01842,#01845

Format of NetWare "Scan Directory Information" reply buffer:
Offset	Size	Description	(Table 01845)
 00h	WORD	(call) 001Ch (length of following data buffer)
 02h 16 BYTEs	subdirectory name
 12h	DWORD	(big-endian) date and time of creation (see #01846)
 16h	DWORD	(big-endian) object ID of owner
 1Ah	BYTE	maximum directory rights (see #01849)
 1Bh	BYTE	unused
 1Ch	WORD	(big-endian) subdirectory number
SeeAlso: #01843,#01844,#02111 at AX=F216h/SF=02h

Bitfields for NetWare date and time:
Bit(s)	Description	(Table 01846)
 31-25	year-1980
 24-21	month
 20-16	day
 15-11	hour
 10-5	minute
 4-0	second

Top
21E2--SF03 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET EFFECTIVE DIRECTORY RIGHTS
	AH = E2h subfn 03h
	DS:SI -> request buffer (see #01847)
	ES:DI -> reply buffer (see #01848)
Return: AL = status (00h,98h,9Bh) (see #01839)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=02h,AX=F216h/SF=03h

Format of NetWare "Get Effective Directory Rights (old)" request buffer:
Offset	Size	Description	(Table 01847)
 00h	WORD	length of following data (max 102h)
 02h	BYTE	03h (subfunction "Get Effective Directory Rights (old)")
 03h	BYTE	directory handle
 04h	BYTE	length of directory path (00h-FFh)
 05h  N BYTEs	directory path
SeeAlso: #01848,#01850

Format of NetWare "Get Effective Directory Rights" reply buffer:
Offset	Size	Description	(Table 01848)
 00h	WORD	(call) 0001h (length of following data buffer)
 02h	BYTE	effective directory rights (see #01849)
SeeAlso: #01847

Bitfields for NetWare directory rights:
Bit(s)	Description	(Table 01849)
 0	reading allowed
 1	writing allowed
 2	opens allowed
 3	file creation allowed
 4	deletion allowed
 5	"parental" may create/delete subdirectories and grant/revoke trustee
	  rights
 6	directory search allowed
 7	file attributes may be changed
SeeAlso: #01848,#01850

Top
21E2--SF04 - INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
INT 21 - Novell NetWare - DIRECTORY SERVICES - MODIFY MAXIMUM RIGHTS MASK
	AH = E2h subfn 04h
	DS:SI -> request buffer (see #01850)
	ES:DI -> reply buffer (see #01851)
Return: AL = status (00h,8Ch,98h,9Ch) (see #01839)
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=03h,AH=E2h/SF=0Ah,AH=E2h/SF=0Dh,AX=F216h/SF=04h

Format of NetWare "Modify Maximum Rights Mask" request buffer:
Offset	Size	Description	(Table 01850)
 00h	WORD	length of following data (max 104h)
 02h	BYTE	04h (subfunction "Modify Maximum Rights Mask")
 03h	BYTE	directory handle
 04h	BYTE	rights to grant (see #01849)
 05h	BYTE	rights to revoke (see #01849)
 06h	BYTE	length of directory path (00h-FFh)
 07h  N BYTEs	directory path
Note:	the rights specified at offset 05h are revoked first, and then the
	  rights specified at offset 04h are added to the resulting rights
	  mask
SeeAlso: #01847,#01851

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01851)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01850

Top
21E2--SF05 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NUMBER
	AH = E2h subfn 05h
	DS:SI -> request buffer (see #01852)
	ES:DI -> reply buffer (see #01853)
Return: AL = status (00h,98h) (see #01839)
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E3h/SF=E9h
SeeAlso: AX=F216h/SF=05h

Format of NetWare "Get Volume Number" request buffer:
Offset	Size	Description	(Table 01852)
 00h	WORD	length of following data (max 12h)
 02h	BYTE	05h (subfunction "Get Volume Number")
 03h	BYTE	length of volume name (01h-10h)
 04h  N BYTEs	volume name
SeeAlso: #01853,#02113 at AX=F216h/SF=05h

Format of NetWare "Get Volume Number" reply buffer:
Offset	Size	Description	(Table 01853)
 00h	WORD	(call) 0001h (length of following results buffer)
 02h	BYTE	volume number
SeeAlso: #01852,#02113 at AX=F216h/SF=05h

Top
21E2--SF06 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME NAME
	AH = E2h subfn 06h
	DS:SI -> request buffer (see #01854)
	ES:DI -> reply buffer (see #01855)
Return: AL = status (00h,98h) (see #01839)
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=05h,AH=E2h/SF=15h,AH=E2h/SF=1Ah
SeeAlso: AH=E3h/SF=E9h,AX=F216h/SF=06h

Format of NetWare "Get Volume Name" request buffer:
Offset	Size	Description	(Table 01854)
 00h	WORD	0002h (length of following data)
 02h	BYTE	06h (subfunction "Get Volume Name")
 03h	BYTE	volume number
SeeAlso: #01855,#02114 at AX=F216h/SF=06h

Format of NetWare "Get Volume Name" reply buffer:
Offset	Size	Description	(Table 01855)
 00h	WORD	(call) 0011h (length of following results buffer)
 02h	BYTE	length of volume name
 03h 16 BYTEs	NUL-padded volume name
SeeAlso: #01854,#02114 at AX=F216h/SF=06h

Top
21E2--SF0A - INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
INT 21 - Novell NetWare - DIRECTORY SERVICES - CREATE DIRECTORY
	AH = E2h subfn 0Ah
	DS:SI -> request buffer (see #01856)
	ES:DI -> reply buffer (see #01857)
Return: AL = status (00h,84h,98h,FCh) (see #01839)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=39h,AH=E2h/SF=0Bh,AH=E2h/SF=0Fh,AX=F216h/SF=0Ah

Format of NetWare "Create Directory" request buffer:
Offset	Size	Description	(Table 01856)
 00h	WORD	length of following data (max 103h)
 02h	BYTE	0Ah (subfunction "Create Directory")
 03h	BYTE	directory handle
 04h	BYTE	maximum directory rights (see #01849)
 05h	BYTE	length of directory path (00h-FFh)
 06h  N BYTEs	directory path
SeeAlso: #01857,#01858

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01857)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01856,#01858

Top
21E2--SF0B - INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE DIRECTORY
	AH = E2h subfn 0Bh
	DS:SI -> request buffer (see #01858)
	ES:DI -> reply buffer (see #01857)
Return: AL = status (00h,8Ah,98h,9Bh,9Ch,9Fh,A0h) (see #01839)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=3Ah,AH=E2h/SF=0Ah,AH=E2h/SF=0Fh,AX=F216h/SF=0Bh

Format of NetWare "Delete Directory" request buffer:
Offset	Size	Description	(Table 01858)
 00h	WORD	length of following data (max 103h)
 02h	BYTE	0Bh (subfunction "Delete Directory")
 03h	BYTE	directory handle
 04h	BYTE	unused
 05h	BYTE	length of directory path (00h-FFh)
 06h  N BYTEs	directory path
SeeAlso: #01856,#01857

Top
21E2--SF0C - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN DIRECTORY FOR TRUSTEES
	AH = E2h subfn 0Ch
	DS:SI -> request buffer (see #01859)
	ES:DI -> reply buffer (see #01860)
Return: AL = status (00h,9Ch) (see also #01839)
	    9Ch no more trustees
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=0Dh,AH=E2h/SF=0Eh,AH=E3h/SF=47h,AX=F216h/SF=0Ch

Format of NetWare "Scan Directory For Trustees" request buffer:
Offset	Size	Description	(Table 01859)
 00h	WORD	length of following data (max 103h)
 02h	BYTE	0Ch (subfunction "Scan Directory For Trustees")
 03h	BYTE	directory handle
 04h	BYTE	sequence number
		00h on first call, increment for each subsequent call
 05h	BYTE	length of directory path (00h-FFh)
 06h  N BYTEs	directory path
SeeAlso: #01860,#01861,#02115 at AX=F216h/SF=0Ch

Format of NetWare "Scan Directory For Trustees" reply buffer:
Offset	Size	Description	(Table 01860)
 00h	WORD	(call) 0031h (length of following results buffer)
 02h 16 BYTEs	directory name
 12h  4 BYTEs	date and time of creation
 16h	DWORD	(big-endian) object ID of owner
 1Ah  5 DWORDs	(big-endian) object IDs of Trustees 0 through 4
		00000000h = end of group
 2Eh  5 BYTEs	directory rights for Trustees 0 through 4 (see #01849)
SeeAlso: #01859,#01863,#02115 at AX=F216h/SF=0Ch

Top
21E2--SF0D - INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
INT 21 - Novell NetWare - DIRECTORY SERVICES - ADD TRUSTEE TO DIRECTORY
	AH = E2h subfn 0Dh
	DS:SI -> request buffer (see #01861)
	ES:DI -> reply buffer (see #01863)
Return: AL = status (00h,8Ch,FCh) (see #01839)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Eh,AH=E3h/SF=47h,AX=F216h/SF=0Dh

Format of NetWare "Add Trustee To Directory" request buffer:
Offset	Size	Description	(Table 01861)
 00h	WORD	length of following data (max 107h)
 02h	BYTE	0Dh (subfunction "Add Trustee To Directory")
 03h	BYTE	directory handle
 04h	DWORD	(big-endian) object ID of trustee
 08h	BYTE	trustee directory rights (see #01849)
 09h	BYTE	length of directory path (00h-FFh)
 0Ah  N BYTEs	directory path
SeeAlso: #01863

Top
21E2--SF0E - INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
INT 21 - Novell NetWare - DIRECTORY SERVICES - DELETE TRUSTEE FROM DIRECTORY
	AH = E2h subfn 0Eh
	DS:SI -> request buffer (see #01862)
	ES:DI -> reply buffer (see #01863)
Return: AL = status (00h,98h,9Bh,9Ch) (see #01839)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh,AX=F216h/SF=0Eh

Format of NetWare "Delete Trustee From Directory" request buffer:
Offset	Size	Description	(Table 01862)
 00h	WORD	length of following data (max 107h)
 02h	BYTE	0Eh (subfunction "Delete Trustee From Directory")
 03h	BYTE	directory handle
 04h	DWORD	(big-endian) object ID of trustee
 08h	BYTE	unused
 09h	BYTE	length of directory path (00h-FFh)
 0Ah  N BYTEs	directory path
SeeAlso: #01863

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01863)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01862,#01864,#01865

Top
21E2--SF0F - INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
INT 21 - Novell NetWare - DIRECTORY SERVICES - RENAME DIRECTORY
	AH = E2h subfn 0Fh
	DS:SI -> request buffer (see #01864)
	ES:DI -> reply buffer (see #01863)
Return: AL = status (00h,8Bh,9Bh,9Ch,9Eh) (see #01839)
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	directories SYS:LOGIN, SYS:MAIL, and SYS:PUBLIC must not be renamed
SeeAlso: AH=56h,AH=E2h/SF=0Ah,AH=E2h/SF=0Bh,AX=F216h/SF=0Fh

Format of NetWare "Rename Directory" request buffer:
Offset	Size	Description	(Table 01864)
 00h	WORD	length of following data (max 111h)
 02h	BYTE	0Fh (subfunction "Rename Directory")
 03h	BYTE	directory handle
 04h	BYTE	length of directory path (00h-FFh)
 05h  N BYTEs	directory path
	BYTE	length of new directory name (01h-0Eh)
      N BYTEs	new directory name
SeeAlso: #01863

Top
21E2--SF10 - INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES (OLD)
INT 21 - Novell NetWare - FILE SERVICES - PURGE ERASED FILES (OLD)
	AH = E2h subfn 10h
	DS:SI -> request buffer (see #01865)
	ES:DI -> reply buffer (see #01863)
Return: AL = status (00h,C6h) (see #01866)
Desc:	purges files marked for deletion on the file server by the calling
	  workstation
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=11h,AH=E3h/SF=CEh,AX=F244h,AX=F216h/SF=10h

Format of NetWare "Purge Erased Files" request buffer:
Offset	Size	Description	(Table 01865)
 00h	WORD	0001h (length of following data)
 02h	BYTE	10h (subfunction "Purge Erased Files")
SeeAlso: #01863

Top
21E2--SF11 - INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE (OLD)
INT 21 - Novell NetWare - FILE SERVICES - RESTORE ERASED FILE (OLD)
	AH = E2h subfn 11h
	DS:SI -> request buffer (see #01867)
	ES:DI -> reply buffer (see #01868)
Return: AL = status (00h,98h,FFh) (see #01866)
Desc:	restores one file marked for deletion which has not yet been purged
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=10h,AH=E3h/SF=CEh,AX=F244h

(Table 01866)
Values for NetWare function status:
 00h	successful
 98h	nonexistent volume
 9Ch	invalid path
 C6h	no console rights
 FFh	no more erased files
SeeAlso: #01839,#01899

Format of NetWare "Restore Erased File" request buffer:
Offset	Size	Description	(Table 01867)
 00h	WORD	length of following data (max 13h)
 02h	BYTE	11h (subfunction "Restore Erased File")
 03h	BYTE	directory handle or 00h
 04h	BYTE	length of volume name
 05h  N BYTEs	volume name (including colon)
Note:	if both a directory handle and a volume name are specified, the volume
	  name overrides the handle
SeeAlso: #01868,#02116

Format of NetWare "Restore Erased File" reply buffer:
Offset	Size	Description	(Table 01868)
 00h	WORD	(call) 001Eh (size of following results buffer)
 02h 15 BYTEs	ASCIZ name of erased file
 11h 15 BYTEs	ASCIZ name under which file was restored
SeeAlso: #01867,#02116

Top
21E2--SF12 - INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC PERMANENT DIRECTORY HANDLE
	AH = E2h subfn 12h
	DS:SI -> request buffer (see #01869)
	ES:DI -> reply buffer (see #01870)
Return: AL = status (00h,98h,9Ch) (see #01866)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=13h,AH=E2h/SF=14h,AX=F216h/SF=12h

Format of NetWare "Allocate Permanent Directory Handle" request buffer:
Offset	Size	Description	(Table 01869)
 00h	WORD	length of following data (max 103h)
 02h	BYTE	12h (subfunction "Allocate Permanent Directory Handle")
 03h	BYTE	directory handle
 04h	BYTE	drive ('A'-'Z')
 05h	BYTE	length of directory path
 06h  N BYTEs	directory path
SeeAlso: #01870,#01871,#02118

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01870)
 00h	WORD	(call) 0002h (size of following results buffer)
 02h	BYTE	new directory handle
 03h	BYTE	effective directory rights (see #01849)
SeeAlso: #01869,#02118

Top
21E2--SF13 - INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - ALLOC TEMPORARY DIRECTORY HANDLE
	AH = E2h subfn 13h
	DS:SI -> request buffer (see #01871)
	ES:DI -> reply buffer (see #01870)
Return: AL = status (00h,98h,9Ch) (see #01866)
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	this call is the same as AH=E2h/SF=12h except that the directory handle
	  will be automatically deallocated when the calling application
	  executes an End of Job call (AH=D6h) or terminates
SeeAlso: AH=D6h,AH=E2h/SF=00h,AH=E2h/SF=12h,AH=E2h/SF=14h,AH=E2h/SF=16h
SeeAlso: AX=F216h/SF=13h

Format of NetWare "Allocate Temporary Directory Handle" request buffer:
Offset	Size	Description	(Table 01871)
 00h	WORD	length of following data (max 103h)
 02h	BYTE	13h (subfunction "Allocate Temporary Directory Handle")
 03h	BYTE	directory handle
 04h	BYTE	drive ('A'-'Z')
 05h	BYTE	length of directory path
 06h  N BYTEs	directory path
SeeAlso: #01869,#01872

Top
21E2--SF14 - INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - DEALLOCATE DIRECTORY HANDLE
	AH = E2h subfn 14h
	DS:SI -> request buffer (see #01872)
	ES:DI -> reply buffer (see #01873)
Return: AL = status (00h,9Bh) (see #01839)
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=13h,AX=F216h/SF=14h

Format of NetWare "Deallocate Directory Handle" request buffer:
Offset	Size	Description	(Table 01872)
 00h	WORD	0002h (length of following data)
 02h	BYTE	14h (subfunction "Deallocate Directory Handle")
 03h	BYTE	directory handle
SeeAlso: #01873

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01873)
 00h	WORD	(call) 0000h (no returned data)
SeeAlso: #01872

Top
21E2--SF15 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFO WITH HANDLE
	AH = E2h subfn 15h
	DS:SI -> request buffer (see #01874)
	ES:DI -> reply buffer (see #01875)
Return: AL = status
	    00h successful
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=DAh,AH=E2h/SF=02h,AH=E2h/SF=06h,AH=E2h/SF=19h,AH=E3h/SF=E9h
SeeAlso: AX=F216h/SF=15h

Format of NetWare "Get Volume Info with Handle" request buffer:
Offset	Size	Description	(Table 01874)
 00h	WORD	0002h (length of following data)
 02h	BYTE	15h (subfunction "Get Volume Info With Handle")
 03h	BYTE	directory handle
SeeAlso: #01875,#02119

Format of NetWare "Get Volume Info with Handle" reply buffer:
Offset	Size	Description	(Table 01875)
 00h	WORD	(call) 001Ch (length of following results buffer)
 02h	WORD	(big-endian) sectors per block
 04h	WORD	(big-endian) total blocks on volume
 06h	WORD	(big-endian) blocks available on volume
 08h	WORD	(big-endian) total directory slots
 0Ah	WORD	(big-endian) directory slots available
 0Ch 16 BYTEs	NUL-padded volume name
 1Ch	WORD	(big-endian) flag: volume removable if nonzero
SeeAlso: #01874,#02119

Top
21E2--SF16 - INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
INT 21 u - Novell NetWare - DIRECTORY SERVICES - ALLOC SPECIAL TEMP DIR HANDLE
	AH = E2h subfn 16h
	DS:SI -> request buffer (see #01876)
	ES:DI -> reply buffer (see #01873)
Return: AL = status
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX,
	  but is not described in _NetWare_System_Calls--DOS_
SeeAlso: AH=E2h/SF=13h,AH=E2h/SF=14h,AX=F216h/SF=16h

Format of NetWare "Alloc Special Temporary Directory Handle" request buffer:
Offset	Size	Description	(Table 01876)
 00h	WORD	length of following data
 02h	BYTE	16h (subfunction "Allocate Special Temporary Directory Handle")
 03h	BYTE	source directory handle
 04h	BYTE	drive name ('A'-'Z')
 05h	BYTE	path length
 06h  N BYTEs	directory path
SeeAlso: #01873

Top
21E2--SF17 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - SAVE DIRECTORY HANDLE
	AH = E2h subfn 17h
	DS:SI -> request buffer (see #01877)
	ES:DI -> reply buffer (see #01878)
Return: AL = status
	    00h successful
	    else network error code
Note:	this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h,AX=F216h/SF=17h

Format of NetWare "Save Directory Handle" request buffer:
Offset	Size	Description	(Table 01877)
 00h	WORD	0002h (length of following data)
 02h	BYTE	17h (subfunction "Save Directory Handle")
 03h	BYTE	directory handle
SeeAlso: #01878,#01879

Format of NetWare "Save Directory Handle" reply buffer:
Offset	Size	Description	(Table 01878)
 00h	WORD	(call) 0010h (length of following results buffer)
 02h 16 BYTEs	save buffer
SeeAlso: #01877,#01880

Top
21E2--SF18 - INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - RESTORE DIRECTORY HANDLE
	AH = E2h subfn 18h
	DS:SI -> request buffer (see #01879)
	ES:DI -> reply buffer (see #01880)
Return: AL = status
	    00h successful
	    else network error code
Desc:	restore a previously saved directory handle to reproduce an executing
	  environment, possibly on a different execution site
Note:	this function is supported by Advanced NetWare 2.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=12h,AH=E2h/SF=17h,AX=F216h/SF=18h

Format of NetWare "Restore Directory Handle" request buffer:
Offset	Size	Description	(Table 01879)
 00h	WORD	0011h (length of following data)
 02h	BYTE	18h (subfunction "Restore Directory Handle")
 03h 16 BYTEs	save buffer
SeeAlso: #01877,#01880

Format of NetWare "Restore Directory Handle" reply buffer:
Offset	Size	Description	(Table 01880)
 00h	WORD	(call) 0002h (length of following results buffer)
 02h	BYTE	new directory handle
 03h	BYTE	effective rights (see #01849)
SeeAlso: #01879

Top
21E2--SF19 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
INT 21 - Novell NetWare - DIRECTORY SERVICES - SET DIRECTORY INFORMATION
	AH = E2h subfn 19h
	DS:SI -> request buffer (see #01881)
	ES:DI -> reply buffer (see #01882)
Return: AL = status (00h,9Bh,9Ch) (see #01839)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=02h,AH=E2h/SF=0Fh,AX=F216h/SF=19h

Format of NetWare "Set Directory Information" request buffer:
Offset	Size	Description	(Table 01881)
 00h	WORD	length of following data (max 10Bh)
 02h	BYTE	19h (subfunction "Set Directory Information")
 03h	BYTE	directory handle
 04h	DWORD	(big-endian) date and time of creation
 08h	DWORD	(big-endian) object ID of owner
 0Ch	BYTE	maximum directory rights (see #01849)
 0Dh	BYTE	length of directory path
 0Eh  N BYTEs	directory path
SeeAlso: #01882

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01882)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01881

Top
21E2--SF1A - INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
INT 21 - Novell NetWare - FILE SERVER - GET PATH FROM DIRECTORY ENTRY
	AH = E2h subfn 1Ah
	DS:SI -> request buffer (see #01883)
	ES:DI -> reply buffer (see #01884)
Return: AL = status
	    00h successful
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=01h,AH=E2h/SF=06h,AH=E3h/SF=D7h,AX=F216h/SF=1Ah

Format of NetWare "Get Path from Directory Entry" request buffer:
Offset	Size	Description	(Table 01883)
 00h	WORD	0004h (length of following data)
 02h	BYTE	1Ah (subfunction "Get Path From Directory Entry")
 03h	BYTE	volume number (00h-1Fh)
 04h	WORD	(big-endian) directory entry number
SeeAlso: #01884,#02122

Format of NetWare "Get Path from Directory Entry" reply buffer:
Offset	Size	Description	(Table 01884)
 00h	WORD	(call) size of following results record (max 200h)
 02h 256 BYTEs	path
SeeAlso: #01883,#02122

Top
Section -


Top
21E3 - INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
INT 21 - OS/286, OS/386 - ISSUE REAL INTERRUPT
	AH = E3h
	AL = interrupt number
	???
Return: ???
Note:	protected mode only???
SeeAlso: AH=E1h"OS/286",INT 31/AX=0300h

Top
21E3 - INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
	AH = E3h
	AL = character
Return: AL = status
	    00h successful
	    01h buffer full (128 characters)
SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E8h"DoubleDOS"
SeeAlso: AH=F3h"DoubleDOS"

Top
21E3 - INT 21 - Novell NetWare - CONNECTION CONTROL
INT 21 - Novell NetWare - CONNECTION CONTROL
	AH = E3h
	DS:SI -> request buffer (see #01885)
	ES:DI -> reply buffer (see #01886)
Return: AL = status
	    00h successful
	    else error code
Note:	supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
SeeAlso: AH=E3h/SF=0Ah,AH=E3h/SF=32h,AH=E3h/SF=64h,AH=E3h/SF=C8h

Format of NetWare request buffer:
Offset	Size	Description	(Table 01885)
 00h	WORD	length of following data
 02h	BYTE	subfunction number (see also AH=E3h/SF=01h,AH=E3h/SF=02h)
		00h login
		03h map object to number
		04h map number to object
		05h get station's logged information
		06h get station's root mask (obsolete)
		07h map group name to number
		08h map number to group name
		09h get memberset M of group G
	var	depends on subfunction
Notes:	the above subfunctions are not described in _NetWare_System_Calls--DOS_
	see separate entries below for other subfunctions
SeeAlso: #01886,#01887,#01890

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01886)
 00h	WORD	(call) length of following buffer space for results
	var	depends on subfunction
SeeAlso: #01885

Format of NetWare object property:
Offset	Size	Description	(Table 01887)
 00h 1-16 BYTEs property name (see also #01888)
  N	BYTE	flags
		bit 0: property is dynamic
		bit 1: property is a set rather than an item
 N+1	BYTE	security levels (see #01889)
	???

(Table 01888)
Values for names of well-known NetWare properties:
 ACCOUNT_BALANCE
 ACCOUNT_SERVERS
 GROUP_MEMBERS
 GROUPS_I'M_IN
 IDENTIFICATION		user's name
 LOGIN_CONTROL
 NET_ADDRESS
 OPERATORS
 PASSWORD
 SECURITY_EQUALS

(Table 01889)
Values for NetWare security levels:
 00h	"anyone" everyone may access
 01h	"logged" only logged-in clients may access
 02h	"object" only clients logged-in with object's name, type, and password
 03h	"supervisor" only clients logged-in with supervisor privileges
 04h	"NetWare" only NetWare may access
Note:	the above values are stored in a nybble; the high half-byte is write
	  access and the low half-byte is read access

(Table 01890)
Values for NetWare object type:
 0000h	unknown
 0001h	user
 0002h	user group
 0003h	print queue / print server
 0004h	file server
 0005h	job server
 0006h	gateway
 0007h	print server
 0008h	archive queue
 0009h	archive server
 000Ah	job queue
 000Bh	administration
 0021h	NAS SNA gateway
 0024h	remote bridge server???
 0026h	remote bridge server
 0027h	TCPIP gateway
 002Dh	time synchronization server
 002Eh	archive server dynamic SAP
 0047h	advertising print server
 0053h	print queue uwer
 0048h-8000h reserved
 FFFFh	wild (used only for finding objects)

Top
21E3--SF01 - INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
	AH = E3h subfn 01h
	DS:SI -> request buffer (see #01891)
	ES:DI -> reply buffer (see #01895)
Return: AL = status
	    00h successful
	    else error code
Note:	supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
SeeAlso: AH=E3h/SF=0Ah,AH=E3h/SF=32h,AH=E3h/SF=64h,AH=E3h/SF=C8h

Format of NetWare "Change User Password (old)" request packet:
Offset	Size	Description	(Table 01891)
 00h	WORD	length of following data
 02h	BYTE	01h (subfunction "Change User Password (old)")
 03h	BYTE	length of user name
 04h  N BYTEs	user name
	BYTE	length of old password
      N BYTEs	old password
	BYTE	length of new password
      N BYTEs	new password
SeeAlso: #01895

Top
21E3--SF02 - INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
INT 21 - Novell NetWare - CONNECTION SERVICES - CHANGE USER PASSWORD (OLD)
	AH = E3h subfn 02h
	DS:SI -> request buffer (see #01892)
	ES:DI -> reply buffer (see #01893)
Return: AL = status
	    00h successful
	    else error code
Note:	supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
SeeAlso: AH=E3h/SF=01h,AH=E3h/SF=03h,AH=E3h/SF=0Ah

Format of NetWare "Get User Connection List (old)" request packet:
Offset	Size	Description	(Table 01892)
 00h	WORD	length of following data
 02h	BYTE	02h (subfunction "Get User Connection List (old)")
 03h	BYTE	length of user name
 04h  N BYTEs	user name
SeeAlso: #01893,#02162

Format of NetWare "Get User Connection List (old)" reply packet:
Offset	Size	Description	(Table 01893)
 00h	WORD	(call) length of following buffer
 02h	BYTE	length of connection list
 03h	BYTE	number of bytes in connection list
 04h  N BYTEs	list of connection numbers in use by user
SeeAlso: #01892,#02162

Top
21E3--SF03 - INT 21 - Novell NetWare - CONNECTION SERVICES - MAP OBJECT TO NUMBER (OLD)
INT 21 - Novell NetWare - CONNECTION SERVICES - MAP OBJECT TO NUMBER (OLD)
	AH = E3h subfn 03h
	DS:SI -> request buffer
	ES:DI -> reply buffer
Return: AL = status
	    00h successful
	    else error code
Note:	supported by NetWare 4.0+, Advanced NetWare 1.0+, and Alloy NTNX
SeeAlso: AH=E3h/SF=01h,AH=E3h/SF=02h,AH=E3h/SF=0Ah

Top
21E3--SF0A - INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
INT 21 - Novell NetWare - CONNECTION SERVICES - ENTER LOGIN AREA
	AH = E3h subfn 0Ah
	DS:SI -> request buffer (see #01894)
	ES:DI -> reply buffer (see #01895)
Return: AL = status
	    00h successful
Desc:	change the login directory for the calling workstation
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=D7h,AH=E3h/SF=14h

Format of NetWare "Enter Login Area" request buffer:
Offset	Size	Description	(Table 01894)
 00h	WORD	length of following data (max 102h)
 02h	BYTE	0Ah (subfunction "Enter Login Area")
 03h	BYTE	number of local drives
 04h	BYTE	length of subdirectory name (00h-FFh)
 05h  N BYTEs	name of subdirectory under SYS:LOGIN where to find the login
		  utility
SeeAlso: #01895

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01895)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01891,#01894,#01898

Top
21E3--SF0C - INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
INT 21 U - Novell NetWare - VERIFY NETWORK SERIAL NUMBER
	AH = E3h subfn 0Ch
	DS:SI -> request buffer (see #01896)
	ES:DI -> reply buffer (see #01897)
Return: AL = status
	    00h successful
Note:	if the network serial number to be verified is correct, the reply
	  buffer will contain the corresponding application number
SeeAlso: AH=E3h/SF=12h,AX=F217h/SF=0Ch

Format of NetWare "Verify Network Serial Number" request buffer:
Offset	Size	Description	(Table 01896)
 00h	WORD	0005h (length of following data)
 02h	BYTE	0Ch (subfunction "Verify Network Serial Number")
 03h	DWORD	(big-endian) network serial number to verify
SeeAlso: #01897,#02163

Format of NetWare "Verify Network Serial Number" reply buffer:
Offset	Size	Description	(Table 01897)
 00h	WORD	(call) 0002h (size of following results buffer)
 02h	WORD	(big-endian) application number
SeeAlso: #01896,#02163

Top
21E3--SF0D - INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
INT 21 - Novell NetWare - MESSAGE SERVICES - LOG NETWORK MESSAGE
	AH = E3h subfn 0Dh
	DS:SI -> request buffer (see #01898)
	ES:DI -> reply buffer (see #01895)
Return: AL = status
	    00h successful
Desc:	append a line to the default file server's NET$LOG.MSG file
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E1h/SF=09h

Format of NetWare "Log Network Message" request buffer:
Offset	Size	Description	(Table 01898)
 00h	WORD	length of following data (max 52h)
 02h	BYTE	0Dh (subfunction "Log Network Message")
 03h	BYTE	length of message (01h-50h)
 04h  N BYTEs	message (no control characters or characters > 7Eh)
SeeAlso: #01895

Top
21E3--SF0E - INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
INT 21 - Novell NetWare - FILE SERVER - GET DISK UTILIZATION
	AH = E3h subfn 0Eh
	DS:SI -> request buffer (see #01900)
	ES:DI -> reply buffer (see #01901)
Return: AL = status (00h,98h,F2h) (see #01899)
Notes:	this function is supported by Advanced NetWare 2.1+
	the caller must have bindery object read privileges
SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
SeeAlso: AX=F217h/SF=0Eh

(Table 01899)
Values for NetWare function status:
 00h	successful
 98h	nonexistent volume
 F2h	not permitted to read object
SeeAlso: #01866,#01902

Format of NetWare "Get Disk Utilization" request buffer:
Offset	Size	Description	(Table 01900)
 00h	WORD	0005h (length of following data)
 02h	BYTE	0Eh (subfunction "Get Disk Utilization")
 03h	BYTE	volume number (00h-1Fh)
 04h	DWORD	(big-endian) object ID
SeeAlso: #01901,#02164

Format of NetWare "Get Disk Utilization" reply buffer:
Offset	Size	Description	(Table 01901)
 00h	WORD	(call) 000Bh (size of following results buffer)
 02h	BYTE	volume number (00h-1Fh)
 03h	DWORD	(big-endian) object ID
 07h	WORD	(big-endian) directories used by object
 09h	WORD	(big-endian) files created by object
 0Bh	WORD	(big-endian) disk blocks used by object-created files
SeeAlso: #01900,#02164

Top
21E3--SF0F - INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
INT 21 - Novell NetWare - FILE SERVICES - SCAN FILE INFORMATION
	AH = E3h subfn 0Fh
	DS:SI -> request buffer (see #01903)
	ES:DI -> reply buffer (see #01904)
Return: AL = status (see #01902)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=B6h,AH=E3h/SF=10h,AX=F217h/SF=0Fh

(Table 01902)
Values for NetWare function status:
 00h	successful
 89h	not permitted to search directory
 FFh	no more matching files
SeeAlso: #01899,#01920

Format of NetWare "Scan File Information" request buffer:
Offset	Size	Description	(Table 01903)
 00h	WORD	length of following data (max 105h)
 02h	BYTE	0Fh (subfunction "Scan File Information")
 03h	WORD	(big-endian) sequence number
		FFFFh on first call
 05h	BYTE	directory handle or 00h
 06h	BYTE	search attributes (see #01420 at AX=4301h)
 07h	BYTE	length of filespec
 08h  N BYTEs	ASCIZ uppercase filespec
SeeAlso: #01904,#02165

Format of NetWare "Scan File Information" reply buffer:
Offset	Size	Description	(Table 01904)
 00h	WORD	(call) 005Eh (size of following results buffer)
 02h	WORD	next sequence number (place in request buffer for next call)
 04h 14 BYTEs	ASCIZ filename
 12h	BYTE	file attributes (see #01420 at AX=4301h)
 13h	BYTE	extended file attributes (see #01804 at AH=B6h)
 14h	DWORD	(big-endian) file size in bytes
 18h	WORD	(big-endian) file's creation date (see #01666 at AX=5700h)
 1Ah	WORD	(big-endian) date of last access (see #01665 at AX=5700h)
 1Ch	DWORD	(big-endian) date and time of last update (see #01846)
 20h	DWORD	(big-endian) object ID of owner
 24h	DWORD	(big-endian) date and time last archived (see #01846)
 28h 55 BYTEs	reserved
Note:	the official documentation erroneously lists the field at offset 04h as
	  15 bytes and thus shifts the remaining fields by one byte
SeeAlso: #01903,#02165

Top
21E3--SF10 - INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
INT 21 - Novell NetWare - FILE SERVICES - SET FILE INFORMATION
	AH = E3h subfn 10h
	DS:SI -> request buffer (see #01905)
	ES:DI -> reply buffer (see #01906)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
	the caller must have modify privileges on the directory containing the
	  file
SeeAlso: AH=B6h,AH=E3h/SF=0Fh,AX=F217h/SF=10h

Format of NetWare "Set File Information" request buffer:
Offset	Size	Description	(Table 01905)
 00h	WORD	length of following data (max 151h)
 02h	BYTE	10h (subfunction "Set File Information")
 03h	BYTE	file attributes (see #01420 at AX=4301h)
 04h	BYTE	extended file attributes (see #01804 at AH=B6h)
 05h  4 BYTEs	reserved
 09h	WORD	(big-endian) file's creation date (see #01666 at AX=5700h)
 0Bh	WORD	(big-endian) date of last access (see #01665 at AX=5700h)
 0Dh	DWORD	(big-endian) date and time of last update (see #01846)
 11h	DWORD	(big-endian) object ID of owner
 15h	DWORD	(big-endian) date and time last archived (see #01846)
 19h 56 BYTEs	reserved
 51h	BYTE	directory handle or 00h
 52h	BYTE	search attributes (see #01420 at AX=4301h)
 53h	BYTE	length of filename
 54h  N BYTEs	filename
SeeAlso: #01906

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01906)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01905

Top
21E3--SF11 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER INFORMATION
	AH = E3h subfn 11h
	DS:SI -> request buffer (see #01907)
	ES:DI -> reply buffer (see #01908)
Return: AL = status
	    00h successful
Desc:	determine the version of software installed on the file server and
	  how it is configured
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=12h,AH=E3h/SF=CDh,AH=E3h/SF=D3h,AH=E3h/SF=E7h
SeeAlso: AH=E7h"Novell",AX=F217h/SF=11h

Format of NetWare "Get File Server Information" request buffer:
Offset	Size	Description	(Table 01907)
 00h	WORD	0001h (length of following data)
 02h	BYTE	11h (subfunction "Get File Server Information")
SeeAlso: #01908,#02166 at AX=F217h/SF=11h

Format of NetWare "Get File Server Information" reply buffer:
Offset	Size	Description	(Table 01908)
 00h	WORD	(call) 0080h (size of following results buffer)
 02h 48 BYTEs	server's name
 32h	BYTE	NetWare version
 33h	BYTE	NetWare subversion (0-99)
 34h	WORD	(big-endian) number of connections supported
		NetWare 4.01 reportedly returns maximum simulataneously-used
		  connections
 36h	WORD	(big-endian) number of connections in use
 38h	WORD	(big-endian) maximum connected volumes
---Advanced NetWare 2.1+ ---
 3Ah	BYTE	operating system revision number
 3Bh	BYTE	fault tolerance (SFT) level
 3Ch	BYTE	TTS level
 3Dh	WORD	(big-endian) maximum simultaneously-used connections
		NetWare 4.01 reportedly returns number of connections in use
 3Fh	BYTE	accounting version
 40h	BYTE	VAP version
 41h	BYTE	queueing version
 42h	BYTE	print server version
 43h	BYTE	virtual console version
 44h	BYTE	security restrictions level
 45h	BYTE	internetwork bridge version
 46h 60 BYTEs	reserved
SeeAlso: #01907,#02166

Top
21E3--SF12 - INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
	AH = E3h subfn 12h
	AL = 00h
	BX = CX = DX = 0000h
	DS:SI -> request buffer (see #01909)
	ES:DI -> reply buffer (see #01910)
Return: AL = status
	    00h successful
Desc:	return the serial number and application number for the software
	  installed on the file server
Notes:	this function is supported by Advanced NetWare 2.1+
	reportedly, the workstation crashes if AL,BX,CX, and DX are not all
	  zero
SeeAlso: AH=E3h/SF=0Ch,AH=E3h/SF=11h,AX=F217h/SF=12h

Format of NetWare "Get Serial Number" request buffer:
offset	 size	description	(Table 01909)
 00h	 WORD	0001h (length of following data)
 02h	 BYTE	12h (subfunction "Get Serial Number")
SeeAlso: #01910,#02167

Format of NetWare "Get Serial Number" reply buffer:
offset	 size	description	(Table 01910)
 00h	 WORD	(call) 0006h (size of following results buffer)
 02h   4 BYTEs	(big-endian) NetWare server serial number
 06h   2 BYTEs	(big-endian) NetWare application serial number
SeeAlso: #01909,#02167

Top
21E3--SF13 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS (OLD)
INT 21 - Novell NetWare - CONNECTION SERVICES - GET INTERNET ADDRESS (OLD)
	AH = E3h subfn 13h
	DS:SI -> request buffer (see #01911)
	ES:DI -> reply buffer (see #01912)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h,AH=EEh"NetWare",AX=F217h/SF=13h

Format of NetWare "Get Internet Address (old)" request buffer:
Offset	Size	Description	(Table 01911)
 00h	WORD	0002h (length of following data)
 02h	BYTE	13h (subfunction "Get Internet Address")
 03h	BYTE	logical connection number (01h-64h)
SeeAlso: #01912,#02168

Format of NetWare "Get Internet Address (old)" reply buffer:
Offset	Size	Description	(Table 01912)
 00h	WORD	(call) 000Ch (length of following results buffer)
 02h  4 BYTEs	network number
 06h  6 BYTEs	physical node address
 0Ch  2 BYTEs	socket number
SeeAlso: #01911,#02168 at AX=F217h/SF=13h

Top
21E3--SF14 - INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
INT 21 - Novell NetWare - CONNECTION SERVICES - LOGIN TO FILE SERVER
	AH = E3h subfn 14h
	DS:SI -> request buffer (see #01913)
	ES:DI -> reply buffer (see #01914)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=D7h"NetWare",AH=F1h"NetWare",AX=F217h/SF=14h

Format of NetWare "Login to File Server" request buffer:
Offset	Size	Description	(Table 01913)
 00h	WORD	length of following data (max B3h)
 02h	BYTE	14h (subfunction "Login To File Server")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object's name
	BYTE	length of password
      N BYTEs	password
SeeAlso: #01914

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01914)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01913

Top
21E3--SF15 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION LIST(OLD)
INT 21 - Novell NetWare - CONNECTION SERVICES - GET OBJECT CONNECTION LIST(OLD)
	AH = E3h subfn 15h
	DS:SI -> request buffer (see #01915)
	ES:DI -> reply buffer (see #01916)
Return: AL = status
	    00h successful
Desc:	this function retrieves a list indicating the connection numbers under
	  which a bindery object is logged into the default file server
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=DCh"NetWare",AH=E3h/SF=16h,AX=F217h/SF=15h

Format of NetWare "Get Object Connection Numbers" request buffer:
Offset	Size	Description	(Table 01915)
 00h	WORD	length of following data (max 33h)
 02h	BYTE	15h (subfunction "Get Object Connection Numbers")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object's name
SeeAlso: #01916,#02169

Format of NetWare "Get Object Connection Numbers" reply buffer:
Offset	Size	Description	(Table 01916)
 00h	WORD	(call) length of following results buffer (max 65h)
 02h	BYTE	number of connections
 03h  N BYTEs	connection list
SeeAlso: #01915,#02169

Top
21E3--SF16 - INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
INT 21 - Novell NetWare - CONNECTION SERVICES - GET CONNECTION INFORMATION
	AH = E3h subfn 16h
	DS:SI -> request buffer (see #01917)
	ES:DI -> reply buffer (see #01918)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=D7h,AH=DCh"NetWare",AH=E3h/SF=14h

Format of NetWare "Get Connection Information" request buffer:
Offset	Size	Description	(Table 01917)
 00h	WORD	0002h (length of following data)
 02h	BYTE	16h (subfunction "Get Connection Information")
 03h	BYTE	logical connection number (01h-64h)

Format of NetWare "Get Connection Information" reply buffer:
Offset	Size	Description	(Table 01918)
 00h	WORD	(call) 003Eh (length of following results buffer)
 02h	DWORD	(big-endian) object ID for object logged in on the connection
		00000000h if no object logged in
 06h	WORD	(big-endian) type of object
 08h 48 BYTEs	name of object
 38h  7 BYTEs	login time (see #01919)
Note:	much of the Novell documentation incorrectly states the reply buffer
	  length as 3Fh instead of 40h, which corresponds to a results length
	  of 3Dh (61) bytes instead of the correct 3Eh (62) bytes

Format of NetWare login time:
Offset	Size	Description	(Table 01919)
 00h	BYTE	year (80-99 = 1980-1999, 00-79 = 2000-2079)
 01h	BYTE	month (1-12)
 02h	BYTE	day (1-31)
 03h	BYTE	hour (0-23)
 04h	BYTE	minute (0-59)
 05h	BYTE	second (0-59)
 06h	BYTE	day of week (0 = Sunday)

Top
21E3--SF32 - INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
INT 21 - Novell NetWare - BINDERY SERVICES - CREATE BINDERY OBJECT
	AH = E3h subfn 32h
	DS:SI -> request buffer (see #01921)
	ES:DI -> reply buffer (see #01922)
Return: AL = status (see #01920)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=33h,AH=E3h/SF=34h,AH=E3h/SF=38h,AH=E3h/SF=39h
SeeAlso: AX=F217h/SF=32h

(Table 01920)
Values for NetWare function status:
 00h	successful
 96h	server out of memory
 EEh	object already exists
 EFh	invalid name
 F0h	wildcard not allowed
 F1h	invalid bindery security level
 F3h	not permitted to rename object
 F4h	not permitted to delete objects
 F5h	not permitted to create objects
 FCh	no such object
 FEh	server bindery locked
 FFh	bindery failure
SeeAlso: #01902,#01927

Format of NetWare "Create Bindery Object" request buffer:
Offset	Size	Description	(Table 01921)
 00h	WORD	length of following data (max 35h)
 02h	BYTE	32h (subfunction "Create Bindery Object")
 03h	BYTE	object flag (00h static, 01h dynamic)
 04h	BYTE	object security levels
 05h	WORD	(big-endian) type of object
 07h	BYTE	length of object's name
 08h  N BYTEs	object's name
SeeAlso: #01922

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01922)
 00h	WORD	0000h (no data returned)
SeeAlso: #01921,#01923,#01924

Top
21E3--SF33 - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT
	AH = E3h subfn 33h
	DS:SI -> request buffer (see #01923)
	ES:DI -> reply buffer (see #01922)
Return: AL = status (see #01920)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=34h,AX=F217h/SF=33h

Format of NetWare "Delete Bindery Object" request buffer:
Offset	Size	Description	(Table 01923)
 00h	WORD	length of following data (max 33h)
 02h	BYTE	33h (subfunction "Delete Bindery Object")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object's name
SeeAlso: #01922

Top
21E3--SF34 - INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
INT 21 - Novell NetWare - BINDERY SERVICES - RENAME BINDERY OBJECT
	AH = E3h subfn 34h
	DS:SI -> request buffer (see #01924)
	ES:DI -> reply buffer (see #01922)
Return: AL = status (see #01920)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h,AX=F217h/SF=34h

Format of NetWare "Rename Bindery Object" request buffer:
Offset	Size	Description	(Table 01924)
 00h	WORD	length of following data (max 63h)
 02h	BYTE	34h (subfunction "Rename Bindery Object")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object's name
	BYTE	length of new name (01h-2Fh)
      N BYTEs	new name
SeeAlso: #01922

Top
21E3--SF35 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT ID
	AH = E3h subfn 35h
	DS:SI -> request buffer (see #01925)
	ES:DI -> reply buffer (see #01926)
Return: AL = status (00h,96h,FCh,FEh,FFh) (see #01927)
Notes:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
	the requesting workstation must be logged into the file server with
	  read access to the bindery object
SeeAlso: AH=E3h/SF=36h,AH=E3h/SF=44h,AX=F217h/SF=35h

Format of NetWare "Get Bindery Object ID" request buffer:
Offset	Size	Description	(Table 01925)
 00h	WORD	length of following data (max 33h)
 02h	BYTE	35h (subfunction "Get Bindery Object ID")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name
 06h  N BYTEs	object's name
SeeAlso: #01926,#02184

Format of NetWare "Get Bindery Object ID" reply buffer:
Offset	Size	Description	(Table 01926)
 00h	WORD	(call) 0036h (length of following buffer space)
 02h	DWORD	(big-endian) object ID
 06h	WORD	(big-endian) type of object
 08h 48 BYTEs	object name
SeeAlso: #01925,#02184 at AX=F217h/SF=35h

Top
21E3--SF36 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY OBJECT NAME
	AH = E3h subfn 36h
	DS:SI -> request buffer (see #01928)
	ES:DI -> reply buffer (see #01929)
Return: AL = status (see #01927)
Notes:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
	the requesting workstation must be logged into the file server with
	  read access to the bindery object
SeeAlso: AH=E3h/SF=35h,AH=E3h/SF=44h,AX=F217h/SF=36h

(Table 01927)
Values for NetWare function status:
 00h	successful
 96h	server out of memory
 EFh	invalid name
 F0h	wildcard not allowed
 FCh	no such object
 FEh	server bindery locked
 FFh	bindery failure
SeeAlso: #01920,#01933

Format of NetWare "Get Bindery Object Name" request buffer:
Offset	Size	Description	(Table 01928)
 00h	WORD	0005h (length of following data)
 02h	BYTE	36h (subfunction "Get Bindery Object Name")
 03h	DWORD	(big-endian) object ID
SeeAlso: #01929,#02185 at AX=F217h/SF=36h

Format of NetWare "Get Bindery Object Name" reply buffer:
Offset	Size	Description	(Table 01929)
 00h	WORD	(call) 0036h (length of following buffer space)
 02h	DWORD	(big-endian) object ID
 06h	WORD	(big-endian) type of object
 08h 48 BYTEs	object name
SeeAlso: #01928,#02185

Top
21E3--SF37 - INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
INT 21 - Novell NetWare - BINDERY SERVICES - SCAN BINDERY OBJECT
	AH = E3h subfn 37h
	DS:SI -> request buffer (see #01930)
	ES:DI -> reply buffer (see #01931)
Return: AL = status (see #01927)
Notes:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
	the requesting workstation must be logged into the file server with
	  read access to the bindery object
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=33h,AH=E3h/SF=38h,AH=E3h/SF=3Ch
SeeAlso: AX=F217h/SF=37h

Format of NetWare "Scan Bindery Object" request buffer:
Offset	Size	Description	(Table 01930)
 00h	WORD	length of following data (max 37h)
 02h	BYTE	37h (subfunction "Scan Bindery Object")
 03h	DWORD	(big-endian) last object ID
 07h	WORD	(big-endian) type of object
 09h	BYTE	length of object's name
 0Ah  N BYTEs	object's name
SeeAlso: #01931,#02186

Format of NetWare "Scan Bindery Object" reply buffer:
Offset	Size	Description	(Table 01931)
 00h	WORD	(call) 0039h (length of following buffer space)
 02h	DWORD	(big-endian) object ID
		FFFFFFFFh for first call
 06h	WORD	(big-endian) type of object
 08h 48 BYTEs	object name (counted string)
 38h	BYTE	object flag (00h static, 01h dynamic)
 39h	BYTE	object's security levels
 3Ah	BYTE	object properties flag (00h no, FFh yes)
SeeAlso: #01930,#02186

Top
21E3--SF38 - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT SECURITY
	AH = E3h subfn 38h
	DS:SI -> request buffer (see #01932)
	ES:DI -> reply buffer (see #01935)
Return: AL = status (00h,96h,F0h,F1h,FBh,FCh,FEh,FFh) (see #01933)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh,AX=F217h/SF=38h

Format of NetWare "Change Bindery Object Security" request buffer:
Offset	Size	Description	(Table 01932)
 00h	WORD	length of following data (max 34h)
 02h	BYTE	38h (subfunction "Change Bindery Object Security")
 03h	BYTE	new security levels
 04h	WORD	(big-endian) type of object
 06h	BYTE	length of object's name (01h-2Fh)
 07h  N BYTEs	object name
Note:	the object type may not be WILD (FFFFh)
SeeAlso: #01935

Top
21E3--SF39 - INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
INT 21 - Novell NetWare - BINDERY SERVICES - CREATE PROPERTY
	AH = E3h subfn 39h
	DS:SI -> request buffer (see #01934)
	ES:DI -> reply buffer (see #01935)
Return: AL = status (see #01933)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=3Bh,AX=F217h/SF=39h

(Table 01933)
Values for NetWare function status:
 00h	successful
 96h	server out of memory
 EDh	property already exists
 EFh	invalid name
 F0h	wildcard not allowed
 F1h	invalid bindery security level
 F6h	not permitted to delete properties
 F7h	not permitted to create properties
 FBh	no such property
 FCh	no such object
 FEh	server bindery locked
 FFh	bindery failure
SeeAlso: #01927,#01937

Format of NetWare "Create Property" request buffer:
Offset	Size	Description	(Table 01934)
 00h	WORD	length of following data (max 45h)
 02h	BYTE	39h (subfunction "Create Property")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object's name
	BYTE	property flags
	BYTE	property security levels
	BYTE	length of property's name (01h-0Fh)
      N BYTEs	property's name
SeeAlso: #01935

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01935)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01932,#01935,#01936

Top
21E3--SF3A - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE PROPERTY
	AH = E3h subfn 3Ah
	DS:SI -> request buffer (see #01936)
	ES:DI -> reply buffer (see #01935)
Return: AL = status (see #01933)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=32h,AH=E3h/SF=39h,AX=F217h/SF=3Ah

Format of NetWare "Delete Property" request buffer:
Offset	Size	Description	(Table 01936)
 00h	WORD	length of following data (max 43h)
 02h	BYTE	3Ah (subfunction "Delete Property")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object's name
	BYTE	length of property's name (01h-0Fh)
      N BYTEs	property's name
SeeAlso: #01935

Top
21E3--SF3B - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE PROPERTY SECURITY
	AH = E3h subfn 3Bh
	DS:SI -> request buffer (see #01938)
	ES:DI -> reply buffer (see #01935)
Return: AL = status (see #01937)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=38h,AX=F217h/SF=3Bh

(Table 01937)
Values for NetWare function status:
 00h	successful
 96h	server out of memory
 F0h	wildcard not allowed
 F1h	invalid bindery security level
 FBh	no such property
 FCh	no such object
 FEh	server bindery locked
 FFh	bindery failure
SeeAlso: #01933,#01941

Format of NetWare "Change Property Security" request buffer:
Offset	Size	Description	(Table 01938)
 00h	WORD	length of following data (max 44h)
 02h	BYTE	3Bh (subfunction "Change Property Security")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object name
	BYTE	new property security levels
	BYTE	length of property's name
      N BYTEs	property name
Note:	the object type may not be WILD (FFFFh)

Top
21E3--SF3C - INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
INT 21 - Novell NetWare - BINDERY SERVICES - SCAN PROPERTY
	AH = E3h subfn 3Ch
	DS:SI -> request buffer (see #01939)
	ES:DI -> reply buffer (see #01940)
Return: AL = status (00h,96h,F1h,FBh,FCh,FEh,FFh) (see #01937)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=37h,AH=E3h/SF=3Bh,AX=F217h/SF=3Ch

Format of NetWare "Scan Property" request buffer:
Offset	Size	Description	(Table 01939)
 00h	WORD	length of following data (max 47h)
 02h	BYTE	3Ch (subfunction "Scan Property")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object name
	DWORD	(big-endian) sequence number
		FFFFFFFFh for first call
	BYTE	length of property's name (01h-0Fh)
      N BYTEs	property's name
SeeAlso: #01940,#02187

Format of NetWare "Scan Property" reply buffer:
Offset	Size	Description	(Table 01940)
 00h	WORD	(call) 0018h (length of following results buffer)
 02h 16 BYTEs	property name
 12h	BYTE	property flags
 13h	BYTE	property security levels
 14h	DWORD	(big-endian) sequence number
 18h	BYTE	property value flag (00h no, FFh yes)
 19h	BYTE	more properties (00h no, FFh yes)
SeeAlso: #01939,#02187

Top
21E3--SF3D - INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
INT 21 - Novell NetWare - BINDERY SERVICES - READ PROPERTY VALUE
	AH = E3h subfn 3Dh
	DS:SI -> request buffer (see #01942)
	ES:DI -> reply buffer (see #01943)
Return: AL = status (see #01941)
Desc:	retrieve one 128-byte segment of the specified property's value
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Eh,AX=F217h/SF=3Dh

(Table 01941)
Values for NetWare function status:
 00h	successful
 96h	server out of memory
 E8h	not item property
 ECh	no such segment
 F0h	wildcard not allowed
 F1h	invalid bindery security level
 F8h	not permitted to write property
 F9h	not permitted to read property
 FBh	no such property
 FCh	no such object
 FEh	server bindery locked
 FFh	bindery failure
SeeAlso: #01937,#01946

Format of NetWare "Read Property Value" request buffer:
Offset	Size	Description	(Table 01942)
 00h	WORD	length of following data (max 44h)
 02h	BYTE	3Dh (subfunction "Read Property Value")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object name
	BYTE	segment number (01h on first call, increment until done)
	BYTE	length of property's name (01h-0Fh)
      N BYTEs	property name
SeeAlso: #01943,#02188

Format of NetWare "Read Property Value" reply buffer:
Offset	Size	Description	(Table 01943)
 00h	WORD	(call) 0082h (length of following results buffer)
 02h 128 BYTEs	property's value
 82h	BYTE	more segments (00h no, FFh yes)
 83h	BYTE	property's flags
SeeAlso: #01942,#02188

Top
21E3--SF3E - INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
INT 21 - Novell NetWare - BINDERY SERVICES - WRITE PROPERTY VALUE
	AH = E3h subfn 3Eh
	DS:SI -> request buffer (see #01944)
	ES:DI -> reply buffer (see #01945)
Return: AL = status (see #01941)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=39h,AH=E3h/SF=3Ch,AH=E3h/SF=3Dh,AX=F217h/SF=3Eh

Format of NetWare "Write Property Value" request buffer:
Offset	Size	Description	(Table 01944)
 00h	WORD	length of following data (max C5h)
 02h	BYTE	3Eh (subfunction "Write Property Value")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object name
	BYTE	segment number (01h on first call, increment until done)
	BYTE	erase remaining segments (00h no, FFh yes)
	BYTE	length of property's name (01h-0Fh)
      N BYTEs	property name
    128 BYTEs	property value segment
SeeAlso: #01945

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01945)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01944,#01947

Top
21E3--SF3F - INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
INT 21 - Novell NetWare - BINDERY SERVICES - VERIFY BINDERY OBJECT PASSWORD
	AH = E3h subfn 3Fh
	DS:SI -> request buffer (see #01947)
	ES:DI -> reply buffer (see #01945)
Return: AL = status (see #01946)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=40h,AX=F217h/SF=3Fh

(Table 01946)
Values for NetWare function status:
 00h	successful
 96h	server out of memory
 F0h	wildcard not allowed
 FBh	no such property
 FCh	no such object
 FEh	server bindery locked
 FFh	bindery failure: no such object, bad password, no password for object,
	  or invalid old password
SeeAlso: #01941,#01950

Format of NetWare "Verify Bindery Object Password" request buffer:
Offset	Size	Description	(Table 01947)
 00h	WORD	length of following data (max 133h)
 02h	BYTE	3Fh (subfunction "Verify Bindery Object Password")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object name
	BYTE	length of password (00h-7Fh)
      N BYTEs	password
SeeAlso: #01945

Top
21E3--SF40 - INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
INT 21 - Novell NetWare - BINDERY SERVICES - CHANGE BINDERY OBJECT PASSWORD
	AH = E3h subfn 40h
	DS:SI -> request buffer (see #01948)
	ES:DI -> reply buffer (see #01949)
Return: AL = status (see #01946)
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=3Fh,AH=E3h/SF=41h,AX=F217h/SF=40h

Format of NetWare "Change Bindery Object Password" request buffer:
Offset	Size	Description	(Table 01948)
 00h	WORD	length of following data (max 133h)
 02h	BYTE	40h (subfunction "Change Bindery Object Password")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name (01h-2Fh)
 06h  N BYTEs	object name
	BYTE	length of old password (00h-7Fh)
      N BYTEs	old password
	BYTE	length of new password (00h-7Fh)
      N BYTEs	new password
SeeAlso: #01949,#02195

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01949)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01948,#01951

Top
21E3--SF41 - INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
INT 21 - Novell NetWare - BINDERY SERVICES - ADD BINDERY OBJECT TO SET
	AH = E3h subfn 41h
	DS:SI -> request buffer (see #01951)
	ES:DI -> reply buffer (see #01949)
Return: AL = status (see #01950)
Desc:	add the specified object to an object's group property
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h,AX=F217h/SF=41h

(Table 01950)
Values for NetWare function status:
 00h	successful
 96h	server out of memory
 E9h	member already exists
 EAh	member does not exist
 EBh	not a group property
 F0h	wildcard not allowed
 F8h	can't write property
 F9h	not permitted to read property
 FBh	no such property
 FCh	no such object
 FEh	server bindery locked
 FFh	bindery failure
SeeAlso: #01946,#01961

Format of NetWare "Add Bindery Object to Set" request buffer:
Offset	Size	Description	(Table 01951)
 00h	WORD	length of following data (max 75h)
 02h	BYTE	41h (subfunction "Add Bindery Object to Set")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name
 06h  N BYTEs	object name
	BYTE	length of property name (01h-0Fh)
      N BYTEs	property name
	WORD	(big-endian) type of member object
	BYTE	length of member object's name
      N BYTEs	member object's name
SeeAlso: #01949

Top
21E3--SF42 - INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
INT 21 - Novell NetWare - BINDERY SERVICES - DELETE BINDERY OBJECT FROM SET
	AH = E3h subfn 42h
	DS:SI -> request buffer (see #01952)
	ES:DI -> reply buffer (see #01953)
Return: AL = status (see #01950)
Desc:	delete the specified object from a set property
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=40h,AH=E3h/SF=42h,AH=E3h/SF=43h,AX=F217h/SF=42h

Format of NetWare "Delete Bindery Object from Set" request buffer:
Offset	Size	Description	(Table 01952)
 00h	WORD	length of following data (max 75h)
 02h	BYTE	42h (subfunction "Delete Bindery Object from Set")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name
 06h  N BYTEs	object name
	BYTE	length of property name (01h-0Fh)
      N BYTEs	property name
	WORD	(big-endian) type of member object
	BYTE	length of member object's name
      N BYTEs	member object's name
SeeAlso: #01953

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01953)
 00h	WORD	(call) 0000h (no data returned)
SeeAlso: #01952,#01954,#01955,#01956

Top
21E3--SF43 - INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
INT 21 - Novell NetWare - BINDERY SERVICES - IS BINDERY OBJECT IN SET
	AH = E3h subfn 43h
	DS:SI -> request buffer (see #01954)
	ES:DI -> reply buffer (see #01953)
Return: AL = status (see #01950)
Desc:	determine whether the specified object is a member of the given set
	  property
Notes:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
	the caller must have read access to the property
SeeAlso: AH=E3h/SF=41h,AH=E3h/SF=42h,AX=F217h/SF=43h

Format of NetWare "Is Bindery Object in Set?" request buffer:
Offset	Size	Description	(Table 01954)
 00h	WORD	length of following data (max 75h)
 02h	BYTE	43h (subfunction "Is Bindery Object In Set")
 03h	WORD	(big-endian) type of object
 05h	BYTE	length of object's name
 06h  N BYTEs	object's name
	BYTE	length of property's name
      N BYTEs	property's name
	WORD	(big-endian) type of member object
	BYTE	length of member object's name
      N BYTEs	member object's name
SeeAlso: #01953

Top
21E3--SF44 - INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
INT 21 - Novell NetWare - BINDERY SERVICES - CLOSE BINDERY
	AH = E3h subfn 44h
	DS:SI -> request buffer (see #01955)
	ES:DI -> reply buffer (see #01953)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E3h/SF=45h,AX=F217h/SF=44h

Format of NetWare "Close Bindery" request buffer:
Offset	Size	Description	(Table 01955)
 00h	WORD	0001h (length of following data)
 02h	BYTE	44h (subfunction "Close Bindery")
SeeAlso: #01953,#01956

Top
21E3--SF45 - INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
INT 21 - Novell NetWare - BINDERY SERVICES - OPEN BINDERY
	AH = E3h subfn 45h
	DS:SI -> request buffer (see #01956)
	ES:DI -> reply buffer (see #01953)
Return: AL = status
	    00h successful
Notes:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
	the bindery may only be opened by the supervisor or an object with
	  equivalent privileges
SeeAlso: AH=E3h/SF=44h,AX=F217h/SF=45h

Format of NetWare "Open Bindery" request buffer:
Offset	Size	Description	(Table 01956)
 00h	WORD	0001h (length of following data)
 02h	BYTE	45h (subfunction "Open Bindery")
SeeAlso: #01953,#01955

Top
21E3--SF46 - INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
INT 21 - Novell NetWare - BINDERY SERVICES - GET BINDERY ACCESS LEVEL
	AH = E3h subfn 46h
	DS:SI -> request buffer (see #01957)
	ES:DI -> reply buffer (see #01958)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AX=F217h/SF=46h

Format of NetWare "Get Bindery Access Level" request buffer:
Offset	Size	Description	(Table 01957)
 00h	WORD	0001h (length of following data)
 02h	BYTE	46h (subfunction "Get Bindery Access Level")
SeeAlso: #01958,#02189

Format of NetWare "Get Bindery Access Level" reply buffer:
Offset	Size	Description	(Table 01958)
 00h	WORD	0005h (length of following buffer)
 02h	BYTE	security levels
 03h	DWORD	(big-endian) object ID
SeeAlso: #01957,#02189

Top
21E3--SF47 - INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
INT 21 - Novell NetWare - DIRECTORY SERVICES - SCAN BINDERY OBJ TRUSTEE PATHS
	AH = E3h subfn 47h
	DS:SI -> request buffer (see #01959)
	ES:DI -> reply buffer (see #01960)
Return: AL = status (00h,96h,F0h,F1h,FCh,FEh,FFh) (see #01961)
Desc:	iterate through the directories to which an object is a trustee
Note:	this function is supported by Advanced NetWare 1.0+ and Alloy NTNX
SeeAlso: AH=E2h/SF=0Ch,AH=E2h/SF=0Dh,AH=E2h/SF=0Eh,AX=F217h/SF=47h

Format of NetWare "Scan Bindery Object Trustee Paths" request buffer:
Offset	Size	Description	(Table 01959)
 00h	WORD	0008h (length of following data)
 02h	BYTE	47h (subfunction "Scan Bindery Object Trustee Paths")
 03h	BYTE	volume number (00h-1Fh)
 04h	WORD	(big-endian) last sequence number (FFFFh on first call)
 06h	DWORD	(big-endian) object ID
SeeAlso: #01960,#02190

Format of NetWare "Scan Bindery Object Trustee Paths" reply buffer:
Offset	Size	Description	(Table 01960)
 00h	WORD	(call) length of following results buffer (max 107h)
 02h	WORD	(big-endian) next sequence number
 04h	DWORD	(big-endian) object ID
 08h	BYTE	trustee directory rights (see #01849 at AH=E2h/SF=03h)
 09h	BYTE	length of trustee path
 0Ah  N BYTEs	trustee path
SeeAlso: #01959,#02190

Top
21E3--SF64 - INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE
	AH = E3h subfn 64h
	DS:SI -> request buffer (see #01962)
	ES:DI -> reply buffer (see #01963)
Return: AL = status (00h,96h,99h,9Bh,9Ch,EDh-F1h,F5h,F7h,FCh,FEh,FFh)
	      (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on a workstation with supervisor privileges
SeeAlso: AH=E3h/SF=65h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Bh
SeeAlso: AX=F217h/SF=64h

(Table 01961)
Values for NetWare function status:
 00h (0)	successful
 96h (150)	server out of memory
 99h (153)	directory full
 9Bh (155)	invalid directory handle
 9Ch (156)	invalid path
 D0h (208)	queue error
 D1h (209)	no such queue
 D2h (210)	no server for queue
 D3h (211)	no queue rights
 D4h (212)	queue full
 D5h (213)	no queue job
 D6h (214)	no job rights
 D7h (215)	queue servicing error
 D8h (216)	queue not active
 D9h (217)	station is not a server
 DAh (218)	queue halted
 DBh (219)	too many queue servers
 EDh (237)	property already exists
 EEh (238)	object already exists
 EFh (239)	invalid name
 F0h (240)	wildcard not allowed
 F1h (241)	invalid bindery security level
 F5h (245)	not permitted to create object
 F7h (247)	not permitted to create property
 FCh (252)	no such object
 FEh (254)	server bindery locked
 FFh (255)	bindery failure
SeeAlso: #01950,#02002,#01680,#02860 at INT 2F/AX=7A20h/BX=0000h

Format of NetWare "Create Queue" request buffer:
Offset	Size	Description	(Table 01962)
 00h	WORD	length of following data (max ABh)
 02h	BYTE	64h (subfunction "Create Queue")
 03h	WORD	(big-endian) queue type
 05h	BYTE	length of queue's name (01h-2Fh)
 06h  N BYTEs	queue's name
	BYTE	directory handle or 00h
	BYTE	length of path name (01h-76h)
      N BYTEs	path name of directory in which to create queue subdirectory
SeeAlso: #01963,#02198

Format of NetWare "Create Queue" reply buffer:
Offset	Size	Description	(Table 01963)
 00h	WORD	(call) 0004h (size of following results buffer)
 02h	DWORD	(big-endian) object ID of queue
SeeAlso: #01962,#02198

Top
21E3--SF65 - INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
INT 21 - Novell NetWare - QUEUE SERVICES - DESTROY QUEUE
	AH = E3h subfn 65h
	DS:SI -> request buffer (see #01964)
	ES:DI -> reply buffer (see #01969)
Return: AL = status (00h,96h,9Ch,D0h,D1h,FFh) (see also AH=E3h/SF=64h)
	    FFh hardware failure
Desc:	abort all active jobs, detach all job servers, remove all job entries,
	  delete all job files, remove the queue object and its properties
	  from the bindery, and delete the queue's subdirectory
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must have SUPERVISOR privileges
SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=70h
SeeAlso: AX=F217h/SF=65h

Format of NetWare "Destroy Queue" request buffer:
Offset	Size	Description	(Table 01964)
 00h	WORD	0005h (length of following data)
 02h	BYTE	65h (subfunction "Destroy Queue")
 03h	DWORD	(big-endian) object ID of queue
SeeAlso: #01969

Top
21E3--SF66 - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE CURRENT STATUS (OLD)
	AH = E3h subfn 66h
	DS:SI -> request buffer (see #01965)
	ES:DI -> reply buffer (see #01966)
Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on a workstation which is security-equivalent to a
	  member of the queue's Q_USERS or Q_OPERATORS properties
SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=67h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
SeeAlso: AX=F217h/SF=66h

Format of NetWare "Read Queue Current Status (old)" request buffer:
Offset	Size	Description	(Table 01965)
 00h	WORD	0005h (length of following data)
 02h	BYTE	66h (subfunction "Read Queue Current Status")
 03h	DWORD	(big-endian) object ID of queue
SeeAlso: #01966,#02199 at AX=F217h/SF=66h

Format of NetWare "Read Queue Current Status (old)" reply buffer:
Offset	Size	Description	(Table 01966)
 00h	WORD	(call) 0085h (size of following results)
 02h	DWORD	(big-endian) object ID of queue
 06h	BYTE	status of queue (see #01967)
 07h	BYTE	number of jobs in queue (00h-FAh)
 08h	BYTE	number of servers attached to queue (00h-19h)
 09h 25 DWORDs	list of object IDs of attached servers
 6Dh 25 BYTEs	list of attached servers' stations
 86h	BYTE	(call) maximum number of servers to return
SeeAlso: #01965,#02199 at AX=F217h/SF=66h

Bitfields for NetWare queue status:
Bit(s)	Description	(Table 01967)
 0	operator disabled addition of new jobs
 1	operator refuses additional job servers attaching
 2	operator disabled job servicing
SeeAlso: #01966,#01968

Top
21E3--SF67 - INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE CURRENT STATUS (OLD)
	AH = E3h subfn 67h
	DS:SI -> request buffer (see #01968)
	ES:DI -> reply buffer (see #01969)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must have operator privileges
SeeAlso: AH=E3h/SF=64h,AH=E3h/SF=66h,AH=E3h/SF=6Fh,AH=E3h/SF=76h
SeeAlso: AX=F217h/SF=67h

Format of NetWare "Set Queue Current Status (old)" request buffer:
Offset	Size	Description	(Table 01968)
 00h	WORD	0006h (length of following data)
 02h	BYTE	67h (subfunction "Set Queue Current Status")
 03h	DWORD	(big-endian) object ID of queue
 07h	BYTE	queue status (see #01967)
SeeAlso: #01969

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01969)
 00h	WORD	(call) 0000h (no results returned)

Top
21E3--SF68 - INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
INT 21 - Novell NetWare - QUEUE SERVICES - CREATE QUEUE JOB AND FILE
	AH = E3h subfn 68h
	DS:SI -> request buffer (see #01970)
	ES:DI -> reply buffer (see #01972)
Return: AL = status (00h,96h,99h,9Ch,D0h-D4h,DAh,EDh,EFh-F1h,F7h,FCh,FEh,FFh)
		(see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on a workstation which is security-equivalent to a
	  member of the queue's Q_USER property
SeeAlso: AX=B807h,AH=E0h"SPOOLING",AH=E3h/SF=69h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh
SeeAlso: AX=F217h/SF=68h

Format of NetWare "Create Queue Job and File" request buffer:
Offset	Size	Description	(Table 01970)
 00h	WORD	0107h (length of following data)
 02h	BYTE	68h (subfunction "Close File and Start Queue Job")
 03h	DWORD	(big-endian) object ID of queue
 07h 256 BYTEs	job structure (see #01971)
SeeAlso: #01972,#02200

Format of NetWare old-style job structure:
Offset	Size	Description	(Table 01971)
 00h	BYTE	client station
 01h	BYTE	client task number
 02h	DWORD	(big-endian) object ID of client
 06h	DWORD	(big-endian) object ID of target server
		FFFFFFFh if any server acceptable
 0Ah  6 BYTEs	target execution time (year,month,day,hour,minute,second)
		FFFFFFFFFFFFh to execute as soon as possible
 10h  6 BYTEs	job entry time (year,month,day,hour,minute,second)
 16h	WORD	(big-endian) job number
 18h	WORD	(big-endian) job type
 1Ah	BYTE	job position
 1Bh	BYTE	job control flags (see #01980)
 1Ch 14 BYTEs	ASCIZ job file name
 2Ah  6 BYTEs	job file handle
 30h	BYTE	server station
 31h	BYTE	server task number
 32h	DWORD	(big-endian) object ID of server
 36h 50 BYTEs	ASCIZ job description string
 68h 152 BYTEs	client record area
SeeAlso: #01970,#02210

Format of NetWare "Create Queue Job and File" reply buffer:
Offset	Size	Description	(Table 01972)
 00h	WORD	(call) 0036h (size of following results buffer)
 02h	BYTE	client station
 03h	BYTE	client task number
 04h	DWORD	(big-endian) object ID of client
 08h	DWORD	(big-endian) object ID of target server
 0Ch  6 BYTEs	target execution time (year,month,day,hour,minute,second)
 12h  6 BYTEs	job entry time (year,month,day,hour,minute,second)
 18h	WORD	(big-endian) job number
 1Ah	WORD	(big-endian) job type
 1Ch	BYTE	job position
 1Dh	BYTE	job control flags (see #01980)
 1Eh 14 BYTEs	ASCIZ job file name
 2Ch  6 BYTEs	job file handle
 32h	BYTE	server station
 33h	BYTE	server task number
 34h	DWORD	(big-endian) object ID of server or 00000000h
SeeAlso: #01970,#02200

Top
21E3--SF69 - INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - CLOSE FILE AND START QUEUE JOB (OLD)
	AH = E3h subfn 69h
	DS:SI -> request buffer (see #01973)
	ES:DI -> reply buffer (see #01974)
Return: AL = status (00h,96h,D0h,D1h,D3h,D5h,D6h,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on the workstation which created the job
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh,AX=F217h/SF=69h

Format of NetWare "Close File and Start Queue Job (old)" request buffer:
Offset	Size	Description	(Table 01973)
 00h	WORD	0007h (length of following data)
 02h	BYTE	69h (subfunction "Close File and Start Queue Job")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
SeeAlso: #01974

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01974)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01973,#01975

Top
21E3--SF6A - INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - REMOVE JOB FROM QUEUE (OLD)
	AH = E3h subfn 6Ah
	DS:SI -> request buffer (see #01975)
	ES:DI -> reply buffer (see #01974)
Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must have created the job or be an operator
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh,AX=F217h/SF=6Ah

Format of NetWare "Remove Job From Queue (old)" request buffer:
Offset	Size	Description	(Table 01975)
 00h	WORD	0007h (length of following data)
 02h	BYTE	6Ah (subfunction "Remove Job From Queue (old)")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number

Top
21E3--SF6B - INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB LIST (OLD)
	AH = E3h subfn 6Bh
	DS:SI -> request buffer (see #01976)
	ES:DI -> reply buffer (see #01977)
Return: AL = status (00h,96h,9Ch,D0h-D3h,FCh,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on a workstation which is security-equivalent to a
	  member of the Q_USERS or Q_OPERATORS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh,AX=F217h/SF=6Bh

Format of NetWare "Get Queue Job List (old)" request buffer:
Offset	Size	Description	(Table 01976)
 00h	WORD	0005h (length of following data)
 02h	BYTE	6Bh (subfunction "Get Queue Job List (old)")
 03h	DWORD	(big-endian) object ID of queue
SeeAlso: #01977

Format of NetWare "Get Queue Job List (old)" reply buffer:
Offset	Size	Description	(Table 01977)
 00h	WORD	(call) size of following results buffer (max 1F6h)
 02h	WORD	(big-endian) job count
 04h  N WORDs	(big-endian) list of job numbers by position in queue
	WORD	maximum job numbers
SeeAlso: #01976

Top
21E3--SF6C - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE JOB ENTRY (OLD)
	AH = E3h subfn 6Ch
	DS:SI -> request buffer (see #01978)
	ES:DI -> reply buffer (see #01979)
Return: AL = status (00h,96h,D0h-D3h,D5h,FCh,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on a workstation which is security-equivalent to a
	  member of the Q_USERS, Q_OPERATORS, or Q_SERVERS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Eh,AX=F217h/SF=6Ch

Format of NetWare "Read Queue Job Entry (old)" request buffer:
Offset	Size	Description	(Table 01978)
 00h	WORD	0007h (length of following data)
 02h	BYTE	6Ch (subfunction "Read Queue Job Entry (old)")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
SeeAlso: #01979

Format of NetWare "Read Queue Job Entry (old)" reply buffer:
Offset	Size	Description	(Table 01979)
 00h	WORD	(call) 0100h (size of following results)
 02h	BYTE	client station number
 03h	BYTE	client task number
 04h	DWORD	object ID of client
 08h	DWORD	(big-endian) object ID of target server
		FFFFFFFFh if any server acceptable
 0Ch  6 BYTEs	target execution time (year,month,day,hour,minute,second)
		FFFFFFFFFFFFh if serviced as soon as possible
 12h  6 BYTEs	job entry time (year,month,day,hour,minute,second)
 18h	WORD	(big-endian) job number
 1Ah	WORD	(big-endian) job type
 1Ch	BYTE	job position
 1Dh	BYTE	job control flags (see #01980)
 1Eh 14 BYTEs	ASCIZ job filename
 2Ch  6 BYTEs	job file handle
 32h	BYTE	server station
 33h	BYTE	server task number
 34h	DWORD	object ID of server
 38h 50 BYTEs	ASCIZ job description string
 6Ah 152 BYTEs	client record area
SeeAlso: #01978

Bitfields for NetWare job control flags:
Bit(s)	Description	(Table 01980)
 3	job will be serviced automatically if connection broken
 4	job remains in queue after server aborts job
 5	client has not filled associated job file
 6	User Hold--job advances, but cannot be serviced until this is
	  cleared by user or operator
 7	Operator Hold--job advances, but cannot be serviced until this is
	  cleared by an operator
SeeAlso: #01979

Top
21E3--SF6D - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB ENTRY (OLD)
	AH = E3h subfn 6Dh
	DS:SI -> request buffer (see #01981)
	ES:DI -> reply buffer (see #01983)
Return: AL = status (00h,96h,D0h,D1h,D5h,D7h,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be an operator or the user who created the job
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Eh
SeeAlso: AX=F217h/SF=6Dh

Format of NetWare "Change Queue Job Entry" request buffer:
Offset	Size	Description	(Table 01981)
 00h	WORD	0105h (length of following data)
 02h	BYTE	6Dh (subfunction "Change Queue Job Entry")
 03h	DWORD	(big-endian) object ID of queue
 07h 256 BYTEs	job structure (see #01971)
SeeAlso: #01983

Top
21E3--SF6E - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE QUEUE JOB POSITION
	AH = E3h subfn 6Eh
	DS:SI -> request buffer (see #01982)
	ES:DI -> reply buffer (see #01983)
Return: AL = status (00h,96h,D0h,D1h,D5h,D6h,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be an operator
	if the specified position is greater than the number of jobs in the
	  queue, the job is placed at the end of the queue
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ah,AH=E3h/SF=6Ch,AH=E3h/SF=6Dh
SeeAlso: AX=F217h/SF=6Eh

Format of NetWare "Change Queue Job Position" request buffer:
Offset	Size	Description	(Table 01982)
 00h	WORD	0008h (length of following data)
 02h	BYTE	6Eh (subfunction "Change Queue Job Position")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
 09h	BYTE	new position in queue
		(01h = first, FAh [250] = last position in full queue)
SeeAlso: #01983

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01983)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01981,#01982,#01984

Top
21E3--SF6F - INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
INT 21 - Novell NetWare - QUEUE SERVICES - ATTACH QUEUE SERVER TO QUEUE
	AH = E3h subfn 6Fh
	DS:SI -> request buffer (see #01984)
	ES:DI -> reply buffer (see #01983)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,DAh,DBh,FEh,FFh)
		(see also AH=E3h/SF=64h)
	    FFh bindery failure, or no such property, or no such member
Desc:	attach the calling job server to the specified queue
Notes:	this function is supported by Advanced NetWare 2.1+
	a queue may have up to 25 job servers attached
	the calling workstation must be security-equivalent to a member of the
	  queue's Q_SERVERS property
SeeAlso: AH=E3h/SF=70h,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
SeeAlso: AX=F217h/SF=6Fh

Format of NetWare "Attach Queue Server to Queue" request buffer:
Offset	Size	Description	(Table 01984)
 00h	WORD	0005h (length of following data)
 02h	BYTE	6Fh (subfunction "Attach Queue Server To Queue")
 03h	DWORD	(big-endian) object ID of queue
SeeAlso: #01983,#01985

Top
21E3--SF70 - INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
INT 21 - Novell NetWare - QUEUE SERVICES - DETACH QUEUE SERVER FROM QUEUE
	AH = E3h subfn 70h
	DS:SI -> request buffer (see #01985)
	ES:DI -> reply buffer (see #01983)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D2h,FEh,FFh) (see #01961)
Desc:	remove the calling job server from the specified queue's list of
	  servers
Notes:	this function is supported by Advanced NetWare 2.1+
	the caller must have previously attached itself to the queue
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
SeeAlso: AX=F217h/SF=70h

Format of NetWare "Detach Queue Server From Queue" request buffer:
Offset	Size	Description	(Table 01985)
 00h	WORD	0005h (length of following data)
 02h	BYTE	70h (subfunction "Detach Queue Server From Queue")
 03h	DWORD	(big-endian) object ID of queue
SeeAlso: #01983,#01984

Top
21E3--SF71 - INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
INT 21 - Novell NetWare - QUEUE SERVICES - SERVICE QUEUE JOB AND OPEN FILE
	AH = E3h subfn 71h
	DS:SI -> request buffer (see #01986)
	ES:DI -> reply buffer (see #01972)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh)
		(see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	the caller must be on a workstation which is security-equivalent to a
	  member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
SeeAlso: AX=F217h/SF=71h

Format of NetWare "Service Queue Job and Open File" request buffer:
Offset	Size	Description	(Table 01986)
 00h	WORD	0007h (length of following data)
 02h	BYTE	71h (subfunction "Service Queue Job and Open File")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) target job type
		FFFFh any
SeeAlso: #01972,#01987

Top
21E3--SF72 - INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB AND FILE
	AH = E3h subfn 72h
	DS:SI -> request buffer (see #01987)
	ES:DI -> reply buffer (see #01989)
Return: AL = status (00h,96h,D0h,D1h,D6h) (see #01961)
Desc:	inform the Queue Management System (QMS) that the queue server has
	  completed a job
Notes:	this function is supported by Advanced NetWare 2.1+
	the caller must be a job server which has previously obtained a job
	  for servicing
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=73h,AH=E3h/SF=76h
SeeAlso: AX=F217h/SF=72h

Format of NetWare "Finish Servicing Queue Job and File (old)" request buffer:
Offset	Size	Description	(Table 01987)
 00h	WORD	000Bh (length of following data)
 02h	BYTE	72h (subfunction "Finish Servicing Queue Job and File (old)")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
 09h	DWORD	(big-endian) charge
SeeAlso: #01989,#01986,#01998

Top
21E3--SF73 - INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB AND FILE
	AH = E3h subfn 73h
	DS:SI -> request buffer (see #01988)
	ES:DI -> reply buffer (see #01989)
Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see #01961)
Desc:	inform the Queue Management System (QMS) that the queue server is
	  unable to service a previously-accepted job
Notes:	this function is supported by Advanced NetWare 2.1+
	this is an old version of the call (see AH=E3h/SF=84h)
	only a job server which previously accepted a job for servicing may
	  call this function
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=76h,AH=E3h/SF=84h
SeeAlso: AX=F217h/SF=73h

Format of NetWare "Abort Servicing Queue Job and File (old)" request buffer:
Offset	Size	Description	(Table 01988)
 00h	WORD	0007h (length of following data)
 02h	BYTE	73h (subfunction "Abort Servicing Queue Job and File (old)")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
SeeAlso: #01989,#01987

Format of NetWare reply buffer:
Offset	Size	Description	(Table 01989)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01987,#01988,#01990,#01991

Top
21E3--SF74 - INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - CHANGE TO CLIENT RIGHTS (OLD)
	AH = E3h subfn 74h
	DS:SI -> request buffer (see #01990)
	ES:DI -> reply buffer (see #01989)
Return: AL = status (00h,96h,D0h,D1h,D5h,D9h) (see #01961)
Desc:	temporarily assume the login identity of the client submitting the
	  job being serviced
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be a job server which has obtained a job for servicing
SeeAlso: AH=E3h/SF=75h,AX=F217h/SF=74h

Format of NetWare "Change to Client Rights (old)" request buffer:
Offset	Size	Description	(Table 01990)
 00h	WORD	0007h (length of following data)
 02h	BYTE	74h (subfunction "Change To Client Rights (old)")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
SeeAlso: #01989,#01991

Top
21E3--SF75 - INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
INT 21 - Novell NetWare - QUEUE SERVICES - RESTORE QUEUE SERVER RIGHTS
	AH = E3h subfn 75h
	DS:SI -> request buffer (see #01991)
	ES:DI -> reply buffer (see #01989)
Return: AL = status (00h,96h,9Ch,D0h,D1h,D3h,D5h,D9h,DAh,FEh,FFh) (see #01961)
Desc:	restore server's own identity after assuming the login identity of the
	  client submitting the job being serviced
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be a job server which has previously changed its identity
SeeAlso: AH=E3h/SF=74h,AX=F217h/SF=75h

Format of NetWare "Restore Queue Server Rights" request buffer:
Offset	Size	Description	(Table 01991)
 00h	WORD	0001h (length of following data)
 02h	BYTE	75h (subfunction "Change To Client Rights")
SeeAlso: #01989,#01990

Top
21E3--SF76 - INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS OLD
INT 21 - Novell NetWare - QUEUE SERVICES - READ QUEUE SERVER CURRENT STATUS OLD
	AH = E3h subfn 76h
	DS:SI -> request buffer (see #01992)
	ES:DI -> reply buffer (see #01993)
Return: AL = status (00h,96h,9Ch,D1h-D3h,F1h,FCh,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on a workstation which is security-equivalent to a
	  member of the Q_USERS or Q_OPERATORS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=77h,AH=E3h/SF=78h
SeeAlso: AX=F217h/SF=76h

Format of NetWare "Read Queue Server Current Status (old)" request buffer:
Offset	Size	Description	(Table 01992)
 00h	WORD	000Ah (length of following data)
 02h	BYTE	76h (subfunction "Read Queue Server Current Status (old)")
 03h	DWORD	(big-endian) object ID of queue
 07h	DWORD	(big-endian) object ID of server
 0Bh	BYTE	server station
SeeAlso: #01993

Format of NetWare "Read Queue Server Current Status (old)" reply buffer:
Offset	Size	Description	(Table 01993)
 00h	WORD	(call) 0040h (size of following results)
 02h 64 BYTEs	server status record (format depends on server)
		first four bytes should contain estimated "price" for an
		  average job
SeeAlso: #01992,#02203

Top
21E3--SF77 - INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
INT 21 - Novell NetWare - QUEUE SERVICES - SET QUEUE SERVER CURRENT STATUS
	AH = E3h subfn 77h
	DS:SI -> request buffer (see #01994)
	ES:DI -> reply buffer (see #01995)
Return: AL = status (00h,96h,9Ch,D0h,D1h,FEh,FFh) (see #01961)
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be a job server which has attached itself to the queue
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=6Fh,AH=E3h/SF=76h,AH=E3h/SF=78h
SeeAlso: AX=F217h/SF=77h

Format of NetWare "Set Queue Server Current Status" request buffer:
Offset	Size	Description	(Table 01994)
 00h	WORD	0045h (length of following data)
 02h	BYTE	77h (subfunction "Set Queue Server Current Status")
 03h	DWORD	(big-endian) object ID of queue
 07h 64 BYTEs	server status record (format depends on server)
		first four bytes should contain estimated "price" for an
		  average job
SeeAlso: #01995

Format of NetWare "Set Queue Server Current Status" reply buffer:
Offset	Size	Description	(Table 01995)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01994

Top
21E3--SF78 - INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE (OLD)
INT 21 - Novell NetWare - QUEUE SERVICES - GET QUEUE JOB'S FILE SIZE (OLD)
	AH = E3h subfn 78h
	DS:SI -> request buffer (see #01996)
	ES:DI -> reply buffer (see #01997)
Return: AL = status (see also #01961)
	    00h successful
Notes:	this function is supported by Advanced NetWare 2.1+
	caller must be on a workstation which is security-equivalent to a
	  member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
SeeAlso: AH=E3h/SF=68h,AH=E3h/SF=6Ch,AH=E3h/SF=71h,AX=F217h/SF=78h

Format of NetWare "Get Queue Job's File Size (old)" request buffer:
Offset	Size	Description	(Table 01996)
 00h	WORD	0007h (length of following data)
 02h	BYTE	78h (subfunction "Get Queue Job's File Size (old)")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
SeeAlso: #01997,#02204 at AX=F217h/SF=78h

Format of NetWare "Get Queue Job's File Size (old)" reply buffer:
Offset	Size	Description	(Table 01997)
 00h	WORD	(call) 000Ah (size of following results)
 02h	DWORD	(big-endian) object ID of queue
 06h	WORD	(big-endian) job number
 08h	DWORD	(big-endian) size of job file in bytes
SeeAlso: #01996,#02204 at AX=F217h/SF=78h

Top
21E3--SF83 - INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB
INT 21 - Novell NetWare - QUEUE SERVICES - FINISH SERVICING QUEUE JOB
	AH = E3h subfn 83h
	DS:SI -> request buffer (see #01998)
	ES:DI -> reply buffer (see #01999)
Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see #01961)
Desc:	inform the Queue Management System (QMS) that the queue server has
	 completed servicing a previously-accepted job
Notes:	this function is supported by Advanced NetWare 3.1+
	this variant of Abort Servicing Queue Job allows use of the high
	  connection byte in the NCP packet header, unlike AH=E3h/SF=73h
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=84h
SeeAlso: AX=F217h/SF=83h

Format of NetWare "Finish Servicing Queue Job" request buffer:
Offset	Size	Description	(Table 01998)
 00h	WORD	0007h (length of following data)
 02h	BYTE	84h (subfunction "Abort Servicing Queue Job")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
 09h	DWORD	(big-endian) charge for job
SeeAlso: #01999,#01987

Format of NetWare "Finish Servicing Queue Job" reply buffer:
Offset	Size	Description	(Table 01999)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #01998

Top
21E3--SF84 - INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB
INT 21 - Novell NetWare - QUEUE SERVICES - ABORT SERVICING QUEUE JOB
	AH = E3h subfn 84h
	DS:SI -> request buffer (see #02000)
	ES:DI -> reply buffer (see #02001)
Return: AL = status (00h,96h,D0h,D1h,D6h,D9h) (see #01961)
Desc:	inform the Queue Management System (QMS) that the queue server is
	  unable to service a previously-accepted job
Notes:	this function is supported by Advanced NetWare 3.1+
	this variant of Abort Servicing Queue Job allows use of the high
	  connection byte in the NCP packet header, unlike AH=E3h/SF=73h
SeeAlso: AH=E3h/SF=6Fh,AH=E3h/SF=71h,AH=E3h/SF=72h,AH=E3h/SF=73h,AH=E3h/SF=76h
SeeAlso: AX=F217h/SF=84h

Format of NetWare "Abort Servicing Queue Job" request buffer:
Offset	Size	Description	(Table 02000)
 00h	WORD	0007h (length of following data)
 02h	BYTE	84h (subfunction "Abort Servicing Queue Job")
 03h	DWORD	(big-endian) object ID of queue
 07h	WORD	(big-endian) job number
SeeAlso: #02001

Format of NetWare "Abort Servicing Queue Job" reply buffer:
Offset	Size	Description	(Table 02001)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #02000

Top
21E3--SF96 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
INT 21 - Novell NetWare - ACCOUNTING SERVICES - GET ACCOUNT STATUS
	AH = E3h subfn 96h
	DS:SI -> request buffer (see #02003)
	ES:DI -> reply buffer (see #02004)
Return: AL = status (00h,C0h,C1h) (see #02002)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=97h,AH=E3h/SF=98h,AH=E3h/SF=99h,AX=F217h/SF=96h

(Table 02002)
Values for NetWare function status:
 00h	successful
 C0h	no account privileges
 C1h	no account balance
 C2h	credit limit exceeded
 C3h	too many holds on account
 C6h	no console rights
SeeAlso: #01961

Format of NetWare "Get Account Status" request buffer:
Offset	Size	Description	(Table 02003)
 00h	WORD	length of following data (max 33h)
 02h	BYTE	96h (subfunction "Get Account Status")
 03h	WORD	(big-endian) type of bindery object
 05h	BYTE	length of object name (01h to 2Fh)
 06h  N BYTEs	object name
SeeAlso: #02004,#02224 at AX=F217h/SF=96h

Format of NetWare "Get Account Status" reply buffer:
Offset	Size	Description	(Table 02004)
 00h	WORD	(call) length of following buffer space
 02h	DWORD	(big-endian) account balance
 06h	DWORD	(big-endian) credit limit
		signed number indicating lowest allowable account balance
 0Ah 120 BYTEs	reserved
 82h	DWORD	(big-endian) object ID, server 1
 86h	DWORD	(big-endian) hold amount, server 1
	...
 F8h	DWORD	(big-endian) object ID, server 16
 FCh	DWORD	(big-endian) hold amount, server 16
Note:	the reply buffer lists the servers which have placed holds on a portion
	  of the account balance, and the amount reserved by each
SeeAlso: #02003,#02224 at AX=F217h/SF=96h

Top
21E3--SF97 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT CHARGE
	AH = E3h subfn 97h
	DS:SI -> request buffer (see #02005)
	ES:DI -> reply buffer (see #02007)
Return: AL = status (00h,C0h-C2h) (see #02002)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=98h,AX=F217h/SF=97h

Format of NetWare "Submit Account Charge" request buffer:
Offset	Size	Description	(Table 02005)
 00h	WORD	length of following data (max 13Fh)
 02h	BYTE	97h (subfunction "Submit Account Charge")
 03h	WORD	(big-endian) service type
 05h	DWORD	(big-endian) amount to be charged to account
 09h	DWORD	(big-endian) amount of prior hold to be cancelled
 0Dh	WORD	(big-endian) type of bindery object
 0Fh	WORD	(big-endian) type of comment
		8000h-FFFFh reserved for experimental use
 11h	BYTE	length of object's name
 12h  N BYTEs	object name
	BYTE	length of comment
      N BYTEs	comment
SeeAlso: #02007

Top
21E3--SF98 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT HOLD
	AH = E3h subfn 98h
	DS:SI -> request buffer (see #02006)
	ES:DI -> reply buffer (see #02007)
Return: AL = status (00h,C0h-C3h) (see #02002)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=96h,AH=E3h/SF=97h,AX=F217h/SF=98h

Format of NetWare "Submit Account Hold" request buffer:
Offset	Size	Description	(Table 02006)
 00h	WORD	length of following data (max 37h)
 02h	BYTE	98h (subfunction "Submit Account Hold")
 03h	DWORD	(big-endian) amount of account balance to reserve
 07h	WORD	(big-endian) type of bindery object
 09h	BYTE	length of object's name
 0Ah  N BYTEs	object name
SeeAlso: #02007

Format of NetWare reply buffer:
Offset	Size	Description	(Table 02007)
 00h	WORD	0000h (no data returned)
SeeAlso: #02005,#02006,#02008,#02009

Top
21E3--SF99 - INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
INT 21 - Novell NetWare - ACCOUNTING SERVICES - SUBMIT ACCOUNT NOTE
	AH = E3h subfn 99h
	DS:SI -> request buffer (see #02008)
	ES:DI -> reply buffer (see #02007)
Return: AL = status (00h,C0h) (see #02002)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=96h,AX=F217h/SF=99h

Format of NetWare "Submit Account Note" request buffer:
Offset	Size	Description	(Table 02008)
 00h	WORD	length of following data (max 137h)
 02h	BYTE	99h (subfunction "Submit Account Note")
 03h	WORD	(big-endian) type of service
 05h	WORD	(big-endian) type of bindery object
 07h	WORD	(big-endian) type of comment
		8000h-FFFFh reserved for experimental use
 09h	BYTE	length of object's name
 0Ah  N BYTEs	object name
	BYTE	length of comment
      N BYTEs	comment
SeeAlso: #02007

Top
21E3--SFC8 - INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
INT 21 - Novell NetWare - FILE SERVER - CHECK CONSOLE PRIVILEGES
	AH = E3h subfn C8h
	DS:SI -> request buffer (see #02009)
	ES:DI -> reply buffer (see #02007)
Return: AL = status (00h,C6h) (see #02002)
Desc:	determine whether the caller is a console operator
Notes:	this function is supported by Advanced NetWare 2.1+
	NetWare determines console privileges by checking the file server's
	  OPERATOR property for the caller's object ID
SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h,AX=F217h/SF=C8h

Format of NetWare "Check Console Privileges" request buffer:
Offset	Size	Description	(Table 02009)
 00h	WORD	0001h (length of following data)
 02h	BYTE	C8h (subfunction "Check Console Privileges")
SeeAlso: #02007

Top
21E3--SFC9 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DESCRIPTION STRINGS
	AH = E3h subfn C9h
	DS:SI -> request buffer (see #02010)
	ES:DI -> reply buffer (see #02011)
Return: AL = status
	    00h successful
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must be attached to the file server
SeeAlso: AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E8h,AX=F217h/SF=C9h

Format of NetWare "Get File Server Description Strings" request buffer:
Offset	Size	Description	(Table 02010)
 00h	WORD	0001h (length of following data)
 02h	BYTE	C9h (subfunction "Get File Server Description Strings")
SeeAlso: #02011,#02225 at AX=F217h/SF=C9h

Format of NetWare "Get File Server Description Strings" reply buffer:
Offset	Size	Description	(Table 02011)
 00h	WORD	(call) 0200h (size of following results buffer)
 02h	var	ASCIZ name of company distributing this copy of NetWare
	var	ASCIZ version and revision
      9 BYTEs	ASCIZ revision date (mm/dd/yy)
	var	ASCIZ copyright notice
SeeAlso: #02010,#02225 at AX=F217h/SF=C9h

Top
21E3--SFCA - INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
INT 21 - Novell NetWare - FILE SERVER - SET FILE SERVER DATE AND TIME
	AH = E3h subfn CAh
	DS:SI -> request buffer (see #02012)
	ES:DI -> reply buffer (see #02014)
Return: AL = status (00h,C6h) (see #02002)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=2Bh"DATE",AH=2Dh"TIME",AH=E3h/SF=C8h,AH=E7h"Novell",AX=F217h/SF=CAh
SeeAlso: AX=F214h

Format of NetWare "Set File Server Date and Time" request buffer:
Offset	Size	Description	(Table 02012)
 00h	WORD	0007h (length of following data)
 02h	BYTE	CAh (subfunction "Set File Server Date And Time")
 03h	BYTE	year (00-79 = 2000-2079, 80-99 = 1980-1999)
 04h	BYTE	month (1-12)
 05h	BYTE	day (1-31)
 06h	BYTE	hour (0-23)
 07h	BYTE	minute
 08h	BYTE	second
SeeAlso: #02014,#02106 at AX=F214h

Top
21E3--SFCB - INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
INT 21 - Novell NetWare - FILE SERVER - DISABLE FILE SERVER LOGIN
	AH = E3h subfn CBh
	DS:SI -> request buffer (see #02013)
	ES:DI -> reply buffer (see #02014)
Return: AL = status (00h,C6h) (see #02002)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CCh,AH=E3h/SF=D3h,AX=F217h/SF=CBh

Format of NetWare "Disable File Server Login" request buffer:
Offset	Size	Description	(Table 02013)
 00h	WORD	0001h (length of following data)
 02h	BYTE	CBh (subfunction "Disable File Server Login")
SeeAlso: #02014,#02015

Format of NetWare reply buffer:
Offset	Size	Description	(Table 02014)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #02012,#02013,#02015

Top
21E3--SFCC - INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
INT 21 - Novell NetWare - FILE SERVER - ENABLE FILE SERVER LOGIN
	AH = E3h subfn CCh
	DS:SI -> request buffer (see #02015)
	ES:DI -> reply buffer (see #02014)
Return: AL = status (00h,C6h) (see #02002)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AX=F217h/SF=CCh

Format of NetWare "Enable File Server Login" request buffer:
Offset	Size	Description	(Table 02015)
 00h	WORD	0001h (length of following data)
 02h	BYTE	CCh (subfunction "Enable File Server Login")
SeeAlso: #02014

Top
21E3--SFCD - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LOGIN STATUS
	AH = E3h subfn CDh
	DS:SI -> request buffer (see #02016)
	ES:DI -> reply buffer (see #02017)
Return: AL = status (00h,C6h) (see #02002)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CCh

Format of NetWare "Get File Server Login Status" request buffer:
Offset	Size	Description	(Table 02016)
 00h	WORD	0001h (length of following data)
 02h	BYTE	CDh (subfunction "Get File Server Login Status")
SeeAlso: #02017,#02226 at AX=F217h/SF=CDh

Format of NetWare "Get File Server Login Status" reply buffer:
Offset	Size	Description	(Table 02017)
 00h	WORD	(call) 0001h (size of following results buffer)
 02h	BYTE	login state (00h disabled, 01h enabled)
SeeAlso: #02016,#02226 at AX=F217h/SF=CDh

Top
21E3--SFCE - INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
INT 21 - Novell NetWare - FILE SERVICES - PURGE ALL ERASED FILES
	AH = E3h subfn CEh
	DS:SI -> request buffer (see #02018)
	ES:DI -> reply buffer (see #02020)
Return: AL = status (00h,C6h) (see #02002)
Desc:	all files marked for deletion on the file server are purged, regardless
	  of which workstation actually erased them
Notes:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
	the calling workstation must have console operator privileges
SeeAlso: AH=13h,AH=E2h/SF=10h,AH=E3h/SF=C8h,AX=F217h/SF=CEh,AX=F244h

Format of NetWare "Purge All Erased Files" request buffer:
Offset	Size	Description	(Table 02018)
 00h	WORD	0001h (length of following data)
 02h	BYTE	CEh (subfunction "Purge All Erased Files")
SeeAlso: #02020

Top
21E3--SFCF - INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
INT 21 - Novell NetWare - FILE SERVER - DISABLE TRANSACTION TRACKING
	AH = E3h subfn CFh
	DS:SI -> request buffer (see #02019)
	ES:DI -> reply buffer (see #02020)
Return: AL = status (00h,C6h) (see #02002)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D0h

Format of NetWare "Disable Transaction Tracking" request buffer:
Offset	Size	Description	(Table 02019)
 00h	WORD	0001h (length of following data)
 02h	BYTE	CFh (subfunction "Disable Transaction Tracking")
SeeAlso: #02020,#02021

Format of NetWare reply buffer:
Offset	Size	Description	(Table 02020)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #02018,#02019,#02021

Top
21E3--SFD0 - INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
INT 21 - Novell NetWare - FILE SERVER - ENABLE TRANSACTION TRACKING
	AH = E3h subfn D0h
	DS:SI -> request buffer (see #02021)
	ES:DI -> reply buffer (see #02020)
Return: AL = status (00h,C6h) (see #02025)
Desc:	restart transaction tracking after being stopped either explicitly by
	  AH=E3h/SF=CFh or automatically due to a full transaction volume
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh,AX=F217h/SF=D0h

Format of NetWare "Enable Transaction Tracking" request buffer:
Offset	Size	Description	(Table 02021)
 00h	WORD	0001h (length of following data)
 02h	BYTE	D0h (subfunction "Enable Transaction Tracking")
SeeAlso: #02020,#02019

Top
21E3--SFD1 - INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
INT 21 - Novell NetWare - FILE SERVER - SEND CONSOLE BROADCAST
	AH = E3h subfn D1h
	DS:SI -> request buffer (see #02022)
	ES:DI -> reply buffer (see #02024)
Return: AL = status (00h,C6h) (see #02025)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
	the broadcast message will not be received by workstations which have
	  disabled broadcasts with AH=E1h/SF=02h
SeeAlso: AH=E1h/SF=02h,AH=E1h/SF=09h,AH=E3h/SF=C8h,AH=E3h/SF=D3h
SeeAlso: AX=F217h/SF=D1h

Format of NetWare "Send Console Broadcast" request buffer:
Offset	Size	Description	(Table 02022)
 00h	WORD	length of following data (max A2h)
 02h	BYTE	D1h (subfunction "Send Console Broadcast")
 03h	BYTE	number of connections to receive message
		00h = all, else specific list below
 04h  N BYTEs	connection list
	BYTE	length of message (max 3Ch)
      N BYTEs	message
SeeAlso: #02024

Top
21E3--SFD2 - INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
INT 21 - Novell NetWare - FILE SERVER - CLEAR CONNECTION NUMBER
	AH = E3h subfn D2h
	DS:SI -> request buffer (see #02023)
	ES:DI -> reply buffer (see #02024)
Return: AL = status (00h,C6h) (see #02025)
Desc:	close the open files and release all file locks for a connection,
	  abort transactions if a TTS file server, and detach from the file
	  server
Notes:	this function is supported by Advanced NetWare 2.1+
	the caller must have SUPERVISOR privileges
SeeAlso: AH=E3h/SF=C9h,AH=E3h/SF=D1h,AX=F217h/SF=D2h,AX=F217h/SF=FEh

Format of NetWare "Clear Connection Number" request buffer:
Offset	Size	Description	(Table 02023)
 00h	WORD	0002h (length of following data)
 02h	BYTE	D2h (subfunction "Clear Connection Number")
 03h	BYTE	connection number
SeeAlso: #02024,#02277

Format of NetWare reply buffer:
Offset	Size	Description	(Table 02024)
 00h	WORD	(call) 0000h (no results returned)
SeeAlso: #02022,#02023,#02026

Top
21E3--SFD3 - INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
INT 21 - Novell NetWare - FILE SERVER - DOWN FILE SERVER
	AH = E3h subfn D3h
	DS:SI -> request buffer (see #02026)
	ES:DI -> reply buffer (see #02024)
Return: AL = status (00h,C6h,FFh) (see #02025)
Desc:	take down the file server
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have SUPERVISOR privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CBh,AH=E3h/SF=CFh,AH=E3h/SF=D1h

(Table 02025)
Values for NetWare function status:
 00h	successful
 C6h	no console rights
 FFh	files open
SeeAlso: #02002,#02053

Format of NetWare "Down File Server" request buffer:
Offset	Size	Description	(Table 02026)
 00h	WORD	0002h (length of following data)
 02h	BYTE	D3h (subfunction "Down File Server")
 03h	BYTE	flag: force down even if files open if nonzero
SeeAlso: #02024

Top
21E3--SFD4 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
INT 21 - Novell NetWare - FILE SERVER - GET FILE SYSTEM STATISTICS
	AH = E3h subfn D4h
	DS:SI -> request buffer (see #02027)
	ES:DI -> reply buffer (see #02028)
Return: AL = status (00h,C6h) (see #02025)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E7h,AH=E3h/SF=E8h
SeeAlso: AX=F217h/SF=D4h

Format of NetWare "Get File System Statistics" request buffer:
Offset	Size	Description	(Table 02027)
 00h	WORD	0001h (length of following data)
 02h	BYTE	D4h (subfunction "Get File System Statistics")
SeeAlso: #02028,#02227 at AX=F217h/SF=D4h

Format of NetWare "Get File System Statistics" reply buffer:
Offset	Size	Description	(Table 02028)
 00h	WORD	(call) 0028h (size of following results buffer)
 02h	DWORD	clock ticks since system started
 06h	WORD	maximum open files set by configuration
 08h	WORD	maximum files open concurrently
 0Ah	WORD	current number of open files
 0Ch	DWORD	total files opened
 10h	DWORD	total file read requests
 14h	DWORD	total file write requests
 18h	WORD	current changed FATs
 1Ah	WORD	total changed FATs
 1Ch	WORD	number of FAT write errors
 1Eh	WORD	number of fatal FAT write errors
 20h	WORD	number of FAT scan errors
 22h	WORD	maximum concurrently-indexed files
 24h	WORD	current number of indexed files
 26h	WORD	number of attached indexed files
 28h	WORD	number of indexed files available
Note:	all fields except the first are big-endian
SeeAlso: #02027,#02227 at AX=F217h/SF=D4h

Top
21E3--SFD5 - INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
INT 21 - Novell NetWare - FILE SERVER - GET TRANSACTION TRACKING STATISTICS
	AH = E3h subfn D5h
	DS:SI -> request buffer (see #02029)
	ES:DI -> reply buffer (see #02030)
Return: AL = status (00h,C6h) (see #02025)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=CFh,AH=E3h/SF=D0h,AH=E3h/SF=E8h
SeeAlso: AX=F217h/SF=D5h

Format of NetWare "Get Transaction Tracking Statistics" request buffer:
Offset	Size	Description	(Table 02029)
 00h	WORD	0001h (length of following data)
 02h	BYTE	D5h (subfunction "TTS Get Statistics")
SeeAlso: #02030,#02228 at AX=F217h/SF=D5h

Format of NetWare "Get Transaction Tracking Statistics" reply buffer:
Offset	Size	Description	(Table 02030)
 00h	WORD	(call) length of following results buffer (max 1BCh)
 02h	DWORD	(big-endian) clock ticks since system started
 06h	BYTE	transaction tracking supported if nonzero
		(all following fields are invalid if zero)
 07h	BYTE	transaction tracking enabled
 08h	WORD	(big-endian) transaction volume number
 0Ah	WORD	(big-endian) maximum simultaneous transactions configured
 0Ch	WORD	(big-endian) maximum simultaneous transactions since startup
 0Eh	WORD	(big-endian) current transactions in progress
 10h	DWORD	(big-endian) total transactions performed
 14h	DWORD	(big-endian) total write transactions
 18h	DWORD	(big-endian) total transactions backed out
 1Ch	WORD	(big-endian) number of unfilled backout requests
 1Eh	WORD	(big-endian) disk blocks used for transaction tracking
 20h	DWORD	(big-endian) blocks allocated for tracked-file FATs
 24h	DWORD	(big-endian) number of file size changes during a transaction
 28h	DWORD	(big-endian) number of file truncations during a transaction
 2Ch	BYTE	number of records following
 2Dh	Active Transaction Records [array]
	Offset	Size	Description
	 00h	BYTE	logical connection number
	 01h	BYTE	task number
SeeAlso: #02029,#02228 at AX=F217h/SF=D5h

Top
21E3--SFD6 - INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
INT 21 - Novell NetWare - FILE SERVER - GET DISK CACHE STATISTICS
	AH = E3h subfn D6h
	DS:SI -> request buffer (see #02031)
	ES:DI -> reply buffer (see #02032)
Return: AL = status (00h,C6h) (see #02025)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D5h,AH=E3h/SF=D8h,AH=E3h/SF=D9h,AH=E3h/SF=E6h
SeeAlso: AX=F217h/SF=D6h

Format of NetWare "Get Disk Cache Statistics" request buffer:
Offset	Size	Description	(Table 02031)
 00h	WORD	0001h (length of following data)
 02h	BYTE	D6h (subfunction "Get Disk Cache Statistics")
SeeAlso: #02032,#02229 at AX=F217h/SF=D6h

Format of NetWare "Get Disk Cache Statistics" reply buffer:
Offset	Size	Description	(Table 02032)
 00h	WORD	(call) 004Eh (length of following results buffer)
 02h	DWORD	clock ticks since system started
 06h	WORD	number of cache buffers
 08h	WORD	size of cache buffer in bytes
 0Ah	WORD	number of dirty cache buffers
 0Ch	DWORD	number of cache read requests
 10h	DWORD	number of cache write requests
 14h	DWORD	number of cache hits
 18h	DWORD	number of cache misses
 1Ch	DWORD	number of physical read requests
 20h	DWORD	number of physical write requests
 24h	WORD	number of physical read errors
 26h	WORD	number of physical write errors
 28h	DWORD	cache get requests
 2Ch	DWORD	cache full write requests
 30h	DWORD	cache partial write requests
 34h	DWORD	background dirty writes
 38h	DWORD	background aged writes
 3Ch	DWORD	total cache writes
 40h	DWORD	number of cache allocations
 44h	WORD	thrashing count
 46h	WORD	number of times LRU block was dirty
 48h	WORD	number of reads on cache blocks not yet filled by writes
 4Ah	WORD	number of times a fragmented write occurred
 4Ch	WORD	number of cache hits on unavailable block
 4Eh	WORD	number of times a cache block was scrapped
Note:	all fields except the first are big-endian
SeeAlso: #02031,#02229 at AX=F217h/SF=D6h

Top
21E3--SFD7 - INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
INT 21 - Novell NetWare - FILE SERVER - GET DRIVE MAPPING TABLE
	AH = E3h subfn D7h
	DS:SI -> request buffer (see #02033)
	ES:DI -> reply buffer (see #02034)
Return: AL = status (00h,C6h) (see #02025)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D6h,AH=E3h/SF=D9h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
SeeAlso: AX=F217h/SF=D7h

Format of NetWare "Get Drive Mapping Table" request buffer:
Offset	Size	Description	(Table 02033)
 00h	WORD	0001h (length of following data)
 02h	BYTE	D7h (subfunction "Get Drive Mapping Table")
SeeAlso: #02034,#02230 at AX=F217h/SF=D7h

Format of NetWare "Get Drive Mapping Table" reply buffer:
Offset	Size	Description	(Table 02034)
 00h	WORD	(call) 00ECh (length of following results buffer)
 02h	DWORD	(big-endian) clock tick elapsed since system started
 06h	BYTE	fault tolerance (SFT) level
 07h	BYTE	number of logical drives attached to server
 08h	BYTE	number of physical drives attached to server
 09h  5 BYTEs	disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
		  04h disk coprocessor drive, 32h-FFh value-added drive types)
 0Eh	WORD	(big-endian) number of outstanding controller commands
 10h 32 BYTEs	drive mapping table (FFh = no such drive)
 30h 32 BYTEs	drive mirror table (secondary physical drive, FFh = none)
 50h 32 BYTEs	dead mirror table (last drive mapped to, FFh if never mirrored)
 70h	BYTE	physical drive being remirrored (FFh = none)
 71h	BYTE	reserved
 72h	DWORD	(big-endian) remirrored block
 76h 60 BYTEs	SFT error table (internal error counters)
SeeAlso: #02033,#02230 at AX=F217h/SF=D7h

Top
21E3--SFD8 - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL DISK STATISTICS
	AH = E3h subfn D8h
	DS:SI -> request buffer (see #02035)
	ES:DI -> reply buffer (see #02036)
Return: AL = status (00h,C6h) (see #02025)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D9h,AH=E3h/SF=E9h,AX=F217h/SF=D8h

Format of NetWare "Get Physical Disk Statistics" request buffer:
Offset	Size	Description	(Table 02035)
 00h	WORD	0002h (length of following data)
 02h	BYTE	D8h (subfunction "Get Physical Disk Statistics")
 03h	BYTE	physical disk number
SeeAlso: #02036,#02231 at AX=F217h/SF=D8h

Format of NetWare "Get Physical Disk Statistics" reply buffer:
Offset	Size	Description	(Table 02036)
 00h	WORD	(call) 005Dh (size of following results record)
 02h	DWORD	(big-endian) clock ticks since system started
 06h	BYTE	physical disk channel
 07h	BYTE	flag: drive removable if nonzero
 08h	BYTE	physical drive type
 09h	BYTE	drive number within controller
 0Ah	BYTE	controller number
 0Bh	BYTE	controller type
 0Ch	DWORD	(big-endian) size of drive in 4K disk blocks
 10h	WORD	(big-endian) number of cylinders on drive
 12h	BYTE	number of heads
 13h	BYTE	number of sectors per track
 14h 64 BYTEs	ASCIZ drive make and model
 54h	WORD	(big-endian) number of I/O errors
 56h	DWORD	(big-endian) start of Hot Fix table
 5Ah	WORD	(big-endian) size of Hot Fix table
 5Ch	WORD	(big-endian) number of Hot Fix blocks available
 5Eh	BYTE	flag: Hot Fix disabled if nonzero
SeeAlso: #02035,#02231 at AX=F217h/SF=D8h

Top
21E3--SFD9 - INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
INT 21 - Novell NetWare - FILE SERVER - GET DISK CHANNEL STATISTICS
	AH = E3h subfn D9h
	DS:SI -> request buffer (see #02037)
	ES:DI -> reply buffer (see #02038)
Return: AL = status (00h,C6h) (see #02025)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=D8h,AH=E3h/SF=E6h,AH=E3h/SF=E9h
SeeAlso: AX=F217h/SF=D9h

Format of NetWare "Get Disk Channel Statistics" request buffer:
Offset	Size	Description	(Table 02037)
 00h	WORD	0002h (length of following data)
 02h	BYTE	D9h (subfunction "Get Disk Channel Statistics")
 03h	BYTE	channel number
SeeAlso: #02038,#02232 at AX=F217h/SF=D9h

Format of NetWare "Get Disk Channel Statistics" reply buffer:
Offset	Size	Description	(Table 02038)
 00h	WORD	(call) 00A8h (size of following results record)
 02h	DWORD	(big-endian) clock ticks since system started
 06h	WORD	(big-endian) channel run state (see #02039)
 08h	WORD	(big-endian) channel synchronization state (see #02040)
 0Ah	BYTE	driver type
 0Bh	BYTE	major version of driver
 0Ch	BYTE	minor version of driver
 0Dh 65 BYTEs	ASCIZ driver description
 4Eh	WORD	(big-endian) first I/O address used
 50h	WORD	(big-endian) length of first I/O address
 52h	WORD	(big-endian) second I/O address used
 54h	WORD	(big-endian) length of second I/O address
 56h  3 BYTEs	first shared memory address
 59h  2 BYTEs	length of first shared memory address
 5Bh  3 BYTEs	second shared memory address
 5Eh  2 BYTEs	length of second shared memory address
 60h	BYTE	first interrupt number in-use flag
 61h	BYTE	first interrupt number used
 62h	BYTE	second interrupt number in-use flag
 63h	BYTE	second interrupt number used
 64h	BYTE	first DMA channel in-use flag
 65h	BYTE	first DMA channel used
 66h	BYTE	second DMA channel in-use flag
 67h	BYTE	second DMA channel used
 68h	BYTE	flags
 69h	BYTE	reserved
 6Ah 80 BYTEs	ASCIZ configuration description
SeeAlso: #02037,#02232 at AX=F217h/SF=D9h

(Table 02039)
Values for channel run state:
 0000h	running
 0001h	being stopped
 0002h	stopped
 0003h	nonfunctional
SeeAlso: #02038,#02040

(Table 02040)
Values for channel synchronization state:
 0000h	not in use
 0002h	used by NetWare, no other requests
 0004h	used by NetWare, other requests
 0006h	in use, not needed by NetWare
 0008h	in use, needed by NetWare
 000Ah	channel released, NetWare should use it
SeeAlso: #02038,#02039

Top
21E3--SFDA - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S TASK INFORMATION
	AH = E3h subfn DAh
	DS:SI -> request buffer (see #02041)
	ES:DI -> reply buffer (see #02042)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h,AH=E3h/SF=E5h
SeeAlso: AX=F217h/SF=DAh

Format of NetWare "Get Connection's Task Information" request buffer:
Offset	Size	Description	(Table 02041)
 00h	WORD	0003h (length of following data)
 02h	BYTE	DAh (subfunction "Get Connection's Task Information")
 03h	WORD	(big-endian) logical connection number
SeeAlso: #02042,#02233 at AX=F217h/SF=DAh

Format of NetWare "Get Connection's Task Information" reply buffer:
Offset	Size	Description	(Table 02042)
 00h	WORD	(call) size of following results record (max 1FEh)
 02h	BYTE	lock status of connection (see #02043)
 03h	var	Lock Status Information (see #02044)
 N	BYTE	number of records following
 N+1	Active Task Information Records [array]
	Offset	Size	Description
	 00h	BYTE	task number (01h-FFh)
	 01h	BYTE	task state
			01h in TTS explicit transaction
			02h in TTS implicit transaction
			04h shared fileset lock active
SeeAlso: #02041,#02233 at AX=F217h/SF=DAh

(Table 02043)
Values for lock status of connection:
 00h	no locks
 01h	waiting on physical record lock
 02h	waiting on file lock
 03h	waiting on logical record lock
 04h	waiting on semaphore
SeeAlso: #02042,#02044

Format of Lock Status Information:
Offset	Size	Description	(Table 02044)
---lock status 00h---
 no fields
---lock status 01h---
 00h	BYTE	number of waiting task
 01h	DWORD	start address
 05h	DWORD	end address
 09h	BYTE	volume number
 0Ah	WORD	directory entry number
 0Ch 14 BYTEs	ASCIZ filename
---lock status 02h---
 00h	BYTE	number of waiting task
 01h	BYTE	volume number
 02h	WORD	directory entry number
 04h 14 BYTEs	ASCIZ filename
---lock status 03h---
 00h	BYTE	number of waiting task
 01h	BYTE	length of record name
 02h  N BYTEs	ASCIZ record name
---lock status 04h---
 00h	BYTE	number of waiting task
 01h	BYTE	length of semaphore's name
 02h  N BYTEs	ASCIZ semaphore name
SeeAlso: #02042,#02043

Top
21E3--SFDB - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES (OLD)
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S OPEN FILES (OLD)
	AH = E3h subfn DBh
	DS:SI -> request buffer (see #02045)
	ES:DI -> reply buffer (see #02046)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E2h/SF=1Ah,AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DCh,AH=E3h/SF=DFh
SeeAlso: AH=E3h/SF=E1h,AX=F217h/SF=DBh

Format of NetWare "Get Connection's Open Files (old)" request buffer:
Offset	Size	Description	(Table 02045)
 00h	WORD	0005h (length of following data)
 02h	BYTE	DBh (subfunction "Get Connection's Open Files")
 03h	WORD	(big-endian) logical connection number
 05h	WORD	(big-endian) last record seen (0000h on first call)
SeeAlso: #02046,#02234 at AX=F217h/SF=DBh

Format of NetWare "Get Connection's Open Files (old)" reply buffer:
Offset	Size	Description	(Table 02046)
 00h	WORD	(call) size of following results record (max 1FEh)
 02h	WORD	next request record (place in "last record" field on next call)
		0000h if no more records
 04h	BYTE	number of records following
 05h	var	array of File Information Records (see #02047)
SeeAlso: #02045,#02234 at AX=F217h/SF=DBh

Format of NetWare File Information Record:
Offset	Size	Description	(Table 02047)
 00h	BYTE	task number
 01h	BYTE	lock flags (see #02048)
 02h	BYTE	access flags (see #02049)
 03h	BYTE	lock type
		00h no lock
		FEh file lock
		FFh locked by Begin Share File Set
 04h	BYTE	volume number (00h-1Fh)
 05h	WORD	(big-endian) directory entry number
 07h 14 BYTEs	ASCIZ filename
SeeAlso: #02046

Bitfields for lock flags:
Bit(s)	Description	(Table 02048)
 0	file is locked
 1	file opened Shareable
 2	logged
 3	file opened Normal
 6	TTS holding lock
 7	Transaction Flag set on file
SeeAlso: #02047,#02049

Bitfields for access flags:
Bit(s)	Description	(Table 02049)
 0	file open for reading by calling station
 1	file open for writing by calling station
 2	deny reads by other stations
 3	deny writes by other stations
 4	file detached
 5	TTS Holding Detach
 6	TTS Holding Open
SeeAlso: #02047,#02048

Top
21E3--SFDC - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTIONS USING A FILE
	AH = E3h subfn DCh
	DS:SI -> request buffer (see #02050)
	ES:DI -> reply buffer (see #02051)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E1h
SeeAlso: AX=F217h/SF=DCh

Format of NetWare "Get Connections Using a File" request buffer:
Offset	Size	Description	(Table 02050)
 00h	WORD	length of following data (max 104h)
 02h	BYTE	DCh (subfunction "Get Connections Using a File")
 03h	WORD	(big-endian) last record (0000h on first call)
 05h	BYTE	directory handle
 06h	BYTE	length of file path
 07h  N BYTEs	ASCIZ file path
SeeAlso: #02051,#02235 at AX=F217h/SF=DCh

Format of NetWare "Get Connections Using a File" reply buffer:
Offset	Size	Description	(Table 02051)
 00h	WORD	(call) size of following results record (max 1FEh)
 02h	WORD	(big-endian) count of tasks which have opened or logged file
 04h	WORD	(big-endian) count of tasks which have opened file
 06h	WORD	(big-endian) count of opens for reading
 08h	WORD	(big-endian) count of opens for writing
 0Ah	WORD	(big-endian) deny read count
 0Ch	WORD	(big-endian) deny write count
 0Eh	WORD	next request record (place in "last record" field on next call)
		0000h if no more records
 10h	BYTE	locked flag
		00h not locked exclusively
		else locked exclusively
 11h	BYTE	number of records following
 12h	var	array of File Usage Information Records (see #02052)
SeeAlso: #02050,#02235 at AX=F217h/SF=DCh

Format of NetWare File Usage Information Record:
Offset	Size	Description	(Table 02052)
 00h	WORD	(big-endian) logical connection number
 02h	BYTE	task number
 03h	BYTE	lock flags (see #02048)
 04h	BYTE	access flags (see #02049)
 05h	BYTE	lock type
		00h no lock
		FEh file lock
		FFh locked by Begin Share File Set

Top
21E3--SFDD - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY CONN&FILE
	AH = E3h subfn DDh
	DS:SI -> request buffer (see #02054)
	ES:DI -> reply buffer (see #02055)
Return: AL = status (00h,C6h,FFh) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DEh,AH=E3h/SF=DFh,AX=F217h/SF=DDh

(Table 02053)
Values for NetWare function status:
 00h	successful
 C6h	no console rights
 FFh	file not open
SeeAlso: #02025,#02094

Format of NetWare "Get Phys Record Locks by Conn and File" request buffer:
Offset	Size	Description	(Table 02054)
 00h	WORD	0016h (length of following data)
 02h	BYTE	DDh (subfunction "Get Physical Record Locks by Connection and
		  File")
 03h	WORD	(big-endian) logical connection number
 05h	WORD	(big-endian) last record seen (0000h on first call)
 07h	BYTE	volume number (00h-1Fh)
 08h	WORD	(big-endian) directory handle
 0Ah 14 BYTEs	ASCIZ filename
SeeAlso: #02055,#02236 at AX=F217h/SF=DDh

Format of NetWare "Get Phys Record Locks by Conn and File" reply buffer:
Offset	Size	Description	(Table 02055)
 00h	WORD	(call) size of following results record (max 1FEh)
 02h	WORD	next request record (place in "last record" on next call)
		0000h if no more records
 04h	BYTE	number of physical record locks
 05h	BYTE	number of records following
 06h	var	array of Physical Record Lock Info records (see #02056)
SeeAlso: #02054,#02236 at AX=F217h/SF=DDh

Format of NetWare Physical Record Lock Info:
Offset	Size	Description	(Table 02056)
 00h	BYTE	task number
 01h	BYTE	lock status (see #02057)
 02h	DWORD	(big-endian) starting offset of record in file
 06h	DWORD	(big-endian) ending offset of record in file
SeeAlso: #02055

Bitfields for lock status:
Bit(s)	Description	(Table 02057)
 0	exclusive lock
 1	shareable lock
 2	logged
 6	lock held by TTS
SeeAlso: #02056

Top
21E3--SFDE - INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
INT 21 - Novell NetWare - FILE SERVER - GET PHYSICAL RECORD LOCKS BY FILE
	AH = E3h subfn DEh
	DS:SI -> request buffer (see #02058)
	ES:DI -> reply buffer (see #02059)
Return: AL = status (00h,C6h,FFh) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh,AX=F217h/SF=DEh

Format of NetWare "Get Physical Record Locks by File" request buffer:
Offset	Size	Description	(Table 02058)
 00h	WORD	length of following data (max 104h)
 02h	BYTE	DEh (subfunction "Get Physical Record Locks by File")
 03h	WORD	(big-endian) last record seen (0000h on first call)
 05h	BYTE	directory handle
 06h	BYTE	length of filename
 07h  N BYTEs	ASCIZ filename
SeeAlso: #02059,#02237 at AX=F217h/SF=DEh

Format of NetWare "Get Physical Record Locks by File" reply buffer:
Offset	Size	Description	(Table 02059)
 00h	WORD	(call) size of following results record (max 1FEh)
 02h	WORD	next request record (place in "last record" on next call)
		0000h if no more records
 04h	BYTE	number of physical record locks
 05h	BYTE	number of records following
 06h	var	array of Physical Record Lock Info records (see #02060)
SeeAlso: #02058,#02237 at AX=F217h/SF=DEh

Format of NetWare Physical Record Lock Info:
Offset	Size	Description	(Table 02060)
 00h	WORD	(big-endian) number of tasks logging record
 02h	WORD	(big-endian) number of tasks with shareable lock
 04h	DWORD	(big-endian) starting offset of record in file
 08h	DWORD	(big-endian) ending offset of record in file
 0Ch	WORD	(big-endian) logical connection number
 0Eh	BYTE	task number
 0Fh	BYTE	lock type
		00h none
		FEh file lock
		FFh Begin Share File Set lock
SeeAlso: #02059

Top
21E3--SFDF - INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORDS BY CONNECTION
	AH = E3h subfn DFh
	DS:SI -> request buffer (see #02061)
	ES:DI -> reply buffer (see #02062)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=E0h,AH=E3h/SF=E2h
SeeAlso: AX=F217h/SF=DFh

Format of NetWare "Get Logical Records by Connection" request buffer:
Offset	Size	Description	(Table 02061)
 00h	WORD	0005h (length of following data)
 02h	BYTE	DFh (subfunction "Get Logical Records By Connection")
 03h	WORD	(big-endian) logical connection number
 05h	WORD	(big-endian) last record seen (0000h on first call)
SeeAlso: #02062,#02238 at AX=F217h/SF=DFh

Format of NetWare "Get Logical Records by Connection" reply buffer:
Offset	Size	Description	(Table 02062)
 00h	WORD	(call) size of following results record (max 1FEh)
 02h	WORD	next request record (place in "last record" field on next call)
		0000h if no more locked records
 04h	BYTE	number of records following
 05h	var	array of Logical Lock Information Records (see #02063)
SeeAlso: #02061,#02238 at AX=F217h/SF=DFh

Format of NetWare Logical Lock Information Record:
Offset	Size	Description	(Table 02063)
 00h	BYTE	task number
 01h	BYTE	lock status (see #02057)
 02h	BYTE	length of logical lock's name
 03h  N BYTEs	logical lock's name
SeeAlso: #02062

Top
21E3--SFE0 - INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
INT 21 - Novell NetWare - FILE SERVER - GET LOGICAL RECORD INFORMATION
	AH = E3h subfn E0h
	DS:SI -> request buffer (see #02064)
	ES:DI -> reply buffer (see #02065)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DDh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
SeeAlso: AX=F217h/SF=E0h

Format of NetWare "Get Logical Record Information" request buffer:
Offset	Size	Description	(Table 02064)
 00h	WORD	length of following data (max 67h)
 02h	BYTE	E0h (subfunction "Get Logical Record Information")
 03h	WORD	(big-endian) last record seen (0000h on first call)
 05h	BYTE	length of logical record's name
 06h  N BYTEs	logical record's name
SeeAlso: #02065,#02239 at AH=E3h/SF=E0h

Format of NetWare "Get Logical Record Information" reply buffer:
Offset	Size	Description	(Table 02065)
 00h	WORD	(call) size of following results record (max 200h)
 02h	WORD	(big-endian) number of logical connections logging the record
 04h	WORD	(big-endian) number of logical connections with shareable lock
 06h	WORD	(big-endian) next request record (place in "last record" field
		  on next call)
 08h	BYTE	locked exclusively if nonzero
 09h	BYTE	number of records following
 0Ah	var	array of Task Information Records (see #02066)
SeeAlso: #02064,#02239 at AH=E3h/SF=E0h

Format of NetWare Task Information Record:
Offset	Size	Description	(Table 02066)
 00h	WORD	(big-endian) logical connection number
 02h	BYTE	task number
 03h	BYTE	lock status (see #02057)
SeeAlso: #02065

Top
21E3--SFE1 - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S SEMAPHORES
	AH = E3h subfn E1h
	DS:SI -> request buffer (see #02067)
	ES:DI -> reply buffer (see #02068)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DBh,AH=E3h/SF=DFh,AH=E3h/SF=E2h
SeeAlso: AX=F217h/SF=E1h

Format of NetWare "Get Connection's Semaphores" request buffer:
Offset	Size	Description	(Table 02067)
 00h	WORD	0005h (length of following data)
 02h	BYTE	E1h (subfunction "Get Connection's Semaphores")
 03h	WORD	(big-endian) logical connection number
 05h	WORD	(big-endian) last record seen (0000h on first call)
SeeAlso: #02068,#02240 at AX=F217h/SF=E1h

Format of NetWare "Get Connection's Semaphores" reply buffer:
Offset	Size	Description	(Table 02068)
 00h	WORD	(call) size of following results record (max 1FEh)
 02h	WORD	next request record (place in "last record" field on next call)
 04h	BYTE	number of records following
 05h	var	array of Semaphore Information Records (see #02069)
SeeAlso: #02067,#02240 at AX=F217h/SF=E1h

Format of NetWare Semaphore Information Record:
Offset	Size	Description	(Table 02069)
 00h	WORD	(big-endian) open count
 02h	BYTE	semaphore value (-128 to 127)
 03h	BYTE	task number
 04h	BYTE	lock type
 05h	BYTE	length of semaphore's name
 06h  N BYTEs	semaphore's name
     14 BYTEs	filename
SeeAlso: #02068

Top
21E3--SFE2 - INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
INT 21 - Novell NetWare - FILE SERVER - GET SEMAPHORE INFORMATION
	AH = E3h subfn E2h
	DS:SI -> request buffer (see #02070)
	ES:DI -> reply buffer (see #02071)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E1h,AX=F217h/SF=E2h

Format of NetWare "Get Semaphore Information" request buffer:
Offset	Size	Description	(Table 02070)
 00h	WORD	length of following data (max 83h)
 02h	BYTE	E2h (subfunction "Get LAN Driver's Configuration Information")
 03h	WORD	(big-endian) last record seen (0000h on first call)
 05h	BYTE	length of semaphore's name (01h-7Fh)
 06h  N BYTEs	semaphore's name
SeeAlso: #02071,#02241 at AX=F217h/SF=E2h

Format of NetWare "Get Semaphore Information" reply buffer:
Offset	Size	Description	(Table 02071)
 00h	WORD	(call) size of following results buffer (max 1FEh)
 02h	WORD	next request record (place in "last record" on next call)
		0000h if no more
 04h	WORD	(big-endian) number of logical connections opening semaphore
 06h	BYTE	semaphore value (-127 to 128)
 07h	BYTE	number of records following
 08h	var	array of Semaphore Information records (see #02072)
SeeAlso: #02071,#02241 at AX=F217h/SF=E2h

Format of NetWare Semaphore Information:
Offset	Size	Description	(Table 02072)
 00h	WORD	(big-endian) logical connection number
 02h	BYTE	task number
SeeAlso: #02071

Top
21E3--SFE3 - INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
INT 21 - Novell NetWare - FILE SERVER - GET LAN DRIVER'S CONFIGURATION INFO
	AH = E3h subfn E3h
	DS:SI -> request buffer (see #02073)
	ES:DI -> reply buffer (see #02074)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	the calling workstation must have console operator privileges
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E7h,AH=E3h/SF=E8h,AX=F217h/SF=E3h

Format of NetWare "Get LAN Driver's Configuration Info" request buffer:
Offset	Size	Description	(Table 02073)
 00h	WORD	0002h (length of following data)
 02h	BYTE	E3h (subfunction "Get LAN Driver's Configuration Information")
 03h	BYTE	LAN board (00h-03h)
SeeAlso: #02074,#02242 at AX=F217h/SF=E3h

Format of NetWare "Get LAN Driver's Configuration Info" reply buffer:
Offset	Size	Description	(Table 02074)
 00h	WORD	(call) 00ACh (size of following results buffer)
 02h  4 BYTEs	network number
 06h  6 BYTEs	node number
 0Ch	BYTE	LAN driver installed (00h no--remaining fields invalid)
 0Dh	BYTE	option number selected at configuration time
 0Eh 160 BYTEs	configuration text
		ASCIZ hardware type
		ASCIZ hardware settings
SeeAlso: #02073,#02242 at AX=F217h/SF=E3h

Top
21E3--SFE5 - INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
INT 21 - Novell NetWare - FILE SERVER - GET CONNECTION'S USAGE STATISTICS
	AH = E3h subfn E5h
	DS:SI -> request buffer (see #02075)
	ES:DI -> reply buffer (see #02076)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	one must have console operator privileges to get statistics for logical
	  connections other than one's own
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=DAh,AH=E3h/SF=DBh,AH=E3h/SF=E1h
SeeAlso: AX=F217h/SF=E5h

Format of NetWare "Get Connection's Usage Statistics" request buffer:
Offset	Size	Description	(Table 02075)
 00h	WORD	0003h (length of following data)
 02h	BYTE	E5h (subfunction "Get Connection's Usage Statistics")
 03h	WORD	(big-endian) logical connection number
SeeAlso: #02076,#02243 at AX=F217h/SF=E5h

Format of NetWare "Get Connection's Usage Statistics" reply buffer:
Offset	Size	Description	(Table 02076)
 00h	WORD	(call) 0014h (size of following results record)
 02h	DWORD	(big-endian) clock ticks since server started
 06h  6 BYTEs	bytes read
 0Ch  6 BYTEs	bytes written
 12h	DWORD	(big-endian) total request packets
SeeAlso: #02075,#02243 at AX=F217h/SF=E5h

Top
21E3--SFE6 - INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
INT 21 - Novell NetWare - FILE SERVER - GET BINDERY OBJECT DISK SPACE LEFT
	AH = E3h subfn E6h
	DS:SI -> request buffer (see #02077)
	ES:DI -> reply buffer (see #02078)
Return: AL = status (00h,C6h) (see #02053)
Notes:	this function is supported by Advanced NetWare 2.1+
	one must have console operator privileges to get the free space for
	  other bindery objects
SeeAlso: AH=E3h/SF=C8h,AH=E3h/SF=E8h,AH=E3h/SF=E9h

Format of NetWare "Get Bindery Object Disk Space Left" request buffer:
Offset	Size	Description	(Table 02077)
 00h	WORD	0005h (length of following data)
 02h	BYTE	E6h (subfunction "Get Bindery Object Disk Space Left")
 03h	DWORD	(big-endian) object ID
SeeAlso: #02078,#02244 at AX=F217h/SF=E6h

Format of NetWare "Get Bindery Object Disk Space Left" reply buffer:
Offset	Size	Description	(Table 02078)
 00h	WORD	(call) 000Fh (size of following results buffer)
 02h	DWORD	(big-endian) clock ticks elapsed since server started
 06h	DWORD	(big-endian) object ID
 0Ah	DWORD	(big-endian) 4K disk blocks available to user
 0Eh	BYTE	restrictions (00h enforced, FFh not enforced)
SeeAlso: #02077,#02244 at AX=F217h/SF=E6h

Top
21E3--SFE7 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER LAN I/O STATISTICS
	AH = E3h subfn E7h
	DS:SI -> request buffer (see #02079)
	ES:DI -> reply buffer (see #02080)
Return: AL = status
	    00h successful
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=D3h,AH=E3h/SF=E8h
SeeAlso: AH=E7h"Novell",AX=F217h/SF=E7h

Format of NetWare "Get File Server LAN I/O Statistics" request buffer:
Offset	Size	Description	(Table 02079)
 00h	WORD	0001h (length of following data)
 02h	BYTE	E7h (subfunction "Get File Server LAN I/O Statistics")
SeeAlso: #02080,#02245 at AX=F217h/SF=E7h

Format of NetWare "Get File Server LAN I/O Statistics" reply buffer:
Offset	Size	Description	(Table 02080)
 00h	WORD	(call) 0042h (size of following results buffer)
 02h	DWORD	clock ticks since system started
 06h	WORD	total routing buffers
 08h	WORD	maximum routing buffers used
 0Ah	WORD	current routing buffers used
 0Ch	DWORD	total file service packets
 10h	WORD	number of file service packets buffered
 12h	WORD	number of invalid connection packets
 14h	WORD	packets with bad logical connection numbers
 16h	WORD	number of packets received during processing
 18h	WORD	number of requests reprocessed
 1Ah	WORD	packets with bad sequence numbers
 1Ch	WORD	number of duplicate replies sent
 1Eh	WORD	number of acknowledgements sent
 20h	WORD	number of packets with bad request types
 22h	WORD	requests to attach to ws for which a request is being processed
 24h	WORD	requests to attach from ws which is already attaching
 26h	WORD	number of forged detach requests
 28h	WORD	detach requests with bad connection number
 2Ah	WORD	requests to detach from ws for which requests pending
 2Ch	WORD	number of cancelled replies
 2Eh	WORD	packets discarded due to excessive hop count
 30h	WORD	packets discarded due to unknown net
 32h	WORD	incoming packets discarded for lack of DGroup buffer
 34h	WORD	outgoing packets discarded due to lack of buffer
 36h	WORD	received packets destined for B,C, or D side drivers
 38h	DWORD	number of NetBIOS packets propagated through net
 3Ch	DWORD	total number of non-file-service packets
 40h	DWORD	total number of routed packets
Note:	all fields except the first are big-endian
SeeAlso: #02080,#02245 at AX=F217h/SF=E7h

Top
21E3--SFE8 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER MISC INFORMATION
	AH = E3h subfn E8h
	DS:SI -> request buffer (see #02081)
	ES:DI -> reply buffer (see #02082)
Return: AL = status (00h,C6h) (see #02053)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=E3h/SF=0Eh,AH=E3h/SF=11h,AH=E3h/SF=CDh,AH=E3h/SF=E7h
SeeAlso: AX=F217h/SF=E8h

Format of NetWare "Get File Server Misc Information" request buffer:
Offset	Size	Description	(Table 02081)
 00h	WORD	0001h (length of following data)
 02h	BYTE	E8h (subfunction "Get File Server Misc Information")
SeeAlso: #02082,#02246 at AX=F217h/SF=E8h

Format of NetWare "Get File Server Misc Information" reply buffer:
Offset	Size	Description	(Table 02082)
 00h	WORD	(call) size of following results buffer (max 0048h)
 02h	DWORD	(big-endian) clock ticks since system started
 06h	BYTE	CPU type
		00h Motorola 68000
		01h Intel 8086, 8088, or V20
		02h Intel 80286+
 07h	BYTE	reserved
 08h	BYTE	number of service processes in server
 09h	BYTE	server utilization in percent
 0Ah	WORD	(big-endian) maximum bindery objects set by configuration
		0000h = unlimited
 0Ch	WORD	(big-endian) maximum number of bindery objects used
 0Eh	WORD	(big-endian) current number of bindery objects in use
 10h	WORD	(big-endian) total server memory in KB
 12h	WORD	(big-endian) wasted server memory in KB
		normally 0000h
 14h	WORD	number of records following (01h-03h)
 16h	var	array of Dynamic Memory Information records (see #02083)
SeeAlso: #02081,#02246 at AX=F217h/SF=E8h

Format of NetWare Dynamic Memory Information:
Offset	Size	Description	(Table 02083)
 00h	DWORD	(big-endian) total dynamic space
 04h	DWORD	(big-endian) maximum dynamic space used
 08h	DWORD	(big-endian) current dynamic space usage

Top
21E3--SFE9 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET VOLUME INFORMATION
	AH = E3h subfn E9h
	DS:SI -> request buffer (see #02084)
	ES:DI -> reply buffer (see #02085)
Return: AL = status
	    00h successful
Notes:	this function is supported by Advanced NetWare 2.1+
SeeAlso: AH=DAh,AH=E2h/SF=15h,AX=F217h/SF=E9h

Format of NetWare "Get Volume Information" request buffer:
Offset	Size	Description	(Table 02084)
 00h	WORD	0002h (length of following data)
 02h	BYTE	E9h (subfunction "Get Volume Information")
 03h	BYTE	directory handle
SeeAlso: #02085,#02247 at AX=F217h/SF=E9h

Format of NetWare "Get Volume Information" reply buffer:
Offset	Size	Description	(Table 02085)
 00h	WORD	(call) 0028h (length of following results buffer)
 02h	DWORD	(big-endian) elapsed system time
 06h	BYTE	volume number
 07h	BYTE	logical drive number
 08h	WORD	(big-endian) sectors per block
 0Ah	WORD	(big-endian) starting block
 0Ch	WORD	(big-endian) total blocks on volume
 0Eh	WORD	(big-endian) blocks available on volume
 10h	WORD	(big-endian) total directory slots
 12h	WORD	(big-endian) directory slots available
 14h	WORD	(big-endian) maximum directory entries actually used
 16h	BYTE	flag: volume hashed if nonzero
 17h	BYTE	flag: volume cached if nonzero
 18h	BYTE	flag: volume removable if nonzero
 19h	BYTE	flag: volume mounted if nonzero
 1Ah 16 BYTEs	NUL-padded volume name
SeeAlso: #02084,#02247 at AX=F217h/SF=E9h

Top
21E4 - INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
INT 21 O - Novell NetWare - SET FILE ATTRIBUTES (FCB)
	AH = E4h
	CL = file attributes (see #02086)
	DX:DX -> FCB (see #01345 at AH=0Fh)
Return: AL = error code
Note:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
SeeAlso: AX=4301h

Bitfields for NetWare file attributes:
Bit(s)	Description	(Table 02086)
 0	read only
 1	hidden
 2	system
 7	shareable

Top
21E4 - INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
INT 21 - VIRUS - "Anarkia" - INSTALLATION CHECK
	AH = E4h
Return: AH = 04h if resident
SeeAlso: AH=E1h"VIRUS",AH=E7h"VIRUS"

Top
21E400 - INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
	AX = E400h
Return: AL = program status
	    00h if DoubleDOS not present
	    01h if running in visible DoubleDOS partition
	    02h if running in the invisible DoubleDOS partition
SeeAlso: AH=E5h"DoubleDOS",AX=F400h

Top
21E400 - INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
INT 21 - OS/286, OS/386 - CHAIN TO REAL-MODE HANDLER
	AX = E400h
	???
Return: ???
Note:	protected mode only???

Top
21E402 - INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
INT 21 - OS/286, OS/386 - SET PROTECTED-MODE TASK GATE
	AX = E402h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=E403h

Top
21E403 - INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
INT 21 - OS/286, OS/386 - REMOVE PROTECTED-MODE TASK GATE
	AX = E403h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=E402h

Top
21E5 - INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
INT 21 O - Novell NetWare - UPDATE FILE SIZE (FCB)
	AH = E5h
	DS:DX -> FCB (see #01345 at AH=0Fh)
Return: AL = (unreliable) return code
Notes:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation
	on success, NetWare sets AL to zero; on errors it restores AL

Top
21E5 - INT 21 - DoubleDOS - OTHER PROGRAM STATUS
INT 21 - DoubleDOS - OTHER PROGRAM STATUS
	AH = E5h
Return: AL = status
	    00h no program in other partition
	    01h program in other partition is running
	    02h program in other partition is suspended
SeeAlso: AX=E400h"DoubleDOS",AH=F5h"DoubleDOS"

Top
21E500 - INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
INT 21 - OS/286, OS/386 - HEAP MANAGEMENT STRATEGY
	AX = E500h
	???
Return: ???
SeeAlso: AX=E501h

Top
21E501 - INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
INT 21 - OS/286, OS/386 - FORCE HEAP COMPACTION
	AX = E501h
	???
Return: ???
SeeAlso: AX=E500h

Top
21E6 - INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
INT 21 O - Novell NetWare - COPY FILE TO FILE (FCB)
	AH = E6h
	CX:DX = number of bytes to copy
	DS:SI -> opened source FCB
	ES:DI -> opened destination FCB
Return: AL = error code
	CX = ???
	DX = ???
Note:	this function was added in NetWare 4.0, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation

Top
21E6 - INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
INT 21 P - OS/286, OS/386 - ISSUE REAL PROCEDURE SIGNAL FROM PROTECTED MODE
	AH = E6h
	???
Return: ???
SeeAlso: AH=E2h"OS/286"

Top
21E7 - INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
	AH = E7h
	DS:DX -> date/time buffer (see #02087)
Return: AL = error code
	    00h successful
	    FFh unsuccessful
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+,
	  Alloy NTNX, and Banyan VINES
SeeAlso: AH=2Ah,AH=2Ch,AX=5FC0h,AH=E3h/SF=CAh,AX=F214h

Format of NetWare date/time buffer:
Offset	Size	Description	(Table 02087)
 00h	BYTE	year (80-99 = 1980-1999, 0-79 = 2000-2079)
 01h	BYTE	month (1=Jan)
 02h	BYTE	day
 03h	BYTE	hours
 04h	BYTE	minutes
 05h	BYTE	seconds
 06h	BYTE	day of week (0 = Sunday) (Novell and NTNX only)
SeeAlso: #02106

Top
21E7 - INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
INT 21 - OS/286, OS/386 - CREATE CODE SEGMENT
	AH = E7h
	???
Return: ???
SeeAlso: AH=E8h"OS/286",AH=E9h"OS/286",AH=EAh"OS/286"

Top
21E7 - INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
INT 21 - VIRUS - "Spyer"/"Kiev" - INSTALLATION CHECK
	AH = E7h
Return: AH = 78h if resident
SeeAlso: AH=E4h"VIRUS",AX=EC59h

Top
21E8 - INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
INT 21 O - Novell NetWare, Alloy NTNX - SET FCB RE-OPEN MODE
	AH = E8h
	DL = mode
	    00h no automatic re-open
	    01h auto re-open
Return: AL = error code
Desc:	provided backward compatibility with a bug in CP/M and early DOS vers
Note:	this function was added in NetWare 4.6, but was removed some time prior
	  to Advanced NetWare 2.15, and is no longer listed in current Novell
	  documentation

Top
21E8 - INT 21 - OS/286, OS/386 - SEGMENT CREATION
INT 21 - OS/286, OS/386 - SEGMENT CREATION
	AH = E8h
	AL = type
	    00h data segment
	    01h data window/alias
	    02h real segment
	    03h real window/alias
		CX:DX = size in bytes
		SI:BX -> start of desired memory block
		Return:	AX = selector
	    06h shareable segment
	???
Return: ???
SeeAlso: AH=E7h"OS/286",AH=E9h"OS/286"

Top
21E8 - INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
	AH = E8h
	AL = program for which to set flags (00h this program, 01h other)
	DX = keyboard control flags (see #02088)
Return: DX = previous flags
Notes:	disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
	  disabling any of the other keystrokes disables them completely
	identical to AH=F8h
SeeAlso: AH=E1h"DoubleDOS",AH=E2h"DoubleDOS",AH=E3h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"

Bitfields for DoubleDOS keyboard control flags:
Bit(s)	Description	(Table 02088)
 0	menu
 1	exchange
 2	entire keyboard enable/disable
 3	Ctrl-C
 4	Ctrl-PrtSc
 5	Alt/Erase
 6	Ctrl-Break
 7	Ctrl-NumLock
 8	shift-PrtSc
 9-13	undefined
 14	cancel key (clear keyboard buffer)
 15	suspend key
Note:	setting a enables the corresponding key or operatin, clearing a
	  disables it

Top
21E9 - INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
INT 21 P - OS/286, OS/386 - CHANGE SEGMENTS
	AH = E9h
	AL = function
	    01h change code segment parameters
	    02h change data segment parameters
	    05h adjust segment limit
	    06h change segment base address
	???
Return: ???
SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=EAh"OS/286",AH=EDh"OS/286"
SeeAlso: INT 31/AX=0007h,INT 31/AX=0008h

Top
21E9 - INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
	AH = E9h
	AL = new priority (see #02089)
Return: AL = priority setting if AL=05h on entry
Note:	identical to AH=F9h
SeeAlso: AH=EAh"DoubleDOS",AH=EBh"DoubleDOS",AH=F9h"DoubleDOS"

(Table 02089)
Values for DoubleDOS timesharing priority:
 00h	visible program gets 70%, invisible gets 30% (default)
 01h	visible program gets 50%, invisible gets 50%
 02h	visible program gets 30%, invisible gets 70%
 03h	Top program gets 70%, bottom program gets 30%
 04h	Top program gets 30%, bottom program gets 70%
 05h	get current priority

Top
21E900 - INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
INT 21 - Novell NetWare - DIRECTORY SERVICES - GET DIRECTORY HANDLE
	AX = E900h
	DX = drive number to check (0 = A:, ..., 25 = Z:, 26 ... 31)
Return: AL = directory handle
	AH = flags (drive not mapped if none set)
	    bit 0: permanent handle
	    bit 1: temporary handle
	    bit 7: mapped to local drive
Note:	this function is supported by NetWare 4.0+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E2h/SF=00h,AH=E2h/SF=01h,AH=E2h/SF=0Ah

Top
21E900 - INT 21 - VIRUS - "Dark End" - INSTALLATION CHECK
INT 21 - VIRUS - "Dark End" - INSTALLATION CHECK
	AX = E900h
Return: AX = 1234h if resident
SeeAlso: AX=DEFEh"VIRUS",AX=EC27h"VIRUS"

Top
21E905 - INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
INT 21 - Novell NetWare shell 3.01 - MAP A FAKE ROOT DIRECTORY
	AX = E905h
	BL = drive number (0=default, 1=A:, ...)
	DS:DX -> ASCIZ path for fake root (may include server name or be empty)
Return: CF set on error
	    AL = error code (03h,0Fh,11h) (see #01680 at AH=59h/BX=0000h)
	CF clear if successful
Note:	if drive is not currently mapped, a drive mapping will be created
SeeAlso: AX=E906h

Top
21E906 - INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
INT 21 - Novell NetWare shell 3.01 - DELETE FAKE ROOT DIRECTORY
	AX = E906h
	BL = drive number (0=default, 1=A:, ...)
Return: AL = completion code
Note:	drive remains mapped
SeeAlso: AX=E905h

Top
21E907 - INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
INT 21 - Novell NetWare shell 3.01 - GET RELATIVE DRIVE DEPTH
	AX = E907h
	BL = drive number (0=default, 1=A:, ...)
Return: AL = number of directories below the fake root
	    FFh if no fake root assigned
SeeAlso: AX=E905h

Top
21E908BL00 - INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
INT 21 - Novell NetWare shell 3.01 - SET SHOW DOTS
	AX = E908h
	BL = 00h	don't return '.' or '..' during directory scans
	   = nonzero	directory scans will return '.' or '..' entries
Return: BL = previous show-dots setting

Top
21E909 - INT 21 - Novell NetWare - NetWare shell - CONVERT DOS FILE HANDLE TO NETWARE
INT 21 - Novell NetWare - NetWare shell - CONVERT DOS FILE HANDLE TO NETWARE
	AX = E909h
	BX = DOS file handle
Return: AX = 0000h if successful
	    BX:CX:DX = NetWare file handle
Notes:	this function is partially a reverse of "AttachHandle" (AH=B4h)
	many NetWare 3.x functions use a four-byte file handle, which appears
	  to be the high four bytes of the six-byte NetWare handle
SeeAlso: AH=B4h"NetWare"

Top
21EA - INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
INT 21 - Novell NetWare, Alloy NTNX - RETURN SHELL VERSION
	AH = EAh
	AL = return version environment string
	    00h		don't return string
	    nonzero	get environment string
		ES:DI -> 40-byte buffer for string
		Return: buffer filled with three null-terminated entries:
			major operating system
			version
			hardware type
Return: AH = operating system (00h = MS-DOS)
	AL = hardware type
	    00h IBM PC
	    01h Victor 9000
	BH = major shell version
	BL = minor shell version
	CH = (v3.01+) shell type
	    00h conventional memory
	    01h expanded memory
	    02h extended memory
	CL = shell revision number
Note:	this function is supported by NetWare 4.6 and Advanced NetWare 1.0+
SeeAlso: INT DF"Victor"

Top
21EA - INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
	AH = EAh
Return: task switching turned off
SeeAlso: AH=E9h"DoubleDOS",AH=EBh"DoubleDOS",AH=FAh"DoubleDOS"
SeeAlso: INT FA"DoubleDOS"

Top
21EA - INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
INT 21 - OS/286, OS/386 - ALLOCATE HUGE SEGMENT
	AH = EAh
	???
Return: ???
Note:	protected mode only???
SeeAlso: AH=E7h"OS/286",AH=E8h"OS/286",AH=E9h"OS/286"

Top
21EB - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - LOG FILE
	AH = EBh
	DS:DX -> ASCIZ filename
	if function C6h lock mode 01h:
	    AL = flags
		00h log file only
		01h lock as well as log file
		    BP = lock timeout in timer ticks (1/18 second)
			0000h = don't wait if file already locked
Return: AL = status (see #02090)
Desc:	add the location and size of the specified file to the log table and
	  optionally lock the file
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=BCh"NetWare",AH=CAh,AH=D0h,AH=ECh"NetWare",AH=EDh"NetWare"

(Table 02090)
Values for NetWare status:
 00h	successful
 96h	no dynamic memory for file
 FEh	timed out
 FFh	failed
SeeAlso: #02053

Top
21EB - INT 21 - DoubleDOS - TURN ON TASK SWITCHING
INT 21 - DoubleDOS - TURN ON TASK SWITCHING
	AH = EBh
Return: task switching turned on
SeeAlso: AH=E9h"DoubleDOS",AH=EAh"DoubleDOS",AH=FBh"DoubleDOS"
SeeAlso: INT FB"DoubleDOS"

Top
21EB00 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY LINEAR ADDRESS
	AX = EB00h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=EB02h,AX=EB04h,INT 31/AX=0506h

Top
21EB02 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 16-BIT SEGMENT:OFFSET
	AX = EB02h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=EB00h,AX=EB04h

Top
21EB03 - INT 21 - OS/386 VMM - FREE MAPPED PAGES
INT 21 - OS/386 VMM - FREE MAPPED PAGES
	AX = EB03h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=EB05h,INT 31/AX=0801h

Top
21EB04 - INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
INT 21 - OS/386 VMM - GET A PAGE TABLE ENTRY BY 32-BIT SEGMENT:OFFSET
	AX = EB04h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=EB00h,AX=EB02h

Top
21EB05 - INT 21 - OS/386 VMM - MAP PAGES
INT 21 - OS/386 VMM - MAP PAGES
	AX = EB05h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=EB03h,INT 31/AX=0800h

Top
21EB06 - INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
INT 21 - OS/386 VMM - LOCK PAGES IN MEMORY
	AX = EB06h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=EB07h,INT 31/AX=0600h

Top
21EB07 - INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
INT 21 - OS/386 VMM - UNLOCK MEMORY PAGES
	AX = EB07h
	???
Return: ???
Note:	protected mode only???
SeeAlso: AX=EB06h,INT 31/AX=0601h

Top
21EC - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - RELEASE FILE
	AH = ECh
	DS:DX -> ASCIZ filename
Return: AL = status
	    00h successful
	    FFh file not found
Desc:	unlock the specified file but retain it in the log table
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=CDh,AH=EBh"NetWare",AH=EDh"NetWare"

Top
21EC - INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
	AH = ECh
Return: ES = segment of virtual screen
Desc:	determine the address of the virtual screen to which the program
	  should write instead of the actual video memory, so that the
	  multitasked programs do not interfere with each other's output
Notes:	screen address can change if task-switching is on!
	identical to AH=FCh
SeeAlso: INT 10/AH=FEh,AH=FCh"DoubleDOS",INT FC"DoubleDOS"

Top
21EC - INT 21 - OS/286, OS/386 - BLOCK TRANSFER
INT 21 - OS/286, OS/386 - BLOCK TRANSFER
	AH = ECh
	???
Return: ???

Top
21EC27 - INT 21 - VIRUS - "Halloween.1839" - INSTALLATION CHECK
INT 21 - VIRUS - "Halloween.1839" - INSTALLATION CHECK
	AX = EC27h
Return: AX = 4A52h ("JR") if resident
SeeAlso: AH=E7h"VIRUS",AX=E900h"VIRUS",AX=EC59h"VIRUS"

Top
21EC59 - INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
INT 21 - VIRUS - "Terror" - INSTALLATION CHECK
	AX = EC59h
Return: BP = EC59h if resident
SeeAlso: AX=EC27h"VIRUS",AH=EEh"VIRUS"

Top
21ED - INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
INT 21 - Novell NetWare - SYNCHRONIZATION SERVICES - CLEAR FILE
	AH = EDh
	DS:DX -> ASCIZ filename
Return: AL = status
	    00h successful
	    FFh no files found
Desc:	unlock the file and remove it from the log table
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=CBh"NetWare",AH=CEh,AH=CFh,AH=EBh"NetWare",AH=ECh"NetWare"

Top
21ED - INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
INT 21 - OS/286, OS/386 - GET SEGMENT OR WINDOW DESCRIPTOR
	AH = EDh
	???
Return: ???
Note:	protected mode only???
SeeAlso: AH=E9h"OS/286"

Top
21EE - INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
INT 21 - Novell NetWare - CONNECTION SERVICES - GET PHYSICAL STATION ADDRESS
	AH = EEh
Return: CX:BX:AX = six-byte physical address
Note:	this function is supported by NetWare 4.6+, Advanced NetWare 1.0+, and
	  Alloy NTNX
SeeAlso: AH=E3h/SF=13h

Top
21EE - INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
	AH = EEh
	AL = number of 55ms time slices to give away
Return: returns after giving away time slices
SeeAlso: AH=FEh"DoubleDOS",INT FE"DoubleDOS"

Top
21EE - INT 21 - VIRUS - "Jerusalem-G", "Pregnant", "Barrotes" - INSTALLATION CHECK
INT 21 - VIRUS - "Jerusalem-G", "Pregnant", "Barrotes" - INSTALLATION CHECK
	AH = EEh
Return: AX = 0300h if "Jerusalem-G" resident
	AL = 05h if "Pregnant" resident
	AL = FEh if "Barrotes" resident
SeeAlso: AH=DDh"VIRUS",AX=EC59h,AX=EEE7h"VIRUS"

Top
21EEE7 - INT 21 - VIRUS - "GingerBread" - INSTALLATION CHECK
INT 21 - VIRUS - "GingerBread" - INSTALLATION CHECK
	AX = EEE7h
Return: AX = D703h if installed
SeeAlso: AH=EEh"VIRUS",AH=EFh"VIRUS"

Top
21EF - INT 21 - VIRUS - "Mabuhay"/"June 12th" - INSTALLATION CHECK
INT 21 - VIRUS - "Mabuhay"/"June 12th" - INSTALLATION CHECK
	AH = EFh
Return: AX = 025Bh if resident
SeeAlso: AX=EC27h"VIRUS",AH=EEh"VIRUS",AH=F0h"VIRUS"

Top
21EF00 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
INT 21 - Novell NetWare - WORKSTATION - GET DRIVE HANDLE TABLE
	AX = EF00h
Return: ES:SI -> network shell's 32-byte drive handle table
	AX = 0000h
Notes:	this function is supported by Advanced NetWare 1.0+
	each byte in the drive handle table contains the directory handle for
	  the corresponding drive, or 00h if not mapped to a directory
SeeAlso: AX=EF01h,AX=EF02h,AX=EF03h,AX=EF04h

Top
21EF01 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
INT 21 - Novell NetWare - WORKSTATION - GET DRIVE FLAG TABLE
	AX = EF01h
Return: ES:SI -> network shell's 32-byte drive flag table (see #02091)
	AX = 0000h
Notes:	this function is supported by Advanced NetWare 1.0+
	each byte in the drive flag table corresponds to a drive
SeeAlso: AX=EF00h,AX=EF02h,AX=EF03h

(Table 02091)
Values in NetWare drive flag table:
 00h	drive is not mapped
 01h	permanent network drive
 02h	temporary network drive
 80h	mapped to local drive
 81h	local drive used as permanent network drive
 82h	local drive used as temporary network drive

Top
21EF02 - INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
INT 21 - Novell NetWare - WORKSTATION - GET DRIVE CONNECTION ID TABLE
	AX = EF02h
Return: ES:SI -> network shell's 32-byte drive conection ID table
	AX = 0000h
Notes:	this function is supported by Advanced NetWare 1.0+
	each byte in the connection ID table corresponds to a drive and
	  contains either the connection ID (1-8) of the server for that drive
	  or 00h if the drive is not mapped to a file server
SeeAlso: AX=EF01h,AX=EF03h,AX=F002h

Top
21EF03 - INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
INT 21 - Novell NetWare - WORKSTATION - GET CONNECTION ID TABLE
	AX = EF03h
Return: ES:SI -> network shell's connection ID table (see #02092)
	AX = 0000h
Note:	this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=EF00h,AX=EF02h,AX=EF04h,AX=F002h

Format of NetWare connection ID table [one entry of eight-element array]:
Offset	Size	Description	(Table 02092)
 00h	BYTE	in-use flag
		E0h AES temporary
		F8h IPX in critical section
		FAh processing
		FBh holding
		FCh AES waiting
		FDh waiting
		FEh receiving
		FFh sending
 01h	BYTE	order number assigned to server (1-8)
 02h	DWORD	(big-endian) file server's network address
 06h  6 BYTEs	(big-endian) file server's node address
 0Ch	WORD	(big-endian) socket number
 0Eh	WORD	(big-endian) base receive timeout in clock ticks
 10h  6 BYTEs	(big-endian) preferred routing node
 16h	BYTE	packet sequence number
 17h	BYTE	connection number (FFh = no connection)
 18h	BYTE	connection status (00h if active)
 19h	WORD	(big-endian) maximum receive timeout in clock ticks
 1Bh	WORD	connection number (if > FAh)
 1Dh	BYTE	major version of NetWare
 1Eh	BYTE	minor version of NetWare
 1Fh	BYTE	server flags
		bit 0: server is burst enabled

Top
21EF04 - INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
INT 21 - Novell NetWare - WORKSTATION - GET FILE SERVER NAME TABLE
	AX = EF04h
Return: ES:SI -> network shell's file server name table (see #02093)
	AX = 0000h
Note:	this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=EF03h

Format of file server name table:
Offset	Size	Description	(Table 02093)
 00h 48 BYTEs	ASCIZ server name for first entry in connection ID table
 30h 48 BYTEs	ASCIZ server name for second entry in connection ID table
	...
150h 48 BYTEs	ASCIZ server name for eighth entry in connection ID table

Top
21F0 - INT 21 - DoubleDOS - MENU CONTROL
INT 21 - DoubleDOS - MENU CONTROL
	AH = F0h
	AL = subfunction
	    01h exchange tasks
	    73h resume invisible job if suspended
	    74h kill other job
	    75h suspend invisible job
Note:	identical to AH=E0h
SeeAlso: AH=E0h"DoubleDOS"

Top
21F0 - INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
INT 21 - VIRUS - "Frere Jacques" - INSTALLATION CHECK
	AH = F0h
Return: AX = 0300h if resident
SeeAlso: AH=EEh"VIRUS",AX=F078h"VIRUS"

Top
21F000 - INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
INT 21 - Novell NetWare - WORKSTATION - SET PREFERRED CONNECTION ID
	AX = F000h
	DL = connection ID of prefered file server (1-8) or 00h for none
Notes:	this function is supported by Advanced NetWare 1.0+
	the preferred connection ID is set to 00h by the shell on EOJ
SeeAlso: AH=D6h,AX=EF03h,AX=F001h,AX=F002h,AX=F005h

Top
21F001 - INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
INT 21 - Novell NetWare - WORKSTATION - GET PREFERRED CONNECTION ID
	AX = F001h
Return: AL = connection ID of preferred file server (1-8), 00h if not set
Notes:	this function is supported by Advanced NetWare 1.0+
	the preferred connection ID is set to 00h by the shell on EOJ
SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h

Top
21F002 - INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
INT 21 - Novell NetWare - WORKSTATION - GET DEFAULT CONNECTION ID
	AX = F002h
Return: AL = connection ID of current default file server (1-8) (see AX=EF03h)
Note:	this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=EF03h,AX=F000h,AX=F004h

Top
21F003 - INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
INT 21 - Novell NetWare - PRINT SERVICES - GET LPT CAPTURE STATUS
	AX = F003h
Return: AH = status
	    00h not active
	    FFh active
		AL = connection ID (01h-08h)
Note:	this function is supported by Advanced NetWare 1.0+
SeeAlso: AX=B800h,AX=B804h,AH=DFh/DL=00h,AH=DFh/DL=04h

Top
21F004 - INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
INT 21 - Novell NetWare - WORKSTATION - SET PRIMARY CONNECTION ID
	AX = F004h
	DL = connection ID of primary file server (1-8) or 00h for none
Note:	this function is supported by Advanced NetWare 2.0+
SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F005h

Top
21F005 - INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
INT 21 - Novell NetWare - WORKSTATION - GET PRIMARY CONNECTION ID
	AX = F005h
Return: AL = connection ID of primary file server (1-8), 00h if not set
Notes:	this function is supported by Advanced NetWare 2.0+
	by default, the primary file server is the one from which the login
	  script executed; it is set to 00h if the workstation is not logged in
	  and when it detaches from its primary file server
SeeAlso: AH=D6h,AX=EF03h,AX=F000h,AX=F002h,AX=F004h

Top
21F078 - INT 21 - VIRUS - "Burgler/H" - INSTALLATION CHECK
INT 21 - VIRUS - "Burgler/H" - INSTALLATION CHECK
	AX = F078h
Return: AX = 0000h if installed
SeeAlso: AH=F0h"VIRUS",AH=F1h"VIRUS"

Top
21F1 - INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
INT 21 - Novell NetWare - CONNECTION SERVICES - FILE SERVER CONNECTION
	AH = F1h
	AL = subfunction
	    00h attach to file server
		DL = preferred file server (01h-08h)
	    01h detach from file server
		DL = connection ID
	    02h logout from file server
		DL = connection ID
Return: AL = status (see #02094)
Note:	these functions are supported by Advanced NetWare 1.0+
SeeAlso: AH=D7h"NetWare",AH=E3h/SF=14h

(Table 02094)
Values for NetWare function status:
 00h	successful
 F8h	already attached to server
 F9h	connection table full
 FAh	no more server slots
 FCh	unknown file server
 FEh	server bindery locked
 FFh	no response from server, or connection does not exist
SeeAlso: #02053,#02350

Top
21F1 - INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
INT 21 - DoubleDOS - CLEAR KEYBOARD BUFFER FOR CURRENT JOB
	AH = F1h
SeeAlso: AH=E1h"DoubleDOS",AH=F2h"DoubleDOS",AH=F3h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"

Top
21F1 - INT 21 - VIRUS - "F1-337" - ???
INT 21 - VIRUS - "F1-337" - ???
	AH = F1h
	???
Return: ???
SeeAlso: AH=F0h"VIRUS",AX=F1E9h

Top
21F1E9 - INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
INT 21 - VIRUS - "Tremor" - INSTALLATION CHECK
	AX = F1E9h
Return: AX = installation state
	    CADEh installed, and calling program is infected
	    F100h not installed (normal DOS return value)
	    else  installed, but calling program is not infected
SeeAlso: AH=F1h"VIRUS",AX=F2AAh

Top
Section -


Top
21F2 - INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
	AH = F2h
	AL = function (see #02095)
	    (subfunction stored in various places in the request packet,
	    depending on function number; see individual entries)
	CX = length of request buffer
	DX = length of reply buffer (0000h if no reply packet)
	DS:SI -> request buffer
	ES:DI -> reply buffer (ignored if DX=0000h)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled as appropriate for function
Note:	this is a multiplexor providing a "raw" interface to the underlying
	  NetWare Core Protocol.  Many functions which were accessed via a
	  separate AH function in older versions can also be accessed here,
	  but some NetWare 3.x calls appear to be available only here.
SeeAlso: AX=F244h,AX=F268h/SF=3Dh,#02875

(Table 02095)
Values for NetWare Core Protocol functions:
Fnc/Subfn	Description
01h	File Set Lock
02h	File Release Lock
03h	Log File (old)					(see AX=F203h)
04h	Lock File Set (old)				(see AX=F204h)
05h	Release File				(see AH=CCh,AH=ECh"NetWare")
06h	Release File Set				(see AH=CDh"NetWare")
07h	Clear File					(see AH=CEh,AX=F207h)
08h	Clear File Set					(see AX=F208h)
09h	Log Logical Record (old)			(see AH=D0h"NetWare")
0Ah	Lock Logical Record Set (old)			(see AX=F20Ah)
0Bh	Clear Logical Record				(see AX=F20Bh)
0Ch	Release Logical Record				(see AH=D2h"NetWare")
0Dh	Release Logical Record Set			(see AH=D3h"NetWare")
0Eh	Clear Logical Record Set			(see AX=F20Eh)
0Fh	Allocate Resource				(see AH=D8h"NetWare")
10h	Deallocate Resource				(see AH=D9h"NetWare")
11h/xxh	print spooling					(see AH=E0h"NetWare")
11h/06h Get Printer Status
11h/0Ah	Get Printer Queue
12h	Get Volume Info with Number			(see AH=DAh"NetWare")
13h	Get Station Number				(see AH=DCh"NetWare")
14h	Get File Server Date and Time (NW v2.2+)	(see AH=E7h"NetWare")
15h/01h Get Broadcast Message (old)			(see AX=F215h/SF=01h)
15h/02h Disable Broadcasts				(see AX=F215h/SF=02h)
15h/03h Enable Broadcasts				(see AX=F215h/SF=03h)
15h/08h Check Pipe Status		(see AH=E1h/SF=08h,AX=F215h/SF=08h)
15h/09h Broadcast to Console		(see AH=E1h/SF=09h,AX=F215h/SF=09h)
15h/0Bh Get Broadcast Message				(see AX=F215h/SF=0Bh)
16h/00h Set Directory Handle				(see AX=F216h/SF=00h)
16h/01h Get Directory Path				(see AX=F216h/SF=01h)
16h/02h Scan Directory Information			(see AX=F216h/SF=02h)
16h/03h	Get Effective Directory Rights (old)		(see AX=F216h/SF=03h)
16h/04h Modify Maximum Rights Mask			(see AX=F216h/SF=04h)
16h/05h Get Volume Number				(see AX=F216h/SF=05h)
16h/06h Get Volume Name					(see AX=F216h/SF=06h)
16h/0Ah Create Directory				(see AX=F216h/SF=0Ah)
16h/0Bh Delete Directory				(see AX=F216h/SF=0Bh)
16h/0Ch Scan Directory for Trustees			(see AX=F216h/SF=0Ch)
16h/0Dh Add Trustee to Directory			(see AX=F216h/SF=0Dh)
16h/0Eh Delete Trustee from Directory			(see AX=F216h/SF=0Eh)
16h/0Fh	Rename Directory				(see AX=F216h/SF=0Fh)
16h/10h Purge Erased Files (old)			(see AX=F216h/SF=10h)
16h/11h Recover Erased File (old)			(see AX=F216h/SF=11h)
16h/12h Alloc Permanent Directory Handle		(see AX=F216h/SF=12h)
16h/13h Alloc Temporary Directory Handle		(see AX=F216h/SF=13h)
16h/14h Deallocate Directory Handle			(see AX=F216h/SF=14h)
16h/15h Get Volume Info with Handle			(see AX=F216h/SF=15h)
16h/16h Alloc Special Temporary Directory Handle	(see AX=F216h/SF=16h)
16h/19h Set Directory Information			(see AX=F216h/SF=19h)
16h/1Ah Get Path Name of Volume-Directory Number Pair	(see AX=F216h/SF=1Ah)
16h/1Bh	Scan Salvageable Files (old)			(see AX=F216h/SF=1Bh)
16h/1Ch	Recover Salvageable File (old)			(see AX=F216h/SF=1Ch)
16h/1Dh	Purge Salvageable File (old)			(see AX=F216h/SF=1Dh)
16h/1Eh	Scan a Directory				(see AX=F216h/SF=1Eh)
16h/1Fh	Get Directory Entry				(see AX=F216h/SF=1Fh)
16h/20h	Scan Volume's User Disk Restrictions		(see AX=F216h/SF=20h)
16h/21h	Add User Disk Space Restriction			(see AX=F216h/SF=21h)
16h/22h	Remove User Disk Space Restrictions		(see AX=F216h/SF=22h)
16h/23h	Scan Directory Space Restrictions		(see AX=F216h/SF=23h)
16h/24h	Set Directory Disk Space Restriction		(see AX=F216h/SF=24h)
16h/25h	Set Directory File Information			(see AX=F216h/SF=25h)
16h/26h	Scan File or Directory For Extended Trustees	(see AX=F216h/SF=26h)
16h/27h	Add Extended Trustee to Directory or File	(see AX=F216h/SF=27h)
16h/28h	Scan Directory Disk Space			(see AX=F216h/SF=28h)
16h/29h	Get Object Disk Usage and Restrictions		(see AX=F216h/SF=29h)
16h/2Ah	Get Effective Rights				(see AX=F216h/SF=2Ah)
16h/2Bh	Remove Extended Trustee from Dir or File	(see AX=F216h/SF=2Bh)
16h/2Ch	Get Volume Usage				(see AX=F216h/SF=2Ch)
16h/2Dh	Get Directory Information			(see AX=F216h/SF=2Dh)
16h/2Eh	Rename or Move					(see AX=F216h/SF=2Eh)
16h/2Fh	Get Name Space Information			(see AX=F216h/SF=2Fh)
16h/30h	Get Name Space Directory Entry			(see AX=F216h/SF=30h)
16h/31h	Open Data Stream				(see AX=F216h/SF=31h)
16h/32h	Get Object Effective Rights			(see AX=F216h/SF=32h)
16h/33h	Get Extended Volume Info			(see AX=F216h/SF=33h)
17h/01h Change User Password (old)			(see AX=F217h/SF=01h)
17h/02h Get User Connection List (old)			(see AX=F217h/SF=02h)
17h/0Ch Verify Serialization				(see AX=F217h/SF=0Ch)
17h/0Eh Get Disk Utilization				(see AX=F217h/SF=0Eh)
17h/0Fh Scan File Information				(see AX=F217h/SF=0Fh)
17h/10h Set File Information				(see AX=F217h/SF=10h)
17h/11h Get File Server Information			(see AX=F217h/SF=11h)
17h/12h Get Network Serial Number			(see AX=F217h/SF=12h)
17h/13h Get Internet Address (old)			(see AX=F217h/SF=13h)
17h/14h Login Object					(see AX=F217h/SF=14h)
17h/15h Get Object Connection List (old)		(see AX=F217h/SF=15h)
17h/16h	Get Connection Information (old)		(see AX=F217h/SF=1Ch)
17h/17h	Get Encryption Key				(see AX=F217h/SF=17h)
17h/18h	Login Object Encrypted				(see AX=F217h/SF=18h)
17h/1Ah Get Internet Address				(see AX=F217h/SF=1Ah)
17h/1Bh Get Object Connection List			(see AX=F217h/SF=1Bh)
17h/1Ch	Get Connection Information			(see AX=F217h/SF=1Ch)
17h/1Fh	Get Connection List from Object			(see AX=F217h/SF=1Fh)
17h/32h Create Bindery Object				(see AX=F217h/SF=32h)
17h/33h Delete Bindery Object				(see AX=F217h/SF=33h)
17h/34h Rename Bindery Object				(see AX=F217h/SF=34h)
17h/35h Get Bindery Object ID				(see AX=F217h/SF=35h)
17h/36h Get Bindery Object Name				(see AX=F217h/SF=36h)
17h/37h Scan Bindery Object				(see AX=F217h/SF=37h)
17h/38h Change Bindery Object Security			(see AX=F217h/SF=38h)
17h/39h Create Property					(see AX=F217h/SF=39h)
17h/3Ah Delete Property					(see AX=F217h/SF=3Ah)
17h/3Bh Change Property Security			(see AX=F217h/SF=3Bh)
17h/3Ch Scan Property					(see AX=F217h/SF=3Ch)
17h/3Dh Read Property Value				(see AX=F217h/SF=3Dh)
17h/3Eh Write Property Value				(see AX=F217h/SF=3Eh)
17h/3Fh Verify Bindery Object Password			(see AX=F217h/SF=3Fh)
17h/40h Change Bindery Object Password			(see AX=F217h/SF=40h)
17h/41h Add Bindery Object to Set			(see AX=F217h/SF=41h)
17h/42h Delete Bindery Object from Set			(see AX=F217h/SF=42h)
17h/43h Is Bindery Object in Set			(see AX=F217h/SF=43h)
17h/44h Close Bindery					(see AX=F217h/SF=44h)
17h/45h Open Bindery					(see AX=F217h/SF=45h)
17h/46h Get Bindery Access Level			(see AX=F217h/SF=46h)
17h/47h Scan Bindery Object Trustee Paths		(see AX=F217h/SF=47h)
17h/48h	Get Bindery Object Access Level			(see AX=F217h/SF=48h)
17h/49h	Is Station a Manager?				(see AX=F217h/SF=49h)
17h/4Ah	Keyed Verify Bindery Object Password		(see AX=F217h/SF=4Ah)
17h/4Bh	Keyed Change Bindery Object Password		(see AX=F217h/SF=4Bh)
17h/4Ch	List Relations of an Object			(see AX=F217h/SF=4Ch)
17h/64h Create Queue					(see AX=F217h/SF=64h)
17h/65h Destroy Queue					(see AX=F217h/SF=65h)
17h/66h Read Queue Current Status (old)			(see AX=F217h/SF=66h)
17h/67h Set Queue Current Status (old)			(see AX=F217h/SF=67h)
17h/68h Create Queue Job and File (old)			(see AX=F217h/SF=68h)
17h/69h Close File and Start Queue Job (old)		(see AX=F217h/SF=69h)
17h/6Ah Remove Job From Queue (old)			(see AX=F217h/SF=6Ah)
17h/6Bh Get Queue Job List (old)			(see AX=F217h/SF=6Bh)
17h/6Ch Read Queue Job Entry (old)			(see AX=F217h/SF=6Ch)
17h/6Dh Change Queue Job Entry (old)			(see AX=F217h/SF=6Dh)
17h/6Eh Change Queue Job Position			(see AX=F217h/SF=6Eh)
17h/6Fh Attach Queue Server to Queue			(see AX=F217h/SF=6Fh)
17h/70h Detach Queue Server from Queue			(see AX=F217h/SF=70h)
17h/72h Finish Servicing Queue Job (old)		(see AX=F217h/SF=72h)
17h/74h Change to Client Rights (old)			(see AX=F217h/SF=74h)
17h/75h Restore Queue Server Rights			(see AX=F217h/SF=75h)
17h/76h Read Queue Server Current Status (old)		(see AX=F217h/SF=76h)
17h/77h Set Queue Server Current Status			(see AX=F217h/SF=77h)
17h/78h Get Queue Job File Size (old)			(see AX=F217h/SF=78h)
17h/79h Create Queue Job and File			(see AX=F217h/SF=79h)
17h/7Ah Read Queue Job Entry				(see AX=F217h/SF=7Ah)
17h/7Bh Change Queue Job Entry				(see AX=F217h/SF=7Bh)
17h/7Dh Read Queue Current Status			(see AX=F217h/SF=7Dh)
17h/7Eh Set Queue Current Status			(see AX=F217h/SF=7Eh)
17h/7Fh Close File and Start Queue Job			(see AX=F217h/SF=7Fh)
17h/80h Remove Job From Queue				(see AX=F217h/SF=80h)
17h/81h Get Queue Job List				(see AX=F217h/SF=81h)
17h/82h Change Job Priority				(see AX=F217h/SF=82h)
17h/83h Finish Servicing Queue Job			(see AX=F217h/SF=83h)
17h/85h Change to Client Rights				(see AX=F217h/SF=85h)
17h/86h Read Queue Server Current Status		(see AX=F217h/SF=86h)
17h/87h Get Queue Job File Size				(see AX=F217h/SF=87h)
17h/96h Get Account Status				(see AX=F217h/SF=96h)
17h/97h Submit Account Charge				(see AX=F217h/SF=97h)
17h/98h Submit Account Hold				(see AX=F217h/SF=98h)
17h/99h Submit Account Note				(see AX=F217h/SF=99h)
17h/C8h Check Console Privileges			(see AX=F217h/SF=C8h)
17h/C9h Get File Server Description Strings		(see AX=F217h/SF=C9h)
17h/CAh Set File Server Date and Time			(see AX=F217h/SF=CAh)
17h/CBh Disable File Server Login			(see AX=F217h/SF=CBh)
17h/CCh Enable File Server Login			(see AX=F217h/SF=CCh)
17h/CDh Get File Server Login Status			(see AX=F217h/SF=CDh)
17h/CEh Purge All Erased Files				(see AX=F217h/SF=CEh)
17h/CFh Disable Transaction Tracking			(see AX=F217h/SF=CFh)
17h/D0h Enable Transaction Tracking			(see AX=F217h/SF=D0h)
17h/D2h Clear Connection Number (Logout Station)	(see AX=F217h/SF=D2h)
17h/D3h Down File Server				(see AX=F217h/SF=D3h)
17h/D4h Get File System Statistics			(see AX=F217h/SF=D4h)
17h/D5h Get Transaction Tracking Statistics		(see AX=F217h/SF=D5h)
17h/D6h Get Disk Cache Statistics			(see AX=F217h/SF=D6h)
17h/D7h Get Drive Mapping Table				(see AX=F217h/SF=D7h)
17h/D8h Get Physical Disk Statistics			(see AX=F217h/SF=D8h)
17h/D9h Get Disk Channel Statistics			(see AX=F217h/SF=D9h)
17h/DAh Get Connection's Task Information (NW v2.2)	(see AX=F217h/SF=DAh)
17h/DBh Get Connection's Open Files (old) (NW v2.2)	(see AX=F217h/SF=DBh)
17h/DCh Get Connections Using a File (NW v2.2)		(see AX=F217h/SF=DCh)
17h/DDh Get Physical Record Locks by Connection and File (old)
17h/DEh	Get Physical Record Locks by File (old)		(see AX=F217h/SF=DEh)
17h/DFh Get Logical Records by Connection (old)		(see AX=F217h/SF=DFh)
17h/E0h Get Logical Record Information (old)		(see AX=F217h/SF=E0h)
17h/E1h Get Connection's Semaphores (old)		(see AX=F217h/SF=E1h)
17h/E2h Get Semaphore Information (old)			(see AX=F217h/SF=E2h)
17h/E3h Get LAN Driver's Configuration Information	(see AX=F217h/SF=E3h)
17h/E5h Get Connection's Usage Statistics (NW v2.2)	(see AX=F217h/SF=E5h)
17h/E6h Get Object's Remaining Disk Space		(see AX=F217h/SF=E6h)
17h/E7h Get File Server LAN I/O Statistics		(see AX=F217h/SF=E7h)
17h/E8h Get File Server Misc Information		(see AX=F217h/SF=E8h)
17h/E9h Get Volume Information				(see AX=F217h/SF=E9h)
17h/EAh Get Connection's Task Information (NW v3.11+)	(see AX=F217h/SF=EAh)
17h/EBh	Get Connection's Open Files (NW v3.11+)		(see AX=F217h/SF=EBh)
17h/ECh	Get Connections Using a File (NW v3.11+)	(see AX=F217h/SF=ECh)
17h/EDh Get Physical Record Locks by Connection and File (see AX=F217h/SF=EDh)
17h/EEh	Get Physical Record Locks by File		(see AX=F217h/SF=EEh)
17h/EFh Get Logical Records by Connection		(see AX=F217h/SF=EFh)
17h/F0h Get Logical Record Information			(see AX=F217h/SF=F0h)
17h/F1h Get Connection's Semaphores			(see AX=F217h/SF=F1h)
17h/F2h Get Semaphore Information			(see AX=F217h/SF=F2h)
17h/F3h Map Directory Number to Path			(see AX=F217h/SF=F3h)
17h/F4h	Convert Path to Directory Entry			(see AX=F217h/SF=F4h)
17h/F5h Get File Server Extended Misc Information	(see AX=F217h/SF=F5h)
17h/F6h Get Volume Extended Information			(see AX=F217h/SF=F6h)
17h/FEh Clear Connection Number Greater than 250	(see AX=F217h/SF=FEh)
18h	End of Job					(see AH=D6h"NetWare")
19h	Logout (old)					(see AH=D7h"NetWare")
1Ah	Log Physical Record (old)			(see AH=BCh"NetWare")
1Bh	Lock Physical Record Set (old)			(see AX=F21Bh)
1Ch	Release Physical Record				(see AH=BDh"NetWare")
1Dh	Release Physical Record Set			(see AH=C3h"NetWare")
1Eh	Clear Physical Record				(see AX=F21Eh)
1Fh	Clear Physical Record Set			(see AX=F21Fh)
20h/xxh	semaphore services				(see AX=C501h"NetWare")
20h/00h Open Semaphore (old)				(see AX=C500h"NetWare")
20h/01h Examine Semaphore (old)				(see AX=C501h"NetWare")
20h/02h Wait on Semaphore (old)				(see AX=C502h"NetWare")
20h/03h Signal Semaphore (old)				(see AX=C503h"NetWare")
20h/04h Close Semaphore (old)				(see AX=C504h"NetWare")
21h	Negotiate Buffer Size
22h/00h	TTS Is Available				(see AX=C702h"NetWare")
22h/01h	TTS Begin Transaction				(see AX=C700h"NetWare")
22h/02h	TTS End Transaction				(see AX=C701h"NetWare")
22h/03h	TTS Abort Transaction				(see AX=C703h"NetWare")
22h/04h	TTS Transaction Status				(see AX=C704h"NetWare")
22h/05h	TTS Get Application Thresholds			(see AX=C705h"NetWare")
22h/06h	TTS Set Application Thresholds			(see AX=C706h"NetWare")
22h/07h	TTS Get Workstation Thresholds			(see AX=C707h"NetWare")
22h/08h	TTS Set Workstation Thresholds			(see AX=C708h"NetWare")
22h/09h	TTS Get Control Flags
22h/0Ah	TTS Set Control Flags
23h/01h	AFP Create Directory				(see AX=F223h/SF=01h)
23h/02h	AFP Create File					(see AX=F223h/SF=02h)
23h/03h	AFP Delete					(see AX=F223h/SF=03h)
23h/04h	AFP Get Entry ID From Name			(see AX=F223h/SF=04h)
23h/05h	AFP Get File Information			(see AX=F223h/SF=05h)
23h/06h	AFP Get Entry ID From NetWare Handle		(see AX=F223h/SF=06h)
23h/07h	AFP Rename					(see AX=F223h/SF=07h)
23h/08h	AFP Open File Fork				(see AX=F223h/SF=08h)
23h/09h	AFP Set File Information			(see AX=F223h/SF=09h)
23h/0Ah	AFP Scan File Information			(see AX=F223h/SF=0Ah)
23h/0Bh	AFP Alloc Temporary Dir Handle			(see AX=F223h/SF=0Bh)
23h/0Ch	AFP Get Entry ID From Path Name			(see AX=F223h/SF=0Ch)
23h/0Dh AFP 2.0 Create Directory			(see AX=F223h/SF=0Dh)
23h/0Eh AFP 2.0 Create File				(see AX=F223h/SF=0Eh)
23h/10h AFP 2.0 Set File Information			(see AX=F223h/SF=10h)
23h/11h AFP 2.0 Scan File Information			(see AX=F223h/SF=11h)
23h/12h AFP Get DOS Name from Entry ID			(see AX=F223h/SF=12h)
23h/13h AFP Get Macintosh Info on Deleted File		(see AX=F223h/SF=13h)
3Dh	Commit File
3Eh	File Search Initialize (FindFirst)		(see AX=F23Eh)
3Fh	File Search Continue (FindNext)			(see AX=F23Fh)
40h	Search File
42h	Close File					(see AX=F242h)
43h	File Create					(see AX=F243h)
44h	File Erase					(see AX=F244h)
45h	File Rename
46h	Set File Attributes
47h	Get File Size					(see AX=F247h)
48h	File Read
49h	File Write
4Ah	File Server Copy				(see AX=F24Ah)
4Bh	Set File Time and Date
4Ch	File Open
4Dh	Create New File					(see AX=F24Dh)
4Eh	Allow Task Access to File			(see AX=F24Eh)
4Fh	Set Extended File Attributes			(see AH=B6h"NetWare")
54h	Open Create File				(see also AX=6C00h)
55h	Get Sparse File Data Block Bit Map
56h/xx	extended attribute services (OS/2)
56h/01h	Close Extended Attribute Handle			(see AX=F256h/SF=01h)
56h/02h	Write Extended Attribute			(see AX=F256h/SF=02h)
56h/03h	Read Extended Attribute				(see AX=F256h/SF=03h)
56h/04h	Enumerate Extended Attributes			(see AX=F256h/SF=04h)
56h/05h	Duplicate Extended Attributes			(see AX=F256h/SF=05h)
57h/01h	Open/Create File or Subdirectory		(see AX=F257h/SF=01h)
57h/02h	Initialize Search, continue with 57h/03h	(see AX=F257h/SF=02h)
57h/03h	Scan NS Entry Info				(see AX=F257h/SF=03h)
57h/04h	Rename or Move File or Subdirectory		(see AX=F257h/SF=04h)
57h/05h	Scan File or Subdirectory for Trustees		(see AX=F257h/SF=05h)
57h/06h	Obtain File or Subdirectory Information		(see AX=F257h/SF=06h)
57h/07h	Modify File or Subdirectory DOS Information	(see AX=F257h/SF=07h)
57h/08h	Delete File/Directory				(see AX=F257h/SF=08h)
57h/09h	Set Short Directory Handle			(see AX=F257h/SF=09h)
57h/0Ah	Add Trustee Set					(see AX=F257h/SF=0Ah)
57h/0Bh	Delete Trustee					(see AX=F257h/SF=0Bh)
57h/0Ch	Allocate Short Directory Handle			(see AX=F257h/SF=0Ch)
57h/10h Scan Salvageable Files				(see AX=F257h/SF=10h)
57h/11h Recover Salvageable File			(see AX=F257h/SF=11h)
57h/12h Purge Salvageable File				(see AX=F257h/SF=12h)
57h/13h	Get NS Information				(see AX=F257h/SF=13h)
57h/15h	Get Path String from Short Directory Handle	(see AX=F257h/SF=15h)
57h/16h	Generate Directory Base and Volume Number	(see AX=F257h/SF=16h)
57h/17h	Get Name Space Info				(see AX=F257h/SF=17h)
57h/18h Get Name Spaces Loaded				(see AX=F257h/SF=18h)
57h/19h	Write Name Space Info				(see AX=F257h/SF=19h)
57h/1Ah	Read Extended Name Space Info			(see AX=F257h/SF=1Ah)
57h/1Bh	Write Extended Name Space Info			(see AX=F257h/SF=1Bh)
57h/1Ch	Get NS Full Path String				(see AX=F257h/SF=1Ch)
57h/1Dh	Get Effective Directory Rights			(see AX=F257h/SF=1Dh)
58h/01h	Get Volume Audit Statistics			(see AX=F258h/SF=01h)
58h/02h	Add Audit Property				(see AX=F258h/SF=02h)
58h/03h	Login as Volume Auditor				(see AX=F258h/SF=03h)
58h/04h Change Auditor Password				(see AX=F258h/SF=04h)
58h/05h Check Audit Access				(see AX=F258h/SF=05h)
58h/06h	Remove Audit Property				(see AX=F258h/SF=06h)
58h/07h	Disable Auditing on Volume			(see AX=F258h/SF=07h)
58h/08h	Enable Auditing on Volume			(see AX=F258h/SF=08h)
58h/09h	Is User Audited?				(see AX=F258h/SF=09h)
58h/0Ah	Read Auditing Bit Map				(see AX=F258h/SF=0Ah)
58h/0Bh	Read Audit Config Header			(see AX=F258h/SF=0Bh)
58h/0Dh	Logout as Volume Auditor			(see AX=F258h/SF=0Dh)
58h/0Eh	Reset Auditing File				(see AX=F258h/SF=0Eh)
58h/0Fh	Reset Audit History File			(see AX=F258h/SF=0Fh)
58h/10h	Write Auditing Bit Map				(see AX=F258h/SF=10h)
58h/11h	Write Audit Config Header			(see AX=F258h/SF=11h)
58h/13h	Get Auditing Flags				(see AX=F258h/SF=13h)
58h/14h	Close Old Auditing File				(see AX=F258h/SF=14h)
58h/15h	Delete Old Auditing File			(see AX=F258h/SF=15h)
58h/16h	Check Audit Level Two Access			(see AX=F258h/SF=16h)
5Ah/01h	Get DM (Data Migration) Info			(see AX=F25Ah/SF=01h)
5Ah/80h Move File Data to DM				(see AX=F25Ah/SF=80h)
5Ah/81h DM File Information				(see AX=F25Ah/SF=81h)
5Ah/82h Volume DM Status				(see AX=F25Ah/SF=82h)
5Ah/83h Get Migration or Status Information		(see AX=F25Ah/SF=83h)
5Ah/84h DM Support Module Information			(see AX=F25Ah/SF=84h)
5Ah/85h Move File Data from DM				(see AX=F25Ah/SF=85h)
5Ah/86h Get or Set Default Support Module		(see AX=F25Ah/SF=86h)
61h	Negotiate LIP Buffer, packet signing, and IPX checksums
65h	Packet Burst Connection
68h/xxh NetWare 4.x directory services (subfn at DS:[SI+11h])
68h/01h NDS resolve name				(see AX=F268h/SF=01h)
68h/03h	NDS read property
68h/04h NDS Get Bindery Context				(see AX=F268h/SF=04h)
68h/05h NDS Monitor Connection				(see AX=F268h/SF=05h)
68h/16h NDS List Partitions				(see AX=F268h/SF=16h)
68h/35h NDS get server address				(see AX=F268h/SF=35h)
68h/36h NDS set keys
68h/39h NDS begin login
68h/3Ah NDS finish login
68h/3Bh NDS begin authenticate
68h/3Ch NDS finish authenticate
68h/3Dh NDS Logout					(see AX=F268h/SF=3Dh)
68h/C8h Get DS Auditing Statistics			(see AX=F268h/SF=C8h)
69h	Log File					(see AX=F269h)
6Ah	Lock File Set					(see AX=F26Ah)
6Bh	Log Logical Record	!!!APIREF09 line 1430
6Ch	Lock Logical Record Set				(see AX=F26Ch)
6Dh	Log Physical Record
6Eh	Lock Physical Record Set			(see AX=F26Eh)
6Fh/00h Open Semaphore					(see AX=F26Fh/SF=00h)
6Fh/01h Close Semaphore					(see AX=F26Fh/SF=01h)
6Fh/02h Wait on Semaphore				(see AX=F26Fh/SF=02h)
6Fh/03h Signal Semaphore				(see AX=F26Fh/SF=03h)
6Fh/04h Examine Semaphore				(see AX=F26Fh/SF=04h)
72h	NetWare 4.x Time Services			(see AX=F272h)
7Bh/01h	Get Cache Information				(see AX=F27Bh/SF=01h)
7Bh/02h	Get File Server Information			(see AX=F27Bh/SF=02h)
7Bh/03h	Get NetWare File Systems Information
7Bh/04h	Get User Information				(see AX=F27Bh/SF=04h)
7Bh/05h	Get Packet Burst Information
7Bh/06h	Get IPX/SPX Information				(see AX=F27Bh/SF=06h)
7Bh/07h	Get Garbage Collection Information
7Bh/08h	Get CPU Information				(see AX=F27Bh/SF=08h)
7Bh/09h	Get Volume Switch Information			(see AX=F27Bh/SF=09h)
7Bh/0Ah	Get NLM Loaded List				(see AX=F27Bh/SF=0Ah)
7Bh/0Bh	Get NLM Information				(see AX=F27Bh/SF=0Bh)
7Bh/0Ch	Get Directory Cache Information
7Bh/0Dh	Get OS Version Information			(see AX=F27Bh/SF=0Dh)
7Bh/0Eh	Get Active Connection List by Type
7Bh/0Fh	Get NLM's Resource Tag List
7Bh/14h	Get Active LAN Board List			(see AX=F27Bh/SF=14h)
7Bh/15h	Get LAN Configuration Information		(see AX=F27Bh/SF=15h)
7Bh/16h	Get LAN Common Counters Information		(see AX=F27Bh/SF=16h)
7Bh/17h	Get LAN Custom Counters Information
7Bh/18h	Get LAN Config Strings
7Bh/19h	Get LSL Information
7Bh/1Ah	Get LSL Logical Board Statistics
7Bh/1Eh	Get Media Manager Object Information
7Bh/1Fh	Get Media Manager Object List
7Bh/20h	Get Media Manager Object Children List
7Bh/21h	Get Volume Segment List
7Bh/28h	Get Active Protocol Stacks
7Bh/29h	Get Protocol Stack Configuration Information	(see AX=F27Bh/SF=29h)
7Bh/2Ah	Get Protocol Stack Statistics Information
7Bh/2Bh	Get Protocol Stack Custom Information
7Bh/2Ch	Get Protocol Stack Numbers By Media Number
7Bh/2Dh	Get Protocol Stack Numbers By LAN Board Number
7Bh/2Eh	Get Media Name by Media Number
7Bh/2Fh	Get Loaded Media Number List
7Bh/32h	Get General Router and SAP Information
7Bh/33h	Get Network Router Information			(see AX=F27Bh/SF=33h)
7Bh/34h	Get Network Routers Information
7Bh/35h	Get Known Networks Information			(see AX=F27Bh/SF=35h)
7Bh/36h	Get Server Information
7Bh/38h	Get Known Servers Information			(see AX=F27Bh/SF=38h)
7Bh/3Ch	Get Server Set Commands Information		(see AX=F27Bh/SF=3Ch)
7Bh/3Dh	Get Server Set Categories			(see AX=F27Bh/SF=3Dh)
Note:	the subfunction is stored at DS:SI for AL=56h,57h, DS:SI+2 for
	  AL=15h-17h,23h

Top
21F2 - INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
	AH = F2h
	AL = character
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	    00h successful
	    01h buffer full (128 characters)
SeeAlso: AH=E2h"DoubleDOS",AH=F1h"DoubleDOS",AH=F3h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"

Top
21F203 - INT 21 - Novell NetWare - LOG FILE (OLD)
INT 21 - Novell NetWare - LOG FILE (OLD)
	AX = F203h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02477 at AX=F269h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F204h,AX=F269h,AH=EBh"NetWare"

Top
21F204 - INT 21 - Novell NetWare - LOCK FILE SET (OLD)
INT 21 - Novell NetWare - LOCK FILE SET (OLD)
	AX = F204h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02096)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F203h,AX=F26Ah,AH=CBh"NetWare"

Format of NetWare "Lock File Set (old)" request packet:
Offset	Size	Description	(Table 02096)
 00h	WORD	lock timeout in clock ticks (0000h = don't wait)

Top
21F207 - INT 21 - Novell NetWare - CLEAR FILE
INT 21 - Novell NetWare - CLEAR FILE
	AX = F207h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02097)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=CEh,AH=EDh"NetWare",AH=F2h"NetWare",AX=F208h

Format of NetWare "Clear File" request packet:
Offset	Size	Description	(Table 02097)
 00h	BYTE	directory handle
 01h	BYTE	length of filename
 02h  N BYTEs	filename
SeeAlso: #02098

Top
21F208 - INT 21 - Novell NetWare - CLEAR FILE SET
INT 21 - Novell NetWare - CLEAR FILE SET
	AX = F208h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02098)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=CFh"NetWare",AH=F2h"NetWare",AX=F207h

Format of NetWare "Clear File Set" request packet:
Offset	Size	Description	(Table 02098)
 00h	BYTE	lock flag (nonzero to lock)
SeeAlso: #02097

Top
21F20A - INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET (OLD)
INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET (OLD)
	AX = F20Ah
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02479 at AX=F26Ch)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F204h,AX=F26Ch,AH=D1h"NetWare"

Top
21F20B - INT 21 - Novell NetWare - CLEAR LOGICAL RECORD
INT 21 - Novell NetWare - CLEAR LOGICAL RECORD
	AX = F20Bh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02099)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=D4h"NetWare",AH=F2h"NetWare",AX=F207h,AX=F20Eh

Format of NetWare "Clear Logical Record" request packet:
Offset	Size	Description	(Table 02099)
 00h	BYTE	length of record name (max 128)
 01h  N BYTEs	logical record name
SeeAlso: #02100

Top
21F20E - INT 21 - Novell NetWare - CLEAR LOGICAL RECORD SET
INT 21 - Novell NetWare - CLEAR LOGICAL RECORD SET
	AX = F20Eh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02100)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=D5h"NetWare",AH=F2h"NetWare",AX=F207h,AX=F20Bh

Format of NetWare "Clear Logical Record Set" request packet:
Offset	Size	Description	(Table 02100)
 00h	BYTE	lock flag
SeeAlso: #02099

Top
21F211SF06 - INT 21 - Novell NetWare - GET PRINTER STATUS
INT 21 - Novell NetWare - GET PRINTER STATUS
	AX = F211h subfn 06h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02101)
	ES:DI -> reply buffer (see #02102)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=E0h"NetWare",AH=F2h"Novell",AX=F211h/SF=0Ah

Format of NetWare "Get Printer Status" request packet:
Offset	Size	Description	(Table 02101)
 00h	WORD	length of following data
 02h	BYTE	06h (subfunction "Get Printer Status")
 03h	BYTE	target printer number (00h-04h)
SeeAlso: #02102,#01814

Format of NetWare "Get Printer Status" reply packet:
Offset	Size	Description	(Table 02102)
 00h	BYTE	flag: printer halted if FFh
 01h	BYTE	flag: printer off-line if FFh
 02h	BYTE	current form type
 03h	BYTE	redirected printer number
SeeAlso: #02101

Top
21F211SF0A - INT 21 - Novell NetWare - GET PRINTER QUEUE
INT 21 - Novell NetWare - GET PRINTER QUEUE
	AX = F211h subfn 0Ah
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02103)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F211h/SF=06h

Format of NetWare "Get Printer Queue" request packet:
Offset	Size	Description	(Table 02103)
 00h	WORD	length of following data
 02h	BYTE	0Ah (subfunction "Get Printer Queue")
	???

Top
21F212 - INT 21 - Novell NetWare - GET VOLUME INFO WITH NUMBER
INT 21 - Novell NetWare - GET VOLUME INFO WITH NUMBER
	AX = F212h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02104)
	ES:DI -> reply buffer (see #02105)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=15h,AX=F217h/SF=E9h

Format of NetWare "Get Volume Info with Number" request packet:
Offset	Size	Description	(Table 02104)
 00h	BYTE	volume number
SeeAlso: #02105

Format of NetWare "Get Volume Info with Number" reply packet:
Offset	Size	Description	(Table 02105)
 00h	WORD	sectors per cluster
 02h	WORD	total clusters in volume
 04h	WORD	free clusters
 06h	WORD	total directory entries for volume (FFFFh if not relevant)
 08h	WORD	available directory entries (FFFFh if not relevant)
 0Ah 16 BYTEs	volume name
 1Ah	WORD	removability
		0000h fixed media
		FFFFh removable
SeeAlso: #02104

Top
21F214CX0000 - INT 21 - Novell NetWare - GET FILE SERVER DATE AND TIME
INT 21 - Novell NetWare - GET FILE SERVER DATE AND TIME
	AX = F214h
	CX = 0000h (no request packet)
	DX = length of reply packet in bytes
	ES:DI -> buffer for reply packet (see #02106)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"NetWare",AH=E3h/SF=CAh,AH=E7h"NetWare"

Format of NetWare "Get File Server Date and Time" reply packet:
Offset	Size	Description	(Table 02106)
 00h	BYTE	year-1900 (80-179)
 01h	BYTE	month (1-12)
 02h	BYTE	day (1-31)
 03h	BYTE	hour
 04h	BYTE	minute
 05h	BYTE	second
 06h	BYTE	day of week
SeeAlso: #02012 at AH=E3h/SF=CAh,#02087 at AH=E7h

Top
21F215SF01 - INT 21 - Novell NetWare - GET BROADCAST MESSAGE (OLD)
INT 21 - Novell NetWare - GET BROADCAST MESSAGE (OLD)
	AX = F215h subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01822 at AH=E1h/SF=01h)
	ES:DI -> reply buffer (see #02107)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E1h/SF=01h,AX=F215h/SF=02h,AX=F215h/SF=0Bh

Format of NetWare "Get Broadcast Message (Old)" reply packet:
Offset	Size	Description	(Table 02107)
 00h	BYTE	length of message (00h-37h)
		00h if no broadcast messages pending
 01h  N BYTEs	message (no control characters or characters > 7Eh)
SeeAlso: #01821,#01822

Top
21F215SF02 - INT 21 - Novell NetWare - DISABLE BROADCASTS
INT 21 - Novell NetWare - DISABLE BROADCASTS
	AX = F215h subfn 02h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01823 at AH=E1h/SF=02h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E1h/SF=02h,AX=F215h/SF=01h,AX=F215h/SF=03h

Top
21F215SF03 - INT 21 - Novell NetWare - ENABLE BROADCASTS
INT 21 - Novell NetWare - ENABLE BROADCASTS
	AX = F215h subfn 03h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01824 at AH=E1h/SF=03h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E1h/SF=03h,AX=F215h/SF=01h,AX=F215h/SF=02h

Top
21F215SF08 - INT 21 - Novell NetWare - CHECK PIPE STATUS
INT 21 - Novell NetWare - CHECK PIPE STATUS
	AX = F215h subfn 08h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01835 at AH=E1h/SF=08h)
	ES:DI -> reply buffer (see #02108)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E1h/SF=08h,AX=F215h/SF=09h

Format of NetWare "Check Pipe Status" reply packet:
Offset	Size	Description	(Table 02108)
 00h	BYTE	number of connections
 01h  N BYTEs	list of pipe statuses
		00h open
		FEh incomplete
		FFh closed
SeeAlso: #01835,#01836

Top
21F215SF09 - INT 21 - Novell NetWare - BROADCAST TO CONSOLE
INT 21 - Novell NetWare - BROADCAST TO CONSOLE
	AX = F215h subfn 09h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01837 at AH=E1h/SF=09h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Note:	requires Access Control rights to the target directory or its parent
SeeAlso: AH=E1h/SF=09h,AH=F2h"NetWare",AX=F215h/SF=08h

Top
21F215SF0B - INT 21 - Novell NetWare - GET BROADCAST MESSAGE
INT 21 - Novell NetWare - GET BROADCAST MESSAGE
	AX = F215h subfn 0Bh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02109)
	ES:DI -> reply buffer (see #02110)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E1h/SF=01h,AX=F215h/SF=01h

Format of NetWare "Get Broadcast Message" request packet:
Offset	Size	Description	(Table 02109)
 00h	WORD	length of following data
 02h	BYTE	0Bh (subfunction "Get Broadcast Message")
SeeAlso: #02110,#01821

Format of NetWare "Get Broadcast Message" reply packet:
Offset	Size	Description	(Table 02110)
 00h	BYTE	length of message
 01h  N BYTEs	message
SeeAlso: #02109,#01822

Top
21F216SF00 - INT 21 - Novell NetWare - SET DIRECTORY HANDLE
INT 21 - Novell NetWare - SET DIRECTORY HANDLE
	AX = F216h subfn 00h
	CX = length of request buffer in bytes
	DX = 0000h (no reply buffer)
	DS:SI -> request buffer (see #01840 at AH=E2h/SF=00h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=00h,AX=F216h/SF=01h

Top
21F216SF01 - INT 21 - Novell NetWare - GET DIRECTORY PATH
INT 21 - Novell NetWare - GET DIRECTORY PATH
	AX = F216h subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01842 at AH=E2h/SF=01h)
	ES:DI -> reply buffer (see #01843)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=01h,AX=F216h/SF=00h

Top
21F216SF02 - INT 21 - Novell NetWare - SCAN DIRECTORY INFORMATION
INT 21 - Novell NetWare - SCAN DIRECTORY INFORMATION
	AX = F216h subfn 02h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01844 at AH=E2h/SF=02h)
	ES:DI -> reply buffer (see #02111)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=02h,AX=F216h/SF=01h,AX=F216h/SF=03h

Format of NetWare "Scan Directory Information" reply packet:
Offset	Size	Description	(Table 02111)
 00h 16 BYTEs	subdirectory name
 10h	DWORD	(big-endian) date and time of creation (see #01846)
 14h	DWORD	(big-endian) object ID of owner
 18h	BYTE	maximum directory rights (see #01849)
 19h	BYTE	unused
 1Ah	WORD	(big-endian) subdirectory number
SeeAlso: #01844,#01845 at AH=E2h/SF=02h

Top
21F216SF03 - INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS (OLD)
INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS (OLD)
	AX = F216h subfn 03h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01847 at AH=E2h/SF=03h)
	ES:DI -> reply buffer (see #02112)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=E2h/SF=03h,AX=F216h/SF=02h,AX=F216h/SF=04h,AX=F257h/SF=1Dh

Format of NetWare "Get Effective Directory Rights (old)" reply buffer:
Offset	Size	Description	(Table 02112)
 00h	BYTE	effective directory rights (see #01849 at AH=E2h/SF=03h)
SeeAlso: #01847,#01848 at AH=E2h/SF=03h

Top
21F216SF04 - INT 21 - Novell NetWare - MODIFY MAXIMUM RIGHTS MASK
INT 21 - Novell NetWare - MODIFY MAXIMUM RIGHTS MASK
	AX = F216h subfn 04h
	CX = length of request buffer in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01850 at AH=E2h/SF=04h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=04h,AX=F216h/SF=03h,AX=F216h/SF=05h

Top
21F216SF05 - INT 21 - Novell NetWare - GET VOLUME NUMBER
INT 21 - Novell NetWare - GET VOLUME NUMBER
	AX = F216h subfn 05h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01852 at AH=E2h/SF=05h)
	ES:DI -> reply buffer (see #02113)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=05h,AX=F216h/SF=02h,AX=F216h/SF=06h

Format of NetWare "Get Volume Number" reply packet:
Offset	Size	Description	(Table 02113)
 00h	BYTE	volume number
SeeAlso: #01852 at AH=E2h/SF=05h

Top
21F216SF06 - INT 21 - Novell NetWare - GET VOLUME NAME
INT 21 - Novell NetWare - GET VOLUME NAME
	AX = F216h subfn 06h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01854 at AH=E2h/SF=06h)
	ES:DI -> reply buffer (see #02114)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=06h,AX=F216h/SF=05h,AX=F216h/SF=0Ah

Format of NetWare "Get Volume Name" reply packet:
Offset	Size	Description	(Table 02114)
SeeAlso: #01854,#01855 at AH=E2h/SF=06h

Top
21F216SF0A - INT 21 - Novell NetWare - CREATE DIRECTORY
INT 21 - Novell NetWare - CREATE DIRECTORY
	AX = F216h subfn 0Ah
	CX = length of request buffer in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01856 at AH=E2h/SF=0Ah)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=39h,AH=F2h"Novell",AH=E2h/SF=0Ah,AX=F216h/SF=0Bh

Top
21F216SF0B - INT 21 - Novell NetWare - DELETE DIRECTORY
INT 21 - Novell NetWare - DELETE DIRECTORY
	AX = F216h subfn 0Bh
	CX = length of request buffer in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01858 at AH=E2h/SF=0Bh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=3Ah,AH=F2h"Novell",AH=E2h/SF=0Bh,AX=F216h/SF=0Ah

Top
21F216SF0C - INT 21 - Novell NetWare - SCAN DIRECTORY FOR TRUSTEES
INT 21 - Novell NetWare - SCAN DIRECTORY FOR TRUSTEES
	AX = F216h subfn 0Ch
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #01859 at AH=E2h/SF=0Ch)
	ES:DI -> reply buffer (see #02115)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=0Ch,AX=F216h/SF=0Dh

Format of NetWare "Scan Directory For Trustees" reply packet:
Offset	Size	Description	(Table 02115)
 02h 16 BYTEs	directory name
 12h  4 BYTEs	date and time of creation
 16h	DWORD	(big-endian) object ID of owner
 1Ah  5 DWORDs	(big-endian) object IDs of Trustees 0 through 4
		00000000h = end of group
 2Eh  5 BYTEs	directory rights for Trustees 0 through 4 (see #01849)
SeeAlso: #01859 at AH=E2h/SF=0Ch

Top
21F216SF0D - INT 21 - Novell NetWare - ADD TRUSTEE TO DIRECTORY
INT 21 - Novell NetWare - ADD TRUSTEE TO DIRECTORY
	AX = F216h subfn 0Dh
	CX = length of request buffer in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01861 at AH=E2h/SF=0Dh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Note:	requires Access Control rights to the target directory or its parent
SeeAlso: AH=F2h"NetWare",AH=E2h/SF=0Dh,AX=F216h/SF=0Ch,AX=F216h/SF=0Eh

Top
21F216SF0E - INT 21 - Novell NetWare - DELETE TRUSTEE FROM DIRECTORY
INT 21 - Novell NetWare - DELETE TRUSTEE FROM DIRECTORY
	AX = F216h subfn 0Eh
	CX = length of request buffer in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01862 at AH=E2h/SF=0Eh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=0Eh,AX=F216h/SF=0Ch,AX=F216h/SF=0Dh

Top
21F216SF0F - INT 21 - Novell NetWare - RENAME DIRECTORY
INT 21 - Novell NetWare - RENAME DIRECTORY
	AX = F216h subfn 0Fh
	CX = length of request buffer in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01864 at AH=E2h/SF=0Fh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=0Fh,AX=F216h/SF=0Ah

Top
21F216SF10 - INT 21 - Novell NetWare - PURGE ERASED FILES (OLD)
INT 21 - Novell NetWare - PURGE ERASED FILES (OLD)
	AX = F216h subfn 10h
	CX = length of request buffer in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01865 at AH=E2h/SF=10h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=10h,AX=F216h/SF=11h

Top
21F216SF11 - INT 21 - Novell NetWare - RECOVER ERASED FILE (OLD)
INT 21 - Novell NetWare - RECOVER ERASED FILE (OLD)
	AX = F216h subfn 11h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01867 at AH=E2h/SF=11h)
	ES:DI -> reply buffer (see #02116)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=11h,AX=F216h/SF=10h

Format of NetWare "Recover Erased File (Old)" reply packet:
Offset	Size	Description	(Table 02116)
 02h 15 BYTEs	ASCIZ name of erased file
 11h 15 BYTEs	ASCIZ name under which file was restored
SeeAlso: #01867,#01868 at AH=E2h/SF=11h

Top
21F216SF12 - INT 21 - Novell NetWare - ALLOCATE PERMANENT DIRECTORY HANDLE
INT 21 - Novell NetWare - ALLOCATE PERMANENT DIRECTORY HANDLE
	AX = F216h subfn 12h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01869 at AH=E2h/SF=12h)
	ES:DI -> reply buffer (see #02118)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=16h,AH=E2h/SF=12h

Format of NetWare IPX fragment list entry:
Offset	Size	Description	(Table 02117)
 00h	DWORD	-> fragment data
 04h	WORD	size of fragment in bytes

Format of NetWare "Allocate Permanent Directory Handle" reply packet:
Offset	Size	Description	(Table 02118)
 00h	BYTE	new directory handle
 01h	BYTE	access rights
SeeAlso: #01869,#01873,#02117

Top
21F216SF13 - INT 21 - Novell NetWare - ALLOCATE TEMPORARY DIRECTORY HANDLE
INT 21 - Novell NetWare - ALLOCATE TEMPORARY DIRECTORY HANDLE
	AX = F216h subfn 13h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01871 at AH=E2h/SF=13h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=12h,AX=F216h/SF=16h,AH=E2h/SF=13h

Top
21F216SF14 - INT 21 - Novell NetWare - DEALLOCATE DIRECTORY HANDLE
INT 21 - Novell NetWare - DEALLOCATE DIRECTORY HANDLE
	AX = F216h subfn 14h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01872 at AH=E2h/SF=14h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=14h,AX=F216h/SF=13h,AX=F216h/SF=16h

Top
21F216SF15 - INT 21 - Novell NetWare - GET VOLUME INFO WITH HANDLE
INT 21 - Novell NetWare - GET VOLUME INFO WITH HANDLE
	AX = F216h subfn 15h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01874 at AH=E2h/SF=15h)
	ES:DI -> reply buffer (see #02119)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=15h,AX=F212h,AX=F216h/SF=13h

Format of NetWare "Get Volume Info With Handle" reply packet:
Offset	Size	Description	(Table 02119)
 00h	WORD	(big-endian) sectors per block
 02h	WORD	(big-endian) total blocks on volume
 04h	WORD	(big-endian) blocks available on volume
 06h	WORD	(big-endian) total directory slots
 08h	WORD	(big-endian) directory slots available
 0Ah 16 BYTEs	NUL-padded volume name
 1Ah	WORD	(big-endian) flag: volume removable if nonzero
SeeAlso: #01874 at AH=E2h/SF=15h

Top
21F216SF16 - INT 21 - Novell NetWare v2+ - ALLOCATE SPECIAL TEMPORARY DIRECTORY HANDLE
INT 21 - Novell NetWare v2+ - ALLOCATE SPECIAL TEMPORARY DIRECTORY HANDLE
	AX = F216h subfn 16h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01876 at AH=E2h/SF=16h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=12h,AX=F216h/SF=13h,AH=E2h/SF=16h

Top
21F216SF17 - INT 21 - Novell NetWare - SAVE DIRECTORY HANDLE
INT 21 - Novell NetWare - SAVE DIRECTORY HANDLE
	AX = F216h subfn 17h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01877 at AH=E2h/SF=17h)
	ES:DI -> reply buffer (see #02120)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=17h,AX=F216h/SF=18h

Format of NetWare "Save Directory Handle" reply packet:
Offset	Size	Description	(Table 02120)
 00h 16 BYTEs	save buffer
SeeAlso: #01877,#01878,#02121

Top
21F216SF18 - INT 21 - Novell NetWare - RESTORE DIRECTORY HANDLE
INT 21 - Novell NetWare - RESTORE DIRECTORY HANDLE
	AX = F216h subfn 18h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01879 at AH=E2h/SF=18h)
	ES:DI -> reply buffer (see #02121)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=18h,AX=F216h/SF=17h

Format of NetWare "Restore Directory Handle" reply packet:
Offset	Size	Description	(Table 02121)
 00h	BYTE	new directory handle
 01h	BYTE	effective rights (see #01849)
SeeAlso: #01880,#02120

Top
21F216SF19 - INT 21 - Novell NetWare - SET DIRECTORY INFORMATION
INT 21 - Novell NetWare - SET DIRECTORY INFORMATION
	AX = F216h subfn 19h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01881 at AH=E2h/SF=19h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=19h,AX=F216h/SF=17h

Top
21F216SF1A - INT 21 - Novell NetWare - GET PATH NAME OF VOLUME-DIRECTORY NUMBER PAIR
INT 21 - Novell NetWare - GET PATH NAME OF VOLUME-DIRECTORY NUMBER PAIR
	AX = F216h subfn 1Ah
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01883 at AH=E2h/SF=1Ah)
	ES:DI -> reply buffer (see #02122)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=1Ah,AX=F216h/SF=0Eh

Format of NetWare "Get Path Name Of Volume-Dir Number Pair" reply packet:
Offset	Size	Description	(Table 02122)
 00h 256 BYTEs	path
SeeAlso: #01883,#01884 at AH=E2h/SF=1Ah

Top
21F216SF1B - INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES (OLD)
INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES (OLD)
	AX = F216h subfn 1Bh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02123)
	ES:DI -> reply buffer (see #02124)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Ch,AX=F216h/SF=1Dh,AX=F257h/SF=10h

Format of NetWare "Scan Salvageable Files (Old)" request packet:
Offset	Size	Description	(Table 02123)
 00h	WORD	length of following data
 02h	BYTE	1Bh (subfunction "Scan Salvageable Files (Old)")
 03h	BYTE	directory handle
 04h	DWORD	last sequence number (set to FFFFFFFFh before first call)
SeeAlso: #02124,#02399

Format of NetWare "Scan Salvageable Files (Old)" reply packet:
Offset	Size	Description	(Table 02124)
 00h	DWORD	next sequence number
 04h	WORD	subdirectory
 06h	DWORD	attributes
 0Ah	BYTE	unique ID
 0Bh	BYTE	flags
 0Ch	BYTE	name space
 0Dh	BYTE	length of filename
 0Eh 14 BYTEs	filename
 1Ah	DWORD	creation date and time
 1Eh	DWORD	owner ID
 22h	DWORD	last-backup date and time
 26h	DWORD	last-backup ID
 2Ah	DWORD	last-modified date and time
 2Eh	WORD	???
 30h	DWORD	last-modified ID
 34h	DWORD	file size
 38h 44 BYTEs	reserved
 62h	WORD	inherited rights mask
 64h	WORD	last-access date
 66h	DWORD	deleted file's time
 6Ah	DWORD	deletion date and time
 6Eh	DWORD	ID of deletor
 72h 16 BYTEs	reserved
SeeAlso: #02123,#02400

Top
21F216SF1C - INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE (OLD)
INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE (OLD)
	AX = F216h subfn 1Ch
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02125)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Bh,AX=F216h/SF=1Dh,AX=F257h/SF=11h

Format of NetWare "Recover Salvageable File (Old)" request packet:
Offset	Size	Description	(Table 02125)
 00h	WORD	length of following data
 02h	BYTE	1Ch (subfunction "Recover Salvageable File (Old)")
 03h	BYTE	directory handle
 04h	DWORD	sequence number (set to ? before first call)
 08h	BYTE	length of filename
 09h  N BYTEs	filename in DOS format
	BYTE	length of new name for recovered file
      N BYTEs	recovered filename in NetWare VOLUME:DIRECTORY/.../FILE format
SeeAlso: #02401

Top
21F216SF1D - INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE (OLD)
INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE (OLD)
	AX = F216h subfn 1Dh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02126)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Bh,AX=F216h/SF=1Ch,AX=F257h/SF=12h

Format of NetWare "Purge Salvageable File (old)" request packet:
Offset	Size	Description	(Table 02126)
 00h	WORD	length of following data
 02h	BYTE	1Dh (subfunction "Purge Salvageable File (Old)")
 03h	BYTE	directory handle
 04h	DWORD	directory entry
 08h	DWORD	sequence number from Scan Salvageable Files

Top
21F216SF1E - INT 21 - Novell NetWare - SCAN A DIRECTORY
INT 21 - Novell NetWare - SCAN A DIRECTORY
	AX = F216h subfn 1Eh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02127)
	ES:DI -> reply buffer (see #02128)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E2h/SF=02h,AX=F216h/SF=1Fh

Format of NetWare "Scan A Directory" request packet:
Offset	Size	Description	(Table 02127)
 00h	WORD	length of following data
 02h	BYTE	1Eh (subfunction "Scan A Directory")
 03h	BYTE	directory handle
 04h	BYTE	search attributes
 05h	DWORD	sequence number
 09h	BYTE	length of search filespec
 0Ah  N BYTEs	search filespec
SeeAlso: #02128

Format of NetWare "Scan A Directory" reply packet:
Offset	Size	Description	(Table 02128)
 00h	DWORD	sequence number (copy into next request packet)
 04h	DWORD	subdirectory
 08h	DWORD	attributes
 0Ch	BYTE	unique ID
 0Dh	BYTE	flags
 0Eh	BYTE	name space
 0Fh	BYTE	length of filename
---DOS file---
 10h 12 BYTEs	DOS filename
 1Ch	DWORD	creation date and time
 20h	DWORD	owner ID
 24h	DWORD	last-archived date and time
 28h	DWORD	last-archived ID
 2Ch	DWORD	last-updated date and time
 30h	DWORD	last-updated ID
 34h	DWORD	file size
 38h 44 BYTEs	reserved
 64h	WORD	inherited rights mask
 66h	WORD	last-accessed date
 68h 28 BYTEs	reserved
---DOS subdirectory---
 10h 12 BYTEs	DOS directory name
 1Ch	DWORD	creation date and time
 20h	DWORD	owner ID
 24h	DWORD	last-archived date and time
 28h	DWORD	last-archived ID
 2Ch	DWORD	last-updated date and time
 30h	DWORD	next trustee entry
 34h 48 BYTEs	reserved
 64h	DWORD	maximum space
 68h	WORD	inherited rights mask
 6Ah 26 BYTEs	unused
SeeAlso: #02127

Top
21F216SF1F - INT 21 - Novell NetWare - GET DIRECTORY ENTRY
INT 21 - Novell NetWare - GET DIRECTORY ENTRY
	AX = F216h subfn 1Fh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02129)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Eh

Format of NetWare "Get Directory Entry" request packet:
Offset	Size	Description	(Table 02129)
 00h	WORD	length of following data
 02h	BYTE	1Fh (subfunction "Get Directory Entry")
	???

Top
21F216SF20 - INT 21 - Novell NetWare - SCAN VOLUME'S USER DISK RESTRICTIONS
INT 21 - Novell NetWare - SCAN VOLUME'S USER DISK RESTRICTIONS
	AX = F216h subfn 20h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02130)
	ES:DI -> reply buffer (see #02131)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=23h,AX=F216h/SF=29h

Format of NetWare "Scan Volume's User Disk Restrictions" request packet:
Offset	Size	Description	(Table 02130)
 00h	WORD	length of following data
 02h	BYTE	20h (subfunction "Scan Volume's User Disk Restrictions")
 03h	BYTE	volume number
 04h	DWORD	sequence number (set to 00000000h before first call)
SeeAlso: #02131

Format of NetWare "Scan Volume's User Disk Restrictions" reply packet:
Offset	Size	Description	(Table 02131)
 00h	BYTE	number of entries returned (max 12)
 01h 2N DWORDs	restriction entries [array]
		Offset	Size	Description
		 00h	DWORD	object ID
		 04h	DWORD	maximum usage allowed (in 4K blocks)
SeeAlso: #02130

Top
21F216SF21 - INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
	AX = F216h subfn 21h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02132)
	ES:DI -> reply buffer (ignored)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AX=F216h/SF=20h,AX=F216h/SF=22h,AX=F216h/SF=24h

Format of NetWare "Add User Disk Space Restriction" request buffer:
Offset	Size	Description	(Table 02132)
 00h	WORD	000Ah (length of following data)
 02h	BYTE	21h (subfunction "Add User Disk Space Restriction")
 03h	BYTE	volume number
 04h	DWORD	(big-endian) object ID
 08h	DWORD	(big-endian) disk space limit in 4K blocks
		00000000h to 40000000h

Top
21F216SF22 - INT 21 - Novell NetWare - REMOVE USER DISK SPACE RESTRICTIONS
INT 21 - Novell NetWare - REMOVE USER DISK SPACE RESTRICTIONS
	AX = F216h subfn 22h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02133)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=20h,AX=F216h/SF=21h,AX=F216h/SF=23h

Format of NetWare "Remove User Disk Space Restrictions" request packet:
Offset	Size	Description	(Table 02133)
 00h	WORD	length of following data
 02h	BYTE	22h (subfunction "Remove User Disk Space Restrictions")
	???

Top
21F216SF23 - INT 21 - Novell NetWare - SCAN DIRECTORY SPACE RESTRICTIONS
INT 21 - Novell NetWare - SCAN DIRECTORY SPACE RESTRICTIONS
	AX = F216h subfn 23h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02134)
	ES:DI -> reply buffer (see #02135)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=20h,AX=F216h/SF=21h,AX=F216h/SF=22h

Format of NetWare "Scan Directory Space Restrictions" request packet:
Offset	Size	Description	(Table 02134)
 00h	WORD	length of following data
 02h	BYTE	23h (subfunction "Scan Directory Space Restrictions")
 03h	BYTE	directory handle
SeeAlso: #02135

Format of NetWare "Scan Directory Space Restrictions" reply packet:
Offset	Size	Description	(Table 02135)
 00h	BYTE	number of entries returned
 01h 10N BYTEs	restrictions [array]
		Offset	Size	Description
		 00h	WORD	depth of directory from root
		 02h	DWORD	maximum space allowed for files in directory
		 04h	DWORD	current space used by files in directory
SeeAlso: #02134

Top
21F216SF24 - INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
	AX = F216h subfn 24h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02136)
	ES:DI -> reply buffer (ignored)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AX=F216h/SF=21h,AX=F216h/SF=22h,AX=F216h/SF=23h,AX=F216h/SF=25h

Format of NetWare "Set Directory Disk Space Restriction" request buffer:
Offset	Size	Description	(Table 02136)
 00h	WORD	0006h (length of following data)
 02h	BYTE	24h (subfunction "Set Directory Disk Space Restriction")
 03h	BYTE	directory handle
 04h	DWORD	(big-endian) disk space limit in 4K blocks
		00000000h to remove restriction, negative to set to 0 blocks

Top
21F216SF25 - INT 21 - Novell NetWare - SET DIRECTORY/FILE INFORMATION
INT 21 - Novell NetWare - SET DIRECTORY/FILE INFORMATION
	AX = F216h subfn 25h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02137)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=02h

Format of NetWare "Set Directory/File Information" request packet:
Offset	Size	Description	(Table 02137)
 00h	WORD	length of following data
 02h	BYTE	25h (subfunction "Set Directory/File Information")
 03h	BYTE	directory handle
 04h	BYTE	search attributes
 05h	DWORD	sequence number
 09h	DWORD	change bits
 0Dh	DWORD	directory number
 11h	DWORD	attributes
 15h	BYTE	unique ID
 16h	BYTE	flags
 17h	BYTE	name space (see #02387)
 18h	BYTE	length of directory/file name
 19h 12 BYTEs	directory/file name
 25h	DWORD	creation date and time
 29h	DWORD	(big-endian) owner ID
 2Dh	DWORD	last-backup date and time
 31h	DWORD	(big-endian) last-backup ID
 35h	DWORD	last-modification date and time
 39h	DWORD	(big-endian) last-modification ID
 3Dh	DWORD	file size
 41h	DWORD	data fork first FAT
 45h	DWORD	next trustee entry
 49h 36 BYTEs	reserved
 6Dh	WORD	inherited rights mask
 6Fh	WORD	last-access date
 71h 20 BYTEs	reserved
 85h	DWORD	primary entry
 89h	DWORD	name list

Top
21F216SF26 - INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
	AX = F216h subfn 26h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02138)
	ES:DI -> reply buffer (see #02139)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Desc:	get up to 20 extended trustee entries per call for a file or directory

Format of NetWare "Scan File/Directory for Extended Trustees" request buffer:
Offset	Size	Description	(Table 02138)
 00h	WORD	length of following data
 02h	BYTE	26h (subfunc "Scan File or Directory For Extended Trustees")
 03h	BYTE	directory handle
 04h	BYTE	sequence number
		00h for first call, increment by number of returned entries
 05h	BYTE	length of path
 06h  N BYTEs	pathname
SeeAlso: #02138

Format of NetWare "Scan File/Directory for Extended Trustees" reply buffer:
Offset	Size	Description	(Table 02139)
 00h	BYTE	number of entries returned (max 20)
 01h 20 DWORDs	(big-endian) list of object IDs
 51h 20 WORDs	list of associated trustee rights
SeeAlso: #02139

Top
21F216SF27 - INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
	AX = F216h subfn 27h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02140)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)

Format of NetWare "Add Extended Trustee to Directory or File" request buffer:
Offset	Size	Description	(Table 02140)
 00h	WORD	length of following data
 02h	BYTE	27h (subfunction "Add Extended Trustee to Directory or File")
 03h	BYTE	directory handle
 04h	DWORD	(big-endian) object ID
 08h	WORD	trustee rights (see #02141)
 0Ah	BYTE	path length
 0Bh  N BYTEs	path name

Bitfields for NetWare trustee rights:
Bit(s)	Description	(Table 02141)
 0	read
 1	write
 3	create
 4	delete
 5	access
 6	file
 7	modify
 8	supervisor

Top
21F216SF28 - INT 21 - Novell NetWare - SCAN DIRECTORY DISK SPACE
INT 21 - Novell NetWare - SCAN DIRECTORY DISK SPACE
	AX = F216h subfn 28h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02142)
	ES:DI -> reply buffer (see #02143)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=02h,AX=F216h/SF=20h

Format of NetWare "Scan Directory Disk Space" request packet:
Offset	Size	Description	(Table 02142)
 00h	WORD	length of following data
 02h	BYTE	28h (subfunction "Scan Directory Disk Space")
 03h	BYTE	directory handle
 04h	BYTE	search attributes
 05h	DWORD	sequence number (set to FFFFFFFFh before first call)
 09h	BYTE	length of filespec
 0Ah  N BYTEs	search filespec
SeeAlso: #02143

Format of NetWare "Scan Directory Disk Space" reply packet:
Offset	Size	Description	(Table 02143)
 00h	DWORD	next sequence number
 04h	DWORD	(big-endian) subdirectory number
 08h	DWORD	(big-endian) attributes
 0Ch	BYTE	unique ID
 0Dh	BYTE	flags
 0Eh	BYTE	name space (see #02387)
 0Fh	BYTE	length of name
 10h 12 BYTEs	name
 1Ch	DWORD	creation date and time
 20h	DWORD	owner ID
 24h	DWORD	date and time last backed up
 28h	DWORD	last-backup ID
 2Ch	DWORD	date and time last modified
 30h	DWORD	last-modification ID
 34h	DWORD	data fork size
 38h	DWORD	data fork first FAT
 3Ch	DWORD	next trustee entry
 40h 36 BYTEs	reserved
 64h	WORD	inherited rights mask
 66h	WORD	last-access date
 68h	DWORD	deleted file date and time
 6Ch	DWORD	date and time file was deleted
 70h	DWORD	deleted ID
 74h  8 BYTEs	undefined
 7Ch	DWORD	primary entry
 80h	DWORD	name list
 84h	DWORD	other file fork size
SeeAlso: #02142

Top
21F216SF29 - INT 21 - Novell NetWare v3+ - GET OBJECT DISK USAGE AND RESTRICTIONS
INT 21 - Novell NetWare v3+ - GET OBJECT DISK USAGE AND RESTRICTIONS
	AX = F216h subfn 29h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02144)
	ES:DI -> reply buffer (see #02145)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
Note:	this function returns successfully, showing no restriction, if an
	  invalid object ID is specified
SeeAlso: AX=F216h/SF=24h,AX=F216h/SF=33h

Format of NetWare "Get Object Disk Restrictions" request buffer:
Offset	Size	Description	(Table 02144)
 00h	WORD	0006h (length of following data)
 02h	BYTE	21h (subfunction "Get Object Disk Restrictions")
 03h	BYTE	volume number
 04h	DWORD	(big-endian) object ID
SeeAlso: #02145

Format of NetWare "Get Object Disk Restrictions" reply buffer:
Offset	Size	Description	(Table 02145)
 00h	DWORD	disk space limit
 04h	DWORD	disk space currently in use by object
SeeAlso: #02144

Top
21F216SF2A - INT 21 - Novell NetWare - GET EFFECTIVE RIGHTS
INT 21 - Novell NetWare - GET EFFECTIVE RIGHTS
	AX = F216h subfn 2Ah
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02146)
	ES:DI -> reply buffer (see #02147)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=32h

Format of NetWare "Get Effective Rights" request packet:
Offset	Size	Description	(Table 02146)
 00h	WORD	length of following data
 02h	BYTE	2Ah (subfunction "Get Effective Rights")
	???

Top
21F216SF2B - INT 21 - Novell NetWare - REMOVE EXTENDED TRUSTEE FROM DIR OR FILE
INT 21 - Novell NetWare - REMOVE EXTENDED TRUSTEE FROM DIR OR FILE
	AX = F216h subfn 2Bh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02117,#02147)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=26h,AX=F216h/SF=27h

Format of NetWare "Remove Extended Trustee From Dir Or File" request packet:
Offset	Size	Description	(Table 02147)
 00h	WORD	length of following data
 02h	BYTE	2Bh (subfunction "Remove Extended Trustee From Dir Or File")
 03h	BYTE	directory handle
 04h	DWORD	trustee's object ID
 08h	BYTE	unused
 09h	BYTE	length of pathname
 0Ah  N BYTEs	directory path in form VOLUME:DIRECTORY/.../DIRECTORY

Top
21F216SF2C - INT 21 - Novell NetWare - GET VOLUME USAGE
INT 21 - Novell NetWare - GET VOLUME USAGE
	AX = F216h subfn 2Ch
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02148)
	ES:DI -> reply buffer (see #02149)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=20h,AX=F216h/SF=29h

Format of NetWare "Get Volume Usage" request packet:
Offset	Size	Description	(Table 02148)
 00h	WORD	length of following data
 02h	BYTE	2Ch (subfunction "Get Volume Usage")
	???

Top
21F216SF2D - INT 21 - Novell NetWare - GET DIRECTORY INFORMATION
INT 21 - Novell NetWare - GET DIRECTORY INFORMATION
	AX = F216h subfn 2Dh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02149)
	ES:DI -> reply buffer (see #02150)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=2Ch,AX=F216h/SF=2Eh

Format of NetWare "Get Directory Information" request packet:
Offset	Size	Description	(Table 02149)
 00h	WORD	length of following data
 02h	BYTE	2Dh (subfunction "Get Directory Information")
 03h	BYTE	directory handle
SeeAlso: #02150

Format of NetWare "Get Directory Information" reply packet:
Offset	Size	Description	(Table 02150)
 00h	DWORD	total blocks
 04h	DWORD	available blocks
 08h	DWORD	total number of directory entries
 0Ch	DWORD	number of available directory entries
 10h  4 BYTEs	reserved
 14h	BYTE	sectors per block
 15h	BYTE	length of volume name
 16h  N BYTEs	volume name
SeeAlso: #02149

Top
21F216SF2E - INT 21 - Novell NetWare - RENAME OR MOVE
INT 21 - Novell NetWare - RENAME OR MOVE
	AX = F216h subfn 2Eh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02151)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=34h,AX=F223h/SF=07h,AX=F244h

Format of NetWare "Rename Or Move" request packet:
Offset	Size	Description	(Table 02151)
 00h	WORD	length of following data
 02h	BYTE	2Eh (subfunction "Rename Or Move")
 03h	BYTE	source directory handle
 04h	BYTE	search attributes
 05h	BYTE	source path component count
 06h  N BYTEs	source path
	BYTE	destination directory handle
	BYTE	destination path component count
      N BYTEs	destination path

Top
21F216SF2F - INT 21 - Novell NetWare - GET NAME SPACE INFORMATION
INT 21 - Novell NetWare - GET NAME SPACE INFORMATION
	AX = F216h subfn 2Fh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02152)
	ES:DI -> reply buffer (see #02153)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=30h,AX=F257h/SF=18h

Format of NetWare "Get Name Space Information" request packet:
Offset	Size	Description	(Table 02152)
 00h	WORD	length of following data
 02h	BYTE	2Fh (subfunction "Get Name Space Information")
 03h	BYTE	volume number
SeeAlso: #02153

Format of NetWare "Get Name Space Information" request packet:
Offset	Size	Description	(Table 02153)
 00h	BYTE	length of namespace name
 01h  N BYTEs	name of namespace
	BYTE	number of data streams
	var	data stream information [one entry per data stream]
		Offset	Size	Description
		 00h	BYTE	associated name space
		 01h	BYTE	length of data stream name
		 02h  N BYTEs	data stream name
	BYTE	number of loaded name spaces
	BYTE	bitmap of loaded name spaces
      N BYTEs	list of name spaces being used
	BYTE	index number
SeeAlso: #02152

Top
21F216SF30 - INT 21 - Novell NetWare - GET NAME SPACE DIRECTORY ENTRY
INT 21 - Novell NetWare - GET NAME SPACE DIRECTORY ENTRY
	AX = F216h subfn 30h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02154)
	ES:DI -> reply buffer (see #02155)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=2Fh

Format of NetWare "Get Name Space Directory Entry" request packet:
Offset	Size	Description	(Table 02154)
 00h	WORD	length of following data
 02h	BYTE	30h (subfunction "Get Name Space Directory Entry")
 03h	BYTE	volume number
 04h	DWORD	sequence number (set to 00000000h before first call)
 08h	BYTE	name space (see #02387)
SeeAlso: #02155

Format of NetWare "Get Name Space Directory Entry" request packet:
Offset	Size	Description	(Table 02155)
 00h	DWORD	next sequence number
 04h	DWORD	subdirectory
 08h	DWORD	attributes
 0Ch	BYTE	unique ID
 0Dh	BYTE	flags
 0Eh	BYTE	name space (see #02387)
 0Fh	BYTE	length of name
 10h 12 BYTEs	filename
 1Ch	DWORD	creation date and time
 20h	DWORD	(big-endian) owner ID
 24h	DWORD	last-backup date and time
 28h	DWORD	(big-endian) last-backup ID
 2Ch	DWORD	last-modification date and time
---DOS file---
 30h	DWORD	(big-endian) last-modification ID
 34h	DWORD	file size
 38h 44 BYTEs	reserved
 64h	WORD	inherited rights mask
 66h	WORD	last-access date
 68h 28 BYTEs	reserved
---DOS subdirectory---
 30h	DWORD	next trustee entry
 34h 48 BYTEs	reserved
 64h	WORD	maximum space
 66h	WORD	inherited rights mask
 68h 26 BYTEs	reserved
---Macintosh subdirectory---
 10h 32 BYTEs	Mac filename
 30h	DWORD	resource fork
 34h	DWORD	resource fork size
 38h 32 BYTEs	Finder information
 58h  6 BYTEs	ProDOS information
 5Eh 38 BYTEs	reserved
SeeAlso: #02154

Top
21F216SF31 - INT 21 - Novell NetWare - OPEN DATA STREAM
INT 21 - Novell NetWare - OPEN DATA STREAM
	AX = F216h subfn 31h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02156)
	ES:DI -> reply buffer (see #02157)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=30h

Format of NetWare "Open Data Stream" request packet:
Offset	Size	Description	(Table 02156)
 00h	WORD	length of following data
 02h	BYTE	31h (subfunction "Open Data Stream")
 03h	BYTE	data stream
 04h	BYTE	directory handle
 05h	BYTE	file attributes
 06h	BYTE	open rights
 07h	BYTE	length of filename
 08h  N BYTEs	filename (8.3)
SeeAlso: #02157

Format of NetWare "Open Data Stream" reply packet:
Offset	Size	Description	(Table 02157)
 00h	DWORD	file handle
SeeAlso: #02156

Top
21F216SF32 - INT 21 - Novell NetWare v2.2+ - GET OBJECT EFFECTIVE RIGHTS
INT 21 - Novell NetWare v2.2+ - GET OBJECT EFFECTIVE RIGHTS
	AX = F216h subfn 32h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02158)
	ES:DI -> reply buffer (see #02159)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F216h/SF=29h

Format of NetWare "Get Object Effective Rights" request buffer:
Offset	Size	Description	(Table 02158)
 00h	WORD	length of following data
 02h	BYTE	32h (subfunction "Get Object Effective Rights")
 03h	DWORD	object ID
 07h	BYTE	directory handle
 08h	var	counted path string
SeeAlso: #02159

Format of NetWare "Get Object Effective Rights" reply buffer:
Offset	Size	Description	(Table 02159)
 00h	WORD	object's effective rights
 02h  6 BYTEs	reserved
SeeAlso: #02158

Top
21F216SF33 - INT 21 - Novell NetWare v2.2+ - GET EXTENDED VOLUME INFORMATION
INT 21 - Novell NetWare v2.2+ - GET EXTENDED VOLUME INFORMATION
	AX = F216h subfn 33h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02160)
	ES:DI -> reply buffer (see #02161)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F216h/SF=29h

Format of NetWare "Get Extended Volume Information" request buffer:
Offset	Size	Description	(Table 02160)
 00h	WORD	length of following data
 02h	BYTE	33h (subfunction "Get Extended Volume Information")
---v2.2---
 03h	BYTE	volume ID
---v4.x---
 03h	DWORD	volume number
SeeAlso: #02161

Format of NetWare "Get Extended Volume Information" reply buffer:
Offset	Size	Description	(Table 02161)
 00h	WORD	length of returned data
 02h	DWORD	volume type
 06h	DWORD	status flag bits
		bit 0: suballocation
		bit 1: compressoin
		bit 2: migration
		bit 3: auditing
 0Ah	DWORD	sector size
 0Eh	DWORD	sectors per cluster
 12h	DWORD	total clusters in volume
 16h	DWORD	free clusters
 1Ah	DWORD	freeable suballocated clusters
 1Eh	DWORD	freeable in-limbo sectors
 22h	DWORD	non-freeable in-limbo sectors
 26h	DWORD	non-freeable available suballocated sectors
 2Ah	DWORD	unuable suballocated sectors
 2Eh	DWORD	total suballocated clusters
 32h	DWORD	number of data streams
 36h	DWORD	number of in-limbo data streams
 3Ah	DWORD	age of oldest deleted file in clock ticks
 3Eh	DWORD	number of compressed data streams
 42h	DWORD	number of compressed in-limbo data streams
 46h	DWORD	number of uncompressable data streams
 4Ah	DWORD	number of precompressed sectors
 4Eh	DWORD	number of compressed sectors
 52h	DWORD	number of migrated files
 56h	DWORD	number of migrated sectors
 5Ah	DWORD	number of clusters used by FAT
 5Eh	DWORD	number of clusters used by directories
 62h	DWORD	number of clusters used by extended directories
 66h	DWORD	total number of directory entries
 6Ah	DWORD	number of unused directory entries
 6Eh	DWORD	total number of extended directory extants
 72h	DWORD	number of unused extended directory extants
 76h	DWORD	number of extended attributes defined (see AX=F256h/SF=04h)
 7Ah	DWORD	number of extended-attribute extants used
 7Eh	DWORD	object ID for Directory Services
 82h	DWORD	date and time volume last modified
 86h	var	counted volume name string
SeeAlso: #02160

Top
21F217SF01 - INT 21 - Novell NetWare - CHANGE USER PASSWORD (OLD)
INT 21 - Novell NetWare - CHANGE USER PASSWORD (OLD)
	AX = F217h subfn 01h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01891 at AH=E3h/SF=01h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Note:	this function requires an object of type USER, unlike the newer
	  password changing function AX=F217h/SF=40h
SeeAlso: AH=F2h"Novell",AH=E3h/SF=01h,AX=F217h/SF=02h,AX=F217h/SF=40h

Top
21F217SF02 - INT 21 - Novell NetWare - GET USER CONNECTION LIST (OLD)
INT 21 - Novell NetWare - GET USER CONNECTION LIST (OLD)
	AX = F217h subfn 02h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01892 at AH=E3h/SF=02h)
	ES:DI -> reply buffer (see #02162)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=02h,AX=F217h/SF=01h,AX=F217h/SF=0Ch

Format of NetWare "Get User Connection List (old)" reply packet:
Offset	Size	Description	(Table 02162)
 00h	BYTE	length of connection list
 01h	BYTE	number of bytes in connection list
 02h  N BYTEs	list of connection numbers in use by user
SeeAlso: #01892

Top
21F217SF0C - INT 21 - Novell NetWare - VERIFY SERIALIZATION
INT 21 - Novell NetWare - VERIFY SERIALIZATION
	AX = F217h subfn 0Ch
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01896 at AH=E3h/SF=0Ch)
	ES:DI -> reply buffer (see #02163)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=0Ch,AX=F217h/SF=12h

Format of NetWare "Verify Serialization" reply packet:
Offset	Size	Description	(Table 02163)
 00h	WORD	server application number
SeeAlso: #01896

Top
21F217SF0E - INT 21 - Novell NetWare - GET DISK UTILIZATION
INT 21 - Novell NetWare - GET DISK UTILIZATION
	AX = F217h subfn 0Eh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01900 at AH=E3h/SF=0Eh)
	ES:DI -> reply buffer (see #02164)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=0Eh,AX=F217h/SF=D6h

Format of NetWare "Get Disk Utilization" reply packet:
Offset	Size	Description	(Table 02164)
 00h	BYTE	volume number (00h-1Fh)
 01h	DWORD	(big-endian) object ID
 05h	WORD	(big-endian) directories used by object
 07h	WORD	(big-endian) files created by object
 09h	WORD	(big-endian) disk blocks used by object-created files
SeeAlso: #01900 at AH=E3h/SF=0Eh

Top
21F217SF0F - INT 21 - Novell NetWare - SCAN FILE INFORMATION
INT 21 - Novell NetWare - SCAN FILE INFORMATION
	AX = F217h subfn 0Fh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01903 at AH=E3h/SF=0Fh)
	ES:DI -> reply buffer (see #02165)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=0Fh,AX=F217h/SF=10h

Format of NetWare "Scan File Information" reply packet:
Offset	Size	Description	(Table 02165)
 00h	WORD	next sequence number (place in request buffer for next call)
 02h 14 BYTEs	ASCIZ filename
 10h	BYTE	file attributes (see #01420 at AX=4301h)
 11h	BYTE	extended file attributes (see #01804 at AH=B6h)
 12h	DWORD	(big-endian) file size in bytes
 16h	WORD	(big-endian) file's creation date (see #01666 at AX=5700h)
 18h	WORD	(big-endian) date of last access (see #01665 at AX=5700h)
 1Ah	DWORD	(big-endian) date and time of last update (see #01846)
 1Eh	DWORD	(big-endian) object ID of owner
 22h	DWORD	(big-endian) date and time last archived (see #01846)
 26h 55 BYTEs	reserved
SeeAlso: #01903 at AH=E3h/SF=0Fh

Top
21F217SF10 - INT 21 - Novell NetWare - SET FILE INFORMATION
INT 21 - Novell NetWare - SET FILE INFORMATION
	AX = F217h subfn 10h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01905 at AH=E3h/SF=10h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=10h,AX=F217h/SF=0Fh

Top
21F217SF11 - INT 21 - Novell NetWare - GET FILE SERVER INFORMATION
INT 21 - Novell NetWare - GET FILE SERVER INFORMATION
	AX = F217h subfn 11h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01907 at AH=E3h/SF=11h)
	ES:DI -> reply buffer (see #02166)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=11h,AX=F217h/SF=F1h

Format of NetWare "Get File Server Information" reply packet:
Offset	Size	Description	(Table 02166)
 00h 48 BYTEs	server's name
 30h	BYTE	NetWare version
 31h	BYTE	NetWare subversion (0-99)
 32h	WORD	(big-endian) number of connections supported
		NetWare 4.01 reportedly returns maximum simulataneously-used
		  connections
 34h	WORD	(big-endian) number of connections in use
 36h	WORD	(big-endian) maximum connected volumes
---Advanced NetWare 2.1+ ---
 38h	BYTE	operating system revision number
 39h	BYTE	fault tolerance (SFT) level
 3Ah	BYTE	TTS level
 3Bh	WORD	(big-endian) maximum simultaneously-used connections
		NetWare 4.01 reportedly returns number of connections in use
 3Dh	BYTE	accounting version
 3Eh	BYTE	VAP version
 3Fh	BYTE	queueing version
 40h	BYTE	print server version
 41h	BYTE	virtual console version
 42h	BYTE	security restrictions level
 43h	BYTE	internetwork bridge version
 44h 60 BYTEs	reserved
SeeAlso: #01907

Top
21F217SF12 - INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
	AX = F217h subfn 12h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01909 at AH=E3h/SF=12h)
	ES:DI -> reply buffer (see #02167)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=12h,AX=F217h/SF=0Ch

Format of NetWare "Get Network Serial Number" reply packet:
Offset	Size	Description	(Table 02167)
 00h   4 BYTEs	(big-endian) NetWare server serial number
 04h   2 BYTEs	(big-endian) NetWare application serial number
SeeAlso: #01909 at AH=E3h/SF=12h

Top
21F217SF13 - INT 21 - Novell NetWare - GET INTERNET ADDRESS (OLD)
INT 21 - Novell NetWare - GET INTERNET ADDRESS (OLD)
	AX = F217h subfn 13h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01911 at AH=E3h/SF=13h)
	ES:DI -> reply buffer (see #02168)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=13h,AX=F217h/SF=1Ah

Format of NetWare "Get Internet Address (old)" reply packet:
Offset	Size	Description	(Table 02168)
 00h  4 BYTEs	network number
 04h  6 BYTEs	physical node address
 0Ah  2 BYTEs	socket number
SeeAlso: #01911 at AH=E3h/SF=13h,#02174

Top
21F217SF14 - INT 21 - Novell NetWare - LOGIN OBJECT
INT 21 - Novell NetWare - LOGIN OBJECT
	AX = F217h subfn 14h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01913 at AH=E3h/SF=14h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=14h,AX=F216h/SF=18h,AX=F217h/SF=CCh
SeeAlso: AX=F258h/SF=03h,AX=F268h/SF=3Dh

Top
21F217SF15 - INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST (OLD)
INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST (OLD)
	AX = F217h subfn 15h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01915 at AH=E3h/SF=15h)
	ES:DI -> reply buffer (see #02169)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=15h,AX=F217h/SF=1Bh

Format of NetWare "Get Object Connection List (old)" reply packet:
Offset	Size	Description	(Table 02169)
 00h	BYTE	number of connections
 01h  N BYTEs	connection list
SeeAlso: #01915

Top
21F217SF16 - INT 21 - Novell NetWare - GET CONNECTION INFORMATION (OLD)
INT 21 - Novell NetWare - GET CONNECTION INFORMATION (OLD)
	AX = F217h subfn 16h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02170)
	ES:DI -> reply buffer (see #02171)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AX=F217h/SF=1Ch,AX=F217h/SF=1Fh

Format of NetWare "Get Connection Information (old)" request packet:
Offset	Size	Description	(Table 02170)
 00h	WORD	0002h (length of following data)
 02h	BYTE	16h (subfunction "Get Connection Information (old)")
 03h	BYTE	target connection number
Note:	connection numbers greater than the maximum supported by the server
	  can cause ABENDs
SeeAlso: #02171

Format of NetWare "Get Connection Information (old)" reply packet:
Offset	Size	Description	(Table 02171)
 00h	DWORD	(big-endian) unique user ID, 00000000h if no one logged in
 04h	WORD	(big-endian) user type
 06h 48 BYTEs	user name
 36h  7 BYTEs	login time (see #02087)
 3Dh	BYTE	reserved
SeeAlso: #02170

Top
21F217SF17 - INT 21 - Novell NetWare - GET ENCRYPTION KEY
INT 21 - Novell NetWare - GET ENCRYPTION KEY
	AX = F217h subfn 17h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02172)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=18h,AX=F217h/SF=4Ah,AX=F217h/SF=4Bh

Format of NetWare "Get Encryption Key" request packet:
Offset	Size	Description	(Table 02172)
 00h	WORD	length of following data
 02h	BYTE	17h (subfunction "Get Encryption Key")
	???

Top
21F217SF18 - INT 21 - Novell NetWare - LOGIN OBJECT ENCRYPTED
INT 21 - Novell NetWare - LOGIN OBJECT ENCRYPTED
	AX = F217h subfn 18h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02173)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=14h,AX=F217h/SF=17h

Format of NetWare "Login Object Encrypted" request packet:
Offset	Size	Description	(Table 02173)
 00h	WORD	length of following data
 02h	BYTE	18h (subfunction "Login Object Encrypted")
	???

Top
21F217SF1A - INT 21 - Novell NetWare - GET INTERNET ADDRESS
INT 21 - Novell NetWare - GET INTERNET ADDRESS
	AX = F217h subfn 1Ah
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02174)
	ES:DI -> reply buffer (see #02175)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=13h

Format of NetWare "Get Internet Address" request packet:
Offset	Size	Description	(Table 02174)
 00h	WORD	length of following data
 02h	BYTE	1Ah (subfunction "Get Internet Address")
 03h	DWORD	target connection ID
SeeAlso: #02175

Format of NetWare "Get Internet Address" reply packet:
Offset	Size	Description	(Table 02175)
 00h  4 BYTEs	network number
 04h  6 BYTEs	physical node address
 0Ah  2 BYTEs	socket number
 0Ch	BYTE	connection type
		00h not in use
		02h NCP
		03h AFP
SeeAlso: #02174

Top
21F217SF1B - INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST
INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST
	AX = F217h subfn 1Bh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02176)
	ES:DI -> reply buffer (see #02177)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=15h

Format of NetWare "Get Object Connection List" request packet:
Offset	Size	Description	(Table 02176)
 00h	WORD	length of following data
 02h	BYTE	1Bh (subfunction "Get Object Connection List")
 03h	DWORD	search connection number
		set to highest connection number returned by previous call, or
		  00000000h before first call
 07h	WORD	object type
 09h	BYTE	length of object's name
 0Ah  N BYTEs	object name
SeeAlso: #02177

Format of NetWare "Get Object Connection List" reply packet:
Offset	Size	Description	(Table 02177)
 00h	BYTE	length of connection number list
 01h  N WORDs	array of server connection numbers
SeeAlso: #02176

Top
21F217SF1C - INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
	AX = F217h subfn 1Ch
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02178)
	ES:DI -> reply buffer (see #02179)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AX=F217h/SF=16h,AX=F217h/SF=1Fh

Format of NetWare "Get Connection Information" request packet:
Offset	Size	Description	(Table 02178)
 00h	WORD	0005h (length of following data)
 02h	BYTE	1Ch (subfunction "Get Connection Information")
 03h	DWORD	target connection number
Note:	connection numbers greater than the maximum supported by the server
	  can cause ABENDs
SeeAlso: #02179,#02170

Format of NetWare "Get Connection Information" reply packet:
Offset	Size	Description	(Table 02179)
 00h	DWORD	(big-endian) unique user ID, 00000000h if no one logged in
 04h	WORD	(big-endian) user type
 06h 48 BYTEs	user name
 36h  7 BYTEs	login time (see #02087)
 3Dh	BYTE	reserved
SeeAlso: #02178,#02171

Top
21F217SF1D - INT 21 - Novell NetWare v4 - CHANGE CONNECTION STATE
INT 21 - Novell NetWare v4 - CHANGE CONNECTION STATE
	AX = F217h subfn 1Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02180)
	ES:DI -> reply buffer
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Change Connection State" requst buffer:
Offset	Size	Description	(Table 02180)
 00h	WORD	length of following data
 02h	BYTE	1Dh (subfunction "Change Connection State")
 03h	DWORD	new state

Top
21F217SF1E - INT 21 - Novell NetWare v4 - SET WATCHDOG DELAY INTERVAL
INT 21 - Novell NetWare v4 - SET WATCHDOG DELAY INTERVAL
	AX = F217h subfn 1Eh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02181)
	ES:DI -> reply buffer
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Set Watchdog Delay Interval" request buffer:
Offset	Size	Description	(Table 02181)
 00h	WORD	length of following data
 02h	BYTE	1Eh (subfunction "Set Watchdog Delay Interval")
 03h	DWORD	interval in minutes

Top
21F217SF1F - INT 21 - Novell NetWare v4 - GET CONNECTION LIST
INT 21 - Novell NetWare v4 - GET CONNECTION LIST
	AX = F217h subfn 1Fh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02182)
	ES:DI -> reply buffer (see #02183)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get Connection List" request buffer:
Offset	Size	Description	(Table 02182)
 00h	WORD	length of following data
 02h	BYTE	1Fh (subfunction "Get Connection List")
 03h	DWORD	object ID
 07h	DWORD	??? (initialize to FFFFFFFFh before first call)
SeeAlso: #02183

Format of NetWare "Get Connection List" reply buffer:
Offset	Size	Description	(Table 02183)
 00h	WORD	number of connections following (max 50)
 02h 50 DWORDs	connection numbers
SeeAlso: #02182

Top
21F217SF32 - INT 21 - Novell NetWare - CREATE BINDERY OBJECT
INT 21 - Novell NetWare - CREATE BINDERY OBJECT
	AX = F217h subfn 32h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01921 at AH=E3h/SF=32h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=32h,AX=F217h/SF=33h,AX=F217h/SF=34h

Top
21F217SF33 - INT 21 - Novell NetWare - DELETE BINDERY OBJECT
INT 21 - Novell NetWare - DELETE BINDERY OBJECT
	AX = F217h subfn 33h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01923 at AH=E3h/SF=33h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=33h,AX=F217h/SF=32h,AX=F217h/SF=34h

Top
21F217SF34 - INT 21 - Novell NetWare - RENAME BINDERY OBJECT
INT 21 - Novell NetWare - RENAME BINDERY OBJECT
	AX = F217h subfn 34h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01924 at AH=E3h/SF=34h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=34h,AX=F217h/SF=32h,AX=F217h/SF=33h

Top
21F217SF35 - INT 21 - Novell NetWare - GET BINDERY OBJECT ID
INT 21 - Novell NetWare - GET BINDERY OBJECT ID
	AX = F217h subfn 35h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01925 at AH=E3h/SF=35h)
	ES:DI -> reply buffer (see #02184)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=35h,AX=F217h/SF=36h,AX=F217h/SF=45h

Format of NetWare "Get Bindery Object ID" reply packet:
Offset	Size	Description	(Table 02184)
 00h	DWORD	(big-endian) object ID
 04h	WORD	(big-endian) type of object
 06h 48 BYTEs	object name
SeeAlso: #01925 at AH=E3h/SF=35h

Top
21F217SF36 - INT 21 - Novell NetWare - GET BINDERY OBJECT NAME
INT 21 - Novell NetWare - GET BINDERY OBJECT NAME
	AX = F217h subfn 36h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01928 at AH=E3h/SF=36h)
	ES:DI -> reply buffer (see #02185)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=36h,AX=F217h/SF=35h,AX=F217h/SF=37h

Format of NetWare "Get Bindery Object Name" reply packet:
Offset	Size	Description	(Table 02185)
 00h	DWORD	(big-endian) object ID
 04h	WORD	(big-endian) type of object
 06h 48 BYTEs	object name
SeeAlso: #01928 at AH=E3h/SF=36h

Top
21F217SF37 - INT 21 - Novell NetWare - SCAN BINDERY OBJECT
INT 21 - Novell NetWare - SCAN BINDERY OBJECT
	AX = F217h subfn 37h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01930 at AH=E3h/SF=37h)
	ES:DI -> reply buffer (see #02186)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=37h,AX=F217h/SF=3Ch

Format of NetWare "Scan Bindery Object" reply packet:
Offset	Size	Description	(Table 02186)
 00h
SeeAlso: #01930

Top
21F217SF38 - INT 21 - Novell NetWare - CHANGE BINDERY OBJECT SECURITY
INT 21 - Novell NetWare - CHANGE BINDERY OBJECT SECURITY
	AX = F217h subfn 38h
	CX = length of request packet in bytes
	DX = 0000h (no reply buffer)
	DS:SI -> request packet	(see #01932 at AH=E3h/SF=38h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=38h,AX=F217h/SF=32h

Top
21F217SF39 - INT 21 - Novell NetWare - CREATE PROPERTY
INT 21 - Novell NetWare - CREATE PROPERTY
	AX = F217h subfn 39h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01934 at AH=E3h/SF=39h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=39h,AX=F217h/SF=3Ah

Top
21F217SF3A - INT 21 - Novell NetWare - DELETE PROPERTY
INT 21 - Novell NetWare - DELETE PROPERTY
	AX = F217h subfn 3Ah
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01936 at AH=E3h/SF=3Ah)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Ah,AX=F217h/SF=39h,AX=F217h/SF=3Bh

Top
21F217SF3B - INT 21 - Novell NetWare - CHANGE PROPERTY SECURITY
INT 21 - Novell NetWare - CHANGE PROPERTY SECURITY
	AX = F217h subfn 3Bh
	CX = length of request packet in bytes
	DX = 0000h (no reply buffer)
	DS:SI -> request packet	(see #01938 at AH=E3h/SF=3Bh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Bh

Top
21F217SF3C - INT 21 - Novell NetWare - SCAN PROPERTY
INT 21 - Novell NetWare - SCAN PROPERTY
	AX = F217h subfn 3Ch
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01939 at AH=E3h/SF=3Ch)
	ES:DI -> reply buffer (see #02187)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Ch,AX=F217h/SF=39h,AX=F217h/SF=3Dh

Format of NetWare "Scan Property" reply packet:
Offset	Size	Description	(Table 02187)
 00h
SeeAlso: #01939

Top
21F217SF3D - INT 21 - Novell NetWare - READ PROPERTY VALUE
INT 21 - Novell NetWare - READ PROPERTY VALUE
	AX = F217h subfn 3Dh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01942 at AH=E3h/SF=3Dh)
	ES:DI -> reply buffer (see #02188)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Dh,AX=F217h/SF=39h,AX=F217h/SF=3Eh

Format of NetWare "Read Property Value" request packet:
Offset	Size	Description	(Table 02188)
 00h
SeeAlso: #01942

Top
21F217SF3E - INT 21 - Novell NetWare - WRITE PROPERTY VALUE
INT 21 - Novell NetWare - WRITE PROPERTY VALUE
	AX = F217h subfn 3Eh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01944 at AH=E3h/SF=3Eh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Eh,AX=F217h/SF=39h,AX=F217h/SF=3Dh

Top
21F217SF3F - INT 21 - Novell NetWare - VERIFY BINDERY OBJECT PASSWORD
INT 21 - Novell NetWare - VERIFY BINDERY OBJECT PASSWORD
	AX = F217h subfn 3Fh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01947 at AH=E3h/SF=3Fh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Fh,AX=F217h/SF=40h

Top
21F217SF40 - INT 21 - Novell NetWare - CHANGE BINDERY OBJECT PASSWORD
INT 21 - Novell NetWare - CHANGE BINDERY OBJECT PASSWORD
	AX = F217h subfn 40h
	CX = length of request packet in bytes
	DX = 0000h (no reply buffer)
	DS:SI -> request packet (see #01948 at AH=E3h/SF=40h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=40h,AX=F217h/SF=3Fh

Top
21F217SF41 - INT 21 - Novell NetWare v2.2+ - ADD OBJECT TO SET
INT 21 - Novell NetWare v2.2+ - ADD OBJECT TO SET
	AX = F217h subfn 41h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01951 at AH=E3h/SF=41h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Desc:	add a member to an object's group property
SeeAlso: AH=F2h"Novell",AH=E3h/SF=41h,AX=F217h/SF=42h,AX=F217h/SF=43h

Top
21F217SF42 - INT 21 - Novell NetWare - DELETE BINDERY OBJECT FROM SET
INT 21 - Novell NetWare - DELETE BINDERY OBJECT FROM SET
	AX = F217h subfn 42h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01952 at AH=E3h/SF=42h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=42h,AX=F217h/SF=41h,AX=F217h/SF=43h

Top
21F217SF43 - INT 21 - Novell NetWare - IS BINDERY OBJECT IN SET?
INT 21 - Novell NetWare - IS BINDERY OBJECT IN SET?
	AX = F217h subfn 43h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01954 at AH=E3h/SF=43h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=43h,AX=F217h/SF=41h,AX=F217h/SF=42h

Top
21F217SF44 - INT 21 - Novell NetWare - CLOSE BINDERY
INT 21 - Novell NetWare - CLOSE BINDERY
	AX = F217h subfn 44h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01955 at AH=E3h/SF=44h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=44h,AX=F217h/SF=45h

Top
21F217SF45 - INT 21 - Novell NetWare - OPEN BINDERY
INT 21 - Novell NetWare - OPEN BINDERY
	AX = F217h subfn 45h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet	(see #01956 at AH=E3h/SF=45h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=45h,AX=F217h/SF=44h

Top
21F217SF46 - INT 21 - Novell NetWare - GET BINDERY ACCESS LEVEL
INT 21 - Novell NetWare - GET BINDERY ACCESS LEVEL
	AX = F217h subfn 46h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01957 at AH=E3h/SF=46h)
	ES:DI -> reply buffer (see #02189)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=46h,AX=F217h/SF=45h

Format of NetWare "Get Bindery Access Level" reply packet:
Offset	Size	Description	(Table 02189)
 00h	BYTE	security levels
 01h	DWORD	(big-endian) object ID
SeeAlso: #01957,#01958 at AH=E3h/SF=46h

Top
21F217SF47 - INT 21 - Novell NetWare - SCAN BINDERY OBJECT TRUSTEE PATHS
INT 21 - Novell NetWare - SCAN BINDERY OBJECT TRUSTEE PATHS
	AX = F217h subfn 47h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01959 at AH=E3h/SF=47h)
	ES:DI -> reply buffer (see #02190)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=47h,AX=F216h/SF=0Ch,AX=F217h/SF=48h

Format of NetWare "Scan Bindery Object Trustee Paths" reply packet:
Offset	Size	Description	(Table 02190)
 00h	WORD	(big-endian) next sequence number
 02h	DWORD	(big-endian) object ID
 06h	BYTE	trustee directory rights (see #01849 at AH=E2h/SF=03h)
 07h	BYTE	length of trustee path
 08h  N BYTEs	trustee path
SeeAlso: #01959,#01960 at AH=E3h/SF=47h

Top
21F217SF48 - INT 21 - Novell NetWare - GET BINDERY OBJECT ACCESS LEVEL
INT 21 - Novell NetWare - GET BINDERY OBJECT ACCESS LEVEL
	AX = F217h subfn 48h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02191)
	ES:DI -> reply buffer (see #02192)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=45h,AX=F217h/SF=46h

Format of NetWare "Get Bindery Object Access Level" request packet:
Offset	Size	Description	(Table 02191)
 00h	WORD	length of following data (max ABh)
 02h	BYTE	48h (subfunction "Get Bindery Object Access Level")
 03h	DWORD	object ID
SeeAlso: #02192

Format of NetWare "Get Bindery Object Access Level" reply packet:
Offset	Size	Description	(Table 02192)
 00h	BYTE	object access level
SeeAlso: #02191

Top
21F217SF49 - INT 21 - Novell NetWare - IS STATION A MANAGER?
INT 21 - Novell NetWare - IS STATION A MANAGER?
	AX = F217h subfn 49h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02193)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=43h

Format of NetWare "Is Station A Manager?" request packet:
Offset	Size	Description	(Table 02193)
 00h	WORD	length of following data
 02h	BYTE	49h (subfunction "Is Station A Manager?")
 03h	DWORD	object ID

Top
21F217SF4A - INT 21 - Novell NetWare - KEYED VERIFY BINDERY OBJECT PASSWORD
INT 21 - Novell NetWare - KEYED VERIFY BINDERY OBJECT PASSWORD
	AX = F217h subfn 4Ah
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02194)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=4Bh

Format of NetWare "Keyed Verify Bindery Object Password" request packet:
Offset	Size	Description	(Table 02194)
 00h	WORD	length of following data
 02h	BYTE	4Ah (subfunction "Keyed Verify Bindery Object Password")
 03h  8 BYTEs	key
 0Bh	WORD	type
 0Dh	BYTE	length of object's name
 0Eh  N BYTEs	object name
SeeAlso: #02195

Top
21F217SF4B - INT 21 - Novell NetWare - KEYED CHANGE BINDERY OBJECT PASSWORD
INT 21 - Novell NetWare - KEYED CHANGE BINDERY OBJECT PASSWORD
	AX = F217h subfn 4Bh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02195)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=4Ah

Format of NetWare "Keyed Change Bindery Object Password" request packet:
Offset	Size	Description	(Table 02195)
 00h	WORD	length of following data
 02h	BYTE	4Bh (subfunction "Keyed Change Bindery Object Password")
 03h  8 BYTEs	key
 0Bh	WORD	type
 0Dh	BYTE	length of object name
 0Eh  N BYTEs	object name
	BYTE	length of new password
      N BYTEs	new password
SeeAlso: #01948

Top
21F217SF4C - INT 21 - Novell NetWare - LIST RELATIONS OF AN OBJECT
INT 21 - Novell NetWare - LIST RELATIONS OF AN OBJECT
	AX = F217h subfn 4Ch
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02196)
	ES:DI -> reply buffer (see #02197)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=39h

Format of NetWare "List Relations Of An Object" request packet:
Offset	Size	Description	(Table 02196)
 00h	WORD	length of following data
 02h	BYTE	4Ch (subfunction "List Relations Of An Object")
 03h	DWORD	last bindery ID seen (set to FFFFFFFFh on first call)
 07h	WORD	object type
 09h	BYTE	length of object's name
 0Ah  N BYTEs	object's name
	BYTE	length of property name
      N BYTEs	property name
SeeAlso: #02197

Format of NetWare "List Relations Of An Object" reply packet:
Offset	Size	Description	(Table 02197)
 00h	WORD	number of relations returned
 02h	var	relations
SeeAlso: #02196

Top
21F217SF64 - INT 21 - Novell NetWare v2.1+ - CREATE QUEUE
INT 21 - Novell NetWare v2.1+ - CREATE QUEUE
	AX = F217h subfn 64h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01962 at AH=E3h/SF=64h)
	ES:DI -> reply buffer (see #02198)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=64h,AX=F217h/SF=65h,AX=F217h/SF=66h

Format of NetWare "Create Queue" reply packet:
Offset	Size	Description	(Table 02198)
 00h	DWORD	(big-endian) object ID of queue
SeeAlso: #01962,#01963

Top
21F217SF65 - INT 21 - Novell NetWare v2.1+ - DESTROY QUEUE
INT 21 - Novell NetWare v2.1+ - DESTROY QUEUE
	AX = F217h subfn 65h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01964 at AH=E3h/SF=65h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=65h,AX=F217h/SF=64h,AX=F217h/SF=66h

Top
21F217SF66 - INT 21 - Novell NetWare v2.1+ - READ QUEUE CURRENT STATUS (OLD)
INT 21 - Novell NetWare v2.1+ - READ QUEUE CURRENT STATUS (OLD)
	AX = F217h subfn 66h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01965 at AH=E3h/SF=64h)
	ES:DI -> reply buffer (see #02199)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=66h,AX=F217h/SF=64h,AX=F217h/SF=67h

Format of NetWare "Read Queue Current Status (Old)" reply packet:
Offset	Size	Description	(Table 02199)
 00h	DWORD	(big-endian) object ID of queue
 04h	BYTE	status of queue (see #01967)
 05h	BYTE	number of jobs in queue (00h-FAh)
 06h	BYTE	number of servers attached to queue (00h-19h)
 07h 25 DWORDs	list of object IDs of attached servers
 6Bh 25 BYTEs	list of attached servers' stations
 84h	BYTE	(call) maximum number of servers to return
SeeAlso: #01965,#01966 at AH=E3h/SF=66h

Top
21F217SF67 - INT 21 - Novell NetWare v2.1+ - SET QUEUE CURRENT STATUS (OLD)
INT 21 - Novell NetWare v2.1+ - SET QUEUE CURRENT STATUS (OLD)
	AX = F217h subfn 67h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01968 at AH=E3h/SF=67h)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=67h,AX=F217h/SF=66h,AX=F217h/SF=68h

Top
21F217SF68 - INT 21 - Novell NetWare v2.1+ - CREATE QUEUE JOB AND FILE (OLD)
INT 21 - Novell NetWare v2.1+ - CREATE QUEUE JOB AND FILE (OLD)
	AX = F217h subfn 68h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01970 at AH=E3h/SF=68h)
	ES:DI -> reply buffer (see #02200)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=68h,AX=F217h/SF=67h,AX=F217h/SF=69h

Format of NetWare "Create Queue Job And File (Old)" reply packet:
Offset	Size	Description	(Table 02200)
 00h	BYTE	client station
 01h	BYTE	client task number
 02h	DWORD	(big-endian) object ID of client
 06h	DWORD	(big-endian) object ID of target server
 0Ah  6 BYTEs	target execution time (year,month,day,hour,minute,second)
 10h  6 BYTEs	job entry time (year,month,day,hour,minute,second)
 16h	WORD	(big-endian) job number
 18h	WORD	(big-endian) job type
 1Ah	BYTE	job position
 1Bh	BYTE	job control flags (see #01980)
 1Ch 14 BYTEs	ASCIZ job file name
 2Ah  6 BYTEs	job file handle
 30h	BYTE	server station
 31h	BYTE	server task number
 32h	DWORD	(big-endian) object ID of server or 00000000h
SeeAlso: #01970,#01972

Top
21F217SF69 - INT 21 - Novell NetWare v2.1+ - CLOSE FILE AND START QUEUE JOB (OLD)
INT 21 - Novell NetWare v2.1+ - CLOSE FILE AND START QUEUE JOB (OLD)
	AX = F217h subfn 69h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01973 at AH=E3h/SF=69h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=69h,AX=F217h/SF=6Ah,AX=F217h/SF=7Fh

Top
21F217SF6A - INT 21 - Novell NetWare v2.1+ - REMOVE JOB FROM QUEUE (OLD)
INT 21 - Novell NetWare v2.1+ - REMOVE JOB FROM QUEUE (OLD)
	AX = F217h subfn 6Ah
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01975 at AH=E3h/SF=6Ah)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Ah,AX=F217h/SF=68h,AX=F217h/SF=69h

Top
21F217SF6B - INT 21 - Novell NetWare v2.1+ - GET QUEUE JOB LIST (OLD)
INT 21 - Novell NetWare v2.1+ - GET QUEUE JOB LIST (OLD)
	AX = F217h subfn 6Bh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01976 at AH=E3h/SF=6Bh)
	ES:DI -> reply buffer (see #02201)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Bh,AX=F217h/SF=6Ah,AX=F217h/SF=6Ch
SeeAlso: AX=F217h/SF=81h

Format of NetWare "Get Queue Job List (old)" reply packet:
Offset	Size	Description	(Table 02201)
 00h	WORD	(big-endian) job count
 02h  N WORDs	(big-endian) list of job numbers by position in queue
SeeAlso: #01976,#01977 at AH=E3h/SF=6Bh

Top
21F217SF6C - INT 21 - Novell NetWare v2.1+ - READ QUEUE JOB ENTRY (OLD)
INT 21 - Novell NetWare v2.1+ - READ QUEUE JOB ENTRY (OLD)
	AX = F217h subfn 6Ch
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01978 at AH=E3h/SF=6Ch)
	ES:DI -> reply buffer (see #02202)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Ch,AX=F217h/SF=6Bh,AX=F217h/SF=6Dh

Format of NetWare "Read Queue Job Entry (old)" reply packet:
Offset	Size	Description	(Table 02202)
 00h	BYTE	client station number
 01h	BYTE	client task number
 02h	DWORD	object ID of client
 06h	DWORD	(big-endian) object ID of target server
		FFFFFFFFh if any server acceptable
 0Ah  6 BYTEs	target execution time (year,month,day,hour,minute,second)
		FFFFFFFFFFFFh if serviced as soon as possible
 10h  6 BYTEs	job entry time (year,month,day,hour,minute,second)
 16h	WORD	(big-endian) job number
 18h	WORD	(big-endian) job type
 1Ah	BYTE	job position
 1Bh	BYTE	job control flags (see #01980)
 1Ch 14 BYTEs	ASCIZ job filename
 2Ah  6 BYTEs	job file handle
 30h	BYTE	server station
 31h	BYTE	server task number
 32h	DWORD	object ID of server
 36h 50 BYTEs	ASCIZ job description string
 68h 152 BYTEs	client record area
SeeAlso: #01978,#01979

Top
21F217SF6D - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY (OLD)
INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY (OLD)
	AX = F217h subfn 6Dh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01981 at AH=E3h/SF=6Dh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=7Bh,AH=E3h/SF=6Dh,AX=F217h/SF=6Ch

Top
21F217SF6E - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB POSITION
INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB POSITION
	AX = F217h subfn 6Eh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01982 at AH=E3h/SF=6Eh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AX=F217h/SF=6Dh,AH=E3h/SF=6Eh

Top
21F217SF6F - INT 21 - Novell NetWare v2.1+ - ATTACH QUEUE SERVER TO QUEUE
INT 21 - Novell NetWare v2.1+ - ATTACH QUEUE SERVER TO QUEUE
	AX = F217h subfn 6Fh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01984 at AH=E3h/SF=6Fh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Fh,AX=F217h/SF=D2h

Top
21F217SF70 - INT 21 - Novell NetWare v2.1+ - DETACH QUEUE SERVER FROM QUEUE
INT 21 - Novell NetWare v2.1+ - DETACH QUEUE SERVER FROM QUEUE
	AX = F217h subfn 70h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01985 at AH=E3h/SF=70h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=70h,AX=F217h/SF=6Fh

Top
21F217SF71 - INT 21 - Novell NetWare v2.1+ - SERVICE QUEUE JOB AND OPEN FILE
INT 21 - Novell NetWare v2.1+ - SERVICE QUEUE JOB AND OPEN FILE
	AX = F217h subfn 71h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01986 at AH=E3h/SF=71h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Notes:	the caller must be on a workstation which is security-equivalent to a
	  member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
SeeAlso: AH=E3h/SF=71h,AX=F217h/SF=70h,AX=F217h/SF=72h

Top
21F217SF72 - INT 21 - Novell NetWare v2.1+ - FINISH SERVICING QUEUE JOB (OLD)
INT 21 - Novell NetWare v2.1+ - FINISH SERVICING QUEUE JOB (OLD)
	AX = F217h subfn 72h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01987 at AH=E3h/SF=72h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=72h,AX=F217h/SF=71h,AX=F217h/SF=73h
SeeAlso: AX=F217h/SF=83h

Top
21F217SF73 - INT 21 - Novell NetWare v2.1+ - ABORT SERVICING QUEUE JOB (OLD)
INT 21 - Novell NetWare v2.1+ - ABORT SERVICING QUEUE JOB (OLD)
	AX = F217h subfn 73h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01988 at AH=E3h/SF=73h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=73h,AX=F217h/SF=72h,AX=F217h/SF=84h

Top
21F217SF74 - INT 21 - Novell NetWare v2.1+ - CHANGE TO CLIENT RIGHTS (OLD)
INT 21 - Novell NetWare v2.1+ - CHANGE TO CLIENT RIGHTS (OLD)
	AX = F217h subfn 74h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01990 at AH=E3h/SF=74h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Desc:	temporarily assume the login identity of the client submitting the
	  job being serviced
SeeAlso: AH=F2h"NetWare",AH=E3h/SF=74h,AX=F217h/SF=85h

Top
21F217SF75 - INT 21 - Novell NetWare v2.1+ - RESTORE QUEUE SERVER RIGHTS
INT 21 - Novell NetWare v2.1+ - RESTORE QUEUE SERVER RIGHTS
	AX = F217h subfn 75h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01991 at AH=E3h/SF=75h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=75h,AX=F217h/SF=74h

Top
21F217SF76 - INT 21 - Novell NetWare - READ QUEUE SERVER CURRENT STATUS (OLD)
INT 21 - Novell NetWare - READ QUEUE SERVER CURRENT STATUS (OLD)
	AX = F217h subfn 76h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01992 at AH=E3h/SF=76h)
	ES:DI -> reply buffer (see #02203)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=76h,AX=F217h/SF=74h,AX=F217h/SF=77h

Format of NetWare "Read Queue Server Current Status (old)" reply packet:
Offset	Size	Description	(Table 02203)
 00h 64 BYTEs	server status record (format depends on server)
		first four bytes should contain estimated "price" for an
		  average job
SeeAlso: #01992,#01993 at AH=E3h/SF=76h

Top
21F217SF77 - INT 21 - Novell NetWare - SET QUEUE SERVER CURRENT STATUS
INT 21 - Novell NetWare - SET QUEUE SERVER CURRENT STATUS
	AX = F217h subfn 77h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01994 at AH=E3h/SF=77h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=77h,AX=F217h/SF=76h

Top
21F217SF78 - INT 21 - Novell NetWare - GET QUEUE JOB FILE SIZE (OLD)
INT 21 - Novell NetWare - GET QUEUE JOB FILE SIZE (OLD)
	AX = F217h subfn 78h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #01996 at AH=E3h/SF=78h)
	ES:DI -> reply buffer (see #02204)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=78h,AX=F217h/SF=71h,AX=F217h/SF=79h

Format of NetWare "Get Queue Job File Size (old)" reply packet:
Offset	Size	Description	(Table 02204)
 00h	DWORD	(big-endian) object ID of queue
 04h	WORD	(big-endian) job number
 06h	DWORD	(big-endian) size of job file in bytes
SeeAlso: #01996,#01997 at AH=E3h/SF=78h

Top
21F217SF79 - INT 21 - Novell NetWare - CREATE QUEUE JOB AND FILE
INT 21 - Novell NetWare - CREATE QUEUE JOB AND FILE
	AX = F217h subfn 79h
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02205)
	ES:DI -> reply buffer (see #02206)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=7Ah,AX=F217h/SF=7Bh

Format of NetWare "Create Queue Job And File" request packet:
Offset	Size	Description	(Table 02205)
 00h	WORD	length of following data
 02h	BYTE	79h (subfunction "Create Queue Job And File")
 03h	DWORD	queue ID
 07h 280 BYTEs	queue job structure (see #02210)
SeeAlso: #02206,#02207,#02209

Format of NetWare "Create Queue Job And File" reply packet:
Offset	Size	Description	(Table 02206)
 00h 10 BYTEs	reserved for future use
 0Ah	DWORD	client station
 0Eh	DWORD	client task
 12h	DWORD	client ID
 16h	DWORD	target server ID
 1Ah  6 BYTEs	target execution time year,month,day,hour,minute,second
		(FFFFFFFFFFFFh = first opportunity)
 20h  6 BYTEs	job entry time
		(set by queue manager)
 26h	DWORD	job number (1-999) assigned by queue manager
 2Ah	WORD	job type
 2Ch	WORD	position of job in queue (0001h = first, etc.)
 2Eh	WORD	job control flags (see #01980 at AH=E3h/SF=6Ch)
 30h 14 BYTEs	ASCIZ job file name
 3Eh	DWORD	job file handle	(set by queue manager)
 42h	DWORD	server station (set by queue manager)
 46h	DWORD	server task number (set by queue manager)
 4Ah	DWORD	server object ID (set by queue manager)
SeeAlso: #02205,#02210

Top
21F217SF7A - INT 21 - Novell NetWare - READ QUEUE JOB ENTRY
INT 21 - Novell NetWare - READ QUEUE JOB ENTRY
	AX = F217h subfn 7Ah
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02207)
	ES:DI -> reply buffer (see #02208)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=79h,AX=F217h/SF=7Bh

Format of NetWare "Read Queue Job Entry" request packet:
Offset	Size	Description	(Table 02207)
 00h	WORD	length of following data
 02h	BYTE	7Ah (subfunction "Read Queue Job Entry")
 03h	DWORD	queue ID
 07h	DWORD	job entry number
SeeAlso: #02208,#02205,#02209

Format of NetWare "Read Queue Job Entry" reply packet:
Offset	Size	Description	(Table 02208)
 00h 280 BYTEs	job structure (see #02210)
SeeAlso: #02207

Top
21F217SF7B - INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY
INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY
	AX = F217h subfn 7Bh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02209)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=6Dh,AX=F217h/SF=79h,AX=F217h/SF=7Dh

Format of NetWare "Change Queue Job Entry" request packet:
Offset	Size	Description	(Table 02209)
 00h	WORD	length of following data
 02h	BYTE	7Bh (subfunction "Change Queue Job Entry")
 03h	DWORD	queue ID
 07h 280 BYTEs	job structure (see #02210)
SeeAlso: #02205,#02207

Format of NetWare v3.11+ job structure:
Offset	Size	Description	(Table 02210)
 00h	WORD	record-in-use flag
 02h	DWORD	-> previous record
 06h	DWORD	-> next record
 0Ah	DWORD	client station connection number
 0Eh	DWORD	client task number
		(set by queue manager)
 12h	DWORD	client object ID
 16h	DWORD	target server object ID
 1Ah  6 BYTEs	target execution time year,month,day,hour,minute,second
		(FFFFFFFFFFFFh = first opportunity)
 20h  6 BYTEs	job entry time
		(set by queue manager)
 26h	DWORD	job number (1-999) assigned by queue manager
 2Ah	WORD	job type
 2Ch	WORD	position of job in queue (0001h = first, etc.)
 2Eh	WORD	job control flags (see #01980 at AH=E3h/SF=6Ch)
 30h 14 BYTEs	ASCIZ job file name
 3Eh	DWORD	job file handle	(set by queue manager)
 42h	DWORD	server station (set by queue manager)
 46h	DWORD	server task number (set by queue manager)
 4Ah	DWORD	server object ID (set by queue manager)
 4Eh 50 BYTEs	ASCIZ job description string
 80h 152 BYTEs	client record area
SeeAlso: #02209,#01971

Top
21F217SF7D - INT 21 - Novell NetWare - READ QUEUE CURRENT STATUS
INT 21 - Novell NetWare - READ QUEUE CURRENT STATUS
	AX = F217h subfn 7Dh
	CX = length of request packet in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request packet (see #02211)
	ES:DI -> reply buffer (see #02212)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=66h,AX=F217h/SF=79h,AX=F217h/SF=7Bh
SeeAlso: AX=F217h/SF=7Eh

Format of NetWare "Read Queue Current Status" request packet:
Offset	Size	Description	(Table 02211)
 00h	WORD	length of following data
 02h	BYTE	7Dh (subfunction "Read Queue Current Status")
 03h	DWORD	(big-endian) object ID of queue
SeeAlso: #02212,#02213

Format of NetWare "Read Queue Current Status" reply packet:
Offset	Size	Description	(Table 02212)
 00h	DWORD	queue ID
 04h	DWORD	queue status
		bit 0: no more jobs can be added
		bit 1: no more queue servers can be attached
		bit 2: attached queu servers can not service queue jobs
 08h	DWORD	current number of jobs in queue
 0Ch	DWORD	number of servers attached to queue
 10h  N DWORDs	attached server IDs
SeeAlso: #02211,#01966 at AH=E3h/SF=66h

Top
21F217SF7E - INT 21 - Novell NetWare - SET QUEUE CURRENT STATUS
INT 21 - Novell NetWare - SET QUEUE CURRENT STATUS
	AX = F217h subfn 7Eh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02213)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=7Dh

Format of NetWare "Set Queue Current Status" request packet:
Offset	Size	Description	(Table 02213)
 00h	WORD	length of following data
 02h	BYTE	7Eh (subfunction "Set Queue Current Status")
 03h	DWORD	queue ID
 07h	DWORD	queue status
		bit 0: no more jobs can be added
		bit 1: no more queue servers can be attached
		bit 2: attached queu servers can not service queue jobs
SeeAlso: #02211

Top
21F217SF7F - INT 21 - Novell NetWare - CLOSE FILE AND START QUEUE JOB
INT 21 - Novell NetWare - CLOSE FILE AND START QUEUE JOB
	AX = F217h subfn 7Fh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02214)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=69h,AX=F217h/SF=80h,AX=F217h/SF=81h

Format of NetWare "Close File And Start Queue Job" request packet:
Offset	Size	Description	(Table 02214)
 00h	WORD	length of following data
 02h	BYTE	7Fh (subfunction "Close File And Start Queue Job")
 03h	DWORD	queue ID
 07h	DWORD	job number

Top
21F217SF80 - INT 21 - Novell NetWare - REMOVE JOB FROM QUEUE
INT 21 - Novell NetWare - REMOVE JOB FROM QUEUE
	AX = F217h subfn 80h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02215)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=6Ah,AX=F217h/SF=7Fh

Format of NetWare "Remove Job From Queue" request packet:
Offset	Size	Description	(Table 02215)
 00h	WORD	length of following data
 02h	BYTE	80h (subfunction "Remove Job From Queue")
 03h	DWORD	queue ID
 07h	DWORD	job number (returned when job was added to queue)

Top
21F217SF81 - INT 21 - Novell NetWare - GET QUEUE JOB LIST
INT 21 - Novell NetWare - GET QUEUE JOB LIST
	AX = F217h subfn 81h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02216)
	ES:DI -> reply buffer (see #02217)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=6Bh

Format of NetWare "Get Queue Job List" request packet:
Offset	Size	Description	(Table 02216)
 00h	WORD	length of following data
 02h	BYTE	81h (subfunction "Get Queue Job List")
 03h	DWORD	queue ID
 07h	DWORD	address of next job in queue
SeeAlso: #02217

Format of NetWare "Get Queue Job List" reply packet:
Offset	Size	Description	(Table 02217)
 00h	DWORD	total jobs in queue
 04h	DWORD	length of job number list (max 125)
 08h  N DWORDs	list of job numbers in queue
SeeAlso: #02216

Top
21F217SF82 - INT 21 - Novell NetWare v2.1+ - CHANGE JOB PRIORITY
INT 21 - Novell NetWare v2.1+ - CHANGE JOB PRIORITY
	AX = F217h subfn 82h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02218)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell"

Format of NetWare "Change Job Priority" request packet:
Offset	Size	Description	(Table 02218)
 00h	WORD	length of following data
 02h	BYTE	82h (subfunction "Change Job Priority")
 03h	DWORD	queue ID
 07h	DWORD	job number
 0Bh	DWORD	priority

Top
21F217SF83 - INT 21 - Novell NetWare v3.1+ - FINISH SERVICING QUEUE JOB
INT 21 - Novell NetWare v3.1+ - FINISH SERVICING QUEUE JOB
	AX = F217h subfn 83h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #01998 at AH=E3h/SF=83h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=83h,AX=F217h/SF=72h,AX=F217h/SF=84h

Top
21F217SF84 - INT 21 - Novell NetWare v3.1+ - ABORT SERVICING QUEUE JOB
INT 21 - Novell NetWare v3.1+ - ABORT SERVICING QUEUE JOB
	AX = F217h subfn 84h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02000 at AH=E3h/SF=84h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Desc:	inform the Queue Management System (QMS) that the queue server is
	  unable to service a previously-accepted job
SeeAlso: AH=F2h"Novell",AH=E3h/SF=84h,AX=F217h/SF=73h,AX=F217h/SF=83h

Top
21F217SF85 - INT 21 - Novell NetWare v3.1+ - CHANGE TO CLIENT RIGHTS
INT 21 - Novell NetWare v3.1+ - CHANGE TO CLIENT RIGHTS
	AX = F217h subfn 85h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02219)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Desc:	temporarily assume the login identity of the client submitting the
	  job being serviced
SeeAlso: AH=F2h"NetWare",AH=E3h/SF=74h,AX=F217h/SF=74h

Format of NetWare "Change to Client Rights" request packet:
Offset	Size	Description	(Table 02219)
 00h	WORD	length of following data
 02h	BYTE	85h (subfunction "Change to Client Rights")
 03h	DWORD	queue object ID
 07h	DWORD	job number
SeeAlso: #01990

Top
21F217SF86 - INT 21 - Novell NetWare v3.1+ - READ QUEUE SERVER CURRENT STATUS
INT 21 - Novell NetWare v3.1+ - READ QUEUE SERVER CURRENT STATUS
	AX = F217h subfn 86h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02220)
	ES:DI -> reply buffer (see #02221)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=76h,AX=F217h/SF=77h,AX=F217h/SF=7Dh

Format of NetWare "Read Queue Server Current Status" request packet:
Offset	Size	Description	(Table 02220)
 00h	WORD	length of following data
 02h	BYTE	86h (subfunction "Read Queue Server Current Status")
 03h	DWORD	queue ID
 07h	DWORD	server ID
 0Bh	DWORD	connection ID
SeeAlso: #02221

Format of NetWare "Read Queue Server Current Status" request packet:
Offset	Size	Description	(Table 02221)
 00h 64 BYTEs	server status record
SeeAlso: #02220

Top
21F217SF87 - INT 21 - Novell NetWare v3.1+ - GET QUEUE JOB FILE SIZE
INT 21 - Novell NetWare v3.1+ - GET QUEUE JOB FILE SIZE
	AX = F217h subfn 87h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02222)
	ES:DI -> reply buffer (see #02223)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=78h

Format of NetWare "Get Queue Job File Size" request packet:
Offset	Size	Description	(Table 02222)
 00h	WORD	length of following data
 02h	BYTE	87h (subfunction "Get Queue Job File Size")
	???
SeeAlso: #02223

Format of NetWare "Get Queue Job File Size" request packet:
Offset	Size	Description	(Table 02223)
 00h	???
SeeAlso: #02222

Top
21F217SF96 - INT 21 - Novell NetWare - GET ACCOUNT STATUS
INT 21 - Novell NetWare - GET ACCOUNT STATUS
	AX = F217h subfn 96h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02003 at AH=E3h/SF=96h)
	ES:DI -> reply buffer (see #02224)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=96h,AX=F217h/SF=97h,AX=F217h/SF=98h

Format of NetWare "Get Account Status" reply packet:
Offset	Size	Description	(Table 02224)
 00h	DWORD	(big-endian) account balance
 04h	DWORD	(big-endian) credit limit
		signed number indicating lowest allowable account balance
 06h 120 BYTEs	reserved
 80h	DWORD	(big-endian) object ID, server 1
 84h	DWORD	(big-endian) hold amount, server 1
	...
 F6h	DWORD	(big-endian) object ID, server 16
 FAh	DWORD	(big-endian) hold amount, server 16
Note:	the reply buffer lists the servers which have placed holds on a portion
	  of the account balance, and the amount reserved by each
SeeAlso: #02003,#02004 at AH=E3h/SF=96h

Top
21F217SF97 - INT 21 - Novell NetWare - SUBMIT ACCOUNT CHARGE
INT 21 - Novell NetWare - SUBMIT ACCOUNT CHARGE
	AX = F217h subfn 97h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02005 at AH=E3h/SF=97h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=97h,AX=F217h/SF=96h,AX=F217h/SF=98h

Top
21F217SF98 - INT 21 - Novell NetWare - SUBMIT ACCOUNT HOLD
INT 21 - Novell NetWare - SUBMIT ACCOUNT HOLD
	AX = F217h subfn 98h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02006 at AH=E3h/SF=98h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=98h,AX=F217h/SF=97h,AX=F217h/SF=99h

Top
21F217SF99 - INT 21 - Novell NetWare - SUBMIT ACCOUNT NOTE
INT 21 - Novell NetWare - SUBMIT ACCOUNT NOTE
	AX = F217h subfn 99h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02008 at AH=E3h/SF=99h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=99h,AX=F217h/SF=96h,AX=F217h/SF=98h

Top
21F217SFC8 - INT 21 - Novell NetWare - CHECK CONSOLE PRIVILEGES
INT 21 - Novell NetWare - CHECK CONSOLE PRIVILEGES
	AX = F217h subfn C8h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02009 at AH=E3h/SF=C8h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=C8h,AX=F217h/SF=C9h,AX=F217h/SF=D1h

Top
21F217SFC9 - INT 21 - Novell NetWare - GET FILE SERVER DESCRIPTION STRINGS
INT 21 - Novell NetWare - GET FILE SERVER DESCRIPTION STRINGS
	AX = F217h subfn C9h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02010 at AH=E3h/SF=C9h)
	ES:DI -> reply buffer (see #02225)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=C9h,AX=F217h/SF=C8h,AX=F217h/SF=CAh

Format of NetWare "Get File Server Description Strings" reply packet:
Offset	Size	Description	(Table 02225)
 00h	var	ASCIZ name of company distributing this copy of NetWare
	var	ASCIZ version and revision
      9 BYTEs	ASCIZ revision date (mm/dd/yy)
	var	ASCIZ copyright notice
SeeAlso: #02010,#02011 at AH=E3h/SF=C9h

Top
21F217SFCA - INT 21 - Novell NetWare - SET FILE SERVER DATE AND TIME
INT 21 - Novell NetWare - SET FILE SERVER DATE AND TIME
	AX = F217h subfn CAh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02012 at AH=E3h/SF=CAh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=CAh,AX=F217h/SF=C8h,AX=F217h/SF=CBh

Top
21F217SFCB - INT 21 - Novell NetWare - DISABLE FILE SERVER LOGIN
INT 21 - Novell NetWare - DISABLE FILE SERVER LOGIN
	AX = F217h subfn CBh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02013 at AH=E3h/SF=CBh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=CBh,AX=F217h/SF=C8h,AX=F217h/SF=CCh

Top
21F217SFCC - INT 21 - Novell NetWare - ENABLE FILE SERVER LOGIN
INT 21 - Novell NetWare - ENABLE FILE SERVER LOGIN
	AX = F217h subfn CCh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02015 at AH=E3h/SF=CCh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=CCh,AX=F217h/SF=C8h,AX=F217h/SF=CBh

Top
21F217SFCD - INT 21 - Novell NetWare - GET FILE SERVER LOGIN STATUS
INT 21 - Novell NetWare - GET FILE SERVER LOGIN STATUS
	AX = F217h subfn CDh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02016 at AH=E3h/SF=CDh)
	ES:DI -> reply buffer (see #02226)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=CDh,AX=F217h/SF=CBh,AX=F217h/SF=CCh

Format of NetWare "Get File Server Login Status" reply packet:
Offset	Size	Description	(Table 02226)
 00h	BYTE	login state (00h disabled, 01h enabled)
SeeAlso: #02016,#02017 at AH=E3h/SF=CDh

Top
21F217SFCE - INT 21 - Novell NetWare - PURGE ALL ERASED FILES
INT 21 - Novell NetWare - PURGE ALL ERASED FILES
	AX = F217h subfn CEh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02018 at AH=E3h/SF=CEh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=CEh,AX=F244h

Top
21F217SFCF - INT 21 - Novell NetWare - DISABLE TRANSACTION TRACKING
INT 21 - Novell NetWare - DISABLE TRANSACTION TRACKING
	AX = F217h subfn CFh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02019 at AH=E3h/SF=CFh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=CFh,AX=F217h/SF=D0h

Top
21F217SFD0 - INT 21 - Novell NetWare - ENABLE TRANSACTION TRACKING
INT 21 - Novell NetWare - ENABLE TRANSACTION TRACKING
	AX = F217h subfn D0h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02021 at AH=E3h/SF=D0h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D0h,AX=F217h/SF=CFh

Top
21F217SFD1 - INT 21 - Novell NetWare - SEND CONSOLE BROADCAST
INT 21 - Novell NetWare - SEND CONSOLE BROADCAST
	AX = F217h subfn D1h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02022 at AH=E3h/SF=D1h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D1h,AX=F217h/SF=D2h

Top
21F217SFD2 - INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
	AX = F217h subfn D2h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02023 at AH=E3h/SF=D2h)
	ES:DI ignored
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D2h,AX=F217h/SF=D1h,AX=F217h/SF=FEh

Top
21F217SFD3 - INT 21 - Novell NetWare - DOWN FILE SERVER
INT 21 - Novell NetWare - DOWN FILE SERVER
	AX = F217h subfn D3h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02026 at AH=E3h/SF=D3h)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D3h,AX=F217h/SF=D2h

Top
21F217SFD4 - INT 21 - Novell NetWare - GET FILE SYSTEM STATISTICS
INT 21 - Novell NetWare - GET FILE SYSTEM STATISTICS
	AX = F217h subfn D4h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02027 at AH=E3h/SF=D4h)
	ES:DI -> reply buffer (see #02227)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D4h,AX=F217h/SF=D6h,AX=F217h/SF=D9h

Format of NetWare "Get File System Statistics" reply packet:
Offset	Size	Description	(Table 02227)
 00h	DWORD	clock ticks since system started
 04h	WORD	maximum open files set by configuration
 06h	WORD	maximum files open concurrently
 08h	WORD	current number of open files
 0Ah	DWORD	total files opened
 0Eh	DWORD	total file read requests
 12h	DWORD	total file write requests
 16h	WORD	current changed FATs
 18h	WORD	total changed FATs
 1Ah	WORD	number of FAT write errors
 1Ch	WORD	number of fatal FAT write errors
 1Eh	WORD	number of FAT scan errors
 20h	WORD	maximum concurrently-indexed files
 22h	WORD	current number of indexed files
 24h	WORD	number of attached indexed files
 26h	WORD	number of indexed files available
Note:	all fields are big-endian
SeeAlso: #02027,#02028 at AH=E3h/SF=D4h

Top
21F217SFD5 - INT 21 - Novell NetWare - GET TRANSACTION TRACKING STATISTICS
INT 21 - Novell NetWare - GET TRANSACTION TRACKING STATISTICS
	AX = F217h subfn D5h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02029 at AH=E3h/SF=D5h)
	ES:DI -> reply buffer (see #02228)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D5h,AX=F217h/SF=D0h

Format of NetWare "Get Transaction Tracking Statistics" reply packet:
Offset	Size	Description	(Table 02228)
 00h	DWORD	(big-endian) clock ticks since system started
 04h	BYTE	transaction tracking supported if nonzero
		(all following fields are invalid if zero)
 05h	BYTE	transaction tracking enabled
 06h	WORD	(big-endian) transaction volume number
 08h	WORD	(big-endian) maximum simultaneous transactions configured
 0Ah	WORD	(big-endian) maximum simultaneous transactions since startup
 0Ch	WORD	(big-endian) current transactions in progress
 0Eh	DWORD	(big-endian) total transactions performed
 12h	DWORD	(big-endian) total write transactions
 16h	DWORD	(big-endian) total transactions backed out
 1Ah	WORD	(big-endian) number of unfilled backout requests
 1Ch	WORD	(big-endian) disk blocks used for transaction tracking
 1Eh	DWORD	(big-endian) blocks allocated for tracked-file FATs
 22h	DWORD	(big-endian) number of file size changes during a transaction
 26h	DWORD	(big-endian) number of file truncations during a transaction
 2Ah	BYTE	number of records following
 2Bh	Active Transaction Records [array]
	Offset	Size	Description
	 00h	BYTE	logical connection number
	 01h	BYTE	task number
SeeAlso: #02029,#02030 at AH=E3h/SF=D5h

Top
21F217SFD6 - INT 21 - Novell NetWare - GET DISK CACHE STATISTICS
INT 21 - Novell NetWare - GET DISK CACHE STATISTICS
	AX = F217h subfn D6h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02031 at AH=E3h/SF=D6h)
	ES:DI -> reply buffer (see #02229)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D6h,AX=F217h/SF=D5h,AX=F217h/SF=D8h

Format of NetWare "Get Disk Cache Statistics" reply packet:
Offset	Size	Description	(Table 02229)
 00h	DWORD	clock ticks since system started
 04h	WORD	number of cache buffers
 06h	WORD	size of cache buffer in bytes
 08h	WORD	number of dirty cache buffers
 0Ah	DWORD	number of cache read requests
 0Eh	DWORD	number of cache write requests
 12h	DWORD	number of cache hits
 16h	DWORD	number of cache misses
 1Ah	DWORD	number of physical read requests
 1Eh	DWORD	number of physical write requests
 22h	WORD	number of physical read errors
 24h	WORD	number of physical write errors
 26h	DWORD	cache get requests
 2Ah	DWORD	cache full write requests
 2Eh	DWORD	cache partial write requests
 32h	DWORD	background dirty writes
 36h	DWORD	background aged writes
 3Ah	DWORD	total cache writes
 3Eh	DWORD	number of cache allocations
 42h	WORD	thrashing count
 44h	WORD	number of times LRU block was dirty
 46h	WORD	number of reads on cache blocks not yet filled by writes
 48h	WORD	number of times a fragmented write occurred
 4Ah	WORD	number of cache hits on unavailable block
 4Ch	WORD	number of times a cache block was scrapped
Note:	all fields are big-endian
SeeAlso: #02031,#02032 at AH=E3h/SF=D6h

Top
21F217SFD7 - INT 21 - Novell NetWare - GET DRIVE MAPPING TABLE
INT 21 - Novell NetWare - GET DRIVE MAPPING TABLE
	AX = F217h subfn D7h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02033 at AH=E3h/SF=D7h)
	ES:DI -> reply buffer (see #02230)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AX=EF00h,AX=EF01h,AX=EF02h,AH=F2h"Novell",AH=E3h/SF=D7h

Format of NetWare "Get Drive Mapping Table" reply packet:
Offset	Size	Description	(Table 02230)
 00h	DWORD	(big-endian) clock tick elapsed since system started
 04h	BYTE	fault tolerance (SFT) level
 05h	BYTE	number of logical drives attached to server
 06h	BYTE	number of physical drives attached to server
 07h  5 BYTEs	disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
		  04h disk coprocessor drive, 32h-FFh value-added drive types)
 0Ch	WORD	(big-endian) number of outstanding controller commands
 0Eh 32 BYTEs	drive mapping table (FFh = no such drive)
 2Eh 32 BYTEs	drive mirror table (secondary physical drive, FFh = none)
 4Eh 32 BYTEs	dead mirror table (last drive mapped to, FFh if never mirrored)
 6Eh	BYTE	physical drive being remirrored (FFh = none)
 6Fh	BYTE	reserved
 70h	DWORD	(big-endian) remirrored block
 74h 60 BYTEs	SFT error table (internal error counters)
SeeAlso: #02033,#02034 at AH=E3h/SF=D7h

Top
21F217SFD8 - INT 21 - Novell NetWare - GET PHYSICAL DISK STATISTICS
INT 21 - Novell NetWare - GET PHYSICAL DISK STATISTICS
	AX = F217h subfn D8h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02035 at AH=E3h/SF=D8h)
	ES:DI -> reply buffer (see #02231)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D8h,AX=F217h/SF=D9h

Format of NetWare "Get Physical Disk Statistics" request packet:
Offset	Size	Description	(Table 02231)
 00h	DWORD	(big-endian) clock ticks since system started
 04h	BYTE	physical disk channel
 05h	BYTE	flag: drive removable if nonzero
 06h	BYTE	physical drive type
 07h	BYTE	drive number within controller
 08h	BYTE	controller number
 09h	BYTE	controller type
 0Ah	DWORD	(big-endian) size of drive in 4K disk blocks
 0Eh	WORD	(big-endian) number of cylinders on drive
 10h	BYTE	number of heads
 11h	BYTE	number of sectors per track
 12h 64 BYTEs	ASCIZ drive make and model
 52h	WORD	(big-endian) number of I/O errors
 56h	DWORD	(big-endian) start of Hot Fix table
 58h	WORD	(big-endian) size of Hot Fix table
 5Ah	WORD	(big-endian) number of Hot Fix blocks available
 5Ch	BYTE	flag: Hot Fix disabled if nonzero
SeeAlso: #02035,#02036 at AH=E3h/SF=D8h

Top
21F217SFD9 - INT 21 - Novell NetWare - GET DISK CHANNEL STATISTICS
INT 21 - Novell NetWare - GET DISK CHANNEL STATISTICS
	AX = F217h subfn D9h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02037 at AH=E3h/SF=D9h)
	ES:DI -> reply buffer (see #02232)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=D9h,AX=F217h/SF=D8h

Format of NetWare "Get Disk Channel Statistics" reply packet:
Offset	Size	Description	(Table 02232)
 00h	DWORD	(big-endian) clock ticks since system started
 04h	WORD	(big-endian) channel run state (see #02039)
 06h	WORD	(big-endian) channel synchronization state (see #02040)
 08h	BYTE	driver type
 09h	BYTE	major version of driver
 0Ah	BYTE	minor version of driver
 0Bh 65 BYTEs	ASCIZ driver description
 4Ch	WORD	(big-endian) first I/O address used
 4Eh	WORD	(big-endian) length of first I/O address
 50h	WORD	(big-endian) second I/O address used
 52h	WORD	(big-endian) length of second I/O address
 54h  3 BYTEs	first shared memory address
 57h  2 BYTEs	length of first shared memory address
 59h  3 BYTEs	second shared memory address
 5Ch  2 BYTEs	length of second shared memory address
 5Eh	BYTE	first interrupt number in-use flag
 5Fh	BYTE	first interrupt number used
 60h	BYTE	second interrupt number in-use flag
 61h	BYTE	second interrupt number used
 62h	BYTE	first DMA channel in-use flag
 63h	BYTE	first DMA channel used
 64h	BYTE	second DMA channel in-use flag
 65h	BYTE	second DMA channel used
 66h	BYTE	flags
 67h	BYTE	reserved
 68h 80 BYTEs	ASCIZ configuration description
SeeAlso: #02037,#02038 at AH=E3h/SF=D9h

Top
21F217SFDA - INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S TASK INFORMATION
INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S TASK INFORMATION
	AX = F217h subfn DAh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02041 at AH=E3h/SF=DAh)
	ES:DI -> reply buffer (see #02233)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=DAh,AX=F217h/SF=EAh

Format of NetWare "Get Connection's Task Information" reply packet:
Offset	Size	Description	(Table 02233)
 00h	BYTE	lock status of connection (see #02043)
 01h	var	Lock Status Information (see #02044)
 N	BYTE	number of records following
 N+1	Active Task Information Records [array]
	Offset	Size	Description
	 00h	BYTE	task number (01h-FFh)
	 01h	BYTE	task state
			00h normal task
			01h in TTS explicit transaction
			02h in TTS implicit transaction
			04h shared fileset lock active
SeeAlso: #02248,#02041,#02042 at AH=E3h/SF=DAh

Top
21F217SFDB - INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S OPEN FILES (OLD)
INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S OPEN FILES (OLD)
	AX = F217h subfn DBh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02045 at AH=E3h/SF=DBh)
	ES:DI -> reply buffer (see #02234)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=DBh,AX=F217h/SF=EBh

Format of NetWare "Get Connection's Open Files (old)" reply packet:
Offset	Size	Description	(Table 02234)
 00h	WORD	next request record (place in "last record" field on next call)
		0000h if no more records
 02h	BYTE	number of records following
 03h	var	array of File Information Records (see #02047 at AH=E3h/SF=DBh)
SeeAlso: #02045,#02046 at AH=E3h/SF=DBh

Top
21F217SFDC - INT 21 - Novell NetWare v2.2+ - GET CONNECTIONS USING A FILE (OLD)
INT 21 - Novell NetWare v2.2+ - GET CONNECTIONS USING A FILE (OLD)
	AX = F217h subfn DCh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02050 at AH=E3h/SF=DCh)
	ES:DI -> reply buffer (see #02235)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=DCh,AX=F217h/SF=ECh

Format of NetWare "Get Connections Using A File (old)" reply packet:
Offset	Size	Description	(Table 02235)
 00h	WORD	(big-endian) count of tasks which have opened or logged file
 02h	WORD	(big-endian) count of tasks which have opened file
 04h	WORD	(big-endian) count of opens for reading
 06h	WORD	(big-endian) count of opens for writing
 08h	WORD	(big-endian) deny read count
 0Ah	WORD	(big-endian) deny write count
 0Ch	WORD	next request record (place in "last record" field on next call)
		0000h if no more records
 0Eh	BYTE	locked flag
		00h not locked exclusively
		else locked exclusively
 0Fh	BYTE	number of records following
 10h	var	array of File Usage Information Records
		  (see #02052 at AH=E3h/SF=DCh)
SeeAlso: #02050,#02051 at AH=E3h/SF=DCh

Top
21F217SFDD - INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY CONNECTN AND FILE (OLD)
INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY CONNECTN AND FILE (OLD)
	AX = F217h subfn DDh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02054 at AH=E3h/SF=DDh)
	ES:DI -> reply buffer (see #02236)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=DDh,AX=F217h/SF=DEh,AX=F217h/SF=EDh

Format of NetWare "Get Phys Record Locks By Conn & File (old)" reply packet:
Offset	Size	Description	(Table 02236)
 00h	WORD	next request record (place in "last record" on next call)
		0000h if no more records
 02h	BYTE	number of physical record locks
 03h	BYTE	number of records following
 04h	var	array of Physical Record Lock Info records
		  (see #02056 at AH=E3h/SF=DDh)
SeeAlso: #02054,#02055 at AH=E3h/SF=DDh

Top
21F217SFDE - INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY FILE (OLD)
INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY FILE (OLD)
	AX = F217h subfn DEh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02058 at AH=E3h/SF=DEh)
	ES:DI -> reply buffer (see #02237)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=DEh,AX=F217h/SF=EEh

Format of NetWare "Get Physical Record Locks By File (old)" reply packet:
Offset	Size	Description	(Table 02237)
 00h	WORD	next request record (place in "last record" on next call)
		0000h if no more records
 02h	BYTE	number of physical record locks
 03h	BYTE	number of records following
 04h	var	array of Physical Record Lock Info records (see #02060)
SeeAlso: #02058,#02059 at AH=E3h/SF=DEh

Top
21F217SFDF - INT 21 - Novell NetWare - GET LOGICAL RECORDS BY CONNECTION (OLD)
INT 21 - Novell NetWare - GET LOGICAL RECORDS BY CONNECTION (OLD)
	AX = F217h subfn DFh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02061 at AH=E3h/SF=DFh)
	ES:DI -> reply buffer (see #02238)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=DFh,AX=F217h/SF=EFh

Format of NetWare "Get Logical Records By Connection (old)" reply packet:
Offset	Size	Description	(Table 02238)
 00h	WORD	next request record (place in "last record" field on next call)
		0000h if no more locked records
 02h	BYTE	number of records following
 03h	var	array of Logical Lock Information Records
		  (see #02063 at AH=E3h/SF=DFh)
SeeAlso: #02061,#02062 at AH=E3h/SF=DFh

Top
21F217SFE0 - INT 21 - Novell NetWare - GET LOGICAL RECORD INFORMATION (OLD)
INT 21 - Novell NetWare - GET LOGICAL RECORD INFORMATION (OLD)
	AX = F217h subfn E0h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02064 at AH=E3h/SF=E0h)
	ES:DI -> reply buffer (see #02239)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E0h,AX=F217h/SF=F0h

Format of NetWare "Get Logical Record Information (Old)" reply packet:
Offset	Size	Description	(Table 02239)
 00h	WORD	(big-endian) number of logical connections logging the record
 02h	WORD	(big-endian) number of logical connections with shareable lock
 04h	WORD	(big-endian) next request record (place in "last record" field
		  on next call)
 06h	BYTE	locked exclusively if nonzero
 07h	BYTE	number of records following
 08h	var	array of Task Information Records (see #02066 at AH=E3h/SF=E0h)
SeeAlso: #02064,#02065 at AH=E3h/SF=E0h

Top
21F217SFE1 - INT 21 - Novell NetWare - GET CONNECTION'S SEMAPHORES (OLD)
INT 21 - Novell NetWare - GET CONNECTION'S SEMAPHORES (OLD)
	AX = F217h subfn E1h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02067 at AH=E3h/SF=E1h)
	ES:DI -> reply buffer (see #02240)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E1h,AX=F217h/SF=F1h

Format of NetWare "Get Connection's Semaphores (old)" reply packet:
Offset	Size	Description	(Table 02240)
 00h	WORD	next request record (place in "last record" field on next call)
 02h	BYTE	number of records following
 03h	var	array of Semaphore Information Records
		  (see #02069 at AH=E3h/SF=E1h)
SeeAlso: #02067,#02068 at AH=E3h/SF=E1h

Top
21F217SFE2 - INT 21 - Novell NetWare - GET SEMAPHORE INFORMATION (OLD)
INT 21 - Novell NetWare - GET SEMAPHORE INFORMATION (OLD)
	AX = F217h subfn E2h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02070 at AH=E3h/SF=E2h)
	ES:DI -> reply buffer (see #02241)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E2h,AX=F217h/SF=F2h

Format of NetWare "Get Semaphore Information (old)" reply packet:
Offset	Size	Description	(Table 02241)
 00h	WORD	next request record (place in "last record" on next call)
		0000h if no more
 02h	WORD	(big-endian) number of logical connections opening semaphore
 04h	BYTE	semaphore value (-127 to 128)
 05h	BYTE	number of records following
 06h	var	array of Semaphore Information records (see #02072)
SeeAlso: #02070,#02071 at AH=E3h/SF=E2h

Top
21F217SFE3 - INT 21 - Novell NetWare - GET LAN DRIVER'S CONFIGURATION INFORMATION
INT 21 - Novell NetWare - GET LAN DRIVER'S CONFIGURATION INFORMATION
	AX = F217h subfn E3h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02073 at AH=E3h/SF=E3h)
	ES:DI -> reply buffer (see #02242)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E3h,AX=F217h/SF=E7h,AX=F217h/SF=E8h

Format of NetWare "Get Lan Driver's Configuration Information" reply packet:
Offset	Size	Description	(Table 02242)
 00h  4 BYTEs	network number
 04h  6 BYTEs	node number
 0Ah	BYTE	LAN driver installed (00h no--remaining fields invalid)
 0Bh	BYTE	option number selected at configuration time
 0Ch 160 BYTEs	configuration text
		ASCIZ hardware type
		ASCIZ hardware settings
SeeAlso: #02073,#02074 at AH=E3h/SF=E3h

Top
21F217SFE5 - INT 21 - Novell NetWare - GET CONNECTION'S USAGE STATISTICS
INT 21 - Novell NetWare - GET CONNECTION'S USAGE STATISTICS
	AX = F217h subfn E5h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02075 at AH=E3h/SF=E5h)
	ES:DI -> reply buffer (see #02243)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E5h,AX=F217h/SF=EAh

Format of NetWare "Get Connection's Usage Statistics" reply packet:
Offset	Size	Description	(Table 02243)
 00h	DWORD	(big-endian) clock ticks since server started
 04h  6 BYTEs	bytes read
 0Ah  6 BYTEs	bytes written
 10h	DWORD	(big-endian) total request packets
SeeAlso: #02075,#02076 at AH=E3h/SF=E5h

Top
21F217SFE6 - INT 21 - Novell NetWare - GET OBJECT'S REMAINING DISK SPACE
INT 21 - Novell NetWare - GET OBJECT'S REMAINING DISK SPACE
	AX = F217h subfn E6h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02077 at AH=E3h/SF=E6h)
	ES:DI -> reply buffer (see #02244)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E6h,AX=F216h/SF=20h,AX=F216h/SF=23h

Format of NetWare "Get Object's Remaining Disk Space" reply packet:
Offset	Size	Description	(Table 02244)
 00h	DWORD	(big-endian) clock ticks elapsed since server started
 04h	DWORD	(big-endian) object ID
 08h	DWORD	(big-endian) 4K disk blocks available to user
 0Ch	BYTE	restrictions (00h enforced, FFh not enforced)
SeeAlso: #02077,#02078 at AH=E3h/SF=E6h

Top
21F217SFE7 - INT 21 - Novell NetWare - GET FILE SERVER LAN I/O STATISTICS
INT 21 - Novell NetWare - GET FILE SERVER LAN I/O STATISTICS
	AX = F217h subfn E7h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02079 at AH=E3h/SF=E7h)
	ES:DI -> reply buffer (see #02245)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E7h,AX=F217h/SF=11h,AX=F217h/SF=F5h

Format of NetWare "Get File Server Lan I/O Statistics" reply packet:
Offset	Size	Description	(Table 02245)
 00h	DWORD	clock ticks since system started
 04h	WORD	total routing buffers
 06h	WORD	maximum routing buffers used
 08h	WORD	current routing buffers used
 0Ah	DWORD	total file service packets
 0Eh	WORD	number of file service packets buffered
 10h	WORD	number of invalid connection packets
 12h	WORD	packets with bad logical connection numbers
 14h	WORD	number of packets received during processing
 16h	WORD	number of requests reprocessed
 18h	WORD	packets with bad sequence numbers
 1Ah	WORD	number of duplicate replies sent
 1Ch	WORD	number of acknowledgements sent
 1Eh	WORD	number of packets with bad request types
 20h	WORD	requests to attach to ws for which a request is being processed
 22h	WORD	requests to attach from ws which is already attaching
 24h	WORD	number of forged detach requests
 26h	WORD	detach requests with bad connection number
 28h	WORD	requests to detach from ws for which requests pending
 2Ah	WORD	number of cancelled replies
 2Ch	WORD	packets discarded due to excessive hop count
 2Eh	WORD	packets discarded due to unknown net
 30h	WORD	incoming packets discarded for lack of DGroup buffer
 32h	WORD	outgoing packets discarded due to lack of buffer
 34h	WORD	received packets destined for B,C, or D side drivers
 36h	DWORD	number of NetBIOS packets propagated through net
 3Ah	DWORD	total number of non-file-service packets
 3Eh	DWORD	total number of routed packets
Note:	all fields are big-endian
SeeAlso: #02079,#02080 at AH=E3h/SF=E7h

Top
21F217SFE8 - INT 21 - Novell NetWare - GET FILE SERVER MISC INFORMATION
INT 21 - Novell NetWare - GET FILE SERVER MISC INFORMATION
	AX = F217h subfn E8h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02081 at AH=E3h/SF=E8h)
	ES:DI -> reply buffer (see #02246)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E8h,AX=F217h/SF=11h,AX=F217h/SF=F5h

Format of NetWare "Get File Server Misc Information" reply packet:
Offset	Size	Description	(Table 02246)
 00h	DWORD	(big-endian) clock ticks since system started
 04h	BYTE	CPU type
		00h Motorola 68000
		01h Intel 8086, 8088, or V20
		02h Intel 80286+
 05h	BYTE	reserved
 06h	BYTE	number of service processes in server
 07h	BYTE	server utilization in percent
 08h	WORD	(big-endian) maximum bindery objects set by configuration
		0000h = unlimited
 0Ah	WORD	(big-endian) maximum number of bindery objects used
 0Ch	WORD	(big-endian) current number of bindery objects in use
 0Eh	WORD	(big-endian) total server memory in KB
 10h	WORD	(big-endian) wasted server memory in KB
		normally 0000h
 12h	WORD	number of records following (01h-03h)
 14h	var	array of Dynamic Memory Information records (see #02083)
SeeAlso: #02081,#02082 at AH=E3h/SF=E8h

Top
21F217SFE9 - INT 21 - Novell NetWare - GET VOLUME INFORMATION
INT 21 - Novell NetWare - GET VOLUME INFORMATION
	AX = F217h subfn E9h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02084 at AH=E3h/SF=E9h)
	ES:DI -> reply buffer (see #02247)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AH=E3h/SF=E9h,AX=F212h,AX=F216h/SF=15h

Format of NetWare "Get Volume Information" reply packet:
Offset	Size	Description	(Table 02247)
 00h	DWORD	(big-endian) elapsed system time
 04h	BYTE	volume number
 05h	BYTE	logical drive number
 06h	WORD	(big-endian) sectors per block
 08h	WORD	(big-endian) starting block
 0Ah	WORD	(big-endian) total blocks on volume
 0Ch	WORD	(big-endian) blocks available on volume
 0Eh	WORD	(big-endian) total directory slots
 10h	WORD	(big-endian) directory slots available
 12h	WORD	(big-endian) maximum directory entries actually used
 14h	BYTE	flag: volume hashed if nonzero
 15h	BYTE	flag: volume cached if nonzero
 16h	BYTE	flag: volume removable if nonzero
 17h	BYTE	flag: volume mounted if nonzero
 18h 16 BYTEs	NUL-padded volume name
SeeAlso: #02084,#02085 at AH=E3h/SF=E9h

Top
21F217SFEA - INT 21 - Novell NetWare v3.11+ - GET CONNECTION'S TASK INFORMATION
INT 21 - Novell NetWare v3.11+ - GET CONNECTION'S TASK INFORMATION
	AX = F217h subfn EAh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02248)
	ES:DI -> reply buffer (see #02233)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=DAh

Format of NetWare "Get Connection's Task Information" request packet:
Offset	Size	Description	(Table 02248)
 00h	WORD	length of following data
 02h	BYTE	EAh (subfunction "Get Connection's Task Information")
 03h	WORD	connection number
SeeAlso: #02233,#02041 at AH=E3h/SF=DAh

Top
21F217SFEB - INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
	AX = F217h subfn EBh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02249)
	ES:DI -> reply buffer (see #02250)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AX=F217h/SF=DBh

Format of NetWare "Get Connection's Open Files" request buffer:
Offset	Size	Description	(Table 02249)
 00h	WORD	0005h (length of following data)
 02h	BYTE	EBh (subfunction "Get Connection's Open Files")
 03h	WORD	target connection number
 05h	WORD	last record seen (set to 0000h for first call)
Note:	connection numbers greater than the maximum supported by the server
	  can cause ABENDs
SeeAlso: #02250

Format of NetWare "Get Connection's Open Files" reply buffer:
Offset	Size	Description	(Table 02250)
 00h	WORD	next request record
 02h	WORD	number of records returned (max 28)
 04h 29N BYTEs	array of connection records (see #02251)
SeeAlso: #02249

Format of NetWare connection record:
Offset	Size	Description	(Table 02251)
 00h	WORD	task number
 02h	BYTE	lock type
 03h	BYTE	access control
 04h	BYTE	lock flag
 05h	BYTE	volume number
 06h	DWORD	parent directory entry number
 0Ah	DWORD	directory entry number
 0Eh	BYTE	fork count
 0Fh	BYTE	data stream type / name space (see #02387)
 10h	BYTE	file name length
 11h 12 BYTEs	file name
SeeAlso: #02250

Top
21F217SFEC - INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
	AX = F217h subfn ECh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02252)
	ES:DI -> reply buffer (see #02253)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AX=F217h/SF=DCh

Format of NetWare "Get Connections Using a File" request buffer:
Offset	Size	Description	(Table 02252)
 00h	WORD	0009h (length of following data)
 02h	BYTE	ECh (subfunction "Get Connections Using a File")
 03h	BYTE	data stream type
 04h	BYTE	volume number
 05h	DWORD	directory entry number
 09h	WORD	last record seen (0000h for first call)
SeeAlso: #02253

Format of NetWare "Get Connections Using a File" reply buffer:
Offset	Size	Description	(Table 02253)
 00h	WORD	next request record
 02h	WORD	use count
 04h	WORD	open count
 06h	WORD	number of times open for reading
 08h	WORD	number of times open for writing
 0Ah	WORD	Deny Read count
 0Ch	WORD	Deny Write count
 0Eh	BYTE	flag: locked
 0Fh	BYTE	fork count
 10h	WORD	number of records returned (max 70)
 12h 7N BYTEs	returned records (see #02254)
SeeAlso: #02252

Format of returned record:
Offset	Size	Description	(Table 02254)
 00h	WORD	connection number
 02h	WORD	task number
 04h	BYTE	lock type
 05h	BYTE	access flag
 06h	BYTE	lock flag
SeeAlso: #02253

Top
21F217SFED - INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY CONNECTION AND FILE
INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY CONNECTION AND FILE
	AX = F217h subfn EDh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02255)
	ES:DI -> reply buffer (see #02256)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=DDh,AX=F217h/SF=EEh

Format of NetWare "Get Phys Record Locks By Conn And File" request packet:
Offset	Size	Description	(Table 02255)
 00h	WORD	length of following data
 02h	BYTE	EDh (subfunction "Get Physical Record Locks By Connection
		  And File")
 03h	WORD	target connection number
 05h	BYTE	last record seen (set to 00h before first call)
 06h	BYTE	volume number
 07h	DWORD	directory entry number
 0Bh  N BYTEs	filename
SeeAlso: #02256

Format of NetWare "Get Physical Record Locks By Connect And File" reply packet:
Offset	Size	Description	(Table 02256)
 00h	WORD	next record (place in last-seen field on next call)
 02h	WORD	number of locks returned
 04h 11N BYTEs	lock records
		Offset	Size	Description
		 00h	WORD	(big-endian) task number
		 02h	BYTE	lock status
		 03h	DWORD	(big-endian) record start offset
		 07h	DWORD	(big-endian) record end offset
SeeAlso: #02255

Top
21F217SFEE - INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
	AX = F217h subfn EEh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02257)
	ES:DI -> reply buffer (see #02258)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AX=F217h/SF=DEh

Format of NetWare "Get Physical Record Locks by File" request buffer:
Offset	Size	Description	(Table 02257)
 00h	WORD	0009h (length of following data)
 02h	BYTE	EEh (subfunction "Get Physical Record Locks by File")
 03h	BYTE	data stream number
 04h	BYTE	volume number
 05h	DWORD	directory entry number
 09h	WORD	last record seen (0000h for first call)
SeeAlso: #02258

Format of NetWare "Get Physical Record Locks by File" reply buffer:
Offset	Size	Description	(Table 02258)
 00h	WORD	next request record
 02h	WORD	number of locks
 04h 17N BYTEs	array of lock records, one per lock (see #02259)
SeeAlso: #02257

Format of NetWare lock record:
Offset	Size	Description	(Table 02259)
 00h	WORD	logged count
 02h	WORD	number of shareable locks
 04h	DWORD	start offset of record
 08h	DWORD	end offset of record
 0Ch	WORD	logical connection number
 0Eh	WORD	task number
 10h	BYTE	lock type
SeeAlso: #02258

Top
21F217SFEF - INT 21 - Novell NetWare v3+ - GET LOGICAL RECORDS BY CONNECTION
INT 21 - Novell NetWare v3+ - GET LOGICAL RECORDS BY CONNECTION
	AX = F217h subfn EFh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02260)
	ES:DI -> reply buffer (see #02261)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=DFh

Format of NetWare "Get Logical Records By Connection" request packet:
Offset	Size	Description	(Table 02260)
 00h	WORD	length of following data
 02h	BYTE	EFh (subfunction "Get Logical Records By Connection")
 03h	WORD	target connection number
 05h	WORD	last record seen (set to 0000h before first call)
SeeAlso: #02261

Format of NetWare "Get Logical Records By Connection" request packet:
Offset	Size	Description	(Table 02261)
 00h	WORD	next record (place in last-seen field on next call)
 02h	WORD	number of records returned
 04h		Logical Lock Information records (see #02063 at AH=E3h/SF=DFh)
SeeAlso: #02260

Top
21F217SFF0 - INT 21 - Novell NetWare v3+ - GET LOGICAL RECORD INFORMATION
INT 21 - Novell NetWare v3+ - GET LOGICAL RECORD INFORMATION
	AX = F217h subfn F0h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02262)
	ES:DI -> reply buffer (see #02263)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=E0h,AX=F217h/SF=EFh

Format of NetWare "Get Logical Record Information" request packet:
Offset	Size	Description	(Table 02262)
 00h	WORD	length of following data
 02h	BYTE	F0h (subfunction "Get Logical Record Information")
 03h	WORD	last record seen
 05h	BYTE	length of logical record name
 06h  N BYTEs	logical record name (case-sensitive)
SeeAlso: #02263

Format of NetWare "Get Logical Record Information" request packet:
Offset	Size	Description	(Table 02263)
 00h	WORD	number of connections logging record
 02h	WORD	number of shareable locks
 04h	BYTE	flag: locked exclusively if nonzero
 05h	WORD	next request record (place in last-seen field on next call)
 07h	BYTE	number of records returned
 08h		logical record information records [array]
		Offset	Size	Description
		 00h	WORD	connection number
		 02h	BYTE	task number
		 03h	BYTE	lock status
SeeAlso: #02262

Top
21F217SFF1 - INT 21 - Novell NetWare v3+ - GET CONNECTION'S SEMAPHORES
INT 21 - Novell NetWare v3+ - GET CONNECTION'S SEMAPHORES
	AX = F217h subfn F1h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02264)
	ES:DI -> reply buffer (see #02265)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=E1h

Format of NetWare "Get Connection's Semaphores" request packet:
Offset	Size	Description	(Table 02264)
 00h	WORD	length of following data
 02h	BYTE	F1h (subfunction "Get Connection's Semaphores")
 03h	WORD	connection number
 05h	WORD	last record seen (set to 0000h before first call)
SeeAlso: #02265

Format of NetWare "Get Connection's Semaphores" reply packet:
Offset	Size	Description	(Table 02265)
 00h	WORD	next record (place in last-seen field on next call)
 02h	WORD	number of semaphores returned
 04h	BYTEs	semaphore information records [packed array] (see #02266)
SeeAlso: #02264

Format of NetWare semaphore information record:
Offset	Size	Description	(Table 02266)
 00h	WORD	semaphore's current value
 02h	WORD	number of connections using semaphore
 04h	WORD	task number
 06h	BYTE	length of semaphore's name
 07h  N BYTEs	semaphore name
SeeAlso: #02265

Top
21F217SFF2 - INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
	AX = F217h subfn F2h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02267)
	ES:DI -> reply buffer (see #02268)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AX=F217h/SF=E2h

Format of NetWare "Get Semaphore Information" request buffer:
Offset	Size	Description	(Table 02267)
 00h	WORD	length of following data (max 84h)
 02h	BYTE	F2h (subfunction "Get Semaphore Information")
 03h	WORD	last record seen (0000h on first call)
 05h	BYTE	length of semaphore name (max 128)
 06h  N BYTEs	semaphore name
SeeAlso: #02268

Format of NetWare "Get Semaphore Information" reply buffer:
Offset	Size	Description	(Table 02268)
 00h	WORD	next request record
 02h	WORD	open count
 04h	BYTE	value of semaphore
 05h	WORD	number of records returned
 07h 2N WORDs	list of logical connection number/task number pairs
SeeAlso: #02267

Top
21F217SFF3 - INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
	AX = F217h subfn F3h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02269)
	ES:DI -> reply buffer (see #02270)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F217h/SF=F4h

Format of NetWare "Map Directory Number to Path" request buffer:
Offset	Size	Description	(Table 02269)
 00h	WORD	0007h (length of following data)
 02h	BYTE	F3h (subfunction "Map Directory Number to Path")
 03h	BYTE	volume number
 04h	DWORD	directory entry number
 08h	BYTE	name space type
SeeAlso: #02270

Format of NetWare "Map Directory Number to Path" reply buffer:
Offset	Size	Description	(Table 02270)
 00h	BYTE	directory path length
 01h  N BYTEs	directory path (NetWare style, separated by length descriptors
		  rather than slashes or backslashes)
SeeAlso: #02269

Top
21F217SFF4 - INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
	AX = F217h subfn F4h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02271)
	ES:DI -> reply buffer (see #02272)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F217h/SF=F3h

Format of NetWare "Convert Path to Directory Entry" request packet:
Offset	Size	Description	(Table 02271)
 00h	WORD	length of following data
 02h	BYTE	F4h (subfunction "Convert Path to Directory Entry")
 03h	BYTE	directory handle or 00h for none
 04h	BYTE	length of directory path
 05h  N BYTEs	directory path (must be fully qualified if no handle specified)
SeeAlso: #02272

Format of NetWare "Convert Path to Directory Entry" reply packet:
Offset	Size	Description	(Table 02272)
 00h	BYTE	volume number
 01h	DWORD	directory entry number
SeeAlso: #02271

Top
21F217SFF5 - INT 21 - Novell NetWare - GET FILE SERVER EXTENDED MISC INFORMATION
INT 21 - Novell NetWare - GET FILE SERVER EXTENDED MISC INFORMATION
	AX = F217h subfn F5h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02273)
	ES:DI -> reply buffer (see #02274)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=11h,AX=F217h/SF=C9h,AX=F217h/SF=E8h

Format of NetWare "Get File Server Extended Misc Information" request packet:
Offset	Size	Description	(Table 02273)
 00h	WORD	length of following data
 02h	BYTE	F5h (subfunction "Get File Server Extended Misc Information")
 03h	BYTE	length of reply buffer
SeeAlso: #02274

Format of NetWare "Get File Server Extended Misc Information" reply packet:
Offset	Size	Description	(Table 02274)
 00h	DWORD	system interval marker
		(up-time in clock ticks, wraps to 0 on reaching FFFFFFFFh)
 04h	BYTE	processor type
		00h Motorola 680x0
		01h Intel 8088/8086
		02h 80286
 05h	BYTE	reserved for future use
 06h	BYTE	number of service processes
 07h	BYTE	server utilization percentage
 08h	WORD	maximum bindery objects set by configuration
 0Ah	WORD	actual maximum bindery objects
 0Ch	WORD	current number of bindery objects
 0Eh	WORD	(big-endian) total server memory
 10h	WORD	(big-endian) wasted server memory
 12h	WORD	(big-endian) number of dynamic memory areas
 14h	DWORD	(big-endian) total space in dynamic memory area
 18h	DWORD	maximum dynamic space used
 1Ch	DWORD	dynamic space currently used
SeeAlso: #02273

Top
21F217SFF6 - INT 21 - Novell NetWare - GET VOLUME EXTENDED INFORMATION
INT 21 - Novell NetWare - GET VOLUME EXTENDED INFORMATION
	AX = F217h subfn F6h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02275)
	ES:DI -> reply buffer (see #02276)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=E8h

Format of NetWare "Get Volume Extended Information" request packet:
Offset	Size	Description	(Table 02275)
 00h	WORD	length of following data
 02h	BYTE	F6h (subfunction "Get Volume Extended Information")
 03h	BYTE	volume number
 04h	BYTE	size of reply buffer
SeeAlso: #02276

Format of NetWare "Get Volume Extended Information" reply packet:
Offset	Size	Description	(Table 02276)
 00h	DWORD	system interval
		(up-time in clock ticks, wraps to 0 on reaching FFFFFFFFh)
 04h	BYTE	volume number
 05h	BYTE	logical drive number
 06h	WORD	number of 512-byte sectors per disk block
 08h	DWORD	starting block number of volume
 0Ch	WORD	total number of disk blocks
 0Eh	WORD	number of free disk blocks
 10h	WORD	total number of directory entries
 12h	WORD	number of available directory entries
 14h	WORD	maximum directory entries ever used
 16h	BYTE	flag: volume is hashed in memory if nonzero
 17h	BYTE	flag: volume is cached if nonzero
 18h	BYTE	flag: volume is removable if nonzero
 19h	BYTE	flag: volume is mounted if nonzero
 1Ah 16 BYTEs	volume name (null-padded)
SeeAlso: #02275

Top
21F217SFFE - INT 21 - Novell NetWare v4 - CLEAR CONNECTION NUMBER GREATER THAN 250
INT 21 - Novell NetWare v4 - CLEAR CONNECTION NUMBER GREATER THAN 250
	AX = F217h subfn FEh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02277)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=E3h/SF=D2h,AX=F217h/SF=D2h

Format of NetWare "Clear Connection Number" request buffer:
Offset	Size	Description	(Table 02277)
 00h	WORD	length of following data
 02h	BYTE	FEh (subfunction "Clear Connection Number")
 03h	DWORD	connection number
SeeAlso: #02023

Top
21F21B - INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET (OLD)
INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET (OLD)
	AX = F21Bh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02480 at AX=F26Eh)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F26Eh,AH=C2h"NetWare"

Top
21F21E - INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD
INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD
	AX = F21Eh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02278)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=5Ch,AH=BEh"NetWare",AH=F2h"Novell",AX=F20Bh,AX=F21Fh

Format of NetWare "Clear Physical Record" request packet:
Offset	Size	Description	(Table 02278)
 00h	BYTE	reserved for future use
 01h  6 BYTEs	NetWare file handle
 07h	DWORD	starting offset of locked region
 0Bh	DWORD	length of locked region
SeeAlso: #02279

Top
21F21F - INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD SET
INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD SET
	AX = F21Fh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02279)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=5Ch,AH=C4h"NetWare",AH=F2h"Novell",AX=F20Eh,AX=F21Eh

Format of NetWare "Clear Physical Record Set" request packet:
Offset	Size	Description	(Table 02279)
 00h	BYTE	lock flag (00h = not locked)
SeeAlso: #02278

Top
21F220SF00 - INT 21 - Novell NetWare - OPEN SEMAPHORE (OLD)
INT 21 - Novell NetWare - OPEN SEMAPHORE (OLD)
	AX = F220h subfn 00h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02280)
	ES:DI -> reply buffer (see #02281)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C500h,AX=F220h/SF=01h,AX=F220h/SF=03h

Format of NetWare "Open Semaphore (old)" request packet:
Offset	Size	Description	(Table 02280)
 00h	BYTE	00h (subfunction "Open Semaphore (old)")
 01h	BYTE	initial value of semaphore ( >= 0)
 02h	BYTE	length of semaphore's name (max 512)
 03h  N BYTEs	semaphore name
SeeAlso: #02281,#02282

Format of NetWare "Open Semaphore (old)" reply packet:
Offset	Size	Description	(Table 02281)
 00h	DWORD	semaphore handle
 04h	BYTE	number of processes using semaphore (including caller)
SeeAlso: #02280,#02283

Top
21F220SF01 - INT 21 - Novell NetWare - EXAMINE SEMAPHORE (OLD)
INT 21 - Novell NetWare - EXAMINE SEMAPHORE (OLD)
	AX = F220h subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02282)
	ES:DI -> reply buffer (see #02283)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C501h,AX=F220h/SF=00h,AX=F220h/SF=03h

Format of NetWare "Close Semaphore (old)" request packet:
Offset	Size	Description	(Table 02282)
 00h	BYTE	01h (subfunction "Examine Semaphore (old)")
 01h	DWORD	semaphore handle
SeeAlso: #02283,#02280

Format of NetWare "Close Semaphore (old)" request packet:
Offset	Size	Description	(Table 02283)
 00h	BYTE	current semaphore value
 01h	BYTE	number of processes using semaphore (including caller)
SeeAlso: #02282,#02281

Top
21F220SF02 - INT 21 - Novell NetWare - WAIT ON SEMAPHORE (OLD)
INT 21 - Novell NetWare - WAIT ON SEMAPHORE (OLD)
	AX = F220h subfn 02h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02284)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C502h,AX=F220h/SF=00h,AX=F220h/SF=03h

Format of NetWare "Wait on Semaphore (old)" request packet:
Offset	Size	Description	(Table 02284)
 00h	BYTE	02h (subfunction "Wait on Semaphore (old)")
 01h	DWORD	semaphore handle
 05h	WORD	timeout in 1/18s (0000h = return immediately)
SeeAlso: #02282,#02285

Top
21F220SF03 - INT 21 - Novell NetWare - SIGNAL SEMAPHORE (OLD)
INT 21 - Novell NetWare - SIGNAL SEMAPHORE (OLD)
	AX = F220h subfn 03h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02285)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C503h,AX=F220h/SF=02h,AX=F220h/SF=04h

Format of NetWare "Signal Semaphore (old)" request packet:
Offset	Size	Description	(Table 02285)
 00h	BYTE	03h (subfunction "Signal Semaphore (old)")
 01h	DWORD	semaphore handle
SeeAlso: #02284,#02286

Top
21F220SF04 - INT 21 - Novell NetWare - CLOSE SEMAPHORE (OLD)
INT 21 - Novell NetWare - CLOSE SEMAPHORE (OLD)
	AX = F220h subfn 04h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02286)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C504h,AX=F220h/SF=00h,AX=F220h/SF=01h
SeeAlso: AX=F26Fh/SF=01h

Format of NetWare "Close Semaphore (old)" request packet:
Offset	Size	Description	(Table 02286)
 00h	BYTE	04h (subfunction "Close Semaphore (old)")
 01h	DWORD	semaphore handle
SeeAlso: #02285,#02483

Top
21F222SF00 - INT 21 - Novell NetWare - TTS IS AVAILABLE
INT 21 - Novell NetWare - TTS IS AVAILABLE
	AX = F222h subfn 00h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02287)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C702h,AX=F222h/SF=01h,AX=F222h/SF=05h

Format of NetWare "TTS Is Available" request packet:
Offset	Size	Description	(Table 02287)
 00h	BYTE	00h (subfunction "TTS Is Available")

Top
21F222SF01 - INT 21 - Novell NetWare - TTS BEGIN TRANSACTION
INT 21 - Novell NetWare - TTS BEGIN TRANSACTION
	AX = F222h subfn 01h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02288)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C700h,AX=F222h/SF=02h,AX=F222h/SF=03h

Format of NetWare "TTS Begin Transaction" request packet:
Offset	Size	Description	(Table 02288)
 00h	BYTE	01h (subfunction "TTS Begin Transaction")
SeeAlso: #02289,#02291

Top
21F222SF02 - INT 21 - Novell NetWare - TTS END TRANSACTION
INT 21 - Novell NetWare - TTS END TRANSACTION
	AX = F222h subfn 02h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02289)
	ES:DI -> reply buffer (see #02290)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C701h,AX=F222h/SF=01h,AX=F222h/SF=04h

Format of NetWare "TTS End Transaction" request packet:
Offset	Size	Description	(Table 02289)
 00h	BYTE	02h (subfunction "TTS End Transaction")
SeeAlso: #02290,#02288

Format of NetWare "TTS End Transaction" reply packet:
Offset	Size	Description	(Table 02290)
 00h	DWORD	transaction number
SeeAlso: #02289,#02292

Top
21F222SF03 - INT 21 - Novell NetWare - TTS ABORT TRANSACTION
INT 21 - Novell NetWare - TTS ABORT TRANSACTION
	AX = F222h subfn 03h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02291)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C703h,AX=F222h/SF=01h,AX=F222h/SF=02h
SeeAlso: AX=F220h/SF=04h

Format of NetWare "TTS Abort Transaction" request packet:
Offset	Size	Description	(Table 02291)
 00h	BYTE	03h (subfunction "TTS Abort Transaction")
SeeAlso: #02288,#02289

Top
21F222SF04 - INT 21 - Novell NetWare - TTS TRANSACTION STATUS
INT 21 - Novell NetWare - TTS TRANSACTION STATUS
	AX = F222h subfn 04h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02292)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C704h,AX=F222h/SF=02h,AX=F222h/SF=03h

Format of NetWare "TTS Transaction Status" request packet:
Offset	Size	Description	(Table 02292)
 00h	BYTE	04h (subfunction "TTS Transaction Status")
 01h	DWORD	transaction number
SeeAlso: #02289,#02290

Top
21F222SF05 - INT 21 - Novell NetWare - TTS GET APPLICATION THRESHOLDS
INT 21 - Novell NetWare - TTS GET APPLICATION THRESHOLDS
	AX = F222h subfn 05h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02293)
	ES:DI -> reply buffer (see #02294)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C705h,AX=F222h/SF=06h,AX=F222h/SF=07h

Format of NetWare "TTS Get Application Thresholds" request packet:
Offset	Size	Description	(Table 02293)
 00h	BYTE	05h (subfunction "TTS Get Application Thresholds")
SeeAlso: #02294,#02295

Format of NetWare "TTS Get Application Thresholds" request packet:
Offset	Size	Description	(Table 02294)
 00h	BYTE	logical lock threshold
 01h	BYTE	physical lock threshold
SeeAlso: #02293,#02295

Top
21F222SF06 - INT 21 - Novell NetWare - TTS SET APPLICATION THRESHOLDS
INT 21 - Novell NetWare - TTS SET APPLICATION THRESHOLDS
	AX = F222h subfn 06h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02295)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C706h,AX=F222h/SF=05h,AX=F222h/SF=08h

Format of NetWare "TTS Set Application Thresholds" request packet:
Offset	Size	Description	(Table 02295)
 00h	BYTE	06h (subfunction "TTS Set Application Thresholds")
 01h	BYTE	logical lock threshold before implicit transaction started
 02h	BYTE	physical lock threshold before implicit transaction started
SeeAlso: #02294,#02298

Top
21F222SF07 - INT 21 - Novell NetWare - TTS GET WORKSTATION THRESHOLDS
INT 21 - Novell NetWare - TTS GET WORKSTATION THRESHOLDS
	AX = F222h subfn 07h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02296)
	ES:DI -> reply buffer (see #02297)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C707h,AX=F222h/SF=05h,AX=F222h/SF=08h

Format of NetWare "TTS Get Workstation Thresholds" request packet:
Offset	Size	Description	(Table 02296)
 00h	BYTE	07h (subfunction "TTS Get Workstation Thresholds")
SeeAlso: #02297

Format of NetWare "TTS Get Workstation Thresholds" reply packet:
Offset	Size	Description	(Table 02297)
 00h	BYTE	logical lock threshold
 01h	BYTE	physical lock threshold
SeeAlso: #02296

Top
21F222SF08 - INT 21 - Novell NetWare - TTS SET WORKSTATION THRESHOLDS
INT 21 - Novell NetWare - TTS SET WORKSTATION THRESHOLDS
	AX = F222h subfn 08h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02298)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C708h,AX=F222h/SF=06h,AX=F222h/SF=07h

Format of NetWare "TTS Set Workstation Thresholds" request packet:
Offset	Size	Description	(Table 02298)
 00h	BYTE	08h (subfunction "TTS Set Workstation Thresholds")
 01h	BYTE	logical lock threshold before implicit transaction started
 02h	BYTE	physical lock threshold before implicit transaction started
SeeAlso: #02295

Top
21F222SF09 - INT 21 - Novell NetWare - TTS GET CONTROL FLAGS
INT 21 - Novell NetWare - TTS GET CONTROL FLAGS
	AX = F222h subfn 09h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02299)
	ES:DI -> reply buffer (see #02300)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C702h,AX=F222h/SF=07h,AX=F222h/SF=0Ah

Format of NetWare "TTS Get Transaction Bits" request packet:
Offset	Size	Description	(Table 02299)
 00h	BYTE	09h (subfunction "TTS Get Transaction Bits")
SeeAlso: #02300

Format of NetWare "TTS Get Transaction Bits" reply packet:
Offset	Size	Description	(Table 02300)
 00h	BYTE	TTS control flags
		bit 0: forced (automatic) record locking enabled
		bits 1-7: reserved
SeeAlso: #02299

Top
21F222SF0A - INT 21 - Novell NetWare - TTS SET CONTROL FLAGS
INT 21 - Novell NetWare - TTS SET CONTROL FLAGS
	AX = F222h subfn 0Ah
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02301)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=C702h,AX=F222h/SF=08h,AX=F222h/SF=09h

Format of NetWare "TTS Set Transaction Bits" request packet:
Offset	Size	Description	(Table 02301)
 00h	BYTE	0Ah (subfunction "TTS Set Transaction Bits")
 01h	BYTE	TTS control flags
		bit 0: forced (automatic) record locking enabled
		bits 1-7: reserved

Top
21F223SF01 - INT 21 - Novell NetWare v2+ - AFP CREATE DIRECTORY
INT 21 - Novell NetWare v2+ - AFP CREATE DIRECTORY
	AX = F223h subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02302)
	ES:DI -> reply buffer (see #02303)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=02h,AX=F223h/SF=0Dh

Format of NetWare "AFP Create Directory" request packet:
Offset	Size	Description	(Table 02302)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	01h (subfunction "AFP Create Directory")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	reserved for future use
 09h 32 BYTEs	Finder information
 29h	BYTE	path length
 2Ah  N BYTEs	AFP-style directory pathname (relative to AFP entry ID)
SeeAlso: #02303,#02304,#02330

Format of NetWare "AFP Create Directory" reply packet:
Offset	Size	Description	(Table 02303)
 00h	DWORD	new directory ID
SeeAlso: #02302,#02331

Top
21F223SF02 - INT 21 - Novell NetWare v2+ - AFP CREATE FILE
INT 21 - Novell NetWare v2+ - AFP CREATE FILE
	AX = F223h subfn 02h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02304)
	ES:DI -> reply buffer (see #02305)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=02h,AX=F223h/SF=03h,AX=F223h/SF=0Dh

Format of NetWare "AFP Create File" request packet:
Offset	Size	Description	(Table 02304)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	01h (subfunction "AFP Create Directory")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	flag: delete existing file? (00h no, 01h yes)
 09h 32 BYTEs	Finder information
 29h	BYTE	path length
 2Ah  N BYTEs	AFP-style directory pathname (relative to AFP entry ID)
SeeAlso: #02302,#02305,#02306,#02332

Format of NetWare "AFP Create File" reply packet:
Offset	Size	Description	(Table 02305)
 00h	DWORD	new file's AFP entry ID
SeeAlso: #02304,#02333

Top
21F223SF03 - INT 21 - Novell NetWare v2+ - AFP DELETE FILE
INT 21 - Novell NetWare v2+ - AFP DELETE FILE
	AX = F223h subfn 03h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02306)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Note:	directories may be deleted if they are empty
SeeAlso: AH=F2h"Novell",AX=F223h/SF=02h,AX=F223h/SF=0Dh

Format of NetWare "AFP Delete File" request packet:
Offset	Size	Description	(Table 02306)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	03h (subfunction "AFP Delete File")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	path length
 09h  N BYTEs	AFP-style pathname (relative to AFP entry ID)
SeeAlso: #02304

Top
21F223SF04 - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM FILENAME
INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM FILENAME
	AX = F223h subfn 04h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02307)
	ES:DI -> reply buffer (see #02308)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=06h,AX=F223h/SF=0Ch,AX=F223h/SF=12h

Format of NetWare "AFP Get Entry ID from Name" request packet:
Offset	Size	Description	(Table 02307)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	04h (subfunction "AFP Get Entry ID from Name")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	path length
 09h  N BYTEs	AFP-style pathname (relative to AFP entry ID)
SeeAlso: #02308,#02314

Format of NetWare "AFP Get Entry ID from Name" reply packet:
Offset	Size	Description	(Table 02308)
 00h	DWORD	AFP entry ID corresponding to specified file/directory
SeeAlso: #02307,#02315

Top
21F223SF05 - INT 21 - Novell NetWare v2+ - AFP GET FILE INFORMATION
INT 21 - Novell NetWare v2+ - AFP GET FILE INFORMATION
	AX = F223h subfn 05h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02309)
	ES:DI -> reply buffer (see #02311)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=09h,AX=F223h/SF=13h

Format of NetWare "AFP Get File Information" request packet:
Offset	Size	Description	(Table 02309)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	05h (subfunction "AFP Get File Information")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	WORD	request bitmap
 0Ah	BYTE	path length
 0Bh  N BYTEs	AFP-style pathname (relative to AFP entry ID)
SeeAlso: #02311

Bitfields for NetWare AFP request bitmap:
Bit(s)	Description	(Table 02310)
 0	return AFP entry ID
 1	return data fork length
 2	return resource fork length
 3	return number of contained files/subdirectories
 4	return owner ID
 5	return short name
 6	return access rights
 7	??? (unused?)
 8	return attributes
 9	return parent directory ID
 10	return creation date
 11	return last-access date
 12	return last-modified date and time
 13	return last-backup date and time
 14	return Finder information
 15	return long name
SeeAlso: #02309,#02336,#02337

Format of NetWare "AFP Get File Information" reply packet:
Offset	Size	Description	(Table 02311)
 00h	DWORD	AFP entry ID for specified file
 04h	DWORD	AFP entry ID for specified file's parent directory
 08h	WORD	directory/file attributes (see #02312)
 0Ah	DWORD	length of data fork
 0Eh	DWORD	length of resource fork
 12h	WORD	total files and subdirectories contained within entry
		always 0000h if entry is a file
 14h	WORD	creation date in AFP format
 16h	WORD	last-access date in AFP format
 18h	WORD	last-modified date in AFP format
 1Ah	WORD	last-modified time in AFP format
 1Ch	WORD	last-backup date in AFP format
 1Eh	WORD	last-backup time in AFP format
 20h 32 BYTEs	Finder information
 40h 32 BYTEs	long filename
 60h	DWORD	NetWare object ID of owner
 64h 12 BYTEs	short filename (MS-DOS 8.3 format)
 70h	WORD	access privileges (see #02313)
SeeAlso: #02309,#02338

Bitfields for NetWare AFP file/directory attributes:
Bit(s)	Description	(Table 02312)
 0	search mode
 1	search mode
 2	search mode
 3	(undefined)
 4	transaction
 5	index
 6	read audit
 7	write audit
 8	read-only
 9	hidden
 10	system
 11	execute-only
 12	subdirectory
 13	archive
 14	(undefined)
 15	shareable file
SeeAlso: #02311,#02322,#02337

Bitfields for NetWare AFP access privileges:
Bit(s)	Description	(Table 02313)
 8	read (files)
 9	write (files)
 10	open (files)
 11	create (files)
 12	delete (files)
 13	parental (directories): create/delete/rename subdirectories
 14	search (directories)
 15	modify file status flags
SeeAlso: #02311,#02337,#02327

Top
21F223SF06 - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM NETWARE HANDLE
INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM NETWARE HANDLE
	AX = F223h subfn 06h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02314)
	ES:DI -> reply buffer (see #02315)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=0Ch,AX=F223h/SF=12h

Format of NetWare "AFP Get Entry ID from NetWare Handle" request packet:
Offset	Size	Description	(Table 02314)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	06h (subfunction "AFP Get Entry ID from NetWare Handle")
 03h  6 BYTEs	NetWare file handle
SeeAlso: #02315,#02307

Format of NetWare "AFP Get Entry ID from NetWare Handle" reply packet:
Offset	Size	Description	(Table 02315)
 00h	BYTE	volume number
 01h	DWORD	AFP entry ID corresponding to same file as NetWare handle
 05h	BYTE	fork indicator (00h data fork, 01h resource fork)
SeeAlso: #02314,#02308

Top
21F223SF07 - INT 21 - Novell NetWare v2+ - AFP RENAME
INT 21 - Novell NetWare v2+ - AFP RENAME
	AX = F223h subfn 07h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02316)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=03h,AX=F223h/SF=08h

Format of NetWare "AFP Rename" request packet:
Offset	Size	Description	(Table 02316)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	07h (subfunction "AFP Rename")
 03h	BYTE	volume number
 04h	DWORD	source AFP entry ID
 08h	DWORD	destination AFP entry ID
 0Ch	BYTE	source path length
 0Dh  N BYTEs	AFP-style source path (relative to source AFP entry ID)
	BYTE	destination path length
      N BYTEs	AFP-style destination path (relative to destination entry ID)
Note:	the file may be moved from one directory to another without being
	  renamed by setting the destination path to the empty string

Top
21F223SF08 - INT 21 - Novell NetWare v2+ - AFP OPEN FILE FORK
INT 21 - Novell NetWare v2+ - AFP OPEN FILE FORK
	AX = F223h subfn 08h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02317)
	ES:DI -> reply buffer (see #02318)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=05h,AX=F223h/SF=09h

Format of NetWare "AFP Open File Fork" request packet:
Offset	Size	Description	(Table 02317)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	08h (subfunction "AFP Open File Fork")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	fork indicator (00h = data fork, 01h = resource fork)
 09h	BYTE	access mode
		bit 0: read
		bit 1: write
		bit 2: deny read access to others
		bit 3: deny write access to others
		bit 4: compatibility mode (should be set)
 0Ah	BYTE	path length
 0Bh  N BYTEs	AFP-style pathname (relative to AFP entry ID)
SeeAlso: #02318

Format of NetWare "AFP Open File Fork" reply packet:
Offset	Size	Description	(Table 02318)
 00h	DWORD	AFP entry ID for newly-opened file fork
 04h	DWORD	length of opened fork
 08h  6 BYTEs	NetWare file handle
SeeAlso: #02317

Top
21F223SF09 - INT 21 - Novell NetWare v2+ - AFP SET FILE INFORMATION
INT 21 - Novell NetWare v2+ - AFP SET FILE INFORMATION
	AX = F223h subfn 09h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02319)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=05h,AX=F223h/SF=0Ah,AX=F223h/SF=13h

Format of NetWare "AFP Set File Information" request packet:
Offset	Size	Description	(Table 02319)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	09h (subfunction "AFP Set File Information")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	WORD	request bitmap (see #02320)
 0Ah	WORD	directory/file attributes (see #02335)
 0Ch	WORD	creation date in AFP format
 0Eh	WORD	last-access date in AFP format
 10h	WORD	last-modified date in AFP format
 12h	WORD	last-modified time in AFP format
 14h	WORD	last-backup date in AFP format
 16h	WORD	last-backup time in AFP format
 18h 32 BYTEs	Finder information
 38h	BYTE	path length
 39h  N BYTEs	AFP-style pathname (relative to AFP entry ID)
SeeAlso: #02334

Bitfields for NetWare AFP request bitmap:
Bit(s)	Description	(Table 02320)
 8	set attributes
 10	set creation date
 11	set last-access date
 12	set last-modified date
 13	set last-backup date
 14	set Finder information
SeeAlso: #02319,#02334

Top
21F223SF0A - INT 21 - Novell NetWare v2+ - AFP SCAN FILE INFORMATION
INT 21 - Novell NetWare v2+ - AFP SCAN FILE INFORMATION
	AX = F223h subfn 0Ah
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02321)
	ES:DI -> reply buffer (see #02323)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=03h,AX=F223h/SF=08h

Format of NetWare "AFP Scan File Information" request packet:
Offset	Size	Description	(Table 02321)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	0Ah (subfunction "AFP Scan File Information")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	DWORD	AFP last-seen ID (from previous call)
		FFFFFFFFh on first call
 0Ch	WORD	number of entries to return (max. 4)
 0Eh	WORD	search bitmap (see #02322)
 10h	WORD	request bitmap (see #02310)
 12h	BYTE	path length
 13h  N BYTEs	AFS-style directory path (relative to AFP entry ID)
SeeAlso: #02323,#02336

Bitfields for NetWare AFP search bitmap:
Bit(s)	Description	(Table 02322)
 8	hidden files and directories
 9	system files and directories
 10	subdirectories
 11	files
SeeAlso: #02321,#02336,#02310,#02312

Format of NetWare "AFP Scan File Information" reply packet:
Offset	Size	Description	(Table 02323)
 00h	WORD	number of entries returned
 02h 120N BYTEs	file information records (see #02324)
SeeAlso: #02321

Format of NetWare AFP file information:
Offset	Size	Description	(Table 02324)
 00h	DWORD	AFP entry ID
 04h	DWORD	parent directory's AFP entry ID
 08h	WORD	directory/file attributes (see #02312)
 0Ah	DWORD	length of data fork
 0Eh	DWORD	length of resource fork
 12h	WORD	total files and subdirectories contained within entry
		always 0000h if entry is a file
 14h	WORD	creation date in AFP format
 16h	WORD	last-access date in AFP format
 18h	WORD	last-modified date in AFP format
 1Ah	WORD	last-modified time in AFP format
 1Ch	WORD	last-backup date in AFP format
 1Eh	WORD	last-backup time in AFP format
 20h 32 BYTEs	Finder information
 40h 32 BYTEs	long filename
 60h	DWORD	NetWare object ID of owner
 64h 12 BYTEs	short filename (MS-DOS 8.3 format)
 70h	WORD	access privileges (see #02313)
SeeAlso: #02323

Top
21F223SF0B - INT 21 - Novell NetWare v2+ - AFP ALLOCATE TEMPORARY DIRECTORY HANDLE
INT 21 - Novell NetWare v2+ - AFP ALLOCATE TEMPORARY DIRECTORY HANDLE
	AX = F223h subfn 0Bh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02325)
	ES:DI -> reply buffer (see #02326)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=0Dh

Format of NetWare "AFP Alloc Temporary Directory Handle" request packet:
Offset	Size	Description	(Table 02325)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	0Bh (subfunction "AFT Alloc Temporary Directory Handle")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	path length
 09h  N BYTEs	AFP-style pathname
SeeAlso: #02326

Format of NetWare "AFP Alloc Temporary Directory Handle" request packet:
Offset	Size	Description	(Table 02326)
 00h	BYTE	directory handle
 01h	BYTE	NetWare access rights (see #02327)
SeeAlso: #02325

Bitfields for NetWare AFP access rights:
Bit(s)	Description	(Table 02327)
 0	read
 1	write
 2	open
 3	create
 4	delete
 5	parental: create/delete/rename subdirectories
 6	search
 7	modify file status flags
SeeAlso: #02326,#02313

Top
21F223SF0C - INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM PATHNAME
INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM PATHNAME
	AX = F223h subfn 0Ch
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02328)
	ES:DI -> reply buffer (see #02329)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=06h,AX=F223h/SF=12h

Format of NetWare "AFP Get Entry ID from Path Name" request packet:
Offset	Size	Description	(Table 02328)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	0Ch (subfunction "AFP Get Entry ID from Path Name")
 03h	BYTE	NetWare directory handle
 04h	BYTE	path length
 05h  N BYTEs	pathname
SeeAlso: #02329

Format of NetWare "AFP Get Entry ID from Path Name" reply packet:
Offset	Size	Description	(Table 02329)
 00h	DWORD	AFP entry ID corresponding to specified file
SeeAlso: #02328

Top
21F223SF0D - INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE DIRECTORY
INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE DIRECTORY
	AX = F223h subfn 0Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02330)
	ES:DI -> reply buffer (see #02331)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=0Eh

Format of NetWare "AFP 2.0 Create Directory" request buffer:
Offset	Size	Description	(Table 02330)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	0Dh (subfunction "AFP 2.0 Create Directory")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	reserved for future use
 09h 32	BYTEs	Finder information
 29h  6 BYTEs	ProDOS information
 2Fh	BYTE	path length
 30h	var	AFS-style directory path (relative to AFP entry)
SeeAlso: #02331,#02302

Format of NetWare "AFP 2.0 Create Directory" reply buffer:
Offset	Size	Description	(Table 02331)
 00h	DWORD	new directory ID
SeeAlso: #02330,#02303

Top
21F223SF0E - INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE FILE
INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE FILE
	AX = F223h subfn 0Eh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02332)
	ES:DI -> reply buffer (see #02333)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=0Dh

Format of NetWare "AFP 2.0 Create File" request packet:
Offset	Size	Description	(Table 02332)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	0Eh (function "AFP 2.0 Create File")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	BYTE	flag: delete existing file? (00h no, 01h yes)
 09h 32 BYTEs	Finder information
 29h  6 BYTEs	ProDOS information
 2Fh	BYTE	path length
 30h	var	AFP-style pathname (relative to AFP entry ID)
SeeAlso: #02333,#02304

Format of NetWare "AFP 2.0 Create File" reply packet:
Offset	Size	Description	(Table 02333)
 00h	DWORD	new file ID
SeeAlso: #02332,#02305

Top
21F223SF10 - INT 21 - Novell NetWare v2+ - AFP 2.0 SET FILE INFORMATION
INT 21 - Novell NetWare v2+ - AFP 2.0 SET FILE INFORMATION
	AX = F223h subfn 10h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02334)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=09h,AX=F223h/SF=11h

Format of NetWare "AFP 2.0 Set File Information" request packet:
Offset	Size	Description	(Table 02334)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	10h (subfunction "AFS 2.0 Set File Information")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	WORD	request bitmap (see #02320)
 0Ah	WORD	directory/file attributes (see #02335)
 0Ch	WORD	creation date in AFP format
 0Eh	WORD	last-access date in AFP format
 10h	WORD	last-modified date in AFP format
 12h	WORD	last-modified time in AFP format
 14h	WORD	last-backup date in AFP format
 16h	WORD	last-backup time in AFP format
 18h 32 BYTEs	Finder information
 38h  6 BYTEs	ProDOS information
 3Eh	BYTE	path length
 3Fh  N BYTEs	AFP-style pathname (relative to AFP entry ID)
SeeAlso: #02319

Bitfields for NetWare AFP directory/file attributes:
Bit(s)	Description	(Table 02335)
 0	read-only
 1	hidden
 2	system
 3	execute-only
 4	subdirectory
 5	archive
 7	shareable file
SeeAlso: #02334

Top
21F223SF11 - INT 21 - Novell NetWare v2+ - AFP 2.0 SCAN FILE INFORMATION
INT 21 - Novell NetWare v2+ - AFP 2.0 SCAN FILE INFORMATION
	AX = F223h subfn 11h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02336)
	ES:DI -> reply buffer (see #02337)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=0Dh,AX=F223h/SF=10h

Format of NetWare "AFP 2.0 Scan File Information" request packet:
Offset	Size	Description	(Table 02336)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	11h (subfunction "AFP 2.0 Scan File Information")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
 08h	DWORD	AFP last-seen ID (from previous call)
		FFFFFFFFh on first call
 0Ch	WORD	number of entries to return (max. 4)
 0Eh	WORD	search bitmap (see #02322)
 10h	WORD	request bitmap (see #02310)
 12h	BYTE	path length
 13h  N BYTEs	AFS-style directory path (relative to AFP entry ID)
SeeAlso: #02337

Format of NetWare "AFP 2.0 Scan File Information" reply packet:
Offset	Size	Description	(Table 02337)
 00h	WORD	number of entries returned
 02h 120N BYTEs	file information records (see #02338)
SeeAlso: #02336

Format of NetWare AFP 2.0 file information:
Offset	Size	Description	(Table 02338)
 00h	DWORD	AFP entry ID
 04h	DWORD	parent directory's AFP entry ID
 08h	WORD	directory/file attributes (see #02312)
 0Ah	DWORD	length of data fork
 0Eh	DWORD	length of resource fork
 12h	WORD	total files and subdirectories contained within entry
		always 0000h if entry is a file
 14h	WORD	creation date in AFP format
 16h	WORD	last-access date in AFP format
 18h	WORD	last-modified date in AFP format
 1Ah	WORD	last-modified time in AFP format
 1Ch	WORD	last-backup date in AFP format
 1Eh	WORD	last-backup time in AFP format
 20h 32 BYTEs	Finder information
 40h 32 BYTEs	long filename
 60h	DWORD	NetWare object ID of owner
 64h 12 BYTEs	short filename (MS-DOS 8.3 format)
 70h	WORD	access privileges (see #02313)
 72h  6 BYTEs	ProDOS information
SeeAlso: #02337,#02310,#02311

Top
21F223SF12 - INT 21 - Novell NetWare v2+ - AFP GET DOS FILENAME FROM ENTRY ID
INT 21 - Novell NetWare v2+ - AFP GET DOS FILENAME FROM ENTRY ID
	AX = F223h subfn 12h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02339)
	ES:DI -> reply buffer (see #02340)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=06h

Format of NetWare "AFP Get DOS Name from Entry ID" request packet:
Offset	Size	Description	(Table 02339)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	12h (subfunction "AFP Get DOS Name From Entry ID")
 03h	BYTE	volume number
 04h	DWORD	AFP entry ID
SeeAlso: #02340

Format of NetWare "AFP Get DOS Name from Entry ID" reply packet:
Offset	Size	Description	(Table 02340)
 00h	BYTE	length of DOS pathname
 01h  N BYTEs	pathname corresponding to AFP entry ID
SeeAlso: #02339

Top
21F223SF13 - INT 21 - Novell NetWare v2+ - AFP GET MACINTOSH INFORMATION ON DELETED FILE
INT 21 - Novell NetWare v2+ - AFP GET MACINTOSH INFORMATION ON DELETED FILE
	AX = F223h subfn 13h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02341)
	ES:DI -> reply buffer (see #02342)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=05h,AX=F223h/SF=09h

Format of NetWare "AFP Get Macintosh Info on Deleted File" request packet:
Offset	Size	Description	(Table 02341)
 00h	WORD	(big-endian) length of following data
 02h	BYTE	13h (subfunction "AFP Get Macintosh Info on Deleted File")
 03h	BYTE	volume number
 04h	DWORD	server's DOS directory entry index
SeeAlso: #02342

Format of NetWare "AFP Get Macintosh Info on Deleted File" reply packet:
Offset	Size	Description	(Table 02342)
 00h 32 BYTEs	Finder information
 20h  6 BYTEs	ProDOS information
 26h	DWORD	size of resource fork
 2Ah	BYTE	length of filename
 2Bh  N BYTEs	filename
SeeAlso: #02341

Top
21F23D - INT 21 - Novell NetWare - COMMIT FILE
INT 21 - Novell NetWare - COMMIT FILE
	AX = F23Dh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02347)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=3Eh,AH=F2h"Novell",AX=F23Eh,AX=F243h

Top
21F23E - INT 21 - Novell NetWare - FILE SEARCH INITIALIZE (FindFirst)
INT 21 - Novell NetWare - FILE SEARCH INITIALIZE (FindFirst)
	AX = F23Eh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02343)
	ES:DI -> reply buffer (see #02344)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=4Eh,AH=F2h"Novell",AX=F23Fh,AX=F242h

Format of NetWare "File Search Initialize" request packet:
Offset	Size	Description	(Table 02343)
 00h	BYTE	directory handle
 01h	BYTE	length of directory path
 02h  N BYTEs	path of directory to search, in VOLUME:DIRECTORY/... format
SeeAlso: #02344,#02345

Format of NetWare "File Search Initialize" reply packet:
Offset	Size	Description	(Table 02344)
 00h	BYTE	volume number
 01h	WORD	directory ID
 03h	WORD	search sequence number
 05h	BYTE	directory access rights
SeeAlso: #02343,#02346

Top
21F23F - INT 21 - Novell NetWare - FILE SEARCH CONTINUE (FindNext)
INT 21 - Novell NetWare - FILE SEARCH CONTINUE (FindNext)
	AX = F23Fh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02345)
	ES:DI -> reply buffer (see #02346)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=4Eh,AH=F2h"Novell",AX=F23Eh,AX=F242h

Format of NetWare "File Search Continue" request packet:
Offset	Size	Description	(Table 02345)
 00h	BYTE	volume number
 02h	WORD	directory ID from File Search Initialize
 04h	WORD	search sequence (set to FFFFh before first call)
 06h	BYTE	search attributes
 07h	BYTE	length of search directory path
 08h  N BYTEs	name of search directory in VOLUME:DIRECTORY/.../DIR format
SeeAlso: #02346

Format of NetWare "File Search Continue" reply packet:
Offset	Size	Description	(Table 02346)
 00h	WORD	next search sequence
 02h	WORD	directory ID from File Search Initialize
 04h	WORD	reserved for future use
 06h 14 BYTEs	filename
 14h	BYTE	file attributes
 15h	BYTE	file mode
 16h	DWORD	file length
 2Ah	WORD	creation date
 2Ch	WORD	last-access date
 2Eh	WORD	last-modification date
 30h	WORD	last-modification time
SeeAlso: #02345

Top
21F242 - INT 21 - Novell NetWare - CLOSE FILE
INT 21 - Novell NetWare - CLOSE FILE
	AX = F242h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02347)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=3Eh,AH=F2h"Novell",AX=F23Eh,AX=F243h,AX=F24Ah

Format of NetWare "Commit/Close File" request packet:
Offset	Size	Description	(Table 02347)
 00h	BYTE	reserved (0)
 01h  6 BYTEs	NetWare file handle

Top
21F243 - INT 21 - Novell NetWare - CREATE FILE
INT 21 - Novell NetWare - CREATE FILE
	AX = F243h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02348)
	ES:DI -> reply buffer (see #02349)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=3Ch,AH=F2h"Novell",AX=F23Eh,AX=F242h,AX=F24Ah,AX=F24Dh

Format of NetWare "Create File" request packet:
Offset	Size	Description	(Table 02348)
 00h	BYTE	directory handle
 01h	BYTE	file attributes
 02h	BYTE	length of filename
 03h  N BYTEs	filename in DOS format
SeeAlso: #02349

Format of NetWare "Create File" reply packet:
Offset	Size	Description	(Table 02349)
 00h  6 BYTEs	NetWare file handle
 06h	WORD	reserved
 08h 14 BYTEs	DOS-format filename
 16h	BYTE	file attributes
 17h	BYTE	file execute type
 18h	DWORD	file length
 1Ch	WORD	creation date
 1Eh	WORD	last-access date
 20h	WORD	last-modification date
 22h	WORD	last-modification time
SeeAlso: #02348

Top
21F244 - INT 21 - Novell NetWare - FILE SERVICES - ERASE FILE
INT 21 - Novell NetWare - FILE SERVICES - ERASE FILE
	AX = F244h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02351)
	ES:DI ignored
Return: AL = status (see #02350)
Note:	this function only marks the file for deletion; use AH=E2h/SF=CEh to
	  actually delete all marked files
SeeAlso: AH=13h,AH=41h,AH=E2h/SF=0Bh,AH=E3h/SF=CEh

(Table 02350)
Values for NetWare function status:
 00h	successful
 98h	nonexistent volume
 9Bh	invaid directory handle
 9Ch	invalid path
 FFh	no files found
SeeAlso: #02094,#02860 at INT 2F/AX=7A20h/BX=0000h

Format of NetWare "Erase Files" request packet:
Offset	Size	Description	(Table 02351)
 00h	BYTE	directory handle
 01h	BYTE	search attributes (see #01420 at AX=4301h)
 02h	BYTE	length of filespec
 03h  N BYTEs	ASCIZ filespec (may include wildcards)

Top
21F247 - INT 21 - Novell NetWare - GET CURRENT FILE SIZE
INT 21 - Novell NetWare - GET CURRENT FILE SIZE
	AX = F247h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02352)
	ES:DI -> reply buffer (see #02353)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=42h,AH=F2h"Novell",AX=F23Eh,AX=F242h,AX=F24Ah,AX=F24Dh

Format of NetWare "Get Current Size of File" request packet:
Offset	Size	Description	(Table 02352)
 00h	BYTE	reserved for future use
 01h  6 BYTEs	NetWare file handle
SeeAlso: #02353

Format of NetWare "Get Current Size of File" reply packet:
Offset	Size	Description	(Table 02353)
 00h	DWORD	current size of file
SeeAlso: #02352

Top
21F24A - INT 21 - Novell NetWare - COPY FROM ONE FILE TO ANOTHER
INT 21 - Novell NetWare - COPY FROM ONE FILE TO ANOTHER
	AX = F24Ah
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02354)
	ES:DI -> reply buffer (see #02355)
Return: AX = status (see #02350)
Note:	this function only marks the file for deletion; use AH=E2h/SF=CEh to
	  actually delete all marked files
SeeAlso: AH=F2h"Novell",AX=F243h,AX=F247h,AH=F3h"NetWare"

Format of NetWare "Copy from One File to Another" request packet:
Offset	Size	Description	(Table 02354)
 00h	BYTE	reserved for future use
 01h  6 BYTEs	source NetWare file handle
 07h  6 BYTEs	destination NetWare file handle
 0Dh	DWORD	source file offset
 11h	DWORD	destination file offset
 15h	DWORD	number of bytes to copy
SeeAlso: #02355

Format of NetWare "Copy from One File to Another" reply packet:
Offset	Size	Description	(Table 02355)
 00h	DWORD	number of bytes actually copied
SeeAlso: #02354

Top
21F24D - INT 21 - Novell NetWare - CREATE NEW FILE
INT 21 - Novell NetWare - CREATE NEW FILE
	AX = F24Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02356)
	ES:DI -> reply buffer (see #02357)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AX=6C00h,AH=F2h"Novell",AX=F23Eh,AX=F242h,AX=F243h

Format of NetWare "Create New File" request packet:
Offset	Size	Description	(Table 02356)
 00h	BYTE	directory handle
 01h	BYTE	file attributes
 02h	BYTE	length of filename
 03h  N BYTEs	filename in DOS format
SeeAlso: #02357

Format of NetWare "Create New File" reply packet:
Offset	Size	Description	(Table 02357)
 00h  6 BYTEs	NetWare file handle
 06h	WORD	reserved
 08h 14 BYTEs	DOS-format filename
 16h	BYTE	file attributes
 17h	BYTE	file execute type
 18h	DWORD	file length
 1Ch	WORD	creation date
 1Eh	WORD	last-access date
 20h	WORD	last-modification date
 22h	WORD	last-modification time
SeeAlso: #02356

Top
21F24E - INT 21 - Novell NetWare v2+ - ALLOW TASK ACCESS TO FILE
INT 21 - Novell NetWare v2+ - ALLOW TASK ACCESS TO FILE
	AX = F24Eh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02358)
	ES:DI -> reply buffer (see #02359)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
Desc:	allow calling task to gain access to an already-open file belonging
	  to another task of the same client
Note:	the caller receives the same access rights as the owning task, and
	  must use the returned new handle to access the file
SeeAlso: AH=F2h"NetWare",AX=F244h

Format of NetWare "Allow Task Access to File" request packet:
Offset	Size	Description	(Table 02358)
 00h	BYTE	reserved for future use
 01h  6 BYTEs	NetWare file handle
SeeAlso: #02359

Format of NetWare "Allow Task Access to File" reply packet:
Offset	Size	Description	(Table 02359)
 00h  6 BYTEs	new file handle
SeeAlso: #02358

Top
21F256SF01 - INT 21 - Novell NetWare - CLOSE EXTENDED ATTRIBUTE HANDLE
INT 21 - Novell NetWare - CLOSE EXTENDED ATTRIBUTE HANDLE
	AX = F256h subfn 01h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02360)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F256h/SF=02h,AX=F256h/SF=04h,AX=F256h/SF=05h

Format of NetWare "Close Extended Attribute Handle" request packet:
Offset	Size	Description	(Table 02360)
 00h	BYTE	01h (subfunction "Close Extended Attribute Handle")
 01h	WORD	reserved for future use
 03h	DWORD	extended attribute handle

Top
21F256SF02 - INT 21 - Novell NetWare - WRITE EXTENDED ATTRIBUTE
INT 21 - Novell NetWare - WRITE EXTENDED ATTRIBUTE
	AX = F256h subfn 02h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02361)
	ES:DI -> reply buffer (see #02362)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=03h,AX=F256h/SF=05h

Format of NetWare "Write Extended Attribute" request packet:
Offset	Size	Description	(Table 02361)
 00h	BYTE	02h (subfunction "Write Extended Attribute")
 01h	WORD	flags (see #02372)
 03h  8 BYTEs	extended attribute handle structure (see #02373)
 0Bh	DWORD	write size
 0Fh	DWORD	write position
 13h	DWORD	access flag
 17h	WORD	length of value
 19h	WORD	key length
 1Bh  N BYTEs	key
      N BYTEs	value
SeeAlso: #02361,#02363

Format of NetWare "Write Extended Attribute" reply packet:
Offset	Size	Description	(Table 02362)
 00h	DWORD	error code
 04h	DWORD	number of bytes written
 08h	DWORD	new extended attribute handle
SeeAlso: #02361

Top
21F256SF03 - INT 21 - Novell NetWare - READ EXTENDED ATTRIBUTE
INT 21 - Novell NetWare - READ EXTENDED ATTRIBUTE
	AX = F256h subfn 03h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02363)
	ES:DI -> reply buffer (see #02364)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=04h,AX=F256h/SF=05h

Format of NetWare "Read Extended Attribute" request packet:
Offset	Size	Description	(Table 02363)
 00h	BYTE	03h (subfunction "Read Extended Attribute")
 01h	WORD	flags (see #02372)
 03h  8 BYTEs	extended attribute handle structure (see #02373)
 0Bh	DWORD	read position
 0Fh	DWORD	inspect size
 13h	WORD	key length
 15h  N BYTEs	key
SeeAlso: #02364,#02361

Format of NetWare "Read Extended Attribute" reply packet:
Offset	Size	Description	(Table 02364)
 00h	DWORD	error code
 04h	DWORD	total extended attribute value length
 08h	DWORD	new extended attribute handle
 0Ch	DWORD	access flag
 10h	WORD	value length
 12h  N BYTEs	EA value
SeeAlso: #02363

Top
21F256SF04 - INT 21 - Novell NetWare - ENUMERATE EXTENDED ATTRIBUTES
INT 21 - Novell NetWare - ENUMERATE EXTENDED ATTRIBUTES
	AX = F256h subfn 04h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02365)
	ES:DI -> reply buffer (see #02366)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=02h,AX=F256h/SF=05h

Format of NetWare "Enumerate Extended Attributes" request packet:
Offset	Size	Description	(Table 02365)
 00h	BYTE	04h (subfunction "Enumerate Extended Attributes")
 01h	WORD	flags (see #02372)
 03h  8 BYTEs	extended attribute handle structure (see #02373)
 0Bh	DWORD	inspect size
 0Fh	WORD	enumeration sequence
 11h	WORD	key length
 13h  N BYTEs	key
SeeAlso: #02366

Format of NetWare "Enumerate Extended Attributes" reply packet:
Offset	Size	Description	(Table 02366)
 00h	DWORD	error code
 04h	DWORD	total extended attributes
 08h	DWORD	total extended attribute data size
 0Ch	DWORD	total extended attribute key size
 10h	DWORD	new extended attribute handle
---information level 0---
 14h  2 WORDs	reserved
---information level 1---
 14h	WORD	number of enumerated extended attribute structures
 16h	var	EA structure level 1
---information level 6---
 14h	WORD	reserved
 16h	var	EA structure level 6
---information level 7---
 14h	WORD	number of enumerated extended attribute structures
 16h	var	EA structure level 7
SeeAlso: #02365

Format of NetWare Extended Attribute structure level 1:
Offset	Size	Description	(Table 02367)
 00h	DWORD	length of EA value
 04h	WORD	length of EA key
 06h	DWORD	access flag
 0Ah  N BYTEs	key
SeeAlso: #02366,#02368,#02369

Format of NetWare Extended Attribute structure level 6:
Offset	Size	Description	(Table 02368)
 00h	DWORD	length of EA value
 04h	WORD	length of EA key
 06h	DWORD	access flag
 0Ah	DWORD	key extents
 0Eh	DWORD	value extents
 12h  N BYTEs	key
SeeAlso: #02366,#02367,#02369

Format of NetWare Extended Attribute structure level 7:
Offset	Size	Description	(Table 02369)
 00h	BYTE	key length
 01h  N BYTEs	key
	BYTE	00h
SeeAlso: #02366,#02367,#02368

Top
21F256SF05 - INT 21 - Novell NetWare - DUPLICATE EXTENDED ATTRIBUTES
INT 21 - Novell NetWare - DUPLICATE EXTENDED ATTRIBUTES
	AX = F256h subfn 05h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02370)
	ES:DI -> reply buffer (see #02371)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=02h,AX=F256h/SF=04h

Format of NetWare "Duplicate Extended Attributes" request packet:
Offset	Size	Description	(Table 02370)
 00h	BYTE	05h (subfunction "Duplicate Extended Attributes")
 01h	WORD	source flags (see #02372)
 03h	WORD	destination flags (see #02372)
 05h  8 BYTEs	source extended attribute structure (see #02373)
 0Dh  8 BYTEs	destination extended attribute structure (see #02373)
SeeAlso: #02371

Format of NetWare "Duplicate Extended Attributes" reply packet:
Offset	Size	Description	(Table 02371)
 00h	DWORD	number duplicated
 04h	DWORD	data size duplicated
 08h	DWORD	key size duplicated
SeeAlso: #02370

Bitfields for NetWare extended attribute flags:
Bit(s)	Description	(Table 02372)
 1-0	extended attribute handle structure type
	00 volume number and directory entry number
	01 NetWare file handle
	10 extended attribute handle
	11 not used
 2	close handle on error
 6-4	information level (0,1,6,7)
 7	not used
SeeAlso: #02370,#02373

Format of NetWare extended attribute structure:
Offset	Size	Description	(Table 02373)
---type 0---
 00h	DWORD	volume number
 04h	DWORD	directory entry number
---type 1---
 00h	DWORD	NetWare file handle
 04h  4 BYTEs	unused
---type 2---
 00h	DWORD	extended attribute handle
 04h  4 BYTEs	unused
SeeAlso: #02372

Top
21F257SF01 - INT 21 - Novell NetWare - OPEN/CREATE FILE OR SUBDIRECTORY
INT 21 - Novell NetWare - OPEN/CREATE FILE OR SUBDIRECTORY
	AX = F257h subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02374)
	ES:DI -> reply buffer (see #02375)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=6C00h,AX=F257h/SF=02h,AX=F257h/SF=04h

Format of NetWare "Open/Create File or Subdirectory" request packet:
Offset	Size	Description	(Table 02374)
 00h	BYTE	01h (subfunction "Open/Create File or Subdirectory")
 01h	BYTE	name space (see #02387)
 02h	BYTE	open/create mode
 03h	WORD	search attributes
 05h	DWORD	return information mask
 09h	DWORD	create attributes
 0Dh	WORD	desired access rights (see #02377)
 0Fh		NetWare handle/path structure
SeeAlso: #02375

Format of NetWare "Open/Create File or Subdirectory" reply packet:
Offset	Size	Description	(Table 02375)
 00h	DWORD	file handle
 04h	BYTE	open/create action
		00h open
		01h replace
		03h create
 05h	BYTE	reserved
SeeAlso: #02374

Format of NetWare Handle/Path structure:
Offset	Size	Description	(Table 02376)
 00h	BYTE	volume number
 01h	DWORD	directory base or short handle
 05h	BYTE	handle flag
		00h short directory handle
		01h directory base
		FFh no handle
 06h	BYTE	path component count
 07h  N BYTEs	path component

Bitfields for NetWare desired access rights:
Bit(s)	Description	(Table 02377)
 0	read-only mode
 1	write-only
 2	deny read
 3	deny write
 4	compatibility mode
 6	write-through mode
SeeAlso: #02374

Top
21F257SF02 - INT 21 - Novell NetWare - INITIALIZE SEARCH
INT 21 - Novell NetWare - INITIALIZE SEARCH
	AX = F257h subfn 02h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02378)
	ES:DI -> reply buffer (see #02379)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=4Eh,AH=F2h"Novell",AX=F257h/SF=01h,AX=F257h/SF=03h

Format of NetWare "Initialize Search" request packet:
Offset	Size	Description	(Table 02378)
 00h	BYTE	02h (subfunction "Initialize Search")
 01h	BYTE	name space (see #02387)
 02h	BYTE	reserved for future use
 03h		NetWare Handle/Path structure (see #02376)
SeeAlso: #02379

Format of NetWare "Initialize Search" reply packet:
Offset	Size	Description	(Table 02379)
 00h  9 BYTEs	search sequence
		BYTE	volume number
		DWORD	directory number
		DWORD	current directory number
SeeAlso: #02378

Top
21F257SF03 - INT 21 - Novell NetWare - SCAN NAMESPACE ENTRY INFO
INT 21 - Novell NetWare - SCAN NAMESPACE ENTRY INFO
	AX = F257h subfn 03h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02380)
	ES:DI -> reply buffer (see #02381)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=04h,AX=F257h/SF=05h

Format of NetWare "Search for File or Subdirectory" request packet:
Offset	Size	Description	(Table 02380)
 00h	BYTE	03h (subfunction "Search for File or Subdirectory")
	???
SeeAlso: #02381

Format of NetWare "Search for File or Subdirectory" reply packet:
Offset	Size	Description	(Table 02381)
 00h	???
SeeAlso: #02380

Top
21F257SF04 - INT 21 - Novell NetWare - RENAME OR MOVE FILE OR SUBDIRECTORY
INT 21 - Novell NetWare - RENAME OR MOVE FILE OR SUBDIRECTORY
	AX = F257h subfn 04h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02382)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=56h,AH=F2h"Novell",AX=F257h/SF=02h,AX=F257h/SF=03h,AX=F257h/SF=05h

Format of NetWare "Rename or Move File or Subdirectory" request packet:
Offset	Size	Description	(Table 02382)
 00h	BYTE	04h (subfunction "Rename or Move File or Subdirectory")
 01h	BYTE	name space (see #02387)
 02h	BYTE	rename flags
		bit 0: rename successful
		bit 1: compatibility mode
 03h	WORD	search attributes
 05h		source NetWare Handle Path
		destination NetWare Handle Path

Top
21F257SF05 - INT 21 - Novell NetWare - SCAN FILE OR SUBDIRECTORY FOR TRUSTEES
INT 21 - Novell NetWare - SCAN FILE OR SUBDIRECTORY FOR TRUSTEES
	AX = F257h subfn 05h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02383)
	ES:DI -> reply buffer (see #02384)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=04h,AX=F257h/SF=06h

Format of NetWare "Scan File or Subdirectory for Trustees" request packet:
Offset	Size	Description	(Table 02383)
 00h	BYTE	05h (subfunction "Scan File or Subdirectory for Trustees")
 01h	BYTE	name space (see #02387)
 02h	BYTE	reserved for future use
 03h	DWORD	scan sequence (set to 00000000h before first call)
 07h		NetWare Handle/Path structure (see #02376)
SeeAlso: #02384

Format of NetWare "Scan File or Subdirectory for Trustees" reply packet:
Offset	Size	Description	(Table 02384)
 00h	DWORD	next scan sequence or FFFFFFFFh if no more
 04h	WORD	number of trustee object IDs returned
 06h		trustee structure
SeeAlso: #02383

Top
21F257SF06 - INT 21 - Novell NetWare v3+ - GET INFORMATION ABOUT FILE OR DIRECTORY
INT 21 - Novell NetWare v3+ - GET INFORMATION ABOUT FILE OR DIRECTORY
	AX = F257h subfn 06h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02385)
	ES:DI -> reply buffer (see #02388)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AH=F2h"Novell",AX=F257h/SF=02h,AX=F257h/SF=05h,AX=F257h/SF=07h

Format of NetWare "Get NS Entry Info" request buffer:
Offset	Size	Description	(Table 02385)
 00h	BYTE	06h (subfunction "Get NS Entry Info")
 01h	BYTE	name space (see #02387)
 02h	BYTE	destination name space
 03h	WORD	search attributes
 05h	DWORD	return information mask (see #02386)
 09h	BYTE	volume number
 0Ah	DWORD	directory base
 0Eh	BYTE	handle flag
		00h first byte of dir base is dir handle; ignore volume number
		01h dir base = unique ID, volume number set
		FFh volume number and dir base ignored, volume part of path
 0Fh	BYTE	number of path components
 10h  N BYTEs	list of path components (each a counted string)
SeeAlso: #02388

Bitfields for return information mask:
Bit(s)	Description	(Table 02386)
 0	include filename
 1	data stream space allocated info
 2	attributes info
 3	data stream size info
 4	total space allocated for all data streams
 5	extended attributes info
 6	archive info
 7	modify info
 8	create info
 9	name space info
 10	directory info
 11	rights info

(Table 02387)
Values for NetWare name space:
 00h	DOS
 01h	Macintosh
 02h	NFS
 03h	FTAM
 04h	OS/2
SeeAlso: #02385,#02393

Format of NetWare "Get NS Entry Info" reply buffer:
Offset	Size	Description	(Table 02388)
 00h 72 BYTEs	reserved
 48h	DWORD	creator's name space number
 4Ch 257 BYTEs	reserved
SeeAlso: #02385

Top
21F257SF07 - INT 21 - Novell NetWare - MODIFY FILE OR SUBDIRECTORY DOS INFORMATION
INT 21 - Novell NetWare - MODIFY FILE OR SUBDIRECTORY DOS INFORMATION
	AX = F257h subfn 07h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02389)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=04h,AX=F257h/SF=08h

Format of NetWare "Modify File or Subdirectory DOS Information" request packet:
Offset	Size	Description	(Table 02389)
 00h	BYTE	07h (subfunction "Modify File or Subdirectory DOS Information")
 01h	BYTE	name space (see #02387)
 02h	BYTE	reserved for future use
 03h	WORD	search attributes
 05h	DWORD	modify DOS mask
 09h		Modify DOS information structure

Top
21F257SF08 - INT 21 - Novell NetWare - DELETE FILE/DIRECTORY
INT 21 - Novell NetWare - DELETE FILE/DIRECTORY
	AX = F257h subfn 08h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02390)
	ES:DI -> reply buffer (see #02391)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=01h,AX=F257h/SF=07h

Format of NetWare "Delete File/Directory" request packet:
Offset	Size	Description	(Table 02390)
 00h	BYTE	08h (subfunction "Delete File/Directory")
	???
SeeAlso: #02391

Format of NetWare "Delete File/Directory" reply packet:
Offset	Size	Description	(Table 02391)
 00h	???
SeeAlso: #02390

Top
21F257SF09 - INT 21 - Novell NetWare - SET SHORT DIRECTORY HANDLE
INT 21 - Novell NetWare - SET SHORT DIRECTORY HANDLE
	AX = F257h subfn 09h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02392)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=0Ch

Format of NetWare "Set Short Directory Handle" request packet:
Offset	Size	Description	(Table 02392)
 00h	BYTE	09h (subfunction "Set Short Directory Handle")
 01h	BYTE	name space (see #02387)
 02h	BYTE	data stream
 03h	BYTE	destination directory handle
 04h	BYTE	reserved for future use
 05h		NetWare Handle/Path structure (see #02376)

Top
21F257SF0A - INT 21 - Novell NetWare v3+ - ADD TRUSTEE SET TO FILE OR SUBDIRECTORY
INT 21 - Novell NetWare v3+ - ADD TRUSTEE SET TO FILE OR SUBDIRECTORY
	AX = F257h subfn 0Ah
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02393)
	ES:DI ignored
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F257h/SF=0Bh

Format of NetWare "Add Trustee Set" request packet:
Offset	Size	Description	(Table 02393)
 00h	BYTE	0Ah (subfunction "Add Trustee Set to File or Subdirectory")
 01h	BYTE	name space (see #02387)
 02h  2 BYTEs	reserved
 04h	WORD	trustee rights (see #02141)
 06h	WORD	object ID count
 08h		NetWare Handle/Path structure (see #02376)
      6 BYTEs	trustee structure (see #02394)

Format of NetWare trustee structure:
Offset	Size	Description	(Table 02394)
 00h	DWORD	object ID
 04h	WORD	trustee rights
SeeAlso: #02393

Top
21F257SF0B - INT 21 - Novell NetWare - DELETE TRUSTEE
INT 21 - Novell NetWare - DELETE TRUSTEE
	AX = F257h subfn 0Bh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02395)
	ES:DI -> reply buffer (see #02396)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=0Ah

Format of NetWare "Delete Trustee" request packet:
Offset	Size	Description	(Table 02395)
 00h	BYTE	0Bh (subfunction "Delete Trustee")
	???
SeeAlso: #02396

Format of NetWare "Delete Trustee" reply packet:
Offset	Size	Description	(Table 02396)
 00h	???
SeeAlso: #02395

Top
21F257SF0C - INT 21 - Novell NetWare v2+ - ALLOCATE SHORT DIRECTORY HANDLE
INT 21 - Novell NetWare v2+ - ALLOCATE SHORT DIRECTORY HANDLE
	AX = F257h subfn 0Ch
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02397)
	ES:DI -> reply buffer (see #02398)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Note:	unlike "Alloc Permanent Directory Handle", this function does not
	  automatically map a drive
SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=05h,AX=F223h/SF=09h

Format of NetWare "Allocate Short Directory Handle" request packet:
Offset	Size	Description	(Table 02397)
 00h	BYTE	0Ch (subfunction "Allocate Short Directory Handle")
 01h	BYTE	name space (see #02387)
 02h  2 BYTEs	reserved for future use
 04h	WORD	allocation mode
		bits 1-0: 00 permanent handle
			  01 temporary handle
			  10 special temporary handle
			  11 reserved
 06h		NetWare Handle/Path structure (see #02376)
SeeAlso: #02398

Format of NetWare "Allocate Short Directory Handle" reply packet:
Offset	Size	Description	(Table 02398)
 00h	BYTE	new directory handle
 01h	BYTE	volume number
 02h	DWORD	reserved for future use
SeeAlso: #02397

Top
21F257SF10 - INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES
INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES
	AX = F257h subfn 10h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02399)
	ES:DI -> reply buffer (see #02400)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Bh,AX=F257h/SF=11h,AX=F257h/SF=12h

Format of NetWare "Scan Salvageable Files" request packet:
Offset	Size	Description	(Table 02399)
 00h	BYTE	10h (subfunction "Scan Salvageable Files")
 01h	BYTE	name space
 02h	BYTE	data stream
 03h	DWORD	return information mask
 07h	DWORD	last sequence (set to FFFFFFFFh before first call)
 0Bh		NetWare Handle/Path structure (see #02376)
SeeAlso: #02400,#02123

Format of NetWare "Scan Salvageable Files" reply packet:
Offset	Size	Description	(Table 02400)
 00h	DWORD	next sequence number
 04h	WORD	deletion time
 06h	WORD	deletion date
 08h	DWORD	ID of deletor
 0Ch	DWORD	volume number
 10h	DWORD	directory entry number
 14h		NetWare Information Structure
SeeAlso: #02399,#02124

Top
21F257SF11 - INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE
INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE
	AX = F257h subfn 11h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02401)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Ch,AX=F257h/SF=10h,AX=F257h/SF=12h

Format of NetWare "Recover Salvageable File" request packet:
Offset	Size	Description	(Table 02401)
 00h	BYTE	11h (subfunction "Recover Salvageable File")
 01h	BYTE	name space
 02h	BYTE	reserved for future use
 03h	DWORD	sequence number
 07h	DWORD	volume number
 0Bh	DWORD	scan directory base
 0Fh	BYTE	new file name length
 10h  N BYTEs	new file name
SeeAlso: #02402,#02125

Top
21F257SF12 - INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE
INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE
	AX = F257h subfn 12h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02402)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Dh,AX=F257h/SF=10h,AX=F257h/SF=11h

Format of NetWare "Purge Salvageable File" request packet:
Offset	Size	Description	(Table 02402)
 00h	BYTE	12h (subfunction "Purge Salvageable File")
 01h	BYTE	name space
 02h	BYTE	reserved
 03h	DWORD	sequence number
 07h	DWORD	volume number
 0Bh	DWORD	directory entry number
SeeAlso: #02401

Top
21F257SF13 - INT 21 - Novell NetWare - GET NAMESPACE INFORMATION
INT 21 - Novell NetWare - GET NAMESPACE INFORMATION
	AX = F257h subfn 13h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02403)
	ES:DI -> reply buffer (see #02404)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=12h,AX=F257h/SF=15h

Format of NetWare "Get Namespace Information" request packet:
Offset	Size	Description	(Table 02403)
 00h	BYTE	13h (subfunction "Get Namespace Information")
 01h	BYTE	source name space (see #02387)
 02h	BYTE	destination name space
 03h	BYTE	reserved for future use
 04h	BYTE	volume number
 05h	DWORD	directory base
 09h	DWORD	namespace information mask
SeeAlso: #02404

Format of NetWare "Get Namespace Information" reply packet:
Offset	Size	Description	(Table 02404)
 00h	var	namespace-specific information
SeeAlso: #02403

Top
21F257SF15 - INT 21 - Novell NetWare - GET PATH STRING FROM SHORT DIRECTORY HANDLE
INT 21 - Novell NetWare - GET PATH STRING FROM SHORT DIRECTORY HANDLE
	AX = F257h subfn 15h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02405)
	ES:DI -> reply buffer (see #02406)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=13h,AX=F257h/SF=16h

Format of NetWare "Get Path String from Short Directory Handle" request packet:
Offset	Size	Description	(Table 02405)
 00h	BYTE	15h (subfunction "Get Path String from Short Directory Handle")
 01h	BYTE	name space (see #02387)
 02h	BYTE	short directory handle
SeeAlso: #02406

Format of NetWare "Get Path String from Short Directory Handle" reply packet:
Offset	Size	Description	(Table 02406)
 00h	BYTE	length of path
 01h  N BYTEs	full directory path
SeeAlso: #02405

Top
21F257SF16 - INT 21 - Novell NetWare - GENERATE DIRECTORY BASE AND VOLUME NUMBER
INT 21 - Novell NetWare - GENERATE DIRECTORY BASE AND VOLUME NUMBER
	AX = F257h subfn 16h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02407)
	ES:DI -> reply buffer (see #02408)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=15h,AX=F257h/SF=17h

Format of NetWare "Generate Directory Base and Volume Number" request packet:
Offset	Size	Description	(Table 02407)
 00h	BYTE	16h (subfunction "Generate Directory Base and Volume Number")
 01h	BYTE	name space (#02802)
 02h  3 BYTEs	reserved for future use
 05h		NetWare Handle/Path structure (see #02376)
SeeAlso: #02408

Format of NetWare "Generate Directory Base and Volume Number" reply packet:
Offset	Size	Description	(Table 02408)
 00h	DWORD	namespace directory base
 04h	DWORD	DOS directory base
 08h	BYTE	volume number
SeeAlso: #02407

Top
21F257SF17 - INT 21 - Novell NetWare - GET NAME SPACE INFORMATION FORMAT
INT 21 - Novell NetWare - GET NAME SPACE INFORMATION FORMAT
	AX = F257h subfn 17h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02409)
	ES:DI -> reply buffer (see #02410)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=18h,AX=F257h/SF=19h

Format of NetWare "Get Name Space Information Format" request packet:
Offset	Size	Description	(Table 02409)
 00h	BYTE	17h (subfunction "Get Name Space Information Format")
 01h	BYTE	name space (see #02387)
 02h	BYTE	volume number
SeeAlso: #02410

Format of NetWare "Get Name Space Information Format" reply packet:
Offset	Size	Description	(Table 02410)
 00h	DWORD	fixed bitmask
 04h	DWORD	variable bitmask
 08h	DWORD	huge bitmask
 0Ch	WORD	fixed bits defined
 0Eh	WORD	variable bits defined
 10h	WORD	huge bits defined
 12h 128 BYTEs	field lengths
SeeAlso: #02409

Top
21F257SF18 - INT 21 - Novell NetWare - GET NAME SPACES LOADED
INT 21 - Novell NetWare - GET NAME SPACES LOADED
	AX = F257h subfn 18h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02411)
	ES:DI -> reply buffer (see #02412)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=17h,AX=F257h/SF=19h,AX=F257h/SF=1Ah
SeeAlso: AX=F216h/SF=2Fh

Format of NetWare "Get Name Spaces Loaded" request packet:
Offset	Size	Description	(Table 02411)
 00h	BYTE	18h (subfunction "Get Name Spaces Loaded")
 01h  2 BYTEs	reserved for future use
 03h	BYTE	volume number
SeeAlso: #02412

Format of NetWare "Get Name Spaces Loaded" reply packet:
Offset	Size	Description	(Table 02412)
 00h	WORD	number of namespace elements
 02h	WORD	number of namespace elements loaded
 04h  N BYTEs	loaded name spaces (each byte contains number of one loaded
		  name space)
SeeAlso: #02411

Top
21F257SF19 - INT 21 - Novell NetWare - WRITE NAME SPACE INFO
INT 21 - Novell NetWare - WRITE NAME SPACE INFO
	AX = F257h subfn 19h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02413)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=17h,AX=F257h/SF=18h

Format of NetWare "Write Name Space Info" request packet:
Offset	Size	Description	(Table 02413)
 00h	BYTE	19h (subfunction "Write Name Space Info")
 01h	BYTE	source name space (see #02387)
 02h	BYTE	destination name space
 03h	BYTE	volume number
 04h	DWORD	directory entry number
 08h	DWORD	namespace information bitmask
 0Ch 512 BYTEs	namespace-specific informatin

Top
21F257SF1A - INT 21 - Novell NetWare - READ EXTENDED NAME SPACE INFO
INT 21 - Novell NetWare - READ EXTENDED NAME SPACE INFO
	AX = F257h subfn 1Ah
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02414)
	ES:DI -> reply buffer (see #02415)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=18h,AX=F257h/SF=19h,AX=F257h/SF=1Bh

Format of NetWare "Read Extended Name Space Info" request packet:
Offset	Size	Description	(Table 02414)
 00h	BYTE	1Ah (subfunction "Read Extended Name Space Info")
 01h	BYTE	name space (see #02387)
 02h	BYTE	volume number
 03h	DWORD	directory base
 07h	DWORD	huge mask
 0Bh 16 BYTEs	huge state information
SeeAlso: #02415

Format of NetWare "Read Extended Name Space Info" reply packet:
Offset	Size	Description	(Table 02415)
 00h 16 BYTEs	next huge state information
 10h	DWORD	huge data length
 14h  N BYTEs	huge data
SeeAlso: #02414

Top
21F257SF1B - INT 21 - Novell NetWare - WRITE EXTENDED NAME SPACE INFO
INT 21 - Novell NetWare - WRITE EXTENDED NAME SPACE INFO
	AX = F257h subfn 1Bh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02416)
	ES:DI -> reply buffer (see #02417)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=17h,AX=F257h/SF=18h,AX=F257h/SF=1Ah

Format of NetWare "Write Extended Name Space Info" request packet:
Offset	Size	Description	(Table 02416)
 00h	BYTE	1Bh (subfunction "Write Extended Name Space Info")
 01h	BYTE	name space (see #02387)
 02h	BYTE	volume number
 03h	DWORD	directory entry number
 07h	DWORD	huge mask
 0Bh 16 BYTEs	huge state information
 1Bh	DWORD	huge data length
 1Fh  N BYTEs	huge data
SeeAlso: #02417

Format of NetWare "Write Extended Name Space Info" request packet:
Offset	Size	Description	(Table 02417)
 00h 16 BYTEs	next huge state information
 10h	DWORD	huge data used
SeeAlso: #02416

Top
21F257SF1C - INT 21 - Novell NetWare - GET NS FULL PATH STRING
INT 21 - Novell NetWare - GET NS FULL PATH STRING
	AX = F257h subfn 1Ch
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02418)
	ES:DI -> reply buffer (see #02419)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
Note:	this call returns the path in reverse order (root directory last)
SeeAlso: AH=F2h"Novell",AX=F257h/SF=03h,AX=F257h/SF=15h

Format of NetWare "Get NS Full Path String" request packet:
Offset	Size	Description	(Table 02418)
 00h	BYTE	1Ch (subfunction "Get NS Full Path String")
 01h	BYTE	source name space
 02h	BYTE	destination name space
 03h 10	BYTEs	path cookie (see #02420)
 04h		NetWare Handle/Path structure (see #02376)
SeeAlso: #02419

Format of NetWare "Get NS Full Path String" reply packet:
Offset	Size	Description	(Table 02419)
 00h 10 BYTEs	next path cookie (see #02420)
 0Ah	WORD	size of path component(s) in packet
 0Ch	WORD	number of path components in packet
 0Eh		path components
SeeAlso: #02418

Format of NetWare path cookie:
Offset	Size	Description	(Table 02420)
 00h	WORD	flags
		bit 0: last component is a filename
 02h	DWORD	cookie1
 06h	DWORD	cookie2
Note:	"cookie1" and "cookie2" are to be set to FFFFFFFFh initially; if
	  "cookie2" is FFFFFFFFh on return, all path components have been
	  transferred
SeeAlso: #02418,#02419

Top
21F257SF1D - INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS
INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS
	AX = F257h subfn 1Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02421)
	ES:DI -> reply buffer (see #02422)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AX=F216h/SF=03h,AX=F257h/SF=06h,AX=F257h/SF=0Ch,AX=F257h/SF=15h

Format of NetWare "Get Effective Directory Rights" request packet:
Offset	Size	Description	(Table 02421)
 00h	BYTE	1Dh (subfunction "Get Effective Directory Rights")
 01h	BYTE	name space (see #02387)
 02h	BYTE	destination name space (see #02387)
 03h	WORD	search attributes
 05h	DWORD	return information mask
 09h		NetWare Handle/Path structure (see #02376)
SeeAlso: #02422

Format of NetWare "Get Effective Directory Rights" reply packet:
Offset	Size	Description	(Table 02422)
 00h	WORD	caller's effective rights
 02h		NetWare Information Structure
SeeAlso: #02421

Top
21F258SF01 - INT 21 - Novell NetWare v4+ - GET VOLUME AUDITING STATISTICS
INT 21 - Novell NetWare v4+ - GET VOLUME AUDITING STATISTICS
	AX = F258h subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02423)
	ES:DI -> reply buffer (see #02424)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F268h/SF=C8h

Format of NetWare "Get Volume Auditing Statistics" request buffer:
Offset	Size	Description	(Table 02423)
 00h	BYTE	01h (function "Get Volume Auditing Statistics")
 01h	DWORD	volume
SeeAlso: #02424

Format of NetWare "Get Volume Auditing Statistics" reply buffer:
Offset	Size	Description	(Table 02424)
 00h	WORD	auditing version (date)
 02h	WORD	audit file version (date)
 04h	DWORD	auditing enabled flag
 08h	DWORD	audit file's size
 0Ch	DWORD	audit configuration file's size
 10h	DWORD	maximum audit file size
 14h	DWORD	audit file size threshold
 18h	DWORD	number of audit records
 1Ch	DWORD	number of history records
SeeAlso: #02423,#02476

Top
21F258SF02 - INT 21 - Novell NetWare - ADD AUDIT PROPERTY
INT 21 - Novell NetWare - ADD AUDIT PROPERTY
	AX = F258h subfn 02h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02425)
	ES:DI -> reply buffer (see #02426)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F217h/SF=39h,AX=F258h/SF=06h,AX=F258h/SF=08h

Format of NetWare "Add Audit Property" request packet:
Offset	Size	Description	(Table 02425)
 00h	BYTE	02h (subfunction "Add Audit Property")
	???
SeeAlso: #02426

Format of NetWare "Add Audit Property" reply packet:
Offset	Size	Description	(Table 02426)
 00h	???
SeeAlso: #02425

Top
21F258SF03 - INT 21 - Novell NetWare - LOGIN AS VOLUME AUDITOR
INT 21 - Novell NetWare - LOGIN AS VOLUME AUDITOR
	AX = F258h subfn 03h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02427)
	ES:DI -> reply buffer (see #02428)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=04h,AX=F258h/SF=0Dh

Format of NetWare "Login As Volume Auditor" request packet:
Offset	Size	Description	(Table 02427)
 00h	BYTE	03h (subfunction "Login As Volume Auditor")
	???
SeeAlso: #02428

Format of NetWare "Login As Volume Auditor" reply packet:
Offset	Size	Description	(Table 02428)
 00h	???
SeeAlso: #02427

Top
21F258SF04 - INT 21 - Novell NetWare - CHANGE AUDITOR PASSWORD
INT 21 - Novell NetWare - CHANGE AUDITOR PASSWORD
	AX = F258h subfn 04h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02429)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=03h

Format of NetWare "Change Auditor Password" request packet:
Offset	Size	Description	(Table 02429)
 00h	BYTE	04h (subfunction "Change Auditor Password")
	???

Top
21F258SF05 - INT 21 - Novell NetWare - CHECK AUDIT ACCESS
INT 21 - Novell NetWare - CHECK AUDIT ACCESS
	AX = F258h subfn 05h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02430)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=02h,AX=F258h/SF=08h

Format of NetWare "Check Audit Access" request packet:
Offset	Size	Description	(Table 02430)
 00h	BYTE	05h (subfunction "Check Audit Access")
	???

Top
21F258SF06 - INT 21 - Novell NetWare - REMOVE AUDIT PROPERTY
INT 21 - Novell NetWare - REMOVE AUDIT PROPERTY
	AX = F258h subfn 06h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02431)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=02h,AX=F258h/SF=05h

Format of NetWare "Remove Audit Property" request packet:
Offset	Size	Description	(Table 02431)
 00h	BYTE	06h (subfunction "Remove Audit Property")
	???

Top
21F258SF07 - INT 21 - Novell NetWare - DISABLE AUDITING ON VOLUME
INT 21 - Novell NetWare - DISABLE AUDITING ON VOLUME
	AX = F258h subfn 07h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02432)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=08h,AX=F258h/SF=09h

Format of NetWare "Disable Auditing on Volume" request packet:
Offset	Size	Description	(Table 02432)
 00h	BYTE	07h (subfunction "Disable Auditing on Volume")
	???

Top
21F258SF08 - INT 21 - Novell NetWare - ENABLE AUDITING ON VOLUME
INT 21 - Novell NetWare - ENABLE AUDITING ON VOLUME
	AX = F258h subfn 08h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02433)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=07h,AX=F258h/SF=09h

Format of NetWare "Enable Auditing on Volume" request packet:
Offset	Size	Description	(Table 02433)
 00h	BYTE	08h (subfunction "Enable Auditing on Volume")
	???

Top
21F258SF09 - INT 21 - Novell NetWare - IS USER AUDITED?
INT 21 - Novell NetWare - IS USER AUDITED?
	AX = F258h subfn 09h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02434)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=07h,AX=F258h/SF=08h

Format of NetWare "Is User Audited?" request packet:
Offset	Size	Description	(Table 02434)
 00h	BYTE	09h (subfunction "Is User Audited?")
	???

Top
21F258SF0A - INT 21 - Novell NetWare - READ AUDITING BITMAP
INT 21 - Novell NetWare - READ AUDITING BITMAP
	AX = F258h subfn 0Ah
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02435)
	ES:DI -> reply buffer (see #02436)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Bh,AX=F258h/SF=10h

Format of NetWare "Read Auditing Bitmap" request packet:
Offset	Size	Description	(Table 02435)
 00h	BYTE	0Ah (subfunction "Read Auditing Bitmap")
	???
SeeAlso: #02436,#02437

Format of NetWare "Read Auditing Bitmap" reply packet:
Offset	Size	Description	(Table 02436)
 00h	???
SeeAlso: #02435,#02438

Top
21F258SF0B - INT 21 - Novell NetWare - READ AUDIT CONFIG HEADER
INT 21 - Novell NetWare - READ AUDIT CONFIG HEADER
	AX = F258h subfn 0Bh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02437)
	ES:DI -> reply buffer (see #02438)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Ah,AX=F258h/SF=11h

Format of NetWare "Read Audit Configuration Header" request packet:
Offset	Size	Description	(Table 02437)
 00h	BYTE	0Bh (subfunction "Read Audit Configuration Header")
	???
SeeAlso: #02438,#02435

Format of NetWare "Read Audit Configuration Header" reply packet:
Offset	Size	Description	(Table 02438)
 00h	???
SeeAlso: #02437,#02436

Top
21F258SF0D - INT 21 - Novell NetWare - LOGOUT AS VOLUME AUDITOR
INT 21 - Novell NetWare - LOGOUT AS VOLUME AUDITOR
	AX = F258h subfn 0Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02439)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=03h

Format of NetWare "Logout as Volume Auditor" request packet:
Offset	Size	Description	(Table 02439)
 00h	BYTE	0Dh (subfunction "Logout as Volume Auditor")
	???

Top
21F258SF0E - INT 21 - Novell NetWare - RESET AUDITING FILE
INT 21 - Novell NetWare - RESET AUDITING FILE
	AX = F258h subfn 0Eh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02440)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Ah,AX=F258h/SF=0Fh

Format of NetWare "Reset Auditing File" request packet:
Offset	Size	Description	(Table 02440)
 00h	BYTE	0Eh (subfunction "Reset Auditing File")
	???

Top
21F258SF0F - INT 21 - Novell NetWare - RESET AUDIT HISTORY FILE
INT 21 - Novell NetWare - RESET AUDIT HISTORY FILE
	AX = F258h subfn 0Fh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02441)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Eh

Format of NetWare "Reset Audit History File" request packet:
Offset	Size	Description	(Table 02441)
 00h	BYTE	0Fh (subfunction "Reset Audit History File")
	???

Top
21F258SF10 - INT 21 - Novell NetWare - WRITE AUDITING BITMAP
INT 21 - Novell NetWare - WRITE AUDITING BITMAP
	AX = F258h subfn 10h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02442)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Ah,AX=F258h/SF=11h

Format of NetWare "Write Auditing Bitmap" request packet:
Offset	Size	Description	(Table 02442)
 00h	BYTE	10h (subfunction "Write Auditing Bitmap")
	???
SeeAlso: #02443

Top
21F258SF11 - INT 21 - Novell NetWare - WRITE AUDIT CONFIG HEADER
INT 21 - Novell NetWare - WRITE AUDIT CONFIG HEADER
	AX = F258h subfn 11h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02443)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Bh,AX=F258h/SF=10h

Format of NetWare "Write Audit Configuration Header" request packet:
Offset	Size	Description	(Table 02443)
 00h	BYTE	11h (subfunction "Write Audit Configuration Header")
	???
SeeAlso: #02442

Top
21F258SF13 - INT 21 - Novell NetWare - GET AUDITING FLAGS
INT 21 - Novell NetWare - GET AUDITING FLAGS
	AX = F258h subfn 13h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02444)
	ES:DI -> reply buffer (see #02445)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=05h

Format of NetWare "Get Auditing Flags" request packet:
Offset	Size	Description	(Table 02444)
 00h	BYTE	13h (subfunction "Get Auditing Flags")
	???
SeeAlso: #02445

Format of NetWare "Get Auditing Flags" reply packet:
Offset	Size	Description	(Table 02445)
 00h	???
SeeAlso: #02444

Top
21F258SF14 - INT 21 - Novell NetWare - CLOSE OLD AUDITING FILE
INT 21 - Novell NetWare - CLOSE OLD AUDITING FILE
	AX = F258h subfn 14h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02446)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=15h

Format of NetWare "Close Old Auditing File" request packet:
Offset	Size	Description	(Table 02446)
 00h	BYTE	14h (subfunction "Close Old Auditing File")
	???
SeeAlso: #02447

Top
21F258SF15 - INT 21 - Novell NetWare - DELETE OLD AUDITING FILE
INT 21 - Novell NetWare - DELETE OLD AUDITING FILE
	AX = F258h subfn 15h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02447)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=14h

Format of NetWare "Delete Old Auditing File" request packet:
Offset	Size	Description	(Table 02447)
 00h	BYTE	15h (subfunction "Delete Old Auditing File")
	???
SeeAlso: #02446

Top
21F258SF16 - INT 21 - Novell NetWare - CHECK AUDIT LEVEL TWO ACCESS
INT 21 - Novell NetWare - CHECK AUDIT LEVEL TWO ACCESS
	AX = F258h subfn 16h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02448)
	ES:DI -> reply buffer
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F258h/SF=05h

Format of NetWare "Check Audit Level Two Access" request packet:
Offset	Size	Description	(Table 02448)
 00h	BYTE	16h (subfunction "Check Audit Level Two Access")
	???

Top
21F25ASF01 - INT 21 - Novell NetWare - GET DATA MIGRATION INFO
INT 21 - Novell NetWare - GET DATA MIGRATION INFO
	AX = F25Ah subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02449)
	ES:DI -> reply buffer (see #02450)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=80h,AX=F25Ah/SF=86h

Format of NetWare "Get Data Migration Information" request packet:
Offset	Size	Description	(Table 02449)
 00h	WORD	length of following data
 02h	BYTE	01h (subfunction "Get Data Migration Information")
SeeAlso: #02450

Format of NetWare "Get Data Migration Information" reply packet:
Offset	Size	Description	(Table 02450)
 00h	???
SeeAlso: #02449

Top
21F25ASF80 - INT 21 - Novell NetWare - MOVE FILE DATA TO DATA MIGRATION
INT 21 - Novell NetWare - MOVE FILE DATA TO DATA MIGRATION
	AX = F25Ah subfn 80h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02451)
	ES:DI -> reply buffer (see #02452)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=82h,AX=F25Ah/SF=85h

Format of NetWare "Move File Data to Data Migration" request packet:
Offset	Size	Description	(Table 02451)
 00h	WORD	length of following data
 02h	BYTE	80h (subfunction "Move File Data to Data Migration")
 03h	DWORD	volume number
 07h	DWORD	directory entry number
 0Bh	DWORD	name space (see #02387)
 0Fh	DWORD	support module ID
 13h	DWORD	save key flag
		00000010h to save key when file is demigrated
SeeAlso: #02452

Format of NetWare "Move File Data to Data Migration" reply packet:
Offset	Size	Description	(Table 02452)
 00h	DWORD	volume-unique ID
SeeAlso: #02451

Top
21F25ASF81 - INT 21 - Novell NetWare - DATA MIGRATION FILE INFORMATION
INT 21 - Novell NetWare - DATA MIGRATION FILE INFORMATION
	AX = F25Ah subfn 81h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02453)
	ES:DI -> reply buffer (see #02454)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=80h,AX=F25Ah/SF=82h,AX=F25Ah/SF=83h

Format of NetWare "Data Migration File Information" request packet:
Offset	Size	Description	(Table 02453)
 00h	WORD	length of following data
 02h	BYTE	81h (subfunction "Data Migration File Information")
 03h	DWORD	volume number
 07h	DWORD	directory entry number
 0Bh	DWORD	name space (see #02387)
SeeAlso: #02454

Format of NetWare "Data Migration File Information" reply packet:
Offset	Size	Description	(Table 02454)
 00h	DWORD	support module ID
 04h	DWORD	estimate restoration time
 08h	DWORD	bitmask of supported data streams
SeeAlso: #02453

Top
21F25ASF82 - INT 21 - Novell NetWare - VOLUME DATA MIGRATION STATUS
INT 21 - Novell NetWare - VOLUME DATA MIGRATION STATUS
	AX = F25Ah subfn 82h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02455)
	ES:DI -> reply buffer (see #02456)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=01h,AX=F25Ah/SF=83h,AX=F25Ah/SF=84h

Format of NetWare "Volume Data Migration Status" request packet:
Offset	Size	Description	(Table 02455)
 00h	WORD	length of following data
 02h	BYTE	82h (subfunction "Volume Data Migration Status")
 03h	DWORD	volume number
 07h	DWORD	support module ID
SeeAlso: #02456

Format of NetWare "Volume Data Migration Status" request packet:
Offset	Size	Description	(Table 02456)
 00h	DWORD	number of migrated files
 04h	DWORD	total size required to restore all migrated files
 08h	DWORD	total space used on migration device
 0Ch	DWORD	limbo space (demigrated files with save-key flag set)
 10h	DWORD	total space including limbo space
 14h	DWORD	number of files in limbo
SeeAlso: #02455

Top
21F25ASF83 - INT 21 - Novell NetWare - GET MIGRATION OR STATUS INFORMATION
INT 21 - Novell NetWare - GET MIGRATION OR STATUS INFORMATION
	AX = F25Ah subfn 83h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02457)
	ES:DI -> reply buffer (see #02458)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=82h,AX=F25Ah/SF=84h,AX=F25Ah/SF=85h

Format of NetWare "Get Migration or Status Information" request packet:
Offset	Size	Description	(Table 02457)
 00h	WORD	length of following data
 02h	BYTE	83h (subfunction "Get Migration or Status Information")
SeeAlso: #02458

Format of NetWare "Get Migration or Status Information" request packet:
Offset	Size	Description	(Table 02458)
 00h	DWORD	presence flag
		FFFFFFFFh if Data Migration NLM is loaded and running
 04h	DWORD	major version
 08h	DWORD	minor version
 0Ch	DWORD	flag: has support module registered with Data Migrator?
SeeAlso: #02457

Top
21F25ASF84 - INT 21 - Novell NetWare - DATA MIGRATION SUPPORT MODULE INFORMATION
INT 21 - Novell NetWare - DATA MIGRATION SUPPORT MODULE INFORMATION
	AX = F25Ah subfn 84h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02459)
	ES:DI -> reply buffer (see #02460)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=82h,AX=F25Ah/SF=83h,AX=F25Ah/SF=86h

Format of NetWare "Data Migration Support Module Information" request packet:
Offset	Size	Description	(Table 02459)
 00h	WORD	length of following data
 02h	BYTE	84h (subfunction "Data Migration Support Module Information")
 03h	DWORD	information level
		0000h get data migration NLM info
		0001h get loaded support modules
		0002h get name of support module
 07h	DWORD	support module ID
SeeAlso: #02460

Format of NetWare "Data Migration Support Module Information" request packet:
Offset	Size	Description	(Table 02460)
---information level 0---
 00h	DWORD	read/write access status
 04h	DWORD	length of Specific Device Information block (max 384)
 08h	DWORD	space available on support module
 0Ch	DWORD	amount of space used
 10h	BYTE	length of support module's name
 11h 14 BYTEs	support module name
 1Fh 128 BYTEs	support module information
---information level 1---
 00h	DWORD	number of support modules
 04h 32 BYTEs	support module IDs
---information level 2---
 00h	BYTE	length of module name
 01h 32 BYTEs	support module name
SeeAlso: #02459

Top
21F25ASF85 - INT 21 - Novell NetWare - MOVE FILE DATA FROM DATA MIGRATION
INT 21 - Novell NetWare - MOVE FILE DATA FROM DATA MIGRATION
	AX = F25Ah subfn 85h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02461)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=80h,AX=F25Ah/SF=83h,AX=F25Ah/SF=86h

Format of NetWare "Move File Data From Data Migration" request packet:
Offset	Size	Description	(Table 02461)
 00h	WORD	length of following data
 02h	BYTE	85h (subfunction "Move File Data from Data Migration")
 03h	DWORD	volume number
 07h	DWORD	directory entry number
 0Bh	DWORD	name space (see #02387)
SeeAlso: #02452

Top
21F25ASF86 - INT 21 - Novell NetWare - GET OR SET DEFAULT SUPPORT MODULE
INT 21 - Novell NetWare - GET OR SET DEFAULT SUPPORT MODULE
	AX = F25Ah subfn 86h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02462)
	ES:DI -> reply buffer (see #02463)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=01h,AX=F25Ah/SF=80h,AX=F25Ah/SF=84h

Format of NetWare "Get or Set Default Support Module" request packet:
Offset	Size	Description	(Table 02462)
 00h	WORD	length of following data
 02h	BYTE	86h (subfunction "Get or Set Default Support Module")
 03h	DWORD	direction
		00h get default support module
		01h set default support module
 07h	DWORD	new module ID if setting
SeeAlso: #02463

Format of NetWare "Get or Set Default Support Module" request packet:
Offset	Size	Description	(Table 02463)
 00h	DWORD	support module ID
SeeAlso: #02462

Top
21F268SF01 - INT 21 - Novell NetWare v4+ - GET TREE NAME
INT 21 - Novell NetWare v4+ - GET TREE NAME
	AX = F268h subfn 01h
	CX = length of request buffer in bytes (0001h)
	DX = length of reply buffer in bytes (0064h)
	DS:SI -> request buffer (see #02464)
	ES:DI -> reply buffer (see #02465)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F268h/SF=04h

Format of NetWare "Get Tree Name" request buffer:
Offset	Size	Description	(Table 02464)
 00h	BYTE	01h (subfunction "Get Tree Name")

Format of NetWare "Get Tree Name" reply buffer:
Offset	Size	Description	(Table 02465)
 00h	DWORD	Ping version
 04h	DWORD	length of tree name
 08h 32 BYTEs	tree name, padded with underscores ('_')
 28h 60 BYTEs	???

Top
21F268SF04 - INT 21 - Novell NetWare v4+ - GET BINDERY CONTEXT
INT 21 - Novell NetWare v4+ - GET BINDERY CONTEXT
	AX = F268h subfn 04h
	CX = length of request buffer in bytes (0001h)
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02466)
	ES:DI -> reply buffer (see #02467)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F268h/SF=01h,AX=F268h/SF=C8h

Format of NetWare "Get Bindery Context" request buffer:
Offset	Size	Description	(Table 02466)
 00h	BYTE	04h (subfunction "Get Bindery Context")

Format of NetWare "Get Bindery Context" reply buffer:
Offset	Size	Description	(Table 02467)
 00h	DWORD	length (max 200)
 04h  N WORDs	Unicode bindery context string

Top
21F268SF05 - INT 21 - Novell NetWare v4+ - MONITOR NDS CONNECTION
INT 21 - Novell NetWare v4+ - MONITOR NDS CONNECTION
	AX = F268h subfn 05h
	CX = length of request buffer in bytes (0001h)
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02468)
	ES:DI -> reply buffer (unused???)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)

Format of NetWare "Monitor NDS Connection" request buffer:
Offset	Size	Description	(Table 02468)
 00h	BYTE	05h (subfunction "Monitor NDS Connection"

Top
21F268SF16 - INT 21 - Novell NetWare v4+ - NDS LIST PARTITIONS
INT 21 - Novell NetWare v4+ - NDS LIST PARTITIONS
	AX = F268h subfn 16h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02469)
	ES:DI -> reply buffer (see #02470)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
Note:	the length specified in CX must be exactly 13 bytes more than the
	  length field at offset 09h in the request buffer for this function
	  to be successful
SeeAlso: AX=F268h/SF=35h

Format of NetWare "NDS List Partitions" request buffer:
Offset	Size	Description	(Table 02469)
 00h	BYTE	02h
 01h	DWORD	??? (FFFFFFFFh)
 05h	DWORD	??? (00000202h)
 09h	DWORD	length (00000018h)
 0Dh	DWORD	??? (00000000h)
 11h	DWORD	function (00000016h) (subfunction "NDS List Partitions")
 15h	DWORD	??? (00000400h)
 19h	DWORD	API version (00000000h)
 1Dh	DWORD	??? (00000000h)
 21h	DWORD	iteration (FFFFFFFFh)
SeeAlso: #02470,#02471

Format of NetWare "NDS List Partitions" reply buffer:
Offset	Size	Description	(Table 02470)
 00h	DWORD	length
 04h	DWORD	???
 08h	DWORD	return code
 0Ch	DWORD	iteration
 10h 1000 BYTEs	returned data
SeeAlso: #02469

Top
21F268SF35 - INT 21 - Novell NetWare v4+ - NDS GET SERVER NAME AND ADDRESS
INT 21 - Novell NetWare v4+ - NDS GET SERVER NAME AND ADDRESS
	AX = F268h subfn 35h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02471)
	ES:DI -> reply buffer (see #02472)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
Note:	the length specified in CX must be exactly 13 bytes more than the
	  length field at offset 09h in the request buffer for this function
	  to be successful
SeeAlso: AX=F268h/SF=16h

Format of NetWare "NDS Get Server Name and Address" request buffer:
Offset	Size	Description	(Table 02471)
 00h	BYTE	02h
 01h	DWORD	??? (FFFFFFFFh)
 05h	DWORD	??? (00000202h)
 09h	DWORD	length (0000000Ch)
 0Dh	DWORD	??? (00000000h)
 11h	DWORD	function (00000035h) (subfunc "NDS Get Server Name and Addr")
 15h	DWORD	??? (00000400h)
SeeAlso: #02469,#02472

Format of NetWare "NDS Get Server Name and Address" reply buffer:
Offset	Size	Description	(Table 02472)
 00h	DWORD	length
 04h	DWORD	???
 08h	DWORD	return code
 0Ch	DWORD	length of name
 10h  N WORDs	Unicode server name string
	var	padding
	DWORD	??? (00000001h)
	DWORD	??? (00000000h)
	DWORD	??? (0000000Ch)
     12 BYTEs	server's IPX address
SeeAlso: #02471

Top
21F268SF3D - INT 21 - Novell NetWare v4+ - NDS LOGOUT
INT 21 - Novell NetWare v4+ - NDS LOGOUT
	AX = F268h subfn 3Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02473)
	ES:DI -> reply buffer (see #02474)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F217h/SF=14h

Format of NetWare "NDS Logout" request buffer:
Offset	Size	Description	(Table 02473)
 00h	BYTE	02h
 01h	DWORD	??? (FFFFFFFFh)
 05h	DWORD	??? (00000202h)
 09h	DWORD	length (0000000Ch)
 0Dh	DWORD	??? (00000000h)
 11h	DWORD	function (0000003Dh) (subfunction "NDS Logout")
 15h	DWORD	??? (00000000h)
SeeAlso: #02474

Format of NetWare "NDS Logout" reply buffer:
Offset	Size	Description	(Table 02474)
 00h	DWORD	length
 04h	DWORD	???
 08h	DWORD	return code
SeeAlso: #02473

Top
21F268SFC8 - INT 21 - Novell NetWare v4+ - GET DS AUDITING STATISTICS
INT 21 - Novell NetWare v4+ - GET DS AUDITING STATISTICS
	AX = F268h subfn C8h
	CX = length of request buffer in bytes (0001h)
	DX = length of reply buffer in bytes (0020h)
	DS:SI -> request buffer (see #02475)
	ES:DI -> reply buffer (see #02476)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F258h/SF=01h,AX=F268h/SF=01h,AX=F268h/SF=04h

Format of NetWare "Get DS Auditing Statistics" request buffer:
Offset	Size	Description	(Table 02475)
 00h	BYTE	C8h (subfunction "Get DS Auditing Statistics")
SeeAlso: #02476

Format of NetWare "Get DS Auditing Statistics" reply buffer:
Offset	Size	Description	(Table 02476)
 00h	WORD	auditing version (date)
 02h	WORD	audit file version (date)
 04h	DWORD	auditing enabled flag
 08h	DWORD	audit file's size
 0Ch	DWORD	audit configuration file's size
 10h	DWORD	maximum audit file size
 14h	DWORD	audit file size threshold
 18h	DWORD	number of audit records
 1Ch	DWORD	number of history records
SeeAlso: #02424,#02475

Top
21F269 - INT 21 - Novell NetWare - LOG FILE
INT 21 - Novell NetWare - LOG FILE
	AX = F269h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02477)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F203h,AX=F26Ah,AH=EBh"NetWare"

Format of NetWare "Log File" request packet:
Offset	Size	Description	(Table 02477)
 00h	BYTE	directory handle
 01h	BYTE	lock flag
		00h log only
		01h log and lock
 02h	WORD	lock timeout in clock ticks (0000h = don't wait)
 04h	BYTE	length of filename
 05h  N BYTEs	filename

Top
21F26A - INT 21 - Novell NetWare - LOCK FILE SET
INT 21 - Novell NetWare - LOCK FILE SET
	AX = F26Ah
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02478)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F204h,AX=F269h,AH=CBh"NetWare"

Format of NetWare "Lock File Set" request packet:
Offset	Size	Description	(Table 02478)
 00h	WORD	lock timeout in clock ticks (0000h = don't wait)

Top
21F26C - INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET
INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET
	AX = F26Ch
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02479)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F20Ah,AX=F26Ah,AH=CBh"NetWare"

Format of NetWare "Lock Logical Record Set" request packet:
Offset	Size	Description	(Table 02479)
 00h	BYTE	lock flag
		00h shareable lock
		01h exclusive lock
 01h	WORD	lock timeout in clock ticks (0000h = don't wait)

Top
21F26E - INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET
INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET
	AX = F26Eh
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02480)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F21Bh,AX=F26Ch,AH=C2h"NetWare"

Format of NetWare "Lock Physical Record Set" request packet:
Offset	Size	Description	(Table 02480)
 00h	BYTE	lock flag
		00h exclusive lock
		02h shareable lock
 01h	WORD	lock timeout in clock ticks (0000h = don't wait)

Top
21F26FSF00 - INT 21 - Novell NetWare - OPEN SEMAPHORE
INT 21 - Novell NetWare - OPEN SEMAPHORE
	AX = F26Fh subfn 00h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02481)
	ES:DI -> reply buffer (see #02482)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=01h,AX=F26Fh/SF=02h

Format of NetWare "Open Semaphore" request packet:
Offset	Size	Description	(Table 02481)
 00h	BYTE	00h (subfunction "Open Semaphore")
 01h	BYTE	initial semaphore value
 02h	BYTE	length of semaphore's name
 03h  N BYTEs	semaphore name
SeeAlso: #02482

Format of NetWare "Open Semaphore" request packet:
Offset	Size	Description	(Table 02482)
 00h	DWORD	semaphore handle
 04h	BYTE	number of clients using semaphore (including caller)
SeeAlso: #02481

Top
21F26FSF01 - INT 21 - Novell NetWare - CLOSE SEMAPHORE
INT 21 - Novell NetWare - CLOSE SEMAPHORE
	AX = F26Fh subfn 01h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02483)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=00h,AX=F26Fh/SF=03h,AX=F220h/SF=04h

Format of NetWare "Close Semaphore" request packet:
Offset	Size	Description	(Table 02483)
 00h	BYTE	01h (subfunction "Close Semaphore")
 01h	DWORD	semaphore handle
SeeAlso: #02286

Top
21F26FSF02 - INT 21 - Novell NetWare - WAIT ON SEMAPHORE
INT 21 - Novell NetWare - WAIT ON SEMAPHORE
	AX = F26Fh subfn 02h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02484)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=00h,AX=F26Fh/SF=04h

Format of NetWare "Wait on Semaphore" request packet:
Offset	Size	Description	(Table 02484)
 00h	BYTE	02h (subfunction "Wait on Semaphore")
 01h	DWORD	semaphore handle
 05h	WORD	timeout in clock ticks (0000h = no wait)

Top
21F26FSF03 - INT 21 - Novell NetWare - SIGNAL SEMAPHORE
INT 21 - Novell NetWare - SIGNAL SEMAPHORE
	AX = F26Fh subfn 03h
	CX = length of request packet in bytes
	DX = 0000h (no reply packet)
	DS:SI -> request packet (see #02485)
	ES:DI ignored
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=02h,AX=F26Fh/SF=04h

Format of NetWare "Signal Semaphore" request packet:
Offset	Size	Description	(Table 02485)
 00h	BYTE	03h (subfunction "Signal Semaphore")
 01h	DWORD	semaphore handle

Top
21F26FSF04 - INT 21 - Novell NetWare - EXAMINE SEMAPHORE
INT 21 - Novell NetWare - EXAMINE SEMAPHORE
	AX = F26Fh subfn 04h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02486)
	ES:DI -> reply buffer (see #02487)
Return: AX = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=02h,AX=F26Fh/SF=03h

Format of NetWare "Examine Semaphore" request packet:
Offset	Size	Description	(Table 02486)
 00h	BYTE	04h (subfunction "Examine Semaphore")
 01h	DWORD	semaphore handle
SeeAlso: #02487

Format of NetWare "Examine Semaphore" reply packet:
Offset	Size	Description	(Table 02487)
 00h	BYTE	semaphore's current value
 01h	BYTE	number of clients using semaphore
SeeAlso: #02486

Top
21F272 - INT 21 - Novell NetWare v4+ - GET FILE SERVER UTC TIME
INT 21 - Novell NetWare v4+ - GET FILE SERVER UTC TIME
	AX = F272h
	CX = length of request buffer in bytes (0003h)
	DX = length of reply buffer in bytes (0064h)
	DS:SI -> request buffer (see #02488)
	ES:DI -> reply buffer (see #02489)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get File Server UTC Time" request buffer:
Offset	Size	Description	(Table 02488)
 00h	BYTE	??? (00h)
 01h	BYTE	??? (01h)
 02h	BYTE	??? (01h)
SeeAlso: #02489

Format of NetWare "Get File Server UTC Time" reply buffer:
Offset	Size	Description	(Table 02489)
 00h	DWORD	seconds
 04h	DWORD	???
 04h	DWORD	??? (00000204h)
 04h	DWORD	??? (00000000h)
 04h	DWORD	??? (00000000h)
 04h	DWORD	??? (FFFFFFFFh)
 04h	DWORD	??? (00000000h)
SeeAlso: #02488

Top
21F27BSF01 - INT 21 - Novell NetWare v4+ - GET CACHE INFORMATION
INT 21 - Novell NetWare v4+ - GET CACHE INFORMATION
	AX = F27Bh subfn 01h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02490)
	ES:DI -> reply buffer (see #02491)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F27Bh/SF=02h

Format of NetWare "Get Cache Information" request buffer:
Offset	Size	Description	(Table 02490)
 00h	WORD	0001h (length of following data)
 02h	BYTE	01h (subfunction "Get Cache Information")
SeeAlso: #02491

Format of NetWare "Get Cache Information" reply buffer:
Offset	Size	Description	(Table 02491)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	"readExistingBlockCount"
 0Ch	DWORD	"readExistingWriteWaitCount"
 10h	DWORD	"readExistingPartialReadCount"
 14h	DWORD	"readExistingReadErrorCount"
 18h	DWORD	"writeBlockCount"
 1Ch	DWORD	"writeEntireBlockCount"
 20h	DWORD	"getDiskCount"
 24h	DWORD	"getDiskNeedToAllocCount"
 28h	DWORD	"getDiskSomeoneBeatMeCount"
 2Ch	DWORD	"getDiskPartialReadCount"
 30h	DWORD	"getDiskReadErrorCount"
 34h	DWORD	"getAsyncDiskCount"
 38h	DWORD	"getAsyncDiskNeedToAlloc"
 3Ch	DWORD	"getAsyncDiskSomeoneBeatMe"
 40h	DWORD	"errorDoingAsyncReadCount"
 44h	DWORD	"getDiskNoReadCount"
 48h	DWORD	"getDiskNoReadAllocCount"
 4Ch	DWORD	"getDiskNoReadSomeoneBeatMeCount"
 50h	DWORD	"diskWriteCount"
 54h	DWORD	"diskWriteAllocCount"
 58h	DWORD	"diskWriteSomeoneBeatMeCount"
 5Ch	DWORD	"writeErrorCount"
 60h	DWORD	"waitOnSemaphoreCount"
 64h	DWORD	"allocBlockWaitForSomeoneCount"
 68h	DWORD	"allocBlockCount"
 6Ch	DWORD	"allocBlockWaitCount"
 70h	DWORD	original number of cache buffers
 74h	DWORD	current number of cache buffers
 78h	DWORD	cache dirty-block threshold
 7Ch	DWORD	"waitNodeCount"
 80h	DWORD	"waitNodeAllocFailureCount"
 84h	DWORD	"moveCacheNodeCount"
 88h	DWORD	"moveCacheNodeFromAvailCount"
 8Ch	DWORD	"accelerateCacheNodeWriteCount"
 90h	DWORD	"removeCacheNodeCount"
 94h	DWORD	"removeCacheNodeFromAvailCount"
 98h	DWORD	number of cache checks
 9Ch	DWORD	number of cache hits
 A0h	DWORD	number of dirty-cache checks
 A4h	DWORD	number of dirty-cache hits
 A8h	DWORD	"cacheUsedWhileChecking"
 ACh	DWORD	"waitForDirtyBlocksDecreaseCount"
 B0h	DWORD	"allocBlockFromAvailCount"
 B4h	DWORD	"allocBlockFromLRUCount"
 B8h	DWORD	"allocBlockAlreadyWaiting"
 BCh	DWORD	"LRUSittingTime"
 C0h	DWORD	maximum byte count
 C4h	DWORD	minimum number of cache buffers
 C8h	DWORD	minimum cache report threshold
 D0h	DWORD	"allocWaitingCount"
 D4h	DWORD	number of dirty cache blocks
 D8h	DWORD	"cacheDirtyWaitTime"
 DCh	DWORD	"maxDirtyTime"
 E0h	DWORD	number of directory cache buffers
 E4h	DWORD	"cacheByteToBlockShiftFactor"
SeeAlso: #02490

Top
21F27BSF02 - INT 21 - Novell NetWare v4+ - GET SERVER INFORMATION
INT 21 - Novell NetWare v4+ - GET SERVER INFORMATION
	AX = F27Bh subfn 02h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02492)
	ES:DI -> reply buffer (see #02493)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F27Bh/SF=01h

Format of NetWare "Get Server Information" request buffer:
Offset	Size	Description	(Table 02492)
 00h	WORD	0001h (length of following data)
 02h	BYTE	02h (subfunction "Get Server Information")
SeeAlso: #02493

Format of NetWare "Get Server Information" reply buffer:
Offset	Size	Description	(Table 02493)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	current NCP stations in use
 0Ch	DWORD	peak NCP stations in use
 10h	DWORD	total NCP requests
 14h	DWORD	server utilization
 18h	DWORD	number of cancelled replies
 1Ch	DWORD	"writeHeldOffCount"
 20h	DWORD	"writeHeldOffWithDuplicateRequest"
 24h	DWORD	number of invalid request types
 28h	DWORD	"beingAbortedCount"
 2Ch	DWORD	"alreadyDoingReallocCount"
 30h	DWORD	"deAllocInvalidSlotCount"
 34h	DWORD	"deAllocBeingProcessedCount"
 38h	DWORD	"deAllocForgedPacketCount"
 3Ch	DWORD	"startStationErrorCount"
 40h	DWORD	number of invalid slot numbers
 44h	DWORD	"beingProcessedCount"
 48h	DWORD	number of forged packets
 4Ch	DWORD	number still transmitting
 50h	DWORD	"reExecuteRequestCount"
 54h	DWORD	number of invalid sequence numbers
 58h	DWORD	"duplicateIsBeingSentAlreadyCnt"
 5Ch	DWORD	number of positive acknowledgements sent
 60h	DWORD	number of duplicate replies sent
 64h	DWORD	number of times out of memory for station control
 68h	DWORD	number of times out of available connections
 6Ch	DWORD	"reallocSlotCount"
 70h	DWORD	"reallocSlotCameTooSoonCount"
 74h	WORD	number of times maximum hop count exceeded
 76h	WORD	number of unknown networks
 78h	WORD	"NoSpaceForService"
 7Ah	WORD	number of times out of receive buffers
 7Ch	WORD	"notMyNetwork"
 7Eh	DWORD	number of NetBIOS packets propagated
 82h	DWORD	total number of packets serviced
 86h	DWORD	total number of packets routed
SeeAlso: #02492

Top
21F27BSF04 - INT 21 - Novell NetWare v4+ - GET USER INFORMATION
INT 21 - Novell NetWare v4+ - GET USER INFORMATION
	AX = F27Bh subfn 04h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02494)
	ES:DI -> reply buffer (see #02495)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get User Information" request buffer:
Offset	Size	Description	(Table 02494)
 00h	WORD	0005h (length of following data)
 02h	BYTE	04h (subfunction "Get User Information")
 03h	DWORD	connection number
SeeAlso: #02495

Format of NetWare "Get User Information" reply buffer:
Offset	Size	Description	(Table 02495)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	connection number
 0Ch	DWORD	use count
 10h	BYTE	connection service type
 11h  7 BYTEs	login time
 18h	DWORD	status
 1Ch	DWORD	expiration time
 20h	DWORD	object type
 24h	BYTE	transaction flag
 25h	BYTE	logical lock threshold
 26h	BYTE	record lock threshold
 27h	BYTE	file write flags
 28h	BYTE	file write state
 29h	BYTE	(filler)
 2Ah	WORD	file lock count
 2Ch	WORD	record lock count
 2Eh  6 BYTEs	total number of bytes read
 34h  6 BYTEs	total number of bytes written
 3Ah	DWORD	total requests
 3Eh	DWORD	held requests
 42h  6 BYTEs	held bytes read
 48h  6 BYTEs	held bytes written
 4Eh	BYTE	length of user name
 4Fh  N BYTEs	user name
SeeAlso: #02494

Top
21F27BSF06 - INT 21 - Novell NetWare v4+ - GET IPX/SPX Information
INT 21 - Novell NetWare v4+ - GET IPX/SPX Information
	AX = F27Bh subfn 06h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02496)
	ES:DI -> reply buffer (see #02497)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get IPX/SPX Information" request buffer:
Offset	Size	Description	(Table 02496)
 00h	WORD	0001h (length of following data)
 02h	BYTE	06h (subfunction "Get IPX/SPX Information")
SeeAlso: #02497

Format of NetWare "Get IPX/SPX Information" reply buffer:
Offset	Size	Description	(Table 02497)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	number of IPX packets sent
 0Ch	WORD	number of malformed IPX packets
 0Eh	DWORD	number of IPX Get-ECB requests
 12h	DWORD	number of failed IPX Get-ECB requests
 16h	DWORD	number of IPX AES events
 1Ah	WORD	number of postponed IPX AES events
 1Ch	WORD	maximum number of sockets (from configuration)
 1Eh	WORD	maximum number of open sockets
 20h	WORD	number of failed IPX socket opens
 22h	DWORD	number of IPX "listen" ECBs
 24h	WORD	number of failed IPX EBC cancels
 26h	WORD	number of failed IPX Get-Local-Target requests
 28h	WORD	maximum number of SPX connections (from configuration)
 2Ah	WORD	maximum number of SPX connections used
 2Ch	WORD	number of SPX Establish-Connection requests
 2Eh	WORD	number of failed SPX Establish-Connection requests
 30h	WORD	total number of SPX "listen-connect" requests
 32h	WORD	number of failed SPX "listen-connect" requests
 34h	DWORD	number of SPX sends
 38h	DWORD	number of SPX "window-choke"s
 3Ch	WORD	number of bad SPX sends
 3Eh	WORD	number of failed SPX sends
 40h	WORD	number of aborted SPX connections
 42h	DWORD	number of SPX packet listens
 46h	WORD	number of bad SPX packet listens
 48h	DWORD	number of incoming SPX packets
 4Ch	WORD	number of bad incoming SPX packets
 4Eh	WORD	number of supressed SPX packets
 50h	WORD	"SPXNoSesListenECBCount"
 52h	WORD	"SPXWatchDogDestSesCount"
SeeAlso: #02496

Top
21F27BSF08 - INT 21 - Novell NetWare v4+ - GET CPU INFORMATION
INT 21 - Novell NetWare v4+ - GET CPU INFORMATION
	AX = F27Bh subfn 08h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02498)
	ES:DI -> reply buffer (see #02499)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get CPU Information" request buffer:
Offset	Size	Description	(Table 02498)
 00h	WORD	0005h (length of following data)
 02h	BYTE	08h (subfunction "Get CPU Information")
 03h	DWORD	CPU number
SeeAlso: #02499

Format of NetWare "Get CPU Information" reply buffer:
Offset	Size	Description	(Table 02499)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	number of CPUs
 0Ch	DWORD	page table owner flag
 10h	DWORD	CPU type flag
 14h	DWORD	coprocessor flag
 18h	DWORD	bus type flag
 1Ch	DWORD	I/O engine flag
 20h	DWORD	filesystem engine flag
 24h	DWORD	non-dedicated flag
 28h 201 BYTEs	counted string: CPU string;number of coprocessors;bus string
SeeAlso: #02498

Top
21F27BSF09 - INT 21 - Novell NetWare v4+ - GET VOLUME SWITCH INFORMATION
INT 21 - Novell NetWare v4+ - GET VOLUME SWITCH INFORMATION
	AX = F27Bh subfn 09h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02500)
	ES:DI -> reply buffer (see #02501)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get Volume Switch Information" request buffer:
Offset	Size	Description	(Table 02500)
 00h	WORD	0005h (length of following data)
 02h	BYTE	09h (subfunction "Get Volume Switch Information")
 03h	DWORD	starting item number
SeeAlso: #02501

Format of NetWare "Get Volume Switch Information" reply buffer:
Offset	Size	Description	(Table 02501)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	total LFS counters
 0Ch	DWORD	current LFS counters
 10h	DWORD	"readFile"
 14h	DWORD	"writeFile"
 18h	DWORD	"deleteFile"
 1Ch	DWORD	"renMove"
 20h	DWORD	"openFile"
 24h	DWORD	"createFile"
 28h	DWORD	"createAndOpenFile"
 2Ch	DWORD	"closeFile"
 30h	DWORD	"scanDeleteFile"
 34h	DWORD	"salvageFile"
 38h	DWORD	"purgeFile"
 3Ch	DWORD	"migrateFile"
 40h	DWORD	"deMigrateFile"
 44h	DWORD	"createDir"
 48h	DWORD	"deleteDir"
 4Ch	DWORD	"directoryScans"
 50h	DWORD	"mapPathToDirNum"
 54h	DWORD	"modifyDirEntry"
 58h	DWORD	"getAccessRights"
 5Ch	DWORD	"getAccessRightsFromIDs"
 60h	DWORD	"mapDirNumToPath"
 64h	DWORD	"getEntryFromPathStrBase"
 68h	DWORD	"getOtherNSEntry"
 6Ch	DWORD	"getExtDirInfo"
 70h	DWORD	"getParentDirNum"
 74h	DWORD	"addTrusteeR"
 78h	DWORD	"scanTrusteeR"
 7Ch	DWORD	"delTrusteeR"
 80h	DWORD	"purgeTrust"
 84h	DWORD	"findNextTrustRef"
 88h	DWORD	"scanUserRestNodes"
 8Ch	DWORD	"addUserRest"
 90h	DWORD	"deleteUserRest"
 94h	DWORD	"rtnDirSpaceRest"
 98h	DWORD	"getActualAvailDskSp"
 9Ch	DWORD	"cntOwnedFilesAndDirs"
 A0h	DWORD	"migFileInfo"
 A4h	DWORD	"volMigInfo"
 A8h	DWORD	"readMigFileData"
 ACh	DWORD	"getVolusageStats"
 B0h	DWORD	"getActualVolUsageStats"
 B4h	DWORD	"getDirUsageStats"
 B8h	DWORD	"NMFileReadsCount"
 BCh	DWORD	"NMFileWritesCount"
 C0h	DWORD	"mapPathToDirNumOrPhantom"
 C4h	DWORD	"stationsHasAccessRgtsGntedBelow"
 C8h	DWORD	"gtDataSteamLensFromPathStrBase"
 CCh	DWORD	"checkAndGetDirectoryEntry"
 D0h	DWORD	"getDeletedEntry"
 D4h	DWORD	"getOriginalNameSpace"
 D8h	DWORD	"getActualFileSize"
 DCh	DWORD	"verifyNameSpaceNumber"
 E0h	DWORD	"verifyDataStreamNumber"
 E4h	DWORD	"checkVolumeNumber"
 E8h	DWORD	"commitFile"
 ECh	DWORD	"VMGetDirectoryEntry"
 F0h	DWORD	"createDMFileEntry"
 F4h	DWORD	"renameNameSpaceEntry"
 F8h	DWORD	"logFile"
 FCh	DWORD	"releaseFile"
100h	DWORD	"clearFile"
104h	DWORD	"setVolumeFlag"
108h	DWORD	"clearVolumeFlag"
10Ch	DWORD	"getOriginalInfo"
110h	DWORD	"createMigratedDir"
114h	DWORD	"F3OpenCreate"
118h	DWORD	"F3InitFileSearch"
11Ch	DWORD	"F3ContinueFileSearch"
120h	DWORD	"F3RenameFile"
124h	DWORD	"F3ScanForTrustees"
128h	DWORD	"F3ObtainFileInfo"
12Ch	DWORD	"F3ModifyInfo"
130h	DWORD	"F3EraseFile"
134h	DWORD	"F3SetDirHandle"
138h	DWORD	"F3AddTrustees"
13Ch	DWORD	"F3DeleteTrustees"
140h	DWORD	"F3AllocDirHandle"
144h	DWORD	"F3ScanSalvagedFiles"
148h	DWORD	"F3RecoverSalvagedFiles"
14Ch	DWORD	"F3PurgeSalvageableFile"
150h	DWORD	"F3GetNSSpecificInfo"
154h	DWORD	"F3ModifyNSSpecificInfo"
158h	DWORD	"F3SearchSet"
15Ch	DWORD	"F3GetDirBase"
160h	DWORD	"F3QueryNameSpaceInfo"
164h	DWORD	"F3GetNameSpaceList"
168h	DWORD	"F3GetHugeInfo"
16Ch	DWORD	"F3SetHugeInfo"
170h	DWORD	"F3GetFullPathString"
174h	DWORD	"F3GetEffectiveDirectoryRights"
SeeAlso: #02500

Top
21F27BSF0A - INT 21 - Novell NetWare v4+ - GET LOADED NLMs
INT 21 - Novell NetWare v4+ - GET LOADED NLMs
	AX = F27Bh subfn 0Ah
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02502)
	ES:DI -> reply buffer (see #02503)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get NLMs Loaded" request buffer:
Offset	Size	Description	(Table 02502)
 00h	WORD	0005h (length of following data)
 02h	BYTE	0Ah (subfunction "Get NLMs Loaded")
 03h	DWORD	first NLM number to report
SeeAlso: #02503

Format of NetWare "Get NLMs Loaded" reply buffer:
Offset	Size	Description	(Table 02503)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	total number of NLMs
 0Ch	DWORD	number of NLM numbers following (max 50)
 10h 50 DWORDs	NLM numbers
SeeAlso: #02502

Top
21F27BSF0B - INT 21 - Novell NetWare v4+ - GET NLM INFORMATION
INT 21 - Novell NetWare v4+ - GET NLM INFORMATION
	AX = F27Bh subfn 0Bh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02504)
	ES:DI -> reply buffer (see #02505)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get NLM Information" request buffer:
Offset	Size	Description	(Table 02504)
 00h	WORD	0005h (length of following data)
 02h	BYTE	0Bh (subfunction "Get NLM Information")
 03h	DWORD	NLM number
SeeAlso: #02505

Format of NetWare "Get NLM Information" reply buffer:
Offset	Size	Description	(Table 02505)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	identification number
 0Ch	DWORD	flags
 10h	DWORD	NLM type (see #02506)
 14h	DWORD	parent identifier
 18h	DWORD	major version
 1Ch	DWORD	minor version
 20h	DWORD	revision
 24h	DWORD	year
 28h	DWORD	month
 2Ch	DWORD	day
 30h	DWORD	bytes available for allocation
 34h	DWORD	"allocFreeCount"
 38h	DWORD	last garbage collection
 3Ch	DWORD	message language
 40h	DWORD	number of referenced public identifiers
 44h 200 BYTEs	NLM strings: filename, NLM name, copyright
SeeAlso: #02504

(Table 02506)
Values for NetWare NLM type:
 0001h	LAN
 0002h	DSK
 0003h	NAM
 0004h	utility NLM
 0005h	MSL
 0006h	operating system NLM
 0007h	paged NLM
 0008h	HAM
 0009h	CDM
 000Ah	file system NLM
 000Bh	real mode NLM
 000Ch	hidden NLM
SeeAlso: #02505

Top
21F27BSF0D - INT 21 - Novell NetWare v4+ - GET OS VERSION INFORMATION
INT 21 - Novell NetWare v4+ - GET OS VERSION INFORMATION
	AX = F27Bh subfn 0Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02507)
	ES:DI -> reply buffer (see #02508)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get OS Version Information" request buffer:
Offset	Size	Description	(Table 02507)
 00h	WORD	0001h (length of following data)
 02h	BYTE	0Dh (subfunction "Get OS Version Information")
SeeAlso: #02508

Format of NetWare "Get OS Version Information" reply buffer:
Offset	Size	Description	(Table 02508)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	BYTE	operating system major version
 09h	BYTE	operating system minor version
 0Ah	BYTE	operating system revision number
 0Bh	BYTE	accounting version
 0Ch	BYTE	VAP version
 0Dh	BYTE	queueing version
 0Eh	BYTE	security restrictions level
 0Fh	BYTE	bridging support
 10h	DWORD	maximum number of volumes
 14h	DWORD	number of connection slots
 18h	DWORD	maximum number of logged-in connections
 1Ch	DWORD	maximum number of name spaces
 20h	DWORD	maximum number of LANs
 24h	DWORD	maximum number of media types
 28h	DWORD	maximum number of protocols
 2Ch	DWORD	maximum subdirectory tree depth
 30h	DWORD	maximum number of data streams
 34h	DWORD	maximum number of spooled printers
 38h	DWORD	serial number
 3Ch	WORD	application number
SeeAlso: #02507

Top
21F27BSF14 - INT 21 - Novell NetWare v4+ - GET ACTIVE LAN BOARD LIST
INT 21 - Novell NetWare v4+ - GET ACTIVE LAN BOARD LIST
	AX = F27Bh subfn 14h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02509)
	ES:DI -> reply buffer (see #02510)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get Active LAN Board List" request buffer:
Offset	Size	Description	(Table 02509)
 00h	WORD	0005h (length of following data)
 02h	BYTE	14h (subfunction "Get Active LAN Board List")
 03h	DWORD	start number
SeeAlso: #02510

Format of NetWare "Get Active LAN Board List" reply buffer:
Offset	Size	Description	(Table 02510)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	maximum number of LANs
 0Ch	DWORD	number of LAN board numbers returned
 10h 50 DWORDs	board numbers
SeeAlso: #02509

Top
21F27BSF15 - INT 21 - Novell NetWare v4+ - GET LAN CONFIGURATION
INT 21 - Novell NetWare v4+ - GET LAN CONFIGURATION
	AX = F27Bh subfn 15h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02511)
	ES:DI -> reply buffer (see #02512)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F27Bh/SF=16h

Format of NetWare "Get LAN Configuration" request buffer:
Offset	Size	Description	(Table 02511)
 00h	WORD	0005h (length of following data)
 02h	BYTE	15h (subfunction "Get LAN Configuration")
 03h	DWORD	LAN board number
SeeAlso: #02512

Format of NetWare "Get LAN Configuration" reply buffer:
Offset	Size	Description	(Table 02512)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	BYTE	driver configuration major version
 09h	BYTE	driver configuration minor version
 0Ah  6 BYTEs	driver node address
 10h	WORD	driver mode flags
 12h	WORD	driver board number
 14h	WORD	driver board instance
 16h	DWORD	driver maximum size
 1Ah	DWORD	driver maximum receive size
 1Eh	DWORD	driver receive size
 22h  3 DWORDs	reserved
 2Eh	WORD	driver card ID
 30h	WORD	driver transport time
 32h	DWORD	driver source routing
 36h	WORD	driver line speed
 38h	WORD	driver reserved
 3Ah	BYTE	driver major version
 3Bh	BYTE	driver minor version
 3Ch	WORD	driver flags
 3Eh	WORD	driver send retries
 40h	DWORD	driver link
 44h	WORD	driver sharing flags
 46h	WORD	driver slot
 48h  4 WORDs	driver I/O port and lengths
 50h	DWORD	driver memory decode 0
 54h	WORD	driver length 0
 56h	DWORD	driver memory decode 1
 5Ah	WORD	driver length 1
 5Ch  2 BYTEs	driver's interrupts
 5Eh  2 BYTEs	driver's DMA usage
 60h 18 BYTEs	driver's logical name
 72h 14 BYTEs	driver I/O reserved
 80h 128 BYTEs	driver card name
100h 40 BYTEs	driver media type
128h 180 BYTEs	driver custom variables
SeeAlso: #02511

Top
21F27BSF16 - INT 21 - Novell NetWare v4+ - GET LAN COMMON COUNTERS
INT 21 - Novell NetWare v4+ - GET LAN COMMON COUNTERS
	AX = F27Bh subfn 16h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02513)
	ES:DI -> reply buffer (see #02514)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F27Bh/SF=15h

Format of NetWare "Get LAN Common Counters" request buffer:
Offset	Size	Description	(Table 02513)
 00h	WORD	0009h (length of following data)
 02h	BYTE	16h (subfunction "Get LAN Common Counters")
 03h	DWORD	LAN board number
 07h	DWORD	starting block number (set to 00000000h for first call)
SeeAlso: #02514

Format of NetWare "Get LAN Common Counters" reply buffer:
Offset	Size	Description	(Table 02514)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	BYTE	statistics major version
 09h	BYTE	statistics minor version
 0Ah	DWORD	number of generic counters
 0Eh	DWORD	number of counter blocks
 12h	DWORD	number of custom variables
 16h	DWORD	next counter block number
 1Ah	DWORD	"notSupportedMask"
 1Eh	DWORD	total number of packets tranmitted
 22h	DWORD	total number of packets received
 26h	DWORD	number of times no ECBs were available
 2Ah	DWORD	number of transmitted packets which were too large
 2Eh	DWORD	number of transmitted packets which were too small
 32h	DWORD	number of packet receive overflows
 36h	DWORD	number of received packets which were too large
 3Ah	DWORD	number of received packets which were too small
 3Eh	DWORD	number of miscellaneous transmitted-packet errors
 42h	DWORD	number of miscellaneous received-packet errors
 46h	DWORD	number of times transmission retried
 4Ah	DWORD	number of checksum errors
 4Eh	DWORD	number of hardware receive mismatches
 52h 50 BYTEs	reserved
SeeAlso: #02513

Top
21F27BSF29 - INT 21 - Novell NetWare v4+ - GET PROTOCOL STACK BY BOARD
INT 21 - Novell NetWare v4+ - GET PROTOCOL STACK BY BOARD
	AX = F27Bh subfn 29h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02515)
	ES:DI -> reply buffer (see #02516)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get Protocol Stack by Board" request buffer:
Offset	Size	Description	(Table 02515)
 00h	WORD	0005h (length of following data)
 02h	BYTE	29h (subfunction "Get Protocol Stack by Board")
 03h	DWORD	LAN board number
SeeAlso: #02516

Format of NetWare "Get Protocol Stack by Board" reply buffer:
Offset	Size	Description	(Table 02516)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	WORD	number of stacks listed (max 50)
 0Ah 50 DWORDs	protocol identifiers
SeeAlso: #02515

Top
21F27BSF33 - INT 21 - Novell NetWare v4+ - GET ROUTER INFO
INT 21 - Novell NetWare v4+ - GET ROUTER INFO
	AX = F27Bh subfn 33h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02517)
	ES:DI -> reply buffer (see #02518)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F27Bh/SF=35h

Format of NetWare "Get Router Info" request buffer:
Offset	Size	Description	(Table 02517)
 00h	WORD	0005h (length of following data)
 02h	BYTE	33h (function "Get Router Info")
 03h	DWORD	network number
SeeAlso: #02518

Format of NetWare "Get Router Info" reply buffer:
Offset	Size	Description	(Table 02518)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	network number
 0Ch	WORD	hops to net
 0Eh	WORD	network status
 10h	WORD	time to net
SeeAlso: #02517,#02519

Top
21F27BSF35 - INT 21 - Novell NetWare v4+ - GET KNOWN NETWORKS INFO
INT 21 - Novell NetWare v4+ - GET KNOWN NETWORKS INFO
	AX = F27Bh subfn 35h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02519)
	ES:DI -> reply buffer (see #02520)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F27Bh/SF=33h,AX=F27Bh/SF=38h

Format of NetWare "Get Router Info" request buffer:
Offset	Size	Description	(Table 02519)
 00h	WORD	0005h (length of following data)
 02h	BYTE	35h (function "Get Known Networks Info")
 03h	DWORD	start number (00000000h)
SeeAlso: #02520

Format of NetWare "Get Router Info" reply buffer:
Offset	Size	Description	(Table 02520)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	number of records following (max 20)
 0Ch	var	array of network info records
		Offset	Size	Description
		 00h	WORD	network number
		 04h	WORD	hops to net
		 06h	WORD	network status
		 08h	WORD	time to net
SeeAlso: #02517,#02519

Top
21F27BSF38 - INT 21 - Novell NetWare v4+ - GET KNOWN SERVERS INFO
INT 21 - Novell NetWare v4+ - GET KNOWN SERVERS INFO
	AX = F27Bh subfn 38h
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02521)
	ES:DI -> reply buffer (see #02522)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled
SeeAlso: AX=F27Bh/SF=35h

Format of NetWare "Get Known Servers" request buffer:
Offset	Size	Description	(Table 02521)
 00h	WORD	0009h (length of following data)
 02h	BYTE	38h (function "Get Known Servers")
 03h	DWORD	start number
 07h	DWORD	server type
SeeAlso: #02522

Format of NetWare "Get Known Servers" reply buffer:
Offset	Size	Description	(Table 02522)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	number of records following (max 20)
 0Ch	var	server record(s)
		Offset	Size	Description
		 00h	DWORD	network number
		 04h  6 BYTEs	node number
		 0Ah	WORD	socket number
		 0Ch	WORD	hops to server
		 0Eh 48 BYTEs	object name
SeeAlso: #02521

Top
21F27BSF3C - INT 21 - Novell NetWare v4+ - GET SERVER SET COMMANDS INFO
INT 21 - Novell NetWare v4+ - GET SERVER SET COMMANDS INFO
	AX = F27Bh subfn 3Ch
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02523)
	ES:DI -> reply buffer (see #02524)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get Server Set Commands Info" request packet:
Offset	Size	Description	(Table 02523)
 00h	WORD	0005h (length of following data)
 02h	BYTE	3Ch (subfunction "Get Server Set Commands Info")
 03h	DWORD	start sequence number
SeeAlso: #02524

Format of NetWare "Get Server Set Commands Info" packet:
Offset	Size	Description	(Table 02524)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	number of set commands
 0Ch	DWORD	next sequence number
 10h	DWORD	set command type
 14h	DWORD	set command category
 18h	DWORD	set command flags
 1Ch	BYTE	length of set command name
 1Dh  N BYTEs	set command name
	BYTE	number of set command values
      N BYTEs	set command values
SeeAlso: #02523

Top
21F27BSF3D - INT 21 - Novell NetWare v4+ - GET SERVER SET CATEGORIES
INT 21 - Novell NetWare v4+ - GET SERVER SET CATEGORIES
	AX = F27Bh subfn 3Dh
	CX = length of request buffer in bytes
	DX = length of reply buffer in bytes
	DS:SI -> request buffer (see #02525)
	ES:DI -> reply buffer (see #02526)
Return: AL = status (see #02860 at INT 2F/AX=7A20h/BX=0000h)
	reply buffer filled

Format of NetWare "Get Server Set Categories" request packet:
Offset	Size	Description	(Table 02525)
 00h	WORD	0005h (length of following data)
 02h	BYTE	3Dh (subfunction "Get Server Set Categories")
 03h	DWORD	start sequence number
SeeAlso: #02526

Format of NetWare "Get Server Set Categories" reply packet:
Offset	Size	Description	(Table 02526)
 00h	DWORD	current server time
 04h	BYTE	vconsole version
 05h	BYTE	vconsole revision
 06h	WORD	reserved
 08h	DWORD	number of set categories
 0Ch	DWORD	next sequence number
 10h	BYTE	length of category name
 11h  N BYTEs	category name
SeeAlso: #02525

Top
21F2AA - INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
	AX = F2AAh
Return: AH = AAh if resident
SeeAlso: AH=F1h"VIRUS",AH=F3h"VIRUS"

Top
21F3 - INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
	AH = F3h
	ES:DI -> request buffer (see #02527)
Return: AL = status/error code
	CX:DX = number of bytes copied
Notes:	this function is supported by Advanced NetWare 2.0+
	both source and destination must be on the same file server
SeeAlso: AH=3Ch,AH=3Fh"DOS"

Format of NetWare "File Server File Copy" request buffer:
Offset	Size	Description	(Table 02527)
 00h	WORD	source file handle (as returned by AH=3Ch or AH=3Dh)
 02h	WORD	destination file handle
 04h	DWORD	starting offset in source
 08h	DWORD	starting offset in destination
 0Ch	DWORD	number of bytes to copy

Top
21F3 - INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
	AH = F3h
	AL = character
Return: AL = 00h successful
	     01h buffer full (128 characters)
SeeAlso: AH=E3h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
SeeAlso: AH=F8h"DoubleDOS"

Top
21F3 - INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
	AH = F3h
Return: AX = 0400h if resident
SeeAlso: AH=D5h"Carfield",AX=F2AAh,AH=F7h"VIRUS"

Top
21F400 - INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
	AX = F400h
Return: AL = program status
	    00h if DoubleDOS not present
	    01h if running in visible DoubleDOS partition
	    02h if running in the invisible DoubleDOS partition
SeeAlso: AX=E400h,AH=F5h"DoubleDOS"

Top
21F5 - INT 21 - DoubleDOS - OTHER PROGRAM STATUS
INT 21 - DoubleDOS - OTHER PROGRAM STATUS
	AH = F5h
Return: AL = program status
	    00h no program in other partition
	    01h program in other partition is running
	    02h program in other partition is suspended
SeeAlso: AH=E5h"DoubleDOS",AX=F400h"DoubleDOS"

Top
21F7 - INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
	AH = F7h
Return: AX = 0300h if resident
SeeAlso: AH=F0h"VIRUS",AH=F9h"VIRUS"

Top
21F8 - INT 21 - DOS v2.11-2.13 - SET OEM INT 21 HANDLER
INT 21 - DOS v2.11-2.13 - SET OEM INT 21 HANDLER
	AH = F8h
	DS:DX -> OEM INT 21 handler for functions F9h to FFh
		 FFFFh:FFFFh disables OEM handler
Notes:	this function is known to be supported by Toshiba T1000 ROM MS-DOS
	  v2.11, Sanyo MS-DOS v2.11, and TI Professional Computer DOS v2.13
	at least potentially this is still available with (OEM versions??? of)
	  MS-DOS 6.0.
	calls to AH=F9h through AH=FFH will return AL=00h if no handler set
	the user handler is called immediately on entry to the main DOS INT 21h
	  function dispatcher with interrupts disabled and all registers and
	  stack exactly as set by caller; it should exit with IRET
SeeAlso: AH=F9h"OEM"

Top
21F8 - INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
	AH = F8h
	AL = program for which to set flags
	    00h this program
	    01h other program
	DX = keyboard control flags (see #02088 at AH=E8h"DoubleDOS")
Return: DX = previous flags
Notes:	disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
	  disabling any of the other keystrokes disables them completely
	this function is identical to AH=E8h
SeeAlso: AH=E8h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
SeeAlso: AH=F3h"DoubleDOS"

Top
21F9 - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
	AH = F9h
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FAh"OEM"

Top
21F9 - INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
	AH = F9h
	AL = priority
	    00h visible program gets 70%, invisible gets 30% (default)
	    01h visible program gets 50%, invisible gets 50%
	    02h visible program gets 30%, invisible gets 70%
	    03h Top program gets 70%, bottom program gets 30%
	    04h Top program gets 30%, bottom program gets 70%
	    05h get current priority
		Return: AL = priority setting
Note:	identical to AH=E9h
SeeAlso: AH=E9h"DoubleDOS",AH=FAh"DoubleDOS",AH=FBh"DoubleDOS"

Top
21F9 - INT 21 - VIRUS - "Satans-Bug" - INSTALLATION CHECK
INT 21 - VIRUS - "Satans-Bug" - INSTALLATION CHECK
	AH = F9h
Return: AX = AC0Ah if resident
SeeAlso: AH=F7h"VIRUS",AH=FBh"VIRUS",AX=FEDCh"VIRUS"

Top
21FA - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
	AH = FAh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=F9h"OEM",AH=FBh"OEM"

Top
21FA - INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
	AH = FAh
Return: task switching turned off
SeeAlso: AH=EAh"DoubleDOS",AH=F9h"DoubleDOS",AH=FBh"DoubleDOS"
SeeAlso: INT FA"DoubleDOS"

Top
21FA - INT 21 - VIRUS - "Cinderella 2" - INSTALLATION CHECK
INT 21 - VIRUS - "Cinderella 2" - INSTALLATION CHECK
	AH = FAh
Return: AH = F9h if resident
SeeAlso: AH=F0h"VIRUS",AX=FBA0h"VIRUS"

Top
21FA--DX5945 - INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
	AH = FAh
	DX = 5945h
	AL = function (00h-02h for VDEFEND, 00h-07h for VSAFE and VWATCH)
Return: varies by function
Note:	this API is identical to the API on INT 13/AH=FAh and INT 16/AH=FAh,
	  so it is listed in its entirety only under INT 16/AX=FA00h and
	  following
SeeAlso: INT 13/AX=FA00h,INT 16/AX=FA00h

Top
21FAFF - INT 21 U - IBM PC-DOS - KEYBGK - SELECT KEYBOARD LAYOUT
INT 21 U - IBM PC-DOS - KEYBGK - SELECT KEYBOARD LAYOUT
	AX = FAFFh
	CL = keyboard layout
	    31h keyboard 319
	    32h keyboard 220
	BX = code page (869 or 813 decimal)
Return: AL = F1h if installed
	DX destroyed

Top
21FB - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
	AH = FBh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FAh"OEM",AH=FCh"OEM"

Top
21FB - INT 21 - DoubleDOS - TURN ON TASK SWITCHING
INT 21 - DoubleDOS - TURN ON TASK SWITCHING
	AH = FBh
Return: task switching turned on
SeeAlso: AH=EBh"DoubleDOS",AH=F9h"DoubleDOS",AH=FAh"DoubleDOS"
SeeAlso: INT FB"DoubleDOS"

Top
21FB - INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
	AH = FBh
Return: AH = 00h if resident
SeeAlso: AH=F9h"VIRUS",AH=FAh"VIRUS",AX=FB0Ah

Top
21FB0A - INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
	AX = FB0Ah
Return: AX = 0AFBh if resident
SeeAlso: AH=FBh"VIRUS",AX=FBA0h"VIRUS",AH=FCh"VIRUS"

Top
21FBA0 - INT 21 - VIRUS - "Groove" - INSTALLATION CHECK
INT 21 - VIRUS - "Groove" - INSTALLATION CHECK
	AX = FBA0h
Return: AX = 0ABFh if resident
SeeAlso: AX=FB0Ah"VIRUS",AX=FBFBh"VIRUS"

Top
21FBFB - INT 21 - VIRUS - "Dir.1367" - INSTALLATION CHECK
INT 21 - VIRUS - "Dir.1367" - INSTALLATION CHECK
	AX = FBFBh
Return: AX = BFBFh if resident
SeeAlso: AX=FBA0h"VIRUS",AH=FCh"VIRUS"

Top
21FC - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
	AH = FCh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FBh"OEM",AH=FDh"OEM"

Top
21FC - INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
	AH = FCh
Return: ES = segment of virtual screen
Desc:	Determine the address of the virtual screen to which the program
	  should write instead of the actual video memory, so that the
	  multitasked programs do not interfere with each other's output.
Notes:	screen address can change if task-switching is on!
	identical to AH=ECh
SeeAlso: AH=ECh"DoubleDOS",INT FC"DoubleDOS"

Top
21FC - INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
	AH = FCh
Return: AL = A5h if resident
SeeAlso: AX=FBA0h"VIRUS",AX=FC03h"VIRUS",AH=FDh"VIRUS"

Top
21FC03 - INT 21 - VIRUS - "Invisible" - INSTALLATION CHECK
INT 21 - VIRUS - "Invisible" - INSTALLATION CHECK
	AX = FC03h
Return: AX = 03FCh if resident
SeeAlso: AH=FCh"VIRUS",AH=FDh"VIRUS"

Top
21FD - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
	AH = FDh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FCh"OEM",AH=FEh"OEM"

Top
21FD - INT 21 - VIRUS - "Border" - INSTALLATION CHECK
INT 21 - VIRUS - "Border" - INSTALLATION CHECK
	AH = FDh
Return: AH = 13h if resident
SeeAlso: AH=FCh"VIRUS",AX=FDACh"VIRUS",AH=FEh"VIRUS"

Top
21FD12BX3457 - INT 21 - Gravis UltraSound - MegaEm/MEGA_EM - INSTALLATION CHECK
INT 21 - Gravis UltraSound - MegaEm/MEGA_EM - INSTALLATION CHECK
	AX = FD12h
	BX = 3457h
Return: AX = 5678h if installed
	BX = 1235h if v1.x or v2.x installed
	    CL = interrupt vector used by MegaEm (default 81h)
	BX = 1237h if v3.x installed
	    CL = interrupt vector used by MegaEm (default 81h)
	    DX = version number
Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
	  emulator for the Gravis UltraSound
SeeAlso: INT 2F/AX=CD00h/BX=464Fh,INT 7E/AX=00FEh"SBOS",INT 81/AX=0200h

Top
21FDAC - INT 21 - VIRUS - "Delwin" - INSTALLATION CHECK
INT 21 - VIRUS - "Delwin" - INSTALLATION CHECK
	AX = FDACh
Return: AX = 02E3h if resident
SeeAlso: AH=FDh"VIRUS",AH=FEh"VIRUS"

Top
21FE - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
	AH = FEh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FDh"OEM",AH=FFh"OEM"

Top
21FE - INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
	AH = FEh
	AL = number of 55ms time slices to give away
Return: returns after giving away time slices
SeeAlso: AH=EEh"DoubleDOS",INT FE"DoubleDOS"

Top
21FE - INT 21 - VIRUS - "483" - INSTALLATION CHECK
INT 21 - VIRUS - "483" - INSTALLATION CHECK
	AH = FEh
Return: AH = 00h if resident
SeeAlso: AX=FDACh"VIRUS",AX=FE01h

Top
21FE01 - INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
	AX = FE01h
Return: AX = 01FEh if resident
SeeAlso: AH=FEh"VIRUS",AX=FE02h

Top
21FE02 - INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
	AX = FE02h
Return: AX = 01FDh if resident
SeeAlso: AX=FE01h,AX=FE03h,AX=FEDCh"VIRUS"

Top
21FE03 - INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
	AX = FE03h
SeeAlso: AX=FE02h,AX=FEADh

Top
21FEAD - INT 21 - VIRUS - "Shifting Objective" - INSTALLATION CHECK
INT 21 - VIRUS - "Shifting Objective" - INSTALLATION CHECK
	AX = FEADh
Return: AX = D00Dh if resident
SeeAlso: AX=FE03h,AX=FEDCh"VIRUS"

Top
21FEDC - INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
	AX = FEDCh
Return: AX = CDEFh if installed
Program: the PCMANAGE/DCOMPRES combination from PC Magazine permits
	  infrequently-used files to be compressed to save space and
	  transparently expanded when accessed
SeeAlso: AH=DCh,INT 2D/AL=10h"dLite"

Top
21FEDC - INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
	AX = FEDCh
Return: AL = DCh if resident
SeeAlso: AX=FE02h,AX=FEFEh

Top
21FEFE - INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
	AX = FEFEh
Return: SI = 1994h if resident
SeeAlso: AX=FEDCh"VIRUS",AH=FFh"VIRUS"

Top
21FF - INT 21 - DOS v2.11-2.13 - OEM FUNCTION
INT 21 - DOS v2.11-2.13 - OEM FUNCTION
	AH = FFh
Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
SeeAlso: AH=F8h"OEM",AH=FEh"OEM"

Top
21FF - INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
	AH = FFh
	AL = subfunction
	    00h add installable command
		BL = mode
		    bit 0 = 1 callable from DOS prompt
		    bit 1 = 1 callable from application
		DS:SI -> CR-terminated command name
		ES:DI -> FAR routine entry point
	    01h remove installable command
		DS:SI -> CR-terminated command name
	    02h reserved, may be used to test for CED installation
Return: CF clear if successful
	CF set on error
	    AX = error code
		01h invalid function
		02h command not found (subfunction 01h only)
		08h insufficient memory (subfunction 00h only)
		0Eh bad data (subfunction 00h only)
	AH = FFh if CED not installed
Program: CED is a shareware DOS command-line enhancer by Christopher J. Dunford
SeeAlso: AX=0A00h

Top
21FF - INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
	AH = FFh
	AL = function
	    01h create file
	    02h open file
	    03h get file statistics
	    04h get time of day
	    05h set time of day
	    06h stat
	    07h system
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
	  GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
SeeAlso: INT 10/AH=FFh"GO32"

Top
21FF - INT 21 - DOSED.COM - INSTALLATION CHECK
INT 21 - DOSED.COM - INSTALLATION CHECK
	AH = FFh
	DS:SI -> "DOSED"
	ES = 0000h
Return: ES:DI -> "DOSED" if installed
Program: DOSED is a free DOS commandline editor/history buffer by Sverre H.
	  Huseby

Top
21FF - INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
	AH = FFh
Return: AH = 00h if "Tumen 0.5" or "Hero" resident
	AX = 0400h if "Sunday" resident
SeeAlso: AX=FEDCh"VIRUS",AX=FF01h"VIRUS"

Top
21FF - INT 21 UP - Rational Systems DOS/4GW - API
INT 21 UP - Rational Systems DOS/4GW - API
	AH = FFh
	DH = function (00h-17h) (also see separate entries below)
	DL = subfunction or argument
Return: CF clear if valid function number
	    AX = status???
	CF set if invalid function
SeeAlso: INT 15/AX=BFDCh

Top
21FF--DH00 - INT 21 UP - Rational Systems DOS/4GW - GET VERSION???
INT 21 UP - Rational Systems DOS/4GW - GET VERSION???
	AH = FFh
	DH = 00h
	DL = ??? (78h seen)
Return: CF clear
	EAX = 4734FFFFh (high word is byte-swapped "4G") if DOS/4G installed
Note:	Quarterdeck's DESQview/X X Toolkit library uses this call to determine
	  whether the direct-mapped linear 4GB segment's selector is 34h or 38h
SeeAlso: INT 21/AH=FFh/DH=00h"DOS/4GW"

Top
21FF--DH02 - INT 21 UP - Rational Systems DOS/4GW - SET ???
INT 21 UP - Rational Systems DOS/4GW - SET ???
	AH = FFh
	DH = 02h
	DL = ???
Return: CF clear

Top
21FF--DH05 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 05h
	BX = ???
Return: ???

Top
21FF--DH06 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 06h
	BX = ???
Return: ???

Top
21FF--DH07 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 07h
	BX = ???
Return: ???

Top
21FF--DH08 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 08h
	BX = ???
	CX = ???
	ES = ???
Return: ???

Top
21FF--DH09 - INT 21 UP - Rational Systems DOS/4GW - GET ???
INT 21 UP - Rational Systems DOS/4GW - GET ???
	AH = FFh
	DH = 09h
Return: ES:BX -> ???

Top
21FF--DH0A - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 0Ah
	AL = ???
	BX = ???
	CX = ???
Return: ES = ??? or 0000h

Top
21FF--DH0B - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 0Bh
	AL = ???
	BX = ???
	CX = ???
Return: ???

Top
21FF--DH0C - INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
	AH = FFh
	DH = 0Ch
	DL = ??? (00h or 01h)
Return: CF clear if successful
	    AL = previous value of ???
	CF set on error (DL out of range)
	    AX = FFFFh

Top
21FF--DH0D - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 0Dh
	???
Return: ???

Top
21FF--DH0E - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 0Eh
Return: DX:AX -> XBRK structure (see #00508 at INT 15/AX=BF02h)
	BX = ???
	CX = ???
SeeAlso: INT 15/AX=BF02h

Top
21FF--DH0F - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 0Fh
	???
Return: ???

Top
21FF--DH10 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 10h
	AL = ???
	BX = ???
	CX = ???
	DI = ???
	SI = ???
Return: ???
Note:	among other things, frees two memory blocks via INT 21/AH=49h

Top
21FF--DH11 - INT 21 UP - Rational Systems DOS/4GW - NOP
INT 21 UP - Rational Systems DOS/4GW - NOP
	AH = FFh
	DH = 11h

Top
21FF--DH12 - INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
	AH = FFh
	DH = 12h
	DS:SI -> new ???
	ES:DI -> new ???
Return: DS:SI -> previous ???
	ES:DI -> previous ???

Top
21FF--DH13 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 13h
	AL = ???
	ES = ???
Return: ???

Top
21FF--DH14 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 14h
	BX = ???
	CX = ???
Return: CF clear
	    AX = ???
	    DX = ???

Top
21FF--DH15 - INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
	AH = FFh
	DH = 15h
Return: CF clear
	    DX:AX -> FAR function for ???
	    CX:BX -> FAR function for ???
	    SI:DI -> FAR function for ???

Top
21FF--DH16 - INT 21 UP - Rational Systems DOS/4GW - GET ???
INT 21 UP - Rational Systems DOS/4GW - GET ???
	AH = FFh
	DH = 16h
Return: AX = ???

Top
21FF--DH17 - INT 21 UP - Rational Systems DOS/4GW - ???
INT 21 UP - Rational Systems DOS/4GW - ???
	AH = FFh
	DH = 17h
	AL = ???
	DL = ???
Return: ???

Top
21FF00 - INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
	AX = FF00h
	CL = what to get
	    00h user information (see #02528)
	    01h drive mapping (see #02529)
	    02h printer server(s)
	    05h local DOS drive number
Return: ES:BX -> desired information
Program: TopWare Network Operating System is manufactured by Grand Computer
	  Company
Note:	this call is only supported on Workstations, not on the server
SeeAlso: AX=FF04h,INT 2F/AX=FF00h

Format of TopWare user information:
Offset	Size	Description	(Table 02528)
 00h	BYTE	node ID
 01h 15 BYTEs	user name
 10h	WORD	user number
 12h	BYTE	group number

Format of TopWare drive mapping [array]:
Offset	Size	Description	(Table 02529)
 00h	BYTE	bits 6-0: drive number (1=A:, etc.)
		bit 7: this is a server drive
 01h  3 BYTEs	mapping drive (for example, "C:\")
 04h 64 BYTEs	current directory

Top
21FF00DX0078 - INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
	AX = FF00h
	DX = 0078h
Return: AL <> 00h if installed
	    GS = segment of kernel if nonzero
SeeAlso: INT 15/AX=BF02h

Top
21FF01 - INT 21 - VIRUS - "Drop" - INSTALLATION CHECK
INT 21 - VIRUS - "Drop" - INSTALLATION CHECK
	AX = FF01h
Return: AX = 01FFh if resident
SeeAlso: AH=FEh"VIRUS",AX=FF0Fh"FLU_SHOT"

Top
21FF04 - INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
	AX = FF04h
	CL = function
	    00h get protections
		Return: BH = read attribute
			BL = write attribute
	    01h set protections
		BH = read attribute
		BL = write attribute
Note:	this function is supported only on Workstations, not on the server
SeeAlso: AX=FF00h"TopWare"

Top
21FF0F - INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
	AX = FF0Fh
Return: AX = 0101h if resident
Program: FLU_SHOT+ is an antivirus/antitrojan program by Ross M. Greenberg and
	  Software Concepts Design
Note:	the "PSQR/1720" virus calls this function to determine whether
	  FLU_SHOT+ is present
SeeAlso: AH=FFh"VIRUS",AX=FF10h"VIRUS"

Top
21FF10 - INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
	AX = FF10h
Return: AL = 07h if resident
SeeAlso: AX=FF0Fh,AX=FFFEh

Top
21FF80DHFF - INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
	AX = FF80h
	DH = FFh
	DL = destination address (FFh for broadcast)
	CX = message length (max 2000)
	DS:SI -> message to be sent (see #02530)
Return: nothing
Program: TopWare Network Operating System is manufactured by Grand Computer
	  Company
Notes:	this function is supported on both Workstations and the server
	there is no guarantee that the message will be received correctly, or
	  at all, by the destination

Format of TopWare message:
Offset	Size	Description	(Table 02530)
 00h	BYTE	type code
		07h TopSend
		11h user application
		other reserved for TopWare
 01h	var	data
Note:	sending messages with a type code other than 11h will cause
	  unpredictable results

Top
21FF82 - INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
	AX = FF82h
Return: AL = station address
Note:	this function is supported on both Workstations and the server
SeeAlso: AX=FF91h

Top
21FF8C - INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
	AX = FF8Ch
	BL = subfunction
	    00h get TopShow status
	    FFh get Emulated status
Return: AL = status
	    00h not installed
	    01h already installed

Top
21FF8D - INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
	AX = FF8Dh
	CH = monochrome flag (01h monochrome, 00h not monochrome)
	CL = screen mode of station to be viewed (see #02531)
	BL = graphic page number for monochrome
Return: AL = status (00h successful, else failed)
SeeAlso: AX=FF8Eh,AX=FFCFh

(Table 02531)
Values for TopWare screen mode:
 00h	text mode
 01h	720x348
 02h	640x408
 03h	720x352
 04h	640x390
 05h	reserved

Top
21FF8E - INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
	AX = FF8Eh
Return: AL = 00h (successful, TopShow removed)
SeeAlso: AX=FF8Dh

Top
21FF91 - INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
	AX = FF91h
Return: AL = station number of file server
SeeAlso: AX=FF82h

Top
21FF97 - INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
	AX = FF97h
Return: AL = maximum station number
SeeAlso: AX=FF98h

Top
21FF98 - INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
	AX = FF98h
Return: AL = maximum file
SeeAlso: AX=FF97h

Top
21FF9A - INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
	AX = FF9Ah
	ES:BX -> buffer for user-defined packet (see #02532)
Return: nothing

Format of TopWare user-defined packet:
Offset	Size	Description	(Table 02532)
 00h	BYTE	FFh
 01h	WORD	(call) length of data field plus 3
		(ret) length of received message (0000h if none received)
 03h	BYTE	destination ID (FFh for broadcast message)
 04h	BYTE	sending station ID
 05h	BYTE	type code (11h; all other codes reserved for TopWare)
 06h  N BYTEs	received message

Top
21FF9F - INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
	AX = FF9Fh
	CL = new state (00h disable [disregard TopTerm packets], 01h enable)
Return: AL = status (00h successful, FFh failed)
Note:	this function is only supported by Workstations, not the server

Top
21FFB0 - INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
	AX = FFB0h
Return: AL = priority status (see #02533)
SeeAlso: AX=FFB1h

Bitfields for TopWare printer priority status:
Bit(s)	Description	(Table 02533)
 2	LPT3 has high priority
 1	LPT2 has high priority
 0	LPT1 has high priority

Top
21FFB1 - INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
	AX = FFB1h
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CH = new priority (00h normal, 01h high)
Return: nothing
SeeAlso: AX=FFB0h

Top
21FFB3 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
	AX = FFB3h
Return: AL = starting formfeed status (see #02534)
SeeAlso: AX=FFB4h,AX=FFC0h

Bitfields for TopWare printer start-of-job formfeed status:
Bit(s)	Description	(Table 02534)
 2	LPT3 has formfeed enabled
 1	LPT2 has formfeed enabled
 0	LPT1 has formfeed enabled

Top
21FFB4 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
	AX = FFB4h
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CH = new formfeed status (00h off, 01h on)
Return: nothing
SeeAlso: AX=FFB3h,AX=FFC1h

Top
21FFBB - INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
	AX = FFBBh
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
Return: AL = current mapping printer server station number
	    00h if local
SeeAlso: AX=FFBCh

Top
21FFBC - INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
	AX = FFBCh
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CL = printer server station address or 00h for local printer
Return: AL = status (00h successful, else failed)
SeeAlso: AX=FFBBh

Top
21FFBD - INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
	AX = FFBDh
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
Return: AX = current AutoPrint timeout in clock ticks
SeeAlso: AX=FFBEh

Top
21FFBE - INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
	AX = FFBEh
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	BX = timeout in clock ticks
SeeAlso: AX=FFBDh

Top
21FFBF - INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
	AX = FFBFh
	DX:BX -> buffer for logon information (see #02535)
Return: AL = status (00h successful, else failed)
	AH = number of logged-in stations

Format of TopWare logon information:
Offset	Size	Description	(Table 02535)
 00h	BYTE	station address
 01h 15 BYTEs	username

Top
21FFC0 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
	AX = FFC0h
Return: AL = ending formfeed status (see #02536)
SeeAlso: AX=FFB3h,AX=FFC1h

Bitfields for TopWare printer end-of-job formfeed status:
Bit(s)	Description	(Table 02536)
 2	LPT3 has formfeed enabled
 1	LPT2 has formfeed enabled
 0	LPT1 has formfeed enabled

Top
21FFC1 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
	AX = FFC1h
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CH = new formfeed status (00h off, 01h on)
Return: nothing
SeeAlso: AX=FFB4h,AX=FFC0h

Top
21FFC2 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
	AX = FFC2h
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
Return: AL = default number of copies printed
SeeAlso: AX=FFC7h

Top
21FFC3 - INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
	AX = FFC3h
Return: AL = sharing status of printers (see #02537)
	    FFh if not a printer server

Bitfields for TopWare printer sharing status:
Bit(s)	Description	(Table 02537)
 2	LPT3 is shared
 1	LPT2 is shared
 0	LPT1 is shared

Top
21FFC4 - INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
	AX = FFC4h
	BL = subfunction
	    00h get
		Return: AL = mapped printer port on print server
	    01h set
		CL = network printer port (00h LPT1, 01h LPT2, 02h LPT3)
	CH = local printer (00h LPT1, 01h LPT2, 02h LPT3)

Top
21FFC6 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
	AX = FFC6h
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CL = header state (00h off, 01h on)
SeeAlso: AX=FFC8h

Top
21FFC7 - INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
	AX = FFC7h
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CL = new default number of copies to print
SeeAlso: AX=FFC2h

Top
21FFC8 - INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
	AX = FFC8h
Return: AL = header status for printers (see #02538)
SeeAlso: AX=FFC6h

Bitfields for TopWare print header status:
Bit(s)	Description	(Table 02538)
 2	LPT3 has headers enabled
 1	LPT2 has headers enabled
 0	LPT1 has headers enabled

Top
21FFC9 - INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
	AX = FFC9h
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CL = new sharing state (00h off, 01h on)
Return: AL = status (00h successful, FFh not printer server)

Top
21FFCA - INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
	AX = FFCAh
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CL = original printer server station address
	BL = target printer server station address
	DS:DX -> filename (12 bytes)
Return: AL = status (00h successful, else failed)
SeeAlso: AX=FFCBh

Top
21FFCB - INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
	AX = FFCBh
	CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
	CL = printer server station address
	DS:DX -> filename (12 bytes)
Return: AL = status (00h successful, else failed)
SeeAlso: AX=FFCAh

Top
21FFCC - INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
	AX = FFCCh
	CL = printer server station address
	BH = start item number of spooling file for print server
	BL = number of the item to be retrieved
	DS:DX -> buffer for queued file information (see #02539)
Return: AL = status
	    00h successful
		AH = number of spool files
		DS:DX buffer filled
	    nonzero failed

Format of TopWare queued file information buffer [16-item array, one element]:
Offset	Size	Description	(Table 02539)
 00h 12 BYTEs	filename
 0Ch	DWORD	size
 10h	WORD	date
 12h	WORD	time
 14h 15 BYTEs	username
 23h	BYTE	count
 24h	BYTE	flag: header
 25h	BYTE	print number

Top
21FFCD - INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
	AX = FFCDh
	DS:DX -> buffer for server status (see #02540)
Return: AL = status
	    00h successful
		AH = number of print servers
	    nonzero failed

Format of TopWare server status:
Offset	Size	Description	(Table 02540)
 00h	BYTE	station address
 01h 15 BYTEs	username
 10h	BYTE	flag: 01h printer is shared, 00h sharing disabled
 11h	BYTE	number of files pending in queue

Top
21FFCF - INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
	AX = FFCFh
	DH = page number (0-2, 2 is text mode)
	DL = type
	    00h look at specific screen
	    01h AutoLook on
	    FFh AutoLook off
	BH = station number wishing to look
	BL = station number to be looked at
	CH = monochrome flag (01h monochrome, 00h not monochrome)
	CL = screen mode (see #02531)
Return: AL = status (00h successful, nonzero failed)
SeeAlso: AX=FF8Dh

Top
21FFD6 - INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
	AX = FFD6h
	ES:BX -> 12-byte buffer for keycard serial number
Return: CX = maximum number of users
	ES:BX buffer filled

Top
21FFD7 - INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
	AX = FFD7h
Return: AL = status (00h disabled, 01h enabled)

Top
21FFE3DL00 - INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
	AX = FFE3h
	DL = 00h
	BX = packet type for Ethernet header (IP = 0800h, ARP = 0806h, etc.)
	ES:DI -> receive routine (see #02542)
Return: CF clear if successful
	    AX = handle number
	CF set on error
	    DH = error code (03h,05h,09h,0Ah,11h) (see #02541)
SeeAlso: AX=FFE3h/DL=01h

(Table 02541)
Values for TopWare error code:
 01h	invalid handle
 03h	no interfaces of the specified type found
 05h	bad packet type
 09h	insufficient space
 0Ah	type already being accessed
 0Ch	unable to send packet (usually hardware error)
 11h	invalid function

(Table 02542)
Values TopWare receive routine is called with:
	AX = function
	    0000h request packet buffer
		CX = packet size
		Return: ES:DI -> buffer or 0000h:0000h to discard packet
	    0001h packet copied
		CX = packet size
		DS:SI -> copied packet (same as returned ES:DI above)

Top
21FFE3DL01 - INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
	AX = FFE3h
	DL = 01h
	BX = handle returned by AX=FFE3h/DL=00h
Return: CF clear if successful
	CF set on error
	    DH = error code (01h,11h) (see #02541)
Note:	the specified access handle will no longer be valid after this call
SeeAlso: AX=FFE3h/DL=00h

Top
21FFE3DL02 - INT 21 - TopWare Network OS v5.10+ - SEND PACKET
INT 21 - TopWare Network OS v5.10+ - SEND PACKET
	AX = FFE3h
	DL = 02h
	CX = length of data buffer
	DS:SI -> buffer containing data
Return: CF clear if successful
	CF set on error
	    DH = error code (0Ch,11h) (see #02541)

Top
21FFE3DL03 - INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
	AX = FFE3h
	DL = 03h
	ES:DI -> 6-byte buffer for address
SeeAlso: AX=FFE3h/DL=00h

Top
21FFFE - INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
	AX = FFFEh
Return: AX = 0815h if resident
SeeAlso: AX=FF10h,AX=FFFEh/BX=0000h

Top
21FFFEBX0000 - INT 21 - VIRUS - "Anti-Thunderbyte/LEMMING" - INSTALLATION CHECK
INT 21 - VIRUS - "Anti-Thunderbyte/LEMMING" - INSTALLATION CHECK
	AX = FFFEh
	BX = 0000h
Return: BX = FFFFh if resident
SeeAlso: AX=FFFEh,AX=FFFFh

Top
21FFFF - INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
	AX = FFFFh
Return: AX = 0000h if "Ontario" resident
	AX = 1992h if "Year 1992"/"B1M92" resident
SeeAlso: AX=FF0Fh,AX=FFFFh/CX=0000h,INT 6B"VIRUS"

Top
21FFFFCX0000 - INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
	AX = FFFFh
	CX = 0000h
Return: CX = 0006h if resident
SeeAlso: AX=FFFFh,INT 6B"VIRUS"

Top
22 - INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
Desc:	this vector specifies the address of the routine which is to be given
	  control after a program is terminated; it should never be called
	  directly, since it does not point at an interrupt handler
Notes:	this vector is restored from the DWORD at offset 0Ah in the PSP during
	  termination, and then a FAR JMP is performed to the address in INT 22
	normally points at the instruction immediately following INT 21/AH=4Bh
	  call which loaded the current program
SeeAlso: INT 20,INT 21/AH=00h,INT 21/AH=31h,INT 21/AH=4Ch

Top
22 - INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
	AL = new firmware debugging port
Return: ???
SeeAlso: INT 21"COMTROL",INT 23"COMTROL"

Top
23 - INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
---DOS 1.x---
Return: AH = 00h abort program
	if all registers preserved, restart DOS call
---DOS 2+---
	CF clear
Return: all registers preserved
	return via RETF with CF set or (MS-DOS 1,DR DOS) RETF 2 with CF set
	    DOS will abort program with errorlevel 0
	else (RETF/RETF 2 with CF clear or IRET with CF ignored)
	    interrupted DOS call is restarted
Notes:	this interrupt is invoked whenever DOS detects a ^C or ^Break; it
	  should never be called directly
	MS-DOS 1.25 also invokes INT 23 on a divide overflow (INT 00)
	MS-DOS remembers the stack pointer before calling INT 23, and if it is
	  not the same on return, pops and discards the top word; this is what
	  permits a return with RETF as well as IRET or RETF 2
	MS-DOS 2.1+ ignores the returned CF if SP is the same on return as it
	  was when DOS called INT 23, so RETF 2 will not terminate the program
	Novell DOS 7 always pops a word if CF is set on return, so one should
	  not return with RETF 2 and CF set or IRET with the stored flags' CF
	  set
	any DOS call may safely be made within the INT 23 handler, although
	  the handler must check for a recursive invocation if it does
	  call DOS
SeeAlso: INT 1B,INT 21/AH=92h"PTS-DOS"

Top
23 - INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
	AL = query type
	    00h get old config map
		Return: AX = old config map
	    01h get dual-ported RAM map
		Return: BX:AX = dual-ported RAM map
	    02h get SCC port map
		Return: BX:AX = SCC port map
SeeAlso: INT 22"COMTROL",INT 26"COMTROL"

Top
24 - INT 24 C - DOS 1+ - CRITICAL ERROR HANDLER
INT 24 C - DOS 1+ - CRITICAL ERROR HANDLER
Notes:	invoked when a critical (usually hardware) error is encountered by DOS
	  (see #02543); should never be called directly
	when DOS terminates a program, it copies the previous value of the
	  INT 24 vector out of the PSP (see #01378) and into the interrupt
	  vector table
SeeAlso: INT 21/AH=95h,INT 21/AH=59h/BX=0000h,INT 21/AH=92h"PTS-DOS"

(Table 02543)
Values critical error handler is called with:
	AH = type and processing flags (see #02544)
	AL = drive number if AH bit 7 clear
	BP:SI -> device driver header (see #01646 at INT 21/AH=52h)
		(BP:[SI+4] bit 15 set if character device)
	DI low byte contains error code if AH bit 7 set (see #02545)
	STACK:	DWORD	return address for INT 24 call
		WORD	flags pushed by INT 24
		WORD	original AX on entry to INT 21
		WORD	BX
		WORD	CX
		WORD	DX
		WORD	SI
		WORD	DI
		WORD	BP
		WORD	DS
		WORD	ES
		DWORD	return address for INT 21 call
		WORD	flags pushed by INT 21
Return: AL = action code (see #02546)
	SS,SP,DS,ES,BX,CX,DX preserved
Notes:	the only DOS calls the handler may make are INT 21/AH=01h-0Ch,30h,59h
	if the handler returns to the application by popping the stack, DOS
	  will be in an unstable state until the first call with AH > 0Ch
	for DOS 3.1+, IGNORE (AL=00h) is turned into FAIL (AL=03h) on network
	  critical errors
	if IGNORE specified but not allowed, it is turned into FAIL
	if RETRY specified but not allowed, it is turned into FAIL
	if FAIL specified but not allowed, it is turned into ABORT
	(DOS 3.0+) if a critical error occurs inside the critical error
	  handler, the DOS call is automatically failed (AL set to 03h and
	  the INT 24 call skipped)
	The initial critical error handler is located in the kernel and
	  always results in FAIL. However, by default it is replaced by
	  the critical error handler in the command interpreter when it
	  loads. This can be suppressed (e.g. for BBS systems) by loading
	  the primary DOS 3.00+ COMMAND.COM shell with the undocumented
	  option /F 'Fail'. This syntax is also supported with PTS/DOS 6.51+,
	  S/DOS 1.0+, and DR-OpenDOS 7.02+ (1997-11-13) COMMAND.COM, as well
	  as 4DOS.COM/NDOS.COM.	 OpenDOS 7.01+ COMMAND.COM (1997-03-21)
	  introduced this under /N, which is still supported by newer releases
	  (although it has a slightly different meaning now).
BUG:	DR DOS COMMAND.COM before 1998-05-07 caused incorrect error messages
	  to occur if the error code had a non-zero MSB (e.g. NWCDEX's
	  "IO error reading from device" instead of the correct
	  "not ready error").  This was fixed with the DR-OpenDOS 7.03
	  COMMAND.COM now passing the full error code to any critical error
	  handlers.

Bitfields for critical error type and processing flags:
Bit(s)	Description	(Table 02544)
 7	class
	=0  disk I/O error
	=1  -- if block device, bad FAT image in memory
	    -- if char device, error code in DI
 6	unused
 5	Ignore allowed (DOS 3.0+)
 4	Retry allowed (DOS 3.0+)
 3	Fail allowed (DOS 3.0+)
 2-1	disk area of error
	00 = DOS area	01 = FAT
	10 = root dir	11 = data area
 0	set if write, clear if read
Note:	Abort is always allowed
SeeAlso: #02545,#02546

(Table 02545)
Values for critical error code:
 00h   (0)  write-protection violation attempted
 01h   (1)  unknown unit for driver
 02h   (2)  drive not ready
 03h   (3)  unknown command given to driver
 04h   (4)  data error (bad CRC)
 05h   (5)  bad device driver request structure length
 06h   (6)  seek error
 07h   (7)  unknown media type (non-DOS disk)
 08h   (8)  sector not found
 09h   (9)  printer out of paper
 0Ah  (10)  write fault
 0Bh  (11)  read fault
 0Ch  (12)  general failure
 0Dh  (13)  (DOS 3.0+, "multitasking" DOS, PTS-DOS & S/DOS) sharing violation
 0Eh  (14)  (DOS 3.0+) lock violation
 0Fh  (15)  invalid disk change / wrong disk
 10h  (16)  (DOS 3.0+) FCB unavailable
 10h  (16)  uncertain media
 11h  (17)  (DOS 3.0+) sharing buffer overflow
 11h  (17)  character call interrupted
 12h  (18)  (DOS 4.0+) code page mismatch
 13h  (19)  (DOS 4.0+) out of input
 14h  (20)  (DOS 4.0+) insufficient disk space
Note:	Critical error codes 00h..0Ch are the traditional codes reported
	  through INT 24.  These code assignments are mapped to error codes
	  13h..1Fh reported by INT21/AH=59h (see #01680).  Similarly, the
	  DOS 3.x critical error codes 0Dh..11h are mapped to INT21/AH=59h
	  error codes 20h..24h, however, the DOS 4.0+ critical error codes are
	  not mapped.
BUG:	Paragon Technology Systems' S/DOS 1.0 sources (a stripped down issue
	  of PTS-DOS 6.51 with sources on CD) erroneously list DOS INT 24
	  error	codes 12h..14h as 11h..13h, however, since the sources do not
	  make use of these defines, this seems to be only a documentation
	  error.
SeeAlso: #02544,#02546,#01680

(Table 02546)
Values for critical error handler action code:
 00h	ignore error and continue processing request
 01h	retry operation
 02h	terminate program as though INT 21/AH=4Ch called (INT 20h for DOS 1.x)
 03h	fail system call in progress (DOS 3+)
SeeAlso: #02544,#02546

Top
25 - INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
	AL = drive number (00h = A:, 01h = B:, etc)
	CX = number of sectors to read (not FFFFh)
	DX = starting logical sector number (0000h - highest sector on drive)
	DS:BX -> buffer for data
Return: CF clear if successful
	CF set on error
	    AH = status (see #02547)
	    AL = error code (same as passed to INT 24 in DI)
	    AX = 0207h if more than 64K sectors on drive -- use new-style call
	may destroy all other registers except segment registers
Notes:	original flags are left on stack, and must be popped by caller
	this call bypasses the DOS filesystem
	examination of CPWIN386.CPL indicates that if this call fails with
	  error 0408h on an old-style (<32M) call, one should retry the
	  call with the high bit of the drive number in AL set
	Novell DOS 7 decides whether the old-style or new-style (>32M) version
	  of INT 25 must be used solely on the basis of the partition's size,
	  thus forcing use of the new-style call even for data in the first
	  32M of the partition
	PC Tools MIRROR as shipped with MS-DOS 5.0+ checks several signatures
	  at the beginning of INT 25h and INT 26h before it starts to patch
	  these vectors. The signatures it looks for are 83h, F9h, FFh, 74h
	  (CMP CX,-01; JZ ????) at offset +1 from the INT 25h/26h entry points
	  and 2Eh, FFh, 2Eh (JMP DWORD PTR CS:[????]) at the location pointed
	  to by the JZ ????. If it finds these signatures it will use the
	  target address of the far jump for its sub-sequent checks, otherwise
	  it will just take the previous interrupt entry points when scanning
	  for FAh, 2Eh, 8Ch, 16h (CLI; MOV CS:????,SS) or FAh, 2Eh, 89h, 26h
	  (CLI; MOV CS:????,SP) right at the beginning. Hence, it seems the
	  first two checks are to trace through a specific INT 25h/26h
	  filter. However, the purpose of the whole patch is unknown.
	A method to detect the actual assignments of logical drive numbers
	 to physical BIOS drive units (for example to detect the boot drive),
	 is to temporarily mount an INT 13h handler recording the used DL
	 drive unit for any INT 13/AH=02h read operations and discarding any
	 attempts to access actual floppy drives.  Then call INT 25h for
	 all the appropriate DOS drives and watch the results recorded by
	 the INT 13h interceptor.
	Although all registers except segment registers may be destroyed
	 some software depends on some of the registers being preserved.
	 For example some Flash disk drivers requires that DX is not trashed.
	 DR-DOS 7.03 takes care of this.
BUGS:	DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
	  invalid drive number
	DR DOS 3.41 will return with a jump instead of RETF, leaving the
	  wrong number of bytes on the stack; use the huge-partition version
	  (INT 25/CX=FFFFh) for all partition sizes under DR DOS 3.41
	DR DOS 6.0 original issues 05/1991 & 08/1991 reported wrong error
	  codes for "drive not ready" and "write protect". This was fixed
	  with the DR DOS BDOS patch "PAT321" (1992/02/19, XDIR /C: 947Bh),
	  and later "full" rebuilds (see INT 21/AX=4452h for details).
SeeAlso: INT 13/AH=02h,INT 25/CX=FFFFh,INT 26,INT 21/AX=7305h,INT 21/AH=90h"PTS"

(Table 02547)
Values for disk I/O status:
 80h	device failed to respond (timeout)
 40h	seek operation failed
 20h	controller failed
 10h	data error (bad CRC)
 08h	DMA failure
 04h	requested sector not found
 03h	write-protected disk (INT 26 only)
 02h	bad address mark
 01h	bad command

Top
25----CXFFFF - INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (32M-2047M hard-disk partition)
INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (32M-2047M hard-disk partition)
	CX = FFFFh
	AL = drive number (0=A, 1=B, etc)
	DS:BX -> disk read packet (see #02548)
Return: CF clear if successful
	CF set on error
	    AH = status (see #02547)
	    AL = error code (same as passed to INT 24 in DI)
	    AX = 0207h for FAT32 drive -- use INT 21/AX=7305h
	may destroy all other registers except segment registers; Win9X always
	  sets SI to 0000h due to an apparent coding bug
Notes:	partition is potentially >32M (and requires this form of the call) if
	  bit 1 of the device attribute word in the device driver is set
	original flags are left on stack, and must be removed by caller
	this call bypasses the DOS filesystem
	for FAT32 drives (which may be up to 2TB in size), use INT 21/AX=7305h
SeeAlso: INT 13/AH=02h,INT 25,INT 26/CX=FFFFh,INT 21/AX=7305h

Format of disk read packet:
Offset	Size	Description	(Table 02548)
 00h	DWORD	sector number
 04h	WORD	number of sectors to read
 06h	DWORD	transfer address
SeeAlso: #02552

Top
25CDCD - INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
	AX = CDCDh
	DS:BX -> buffer for address (see #02549)
	CX = 0001h
	DX = 0000h
Return: AX = CDCDh if Stacker installed
	    DS:BX buffer filled
Note:	not supported by Stacker Anywhere; to obtain the Stacker device
	  driver address and to detect drives controlled by all versions
	  of Stacker, INT 21/AX=4404h"Stacker" or lookup via the CDS and DPB
	  should be preferred (see INT 21/AH=52h)
	Stacker Anywhere does not link its built-in device driver into
	  the standard device driver chain, but it can be found via CDS/DPB
SeeAlso: INT 21/AX=4404h"Stacker"

Format of Stacker v2+ driver address buffer:
Offset	Size	Description	(Table 02549)
 00h	WORD	signature CDCDh
 02h	WORD	??? 0001h
 04h	DWORD	pointer to Stacker signature at device driver offset 1Ah
		  (see #02550)

Format of Stacker v2+ device driver:
Offset	Size	Description	(Table 02550)
 00h	DWORD	pointer to next driver, offset=FFFFh if last driver
		FFFFh:FFFFh for Stacker Anywhere
 04h	WORD	device attributes (see #01647,#01648)
 06h	WORD	device strategy entry point
 08h	WORD	device interrupt entry point
 0Ah	BYTE	number of subunits (drives) supported by driver
		0 for Stacker Anywhere
 0Bh  7 BYTEs	signature "STAC-CD" for Stacker and Stacker Anywhere
 12h  7 BYTEs	???
 19h	BYTE	always = 01h ?? (Stacker Anywhere points here)
 1Ah	WORD	signature A55Ah (all other Stacker versions point here)
 1Ch	WORD	Stacker version * 64h
		0C8h = 200, 012Ch = 300, 0190h = 400 (also Stacker Anywhere)
 1Eh	WORD	offset of volume-specific information offset table
		(list of WORDs, one per drive, containing offsets to various
		  information)
 20h 56 BYTEs	n/a
 58h	BYTE	volume number, set after INT 21/AX=4404h, INT 21/AX=4408h
		(use to index into volume-specific info offset table,
		should be set to FFh before and tested for change after)
 59h 19 BYTEs	n/a
 6Ch  4 BYTEs	ASCII string "SWAP"
 70h 26 BYTEs	drive mapping table (one byte for each drive A: through Z:)
		(only used for drives swapped by SSWAP.COM; other drives
		compressed by Stacker can be found with the standard device
		driver header signature (see INT 21/AH=52h)
---Stacker 4, Stacker Anywhere---
 8Ah 40	BYTEs	???
 B2h  4 BYTEs	ASCII string "SWP2"
 B6h 26 BYTEs	drive table ???
 D0h 150 BYTEs	???
166h 60 BYTEs	LZSINFO structure (see #02808 at INT 2F/AX=4A12h)
SeeAlso: #02551,#01646 at INT 21/AH=52h

Format of Stacker boot record:
Offset	Size	Description	(Table 02551)
1F0h  8 BYTEs	Stacker signature (first byte is CDh)
1F8h	DWORD	pointer to start of Stacker device driver
1FCh	WORD	Stacker volume number
1FEh	WORD	???
SeeAlso: #02550

Top
25--FFSI4358 - INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
	AL = FFh
	SI = 4358h
Return: SI = 6378h if installed
	    CX = segment of device driver PC-CACHE.SYS
	    DX = version (major in DH, minor in DL)
Program: PC-CACHE.SYS is a small device driver used by PC-Cache v5.x to obtain
	  access to certain disk drivers for devices such as Bernoulli drives
SeeAlso: INT 13/AH=A0h

Top
Section -


Top
26 - INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
	AL = drive number (00h = A:, 01h = B:, etc)
	CX = number of sectors to write (not FFFFh)
	DX = starting logical sector number (0000h - highest sector on drive)
	DS:BX -> data to write
Return: CF clear if successful
	CF set on error
	    AH = status (see #02547)
	    AL = error code (same as passed to INT 24 in DI)
	    AX = 0207h if more than 64K sectors on drive -- use new-style call
	may destroy all other registers except segment registers
Notes:	original flags are left on stack, and must be popped by caller
	this call bypasses the DOS filesystem, though DOS 5+ invalidates any
	  disk buffers referencing sectors which are written with this call
	examination of CPWIN386.CPL indicates that if this call fails with
	  error 0408h on an old-style (<32M) call, one should retry the
	  call with the high bit of the drive number in AL set
	Novell DOS 7 decides whether the old-style or new-style (>32M) version
	  of INT 26 must be used solely on the basis of the partition's size,
	  thus forcing use of the new-style call even for data in the first
	  32M of the partition
	Windows98 will display an error message and deliberately hang the
	  system on attempted write to any hard disk if neither bit 7 of the
	  Extended Drive Info byte nor bit 6 of "DOS_FLAG" (List-of-Lists+60h)
	  is set
	Although all registers except segment registers may be destroyed
	 some software depends on some of the registers being preserved.
	 For example some Flash disk drivers requires that DX is not trashed.
	 DR-DOS 7.03 takes care of this.
BUGS:	DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
	  invalid drive number
	DR DOS 3.41 will return with a jump instead of RETF, leaving the
	  wrong number of bytes on the stack; use the huge-partition version
	  (INT 26/CX=FFFFh) for all partition sizes under DR DOS 3.41
	DR DOS 6.0 original releases 05/1991 & 08/1991 reported wrong error
	  codes for "drive not ready" and "write protect". This was fixed
	  with the DR DOS BDOS patch "PAT321" (1992/02/19, XDIR /C: 947Bh)
	  and later "full" rebuilds (see INT21/AX=4452h for details).
SeeAlso: INT 13/AH=03h,INT 25,INT 26/CX=FFFFh,INT 21/AX=7305h,INT 21/AH=91h"PTS"

Top
26----CXFFFF - INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (32M-2047M hard-disk partition)
INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (32M-2047M hard-disk partition)
	CX = FFFFh
	AL = drive number (0=A, 1=B, etc)
	DS:BX -> disk write packet (see #02552)
Return: CF clear if successful
	CF set on error
	    AH = status (see #02547)
	    AL = error code (same as passed to INT 24 in DI)
	may destroy all other registers except segment registers
Notes:	partition is potentially >32M (and requires this form of the call) if
	  bit 1 of the device attribute word in the device driver is set
	original flags are left on stack, and must be removed by caller
	this call bypasses the DOS filesystem, though DOS 5+ invalidates any
	  disk buffers referencing sectors which are written with this call
	for FAT32 drives (which may be up to 2TB in size), use INT 21/AX=7305h
	Windows98 will display an error message and deliberately hang the
	  system on attempted write to any hard disk if neither bit 7 of the
	  Extended Drive Info byte nor bit 6 of "DOS_FLAG" (List-of-Lists+60h)
	  is set
SeeAlso: INT 13/AH=03h,INT 25/CX=FFFFh,INT 26,INT 21/AX=7305h

Format of disk write packet:
Offset	Size	Description	(Table 02552)
 00h	DWORD	sector number
 04h	WORD	number of sectors to read
 06h	DWORD	transfer address
SeeAlso: #02548

Top
26 - INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
	???
Return: ???
SeeAlso: INT 23"COMTROL",INT 27"COMTROL"

Top
27 - INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
	DX = number of bytes to keep resident (max FFF0h)
	CS = segment of PSP
Return: never
Notes:	this is an obsolete call
	INT 22, INT 23, and INT 24 are restored from the PSP
	does not close any open files
	the minimum number of bytes which will remain resident is 110h for
	  DOS 2.x and 60h for DOS 3.0+; there is no minimum for DOS 1.x, which
	  implements this service in COMMAND.COM rather than the DOS kernel
SeeAlso: INT 21/AH=31h

Top
27 - INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
	???
Return: ???
Desc:	invoke a copy of the remote Turbo Debugger kernel on the Hostess i
	  controller
SeeAlso: INT 20"COMTROL",INT 26"COMTROL"

Top
28 - INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
	SS:SP = top of MS-DOS stack for I/O functions
Return: all registers preserved
Desc:	This interrupt is invoked each time one of the DOS character input
	  functions loops while waiting for input.  Since a DOS call is in
	  progress even though DOS is actually idle during such input waits,
	  hooking this function is necessary to allow a TSR to perform DOS
	  calls while the foreground program is waiting for user input.	 The
	  INT 28h handler may invoke any INT 21h function except functions
	  00h through 0Ch.
Notes:	under DOS 2.x, the critical error flag (the byte immediately after the
	  InDOS flag) must be set in order to call DOS functions 50h/51h from
	  the INT 28h handler without destroying the DOS stacks.
	calls to INT 21/AH=3Fh,40h from within an INT 28 handler may not use a
	  handle which refers to CON
	at the time of the call, the InDOS flag (see INT 21/AH=34h) is normally
	  set to 01h; if larger, DOS is truly busy and should not be reentered
	the default handler is an IRET instruction
	supported in OS/2 compatibility box
	the _MS-DOS_Programmer's_Reference_ for DOS 5.0 incorrectly documents
	  this interrupt as superseded
	the performance of NetWare Lite servers (and probably other peer-to-
	  peer networks) can be dramatically improved by calling INT 28
	  frequently from an application's idle loop
SeeAlso: INT 21/AH=34h,INT 2A/AH=84h,INT 2F/AX=1680h

Top
289999 - INT 28 u - PCXDUMP v9.00+ - INSTALLATION CHECK
INT 28 u - PCXDUMP v9.00+ - INSTALLATION CHECK
	AX = 9999h
Return: AX = AAAAh if installed
	    CX = version number * 100 (example: 03A2h = 930 = v9.30)
	    DL = interrupt used by the dump function (see #02553)
		(00h if call not available)
	    BX = CS of PCXDUMP's INT 28 handler (undocumented)
	    ES = segment of PCXDUMP's memory block (v9.30, undocumented)
Program: PCXDUMP is a shareware screen grabber saving in PCX format
Notes:	if DL<>00h a dump can be requested by calling INT DL as shown
	  below (the user can choose the interrupt number at installation
	  time); if DL=00h the dump function can be called only by hotkeys
	  (this is the default)

(Table 02553)
Call PCXDUMP screen-dump function with:
	INT xx
	AX = 1234h
	BX = dump type
	    0000h Color dump
	    0001h Immediate color dump
	    0002h Black/White dump
	    0003h Immediate B/W dump
	    0004h Inverted B/W dump
	    0005h Gray scaled dump
	    0006h Inverted gray scaled dump
	    0007h Text screen dump to text file
	    0008h Text screen dump to ansi file
Return: nothing
Notes:	if BX=0001h, 0003h, 0007h or 0008h the whole screen will be
	  dumped; the other valid values will draw a selection frame
	  on the screen except in text modes (text modes allow only
	  full screen dumps)
	this function doesn't perform the dump, it only requests it;
	  the dump will be performed after a few milliseconds if it's
	  safe to do so, thus the author recommends putting a 60 ms delay
	  after this call

Top
29 - INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
	AL = character to display
Return: nothing
	BX may be destroyed by some versions of DOS 3.3
Notes:	automatically called when writing to a device with bit 4 of its device
	  driver header set (see also INT 21/AH=52h)
	COMMAND.COM v3.2 and v3.3 compare the INT 29 vector against the INT 20
	  vector and assume that ANSI.SYS is installed if the segment is larger
	the default handler under DOS 2.x and 3.x simply calls INT 10/AH=0Eh
	the default handler under DESQview 2.2 understands the <Esc>[2J
	  screen-clearing sequence, calls INT 10/AH=0Eh for all others
SeeAlso: INT 21/AH=52h,INT 2F/AX=0802h,INT 79"AVATAR.SYS"

Top
29E60DCL0E - INT 29 - ShowGFX - INSTALLATION CHECK
INT 29 - ShowGFX - INSTALLATION CHECK
	AX = E60Dh
	CL = 0Eh
	DX = C0DEh
Return: DX = DEC0h
Program: ShowGFX is a PCBoard graphics driver by Solar Designer

Top
2A00 - INT 2A - NETWORK - INSTALLATION CHECK
INT 2A - NETWORK - INSTALLATION CHECK
	AH = 00h
Return: AH <> 00h if installed
	CF set if NetWare v2.15 NetBIOS emulator installed
Note:	supported by PC LAN Program, LAN Manager, LANtastic, NetWare, 10NET,
	  etc.
SeeAlso: INT 5C"NetBIOS"

Top
2A0000 - INT 2A - AT&T Starlan Extended NetBIOS (var length names) - INSTALLATION CHECK
INT 2A - AT&T Starlan Extended NetBIOS (var length names) - INSTALLATION CHECK
	AX = 0000h
Return: AH = DDh
SeeAlso: INT 5B"Extended NetBIOS"

Top
2A01 - INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NETBIOS REQUEST,NO ERROR RETRY
INT 2A - NETWORK (Microsoft,LANtastic) - EXECUTE NETBIOS REQUEST,NO ERROR RETRY
	AH = 01h
	ES:BX -> NCB (see #03249 at INT 5C"NetBIOS")
Return: AL = NetBIOS error code
	AH = status
	    00h no error
	    01h error occurred
SeeAlso: AH=04h,AX=0500h,INT 5B"Extended NetBIOS",INT 5C"NetBIOS"

Top
2A02 - INT 2A - NETWORK (Microsoft) - SET NET PRINTER MODE
INT 2A - NETWORK (Microsoft) - SET NET PRINTER MODE
	AH = 02h
	???
Return: ???

Top
2A0300 - INT 2A - NETWORK - CHECK DIRECT I/O
INT 2A - NETWORK - CHECK DIRECT I/O
	AX = 0300h
	DS:SI -> ASCIZ device name (may be full path or only drive specifier--
		  must include the colon)
Return: CF clear if direct physical addressing (INT 13,INT 25) permissible
	CF set if access via files only
Notes:	do not use direct disk accesses if this function returns CF set or the
	  device is redirected (INT 21/AX=5F02h)
	use AH=00h to determine whether the network is installed; if not,
	  direct physical access is allowed
	may take some time to execute, so programs which need to check
	  frequently should save the result of the first call
	this function is called by the DOS kernel on INT 25 and INT 26
	supported by PC LAN Program, LAN Manage, LANtastic, NetWare, 10NET,
	  etc.
SeeAlso: INT 13/AH=02h,INT 13/AH=03h,INT 25,INT 26,INT 21/AX=5F02h

Top
2A04 - INT 2A - NETWORK - EXECUTE NetBIOS REQUEST
INT 2A - NETWORK - EXECUTE NetBIOS REQUEST
	AH = 04h
	AL = error retry
	    00h automatically retry request on errors 09h, 12h, and 21h
		  (see #03248 at INT 5C"NetBIOS")
	    01h no retry
	    02h ???
	ES:BX -> Network Control Block (see #03249 at INT 5C"NetBIOS")
Return: AX = 0000h if successful
	AH = 01h on error
	    AL = error code
Notes:	invokes either INT 5B or INT 5C as appropriate
	supported by PC LAN Program, LANtastic, LAN Manager, NetWare, 10NET,
	  etc.
	NetWare 2.15 NetBIOS emulator returns CF clear if successful, CF set
	  on error
	PC LAN Program defines any non-zero return value in AH as an error
	  indicator for subfunction 00h, and any non-zero return value in AX
	  as an error indicator for subfunction 01h
SeeAlso: AH=00h,AH=01h,AX=0500h,INT 5B"Extended NetBIOS",INT 5C"NetBIOS"

Top
2A0500 - INT 2A - NETWORK - GET NETWORK RESOURCE AVAILABILITY
INT 2A - NETWORK - GET NETWORK RESOURCE AVAILABILITY
	AX = 0500h
Return: AX reserved
	BX = number of network names available
	CX = number of network control blocks available
	DX = number of network sessions available
Notes:	supported by PC LAN Program, LAN Manager, LANtastic, NetWare, 10NET,
	  etc.
	the application should call this function before using any network
	  resources, and maintain its own count to avoid exceeding the
	  network's resource limits
SeeAlso: AH=00h,AH=01h,AH=04h,INT 5C"NetBIOS"

Top
2A06 - INT 2A - NETBIOS, LANtastic - NETWORK PRINT-STREAM CONTROL
INT 2A - NETBIOS, LANtastic - NETWORK PRINT-STREAM CONTROL
	AH = 06h
	AL = function
	    01h set concatenation mode
		all printer output put in one job until return to DOS prompt
	    02h set truncation mode (default)
		printer open/close or BIOS/DOS output switch starts new job
	    03h flush printer output and start new print job
Return: CF set on error
	    AX = error code
	CF clear if successful
Notes:	subfunction 03h is equivalent to Ctrl/Alt/keypad-*
	supported by PC LAN Program, LANtastic, NetWare, 10NET, etc.
	LANtastic v4.x no longer supports this call
	this function sets the printer mode for all redirected printers
SeeAlso: INT 21/AX=5D08h,INT 21/AX=5D09h,INT 2F/AX=1125h

Top
2A07 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
	AH = 07h
	???
Return: ???
Program: PC Network is an early networking package which was renamed the
	  IBM PC Local Area Network Program (PC LAN Program) as of v1.10
SeeAlso: AH=86h

Top
2A2001 - INT 2A - MS Networks or NETBIOS - ???
INT 2A - MS Networks or NETBIOS - ???
	AX = 2001h
	???
Return: ???
Note:	intercepted by DESQview 2.x

Top
2A2002 - INT 2A - NETWORK - ???
INT 2A - NETWORK - ???
	AX = 2002h
	???
Return: ???
Note:	called by MS-DOS 3.30-6.00 APPEND

Top
2A2003 - INT 2A - NETWORK - ???
INT 2A - NETWORK - ???
	AX = 2003h
	???
Return: ???
Note:	called by MS-DOS 3.30-6.00 APPEND

Top
2A4147DX0000 - INT 2A U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK
INT 2A U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK
	AX = 4147h ('AG')
	DX = 0000h
Return: DX = 4147h if installed
	    DS:SI -> configuration data (see #02554)
Program: DOS-NET is a shareware networking package by Albert Graham
Note:	this call is supported by CLIENT.COM, SERVER.COM, ROUTER.COM, and
	  NETDOS.COM
SeeAlso: INT 65/DX=4147h,INT 65/DX=4741h

Format of DOS-NET v1.20 configuration data area:
Offset	Size	Description	(Table 02554)
 00h	BYTE	???
 01h	BYTE	interrupt number used by DOS-NET APIs
 02h	WORD	function number to place in AX for above interrupt
 04h	BYTE	minor version as two BCD digits (e.g. 20h for v1.20)
 05h	BYTE	major version number (01h for v1.20)
 06h  2 BYTEs	???
 08h	WORD	??? (used by ARCNET.COM)
		bit 15: ??? (set by MACTEST.COM)
 0Ah	WORD	??? (used by NDIS.COM and ODI.COM)
 0Ch 22 BYTEs	???
 24h	DWORD	-> ??? function (set by PROTECT.COM)
 28h 12 BYTEs	???
 34h	DWORD	-> ??? function (set by FASTVIEW.COM)
 38h	DWORD	-> ??? function (set by FASTVIEW.COM)
 58h	DWORD	-> ??? (offsets 04h and 1Ah from value are used by NETFILES)
	???
 7Ch	WORD	???
 7Eh	WORD	??? (may be high half of a DWORD at 7Ch)
	???
 A8h	DWORD	-> ??? (used by SM.COM)
	???
114h	WORD	???
116h	WORD	??? (may be high half of a DWORD at 114h)
	???
1BDh	BYTE	??? flags
		bit 0: ???
		bit 6: ???
	???
1E1h	BYTE	???
	???
208h	WORD	??? (used by SM.COM, MACTEST)
282h	WORD	???
284h  2 BYTEs	???
286h	WORD	??? flags
		bit 0: ???
	???
31Eh	WORD	???
320h	WORD	??? (used by NDIS.COM and ODI.COM)
322h  8 BYTEs	???
32Ah	WORD	??? (used by NDIS.COM and ODI.COM)
	???
33Eh  4 BYTEs	??? (used by ODI.COM)
342h  N BYTEs	??? (used by NDIS.COM)
	???
3CFh	BYTE	??? flags
		bit 2: ???
3D2h	BYTE	installed-component flags
		bit 0: PROTECT installed
		bit 1: NETCACHE installed
		bit 3: SM.COM installed
		bit 7: NETDEBUG installed
3D3h	BYTE	installed-component flags
		bit 0: NETFILES installed
		bit 6: FASTVIEW installed
	???
3FFh	BYTE	??? (used by NDIS.COM)
400h	BYTE	???
401h	BYTE	??? (used by SM.COM)
402h	BYTE	??? (used by SM.COM)
	???
448h	BYTE	???
449h	BYTE	??? (used by MACTEST)
44Ah	BYTE	??? (used by PROTECT)
44Bh	BYTE	???
44Ch	BYTE	???
44Dh	BYTE	??? (used by SM.COM)
44Eh	BYTE	??? (used by SM.COM, MACTEST)
	???

Top
2A7802 - INT 2A - NETWORK - PC LAN PROG v1.31+ - GET LOGGED ON USER NAME
INT 2A - NETWORK - PC LAN PROG v1.31+ - GET LOGGED ON USER NAME
	AX = 7802h
	ES:DI -> 8-byte buffer to be filled
Return: AL = 00h if no user logged on to Extended Services
	AL <> 00h if user logged on to Extended Services
	    buffer at ES:DI filled with name, padded to 8 chars with blanks.

Top
2A80 - INT 2A CU - NETWORK - BEGIN DOS CRITICAL SECTION
INT 2A CU - NETWORK - BEGIN DOS CRITICAL SECTION
	AH = 80h
	AL = critical section number (00h-0Fh) (see #02555)
Notes:	normally hooked to avoid interrupting a critical section, rather than
	  called
	the handler should ensure that none of the critical sections are
	  reentered, usually by suspending a task which attempts to reenter
	  an active critical section
	the DOS kernel does not invoke critical sections 01h and 02h unless it
	  is patched.  DOS 3.1+ contains a zero-terminated list of words
	  beginning at offset -11 from the Swappable Data Area
	  (see #01687 at INT 21/AX=5D06h); each word contains the offset within
	  the DOS data segment of a byte which must be changed from C3h (RET)
	  to 50h (PUSH AX) under DOS 3.x or from 00h to a nonzero value under
	  DOS 4.0+ to enable use of critical sections.	For DOS 4.0+, all
	  words in this list point at the byte at offset 0D0Ch.
	MS Windows patches the DOS kernel's calls to INT 2A/AH=80h-81h into
	  far calls to its own handler, and does not reflect the calls back
	  to INT 2A unless SYSTEM.INI contains ReflectDOSInt2A=1 or
	  ModifyDOSInt2A=0 in the [386Enh] section
	Novell NETX does not issue INT 2A/AH=80h and INT 2A/AH=81h calls when
	  it intercepts INT 21 calls and processes them itself
SeeAlso: AH=81h,AH=82h,AX=8700h,INT 21/AX=5D06h,INT 21/AX=5D0Bh

(Table 02555)
Values for DOS critical section number:
 01h	DOS kernel, SHARE.EXE, DOSMGR
	apparently for maintaining the integrity of DOS/SHARE/NET
	  data structures
 02h	DOS kernel, DOSMGR
	ensures that no multitasking occurs while DOS is calling an
	  installable device driver
 05h	network redirector
 06h	DOS 4.x only IFSFUNC
 08h	ASSIGN.COM
 0Ah	MSCDEX, CORELCDX
 0Fh	IBM PC LAN server (while intercepting INT 10/AH=06h,07h,0Eh)

Top
2A81 - INT 2A CU - NETWORK - END DOS CRITICAL SECTION
INT 2A CU - NETWORK - END DOS CRITICAL SECTION
	AH = 81h
	AL = critical section number (00h-0Fh) (see #02555)
Notes:	normally hooked rather than called
	the handler should reawaken any tasks which were suspended due to an
	  attempt to enter the specified critical section
	MS Windows patches the DOS kernel's calls to INT 2A/AH=80h-81h into
	  far calls to its own handler, and does not reflect the calls back
	  to INT 2A unless SYSTEM.INI contains ReflectDOSInt2A=1 or
	  ModifyDOSInt2A=0 in the [386Enh] section
SeeAlso: AH=80h,AH=82h,AX=8700h

Top
2A82 - INT 2A CU - NETWORK - END DOS CRITICAL SECTIONS 0 THROUGH 7
INT 2A CU - NETWORK - END DOS CRITICAL SECTIONS 0 THROUGH 7
	AH = 82h
Notes:	called by the INT 21h function dispatcher for function 0 and functions
	  greater than 0Ch except 59h, and on process termination
	the handler should reawaken any tasks which were suspended due to an
	  attempt to enter one of the critical sections 0 through 7
SeeAlso: AH=81h

Top
2A84 - INT 2A CU - NETWORK - KEYBOARD BUSY LOOP
INT 2A CU - NETWORK - KEYBOARD BUSY LOOP
	AH = 84h
Notes:	similar to DOS's INT 28h, called from inside the DOS keyboard input
	  loop (i.e. INT 21/AH=07h or INT 21/AH=08h) to allow the network
	  software to process requests
	Novell DOS 7+ calls this function with AX=8400h from inside of
	  the keyboard input loop.
SeeAlso: INT 28

Top
2A86 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
	AH = 86h
	???
Return: ???
SeeAlso: AH=07h,AH=C4h

Top
2A8700 - INT 2A CU - PRINT - BEGIN BACKGROUND PRINTING
INT 2A CU - PRINT - BEGIN BACKGROUND PRINTING
	AX = 8700h
	CF clear
Return: CF clear if OK to print in background now
	CF set if background printing not allowed at this time
Desc:	used to inform interested programs that PRINT is about to start its
	  background processing, and allow those programs to postpone the
	  processing if necessary
Notes:	when PRINT gains control and wants to begin printing, it calls this
	  function.  If CF is clear on return, PRINT begins its background
	  processing, and calls AX=8701h when it is done.  If CF is set on
	  return, PRINT will relinquish control immediately, and will not
	  call AX=8701h
	PCVENUS (an early network shell by IBM and CMU) hooks this call to
	  prevent background printing while its own code is active
SeeAlso: AH=80h,AH=81h,AX=8701h

Top
2A8701 - INT 2A CU - PRINT - END BACKGROUND PRINTING
INT 2A CU - PRINT - END BACKGROUND PRINTING
	AX = 8701h
Desc:	used to inform interested programs that PRINT has completed its
	  background processing
Note:	called by PRINT after it has performed some background printing; not
	  called if AX=8700h returned with CF set.
SeeAlso: AX=8700h

Top
2A89 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
	AH = 89h
	AL = ???  (ASSIGN uses 08h)
	???
Return: ???

Top
2A90 - INT 2A U - IBM PC 3270 EMULATION PROGRAM - ???
INT 2A U - IBM PC 3270 EMULATION PROGRAM - ???
	AH = 90h
	???
Return: ???
Note:	the LANtastic redirector and SERVER.EXE use this function with AL=01h,
	  03h-07h,0Ch-11h

Top
2AC2 - INT 2A U - Network - ???
INT 2A U - Network - ???
	AH = C2h
	AL = subfunction
	    07h ???
	    08h ???
	BX = 0001h
	???
Return: ???
Note:	this function is called by the DOS 3.30-6.00 APPEND

Top
2AC4 - INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
INT 2A U - PC Network v1.00 - RECEIVER.COM - ???
	AH = C4h
	AL = subfunction
	    07h ???
	    08h ???
	BX = ???
	???
Return: ???
SeeAlso: AH=86h

Top
2AD800 - INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION DISABLE
INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION DISABLE
	AX = D800h
Return: nothing
Desc:	sets ??? flag, and sets ??? to initial value
Note:	called by CLIENT for communication between client and server
SeeAlso: AX=D801h,AX=D850h

Top
2AD801 - INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION ENABLE
INT 2A U - Novell NetWare Lite - SERVER - DOS CRITICAL SECTION ENABLE
	AX = D801h
Return: nothing
Desc:	clears the ??? flag set by AX=D800h
Note:	called by CLIENT for communication between client and server
SeeAlso: AX=D800h,AX=D850h

Top
2AD850 - INT 2A U - Novell NetWare Lite - CLIENT - START SERVER CRITICAL SECTION
INT 2A U - Novell NetWare Lite - CLIENT - START SERVER CRITICAL SECTION
	AX = D850h
Return: nothing
Desc:	increments an internal byte-sized counter
Note:	this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
	  Advanced NetWare 4.0 DOS Requester
SeeAlso: AX=D851h

Top
2AD851 - INT 2A U - Novell NetWare Lite - CLIENT - END SERVER CRITICAL SECTION
INT 2A U - Novell NetWare Lite - CLIENT - END SERVER CRITICAL SECTION
	AX = D851h
Return: nothing
Desc:	resets an internal byte-sized counter to zero
Note:	this function is intercepted by DV/X 1.10 PEERSERV.DVR and the
	  Advanced NetWare 4.0 DOS Requester
SeeAlso: AX=D850h

Top
2AD852 - INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER LOADED
INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER LOADED
	AX = D852h
Return: ???
Note:	calls the NetWare Lite SERVER installation check, and sets ??? pointer
SeeAlso: AX=D853h,INT 2F/AX=D880h

Top
2AD853 - INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER UNLOADED
INT 2A U - Novell NetWare - DOS Requester v1.03 - SERVER UNLOADED
	AX = D853h
Return: ???
Note:	clears the pointer set by AX=D852h
SeeAlso: AX=D852h

Top
2AE0 - INT 2A U - PC Network 1.00 - ???
INT 2A U - PC Network 1.00 - ???
	AH = E0h
	AL = subfunction??? (01h,02h, maybe others)
	???
Return: ???
Note:	called by PCNet 1.00 NET.COM, a shell program from which others are run

Top
2AFF90 - INT 2A - PC/TCP PREDIR.EXE - ???
INT 2A - PC/TCP PREDIR.EXE - ???
	AX = FF90h
Return: AX = ???
Note:	PREDIR.EXE is the network printer redirector included as part of the
	  PC/TCP system by FTP Software, Inc.

Top
2AFF91 - INT 2A - PC/TCP PREDIR.EXE - ???
INT 2A - PC/TCP PREDIR.EXE - ???
	AX = FF91h
	BX = ???
Return: AX = status???

Top
2AFF92 - INT 2A - PC/TCP PREDIR.EXE - INSTALLATION CHECK
INT 2A - PC/TCP PREDIR.EXE - INSTALLATION CHECK
	AX = FF92h
Return: AX = 0000h if installed
	   BX = redirected printer port (FFFFh if no printers redirected)
	   CX = version (CH = major, CL = minor)
Note:	PREDIR.EXE is the network printer redirector included as part of the
	  PC/TCP system by FTP Software, Inc.

Top
2AFF93 - INT 2A - PC/TCP PREDIR.EXE - ???
INT 2A - PC/TCP PREDIR.EXE - ???
	AX = FF93h
Return: AX = ???

Top
2AFF94 - INT 2A - PC/TCP PREDIR.EXE - ???
INT 2A - PC/TCP PREDIR.EXE - ???
	AX = FF94h
	BX = ???
	CX = ???
	DX = ???
Return: AX = ???
Note:	PREDIR.EXE is the network printer redirector included as part of the
	  PC/TCP system by FTP Software, Inc.

Top
2AFF95 - INT 2A - PC/TCP PREDIR.EXE - GET CONFIGURATION STRINGS
INT 2A - PC/TCP PREDIR.EXE - GET CONFIGURATION STRINGS
	AX = FF95h
	CX = what to get
	    0000h ??? (returned pointer to "C:\COMMAND.COM")
	    0001h spooling program
	    0002h ???
	    0003h spool file name
	    0004h swap file name
Return: AX = status
	    0000h successful
	BX:DX -> ASCIZ configuration string

Top
2AFF96 - INT 2A - PC/TCP PREDIR.EXE - SET PRINT JOB TERMINATION CONFIGURATION
INT 2A - PC/TCP PREDIR.EXE - SET PRINT JOB TERMINATION CONFIGURATION
	AX = FF96h
	CX = what to set
	    0000h ???
	    0001h print-on-hotkey state
	    0002h print-on-exit state
	    0003h print job timeout in clock ticks
	    0004h print-on-EOF state
	BX = new value (0000h disabled, 0001h enabled except for timeout)
Return: AX = ???
SeeAlso: AX=FF97h
Note:	PREDIR.EXE is the network printer redirector included as part of the
	  PC/TCP system by FTP Software, Inc.

Top
2AFF97 - INT 2A - PC/TCP PREDIR.EXE - GET PRINT JOB TERMINATION CONFIGURATION
INT 2A - PC/TCP PREDIR.EXE - GET PRINT JOB TERMINATION CONFIGURATION
	AX = FF97h
	CX = what to get
	    0000h ???
	    0001h print-on-hotkey state
	    0002h print-on-exit state
	    0003h print job timeout in clock ticks
	    0004h print-on-EOF state
Return: AX = status
	    0000h successful
	BX = old value (0000h disabled, 0001 enabled except for timeout)
SeeAlso: AX=FF96h

Top
2B - INT 2B - DOS 2+ - RESERVED
INT 2B - DOS 2+ - RESERVED
Note:	this vector is not used in MS-DOS versions <= 6.22, and points at an
	  IRET instruction

Top
2B - INT 2B - IBM ROM-DOS v4.0 - ???
INT 2B - IBM ROM-DOS v4.0 - ???
	AH = function
	    00h ??? (modifies data in IBMBIO.COM)
	    01h internal operations
	    02h ???
		AL = index (00h-0Ch)
		Return: AX = ??? or (CMOS 2Dh and CMOS 2Eh)
	    03h get ??? data
		Return: AX = (CMOS 2Dh and CMOS 2Eh)
			BX = FFFFh
	    other does nothing
Note:	function 03h is called by ROMSHELL.COM; if BX != 0, then the ES:DI from
	  INT 2F/AX=1982h points at valid data
SeeAlso: INT 2F/AX=1982h

Top
2C - INT 2C - DOS 2+ - RESERVED
INT 2C - DOS 2+ - RESERVED
Note:	this vector is not used in DOS versions <= 6.00, and points at an IRET

Top
2C - INT 2C - STARLITE architecture - KERNEL API
INT 2C - STARLITE architecture - KERNEL API
Note:	STARLITE is an architecture by General Software for a series of MS-DOS
	  compatible operating systems (OEM DOS, NETWORK DOS, and SMP DOS) to
	  be released in 1991.	The interrupt number is subject to change
	  before the actual release.

Top
2C - INT 2C R - Cloaking - CALL PROTECTED-MODE PASSALONG CHAIN
INT 2C R - Cloaking - CALL PROTECTED-MODE PASSALONG CHAIN
Notes:	when this interrupt is invoked in V86 mode, RM386 will invoke the first
	  in a chain of protected-mode handlers, and will only pass execution
	  to the V86-mode INT 2C handler if none of the handlers in the
	  passalong chain handle the call instead.  This is the method by which
	  the real-mode stub of a cloaked application communicates with the
	  protected-mode portion.
	the cloaking host calls the passalong chain with EAX=58494E33h ('WIN3')
	  when MS Windows starts up and with EAX=334E4958h ('3NIW') when
	  Windows shuts down; between these two broadcasts, the additional
	  Windows-only Cloaking services are available
	this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
	  memory manager included in Helix Software's Netroom
SeeAlso: INT 2C/AX=0009h,INT 2F/AX=4310h"Cloaking"

Top
2C0000 - INT 2C P - Cloaking - ALLOCATE GDT SELECTOR
INT 2C P - Cloaking - ALLOCATE GDT SELECTOR
	AX = 0000h
	EBX = base address
	CL = access mode byte
	CH = extended access mode byte (omit limit field)
	EDX = segment limit
Return: CF clear if successful
	    AX = selector
	CF set on error
	    AX = error code (see #02556)
Notes:	this INT 2C interface is used by Netroom's DPMI.EXE v3.00
	to access extended memory, set the base address to the desired
	  physical address plus 400000h (4M)
	this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
	  memory manager included in Helix Software's Netroom
SeeAlso: AX=0001h,AX=0002h,AX=0003h,AX=0004h,AX=0005h,INT 31/AH=57h,#00501

(Table 02556)
Values for Cloaking error code:
 0001h	no more selectors
 0002h	not a GDT ring 0 selector
 0003h	invalid selector (out of range, not user selector)
 0004h	selector not allocated

Top
2C0001 - INT 2C P - Cloaking - FREE GDT SELECTOR
INT 2C P - Cloaking - FREE GDT SELECTOR
	AX = 0001h
	SI = selector
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02556)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0000h,INT 2F/AX=4310h"Cloaking"

Top
2C0002 - INT 2C P - Cloaking - SET SEGMENT BASE ADDRESS
INT 2C P - Cloaking - SET SEGMENT BASE ADDRESS
	AX = 0002h
	SI = selector
	EBX = new physical base addres
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02556)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0000h,AX=0003h,AX=0004h,INT 31/AX=0007h,#00501

Top
2C0003 - INT 2C P - Cloaking - SET SEGMENT LIMIT
INT 2C P - Cloaking - SET SEGMENT LIMIT
	AX = 0003h
	SI = selector
	EBX = new limit
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02556)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0000h,AX=0002h,AX=0004h,INT 31/AX=0008h

Top
2C0004 - INT 2C P - Cloaking - SET SEGMENT ACCESS MODE
INT 2C P - Cloaking - SET SEGMENT ACCESS MODE
	AX = 0004h
	SI = selector
	CL = new access mode byte (see #00502)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02556)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0005h,INT 31/AX=0009h

Top
2C0005 - INT 2C P - Cloaking - SET SEGMENT EXTENDED ACCESS MODE
INT 2C P - Cloaking - SET SEGMENT EXTENDED ACCESS MODE
	AX = 0005h
	SI = selector
	CL = new extended access mode byte (limit field ignored) (see #02557)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02556)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0004h,INT 31/AX=0009h

Bitfields for extended access mode byte:
Bit(s)	Description	(Table 02557)
 7	4K granularity instead of byte granularity
 6	32-bit code segment
 5	reserved (0)
 4	segment available to system
SeeAlso: #00505

Top
2C0006 - INT 2C P - Cloaking - GET PROTECTED-MODE INTERRUPT VECTOR
INT 2C P - Cloaking - GET PROTECTED-MODE INTERRUPT VECTOR
	AX = 0006h
	CL = vector (00h-7Fh)
Return: CF clear
	DX:EBX -> current interrupt handler
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0007h,INT 31/AX=0204h

Top
2C0007 - INT 2C P - Cloaking - SET PROTECTED-MODE INTERRUPT VECTOR
INT 2C P - Cloaking - SET PROTECTED-MODE INTERRUPT VECTOR
	AX = 0007h
	CL = vector (00h-7Fh)
	DX:EBX -> interrupt handler
Return: CF clear
Notes:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
	the IDT entry's type remains unchanged
SeeAlso: AX=0006h,INT 31/AX=0205h

Top
2C0008 - INT 2C P - Cloaking - GET PASSALONG ADDRESS
INT 2C P - Cloaking - GET PASSALONG ADDRESS
	AX = 0008h
Return: CF clear
	DX:EBX = current passalong address
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0009h,AX=002Ch,INT 2F/AX=4310h"Cloaking"

Top
2C0009 - INT 2C P - Cloaking - SET PASSALONG ADDRESS
INT 2C P - Cloaking - SET PASSALONG ADDRESS
	AX = 0009h
	DX:EBX = new value for passalong address (see #02558)
Return: CF clear
Notes:	when an INT 2C instruction is executed in V86 mode, the Cloaking host
	  calls the passalong address.	The handler should check whether the
	  upcall is of interest to it, and if not it should jump to the old
	  passalong address (retrieved with AX=0008h before the handler was
	  installed).  The final handler should return with CF clear to cause
	  the interrupt to be reflected back to V86 mode if none of the
	  passalong handlers is triggered
	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0008h,AX=002Dh,INT 2C"PASSALONG CHAIN"

(Table 02558)
Values Cloaking passalong address is called with:
	EAX = CS:IP of byte following INT 2C instruction invoking passalong
	SS:EBX -> caller registers (see #02559)
	CF clear
	others undefined
Return: CF clear: pass along to V86-mode INT 2C handler
	CF set: return immediately to V86 mode

Format of Cloaking caller registers:
Offset	Size	Description	(Table 02559)
 00h	DWORD	EDI
 04h	DWORD	ESI
 08h	DWORD	EBP
 0Ch	DWORD	reserved (ESP from PUSHAD instruction)
 10h	DWORD	EBX
 14h	DWORD	EDX
 18h	DWORD	ECX
 1Ch	DWORD	EAX
 20h	DWORD	error code
 24h	DWORD	EIP
 28h	WORD	CS
 2Ah	WORD	padding
 2Ch	DWORD	EFLAGS
 30h	DWORD	ESP
 34h	WORD	SS
 36h	WORD	padding
--remainder not available if protected-mode ring3 trap---
 38h	WORD	ES
 3Ah	WORD	padding
 3Ch	WORD	DS
 3Eh	WORD	padding
 40h	WORD	FS
 42h	WORD	padding
 44h	WORD	GS
 46h	WORD	padding

Top
2C000A - INT 2C P - Cloaking - GET BASE ADDRESS OF GDT SELECTOR
INT 2C P - Cloaking - GET BASE ADDRESS OF GDT SELECTOR
	AX = 000Ah
	SI = selector
Return: CF clear if successful
	    EBX = segment base address
	CF set on error
	    AX = error code (see #02556)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
	  memory manager included in Helix Software's Netroom
SeeAlso: AX=0000h,AX=0002h,AX=000Bh

Top
2C000B - INT 2C P - Cloaking - GET SELECTOR LIMIT
INT 2C P - Cloaking - GET SELECTOR LIMIT
	AX = 000Bh
	SI = selector
Return: CF clear if successful
	    EBX = segment base address
	CF set on error
	    AX = error code (see #02556)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=000Ah,INT 2F/AX=4310h"Cloaking"

Top
2C - INT 2C P - RM386 v6.00 - CLOAKING - RESERVED FOR CLOAKED BIOS USE UNDER WINDOWS
INT 2C P - RM386 v6.00 - CLOAKING - RESERVED FOR CLOAKED BIOS USE UNDER WINDOWS
	AX = function (000Ch-001Fh)

Top
2C000F - INT 2C P - Cloaking v1.01 - "Simulate_Shell_Event"
INT 2C P - Cloaking v1.01 - "Simulate_Shell_Event"
	AX = 000Fh
	ECX = event code (see #02560)
	DX = subfunction for event
	EDX high word = boost value (see #02561)
	SI:EDI -> completion procedure
Return: CF clear if successful (event scheduled)
	CF set on error
Note:	this function is only available while MS Windows is running
SeeAlso: AX=0011h,AX=0012h,INT 2F/AX=1605h,INT 2F/AX=4310h"Cloaking"

(Table 02560)
Values for Cloaking shell event code:
 0414h	Hot key event
	subevent 0000h: Alt-Space
	subevent 0001h: Alt-Enter
	subevent 0002h: Dir-VM
 0415h	Switch context
	subevent 0000h for DOS VM context, nonzero for System VM context
 0416h	Clipboard event
 0417h	Termination event
	subevent 0000h for normal termination, nonzero for error
 0418h	Display message
	subevent 0000h for normal message, nonzero for system model ASAP
 0419h	Crash
 041Ah	Paste complete
	subevent 0000h: normal
	subevent 0001h: cancelled by user
	subevent 0002h: cancelled
 041Bh	Contention event
 041Ch	Screen switch
	subevent 0000h: forward
	subevent 0001h: back
 041Dh	Filesystem change
 041Eh	Check Focus
 041Fh	Panic

Bitfields for boost value:
Bit(s)	Description	(Table 02561)
 0	boost system VM until focus changes
 1	boost system VM on Switcher screen
 2	boost system VM until response
 3	boost system VM during clipboard activity
 4	boost system VM during print screen
 5	boost system VM during update

Top
2C0011 - INT 2C P - Cloaking v1.01 - "Switch_VMs_and_Call_back"
INT 2C P - Cloaking v1.01 - "Switch_VMs_and_Call_back"
	AX = 0011h
	EBX = handle of VM to be made active
	SI:EDI -> 32-bit FAR completion procedure
Return: CF clear if successful (scheduled)
	CF set on error
Notes:	this function is only available while MS Windows is running
	the completion procedure is called with CF clear if the specified
	  VM has been made active, or with CF set on error
SeeAlso: AX=000Fh,AX=0012h

Top
2C0012 - INT 2C P - Cloaking v1.01 - "Query_Current_VM"
INT 2C P - Cloaking v1.01 - "Query_Current_VM"
	AX = 0012h
Return: CF clear
	EBX = handle of active VM
	ESI = handle of system VM
	ECX = VM status flags (see #02562)
	EDX = shell flags (see #02563)
Note:	this function is only available while MS Windows is running in enhanced
	  mode
SeeAlso: AX=000Fh,AX=0011h,AX=0013h

Bitfields for VM status flags:
Bit(s)	Description	(Table 02562)
 0	in exclusive mode
 1	runs in background
 2	being created
 3	suspended
 4	not executable
 5	executing in protected mode
 6	contains PM application
 7	32-bit PM application
 8	called from VxD
 9	high priority background
 10	blocked on semaphore
 11	awakening
 12	has pageable V86
 13	has locked V86
 14	is scheduled
 15	idle
 16	closing

Bitfields for shell flags:
Bit(s)	Description	(Table 02563)
 2	windowed
 5	Alt-Tab reserved
 6	Alt-Esc reserved
 7	Alt-Space reserved
 8	Alt-PrtSc reserved
 9	Alt-Enter reserved
 10	Alt-PrtSc reserved
 11	PrtSc reserved
 12	polling enabled
 13	no HMA
 14	has shortcut key
 15	locked EMS handles
 16	locked XMS handles
 17	fast paste enabled
 18	locked V86 memory
 30	close-on-exit enabled

Top
2C0013 - INT 2C P - Cloaking v1.01 - "Issue_System_Modal_Message"
INT 2C P - Cloaking v1.01 - "Issue_System_Modal_Message"
	AX = 0013h
	EDX = message box flags (see #02564)
	DS:ECX -> ASCIZ message text
	DS:EDI -> ASCIZ caption
Return: CF clear
	EAX = response code
Note:	this function is only available while MS Windows is running in enhanced
	  mode
SeeAlso: AX=000Fh,AX=0012h

Bitfields for message box flags:
Bit(s)	Description	(Table 02564)
 3-0	response codes (see #02565)
 7-4	icon codes
	1 = Warning hand
	2 = exclamation mark
	4 = asterisk
 9-8	default response (0 = first button, 1 = second, 2 = third)
 12	message is system model
 15	don't change focus
 29	hang with interrupts enabled
 30	do not window
 31	execute ASAP

(Table 02565)
Values for response codes:
 00h	OK
 01h	OK, Cancel
 02h	Abort, Retry, Ignore
 03h	Yes, No, Cancel
 04h	Yes, No
 05h	Retry, Cancel

Top
2C001D - INT 2C P - Cloaking v1.01 - GET INT 2C API HANDLER ENTRY POINT
INT 2C P - Cloaking v1.01 - GET INT 2C API HANDLER ENTRY POINT
	AX = 001Dh
Return: CF clear
	DX:EBX = selector:offset of Cloaking host INT 2C handler
Desc:	get the Cloaking host's entry point to bypass any other programs
	  which may have hooked INT 2C in protected mode
Note:	the returned entry point must be called with a simulated INT, i.e.
	  a PUSHD must precede the far call to the handler
SeeAlso: INT 2F/AX=4310h"Cloaking"

Top
2C001E - INT 2C P - Cloaking v1.01 - CLEAR CRITICAL SECTION
INT 2C P - Cloaking v1.01 - CLEAR CRITICAL SECTION
	AX = 001Eh
Return: CF clear
Desc:	allow MS Windows to switch to another VM after having prevented it
	  by invoking a critical section
SeeAlso: AX=001Fh,INT 15/AX=101Ch,INT 2F/AX=1682h

Top
2C001F - INT 2C P - Cloaking v1.01 - SET CRITICAL SECTION
INT 2C P - Cloaking v1.01 - SET CRITICAL SECTION
	AX = 001Fh
Return: CF clear
Desc:	prevent MS Windows from switching to another VM
SeeAlso: AX=001Eh,INT 15/AX=101Bh,INT 2F/AX=1681h

Top
2C0020 - INT 2C P - Cloaking - GET SIZE OF PROTECTED-MODE STATE
INT 2C P - Cloaking - GET SIZE OF PROTECTED-MODE STATE
	AX = 0020h
Return: EAX = number of bytes required for storing state
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0021h,AX=0022h

Top
2C0021 - INT 2C P - Cloaking - SAVE PROTECTED-MODE STATE
INT 2C P - Cloaking - SAVE PROTECTED-MODE STATE
	AX = 0021h
	ES:EDI -> buffer for protected-mode state
Return: CF clear
	buffer filled
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0020h,AX=0022h

Top
2C0022 - INT 2C P - Cloaking - RESTORE PROTECTED-MODE STATE
INT 2C P - Cloaking - RESTORE PROTECTED-MODE STATE
	AX = 0022h
	DS:ESI -> buffer containing previously-saved protected-mode state
Return: CF clear if successful
	    state restored
	CF set on error (invalid buffer contents)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0020h,AX=0021h

Top
2C0023 - INT 2C P - Cloaking - ISSUE PROTECTED-MODE XMS CALL
INT 2C P - Cloaking - ISSUE PROTECTED-MODE XMS CALL
	AX = 0023h
Notes:	not currently implemented--NOP in RM386 v6.00
	this function was first introduced with RM386 (RAM-MAN/386) v6.00

Top
2C0024 - INT 2C P - Cloaking - SET V86-MODE STACK
INT 2C P - Cloaking - SET V86-MODE STACK
	AX = 0024h
	DX:EBX = new value for V86-mode SS:ESP
Return: nothing
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00

Top
2C0025 - INT 2C P - Cloaking - CALL V86-MODE PROCEDURE
INT 2C P - Cloaking - CALL V86-MODE PROCEDURE
	AX = 0025h
	DS:EBX -> client register structure (see #02559)
Return: CF clear if successful
	    client register structure updated
	CF set if no more nested procedure call space available
Notes:	this call uses the V86-mode stack supplied in the client structure, and
	  calls the routine specified by CS:IP in the client structure
	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0026h,AX=0027h,INT 31/AX=0301h

Top
2C0026 - INT 2C P - Cloaking - CALL V86-MODE INTERRUPT HANDLER
INT 2C P - Cloaking - CALL V86-MODE INTERRUPT HANDLER
	AX = 0026h
	DS:EBX -> client register structure (see #02559)
	CX = interrupt number
Return: CF clear if successful
	    client register structure updated
	CF set if no more nested procedure call space available
Notes:	this call uses the V86-mode stack supplied in the client structure
	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0025h,AX=0027h,INT 31/AX=0300h

Top
2C0027 - INT 2C P - Cloaking - CHAIN TO V86-MODE INTERRUPT HANDLER
INT 2C P - Cloaking - CHAIN TO V86-MODE INTERRUPT HANDLER
	AX = 0027h
	DS:EBX -> client register structure (see #02559)
Return: CF clear if successful
	    client register structure updated
	CF set if no more nested procedure call space available
Notes:	this call uses the V86-mode stack supplied in the client structure,
	  and jumps to the address specified by CS:IP in the client structure
	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0025h,AX=0026h

Top
2C0028 - INT 2C P - Cloaking - GET ESP0 FROM TSS
INT 2C P - Cloaking - GET ESP0 FROM TSS
	AX = 0028h
Return: CF clear
	EAX = TSS's ESP0
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00, the
	  memory manager included in Helix Software's Netroom

Top
2C0029 - INT 2C P - Cloaking - SET SECONDARY STACK
INT 2C P - Cloaking - SET SECONDARY STACK
	AX = 0029h
	DX:EBX = new value for SS:ESP of ring 3 secondary stack
Return: CF clear
Desc:	inform RM386 of the ring 3 interrupt stack location
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00

Top
2C002A - INT 2C P - Cloaking - SET 8259 IRQ BASE VECTORS
INT 2C P - Cloaking - SET 8259 IRQ BASE VECTORS
	AX = 002Ah
	BL = base vector of master interrupt controller
	CL = base vector of slave interrupt controller
Notes:	this call merely informs RM386 that the caller has changed the
	  interrupt mappings
	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: INT 67/AX=DE0Bh

Top
2C002BCH81 - INT 2C P - Cloaking - PROTECTED-MODE VIRTUAL DMA SERVICES
INT 2C P - Cloaking - PROTECTED-MODE VIRTUAL DMA SERVICES
	AX = 002Bh
	CH = 81h
	CL = subfunction (02h-0Ch)
	other registers as appropriate for subfunction
Return: varies by function
	CF set on error
Notes:	these functions are equivalent to the INT 4B/AX=81xxh subfunctions
	  with the same numbers
	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: INT 4B/AX=8102h,INT 4B/AX=810Ch

Top
2C002C - INT 2C P - Cloaking - GET PORT-TRAPPING PASSALONG
INT 2C P - Cloaking - GET PORT-TRAPPING PASSALONG
	AX = 002Ch
Return: CF clear
	DX:EBX = current I/O trapping passalong address
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0008h,AX=002Dh

Top
2C002D - INT 2C P - Cloaking - SET PORT-TRAPPING PASSALONG
INT 2C P - Cloaking - SET PORT-TRAPPING PASSALONG
	AX = 002Dh
	DX:EBX = new I/O trapping passalong address (see #02566)
Return: CF clear
Notes:	RM386 calls the passalong address whenever an access to a monitored
	  I/O port is attempted; the handler should check whether it is a port
	  that it is interested in, and if not call the previous passalong
	  address (which was retrieved with AX=002Ch before installing the
	  new handler)
	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=0009h,AX=002Ch,INT 67/AX=5DEAh

(Table 02566)
Values Cloaking port-trapping passalong address is called with:
	EAX = CS:IP of faulting instruction (unless executing in protected-mode
		ring 3)
	SS:EBX -> caller register structure (see #02559)
		check EFLAGS V86-mode bit for type
	CX = first two bytes of I/O instruction which was trapped
	DX = port to which I/O is being performed
	CF clear
Return: CF clear if RM386 should perform I/O operation
	CF set if I/O should be skipped
Note:	RM386 skips the trapped I/O instruction, so the passalong handler
	  should not modify the client CS:EIP

Top
2C002E - INT 2C P - Cloaking - TRAP I/O PORT
INT 2C P - Cloaking - TRAP I/O PORT
	AX = 002Eh
	DX = port number to trap
Return: CF clear if successful
	CF set on error (port out of range or reserved)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=002Fh,AX=0030h

Top
2C002F - INT 2C PU - Cloaking - UNTRAP I/O PORT
INT 2C PU - Cloaking - UNTRAP I/O PORT
	AX = 002Fh
	DX = port number for which to cancel trapping
Return: CF clear if successful
	CF set on error (port out of range or reserved)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=002Eh,AX=0030h

Top
2C0030 - INT 2C PU - Cloaking - GET TRAPPING STATE OF SPECIFIED PORT
INT 2C PU - Cloaking - GET TRAPPING STATE OF SPECIFIED PORT
	AX = 0030h
	DX = port number
Return: CF clear if successful
	   BX = current state (0000h not trapped, 0001h trapped)
	CF set on error (port out of range or reserved)
Note:	this function was first introduced with RM386 (RAM-MAN/386) v6.00
SeeAlso: AX=002Eh,AX=002Fh

Top
2C0031 - INT 2C PU - RM386 v6.00 - BUG
INT 2C PU - RM386 v6.00 - BUG
	AX = 0031h
Program: RM386 (RAM-MAN/386) is the memory manager included in Helix
	  Software's Netroom
Note:	due to a fencepost error, RM386 v6.00 will branch unpredictably if
	  invoked with this function

Top
2C0031 - INT 2C P - Cloaking v1.01 - ALLOCATE V86 CALLBACK
INT 2C P - Cloaking v1.01 - ALLOCATE V86 CALLBACK
	AX = 0031h
	DX:EBX = CS:EIP of protected-mode routine to be invoked by callback
Return: CF clear if successful
	    EBX = CS:IP of V86-mode callback handler
	CF set on error
SeeAlso: AX=0032h

Top
2C0032 - INT 2C P - Cloaking v1.01 - FREE V86 CALLBACK
INT 2C P - Cloaking v1.01 - FREE V86 CALLBACK
	AX = 0032h
	EBX = CS:IP of V86-mode callback handler
Return: CF clear if successful
	CF set on error
	    AX = error code
		0005h invalid callback address
		0006h callback already free
SeeAlso: AX=0032h

Top
2C0033 - INT 2C P - Cloaking v1.01 - REGISTER CLOAKING CLIENT
INT 2C P - Cloaking v1.01 - REGISTER CLOAKING CLIENT
	AX = 0033h
	DS:EDX -> client registration structure (see #02567)
Return: CF clear if successful
	CF set on error (linked list corrupt)
SeeAlso: AX=0034h,#02778 at INT 2F/AX=4310h"Cloaking"

Format of client registration structure:
Offset	Size	Description	(Table 02567)
 00h	PWORD	link to next structure
 06h	PWORD	link to previous structure
 0Ch  2 BYTEs	client version (major, minor)
 0Eh 20 BYTEs	client name
 22h	DWORD	physical address of client start
 26h	DWORD	client's total size in bytes
Note:	the link area should not be modified once the structure has been
	  used for the registration call

Top
2C0034 - INT 2C P - Cloaking v1.01 - UNREGISTER CLOAKING CLIENT
INT 2C P - Cloaking v1.01 - UNREGISTER CLOAKING CLIENT
	AX = 0034h
	DS:EDX -> client registration structure (see #02567)
Return: CF clear if successful
	CF set on error (linked list corrupt)
Note:	the client must unregister before freeing the XMS block containing
	  its registration structure(s)
SeeAlso: AX=0033h,#02778 at INT 2F/AX=4310h"Cloaking"

Top
2D - INT 2D - DOS 2+ - RESERVED
INT 2D - DOS 2+ - RESERVED
Note:	this vector is not used in DOS versions <= 6.00, and points at an IRET
BUG:	RM386 v6.00-6.02 (as distributed with Helix's Netroom v3.x) contains
	  a stack bug in its protected-mode INT 2D handler which causes a crash
	  when INT 2D is invoked from V86 mode

Top
2D - INT 2D - ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION (AMIS) [v3.6]
INT 2D - ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION (AMIS) [v3.6]
	AH = multiplex number
	AL = function
	    00h installation check
	    01h get private entry point
	    02h uninstall
	    03h request popup
	    04h determine chained interrupts
	    05h get hotkey list
	    06h get device-driver information
	    07h-0Fh reserved for future enhancements
		Return: AL = 00h (not implemented)
	    other  application-dependent
	other registers vary by function (also see individual entries below)
Return: varies by function
Notes:	programs should not use fixed multiplex numbers; rather, a program
	  should scan all multiplex numbers from 00h to FFh, remembering the
	  first unused multiplex in case the program is not yet installed.
	  For multiplex numbers which are in use, the program should compare
	  the first 16 bytes of the signature string to determine whether it
	  is already installed on that multiplex number.  If not previously
	  installed, it should use the first free multiplex number.
	functions other than 00h are not valid unless a program is installed
	  on the selected multiplex number
	to be considered fully compliant with version 3.6 of the specification,
	  programs must implement at least functions 00h, 02h (no resident
	  uninstall code required), and 04h (return value 04h).	 TSRs that
	  provide hotkeys with which the user can activate them must also
	  implement function 05h.  TSRs which provide DOS device drivers must
	  also implement function 06h.	The absolute minimum fully-compliant
	  implementation has an overhead of 64 bytes (80 bytes with function
	  05h) plus 22 bytes per hooked interrupt (for the interrupt sharing
	  protocol header and hook list entry).
	the signature string and description may be used by memory mappers
	  to display the installed programs
	to be considered fully compliant, users of this specification must
	  adhere to the IBM interrupt sharing protocol (see #02568), which will
	  permit removal of TSRs in arbitrary order and interrupt handler
	  reordering.  All TSRs following this specification should be
	  removable unless they are loaded from CONFIG.SYS, though they need
	  not keep the code for removing themselves resident; it is acceptable
	  for a separate program to perform the interrupt unhooking and
	  memory-freeing steps of removal.
	A sample public-domain implementation including example TSRs and
	  utility programs may be found in a separate package distributed as
	  AMISLnnn.ZIP (AMISL092.ZIP as of this writing).
	Please let me know if you choose to follow this proposal.  The
	  signature and a list of the private API calls you use would be
	  appreciated, as well.
SeeAlso: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=04h
SeeAlso: INT 2D/AL=05h,INT 2D/AL=06h,INT 2F"NOTES"

Format of interrupt sharing protocol interrupt handler entry point:
Offset	Size	Description	(Table 02568)
 00h  2 BYTEs	short jump to actual start of interrupt handler, immediately
		  following this data block (EBh 10h)
 02h	DWORD	address of next handler in chain
 06h	WORD	signature 424Bh
 08h	BYTE	EOI flag
		00h software interrupt or secondary hardware interrupt handler
		80h primary hardware interrupt handler (will issue EOI to
		      interrupt controller)
 09h  2 BYTEs	short jump to hardware reset routine
		must point at a valid FAR procedure (may be just RETF)
 0Bh  7 BYTEs	reserved (0) by IBM for future expansion
Note:	when chaining to the prior handler, the interrupt handler must perform
	  an indirect jump/call using the address at offset 02h in the
	  ISP header.  This permits another AMIS TSR to hook itself into
	  the chain at a position other than as the first handler to receive
	  an interrupt.
SeeAlso: INT F1/AH=01h"Common ISDN API",INT F1/AH=06h"CAPI",#04068

Top
2D--00 - INT 2D - AMIS v3.0+ - INSTALLATION CHECK
INT 2D - AMIS v3.0+ - INSTALLATION CHECK
	AL = 00h
	AH = multiplex number for program
Return: AL = 00h if free
	AL = FFh if multiplex number in use
	    CX = binary version number (CH = major, CL = minor)
	    DX:DI -> signature string (see #02569) identifying the program
		  using the multiplex number
SeeAlso: INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=04h,INT 2D/AL=05h
SeeAlso: INT 2D/AL=06h
Index:	installation check;Alternate Multiplex Interrupt Specification
Index:	installation check;AMIS|installation check;FASTMOUS
Index:	installation check;SPELLER|installation check;Monitor
Index:	installation check;NOLPT|installation check;NOTE
Index:	installation check;RBkeyswp|installation check;SWITCHAR
Index:	installation check;VGABLANK|installation check;EATMEM
Index:	installation check;RECALL|installation check;XPTR2

Format of AMIS signature string:
Offset	Size	Description	(Table 02569)
 00h  8 BYTEs	blank-padded manufacturer's name (possibly abbreviated)
 08h  8 BYTEs	blank-padded product name
 10h 64 BYTEs	ASCIZ product description (optional, may be a single 00h)
Note:	it is not necessary to reserve a full 64 bytes for the description,
	  just enough to store the actual ASCIZ string
SeeAlso: #02570

(Table 02570)
Values for AMIS signatures known to be in use:
 'Byrial J' 'EKLAVO  '	permits keyboard entry of Esperanto accented letters
 'CoveSoft' 'Burnout+'	shareware screen saver Burnout Plus
 'Crynwr  ' 'SPELLER '	TSR spelling-checker
 'CPH1995 ' 'CDTSR   '	resident CD-Audio player
 'CPH1996 ' 'DSAPI   '
 'CSJewell' 'Modula3L'	Curtis Jewell's Modula-3 compiler (non-TSR)
 'Cubbi...' 'ASCII...'	Example ASCII code view/enter TSR by Sergey Zubkov
 'Cubbi...' 'ScrnGrab'	Example screen grabber by Sergey Zubkov
 'DAISYCHA' 'INDRIVER'	Advanced Parallel Port daisy chain driver (vendor name
			  in product description field, if desired)
			(see also INT 2D/AL=DCh)
 'DTown SD' 'DTU     '	DTown Software Development's DTown Utilities
			(see also INT 2D/AL=20h)
 'ECLIPSE ' 'PLUMP   '	Eclipse Software's printer and plotter spooler
 'GraySoft' 'GIPC    '	GraySoft's Inter-Process Communications driver
 'heathh  ' 'Monitor '
 'Helge O '		TSRs by Helge Olav Helgesen
 'IVALM SK' 'lmkey   '	Russian keyboard driver by Sergey Khabarov
 'IVALM SK' 'lmrus   '	Russian screen	 driver by Sergey Khabarov
 'J. Berry' 'RATSR   '	RemoteAccess Network Manager workstation module
 'JWB	  ' 'RAMLIGHT'	James Birdsall's on-screen RAMdisk activity indicator
 'M Better' 'iHPFS   '	Marcus Better's HPFS filesystem driver for DOS
 'M. Paul ' 'FREEVER '	DOS version-faking TSR by Matthias Paul
 'Nildram ' 'ST	     '	Screen Thief graphics screen grabber
 'NoBrain ' 'FlatReal'	Flat real mode monitor by Sergei Shtylyov
 'NoBrain ' 'Grabber '	Frame grabber drivers by Sergei Shtylyov
 'NoBrain ' 'SqrModes'	TSR providing some non-standard video modes
			by Sergei Shtylyov
 'Pino Nav' 'ALTMENU '	activate any program's menu bar by pressing Alt key
 'Pino Nav' 'Keybit  '	Pino Navato's KEYBIT Lite Italian keyboard driver v4+
 'PowrQuot' 'CAPRILOG'
 'PowrQuot' 'CAPRITSR'
 'PowrQuot' 'CAPRIWIN'
 'R-Ware  ' 'dLite   '	run-time data decompression TSR
 'Ralf B  ' 'disaXXYY'	RBdisabl -- disable key scancode XX w/ shift states YY
 'Ralf B  ' 'DUALVGA '	dual-VGA support, screen blanker, and DPMS driver
 'Ralf B  ' 'FASTMOUS'	example TSR included with sample AMIS library code
 'Ralf B  ' 'NoBreak '	disable Ctrl-@, Ctrl-C, and Ctrl-Break keys
 'Ralf B  ' 'NOLPT n '	example TSR -- turn LPTn into bit-bucket
 'Ralf B  ' 'NOTE    '	example TSR -- popup note-taker
 'Ralf B  ' 'RBclock '	RBclock -- on-screen real-time clock
 'Ralf B  ' 'RBclockE'	RBclock -- on-screen elapsed-time clock
 'Ralf B  ' 'RBdvorak'	Dvorak keyboard mapping w/ opt Esc/~, LCtrl/CapsLk swap
 'Ralf B  ' 'RBkcount'	display count of keystrokes on screen
 'Ralf B  ' 'RBkeyswp'	RBkeyswap v3.0+ -- swap Esc/~ and LCtrl/CapsLock keys
 'Ralf B  ' 'RBnoboot'	disable Ctrl-Alt-Del key combination
 'Ralf B  ' 'ShftCaps'	require Shift-CapsLock to turn on CapsLock
 'Ralf B  ' 'ShftNumL'	require Shift-NumLock to turn off NumLock
 'Ralf B  ' 'SWITCHAR'	example TSR -- add switchar() support removed from DOS5
 'Ralf B  ' 'VGABLANK'	VGA-only screen blanker
 'Ralf B  ' 'WINTAME '	yield CPU when program in Win95 DOS box is idle
 'Sally IS' 'Mdisk   '	removeable, resizeable RAMdisk
 'Sally IS' 'Scr2Tex '	screen dumper with output in (La)Tex format
 'SRT	  ' 'STOPBOOT'	reboot preventer by Steve Talbot
 'Thaco	  ' 'NEST    '	Eirik Pedersen's programmer's delimiter matcher
 'TifaWARE' 'EATMEM  '	George A. Theall's public domain memory restrictor for
			testing programs (v1.1+)
 'TifaWARE' 'RECALL  '	public domain commandline editor and history (v1.2+)
 'Todd	  ' 'XPTR2   '	PC-to-Transputer interface by Todd Radel
 'WlkngOwl' 'NoiseSYS'	NOISE.SYS random-number generator
SeeAlso: #02569

Top
2D--01 - INT 2D - AMIS v3.0+ - GET PRIVATE ENTRY POINT
INT 2D - AMIS v3.0+ - GET PRIVATE ENTRY POINT
	AL = 01h
	AH = multiplex number for program
Return: AL = 00h if all API calls via INT 2D
	AL = FFh if entry point supported
	    DX:BX -> entry point for bypassing interrupt chain
Note:	this function is not valid unless a program is installed on the
	  specified multiplex number; use INT 2D/AL=00h to check
SeeAlso: INT 2D/AL=00h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=04h,INT 2D/AL=05h
SeeAlso: INT 2D/AL=06h
Index:	entry point;Alternate Multiplex Interrupt|entry point;AMIS

Top
2D--02 - INT 2D - AMIS v3.0+ - UNINSTALL
INT 2D - AMIS v3.0+ - UNINSTALL
	AL = 02h
	AH = multiplex number for program
	DX:BX = return address for successful uninstall (may be	ignored by TSR)
Return: AL = status
	    00h not implemented (makes TSR non-compliant with specification)
	    01h unsuccessful
	    02h can not uninstall yet, will do so when able
	    03h safe to remove, but no resident uninstaller
		  (TSR still enabled)
		BX = segment of memory block with resident code
	    04h safe to remove, but no resident uninstaller
		  (TSR now disabled)
		BX = segment of memory block with resident code
	    05h not safe to remove now, try again later
	    06h disabled, but can not be removed from memory
		  because loaded from CONFIG.SYS
	    07h safe to remove, but no resident device-driver
		  uninstaller.	Caller must unlink device
		  drivers from DOS device chain as well as
		  unhooking interrupts and freeing memory
		BX = segment of memory block with resident code
	    FFh successful
	return at DX:BX with AX destroyed if successful and TSR honors
	  specific return address
Note:	this function is not valid unless a program is installed on the
	  specified multiplex number; use INT 2D/AL=00h to check
SeeAlso: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=03h,INT 2D/AL=04h,INT 2D/AL=05h
SeeAlso: INT 2D/AL=06h
Index:	uninstall;Alternate Multiplex Interrupt Specification|uninstall;AMIS

Top
2D--03 - INT 2D - AMIS v3.0+ - REQUEST POP-UP
INT 2D - AMIS v3.0+ - REQUEST POP-UP
	AL = 03h
	AH = multiplex number for program
Return: AL = status
	    00h not implemented or TSR is not a pop-up
	    01h can not pop up at this time, try again later
	    02h can not pop up yet, will do so when able
	    03h already popped up
	    04h unable to pop up, user intervention required
		BX = standard reason code
		    0000h unknown failure
		    0001h interrupt chain passes through memory
			  which must be swapped out to pop up
		    0002h swap-in failed
		CX = application's reason code if nonzero
	    FFh TSR popped up and was exited by user
		BX = return value
		    0000h no return value
		    0001h TSR unloaded
		    0002h-00FFh reserved
		    0100h-FFFFh application-dependent
Note:	this function is not valid unless a program is installed on the
	  specified multiplex number; use INT 2D/AL=00h to check
SeeAlso: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=04h,INT 2D/AL=05h
SeeAlso: INT 2D/AL=06h

Top
2D--04 - INT 2D - AMIS v3.0+ - DETERMINE CHAINED INTERRUPTS
INT 2D - AMIS v3.0+ - DETERMINE CHAINED INTERRUPTS
	AL = 04h
	AH = multiplex number for program
	BL = interrupt number (except 2Dh)
Return: AL = status
	    00h not implemented (makes TSR non-compliant with specification)
	    01h (obsolete) unable to determine
	    02h (obsolete) interrupt hooked
	    03h (obsolete) interrupt hooked, address returned
		DX:BX -> TSR's interrupt BL handler
	    04h list of hooked interrupts returned
		DX:BX -> interrupt hook list (see #02571)
	    FFh interrupt not hooked
Notes:	BL is ignored if the TSR returns AL=04h; in that case, the caller
	  needs to scan the return list rather than making additional calls
	  to this function.  If the return is not 00h or 04h, then the caller
	  must cycle through the remaining interrupt numbers it wishes to
	  check.
	return values 01h through 03h may not be used by AMIS v3.6-compliant
	  programs; they are included here solely for compatibility with
	  version 3.3, though they were probably never used in any
	  implementation
	for return values 01h through 03h, since INT 2D is known to be hooked,
	  the resident code need not test for BL=2Dh (to minimize its size),
	  and the return value is therefore undefined in that case.
	this function is not valid unless a program is installed on the
	  specified multiplex number; use INT 2D/AL=00h to check
SeeAlso: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=05h
SeeAlso: INT 2D/AL=06h

Format of AMIS interrupt hook list [array]:
Offset	Size	Description	(Table 02571)
 00h	BYTE	interrupt number (last entry in array is 2Dh)
 01h	WORD	offset within hook list's segment of the interrupt handler
		this will point at the initial short jump of the interrupt
		  sharing protocol header (see #02568)
SeeAlso: #02572

Top
2D--05 - INT 2D - AMIS v3.5+ - GET HOTKEYS
INT 2D - AMIS v3.5+ - GET HOTKEYS
	AL = 05h
	AH = multiplex number for program
Return: AL = status
	    00h not implemented
	    FFh supported
		DX:BX -> hotkey list (see #02572)
Notes:	this function is not valid unless a program is installed on the
	  specified multiplex number; use INT 2D/AL=00h to check
	programs which provide hotkeys are required to provide this function
	  to be fully compliant with this specification
SeeAlso: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=04h
SeeAlso: INT 2D/AL=06h

Format of AMIS hotkey list:
Offset	Size	Description	(Table 02572)
 00h	BYTE	type of hotkey checking (see #02573)
 01h	BYTE	number of hotkeys (may be zero if TSR can disable hotkeys)
 02h 6N BYTEs	array of hotkey definitions
		(one per hotkey, first should be primary hotkey)
		Offset	Size	Description
		 00h	BYTE	hotkey scan code (00h/80h if shift states only)
				hotkey triggers on release if bit 7 set
		 01h	WORD	required shift states (see #02574)
		 03h	WORD	disallowed shift states (see #02574)
		 05h	BYTE	hotkey flags (see #02575)
Notes:	except for bit 7, the shift states correspond exactly to the return
	  values from INT 16/AH=12h.  A set bit in the required states word
	  indicates that the corresponding shift state must be active when the
	  hotkey's scan code is received for the hotkey to be recognized; a
	  clear bit means that the corresponding state may be ignored.	A set
	  bit in the disallowed shift states word indicates that the
	  corresponding shift state must be inactive.
	for the disallowed-states word, if one of the "either" bits is set,
	  then both the corresponding left bit and right bit must be set
	examples:
		Ctrl-Alt-Del monitoring: 53h 000Ch 0003h 06h
		Alt-key tap (DESQview):	 B8h 0000h 0007h 08h
		Shf-Shf-N (NOTE.COM):	 31h 0003h 000Ch 00h
Index:	hotkeys;AMIS
SeeAlso: #00006

Bitfields for type of AMIS hotkey checking:
Bit(s)	Description	(Table 02573)
 0	checks before chaining INT 09
 1	checks after chaining INT 09
 2	checks before chaining INT 15/AH=4Fh
 3	checks after chaining INT 15/AH=4Fh
 4	checks on INT 16/AH=00h,01h,02h
 5	checks on INT 16/AH=10h,11h,12h
 6	checks on INT 16/AH=20h,21h,22h
 7	reserved (0)
SeeAlso: #02572

Bitfields for AMIS shift states:
Bit(s)	Description	(Table 02574)
 0	right shift pressed
 1	left shift pressed
 2	either control key pressed
 3	either Alt key pressed
 4	ScrollLock active
 5	NumLock active
 6	CapsLock active
 7	either shift key pressed
 8	left control key pressed
 9	left Alt key pressed
 10	right control key pressed
 11	right Alt key pressed
 12	ScrollLock pressed
 13	NumLock pressed
 14	CapsLock pressed
 15	SysReq key pressed
Notes:	if bit 2 is set, either control key may be pressed for the hotkey; if
	  bits 8 and 10 are both set, then both control keys must be pressed.
	  Similarly for bits 3 and 9/11, as well as 7 and 0/1.
	the SysReq key is often labeled SysRq
SeeAlso: #02572,#02575

Bitfields for AMIS hotkey flags:
Bit(s)	Description	(Table 02575)
 0	hotkey chained before processing
 1	hotkey chained after processing
 2	others should pass through this hotkey so that it can be monitored
 3	hotkey will not activate if other keys pressed/released before hotkey
	  press is completed
 4	this key is remapped into some other key
 5	this key is conditionally chained (sometimes passed on, sometimes
	  swallowed)
 6-7	reserved (0)
SeeAlso: #02572,#02574

Top
2D--06 - INT 2D - AMIS v3.6 - GET DEVICE-DRIVER INFORMATION
INT 2D - AMIS v3.6 - GET DEVICE-DRIVER INFORMATION
	AL = 06h
	AH = multiplex number for program
Return: AL = number of device driver headers supplied by prog.
	AH = device-driver flags (see #02576)
	DX:BX -> first device driver header (see #01646)
Program: AMIS is the Alternate Multiplex Interrupt Specification promulgated
	  by Ralf Brown
Notes:	if AL=00h, AH,BX,DX are meaningless and may be destroyed
	this function is not valid unless a program is installed on the
	  specified multiplex number; use INT 2D/AL=00h to check
	programs which provide device drivers are required to support this
	  function to be considered fully compliant with v3.6+ of the
	  specification
SeeAlso: INT 2D/AL=00h,INT 2D/AL=01h,INT 2D/AL=02h,INT 2D/AL=03h,INT 2D/AL=04h
SeeAlso: INT 2D/AL=05h

Bitfields for AMIS device-driver information flags:
Bit(s)	Description	(Table 02576)
 0	program loaded from CONFIG.SYS, and thus can not be removed from memory
	(leave clear if unable to determine)
 1	device driver headers have not been linked into DOS device chain
 2	reentrant device driver(s)

Top
2D--10 - INT 2D - RATSR 2.0+ - GET STATUS
INT 2D - RATSR 2.0+ - GET STATUS
	AL = 10h
	AH = AMIS multiplex number for RATSR
Return: AL = status
	    01h listening (no connection)
	    02h receiving	      \
	    03h sending		       > station being monitored
	    04h initializing receive  /
	AH = keyboard lock status (00h unlocked, 01h locked)
Program: RATSR is a utility by James Berry provided with
	  RemoteAccess/Professional, a commercial bulletin board system, that
	  allows remote control of a station over a network
SeeAlso: INT 2D"AMIS"

Top
2D--10 - INT 2D - dLite 1.0+ - GET PARAMETER BLOCK ADDRESS
INT 2D - dLite 1.0+ - GET PARAMETER BLOCK ADDRESS
	AL = 10h
	AH = AMIS multiplex number for dLite
Return: CF clear if successful
	    ES:BX -> parameter block (see #02577)
	CF set on error
Program: dLite is a shareware TSR by Rainer Schuetze which transparently
	  expands compressed files when they are read
SeeAlso: AL=11h"dLite",AL=12h"dLite",INT 21/AX=FEDCh"PCMANAGE"

Format of dLite parameter block:
Offset	Size	Description	(Table 02577)
 00h	BYTE	TSR flags (see #02578)
 01h	WORD	maximum number of programs needing original filesize
 03h	WORD	current number of programs needing original filesize
 05h	WORD	maximum number of files that can be handled by dLite (should
		  be the same as FILES= in CONFIG.SYS)
 07h	WORD	offset (in the same segment as the parameter block) of the
		  table of programs needing the original filesize (8 bytes
		  each,	without path or extension, uppercase, and zero \
		  terminated if	shorter than 8 bytes)

Bitfields for dLite TSR flags:
Bit(s)	Description	(Table 02578)
 0	deny FCB access
 1	dLite sleeping rather than activated
 2	always indicate original filesize when reading directory entries,
	  rather than only for specified programs
 3-7	reserved
SeeAlso: #02577

Top
2D--10 - INT 2D - Burnout Plus v3.00 - GET STATE/CONTROL INFORMATION
INT 2D - Burnout Plus v3.00 - GET STATE/CONTROL INFORMATION
	AL = 10h
	AH = AMIS multiplex number for Burnout Plus
Return: AL = 01h
	BX = Burnout Plus status (see #02579)
	CX = record of features loaded (see #02580)
	ES:DI -> Burnout Plus control structure (see #02581)
Program: Burnout Plus is a DOS screen saver from Cove Software
SeeAlso: INT 14/AX=AA01h,INT 2D"AMIS"
Index:	screen saver;Burnout Plus

Bitfields for Burnout Plus status:
Bit(s)	Description	(Table 02579)
 0	screen is blanked
 1	MS Windows is active (Burnout Plus deactivated)
 2-15	reserved

Bitfields for Burnout Plus features loaded/features enabled:
Bit(s)	Description	(Table 02580)
 0	mouse activity monitor
 1	passkey support
 2	password support
 3	continuous clear
 4	software blanking
 5	video activity monitor
 6	disk activity monitor
 7	activating keystroke suppression
SeeAlso: #02581

Format of Burnout Plus control structure:
Offset	Size	Description	(Table 02581)
 00h	BYTE	size of structure in bytes
 01h	WORD	Burnout Plus version
 03h	WORD	screen blanking reset count in clock ticks
 05h	WORD	current countdown value in clock ticks
 07h	BYTE	type of timeout specification
 08h	BYTE	instant-blank hotkey
 09h	WORD	extended status information (see #02582)
		the bits for password, passkey, and software blanking are
		  ignored and cannot be enabled or disabled externally
 0Bh	WORD	features enabled (see #02580)
Note:	all fields except the first two may be modified by external programs
	  to affect the operation of Burnout Plus
Index:	hotkeys;Burnout Plus

Bitfields for extended Burnout Plus status information:
Bit(s)	Description	(Table 02582)
 0	Burnout Plus disabled
 1	force screen to blank on next clock tick
 2	restore screen if currently blanked
 3-15	reserved
Note:	1 and 2 are automatically cleared by Burnout Plus after blanking
	  or restoring the screen
SeeAlso: #02581

Top
2D--10 - INT 2D U - Screen Thief v1.00 - FREE HIGH MEMORY BUFFERS
INT 2D U - Screen Thief v1.00 - FREE HIGH MEMORY BUFFERS
	AL = 10h
	AH = AMIS multiplex number for Screen Thief
Return: nothing
Program: Screen Thief is a graphics screen grabber
Note:	releases any code and data stored in EMS, DOS UMBs, or XMS UMBs, but
	  does not release the low-memory stub; this may be used to effect a
	  partial uninstall if INT 2D/AL=02h fails
SeeAlso: INT D8"Screen Thief"

Top
2D--10 - INT 2D U - RAMLIGHT v1.0 - GET MONITORING INFORMATION
INT 2D U - RAMLIGHT v1.0 - GET MONITORING INFORMATION
	AL = 10h
	AH = AMIS multiplex number for RAMLIGHT
Return: ES:BX -> array of fake device driver headers used in monitoring
	CX = number of drives being monitored???

Top
2D--10 - INT 2D - DTown Utilities v1.40+ - EXTENDED API INSTALLATION CHECK
INT 2D - DTown Utilities v1.40+ - EXTENDED API INSTALLATION CHECK
	AL = 10h
Return: AL = FFh
	BL = extended API availability (00h no, 01h API is loaded)
SeeAlso: INT 2D/AL=11h"DTown",INT 2D/AL=20h,INT 2D/AL=50h

Top
2D--10 - INT 2D - CDTSR - GET INTERNAL VARIABLE TABLE
INT 2D - CDTSR - GET INTERNAL VARIABLE TABLE
	AL = 10h
	AH = AMIS multiplex number for CDTSR
Return: CX:DX -> CDTSR internal variable structure (see #02583)
Program: CDTSR is a resident audio CD player by Colin Hill
SeeAlso: INT 2D/AL=11h"CDTSR",INT 2D/AL=12h"CDTSR",INT 2D/AL=13h"CDTSR"

Format of CDTSR internal variable structure:
Offset	Size	Description	(Table 02583)
 00h	BYTE	hotkey scan code (see #00006)
 01h	BYTE	hotkey shift states
 02h	BYTE	flag: repeat
 03h	BYTE	flag: custom repeat
 04h	BYTE	flag: background polling
 05h	DWORD	(read-only) internal timing variable
 09h	DWORD	current track play position, in frames
 0Dh	DWORD	current disk play position, in frames
 11h	BYTE	number of entries in track program
 12h	BYTE	index into track program currently playing (FFh if not playing)
 13h 100 BYTEs	track program (each byte contains one track number)
 77h	BYTE	saved cursor end scan line
 78h	BYTE	saved cursor start scan line
 79h	BYTE	currently playing track
 7Ah	BYTE	CD driver media-change flag
 7Bh	WORD	video base segment during last popup
 7Dh	WORD	video page offset during last popup
 7Fh	BYTE	currently-selected track
 80h	DWORD	begin of custom repeat, in frames
 84h	DWORD	end of custom repeat, in frames
 88h	WORD	track program index of top list item

Top
2D--10 - INT 2D - KEYBIT Lite v5+ - GET POINTER TO STATUS BYTE
INT 2D - KEYBIT Lite v5+ - GET POINTER TO STATUS BYTE
	AL = 10h
	AH = AMIS multiplex number for KEYBIT Lite
Return: DX:BX -> status byte (see #02584)
Program: KEYBIT Lite is an enhanced Italian keyboard driver by Pino Navato.
SeeAlso: INT 2D"AMIS"

Bitfields for KEYBIT Lite status byte:
Bit(s)	Description	(Table 02584)
 7	KEYBIT Lite active
 6	E-mail support active
 5-0	reserved
Notes:	E-mail support is one of the original features of KEYBIT Lite.	It is
	  the automatic conversion of the 8-bits ASCII chars produced by some
	  keys available on Italian keyboards to couples of 7-bits chars.
	Message editors should always enable e-mail support, they should also
	  restore its original status before exiting.
	The user can change both status bits by hotkeys.

Top
2D--10 - INT 2D - ALTMENU - GET POINTER TO KEY CODE
INT 2D - ALTMENU - GET POINTER TO KEY CODE
	AL = 10h
	AH = AMIS multiplex number for signature 'Pino Nav' 'ALTMENU '
Return: DX:BX -> WORD key code to insert in keyboard buffer on Alt-key tap
Program: Pino Navato's freeware ALTMENU permits activating the menu bar of
	  any program by pressing the Alt key alone.
Notes:	The value in the key code word will be returned in AX by a call to
	  INT 16/AH=00h after the Alt key is pressed by itself
	ALTMENU may be disabled by setting the key code equal to 0000h
SeeAlso: INT 16/AH=00h,INT 2D"AMIS"

Top
2D--11 - INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET ORIGINAL SIZE
INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET ORIGINAL SIZE
	AL = 11h
	AH = AMIS multiplex number for dLite
	BX = file handle
Return: CF clear if successful
	    DX:AX = size of uncompressed file
	CF set on error (not dPressed file)
SeeAlso: AL=10h"dLite",AL=12h"dLite"

Top
2D--11 - INT 2D - DTown Utilities v1.40+ - UTILITY INSTALLATION CHECK
INT 2D - DTown Utilities v1.40+ - UTILITY INSTALLATION CHECK
	AL = 11h
	BL = function
	    00h get number of installed utilities
		Return: BL = number of utilities
	    01h get installed utilities
		DX:DI -> buffer containing one byte for each utility
		Return: DX:DI buffer filled with flags (0=no,1=yes) indicating
			  whether the corresponding utility is loaded
Return: AL = FFh if supported
Note:	this function is only available if the extended API has been installed
	  in the resident portion
SeeAlso: INT 2D/AL=10h"DTown",INT 2D/AL=20h

Top
2D--11 - INT 2D - CDTSR - REPROGRAM CDTSR
INT 2D - CDTSR - REPROGRAM CDTSR
	AL = 11h
	AH = AMIS multiplex number for CDTSR
Return: nothing
Program: CDTSR is a resident audio CD player by Colin Hill
Desc:	reprograms CDTSR based on the values in the internal variable
	  structure (see #02583), which may have been changed by an application
SeeAlso: INT 2D/AL=10h"CDTSR",INT 2D/AL=12h"CDTSR",INT 2D/AL=13h"CDTSR"

Top
2D--12 - INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET COMPRESSED SIZE
INT 2D - dLite 1.0+ - CHECK FOR dPressed FILE AND GET COMPRESSED SIZE
	AL = 12h
	AH = AMIS multiplex number for dLite
	BX = file handle
Return: CF clear if successful
	    DX:AX = size of compressed file
	CF set on error (not dPressed file)
SeeAlso: AL=10h"dLite",AL=11h"dLite"

Top
2D--12 - INT 2D - CDTSR - DISABLE POPUP
INT 2D - CDTSR - DISABLE POPUP
	AL = 12h
	AH = AMIS multiplex number for CDTSR
Return: nothing
SeeAlso: INT 2D/AL=10h"CDTSR",INT 2D/AL=11h"CDTSR",INT 2D/AL=13h"CDTSR"

Top
2D--12 - INT 2D - FREEVER - GET ORIGINAL DOS VERSION INFO
INT 2D - FREEVER - GET ORIGINAL DOS VERSION INFO
	AL = 12h
	AH = AMIS multiplex number for FREEVER
Return: AL = FFh if successful
	    BH = major DOS version
	    BL = minor DOS version
	    CH = DOS version flag
	    CL = OEM number
	    DH = major DR DOS version number (FFh if unknown)
	    DL = minor DR DOS version number (FFh if unknown)
Program: FREEVER is an AMIS-conformant freeware DOS version-faking TSR similar
	  to SETVER for any DOS-compatible OS, written by Matthias Paul
SeeAlso: INT 2D/AL=13h"FREEVER",INT 2D/AL=14h"FREEVER",INT 2D/AL=17h"FREEVER"

Top
2D--13 - INT 2D - CDTSR - ENABLE POPUP
INT 2D - CDTSR - ENABLE POPUP
	AL = 13h
	AH = AMIS multiplex number for CDTSR
Return: nothing
Program: CDTSR is a resident audio CD player by Colin Hill
SeeAlso: INT 2D/AL=10h"CDTSR",INT 2D/AL=11h"CDTSR",INT 2D/AL=12h"CDTSR"

Top
2D--13 - INT 2D - FREEVER - SET VERSION NUMBERS
INT 2D - FREEVER - SET VERSION NUMBERS
	AL = 13h
	AH = AMIS multiplex number for FREEVER
	BH = new major DOS version
	BL = new minor DOS version
	CH = new DOS version flag
	CL = new DOS revision number
	DH = new OEM number
SeeAlso: INT 2D/AL=12h"FREEVER",INT 2D/AL=15h"FREEVER",INT 2D/AL=17h"FREEVER"

Top
2D--14 - INT 2D - FREEVER - ENABLE TSR
INT 2D - FREEVER - ENABLE TSR
	AL = 14h
	AH = AMIS multiplex number for FREEVER
Return: AL = FFh if successful
SeeAlso: INT 2D/AL=12h"FREEVER",INT 2D/AL=15h"FREEVER",INT 2D/AL=16h"FREEVER"

Top
2D--15 - INT 2D - FREEVER - DISABLE TSR
INT 2D - FREEVER - DISABLE TSR
	AL = 15h
	AH = AMIS multiplex number for FREEVER
Return: AL = FFh if successful
SeeAlso: INT 2D/AL=12h"FREEVER",INT 2D/AL=14h"FREEVER",INT 2D/AL=16h"FREEVER"

Top
2D--16 - INT 2D - FREEVER - GET TSR STATUS
INT 2D - FREEVER - GET TSR STATUS
	AL = 16h
	AH = AMIS multiplex number for FREEVER
Return: AL = FFh if successful
	    BL = status
		01h resident and active
		02h resident and inactive
SeeAlso: INT 2D/AL=12h"FREEVER",INT 2D/AL=15h"FREEVER",INT 2D/AL=17h"FREEVER"

Top
2D--17 - INT 2D - FREEVER - GET TaskMAX STATUS AT INSTALLATION
INT 2D - FREEVER - GET TaskMAX STATUS AT INSTALLATION
	AL = 17h
	AH = AMIS multiplex number for FREEVER
Return: AL = FFh if successful
	    BL = status
		00h if TaskMAX not loaded before SETDRVER
		FFh if TaskMAX was loaded before SETDRVER
Program: FREEVER is an AMIS-conformant freeware DOS version-faking TSR similar
	  to SETVER for any DOS-compatible OS, written by Matthias Paul
SeeAlso: INT 2D/AL=12h"FREEVER",INT 2D/AL=14h"FREEVER",INT 2D/AL=16h"FREEVER"

Top
2D--20 - INT 2D - DTown Utilities v1.40+ - GET POP-UP HANDLER ADDRESS
INT 2D - DTown Utilities v1.40+ - GET POP-UP HANDLER ADDRESS
	AL = 20h
Return: AL = FFh if available
	    DX:DI -> DTU popup-handler
Program: DTown Utilities is a freeware programmer's utility TSR by Jeroen van
	  Disseldorp
Note:	this function is only available if the extended API has been installed
	  in the resident portion
SeeAlso: INT 2D/AL=10h"DTown",INT 2D/AL=21h,INT 2D/AL=50h,INT 2D/AL=51h
SeeAlso: INT 03"DTown"

Top
2D--21 - INT 2D - DTown Utilities v1.40+ - POP UP
INT 2D - DTown Utilities v1.40+ - POP UP
	AL = 21h
	BL = which utility to bring up
	    00h active utility
	    01h help screen
	    0Ah ASCII table
	    0Bh memory view
	    0Ch CPU status
	    0Dh calculator
	    0Eh miscellaneous
	    0Fh file viewer
	    10h disassembler
Return: AL = status
	    00h already active
	    FFh popped up successfully
	BX = 0000h
Note:	this function is only available if the extended API has been installed
	  in the resident portion
SeeAlso: INT 2D/AL=10h"DTown",INT 2D/AL=20h,INT 2D/AL=50h

Top
2D--50 - INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET ADDRESS
INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET ADDRESS
	AL = 50h
	CX:DX = new address for start of memory view utility's display
Note:	this function is only available if the extended API has been installed
	  in the resident portion
Return: AL = FFh if supported
SeeAlso: INT 2D/AL=10h"DTown",INT 2D/AL=20h,INT 2D/AL=21h,INT 2D/AL=51h

Top
2D--51 - INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET REFERENCE
INT 2D - DTown Utilities v1.40+ - MEMORY VIEW SET REFERENCE
	AL = 51h
	BL = reference ("bookmark") number
	CX:DX = new address for reference
Return: AL = status
	    00h invalid index
	    FFh reference set
Note:	this function is only available if the extended API has been installed
	  in the resident portion
Program: DTown Utilities is a shareware programmer's utility TSR by Jeroen van
	  Disseldorp
SeeAlso: INT 2D/AL=10h"DTown",INT 2D/AL=20h,INT 2D/AL=50h

Top
2D--DC - INT 2D C - DAISY.SYS - BROADCAST: CHAIN RESCANNED
INT 2D C - DAISY.SYS - BROADCAST: CHAIN RESCANNED
	AL = DCh
	AH = AMIS multiplex number for signature 'DAISYCHA' 'INDRIVER'
	DL = LPT Port Rescanned
Program: DAISY.SYS is a daisy chain manager for parallel port peripherals
	  conforming to the IEEE 1284.3 Committee's daisy chain specification.
Desc:	This Broadcast is sent whenever daisy chain IDs are reassigned to
	  warn parallel port device drivers that their daisy chain ID may
	  have been changed.
Note:	This function is a callout from DAISY.SYS, NOT a call into DAISY.SYS
SeeAlso: INT 17/AX=0200h"Enhanced Parallel Port",#00633,#02570

Top
2E - INT 2E U - DOS 2+ - PASS COMMAND TO COMMAND INTERPRETER FOR EXECUTION
INT 2E U - DOS 2+ - PASS COMMAND TO COMMAND INTERPRETER FOR EXECUTION
	DS:SI -> commandline to execute (see #02585)
Return: all registers except CS:IP destroyed
	AX = status (4DOS v4.0)
	   0000h successful
	   FFFFh error before processing command (not enough memory, etc)
	   other error number returned by command
Notes:	this call allows execution of arbitrary commands (including COMMAND.COM
	  internal commands) without loading another copy of COMMAND.COM
	if COMMAND.COM is the user's command interpreter, the primary copy
	  executes the command; this allows the master environment to be
	  modified by issuing a "SET" command, but changes in the master
	  environment will not become effective until all programs descended
	  from the primary COMMAND.COM terminate
	since COMMAND.COM processes the string as if typed from the keyboard,
	  the transient portion needs to be present, and the calling program
	  must ensure that sufficient memory to load the transient portion can
	  be allocated by DOS if necessary
	results are unpredictable if invoked by a program run from a batch file
	  because this call is not reentrant and COMMAND.COM uses the same
	  internal variables when processing a batch file
	hooked but ignored by 4DOS v3.0 COMMAND.COM replacement unless SHELL2E
	  has been loaded
	the MS-DOS 5 Programmer's Reference calls this "Reload Transient"

Format of DOS commandline:
Offset	Size	Description	(Table 02585)
 00h	BYTE	length of command string, not counting trailing CR
 01h	var	command string
  N	BYTE	0Dh (CR)

Top
2E - INT 2E UP - Windows NT - NATIVE API
INT 2E UP - Windows NT - NATIVE API
	EAX = function number (see #02586)
	EDX = address of parameter block
Return: ???

(Table 02586)
Values for Windows NT NTOS function number:
 000h	AcceptConnectPort	(24 bytes of parameters)
 001h	AccessCheck		(32 bytes of parameters)
 002h	AccessCheckAndAuditAlarm	(44 bytes of parameters)
 003h	AddAtom			(8 bytes of parameters)
 004h	AdjustGroupsToken	(24 bytes of parameters)
 005h	AdjustPrivilegesToken	(24 bytes of parameters)
 006h	AlertResumeThread	(8 bytes of parameters)
 007h	AlertThread		(4 bytes of parameters)
 008h	AllocateLocallyUniqueId	(4 bytes of parameters)
 009h	AllocateUuids		(12 bytes of parameters)
 00Ah	AllocateVirtualMemory	(24 bytes of parameters)
 00Bh	CallbackReturn		(12 bytes of parameters)
 00Ch	CancelIoFile		(8 bytes of parameters)
 00Dh	CancelTimer		(8 bytes of parameters)
 00Eh	ClearEvent		(4 bytes of parameters)
 00Fh	Close			(4 bytes of parameters)
 010h	CloseObjectAuditAlarm	(12 bytes of parameters)
 011h	CompleteConnectPort	(4 bytes of parameters)
 012h	ConnectPort		(32 bytes of parameters)
 013h	Continue		(8 bytes of parameters)
 014h	CreateDirectoryObject	(12 bytes of parameters)
 015h	CreateEvent		(20 bytes of parameters)
 016h	CreateEventPair		(12 bytes of parameters)
 017h	CreateFile		(44 bytes of parameters)
 018h	CreateIoCompletion	(16 bytes of parameters)
 019h	CreateKey		(28 bytes of parameters)
 01Ah	CreateMailslotFile	(32 bytes of parameters)
 01Bh	CreateMutant		(16 bytes of parameters)
 01Ch	CreateNamedPipeFile	(56 bytes of parameters)
 01Dh	CreatePagingFile	(16 bytes of parameters)
 01Eh	CreatePort		(20 bytes of parameters)
 01Fh	CreateProcess		(32 bytes of parameters)
 020h	CreateProfile		(36 bytes of parameters)
 021h	CreateSection		(28 bytes of parameters)
 022h	CreateSemaphore		(20 bytes of parameters)
 023h	CreateSymbolicLinkObject	(16 bytes of parameters)
 024h	CreateThread		(32 bytes of parameters)
 025h	CreateTimer		(16 bytes of parameters)
 026h	CreateToken		(52 bytes of parameters)
 027h	DelayExecution		(8 bytes of parameters)
 028h	DeleteAtom		(4 bytes of parameters)
 029h	DeleteFile		(4 bytes of parameters)
 02Ah	DeleteKey		(4 bytes of parameters)
 02Bh	DeleteObjectAuditAlarm	(12 bytes of parameters)
 02Ch	DeleteValueKey		(8 bytes of parameters)
 02Dh	DeviceIoControlFile	(40 bytes of parameters)
 02Eh	DisplayString		(4 bytes of parameters)
 02Fh	DuplicateObject		(28 bytes of parameters)
 030h	DuplicateToken		(24 bytes of parameters)
 031h	EnumerateKey		(24 bytes of parameters)
 032h	EnumerateValueKey	(24 bytes of parameters)
 033h	ExtendSection		(8 bytes of parameters)
 034h	FindAtom		(8 bytes of parameters)
 035h	FlushBuffersFile	(8 bytes of parameters)
 036h	FlushInstructionCache	(12 bytes of parameters)
 037h	FlushKey		(4 bytes of parameters)
 038h	FlushVirtualMemory	(16 bytes of parameters)
 039h	FlushWriteBuffer	(no parameters)
 03Ah	FreeVirtualMemory	(16 bytes of parameters)
 03Bh	FsControlFile		(40 bytes of parameters)
 03Ch	GetContextThread	(8 bytes of parameters)
 03Dh	GetPlugPlayEvent	(16 bytes of parameters)
 03Eh	GetTickCount		(no parameters)
 03Fh	ImpersonateClientOfPort	(8 bytes of parameters)
 040h	ImpersonateThread	(12 bytes of parameters)
 041h	InitializeRegistry	(4 bytes of parameters)
 042h	ListenPort		(8 bytes of parameters)
 043h	LoadDriver		(4 bytes of parameters)
 044h	LoadKey	(8 bytes of parameters)
 045h	LoadKey2		(12 bytes of parameters)
 046h	LockFile		(40 bytes of parameters)
 047h	LockVirtualMemory	(16 bytes of parameters)
 048h	MakeTemporaryObject	(4 bytes of parameters)
 049h	MapViewOfSection	(40 bytes of parameters)
 04Ah	NotifyChangeDirectoryFile	(36 bytes of parameters)
 04Bh	NotifyChangeKey		(40 bytes of parameters)
 04Ch	OpenDirectoryObject	(12 bytes of parameters)
 04Dh	OpenEvent		(12 bytes of parameters)
 04Eh	OpenEventPair		(12 bytes of parameters)
 04Fh	OpenFile		(24 bytes of parameters)
 050h	OpenIoCompletion	(12 bytes of parameters)
 051h	OpenKey			(12 bytes of parameters)
 052h	OpenMutant		(12 bytes of parameters)
 053h	OpenObjectAuditAlarm	(48 bytes of parameters)
 054h	OpenProcess		(16 bytes of parameters)
 055h	OpenProcessToken	(12 bytes of parameters)
 056h	OpenSection		(12 bytes of parameters)
 057h	OpenSemaphore		(12 bytes of parameters)
 058h	OpenSymbolicLinkObject	(12 bytes of parameters)
 059h	OpenThread		(16 bytes of parameters)
 05Ah	OpenThreadToken		(16 bytes of parameters)
 05Bh	OpenTimer		(12 bytes of parameters)
 05Ch	PlugPlayControl		(16 bytes of parameters)
 05Dh	PrivilegeCheck		(12 bytes of parameters)
 05Eh	PrivilegedServiceAuditAlarm	(20 bytes of parameters)
 05Fh	PrivilegeObjectAuditAlarm	(24 bytes of parameters)
 060h	ProtectVirtualMemory	(20 bytes of parameters)
 061h	PulseEvent		(8 bytes of parameters)
 062h	QueryInformationAtom	(20 bytes of parameters)
 063h	QueryAttributesFile	(8 bytes of parameters)
 064h	QueryDefaultLocale	(8 bytes of parameters)
 065h	QueryDirectoryFile	(44 bytes of parameters)
 066h	QueryDirectoryObject	(28 bytes of parameters)
 067h	QueryEaFile		(36 bytes of parameters)
 068h	QueryEvent		(20 bytes of parameters)
 069h	QueryFullAttributesFile	(8 bytes of parameters)
 06Ah	QueryInformationFile	(20 bytes of parameters)
 06Bh	QueryIoCompletion	(20 bytes of parameters)
 06Ch	QueryInformationPort	(20 bytes of parameters)
 06Dh	QueryInformationProcess	(20 bytes of parameters)
 06Eh	QueryInformationThread	(20 bytes of parameters)
 06Fh	QueryInformationToken	(20 bytes of parameters)
 070h	QueryIntervalProfile	(8 bytes of parameters)
 071h	QueryKey		(20 bytes of parameters)
 072h	QueryMultipleValueKey	(24 bytes of parameters)
 073h	QueryMutant		(20 bytes of parameters)
 074h	QueryObject		(20 bytes of parameters)
 075h	QueryOleDirectoryFile	(44 bytes of parameters)
 076h	QueryPerformanceCounter	(8 bytes of parameters)
 077h	QuerySection		(20 bytes of parameters)
 078h	QuerySecurityObject	(20 bytes of parameters)
 079h	QuerySemaphore		(20 bytes of parameters)
 07Ah	QuerySymbolicLinkObject	(12 bytes of parameters)
 07Bh	QuerySystemEnvironmentValue	(16 bytes of parameters)
 07Ch	QuerySystemInformation	(16 bytes of parameters)
 07Dh	QuerySystemTime		(4 bytes of parameters)
 07Eh	QueryTimer		(20 bytes of parameters)
 07Fh	QueryTimerResolution	(12 bytes of parameters)
 080h	QueryValueKey		(24 bytes of parameters)
 081h	QueryVirtualMemory	(24 bytes of parameters)
 082h	QueryVolumeInformationFile	(20 bytes of parameters)
 083h	QueueApcThread		(20 bytes of parameters)
 084h	RaiseException		(12 bytes of parameters)
 085h	RaiseHardError		(24 bytes of parameters)
 086h	ReadFile		(36 bytes of parameters)
 087h	ReadFileScatter		(36 bytes of parameters)
 088h	ReadRequestData		(24 bytes of parameters)
 089h	ReadVirtualMemory	(20 bytes of parameters)
 08Ah	RegisterThreadTerminatePort	(4 bytes of parameters)
 08Bh	ReleaseMutant		(8 bytes of parameters)
 08Ch	ReleaseSemaphore	(12 bytes of parameters)
 08Dh	RemoveIoCompletion	(20 bytes of parameters)
 08Eh	ReplaceKey		(12 bytes of parameters)
 08Fh	ReplyPort		(8 bytes of parameters)
 090h	ReplyWaitReceivePort	(16 bytes of parameters)
 091h	ReplyWaitReplyPort	(8 bytes of parameters)
 092h	RequestPort		(8 bytes of parameters)
 093h	RequestWaitReplyPort	(12 bytes of parameters)
 094h	ResetEvent		(8 bytes of parameters)
 095h	RestoreKey		(12 bytes of parameters)
 096h	ResumeThread		(8 bytes of parameters)
 097h	SaveKey	(8 bytes of parameters)
 098h	SetIoCompletion		(20 bytes of parameters)
 099h	SetContextThread	(8 bytes of parameters)
 09Ah	SetDefaultHardErrorPort	(4 bytes of parameters)
 09Bh	SetDefaultLocale	(8 bytes of parameters)
 09Ch	SetEaFile		(16 bytes of parameters)
 09Dh	SetEvent		(8 bytes of parameters)
 09Eh	SetHighEventPair	(4 bytes of parameters)
 09Fh	SetHighWaitLowEventPair	(4 bytes of parameters)
 0A0h	???			(??? bytes of parameters)
 0A1h	SetInformationFile	(20 bytes of parameters)
 0A2h	SetInformationKey	(16 bytes of parameters)
 0A3h	SetInformationObject	(16 bytes of parameters)
 0A4h	SetInformationProcess	(16 bytes of parameters)
 0A5h	SetInformationThread	(16 bytes of parameters)
 0A6h	SetInformationToken	(16 bytes of parameters)
 0A7h	SetIntervalProfile	(8 bytes of parameters)
 0A8h	SetLdtEntries		(24 bytes of parameters)
 0A9h	SetLowEventPair		(4 bytes of parameters)
 0AAh	SetLowWaitHighEventPair	(4 bytes of parameters)
 0ABh	???			(??? bytes of parameters)
 0ACh	SetSecurityObject	(12 bytes of parameters)
 0ADh	SetSystemEnvironmentValue	(8 bytes of parameters)
 0AEh	SetSystemInformation	(12 bytes of parameters)
 0AFh	SetSystemPowerState	(12 bytes of parameters)
 0B0h	SetSystemTime		(8 bytes of parameters)
 0B1h	SetTimer		(28 bytes of parameters)
 0B2h	SetTimerResolution	(12 bytes of parameters)
 0B3h	SetValueKey		(24 bytes of parameters)
 0B4h	SetVolumeInformationFile	(20 bytes of parameters)
 0B5h	ShutdownSystem		(4 bytes of parameters)
 0B6h	SignalAndWaitForSingleObject	(16 bytes of parameters)
 0B7h	StartProfile		(4 bytes of parameters)
 0B8h	StopProfile		(4 bytes of parameters)
 0B9h	SuspendThread		(8 bytes of parameters)
 0BAh	SystemDebugControl	(24 bytes of parameters)
 0BBh	TerminateProcess	(8 bytes of parameters)
 0BCh	TerminateThread		(8 bytes of parameters)
 0BDh	TestAlert		(no parameters)
 0BEh	UnloadDriver		(4 bytes of parameters)
 0BFh	UnloadKey		(4 bytes of parameters)
 0C0h	UnlockFile		(20 bytes of parameters)
 0C1h	UnlockVirtualMemory	(16 bytes of parameters)
 0C2h	UnmapViewOfSection	(8 bytes of parameters)
 0C3h	VdmControl		(8 bytes of parameters)
 0C4h	WaitForMultipleObjects	(20 bytes of parameters)
 0C5h	WaitForSingleObject	(12 bytes of parameters)
 0C6h	WaitHighEventPair	(4 bytes of parameters)
 0C7h	WaitLowEventPair	(4 bytes of parameters)
 0C8h	WriteFile		(36 bytes of parameters)
 0C9h	WriteFileGather		(36 bytes of parameters)
 0CAh	WriteRequestData	(24 bytes of parameters)
 0CBh	WriteVirtualMemory	(20 bytes of parameters)
 0CCh	W32Call			(20 bytes of parameters)
 0CDh	CreateChannel		(8 bytes of parameters)
 0CEh	ListenChannel		(8 bytes of parameters)
 0CFh	OpenChannel		(8 bytes of parameters)
 0D0h	ReplyWaitSendChannel	(12 bytes of parameters)
 0D1h	SendWaitReplyChannel	(16 bytes of parameters)
 0D2h	SetContextChannel	(4 bytes of parameters)
 0D3h	YieldExecution		(no parameters)

Top
2E----BXE22E - INT 2E - 4DOS v2.x-3.03 SHELL2E.COM - UNINSTALL
INT 2E - 4DOS v2.x-3.03 SHELL2E.COM - UNINSTALL
	BX = E22Eh
	DS:SI -> zero byte
Return: if successful, SHELL2E terminates itself with INT 21/AH=4Ch

Top
2F - INT 2F - Multiplex - NOTES
INT 2F - Multiplex - NOTES
	AH = identifier of program which is to handle the interrupt
	   00h-3Fh reserved for IBM (for DOS)
	   40h-7Fh reserved for Microsoft (for DOS)
	   80h-B7h reserved for IBM
	   B8h-BFh reserved for networks
	   C0h-FFh reserved for applications
	AL is the function code
   This is a general mechanism for verifying the presence of a TSR and
   communicating with it.  When searching for a free identifier code for AH
   using the installation check (AL=00h), the calling program should set
   BX/CX/DX to 0000h and must not depend on any registers other than CS:IP
   and SS:SP to be valid on return, since numerous programs now use additional
   registers on input and/or output for the installation check.
Notes:	Since the multiplex chain is growing so long, and beginning to
	  experience multiplex number collisions, I have proposed an alternate
	  multiplex interrupt on INT 2D.  If you decide to use the alternate
	  multiplex, please let me know.
	DOS and some other programs return values in the flags register, so
	  any TSR which chains by calling the previous handler rather than
	  jumping to it should ensure that the returned flags are preserved
	  and passed back to the original caller
SeeAlso: INT 2D"ALTERNATE MULTIPLEX"

Top
2F - INT 2F - BMB Compuscience Canada Utilities Interface - INSTALLATION CHECK
INT 2F - BMB Compuscience Canada Utilities Interface - INSTALLATION CHECK
	AH = xx (dynamically assigned based upon a search for a multiplex
		 number which doesn't answer installed)
	AL = 00h installation check
	ES:DI = EBEBh:BEBEh
Return: AL = 00h not installed
	     01h not installed, not OK to install
	     FFh installed; if ES:DI was EBEBh:BEBEh on entry, ES:DI will point
		 to a string of the form 'MMMMPPPPPPPPvNNNN' where MMMM is a
		 short form of the manufacturer's name, PPPPPPPP is a product
		 name and NNNN is the product's version number

Top
2F - INT 2F - Ross Wentworth's Turbo Pascal POPUP LIBRARY
INT 2F - Ross Wentworth's Turbo Pascal POPUP LIBRARY
	AH = programmer-selected multiplex number
	AL = function
	    00h installation check
		Return: AL = FFh if installed
	    01h get TSR interrupt vectors
		Return: DX:AX -> vector table (see #02587)
	    02h get TSR code segment
		Return: AX = code segment for all interrupt handlers
	    03h call user exit routine and release TSR's memory
	    04h get signature string
		Return: DX:AX -> counted string containing signature
	    05h get TSR's INT 2F handler
		Return: DX:AX -> INT 2F handler
	    06h enable/disable TSR
		BL = new state (00h disabled, 01h enabled)
	    07h activate TSR (popup if not disabled)
	    08h get hotkeys
		BL = which hotkey (00h = hotkey 1, 01h = hotkey 2)
		Return: AX = hotkey (AH = keyflags, AL = scancode)
	    09h set hotkey
		BL = which hotkey (00h = hotkey 1, 01h = hotkey 2)
		CX = new hotkey (CH = keyflags, CL = scancode)
	    0Ah-1Fh reserved
Index:	installation check;Ross Wentworth POPUP library
Index:	hotkeys;Ross Wentworth POPUP library

Format of POPUP vector table entry:
Offset	Size	Description	(Table 02587)
 00h	BYTE	vector number (00h = end of table)
 01h	DWORD	original vector
 05h	WORD	offset of interrupt handler in TSR's code segment

Top
2F - INT 2F - CiriSOFT Spanish University of Valladolid TSR's Interface
INT 2F - CiriSOFT Spanish University of Valladolid TSR's Interface
	AH = xx (dynamically assigned based upon a search for a multiplex
		 number from C0h to FFh which doesn't answer installed)
	AL = 00h installation check
	ES:DI = 1492h:1992h
Return: AL = 00h not installed
	     01h not installed, not OK to install
	     FFh installed; and if ES:DI was 1492h:1992h on entry, ES:DI will
		   point to author_name_ver table (see #02588)
	AH = FFh
Note:	this interface permits advanced communication with TSRs: it is possible
	  to make a generic uninstall utility, advanced TSR relocator programs
	  in order to fit fragmented memory areas, etc.
See also: INT 2D"AMIS",INT 2F"Compuscience"
Index:	installation check;CiriSOFT TSR interface
Index:	uninstall;CiriSOFT TSR interface

Format of CiriSOFT author_name_ver table:
Offset	Size	Description	(Table 02588)
 -16	WORD	segment of the start of the resident TSR code (CS in programs
		  with PSP, XMS upper memory segment if installed as UMB...)
 -14	WORD	offset of the start of the resident TSR code (frequently 100h
		  in *.COM programs and 0 in upper memory TSR's).
 -12	WORD	memory used by TSR (in paragraphs). Knowing the memory area
		  used by TSR is possible to determine if hooked vectors are
		  still pointing it (and if it is safe to uninstall).
 -10	BYTE	characteristics byte (see #02589)
 -9	BYTE	number of multiplex entry used (redefinition available). Note
		  that the TSR must use THIS variable in it's INT 2Fh handler.
 -8	WORD	offset to vector_area table (see #02590)
 -6	WORD	offset to extra_area table (see #02591,#02589 [bit 7])
 -4   4 BYTEs	signature string "*##*"
 00h	var	"AUTHOR:PROGRAM_NAME:VERSION",0	 (variable length, this area
		  is used in order to determine if the TSR is already resident
		  and it's version code; the ':' char is used as delimiter)

Bitfields for CiriSOFT characteristics byte:
Bit(s)	Description	(Table 02589)
 0-2	type
	000 normal program (with PSP)
	001 upper XMS memory block (needed HIMEM.SYS function to free memory
	      when uninstalling)
	010 device driver (*.SYS)
	011 device driver in EXE format
	1xx others (reserved)
 3-6	reserved
 7	set if extra_table defined and supported (see #02591)
SeeAlso: #02588

Format of CiriSOFT vector_area table:
Offset	Size	Description	(Table 02590)
 -1	BYTE	number of vectors intercepted by TSR
 00h	BYTE	first vector number
 01h	DWORD	first vector pointer before installing the TSR
 05h	BYTE	second vector number
 06h	DWORD	second vector pointer before installing the TSR
 0Ah	...	(and so on)
Note:	the TSR must use these variables to invoke the previous interrupt
	  handler routines
SeeAlso: #02588

Format of extra_area table (needed only to improve relocation feature):
Offset	Size	Description	(Table 02591)
 00h	WORD	offset to external_ctrl table (see #02592)
		0000h if not supported
 02h	WORD	reserved for future use (0)
SeeAlso: #02588

Format of CiriSOFT external_ctrl table:
Offset	Size	Description	(Table 02592)
 00h	BYTE	bit 0: TSR is relocatable (no absolute segment references)
 01h	WORD	offset to a variable which can activate/inhibit the TSR
 ---And if bit 0 in offset 00h is off:
 03h	DWORD	pointer to ASCIZ pathname for executable file which supports
		  /SR parameter (silent installation & inhibit)
 07h	DWORD	pointer to first variable to initialize on the copy reloaded
		  from the previous TSR still resident
 0Bh	DWORD	pointer to last variable (all variables packed in one block)

Top
2F00 - INT 2F U - DOS 2.x only PRINT.COM - SUBMIT FILE FOR PRINTING
INT 2F U - DOS 2.x only PRINT.COM - SUBMIT FILE FOR PRINTING
	AH = 00h
	DS:DX -> opened FCB (see #01345 at INT 21/AX=0Fh)
Return: AH = number of files currently in print queue
	AL = status
	    00h file successfully added
	    01h queue is full
	ES:BX -> print queue (10 FCBs; first byte of FFh indicates unused)
	ES:DX -> currently-printing FCB (if DX=FFFFh, none printing)
Notes:	DOS 2.x PRINT.COM does not chain to previous INT 2F handler
	values in AH other than 00h or 01h cause PRINT to return the number of
	  files in the queue in AH
SeeAlso: AH=01h"PRINT",AX=0102h

Top
2F00 - INT 2F U - PSPRINT - PRINT JOB CONTROL
INT 2F U - PSPRINT - PRINT JOB CONTROL
	AH = 00h
	???
Return: ???

Top
2F0080 - INT 2F - DOS 3.1+ PRINT - GIVE PRINT A TIME SLICE
INT 2F - DOS 3.1+ PRINT - GIVE PRINT A TIME SLICE
	AX = 0080h
Return: after PRINT executes
Notes:	PRINT returns AL=01h if AH=00h but AL is not 80h on entry
	this function is not supported by the Novell DOS 7 PRINT.COM

Top
2F00D8 - INT 2F - Personal NetWare - VLM - ???
INT 2F - Personal NetWare - VLM - ???
	AX = 00D8h
	???
Return: ???
Note:	hooked by one of the .VLMs loaded by VLM.EXE v1.10, but apparently a
	  NOP

Top
2F01 - INT 2F U - DOS 2.x only PRINT.COM - REMOVE FILE FROM PRINT QUEUE
INT 2F U - DOS 2.x only PRINT.COM - REMOVE FILE FROM PRINT QUEUE
	AH = 01h
	DS:DX -> FCB (see #01345 at INT 21/AH=0Fh) for file to be canceled
Return: AH = number of files currently in print queue
	AL = 00h (successful)
	ES:BX -> print queue (10 FCBs; first byte of FFh indicates unused)
	ES:DX -> currently-printing FCB (if DX=FFFFh, none printing)
Notes:	DOS 2.x PRINT.COM does not chain to previous INT 2F handler
	values in AH other than 00h or 01h cause PRINT to return the number of
	  files in the queue in AH
SeeAlso: AH=00h"PRINT.COM",AX=0103h

Top
2F0100 - INT 2F - DOS 3.0+ PRINT - INSTALLATION CHECK
INT 2F - DOS 3.0+ PRINT - INSTALLATION CHECK
	AX = 0100h
Return: AL = status
	    00h not installed
	    01h not installed, but not OK to install
	    FFh installed
		AH = 00h (Novell DOS 7)
SeeAlso: AX=0101h

Top
2F0100SI20D6 - INT 2F U - PrintCache 3.1 PRINT.COM - INSTALLATION CHECK
INT 2F U - PrintCache 3.1 PRINT.COM - INSTALLATION CHECK
	AX = 0100h
	SI = 20D6h
	DI = 8761h
Return: AX = 00FFh if installed
	DI = 0001h if PrintCache's PRINT.COM installed and magic values match
	    SI = resident code segment
Program: PrintCache PRINT.COM is a DOS PRINT replacement included in
	  LaserTools' PrintCache memory/disk-based print spooler package
Note:	if either of SI or DI differ from the indicated magic values, only AX
	  will be modified on return, for compatibility with DOS PRINT
SeeAlso: AX=0101h/SI=20D6h,AX=C000h"PCACHE"

Top
2F0101 - INT 2F - DOS 3.0+ PRINT - SUBMIT FILE FOR PRINTING
INT 2F - DOS 3.0+ PRINT - SUBMIT FILE FOR PRINTING
	AX = 0101h
	DS:DX -> submit packet (see #02593)
Return: CF clear if successful
	    AL = status
		01h added to queue
		9Eh now printing
	CF set on error
	    AX = error code (see #02594,#01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AX=0102h

Format of PRINT submit packet:
Offset	Size	Description	(Table 02593)
 00h	BYTE	level (must be 00h)
 01h	DWORD	pointer to ASCIZ filename (no wildcards)

(Table 02594)
Values for PRINT error code:
 0001h	invalid function
 0002h	file not found
 0003h	path not found
 0004h	out of file handles
 0005h	access denied
 0008h	print queue full
 0009h	spooler busy
 000Ch	name too long
 000Fh	invalid drive

Top
2F0101SI20D6 - INT 2F U - PrintCache v3.1 PRINT.COM - SUBMIT FILE FOR PRINTING
INT 2F U - PrintCache v3.1 PRINT.COM - SUBMIT FILE FOR PRINTING
	AX = 0101h
	SI = 20D6h
	DI = 8761h
	DS:DX -> submit packet (see #02593)
	CL = print options
	    bit 4: use default options
Return: CF clear if successful
	    AL = status
		01h added to queue
		9Eh now printing
	CF set on error
	    AX = error code (see #02594)
Program: PrintCache PRINT.COM is a DOS PRINT replacement included in
	  LaserTools' PrintCache memory/disk-based print spooler package
Note:	if either SI or DI differs from the indicated magic values on entry,
	  PrintCache will use the default print options for the file for
	  compatibility with DOS PRINT
SeeAlso: AX=0100h/SI=20D6h,AX=0101h,AH=00h"PRINT",AX=0107h"PrintCache"

Top
2F0102 - INT 2F - DOS 3.0+ PRINT - REMOVE FILE FROM PRINT QUEUE
INT 2F - DOS 3.0+ PRINT - REMOVE FILE FROM PRINT QUEUE
	AX = 0102h
	DS:DX -> ASCIZ filename (wildcards allowed)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02594)
SeeAlso: AX=0101h,AX=0103h,AH=01h"PRINT"

Top
2F0103 - INT 2F - DOS 3.0+ PRINT - CANCEL ALL FILES IN PRINT QUEUE
INT 2F - DOS 3.0+ PRINT - CANCEL ALL FILES IN PRINT QUEUE
	AX = 0103h
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02594)
SeeAlso: AX=0102h

Top
2F0104 - INT 2F - DOS 3.0+ PRINT - FREEZE PRINT QUEUE TO READ JOB STATUS
INT 2F - DOS 3.0+ PRINT - FREEZE PRINT QUEUE TO READ JOB STATUS
	AX = 0104h
Return: CF clear if successful
	    DX = error count since status last read
	    DS:SI -> print queue
	CF set on error
	    AX = error code (see #02594)
Desc:	get the list of print jobs, temporarily suspending PRINT's activities
	  to avoid changing the list while it is being examined
Notes:	the print queue is an array of 64-byte ASCIZ filenames terminated by
	  an empty filename; the first name is the file currently being printed
	printing is stopped until AX=0105h is called to prevent the queue
	  from changing while the filenames are being read
SeeAlso: AX=0101h,AX=0105h

Top
2F0105 - INT 2F - DOS 3.0+ PRINT - RESTART PRINT QUEUE AFTER STATUS READ
INT 2F - DOS 3.0+ PRINT - RESTART PRINT QUEUE AFTER STATUS READ
	AX = 0105h
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02594)
Desc:	restart PRINT's activities once an application finishes examining the
	  print queue
SeeAlso: AX=0104h

Top
2F0106 - INT 2F - DOS 3.3+ PRINT - GET PRINTER DEVICE
INT 2F - DOS 3.3+ PRINT - GET PRINTER DEVICE
	AX = 0106h
Return: CF set if files in print queue
	    AX = error code 0008h (queue full)
	    DS:SI -> device driver header (see #01646)
	CF clear if print queue empty
	    AX = 0000h
Desc:	determine which device, if any, PRINT is currently using for output
Notes:	undocumented prior to the release of MS-DOS 5.0
	this function can be used to allow a program to avoid printing to the
	  printer on which PRINT is currently performing output
SeeAlso: AX=0104h

Top
2F0107 - INT 2F U - PrintCache v3.1 PRINT.COM - SET TRAILING FORM FEEDS
INT 2F U - PrintCache v3.1 PRINT.COM - SET TRAILING FORM FEEDS
	AX = 0107h
	CL bit 0: output form feed between print jobs
Return: AL destroyed
SeeAlso: AX=0100h/SI=20D6h,AX=0101h/SI=20D6h

Top
2F0200 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - INSTALLATION CHECK
INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - INSTALLATION CHECK
	AX = 0200h
Return: AL = FFh if installed
Desc:	determine whether the PC LAN Program redirector is installed
SeeAlso: AX=0201h,AX=0203h

Top
2F0201 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
	AX = 0201h
Return: nothing???
Notes:	this function is called by the DOS 3.3+ PRINT.COM
	AX=0202h appears to be the opposite function
	these functions are supposedly used to signal opening and closing of
	  printers
SeeAlso: AX=0202h

Top
2F0202 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
	AX = 0202h
	???
Return: nothing???
Notes:	this function is called by the DOS 3.3+ PRINT.COM
	these functions are supposedly used to signal opening and closing of
	  printers
SeeAlso: AX=0201h

Top
2F0203 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
	AX = 0203h
Return: nothing???
Notes:	this function is called by the DOS 3.3+ PRINT.COM
	AX=0204h appears to be the opposite function
	these functions are supposedly used to signal opening and closing of
	  printers
SeeAlso: AX=0200h,AX=0204h

Top
2F0204 - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
	AX = 0204h
	???
Return: nothing???
Notes:	this function is called by the DOS 3.3+ PRINT.COM
	AX=0203h appears to be the opposite function
	these functions are supposedly used to signal opening and closing of
	  printers
SeeAlso: AX=0200h,AX=0203h

Top
2F - INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
INT 2F U - PC LAN PROGRAM REDIR/REDIRIFS internal - ???
	AX = 02xxh
	???
Return: ???

Top
2F0500 - INT 2F U - DOS 3.0+ CRITICAL ERROR HANDLER - INSTALLATION CHECK
INT 2F U - DOS 3.0+ CRITICAL ERROR HANDLER - INSTALLATION CHECK
	AX = 0500h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, can't install
	    FFh installed
	BX destroyed (MSCDEX v2.21-2.25)
	CF clear (MSCDEX v2.21-2.25)
Desc:	determine whether a critical error message override is installed
Note:	this set of functions allows a user program to partially or completely
	  override the default critical error handler's message in COMMAND.COM
SeeAlso: AH=05h,INT 24

Top
2F05 - INT 2F CU - DOS 3.0+ CRITICAL ERROR HANDLER - EXPAND ERROR INTO STRING
INT 2F CU - DOS 3.0+ CRITICAL ERROR HANDLER - EXPAND ERROR INTO STRING
	AH = 05h
---DOS 3.x---
	AL = extended error code (not zero)
---DOS 4.0+ ---
	AL = error type
	    01h DOS extended error code
	    02h parameter error
	BX = error code
Return: CF clear if successful
	    ES:DI -> ASCIZ error message (read-only)
	    AL = completion state
		00h message requires completion with device name, drive, etc.
		01h message is complete as returned
	CF set if error code can't be converted to string
	    AX,DI,ES destroyed
	other flags corrupted
Notes:	called at start of COMMAND.COM's default critical error handler if
	  installed by a user program, allowing partial or complete overriding
	  of the default error messages
	subfunction 02h is called by many DOS 4 external programs
	DR DOS's COMMAND.COM appends additional info ("0 files copied") to the
	  returned string
SeeAlso: AX=0500h,AX=122Eh,INT 24

Top
2F0600 - INT 2F - DOS 3.0+ ASSIGN - INSTALLATION CHECK
INT 2F - DOS 3.0+ ASSIGN - INSTALLATION CHECK
	AX = 0600h
Return: AL = status
	    00h not installed
	    01h not installed, but not OK to install
	    FFh installed
Notes:	ASSIGN is not a TSR in DR DOS 5.0; it is internally replaced by SUBST
	  (see INT 21/AH=52h)
	undocumented prior to the release of DOS 5.0
SeeAlso: AX=0601h,INT 21/AH=52h

Top
2F0601 - INT 2F U - DOS 3.0+ ASSIGN - GET DRIVE ASSIGNMENT TABLE
INT 2F U - DOS 3.0+ ASSIGN - GET DRIVE ASSIGNMENT TABLE
	AX = 0601h
Return: ES = segment of ASSIGN work area and assignment table
Note:	the 26 bytes starting at ES:0103h specify which drive each of A: to Z:
	  is mapped to.	 Initially set to 01h 02h 03h....
SeeAlso: AX=0600h,AX=AF14h"WinDOS"

Top
2F0800 - INT 2F U - DRIVER.SYS support - INSTALLATION CHECK
INT 2F U - DRIVER.SYS support - INSTALLATION CHECK
	AX = 0800h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
Desc:	determine whether the internal support code used by DRIVER.SYS is
	  present; it is always present in DOS 3.2+
Note:	supported by DR DOS 5.0 and Novell DOS 7

Top
2F0801 - INT 2F U - DRIVER.SYS support - ADD NEW BLOCK DEVICE
INT 2F U - DRIVER.SYS support - ADD NEW BLOCK DEVICE
	AX = 0801h
	DS:DI -> drive data table (see #02601,#02602,#02603)
Return: AX,BX,SI,ES destroyed
Notes:	moves down internal list of drive data tables, copying and modifying
	  the drive description flags word for tables referencing same physical
	  drive
	the data table is appended to the chain of tables
	supported by DR DOS 5.0 and Novell DOS 7
SeeAlso: AX=0803h

Top
2F0802 - INT 2F U - DRIVER.SYS support - EXECUTE DEVICE DRIVER REQUEST
INT 2F U - DRIVER.SYS support - EXECUTE DEVICE DRIVER REQUEST
	AX = 0802h
	ES:BX -> device driver request header (see #02597)
Return: request header updated as per requested operation
	STACK:	WORD	original flags from INT call (left by RETF in device
			  driver, at least in DOS 5.0-6.22)
Notes:	supported by DR DOS 5.0
	DOS 3.2 executes this function on any AL value from 02h through F7h;
	  DOS 4.0+ executes this function on AL=02h and AL=04h-F7h
	the command codes (see #02595) and structures described below apply
	  to all drivers which support the appropriate commands; this call is
	  just one of a number of ways in which a device driver request may
	  be invoked
	supported by Novell DOS 7
SeeAlso: AX=0800h,AX=0801h,AX=0803h,AX=1510h,INT 21/AH=52h,INT 21/AH=99h
SeeAlso: INT 21/AH=9Ah

(Table 02595)
Values for device driver command code:
 00h (0)  INIT
 01h (1)  MEDIA CHECK (block devices)
 02h (2)  BUILD BPB (block devices)
 03h (3)  IOCTL INPUT
 04h (4)  INPUT
 05h (5)  NONDESTRUCTIVE INPUT, NO WAIT (character devices)
 06h (6)  INPUT STATUS (character devices)
 07h (7)  INPUT FLUSH (character devices)
 08h (8)  OUTPUT
 09h (9)  OUTPUT WITH VERIFY
 0Ah (10) OUTPUT STATUS (character devices)
 0Bh (11) OUTPUT FLUSH (character devices)
 0Ch (12) IOCTL OUTPUT
 0Dh (13) (DOS 3.0+) DEVICE OPEN
 0Eh (14) (DOS 3.0+) DEVICE CLOSE
 0Fh (15) (DOS 3.0+) REMOVABLE MEDIA (block devices)
 10h (16) (DOS 3.0+) OUTPUT UNTIL BUSY (character devices)
 11h (17) (European MS-DOS 4.0) STOP OUTPUT (console screen drivers only)
 12h (18) (European MS-DOS 4.0) RESTART OUTPUT (console screen drivers only)
 13h (19) (DOS 3.2+) GENERIC IOCTL
 14h (20) (DOS 4.0, KKCFUNC) DEVICE RESTORE (character device)
 15h (21) (European MS-DOS 4.0) RESET UNCERTAIN MEDIA FLAG
 16h (22) (DOS 4.0) unknown???
 17h (23) (DOS 3.2+) GET LOGICAL DEVICE
 18h (24) (DOS 3.2+) SET LOGICAL DEVICE
 19h (25) (DOS 5.0+) CHECK GENERIC IOCTL SUPPORT
 80h (128)(CD-ROM,DRFAT32) READ LONG
 81h (129)(CD-ROM) reserved
 82h (130)(CD-ROM,DRFAT32) READ LONG PREFETCH
 83h (131)(CD-ROM,DRFAT32) SEEK
 84h (132)(CD-ROM) PLAY AUDIO
 85h (133)(CD-ROM) STOP AUDIO
 86h (134)(CD-ROM,DRFAT32) WRITE LONG
 87h (135)(CD-ROM,DRFAT32) WRITE LONG VERIFY
 88h (136)(CD-ROM) RESUME AUDIO

Bitfields for device request status:
Bit(s)	Description	(Table 02596)
 15	error
 14-11	reserved
 10	??? set by DOS kernel on entry to some driver calls
 9	busy
 8	done (may be clear on return under European MS-DOS 4.0)
 7-0	error code if bit 15 set (see #02598)

Format of device driver request header:
Offset	Size	Description	(Table 02597)
 00h	BYTE	length of request header
 01h	BYTE	subunit within device driver
 02h	BYTE	command code (see #02595)
 03h	WORD	status (filled in by device driver) (see #02596)
---DOS---
 05h  4 BYTEs	reserved (unused in DOS 2.x and 3.x)
 09h	DWORD	(European MS-DOS 4.0 only) pointer to next request header in
			  device's request queue
		(other versions) reserved (unused in DOS 2.x and 3.x)
---STARLITE architecture---
 05h	DWORD	pointer to next request header
 09h  4 BYTEs	reserved
---command code 00h---
 0Dh	BYTE	(ret) number of units
 0Eh	DWORD	(call) pointer to DOS device helper function (see #02599)
			  (European MS-DOS 4.0 only)
		(call) pointer past end of memory available to driver (DOS 5+)
		(ret) address of first free byte following driver
 12h	DWORD	(call) pointer to commandline arguments
		(ret) pointer to BPB array (block drivers) or
			  0000h:0000h (character drivers)
 16h	BYTE	(DOS 3.0+) drive number for first unit of block driver (0=A)
   ---European MS-DOS 4.0---
 17h	DWORD	pointer to function to save registers on stack
   ---DOS 5+ ---
 17h	WORD	(ret) error-message flag
		0001h MS-DOS should display error msg on init failure
---command code 01h---
 0Dh	BYTE	media descriptor
 0Eh	BYTE	(ret) media status
		00h don't know
		01h media has not changed
		FFh media has been changed
 0Fh	DWORD	(ret, DOS 3.0+) pointer to previous volume ID if the
		  OPEN/CLOSE/RM bit in device header is set and disk changed
		Note:	some drives (or controllers???) forget the change line
			  status if another drive is accessed afterwards. The
			  DOS IO.SYS layer takes care of this by not relying
			  on the reported change line status when the change 
			  line is not active and a different drive is accessed,
			  instead it reports "don't know" to the DOS kernel.
---command code 02h---
 0Dh	BYTE	media descriptor
 0Eh	DWORD	transfer address
		-> scratch sector if NON-IBM FORMAT bit in device header set
		-> first FAT sector otherwise
 12h	DWORD	pointer to BPB (set by driver) (see #01663 at INT 21/AH=53h)
---command codes 03h,0Ch---
		  (see also INT 21/AX=4402h"DOS 2+",INT 21/AX=4403h"DOS")
 0Dh	BYTE	media descriptor (block devices only)
 0Eh	DWORD	transfer address
 12h	WORD	(call) number of bytes to read/write
		(ret) actual number of bytes read or written
---command codes 04h,08h,09h (except Compaq DOS 3.31, DR DOS 6)---
 0Dh	BYTE	media descriptor (block devices only)
 0Eh	DWORD	transfer address
 12h	WORD	byte count (character devices) or sector count (block devices)
 14h	WORD	starting sector number (block devices only)
 16h	DWORD	(DOS 3.0+) pointer to volume ID if error 0Fh returned
 1Ah	DWORD	(DOS 4.0+) 32-bit starting sector number (block devices with
		  device attribute word bit 1 set only) if starting sector
		  number above is FFFFh (see INT 21/AH=52h)
---command codes 04h,08h,09h (Compaq DOS 3.31, DR DOS 6)---
 0Dh	BYTE	media descriptor (block devices only)
 0Eh	DWORD	transfer address
 12h	WORD	byte count (character devices) or sector count (block devices)
 14h	DWORD	32-bit starting sector number (block devices only)
	Note:	to reliably determine which variant of the request block for
		  functions 04h,08h,09h has been passed to the driver, check
		  the length field as well as the word at offset 14h.  If the
		  length is 1Eh and 14h=FFFFh, use the DWORD at 1Ah as the
		  starting sector number; if the length is 18h, use the DWORD
		  at 14h; otherwise, use the WORD at 14h.
---command code 05h---
 0Dh	BYTE	byte read from device if BUSY bit clear on return
---command codes 06h,07h,0Ah,0Bh,0Dh,0Eh,0Fh---
 no further fields
---command code 10h---
 0Dh	BYTE	unused
 0Eh	DWORD	transfer address
 12h	WORD	(call) number of bytes to write
		(ret) actual number of bytes written
---command codes 11h,12h---
 0Dh	BYTE	reserved
---command code 14h---
 no further fields
	Note:	This is at least true for KKCFUNC.SYS' "device restore".
		  KKCFUNC.SYS checks that INT 2Fh in the IVT still points
		  to KKCFUNC's own INT 2Fh entry point.	 In this case it
		  restores the original INT 2Fh vector, as recorded at device
		  init, into the IVT.
	SeeAlso: INT 2F/AH=4Dh
---command code 15h---
 no further fields
---command codes 13h,19h---
 0Dh	BYTE	category code
		00h-7Fh reserved for Microsoft
		00h unknown
		01h COMn: (serial) (DOS 3.3+)
		02h reserved for terminal control
		03h CON (DOS 3.3+)
		04h reserved for keyboard control
		05h LPTn:
		07h mouse (European MS-DOS 4.0)
		08h disk
		48h FAT32 disk control (MS-DOS 7.10+)
		80h-FFh reserved for OEM/user-defined
		9Eh (STARLITE) Media Access Control driver
		EDh (DR PalmDOS) login security
		SeeAlso: #01558
 0Eh	BYTE	function code
		00h (STARLITE) MAC Bind request
 0Fh	WORD	copy of DS at time of IOCTL call (apparently unused in DOS 3.3)
		SI contents (European MS-DOS 4.0)
 11h	WORD	offset of device driver header (see #01646)
		DI contents (European MS-DOS 4.0)
 13h	DWORD	pointer to parameter block from INT 21/AX=440Ch or AX=440Dh
---command codes 80h,82h---
 0Dh	BYTE	addressing mode
		00h HSG (default)
		01h Phillips/Sony Red Book
 0Eh	DWORD	transfer address (ignored for command 82h)
 12h	WORD	number of sectors to read
		(if 0 for command 82h, request is an advisory seek)
 14h	DWORD	starting sector number
		logical sector number in HSG mode
		frame/second/minute/unused in Red Book mode
		(HSG sector = minute * 4500 + second * 75 + frame - 150)
 18h	BYTE	data read mode
		00h cooked (2048 bytes per frame)
		01h raw (2352 bytes per frame, including EDC/ECC)
 19h	BYTE	interleave size (number of sectors stored consecutively)
 1Ah	BYTE	interleave skip factor
		(number of sectors between consecutive portions)
---command code 83h---
 0Dh	BYTE	addressing mode
		00h HSG (default)
		01h Phillips/Sony Red Book
 0Eh	DWORD	transfer address (ignored)
 12h	WORD	number of sectors to read (ignored)
 14h	DWORD	starting sector number (see also above)
---command code 84h---
 0Dh	BYTE	addressing mode
		00h HSG (default)
		01h Phillips/Sony Red Book
 0Eh	DWORD	starting sector number (see also above)
 12h	DWORD	number of sectors to play
---command codes 85h,88h---
 no further fields
---command codes 86h,87h---
 0Dh	BYTE	addressing mode
		00h HSG (default)
		01h Phillips/Sony Red Book
 0Eh	DWORD	transfer address (ignored in write mode 0)
 12h	WORD	number of sectors to write
 14h	DWORD	starting sector number (also see above)
 18h	BYTE	write mode
		00h mode 0 (write all zeros)
		01h mode 1 (default) (2048 bytes per sector)
		02h mode 2 form 1 (2048 bytes per sector)
		03h mode 2 form 2 (2336 bytes per sector)
 19h	BYTE	interleave size (number of sectors stored consecutively)
 1Ah	BYTE	interleave skip factor
		(number of sectors between consecutive portions)

(Table 02598)
Values for device driver error code:
 00h	write-protect violation
 01h	unknown unit
 02h	drive not ready
 03h	unknown command
 04h	CRC error
 05h	bad drive request structure length
 06h	seek error
 07h	unknown media
 08h	sector not found
 09h	printer out of paper
 0Ah	write fault
 0Bh	read fault
 0Ch	general failure
 0Dh	reserved
 0Eh	(CD-ROM) media unavailable
 0Fh	invalid disk change

(Table 02599)
Call European MS-DOS 4.0 device helper function with:
	DL = function
	    00h "SchedClock" called on each timer tick
		AL = tick interval in milliseconds
	    01h "DevDone" device I/O complete
		ES:BX -> request header
		Note:	must update status word first; may be called from
			  an interrupt handler
	    02h "PullRequest" pull next request from queue
		DS:SI -> DWORD pointer to start of device's request queue
		Return: ZF clear if pending request
			    ES:BX -> request header
			ZF set if no more requests
	    03h "PullParticular" remove specific request from queue
		DS:SI -> DWORD pointer to start of device's request queue
		ES:BX -> request header
		Return: ZF set if request header not found
	    04h "PushRequest" push the request onto the queue
		DS:SI -> DWORD pointer to start of device's request queue
		ES:BX -> request header
		interrupts disabled
	    05h "ConsInputFilter" keyboard input check
		AX = character (high byte 00h if PC ASCII character)
		Return: ZF set if character should be discarded
			ZF clear if character should be handled normally
		Note:	called by keyboard interrupt handler so DOS can scan
			  for special input characters
	    06h "SortRequest" push request in sorted order by starting sector
		DS:SI -> DWORD pointer to start of device's request queue
		ES:BX -> request header
		interrupts disabled
	    07h "SigEvent" send signal on keyboard event
		AH = event identifier
		Return: AL,FLAGS destroyed
	    09h "ProcBlock" block on event
		AX:BX = event identifier (typically a pointer)
		CX = timeout in ms or 0000h for never
		DH = interruptable flag (nonzero if pause may be interrupted)
		interrupts disabled
		Return: after corresponding ProcRun call
			CF clear if event wakeup, set if unusual wakeup
			ZF set if timeout wakeup, clear if interrupted
			AL = wakeup code, nonzero if unusual wakeup
			interrupts enabled
			BX,CX,DX destroyed
		Note:	block process and schedules another to run
	    0Ah "ProcRun" unblock process
		AX:BX = event identifier (typically a pointer)
		Return: AX = number of processes awakened
			ZF set if no processes awakened
			BX,CX,DX destroyed
	    0Bh "QueueInit" initialize/clear character queue
		DS:BX -> character queue structure (see #02600)
		Note:	the queue size field must be set before calling
	    0Dh "QueueWrite" put a character in the queue
		DS:BX -> character queue (see #02600)
		AL = character to append to end of queue
		Return: ZF set if queue is full
			ZF clear if character stored
	    0Eh "QueueRead" get a character from the queue
		DS:BX -> character queue (see #02600)
		Return: ZF set if queue is empty
			ZF clear if characters in queue
			    AL = first character in queue
	    10h "GetDOSVar" return pointer to DOS variable
		AL = index of variable
		    03h current process ID
		BX = index into variable if AL specifies an array
		CX = expected length of variable
		Return: CF clear if successful
			    DX:AX -> variable
			CF set on error
			    AX,DX destroyed
			BX,CX destroyed
		Note:	the variables may not be modified
	    14h "Yield" yield CPU if higher-priority task ready to run
		Return: FLAGS destroyed
	    1Bh "CritEnter" begin system critical section
		DS:BX -> semaphore (6 BYTEs, initialized to zero)
		Return: AX,BX,CX,DX destroyed
	    1Ch "CritLeave" end system critical section
		DS:BX -> semaphore (6 BYTEs, initialized to zero)
		Return: AX,BX,CX,DX destroyed
		Note:	must be called in the context of the process which
			  called CritEnter on the semaphore
Note:	the DWORD pointing at the request queue must be allocated by the driver
	  and initialized to 0000h:0000h.  It always points at the next request
	  to be executed

Format of European MS-DOS 4.0 character queue:
Offset	Size	Description	(Table 02600)
 00h	WORD	size of queue in bytes
 02h	WORD	index of next character out
 04h	WORD	count of characters in the queue
 06h  N BYTEs	queue buffer

Top
2F0803 - INT 2F U - DOS 4.0+ DRIVER.SYS support - GET DRIVE DATA TABLE LIST
INT 2F U - DOS 4.0+ DRIVER.SYS support - GET DRIVE DATA TABLE LIST
	AX = 0803h
Return: DS:DI -> first drive data table in list (see #02601,#02602,#02603)
Note:	not available under DR DOS 5.0, but supported by Novell DOS 7 (using
	  the MS-DOS 4+ data table format)
SeeAlso: AX=0801h

Format of DOS 3.30 drive data table:
Offset	Size	Description	(Table 02601)
 00h	DWORD	pointer to next table (offset FFFFh if last table)
 04h	BYTE	physical unit number (for INT 13)
 05h	BYTE	logical drive number (0=A:)
 06h 19 BYTEs	BIOS Parameter Block (see also INT 21/AH=53h)
		Offset	Size	Description
		 00h	WORD	bytes per sector
		 02h	BYTE	sectors per cluster, FFh if unknown
		 03h	WORD	number of reserved sectors
		 05h	BYTE	number of FATs
		 06h	WORD	number of root dir entries
		 08h	WORD	total sectors
		 0Ah	BYTE	media descriptor, 00h if unknown
		 0Bh	WORD	sectors per FAT
		 0Dh	WORD	sectors per track
		 0Fh	WORD	number of heads
		 11h	WORD	number of hidden sectors
 19h	BYTE	flags
		bit 6: 16-bit FAT instead of 12-bit FAT
 1Ah	WORD	number of DEVICE OPEN calls without corresponding DEVICE CLOSE
 1Ch 11 BYTEs	volume label or "NO NAME    " if none (always "NO NAME" for
		  fixed media)
 27h	BYTE	terminating null for volume label???
 28h	BYTE	device type (see #01561 at INT 21/AX=440Dh"DOS 3.2+")
 29h	WORD	bit flags describing drive (see #02604)
 2Bh	WORD	number of cylinders
 2Dh 19 BYTEs	BIOS Parameter Block for highest capacity supported
 40h  3 BYTEs	???
 43h  9 BYTEs	filesystem type???, default = "NO NAME	"
		(apparently only MS-DOS 3.30 fixed media, nulls for removable
		  media and PC-DOS 3.30)
 4Ch	BYTE	least-significant byte of last-accessed cylinder number
---removable media---
 4Dh	DWORD	time of last access in clock ticks (FFFFFFFFh if never)
---fixed media---
 4Dh	WORD	partition (FFFFh = primary, 0001h = extended)
 4Fh	WORD	absolute cylinder number of partition's start on physical
		  drive (always FFFFh if primary partition)
SeeAlso: #02602,#02603

Format of COMPAQ DOS 3.31 drive data table:
Offset	Size	Description	(Table 02602)
 00h	DWORD	pointer to next table (offset FFFFh if last table)
 04h	BYTE	physical unit number (for INT 13)
 05h	BYTE	logical drive number (0=A:)
 06h 25 BYTEs	BIOS Parameter Block (see #02603)
 1Fh  6 BYTEs	reserved fields from BPB above???
 25h	BYTE	flags
		bit 6: 16-bit FAT instead of 12-bit FAT
		bit 5: large volume???
 26h	WORD	device-open count???
 28h 11 BYTEs	volume label or "NO NAME    " if none (always "NO NAME" for
		  fixed media)
 33h	BYTE	terminating null for volume label
 34h	BYTE	device type (see #01561 at INT 21/AX=440Dh"DOS 3.2+")
 35h	WORD	bit flags describing drive (see #02604)
 37h	WORD	number of cylinders
 39h 25 BYTEs	BIOS parameter block for highest capacity drive supports
 52h  6 BYTEs	??? apparently always zeros
 58h	BYTE	least-significant byte of last-accessed cylinder number
---removable media---
 59h	DWORD	time of last access in clock ticks (FFFFFFFFh if never)
---fixed media---
 59h	WORD	partition (FFFFh = primary, 0001h = extended)
 5Bh	WORD	absolute cylinder number of partition's start on physical
		  drive (always FFFFh if primary partition)
SeeAlso: #02601,#02603

Format of DOS 4.0-7.0 drive data table:
Offset	Size	Description	(Table 02603)
 00h	DWORD	pointer to next table (offset FFFFh if last table)
 04h	BYTE	physical unit number (for INT 13)
 05h	BYTE	logical drive number (0=A:)
 06h 25 BYTEs	BIOS Parameter Block (see also INT 21/AH=53h)
		Offset	Size	Description
		 00h	WORD	bytes per sector
		 02h	BYTE	sectors per cluster, FFh if unknown
		 03h	WORD	number of reserved sectors
		 05h	BYTE	number of FATs
		 06h	WORD	number of root dir entries
		 08h	WORD	total sectors (refer to offset 15h if zero)
		 0Ah	BYTE	media descriptor, 00h if unknown
		 0Bh	WORD	sectors per FAT
		 0Dh	WORD	sectors per track
		 0Fh	WORD	number of heads
		 11h	DWORD	number of hidden sectors
		 15h	DWORD	total sectors if WORD at 08h is zero
 1Fh	BYTE	flags
		bit 6: 16-bit FAT instead of 12-bit
		bit 7: unsupportable disk (all accesses will return Not Ready)
 20h	WORD	device-open count
 22h	BYTE	device type (see #01561 at INT 21/AX=440Dh"DOS 3.2+")
 23h	WORD	bit flags describing drive (see #02604)
 25h	WORD	number of cylinders (for partition only, if hard disk)
 27h 25 BYTEs	BIOS Parameter Block for default (highest) capacity supported
 40h  6 BYTEs	reserved (part of BPB above)
 46h	BYTE	last track accessed
---removable media---
 47h	DWORD	time of last access in clock ticks (FFFFFFFFh if never)
---fixed media---
 47h	WORD	partition (FFFFh = primary, 0001h = extended)
		always 0001h for DOS 5+
 49h	WORD	absolute cylinder number of partition's start on physical drive
		(FFFFh if primary partition in DOS 4.x)
------
 4Bh 11 BYTEs	volume label or "NO NAME    " if none (apparently taken from
		  extended boot record rather than root directory)
 56h	BYTE	terminating null for volume label
 57h	DWORD	serial number
 5Bh  8 BYTEs	filesystem type ("FAT12	  " or "FAT16	")
 63h	BYTE	terminating null for filesystem type
SeeAlso: #02601,#02602

Bitfields for flags describing drive:
Bit(s)	Description	(Table 02604)
 0	fixed media
 1	door lock ("changeline") supported
 2	current BPB locked
 3	all sectors in a track are the same size
 4	physical drive has multiple logical units
 5	current logical drive for shared physical drive
 6	disk change detected
 7	device parameters were changed (set DASD before formatting)
	(see #01560 at INT 21/AX=440Dh"DOS 3.2+")
 8	disk reformatted (BPB of current media was changed)
 9	access flag (fixed media only, disables reads and writes)
	(see #01566 at INT 21/AX=440Dh"DOS 3.2+")

Top
2F1000 - INT 2F - SHARE - INSTALLATION CHECK
INT 2F - SHARE - INSTALLATION CHECK
	AX = 1000h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
Notes:	supported by OS/2 v1.3+ compatibility box, which always returns AL=FFh
	if DOS 4.01 SHARE was automatically loaded, file sharing is in an
	  inactive state (due to the undocumented /NC flag used by the autoload
	  code) until this call is made
	DR DOS 5.0 SHARE 1.00 only checks for AH=10h and in this case does not
	  chain to a previous handler, DR DOS 6.0 SHARE 1.02+ properly chains
	  for any values other than AX=1000h and the private FDOS hook
	  AX=1001h.  However, under DR PalmDOS and Novell DOS 7+, the
	  SHARE 2.00+ only tests for the AX=1000h install check, since it no
	  longer uses AX=1001h to hook into the system.
	DOS 5+ chains to the previous handler if AL <> 00h on entry
	Windows Enhanced mode hooks this call and reports that SHARE is
	  installed even when it is not
BUGS:	values of AL other than 00h put DOS 3.x SHARE into an infinite loop
	  (08E9: OR  AL,AL
	   08EB: JNZ 08EB) <- the buggy instruction (DOS 3.3)
	values of AL other than described here put PC-DOS 4.00 into the same
	  loop (the buggy instructions are the same)
SeeAlso: AX=1080h,INT 21/AH=52h,INT 21/AX=4457h/DX=FFFFh

Top
2F1001 - INT 2F U - DR DOS 6.0+ FDOS EXTENSIONS - INSTALL FDOS HOOK (SHARE / DELWATCH)
INT 2F U - DR DOS 6.0+ FDOS EXTENSIONS - INSTALL FDOS HOOK (SHARE / DELWATCH)
	AX = 1001h
	DX:BX -> new FDOS stub entry function
Return: nothing
Notes:	the default handler for the pointer set by this call under DELWATCH
	  simply returns with CF set
	In Digital Research terminology FDOS is the part of the BDOS kernel
	  (IBMDOS.COM) responsible for the file system and related tasks, and
	  its functionality is also used by the BDOS kernel itself. However,
	  for reasons of performance and code size, it uses direct calling.
	This interrupt allows external components like SHARE file locking or
	  DELWATCH delete tracking software to hook into the internal backdoor
	  INT 2F/AH=10h/AL<=09h chain in the kernel, so that they can actually
	  allows the kernel to ensure that several conditions are met when
	  passing control to these registered components including proper
	  maintaining A20, re-enterancy, or critical section mutexing
	  (e.g. getting the disk sub-system queue "MXdisk").
	The default handler in the BDOS just sets the carry flag and returns.
	Currently known clients to this shared interface are DR DOS 6.0
	  SHARE 1.xx, DR DOS 6.0+ DELWATCH 1.00+, which both chain onto
	  the same call far address, and the version of AddStor's SuperStor
	  which is bundled with DR DOS 6.0
	However, the DR PalmDOS, and Novell DOS 7 - DR-DOS 7.03 SHARE 2.00-2.05
	  do not use this function to hook into the system. Instead they fix up
	  the share stubs directly. DR PalmDOS SHARE 2.00 uses the stubs at
	  Table !!! INT 21/AH=52h, while Novell DOS 7 - DR-DOS 7.03
	  SHARE 2.01-2.05 use the private set of share stubs at Table !!! at
	  INT 21/AX=4458h).  Future releases may possibly again fix up the
	  share stubs at INT 21/AH=52h.
SeeAlso: AX=1000h,AX=F800h

Top
2F1002CHFF - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - READ BUFFERS
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - READ BUFFERS
	AX = 1002h
	CH = FFh (pre-read required)
	CL = buffer type (here FAT, DIR, or DATA, see below)
	AH:DX = 24 bit sector number
Return:	ES:SI -> buffer control block
Notes:	This private function is called internally by the OS kernel to
	  ask the FDOS to find the corresponding buffer.  By using the
	  INT 2F/AX=1001h FDOS hook, the call can be intercepted by external
	  system components such as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1003h,AX=1008h,AX=1009h,AX=10FEh

Bitfields for Novell DOS 7 FDOS buffer type:
Bit(s)	Description	(Table 04099)
 7	remote (on a network drive)
 6	dirty (modified)
 3	data sector
 2	directory sector
 1	FAT sector

Top
2F1003 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FLUSH BUFFERS
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FLUSH BUFFERS
	AX = 1003h
	BL = drive???
	BH = buffer type to flush (BF_ISFAT+BF_ISDIR+BF_ISDATA)
Return: nothing???
Notes:	This private function is called internally by the OS kernel to
	  ask the FDOS to flush all buffer.  By using the INT 2F/AX=1001h FDOS
	  hook, the call can be intercepted by external system components such
	  as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1004h,AX=10FEh

Top
2F1004 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FREE FAT CHAIN
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FREE FAT CHAIN
	AX = 1004h
	BX = first block to release on current drive
Return: nothing
Notes:	This private function is called internally by the OS kernel to
	  ask the FDOS to release the FAT chain.  By using the INT 2F/AX=1001h
	  FDOS hook, the call can be intercepted by external system components
	  such as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1005h,AX=10FEh

Top
2F1005 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - ALLOCATE CLUSTER
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - ALLOCATE CLUSTER
	AX = 1005h
	BX = block from which to start search (e.g. current end of file)
	    0000h = start of disk
Return: AX or BX??? = allocated cluster (already marked as End of Chain)
	    or 0000h if none available
Notes:	This private function is called internally by the OS kernel to
	  ask the FDOS to allocate disk space.  By using the
	  INT 2F/AX=1001h FDOS hook, the call can be intercepted by external
	  system components such as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1004h,AX=1007h,AX=10FEh

Top
2F1006 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - NEXT CLUSTER / READ FAT???
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - NEXT CLUSTER / READ FAT???
	AX = 1006h
	BX = current cluster number
Return:	AX or BX??? = next cluster in chain
Notes:	This private function is called internally by the OS kernel to
	  ask the FDOS to get the next cluster in a file.  By using the
	  INT 2F/AX=1001h FDOS hook, the call can be intercepted by external
	  system components such as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1005h,AX=1007h,AX=10FEh

Top
2F1007 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - UPDATE FAT ENTRY / WRITE FAT???
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - UPDATE FAT ENTRY / WRITE FAT???
	AX = 1007h
	BX = FAT entry to change
	DX = new value
Return:	nothing
Notes:	This private function is called internally by the OS kernel to
	  ask the FDOS to update the FAT.  By using the INT 2F/AX=1001h FDOS
	  hook, the call can be intercepted by external system components such
	  as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1005h,AX=1006h,AX=1008h,AX=10FEh

Top
2F1008 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FIXUP CHECKSUMS / DIR UPDATE???
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - FIXUP CHECKSUMS / DIR UPDATE???
	AX = 1008h
	BX = segment of directory buffer
	CX = cluster to fixup (0 = root)
	DI = directory entry index (truncated to cluster if subdirectory)
	BX:SI -> directory entry (single entry for hashing)
Return:	nothing
Notes:	This private function is called internally by the OS kernel to
	  ask the FDOS to fixup hashing/checksums.  By using the
	  INT 2F/AX=1001h FDOS hook, the call can be intercepted by external
	  system components such as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1007h,AX=1009h,AX=10FEh

Top
2F1009 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - DIRECTORY BUFFER INFO
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - DIRECTORY BUFFER INFO
	AX = 1009h
Return: ES:DI -> 128-byte directory record buffer
	ES:SI -> directory BCB structure (see #04101)
Notes:	This private function is called internally by the OS kernel.  By using
	  the INT 2F/AX=1001h FDOS hook, the call can be intercepted by
	  external system components such as the DELWATCH TSR.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=10FEh

Format of Novell DOS 7+ FDOS directory BCB:
Offset	Size	Description	(Table 04101)
 00h	BYTE	drive (FFh = invalid)
 01h	BYTE	low byte of record number
 02h	BYTE	middle byte of record number
 03h	BYTE	high byte of record number

Top
2F1010CX0000 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - SUPERSTOR - QUERY PHYS FREE SPACE
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - SUPERSTOR - QUERY PHYS FREE SPACE
	AX = 1010h
	CX = 0000h
Return: CX = free space
	    0000h if no physical space left on the drive
	    else there is still space available
Notes:	This private function is internally called by the FDOS part of the
	  OS kernel on "out of disk space" conditions.  It allows optimized
	  behaviour of DELWATCH delete tracking software in conjunction with
	  disk compression, and was implemented for SuperStor (but it would
	  also work with other disk compression if they hook this function).
	  If there truly is no physical space left on the drive, the FDOS asks
	  DELWATCH to purge files in its queue until enough space has been
	  freed, or there actually is no free disk space any more.
	By using the INT 2F/AX=1001h FDOS hook, the call can be intercepted by
	  external system components such as SuperStor, bundled with DR DOS
	  "Panther" and Novell DOS 7 BETAs.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=10FEh

Top
2F1020 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CREATE PASSWORD ENTRY
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CREATE PASSWORD ENTRY
	AX = 1020h
	???
Return: ???
Notes:	This private function is called internally by the OS kernel to an
	  optional SECURITY TSR.  By using the INT 2F/AX=1001h FDOS hook, it
	  can be intercepted by external system components such as
	  Multiuser SECURITY, bundled with DR DOS "Panther" Beta 1.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1021h,AX=1022h,AX=10FEh

Top
2F1021 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHANGE PASSWORD ENTRY
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHANGE PASSWORD ENTRY
	AX = 1021h
	CL > 05h ???
	BX -> matching directory entry???
	AL = directory attributes???
Return: ???
	CF set on error (password change not allowed)
Notes:	This private function is called internally by the OS kernel to an
	  optional SECURITY TSR.  By using the INT 2F/AX=1001h FDOS hook, it
	  can be intercepted by external system components such as
	  Multiuser SECURITY, bundled with DR DOS "Panther" Beta 1.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1020h,AX=1022h,AX=10FEh

Top
2F1022 - INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHECK PASSWORD ENTRY
INT 2F CU - Novell DOS 7+ FDOS EXTENSIONS - CHECK PASSWORD ENTRY
	AX = 1022h
	???
Return: ???
Notes:	This private function is called internally by the OS kernel to an
	  optional SECURITY TSR.  By using the INT 2F/AX=1001h FDOS hook, it
	  can be intercepted by external system components such as
	  Multiuser SECURITY, bundled with DR DOS "Panther" Beta 1.
	This function must under no circumstances be called by applications!
SeeAlso: INT 2F/AX=1001h,AX=1020h,AX=1021h,AX=10FEh

Top
2F1040 - INT 2F U - DOS 4 only SHARE internal - ???
INT 2F U - DOS 4 only SHARE internal - ???
	AX = 1040h
	???
Return: AL = FFh???
SeeAlso: AX=1000h

Top
2F1080 - INT 2F U - DOS 4 only SHARE internal - TURN ON FILE SHARING CHECKS
INT 2F U - DOS 4 only SHARE internal - TURN ON FILE SHARING CHECKS
	AX = 1080h
Return: AL = status
	    F0h successful
	    FFh checking was already on
Note:	DOS 4.x SHARE has dual functions: FCB support for large (>32M) media
	  and file sharing checks.  The undocumented commandline flag /NC can
	  be used to disable the sharing code.
SeeAlso: AX=1000h,AX=1081h

Top
2F1081 - INT 2F U - DOS 4 only SHARE internal - TURN OFF FILE SHARING CHECKS
INT 2F U - DOS 4 only SHARE internal - TURN OFF FILE SHARING CHECKS
	AX = 1081h
Return: AL = status
	    F0h successful
	    FFh checking was already off
Note:	(see AX=1080h)
SeeAlso: AX=1000h,AX=1080h

Top
2F10FE - INT 2F U - DR DOS 6.0+ DELWATCH.EXE - INSTALLATION CHECK
INT 2F U - DR DOS 6.0+ DELWATCH.EXE - INSTALLATION CHECK
	AX = 10FEh
Return: AL = FFh if installed and active
	    AH = internal version number
	        10h for DR DOS 6.0 DELWATCH 1.0 / 1.1 (through 1993/03/19)
		20h for Novell DOS 7+ DELWATCH 2.0+
	    DX:BX -> private entry point (see #02605)
Notes:	The DR DOS 6.0 DELWATCH 1.x used to store information about deleted
	  files in a hidden file named @DLWATCH.DAT, however the Novell DOS 7+
	  DELWATCH 2.0+ stores all the info in previously unused fields in
	  the files' directory entries. (See table !!! at INT 21h/11h for
	  details). This, however, now causes problems on systems also running
	  Windows 9x since Microsoft decided to use a rather similar but
	  incompatible method to store long filenames etc. in these entries.
	Running DELWATCH 2.x on a system which previously used DELWATCH 1.x,
	  the @DLWATCH.DAT file will be abandoned and converted to the new
	  method.
SeeAlso: #01352,INT 21/AX=4306h,INT 21/AX=5704h,INT 2F/AX=1001h

(Table 02605)
Call DELWATCH private entry point with:
	AH = function
	    00h (OS hook) installation check
		AL = 00h required for DELWATCH 1.x
		Return: CF clear
			AX = 0000h
			CX = 0004h (unsupported function)
	    01h (DELWATCH 1.x) New Disk
	        ???
	    01h (DELWATCH 2.0+) disable DELWATCH on drive
		AL = drive number (00h = A:)
		Return: AX = status (0000h if failed, FFFFh if successful)
	    02h (OS hook) Delete File
		AL = drive number (00h = A:)
		DX = directory cluster number (0000h for root directory)
		CX = directory entry number
		DS:BX -> directory entry
		ES,DS must be valid selectors if called in protected mode
		Return: DS:BX -> updated directory entry
			CF set if file is to be deleted by the OS
			CF clear if DELWATCH has placed the file in its queue
		Note:	deletes the directory entry
	    03h	(OS hook) Free Clusters
		AL = drive number (00h = A:)
		CX = number of clusters currently free (do not free if > 1)
		DX = preferred 'search from cluster' (ignored by DELWATCH 2.0)
		Return: CF clear if clusters freed
			CF set if no clusters freed
			DX = new 'search from' cluster (one before first free)
	    04h (OS hook) free root directory entry
		AL = drive number (00h = A:)
		Return: CF set if no directory entry freed
	    05h (OS hook) return free space
		AL = drive number (00h = A:)
		CX = number of free clusters
		Return:	CX = updated number of free clusters
		Notes:	adds space used by "deleted" files to free space
			call is chained
	    06h enable DELWATCH on drive
		AL = drive number with bit 7 set (80h = A:, etc.)
			(DELWATCH 2.0+: set bit 6 for removable drives)
		BX = maximum files of same name in one directory to save
		CX = maximum files to save on this disk
		DS:DX -> MEMDESC??? for drive data (see #04104)
		DS:SI -> MEMDESC??? for DWLIST (see #04104)
		ES,DS must contain valid selectors if called in protected mode
		Return: AX = status
			    0000h failed
			    FFFFh successful
			CX = error code on failure (see #04102)
			    (0004h "wrong version" if AL < 80h on entry)
	    07h (DELWATCH 1.x) disable DELWATCH on drive
		???
	    07h (DELWATCH 2.0+) (OS hook) new disk
		AL = drive (00h = A:, etc.)
		ES:BX -> DOS DDSC structure
		CF set if not enabled
		Return: ???
	    08h set file extensions list
		AL = sense (00h exclude named extensions, 01h only named ext.)
		DS:BX -> 31-byte ASCIZ extension list (three blank-padded bytes
			  per extension)
		Return: AX = FFFFh (successful)
	    09h	adjust pending delete space
		AL = drive number (00h = A:)
		CX = number of clusters being freed
		Return: AX = 0000h if drive not enabled
	    0Ah remove DELWATCH entry
		AL = drive number (00h = A:)
		DX = directory cluster number (0000h if root directory)
		CX = directory entry number
		BX:SI -> filename
		ES,DS must contain valid selectors if called in protected mode
		Return: AX > 0000h if entry found in DWLIST
	    0Bh enable NEWDISK
		Return: AX > 0000h if successful (FFFFh for DELWATCH 2.0)
		see also function 0Dh
	    0Ch (DELWATCH 1.x) drive status
		AL = drive number (00h = A:, etc.)
		Return: AX = drive data segment, 0000h if not enabled
			CX = pending delete space, if drive enabled
	    0Ch (DELWATCH 2.0+) check if drive enabled
		AL = drive number with bit 7 set (80h = A:, etc.)
		DS:DX -> MEMDESC for drive data (see #04104)
			(DX = 0000h if not required)
		DS:SI -> MEMDESC for DWLIST (see #04104)
			(SI = 0000h if not required)
		ES,DS must contain valid selectors if called in protected mode
		Return: AX = drive status (see also #04103)
			    0000h disabled or error
				CX = error code (see #04102)
			    0001h drive enabled
				CX = pending delete space, FFFFh if NEWDISK
				      not yet called
	    0Dh disable NEWDISK
		BX = segment address of bitmap buffer
		Return: AX > 0000h if successful (FFFFh for DELWATCH 2.0)
		see also function 0Bh
	    0Eh (DELWATCH 2.0+) (OS hook) purge file
		AL = drive number (00h = A:)
		DX = directory cluster number (0000h if root directory)
		CX = directory entry number
		Return: CF set if drive not enabled
			CF clear
			    AX = status
				0000h successfully purged
				else error code (see #04102)
	    0Fh (DELWATCH 2.0+) (OS hook) undelete file
		AL = drive number (00h = A:)
		DX = directory cluster number (0000h if root directory)
		CX = directory entry number
		Return: CF set if drive not enabled
			CF clear
			    AX = status
				0000h successfully undeleted
				else error code (see #04102)
Return: AX = 0000h, CX = 0001h (see #04102) if DELWATCH busy
	registers unchanged if AH > 0Fh on entry
Notes:	functions marked "OS hook" must under no circumstances by called by
	  external applications, as this would bypass the serialization
	  performed by the kernel and cause problems at least in multitasking
	  environments.
	two functions have been swapped between DELWATCH 1.x and DELWATCH 2.0
	  to ensure that DELWATCH 1.x calls will not do anything under newer
	  versions of the OS; for the same reason, the drive number in AL
	  sometimes requires that bit 7 be set for DELWATCH 2.0+.
SeeAlso: AX=1001h,AX=1010h

(Table 04102)
Values for DELWATCH error codes:
 0001h	reentered (DELWATCH busy)
 0002h	not enabled
 0003h	not found
 0004h	wrong version of DELWATCH
 0005h	memory allocation
SeeAlso: #04103

(Table 04103)
Values for DELWATCH drive status:
 0000h	drive not enabled
 0001h	OK
 0002h	no bitmap
 0003h	zero files
 0004h	cross-linked files
SeeAlso: #04102

Format of DELWATCH MEMDESC structure:
Offset	Size	Description	(Table 04104)
 00h	BYTE	memory type
		01h protected mode (DPMS)
		02h XMS
		03h upper (high) memory
		04h low memory
 01h	DWORD	location
		(conventional memory) WORD: segment base address
		(XMS) WORD: XMS handle
		(DPMS) DWORD: DPMS memory 32-bit base address
 05h	DWORD	length in bytes
 09h	DWORD	allocation
		(conventional memory) WORD: memory block segment
		(XMS) WORD: XMS handle (same as location handle)
		(DPMS) DWORD: DPMS 32-bit handle

Top
2F10FF - INT 2F U - DR DOS 5.0 - FIXUP SHARE STUB TABLE???
INT 2F U - DR DOS 5.0 - FIXUP SHARE STUB TABLE???
	AX = 10FFh
	ES:BX -> new SHARE stub table to use???
Return: DS destroyed???
Notes:	Sets a pointer in the kernel. ES:BX points to a structure in SHARE's
	  segment, which presumeably contains a number (4 or 11???) of entries
	  of 5 bytes each and is probably part of some kind of share stub
	  dispatcher that gets fixed up by this call.
	This was seen called by DR DOS 5.0 SHARE 1.00 (when INT 2F/AX=1000h
	  revealed that SHARE was not installed) before it hooked INT 2Fh
	  via INT 21/AH=35h to provide its install check function. It preserved
	  the DS register before calling.
	However, the DR DOS 6.0+ SHARE 1.02+ uses INT 2F/AX=1001h to hook
	  into the OS, DR PalmDOS SHARE 2.00 directly fixes up the share stubs
	  in table !!! at INT 21h/52h, and Novell DOS 7 - DR-DOS 7.03
	  SHARE 2.01-2.05 maintains the private set of share stubs in
	  Table !!! at INT 21/AX=4458h).
	This function was probably used between 1990/02/09 and 1991/03/15.
SeeAlso: INT 2F/AX=1001h

Top
2F1100 - INT 2F C - NETWORK REDIRECTOR - INSTALLATION CHECK
INT 2F C - NETWORK REDIRECTOR - INSTALLATION CHECK
	AX = 1100h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
		AH = product identifier (ad hoc by various manufacturers)
		    00h if PC Tools v8 DRIVEMAP
		    42h ('B') for Beame&Whiteside BWNFS v3.0a
		    6Eh ('n') for NetWare Lite v1.1 CLIENT
Notes:	this function is called by the DOS 3.1+ kernel
	in DOS 4.x only, the 11xx calls are all in IFSFUNC.EXE, not in the
	  PC LAN Program redirector; DOS 5+ moves the calls back into the
	  redirector
	the PC Network 1.00 redirector (renamed to PC LAN Program in 1.1-1.3)
	  only supports AL=00h-27h

Top
2F1100SFDADA - INT 2F - MSCDEX (MS CD-ROM Extensions) - INSTALLATION CHECK
INT 2F - MSCDEX (MS CD-ROM Extensions) - INSTALLATION CHECK
	AX = 1100h subfn DADAh
	STACK: WORD DADAh
Return: AL = status
	    00h not installed, OK to install
		STACK unchanged
	    01h not installed, not OK to install
		STACK unchanged
	    FFh installed
		STACK: WORD	ADADh if MSCDEX installed
				DADBh if Lotus CD/Networker installed
Note:	although MSCDEX sets the stack word to ADADh on return, any value other
	  than DADAh is considered to mean that MSCDEX is already installed;
	  Lotus CD/Networker v4+ uses this feature to fool MSCDEX into
	  thinking it is already installed when it is in fact CD/Networker
	  that is installed
Index:	installation check;Lotus CD/Networker
Index:	Lotus CD/Networker;installation check

Top
2F1101 - INT 2F CU - NETWORK REDIRECTOR - REMOVE REMOTE DIRECTORY
INT 2F CU - NETWORK REDIRECTOR - REMOVE REMOTE DIRECTORY
	AX = 1101h
	SS = DOS DS
	SDA first filename pointer -> fully-qualified directory name
	SDA CDS pointer -> current directory structure for drive with dir
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1103h,AX=1105h,INT 21/AH=3Ah,INT 21/AH=60h

Top
2F1102 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - REMOVE REMOTE DIRECTORY
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - REMOVE REMOTE DIRECTORY
	AX = 1102h
	SS = DOS DS
	SDA first filename pointer -> fully-qualified directory name
	SDA CDS pointer -> current directory structure for drive with dir
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Note:	appears to be identical to AX=1101h; MS internal documentation calls
	  this function "SEQ_RMDIR"
SeeAlso: AX=1101h

Top
2F1103 - INT 2F CU - NETWORK REDIRECTOR - MAKE REMOTE DIRECTORY
INT 2F CU - NETWORK REDIRECTOR - MAKE REMOTE DIRECTORY
	AX = 1103h
	SS = DOS DS
	SDA first filename pointer -> fully-qualified directory name
	SDA CDS pointer -> current directory structure for drive with dir
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1101h,AX=1105h,INT 21/AH=39h,INT 21/AH=60h

Top
2F1104 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - MAKE REMOTE DIRECTORY
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - MAKE REMOTE DIRECTORY
	AX = 1104h
	SS = DOS DS
	SDA first filename pointer -> fully-qualified directory name
	SDA CDS pointer -> current directory structure for drive with dir
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Note:	appears to be identical to AX=1103h
SeeAlso: AX=1103h

Top
2F1105 - INT 2F CU - NETWORK REDIRECTOR - CHDIR
INT 2F CU - NETWORK REDIRECTOR - CHDIR
	AX = 1105h
	SS = DOS DS
	SDA first filename pointer -> fully-qualified directory name
	SDA CDS pointer -> current directory structure for drive with dir
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    CDS updated with new path
Notes:	this function is called by the DOS 3.1+ kernel
	directory string in CDS should not have a terminating backslash unless
	  the current directory is the root
SeeAlso: AX=1101h,AX=1103h,INT 21/AH=3Bh,INT 21/AH=60h

Top
2F1106 - INT 2F CU - NETWORK REDIRECTOR - CLOSE REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - CLOSE REMOTE FILE
	AX = 1106h
	ES:DI -> filled-in SFT (assumed to point at SDA's current SFT field)
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    SFT updated (redirector must decrement open count, which may be
		  done with INT 2F/AX=1208h)
	ES:DI must be preserved
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1116h,AX=1201h,AX=1208h,AX=1227h,INT 21/AH=3Eh

Top
2F1107 - INT 2F CU - NETWORK REDIRECTOR - COMMIT REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - COMMIT REMOTE FILE
	AX = 1107h
	ES:DI -> filled-in SFT (assumed to point at SDA's current SFT field)
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    all buffers for file flushed
	    directory entry updated
	ES:DI must be preserved
Desc:	perform all the buffer flushing, directory updates, etc. that would be
	  performed on a file close, but do not decrement the SFT reference
	  count
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: INT 21/AH=68h,INT 21/AX=5D01h

Top
2F1108 - INT 2F CU - NETWORK REDIRECTOR - READ FROM REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - READ FROM REMOTE FILE
	AX = 1108h
	ES:DI -> SFT
	    SFT DPB field -> DPB of drive containing file
	CX = number of bytes
	SS = DOS DS
	SDA DTA field -> user buffer
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    CX = number of bytes read (0000h = end of file)
	    SFT updated
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1109h,AX=1229h,INT 21/AH=3Fh"DOS",INT 21/AX=5D06h

Top
2F1109 - INT 2F CU - NETWORK REDIRECTOR - WRITE TO REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - WRITE TO REMOTE FILE
	AX = 1109h
	ES:DI -> SFT
	    SFT DPB field -> DPB of drive containing file
	CX = number of bytes
	SS = DOS DS
	SDA DTA field -> user buffer
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    CX = number of bytes written
	    SFT updated
Notes:	this function is called by the DOS 3.1+ kernel
	PrintCache v3.1 PCACHE.EXE intercepts this function for SFTs where
	  the Device Driver Header field points at PCACHE, but does not
	  intercept any other network redirector functions
SeeAlso: AX=1107h,AX=1108h,INT 21/AH=40h,INT 21/AX=5D06h

Top
2F110A - INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - LOCK REGION OF FILE
INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - LOCK REGION OF FILE
	AX = 110Ah
	BX = file handle
	CX:DX = starting offset
	SI = high word of size
	STACK: WORD low word of size
	ES:DI -> SFT
	    SFT DPB field -> DPB of drive containing file
	SS = DOS DS
Return: CF set on error
	   AL = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	STACK unchanged
Notes:	this function is called by the DOS 3.10-3.31 kernel
	the redirector is expected to resolve lock conflicts
SeeAlso: AX=110Bh,INT 21/AH=5Ch

Top
2F110A - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - LOCK/UNLOCK REGION OF FILE
INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - LOCK/UNLOCK REGION OF FILE
	AX = 110Ah
	BL = function
	    00h lock
	    01h unlock
	CX = number of lock/unlock parameters (0001h for DOS 4.0-6.1)
	DS:DX -> parameter block (see #02606)
	ES:DI -> SFT
	    SFT DPB field -> DPB of drive containing file
	SS = DOS DS
Return: CF set on error
	   AL = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
Notes:	this function is called by the DOS 4.0+ kernel
	the redirector is expected to resolve lock conflicts
SeeAlso: AX=110Bh,INT 21/AH=5Ch

Format of parameter block entry [array, but currently limited to single entry]:
Offset	Size	Description	(Table 02606)
 00h	DWORD	start offset
 04h	DWORD	size of region

Top
2F110B - INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - UNLOCK REGION OF FILE
INT 2F CU - NETWORK REDIRECTOR (DOS 3.x only) - UNLOCK REGION OF FILE
	AX = 110Bh
	BX = file handle
	CX:DX = starting offset
	SI = high word of size
	STACK: WORD low word of size
	ES:DI -> SFT for file
	    SFT DPB field -> DPB of drive containing file
Return: CF set on error
	   AL = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	STACK unchanged
Note:	this function is called by the DOS 3.1-3.31 kernel; DOS 4.0+ calls
	  AX=110Ah instead
SeeAlso: AX=110Ah,INT 21/AH=5Ch

Top
2F110C - INT 2F CU - NETWORK REDIRECTOR - GET DISK INFORMATION
INT 2F CU - NETWORK REDIRECTOR - GET DISK INFORMATION
	AX = 110Ch
	ES:DI -> current directory structure for desired drive
Return: CF clear if data valid
	    AL = sectors per cluster
	    AH = media ID byte
	    BX = total clusters
	    CX = bytes per sector
	    DX = number of available clusters
	CF set if data invalid
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: INT 21/AH=36h

Top
2F110D - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - SET REMOTE FILE'S ATTRIBUTES
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - SET REMOTE FILE'S ATTRIBUTES
	AX = 110Dh
	SDA first filename pointer -> name of file
	???
Return: ???
Note:	similar to AX=110Eh
SeeAlso: AX=110Eh

Top
2F110E - INT 2F CU - NETWORK REDIRECTOR - SET REMOTE FILE'S ATTRIBUTES
INT 2F CU - NETWORK REDIRECTOR - SET REMOTE FILE'S ATTRIBUTES
	AX = 110Eh
	SS = DOS DS
	SDA first filename pointer -> fully-qualified name of file
	SDA CDS pointer -> current directory structure for drive with file
	STACK: WORD new file attributes
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	STACK unchanged
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=110Dh,AX=110Fh,INT 21/AX=4301h,INT 21/AH=60h

Top
2F110F - INT 2F CU - NETWORK REDIRECTOR - GET REMOTE FILE'S ATTRIBUTES AND SIZE
INT 2F CU - NETWORK REDIRECTOR - GET REMOTE FILE'S ATTRIBUTES AND SIZE
	AX = 110Fh
	SS = DOS DS
	SDA first filename pointer -> fully-qualified name of file
	SDA CDS pointer -> current directory structure for drive with file
		(offset = FFFFh if null CDS [net direct request])
	SDA search attributes = mask of attributes which may be included in
		  search for file
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    AX = file attributes
	    BX:DI = file size
	    CX = time stamp of file
	    DX = date stamp of file
Notes:	this function is called by the DOS 3.1+ kernel
	wildcards and device names are not permitted
SeeAlso: AX=110Eh,INT 21/AX=4300h,INT 21/AH=60h

Top
2F1110 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET REMOTE FILE'S ATTRIBUTES AND SIZE
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET REMOTE FILE'S ATTRIBUTES AND SIZE
	AX = 1110h
	SDA first filename pointer -> name of file
	???
Return: ???
Note:	appears to be similar to AX=110Fh
SeeAlso: AX=110Eh

Top
2F1111 - INT 2F CU - NETWORK REDIRECTOR - RENAME REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - RENAME REMOTE FILE
	AX = 1111h
	SS = DS = DOS DS
	SDA first filename pointer = offset of fully-qualified old name
	SDA second filename pointer = offset of fully-qualified new name
	SDA CDS pointer -> current directory structure for drive with file
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1112h,INT 21/AH=56h,INT 21/AH=60h

Top
2F1112 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - RENAME REMOTE FILE
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - RENAME REMOTE FILE
	AX = 1112h
	SS = DS = DOS DS
	SDA first filename pointer -> name of file
	???
Return: ???
Note:	similar to AX=1111h
SeeAlso: AX=1111h

Top
2F1113 - INT 2F CU - NETWORK REDIRECTOR - DELETE REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - DELETE REMOTE FILE
	AX = 1113h
	SS = DS = DOS DS
	SDA first filename pointer -> fully-qualified filename in DOS DS
	SDA CDS pointer -> current directory structure for drive with file
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Notes:	this function is called by the DOS 3.1+ kernel
	the filespec may contain wildcards
SeeAlso: AX=1114h,INT 21/AH=41h,INT 21/AH=60h

Top
2F1114 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - DELETE REMOTE FILE
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - DELETE REMOTE FILE
	AX = 1114h
	SDA first filename pointer -> name of file
	???
Return: ???
Note:	similar to AX=1113h
SeeAlso: AX=1113h

Top
2F1115 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - OPEN REMOTE FILE
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - OPEN REMOTE FILE
	AX = 1115h
	SS = DOS DS
	ES:DI -> SFT ???
	???
Return: ???
Note:	similar to AX=1116h
SeeAlso: AX=1116h,AX=112Eh

Top
2F1116 - INT 2F CU - NETWORK REDIRECTOR - OPEN EXISTING REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - OPEN EXISTING REMOTE FILE
	AX = 1116h
	ES:DI -> uninitialized SFT
	SS = DOS DS
	SDA first filename pointer -> fully-qualified name of file to open
	STACK: WORD file access and sharing modes (see #01402 at INT 21/AH=3Dh)
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    SFT filled (except handle count, which DOS manages itself)
	STACK unchanged
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1106h,AX=1115h,AX=1117h,AX=1118h,AX=112Eh,INT 21/AH=3Dh
SeeAlso: INT 21/AH=60h

Top
2F1117 - INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE REMOTE FILE
	AX = 1117h
	ES:DI -> uninitialized SFT
	SS = DOS DS
	SDA first filename pointer -> fully-qualified name of file to open
	SDA CDS pointer -> current directory structure for drive with file
	STACK: WORD file creation mode
			low byte = file attributes (see #01401 at INT 21/AH=3Ch)
			high byte = 00h normal create, 01h create new file
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    SFT filled (except handle count, which DOS manages itself)
	STACK unchanged
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1106h,AX=1116h,AX=1118h,AX=112Eh,INT 21/AH=3Ch,INT 21/AH=60h

Top
2F1118 - INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE FILE WITHOUT CDS
INT 2F CU - NETWORK REDIRECTOR - CREATE/TRUNCATE FILE WITHOUT CDS
	AX = 1118h
	ES:DI -> uninitialized SFT
	SS = DOS DS
	SDA first filename pointer -> fully-qualified name of file
	STACK: WORD file creation mode
			low byte = file attributes
			high byte = 00h normal create, 01h create new file
Return: ???
	STACK unchanged
Note:	this function is called by the DOS 3.1+ kernel when creating a file
	  on a drive for which the SDA CDS pointer has offset FFFFh
SeeAlso: AX=1106h,AX=1116h,AX=1117h,AX=112Eh,INT 21/AH=60h

Top
2F1119 - INT 2F CU - NETWORK REDIRECTOR - FIND FIRST FILE WITHOUT CDS
INT 2F CU - NETWORK REDIRECTOR - FIND FIRST FILE WITHOUT CDS
	AX = 1119h
	SS = DS = DOS DS
	[DTA] = uninitialized 21-byte findfirst search data
	      (see #01626 at INT 21/AH=4Eh)
	SDA first filename pointer -> fully-qualified search template
	SDA search attribute = attribute mask for search
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    [DTA] = updated findfirst search data
		    (bit 7 of first byte must be set)
	    [DTA+15h] = standard directory entry for file (see #01352)
Notes:	this function is called by the DOS 3.1+ kernel
	DOS 4.x IFSFUNC returns CF set, AX=0003h
SeeAlso: AX=111Ah,AX=111Bh,INT 21/AH=1Ah

Top
2F111A - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - FIND NEXT FILE WITHOUT CDS
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - FIND NEXT FILE WITHOUT CDS
	AX = 111Ah
	???
Return: CF set
	    AX = error code (03h for DOS 4.01 IFSFUNC)
Note:	use AX=111Ch for DOS 5+
SeeAlso: AX=1119h,AX=111Ch

Top
2F111B - INT 2F CU - NETWORK REDIRECTOR - FINDFIRST
INT 2F CU - NETWORK REDIRECTOR - FINDFIRST
	AX = 111Bh
	SS = DS = DOS DS
	[DTA] = uninitialized 21-byte findfirst search data
	      (see #01626 at INT 21/AH=4Eh)
	SDA first filename pointer -> fully-qualified search template
	SDA CDS pointer -> current directory structure for drive with file
	SDA search attribute = attribute mask for search
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    [DTA] = updated findfirst search data
		    (bit 7 of first byte must be set)
	    [DTA+15h] = standard directory entry for file (see #01352)
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1119h,AX=111Ch,INT 21/AH=1Ah,INT 21/AH=4Eh,INT 21/AH=60h

Top
2F111C - INT 2F CU - NETWORK REDIRECTOR - FINDNEXT
INT 2F CU - NETWORK REDIRECTOR - FINDNEXT
	AX = 111Ch
	SS = DS = DOS DS
	ES:DI -> CDS
	ES:DI -> DTA (MSDOS v5.0)
	[DTA] = 21-byte findfirst search data
	      (see #01626 at INT 21/AH=4Eh)
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    [DTA] = updated findfirst search data
		    (bit 7 of first byte must be set)
	    [DTA+15h] = standard directory entry for file (see #01352)
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: AX=1119h,AX=111Bh,INT 21/AH=1Ah,INT 21/AH=4Fh

Top
2F111D - INT 2F CU - NETWORK REDIRECTOR - CLOSE ALL REMOTE FILES FOR PROCESS (ABORT)
INT 2F CU - NETWORK REDIRECTOR - CLOSE ALL REMOTE FILES FOR PROCESS (ABORT)
	AX = 111Dh
	SS = DOS DS
	SDA PSP segment field = PSP of terminating process
Return: nothing
Notes:	used when a process is aborted; the process being terminated is
	  indicated by the "sharing PSP" field in the SDA (offset 1Ah/1Ch)
	this function is called by the DOS 3.1+ kernel
	closes all FCBs opened by process
SeeAlso: INT 21/AX=5D04h

Top
2F111E - INT 2F CU - NETWORK REDIRECTOR - DO REDIRECTION
INT 2F CU - NETWORK REDIRECTOR - DO REDIRECTION
	AX = 111Eh
	SS = DOS DS
	STACK: WORD function to execute
		5F00h  get redirection mode
			BL = type (03h printer, 04h disk)
			Return: BH = state (00h off, 01h on)
		5F01h  set redirection mode
			BL = type (03h printer, 04h disk)
			BH = state (00h off, 01h on)
		5F02h  get redirection list entry
			BX = redirection list index
			DS:SI -> 16-byte local device name buffer
			ES:DI -> 128-byte network name buffer
			Return: must set user's BX to device type and CX to
				stored parameter value, using AX=1218h to get
				stack frame address
		5F03h  redirect device
			BL = device type (see INT 21/AX=5F03h)
			CX = stored parameter value
			DS:SI -> ASCIZ source device name
			ES:DI -> destination ASCIZ network path + ASCIZ passwd
		5F04h  cancel redirection
			DS:SI -> ASCIZ device name or network path
		5F05h  get redirection list extended entry
			BX = redirection list index
			DS:SI -> buffer for ASCIZ source device name
			ES:DI -> buffer for destination ASCIZ network path
			Return: BH = status flag
				BL = type (03h printer, 04h disk)
				CX = stored parameter value
				BP = NETBIOS local session number
		5F06h  similar to 5F05h???
Return: CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
	STACK unchanged
Notes:	this function is called by the DOS 3.1+ kernel on INT 21/AH=5Fh
	  (including LAN Manager calls)
	the PC Network 1.00 redirector does not support function 5F06h
SeeAlso: INT 21/AX=5F00h,INT 21/AX=5F01h,INT 21/AX=5F02h,INT 21/AX=5F03h
SeeAlso: INT 21/AX=5F04h,INT 21/AX=5F05h,INT 21/AX=5F06h

Top
2F111F - INT 2F CU - NETWORK REDIRECTOR - PRINTER SETUP
INT 2F CU - NETWORK REDIRECTOR - PRINTER SETUP
	AX = 111Fh
	STACK: WORD function
		5E02h  set printer setup
		5E03h  get printer setup
		5E04h  set printer mode
		5E05h  get printer mode
Return: CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
	STACK unchanged
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: INT 21/AX=5E02h,INT 21/AX=5E03h,INT 21/AX=5E04h,INT 21/AX=5E05h

Top
2F1120 - INT 2F CU - NETWORK REDIRECTOR - FLUSH ALL DISK BUFFERS
INT 2F CU - NETWORK REDIRECTOR - FLUSH ALL DISK BUFFERS
	AX = 1120h
	DS = DOS DS
	???
Return: CF clear (successful)
Notes:	this function is called by the DOS 3.1+ kernel
	uses CDS array pointer and LASTDRIVE= entries in DOS list of lists
SeeAlso: INT 21/AH=0Dh,INT 21/AX=5D01h

Top
2F1121 - INT 2F CU - NETWORK REDIRECTOR - SEEK FROM END OF REMOTE FILE
INT 2F CU - NETWORK REDIRECTOR - SEEK FROM END OF REMOTE FILE
	AX = 1121h
	CX:DX = offset (in bytes) from end
	ES:DI -> SFT
	    SFT DPB field -> DPB of drive with file
	SS = DOS DS
Return: CF set on error
	    AL = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    DX:AX = new file position
Note:	this function is called by the DOS 3.1+ kernel, but only when seeking
	  from the end of a file opened with sharing modes set in such a
	  manner that another process is able to change the size of the file
	  while it is already open
SeeAlso: AX=1228h,INT 21/AH=42h

Top
2F1122 - INT 2F CU - NETWORK REDIRECTOR - PROCESS TERMINATION HOOK
INT 2F CU - NETWORK REDIRECTOR - PROCESS TERMINATION HOOK
	AX = 1122h
	SS = DOS DS
	DS = PSP of process about to terminate
Return: ???
Notes:	this function is called by the DOS 3.1+ kernel
	after calling this function, the kernel calls INT 2F/AX=111Dh
SeeAlso: AX=111Dh,INT 21/AH=4Ch,INT 60/DI=0601h

Top
2F1123 - INT 2F CU - NETWORK REDIRECTOR - QUALIFY REMOTE FILENAME
INT 2F CU - NETWORK REDIRECTOR - QUALIFY REMOTE FILENAME
	AX = 1123h
	DS:SI -> ASCIZ filename to canonicalize
	ES:DI -> 128-byte buffer for qualified name
Return: CF set if not resolved
Notes:	called by MS-DOS 3.1+ kernel, but not called by DR DOS 5.0 unless the
	  filename matches the name of a character device
	called first when DOS attempts to resolve a filename (unless inside an
	  AX=5D00h server call); if this fails, DOS resolves the name locally
SeeAlso: AX=1221h,INT 21/AH=60h

Top
2F1124 - INT 2F CU - NETWORK REDIRECTOR - TURN OFF REMOTE PRINTER
INT 2F CU - NETWORK REDIRECTOR - TURN OFF REMOTE PRINTER
	AX = 1124h
	ES:DI -> SFT
	SS = DOS DS
	???
Return: CX = ???
Note:	this function is called by the DOS 3.1+ kernel if AX=1126h
	  returns CF set
SeeAlso: AX=1126h

Top
2F1125 - INT 2F CU - NETWORK REDIRECTOR - REDIRECTED PRINTER MODE
INT 2F CU - NETWORK REDIRECTOR - REDIRECTED PRINTER MODE
	AX = 1125h
	STACK: WORD subfunction
		5D07h get print stream state
			Return: DL = current state
		5D08h set print stream state
			DL = new state
		5D09h finish print job
Return: CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
	STACK unchanged
Note:	this function is called by the DOS 3.1+ kernel
SeeAlso: INT 21/AX=5D07h,INT 21/AX=5D08h,INT 21/AX=5D09h

Top
2F1126 - INT 2F CU - NETWORK REDIRECTOR - REMOTE PRINTER ECHO ON/OFF
INT 2F CU - NETWORK REDIRECTOR - REMOTE PRINTER ECHO ON/OFF
	AX = 1126h
	ES:DI -> SFT for file handle 4???
	SS = DOS DS???
	???
Return: CF set on error
Notes:	this function is called by the DOS 3.1+ kernel
	called when print echoing (^P, ^PrtSc) changes state and STDPRN has
	  bit 11 of the device information word in the SFT set
SeeAlso: AX=1124h

Top
2F1127 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
	AX = 1127h
Return: CF set
	    AX = 0001h (invalid function) (see #01680 at INT 21/AH=59h/BX=0000h)

Top
2F1127BX4E57 - INT 2F - NetWare 4.0 - REMOTE FILE COPY
INT 2F - NetWare 4.0 - REMOTE FILE COPY
	AX = 1127h
	BX = 4E57h ('NW') (signature identifying this as a NetWare call)
	SI = source file handle
	DI = destination file handle
	DX:CX = number of bytes to copy, starting at current file position
Return: CF clear if successful
	CF set on error
	    AX = error code (05h,06h,0Bh,11h,3Bh) (see #01680)
	DX:CX = number of bytes successfully copied (file position updated)
Notes:	this is the only call which may be made directly to the NetWare
	  redirector from an application
	COMMAND.COM's COPY and DOS's XCOPY reportedly call INT 21/AX=1127h in
	  order to speed up copies between files on the same network server;
	  if error code 11h (not same device) is returned, the copy is
	  performed in the usual manner.  However, no such calls appear to
	  be present in MS-DOS 6.22.
	From the DR DOS "Panther" BETA COMMAND.COM (1992/06/22) up to some of
	  the Novell DOS 7 COMMAND.COM updates (1994/09/12), the shell made
	  calls to INT 2F/AX=11F0h to attempt "remote server COPYing". However,
	  this was removed from later releases of the shell because it stopped
	  Performance Technologies' PowerLAN 3.1 working. (A successor of
	  the DR-DOS 7.03 COMMAND.COM may possibly reintroduce this remote
	  copy feature.	 Probably it would then try both INT 2F/AX=1127h and
	  INT 2F/AX=11F0h.)
SeeAlso: INT 2F/AX=11F0h

Top
2F1128 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
	AX = 1128h
Return: CF set
	    AX = 0001h (invalid function) (see #01680 at INT 21/AH=59h/BX=0000h)

Top
2F1129 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - UNUSED
	AX = 1129h
Return: CF set
	    AX = 0001h (invalid function) (see #01680 at INT 21/AH=59h/BX=0000h)

Top
2F112A - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - CLOSE ALL FILES FOR PROCESS
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - CLOSE ALL FILES FOR PROCESS
	AX = 112Ah
	DS = DOS DS
	???
Return: ???
Note:	does something to each IFS driver

Top
2F112B - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GENERIC IOCTL
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GENERIC IOCTL
	AX = 112Bh
	SS = DOS DS
	CX = function/category
	DS:DX -> parameter block
	STACK: WORD value of AX on entry to INT 21 (440Ch or 440Dh)
	???
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Note:	this function is called by the DOS 4.0 kernel

Top
2F112C - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - "UPDATE_CB" - ???
INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - "UPDATE_CB" - ???
	AX = 112Ch
	SS = DOS DS
	SDA current SFT pointer -> SFT for file
	???
Return: CF set on error
Note:	called by SHARE in DOS 5.0-6.0

Top
2F112D - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - EXTENDED ATTRIBUTES
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - EXTENDED ATTRIBUTES
	AX = 112Dh
	BL = subfunction (value of AL on INT 21)
	    02h get extended attributes
	    03h get extended attribute properties
	    04h set extended attributes
		Return: CF clear
	    else ???
		Return: CX = ??? (00h or 02h for DOS 4.01)
	ES:DI -> SFT for file
	SS = DOS DS
Return: DS = DOS DS
Note:	this function is called by the DOS 4.0 kernel on INT 21/AX=5702h,
	  INT 21/AX=5703h, and INT 21/AX=5704h
SeeAlso: INT 21/AX=5702h,INT 21/AX=5703h,INT 21/AX=5704h,INT 21/AH=6Eh

Top
2F112E - INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - EXTENDED OPEN/CREATE FILE
INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - EXTENDED OPEN/CREATE FILE
	AX = 112Eh
	SS = DS = DOS DS
	ES:DI -> uninitialized SFT for file
	STACK: WORD file attribute for created/truncated file
			low byte = file attributes
			high byte = 00h normal create/open, 01h create new file
	SDA first filename pointer -> fully-qualified filename
	SDA extended file open action = action code
	      (see #01770 at INT 21/AX=6C00h)
	SDA extended file open mode = open mode for file (see INT 21/AX=6C00h)
Return: CF set on error
	    AX = error code
	CF clear if successful
	    CX = result code
		01h file opened
		02h file created
		03h file replaced (truncated)
	    SFT initialized (except handle count, which DOS manages itself)
Note:	this function is called by the DOS 4.0+ kernel
BUG:	this function is not called correctly under some DOS versions
	  (at least 5.0 and 6.2):
	    the file attribute on the stack is not correct if the action
	      code is 11h,
	    the result code in CX is not passed back to the application.
SeeAlso: AX=1115h,AX=1116h,AX=1117h,INT 21/AX=6C00h

Top
2F112F - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - IFS IOCTL
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - IFS IOCTL
	AX = 112Fh
	SS = DOS DS
	STACK: WORD function in low byte
		00h ???
		    DS:SI -> Current Directory Structure???
		    CL = drive (1=A:)
		01h ???
		    DS:SI -> ???
		    CL = file handle???
		02h ???
		    DS:SI -> Current Directory Structure???
		    DI = ???
		    CX = drive (1=A:)
	???
Return: CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
Note:	this function is called by the DOS 4.0 kernel
SeeAlso: INT 21/AH=6Bh

Top
2F1130 - INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET IFSFUNC SEGMENT
INT 2F CU - IFSFUNC.EXE (DOS 4.x only) - GET IFSFUNC SEGMENT
	AX = 1130h
Return: ES = CS of resident IFSFUNC

Top
2F1180 - INT 2F - LAN Manager Enhanced DOS Services - ???
INT 2F - LAN Manager Enhanced DOS Services - ???
	AX = 1180h
	???
Return: ???
SeeAlso: AX=1100h,AX=1181h,AX=118Eh

Top
2F1181 - INT 2F - LAN Manager Enhanced DOS Services - SET USER NAME???
INT 2F - LAN Manager Enhanced DOS Services - SET USER NAME???
	AX = 1181h
	???
Return: ???
SeeAlso: AX=1100h,AX=1180h

Top
2F1182 - INT 2F - LAN Manager Enhanced DOS Services - INSTALL SERVICE
INT 2F - LAN Manager Enhanced DOS Services - INSTALL SERVICE
	AX = 1182h
	???
Return: ???
SeeAlso: AX=1100h,AX=1180h

Top
2F1184 - INT 2F - LAN Manager Enhanced DOS - ???
INT 2F - LAN Manager Enhanced DOS - ???
	AX = 1184h
	???
Return: ???

Top
2F1186 - INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe
INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe
	AX = 1186h
	DS:SI -> stack frame (see #02607)
Return: CF clear if successful
	CF set if error
	    AX = error code
Note:	LAN Manager enhance mode adds features beyond the standard redirector
	  file/printer services
SeeAlso: AX=118Fh,AX=1190h,AX=1191h,INT 21/AX=5F39h

Format of LAN Manager DosReadAsynchNmPipe stack frame:
Offset	Size	Description	(Table 02607)
 00h	DWORD	-> number of bytes read
 04h	WORD	size of buffer
 06h	DWORD	-> buffer
 0Ah	DWORD	-> return code
 0Eh	DWORD	function to call on completion as function( char far *buffer )
 12h	WORD	handle

Top
2F118A - INT 2F - LAN Manager 2.0+ DOS Enhanced ENCRYPT.EXE - STREAM ENCRYPTION SERVICE
INT 2F - LAN Manager 2.0+ DOS Enhanced ENCRYPT.EXE - STREAM ENCRYPTION SERVICE
	AX = 118Ah
	BX = function (0000h or 0001h)
Return: CF clear if successful
	    AX = 1100h success
	CF set if error
	    AX = 0001h, etc.
SeeAlso: AX=1186h,AH=41h,AH=42h,AH=4Bh

Top
2F118B - INT 2F - LAN Manager Enhanced DOS - ???
INT 2F - LAN Manager Enhanced DOS - ???
	AX = 118Bh
	???
Return: ???

Top
2F118C - INT 2F - LAN Manager Enhanced DOS - ???
INT 2F - LAN Manager Enhanced DOS - ???
	AX = 118Ch
	???
Return: ???

Top
2F118E - INT 2F - LAN Manager Enhanced DOS - ???
INT 2F - LAN Manager Enhanced DOS - ???
	AX = 118Eh
	???
Return: ???

Top
2F118F - INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe
INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe
	AX = 118Fh
	DS:SI -> stack frame (see #02608)
Return: CF clear if successful
	CF set if error
	    AX = error code
SeeAlso: AX=1186h,AX=1191h,INT 21/AX=5F3Ah

Format of LAN Manager DosReadAsynchNmPipe stack frame:
Offset	Size	Description	(Table 02608)
 00h	DWORD	-> number of bytes read
 04h	WORD	Size of buffer
 06h	DWORD	-> buffer
 0Ah	DWORD	-> return code
 0Eh	DWORD	function to call on completion as function( char far *buffer )
 12h	WORD	handle

Top
2F1190 - INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe2
INT 2F - LAN Manager Enhanced DOS - DosReadAsynchNmPipe2
	AX = 1190h
	DS:SI -> stack frame (see #02609)
Return: CF clear if successful
	CF set if error
	    AX = error code
SeeAlso: AX=1186h,AX=1191h

Format of LAN Manager DosReadAsynchNmPipe2 stack frame:
Offset	Size	Description	(Table 02609)
 00h	DWORD	-> number of bytes read
 04h	WORD	size of buffer
 06h	DWORD	-> buffer
 0Ah	DWORD	-> return code
 0Eh	DWORD	function to call on completion as function( char far *buffer )
 12h	WORD	handle
 14h	DWORD	???

Top
2F1191 - INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe2
INT 2F - LAN Manager Enhanced DOS - DosWriteAsynchNmPipe2
	AX = 1191h
	DS:SI -> stack frame (see #02610)
Return: CF clear if successful
	CF set if error
	    AX = error code
SeeAlso: AX=118Fh,AX=1190h,INT 21/AX=5F3Ah

Format of LAN Manager DosReadAsynchNmPipe2 stack frame:
Offset	Size	Description	(Table 02610)
 00h	DWORD	-> number of bytes read
 04h	WORD	size of buffer
 06h	DWORD	-> buffer
 0Ah	DWORD	-> return code
 0Eh	DWORD	function to call on completion as function( char far *buffer )
 12h	WORD	handle
 14h	DWORD	???

Top
2F11F0 - INT 2F - Novell ??? - REMOTE FILE COPY
INT 2F - Novell ??? - REMOTE FILE COPY
	AX = 11F0h
	SI = source file handle
	DI = destination file handle
	DX:CX = number of bytes to copy, starting at current file position
	CF cleared
Return: CF clear:
	    AX = 11F0h	"no network there"
	    AX <> 11F0h if successful
	CF set on error "the request could not be handled"
	    AX = error code (05h,06h,0Bh,11h,3Bh) (see #01680)
	DX:CX = number of bytes successfully copied (file position updated)
Notes:	From the DR DOS "Panther" BETA COMMAND.COM (1992/06/22) up to some of
	  the Novell DOS 7 COMMAND.COM updates (1994/09/12), the shell made
	  calls to INT 2F/AX=11F0h to attempt "remote server COPYing". However,
	  this was removed from later releases of the shell because it 
	  interfered with Performance Technologies' PowerLAN 3.1. (A successor
	  of the DR-DOS 7.03 COMMAND.COM may possibly reintroduce this remote
	  copy feature. Probably it would then try both INT 2F/AX=1127h and
	  INT 2F/AX=11F0h.)
SeeAlso: INT 2F/AX=1127h

Top
2F1200 - INT 2F U - DOS 3.0+ internal - INSTALLATION CHECK
INT 2F U - DOS 3.0+ internal - INSTALLATION CHECK
	AX = 1200h
Return: AL = FFh (for compatibility with other INT 2F functions)

Top
2F1201 - INT 2F U - DOS 3.0+ internal - CLOSE CURRENT FILE
INT 2F U - DOS 3.0+ internal - CLOSE CURRENT FILE
	AX = 1201h
	SS = DOS DS = DOS kernel data seg (must be using a DOS internal stack)
	SDA current SFT pointer -> SFT of file to close
Return: CF set on error
	ES:DI -> SFT for file
	CX undefined (new reference count of SFT in many versions)
	BX destroyed
SeeAlso: AX=1106h,AX=1227h,INT 21/AH=3Eh

Top
2F1202 - INT 2F U - DOS 3.0+ internal - GET INTERRUPT ADDRESS
INT 2F U - DOS 3.0+ internal - GET INTERRUPT ADDRESS
	AX = 1202h
	STACK: WORD vector number
Return: ES:BX -> interrupt vector (DWORD containing handler's address)
	STACK unchanged

Top
2F1203 - INT 2F U - DOS 3.0+ internal - GET DOS DATA SEGMENT
INT 2F U - DOS 3.0+ internal - GET DOS DATA SEGMENT
	AX = 1203h
Return: DS = data segment of IBMDOS.COM/MSDOS.SYS
Note:	for DOS prior to version 5.0, the data segment is the same as the code
	  segment

Top
2F1204 - INT 2F U - DOS 3.0+ internal - NORMALIZE PATH SEPARATOR
INT 2F U - DOS 3.0+ internal - NORMALIZE PATH SEPARATOR
	AX = 1204h
	STACK: WORD character to normalize
Return: AL = normalized character (forward slash turned to backslash, all
		  others unchanged)
	ZF set if path separator
	STACK unchanged

Top
2F1205 - INT 2F U - DOS 3.0+ internal - OUTPUT CHARACTER TO STANDARD OUTPUT
INT 2F U - DOS 3.0+ internal - OUTPUT CHARACTER TO STANDARD OUTPUT
	AX = 1205h
	STACK: WORD character to output
Return: STACK unchanged
Note:	can be called only from within DOS

Top
2F1206 - INT 2F U - DOS 3.0+ internal - INVOKE CRITICAL ERROR
INT 2F U - DOS 3.0+ internal - INVOKE CRITICAL ERROR
	AX = 1206h
	DI = error code
	BP:SI -> device driver header (see #01646)
	SS = DOS DS (must be using a DOS internal stack)
	STACK: WORD value to be passed to INT 24 in AX
Return: AL = 0-3 for Abort, Retry, Ignore, Fail
	STACK unchanged
SeeAlso: INT 24

Top
2F1207 - INT 2F U - DOS 3.0+ internal - MAKE DISK BUFFER MOST-RECENTLY USED
INT 2F U - DOS 3.0+ internal - MAKE DISK BUFFER MOST-RECENTLY USED
	AX = 1207h
	DS:DI -> disk buffer
Return: nothing
Desc:	move the indicated buffer to the end of the disk buffer chain (least-
	  recently used is first); under DOS 3.3, the buffer is then moved to
	  the start of the disk buffer chain if it was marked unused
Notes:	can be called only from within DOS
	this function is nearly the same as AX=120Fh
SeeAlso: AX=120Fh

Top
2F1208 - INT 2F U - DOS 3.0+ internal - DECREMENT SFT REFERENCE COUNT
INT 2F U - DOS 3.0+ internal - DECREMENT SFT REFERENCE COUNT
	AX = 1208h
	ES:DI -> SFT
Return: AX = original value of reference count
Notes:	if the reference count was 1, it is set to FFFFh ("busy", since 0
	  indicates that the SFT is not in use).  It is the caller's
	  responsibility to set the reference count to zero after cleaning up.
	used by network redirectors such as MSCDEX
SeeAlso: AX=1106h

Top
2F1209 - INT 2F U - DOS 3.0+ internal - FLUSH AND FREE DISK BUFFER
INT 2F U - DOS 3.0+ internal - FLUSH AND FREE DISK BUFFER
	AX = 1209h
	DS:DI -> disk buffer
Return: disk buffer marked unused, contents written to disk if buffer dirty
Note:	can be called only from within DOS
SeeAlso: AX=120Eh,AX=1215h

Top
2F120A - INT 2F U - DOS 3.0+ internal - PERFORM CRITICAL ERROR INTERRUPT
INT 2F U - DOS 3.0+ internal - PERFORM CRITICAL ERROR INTERRUPT
	AX = 120Ah
	DS = SS = DOS DS (must be using a DOS internal stack)
	STACK: WORD extended error code
Return: AL = user response (0=ignore, 1=retry, 2=abort, 3=fail)
	CF clear if retry, set otherwise
	STACK unchanged
Notes:	can only be called during a DOS function call, as it uses various
	  fields in the SDA to set up the registers for the INT 24
	reportedly sets current DPB's first root directory sector to 1
SeeAlso: INT 24

Top
2F120B - INT 2F U - DOS 3.0+ internal - SIGNAL SHARING VIOLATION TO USER
INT 2F U - DOS 3.0+ internal - SIGNAL SHARING VIOLATION TO USER
	AX = 120Bh
	ES:DI -> system file table entry for previous open of file
	STACK: WORD extended error code (should be 20h--sharing violation)
Return: CF clear if operation should be retried
	CF set if operation should not be retried
	    AX = error code (20h) (see #01680 at INT 21/AH=59h/BX=0000h)
	STACK unchanged
Notes:	can only be called during a DOS function call
	should only be called if an attempt was made to open an already-open
	  file contrary to the sharing rules
	invokes INT 24 if SFT file opened via FCB or in compatibility mode with
	  inheritance allowed

Top
2F120C - INT 2F U - DOS 3.0+ internal - OPEN DEVICE AND SET SFT OWNER/MODE
INT 2F U - DOS 3.0+ internal - OPEN DEVICE AND SET SFT OWNER/MODE
	AX = 120Ch
	SDA current SFT pointer -> SFT for file
	DS = DOS DS
	SS = DOS DS (must be using a DOS internal stack)
Return: ES, DI, AX destroyed
Notes:	invokes "device open" call on device driver for SFT
	changes owner of last-accessed SFT to calling process if it was opened
	  via FCB
	called by network redirectors such as MSCDEX

Top
2F120D - INT 2F U - DOS 3.0+ internal - GET DATE AND TIME
INT 2F U - DOS 3.0+ internal - GET DATE AND TIME
	AX = 120Dh
	SS = DOS DS (must be using a DOS internal stack)
Return: AX = current date in packed format (see #01666 at INT 21/AX=5700h)
	DX = current time in packed format (see #01665 at INT 21/AX=5700h)
SeeAlso: INT 21/AH=2Ah,INT 21/AH=2Ch

Top
2F120E - INT 2F U - DOS 3.0+ internal - MARK ALL DISK BUFFERS UNREFERENCED
INT 2F U - DOS 3.0+ internal - MARK ALL DISK BUFFERS UNREFERENCED
	AX = 120Eh
	SS = DOS DS (must be using a DOS internal stack)
Return: DS:DI -> first disk buffer
Notes:	clears "referenced" flag on all disk buffers
	in DOS 5+, this has become essentially a NOP, invoking the same code
	  used by AX=1224h (SHARING DELAY)
SeeAlso: AX=1209h,AX=1210h,INT 21/AH=0Dh

Top
2F120F - INT 2F U - DOS 3.0+ internal - MAKE BUFFER MOST RECENTLY USED
INT 2F U - DOS 3.0+ internal - MAKE BUFFER MOST RECENTLY USED
	AX = 120Fh
	DS:DI -> disk buffer
	SS = DOS DS (must be using a DOS internal stack)
Return: DS:DI -> next buffer in buffer list
Desc:	move the indicated buffer to the end of the disk buffer chain (least-
	  recently used is first); under DOS 3.3, the buffer is then moved to
	  the start of the disk buffer chain if it was marked unused
Note:	this function is the same as AX=1207h except that it returns a
	  pointer to the buffer following the specified buffer in the buffer
	  chain
SeeAlso: AX=1207h

Top
2F1210 - INT 2F U - DOS 3.0+ internal - FIND UNREFERENCED DISK BUFFER
INT 2F U - DOS 3.0+ internal - FIND UNREFERENCED DISK BUFFER
	AX = 1210h
	DS:DI -> first disk buffer to check
Return: ZF clear if found
	    DS:DI -> first unreferenced disk buffer
	ZF set if not found
Note:	in DOS 5+, this has become essentially a NOP, invoking the same code
	  used by AX=1224h (SHARING DELAY)
SeeAlso: AX=120Eh

Top
2F1211 - INT 2F U - DOS 3.0+ internal - NORMALIZE ASCIZ FILENAME
INT 2F U - DOS 3.0+ internal - NORMALIZE ASCIZ FILENAME
	AX = 1211h
	DS:SI -> ASCIZ filename to normalize
	ES:DI -> buffer for normalized filename
Return: destination buffer filled with uppercase filename, with slashes turned
	to backslashes
SeeAlso: AX=121Eh,AX=1221h

Top
2F1212 - INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
	AX = 1212h
	ES:DI -> ASCIZ string
Return: CX = length of string
SeeAlso: AX=1225h

Top
2F1213 - INT 2F U - DOS 3.0+ internal - UPPERCASE CHARACTER
INT 2F U - DOS 3.0+ internal - UPPERCASE CHARACTER
	AX = 1213h
	STACK: WORD character to convert to uppercase
Return: AL = uppercase character
	STACK unchanged

Top
2F1214 - INT 2F U - DOS 3.0+ internal - COMPARE FAR POINTERS
INT 2F U - DOS 3.0+ internal - COMPARE FAR POINTERS
	AX = 1214h
	DS:SI = first pointer
	ES:DI = second pointer
Return: ZF set if pointers are equal, ZF clear if not equal
	CF clear if pointers equal, CF set if not

Top
2F1215 - INT 2F U - DOS 3.0+ internal - FLUSH BUFFER
INT 2F U - DOS 3.0+ internal - FLUSH BUFFER
	AX = 1215h
	DS:DI -> disk buffer
	SS = DOS DS (must be using a DOS internal stack)
	STACK: WORD drives for which to skip buffer
		ignore buffer if drive same as high byte, or bytes differ and
		  the buffer is for a drive OTHER than that given in low byte
Return: STACK unchanged
Note:	can be called only from within DOS
SeeAlso: AX=1209h

Top
2F1216 - INT 2F U - DOS 3.0+ internal - GET ADDRESS OF SYSTEM FILE TABLE ENTRY
INT 2F U - DOS 3.0+ internal - GET ADDRESS OF SYSTEM FILE TABLE ENTRY
	AX = 1216h
	BX = system file table entry number
Return: CF clear if successful
	    ES:DI -> system file table entry
	    BX = relative entry number in system file table containing entry
	    AX destroyed
	CF set if BX greater than FILES=
Note:	supported by DR DOS 5+
SeeAlso: AX=1220h

Top
2F1217 - INT 2F U - DOS 3.0+ internal - GET CURRENT DIRECTORY STRUCTURE FOR DRIVE
INT 2F U - DOS 3.0+ internal - GET CURRENT DIRECTORY STRUCTURE FOR DRIVE
	AX = 1217h
	SS = DOS DS (must be using a DOS internal stack)
	STACK: WORD drive (0 = A:, 1 = B:, etc)
Return: CF set on error
	    (drive > LASTDRIVE)
	CF clear if successful
	    DS:SI -> current directory structure for specified drive
	STACK unchanged
SeeAlso: AX=1219h

Top
2F1218 - INT 2F U - DOS 3.0+ internal - GET CALLER'S REGISTERS
INT 2F U - DOS 3.0+ internal - GET CALLER'S REGISTERS
	AX = 1218h
Return: DS:SI -> saved caller's AX,BX,CX,DX,SI,DI,BP,DS,ES (on stack)
Note:	only valid while within DOS

Top
2F1219 - INT 2F U - DOS 3.0+ internal - SET DRIVE???
INT 2F U - DOS 3.0+ internal - SET DRIVE???
	AX = 1219h
	SS = DOS DS (must be using a DOS internal stack)
	STACK: WORD drive (0 = default, 1 = A:, etc)
Return: ???
	STACK unchanged
Notes:	calls AX=1217h
	builds a current directory structure if inside server call
	  (INT 21/AX=5D00h)
SeeAlso: AX=1217h,AX=121Fh

Top
2F121A - INT 2F U - DOS 3.0+ internal - GET FILE'S DRIVE
INT 2F U - DOS 3.0+ internal - GET FILE'S DRIVE
	AX = 121Ah
	DS:SI -> filename
Return: AL = drive (0 = default, 1 = A:, etc, FFh = invalid)
	DS:SI -> filename without leading X: (if present)
SeeAlso: INT 21/AH=19h,INT 21/AH=60h

Top
2F121B - INT 2F U - DOS 3.0+ internal - SET YEAR/LENGTH OF FEBRUARY
INT 2F U - DOS 3.0+ internal - SET YEAR/LENGTH OF FEBRUARY
	AX = 121Bh
	CL = year - 1980
Return: AL = number of days in February
Note:	requires DS to be set to the DOS data segment
SeeAlso: INT 21/AH=2Bh"DATE"

Top
2F121C - INT 2F U - DOS 3.0+ internal - CHECKSUM MEMORY
INT 2F U - DOS 3.0+ internal - CHECKSUM MEMORY
	AX = 121Ch
	DS:SI -> start of memory to checksum
	CX = number of bytes
	DX = initial checksum
	SS = DOS DS (must be using a DOS internal stack)
Return: AX, CX destroyed
	DX = checksum
	DS:SI -> first byte after checksummed range
Notes:	used by DOS to determine day count since 1980/1/1 given a date
	supported by DR DOS 5.0+
SeeAlso: AX=121Dh

Top
2F121D - INT 2F U - DOS 3.0+ internal - SUM MEMORY
INT 2F U - DOS 3.0+ internal - SUM MEMORY
	AX = 121Dh
	DS:SI -> memory to add up
	CX = 0000h
	DX = limit
Return: AL = byte which exceeded limit
	CX = number of bytes before limit exceeded
	DX = remainder after adding first CX bytes
	DS:SI -> byte beyond the one which exceeded the limit
Notes:	used by DOS to determine year or month given day count since 1980/1/1
	supported by DR DOS 5.0+
SeeAlso: AX=121Ch

Top
2F121E - INT 2F U - DOS 3.0+ internal - COMPARE FILENAMES
INT 2F U - DOS 3.0+ internal - COMPARE FILENAMES
	AX = 121Eh
	DS:SI -> first ASCIZ filename
	ES:DI -> second ASCIZ filename
Return: ZF set if filenames equivalent, ZF clear if not
Note:	supported by DR DOS 5.0+
SeeAlso: AX=1211h,AX=1221h

Top
2F121F - INT 2F U - DOS 3.0+ internal - BUILD CURRENT DIRECTORY STRUCTURE
INT 2F U - DOS 3.0+ internal - BUILD CURRENT DIRECTORY STRUCTURE
	AX = 121Fh
	SS = DOS DS (must be using a DOS internal stack)
	STACK: WORD drive letter
Return: ES:DI -> current directory structure (will be overwritten by next call)
	STACK unchanged

Top
2F1220 - INT 2F U - DOS 3.0+ internal - GET JOB FILE TABLE ENTRY
INT 2F U - DOS 3.0+ internal - GET JOB FILE TABLE ENTRY
	AX = 1220h
	BX = file handle
Return: CF set on error
	    AL = 6 (invalid file handle)
	CF clear if successful
	    ES:DI -> JFT entry for file handle in current process
Notes:	the byte pointed at by ES:DI contains the number of the SFT for the
	  file handle, or FFh if the handle is not open
	supported by DR DOS 5.0+
SeeAlso: AX=1216h,AX=1229h

Top
2F1221 - INT 2F U - DOS 3.0+ internal - CANONICALIZE FILE NAME
INT 2F U - DOS 3.0+ internal - CANONICALIZE FILE NAME
	AX = 1221h
	DS:SI -> file name to be fully qualified
	ES:DI -> 128-byte buffer for resulting canonical file name
	SS = DOS DS (must be using a DOS internal stack)
Return: (see INT 21/AH=60h)
Note:	identical to INT 21/AH=60h
SeeAlso: AX=1123h,INT 21/AH=60h

Top
2F1222 - INT 2F U - DOS 3.0+ internal - SET EXTENDED ERROR INFO
INT 2F U - DOS 3.0+ internal - SET EXTENDED ERROR INFO
	AX = 1222h
	SS = DOS data segment
	SS:SI -> 4-byte records
		BYTE	error code, FFh = last record
		BYTE	error class, FFh = don't change
		BYTE	suggested action, FFh = don't change
		BYTE	error locus, FFh = don't change
	SDA error code set
Return: SI destroyed
	SDA error class, error locus, and suggested action fields set
Note:	can be called only from within DOS
SeeAlso: AX=122Dh,INT 21/AH=59h/BX=0000h,INT 21/AX=5D0Ah

Top
2F1223 - INT 2F U - DOS 3.0+ internal - CHECK IF CHARACTER DEVICE
INT 2F U - DOS 3.0+ internal - CHECK IF CHARACTER DEVICE
	AX = 1223h
	DS = DOS DS
	SS = DOS DS (must be using a DOS internal stack)
	SDA+218h (DOS 3.10-3.30) = eight-character blank-padded name
	SDA+22Bh (DOS 4.0-6.0) = eight-character blank-padded name
	SDA file attribute field set
	direction flag clear (i.e. CLD)
Return: CF set if no character device by that name found
	CF clear if found
	    BH bits 4-0 copied from low byte of device attribute word
	    BH bit 5 set, bits 7-6 clear
Notes:	can only be called from within DOS
	the check is skipped (always says "not device") if the volume ID bit
	  of the file attribute field is set on entry
SeeAlso: INT 21/AX=5D06h,INT 21/AX=5D0Bh

Top
2F1224 - INT 2F U - DOS 3.0+ internal - SHARING RETRY DELAY
INT 2F U - DOS 3.0+ internal - SHARING RETRY DELAY
	AX = 1224h
	SS = DOS DS (must be using a DOS internal stack)
Return: after delay set by INT 21/AX=440Bh, unless in server call
	  (INT 21/AX=5D00h)
Note:	delay is dependent on the processor speed, and is skipped entirely if
	  inside a server call
SeeAlso: INT 21/AX=440Bh,INT 21/AH=52h,INT 62/AX=0097h

Top
2F1225 - INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
INT 2F U - DOS 3.0+ internal - GET LENGTH OF ASCIZ STRING
	AX = 1225h
	DS:SI -> ASCIZ string
Return: CX = length of string
Note:	supported by DR DOS 5.0+
SeeAlso: AX=1212h

Top
2F1226 - INT 2F U - DOS 3.3+ internal - OPEN FILE
INT 2F U - DOS 3.3+ internal - OPEN FILE
	AX = 1226h
	CL = access mode
	DS:DX -> ASCIZ filename
	SS = DOS DS (must be using a DOS internal stack)
Return: CF set on error
	    AL = error code (see #01680 at INT 21/AH=59h/BX=0000h)
	CF clear if successful
	    AX = file handle
Notes:	can only be called from within DOS
	equivalent to INT 21/AH=3Dh
	used by NLSFUNC to access COUNTRY.SYS when invoked by the DOS kernel
SeeAlso: AX=1227h,INT 21/AH=3Dh

Top
2F1227 - INT 2F U - DOS 3.3+ internal - CLOSE FILE
INT 2F U - DOS 3.3+ internal - CLOSE FILE
	AX = 1227h
	BX = file handle
	SS = DOS DS (must be using a DOS internal stack)
Return: CF set on error
	    AL = 06h invalid file handle
	CF clear if successful
Notes:	can only be called from within DOS
	equivalent to INT 21/AH=3Eh
	used by NLSFUNC to access COUNTRY.SYS when invoked by the DOS kernel
SeeAlso: AX=1106h,AX=1201h,AX=1226h,INT 21/AH=3Eh

Top
2F1228BP4200 - INT 2F U - DOS 3.3+ internal - MOVE FILE POINTER
INT 2F U - DOS 3.3+ internal - MOVE FILE POINTER
	AX = 1228h
	BP = 4200h, 4201h, 4202h (see INT 21/AH=42h)
	BX = file handle
	CX:DX = offset in bytes
	SS = DOS DS (must be using a DOS internal stack)
Return: as for INT 21/AH=42h
Notes:	equivalent to INT 21/AH=42h, but may only be called from inside a DOS
	  function call
	sets user stack frame pointer to dummy buffer, moves BP to AX, performs
	  LSEEK, and restores frame pointer
	used by NLSFUNC to access COUNTRY.SYS when invoked by the DOS kernel
SeeAlso: INT 21/AH=42h

Top
2F1229 - INT 2F U - DOS 3.3+ internal - READ FROM FILE
INT 2F U - DOS 3.3+ internal - READ FROM FILE
	AX = 1229h
	BX = file handle
	CX = number of bytes to read
	DS:DX -> buffer
	SS = DOS DS (must be using a DOS internal stack)
Return: as for INT 21/AH=3Fh"DOS"
Notes:	equivalent to INT 21/AH=3Fh, but may only be called when already inside
	  a DOS function call
	used by NLSFUNC to access COUNTRY.SYS when invoked by the DOS kernel
SeeAlso: AX=1226h,INT 21/AH=3Fh"DOS"

Top
2F122A - INT 2F U - DOS 3.3+ internal - SET FASTOPEN ENTRY POINT
INT 2F U - DOS 3.3+ internal - SET FASTOPEN ENTRY POINT
	AX = 122Ah
	BX = entry point to set (0001h or 0002h)
	DS:SI -> FASTOPEN entry point (see #02611,#02612)
		(entry point not set if SI = FFFFh for DOS 4.0+)
Return: CF set if specified entry point already set
Notes:	entry point in BX is ignored under DOS 3.30
	both entry points set to same handler by DOS 4.01
	DOS 5.0 and 6.0 only set entry point 1

(Table 02611)
Values DOS 3.30+ FASTOPEN entry point is called with:
	AL = 01h  Lookup
	    CX = ??? seems to be offset
	    DI = ??? seems to be offset
	    SI = offset in DOS DS of filename
	AL = 02h  insert file into FASTOPEN cache
	AL = 03h  delete file from FASTOPEN cache
	    SI = offset in DOS DS of filename
	AL = 04h  purge FASTOPEN cache
	    AH = subfunction (00h,01h,02h)
	    ES:DI -> ???
	    CX = ??? (subfunctions 01h and 02h only)
Returns: CF set on error or not installed
Note: function 03h calls function 01h first
SeeAlso: #02612,#02613

(Table 02612)
Values PC-DOS 4.01 FASTOPEN is additionally called with:
	AL = 04h ???
	    AH = 03h
	    ???
	AL = 05h ???
	AL = 0Bh ???
	AL = 0Ch ???
	AL = 0Dh ???
	AL = 0Eh ???
	AL = 0Fh ???
	AL = 10h ???
SeeAlso: #02611,#02613

(Table 02613)
Values MS-DOS 5.0-6.0 FASTOPEN is additionally called with:
	AL = 04h  purge FASTOPEN cache
	    AH = 03h
	    ???
	AL = 05h ???
	    DL = drive (00h = A:)
	    ???
	AL = 06h ???
	    ???
SeeAlso: #02611,#02612

Top
2F122B - INT 2F U - DOS 3.3+ internal - IOCTL
INT 2F U - DOS 3.3+ internal - IOCTL
	AX = 122Bh
	BP = 44xxh
	SS = DOS DS (must be using a DOS internal stack)
	additional registers as appropriate for INT 21/AX=44xxh
Return: as for INT 21/AH=44h
Notes:	equivalent to INT 21/AH=44h, but may only be called when already inside
	  a DOS function call
	sets user stack frame pointer to dummy buffer, moves BP to AX, performs
	  IOCTL, and restores frame pointer
	used by NLSFUNC in accessing COUNTRY.SYS when invoked by the DOS kernel
SeeAlso: INT 21/AH=44h

Top
2F122C - INT 2F U - DOS 3.3+ internal - GET DEVICE CHAIN
INT 2F U - DOS 3.3+ internal - GET DEVICE CHAIN
	AX = 122Ch
Return: BX:AX -> header of second device driver (NUL is first) in driver chain
Note:	although this function exists in DR DOS 5.0 and Novell DOS 7, it
	  always returns 0000h:0000h prior to Novell DOS 7 Update 15
SeeAlso: INT 21/AH=52h

Top
2F122D - INT 2F U - DOS 3.3+ internal - GET EXTENDED ERROR CODE
INT 2F U - DOS 3.3+ internal - GET EXTENDED ERROR CODE
	AX = 122Dh
	SS = DOS DS
Return: AX = current extended error code
SeeAlso: AX=1222h,INT 21/AH=59h/BX=0000h

Top
2F122E - INT 2F U - DOS 4.0+ internal - GET OR SET ERROR TABLE ADDRESSES
INT 2F U - DOS 4.0+ internal - GET OR SET ERROR TABLE ADDRESSES
	AX = 122Eh
	DL = subfunction
	    00h get standard DOS error table (see #02614)
		Return: ES:DI -> error table
				 (DOS 4: errors 00h-12h,50h-5Bh)
				 (DOS 5: errors 00h-26h,4Fh,51h-59h)
	    01h set standard DOS error table
		ES:DI -> error table
	    02h get parameter error table (errors 00h-0Ah)
		Return: ES:DI -> error table
	    03h set parameter error table
		ES:DI -> error table
	    04h get critical/SHARE error table (errors 13h-2Bh)
		Return: ES:DI -> error table
	    05h set critical/SHARE error table
		ES:DI -> error table
	    06h get ??? error table
		Return: ES:DI -> error table or 0000h:0000h
	    07h set ??? error table
		ES:DI -> error table
	    08h get error message retriever (see #02615)
		Return: ES:DI -> FAR procedure to fetch error message
	    09h set ??? error table
		ES:DI -> error table
Notes:	if the returned segment on a "get" is 0001h, then the offset specifies
	  the offset of the error message table within COMMAND.COM, and the
	  procedure returned by DL=08h should be called
	DOS 5+ COMMAND.COM does not allow setting any of the addresses (calls
	  with DL odd are ignored); they are always returned with segment 0001h
	for DOS 5.0, the standard and critical/SHARE error tables are combined
	  into a single error table
SeeAlso: AX=0500h,INT 21/AH=59h/BX=0000h

Format of DOS 4.x error table:
Offset	Size	Description	(Table 02614)
 00h	BYTE	FFh
 01h  2 BYTEs	04h,00h (DOS version???)
 03h	BYTE	number of error headers following
 04h 2N WORDs	table of all error headers for table
		Offset	Size	Description
		 00h	WORD	error message number
		 02h	WORD	offset of error message from start of header
				error messages are count byte followed by msg
Note:	DOS 5 error tables consist of one word per error number; each word
	  contains either the offset of a counted string or 0000h

(Table 02615)
Call error retrieval function with:
	AX = error number (see #02616)
	DI = offset of error table
Return: ES:DI -> error message (counted string)
Notes:	this function needs to access COMMAND.COM if the messages were not
	  loaded into memory permanently with /MSG; the caller should assume
	  that the returned message will be overwritten by the next call of
	  the function
	supported by DR DOS 5.0

(Table 02616)
Values for parameter errors:
 01h	Too many parameters
 02h	Required Parameter missing
 03h	Invalid switch
 04h	Invalid keyword
 06h	Parameter value not in allowed range
 07h	Parameter value not allowed
 08h	Parameter value not allowed
 09h	Parameter format not correct
 0Ah	Invalid parameter
 0Bh	Invalid parameter combination

Top
2F122F - INT 2F U - DOS 4.x internal - SET DOS VERSION NUMBER TO RETURN
INT 2F U - DOS 4.x internal - SET DOS VERSION NUMBER TO RETURN
	AX = 122Fh
	DX = DOS version number (0000h = return true DOS version)
Notes:	not available under DR DOS 5.0 or 6.0, or Novell DOS 7
	supported by FREEVER.COM, a freeware DOS version faking TSR by Matthias
	  Paul
SeeAlso: INT 21/AH=30h,INT 21/AX=3306h,INT 2F/AX=E000h"SETDRVER"

Top
2F1230 - INT 2F U - Windows95 - FIND SFT ENTRY IN INTERNAL FILE TABLES
INT 2F U - Windows95 - FIND SFT ENTRY IN INTERNAL FILE TABLES
	AX = 1230h
	ES:DI -> SFT entry
Return: CF clear if SFT found in internal table
	CF set if SFT not in any internal file table
	    AX = 0000h
	    SI:CX = 32-bit starting cluster number for directory
	    DX = directory entry number
	    BX = index into new file system table
Notes:	the new file system table from which the return values are taken is
	  reported to be statically allocated with 20 entries, and used only
	  for FCB calls
	this function is not supported by DR-DOS 7.03 or earlier, by S/DOS 1.0,
	  or by PTS-DOS 6.51
BUG:	Win95-OSR2 is reported to have a bug that can potentially corrupt
	  memory if SFT tables are "arranged poorly"
SeeAlso: AX=1231h,AX=1200h

Top
2F1231 - INT 2F U - Windows95 - SET/CLEAR "REPORT WINDOWS TO DOS PROGRAMS" FLAG
INT 2F U - Windows95 - SET/CLEAR "REPORT WINDOWS TO DOS PROGRAMS" FLAG
	AX = 1231h
	DL = function
	    00h set byte after "IsWIN386" to 01h
	    01h set "IsWIN386" bit 1
	    02h clear "IsWIN386" bit 1
	    else
		Return:	CF set
			AX = 0001h
Return: CF clear
	AX = 0000h
Note:	this function is not supported by DR-DOS 7.03 or earlier, by S/DOS 1.0,
	  or by PTS-DOS 6.51
BUG:	Windows98 will crash the system if DL>02h on entry due to an off-by-1
	  conditional jump; if the jump were correct, the function would return
	  CF set/AX=0001h as for Windows95
SeeAlso: AX=1230h,AX=1200h

Top
2F1250 - INT 2F U - PTS-DOS - SET MACHINE ID
INT 2F U - PTS-DOS - SET MACHINE ID
	AX = 1250h
	???
Return: ???
Note:	This is known to be supported by Paragon Technology Systems PTS-DOS
	  sometime before 6.51, but is known not to be supported by S/DOS 1.0
	  (which derived from PTS-DOS 6.51)
SeeAlso: AX=1251h

Top
2F1251 - INT 2F U - PTS-DOS - GET MACHINE ID
INT 2F U - PTS-DOS - GET MACHINE ID
	AX = 1251h
	???
Return: ???
Note:	This is known to be supported by Paragon Technology Systems PTS-DOS
	  sometime before 6.51, but is known not to be supported by S/DOS 1.0
	  (which derived from PTS-DOS 6.51)
SeeAlso: AX=1250h

Top
2F1252 - INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - SET SFT INCREMENT
INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - SET SFT INCREMENT
	AX = 1252h
	BX = new SFT increment
Return: ???
Note:	This function is known to be supported by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0 and probably was also supported
	  in earlier releases.
SeeAlso: AX=1253h

Top
2F1253 - INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - GET SFT INCREMENT
INT 2F U - PTS-DOS 6.51, S/DOS 1.0+ - GET SFT INCREMENT
	AX = 1253h
Return: BX = current SFT increment
	AX = ???
Note:	This function is known to be supported by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0 and probably was also supported
	  in earlier releases.
SeeAlso: AX=1252h

Top
2F1260 - INT 2F C - PTS-DOS 6.51, S/DOS 1.0+ - "EMPTY" (RESERVED FOR INPUT STRING)
INT 2F C - PTS-DOS 6.51, S/DOS 1.0+ - "EMPTY" (RESERVED FOR INPUT STRING)
	AX = 1260h
	ES:DI -> string buffer (see getstr)
	DL = extended keystroke code or FFh if ENTER
Return: AX = 0000h (default handler in the kernel)
	CF set if action done, all registers preserved
Notes:	This function is known to be handled by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0, and probably was also handled
	  in earlier releases.
	The default handler in the kernel justs XORs AX,AX and returns.
	This is reserved to be invoked in input string

Top
2F1261 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET FIRST UMB
INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET FIRST UMB
	AX = 1261h
Return: AX = address of first UMB or 1 if invalid function.
Note:	This function is known to be supported by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0, and probably was also supported
	  in earlier releases.

Top
2F1262 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET DOS COLOR
INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - GET DOS COLOR
	AX = 1262h
Return: AL = current video attribute used by DOS functions
Note:	This function is known to be supported by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0, and probably was also supported
	  in earlier releases.
SeeAlso: AX=1263h

Top
2F1263 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - SET DOS COLOR
INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - SET DOS COLOR
	AX = 1263h
	DL = new video attribute to be used by DOS functions
Return: ???
Note:	This function is known to be supported by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0, and probably was also supported
	  in earlier releases.
SeeAlso: AX=1262h

Top
2F1270 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - "SYSBELL" - EMIT A BEEP
INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - "SYSBELL" - EMIT A BEEP
	AX = 1270h
Return: ???
Note:	This function is known to be supported by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0, and probably was also supported
	  in earlier releases.
SeeAlso: AX=1271h

Top
2F1271 - INT 2F C - PTS-DOS, S/DOS - RESERVED FOR BEEP
INT 2F C - PTS-DOS, S/DOS - RESERVED FOR BEEP
	AX = 1271h
Return: ???
Note:	According to the Paragon Technology Systems S/DOS 1.0 sources,
	  which derived from PTS-DOS 6.51, this is reserved for a "BEEP"
	  function. However, S/DOS 1.0 does not handle this function by
	  itself.
SeeAlso: AX=1270h

Top
2F12F0 - INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - BACKDOOR INTERCEPT INT 2Fh CHAIN
INT 2F - PTS-DOS 6.51, S/DOS 1.0+ - BACKDOOR INTERCEPT INT 2Fh CHAIN
	AX = 12F0h
	CX:DX -> user INT 2F handler
	CF set
Return: CF clear if successful
	    CX:DX -> previous INT 2F handler
	CF set on error
Notes:	This function is known to be supported by Paragon Technology Systems
	  PTS-DOS 6.51 and S/DOS 1.0, and probably was also supported
	  in earlier releases.  It is handled from within the kernel's
	  INT 2Fh dispatcher.
	Resident system extensions should call INT 2Fh/12F0h to intercept
	  the INT 2Fh chain. The main idea of this call is to allow them to
	  be moved to the HMA and intercept INT 2Fh without querying A20 state
	  and without interception of the INT2Fh vector. This is why the
	  "Chain2F" variable must be instanced by placing it to the SDA.
	On chain entry of the far procedure, CF must be set.  All registers
	  except for AX, BP, and DS remain unchanged. If a handler cannot
	  process the call, it must set CF and do a far jump to the previous
	  one in the chain in order to indicate an error.  If CF is still set
	  on exit, the call will be ignored.

Top
2F12F1 - INT 2F - PTS-DOS, S/DOS - RESERVED
INT 2F - PTS-DOS, S/DOS - RESERVED
	AX = 12F1h-12FFh
Return: ???
Note:	According to the Paragon Technology Systems S/DOS 1.0 sources,
	  which derived from PTS-DOS 6.51, these functions are reserved for
	  future use. However, S/DOS 1.0 does not make use of them itself.

Top
2F12FFBL00 - INT 2F - FreeDOS - FDAK-DDT - INSTALLATION CHECK / STATUS CHECK
INT 2F - FreeDOS - FDAK-DDT - INSTALLATION CHECK / STATUS CHECK
	AX = 12FFh
	BL = 00h
Return: AL = DDh if installed
	    BH = state (00h disabled, nonzero enabled)
	    BL = readonly flag (00h writable, nonzero read-only)
Program: FDAK-DDT is the FreeDOS Alternative Kernel Device Drivers Testing
	  release by Yury A. Semenov
SeeAlso: AX=12FFh/BL=07h

Top
2F12FFBL01 - INT 2F - FreeDOS - FDAK-DDT - ENABLE FDAK DRIVERS
INT 2F - FreeDOS - FDAK-DDT - ENABLE FDAK DRIVERS
	AX = 12FFh
	BL = 01h
SeeAlso: AX=12FFh/BL=00h,AX=12FFh/BL=02h

Top
2F12FFBL02 - INT 2F - FreeDOS - FDAK-DDT - DISABLE FDAK DRIVERS
INT 2F - FreeDOS - FDAK-DDT - DISABLE FDAK DRIVERS
	AX = 12FFh
	BL = 02h
SeeAlso: AX=12FFh/BL=00h,AX=12FFh/BL=01h

Top
2F12FFBL03 - INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-ONLY
INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-ONLY
	AX = 12FFh
	BL = 03h
	???
SeeAlso: AX=12FFh/BL=00h,AX=12FFh/BL=04h

Top
2F12FFBL04 - INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-WRITE
INT 2F - FreeDOS - FDAK-DDT - SWITCH BLOCK DEVICE TO READ-WRITE
	AX = 12FFh
	BL = 04h
	???
SeeAlso: AX=12FFh/BL=00h,AX=12FFh/BL=03h

Top
2F12FFBL05 - INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR ON
INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR ON
	AX = 12FFh
	BL = 05h
Note:	not yet implemented as of January 1996
SeeAlso: AX=12FFh/BL=00h,AX=12FFh/BL=06h

Top
2F12FFBL06 - INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR OFF
INT 2F - FreeDOS - FDAK-DDT - TURN ACTIVITY INDICATOR OFF
	AX = 12FFh
	BL = 06h
Note:	not yet implemented as of January 1996
SeeAlso: AX=12FFh/BL=00h,AX=12FFh/BL=05h

Top
2F12FFBL07 - INT 2F - FreeDOS - FDAK-DDT - UNINSTALL
INT 2F - FreeDOS - FDAK-DDT - UNINSTALL
	AX = 12FFh
	BL = 07h
Return: ES = segment of FDAK memory block
Note:	the caller must free the memory block returned in ES
	  (via INT 21/AH=49h)
SeeAlso: AX=12FFh/BL=00h

Top
2F12FFBX0000 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BDOS
INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BDOS
	AX = 12FFh
	BX = 0000h
Return: AX = 0000h if supported
	DX = size of the BDOS in paragraphs
	Flags trashed
	ES,CL destroyed (DR PalmDOS)
Note:	This API is provided by IBMBIO.COM for the initialization phase
	  of drivers loaded via DEVICE=/HIDEVICE=/DEVICEHIGH= directives and
	  is only available during these short time intervals.  It is called
	  by DR DOS 6.0 EMM386.SYS and Novell DOS 7+ EMM386.EXE to query the
	  size of the BDOS kernel (the resident code of IBMDOS.COM).
SeeAlso: AX=12FFh/BX=0001h,AX=12FFh/BX=0002h

Top
2F12FFBX0001 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BDOS
INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BDOS
	AX = 12FFh
	BX = 0001h
	CX = 0000h (DR PalmDOS)
	DX = segment to relocate to (FFFFh for HMA)
Return: AX = 0000h if supported
	Flags trashed
	BX,CX,DX,DI,SI,DS,ES destroyed (DR PalmDOS)
Notes:	This API is provided by IBMBIO.COM for the initialization phase
	  of drivers loaded via DEVICE=/HIDEVICE=/DEVICEHIGH= directives and
	  is only available during these short time intervals.  It is initiated
	  by DR DOS 6.0 EMM386.SYS and Novell DOS 7+ EMM386.EXE to relocate
	  the BDOS kernel (e.g. into the HMA).
	This call is also issued by DR PalmDOS IBMBIO.COM which explicitly
	  clears CX.
	Under Novell DOS 7+ the actual relocation takes place at a later
	  stage, but under DR PalmDOS the BDOS is relocated immediately.
SeeAlso: AX=12FFh/BX=0000h,AX=12FFh/BX=0003h

Top
2F12FFBX0002 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BIOS
INT 2F U - DR DOS 6.0+ IBMBIO.COM - QUERY SIZE OF THE BIOS
	AX = 12FFh
	BX = 0002h
Return: AX = 0000h if supported
	DX = size of the DOS BIOS in paragraphs
	CL and flags trashed
Note:	This API is provided by IBMBIO.COM for the initialization phase
	  of drivers loaded via DEVICE=/HIDEVICE=/DEVICEHIGH= directives and
	  is only available during these short time intervals. It is called
	  by DR DOS 6.0 EMM386.SYS and Novell DOS 7 EMM386.EXE to query the
	  size of the DOS BIOS (the resident code of IBMBIO.COM).
SeeAlso: AX=12FFh/BX=0000h,AX=12FFh/BX=0003h

Top
2F12FFBX0003 - INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BIOS
INT 2F U - DR DOS 6.0+ IBMBIO.COM - RELOCATE THE BIOS
	AX = 12FFh
	BX = 0003h
	CX = 0000h (DR PalmDOS)
	DX = segment to relocate to (FFFFh for HMA)
Return: AX = 0000h if supported
	Flags trashed
Notes:	This API is provided by IBMBIO.COM for the initialization phase
	  is only available during these short time intervals.  It is initiated
	  by DR DOS 6.0 EMM386.SYS and Novell DOS 7 EMM386.EXE to relocate the
	  resident part of the DOS BIOS.  The actual relocation takes place at
	  a later stage.
	This call is also issued by DR PalmDOS IBMBIO.COM which explicitly
	  clears CX.
SeeAlso: AX=12FFh/BX=0001h,AX=12FFh/BX=0002h

Top
2F12FFBX0005 - INT 2F U - DR DOS 6.0+ - BOOT PHASE BROADCASTS FOR MEMORYMAX/RPLOADER/SECURITY
INT 2F U - DR DOS 6.0+ - BOOT PHASE BROADCASTS FOR MEMORYMAX/RPLOADER/SECURITY
	AX = 12FFh
	BX = 0005h
	CX = 0000h
	DX = function
	    0000h MemoryMAX cleanup broadcast
	    0001h RPLOADER broadcast
	    !!! details to follow
Note:	called at three separate points inside IBMBIO.COM

Top
2F12FFBX0006 - INT 2F U - DR DOS 6+, Novell DOS 7+ - EMM386.EXE - VIDEO MEMORY SPACE CONTROL
INT 2F U - DR DOS 6+, Novell DOS 7+ - EMM386.EXE - VIDEO MEMORY SPACE CONTROL
	AX = 12FFh
	BX = 0006h
	DX = 0000h
	CX = function
	    0000h get status of video memory space (MEMMAX /V)
	    0001h map memory into video memory space (MEMMAX +V)
	    0002h unmap memory from video memory space (MEMMAX -V)
Return: CF clear if successful
	    AX = 0000h (successful)
	    BX = segment of reserved video RAM
	    CX = segment of used video RAM
	    DX = segment of first upper MCB
Notes:	this functionality is provided by EMM386, and partially supported by
	  HIDOS.SYS
	BL specifies which program handles the call, BH is the function number
BUG:	4DOS 5.51(a) often hangs the system (reported to be reproducable), if
	  MEMMAX +V is issued from the 4DOS prompt.  To avoid this, one should
	  temporary load COMMAND.COM followed by MEMMAX +v , starting the
	  application, MEMMAX -v and EXIT.  4DOS 5.5c does not show this
	  phenomena on the same systems where 5.51a hangs.
SeeAlso: AX=D201h/BX=4849h

(Table 04105)
Values for DR DOS memory space control error code:
 00h	successful
 80h	video memory already unmapped
 81h	video memory already mapped
 82h	no video memory reserved (/VIDEO not specified)
 83h	video memory in use (graphics mode or non-standard text mode)
 84h	mapped video memory contains allocated arena(s)
 85h	hardware error
 86h	driver requires protected mode but is permanently in real mode
	  ("EMM386 OFF")

Top
2F12FFBX0007 - INT 2F U - Novell DOS 7 - SCRIPT.EXE - GET ???
INT 2F U - Novell DOS 7 - SCRIPT.EXE - GET ???
	AX = 12FFh
	BX = 0007h
	CX = 0000h
Return: CF clear if installed
	    AX = 0000h
	    BX = ??? (4426h)
	    CX = ??? (0068h)
	    DX = PSP segment of resident code???
	    SI = ??? (4AFAh)
	    ES = resident code segment

Top
2F12FFBX0009 - INT 2F - DR DOS 6.0+ IBMBIO.COM - REGISTER ROOT OF UPPER MEMORY LINK
INT 2F - DR DOS 6.0+ IBMBIO.COM - REGISTER ROOT OF UPPER MEMORY LINK
	AX = 12FFh
	BX = 0009h
	DX = new value for root segment of upper memory link
Return: AX = 0000h if supported
	ES:BX modified
Notes:	the DX value is stored at offset 66h in SYSVARS (see INT 21h/AH=52h)
	  and offset 18h in the Novell DOS 7 internal variable table
	  (see INT 21/AX=4458h)
	This API is provided by IBMBIO.COM for the initialization phase
	  of drivers loaded via DEVICE=/HIDEVICE=/DEVICEHIGH= directives and
	  is only available during these short time intervals.  It is probably
	  initiated by the Novell DOS 7+ EMM386.EXE.
	this function has apparently been supported since DR DOS 6.0 "Buxton"
	  of 1991/03/19
	for Novell DOS 7, ES:BX points at the internal variable table DRDAT,
	  but this may change in future releases

Top
2F12FFBX0106 - INT 2F U - Novell DOS 7+ - MEMORYMAX INSTALLATION CHECK
INT 2F U - Novell DOS 7+ - MEMORYMAX INSTALLATION CHECK
	AX = 12FFh
	BX = 0106h
Return: CF clear if successful
	    AX = 0000h (successful)
	    BX = EDC0h (signature "European Development Centre")
	    CL = memory manager variant
		00h if HIMEM.SYS present
		01h if EMMXMA.SYS present
		02h if EMM386.EXE present (DPMI/VCPI disabled)
		03h if multitasking EMM386.EXE present (DPMI/VCPI loaded)
	    CH = ??? (00h)
	    DX = binary driver version, DH is major, DL is minor
	    ES = segment of EMM386 device driver header (low-memory stub)
	CF set on error
	    AX = 0001h
Notes:	BL specifies which program handles the call, BH is the function number
	if the word at ES:0012h is nonzero, if contains the offset within
	  segment ES of the CEMM-compatible entry point (see #02617)
	if no other program has hooked INT 67, an alternate installation
	  check is to test for the string
	  "NOVELL EXPANDED MEMORY MANAGER 386" at offset 14h in the INT 67
	  handler's segment; the word immediately preceding this string
	  contains the offset of the API entry point if it is nonzero
Index:	entry point;Novell EMM386

(Table 02617)
Call Novell EMM386.EXE entry point with:
	AH = 00h get memory manager's status???
	    ???
	AH = 01h set memory manager's status???
	    ???
	AH = 02h Weitek coprocessor support???
	    AL = subfunction???
	more functions???
SeeAlso: #01513 at INT 21/AX=4402h/SF=02h,#03666 at INT 67/AX=FFA5h

Top
2F12FFBX0206 - INT 2F - Novell DOS 7+ - MEMORYMAX GET PAGE TABLE ENTRY
INT 2F - Novell DOS 7+ - MEMORYMAX GET PAGE TABLE ENTRY
	AX = 12FFh
	BX = 0206h
	ESI = linear address
Return: CF clear if successful
	    AX = 0000h (successful)
	    CX = 0000h
	    EDI = page table entry
	CF set on error
	    AX = function status
		0000h function supported
		    CX error code
		       80h if linear address has no mapping
	        0001h (AX > 0) function not supported
		    CX undefined
Note:	This function is supported by Novell DOS 7+ EMM386.EXE 3.0+ and
	  possibly by HIMEM.SYS 2.3+.
SeeAlso: AX=12FFh/BX=0306h

Top
2F12FFBX0306 - INT 2F - Novell DOS 7+ - MEMORYMAX SET PAGE TABLE ENTRY
INT 2F - Novell DOS 7+ - MEMORYMAX SET PAGE TABLE ENTRY
	AX = 12FFh
	BX = 0306h
	ESI = linear address
	EDI = page table entry
Return: CF clear if successful
	    AX = 0000h (successful)
	    CX = 0000h
	CF set on error
	    AX = function status
		0000h function supported
		    CX error code
		       80h if linear address has no mapping
	        0001h (AX > 0) function not supported
		    CX undefined
Note:	This function is supported by Novell DOS 7+ EMM386.EXE 3.0+ and
	  possibly by HIMEM.SYS 2.3+.
SeeAlso: AX=12FFh/BX=0206h

Top
2F12FFBX0406 - INT 2F - Novell DOS 7+ - MEMORYMAX CREATE ACCESS KEY
INT 2F - Novell DOS 7+ - MEMORYMAX CREATE ACCESS KEY
	AX = 12FFh
	BX = 0406h
Return: CF clear if successful
	    AX = 0000h (successful)
	    CX = 0000h
	    SI:DI = access key
	CF set on error
	    AX = function status
		0000h function supported
		    CX error code
		       80h if access key already exists
	        0001h (AX > 0) function not supported
		    CX undefined
Note:	This function is supported by Novell DOS 7+ EMM386.EXE 3.0+ and
	  possibly by HIMEM.SYS 2.3+.
SeeAlso: AX=12FFh/BX=0506h

Top
2F12FFBX0506 - INT 2F - Novell DOS 7+ - MEMORYMAX DESTROY ACCESS KEY
INT 2F - Novell DOS 7+ - MEMORYMAX DESTROY ACCESS KEY
	AX = 12FFh
	BX = 0506h
	SI:DI = access key
Return: CF clear if successful
	    AX = 0000h (successful)
	    CX = 0000h
	CF set on error
	    AX = function status
		0000h function supported
		    CX error code
		       80h if invalid access key
		       81h if no access key exists
	        0001h (AX > 0) function not supported
		    CX undefined
Note:	This function is supported by Novell DOS 7+ EMM386.EXE 3.0+ and
	  possibly by HIMEM.SYS 2.3+.
SeeAlso: AX=12FFh/BX=0406h

Top
2F12FFBL06 - INT 2F U - Novell DOS 7 - EMM386.EXE - ???
INT 2F U - Novell DOS 7 - EMM386.EXE - ???
	AX = 12FFh
	BL = 06h
	BH = function (06h-09h)
	???
Return: CF clear if successful
	CF set on error
	    AX = function status
		0000h function supported
		    CX error code
	        0001h (AX > 0) function not supported
		    CX undefined

Top
2F12FFBX0EDC - INT 2F U - Novell DOS 7 - EMM386.EXE - CHECK IF MULTITASKING SUPPORT LOADED???
INT 2F U - Novell DOS 7 - EMM386.EXE - CHECK IF MULTITASKING SUPPORT LOADED???
	AX = 12FFh
	BX = 0EDCh ('EDC' = Novell European Development Center)
Return: AX = 0000h if ??? loaded
	    CF clear
	    BX = 0000h
Notes:	called by Novell DOS 7 TaskMgr
	if this function returns with AX=0000h, then the code necessary to
	  support the API on INT 2F/AX=2780h is loaded and that API becomes
	  available for use
	because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this function must be invoked
	  with an actual INT 2F instruction instead of some simulation such
	  as a far call to the address in the interrupt vector table
SeeAlso: AX=2780h/CL=01h,AX=2780h/CL=02h,AX=2780h/CL=03h,AX=2780h/CL=04h

Top
2F13 - INT 2F U - DOS 3.2+ - SET DISK INTERRUPT HANDLER
INT 2F U - DOS 3.2+ - SET DISK INTERRUPT HANDLER
	AH = 13h
	DS:DX -> interrupt handler disk driver calls on read/write
	ES:BX = address to restore INT 13 to on system halt (exit from root
		 shell) or warm boot (INT 19)
Return: DS:DX set by previous invocation of this function
	ES:BX set by previous invocation of this function
Notes:	IO.SYS hooks INT 13 and inserts one or more filters ahead of the
	  original INT 13 handler.  The first is for disk change detection
	  on floppy drives, the second is for tracking formatting calls and
	  correcting DMA boundary errors, the third is for working around
	  problems in a particular version of IBM's ROM BIOS
	before the first call, ES:BX points at the original BIOS INT 13; DS:DX
	  also points there unless IO.SYS has installed a special filter for
	  hard disk reads (on systems with model byte FCh and BIOS date
	  "01/10/84" only), in which case it points at the special filter
	most DOS 3.2+ disk access is via the vector in DS:DX, although a few
	  functions are still invoked via an INT 13 instruction
	during Windows 3.1 startup this function seems to be used to
	  temporarily point DOS to a dummy handler in WDCTRL.386 which always
	  halts the system with a fatal error message.	If DS hasn't changed
	  on return from the function, Windows will display the error message
	  "Invalid DOS version".
	this is a dangerous security loophole for any virus-monitoring software
	  which does not trap this call ("INT13", "Nomenklatura", and many
	  Bulgarian viruses are known to use it to get the original ROM entry
	  point)
	the preloadable Novell DOS 7+ SECURITY.BIN driver $SECURE$ traps
	  this call.
BUG:	Novell DOS 7 IBMBIO.COM before 1995-05-08 trashed AX on return from
	  this function. VGACOPY by Thomas M”nkemeier's VGA Software GmbH
	  crashed due to this.	Later releases of Novell DOS 7 preserved the
	  contents of the AX register.
SeeAlso: INT 13/AH=01h,INT 19,INT 9D"VIRUS"

Top
2F13 - INT 2F U - MS-NET - ???
INT 2F U - MS-NET - ???
	AH = 13h
	???
Return: ???
Note:	supposedly used to move (or control the movement of) NCBs

Top
2F1400 - INT 2F C - NLSFUNC.COM - INSTALLATION CHECK
INT 2F C - NLSFUNC.COM - INSTALLATION CHECK
	AX = 1400h
	BX <> 0EDCh
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
Notes:	this function is called by the DOS v3.3+ kernel
	supported by OS/2 v1.3+ compatibility box, which always returns AL=FFh
	supported by DR DOS 5.0+ NLSFUNC v3.0+
	documented for MS-DOS 5+, but undocumented in prior versions
	DR DOS 5.0+ NLSFUNC 3.00+ returns CF set and AX=0001h, if AL was not
	  00h, FEh, or FFh on entry.
SeeAlso: AX=1400h/BX=0EDCh,AX=1401h"NLSFUNC",AX=1402h"NLSFUNC"

Top
2F1400BX0EDC - INT 2Fh - DR-DOS NLSFUNC 4.01+ - ENHANCED INSTALLATION CHECK
INT 2Fh - DR-DOS NLSFUNC 4.01+ - ENHANCED INSTALLATION CHECK
	AX = 1400h
	BX = 0EDCh
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
		  (for example under a multitasker)
	    FFh installed
		ES:DI -> version signature ("4.01$".."4.04$" for 4.01..4.04)
	flags may be destroyed
Program: NLSFUNC 4.01+ is currently an independent project under
	  development by Matthias Paul. It is not yet publically available,
	  but as NLSFUNC 4.00 did, it will probably become available with
	  future DR-DOS releases.
Notes:	If BX <> 0EDCh on entry, DR-DOS NLSFUNC 4.01+ performs the standard
	  installation check (INT 2F/AX=1400h), and does not change ES:DI.
	DR DOS 5.0+ NLSFUNC 3.00+ returns CF set and AX=0001h, if AL was not
	  00h, FEh, or FFh on entry.
	NLSFUNC 4.01+ will use the ES:DI enhancement to check the driver
	  version and calculate displacements into the resident driver for
	  runtime updates of internal structures like the local NLS database
	  filespec, etc.
	If the returned ES points into the HMA (ES=FFFEh) care should be taken
	  to actually access the HMA while checking the version signature and
	  updating resident data (mutex with local A20 enable/disable).
	While previous issues of NLSFUNC installed under a multitasker,
	  DR-DOS NLSFUNC 4.01+ will actually adapt to work properly in this
	  environment.
SeeAlso: AX=1400h"NLSFUNC.COM",AX=14FEh,AX=14FFh,INT 21/AH=65h

Top
2F1400 - INT 2F - European MS-DOS 4.0 POPUP - "CheckPu" - INSTALLATION CHECK
INT 2F - European MS-DOS 4.0 POPUP - "CheckPu" - INSTALLATION CHECK
	AX = 1400h
Return: AX = FFFFh if installed
	    BX = maximum memory required to save screen and keyboard info
	CF clear if successful
	CF set on error
	    AX = error code
		0002h invalid function
		0004h unknown error
Note:	the POPUP interface is used by background programs (see INT 21/AH=80h)
	  to communicate with the user
SeeAlso: AX=1401h"POPUP",AX=1402h"POPUP",AX=1403h"POPUP"

Top
2F1401 - INT 2F CU - NLSFUNC.COM - CHANGE CODE PAGE
INT 2F CU - NLSFUNC.COM - CHANGE CODE PAGE
	AX = 1401h
	DS:SI -> internal code page structure (see #02618)
	BX = new code page (see #01757 at INT 21/AX=6602h)
	DX = country code???
Return: AL = status
	     00h successful
	     else DOS error code
Note:	this function is called by the DOS v3.3+ kernel
SeeAlso: AX=1400h"NLSFUNC",AX=1402h"NLSFUNC",INT 21/AH=66h

Format of DOS 3.30 internal code page structure:
Offset	Size	Description	(Table 02618)
 00h  8 BYTEs	???
 08h 64 BYTEs	name of country information file (see #02619)
 48h	WORD	system code page (see #01757 at INT 21/AX=6602h)
 4Ah	WORD	number of supported subfunctions
 4Ch  5 BYTEs	data to return for INT 21/AX=6502h
 51h  5 BYTEs	data to return for INT 21/AX=6504h
 56h  5 BYTEs	data to return for INT 21/AX=6505h
 5Bh  5 BYTEs	data to return for INT 21/AX=6506h
 60h 41 BYTEs	data to return for INT 21/AX=6501h

Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS file:
Offset	Size	Description	(Table 02619)
 00h	BYTE	ID tag (FFh)
 01h  7 BYTEs	ASCII "COUNTRY"
 08h  8 BYTEs	??? (00h)
 10h	BYTE	??? (01h)
 11h	BYTE	??? (00h)
 12h	BYTE	??? (01h)
 13h	DWORD	offset of first entry in file (see #02620)
SeeAlso: #02623

Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS entry:
Offset	Size	Description	(Table 02620)
 00h	WORD	number of country-codepage entries following
 02h		N Country-Codepage entries:
		Offset	Size	Description
		 00h	WORD	length of entry, not counting this word (000Ch)
		 02h	WORD	country ID
		 04h	WORD	codepage ID
		 06h	WORD	??? (0000h)
		 08h	WORD	??? (0000h)
		 0Ah	DWORD	offset of country-subfunction-header in file
				  (see #02621)
Notes:	multiple codepages for a country are stored consecutively
	PTS/DOS places a copyright string immediately following this structure,
	  though a copyright at the end of the file is preferable
SeeAlso: #02619

Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS country-subfunc header:
Offset	Size	Description	(Table 02621)
 00h	WORD	number of subfunction entries following
 02h		N subfunction entries
		Offset	Size	Description
		 00h	WORD	length of subfunction entry, not counting this
				  word (usually 06h)
		 02h	WORD	subfunction ID
				(value passed to INT 21/AH=65h in AL)
		 04h	DWORD	offset within file of subfunction data entry
				  (see #02622)
SeeAlso: #02620

Format of MS-DOS/PC-DOS/OS2/WinNT/PTS-DOS COUNTRY.SYS country-subfunc data::
Offset	Size	Description	(Table 02622)
 00h	BYTE	ID-tag (FFh)
 01h  7 BYTEs	table-type signature (blank-padded)
		"CTYINFO"	general country info (subfn 01h)
		"UCASE	"	uppercase table (subfn 02h)
		"LCASE	"	lowercase table (subfn 03h) (DOS 6.2_)
		"FUCASE "	filename uppercase table (subfn 04h)
		"FCHAR	"	filename terminator table (subfn 05h)
		"COLLATE"	collating sequence (subfn 06h)
		"DBCS	"	double-byte character table (subfn 07h)
 08h	WORD	length of following table in bytes
		(if 0000h for DBCS table, there will still be a word of 0000h)
---country info (01h)---
 0Ah	WORD	country ID (see #01400 at AH=38h)
 0Ch	WORD	code page (see #01757)
 0Eh 34 BYTEs	country-dependent info (see #01399 at AH=38h)
---uppercase table (02h)---
 0Ah 128 BYTEs	uppercase equivalents (if any) of chars 80h to FFh
---lowercase table (03h)---
 0Ah 256 BYTEs	lowercase equivalents (if any) of chars 00h to FFh
---filename uppercase table (04h)---
 0Ah 128 BYTEs	uppercase equivalents (if any) of chars 80h to FFh
---filename terminator table (05h)---
 0Ah	BYTE	??? (01h for MS-DOS 3.30-6.00)
 0Bh	BYTE	lowest permissible character value for filename
 0Ch	BYTE	highest permissible character value for filename
 0Dh	BYTE	??? (00h for MS-DOS 3.30-6.00)
 0Eh	BYTE	first excluded character in range \ all characters in this
 0Fh	BYTE	last excluded character in range  / range are illegal
 10h	BYTE	??? (02h for MS-DOS 3.30-6.00)
 11h	BYTE	number of illegal (terminator) characters
 12h  N BYTEs	characters which terminate a filename:	."/\[]:|<>+=;,
---collating sequence (06h)---
 0Ah 256 BYTEs	values used to sort characters 00h to FFh
---DBCS table (07h)---
 0Ah 2N BYTEs	start/end for N lead byte ranges
	WORD	0000h	(end of table)
SeeAlso: #02621,#01750,#01751,#01753,#01754,#01755,#01756

Format of DR DOS/Novell DOS/OpenDOS COUNTRY.SYS file:
Offset	Size	Description	(Table 02623)
 00h 126 BYTEs	copyright notice (terminated with Ctrl-Z; NUL-padded)
		the copyright notice starts with the signature
		"COUNTRY.SYS Rx.xx" where "x.xx" indicates the file format
		revision, which is checked by the OS (revision is 2.00 for
		DR DOS 3.41 and 2.01 for all newer versions of DR DOS,
		Novell DOS, and OpenDOS)
 7Eh	WORD	signature of file format revision
		0EDCh = 2.00 (DR DOS 3.41)
		EDC1h = 2.01 (all newer versions)
 80h	var	country pointer records (see #02624)
		(packed array of variable-size records)
SeeAlso: #02619

Format of DR DOS/Novell DOS/OpenDOS COUNTRY.SYS country pointer record::
Offset	Size	Description	(Table 02624)
 00h	WORD	country code (0000h if end of array)
 02h	WORD	code page (see #01757)
 04h	WORD	??? (0000h)
 06h  7	WORDs	offsets in file for INT 21/AH=65h subfunctions 01h to 07h, or
		  0000h if no table for that subfunction
 14h	var	country information
Notes:	the end-of-file marker is a country pointer record filled entirely with
	  zeros
	the data at which the pointers point is in the same format as the
	  tables returned by INT 21/AH=65h, except that the general-info
	  table for subfunction 01h does not contain the length word at the
	  beginning
SeeAlso: #02623

Top
2F1401 - INT 2F - European MS-DOS 4.0 POPUP - "PostPu" - OPEN/CLOSE POPUP SCREEN
INT 2F - European MS-DOS 4.0 POPUP - "PostPu" - OPEN/CLOSE POPUP SCREEN
	AX = 1401h
	DL = function (00h open, 01h close)
	DH = wait flag
	    00h block until screen opens
	    01h return error if screen is not available
	    02h urgent--always open screen immediately
Return: CF clear if successful
	    BX = amount of memory needed to save screen and keyboard info,
		0000h if default save location can be used (only if DH was 02h)
	CF set on error
Note:	the application using the screen is frozen until the popup screen is
	  closed
SeeAlso: AX=1400h"POPUP",AX=1402h"POPUP",AX=1403h"POPUP"

Top
2F1402 - INT 2F CU - NLSFUNC.COM - GET EXTENDED COUNTRY INFO
INT 2F CU - NLSFUNC.COM - GET EXTENDED COUNTRY INFO
	AX = 1402h
	BP = subfunction (same as AL for INT 21/AH=65h)
	BX = code page (see #01757 at INT 21/AX=6602h)
	DX = country code (see #01400 at INT 21/AH=38h)
	DS:SI -> internal code page structure (see #02618)
	ES:DI -> user buffer
	CX = size of user buffer
Return: AL = status
	    00h successful
	    else DOS error code
Notes:	this function is called by the DOS v3.3+ kernel on INT 21/AH=65h
	code page structure apparently only needed for COUNTRY.SYS pathname
SeeAlso: AX=1401h"NLSFUNC",AX=1403h"NLSFUNC",AX=1404h,INT 21/AH=65h

Top
2F1402 - INT 2F - European MS-DOS 4.0 POPUP - "SavePu" - SAVE POPUP SCREEN
INT 2F - European MS-DOS 4.0 POPUP - "SavePu" - SAVE POPUP SCREEN
	AX = 1402h
	ES:DI -> save buffer (0000h:0000h for default buffer in POPUP)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02625)
SeeAlso: AX=1400h"POPUP",AX=1401h"POPUP",AX=1403h"POPUP"

(Table 02625)
Values for POPUP error code:
 0001h	process does not own screen
 0004h	unknown error
 0005h	invalid pointer

Top
2F1403 - INT 2F CU - NLSFUNC.COM - SET CODE PAGE
INT 2F CU - NLSFUNC.COM - SET CODE PAGE
	AX = 1403h
	DS:SI -> internal code page structure (see #02618)
	BX = code page (see #01757 at INT 21/AX=6602h)
	DX = country code (see #01400 at INT 21/AH=38h)
Return: AL = status
	     ???
Note:	this function is called by the DOS v3.3+ kernel on INT 21/AH=38h
SeeAlso: AX=1402h"NLSFUNC",AX=1404h,INT 21/AH=38h"SET"

Top
2F1403 - INT 2F - European MS-DOS 4.0 POPUP - "RestorePu" - RESTORE SCREEN
INT 2F - European MS-DOS 4.0 POPUP - "RestorePu" - RESTORE SCREEN
	AX = 1403h
	ES:DI -> buffer containing saved screen
		(0000h:0000h for default buffer in POPUP)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #02625)
SeeAlso: AX=1400h"POPUP",AX=1401h"POPUP",AX=1402h"POPUP"

Top
2F1404 - INT 2F CU - NLSFUNC.COM - GET COUNTRY INFO
INT 2F CU - NLSFUNC.COM - GET COUNTRY INFO
	AX = 1404h
	BX = code page (see #01757 at INT 21/AX=6602h)
	DX = country code (see #01400 at INT 21/AH=38h)
	DS:SI -> internal code page structure (see #02618)
	ES:DI -> user buffer
Return: AL = status
	     ???
Notes:	this function is called by the DOS v3.3+ kernel on INT 21/AH=38h
	code page structure apparently only needed for COUNTRY.SYS pathname
SeeAlso: AX=1402h,AX=1403h,INT 21/AH=38h"GET"

Top
2F14FE - INT 2F U - DR DOS 5.0 NLSFUNC - GET EXTENDED COUNTRY INFORMATION
INT 2F U - DR DOS 5.0 NLSFUNC - GET EXTENDED COUNTRY INFORMATION
	AX = 14FEh
	BX = code page (FFFFh=global code page) (see #01757 at INT 21/AX=6602h)
	DX = country ID (FFFFh=current country) (see #01400 at INT 21/AH=38h)
	ES:DI -> country information buffer
	CL = info ID
	    01h get general internationalization info
	    02h get pointer to uppercase table
	    04h get pointer to filename uppercase table
	    05h get pointer to filename terminator table
	    06h get pointer to collating sequence table
	    07h get pointer to Double-Byte Character Set table
	CF set (used to return error if not installed)
Return: CF clear if successful
	    DS:SI -> requested information
	CF set on error
Notes:	DR DOS 5.0 NLSFUNC returns CF set and AX=0001h if AL was not 00h, FEh,
	  or FFh on entry.
	the DR DOS kernel calls this function on INT 21/AX=6501h
	the value in CL is not range-checked by the DR DOS 5.0 NLSFUNC
SeeAlso: #02626,AX=14FFh,INT 21/AH=65h

Format of DR DOS COUNTRY.SYS file:
Offset	Size	Description	(Table 02626)
 00h 126 BYTEs	copyright notice (terminated with Ctrl-Z, padded with NULs)
 7Eh	WORD	signature EDC1h
 80h	var	country pointer records
	Offset	Size	Description
	 00h	WORD	country code (0000h if end of array)
	 02h	WORD	code page (see #01757 at INT 21/AX=6602h)
	 04h	WORD	??? (0000h)
	 06h  7 WORDs	offsets in file for data tables for subfunctions
			  01h-07h
 var	var	country information

Top
2F14FF - INT 2F U - DR DOS 5.0+ NLSFUNC - PREPARE CODE PAGE
INT 2F U - DR DOS 5.0+ NLSFUNC - PREPARE CODE PAGE
	AX = 14FFh
	BX = code page (see #01757 at INT 21/AX=6602h)
Return: AX = ???
	ZF set if AX=0000h
Notes:	DR DOS 5.0 NLSFUNC returns CF set and AX=0001h if AL was not 00h, FEh,
	  or FFh on entry.
	passes codepage preparation request to each character device supporting
	  the generic IOCTL call
BUG:	DR DOS 5.0 NLSFUNC 3.00 - Novell DOS 7 NLSFUNC 3.03, and OpenDOS 7.01 -
	  DR-OpenDOS 7.02 NLSFUNC 3.02 requires DF cleared on entry, otherwise
	  the system may crash.  However, since this function is called only by
	  the BDOS, the problem never actually occurs.  DR-DOS 7.02/7.03
	  NLSFUNC 4.00+ always clears DF by itself.
SeeAlso: AX=1400h/BX=0EDCh,AX=14FEh,INT 21/AX=440Ch,INT 21/AX=6602h

Top
2F1500 - INT 2F - DOS 4.00 GRAPHICS.COM - INSTALLATION CHECK
INT 2F - DOS 4.00 GRAPHICS.COM - INSTALLATION CHECK
	AX = 1500h
Return: AX = FFFFh
	ES:DI -> ??? (graphics data?)
Note:	this installation check conflicts with the CD-ROM Extensions
	  installation check; moved to AX=AC00h in later versions
SeeAlso: AX=AC00h

Top
2F1500BX0000 - INT 2F - CD-ROM - INSTALLATION CHECK
INT 2F - CD-ROM - INSTALLATION CHECK
	AX = 1500h
	BX = 0000h
Return: BX = number of CD-ROM drive letters used
	CX = starting drive letter (0=A:)
	AX = 15FFh (Novell DOS 7 NWCDEX only!)
Notes:	this installation check DOES NOT follow the format used by other
	  software
	this installation check conflicts with the DOS 4.00 GRAPHICS.COM
	  installation check
BUG:	this function may return an incorrect starting drive letter when
	  INTERLNK is installed
SeeAlso: AX=150Ch,AX=15FFh,INT 2F/AX=D000h"Lotus"

Top
2F1500CH90 - INT 2F U - CDBLITZ v2.11 - INSTALLATION CHECK
INT 2F U - CDBLITZ v2.11 - INSTALLATION CHECK
	AX = 1500h
	CH = 90h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CX = 1234h if installed
	    CF clear
	    DX = BCD version number (DH = major, DL = minor)
Program: CDBLITZ is a CD-ROM cache by Blitz 'n' Software, Inc.
SeeAlso: AX=1500h/CH=99h

Top
2F1500CH91 - INT 2F U - CDBLITZ v2.11 - GET STATISTICS
INT 2F U - CDBLITZ v2.11 - GET STATISTICS
	AX = 1500h
	CH = 91h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
	ES:BX -> statistics record (see #02627)
SeeAlso: AX=1500h/CH=90h,AX=1500h/CH=97h

Format of CDBLITZ statistics record:
Offset	Size	Description	(Table 02627)
 00h	WORD	cache mode (see also AX=1500h/CH=94h)
		0001h 'min', 0002h 'max'
 02h	DWORD	number of read calls???
 06h	DWORD	total number of sectors read
 0Ah	DWORD	unused??? (zero)
 0Eh	DWORD	number of cache hit sectors
 12h	WORD	cache size in KB
 14h	WORD	unused??? (zero)
 16h	WORD	cache state (0000h disabled, 0001h enabled)

Top
2F1500CH92 - INT 2F U - CDBLITZ v2.11 - ENABLE CACHE
INT 2F U - CDBLITZ v2.11 - ENABLE CACHE
	AX = 1500h
	CH = 92h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
SeeAlso: AX=1500h/CH=90h,AX=1500h/CH=93h,AX=1500h/CH=94h

Top
2F1500CH93 - INT 2F U - CDBLITZ v2.11 - DISABLE CACHE
INT 2F U - CDBLITZ v2.11 - DISABLE CACHE
	AX = 1500h
	CH = 93h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
SeeAlso: AX=1500h/CH=90h,AX=1500h/CH=92h,AX=1500h/CH=95h

Top
2F1500CH94 - INT 2F U - CDBLITZ v2.11 - SET 'MAX' MODE (CACHE BOTH DIRECTORIES AND DATA)
INT 2F U - CDBLITZ v2.11 - SET 'MAX' MODE (CACHE BOTH DIRECTORIES AND DATA)
	AX = 1500h
	CH = 94h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
SeeAlso: AX=1500h/CH=90h,AX=1500h/CH=92h,AX=1500h/CH=95h

Top
2F1500CH95 - INT 2F U - CDBLITZ v2.11 - SET 'MIN' MODE (CACHE ONLY DIRECTORY ENTRIES)
INT 2F U - CDBLITZ v2.11 - SET 'MIN' MODE (CACHE ONLY DIRECTORY ENTRIES)
	AX = 1500h
	CH = 95h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
SeeAlso: AX=1500h/CH=90h,AX=1500h/CH=94h

Top
2F1500CH96 - INT 2F U - CDBLITZ v2.11 - FLUSH CACHE
INT 2F U - CDBLITZ v2.11 - FLUSH CACHE
	AX = 1500h
	CH = 96h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
Note:	this function resets the counts for number of sectors read and number
	  of cache hits, but no other values in the statistics record
	  (see #02627)
SeeAlso: AX=1500h/CH=90h

Top
2F1500CH97 - INT 2F U - CDBLITZ v2.11 - GET CACHE STATISTICS
INT 2F U - CDBLITZ v2.11 - GET CACHE STATISTICS
	AX = 1500h
	CH = 97h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
	AL = cache mode (01h 'min', 02h 'max') (see also AX=1500h/CH=94h)
	AH = cache state (00h disabled, 01h enabled)
	BX = cache size in KB
	DX:CX = total number of reads
	DI:SI = number of cache hits
SeeAlso: AX=1500h/CH=90h,AX=1500h/CH=91h

Top
2F1500CH99 - INT 2F U - CDBLITZ v2.11 - UNINSTALL
INT 2F U - CDBLITZ v2.11 - UNINSTALL
	AX = 1500h
	CH = 99h (function number)
	BX = 1234h (magic value for CDBLITZ)
Return: CF clear
	???
Program: CDBLITZ is a CD-ROM cache by Blitz 'n' Software, Inc.
SeeAlso: AX=1500h/CH=90h

Top
2F1501 - INT 2F - CD-ROM - GET DRIVE DEVICE LIST
INT 2F - CD-ROM - GET DRIVE DEVICE LIST
	AX = 1501h
	ES:BX -> buffer to hold drive letter list (5 bytes per drive letter)
Return: buffer filled, for each drive letter
	  BYTE	subunit number in driver
	  DWORD address of device driver header (see #01646)
Note:	reportedly returns AX=0000h and an invalid address under Windows95;
	  other reports say it works fine
SeeAlso: AX=1510h

Top
2F1502 - INT 2F - CD-ROM - GET COPYRIGHT FILE NAME
INT 2F - CD-ROM - GET COPYRIGHT FILE NAME
	AX = 1502h
	ES:BX -> 38-byte buffer for name of copyright file
	CX = drive number (0=A:)
Return: CF set if drive is not a CD-ROM drive
	    AX = 000Fh (invalid drive)
	CF clear if successful
SeeAlso: AX=1503h

Top
2F1503 - INT 2F - CD-ROM - GET ABSTRACT FILE NAME
INT 2F - CD-ROM - GET ABSTRACT FILE NAME
	AX = 1503h
	ES:BX -> 38-byte buffer for name of abstract file
	CX = drive number (0=A:)
Return: CF set if drive is not a CD-ROM drive
	    AX = 000Fh (invalid drive)
	CF clear if successful
SeeAlso: AX=1502h,AX=1504h

Top
2F1504 - INT 2F - CD-ROM - GET BIBLIOGRAPHIC DOC FILE NAME
INT 2F - CD-ROM - GET BIBLIOGRAPHIC DOC FILE NAME
	AX = 1504h
	ES:BX -> 38-byte buffer for name of bibliographic documentation file
	CX = drive number (0=A:)
Return: CF set if drive is not a CD-ROM drive
	    AX = 000Fh (invalid drive)
	CF clear if successful
SeeAlso: AX=1502h,AX=1503h

Top
2F1505 - INT 2F - CD-ROM - READ VTOC
INT 2F - CD-ROM - READ VTOC
	AX = 1505h
	ES:BX -> 2048-byte buffer
	CX = drive number (0=A:)
	DX = sector index (0=first volume descriptor,1=second,...)
Return: CF set on error
	    AX = error code (15=invalid drive,21=not ready)
	CF clear if successful
	    AX = volume descriptor type (1=standard,FFh=terminator,0=other)
Note:	This function was not supported by Novell DOS 7 NWCDEX prior to the
	  08/16/94 update

Top
2F1506 - INT 2F - CD-ROM - TURN DEBUGGING ON
INT 2F - CD-ROM - TURN DEBUGGING ON
	AX = 1506h
	BX = debugging function to enable
Note:	reserved for development
SeeAlso: AX=1507h

Top
2F1507 - INT 2F - CD-ROM - TURN DEBUGGING OFF
INT 2F - CD-ROM - TURN DEBUGGING OFF
	AX = 1507h
	BX = debugging function to disable
Note:	reserved for development
SeeAlso: AX=1506h

Top
2F1508 - INT 2F - CD-ROM - ABSOLUTE DISK READ
INT 2F - CD-ROM - ABSOLUTE DISK READ
	AX = 1508h
	ES:BX -> buffer
	CX = drive number (0=A:)
	SI:DI = starting sector number
	DX = number of sectors to read
Return: CF set on error
	    AL = error code (0Fh invalid drive,15h not ready)
	CF clear if successful
Note:	returns error 15h (not ready) under Windows95 if the starting sector
	  number is less than 10h
SeeAlso: AX=1509h

Top
2F1509 - INT 2F - CD-ROM - ABSOLUTE DISK WRITE
INT 2F - CD-ROM - ABSOLUTE DISK WRITE
	AX = 1509h
	ES:BX -> buffer
	CX = drive number (0=A:)
	SI:DI = starting sector number
	DX = number of sectors to write
Note:	corresponds to INT 26h and is currently reserved and nonfunctional,
	  but could be implemented for CD-R and CD-RW drives
SeeAlso: AX=1508h

Top
2F150A - INT 2F - CD-ROM - RESERVED
INT 2F - CD-ROM - RESERVED
	AX = 150Ah

Top
2F150B - INT 2F - CD-ROM v2.00+ - DRIVE CHECK
INT 2F - CD-ROM v2.00+ - DRIVE CHECK
	AX = 150Bh
	CX = drive number (0=A:)
Return: BX = ADADh if MSCDEX.EXE installed
	    AX = support status
		0000h if drive not supported
		nonzero if supported
SeeAlso: AX=150Dh

Top
2F150CBX0000 - INT 2F - CD-ROM v2.00+ - GET MSCDEX.EXE VERSION (GET VERSION)
INT 2F - CD-ROM v2.00+ - GET MSCDEX.EXE VERSION (GET VERSION)
	AX = 150Ch
	BX = 0000h
Return: BH = major version
	BL = minor version
Notes:	MSCDEX.EXE versions prior to 2.00 leave BX unchanged, thus BX should
	  be 0000h on entry
	Corel's CORELCDX.COM v1.01d returns 2.20, v1.12a returns 2.21
	Meridian Data's CDNETEX.EXE returns its own version number, e.g. 4.70
	J.M.A. Hall's CDEMU2.COM returns 2.10 (it is an MSCDEX emulator for
	  networked CD-ROM drives)
	Windows95 returns v2.95
	Novell DOS 7 NWCDEX.EXE returns the same version number reported in
	  its startup message
SeeAlso: AX=1500h"CD-ROM",AX=15FFh"CORELCDX"

Top
2F150D - INT 2F - CD-ROM v2.00+ - GET CD-ROM DRIVE LETTERS
INT 2F - CD-ROM v2.00+ - GET CD-ROM DRIVE LETTERS
	AX = 150Dh
	ES:BX -> buffer for drive letter list (1 byte per drive)
Return: buffer filled with drive numbers (0=A:).  Each byte corresponds
	to the drive in the same position for function 1501h
SeeAlso: AX=150Bh

Top
2F150E - INT 2F - CD-ROM v2.00+ - GET/SET VOLUME DESCRIPTOR PREFERENCE
INT 2F - CD-ROM v2.00+ - GET/SET VOLUME DESCRIPTOR PREFERENCE
	AX = 150Eh
	BX = subfunction
	    00h get preference
		DX = 0000h
		Return: DX = preference settings
	    01h set preference
		DH = volume descriptor preference
		    01h = primary volume descriptor
		    02h = supplementary volume descriptor
		DL = supplementary volume descriptor preference
		    01h = shift-Kanji
	CX = drive number (0=A:)
Return: CF set on error
	    AX = error code (15=invalid drive,1=invalid function)
	CF clear if successful

Top
2F150F - INT 2F - CD-ROM v2.00+ - GET DIRECTORY ENTRY
INT 2F - CD-ROM v2.00+ - GET DIRECTORY ENTRY
	AX = 150Fh
	CL = drive number (0=A:)
	CH bit 0 = copy flag
		clear if direct copy
		set if copy to structure which removes ISO/High Sierra diffs
	ES:BX -> ASCIZ path name
	SI:DI -> buffer for directory entry (see #02628,#02629)
		must be 255 bytes for direct copy, 285 bytes for canonical
Return: CF set on error
	    AX = error code
	CF clear if successful
	    AX = disk format (0=High Sierra,1=ISO 9660)
Note:	this function was not supported by Novell DOS 7 NWCDEX prior to the
	  08/16/94 update

Format of CD-ROM directory entry (direct copy):
Offset	Size	Description	(Table 02628)
 00h	BYTE	length of directory entry
 01h	BYTE	length of XAR in Logical Block Numbers
 02h	DWORD	LBN of data, Intel (little-endian) format
 06h	DWORD	LBN of data, Motorola (big-endian) format
 0Ah	DWORD	length of file, Intel format
 0Eh	DWORD	length of file, Motorola format
---High Sierra---
 12h  6 BYTEs	date and time
 18h	BYTE	bit flags
 19h	BYTE	reserved
---ISO 9660---
 12h  7 BYTEs	date and time
		(seventh byte is offset from GMT in 15-minute increments)
 19h	BYTE	bit flags
---both formats---
 1Ah	BYTE	interleave size
 1Bh	BYTE	interleave skip factor
 1Ch	WORD	volume set sequence number, Intel format
 1Eh	WORD	volume set sequence number, Motorola format
 20h	BYTE	length of file name
 21h  N BYTEs	file name
	BYTE	(optional) padding if filename is odd length
      N BYTEs	system data
SeeAlso: #02629,#01352

Format of CD-ROM directory entry (canonicalized):
Offset	Size	Description	(Table 02629)
 00h	BYTE	length of XAR in Logical Block Numbers
 01h	DWORD	Logical Block Number of file start
 05h	WORD	size of disk in logical blocks
 07h	DWORD	file length in bytes
 0Bh  7 BYTEs	date and time
 12h	BYTE	bit flags
 13h	BYTE	interleave size
 14h	BYTE	interleave skip factor
 15h	WORD	volume set sequence number
 17h	BYTE	length of file name
 18h 38 BYTEs	ASCIZ filename
 3Eh	WORD	file version number
 40h	BYTE	number of bytes of system use data
 41h 220 BYTEs	system use data
SeeAlso: #02628

Top
2F1510 - INT 2F - CD-ROM v2.10+ - SEND DEVICE DRIVER REQUEST
INT 2F - CD-ROM v2.10+ - SEND DEVICE DRIVER REQUEST
	AX = 1510h
	CX = CD-ROM drive letter (0 = A, 1 = B, etc)
	ES:BX -> CD-ROM device driver request header (see #02597 at AX=0802h)
Return: CF clear if device driver has been called (check the request header's
	      status word to determine whether an error has occurred)
	    ES:BX request header updated
	CF set if device driver has not been called
	    AX = error code (000Fh = invalid drive, 0001h = invalid function)
	    ES:BX request header unchanged
Notes:	MSCDEX initializes the device driver request header's subunit field
	  based on the drive number specified in CX
	MSCDEX v2.21 through v2.25 (at least) return error code AX=0001h if
	  nested calls are attempted
BUGS:	Novell DOS 7 NWCDEX prior to the 12/13/94 update did not initialize
	  the subunit field
	Windows95 sets CF if CX isn't a CD-ROM drive but leaves CF unchanged
	  if the drive is in fact a CD-ROM
SeeAlso: AX=0802h

Top
2F15FFBX0000 - INT 2F - CD-ROM - CORELCDX - INSTALLATION CHECK
INT 2F - CD-ROM - CORELCDX - INSTALLATION CHECK
	AX = 15FFh
	BX = 0000h
Return: BX = ABCDh if CORELCDX loaded
Note:	Corel's CORELCDX.COM is a replacement for MSCDEX.EXE; it also supports
	  the standard MSCDEX installation check calls AX=1500h and AX=150Ch
SeeAlso: AX=1500h"CD-ROM",AX=150Ch

Top
Section -


Top
2F1600 - INT 2F - MS Windows - WINDOWS ENHANCED MODE INSTALLATION CHECK
INT 2F - MS Windows - WINDOWS ENHANCED MODE INSTALLATION CHECK
	AX = 1600h
Return: AL = status
	    00h neither Windows 3.x enhanced mode nor Windows/386 2.x running
	    01h Windows/386 2.x running
	    80h XMS version 1 driver installed (neither Windows 3.x enhanced
		  mode nor Windows/386 2.x running) (obsolete--see note)
	    FFh Windows/386 2.x running
	AL = anything else
	    AL = Windows major version number >= 3
	    AH = Windows minor version number
Notes:	INT 2F/AH=16h comprises an API for non-Windows programs (DOS device
	  drivers, TSRs, and applications) to cooperate with multitasking
	  Windows/386 2.x and Windows 3.x and higher enhanced mode.
	certain calls are also supported in the Microsoft 80286 DOS extender in
	  Windows standard mode
	this function served as the installation check and AX=1610h served to
	  get the driver entry point for XMS version 1, which is now obsolete.
	  Use AX=4300h and AX=4310h instead
	Windows95 reports version 4.00, Windows95B reports version 4.03
SeeAlso: AX=160Ah,AX=1610h,AX=4300h,AX=4680h
Index:	installation check;XMS version 1

Top
2F1602 - INT 2F - MS Windows/386 2.x - GET API ENTRY POINT
INT 2F - MS Windows/386 2.x - GET API ENTRY POINT
	AX = 1602h
Return: ES:DI -> Windows/386 2.x API procedure entry point
Notes:	this interface is supported in Windows 3.x and Windows95 only for 2.x
	  compatibility
	to get the current virtual machine (VM) ID in Windows/386 2.x:
	    AX = 0000h
	    ES:DI -> return address
	    JUMP to address returned from INT 2F/AX=1602h
	After JUMP, at return address:
	    BX = current VM ID.
SeeAlso: AX=C020h

Top
2F1603 - INT 2F C - MS Windows/386 - GET INSTANCE DATA
INT 2F C - MS Windows/386 - GET INSTANCE DATA
	AX = 1603h
Return: AX = 5248h ('RH') if supported
	    DS:SI -> Windows/386 instance data (see #02630)
Notes:	reportedly supported by RM Nimbus MS-DOS 3.3 kernel
	this function is called by DOSMGR when AX=1607h/BX=0015h is not
	  supported, as is the case in DOS versions prior to 5.0
	see Geoff Chappell's book _DOS_Internals_ for additional discussions of
	  this function, DOSMGR's behavior, and instancing in general
SeeAlso: AX=1607h/BX=0015h

Format of Windows/386 instance data:
Offset	Size	Description	(Table 02630)
 00h	WORD	segment of IO.SYS (0000h = default 0070h)
 02h	WORD	offset in IO.SYS of STACKS data structure (DOS 3.2x)
		0000h if not applicable
 04h	WORD	number of instance data entries (max 32)
 06h	Array of instance data entries
	Offset	Size	Description
	 00h	WORD	segment (0002h = DOS kernel)
	 02h	WORD	offset
	 04h	WORD	size

Top
2F1605 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX INIT BROADCAST
INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX INIT BROADCAST
	AX = 1605h
	ES:BX = 0000h:0000h
	DS:SI = 0000h:0000h
	CX = 0000h
	DX = flags
	    bit 0 = 0 if Windows enhanced-mode initialization
	    bit 0 = 1 if Microsoft 286 DOS extender initialization
	    bits 1-15 reserved (undefined)
	DI = version number (major in upper byte, minor in lower)
Return: CX = 0000h if okay for Windows to load
	CX = FFFFh (other registers unchanged) if Windows 3.0 in standard mode
	CX <> 0 if Windows should not load
	ES:BX -> startup info structure (see #02631)
	DS:SI -> virtual86 mode enable/disable callback or 0000h:0000h
	      (see #02634)
Notes:	the Windows enhanced mode loader and Microsoft 286 DOS extender will
	  broadcast an INT 2F/AX=1605h call when initializing.	Any DOS device
	  driver or TSR can watch for this broadcast and return the appropriate
	  values.  If the driver or TSR returns CX <> 0, it is also its
	  responsibility to display an error message (however, Windows95 is
	  reported to load regardless of the returned CX).
	each handler must first chain to the prior INT 2F handler with
	  registers unchanged before processing the call
	if the handler requires local data on a per-VM basis, it must store the
	  returned ES:BX in the "next" field of a startup info structure and
	  return a pointer to that structure in ES:BX
	a single TSR may set the V86 mode enable/disable callback; if DS:SI is
	  already nonzero, the TSR must fail the initialization by setting CX
	  nonzero
	MSD checks for Windows 3.0 running in standard mode by testing whether
	  CX=FFFFh and other registers are unchanged on return
	Novell DOS v7.0 (Update 8 - Update 11) TASKMGR in multitasking mode
	  uses this broadcast, even if TASKMGR.INI sets WinPresent= to OFF
	Microsoft's EMM386.EXE for DOS 5+ when installed with the NOEMS option
	  changes its driver name from EMMQXXX0 to EMMXXXX0 while Windows is
	  active
SeeAlso: AX=1606h,AX=1608h,AX=4B05h

Format of Windows Startup Information Structure:
Offset	Size	Description	(Table 02631)
 00h  2 BYTEs	major, minor version of info structure
 02h	DWORD	pointer to next startup info structure or 0000h:0000h
 06h	DWORD	pointer to ASCIZ name of virtual device file or 0000h:0000h
 0Ah	DWORD	virtual device reference data (see #02633)
		(only used if above nonzero)
 0Eh	DWORD	pointer to instance data records (see #02632) or 0000h:0000h
---structure version >= 4.0---
 12h	DWORD	pointer to optionally-instanced data records (see #02632)
		  or 0000h:0000h

Format of one Instance Item in array:
Offset	Size	Description	(Table 02632)
 00h	DWORD	address of instance data (end of array if 0000h:0000h)
 04h	WORD	size of instance data
SeeAlso: #02631

Format of Virtual Device Reference Data:
Offset	Size	Description	(Table 02633)
 00h	DWORD	physical address of ??? or 00000000h
 04h	DWORD	physical address of ??? table
 08h	DWORD	"DEST_PAGE" address to which pages must be mapped
 0Ch  N DWORDs	"SRC_PAGE" physical addresses of the pages
		00000000h = end of table
Note:	EMM386.EXE sets the first pointer to the start of the device driver
	  chain, the second pointer to a field of 40h bytes followed by a
	  16-bit offset to the end of the SRC_PAGE table, and DEST_PAGE to
	  the start segment of the UMB area
SeeAlso: #02631

(Table 02634)
Values Windows virtual mode enable/disable procedure is called with:
	AX = 0000h disable V86 mode
	AX = 0001h enable V86 mode
	interrupts disabled
Return: CF set on error
	CF clear if successful
	interrupts disabled
SeeAlso: #02631

Top
2F1606 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX EXIT BROADCAST
INT 2F C - MS Windows - WINDOWS ENHANCED MODE & 286 DOSX EXIT BROADCAST
	AX = 1606h
	DX = flags
	    bit 0 = 0 if Windows enhanced-mode exit
	    bit 0 = 1 if Microsoft 286 DOS extender exit
	    bits 1-15 reserved (undefined)
Notes:	if the init broadcast fails (AX=1605h returned CX <> 0), then this
	  broadcast will be issued immediately.
	this call will be issued in real mode
	Novell DOS v7.0 (Update 8 - Update 15) TASKMGR in multitasking mode
	  uses this broadcast, even if TASKMGR.INI sets WinPresent= to OFF
SeeAlso: AX=1605h,AX=1609h

Top
2F1607 - INT 2F C - MS Windows - VIRTUAL DEVICE CALL OUT API
INT 2F C - MS Windows - VIRTUAL DEVICE CALL OUT API
	AX = 1607h
	BX = virtual device ID (see #02642)
	CX = (usually) callout subfunction
Return: (usually) AX,BX,CX,DX,ES contain results
Notes:	more of a convention than an API, this call specifies a standard
	  mechanism for Windows enhanced-mode virtual devices (VxD's) to talk
	  to DOS device drivers and TSRs
	see below for details on several virtual devices
SeeAlso: AX=1605h,AX=1607h/BX=000Ch,AX=1607h/BX=0014h,AX=1607h/BX=0015h
SeeAlso: AX=1607h/BX=0018h,AX=1684h"DEVICE API",AX=C020h

Top
2F1607BX0006 - INT 2F C - MS Windows - "V86MMGR" VIRTUAL DEVICE API
INT 2F C - MS Windows - "V86MMGR" VIRTUAL DEVICE API
	AX = 1607h
	BX = 0006h (VxD identifier of "V86MMGR")
	CX = 0000h
Return: AX = status
	    0000h if local A20 state changed
	    1607h if A20 unchanged
	    other if global A20 state changed
SeeAlso: AX=1607h"CALL OUT API"

Top
2F1607BX000C - INT 2F C - MS Windows - "VMD" VIRTUAL MOUSE DEVICE API
INT 2F C - MS Windows - "VMD" VIRTUAL MOUSE DEVICE API
	AX = 1607h
	BX = 000Ch (VxD identifier of "VMD")
Return: CX = nonzero if mouse driver already virtualized
Note:	VMD (Virtual Mouse Driver) calls this and then checks whether CX is
	  nonzero; if yes, it will not automatically virtualize the mouse
	  driver.  This would be used if MOUSE.COM already virtualizes
	  itself using the Windows API.
SeeAlso: AX=1607h/BX=0014h,AX=1607h/BX=0015h

Top
2F1607BX000D - INT 2F C - MS Windows95 - "VKD" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows95 - "VKD" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 000Dh (VxD ID for VKD)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1607BX0010 - INT 2F C - MS Windows 3.1 - "BLOCKDEV" VIRTUAL HARD DISK DEVICE API
INT 2F C - MS Windows 3.1 - "BLOCKDEV" VIRTUAL HARD DISK DEVICE API
	AX = 1607h
	BX = 0010h (VxD identifier of "BLOCKDEV")
	CX = function
	    0001h starting FastDisk compatibility tests
	    0002h ending FastDisk compatibility tests
	    0003h check if FastDisk installation allowed
		Return: CX = 0000h if allowed
Note:	this interface is called by the Windows FastDisk driver (such as
	  WDCTRL) when it thinks that the INT 13h handler immediately below
	  IO.SYS's INT 13h code is not in ROM; it should be supported by any
	  program which hooks itself underneath IO.SYS's INT 13h code with
	  INT 2F/AH=13h
SeeAlso: AX=1607h/BX=0014h,INT 2F/AH=13h

Top
2F1607BX0014 - INT 2F C - MS Windows - "VNETBIOS" VIRTUAL DEVICE API
INT 2F C - MS Windows - "VNETBIOS" VIRTUAL DEVICE API
	AX = 1607h
	BX = 0014h (VxD identifier of "VNETBIOS")
Return: ES:DI -> 128-byte table specifying VNETBIOS actions for each NetBIOS
		command code (see #02635)
Note:	VNETBIOS (Virtual NetBIOS) calls this function to determine whether
	  the NetBIOS has an extensions Windows should know about
SeeAlso: AX=1607h/BX=000Ch,AX=1607h/BX=0010h,AX=1607h/BX=0015h

(Table 02635)
Values for VNETBIOS action code:
 00h	"VN_Unknown" unknown command
 04h	"VN_No_Map"  no memory mapping necessary
 08h	"VN_Map_In"  input buffer is quickly used, so no global mapping needed
 0Ch	"VN_Map_In"  output buffer is quickly used, so no global mapping needed
 10h	"VN_Map_In_Out"	 buffer is quickly used, so no global mapping needed
 14h	"VN_Chain_Send"	 the chain-send command
 18h	"VN_Cancel"	special case for cancel command
 1Ch	"VN_Buffer_In"	buffer is incoming
 20h	"VN_Buffer_Out" buffer is outgoing
 24h	"VN_Buffer_In_Out" buffer used for both incoming and outgoing data

Top
2F1607BX0015 - INT 2F C - MS Windows - "DOSMGR" VIRTUAL DEVICE API
INT 2F C - MS Windows - "DOSMGR" VIRTUAL DEVICE API
	AX = 1607h
	BX = 0015h (VxD identifier of "DOSMGR")
	CX = function
	    0000h query instance processing
		DX = 0000h
		Return: CX = state
			    0000h not instanced
			    other instanced (DOS 5+ kernel returns 0001h)
				DX = segment of DOS drivers or 0000h for
					default of 0070h
				ES:BX -> patch table (see #02637)
	    0001h set patches in DOS
		DX = bit mask of patch requests (see #02636)
		Return: AX = B97Ch
			BX = bit mask of patches applied (see #02636)
			DX = A2ABh
	    0002h remove patches in DOS (ignored by DOS 5.0 kernel)
		DX = bit mask of patch requests (see #02636)
		Return: CX = 0000h (DOS 5-6)
		Note:	return values are ignored by DOSMGR in Windows 3.1
	    0003h get size of DOS data structures
		DX = bit mask of request (only one bit can be set)
		    bit 0: Current Directory Structure size
		Return: if supported request:
			    AX = B97Ch
			    CX = size in bytes of requested structure
			    DX = A2ABh
			else:
			    CX = 0000h
			    all other registers preserved
	    0004h determine instanced data structures
		Return: AX = B97Ch if supported
			DX = A2ABh if supported (DOS 5+ kernel returns 0000h)
			BX = bit mask of instanced items
			    bit 0: CDS
			    bit 1: SFT
			    bit 2: device list
			    bit 3: DOS swappable data area
	    0005h get device driver size
		ES = segment of device driver
		Return: DX:AX = 0000h:0000h on error (not dev. driver segment)
			DX:AX = A2ABh:B97Ch if successful
			    BX:CX = size of device driver in bytes
Notes:	DOSMGR (DOS Manager) will check whether the OEM DOS/BIOS data has
	  been instanced via this API and will not perform its own default
	  instancing of the normal DOS/BIOS data if so; if this API is not
	  supported, DOSMGR will also try to access instancing data through
	  INT 2F/AX=1603h
	these functions are supported by the DOS 5+ kernel; DOSMGR contains
	  tables of instancing information for earlier versions of DOS
	see Geoff Chappell's book _DOS_Internals_ for additional discussions of
	  DOSMGR's behavior and instancing in general
SeeAlso: AX=1603h,AX=1605h,AX=1607h/BX=000Ch,AX=1607h/BX=0014h
SeeAlso: AX=1684h"DEVICE API"

Bitfields for DOSMGR patch requests:
Bit(s)	Description	(Table 02636)
 0	enable critical sections
 1	NOP setting/checking user ID
 2	turn INT 21/AH=3Fh on STDIN into polling loop
 3	trap stack fault in "SYSINIT" to WIN386
 4	BIOS patch to trap "Insert disk X:" to WIN386

Format of DOSMGR patch table:
Offset	Size	Description	(Table 02637)
 00h  2 BYTEs	DOS version (major, minor)
 02h	WORD	offset in DOS data segment of "SAVEDS"
 04h	WORD	offset in DOS data segment of "SAVEBX"
 06h	WORD	offset in DOS data segment of InDOS flag
 08h	WORD	offset in DOS data segment of User ID word
 0Ah	WORD	offset in DOS data segment of "CritPatch" table to enable
		  critical section calls (see INT 2A/AH=80h)
 0Ch	WORD	(DOS 5+ only) offset in DOS data segment of "UMB_HEAD",
		  containing segment of last MCB in conventional memory

Top
2F1607BX0018 - INT 2F C - MS Windows - "VMPoll" VIRTUAL DEVICE - IDLE CALLOUT
INT 2F C - MS Windows - "VMPoll" VIRTUAL DEVICE - IDLE CALLOUT
	AX = 1607h
	BX = 0018h (VMPoll VxD ID) (see #02642)
	CX = 0000h
Return: AX = status
	    0000h if timeslice used
	    nonzero if timeslice not needed
Note:	when VMPoll makes this callout, all virtual machines are idle, and any
	  interested TSR can use the opportunity to perform background
	  processing
SeeAlso: AX=1607h"CALL OUT API",AX=1689h

Top
2F1607BX0021 - INT 2F C - MS Windows - "PageFile" VIRTUAL DEVICE - GET LOCK BYTE
INT 2F C - MS Windows - "PageFile" VIRTUAL DEVICE - GET LOCK BYTE
	AX = 1607h
	BX = 0021h (PageFile VxD ID)
	CX = 0000h
Return: AX = status
	    0000h success
		ES:DI -> cache lock byte in disk cacher
	    other no disk cache or unsupported
Notes:	PageFile issues this call on real-mode initialization in order to allow
	  disk caches to provide it with a byte which it can use to temporarily
	  lock the disk cache; VMPOLL also issues this call, so it is made
	  twice each time Windows starts up
	if this call fails, PageFile falls back to other techniques for locking
	  the disk cache
SeeAlso: AX=1607h"CALL OUT API"

Top
2F1607BX002D - INT 2F C - MS Windows - "W32S" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows - "W32S" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 002Dh (VxD ID for W32S)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1607BX0040 - INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 0040h (VxD ID for IFSMgr)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1607BX0446 - INT 2F C - MS Windows - "VADLIBD" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows - "VADLIBD" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 0446h (VxD ID for VADLIBD)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1607BX0484 - INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows - "IFSMgr" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 0484h (VxD ID for IFSMgr)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1607BX0487 - INT 2F C - MS Windows - "NWSUP" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows - "NWSUP" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 0487h (VxD ID for NWSUP)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1607BX22C0 - INT 2F C - Rational Systems DOS/4GW - ???
INT 2F C - Rational Systems DOS/4GW - ???
	AX = 1607h
	BX = 22C0h
	???
Return: ???
SeeAlso: INT 15/AX=BF02h,INT 15/AX=BF04h,#02642

Top
2F1607BX28A1 - INT 2F C - MS Windows - "PharLap" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows - "PharLap" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 28A1h (VxD ID for PharLap)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1607BX7A5F - INT 2F C - MS Windows - "SIWVID" VIRTUAL DEVICE - ??? CALLOUT
INT 2F C - MS Windows - "SIWVID" VIRTUAL DEVICE - ??? CALLOUT
	AX = 1607h
	BX = 7A5Fh (VxD ID for SIWVID)
	???
Return: ???
SeeAlso: AX=1607h"CALL OUT API",#02642

Top
2F1608 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE INIT COMPLETE BROADCAST
INT 2F C - MS Windows - WINDOWS ENHANCED MODE INIT COMPLETE BROADCAST
	AX = 1608h
Notes:	called after all installable devices have been initialized
	real-mode software may be called between the Windows enhanced-mode init
	  call (AX=1605h) and this call; the software must detect this
	  situation
SeeAlso: AX=1605h,AX=1609h

Top
2F1609 - INT 2F C - MS Windows - WINDOWS ENHANCED MODE BEGIN EXIT BROADCAST
INT 2F C - MS Windows - WINDOWS ENHANCED MODE BEGIN EXIT BROADCAST
	AX = 1609h
Note:	called at the beginning of a normal exit sequence; not made in the
	  event of a fatal system crash
SeeAlso: AX=1606h,AX=1608h

Top
2F160A - INT 2F - MS Windows 3.1 - IDENTIFY WINDOWS VERSION AND TYPE
INT 2F - MS Windows 3.1 - IDENTIFY WINDOWS VERSION AND TYPE
	AX = 160Ah
Return: AX = 0000h if call supported
	    BX = version (BH=major, BL=minor)
	    CX = mode (0002h = standard, 0003h = enhanced)
Note:	Windows95 reports version 4.00, Windows95B reports version 4.03
SeeAlso: AX=1600h,AX=4680h

Top
2F160B - INT 2F - MS Windows 3.1 - IDENTIFY TSRs
INT 2F - MS Windows 3.1 - IDENTIFY TSRs
	AX = 160Bh
	ES:DI = 0000h:0000h
Return: ES:DI -> TSR information structure (see #02638)
Desc:	this call allows Windows-aware TSRs to make themselves known to
	  Windows.
Note:	the TSR should first chain to the previous INT 2F handler, then
	  allocate a communication structure, place the returned ES:DI
	  pointer in the first field, and return a pointer to the new
	  structure
SeeAlso: AX=1605h,AX=160Ch,AX=4B01h,AX=4B05h

Format of TSR-to-Windows information structure:
Offset	Size	Description	(Table 02638)
 00h	DWORD	pointer to next structure
 04h	WORD	PSP segment
 06h	WORD	API version ID (0100h)
 08h	WORD	EXEC flags (how to load command specified by "exec_cmd")
		bit 0: "WINEXEC"
		bit 1: "LOADLIBRARY"
		bit 2: "OPENDRIVER"
 0Ah	WORD	"exec_cmd_show" (see #02639)
 0Ch	DWORD	"exec_cmd" pointer to command line to be executed
 10h  4 BYTEs	reserved (0)
 14h	DWORD	pointer to TSR ID block (see #02640)
 18h	DWORD	pointer to TSR data block or 0000h:0000h

(Table 02639)
Values for TSR information structure "exec_cmd_show":
 00h	HIDE
 01h	SHOWNORMAL
 02h	SHOWMINIMIZED
 03h	SHOWMAXIMIZED
 04h	SHOWNOACTIVE
 05h	SHOW
 06h	MINIMIZE
 07h	SHOWMINNOACTIVE
 08h	SHOWNA
 09h	RESTORE
Note:	this value is passed as the second parameter to the WinExec(),
	  LoadLibrary(), or OpenDriver() call used to execute a requested
	  command line
SeeAlso: #02638

Format of Norton Utilities 6.0 TSR ID block:
Offset	Size	Description	(Table 02640)
 00h	WORD	length of name string
 02h  N BYTEs	name of TSR's executable
SeeAlso: #02638

Top
2F160C - INT 2F - MS Windows 3.1 - DETECT ROMs
INT 2F - MS Windows 3.1 - DETECT ROMs
	AX = 160Ch
	???
Return: ???
Note:	used by ROM Windows; appears to be a NOP under standard Windows95 and
	  Windows95B
SeeAlso: AX=160Bh,INT 21/AH=6Dh"ROM"

Top
2F160E - INT 2F U - MS-DOS 7 kernel - BOOT LOGO SUPPORT???
INT 2F U - MS-DOS 7 kernel - BOOT LOGO SUPPORT???
	AX = 160Eh
	BL = subfunction
	    00h get ???
		AX = state of flag manipulated by subfn 04h and 05h
		    0000h clear
		    FFFFh set
		DX = ??? (0000h)
	    01h link in INT 10h??? handlers
	    02h unlink INT 10h??? handlers
	    03h ???
	    04h set ??? flag
	    05h clear ??? flag
Return: AX = 0000h if supported
	    ???
SeeAlso: AX=160Fh,AX=1611h,AX=1614h

Top
2F160F - INT 2F U - MS-DOS 7 kernel - GET/SET ??? HANDLER
INT 2F U - MS-DOS 7 kernel - GET/SET ??? HANDLER
	AX = 160Fh
	BL = subfunction
	    00h get ??? handler
		Return: AX = 0000h if supported
			    CX:DX -> handler to which control is passed after
				      ??? executes
			   = 160Fh inside a Windows 95B DOS box
	    01h set ??? handler
		CX:DX -> new handler for ???
		Return: AX = 0000h if supported
Notes:	this function is not supported if ??? in the IO.SYS drivers portion of
	  the kernel is an IRET instruction (as is the case on my system)
	  rather than a FAR JMP
	the indicated handler seems to be related to INT 10 processing
SeeAlso: AX=160Eh,AX=1611h,AX=1614h

Top
2F1610 - INT 2F - XMS v1.x only - GET DRIVER ADDRESS
INT 2F - XMS v1.x only - GET DRIVER ADDRESS
	AX = 1610h
	details unavailable
Note:	this function and AX=1600h were only used in XMS version 1 and are now
	  obsolete.  Use AX=4300h and AX=4310h instead
SeeAlso: AX=1600h,AX=4310h

Top
2F1611 - INT 2F U - MS-DOS 7 kernel - GET SHELL PARAMETERS
INT 2F U - MS-DOS 7 kernel - GET SHELL PARAMETERS
	AX = 1611h
Return: AX = 0000h if supported
	    DS:DX -> primary shell's executable name
	    DS:SI -> prinary shell command line (counted string)
	    BH = ??? (00h)
	    BL = ??? (00h,40h)
Desc:	return the program name and commandline from the CONFIG.SYS SHELL=
	  statement
SeeAlso: AX=160Eh,AX=160Fh,AX=1612h,AX=4A33h

Top
2F1612 - INT 2F U - MS-DOS 7 kernel - GET ???
INT 2F U - MS-DOS 7 kernel - GET ???
	AX = 1612h
Return: AX = 0000h if supported
	    ES:BX -> DOS 7 kernel data (see #02641)
Note:	called by VTD.VXD; one of the returned data items is a pointer to the
	  WORD in which the default CLOCK$ driver maintains its count of days
	  since 01jan1980
SeeAlso: AX=160Fh,AX=1611h,AX=1613h

Format of MS-DOS 7.x ??? kernel data:
Offset	Size	Description	(Table 02641)
 00h	WORD	structure revision??? (0001h)
 02h	DWORD	-> ??? function (call with DS=high word of this field)
		the indicated function vectors through the INT 13 hook at
		  0070h:00B4h and then forces the A20 gate open
 06h	DWORD	-> ??? function
 0Ah	WORD	DOS DS
 0Ch  8 BYTEs	zeros seen
 14h	DWORD	-> ??? data
 18h	DWORD	-> ??? data
	???

Top
2F1613 - INT 2F - MS-DOS 7 kernel - GET SYSTEM.DAT (REGISTRY FILE) PATHNAME
INT 2F - MS-DOS 7 kernel - GET SYSTEM.DAT (REGISTRY FILE) PATHNAME
	AX = 1613h
	ES:DI -> buffer for full ASCIZ pathname to Windows95 SYSTEM.DAT
	CX = buffer size in bytes
Return: AX = 0000h if supported
	    ES:DI buffer filled
	    CX = number of bytes copied into buffer
SeeAlso: AX=160Eh,AX=1611h,AX=1612h,AX=1614h,AX=1690h

Top
2F1614 - INT 2F U - MS-DOS 7 kernel - SET SYSTEM.DAT (REGISTRY FILE) PATHNAME
INT 2F U - MS-DOS 7 kernel - SET SYSTEM.DAT (REGISTRY FILE) PATHNAME
	AX = 1614h
	ES:DI -> ASCIZ pathname to Windows95 SYSTEM.DAT
Return: AX = status
	    0000h if successful
	    1614h not supported
	    other: maximum length of pathname (004Eh for v4.00.950)
SeeAlso: AX=160Eh,AX=1611h,AX=1613h,AX=1690h

Top
2F1615 - INT 2F - Windows95 - SAVE32.COM - INSTALLATION CHECK
INT 2F - Windows95 - SAVE32.COM - INSTALLATION CHECK
	AX = 1615h
Return: AX = 0000h if installed
	    BX = segment of resident code
Program: SAVE32.COM is a TSR included in the Windows95 distribution which
	  preserves the contents of 32-bit registers across invocations of
	  all of the hardware interrupt handlers (which, for some older BIOSes
	  and TSRs, do not properly preserve the high words of the 32-bit
	  registers)

Top
2F1680 - INT 2F - MS Windows, DPMI, various - RELEASE CURRENT VIRTUAL MACHINE TIME-SLICE
INT 2F - MS Windows, DPMI, various - RELEASE CURRENT VIRTUAL MACHINE TIME-SLICE
	AX = 1680h
Return: AL = status
	    00h if the call is supported
	    80h (unchanged) if the call is not supported
Notes:	programs can use this function in idle loops to enhance performance
	  under multitaskers; this call is supported by MS Windows 3+, DOS 5+,
	  DPMI 1.0+, and in OS/2 2.0+ for multitasking DOS applications
	does not block the program; it just gives up the remainder of the time
	  slice
	should not be used by Windows-specific programs
	when called very often without intermediate screen output under
	  MS Windows 3.x, the VM will go into an idle-state and will not
	  receive the next slice before 8 seconds have elapsed. This time can
	  be changed in SYSTEM.INI through "IdleVMWakeUpTime=<seconds>".
	  Setting it to zero results in a long wait.
	this function has no effect under OS/2 2.10-4.0 if the DOS box has an
	  "Idle Sensitivity" setting of 100
SeeAlso: AX=1689h,INT 15/AX=1000h,INT 15/AX=5305h,INT 21/AH=89h,INT 7A/BX=000Ah

Top
2F1681 - INT 2F - MS Windows 3+ - BEGIN CRITICAL SECTION
INT 2F - MS Windows 3+ - BEGIN CRITICAL SECTION
	AX = 1681h
Notes:	used to prevent a task switch from occurring
	should be followed by an INT 2F/AX=1682h call as soon as possible
	nested calls are allowed, and must be followed by an appropriate number
	  of "end critical section" calls
	not supported in Windows/386 2.x. Get INDOS flag with INT 21/AH=34h and
	  increment by hand.
SeeAlso: AX=1682h,INT 15/AX=101Bh,INT 21/AH=34h

Top
2F1682 - INT 2F - MS Windows 3+ - END CRITICAL SECTION
INT 2F - MS Windows 3+ - END CRITICAL SECTION
	AX = 1682h
Notes:	not supported in Windows/386 2.x.  Get InDOS flag with INT 21/AH=34h
	  and decrement by hand, taking care not to decrement InDOS flag
	  through zero
SeeAlso: AX=1681h,INT 15/AX=101Ch,INT 21/AH=34h

Top
2F1683 - INT 2F - MS Windows 3+ - GET CURRENT VIRTUAL MACHINE ID
INT 2F - MS Windows 3+ - GET CURRENT VIRTUAL MACHINE ID
	AX = 1683h
Return: BX = current virtual machine (VM) ID
Notes:	Windows itself currently runs in VM 1, but this can't be relied upon
	VM IDs are reused when VMs are destroyed
	an ID of 0 will never be returned
SeeAlso: AX=1684h"DEVICE API",AX=1685h,AX=168Bh

Top
2F1684 - INT 2F - MS Windows - GET DEVICE API ENTRY POINT
INT 2F - MS Windows - GET DEVICE API ENTRY POINT
	AX = 1684h
	BX = virtual device (VxD) ID (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point, or 0:0 if the VxD does not support an API
Note:	some Windows enhanced-mode virtual devices provide services that
	  applications can access.  For example, the Virtual Display Device
	  (VDD) provides an API used in turn by WINOLDAP.
SeeAlso: AX=1684h/BX=0001h,AX=1684h/BX=0015h,AX=1683h,AX=4011h,INT 20"Windows"

(Table 02642)
Values for MS Windows VxD ID:
Value	Name   CallOut V86 PM	Description
 0000h	ACT200L	     ?	?  ?	IrDA Infrared ActiSys framer VxD
 0000h	ACT220L	     ?	?  ?	IrDA Infrared ActiSys 220 framer VxD
 0000h	ADAPTEC	     ?	?  ?	IrDA Infrared Adaptec framer VxD
 0000h	AM1500T	     ?	N  N	(Win95)
 0000h	ATI	     ?	N  N	(Win95) ATI display driver
 0000h	ATIPPCAP     ?	N  Y	ATI Rage128-based video card
 0000h	CDFS	     ?	N  N
 0000h	CDTSD	     ?	N  N	(Win95) CD-ROM Type-Specific Driver
 0000h	CE2NDIS3     ?	N  N	(W4Wg)
 0000h	CENDIS	     ?	N  N	(W4Wg)
 0000h	CHIPS	     ?	N  N	(Win95) Chips&Tech display driver
 0000h	CIRRUS	     ?	N  N	(Win95) Cirrus display driver
 0000h	CTNDW	     ?	N  N	(W4Wg)
 0000h	CTVSD	     ?	N  N	(Win95) CD-ROM Vendor-Specific Driver
 0000h	CM2NDIS3     ?	N  N	(W4Wg)
 0000h	COMBUFF	     ?	N  N	(Win95)
 0000h	COMPAQ	     ?	N  N	(Win95) Compaq display driver
 0000h	CPQNDIS3     ?	N  N	(W4Wg)
 0000h	CRYSTAL	     ?	?  ?	IrDA Infrared Crystal framer VxD
 0000h	CWCENUM	     ?	N  N	(Win95SR2???)
 0000h	CWCSPUD3     ?	N  N	(Win95SR2???)
 0000h	DBKVSSD	     ?	N  N	(Win95) Databook PCMCIA socket services???
 0000h	DDOM95	     ?	N  N
 0000h	DECLAN	     ?	N  N	(W4Wg)
 0000h	DiskTSD	     ?	N  N	(Win95) hard-disk Type-Specific Driver
 0000h	DiskVSD	     ?	N  N	(Win95) hard-disk Vendor-Specific Driver
 0000h	DMICTVXD     ?	N  N
 0000h	DMMDVDX	     ?	N  N	Diamond MaximumDVD
 0000h	DRVSPACX     ?	N  N	(Win95)
 0000h	E30N3	     ?	N  N	(W4Wg)
 0000h	E31N3		N  N	(W4Wg)
 0000h	EE16		N  N	(W4Wg)
 0000h	EISA		N  N	(Win95)
 0000h	EL59X		N  N	(Win95)
 0000h	ELNK16		N  N	(W4Wg)
 0000h	ELNK3		N  N	(Win95)
 0000h	ELNKII		N  N	(W4Wg)
 0000h	ELNKMC		N  N	(W4Wg)
 0000h	ELPC3		N  N	(W4Wg)
 0000h	ENABLE2		N  N	(Win95)
 0000h	ENABLE4		N  N	(Win95)
 0000h	EPRO		N  N	(Win95)
 0000h	ES1488V		N  N	(Win95)
 0000h	ES1688V		N  N	(Win95)
 0000h	ES488V		N  N	(Win95)
 0000h	ES688V		N  N	(Win95)
 0000h	ESI		?  ?	IrDA Infrared ESI framer VxD
 0000h	FILEMON		N  N	DOS386 File Monitor
 0000h	FLS1MTD		N  N	(Win95) flash-memory driver???
 0000h	FLS2MTD		N  N	(Win95) flash-memory driver???
 0000h	HPEISA		N  N	(W4Wg)
 0000h	HPFEND		N  N	(W4Wg)
 0000h	HPISA		N  N	(W4Wg)
 0000h	HPMCA		N  N	(W4Wg)
 0000h	HSFLOP		N  N
 0000h	IBMTOK		N  N	(W4Wg)
 0000h	IBMTOK4		N  N	(Win95)
 0000h	IRCOMM		?  ?	IrDA Infrared Virtual COM/LPT driver
 0000h	IRLAMPEX	?  ?	IrDA Infrared Protocol VxD
 0000h	IRLAPFRM	?  ?	IrDA Infrared Virtual COM/LPT frame driver
 0000h	IRMATRAK	N  N	(W4Wg)
 0000h	JAVASUP		N  N	Internet Explorer JAVA support
 0000h	KEYREMAP	N  N	(Windows95 PowerToys) shift-key remapper
 0000h	LPT	     N	N  N	(Win4Workgroups 3.11) DOS386 LPT Device
 0000h	LPTENUM	     ?	N  N
 0000h	MONVSD	     ?	?  ?
 0000h	MGA	     ?	N  N	(Win95) Matrox MGA display driver
 0000h	MSMINI	     ?	N  N	(Win95)
 0000h	MSODISUP     N	N  N	(Win4Workgroups 3.11) MS ODI Support
 0000h	mvpas	     ?	N  N	(Win95) Pro Audio Spectrum driver
 0000h	NECATAPI     ?	N  N	(Win95)
 0000h	NICE	     ?	N  N	(Win95)
 0000h	NTI4CDR	     ?	Y  Y	NTI CD-R/CD-RW
 0000h	NV3	     ?	N  N	(Win95SR2)
 0000h	NWNBLINK     N	N  N	(Win4Workgroups 3.11) Netware NetBIOS
 0000h	OAK		N  N	(Win95) Oak Tech display driver
 0000h	OCTK32		N  N	(W4Wg)
 0000h	OTCETH		N  N	(W4Wg)
 0000h	PARALINK	N  N	(Win95)
 0000h	PARALLAX	?  ?	IrDA Infrared Parallax framer VxD
 0000h	PCNTN3		N  N	(W4Wg)
 0000h	PE3NDIS		N  N	(W4Wg)
 0000h	PPM		N  N	(Win95)
 0000h	PROTEON		N  N	(W4Wg)
 0000h	QEMMFix		N  N
 0000h	QIC117		N  N	(Win95) QIC-117 floppy-ctrl tape drive
 0000h	QPI		N  N	QEMM Programming Interface (see INT 67/AH=3Fh)
 0000h	RMM		N  N	Real-Mode Mapper for hw with real-mode drivers
 0000h	S3		N  N	(Win95) S3 display driver
 0000h	S3INFO		N  N
 0000h	S3MINI		N  N	S3 display driver
 0000h	SAGE		N  N	(Plus!) System Agent
 0000h	sage		N  N	(Plus! for Win95) System Agent
 0000h	scsi1hlp	N  N	(Win95)
 0000h	SERENUM		N  N
 0000h	SERIAL	     N	N  N	(Win4Workgroups 3.11) DOS386 Serial Device
 0000h	SERWAVE	     ?	N  N
 0000h	SETP3	     ?	N  N	(Win95) Silicon Ethernet Pocket Adapter
 0000h	SLMSDENM     ?	Y  Y	
 0000h	SMARTVSD     ?	N  N	(EZ-SMART???)
 0000h	SMC8000W     ?	N  N	(W4Wg)
 0000h	SMC80PC	     ?	N  N	(W4Wg)
 0000h	SMC8100W     ?	N  N	(W4Wg)
 0000h	SMC8232W     ?	N  N	(W4Wg)
 0000h	SMC9000	     ?	N  N	(W4Wg)
 0000h	SNIP	     ?	N  N	(W4Wg)
 0000h	SOCKET	     ?	N  N	(W4Wg)
 0000h	SOCKETSV     ?	N  N	(Win95)
 0000h	SPAP	     ?	Y  Y	(Win95)
 0000h	SPENDIS	     ?	N  N	(Win95)
 0000h	SRAMMTD	     ?	N  N	(Win95) flash-memory driver???
 0000h	STLTH64	     ?	N  N	Diamond Stealth64 driver
 0000h	STLTHMON     ?	N  N
 0000h	T20N3	     ?	N  N	(W4Wg)
 0000h	T30N3	     ?	N  N	(W4Wg)
 0000h	TCTOK	     ?	N  N	(W4Wg)
 0000h	TSENG	     ?	N  N	(Win95) Tseng Labs display driver
 0000h	UBNEI	     ?	N  N	(W4Wg)
 0000h	UNIMODEM     ?	?  ?	(Win95) Universal Modem Driver
 0000h	VDEF	     ?	N  N	(Win95)
 0000h	VGATEWAY     ?	N  Y	(Win95) dialin gateway
 0000h	VIDEO7	     ?	N  N	(Win95) Video7 display driver
 0000h	VRomD	     ?	N  N	(Win95)
 0000h	VStDspcD     ?	?  ?	Quarterdeck Stealth D*Space
 0000h	VXDMON	     ?	?  ?
 0000h	WD	     ?	N  N	(Win95)
 0000h	WINTOP	     ?	N  N	(Windows95 Power Toys)
 0000h	WSHTCP	     ?	N  N
 0000h	XGA	     ?	N  N	(Win95) XGA display driver
 0001h	VMM	     ?	N  N	Virtual Machine Manager
 0001h	VMM	     ?	Y  Y	Windows95 Virtual Machine Manager
 0002h	Debug	     ?	?  ?
 0003h	VPICD	     ?	Y  Y	Virtual Prog. Interrupt Controller (PIC) Device
 0004h	VDMAD	     ?	N  N	Virtual Direct Memory Access (DMA) Device
 0005h	VTD	     ?	Y  Y	Virtual Timer Device
 0006h	V86MMGR	     Y	N  N	(Windows3.x) Virtual 8086 Mode Device
 0006h	V86MMGR	     ?	N  Y	(Win95) Virtual 8068 Mode Device
 0007h	PageSwap     ?	N  N	Paging Device
 0008h	Parity	     ?	N  N	Parity-check trapper
 0009h	Reboot	     ?	N  Y	Ctrl-Alt-Del handler
 000Ah	VDD	     ?	N  Y	Virtual Display Device (GRABBER)
 000Bh	VSD	     ?	N  N	Virtual Sound Device
 000Ch	VMD	     Y	Y  Y	Virtual Mouse Device
 000Dh	VKD	     ?	N  Y	Virtual Keyboard Device
 000Eh	VCD	     ?	N  Y	Virtual COMM Device
 000Fh	VPD	     ?	N  Y	Virtual Printer Device
 0010h	VHD	     ?	?  ?	Virtual Hard Disk Device (Windows 3.0)
 0010h	BLOCKDEV     Y	N  N	Virtual Hard Disk Device (Windows 3.1)
 0010h	IOS	     N	N  N	(Win4Workgroups 3.11) DOS386 IOS Device
 0010h	IOS	     ?	Y  Y	Windows95 I/O Supervisor
 0011h	VMCPD	     ?	Y  Y	(Windows3.x) Virtual Math CoProcessor Device
 0011h	VMCPD	     ?	N  Y	(Win95) Virtual Math CoProcessor Device
 0012h	EBIOS	     ?	N  N	Reserve EBIOS page (e.g., on PS/2)
 0013h	BIOSXLAT     ?	N  N	Map ROM BIOS API between prot & V86 mode
 0014h	VNETBIOS     Y	N  N	Virtual NetBIOS Device
 0015h	DOSMGR	     Y	Y  N	DOS data instancing (see #02656)
 0016h	WINLOAD	     ?	?  ?
 0017h	SHELL	     ?	N  Y	(Windows3)
 0017h	SHELL	     ?	Y  Y	(Win95)
 0018h	VMPOLL	     Y	N  N
 0019h	VPROD	     ?	?  ?
 001Ah	DOSNET	     ?	N  N	assures network integrity across VMs
 001Ah	VNETWARE     ?	Y  Y	Novell NetWare DOSNET replacement
 001Bh	VFD	     ?	N  N	Virtual Floppy Device
 001Ch	VDD2	     ?	?  ?	Secondary display adapter
 001Ch	LoadHi	     ?	N  N	Netroom LoadHi Device (RMLODHI.VXD)
 001Ch	LoadHi	     ?	N  N	386MAX LoadHi Device (386MAX.VXD)
 001Ch	LoadHi	     ?	N  N	Win386 LoadHi Device (EMM386.EXE)
 001Dh	WINDEBUG     ?	N  Y
 001Dh	TDDebug	     ?	N  Y
 001Eh	TSRLoad	     ?	?  ?	TSR instance utility
 001Fh	BiosHook     ?	?  ?	BIOS interrupt hooker VxD
 0020h	Int13	     N	N  N
 0021h	PageFile     Y	N  Y	Paging File device
 0022h	SCSI	     ?	?  ?
 0022h	APIX	     ?	N  Y	(Win95)
 0023h	MCA_POS	     ?	?  ?	Microchannel Programmable Option Select
 0024h	SCSIFD	     ?	?  ?	SCSI FastDisk device
 0025h	VPEND	     ?	?  ?	Pen device
 0026h	APM	     ?	?  ?	Advanced Power Management
 0026h	VPOWERD	     ?	Y  Y	(Win95) power management
 0027h	VXDLDR	     N	Y  Y	(Win4Wg 3.11/Win95) VXD Loader
 0028h	NDIS	     N	Y  Y	(Win4Wg 3.11) Network Driver Interface Spec
 0029h	???
 002Ah	VWIN32	     ?	N  Y	(Win95)
 002Bh	VCOMM	     N	Y  Y	(Win4Workgroups 3.11) DOS386 VCOMM Device
 002Ch	SPOOLER	     ?	N  N	Windows95 print spooler
 002Dh	W32S	     Y	N  Y	WIN32s 32-bit extension to Windows API
 002Eh	???
 002Fh	???
 0030h	MACH32	     N	N  Y	ATI Mach32 video card
 0031h	NETBEUI	     N	N  N	(Win4Workgroups 3.11) NETBEUI
 0032h	SERVER	     N	Y  Y	(Win4Workgroups 3.11) Int21 File Server
 0032h	VSERVER	     ?	N  Y	(Win95) Int21 File Server
 0033h	CONFIGMG     ?	Y  Y	(Win95)
 0033h	EDOS	     ?	N  N	Windows DOS Box Enhancer by Mom's Software
 0034h	DWCFGMG.SYS  ?	Y  ?	DOS Plug-and-Play configuration manager
 0035h	SCSIPORT     ?	N  N	(Win95) virtualized access to SCSI adapter
 0036h	VFBACKUP     ?	Y  Y	(Win95)
 0037h	ENABLE	     ?	Y  Y	(Win95)
 0038h	VCOND	     ?	Y  Y	(Win95)
 0039h	???
 003Ah	VPMTD	     N	N  Y	(Win4Workgroups 3.11) IFAX Scheduler Device
 003Bh	DSVXD	     ?	Y  N	DoubleSpace VxD from MS-DOS v6.x
 003Ch	ISAPNP	     ?	N  N	(Win95)
 003Dh	BIOS	     ?	Y  Y	(Win95)
 003Eh	WSOCK	     ?	Y  Y	(Win95) WinSock
 003Fh	WSIPX	     ?	N  N	(Win95) IPX WinSock
 0040h	IFSMGR	     ?	N  N	(Win95)
 0041h	VCDFSD	     ?	N  N	(Win95) CD-ROM File System Driver (MSCDEX)
 0042h	MRCI2	     ?	N  N	(Win95) DriveSpace3
 0043h	PCI	     ?	N  N	(Win95)
 0048h	PERF	     ?	N  N	(Win95)
 004Ah	MTRR	     ?	N  N	(Win95SR2) PPro/P-II MTRR enumerator???
 004Bh	NTKERN	     ?	N  Y	(Win95SR2)
 0051h	ISAPNP	     ?	N  N	(Win95) ISA Plug-and-Play manager
 008Dh	ESDI_506     ?	N  N	(Win95) MFM/RLL/ESDI disk driver
 0090h	voltrack     ?	N  N	(Win95) Volume Tracker
 00FDh	FAKEIDE	     ?	N  N	(Chicago)
 0102h	CV1	     ?	N  N	Microsoft C/C++ 7.00+ CodeView for Windows
 011Fh	VFLATD	     ?	N  Y	(Win95)
 0200h	VIPX	     ?	Y  Y	NetWare Virtual IPX Driver
 0200h	VTEMPD	     ?	?  ?	dummy template driver by Ray Patch
 0201h	VNWLSERV     ?	N  N	NetWare Lite 1.1 Server (SERVER.EXE)
 0202h	WINICE	     ?	Y  Y	SoftICE/W
 0202h	SICE	     ?	Y  Y
 0203h	VCLIENT	     ?	N  Y	NetWare Lite 1.1+ Client
 0205h	VCAFT	     ?	N  N	Novell Virtual CAFT Driver (LANalyzer for Win)
 0205h	BCW	     ?	Y  Y	Nu-Mega Bounds Checker for Windows
 0206h	VTXRX	     ?	N  N	Novell Virtual TXRX Driver (LANalyzer for Win)
 0207h	DPMS	     N	Y  N	Novell DOS Protected Mode Services
 0234h	VCOMMUTE     ?	Y  Y	PC Tools Commute
 0442h	VTDAPI	     ?	N  Y	MMSys Win386 VTAPI Device
 0443h	???
 0444h	VADMAD	     ?	?  ?	Autoinitialize DMA (Windows 3.0)
 0445h	VSBD	     ?	Y  Y	WinResKit: Sound Blaster Device
 0446h	VADLIBD	     Y	Y  Y	MMSys Win386 AdLib Device (v3.x)
 0447h	???
 0448h	SETULTRA     ?	?  ?	Gravis UltraSound setup
 0449h	vjoyd	     ?	N  Y	(Win95) joystick
 044Ah	mmdevldr     ?	Y  Y	(Win95)
 044Bh	???
 044Ch	msmpu401     ?	N  N	(Win95) MPU-401 MIDI driver
 044Ch	cwdmidi	     ?	Y  Y	(Crystal???) MIDI driver
 044Dh	msopl	     ?	N  N	(Win95) OPL-3 (SoundBlaster FM) driver
 044Eh	mssblst	     ?	N  N	(Win95) SoundBlaster MIDI driver
 045Dh	VflatD	     ?	N  Y	dva.386, part of WIN32s
 045Eh	???
 045Fh	mssndsys     ?	?  ?	Microsoft Sound System audio driver
 045Fh	azt16	     ?	Y  Y	Aztech Sound Galaxy 16 audio driver
 0460h	UNIMODEM     ?	N  Y	Universal Modem driver
 0480h	VNetSup	     N	Y  Y	(Win4Workgrps 3.11) Virtual Network Support
 0481h	VRedir	     N	N  N	(Win4Workgroups 3.11) Redirector File System
 0481h	VREDIR	     ?	N  N	(Win95) Redirector File System driver
 0482h	VBrowse	     ?	Y  Y	Win386 Virtual Browser
 0482h	SNAPVXD	     ?	Y  Y	(Win95)
 0483h	VSHARE	     ?	N  N	(Win4Workgroups) Virtual SHARE
 0483h	VSHARE	     ?	Y  Y	(Win95) Virtual SHARE
 0484h	IFSMgr	     Y	N  Y	(Win4Wg 3.11) Installable File System Manager
 0485h	???			???
 0486h	VFAT	     N	Y  Y	(Win4Workgroups 3.11) Win386 HPFS Driver
 0487h	NWLINK	     ?	Y  Y	Win386 Virtual Packet Exchange Protocol
 0487h	NWSUP	     Y	N  N	NetWare Vnetbios shim
 0488h	VTDI	     ?	N  N	(Win95)
 0489h	VIP	     ?	Y  N	(Win95)
 0489h	FTCVIP	     ?	Y  Y	Frontier Technologies' VIP
 048Ah	VTCP	     ?	Y  ?
 048Ah	MSTCP	     ?	Y  N	(Win95) TCP stack
 048Ah	FTCTDI	     ?	Y  Y	Future Technologies' TCP stack
 048Bh	VCache	     N	Y  Y	(Win4Workgroups 3.11) Virtual File Cache
 048Bh	VCACHE	     ?	Y  Y	(Win95) disk cache
 048Ch	???			???
 048Dh	RASMAC	     ?	Y  Y	enhanced mode Win4Workgroups RASMAC device
 048Eh	NWREDIR	     ?	Y  Y	(Win95)
 048Fh	???			???
 0490h	???			???
 0491h	FILESEC	     ?	?  ?	(Win95) File Access Control Manager
 0492h	NWSERVER     ?	?  ?	(Win95)
 0493h	SECPROV	     ?	?  ?	(Win95) Security Provider
 0494h	NSCL	     ?	Y  Y	(Win95)
 0495h	AFVXD	     ?	N  N	(Win95)
 0496h	NDIS2SUP     ?	?  ?	(W4Wg???) NDIS2 networking support
 0497h	MSODISUP     ?	N  N	(W4Wg???)
 0498h	Splitter     ?	N  N	(Win95)
 0499h	PPPMAC	     ?	Y  Y	(Win95)
 049Ah	VDHCP	     ?	Y  Y	(Win95)
 049Bh	VNBT	     ?	Y  Y	(Win95) NetBIOS-over-TCP/IP driver
 049Ch	???
 049Dh	LOGGER	     ?	?  ?	(Win95)
 04A2h	IRLAMP	     ?	?  ?	IrDA Infrared Enumerator VxD
 097Ch	PCCARD	     ?	N  Y	(Win95) (see INT 20/VxD=097Ch)
 1020h	VCV	     ?	?  ?	Microsoft C/C++ 7.00 CodeView
 1021h	VMB	     ?	Y  Y	Microsoft C/C++ 7.00 WXSRVR
 1022h	Vpfd	     ?	Y  Y	Microsoft C/C++ 7.00
 1025h	MMD	     ?	Y  Y	Microsoft C/C++ 8.00, Visual C/C++ 1.00
 2020h	PIPE	     ?	Y  Y	by Thomas W. Olson, in Windows/DOS DevJrn 5/92
 21EAh	VADLIBWD     ?	N  Y	Adlib Waveform Driver by John Ridges
 2200h	VFINTD	     ?	Y  Y	Norton VFINTD (Norton Desktop)
 22C0h	???	     Y		Rational Systems DOS/4GW ???
 2402h	ZMAX	     ?	N  N	Qualitas 386MAX v7 DOSMAX handler
 24A0h	VNSS	     ?	N  Y	Norton Screen Saver (Norton Desktop)
 24A1h	VNDWD	     ?	Y  Y	Norton VNDWD Device (Norton Desktop)
 24A2h	SYMEvent     ?	Y  Y	Norton Utilities v8
 2540h	VILD	     ?	Y  N	INTERLNK client from MS-DOS v6.x
 2640h	VASBID	     ?	N  Y	WinResKit: Artisoft Sounding Board Device
 2860h	COMMTASK     N	N  Y	Windows 386-mode preemptive tasker by James
				  A. Kenemuth of Interabang Computing
 28A0h	PHARLAPX     ?	Y  ?	PharLap inter-VM communications DLL
 28A1h	PharLap	     Y	Y  Y	PharLap 386|DOS-Extender DOSXNT.386
 28C0h	VXD	     N	Y  Y	Generic VxD for real and protected mode by
				  Andrew Schulman in MSJ February 1993
 28C1h	PUSHKEYS     ?	?  ?	VKD_Force_Keys device
 28C2h	VCR3D	     ?	?  ?	Virtual CR3, by A.Schulman in MSJ October 1992
 2925h	EDOS	     ?	Y  Y	Enhanced DOS by Firefly Software
 292Dh	VSBPD	     ?	Y  Y	Sound Blaster Pro
 295Ah	GRVSULTR     ?	Y  Y	Gravis UltraSound / UltraSound ACE
 3048h	FTCTCPIP     ?	N  Y	Frontier Technologies' TCP/IP stack
 3049h	???			(called by FNFSC32.VXD, FrontierTech's VNFSD)
 304Ch	DWCFGMG.SYS  ?	Y	Plug-and-Play configuration access
 3098h	VstlthD	     N	N  N	for QEMM Stealth ROM mode
 3099h	VVidramD     ?	Y  N	for QEMM VIDRAM support
 30F6h	WSVV	     ?	N  Y	(Win95) WinSock for Voice-View Modems???
 310Eh	WPS	     ?	N  Y	MS DevNet CD-ROM: Windows Process Status
 3110h	VGSSD	     ?	Y  Y	VSGLX16.386 for Aztech Sound Galaxy 16
 313Bh	PMC	     ?	?  ?	Power Management Coordinator
 318Ah	LMOUSE	     ?	Y  Y	(Win95) Logitech mouse???
 31CFh	STAT.386     ?	?  ?	Ton Plooy's processor statistics VxD
 3202h	VdspD	     ?	N  N	(Win95)
 3203h	vpasd	     ?	N  N	(Win95) Pro Audio Spectrum driver
 32A4h	SBAWE	     ?	Y  Y	(Win95) SoundBlaster AWE driver
 32A5h	VSB16	     ?	N  N	(Win95) SoundBlaster 16 driver
 32CBh	VFRAD	     ?	Y  Y	Dr.Franz - Simultan's diagnotics VFRAD.386
 32DCh	NV3RM	     ?	N  Y	(Win95SR2)
 3354h	Discover     ?	N  Y	(Nuts&Bolts) Discover
 33AAh	DECCORE	     ?	Y  Y	(Win95) DEC Pathworks core VxD
 33B4h	DECLICL	     ?	N  N	(Win95)
 33F0h	VIWD	     ?	Y  Y	Gravis UltraSound Plug-n-Play Interwave v1.x
 33FCh	ASPIENUM     ?	N  N	(Win95)
 34DCh	MAGNARAM     ?	N  Y	Quarterdeck MagnaRAM (MAGNA31.VXD/MAGNA95.VXD)
 357Eh	DSOUND	     ?	Y  Y	(Win95) DirectSound
 3584h	VSNDSYS	     ?	Y  Y	(Win95SR2)
 35C5h	LUGEPS	     ?	Y  Y	Lugaru's Epsilon editor
 36AEh	AIB-PC.386   ?	Y  Y	Sunset Laboratory interface hardware driver
 377Bh	MX1501HAD    ?	?  ?	Cherry keyboard chipcard reader
 38BEh	Vheapx	     ?	N  Y	(Nuts&Bolts) Virtual Heap Expander
 38C0h	Bombshel     ?	N  Y	(Nuts&Bolts) Bombshelter
 38DAh	VIWD	     ?	Y  Y	UltraSound PnP InterWave driver v2.0beta
 39E6h	A3D	     ?	N  N	(Win95SR2)
 3A39h	CINEMSYS     ?	Y  Y	Software Cinemaster MPEG/DVD decoder
 3BFCh	CWCSPUD	     ?	N  N	(Win95SR2)
 3BFDh	CWCPROXY     ?	N  N	(Win95SR2)
 3BFEh	CWCMMSYS     ?	N  Y	(Win95SR2)
 3BFFh	CWCDSND	     ?	N  N	(Win95SR2)
 3C46h	X10MOUSE     ?	Y  Y	X10 RF wireless mouse
 3C78h	VGARTD	     ?	N  N	(Win95SR2)
 3E6Dh	DDRAW	     ?	Y  Y	DirectDraw
 3ED6h	ATIVVXXX     ?	N  Y	ATI Rage128-based video card
 3EE5h	WINTEL.VXD   ?	?  ?	"WinTel" Windows remote-control program
				(see also PORT 063Eh)
 4321h	POSTMSG	     ?	Y  Y	(see #02712)
 4321h	VPCD	     ?	N  N	PCache
 4321h	avvxp500     ?	N  N	(Win95) VxP500 driver
 6001h	REGVXD	     ?	Y  Y	Windows95 Registry Monitor helper
 7A5Fh	SIWVID	     Y	Y  Y	Soft-ICE for Windows video driver
 7FE0h	VSWITCHD     ?	Y  N	by Jeff Prosise
 7FE0h	VWFD	     N	Y  Y	reports windowed/fullscreen state; by Neil
				  Sandlin of Microsoft, shipped with ANSIPLUS
 7FE1h	VWATCHD	     N	Y  Y	basic driver w/ no functionality except tracing
				  by Keith Jin of Microsoft PSS
 7FE5h	VFINTD	     N	Y  Y	Virtual Floppy Interrupt trapper by Neil
				  Sandlin of Microsoft
 7FE7h	VMPAGES	     N	Y  Y	demonstration of exporting VxD services, by
				  Neil Sandlin of Microsoft
 7FE8h	VPOSTD	     ?	Y  Y	PostMessage() demo by Curtis J. Palmer of MS
 7FE9h	VIdleD	     N	N  N	demonstration of Call_When_Idle function, by
				  Bernie McIlroy of Microsoft
 7FEBh	VMIOD	     N	N  N	Virtual Monitor I/O Traffic Device, by Neil
				  Sandlin of Microsoft
 7FEDh	VMIRQD	     N	N  N	Virtual Monitor IRQ Traffic Device, by Neil
				  Sandlin of Microsoft
 8888h	VbillD	     ?	?  ?	Bill Potvin II's for reversing Compaq LTE video
 EEEEh	VEPSD	     ?	N  N	Virtual Extended Paging Services for
				  Borland C++ v4.0
Notes:	The high bit of the VxD ID is reserved for future use. Originally,
	  the next 10 bits were the OEM number which was assigned by Microsoft,
	  and the low 5 bits were the device number.  Currently, Microsoft
	  assigns VxD IDs individually for each driver; send blank email to
	  vxdid@microsoft.com for more information.
	"CallOut"=Y indicates that the VxD uses the INT 2F/AX=1607h/BX=VxDID
	  device callout interface; "PM" and "V86" indicate whether the VxD
	  provides an API entry point in protected mode and Virtual-86 mode
	  (e.g. DOS boxes)

Top
2F1684BX0001 - INT 2F - MS Windows95 - VMM - GET API ENTRY POINT
INT 2F - MS Windows95 - VMM - GET API ENTRY POINT
	AX = 1684h
	BX = 0001h (virtual device ID for VMM) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02643)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02643)
Call Windows VMM 16-bit entry point with:
	AX = function number
	    ---registry functions---
	    0100h "RegOpenKey"
		STACK:	DWORD	-> DWORD for returned key handle
			DWORD	-> ASCIZ registry key name
			DWORD	HKEY (see #02644)
	    0101h "RegCreateKey"
		STACK:	DWORD	-> DWORD for returned key handle
			DWORD	-> ASCIZ registry key name
			DWORD	HKEY (see #02644)
	    0102h "RegCloseKey"
		STACK:	DWORD	key handle from RegOpenKey or RegCreateKey
	    0103h "RegDeleteKey"
		STACK:	DWORD	-> ASCIZ registry key name
			DWORD	HKEY (see #02644)
	    0104h "RegSetValue"
		STACK:	DWORD	???
			DWORD	-> ???
			DWORD	???
			DWORD	-> ???
			DWORD	HKEY (see #02644)
	    0105h "RegQueryValue"
		STACK:	DWORD	-> DWORD for ???
			DWORD	-> ASCIZ ???
			DWORD	-> ASCIZ ???
			DWORD	HKEY (see #02644)
	    0106h "RegEnumKey"
		STACK:	DWORD	???
			DWORD	-> ASCIZ ???
			DWORD	???
			DWORD	HKEY (see #02644)
	    0107h "RegDeleteValue"
	    0108h "RegEnumValue"
		STACK:	DWORD	-> DWORD for ???
			DWORD	-> BYTE ???
			DWORD	-> DWORD for ???
			DWORD	-> DWORD for ???
			DWORD	-> DWORD for ???
			DWORD	-> ASCIZ ???
			DWORD	???
			DWORD	HKEY (see #02644)
	    0109h "RegQueryValueEx"
	    010Ah "RegSetValueEx"
	    010Bh "RegFlushKey"
	    010Ch "RegLoadKey"
	    010Dh "RegUnLoadKey"
	    010Eh "RegSaveKey"
	    010Fh "RegRestore"
	    0110h "RegRemapPreDefKey"
Return: parameters popped from stack
	DX:AX = return value

(Table 02644)
Values for Windows95 VMM predefined HKEY values:
 80000000h	HKEY_CLASSES_ROOT
 80000001h	HKEY_CURRENT_USER
 80000002h	HKEY_LOCAL_MACHINE
 80000003h	HKEY_USERS
 80000004h	HKEY_PERFORMANCE_DATA
 80000005h	HKEY_CURRENT_CONFIG
 80000006h	HKEY_DYN_DATA
SeeAlso: #02643

Top
2F1684BX0003 - INT 2F - MS Windows - VPICD - GET API ENTRY POINT
INT 2F - MS Windows - VPICD - GET API ENTRY POINT
	AX = 1684h
	BX = 0003h (virtual device ID for VPICD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02645)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02645)
Call VPICD API entry point with:
	EAX = function number
	    0000h get version
		Return: AX = binary version (AH=major, AL=minor)
	    0001h virtualize timer???
	    0002h unvirtualize timer???

Top
2F1684BX0005 - INT 2F - MS Windows - VTD - GET API ENTRY POINT
INT 2F - MS Windows - VTD - GET API ENTRY POINT
	AX = 1684h
	BX = 0005h (virtual device ID for VTD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02646)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02646)
Call VTD.386/VTD.VXD entry point with:
	AX = function number
	    0000h get VTD version number
		Return: CF clear
			AH = major version
			AL = minor version
	    0100h get current clock tick time
		Return: EDX:EAX = clock tick time in 840ns units since Windows
				  was started
	    0101h get current system time in milliseconds
		Return: EAX = time in milliseconds that Windows has been
				  running
	    0102h get current virtual machine time
		Return: EAX = cumulative amount of time the virtual machine has
				  been active, in milliseconds
Note:	this entry point should only be called directly when TOOLHELP.DLL
	  TimerCount() cannot be called
SeeAlso: #01268,#01270,#01269 at INT 20"Windows"

Top
2F1684BX0006 - INT 2F P - MS Windows95 - V86MMGR - GET API ENTRY POINT
INT 2F P - MS Windows95 - V86MMGR - GET API ENTRY POINT
	AX = 1684h
	BX = 0006h (virtual device ID for V86MMGR device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02647)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02647)
Call V86MMGR entry point with:
	EAX = function number
	    0000h get V86MMGR version
		Return: CF clear
			AH = major version
			AL = minor version
	    0001h get ???
		Return: CF clear
			EAX = status bits
				bit 0: ???
				bit 1: ???
				bit 2: ???
				bit 3: ???
				bit 4: ???
	    else
		Return: CF set

Top
2F1684BX0009 - INT 2F P - MS Windows - REBOOT - GET API ENTRY POINT
INT 2F P - MS Windows - REBOOT - GET API ENTRY POINT
	AX = 1684h
	BX = 0009h (virtual device ID for REBOOT device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02648)
		  0000h:0000h if the VxD does not support an API
SeeAlso: INT 14/AH=17h"FOSSIL",INT 16/AX=E0FFh

(Table 02648)
Call REBOOT protected-mode entry point with:
	AX = function
	    0100h warm boot
		Return: never
		Note:	broadcasts "Reboot_Processor" message, which is caught
			  by the VKD device
	    0201h set KERNEL Ctrl-Alt-Del handler
		ES:DI -> new Ctrl-Alt-Del handler
		DS:SI -> KERNEL reboot sanity check byte
		Return: CF clear
		Notes:	if an application installs its own handler and then
			  chains to Windows' handler, Windows will no longer
			  be able to detect hung applications, and will always
			  produce an "Application not responding" dialog
			DS must contain a writable, fixed selector because
			  the provided address is converted to a linear address
			  before being stored
			when Ctrl-Alt-Del is pressed in the system VM, Reboot
			  sets the sanity check byte to zero, schedules a
			  750ms wait, and then tests whether the check byte is
			  still zero; if not, it displays a message that there
			  is no hung application and then exits
	    0202h get KERNEL Ctrl-Alt-Del handler
		Return: CF clear
			ES:DI -> current Ctrl-Alt-Del handler
		Note:	the default handler is located in KERNEL
	    0203h display "Application not responding" dialog box
		ES:DI -> ASCIZ name of hung application
		Return: never if user pressed Ctrl-Alt-Del a second time
			CF clear
			AX = result
			    0000h user pressed Esc
			    0001h user pressed Enter
		Note:	this function is used by the default Windows
			  Ctrl-Alt-Del handler
	    0204h set/reset protected-mode INT 01 handler
		CX:EDX -> new protected-mode INT 01 handler
		CX = 0000h restore protected-mode INT 01 handler
		Return: CF clear
		Notes:	if CX is nonzero, the current handler address is saved
			  internally before the new handler is set; this saved
			  address is then used when CX is zero on entry
			used by Windows' default Ctrl-Alt-Del handler; actual
			  fatal exit to DOS will be done on next INT 01
		Warning: opened files are not closed and remain open as
			  orphaned files in DOS
Note:	functions 0201h and 0203h are not useful outside the system VM
SeeAlso: #01271,#01273

Top
2F1684BX000A - INT 2F P - MS Windows - VDD - GET API ENTRY POINT
INT 2F P - MS Windows - VDD - GET API ENTRY POINT
	AX = 1684h
	BX = 000Ah (virtual device ID for VDD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02649)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02649)
Call VDD entry point with:
	EAX = function
	    0000h get VDD version
		Return: CF clear
			AH = major version
			AL = minor version
		Note:	also performs an internal initialization
	    0001h ???
		Return: ECX = ???
			???
	    0002h
	    0003h
	    0004h
	    0005h
	    0006h
	    0007h
	    0008h
	    0009h
	    0080h
	    0081h
	    0082h
	    0083h
	    0084h
	    0085h
	    0086h
	    0087h
	    0088h
	    0089h
	    else
		Return: nothing

Top
2F1684BX000C - INT 2F - MS Windows - VMD - GET API ENTRY POINT
INT 2F - MS Windows - VMD - GET API ENTRY POINT
	AX = 1684h
	BX = 000Ch (virtual device ID for VMD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02650)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02650)
Call VMOUSE entry point with:
	EAX = function number
	    0000h get VMOUSE version
		Return: CF clear
			AH = major version
			AL = minor version
	    0001h
		EBX = ???
		ECX = ???
		Return: CF clear if successful
			CF set on error (e.g. fn 0003h not yet called)
	    0002h ??? (calls "test system VM handle")
		Return: CF clear if successful (in system VM)
			CF set on error
	    0003h ???
		ECX = ???
		DX = ???
		Return: CF clear
	    0004h ???
		Note: invokes Call_Priority_VM_Event
	    0005h get mouse port data
		Return: CF clear
			AL = ??? (04h)
			AH = mouse IRQ interrupt number (IRQ4=0Ch,etc.)
			CX = mouse I/O port address (e.g. 03F8h)
			DX = COM port number??? (0001h for mouse on COM1)
	    0100h NOP???
		Return: CF clear
	    0101h init???
		Return: CF clear
		Note:	appears to be the same as fn 0005h, but returns no data
	    0102h unimplemented
		Return: CF set
	    0103h check ???
		Return: AX = status (0000h/0001h)
		Note:	checks flag set by fn 0003h
	    else
		Return: CF set
SeeAlso: #02649,#02651

Top
2F1684BX000D - INT 2F P - MS Windows - VKD - GET API ENTRY POINT
INT 2F P - MS Windows - VKD - GET API ENTRY POINT
	AX = 1684h
	BX = 000Dh (virtual device ID for VKD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02651)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02651)
Call VKD entry point with:
	EAX = function
	    0000h get VKD version
		Return: CF clear
			AH = major version
			AL = minor version
	    0001h ???
		EBX = VM handle or 00000000h to use ??? VM handle
		CH = ???
		CL = ???
		EDX = ??? or FFFFFFFFh
		Return: CF clear if successful
			CF set on error
	    else
		Return: CF set
SeeAlso: #02650,#02652

Top
2F1684BX000E - INT 2F P - MS Windows - VCD - GET API ENTRY POINT
INT 2F P - MS Windows - VCD - GET API ENTRY POINT
	AX = 1684h
	BX = 000Eh (virtual device ID for VCD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02652)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02652)
Call VCD entry point with:
	EDX = function number
	    0000h get VCD version
		Return: CF clear
			AH = major version
			AL = minor version
	    0001h get ???
		Return: CF clear
			AX = bit mask of ???
	    0002h get ???
		CX = COM port number
		Return: CF clear
			DX:AX -> ???
	    0003h set ???
		CX = COM port number
		DX:AX -> new ???
		Return: CF clear
	    0004h acquire COM port
		AX = ???
		CX = COM port number
		Return: CF clear
			AX = ???
			EBX = ???
			DX = ???
	    0005h release COM port
		CX = COM port number
		Return: CF clear
	    0006h ???
		Return: CF set
			AL = 00h
	    else
		Return: CF set
			EAX = FFFFFFFFh
Note:	these functions are apparently only available from the system VM,
	  returning CF set and EAX=FFFFFFFFh otherwise
SeeAlso: #02651,#02653

Top
2F1684BX000F - INT 2F P - MS Windows - VPD - GET API ENTRY POINT
INT 2F P - MS Windows - VPD - GET API ENTRY POINT
	AX = 1684h
	BX = 000Fh (virtual device ID for VPD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02653)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02653)
Call VPD entry point with:
	EDX = function number
	    0000h get VPD version
		Return: CF clear
			AH = major version
			AL = minor version
			DX = ??? (CB01h)
	    0001h get valid??? printers
		Return: CF clear
			AX = bitmask of ??? printers (bits 0-2)
	    0002h get ??? for printer
		CX = printer port (0-2)
		Return: CF clear if successful
			    BX:AX = ???
			CF set on error (invalid port number)
	    0003h set ??? for printer
		CX = printer port (0-2)
		BX:AX = ???
		Return:	CF clear if successful
			CF set on error (invalid port number)
	    0004h ???
		CX = printer port (0-2)
		EAX = VM handle
		Return:	CF clear if successful
			CF set on error (invalid port number)
	    0005h ???
		CX = printer port (0-2)
		EAX = VM handle
		Return:	CF clear if successful
			CF set on error (invalid port number or ???)
	    0006h-000Eh unused
		Return: CF set
	    000Fh ???
		CX = printer port (0-2)
		AX = ???
		Return:	CF clear if successful
			CF set on error (e.g. invalid port number)
	    0010h ???
		CX = printer port (0-2)
		Return:	CF clear if successful
			CF set on error (e.g. invalid port number)
	    0011h ???
		CX = printer port (0-2)
		Return:	CF clear if successful
			CF set on error (e.g. invalid port number)
	    0012h get port status
		CX = printer port (0-2)
		Return:	CF clear if successful
			    AX = port status (see #P0658 at PORT 03BCh"LPT")
			CF set on error (e.g. invalid port number)
	    else
		Return: CF set
Note:	these functions are apparently only available from the system VM,
	  returning CF set
SeeAlso: #02652,#02654

Top
2F1684BX0010 - INT 2F - MS Windows - IOS - GET API ENTRY POINT
INT 2F - MS Windows - IOS - GET API ENTRY POINT
	AX = 1684h
	BX = 0010h (virtual device ID for IOS device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02654)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02654)
Call IOS entry point with:
	EAX = function number
	    0000h ???
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = FFFFh
	    0001h check if ???
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = FFFFh
	    0002h requestor services???
		DL = service number???
		Return: CF clear if successful
			    AX = 0000h
			    DX = ???
			CF set on error
			    AX = FFFFh
		Note:	calls "IOS_Requestor_Service" (see INT 20"Windows")
	    0003h ??? (copies five bytes of data internally)
		Return: CF clear if successful
			    AX = 0000h
			    EDX = ???
			CF set on error
			    AX = FFFFh
	    else
		Return: CF set
			AX = FFFFh
SeeAlso: #02653,#02655

Top
2F1684BX0011 - INT 2F - MS Windows - VMCPD - GET API ENTRY POINT
INT 2F - MS Windows - VMCPD - GET API ENTRY POINT
	AX = 1684h
	BX = 0011h (virtual device ID for VMCPD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02655)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02655)
Call Windows95 VMCPD protected-mode entry point with:
	EAX = function number
	    0000h get VMCPD version
		Return: CF clear
			AH = major version
			AL = minor version
	    0001h get ??? flags
		Return: CF clear
			AX = ??? flags
			    bit 0: ???
			    bit 1: ???
			    bit 2: ???
			    bit 3: ???
	    else
		Return: CF set
SeeAlso: #02654,#02656

Top
2F1684BX0015 - INT 2F - MS Windows - DOSMGR - GET API ENTRY POINT
INT 2F - MS Windows - DOSMGR - GET API ENTRY POINT
	AX = 1684h
	BX = 0015h (virtual device ID for DOSMGR device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02656,#01282)
		  0000h:0000h if the VxD does not support an API
SeeAlso: #01282 at INT 20"Windows"

(Table 02656)
Call DOSMGR entry point with:
	AX = 0000h get DOSMGR version
	    Return: CF clear
		    AX = version (AH = major, AL = minor)
	AX = 0001h set critical focus
	    Return: CF clear
	AX = 0002h crash current virtual machine
	    Return: never
	    Note:   displays message box stating that "application has been
		      stopped by the DOSMGR device"
	AX = 0003h enter critical section
	    Note:   this function assumes that the code for INT 2A/AX=8001h
		      and INT 2A/AX=8002h have been modified for Windows
	AX = 0004h get VM ID byte
	    Return: CF clear if successful
			ES:DI -> VM ID byte
		    CF set on error
	    Note:   this function fails if the INT 2A modifications have not
		      yet been applied
	AX = 0005h inform Windows of possible media change
	    BL = drive number (00h=A:)
	    Return: CF clear if successful
		    CF set on error
SeeAlso: #01282 at INT 20"Windows",#02655,#02657

Top
2F1684BX0017 - INT 2F U - MS Windows - SHELL - GET API ENTRY POINT
INT 2F U - MS Windows - SHELL - GET API ENTRY POINT
	AX = 1684h
	BX = 0017h (virtual device ID for SHELL device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02657)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h/BX=0021h,#01283 at INT 20"Windows"

(Table 02657)
Call SHELL entry point with:
	EDX = function number (0000h-0027h,0100h-0108h, mostly unknown)
	    0000h get version number
		Return: AX = version number
			EBX = system VM handle
	    0001h "SHELL_Get_SYSVM_Info" get system VM information
		Return: CF clear
			AX bit 0 set if system VM executing exclusively
			BX = background time slice priority
			CX = foreground time slice priority
			SI = minimum time slice in milliseconds
	    0002h "SHELL_Set_SYSVM_Info" set system VM information
		AX bit 0 set if system VM should execute exclusively (ignored?)
		BX = background time slice priority (1-10000)
		CX = foreground time slice priority (1-10000)
		SI = minimum time slice in milliseconds (1-10000)
		Return: CF clear if successful
	    0003h "SHELL_Crt_VM" create a virtual machine
		ES:EDI -> SEB structure (see #02658)
		Return: CF clear if successful
			   EAX = VM handle
			CF set on error
			   EDX,EAX = result from GetSetDetailedVMError()
	    0004h "SHELL_Destroy_VM" destroy a virtual machine
		EBX = VM handle (not system VM)
		Return: nothing
	    0005h "SHELL_Set_Focus"
		EBX = VM handle
		ECX = ???
		Return: nothing
	    0006h "SHELL_Get_VM_State"
		EBX = VM handle (not system VM)
		ES:EDI -> ??? structure
		Return: CF clear if successful
	    0007h "SHELL_Set_VM_State"
		EBX = VM handle (not system VM)
		ES:EDI -> ??? structure
	    0008h "SHELL_Debug_Out"
		???
		Return: ???
		Note:	dummy function in retail version of MS Windows
	    0009h "SHELL_VMDA_Init"
		???
		Return: ???
	    000Ah "SHELL_VMDA_Exit"
		???
		Return: ???
	    000Bh "SHELL_Get_Message_Txt"
		???
		Return: ???
	    000Ch "SHELL_Event_Complete"
		???
		Return: ???
	    000Dh "SHELL_Get_Contention_Info"
		???
		Return: ???
	    000Eh "SHELL_Get_Clip_Info"
		???
		Return: ???
	    000Fh "SHELL_Set_Paste"
		???
		Return: ???
	    0010h "SHELL_Switcher_Assist"
		???
		Return: ???
	    0011h "SHELL_Get_FileSysChng"
		???
		Return: ???
	    0012h "SHELL_Query_Destroy"
		???
		Return: ???
	    0013h "SHELL_SetFocus_Cur_VM" set input focus to current VM
		???
		Return: ???
	    0014h "SHELL_User_Busy_API"
		???
		Return: ???
	    0015h "SHELL_Chng_Hot_Key"
		???
		Return: ???
	    0016h "SHELL_Get_TermInfo"
		???
		Return: ???
	    ---Windows95---
	    0017h ???
	    0018h ???
	    0019h ???
	    001Ah ???
	    001Bh ???
	    001Ch ???
	    001Dh ???
	    001Eh ???
	    001Fh ???
	    0020h ???
	    0021h ???
	    0022h ???
	    0023h ???
	    0024h ???
	    0025h ???
	    0026h ???
		Note:	makes VxDCALL 00178002h (see INT 20"Windows")
	    0027h ???
	    0100h get ??? version
		Return: AX = version??? (0400h for Windows95)
	    0101h not implemented
		Return: CF set
			EAX = FFFFFFFFh
	    0102h not implemented
		Return: CF set
			EAX = FFFFFFFFh
	    0103h not implemented
		Return: CF set
			EAX = FFFFFFFFh
	    0104h ???
	    0105h ???
	    0106h ???
		???
		Return: CF clear if successful
			CF set on error
	    0107h get SDK version for VxD
		AX = VxD identifier
		Return: EAX = VxD ID (high word) and SDK version (low)
			    00000000h if no such VxD loaded
		Note:	makes a VMMCALL 0001013Fh (see INT 20"Windows")
			  followed by ???
	    0108h ???
Return: CF set if called from VM other than system VM
	    EAX = FFFFFFFFh
Note:	except for functions 0013h,0026h,and 010xh, this API may only be
	  called from the system VM
SeeAlso: #01283 at INT 20"Windows"

Format of Shell Execution Block (SEB):
Offset	Size	Description	(Table 02658)
 00h	DWORD	PIF flags (see #02659)
 04h	DWORD	display flags (see #02660)
 08h	PWORD	-> pathname of .EXE to run
 0Eh	PWORD	-> argument list
 14h	PWORD	-> working drive/directory
 1Ah	WORD	desired number of V86 pages for virtual machine
 1Ch	WORD	minimum number of V86 pages for VM
 1Eh	WORD	foreground priority
 20h	WORD	background priority
 22h	WORD	maximum KB of EMS
 24h	WORD	minimum KB of EMS
 26h	WORD	maximum KB of XMS
 28h	WORD	minimum KB of XMS
 2Ah	WORD	maximum KB of DPMI???
 2Ch	WORD	minimum KB of DPMI???
 2Eh 128 BYTEs	title
Note:	the PWORDs at offsets 08h,0Eh, and 14h consist of a DWORD offset
	  followed by a WORD selector

Bitfields for 386 Enhanced Mode PIF flags:
Bit(s)	Description	(Table 02659)
 0	exclusive use of processor when VM is fullscreen
 1	VM runs in background
 2	VM runs in window
 3-4	???
 5	Alt-Tab reserved
 6	Alt-Esc reserved
 7	Alt-Space reserved
 8	Alt-Enter reserved
 9	Alt-PrtSc reserved
 10	PrtSc reserved
 11	Ctrl-Esc reserved
 12	VM will release idle time slice
 13	VM not allowed to use high memory
 14	???
 15	VM expanded memory not pageable
 16	VM extended memory not pageable
 17	Fast paste from clipboard enabled
 18	VM application memory not pageable
 30	Close VM when application exits
SeeAlso: #02658,#02660

Bitfields for SHELL display options:
Bit(s)	Description	(Table 02660)
 0	emulate text mode
 1	monitor text port
 2	monitor low graphics port
 3	monitor high graphics port
 7	Retain video memory
SeeAlso: #02658,#02659

Top
2F1684BX001A - INT 2F - MS Windows - VNETWARE - GET API ENTRY POINT
INT 2F - MS Windows - VNETWARE - GET API ENTRY POINT
	AX = 1684h
	BX = 001Ah (virtual device ID for VNETWARE device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX001D - INT 2F P - MS Windows - WINDEBUG - GET API ENTRY POINT
INT 2F P - MS Windows - WINDEBUG - GET API ENTRY POINT
	AX = 1684h
	BX = 001Dh (virtual device ID for WINDEBUG device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0021 - INT 2F PU - MS Windows - PAGEFILE - GET API ENTRY POINT
INT 2F PU - MS Windows - PAGEFILE - GET API ENTRY POINT
	AX = 1684h
	BX = 0021h (virtual device ID for PAGEFILE device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02661)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h/BX=0017h,#01289 at INT 20"Windows"

(Table 02661)
Call PAGEFILE entry point with:
	AX = function
	    0000h get version
		Return: CF clear
			AX = version (AH = major, AL = minor)
	    0001h get swap file info
		DS:SI -> 128-byte buffer for swap file full pathname
		DS:DI -> 128-byte buffer for SPART.PAR full pathname
		Return: CF clear
			AL = pager type (see #02662)
			AH = flags
			    bit 7: swap file corrupted
			ECX = maximum size of swap file
			DS:SI buffer filled if paging enabled
			DS:DI buffer filled if permanent swap file
	    0002h delete permanent swap file on exit
		Return: CF clear
	    0003h get current temporary swap file size
		Return: CF clear
			DX:AX = current swap file size in bytes
				0000h:0000h if permanent swap file
Note:	this API is only available in protected mode, and may only be called
	  from the system VM
SeeAlso: #01289 at INT 20"Windows",#02663

(Table 02662)
Values for MS Windows PAGEFILE pager type:
 00h	paging disabled
 01h	MSDOS
 02h	BIOS
 03h	32-bit disk access
SeeAlso: #02661

Top
2F1684BX0022 - INT 2F P - MS Windows - APIX - GET API ENTRY POINT
INT 2F P - MS Windows - APIX - GET API ENTRY POINT
	AX = 1684h
	BX = 0022h (virtual device ID for APIX device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02663)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02663)
Call APIX protected-mode entry point with:
	AH = function number
	    00h get APIX version
		Return: CF clear
			AH = major version
			AL = minor version
	    01h ???
		Return: CF clear
			AX = number of ???
	    02h NOP
		Return: CF clear
	    03h ???
		Return: CF clear
			AX = 0000h/FFFFh
	    else
		Return: CF clear (bug?)
SeeAlso: #02661,#02666

Top
2F1684BX0026 - INT 2F P - MS Windows - VPOWERD - GET API ENTRY POINT
INT 2F P - MS Windows - VPOWERD - GET API ENTRY POINT
	AX = 1684h
	BX = 0026h (virtual device ID for VPOWERD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02664)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02664)
Call VPOWERD.VXD entry point with:
	AX = function number
	    0000h get VPOWERD version
		Return: DX = 0000h
			AX = version (AH = major, AL = minor)
	    0001h get APM BIOS version
		Return: DX:AX = APM BIOS version
	    0002h get current power management level
		Return: DX:AX = power management level
	    0003h enable/disable power management (see INT 15/AX=5308h)
		??? = new state of power management
		Return: DX:AX = 0000h:0000h if successful
			   else error code (see #02665)
	    0004h set power state (see INT 15/AX=5307h)
		Return: DX:AX = 0000h:0000h if successful
			   else error code (see #02665)
	    0005h set system power status
		Return: DX:AX = 0000h:0000h if successful
			   else error code (see #02665)
	    0006h restore APM power-on defaults (see INT 15/AX=5309h)
		Return: DX:AX = 0000h:0000h if successful
			   else error code (see #02665)
	    0007h get power status (see INT 15/AX=530Ah)
		Return: ???
	    0008h get APM 1.1 power state (see INT 15/AX=530Ch)
		Return: ???
	    0009h invoke OEM APM function
		??? -> buffer containing parameters for INT 15/AX=5380h
		Return: DX:AX = 0000h:0000h or error code (see #02665)
			buffer updated if successful
	    000Ah register power handler
		???
		Return: DX:AX = 0000h:0000h or error code
	    000Bh deregister power handler
		???
		Return: DX:AX = 0000h:0000h or error code (see #02665)
	    000Ch Win32 get system power status
	    000Dh Win32 set system power status
	    else
		Return: DX = 0000h
			AX = 00FFh
SeeAlso: #02663,#02666

(Table 02665)
Values for VPOWERD.VXD error code:
 000000xxh	APM error code
 000000FFh	function number out of range
 80000001h	??? (service 05h)
 80000002h	??? (service 0Dh)
 80000003h	specified NULL buffer pointer (service 07h,08h,09h)
 80000005h	??? (service 03h)
 80000006h	??? (service 04h)
 80000007h	??? (service 05h)
 80000008h	??? (service 05h)
 80000009h	out of memory (service 0Ah)
 8000000Ah	??? (service 0Ah)
 8000000Bh	invalid power handler (service 0Bh)
 8000000Ch	unsupported/disabled??? function
SeeAlso: #02664,#01290

Top
2F1684BX0027 - INT 2F - MS Windows95 - VXDLDR - GET API ENTRY POINT
INT 2F - MS Windows95 - VXDLDR - GET API ENTRY POINT
	AX = 1684h
	BX = 0027h (virtual device ID for VXDLDR device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02666)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02666)
Call VXDLDR entry point with:
	EAX = function number
	    0000h get VXDLDR version
		Return: CF clear
			AX = 0000h (successful)
			DH = major version
			DL = minor version
	    0001h load device
		DS(???):DX -> ASCIZ path name of dynamically-loadable VxD
			(driver must reside in current directory or Windows
			  system directory???)
		ES:DI = 0000h:0000h
		Return: CF clear if successful
			    AX = 0000h
			    ES:DI -> VxD API entry point
			CF set on error
			    AX = error code (see #02667)
	    0002h unload device
		EBX = device ID or FFFFFFFFh (Undefined_Device_ID)
		---if EBX=FFFFFFFFh ---
		(DS???):DX -> ASCIZ name of dynamically-loadable device
			  (case-sensitive)
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = error code (see #02667)
	    else
		Return: CF set
			AX = 000Bh
SeeAlso: #02664,#02668

(Table 02667)
Values for VXDLDR error code:
 0000h	successful
 000Bh	invalid function number
SeeAlso: #02666

Top
2F1684BX0028 - INT 2F - MS Windows - NDIS - GET API ENTRY POINT
INT 2F - MS Windows - NDIS - GET API ENTRY POINT
	AX = 1684h
	BX = 0028h (virtual device ID for NDIS device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02668)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02668)
Call NDIS.VXD entry point with:
	??? = function number
	    0000h set ??? to ???
		??? = new ???
		Return: DX:AX = 0000h:0001h
	    0002h ???
		???
		Return: DX:AX -> ???
	    0003h reset ??? to default
		Return: DX:AX = 0000h:0001h
	    else
		Return: DX:AX = 0000h:0000h
SeeAlso: #02666,#02669

Top
2F1684BX002A - INT 2F P - MS Windows - VWIN32 - GET API ENTRY POINT
INT 2F P - MS Windows - VWIN32 - GET API ENTRY POINT
	AX = 1684h
	BX = 002Ah (virtual device ID for VWIN32 device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02669)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02669)
Call VWIN32.VXD entry point with:
	AH = function number
	    00h get VWIN32 version and ???
		Return: CF clear
			AH = major version
			AL = minor version
			EDX = ???
	    01h ???
		EBX = ???
		ECX = ???
		Return: CF clear
			EAX = ???
	    02h ???
		Return: CF clear
			AX = ??? or 0000h
	    03h address allocation
		DS:??? -> buffer containing/for page data
		ECX = length of buffer
		AL = subfunction
		    00h reserve page(s)
		    01h commit page(s)
		    02h decommit page(s)
		    03h free page(s)
		Return: CF clear if successful
			CF set on error
		Note:	this function uses ECX bytes of stack
	    04h get ???
		Return: CF clear
			EAX = ???
	    05h ???
		EBX = ???
		Return: CF clear
			EAX = ???
	    06h ???
		EBX = ???
		Return: CF clear
			EAX = ???
	    07h ???
		EBX = ???
		Return: CF clear
			EAX = ???
	    08h get ???
		Return: CF clear
			AX = ???
	    09h ???
		EBX = ???
		ECX = ???
		Return: CF clear
	    0Ah ???
		EBX = ???
		Return: CF clear
	    0Bh ???
		EBX = ???
		Return: CF clear
	    0Ch ???
		EBX = ???
		ECX = ???
		EDX = ???
		???
		Return: CF clear if successful
			    EAX = ???
			CF set on error
	    0Dh clear ???
		Return: CF clear
	    0Eh ???
		EBX = ???
		ECX = ???
		Return: CF clear
	    0Fh ???
		EBX = ???
		ECX = ???
		Return: CF clear
	    10h ???
		Return: CF clear
		Note:	invokes VMMcall 00010184h
	    11h ???
		Return: CF clear
		Note:	invokes VMMcall 00010160h
	    12h ???
		???
	    13h pop up system error dialogue
		Return: CF clear
			AX = ??? or 0000h
	    14h "IFSMgr_GetConversionTablePtrs"
		Return:	CF clear
			DX:AX -> ???
		Note:	invokes VxDcall 00400051h
	    15h "Boost_With_Decay"
		EBX = ???
		ECX = ???
		EDX = ???
		Return: CF clear
	    else
		Return: CF set
SeeAlso: #02668,#02670

Top
2F1684BX002B - INT 2F - MS Windows - VCOMM - GET API ENTRY POINT
INT 2F - MS Windows - VCOMM - GET API ENTRY POINT
	AX = 1684h
	BX = 002Bh (virtual device ID for VCOMM device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02670)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02670)
Call VCOMM.VXD entry point with:
	AX = function number
	    0000h open COM/LPT port
		BX = port number (00h-7Fh = COMx, 80h-FFh = LPTx)
		Return: DX:AX = handle???
	    0001h set comm state
		???
		Return: AX = ???
	    0002h setup comm port
		???
		Return: AX = status (0000h failed, FFFFh success)
	    0003h transmit character
		EBX = handle???
		CL = character to transmit
		Return: AX = status???
	    0004h close comm port
		EBX = handle???
		Return: ???
	    0005h clear comm error
		EBX = handle???
		EAX = ???
		Return: AX = status???
	    0006h "EscapeCommFunction"
		EBX = handle???
		CX = ???
		EAX = ???
		Return: DX:AX = ???
	    0007h purge buffers
		EBX = handle???
		CX = ???
		Return: AX = status???
	    0008h set comm event mask
		EBX = handle???
		CX = new event mask
		Return: AX = status???
	    0009h get comm event mask
		EBX = handle???
		Return: AX = current event mask
	    000Ah ???
		EBX = handle???
		Return: ???
	    000Bh "WriteComm"
		EBX = handle???
		CX = number of characters to write
		ES???:BX -> buffer (if CX > 1)
		SI??? low byte contains character if CX=1
		Return: AX = status
			EAX high word may be destroyed
	    000Ch "ReadComm"
		EBX = handle???
		CX = number of bytes to read
		ES???:DI -> buffer
		Return: AX = status ???
			ZF = ???
	    000Dh set ??? callback
		EBX = handle???
		CX = ???
		DX = ???
		Return: AX = status???
	    else
		Return: AX = 0000h
SeeAlso: #02669,#02671

Top
2F1684BX002D - INT 2F P - MS Windows - W32S - GET API ENTRY POINT
INT 2F P - MS Windows - W32S - GET API ENTRY POINT
	AX = 1684h
	BX = 002Dh (virtual device ID for W32S device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0030 - INT 2F P - MS Windows - MACH32 - GET API ENTRY POINT
INT 2F P - MS Windows - MACH32 - GET API ENTRY POINT
	AX = 1684h
	BX = 0030h (virtual device ID for MACH32 device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0032 - INT 2F - MS Windows - SERVER / VSERVER - GET API ENTRY POINT
INT 2F - MS Windows - SERVER / VSERVER - GET API ENTRY POINT
	AX = 1684h
	BX = 0032h (virtual device ID for SERVER device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02671)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",#01296 at INT 20"Windows"

(Table 02671)
Call Windows95 VSERVER.VXD protected-mode entry point with:
	AX = function number
	    0003h NOP
		Return: AX = 0000h
	    0004h NOP
		Return: AX = 0000h
	    0007h NOP
		Return: AX = 0000h
	    0008h NOP
		Return: nothing
	    000Fh ???
		Return: AX = status
			    0000h successful
			    0842h on error
	    0010h ???
		Return: AX = status
			    0000h successful
			    0842h on error
	    else
		Return: AX = 0032h
SeeAlso: #02670,#02672

Top
2F1684BX0033 - INT 2F - MS Windows - CONFIGMG - GET API ENTRY POINT
INT 2F - MS Windows - CONFIGMG - GET API ENTRY POINT
	AX = 1684h
	BX = 0033h (virtual device ID for CONFIGMG device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02672)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02672)
Call CONFIGMG.VXD entry point with:
	AX = function number
	    0000h get CONFIGMG version
		Return: CF clear
			AH = major version
			AL = minor version
	    ...
	    005Ah
	    else
		Return: CF set
			AX = 0020h
SeeAlso: #01297 at INT 20"Windows",#02671,#02673

Top
2F1684BX0034 - INT 2F - Intel Plug-and-Play - CONFIGURATION MANAGER - GET ENTRY POINT
INT 2F - Intel Plug-and-Play - CONFIGURATION MANAGER - GET ENTRY POINT
	AX = 1684h
	BX = 0034h (ID for Configuration Manager) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> API entry point (see #02673)
		  0000h:0000h if Configuration Manager not loaded
Note:	this API is often provided by a DOS device driver, in which case it
	  is available whether or not MSWindows is running
Index:	installation check;Plug-and-Play Configuration Manager
SeeAlso: AX=1684h/BX=304Ch

(Table 02673)
Call Configuration Manager entry point with:
	AX = function
	    0000h "CM_GetVersion" get supported DDI version
		Return: AH = BCD major version
			AL = BCD minor version
			BX = number of devices identified by configuration
		Note:	returns AX = 0000h if no config manager installed
	    0001h "CM_GetConfig" get device configuration
		BX = device index
		ES:DI -> buffer for configuration information (see #02675)
		Return: AX = status
			    0000h successful
				ES:DI buffer filled
			    other error code (0001h = index out of range)
	    0002h "CM_LockConfig" lock device configuration
		ES:DI -> configuration information (see #02675)
		Return: AX = status
			    0000h successful
				ES:DI buffer filled with assigned config
			    0001h resources conflict
			    0002h invalid request or configuration info
	    0003h "CM_UnlockConfig" unlock device configuration
		ES:DI -> configuration information (see #02675)
		Return: AX = status
			    0000h successful
				ES:DI buffer filled with assigned config
			    0001h invalid request or configuration info
	    0004h "CME_QueryResources" get hot-swappable resources
		ES:DI -> configuration information (see #02675)
		Return: AX = status (see #02674)
	    0005h "CME_AllocResources" remove resources from available pool
		ES:DI -> configuration information (see #02675)
		Return: AX = status (see #02674)
	    0006h "CME_DeallocResources" return resources to available pool
		ES:DI -> configuration information (see #02675)
		Return: AX = status (see #02674)
SeeAlso: #01298 at INT 20"Windows",#02672,#02676

(Table 02674)
Values for Configuration Manager status:
 00h	successful
 01h	device not found, configuration error
 02h	I/O port unavailable
 04h	IRQ unavailable
 08h	DMA channel unavailable
 10h	memory range unavailable
SeeAlso: #02673

Format of Configuration Information Structure:
Offset	Size	Description	(Table 02675)
 00h	DWORD	bus ID
 04h	DWORD	device ID
 08h	DWORD	serial number
 0Ch	DWORD	logical ID
 10h	DWORD	flags
---ISA bus---
 14h	BYTE	Card Select Number
 15h	BYTE	logical device number
 16h	WORD	Read Data port
------
 18h	WORD	number of memory windows
 1Ah  9 DWORDs	physical base addresses of memory windows
 3Eh  9 DWORDs	length of memory windows
 62h  9 WORDs	memory window attributes
 74h	WORD	number of I/O ports
 76h 20 WORDs	I/O port base addresses
 B6h 20 WORDs	lengths of I/O port ranges
 F6h	WORD	number of IRQs
 F8h  7 BYTEs	IRQ registers
 FFh  7 BYTEs	IRQ attributes
106h	WORD	number of DMA channels
108h  7 BYTEs	DMA channels used
10Fh  7 WORDs	DMA channel attributes
11Dh  3 BYTEs	reserved
SeeAlso: #02673

Top
2F1684BX0036 - INT 2F - MS Windows - VFBACKUP - GET API ENTRY POINT
INT 2F - MS Windows - VFBACKUP - GET API ENTRY POINT
	AX = 1684h
	BX = 0036h (virtual device ID for VFBACKUP device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02676)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02676)
Call VFBACKUP.VXD entry point with:
	nothing -- this API is a NOP for the default Windows95 VFBACKUP
SeeAlso: #02673,#01126

Top
2F1684BX0037 - INT 2F - MS Windows - ENABLE.VXD - GET API ENTRY POINT
INT 2F - MS Windows - ENABLE.VXD - GET API ENTRY POINT
	AX = 1684h
	BX = 0037h (virtual device ID for ENABLE device) (see #02677)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02676)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02677)
Call Windows95 ENABLE.VXD entry point with:
	AX = function number
	    0000h get ENABLE version
		Return:	CF clear
			AX = version (AH = major, AL = minor)
	    0001h
		EBX = ???
		Return: ???
	    0002h get ???
		Return: CF clear
			DX:AX = ???
	    0003h get ???
		Return: CF clear
			DX:AX = ???
	    0004h ???
		EBX = ???
		ECX = ???
		EDX = ???
		Return: CF clear if successful
			CF set on error
	    else
		Return: CF set
SeeAlso: #02676,#02678

Top
2F1684BX0038 - INT 2F - MS Windows - VCOND - GET API ENTRY POINT
INT 2F - MS Windows - VCOND - GET API ENTRY POINT
	AX = 1684h
	BX = 0038h (virtual device ID for VCOND device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02678)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02678)
Call VCOND.VXD virtual-86 entry point with:
	AX = function number
	    0202h
	    0203h
	    0204h
	    0205h
	    0206h
	    0207h
	    0208h
	    0209h
	    020Ah
	    020Bh
	    020Dh
	    020Eh
	    020Fh
	    0210h
	    0401h
	    0402h
	    0403h
	    0404h
	    0405h
	    else
		NOP
SeeAlso: #02679,#02677

(Table 02679)
Call VCOND.VXD protected-mode entry point with:
	AX = function number
	    0301h
	    0302h
	    0303h
	    0304h
	    0305h
	    0306h
	    0307h
	    0308h
	    else
		NOP
SeeAlso: #02678,#02676

Top
2F1684BX003B - INT 2F - MS Windows - DSVXD - GET API ENTRY POINT
INT 2F - MS Windows - DSVXD - GET API ENTRY POINT
	AX = 1684h
	BX = 003Bh (virtual device ID for DSVXD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX003D - INT 2F - MS Windows - BIOS VxD - GET API ENTRY POINT
INT 2F - MS Windows - BIOS VxD - GET API ENTRY POINT
	AX = 1684h
	BX = 003Dh (virtual device ID for BIOS device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02680)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02680)
Call BIOS.VXD entry point with:
	AX = function number
	    0000h get BIOS.VXD version
		Return: CF clear
			AH = major version
			AL = minor version
	    0100h ???
		Return: AX = 0000h
		Note:	calls CONFIGMG services 804Eh/804Fh
	    0200h ???
		Return: CF clear if successful
			    AX = ???
			CF set on error
			    AX = error code???
		Note:	invokes VxDcall 00290002h
	    0300h ???
		Return: CF clear if successful
			    AX = ???
			CF set on error
			    AX = error code???
	    else
		Return: CF set
SeeAlso: #02679,#02681

Top
2F1684BX003E - INT 2F - MS Windows - WSOCK - GET API ENTRY POINT
INT 2F - MS Windows - WSOCK - GET API ENTRY POINT
	AX = 1684h
	BX = 003Eh (virtual device ID for WSOCK device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX011F - INT 2F P - MS Windows - VFLATD - GET API ENTRY POINT
INT 2F P - MS Windows - VFLATD - GET API ENTRY POINT
	AX = 1684h
	BX = 011Fh (virtual device ID for VFLATD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02681)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",AX=1684/BX=045Dh,INT 20"Windows"

(Table 02681)
Call VFLATD.VXD entry point with:
	DL = function number
	    00h get VFLATD version and ???
		Return: CF clear
			EAX = version (AH = major, AL = minor)
			EBX = ???
			ECX = ???
			EDX = ??? or 00000000h
	    01h ???
		AX = ???
		CX = ???
		Return: EAX = ???
			EDX = ???
	    02h ???
		???
	    03h ???
		EAX = ???
		EBX = ???
		ESI = ???
		CX = ???
		DH = ???
		Return: EAX = ???
			EDX = ???
			CF clear
	    04h ???
		DH = ???
		EAX = ???
		ECX = ???
		Return: CF clear
			EAX = ???
			EDX = ???
	    05h ???
		???
		Note:	locks some linear memory and calls fn 02h
	    06h ???
		???
		Return: CF clear if successful
			CF set on error
		Note:	calls fn 02h and unlocks some linear memory
	    else
		Return: CF set
SeeAlso: #02680

Top
2F1684BX0200 - INT 2F - MS Windows - VIPX - GET API ENTRY POINT
INT 2F - MS Windows - VIPX - GET API ENTRY POINT
	AX = 1684h
	BX = 0200h (virtual device ID for VIPX device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0202 - INT 2F - MS Windows - WINICE - GET API ENTRY POINT
INT 2F - MS Windows - WINICE - GET API ENTRY POINT
	AX = 1684h
	BX = 0202h (virtual device ID for WINICE device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0203 - INT 2F P - MS Windows - VCLIENT - GET API ENTRY POINT
INT 2F P - MS Windows - VCLIENT - GET API ENTRY POINT
	AX = 1684h
	BX = 0203h (virtual device ID for VCLIENT device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0205 - INT 2F - MS Windows - BCW - GET API ENTRY POINT
INT 2F - MS Windows - BCW - GET API ENTRY POINT
	AX = 1684h
	BX = 0205h (virtual device ID for BCW device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0207 - INT 2F R - MS Windows - DPMS VxD - GET API ENTRY POINT
INT 2F R - MS Windows - DPMS VxD - GET API ENTRY POINT
	AX = 1684h
	BX = 0207h (virtual device ID for DPMS device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0234 - INT 2F - MS Windows - VCOMMUTE - GET API ENTRY POINT
INT 2F - MS Windows - VCOMMUTE - GET API ENTRY POINT
	AX = 1684h
	BX = 0234h (virtual device ID for VCOMMUTE device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0442 - INT 2F P - MS Windows - VTDAPI - GET API ENTRY POINT
INT 2F P - MS Windows - VTDAPI - GET API ENTRY POINT
	AX = 1684h
	BX = 0442h (virtual device ID for VTDAPI device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02682)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02682)
Call VTDAPI.VXD entry point with:
	EAX = function number
	    0000h
	    0001h
	    0002h
	    0003h
	    0004h
	    0005h
	    0006h
	    0007h
	    0008h
	    0009h
	    000Ah
	    000Bh
	    else
		Return: nothing???
SeeAlso: #02682

Top
2F1684BX0444 - INT 2F - MS Windows - VADMAD - GET API ENTRY POINT
INT 2F - MS Windows - VADMAD - GET API ENTRY POINT
	AX = 1684h
	BX = 0444h (virtual device ID for VADMAD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02683)
		  0000h:0000h if the VxD does not support an API

(Table 02683)
Call VADMAD entry point with:
	DX = operation
	    0000h set VADMAD mode
		AX = desired mode
	    0001h set VADMAD channel
		AX = desired channel
Note:	after setting mode/channel, start the DMA operation with an OUT to
	  I/O port 0Bh (channels 0-3) or D6h (channels 4-7)
SeeAlso: #01268 at INT 20"Windows"

Top
2F1684BX0445 - INT 2F - MS Windows - VSBD - GET API ENTRY POINT
INT 2F - MS Windows - VSBD - GET API ENTRY POINT
	AX = 1684h
	BX = 0445h (virtual device ID for VSBD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0446 - INT 2F - MS Windows - VADLIBD - GET API ENTRY POINT
INT 2F - MS Windows - VADLIBD - GET API ENTRY POINT
	AX = 1684h
	BX = 0446h (virtual device ID for VADLIBD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0449 - INT 2F P - MS Windows - vjoyd - GET API ENTRY POINT
INT 2F P - MS Windows - vjoyd - GET API ENTRY POINT
	AX = 1684h
	BX = 0449h (virtual device ID for "vjoyd" device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02684)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02684)
Call VJOYD.VXD entry point with:
	AX = function number
	    0000h get VJOYD version
		Return: AH = major version
			AL = minor version
	    0001h ???
		DX = ???
		Return: DX:AX = ???
	    0002h ???
		DX = ???
		Return: DX:AX = ???
	    0003h ???
		Retrun: AX = 0001h
	    0004h ???
		DX = ???
		Return: DX:AX = ???
	    0005h ???
		Return: ???
	    else
		Return: EAX = 00000000h
SeeAlso: #02682,#02685

Top
2F1684BX044A - INT 2F - MS Windows - mmdevldr - GET API ENTRY POINT
INT 2F - MS Windows - mmdevldr - GET API ENTRY POINT
	AX = 1684h
	BX = 044Ah (virtual device ID for "mmdevldr" device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02685)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02685)
Call MMDEVLDR.VXD entry point with:
	DX = function number
	    0000h ???
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = error code (000Bh)
		Note:	invokes VxDCall 17000Eh ("CallAtAppyTime")
	    0001h ???
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = error code (000Bh)
		Note:	invokes VxDCall 17000Eh ("CallAtAppyTime")
	    0002h ???
		EDX = ???
		Return: CF clear if successful
			    AX = 0000h
			    EDX = ???
			CF set on error
			    AX = error code
	    0003h ???
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = error code
		Note:	invokes VxDcall 2A0002h ("VWIN32_QueueUserApc")
	    0004h set Win32 event
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = error code
		Note:	invokes VxDcall 2A000Eh ("VWIN32_SetWin32Event")
	    0005h ??? (allocates some memory)
		Return: CF clear
			AX = 0000h
	    0006h ??? (frees memory)
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = error code
	    else
		Return: CF set
			AX = 000Bh (invalid function)
SeeAlso: #02684,#02686

Top
2F1684BX045D - INT 2F P - MS Windows - VflatD - GET API ENTRY POINT
INT 2F P - MS Windows - VflatD - GET API ENTRY POINT
	AX = 1684h
	BX = 045Dh (virtual device ID for VflatD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",AX=1684h/BX=011Fh,INT 20"Windows"

Top
2F1684BX045F - INT 2F - MS Windows - azt16 - GET API ENTRY POINT
INT 2F - MS Windows - azt16 - GET API ENTRY POINT
	AX = 1684h
	BX = 045Fh (virtual device ID for "azt16" device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02686)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h/BX=3110h,AX=1684h"DEVICE API",INT 20"Windows"

(Table 02686)
Call azt16.VXD entry point with:
	DX = function number
	    0000h get azt16 version
		Return: CF clear
			AX = version (AH=major, AL=minor)
	    0001h ???
		AX = subfunction
		    0000h ???
			Return:
		    0001h ???
			ECX = ???
		    else error
		Return: CF clear if successful
			    ???
			CF set on error
			    AX = error code
	    0002h ???
		AX = ???
		BX = ???
		Return: ???
	    0003h ???
		AX = ???
		BX = ???
		Return: ???
	    0004h ???
		BX = ???
		CX = ???
		Return: CF clear if successful
			     AX = 0001h
			CF set on error
			     AX = 0000h
	    0005h ???
		BX = ???
		CX = ???
		Return: CF clear if successful
			     AX = 0001h
			CF set on error
			     AX = 0000h
	    0006h ???
		BX = ???
		ECX = ???
		Return: CF clear if succesful
			    AX = ???
			CF set on error
			    AX = FFFFh
	    0100h get azt16 version
		Return: CF clear
			AX = version (AH=major, AL=minor)
	    0101h
		AX = ???
		ECX = ???
		Return: CF clear if successful
			    AX = 0001h
			CF set on error
			    AX = 0000h
	    0102h ???
		AX = ???
		Return: CF clear if successful
			CF set on error
			    AX = reason??? (0/1/2)
	    0103h ???
		AX = ???
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
			    AX = reason??? (1/3)
	    0200h ???
		EDX = ???
		???
		Return: CF clear if successful
			    DX:AX = ???
			CF set on error
			    DX:AX = 0000h:0000h
	    0201h ???
		???
		Return: CF clear
			AX= 0000h
	    else
		Return: CF set
SeeAlso: #02685,#02705

Top
2F1684BX0460 - INT 2F P - MS Windows - UNIMODEM - GET API ENTRY POINT
INT 2F P - MS Windows - UNIMODEM - GET API ENTRY POINT
	AX = 1684h
	BX = 0460h (virtual device ID for UNIMODEM device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02687)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02687)
Call UNIMODEM.VXD protected-mode entry point with:
	AX = function number
	    0000h
		Return: AX = ???
	    0001h
		Return: AX = ???
	    0002h
		Return: AX = ???
	    0003h
		Return: AX = ???
	    0004h
		Return: AX = ???
	    0005h
		Return: AX = ???
	    0006h
		Return: AX = ???
	    0007h
		Return: AX = ???
	    else
		Return: AX = 0002h
SeeAlso: #02686,#02688

Top
2F1684BX0480 - INT 2F - MS Windows - VNetSup - GET API ENTRY POINT
INT 2F - MS Windows - VNetSup - GET API ENTRY POINT
	AX = 1684h
	BX = 0480h (virtual device ID for VNetSup device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02688)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02688)
Call VNetSup.VXD entry point with:
	AX = function number
	    0000h
		Return: AX = ???
	    0001h
		Return: AX = ???
	    0002h
		Return: AX = ???
	    else
		Return: CF set
			AX = 0001h
SeeAlso: #02687,#02689

Top
2F1684BX0482 - INT 2F - MS Windows - VBrowse - GET API ENTRY POINT
INT 2F - MS Windows - VBrowse - GET API ENTRY POINT
	AX = 1684h
	BX = 0482h (virtual device ID for VBrowse device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0483 - INT 2F - MS Windows - VSHARE - GET API ENTRY POINT
INT 2F - MS Windows - VSHARE - GET API ENTRY POINT
	AX = 1684h
	BX = 0483h (virtual device ID for VSHARE device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02689)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02689)
Call Windows95 VSHARE.VXD entry point with:
	AX = function number
	    0000h get VSHARE version
		Return: AH = major version
			AL = (BCD?) minor version
	    else
		NOP
SeeAlso: #02688

Top
2F1684BX0484 - INT 2F P - MS Windows - IFSMgr - GET API ENTRY POINT
INT 2F P - MS Windows - IFSMgr - GET API ENTRY POINT
	AX = 1684h
	BX = 0484h (virtual device ID for IFSMgr device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0486 - INT 2F - MS Windows - VFAT - GET API ENTRY POINT
INT 2F - MS Windows - VFAT - GET API ENTRY POINT
	AX = 1684h
	BX = 0486h (virtual device ID for VFAT device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0487 - INT 2F - MS Windows - NWLINK - GET API ENTRY POINT
INT 2F - MS Windows - NWLINK - GET API ENTRY POINT
	AX = 1684h
	BX = 0487h (virtual device ID for NWLINK device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX0489 - INT 2F R - MS Windows - VIP - GET API ENTRY POINT
INT 2F R - MS Windows - VIP - GET API ENTRY POINT
	AX = 1684h
	BX = 0489h (virtual device ID for VIP device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX048A - INT 2F - MS Windows 3.11 - VXDLDR - GET API ENTRY POINT
INT 2F - MS Windows 3.11 - VXDLDR - GET API ENTRY POINT
	AX = 1684h
	BX = 048Ah (virtual device ID for VTCP device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX048A - INT 2F - MS Windows - VCACHE - GET API ENTRY POINT
INT 2F - MS Windows - VCACHE - GET API ENTRY POINT
	AX = 1684h
	BX = 048Ah (virtual device ID for VCACHE device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02691)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02690)
Call Windows95 VCACHE.VXD entry point with:
	Return:	CF set
SeeAlso: #02689,#02691

Top
2F1684BX048D - INT 2F - MS Windows - RASMAC - GET API ENTRY POINT
INT 2F - MS Windows - RASMAC - GET API ENTRY POINT
	AX = 1684h
	BX = 048Dh (virtual device ID for RASMAC device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX048E - INT 2F - MS Windows - NWREDIR - GET API ENTRY POINT
INT 2F - MS Windows - NWREDIR - GET API ENTRY POINT
	AX = 1684h
	BX = 048Eh (virtual device ID for NWREDIR device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02691)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02691)
Call Windows95 NWREDIR.VXD entry point with:
	Return:	CF set
		EAX = FFFFFFFFh
SeeAlso: #02690

Top
2F1684BX0494 - INT 2F - MS Windows - NSCL - GET API ENTRY POINT
INT 2F - MS Windows - NSCL - GET API ENTRY POINT
	AX = 1684h
	BX = 0494h (virtual device ID for NSCL device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02692,#02693)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02692)
Call Windows95 NSCL.VXD virtual-86 entry point with:
	AL = function number
	    00h
	    01h
	    02h
	    03h
	    04h
	    05h
	    06h
	    07h
	    08h
	    09h
	    0Ah
	    else
		Return: AX = FFFFh
SeeAlso: #02691,#02692

(Table 02693)
Call Windows95 NSCL.VXD protected-mode entry point with:
	AL = function number
	    00h
	    01h
	    02h
	    03h
	    else
		Return: AX = FFFFh
SeeAlso: #02692

Top
2F1684BX0499 - INT 2F - MS Windows - PPPMAC - GET API ENTRY POINT
INT 2F - MS Windows - PPPMAC - GET API ENTRY POINT
	AX = 1684h
	BX = 0499h (virtual device ID for PPPMAC device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX049A - INT 2F - MS Windows - VDHCP - GET API ENTRY POINT
INT 2F - MS Windows - VDHCP - GET API ENTRY POINT
	AX = 1684h
	BX = 049Ah (virtual device ID for VDHCP device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX049B - INT 2F - MS Windows - VNBT - GET API ENTRY POINT
INT 2F - MS Windows - VNBT - GET API ENTRY POINT
	AX = 1684h
	BX = 049Bh (virtual device ID for VNBT device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX1021 - INT 2F - MS Windows - VMB - GET API ENTRY POINT
INT 2F - MS Windows - VMB - GET API ENTRY POINT
	AX = 1684h
	BX = 1021h (virtual device ID for VMB device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX28A0 - INT 2F - MS Windows - PHARLAPX - GET API ENTRY POINT
INT 2F - MS Windows - PHARLAPX - GET API ENTRY POINT
	AX = 1684h
	BX = 28A0h (virtual device ID for PHARLAPX device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02694)
		  0000h:0000h if the VxD does not support an API

(Table 02694)
Call PHARLAPX VxD entry point with:
	AX = function
	    0001h get PHARLAP.386 version
		Return: AX = version number (AH = major, AL = minor)
	---queue functions---
	    0101h allocate a new message queue
		CX = size of queue data buffer in bytes
		Return: DX:AX = handle for new queue, or 0000h:0000h on error
	    0102h allocate a new key queue
		CX = size of queue data buffer in bytes
		EDX = VM handle into which keys will be pasted
		Return: DX:AX = handle for new queue, or 0000h:0000h on error
	    0103h free message queue
		EDX = queue handle
		Return: AX = status (0000h,0003h,0007h) (see #02695)
	    0104h free key queue
		EDX = queue handle
		Return: AX = status (0000h,0003h,0005h) (see #02695)
	    0105h add message to communications queue
		EDX = queue handle
		BX = length of message data in bytes
		CX = length of message header in bytes
		ES:(E)SI -> message header
		GS:(E)DI -> message data
		Return: AX = status (0000h-0003h,0007h) (see #02695)
	    0106h remove message from queue
		EDX = queue handle
		CX = length of buffer in bytes
		ES:(E)SI -> buffer for message
		Return: AX = status (0000h,0003h,0006h,0007h,0008h) (see #02695)
			CX = length of returned message (if AX=0000h or 0008h)
	    0107h flush queue (remove all data)
		EDX = queue handle
		Return: AX = status (0000h,0003h) (see #02695)
	    0108h add PasteKey structure(s) to key queue
		EDX = queue handle
		CX = number of PasteKey structures in buffer
		ES:(E)SI -> PasteKey array (see #02696)
		Return: AX = status (0000h-0003h) (see #02695)
	    0109h register enqueueing callback function
		EDX = queue handle
		ECX = function argument
		ES:(E)SI -> callback function
		Return: AX = status (0000h,0003h,0009h) (see #02695)
	    010Ah register dequeueing callback function
		EDX = queue handle
		ECX = function argument
		ES:(E)SI -> callback function
		Return: AX = status (0000h,0003h,0009h) (see #02695)
	    010Bh unregister enqueueing callback function
		EDX = queue handle
		Return: AX = status (0000h,0003h,0009h) (see #02695)
	    010Ch unregister dequeueing callback function
		EDX = queue handle
		Return: AX = status (0000h,0003h,0009h) (see #02695)
	    010Dh get message queue status
		EDX = queue handle
		Return: AX = status (0000h,0003h) (see #02695)
			CX = number of pending messages
	    010Eh peek at message in queue
		EDX = queue handle
		BX = number of message in queue (0000h = first)
		CX = size of buffer in bytes
		ES:(E)SI -> buffer for message
		Return: AX = status (0000h,0003h,0006h,0008h) (see #02695)
			CX = length of returned message (if AX=0000h or 0008h)
	    010Fh peek at last message in queue
		EDX = queue handle
		CX = size of buffer in bytes
		ES:(E)SI -> buffer for message
		Return: AX = status (0000h,0003h,0006h,0008h) (see #02695)
			CX = length of returned message (if AX=0000h or 0008h)
	    0110h replace last message in queue
		EDX = queue handle
		CX = length of message header in bytes
		BX = length of message data in bytes
		ES:(E)SI -> message header
		GS:(E)DI -> message data
		Return: AX = status (0000h,0002h,0003h) (see #02695)
	    0111h set permitted message count for queue
		EDX = queue handle
		CX = maximum number of messages to enqueue (FFFFh = unlimited)
		Return: AX = status (0000h,0003h) (see #02695)
	---generalized VxD services---
	    0202h call VxD function
		ES:(E)BX -> in/out register-set buffer
		Return: buffer updated
	    0203h map flat
		???
	--system register functions---
	    0301h read system registers into buffer
		ES:(E)SI -> 512-byte buffer
		Return: AX = 0000h
			buffer filled (mostly zeros)
	    0302h copy linear memory into buffer
		EDX = linear address
		CX = number of bytes to copy
		ES:(E)SI -> buffer
		Return: AX = 0000h
	    0303h copy data into linear memory
		EDX = linear address
		CX = number of bytes to copy
		ES:(E)SI -> buffer
		Return: AX = 0000h
	    0304h freeze VM
		???
	    0305h unfreeze VM
		???
	---name registration functions---
	    0401h register name
		EDX = magic number to associate with name
		ES:(E)SI -> name to register
		Return: AX = status (0000h,0009h) (see #02695)
	    0402h unregister name
		ES:(E)SI -> name to be unregistered
		Return: AX = status (0000h,0009h) (see #02695)
	    0403h look up name
		ES:(E)SI -> name to look up
		Return: DX:AX = magic number or 0000h:0000h if not registered
	    0404h get name list handle
		Return: DX:AX = name list handle
				0000h:0000h if not initialized
	---special DOS server routines (undocumented)---
	    0501h register
	    0502h unregister
	    0503h validate VM
	    0504h get INT9 count
	    0505h get screen line
	    0506h get shift status
	    0507h get server PB pointer
	    0508h initialize DOS shell
	    0509h get last VM handle

(Table 02695)
Values for PHARLAPX function status:
 00h	successful
 01h	data is too large to fit in queue
 02h	queue is full
 03h	invalid queue handle
 04h	invalid VM handle for queue
 05h	error starting a paste operation
 06h	queue is empty
 07h	a VM is blocked waiting on the queue
 08h	message was too long (truncated)
 09h	unable to register or unregister specified callback
SeeAlso: #02694

Format of PHARLAPX PasteKey structure:
Offset	Size	Description	(Table 02696)
 00h	BYTE	ASCII code
 01h	BYTE	scan code (see #00006)
 02h	WORD	shift states
SeeAlso: #02694

Format of PHARLAPX VxD-call register structure:
Offset	Size	Description	(Table 02697)
 00h	DWORD	call number
 04h	WORD	input register map (see #02698)
 06h	WORD	output register map (see #02698)
 08h  7 DWORDs	values for EAX, EBX, ECX, EDX, EBP, ESI, EDI on call
 24h  4	WORDs	values for DS, ES, FG, GS on call
 2Ch	DWORD	EFLAGS on call
 30h  7 DWORDs	returned values of EAX, EBX, ECX, EDX, EBP, ESI, EDI
 4Ch  4 WORDs	returned values of DS, ES, FS, GS
 54h	DWORD	returned EFLAGS
SeeAlso: #02694

Bitfields for PHARLAPX VxD-call register map:
Bit(s)	Description	(Table 02698)
 0	value in EAX field is valid
 1	value in EBX field is valid
 2	value in ECX field is valid
 3	value in EDX field is valid
 4	value in EBP field is valid
 5	value in ESI field is valid
 6	value in EDI field is valid
 7	value in DS field is valid
 8	value in ES field is valid
 9	value in FS field is valid
 10	value in GS field is valid
 11	value in EFLAGS field is valid
SeeAlso: #02697

Top
2F1684BX28A1 - INT 2F - MS Windows - PharLap VxD - GET API ENTRY POINT
INT 2F - MS Windows - PharLap VxD - GET API ENTRY POINT
	AX = 1684h
	BX = 28A1h (virtual device ID for PharLap device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",AX=1684h/BX=28A0h,INT 20"Windows"

Top
2F1684BX2925 - INT 2F - MS Windows - EDOS - GET API ENTRY POINT
INT 2F - MS Windows - EDOS - GET API ENTRY POINT
	AX = 1684h
	BX = 2925h (virtual device ID for EDOS device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02699)
		  0000h:0000h if the VxD does not support an API

(Table 02699)
Call EDOS entry point with:
	AX = 0000h get EDOS version number
	    Return: AH = major version
		    AL = minor version
	AX = 0001h display message
	    CX = 0
	    DX:BX -> ASCIZ Message
	AX = 0002h get EDOS error coded
	    Return: EAX = time in milliseconds that Windows has been running
	AX = 0003h execute windows program
	    Return: EAX = cumulative amount of time the virtual machine has
			been active, in milliseconds
	AX = 0008h get/set priority
	    BX = 0000h??? foreground
		 0001h background
	    DI = 0000h get
		 0001h set
	    DX = priority setting
	    Return: CX = foreground priority
		    DX = background priority
		    BX:AX = flags
			00000001h exclusive ON
			00000010h background ON
		    SI = CPU percentage

Top
2F1684BX292D - INT 2F - MS Windows - VSBPD - GET API ENTRY POINT
INT 2F - MS Windows - VSBPD - GET API ENTRY POINT
	AX = 1684h
	BX = 292Dh (virtual device ID for VSBPD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX295A - INT 2F - MS Windows - GRVSULTR - GET API ENTRY POINT
INT 2F - MS Windows - GRVSULTR - GET API ENTRY POINT
	AX = 1684h
	BX = 295Ah (virtual device ID for GRVSULTR device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX304C - INT 2F - Intel Plug-and-Play - CONFIGURATION ACCESS - GET ENTRY POINT
INT 2F - Intel Plug-and-Play - CONFIGURATION ACCESS - GET ENTRY POINT
	AX = 1684h
	BX = 304Ch (ID for Configuration Access) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> API entry point (see #02700)
		  0000h:0000h if Configuration Access not loaded
Note:	this API is often provided by a DOS device driver, in which case it
	  is available whether or not MSWindows is running
Index:	installation check;Plug-and-Play Configuration Access
SeeAlso: AX=1684h/BX=0034h

(Table 02700)
Call Plug-and-Play Configuration Access entry point with:
	AX = function
	    0000h "CA_GetVersion"
		Return: AX = BCD version (AH = major, AL = minor)
	    0001h "CA_PCI_Read_Config_Byte" (see also INT 1A/AX=B108h)
	!!!
	    0002h "CA_PCI_Read_Config_Word" (see also INT 1A/AX=B109h)
	    0003h "CA_PCI_Read_Config_DWord" (see also INT 1A/AX=B10Ah)
	    0004h "CA_PCI_Write_Config_Byte" (see also INT 1A/AX=B10Bh)
	    0005h "CA_PCI_Write_Config_Word" (see also INT 1A/AX=B10Ch)
	    0006h "CA_PCI_Write_Config_DWord" (see also INT 1A/AX=B10Dh)
	    0007h "CA_PCI_Generate_Special_Cycle" (see also INT 1A/AX=B106h)
	    0008h "CA_PCI_Get_Routing_Options" (see also INT 1A/AX=B10Eh)
	    0009h invalid function
	    000Ah invalid function
	    000Bh "CA_PnPISA_Get_Info"
	    000Ch "CA_PnPISA_Read_Config_Byte"
	    000Dh "CA_PnPISA_Write_Config_Byte"
	    000Eh "CA_PnPISA_Get_Resource_Data"
	    000Fh invalid function
	    0010h "CA_EISA_Get_Board_ID"
	    0011h "CA_EISA_Get_Slot_Config"
	    0012h "CA_EISA_Get_SlotFunc_Config"
	    0013h "CA_EISA_Clear_NVRAM_Config"
	    0014h "CA_EISA_Write_Config"
	    0015h invalid function
	    0016h "CA_ESCD_Get_Info"
	    0017h "CA_ESCD_Read_Config"
	    0018h "CA_ESCD_Write_Config"
	    0019h invalid function
	    001Ah "CA_Acfg_PCI_Manage_IRQs"
		DL = IRQ???
		ES:DI -> ???
		Return: AX = status
	    001Bh "CA_Acfg_PCI_Get_Routing_Options"
		ES:DI -> IRQ routing table header
			  (see #01259 at INT 1A/AX=B406h)
		Return: AX = status
	    001Ch-001Fh invalid functions
	    0020h "CA_PnPB_Get_Num_Sys_Dev_Nodes"
	    0021h "CA_PnPB_Get_Sys_Dev_Node"
	    0022h "CA_PnPB_Set_Sys_Dev_Node"
	    0023h "CA_PnPB_Get_Stat_Res_Info"
	    0024h "CA_PnPB_Set_Stat_Res_Info"
Return: AX = FFFFh if unsupported function
SeeAlso: #02701

Top
2F1684BX3099 - INT 2F - MS Windows - VVidramD - GET API ENTRY POINT
INT 2F - MS Windows - VVidramD - GET API ENTRY POINT
	AX = 1684h
	BX = 3099h (virtual device ID for VVidramD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02701)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02701)
Call VVidramD (VIDRAM.VXD) virtual-86 entry point with:
	AX = function number
	    0000h map page???
		BX = page number???
		Return: CF clear if successful
			CF set on error
	    0001h ???
		Return: CF clear if successful
			CF set on error
	    else
		Return: CF set
SeeAlso: #02700,#02702

Top
2F1684BX30F6 - INT 2F P - MS Windows - WSVV - GET API ENTRY POINT
INT 2F P - MS Windows - WSVV - GET API ENTRY POINT
	AX = 1684h
	BX = 30F6h (virtual device ID for WSVV device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02702)
Call WSVV.VXD protected-mode entry point with:
	AX = function number
	    ????
	Return: ???
SeeAlso: #02701,#02703

Top
2F1684BX310E - INT 2F - MS Windows - WPS - GET API ENTRY POINT
INT 2F - MS Windows - WPS - GET API ENTRY POINT
	AX = 1684h
	BX = 310Eh (virtual device ID for WPS device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02703)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02703)
Call WPS protected-mode entry point with:
	DX = function
	    0000h get WPS.386 version
		Return: CF clear
			AX = version (AH = major, AL = minor)
	    0001h get number of installed VxDs
		Return: CF clear
			AX = number of installed VxDs
	    0002h get VxD characteristics
		AX = number of VxD
		ES:BX -> buffer for VxD characteristics structure (see #02704)
		Return: CF clear
			ES:BX buffer filled
SeeAlso: #02702,#02706

Format of WPS.386 VxD characteristics structure:
Offset	Size	Description	(Table 02704)
 00h	WORD	VxD ID number
 02h	BYTE	VxD minor version
 03h	BYTE	VxD major version
 04h	BYTE	DDK minor version
 05h	BYTE	DDK major version
 06h	WORD	flags
		bit 0: V86 API supported
		bit 1: PM API supported
		bit 2: services supported
 08h	DWORD	start order
 0Ch  9 BYTEs	ASCIZ VxD name
SeeAlso: #02703

Top
2F1684BX3110 - INT 2F - MS Windows - VSGLX16.386 - GET API ENTRY POINT
INT 2F - MS Windows - VSGLX16.386 - GET API ENTRY POINT
	AX = 1684h
	BX = 3110h (virtual device ID for VSGLX16.386) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02705)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h/BX=045Fh,AX=1684h"DEVICE API",INT 20"Windows"

(Table 02705)
Call VSGLX16.386 entry point with:
	DX = function number
	    0000h get azt16 version
		Return: CF clear
			AX = version returned by "azt16" device
	    0001h get ???
		AX = ??? (always fails if nonzero)
		ES:BX -> buffer for ???
			first DWORD of buffer must be set to length of buffer
			  (in bytes, 1 <= size <= 92) before calling
		Return: CF clear if successful
			    AX = 0001h
			CF set on error (invalid pointer, bad buffer size)
			    AX = 0000h
	    0002h
		AX = ???
		BX = ???
		Return: CF clear if successful
			    AX = ???
			CF set on error
			    AX = error code
	    0003h
		AX = ???
		BX = ???
		Return: CF clear if successful
			CF set on error
	    0004h set ???
		ES:DI -> buffer containing ???
		BX = ???
		CX = number of bytes to copy
		Return: CF clear if successful
			    AX = 0001h
			CF set on error
			    AX = 0000h
	    0005h get ???
		ES:DI -> buffer for ???
		BX = ???
		CX = number of bytes to copy
		Return: CF clear if successful
			    AX = 0001h
			CF set on error
			    AX = 0000h
	    else
		Return: CF set
SeeAlso: #02686

Top
2F1684BX31CF - INT 2F - MS Windows - STAT.386 - GET API ENTRY POINT
INT 2F - MS Windows - STAT.386 - GET API ENTRY POINT
	AX = 1684h
	BX = 31CFh (virtual device ID for STAT.386) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02706)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02706)
Call STAT.386 entry point with:
	AX = function
	    0000h get version
		Return: AX = STAT.386 version (AH = major, AL = minor)
	    0001h execute RDMSR/WRMSR/RDTSC
		BH = 00h
		BL = second opcode byte (30h=WRMSR,31h=RDTSC,32h=RDMSR)
		EDX:EDI = value to be written (for BL=30h)
		ECX = MSR number for RDMSR/WRMSR
		Return: EDX:EAX = value read (RDTSR/RDMSR only)
SeeAlso: #02703,#02707

Top
2F1684BX34DC - INT 2F - QEMM v8.01 - MAGNARAM VxD - GET API ENTRY POINT
INT 2F - QEMM v8.01 - MAGNARAM VxD - GET API ENTRY POINT
	AX = 1684h
	BX = 34DCh (virtual device ID for MAGNARAM) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02707)
		  0000h:0000h if the VxD does not support an API
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02707)
Call MAGNARAM MAGNA95.VXD protected-mode entry point with:
	AX = function number
	    0000h get version and ???
		Return: AX = version (AH = major, AL = minor)
			CX = ???
			    bit 0: ???
			    bit 1: ???
	    0001h get ???
		Return: CF clear
			DX:AX = ??? SHL 2
	    0002h
		Return: CF clear if successful
			    AX = ???
			    DX = ???
			CF set on error
	    0003h get ???
		Return: CF clear
			DX:AX = ??? SHL 2
	    0004h ???
		Return: CF clear
			DX:AX = ???
	    0005h ???
		Return: CF clear
			DX:AX = ???
	    0006h ???
		Return: CF clear
			DX:AX = ???
	    0007h ???
		Return: CF clear
			DX:AX = ???
	    0008h ???
		Return: CF clear
			DX:AX = ???
	    0009h ???
		Return: CF clear
			DX:AX = ???
	    000Ah ???
		Return: CF clear
			DX:AX = ???
	    000Bh get ???
		Return: CF clear
			DX:AX = ??? SHL 2
	    000Ch get ???
		Return: CF clear
			DX:AX = ??? SHL 2
	    000Dh get ???
		Return: CF clear
			DX:AX = ??? SHL 2
	    000Eh get ???
		Return: CF clear
			AX = ???
			DX = ???
	    000Fh get ???
		Return: CF clear
			DX:AX = ???
	    0010h get ???
		Return: CF clear
			DX:AX = ???
	    0011h get ???
		Return: CF clear
			DX:AX = ???
	    0012h get ???
		Return: CF clear
			DX:AX = ???
	    0013h get ???
		Return: CF clear
			DX:AX = ???
	    0014h get ???
		Return: CF clear
			DX:AX = ???
	    0015h get ???
		Return: CF clear
			DX:AX = ???
	    else
		Return: CF set
SeeAlso: #02706,#02708

Top
2F1684BX357E - INT 2F - MS Windows - DSOUND - GET API ENTRY POINT
INT 2F - MS Windows - DSOUND - GET API ENTRY POINT
	AX = 1684h
	BX = 357Eh (virtual device ID for DSOUND device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

Top
2F1684BX377B - INT 2F - MS Windows - MX1501HAD - GET API ENTRY POINT
INT 2F - MS Windows - MX1501HAD - GET API ENTRY POINT
	AX = 1684h
	BX = 377Bh (virtual device ID for MX1501HAD device)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02708)
		  0000h:0000h if the VxD does not support an API
Note:	The drivers VCMD95C.VXD and VCMD.386 are part of the driver disks
	  provided with the chip-card-reader/keyboard combination MX 1501 HAD,
	  produced by Cherry
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02708)
Call CHERRY VCMD95C.VXD entry point with:
	AX = function
	    0001h get version
		Return: AX = version number (0100h) (AH = major, AL = minor)
	    0002h hook INT 09 (and 8???)
	    0003h unhook INT 09 (and 8???)
	    0004h get number of bytes in FIFO
		Return: AX = bytes in FIFO
	    0005h get next FIFO-data
		Return: AX = data
			BL = port number
			BH = direction (1=in, 0=out)
			DX:CX = timestamp
	    0006h clear FIFO
	    0007h output byte
		DX = port number
		BL = keyboard command
		Return: data in FIFO (see #02710)
		       (value, port, in/out, timestamp)
	    0008h input byte
		DX = port number
		Return: data in FIFO (see #02710)
			(value, port, in/out, timestamp)
	    0009h input byte immediately
		DX = port number
		Return: AX = data
	    000Ah read next FIFO data (nondestructive)
		Return: AX = data
			BL = port number
			BH = direction (1=in, 0=out)
			DX:CX = timestamp
	    000Bh get timestamp
		Return: DX:CX = timestamp (in ms)
	    000Ch enable IRQ 1
	    000Dh disable IRQ 1
	    000Eh enable data retrieval
		Note:	Sets a flag in the internal mode-byte which
			  tells the driver to recognize the data
	    000Fh disable data retrieval
		Note:	resets a flag in the internal mode-byte
	    0010h get retrieval mode
		Return: AX = current retrieval mode
	    0011h set retrieval mode
		BX = new retrieval mode (see #02709)
		Return: AX = old retrieval mode
	    0012h get command value
		Return: AX = command value
	    0013h set command value
		BX = command value
SeeAlso: #02706,#02711

Bitfields for retrieval mode:
Bit(s)	Description	(Table 02709)
 0	enable data retrieval
 1	0 = interrupt-driven
	1 = polling mode
 2	0 = read port 60h everytime
	1 = read port 60h only when OBF of port 64h is set
 3	0 = don't call old INT 9
	1 = call INT 9 before our INT-handler
 4-7	reserved
SeeAlso: #02708,#02710

Format of FIFO entry (1024 entries in FIFO):
Offset	Size	Description	(Table 02710)
 00h	BYTE	data byte
 01h	BYTE	I/O port
 02h	BYTE	direction (1=in, 0=out)
 03h	BYTE	reserved
 04h	DWORD	timestamp
SeeAlso: #02708,#02709

Top
2F1684BX38DA - INT 2F - MS Windows - VIWD - GET API ENTRY POINT
INT 2F - MS Windows - VIWD - GET API ENTRY POINT
	AX = 1684h
	BX = 38DAh (virtual device ID for VIWD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02711)
		  0000h:0000h if the VxD does not support API in current mode
SeeAlso: AX=1684h"DEVICE API",INT 20"Windows"

(Table 02711)
Call VIWD.VXD entry point with:
	DX = function number
	    0000h ???
		Return: CF clear
			AX = ???
	    0004h ???
		Return: CF clear
			DX = 0000h
	    0006h
		Return: CF clear
	    000Ah
		AX = ???
		Return: CF clear if successful
			CF set on error
	    000Ch
	    000Dh
	    000Eh
		Return: CF clear
	    000Fh
		Return: CF clear
	    0010h
	    0011h
	    0015h
		Return: CF clear if successful
			    AX = ???
			CF set on error
			    AX = ???
			DX = 0000h
	    0016h
	    0017h
		Return: CF clear if successful
			    AX = ???
			CF set on error
			    AX = ???
			DX = 0000h
	    0018h ???
		CX = ???
		Return: CF clear if successful
			    AX = 0000h
			CF set on error
	    else
		Return: CF set
SeeAlso: #02708,#02712

Top
2F1684BX4321 - INT 2F - MS Windows - POSTMSG - GET API ENTRY POINT
INT 2F - MS Windows - POSTMSG - GET API ENTRY POINT
	AX = 1684h
	BX = 4321h (virtual device ID for POSTMSG device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02712,#02714)
		  0000h:0000h if the VxD does not support an API

(Table 02712)
Call POSTMSG protected-mode entry point with:
	AX = window handle
	CX:BX -> callback procedure (see #02713)
Return: nothing
Note:	this call registers a WinApp with the VxD; the callback must be in a
	  fixed, non-discardable code segment
SeeAlso: #02714,#02715

(Table 02713)
Values POSTMSG callback routine is called with:
	STACK:	DWORD	"lParam" parameter from DOSApp
		WORD	"wParam" parameter from DOSApp
		WORD	Windows message number (WM_USER + 100h)
		WORD	registered HWND

(Table 02714)
Call POSTMSG V86-mode entry point with:
	BX = wParam value to pass to protected-mode callback
	DX:AX = lParam value to pass to protected-mode callback
Return: CF clear if successful
	CF set on error (no WinApp registered)
SeeAlso: #02712

Top
2F1684BX7FE0 - INT 2F - MS Windows - VSWITCHD - GET API ENTRY POINT
INT 2F - MS Windows - VSWITCHD - GET API ENTRY POINT
	AX = 1684h
	BX = 7FE0h (virtual device ID for VSWITCHD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02715)
		  0000h:0000h if the VxD does not support an API

(Table 02715)
Call VSWITCHD entry point with:
	AX = function
	    0000h toggle windowed mode (simulate Alt-Enter keypress)
		Return: nothing
	    0001h get windowed mode
		Return: CF clear if VM is windowed
			CF set if VM is full-screen
SeeAlso: #02712,#02716

Top
2F1684BX8888 - INT 2F - MS Windows - VbillD - GET API ENTRY POINT
INT 2F - MS Windows - VbillD - GET API ENTRY POINT
	AX = 1684h
	BX = 8888h (virtual device ID for VbillD device) (see #02642)
	ES:DI = 0000h:0000h
Return: ES:DI -> VxD API entry point (see #02716)
		  0000h:0000h if the VxD does not support an API

(Table 02716)
Call VbillD entry point with:
	AX = function
	    0001h set reverse video
	    0002h set normal video
Return: ???
SeeAlso: #02715

Top
2F1685 - INT 2F - MS Windows - SWITCH VMs AND CALLBACK
INT 2F - MS Windows - SWITCH VMs AND CALLBACK
	AX = 1685h
	BX = VM ID of virtual machine to switch to
	CX = flags (see #02717)
	DX:SI = priority boost (refer to VMM.INC)
	ES:DI -> FAR procedure to callback
Return: CF set on error
	    AX = error code
		01h invalid VM ID
		02h invalid priority boost
		03h invalid flags
	CF clear if successful
	    event will be or has been called
Notes:	some DOS devices, such as networks, need to call functions in a
	  specific VM. This call forces the appropriate VM to be installed.
	the callback procedure must preserve all registers and return with IRET
SeeAlso: AX=1683h,INT 15/AX=1117h,AX=DB06h"WINGO"

Bitfields for VM switching flags:
Bit(s)	Description	(Table 02717)
 0	wait until interrupts enabled
 1	wait until critical section unowned
 2-15	reserved (zero)

Top
2F1686 - INT 2F - DOS Protected-Mode Interface - DETECT MODE
INT 2F - DOS Protected-Mode Interface - DETECT MODE
	AX = 1686h
Return: AX = 0000h if operating in protected mode under DPMI (INT 31 available)
	AX nonzero if in real/V86 mode or no DPMI (INT 31 not available)
SeeAlso: AX=1687h

Top
2F1687 - INT 2F - DOS Protected-Mode Interface - INSTALLATION CHECK
INT 2F - DOS Protected-Mode Interface - INSTALLATION CHECK
	AX = 1687h
Return: AX = 0000h if installed
	    BX = flags
		bit 0: 32-bit programs supported
	    CL = processor type (02h=80286, 03h=80386, 04h=80486)
	    DH = DPMI major version
	    DL = two-digit DPMI minor version (binary)
	    SI = number of paragraphs of DOS extender private data
	    ES:DI -> DPMI mode-switch entry point (see #02718)
	AX nonzero if not installed
SeeAlso: AX=1686h,AX=43E0h,AX=DE01h/BX=4450h,AX=FB42h/BX=0001h
SeeAlso: INT 31/AX=0400h,INT 31/AX=5702h,INT D4/AH=10h

(Table 02718)
Call DPMI mode switch entry point with:
	AX = flags
	    bit 0: set if 32-bit program
	ES = real mode segment of buffer for DPMI private data (ignored if
		SI was zero)
Return: CF set on error
	    program still in real mode
	    AX = error code (DPMI 1.0+)
	       8011h unable to allocate all necessary descriptors
	       8021h 32-bit program specified, but 16-bit DPMI host
	CF clear if successful
	    CS = 16-bit selector corresponding to real-mode CS
	    SS = selector corresponding to real-mode SS (64K limit)
	    DS = selector corresponding to real-mode DS (64K limit)
	    ES = selector to program's PSP (100h byte limit)
	    FS = GS = 0
	    high word of ESP = 0 if 32-bit program
	    program now in protected mode
Note:	this entry point is only called for the initial switch to protected
	  mode

Top
2F1688BX0BAD - INT 2F U - MS Windows 3.0, 386MAX v6.01 - GET ALIAS SELECTOR TO LDT
INT 2F U - MS Windows 3.0, 386MAX v6.01 - GET ALIAS SELECTOR TO LDT
	AX = 1688h
	BX = 0BADh
Return: AX = 0000h if supported
	    BX = alias selector for LDT
Note:	use the LSL instruction or GetSelectorLimit() to find LDT size
	this call should be considered obsolete for Windows 3.1+, as the
	  alias selector can be retrieved via the API entry point for
	  "MS-DOS" retrieved from INT 2F/AX=168Ah (see #02720)
SeeAlso: AX=1687h,#02720

Top
2F1689 - INT 2F U - MS Windows 3.0+ - KERNEL IDLE CALL
INT 2F U - MS Windows 3.0+ - KERNEL IDLE CALL
	AX = 1689h
	BX = status flags (see #04105)
Return: ???
Desc:	the Windows KERNEL idle loop calls this function, which VMM uses as an
	  indication that the system is idle, which in turn generates INT 28
	  and INT 2F/AX=1607h/BX=0018h callouts
SeeAlso: AX=1680h,AX=1607h/BX=0018h,INT 15/AX=1000h,INT 28

Bitfields for Kernel Idle status flags:
Bit(s)	Description	(Table 04106)
 15-1	reserved
 0	"Win_Idle_Mouse_Busy"

Top
2F168A - INT 2F - DPMI 0.9+ - GET VENDOR-SPECIFIC API ENTRY POINT
INT 2F - DPMI 0.9+ - GET VENDOR-SPECIFIC API ENTRY POINT
	AX = 168Ah
	DS:(E)SI = selector:offset of ASCIZ vendor name (see #02719)
Return: AL = status
	    00h successful
	       ES:(E)DI -> extended API entry point
	    8Ah unsuccessful
Notes:	the vendor name is used to determine which entry point to return; it is
	  case-sensitive
	available in protected mode only
	32-bit applications use ESI and EDI, 16-bit applications use SI and DI
	this call is present but not documented for DPMI 0.9
	the Borland C++ 3.1 DPMILOAD does not handle requests for entry points
	  other than the MS-DOS one gracefully, producing an unhandled
	  exception report; this has been fixed in the Borland Pascal 7 version
SeeAlso: AX=1687h,INT 31/AX=0A00h,INT 31/AH=57h

(Table 02719)
Values for DPMI vendor-specific API names:
 "MS-DOS"	MS Windows and 386MAX v6.00+ (see #02720)
 "386MAX"	386MAX v6.00+
 "HELIX_DPMI"	Helix Netroom's DPMI server
 "Phar Lap"	Phar Lap 286|DOS-Extender RUN286 (see #02721)
 "RATIONAL DOS/4G"  DOS/4G, DOS/4GW
 "VIRTUAL SUPPORT"  Borland 32RTM

(Table 02720)
Call Windows-support ("MS-DOS") entry point with:
	AX = 0100h get LDT alias selector
Return: CF clear if successful
	    AX = alias selector
	CF set on error
SeeAlso: #02719,AX=1688h/BX=0BADh

(Table 02721)
Call Phar Lap RUN286 entry point with:
	AX = 0000h (function "load MSW")
	BX = new value for MSW register (low word of CR0)
Return: ???
SeeAlso: #02719

Top
2F168B - INT 2F - MS Windows 3.1 - SET FOCUS TO SPECIFIED VIRTUAL MACHINE
INT 2F - MS Windows 3.1 - SET FOCUS TO SPECIFIED VIRTUAL MACHINE
	AX = 168Bh
	BX = virtual machine ID (see AX=1683h), 0000h for current DOS box
Return: AL = 00h if focus set to specified VM
Notes:	documented on the Microsoft Developer's Network CD-ROM
	if the VM is a windowed DOS box, it will be set to full screen
SeeAlso: AX=1683h

Top
2F168C - INT 2F - MS Windows 3.1 - RESTART COMMAND
INT 2F - MS Windows 3.1 - RESTART COMMAND
	AX = 168Ch
	???
Return: ???
Note:	WIN.COM executes specified application

Top
2F168EDX0000 - INT 2F - Windows95 - TITLE - SET APPLICATION TITLE
INT 2F - Windows95 - TITLE - SET APPLICATION TITLE
	AX = 168Eh
	DX = 0000h
	ES:DI -> ASCIZ application title (max 79 chars+NUL)
Return: AX = status
	    0000h failed
	    0001h successful
Note:	if ES:DI is 0000h:0000h or points at an empty string, the current
	  title is removed
BUG:	this function can return a successful status even though the title was
	  not changed; reportedly, waiting for two clock ticks after program
	  startup solves this problem
SeeAlso: AX=168Eh/DX=0001h,AX=168Eh/DX=0002h

Top
2F168EDX0001 - INT 2F - Windows95 - TITLE - SET VIRTUAL MACHINE TITLE
INT 2F - Windows95 - TITLE - SET VIRTUAL MACHINE TITLE
	AX = 168Eh
	DX = 0001h
	ES:DI -> ASCIZ virtual machine title (max 29 chars+NUL)
Return: AX = status
	    0000h failed
	    0001h successful
Notes:	if ES:DI is 0000h:0000h or points at an empty string, the current
	  title is removed
	the VM title should only be changed on explicit instruction from the
	  user
BUG:	this function can return a successful status even though the title was
	  not changed; reportedly, waiting for two clock ticks after program
	  startup solves this problem
SeeAlso: AX=168Eh/DX=0000h,AX=168Eh/DX=0003h

Top
2F168EDX0002 - INT 2F - Windows95 - TITLE - GET APPLICATION TITLE
INT 2F - Windows95 - TITLE - GET APPLICATION TITLE
	AX = 168Eh
	DX = 0002h
	ES:DI -> buffer for ASCIZ application title
	CX = size of buffer in bytes
Return: AX = status
	    0000h failed
	    0001h successful
Desc:	copy as much of the application's window title as possible to the given
	  buffer, appending a terminating NUL to the buffer
SeeAlso: AX=168Eh/DX=0000h,AX=168Eh/DX=0003h

Top
2F168EDX0003 - INT 2F - Windows95 - TITLE - GET VIRTUAL MACHINE TITLE
INT 2F - Windows95 - TITLE - GET VIRTUAL MACHINE TITLE
	AX = 168Eh
	DX = 0003h
	ES:DI -> buffer for ASCIZ virtual-machine title
	CX = size of buffer in bytes
Return: AX = status
	    0000h failed
	    0001h successful
Desc:	copy as much of the virtual machine's title as possible to the given
	  buffer, appending a terminating NUL to the buffer
SeeAlso: AX=168Eh/DX=0001h,AX=168Eh/DX=0002h

Top
2F168FDH00 - INT 2F - Windows95 - CLOSE-AWARENESS - ENABLE/DISABLE CLOSE COMMAND
INT 2F - Windows95 - CLOSE-AWARENESS - ENABLE/DISABLE CLOSE COMMAND
	AX = 168Fh
	DH = 00h
	DL = new state
	    00h disabled
	    01h enabled
Return: AX = status
	    0000h successful
	    else failed
Desc:	enable or disable the system menu Close command for an application
SeeAlso: AX=168Fh/DH=01h,AX=168Fh/DH=02h

Top
2F168FDH01 - INT 2F - Windows95 - CLOSE-AWARENESS - QUERY CLOSE
INT 2F - Windows95 - CLOSE-AWARENESS - QUERY CLOSE
	AX = 168Fh
	DH = 01h
	DL = 00h (reserved)
Return: AX = status
	    0000h Close command selected but not yet acknowledged
	    0001h Close command issued and acknowledged
	    168Fh Close command not selected -- application should continue
Desc:	determine whether the user has requested that the application be closed
	  by selecting the system menu's Close option
SeeAlso: AX=168Fh/DH=00h,AX=168Fh/DH=02h

Top
2F168FDH02 - INT 2F - Windows95 - CLOSE-AWARENESS - ACKNOWLEDGE CLOSE
INT 2F - Windows95 - CLOSE-AWARENESS - ACKNOWLEDGE CLOSE
	AX = 168Fh
	DH = 02h
	DL = 00h (reserved)
Return: AX = status
	    0000h successful
	    else failed
Note:	once a Close command has been issued, no further keyboard input is
	  available to the application until it calls this function to
	  acknowledge the Close request
SeeAlso: AX=168Fh/DH=00h,AX=168Fh/DH=03h

Top
2F168FDH03 - INT 2F - Windows95 - CLOSE-AWARENESS - CANCEL CLOSE
INT 2F - Windows95 - CLOSE-AWARENESS - CANCEL CLOSE
	AX = 168Fh
	DH = 03h
	DL = 00h (reserved)
Return: AX = status
	    0000h successful
	    else failed
Desc:	cancels a close request which has already been acknowledged if the
	  application determines that it will not exit at this time
SeeAlso: AX=168Fh/DH=00h,AX=168Fh/DH=03h

Top
2F1690 - INT 2F U - MS-DOS 7 kernel - GET/SET ???
INT 2F U - MS-DOS 7 kernel - GET/SET ???
	AX = 1690h
	ES:BX -> ???
Return: ES:BX -> ??? data (see #02722)
SeeAlso: AX=1611h,AX=1614h

Format of MS-DOS 7 kernel ??? data:
Offset	Size	Description	(Table 02722)
 00h	DWORD	-> ??? data (appears to list the installed drivers)
 04h	DWORD	-> ??? (value passed in via ES:BX is stored here)

Top
2F1700 - INT 2F - MS Windows "WINOLDAP" - IDENTIFY WinOldAp VERSION
INT 2F - MS Windows "WINOLDAP" - IDENTIFY WinOldAp VERSION
	AX = 1700h
Return: AX = 1700h if this version of WINOLDAP doesn't support clipboard
	AX <> 1700h
	    AL = WINOLDAP major version
	    AH = WINOLDAP minor version
Program: WinOldAp (WINOLDAP.MOD) is a Microsoft Windows extension supporting
	  "old" (character-mode) application access to Dynamic Data Exchange,
	  menus, and the Windows clipboard.
Note:	this installation check DOES NOT follow the format used by other
	  software of returning AL=FFh
SeeAlso: AX=1701h,AX=4601h
Index:	installation check;WINOLDAP

Top
2F1701 - INT 2F - MS Windows "WINOLDAP" - OPEN CLIPBOARD
INT 2F - MS Windows "WINOLDAP" - OPEN CLIPBOARD
	AX = 1701h
Return: AX = status
	    nonzero success
	    0000h   clipboard is already open
SeeAlso: AX=1700h,AX=1702h,AX=1703h,AX=1704h,INT 16/AX=CB00h

Top
2F1702 - INT 2F - MS Windows "WINOLDAP" - EMPTY CLIPBOARD
INT 2F - MS Windows "WINOLDAP" - EMPTY CLIPBOARD
	AX = 1702h
Return: AX = status
	    nonzero clipboard has been emptied
	    0000h   failure
SeeAlso: AX=1700h,AX=1701h,AX=1703h,AX=1704h,INT 16/AX=CB05h

Top
2F1703 - INT 2F - MS Windows "WINOLDAP" - SET CLIPBOARD DATA
INT 2F - MS Windows "WINOLDAP" - SET CLIPBOARD DATA
	AX = 1703h
	DX = clipboard format supported by WinOldAp (see #02723)
	ES:BX -> data (see #02724,#02725)
	SI:CX = size of data
Return: AX = status
	    nonzero data copied into the Clipboard
	    0000h   failure
SeeAlso: AX=1701h,AX=1705h,INT 16/AX=CB04h

(Table 02723)
Values for WinOldAp clipboard format:
 01h	text
 02h	bitmap
 03h	metafile picture
 04h	SYLK
 05h	DIF
 06h	TIFF
 07h	OEM text
 08h	DIB bitmap
 80h	special format (used by Windows WRITE, maybe other Windows applets???)
 81h	DSP text
 82h	DSP bitmap

Format of Windows Clipboard bitmap:
Offset	Size	Description	(Table 02724)
 00h	WORD	type (0000h)
 02h	WORD	width of bitmap in pixels
 04h	WORD	height of bitmap in pixels
 06h	WORD	bytes per line
 08h	BYTE	number of color planes
 09h	BYTE	number of adjacent color bits in pixel
 0Ah	DWORD	pointer to start of data
 0Eh	WORD	width in 0.1mm units
 10h	WORD	height in 0.1mm units
 12h  N BYTEs	bitmap data

Format of Windows metafile picture:
Offset	Size	Description	(Table 02725)
 00h	WORD	mapping mode
 02h	WORD	X extent
 04h	WORD	Y extent
 06h	WORD	picture data

Top
2F1704 - INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA SIZE
INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA SIZE
	AX = 1704h
	DX = clipboard format supported by WinOldAp (see #02723)
Return: DX:AX = size of data in bytes, including any headers
		0000h:0000h if no data in this format in the Clipboard
Note:	Windows reportedly rounds up the size of the data to a multiple of 32
	  bytes
SeeAlso: AX=1700h,AX=1703h,AX=1705h

Top
2F1705 - INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA
INT 2F - MS Windows "WINOLDAP" - GET CLIPBOARD DATA
	AX = 1705h
	DX = clipboard format supported by WinOldAp (see #02723)
	ES:BX -> buffer
Return: AX = status
	    nonzero success
	    0000h   error, or no data in this format in Clipboard
SeeAlso: AX=1700h,AX=1704h,INT 16/AX=CB03h

Top
2F1708 - INT 2F - MS Windows "WINOLDAP" - CloseClipboard
INT 2F - MS Windows "WINOLDAP" - CloseClipboard
	AX = 1708h
Return: AX = status
	    0000h failure
	    nonzero success

Top
2F1709 - INT 2F - MS Windows "WINOLDAP" - COMPACT CLIPBOARD
INT 2F - MS Windows "WINOLDAP" - COMPACT CLIPBOARD
	AX = 1709h
	SI:CX = desired size in bytes
Return: DX:AX = number of bytes in largest block of free memory
Note:	WinOldAp is responsible for including the size of any headers

Top
2F170A - INT 2F - MS Windows "WINOLDAP" - GET DEVICE CAPABILITIES
INT 2F - MS Windows "WINOLDAP" - GET DEVICE CAPABILITIES
	AX = 170Ah
	DX = GDI information index (see #02726)
Return: AX = integer value of the desired item
	      (see #02727,#02728,#02729,#02730,#02731,#02732,#02733)
Note:	This function returns the device-capability bits for the given display

(Table 02726)
Values for GDI information index:
 00h	device driver version
 02h	device classification
 04h	width in mm
 06h	height in mm
 08h	width in pixels
 0Ah	height in pixels
 0Ch	bits per pixel
 0Eh	number of bit planes
 10h	number of brushes supported by device
 12h	number of pens supported by device
 14h	number of markers supported by device
 16h	number of fonts supported by device
 18h	number of colors
 1Ah	size required for device descriptor
 1Ch	curve capabilities
 1Eh	line capabilities
 20h	polygon capabilities
 22h	text capabilities
 24h	clipping capabilities
 26h	bitblt capabilities
 28h	X aspect
 2Ah	Y aspect
 2Ch	length of hypotenuse of aspect
 58h	logical pixels per inch of width
 5Ah	logical pixels per inch of height
SeeAlso: #02727,#02728,#02729,#02730,#02731,#02732,#02733

(Table 02727)
Values for device classification:
 00h	vector plotter
 01h	raster display
 02h	raster printer
 03h	raster camera
 04h	character-stream, PLP
 05h	Metafile, VDM
 06h	display-file
SeeAlso: #02726,#02728,#02729,#02730,#02731,#02732,#02733

Bitfields for curve capabilities:
Bit(s)	Description	(Table 02728)
 0	circles
 1	pie wedges
 2	chord arcs
 3	ellipses
 4	wide lines
 5	styled lines
 6	wide styled lines
 7	interiors
SeeAlso: #02726,#02727,#02729,#02730,#02731,#02732,#02733

Bitfields for line capabilities:
Bit(s)	Description	(Table 02729)
 1	polylines
 2	markers
 3	polymarkers
 4	wide lines
 5	styled lines
 6	wide styled lines
 7	interiors
SeeAlso: #02726,#02727,#02728,#02730,#02731,#02732,#02733

Bitfields for polygon capabilities:
Bit(s)	Description	(Table 02730)
 0	polygons
 1	rectangles
 2	trapezoids
 3	scanlines
 4	wide borders
 5	styled borders
 6	wide styled borders
 7	interiors
SeeAlso: #02726,#02727,#02728,#02729,#02731,#02732,#02733

Bitfields for text capabilities:
Bit(s)	Description	(Table 02731)
 0	output precision character
 1	output precision stroke
 2	clippping precision stroke
 3	90-degree character rotation
 4	arbitrary character rotation
 5	independent X and Y scaling
 6	double-size
 7	integer scaling
 8	continuous scaling
 9	bold
 10	italic
 11	underline
 12	strikeout
 13	raster fonts
 14	vector fonts
 15	reserved
SeeAlso: #02726,#02727,#02728,#02729,#02730,#02732,#02733

(Table 02732)
Values for clipping capabilities:
 00h	none
 01h	clipping to rectangles
SeeAlso: #02726,#02727,#02728,#02729,#02730,#02731,#02733

Bitfields for raster capabilities:
Bit(s)	Description	(Table 02733)
 0	simple bitBLT
 1	device requires banding support
 2	device requires scaling support
 3	supports >64K bitmap
SeeAlso: #02726,#02727,#02728,#02729,#02730,#02731,#02732

Top
2F18 - INT 2F U - MS-Manager
INT 2F U - MS-Manager
	AH = 18h
	???
Return: ???

Top
2F1900 - INT 2F U - DOS 4.x only SHELLB.COM - INSTALLATION CHECK
INT 2F U - DOS 4.x only SHELLB.COM - INSTALLATION CHECK
	AX = 1900h
Return: AL = status
	    00h not installed
	    FFh installed

Top
2F1901 - INT 2F U - DOS 4.x only SHELLB.COM - SHELLC.EXE INTERFACE
INT 2F U - DOS 4.x only SHELLB.COM - SHELLC.EXE INTERFACE
	AX = 1901h
	BL = SHELLC type
	    00h transient
	    01h resident
	DS:DX -> far call entry point for resident SHELLC.EXE
Return: ES:DI -> SHELLC.EXE workspace within SHELLB.COM
Note:	SHELLB.COM and SHELLC.EXE are parts of the DOS 4.x shell

Top
2F1902 - INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM INTERFACE
INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM INTERFACE
	AX = 1902h
	ES:DI -> ASCIZ full filename of current batch file, with at least the
		  final filename element uppercased
	DS:DX -> buffer for results
Return: AL = 00h  failed, either
		(a) final filename element quoted at ES:DI does not match
		      identity of shell batch file quoted as parameter of most
		      recent call of SHELLB command, or
		(b) no more Program Start Commands available.
	AL= FFh	 success, then:
		memory at DS:[DX+1] onwards filled as:
		DX+1:	BYTE	count of bytes of PSC
		DX+2: N BYTEs	Program Start Command text
			BYTE	0Dh terminator
Desc:	COMMAND.COM executes the result of this call in preference to
	  reading a command from a batch file.	Thus the batch file does not
	  advance in execution for so long as SHELLB provides PSCs from its
	  workspace.
Note:	The PSCs are planted in SHELLB workspace by SHELLC, the user
	  menu interface.  The final PSC of a sequence is finished with a
	  GOTO COMMON, which causes a loop back in the batch file which called
	  SHELLC so as to execute SHELLC again.	 The check on batch file name
	  permits PSCs to CALL nested batch files while PSCs are still stacked
	  up for subsequent execution.

Top
2F1903 - INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM interface
INT 2F U - DOS 4.x only SHELLB.COM - COMMAND.COM interface
	AX = 1903h
	ES:DI -> ASCIZ batch file name as for AX=1902h
Return: AL = status
	    FFh quoted batch file name matches last SHELLB parameter
	    00h it does not

Top
2F1904 - INT 2F U - DOS 4.x only SHELLB.COM - SHELLB transient to TSR interface
INT 2F U - DOS 4.x only SHELLB.COM - SHELLB transient to TSR interface
	AX = 1904h
Return: ES:DI -> name of current shell batch file:
		WORD	number of bytes of name following
		BYTEs	(8 max) uppercase name of shell batch file

Top
2F1980 - INT 2F U - IBM ROM-DOS v4.0 - INSTALLATION CHECK
INT 2F U - IBM ROM-DOS v4.0 - INSTALLATION CHECK
	AX = 1980h
Return: AL = FFh if ??? installed/supported
Note:	called at the very beginning of SHELLSTB.COM, which exits if AL is not
	  FFh on return
SeeAlso: AX=1981h,AX=1982h

Top
2F1981 - INT 2F U - IBM ROM-DOS v4.0 - GET ??? STRING
INT 2F U - IBM ROM-DOS v4.0 - GET ??? STRING
	AX = 1981h
	DS:DX -> buffer for ???
Return: AL = status
	    FFh if successful
		DS:DX buffer filled (refer to note below)
	    81h on error
Note:	the first byte of the buffer is unchanged; depending on a byte in
	  IBMBIO.COM, the remainder of the buffer is filled with either
	  "C:\ROMSHELL.COM",0Dh or xxh,xxh,0Fh,"C:\ROMSHELL.COM",0Dh
SeeAlso: AX=1980h,AX=1982h

Top
2F1982 - INT 2F U - IBM ROM-DOS v4.0 - GET ??? TABLE
INT 2F U - IBM ROM-DOS v4.0 - GET ??? TABLE
	AX = 1982h
Return: AL = FFh if supported
	    ES:DI -> ??? table (see #02734)
Note:	called by ROMSHELL.COM
SeeAlso: AX=1980h,AX=1981h

Format of ROM-DOS v4.0 ??? table:
Offset	Size	Description	(Table 02734)
 00h	BYTE	??? (00h)
 01h	BYTE	??? (41h) (ROMSHELL.COM checks if =00h)
 02h	BYTE	??? (00h) (ROMSHELL.COM checks if =01h)
 03h	WORD	??? (0001h) (ROMSHELL.COM checks if =0001h)
 05h	BYTE	??? (00h)
 06h	WORD	??? (04D5h)

Top
2F1A00 - INT 2F - DOS 4.0+ ANSI.SYS - INSTALLATION CHECK
INT 2F - DOS 4.0+ ANSI.SYS - INSTALLATION CHECK
	AX = 1A00h
Return: AL = FFh if installed
Notes:	AVATAR.SYS also responds to this call
	documented for DOS 5+, but undocumented for DOS 4.x

Top
2F1A00BX414E - INT 2F - ANSIPLUS.SYS v2.00+ - INSTALLATION CHECK
INT 2F - ANSIPLUS.SYS v2.00+ - INSTALLATION CHECK
	AX = 1A00h
	BX = 414Eh ('AN')
	CX = 5349h ('SI')
	DX = 2B2Bh ('++')
Return: AL = FFh if installed
	    CF clear
	    ES:BX -> INT 29 entry point
	    CX = ANSIPLUS BCD version number (v3.10+, CH=major, CL=minor)
	    DL = capabilities (v4.00+)
		00h full capability driver
		01h reduced capability driver
		2Bh full capability driver (before v4.00)
Program: ANSIPLUS.SYS is a CON device driver by Kristofer Sweger which
	  replaces the normal ANSI.SYS with a more powerful version having
	  many additional features
Notes:	ANSIPLUS also identifies itself as ANSI.SYS if BX,CX, or DX differ
	  from the magic values above
	an additional installation check is to test for the signature
	  "ANSIPLUS" 12 bytes before the INT 29 entry point; the version
	  number is also available as a four-character ASCII string (e.g.
	  "4.00") four bytes before the entry point
SeeAlso: AX=1AA5h,AX=1AA6h,AX=1AA7h,AX=1AA8h,AX=1AA9h,AX=1AAAh,AX=D44Fh

Top
2F1A00BX4156 - INT 2F - AVATAR.SYS - INSTALLATION CHECK
INT 2F - AVATAR.SYS - INSTALLATION CHECK
	AX = 1A00h
	BX = 4156h ('AV')
	CX = 4154h ('AT')
	DX = 4152h ('AR')
Return: AL = FFh if installed
	    CF clear
	    BX = AVATAR protocol level supported
	    CX = driver type
		0000h AVATAR.SYS
		4456h DVAVATAR.COM inside DESQview window
	    DX = 0016h
Program: AVATAR.SYS is a CON replacement by George Adam Stanislav which
	  interprets AVATAR command codes in the same way that ANSI interprets
	  ANSI command codes
Notes:	AVATAR also identifies itself as ANSI.SYS if BX, CX, or DX differ from
	  the magic values
SeeAlso: AX=1A21h,AX=1A3Ch,AX=1A3Fh,AX=1A52h,AX=1A72h,AX=1A7Dh,AX=1AADh"AVATAR"

Top
2F1A01 - INT 2F U - DOS 4.0+ ANSI.SYS internal - GET/SET DISPLAY INFORMATION
INT 2F U - DOS 4.0+ ANSI.SYS internal - GET/SET DISPLAY INFORMATION
	AX = 1A01h
	CL = function
	    7Fh for GET
	    5Fh for SET
	DS:DX -> parm block as for INT 21,AX=440Ch,CX=037Fh/035Fh respectively
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (many non-standard)
Note:	presumably this is the DOS IOCTL interface to ANSI.SYS
SeeAlso: AX=1A02h,INT 21/AX=440Ch

Top
2F1A02 - INT 2F U - DOS 4.0+ ANSI.SYS internal - MISCELLANEOUS REQUESTS
INT 2F U - DOS 4.0+ ANSI.SYS internal - MISCELLANEOUS REQUESTS
	AX = 1A02h
	DS:DX -> parameter block (see #02735)
Return: CF clear if successful
	CF set on error
	    AX = error code
Note:	DOS 5+ chains to previous handler if AL > 02h on call
SeeAlso: AX=1A01h

Format of ANSI.SYS parameter block:
Offset	Size	Description	(Table 02735)
 00h	BYTE	subfunction
		00h set/reset interlock
		01h get /L flag
 01h	BYTE	interlock state
		00h=reset, 01h=set
		  This interlock prevents some of the ANSI.SYS post-processing
		  in its hook onto INT 10, AH=00h mode set
 02h	BYTE	(returned)
		00h if /L not in effect
		01h if /L in effect

Top
2F1A21 - INT 2F - AVATAR.SYS - SET DRIVER STATE
INT 2F - AVATAR.SYS - SET DRIVER STATE
	AX = 1A21h (AL='!')
	DS:SI -> command string with one or more state characters (see #02736)
	CX = length of command string
Return: CF set on error (invalid subfunction)
	CF clear if successful
Note:	the characters in the state string are interpreted left to right, and
	  need not be in any particular order
SeeAlso: AX=1A00h/BX=4156h,AX=1A3Fh

(Table 02736)
Values for AVATAR.SYS state characters:
 'a'	activate driver
 'd'	disable driver
 'f'	use fast screen output
 'g'	always convert gray keys (+ and -) to function keys
 'G'	never convert gray keys
 'l'	convert gray keys only when ScrollLock active
 's'	use slow screen output
 't'	Tandy 1000 keyboard (not yet implemented)

Top
2F1A3C - INT 2F U - AVATAR.SYS v0.11 - ???
INT 2F U - AVATAR.SYS v0.11 - ???
	AX = 1A3Ch
	???
Return: CX = 0000h
SeeAlso: AX=1A00h/BX=4156h,AX=1A21h,AX=1A3Eh

Top
2F1A3E - INT 2F U - AVATAR.SYS v0.11 - ???
INT 2F U - AVATAR.SYS v0.11 - ???
	AX = 1A3Eh
	CL = ???
	CH = ???
	DL = ???
	DH = ???
Return: CL = ???
	CH = ???
	DL = ???
	DH = ???
SeeAlso: AX=1A3Ch,AX=1A3Fh

Top
2F1A3F - INT 2F - AVATAR.SYS - QUERY DRIVER STATE
INT 2F - AVATAR.SYS - QUERY DRIVER STATE
	AX = 1A3Fh (AL='?')
	ES:DI -> buffer
	CX = length of buffer in bytes
Return: CF clear
	CX = actual size of returned info
Note:	the returned information consists of multiple letters whose meanings
	  are described under AX=1A21h
SeeAlso: AX=1A00h/BX=4156h,AX=1A21h,AX=1A44h

Top
2F1A42BX4156 - INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ3 HANDLER
INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ3 HANDLER
	AX = 1A42h
	BX = 4156h ('AV')
	ES:DI -> FAR handler for serial port using IRQ3
	DS = data segment needed by handler
Return: AX = status/return value
	    0000h if no more room
	    1A42h if ASD not installed
	    else handle to use when uninstalling
Notes:	the handler need not save/restore registers or signal EOI to the
	  interrupt controller
	the handler should return AX=0000h if the interrupt was meant for it,
	  and either leave AX unchanged or return a non-zero value otherwise
	the most recently installed handler will be called first, continuing
	  to earlier handlers until one returns AX=0000h
SeeAlso: AX=1A43h,AX=1A62h

Top
2F1A43BX4156 - INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ4 HANDLER
INT 2F - AVATAR Serial Dispatcher - INSTALL IRQ4 HANDLER
	AX = 1A43h
	BX = 4156h ('AV')
	ES:DI -> FAR handler for serial port using IRQ4
	DS = data segment needed by handler
Return: AX = status/return value
	    0000h if no more room
	    1A43h if ASD not installed
	    else handle to use when uninstalling
Notes:	(see AX=1A42h)
SeeAlso: AX=1A42h,AX=1A63h

Top
2F1A44BX4156 - INT 2F - AVATAR.SYS v0.11+ - GET DATA SEGMENT
INT 2F - AVATAR.SYS v0.11+ - GET DATA SEGMENT
	AX = 1A44h
	BX = 4156h ('AV')
Return: AX = 0000h
	DS = data segment
	CX = size of data segment
Note:	AVATAR.SYS calls this function whenever it is invoked.	If each
	  process under a multitasker hooks this function and provides a
	  separate data segment, AVATAR.SYS becomes fully reentrant.
SeeAlso: AX=1A21h,AX=1A3Fh,AX=1A52h

Top
2F1A52 - INT 2F U - AVATAR.SYS v0.11 - GET ???
INT 2F U - AVATAR.SYS v0.11 - GET ???
	AX = 1A52h
	CX = size of buffer
	ES:DI -> buffer
Return: ??? copied into user buffer
Note:	the maximum size of the data which may be copied is returned by
	  AX=1A72h
SeeAlso: AX=1A53h,AX=1A72h

Top
2F1A53 - INT 2F U - AVATAR.SYS v0.11 - ???
INT 2F U - AVATAR.SYS v0.11 - ???
	AX = 1A53h
	CL = ??? (00h-05h)
	???
Return: ???
SeeAlso: AX=1A00h/BX=4156h,AX=1A52h,AX=1A72h

Top
2F1A62BX4156 - INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ3 HANDLER
INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ3 HANDLER
	AX = 1A62h
	BX = 4156h ('AV')
	CX = handle for IRQ routine returned by AX=1A42h
SeeAlso: AX=1A42h,AX=1A63h

Top
2F1A63BX4156 - INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ4 HANDLER
INT 2F - AVATAR Serial Dispatcher - UNINSTALL IRQ4 HANDLER
	AX = 1A63h
	BX = 4156h ('AV')
	CX = handle for IRQ routine returned by AX=1A43h
SeeAlso: AX=1A43h,AX=1A62h

Top
2F1A72 - INT 2F U - AVATAR.SYS v0.11 - GET ??? SIZE
INT 2F U - AVATAR.SYS v0.11 - GET ??? SIZE
	AX = 1A72h
Return: CX = maximum size of ???
SeeAlso: AX=1A00h/BX=4156h,AX=1A52h,AX=1A7Bh,AX=1AADh"AVATAR"

Top
2F1A7B - INT 2F U - AVATAR.SYS v0.11 - ???
INT 2F U - AVATAR.SYS v0.11 - ???
	AX = 1A7Bh
Return: AX = 0000h
	CX = 0000h
SeeAlso: AX=1A00h/BX=4156h,AX=1A72h,AX=1A7Dh

Top
2F1A7D - INT 2F U - AVATAR.SYS v0.11 - ???
INT 2F U - AVATAR.SYS v0.11 - ???
	AX = 1A7Dh
Return: AX = ???
SeeAlso: AX=1A00h/BX=4156h,AX=1A7Bh

Top
2F1AA3 - INT 2F - ANSIPLUS v4.03+ - GET/SET ANSIPLUS INTERNAL VARIABLES
INT 2F - ANSIPLUS v4.03+ - GET/SET ANSIPLUS INTERNAL VARIABLES
	AX = 1AA3h
	BH = function
	    00h get current/default colors
		Return: CH = default colors
			CL = current colors
	    01h set current/default colors
		CH = default colors (00h = leave unchanged)
		CL = current colors
	    02h get current subscreen region
		Return: BH,BL = true screen rows,columns
			CH,CL = top left row,column of region
			DH,DL = bottom right row,column of region
	    03h set subscreen region
		CH,CL = top left row,column of region
		DH,DL = bottom right row,column of region
	    04h get driver features (bits 0-31)
		Return: DX:CX = current feature bits
	    05h set driver features (bits 0-31)
		DX:CX = feature bits
	    06h get driver features (bits 32-63)
		Return: DX:CX = current feature bits
	    07h set driver features (bits 32-63)
		DX:CX = feature bits
	    other: reserved for future use
SeeAlso: AX=1AA4h,AX=1AA5h

Top
2F1AA4 - INT 2F - ANSIPLUS v4.02+ - GET/SET ANSIPLUS SMOOTH SCROLLING RATE
INT 2F - ANSIPLUS v4.02+ - GET/SET ANSIPLUS SMOOTH SCROLLING RATE
	AX = 1AA4h
	BL = function
	    00h get scrolling rate
	    01h set scrolling rate
		BH = new minimum scrolling rate in scan lines per retrace
Return: BH = smooth scrolling rate
SeeAlso: AX=1AA3h,AX=1AA5h

Top
2F1AA5 - INT 2F - ANSIPLUS v4.00+ - GET/SET ANSIPLUS CLIPBOARD
INT 2F - ANSIPLUS v4.00+ - GET/SET ANSIPLUS CLIPBOARD
	AX = 1AA5h
	DH = subfunction
	    00h get clipboard information
	    01h get clipboard text
	    02h set clipboard text
	    03h append text to clipboard
	    04h clear clipboard
	    05h paste clipboard to keyboard
	ES:BX -> data area for subfunctions 01h, 02h, and 03h
	CX = size of data area (maximum size for subfunction 01h, actual size
	    to add to clipboard for subfunctions 02h and 03h)
Return: AL = status
	    00h successful
	    01h unsupported subfunction (reduced capability driver)
	    02h insufficient space
	    A5h unsupported function (ANSIPLUS before v4.00)
	ES:BX -> ANSIPLUS local clipboard data
	CX = number of bytes currently in local clipboard
	DX = maximum size of local clipboard
SeeAlso: AX=1A00h/BX=414Eh,AX=1AA4h,AX=1AA6h

Top
2F1AA6 - INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS DRIVER
INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS DRIVER
	AX = 1AA6h
	BH = function
	    00h get hooked interrupts
	    01h set hooked interrupts mask
		BL = new interrupts mask (see #02737)
Return: BL = previous interrupts mask (see #02737)
SeeAlso: AX=1A00h/BX=414Eh,AX=1AA7h

Desc:	used to temporarily disable any prior copies of ANSIPLUS when a new
	  copy is installed, such as in a multitasking system like DESQview
Note:	only the most-recently loaded copy of ANSIPLUS on the current INT 2F
	  chain responds to this call

Bitfields for ANSIPLUS hooked interrupts mask:
Bit(s)	Description	(Table 02737)
 0	INT 09 hook disabled
 1	INT 10 hook disabled
 2	INT 15 hook disabled
 3	INT 16 hook disabled
 4	INT 1C hook disabled
 5	reset all bits when INT 29 called
 6	INT 29 hook disabled
 7	INT 33, INT 74, or other mouse event hook disabled

Top
2F1AA7 - INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS FEATURES
INT 2F - ANSIPLUS v4.00+ - ENABLE/DISABLE ANSIPLUS FEATURES
	AX = 1AA7h
	BL = function
	    00h prevent scroll-back saves
	    01h enable scroll-back saves
	    02h disable key reprogramming and lock changes by escape sequences
	    03h enable key reprogramming by escape sequences
	    04h	disable and lock key stacking changes by escape sequences
	    05h allow key stacking by escape sequences
Return: nothing
SeeAlso: AX=1AA6h

Top
2F1AA8 - INT 2F - ANSIPLUS v3.10+ - GET NEXT ANSIPLUS SCROLLBACK LINE
INT 2F - ANSIPLUS v3.10+ - GET NEXT ANSIPLUS SCROLLBACK LINE
	AX = 1AA8h
Return: AL = status
	    00h successful
		ES:BX -> screen line (character and attribute pairs)
		CX = length of line in bytes, 0000h if no more lines or
		      unsupported video mode
	    01h unsupported video mode active
	    02h screen currently scrolled back
	    03h reduced capability driver
	    A8h unsupported function (driver before v3.10)
SeeAlso: AX=1A00h/BX=414Eh,AX=1AA9h

Top
2F1AA9 - INT 2F - ANSIPLUS v3.10+ - GET ANSIPLUS SCROLLBACK INFORMATION
INT 2F - ANSIPLUS v3.10+ - GET ANSIPLUS SCROLLBACK INFORMATION
	AX = 1AA9h
Return: AL = status
	    00h successful
		BX = current number of lines in scrollback buffer
		CX = number of bytes in one line
	    01h unsupported video mode active
	    02h screen currently scrolled back
	    03h reduced capability driver
	    A9h unsupported function (driver before v3.10)
Desc:	determine how much data is in the scrollback buffer and initialize
	  scrollback retrieval to return the first line on the next call to
	  AX=1AA8h
SeeAlso: AX=1A00h/BX=414Eh,AX=1AA8h

Top
2F1AAA - INT 2F - ANSIPLUS v3.01+ - GET/SET ANSIPLUS SCREEN SAVER BLANKING TIME
INT 2F - ANSIPLUS v3.01+ - GET/SET ANSIPLUS SCREEN SAVER BLANKING TIME
	AX = 1AAAh
	BX = function
	    FFFFh to get current blanking time
	    other to set time
		CX = blanking time in clock ticks (0000h-7FFFh)
Return: BX = current blanking time
	CX = blanking time when last set
SeeAlso: AX=1A00h/BX=414Eh,AX=1AABh

Top
2F1AAB - INT 2F - ANSIPLUS v3.01+ - SET ANSIPLUS KEY REPEAT RATE
INT 2F - ANSIPLUS v3.01+ - SET ANSIPLUS KEY REPEAT RATE
	AX = 1AABh
	BX = repeat rate in characters per second
	    0000h use BIOS repeat rate
Return: nothing
SeeAlso: AX=1A00h/BX=414Eh,AX=1AAAh,AX=1AACh

Top
2F1AAC - INT 2F - ANSIPLUS v3.00+ - LOAD CHARACTER GENERATOR
INT 2F - ANSIPLUS v3.00+ - LOAD CHARACTER GENERATOR
	AX = 1AACh
	BH = number of bytes per character pattern
	BL = VGA/EGA character table to be loaded
	CX = number of characters to load
	DX = starting character code (offset into Map2 block)
	ES:BP -> user character table to be loaded
Return: AX = 1100h
Desc:	load the EGA/VGA character generator without the BIOS function's
	  side effects of resetting the video mode and color palette
SeeAlso: AX=1A00h/BX=414Eh,AX=1AABh,AX=1AADh"ANSIPLUS",INT 10/AX=1100h

Top
2F1AAD - INT 2F - ANSIPLUS v2.00+ - ANSIPLUS DEVICE STATUS REPORT
INT 2F - ANSIPLUS v2.00+ - ANSIPLUS DEVICE STATUS REPORT
	AX = 1AADh
	BL = report request code (81h-96h for v4.00)
	CX = color selector or key code, if required by request
Return: AX = first reported result
	BX = second result
	CX = third result, if applicable (unchanged otherwise)
	DX = fourth result, if applicable (unchanged otherwise)
Desc:	get device status reports equivalent to those for Esc [#n sequences
	  while bypassing any device redirection and avoiding the need to
	  parse the returned result
Note:	the report request code in BL is identical to the number in the
	  corresponding Esc [#n sequence
SeeAlso: AX=1A00h/BX=414Eh,AX=1AACh

Top
2F1AADDX0000 - INT 2F U - AVATAR.SYS v0.11 - ???
INT 2F U - AVATAR.SYS v0.11 - ???
	AX = 1AADh
	DX = 0000h
	CX = subfunction (00h-0Ch)
	???
Return: AX = 0000h if DX was nonzero
	???
SeeAlso: AX=1A00h/BX=4156h,AX=1A72h

Top
2F1B00 - INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - INSTALLATION CHECK
INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - INSTALLATION CHECK
	AX = 1B00h
Return: AL = FFh if installed
Note:	XMA2EMS.SYS extension is only installed if DOS has page frames to hide.
	This extension hooks onto INT 67/AH=58h and returns from that call data
	  which excludes the physical pages being used by DOS.
SeeAlso: AH=1Bh"FRAME INFO"

Top
2F1B - INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - GET HIDDEN FRAME INFORMATION
INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - GET HIDDEN FRAME INFORMATION
	AH = 1Bh
	AL <> 00h
	DI = hidden physical page number
Return: AX = FFFFh if failed (no such hidden page)
	AX = 0000h if OK, then
	    ES = segment of page frame
	    DI = physical page number
Notes:	this corresponds to the data edited out of the INT 67/AH=58h call
	FASTOPEN makes this call with AL = FFh
SeeAlso: AX=1B00h

Top
2F2300 - INT 2F - DR DOS 5.0 GRAFTABL - INSTALLATION CHECK
INT 2F - DR DOS 5.0 GRAFTABL - INSTALLATION CHECK
	AX = 2300h
Return: AH = FFh
Note:	this installation check does not follow the usual format
SeeAlso: AH=23h,AX=2E00h

Top
2F23 - INT 2F - DR DOS 5.0 GRAFTABL - GET GRAPHICS DATA
INT 2F - DR DOS 5.0 GRAFTABL - GET GRAPHICS DATA
	AH = 23h
	AL nonzero
Return: AH = FFh
	ES:BX -> graphics data (8 bytes for each character from 80h to FFh)
SeeAlso: AX=2300h,AX=2E00h

Top
2F2700 - INT 2F - DR DOS 6.0 TaskMAX - INSTALLATION CHECK
INT 2F - DR DOS 6.0 TaskMAX - INSTALLATION CHECK
	AX = 2700h
Return: AL = status
	    00h not installed
	    FFh installed
Note:	the TaskMAX API is also supported by Novell DOS 7 TASKMGR in both
	  taskswitching and multitasking modes

Top
2F2701 - INT 2F - DR DOS 6.0 TaskMAX - GET STATUS
INT 2F - DR DOS 6.0 TaskMAX - GET STATUS
	AX = 2701h
Return: AX = maximum simultaneous tasks
	BX = index into TASK_IDS of current foreground task
	CX = currently-active tasks
	DX = version number (DL = major, DH = minor)
	    (DR DOS 6.0 = 0001h, Novell DOS 7 = 0002h)
	ES:SI -> TASK_IDS
	ES:DI -> name table (array of 8-byte names, NUL-terminated if <8 chars)
Notes:	do not attempt to create a new task if CX == AX
	the task's index is its position on the task menu, while its ID is the
	  position within the internal task name table
SeeAlso: AX=2714h,AX=2716h

Top
2F2702 - INT 2F - DR DOS 6.0 TaskMAX - GET PER-TASK EMS LIMIT
INT 2F - DR DOS 6.0 TaskMAX - GET PER-TASK EMS LIMIT
	AX = 2702h
Return: DX = maximum pages INT 67/AH=42h will report available
Note:	TaskMAX does not limit EMS allocations other than by limiting the
	  amount which is reported as being available at a given time
SeeAlso: AX=2703h,INT 67/AH=42h

Top
2F2703 - INT 2F - DR DOS 6.0 TaskMAX - SET PER-TASK EMS LIMIT
INT 2F - DR DOS 6.0 TaskMAX - SET PER-TASK EMS LIMIT
	AX = 2703h
	DX = maximum pages INT 67/AH=42h should report available
Return: DX = new maximum for reporting
Note:	the TaskMAX API is also supported by Novell DOS 7 TASKMGR in
	  both taskswitching and multitasking modes
SeeAlso: AX=2702h,INT 67/AH=42h

Top
2F2704 - INT 2F - DR DOS 6.0 TaskMAX - REGISTER/UNREGISTER TASK MANAGER
INT 2F - DR DOS 6.0 TaskMAX - REGISTER/UNREGISTER TASK MANAGER
	AX = 2704h
	DL = subfunction
	    00h unregister task manager
	    01h register task manager
Return: DL = status
	    00h registered
	    01h unregistered
Notes:	a task manager replaces TaskMAX's menu system with its own user
	  interface; while one is registered, the TaskMAX hotkeys and
	  Ctrl-Alt-Del invoke the manager rather than the built-in menu system
	unregister the task manager before terminating it
SeeAlso: AX=2705h
Index:	hotkeys;TaskMAX

Top
2F2705 - INT 2F - DR DOS 6.0 TaskMAX - ENABLE/DISABLE DIRECT SWITCHING
INT 2F - DR DOS 6.0 TaskMAX - ENABLE/DISABLE DIRECT SWITCHING
	AX = 2705h
	DL = subfunction
	    00h disable keystrokes for switching to next/prev/specified task
	    01h enable
Return: nothing
Note:	should only be called by a registered task manager (see AX=2704h)
SeeAlso: AX=2704h,AX=2706h

Top
2F2706 - INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO SPECIFIED TASK
INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO SPECIFIED TASK
	AX = 2706h
	DX = task index (see AX=2701h) of task to be activated
Return: DX = task index of previously-active task
Note:	the TaskMAX API is also supported by Novell DOS 7 TASKMGR in
	  both taskswitching and multitasking modes
SeeAlso: AX=2705h,AX=2707h,AX=2715h

Top
2F2707 - INT 2F - DR DOS 6.0 TaskMAX - CREATE NEW TASK
INT 2F - DR DOS 6.0 TaskMAX - CREATE NEW TASK
	AX = 2707h
	DS:DX -> ASCIZ pathname of executable
	ES:BX -> parameter block (see #02738)
	CX = number of ticks before automatic return to task manager
		(0000h = run until termination or explicitly switched)
Return: DX = new task's task index (FFFFh if task terminated)
SeeAlso: AX=2706h,AX=2708h

Format of TaskMAX parameter block:
Offset	Size	Description	(Table 02738)
 00h	WORD	reserved, should be 0000h
 02h	DWORD	pointer to command tail to be copied into child's PSP
 06h	DWORD	pointer to first FCB to be copied into child's PSP
 0Ah	DWORD	pointer to second FCB to be copied into child's PSP

Top
2F2708 - INT 2F - DR DOS 6.0 TaskMAX - DELETE TASK
INT 2F - DR DOS 6.0 TaskMAX - DELETE TASK
	AX = 2708h
	DX = task index
Return: DX = FFFFh (task deleted)
Notes:	this call should only be used for abnormal task termination, after
	  first checking for open files with AX=270Ch; should not be used
	  with programs that allocate EMS or XMS memory
	switches to specified task first
SeeAlso: AX=2707h

Top
2F2709 - INT 2F - DR DOS 6.0 TaskMAX - NAME TASK
INT 2F - DR DOS 6.0 TaskMAX - NAME TASK
	AX = 2709h
	DX = task index
	DS:SI -> 8-byte name (8 NULs = remove name)
Return: AL = task flags
	    00h ID unused or task terminated
	    01h ID in use, task name table entry valid
	    81h ID in use, task name fixed
	BX = task ID
	ES:DI -> name in task name table (see AX=2701h)
Note:	the task retains the given name until it terminates or the name is
	  removed by specifying a name of 8 NULs.
SeeAlso: AX=2701h,AX=2707h

Top
2F270A - INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK INDEX TO TASK ID
INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK INDEX TO TASK ID
	AX = 270Ah
	DX = task index
Return: DX = task ID (FFFFh if index invalid)
Note:	task IDs stay constant, while indexes can change when other tasks are
	  deleted
SeeAlso: AX=2701h,AX=270Bh

Top
2F270B - INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK ID TO TASK INDEX
INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK ID TO TASK INDEX
	AX = 270Bh
	DX = task ID
Return: DX = task index (FFFFh if task not active)
Note:	the TaskMAX API is also supported by Novell DOS 7 TASKMGR in both
	  taskswitching and multitasking modes
SeeAlso: AX=270Ah

Top
2F270C - INT 2F - DR DOS 6.0 TaskMAX - CHECK OPEN FILES
INT 2F - DR DOS 6.0 TaskMAX - CHECK OPEN FILES
	AX = 270Ch
	DX = task index
Return: AX = number of files currently open for specified task
SeeAlso: AX=2708h

Top
2F270D - INT 2F - DR DOS 6.0 TaskMAX - CHECK IF TASK RUNNING PRIMARY COMMAND INTERPRETER
INT 2F - DR DOS 6.0 TaskMAX - CHECK IF TASK RUNNING PRIMARY COMMAND INTERPRETER
	AX = 270Dh
	DX = task index
Return: DX = status
	    0000h if primary command interpreter (COMMAND.COM, etc.) running
	    0001h if not in root shell for task
Note:	TaskMAX will return 0001h if the specified task has spawned another
	  command interpreter with AX=2707h
SeeAlso: AX=2707h,AX=270Ch

Top
2F270E - INT 2F - DR DOS 6.0 TaskMAX - GET/SET TEXT PASTE LEAD-IN
INT 2F - DR DOS 6.0 TaskMAX - GET/SET TEXT PASTE LEAD-IN
	AX = 270Eh
	CX = length of string (max 15 keystrokes, 0000h to get current string)
	DS:SI -> pasting lead-in string (character/scan-code pairs)
Return: ES:DI -> current lead-in string
Note:	the specified sequence of keystrokes is sent to the application before
	  every line of a text-mode spreadsheet paste
SeeAlso: AX=270Fh,AX=2710h,AX=2713h

Top
2F270F - INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE LEAD-IN
INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE LEAD-IN
	AX = 270Fh
	CX = length of string (max 15 keystrokes, 0000h to get current string)
	DS:SI -> pasting lead-in string (character/scan-code pairs)
Return: ES:DI -> current lead-in string
Note:	the specified sequence of keystrokes is sent to the application before
	  every number in a numeric-mode spreadsheet paste
SeeAlso: AX=270Eh,AX=2710h,AX=2711h,AX=2713h

Top
2F2710 - INT 2F - DR DOS 6.0 TaskMAX - GET/SET PASTE LINE TERMINATOR STRING
INT 2F - DR DOS 6.0 TaskMAX - GET/SET PASTE LINE TERMINATOR STRING
	AX = 2710h
	CX = length of string (max 15 keystrokes, 0000h to get current string)
	DS:SI -> pasting terminator string (character/scan-code pairs)
Return: ES:DI -> current terminator string
Note:	the specified sequence of keystrokes is sent to the application after
	  every line of a spreadsheet paste operation
SeeAlso: AX=270Eh,AX=270Fh,AX=2713h

Top
2F2711 - INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE DECIMAL POINT
INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE DECIMAL POINT
	AX = 2711h
	DX = ASCII code for separator (FFFFh to get current)
Return: DL = current separator character
SeeAlso: AX=270Fh

Top
2F2712 - INT 2F - DR DOS 6.0 TaskMAX - INITIATE EXPORTING TASK DATA
INT 2F - DR DOS 6.0 TaskMAX - INITIATE EXPORTING TASK DATA
	AX = 2712h
	DX = task index

Top
2F2713 - INT 2F - DR DOS 6.0 TaskMAX - INITIATE PASTE OPERATION
INT 2F - DR DOS 6.0 TaskMAX - INITIATE PASTE OPERATION
	AX = 2713h
	DX = task index
	CX = paste mode
	    0000h alphanumeric
	    0001h numeric
	    0002h text
SeeAlso: AX=270Eh,AX=270Fh,AX=2710h,AX=2711h

Top
2F2714 - INT 2F - DR DOS 6.0 TaskMAX - GET SWAP SPACE INFO
INT 2F - DR DOS 6.0 TaskMAX - GET SWAP SPACE INFO
	AX = 2714h
Return: CX = total KB of swap space
	DX = available KB of swap space
Note:	the TaskMAX API is also supported by Novell DOS 7 TASKMGR in both
	  taskswitching and multitasking modes
SeeAlso: AX=2701h

Top
2F2715 - INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO TASK MANAGER
INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO TASK MANAGER
	AX = 2715h
Return: only after calling task is again selected
SeeAlso: AX=2706h

Top
2F2716 - INT 2F - DR DOS 6.0 TaskMAX - GET PASTE BUFFER STATUS
INT 2F - DR DOS 6.0 TaskMAX - GET PASTE BUFFER STATUS
	AX = 2716h
Return: AX = 0000h if AX=2716h,AX=2717h,AX=2718h supported
	    CX = bytes in paste buffer
	    DX = current generation number (updated after every copy operation)
BUG:	Novell DOS 7 TASKMGR returns AX=0000h even though it does not support
	  this call (it does support the remainder of the TaskMAX API)
SeeAlso: AX=2701h,AX=2713h,AX=2714h,AX=2717h,AX=2718h

Top
2F2717 - INT 2F - DR DOS 6.0 TaskMAX - PASTE DATA DIRECTLY TO APPLICATION BUFFER
INT 2F - DR DOS 6.0 TaskMAX - PASTE DATA DIRECTLY TO APPLICATION BUFFER
	AX = 2717h
	CX = bytes in destination buffer
	ES:DI -> destination buffer
Return: AX = 0000h if function supported
	    CX = bytes actually copied (FFFFh if buffer too small)
	    DX = current generation number for paste buffer
BUG:	Novell DOS 7 TASKMGR returns AX=0000h even though it does not support
	  this call (it does support the remainder of the TaskMAX API)
Note:	the destination buffer may be too small if another task adds more data
	  to the paste buffer after the AX=2716h call but before this call
SeeAlso: AX=2713h,AX=2716h,AX=2718h

Top
2F2718 - INT 2F - DR DOS 6.0 TaskMAX - COPY DATA DIRECTLY INTO PASTE BUFFER
INT 2F - DR DOS 6.0 TaskMAX - COPY DATA DIRECTLY INTO PASTE BUFFER
	AX = 2718h
	CX = bytes in source buffer
	DS:SI -> source buffer (plain ASCII, lines terminated with CR LF)
Return: AX = 0000h if function supported
	    CX = bytes actually copied
	    DX = current generation number for paste buffer
BUG:	Novell DOS 7 TASKMGR returns AX=0000h even though it does not support
	  this call (it does support the remainder of the TaskMAX API)
SeeAlso: AX=2712h,AX=2716h,AX=2717h

Top
2F2719 - INT 2F - Novell DOS 7 TaskMGR - NOP
INT 2F - Novell DOS 7 TaskMGR - NOP
	AX = 2719h to 271Bh

Top
2F271C - INT 2F U - Novell DOS 7 TaskMGR - ???
INT 2F U - Novell DOS 7 TaskMGR - ???
	AX = 271Ch
	DX = ???
	    bit 0: ???
Return: ???
	---if DX bit 0 set---
	AX = 0031h
	CX = 0000h
BUG:	if the task switcher is running, and DX bit 0 is set on call, this
	  function will crash because its exit code attempts to pop several
	  registers which are not pushed when DX bit 0 is set

Top
2F2780CL01 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - SUPERVISOR MODULE
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - SUPERVISOR MODULE
	AX = 2780h
	CL = 01h (module: Supervisor)
	CH = subfunction
	    00h unused
		Return: CX = status (0002h) (see #02739)
	    01h unused
		Return: CX = status (0002h) (see #02739)
	    02h "Z_ModuleReg" register an OS module
		EBX = module number (0005h-000Fh)
		DS:EDX -> module descriptor (see #02741)
		Return: CX = status (0000h,0030h) (see #02739)
	    03h allocate SYSDAT memory
		DX = number of ??? to allocate
		Return: CX = status (0000h,0003h) (see #02739)
	    04h get selector to SYSDAT
		Return: CX = 0000h (successful)
			BX = selector for EMM386 data segment
			EBX high word cleared
	    05h "Z_MoveReal" relocate segment into extended memory
		DS:EDX -> descriptor parameter block
		Return: ECX = status (00h,03h,31h,32h) (see #02739)
			---if successful---
			parameter block filled
	    06h "Z_Reboot" return to real mode via triple fault
	    07h debugger break
		Note:	calls INT 03, then INT 21/AH=02h to output a question
			  mark
	    08h "X_ForeCheck" check if domain is in foreground
		Return: CX = 0000h (successful)
			EBX = ??? (0 or 2)
	    09h register VxD with system
	    0Ah unload VxD hook
	    0Bh indicate end of initialization phase
		Return: CX = status (0002h) (see #02739)
	    0Ch "F_AllocWindow" allocate 4K mapping window
	    0Dh "F_RegisterBoot" register reboot addresses
		EBX = ???
		EDX = ???
		Return: ???
	    0Eh "F_EnquireBoot" check if reboot active
		Return: CX = 0000h (successful)
			BL = ???     \ or BX = 0000h
			BH = ???     /
	    0Fh get debugging level
		Return: CX = 0000h (successful)
			EBX = new value for debugging level
	    10h set debugging level
		EDX = ???
		Return: CX = 0000h (successful)
			EBX = old value of debugging level
	    11h installation check (documented)
		Return: CX = status
			    0000h if multitasker is installed
				EBX = version (0100h for v1.00)
			    1101h if multitasker is not present
	    12h "F_V86BPInstall" install V86 breakpoint
		DX = ???
		Return: CX = 0000h (successful)
			AX = old value of ???
	    13h "F_V86BPRemove" remove V86 breakpoint
		Return: CX = status (0000h,003Fh) (see #02739)
			AX = ???
	    14h "F_V86BPOffer" indicate INT 03 to be used as V86 breakpoint
		EDX = linear address ??? of INT 03 instruction for breakpoint
		Return: CX = status (0000h,003Fh) (see #02739)
	    15h "F_LoaderCleanup" offer opportunity to clean up
		BX = segment of ???
		Return: CX = 0000h (successful)
			BX = segment of ???
	    16h "F_RegisterVxDWindow" register VxD mapping window
	    17h "F_RegisterPNW" register Personal NetWare information
		EBX = subfunction (0-2)
		Return: CX = status (0002h if EBX>2) (see #02739)
			???
	    18h unused
		Return: CX = status (0002h) (see #02739)
Return: CX = status (most subfunctions)
	(E)AX and/or (E)BX contain return values, depending on function
Notes:	called by DPMS.EXE and EMM386.EXE
	this API is only available if AX=12FFh/BX=0EDCh returns successfully;
	  because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this API must be invoked with
	  an actual INT 2F instruction instead of some simulation such as a
	  far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=02h,AX=2780h/CL=03h,AX=2780h/CL=04h

(Table 02739)
Values for Novell DOS 7 EMM386 function status:
 0000h	successful
 0001h	not implemented
 0002h	invalid subfunction
 0003h	unable to find memory
 0004h	invalid flag (semaphore) number
 0005h	flag (semaphore) overrun
 0006h	flag (semaphore) underrun
 0007h	no queue handles available
 0009h	no queue buffers available
 000Ah	queue is in use
 000Bh	invalid process handle
 000Ch	no process handles available
 000Dh	queue access not permitted
 000Eh	queue is empty
 000Fh	queue is full
 0012h	no memory handles available
 0014h	can't find process in process list
 001Bh	invalid memory handle
 0023h	unable to terminate process
 002Ah	flag set ignored
 002Dh	no more system flags
 002Eh	flag (semaphore) not in idle state
 002Fh	flag (semaphore) wait timed out
 0030h	bad module number in CL
 0031h	bad descriptor
	invalid value for DESC_PB_SINFO in a descriptor parameter block
 0032h	no free descriptors
 0033h	error while locking/unlocking a page
 0034h	error getting or setting a page
 0035h	no pages available
 0036h	invalid domain
 0037h	process already frozen
 0038h	process not frozen
 0039h	fork failure (no registered swaplist)
 003Ah	page already free
 003Bh	page already allocated
 003Ch	unable to switch tasks
 003Dh	attempted to free critical section which is not active
 003Eh	too many active critical sections
 003Fh	???
 41FFh	current domain is invalid, or no domain in context
 42FFh	domain ID is not a valid descriptor
 43FFh	domain creation still in progress
 44FFh	domain currently being deleted
 45FFh	task manager is busy, cannot unload it
 46FFh	task manager already loaded
 47FFh	task manager not yet loaded
 48FFh	cannot save/restore because prior switch not complete
 49FFh	console already has owner
 4BFFh	unsupported opcode
 4CFFh	32-bit address prefix not supported
 4FFFh	timeout, but not on timer queue
 50FFh	unable to lock timer queue
 53FFh	unable to switch while in Global Message Mode
 54FFh	error while setting Global Message Mode
 55FFh	not in Global Message Mode
 56FFh	system already in Domain Message Mode
 57FFh	not in Domain Message Mode
 58FFh	unable to allocate timeout structure
 59FFh	unsupported video type
 5AFFh	function not handled by any VM
 5BFFh	error in Serial..Set call
 5CFFh	error in Parallel..Set call
 5DFFh	domain list overflowed
 5FFFh	unable to free domain while in nobuffers mode

Format of Novell DOS/OpenDOS EMM386 descriptor parameter block:
Offset	Size	Description	(Table 02740)
 00h	DWORD	"DESC_PB_BASE"
 04h	DWORD	"DESC_PB_LIMIT"
 08h	WORD	"DESC_PB_SEL"
 0Ah	BYTE	"DESC_PB_MINFO"
 0Bh	BYTE	"DESC_PB_SINFO"
SeeAlso: #02741

Format of Novell DOS/OpenDOS EMM386 module descriptor:
Offset	Size	Description	(Table 02741)
 00h 12 BYTEs	descriptor parameter block (see #02740)
 0Ch	DWORD	-> module entry point
Note:	for function "Z_ModuleReg", only DESC_PB_SEL and the module entry point
	  need to be initialized before calling EMM386
SeeAlso: #02740

Top
2F2780CL02 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - REAL-TIME MONITOR
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - REAL-TIME MONITOR
	AX = 2780h
	CL = 02h (module: Real-Time Monitor)
	CH = subfunction
	    00h ???
		???
		Return: CX = status (0000h,0023h, others???) (see #02739)
			BX = ??? (0000h if CX=0000h, FFFFh if CX=0023h)
		Note:	calls func 04h/sf 03h, func 04h/sf 1Eh,func 02h/sf 43h,
			  func 02h/sf 0Bh, and func 04h/sf 01h
	    01h "Z_PCountGet" get and clear count of dispatches
		DX = ??? handle or 0000h for default
		Return: CX = status (0000h,000Bh) (see #02739)
			EBX = old value of ??? if successful
			EDX destroyed
	    02h "Z_FlagWait" wait on semaphore
		DX = index of semaphore???
		Return: CX = status (0000h,0004h,0005h) (see #02739)
			EBX = 0000FFFFh on error, 00000000h if successful
	    03h "Z_FlagSet" set a semaphore flag
		DX = index of semaphore???
		Return: CX = status (0000h,0004h,0006h) (see #02739)
			BX = FFFFh on error, 0000h if successful
	    04h "X_QCreate" create a new queue
		Return: CX = status (0000h,0007h,000Ah) (see #02739)
	    05h "X_QOpen" open queue for reading/writing
		EDX -> ??? data (first 8 bytes seem to be name)
		Return: CX = status (0000h,0009h,000Dh) (see #02739)
	    06h "X_QDelete" delete a queue
		Note:	calls fn 02h/subfn 05h, then fn 02h/subfn 40h
	    07h "X_QRead" read message from queue
		EDX = ???
		Return: CX = status (0000h,0009h,000Eh) (see #02739)
	    08h "X_QReadC" read message from queue, if any
		EDX = ???
		Return: CX = status (0000h,0009h,000Eh) (see #02739)
	    09h "X_QWrite" write message to queue
		EDX = ???
		Return: CX = status (0000h,0009h,000Fh) (see #02739)
	    0Ah "X_QWriteC" write message to queue, if space available
		EDX = ???
		Return: CX = status (0000h,0009h,000Fh) (see #02739)
	    0Bh "X_PDelay" put process to sleep for specified period
		DX = number of clock ticks to sleep???
		Return: CX = 0000h (successful)
	    0Ch "X_PDispatch" force a dispatch (run scheduler)
		Return: CX = 0000h (successful)
	    0Dh "F_PTerm" terminate process???
		Return: CX = status (0000h,0023h) (see #02739)
			BX = FFFFh on error, 0000h if successful
		Note:	calls fn 04h/subfn 03h, fn 04h/subfn 1Eh,
			  fn 02h/subfn 43h, fn 02h/subfn 0Bh, fn 04h/sub 01h
	    0Eh "X_PCreate" create new process
		???
		Return: CX = status (0000h,000Ch) (see #02739)
			EBX = ??? if successful
	    0Fh "Z_PPriorSet" set process priority
		BX = ???
		DX = ??? handle or 0000h for default
		Return: CX = status (0000h,000Bh) (see #02739)
	    10h "X_PHandleGet" get current process handle
		Return: CX = 0000h (successful)
			BX = handle of default ???
			EBX high word cleared
	    11h "X_PTerm" terminate process
		DX = process handle or 0000h for current
		BX = ??? (handle???)
		Return:	CX = status (0000h,000Bh,0014h) (see #02739)
	    12h "F_Sleep" ???
		BX = ???
		DX = ???
		Return: CX = 0000h (successful)
	    13h "F_Wakeup" ???
		DX = ???
		Return: CX = status (see #02739)
	    14h "F_FindPDName" find process by name???
		BX = ???
		DX = ???
		Return: CX = status (0000h,0014h) (see #02739)
			BX = FFFFh on error, ??? if successful
	    15h "F_SetFlags" set ??? flags
		BX = ??? (low two bits only)
		DX = ??? handle or 0000h for default
		Return: CX = status (0000h,000Bh) (see #02739)
			BX = new value of ??? flags (entire word)
			EBX high register cleared
	    16h "F_EndOfInterrupt" issue EOI to PIC
		Return: CX = 0000h (successful)
	    17h "X_PTermOff" disable process termination
	    18h "X_PTermOK" enable process termination
	    19h "Z_FlagStatusGet" get semahprore's status
	    1Ah "F_QRdMX" ???
	    1Bh "F_QWrMX" ???
	    1Ch "Z_FlagAlloc" allocate a new semaphore
	    1Dh "Z_FlagFree" free semaphore
	    1Eh "X_FlagsMaxGet" get number of semaphores supported
	    1Fh "X_QReadNDC" non-destructive read from queue (peek)
	    20h "Z_FlagWWTO" wait on semaphore, with timeout
	    21h "F_UdaAlloc" ???
	    22h "F_UdaFree" ???
	    23h "X_PSuspend" suspend process
	    24h "X_PUnsuspend" restart process after suspension
	    25h "X_CritEnter" enter critical region
	    26h "X_CritExit" leave critical region
	    27h "F_PCreate" ???
	    28h "Z_PHandleListGet" get list of process handles
	    29h "Z_PNameGet" get process name
	    2Ah "Z_PStatusGet" get process status
	    2Bh "F_PDToDomain" get process' domain???
	    2Ch "Z_PPriorGet" get process priority
	    2Dh "F_QDList" get list of queues???
	    2Eh "Z_QNameGet" get queue's name
	    2Fh "X_QMsgLenGet" get message length of queue
	    30h "X_QMsgMaxGet" get message capacity of queue
	    31h "Z_QWriterGet" get handle of process waiting to write queue
	    32h "Z_QReaderGet" get handle of process waiting to read queue
	    33h "X_QMsgNumGet" get number of messages in queue
	    34h "Z_QFlagsGet" get queue's flags
	    35h "F_NameToQD" get queue by name???
	    36h "F_NameToPD" get process by name???
	    37h "X_MXCreate" create a mutex
	    38h "X_MXDelete" delete a mutex
	    39h "X_MXEnter" enter mutual-exclusion zone
	    3Ah "X_MXEnterC" enter mutual-exclusion zone if it is free
	    3Bh "X_MXExit" leave mutual-exclusion zone
	    3Ch "Z_TicksSet" set length of foreground time slices
	    3Dh "X_TickGet" get clock tick period
	    3Eh "F_ProcessID" ???
	    3Fh "X_QClose" close a queue
	    40h "F_QDispose" delete queue???
	    41h "F_PDToFlags" get process flags???
	    42h "F_PDToDParam" ???
	    43h "F_ReleaseMX" release mutex???
	    44h "F_SimulateInt" ???
	    45h "Z_QFlagsSet" set queue's flags
	    46h "F_TickRate" ???
	    47h ???
Return: CX = status (most subfunctions)
	(E)AX and/or (E)BX contain return values, depending on function
Notes:	called by DPMS.EXE and EMM386.EXE
	this API is only available if AX=12FFh/BX=0EDCh returns successfully;
	  because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this API must be invoked with
	  an actual INT 2F instruction instead of some simulation such as a
	  far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=01h,AX=2780h/CL=03h,AX=2780h/CL=04h

Top
2F2780CL03 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - MEMORY
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - MEMORY
	AX = 2780h
	CL = 03h (module: Memory)
	CH = subfunction
	    00h ???
	    01h "F_PdirGet" ???
	    02h "F_PdirSet" ???
	    03h "Z_PageAlloc" allocate a given page of memory
	    04h "F_PageAllocG" allocate global page???
	    05h "F_PageAllocI" allocate instance page???
	    06h "F_PtblRead" get page table???
	    07h "F_PtrlWrite" select page table???
	    08h "Z_PtblGet" read page table
	    09h "Z_PtblSet" change page table
	    0Ah "Z_PagesAlloc" allocate pages of memory
	    0Bh "Z_PageFree" free a given page of memory
	    0Ch "Z_MemAlloc" allocate a memory block
	    0Dh "Z_MemFree" release memory block
	    0Eh "Z_MemSizeGet" get size of memory block
	    0Fh "Z_MemResize" resize a memory block
	    10h "Z_DescAlloc" allocate a memory descriptor
	    11h "Z_DescFree" release a memory descriptor
	    12h "Z_DescGet" get details on memory descriptor
	    13h "Z_DescSet" set a memory descriptor
	    14h "Z_MemDescAlloc" allocate a memory block and its descriptor
	    15h "Z_MemDescFree" release a memory block and its descriptor
	    16h "Z_MemDescSizeGet" get size of memory block
	    17h "Z_MemDescResize" resize a memory block
	    18h "Z_PageLock" lock a page, with existing contents
	    19h "Z_PageUnlock" unlock a page
	    1Ah "Z_PageLockAny" lock a page, contents undefined
	    1Bh "Z_PageUnlockReuse" unlock page, reuse phsyical memory
	    1Ch "Z_PageLockNone" lock a page, no physical memory assigned
	    1Dh "Z_PageUnlockNone" unlock a page, don't reuse physical memory
	    1Eh "F_CallRealRaw" call real mode (SS:ESP supplied)
	    1Fh "F_IntRealRaw" perform real-mode interrupt (SS:ESP supplied)
	    20h "F_CallReal" call real mode with RETF frame
	    21h "F_IntReal" perform real-mode interrupt
	    22h "F_PagedCallReal" paged real-mode call
	    23h "F_PagedIntReal" paged real-mode interrupt
	    24h "F_CallIretReal" call real mode with IRET frame
	    25h "F_CallIretRealRaw" call real mode with IRET (SS:ESP supplied)
	    26h "F_CallProt16" call 16-bit protected-mode code
	    27h "F_CallProt32" call 32-bit protected-mode code
	    28h "F_IAddPage" add kernel instance data
	    29h "Z_PageDomLock" lock page in specific domain, preserve contents
	    2Ah "Z_PatgeDomUnlock" unlock page in specific domain
	    2Bh "Z_PageDomLockAny" lock page in specific domain, undef contents
	    2Ch "Z_PageDomUnlockReuse" unlock page in spec. domain,reuse ph.mem
	    2Dh "Z_PageDomLockNone" lock page in spec. domain, no phys memory
	    2Eh "Z_PageDomUnlockNone" unlock page in spec. domain, no phys. mem
	    2Fh "Z_GateAlloc" allocate a gate
	    30h "Z_GateFree" release a gate
	    31h "X_MemFreeGet" get total free memory
	    32h "X_MemTopGet" get highest memory address
	    33h "X_MemTotalGet" get total memory size
	    34h "F_DescRead" ???
	    35h "F_DescWrite" ???
	    36h "F_GetStack" ???
	    37h "F_SetStack" ???
Return: CX = status (most subfunctions)
	(E)AX and/or (E)BX contain return values, depending on function
Notes:	called by DPMS.EXE and EMM386.EXE
	this API is only available if AX=12FFh/BX=0EDCh returns successfully;
	  because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this API must be invoked with
	  an actual INT 2F instruction instead of some simulation such as a
	  far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=01h,AX=2780h/CL=02h,AX=2780h/CL=04h

Top
2F2780CL04 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DOMAINS
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DOMAINS
	AX = 2780h
	CL = 04h (module: Domains)
	CH = subfunction
	    00h "F_DAlloc" create new domain
	    01h "F_DFree" delete a domain
	    02h "X_DomHandleGetMy" get current domain handle
	    03h "F_DSet" switch to another domain
	    04h "Z_HandlerSWInt" install software-interrupt handler
	    05h "Z_HandlerPageFault" install page-fault handler
	    06h "Z_HandlerIOEx" install I/O exception handler
	    07h "Z_HandlerGenEx" install general exception handler
	    08h "Z_HandlerHWInt" install hardware interrupt handler
	    09h "Z_IOBitmapGet" get current domain's I/O bitmap entry
	    0Ah "Z_IOBitmapSet" set current domain's I/O bitmap entry
	    0Bh "Z_IOBitmapDomGet" get domain's I/O bitmap entry
	    0Ch "Z_IOBitmapDomSet" set domain's I/O bitmap entry
	    0Dh "Z_DomMemRead" read memory in another domain
	    0Eh "Z_DomMemWrite" write memory in another domain
	    0Fh "Z_PtblDomGet" read domain's page table
	    10h "Z_PtblDomSet" write domain's page table
	    11h "Z_InstanceSet" register instanced memory
	    12h "X_DomNProcessesGet" get number of processes in domain
	    13h "X_DomSuspend" suspend a domain
	    14h "Z_DomUnsuspend" resume execution of a domain
	    15h "Z_DomFork" make a copy of the current domain
	    16h "Z_DomTerm" terminate domain and all processes in it
	    17h "Z_HandlerUnlink" remove a handler
	    18h "Z_HandlerHWIntDflt" install default hardware interrupt handler
	    19h "Z_HandlerVHWInt" install virtual hardware interrupt handler
	    1Ah "Z_HandlerVHWIntDflt" install default virtual hware int handler
	    1Bh "Z_HandlerSwapIn" install swap-in handler
	    1Ch "Z_HandlerSwapOut" install swap-out handler
	    1Dh "Z_EndOfInterrupt" signal EOI
	    1Eh ???
	    1Fh "Z_HandlerPCreate" install process-creation handler
	    20h "Z_HandlerPTerm" install process-termination handler
	    21h "Z_DomRootProcessGet" get domain's root process' handle
	    22h "F_DForeground" domain has just switched to foreground
	    23h "F_DBackground" domain has just switched to background
	    24h "F_MapHMA" map domain's HMA
	    25h "F_AddInstData" add DOS instance data
	    26h "X_DomMemFreeGet" get free memory in a domain
	    27h "X_DomMemUsedGet" get memory used by current domain
	    28h "Z_DomMemMaxGet" get per-domain memory limit
	    29h "Z_DomMemMaxSet" set per-domain memory limit
	    2Ah "F_ReflectInt21" protected-mode INT 21 support
	    2Bh "Z_DomHandleGet" get domain for a process
	    2Ch ???
	    2Dh ???
	    2Eh ???
	    2Fh ???
	    30h ???
	    31h ???
	    32h ???
Return: CX = status (most subfunctions)
	(E)AX and/or (E)BX contain return values, depending on function
Notes:	called by DPMS.EXE and EMM386.EXE
	this API is only available if AX=12FFh/BX=0EDCh returns successfully;
	  because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this API must be invoked with
	  an actual INT 2F instruction instead of some simulation such as a
	  far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=01h,AX=2780h/CL=02h,AX=2780h/CL=03h

Top
2F2780CL05 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - VIRTUAL MACHINES
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - VIRTUAL MACHINES
	AX = 2780h
	CL = 05h (module: VM)
	CH = function
	    00h "F_VMProtInit" internal protected-mode initialization
	    01h "Z_TMLoad" load task manager
	    02h "Z_TMUnload" unload task manager
	    03h	"Z_VMBackSet" send virtual machine to background
	    04h "Z_VMForeSet" send virtual machine to foreground
	    05h "Z_VMSaveEnable" enable saving virtual machine
	    06h "Z-VMSaveDisable" disable saving virtual machine
	    07h "Z_TMInit" intialize task manager
	    08h "Z_TMHotKeyGet" get task manager hotkey
	    09h "Z_TMHitKeyEnable" restart scanning for task manager key
	    0Ah "Z_TMHotKeyDisable" stop scanning for task manager key
	    0Bh "X_ForeGet" get current foreground domain
	    0Ch "F_DMAHandlerEnable" (re)enable DMA address translation
	    0Dh "F_DMAHandlerDisable" disable DMA address translation
	    0Eh "Z_SerialTimeoutGet" set serial port timeout
	    0Fh "Z_ParallelTimeoutSet" set parallel port timeout
	    10h "F_VCPIEntry" domain is entering VCPI mode
	    11h "F_VCPIExit" domain is leaving VCPI mode
	    12h "X_MsgGlobalEnter" enter Global Message Mode
	    13h "X_MsgGlobalDisplay" display global message
	    14h "X_MsgGlobalExit" leave Global Message Mode
	    15h "X_MsgDomEnter" enter Domain Message Mode
	    16h "X_MsgDomDisplay" display domain-specific message
	    17h "X_MsgDomExit" leave Domain Message Mode
	    18h "X_MsgFatalDisplay" display fatal error message
	    19h "Z_SerialBaseSet" set serial port address
	    1Ah "Z_ParallelBaseSet" set parallel port address
	    1Bh "Z_SerialIRQSet" set serial port IRQ
	    1Ch "Z_ParallelIRQSet" set parallel port IRQ
	    1Dh "F_ResetVideo" emergency video system reset
	    1Eh "F_SetMouseIRQ" set which IRQ is used by mouse
	    1Fh "F_CheckNotIdle" check whether system is idle
	    20h "F_GetMouseInfo"
	    21h "Z_SerialOwnerGet" get serial port owner
	    22h "Z_SerialTimeoutGet" get serial port timeout
	    23h "Z_ParallelOwnerGet" get parallel port owner
	    24h "Z_ParallelTimeoutGet" get parallel port timeout
	???
Return: ???
Notes:	called by DPMS.EXE and EMM386.EXE
	the handler for this function may be set by one of the subfunctions
	  of AX=2780h/CL=01h; the default handler returns AX=BX=FFFFh and
	  CX=0001h (see #02739)
	this API is only available if AX=12FFh/BX=0EDCh returns successfully;
	  because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this API must be invoked with
	  an actual INT 2F instruction instead of some simulation such as a
	  far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=01h,AX=2780h/CL=02h,AX=2780h/CL=03h

Top
2F2780CL06 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DPMI SERVICES
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - DPMI SERVICES
	AX = 2780h
	CL = 06h
	CH = function
	    00h "F_InitDPMI" used for internal initialization
	    01h "F_DescAllocLDT" allocate LDT descriptor
	    02h "F_DescFreeLDT" free LDT descriptor
	    03h "F_DescGetLDT" get details on LDT descriptor
	    04h "F_DescSetLDT" set up LDT descriptor
	    05h "F_DescAllocInt21" allocate descriptor for PM INT 21
	    06h "F_WhereIsDPMI" get address of DPMI global data
Return: ???
Notes:	called by DPMS.EXE and EMM386.EXE
	the handler for this function may be set by one of the subfunctions
	  of AX=2780h/CL=01h; the default handler returns AX=BX=FFFFh and
	  CX=0001h (see #02739)
	this API is only available if AX=12FFh/BX=0EDCh returns successfully;
	  because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this API must be invoked with
	  an actual INT 2F instruction instead of some simulation such as a
	  far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=01h,AX=2780h/CL=02h,AX=2780h/CL=03h

Top
2F2780 - INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - AVAILABLE FOR APPS
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - AVAILABLE FOR APPS
	AX = 2780h
	CL = function (07h-0Fh)
	???
Return: ???
Notes:	called by DPMS.EXE and EMM386.EXE
	the handlers for each of these functions may be set individually by
	  one of the subfunctions of AX=2780h/CL=01h; the default handlers
	  return with all registers unchanged
	this API is only available if AX=12FFh/BX=0EDCh returns successfully;
	  because the request is handled on the initial trap to the memory
	  manager caused by INT instructions, this API must be invoked with
	  an actual INT 2F instruction instead of some simulation such as a
	  far call to the address in the interrupt vector table
SeeAlso: AX=12FFh/BX=0EDCh,AX=2780h/CL=01h,AX=2780h/CL=02h,AX=2780h/CL=03h

Top
2F2781 - INT 2F U - Novell DOS 7 TaskMGR - BEGIN CRITICAL SECTION???
INT 2F U - Novell DOS 7 TaskMGR - BEGIN CRITICAL SECTION???
	AX = 2781h
Return: ???
SeeAlso: AX=2782h

Top
2F2782 - INT 2F U - Novell DOS 7 TaskMGR - END CRITICAL SECTION???
INT 2F U - Novell DOS 7 TaskMGR - END CRITICAL SECTION???
	AX = 2782h
Return: ???
SeeAlso: AX=2781h

Top
2F2783 - INT 2F U - Novell DOS 7 - EMM386.EXE - GET ???
INT 2F U - Novell DOS 7 - EMM386.EXE - GET ???
	AX = 2783h
Return: AX = ???
	BX = ???

Top
2F278F - INT 2F U - Novell DOS 7 TaskMGR - ??? API
INT 2F U - Novell DOS 7 TaskMGR - ??? API
	AX = 278Fh
	as for INT 2F/AX=2780h
Return: as for INT 2F/AX=2780h
Note:	Novell DOS 7 TaskMGR passes this call through to INT 2F/AX=2780h
	  without changing any other registers
SeeAlso: AX=2780h/CL=01h,AX=2782h

Top
2F2A - INT 2F - Gammafax DOS Dispatcher INTERFACE
INT 2F - Gammafax DOS Dispatcher INTERFACE
	AH = 2Ah
Note:	details not available at this time
SeeAlso: AX=8000h"FaxBIOS",AX=C000h/BX=444Bh,AX=CB00h,AX=CBDDh,INT 66"BitFax"

Top
2F2E00 - INT 2F U - Novell DOS 7 - GRAFTABL - INSTALLATION CHECK
INT 2F U - Novell DOS 7 - GRAFTABL - INSTALLATION CHECK
	AX = 2E00h
Return: AH = FFh if installed
Note:	this installation check does not follow the usual format of setting
	  AL to FFh
SeeAlso: AX=2300h,AH=2Eh"GRAFTABL"

Top
2F2E - INT 2F U - Novell DOS 7 - GRAFTABL - GET FONT TABLE
INT 2F U - Novell DOS 7 - GRAFTABL - GET FONT TABLE
	AH = 2Eh
	AL nonzero
Return: AH = FFh if installed
	    ES:BX -> graphics data (8 bytes per character from 80h to FFh)
SeeAlso: AX=2E00h,AH=23h"GRAFTABL"

Top
2F3900 - INT 2F - Kingswood TSR INTERFACE - COMPATIBILITY MODE
INT 2F - Kingswood TSR INTERFACE - COMPATIBILITY MODE
	AX = 3900h
Return: AL = status
	    00h not installed
	    FFh one or more TSRs using this interface is installed
		DX may be destroyed
Note:	this function is provided to that the multiplex number will appear used
	  to other programs
SeeAlso: AH=39h/BL=00h

Top
2F39--BL00 - INT 2F - Kingswood TSR INTERFACE - INSTALLATION CHECK
INT 2F - Kingswood TSR INTERFACE - INSTALLATION CHECK
	AH = 39h
	BL = 00h
	AL = TSR ID number (01h-FFh, currently only 01h-1Bh used) (see #02742)
Return: AL = status
	    00h not installed
	    FFh installed
		DX = segment address of resident module
Note:	All of Kingswood Software's TSRs use this interface.  Usually the
	  resident module is installed by allocating a block of upper memory,
	  setting its owner ID to 000Ah (used by DOS), and filling the MCB name
	  field with the TSR's name.
SeeAlso: #02743,AX=3900h,AH=39h/BL=01h

(Table 02742)
Values for Kingswood TSR ID number:
 01h	TSR Windows
 02h	NOBUSY
 03h	CD STACK
 04h	DISK WATCH
 05h	PUSHBP
 06h	ALIAS
 07h	KEYMACRO
 08h	SLOWDOWN
 09h	ANSIGRAB
 0Ah	TEE
 0Bh	FASTMOUS
 0Ch	EXTWILD
 0Dh	BREAKOUT
 0Eh	STOPDISK
 0Fh	MEMINIT
 10h	JANUSEXT
 11h	CAPS
 12h	ANSI
 13h	TRAPPER
 14h	EATMEM
 15h	WPJOKE
 16h	SHOWDOS
 17h	LOGINTS
 18h	BLANKVGA
 19h	SWAPEXEC
 1Ah	SHELL
 1Bh	TSRGAMES

Format of Kingswood TSR modules:
Offset	Size	Description	(Table 02743)
 00h  4 BYTEs	signature "FTSR"
 04h	WORD	segment address of this module (used to check validity)
 06h	WORD	number of words to skip (usually 0000h if no PSP present)
 08h  N WORDs	module-defined data that must be at a fixed segment offset
		(usually only a PSP if file access is required)
     5N BYTEs	interrupt list (see #02744)
	BYTE	FFh terminator

Format of Kingswood TSR interrupt list entry:
Offset	Size	Description	(Table 02744)
 00h	BYTE	interrupt number (00h-FEh)
 01h	WORD	offset within segment of DWORD pointer to previous interrupt
 03h	WORD	offset within segment of begin of interrupt handler code

Top
2F39--BL01 - INT 2F - Kingswood TSR INTERFACE - REMOVAL CHECK
INT 2F - Kingswood TSR INTERFACE - REMOVAL CHECK
	AH = 39h
	BL = 01h
	AL = TSR ID number (01h-FFh) (see #02742)
Return: AL = status
	    00h not ready to be removed
	    FFh resident module may be removed by deassigning the interrupts
		  hooked by the TSR and deallocating the TSR's memory block
	AH,BX,CX,DX,ES may be destroyed
SeeAlso: AX=3900h,AH=39h/BL=00h

Top
2F39 - INT 2F - Kingswood TSR INTERFACE - APPLICATION-SPECIFIC FUNCTION CALLS
INT 2F - Kingswood TSR INTERFACE - APPLICATION-SPECIFIC FUNCTION CALLS
	AH = 39h
	BL = function number (02h-FFh)
	AL = TSR ID number (01h-FFh) (see #02742)
	CX,DX,SI,DI,DS,ES may contain parameters
	BH reserved for use by the function dispatcher
Return: as appropriate for the called function
SeeAlso: AX=3900h,AH=39h/BL=00h,AX=3901h/BL=02h

Top
2F3901BL02 - INT 2F - Kingswood TSR Windows - OPEN WINDOW
INT 2F - Kingswood TSR Windows - OPEN WINDOW
	AX = 3901h
	BL = 02h
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
Notes:	opens the next TSR window on top of any others.	 Only three
	  TSR windows can be opened at any one time.  The three windows
	  are all 40x11 characters, partly overlapping.
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=03h,AX=3901h/BL=05h,AX=3901h/BL=06h

Top
2F3901BL03 - INT 2F - Kingswood TSR Windows - HIDE WINDOWS
INT 2F - Kingswood TSR Windows - HIDE WINDOWS
	AX = 3901h
	BL = 03h
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
Notes:	Hide any visible TSR windows from view.
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=02h,AX=3901h/BL=05h

Top
2F3901BL04 - INT 2F - Kingswood TSR Windows - SHOW WINDOWS
INT 2F - Kingswood TSR Windows - SHOW WINDOWS
	AX = 3901h
	BL = 04h
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
Notes:	Re-display all TSR windows after a HIDE WINDOWS call.
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=02h,AX=3901h/BL=03h

Top
2F3901BL05 - INT 2F - Kingswood TSR Windows - CLOSE WINDOW
INT 2F - Kingswood TSR Windows - CLOSE WINDOW
	AX = 3901h
	BL = 05h
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
Notes:	Close the last opened TSR window.
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=02h

Top
2F3901BL06 - INT 2F - Kingswood TSR Windows - SET WINDOW TITLE
INT 2F - Kingswood TSR Windows - SET WINDOW TITLE
	AX = 3901h
	BL = 06h
	DS:SI -> title string
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=02h

Top
2F3901BL07 - INT 2F - Kingswood TSR Windows - POSITION CURSOR
INT 2F - Kingswood TSR Windows - POSITION CURSOR
	AX = 3901h
	BL = 07h
	CH = Y coordinate (0-10)
	CL = X coordinate (0-39)
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
Note:	the hardware cursor is always disabled when a TSR window is opened;
	  this call only sets a text position
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=08h,AX=3901h/BL=09h

Top
2F3901BL08 - INT 2F - Kingswood TSR Windows - DISPLAY STRING
INT 2F - Kingswood TSR Windows - DISPLAY STRING
	AX = 3901h
	BL = 08h
	DS:SI -> string
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
Notes:	The text is not clipped.
	This routine understands Tab, NewLine and Carriage Return
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=07h

Top
2F3901BL09 - INT 2F - Kingswood TSR Windows - SCROLL WINDOW
INT 2F - Kingswood TSR Windows - SCROLL WINDOW
	AX = 3901h
	BL = 09h
	CL = scroll direction: 01h up, FFh down, 00h clear window
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=07h

Top
2F3901BL0A - INT 2F - Kingswood TSR Windows - SOUND BEEPER
INT 2F - Kingswood TSR Windows - SOUND BEEPER
	AX = 3901h
	BL = 0Ah
	DX = sound divisor, or 0 for silence.
	     (divide 1843200 by required frequency to get value for DX)
	CL = sound length in 18.2 Hz clock ticks
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
SeeAlso: AH=39h/BL=00h

Top
2F3901BL0B - INT 2F - Kingswood TSR Windows - ADD OR REMOVE USER
INT 2F - Kingswood TSR Windows - ADD OR REMOVE USER
	AX = 3901h
	BL = 0Bh
	CL = number of users increment: +1 if adding a new user
					-1 if removing a user
Return: AX = error code (0000h if successful)
	SI,DI,DS,ES preserved
Note:	the TSR windows resident module may only be removed when the internal
	  user count is zero
SeeAlso: AH=39h/BL=00h,AX=3901h/BL=02h

Top
2F3912BL03 - INT 2F - Kingswood ANSI display driver - SET COMPATIBILITY MODE
INT 2F - Kingswood ANSI display driver - SET COMPATIBILITY MODE
	AX = 3912h
	BL = 03h
	CL = new mode (00h fast, FFh BIOS)
Return: AL = old compatibility mode
	SI,DI,DS,ES preserved
SeeAlso: AX=3900h,AX=3912h/BL=04h

Top
2F3912BL04 - INT 2F - Kingswood ANSI display driver - SET FLAGS
INT 2F - Kingswood ANSI display driver - SET FLAGS
	AX = 3912h
	BL = 04h
	CL = new flags (see #02745)
Return: AL = old flags
	SI,DI,DS,ES preserved
SeeAlso: AX=3900h,AX=3912h/BL=03h

Bitfields for Kingswood ANSI flags:
Bit(s)	Description	(Table 02745)
 0	do not wrap at end of line
 1	wait for beeps to end before displaying next character
 2	do not use graphics cursor

Top
2F4000 - INT 2F - Windows 3+ (OS/2 2.x???) - GET VIRTUAL DEVICE DRIVER (VDD) CAPABILTIES
INT 2F - Windows 3+ (OS/2 2.x???) - GET VIRTUAL DEVICE DRIVER (VDD) CAPABILTIES
	AX = 4000h
Return: AL = video virtualization (see #02746)
Notes:	This function is used by display drivers to find out what capabilities
	  exist for the VDD driver and also trigger the VDD driver to call
	  functions 4005h and 4006h (and 4001h/4002h under OS/2?).  This
	  function also gives the Video Driver hardware access to the video
	  registers.
	Once the background/foreground callouts have been activated by a
	  call to this function, the application *must* handle those callouts
	  and save/restore the video memory itself.

(Table 02746)
Values for Windows video virtualization:
 01h	does not virtualize video access
 02h	virtualizes the video when in text mode
 03h	virtualizes the video when in text mode or single plane graphics modes
 04h	virtualizes the video when in text mode, single plane graphics modes,
	  and VGA multiplane modes
 FFh	virtualizes the video fully

Top
2F4001 - INT 2F C - OS/2 compatibility box - SWITCHING DOS TO BACKGROUND
INT 2F C - OS/2 compatibility box - SWITCHING DOS TO BACKGROUND
	AX = 4001h
Note:	called by OS/2 when the DOS box is about to be placed in the background
	  and the video driver should save any necessary state
SeeAlso: AX=4002h,AX=4005h

Top
2F4002 - INT 2F C - OS/2 compatibility box - SWITCHING DOS TO FOREGROUND
INT 2F C - OS/2 compatibility box - SWITCHING DOS TO FOREGROUND
	AX = 4002h
Note:	called by OS/2 when the DOS box is about to be placed in the foreground
	  and the video driver should restore the previously-saved state
SeeAlso: AX=4001h,AX=4006h

Top
2F4003 - INT 2F - Windows 3.x - ENTERING VIDEO DRIVER CRITICAL SECTION
INT 2F - Windows 3.x - ENTERING VIDEO DRIVER CRITICAL SECTION
	AX = 4003h
Note:	This critical section must be exited within 1 second.
SeeAlso: AX=4004h

Top
2F4004 - INT 2F - Windows 3.x - EXITING VIDEO DRIVER CRITICAL SECTION
INT 2F - Windows 3.x - EXITING VIDEO DRIVER CRITICAL SECTION
	AX = 4004h
SeeAlso: AX=4003h

Top
2F4005 - INT 2F C - Windows 3.x - SWITCHING DOS TO BACKGROUND
INT 2F C - Windows 3.x - SWITCHING DOS TO BACKGROUND
	AX = 4005h
Notes:	called by Windows when the DOS box is about to be placed in the
	  background and the video driver should save any necessary state
	  information (this may be called only in Standard mode)
	this callout is not made unless the application has first called
	  AX=4000h
SeeAlso: AX=4001h,AX=4006h

Top
2F4006 - INT 2F C - Windows 3.x - SWITCHING DOS TO FOREGROUND
INT 2F C - Windows 3.x - SWITCHING DOS TO FOREGROUND
	AX = 4006h
Notes:	called by Windows when the DOS box is about to be placed in the
	  foreground and the video driver should restore any necessary state
	  information (this may be called only in Standard mode)
	this callout is not made unless the application has first called
	  AX=4000h
SeeAlso: AX=4002h,AX=4005h

Top
2F4007 - INT 2F - Windows 3.x - ENABLE VDD TRAPPING OF VIDEO REGISTERS
INT 2F - Windows 3.x - ENABLE VDD TRAPPING OF VIDEO REGISTERS
	AX = 4007h
Note:	used by Windows Standard mode

Top
2F4010 - INT 2F - OS/2 v2.0+ - INSTALLATION CHECK / GET VERSION
INT 2F - OS/2 v2.0+ - INSTALLATION CHECK / GET VERSION
	AX = 4010h
Return: AX = 4010h if OS/2 not installed
	AX = 0000h for OS/2 Warp 3.0
	BX = OS/2 version if installed
Note:	OS/2 Warp 3.0
SeeAlso: INT 21/AH=30h,INT 21/AX=3306h

Top
2F4011 - INT 2F - OS/2 - GET VDD API ENTRY POINT
INT 2F - OS/2 - GET VDD API ENTRY POINT
	AX = 4011h
	DS:(E)SI -> ASCIZ name of VDD registered with VDHRegisterAPI
Return: ES:DI -> breakpoint address to call for VDD API, or 0000h:0000h
Note:	this function may be invoked from either V86 or protected mode, and
	  will return the appropriate address to call for invoking the VDD
	  in that mode
SeeAlso: AX=1684h"DEVICE API"

Top
2F4021 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
	AX = 4021h
	???
Return: ???
SeeAlso: AX=4022h,AX=4023h

Top
2F4022 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
	AX = 4022h
	???
Return: ???
SeeAlso: AX=4021h,AX=4023h

Top
2F4023 - INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
INT 2F UC - Diamond Stealth64 Video - STLTH64.VXD - ???
	AX = 4023h
	???
Return: ???
SeeAlso: AX=4021h,AX=4022h

Top
2F4027 - INT 2F UC - Diamond Stealth64 Video - DMSSTL.DRV - ???
INT 2F UC - Diamond Stealth64 Video - DMSSTL.DRV - ???
	AX = 4027h
	???
Return: ???
Notes:	called when ???
	a protected-mode handler for this function may be installed with the
	  function RFV_HOOKINT2FHANDLER
SeeAlso: AX=4021h,AX=4022h

Top
2F4040 - INT 2F - PharLap 286|DOS-Extender Lite v2.5 - ???
INT 2F - PharLap 286|DOS-Extender Lite v2.5 - ???
	AX = 4040h
Return: BX:CX -> ???

Top
2F4100 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - INSTALLATION CHECK
INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - INSTALLATION CHECK
	AX = 4100h
Return: CF clear if successful
	    AL = FFh
	CF set on error
	    AX = ???
Notes:	MINIPOP and NETPOPUP provide a network message popup service
	LAN Manager enhanced mode adds features beyond the standard redirector
	  file/printer services
SeeAlso: AX=118Ah,AX=4103h,AX=4104h,AH=42h,AH=4Bh

Top
2F4103 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
	AX = 4103h
Return: ???
SeeAlso: AX=4100h,AX=4104h

Top
2F4104 - INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
INT 2F - DOS Enhanced LAN Manager 2.0+ MINIPOP/NETPOPUP - ???
	AX = 4104h
Return: ???
SeeAlso: AX=4100h,AX=4103h

Top
2F42 - INT 2F - LAN Manager 2.0 DOS Enhanced MSRV.EXE - MESSENGER SERVICE
INT 2F - LAN Manager 2.0 DOS Enhanced MSRV.EXE - MESSENGER SERVICE
	AH = 42h
	???
Return: ???
Note:	LAN Manager enhanced mode adds features beyond the standard redirector
	  file/printer services
SeeAlso: AX=118Ah,AX=4100h,AH=4Bh

Top
2F4300 - INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - INSTALLATION CHECK
INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - INSTALLATION CHECK
	AX = 4300h
Return: AL = 80h XMS driver installed
	AL <> 80h no driver
Notes:	XMS gives access to extended memory and noncontiguous/nonEMS memory
	  above 640K
	this installation check DOES NOT follow the format used by other
	  software
SeeAlso: AX=4310h,AX=1687h,INT 67/AH=40h,@xxxxh:xxxxh"PMM"
Index:	installation check;XMS version 2+

Top
2F4308 - INT 2F U - HIMEM.SYS v2.77+ - GET A20 HANDLER NUMBER
INT 2F U - HIMEM.SYS v2.77+ - GET A20 HANDLER NUMBER
	AX = 4308h
Return: AL = 43h if supported
	    BL = A20 handler number (value of /MACHINE:nn switch)
	    BH = AT A20 switch time (00h medium, 01h fast, 02h slow)
Note:	if the A20 handler number returned in BL is 00h, an external handler
	  is being used (see AX=4330h)
SeeAlso: AX=4309h,AX=4330h

Top
2F4309 - INT 2F U - HIMEM.SYS v3.09+ - GET XMS HANDLE TABLE
INT 2F U - HIMEM.SYS v3.09+ - GET XMS HANDLE TABLE
	AX = 4309h
Return: AL = 43h if function supported
	    ES:BX -> XMS handle table (see #02747)
Note:	HIMEM.SYS v3.09 is part of MS-DOS 6.0.
SeeAlso: AX=4308h

Format of XMS handle table:
Offset	Size	Description	(Table 02747)
 00h	BYTE	??? (01h in HIMEM.SYS v3.09)
 01h	BYTE	size of one handle descriptor
 02h	WORD	number of handles (default = 20h)
 04h	DWORD	pointer to XMS handle array (see #02748)
SeeAlso: #02777

Format of XMS handle descriptor [array]:
Offset	Size	Description	(Table 02748)
 00h	BYTE	flag
		01h=free, 02h=used, 04h=in pool but not associated with any EMB
 01h	BYTE	lock count (00h=unlocked)
 02h	DWORD	address of XMS block in KB (shift left by 10 for abs. address)
 06h	DWORD	size of XMS block in KB

Top
2F4310 - INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - GET DRIVER ADDRESS
INT 2F - EXTENDED MEMORY SPECIFICATION (XMS) v2+ - GET DRIVER ADDRESS
	AX = 4310h
Return: ES:BX -> driver entry point (see #02749,#02750,#02753,#02760,#02769,#02774)
Notes:	HIMEM.SYS v2.77 chains to previous handler if AH is not 00h or 10h
	HIMEM.SYS requires at least 256 bytes free stack space when calling
	  the driver entry point
SeeAlso: AX=4300h,AX=4310h"Cloaking",AX=4310h"Netroom",AX=4310h"XMZ"

Format of XMS driver entry point:
Offset	Size	Description	(Table 02749)
 00h  5 BYTEs	jump to actual handler
		either short jump (EBh XXh) followed by three NOPs or
		  far jump (EAh XXXX:XXXX) to a program which has hooked itself
		  into the XMS driver chain
Note:	to hook into the XMS driver chain, a program should follow the chain of
	  far jumps until it reaches the short jump of the driver at the end
	  of the chain; this short jump is to be replaced with a far jump to
	  the new handler's entry point, which should contain a short jump
	  followed by three NOPs.  The new handler must return to the address
	  pointed at by the short jump which was overwritten.  Using this
	  method, the new handler becomes the first to see every XMS request.

(Table 02750)
Call the XMS driver "Get XMS version number" function with:
	AH = 00h
Return: AX = XMS version (in BCD, AH=major, AL=minor)
	BX = internal revision number (in BCD for HIMEM.SYS)
	DX = High Memory Area (HMA) state
	    0001h HMA (1M to 1M + 64K) exists
	    0000h HMA does not exist
SeeAlso: #02751,#02752,#02757,#02758,#02764

(Table 02751)
Call the XMS driver "Request High Memory Area" function with:
	AH = 01h
	DX = memory in bytes (for TSR or device drivers)
	    FFFFh if application program
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,90h,91h,92h) (see #02775)
Note:	HIMEM.SYS will fail function 01h with error code 91h if AL=40h and
	  DX=KB free extended memory returned by last call of function 08h
SeeAlso: #02752,#02784

(Table 02752)
Call the XMS driver "Release High Memory Area" function with:
	AH = 02h
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,90h,93h) (see #02775)
SeeAlso: #02751

(Table 02753)
Call the XMS driver "Global enable A20, for using the HMA" function with:
	AH = 03h
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,82h) (see #02775)
SeeAlso: #02754,#02755,MSR 00001000h

(Table 02754)
Call the XMS driver "Global disable A20" function with:
	AH = 04h
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,82h,94h) (see #02775)
SeeAlso: #02753,#02756,MSR 00001000h

(Table 02755)
Call the XMS driver "Local enable A20" function with:
	AH = 05h
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,82h) (see #02775)
Note:	this function is used for direct access to extended memory
SeeAlso: #02753,#02756

(Table 02756)
Call the XMS driver "Local disable A20" function with:
	AH = 06h
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,82h,94h) (see #02775)
SeeAlso: #02754,#02755

(Table 02757)
Call the XMS driver "Query A20 state" function with:
	AH = 07h
Return: AX = status
	    0001h enabled
	    0000h disabled
		BL = error code (00h,80h,81h) (see #02775)
SeeAlso: #02750,#02758

(Table 02758)
Call the XMS driver "Query free extended memory" function with:
	AH = 08h
	BL = 00h (some implementations leave BL unchanged on success)
Return: AX = size of largest extended memory block in KB
	DX = total extended memory in KB
	BL = error code (00h,80h,81h,A0h) (see #02775)
Note:	this function does not include the HMA in the returned memory sizes
SeeAlso: #02750,#02757,#02759,#02771

(Table 02759)
Call the XMS driver "Allocate extended memory block" function with:
	AH = 09h
	DX = Kbytes needed
Return: AX = status
	    0001h success
		DX = handle for memory block
	    0000h failure
		BL = error code (80h,81h,A0h) (see #02775)
SeeAlso: #02758,#02761,#02764,#02765,#02766,#02772

(Table 02760)
Call the XMS driver "Free extended memory block" function with:
	AH = 0Ah
	DX = handle of block to free
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,A2h,ABh) (see #02775)
SeeAlso: #02759,#02772

(Table 02761)
Call the XMS driver "Move extended memory block" function with:
	AH = 0Bh
	DS:SI -> EMM structure (see #02776)
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h-82h,A3h-A9h) (see #02775)
Note:	if either handle in the EMM structure is 0000h, the corresponding
	  offset is considered to be an absolute segment:offset address in
	  directly addressable memory
SeeAlso: #02759,#02762

(Table 02762)
Call the XMS driver "Lock extended memory block" function with:
	AH = 0Ch
	DX = handle of block to lock
Return: AX = status
	    0001h success
		DX:BX = 32-bit physical address of locked block
	    0000h failure
		BL = error code (80h,81h,A2h,ACh,ADh) (see #02775)
Note:	MS Windows 3.x rejects this function for handles allocated after
	  Windows started
SeeAlso: #02759,#02761,#02763,#02777

(Table 02763)
Call the XMS driver "Unlock extended memory block" function with:
	AH = 0Dh
	DX = handle of block to unlock
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,A2h,AAh) (see #02775)
SeeAlso: #02762

(Table 02764)
Call the XMS driver "Get handle information" function with:
	AH = 0Eh
	DX = handle for which to get info
Return: AX = status
	    0001h success
		BH = block's lock count
		BL = number of free handles left
		DX = block size in KB
	    0000h failure
		BL = error code (80h,81h,A2h) (see #02775)
BUG:	MS Windows 3.10 acts as though unallocated handles are in use
Note:	MS Windows 3.00 has problems with this call
SeeAlso: #02750,#02759,#02773

(Table 02765)
Call the XMS driver "Reallocate extended memory block" function with:
	AH = 0Fh
	DX = handle of block
	BX = new size of block in KB
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,81h,A0h-A2h,ABh) (see #02775)
SeeAlso: #02759,#02768

(Table 02766)
Call the XMS driver "Request upper memory block" function with:
	AH = 10h
	DX = size of block in paragraphs
Return: AX = status
	    0001h success
		BX = segment address of UMB
		DX = actual size of block
	    0000h failure
		BL = error code (80h,B0h,B1h) (see #02775)
		DX = largest available block
Notes:	Upper Memory consists of non-EMS memory between 640K and 1024K
	the XMS driver need not implement functions 10h through 12h to be
	  considered compliant with the standard
	under DOS 5+, if CONFIG.SYS contains the line DOS=UMB, then no upper
	  memory blocks will be available for allocation because all blocks
	  have been grabbed by MS-DOS while booting
SeeAlso: #02759,#02767,#02785,INT 21/AH=58h"UMB"

(Table 02767)
Call the XMS driver "Release upper memory block" function with:
	AH = 11h
	DX = segment address of UMB to release
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,B2h) (see #02775)
Note:	the XMS driver need not implement functions 10h through 12h to be
	  considered compliant with the standard
SeeAlso: #02760,#02766,#02768

(Table 02768)
Call the XMS v3.0+ driver "Reallocate upper memory block" function with:
	AH = 12h
	DX = segment address of UMB to resize
	BX = new size of block in paragraphs
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,B0h,B2h) (see #02775)
		DX = maximum available size (RM386)
Note:	the XMS driver need not implement functions 10h through 12h to be
	  considered compliant with the standard
SeeAlso: #02765,#02766,#02767,#02783

(Table 02769)
Call the QEMM v5.11 "???" function with:
	AH = 34h  (QEMM 5.11 only, undocumented)
	???
Return: ???
SeeAlso: #02770

(Table 02770)
Call the QEMM v5.11 "???" function with:
	AH = 44h  (QEMM 5.11 only, undocumented)
	???
Return: ???
SeeAlso: #02769,#02783

(Table 02771)
Call the XMS v3.0 driver "Query free extended memory" function with:
	AH = 88h
Return: EAX = largest block of extended memory, in KB
	BL = status (00h,80h,81h,A0h) (see #02775)
	ECX = physical address of highest byte of memory
	    (valid even on error codes 81h and A0h)
	EDX = total Kbytes of extended memory (0 if status A0h)
BUG:	HIMEM v3.03-3.07 crash on an 80286 machine if any of the 8Xh functions
	  are called
SeeAlso: #02758,#02772

(Table 02772)
Call the XMS v3.0 driver "Allocate any extended memory" function with:
	AH = 89h
	EDX = Kbytes needed
Return: AX = status
	    0001h success
		DX = handle for allocated block (free with AH=0Ah) (see #02760)
	    0000h failure
		BL = status (80h,81h,A0h,A1h,A2h) (see #02775)
SeeAlso: #02759,#02771

(Table 02773)
Call the XMS v3.0 driver "Get extended EMB handle information" function with:
	AH = 8Eh
	DX = handle
Return: AX = status
	    0001h success
		BH = block's lock count
		CX = number of free handles left
		EDX = block size in KB
	    0000h failure
		BL = status (80h,81h,A2h) (see #02775)
BUG:	MS-DOS 6.0 HIMEM.SYS leaves CX unchanged
SeeAlso: #02764,#02772,#02774

(Table 02774)
Call the XMS v3.0 driver "Reallocate any extended memory block" function with:
	AH = 8Fh
	DX = unlocked memory block handle
	EBX = new size in KB
Return: AX = status
	    0001h success
	    0000h failure
		BL = status (80h,81h,A0h-A2h,ABh) (see #02775)
BUG:	HIMEM v3.03-3.07 crash on an 80286 machine if any of the 8Xh functions
	  are called
SeeAlso: #02765,#02773

(Table 02775)
Values for XMS error code returned in BL:
 00h	successful
 80h	function not implemented
 81h	Vdisk was detected
 82h	an A20 error occurred
 8Eh	a general driver error
 8Fh	unrecoverable driver error
 90h	HMA does not exist or is not managed by XMS provider
 91h	HMA is already in use
 92h	DX is less than the /HMAMIN= parameter
 93h	HMA is not allocated
 94h	A20 line still enabled
 A0h	all extended memory is allocated
 A1h	all available extended memory handles are allocated
 A2h	invalid handle
 A3h	source handle is invalid
 A4h	source offset is invalid
 A5h	destination handle is invalid
 A6h	destination offset is invalid
 A7h	length is invalid
 A8h	move has an invalid overlap
 A9h	parity error occurred
 AAh	block is not locked
 ABh	block is locked
 ACh	block lock count overflowed
 ADh	lock failed
 B0h	only a smaller UMB is available
 B1h	no UMB's are available
 B2h	UMB segment number is invalid

Format of EMM structure:
Offset	Size	Description	(Table 02776)
 00h	DWORD	number of bytes to move (must be even)
 04h	WORD	source handle
 06h	DWORD	offset into source block
 0Ah	WORD	destination handle
 0Ch	DWORD	offset into destination block
Notes:	if source and destination overlap, only forward moves (source base
	  less than destination base) are guaranteed to work properly
	if either handle is zero, the corresponding offset is interpreted
	  as a real-mode address referring to memory directly addressable
	  by the processor

Format of XMS handle info [array]:
Offset	Size	Description	(Table 02777)
 00h	BYTE	handle
 01h	BYTE	lock count
 02h	DWORD	handle size
 06h	DWORD	handle physical address (only valid if lock count nonzero)
SeeAlso: #02747,#02762

Top
2F4310 - INT 2F - Cloaking - REAL-MODE API
INT 2F - Cloaking - REAL-MODE API
	AX = 4310h
Return: ES:BX -> driver entry point (see #02749,#02778,#02779,#02780,#02781)
SeeAlso: AX=4310h"XMS"

(Table 02778)
Call the Cloaking v1.01 "Client Registration" function with:
	AH = 7Eh
	BX = subfunction
	    0000h get client registration count
	    0001h get client registration structures
		ES:DI -> buffer for registration structures
Return: AX = status
	    0000h failed
	    0001h successful
		---subfunction 00h---
		BX = size of client structure in bytes
		CX = number of clients installed
		---subfunction 01h---
		ES:DI buffer filled
SeeAlso: #02779,#02781,INT 2C/AX=0033h

(Table 02779)
Call the Cloaking v1.01 "Verify Cloaking Host" function with:
	AH = 7Fh
Return: AX = status
	    0000h failed
	    0001h (successful) if installed
		BX = version (0101h for v1.01)
		CX = flags
		    bit 0: host is VCPI-based
		DS:DX -> ASCIZ Cloaking host signature
		    "CLOAKING.EXE"0, followed by a far-call entry point to
		      uninstall host (see #02780) in Helix's CLOAKING.EXE
SeeAlso: #02778,#02781
Index:	installation check;Cloaking host|installation check;CLOAKING.EXE

(Table 02780)
Call the CLOAKING.EXE "Uninstall Host" function with:
Return: AX = 4F4Bh ('OK') if successfully uninstalled protected-mode code

(Table 02781)
Call the Cloaking "Start Protected-Mode Client" function with:
	AH = 82h
	DX = XMS handle of locked block containing protected-mode code
	CL = code size (00h 16-bit, else 32-bit)
	ESI, EDI = parameters to pass to protected-mode code
Return: AX = status
	    nonzero success
	    0000h failed
		BL = error code (A2h,B0h) (see #02775)
Notes:	this function calls a user initialization function at offset 0 in
	  the XMS memory block (see #02782)
	supported by Helix's RM386 v6.00 and Helix's CLOAKING.EXE
SeeAlso: #02778,#02779

(Table 02782)
Values user initialization function is called with:
	EBX = physical address of block's start
	ESI = user data from function 82h call
	EDI = user data from function 82h call
	CS = code selector for XMS block at EBX (16-bit or 32-bit)
	DS = data selector for XMS block, starting at EBX
	ES = selector for V86 memory access to full real-mode 1088K
	GS = selector for full 4G flat address space
	SS:ESP -> stack provided by host
Return: via 32-bit FAR return
Note:	the initialization function may call any protected-mode Cloaking
	  service; it should store the values of DS, ES, and GS for future
	  reference

Top
2F4310 - INT 2F - Helix Netroom RM386 v6.00 - XMS EXTENSIONS
INT 2F - Helix Netroom RM386 v6.00 - XMS EXTENSIONS
	AX = 4310h
Return: ES:BX -> driver entry point (see #02783,#02784,#02785,#02786)
Notes:	HIMEM.SYS v2.77 chains to previous handler if AH is not 00h or 10h
	HIMEM.SYS requires at least 256 bytes free stack space when calling
	  the driver entry point
SeeAlso: AX=4300h,AX=4310h"XMS",AX=4310h"Cloaking"

(Table 02783)
Call the Netroom RM386 v6.00 "Reallocate upper memory block" function with:
	AH = 80h
	DX = segment address of UMB to resize
	BX = new size of block in paragraphs
Return: AX = status
	    0001h success
	    0000h failure
		BL = error code (80h,B0h,B2h) (see #02775)
		DX = maximum available size
Note:	this function is identical to function 12h
SeeAlso: #02768,#02784

(Table 02784)
Call the Netroom RM386 v6.00 "re-enable HMA allocation" function with:
	AH = 81h
Return: AX = 0001h (success)
SeeAlso: #02751,#02783,#02785

(Table 02785)
Call the Netroom RM386 v6.00 "Create new UMB entry" function with:
	AH = 83h
	BX = segment of high-memory block
	DX = first page of start of block
	CX = number of consecutive pages in block
	DI = start of UMB in block
Return: AX = 0001h (success)
	DI = segment of first high-DOS block
Note:	the new UMB is not linked into the high-memory chain
SeeAlso: #02766,#02784,#02786

(Table 02786)
Call the Netroom RM386 v6.00 "Get all XMS handles info" function with:
	AH = 84h
	CX = size of buffer for handle info
	ES:DI -> buffer for handle info (see #02777)
Return: AX = 0001h (success)
	DX = current number of allocated XMS handles
SeeAlso: #02785,#02771

Top
2F4310 - INT 2F - NEC PC-9800 - XMZ - PRIVATE API
INT 2F - NEC PC-9800 - XMZ - PRIVATE API
	AX = 4310h
Return: ES:BX -> driver entry point (see #02787,#02788)
Program: XMZ is an XMS 2.x-compatible driver for the NEC PC-98 series written
	  by ZOBplus Hayami and available at
	  ftp:/ftp.tohoku.ac.jp/pub/msdos/Memory/xmz/
SeeAlso: AX=4300h,AX=4310h"XMS"

(Table 02787)
Call XMZ v1.02 "Get HMA Information" function with:
	AH = FFh  (XMZ only)
	AL = 01h
Return: AX = 1 on success
	DX = minimum HMA allocation size (/HMAMIN=)
	BX = actual size of HMA allocation, if in use (i.e. the value in DX
	      when XMS function 1 was called)
SeeAlso: #02788

(Table 02788)
Call XMZ v1.02 "Get EMB Handle Information" function with:
	AH = FFh  (XMZ only)
	AL = 02h
Return: AX = 1 on success
	DX = number of EMB handles configured (/NUMHANDLES=)
	BX = offset in XMZ's segment of the handle table (use segment of
	      entry point) (see #02789)
SeeAlso: #02787

Format of XMZ v1.02 EMB Handle structure:
Offset	Size	Description	(Table 02789)
 00h	BYTE	flag byte
		04h unused handle slot
		02h in-use handle slot
		01h handle slot that represents a free block
 01h	BYTE	lock count
 02h	WORD	block start address (1K increments)
 04h	WORD	block length (1K increments)
SeeAlso: #02788

Top
2F4320 - INT 2F U - HIMEM.SYS - Mach 20 SUPPORT
INT 2F U - HIMEM.SYS - Mach 20 SUPPORT
	AX = 4320h
	???
Return: ???

Top
2F4330 - INT 2F CU - HIMEM.SYS v2.77+ - GET EXTERNAL A20 HANDLER ADDRESS
INT 2F CU - HIMEM.SYS v2.77+ - GET EXTERNAL A20 HANDLER ADDRESS
	AX = 4330h
Return: AL = 80h if external A20 handler provided
	    ES:BX -> external A20 handler (see #02790)
	    CL = A20 detection support
		00h handler is unable to report A20 state
		01h handler supports function 0002h to report A20 state
Note:	HIMEM.SYS calls this function to allow an external program to provide
	  an A20 handler (i.e. to support a machine not supported by HIMEM
	  itself)
SeeAlso: AX=4308h,AX=4310h

(Table 02790)
Call parameters for external A20 handler are:
	AX = function
	    0000h disable A20
	    0001h enable A20
	    0002h get A20 state
Return: AX = status (functions 0000h and 0001h)
	    0000h failure
	    0001h successful
	AX = A20 state (function 0002h)
	    0000h disabled
	    0001h enabled
Note:	HIMEM.SYS only calls function 0002h if the returned CL indicated that
	  the handler supports the call

Top
2F43D6 - INT 2F - Multiplex - ???
INT 2F - Multiplex - ???
	AX = 43D6h
Note:	Central Point's CPBACKUP v9 calls this function with CX=07FFh and
	  DX=80D3h at startup

Top
2F43E0BX0000 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - INSTALLATION CHECK
INT 2F - DOS Protected Mode Services (DPMS) v1.0 - INSTALLATION CHECK
	AX = 43E0h
	BX = 0000h
	CX = 4450h ('DP')
	DX = 4D53h ('MS')
Return: AX = 0000h if installed
	    CF clear
	    ES:DI -> server structure (see #02791)
	    ES:BX -> registration structure (pre-NWDOS 7 beta spec) (see #02793)
Note:	the DPMS 1.0 server included with the original release of Novell DOS
	  7.0 supports both the beta and 1.0 specification, setting ES:BX even
	  if CX and DX are not as specified on entry (since the beta
	  specification did not use those registers).  However, the DPMS 1.1
	  server included with the March 1994 update does not support the beta
	  specification
SeeAlso: AX=43E1h,AX=43E2h,AX=43E3h,INT 2F/AX=1687h
Index:	signature strings;DPMS

Format of DPMS 1.0 server structure:
Offset	Size	Description	(Table 02791)
 00h  4 BYTEs	signature string "DPMS"
 04h  2 BYTEs	DPMS version (major,minor)
 06h  8 BYTEs	blank-padded server OEM name
 0Eh  2 BYTEs	OEM server version (major,minor)
 10h	WORD	DPMS flags (see #02792)
 12h	BYTE	CPU type
		(02h = 286, 03h = 386 or higher, higher values allowed)

Bitfields for DPMS flags:
Bit(s)	Description	(Table 02792)
 0	fast processor reset available (286 only)
 1	DPMS server is enabled
 2	memory is remapped
 3-15	reserved (undefined)

Format of beta DPMS registration structure:
Offset	Size	Description	(Table 02793)
 00h	DWORD	real-mode API entry point (see #02795)
 04h	DWORD	16-bit protected-mode API entry point (see #02795)
 08h  8 BYTEs	reserved (0)
 10h  8 BYTEs	blank-padded server OEM name
 18h	WORD	flags
		bit 0: fast processor reset available (286 only)
		bits 1-15 reserved (undefined)
 1Ah  2 BYTEs	DPMS version (major,minor)
 1Ch	BYTE	CPU type (02h = 286, 03h = 386 or higher)

Top
2F43E1 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - REGISTER CLIENT
INT 2F - DOS Protected Mode Services (DPMS) v1.0 - REGISTER CLIENT
	AX = 43E1h
	CX = required protected-mode stack size in bytes
	ES:DI -> DPMS client interface structure (see #02794)
Return: AX = 0000h if supported
	   CF clear
	   ES:DI buffer filled with API entry point code from offset 0Ah
Note:	the client is allowed to copy the returned API code to any location in
	  memory, and need not keep the three code fields together
SeeAlso: AX=43E0h,AX=43E2h,AX=43E3h

Format of DPMS client interface structure:
Offset	Size	Description	(Table 02794)
 00h	WORD	0000h (structure version / flags)
 02h  8 BYTEs	blank-padded client name
 0Ah  7 BYTEs	real/virtual-86 mode API code (see #02795)
 11h	BYTE	space for return instruction
		set to C3h for near return, CBh for far return
 12h  7 BYTEs	16-bit protected-mode API code (see #02795)
 19h	BYTE	space for return instruction
		set to C3h for near return, CBh for far return
 1Ah  9 BYTEs	32-bit protected-mode API code (see #02795)
 23h	BYTE	space for return instruction
		set to C3h for near return, CBh for far return
Note:	the DPMS server fills the return opcode bytes with zeros and DPMS
	  requests will thus crash the system unless the application
	  explicitly sets them (some early versions set them to C3h by
	  default, but one should not rely on that)

(Table 02795)
Call DPMS entry point with:
	AX = 0000h unregister client from server
 ---control transfer functions---
	AX = 0100h call protected-mode procedure
		CX = number of words of stack to copy
		ES:(E)DI -> callup/down register structure (see #02797)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0101h call real-mode procedure (RETF return)
		CX = number of words of stack to copy
		ES:(E)DI -> callup/down register structure (see #02797)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0102h call real-mode procedure (IRET return)
		CX = number of words of stack to copy
		ES:(E)DI -> callup/down register structure (see #02797)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0103h call real-mode interrupt handler
		BL = interrupt number
		CX = number of words of stack to copy
		ES:(E)DI -> callup/down register structure (see #02797)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0104h register default protected mode procedure
		ES:(E)DI -> default register structure (see #02798)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0105h register default real-mode procedure (RETF return)
		ES:(E)DI -> default register structure (see #02798)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
		Note:	the procedure will be called from 16-bit prot. mode
	AX = 0106h register default real-mode procedure (IRET return)
		ES:(E)DI -> default register structure (see #02798)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
		Note:	the procedure will be called from 16-bit prot. mode
	AX = 0107h register default real-mode interrupt handler
		BL = interrupt number
		ES:(E)DI -> default register structure (see #02798)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
		Note:	the handler will be called from 16-bit protected mode
	AX = 0108h register default real-mode procedure (RETF return)
		ES:(E)DI -> default register structure (see #02798)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
		Note:	the procedure will be called from 32-bit prot. mode
	AX = 0109h register default real-mode procedure (IRET return)
		ES:(E)DI -> default register structure (see #02798)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
		Note:	the procedure will be called from 32-bit prot. mode
	AX = 010Ah register default real-mode interrupt handler
		BL = interrupt number
		ES:(E)DI -> default register structure (see #02798)
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
		Note:	the handler will be called from 32-bit protected mode
 ---descriptor management---
	AX = 0200h allocate descriptors
		CX = number of descriptors to allocate
		Return: CF clear if successful
			    AX = selector for first descriptor allocated
			CF set on error
			    AX = error code (see #02796)
	AX = 0201h free a descriptor
		BX = selector for descriptor
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0202h create alias descriptor
		BX = selector for descriptor to be aliased
		Return: CF clear if successful
			    AX = alias descriptor
			CF set on error
			    AX = error code (see #02796)
	AX = 0203h build alias to real-mode segment
		BX = descriptor
		CX = real-mode segment
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0204h set descriptor base
		BX = descriptor
		CX:DX = base address
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0205h set descriptor limit
		BX = descriptor
		CX = limit
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0206h set descriptor type/attribute
		BX = descriptor
		CL = type
		CH = attribute
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0207h get descriptor base
		BX = descriptor
		Return: CF clear if successful
			    CX:DX = base address
			CF set on error
			    AX = error code (see #02796)
 ---linear memory functions---
	AX = 0300h get size of largest free block of memory
		Return: CF clear if successful
			    BX:CX = size
			CF set on error
			    AX = error code (see #02796)
	AX = 0301h allocate block of extended memory
		BX:CX = required size
		Return: CF clear if successful
			    BX:CX = base address
			    SI:DI = handle
			CF set on error
			    AX = error code (see #02796)
	AX = 0302h free block of extended memory
		SI:DI = handle
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0303h map linear memory
		ES:(E)DI -> DDS (see #02799)
		Return: CF clear if successful
			    BX:CX = base address
			    SI:DI = handle
			CF set on error
			    AX = error code (see #02796)
	AX = 0304h unmap linear memory
		SI:DI = handle
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0305h get page table entries
		ESI = linear address
		(E)CX = count
		ES:(E)DI -> buffer for page table entries
		Return: CF clear if successful
			    ES:(E)DI buffer filled
			CF set on error
			    AX = error code (see #02796)
	AX = 0306h set page table entries
		EBX = linear memory handle
		ESI = linear address
		(E)CX = count
		ES:(E)DI -> buffer containing page table entries
		Return: CF clear if successful
			CF set on error
			    AX = error code (see #02796)
	AX = 0307h get largest mappable block size
		Return: CF clear if successful
			    BX:CX = size
			CF set on error
			    AX = error code (see #02796)
 ---miscellaneous---
	AX = 0400h relocate segment to extended memory
		ES:SI = base address
		CX = limit
		BL = type
		BH = attribute
		DX = selector or 0000h
		Return: CF clear if successful
			    AX = selector
			    BX:CX = new base address
			    SI:DI = handle
			CF set on error
			    AX = error code (see #02796)
Note:	the beta DPMS specification, which is still supported by the Novell
	  DOS 7.0 DPMS host, only supported functions 0100h-0103h, 0200h-0207h,
	  0300h-0304h, and 0400h

(Table 02796)
Values for DPMS error code:
 8000h	general error
 8001h	unsupported function
 8002h	unable to switch to protected mode
 8004h	no default stack defined
 8005h	unknown client
 8010h	resource unavailable
 8011h	descriptor unavailable
 8012h	linear memory unavailable
 8013h	physical memory unavailable
 8021h	invalid value
 8022h	invalid selector
 8023h	invalid handle
 8025h	invalid linear address

Format of DPMS callup/down register structure:
Offset	Size	Description	(Table 02797)
 00h	DWORD	EDI
 04h	DWORD	ESI
 08h	DWORD	EBP
 0Ch  4 BYTEs	reserved (0) (ESP, may be used by DPMS server)
 10h	DWORD	EBX
 14h	DWORD	EDX
 18h	DWORD	ECX
 20h	DWORD	EAX
 24h	DWORD	EIP
 28h	WORD	CS
 2Ah  2 BYTEs	reserved (0)
 2Ch	DWORD	EFLAGS
 30h	DWORD	ESP
 34h	WORD	SS
 36h  2 BYTEs	reserved (0)
 38h	WORD	ES
 3Ah  2 BYTEs	reserved (0)
 3Ch	WORD	DS
 3Eh  2 BYTEs	reserved (0)
 40h	WORD	FS
 42h  2 BYTEs	reserved (0)
 44h	WORD	GS
 46h  2 BYTEs	reserved (0)

Format of DPMS default register structure:
Offset	Size	Description	(Table 02798)
 00h	DWORD	EIP
 04h	WORD	CS
 06h  2 BYTEs	reserved (0)
 08h	WORD	number of words to copy from stack to stack
 0Ah	BYTE	(call) 00h
		(ret) nonzero if call could not be made
 0Bh	BYTE	reserved (may be used by some servers)
 0Ch	DWORD	ESP
 10h	WORD	SS
 12h  2 BYTEs	reserved (0)
 14h	WORD	ES
 16h  2 BYTEs	reserved (0)
 18h	WORD	DS
 1Ah  2 BYTEs	reserved (0)
 1Ch	WORD	FS
 1Eh  2 BYTEs	reserved (0)
 20h	WORD	GS
 22h  2 BYTEs	reserved (0)
 24h  9 BYTEs	API entry code (filled in by server)

Format of DPMS lock DDS:
Offset	Size	Description	(Table 02799)
 00h	DWORD	total size in bytes
 04h	DWORD	offset
 08h	WORD	segment or selector
 0Ah	WORD	reserved
 0Ch	WORD	maximum number of physical blocks structure has space for
 0Eh	WORD	number of physical blocks listed
 10h	DWORD	physical address of first block
 14h	DWORD	size in bytes of first block
	...

Top
2F43E2 - INT 2F - DOS Protected Mode Services (DPMS) v1.0 - ENABLE/DISABLE DPMS
INT 2F - DOS Protected Mode Services (DPMS) v1.0 - ENABLE/DISABLE DPMS
	AX = 43E2h
	BX = new state (0000h disable, 0001h enable)
Return: AX = 0000h if supported
Note:	this function should normally be called only by system software
SeeAlso: AX=43E0h,AX=43E1h,AX=43E3h

Top
2F43E3BX0000 - INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS STARTUP BROADCAST
INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS STARTUP BROADCAST
	AX = 43E3h
	BX = 0000h
	CX = 4450h ('DP')
	DX = 4D53h ('MS')
	ES:DI -> DPMS server structure (see #02791)
Return: BX = status
	    bit 0 set if server is not allowed to load (e.g. some resident
		  program is incompatible)
Note:	this callout is made while the potential server is running as a normal
	  real-mode DOS program, so there are no BIOS/DOS re-entrancy issues
SeeAlso: AX=43E0h,AX=43E4h

Top
2F43E4BX0000 - INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS EXIT BROADCAST
INT 2F C - DOS Protected Mode Services (DPMS) v1.0 - DPMS EXIT BROADCAST
	AX = 43E4h
	BX = 0000h
	CX = 4450h ('DP')
	DX = 4D53h ('MS')
Return: BX = status
	    bit 0 set if server is not allowed to unload
Note:	servers never unload until all clients unregister
SeeAlso: AX=43E0h,AX=43E3h

Top
2F44 - INT 2F U - DOS Extender support???
INT 2F U - DOS Extender support???
	AH = 44h
	AL = function (at least 0Bh, 15h, 17h)
	???
Return: ???
Note:	called by Codeview for Windows
SeeAlso: AH=86h

Top
2F4500 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - INSTALLATION CHECK
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - INSTALLATION CHECK
	AX = 4500h
Return: AL = installation status
	    01h if PROF.COM installed
	    02h if VPROD.386 installed
SeeAlso: AX=4501h,AX=4502h

Top
2F4501 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SETUP PROFILER
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SETUP PROFILER
	AX = 4501h
	BX = CSIPS buffer size in KB (first parameter for ProfSetup)
	CX = output limit in KB (second parameter for ProfSetup)
Note:	this call is not supported by PROF.COM
SeeAlso: AX=4502h,AX=4503h

Top
2F4502 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SET SAMPLING RATE
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SET SAMPLING RATE
	AX = 4502h
	BL = sampling rate for PROF.COM (0 < BL <= 13)
	    (01h = 8192/s, 04h = 1024/s, 08h = 32/s, 0Dh = 1/s)
	CX = sampling rate for VPROD.386
Note:	for PROF.COM, this programs the CMOS clock by setting BL+2 as the
	  low four bits of CMOS register 0Ah.  The interruption rate is
	  1 SHL (15 - BL) per second.
SeeAlso: AX=4501h,AX=4503h

Top
2F4503 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - START PROFILING
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - START PROFILING
	AX = 4503h
Notes:	Profiling is also turned on by the key combinations
	  LeftShift + RightShift + Alt and LeftShift + RightShift + Ctrl
	for PROF.COM, this call programs the CMOS clock by reading register
	  0Ch, and setting bit 6 of register 0Bh.  It then makes sure that IRQ8
	  is unmasked
SeeAlso: AX=4504h

Top
2F4504 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - STOP PROFILING
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - STOP PROFILING
	AX = 4504h
Notes:	profiling is also turned off by the key combination
	  LeftShift + RightShift
	for PROF.COM, this programs the CMOS clock by reading register 0Ch
	  and clearing bit 6 of register 0Bh.  It then masks IRQ8.
SeeAlso: AX=4503h,AX=4505h,AX=4506h,AX=4507h

Top
2F4505 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - CLEAR PROFILING DATA
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - CLEAR PROFILING DATA
	AX = 4505h
SeeAlso: AX=4503h,AX=4504h,AX=4506h

Top
2F4506 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFlush"
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFlush"
	AX = 4506h
SeeAlso: AX=4505h,AX=4507h

Top
2F4507 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFinish"
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFinish"
	AX = 4507h
Note:	this call is essentially a "ProfStop" (AX=4504h) followed by
	  "ProfFlush" (AX=4506h)
SeeAlso: AX=4504h,AX=4505h,AX=4506h

Top
2F4508 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - ALTERNATE SEGDEBUG IFACE
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - ALTERNATE SEGDEBUG IFACE
	AX = 4508h
	BX = ordinal (or 0000h)
	CX = segment
	DX = instance (or 0000h)
	SI = type (or 0000h)
	ES:DI -> ASCIZ module name
Notes:	this call is an alternate entry to the profiler's SEGDEBUG
	  interface, but only to function 0, for notifying the profiler of
	  each new segment loaded.  The SHOWHITS utility then examines the
	  profiler's output files (CSIPS.DAT and SEGENTRY.DAT) in conjunction
	  with symbol files to provide information in a useful form.
	this call does not have a corresponding Windows function
SeeAlso: AX=4500h

Top
2F4601 - INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
	AX = 4601h
Return: ???
Note:	the DOS 5+ kernel intercepts this function and copies the MCB
	   following the caller's PSP memory block into the DOS data segment;
	   in conjunction with AX=4602h, this intercept is used by DOS to
	   avoid corruption of the Windows real-mode heap's end sentinel
SeeAlso: AX=1700h,AX=4602h

Top
2F4602 - INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
INT 2F CU - MS Windows WINOLDAP - SWITCHING ???
	AX = 4602h
Return: ???
Note:	the DOS 5+ kernel intercepts this function and copies the
	  previously-saved MCB from the DOS data segment into the MCB following
	  the caller's PSP memory block; in conjunction with AX=4601h, this
	  intercept is used by DOS to avoid corruption of the Windows real-mode
	  heap's end sentinel
SeeAlso: AX=1700h,AX=4601h

Top
2F46 - INT 2F U - Windows/286 DOS Extender
INT 2F U - Windows/286 DOS Extender
	AH = 46h
	AL = subfunction (03h,04h)
Return: ???
Note:	these two subfunctions are called by MS Windows 3.0

Top
2F4653CX0002 - INT 2F - F-PROT v1.x only - F-LOCK.EXE - API
INT 2F - F-PROT v1.x only - F-LOCK.EXE - API
	AX = 4653h ('FS')
	CX = 0002h
	BX = subfunction
	    0000h  installation check
		Return: AX = FFFFh
	    0001h  uninstall
		Return: AX,BX,ES destroyed
	    0002h  disable (v1.08 and below only)
	    0003h  enable (v1.08 and below only)
Program: F-LOCK is part of the shareware F-PROT virus/trojan protection
	  package by Fridrik Skulason
SeeAlso: AX=4653h/CX=0003h,AX=CA00h,INT 21/AX=4BEEh
Index:	installation check;F-LOCK|uninstall;F-LOCK

Top
2F4653CX0003 - INT 2F - F-PROT v1.x only - F-XCHK.EXE - API
INT 2F - F-PROT v1.x only - F-XCHK.EXE - API
	AX = 4653h ('FS')
	CX = 0003h
	BX = subfunction
	    0000h  installation check
		Return: AX = FFFFh
	    0001h  uninstall
		Return: AX,BX,ES destroyed
Program: F-XCHK is part of the shareware F-PROT virus/trojan protection
	  package by Fridrik Skulason
SeeAlso: AX=4653h/CX=0002h,AX=4653h/CX=0004h,AX=CA00h
Index:	installation check;F-XCHK|uninstall;F-XCHK

Top
2F4653CX0004 - INT 2F - F-PROT v1.x only - F-POPUP.EXE - API
INT 2F - F-PROT v1.x only - F-POPUP.EXE - API
	AX = 4653h ('FS')
	CX = 0004h
	BX = subfunction
	    0000h  installation check
		Return: AX = FFFFh
	    0001h  uninstall
		Return: AX,BX,ES destroyed
	    0002h  disable (v1.08 and below only)
		   display message (v1.14+)
			other registers: ???
	    0003h  enable (v1.08 and below only)
		   display message (v1.14+)
			other registers: ???
			Return: AX = key pressed by user
Program: F-POPUP is part of the shareware F-PROT virus/trojan protection
	  package by Fridrik Skulason
SeeAlso: AX=4653h/CX=0003h,AX=4653h/CX=0005h,AX=CA00h
Index:	installation check;F-POPUP|uninstall;F-POPUP

Top
2F4653CX0005 - INT 2F - F-PROT v1.x only - F-DLOCK.EXE - API
INT 2F - F-PROT v1.x only - F-DLOCK.EXE - API
	AX = 4653h ('FS')
	CX = 0005h
	BX = subfunction
	    0000h installation check
		Return: AX = FFFFh
	    0001h uninstall
		Return: AX,BX,ES destroyed
Program: F-DLOCK is part of the shareware F-PROT virus/trojan protection
	  package by Fridrik Skulason
SeeAlso: AX=4653h/CX=0004h,AX=CA00h
Index:	installation check;F-DLOCK|uninstall;F-DLOCK

Top
2F4653CX0007 - INT 2F - F-PROT v2.x - VIRSTOP - ENABLE/DISABLE BOOTSECTOR READ CHECKING
INT 2F - F-PROT v2.x - VIRSTOP - ENABLE/DISABLE BOOTSECTOR READ CHECKING
	AX = 4653h ('FS')
	CX = 0007h
	BL = new state of bootsector checking (01h = disabled)
Program: VIRSTOP is the resident virus-checker from Fridrik Skulason's F-PROT
	  virus/trojan protection package

Top
2F4653CX0008 - INT 2F - F-PROT v2.x - ???
INT 2F - F-PROT v2.x - ???
	AX = 4653h ('FS')
	CX = 0008h
	???
Return: ???
Note:	called by F-PROT v2.x VIRSTOP

Top
2F4653CX0008 - INT 2F - F-PROT v2.x - VIRSTOP - INSTALLATION CHECK
INT 2F - F-PROT v2.x - VIRSTOP - INSTALLATION CHECK
	AX = 4653h ('FS')
	CX = 0008h
Return: AX = 5346h if installed
	    BX = version???
	    DS:SI -> ASCIZ name of file containing virus signatures
	    DS:DI -> 80-byte buffer for ???

Top
2F4680 - INT 2F U - MS Windows v3.0 - INSTALLATION CHECK
INT 2F U - MS Windows v3.0 - INSTALLATION CHECK
	AX = 4680h
Return: AX = result
	    0000h MS Windows 3.0 running in real (/R) or standard (/S) mode,
		  or DOS 5 DOSSHELL active
	    nonzero  no Windows, Windows prior to 3.0, or Windows3 in enhanced
		  mode
Note:	Windows 3.1 finally provides an installation check which works in all
	  modes (see AX=160Ah)
SeeAlso: AX=1600h,AX=160Ah

Top
2F47 - INT 2F U - ???
INT 2F U - ???
	AH = 47h
	???
Return: ???
Note:	reportedly called by Microsoft BASIC Compiler v7.0

Top
2F4800 - INT 2F - DOS 5+ DOSKEY - INSTALLATION CHECK
INT 2F - DOS 5+ DOSKEY - INSTALLATION CHECK
	AX = 4800h
Return: AL = nonzero if installed
	    (DOS 5.0 and 6.0 return AX=AA02h, Novell DOS 7 returns AX=EDFFh)
	    ES = segment of DOSKEY resident portion
	    DX = ??? (Novell DOS only; 02E6h for shipped v0.01)
Notes:	DOSKEY chains if AL is not 00h or 10h on entry
	this function is supported by Novell DOS 7 DOSKEY
SeeAlso: AX=4800h"PCED",AX=4810h

Top
2F4800 - INT 2F - PCED v2.1 - INSTALLATION CHECK
INT 2F - PCED v2.1 - INSTALLATION CHECK
	AX = 4800h
Return: AX = AACDh if installed
	    ES = segment of PCED kernel (PCED has multiple code segments)
Program: PCED v2.1 is a command line editor/history/macro facility by
	  Cove Software.  It is the commercial version of the freeware CED.
Notes:	DOSKEY also responds to this call if installed, returning AX=AA02h.
	unlike DOSKEY, PCED does *not* chain if AL contains an
	  unsupported function code.  It IRETs with all registers intact.

Top
2F4810 - INT 2F - DOS 5+ DOSKEY, PCED v2.1 - READ INPUT LINE FROM CONSOLE
INT 2F - DOS 5+ DOSKEY, PCED v2.1 - READ INPUT LINE FROM CONSOLE
	AX = 4810h
	DS:DX -> line buffer (see #01344 at INT 21/AH=0Ah)
Return: AX = 0000h if successful
Notes:	the first byte (length) of the buffer MUST be 80h, or MS-DOS's DOSKEY
	  chains to the previous handler; PCED and Novell DOS allow sizes
	  other than 80h
	if the user's input is a macro name, no text is placed in the buffer
	  even though AX=0000h on return; the program must immediately issue
	  this call again to retrieve the expansion of the macro.  Similarly,
	  if the user enters a special parameter such as $*, this call must
	  be repeated to retrieve the expansion; on the second call, DOSKEY
	  overwrites the macro name on the screen with its expansion.
	unlike DOSKEY, PCED expands all macros on the first call, so it is
	  not necessary to make two calls; since the buffer is not empty on
	  return, DOSKEY-aware programs will not make the second call
	DOSKEY chains if AL is not 00h or 10h on entry
	this function is supported by Novell DOS 7 DOSKEY
SeeAlso: AX=4800h,INT 21/AH=0Ah

Top
2F48C0 - INT 2F - PCED v2.1 - PCED API
INT 2F - PCED v2.1 - PCED API
	AX = 48C0h
	DX = API function code
	other registers as required by the specified function
Return: CF clear if successful
	CF set on error
	    AX = PCED error code
	other registers as appropriate for API function
Program: PCED v2.1 is a command line editor/history/macro facility by
	  Cove Software.  It is the commercial version of the freeware CED.
Note:	the full API information is available from Cove Software
SeeAlso: AX=4800h"PCED",AX=48C1h,AX=48C2h,AX=48C3h

Top
2F48C1BL00 - INT 2F - PCED/VSTACK - INSTALLATION CHECK
INT 2F - PCED/VSTACK - INSTALLATION CHECK
	AX = 48C1h
	BL = 00h
Return: AX = 0000h if installed
	    BX = VSTACK resident segment
Program: VSTACK is a resident backscroll utility included as part of the PCED
	  package by Cove Software
Note:	chains if BL <> 00h on entry
SeeAlso: AX=48C0h,AX=48C2h

Top
2F48C2BL00 - INT 2F - PCED/ATTRIB - INSTALLATION CHECK
INT 2F - PCED/ATTRIB - INSTALLATION CHECK
	AX = 48C2h
	BL = 00h
Return: AX = 0000h if installed
	    BX = ATTRIB resident segment
Program: ATTRIB is a resident file attribute changer included as part of the
	  PCED package by Cove Software
Note:	chains if BL <> 00h on entry
SeeAlso: AX=48C0h,AX=48C1h,AX=48C3h

Top
2F48C3BL00 - INT 2F - PCED/KEYDEF - INSTALLATION CHECK
INT 2F - PCED/KEYDEF - INSTALLATION CHECK
	AX = 48C3h
	BL = 00h
Return: AX = 0000h if installed
	    BX = KEYDEF resident segment
Program: KEYDEF is a resident keyboard redefinition utility included as part
	  of the PCED package by Cove Software
Note:	chains if BL <> 00h on entry
SeeAlso: AX=48C0h,AX=48C2h,AX=48C4h

Top
2F48C4BL00 - INT 2F - PCED/FLIST - INSTALLATION CHECK
INT 2F - PCED/FLIST - INSTALLATION CHECK
	AX = 48C4h
	BL = 00h
Return: AX = 0000h if installed
	    BX = FLIST resident segment
Program: FLIST is a resident filelist processor included as part of the PCED
	  package by Cove Software
Note:	chains if BL <> 00h on entry
SeeAlso: AX=48C0h,AX=48C3h,AX=48C5h

Top
2F48C5BL00 - INT 2F - PCED/ASSOC - INSTALLATION CHECK
INT 2F - PCED/ASSOC - INSTALLATION CHECK
	AX = 48C5h
	BL = 00h
Return: AX = 0000h if installed
	    BX = ASSOC resident segment
Program: ASSOC is a resident utility included as part of the PCED package which
	  associates files with executable programs based on their extensions
Note:	chains if BL > 02h on entry
SeeAlso: AX=48C0h,AX=48C4h,AX=48C5h/BL=01h,AX=48C5h/BL=02h

Top
2F48C5BL01 - INT 2F - PCED/ASSOC - GET VERSION
INT 2F - PCED/ASSOC - GET VERSION
	AX = 48C5h
	BL = 01h
Return: AX = 0000h if installed
	    BX = binary ASSOC version (BL = major, BH = minor)
Note:	chains if BL > 02h on entry
SeeAlso: AX=48C0h,AX=48C5h/BL=00h,AX=48C5h/BL=02h

Top
2F48C5BL02 - INT 2F - PCED/ASSOC - ASSOCIATION TEST
INT 2F - PCED/ASSOC - ASSOCIATION TEST
	AX = 48C5h
	BL = 02h
	DS:SI -> ASCIZ filename
Return: AX = status
	    0000h if filename is unknown
	    0001h if there is an association defined for the file
	BX destroyed
Program: ASSOC is a resident utility included as part of the PCED package which
	  associates files with executable programs based on their extensions
Note:	chains if BL > 02h on entry
SeeAlso: AX=48C0h,AX=48C5h/BL=00h,AX=48C5h/BL=01h

Top
2F49 - INT 2F U - DOS 5.0+ SETUP
INT 2F U - DOS 5.0+ SETUP
	AH = 49h
	AL = function
	    00h update format completion gauge
		BX = percentage complete, 0000h when done, FFFFh if aborted
		Return: AX = status
			    0000h continue formatting
			    else  installation program wants FORMAT to abort
	    10h get pointer to resident data
		AX = FFFFh if supported
		    ES:BX -> internal structure
	???
Return: ???

Top
2F4A00CX0000 - INT 2F CU - DOS 5+ - FLOPPY-DISK LOGICAL DRIVE CHANGE NOTIFICATION
INT 2F CU - DOS 5+ - FLOPPY-DISK LOGICAL DRIVE CHANGE NOTIFICATION
	AX = 4A00h
	CX = 0000h
	DH = new drive number
	DL = current drive number
Return: CX = FFFFh to skip "Insert diskette for drive X:" message
Note:	called by MS-DOS 5.0+ IO.SYS just before displaying the message
	  "Insert diskette for drive X:" on single-floppy systems

Top
2F4A01 - INT 2F - DOS 5+ - QUERY FREE HMA SPACE
INT 2F - DOS 5+ - QUERY FREE HMA SPACE
	AX = 4A01h
Return: BX = number of bytes available in HMA (0000h if DOS not using HMA)
	ES:DI -> start of available HMA area (FFFFh:FFFFh if not using HMA)
Notes:	called by Windows 3.1 DOSX.EXE
	supported by Novell DOS 7
SeeAlso: AX=4310h,AX=4A02h

Top
2F4A02 - INT 2F - DOS 5+ - ALLOCATE HMA SPACE
INT 2F - DOS 5+ - ALLOCATE HMA SPACE
	AX = 4A02h
	BX = number of bytes
Return: ES:DI -> start of allocated HMA block or FFFFh:FFFFh
	BX = number of bytes actually allocated (rounded up to next paragraph
	      for DOS 5.0 and 6.0)
Notes:	this call is not valid unless DOS is loaded in the HMA (DOS=HIGH)
	called by Windows 3.1 DOSX.EXE
	supported by Novell DOS 7
SeeAlso: AX=4A01h,AX=4A03h

Top
2F4A03 - INT 2F U - Windows95 - DOS KERNEL - (DE)ALLOCATE HMA MEMORY BLOCK
INT 2F U - Windows95 - DOS KERNEL - (DE)ALLOCATE HMA MEMORY BLOCK
	AX = 4A03h
	CX = segment of block's owner???
	DL = subfunction
	    00h allocate block
		BX = number of bytes
		Return: DI=FFFFh if unable to allocate
			ES:DI -> allocated block
	    01h resize block
		ES:DI -> previously-allocated block
		BX = new size in bytes (must be less than original size???)
		Return: DI=FFFFh if unable to allocate
			ES:DI -> reallocated block
		Note:	the contents of the original block are NOT copied
	    02h free block???
		ES:DI -> block to be freed
Note:	in MS-DOS 7.x, function 4A02h is implemented by calling this function
	  with DL=00h
SeeAlso: AX=4A02h

Top
2F4A04 - INT 2F U - Windows95 - DOS KERNEL - GET START OF HMA MEMORY CHAIN
INT 2F U - Windows95 - DOS KERNEL - GET START OF HMA MEMORY CHAIN
	AX = 4A04h
Return: AX = 0000h if function supported
	    ES:DI -> first HMA memory control block (see #02800)

Format of Windows95 HMA memory control block:
Offset	Size	Description	(Table 02800)
 00h  2 BYTEs	signature "MS" (4Dh 53h)
 02h	WORD	segment of owner (or segment at which to address block???)
		0000h = free
		0001h = DOS???
		FF33h = IO.SYS
		FFFFh = MSDOS.SYS
 04h	WORD	size of memory block (not including this header)
 06h	WORD	offset of next memory block in segment FFFFh, or 0000h if last
 08h  8 BYTEs	unused (explicitly set to 0 for MS-DOS 7.10)

Top
2F4A05 - INT 2F U - DOS 5+ DOSSHELL - TASK SWITCHING API???
INT 2F U - DOS 5+ DOSSHELL - TASK SWITCHING API???
	AX = 4A05h
	SI = function
	    0000h reset???
	    0001h ???
		ES:BP -> 80-byte buffer containing ???
	    0002h ???
	    0003h ???
	    0004h ???
		BL = ???
	    0005h ???
	    0006h get ???
		Return: ES:SI -> ???
	    0007h get ???
		Return: AX = ???
	    0008h get ???
		Return: DX:AX -> ??? (internal control data of some kind)
	    0009h get ???
		Return: ES:SI -> ??? (apparently identical to function 0006h)
	    000Ah ???
		BL = length of buffer
		ES:BP -> buffer containing ???
	    000Bh get ???
		Return: AX = ???
	    000Ch ???
		BL = ???
		Return: if BL nonzero on entry
			    DX:AX -> ???
			if BL = 00h on entry
			    ES:SI -> ???
Notes:	DOSSHELL chains to the previous handler if SI is not one of the values
	  listed above
	the DOSSWAP.EXE module calls functions 03h,04h,05h,07h,08h,09h,0Ch
	the Windows 3.1 DSWAP.EXE and WSWAP.EXE task switchers use these calls
SeeAlso: AX=4B01h

Top
2F4A06 - INT 2F CU - DOS 5+ - DOS SUPERVISOR "REBOOT PANEL" - ADJUST MEMORY SIZE
INT 2F CU - DOS 5+ - DOS SUPERVISOR "REBOOT PANEL" - ADJUST MEMORY SIZE
	AX = 4A06h
	DX = segment following last byte of conventional memory
Return: DX = segment following last byte of memory available for use by DOS
Desc:	used to override the default memory size when booting diskless
	  workstations
Notes:	called by MS-DOS 5+ IO.SYS and DR DOS 6.0+ IBMBIO.OCM startup code if
	  the signature "RPL" is present three bytes beyond the INT 2F handler;
	  this call overrides the value returned by INT 12
	hooked by RPL code at the top of memory to protect itself from being
	  overwritten; DOS builds a memory block with owner = 0008h and name
	  "RPL" which must be freed by the RPL code when it is done.
	  Under DR DOS, it is sufficient to set the owner field of the MCB to
	  0000h.
	In addition to the test for "RPL", DR PalmDOS (since 1992/08/25),
	  DR DOS 6.0 "Business update March 1993", DR DOS "Panther" and
	  "StarTrek", and Novell DOS 7+ also check for a "RPLOADER" signature.
	  If this 2nd signature is found, IBMBIO.COM will store the INT 2Fh
	  vector for later use after the BIOS init, when at several points it
	  directly calls the RPLOADER via an emulated INT 2Fh with
	  AX=12FFh/BX=5/CX=0/DX=1 and a phase code 1, 2 or 3 on the stack.
	  This permits the RPLOADER to keep track of the initialization
	  process and clean or fix up anything it wishes.  The "phase 1"
	  broadcast is issued after the BIOS init code and data have been
	  relocated (e.g. into the HMA), "phase 2" gets issued immediately
	  before the CONFIG.SYS processing begins and the DOS code and data
	  are relocated, and the closing "phase 3" happens to permit any
	  final tidy ups before the memory manager gets acknowledgement of
	  completion.
SeeAlso: INT 12"BIOS",INT 18"BOOT HOOK",AX=4A07h,INT 2F/AX=12FFh/BX=0005h

Top
2F4A07 - INT 2F U - RESERVED FOR PROTMAN SUPPORT
INT 2F U - RESERVED FOR PROTMAN SUPPORT
	AX = 4A07h
	???
Return: ???
SeeAlso: AX=4A06h,INT 18"BOOT HOOK"

Top
2F4A10BX0000 - INT 2F - SMARTDRV v4.00+ - INSTALLATION CHECK AND HIT RATIOS
INT 2F - SMARTDRV v4.00+ - INSTALLATION CHECK AND HIT RATIOS
	AX = 4A10h
	BX = 0000h
	CX = EBABh (v4.1+; see Note), and CX <> 0EDCh
Return: AX = BABEh if installed
	    DX:BX = cache hits
	    DI:SI = cache misses
	    CX = number of dirty cache elements
	    BP = version in BCD (4.10 = 0410h)
		4.0  = 0400h (Windows 3.1)
		4.01 = 0401h (MS-DOS 6.0, 1992/07/30)
		4.10 = 0410h (1992/11/11)
		4.20 = 0420h
		5.0  = 0500h (MS-DOS 6.2)
Notes:	most of the SMARTDRV API, including this call, is supported by
	  PC-Cache v8.0 and recent versions of the Norton Caches
	the internal name for SMARTDRV is "BAMBI", hence the magic "BABE".
	if DBLSPACE.BIN is installed but SMARTDRV has not yet been installed,
	  then calls of this function with CX<>EBABh on entry cause
	  DBLSPACE.BIN to display the error message
	  "Cannot run SMARTDrive 4.0 with DoubleSpace" and abort the caller
	  with INT 21/AX=4C00h
	Since the Novell DOS 7 - DR-DOS 7.03 NWCACHE supports a similar 
	  install check at this function, but the returned registers
	  contain different data, the caller must take the returned AX value
	  into account to ensure proper interpretation of the returned info.
	  The caller should ensure CX <> 0EDCh to avoid any interaction
	  with the NWCACHE and COMMAND.COM special case of CX=0EDCh.
	  Although this is an install check, NWCACHE always flushes delayed
	  writes to disk, when calling this function with CX<>0EDCh or while
	  /FLUSH:ON is active, but this is nothing to rely upon. The reason
	  for this could be to get more accurate statistics, while SMARTDRV
	  just takes a on-the-fly snapshot of the statistic vars.
	The private NWCACHE/NLCACHE install check INT2Fh/D8C0h does not flush
	  to disk, and therefore can be used by callers that must ensure
	  the buffers aren't flushed on this function (e.g. alternative
	  command shells may need this to make their "flush before prompt"
	  feature configurable).
	The NWCACHE 0EDCh special case will most probably vanish with
	  future issues of NWCACHE (2.0+).
	SMARTDRV v3.x had a completely different API using IOCTL calls, which
	  was also supported by the Norton Caches
BUG:	Although DS and ES registers are listed as unmodified, some
	  releases of SMARTDRV seem to trash the DS register, at least the
	  MS-DOS 6.2+ KEYB takes care to preserve the DS register when calling
	  this function.
SeeAlso: AX=4A10h/BX=0001h,AX=4A10h/BX=0004h,AX=4A10h/BX=0005h
SeeAlso: AX=4A10h/BX=0007h,AX=4A10h/BX=1234h,AX=4A11h/BX=0000h
SeeAlso: INT 21/AX=4402h"SMARTDRV",INT 21/AX=4403h"SMARTDRV"

Top
2F4A10BX0000 - INT 2F U - Novell NWCACHE - INSTALLATION CHECK AND STATISTICS
INT 2F U - Novell NWCACHE - INSTALLATION CHECK AND STATISTICS
	AX = 4A10h
	BX = 0000h
	CX = magic value
	    0EDCh flush delayed writes
		('EDC' = Novell European Development Center)
	    other (use EBABh to avoid SMARTDRV/DBLSPACE interaction)
Return: (also refer to notes below)
	AX = 6756h ('gV') if installed
	    CF clear
	    BX = cache memory type
		01h conventional memory
		02h extended memory
		03h EMS
	    DI:SI = cache misses
	    CX:DX = segment:offset address of data area containing statistics
		  (see #04095)
	    BP = version in BCD 
		0100h = 1.00
		0101h = 1.01 & 1.02 (!)
Notes:	SMARTDRV 4.0+ uses a similar installation check on this function but
	  returns different data.  To ensure proper interpretation of
	  the returned values, the caller must check the returned magic
	  value in AX. Since SMARTDRV may also alter DI:SI (and possibly
	  DS), the caller should take care of this, too.
	The Novell DOS / DR-DOS 7.x COMMAND.COM invokes this function with
	  CX=0EDCh, which causes NWCACHE to flush any delayed writes before
	  returning the normal register values if it is configured to flush
	  writes before returning to the DOS prompt (/FLUSH:ON); however, if
	  /FLUSH:OFF, this function becomes a NOP with CX=0EDCh.
	Note that for this function the 0EDCh special case may vanish with
	  future issues of NWCACHE (2.0+), and the function would then always
	  do the normal install check, and not flush the cache.
SeeAlso: AX=4A10h/BX=0001h"NWCACHE"

Format of NWCACHE statistics:
Offset	Size	Description	(Table 04095)
 00h	DWORD	number of read requests
 04h	DWORD	number of reads performed
 08h	DWORD	number of write requests
 0Ch	DWORD	number of writes performed
 10h	WORD	number of disk errors
 12h	WORD	number of cache memory errors

Top
2F4A10BX0001 - INT 2F - SMARTDRV v4.00+ - FLUSH BUFFERS (COMMIT CACHE)
INT 2F - SMARTDRV v4.00+ - FLUSH BUFFERS (COMMIT CACHE)
	AX = 4A10h
	BX = 0001h
Note:	this function is also supported by PC-Cache v8.0.
SeeAlso: AX=4A10h/BX=0000h,AX=4A10h/BX=0002h,INT 21/AH=0Dh

Top
2F4A10BX0001 - INT 2F U - Novell NWCACHE - ???
INT 2F U - Novell NWCACHE - ???
	AX = 4A10h
	BX = 0001h
	CX = 0EDCh ('EDC' = Novell European Development Center)
Return: ???
SeeAlso: AX=4A10h/BX=0000h"NWCACHE"

Top
2F4A10BX0002 - INT 2F - SMARTDRV v4.00+ - RESET CACHE
INT 2F - SMARTDRV v4.00+ - RESET CACHE
	AX = 4A10h
	BX = 0002h
Note:	this function is also supported by PC-Cache v8.0.
SeeAlso: AX=4A10h/BX=0000h,AX=4A10h/BX=0001h

Top
2F4A10BX0003 - INT 2F - SMARTDRV v4.00+ - STATUS
INT 2F - SMARTDRV v4.00+ - STATUS
	AX = 4A10h
	BX = 0003h
	BP = drive number (0=A, 1=B, etc.)
		FFFFh = all drives (NWCACHE only)
	DL = subfunction
	    00h only get information
	    01h turn on read cache
	    02h turn off read cache
	    03h turn on write cache
	    04h turn off write cache
	    ---NWCACHE---
	    05h reduce cache size
		CX = number of KB to reduce (can't shrink below min size)
	    06h increase cache size
		CX = number of KB to increase (can't grow above max size)
Return: AX = BABEh if OK
	DL = status (see #02801)
	DL = FFh if drive does not exist
Notes:	If the read cache is off, reads will not be cached, but writes will
	  continue to be cached if the write-cache is enabled.
	this function is also supported by PC-Cache v8.0.
	SMARTDRV flushes the cache if sub-functions 02h or 04h have been
	  called to disable read or write caching.
	On calling this function, NWCACHE flushes any delayed writes,
	  but you should not rely on this, since this behavior may vanish
	  in future versions.
BUG:	The MS-DOS 6.20+ SCANDISK disables a SMARTDRV 4+ compatible cache
	  for the drive it is about to process.  However, at least when the
	  cache loaded is NWCACHE, the cache will still remain disabled for
	  this drive after SCANDISK has finished.  The reason for this behavior
	  is not yet known. The workaround is to re-enable with the
	  NWCACHE d:+ syntax afterwards, where d: is the corresponding
	  drive letter.
SeeAlso: AX=4A10h/BX=0000h

Bitfields for SMARTDRV status:
Bit(s)	Description	(Table 02801)
 7	not cached (no read-caching)
 6	write-through (not write-cached)
 0-5	real drive number (0=A, 1=B...)
Notes:	the "real" drive number is always set to 00h for RAM disks and to 3Fh
	  for CD-ROMs; unfortunately, the latter means that an uncached CD-ROM
	  has status FFh, just as a nonexistent drive does
	also supported by Novell DOS 7 - Caldera/Lineo DR-DOS 7.03 NWCACHE

Top
2F4A10BX0004 - INT 2F - SMARTDRV v4.00+ - GET CACHE SIZE
INT 2F - SMARTDRV v4.00+ - GET CACHE SIZE
	AX = 4A10h
	BX = 0004h
Return: AX = size in elements of full-sized cache
	BX = current size in elements
	CX = size of one element in bytes
	DX = number of elements under Windows
Note:	this function is also supported by PC-Cache v8.0.
SeeAlso: AX=4A10h/BX=0000h,AX=4A10h/BX=0003h,AX=4A10h/BX=0005h

Top
2F4A10BX0005 - INT 2F - SMARTDRV v4.00+ - GET DOUBLE-BUFFER STATUS
INT 2F - SMARTDRV v4.00+ - GET DOUBLE-BUFFER STATUS
	AX = 4A10h
	BX = 0005h
	BP = drive number (0=A, 1=B...)
Return: AX = BABEh if double-buffered
	    ES:DI -> 16-byte array of status bytes for fixed disks (see #02802)
SeeAlso: AX=4A10h/BX=0000h,AX=4A10h/BX=0003h,AX=4A10h/BX=0006h

(Table 02802)
Values for SMARTDRV status byte:
 00h	state unknown
 FFh	drive double-buffered
 else	not double-buffered

Top
2F4A10BX0006 - INT 2F CU - SMARTDRV v4.00+ - CHECK IF DRIVE CACHEABLE
INT 2F CU - SMARTDRV v4.00+ - CHECK IF DRIVE CACHEABLE
	AX = 4A10h
	BX = 0006h
	CL = drive number (01h = A:)
Return: AX = 0006h if drive should not be cached by SMARTDRV
Note:	called by SMARTDRV at startup to determine whether it should cache
	  a particular drive
SeeAlso: AX=4A10h/BX=0000h

Top
2F4A10BX0007 - INT 2F - SMARTDRV v4.00+ - GET DEVICE DRIVER FOR DRIVE
INT 2F - SMARTDRV v4.00+ - GET DEVICE DRIVER FOR DRIVE
	AX = 4A10h
	BX = 0007h
	BP = drive number (00h=A:)
Return: DL = unit number within device driver
	ES:DI -> device driver header for drive (see #01646)
Note:	this function is also supported by PC-Cache v8.0.
	this call is reported to always return the driver header of the
	  standard block driver (A:-C:+) for SmartDrive v5.00 from MS-DOS 6.2
SeeAlso: AX=4A10h/BX=0000h,AX=4A11h/BX=0003h,AX=4A11h/BX=0004h

Top
2F4A10BX0008 - INT 2F - SMARTDRV v4.20+ - GET/SET FLUSH BEFORE PROMPT, CD-ROM SUPPORT
INT 2F - SMARTDRV v4.20+ - GET/SET FLUSH BEFORE PROMPT, CD-ROM SUPPORT
	AX = 4A10h
	BX = 0008h
	DL = subfunction
	    00h set
		DH = new states
		    bit 0: flush before prompt
		    bits 1-7 reserved (0)
	    01h get
		Return: DH = status flags
			    bit 0: (v4.2+) flush before prompt
			    bit 1: (v5.0+) CD-ROM caching support installed
Note:	v4.2 was an interim release to fix problems in the SMARTDRV included
	  with MS-DOS 6.00; v5.00 is included with MS-DOS 6.2

Top
2F4A10BX000A - INT 2F - SMARTDRV v4.00+ - GET ELEMENT STATUS TABLE
INT 2F - SMARTDRV v4.00+ - GET ELEMENT STATUS TABLE
	AX = 4A10h
	BX = 000Ah
Return: ES:BX -> information pointer table (see #02803)
Note:	this function is also supported by PC-Cache v8.0.
SeeAlso: AX=4A10h/BX=0000h

Format of SMARTDRV information pointer table:
Offset	Size	Description	(Table 02803)
 00h	WORD	offset of ??? byte/word array (byte if elements < 2000h bytes)
 02h	WORD	offset of dirty flag byte/word array (byte if elts < 2000h)
		each byte/word is a bit string of the dirty sectors in element
 04h	WORD	offset of word array containing low halves of unique
		  identifiers for the corresponding element's contents
 06h	WORD	offset of word array containing high halves of unique
		  identifiers for the corresponding element's contents
 08h	WORD	offset of WORD containing current number of elements in cache

Top
2F4A10BX1234 - INT 2F - SMARTDRV v4.00+ - SIGNAL SERIOUS ERROR
INT 2F - SMARTDRV v4.00+ - SIGNAL SERIOUS ERROR
	AX = 4A10h
	BX = 1234h
Desc:	this function pops up a message box saying that a serious error
	  occurred and to hit R to retry, then waits for the keypress
Note:	this function is also supported by PC-Cache v8.0.
SeeAlso: AX=4A10h/BX=0000h

Top
2F4A11BX0000 - INT 2F - DBLSPACE.BIN - "GetVersion" - INSTALLATION CHECK
INT 2F - DBLSPACE.BIN - "GetVersion" - INSTALLATION CHECK
	AX = 4A11h
	BX = 0000h
Return: AX = 0000h (successful)
	BX = 444Dh ("DM")
	CL = first drive letter used by DBLSPACE (41h ['A'] = A:)
	CH = number of drive letters used by DBLSPACE
	DX = internal DBLSPACE.BIN version number (bits 14-0)
		bit 15 set if DBLSPACE.BIN has not yet been relocated to final
		  position in memory (i.e. DBLSPACE.SYS /MOVE)
Program: DBLSPACE.BIN is the resident driver for DoubleSpace, the
	  disk-compression software bundled with MS-DOS 6.0 and 6.20
Notes:	this function is also supported by the version of SuperStor bundled
	  with IBM DOS 6.x and "preloading" versions of Stacker
	the complete DBLSPACE.BIN API is still supported by MS-DOS 6.22's
	  DRVSPACE.BIN
SeeAlso: AX=4A11h/BX=0001h,AX=4A11h/BX=0002h,AX=4A11h/BX=0003h
SeeAlso: AX=4A11h/BX=0005h,AX=4A11h/BX=0007h,AX=4A11h/BX=FFFFh
SeeAlso: INT 21/AX=4404h"DBLSPACE"

Top
2F4A11BX0001 - INT 2F - DBLSPACE.BIN - "GetDriveMapping" - GET DRIVE MAPPING
INT 2F - DBLSPACE.BIN - "GetDriveMapping" - GET DRIVE MAPPING
	AX = 4A11h
	BX = 0001h
	DL = drive number (0=A:)
Return: AX = status (see also #02804)
	    0000h successful
		if DL was compressed drive,
		    BL = host drive (bit 7 set if drive is compressed)
		else if DL was host drive,
		    BL = compressed drive
		else
		    BL = specified drive (if available for DoubleSpace)
		BH = DoubleSpace sequence number
	    other error code (0101h) (see #02804)
		apparently never returned for the MS-DOS 6.2 DoubleSpace
Note:	the compressed volume file for the specified compressed drive is
	  host:\DBLSPACE.sequence
SeeAlso: AX=4A11h/BX=0000h

(Table 02804)
Values for DBLSPACE function status:
 0000h	successful
 0100h	bad function
 0101h	invalid drive
 0102h	not a compressed drive
 0103h	drive already swapped
 0104h	drive not swapped
SeeAlso: #02806

Top
2F4A11BX0002 - INT 2F - DBLSPACE.BIN - "Swap Drive" - SWAP DRIVE LETTERS OF CVF AND HOST DRIVE
INT 2F - DBLSPACE.BIN - "Swap Drive" - SWAP DRIVE LETTERS OF CVF AND HOST DRIVE
	AX = 4A11h
	BX = 0002h
	DL = drive number (0=A:) of compressed drive to swap with its host
Return: AX = status (0000h,0101h,0102h,0103h) (see #02804)
Note:	this function is intended for use by DBLSPACE.EXE only
SeeAlso: AX=4A11h/BX=0000h

Top
2F4A11BX0003 - INT 2F - DBLSPACE.BIN - "DSGetEntryPoints" - GET DEVICE DRIVER ENTRY POINTS
INT 2F - DBLSPACE.BIN - "DSGetEntryPoints" - GET DEVICE DRIVER ENTRY POINTS
	AX = 4A11h
	BX = 0003h
	CL = drive number (0=A:) of compressed drive
Return: CL = FFh on error (not compressed drive)
	CL <> FFh driver unit number of host drive
	    ES:SI -> device driver's strategy routine
	    ES:DI -> device driver's interrupt routine
	BX destroyed
Note:	in conjunction with subfunction 0004h, this call allows disk caches
	  like SMARTDRV to apply a device driver wrapper to DoubleSpaced
	  drives just like SMARTDRV applies to regular block devices
SeeAlso: AX=4A10h/BX=0007h,AX=4A11h/BX=0000h,AX=4A11h/BX=0004h

Top
2F4A11BX0004 - INT 2F - DBLSPACE.BIN - "DSSetEntryPoints" - SET DEVICE DRIVER ENTRY POINTS
INT 2F - DBLSPACE.BIN - "DSSetEntryPoints" - SET DEVICE DRIVER ENTRY POINTS
	AX = 4A11h
	BX = 0004h
	CL = drive number (0=A:) of compressed drive
	DL = unit number for new driver entry points
	DH = 00h
	ES:SI -> device driver strategy routine to call for drive
	ES:DI -> device driver interrupt routine to call for drive
Return: CL = FFh on error (not a compressed drive)
	BX destroyed
Program: DBLSPACE.BIN is the resident driver for DoubleSpace, the
	  disk-compression software bundled with MS-DOS 6.0
Note:	in conjunction with subfunction 0003h, this call allows disk caches
	  like SMARTDRV to apply a device driver wrapper to DoubleSpaced
	  drives just like SMARTDRV applies to regular block devices
SeeAlso: AX=4A10h/BX=0007h,AX=4A11h/BX=0000h,AX=4A11h/BX=0003h

Top
2F4A11BX0005 - INT 2F - DBLSPACE.BIN - "ActivateDrive" - MOUNT COMPRESSED DRIVE
INT 2F - DBLSPACE.BIN - "ActivateDrive" - MOUNT COMPRESSED DRIVE
	AX = 4A11h
	BX = 0005h
	DL = drive number (0=A:) to assign to new drive
	ES:SI -> activation record (see #02805)
Return: status returned in activation record (see #02806)
SeeAlso: AX=4A11h/BX=0000h,AX=4A11h/BX=0006h

Format of DBLSPACE activation record:
Offset	Size	Description	(Table 02805)
 00h  2 BYTEs	signature "MD" (4Dh 44h)
 02h	BYTE	4Dh ('M') mount command
 03h	BYTE	error code (set to FFh before calling) (see #02806)
 04h	BYTE	host drive number (0=A:)
 05h	???	DISK_UNIT structure (not documented)

(Table 02806)
Values for DBLSPACE Mount error code:
 00h	successful
 01h	drive letter not available for DoubleSpace
 02h	drive letter already in use
 03h	no more disk units (increase MaxRemovableDrives in .INI)
 09h	CVF too fragmented
SeeAlso: #02805,#02804

Top
2F4A11BX0006 - INT 2F - DBLSPACE.BIN - "DeactivateDrive" - UNMOUNT COMPRESSED DRIVE
INT 2F - DBLSPACE.BIN - "DeactivateDrive" - UNMOUNT COMPRESSED DRIVE
	AX = 4A11h
	BX = 0006h
	DL = drive number (0=A:) to unmount
Return: AX = status (0000h,0102h) (see #02804)
SeeAlso: AX=4A11h/BX=0000h,AX=4A11h/BX=0005h

Top
2F4A11BX0007 - INT 2F - DBLSPACE.BIN - "GetDriveSpace" - GET SPACE AVAIL ON COMPRESSED DRIVE
INT 2F - DBLSPACE.BIN - "GetDriveSpace" - GET SPACE AVAIL ON COMPRESSED DRIVE
	AX = 4A11h
	BX = 0007h
	DL = compressed drive number (0=A:)
Return: AX = status (0000h,0102h) (see also #02804)
	    0000h successful
		DS:SI -> free space record (see #02807)
Program: DBLSPACE.BIN is the resident driver for DoubleSpace, the
	  disk-compression software bundled with MS-DOS 6.0
SeeAlso: AX=4A11h/BX=0000h,AX=4A11h/BX=0008h

Format of DBLSPACE free space record:
Offset	Size	Description	(Table 02807)
 00h	DWORD	total number of sectors in drive's sector heap
 04h	DWORD	number of free sectors in drive's sector heap

Top
2F4A11BX0008 - INT 2F - DBLSPACE.BIN - "GetFileFragmentSpace" - GET SIZE OF FRAGMENT HEAP
INT 2F - DBLSPACE.BIN - "GetFileFragmentSpace" - GET SIZE OF FRAGMENT HEAP
	AX = 4A11h
	BX = 0008h
	DL = compressed drive number (0=A:)
Return: AX = status (0000h,0102h) (see also #02804)
	    0000h successful
		BX = maximum entries in File Fragment heap
		CX = available entries in File Fragment heap
SeeAlso: AX=4A11h/BX=0000h,AX=4A11h/BX=0007h,AX=4A11h/BX=0009h

Top
2F4A11BX0009 - INT 2F - DBLSPACE.BIN - "GetExtraInfo" - DETERMINE NUMBER OF DISK_UNIT STRUCTS
INT 2F - DBLSPACE.BIN - "GetExtraInfo" - DETERMINE NUMBER OF DISK_UNIT STRUCTS
	AX = 4A11h
	BX = 0009h
	DL = compressed drive number (0=A:)
Return: AX = status (see also #02804)
	    0000h successful
		CL = number of DISK_UNIT structures allocated
			  (see AX=4A11h/BX=0005h)
		CH = DoubleGuard enabled-checks bitflags in bits 6-0 (DOS 6.2)
Note:	the DoubleGuard checks are enabled or disabled as a block by the
	  DoubleGuard= line in DBLSPACE.INI; they may be individually set with
	  the CheckSum= line.
SeeAlso: AX=4A11h/BX=0000h,AX=4A11h/BX=0008h

Top
2F4A11BX000A - INT 2F - DBLSPACE.BIN v6.2 - SET AUTOMOUNT DRIVES
INT 2F - DBLSPACE.BIN v6.2 - SET AUTOMOUNT DRIVES
	AX = 4A11h
	BX = 000Ah
	CX:DX = bitmask of drives on which to enable AutoMount
		(DX bit 0 = A:, CX bit 0 = P:, etc.)
Return: AX = 0000h if supported
	    CX:DX = old mask or 0000h:0000h on error
	BX destroyed
SeeAlso: AX=4A11h/BX=000Bh

Top
2F4A11BX000B - INT 2F - DBLSPACE.BIN v6.2 - GET AUTOMOUNT DRIVES
INT 2F - DBLSPACE.BIN v6.2 - GET AUTOMOUNT DRIVES
	AX = 4A11h
	BX = 000Bh
Return: AX = 0000h if supported
	    CX:DX = mask of drives with AutoMount enabled
		0000h:0000h on error
	BX destroyed
SeeAlso: AX=4A11h/BX=000Ah

Top
2F4A11BXFFFE - INT 2F U - DBLSPACE.BIN - RELOCATE
INT 2F U - DBLSPACE.BIN - RELOCATE
	AX = 4A11h
	BX = FFFEh
	ES = segment to which to relocate DBLSPACE.BIN
Return: ???
Notes:	called by DBLSPACE.SYS to relocate DBLSPACE.BIN to its final position
	  in memory
	this function also unhooks and discards the code providing this
	  function and AX=4A11h/BX=FFFFh
	this function is also supported by the version of SuperStor bundled
	  with IBM DOS 6.x and "preloading" versions of Stacker
SeeAlso: AX=4A11h/BX=FFFFh

Top
2F4A11BXFFFF - INT 2F U - DBLSPACE.BIN - GET RELOCATION SIZE
INT 2F U - DBLSPACE.BIN - GET RELOCATION SIZE
	AX = 4A11h
	BX = FFFFh
Return: AX = number of paragraphs needed by DBLSPACE.BIN
Note:	used by DBLSPACE.SYS to relocate the DBLSPACE driver to its final
	  position in memory
	this function is also supported by the version of SuperStor bundled
	  with IBM DOS 6.x and "preloading" versions of Stacker
SeeAlso: AX=4A11h/BX=0000h,AX=4A11h/BX=FFFEh

Top
2F4A12CX4D52 - INT 2F - Microsoft Realtime Compression Interface (MRCI) - RAM-BASED SERVER
INT 2F - Microsoft Realtime Compression Interface (MRCI) - RAM-BASED SERVER
	AX = 4A12h
	CX = 4D52h ("MR")
	DX = 4349h ("CI")
Return: CX = 4943h ("IC") if installed
	DX = 524Dh ("RM") if installed
	    ES:DI -> MRCINFO structure (see #00725 at INT 1A/AX=B001h)
Note:	this call is functionally identical to INT 1A/AX=B001h, but should be
	  called first, as the latter call is used for the first, ROM-based
	  MRCI server, while this call is used for RAM-based servers which
	  may be partially or entirely replacing a prior server
SeeAlso: AX=4A12h/CX=5354h,INT 1A/AX=B001h

Top
2F4A12CX5354 - INT 2F - Stacker 4 LZS Compression Interface (LZSAPI)
INT 2F - Stacker 4 LZS Compression Interface (LZSAPI)
	AX = 4A12h
	CX = 5354h ("ST")
	DX = 4143h ("AC")
Return: AX = 4F4Bh ("OK") if installed
	CX = 7374h ("st") if installed
	DX = 6163h ("ac") if installed
	    ES:DI -> entry point in LZSAPI server (usually, driver
		      STACKER.COM) containing far address of an actual
		      LZSINFO structure (see #02808)
SeeAlso: AX=4A12h/CX=4D52h,INT 25/AX=CDCDh

Format of LZSINFO structure:
Offset	Size	Description	(Table 02808)
 00h  6 BYTEs	signature "LZSAPI"
 06h	WORD	server version (200 (0C8h) for Stacker 4 and Stacker Anywhere)
 08h  4 BYTEs	vendor signature
		"STAC" = Stac Electronics, Inc.
 0Ch  6 BYTEs	???
 12h	WORD	bit flags: server status/capabilities (see #02809)
 14h	DWORD	-> Stacker 3.X-compatible compression procedure
 18h	DWORD	-> Stacker 3.X-compatible decompression procedure
 1Ch  4 BYTEs	reserved (always set to 0)
 20h	DWORD	-> incremental Stacker 3.x-compatible compression procedure
		  (see #02810)
 24h  4 BYTEs	???
 28h	DWORD	-> incremental Stacker 3.x-compatible decompression procedure
		  (see #02811)
 2Ch  4	BYTES	???
 30h	DWORD	-> new (Stacker 4) compression procedure
 34h  4 BYTEs	???
 38h	DWORD	-> new (Stacker 4) decompression procedure
Notes:	Stacker 4 usally keeps two different data-compression algorithms in
	  memory (preferably in XMA):
	    1) new (Stacker 4) data compression algorithm (4K LZ77 with hashing
		  and static Huffman encoding), and
	    2) old (Stacker 3.x-compatible) one (2K LZ77 with hashing), which
		  is used to work with STACVOL files created under older
		  versions of Stacker.

Bitfields for LZSAPI capabilities:
Bit(s)	Description	(Table 02809)
 0	???
 1	busy/error flag
 2-10	???
 11	maximum compressor/decompressor presented

(Table 02810)
Call Stacker 3.x-style non-incremental functions with:
	STACK:	DWORD	return address for compress/decompress procedure
		WORD	compression algorithm parameters (see #02812)
		WORD	size of destination buffer (in bytes)
		DWORD	address of destination buffer
		WORD	size of source buffer (in bytes)
		DWORD	address of source buffer
Return: (compression/decompression procedure)
	AX = size of resulting data in destination buffer
	    0000h if error (either destination buffer too small or error in
		  compressed data)

(Table 02811)
Call Stacker 4-style incremental procedures with:
	STACK:	DWORD	return address for compr./decompr. procedure
		DWORD	address of LZSSWAP structure (see #02813)
			if 0000:0000, procedure uses non-incremental technique
		WORD	compression algorithm parameters (see #02812)
		WORD	size of destination buffer (in bytes)
		DWORD	address of destination buffer
		WORD	size of source buffer (in bytes)
		DWORD	address of source buffer

(Table 02812)
Values for Compression algorithm parameters:
Value	Compression level (/P=xx parameter)
 07F9h	  1
 0621h	  2
 0625h	  3
 0665h	  4
 0669h	  5
 06E9h	  6
 06EDh	  7
 07D1h	  8
 07D9h	  9

Format of LZSSWAP structure:
Offset	Size	Description	(Table 02813)
 00h  2 BYTEs	signature "CS"
 02h  6 BYTEs	reserved
 08h	DWORD	address of destination buffer swapping procedure
 0Ch	DWORD	address of stack swapping procedure

Top
2F4A13 - INT 2F U - DBLSPACE.BIN - DBLSPACE/MRCI STEALTH PACKET API
INT 2F U - DBLSPACE.BIN - DBLSPACE/MRCI STEALTH PACKET API
	AX = 4A13h
Return: AX = 134Ah if supported
	    ES:BX -> entry point record (see #02814)
SeeAlso: AX=4A11h/BX=0000h,AX=4A12h/CX=4D52h"MRCI"

Format of DBLSPACE entry point record:
Offset	Size	Description	(Table 02814)
 00h	DWORD	pointer to FAR function for ???
 04h  5 BYTEs	FAR JUMP instruction to ???

Top
2F4A15BX0000 - INT 2F - MS EMM386.EXE v4.46+ - INSTALL I/O VIRTUALIZATION HANDLER
INT 2F - MS EMM386.EXE v4.46+ - INSTALL I/O VIRTUALIZATION HANDLER
	AX = 4A15h
	BX = 0000h (function number)
	DX = starting I/O address
	EDX high word = ending I/O address
	CX = number of ports to trap
	DS:SI -> I/O dispatch table (see #02815)
	DI = size of client's code and data (size of DS segment which must be
	      made available to I/O dispatch function in protected mode)
Return: CF clear if successful
	CF set on error
Notes:	this interface is only available in virtual-86 mode; the I/O handlers
	  will be called in protected mode
	only ports 0100h-FFFFh may be trapped; EMM386 reserved ports 0000h-
	  00FFh

Format of EMM386 I/O dispatch table [array]:
Offset	Size	Description	(Table 02815)
 00h	WORD	I/O port number
 02h	WORD	offset of I/O handler for port (see #02816)

(Table 02816)
Values EMM386 I/O dispatch function is called with:
	CX = Ring0 code selector for I/O handler's segment
	DS = Ring0 data selector for I/O handler's segment (alias of CS)
	EDX = faulting I/O address
	ECX = direction (00000008h for byte output, 00000000h for byte input)
		(reportedly 00h for byte/word input, 04h for byte/word output
		  under DOS 6.22 EMM386)
	EAX = data in/out
Return: (via FAR RET)
	CF clear if I/O access successfully virtualized
	CF set if access not virtualized (default handler will be called to
	      perform the I/O)
BUG:	32-bit I/O on trapped ports hangs the DOS 6.22 EMM386
SeeAlso: #02815

Top
2F4A16 - INT 2F U - Windows95 - OPEN BOOT LOG
INT 2F U - Windows95 - OPEN BOOT LOG
	AX = 4A16h
Return: AX = status
	    0000h successful
	    FFFFh boot log file already open
	    else  DOS error code
	BX destroyed
SeeAlso: AX=4A17h,AX=4A18h

Top
2F4A17 - INT 2F U - Windows95 - WRITE TO BOOT LOG
INT 2F U - Windows95 - WRITE TO BOOT LOG
	AX = 4A17h
	CX = number of bytes to write
	DS:DX -> message to write (must include CR-LF if it is desired)
Return: AX = status
	    0000h successful
	    FFFFh boot log file not open
	    else  DOS error code
Note:	calls the code for INT 2F/AX=4A21h after writing to the file
SeeAlso: AX=4A17h,AX=4A18h,AX=4A21h

Top
2F4A18 - INT 2F U - Windows95 - CLOSE BOOT LOG
INT 2F U - Windows95 - CLOSE BOOT LOG
	AX = 4A18h
Return: AX = status
	    0000h successful
	    FFFFh boot log file not open
	    else  DOS error code from closing file
	BX destroyed
SeeAlso: AX=4A16h,AX=4A17h

Top
2F4A21 - INT 2F U - Windows95 - ???
INT 2F U - Windows95 - ???
	AX = 4A21h
Return: AX destroyed
Note:	calls INT 21/AX=4404h"IOCTL" with a five-byte buffer containing "MDF??"
SeeAlso: AX=4A17h

Top
2F4A31 - INT 2F U - Windows95 - ???
INT 2F U - Windows95 - ???
	AX = 4A31h
	CL = new value for ???
	DS:SI -> BYTE to be set to CL
Return: nothing

Top
2F4A32 - INT 2F U - Windows95 - PATCH ???
INT 2F U - Windows95 - PATCH ???
	AX = 4A32h
	BL = subfunction
	    00h get ???
		Return: AX = flag: subfunction 04h has been used (0000h/FFFFh)
			DX = ??? (0000h/?)
	    01h	patch ??? in IO.SYS (segment 0070h)
	    02h unpatch ??? in IO.SYS
	    03h ???
	    04h set ???, then do subfunction 01h
	    05h unset ???, then do subfunction 02h
	    else
		Return: nothing

Top
2F4A33 - INT 2F - Windows95 - CHECK MS-DOS VERSION 7
INT 2F - Windows95 - CHECK MS-DOS VERSION 7
	AX = 4A33h
Return: AX = 0000h for MS-DOS 7.00+
	    (officially) BX,DX,SI,DS may be destroyed
	    (undoc) DS:DX -> ASCIZ primary shell executable name
	    (undoc) DS:SI -> CONFIG.SYS SHELL= command line (counted string)
	    (undoc) BH = ??? (0000h)
	    (undoc) BL = ??? (0000h)
	AX nonzero (usually 4A33h) if MS-DOS 6- or other DOS
SeeAlso: AX=1611h,INT 21/AH=30h

Top
2F4B - INT 2F - LAN Manager 2.0 DOS Enh NETWKSTA.EXE - NETWORK WORKSTATION REDIRECTOR
INT 2F - LAN Manager 2.0 DOS Enh NETWKSTA.EXE - NETWORK WORKSTATION REDIRECTOR
	AH = 4Bh
	???
Return: ???
Note:	LAN Manager enhanced mode adds features beyond the standard redirector
	  file/printer services
SeeAlso: AX=118Ah,AX=4100h,AH=42h

Top
2F4B01 - INT 2F C - DOS 5+ TASK SWITCHER - BUILD CALLOUT CHAIN
INT 2F C - DOS 5+ TASK SWITCHER - BUILD CALLOUT CHAIN
	AX = 4B01h
	CX:DX -> task switcher entry point (see #02819)
	ES:BX = 0000h:0000h
Return: ES:BX -> callback info structure (see #02817) or 0000h:0000h
Notes:	called by the task switcher
	this function is hooked by clients which require notification of task
	  switcher activities; the call must first be passed on to the prior
	  handler with registers unchanged using a simulated interrupt.	 On
	  return, the client must build a callback info structure and store
	  the returned ES:BX in the "next" field, then return the address of
	  its own callback info structure.
	a client program must add itself to the notification chain if it
	  provides services to other programs; before terminating, it must
	  remove itself from the chain by calling the task switcher's entry
	  point with AX=0005h (see #02819)
	the task switcher entry point should not be saved, as it is subject to
	  change and will be provided on any notification call
	the Windows 3.1 Standard Mode supports this API
SeeAlso: AX=160Bh,AX=4B02h

Format of task switcher callback info structure:
Offset	Size	Description	(Table 02817)
 00h	DWORD	pointer to next callback info structure
 04h	DWORD	pointer to notification function (see #02818)
 08h	DWORD	reserved
 0Ch	DWORD	address of zero-terminated list of API info structures
		(see #02821)

(Table 02818)
Values task switcher notification function is called with:
	AX = function
	    0000h switcher initialization
		Return: AX = status
			    0000h if OK to load
			    nonzero to abort task switcher
	    0001h query suspend
		BX = session ID
		Return: AX = status
			    0000h if OK to switch session
			    0001h if not
	    0002h suspend session
		BX = session ID
		interrupts disabled
		Return: AX = 0000h if OK to switch session
			   = 0001h if not
	    0003h activate session
		BX = session ID
		CX = session status flags
			bit 0: set if first activation of session
			bits 1-15: reserved (0)
		interrupts disabled
		Return: AX = 0000h
	    0004h session active
		BX = session ID
		CX = session status flags
			bit 0: set if first activation of session
			bits 1-15: reserved (0)
		Return: AX = 0000h
	    0005h create session
		BX = session ID
		Return: AX = 0000h if OK to create session
			   = 0001h if not
	    0006h destroy session
		BX = session ID
		Return: AX = 0000h
	    0007h switcher termination
		BX = flags
		    bit 0: set if calling switcher is only switcher loaded
		    bits 1-15: reserved (0)
		Return: AX = 0000h
	ES:DI -> task switcher entry point (see #02819)
Notes:	function 0000h is generally called by the program which controls or
	  invokes the task switcher, rather than by the task switcher itself;
	  the entry point supplied to this function is not necessarily the
	  entry point to the task switcher itself, and may be 0000h:0000h.  If
	  any client indicates that loading is not possible, all clients will
	  be called with function 0007h; thus it is possible for a client to
	  receive a termination notice without a corresponding initialization
	  notice.
	except for functions 0002h and 0003h, the notification handler is
	  called with interrupts enabled and may make any INT 21h function
	  call; interrupts must not be enabled in functions 0002h and 0003h
	function 0007h may be called with ES:DI = 0000h:0000h if the entry
	  point is no longer valid

Top
2F4B02BX0000 - INT 2F - DOS 5+ TASK SWITCHER - INSTALLATION CHECK
INT 2F - DOS 5+ TASK SWITCHER - INSTALLATION CHECK
	AX = 4B02h
	BX = 0000h
	ES:DI = 0000h:0000h
Return: ES:DI = 0000h:0000h if task switcher not loaded
	ES:DI -> task switcher entry point (see #02819) if loaded
	    AX = 0000h
Notes:	the returned entry point is that for the most-recently loaded task
	  switcher; the entry points for prior task switchers may be determined
	  with the "get version" call (see #02819)
	this function is supported by PC Tools v8+ CPTASK
SeeAlso: AX=4A05h,AX=4B03h

(Table 02819)
Call task switcher entry point with:
	AX = 0000h get version
		Return: CF clear if successful
			    AX = 0000h
			    ES:BX -> task switcher version struct (see #02820)
			CF set if unsupported function
	AX = 0001h test memory region
		ES:DI -> first byte to be tested
		CX = size of region to test
		Return: CF clear if successful
			    AX = memory type of tested region
				0000h global
				0001h global and local
				0002h local (replaced on session switch)
			CF set if unsupported function
	AX = 0002h suspend switcher
		ES:DI -> new task switcher's entry point
		Return: CF clear if successful
			    AX = state
				0000h switcher has been suspended
				0001h switcher not suspended, new switcher must
					abort
				0002h switcher not suspended, but new switcher
					may run anyway
			CF set if unsupported function
	AX = 0003h resume switcher
		ES:DI -> new task switcher's entry point
		Return: CF clear if successful
			    AX = 0000h
			CF set if unsupported function
	AX = 0004h hook notification chain
		ES:DI -> callback info structure to be added to chain
			  (see #02817)
		Return: CF clear if successful
			    AX = 0000h
			CF set if unsupported function
	AX = 0005h unhook notification chain
		ES:DI -> callback info structure to be removed from chain
			  (see #02817)
		Return: CF clear if successful
			    AX = 0000h
			CF set if unsupported function
	AX = 0006h query API support
		BX = asynchronous API identifier
		Return: CF clear if successful
			    AX = 0000h
			    ES:BX -> API info structure (see #02821) for the
				      client which provides the highest
				      level of API support
			CF set if unsupported function

Format of task switcher version structure:
Offset	Size	Description	(Table 02820)
 00h	WORD	major version of supported protocol  (current protocol is 1.0)
 02h	WORD	minor version of supported protocol
 04h	WORD	major version of task switcher
 06h	WORD	minor version of task switcher
 08h	WORD	task switcher ID (see AX=4B03h)
 0Ah	WORD	operation flags
		bit 0: set if task switcher disabled
		bits 1-15: reserved (0)
 0Ch	DWORD	pointer to ASCIZ task switcher name
		("MS-DOS Shell Task Switcher" for DOSSHELL task switcher)
 10h	DWORD	pointer to previous task switcher's entry point or 0000h:0000h

Format of API info structure:
Offset	Size	Description	(Table 02821)
 00h	WORD	size of structure in bytes (000Ah)
 02h	WORD	API identifier
		0001h NetBIOS
		0002h 802.2
		0003h TCP/IP
		0004h LAN Manager named pipes
		0005h Novell NetWare IPX
 04h	WORD	major version \ of highest version of API for which the support
 06h	WORD	minor version / level specified in the next field is provided
 08h	WORD	support level
		0001h minimal support
		0002h API-level support
		0003h switcher compatibility
		0004h seamless compatibility

Top
2F4B03 - INT 2F - DOS 5+ TASK SWITCHER - ALLOCATE SWITCHER ID
INT 2F - DOS 5+ TASK SWITCHER - ALLOCATE SWITCHER ID
	AX = 4B03h
	ES:DI -> task switcher entry point (see #02819)
Return: AX = 0000h
	BX = switcher ID (0001h-000Fh), or 0000h if no more available
Notes:	if a task switcher has determined that it is the first to be loaded, it
	  must allocate an identifier for itself and provide this function to
	  all subsequent task switchers; if it is not the first to be loaded,
	  it must call this function to allocate an ID.	 The switcher ID is
	  used as the high four bits of all session identifiers to ensure
	  unique session IDs.
	if no more switcher IDs are available, the new task switcher making the
	  call must terminate or disable itself
	the task switcher providing the identifiers may call the new task
	  switcher's entry point as needed
	this call is available from within DOSSHELL even if the task switcher
	  is not installed
	this function is supported by PC Tools v8+ CPTASK, but appears to
	  always return an ID of 0000h
SeeAlso: AX=4B02h,AX=4B04h

Top
2F4B04 - INT 2F - DOS 5+ TASK SWITCHER - FREE SWITCHER ID
INT 2F - DOS 5+ TASK SWITCHER - FREE SWITCHER ID
	AX = 4B04h
	BX = switcher ID
	ES:DI -> task switcher entry point (see #02819)
Return: AX = 0000h
	BX = status
	    0000h successful
	    other error (invalid ID or ID not allocated)
Notes:	called by a task switcher when it exits, unless it was the first loaded
	  and is providing the support for AX=4B03h and AX=4B04h
	the task switcher providing the identifiers may call the terminating
	  task switcher's entry point as needed
	this call is available from within DOSSHELL even if the task switcher
	  is not installed
	this call is supported by PC Tools v8+ CPTASK, but appears to return
	  sucessfully no matter which ID is given
SeeAlso: AX=4B02h,AX=4B03h

Top
2F4B05 - INT 2F C - DOS 5+ TASK SWITCHER - IDENTIFY INSTANCE DATA
INT 2F C - DOS 5+ TASK SWITCHER - IDENTIFY INSTANCE DATA
	AX = 4B05h
	ES:BX = 0000h:0000h
	CX:DX -> task switcher entry point (see #02819)
Return: ES:BX -> startup info structure (see #02822) or 0000h:0000h
Notes:	called by task switcher
	clients with instance data should hook this call, pass it through to
	  the previous handler with unchanged registers using a simulated
	  interrupt.  On return, the client should create a startup info
	  structure (see #02822), store the returned ES:BX in the "next"
	  field, and return the address of the created structure in ES:BX
	all MS-DOS function calls are available from within this call
	this function is supported by Novell DOS 7 DOSKEY, with structure v3.00
SeeAlso: AX=1605h,AX=160Bh,AX=4B02h

Format of task switcher startup info structure:
Offset	Size	Description	(Table 02822)
 00h  2 BYTEs	major, minor version of info structure (03h,00h)
 02h	DWORD	pointer to next startup info structure or 0000h:0000h
 06h	DWORD	0000h:0000h (ignored)
 0Ah	DWORD	ignored
 0Eh	DWORD	pointer to instance data records (see #02823)

Format of one instance data record in array:
Offset	Size	Description	(Table 02823)
 00h	DWORD	address of instance data (end of array if 0000h:0000h)
 04h	WORD	size of instance data

Top
2F4B06 - INT 2F - MS Windows - WIN.COM - GET ??? POINTER TO WIN.COM
INT 2F - MS Windows - WIN.COM - GET ??? POINTER TO WIN.COM
	AX = 4B06h
Return: AX = 0000h
	ES:BX -> ??? function in WIN.COM
Note:	the entry point is called with
	    AX = 0001h or 0003h
	    BX = ???
SeeAlso: AX=4B80h

Top
2F4B20 - INT 2F - MS Windows 3+ - WIN.COM - SET PROGRAM TO EXECUTE ON EXIT
INT 2F - MS Windows 3+ - WIN.COM - SET PROGRAM TO EXECUTE ON EXIT
	AX = 4B20h
Return: AX = 0000h if successful
	    DX:CX -> 256-byte buffer for pathname and commandline (see #02824)
Notes:	when the Windows function ExitWindows is called with an exit code of
	  44h, WIN.COM executes the program specified in the returned buffer
	  and then restarts Windows
	the returned address is a real-mode segment:offset value
SeeAlso: AX=4B21h

Format of WIN.COM buffer:
Offset	Size	Description	(Table 02824)
 00h 128 BYTEs	commandline for program (count byte, command tail, 0Dh)
 80h 128 BYTEs	ASCIZ pathname of program to execute
Note:	the order above is for a Windows95 DOS box; it may be reversed under
	  Windows 3.x

Top
2F4B21 - INT 2F - Windows95 - WIN.COM - GET NESTING LEVEL
INT 2F - Windows95 - WIN.COM - GET NESTING LEVEL
	AX = 4B21h
Return: AH = 00h if WIN.COM already active
	    AL = number of instances of WIN.COM in memory
SeeAlso: AX=4B20h

Top
2F4B52 - INT 2F - KeyRus v7.3 - API
INT 2F - KeyRus v7.3 - API
	AX = 4B52h ('KR')
	BL = function number
	    00h installation check
		Return: AL = 82h if installed
			    BH = major version number
			    BL = minor version number
			    ES destroyed
	    01h get driver status
		Return: AL??? = current status (see #02825)
	    02h set driver state
		AL = new driver state (see #02825)
	    03h blank screen (if blanking enabled when TSR was loaded)
	    04h unblank screen
	    4Ch switch to English keyboard mode
	    90h switch to Russian keyboard mode
Return:

Bitfields for KeyRus driver status:
Bit(s)	Description	(Table 02825)
 1-0	language mode
	00 Latin
	01 Russian
	10 Alternative
	11 unused
 2	allow character loading (if disabled, use ROM fonts)
 3	English keyboard support
 7-4	used internally (read-only)

Top
2F4B80 - INT 2F - MS Windows - WSWAP.EXE - RESET INTERNAL VARIABLES
INT 2F - MS Windows - WSWAP.EXE - RESET INTERNAL VARIABLES
	AX = 4B80h
Return: nothing
Note:	called by WINOLDAP.MOD
SeeAlso: AX=4B06h

Top
2F4C - INT 2F U - Advanced Power Management
INT 2F U - Advanced Power Management
	AH = 4Ch
	AL = function
	    00h version check
	    01h suspend system requested
	    FFh suspend/resume battery notification
	???
Return: ???

Top
2F4D - INT 2F U - KKCFUNC
INT 2F U - KKCFUNC
	AH = 4Dh
	AL = function
	    00h get function address
	    01h get error number of last call to KKC DOS function
	    02h	register/release KKC
	    03h get table address
	!!! details to follow
Return: ???
Notes:	This API is provided by KKCFUNC.SYS, a support driver for Kana Kanji
	  Converters (KKC), which is used to handle multiple client KKCs and
	  provide all the necessary framework to call DOS functions at any
	  time.
	also called by MSKK
	For AL > 3, KKCFUNC passes the call down to the original INT 2Fh,
	  as recorded at initialization.

Top
2F4E53BL00 - INT 2F - SilverNET v2+ - INSTALLATION CHECK
INT 2F - SilverNET v2+ - INSTALLATION CHECK
	AX = 4E53h ("NS")
	BL = 00h (function "installation check")
	BH = module ID (see #02826)
Return: AX = 0000h if specified module installed
	BX = 4E53h if installed
Program: SilverNET is an SMB-compatible peer-to-peer NOS for DOS or
	  Windows systems, by Net-Source, Inc. of Santa Clara, CA.
SeeAlso: AX=4E53h/BL=01h,AX=4E53h/BL=02h,AX=B800h,AX=B809h

(Table 02826)
Values for SilverNET module ID:
 01h	SilverCACHE
 02h	Workstation
 03h	NetBIOS
 04h	Peer
 20h	NS Share
 80h	NetWare help TSR

Top
2F4E53BL01 - INT 2F - SilverNET - GET RUNTIME PARAMETER
INT 2F - SilverNET - GET RUNTIME PARAMETER
	AX = 4E53h ("NS")
	BL = 01h (function "get runtime parameter")
	BH = module ID (see #02826)
	CX = parameter index (see #02827,#02829,#02830)
Return: AX = WORD value at specified index (see #02828)
Desc:	retrieve a word of data from the specified SilverNET module

(Table 02827)
Values for SilverNET Peer parameter index (* = read-only):
 00h *	maximum outstanding SMB buffers
 02h *	maximum logged-in nodes
 04h *	number of shareable resources
 06h *	number of characters to print per time slice
 08h *	number of printers that can be shared
 0Ah *	number of nodes logged in
 0Ch *	number of files to allow opened
 0Eh	how fast to despool (/PSLICE)
 10h	audit flag
 24h *	far pointer to resource table (each resource is 96 bytes in length)
 32h *	far pointer to SFT (internal if SilverNET files > CONFIG.SYS files,
	else DOS SFT)
 36h	spool flags (see #02828)
SeeAlso: #02829

Bitfields for spool flags:
Bit(s)	Description	(Table 02828)
 0	LPT1 needs despooling
 1	LPT2 needs despooling
 2	LPT2 needs despooling
 4	COM1 needs despooling
 5	COM2 needs despooling
 6	COM3 needs despooling
SeeAlso: #02827

(Table 02829)
Values for NS Share parameter index (* = read-only):
 00h	version number (high byte = minor, low byte = major)
 10h *	segment of first lock record (other records in consecutive paragraphs)
	(if PSP field = 0000h, lock record is free)
 12h *	maximum possible number of lock records
 14h *	starting segment of sharing buffer
	(NS Share's sharing records are identical to DOS SHARE except that
	  fields which are normally offsets into SHARE are segment numbers)
 18h *	size of sharing buffer in paragraphs
 1Ah *	total free paragraphs in sharing buffer
 1Ch *	current number of shared files
 1Eh *	current number of locked records
SeeAlso: #02827,#02830

(Table 02830)
Values for Workstation parameter index (* = read-only):
 00h	version number (high byte = minor, low byte = major)
 02h *	size of each network buffer for file operations
 04h *	number of redirector file buffers
 06h *	size of each print cache buffer
 08h *	number of network LPT printers
 0Ch	flush time in ticks (idle time on network printer before flushing)
 0Eh	(16 WORDs) last active time for each printer
 2Eh *	stub segment if program split into two parts
 60h	receive name number for datagram listens
 62h *	18-byte machine name
 74h *	LASTDRIVE (01h = A:, etc.)
 7Ch	row number of message box on screen
 7Eh	message time in clock ticks
 82h *	number of network adapters in use
 84h	station ID broadcast flag (never set on redirectors)
 96h *	NetBIOS names left
 98h *	NCBs left
 9Ah *	sessions left
 A2h *	total number of network printers (LPT+COM)
 A4h *	number of serial network printers
 A8h *	segment containing file cache buffers
 AAh *	segment containing print cache buffers
 ACh *	bytes remaining free in HMA before program loaded
 AEh *	start of free memory in HMA
 B2h *	flag: using HMA
SeeAlso: #02829

Top
2F4E53BL02 - INT 2F - SilverNET - SET RUNTIME PARAMETERS
INT 2F - SilverNET - SET RUNTIME PARAMETERS
	AX = 4E53h ("NS")
	BL = 02h (function "set runtime parameters")
	BH = module ID (see #02826)
	CX = parameter index (see #02829,#02830)
	DX = new value for specified parameter
Desc:	set a WORD value in the specified SilverNET module
Note:	not all indexed parameters are writable; modifying a read-only
	  parameter can result in system crashes
SeeAlso: AX=4E53h/BL=00h,AX=4E53h/BL=01h

Top
2F5100 - INT 2F U - ODIHLP.EXE - INSTALLATION CHECK
INT 2F U - ODIHLP.EXE - INSTALLATION CHECK
	AX = 5100h
Return: AL = FFh if installed
	    BX = 0000h
	    DX:SI -> signature string "ODI$HLP$"
Program: ODIHLP is a real-mode helper allowing the Windows for Workgroups 3.11
	  protected-mode NDIS3 protocol to work with real-mode ODI drivers
	  and LSL.COM
Note:	the returned signature string might be the first field of a structure
SeeAlso: AX=C000h"LSL.COM"

Top
2F5200 - INT 2F - JAM.SYS v1.10+ - "GetVersion" - INSTALLATION CHECK
INT 2F - JAM.SYS v1.10+ - "GetVersion" - INSTALLATION CHECK
	AX = 5200h
Return: AH = 80h (successful) if installed
	BX = internal JAM.SYS version number
	CX = size of JAMINFO structure (see #02831,#02832)
	DX = JAM.SYS segment address
Program: JAM.SYS is a main component of the JAM Real-Time Data Compression
	  Utilities by George A. Reznik and friends (JAM Software).
SeeAlso: AX=5201h

Format of JAMINFO v1.10 structure:
Offset	Size	Description	(Table 02831)
 00h 25 BYTEs	extended BIOS parameter block (BPB)
 19h 11 BYTEs	???
 25h	DWORD	total number of sectors in JAM archive file
		(size of compressed data area)
 29h	BYTE	flags (see #02833)
 2Ah 127 BYTEs	full JAM archive file name
 A9h	WORD	the number of fragments in archive file
 ABh 96 BYTEs	archive file fragmentation list -
		array of 16 FRAGMENT structures (see #02834)
10Bh	DWORD	address of the host-drive DPB (Drive Parameter Block)
10Fh	DWORD	number of free sectors in JAM archive file
113h	WORD	device status word (see #02835)
SeeAlso: #02832

Format of JAMINFO v1.20 structure:
Offset	Size	Description	(Table 02832)
 00h 25 BYTEs	extended BIOS parameter block (BPB)
 19h	BYTE	physical driver number
 1Ah	BYTE	reserved
 1Bh	BYTE	extended boot record signature
 1Ch	DWORD	volume serial number
 20h 11 BYTEs	volume label
 2Bh  8 BYTEs	file system ID
 33h	DWORD	total number of sectors in JAM archive file
		(size of compressed data area)
 37h	BYTE	flags (see #02833)
 38h 128 BYTEs	full JAM archive file name
 B8h	WORD	the number of fragments in archive file
 BAh 96 BYTEs	archive file fragmentation list -
		array of 16 FRAGMENT structures (see #02834)
11Ah	DWORD	address of the host-drive DPB (Drive Parameter Block)
11Eh	DWORD	number of free sectors in JAM archive file
122h	WORD	device status word (see #02835)
Note:	the first 33h bytes are copied from the archive file's boot sector
SeeAlso: #02831

Bitfields for JAMINFO flags:
Bit(s)	Description	(Table 02833)
 2-0	reserved
 3	(v1.20+)
 4	enable direct write requests (Int 26h, non-DOS requests, etc.)
 5	read-only mode
 6	no write-behind caching
 7	full undelete-compatible allocation strategy
SeeAlso: #02831,#02832

Format of JAM FRAGMENT structure:
Offset	Size	Description	(Table 02834)
 00h	WORD	starting sector (low word)
 02h	BYTE	starting sector (high byte)
 03h	WORD	size of fragment (low word)
 05h	BYTE	size of fragment (high byte)
SeeAlso: #02831,#02832

(Table 02835)
Values for JAM.SYS status (high byte):
 00h	successful
 01h	drive is not a JAM drive
 02h	drive is already attached
 03h	archive file cluster size value is larger than driver's one
 04h	drive is not attached
 05h	drive is locked
 06h	drive is not locked
 07h	bad physical-level request
 08h	host drive reading/writing error
 09h	bad entries in JAM descriptor table
 0Ah	compressed data integrity error
 0Bh	archive file overflow
 0Ch	bad DOS request
 0Dh	incorrect parameters in JAMINFO structure
Note:	the low byte of the status is the DOS error code for the Host drive
SeeAlso: #02598 at INT 2F/AX=0802h

Top
2F5201 - INT 2F - JAM.SYS v1.10+ - "GetInfo" - GET COMPRESSED DRIVE INFORMATION
INT 2F - JAM.SYS v1.10+ - "GetInfo" - GET COMPRESSED DRIVE INFORMATION
	AX = 5201h
	DL = compressed drive number (0-default, 1-A:, etc.)
	DS:BX -> buffer for JAMINFO structure (see #02831,#02832)
Return: AH = status (00h,01h) (see #02835)
SeeAlso: AX=5200h

Top
2F5202 - INT 2F - JAM.SYS v1.10+ - "Attach" - MOUNT COMPRESSED DRIVE
INT 2F - JAM.SYS v1.10+ - "Attach" - MOUNT COMPRESSED DRIVE
	AX = 5202h
	DL = drive number (0-default, 1-A:, etc.) to attach to the JAM
	      archive file
	DS:BX -> pointer to JAMINFO structure (see #02831,#02832), which
	      contains parameters of the JAM file to mount, and pointer
	      to the host drive DPB (i.e. DPB of the drive on which the
	      JAM file is located)
Return: AH = status (00h,02h,03h,08h,09h,0Dh) (see also #02835)
	    03h archive file cluster size value is larger than driver's - not
		  mounted
	    09h bad entries in JAM descriptor table - file mounted read-only
	AL = host drive error code (see #02598 at INT 2F/AX=0802h)
SeeAlso: AX=5203h

Top
2F5203 - INT 2F - JAM.SYS v1.10+ - "Detach" - UNMOUNT COMPRESSED DRIVE
INT 2F - JAM.SYS v1.10+ - "Detach" - UNMOUNT COMPRESSED DRIVE
	AX = 5203h
	DL = drive number (0-default, 1-A:, etc.) to detach
Return: AH = status (00h,01h,04h,05h,08h,09h,0Bh,0Dh) (see #02835)
	AL = host drive error code (see #02598 at INT 2F/AX=0802h)
SeeAlso: AX=5202h

Top
2F5204 - INT 2F - JAM.SYS v1.10+ - "Lock" - LOCK COMPRESSED DRIVE
INT 2F - JAM.SYS v1.10+ - "Lock" - LOCK COMPRESSED DRIVE
	AX = 5204h
	DL = drive number (0-default, 1-A:, etc.) to lock
Return: AH = status (00h,01h,04h,05h,08h,09h,0Bh,0Dh) (see #02835)
	AL = host drive error code (see #02598 at INT 2F/AX=0802h)
SeeAlso: AX=5205h, AX=5206h, AX=5207h

Top
2F5205 - INT 2F - JAM.SYS v1.10+ - "UnLock" - UNLOCK COMPRESSED DRIVE
INT 2F - JAM.SYS v1.10+ - "UnLock" - UNLOCK COMPRESSED DRIVE
	AX = 5205h
	DL = drive number (0-default, 1-A:, etc.) to unlock
Return: AH = status (00h,01h,04h,06h,08h,09h,0Dh) (see #02835)
	AL = host drive error code (see #02598 at INT 2F/AX=0802h)
SeeAlso: AX=5204h, AX=5206h, AX=5207h
Note:	Lock and UnLock functions were added to the JAM API to prevent
	  asynchronous physical-level access (see AX=5206h,AX=5207h) to
	  compressed data on JAM drives. In other words, two or more programs
	  which use JAM API (say, JMAX optimizer and JCHKDSK - disk checker)
	  cannot be run on the same JAM drive simultaneously.

Top
2F5206 - INT 2F - JAM.SYS v1.10+ - "Read" - PHYSICAL READ DATA FROM JAM ARCHIVE
INT 2F - JAM.SYS v1.10+ - "Read" - PHYSICAL READ DATA FROM JAM ARCHIVE
	AX = 5206h
	DL = drive number (0-default, 1-A:, etc.)
	DS:BX -> disk transfer packet (see #02836)
Return: AH = status (00h,01h,04h,06h,07h,08h,0Dh) (see #02835)
	AL = host drive error code (see #02598 at INT 2F/AX=0802h)
Program: JAM.SYS is a main component of the JAM Real-Time Data Compression
	  Utilities by George A. Reznik and friends (JAM Software).
SeeAlso: AX=5207h

Format of disk transfer packet:
Offset	Size	Description	(Table 02836)
 00h	DWORD	sector number
 04h	WORD	number of sectors to read(write)
 06h	DWORD	transfer address

Top
2F5207 - INT 2F - JAM.SYS v1.10+ - "Write" - PHYSICAL WRITE DATA TO JAM ARCHIVE
INT 2F - JAM.SYS v1.10+ - "Write" - PHYSICAL WRITE DATA TO JAM ARCHIVE
	AX = 5207h
	DL = drive number (0-default, 1-A:, etc.)
	DS:BX -> disk transfer packet (see #02836)
Return: AH = status (00h,01h,04h,06h,07h,08h,0Dh) (see #02835)
	AL = host drive error code (see #02598 at INT 2F/AX=0802h)
SeeAlso: AX=5206h

Top
2F53 - INT 2F U - POWER.EXE - APM event broadcasting???
INT 2F U - POWER.EXE - APM event broadcasting???
	AH = 53h
	AL = event???
	    05h CPU idle
	    0Bh PM event broadcast API
Return: ???
Note:	called by MS Windows 3.1 POWER.DRV; hooked by MS Mouse driver v8.20+
	  and PC-Cache v8.0
SeeAlso: AX=530Bh,AX=5400h,INT 33/AX=002Fh

Top
2F530B - INT 2F U - ??? (MOUSEPWR.COM, others) - ???
INT 2F U - ??? (MOUSEPWR.COM, others) - ???
	AX = 530Bh
	BX = subfunction
	    0003h ???
	    0004h ???
	???
Return: ???
Note:	it appears that subfunction 0003h reads or restores the current mouse
	  settings (the MS Mouse driver hooks AX=530Bh), and 0004h might be
	  the converse

Top
2F5400 - INT 2F U - POWER.EXE - INSTALLATION CHECK
INT 2F U - POWER.EXE - INSTALLATION CHECK
	AX = 5400h
Return: AX = POWER.EXE version (AH = major, AL = minor) if installed
	BX = 504Dh ("PM")
	CF clear
Note:	called by MS Windows 3.1 POWER.DRV
SeeAlso: AH=53h,AX=5401h,AX=5402h,AX=5481h,AX=5482h

Top
2F5401 - INT 2F U - POWER.EXE - GET/SET POWER STATUS
INT 2F U - POWER.EXE - GET/SET POWER STATUS
	AX = 5401h
	BH = function
	    00h get status
		Return: BL = current power management status (see #02837)
	    01h set status
		BL = new power managment status (see #02837)
Return: AX = function status (see #02838)
Note:	called by MS Windows 3.1 POWER.DRV
SeeAlso: AH=53h,AX=5400h,AX=5402h,AX=5403h

Bitfields for power management status:
Bit(s)	Description	(Table 02837)
 0	POWER.EXE power management enabled
 1	APM firmware power management enabled
 2-7	reserved (0)
Notes:	bit 1 is ignored if there is no APM firmware
	bits 1-0: 00 = POWER OFF, 10 = POWER STD, 11 = POWER ADV

(Table 02838)
Values for POWER.EXE function status:
 0000h	successful
 0002h	"ERROR_PM_ALREADY_CONNECTED"
 0003h	"ERROR_PM_NOT_CONNECTED"
 0087h	"ERROR_PM_INVALID_PARAMETER"

Top
2F5402 - INT 2F U - POWER.EXE - GET/SET IDLE DETECTION STRATEGY
INT 2F U - POWER.EXE - GET/SET IDLE DETECTION STRATEGY
	AX = 5402h
	BH = subfunction
	    00h get
	    other set
		BL = detection strategy (00h-0Fh or FFh)
Return: BX = current/new detection strategy
SeeAlso: AH=53h,AX=5400h,AX=5401h,AX=5481h,AX=5482h

Top
2F5403 - INT 2F U - POWER.EXE - GET/SET ADVANCED POWER MANAGEMENT SETTING
INT 2F U - POWER.EXE - GET/SET ADVANCED POWER MANAGEMENT SETTING
	AX = 5403h
	BX = new power management setting or 0000h to get current setting
Return: AX = status
	    0000h successful
		BX = power management setting (see #02839)
	    other error code
SeeAlso: AX=5401h,AX=5480h

(Table 02839)
Values for power management setting:
 0001h-0005h "min"
 0006h	     "reg"
 0007h-0008h "max"

Top
2F5453 - INT 2F - TesSeRact RAM-RESIDENT PROGRAM INTERFACE
INT 2F - TesSeRact RAM-RESIDENT PROGRAM INTERFACE
	AX = 5453h
	BX = subfunction
	    00h installation check
		CX = 0000h
		DS:SI -> 8-char blank-padded name (see #02840)
		Return: AX = FFFFh installed
				CX = ID number of already-installed copy
			AX = anything else, not installed
				CX = ID number for TSR when installed
	    01h get user parameters
		CX = TSR ID number
		Return: AX = status
			    0000h successful
				ES:BX -> user parameter block (see #02841)
			    nonzero failed
	    02h check if hotkey in use
		CL = scan code of hot key (see #00006)
		Return: AX = FFFFh hot key conflicts with another TSR
			     otherwise safe to use the hotkey
	    03h replace default critical error handler
		CX = TSR ID number
		DS:SI -> new routine for INT 24h
		Return: AX = nonzero, unable to install new handler
	    04h get internal data area
		CX = TSR ID number
		Return: AX = status
			    0000h successful
				ES:BX -> TSR's internal data area (see #02842)
			    nonzero, TSR not found
	    05h set multiple hot keys
		CX = TSR ID number
		DL = number of additional hot keys to allocate
		DS:SI -> table of hot keys
			BYTE  hotkey scan code (see #00006)
			BYTE  hotkey shift state
			BYTE  flag value to pass to TSR (nonzero)
		Return: AX = nonzero, unable to install hot keys
	    06h - 0Fh reserved
	    10h enable TSR
		CX = TSR ID number
		Return: AX = nonzero, unable to enable
	    11h disable TSR
		CX = TSR ID number
		Return: AX = nonzero, unable to disable
	    12h unload TSR
		CX = TSR ID number
		Return: AX = nonzero, invalid TSR number
		Note: if any interrupts used by TSR have been grabbed by
			another TSR, the TesSeRact routines will wait until
			it is safe to remove the indicated TSR from memory
	    13h restart TSR
		CX = TSR ID number of TSR which was unloaded but is still in
		     memory
		Return: AX = nonzero, unable to restart TSR
	    14h get status word
		CX = TSR ID number
		Return: AX = FFFFh invalid ID number
			   = other, successful
				BX = bit flags
	    15h set status word
		CX = TSR ID number
		DX = new bit flags
		Return: AX = nonzero, unable to set status word
	    16h get INDOS state at popup
		CX = TSR ID number
		Return: AX = 0000h successful
			    BX = value of INDOS flag
	    17h - 1Fh reserved
	    20h call user procedure
		CX = TSR ID number
		ES:DI -> user-defined data
		Return: AX = 0000h successful
	    21h stuff keystrokes into keyboard buffer
		CX = TSR ID number
		DL = speed
		    00h stuff keystrokes only when buffer is empty
		    01h stuff up to four keystrokes per clock tick
		    02h stuff up to 15 keystrokes per clock tick
		DH = scan code flag
		    if zero, buffer contains alternating ASCII and scan codes
		    if nonzero, buffer contains only ASCII codes
		SI = number of keystrokes
		ES:DI -> buffer to stuff
		Return: AX = 0000h success
			     F0F0h user aborted with ^C or ^Break
			     other unable to stuff keystrokes
	    22h (v1.10) trigger popup
		CX = TSR ID number
		Return: AX = 0000h success, TSR will either pop up or beep to
				   indicate that it is unable to pop up
			     nonzero invalid ID number
	    23h (v1.10) invoke TSR's background function
		CX = TSR ID number
		Return: AX = 0000h success
			     FFFFh not safe to call background function
			     nonzero invalid ID number
	    24h - 2Fh reserved
Notes:	Borland's THELP.COM popup help system for Turbo Pascal and Turbo C
	  (versions 1.x and 2.x only) fully supports the TesSeRact API, as
	  do the SWAP?? programs by Innovative Data Concepts.
	AVATAR.SYS supports functions 00h and 01h (only the first three fields
	  of the user parameter block) using the name "AVATAR  "
SeeAlso: AX=CAFEh,INT 16/AX=55FFh,INT 2D"AMIS"
Index:	installation check;TesSeRact TSR interface|uninstall;TesSeRact

(Table 02840)
Values for TesSeRact names:
 "AVATAR  "	AVATAR.SYS
 "QeditTSR"	TSR version of SemWare's Qedit editor
 "SCRNBLNK"	Trusted Access screen blanker

Format of TesSeRact User Parameter Block:
Offset	Size	Description	(Table 02841)
 00h  8 BYTEs	blank-padded TSR name
 08h	WORD	TSR ID number
 0Ah	DWORD	bitmap of supported functions
 0Eh	BYTE	scan code of primary hotkey (see #00006)
		00h = pop up when shift states match
		FFh = no popup (if shift state also FFh)
 0Fh	BYTE	shift state of primary hotkey
		FFh = no popup (if scan code also FFh)
 10h	BYTE	number of secondary hotkeys
 11h	DWORD	pointer to extra hotkeys set by func 05h
 15h	WORD	current TSR status flags
 17h	WORD	PSP segment of TSR
 19h	DWORD	DTA for TSR
 1Dh	WORD	default DS for TSR
 1Fh	DWORD	stack at popup
 23h	DWORD	stack at background invocation
Index:	hotkeys;TesSeRact TSR interface

Format of TSR internal data area:
Offset	Size	Description	(Table 02842)
 00h	BYTE	revision level of TesSeRact library
 01h	BYTE	type of popup in effect
 02h	BYTE	INT 08 occurred since last invocation
 03h	BYTE	INT 13 occurred since last invocation
 04h	BYTE	active interrupts
 05h	BYTE	active soft interrupts
 06h	BYTE	DOS major version
 07h	BYTE	how long to wait before popping up
 08h	DWORD	pointer to INDOS flag
 0CH	DWORD	pointer to DOS critical error flag
 10h	WORD	PSP segment of interrupted program
 12h	WORD	PSP segment of prog interrupted by INT 28
 14h	DWORD	DTA of interrupted program
 18h	DWORD	DTA of program interrupted by INT 28
 1Ch	WORD	SS of interrupted program
 1Eh	WORD	SP of interrupted program
 20h	WORD	SS of program interrupted by INT 28
 22h	WORD	SP of program interrupted by INT 28
 24h	DWORD	INT 24 of interrupted program
 28h  3 WORDs	DOS 3.0+ extended error info
 2Eh	BYTE	old BREAK setting
 2Fh	BYTE	old VERIFY setting
 30h	BYTE	were running MS WORD 4.0 before popup
 31h	BYTE	MS WORD 4.0 special popup flag
 32h	BYTE	enhanced keyboard call in use
 33h	BYTE	delay for MS WORD 4.0
11 times (for INTs 08h,09h,13h,16h,1Ch,21h,28h,2Fh,1Bh,23h, and 24h):
	DWORD	old interrupt vector
	BYTE	interrupt number
	WORD	offset in TesSeRact code segment of new interrupt handler

Top
2F5480 - INT 2F U - POWER.EXE - GET/SET ???
INT 2F U - POWER.EXE - GET/SET ???
	AX = 5480h
	BX = direction
	    0000h get
	    other set
	CX = size of buffer (at least 0010h)
	DS:SI -> buffer
Return: AX = status
	    0000h successful
	    other error code
SeeAlso: AX=5400h,AX=5481h,AX=548Fh

Top
2F5481 - INT 2F U - POWER.EXE - GET STATISTICS
INT 2F U - POWER.EXE - GET STATISTICS
	AX = 5481h
	BX = which statistics
	    0000h idle detection
	    0001h APM statistics
	CX = length of buffer in bytes
	DS:SI -> buffer for statistics (see #02843,#02844)
Return: AX = status
	    0000h successful
	    0071h "ERROR_PM_BUFFER_TOO_SMALL"
	    0087h "ERROR_PM_INVALID_PARAMETER"
SeeAlso: AH=53h,AX=5400h,AX=5480h,AX=5402h,AX=5482h

Format of POWER.EXE idle detection statistics:
Offset	Size	Description	(Table 02843)
 00h	DWORD	"CPU_ON_TIME" total time CPU is active with POWER.EXE idle
		  detection enabled, in timer ticks
 04h	DWORD	"CPU_IDLE_TIME" timer ticks during which CPU was idle
		(divide by previous to get idle	rate)
 08h	DWORD	total idle calls
 0Ch	DWORD	"TOTAL_APP_IDLE" total INT 2Fh idle calls
 10h	DWORD	"TOTAL_DOS_YIELD" total INT 28h idle calls
 14h	DWORD	"TOTAL_KEY_IDLE" total INT 16h idle calls
 18h	DWORD	"TOTAL_DOS_IDLE" total INT 2Ah idle calls

Format of APM statistics:
Offset	Size	Description	(Table 02844)
 00h	DWORD	"RESUME_COUNT" total number of resumes since last APM_ENABLE

Top
2F5482 - INT 2F U - POWER.EXE - GET/SET APM POLLING FREQUENCY
INT 2F U - POWER.EXE - GET/SET APM POLLING FREQUENCY
	AX = 5482h
	BX = new polling frequency or 0000h to get current frequency
Return: AX = 0000h (successful)
	BX = current frequency if BX=0000h on entry
SeeAlso: AH=53h,AX=5400h,AX=5401h,AX=5480h,AX=5481h,AX=548Fh

Top
2F548F - INT 2F U - POWER.EXE - GET/SET ???
INT 2F U - POWER.EXE - GET/SET ???
	AX = 548Fh
	BX = ??? or 0000h to get current ???
Return: AX = 0000h (successful)
	BX = current ???
	CX = ???
SeeAlso: AX=5400h,AX=5480h,AX=5482h

Top
2F5500 - INT 2F U - DOS 5+ - COMMAND.COM INTERFACE
INT 2F U - DOS 5+ - COMMAND.COM INTERFACE
	AX = 5500h
Return: AX = 0000h if an instance of COMMAND.COM is already running
	DS:SI -> entry point table
Notes:	used to access the shareable portion of COMMAND.COM, which may have
	  been moved into the HMA; only the primary COMMAND.COM retains this
	  portion
	procedures called from a dispatcher in COMMAND's resident portion;
	  most assume that the segment address of the resident portion is on
	  the stack and are thus not of general use
	DR PalmDOS up to DR-DOS 7.03 COMMAND.COM do not support this call.
	When loading the default command processor (no SHELL= directive in
	  CONFIG.SYS), MS-DOS 6.0-6.22 IO.SYS & PC DOS 6.1-2000 IBMBIO.COM
	  check a signature (see #04099) in the COMMAND.COM file image to test
	  if it is actually their own shell and has the correct version, before
	  they will launch it. If the signature is not found, the message
	  "Invalid COMMAND.COM" will be displayed. This test seems to have
	  vanished with MS-DOS 7+, as it uses an .EXE style file format.
	In addition to this, the MS-DOS/PC DOS COMMAND.COM checks the version
	  of the underlaying OS to see if it is their own. Hence, the
	  PC DOS 6.1 (and by SETVER version faking also the PC DOS 7 and 2000)
	  COMMAND.COM also run on Novell DOS 7 - DR DOS 7.03, which all
	  identify themselves as DOS API level 6.0 and IBM OEM (not yet tested
	  as primary shell).  PC DOS 5.0 COMMAND.COM should run on DR PalmDOS
	  (untested).
	The MS-DOS 7+ COMMAND.COM seems to no longer perform this kind of
	  version check any more, which can cause a serious deadlock situation
	  on a multi-boot system with DR-DOS installed, when the MS-DOS 7+
	  COMMAND.COM is placed in C:\. When IBMBIO.COM attempts to load the
	  MS-DOS 7+ COMMAND.COM as a primary shell under DR-OpenDOS 7.02 to
	  DR-DOS 7.03 no error message will be displayed by COMMAND.COM, but
	  the machine will just hang. To defuse this situation, DR-DOS 7.02+
	  IBMBIO.COM was changed to still scan for a SHELL= directive in
	  [D]CONFIG.SYS even in F5-mode. For maximum safety, the MS-DOS 7
	  COMMAND.COM should be moved from C:\ to C:\WINDOWS\COMMAND\
	  and a DCONFIG.SYS file should be created containing for example
	  SHELL=C:\DRDOS\COMMAND.COM instead. If a MS-DOS CONFIG.SYS file
	  exists, it should contain a SHELL=C:\WINDOWS\COMMAND\COMMAND.COM
	  directive. (If no shell can be found at all, DR-DOS IBMBIO.COM would
	  display a prompt to enter the proper path to COMMAND.COM).
	The DR-OpenDOS 7.02+ COMMAND.COM is designed to also run on 3rd party
	  operating systems like MS-DOS/PC DOS 3.31+, Windows 9x, and in DOS
	  boxes of OS/2, Windows NT and 2000, and will for example also take
	  advantage of long filenames.
SeeAlso: AX=5501h

Format of Microsoft COMMAND.COM file image signature:
Offset	Size	Description	(Table 04100)
 00h  3 BYTEs	E9h xxh xxh (JMP instruction)
 03h	BYTE	version
		bits 7-4: major version
		bits 3-0: minor version code
		( 60h for MS-DOS 6.0 and PC-DOS 6.1;
		  64h for MS-DOS 6.20, Japanese MS-DOS 6.2, Hangeul MS-DOS 6.2;
		  66h for MS-DOS 6.22, PRC (Chinese) MS-DOS 6.22;
		  70h for PC DOS 7, PC DOS 7 Y2K edition )
Notes:	Since DR DOS 6.0+, MS-DOS 7.0+, PTS-DOS, S/DOS, 4DOS/NDOS use an .EXE
	  style shell file format, this signature is not met by any release of
	  these shells. DR DOS 3.31-5.0 used a different jump (E8h) at offset
	  00h.
	Older releases of MS-DOS/PC DOS all had a jump (E9h) at offset 00h, but
	  other values at offset 03h. For reference here is a list of the
	  values for some of these older shells:
	    00h for PC DOS 1.10, Olivetti DOS 2.11, MS-DOS 5.0,
		  Russian MS-DOS 5.0
	    1Eh for MS-DOS 4.01
	    BAh for PC DOS 3.10, 3.20, MS-DOS 3.30

Top
2F5501 - INT 2F U - DOS 5+ - ROM COMMAND.COM INTERFACE
INT 2F U - DOS 5+ - ROM COMMAND.COM INTERFACE
	AX = 5501h
Return: ???
Note:	used to determine whether the caller is the first instance of ROM
	  COMMAND.COM
SeeAlso: AX=5500h

Top
2F5600 - INT 2F - INTERLNK - INSTALLATION CHECK
INT 2F - INTERLNK - INSTALLATION CHECK
	AX = 5600h
	DX = magic value FFFFh
	BL = instance number (00h = any, 01h = first loaded, etc.)
	(BH = 00h and CX = 0000h, see note)
Return: AL = FFh if installed
	    BL = instance number
	    CX = version number (CL = major, CH = minor)
	    DX = resident CS of driver, DX:0000h -> header (see #02845)
Notes:	INTERLNK was derived from Sewell Development Corporation's FASTLYNX.
	Some Microsoft software explicitly clears the BH and CX registers
	  before calling this function.
BUG:	reportedly, the MS-DOS INTERSRV program (though not INTERLNK) causes
	  serious FAT corruption and data loss when run under Novell DOS 7.
	  INTERSRV apparently checks for DR-DOS by testing the "OS"
	  environment variable for the value "DRDOS", which is no longer
	  correct for PalmDOS, Novell DOS, or OpenDOS.  A workaround may be
	  to explicitly set the OS variable to "DRDOS".
SeeAlso: AX=5601h,AX=5602h,INT 60/AX=0000h

Format of Interlnk device driver header:
Offset	Size	Description	(Table 02845)
 00h	DWORD	pointer to next driver, offset=FFFFh if last driver
 04h	WORD	device attributes (see #01647,#01648)
 06h	WORD	device strategy entry point
 08h	WORD	device interrupt entry point
 0Ah  8 BYTEs	character device name "NUL2    "
 12h 165 BYTEs	???
 B7h 67 BYTEs	fully qualified Interlnk filename
 FAh  6 BYTEs	???
100h	DWORD	pointer back to Interlnk filename at offset B7h
104h  8 BYTEs	???
10Ch	BYTE	total number of redirected drives
10Dh	BYTE	first local drive number (0=A:)
10Eh	BYTE	printer redirection (0=no, 1=yes)
10Fh	BYTE	???
110h  3	BYTEs	LPT1...3 status (0FFh=invalid)
113h 26 BYTEs	remote drive number (0=A:, 0FEh=unused) (refer to note below)
12Dh 26 BYTEs	always 0FEh ???
147h 26 BYTEs	always 0FFh ???
Note:	to obtain the remote drive number, subtract the value at offset 10Ch
	  from the local drive number before indexing into the table at 113h
	  (example: if local drives F, G, H are remote drives C, F, E then
	  the first three bytes at offset 113h are 02h, 05h, 04h)
	for each instance of Interlnk, an extra device driver is loaded, but
	  all have the same device name NUL2
SeeAlso: #01646 at INT 21/AH=52h

Top
2F5601 - INT 2F - INTERLNK - CHECK IF REDIRECTED DRIVE
INT 2F - INTERLNK - CHECK IF REDIRECTED DRIVE
	AX = 5601h
	DX = magic value FFFFh
	BH = drive number (0=A:)
	BL = instance number (00h=any, 01h=first loaded, etc.)
	(CX = 0000h, see note)
Return: (as for AL=00h if redirected drive)
Note:	some Microsoft software explicitly clears the CX register before
	  calling this function.
SeeAlso: AX=5600h,AX=5601h

Top
2F5602 - INT 2F - INTERLNK - CHECK IF PORT IN USE
INT 2F - INTERLNK - CHECK IF PORT IN USE
	AX = 5602h
	DX = magic value FFFFh
	BL = instance number (00h=any, 01h=first loaded, etc.)
	CX = base port address of COM / LPT port to check
Return: (as for AL=00h if port in use for a redirected drive)
SeeAlso: AX=5600h

Top
2F5700 - INT 2F U - IOMEGA DRIVERS - INSTALLATION CHECK
INT 2F U - IOMEGA DRIVERS - INSTALLATION CHECK
	AX = 5700h
	BX = program ID??? (0201h used by GUEST.EXE)
	DX = 496Fh ('Io')
Return: AL = status
	    00h not installed
	    FFh installed
SeeAlso: AX=5701h,AX=5710h,AX=5711h,AX=5712h

Top
2F5701 - INT 2F U - IOMEGA DRIVERS - SECONDARY INSTALLATION CHECK
INT 2F U - IOMEGA DRIVERS - SECONDARY INSTALLATION CHECK
	AX = 5701h
	BX = program ID??? (0201h used by GUEST.EXE)
	DX = 496Fh ('Io')
Return: AX = 0001h if GUEST.EXE installed
SeeAlso: AX=5700h,AX=5710h,AX=5711h,AX=5712h

Top
2F5710 - INT 2F U - IOMEGA DRIVERS - GET DRIVER INFORMATION???
INT 2F U - IOMEGA DRIVERS - GET DRIVER INFORMATION???
	AX = 5710h
	BX = program ID??? (0201h used by GUEST.EXE)
	DX = 496Fh ('Io')
Return: AX = ??? (BX ORed with ???)
	BX = ??? (internal variable)
	CX = ??? (internal variable)
	DX = ??? (CX ORed with ???)
SeeAlso: AX=5700h,AX=5701h,AX=5711h,AX=5712h

Top
2F5711 - INT 2F U - IOMEGA DRIVERS - LOCK MEDIA IN DRIVE
INT 2F U - IOMEGA DRIVERS - LOCK MEDIA IN DRIVE
	AX = 5711h
	BX = program ID??? (0201h used by GUEST.EXE)
	DX = 496Fh ('Io')
Return: CF clear if successful (storage medium in drive)
	    AX = new lock count
	CF set on error (drive empty)
SeeAlso: AX=5700h,AX=5701h,AX=5710h,AX=5712h

Top
2F5712 - INT 2F U - IOMEGA DRIVERS - UNLOCK MEDIA IN DRIVE / EJECT
INT 2F U - IOMEGA DRIVERS - UNLOCK MEDIA IN DRIVE / EJECT
	AX = 5712h
	BX = program ID??? (0201h used by GUEST.EXE)
	DX = 496Fh ('Io')
Return: AX = new lock count (00h = unlocked)
Note:	if the lock count was already zero, the storage medium is ejected
	  from the drive
SeeAlso: AX=5700h,AX=5701h,AX=5710h,AX=5711h

Top
2F5758BX4858 - INT 2F U - Helix Multimedia Cloaking - CACHECLK - INSTALLATION CHECK
INT 2F U - Helix Multimedia Cloaking - CACHECLK - INSTALLATION CHECK
	AX = 5758h
	BX = 4858h ('HX')
	DX = 4443h ('DC')
	CX <> 5758h
Return: BX = 6878h if installed
	DX = 6463h if installed
	   CX = version (CH=major,CL=minor)
Program: CACHECLK is a 'Cloaked' disk cache by Helix Software
Note:	returns with registers unchanged if CX=5758h on entry
SeeAlso: INT 16/AX=5758h/BX=4858h,INT 2F/AX=4310h"Cloaking"

Top
2F5D00 - INT 2F U - PCMCIA - AWARD PCDISK - GET INFO FROM DRIVER ???
INT 2F U - PCMCIA - AWARD PCDISK - GET INFO FROM DRIVER ???
	AX = 5D00h
Return: ES:BX -> ???
Note:	supported by Ventura Micro / Award PCDISK.EXE v1.02c PCMCIA/ATA driver
SeeAlso: AX=5D01h,INT 21/AX=440Dh"DOS 3.2+"

Top
2F5D01 - INT 2F U - PCMCIA - AWARD PCDISK - PUT INFO INTO DRIVER ???
INT 2F U - PCMCIA - AWARD PCDISK - PUT INFO INTO DRIVER ???
	AX = 5D01h
	ES:BX -> ???
Return: nothing
Note:	supported by Ventura Micro / Award PCDISK.EXE v1.02c PCMCIA/ATA driver
SeeAlso: AX=5D00h,INT 21/AX=440Dh"DOS 3.2+"

Top
2F60FFDL00 - INT 2F U - IPLAY v1.00b - INSTALLATION CHECK
INT 2F U - IPLAY v1.00b - INSTALLATION CHECK
	AX = 60FFh
	DL = 00h (function number)
	BX = 5344h ('SD')
	CX = 4D50h ('MP')
Return: AX = 4F4Bh ('OK') if installed
Program: IPLAY is the Inertia Player by Prime and Excalibur for .MODules
	  (digitized music files)
Note:	in version 1.00b, any value for DL except 01h invokes this function
SeeAlso: AX=60FFh/DL=01h

Top
2F60FFDL01 - INT 2F U - IPLAY v1.00b - GET DATA SEGMENT
INT 2F U - IPLAY v1.00b - GET DATA SEGMENT
	AX = 60FFh
	DL = 01h (function number)
	BX = 5344h ('SD')
	CX = 4D50h ('MP')
Return: AX = data segment
Program: IPLAY is the Inertia Player by Prime and Excalibur for .MODules
	  (digitized music files)
SeeAlso: AX=60FFh/DL=00h

Top
2F6282 - INT 2F U - PC Tools v7.0+ VDEFEND, VSAFE, VWATCH, DATAMON - SET ??? ADDRESS
INT 2F U - PC Tools v7.0+ VDEFEND, VSAFE, VWATCH, DATAMON - SET ??? ADDRESS
	AX = 6282h
	CX:DX -> ??? or 0000h:0000h
	DI = segment of ??? record (see #02846) or 0000h/FFFFh to ignore
Return: BX = 0062h
Note:	if CX:DX = 0000h:0000h on entry, the ??? address is not changed
	  (DATAMON only)
SeeAlso: INT 13/AH=FAh"VSAFE",INT 21/AH=FAh"VDEFEND"

Format of VSAFE/VWATCH record:
Offset	Size	Description	(Table 02846)
 00h	DWORD	???
 04h	WORD	offset of ??? in record's segment
		VSAFE 2.0 sets byte at +01h to 56h or 58h
		VWATCH 2.1 sets byte at +02h to 56h or 58h
 06h  2 BYTEs	???
 08h	BYTE	??? (01h/other)

Top
2F6284BX0000 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT	- INSTALLATION CHECK
	AX = 6284h
	BX = 0000h
	CX = 0000h
Return: AX = segment of resident code
	BX = 5555h
	CX = 5555h
Note:	also supported by DOS 6 UNDELETE which is licensed from PC Tools
SeeAlso: AX=6284h/BX=0001h,INT 16/AX=FFA3h/BX=0000h

Top
2F6284BX0001 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
	AX = 6284h
	BX = 0001h
	CX = 0001h
Return: AX:BX -> ??? data (see #02847)
	CX = BX
SeeAlso: AX=6284h/BX=0000h

Format of DPROTECT data for v9.0:
Offset	Size	Description	(Table 02847)
 00h  5 BYTEs	???
 05h	WORD	resident code segment (may be segment of DWORD at +03h)
 07h	DWORD	-> FAR function to sound alert tone
	???

Top
2F6284BX0002 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET OPTIONS
INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET OPTIONS
	AX = 6284h
	BX = 0002h
	CX = 0002h
Return: AX = options (see #02848)
	BX = ??? (0000h for v9)
	CX = AX
	DX = BX
Note:	also supported by DOS 6 UNDELETE which is licensed from PC Tools
SeeAlso: AX=6284h/BX=0000h,AX=6284h/BX=0003h

Bitfields for DATAMON/DPROTECT options:
Bit(s)	Description	(Table 02848)
 1	???
 12	disabled
 13	using Delete Sentry
 14	using Delete Tracker

Top
2F6284BX0003 - INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - SET OPTION??? FLAGS
INT 2F U - PC Tools v7-8 DATAMON, v9+ DPROTECT - SET OPTION??? FLAGS
	AX = 6284h
	BX = 0003h
	CX = flags (see #02849)
	DX = flags
	    bit 15: ???
Note:	v9 DPROTECT only checks bit 12 of CX, and ignores DX entirely
SeeAlso: AX=6284h/BX=0002h

Bitfields for DATAMON/DPROTECT CX flags:
Bit(s)	Description	(Table 02849)
 3	???
 5	???
 10	???
 12	disable DATAMON/DPROTECT

Top
2F6284BX0004 - INT 2F U - PC Tools v8 DATAMON, v9+ DPROTECT - ???
INT 2F U - PC Tools v8 DATAMON, v9+ DPROTECT - ???
	AX = 6284h
	BX = 0004h
	CX = 0004h
Return: AX = 5555h
	BX = ??? (0800h)
	CX = ??? (FCCCh for v8, FCCBh for v9)

Top
2F6400 - INT 2F - SCRNSAV2.COM - INSTALLATION CHECK
INT 2F - SCRNSAV2.COM - INSTALLATION CHECK
	AX = 6400h
Return: AL = installation state
	    00h not installed
	    FFh installed
Program: SCRNSAV2.COM is a screen saver for PS/2s with VGA by Alan Ballard
SeeAlso: INT 10/AX=5555h,INT 14/AX=AA01h
Index:	screen saver;SCRNSAV2

Top
2F7000 - INT 2F - License Service API - INSTALLATION CHECK
INT 2F - License Service API - INSTALLATION CHECK
	AX = 7000h
	CX = license server index (0000h to 001Fh)
Return: AL = status
	    00h not installed
	    FFh installed
Notes:	The License Service API is being maintained by Microsoft but is being
	  supported by a large number of companies including Apple, Banyan,
	  DEC, HP, Lotus, Microsoft, Novell, Software Publishers Association,
	  and Wordperfect (not a complete list!)
	Each license service provider must search for the next free index
	  slot to use
SeeAlso: AX=7001h,AX=7003h,AX=7004h,AX=7005h

Top
2F7001 - INT 2F - License Service API - REQUEST LICENSE
INT 2F - License Service API - REQUEST LICENSE
	AX = 7001h
	CX = license server index (0000h to 001Fh)
	DS:DX -> SLSREQUEST structure (see #02850)
Return: AX = status
	    0000h success
	    else  provider error code
	ES:BX = provider specific handle for the license context
SeeAlso: AX=7002h,AX=7004h,AX=7005h

Format of License Service SLSREQUEST structure:
Offset	Size	Description	(Table 02850)
 00h	DWORD	(ret) status code
 04h	DWORD	(ret) handle identifying context
 08h	DWORD	(call) address of Publisher string
 0Ch	DWORD	(call) address of Product string
 10h	DWORD	(call) address of Version string
 14h	DWORD	units required
 18h	DWORD	address of comment string
 1Ch	DWORD	address of SLSCHALLENGE structure (see #02851)

Format of License Service SLSCHALLENGE structure:
Offset	Size	Description	(Table 02851)
 00h	DWORD	algorithm (currently always 1)
 04h	DWORD	secret to be challenged (1-255)
 08h	DWORD	size of challenge in bytes (1-255)
 0Ch  N BYTEs	challenge data

Top
2F7002 - INT 2F - License Service API - RELEASE LICENSE
INT 2F - License Service API - RELEASE LICENSE
	AX = 7002h
	CX = license server index (0000h to 001Fh)
	DS:DX -> SLSRELEASE structure (see #02852)
	ES:BX = provider specific handle for the license context
Return: AL = status
	    00h not installed
	    FFh installed
SeeAlso: AX=7001h,AX=7005h

Format of License Service SLSRELEASE structure:
Offset	Size	Description	(Table 02852)
 00h	DWORD	handle indentifying license context
 04h	DWORD	total units consumed
 08h	DWORD	address of comment string

Top
2F7003 - INT 2F - License Service API - UPDATE
INT 2F - License Service API - UPDATE
	AX = 7003h
	CX = license server index (0000h to 001Fh)
	DS:DX -> SLSUPDATE structure (see #02853)
	ES:BX = provider specific handle for the license context
Return: AL = status
	    00h not installed
	    FFh installed
SeeAlso: AX=7004h,AX=7005h

Format of License Service SLSUPDATE structure:
Offset	Size	Description	(Table 02853)
 00h	DWORD	(ret) status code
 04h	DWORD	(call) handle identifying license context
 08h	DWORD	(call) total units consumed
 0Ch	DWORD	additional units required
 10h	DWORD	address of comment string
 14h	DWORD	address of SLSCHALLENGE structure (see #02851)

Top
2F7004 - INT 2F - License Service API - GET ERROR
INT 2F - License Service API - GET ERROR
	AX = 7004h
	CX = license server index (0000h to 001Fh)
	DS:DX -> SLSGETERROR structure (see #02854)
	ES:BX = provider specific handle for the license context
Return: AL = status
	    00h not installed
	    FFh installed
SeeAlso: AX=7000h,AX=7001h

Format of License Service SLSGETERROR structure:
Offset	Size	Description	(Table 02854)
 00h	DWORD	(ret) status code
 04h	DWORD	handle identifying license context
 08h	DWORD	error code
 0Ch	DWORD	buffer size in bytes
 10h  N BYTEs	data buffer

Top
2F7005 - INT 2F - License Service API - QUERY LICENSE
INT 2F - License Service API - QUERY LICENSE
	AX = 7005h
	CX = license server index (0000h to 001Fh)
	DS:DX -> SLSQUERY structure (see #02855)
	ES:BX = provider specific handle for the license context
Return: AL = status
	    00h not installed
	    FFh installed
SeeAlso: AX=7001h,AX=7002h

Format of License Service SLSQUERY structure:
Offset	Size	Description	(Table 02855)
 00h	DWORD	(ret) status code
 04h	DWORD	handle identifying license context
 08h	DWORD	information index
 0Ch	DWORD	buffer size in bytes
 10h  N BYTEs	data buffer

Top
2F7041BX4B70 - INT 2F U - HP 200LX - KEY200 - INSTALLATION CHECK
INT 2F U - HP 200LX - KEY200 - INSTALLATION CHECK
	AX = 7041h
	BX = 4B70h
Return: BX = 7965h if keyboard remapper KEY200.COM installed

Top
2F7200 - INT 2F - SRDISK v1.30+ - INSTALLATION CHECK
INT 2F - SRDISK v1.30+ - INSTALLATION CHECK
	AX = 7200h
Return: AL = FFh if installed
	    ES = segment of device driver header (see #02856)
Program: SRDISK is a freeware resizeable RAMdisk by Marko Kohtala
SeeAlso: AX=7201h

Format of SRDISK device driver header:
Offset	Size	Description	(Table 02856)
 00h 10 BYTEs	same as standard device driver header
		  (see #01646 at INT 21/AH=52h)
 0Ah	BYTE	number of subunits (drives) supported by driver
 0Bh  3 BYTEs	signature "SRD"
 0Eh  4 BYTEs	memory type string ("XMS "/"EMS ")
 12h  4 BYTEs	ASCII driver version string "N.NN"
 16h	BYTE	00h
 17h	BYTE	configuration format version (currently 00h or 01h)
 18h	WORD	offset of drive configuration data
SeeAlso: #01646

Top
2F7201 - INT 2F - SRDISK v2.02 - GET CODE/DATA SEGMENT
INT 2F - SRDISK v2.02 - GET CODE/DATA SEGMENT
	AX = 7201h
Return: AL = FFh if installed
	    ES = segment of device driver header (see #02856)
Program: SRDISK is a freeware resizeable RAMdisk by Marko Kohtala
SeeAlso: AX=7200h

Top
Section -


Top
2F7A00 - INT 2F - Novell NetWare - LOW-LEVEL API (IPX) INSTALLATION CHECK
INT 2F - Novell NetWare - LOW-LEVEL API (IPX) INSTALLATION CHECK
	AX = 7A00h
Return: AL = status
	    00h not installed
	    FFh installed
		ES:DI -> FAR entry point for routines accessed exclusively
			  through INT 7A in NetWare versions through 2.0a.
			  Call with same values as INT 7A
		ES:BX -> two bytes containing IPX major/minor version
			(IPXODI v2.12; BX unchanged by older IPX drivers)
		CX = ES ???
SeeAlso: AX=7AFFh/BX=0000h,AX=D800h,INT 64"Novell",INT 7A"LOW-LEVEL API"

Top
2F7A10 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET TBMI STATUS
INT 2F U - Novell NetWare - TBMI v1.1+ - GET TBMI STATUS
	AX = 7A10h
Return: DH = major TBMI version number
	DL = minor TBMI version number (01h for v1.1)
	CX = segment address of TBMI resident part
	BX = status word of TBMI (see #02857)
Note:	TBMI is the Task-Switched Buffer Manager Interface
SeeAlso: AX=7A11h,AX=7A12h,AX=7A13h,AX=7A14h

Bitfields for NetWare TBMI status word:
Bit(s)	Description	(Table 02857)
 0	INT2F intercepted by TBMI
 1	INT7A intercepted by TBMI
 2	INT64 intercepted by TBMI
 3-14	reserved or unused ???
 15	outstanding task ID was detected

Top
2F7A11 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT2F HANDLERS
INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT2F HANDLERS
	AX = 7A11h
Return: ES:BX -> old INT 2F handler
	DS:DX -> TBMI INT 2F handler
SeeAlso: AX=7A10h,AX=7A12h,AX=7A13h,AX=7A1Ah

Top
2F7A12 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT64 HANDLERS
INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT64 HANDLERS
	AX = 7A12h
Return: ES:BX -> old INT 64 handler
	DS:DX -> TBMI INT 64 handler
SeeAlso: AX=7A10h,AX=7A11h,AX=7A13h

Top
2F7A13 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT7A HANDLERS
INT 2F U - Novell NetWare - TBMI v1.1+ - GET INT7A HANDLERS
	AX = 7A13h
Return: ES:BX -> old INT 7A handler
	DS:DX -> TBMI INT 7A handler
SeeAlso: AX=7A10h,AX=7A11h,AX=7A12h

Top
2F7A14 - INT 2F U - Novell NetWare - TBMI v1.1+ - GET STATISTICS
INT 2F U - Novell NetWare - TBMI v1.1+ - GET STATISTICS
	AX = 7A14h
	CX = statistic to retrieve
	    0000h available diagnostic functions???
		Return: CX = maximum available function??? (000Ch for v2.0)
	    0001h buffers in use
		Return: CX = TBMI buffers currently in use
	    0002h maximum buffers used
		Return: CX = maximum number of buffers ever in use
	    0003h unavailable buffers
		Return: CX = count of unavailable TBMI buffers
	    0004h old interrupt usage
		Return: CX = TBMI accesses to intercepted old vectors INT 2F,
			      INT 64, and INT 7A
	    0005h far call usage
		Return: CX = TBMI accesses to IPX/SPX far call handler (not
			      including internal accesses)
	    0006h task buffering
		Return: CX = TBMI task buffering status (enabled/disabled or
			      disable/enable switch count???)
	    0007h current task ID
		Return: CX = TBMI current task ID number (0000h if ???)
	    0008h outstanding ID count
		Return: CX = number of outstanding TBMI IDs
	    0009h configured ECBs
		Return: CX = number of TBMI Event Control Blocks configured
	    000Ah configured data ECBs
		Return: CX = number of TBMI data ECBs configured
	    000Bh configured sockets
		Return: CX = number of TBMI sockets configured (from NETCFG)
	    000Ch current sockets
		Return: CX = number of TBMI sockets currently in use
Return: BX = maximum supported subfunction (000Ch)
SeeAlso: AX=7A10h

Top
2F7A15 - INT 2F OU - Novell NetWare - TBMI v1.1 only - RESET ???
INT 2F OU - Novell NetWare - TBMI v1.1 only - RESET ???
	AX = 7A15h
Return: BX = new value of ???
Desc:	set ??? to its default value
Note:	this call is a NOP under TBMI v2.0 (TBMI2)
SeeAlso: AX=7A17h

Top
2F7A16 - INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
	AX = 7A16h
	CX = ???
	???
Return: ???
Note:	this call is a NOP under TBMI v2.0 (TBMI2)

Top
2F7A17 - INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
INT 2F OU - Novell NetWare - TBMI v1.1 only - ???
	AX = 7A17h
	???
Return: BX = old value of ???
	CX = new value of ???
Note:	this call is a NOP under TBMI v2.0 (TBMI2)
SeeAlso: AX=7A15h

Top
2F7A18 - INT 2F U - Novell NetWare - TASKID v1.0 - INSTALLATION CHECK
INT 2F U - Novell NetWare - TASKID v1.0 - INSTALLATION CHECK
	AX = 7A18h
Return: AL = FFh if installed
	    BX = configuration flags (see #02858)
	    CX = resident code segment
SeeAlso: AX=7A10h

Bitfields for NetWare TASKID configuration flags:
Bit(s)	Description	(Table 02858)
 0	INT 2F hooked
 3	INT 08 hooked
 other	unused

Top
2F7A19 - INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 08 HANDLERS
INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 08 HANDLERS
	AX = 7A19h
Return: AL = FFh
	DS:DX -> TASKID INT 08 handler
	ES:BX -> original INT 08 handler

Top
2F7A1A - INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 2F HANDLERS
INT 2F U - Novell NetWare - TASKID v1.0 - GET INT 2F HANDLERS
	AX = 7A1Ah
Return: AL = FFh
	DX:DX -> TASKID INT 2F handler
	ES:BX -> original INT 2F handler
SeeAlso: AX=7A11h,AX=7A19h

Top
2F7A1B - INT 2F U - Novell NetWare - TASKID v1.0 - GET DIAGNOSTICS INFORMATION
INT 2F U - Novell NetWare - TASKID v1.0 - GET DIAGNOSTICS INFORMATION
	AX = 7A1Bh
	CX = desired information
	    0000h supported functions
	    0001h TASKID ID number
		Return: CX = ID number
	    0002h set-ID count
		Return: CX = ID set count
Return: AL = FFh
	BX = highest supported subfunction number (0002h)
SeeAlso: AX=7A14h,AX=7A18h

Top
2F7A1C - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
INT 2F U - Novell NetWare - TBMI v1.1+ - ???
	AX = 7A1Ch
	BP = ???
	CX:DX = ???
Return: AX = 70FFh

Top
2F7A1D - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
INT 2F U - Novell NetWare - TBMI v1.1+ - ???
	AX = 7A1Dh
	???
Return: ES = ???
	???
	SI destroyed

Top
2F7A1E - INT 2F U - Novell NetWare - TBMI v1.1+ - ???
INT 2F U - Novell NetWare - TBMI v1.1+ - ???
	AX = 7A1Eh
	ES:SI -> ???
	???
Return: ???

Top
2F7A20BX0000 - INT 2F - Novell NetWare - Adv NetWare 4.0 DOS Requester - GET VLM CALL ADDRESS
INT 2F - Novell NetWare - Adv NetWare 4.0 DOS Requester - GET VLM CALL ADDRESS
	AX = 7A20h
	BX = 0000h
Return: AX = 0000h on success (installed)
	    ES:BX -> far call address for DOS Requester (see #02859)
Notes:	the DOS Requester replaces the NetWare Shell (ANETx, NETx) on
	  NetWare LAN's as of the release of Advanced NetWare 4.0 (1993).  It
	  is backward compatible with NetWare 2.1x through 3.11 servers as
	  well.	 Note that there was a NetWare 4.0 in the early 1980's, which
	  can cause confusion.
	this call is used as the installation check by VLM.EXE, which is the
	  loader for all the modules of the DOS Requester
	.VLMs are standard old .EXE format executables whose normal entry point
	  merely terminates to prevent loading from the command line (Novell's
	  VLMs all return errorlevel 6).  The real entry point is found by
	  looking at the VLM header at the beginning of the load image
	  (see #02862)
Index:	installation check;NetWare 4.0 DOS Requester
SeeAlso: AX=7A20h/BX=0001h,AX=7A20h/BX=0002h

(Table 02859)
Call DOS Requester entry point with:
	STACK:	WORD	destination function
		WORD	destination VLM ID (see #02861)
		WORD	source VLM ID (0000h = application program)
	other registers (except BP) as appropriate for function
Return: AX = status code (0000h,8811h,8846h,8848h,8853h) (see #02860)
	ZF set if successful, clear on error
	other registers as appropriate for function
	STACK popped
	BP destroyed

(Table 02860)
Values for VLM status code:
 0000h	successful
 88xxh	error generated by requester
 8801h	invalid or non-attached connection handle
 8802h	drive in use (OS/2 only)
 8803h	cannot add CDS
 8804h	bad path
 8805h	error sending or receiving NCP packets
 8806h	unknown network error
 8807h	invalid server connection slot
 8808h	no connection slots available
 880Ah	no route to server
 880Bh	"BAD_LOCAL_TARGET" (OS/2 only)
 880Ch	too many request fragments
 880Dh	"CONNECT_LIST_OVERFLOW" (OS/2 only)
 880Eh	buffer overflow on receive
 880Fh	no connection to server
 8810h	no router found (OS/2 only)
 8811h	nonexistent function called
 8830h	internal server request attempted between two separate connections
 8831h	no primary connection set
 8833h	invalid buffer length
 8834h	invalid user name
 8835h	no local print spooler installed
 8836h	attempted function with invalid parameter
 8837h	failed to open configuration file (OS/2 only)
 8838h	no configuration file (OS/2 only)
 8839h	configuration file read failed (OS/2 only)
 883Ah	line too long in configuration file (OS/2 only)
 883Bh	configuration lines ignored (OS/2 only)
 883Ch	foreign resource
 883Dh	daemon already installed (OS/2 only)
 883Eh	print spooler already installed
 883Fh	local connection table already full
 8840h	configuration section not found (OS/2 only)
 8841h	invalid transport type
 8842h	TDS tag in use (OS/2 only)
 8843h	TDS out of memory (OS/2 only)
 8844h	called TDS function with invalid tag
 8845h	TDS write was truncated
 8846h	called partially asynchronous function while it was busy
 8847h	unable to find any responding servers
 8848h	non-loaded or nonexistent VLM called
 8849h	network drive already mapped
 884Ah	attempted map to local drive which was already in use
 884Bh	no more drives available for mapping
 884Ch	device is not redirected
 884Dh	no more SFT entries (too many handles)
 884Eh	unable to unload
 884Fh	connection entry was already in use
 8850h	too many reply fragments
 8851h	name table already full
 8852h	socket not open
 8853h	memory management error
 8854h	SFT III switch occurred in mid-transfer
 8855h	preferred server was not found (alternate returned)
 8856h	device not recognized
 8857h	bad network byte
 88A0h	memory allocation error
 88A1h	connection timeout failure
 88A2h	transport: bad request
 88A3h	specified transport not installed
 88A4h	unable to open connection with specified parameters
 88A6h	unsupported function
 88A7h	no such task
 88A8h	too many tasks
 88A9h	version mismatch
 88AAh	request cancelled
 88ABh	invalid NDS name
 88ACh	unable to perform operation while logged into NDS
 88ADh	requester not available for use
 88AEh	MacIPX not configured properly
 88AFh	no servers found
 88B0h	no volume or session associated with identifier
 88B1h	not a NetWare volume
 88B2h	MacIPX version incompatible with Requester
 88B4h	MacIPX not open
 88B5h	insufficient stack
 88B6h	client API already initialized
 88B7h	checksums required by client are not available
 88B8h	packet signing required by client are not available
 88B9h	server requires checksum
 88BAh	server requires packet signing
 88BBh	already logged in
 88BCh	negotiated checksums but connection timed out
 89xxh	error generated by server
	low byte = return code from server (see also #01927,#01961)
 8900h	server successful
 8901h	out of disk space
 897Eh	NCP boundary check failed
 897Fh	???
 8980h	lock failed; file in use
 8981h	out of handles
 8982h	no open privileges
 8983h	hard (non-correctable) I/O error
 8984h	no creation privileges
 8985h	no create/delete privileges
 8986h	attempted to create a file which already exists read-only
 8987h	filename error during creation (wildcards in name)
 8988h	invalid file handle
 8989h	no search privileges
 898Ah	no deletion privileges
 898Bh	no rename privileges
 898Ch	no modify privileges
 898Dh	some affected files are in use
 898Eh	all affected files are in use
 898Fh	some affected files are read-only
 8990h	all affected files are read-only; volume read-only
 8991h	some files could not be renamed because target names already exist
 8992h	all affected names exist
 8993h	no read privileges
 8994h	no write privileges
 8995h	file detached
 8996h	server out of memory
 8997h	no disk space for spool file
 8998h	disk map error; volume does not exist
 8999h	directory full
 899Ah	attempt to rename across volumes
 899Bh	bad directory handle
 899Ch	invalid path; no more trustees
 899Dh	no directory handles
 899Eh	bad filename
 899Fh	directory active
 89A0h	directory not empty
 89A1h	directory I/O error
 89A2h	I/O lock error
 89A3h-89A5h ???
 89A6h	auditing is active
 89A7h	auditing version error
 89A8h	no auditing rights
 89A3h-89BEh ???
 89BFh	invalid name space
 89C0h	no account privileges
 89C1h	no account balance
 89C2h	credit limit exceeded
 89C4h	account disabled
 89C5h	login lockout (intruder detection activated)
 89C6h	no console rights
 89C7h-89CFh
 89D0h	queue error
 89D1h	no queue
 89D2h	no queue server
 89D3h	no queue rights
 89D4h	queue full
 89D5h	no queue job
 89D6h	no job rights; unencrypted password
 89D7h	queue servicing error; duplicate password; bad account
 89D8h	queue not active; password too short
 89D9h	station not queue server; maximum logins exceeded
 89DAh	queue halted; bad login time
 89DBh	maximum queue servers; unauthorized login station
 89DCh	account disabled or expired
 89DEh	password expired (all grace logins used up)
 89DFh	password expired but login allowed (grace login)
 89E0h-89E6h ???
 89E7h	no disk track
 89E8h	property is not an item property; write to group
 89E9h	member exists
 89EAh	no such member
 89EBh	property is not a set property
 89ECh	no such set
 89EDh	property exists
 89EEh	object exists
 89EFh	illegal name
 89F0h	illegal wildcard
 89F1h	invalid bindery security level
 89F2h	not allowed to read object
 89F3h	not allowed to write/rename object
 89F4h	not allowed to delete object
 89F5h	not allowed to create object
 89F6h	not allowed to delete property
 89F7h	not allowed to create property; attempt to use non-local drive
 89F8h	not allowed to write property; already attached to server
 89F9h	not allowed to read property; no free connection slots
 89FAh	temporary remap error; no more server slots
 89FBh	no such property; invalid parameters
 89FCh	no such object; internet packet request canceled; unknown file server
 89FDh	bad station number; lock collision
 89FEh	directory locked; bindery locked; timeout
 89FFh	general error; hard error; lock error
Note:	some server-generated error codes have multiple interpretations; use
	  the one appropriate to the failing call

(Table 02861)
Values for VLM identifier:
 0001h	VLM.EXE		Virtual Loadable Modules manager (see also #02864)
 0010h	CONN.VLM	connection table manager (see also #02867)
 0020h	TRAN.VLM	transport protocol multiplexor (see also #02871)
 0021h	IPXNCP.VLM	transport protocol implementation using IPX (see #02873)
 0022h	TCPNCP.VLM	TCP/IP transport
 0030h	NWP.VLM		NetWare protocol multiplexor (see also #02875)
 0031h	BIND.VLM	bindery
 0032h	NDS.VLM		NetWare Directory Services (see also #02877)
 0033h	PNW.VLM		Personal NetWare
 0034h	RSA.VLM		RSA encryption for directory services re-authentication
 0040h	REDIR.VLM	DOS redirector (see also #02879)
 0041h	FIO.VLM		file I/O (see also #02882)
 0042h	PRINT.VLM	printer redirector (see also #02884)
 0043h	GENERAL.VLM	misc functions for NETx and REDIR (see also #02888)
 0050h	NETX.VLM	NetWare shell compatibility (see also #02890)
 0060h	AUTO.VLM	auto-reconnect/auto-retry
 0061h	SECURITY.VLM	enhanced security module (see #02892)
 0100h	NMR.VLM		NetWare management responder
 09F2h	DRVPRN.VLM	Desktop SNMP Services - Drive/Printer Mappings
 09F5h	SAA.VLM		SAA client API for Netware
 09F6h	IPXMIB.VLM	SNMP IPX-monitoring Module???
 09F7h	PNWMIB.VLM	Personal Netware SNMP Instrumentation Module
 09F8h	PNWTRAP.VLM	Personal Netware SNMP Trap Module
 09F9h	MIB2PROT.VLM	MIB-II Protocol Groups
 09FAh	MIB2IF.VLM	MIB-II Interfaces Group
 09FBh	NVT.VLM		???
 09FCh	WSTRAP.VLM	Desktop SNMP Services - Trap Module
 09FDh	WSREG.VLM	Desktop SNMP Services - Registration Module
 09FEh	WSASN1.VLM	Desktop SNMP Services - ASN.1 Module
 09FFh	WSSNMP.VLM	Desktop SNMP Services - Agent Module

Format of VLM header:
Offset	Size	Description	(Table 02862)
 00h	DWORD	-> initialization entry point
 04h	DWORD	-> VLM API entry point
 08h	DWORD	-> ??? entry point
 0Ch	DWORD	-> ??? entry point
 10h	DWORD	-> ??? entry point
	...
 var	DWORD	00000000h (end of entry point list)
      4 BYTEs	signature "NVlm"
	WORD	VLM identifier (see #02861)
---v1.20+ ---
 1Eh	WORD	???
 20h	WORD	Transient Switch Count
 22h	WORD	VLM Call Count
 24h	WORD	Offset ControlBlocks (See #02863)
 26h	WORD	Current VLMID
 28h	BYTE	Memory Type
		00h=Conventional 02h=EMS 04h=XMS
 29h	BYTE	Modules Loaded
 2Ah	WORD	BlockId
 2Ch	WORD	Transient Block
 2Eh	WORD	Global Segment
 30h  3	DWORDs	pointers to AsyncQueue head, tail, and s???
 3Ch  3	DWORDs	pointers BusyQueue head, tail, and s???
 48h	WORD	ReEntrance Level
 4Ah	WORD	Full Map Count
 4Ch	WORD	???
 4Eh 80 BYTEs	ASCIZ configuration file filename
Note:	the number of entry points in the header is reported as "Func" in the
	  VLM /D display.

Format of VLM Control Block for VLM v1.20 [array]:
Offset	Size	Description	(Table 02863)
 00h	WORD	Flag
 02h	WORD	VLM Identifier (See #02861)
 04h	WORD	Func
 06h	WORD	Maps
 08h	WORD	number of times called
 0Ah	WORD	???
 0Ch	WORD	Transient Segment
 0Eh	WORD	Global Segment
 10h	WORD	Address Low
 12h	WORD	Address High
 14h	WORD	TSegSize
 16h	WORD	GSegSize
 18h	WORD	SSegSize
 1Ah	BYTE	VLMName[9] ASCIZ
Note:	this information is shown in VLM /d under the dashed line. There are
	  as many 35-byte blocks as modules loaded
SeeAlso: #02862

(Table 02864)
Call VLM Manager (VLM.EXE, ID 0001h) with:
Func	Description/Registers
 01h	VLM Notify
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	VLM Statistics
	CX = length of buffer
	ES:DI -> buffer for statistics (see #02865)
	Return: AX = status (0000h if successful)
		buffer filled if successful
 04h	VLM internal use
	BX = function
	    0000h get interrupt vector (calls INT 21/AH=35h)
	    0001h begin critical section (calls INT 2F/AX=1681h)
	    0002h end critical section (calls INT 2F/AX=1682h)
	    0003h ???

Format of VLM.EXE statistics:
Offset	Size	Description	(Table 02865)
 00h	WORD	size of statistics record in bytes (including this word)
 02h	WORD	number of times a VLM has been mapped into memory
 04h	WORD	number of times a VLM has been called
 06h	WORD	offset of vcbArray buffer
 08h	WORD	VLM ID of VLM currently mapped into memory
 0Ah	BYTE	memory type: conventional/EMS/XMS
 0Bh	BYTE	number of loaded VLMs
 0Ch	WORD	EMS/XMS handle or 0000h if conventional memory
 0Eh	WORD	start segment for conventional memory swap
 10h	WORD	segment for global memory, or 0000h if conventional memory
 12h 12 BYTEs	queue structure for asynchronous calls (see #02866)
 1Eh 12 BYTEs	queue structure for synchronous calls (see #02866)
 2Ah	WORD	current re-entrance level
 2Ch	WORD	number of times EMS/XMS map-out performed
 2Eh	BYTE	stack switch control
 2Fh	BYTE	flag: nonzero if switcher loaded
 30h 80 BYTEs	pathname of configuration file
SeeAlso: #02864

Format of VLM.EXE queue structure:
Offset	Size	Description	(Table 02866)
 00h	DWORD	queue head (initially 00000000h)
 04h	DWORD	queue tail (initialized to be same as head)
 08h	WORD	current queue size (number of nodes in queue)
 0Ah	WORD	maximum queue size (in nodes)
SeeAlso: #02865

(Table 02867)
Call Connection Manager (CONN.VLM, ID 0010h) with:
Func	Description/Registers
 01h	Conn Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Conn Statistics
	CX = length of buffer
	ES:DI -> buffer for connection statistics (see #02868)
	Return: AX = status (0000h successful)
 04h	Conn Alloc Handle
	Return: AX = status (0000h successful)
		CX = connection handle
 05h	Conn Validate Handle
	CX = connection handle
	Return: AX = 0000h if valid handle
 06h	Conn Free Handle
	CX = connection handle
	Return: AX = status (0000h successful)
 07h	Conn Get Entry Field
	BH = connection parameter (see #02870)
	CX = connection handle
	DX = value if BH is non-array parameter
	DH = offset in array if BH is array parameter
	DL = number of bytes to copy if BH is array
	ES:DI -> return buffer if BH is array
	Return: AX = 0000h if successful
		DL/DX = value if non-array parameter
		DH = maximum number of bytes in buffer if array parameter
		DL = number of bytes copied if array
		BX destroyed
 08h	Conn Set Entry Field
	BH = connection parameter (see #02870)
	CX = connection handle
	DL/DX = value if BH is non-array parameter
	DH = offset in array if BH is array parameter
	DL = number of bytes to copy if BH is array
	DS:SI -> buffer if BH is array
	Return: AX = 0000h if successful
		DH = maximum number of bytes in buffer
		DL = number of bytes copied
		BX destroyed
 09h	Conn Reset Entry Field
	BH = connection parameter (see #02870)
	CX = connection handle
	Return: AX = 0000h if successful
		BX,DX destroyed
 0Ah	Conn Lookup Handle
	BL = lookup type (00h equal, 40h not equal)
	BH = connection parameter (see #02870)
	CX = connection handle, 0000h if first
	DL/DX = value if BH is non-array parameter
	DH = offset in array if BH is array parameter
	DL = number of bytes to copy if BH is array
	DS:SI (ES:DI???) -> buffer if BH is array
	Return: AX = 0000h if successful
		CX = handle matching given parameters
 0Dh	Conn Name Lookup
	CX = connection handle
	ES:DI -> 49-byte buffer for server name or 0000h:0000h
	Return: AX = 0000h if successful
		BX = length of server name
		ES:DI buffer filled if pointer not 0000h:0000h
 0Eh	Conn Name To Handle
	DS:SI -> uppercased server name
	CX = length of server name, 0000h if ASCIZ name
	Return: AX = error code or 0000h if successful
		    CX = connection handle if successful
 0Fh	Conn Get Num Connections
	Return: AX = status (0000h if successful)
		DX = number of connections
		CX = segment of connection table
		    first entry in table (See #02869)

Format of VLM connection statistics:
Offset	Size	Description	(Table 02868)
 00h	WORD	total length of statistics record (including this word)
 02h	WORD	number of connection handles allocated
 04h	WORD	average name length (configured in NET.CFG)
 06h	WORD	maximum number of tasks (configured in NET.CFG)
 08h	WORD	number of failed "allocate handle" calls
 0Ah	WORD	number of failed "add name" calls
 0Ch	WORD	number of failed task calls
Note:	some versions of the NetWare requester reportedly do not implement
	  this correctly
SeeAlso: #02867

Format of NetWare VLM Connection Table [array]:
Offset	Size	Description	(Table 02869)
 00h	WORD	Protocol VLMid	  0032(NDS) 0031(BIND)		Func 07 equiv.
				  0033(PNW) 0000(unused)       BH=01h
 02h	BYTE	(connection status)
		bit 6: connection locked		       BH=16h
		bit 5: authenticated			       BH=03h
		bit 4: permanent			       BH=02h
		bit 2: broadcast msg waiting		       BH=12h
 03h	BYTE	(connection capabilities)
		bit 5: Large Internet Packets		       none
		bit 3: Packet Burst Reset		       BH=07h
		bit 2: Max I/O				       BH=06h
		bit 1: SFT3 change			       BH=05h
		bit 0: Packet Burst Support		       BH=04h
 04h	WORD	reference count				       BH=09h
 06h	WORD	soft resource count			       BH=15h
 08h	BYTE	NCP Order Number			       BH=0Eh
 09h	BYTE	Server security options			       BH=14h
		bit 0: CRC enabled
		bit 1: packet signing required
		bit 5: packet signing enabled
 0Ah	BYTE	OS Major Version			       BH=08h
 0Bh	BYTE	OS Minor Version			       BH=08h
 0Ch	WORD	Hops to Server				       BH=0Ah
 0Eh	WORD	Maximum Packet Size for this connection	       BH=0Bh
 10h	WORD	LIP Parameters				       BH=13h
 12h	WORD	NCP Request Type			       BH=10h
 14h	BYTE	NCP Sequence				       BH=0Ch
 15h	WORD	Connection Number			       BH=0Dh
 17h	BYTE	???					       none
 18h	WORD	Transport VLMid 21(IPXNCP) 22(TCPNCP)	       BH=0Fh
 1Ah	BYTE	Node Address[4]				       BH=11h
 1Eh	BYTE	Network[6]				       BH=11h
 24h	BYTE	Socket[2]				       BH=11h
 26h	BYTE	Local Target[6]				       BH=11h
 2Ch	WORD	Round Trip Time				       BH=11h
 2Eh	WORD	???					       none
SeeAlso: #02867

(Table 02870)
Values for NetWare Connection Manager CEI (Connection Entry Information):
 number	flags	description
 00h	FR	error
 01h	WL	VLM id of transport protocol (NDS/BIND/PNW)
		00h = wildcard
 02h	FR	permanent flag (01h if connection is permanent)
 03h	F	authenticated flag (01h if connection is authenticated)
 04h	F	packet burst supported
 05h	FR	SFT3 change status
 06h	FR	connection needs maximum I/O transmission
 07h	FR	packet burst reset needed
 08h	W	server version
 09h	W	reference count (tasks using connection, 00h = dynamic)
 0Ah	W	distance to server associated with connection
 0Bh	W	maximum packet size supported by transport protocol
 0Ch	B	NCP sequence number
 0Dh	W	connection number
 0Eh	B	NCP order number
 0Fh	WL	VLM id for transport protocol
		00h = wildcard, 21h = IPX, 22h = TCP
 10h	W	NCP request type
 11h	A	transport specific buffer
		12 byte server address
		6 byte	router address
		2 byte round trip time
 12h	FR	broadcast message waiting
 13h	W	large internet packets supported
 14h	B	security options
		bit 0: CRC enabled
		bit 1: packet signing enabled
		bit 5: packet signing active
 15h	W	soft resource count
 16h	FR	connection locked
Note:	flag meanings
	    F=flag value
	    B=byte value
	    W=word value
	    A=array
	    R=resettable
	    L=settable only before authentication
	    others=read only
SeeAlso: #02867

(Table 02871)
Call TRAN.VLM (VLM ID 0020h) with:
Func	Description/Registers
 01h	TRAN Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	TRAN Statistics
 06h	TRAN Request Reply (see INT 21/AH=F2h)
	AL = NCP request code (see #02095 at INT 21/AH=F2h)
	BH = error handler flag
	    00h default error handler
	    01h return network errors to caller
	    02h handle network errors in requester
	BL = request list length (max 5 fragments) (see #02872)
	CX = connection handle
	DH = 00h (reserved)
	DL = reply list length (max 5 fragments) (see #02872)
	DS:SI -> address list (each element is DWORD address + WORD length)
	ES:DI -> address list
	Return: AX = error code, 0000h if successful (see #02860)
		BX,DX destroyed
		ES:DI buffer filled with reply packet fragments
 08h	TRAN Schedule/Cancel Event
	BX = subfunction
	    0000h schedule event
		AX = number of timer ticks to delay before calling function
		ES:SI -> event control block (including valid call address)
	    0001h cancel event
		ES:SI -> event control block (including call address)
	Return: AX = status (0000h = successful) (see #02860)
 09h	TRAN Get Max Phys Size
	BX = subfunction
	    00h get maximum node size
		Return: AX = status (0000h = successful) (see #02860)
			BX = maximum supported physical packet size
			DX = size of protocol header
			SI = RequestReply socket number
	    01h get maximum route size to specified server
		CX = connection handle for route to be checked
		Return: AX = status (0000h = successful) (see #02860)
			DX = maximum supported packet size for current route
 0Ah	TRAN Broadcast Mux
	BX = subfunction
	    0001h get stored broadcast (Personal NetWare)
		ES:DI -> 60-byte buffer for counted ASCIZ message string
	Return: AX = status (0000h = successful) (see #02860)

Format of TRAN.VLM request/reply fragment descriptor (array):
Offset	Size	Description	(Table 02872)
 00h	DWORD	address of buffer
 04h	WORD	length of buffer

(Table 02873)
Call IPXNCP.VLM (VLM ID 0021h) with:
Func	Description/Registers
 01h	IPX Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	IPX Statistics
	CX = length of buffer
	ES:DI -> buffer for statistics (see #02874)
	Return:	AX = status (see #02860)
 06h	IPXNCP Request Reply???
	functionally equivalent to Tran Request Reply???

Format of NetWare IPX statistics:
Offset	Size	Description	(Table 02874)
 00h	WORD	size of statistics, including this word
 02h	DWORD	number of TRAN Request Reply calls made
 06h	WORD	number of user aborts
 08h	WORD	number of user retries
 0Ah	WORD	IPX receive errors
 0Ch	WORD	IPX send errors
 0Eh	WORD	number of unrecognized responses
 10h	WORD	number of bad connection numbers in requests
 12h	WORD	number of bad sequence responses
 14h	WORD	receive buffer overflows
 16h	WORD	number of times route to attached server was lost
 18h	WORD	number of times server responded "busy"
 1Ah	WORD	number of unknown "NCPRepCompCode" values
 1Ch	WORD	number of bad connection numbers in responses
 1Eh	WORD	padding for NETX compatibility
 20h	WORD	padding for NETX compatibility
 22h	WORD	number of attach requests to server without route
 24h	WORD	number of times server responded to attach without slot
 26h	WORD	number of times a server went down during a request
 28h	DWORD	same-server optimizations
 2Ch	WORD	local route changes
 2Eh	WORD	IPX CRC errors
 30h	WORD	number of user fails
 32h	BYTE	flag: CRCs enabled
 33h	BYTE	flag: LIP enabled
 34h	BYTE	flag: configurable NET error handler
SeeAlso: #02873

(Table 02875)
Call NWP.VLM (VLM ID 0030h) with:
Func	Description/Registers
 01h	NWP Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	NWP Statistics
	CX = size of buffer for statistics
	ES:DI -> buffer for statistics (see #02876)
	Return: AX = status (see #02860)
 04h	NWP Connect
	DL = resource count state (NDS connections only)
	CX = proposed connection handle (not yet connected to server)
	DS:SI -> 48-byte server name (NUL-terminated if less than 48 bytes)
	Return: AX = status (0000h = successful) (see #02860)
		CX = actual connection handle to use
	Note:	if the returned handle differs from the proposed handle, the
		  proposed handle should be freed
 05h	NWP Disconnect
	DL = ???
	    00h global disconnect -- clear all resources associated with conn.
	    01h destroy connection -- send disconnect request to server
	CX = connected connection handle
	Return: AX = status (0000h = successful) (see #02860)
 06h	NWP Attach
	DL = resource count state (NDS connections only)
	CX = connection handle (allocated by not yet attached to server)
	DS:SI -> full network address for desired server
	Return: AX = status (0000h = successful) (see #02860)
 08h	NWP Login
	BX = object type
	CX = connection handle (must be connected) to be authenticated
	DS:SI -> ASCIZ user name (max 48 bytes)
	ES:DI -> ASCIZ user password (max 128 bytes)
	Return: AX = status (0000h = successful) (see #02860)
 09h	NWP Logout
	CX = connection handle
	Return: AX = status (0000h = successful) (see #02860)
 0Ah	NWP Get Bindery Object/Get Message Handler
	BX = subfunction
	    0002h set workstation's broadcast message mode
		DL = message mode
		    00h client hold client message set on, retrieve/display on
		    01h client hold client message set off, retr/display on
		    02h client hold client message set on, retrieve/dislay off
		    03h client hold client message set off, retr/display off
		    04h get current message mode
		    05h set broadcast callback
			CX:SI -> callback handler
		    06h get broadcast timeout
		    07h set broadcast timeout
			CX = timeout in timer ticks (0000h = never)
		CX = connection handle, or 0000h to notify all servers
	    0003h get object ID for object name
		AX = object type (big-endian)
		CX = connection handle
		DX = length of object name
		ES:DI -> uppercased ASCIZ object name
		Return: AX = status (see #02860)
			DX:BX = object ID
	    0004h get object name for object ID
		DX:SI = object ID
		CX = connection handle for server which is to do the lookup
		ES:DI -> 48-byte buffer for object name
		Return: AX = status (see #02860)
	    0005h retrieve broadcast message
 0Ch	NDS Fragment Request (passed to NDS.VLM's function 0Ch) (see #02877)
	AX = verb or request type
	CX = connection handle
	DS:SI -> request structure (DWORD data address followed by WORD size)
	ES:DI -> buffer for reply structure (same format as request)
	Return: AX = status (0000h = successful) (see #02860)
 0Eh	NWP Ordered Send To All
	AL = NCP request code
	AH = inverse request code (FFh if none) to back out from failures
	BX = number of fragments in request list
	DX = number of fragments in reply list buffer
	DS:SI -> request fragment list
	ES:DI -> reply fragment list
	Return: AX = status (see #02860)
		BX, CX, DX destroyed
	Note:	the available functions are described under INT 21/AX=F2xxh
 0Fh	NWP Preferred Handler
	BX = subfunction
	    0000h get preferred connection name
		DX = VLM ID (NDS/BIND/PNW)
		ES:DI -> 49-byte buffer for connection name
		Return: ES:DI buffer filled
	    0001h set preferred connection name
		DX = VLM ID (NDS/BIND/PNW)
		CX = length of connection name (may be 0000h, max 48)
		DS:SI -> name of preferred connection
	    0002h get preferred connection ID
		DX = VLM ID (NDS/BIND/PNW)
		Return: AX = status (see #02860)
			CX = connection handle if successful
	    0003h get server address
		CX = connection handle or 0000h
		DS:SI -> ASCIZ name to be resolved
		ES:DI -> 12-byte buffer for server address
 10h	NWP Security???
	BX = subfunction
	    0001h get security flags (see also INT 21/AX=B301h)
		Return: BX:CX indicates signature level
				= 0100h:0000h if signature level=0
				= 0300h:0000h if signature level=1
				= 0302h:0000h if signature level=2
				= 0302h:0202h if signature level=3
	    0002h create session keys (see also INT 21/AX=B302h)
		CX = server connection handle
		DS:SI -> 24-byte input buffer
	    0004h set security flags (see also INT 21/AX=B304h)
		BL:CL = new flags
	    0006h renegotiate security level (see also INT 21/AX=B306h)
		CX = server connection number (01h-08h)

Format of NWP.VLM statistics:
Offset	Size	Description	(Table 02876)
 00h	WORD	size of statistics record (including this byte)
 02h	BYTE	flag: Large Internet Packets enabled
 03h	BYTE	bit flags: enabled security features
 04h	BYTE	bit flags: preferred security features
 05h	BYTE	bit flags: required security features
 06h	BYTE	minimum level of required security
SeeAlso: #02875

(Table 02877)
Call NDS.VLM (VLM ID 0032h) with:
Func	Description/Registers
 01h	NDS Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	NDS Statistics
 06h	NDS Attach
	CX = allocated connection handle
	DS:SI -> server address
 08h	NDS Fragment Requst
	Return: AX = 8836h (invalid parameter)
	Note:	this function was documented but does not work
 0Ch	NDS context
	BX = subfunction
	    0000h get default name context
		CX = length of buffer for default context
		ES:DI -> buffer to receive name
		Return: ES:DI buffer filled
	    0001h set default context
		CX = length of new default context name
		DS:SI -> context name
	    0002h read from TDS
		CX = reply buffer length
		DX = 0110h ???
		SI = offset in TDS
		ES:DI -> reply buffer
	    0003h write to TDS
	    0005h "NWDSChangeResourceConnection/Lock Connection"
		CX = connection handle
		DL = subfunction (00h-09h)
		    04h = NWDSChangeResourceOnConnection
		    07h = NWDSChangeResourceOnConnection
		    08h = NWDSLockConnection
	    0006h NDS change connection state (internal)
		CX = connection handle
		AL = 00h or 01h
	    0007h "NWDSSetMonitoredConnection"
		AX = subfunction
		    0001h get monitored connection
			Return: CX = connection handle???
		    0002h set monitored connection
			CX = connection handle???
	    0008h send NDS request
		AX = NDS function
		CX = connection handle
		DS:SI -> request buffer descriptor (see #02878)
		ES:DI -> reply buffer descriptor (see #02878)
	    000Ah set NDS CEI Info
		DL = buffer length
		DS:SI -> input buffer

Format of NetWare NDS request/reply buffer descriptor:
Offset	Size	Description	(Table 02878)
 00h	DWORD	-> buffer
 04h	WORD	length of buffer in bytes
SeeAlso: #02877

(Table 02879)
Call REDIR.VLM (VLM ID 0040h) with:
Func	Description/Registers
 01h	Redir Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Redir Statistics
	CX = length of buffer
	ES:DI -> buffer for statistics (see #02880)
	Return: AX = status (0000h if successful) (see #02860)
		buffer filled if successful
 04h	Redir Build SFT (see INT 21/AH=B4h"NetWare")
	CX = connection handle
	ES:DI -> SFT build request (see #02881)
	Return: AX = 0000h if successful
		    BX = DOS file handle
 05h	Redir DOS To NW Handle
	BX = DOS file handle
	ES:DI -> 11-byte buffer for NetWare handle
 08h	Redir Specific
	BX = 0000h get item
	    DS:SI -> ASCIZ string "LPTx" (x='1'-'9') or drive spec ("d:")
	    ES:DI -> 512-byte reply buffer for
		      "\\server\resource",00h,"path",00h
	Return: AX = status (0000h if successful) (see #02860)

Format of REDIR.VLM statistics:
Offset	Size	Description	(Table 02880)
 00h	WORD	size of statistics record (including this word)
 02h	WORD	number of network errors causing a critical error (see INT 24)
 04h	WORD	number of drives currently redirected
SeeAlso: #02879

Format of NetWare SFT build request:
Offset	Size	Description	(Table 02881)
 00h  6 BYTEs	NetWare handle
 06h	WORD	reserved for internal use
 08h 14 BYTEs	ASCIZ filename
 16h	BYTE	DOS file attributes
		bit 7: file is shareable
 17h	BYTE	reserved
 18h	LONG	file size
 1Ch	WORD	creation date
 1Eh	WORD	last access date or 0000h
 20h	WORD	last update date or 0000h
 22h	WORD	last update time or 0000h

(Table 02882)
Call File I/O FIO.VLM (VLM ID 0041h) with:
Func	Description/Registers
 01h	FIO Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	FIO Statistics
	CX = length of buffer
	ES:DI -> buffer for statistics (see #02883)
	Return: AX = status (0000h if successful)
		buffer filled if successful
 04h	FIO Remote Copy

Format of NetWare FIO statistics:
Offset	Size	Description	(Table 02883)
 00h	WORD	length of statistics record (including this word)
 02h	WORD	number of read requests
 04h	WORD	number of write requests
 06h	WORD	number of cache read hits
 08h	WORD	number of cache write hits
 0Ah	WORD	number of cacheable files with free blocks
 0Ch	WORD	number of cacheable files without free blocks
 0Eh	WORD	number of standard read requests
 10h	WORD	number of standard write requests
 12h	WORD	number of burst read requests
 14h	WORD	number of burst write requests
 16h	BYTE	flag: cache writes enabled
 17h	BYTE	flag: true commits enabled
 18h	WORD	number of cache blocks
 1Ah	WORD	size of a cache buffer
 1Ch	WORD	number of ECBs for packet bursts (0000h if bursts disabled)
SeeAlso: #02882

(Table 02884)
Call PRINT.VLM (VLM ID 0042h) with:
Func	Description/Registers
 01h	Print Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Print Statistics
	CX = length of buffer
	ES:DI -> buffer for statistics (see #02885)
	Return: AX = status (0000h if successful) (see #02860)
		buffer filled if successful
 04h	Print Get/Set Data
	BX = subfunction
	    00h set printer control flags (see #02886)
	    01h get printer control flags
	    02h set extended printer control flags (see #02887)
	    03h get extended printer control flags
	AX = offset within Print structures at which to start read/write
	CX = number of bytes to transfer
	DX = printing device number (00h=LPT1/PRN, 01h=LPT2, etc.)
	DS:SI -> buffer containing values for flags (subfunctions 00h/02h)
	ES:DI -> buffer for flags (subfunctions 01h/03h
	Return: AX = status (see #02860)
		---if successful---
		CX = number of bytes returned (subfunctions 01h/03h)
		DX = maximum supported size for function/type of data
 05h	Print Open Capture File
 07h	Print Get Num Of Printers
	BX = subfunction
	    0000h get number of physical printers
	    nonzero: get configured printer (from NET.CFG)
	Return: AX = status (see #02860)
		---if successful---
		BX = number of physical/configured printers
 08h	Print Redirection
	BX = subfunction
	    0000h redirect device to queue
		AX = length of queue name, 0000h to use queue ID
		CX = connection handle
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
		DS:SI -> uppercased ASCIZ queue name
		ES:DI -> DWORD queue ID, 00000000h to use queue name
	    0001h test whether device is redirected
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
	    0002h cancel redirection
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
	    0003h redirect device to file
		AX = 0000h or 4E57h ('NW')
		CX = connection handle
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
		ES:DI -> ASCIZ path of file
	    0004h get extended redirection information (see #02886)
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
		ES:DI -> buffer for server/queue name
		Return: ES:DI buffer filled
	Return: AX = 0000h if successful
 09h	Print Flush And Close Job
	BX = subfunction
	    0000h unconditional close
	    nonzero: conditional close -- close only if concatenate flag is
		  clear
	DX = index of printing device (00h=LPT1/PRN, 01h=LPT2, etc.)
	Return: AX = status (see #02860)
 0Ch	Print Get/Set Banner Name
	BL = subfunction
	    00h set banner name
		DS:SI -> ASCIZ banner name (12 bytes, including NUL)
	    01h get banner name
		ES:DI -> 12-byte buffer for banner name
	Return: AX = status (see #02860)

Format of PRINT.VLM statistics:
Offset	Size	Description	(Table 02885)
 00h	WOFD	size of statistics buffer (including this word)
 02h	DWORD	-> old INT 17 handler
 06h	WORD	number of physical printers reported by BIOS
SeeAlso: #02884

Format of PRINT.VLM standard print control information:
Offset	Size	Description	(Table 02886)
 00h	BYTE	PFStatus (reserved, 00h)
 01h	BYTE	print flags (default 80h)
		bit 2: release job for printing if capture interrupted
		bit 3: suppress form feed
		bit 4: notify
		bit 6: text file
		bit 7: print banner
 02h	BYTE	tab size (01h-12h, default 08h)
 03h	BYTE	number of copies (default 01h)
 04h	BYTE	??? (may be number of copies instead of offset 03h)
 05h	BYTE	form type to be mounted in printer (default 00h)
 06h	BYTE	reserved (00h)
 07h 14 BYTEs	banner
 15h	BYTE	capture printer (LPT) number
 16h	WORD	capture timeout in seconds
 18h	BYTE	job concatenation flag (00h or 01h, default 00h)
 19h	BYTE	maximum lines per page (default 66)
 1Ah	BYTE	??? (may be maximum lines instead of offset 19h)
 1Bh	BYTE	maximum characters per line (default 132)
 1Ch	BYTE	??? (may be maximum characters instead of offset 1Ch)
 1Dh 13 BYTEs	name of form to be mounted in printer
 2Ah	BYTE	flag: capture active (00h or FFh, default 00h)
 2Bh	BYTE	flag: capturing to file (00h or 01h, default 00h)
 2Ch	BYTE	flag: timeout field is being decremented (default 00h)
 2Dh	DWORD	-> printer setup string
 31h	DWORD	-> printer reset string
 35h	BYTE	reserved (01h)
---remainder is read-only---
 36h	BYTE	flag: job has started printing (00h or FFh, default 00h)
 37h	BYTE	flag: job placed in queue (00h or FFh, default 00h)
 38h	BYTE	flag: PJobValid (00h or FFh, default 00h)
		FFh if associated capture file is open for capturing data
 39h	DWORD	print-queue ID
 3Dh	WORD	print-job number (default 00h) (1-999)
 3Fh	BYTE	number of chars in INT 17h print cache buffer (default 00h)
 40h	BYTE	???
 41h	WORD	high word of print-job number (default 00h)
SeeAlso: #02884,#02887

Format of PRINT.VLM extended print control information:
Offset	Size	Description	(Table 02887)
 00h	DWORD	NDS printer object ID or directory entry number (when capturing
		  to a file)
 04h	BYTE	connection handle for server
 06h 48 BYTEs	ASCIZ print queue name on server
 36h	DWORD	ID of target server, or FFFFFFFFh if any server may be used
 3Ah  6 BYTEs	target print time, FFFFFFFFFFFFh for immediate printing
 40h	BYTE	status flags
 41h	BYTE	???
 42h 13 BYTEs	client's banner name (overrides global banner if set)
 4Fh 13 BYTEs	job description
 5Ch  4 BYTEs	reserved (0)
SeeAlso: #02884,#02886

(Table 02888)
Call GENERAL.VLM (VLM ID 0043h) with:
Func	Description/Registers
 01h	Gen Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Gen Statistics
	CX = length of statistics buffer
	ES:DI -> buffer for statistics (see #02889)
	Return: AX = status (see #02860)
 04h	Gen Get/Set Primary
	BX = subfunction
	    0001h get primary connection
		CX = primary connection handle to be retrieved
		Return: AX = status (see #02860)
			CX = primary connection handle
	    0002h set primary connection
		CX = primary connection handle to be stored
		Return: AX = status (see #02860)
 06h	Gen Specific
	BX = subfunction
	    0000h get command processor and master environment addresses
		Return: DX = segment of master environment
			ES:DI -> command processor's private COMSPEC= copy
	    0001h get default or primary connection
		Return: AX = status (0000h successful)
			CX = connection handle if successful
	    0002h last queue information
		AL = operation
		    00h zap
		    01h set
		    02h get
		DI:DX = queue file handle
		CX = connection handle
		Return: AX = status (0000h successful)
			DI:DX = queue file handle
			CX = connection handle or 0000h if queue info invalid
	    0003h get/set machine name(s)
		AX = name type
		    00h get short machine name
		    02h get long machine name
		    04h set short machine name
		    06h set long machine name
		    08h get DOS name
		    0Ah set DOS name
		ES:SI -> ASCIZ name if setting
		Return: AX = status (0000h if successful)
			ES:SI -> ASCIZ name if getting
	    0004h set per-task EXEC search mode
		Return: AX = status (0000h if successful)
 09h	Gen Return Drive Info
	BX = subfunction
	    0000h get first available drive
		Return: AX = status (see #02860)
			BX = drive letter of first drive
	    0001h get Lastdrive
		Return: AX = status (see #02860)
			CH = number lastdrive 1=A: - 1Ah=Z:

Format of NetWare GENERAL.VLM statistics:
Offset	Size	Description	(Table 02889)
 00h	WORD	size of statistics record, including this word
 02h	DWORD	previous INT 21 vector
SeeAlso: #02888

(Table 02890)
Call NETX.VLM (VLM ID 0050h) with:
Func	Description/Registers
 01h	NetX Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	NetX Statistics
	CX = length of statistics buffer
	ES:DI -> buffer for statistics (see #02891)
	Return: AX = status (see #02860)

Format of NETX.VLM statistics:
Offset	Size	Description	(Table 02891)
 00h	WORD	buffer size, including this word
 02h	DWORD	previous INT 21 handler
SeeAlso: #02890

(Table 02892)
Call SECURITY.VLM (VLM ID 0061h) with:
Func	Description/Registers
 01h	Security Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Security Statistics
 04h	???
	AL = subfunction
	    01h compute session key
		DS:SI -> 24-byte input buffer
		ES:DI -> 8-byte output buffer

Top
2F7A20BX0001 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM CallA ADDRESS
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM CallA ADDRESS
	AX = 7A20h
	BX = 0001h
Return: AX = 0000h if request was handled
	    ES:BX -> CallA entry point (see #02893)
SeeAlso: AX=7A20h/BX=0000h

(Table 02893)
Call VLM CallA entry point with:
	AX = function
	    0000h submit
	    0001h cancel (not implemented)
	ES:DI -> Overlay Asynchronous Control Block structure (see #02894)
Return: DI, DS, ES preserved; all other registers may be destroyed
	interrupts disabled
Desc:	asychronously call the specified VLM and then return to caller, which
	  might be another VLM

Format of Overlay Asynchronous Control Block (OACB):
Offset	Size	Description	(Table 02894)
 00h	DWORD	link to next OACB, 0000h:0000h if last (filled by VLM.EXE)
 04h	DWORD	callback address or 0000h:0000h
 08h	BYTE	InUse flag (00h if complete) (set by VLM.EXE)
 09h	BYTE	flag, reserved for VLM use
 0Ah	WORD	destination VLM
 0Ch	WORD	destination function
 0Eh	WORD	temporary storage for VLM.EXE
 10h  6 BYTEs	reserved
 16h  6 DWORDs	EAX,EBX,ECX,EDX,ESI,EDI
 2Eh  4 WORDs	DS,ES,FS,GS (FS and GS not used)

Top
2F7A20BX0002 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTIPLEX ADDRESS
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTIPLEX ADDRESS
	AX = 7A20h
	BX = 0002h
Return: AX = 0000h
	ES:BX -> VLM multiplex entry point (see #02895)
Note:	for v1.10, this function is only available while VLM.EXE is loading
	  the .VLM modules, because ES is destroyed on return
SeeAlso: AX=7A20h/BX=0000h,AX=7A20h/BX=0001h,AX=7A20h/BX=0003h

(Table 02895)
Call DOS Requester entry point with:
	BX = function???
	    0000h
		DX = ???
		DI = ???
		BP = ???
	    0002h
		CX = ???
	    0003h
		DX = ???
		BP = ???
	    0006h
		AH = subfunction???
		AL = ???
		STACK: variable (0, 4, 10, 14 bytes seen)

Top
2F7A20BX0003 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM PARSE API ADDRESS
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM PARSE API ADDRESS
	AX = 7A20h
	BX = 0003h
Return: AX = 0000h if request was handled
	    ES:BX -> VLM parse API entry point

Top
2F7A20BX0004 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTICAST CALLOUT
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTICAST CALLOUT
	AX = 7A20h
	BX = 0004h
Return: AX = 0000h if request was handled
	    ES:BX -> VLM multicast data (see #02896)
SeeAlso: AX=7A20h/BX=0000h,AX=7A20h/BX=0002h,AX=7A20h/BX=0005h

Format of DOS Requester data:
Offset	Size	Description	(Table 02896)
 00h	DWORD	pointer to ??? (code)
 04h  4 BYTEs	???
 08h	DWORD	pointer to ??? (code) (see #02897)
	???

(Table 02897)
Call offset 08h function with:
	AL = function (00h-07h)
	???
Return: ???

Top
2F7A20BX0005 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM INT 24 ADDRESS
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM INT 24 ADDRESS
	AX = 7A20h
	BX = 0005h
Return: AX = 0000h if request was handled
	    ES:BX -> VLM INT 24 handler
SeeAlso: AX=7A20h/BX=0000h,AX=7A20h/BX=0002h,AX=7A20h/BX=0004h

Top
2F7A20BX0006 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0006h
Return: AX = 0000h if request was handled
	    ES:BX -> ??? entry point (RETF in v1.03 and v1.10)

Top
2F7A20BX0007 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0007h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)

Top
2F7A20BX0008 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0008h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)

Top
2F7A20BX0080 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0080h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
Note:	this function is identical to AX=7A20h/BX=0006h in v1.03 and v1.10

Top
2F7A20BX0081 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0081h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
Note:	this function is identical to AX=7A20h/BX=0007h in v1.03 and v1.10

Top
2F7A20BX0082 - INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0082h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
Note:	this function is identical to AX=7A20h/BX=0008h in v1.03 and v1.10

Top
2F7A21 - INT 2F C - Novell NetWare - DOS Requester - BROADCAST CALLBACK
INT 2F C - Novell NetWare - DOS Requester - BROADCAST CALLBACK
	AX = 7A21h
	CX = server connection (FFFFh if message from Personal NetWare user)
	interrupts disabled
Return: CX = 0000h if broadcast handled
	interrupts disabled
Note:	this function is only linked into INT 2F when INT 21/AH=DEh/DL=05h
	  has been issued
SeeAlso: AX=7A22h,AX=7A85h,INT 21/AH=DEh

Top
2F7A22 - INT 2F C - Novell NetWare - DOS Requester - BROADCAST/SFT3 INFORM
INT 2F C - Novell NetWare - DOS Requester - BROADCAST/SFT3 INFORM
	AX = 7A22h
	DL = function
	    21h ('!') broadcast waiting for workstation
	    40h ('@') SFT3 server-change inform
	BX = transport type
	    0021h IPX
	    0022h TCP
	ES:SI -> transport-specific data block
	    (ECB for IPX, undefined for TCP)
	interrupts disabled
Return: AX = 0000h if event handled, unchanged if not
	interrupts disabled
Note:	this callback is made from within a hardware interrupt handler; a
	  separate call to AX=7A21h is made once the system is in a safe
	  state for receiving the message
SeeAlso: AX=7A21h

Top
2F7A2F - INT 2F - Novell NetWare - IPXODI v2.12 - GET GNMA SUPPORT
INT 2F - Novell NetWare - IPXODI v2.12 - GET GNMA SUPPORT
	AX = 7A2Fh
Return: AX = 0000h if supported and active
	    BX = support level (0001h)
	    ES:DI -> GNMA entry point (see #02898)
Program: GNMA is the Generic NetWare Management Agent
Note:	IPXODI v2.12 is distributed as part of the Personal NetWare system
	  bundled with Novell DOS 7
SeeAlso: INT 7A/BX=001Fh

(Table 02898)
Call IPXODI GNMA entry point with:
	BX = function
	    0000h Register Responder
		ES:SI -> responder structure (see #02899)
		Return: CF clear if successful
			CF set on error
			AX = status
			    FFFFh if specified responder is already registered
			interrupts enabled
			all other registers except DS, CS:IP, SS:SP destroyed
		Note:	the responder structure must not be deallocated until
			  the responder is deregistered
	    0001h Deregister Responder
		AX = type of responder to deregister
		Return: AX = status
			    FFFFh if specified responder not registered
			interrupts enabled
			ES:SI buffer from original registration may now be
			      freed
			all other registers except DS, CS:IP, SS:SP destroyed
	    0002h Get Responders
		Return: ES:SI -> head of responder structure list (read-only)
			interrupts enabled
			all other registers except DS, CS:IP, SS:SP destroyed
		Note:	the returned list may change as tasks are swapped in
			  and out
	    0003h Send Acknowledgement
		AL = completion code
		    00h successful
		    01h-FCh responder-specific
		    FDh invalid function
		CX = length of return data (0000h if none)
		DX:SI -> return data
		Return: interrupts enabled
			all other registers except DS, CS:IP, SS:SP destroyed

Format of NetWare GNMA responder structure:
Offset	Size	Description	(Table 02899)
 00h	DWORD	-> next responder structure (used by GNMA)
 04h	DWORD	-> responder's request handler (called by GNMA) (see #02900)
 08h	WORD	responder ID
 0Ah	WORD	number of functions supported by responder
 0Ch	DWORD	reserved for use by GNMA
SeeAlso: #02898

(Table 02900)
Values GNMA responder's request handler is called with:
	AL = function
	    00h responder request
		CX = length of request data (not including header) (see #02901)
		DS:DI -> request data (see #02901)
		DS:BX -> 528-byte reply buffer
		ES:SI -> responder structure (see #02899) from registration
		DF clear
		interrupts disabled
		Return: AH = acknowledement status
			    00h acknowledgment being returned synchronously
			    nonzero: acknowledgment will be sent via GNMA
				  function 0003h (see #02898)
				CX = length of acknowledement data
				DX:BX -> acknowledgment (may use provided
					  buffer or another buffer)
			AL = completion code
			    00h successful
			    01h-FCh responder-specific
			    FDh invalid request
			DF clear
			interrupts disabled
			other registers may be destroyed
	    01h responder acknowledgement complete
		ES:SI -> responder structure (see #02899) from registration
		DF clear
		interrupts disabled
		Return:	DF clear
			interrupts disabled
			all registers (except SS:SP) may be destroyed
		Note:	this function is called if function 00h returned a
			  responder-provided data buffer; once this function
			  is called, the responder may deallocate the buffer
	    02h responder reset
		ES:SI -> responder structure (see #02899) from registration
		DF clear
		interrupts disabled
		Return:	DF clear
			interrupts disabled
			all registers (except SS:SP) may be destroyed
		Note:	called whenever a network managment application
			  terminates
Note:	the responder handler should switch to a local stack if it enables
	  interrupts or uses more than a few words of stack space
SeeAlso: #02899

Format of GNMA responder request data:
Offset	Size	Description	(Table 02901)
 00h	WORD	responder's assigned ID
 02h	WORD	function number (defined by responder)
 04h  N BYTEs	data for request (max 528 bytes; actual amount is determined
		  by CX)
SeeAlso: #02900

Top
2F7A2FBX0EDC - INT 2F U - Personal NetWare - HRMIB - UNINSTALL
INT 2F U - Personal NetWare - HRMIB - UNINSTALL
	AX = 7A2Fh
	BX = 0EDCh ('EDC' = Novell European Development Center)
Return: ???
SeeAlso: AX=7AA0h

Top
2F7A40 - INT 2F - Novell NetWare - TCP/IP Protocol Stack - INSTALLATION CHECK
INT 2F - Novell NetWare - TCP/IP Protocol Stack - INSTALLATION CHECK
	AX = 7A40h
Return: AX = 7AFFh if installed
	    0000h:BX = address of interrupt vector for MLID ISR
	    CX = version (CH=major, CL=minor)
	    DX = 0000h
	    ES:DI -> entry point for TCP/IP stack (see #02903)
Notes:	Novell's LAN Workplace for DOS TCPIP.EXE also supports this interface
	this function is also supported by the Beame&Whiteside BWLWP40 shim,
	  but it only returns AL and ES:DI, and does not support AX=7A41h
SeeAlso: AX=7A41h,INT 15/AX=DE2Eh,INT 60"Excelan"


(Table 02902)
Values for NetWare TCP/IP function code:
 01h	"accept" accept a network connection request
 02h	"bind" associate an address with a socket
 03h	close socket
	Call:	socket number field set
 04h	"connect" connect to a remote host
 05h	"getmyipaddr" get IP address
	Call:	socket number field in sockaddr set to 0000h
 06h	"getmymacaddr" get hardware address
 07h	"getpeername"
 08h	"getsockname" get socket name
 09h	"getsockopt" get socket options
 0Ah	"getsubnetmask" get subnet mask
 0Bh	"ioctl"
 0Ch	"listen" wait for connection request on socket
 0Dh	"select"
	Return: socket bitmap updated (1=active)
 0Eh	"setmyipaddr" (obsolete) set IP address
 0Fh	"setsockopt" set socket options
 10h	"shutdown"
 11h	"socket" open socket
	Call:	socket number field set to 0000h
	Return: socket number set
 12h	"recv" get data from peer
 13h	"recvfrom" get data from specified remote host
	Call:	socket number set
		packet length and buffer descriptors set
	Return:	packet length and receive buffers updated
		sockaddr field set to source port number + IP address
 14h	"send" write data to socket
 15h	"sendto" write data to specified recipient
	Call:	socket number set
		flags at offset 18h = 0000h
		packet length and buffer descriptors set
---v4.02+ ---
 16h	get BOOTP data
	Return: BOOTP data stored in parameter block (see #02906)
 17h	"getsnmpinfo"
 18h	"getpathinfo" get/set configuration???
---v4.??? ---
 19h	"getifn"	get interface number
 1Ah	"setipinfo"	set IP information
 1Bh	"getipinfo"	get IP information
 1Ch	"setdnsinfo"	set DNS information
 1Dh	"getdnsinfo"	get DNS information
 1Eh	"setroutes"	set/modify route entry(ies)
 1Fh	"getroutes"	get route entry(ies)
 20h	"removeroutes"	remove route entry(ies)
 21h	"setarpe"	set/modify ARP entry(ies)
 22h	"getarpe"	get ARP entry(ies)
 23h	"removearpe"	remove ARP entry(ies)
Notes:	these functions are based on the Unix socket interface
	OR function number with 80h to call ESR
SeeAlso: #02904

(Table 02903)
Call NetWare TCP/IP entry point with:
	ES:SI -> parameter block (see #02904)
Return: ES:SI parameter block updated
	DX may be destroyed

Format of NetWare TCP/IP Request Control Block (RCB):
Offset	Size	Description	(Table 02904)
 00h	DWORD	-> next RCB
 04h	DWORD	-> previous RCB
 08h	DWORD	-> FAR post routine called if bit 7 of function code set
 0Ch	BYTE	flags (internal use)
		bit 0: request in progress
		bit 1: posted
		bit 2: Windows
		bit 3: "PROTBUF"
		bit 4: "ABORTRCB" for Ctrl-Break handling
		bit 5: call INT 21/AX=0B00h while blocking
 0Dh  7 BYTEs	???
 14h	BYTE	(ret) temporary result code
 15h	BYTE	(call) function code (bit 7 set if non-blocking) (see #02902)
 16h	BYTE	socket number
 17h	BYTE	(ret) result or error code (see #02905)
---accept/bind/connect/getmyipaddr/getpeername/getsockname commands---
 18h		sockaddr structure (WORD port + DWORD IP address)
---close comand---
 no additional fields
---getmymacaddr command---
 18h  6 BYTEs	low-level hardware network address
---BOOTP command---
 18h 64 BYTEs	BOOTP VSA data (see #02906)
---getpathinfo command
 18h  8 BYTEs	key
		"TCP_CFG" used by PING.EXE
 20h 128 BYTEs	path
 A0h	WORD	length of path in previous field
---getsockopt/setsockopt commands---
 18h	WORD	option name
		0004h SO_REUSEADDR
		0008h SO_KEEPALIVE
		0080h SO_LINGER
 1Ah	WORD	option value
 1Ch	WORD	"linger"
---getsubnetmask command---
 18h	DWORD	sockaddr structure (WORD port + DWORD subnet mask)
---ioctl command---
 18h	DWORD	argument value
 1Ch	WORD	ioctl number
---listen command---
 18h	WORD	maximum allowable connection backlog
---select command---
 18h	WORD	number of sockets
 1Ah		fd_set readfds (bitmap of sockets)
		fd_set writefds
		fd_set expectionfds
	DWORD	timeout in clock ticks
---shutdown command---
 18h	WORD	shutdown type
---socket command---
 18h	WORD	protocol (1 = ICMP, 6 = TCP, 17 = UDP)
---I/O commands (recv,recvfrom,send,sendto)---
 18h	WORD	flags
 1Ah  6 BYTEs	sockaddr from/to
		WORD	port number
		DWORD	IP address
 20h	WORD	length of packet sent/received
 22h	WORD	number of pointer/length pairs following (max 8)
 24h 6N BYTEs	buffer descriptors, each
		Offset	Size	Description
		 00h	DWORD	pointer to buffer
		 04h	WORD	length of buffer
---getsnmpinfo command---
 18h	DWORD	(ret) -> ??? data in TCPIP code segment
--getifn command---
 18h	WORD	interface number
 1Ah	WORD	MLID instance number
 1Ch 128 BYTEs	MLID name
---getipinfo/setipinfo commands---
 18h	WORD	interface number (00h = default)
 1Ah	DWORD	IP address
 1Eh	DWORD	IP netmask
 22h  3 DWORDs	router addresses (00000000h = unused entry)
---getdnsinfo/setdnsinfo commands---
 18h	WORD	interface number (00h = default)
 1Ah  3 DWORDs	name server IP addresses (00000000h = unused entry)
 26h 128 BYTEs	domain name
---getroutes/setroutes/removeroutes commands---
 18h	WORD	number of route entries to follow (max 5)
 1Ah 10N BYTEs	route entries
		DWORD	destination host/net IP address
		DWORD	IP address of first router
		WORD	route type
---getarpe/setarpe/removearpe commands---
 18h	WORD	number of ARP entries to follow (max 16)
 1Ah 10N BYTEs	ARP entries
		DWORD	destination IP address
		6 BYTEs	destination hardware address
---other commands---
 18h  4 WORDs	parameter words 0 to 3 (see #02902 for usage)

(Table 02905)
Values for NetWare TCP/IP status:
 00h	successful
 04h	would block
 09h	invalid socket
 23h	would block
 24h	operation in progress
 25h	already in progress
 26h	not a socket
 27h	destination address required
 28h	message too long
 29h	wrong protocol type for socket
 2Ah	protocol not available
 2Bh	protocol not supported
 2Ch	socket type not supported
 2Dh	operation not supported on socket
 2Eh	protocol family not supported
 2Fh	address family not supported by protocol family
 30h	address already in use
 31h	unable to assign requested address
 32h	network is down
 33h	network is unreachable
 34h	network dropped connection
 35h	software caused connection abort
 36h	connection reset by peer
 37h	no buffer space
 38h	socket is already connected
 39h	socket is not connected
 3Ah	socket is in shutdown mode
 3Bh	too many references
 3Ch	connection timed out
 3Dh	connection refused
 3Eh	too many levels of symbolic links
 3Fh	file name too long
 40h	host is down
 41h	host unreachable
 42h	protocol stack not installed
 43h	asynchronous operation not supported
 44h	synchronous operation not supported
 45h	no RCB available
 FFh	blocking (call has not yet returned)
SeeAlso: #02904

Format of BOOTP data (stored in parameter block):
Offset	Size	Description	(Table 02906)
 18h  4 BYTEs	???
 1Ch	BYTE	??? (01h)
 1Dh	BYTE	address length (04h)
 1Eh  4 BYTEs	subnet mask
 22h	BYTE	??? (03h)
 23h	BYTE	??? (04h)
 24h  4 BYTEs	IP address of nearest router
 28h	BYTE	??? (06h)
 29h	BYTE	length of following data (08h)
 2Ah  4 BYTEs	IP address of nameserver 1
 2Eh  4 BYTEs	IP address of nameserver 2
 32h	BYTE	??? (0Ch)
 33h	BYTE	length of local name
 34h  N BYTEs	local host name
	BYTE	FFh (end marker)
SeeAlso: #02904,#02902

Top
2F7A41 - INT 2F U - Novell NetWare - TCP/IP Protocol Stack - WINDOWS SUPPORT???
INT 2F U - Novell NetWare - TCP/IP Protocol Stack - WINDOWS SUPPORT???
	AX = 7A41h
	ES:DI -> FAR entry point for ??? (will be called with BX=1,2,3,4)
Return: AX = 7AFFh if supported
	    0000h:BX = address of interrupt vector for MLID ISR
	    CX = version (CH=major, CL=minor)
	    DX = 0000h
	    ES:SI -> DWORD containing passed value of ES:DI
	    ES:DI -> entry point for TCP/IP stack
Notes:	Novell's LAN Workplace for DOS TCPIP.EXE also supports this interface
	the pointer which is set to ES:DI is cleared to 0000h:0000h when
	  a Windows exit broadcast is received
SeeAlso: AX=7A40h

Top
2F7A42 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ??? ENTRY POINT
INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ??? ENTRY POINT
	AX = 7A42h
Return: AX = 7AFFh if supported
	    ES:DI -> ??? entry point (see #02907)

(Table 02907)
Call NetWare TCPIP.EXE entry point with:
	DX = ???
	ES:DI -> ??? (see #02908)
Return: AX = 0000h
	other registers destroyed

Format of data buffer:
Offset	Size	Description	(Table 02908)
 00h	WORD	offset of WORD ??? or 0000h
 02h	WORD	offset of DWORD ??? or 0000h
 04h	WORD	offset of DWORD ??? or 0000h

Top
2F7A43 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
	AX = 7A43h
Return: AX = 7AFFh if supported
	    DX = offset of ???
SeeAlso: AX=7A44h

Top
2F7A44 - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - SET ???
INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - SET ???
	AX = 7A44h
	DX = offset of ??? (see AX=7A43h)
Return: AX = 7AFFh if supported
SeeAlso: AX=7A43h

Top
2F7A4C - INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
INT 2F U - Novell NetWare - TCPIP.EXE v4.1 - GET ???
	AX = 7A4Ch
Return: AX = 7AFFh if supported
	    BX = ??? (0037h)
	    CX = ??? (001Ch)

Top
2F7A4DBX0001 - INT 2F U - Novell NetWare - ???
INT 2F U - Novell NetWare - ???
	AX = 7A4Dh
	BX = 0001h
	ES:DI -> ???
Return: AL = FFh if ???
	    ES:DI -> ???
Note:	called by NETBIOS.EXE v3.01

Top
2F7A4E - INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - INSTALLATION CHECK
INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - INSTALLATION CHECK
	AX = 7A4Eh
Return: AX = 7AFFh if installed
SeeAlso: AX=7A4Fh"RARPD"

Top
2F7A4F - INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - UNINSTALL
INT 2F U - Novell LAN Workplace for DOS - RARPD.EXE - UNINSTALL
	AX = 7A4Fh
Return: AX = 7AFFh if installed
	DX,ES destroyed
Note:	this call conflicts with SNMP.EXE (both RARPD and SNMP are supplied
	  with LAN Workplace for DOS!), such that running SNMP will uninstall
	  RARPD as SNMP checks whether it is already installed!
SeeAlso: AX=7A4Eh"RARPD",AX=7A4Fh/BX=0001h

Top
2F7A4FBX0001 - INT 2F U - Novell NetWare - SNMP.EXE - INSTALLATION CHECK
INT 2F U - Novell NetWare - SNMP.EXE - INSTALLATION CHECK
	AX = 7A4Fh
	BX = 0001h
Return: AX = 7AFFh if installed
Note:	this call conflicts with RARPD.EXE (both SNMP and RARPD are supplied
	  with LAN Workplace for DOS!), such that running SNMP will uninstall
	  RARPD as SNMP checks whether it is already installed!
SeeAlso: AX=7A4Fh"RARPD",AX=7A4Fh/BX=0002h

Top
2F7A4FBX0002 - INT 2F U - Novell NetWare - SNMP.EXE - ???
INT 2F U - Novell NetWare - SNMP.EXE - ???
	AX = 7A4Fh
	BX = 0002h
Return: AL = status
	    4Fh if failed
	    FFh if successful
SeeAlso: AX=7A4Fh/BX=0001h

Top
2F7A80 - INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - ABNORMAL EXIT
INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - ABNORMAL EXIT
	AX = 7A80h
Return: nothing
Notes:	called on abnormal exit of the NetWare shell to notify other Novell
	  TSRs that it is unsafe to call the shell in the future; also called
	  by NETX.VLM when it is unloaded
	must be passed through so that all interested programs see the exit
	on receiving this call, IPXODI clears an internal pointer to a
	  default value; Novell's NETBIOS.EXE clears its INT 21h pointer to
	  0000h:0000h and stops calling it
SeeAlso: AX=7A81h

Top
2F7A81 - INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - SET SHELL INT 21 HANDLER
INT 2F C - Novell NetWare - SHELL 3.01d BROADCAST - SET SHELL INT 21 HANDLER
	AX = 7A81h
	CX:DX -> shell's INT 21h entry point
Return: nothing
Notes:	the shell calls this function as it loads to allow interested TSRs
	  and drivers to make a local copy of the shell's entry point
	must be passed through so that all interested programs see it

Top
2F7A85 - INT 2F C - Novell NetWare - shell 3.01 - BROADCAST INFORM
INT 2F C - Novell NetWare - shell 3.01 - BROADCAST INFORM
	AX = 7A85h
	CX = broadcast server number
Return: CX = 0000h if broadcast message handled by another program
	CX unchanged if broadcast not handled
SeeAlso: AX=7A21h

Top
2F7A90 - INT 2F U - Novell NetWare - NETBIOS.EXE 3+ - INSTALLATION CHECK
INT 2F U - Novell NetWare - NETBIOS.EXE 3+ - INSTALLATION CHECK
	AX = 7A90h
Return: AL = 00h if present
	    BX = ???
	    CX = PSP segment of NETBIOS resident code
SeeAlso: AX=7AFEh

Top
2F7AA0 - INT 2F U - Personal NetWare - HRMIB - ???
INT 2F U - Personal NetWare - HRMIB - ???
	AX = 7AA0h
	BX = function
	    0000h ???
	    0001h ???
Return: ???
SeeAlso: AX=7A2Fh/BX=0EDCh

Top
2F7AC1 - INT 2F - LAN HiJack - LHR - DISABLE???
INT 2F - LAN HiJack - LHR - DISABLE???
	AX = 7AC1h
Program: LAN HiJack is a NetWare utility by KDS Software which allows a user
	  to take over control of a workstation remotely; LHR is the program
	  run on the slave workstation
SeeAlso: AX=7AC8h,AX=7AC9h,AX=7ACFh

Top
2F7AC2 - INT 2F - LAN HiJack - LHR - SYNCHRONIZE SHIFT STATES???
INT 2F - LAN HiJack - LHR - SYNCHRONIZE SHIFT STATES???
	AX = 7AC2h
Note:	sets BIOS keyboard status byte to an internal variable
SeeAlso: AX=7AC3h,AX=7ACFh

Top
2F7AC3 - INT 2F - LAN HiJack - LHR - CLEAR ??? FLAG
INT 2F - LAN HiJack - LHR - CLEAR ??? FLAG
	AX = 7AC3h
SeeAlso: AX=7AC2h,AX=7ACFh

Top
2F7AC8 - INT 2F - LAN HiJack - LHR - ENABLE FUNCTIONS
INT 2F - LAN HiJack - LHR - ENABLE FUNCTIONS
	AX = 7AC8h
	BL = function(s) to enable (see #02909)
SeeAlso: AX=7AC1h,AX=7AC9h,AX=7ACFh

Bitfields for LAN HiJack function(s) to enable/disable:
Bit(s)	Description	(Table 02909)
 0	???
 1	remote keyboard enabled
 2	support remote's mouse
 3-7	unused

Top
2F7AC9 - INT 2F - LAN HiJack - LHR - DISABLE FUNCTIONS
INT 2F - LAN HiJack - LHR - DISABLE FUNCTIONS
	AX = 7AC9h
	BL = function(s) to disable (see #02909)
SeeAlso: AX=7AC1h,AX=7AC8h

Top
2F7ACA - INT 2F - LAN HiJack - LHJ - ???
INT 2F - LAN HiJack - LHJ - ???
	AX = 7ACAh
	BL = ???
Return: ???
Program: LAN HiJack is a NetWare utility by KDS Software which allows a user
	  to take over control of a workstation remotely; LHJ is the program
	  run on the controlling workstation

Top
2F7ACB - INT 2F - LAN HiJack - LHJ - ???
INT 2F - LAN HiJack - LHJ - ???
	AX = 7ACBh
	BX = ???
Return: ???
Note:	this function appears to be related to the keyboard
SeeAlso: AX=7ACCh

Top
2F7ACC - INT 2F - LAN HiJack - LHJ - ???
INT 2F - LAN HiJack - LHJ - ???
	AX = 7ACCh
	BX = ???
Return: ???
Note:	this function appears to be related to the mouse
SeeAlso: AX=7ACBh

Top
2F7ACFBX0000 - INT 2F - LAN HiJack - LHR - INSTALLATION CHECK
INT 2F - LAN HiJack - LHR - INSTALLATION CHECK
	AX = 7ACFh
	BX = 0000h
Return: BX = segment of resident code if installed
Program: LAN HiJack is a NetWare utility by KDS Software which allows a user
	  to take over control of a workstation remotely; LHR is the program
	  run on the slave workstation

Top
2F7AF0 - INT 2F - Novell NetWare - DOSNP.EXE v1.30G - INSTALLATION CHECK
INT 2F - Novell NetWare - DOSNP.EXE v1.30G - INSTALLATION CHECK
	AX = 7AF0h
Return: AL = FFh if present
	    ES = 7AF0h
	    CX = PSP segment of resident code

Top
2F7AF1 - INT 2F - Novell NetWare - Access Server Driver - INSTALLATION CHECK
INT 2F - Novell NetWare - Access Server Driver - INSTALLATION CHECK
	AX = 7AF1h
	BL = sequence number (01h first driver, 02h second, 00h no driver)
Return: AX <> 7AF1h if present
	    BH = total number of drivers
	    ---if BL nonzero on entry---
	    AL = number of ports provided by specified driver
	    ES:DI -> driver entry point
		      (see #02910,#02911,#02912,#02913,#02914,#02915,#02916,#02917)
	    ES:DX -> ID string
SeeAlso: INT 7A/BX=001Ch

(Table 02910)
Call Access Server driver "initialize port" function with:
	AH = 01h
	AL = port number (00h-0Fh)
	ES:BX -> configuration parameter block (see #02923)
	interrupts disabled
Return: CF clear if successful
	CF set on error
SeeAlso: #02911

(Table 02911)
Call Access Server driver "get port status" function with:
	AH = 02h
	AL = port number (00h-0Fh)
	interrupts disabled
Return: CF clear if successful
	    BL = transmitter status (see #02920)
	    BH = receiver status (see #02921)
	    DL = external status signals (see #02922)
	CF set on error
	interrupts disabled
SeeAlso: #02910,#02912,#02915

(Table 02912)
Call Access Server driver "get input from port" function with:
	AH = 03h
	AL = port number (00h-0Fh)
	CX = size of data buffer
	ES:BX -> buffer for data
	interrupts disabled
Return: CF clear if successful
	CF set on error
	interrupts disabled
	CX = number of bytes read
Note:	the driver will add a NUL to the buffer when a break signal is detected
SeeAlso: #02912,#02913

(Table 02913)
Call driver "send output data to port" function with:
	AH = 04h
	AL = port number (00h-0Fh)
	CX = number of bytes to send
	ES:BX -> buffer containing data
	interrupts disabled
Return: CF clear if successful
	CF set on error
	interrupts disabled
	CX = number of bytes actually written
SeeAlso: #02912,#02914

(Table 02914)
Call driver "get I/O character counts" function with:
	AH = 05h
	AL = port number (00h-0Fh)
	interrupts disabled
Return: CF clear if successful
	    BX = number of bytes pending transmission
	    CX = number of bytes available for reading
	CF set on error
	interrupts disabled
SeeAlso: #02912,#02913

(Table 02915)
Call driver "control XON/XOFF" function with:
	AH = 06h
	AL = port number (00h-0Fh)
	DL = new state
	    (00h software flow control disabled, else enabled)
	interrupts disabled
Return: CF clear if successful
	CF set on error
	interrupts disabled
SeeAlso: #02916

(Table 02916)
Call driver "get error counts and statistics" function with:
	AH = 07h
	AL = port number (00h-0Fh)
	ES:BX -> buffer for statistics (see #02924)
	interrupts disabled
Return: CF clear if successful
	    ES:BX buffer filled
	CF set on error
	interrupts disabled
SeeAlso: #02917,#02918,#02919

(Table 02917)
Call driver "general request" function with:
	AH = 08h
	AL = port number (00h-0Fh)
	DX = requested operations
	    bit 0: flush transmit buffers
	    bit 1: flush receive buffers
	    bit 4: define XON/XOFF characters
	ES:BX -> XON/XOFF characters (see #02925) if DX bit 4 set
	interrupts disabled
Return: CF clear if successful
	CF set on error
	interrupts disabled

(Table 02918)
Call driver "deadman timer management" function with:
	AH = 09h
	AL = port number (00h-0Fh)
	BX = next time interval in seconds (0000h to disable timer)
	interrupts disabled
Return: CF clear
	interrupts disabled
SeeAlso: #02919

(Table 02919)
Call driver "get buffer sizes" function with:
	AH = 0Ah
	AL = port number (00h-0Fh)
	interrupts disabled
Return: CF clear if successful
	   BX = size of transmit buffer
	   CX = size of receive buffer
	CF set on error
	interrupts disabled
SeeAlso: #02918

(Table 02920)
Values for Access Server transmitter status:
 00h	uninitialized
 01h	ready, not transmitting
 02h	transmitting
 03h	XOFF received
 04h	transmitting, buffer full
 05h	XOFF received and buffer full

(Table 02921)
Values for Access Server receiver status:
 00h	uninitialized
 01h	ready
 02h	receive buffer full, data may have been lost

Bitfields for external status signals:
Bit(s)	Description	(Table 02922)
 7,6	undefined
 5	CTS active
 4	DSR active
 3	DCD active
 2,1	undefined
 0	ring indicator

Format of Access Server configuration parameter block:
Offset	Size	Description	(Table 02923)
 00h	BYTE	receive baud rate index
		00h 50 bps, 01h 75 bps, 02h 110 bps, 03h 134.5 bps,
		04h 150 bps, 05h 300 bps, 06h 600 bps, 07h 1200 bps,
		08h 1800 bps, 09h 2000 bps, 0Ah 2400 bps, 0Bh 3600 bps,
		0Ch 4800 bps, 0Dh 7200 bps, 0Eh 9600 bps, 0Fh 19200 bps,
		10h 38400 bps, 11h 57600 bps, 12h 115200 bps
 01h	BYTE	receive bits per character (0=5 bits..3=8 bits)
 02h	BYTE	receive stop bits
 03h	BYTE	receive parity
		00h none, 01h odd, 02h even, 03h mark, 04h space
 04h	BYTE	transmit baud rate index (same as receive baud rate)
 05h	BYTE	transmit bits per character (0=5 bits..3=8 bits)
 06h	BYTE	transmit stop bits
 07h	BYTE	transmit parity (same as receive parity)
 08h	BYTE	DTR state (00h off, 01h on)
 09h	BYTE	RTS state (00h off, 01h on)
 0Ah	BYTE	flow control (00h none, 01h XON/XOFF, 02h RTS/CTS, 03h both)
 0Bh	BYTE	break control (00h off, 01h on)

Format of Access Server statistics:
Offset	Size	Description	(Table 02924)
 00h	BYTE	port number
 01h	BYTE	external status signals (see #02922)
 02h	BYTE	transmitter status (see #02920)
 03h	BYTE	receiver status (see #02921)
 04h	DWORD	number of characters received
 08h	DWORD	number of characters transmitted
 0Ch	WORD	input parity errors
 0Eh	WORD	input framing errors
 10h	WORD	lost characters due to hardware overrun
 12h	WORD	lost characters due to data buffer overrun
Note:	the counts are not allowed to wrap around; once a count reaches FFFFh
	  or FFFFFFFFh, it is no longer incremented

Format of Access Server XON/XOFF characters:
Offset	Size	Description	(Table 02925)
 00h	BYTE	04h (number of bytes following)
 01h	BYTE	transmit XON character
 02h	BYTE	transmit XOFF character
 03h	BYTE	receive XON character
 04h	BYTE	receive XOFF character

Top
2F7AFE - INT 2F U - Novell NetWare - DOSNP.EXE - INSTALLATION CHECK
INT 2F U - Novell NetWare - DOSNP.EXE - INSTALLATION CHECK
	AX = 7AFEh
Return: AL = FFh if present
	    ES = (data???) segment of DOSNP
Program: DOSNP.EXE provides "named pipes" support for DOS workstations running
	   NetWare
Note:	the NetWare shell calls this function and refuses to load if DOSNP is
	  present
SeeAlso: AX=7A90h

Top
2F7AFFBX0000 - INT 2F - Novell NetWare - TBMI v1.1+ - INSTALLATION CHECK / Windows SUPPORT
INT 2F - Novell NetWare - TBMI v1.1+ - INSTALLATION CHECK / Windows SUPPORT
	AX = 7AFFh
	BX = 0000h
	CX = 4E65h ("Ne")
	DX = 7457h ("tW")
	ES:DI -> Windows support procedure (see #02926)
Return: AL = FFh if installed
	    CX = configured sockets (14h)
	    DS:SI -> data table ???
	    ES:DI -> IPX far call handler
Notes:	for IPX/SPX this call reportedly returns DS:SI pointing to the table
	  of pointers to service events queue head and tail
	this function is also supported by IPXODI; v2.12 does not change DS,
	  but does set SI to an internal address
SeeAlso: AX=7AFFh/BX=0001h

(Table 02926)
Values Windows support procedure called with:
	BP = function
	    0001h Get ECB
		BX = socket number
		Return: ES:SI -> ECB or 0000h:0000h if none available
	    0002h Count Listen ECBs
		AX = BX = socket
		Return: CX = number of listen ECBs for socket
				(must be >= 2 for SPX to work)
	    0003h ???
	    0004h Inform task switcher of ECB locations
		Note:	registers other than those listed above are equal
			  to the values when IPX was called
Note:	the support function will not be called if IPX is called with BX
	  bit 15 set

Top
2F7AFFBX0001 - INT 2F - Novell NetWare - TBMI v1.1+, shell v3.01d - INSTALLATION CHECK???
INT 2F - Novell NetWare - TBMI v1.1+, shell v3.01d - INSTALLATION CHECK???
	AX = 7AFFh
	BX = 0001h
	CX = 4E65h ("Ne")
	DX = 7457h ("tW")
Return: AL = FFh if installed
	    CX = ???  (8000h)
	    SI = ??? (or -> ???) (0002h and 0007h seen)
	    ES:DI -> IPX far call handler
	    ES:DX -> 6-byte data area ???
Note:	this function is also supported by IPXODI, but IPXODI v2.12 does not
	  return ES:DX
SeeAlso: AX=7AFFh/BX=0000h

Top
2F7F00 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - INSTALLATION CHECK
INT 2F - Jim Harper's CD-ROM redirector SCSI driver - INSTALLATION CHECK
	AX = 7F00h
Return: AL = FFh if installed
SeeAlso: AX=7F01h"Harper",AX=7F02h"Harper",AX=7F03h"Harper"

Top
2F7F00 - INT 2F - PRINDIR v9.0 - INSTALLATION CHECK
INT 2F - PRINDIR v9.0 - INSTALLATION CHECK
	AX = 7F00h
Return: AL = FFh if installed
	    BX = version (BH = major, BL = minor)
	    CX:DX -> ASCIZ signature "PRINDIR"
Range:	AH=7Fh is the default, may be changed at installation time
Note:	prior versions of PRINDIR used INT 7C or INT 7A
SeeAlso: AX=7F01h"PRINDIR",AX=7F02h"PRINDIR",AX=7F03h"PRINDIR"
SeeAlso: AX=7F06h"PRINDIR",AX=7F08h,AX=7F0Ah,AX=7F0Ch,AX=7F0Eh,INT 7C"PRINDIR"

Top
2F7F01 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO COMMAND
INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO COMMAND
	AX = 7F01h
	DS:DX -> command record (see #02927)
Return: AL = status
	    00h successful
	    else error code
SeeAlso: AX=7F00h"Harper",AX=7F02h"Harper",INT 11/AH=FFh"SDLP"
SeeAlso: INT 21/AX=4402h"ASPI",INT 4F/AX=8100h

Format of CD-ROM redirector command record:
Offset	Size	Description	(Table 02927)
 00h	BYTE	ID
 01h 10 BYTEs	CDB (Command Descriptor Block) for operation (see #03236,#03237)
 0Bh	WORD	segment of buffer
 0Dh	WORD	offset of buffer
 0Fh	BYTE	status
 10h	BYTE	sense
 12h	WORD	count

Top
2F7F01 - INT 2F - PRINDIR v9.0 - SET CAPTURE DEVICE
INT 2F - PRINDIR v9.0 - SET CAPTURE DEVICE
	AX = 7F01h
	DX = capture device (as used by /GET commandline option)
Return: AX = status
	    0000h successful
	    FFFFh invalid device
SeeAlso: AX=7F00h"PRINDIR",AX=7F02h"PRINDIR",AX=7F03h"PRINDIR"
SeeAlso: AX=7F05h"PRINDIR"

Top
2F7F02 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO RESET
INT 2F - Jim Harper's CD-ROM redirector SCSI driver - DO RESET
	AX = 7F02h
SeeAlso: AX=7F00h,AX=7F01h

Top
2F7F02 - INT 2F - PRINDIR v9.0 - SET DESTINATION DEVICE
INT 2F - PRINDIR v9.0 - SET DESTINATION DEVICE
	AX = 7F02h
	DX = destination device number (as used by /PUT commandline option)
Return: AX = status
	    0000h successful
	    FFFFh invalid device number
SeeAlso: AX=7F00h"PRINDIR",AX=7F01h"PRINDIR",AX=7F04h"PRINDIR"
SeeAlso: AX=7F06h"PRINDIR"

Top
2F7F03 - INT 2F - Jim Harper's CD-ROM redirector SCSI driver - UNINSTALL
INT 2F - Jim Harper's CD-ROM redirector SCSI driver - UNINSTALL
	AX = 7F03h
Return: AL = status
	    00h successful
	    01h unable to uninstall
SeeAlso: AX=7F00h

Top
2F7F03 - INT 2F - PRINDIR v9.0 - SET CAPTURE FILENAME
INT 2F - PRINDIR v9.0 - SET CAPTURE FILENAME
	AX = 7F03h
	CX:DX -> ASCIZ name of capture file
Return: AX = status
	    0000h successful
	    FFFFh name too long
SeeAlso: AX=7F00h"PRINDIR",AX=7F01h"PRINDIR",AX=7F04h"PRINDIR"
SeeAlso: AX=7F05h"PRINDIR",AX=7F07h"PRINDIR"

Top
2F7F04 - INT 2F - PRINDIR v9.0 - SET LOCK FILENAME
INT 2F - PRINDIR v9.0 - SET LOCK FILENAME
	AX = 7F04h
	CX:DX -> ASCIZ name of lock file
Return: AX = status
	    0000h successful
	    FFFFh invalid device number
SeeAlso: AX=7F00h"PRINDIR",AX=7F01h"PRINDIR",AX=7F03h"PRINDIR"
SeeAlso: AX=7F05h,AX=7F06h,AX=7F08h,AX=7F0Ah,AX=7F0Bh

Top
2F7F05 - INT 2F - PRINDIR v9.0 - DUMP CAPTURE BUFFER
INT 2F - PRINDIR v9.0 - DUMP CAPTURE BUFFER
	AX = 7F05h
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F01h"PRINDIR",AX=7F04h"PRINDIR",AX=7F06h

Top
2F7F06 - INT 2F - PRINDIR v9.0 - SET NORMAL TEXT COLOR
INT 2F - PRINDIR v9.0 - SET NORMAL TEXT COLOR
	AX = 7F06h
	DH = new attribute for normal text
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F01h"PRINDIR",AX=7F05h"PRINDIR",AX=7F07h

Top
2F7F07 - INT 2F - PRINDIR v9.0 - SET HIGHLIGHT TEXT COLOR
INT 2F - PRINDIR v9.0 - SET HIGHLIGHT TEXT COLOR
	AX = 7F07h
	DH = new attribute for highlighted text
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F01h"PRINDIR",AX=7F06h"PRINDIR",AX=7F08h

Top
2F7F08 - INT 2F - PRINDIR v9.0 - SET POPUP HOTKEY
INT 2F - PRINDIR v9.0 - SET POPUP HOTKEY
	AX = 7F08h
	DH = new scancode for hotkey
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F05h"PRINDIR",AX=7F09h,AX=7F0Bh,AX=7F0Dh

Top
2F7F09 - INT 2F - PRINDIR v9.0 - SET BYTE COUNTER DISPLAY
INT 2F - PRINDIR v9.0 - SET BYTE COUNTER DISPLAY
	AX = 7F09h
	DH = new state (00h off, 01h on)
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F07h"PRINDIR",AX=7F08h,AX=7F0Ah,AX=7F0Ch

Top
2F7F0A - INT 2F - PRINDIR v9.0 - SET FLUSH DELAY
INT 2F - PRINDIR v9.0 - SET FLUSH DELAY
	AX = 7F0Ah
	DX = number of clock ticks before flushing
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F07h"PRINDIR",AX=7F09h,AX=7F0Bh,AX=7F0Ch

Top
2F7F0B - INT 2F - PRINDIR v9.0 - SET MINIMUM DUMP SIZE
INT 2F - PRINDIR v9.0 - SET MINIMUM DUMP SIZE
	AX = 7F0Bh
	DX = number of kilobytes to accumulate before dumping
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F0Ah,AX=7F0Ch,AX=7F0Dh,AX=7F0Eh

Top
2F7F0C - INT 2F - PRINDIR v9.0 - SET ECHO STATE
INT 2F - PRINDIR v9.0 - SET ECHO STATE
	AX = 7F0Ch
	DX = new state (00h echo off, 01h echo on)
Return: AX = status
	    0000h successful
SeeAlso: AX=7F00h"PRINDIR",AX=7F0Ah,AX=7F0Bh,AX=7F0Dh,AX=7F0Eh

Top
2F7F0D - INT 2F - PRINDIR v9.0 - SHOW POPUP PARAMETER MENU
INT 2F - PRINDIR v9.0 - SHOW POPUP PARAMETER MENU
	AX = 7F0Dh
Return: AX = status
	    0000h successful
	    else  failed
SeeAlso: AX=7F00h"PRINDIR",AX=7F0Ah,AX=7F0Bh,AX=7F0Ch,AX=7F0Eh

Top
2F7F0E - INT 2F - PRINDIR v9.0 - SUBMIT BYTE TO CURRENT DESTINATION DEVICE
INT 2F - PRINDIR v9.0 - SUBMIT BYTE TO CURRENT DESTINATION DEVICE
	AX = 7F0Eh
	DL = byte to send to destination device
Return: AX = status
	    0000h successful
	    else  failed
SeeAlso: AX=7F00h"PRINDIR",AX=7F0Ah,AX=7F0Bh,AX=7F0Ch,AX=7F0Dh

Top
2F7F24 - INT 2F - Multiplex - ???
INT 2F - Multiplex - ???
	AX = 7F24h
	???
Return: ???
Note:	called by PC/370, an IBM 370 emulator by Donald S. Higgins

Top
2F7F26 - INT 2F - Multiplex - ???
INT 2F - Multiplex - ???
	AX = 7F26h
	???
Return: ???
Note:	called by PC/370, an IBM 370 emulator by Donald S. Higgins

Top
2F8000 - INT 2F - EASY-NET - INSTALLATION CHECK
INT 2F - EASY-NET - INSTALLATION CHECK
	AX = 8000h
Return: AL = 00h not installed
	     FFh installed
Program: EASY-NET is a shareware two-machine serial-port network

Top
2F8000 - INT 2F - Nanosoft, Inc. TurboNET server - INSTALLATION CHECK
INT 2F - Nanosoft, Inc. TurboNET server - INSTALLATION CHECK
	AX = 8000h
Return: AL = FFh if installed
	    BX = CS of resident code
	    CX = ??? (03FCh)
Program: TurboNET is a NetBIOS-based file redirector and server; a
	  demonstration version may be downloaded from Nanosoft's BBS
SeeAlso: AX=8100h

Top
2F8000 - INT 2F - CS_TSR specification - TSR INSTALLATION CHECK
INT 2F - CS_TSR specification - TSR INSTALLATION CHECK
	AX = 8000h
	DS:SI -> 4-byte CS_TSR signature (11h 43h 53h 10h)
Return: AL = status
	    00h no CS_TSR-compliant TSRs installed
	    01h installed, but signature did not match
	    FFh installed, signature matches
		ES:DI -> resident process block (see #02928) of last installed
			  TSR (if DS:SI pointed at signature on entry)
Program: the CS_TSR specification is a standardized TSR interface by Compact
	  Soft group in Kiev, Ukraine
Desc:	determine whether any CS_TSR-compliant TSRs are installed on the
	  selected multiplex number
Range:	AH=80h to AH=FFh
SeeAlso: AX=8001h"CS_TSR",AX=8002h"CS_TSR",AX=8003h"CS_TSR"

Format of CS_TSR process block:
Offset	Size	Description	(Table 02928)
 00h  4 BYTEs	CS_TSR signature 11h 43h 53h 10h
 04h	BYTE	INT 2F multiplex number
 05h	WORD	virtual process handle (unique among loaded TSRs)
 07h  2 BYTEs	version (binary minor version, then major version)
 09h	WORD	PSP segment of TSR
 0Bh	DWORD	pointer to ASCIZ program name
 0Fh  3 BYTEs	program creation date (day, month, year)
 12h  3 BYTEs	process start time (seconds, minutes, hours)
 15h  3 BYTEs	process start date (day, month, year)

Top
2F8000DX0000 - INT 2F - FaxBIOS interface - INSTALLATION CHECK
INT 2F - FaxBIOS interface - INSTALLATION CHECK
	AX = 8000h
	DX = 0000h
	DI = 0000h
Return: AL = FFh if installed
	DX:DI -> signature "FaxBiosjpc"
Range:	AH=80h to AH=FFh, selected by scanning multiplex numbers for signature
SeeAlso: AH=2Ah,AX=80FBh

Top
2F8001 - INT 2F - Nanosoft, Inc. TurboNET server - ???
INT 2F - Nanosoft, Inc. TurboNET server - ???
	AX = 8001h
	DS:SI -> 16-byte buffer for ???
Return: AH = status
	    00h successful
	    01h error (TurboNET busy)
Note:	makes NetBIOS calls

Top
2F8001 - INT 2F - CS_TSR specification - GET HANDLE (TSR-SPECIFIC INSTALLATION CHECK)
INT 2F - CS_TSR specification - GET HANDLE (TSR-SPECIFIC INSTALLATION CHECK)
	AX = 8001h
	DS:SI -> ASCIZ signature string for desired TSR (see #02929)
Return: BX = process handle or 0000h if specified TSR not installed
	ES:DI -> process block for TSR (see #02928) if BX<>0000h
Note:	A widely-available copy of ASCII billing itself as "ASCII 2.OO by
	  Nick Zaikin Jr." is in fact a hacked copy of the Compact Soft
	  ASCII v4.23 which is identical except for the changed attribution
	  and version (in fact, some instances of "4.23" were missed); the
	  hacked copy requires the signature string
	  "ASCII 2.OO by Nick Zaikin Jr." instead of the unhacked version's
	  simple signature "ASCII"
SeeAlso: AX=8000h"CS_TSR",AX=8002h"CS_TSR"

(Table 02929)
Values for CS_TSR signature strings:
 "ASCII"	ASCII, a popup ASCII table with character input
 "Halculator"	HALC, a 32-bit RPN WYSIWIH calculator with undo and ptr support
 "AntiTurbo"	AT!, an intelligent system slow-down utility

Top
2F8002 - INT 2F - CS_TSR specification - GET PROCESS BLOCK BY PROCESS HANDLE
INT 2F - CS_TSR specification - GET PROCESS BLOCK BY PROCESS HANDLE
	AX = 8002h
	BX = process handle for TSR (see AX=8001h"CS_TSR")
Return: ES:DI -> process block for specified TSR (see #02928)
		unchanged if no match for process handle
Note:	This function is used to allocate a process handle when the TSR
	  installs itself, by setting ES:DI to point at something other than
	  a CS_TSR process block's signature string and iterating through the
	  possible process handles (0001h to FFFFh) until ES:DI is returned
	  unchanged
SeeAlso: AX=8000h"CS_TSR",AX=8001h"CS_TSR",AX=8003h"CS_TSR"

Top
2F8003 - INT 2F - CS_TSR specification - CUSTOM SUBFUNCTION
INT 2F - CS_TSR specification - CUSTOM SUBFUNCTION
	AX = 8003h
	BX = process handle for TSR (see AX=8001h"CS_TSR")
	other registers vary by TSR
Return: vary by TSR, unchanged if not supported
Program: the CS_TSR specification is a standardized TSR interface by Compact
	  Soft group in Kiev, Ukraine
SeeAlso: AX=8000h"CS_TSR",AX=8001h"CS_TSR",AX=8002h"CS_TSR"

Top
2F80FB - INT 2F - FaxBIOS interface - COMMAND SUBMISSION
INT 2F - FaxBIOS interface - COMMAND SUBMISSION
	AX = 80FBh
	BX = function number (see #02930)
	DX:DI -> command buffer
		  (see #02932,#02935,#02936,#02937,#02938,#02939,#02944,#02950,#02957)
Return: AL = FFh if submitted OK
	CX = result code (see #02931)
Range:	AH=80h to AH=FFh, selected by scanning multiplex numbers for signature
SeeAlso: AX=8000h"FaxBIOS",AX=CBDDh

(Table 02930)
Values for FaxBIOS function number:
 0001h	SYS_LOGIN
 0002h	SYS_LOGOUT
 0003h	SYS_GET_FAXAPP_INFO
 0004h	STAT_IO_GET
 0005h	STAT_FAXBIOS_GET
 0006h	PDIR_OPEN
 0007h	PDIR_CLOSE (see #02940)
 0008h	PDIR_READ_PERSON (see #02941)
 0009h	PDIR_PARTIAL_READ
 000Ah	PDIR_READ_GROUP
 000Bh	PDIR_READ_MEMBER_LIST
 000Ch	PDIR_WRITE_PERSON
 000Dh	PDIR_WRITE_GROUP
 000Eh	PDIR_DELETE_PERSON
 000Fh	PDIR_DELETE_GROUP
 0010h	PDIR_READ_GROUP_LIST
 0011h	PDIR_IN_GROUP
 0012h	PDIR_OUT_GROUP
 0013h	SCHED_OPEN (see #02942)
 0014h	SCHED_ADD_DEST (see #02943)
 0015h	SCHED_ADD_FILE (see #02944)
 0016h	SCHED_SET_PARAMS (see #02945)
 0017h	SCHED_CANCEL (see #02942)
 0018h	SCHED_CLOSE (see #02946)
 0019h	SLOG_OPEN (see #02947)
 001Ah	SLOG_CLOSE (see #02947)
 001Bh	SLOG_SHORT_ENV_STAT
 001Ch	SLOG_LONG_ENV_STAT
 001Dh	SLOG_DEST_STAT
 001Eh	SLOG_FILE_STAT
 001Fh	SLOG_CANCEL_ENV
 0020h	RLOG_OPEN (see #02947)
 0021h	RLOG_CLOSE (see #02947)
 0022h	RLOG_READ
 0023h	GRAPH_GET_FILE_TYPE (see #02948)
 0024h	GRAPH_EXPORT_FILE
 0025h	GRAPH_GET_LAYOUT_INFO
 0026h	GRAPH_CREATE_FILE (see #02949)
 0027h	GRAPH_CLOSE_FILE (see #02950)
 0028h	GRAPH_CREATE_PAGE (see #02951)
 0029h	GRAPH_WRITE (see #02952)
 002Ah	GRAPH_END_PAGE
 002Bh	GRAPH_OPEN_FILE (see #02953)
 002Ch	GRAPH_GOTO_PAGE (see #02954)
 002Dh	GRAPH_READ (see #02955)
 002Eh	IOCTL_GET
 002Fh	IOCTL_SET
 0030h	IOCTL_ANSWER_FAX (see #02956)
 0031h	IOCTL_DIAL (see #02957)

(Table 02931)
Values for FaxBIOS result code:
 0000h	successful
 0001h	not prepared or servicing another client (busy)
 0002h	call failed due to sharing (LOCKED)
 0003h	logged-in client limit reached (FULL)
 0004h	transport denied (TRANSPORT_DENIED)
 0005h	not implemented (NOT_IMPLEMENTED)
 0006h	aborted while in progress (ABORTED)
 0007h	permissions denied (PERMISSION_DENIED)
 0008h	requested data is no longer valid (NO_LONGER_VALID)
 0080h	unspecified system error occurred
 0081h	an internal file was not found
 0082h	an internal file could not be created
 0083h	an internal file could not be opened
 0084h	an internal file could not be closed
 0085h	error occurred writing to an internal file
 0086h	error occurred reading from an internal file
 0087h	bad or corrupted file encountered
 0088h	an access violation occurred
 0089h	an internal file is empty
 008Ah	insufficient memory to process request
 008Bh	FaxBIOS was unable to issue a handle
 008Ch	an error internal to FaxBIOS occurred
 008Dh	no room on disk
 0100h	unspecified error accessing client file
 0101h	file not found
 0102h	creation fault
 0103h	open fault
 0104h	close fault
 0105h	write fault
 0106h	read fault
 0107h	file corrupted
 0108h	access violation
 0109h	empty file
 0200h	unspecified argument error
 0201h	bad function
 0202h	bad option
 0203h	bad structure size
 0204h	bad buffer size
 0205h	bad client ID
 0300h	unspecified error with token
 0301h	cover sheet token was invalid
 0302h	logo token was invalid
 0303h	signature token was invalid
 0304h	font token was invalid
 0305h	phone directory token was invalid
 0306h	outbound route token was invalid
 0307h	priority token was invalid
 0308h	sort token was invalid
 0309h	billing token was invalid
 0400h	unspecified handle error
 0401h	bad Phone Directory handle
 0402h	bad scheduling handle
 0403h	bad read send log handle
 0404h	bad read receive log handle
 0405h	bad graphics handle
 0500h	data passed in structure was invalid
 0501h	name field given is invalid
 0502h	phone number given is invalid
 0503h	poll code submitted is invalid
 0504h	file type constant was invalid
 0505h	BFT constant not defined or supported
 0506h	resolution not defined or supported
 0507h	page length not defined or supported
 0508h	page width not defined or supported
 0509h	date & time requested are ridiculous
 050Ah	Subject text was not an ASCIZ string
 050Bh	From text was not an ASCIZ string
 050Ch	requested envelope ID was not found
 050Dh	requested envelope ID is not valid
 050Eh	envelope requested was not found
 050Fh	destination index is out of range
 0510h	file index is out of range
 0511h	index into receive log is out of range
 0512h	file name specified was incomplete or invalid
 0513h	page selected was out of range
 0514h	bit width more than byte width
 0515h	mode for open is not defined
 0516h	person index is out of range
 0517h	person ID is out of range
 0518h	group index out of range or invalid
 0519h	group ID out of range or invalid
 051Ah	range of indices to read is invalid
 051Bh	group name given is invalid
 051Ch	field_to_use is badly specified
 051Dh	predicate invalid for field specified
 0600h	unspecified client procedure error
 0601h	device of interest is not present
 0602h	device of interest has been removed
 0603h	device of interest is not responding
 0604h	device of interest is disabled
 0605h	could not dial because device was in use
 0606h	maximum destination limit exceeded
 0607h	maximum file limit exceeded
 0608h	scheduling closed with no destination
 0609h	scheduling closed with no files or poll
 060Ah	scheduling closed with no parameters specified
 060Bh	file type specified does not match file
 060Ch	file type specified is not supported
 060Dh	file submitted is not exportable
 060Eh	file type specified is not imageable
 060Fh	error converting file
 0610h	envelope could not be cancelled
 0611h	Phone Directory is full
 0612h	record is already in the Phone Directory
 0613h	selected group in Phone Directory is full
 0614h	person is already in the group
 0615h	person is not in the group & cannot be removed
 0616h	a graphics file to be created already exists
 0617h	a graphics file to be read is empty
 0618h	GRAPH_CREATE_PAGE called before GRAPH_END_PAGE
 0619h	graph read or write attempted without goto or create
 061Ah	graph page contains no data
 061Bh	Phone Directory is already open for this client
 061Ch	schedule log is already open for this client
 061Dh	receive log is aready open for this client
 061Eh	Phone Directory function requires write mode
 0800h	denied exclusive use of the API

Format of FaxBIOS SYS_LOGIN command buffer:
Offset	Size	Description	(Table 02932)
 00h	WORD	structure size
 02h	WORD	function number
 04h	WORD	return code
 06h	WORD	client ID
 08h	WORD	API Major Version
 0Ah	WORD	API Minor Version
 0Ch	DWORD	reserved for manufacturer's use
 10h 22 BYTEs	manufacturer's ID
 26h	WORD	highest possible device number
 28h	WORD	maximum destinations per envelope
 2Ah	WORD	maximum files per envelope
 2Ch	WORD	FaxBIOS capabilities (see #02933)
 2Eh	DWORD	T.30 capabilities (see #02934)
 32h	WORD	IPC handle
 34h	DWORD	amount of memory needed to load
 38h	WORD	scope (00h for public, nonzero for private)
 3Ah  6 BYTEs	future expansion
 40h	WORD	structure size

Bitfields for FaxBIOS capabilities:
Bit(s)	Description	(Table 02933)
 0	transmit supported
 1	receive supported
 2	IOCTL supported
 3	IOCTL_DIAL supported
 4	IOCTL_ANSWER_FAX supported
 5	manual transmit supported
 6	optional phone services supported
 7	canonical phone objects
 8	seam with next supported

Bitfields for T.30 capabilities:
Bit(s)	Description	(Table 02934)
 0	low vertical resolution (minimum)
 1	high vertical resolution
 2	page width 107mm (4.21 in)
 3	page width 151mm (5.91 in)
 4	page width 215mm (8.46 in) (minimum)
 5	page width 255mm (10.04 in)
 6	page width 303mm (11.93 in)
 7	unused
 8	page length 297mm (11.69 in) (minimum)
 9	page length 364mm (14.33 in)
 10	page length 279mm (11 in)
 11	page length unlimited
 12	Group 4 resolution 300x300
 13	Group 4 resolution 400x400
 14	able to respond to poll from remote
 15	able to poll remote
 16	binary file transfer supported

Format of FaxBIOS SYS_LOGOUT command buffer:
Offset	Size	Description	(Table 02935)
 00h	WORD	structure size
 02h	WORD	function number
 04h	WORD	return code
 06h	WORD	client ID
 08h	DWORD	client tag (for client's internal use)
 0Ch  6 BYTEs	future expansion
 12h	WORD	structure size

Format of FaxBIOS SYS_GET_FAXAPP_INFO command buffer:
Offset	Size	Description	(Table 02936)
 00h 12 BYTEs	common data (see #02935)
 0Ch 80 BYTEs	FaxBIOS data
 5Ch 80 BYTEs	default cover
 ACh 80 BYTEs	default logo
 FCh 80 BYTEs	default signature
14Ch 80 BYTEs	default font 10
19Ch 80 BYTEs	default font 165
1ECh 80 BYTEs	default user font
23Ch 80 BYTEs	default Pdir
28Ch 80 BYTEs	default sort
2DCh 10 BYTEs	default bill
2E6h 10 BYTEs	default route
2F0h 40 BYTEs	default cover sheet form
318h 34 BYTEs	valid dial characters
33Ah  6 BYTEs	local country code
340h  6 BYTEs	local city or area code
346h  6 BYTEs	future expansion
34Ch	WORD	structure size

Format of FaxBIOS STAT_IO_GET command buffer:
Offset	Size	Description	(Table 02937)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	device number
 0Eh	WORD	current activity
 10h	WORD	number of rings (if ringing)
 12h	WORD	number of fascimiles transmitted
 14h	WORD	number of fascimiles received
 16h	WORD	status of last transmission
 18h	WORD	envelope number of last transmission
 1Ah	WORD	index of last destination in envelope
 1Ch	WORD	status of last reception
 1Eh	WORD	current page (if session in progress)
 20h 80 BYTEs	current file
 70h 104 BYTEs	remote number
 D8h 20 BYTEs	last name
 ECh 20 BYTEs	first name
100h 32 BYTEs	company name
120h 32 BYTEs	notes
140h	WORD	current envelope ID (if sending)
142h	WORD	total pages in transmission (if sending)
144h  6 BYTEs	future expansion
14h	WORD	structure size

Format of FaxBIOS STAT_FAXBIOS_GET command buffer:
Offset	Size	Description	(Table 02938)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	status ID
 0Eh	WORD	currenty FaxBIOS function number
 10h	WORD	current Client ID being serviced
 12h	WORD	number of things to do
 14h	WORD	number of them done
 16h	WORD	number of pages to do (if any)
 18h	WORD	number of them done
 1Ah	WORD	number of files to do
 1Ch	WORD	number of them done
 1Eh 80 BYTEs	current File
 6Eh	WORD	0 if all devices are idle
 70h	WORD	number of fascimiles transmitted
 72h	WORD	number of fascimiles received
 74h	WORD	status of last transmission in system
 76h	WORD	envelope ID of last transmission
 78h	WORD	index of last destination in envelope
 7Ah	WORD	status of last reception in system
 7Ch	DWORD	time of next transmission
 80h  6 BYTEs	future expansion
 86h	WORD	structure size

Format of FaxBIOS PDIR_OPEN command buffer:
Offset	Size	Description	(Table 02939)
 00h 12 BYTEs	common data (see #02935)
 0Ch 80 BYTEs	Phone Directory token
 5Ch 80 BYTEs	sort order token
 ACh	WORD	open Mode (0 = read, 1 = write)
 AEh	WORD	Phone Directory handle
 B0h	WORD	number of people
 B2h	WORD	number of groups
 B4h	WORD	bitmap of fields supported by partial read
 B6h  6 BYTEs	future expansion
 BCh	WORD	structure size

Format of FaxBIOS PDIR_CLOSE command buffer:
Offset	Size	Description	(Table 02940)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	Phone Directory handle
 0Eh  6 BYTEs	future expansion
 14h	WORD	structure size

Format of FaxBIOS PDIR_READ_PERSON command buffer:
Offset	Size	Description	(Table 02941)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	Phone Directory handle
 0Eh	WORD	retrieve by index
 10h	WORD	person ID or index
 12h	WORD	how many groups person is in
 14h	WORD	person ID
 16h 20 BYTEs	last name
 2Ah 20 BYTEs	first name
 3Eh 32 BYTEs	company
 5Eh 32 BYTEs	notes
 7Eh  6 BYTEs	FAX country code
 84h  6 BYTEs	FAX city/area code
 8Ah 14 BYTEs	FAX local number
 98h 14 BYTEs	FAX extension
 A6h 24 BYTEs	reserved
 BEh  6 BYTEs	voice country code
 C4h  6 BYTEs	voice city/area code
 CAh 14 BYTEs	voice local number
 D8h 14 BYTEs	voice extension
 E6h 24 BYTEs	reserved
 FEh 10 BYTEs	outbound routing information
108h 10 BYTEs	billing information, credit card etc
112h	DWORD	remote FAX capabilities
116h 21 BYTEs	T.30 poll code of FAX number
12Bh 15 BYTEs	reserved
13Ah  6 BYTEs	future expansion
140h	WORD	structure size

Format of FaxBIOS SCHED_OPEN, SCHED_CANCEL command buffer:
Offset	Size	Description	(Table 02942)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	scheduler handle
 0Eh  6 BYTEs	future expansion
 14h	WORD	structure size

Format of FaxBIOS SCHED_ADD_DEST command buffer:
Offset	Size	Description	(Table 02943)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	schedule handle
 0Eh	WORD	device number if manual send wanted
 10h	WORD	non-zero if poll desired
 12h	WORD	person ID
 14h 20 BYTEs	last name
 28h 20 BYTEs	first name
 3Ch 32 BYTEs	company
 5Ch 32 BYTEs	notes
 7Ch  6 BYTEs	FAX country code
 82h  6 BYTEs	FAX city/area code
 88h 14 BYTEs	FAX local number
 96h 14 BYTEs	FAX extension
 A4h 24 BYTEs	reserved
 BCh  6 BYTEs	voice country code
 C2h  6 BYTEs	voice city/area code
 C8h 14 BYTEs	voice local number
 D6h 14 BYTEs	voice extension
 E4h 24 BYTEs	reserved
 FCh 10 BYTEs	outbound routing information
106h 10 BYTEs	billing information, credit card etc
110h	DWORD	remote FAX capabilities
114h 21 BYTEs	T.30 poll code of FAX number
129h 15 BYTEs	reserved
138h  6 BYTEs	future expansion
13Eh	WORD	structure size
SeeAlso: #02944

Format of FaxBIOS SCHED_ADD_FILE command buffer:
Offset	Size	Description	(Table 02944)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	schedule handle
 0Eh	WORD	file type
		0000h unidentified
		0001h native file format
		0002h ASCII
		0003h FaxBIOS Tiff Class F
 10h 80 BYTEs	file name
 60h 80 BYTEs	font token
 B0h	WORD	conversion options bitmap
 B2h	WORD	resolution
		0000h standard 98 lines per inch, 204 dpi
		0001h fine 196 lines per inch, 204 dpi
		0002h Group4 300 dpi
		0003h Group4 400 dpi
 B4h	WORD	page length
		0000h 279 mm (11 in)
		0001h 297 mm (11.69 in)
		0002h 364 mm (14.33 in)
		0003h unlimited
 B6h	WORD	page width
		0000h 215 mm (8.46 in)
		0001h 255 mm (10.04 in)
		0002h 303 mm (11.93 in)
		0003h 151 mm (5.91 in)
		0004h 107 mm (4.21 in)
 B8h	WORD	binary file transfer specification
		0000h only as FAX
		0001h only as file (for non-faxable files)
		0002h as file when possible else FAX
 BAh	WORD	seam flag (nonzero for seam with next)
 BCh	WORD	delete flag (nonzero to delete when done)
 BEh  6 BYTEs	future expansion
 C4h	WORD	structure size
SeeAlso: #02943,#02945

Format of FaxBIOS SCHED_SET_PARAMS command buffer:
Offset	Size	Description	(Table 02945)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	scheduler handle
 0Eh	DWORD	time to send
 10h 10 BYTEs	priority token
 1Ch 80 BYTEs	logo file token
 6Ch 80 BYTEs	signature file token
 BCh 80 BYTEs	cover page token
10Ch 40 BYTEs	Subject text
134h 40 BYTEs	From text
15Ch	WORD	user ID
15Eh  6 BYTEs	future expansion
164h	WORD	structure size
SeeAlso: #02943,#02944,#02946

Format of FaxBIOS SCHED_CLOSE command buffer:
Offset	Size	Description	(Table 02946)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	scheduler handle
 0Eh	WORD	envelope ID generated
 10h  6 BYTEs	future expansion
 16h	WORD	structure size
SeeAlso: #02945

Format of FaxBIOS SLOG_OPEN, SLOG_CLOSE, RLOG_OPEN, RLOG_CLOSE command buffer:
Offset	Size	Description	(Table 02947)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	log handle
 0Eh	WORD	number of entries
 10h  6 BYTEs	future expansion
 16h	WORD	structure size

Format of FaxBIOS GRAPH_GET_FILE_TYPE command buffer:
Offset	Size	Description	(Table 02948)
 00h 12 BYTEs	common data (see #02935)
 0Ch 80 BYTEs	filename
 5Ch	WORD	file type
		0000h unidentified
		0001h native file format
		0002h ASCII
		0003h FaxBIOS Tiff Class F
 5Eh	WORD	bitmap of supported capabilities
 60h  6 BYTEs	future expansion
 66h	WORD	structure size
SeeAlso: #02949,#02950

Format of FaxBIOS GRAPH_CREATE_FILE command buffer:
Offset	Size	Description	(Table 02949)
 00h 12 BYTEs	common data (see #02935)
 0Ch 80 BYTEs	filename
 5Ch	WORD	graph handle
 5Eh  6 BYTEs	future expansion
 64h	WORD	structure size
SeeAlso: #02948,#02950,#02951

Format of FaxBIOS GRAPH_CLOSE_FILE, GRAPH_END_PAGE command buffer:
Offset	Size	Description	(Table 02950)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	graph handle
 0Eh  6 BYTEs	future expansion
 14h	WORD	structure size
SeeAlso: #02949,#02951

Format of FaxBIOS GRAPH_CREATE_PAGE command buffer:
Offset	Size	Description	(Table 02951)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	graph handle
 0Eh	WORD	resolution
 10h	WORD	page width
 12h  6 BYTEs	future expansion
 18h	WORD	structure size
SeeAlso: #02949,#02950,#02952

Format of FaxBIOS GRAPH_WRITE_PAGE command buffer:
Offset	Size	Description	(Table 02952)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	graph handle
 0Eh	DWORD	pointer to storage for image
 12h	WORD	band height in lines
 14h	WORD	width of page image in bytes
 16h	WORD	facsimile page width constant
 18h	WORD	width of page image in bits
 1Ah	WORD	number of bytes actually processed
 1Ch  6 BYTEs	future expansion
 22h	WORD	structure size
SeeAlso: #02951,#02953

Format of FaxBIOS GRAPH_OPEN_FILE command buffer:
Offset	Size	Description	(Table 02953)
 00h 12 BYTEs	common data (see #02935)
 0Ch 80 BYTEs	filename
 5Ch	WORD	file type
 5Eh	WORD	graph handle
 60h	WORD	number of pages
 62h  6 BYTEs	future expansion
 68h	WORD	structure size
SeeAlso: #02952,#02954

Format of FaxBIOS GRAPH_GOTO_PAGE command buffer:
Offset	Size	Description	(Table 02954)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	graph handle
 0Eh	WORD	page number
 10h	WORD	vertical resolution
 12h	WORD	page width
 14h	DWORD	page length
 18h  6 BYTEs	future expansion
 1Eh	WORD	structure size
SeeAlso: #02952,#02953,#02955

Format of FaxBIOS GRAPH_READ_PAGE command buffer:
Offset	Size	Description	(Table 02955)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	graph handle
 0Eh	DWORD	pointer to storage for image
 12h	WORD	band height in lines
 14h	WORD	width of page image in bytes
 16h	WORD	facsimile page width constant
 18h	WORD	width of page image in bits
 1Ah	WORD	number of bytes actually processed
 1Ch  6 BYTEs	future expansion
 22h	WORD	structure size

Format of FaxBIOS IOCTL_ANSWER_FAX command buffer:
Offset	Size	Description	(Table 02956)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	device number
 0Eh  6 BYTEs	future expansion
 14h	WORD	structure size
SeeAlso: #02957

Format of FaxBIOS IOCTL_DIAL command buffer:
Offset	Size	Description	(Table 02957)
 00h 12 BYTEs	common data (see #02935)
 0Ch	WORD	device number
 0Eh  6 BYTEs	country code
 14h  6 BYTEs	city or area code
 1Ah 14 BYTEs	local number
 28h 14 BYTEs	extension
 36h 14 BYTEs	reserved
 4Eh  6 BYTEs	future expansion
 54h	WORD	structure size
SeeAlso: #02956

Top
2F8100 - INT 2F U - Nanosoft, Inc. TurboNET redirector - INSTALLATION CHECK
INT 2F U - Nanosoft, Inc. TurboNET redirector - INSTALLATION CHECK
	AX = 8100h
Return: AL = FFh if installed
Program: TurboNET is a NetBIOS-based file redirector and server; a
	  demonstration version may be downloaded from Nanosoft's BBS
SeeAlso: AX=8000h"TurboNET"

Top
2F8101 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
	AX = 8101h
Return: AL = ???
	DL = ???

Top
2F8102 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
	AX = 8102h
Return: AL = ???
	DL = ???

Top
2F8103 - INT 2F U - Nanosoft, Inc. TurboNET redirector - GET MACHINE NAME???
INT 2F U - Nanosoft, Inc. TurboNET redirector - GET MACHINE NAME???
	AX = 8103h
	ES:DI -> 17-byte buffer
Return: buffer filled

Top
2F8104 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
	AX = 8104h
	BL = ???
	BH = ???
	CX = ???
	DX = ???
	DS:SI -> 16-byte buffer containing ???
Return: AL = 00h ???

Top
2F8105 - INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
INT 2F U - Nanosoft, Inc. TurboNET redirector - ???
	AX = 8105h
	CX = ??? (don't change current value if 0000h)
	DX = ??? (don't change current value if 0000h)
Return: AL = 00h successful

Top
2F8200 - INT 2F - RESPLAY - SAMPLE/PLAYBACK
INT 2F - RESPLAY - SAMPLE/PLAYBACK
	AX = 8200h
	DX:DI -> start of sample space
	CX:BX = length in bytes
Return: AX = status (see #02958)
Program: RESPLAY is a freeware sound sampling/playback utility by Mark J. Cox
SeeAlso: AX=8201h"RESPLAY",AX=8210h

(Table 02958)
Values for RESPLAY status:
 1000h	successful
 2000h	not initialized (see AX=8210h)
 other	RESPLAY not installed

Top
2F8200 - INT 2F U - Nanosoft, Inc. CAPDOS - INSTALLATION CHECK
INT 2F U - Nanosoft, Inc. CAPDOS - INSTALLATION CHECK
	AX = 8200h
Return: AL = FFh if installed
Program: CAPDOS is a TSR by Nanosoft, Inc. which allows INT 21h calls to be
	  captured and recorded for later analysis
SeeAlso: AX=8100h,AX=8201h"CAPDOS",AX=8202h"CAPDOS",AX=8203h"CAPDOS"
SeeAlso: AX=8204h"CAPDOS"

Top
2F8201 - INT 2F - RESPLAY - INSTALLATION CHECK
INT 2F - RESPLAY - INSTALLATION CHECK
	AX = 8201h
Return: AX = 7746h if installed
SeeAlso: AX=8202h"RESPLAY",AX=8210h

Top
2F8201 - INT 2F - Nanosoft, Inc. CAPDOS - CLEAR QUEUE
INT 2F - Nanosoft, Inc. CAPDOS - CLEAR QUEUE
	AX = 8201h
Note:	resets queue of captured INT 21 calls
SeeAlso: AX=8200h"CAPDOS"

Top
2F8202 - INT 2F - RESPLAY - UNINSTALL
INT 2F - RESPLAY - UNINSTALL
	AX = 8202h
Return: AX = status
	    1000h successful
SeeAlso: AX=8201h"RESPLAY",AX=8210h"RESPLAY"

Top
2F8202 - INT 2F - Nanosoft, Inc. CAPDOS - START COLLECTION
INT 2F - Nanosoft, Inc. CAPDOS - START COLLECTION
	AX = 8202h
SeeAlso: AX=8200h"CAPDOS",AX=8203h"CAPDOS"

Top
2F8203 - INT 2F - Nanosoft, Inc. CAPDOS - STOP COLLECTION
INT 2F - Nanosoft, Inc. CAPDOS - STOP COLLECTION
	AX = 8203h
SeeAlso: AX=8200h"CAPDOS",AX=8202h"CAPDOS",AX=8204h"CAPDOS"

Top
2F8204 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE PARAMETERS
INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE PARAMETERS
	AX = 8204h
Return: AH = flag: queue wrapped if nonzero
	BX = index of current start of queue
	CX = size of queue in entries
SeeAlso: AX=8200h"CAPDOS",AX=8202h"CAPDOS",AX=8205h"CAPDOS"

Top
2F8205 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE ITEM
INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE ITEM
	AX = 8205h
	BX = queue item number
Return: AX,BX,CX,DX,SI,DI,DS,ES as on entry to captured DOS call
SeeAlso: AX=8200h"CAPDOS",AX=8204h"CAPDOS"

Top
2F8210 - INT 2F - RESPLAY - INITIALIZE
INT 2F - RESPLAY - INITIALIZE
	AX = 8210h
	BL = sound device number (see #02959)
	BH = sample rate in multiples of 250 Hz (14h to A0h)
	CL = direction
	    00h playback
	    01h sample
Return: AX = status (see #02958)
SeeAlso: AX=8200h"RESPLAY",AX=8220h"MODRES"

(Table 02959)
Values for RESPLAY sound device:
 00h	printer port LPT1
 01h	printer port LPT2
 02h	prototype board at I/O address 0300h
 03h	printer port (alternative LPT1)
 04h	internal speaker

Top
2F8220 - INT 2F - MODRES - PLAY MODULE
INT 2F - MODRES - PLAY MODULE
	AX = 8220h
	DX:CX -> MODPARM structure (see #02960)
Return: AX = status
	    5722h succesful
	    2000h parameters out of range
	    other MODRES not installed
SeeAlso: AX=8221h,AX=8223h,AX=8225h,AX=8227h,AX=8200h"RESPLAY"

Format of MODPARM Structure:
Offset	Size	Description	(Table 02960)
 00h	WORD	signature 504Dh ("MP" = Modparm)
 02h	BYTE	output device (see #02962 at INT 2F/AX=8221h)
 03h	WORD	segment of start of main module (pattern) data
 05h 31	WORDs	segment of start of sample numbers 1-31
 43h	BYTE	pattern at which to start playing (00h to 7Fh)
 44h	BYTE	function
		00h play from pattern [offset 43h] until end of the song
		01h play indicated pattern [offset 43h] only
 45h	BYTE	Machine speed
		00h 10-12Mhz
		01h 12-25Mhz (default)
		02h 25Mhz+
		03h mix speed 10kHz (fast 8Mhz machines)
		04h mix speed 12kHz (10Mhz machines)
		05h mix speed 13kHz
		06h mix speed 8kHz (test for 8Mhz machines)
 46h	BYTE	allow >64k sample playing
		80h MOD has samples >64k in it
		else all samples in MOD are <64k
Notes:	Main module data and all samples must start on segment boundaries.
	In version 2.00 (ONLY) this function carries on playing (works in
	  the background)
SeeAlso: #02961

Top
2F8221 - INT 2F - MODRES - INSTALLATION CHECK
INT 2F - MODRES - INSTALLATION CHECK
	AX = 8221h
Return: AX = status
	    5722h successful
	    other MODRES not installed
	BX = BCD version number (BH = major, BL = minor)
	DX:CX -> Output Device structure (read-only) (see #02961)
SeeAlso: AX=8220h,AX=8222h,AX=8225h,AX=8227h

Format of Output Device structure [array]:
Offset	Size	Description	(Table 02961)
 00h 20 BYTEs	ASCIZ name of the output device
		(end of list if first char is FFh)
 14h	WORD	apparently always FFFFh
 16h	WORD	0000h if output device not available
		else first I/O port for the output device
 18h	WORD	second I/O port for the output device (for example
		  if it is stereo)
		000oh if only one port used or device is not available
 1Ah  7 BYTEs	???
SeeAlso: #02960,#02962

(Table 02962)
Values for MODRES v1.52 output device index:
 00h	PC speaker
 01h	D/A Converter on LPT1
 02h	D/A Converter on LPT2
 03h	D/A Converter on LPT3
 04h	D/A Converter on LPT4
 05h	D/A Converter on LPT1&LPT2 (stereo)
 06h	D/A Converter on LPT1&LPT2 (mono)
 07h	Sound Blaster (port 02x0h)
 08h	User Defined D/A (mono)
 09h	User Defined D/A (stereo)
 0Ah	Stereo-on-1
 0Bh	Disney SS su LPT1
 0Ch	Disney SS su LPT2
 0Dh	Disney SS su LPT3
 0Eh	Disney SS su LPT4
Note:	this list may vary between versions of MODRES

Top
2F8222 - INT 2F - MODRES - UNINSTALL
INT 2F - MODRES - UNINSTALL
	AX = 8222h
Return: AX = code segment of the program
Note:	this function does not release the TSRs memory; the caller must do so
SeeAlso: AX=8220h,AX=8221h,AX=8223h

Top
2F8223 - INT 2F - MODRES - PLAY SAMPLE
INT 2F - MODRES - PLAY SAMPLE
	AX = 8223h
	DX:CX -> SAMPARM structure (see #02963)
Return: AX = status
	    5722h succesful
	    2000h parameters out of range
	    other MODRES not installed
SeeAlso: AX=8221h,AX=8224h,AX=8225h,AX=8226h

Format of SAMPARM Structure:
Offset	Size	Description	(Table 02963)
 00h	WORD	signature 5053h ("SP" = SAMPARM)
 02h	WORD	segment of start of sample to play
 04h	WORD	length of sample (IN WORD)
 06h	BYTE	output device (see #02962 at INT 2F/AX=8221h)
 07h	WORD	pitch to play (see #02964)
 09h	BYTE	volume (from 00h to 40h)
 0Ah	WORD	loop start
 0Ch	WORD	loop length
 0Eh	BYTE	machine speed (see INT 2F/AX=8220h)
SeeAlso: #02960

(Table 02964)
Values for Pitch to play::
 C 0 is	06B0h
 C#0 is	06B0h / 2^(1/12)
 D 0 is	(06B0h / 2^(1/12)) / 2^(1/12)
 ...
Note:	C 1 is	06B0h / 2
	C 2 is	06B0h / 4
	etc.
SeeAlso: #02963

Top
2F8224 - INT 2F - MODRES - ???
INT 2F - MODRES - ???
	AX = 8224h
	DX:CX -> ???
Return: ???
SeeAlso: AX=8221h,AX=8223h,AX=8224h

Top
2F8225 - INT 2F - MODRES v2.00+ - GET LOCATION IN MOD
INT 2F - MODRES v2.00+ - GET LOCATION IN MOD
	AX = 8225h
Return: AL = status
	   00h playing
	   01h reached end or stopped
	AH = speed of MOD
	BX = position within pattern 0000h-0400h
	CL = position within the song (track number)
SeeAlso: AX=8220h,AX=8221h,AX=8223h,AX=8226h

Top
2F8226 - INT 2F - MODRES v2.00+ - STOP PLAYING
INT 2F - MODRES v2.00+ - STOP PLAYING
	AX = 8226h
Return: AX = status
	    5722h succesful
	    other MODRES not installed
Desc:	stops playing the MOD file before performing critical operations such
	  as disk accesses
SeeAlso: AX=8220h,AX=8221h,AX=8223h,AX=8225h,AX=8227h

Top
2F8227 - INT 2F - MODRES - CONFIGURE
INT 2F - MODRES - CONFIGURE
	AX = 8227h
	BX = function
	    0001h set default playing speed (06h)
	    0002h select output device
		CL = output device (see #02962 at INT 2F/AX=8221h)
Return: AX = status
	    5722h succesful
	    2000h parameters out of range
	    other MODRES not installed
Note:	function 0001h should be called every time a new module is loaded
SeeAlso: AX=8220h,AX=8221h,AX=8222h,AX=8223h

Top
2F86 - INT 2F U - ???
INT 2F U - ???
	AH = 86h
	AL = function (at least 06h and 07h)
	???
Return: ???
Note:	called by Codeview for Windows
SeeAlso: AH=44h

Top
2F8900 - INT 2F - WHOA!.COM - INSTALLATION CHECK
INT 2F - WHOA!.COM - INSTALLATION CHECK
	AX = 8900h
Return: AL = state
	    00h not installed
	    FFh installed
Program: WHOA!.COM is a system slow-down utility by Brad D Crandall
SeeAlso: AX=8901h,AX=8902h

Top
2F8901 - INT 2F - WHOA!.COM - UNINSTALL
INT 2F - WHOA!.COM - UNINSTALL
	AX = 8901h
Return: AL = status
	    FDh successful
	    FEh error
SeeAlso: AX=8900h

Top
2F8902 - INT 2F - WHOA!.COM - SET DELAY COUNT
INT 2F - WHOA!.COM - SET DELAY COUNT
	AX = 8902h
	BX = delay count (larger values slow system down more)
Return: AL = status
	    FDh successful
	    FEh error
Program: WHOA!.COM is a system slow-down utility by Brad D Crandall
SeeAlso: AX=8900h

Top
2F9000 - INT 2F U - RAID - INSTALLATION CHECK
INT 2F U - RAID - INSTALLATION CHECK
	AX = 9000h
Return: AL = FFh if installed
Program: RAID (Resident AID) is a TSR utility program by Ross Neilson
	  Wentworth that resides mostly in EMS

Top
2F9001 - INT 2F U - RAID - GET ???
INT 2F U - RAID - GET ???
	AX = 9001h
Return: DX:AX -> ???
SeeAlso: AX=9000h

Top
2F9002 - INT 2F U - RAID - GET RESIDENT SEGMENT
INT 2F U - RAID - GET RESIDENT SEGMENT
	AX = 9002h
Return: AX = segment of resident (conventional memory) portion
SeeAlso: AX=9000h

Top
2F9003 - INT 2F U - RAID - UNINSTALL
INT 2F U - RAID - UNINSTALL
	AX = 9003h
Return: ???
SeeAlso: AX=9000h

Top
2F9004 - INT 2F U - RAID - GET ???
INT 2F U - RAID - GET ???
	AX = 9004h
Return: AX = first available paragraph past end of resident portion???
	CX destroyed
SeeAlso: AX=9000h

Top
2F92 - INT 2F - Network Courier E-Mail - API
INT 2F - Network Courier E-Mail - API
	AH = 92h
	AL = function
	    00h installation check
	    01h uninstall
	    02h pop down MICRO.EXE notification window
	    03h ???
	    04h ???
	    05h ???
Return: ???
Program: The Network Courier is an electronic mail package by Consumers
	  Software of Vancouver, BC which was bought by Microsoft in 1991 and
	  renamed Microsoft Mail v3.0.
SeeAlso: AX=9400h,AX=9401h,AX=9402h,AH=9Ch
Index:	installation check;Network Courier E-Mail
Index:	uninstall;Network Courier E-Mail

Top
2F9200 - INT 2F U - PC Tools v8.0 DRIVEMAP - BUG
INT 2F U - PC Tools v8.0 DRIVEMAP - BUG
	AX = 9200h
Program: DRIVEMAP is a redirector which allows drives on computers connected
	  over the parallel or serial ports to appear as local drives
BUG:	jumps to data because jump table entry is 0000h
Note:	DRIVEMAP returns AX=FFFFh if not a valid function number in AL

Top
2F9201 - INT 2F U - PC Tools v8.0 DRIVEMAP - CHECK IF MAPPED DRIVE
INT 2F U - PC Tools v8.0 DRIVEMAP - CHECK IF MAPPED DRIVE
	AX = 9201h
	DL = drive number (01h = A:, etc.)
Return: AL = 92h if mapped drive
	AH may be destroyed (v8.0 DRIVEMAP returns AX=0000h if not mapped)
SeeAlso: AX=9204h,AX=920Bh

Top
2F9202 - INT 2F U - PC Tools v8.0 DRIVEMAP - UNINSTALL
INT 2F U - PC Tools v8.0 DRIVEMAP - UNINSTALL
	AX = 9202h
	BX = caller's CS
Return: AX = status
	    0000h failed
	    nonzero successful
SeeAlso: AX=9204h

Top
2F9203 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET VERSION
INT 2F U - PC Tools v8.0 DRIVEMAP - GET VERSION
	AX = 9203h
Return: AH = major version
	AL = minor version
	CX = segment of resident code
Note:	the DRIVEMAP included with PC Tools v8.0 is version 1.00
SeeAlso: AX=9204h,INT 16/AX=FF70h

Top
2F9204 - INT 2F U - PC Tools v8.0 DRIVEMAP - INSTALLATION CHECK
INT 2F U - PC Tools v8.0 DRIVEMAP - INSTALLATION CHECK
	AX = 9204h
Return: AX = 9200h if installed
	   BL = ???
	   CX = segment of resident code
Program: DRIVEMAP is a redirector which allows drives on computers connected
	  over the parallel or serial ports to appear as local drives
SeeAlso: AX=9201h,AX=9202h,AX=9203h

Top
2F9205 - INT 2F U - PC Tools v8.0 DRIVEMAP - SET ???
INT 2F U - PC Tools v8.0 DRIVEMAP - SET ???
	AX = 9205h
	BX = ??? to set
Return: CX = new value of ???

Top
2F9206 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9206h
	???
Return: ???

Top
2F9207 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
	AX = 9207h
	???
Return: AX = ???

Top
2F9208 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9208h
	???
Return: ???

Top
2F9209 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9209h
	???
Return: AX = ???
	BX = ???
	CX = ???
	DX = ???

Top
2F920A - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 920Ah
	BX = ???
Return: AX = ??? or FFFBh on error

Top
2F920B - INT 2F U - PC Tools v8.0 DRIVEMAP - SET DRIVE MAPPING
INT 2F U - PC Tools v8.0 DRIVEMAP - SET DRIVE MAPPING
	AX = 920Bh
	BL = drive letter (41h ['A'] = A:, etc)
	CX = ??? (0000h removes mapping)
Return: AX = ??? or FFF8h on error
SeeAlso: AX=9201h,AX=920Dh

Top
2F920C - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 920Ch
	???
Return: AX = ??? (0002h)
	CX = ??? (0000h)

Top
2F920D - INT 2F U - PC Tools v8.0 DRIVEMAP - GET DRIVE TYPE
INT 2F U - PC Tools v8.0 DRIVEMAP - GET DRIVE TYPE
	AX = 920Dh
	BL = drive letter (41h ['A'] = A:, etc)
Return: AX = type flags
		bit 0: ???
		bit 1: available
		bit 5: local
	BX = ???
	CX = segment of resident code (apparently an unintended side effect)
Program: DRIVEMAP is a redirector which allows drives on computers connected
	  over the parallel or serial ports to appear as local drives
SeeAlso: AX=9218h,INT 16/AX=FF70h

Top
2F920E - INT 2F U - PC Tools v8.0 DRIVEMAP - SET LPT MAPPING
INT 2F U - PC Tools v8.0 DRIVEMAP - SET LPT MAPPING
	AX = 920Eh
	BX = port number (0-2)
	CX = ??? (0000h to unmap)
Return: ???

Top
2F920F - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
	AX = 920Fh
	ES:DI -> 3-byte buffer for ???
Return: CX = 0000h
	ES:DI buffer filled

Top
2F9210 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9210h
	???
Return: ???

Top
2F9211 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
	AX = 9211h
	ES:DI -> 8-word buffer for ???
Return: CX = 0000h
	ES:DI buffer filled

Top
2F9212 - INT 2F U - PC Tools v8.0 DRIVEMAP - CRITICAL SECTION???
INT 2F U - PC Tools v8.0 DRIVEMAP - CRITICAL SECTION???
	AX = 9212h
	BX = phase
	    0000h leave critical section???
	    nonzero enter critical section???

Top
2F9213 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9213h
	BX = function number (0000h-000Bh)
	???
Return: ???

Top
2F9214 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
	AX = 9214h
	ES:DI -> 6-word buffer for ???
Return: CX = 0000h
	AX = ???
	ES:DI buffer filled

Top
2F9215 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
	AX = 9215h
	ES:DI -> 100-word buffer for ???
Return: CX = 0000h
	ES:DI buffer filled

Top
2F9216 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9216h
	ES:DI -> ???
Return: ???

Top
2F9217 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9217h
	DS:SI -> 25-word buffer containing ???
Return: ???

Top
2F9218 - INT 2F U - PC Tools v8.0 DRIVEMAP - GET LPT TYPE???
INT 2F U - PC Tools v8.0 DRIVEMAP - GET LPT TYPE???
	AX = 9218h
	BX = port number???
Return: AX = ???
	BX = ??? (0000h)
	CX = ??? (0000h)
Program: DRIVEMAP is a redirector which allows drives on computers connected
	  over the parallel or serial ports to appear as local drives

Top
2F9219 - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 9219h
	???
Return: ???

Top
2F921A - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 921Ah
	???
Return: AH = ???
	AL = ???
	BX = ???

Top
2F921B - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 921Bh
	???
Return: AX = ???
	CX = segment of resident code (apparently an unintended side effect)

Top
2F921C - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 921Ch
	???
Return: ???

Top
2F921D - INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
INT 2F U - PC Tools v8.0 DRIVEMAP - GET ???
	AX = 921Dh
Return: AX = ???

Top
2F921E - INT 2F U - PC Tools v8.0 DRIVEMAP - ???
INT 2F U - PC Tools v8.0 DRIVEMAP - ???
	AX = 921Eh
	???
Return: ???
Program: DRIVEMAP is a redirector which allows drives on computers connected
	  over the parallel or serial ports to appear as local drives
Note:	this function sets two variables to 24h each
SeeAlso: INT 16/AX=FF70h

Top
2F93 - INT 2F - InnerMission v1.7+ - INSTALLATION CHECK
INT 2F - InnerMission v1.7+ - INSTALLATION CHECK
	AH = 93h
	BX = CX = AX
Return: AL = state
	    FFh if installed and BX=CX=AX on entry
		BX = segment of resident code
	    01h if installed but BX or CX differ from AX (multiplex number not
		  available)
Program: InnerMission is a shareware graphical screen blanker by Kevin Stokes
SeeAlso: INT 14/AX=AA01h,INT 2F/AX=6400h
Index:	screen saver;InnerMission

Top
2F9400 - INT 2F - MICRO.EXE - INSTALLATION CHECK
INT 2F - MICRO.EXE - INSTALLATION CHECK
	AX = 9400h
Return: AL = 07h or 08h if installed
Program: MICRO.EXE is a TSR of the Microsoft Mail part of Workgroup Connection
SeeAlso: AH=92h"Network Courier",AX=9401h,AX=9402h,AX=9403h,AX=9404h
SeeAlso: INT 21/AH=3Fh"WORKGRP.SYS"

Top
2F9401 - INT 2F - MICRO.EXE - SET ??? FLAG
INT 2F - MICRO.EXE - SET ??? FLAG
	AX = 9401h
SeeAlso: AX=9400h,AX=9403h

Top
2F9402 - INT 2F - MICRO.EXE - ???
INT 2F - MICRO.EXE - ???
	AX = 9402h
	???
Return: ???
SeeAlso: AX=9400h

Top
2F9403 - INT 2F - MICRO.EXE - SET ??? FLAG
INT 2F - MICRO.EXE - SET ??? FLAG
	AX = 9403h
SeeAlso: AX=9400h,AX=9404h

Top
2F9404 - INT 2F - MICRO.EXE - CLEAR ??? FLAG
INT 2F - MICRO.EXE - CLEAR ??? FLAG
	AX = 9404h
	ES:DI -> name of executable from which MICRO.EXE was started
Note:	if the specified name is identical to the name of the program file
	  from which MICRO was started, the ??? flag is cleared; otherwise,
	  it is left unchanged
SeeAlso: AX=9400h,AX=9403h

Top
2F96C7 - INT 2F U - STRETCH - INSTALLATION CHECK
INT 2F U - STRETCH - INSTALLATION CHECK
	AX = 96C7h
Return: AX = AAAAh if installed
Program: stretch.exe is a TSR for Toshiba Laptops with WD90C24 video chip
	  to avoid blank screen areas in VGA text modes by increasing
	  inter-line spacing

Top
2F97 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
	AH = 97h
	AL = function
	    00h installation check
		Return: AL = FFh if installed
	    08h get ???
		Return: AL = ???
			BX = ???
			DX = ???
			AH destroyed
	    20h get ???
		Return: AX:BX = far entry point of ???
			CX = segment of ???
	    80h ???
		Return: ???
Notes:	Micro Focus COBOL compiler v3.1.31 and companion programs supply
	  these functions for internal use; these programs call the
	  installation check at startup (before installing the INT 2F
	  handler) and crash the system if a not authorized program answers
	  with AL=FFh
	the handler checks AL only if an internal flag is 1, otherwise ???
SeeAlso: AH=98h"COBOL",AH=99h"COBOL",AH=9Ah"COBOL"

Top
2F98 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
	AH = 98h
	AL = function
	    00h installation check
		Return: AL = FFh if installed
	    10h get ???
		Return: AX = ???
	    18h get segment of ???
		Return: AX = segment of ???
	    19h get pointer to ???
		Return: AX:BX -> ???
Notes:	Micro Focus COBOL compiler v3.1.31 and companion programs supply
	  these functions for internal use; these programs call the
	  installation check at startup (before installing the INT 2F
	  handler) and crash the system if a not authorized program answers
	  with AL=FFh
	the handler checks AL only if an internal flag is 0, otherwise ???
SeeAlso: AH=97h"COBOL",AH=99h"COBOL",AH=9Ah"COBOL"

Top
2F9800 - INT 2F U - S3RMDRV.SYS - INSTALLATION CHECK / VERSION CHECK
INT 2F U - S3RMDRV.SYS - INSTALLATION CHECK / VERSION CHECK
	AX = 9800h
	BX = function
	    0000h installation check
		Return: AX = 524Dh ('RM') if installed
	    0001h get driver version
		Return: AX = driver version (AH=major, AL=BCD minor)
Program: S3RMDRV.SYS provides support for the S3 MPEG driver FMPDRV
SeeAlso: AX=9803h

Top
2F9803 - INT 2F U - S3RMDRV.SYS - COPY ??? INTO USER BUFFER
INT 2F U - S3RMDRV.SYS - COPY ??? INTO USER BUFFER
	AX = 9803h
	DX:BX -> 116-byte buffer for ASCIZ ???
Return: AX = 0000h
	DX:BX buffer filled with string stored in driver from its parameter
	  list when it was loaded
Note:	the examined version of the driver returns CF set for any AL other
	  than 00h or 03h
SeeAlso: AX=9800h

Top
2F99 - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
	AH = 99h
	???
Return: ???
Note:	used internally by Micro Focus COBOL compiler v3.1.31 and companion
	  programs
SeeAlso: AH=97h"COBOL",AH=98h"COBOL",AH=9Ah"COBOL"

Top
2F9900 - INT 2F U - DOS Navigator II - INSTALLATION CHECK
INT 2F U - DOS Navigator II - INSTALLATION CHECK
	AX = 9900h
Return: BX = 444Eh ('DN') if installed
	    AX = number of DOS Navigator executions
	    CL = child process exit code
	    DX = version number (see #02965)
Notes:	old versions of DOS Navigator II always returned AH=1, while newer
	  ones return AH=0 and store AL in the DN.FLG file
Program: DOS Navigator is a multi-window shell for MS-DOS by RIT S.R.L.
	  DOS Navigator(TM) is a registered trademark of RIT S.R.L.
SeeAlso: AX=9901h,AX=9902h,AX=9903h,AX=9904h,AX=9905h,AX=9906h

(Table 02965)
Values for DOS Navigator II version code:
 2100h	version 1.35
 2138h	version 1.38
 2141h	version 1.41
 2150h	version 1.50

Top
2F9901 - INT 2F U - DOS Navigator II - RETURN POINTER TO COMMAND LINE
INT 2F U - DOS Navigator II - RETURN POINTER TO COMMAND LINE
	AX = 9901h
Return: ES:BX -> command line (terminated with 0Dh)
	AX = ES
SeeAlso: AX=9900h,AX=9902h,AX=9903h

Top
2F9902 - INT 2F U - DOS Navigator II - SET 'TRUE' EXIT CODE OF DN.PRG
INT 2F U - DOS Navigator II - SET 'TRUE' EXIT CODE OF DN.PRG
	AX = 9902h
	CL = exit code
Return: AX destroyed
SeeAlso: AX=9900h,AX=9901h,AX=9903h

Top
2F9903 - INT 2F U - DOS Navigator II - SPECIFY HOW TO EXECUTE COMMANDS
INT 2F U - DOS Navigator II - SPECIFY HOW TO EXECUTE COMMANDS
	AX = 9903h
	CL = 1 to use INT 2E
	CL <> 1 to use INT 21/AH=4Bh
SeeAlso: AX=9900h,AX=9901h,AX=9902h

Top
2F9904 - INT 2F U - DOS Navigator II v1.49 - SET ???
INT 2F U - DOS Navigator II v1.49 - SET ???
	AX = 9904h
	CX:DX = new value for ???
SeeAlso: AX=9900h,AX=9905h,AX=9906h

Top
2F9905 - INT 2F U - DOS Navigator II v1.49 - GET ???
INT 2F U - DOS Navigator II v1.49 - GET ???
	AX = 9905h
Return: CX:DX = current value of ??? (set by AX=9904h)
SeeAlso: AX=9900h,AX=9904h,AX=9906h

Top
2F9906 - INT 2F U - DOS Navigator II v1.49 - GET ???
INT 2F U - DOS Navigator II v1.49 - GET ???
	AX = 9906h
	DX = new value for ??? (bit 15 must be set, otherwise not changed)
Return: CX = previous value for ???
SeeAlso: AX=9900h,AX=9904h,AX=9905h

Top
2F9A - INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
INT 2F U - Micro Focus COBOL v3.1.31 internal - ???
	AH = 9Ah
	???
Return: ???
Note:	used internally by Micro Focus COBOL compiler v3.1.31 and companion
	  programs
SeeAlso: AH=97h"COBOL",AH=98h"COBOL",AH=99h"COBOL"

Top
2F9C - INT 2F - Network Courier E-Mail OPERATOR.EXE - API
INT 2F - Network Courier E-Mail OPERATOR.EXE - API
	AH = 9Ch
	AL = subfunction
	    01h uninstall
Return: ???
Program: The Network Courier is an electronic mail package by Consumers
	  Software of Vancouver, BC which was bought by Microsoft in 1991 and
	  renamed Microsoft Mail v3.0.
SeeAlso: AH=92h
Index:	uninstall;Network Courier E-Mail OPERATOR.EXE

Top
2F9E00 - INT 2F U - INTMON v2.1 - INSTALLATION CHECK
INT 2F U - INTMON v2.1 - INSTALLATION CHECK
	AX = 9E00h
Return: AX = FFFFh if installed
	    BX = segment of resident code
Program: INTMON is a shareware interactive interrupt monitoring TSR for 386
	  and higher machines by Celso Minnitti, Jr.
SeeAlso: AX=9E01h,AX=9E02h,AX=9E03h,AX=9F00h

Top
2F9E01 - INT 2F U - INTMON v2.1 - RESET
INT 2F U - INTMON v2.1 - RESET
	AX = 9E01h
Return: ???
Desc:	this function specifies that INTMON should assume that any interrupts
	  on which it is currently awaiting a return have completed (i.e.
	  interrupts which never return such as INT 20 and INT 27)
SeeAlso: AX=9E00h,AX=9E03h

Top
2F9E02 - INT 2F U - INTMON v2.1 - DISPLAY CPU REGISTERS???
INT 2F U - INTMON v2.1 - DISPLAY CPU REGISTERS???
	AX = 9E02h
Return: ???
SeeAlso: AX=9E00h

Top
2F9E03 - INT 2F U - INTMON v2.1 - HOOK INTERRUPT???
INT 2F U - INTMON v2.1 - HOOK INTERRUPT???
	AX = 9E03h
	BH = interrupt number???
Return: ???
Note:	if AL > 03h on entry, INTMON 2.1 returns immediately
SeeAlso: AX=9E00h,AX=9E01h

Top
2F9F00 - INT 2F U - INTCFG v2.1 - INSTALLATION CHECK
INT 2F U - INTCFG v2.1 - INSTALLATION CHECK
	AX = 9F00h
Return: AX = FFFFh if installed
Program: INTCFG is an optionally-resident control program for INTMON by Celso
	  Minnitti, Jr.
SeeAlso: AX=9E00h,AX=9F01h,AX=9F30h,AX=9F49h

Top
2F9F01 - INT 2F U - INTCFG v2.1 - ???
INT 2F U - INTCFG v2.1 - ???
	AX = 9F01h
	???
Return: ???
SeeAlso: AX=9F00h

Top
2F9F30 - INT 2F U - INTCFG v2.1 - GET ???
INT 2F U - INTCFG v2.1 - GET ???
	AX = 9F30h
Return: AX = ??? (0002h)
SeeAlso: AX=9F00h

Top
2F9F49 - INT 2F U - INTCFG v2.1 - UNINSTALL
INT 2F U - INTCFG v2.1 - UNINSTALL
	AX = 9F49h
Return: AX,DX,DS,ES destroyed
SeeAlso: AX=9F00h

Top
2FA1--BX0081 - INT 2F - Ergo DOS extenders - INSTALLATION CHECK
INT 2F - Ergo DOS extenders - INSTALLATION CHECK
	AH = A1h
	BX = 0081h
	AL = which
	    FEh OS/286,OS/386
	    FFh HummingBoard DOS extender
	ES:DI -> 16-byte buffer
Return: if installed, first four bytes of ES:DI buffer are "IABH"
Note:	since TKERNEL is a licensed version, it is likely that subfunctions
	  BX=0082h and BX=0084h are present and function identically to the
	  AX=FBA1h/BX=008xh calls
SeeAlso: AX=ED00h,AX=FBA1h/BX=0081h,INT 15/AX=BF02h

Top
2FA189 - INT 2F U - Biologic HRAMDEV.SYS - API
INT 2F U - Biologic HRAMDEV.SYS - API
	AX = A189h
	BX = subfunction
	    0000h set ???
	    0001h remove ???
	    0002h get status ???
	    0003h enable ???
	    0004h disable ???
	    0005h set ??? flag
	    0006h clear ??? flag
	    0007h set ??? flag
	    0008h clear ??? flag
	    0009h set ???
	ES:DI -> function-specific arguments
		if func 0000h: 20-byte buffer containing ???
		if func 0001h: 20-byte buffer for returned ???
		if func 0002h: 16-byte buffer for returned ???
		if func 0009h: WORD containing ???
Return: BX = A189h if installed
	AH = status
	    00h successful
	    FFh failed or invalid function number
Program: HRAMDEV.SYS is a part of the shareware package HRAM by Biologic which
	  provides improved high memory access under MS-DOS 5.0
Note:	functions 00h and 01h use a stack of four entries; function 01h always
	  removes the values stored with the most recent function 00h call
	  which has not yet been matched with a function 01h call.

Top
2FA4E0 - INT 2F - Futurus Team - INSTALLATION CHECK
INT 2F - Futurus Team - INSTALLATION CHECK
	AX = A4E0h
Return: AL = 52h ("R") if installed
	    AH = major version plus 30h ("0")
	    ES:BX -> ??? (INT A4 handler???)
Note:	older versions of Right Hand Man (from which Team evolved) store the
	  signature "RH" at offset 103h in the INT 2F handler's segment
SeeAlso: INT A4"Right Hand Man"

Top
2FA900 - INT 2F - METZTSR.COM - INSTALLATION CHECK
INT 2F - METZTSR.COM - INSTALLATION CHECK
	AX = A900h
	CF set
Return: CF clear if resident
	    AX = 97FFh
	CF set if not present
Notes:	METZTSR.COM prevents METZ applications (such as the MAGIC screen
	  saver) inactivity timeout while running a DOSapp under MS Windows.
	the default multiplex number is A9h, but may be set to any value from
	  80h to FFh with a commandline switch
SeeAlso: AX=A901h,AX=A902h

Top
2FA901 - INT 2F - METZTSR.COM - GET TIME OF LAST KEYBOARD ACTIVITY
INT 2F - METZTSR.COM - GET TIME OF LAST KEYBOARD ACTIVITY
	AX = A901h
	CF set
Return: CF clear if successful
	    AX:DX = BIOS time at which INT 09 was last invoked
	CF set if not present
SeeAlso: INT 09,INT 1A/AH=00h

Top
2FA902 - INT 2F - METZTSR.COM - SET METZ Ctrl-Alt-Del FLAG
INT 2F - METZTSR.COM - SET METZ Ctrl-Alt-Del FLAG
	AX = A902h
	BL = new value
	    00h Ctrl-Alt-Del not allowed
	    else Ctrl-Alt-Del allowed (startup default is 01h)
	CF set
Return: CF clear if successful
	    AX = 97FFh
	CF set if not resident
SeeAlso: AX=A903h

Top
2FA903 - INT 2F - METZTSR.COM - GET METZ Ctrl-Alt-Del FLAG
INT 2F - METZTSR.COM - GET METZ Ctrl-Alt-Del FLAG
	AX = A903h
	CF set
Return: CF clear if successful
	    AX = 97FFh if Ctrl-Alt-Del allowed
	    AX = 0000h if Ctrl-Alt-Del not allowed
	CF set if not resident
SeeAlso: AX=A902h

Top
2FAA - INT 2F - Player's Tool 3.996b+ - UNINSTALL
INT 2F - Player's Tool 3.996b+ - UNINSTALL
	AH = AAh
Return: AL = status
	    00h unloaded successfully
	    01h unable to unload: in DOS shell
Program: Player's Tool is a game cheater by Dima Yakunin & Andy Robinson
SeeAlso: AH=ABh"Player's Tool",AH=ACh"Player's Tool",INT 10/AH=AAh

Top
2FAA00 - INT 2F - VIDCLOCK.COM - INSTALLATION CHECK
INT 2F - VIDCLOCK.COM - INSTALLATION CHECK
	AX = AA00h
Return: AL = 00h not installed
	     FFh installed
Program: VIDCLOCK.COM is a memory-resident clock by Thomas G. Hanlin III

Top
2FAB - INT 2F - Player's Tool 3.996b+ - INSTALLATION CHECK
INT 2F - Player's Tool 3.996b+ - INSTALLATION CHECK
	AH = ABh
Return: BH = FFh if installed
	    BL = DOS shell state
		01h in DOS shell
		00h not in DOS shell
SeeAlso: AH=AAh"Player's Tool",AH=ACh"Player's Tool",INT 10/AH=ABh

Top
2FAB00 - INT 2F - Btrieve Multi-User - INSTALLATION CHECK
INT 2F - Btrieve Multi-User - INSTALLATION CHECK
	AX = AB00h
Return: AL = 4Dh if installed
SeeAlso: AX=AB01h,AX=AB02h,INT 7B"Btrieve"

Top
2FAB00 - INT 2F - SRSoft MODAL PC v2+ - INSTALLATION CHECK / GET VERSION
INT 2F - SRSoft MODAL PC v2+ - INSTALLATION CHECK / GET VERSION
	AX = AB00h
Return: AX = 5253h ('SR' byte-swapped) if installed
	    BX = MODAL PC version (BL = major, BH = minor)
Program: MODAL PC is an algorithm/real-system simulation package by SR Soft
	  using Petri-nets to describe simulated objects
SeeAlso: AX=AB01h"MODAL",AX=AB02h"MODAL",AX=AB06h"MODAL"

Top
2FAB01 - INT 2F - Btrieve Multi-User - EXECUTE Btrieve OPERATION
INT 2F - Btrieve Multi-User - EXECUTE Btrieve OPERATION
	AX = AB01h
	BX = process ID
	DS:DX -> 38-byte parameter record (see #03840 at INT 7B"Btrieve")
Return: AL = status
	    00h OK
	    other retry after calling INT 7F/AX=0200h
SeeAlso: AX=AB00h"Btrieve",AX=AB02h"Btrieve",INT 7B"Btrieve",INT 7F/AX=0200h

Top
2FAB01 - INT 2F - SRSoft MODAL PC v2+ - GET PROCESS RUN PARAMETER
INT 2F - SRSoft MODAL PC v2+ - GET PROCESS RUN PARAMETER
	AX = AB01h
Return: AX = 5253h ('SR' byte-swapped) if installed
	BL = run parameter
	    00h normal process
	    01h run with tracing enabled
	    02h run initialization process (first thread of main task)
SeeAlso: AX=AB00h"MODAL",AX=AB02h"MODAL"

Top
2FAB02 - INT 2F - Btrieve Multi-User - GET NEW PROCESS ID
INT 2F - Btrieve Multi-User - GET NEW PROCESS ID
	AX = AB02h
Return: AL = 00h successful
	    BX = process ID
	AL > 00h failed, retry after calling INT 7F/AX=0200h
SeeAlso: AX=AB00h,AX=AB01h,INT 7B"Btrieve",INT 7F/AX=0200h

Top
2FAB02 - INT 2F - SRSoft MODAL PC v2+ - SET PROCESS EXIT CODE
INT 2F - SRSoft MODAL PC v2+ - SET PROCESS EXIT CODE
	AX = AB02h
	BL = exit code
Return: AX = 5253h ('SR' byte-swapped) if installed
SeeAlso: AX=AB00h"MODAL",AX=AB01h"MODAL",AX=AB03h"MODAL"

Top
2FAB03 - INT 2F - SRSoft MODAL PC v2+ - ALLOCATE COMMON MEMORY
INT 2F - SRSoft MODAL PC v2+ - ALLOCATE COMMON MEMORY
	AX = AB03h
	BX = required size of common memory for variables/semaphores in bytes
Return: AX = 5253h ('SR' byte-swapped) if installed
SeeAlso: AX=AB00h"MODAL",AX=AB02h"MODAL",AX=AB04h"MODAL"

Top
2FAB04 - INT 2F - SRSoft MODAL PC v2+ - GET ALL COMMON VARIABLES AND SEMAPHORES
INT 2F - SRSoft MODAL PC v2+ - GET ALL COMMON VARIABLES AND SEMAPHORES
	AX = AB04h
	DS:DX -> buffer for common data
Return: AX = 5253h ('SR' byte-swapped) if installed
	CF clear if successful
	CF set on error
SeeAlso: AX=AB00h"MODAL",AX=AB03h"MODAL",AX=AB05h"MODAL",AX=AB06h,AX=AB07h

Top
2FAB05 - INT 2F - SRSoft MODAL PC v2+ - SET ALL COMMON VARIABLES AND SEMAPHORES
INT 2F - SRSoft MODAL PC v2+ - SET ALL COMMON VARIABLES AND SEMAPHORES
	AX = AB05h
	DS:DX -> buffer containing common data
Return: AX = 5253h ('SR' byte-swapped) if installed
	CF clear if successful
	CF set on error
SeeAlso: AX=AB00h"MODAL",AX=AB03h"MODAL",AX=AB04h"MODAL",AX=AB06h,AX=AB07h

Top
2FAB06 - INT 2F - SRSoft MODAL PC v2+ - GET A COMMON VARIABLE OR SEMAPHORE
INT 2F - SRSoft MODAL PC v2+ - GET A COMMON VARIABLE OR SEMAPHORE
	AX = AB06h
	BX = offset of variable or semaphore in common memory
	CX = variable/semaphore size in bytes
	DS:DX -> buffer for variable or semaphore
Return: AX = 5253h ('SR' byte-swapped) if installed
	CF clear if successful
	CF set on error
SeeAlso: AX=AB00h"MODAL",AX=AB04h,AX=AB05h,AX=AB07h

Top
2FAB07 - INT 2F - SRSoft MODAL PC v2+ - SET A COMMON VARIABLE OR SEMAPHORE
INT 2F - SRSoft MODAL PC v2+ - SET A COMMON VARIABLE OR SEMAPHORE
	AX = AB07h
	BX = offset of variable or semaphore in common memory
	CX = variable/semaphore size in bytes
	DS:DX -> buffer containing variable or semaphore
Return: AX = 5253h ('SR' byte-swapped) if installed
	CF clear if successful
	CF set on error
SeeAlso: AX=AB00h"MODAL",AX=AB04h,AX=AB05h,AX=AB06h

Top
2FAC - INT 2F u - Player's Tool 3.996b+ - POP UP
INT 2F u - Player's Tool 3.996b+ - POP UP
	AH = ACh
Return: AX = 1001h
SeeAlso: AH=AAh"Player's Tool",AH=ABh"Player's Tool"

Top
2FAC00 - INT 2F - DOS 4.01+ GRAPHICS.COM - INSTALLATION CHECK
INT 2F - DOS 4.01+ GRAPHICS.COM - INSTALLATION CHECK
	AX = AC00h
Return: AX = FFFFh
	ES:DI -> ??? (graphics data?) (not documented)
Note:	this installation check was moved here to avoid the conflict with the
	  CD-ROM extensions that occurred in DOS 4.00
SeeAlso: AX=1500h"GRAPHICS"

Top
2FAC00DI1092 - INT 2F - QRIP/TSR - GIVE CPU TO QRIP
INT 2F - QRIP/TSR - GIVE CPU TO QRIP
	AX = AC00h
	DI = 1092h
Return: nothing
Program: QRIP/TSR is a shareware TSR by Shane Hathaway implementing the Remote
	  Imaging Protocol (RIP, RIPscrip) used by several BBS systems to
	  provide a graphical user interface
Desc:	give QRIP some CPU time to update music and flashing timers
Notes:	if DI <> 1092h on entry, QRIP chains the call
	this function should be called regularly whenever the terminal program
	  is otherwise idle; the updates are automatically performed on any
	  other QRIP call
SeeAlso: AX=AC01h,AX=ACF0h

Top
2FAC01DI1092 - INT 2F - QRIP/TSR - CHANGE INTERNAL FLAGS
INT 2F - QRIP/TSR - CHANGE INTERNAL FLAGS
	AX = AC01h
	DI = 1092h
	BX = flags to be turned on (see #02966)
	CX = flags to be turned off (see #02966)
Return: AX = 9142h if installed
	    DX = DOS-takeover flag (nonzero if QRIP able to take over DOS)
	    ---if DX nonzero---
	    BX = QRIP version number in hex (BH = major, BL = minor)
	    CX = new flags (see #02966)
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC00h/DI=1092h,AX=ACF0h

Bitfields for QRIP internal flags:
Bit(s)	Description	(Table 02966)
 0	ANSI emulation enabled (default on)
 1	RIP emulation enabled (default on)
 2	graphical commands allowed (default on)
 3	TTY text allowed (default on)
 4	disable @ variables (default off in TSR mode)
 5	wait for key on RIP "end scene" command (default off)
 6	anti-stripping (default off in TSR mode)
 7	sound enabled (default on)
 8	automatic message filter (default off in TSR mode)
 9	display-only mode (no user prompts)
 10	TTY text suppression (default off in TSR mode)
 11-15	reserved

Top
2FAC02DI1092 - INT 2F - QRIP/TSR - TURN OFF GRAPHICS SCREEN
INT 2F - QRIP/TSR - TURN OFF GRAPHICS SCREEN
	AX = AC02h
	DI = 1092h
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC03h,AX=ACF0h

Top
2FAC03DI1092 - INT 2F - QRIP/TSR - TURN ON GRAPHICS SCREEN
INT 2F - QRIP/TSR - TURN ON GRAPHICS SCREEN
	AX = AC03h
	DI = 1092h
Return: nothing
Notes:	if DI <> 1092h on entry, QRIP chains the call
	this function does not restore the contents of the screen (see AX=AC15h)
SeeAlso: AX=AC02h,AX=AC14h,AX=AC15h

Top
2FAC04DI1092 - INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
	AX = AC04h
	DI = 1092h
	DX:BX -> string
	CX = length of string
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC05h,AX=AC09h,AX=AC0Ah,AX=ACF0h

Top
2FAC05DI1092 - INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
	AX = AC05h
	DI = 1092h
	DX:BX -> ASCIZ string
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC04h,AX=AC06h,AX=AC09h,AX=AC0Ah,AX=ACF0h

Top
2FAC06DI1092 - INT 2F - QRIP/TSR - RECEIVE CHARACTERS FROM QRIP
INT 2F - QRIP/TSR - RECEIVE CHARACTERS FROM QRIP
	AX = AC06h
	DI = 1092h
Return: AX = character to send to BBS (0001h-00FFh) or special code (see #02967)
	BX = string-waiting flag
	    0001h entire string waiting to be sent to terminal (call AX=AC0Ch)
	CX = DX = AX
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC04h,AX=AC05h,AX=AC0Ch,AX=AC16h,AX=AC18h,AX=AC1Ah

(Table 02967)
Values for QRIP special codes:
 0000h	if none
 0100h	wait for user keypress (must call AX=AC16h/BL=00h or AX=AC18h)
 0101h	both/middle mouse button pressed
 0102h	entering block mode (up/download) (call AX=AC1Ah)
 0103h	right mouse button pressed
 0104h	BBS requested status bar on
 0105h	BBS requested status bar off
 0106h	BBS requested VT-102 terminal emulation
	(keypad keys should send VT-102 escape codes)
 0107h	BBS requested VT-102 mode off
 0108h	BBS requested doorway mode (raw IBM keyboard ASCII/scan code pairs)
 0109h	BBS requested doorway mode off
 010Ah	hotkey mode on
 010Bh	hotkey mode off
 010Ch	BBS requested Tab-key button changing on
 010Dh	BBS requested Tab-key mode off
 010Eh	XOFF (use flow control to stop incoming characters)
 010Fh	XON (use flow control to resume incoming characters)
 0110h-0119h BBS requested application (0-9) be run
	application 0 should be a standard text editor
 01FFh	send ASCII 00h to BBS
Note:	for special codes 0104h to 010Dh, the terminal program should report
	  any mode changes it make in response by calling AX=AC16h

Top
2FAC07DI1092 - INT 2F - QRIP/TSR - GET FONT DIRECTORY
INT 2F - QRIP/TSR - GET FONT DIRECTORY
	AX = AC07h
	DI = 1092h
Return: DX:BX -> 80-byte internal buffer containing ASCIZ font directory name
Notes:	if DI <> 1092h on entry, QRIP chains the call
	the application may change the font directory by overwriting the
	  returned buffer, ensuring that it does not exceed 80 bytes incl. NUL
	if changed, the new path will not become effective until the graphics
	  screen is reinitialized
SeeAlso: AX=AC08h,AX=ACF0h

Top
2FAC08DI1092 - INT 2F - QRIP/TSR - GET ICON DIRECTORY
INT 2F - QRIP/TSR - GET ICON DIRECTORY
	AX = AC08h
	DI = 1092h
Return: DX:BX -> 80-byte internal buffer containing ASCIZ icon directory name
Notes:	if DI <> 1092h on entry, QRIP chains the call
	the application may change the icon directory by overwriting the
	  returned buffer, ensuring that it does not exceed 80 bytes incl. NUL,
	  and includes a trailing backslash
	if changed, the new path becomes effective immediately
SeeAlso: AX=AC07h,AX=ACF0h

Top
2FAC09DI1092 - INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
INT 2F - QRIP/TSR - OUTPUT STRING THROUGH QRIP
	AX = AC09h
	DI = 1092h
	DX:BX -> string
	CX = length of string
Return: AX = character to send to BBS (0001h-00FFh) or special code (see #02967)
	BX = string-waiting flag
	    0001h entire string waiting to be sent to terminal (call AX=AC0Ch)
	CX = DX = AX
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC04h,AX=AC06h,AX=AC0Ah,AX=ACF0h

Top
2FAC0ADI1092 - INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
INT 2F - QRIP/TSR - OUTPUT NULL-TERMINATED STRING THROUGH QRIP
	AX = AC0Ah
	DI = 1092h
	DX:BX -> ASCIZ string
Return: AX = character to send to BBS (0001h-00FFh) or special code (see #02967)
	BX = string-waiting flag
	    0001h entire string waiting to be sent to terminal (call AX=AC0Ch)
	CX = DX = AX
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC05h,AX=AC06h,AX=AC09h,AX=ACF0h

Top
2FAC0BDI1092 - INT 2F - QRIP/TSR - EXECUTE RIP "END SCENE" COMMAND
INT 2F - QRIP/TSR - EXECUTE RIP "END SCENE" COMMAND
	AX = AC0Bh
	DI = 1092h
Return: nothing
Notes:	if DI <> 1092h on entry, QRIP chains the call
	enables all mouse buttons and cancels the RIP timeout
SeeAlso: AX=AC01h,AX=AC04h,AX=ACF0h

Top
2FAC0CDI1092 - INT 2F - QRIP/TSR - GET STRING TO BE SENT TO BBS
INT 2F - QRIP/TSR - GET STRING TO BE SENT TO BBS
	AX = AC0Ch
	DI = 1092h
Return: AX = status
	    0000h nothing to be sent
	    0001h a string is waiting to be sent
		DX:BX -> string to be sent (may contain NULs)
		CX = length of string
	    0002h special code waiting (call AX=AC06h)
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC06h,AX=ACF0h

Top
2FAC0DDI1092 - INT 2F - QRIP/TSR - SET PROTECTED SCREEN AREA
INT 2F - QRIP/TSR - SET PROTECTED SCREEN AREA
	AX = AC0Dh
	DI = 1092h
	CL = number of text lines at bottom of screen to protect (00h = off)
	BL = attribute with which to fill area (bit 7 = high-int. background)
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC0Eh,AX=AC0Fh,AX=AC10h,AX=ACF0h

Top
2FAC0EDI1092 - INT 2F - QRIP/TSR - WRITE ASCIZ STRING IN PROTECTED AREA
INT 2F - QRIP/TSR - WRITE ASCIZ STRING IN PROTECTED AREA
	AX = AC0Eh
	DI = 1092h
	DX:BX -> ASCIZ string to be written
	CL = column at which to begin writing
	CH = row number within protected area (00h = first line)
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC0Dh,AX=AC0Fh,AX=AC10h,AX=ACF0h

Top
2FAC0FDI1092 - INT 2F - QRIP/TSR - SCROLL PROTECTED AREA
INT 2F - QRIP/TSR - SCROLL PROTECTED AREA
	AX = AC0Fh
	DI = 1092h
	BH,BL = row,column of upper-left corner in protected area
	DH,DL = row,column of lower-right corner
	CL = number of lines to scroll up
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC0Dh,AX=AC0Eh,AX=AC10h,AX=ACF0h

Top
2FAC10DI1092 - INT 2F - QRIP/TSR - SET OUTPUT COLOR FOR PROTECTED AREA
INT 2F - QRIP/TSR - SET OUTPUT COLOR FOR PROTECTED AREA
	AX = AC10h
	DI = 1092h
	BL = new attribute (bit 7 set for high-intensity background)
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC0Dh,AX=AC0Eh,AX=AC0Fh,AX=AC11h,AX=ACF0h

Top
2FAC11DI1092 - INT 2F - QRIP/TSR - CONVERT PROTECTED AREA TO ENTIRE SCREEN
INT 2F - QRIP/TSR - CONVERT PROTECTED AREA TO ENTIRE SCREEN
	AX = AC11h
	DI = 1092h
	BX = mode (0000h = normal protect, 0001h = allow full-screen access)
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC0Dh,AX=AC0Eh,AX=AC0Fh,AX=AC10h,AX=AC12h,AX=ACF0h

Top
2FAC12DI1092 - INT 2F - QRIP/TSR - BEGIN POPUP-WINDOW MODE
INT 2F - QRIP/TSR - BEGIN POPUP-WINDOW MODE
	AX = AC12h
	DI = 1092h
Return: nothing
Notes:	if DI <> 1092h on entry, QRIP chains the call
	while popup-mode is in effect, the terminal program can write to the
	  screen (and easily restore it) by outputting a RIP file with AX=AC04h
	  or AX=AC05h
	QRIP will automatically drop out of popup-window mode if the terminal
	  program invokes RIP pick-lists
	any changes to the protected area will be restored when popup-window
	  mode is cancelled
SeeAlso: AX=AC04h,AX=AC11h,AX=AC13h,AX=ACF0h

Top
2FAC13DI1092 - INT 2F - QRIP/TSR - END POPUP-WINDOW MODE
INT 2F - QRIP/TSR - END POPUP-WINDOW MODE
	AX = AC13h
	DI = 1092h
Return: nothing
Notes:	if DI <> 1092h on entry, QRIP chains the call
	restores screen
SeeAlso: AX=AC12h,AX=ACF0h

Top
2FAC14DI1092 - INT 2F - QRIP/TSR - SAVE GRAPHICS SCREEN AND SWITCH TO TEXT MODE
INT 2F - QRIP/TSR - SAVE GRAPHICS SCREEN AND SWITCH TO TEXT MODE
	AX = AC14h
	DI = 1092h
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC03h,AX=AC15h

Top
2FAC15DI1092 - INT 2F - QRIP/TSR - RESTORE GRAPHICS SCREEN
INT 2F - QRIP/TSR - RESTORE GRAPHICS SCREEN
	AX = AC15h
	DI = 1092h
Return: nothing
Desc:	restores the graphics screen saved by the last call to AX=AC14h
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC03h,AX=AC14h

Top
2FAC16DI1092 - INT 2F - QRIP/TSR - REPORT MODE CHANGE TO QRIP
INT 2F - QRIP/TSR - REPORT MODE CHANGE TO QRIP
	AX = AC16h
	DI = 1092h
	BL = new mode
	    00h terminate key wait
	    01h status bar on
	    02h status bar off
	    03h VT-102 mode on
	    04h VT-102 mode off
	    05h doorway mode on
	    06h doorway mode off
	    07h hotkeys mode on
	    08h hotkeys mode off
	    09h tabkey mode on
	    0Ah tabkey mode off
Return: nothing
Notes:	if DI <> 1092h on entry, QRIP chains the call
	all modes default to OFF when QRIP is first installed

Top
2FAC17DI1092 - INT 2F - QRIP/TSR - CALL (EXECUTE) A RIP FILE
INT 2F - QRIP/TSR - CALL (EXECUTE) A RIP FILE
	AX = AC17h
	DI = 1092h
	DX:BX -> ASCIZ filename for RIP file to be executed
Return: nothing
Notes:	if DI <> 1092h on entry, QRIP chains the call
	the specified file may be in the current icon directory, the QRIP
	  startup directory, or the current directory; any pathnames specified
	  with the filename are ignored

Top
2FAC18DI1092 - INT 2F - QRIP/TSR - SEND USER KEY TO QRIP
INT 2F - QRIP/TSR - SEND USER KEY TO QRIP
	AX = AC18h
	DI = 1092h
	BX = key (00xxh is normal ASCII, xx00h is an extended key)
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC06h,AX=ACF0h

Top
2FAC19DI1092 - INT 2F - QRIP/TSR - HANGUP
INT 2F - QRIP/TSR - HANGUP
	AX = AC19h
	DI = 1092h
Return: nothing
Desc:	inform QRIP that carrier has been lost
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=ACF0h

Top
2FAC1ADI1092 - INT 2F - QRIP/TSR - GET RIP_ENTER_BLOCK_MODE INFORMATION
INT 2F - QRIP/TSR - GET RIP_ENTER_BLOCK_MODE INFORMATION
	AX = AC1Ah
	DI = 1092h
Return: AH = requested protocol (see #02968)
	AL = file type (see #02969)
	DX:BX -> ASCIZ filename or 0000h:0000h
	CX = length of filename
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=ACF0h

(Table 02968)
Values for QRIP protocol identifier:
 00h	Xmodem (checksum)
 01h	Xmodem-CRC
 02h	Xmodem-1K
 03h	Xmodem-1K-G
 04h	Kermit
 05h	Ymodem
 06h	Ymodem-G
 07h	Zmodem with crash recovery
 08h-0Fh same as 00h-07h, but for uploading instead of downloading
SeeAlso: #02969

(Table 02969)
Values for QRIP file type:
 00h	RIP file sequence to be displayed
 01h	RIP file sequence to be stored in icon directory
 02h	ICN file sequence to be stored in icon directory
 03h	HLP file sequence to be stored, then auto-loaded if needed
 04h	COMPOSITE DYNAMIC file sequence (batch protocols only)
 05h	ACTIVE DYNAMIC file sequence (batch protocols only)
Note:	for file types 04h and 05h, any .RIP or .ICN files are stored in
	  the icon directory; in mode 05h, any .RIP files are also played
	  back as they are received
SeeAlso: #02968

Top
2FAC1BDI1092 - INT 2F - QRIP/TSR - SET SYSTEM FONT SIZE
INT 2F - QRIP/TSR - SET SYSTEM FONT SIZE
	AX = AC1Bh
	DI = 1092h
	BX = font size (see #02970)
Return: nothing
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC04h,AX=ACF0h

(Table 02970)
Values for QRIP font size specifier:
 00h	8x8 font, 80x43 screen
 01h	7x8 font, 90x43 screen
 02h	8x14 font, 80x25 screen
 03h	7x14 font, 90x25 screen
 04h	16x14 font, 40x25 screen

Top
2FACF0DI1092 - INT 2F - QRIP/TSR - INSTALLATION CHECK
INT 2F - QRIP/TSR - INSTALLATION CHECK
	AX = ACF0h
	DI = 1092h
Return: AX = 9142h if installed
	    DX = DOS-takeover flag (nonzero if QRIP able to take over DOS)
	    ---if DX nonzero---
	    BX = QRIP version number in hex (BH = major, BL = minor)
	    CX = current flags (see AX=AC01h)
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=AC00h/DI=1092h,AX=AC01h,AX=AC04h,AX=AC06h,AX=AC1Ah,AX=ACFFh

Top
2FACFFDI1092 - INT 2F - QRIP/TSR - UNINSTALL
INT 2F - QRIP/TSR - UNINSTALL
	AX = ACFFh
	DI = 1092h
Return: AX = status
	    0000h unable to remove (interrupt vector hooked by another prog)
	    0001h successful
	    0002h unable to take over DOS at this time (retry uninstall)
Note:	if DI <> 1092h on entry, QRIP chains the call
SeeAlso: AX=ACF0h

Top
2FAD00 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - INSTALLATION CHECK
INT 2F U - DOS 3.3+ DISPLAY.SYS internal - INSTALLATION CHECK
	AX = AD00h
Return: AL = FFh if installed
	    BX = ??? (0100h for MS-DOS 3.3+)
Note:	DOS 5+ DISPLAY.SYS chains to previous handler if AL is not one of the
	  subfunctions listed here
SeeAlso: AX=AD01h"DISPLAY",AX=AD02h"DISPLAY"

Top
2FAD00 - INT 2F U - DR DOS 3.41-5.0, Novell DOS 7 KEYB - INSTALLATION CHECK
INT 2F U - DR DOS 3.41-5.0, Novell DOS 7 KEYB - INSTALLATION CHECK
	AX = AD00h
Return: AX = FFFFh if installed
	flags destroyed
Note:	the Novell DOS 7 KEYB driver only checks AL to determine whether it
	  is already installed
SeeAlso: AX=AD80h"Novell"

Top
2FAD01 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - SET ACTIVE CODE PAGE
INT 2F U - DOS 3.3+ DISPLAY.SYS internal - SET ACTIVE CODE PAGE
	AX = AD01h
	BX = new code page (see #01757 at INT 21/AX=6602h)
Return: CF clear if successful
	    AX = 0001h
	CF set on error (unsupported code page)
	    AX = 0000h
SeeAlso: AX=AD02h"DISPLAY"

Top
2FAD01 - INT 2F U - DR DOS 3.41,5.0 KEYB - GET CONFIGURATION
INT 2F U - DR DOS 3.41,5.0 KEYB - GET CONFIGURATION
	AX = AD01h
Return: BX = current code page (see #01757 at INT 21/AX=6602h)
	CX = current keyboard layout (0100h = US, 0102h = foreign)
	ES = resident code segment
SeeAlso: AX=AD01h"Novell",AX=AD00h"KEYB",AX=AD02h"KEYB",AX=AD83h"KEYB"

Top
2FAD01 - INT 2F U - Novell DOS 7 KEYB - GET/SET??? CONFIGURATION
INT 2F U - Novell DOS 7 KEYB - GET/SET??? CONFIGURATION
	AX = AD01h
	CX = ??? (0000h)
Return: AX = FFFFh if Novell DOS 7 KEYB installed
	BX = current code page (see #01757 at INT 21/AX=6602h)
	CX = current keyboard layout (0100h = US, 0102h = foreign)
	ES = resident code segment
SeeAlso: AX=AD01h"DR DOS",AX=AD00h"KEYB",AX=AD02h"KEYB",AX=AD83h"KEYB"

Top
2FAD02 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET ACTIVE CODE PAGE
INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET ACTIVE CODE PAGE
	AX = AD02h
Return: CF set if code page never set
	    AX = 0001h
	    BX = FFFFh (assume first hardware code page)
	CF clear if successful
	    BX = current code page (see #01757 at INT 21/AX=6602h)
SeeAlso: AX=AD01h"DISPLAY",AX=AD03h

Top
2FAD02 - INT 2F U - Novell DOS 7 KEYB - ???
INT 2F U - Novell DOS 7 KEYB - ???
	AX = AD02h
	DX = ??? (0000h)
Return: AX = FFFFh if installed
	flags destroyed
SeeAlso: AX=AD01h"KEYB"

Top
2FAD03 - INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET CODE PAGE INFORMATION
INT 2F U - DOS 3.3+ DISPLAY.SYS internal - GET CODE PAGE INFORMATION
	AX = AD03h
	ES:DI -> buffer for code page information (see #02971)
	CX = size of buffer in bytes
Return: CF set if buffer too small
	CF clear if successful
	    ES:DI buffer filled
SeeAlso: AX=AD01h,AX=AD02h

Format of DOS 5.0-6.0 DISPLAY.SYS code page information:
Offset	Size	Description	(Table 02971)
 00h	WORD	number of software code pages
 02h	WORD	??? (0003h)
 04h	WORD	number of hardware code pages
 06h  N WORDs	hardware code page numbers (see #01757 at INT 21/AX=6602h)
      N WORDs	software (prepared) code pages (FFFFh if not yet prepared)

Top
2FAD04 - INT 2F U - DOS 4.x only DISPLAY.SYS internal - ???
INT 2F U - DOS 4.x only DISPLAY.SYS internal - ???
	AX = AD04h
	???
Return: ???

Top
2FAD10 - INT 2F U - DOS 4.x DISPLAY.SYS internal - INSTALLATION CHECK???
INT 2F U - DOS 4.x DISPLAY.SYS internal - INSTALLATION CHECK???
	AX = AD10h
	???
Return: AX = FFFFh
	BX = ??? (0100h in PC-DOS 4.01)

Top
2FAD10 - INT 2F U - DOS 5+ DISPLAY.SYS internal - ???
INT 2F U - DOS 5+ DISPLAY.SYS internal - ???
	AX = AD10h
	???
Return: CF clear if successful
	CF set on error
Note:	this function is a NOP if the active code page has never been set
	  (AX=AD02h returns BX=FFFFh); its purpose otherwise is not known

Top
2FAD40 - INT 2F - DOS 4.0+ - ???
INT 2F - DOS 4.0+ - ???
	AX = AD40h
	DX = ???
	???
Return: ???
Note:	called by PC-DOS 4.01 PRINT.COM

Top
2FAD41 - INT 2F - Arabic/Hebrew DOS 5.0???+ - GET CURRENT FONTPAGE
INT 2F - Arabic/Hebrew DOS 5.0???+ - GET CURRENT FONTPAGE
	AX = AD41h
	(CX = 0000h)
Return: CX = current fontpage
Notes:	Called by Arabic/Hebrew MS-DOS 5.0 CODEPAGE.COM immediately before
	  a call to INT21h/6601h to get the current codepage.
	The function is probably implemented in the ARABIC.COM/HEBREW.COM
	  driver.
	The CX = 0 on call is not actually a requirement, but it should be
	  initialized this way to receive a fontpage 0 if ARABIC.COM/
	  HEBREW.COM is not loaded. A fontpage 0 indicated no fontpage
	  support. At least this is what CODEPAGE.COM assumes (by using
	  the CX=0 init status of a .COM program, when not being loaded
	  in DEBUG.)
	Some European clones have code page 850 as their hardware font instead
	  of code page 437
	!!!more details to follow
SeeAlso: AX=AD42h,AX=AD43h

Top
2FAD42 - INT 2F - Arabic/Hebrew DOS 5.0???+ SET CURRENT FONTPAGE
INT 2F - Arabic/Hebrew DOS 5.0???+ SET CURRENT FONTPAGE
	AX = AD42h
	CX = fontpage (> 0)
Return: ???
Note:	called by Arabic/Hebrew MS-DOS 5.0 CODEPAGE.COM almost immediately
	  before a call to INT21h/6602h to set the current codepage
	  (without checking any possible error codes returned from the call).
	The function is probably implemented in the ARABIC.COM/HEBREW.COM
	  driver.
SeeAlso: AX=AD41h,AX=AD43h,INT 21/AX=6601h,INT 21/AX=6602h

Top
2FAD43 - INT 2F - Arabic/Hebrew DOS 5.0???+ - GET FONTPAGE STATUS???
INT 2F - Arabic/Hebrew DOS 5.0???+ - GET FONTPAGE STATUS???
	AX = AD43h
Return: AL = status
	    00h successful
	    01h-0Ah codepage info not found
	    0Bh bad codepage info file
	    0Ch font page not found or not available with codepage
	    else device prepare error
Note:	called by Arabic/Hebrew MS-DOS 5.0 CODEPAGE.COM when the sequence
	  INT 2F/AX=AD42h & INT 21/AX=6602h to set fontpage & codepage returned
	  with CF set and AX <> 2, and the following INT 21/AH=59h returned
	  error code 41h (65) (that is, the codepage was prepared, but could
	  not be set).
SeeAlso: AX=AD41h,AX=AD42h,INT 21/AX=6601h,INT 21/AX=6602h

Top
2FAD80 - INT 2F u - MS-DOS 3.3+ KEYB.COM internal - INSTALLATION CHECK
INT 2F u - MS-DOS 3.3+ KEYB.COM internal - INSTALLATION CHECK
	AX = AD80h
Return: AL = FFh if installed
	    BX = version number (BH = major, BL = minor)
	    ES:DI -> internal data (see #02972)
	    AH destroyed (set to FFh by some implementations/versions)
Notes:	MS-DOS 3.30, PC-DOS 4.01, MS-DOS 5.00, and MS-DOS 6.22 all report
	  version 1.00.
	this function was undocumented prior to the release of DOS 5.0
	most versions of KEYB completely replace the BIOS INT 09 handler, but
	  Novell DOS's KEYB partially uses the BIOS code and thus continues
	  to chain to the original INT 09 at times
	some utilities check for AX=FFFFh on return
SeeAlso: AX=AD80h"Novell",AX=AD81h,AX=AD82h,AX=AD83h

Format of KEYB internal data:
Offset	Size	Description	(Table 02972)
 00h	DWORD	original INT 09
 04h	DWORD	original INT 2F
 08h	DWORD	unused (0) original INT 16 in older KEYB versions???
 0Ch	WORD	flags A (see #02973)
 0Eh	WORD	flags B (see #02974)
 10h	BYTE	flags??? (bit1 used)
 11h	BYTE	???
 12h  4 BYTEs	???
 16h  2 BYTEs	country ID letters, default is "US"
 18h	WORD	current code page (see #01757 at INT 21/AX=6602h)
---DOS 3.3---
 1Ah	WORD	pointer to first item in list of code page tables???
 1Ch	WORD	pointer to ??? item in list of code page tables
 1Eh  2 BYTEs	unused???
 20h	WORD	pointer to key translation data (see #02976)
 22h	WORD	pointer to last item in code page table list (see #02975)
 24h  9 BYTEs	???
---DOS 4.01---
 1Ah  2 BYTEs	???
 1Ch	WORD	pointer to first item in list of code page tables???
 1Eh	WORD	pointer to ??? item in list of code page tables
 20h 2 BYTEs	unused???
 22h	WORD	pointer to key translation data (see #02976)
 24h	WORD	pointer to last item in code page table list (see #02975)
 26h  9 BYTEs	???
---DOS 6.22--- (checked out with 6.22, but might be earlier)
 1Ah  2 BYTEs	???
 1Ch	WORD	pointer to current (first???) item in list of code page tables
		(corresponding to codepage indicated at offset 18h)
		(initial value is FFFFh)
 1Eh	WORD	pointer to (entry to) list of code page tables (see #02975)
		If not FFFFh, INT 2F/AX=AD81h scans this list of code page
		  tables until the requested code page was found in list or
		  end of table was reached (FFFFh). If found, offsets 18h and
		  1Ch will be changed to requested new code page. If not found,
		  it returns with AX=0001h 'code page not supported').
 20h	WORD	unused??? (initial value: FFFFh)
 22h	WORD	pointer to key translation data (see #02455)
 24h	WORD	pointer to last item in code page table list (see #02454)
 26h	WORD	CAPSLock/ShiftLock management flags??? (0)
		Note:	It appears that none of the bits is ever set inside
			  KEYBs code!
			  The following is guesswork:
		bit15: =1: With country specific keyboard mapping (<Ctrl>+
			  <Alt>+<F2>) active, <CapsLock> works as CAPSLock
			  instead of ShiftLock??? Pressing a key in first row
			  resets CapsLock???
			  (Effective only on PC Convertible or with Enhanced
			  keyboard).
		bit14-10:  unused (0)
		bit 9: =1: With country specific keyboard mapping active:
			  some kind of temporary (table) shift???
		bit 8-0: unused (0)
 28h	BYTE	unused (0)
 29h	BYTE	make code xx for <Ctrl>+<Alt>+<xx> to set keyboard mapping
		  to US-layout (default is 3Bh=<F1>???)
		  (see INT 2F/AX=AD82h,INT 2F/AX=AD83h)
 2Ah	BYTE	make code yy for <Ctrl>+<Alt>+<yy> to set keyboard mapping
		  to country specific layout (default is 3Ch=<F2>???),
		  (see INT 2F/AX=AD82h,INT 2F/AX=AD83h)
 2Bh 16 BYTEs	unused (0) ???
Note:	at least in MS-DOS v6.22, the signature "SHARED DATA" immediately
	  precedes this structure

Bitfields for MS-DOS v6.22 KEYB flags A:
Bit(s)	Description	(Table 02973)
 15	unused??? (0)
 14	set on machine with BIOS machine type FBh or FEh/FFh without enh kbd
 13	not FAh: ???
 12	set on start of machine detection, cleared on machine types F9h, FBh,
	  FEh, FFh
 11	not FAh: ???
	(on ATs: override bit12 NOT to set NumLock on)
 10	set on machine type F9h
 9	unused??? (0)
 8	unused??? (0)
 7	used by INT 09, but never set!
	=1: after keyboard self test resulting AAh, INT 09 handler will (re)set
	      keyboard code-set 1 and temporarily disable a PS/2 mouseport.
 6	used by INT09, but never set!
	=1: after keyboard self test resulting AAh, INT 09 handler will (re)set
	      keyboard code-set 1 and temporarily disable a PS/2 mouseport.
 5	set for JP, KO, PR, TA layouts during installation???
	=1: some special codepage (>932???) management???
 4-0	unused??? (0)
SeeAlso: #02974,MEM F000h:FFFEh,INT 15/AH=C0h

Bitfields for MS-DOS v6.22 KEYB flags B:
Bit(s)	Description	(Table 02974)
 15	INT 16/AH=1xh supported (INT 16h/AH=92h call returns AH<=80h)
	if clear, extended keyboard scan codes are immediately discarded
 14	INT 16/AH=2xh supported (INT 16h/AH=A2h call returns AH<=80h)
 13	unused (0)
 12	network installed (INT 2F/AX=B800h)
 11	original IBM PC (BIOS date 1981)
 10	PC or PC/XT (BIOS machine type byte of FBh or FEh)
 9	PC Convertible (BIOS machine type byte of F9h); use INT 15/AX=4104h
 8	unused (0)
 7	IBM PS/2 model 30 (BIOS machine type byte of FAh)
 6	IBM AT (BIOS machine type FCh)
 5	IBM PS/2 (BIOS machine type F8h)
 4	PS/2 and unknown only: non-standard 8042 reported by INT 15/AH=C0h
	=1: after keyboard self test resulting AAh, INT 09 handler will (re)set
	      keyboard code-set 1 and temporarily disable a PS/2 mouseport.
 3	temporary flag???
 2-0	???
SeeAlso: #02972,#02973

Format of code page table list entries:
Offset	Size	Description	(Table 02975)
 00h	WORD	pointer to next item, FFFFh = last
 02h	WORD	code page (see #01757 at INT 21/AX=6602h)
 04h  2 BYTEs	???

Format of KEYB translation data:
Offset	Size	Description	(Table 02976)
 00h	WORD	size of data in bytes, including this word
 02h N-2 BYTEs	???

Top
2FAD80 - INT 2F u - Novell DOS 7 KEYB.COM - INSTALLATION CHECK
INT 2F u - Novell DOS 7 KEYB.COM - INSTALLATION CHECK
	AX = AD80h
Return: AX = FFFFh if installed
	    CX = Novell DOS KEYB version number (CL = major, CH = minor)
	    DX = current keyboard codepage
	    ES:DI -> internal data and tables (ES=FFFEh if KEYB in HMA)
	flags destroyed
Notes:	versions: v2.08 (original ship 4/94), v2.09 (Update 10, 11/18/94),
	  v2.10 (Update 12, 2/22/95), v2.11 (Update 13, 5/8/95),
	  v2.12 (Update 14, 7/31/95)
	although the installation check is via this INT 2F call, Novell DOS 7's
	  KEYB has no known INT 2F entry point!	 Presumably, the handler is
	  either coded in the kernel or reached via a FAR JMP from the kernel
SeeAlso: AX=AD80h"MS-DOS"

Top
2FAD81 - INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD CODE PAGE
INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD CODE PAGE
	AX = AD81h
	BX = code page (see #01757 at INT 21/AX=6601h)
Return: CF set on error
	    AX = 0001h (code page not available)
	CF clear if successful
Notes:	called by DISPLAY.SYS
	this function was undocumented prior to the release of DOS 5.0
SeeAlso: AX=AD80h,AX=AD82h

Top
2FAD82 - INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD MAPPING
INT 2F - DOS 3.3+ KEYB.COM - SET KEYBOARD MAPPING
	AX = AD82h
	BL = new state
	    00h US keyboard (Control-Alt-F1)
	    FFh foreign keyboard (Control-Alt-F2)
Return: CF set on error (BL not 00h or FFh)
	CF clear if successful
Notes:	this function was undocumented prior to the release of DOS 5.0
	the states 00h and FFh correspond with the byte stored at offset +02h
	  in KEYBs INT 09h handler
SeeAlso: AX=AD80h,AX=AD81h,AX=AD83h,AX=AD84h

Top
2FAD83 - INT 2F - DOS 5+ KEYB.COM - GET KEYBOARD MAPPING
INT 2F - DOS 5+ KEYB.COM - GET KEYBOARD MAPPING
	AX = AD83h
Return: BL = current state
	    00h US keyboard
	    FFh foreign keyboard
Note:	the states 00h and FFh correspond with the byte stored at offset +02h
	  in KEYBs INT 09h handler
SeeAlso: AX=AD82h,AX=AD85h,INT 09

Top
2FAD84 - INT 2F - PC DOS 5.0+ KEYB.COM - SET KEYBOARD SUB-MAPPING
INT 2F - PC DOS 5.0+ KEYB.COM - SET KEYBOARD SUB-MAPPING
	AX = AD84h
Return: if KEYB is in foreign mode:
	    AL = current layout
		00h primary layout
		01h secondary layout
Note:	This function is not supported by MS-DOS 5 - 7.10.
SeeAlso: AX=AD85h,AX=AD82h

Top
2FAD85 - INT 2F - PC DOS 5.0+ KEYB.COM - GET KEYBOARD SUB-MAPPING
INT 2F - PC DOS 5.0+ KEYB.COM - GET KEYBOARD SUB-MAPPING
	AX = AD85h
	BL = new layout
	    00h primary layout
	    01h secondary layout
Note:	This function is not supported by MS-DOS 5.0 - 7.10.
SeeAlso: AX=AD84h,AX=AD83h

Top
2FADC1 - INT 2F U - DOS 4.0+ SELECT - DISPLAY FORMAT DISK PROMPT
INT 2F U - DOS 4.0+ SELECT - DISPLAY FORMAT DISK PROMPT
	AX = ADC1h
Return:	AX destroyed???
Note:	This function is called by DOS 4.0+ FORMAT utility just as it prompts
	  for a disk to be formatted.  It is only issued when the undocumented
	  /SELECT option was specified and is intercepted by SELECT displaying
	  the prompt.  However, the callout is still present in DOS 6.0 at
	  least.

Top
2FAE00 - INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - INSTALLATION CHECK
INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - INSTALLATION CHECK
	AX = AE00h
	DX = magic value FFFFh
	CH = FFh
	CL = length of command line tail (4DOS v4.0)
	DS:BX -> command line buffer (see #02977)
	DS:SI -> command name buffer (see #02978)
	DI = 0000h (4DOS v4.0)
Return: AL = FFh if this command is a TSR extension to COMMAND.COM
	AL = 00h if the command should be executed as usual
Notes:	This call provides a mechanism for TSRs to install permanent
	  extensions to the command repertoire of COMMAND.COM.	It appears
	  that COMMAND.COM makes this call before executing the current
	  command line, and does not execute it itself if the return is FFh.
	APPEND hooks this call, to allow subsequent APPEND commands to
	  execute without re-running APPEND
SeeAlso: AX=AE01h

Format of COMMAND.COM command line buffer:
Offset	Size	Description	(Table 02977)
 00h	BYTE	max length of command line, as in INT 21/AH=0Ah
 01h	BYTE	count of bytes to follow, excluding terminating 0Dh
      N BYTEs	command line text, terminated by 0Dh

Format of command name buffer:
Offset	Size	Description	(Table 02978)
 00h	BYTE	length of command name
 01h  N BYTEs	uppercased command name (blank-padded to 11 chars by 4DOS v4)

Top
2FAE01 - INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - EXECUTE
INT 2F U - DOS 3.3+ internal - INSTALLABLE COMMAND - EXECUTE
	AX = AE01h
	DX = magic value FFFFh
	CH = 00h
	CL = length of command name (4DOS v4.0)
	DS:BX -> command line buffer (see #02977)
	DS:SI -> command name buffer (see #02978)
Return: DS:SI buffer updated
	  if length byte is nonzero, the following bytes contain the uppercase
	  internal command to execute and the command line buffer contains the
	  command's parameters (the first DS:[SI] bytes are ignored)
Notes:	this call requests execution of the command which a previous call to
	  AX=AE00h indicated was resident
	APPEND hooks this call
BUG:	Novell DOS 7.0's COMMAND.COM (prior to Update 12) will attempt to run
	  a disk program with the indicated name even if the returned length
	  byte is zero, because the register used to flag this case is
	  clobbered without first checking it.	The workaround is to set the
	  command name buffer to "REM" followed by enough blanks to pad out
	  the original command's length, which will also work with MS-DOS 6.
	  (from padgett@tccslr.dnet.mmc.com)
SeeAlso: AX=AE00h

Top
2FAF00 - INT 2F - WinDOS v2.11 - INSTALLATION CHECK
INT 2F - WinDOS v2.11 - INSTALLATION CHECK
	AX = AF00h
Return: AL = FFh if installed
Program: WinDOS is a DOS clone (claimed to be mostly MS-DOS 5.0 API compatible)
	  written by Heiko Goemann
SeeAlso: AX=AF01h"WinDOS",INT 21/AH=30h

Top
2FAF00 - INT 2F U - ???
INT 2F U - ???
	AX = AF00h
	???
Return: AX = 0000h if interface supported
SeeAlso: AX=AF02h,AX=AF03h,AX=AF04h,AX=AF13h,AX=AF30h

Top
2FAF01 - INT 2F - WinDOS v2.11 - TURN ON ONLINE MODE
INT 2F - WinDOS v2.11 - TURN ON ONLINE MODE
	AX = AF01h
Return: nothing
Desc:	indicate that the user will not exchange floppy disks, allowing WinDOS
	  to cache disk sectors in memory and avoid writing modified sectors
	  back out to the floppy disk
SeeAlso: AX=AF00h"WinDOS",AX=AF02h"WinDOS"

Top
2FAF02 - INT 2F - WinDOS v2.11 - TURN OFF ONLINE MODE
INT 2F - WinDOS v2.11 - TURN OFF ONLINE MODE
	AX = AF02h
Return: nothing
Desc:	indicate that the floppy disk may be removed, and that WinDOS should
	  write all buffered sectors out to the floppy disk
SeeAlso: AX=AF00h"WinDOS",AX=AF01h"WinDOS"

Top
2FAF02 - INT 2F U - ???
INT 2F U - ???
	AX = AF02h
	???
Return: ES = ???
SeeAlso: AX=AF00h

Top
2FAF03 - INT 2F - WinDOS v2.11 - TURN VIDMEM ON
INT 2F - WinDOS v2.11 - TURN VIDMEM ON
	AX = AF03h
Return: AX = status
	    0000h successful
	    0001h CPU not in mode set by DOS386=On
	    0002h video adapter in graphics mode
	    0003h memory chain corrupted
SeeAlso: AX=AF00h"WinDOS",AX=AF04h"WinDOS",AX=AF05h"WinDOS"

Top
2FAF03 - INT 2F U - ???
INT 2F U - ???
	AX = AF03h
	???
Return: DX = ???
SeeAlso: AX=AF00h

Top
2FAF04 - INT 2F - WinDOS v2.11 - TURN VIDMEM OFF
INT 2F - WinDOS v2.11 - TURN VIDMEM OFF
	AX = AF04h
Return: AX = status
	    0000h successful
	    0001h video memory is in use
SeeAlso: AX=AF00h"WinDOS",AX=AF03h"WinDOS",AX=AF05h"WinDOS"

Top
2FAF04 - INT 2F U - ???
INT 2F U - ???
	AX = AF04h
	???
Return: ???
SeeAlso: AX=AF00h

Top
2FAF05 - INT 2F - WinDOS v2.11 - GET VIDMEM STATE
INT 2F - WinDOS v2.11 - GET VIDMEM STATE
	AX = AF05h
Return: AX = status (0000h off, 0001h on)
SeeAlso: AX=AF00h"WinDOS",AX=AF03h"WinDOS",AX=AF04h"WinDOS"

Top
2FAF05 - INT 2F U - ???
INT 2F U - ???
	AX = AF05h
	???
Return: ???
SeeAlso: AX=AF00h

Top
2FAF06 - INT 2F - WinDOS v2.11 - MAKE PROGRAM UNBREAKABLE
INT 2F - WinDOS v2.11 - MAKE PROGRAM UNBREAKABLE
	AX = AF06h
	DS:DX -> break handler
	DI:BX = stack to use for break handler
Return: nothing
Desc:	set a handler which should be invoked when Ctrl-C is pressed instead of
	  aborting the program
SeeAlso: AX=AF00h"WinDOS",AX=AF0Ah"WinDOS",AX=AF0Ch"WinDOS"

Top
2FAF07 - INT 2F - WinDOS v2.11 - SIGNAL FATAL OVERLAY FAULT
INT 2F - WinDOS v2.11 - SIGNAL FATAL OVERLAY FAULT
	AX = AF07h
Return: never -- system reset
Desc:	pop up a window indicating that the system overlay file can not be
	  loaded
SeeAlso: AX=AF00h"WinDOS",AX=AF08h"WinDOS"

Top
2FAF08 - INT 2F - WinDOS v2.11 - SIGNAL RECOVERABLE OVERLAY FAULT
INT 2F - WinDOS v2.11 - SIGNAL RECOVERABLE OVERLAY FAULT
	AX = AF08h
Return: nothing
Desc:	pop up a window requesting that a disk containing SH.OVL be inserted
SeeAlso: AX=AF00h"WinDOS",AX=AF07h"WinDOS",AX=AF0Bh

Top
2FAF09 - INT 2F - WinDOS v2.11 - GET TERMINATED PSP
INT 2F - WinDOS v2.11 - GET TERMINATED PSP
	AX = AF09h
Return: DS = PSP segment of most recently ended TSR
SeeAlso: AX=AF00h"WinDOS",AX=AF0Ah

Top
2FAF0A - INT 2F - WinDOS v2.11 - GET MAIN SHELL PSP
INT 2F - WinDOS v2.11 - GET MAIN SHELL PSP
	AX = AF0Ah
Return: AX = shell's PSP (same as DS on last call to AX=AF06h)
Desc:	get the PSP address of the last program to call AX=AF06h (normally
	  the main command interpreter)
SeeAlso: AX=AF00h"WinDOS",AX=AF06h"WinDOS",AX=AF09h

Top
2FAF0B - INT 2F - WinDOS v2.11 - SIGNAL FATAL ERROR
INT 2F - WinDOS v2.11 - SIGNAL FATAL ERROR
	AX = AF0Bh
Return: never -- system reset
Desc:	pop up a window indicating a terminal system error
SeeAlso: AX=AF00h"WinDOS",AX=AF07h,AX=AF08h,AX=AF15h"WinDOS"

Top
2FAF0C - INT 2F - WinDOS v2.11 - GET OTHER MAIN SHELL PARAMETERS
INT 2F - WinDOS v2.11 - GET OTHER MAIN SHELL PARAMETERS
	AX = AF0Ch
Return: DI:AX = stack
	SI = offset of break handler
Desc:	retrieve the parameters last set by AX=AF06h (normally by the main
	  command interpreter)
SeeAlso: AX=AF00h"WinDOS",AX=AF06h"WinDOS"

Top
2FAF0D - INT 2F - WinDOS v2.11 - GET CURRENT PARAMETER
INT 2F - WinDOS v2.11 - GET CURRENT PARAMETER
	AX = AF0Dh
	BX = offset of desired parameter in global data area
Return: AX = current value of parameter (AH undefined if byte value)
SeeAlso: AX=AF00h"WinDOS",AX=AF0Eh

Top
2FAF0E - INT 2F - WinDOS v2.11 - SET CURRENT PARAMETER BYTE VALUE
INT 2F - WinDOS v2.11 - SET CURRENT PARAMETER BYTE VALUE
	AX = AF0Eh
	BX = offset of desired parameter in global data area
	DL = new value of parameter
Return: nothing
SeeAlso: AX=AF00h"WinDOS",AX=AF0Dh

Top
2FAF0F - INT 2F - WinDOS v2.11 - GET HISTORY SEGMENT
INT 2F - WinDOS v2.11 - GET HISTORY SEGMENT
	AX = AF0Fh
Return: AX = segment of buffer for input history, or 0000h if none
SeeAlso: AX=AF00h"WinDOS",AX=AF10h"WinDOS"

Top
2FAF10 - INT 2F - WinDOS v2.11 - SET HISTORY SEGMENT
INT 2F - WinDOS v2.11 - SET HISTORY SEGMENT
	AX = AF10h
	BX = segment of new buffer for input history
Return: nothing
Note:	the buffer must have been allocated with INT 21/AH=48h
SeeAlso: AX=AF00h"WinDOS",AX=AF0Fh"WinDOS"

Top
2FAF11 - INT 2F - WinDOS v2.11 - FREE XMS BLOCKS
INT 2F - WinDOS v2.11 - FREE XMS BLOCKS
	AX = AF11h
Return: nothing
Desc:	free all XMS blocks whose XMS identification value (see AX=AF12h)
	  equals the current PSP
SeeAlso: AX=AF00h"WinDOS",AX=AF12h"WinDOS",INT 21/AH=50h

Top
2FAF12 - INT 2F - WinDOS v2.11 - SET XMS IDENTIFICATION VALUE
INT 2F - WinDOS v2.11 - SET XMS IDENTIFICATION VALUE
	AX = AF12h
	DS = new XMS identification value (normally caller's PSP segment)
Return: nothing
SeeAlso: AX=AF00h"WinDOS",AX=AF11h"WinDOS"

Top
2FAF12 - INT 2F U - ???
INT 2F U - ???
	AX = AF12h
	???
Return: ES = ???
SeeAlso: AX=AF00h

Top
2FAF13 - INT 2F - WinDOS v2.11 - SET ASSIGN VALUE
INT 2F - WinDOS v2.11 - SET ASSIGN VALUE
	AX = AF13h
	BL = number of drive to remap (00h = A:)
	DL = number of drive to be accessed via drive number BL
Return: nothing
Desc:	remap a drive letter
Note:	the remapping can be canceled by specifying DL=BL
SeeAlso: AX=AF00h"WinDOS",AX=AF14h"WinDOS",AX=0601h

Top
2FAF13 - INT 2F U - ???
INT 2F U - ???
	AX = AF13h
	???
Return: ???
SeeAlso: AX=AF00h

Top
2FAF14 - INT 2F - WinDOS v2.11 - GET ASSIGN VALUE
INT 2F - WinDOS v2.11 - GET ASSIGN VALUE
	AX = AF14h
	BL = drive number (00h = A:)
Return: DL = drive number which is actually accessed by drive number BL
Desc:	determine the current mapping for a drive
SeeAlso: AX=AF00h"WinDOS",AX=AF13h"WinDOS",AX=0601h

Top
2FAF15 - INT 2F - WinDOS v2.11 - SIGNAL STACK ERROR
INT 2F - WinDOS v2.11 - SIGNAL STACK ERROR
	AX = AF15h
Return: never -- system reset
Desc:	pop up a window indicating a stack overflow
SeeAlso: AX=AF00h"WinDOS",AX=AF0Bh"WinDOS"

Top
2FAF16 - INT 2F - WinDOS v2.11 - GET SIMPLE TRUENAME
INT 2F - WinDOS v2.11 - GET SIMPLE TRUENAME
	AX = AF16h
	DS:SI -> path to be canonicalized
	ES:DI -> buffer for canonicalized filename/pathname
Return: CF clear if successful
	    AX = 0000h
	CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
Desc:	partially canonicalize a path, omitting SUBST, JOIN, ASSIGN, and
	  network redirections
SeeAlso: AX=AF00h"WinDOS",INT 21/AH=60h

Top
2FAF17 - INT 2F - WinDOS v2.11 - QUERY FOR NEW CURRENT DRIVE
INT 2F - WinDOS v2.11 - QUERY FOR NEW CURRENT DRIVE
	AX = AF17h
Return: nothing
Desc:	pop up a dialog allowing the user to select a new default drive
SeeAlso: AX=AF00h"WinDOS"

Top
2FAF18 - INT 2F - WinDOS v2.11 - SET CTRL-C/CTRL-BREAK DISABLE FLAG
INT 2F - WinDOS v2.11 - SET CTRL-C/CTRL-BREAK DISABLE FLAG
	AX = AF18h
	DL = new break-checking state (00h enabled, 01h disabled)
Return: nothing
SeeAlso: AX=AF00h"WinDOS"

Top
2FAF19 - INT 2F - WinDOS v2.11 - SET HEAD SETTLE FLAG
INT 2F - WinDOS v2.11 - SET HEAD SETTLE FLAG
	AX = AF19h
	DL = new state
	    00h diskette head settling time reset to 15ms before each access
	    01h no additional head settling time used between accesses
Return: nothing
SeeAlso: AX=AF00h"WinDOS"

Top
2FAF1A - INT 2F - WinDOS v2.11 - SEARCH FOR NON-FRAGMENTED DISK AREA
INT 2F - WinDOS v2.11 - SEARCH FOR NON-FRAGMENTED DISK AREA
	AX = AF1Ah
	BL = drive (00h = current, 01h = A:, etc.)
	CX = number of clusters desired
Return: CF clear if successful
	    DI = first free cluster on logical drive
	    BP = first cluster of contiguous free area
	    AX destroyed
	CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
Desc:	attempt to find an area of the disk containing the specified number
	  of contiguous unallocated clusters
SeeAlso: AX=AF00h"WinDOS"

Top
2FAF30 - INT 2F U - ???
INT 2F U - ???
	AX = AF30h
	???
Return: ???
SeeAlso: AX=AF00h

Top
2FAFDE - INT 2F - Disk-Emu - INSTALLATION CHECK / GET VERSION
INT 2F - Disk-Emu - INSTALLATION CHECK / GET VERSION
	AX = AFDEh
	ES:DI -> 14-byte buffer for data (see #02979)
Return: AX = CFDEh (Carlos Fernandez Disk-Emu) if installed
	    BX = version (BH = major, BL = minor)

Format of Disk-Emu information data:
Offset	Size	Description	(Table 02979)
 00h	BYTE	number of tracks
 01h	BYTE	sectors per track
 02h	WORD	bytes per sector
 04h	BYTE	number of heads
 05h	BYTE	flag: 00h inactive, 01h active
 06h	BYTE	write protection (00h none, 01h full, 02h pseudo)
 07h	BYTE	saved (00h some unsaved data, 01h all data saved)
 08h	BYTE	disk in memory (00h no, 01h yes)
 09h	WORD	EMS handle
 0Bh	WORD	XMS handle
 0Dh	BYTE	memory type used for disk (00h XMS, 01h EMS)

Top
2FB000 - INT 2F - DOS 3.3+ GRAFTABL.COM - INSTALLATION CHECK
INT 2F - DOS 3.3+ GRAFTABL.COM - INSTALLATION CHECK
	AX = B000h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
Notes:	called by DISPLAY.SYS
	documented for DOS 5.0, but undocumented in prior versions
SeeAlso: AX=2300h,AX=2E00h,AX=B001h

Top
2FB001 - INT 2F - DOS 3.3+ GRAFTABL.COM - GET GRAPHICS FONT TABLE
INT 2F - DOS 3.3+ GRAFTABL.COM - GET GRAPHICS FONT TABLE
	AX = B001h
	DS:BX -> DWORD buffer for address of 8x8 font table
Return: buffer filled
	AL = FFh
Note:	PC-DOS 3.30/4.01 and MS-DOS 6.0 set the font table offset to 0130h,
	  MS-DOS 3.30 sets it to 0030h
SeeAlso: AH=2Eh"GRAFTABL",AX=B000h

Top
2FB400 - INT 2F - IBM PC3270 EMULATION PROG v3 - INSTALLATION CHECK
INT 2F - IBM PC3270 EMULATION PROG v3 - INSTALLATION CHECK
	AX = B400h
Return: AL = FFh if installed

Top
2FB401 - INT 2F - IBM PC3270 EMULATION PROG v3 - GET HOST BUFFER ADDRESS
INT 2F - IBM PC3270 EMULATION PROG v3 - GET HOST BUFFER ADDRESS
	AX = B401h
Return: ES -> host screen buffer (PC ASCII format)
	ES unchanged if communications not started

Top
2FB402 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
INT 2F - IBM PC3270 EMULATION PROG v3 - ???
	AX = B402h
	BX = ???
Return: ???

Top
2FB403 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
INT 2F - IBM PC3270 EMULATION PROG v3 - ???
	AX = B403h
	???
Return: ???

Top
2FB404 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
INT 2F - IBM PC3270 EMULATION PROG v3 - ???
	AX = B404h
	???
Return: ???

Top
2FB405 - INT 2F - IBM PC3270 EMULATION PROG v3 - ???
INT 2F - IBM PC3270 EMULATION PROG v3 - ???
	AX = B405h
	???
Return: ???

Top
2FB700 - INT 2F - APPEND - INSTALLATION CHECK
INT 2F - APPEND - INSTALLATION CHECK
	AX = B700h
Return: AL = status
	    00h not installed
	    FFh installed
Note:	MS-DOS 3.30 APPEND refuses to install itself when run inside TopView or
	  a TopView-compatible environment
SeeAlso: AX=B702h

Top
2FB701 - INT 2F U - APPEND v3.21 only - GET APPEND PATH
INT 2F U - APPEND v3.21 only - GET APPEND PATH
	AX = B701h
Return: ES:DI -> active APPEND path
Notes:	the only version of APPEND known to support this call is the APPEND
	  shipped with Microtek MS-DOS 3.21; MS-DOS 3.30-6.00 APPEND displays
	  "Incorrect APPEND Version" and aborts the caller
	use AX=B704h first, and only call this function if that one is not
	  supported
SeeAlso: AX=B700h,AX=B704h

Top
2FB702 - INT 2F - APPEND - GET VERSION
INT 2F - APPEND - GET VERSION
	AX = B702h
Return: AX = FFFFh if not DOS 4.0 APPEND (also if DOS 5.0 APPEND)
	AL = major version number
	AH = minor version number, otherwise
SeeAlso: AX=B700h,AX=B710h

Top
2FB703 - INT 2F U - DOS 3.3, DOS 5.0 APPEND - HOOK INT 21
INT 2F U - DOS 3.3, DOS 5.0 APPEND - HOOK INT 21
	AX = B703h
	ES:DI -> INT 21 handler APPEND should chain to
Return: ES:DI -> APPEND's INT 21 handler
Note:	each invocation of this function toggles a flag which APPEND uses to
	  determine whether to chain to the user handler or the original
	  INT 21
SeeAlso: AX=B700h,AX=B706h

Top
2FB704 - INT 2F - DOS 3.3+ APPEND - GET APPEND PATH
INT 2F - DOS 3.3+ APPEND - GET APPEND PATH
	AX = B704h
Return: ES:DI -> active APPEND path (128 bytes max)
Note:	some versions of append do not support this call, and return ES
	  unchanged; in this case, you should call AX=B701h to get the APPEND
	  path
SeeAlso: AX=B701h

Top
2FB706 - INT 2F - DOS 4.0+ APPEND - GET APPEND FUNCTION STATE
INT 2F - DOS 4.0+ APPEND - GET APPEND FUNCTION STATE
	AX = B706h
Return: BX = APPEND state (see #02980)
SeeAlso: AX=B700h,AX=B707h

Bitfields for APPEND state:
Bit(s)	Description	(Table 02980)
 0	set if APPEND enabled
 1-11	reserved
 12	(DOS 5.0) set if APPEND applies directory search even if a drive has
	  been specified
 13	set if /PATH flag active
 14	set if /E flag active (environment var APPEND exists)
 15	set if /X flag active

Top
2FB707 - INT 2F - DOS 4.0+ APPEND - SET APPEND FUNCTION STATE
INT 2F - DOS 4.0+ APPEND - SET APPEND FUNCTION STATE
	AX = B707h
	BX = APPEND state bits (see #02980)
SeeAlso: AX=B700h,AX=B706h

Top
2FB710 - INT 2F U - DOS 3.3+ APPEND - GET VERSION INFO
INT 2F U - DOS 3.3+ APPEND - GET VERSION INFO
	AX = B710h
Return: AX = current APPEND state (see #02980)
	BX = ??? (0000h in MS-DOS 3.30 and 5.00)
	CX = ??? (0000h in MS-DOS 3.30 and 5.00)
	DL = major version
	DH = minor version
SeeAlso: AX=B700h,AX=B702h

Top
2FB711 - INT 2F - DOS 4.0+ APPEND - SET RETURN FOUND NAME STATE
INT 2F - DOS 4.0+ APPEND - SET RETURN FOUND NAME STATE
	AX = B711h
Note:	if the next INT 21h call (and ONLY the next) is function 3Dh, 43h, or
	  6Ch (also 4B03h and 4Eh if /X active), the fully qualified filename
	  is written over top of the filename passed to the INT 21h call.  The
	  application must provide a sufficiently large buffer.	 This state is
	  reset after the next INT 21h call processed by APPEND.
	APPEND uses the byte at offset 3Dh in the PSP
	  (see #01378 at INT 21/AH=26h) to store the flag telling it to
	  overwrite the filename
BUG:	DOS 4.0 APPEND reportedly overwrites DS:DX instead of DS:SI for
	  INT 21/AH=6Ch
SeeAlso: INT 21/AH=26h,INT 21/AH=4Eh

Top
2FB800 - INT 2F - NETWORK - INSTALLATION CHECK
INT 2F - NETWORK - INSTALLATION CHECK
	AX = B800h
Return: AL = status
	    00h	    not installed
	    nonzero installed
	      BX = installed component flags (test in this order!)
		   bit 6   server
		   bit 2   messenger
		   bit 7   receiver
		   bit 3   redirector
		   bit 1   LANPUP (LANtastic 4.0)
Notes:	this function is supported by PC LAN Program, LAN Manager, LANtastic,
	  NetWare Lite, SilverNET, 10NET, etc.
	LANtastic and NetWare Lite use only BL for the return value, preserving
	  BH; LAN Manager and DOS LAN Requester return BH=00h.	This permits
	  differentiation between those two groups by setting BH to a nonzero
	  value before the call and checking its value on return.
SeeAlso: AX=4E53h,AX=B809h

Top
2FB800CXF041 - INT 2F - 10NET - INSTALLATION CHECK
INT 2F - 10NET - INSTALLATION CHECK
	AX = B800h
	CX = F041h
Return: AL = status
	    00h	    not installed
	    nonzero installed
		BX = installed component flags (test in this order!)
		   bit 6   server
		   bit 2   messenger
		   bit 7   receiver
		   bit 3   redirector
		   bit 1   LANPUP (LANtastic 4.0)
		CX = 10Net data segment
		CX:DX -> 10Net Configuration Table
			  (see #01691 at INT 21/AX=5E01h"10NET")
Note:	if CX <> F041h on entry, neither CX nor DX will be changed, and this
	  call becomes identical to the standard installation check above
SeeAlso: AX=B800h"network",INT 21/AX=5E01h"10NET"

Top
2FB803 - INT 2F - NETWORK - GET NETWORK EVENT POST HANDLER
INT 2F - NETWORK - GET NETWORK EVENT POST HANDLER
	AX = B803h
Return: ES:BX -> current event post handler (see AX=B804h)
Note:	this function is supported by PC LAN Program, 10NET v5.0,
	  NetSoft DOS-NET v1.20+
SeeAlso: AX=B800h,AX=B804h,AX=B903h

Top
2FB804 - INT 2F - NETWORK - SET NETWORK EVENT POST HANDLER
INT 2F - NETWORK - SET NETWORK EVENT POST HANDLER
	AX = B804h
	CX = (10NET) 0370h if 10Windows is hooking post handler
	ES:BX -> new event post handler (see #02981)
Notes:	used in conjunction with AX=B803h to hook into the network event post
	  routine
	this function is supported by PC LAN Program, 10NET v5.0,
	  NetSoft DOS-NET v1.20+
	The specified handler is called on any network event.  Two events are
	  defined: message received and critical network error.
SeeAlso: AX=B800h,AX=B803h,AX=B904h

(Table 02981)
Values network post routine is called with:
	AX = 0000h single block message
	    DS:SI -> ASCIZ originator name
	    DS:DI -> ASCIZ destination name
	    ES:BX -> text header (see #02982)
	AX = 0001h start multiple message block
	    CX = block group ID
	    DS:SI -> ASCIZ originator name
	    DS:DI -> ASCIZ destination name
	AX = 0002h multiple block text
	    CX = block group ID
	    ES:BX -> text header (see #02982)
	AX = 0003h end multiple block message
	    CX = block group ID
	AX = 0004h message aborted due to error
	    CX = block group ID
	AX = 0101h server received badly formatted network request
	    Return: AX = FFFFh (PC LAN will process error)
	AX = 0102h unexpected network error
	    ES:BX -> NCB (see #03249 at INT 5C"NetBIOS")
	AX = 0103h server received INT 24 error
	    other registers as for INT 24, except AH is in BH
	    Return: as below, but only 0000h and FFFFh allowed
Return: AX = response code
	    0000h user post routine processed message
	    0001h PC LAN will process message, but message window not displayed
	    FFFFh PC LAN will process message

Format of text header:
Offset	Size	Description	(Table 02982)
 00h	WORD	length of text (maximum 512 bytes)
 02h  N BYTEs	text of message
Note:	all CRLF sequences in message text are replaced by 14h; all other
	  values below 20h (space) are reserved

Top
2FB807 - INT 2F - NETWORK - GET NetBIOS NAME NUMBER OF MACHINE NAME
INT 2F - NETWORK - GET NetBIOS NAME NUMBER OF MACHINE NAME
	AX = B807h
Return: CH = NetBIOS name number of the machine name
SeeAlso: INT 21/AX=5E00h

Top
2FB808 - INT 2F U - NETWORK - RELINK KEYBOARD HANDLER
INT 2F U - NETWORK - RELINK KEYBOARD HANDLER
	AX = B808h
	ES:BX -> INT 09 handler network should call after it finishes INT 09
Notes:	this call replaces the address to which the network software chains on
	  an INT 09 without preserving the original value.  This allows a prior
	  handler to unlink, but does not allow a new handler to be added
	  such that the network gets the INT 09 first unless the new handler
	  completely takes over INT 09 and never chains.
	this function is called by the DOS 3.2 KEYBxx.COM and DOS 3.3+ KEYB.COM
SeeAlso: AX=B908h

Top
2FB809 - INT 2F - NETWORK - LANtastic, NetWare Lite - GET VERSION
INT 2F - NETWORK - LANtastic, NetWare Lite - GET VERSION
	AX = B809h
Return: AH = major version
	AL = minor version (decimal)
Notes:	this function is supported in this form by LANtastic, NetWare Lite,
	  SilverNET, ...
	NetWare Lite returns its own version number rather than a PC LAN
	  compatibility version
SeeAlso: AX=4E53h,AX=B800h,AX=B809h"PC LAN Program"

Top
2FB809 - INT 2F - NETWORK - PC LAN Program, Microsoft Networking - GET VERSION
INT 2F - NETWORK - PC LAN Program, Microsoft Networking - GET VERSION
	AX = B809h
Return: AH = minor version (decimal)
	AL = major version
Notes:	this function is supported in this form by PC LAN Program, LAN Manager,
	  the DOS LAN Requester, 10NET v5.0, and Microsoft Networking under
	  WfWg 3.11
	10NET returns version 1.10 (AX=0A01h) for compatibility
SeeAlso: AX=4E53h,AX=B800h,AX=B809h"LANtastic"

Top
2FB80A - INT 2F u - PC Network 1.00 - ???
INT 2F u - PC Network 1.00 - ???
	AX = B80Ah
	???
Return: ???
Program: PC Network is an early networking package which was renamed the
	  IBM PC Local Area Network Program (PC LAN Program) as of v1.10
Note:	called by RECEIVER (equivalent to NetWare Lite SERVER)

Top
2FB80E - INT 2F U - DOS LAN Requester - GET XSI2 ADDRESS / DATA
INT 2F U - DOS LAN Requester - GET XSI2 ADDRESS / DATA
	AX = B80Eh
Return: DS:DI -> XSI2 TSR's resident data (see #02983)
Note:	this function is used by NET.COM to locate the USERID and DOMAIN of
	  the logged-in user (which may differ from the NET START domain
	  name from DOSLAN.INI which is returned by AX=B80Fh)
SeeAlso: AX=B800h,AX=B80Fh

Format of XSI2 resident data:
Offset	Size	Description	(Table 02983)
 00h 254 BYTEs	???
 FEh 10 BYTEs	user ID 1
108h 10 BYTEs	user ID 2
112h 10 BYTEs	domain name 1
11Ch 10 BYTEs	domain name 2
126h  ? BYTEs	domain controller

Top
2FB80F - INT 2F - DOS LAN Requester - GET START PARAMETERS
INT 2F - DOS LAN Requester - GET START PARAMETERS
	AX = B80Fh
	CX = size of return data buffer
	ES:DI -> return data buffer (see #02984)
Return: AX = status
	     00h     network started
	     nonzero network not started
	CX = number of bytes returned in buffer
	ES:DI buffer filled
SeeAlso: AX=B809h"PC LAN Program",AX=B80Eh

Format of DOS LAN Requester return data buffer:
Offset	Size	Description	(Table 02984)
 00h	BYTE	major version
 01h	BYTE	minor version
 02h	WORD	configuration flags given when network was started (see #02985)
 04h 15 BYTEs	NET START machine name (space padded)
 13h	BYTE	00h
 14h 9	BYTEs	NET START domain name (NULL padded)
 1Dh	BYTE	00h
 1Eh 32 BYTEs	/WRK heuristics string (space padded, not terminated)
 3Eh	WORD	/SRV value
 40h	WORD	/ASG value
 42h	WORD	/NBC value
 44h	WORD	/NBS value
 46h	WORD	/BBC value
 48h	WORD	/BBS value
 4Ah	WORD	/PBC value
 4Ch	WORD	/PBS value
 4Eh	WORD	/PFS value
 50h	WORD	/PFT value
 52h	WORD	/PWT value
 54h	WORD	/KUC value
 56h	WORD	/KST value
 58h	WORD	/NVS value
 5Ah	WORD	/NMS value
 5Ch	WORD	/NDB value
 5Eh	WORD	/MBI value
 60h	BYTE	NetBIOS name number for machine name
 61h	BYTE	NetBIOS name number for domain name
 62h	WORD	NetBIOS sessions required for configuration
 64h	WORD	NetBIOS commands required for configuration
 66h	WORD	NetBIOS names required for configuration
 68h 128 BYTEs	NET START path (LANROOT)
 E8h	BYTE	00h

Bitfields for configuration flags:
Bit(s)	Description	(Table 02985)
 0	/NVS nonzero
 1	/NMS nonzero
 2	/API
 3	/HIM
 4	/LIM
 5	/ENC
 6	/POP
 7	/EMS
 8	/RPL
 9-12	reserved
 13	RDR started
 14	RCV started
 15	User is currently logged on

Top
2FB900 - INT 2F - PC Network RECEIVER.COM - INSTALLATION CHECK
INT 2F - PC Network RECEIVER.COM - INSTALLATION CHECK
	AX = B900h
Return: AL = state
	    00h if not installed
	    FFh if installed

Top
2FB901 - INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM INT 2F HANDLER ADDRESS
INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM INT 2F HANDLER ADDRESS
	AX = B901h
Return: AL = ???
	ES:BX -> RECEIVER.COM INT 2F handler
Desc:	allows more efficient execution by letting the caller bypass any other
	  INT 2F handlers which have been added since RECEIVER.COM was
	  installed

Top
2FB903 - INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM POST ADDRESS
INT 2F - PC Network RECEIVER.COM - GET RECEIVER.COM POST ADDRESS
	AX = B903h
Return: ES:BX -> POST handler
SeeAlso: AX=B803h,AX=B904h

Top
2FB904 - INT 2F - PC Network RECEIVER.COM - SET RECEIVER.COM POST ADDRESS
INT 2F - PC Network RECEIVER.COM - SET RECEIVER.COM POST ADDRESS
	AX = B904h
	ES:BX -> new POST handler
SeeAlso: AX=B804h,AX=B903h

Top
2FB905 - INT 2F - PC Network RECEIVER.COM - GET FILENAME
INT 2F - PC Network RECEIVER.COM - GET FILENAME
	AX = B905h
	DS:BX -> 128-byte buffer for filename 1
	DS:DX -> 128-byte buffer for filename 2
Return: buffers filled from RECEIVER.COM internal buffers
Note:	use of filenames is unknown, but one appears to be for storing messages
SeeAlso: AX=B906h

Top
2FB906 - INT 2F - PC Network RECEIVER.COM - SET FILENAME
INT 2F - PC Network RECEIVER.COM - SET FILENAME
	AX = B906h
	DS:BX -> 128-byte buffer for filename 1
	DS:DX -> 128-byte buffer for filename 2
Return: RECEIVER.COM internal buffers filled from user buffers
Note:	use of filenames is unknown, but one appears to be for storing messages
SeeAlso: AX=B905h

Top
2FB908 - INT 2F - PC Network RECEIVER.COM - UNLINK KEYBOARD HANDLER
INT 2F - PC Network RECEIVER.COM - UNLINK KEYBOARD HANDLER
	AX = B908h
	ES:BX -> INT 09 handler RECEIVER should call after it finishes INT 09
Note:	this call replaces the address to which RECEIVER.COM chains on an
	  INT 09 without preserving the original value.	 This allows a prior
	  handler to unlink, but does not allow a new handler to be added
	  such that RECEIVER gets the INT 09 first.
SeeAlso: AX=B808h

Top
2FBB00BX0000 - INT 2F - CATC USB4DOS Host Controller - INSTALLATION CHECK
INT 2F - CATC USB4DOS Host Controller - INSTALLATION CHECK
	AX = BB00h
	BX = 0000h
Return: AX = 0001h if installed

Top
2FBB00BX0001 - INT 2F - CATC USB4DOS Host Controller - GET ???
INT 2F - CATC USB4DOS Host Controller - GET ???
	AX = BB00h
	BX = 0001h
Return: AX = 0000h
	CX:BX -> ???

Top
2FBB00BX0002 - INT 2F - CATC USB4DOS Host Controller - EXECUTE USB REQUEST
INT 2F - CATC USB4DOS Host Controller - EXECUTE USB REQUEST
	AX = BB00h
	BX = 0002h
	CX:DX -> request packet (see #04097)
Return: AX = destroyed

Format of USB4DOS Host Controller request packet:
Offset	Size	Description	(Table 04097)
 00h	WORD	command number
 02h	WORD	(ret) major status
 04h	WORD	(ret) minor status
 06h	DWORD	-> callback function
 0Ah 25 BYTEs	data for command (varies by command number)
 23h 12 BYTEs	reserved for future use

Top
2FBB00BX0003 - INT 2F - CATC USB4DOS Host Controller - ??? (POLLS VARIOUS I/O PORTS)
INT 2F - CATC USB4DOS Host Controller - ??? (POLLS VARIOUS I/O PORTS)
	AX = BB00h
	BX = 0003h
Return: AX = ???

Top
2FBB00 - INT 2F - CATC USB4DOS Host Controller - INVALID FUNCTION
INT 2F - CATC USB4DOS Host Controller - INVALID FUNCTION
	AX = BB00h
	BX > 0003h
Return: AX = FFFFh (invalid function)

Top
2FBC00 - INT 2F - Windows 3.0, DOS 5+ EGA.SYS - INSTALLATION CHECK
INT 2F - Windows 3.0, DOS 5+ EGA.SYS - INSTALLATION CHECK
	AX = BC00h
Return: AL = state
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
		BX = 5456h ("TV")
Range:	AH=80h to AH=FFh, selected by commandline switch
SeeAlso: AX=BC06h"EGA",INT 10/AH=FAh"EGA"

Top
2FBC00BL00 - INT 2F - CATC USB4DOS Device Manager - INSTALLATION CHECK
INT 2F - CATC USB4DOS Device Manager - INSTALLATION CHECK
	AX = BC00h
	BL = 00h
Return: AX = installation state
	    0000h not installed
	    0001h installed
	    BC00h not installed
SeeAlso: AX=BC00h/BL=01h,AX=BC00h/BL=03h

Top
2FBC00BL01 - INT 2F - CATC USB4DOS Device Manager - REGISTER DEVICE
INT 2F - CATC USB4DOS Device Manager - REGISTER DEVICE
	AX = BC00h
	BL = 01h
	CX:DX -> client_info structure (see #04096)
Return: AX = client number, 0000h on failure
SeeAlso: AX=BC00h/BL=02h,AX=BC00h/BL=00h

Format of CATC USB4DOS client_info structure:
Offset	Size	Description	(Table 04096)
 00h	DWORD	-> Attach() worker function
 04h	DWORD	-> Detach() worker function

Top
2FBC00BL02 - INT 2F - CATC USB4DOS Device Manager - UNLOAD DEVICE
INT 2F - CATC USB4DOS Device Manager - UNLOAD DEVICE
	AX = BC00h
	BL = 02h
	CX = client number
Return: AX destroyed
SeeAlso: AX=BC00h/BL=01h,AX=BC00h/BL=00h

Top
2FBC00BL03 - INT 2F - CATC USB4DOS Device Manager - HUB DEVICE ATTACHED
INT 2F - CATC USB4DOS Device Manager - HUB DEVICE ATTACHED
	AX = BC00h
	BL = 03h
	BH = address and device type
	    bits 7-1: USB address of hub
	    bit 0: device speed
		=0 low-speed device
		=1 full-speed device
	CX:DX -> callback function
Return: AX = USB address of attached device, or 0000h on failure
SeeAlso: AX=BC00h/BL=04h,AX=BC00h/BL=00h

Top
2FBC00BL04 - INT 2F - CATC USB4DOS Device Manager - HUB DEVICE DETACHED
INT 2F - CATC USB4DOS Device Manager - HUB DEVICE DETACHED
	AX = BC00h
	BL = 04h
	BH = USB address of detached device (may be the hub itself)
Return: AX destroyed
SeeAlso: AX=BC00h/BL=03h,AX=BC00h/BL=00h

Top
2FBC00BX3F3F - INT 2F - MediaVision MVSOUND.SYS - INSTALLATION CHECK
INT 2F - MediaVision MVSOUND.SYS - INSTALLATION CHECK
	AX = BC00h
	BX = 3F3Fh ('??')
	CX = 0000h
	DX = 0000h
Return: if installed, BX XOR CX XOR DX = 4D56h ('MV')
Program: MVSOUND.SYS is a driver for the MediaVision ProAudio Spectrum family
	  of sound boards; its primary programmer was Bryan Crane
SeeAlso: AX=BC01h"MVSOUND",AX=BC02h,AX=BC03h,AX=BC04h,AX=BC06h"MVSOUND"

Top
2FBC01 - INT 2F - MediaVision MVSOUND.SYS - GET VERSION
INT 2F - MediaVision MVSOUND.SYS - GET VERSION
	AX = BC01h
	BX = magic value 6D20h ('m ')
	CX = magic value 2076h (' v')
	DX = magic value 2020h ('  ')
Return: BX = ASCII major version (leading zeros significant)
	CX = ASCII minor version (leading zeros significant)
SeeAlso: AX=BC00h/BX=3F3Fh

Top
2FBC02 - INT 2F - MediaVision MVSOUND.SYS - GET STATE TABLE POINTER
INT 2F - MediaVision MVSOUND.SYS - GET STATE TABLE POINTER
	AX = BC02h
Return: AX = 4D56h ('MV')
	BX:DX -> state table
SeeAlso: AX=BC00h/BX=3F3Fh,AX=BC03h

Top
2FBC03 - INT 2F - MediaVision MVSOUND.SYS - GET FUNCTION TABLE POINTER
INT 2F - MediaVision MVSOUND.SYS - GET FUNCTION TABLE POINTER
	AX = BC03h
Return: AX = 4D56h ('MV')
	BX:DX -> function table
	CX = ??? (000Eh)
SeeAlso: AX=BC00h/BX=3F3Fh,AX=BC02h

Top
2FBC04 - INT 2F - MediaVision MVSOUND.SYS - GET DMA AND IRQ CHANNELS
INT 2F - MediaVision MVSOUND.SYS - GET DMA AND IRQ CHANNELS
	AX = BC04h
Return: AX = 4D56h ('MV')
	BL = DMA channel
	CL = IRQ number
SeeAlso: AX=BC00h/BX=3F3Fh,AX=BC01h"MVSOUND"

Top
2FBC06 - INT 2F U - MS Windows 3.0, DOS 5+ EGA.SYS - GET VERSION INFO
INT 2F U - MS Windows 3.0, DOS 5+ EGA.SYS - GET VERSION INFO
	AX = BC06h
Return: BX = 5456h ("TV")
	CH = major version
	CL = minor version
	DL = revision
SeeAlso: AX=BC00h"EGA",INT 10/AH=FAh"EGA"

Top
2FBC06 - INT 2F - MediaVision MVSOUND.SYS - GET STATUS STRING
INT 2F - MediaVision MVSOUND.SYS - GET STATUS STRING
	AX = BC06h
Return: AX = 4D56h ('MV')
	DX:BX -> status string (first byte 0Ch if no status message to display)
SeeAlso: AX=BC00h/BX=3F3Fh,AX=BC01h"MVSOUND",AX=BC0Bh"MVSOUND"

Top
2FBC0B - INT 2F - MediaVision MVSOUND.SYS - GET EXECUTABLE PATH
INT 2F - MediaVision MVSOUND.SYS - GET EXECUTABLE PATH
	AX = BC0Bh
Return: BX:DX -> ASCIZ path for MVPROAS.EXE, 0000h:0000h if not available
SeeAlso: AX=BC00h/BX=3F3Fh

Top
2FBC0E - INT 2F - MediaVision MVSOUND.SYS - RE-INITIALIZE INT 09 HANDLER
INT 2F - MediaVision MVSOUND.SYS - RE-INITIALIZE INT 09 HANDLER
	AX = BC0Eh
Return: BX = status
	    0000h on failure
		AX = 0000h
	    FFFFh if successful
		DX:AX -> prior INT 09 handler
Desc:	re-initialize INT 09 handler to re-enable hotkeys (e.g. after loading
	  KEYB)

Top
2FBE00 - INT 2F - REDVIEW - INSTALLATION CHECK
INT 2F - REDVIEW - INSTALLATION CHECK
	AX = BE00h
Return: AL = FFh if installed
Program: REDVIEW is a public-domain TSR by Alexandr Novy and Petr Horak which
	  copies data sent to standard output to standard error when the
	  former has been redirected to a file, thus allowing the data to
	  be seen on the screen at the same time it is captured in a file

Top
2FBF00 - INT 2F - PC LAN PROGRAM REDIRIFS.EXE internal - INSTALLATION CHECK
INT 2F - PC LAN PROGRAM REDIRIFS.EXE internal - INSTALLATION CHECK
	AX = BF00h
Return: AL = FFh if installed
Note:	this function is also supported by NetSoft's DOS-NET v1.20+; however,
	  none of the remaining BFxxh calls are supported
SeeAlso: AX=BF01h,AX=BF80h,INT 2A/AX=4147h

Top
2FBF01 - INT 2F U - PC LAN PROGRAM REDIRIFS.EXE internal - ???
INT 2F U - PC LAN PROGRAM REDIRIFS.EXE internal - ???
	AX = BF01h
	???
Return: ???
SeeAlso: AX=BF00h

Top
2FBF80 - INT 2F - PC LAN PROG REDIR.SYS internal - SET REDIRIFS ENTRY POINT
INT 2F - PC LAN PROG REDIR.SYS internal - SET REDIRIFS ENTRY POINT
	AX = BF80h
	ES:DI -> FAR entry point to IFS handler in REDIRIFS
Return: AL = FFh if installed
	    ES:DI -> internal workspace
Note:	all future IFS calls to REDIR.SYS are passed to the ES:DI entry point
SeeAlso: AX=BF00h

Top
2FC0 - INT 2F - METZ XpressFax Hardware TSR (CLASS2) - API
INT 2F - METZ XpressFax Hardware TSR (CLASS2) - API
	AH = C0h
	AL = function code (01h to 15h)
Return: ???
SeeAlso: AX=C000h/BX=444Bh,AX=CB00h/BX=4D53h

Top
2FC000 - INT 2F - Novell ODI Link Support Layer (LSL.COM) - INSTALLATION CHECK
INT 2F - Novell ODI Link Support Layer (LSL.COM) - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    DX:BX -> FAR entry point (see #02986,#02987,#02988)
	    ES:SI -> signature string "LINKSUP$"
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	on return, ES = DX for LSL v1.10 and v2.05; LSL makes use of this in
	  its search for a previous installation
SeeAlso: AX=5100h,AX=C000h"NESL"

(Table 02986)
Call LSL function "Request MLID Registration" with:
	BX = 0001h
	ES:SI -> registration??? record (see #02990)
	DS:DI -> buffer for LSL information block (see #02991)
Return: AX = completion code (0000h,8001h) (see #02989)
	DS:DI buffer filled if successful
	BX,CX corrupted
Note:	see "Novell LAN Driver Developer's Guide, Volume III" for more details

(Table 02987)
Call LSL function "get support entry points" with:
	BX = 0002h
	ES:SI -> buffer for entry point record (see #02992)
Return: ES:SI buffer filled

(Table 02988)
Call LSL function "Request MLID API entry point" with:
	BX = 0003h
Return: ES:SI -> MLID (Multiple Link Interface Driver) API entry point
		(call with BX=function 00h-10h, not range-checked)
Note:	LSL v1.10 and v2.05 execute BX=0003h for BX=0000h and any BX >= 0003h

(Table 02989)
Values for LSL completion code:
 0000h	successful
 8001h	out of resources
 8002h	bad parameter
 8003h	no more items
 8004h	item not present
 8005h	failed
 8006h	receive overflow
 8007h	canceled
 8008h	bad command
 8009h	duplicate entry
 800Ah	no such handler
 800Bh	no such driver

Format of LSL registration record:
Offset	Size	Description	(Table 02990)
 00h	DWORD	-> ??? FAR function (to be called with ES:SI -> ??? and
		  returning AX = completion code)
 04h	DWORD	-> ???
 08h	DWORD	-> ??? data (at least 3Eh bytes)

Format of LSL information block:
Offset	Size	Description	(Table 02991)
 00h	DWORD	-> ??? entry point (called with BX=function 00h-11h)
 04h	WORD	???
 06h	WORD	???
Note:	due to a fencepost error, LSL v2.05 (distributed with Novell DOS 7)
	  will crash if the above entry point is called with BX=0012h

Format of entry point record:
Offset	Size	Description	(Table 02992)
 00h	DWORD	pointer to protocol support entry point in LSL (see #02993)
 04h	DWORD	pointer to general support entry point in LSL (see #02994)

(Table 02993)
Call protocol support entry point with:
	BX = function number
	    0000h ???
	    0001h ???
	    0002h ???
	    0003h "ScheduleAESEvent"
		ES:SI -> AES ECB to be scheduled (see #02997)
		Return: ES,SI preserved
	    0004h "CancelAESEvent"
		ES:SI -> ECB to be cancelled (see #02997)
		Return: ES,SI preserved
	    0005h "GetIntervalMarker"
		Return: DX:AX = current interval marker in milliseconds
			all other registers preserved
	    0006h "RegisterStack"
		AX = logical board number
		ES:SI -> bound stack info structure (see #03007)
		Return: BX = assigned Stack ID if AX=0000h
	    0007h "DeRegisterStack"
		AX = protocol stack's assigned Stack ID
	    0008h "RegisterDefaultStack"
		AX = logical board number
		ES:SI -> stack info structure (see #03008)
	    0009h "DeRegisterDefaultStack"
		AX = logical board number
	    000Ah "RegisterPrescanStack"
		AX = logical board number
		ES:SI -> stack info structure (see #03008)
	    000Bh "DeRegisterPrescanStack"
		AX = logical board number
	    000Ch "SendPacket"
		ES:SI -> send ECB
		Return: interrupts disabled
	    000Dh ???
	    000Eh ???
	    000Fh ???
	    0010h "GetStackIDFromName"
		ES:SI -> counted NUL-terminated protocol name (max 15 chars)
		Return: BX = Stack ID if AX=0000h
	    0011h "GetPIDFromStackIDBoard"
		AX = Stack ID for protocol
		CX = logical board number
		ES:SI -> 6-byte buffer for protocol ID
	    0012h "GetMLIDControlEntry"
		AX = logical board number
		Return: ES:SI -> MLID control handler (see #02995) if AX=0000h
	    0013h "GetProtocolControlEntry"
		AX = Stack ID or
			FFFEh Prescan stack
			    CX = logical board number
			FFFFh default protocol
			    CX = logical board number
		Return: ES:SI -> protocol stack control entry point if AX=0000h
				  (see #02996)
	    0014h "GetLSLStatistics"
		Return: AX = 0000h (successful)
			ZF set
			ES:SI -> LSL statistics table (see #02999)
	    0015h "BindStack"
		AX = protocol stack's assigned Stack ID
		CX = logical board number
	    0016h "UnbindStack"
		AX = protocol stack's assigned Stack ID
		CX = logical board number
	    0017h "AddProtocolID"
		AX = frame type ID code
		ES:SI -> 6-byte protocol ID
		CX:DI -> counted NUL-terminated short protocol name (max 15 ch)
	    0018h "RelinquishControl"
		Return: after LSL performs any necessary background processing
	    0019h "GetLSLConfiguration"
		Return: AX = 0000h (successful)
			ZF set
			ES:SI -> LSL configuration table (see #02998)
	    001Ah "GetTickMarker"
		Return: AX = number of 55ms ticks since LSL loaded
			BX destroyed
Return: AX = completion code (see #02989)
	ZF set if successful
	SS:SP, DS, BP preserved; most other registers may be destroyed

(Table 02994)
Call general support entry point with:
	BX = function number
	    0000h "Allocate Memory" (obsolete)
		 always returns AX=8008h (BAD_COMMAND)
	    0001h "Free Memory" (obsolete)
		 always returns AX=8008h (BAD_COMMAND)
	    0002h "Realloc Memory" (obsolete)
		 always returns AX=8008h (BAD_COMMAND)
	    0003h "Memory Statistics" (obsolete)
		 always returns AX=8008h (BAD_COMMAND)
	    0004h "Add Memory To Pool" (obsolete)
		 always returns AX=8008h (BAD_COMMAND)
	    0005h "AddGeneralService"
		ES:SI -> General Service Control Block (see #03009)
	    0006h "RemoveGeneralService"
		ES:SI -> General Service Control Block (see #03009)
	    0007h "GetNETcfgPath"
		Return: AX = 0000h (successful)
			DS:DX -> ASCIZ pathname for NET.CFG
	    0008h U ???	 (in LSL 1.10)
		Return: AX = 0000h
			ES:SI -> ??? (a 22-byte data area)
	    000Ah "GetCriticalSectionStatus"
		Return: BX = total outstanding calls to "StartCriticalSection"
	    000Bh "ServiceEvents"
		interrupts disabled
		Return: interrupts disabled
	    0010h "GetStackECB"
		DS:DI -> Lookahead structure (see #03010)
		interrupts disabled
		Return: ES:SI -> ECB if successful (AX=0000h,ZF set)
			interrupts disabled
	    8000h-FFFFh reserved for user general service providers
Return: AX = completion code (see #02989)
	ZF set if successful
	SS:SP, DS, BP preserved

(Table 02995)
Call MLID control handler with:
	AX = logical board number
	BX = function number
	    0000h "GetMLIDConfiguration"
		Return: ES:SI -> MLID's configuration table if successful
				  (see #03002 for format)
	    0001h "GetMLIDStatistics"
		Return: ES:SI -> MLID's statistics table if successful
				  (see #03002 for format)
	    0002h "AddMulticastAddress"
		ES:SI -> 6-byte multicast address to add
	    0003h "DeleteMulticastAddress"
		ES:SI -> 6-byte multicast address to delete
	    0005h "MLIDShutdown"
		CX = type
		    0000h permanent (also deregisters from LSL)
		    other temporary (shutdown hardware only)
	    0006h "MLIDReset" reinitialize board / restart from temp shutdown
	    0007h "Create Connection" (obsolete?)
		???
	    0008h "Delete Connection" (obsolete?)
		???
	    0009h "SetLookAheadSize"
		CX = requested lookahead size (00h-80h)
	    000Ah "PromiscuousChange"
		CX = what to receive promiscuously
		    bit 0: MAC frames
		    bit 1: non-MAC frames
	    000Bh "RegisterReceiveMonitor"
		CX = subfunction
		    0000h disable receive monitoring
		    else  enable receive monitoring
		ES:SI -> monitor receive routine
		ES:DI -> monitor transmit routine
	    000Ch "Driver Poll" (obsolete?)
		???
Return: AX = completion code (see #02989)
	ZF set if successful
Note:	not all boards/MLIDs support function 0010h; see bit 13 in the MLID
	  mode flags field of the MLID's configuration table

(Table 02996)
Call protocol stack control entry point with:
	BX = function number
	    0000h "GetProtocolStackConfiguration"
		Return: ES:SI -> protocol stack's configuration table
				   (see #03001)
	    0001h "GetProtocolStackStatistics"
		Return: ES:SI -> protocol stack's statistics table (see #03000)
	    0002h "BindToMLID"
		CX = board number to bind to
		ES:SI -> implementation-dependant parameter string
	    0003h "UnBindFromMLID"
		CX = board number from which protocol should unbind
		ES:SI -> optional implementation-dependant parameter string
	    0004h "MLIDDeRegistered"
		CX = board number that has de-registered from LSL
Return: AX = status
	    0000h successful
	    else implementation-dependant error codes
	ZF set if successful
	SS:SP, DS, BP preserved

Format of AES ECB:
Offset	Size	Description	(Table 02997)
 00h	DWORD	"AESLink" pointer used by LSL for list management
 04h	DWORD	number of milliseconds to wait
 08h	DWORD	"AESStatus" (is set to 00000000h when AES ESR is invoked)
 0Ch	DWORD	-> function to be invoked when time expires
		ES:SI will point to this structure on entry,
		DS, BP, and SS:SP must be preserved.
SeeAlso: #03011

Format of LSL Configuration Table:
Offset	Size	Description	(Table 02998)
 00h	BYTE	major version of configuration table
 01h	BYTE	minor version of configuration table (decimal, 0-99)
 02h  8 BYTEs	reserved
 0Ah	BYTE	LSL major version (decimal)
 0Bh	BYTE	LSL minor version (decimal, 0-99)
---LSL 1.0x ---
 0Ch 14 BYTEs	reserved
---LSL 1.10+ ---
 0Ch	WORD	maximum number of boards which LSL can handle
 0Eh	WORD	maximum number of protocol IDs which LSL can handle
 10h 12 BYTEs	reserved

Format of LSL Statistics Table:
Offset	Size	Description	(Table 02999)
 00h	BYTE	major version of statistics table format
 01h	BYTE	minor version of statistics table format (decimal, 0-99)
 02h	WORD	"GenericCounters" number of counters in static portion of
		  table
 04h	DWORD	"ValidCountersMask" bit mask indicating which generic
		  counters are actually used.  Bit 31 = TotalTxPackets, bit 30
		  is the next field, etc.
 08h	DWORD	"TotalTxPackets" total SendPacket requests made
 0Ch	DWORD	reserved
 10h	DWORD	reserved
 14h	DWORD	"AESEventsCount" number of completed AES events
 18h	DWORD	"PostponedEvents" number of events postponed due to critical
		  sections inside the MLIDs
 1Ch	DWORD	"CancelAESFailures" number of times CancelAESEvent failed
 20h	DWORD	reserved
 24h	DWORD	reserved
 28h	DWORD	"TotalRxPackets" total number of GetStackECB requests
 2Ch	DWORD	"UnclaimedPackets" total number of packets not consumed by a
		  protocol stack
 30h	WORD	"NumberCustom" number of custom variables that follow
 32h  N DWORDs	custom counters
      N DWORDs	-> CustomCounterStrN (one per custom counter)
	var	length-prepended and NULL terminated string for Counter 0
	...
	var	length-prepended and NULL terminated string for Counter N-1
SeeAlso: #03000,#03006

Format of Protocol Stack Statistics Table:
Offset	Size	Description	(Table 03000)
 00h	BYTE	statistics table major version
 01h	BYTE	statistics table minor version (decimal, 0-99)
 02h	WORD	number of generic counters following
 04h	DWORD	"ValidCountersMask" (bitmask, bit 31 is TotalTxPackets)
 08h	DWORD	TotalTxPackets
 0Ch	DWORD	TotalRxPackets
 10h	DWORD	IgnoredRxPackets
 14h	WORD	number of custom counters
 16h  N DWORDs	custom counters
      N DWORDs	-> CustomCounterStrN (one per custom counter)
	var	length-prepended and NULL terminated string for Counter 0
	...
	var	length-prepended and NULL terminated string for Counter N-1
SeeAlso: #02999,#03006

Format of Protocol Stack Configuration Table:
Offset	Size	Description	(Table 03001)
 00h	BYTE	configuration table major version
 01h	BYTE	configuration table minor version (decimal, 0-99)
 02h	DWORD	-> counted NUL-terminated long descriptive name for protocol
 06h	DWORD	-> counted NUL-terminated short name for protocol (15 chars)
 0Ah	BYTE	protocol stack major version
 0Bh	BYTE	protocol stack minor version (decimal, 0-99)
 0Ch 16 BYTEs	reserved for future use

Format of MLID Configuration Table:
Offset	Size	Description	(Table 03002)
 00h 26 BYTEs	signature 'HardwareDriverMLID	     ' (8 spaces on end)
 1Ah	BYTE	configuration table major version
 1Bh	BYTE	configuration table minor version (decimal, 0-99)
 1Ch  6 BYTEs	node address
 22h	WORD	MLID mode flags (see #03003)
 24h	WORD	board number
 26h	WORD	board instance (if more than one of same board installed)
 28h	WORD	maximum packet size
 2Ah	WORD	BestDataSize
 2Ch	WORD	WorstDataSize
 2Eh	DWORD	-> counted NUL-terminated long name for NIC
 32h	DWORD	-> counted NUL-terminated short name for NIC (8 chars max)
 36h	DWORD	-> counted NUL-terminated Frame and Media type
 3Ah	WORD	reserved (0000h)
 3Ch	WORD	frame type ID
 3Eh	WORD	TransportTime (milliseconds)
 40h	DWORD	-> SourceRouteHandler for TokenRing. (Used by ROUTE.COM)
 44h	WORD	lookahead size
 46h	WORD	line speed (Mbps if high bit clear, else Kbps)
 48h	WORD	QueueDepth
 4Ah  6 BYTEs	reserved (0)
 50h	BYTE	driver major version
 51h	BYTE	driver minor version (decimal, 0-99)
 52h	WORD	bus/multicast flags (see #03004)
 54h	WORD	send retries
 56h	DWORD	ConfigTableLink
 5Ah	WORD	MLID sharing flags (see #03005)
 5Ch	WORD	slot number
 5Eh	WORD	I/O address 1
 60h	WORD	I/O range 1
 62h	WORD	I/O address 2
 64h	WORD	I/O range 2
 66h	DWORD	memory address 1
 6Ah	WORD	memory size 1
 6Ch	DWORD	memory address 2
 70h	WORD	memory size 2
 72h	BYTE	interrupt line 1
 73h	BYTE	interrupt line 2
 74h	BYTE	DMA line 1
 75h	BYTE	DMA line 2

Bitfields for MLID mode flags:
Bit(s)	Description	(Table 03003)
 15	MLID supports Octet Reversal
 14	node address is non-canonical
 13	promiscuous mode is supported
 12-8	reserved
 7	LDataSize field in LookAhead structure supported
 6	raw send supported
 5	MLID needs to be polled by LSL
 4	reserved (0)
 3	multicasting is supported
 2	not currently used by DOS ODI, set to 0.
 1	network card uses DMA.
 0	RealDriverBit, always set to 1.

Bitfields for bus/multicast flags:
Bit(s)	Description	(Table 03004)
 10-9	specialized multicast support
	00 = Group addressing is default for medium
	01 = Invalid
	10 = Filter group address in MLID.
	11 = Adapter filters group address.
 2	supports Micro Channel cards
 1	supports ISA cards
 0	supports EISA cards

Bitfields for MLID sharing flags:
Bit(s)	Description	(Table 03005)
 8	NIC can share DMA2
 7	NIC can share DMA1
 6	NIC can share IRQ2
 5	NIC can share IRQ1
 4	NIC can share Memory2
 3	NIC can share Memory1
 2	NIC can share IO2
 1	NIC can share IO1
 0	MLID is currently shut down

Format of MLID Statistics Table:
Offset	Size	Description	(Table 03006)
 00h	BYTE	driver statistics table major version
 01h	BYTE	driver statistics table minor version (decimal, 0-99)
 02h	WORD	number of generic counters (typically 13)
 04h	DWORD	"ValidCountersMask" (bit mask, bit 31 is TotalTxCount)
 08h	DWORD	TotalTxCount
 0Ch	DWORD	TotalRxCount
 10h	DWORD	NoECBAvailableCount
 14h	DWORD	TxTooBigCount
 18h	DWORD	TxTooSmallCount
 1Ch	DWORD	RxOverflowCount
 20h	DWORD	RxTooBigCount
 24h	DWORD	RxTooSmallCount
 28h	DWORD	TxMiscCount
 2Ch	DWORD	RxMiscCount
 30h	DWORD	TxRetryCount
 34h	DWORD	RxChecksumErrorCount
 38h	DWORD	RxMismatchCount
 3Ch	WORD	number of custom counters
 3Eh  N DWORDs	custom counters
      N DWORDs	-> CustomCounterStrN (one per custom counter)
	var	length-prepended and NULL terminated string for Counter 0
	...
	var	length-prepended and NULL terminated string for Counter N-1
SeeAlso: #02999,#03000

Format of bound stack info structure:
Offset	Size	Description	(Table 03007)
 00h	DWORD	-> protocol stack's short name (counted, NUL-terminated)
 04h	DWORD	-> receive handler
 08h	DWORD	-> control handler

Format of stack info structure:
Offset	Size	Description	(Table 03008)
 00h	DWORD	-> receive handler
 04h	DWORD	-> control handler

Format of General Service Control Block:
Offset	Size	Description	(Table 03009)
 00h	DWORD	-> next GSCB (maintained internally by LSL)
 04h	DWORD	-> entry point for general service handler
 08h	WORD	command code for this general service (8000h-FFFFh)
Note:	the control block must not be altered or deallocated until the general
	  service is removed

Format of Lookahead structure:
Offset	Size	Description	(Table 03010)
 00h	DWORD	-> Media header
 04h	DWORD	-> lookahead buffer
 08h	WORD	length of lookahead buffer
 0Ah  6 BYTEs	protocol ID
 10h	WORD	logical board number
 12h	WORD	lookahead size

Format of ODI ECB:
Offset	Size	Description	(Table 03011)
 00h	DWORD	link to next ECB
 04h	DWORD	link to previous ECB
 08h	WORD	general status
		0000h received successfully
		8006h packet overflow
		8007h reception aborted (data not valid)
 0Ah	DWORD	-> event service routine or RETF (never 0000h:0000h)(see #03012)
 0Eh	WORD	protocol stack identifier
 10h  6 BYTEs	protocol ID (sending only)
 16h	WORD	MLID board number (sending only)
 18h  6 BYTEs	MAC destination address
 1Eh  4 BYTEs	driver workspace
 22h  8 BYTEs	protocol workspace
 2Ah	WORD	total length of sent buffer
 2Ch	WORD	fragment count
 2Eh  2 WORDs	segment,offset of first fragment buffer
 32h	WORD	length of first fragment buffer
	...
SeeAlso: #02997

(Table 03012)
Values event service routine is called with:
	ES:SI -> associated ODI ECB (see #03011)
	interrupts disabled
Return: DS,BP,SS,SP preserved
	interrupt disabled
Notes:	the service routine may invoke any IPX/ODI function except CloseSocket
	it is safe to send a packet and wait for completion if enough stack
	  space is available

Top
2FC000 - INT 2F - Novell NetWare Event Service Layer (NESL) 1.0 - INSTALLATION CHECK
INT 2F - Novell NetWare Event Service Layer (NESL) 1.0 - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    DX:BX -> FAR entry point (see #03013,#03014,#03015,#03016,#03017,#03018)
	    ES:SI -> signature string "NESL_EVENTS"
Program: NESL is a generic interface for event handling in ODI drivers and
	  other NetWare-oriented modules.  Primarily intended to support
	  power management and "hot swapping" of PCMCIA cards, but it is not
	  limited to this.
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"Link Support Layer",AX=C000h"NETWARN"

(Table 03013)
Call NESL function GetNESLConfigPointer with:
	BX = 0000h
Return: AX = completion code (0000h,8008h) (see #03019)
	ES:SI -> NESL configuration table if successful (see #03020)
	BP,DS,STACK preserved
Desc:	Obtain a pointer to the NESL Configuration Table
SeeAlso: #03014,#03017

(Table 03014)
Call NESL function RegisterEventProducer with:
	BX = 0001h
	ES:SI -> Producer Event Control Block (PECB) (see #03021)
Return: AX = completion code (0000h, 8005h, 8008h) (see #03019)
	ES:SI -> still points to PECB
	BP,DS,STACK preserved
Desc:	Allows a module to register as a producer of a given event class
Note:	PECB_ClassName and PECB_Flags must be filled in on entry
SeeAlso: #02870,#03015,#03016,#03017

(Table 03015)
Call NESL function DeRegisterEventProducer with:
	BX = 0002h
	ES:SI -> PECB previously passed to RegisterEventProducer (see #03021)
Return: AX = completion code (0000h, 8002h, 8008h) (see #03019)
	ES:SI -> still points to PECB
	BP,DS,STACK preserved
Desc:	Allows a module to de-register as a producer of a given event class
SeeAlso: #03014,#03018

(Table 03016)
Call NESL function EventNotification with:
	BX = 0003h
	ES:SI -> PECB previously registered (see #03021)
Return: AX = completion code (0h, 8005h, 8008h) (see #03019)
	ES:SI -> still points to PECB
	BP,DS,STACK preserved
Desc:	Allows a module to signal that an event has just occurred in a given
	  event class.
Notes:	Once called, NESL will generate corresponding callouts for this
	  event, as described in Table #03023.
	on entry, the PECB_DataPtr must point at an Event Parameter Block (EPB)
	  (see #03024) filled in to match the desired event
SeeAlso: #03014

(Table 03017)
Call NESL function RegisterEventConsumer with:
	BX = 0004h
	ES:SI -> Consumer Event Control Block (CECB) (see #03022)
Return: AX = completion code (0h, 8005h, 8008h) (see #03019)
	ES:SI -> still points to CECB
	BP,DS,STACK preserved
Desc:	Allows a module to register as a consumer of a given event class
Note:	on entry, the CECB_ClassName, CECB_NotifProc and CECB_OSILevel must be
	  filled in.
SeeAlso: #03014,#03018

(Table 03018)
Call NESL function DeRegisterEventConsumer with:
	BX = 0005h
	ES:SI -> CECB previously passed to RegisterEventConsumer (see #03022)
Return: AX = completion code (0h, 8002h, 8008h) (see #03019)
	ES:SI -> still points to CECB
	BP,DS,STACK preserved
Desc:	Allows a module to de-register as a consumer of a given event class
SeeAlso: #03015,#03017

(Table 03019)
Values for NESL Error code:
 0000h	Successful
 8002h	Bad Parameter
 8005h	Fail
 8008h	Bad Command

Format of NESL Configuration Table:
Offset	Size	Description	(Table 03020)
 00h	WORD	NESL_Cfg_MajVer	 Major Version of this table (=1)
 02h	WORD	NESL_Cfg_MinVer	 Minor Version of this table (=0)
 04h	DWORD	NESL_Cfg_ModLName   -> ASCIZ long name of NESL module
		(typically -> "NetWare Event Service Layer for 16-Bit DOS")
 08h	DWORD	NESL_Cfg_ModSName   -> ASCIZ short name of NESL module
		(typically -> "NESL")
 0Ch	WORD	NESL_Cfg_ModMajVer  Major Version of NESL itself (=1)
 0Eh	WORD	NESL_Cfg_ModMinVer  Minor Version of NESL itself (=0)

Format of NESL Producer Event Control Block (PECB):
Offset	Size	Description	(Table 03021)
 00h	WORD	PECB_MajVer  Major Version of this structure (=1)
 02h	WORD	PECB_MinVer  Minor Version of this structure (=0)
 04h	DWORD	PECB_NextProducer   -> next PECB.  NULL if last.
 08h	DWORD	PECB_ClassName	    -> ASCIZ string identifying event
					  class (see #03025)
 0Ch	DWORD	PECB_ConsumerList   -> list of consumers for this event class
 10h	DWORD	PECB_DataPtr	    -> points to additional data during events
 14h	DWORD	PECB_Flags
		Bit 0	=0  consumers should be called "top down" for this
			    event class.  (OSI level 7 down to OSI level 1)
			=1  consumers should be called "bottom up"
		Bits 1-31   Reserved =0
 18h  8 BYTEs	PECB_Reserved (all zeros)
Note:	Although the event producer provides the memory for the PECB, the
	  NESL module controls this memory until the event class is
	  de-registered.
	While owned by NESL, this structure should be treated as read-only,
	  except for the PECB_DataPtr field.

Format of NESL Consumer Event Control Block (CECB):
Offset	Size	Description	(Table 03022)
 00h	WORD	CECB_MajVer  Major Version of this structure (=1)
 02h	WORD	CECB_MinVer  Minor Version of this structure (=0)
 04h	DWORD	CECB_NextConsumer   -> next CECB.  NULL if last.
 08h	DWORD	CECB_ClassName	    -> ASCIZ string identifying event
					  class (see #03025)
 0Ch	DWORD	CECB_NotifProc	    -> FAR CALL event handler (see #03023)
 10h	WORD	CECB_OSILevel
		Bits 4-7 = OSI Layer of this module (1 through 7)
		Bits 0-3 = relative ordering with other modules on same layer
 13h 14 BYTEs	CECB_Reserved (all zeros)
Note:	Although the event consumer provides the memory for the CECB, the
	  NESL module controls this memory until the consumer is de-registered.
	While owned by NESL, this structure should be treated as read-only,

(Table 03023)
Values NESL Consumer Notification Procedure is called with:
	ES:SI -> Event Parameter Block (EPB) (see #03024)
Return: AX = completion code (0000h, 8005h) (see #03019)
	ES:SI -> still points to EPB
Desc:	Called by NESL to notify the consumer when an event has occurred in
	  an event class for which it has registered.
SeeAlso: #03022

Format of NESL Event Parameter Block (EPB):
Offset	Size	Description	(Table 03024)
 00h	WORD	EPB_MajVer  Major Version of this structure (=1)
 02h	WORD	EPB_MinVer  Minor Version of this structure (=0)
 04h	DWORD	EPB_ClassName  -> ASCIZ string identifying event class
				  (see #03025)
 08h	DWORD	EPB_EventName  -> ASCIZ string identifying event within
				  class (see #03026)
 0Ch	DWORD	EPB_ModuleName -> ASCIZ string identifying module
				  producing event
 10h	DWORD	EPB_DataPtr0   -> event-defined data or NULL if not used
 14h	DWORD	EPB_DataPtr1   -> event-defined data or NULL if not used
 18h  8 BYTEs	EPB_Reserved (all zeros)

(Table 03025)
Values for NESL Event Class Names:
 Event Class		Description
 -------------------	-----------------------------------------
 Service Suspend	Suspension of a service.  Called top-down.
 Service Resume		Resumption/availability of a service. Called bottom-up.
 Service/Status Change	Change in status or level of service.  Called top-down.
 Suspend Request	Request to suspend a service.  Called bottom-up.
Note:	Contact Novell Labs to register new event classes.

(Table 03026)
Values for NESL Event Names:
 Event Name			Class		    Description
 --------------------------	-------------	    ---------------------------
 MLID Cable Disconnect		Service Suspend	    Cable disconnected from NIC
 MLID Card Removal		Service Suspend	    PCMCIA card removed
 MLID Hardware Failure		Service Suspend	    Serious hardware
							  failure in NIC
 MLID Not In Range		Service Suspend	    Wireless access point
							  is out of range
 MLID Shutdown			Service Suspend	    MLID was shut down
 MLID Media Access Denied	Service Suspend	    Access to physical
							  medium unsuccessful
 MLID Cable Reconnect		Service Resume	    Cable re-connected to NIC
 MLID Card Insertion Complete	Service Resume	    PCMCIA card inserted
 MLID In Range			Service Resume	    Wireless access point
							  in range
 MLID Reset			Service Resume	    MLID was just reset
 MLID Access Point Change	Serv/Status Change  Station has moved to
							  new access point
 MLID Speed Change		Serv/Status Change  Change in communic. speed
Note:	Contact Novell Labs to register new event names.
	For all predefined events above, EPB_DataPtr0 (see #03024) points
	  to the MLID Configuration table (see AX=C000h"ODI") for the
	  affected MLID.

Top
2FC000 - INT 2F - Novell NetWare Connect NETWARN - INSTALLATION CHECK
INT 2F - Novell NetWare Connect NETWARN - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    SI = segment of resident portion
Program: NETWARN is a utility supplied with NetWare Connect to warn a
	  remote dialup user when programs are about to be loaded slowly over
	  the modem link.
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	on return, verify that it is NETWARN responding by examining signature
	  at in NETWARN's data table in the resident segment (see #03027)
SeeAlso: AX=C000h"ODI",AX=C000h"NESL"

Format of NETWARN Configuration structure:
Offset	Size	Description	(Table 03027)
 103h 7 BYTEs	signature string "NETWARN"
 10Ah	BYTE	major version in ASCII (="1")
 10Bh	BYTE	minor version in ASCII (="0")
 10Ch	DWORD	minimum size of EXE cared about in bytes (/S=xxxx)
 110h	WORD	same value in kilobytes (see #03028 [bit 4])
 112h	BYTE	multiplex code (AH value) actually being used
 113h	WORD	options (see #03028)
 115h	DWORD	INT 21h vector before NETWARN loaded
 119h	DWORD	INT 2Fh vector before NETWARN loaded
 11Dh 16 BYTEs	ASCIIZ local name of last device which was checked
 12Dh 128 BYTEs ASCIIZ remote name of last device which was checked
Note:	the specified offsets are from the start of the resident segment

Bitfields for NETWARN options:
Bit(s)	Description	(Table 03028)
 0	??? (=0)
 1	/U (Unload) selected (never in resident)
 2	/E (Enabled) Will trap & check EXEC's
 3	/D (Disabled) No EXEC checking done
 4	/S (Size) was set (see #03027 [offsets 010Ch and 0110h])
 5	/P (Path shown)
 6	/H or /? (Help) (never in resident)
SeeAlso: #03027

Top
2FC000 - INT 2F - FN32 32 character filename utilities - INSTALLATION CHECK
INT 2F - FN32 32 character filename utilities - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	   ES:DI -> signature string "FN32 32CHAR TSR"
Program: FN32 is a TSR which supports 32 character filenames under PC/MS-DOS
Note:	the TSR intercepts INT 21 calls and performs filename substitution by
	  managing dictionary files in each directory which contains long
	  filenames

Top
2FC000 - INT 2F - QMR - INSTALLATION CHECK
INT 2F - QMR - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    ES:DI -> signature string "QMR1!"
Program: QMR (Cove Software, Quick Mouse Reset) monitors the mouse
	  service interrupt (int 33h) and substitutes a fast software
	  reset (mouse fn 21h) for the slow hardware reset (mouse fn 0).
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C001h"QMR",AX=C002h"QMR",AX=C003h"QMR"

Top
2FC000 - INT 2F - VGAsave v1.93 - INSTALLATION CHECK
INT 2F - VGAsave v1.93 - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    BX = segment of resident code
Program: VGAsave is a freeware VGA-specific, mouse-aware screenblanker by Bill
	  Javurek
Range:	AH=C0h to AH=FFh, selected by scanning for a free multiplex number
Note:	the transient portion of VGAsave compares the first 38 bytes of the
	  resident code (addressed through BX) against its own copy of the
	  resident code to complete the installation check
SeeAlso: INT 14/AX=AA01h,INT 2F/AH=93h
Index:	screen saver;VGAsave

Top
2FC000 - INT 2F - AD-DOS - INSTALLATION CHECK
INT 2F - AD-DOS - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    BX = 4144h ('AD')
	    CX = 2D44h ('-D')
	    DX = 4F53h ('OS')
Program: AD-DOS is the DOS version of the After Dark screen blanker for
	  MS Windows
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C001h"AD-DOS",AX=C003h"AD-DOS",AX=C005h"AD-DOS",AX=C007h"AD-DOS"
SeeAlso: AX=C009h"AD-DOS",AX=C020h"AD-DOS",INT 14/AX=AA01h
Index:	screen saver;AD-DOS

Top
2FC000 - INT 2F U - WANG_ER.COM - INSTALLATION CHECK
INT 2F U - WANG_ER.COM - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    ES = segment of resident code
Program: WANG_ER is a TSR from Compaq which permits Compaq systems equipped
	  with 3-mode floppy drives to read Wang document diskettes
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	The installation check is completed by comparing the resident code
	  with the copy in the transient program

Top
2FC000 - INT 2F O - ASPIHOOK.SYS - INSTALLATION CHECK
INT 2F O - ASPIHOOK.SYS - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if multiplex number in use
	    ES:DI -> ASCIZ signature "ASPIHOOK" if ASPIHOOK.SYS installed
Program: ASPIHOOK is a device driver for monitoring SCSI activity through an
	  ASPI host manager; it is part of the Personal Measure system
	  activity monitor from Spirit of Performance, Inc.
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"PMEASURE"

Top
2FC000 - INT 2F - PMEASURE.EXE - INSTALLATION CHECK
INT 2F - PMEASURE.EXE - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if multiplex number in use
	    ES:DI -> ASCIZ signature "PMEASURE.EXE" if PMEASURE.EXE installed
Program: PMEASURE.EXE is a TSR for monitoring system hardware activity which
	  is part of the Personal Measure system activity monitor from Spirit
	  of Performance, Inc.
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	If a Personal Measure Hook Module, such as ASPIHOOK.SYS, is already
	  installed, PMEASURE.EXE uses the next highest free multiplex number.
SeeAlso: AX=C000h"ASPIHOOK",AX=C000h"PERSONAL MEASURE"

Top
2FC000 - INT 2F - PERSONAL MEASURE - HOOK MODULE INSTALLATION CHECK
INT 2F - PERSONAL MEASURE - HOOK MODULE INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	ES:DI -> signature string "PMEASUREHOOK"
	AX = C000 if not installed, per mux id conventions
	DH = major release number (binary)
	DL = minor release number (binary)
Program: The Personal Measure system activity monitor from Spirit of
	  Performance, Inc. uses an extensible series of modules to hook
	  into various operating system interfaces and monitor system calls.
	  Current hook modules are ASPIHOOK.SYS for ASPI device activity
	  and CDRHOOK.SYS for non-ASPI CD-ROM activity.	 All hook modules
	  share the same mux id.
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"PMEASURE.EXE",AX=C001h"PERSONAL MEASURE"

Top
2FC000 - INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALLATION CHECK
INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    SI = signature value 20D6h
	    DI = signature value 8761h
	    ES:BX -> configuration table (see #03029)
	    CX = ??? (0300h)
	    DX = ??? (0020h)
Program: PCACHE is the resident print spooler portion of PrintCache by
	  LaserTools; it may use either memory or disk space to spool output
Range:	AH=C0h to AH=FFh, selected by commandline switch
SeeAlso: AX=0100h/SI=20D6h,AX=C001h"PCACHE"

Format of PrintCache configuration table:
Offset	Size	Description	(Table 03029)
 00h 26 BYTEs	ASCIZ signature string "TORQ Configuration Table: "
 1Ah  2 BYTEs	???
 1Ch	DWORD	-> data table (see #03030)
 20h  4 BYTEs	ASCIZ version string ("3.1" for v3.1)
 24h  5 BYTEs	???
 29h 12 BYTEs	ASCIZ version date string ("Aug 31 1993" for v3.1)
 35h	WORD	buffered port type (01h = LPT, 02h = COM)
 37h	WORD	buffered port BIOS port number
 39h  5 BYTEs	ASCIZ buffered port name ("LPTn" or "COMn")
 3Eh	WORD	physical port type (01h = LPT, 02h = COM)
 40h	WORD	physical port BIOS port number
 42h  5 BYTEs	ASCIZ physical port name ("LPTn" or "COMn")
 47h	BYTE	port driver IRQ
 48h 21 BYTEs	???
 5Dh	WORD	buffer size in K
 5Fh 27 BYTEs	???
 7Ah	BYTE	popup hotkey shift states (see #00582 at INT 16/AH=02h)
 7Bh	BYTE	popup hotkey scan code (see #00006 at INT 09"IRQ1")
 7Ch  4 BYTEs	???
 80h 20 BYTEs	ASCIZ printer type name
	???

Format of PrintCache data table:
Offset	Size	Description	(Table 03030)
 00h  2 BYTEs	???
 02h	DWORD	-> ??? entry point
	???

Top
2FC000 - INT 2F - Frank Kintrup TSR Utilities - INSTALLATION CHECK
INT 2F - Frank Kintrup TSR Utilities - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    BX = program ID (see #03031)
	    CX = 464Bh (signature "FK")
	    DX = revision number (DH = major, DL = minor)
	    ES = resident segment of TSR
Range:	AH=C0h to AH=FFh, selected by searching for a free multiplex number
SeeAlso: AX=C001h"Kintrup",AX=C002h"Kintrup"

(Table 03031)
Values for Frank Kintrup TSR program ID:
 4153h	"AS"	ASCII.COM	ASCII table with paste function
 434Ch	"CL"	CLOCK.COM	clock with date/time display and alarm
 5043h	"PC"	PCALC.COM	programmer's calculator with paste function
 5343h	"SC"	SCRSAVE.COM	screen saver with mouse support and hotkey
 5544h	"UD"	UNDEL.COM	undelete program like SMARTCAN or DPROTECT

Top
2FC000 - INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if possibly installed
Range:	AH=C0h to AH=FFh, selected by scanning for signature with AL=AEh
SeeAlso: AX=C001h"HP 100LX",AX=C0AEh"HP 100LX",AX=C0AFh"HP 100LX"

Top
2FC000 - INT 2F - DIMWIT - INSTALLATION CHECK
INT 2F - DIMWIT - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if installed
	    ES:DI -> signature string "DIMDOS" or "DIMWIN"
Program: DIMWIT is a freeware Windows-aware screen blanker by Larry Board
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"AD-DOS",AX=C001h"DIMWIT"
Index:	screen saver;DIMWIT

Top
2FC000BX444B - INT 2F - METZ XpressFax Hardware TSR (CLASS2) - INSTALLATION CHECK
INT 2F - METZ XpressFax Hardware TSR (CLASS2) - INSTALLATION CHECK
	AX = C000h
	BX = 444Bh ('DK')
	CX = 4A4Eh ('AN')
Return: AL = status
	    00h not installed, OK to install
	    FFh installed
		BX = 646Bh ('dk')
		CX = 6A6Eh ('an')
Range:	AH=C0h to AH=FFh, selected automatically
SeeAlso: AH=C0h"METZ"

Top
2FC000 - INT 2F U - TSENGP.COM - INSTALLATION CHECK
INT 2F U - TSENGP.COM - INSTALLATION CHECK
	AX = C000h
Return: AL = status
	    00h not installed, OK to install
	    FFh installed
		DS = segment of resident code
Program: TSENGP.COM is a TSR supplied by Compaq to fix an incompatibility
	  between some applications and Tseng ET4000-based video adapters
Range:	AH=C0h to AH=FFh, selected automatically
Note:	the installation check is completed by comparing the first eleven
	  bytes at DS:005Fh against the TSR's code (80h FCh 06h 74h 0Ah
	  80h FCh 07h 74h 05h EAh)

Top
2FC000 - INT 2F U - LapLink RemoteAccess (LLRA) - INSTALLATION CHECK
INT 2F U - LapLink RemoteAccess (LLRA) - INSTALLATION CHECK
	AX = C000h
Return: AL = FFh if one of the components is installed
	CX:BX -> signature within LLRA component:
	    "TSI_LapLinkCore" for LLRA1.EXE
	    "TSI_Blackbird"   for LLRA2.EXE
	    "TSI_Redirector"  for LLRA3.EXE
	    "TSI_Compression" for LLRA4.EXE
	DL = major version number
	DH = minor version number
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	LapLink components are installed in the order listed above, but not
	  necessarily all four; each gets its own multiplex number (default
	  C0h-C3h)
SeeAlso: AX=C002h"LapLink",AX=C205h"LapLink",AX=C2F0h"LapLink"
SeeAlso: AX=C2F1h"LapLink",AX=C301h"LapLink",AX=C3F0h"LapLink"
SeeAlso: AX=C3F1h"LapLink"

Top
2FC001 - INT 2F - QMR - REQUEST HARDWARE RESET
INT 2F - QMR - REQUEST HARDWARE RESET
	AX = C001h
Return: ES = QMR code segment
	AL destroyed
Desc:	this function is used to force a full mouse reset when QMR is installed
SeeAlso: AX=C000h"QMR",AX=C002h"QMR"

Top
2FC001 - INT 2F - DIMWIT - GET CONFIGURATION DATA
INT 2F - DIMWIT - GET CONFIGURATION DATA
	AX = C001h
Return: ES:DI -> TSR configuration data (see #03032)
Program: DIMWIT is a freeware Windows-aware screen blanker by Larry Board
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"DIMWIT",AX=C001h"AD-DOS"
Index:	screen saver;DIMWIT

Format of DIMWIT TSR configuration data:
Offset	Size	Description	(Table 03032)
 00h	WORD	blanking delay in clock ticks
 02h	BYTE	instant-blanking hotkey scan code (see #00006)
		Ctrl and Alt must also be pressed

Top
2FC001ES0000 - INT 2F - AD-DOS - GET RESIDENT CODE SEGMENT
INT 2F - AD-DOS - GET RESIDENT CODE SEGMENT
	AX = C001h
	ES = 0000h
Return: AL = 00h if successful
	    ES = AD-DOS TSR Code Segment
SeeAlso: AX=C000h"AD-DOS",AX=C001h"DIMWIT"
Index:	screen saver;AD-DOS

Top
2FC001 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ENTRY POINTS
INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ENTRY POINTS
	AX = C001h
Return: AL = FFh if installed
	    ES:BX -> ???
	    ES:DX -> ???
	    ES:SI -> ???
	    ES:DI -> ??? (equivalent to AX=C002h)
SeeAlso: AX=C000h"PCACHE",AX=C002h"PCACHE"

Top
2FC001 - INT 2F - Frank Kintrup TSR Utilities - CLOCK - DISABLE DISPLAY UPDATE
INT 2F - Frank Kintrup TSR Utilities - CLOCK - DISABLE DISPLAY UPDATE
	AX = C001h
Range:	AH=C0h to AH=FFh, selected by searching for a free multiplex number
SeeAlso: AX=C000h"Kintrup",AX=C002h"Kintrup"

Top
2FC001CX03FB - INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - UNINSTALL
INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - UNINSTALL
	AX = C001h
	CX = 03FBh return address to continue uninstall if possible
Return: program uninstalled
Range:	AH=C0h to AH=FFh, selected by scanning for signature with AL=AEh
SeeAlso: AX=C000h"HP 100LX",AX=C0AEh"HP 100LX",AX=C0AFh"HP 100LX"

Top
2FC001 - INT 2F - PERSONAL MEASURE - PASS PARAMETERS TO HOOK MODULE(S)
INT 2F - PERSONAL MEASURE - PASS PARAMETERS TO HOOK MODULE(S)
	AX = C001h
	DX = segment of PMEASURE.EXE or 0000h
	BX = offset in PMEASURE.EXE or 0000h
	CX = offset in PMEASURE.EXE or 0000h
Return: None
Program: PMEASURE.EXE is a TSR for monitoring system hardware activity which
	  is part of the Personal Measure system activity monitor from Spirit
	  of Performance, Inc.	PMEASURE uses this call to inform its hook
	  modules whether or not it is running and to pass information about
	  shared data and procedures.
Warning: This information documents a function that is private to Personal
	  Measure and is provided as information only.	It should NOT be called
	  by any software other than Personal Measure.
SeeAlso: AX=C000h"PERSONAL MEASURE"

Top
2FC002 - INT 2F - AD-DOS - CHECK FOR NEW INPUT
INT 2F - AD-DOS - CHECK FOR NEW INPUT
	AX = C002h
Return: AL = 00h if successful
	    BX = status
		0000h no input since last check
		0001h new input available
Note:	this call also resets the new-input flag
SeeAlso: AX=C000h"AD-DOS",AX=C004h
Index:	screen saver;AD-DOS

Top
2FC002 - INT 2F - QMR - DISABLE QMR
INT 2F - QMR - DISABLE QMR
	AX = C002h
Return: ES = QMR code segment
	AL destroyed
Desc:	this call temporarily disables QMR
SeeAlso: AX=C000h"QMR",AX=C003h"QMR"

Top
2FC002 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET BUFFER SIZE
INT 2F U - PrintCache v3.1 PCACHE.EXE - GET BUFFER SIZE
	AX = C002h
Return: AX = ??? in K
	BX = size of print buffer in K
Program: PCACHE is the resident print spooler portion of PrintCache by
	  LaserTools; it may use either memory or disk space to spool output
SeeAlso: AX=C000h"PCACHE"

Top
2FC002 - INT 2F - Frank Kintrup TSR Utilities - CLOCK - ENABLE DISPLAY UPDATE
INT 2F - Frank Kintrup TSR Utilities - CLOCK - ENABLE DISPLAY UPDATE
	AX = C002h
Range:	AH=C0h to AH=FFh, selected by searching for a free multiplex number
SeeAlso: AX=C000h"Kintrup",AX=C002h"Kintrup"

Top
2FC002 - INT 2F U - LapLink RemoteAccess (LLRA) - Core - ???
INT 2F U - LapLink RemoteAccess (LLRA) - Core - ???
	AX = C002h
	details not yet available
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"LapLink",AX=C002h"LapLink",AX=C2F0h"LapLink"
SeeAlso: AX=C2F1h"LapLink",AX=C301h"LapLink"

Top
2FC003 - INT 2F - AD-DOS - SET MINUTES TO WAIT
INT 2F - AD-DOS - SET MINUTES TO WAIT
	AX = C003h
	BX = minutes to wait before blanking screen
Return: AL = 00h if successful
Program: AD-DOS is the DOS version of the After Dark screen blanker for
	  MS Windows
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	this call also resets the delay timer
SeeAlso: AX=C000h"AD-DOS",AX=C004h
Index:	screen saver;AD-DOS

Top
2FC003 - INT 2F - QMR - ENABLE QMR
INT 2F - QMR - ENABLE QMR
	AX = C003h
Return: ES = QMR code segment
	AL destroyed
Desc:	this call enables QMR after it has been disabled
SeeAlso: AX=C000h"QMR",AX=C002h"QMR"

Top
2FC003 - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
	AX = C003h
Return: BX destroyed
SeeAlso: AX=C004h"PCACHE"

Top
2FC004 - INT 2F - AD-DOS - GET MINUTES TO WAIT
INT 2F - AD-DOS - GET MINUTES TO WAIT
	AX = C004h
Return: AL = 00h if successful
	    BX = minutes to wait before blanking screen
SeeAlso: AX=C000h"AD-DOS",AX=C003h"AD-DOS"
Index:	screen saver;AD-DOS

Top
2FC004 - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
	AX = C004h
Return: BX destroyed
SeeAlso: AX=C003h"PCACHE"

Top
2FC005 - INT 2F - AD-DOS - SET BLANKER STATUS
INT 2F - AD-DOS - SET BLANKER STATUS
	AX = C005h
	BX = new state (0000h inactive, 0001h active) (default 0001h)
Return: AL = 00h if successful
SeeAlso: AX=C006h"AD-DOS"
Index:	screen saver;AD-DOS

Top
2FC005 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C005h
	???
Return: BX destroyed
	???
Program: PCACHE is the resident print spooler portion of PrintCache by
	  LaserTools; it may use either memory or disk space to spool output
Range:	AH=C0h to AH=FFh, selected by commandline switch
SeeAlso: AX=C000h"PCACHE"

Top
2FC006 - INT 2F - AD-DOS - GET BLANKER STATUS
INT 2F - AD-DOS - GET BLANKER STATUS
	AX = C006h
Return: AL = 00h if successful
	    BX = current state of screen blanker (0000h inactive, 0001h active)
Program: AD-DOS is the DOS version of the After Dark screen blanker for
	  MS Windows
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"AD-DOS",AX=C005h"AD-DOS"
Index:	screen saver;AD-DOS

Top
2FC006 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C006h
	???
Return: BX destroyed
	???
Note:	this function appears to be identical to AX=C007h
SeeAlso: AX=C000h"PCACHE",AX=C007h"PCACHE"

Top
2FC007 - INT 2F - AD-DOS - SET HOT KEY
INT 2F - AD-DOS - SET HOT KEY
	AX = C007h
	BX = hot key
	CL = hot key shift status
Return: AL = 00h if successful
SeeAlso: AX=C008h"AD-DOS"
Index:	screen saver;AD-DOS

Top
2FC007 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C007h
	???
Return: BX destroyed
	???
Note:	this function appears to be identical to AX=C006h
SeeAlso: AX=C000h"PCACHE",AX=C006h"PCACHE"

Top
2FC008 - INT 2F - AD-DOS - GET CURRENT HOT KEY
INT 2F - AD-DOS - GET CURRENT HOT KEY
	AX = C008h
Return: AX = status
	    0000h successful
		BX = Hot Key
		CL = Hot Key Shift Status
	    0008h otherwise
SeeAlso: AX=C000h"AD-DOS",AX=C007h"AD-DOS"
Index:	screen saver;AD-DOS

Top
2FC008 - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
	AX = C008h
Return: BX destroyed
SeeAlso: AX=C000h"PCACHE",AX=C009h"PCACHE"

Top
2FC009 - INT 2F - AD-DOS - UNBLANK MONITOR
INT 2F - AD-DOS - UNBLANK MONITOR
	AX = C009h
Return: AL = 00h if successful
Program: AD-DOS is the DOS version of the After Dark screen blanker for
	  MS Windows
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	this function works by simulating keyboard activity
Index:	screen saver;AD-DOS

Top
2FC009 - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
	AX = C009h
Return: BX destroyed
Program: PCACHE is the resident print spooler portion of PrintCache by
	  LaserTools; it may use either memory or disk space to spool output
Range:	AH=C0h to AH=FFh, selected by commandline switch
SeeAlso: AX=C000h"PCACHE",AX=C008h"PCACHE"

Top
2FC00A - INT 2F - AD-DOS - ???
INT 2F - AD-DOS - ???
	AX = C00Ah
Return: AX = status
	    0000h successful
		BH = ??
		BL = ??
	    000Ah failed
Index:	screen saver;AD-DOS

Top
2FC00A - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C00Ah
	???
Return: AH = bit flags
	    bit 5: ???
	AL = bit flags
	    bit 4: ???
	    bit 3: ???
	BX destroyed
	???
SeeAlso: AX=C000h"PCACHE"

Top
2FC00B - INT 2F - AD-DOS - ???
INT 2F - AD-DOS - ???
	AX = C00Bh
Return: AX = status
	    0000h successful
	    000Bh failed
Index:	screen saver;AD-DOS

Top
2FC00B - INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
	AX = C00Bh
Return: BX destroyed
SeeAlso: AX=C000h"PCACHE"

Top
2FC00C - INT 2F - AD-DOS - SET ??? INTERNAL FLAG TO 01h
INT 2F - AD-DOS - SET ??? INTERNAL FLAG TO 01h
	AX = C00Ch
Return: AX = status
	    0000h successful
	    000Ch failed
Program: AD-DOS is the DOS version of the After Dark screen blanker for
	  MS Windows
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Index:	screen saver;AD-DOS

Top
2FC00C - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
	AX = C00Ch
Return: AX = ??? (0000h)
	BX = ??? (0000h)
	CX = ??? (0100h)
	DL = ???
	DH = ???
SeeAlso: AX=C000h"PCACHE"

Top
2FC00D - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ???
	AX = C00Dh
	DL = ???
Return: BX destroyed
Program: PCACHE is the resident print spooler portion of PrintCache by
	  LaserTools; it may use either memory or disk space to spool output
Range:	AH=C0h to AH=FFh, selected by commandline switch
SeeAlso: AX=C000h"PCACHE"

Top
2FC00E - INT 2F - AD-DOS - SET PASSWORD STATUS
INT 2F - AD-DOS - SET PASSWORD STATUS
	AX = C00Eh
	BX = new state (0000h disabled, 0001h enabled)
Return: ???
SeeAlso: AX=C000h"AD-DOS",AX=C00Fh"AD-DOS"
Index:	screen saver;AD-DOS

Top
2FC00E - INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALL ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - INSTALL ???
	AX = C00Eh
	ES:DX -> ???
Return: BX destroyed
Note:	ES:DX is stored internally if the variable is currently 0000h:0000h,
	  but ignored if already set; a counter is incremented
SeeAlso: AX=C000h"PCACHE",AX=C00Fh"PCACHE"

Top
2FC00F - INT 2F - AD-DOS - GET PASSWORD STATUS
INT 2F - AD-DOS - GET PASSWORD STATUS
	AX = C00Fh
Return: BX = current state (0000h disabled, 0001h enabled)
SeeAlso: AX=C00Eh"AD-DOS"
Index:	screen saver;AD-DOS

Top
2FC00F - INT 2F U - PrintCache v3.1 PCACHE.EXE - REMOVE ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - REMOVE ???
	AX = C00Fh
Return: BX destroyed
Note:	this function decrements the counter used by AX=C00Eh, and clears the
	  internal pointer variable to 0000h:0000h when it reaches zero
SeeAlso: AX=C000h"PCACHE",AX=C00Eh"PCACHE"

Top
2FC010 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
	AX = C010h
	CX = index of ??? table (00h-02h, others treated as 00h)
	SI = offset into data table
Return: AL = byte at specified offset into table
	BX destroyed
SeeAlso: AX=C000h"PCACHE"

Top
2FC011 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
	AX = C011h
Return: AX = ??? (0007h)
	BX = ??? (0001h)
	CH = ???
	CL = ???
SeeAlso: AX=C000h"PCACHE"

Top
2FC012 - INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - GET ???
	AX = C012h
Return: AX = ???
	BX = ???
	CX = ???
	DX = ???
SeeAlso: AX=C000h"PCACHE"

Top
2FC013 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C013h
	???
Return: BX destroyed
	???
Program: PCACHE is the resident print spooler portion of PrintCache by
	  LaserTools; it may use either memory or disk space to spool output
Range:	AH=C0h to AH=FFh, selected by commandline switch
SeeAlso: AX=C000h"PCACHE"

Top
2FC014 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C014h
	???
Return: BX destroyed
	???
SeeAlso: AX=C000h"PCACHE"

Top
2FC015 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C015h
	???
Return: BX destroyed
	???
SeeAlso: AX=C000h"PCACHE"

Top
2FC016 - INT 2F U - PrintCache v3.1 PCACHE.EXE - INCREMENT ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - INCREMENT ???
	AX = C016h
Return: BX destroyed
SeeAlso: AX=C000h"PCACHE",AX=C017h"PCACHE"

Top
2FC017 - INT 2F U - PrintCache v3.1 PCACHE.EXE - DECREMENT ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - DECREMENT ???
	AX = C017h
Return: BX destroyed
SeeAlso: AX=C000h"PCACHE",AX=C016h"PCACH"

Top
2FC018 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C018h
	???
Return: BX destroyed
	???
Note:	the first instruction of this function is an indirect jump which points
	  at a RET by default
SeeAlso: AX=C000h"PCACHE",AX=C019h"PCACHE"

Top
2FC019 - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C019h
	???
Return: BX destroyed
	???
Note:	the first instruction of this function is an indirect jump which points
	  at a RET by default
SeeAlso: AX=C000h"PCACHE",AX=C018h"PCACHE"

Top
2FC01A - INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
INT 2F U - PrintCache v3.1 PCACHE.EXE - CLEAR ??? FLAG
	AX = C01Ah
Return: BX destroyed
SeeAlso: AX=C000h"PCACHE",AX=C01Bh"PCACHE"

Top
2FC01B - INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
INT 2F U - PrintCache v3.1 PCACHE.EXE - SET ??? FLAG
	AX = C01Bh
Return: BX destroyed
SeeAlso: AX=C000h"PCACHE",AX=C01Ah"PCACHE"

Top
2FC01C - INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
INT 2F U - PrintCache v3.1 PCACHE.EXE - ???
	AX = C01Ch
	???
Return: AX = ???
	BX destroyed
SeeAlso: AX=C000h"PCACHE"

Top
2FC01D - INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
INT 2F U - PrintCache v3.1 PCACHE.EXE - NOP
	AX = C01Dh to C01Fh
Return: BX destroyed
Program: PCACHE is the resident print spooler portion of PrintCache by
	  LaserTools; it may use either memory or disk space to spool output
Range:	AH=C0h to AH=FFh, selected by commandline switch
SeeAlso: AX=C000h"PCACHE"

Top
2FC020 - INT 2F - AD-DOS - GET AND RESET VxD API STATUS
INT 2F - AD-DOS - GET AND RESET VxD API STATUS
	AX = C020h
Return: AL = 00h if successful
	    BX = VxD API Status
		0000h no error
		0001h error
		0100h neither Windows 3.X enhanced mode nor Windows/386 2.x
			  is running
		0200h VM API entry point not found (VxD not installed)
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
Note:	this call resets the VxD API Status to zero
SeeAlso: AX=1602h,AX=1607h"CALL OUT API"
Index:	screen saver;AD-DOS

Top
2FC04E - INT 2F - Explosiv v2.00+ - NON-TSR EXECUTING CHECK
INT 2F - Explosiv v2.00+ - NON-TSR EXECUTING CHECK
	AX = C04Eh
Return: AL = 4Fh if Explosiv is running but not memory-resident
Program: Explosiv is a shareware animated screen blanker for DOS and Windows 3
	  by H&G Software (Reidar Gresseth and Chris Hook)
Range:	AH=C0h to AH=C9h, selected by configuration
SeeAlso: AX=C050h
Index:	screen saver;Explosiv

Top
2FC050 - INT 2F - Explosiv v2.00+ - INSTALLATION CHECK
INT 2F - Explosiv v2.00+ - INSTALLATION CHECK
	AX = C050h
Return: AL = 51h if installed
	---v3.0+ ---
	    BX = interval in clock ticks
	    CH = animation display color (00h mono, 01h tinge, 02h color)
	    CL = animation delay factor
	    DH = animation parameters
	    DL = INT 10 checking (00h on, 01h off)
	    SI = number of bytes available for animation code
	    DI = display type (00h VGA, 01h EGA, 02h CGA, 03h HGC, 04h MDA)
Program: Explosiv is a shareware animated screen blanker for DOS and Windows 3
	  by H&G Software (Reidar Gresseth and Chris Hook)
Range:	AH=C0h to AH=C9h, selected by configuration
SeeAlso: AH=93h,AX=C000h"AD-DOS",AX=C04Eh,AX=C052h,AX=C054h"v3"
SeeAlso: INT 14/AX=AA01h
Index:	screen saver;Explosiv

Top
2FC052 - INT 2F - Explosiv v2.00+ - UNINSTALL
INT 2F - Explosiv v2.00+ - UNINSTALL
	AX = C052h
	DX:BX = address to return to on successful uninstall
Return: at specified address if successful
	AL = 53h on error
Note:	specified return address must have the segment of the caller's PSP
SeeAlso: AX=C050h
Index:	screen saver;Explosiv

Top
2FC054 - INT 2F - Explosiv v2.x - GET ANIMATION DELAY FACTOR
INT 2F - Explosiv v2.x - GET ANIMATION DELAY FACTOR
	AX = C054h
Return: AL = delay factor
SeeAlso: AX=C057h
Index:	screen saver;Explosiv

Top
2FC054 - INT 2F - Explosiv v3.0+ - UPDATE PARAMETERS
INT 2F - Explosiv v3.0+ - UPDATE PARAMETERS
	AX = C054h
	BX = new interval in clock ticks
	CH = animation display color (00h mono, 01h tinge, 02h color)
	CL = animation delay factor
	DH = animation parameters
	DL = INT 10 checking (00h on, 01h off)
SeeAlso: AX=C050h
Index:	screen saver;Explosiv

Top
2FC055 - INT 2F - Explosiv v2.x - SET BLANKING INTERVAL
INT 2F - Explosiv v2.x - SET BLANKING INTERVAL
	AX = C055h
	BX = new interval in clock ticks
Index:	screen saver;Explosiv

Top
2FC056 - INT 2F - Explosiv v2.x - SET ANIMATION DISPLAY TYPE
INT 2F - Explosiv v2.x - SET ANIMATION DISPLAY TYPE
	AX = C056h
	BL = animated display type (00h mono, 01h color)
SeeAlso: AX=C058h"v2.x"
Index:	screen saver;Explosiv

Top
2FC056 - INT 2F - Explosiv v3.0+ - ENABLE/DISABLE EXPLOSIV
INT 2F - Explosiv v3.0+ - ENABLE/DISABLE EXPLOSIV
	AX = C056h
	BX = new state
	    0000h disabled
	    0100h enabled
	    0101h enabled, but never blank
	    0102h enabled, always blank

Top
2FC057 - INT 2F - Explosiv v2.x - SET ANIMATION DELAY FACTOR
INT 2F - Explosiv v2.x - SET ANIMATION DELAY FACTOR
	AX = C057h
	BL = delay factor
SeeAlso: AX=C054h"v2.x"
Index:	screen saver;Explosiv

Top
2FC058 - INT 2F - Explosiv v2.x - SET ANIMATION PARAMETER
INT 2F - Explosiv v2.x - SET ANIMATION PARAMETER
	AX = C058h
	BL = animation parameter
Note:	the animation parameter has different interpretations for each display
SeeAlso: AX=C056h"v2.x"
Index:	screen saver;Explosiv

Top
2FC058 - INT 2F - Explosiv v3.0+ - LOAD NEW ANIMATION DISPLAY CODE
INT 2F - Explosiv v3.0+ - LOAD NEW ANIMATION DISPLAY CODE
	AX = C058h
	BX = file handle for file containing display code
	CX = number of bytes to load
	DX = offset at which animation code should be loaded
Return: AL = status (see #03033)
Note:	if AL=00h-03h on return, the file will be closed
Index:	screen saver;Explosiv

(Table 03033)
Values for Explosiv function status:
 00h	successful
 01h	code too large to available space
 02h	no data read, load aborted
 03h	incomplete load, default blanking display loaded instead
 58h	unexpected offset in DX

Top
2FC059 - INT 2F - Explosiv v2.x - DISABLE EXPLOSIV
INT 2F - Explosiv v2.x - DISABLE EXPLOSIV
	AX = C059h
Note:	clears flag set by AX=C05Ah
SeeAlso: AX=C05Ah
Index:	screen saver;Explosiv

Top
2FC05A - INT 2F u - Explosiv v2.x - ENABLE EXPLOSIV
INT 2F u - Explosiv v2.x - ENABLE EXPLOSIV
	AX = C05Ah
	BL = ???
Note:	sets flag cleared by AX=C059h then stores BL
SeeAlso: AX=C059h,AX=C05Bh
Index:	screen saver;Explosiv

Top
2FC05B - INT 2F - Explosiv v2.x - CHANGE ANIMATION DISPLAY
INT 2F - Explosiv v2.x - CHANGE ANIMATION DISPLAY
	AX = C05Bh
	BL = animation display
Note:	this function fails silently if the requested display is not in memory
SeeAlso: AX=C05Ah,AX=C05Ch
Index:	screen saver;Explosiv

Top
2FC05C - INT 2F - Explosiv v2.x - SET INT 10 CHECKING
INT 2F - Explosiv v2.x - SET INT 10 CHECKING
	AX = C05Ch
	BL = new state of INT 10 checking (00h enabled, 01h disabled)
SeeAlso: AX=C05Bh
Index:	screen saver;Explosiv

Top
2FC080 - INT 2F U - AMI IAM.SYS - INSTALL ??? CALLBACK
INT 2F U - AMI IAM.SYS - INSTALL ??? CALLBACK
	AX = C080h
	CX:DX -> ??? callback
	DI = segment of ??? buffer (first WORD copied into IAM.SYS)
Program: IAM.SYS is the Illegal Activity Monitor portion of American
	  Megatrends, Inc.'s PC-Defender anti-virus product
Note:	also sets ??? flag
SeeAlso: AX=C081h

Format of IAM.SYS buffer:
Offset	Size	Description	(Table 03034)
 00h	BYTE	???
 01h	BYTE	???
 02h  N BYTEs	??? (ASCIZ strings)

Top
2FC081 - INT 2F U - AMI IAM.SYS - CLEAR ???
INT 2F U - AMI IAM.SYS - CLEAR ???
	AX = C081h
Desc:	clears the ??? flag that AX=C080h sets
SeeAlso: AX=C080h

Top
2FC0AE - INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
INT 2F U - HP 100LX/200LX - PUSHKEYS - INSTALLATION CHECK
	AX = C0AEh
Return: AX = 4453h if installed
	CX = 5259h if installed
Range:	AH=C0h to AH=FFh, selected by scanning for signature
SeeAlso: AX=C000h"HP 100LX",AX=C001h"HP 100LX",AX=C0AFh"HP 100LX"

Top
2FC0AF - INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - GET BUFFER ADDRESS
INT 2F U - HP 100LX/200LX - PUSHKEYS - INTERNAL - GET BUFFER ADDRESS
	AX = C0AFh
Return: ES:DI -> buffer (behind code)
Range:	AH=C0h to AH=FFh, selected by scanning for signature with AL=AEh
SeeAlso: AX=C000h"HP 100LX",AX=C001h"HP 100LX",AX=C0AEh"HP 100LX"

Top
2FC100 - INT 2F U - Personal NetWare - STPIPX v1.00 - INSTALLATION CHECK
INT 2F U - Personal NetWare - STPIPX v1.00 - INSTALLATION CHECK
	AX = C100h
Return: AL = FFh if installed
	    ES:SI -> signature string "STP-IPX$"
	    BX = version??? (0001h for v1.00)
	    DI corrupted
Note:	AH=C1h is the default value; STPIPX probably scans a range of
	  multiplex numbers to find a free one, as LSL does
SeeAlso: AX=C000h"LSL",AX=C101h

Top
2FC101 - INT 2F U - Personal NetWare - STPIPX v1.00 - UNINSTALL
INT 2F U - Personal NetWare - STPIPX v1.00 - UNINSTALL
	AX = C101h
Return: AL = status???
	BX corrupted
SeeAlso: AX=C101h

Top
2FC205 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
	AX = C205h
	details not yet available
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"LapLink",AX=C002h"LapLink",AX=C2F0h"LapLink"
SeeAlso: AX=C2F1h"LapLink",AX=C301h"LapLink"

Top
2FC2F0 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
	AX = C2F0h
	details not yet available
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"LapLink",AX=C002h"LapLink",AX=C205h"LapLink"
SeeAlso: AX=C2F1h"LapLink",AX=C301h"LapLink"

Top
2FC2F1 - INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
INT 2F U - LapLink RemoteAccess (LLRA) - Redirector - ???
	AX = C2F1h
	details not yet available
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"LapLink",AX=C002h"LapLink",AX=C205h"LapLink"
SeeAlso: AX=C2F0h"LapLink",AX=C301h"LapLink"

Top
2FC300 - INT 2F - SETWPR.COM - INSTALLATION CHECK
INT 2F - SETWPR.COM - INSTALLATION CHECK
	AX = C300h
Return: AL = FFh if installed
Program: SETWPR is a hard-disk write-protection TSR by Jaroslaw Rafa
SeeAlso: AX=C302h"SETWPR"

Top
2FC300DX0000 - INT 2F U - SpaceManager - INSTALLATION CHECK
INT 2F U - SpaceManager - INSTALLATION CHECK
	AX = C300h
	DX = 0000h
Return: AL = FFh if any SpaceManager programs installed
	    BX = 6F73h
	    CX = 6F68h
Program: SpaceManager is an enhancement for MS-DOS DoubleSpace by Vertisoft
	  Systems, Inc.
Range:	AH=C3h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C300h/BX=4F53h

Top
2FC300BX4F53 - INT 2F U - SpaceManager - INSTALLATION VERIFICATION
INT 2F U - SpaceManager - INSTALLATION VERIFICATION
	AX = C300h
	BX = 4F53h ('OS')
	CX = 4F48h ('OH')
	DX = program identifier (see #03035) or 0666h for any SpaceManager prog
Return: AL = FFh if BX/CX as specified and specified program installed
	    BX = 6F73h ('os')
	    CX = 6F68h ('oh')
Range:	AH=C3h to AH=FFh, selected by scanning for first free multiplex number
Note:	this call is chained if BX,CX, or DX are not as specified above
SeeAlso: AX=C300h/DX=0000h

(Table 03035)
Values for SpaceManager program identifier:
 9000h	SMOUNT (SuperMount)
 9001h	SELECTC (SelectCompress)
 9002h	SUPERX (SuperExchange)
 9003h	FORTUNE (FortuneTeller)

Top
2FC301 - INT 2F U - SpaceManager - ???
INT 2F U - SpaceManager - ???
	AX = C301h
	DX = program identifier (9000h,9001h,9003h) (see #03035)
	???
Return: ???

Top
2FC301 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
	AX = C301h
	details not yet available
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"LapLink",AX=C002h"LapLink",AX=C205h"LapLink"
SeeAlso: AX=C2F0h"LapLink",AX=C3F0h"LapLink",AX=C3F1h"LapLink"

Top
2FC302 - INT 2F U - SpaceManager - ENABLE PROGRAM
INT 2F U - SpaceManager - ENABLE PROGRAM
	AX = C302h
	DX = program identifier (9000h,9001h,9003h) (see #03035)
Return: AX destroyed
SeeAlso: AX=C303h,AX=C306h

Top
2FC302 - INT 2F - SETWPR.COM - SET WRITE-PROTECTION STATE
INT 2F - SETWPR.COM - SET WRITE-PROTECTION STATE
	AX = C302h
	BL = new state
	    00h disk may be written
	    01h disk write-protected
Return: AL = FFh if installed
Program: SETWPR is a hard-disk write-protection TSR by Jaroslaw Rafa
SeeAlso: AX=C300h"SETWPR"

Top
2FC303 - INT 2F U - SpaceManager - DISABLE PROGRAM
INT 2F U - SpaceManager - DISABLE PROGRAM
	AX = C303h
	DX = program identifier (9000h,9001h,9003h) (see #03035)
Return: AX destroyed
SeeAlso: AX=C302h,AX=C306h

Top
2FC304 - INT 2F U - SpaceManager - GET PER-DRIVE ENABLEMENT TABLE
INT 2F U - SpaceManager - GET PER-DRIVE ENABLEMENT TABLE
	AX = C304h
	DX = program identifier (9000h,9001h,9003h) (see #03035)
Return: ES:BX -> 26-byte drive table (00h disabled for drive, 01h enabled)
	AX destroyed

Top
2FC305DX9003 - INT 2F U - SpaceManager - FORTUNE.EXE - NOP
INT 2F U - SpaceManager - FORTUNE.EXE - NOP
	AX = C305h
	DX = 9003h
Return: AX destroyed

Top
2FC305 - INT 2F U - SpaceManager - ???
INT 2F U - SpaceManager - ???
	AX = C305h
	DX = program identifier (9000h,9001h) (see #03035)
	???
Return: ???

Top
2FC306 - INT 2F U - SpaceManager - CHECK WHETHER PROGRAM ENABLED
INT 2F U - SpaceManager - CHECK WHETHER PROGRAM ENABLED
	AX = C306h
	DX = program identifier (9000h,9001h,9003h) (see #03035)
Return: AL = current state (00h disabled, FAh enabled)
	AH destroyed
SeeAlso: AX=C302h,AX=C303h

Top
2FC307DX9001 - INT 2F U - SpaceManager - SELECTC - ???
INT 2F U - SpaceManager - SELECTC - ???
	AX = C307h
	DX = 9001h
	BX = ???
	CX = ???
	???
Return: ???

Top
2FC308DX9001 - INT 2F U - SpaceManager - SELECTC - ???
INT 2F U - SpaceManager - SELECTC - ???
	AX = C308h
	DX = 9001h
	???
Return: ???

Top
2FC3F0 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
	AX = C3F0h
	details not yet available
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"LapLink",AX=C002h"LapLink",AX=C205h"LapLink"
SeeAlso: AX=C2F0h"LapLink",AX=C301h"LapLink",AX=C3F1h"LapLink"

Top
2FC3F1 - INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
INT 2F U - LapLink RemoteAccess (LLRA) - Compression - ???
	AX = C3F1h
	details not yet available
Range:	AH=C0h to AH=FFh, selected by scanning for first free multiplex number
SeeAlso: AX=C000h"LapLink",AX=C002h"LapLink",AX=C205h"LapLink"
SeeAlso: AX=C2F0h"LapLink",AX=C301h"LapLink",AX=C3F0h"LapLink"

Top
2FC500 - INT 2F - PC-DOS Econet v1.05 - INSTALLATION CHECK
INT 2F - PC-DOS Econet v1.05 - INSTALLATION CHECK
	AX = C500h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, can't install
	    FFh installed
Note:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C501h,AX=C508h

Top
2FC501 - INT 2F - PC-DOS Econet v1.05 - RESET BOARD AND DRIVER
INT 2F - PC-DOS Econet v1.05 - RESET BOARD AND DRIVER
	AX = C501h
Return:	AX = return code (see #03037)
Desc:	reset both the network board and the driver software
Notes:	use this function with caution, as it will affect any other resident
	  software using the network board
	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C500h

Top
2FC502 - INT 2F - PC-DOS Econet v1.05 - PERFORM NETWORK OPERATION
INT 2F - PC-DOS Econet v1.05 - PERFORM NETWORK OPERATION
	AX = C502h
	DS:DX -> control block (see #03036)
Return: AX = return code (see #03037) (same as returned in control block)
Note:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C500h

Format of Econet control block:
Offset	Size	Description	(Table 03036)
 00h	DWORD	-> command block (see #03038)
 04h	WORD	length of transmit data block
 06h	DWORD	-> transmit data block
 0Ah	WORD	length of reply block (set to 0000h prior to call)
 0Ch	DWORD	-> reply block
 10h	WORD	return code (set to 0000h prior to call) (see #03037)
 12h	DWORD	reserved for Econet use

(Table 03037)
Values for Econet return code:
 0000h	successful
 0001h	bad command in command block
 0002h	no handles left
 0003h	bad handle
 0004h	bad argument in command
 0005h	buffer too small
 0006h	kill condition failed
 0007h	control block in use
 007Fh	command aborted
 01xxh	retryable board error XXh
 02xxh	fatal board error XXh
 0300h	invalid subfunction number in AL
 0301h	timeout
 03xxh	other driver errors
SeeAlso: #03036

Format of Econet command block:
Offset	Size	Description	(Table 03038)
 00h	BYTE	command code (see #03039)
---command 00h---
 01h	BYTE	direction (00h = read initialization data, 01h = set init data)
 02h	WORD	"TxCB" transmit control block size
 04h	WORD	"RxCB" receive control block size
		Notes:	TxCB and RxCB are always the same size in v1.05,
			  permitting any CB to be used for either receive
			  or transmit
			this command should not be used by applications to
			  set the buffer sizes
 06h  6 BYTEs	padding (0)
---command 01h---
 01h	BYTE	port number (00h = receive on all ports)
		if the RxCB is opened for RPC, the port number indicates the
		  allowable RPC (see #03040)
 02h	WORD	station number (FEFFh = broadcast)
 04h	BYTE	RPC flags
		bit 7: CB is open for RPCs only
		bit 6: restrict to RPC number given in next field
 05h	WORD	RPC number
 07h	BYTE	timeout in 1/2-second units (00h = never)
		if a timeout occurs, the RxCB can still receive data, and may
		  generate another event after the timeout unless it is
		  explicitly killed
 08h  4 BYTEs	padding (0)
---command 02h---
 01h	BYTE	control byte
 02h	BYTE	port number
 03h	WORD	station number
 05h	BYTE	number of retries
 06h	WORD	length of data to be sent (bits 14-0), 0000h allowed
		if bit 15 is set, no data will be transferred, but this field
		  will be updated (needed for peeking)
 08h	DWORD	-> destination address on remote machine
---command 03h---
 01h	BYTE	Control Block Handle
		FEh first filled-in RxCB
		FFh first TxCB which has been sent
 02h 10 BYTEs	padding (0)
---command 04h---
 01h	BYTE	Control Block Handle
 02h	BYTE	kill condition
		00h always
		01h kill only if bit7 of control byte is clear
		81h kill only if bit7 of control byte is set
 03h  9 BYTEs	padding (0)
		Notes:	control blocks are not freed until explicitly killed
			because all TxCBs for a given destination are stored
			  on a separate subchain, it is necessary to kill all
			  failed TxCBs to a given destination before any new
			  ones are opened to that destination
---command 06h---
 01h	BYTE	Control Block Handle
 02h	WORD	starting byte within CB to read
 04h	WORD	number of bytes
		if 0000h or greater than remaining bytes in CB, return all
		  bytes from starting byte to end of CB
 06h  6 BYTEs	padding (0)
---command 07h---
 01h	BYTE	subfunction
		00h-0Fh get/set M/C type (bit N=1 indicates to set byte N)
			four data bytes
		10h get station number
		11h set station number
		12h get Tx pause in 5ms units (default 20)
		13h set Tx pause
		14h get software version numbers
		16h get event enable mask
		17h set event enable mask
		18h get number of non-volatile bytes available
		80h+2N get non-volatile byte N
		81h+2N set non-volatile byte N
 02h	var	new data
Note:	all command blocks should be padded to twelve bytes with zeros if
	  needed
SeeAlso: #03036

(Table 03039)
Values for Econet command code:
 00h	initialize
 01h	open receive
 02h	open transmit
 03h	poll
 04h	kill
 06h	read
 07h	get/set system parameters
SeeAlso: #03038

(Table 03040)
Values for Econet RPC type:
 00h	all
 81h	peek
 82h	poke
 83h	remote JSR
 84h	remote procedure call
 85h	OS procedure
 86h	Halt
 87h	Continue
SeeAlso: #03038

Format of Econet Reply Block (command 00h):
Offset	Size	Description	(Table 03041)
 00h	WORD	TxCB size (default is 0500h, the maximum Econet packet length)
 02h	WORD	RxCB size
 04h	BYTE	number of TxCBs allocated	
 05h	BYTE	number of RxCBs allocated	
SeeAlso: #03036,#03042,#03044

Format of Econet Reply Block (commands 01h,02h):
Offset	Size	Description	(Table 03042)
 00h	BYTE	control block handle
SeeAlso: #03036,#03041,#03045

Format of Econet Reply Block (command 03h):
Offset	Size	Description	(Table 03043)
 00h	BYTE	CB number (when wildcard specified for poll)
 01h	BYTE	control
		(RxCB) 00h until received, then Sent Control byte
		(TxCB) transmit status
		    bit 7: transmission pending
		    bit 6: transmission failed
		    bits 3-0: error number
 02h	BYTE	Port number
 03h	WORD	station number
 05h	WORD	length
 07h	WORD	0000h
SeeAlso: #03036,#03041,#03044

Format of Econet Reply Block (command 06h):
Offset	Size	Description	(Table 03044)
 00h  N BYTEs	data read from network
SeeAlso: #03036,#03043,#03045

Format of Econet Reply Block (command 07h):
Offset	Size	Description	(Table 03045)
 00h  N BYTEs	returned information
SeeAlso: #03036,#03044

Top
2FC503 - INT 2F - PC-DOS Econet v1.05 - ADD EVENT HANDLER
INT 2F - PC-DOS Econet v1.05 - ADD EVENT HANDLER
	AX = C503h
	DS:DX -> event handler (see #03046)
Return: AX = return code (see #03037)
Note:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C500h,AX=C504h,AX=C505h,AX=C508h

Format of Econet event handler:
Offset	Size	Description	(Table 03046)
 00h	DWORD	-> next handler's code (at offset 8, filled in by Econet)
 04h	DWORD	-> previous event handler (filled in by Econet)
 08h	var	entry point (executable code called on event) (see #03047)

(Table 03047)
Values Econet event handler is called with:
	AL = event number
	AH = timeout flag (01h if timeout, else 00h)
Return:	all registers preserved
	if event trapped by this handler, issue RETF
	if event not trapped, jump to address stored at offset 0
SeeAlso: #03046

Top
2FC504 - INT 2F - PC-DOS Econet v1.05 - REMOVE EVENT HANDLER
INT 2F - PC-DOS Econet v1.05 - REMOVE EVENT HANDLER
	AX = C504h
	DS:DX -> event handler
Return: AX = return code (see #03037)
Note:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C500h,AX=C503h,AX=C506h,AX=C508h

Top
2FC505 - INT 2F - PC-DOS Econet v1.05 - SET DEFAULT EVENT ACTION
INT 2F - PC-DOS Econet v1.05 - SET DEFAULT EVENT ACTION
	AX = C505h
	DL = new default action
	    00h disable event handling (ignore incoming events)
	    01h enable (call event handler chain)
	    02h store until enabled or disabled (default)
Return: AX = return code (see #03037)
Note:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C500h,AX=C503h,AX=C506h,AX=C508h

Top
2FC506 - INT 2F - PC-DOS Econet v1.05 - SET INDIVIDUAL EVENT ACTION
INT 2F - PC-DOS Econet v1.05 - SET INDIVIDUAL EVENT ACTION
	AX = C506h
	DH = event number
	DL = new default action
	    00h disable event handling (ignore incoming events)
	    01h enable (call event handler chain)
	    02h store until enabled or disabled (default)
Return: AX = return code (see #03037)
Note:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C500h,AX=C504h,AX=C505h,AX=C507h

Top
2FC507 - INT 2F - PC-DOS Econet v1.05 - TEST/CLEAR EVENT STATUS
INT 2F - PC-DOS Econet v1.05 - TEST/CLEAR EVENT STATUS
	AX = C507h
	DH = event number (FFh = first event in queue)
	DL = disposition (00h test only, 01h test and clear)
Return: AX = return code (see #03037)
	DH = event number if one is pending, 00h if none
Note:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
SeeAlso: AX=C500h,AX=C503h,AX=C506h,AX=C508h

Top
2FC508 - INT 2F - PC-DOS Econet v1.05 - ENABLE/DISABLE EVENT SCHEDULER
INT 2F - PC-DOS Econet v1.05 - ENABLE/DISABLE EVENT SCHEDULER
	AX = C508h
	DL = new state of scheduler (01h enabled, 02h disabled)
Return: AX = return code (see #03037)
	DL = previous state
Notes:	the interrupt-enable state will be preserved, but interrupts may be
	  enabled during processing of this function
	while the scheduler is disabled, all events are queued until the
	  scheduler is re-enabled
SeeAlso: AX=C500h,AX=C503h,AX=C504h,AX=C506h,AX=C507h

Top
2FC64CBX5553 - INT 2F U - Smart Prompt - INSTALLATION CHECK
INT 2F U - Smart Prompt - INSTALLATION CHECK
	AX = C64Ch
	BX = 5553h
Return: AX = 4CC6h if installed
	BX = 5355h if installed
Program: Smart Prompt (SMARTPMT) is a freeware TSR by Steve Gibson which
	  forces an immediate flush of SmartDrive's (and compatible caches')
	  buffers on returning to the DOS prompt

Top
2FC700CX434C - INT 2F u - COLAP - INSTALLATION CHECK
INT 2F u - COLAP - INSTALLATION CHECK
	AX = C700h
	CX = 434Ch  "CL"
Return: AL = FFh if installed
Program: colap.com is a freeware TSR by Eric Meyer which controls contrast
	  and brightness of color laptops by changing the VGA palette colors;
	  for Toshiba laptops there are more hotkeys for shutting off display
	  and harddisk.

Top
2FC900BP0000 - INT 2F U - ThunderByte??? - INSTALLATION CHECK
INT 2F U - ThunderByte??? - INSTALLATION CHECK
	AX = C900h
	BP = 0000h
Return: AL = FFh if installed
	    BP >= 0014h
Note:	called by TBSCANX
SeeAlso: AX=C987h,AX=CA00h

Top
2FC987 - INT 2F U - ThunderByte??? - DISINFECT FILE???
INT 2F U - ThunderByte??? - DISINFECT FILE???
	AX = C987h
	BX:DX -> filename
	BX:CX -> virus name
Return: AX = status
	    0000h successful???
Note:	called by TBSCANX
SeeAlso: AX=CA00h

Top
2FC9FD - INT 2F - ThunderByte TBLOG - WRITE STRING TO LOG
INT 2F - ThunderByte TBLOG - WRITE STRING TO LOG
	AX = C9FDh
	DS:SI -> ASCIZ string (max 110 chars)
Return: AH = 00h
	AL = last character in string
	CX = number of unused characters in string
	SI,DI destroyed
Notes:	The string can also be terminated with a '%'-character.
	This function is never called within ThunderBYTE Anti-Virus.
SeeAlso: AX=C900h

Top
2FC9FF - INT 2F C - StackMan - INSTALLATION BROADCAST
INT 2F C - StackMan - INSTALLATION BROADCAST
	AX = C9FFh
	BL = BCD version number
	CX = number of stacks
	DX = stack size in bytes
Program: StackMan is a freeware stack manager by Franz Veldman of ESaSS B.V.
	  which functions as a replacement for the DOS STACK= command as well
	  as permitting multiple TSRs to share a pool of stack space
InstallCheck:	test for the string "STACKXXX" at offset 0Ah from the INT B4
	  handler
Note:	called by StackMan when it goes resident to inform interested TSRs that
	  its API is available
SeeAlso: INT B4"StackMan",INT B5"StackMan"
Index:	installation check;STACKMAN|broadcasts;STACKMAN installation

Top
2FCA - INT 2F - FAXPLUS - FAX TSR
INT 2F - FAXPLUS - FAX TSR
	AH = CAh
	???
Return: ???
Program: FAXTSR is a resident FAX send/receive module for FAXPLUS by Frans
	  Veldman
SeeAlso: AH=2Ah"Gammafax"

Top
2FCA00BX5442 - INT 2F - TBSCANX - INSTALLATION CHECK
INT 2F - TBSCANX - INSTALLATION CHECK
	AX = CA00h
	BX = 5442h ('TB')
Return: AL = state
	    00h not installed
	    FFh installed
		BX = 7462h ('tb') if BX was 5442h on entry
Program: TBSCANX is a resident virus scanning module by Frans Veldman.
Notes:	programs may perform virus checks on themselves, other program files,
	  or their data files by invoking the TBSCANX API.
	current versions of TBScanX don't actually check the value of BX
SeeAlso: AX=4653h/CX=0002h,AX=4653h/CX=0007h,AX=C900h

Top
2FCA01 - INT 2F - TBSCANX - GET STATUS
INT 2F - TBSCANX - GET STATUS
	AX = CA01h
Return: AH = BCD version number (v2.2+)
	    CAh for versions before 2.2
	AL = state (00h = disabled, 01h = enabled)
	CX = number of signatures which will be searched
---v2.0---
	BX = EMS handle, 0000h if not using EMS
---v2.3+---
	BX = segment of swap area, 0000h if not swapped
	DX = EMS or XMS handle (XMS handle if BX=0000h), FFFFh if not using EMS
SeeAlso: AX=CA02h

Top
2FCA02 - INT 2F - TBSCANX - SET STATE
INT 2F - TBSCANX - SET STATE
	AX = CA02h
	BL = new state (00h = disabled, 01h = enabled)
SeeAlso: AX=CA01h

Top
2FCA03 - INT 2F - TBSCANX - SCAN BUFFER
INT 2F - TBSCANX - SCAN BUFFER
	AX = CA03h
	CX = size of buffer
	DS:DX -> buffer containing data to scan
Return: CF clear if no virus signatures found
	    BX,ES destroyed
	CF set if signature found
	    ES:BX -> ASCIZ virus name (v2.3+)
	    DS:DX -> ASCIZ virus name (v2.0)
	AX,CX,DX destroyed (v2.3+)
	all other registers except CS:IP and SS:SP destroyed (v2.0)
SeeAlso: AX=CA04h

Top
2FCA04 - INT 2F - TBSCANX - SCAN FILE
INT 2F - TBSCANX - SCAN FILE
	AX = CA04h
	DS:DX -> filename
Return: CF clear if no virus signatures found
	    BX,SI,DI,ES destroyed
	CF set if signature found
	    ES:BX -> ASCIZ virus name
	AX,CX,DX destroyed
Note:	this function requires at least 4K free memory
SeeAlso: AX=CA03h

Top
2FCAFEBX0000 - INT 2F U - THELP v3.0 - INSTALLATION CHECK
INT 2F U - THELP v3.0 - INSTALLATION CHECK
	AX = CAFEh
	BX = 0000h
Return: BX = segment of resident code if installed
	    0000h if not installed
SeeAlso: AX=5453h,INT 2D"AMIS"

Top
2FCB00 - INT 2F - Communicating Applications Specification - INSTALLATION CHECK
INT 2F - Communicating Applications Specification - INSTALLATION CHECK
	AX = CB00h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
Note:	AH = CBh is the default identifier, but may be reconfigured
SeeAlso: AH=2Ah,AX=8000h"FaxBIOS",AX=CB0Eh,AX=CBDCh

Top
2FCB00BX4D53 - INT 2F - METZ XpressFax CASMGR - INSTALLATION CHECK
INT 2F - METZ XpressFax CASMGR - INSTALLATION CHECK
	AX = CB00h
	BX = 4D53h ('MS')
	CX = 4949h ('II')
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
		BX = 6D73h ('ms')
		CX = 6969h ('ii')
Note:	this function is equivalent to the standard CASMGR installation check,
	  but uses the additional magic values to identify which CAS is
	  installed
SeeAlso: AH=2Ah,AX=8000h"FaxBIOS",AX=C000h/BX=444Bh,AX=CB0Eh,AX=CB16h

Top
2FCB01 - INT 2F - Communicating Applications Specification - SUBMIT A TASK
INT 2F - Communicating Applications Specification - SUBMIT A TASK
	AX = CB01h
	DS:DX -> ASCIZ name of task control file
Return: AX >= 0: event handle
	AX < 0: two's complement of error code (see #03048)
Note:	files needed for an event must be kept until task is complete or error
SeeAlso: AX=CB0Bh,AX=CB15h

(Table 03048)
Values for CAS error code:
  (AH = class, AL = subcode, value passed back is 2's complement)
  Class 00h	--- FAX warnings
	Subcode 00h	no error
		02h	bad scanline count
		03h	page sent with errors, could not retransmit
		04h	received data lost
		05h	invalid or missing logo file
		06h	filename does not match nonstandard format (NSF) header
		07h	file size does not match NSF header
  Class 01h	--- DOS warnings (data was sent)
	Subcode 01h	invalid function
		05h	access denied
		06h	invalid handle
		others	see #01680 at INT 21/AH=59h/BX=0000h
  Class 02h	--- fatal errors (data not sent)
	Subcode 00h	multiplex handler failed
		01h	unknown command
		02h	bad event handle
		03h	FIND NEXT attempted before FIND FIRST
		04h	no more events
		07h	invalid queue type
		08h	bad control file
		09h	communication board busy
		0Ah	invalid command parameter
		0Bh	can't uninstall resident code
		0Ch	file exists
		80h	unknown task type
		81h	bad phone number
		82h	bad .PCX file header
		83h	unexpected EOF
		84h	unexpected disconnect
		85h	too many dialing retries
		86h	no file specified for send
		87h	communication board timeout
		88h	received too many pages (>1023) of data
		89h	manual connect initiated too long ago
		8Ah	hardware command set error
		8Bh	bad NonStandard Format (NSF) header file
  Class 03h	--- fatal DOS errors
	Subcode 02h	file not found
		03h	path not found
		others	see #01680 at INT 21/AH=59h/BX=0000h
  Class 04h	--- FAX errors
	Subcode 01h	remote unit not Group 3 compatible
		02h	remote unit did not send capabilities
		03h	other FAX machine incompatible
		04h	other FAX incapable of file transfers
		05h	exceeded retrain or FAX resend limit
		06h	line noise or failure to agree on bit rate
		07h	remote disconnected after receiving data
		08h	no response from remote after sending data
		09h	remote's capabilities incompatible
		0Ah	no dial tone (v1.2+)
		0Bh	invalid response from remote unit after sending data
		0Dh	phone line dead or remote unit disconnected
		0Eh	timeout while waiting for secondary dial tone (v1.2+)
		11h	invalid command from remote after receiving data
		15h	tried to receive from incompatible hardware
		5Ch	received data overflowed input buffer
		5Dh	remote unexpectedly stopped sending data
		5Eh	other FAX machine jammed (no data sent)
		5Fh	remote took too long to send fax scan line
		63h	can't get through to remote unit
		64h	user canceled event
  Class 05h	--- application-specific (v1.2+)
  ---Intel FAXPOP.EXE
	Subcode 00h	tried to send while in graphics mode
		01h	insufficient disk space
		02h	internal buffer overflow
  Class 06h	--- CAS implementation-specific (v1.2+)

Top
2FCB02 - INT 2F - Communicating Applications Specification - ABORT CURRENT EVENT
INT 2F - Communicating Applications Specification - ABORT CURRENT EVENT
	AX = CB02h
Return: AX >= 0: event handle of aborted event
	AX < 0: error code (see #03048)
Note:	termination could take up to 30 seconds
SeeAlso: AX=CB08h,AX=CB10h

Top
2FCB05 - INT 2F - Communicating Applications Specification - FIND FIRST QUEUE ENTRY
INT 2F - Communicating Applications Specification - FIND FIRST QUEUE ENTRY
	AX = CB05h
	CX = status of events to find
	    0000h successful completion
	    0001h waiting to be processed
	    0002h number has been dialed
	    0003h connection established, sending
	    0004h connection established, receiving
	    0005h event aborted
	    FFFFh find any event, regardless of status
	    other negative values, match error code
	DH = direction
	    00h chronological order, earliest to latest
	    01h reverse chronological order, latest to earliest
	DL = queue to search
	    00h task queue
	    01h receive queue
	    02h log queue
Return: AX = 0000h successful
	    BX = event handle for found event
	AX < 0	   error code (see #03048)
SeeAlso: AX=CB06h,AX=CB07h

Top
2FCB06 - INT 2F - Communicating Applications Specification - FIND NEXT QUEUE ENTRY
INT 2F - Communicating Applications Specification - FIND NEXT QUEUE ENTRY
	AX = CB06h
	DL = queue to search
	    00h task queue
	    01h receive queue
	    02h log queue
Return: AX = 0000h successful
	    BX = event handle for found event
	AX < 0	   error code (see #03048)
Note:	direction of search is same as preceding FIND FIRST call
SeeAlso: AX=CB05h

Top
2FCB07 - INT 2F - Communicating Applications Specification - OPEN FILE
INT 2F - Communicating Applications Specification - OPEN FILE
	AX = CB07h
	BX = event handle from find (AL=05h,06h) or submit task (AL=01h)
	CX = receive file number (ignored for task queue and log queue)
	    0000h  open receive control file
	    N	   open Nth received data file
	DL = queue
	    00h task queue
	    01h receive queue control file or received file, as given by CX
	    02h log queue
	    03h group file in task queue (v1.2+)
	    04h group file in log queue (v1.2+)
Return: AX = 0000h successful
	    BX = DOS file handle for requested file
	AX < 0	   error code (see #03048)
Note:	the returned file handle has been opened in read-only mode and should
	  be closed with INT 21/AH=3Eh after use
SeeAlso: AX=CB01h,AX=CB05h,AX=CB14h

Top
2FCB08 - INT 2F - Communicating Applications Specification - DELETE FILE
INT 2F - Communicating Applications Specification - DELETE FILE
	AX = CB08h
	BX = event handle
	CX = receive file number
	    0000h delete ALL received files and receive control file
	    N	  delete Nth received file
	DL = queue
	    00h delete control file in task queue and corresponding group file
		  if it exists
	    01h delete file in receive queue, as given by CX
	    02h delete control file in log queue (individual deletions not
		  recommended, to maintain integrity of log) and corresponding
		  group file if it exists
Return: AX = 0000h successful
	AX < 0	   error code (see #03048)
SeeAlso: AX=CB02h,AX=CB09h

Top
2FCB09 - INT 2F - Communicating Applications Specification - DELETE ALL FILES IN Q
INT 2F - Communicating Applications Specification - DELETE ALL FILES IN Q
	AX = CB09h
	DL = queue
	    00h delete all control files in task queue, including all group
		  files
	    01h delete all files in receive queue
	    02h delete all control files in log queue, including all group
		  files
Return: AX = 0000h successful
	AX < 0	   error code (see #03048)
SeeAlso: AX=CB08h

Top
2FCB0A - INT 2F - Communicating Applications Specification - GET EVENT DATE
INT 2F - Communicating Applications Specification - GET EVENT DATE
	AX = CB0Ah
	BX = event handle
	DL = queue
	    00h task queue
	    01h receive queue
	    02h log queue
Return: AX = 0000h successful
	    CX = year
	    DH = month
	    DL = day
	AX < 0	   error code (see #03048)
SeeAlso: AX=CB0Bh,AX=CB0Ch

Top
2FCB0B - INT 2F - Communicating Applications Specification - SET TASK DATE
INT 2F - Communicating Applications Specification - SET TASK DATE
	AX = CB0Bh
	BX = event handle (task event only)
	CX = year
	DH = month
	DL = day
Return: AX = 0000h successful
	AX < 0	   error code (see #03048)
Note:	setting a task's date and time to before the current date and time
	  causes it to execute immediately
SeeAlso: AX=CB01h,AX=CB0Ah,AX=CB0Dh

Top
2FCB0C - INT 2F - Communicating Applications Specification - GET EVENT TIME
INT 2F - Communicating Applications Specification - GET EVENT TIME
	AX = CB0Ch
	BX = event handle
	DL = queue
	    00h task queue
	    01h receive queue
	    02h log queue
Return: AX = 0000h successful
	    CH = hour
	    CL = minute
	    DH = second
	    DL = 00h
	AX < 0	   error code (see #03048)
SeeAlso: AX=CB0Ah,AX=CB0Dh

Top
2FCB0D - INT 2F - Communicating Applications Specification - SET TASK TIME
INT 2F - Communicating Applications Specification - SET TASK TIME
	AX = CB0Dh
	BX = event handle (task events only)
	CH = hour
	CL = minute
	DH = second
	DL unused
Return: AX = 0000h successful
	AX < 0	   error code (see #03048)
Note:	setting a task's date and time to before the current date and time
	  causes it to execute immediately
SeeAlso: AX=CB0Bh,AX=CB0Ch,AX=CB10h

Top
2FCB0E - INT 2F - Communicating Applications Specification - GET EXTERNAL DATA BLOCK
INT 2F - Communicating Applications Specification - GET EXTERNAL DATA BLOCK
	AX = CB0Eh
	DS:DX -> 256-byte buffer for external data block (see #03049)
Return: AX = 0000h successful
	    DS:DX buffer filled
	AX < 0	   error code (see #03048)

Format of CAS external data block:
Offset	Size	Description	(Table 03049)
 00h	BYTE	CAS major version
 01h	BYTE	CAS minor version
 02h 68 BYTEs	ASCIZ path to directory containing CAS software, ends in slash
 46h 13 BYTEs	ASCIZ name of current phonebook (in CAS directory)
 53h 13 BYTEs	ASCIZ name of current logo file (in CAS directory)
 60h 32 BYTEs	ASCIZ default sender name
 80h 21 BYTEs	ASCIZ CCITT identification of fax device
 95h 107 BYTEs	reserved

Top
2FCB0F - INT 2F - Communicating Applications Specification - GET/SET AUTORECEIVE
INT 2F - Communicating Applications Specification - GET/SET AUTORECEIVE
	AX = CB0Fh
	DL = subfunction
	    00h get current autoreceive state
	    01h set autoreceive state
		DH = number of rings before answer, 00h = never
Return: AX = 0000h autoreceive disabled
	AX = N	   number of rings before answer
	AX < 0	   error code (see #03048)

Top
2FCB10 - INT 2F - Communicating Applications Specification - GET CURRENT EVENT STATUS
INT 2F - Communicating Applications Specification - GET CURRENT EVENT STATUS
	AX = CB10h
	DS:DX -> 512-byte buffer for status area (see #03051)
Return: AX = 0000h successful
		BX = event handle of current event or negative error code if
		      no current event
		buffer filled
	AX < 0	   error code (see #03048)
SeeAlso: AX=CB02h,AX=CB0Dh

(Table 03050)
Values for CAS event type:
 00h	send
 01h	receive
 02h	polled send
 03h	polled receive
 04h to 7Fh reserved
 FFh	serious hardware error

Format of CAS status area:
Offset	Size	Description	(Table 03051)
 00h	BYTE	event type (see #03050)
 01h	BYTE	transfer type
		00h 200x200 dpi, FAX mode
		01h 100x200 dpi, FAX mode
		02h file transfer mode
		03h to 7Fh reserved
 02h	WORD	event status (see #03052)
 04h	WORD	event time (packed DOS time format, see INT 21/AX=5700h)
 06h	WORD	event date (packed DOS date format, see INT 21/AX=5700h)
 08h	WORD	number of files to transfer, max 7FFFh
 0Ah	WORD	offset of file transfer record
 0Ch 47 BYTEs	ASCIZ phone number to call
 3Bh 64 BYTEs	ASCIZ application-specific tag string
 7Bh	BYTE	reserved (00h)
 7Ch	BYTE	connect time, seconds
 7Dh	BYTE	connect time, minutes
 7Eh	BYTE	connect time, hours
 7Fh	DWORD	total number of pages in all files
 83h	DWORD	pages already transmitted
 87h	WORD	number of files already transmitted
 89h	BYTE	cover page flag
		00h don't transmit cover page
		01h transmit cover page
		02h to 7Fh reserved
 8Ah	WORD	total number of transmission errors
 8Ch 78 BYTEs	reserved (zeros)
 DAh 21 BYTEs	ASCIZ remote FAX's CCITT identification
 EFH 32 BYTEs	ASCIZ destination name
10Fh 32 BYTEs	ASCIZ sender name
12Fh 80 BYTEs	filename of PCX logo file (max 1780x800 pixels)
17Fh 128 BYTEs	file transfer record for current event (see #03053)

(Table 03052)
Values for CAS event status:
 0000h	completed successfully
 0001h	waiting
 0002h	number dialed
 0003h	connected, sending
 0004h	connected, receiving
 0005h	aborted
 0006h to 007Fh reserved
 0080h to 7FFFh application-specific events
 8000h to FFFFh error codes

Format of CAS file transfer record:
Offset	Size	Description	(Table 03053)
 00h	BYTE	file type (ignored unless FAX)
		00h ASCII
		01h PCX
		02h DCX
		03h to 7Fh reserved
 01h	BYTE	text size for ASCII FAX file
		00h = 80 columns by 66 lines (11 inches)
		01h = 132 columns by 88 lines (11 inches)
		02h to 7Fh reserved
 02h	BYTE	status of file
		00h untouched
		01h opened
		02h moved
		03h deleted
		04h not yet received
		05h to 7Fh reserved
 03h	DWORD	bytes already transmitted
 07h	DWORD	file size in bytes
 0Bh	WORD	pages alread transmitted
 0Dh	WORD	number of pages in file
 0Fh 80 BYTEs	ASCIZ filename
 5Fh	BYTE	1/8 inch page length
		if page length below set to 01h through 7Fh, this value
		  specifies additional 1/8 inch increments to page length
 60h	BYTE	page length
		00h = 11 inches
		01h to 7Fh = page length is this number of inches plus value of
			  1/8 inch field above
		80h to FEh reserved
		FFh = ASCII pages ending with formfeed
 61h 31 BYTEs	reserved (zeros)

Top
2FCB11 - INT 2F - Communicating Applications Specification - GET QUEUE STATUS
INT 2F - Communicating Applications Specification - GET QUEUE STATUS
	AX = CB11h
	DL = queue to get status of
	    00h task queue
	    01h receive queue
	    02h log queue
	    03h send events (v1.2+)
	    04h receive events (v1.2+)
Return: AX >= 0	 total number of changes made to queue, modulo 32768
	    BX = number of control files currently in queue
	    CX = number of received files (zero for task and log queues)
	AX < 0	error code (see #03048)
SeeAlso: AX=CB12h

Top
2FCB11DL03 - INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF SEND EVENTS
INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF SEND EVENTS
	AX = CB11h
	DL = 03h
Return: AX = number of successful sends since resident manager started
	BX = number of unsuccessful sends, including warnings
SeeAlso: AX=CB11h/DL=04h

Top
2FCB11DL04 - INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF RECEIVE EVENTS
INT 2F - Communicating Applications Spec v1.2+ - GET NUMBER OF RECEIVE EVENTS
	AX = CB11h
	DL = 04h
Return: AX = number of received file events since resident manager started
	BX = number of received FAX events
SeeAlso: AX=CB11h/DL=03h

Top
2FCB12 - INT 2F - Communicating Applications Specification - GET HARDWARE STATUS
INT 2F - Communicating Applications Specification - GET HARDWARE STATUS
	AX = CB12h
	DS:DX -> 128-byte status buffer (see #03054,#03056)
Return: AX = 0000h successful
	    DS:DX buffer filled with hardware-dependent status information
	   < 0	   error code (see #03048)
SeeAlso: AX=CB10h,AX=CB11h

Format of status buffer for Intel Connection CoProcessor:
Offset	Size	Description	(Table 03054)
 00h	BYTE	Connection CoProcessor connection status flags (see #03057)
 01h	BYTE	number of kilobytes of free buffer space
 02h	BYTE	page buffer status
		bit 7: Connection CoProcessor has documents to send
		bits 6-0: number of pages in buffer
 03h	BYTE	number of retries left for dialing number
 04h	BYTE	page number to retransmit
 05h	BYTE	communications status (see #03058)
 06h	BYTE	baud rate (see #03055)
 07h  3 BYTEs	reserved
 0Ah	BYTE	Connection CoProcessor hardware status (see #03059)
 0Bh	BYTE	Connection CoProcessor switch states (see #03060)
 0Ch	BYTE	communications flags (see #03061)
 0Dh	BYTE	reserved
 0Eh	WORD	error count (only valid while busy, reset when idle)
 10h	DWORD	size of nonstandard format (NSF) file in bytes
 14h	BYTE	'A' if Connection CoProcessor board present
 15h  9 BYTEs	reserved
 1Eh 21 BYTEs	ASCIZ CCITT identification
 33h 77 BYTEs	reserved
Note:	the Intel Connection CoProcessor and SatisFAXtion may be distinguished
	  by examining the byte at offset 14h

Bitfields for Connection CoProcessor baud rate:
Bit(s)	Description	(Table 03055)
 7	reserved
 6-4	baud rate
	000 = 300 baud	(V.21 SDLC or HDLC mode)
	100 = 2400 baud (V.27 ter)
	101 = 4800 baud (V.27 ter)
	110 = 7200 baud (V.29)
	111 = 9600 baud (V.29)
 3-0	reserved, should be 0110

Format of status buffer for Intel SatisFAXtion board:
Offset	Size	Description	(Table 03056)
 00h	BYTE	SatisFAXtion connection status flags (see #03062)
 01h	BYTE	SatisFAXtion board state (see #03063)
 02h	BYTE	number of KB free in buffer
 03h	BYTE	number of pages or files in buffer
 04h	BYTE	number of redials remaining on current number
 05h	BYTE	FAX page number to retransmit
 06h	BYTE	current page/file in block transfer
 07h	BYTE	number of rings received (only if auto-answer enabled)
 08h	WORD	error count
 0Ah	DWORD	length of file being transferred
 0Eh  6 BYTEs	reserved
 14h	BYTE	'B' if SatisFAXtion board present
 15h 13 BYTEs	ASCIZ transfer agent name
 22h  5 BYTEs	ASCIZ transfer agent version number
 27h 13 BYTEs	ASCIZ resident loader name
 34h  5 BYTEs	ASCIZ resident loader version number
 39h 21 BYTEs	ASCIZ remote CSID
 4Eh 13 BYTEs	ASCIZ resident manager name
 5Bh  5 BYTEs	ASCIZ resident manager version number
 60h 32 BYTEs	reserved
Note:	the Intel Connection CoProcessor and SatisFAXtion may be distinguished
	  by examining the byte at offset 14h

Bitfields for Connection CoProcessor connection status flags:
Bit(s)	Description	(Table 03057)
 7	hardware busy sending or receiving
 6	last page of data
 5	no data on current page
 4	retransmit request for current page being transmitted
 3	NSF (nonstandard file) mode active
 2-0	reserved

Bitfields for communications status:
Bit(s)	Description	(Table 03058)
 7	originating call
 6	FAX message to be sent
 5	on line
 4	ring detected and receive enabled
 3	buffer dumped on receive
 2-0	hardware sequence state
	000 idle
	001 dial
	010 answer
	011 transmit
	100 receive
	101 pre-message
	110 post-message
	111 disconnect

Bitfields for Connection CoProcessor hardware status:
Bit(s)	Description	(Table 03059)
 7	modem option installed
 6	Connection CoProcessor has control of DAA (not latched)
 5	on line (not latched)
 4	ring detected (not latched)
 3	data in command buffer (not latched)
 2	set if using DMA channel 1, clear if using DMA channel 3
 1	line length compensation 1 set (not latched)
 0	line length compensation 0 set (not latched)

Bitfields for Connection CoProcessor switch states:
Bit(s)	Description	(Table 03060)
 7	reserved
 6	unused
 5	spare switch open
 4	FAX ADR1 switch open
 3	FAX ADR0 switch open
 2	alternate interrupt switch open
 1	COM SEL 1 switch open
 0	COM SEL 0 switch open
Note:	valid combinations of 0-2 are
	000  COM2 IRQ3 IObase 2F8h
	001  COM1 IRQ4 IObase 3F8h
	010  COM4 IRQ3 IObase 2E8h
	011  COM3 IRQ4 IObase 3E8h
	110  COM4 IRQ2 IObase 2E8h
	111  COM3 IRQ5 IObase 3E8h

Bitfields for communications flags:
Bit(s)	Description	(Table 03061)
 7	reserved
 6	auxiliary relay forced ON
 5	modem select relay forced ON
 4	offhook relay forced ON
 3	9600 bps enabled
 2	7200 bps enabled
 1	4800 bps enabled
 0	2400 bps enabled

Bitfields for SatisFAXtion connection status flags:
Bit(s)	Description	(Table 03062)
 7	busy in T.30 CCITT fax protocol
 6	data on current page/file (only used for block xfers)
 5	retransmission of last page requested
 4	in file transfer mode
 3	data in buffer
 2	data buffer dumped on receive
 1	200x100 dpi resolution instead of 200x200 dpi
 0	data modem in use, FAX image modem not available

Bitfields for SatisFAXtion board state:
Bit(s)	Description	(Table 03063)
 7	reserved
 6	handset jack active, data and FAX modems not available
 5-3	current rate
	000  300 bps (V.21 HDLC)
	100 2400 bps (V.27 ter)
	101 4800 bps (V.27 ter)
	110 7200 bps (V.29)
	111 9600 bps (V.29)
 2-0	T.30 CCITT protocol state
	000 idle
	001 dialing
	010 answering
	011 transmitting
	100 receiving
	101 pre-message
	110 post-message
	111 disconnect

Top
2FCB13DL00 - INT 2F - Communicating Applications Specification - GET DIAGNOSTICS RESULTS
INT 2F - Communicating Applications Specification - GET DIAGNOSTICS RESULTS
	AX = CB13h
	DL = 00h
Return: AX = 0040h in progress
	   >= 0	   passed
	   < 0	   hardware-dependent failure code (see #03064,#03065)
SeeAlso: AX=CB13h/DL=01h

Bitfields for Intel Connection CoProcessor failure codes:
Bit(s)	Description	(Table 03064)
 3	9600 bps FAX modem module failed
 2	SDLC chip failed
 1	RAM failed
 0	ROM checksum failed

Bitfields for Intel SatisFAXtion failure codes:
Bit(s)	Description	(Table 03065)
 1	2400 bps data modem failed
 0	9600 bps FAX modem failed

Top
2FCB13DL01 - INT 2F - Communicating Applications Specification - START DIAGNOSTICS
INT 2F - Communicating Applications Specification - START DIAGNOSTICS
	AX = CB13h
	DL = 01h
Return: AX = 0000h successfully started
	AX < 0	   error code (see #03048)
SeeAlso: AX=CB13h/DL=00h

Top
2FCB14 - INT 2F - Communicating Applications Specification - MOVE RECEIVED FILE
INT 2F - Communicating Applications Specification - MOVE RECEIVED FILE
	AX = CB14h
	BX = event handle
	CX = receive file number
	    0001h first received file
	    N	  Nth received file
	DS:DX -> ASCIZ string specifying new name for file (must not exist)
Return: AX = 0000h successful
	AX < 0	   error code (see #03048)

Top
2FCB15 - INT 2F - Communicating Applications Specification - SUBMIT FILE TO SEND
INT 2F - Communicating Applications Specification - SUBMIT FILE TO SEND
	AX = CB15h
	DS:DX -> variable-length data area (see #03066)
Return: AX >= 0 event handle
	AX < 0	error code (see #03048)
SeeAlso: AX=CB01h

Format of CAS file submission data area:
Offset	Size	Description	(Table 03066)
 00h	BYTE	transfer type
		00h = 200x200 dpi, fax mode
		01h = 100x200 dpi, fax mode
		02h = file transfer mode
		03h to 7Fh reserved
 01h	BYTE	text size
		00h = 80 columns
		01h = 132 columns
		02h to 7Fh reserved
 02h	WORD	time to send (DOS packed time, see #01665 at INT 21/AX=5700h)
 04h	WORD	date to send (DOS packed date, see #01666 at INT 21/AX=5700h)
 06h 32 BYTEs	ASCIZ destination name
 26h 80 BYTEs	ASCIZ name of file to send
 76h 47 BYTEs	ASCIZ phone number to dial
 A5h 64 BYTEs	ASCIZ application-specific tag string
 E5h	BYTE	reserved (00h)
 E6h	BYTE	cover page
		00h don't send cover page
		01h send cover page
		02h to 7Fh reserved
 E7h 23 BYTEs	reserved (zeros)
 FEh variable	ASCIZ string containing text of cover page (if cover page flag
		set to 01h)

Top
2FCB16BX1234 - INT 2F - Communicating Applications Spec v1.2+ - UNLOAD RESIDENT MANAGER
INT 2F - Communicating Applications Spec v1.2+ - UNLOAD RESIDENT MANAGER
	AX = CB16h
	BX = 1234h
	CX = 5678h
	DX = 9ABCh
Return: AX = 0000h successful
	AX < 0	   error code
Note:	the METZ XpressFax CASMGR ignores the values in BX,CX, and DX
SeeAlso: AX=C000h/BX=444Bh,AX=CB00h
Index:	uninstall;CAS Manager

Top
2FCB17 - INT 2F - Communicating Applications Spec v1.2+ - SET COVER PAGE STATUS
INT 2F - Communicating Applications Spec v1.2+ - SET COVER PAGE STATUS
	AX = CB17h
	BX = event handle
	CL = cover page status
	    00h not read
	    01h read by user
Return: AX = 0000h successful
	AX < 0	   error code

Top
2FCB80 - INT 2F - Intel SatisFAXtion CASMGR - ???
INT 2F - Intel SatisFAXtion CASMGR - ???
	AX = CB80h
	???
Return: ???

Top
2FCB81 - INT 2F - Intel SatisFAXtion CASMGR - ???
INT 2F - Intel SatisFAXtion CASMGR - ???
	AX = CB81h
	???
Return: ???

Top
2FCB82 - INT 2F - Intel SatisFAXtion CASMGR - ???
INT 2F - Intel SatisFAXtion CASMGR - ???
	AX = CB82h
	???
Return: ???

Top
2FCBDCBL56 - INT 2F - Comwave Microfax Specification - GET STATUS ARRAY
INT 2F - Comwave Microfax Specification - GET STATUS ARRAY
	AX = CBDCh
	BL = 56h
	BH = line number (starts with 1)
	CX:DX -> 32-byte status buffer or 80 character string
Return: AX = number of cards installed, or FFFFh on error
Program: Comwave manufacturers the Microfax line of fax cards which are a
	  high-performance multi-card FAX solution for OEMs.
Note:	defaults to AH=CBh but can be changed
SeeAlso: AX=CBDDh,AX=DA00h

Top
2FCBDDBL56 - INT 2F - Comwave Microfax Specification - COMMAND SUBMISSION
INT 2F - Comwave Microfax Specification - COMMAND SUBMISSION
	AX = CBDDh
	BL = 56h
	BH = ?
	CX:DX -> command to execute
Return: AX = status
	    0000h success
	    FFFFh on error
SeeAlso: AH=2Ah,AX=CBDCh,AX=80FBh

Top
2FCC--SI5453 - INT 2F U - PC-Kwik Programs - API
INT 2F U - PC-Kwik Programs - API
	AH = CCh
	SI = 5453h or 7473h
	AL = function number (at least 00h,01h,04h,05h,07h,80h)
	DL = program identifier (see #03067)
Return: SI = 7473h
	other registers vary by function
Note:	Qualitas Qcache v4.00 is an OEM version of Super PC-Kwik v4.00, and
	  thus supports this call
SeeAlso: INT 21/AH=2Bh/CX=4358h

(Table 03067)
Values for PC-Kwik program identifier:
 00h	all installed PowerPak programs
 01h	SUPERPCK/SUPER/QCACHE v4.00+ (disk cache)
 02h	PCKSPL (print spooler)
 04h	PCKSCRN (screen accelerator)
 05h	PCKKEY (keyboard enhancer)
 06h	PCKRAMD (RAM disk)
 08h	PCKWIK.SYS
 10h	PCKCDROM (CD-ROM support for SUPERPCK)

Top
2FCC00 - INT 2F - Tsoft NFSDRVR - INSTALLATION CHECK
INT 2F - Tsoft NFSDRVR - INSTALLATION CHECK
	AX = CC00h
Return: AX = 7777h
	BX = ???
	CX = ???
	DX = ???
	ES = data segment of resident portion
SeeAlso: AX=CC01h,AX=CC06h

Top
2FCC01 - INT 2F - Tsoft NFSDRVR - ???
INT 2F - Tsoft NFSDRVR - ???
	AX = CC01h
	???
Return: ???
SeeAlso: AX=CC00h

Top
2FCC02 - INT 2F - Tsoft NFSDRVR - ???
INT 2F - Tsoft NFSDRVR - ???
	AX = CC02h
	???
Return: ???
SeeAlso: AX=CC00h

Top
2FCC03 - INT 2F - Tsoft NFSDRVR - ???
INT 2F - Tsoft NFSDRVR - ???
	AX = CC03h
	???
Return: ???
SeeAlso: AX=CC00h

Top
2FCC04 - INT 2F - Tsoft NFSDRVR - ???
INT 2F - Tsoft NFSDRVR - ???
	AX = CC04h
	???
Return: ???
SeeAlso: AX=CC00h

Top
2FCC05 - INT 2F - Tsoft NFSDRVR - ???
INT 2F - Tsoft NFSDRVR - ???
	AX = CC05h
	???
Return: ???
SeeAlso: AX=CC00h

Top
2FCC06 - INT 2F - Tsoft NFSDRVR - ???
INT 2F - Tsoft NFSDRVR - ???
	AX = CC06h
	???
Return: ???
SeeAlso: AX=CC00h

Top
2FCD00 - INT 2F - Intel Image Processing Interface - INSTALLATION CHECK
INT 2F - Intel Image Processing Interface - INSTALLATION CHECK
	AX = CD00h
Return: AL = state
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
SeeAlso: AX=CD02h"Image"

Top
2FCD00 - INT 2F - LaserPort Interface - INSTALLATION CHECK
INT 2F - LaserPort Interface - INSTALLATION CHECK
	AX = CD00h
Return: AL = status
	    FFh installed
SeeAlso: AX=CD0Fh"LaserPort"

Top
2FCD00 - INT 2F - SWELL.EXE - INSTALLATION CHECK
INT 2F - SWELL.EXE - INSTALLATION CHECK
	AX = CD00h
Return: AX = 00FFh installed
	    BH = major version
	    BL = minor version
Program: SWELL.EXE is a TSR which swaps programs to disk when they EXEC a
	  child process with INT 21/AH=4Bh

Top
2FCD00BX464F - INT 2F - Forte/Gravis ULTRAMID - INSTALLATION CHECK
INT 2F - Forte/Gravis ULTRAMID - INSTALLATION CHECK
	AX = CD00h
	BX = 464Fh ('FO')
	CX = 5254h ('RT')
	DX = 4520h ('E ')
Return: AL = FFh if installed
	    BX = 4155h ('AU')
	    CX = 4449h ('DI')
	    DX = 4F20h ('O ')
	    ES:SI -> program ID string
Program: ULTRAMID is a MIDI driver for the Gravis UltraSound which allows use
	  of AIL drivers with other software
Range:	AH=CDh-ECh, selected by scanning for an available multiplex number
SeeAlso: INT 21/AX=FD12h,AX=CD00h/DX=4957h

Top
2FCD00DX4957 - INT 2F R - InterWave Game API - INSTALLATION CHECK
INT 2F R - InterWave Game API - INSTALLATION CHECK
	AX = CD00h
	DX = 4957h ('IW')
	SI = 5645h ('VE')
Return: AL = FFh if installed
	    DX = 4554h ('ET')
	    SI = 454Bh ('EK')
Range:	AH=CDh-ECh, selected by scanning for an available multiplex number
SeeAlso: AX=CD00h/BX=464Fh,AX=CD01h"InterWave",AX=CD21h"InterWave"
SeeAlso: AX=CD80h"InterWave"

Top
2FCD01 - INT 2F - Intel Image Processing Interface - SET DEVICE NAME
INT 2F - Intel Image Processing Interface - SET DEVICE NAME
	AX = CD01h
	CX:BX -> ASCIZ character device name ("LPTn", "COMn", "PRN")
Return: AL = status
	    00h successful
		CX:BX -> internal character device name
	    80h error

Top
2FCD01 - INT 2F - SWELL.EXE - SUSPEND ONCE
INT 2F - SWELL.EXE - SUSPEND ONCE
	AX = CD01h
Return: AX = 0000h
SeeAlso: AX=CD02h"SWELL"

Top
2FCD01BX0000 - INT 2F R - InterWave Game API - GET NUMBER OF INTERWAVE PROGRAMS / PROGRAM ID
INT 2F R - InterWave Game API - GET NUMBER OF INTERWAVE PROGRAMS / PROGRAM ID
	AX = CD01h
	BX = 0000h
Return: BX = number of programs currently installed on the Game API
Desc:	get the number of programs supporting the InterWave Game API which are
	  currently installed in memory, which also forms the next program ID
	  number if the caller wishes to go resident on the API
Range:	AH=CDh-ECh, selected by scanning for an available multiplex number
Notes:	the first program to install on the IW Game API must use ID 00h
	the AMD-recommended implementation is for the handler to increment
	  BX and chain to the previous handler (if any), but this will fail
	  if TSRs are unloaded out-of-order
SeeAlso: AX=CD00h"InterWave",AX=CD02h"InterWave",AX=CD03h"InterWave"
SeeAlso: AX=CD05h"InterWave",AX=CD21h"InterWave",AX=CD80h"InterWave"

Top
2FCD02 - INT 2F - Intel Image Processing Interface - GET VERSION NUMBER
INT 2F - Intel Image Processing Interface - GET VERSION NUMBER
	AX = CD02h
Return: AL = status
	    00h/01h successful
		BH = major version number (BCD)
		BL = minor version number (BCD)
	    80h error
Note:	if return AL = 01h, the IPI supports network redirection
SeeAlso: AX=CD00h"Image"

Top
2FCD02 - INT 2F - SWELL.EXE - SUSPEND
INT 2F - SWELL.EXE - SUSPEND
	AX = CD02h
Return: AX = 0000h
SeeAlso: AX=CD03h"SWELL"

Top
2FCD02 - INT 2F R - InterWave Game API - GET PROGRAM STATUS AND INFORMATION
INT 2F R - InterWave Game API - GET PROGRAM STATUS AND INFORMATION
	AX = CD02h
	BX = program identifier
Return: CX = program status
	    bit 0: using synthesizer
	    bit 1: using Codec
	    bit 2: supports at least one Game Device (see AX=CD21h,AX=CD22h)
	BX = supported API version (BCD, BH=major, BL=minor) if CX bit 2 set
	ES:DI -> ASCIZ identification string
Range:	AH=CDh-ECh, selected by scanning for an available multiplex number
Note:	ordinarily, an application will loop through all valid program
	  identifiers (as returned by AX=CD01h); if any of the installed
	  programs conflicts with the use the caller wishes to make of the
	  InterWave chip, it should be disabled with AX=CD03h first
SeeAlso: AX=CD00h"InterWave",AX=CD01h"InterWave",AX=CD03h"InterWave"
SeeAlso: AX=CD05h"InterWave",AX=CD21h"InterWave",AX=CD80h"InterWave"

Top
2FCD03 - INT 2F - Intel Image Processing Interface - SELECT SCAN LINE
INT 2F - Intel Image Processing Interface - SELECT SCAN LINE
	AX = CD03h
	BX = scan line
	CX = requested density in dots per inch (300, 600, or 1200)
Return: AL = status (see also AX=CD04h"Image")
	    00h successful
		CX = density at which scan line was mapped
		ES:DI -> start of scan line
	    80h unsuccessful
	    81h scan line out of range
	    82h unsupported scan line density
	    83h out of memory
SeeAlso: AX=CD04h"Image"

Top
2FCD03 - INT 2F - SWELL.EXE - ACTIVATE
INT 2F - SWELL.EXE - ACTIVATE
	AX = CD03h
Return: AX = 0000h
SeeAlso: AX=CD02h"SWELL"

Top
2FCD03 - INT 2F R - InterWave Game API - SUSPEND PROGRAM
INT 2F R - InterWave Game API - SUSPEND PROGRAM
	AX = CD03h
	BX = installed program identifier
	CX = InterWave section to be released
	    0000h all
	    0001h synthesizer
	    0002h Codec
Return: AL = status
	    00h successful
		BX = base port
		CL = IRQ
		CH = DMA channel (Codec only)
	    else failed
SeeAlso: AX=CD00h"InterWave",AX=CD01h"InterWave",AX=CD02h"InterWave"
SeeAlso: AX=CD04h"InterWave",AX=CD21h"InterWave",AX=CD80h"InterWave"

Top
2FCD04 - INT 2F - Intel Image Processing Interface - MOVE BITMAP TO SCANLINE
INT 2F - Intel Image Processing Interface - MOVE BITMAP TO SCANLINE
	AX = CD04h
	CX:BX -> structure (see #03069)
Return: AL = status (see #03068)
SeeAlso: AX=CD03h"Image"

(Table 03068)
Values for IPI function status:
 00h	successful
 80h	unsuccessful
 81h	scan line out of range
 82h	unsupported scan line density
 83h	out of memory
 84h	unrecognized source
 85h	initialization error

Format of structure:
Offset	Size	Description	(Table 03069)
 00h	WORD	image source (0 = conventional memory, 1 = expanded memory)
 02h	DWORD	pointer to image data
 06h	WORD	scan line on which to place
 08h	WORD	bit offset from start of scan line at which to place
 0Ah	WORD	density of bitmap data (300, 600, or 1200 dpi)
 0Ch	WORD	width in bits of data
 0Eh	WORD	source logical page number
 10h	WORD	source handle (only if source in expanded memory)
 12h	WORD	source offset (only if source in expanded memory)

Top
2FCD04 - INT 2F - SWELL.EXE - TURN OFF VERBOSE MODE
INT 2F - SWELL.EXE - TURN OFF VERBOSE MODE
	AX = CD04h
Return: AX = 0000h
SeeAlso: AX=CD05h"SWELL"

Top
2FCD04 - INT 2F R - InterWave Game API - WAKE PROGRAM
INT 2F R - InterWave Game API - WAKE PROGRAM
	AX = CD04h
	BX = installed program identifier
Return: AL = status
	    00h successful
	    else failed
Note:	this function should only be called after the program has been
	  suspended with AX=CD03h
SeeAlso: AX=CD00h"InterWave",AX=CD01h"InterWave",AX=CD03h"InterWave"
SeeAlso: AX=CD05h"InterWave",AX=CD21h"InterWave",AX=CD80h"InterWave"
SeeAlso: INT 7E/AL=84h"IWSBSDRV"

Top
2FCD05 - INT 2F - Intel Image Processing Interface - PRINT PAGE
INT 2F - Intel Image Processing Interface - PRINT PAGE
	AX = CD05h
Return: AL = status (00h,80h) (see #03068)
Note:	page image is retained, so multiple calls will print multiple copies of
	  the page
SeeAlso: AX=CD06h"Image"

Top
2FCD05 - INT 2F - SWELL.EXE - TURN ON VERBOSE MODE
INT 2F - SWELL.EXE - TURN ON VERBOSE MODE
	AX = CD05h
Return: AX = 0000h
SeeAlso: AX=CD04h"SWELL"

Top
2FCD05 - INT 2F R - InterWave Game API - UNINSTALL RESIDENT DEVICE DRIVER
INT 2F R - InterWave Game API - UNINSTALL RESIDENT DEVICE DRIVER
	AX = CD05h
	BX = installed program identifier
Return: AL = status
	    00h successful
	    else failed
SeeAlso: AX=CD00h"InterWave",AX=CD01h"InterWave",AX=CD02h"InterWave"
SeeAlso: AX=CD03h"InterWave",AX=CD21h"InterWave",AX=CD80h"InterWave"

Top
2FCD06 - INT 2F - Intel Image Processing Interface - CLEAR PAGE
INT 2F - Intel Image Processing Interface - CLEAR PAGE
	AX = CD06h
Return: AL = status (00h,80h) (see #03068)
Note:	palette is reset to default
SeeAlso: AX=CD09h"Image"

Top
2FCD06 - INT 2F - SWELL.EXE - UNINSTALL
INT 2F - SWELL.EXE - UNINSTALL
	AX = CD06h
Return: AX = status
	    0000h uninstalled
	    8002h programs still swapped, not uninstalled

Top
2FCD07 - INT 2F - Intel Image Processing Interface - reserved
INT 2F - Intel Image Processing Interface - reserved
	AX = CD07h
SeeAlso: AX=CD00h"Image"

Top
2FCD07 - INT 2F - SWELL.EXE - GET INFO
INT 2F - SWELL.EXE - GET INFO
	AX = CD07h
	ES:BX -> 32-byte buffer for info (see #03070)
Return: AX = status
	    0000h successful
		ES:BX buffer filled
	    8001h buffer wrong size

Format of SWELL.EXE info buffer:
Offset	Size	Description	(Table 03070)
 00h	WORD	20h  (total size of buffer)
 02h	BYTE	suspend-once mode active if nonzero
 03h	BYTE	00h active, 01h suspended
 04h	BYTE	00h quiet, 01h verbose
 05h	BYTE	"Borland support" (allowing INT 21/AX=4B01h) on if nonzero
 06h 26 BYTEs	unused???

Top
2FCD08 - INT 2F - Intel Image Processing Interface - SCREEN IMAGE
INT 2F - Intel Image Processing Interface - SCREEN IMAGE
	AX = CD08h
	CX:BX -> structure (see #03071)
Return: AL = status (00h,80h-85h) (see #03068)
SeeAlso: AX=CD05h"Image",AX=CD09h"Image"

Format of IPI screen image structure:
Offset	Size	Description	(Table 03071)
 00h	WORD	image source (0 = conventional memory, 1 = expanded memory)
 02h	DWORD	pointer to image data
 06h	WORD	horizontal position on paper of left edge (in 1200 dpi units)
 08h	WORD	vertical position on paper of top edge (in 1200 dpi units)
 0Ah	WORD	left cropping (currently must be zero)
 0Ch	WORD	top cropping (currently must be zero)
 0Eh	WORD	width (currently must be 8000h)
 10h	WORD	height (currently must be 8000h)
 12h	WORD	horizontal size of image in 1200 dpi units
 14h	WORD	vertical size of image in 1200 dpi units
 16h	WORD	aspect ratio (currently reserved)
 18h	WORD	initialization flag (if 01h, initialization is performed)
 1Ah	WORD	pixels per line of source data
 1Ch	WORD	number of scan lines in source data
 1Eh	WORD	number of scan lines in packet
 20h	WORD	bits per pixel (1,2,4,6, or 8)
 22h	WORD	pixels per byte (1,2,4, or 8)
 24h	WORD	compression type (currently only 00h [uncompressed] supported)
 26h	WORD	source page number (if in expanded memory)
 28h	WORD	source handle (if in expanded memory)
 2Ah	WORD	source offset (if in expanded memory)

Top
2FCD08 - INT 2F - SWELL.EXE - UNUSED
INT 2F - SWELL.EXE - UNUSED
	AX = CD08h
Return: AX = FFFFh (error)

Top
2FCD09 - INT 2F - Intel Image Processing Interface - LOAD SCREEN
INT 2F - Intel Image Processing Interface - LOAD SCREEN
	AX = CD09h
	CX:BX -> structure (see #03072)
Return: AL = status (00h,80h) (see #03068)
SeeAlso: AX=CD06h"Image Processing",AX=CD0Ah"Image Processing"

Format of IPI load screen structure:
Offset	Size	Description	(Table 03072)
 00h	BYTE	style
		44h ('D') diamond style
		4Ch ('L') line style
 01h	BYTE	reserved (00h)
 02h	WORD	frequency in lines per inch [sic]
		currently, coerced to nearest of 50, 60, 68, 70, 75, 85, or 100
 04h	WORD	screen angle in degrees (-360 to 360)
		currently coerced to nearest of -45, 0, 45, or 90

Top
2FCD09 - INT 2F - SWELL.EXE - TURN OFF "BORLAND SUPPORT"
INT 2F - SWELL.EXE - TURN OFF "BORLAND SUPPORT"
	AX = CD09h
Return: AX = 0000h
SeeAlso: AX=CD0Ah"SWELL"

Top
2FCD0A - INT 2F - Intel Image Processing Interface - LOAD PALETTE
INT 2F - Intel Image Processing Interface - LOAD PALETTE
	AX = CD0Ah
	CX:BX -> palette structure (see #03073)
Return: AL = status (00h,80h) (see #03068)
SeeAlso: AX=CD09h"Image Processing"

Format of IPI palette structure:
Offset	Size	Description	(Table 03073)
 00h	BYTE	bits per pixel for which palette is to be used (1,2,4,6, or 8)
 01h	2**N	palette translation values, one per possible pixel value

Top
2FCD0A - INT 2F - SWELL.EXE - TURN ON "BORLAND SUPPORT"
INT 2F - SWELL.EXE - TURN ON "BORLAND SUPPORT"
	AX = CD0Ah
Return: AX = 0000h
SeeAlso: AX=CD09h"SWELL"

Top
2FCD0F - INT 2F - LaserPort Interface - EXECUTE FUNCTION
INT 2F - LaserPort Interface - EXECUTE FUNCTION
	AX = CD0Fh
	BL = function
		01h enable
		02h disable
		03h ???
Return: AL = status
	    00h success
SeeAlso: AX=CD00h"LaserPort"

Top
2FCD21 - INT 2F R - InterWave Game API - OPEN GAME DEVICE
INT 2F R - InterWave Game API - OPEN GAME DEVICE
	AX = CD21h
	BX = installed program identifier
	ES:DI -> ASCIZ device name
	    "MIDISIMPLE"
	    "MIDICOMPLEX"
	    "DIRECTCODEC"
Return: AL = status
	    00h successful
		DX = device handle
		---MIDISIMPLE and MIDICOMPLEX---
		BX = real-mode interrupt number (see #03074,#03075)
		---DIRECTCODEC---
		BX = base port
		CL = IRQ
		CH = DMA channel (04h = no DMA)
		SI = size of FIFO in bytes (0000h = use DMA)
	    nonzero failed (not supported or already in use)
	AH may be destroyed
Range:	AH=CDh-ECh, selected by scanning for an available multiplex number
SeeAlso: AX=CD00h"InterWave",AX=CD01h"InterWave",AX=CD02h"InterWave"
SeeAlso: AX=CD05h"InterWave",AX=CD22h"InterWave",AX=CD80h"InterWave"

(Table 03074)
Call MIDISIMPLE with:
	EAX = function number
	    0001h MIDI byte out
		BL = MIDI byte to send
	    0002h MIDI string out
		ECX = length of MIDI string in bytes
		ES:EDI -> MIDI string to send (should not include timing info)
	DX = device handle
	INT xxh (as returned by AX=CD21h)
Return: EAX = status
	    00000000h if successful
	    FFFFFFFFh on error (bad handle)
SeeAlso: #03075,INT 7E/AX=0001h"IWSBSDRV",INT 7E/AX=0002h"IWSBSDRV"

(Table 03075)
Call MIDICOMPLEX with:
	EAX = function number
	    ??? (specification is still in development)
	DX = device handle
	INT xxh (as returned by AX=CD21h)
Return: EAX = status
	    00000000h if successful
	    FFFFFFFFh on error (bad handle)
SeeAlso: #03074

Top
2FCD22 - INT 2F R - InterWave Game API - CLOSE GAME DEVICE
INT 2F R - InterWave Game API - CLOSE GAME DEVICE
	AX = CD22h
	BX = installed program identifier
	DX = device handle (from AX=CD21h)
Return: AL = status
	    00h successful
	    FFh inavlid handle or device is not open
Range:	AH=CDh-ECh, selected by scanning for an available multiplex number
SeeAlso: AX=CD00h"InterWave",AX=CD01h"InterWave",AX=CD02h"InterWave"
SeeAlso: AX=CD05h"InterWave",AX=CD21h"InterWave",AX=CD80h"InterWave"

Top
2FCD80 - INT 2F RC - InterWave Game API - MIXER SETTINGS CHANGED BROADCAST
INT 2F RC - InterWave Game API - MIXER SETTINGS CHANGED BROADCAST
	AX = CD80h
Return: nothing
Desc:	called by an application controlling the InterWave chip's mixer
	  whenever the mixer's settings are changed
Range:	AH=CDh-ECh, selected by scanning for an available multiplex number
Note:	when an application intercepts this function call, it must read the
	  new mixer settings from the InterWave chip
SeeAlso: AX=CD00h"InterWave",AX=CD01h"InterWave",AX=CD02h"InterWave"
SeeAlso: AX=CD05h"InterWave",AX=CD21h"InterWave",AX=CD22h"InterWave"

Top
2FCF00 - INT 2F - TEMPLEXX 1.0 - INSTALLATION CHECK
INT 2F - TEMPLEXX 1.0 - INSTALLATION CHECK
	AX = CF00h
Return: AL = FFh if installed
Program: TEMPLEXX is a popup keyboard template by Henson Scientific, Inc.
Note:	values in AL other than 00h cause an immediate return without modifying
	  any registers

Top
2FD000 - INT 2F C - MDEBUG display driver - GET DRIVER STATUS
INT 2F C - MDEBUG display driver - GET DRIVER STATUS
	AX = D000h
Return: CF set on error
	    all other registers must be unchanged)
	CF clear if successful
	    AL = FFh
	    AH = driver semaphor
		00h driver is not active
		01h driver is active
	    BX = CS of the driver
	    CX = driver version (CH = major, CL = minor, must be >= 013Ch)
	    DL = buffer semaphor
		00h driver is not pending
		01h driver is pending between functions 02h and 03h
	    DH = show semaphor
		00h driver is not pending
		01h driver is pending between functions 04h and 05h
Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
	  Schemmer, including a memory monitor, an interpreter and a
	  disassembler
Range:	AH=C0h to AH=FFh, selected by switch or programmatically
Notes:	MDEBUG can use any two consecutive multiplex numbers between C0h and
	  FFh; the default is D0h for the display driver and D1h for the
	  command driver (call INT 60/AH=00h"MDEBUG" for the actual multiplex
	  numbers used)
	this function MUST be reentrant, as MDEBUG calls it after every popup
	  before any other actions.  The handler should not change any
	  registers if the display is in an unsupported mode or in a mode
	  MDEBUG supports itself, e.g. a normal text mode with at least 80x25
	  characters (i.e. 80x43 or 132x44 (v1.60+)). In this case MDEBUG will
	  not call any of the other functions for this popup session.
	MDEBUG will not call the other functions if the returned version is
	  less than the actual version of MDEBUG.
	if the driver is reentrant, DL and DH should be 00h
SeeAlso: AX=D001h,AX=D002h,AX=D003h,AX=D004h,AX=D005h

Top
2FD000 - INT 2F - ZWmous - INSTALLATION CHECK
INT 2F - ZWmous - INSTALLATION CHECK
	AX = D000h
Return: AX = 5A57h ("ZW") if installed
	    BX = segment of resident code
Program: ZWmous is a shareware TSR by Zen Wu which permits the use of a mouse
	  with many non-mouse applications by entering the letter under the
	  mouse cursor on button presses
SeeAlso: INT 33/AX=0003h

Top
2FD000 - INT 2F - Lotus CD/Networker - INSTALLATION CHECK
INT 2F - Lotus CD/Networker - INSTALLATION CHECK
	AX = D000h
Return: AL = FFh if CD/Networker TSR is loaded
	BX = 4D44h ("MD") signature
	CX = Windows mode word (from INT 2F/AX=1600h) at time of TSR load
	DX = bitmap identifying all loaded CD/Networker TSRs.
Notes:	INT 2F/AH=D0h is used by CD/Networker to communicate between a
	  resident redirector TSR and a transient program that controls the
	  TSR's CD-ROM drive emulation (volume attachments, caching, etc).
	At present there is only one CD/Networker TSR; the bitmap always = 4.
SeeAlso: AX=D002h"Lotus",INT 2F/AX=1500h"CD-ROM"

Top
2FD001 - INT 2F C - MDEBUG display driver - INITIALIZE DRIVER
INT 2F C - MDEBUG display driver - INITIALIZE DRIVER
	AX = D001h
Return: CF set on error
	AL = driver semaphor
	AH = buffer semaphor
Range:	AH=C0h to AH=FFh, selected by switch or programmatically
Notes:	MDEBUG calls this function after every successful call of the function
	  00h. The function should reset all internal data and the status of
	  the driver. If this function returns an error, MDEBUG will not call
	  the other functions in this popup session.
	MDEBUG can use any two consecutive multiplex numbers between C0h and
	  FFh; the default is D0h for the display driver and D1h for the
	  command driver
SeeAlso: AX=D000h

Top
2FD002 - INT 2F C - MDEBUG display driver - SAVE GRAPHIC DATA
INT 2F C - MDEBUG display driver - SAVE GRAPHIC DATA
	AX = D002h
Return: CF set on error
	CF clear if successful
	    display memory saved and display switched to one of the text modes
	      02h, 03h or 07h.
Note:	MDEBUG calls this function only once every popup session before
	  displaying its windows.
SeeAlso: AX=D000h,AX=D003h

Top
2FD002BX4D44 - INT 2F - Multiplex - Lotus CD/Networker GET DATA AREA
INT 2F - Multiplex - Lotus CD/Networker GET DATA AREA
	AX = D002h
	BX = 4D44h
	DX = bitmap identifying one loaded CD/Networker TSR
Return: ES:DI -> data area owned by TSR
Note:	the format of the data area changes with each minor revision, so it
	  cannot be counted on
SeeAlso: AX=D000h"Lotus"

Top
2FD003 - INT 2F C - MDEBUG display driver - RESTORE GRAPHIC DATA
INT 2F C - MDEBUG display driver - RESTORE GRAPHIC DATA
	AX = D003h
Return: CF set on error
	CF clear if successful
	    display restored to the mode it was in before calling AX=D002h and
	      the display memory is restored
Note:	MDEBUG calls this function only once every popup session just before
	 it exits to normal DOS.
SeeAlso: AX=D000h,AX=D002h

Top
2FD004 - INT 2F - MDEBUG display driver - SHOW SAVED DATA
INT 2F - MDEBUG display driver - SHOW SAVED DATA
	AX = D004h
Return: CF set on error
	CF clear if successful
	    display switched to mode it was in before calling AX=D002h and the
	      display memory is restored
Note:	This function needn't save the display memory before changing it.
SeeAlso: AX=D000h,AX=D005h

Top
2FD005 - INT 2F - MDEBUG display driver - SWITCH BACK TO TEXT SCREEN
INT 2F - MDEBUG display driver - SWITCH BACK TO TEXT SCREEN
	AX = D005h
Return: CF set on error
	CF clear if successful
	    display restored to mode it was in before calling AX=D004h
Note:	This function needn't save or change the display memory
SeeAlso: AX=D000h,AX=D004h

Top
2FD0 - INT 2F - MDEBUG display driver - RESERVED FUNCTION NUMBERS
INT 2F - MDEBUG display driver - RESERVED FUNCTION NUMBERS
	AH = D0h
	AL = 06h-7Fh
Note:	these functions are reserved for future use

Top
2FD0 - INT 2F - MDEBUG display driver - USER DEFINED FUNCTION NUMBERS
INT 2F - MDEBUG display driver - USER DEFINED FUNCTION NUMBERS
	AH = D0h
	AL = 80h-FFh
Note:	these functions numbers are reserved for user defined features (e.g.
	  communication between the transient und resident parts of the driver)

Top
2FD100 - INT 2F C - MDEBUG command driver - GET STATUS
INT 2F C - MDEBUG command driver - GET STATUS
	AX = D100h
	BX = version of MDEBUG (BH = major, BL = minor)
	CX = command driver counter
---v1.60+---
	DS:SI -> MDEBUG identification table (see #03076)
	ES = segment of display memory used by MDEBUG
	DI = size of video mode used by MDEBUG
	    (high byte = lines, low byte = columns)
Return: DL = FFh
	BX = version number of the driver if it is less than the version in BX,
	      else unchanged
	CX incremented
Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
	  Schemmer, including a memory monitor, an interpreter, and a
	  disassembler
Range:	AH=C0h to AH=FFh, selected by switch or programmatically
Notes:	called by MDEBUG at start of popup session; if the version number
	  returned in BX is less than 1.52 (1.60 for MDEBUG v1.70), MDEBUG will
	  not call any of the other functions during this popup session
	MDEBUG can use any two consecutive multiplex numbers between C0h and
	  FFh; the default is D0h for the display driver and D1h for the
	  command driver (call INT 60/AH=00h"MDEBUG" for the multiplex numbers
	  actually used)
	this function must end with a far call to the old INT 2F handler after
	  changing the registers
	this function MUST be reentrant
	command drivers must also declare the following data at the given
	  offsets in the code segment
		100h  3 BYTEs	JMP-command in .COM-files
		103h	BYTE	NOP-command (90h)
		104h 26 BYTEs	signature "Kommandotreiber fr MDEBUG"
		11Eh 12 BYTEs	name of driver, e.g. "MDHISDRV.COM"
				each driver must have a unique name
	MDEBUG will pass every key and command to the command driver(s) before
	  checking for a valid internal command
SeeAlso: AX=D000h,AX=D101h

Format of MDEBUG identification table:
Offset	Size	Description	(Table 03076)
 -2	WORD	entry offset
 00h	WORD	CS of MDEBUG
 02h	DWORD	old INT 08h vector
 06h	DWORD	old INT 09h vector
 0Ah	DWORD	address INT 16h routine used by MDEBUG
 0Eh	BYTE	length of version string
 0Fh  N BYTEs	version string

Top
2FD101 - INT 2F - MDEBUG command driver - INITIALIZE DRIVER
INT 2F - MDEBUG command driver - INITIALIZE DRIVER
	AX = D101h
	CX = command driver counter
Return: DL = status
	    FFh if successful
		CX incremented
	    else error: all registers unchanged
Note:	this function must end with a  far call to the old INT 2F handler after
	  changing the registers
	this function must be reentrant

Top
2FD102 - INT 2F - MDEBUG command driver - EXECUTE INTERPRETER COMMAND
INT 2F - MDEBUG command driver - EXECUTE INTERPRETER COMMAND
	AX = D102h
	BL = first character of the interpreter command
	BH = last character of the interpreter command (or blank)
	DS:SI -> parameter for the interpreter command as ASCIZ string
	DS:DI -> MDEBUG data structure (see #03078)
Return: AL = FFh
	CF set on error
	    AH = error number (see #03077)
	    DS:SI -> ASCIZ error message (max 30 characters) if AH=0Ch
	CF clear if successful
	    AH = return code
		00h continue processing the command line
		01h leave MDEBUG popup session
		02h leave MDEBUG popup session and automatically popup again
		      if the InDOS flag is zero
		03h not used (same as 00h)
		04h not used (same as 00h)
		05h put new command line into the input buffer,
		    DS:SI -> new command line (ASCIZ string, max 66 chars)
		06h process new command line
		    DS:SI -> new command line (ASCIZ string, max 66 chars)
	       else unknown status, but continue processing commmand line
Note:	this function must end with a far call to the old INT 2F handler (with
	  registers unchanged) if the driver does not support the interpreter
	  command in BX.  Otherwise, the driver must not chain to the old
	  INT 2F.

(Table 03077)
Values for MDEBUG error number:
 01h	syntax error
 02h	first shell of the command.com is activ
 03h	Esc pressed
 04h	break pressed
 05h	DOS is busy
 06h	command ended
 07h	division by zero
 08h	invalid display driver
 09h	invalid command driver
 0Ah	error 8 and 9
 0Bh	unknown error
 0Ch	new error
 else	unknown error

Format of MDEBUG data structure:
Offset	Size	Description	(Table 03078)
 00h	WORD	register SE
 02h	WORD	register OF
 04h	WORD	register FS
 06h	WORD	register FO
 08h	WORD	register AX
 0Ah	WORD	register BX
 0Ch	WORD	register CX
 0Eh	WORD	register DX
 10h	WORD	register SI
 12h	WORD	register DI
 14h	WORD	register DS
 16h	WORD	register ES
 18h	WORD	register BP
 1Ah	WORD	register SS
 1Ch	WORD	register SP
 1Eh	WORD	register FL (flags)
 20h	WORD	register R0
 22h	WORD	register R1
 24h	WORD	register R2
 26h	WORD	register R3
 28h	WORD	register R4
 2Ah	WORD	register R5
 2Ch	WORD	register R6
 2Eh	WORD	register R7
 30h	WORD	register R8
 32h	WORD	register CS, return-address
 34h	WORD	register IP, return-address
 36h	DWORD	saved pointer to data for key <F6> (v1.60)
		saved monitor address (v1.70)
 3Ah 12 WORDs	saved register values on last popup entry (for <F8> key)
		(original register values at popup entry of MDEBUG)
		AX, BX, CX, DX, SI, DI, DS, ES, BP, SS, SP, flags
 52h 12 WORDs	saved register values on last popup exit (for <SHIFT-F8> key)
		AX, BX, CX, DX, SI, DI, DS, ES, BP, SS, SP, flags
 6Ah	DWORD	address of the DOS-invars-table
 6Eh	DWORD	address of the InDOS flag
 72h	WORD	offset of the register which is used for the segment of the
		  first monitor window
 74h	WORD	offset of the register which is used for the offset of the
		  first monitor window
 76h	WORD	name of the register which is used for the segment of the
		  first monitor segment
 78h	WORD	name of the register which is used for the offset of the first
		  monitor window
 7Ah	WORD	pseudo register 1
 7Ch	WORD	pseudo register 2

Top
2FD103 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE MONITOR
INT 2F - MDEBUG command driver - EXECUTE KEY IN THE MONITOR
	AX = D103h
	BX = key code (like result of an interrupt 16h call)
	CX = cursor position
	    0000h in the ASCII column of the monitor
	    0001h in one of the hex fields of the monitor
	DS:SI -> MDEBUG data structure (see #03078)
	ES:DI -> actual byte in the monitor
Return: AL = FFh
	AH = return code
	    00h key processed, read next key
	    01h leave MDEBUG popup session
	    02h leave MDEBUG popup session and automatically popup again if DOS
		  is not busy
	    03h signal an error (beep)
	    04h driver has redefined the key, proceed with the new key
		BX = new key code
		MDEBUG will not pass the new key to the command driver(s)
	   else treat like code 00h
Note:	this function must end with a far call to the old INT 2F handler (with
	  registers unchanged) if the driver does not support the key in BX.
	  Otherwise, the driver must not chain to the old INT 2F.
SeeAlso: AX=D104h

Top
2FD104 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE INTERPRETER
INT 2F - MDEBUG command driver - EXECUTE KEY IN THE INTERPRETER
	AX = D104h
	DS:SI -> MDEBUG data structure (see #03078)
Return: AL = FFh
	AH = return code
	    00h key processed, read next key
	    01h leave MDEBUG popup session
	    02h leave MDEBUG popup session and automactically popup again if
		  DOS is not busy
	    03h signal an error (beep)
	    04h driver has redefined the key, proceed with the new key
		BX = new key code
		MDEBUG won't pass the new key to the command driver(s)
	    05h put new command line into the input buffer
		DS:SI -> new command line (ASCIZ string, max 66 chars)
	    06h process new command line
		DS:SI -> new command line (ASCIZ string, max 66 chars)
	   else treat like code 00h
Note:	this function must end with a far call to the old INT 2F handler if the
	  driver does not support the key in BX.  Otherwise, the driver must
	  not chain to the old INT 2F.
SeeAlso: AX=D103h

Top
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
	AH = D1h
	AL = 05h-0Ah
Note:	these functions are reserved for future use

Top
2FD110 - INT 2F - MDEBUG command driver - GET ADDRESS OF THE OLD INT 2F
INT 2F - MDEBUG command driver - GET ADDRESS OF THE OLD INT 2F
	AX = D110h
Return: DL = FFh
	ES:BX -> next program in the chain for INT 2F
	CX = code segment of this driver
	DI = offset of driver identification table (see #03079) (v1.60+)
Notes:	only called by the transient part of the driver
	must be reentrant and the driver must not chain this function to the
	  old INT 2F

Format of the MDEBUG driver identification table:
Offset	Size	Description	(Table 03079)
 00h  26 BYTEs	 signature "Kommandotreiber fr MDEBUG"
					     ^- Note: ASCII 129,German U-umlaut
 27h  12 BYTEs	 name of driver, e.g. "MDHISDRV.COM"
		 each driver must have a unique name

Top
2FD111 - INT 2F - MDEBUG command driver - START DRIVER
INT 2F - MDEBUG command driver - START DRIVER
	AX = D111h
Return: DL = FFh
Notes:	only called by the transient part of the driver to inform the resident
	  part that it is installed
	the function must be reentrant and the driver mustn't chain this
	  function to the old INT 2F
SeeAlso: AX=D101h,AX=D112h

Top
2FD112 - INT 2F - MDEBUG command driver - END DRIVER
INT 2F - MDEBUG command driver - END DRIVER
	AX = D112h
Return: DL = FFh
Notes:	only called by the transient part of the driver to inform the resident
	  part that it will be released after this function
	the function must be reentrant and the driver mustn't chain this
	  function to the old INT 2F
SeeAlso: AX=D101h,AX=D111h

Top
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
	AH = D1h
	AL = 13h-7Fh
Note:	these functions are reserved for future use

Top
2FD1 - INT 2F - MDEBUG command driver - USER DEFINED FUNCTIONS
INT 2F - MDEBUG command driver - USER DEFINED FUNCTIONS
	AH = D1h
	AL = 80h-FFh
Note:	these functions are reserved for user defined features (e.g.
	  communication between the transient und resident parts of the driver)

Top
2FD200 - INT 2F - PCL-838.EXE - INSTALLATION CHECK
INT 2F - PCL-838.EXE - INSTALLATION CHECK
	AX = D200h
Return: AL = FFh if installed??? (documented as AX = return value)
Program: PCL-838 is a resident utility for controlling a stepmotor adapter
	  board by Advantec
SeeAlso: AX=D201h"PCL-838",AX=D202h"PCL-838"

Top
2FD200BX5144 - INT 2F - Quarterdeck RPCI - INSTALLATION CHECK
INT 2F - Quarterdeck RPCI - INSTALLATION CHECK
	AX = D200h
	BX = 5144h ("QD")
	CX = 4D45h ("ME")
	DX = 4D30h ("M0")
Return: AL = FFh installed
	if BX,CX,DX registers were as specified on entry:
	    BX = 4D45h ("ME")
	    CX = 4D44h ("MD")
	    DX = 5652h ("VR")
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
Notes:	the Quarterdeck RPCI (Resident Program Communication Interface) is
	  supported by QEMM v5.0+, QRAM, MANIFEST, VIDRAM, etc.
	for AL <> 0, if the BX/CX/DX values don't match the identifier of a
	  Quarterdeck product, it just chains to the previous INT 2F handler
SeeAlso: AX=D201h/BX=4849h,AX=D201h/BX=4D41h,AX=D201h/BX=4D45h
SeeAlso: AX=D201h/BX=5145h,AX=D201h/BX=5649h

Top
2FD201 - INT 2F - PCL-838.EXE - UNINSTALL
INT 2F - PCL-838.EXE - UNINSTALL
	AX = D201h
Return: AX = return value
SeeAlso: AX=D200h"PCL-838",AX=D202h"PCL-838"

Top
2FD201BX4849 - INT 2F - Quarterdeck RPCI - GET QD HIMEM PRESENCE
INT 2F - Quarterdeck RPCI - GET QD HIMEM PRESENCE
	AX = D201h
	BX = 4849h ("HI")
	CX = 4D45h ("ME")
	DX = 4D51h ("MQ")
Return: BX = 4F4Bh ("OK")
	ES:DI -> HIMEM entry point
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
SeeAlso: AX=D200h,AX=D201h/BX=5145h

Top
2FD201BX4849 - INT 2F - Quarterdeck RPCI - QEMM/QRAM v5.0+ - GET HIRAM MEMORY CHAIN
INT 2F - Quarterdeck RPCI - QEMM/QRAM v5.0+ - GET HIRAM MEMORY CHAIN
	AX = D201h
	BX = 4849h ("HI")
	CX = 5241h ("RA")
	DX = 4D30h ("M0")
Return: BX = 4F4Bh ("OK")
	CX = segment of start of HIRAM chain
	DX = reserved block owner (QEMM/QRAM code segment)
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
Note:	the HIRAM memory chain has the same format as the regular DOS 4.0
	  memory chain (see #01628 at INT 21/AH=52h), except that XMS Upper
	  Memory Blocks have the block header program name field set to
	  "UMB"; blocks whose "owner" field is set to the reserved segment
	  returned in DX are locked-out regions such as video memory and ROMs.
SeeAlso: AX=12FFh/BX=0006h,AX=D200h

Top
2FD201BX4D41 - INT 2F U - Quarterdeck RPCI - MANIFEST v1.0+ - INSTALLATION CHECK
INT 2F U - Quarterdeck RPCI - MANIFEST v1.0+ - INSTALLATION CHECK
	AX = D201h
	BX = 4D41h ("MA")
	CX = 4E49h ("NI")
	DX = 4645h ("FE")
Return: BX = 5354h ("ST") if installed
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
SeeAlso: AX=D200h

Top
2FD201BX4D45 - INT 2F U - Quarterdeck RPCI - DVDOS4GX.DVR - ???
INT 2F U - Quarterdeck RPCI - DVDOS4GX.DVR - ???
	AX = D201h
	BX = 4D45h ("ME")
	CX = 5155h ("QU")
	DX = 5044h ("PD")
Return: AL = FFh
	BX = 4F4Bh ("OK")
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
Note:	this function is called by QEMM 6.03
	performs a variety of actions before setting return registers
SeeAlso: AX=D200h

Top
2FD201BX5145 - INT 2F - Quarterdeck RPCI - QEMM v5.0+ - INSTALLATION CHECK
INT 2F - Quarterdeck RPCI - QEMM v5.0+ - INSTALLATION CHECK
	AX = D201h
	BX = 5145h ("QE")
	CX = 4D4Dh ("MM")
	DX = 3432h ("42")
Return: BX = 4F4Bh ("OK")
	ES:DI -> QEMM API entry point (see INT 67/AH=3Fh)
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
Note:	this call is not available under QEMM v6.00 unless Windows3 support
	  has been disabled with the NW3 switch to QEMM386.SYS
SeeAlso: AX=D200h,AX=D201h/BX=4849h,INT 67/AH=3Fh

Top
2FD201BX5649 - INT 2F u - Quarterdeck RPCI - VIDRAM v5.0+ - INSTALLATION CHECK
INT 2F u - Quarterdeck RPCI - VIDRAM v5.0+ - INSTALLATION CHECK
	AX = D201h
	BX = 5649h ("VI")
	CX = 4452h ("DR")
	DX = 414Dh ("AM")
Return: BX = 4F4Bh ("OK")
	ES:DI -> VIDRAM entry point (see #03080)
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
SeeAlso: AX=D200h

(Table 03080)
Call VIDRAM entry point with:
	AH = 00h get status
		Return: AL = VIDRAM state (see #03081)
			BL = extra RAM status (see #03082)
			BH = feature flags (see #03083)
			CL = current monitor (01h = mono, 80h = color)
			SI = current top of memory (paragraph)
			DI = segment of start of HiRAM chain
	AH = 01h setup
		AL = VIDRAM state (see #03081)
		BL = extra RAM status (see #03082)
		BH = feature flags (see #03083)
		CL = monitor (01h = monochrome, 80h = color)
		SI = new top of memory (paragraph)
		DI = segment of start of HiRAM chain
	AH = 02h get end address of VIDRAM code
		Return: ES:DI -> VIDRAM partial map context (see #03084,#03085)
Return: CF set on error
	CF clear if successful

(Table 03081)
Values for VIDRAM state:
 00h	off
 01h	no EGA graphics
 02h	no graphics at all

(Table 03082)
Values for VIDRAM extra RAM status:
 00h	VIDRAM does not use extra RAM
 01h	VIDRAM uses EMS as extra RAM
 02h	VIDRAM uses EGA as extra RAM

Bitfields for VIDRAM feature flags:
Bit(s)	Description	(Table 03083)
 0	override enabled
 1	mapped memory detected in A000h-B000h range
 2	top of memory not at 640K
 3	MDA detected
 4	high RAM exists in video area
 5	mapped memory detected in video area
 6-7	reserved???

Format of VIDRAM partial map context (EMS 3.2):
Offset	Size	Description	(Table 03084)
 00h	BYTE	EMS version ID (32h)
 01h	WORD	EMM handle for this entry
 03h	BYTE	number of frames
 04h	BYTE	first page frame
 05h	WORD	offset from ES to previously saved map

Format of VIDRAM partial map context (EMS 4.0):
Offset	Size	Description	(Table 03085)
 00h	BYTE	EMS version ID (40h)
 01h	WORD	mappable segment count
 03h  N WORD	mappable segments
	WORD	offset to previously saved map???

Top
2FD202 - INT 2F - PCL-838.EXE - EXECUTE PCL838 COMMANDS
INT 2F - PCL-838.EXE - EXECUTE PCL838 COMMANDS
	AX = D202h
	CX:BX -> parameter table
Return: AX = return value
SeeAlso: AX=D200h"PCL-838",AX=D201h"PCL-838"

Top
2FD300BX4562 - INT 2F U - TeleReplica - INSTALLATION CHECK
INT 2F U - TeleReplica - INSTALLATION CHECK
	AX = D300h
	BX = 4562h
	CX = 2745h
	DX = serial port I/O base address??? (03F8h for v3.9)
Return: SI = segment of resident code
	AX = 251Dh
	BX = DF21h
	CX = F321h
	DX = ???

Top
2FD3CB - INT 2F U - LapLink Quick Connect v6 - API
INT 2F U - LapLink Quick Connect v6 - API
	AX = D3CBh
	CX = function
	    0002h get ???
		Return: BX:AX -> ???
			CL = ???
			CH = ???
			DX = ???
			DI = COM1 I/O port???
			SI = COM2 I/O port???
	    0003h initialization???
	    0004h ???
	    0005h initialization???
	    0006h reset/clear ???
		Return: AX = 0000h
			ES:DI -> next byte after ??? cleared by this call
	    0007h initialization???
	    0008h uninstall
		Return: BX = status
			    0000h successful
			    FFFFh incomplete, stub remains in memory
Return: CX = 534Bh (except function 0002h)
Index:	uninstall;LapLink Quick Connect

Top
2FD3D3BH00 - INT 2F - KDRIVE v2.x - INSTALLATION CHECK
INT 2F - KDRIVE v2.x - INSTALLATION CHECK
	AX = D3D3h
	BH = 00h
Return: BX = 3D3Dh if installed
	CF clear if installed
	    AX = driver ID??? (returns 0087h for KDRIVE.EXE and 0880h for
		  KDRIVOS2.EXE in one examined version)
Program: KDRIVE is a shareware extended German keyboard driver by Martin
	  Austermeier, originally based on K3 by Martin Gerdes as published
	  in c't magazine 7/1988

Top
2FD44D - INT 2F - 4DOS.COM v2.1+ - API
INT 2F - 4DOS.COM v2.1+ - API
	AX = D44Dh
	BH = function
	    00h installation check
		Return: AX = 44DDh
			BL = major version number
			BH = minor version number
			CX = PSP segment address for current invocation
			DL = 4DOS shell number (0 for the first (root) shell,
			      updated each time a new copy is loaded)
	    01h (internal, v2.1-3.03) terminate current copy of 4DOS
		Return: nothing
		(internal, v4.0+) ???
		Return: AX = 44DDh
			ES:BX -> data area (see #03086)
	    02h ???
		DX = ???
		Note:	v5.52 signals "unrecoverable error" and then terminates
			  with INT 21/AH=4Ch or enters a deliberate infinite
			  loop if ???
	---v2.1-3.03 only---
	    03h EXEC program
		CX:DX -> EXEC record (see #03087)
	    FEh deallocate shell number (passed through to root shell)
		???
	    FFh allocate shell number (passed through to root shell)
	---v5.52---
	    03h get ???
		BL = ??? (00h/01h)
		Return: DX = current value of ???
	    04h set ???
		BL = ??? (00h/01h)
		DX = new value for ???
Note:	a bug in v3.00 will crash the system if unrecognized value in BH
SeeAlso: AX=D44Eh,AX=D44Fh/BX=0000h,AX=E44Dh,INT 21/AX=4403h"DOS"
SeeAlso: INT 14/AX=7000h
Index:	installation check;4DOS|installation check;NDOS

Format of 4DOS v4.0 data area:
Offset	Size	Description	(Table 03086)
 00h  2 BYTEs	???
 06h	WORD	XMS handle for swapping
	???
SeeAlso: #03087

Format of 4DOS EXEC v2.1-v3.03 record:
Offset	Size	Description	(Table 03087)
 00h	WORD	offset of ASCIZ program name in same segment as EXEC record
 02h	WORD	offset of DOS commandline in same segment as EXEC record
 04h	WORD	segment of environment for child process (see INT 21/AH=26h)
SeeAlso: #03086

Top
2FD44E - INT 2F C - 4DOS v3.0+ - AWAITING USER INPUT
INT 2F C - 4DOS v3.0+ - AWAITING USER INPUT
	AX = D44Eh
---4DOS v3.01+---
	BX = condition
	    0000h 4DOS is ready to display prompt
	    0001h 4DOS has displayed the prompt, about to accept user input
Return: the handler must preserve SI, DI, BP, SP, DS, ES, and SS
Note:	v3.00 only makes the call corresponding to BX=0001h, does not set BX
SeeAlso: AX=D44Dh

Top
2FD44FBX0000 - INT 2F - 4DOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
INT 2F - 4DOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
	AX = D44Fh
	BX = 0000h
Return: AX = 44DDh if installed
Note:	this function is also supported by ANSIPLUS v3.01+ and K3PLUS v6.20+,
	  which emulate the 4DOS and NDOS keystack
SeeAlso: AX=D44Dh,AX=D44Fh/BX=0001h,AX=E44Fh/BX=0000h

Top
2FD44FBX0001 - INT 2F - 4DOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
INT 2F - 4DOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
	AX = D44Fh
	BX = 0001h
	CX = number of keystrokes (01h-FFh)
	DS:DX -> keystroke list (one word per keystroke)
Return: AX = status
	    0000h successful
	    nonzero failed
	BX,CX,DX destroyed
Notes:	the keystrokes are the exact values to return from subsequent calls to
	  INT 16 with AH=00h,01h,10h, or 11h, with the following exceptions:
		0000h causes subfunctions 01h and 11h to indicate an empty
		      keyboard buffer
		FFFFh is followed by a word indicating the number of clock
		      ticks to delay before the next faked keystroke
	v4.00 KSTACK overwrites any unread keystrokes from the previous
	  invocation, and does not range-check CX; it will overwrite memory
	  following the resident portion if CX is greater than 100h.
	this function is also supported by ANSIPLUS v3.01+ and K3PLUS v6.20+,
	  which emulate the 4DOS and NDOS keystack
SeeAlso: AX=D44Dh,AX=D44Fh/BX=0000h,INT 16/AH=00h,INT 21/AX=4403h"DOS"

Top
2FD600 - INT 2F - HEART.COM - INSTALLATION CHECK
INT 2F - HEART.COM - INSTALLATION CHECK
	AX = D600h
Return: AX = 0303h (two hearts) if installed
	    ES:DI -> buffer (see #03088)
Program: HEART.COM is a CPU lock-up/critical indicator utility by Mitch Davis.
Notes:	Once the host program has identified the address of the data area, it
	  can change this to indicate safe/critical, alternate colours, etc.
	The entries for the color table are in char/attrib form.  Every two
	  entries form a pair which is alternated between 68 times a minute.
	  The first half of the table is for color videos, the second mono.
	  Within each half, the first half is for the safe chars, and the
	  second for the critical chars.

Format of HEART.COM buffer:
Offset	Size	Description	(Table 03088)
 00h  8 WORDs	table of colors/attributes (refer to notes above)
 10h	BYTE	flags
		bit 0: program is in critical section, so flash double
		      exclamation mark
		bit 1: program is in safe code, so flash the heart character
 11h	WORD	position of heartbeat on screen, normally 009Eh (last column
		of second line)

Top
2FD600 - INT 2F U - VEDIT VSWAP - INSTALLATION CHECK
INT 2F U - VEDIT VSWAP - INSTALLATION CHECK
	AX = D600h
Return: AL = D6h if installed
Program: VSWAP is the resident portion of VEDIT's "swapper" capability; VEDIT
	  is a programmer's text editor by Greenview Data.
SeeAlso: AX=D601h,AX=D602h

Top
2FD601 - INT 2F U - VEDIT VSWAP - ???
INT 2F U - VEDIT VSWAP - ???
	AX = D601h
	BL = subfunction number???
Return: BL = return code ???
	ES = resident portion's data??? segment
	DX = resident portion's code segment
SeeAlso: AX=D600h"VSWAP"

Top
2FD602 - INT 2F U - VEDIT VSWAP - EXEC PROGRAM WITH SWAP
INT 2F U - VEDIT VSWAP - EXEC PROGRAM WITH SWAP
	AX = D602h
	other registers set as for INT 21/AX=4B00h
Return: CF set on error
	    AL = error code
		82h = failure due to ???
	CF clear on success
SeeAlso: AX=D600h"VSWAP",INT 21/AH=4Bh"EXEC"

Top
2FD701BX0000 - INT 2F - Banyan VINES v4+ - GET BANV INTERRUPT NUMBER
INT 2F - Banyan VINES v4+ - GET BANV INTERRUPT NUMBER
	AX = D701h
	BX = 0000h
Return: AX = 0000h if installed
	    BX = interrupt number (60h to 66h)
	   nonzero not present
Note:	if AX is nonzero, VINES 3.x or earlier may be installed, thus it is
	  necessary to examine the four bytes preceding the handlers for
	  INT 60 through INT 66 for the string "BANV"
SeeAlso: AX=D702h,AX=D703h,AX=D704h

Top
2FD702 - INT 2F U - Banyan VINES v4+ - PCPRINT interface
INT 2F U - Banyan VINES v4+ - PCPRINT interface
	AX = D702h
	BX = function
	???
Return: ???
SeeAlso: AX=D701h,AX=D703h,INT 61/AX=0005h"Banyan"

Top
2FD703 - INT 2F U - Banyan VINES v4+ - MAIL interface
INT 2F U - Banyan VINES v4+ - MAIL interface
	AX = D703h
	BX = function
	???
Return: ???
SeeAlso: AX=D702h,AX=D704h

Top
2FD704 - INT 2F U - Banyan VINES v4+ - Streettalk Directory Assistance interface
INT 2F U - Banyan VINES v4+ - Streettalk Directory Assistance interface
	AX = D704h
	BX = function
	???
Return: ???
SeeAlso: AX=D703h,INT 61/AX=0007h/BX=0002h"Banyan",INT 61/AX=0007h/BX=0008h

Top
2FD800 - INT 2F U - Novell NetWare Lite - CLIENT.EXE - INSTALLATION CHECK
INT 2F U - Novell NetWare Lite - CLIENT.EXE - INSTALLATION CHECK
	AX = D800h
Return: AL = FFh if installed
	    DX = version number (0100h for v1.0, 0101h for v1.1)
	    BX = data segment of resident copy
	    ES:DI -> private API entry point (see #03089)
	    SI = segment of resident code
Note:	Microsoft assigned multiplex number D8h to Novell on 1991/05/21
SeeAlso: AX=7A00h,AX=D880h

(Table 03089)
Call CLIENT API entry point with:
	BX = function
	    0000h get ???
		Return: DX = CLIENT version??? (0101h for v1.1)
			ES:BX -> ??? data
	    0001h ???
	    0002h ???
	    0003h ???
	    0004h ???
	    0005h ???
		DL = ???
		???
		Return: ???
	    0006h get module name???
		ES:DI -> 16-byte buffer
		Return: CX = ???
			ES:DI filled with "NWLITE_CLIENT" 00h 00h 00h
	    0007h ???
		DX:CX = ???
		???
		Return: ???
	    0008h ???
	    0009h ???
		DL = ???
		ES:DI -> 16-byte buffer for ???
		Return: CF clear if successful
			    AX = 0000h
			    CX = 0000h
			    SI,DI destroyed
			CF set on error
			    AX = error code 4903h
	    000Ah ???
		AH = subfunction
		    00h get ???
		    01h clear/set ??? flag
			AL = new state (00h cleared, 01h set)
		    02h set ???
			DX = new value of ???
		Return: DX = old value of ???
	    000Bh ???
		AX = ???
		???
		Return: ???
	    000Ch ???
		AX = ???
		???
		Return: ???
	    000Dh ???
		AX = ???
		???
		Return: ???
	    000Eh get original INT 17
		Return: CF clear
			ES:BX -> original INT 17
	    000Fh ???
	    0010h ???
		AX = ???
		???
		Return: ???
	    0011h get ???
		Return: CF clear
			DL = ???
	    0012h get ???
		AL = index of ???
		ES:DI -> 10-byte buffer for ???
		Return: CF clear if successful
			    ES:DI buffer filled
			    AX,CX destroyed
			CF set on error
			    AX = error code (4907h if AL out of range)
	    0013h get ???
		Return: CF clear
			DH = ???
			DL = ???
	    0014h ???
		DL = ???
		???
		Return: CF clear if successful
			    ???
			CF set on error
			    AX = error code 8056h
	    0015h ???
		DX = ???
		Return: ES:DI -> ???
	    other
		Return: CF set
			AX = 0001h (invalid function)

Top
2FD856 - INT 2F U - Novell NetWare Lite v1.1 - SERVER - "VNWLSERV_INIT" - GET ???
INT 2F U - Novell NetWare Lite v1.1 - SERVER - "VNWLSERV_INIT" - GET ???
	AX = D856h
Return: AX = 0001h if supported???
	BX = ??? (0004h for v1.1)
	CX = ??? (0F20h for v1.1)
	DS = segment of resident code
	ES = data segment of resident copy
Note:	this function is also supported by Personal NetWare SERVER, bundled
	  with Novell DOS 7

Top
2FD880 - INT 2F U - Novell NetWare Lite v1.0+ - SERVER - INSTALLATION CHECK
INT 2F U - Novell NetWare Lite v1.0+ - SERVER - INSTALLATION CHECK
	AX = D880h
Return: AL = FFh if installed
	    DX = version number (binary, DH = major, DL = minor)
	    BX = data segment of resident copy
	    CL = current state (00h SERVER is disabled, 01h SERVER is active)
	    ES:DI -> private API entry point (see #03090)
	    SI = ??? (offset of configuration info?)
	    AH may be destroyed
Note:	this function is also supported by Personal NetWare SERVER, but DI is
	  not set; instead, ES:SI points at the API entry point
SeeAlso: AX=7A00h,AX=D800h,INT 2A/AX=D852h

(Table 03090)
Call SERVER API entry point with:
	BX = function
	    0000h shut down server
		???
		Return: ???
		Note: closes open files by calling INT 21/AH=3Eh
	    0001h get connection information
		DX = connection number (0001h-max connections)
		ES:DI -> 28-byte buffer for connection information
		Return: CF clear if successful
			    ES:DI buffer filled
			CF set on error
			    AX = FFFFh
	---Personal NetWare only---
	    0002h ???
	    0003h ???
	    0004h ???
	    0005h ???
	    0006h get server info table
		  CX = size of buffer
		  ES:DI -> buffer
		  AL = mode (02h = get current status)
	    0007h ???
	    other
		Return: CF set
			AX = 0001h (invalid function)

Top
2FD8C0 - INT 2F U - Novell NLCACHE,NWCACHE - INSTALLATION CHECK
INT 2F U - Novell NLCACHE,NWCACHE - INSTALLATION CHECK
	AX = D8C0h
Return: AL = FFh if installed
	    CL = memory type (01h NLCACHEC, 02h NLCACHEX, 03h NLCACHEM)
	    DH = major version (01h for v1.1)
	    DL = minor version (01h for v1.1)
	    ES:DI -> private API entry point (see #03091)
Program: NWCACHE is the disk cache included with Personal NetWare,
	    Novell DOS 7, Caldera OpenDOS 7.01, DR-OpenDOS 7.02, DR-DOS 7.02,
	    and Caldera Thin Clients/Lineo DR-DOS 7.03.
Note:	This function is called by the NetWare Lite and Personal NetWare
	  SERVER.  It may also be called by future (post DR-DOS 7.03)
	  COMMAND.COM before it returns to the prompt.
BUG:	Some pre-BETA 17 (1993/09/28) versions of NWCACHE returned -1,0,1
	  instead of 1,2,3 for the memory type in CL.
SeeAlso: AX=D800h,AX=D880h

(Table 03091)
Call NLCACHE/NWCACHE "sideband function" API entry point with:
	BX = function
	    0000h flush request from server
		Return: CF clear if successful at flushing deferred writes
			    AX = 0000h
			CF set on error
			    AX = error code
	    0001h (NWCACHE only) get cache statistics
		ES:DI -> buffer for statistics (see #04122)
		Return: CF clear if successful
			AX = 0000h
			ES:DI buffer filled
	    other
		Return: CF set
			AX = 0001h (invalid function)

Format of NWCACHE cache statistics:
Offset	Size	Description	(Table 04122)
 00h	WORD	version
 02h	BYTE	memory type
 03h	WORD	initial cache size in KB
 05h	WORD	current cache size in KB
 07h	DWORD	number of read requests
 0Bh	DWORD	number of physical reads performed
 0Fh	DWORD	number of write requests
 13h	DWORD	number of physical writes performed
 17h	BYTE	delay ticks for deferred write (0 if no deferral)
 18h	WORD	maximum number of sectors in lookahead buffer
 1Ah	WORD	number of disk errors
 1Ch	WORD	number of cache memory errors
SeeAlso: #03091

Top
Section -


Top
2FDA00 - INT 2F - ZyXEL ZFAX v1.x - INSTALLATION CHECK
INT 2F - ZyXEL ZFAX v1.x - INSTALLATION CHECK
	AX = DA00h
Return: AH = enabled state (00h = enabled, 01h = disabled)
	AL = 5Ah installed
Program: ZFAX is the bundled FAX software which comes with the ZyXEL model
	  fax modems.
Note:	This function, and the other DAxxh functions, may apply only to version
	  1 of the software; see AX=DB00h for the version 2 installation check
SeeAlso: AX=CBDCh,AX=DA01h,AX=DA02h,AX=DA03h,AX=DB00h

Top
2FDA01 - INT 2F - ZyXEL ZFAX v1.x - UNINSTALL
INT 2F - ZyXEL ZFAX v1.x - UNINSTALL
	AX = DA01h
Return: AL = 00h Success
	     01h Failure
SeeAlso: AX=DA00h,AX=DB01h

Top
2FDA02 - INT 2F - ZyXEL ZFAX v.1x - DISABLE
INT 2F - ZyXEL ZFAX v.1x - DISABLE
	AX = DA02h
Return: AL = 00h
SeeAlso: AX=DA03h,AX=DB02h

Top
2FDA03 - INT 2F - ZyXEL ZFAX v1.x - ENABLE
INT 2F - ZyXEL ZFAX v1.x - ENABLE
	AX = DA03h
Return: AL = 00h
SeeAlso: AX=DA02h,AX=DB03h

Top
2FDA55 - INT 2F U - TRAP.COM - INSTALLATION CHECK
INT 2F U - TRAP.COM - INSTALLATION CHECK
	AX = DA55h
	DL = interrupt number
	DH = ???
Return: if installed
	    AH = interrupt number
	    AL = ???
	    ES:BX -> ???
Program: TRAP is an interrupt call tracer by Patrick Phillipot/Udo Chrosziel
Note:	a separate copy of TRAP is loaded for each interrupt to be traced; thus
	  the interrupt number is part of the installation check

Top
2FDAB2 - INT 2F U - Beame&Whiteside BWSNMP - INSTALLATION CHECK
INT 2F U - Beame&Whiteside BWSNMP - INSTALLATION CHECK
	AX = DAB2h
Return: AX = 00FFh if installed
	    BX:CX -> MIB table
Program: BWSNMP is part of the BW-NFS package
SeeAlso: INT 62/AH=00h"ETHDEV"

Top
2FDB00 - INT 2F - ZyXEL ZFAX v2+ - INSTALLATION CHECK
INT 2F - ZyXEL ZFAX v2+ - INSTALLATION CHECK
	AX = DB00h
Return: AL = 5Bh if installed (v2.x)
	    ES:BX -> configuration table???
	AX = 00DBh if installed (v3)
	    ES:BX -> ZFAX configuration table (see #03092)
Program: ZFAX is the bundled FAX software which comes with the ZyXEL model
	  Fax modems.
SeeAlso: AX=CBDCh,AX=DA00h,AX=DB01h,AX=DB02h,AX=DB03h

Format of ZFAX Configuration Table:
Offset	Size	Description	(Table 03092)
 00h	WORD	table version number (0300h for v3.0-v4.01)
 02h	BYTE	reserved
 03h 70 BYTEs	ZFAX working path
 49h 128 BYTEs	path to external editor
 C9h 128 BYTEs	path to external terminal emulator
149h 128 BYTEs	path to Ring Shell
1C9h 128 BYTEs	path to DOS Shell
249h 128 BYTEs	path to Data Shell
2C9h 70 BYTEs	path to Chinese font
30Fh	BYTE	printer type (see #03093)
310h	BYTE	printer port (00h = LPT1, etc.)
311h	BYTE	type of graphics adapter
		(00h auto-detect, 01h VGA, 02h EGA, 03h CGA, 04h Hercules)
312h	BYTE	display type
		(00h auto-detect, 01h LCD, 02h color, 03h mono)
313h	BYTE	scan code for ZFAX hotkey (see #00006)
314h	BYTE	shift mask for ZFAX hotkey
315h	BYTE	tone/pulse dialing (00h tone, 01h pulse)
316h	BYTE	Caller ID (00h disabled, 01h enabled)
317h	BYTE	Distinctive Ring (00h disabled, 01h enabled)
318h	BYTE	normal ring answer type (see #03094)
319h	BYTE	Ring 1 answer type (see #03094)
31Ah	BYTE	Ring 2 answer type (see #03094)
31Bh	BYTE	Ring 3 answer type (see #03094)
31Ch	BYTE	COM port for modem
31Dh	BYTE	speaker volume (00h-07h)
31Eh	BYTE	modem dial timer, seconds
31Fh	WORD	user-defined COM port I/O address
321h	BYTE	user-defined COM port IRQ number
322h 81 BYTEs	dial prefix string
373h 79 BYTEs	dial postfix string
3C2h	BYTE	ring count until automatic answer
3C3h	BYTE	retry count on busy signal
3C4h	BYTE	redial delay in seconds
3C5h	WORD	system password
3C7h	BYTE	reserved
3C8h	BYTE	voice file compression format
		00h CELP at 9600bps
		01h two-bit ADPCM at 19200bps
		02h three-bit ADPCM at 28800bps
3C9h	BYTE	voice system: DTMF 0 action (see #03095)
3CAh	BYTE	voice system: DTMF 1 action
3CBh	BYTE	voice system: DTMF 2 action
3CCh	BYTE	voice system: DTMF 3 action
3CDh	BYTE	voice system: DTMF 4 action
3CEh	BYTE	voice system: DTMF 5 action
3CFh	BYTE	voice system: DTMF 6 action
3D0h	BYTE	voice system: DTMF 7 action
3D1h	BYTE	voice system: DTMF 8 action
3D2h	BYTE	voice system: DTMF 9 action (see #03095)
3D3h	WORD	reserved
3D5h 25 BYTEs	local FAX ID to display on page header
3EEh 20 BYTEs	local FAX ID sent to remote FAX
402h	BYTE	FAX page size
		00h A4 (210x297mm)
		01h B4 (250x353mm)
		02h A3 (297x420mm)
403h	BYTE	FAX resolution
		00h normal (3.85 pixels/mm)
		01h high (7.7 pixels/mm)
404h	BYTE	FAX coding scheme
		00h 1-D, modified Huffman coding
		01h 2-D, modified READ coding
405h	BYTE	left margin for text in millimeters
406h	BYTE	vertical insertion for text in mm (0-20)
407h	BYTE	horizontal insertion in mm (0-20)
408h	BYTE	maximum text lines per page
409h	BYTE	text type (00h ASCII, 01h WordStar-formatted)
40Ah	BYTE	PCX image resize (00h disabled, 01h enabled)
40Bh	BYTE	AutoPrint (00h disabled, 01h enabled)
40Ch	BYTE	cover page (00h disabled, 01h enabled)
40Dh 81 BYTEs	cover page logo filename
45Eh 65 BYTEs	cover page sender name
49Fh	BYTE	print capture (00h disabled, 01h enabled)
4A0h	BYTE	send immediately (00h disabled, 01h enabled)
4A1h	BYTE	print capture printer port
4A2h	BYTE	print capture timer in seconds
4A3h	BYTE	scan code for print capture hotkey (see #00006)
4A4h	BYTE	shift mask for print capture hotkey
4A5h	BYTE	DataShell type
		00h internal Zmodem, 01h Data Shell, 02h disable
4A6h	BYTE	video I/O type
		00h auto-detect, 01h use BIOS, 02h direct writes
4A7h	BYTE	call transfer digits (0-9)
4A8h	WORD	voice recorder maximum time in seconds (0-999)

(Table 03093)
Values for ZFAX printer type:
 00h	EPSON FX (9 pins)
 01h	EPSON LQ (24 pins)
 02h	HP Laser Jet II, letter size
 03h	HP Laser Jet II, legal size
 04h	HP Laser Jet II, A4 size
 05h	HP Laser Jet III, letter size
 06h	HP Laser Jet III, legal size
 07h	HP Laser Jet III, A4 size
SeeAlso: #03092

(Table 03094)
Values for Ring Answer Type:
 00h	voice system
 01h	FAX only
 02h	Data Shell
 03h	Ring Shell
 04h	DOS Shell
 05h	ignore
SeeAlso: #03092

(Table 03095)
Values for DTMF action:
 00h	none
 01h	page operator
 02h	FaxBack
 03h	announcement
 04h	call transfer
 05h	receive FAX
 06h	receive data
 07h	voice mailbox
 08h	DOS Shell Out
 09h	Data Shell Out
SeeAlso: #03092

Top
2FDB00 - INT 2F U - WINGO.COM - INSTALLATION CHECK
INT 2F U - WINGO.COM - INSTALLATION CHECK
	AX = DB00h
Return: AX = FFFFh if installed
	CX = 5749h ('WI') if installed
	DX = 4E47h ('NG') if installed
	    ES = segment of resident code
Program: WINGO.COM is TSR for starting Windows programs from DOS
	  prompt (together with companion Windows program
	  WINSTART.EXE) written by Douglas Boling, contributing editor of
	  PC Magazine
Range:	AH=DBh to AH=FFh, selected by scanning for a free multiplex number
SeeAlso: AX=DB01h"WINGO",AX=DB02h"WINGO",AX=DB03h"WINGO",AX=DB04h"WINGO"
SeeAlso: AX=DB05h"WINGO",AX=DB06h"WINGO"

Top
2FDB01 - INT 2F - ZyXEL ZFAX v2+ - UNINSTALL
INT 2F - ZyXEL ZFAX v2+ - UNINSTALL
	AX = DB01h
Return: AX = status
	    0000h successful
	    0001h ZFAX is busy
	    0002h another program resident above ZFAX
Note:	this function unhooks the vectors taken by the ZFAX TSR if they have
	  not been hooked by other TSRs and releases the TSR's memory
	ZFAX v2.x crashes the contributor's machine when this function is
	  called
SeeAlso: AX=DA01h,AX=DB00h"ZFAX",AX=DB02h"ZFAX"

Top
2FDB01 - INT 2F U - WINGO.COM - SET CALLBACK FUNCTION POINTER
INT 2F U - WINGO.COM - SET CALLBACK FUNCTION POINTER
	AX = DB01h
	CX:DX -> new callback function
Return: AX = 0000h
	CX:DX -> end of resident code (stack ???)
Desc:	the callback function is used for WINGO <-> WINSTART communication
SeeAlso: AX=DB00h"WINGO",AX=DB02h"WINGO",AX=DB03h"WINGO",AX=DB04h"WINGO"
SeeAlso: AX=DB05h"WINGO",AX=DB06h"WINGO"

Top
2FDB02 - INT 2F - ZyXEL ZFAX v2.x - DISABLE
INT 2F - ZyXEL ZFAX v2.x - DISABLE
	AX = DB02h
Return: AL = 00h
SeeAlso: AX=DA02h,AX=DB00h"ZFAX",AX=DB01h"ZFAX",AX=DB03h"ZFAX"

Top
2FDB02 - INT 2F U - WINGO.COM - RESET CALLBACK FUNCTION POINTER
INT 2F U - WINGO.COM - RESET CALLBACK FUNCTION POINTER
	AX = DB02h
Return: AX = 0000h
Desc:	the callback function is used for WINGO <-> WINSTART communication
SeeAlso: AX=DB00h"WINGO",AX=DB01h"WINGO",AX=DB03h"WINGO",AX=DB04h"WINGO"
SeeAlso: AX=DB05h"WINGO",AX=DB06h"WINGO"

Top
2FDB03 - INT 2F - ZyXEL ZFAX v2.x - ENABLE
INT 2F - ZyXEL ZFAX v2.x - ENABLE
	AX = DB03h
Return: AL = 00h
SeeAlso: AX=DA03h,AX=DB00h"ZFAX",AX=DB02h"ZFAX"

Top
2FDB03 - INT 2F U - WINGO.COM - SET ??? FLAG
INT 2F U - WINGO.COM - SET ??? FLAG
	AX = DB03h
Return: AX = 0000h
SeeAlso: AX=DB00h"WINGO",AX=DB04h"WINGO",AX=DB05h"WINGO",AX=DB06h"WINGO"

Top
2FDB04 - INT 2F U - WINGO.COM - RESET ??? FLAG
INT 2F U - WINGO.COM - RESET ??? FLAG
	AX = DB04h
Return: AX = 0000h
SeeAlso: AX=DB00h"WINGO",AX=DB03h"WINGO",AX=DB05h"WINGO",AX=DB06h"WINGO"

Top
2FDB05 - INT 2F U - WINGO.COM - GET ??? FLAG
INT 2F U - WINGO.COM - GET ??? FLAG
	AX = DB05h
Return: AX = 0000h
	DX = unknown flag - 0 or 1
Program: WINGO.COM is TSR for starting Windows programs from DOS
	  prompt (together with companion Windows program
	  WINSTART.EXE) written by Douglas Boling, contributing editor of
	  PC Magazine
SeeAlso: AX=DB00h"WINGO",AX=DB03h"WINGO",AX=DB04h"WINGO"

Top
2FDB06 - INT 2F U - WINGO.COM - CALL CALLBACK FUNCTION
INT 2F U - WINGO.COM - CALL CALLBACK FUNCTION
	AX = DB06h
Return: AX = return value of INT 2F/AX=1685h
Note:	uses Windows service INT 2F/AX=1685h (SWITCH VMs AND CALLBACK) to
	  call the callback function previously set by AX=DB01h
	used for WINGO <-> WINSTART communication
SeeAlso: AX=1685h, AX=DB00h"WINGO",AX=DB01h"WINGO",AX=DB02h"WINGO",
SeeAlso: AX=DB03h"WINGO",AX=DB04h"WINGO",AX=DB05h"WINGO"

Top
2FDB10 - INT 2F - ZyXEL ZFAX v3+ - EXECUTE ZFAX MAIN MENU
INT 2F - ZyXEL ZFAX v3+ - EXECUTE ZFAX MAIN MENU
	AX = DB10h
SeeAlso: AX=DB00h"ZFAX",AX=DB11h"ZFAX"

Top
2FDB11 - INT 2F - ZyXEL ZFAX v3+ - SEND FAX
INT 2F - ZyXEL ZFAX v3+ - SEND FAX
	AX = DB11h
	DS:SI -> filename including path (max 128 characters)
	DS:BX -> remote FAX number
Return: AX = status (see #03096)
SeeAlso: AX=DB00h"ZFAX",AX=DB12h,AX=DB13h,AX=DB14h,AX=DB15h,AX=DB20h,AX=DB21h

(Table 03096)
Values for ZFAX status:
 00h	OK
 01h	invalid DOS function
 02h	file not found
 03h	path not found
 04h	no file handle available
 05h	access denied by DOS
 06h	invalid handle
 07h	disk full
 10h	printer error
 11h	no graphics font
 12h	no ZFAX font
 20h	DCD dropped while sending
 21h	not ZyXEL modem
 22h	busy
 23h	no response from COM port
 24h	no carrier
 25h	no dial tone
 26h	no answer
 27h	no response
 28h	failed to send FAX
 30h	user aborted
 40h	critical error on disk
 50h	parameter error

Top
2FDB12 - INT 2F - ZyXEL ZFAX v3+ - PRINT FAX
INT 2F - ZyXEL ZFAX v3+ - PRINT FAX
	AX = DB12h
	DS:SI -> filename, including path (max 128 characters)
Return: AX = status (see #03096)
SeeAlso: AX=DB11h,AX=DB13h,AX=DB14h

Top
2FDB13 - INT 2F - ZyXEL ZFAX v3+ - CONVERT FAX
INT 2F - ZyXEL ZFAX v3+ - CONVERT FAX
	AX = DB13h
	DS:SI -> source filename, including path (max 128 characters)
	DS:BX -> destination filename, including path (max 80 characters)
	CX = destination file format
	    00h FAX, 01h PCX, 02h TIFF, 03h PRN
Return: AX = status (see #03096)
SeeAlso: AX=DB11h,AX=DB12h,AX=DB14h,AX=DB22h

Top
2FDB14 - INT 2F - ZyXEL ZFAX v3+ - VIEW FAX
INT 2F - ZyXEL ZFAX v3+ - VIEW FAX
	AX = DB14h
	DS:SI -> source filename, including path (max 128 characters)
Return: AX = status (see #03096)
SeeAlso: AX=DB11h,AX=DB12h,AX=DB14h

Top
2FDB15 - INT 2F - ZyXEL ZFAX v4.01 - SEND FAX WITH LOGO AND SIGNATURE
INT 2F - ZyXEL ZFAX v4.01 - SEND FAX WITH LOGO AND SIGNATURE
	AX = DB15h
	DS:SI -> source filename, including path (max 128 characters)
	DS:BX -> remote FAX number
	DS:CX -> Logo filename
	DS:DX -> Signature filename
Return: AX = status (see #03096)
SeeAlso: AX=DB00h"ZFAX",AX=DB11h

Top
2FDB16 - INT 2F - ZyXEL ZFAX v4.01 - QUOTE PREVIOUS STATUS
INT 2F - ZyXEL ZFAX v4.01 - QUOTE PREVIOUS STATUS
	AX = DB16h
Return: DX:AX -> previous receive state transaction log (see #03097)
	BX = type (00h incoming FAX, 01h incoming data, 02h incoming voice)
SeeAlso: AX=DB00h"ZFAX",AX=DB11h,AX=DB17h

Format of ZFAX transaction log receive state:
Offset	Size	Description	(Table 03097)
 00h	WORD	year
 02h	WORD	date
 04h	WORD	time
 06h	WORD	extension number
 08h	WORD	type: 00h incoming FAX, 01h outgoing FAX, 02h voice message
 0Ah	WORD	status: 00h normal, 01h remote delete
 0Ch 125 BYTEs	filename
 89h 24 BYTEs	caller ID
 A1h 20 BYTEs	FAX number
 B5h 20 BYTEs	remote FAX ID
 C9h	WORD	error code
 CBh	WORD	connection direction (00h transmit, 01h receive)
 CDh	BYTE	connection time minutes
 CEh	BYTE	connection time seconds
 CFh	BYTE	???
 D0h	WORD	connection speed (24, 48, 72, 96, 12, 144)
 D2h	WORD	connection page size (A4, B4, A3)
 D4h	WORD	connection coding scheme (1-DN, 1-DH, 2-DN, 2-DH)
 D6h	WORD	page count

Top
2FDB17 - INT 2F - ZyXEL ZFAX v4.01 - BEGIN RECEIVING INCOMING CALL
INT 2F - ZyXEL ZFAX v4.01 - BEGIN RECEIVING INCOMING CALL
	AX = DB17h
Return: AX = status (0000h successful, 0001h unable to start at this time)
SeeAlso: AX=DB00h"ZFAX"

Top
2FDB18 - INT 2F - ZyXEL ZFAX v4.01 - SCHEDULE CALL
INT 2F - ZyXEL ZFAX v4.01 - SCHEDULE CALL
	AX = DB18h
	DS:SI -> schedule data (see #03097)
Return: AX = status (see #03096)
SeeAlso: AX=DB00h"ZFAX"

Top
2FDB20 - INT 2F - ZyXEL ZFAX v3+ - POLL FAX
INT 2F - ZyXEL ZFAX v3+ - POLL FAX
	AX = DB20h
	DS:SI -> remote FAX number
Return: AX = status (see #03096)
SeeAlso: AX=DB11h,AX=DB21h

Top
2FDB21 - INT 2F - ZyXEL ZFAX v3+ - SEND VOICE
INT 2F - ZyXEL ZFAX v3+ - SEND VOICE
	AX = DB21h
	DS:SI -> filename including path (max 128 characters)
	DS:BX -> remote phone number
Return: AX = status (see #03096)
SeeAlso: AX=DB11h,AX=DB20h,AX=DB22h,AX=DB23h,AX=DB24h

Top
2FDB22 - INT 2F - ZyXEL ZFAX v3+ - CONVERT VOICE FILE
INT 2F - ZyXEL ZFAX v3+ - CONVERT VOICE FILE
	AX = DB22h
	DS:SI -> source filename, including path (max 128 characters)
	DS:BX -> destination filename, including path (max 80 characters)
	CX = destination format
	    00h two-bit ADPCM, 01h three-bit ADPCM, 02h VOC
Return: AX = status (see #03096)
SeeAlso: AX=DB13h,AX=DB20h,AX=DB21h,AX=DB23h

Top
2FDB23 - INT 2F - ZyXEL ZFAX v3+ - RECORD VOICE FILE
INT 2F - ZyXEL ZFAX v3+ - RECORD VOICE FILE
	AX = DB23h
	DS:SI -> destination filename, including path (max 128 characters)
	CX = recording channel (0 = telephone line, 1 = microphone/speaker)
	DX = voice file format
	    00h CELP, 01h two-bit ADPCM, 02h three-bit ADPCM
Return: AX = status (see #03096)
SeeAlso: AX=DB21h,AX=DB22h,AX=DB24h

Top
2FDB24 - INT 2F - ZyXEL ZFAX v3+ - PLAY VOICE FILE
INT 2F - ZyXEL ZFAX v3+ - PLAY VOICE FILE
	AX = DB24h
	DS:SI -> name of voice file, including path (max 128 characters)
	CX = playback channel (0 = telephone line, 1 = microphone/speaker)
Return: AX = status (see #03096)
SeeAlso: AX=DB21h,AX=DB22h,AX=DB24h

Top
2FDB25 - INT 2F - ZyXEL ZFAX v3+ - ANSWER MODEM WITH VOICE SYSTEM
INT 2F - ZyXEL ZFAX v3+ - ANSWER MODEM WITH VOICE SYSTEM
	AX = DB25h
Return: AX = status (see #03096)
SeeAlso: AX=DB21h,AX=DB22h,AX=DB26h,AX=DB27h,AX=DB28h

Top
2FDB26 - INT 2F - ZyXEL ZFAX v3+ - DIAL PHONE
INT 2F - ZyXEL ZFAX v3+ - DIAL PHONE
	AX = DB26h
	DS:SI -> remote phone number
Return: AX = status (see #03096)
SeeAlso: AX=DB25h

Top
2FDB27 - INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX - ANSWER MODEM AND SET TO FAX MODE
INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX - ANSWER MODEM AND SET TO FAX MODE
	AX = DB27h
Return: AX = status (see #03096)
SeeAlso: AX=DB25h,AX=DB28h

Top
2FDB28 - INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX DATA - ANSWER MODEM IN MULTI-AUDIO MODE
INT 2F - ZyXEL ZFAX v3+ - RECEIVE FAX DATA - ANSWER MODEM IN MULTI-AUDIO MODE
	AX = DB28h
Return: AX = status (see #03096)
SeeAlso: AX=DB25h,AX=DB27h,AX=DB41h

Top
2FDB40 - INT 2F - ZyXEL ZFAX v3+ - INTERNAL TERMINAL
INT 2F - ZyXEL ZFAX v3+ - INTERNAL TERMINAL
	AX = DB40h
Return: AX = status (see #03096)
SeeAlso: AX=DB00h

Top
2FDB41 - INT 2F - ZyXEL ZFAX v3+ - SEND DATA - DIAL NUMBER AND UPLOAD FILE WITH ZMODEM
INT 2F - ZyXEL ZFAX v3+ - SEND DATA - DIAL NUMBER AND UPLOAD FILE WITH ZMODEM
	AX = DB41h
	DS:SI -> source file name, including path (max 128 characters)
	DS:BX -> remote data number
Return: AX = status (see #03096)
SeeAlso: AX=DB00h,AX=DB28h

Top
2FDC00 - INT 2F - GOLD.COM - INSTALLATION CHECK
INT 2F - GOLD.COM - INSTALLATION CHECK
	AX = DC00h
Return: AL = state
	    00h not installed
	    FFh installed
Program: GOLD is a TSR by Bob Eager which makes the NumLock key return the
	  code for F1; the purpose is to improve Kermit's VTxxx emulation

Top
2FDC01 - INT 2F - GOLD.COM - GET STATE
INT 2F - GOLD.COM - GET STATE
	AX = DC01h
Return: AL = status
	    00h off
	    01h on
SeeAlso: AX=DC00h,AX=DC02h

Top
2FDC02 - INT 2F - GOLD.COM - SET STATE
INT 2F - GOLD.COM - SET STATE
	AX = DC02h
	DL = new state
	    00h off
	    01h on
Return: AL = 00h (OK)
SeeAlso: AX=DC01h

Top
2FDD - INT 2F - CappaCom programs - API
INT 2F - CappaCom programs - API
	AH = DDh
	AL = 00h general installation check
	    Return: AL = FFh if any CappaCom programs are resident
	AL = FEh get info
	    Return: ES:BX -> TSR info list (see #03098)
	AL = program identifier
	    BH = function
		FDh get version
		    Return: BX = version
		FFh installation check
		    Return: AL = FFh if installed
				BX = version
				ES = segment of resident code
		others vary by program
Return: AL = status
	    bit 7 set on error
	    AL = 81h unknown function
Note:	CappaCom was originally SoftCom but changed its name due to a trademark
	  conflict
Index:	installation check;SoftCom programs
Index:	installation check;CappaCom programs

Format of CappaCom TSR info list:
Offset	Size	Description	(Table 03098)
 00h  9 BYTEs	blank-padded ASCIZ program name
 09h	BYTE	program ID
 0Ah	WORD	program's PSP segment
 0Ch	WORD	program version (major in high byte)
 0Eh	DWORD	pointer to next item in info list or 0000h:0000h
 12h	BYTE	number of interrupts hooked
 13h  5 BYTEs	interrupt numbers hooked by program
 18h  8 BYTEs	reserved

Top
2FDD - INT 2F - MIXFIX.EXE - API
INT 2F - MIXFIX.EXE - API
	AH = DDh
	AL = function
	    00h installation check
		Return: AX = 00DDh if installed
			    BX = version (BH = major, BL = minor)
	    41h/61h get From: address
		Return: AX = 0001h
			ES:BX -> ASCIZ 4d address of mail sender ("1:2/3.4")
	    49h/69h get To: address
		Return: AX = 0001h
			ES:BX -> ASCIZ 4d address of recipient ("1:2/3.4")
	    4Ah/6Ah get subject of mail
		Return: AX = 0001h
			ES:BX -> ASCIZ subject of handled mail
	    4Dh/6Dh get mail name
		Return: AX = 0001h
			ES:BX -> ASCIZ full name of current mail file
	    4Eh/6Eh get From: field
		Return: AX = 0001h
			ES:BX -> ASCIZ From: field of mail (mail sender's name)
Program: MIXFIX by "KIV without Co" is a FidoNet mail robot which may execute
	  other programs for mail handling.  The called programs may use the
	  services described here to retrieve information about the mail being
	  handled.
Index: installation check;MIXFIX.EXE

Top
2FDD--BX7844 - INT 2F - xDISK v3.32+ - INSTALLATION CHECK
INT 2F - xDISK v3.32+ - INSTALLATION CHECK
	AH = DDh
	BX = 7844h ('xD')
	CX = 4953h ('IS')
	DX = 4B3Fh ('K?')
	AL = desired drive (01h-1Ah) or 00h to check for xDISK on any drive
	ES:DI -> 25-byte data buffer (see #03099)
Return: AX = DDFFh if installed (on specified drive if AL nonzero on entry)
	   BX = 87BBh
	   DX = B4C0h
	   ES:DI buffer filled
	CX,CF destroyed
SeeAlso: INT 21/AX=4404h"xDISK",INT 21/AX=4405h"xDISK"

Format of xDISK data buffer:
Offset	Size	Description	(Table 03099)
 00h	DWORD	pointer to ASCIZ driver signature "xDISK unit: X"
 04h	BYTE	flag: 01h if disk linked to DOS, 00h if unlinked
 05h	BYTE	flag: 01h if write protected, 00h if not
 06h	BYTE	flag: 01h if root directory full, 00h if not
 07h	BYTE	flag: 01h if free space uncompacted, 00h if compacted
 08h	BYTE	resizing state: 00h not resizable, 01h resized, 80h resizable
 09h	BYTE	flag: 01h inelastic resizable disk, 00h elastic
 0Ah  2 BYTEs	reserved
 0Ch	BYTE	flag: 01h collapsed disk, 00h not collapsed
 0Dh	BYTE	flag: 01h using all EMS, 00h some EMS free
 0Eh	BYTE	flag: 01h password enabled, 00h disabled
 0Fh	BYTE	flag: 01h password audio feedback, 00h no feedback
 10h	BYTE	flag: 01h password video feedback, 00h no feedback
 11h	BYTE	flag: 01h confirm changes, 00h no confirmation
 12h	BYTE	flag: 01h terse display, 00h verbose display
 13h	BYTE	flag: 01h click speaker on disk access, 00h no click
 14h	BYTE	flag: 01h flash icon on disk access, 00h no icon flash
 15h	BYTE	FAT entry size: 00h 12-bit, FFh 16-bit
 16h	WORD	count of open files in RAM disk
 18h	BYTE	unused

Top
2FDE00BL00 - INT 2F U - Novell Netware - RPRINTER, NPRINTER - INSTALLATION CHECK
INT 2F U - Novell Netware - RPRINTER, NPRINTER - INSTALLATION CHECK
	AX = DE00h
	BL = 00h
Return: AL = FFh If Rprinter/Nprinter Installed
	BX -> Program Segment Prefix N/Rprinter.exe

Top
2FDE00BX4456 - INT 2F - DESQview v2.26+ External Device Interface - INSTALLATION CHECK
INT 2F - DESQview v2.26+ External Device Interface - INSTALLATION CHECK
	AX = DE00h
	BX = 4456h ("DV")
	CX = 5844h ("XD")
	DX = 4931h ("I1")
Return: AL = FFh if installed (even if other registers do not match)
	if BX,CX, and DX were as specified on entry,
	    BX = 4845h ("HE")
	    CX = 5245h ("RE")
	    DX = 4456h ("DV")
Range:	AH=C0h to AH=FFh, selected by scanning AH=DEh-FFh, then AH=C0h-DDh
Note:	the XDI handler should not issue any DOS or BIOS calls, nor should it
	  issue DESQview API calls other than those allowed from hardware ints
SeeAlso: AX=DE02h,INT 15/AX=5400h

Top
2FDE01 - INT 2F - DESQview v2.26+ External Device Interface - DRIVER CUSTOM SUBFUNCTION
INT 2F - DESQview v2.26+ External Device Interface - DRIVER CUSTOM SUBFUNCTION
	AX = DE01h
	BX = driver ID
	other registers as needed by driver
Notes:	XDI drivers should pass this call through to previous handler if ID
	  does not match
	DESQview never calls this function

Top
2FDE01BX4450 - INT 2F U - Quarterdeck QDPMI.SYS v1.0 - INSTALLATION CHECK
INT 2F U - Quarterdeck QDPMI.SYS v1.0 - INSTALLATION CHECK
	AX = DE01h
	BX = 4450h ("DP")
	CX = 4D49h ("MI")
	DX = 3039h ("09")
Return: AL = FFh if installed
	    BX = 4D42h ("MB")
	    CX = 4921h ("I!")
	    DX = 8F4Fh
	    ES:DI -> filename of DPMI host overlay
InstallCheck:	test for the existence of the character device QDPMI$$$
SeeAlso: INT 2F/AX=1687h,INT 31/AX=0000h
Index:	installation check;QDPMI

Top
2FDE01BX5242 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, Ralf Brown's XDI drivers
INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, Ralf Brown's XDI drivers
	AX = DE01h
	BX = 5242h ("RB")
	CX:DX = program identifier
		656F7000h ("eop",0) for DVeop
Return: AX = 5242h ("RB") if installed
	    ES:BX -> data or entry point (see #03100)
	    CX = version number (CH = major, CL = minor)

(Table 03100)
Call DVeop entry point with:
	ES:DI -> callback address or 0000h:0000h to remove callback
Return: AX = status
	    0000h failed (callback table full or attempted to remove non-
		  existent callback)
	    0001h successful
		ES:DI -> chaining address
	BX,CX,DX destroyed
Notes:	the callback function is called with a simulated interrupt when the
	  DESQview window containing it is closed; it should perform all
	  necessary cleanup and then perform a FAR jump to the chaining address
	  or an IRET if the chaining address is 0000h:0000h
	if the program wishes to remove itself before the window is closed, it
	  should call the DVeop entry point with the previously returned
	  chaining address and ignore the returned chaining address.

Top
2FDE01BX7474 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVTXDI.COM
INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVTXDI.COM
	AX = DE01h
	BX = 7474h
	CL = function
	    00h installation check
		Return: AL = FFh
	    01h get process handle
		DX = keys on Open Window menu (DL = first, DH = second)
		Return: AX = process handle or 0000h if not running
	    02h (v1.3+) set TMAN handle
		DX = TMAN process handle
	    03h (v1.3+) set open keys to ignore on next CL=01h call
		DX = keys on Open Window menu (DL = first, DH = second)
Return: BX = 4F4Bh ("OK")
	DL destroyed
Note:	DVTXDI is distributed as part of the shareware products DVTree (DOS
	 shell/DESQview process manager) and DVTMAN by Mike Weaver
Index:	installation check;DVTXDI

Top
2FDE01BX7575 - INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVSIXDI.COM
INT 2F - DESQview v2.26+ XDI - CUSTOM SUBFUNCTION, DVSIXDI.COM
	AX = DE01h
	BX = 7575h
	CX = function
	    0000h installation check
		Return: AX = 00FFh if installed
	    0001h turn on notification (currently unused)
		Return: AX = 0001h
	    0002h turn off notification (currently unused)
		Return: AX = 0001h
	    0003h get process information
		Return: AX = status
			    0000h failed
			    0001h successful
				BX = last instantaneous time slice
				    in 1/100s (v1.10)
				    in 1/18s (v1.11+)
				CX = number of processes
				DX = number of "(starting)" records (v2.00+)
				SI = number of records in process info array
				      (v2.00+) (always 15 for v1.x)
				ES:DI -> process info array (see #03101,#03102)
	    0004h get version
		Return: AH = major version
			AL = minor version
	    0005h (v1.10+) get time since DESQview started
		Return: DX:AX = 1/100s since DV start (v1.10)
			DX:AX = 1/18s since DV start (v1.11+)
	    0006h (v1.10+) get number of task switches
		Return: DX:AX = total task switches
			CX = task switches in last instantaneous interval
Notes:	DVSIXDI is part of the DVSI (DESQview System Information) package by
	  Daniel J. Bodoh
	for v1.00, function 0003h allocates common memory, which the caller
	  must deallocate after reading the process information; only the
	  currently used records are placed in the buffer
	for v1.10+, function 0003h merely returns a pointer to the internal
	  array of process information; the caller should make a copy of the
	  array while inside a critical section (see INT 15/AX=101Bh).	Only
	  those records with bit 7 of the first byte set are valid.
Index:	installation check;DVSIXDI

Format of DVSIXDI v1.00 information for one process:
Offset	Size	Description	(Table 03101)
 00h	BYTE	flags
		bit 7: process slot is valid
 01h	WORD	offset into DESQVIEW.DVO of program's record if started from
		  Open Windows menu, else undefined
 03h	WORD	Switch Windows window number
 05h	WORD	segment of process handle
 07h	WORD	number of tasks owned by process
 09h	WORD	mapping context of process (see #00416 at INT 15/AX=1016h)
 0Bh	DWORD	hook for other programs

Format of DVSIXDI v1.10-v2.00 information for one process:
Offset	Size	Description	(Table 03102)
 00h	BYTE	process flags (see #03103)
 01h	WORD	Open Window keys
 03h	WORD	Switch Windows number
 05h	WORD	segment of process handle
 07h	WORD	number of tasks for process
 09h	WORD	process mapping context
 0Bh	DWORD	time process started (relative to start of DESQview)
 0Fh	DWORD	time process last got CPU (relative to start of DESQview)
 13h	DWORD	time process last gave up CPU (relative to start of DESQview)
 17h	DWORD	total CPU time since process started
 1Bh	DWORD	CPU time at start of current instantaneous interval
 1Fh	DWORD	CPU time in current instantaneous interval
 23h	DWORD	hook for other programs
Note:	all times are in 1/100s for v1.10, in 1/18s for v1.11+

Bitfields for DVSIXDI process flags:
Bit(s)	Description	(Table 03103)
 7	valid record
 6	(v2.00+) record is allocated; if bit 7 clear, process is "(starting)"
	  and only offsets 01h and 09h are valid
 5	(v2.00+) this app currently owns the CPU
 4	reserved (0)
 3	DESQview system task
 2	reserved (0)
 1	task has keyboard (currently unused)
 0	task swapped out (currently unused)

Top
2FDE01BXFFFE - INT 2F U - DESQview v2.26+ XDI - DVXMS.DVR - ???
INT 2F U - DESQview v2.26+ XDI - DVXMS.DVR - ???
	AX = DE01h
	BX = FFFEh
	CX = 4D47h ("MG")
	DX = 0052h (0,"R")
Return: AL = FFh
	DX = 584Dh

Top
2FDE02 - INT 2F C - DESQview v2.26+ External Dev Interface - DV INITIALIZATION COMPLETE
INT 2F C - DESQview v2.26+ External Dev Interface - DV INITIALIZATION COMPLETE
	AX = DE02h
	BX = mapping context of DESQview
	DX = handle of DESQview system task
Note:	driver should pass this call to previous handler after doing its work
SeeAlso: AX=DE03h,AX=DE0Fh,INT 15/AX=5400h

Top
2FDE03 - INT 2F C - DESQview v2.26+ External Dev Interface - DV TERMINATION
INT 2F C - DESQview v2.26+ External Dev Interface - DV TERMINATION
	AX = DE03h
	BX = mapping context of DESQview
	DX = handle of DESQview system task
Notes:	driver should pass this call to previous handler before doing its work
	DESQview makes this call when it is exiting, but before unhooking any
	  interrupt vectors
SeeAlso: AX=DE02h,AX=DE0Fh,INT 15/AX=5407h

Top
2FDE04 - INT 2F C - DESQview v2.26+ External Dev Interface - ADD PROCESS
INT 2F C - DESQview v2.26+ External Dev Interface - ADD PROCESS
	AX = DE04h
	BX = mapping context of new process (see #00416 at INT 15/AX=1016h)
	DX = handle of process
Return: nothing
Notes:	XMS XDI handler (installed by default) allocates a 22-byte record
	  (see #03104) from "common" memory to control access to XMS memory
	all DOS, BIOS, and DV API calls are valid in handler
	driver should pass this call to previous handler after processing it
SeeAlso: AX=DE05h,AX=DE06h,INT 15/AX=5401h

Format of XMS XDI structure:
Offset	Size	Description	(Table 03104)
 00h	DWORD	pointer to 10-byte record???
 04h	DWORD	pointer to next XMS XDI structure
 08h	WORD	mapping context
 0Ah	BYTE	???
 0Bh  5 BYTEs	XMS entry point to return for INT 2F/AX=4310h"XMS"
		(FAR jump to next field)
 10h  6 BYTEs	FAR handler for XMS driver entry point
		(consists of a FAR CALL followed by RETF)

Top
2FDE05 - INT 2F C - DESQview v2.26+ External Dev Interface - REMOVE PROCESS
INT 2F C - DESQview v2.26+ External Dev Interface - REMOVE PROCESS
	AX = DE05h
	BX = mapping context of process (see #00416 at INT 15/AX=1016h)
	DX = handle of last task in process
Return: nothing
Notes:	XMS XDI handler releases the structure allocated by AX=DE04h
	driver should pass this call to previous handler before processing it
	all DOS, BIOS, and DV API calls except those generating a task switch
	  are valid in handler
SeeAlso: AX=DE04h,AX=DE07h,INT 15/AX=5402h

Top
2FDE06 - INT 2F C - DESQview v2.26+ External Dev Interface - CREATE TASK
INT 2F C - DESQview v2.26+ External Dev Interface - CREATE TASK
	AX = DE06h
	BX = mapping context of process containing task
	DX = handle of new task
Notes:	driver should pass this call to previous handler after processing it
	all DOS, BIOS, and DV API calls are valid in handler

Top
2FDE07 - INT 2F C - DESQview v2.26+ External Dev Interface - TERMINATE TASK
INT 2F C - DESQview v2.26+ External Dev Interface - TERMINATE TASK
	AX = DE07h
	BX = mapping context of process containing task
	DX = handle of task
Notes:	driver should pass this call to previous handler before processing it
	all DOS, BIOS, and DV API calls except those generating a task switch
	  are valid in handler
SeeAlso: AX=DE04h,AX=DE06h,AX=DE10h

Top
2FDE08 - INT 2F C - DESQview v2.26+ External Dev Interface - SAVE STATE
INT 2F C - DESQview v2.26+ External Dev Interface - SAVE STATE
	AX = DE08h
	BX = mapping context of task being switched from
	      (see #00416 at INT 15/AX=1016h)
	DX = handle of task being switched from
Notes:	invoked prior to task swap, interrupts, etc
	driver should pass this call to previous handler after processing it
SeeAlso: AX=DE09h,INT 15/AX=5403h,INT 15/AX=DE27h

Top
2FDE09 - INT 2F C - DESQview v2.26+ External Dev Interface - RESTORE STATE
INT 2F C - DESQview v2.26+ External Dev Interface - RESTORE STATE
	AX = DE09h
	BX = mapping context of task being switched to
	      (see #00416 at INT 15/AX=1016h)
	DX = handle of task being switched to
Notes:	state is restored except for interrupts
	driver should pass this call to previous handler before processing it
SeeAlso: AX=DE08h,INT 15/AX=5404h,INT 15/AX=DE27h

Top
2FDE0A - INT 2F C - DESQview v2.26+ External Dev Interface - CHANGE KEYBOARD FOCUS
INT 2F C - DESQview v2.26+ External Dev Interface - CHANGE KEYBOARD FOCUS
	AX = DE0Ah
	BX = mapping context of task receiving focus
	DX = handle of running task
Notes:	driver should pass this call to previous handler before processing it
	this call often occurs inside a keyboard interrupt
	DV 2.42 does not provide this call to XDI handlers running inside a
	  window; instead, it directly calls the INT 2F handler which was
	  active at the time DV started
SeeAlso: INT 15/AX=DE26h,INT 15/AX=DE2Fh

Top
2FDE0B - INT 2F C - DESQview v2.26+ External Dev Interface - DVP PROCESSING COMPLETE
INT 2F C - DESQview v2.26+ External Dev Interface - DVP PROCESSING COMPLETE
	AX = DE0Bh
	BX = mapping context of DESQview system task
	CX = number of system memory paragraphs required for the use of all
	      XDI drivers (DV will add this to system memory in DVP buffer)
	DX = handle of DESQview system task
	SI = mapping context of new process if it starts
	ES:DI -> DVP buffer
Return: CX incremented as needed
Notes:	once DV invokes this function, the DVP buffer contents may be changed
	driver should pass this call to previous handler before processing it

Top
2FDE0C - INT 2F C - DESQview v2.26+ External Dev Interface - SWAP OUT PROCESS
INT 2F C - DESQview v2.26+ External Dev Interface - SWAP OUT PROCESS
	AX = DE0Ch
	BX = mapping context of task being swapped out
	      (see #00416 at INT 15/AX=1016h)
	DX = handle of DESQview system task
Note:	driver should pass this call to previous handler after processing it

Top
2FDE0D - INT 2F C - DESQview v2.26+ External Dev Interface - SWAP IN PROCESS
INT 2F C - DESQview v2.26+ External Dev Interface - SWAP IN PROCESS
	AX = DE0Dh
	BX = mapping context of process just swapped in
	      (see #00416 at INT 15/AX=1016h)
	DX = handle of DESQview system task
Note:	driver should pass this call to previous handler before processing it

Top
2FDE0E - INT 2F C - DESQview v2.26+ External Dev Interface - DVP START FAILED
INT 2F C - DESQview v2.26+ External Dev Interface - DVP START FAILED
	AX = DE0Eh
	BX = mapping context of DESQview system task
	DX = handle of DESQview system task
	SI = mapping context of failed process (same as for call to AX=DE0Bh)
Note:	driver should pass this call to previous handler after processing it

Top
2FDE0F - INT 2F C - DESQview v2.50+ External Dev Interface - INITIALIZE DV
INT 2F C - DESQview v2.50+ External Dev Interface - INITIALIZE DV
	AX = DE0Fh
Note:	DESQview 2.50+ calls this function just before it completes its
	  initialization.  At the time of the call, DESQview has not yet
	  changed any interrupt vectors
SeeAlso: AX=DE02h

Top
2FDE10 - INT 2F C - DESQview v2.50+ External Dev Interface - FREE TASK
INT 2F C - DESQview v2.50+ External Dev Interface - FREE TASK
	AX = DE10h
	BX = mapping context of process (see #00416 at INT 15/AX=1016h)
	DX = task handle of process
Note:	DESQview 2.50+ calls this function before it frees the task; it is
	  similar to AX=DE07h but allows the XDI handler to make calls which
	  cause context switches
SeeAlso: AX=DE06h,AX=DE07h

Top
2FDF00 - INT 2F - HyperWare programs - INSTALLATION CHECK
INT 2F - HyperWare programs - INSTALLATION CHECK
	AX = DF00h
	BX = product code (see #03105)
	CX = 0000h
	DX = 0000h
Return: AL = status
	    00h not installed
	    FFh multiplex number in use
		CX = 5948h ('YH') if selected product installed
		---HyperDisk---
		BX = code segment of resident portion
		DX = HyperDisk local data version
Program: HyperDisk is a shareware disk cache by HyperWare (Roger Cross)
Range:	AH=C0h to AH=FFh, selected by scanning AH=DFh, then AH=C0h-FFh
SeeAlso: INT 13/AX=8EEDh
Index:	installation check;HyperDisk|installation check;HyperStb
Index:	installation check;HyperKey|installation check;HyperScreen
Index:	HyperDisk;installation check|HyperStb;installation check
Index:	HyperKey;installation check|HyperScreen;installation check

(Table 03105)
Values for HyperWare product code:
 4248h	('BH') HyperStb
 4448h	('DH') HyperDisk v4.20+
 4B48h	('KH') HyperKey
 5348h	('SH') HyperScreen

Top
2FDF00BX5445 - INT 2F U - Quarterdeck TELTSR.COM - INSTALLATION CHECK
INT 2F U - Quarterdeck TELTSR.COM - INSTALLATION CHECK
	AX = DF00h
	BX = 5445h ('TE')
	CX = 4C54h ('LT')
	DX = 5352h ('SR')
Return: BX = 5454h ('TT') if installed
	CX = 494Eh ('IN') if installed
	DX = 5454h ('ST') if installed
Program: TELTSR is a Telnet TSR included with Quarterdeck's DESQview/X v2.00
	  which provides an INT 14h interface to the network
Range:	AH=DEh to AH=FFh and AH=C0h to AH=DDh, selected by scanning
SeeAlso: AX=DF01h"TELTSR",AX=DF02h"TELTSR",INT 14/AH=56h

Top
2FDF01BX0000 - INT 2F U - MSG.COM - INSTALLATION CHECK
INT 2F U - MSG.COM - INSTALLATION CHECK
	AX = DF01h
	BX = 0000h
Return: AX = FDFFh if installed
	   BX = segment of resident code
Program: MSG.COM is a TSR for intercepting incoming Novell broadcast
	  messages written by Gary Dobbins (Dobbins@Arizona.Edu)

Top
2FDF01BX4448 - INT 2F - HyperDisk v4.50+ - GET CURRENT CACHE STATE
INT 2F - HyperDisk v4.50+ - GET CURRENT CACHE STATE
	AX = DF01h
	BX = 4448h ('DH')
Return: AX = 0000h if function supported
	    BX = number of cache buffers in use
	    CX = number of cache buffers which have been modified
	    DL = caching flags (see #03106)
Range:	AH=C0h to AH=FFh, selected by scanning AH=DFh, then AH=C0h-FFh
SeeAlso: AX=DF00h,AX=DF02h

Bitfields for HyperDisk caching flags:
Bit(s)	Description	(Table 03106)
 0	staged writes enabled for floppy disks
 1	staged writes enabled for hard disks
 2	writes verified on floppy disks
 3	writes verified on hard disks
 4	reserved (0)
 5	reserved (0)
 6	floppy caching enabled
 7	all caching functions enabled

Top
2FDF01 - INT 2F U - Quarterdeck TELTSR.COM - CLOSE CONNECTION
INT 2F U - Quarterdeck TELTSR.COM - CLOSE CONNECTION
	AX = DF01h
Return: nothing???
Note:	invokes the DESQview/X socket API (see INT 15/AX=DE2Eh) function 0006h
	  to close the socket corresponding to the file handle set with
	  AX=DF02h; NOP if no file handle was ever set
SeeAlso: AX=DF00h"TELTSR",AX=DF02h"TELTSR"

Top
2FDF02BX4448 - INT 2F - HyperDisk v4.50+ - SET CACHE STATE
INT 2F - HyperDisk v4.50+ - SET CACHE STATE
	AX = DF02h
	BX = 4448h ('DH')
	DL = new caching flags (see #03106)
Return: AX = 0000h if supported
	    BX = number of cache buffers in use
	    CX = number of cache buffers which have been modified
	    DL = previous caching flags (see #03106)
Program: HyperDisk is a shareware disk cache by HyperWare (Roger Cross)
Range:	AH=C0h to AH=FFh, selected by scanning AH=DFh, then AH=C0h-FFh
SeeAlso: AX=DF00h,AX=DF01h

Top
2FDF02 - INT 2F U - Quarterdeck TELTSR.COM - OPEN CONNECTION
INT 2F U - Quarterdeck TELTSR.COM - OPEN CONNECTION
	AX = DF02h
	BX = file handle for connection's socket
Return: AX = status
	    0000h successful
	    FFFFh no more room in TELTSR's JFT
Program: TELTSR is a Telnet TSR included with Quarterdeck's DESQview/X v2.00
Notes:	the indicated file handle becomes owned by TELTSR, and is closed in
	  the caller's JFT
	multiple calls to this function will override the previous assignment
	  without closing the previous file; use AX=DF01h before further calls
SeeAlso: AX=DF00h"TELTSR",AX=DF01h"TELTSR"

Top
2FE000 - INT 2F - SETDRVER.COM v2.10+ - INSTALLATION CHECK
INT 2F - SETDRVER.COM v2.10+ - INSTALLATION CHECK
	AX = E000h
Return: AX = 4A52h ("JR") if present
Program: SETDRVER is a public domain TSR by Jacob Rieper which sets the
	  apparent DOS version analogously to MS-DOS SETVER
Notes:	this installation check differs from the usual one of returning AL=FFh
	the SETDRVER API is fully emulated by Matthias Paul's FREEVER
SeeAlso: AX=E000h/DX=4D50h,AX=E001h,INT 21/AH=52h

Top
2FE000 - INT 2F - KAOSHIDE - INSTALLATION CHECK
INT 2F - KAOSHIDE - INSTALLATION CHECK
	AX = E000h
Return: AL = FFh if installed
Program: KAOSHIDE ('Hidden Kaos') is a PD joke TSR which randomly capitalizes
	  alphabetic keys, written by Philip Maland. Although not a virus,
	  v2.0 uses some viral-like techniques to hide itself from
	  memory-reports by reducing DOS memory size.

Top
2FE000DX4D50 - INT 2F - FREEVER v1.0+ - INSTALLATION CHECK
INT 2F - FREEVER v1.0+ - INSTALLATION CHECK
	AX = E000h
	DX = 4D50h ('MP')
Return: AL = FFh if installed
	    AH = AMIS INT 2Dh multiplex ID
	    CX = FREEVER version (CH=major, CL=minor)
	    DX:DI -> AMIS-compliant signature (see #02569)
		(vendor ID is "M. Paul ", program name is "FREEVER ")
Program: FREEVER is an AMIS-conformant freeware DOS version-faking TSR similar
	  to SETVER for any DOS-compatible OS, written by Matthias Paul
Note:	FREEVER emulates INT 21/AH=30h, INT 21/AX=3306h, INT 21/AX=4412h,
	  INT 21/AX=4452h, and SETDRVER's API on INT 2F/AX=E00xh, as well as
	  providing an AMIS API on INT 2Dh
SeeAlso: AX=E000h"SETDRVER",INT 21/AH=30h,INT 21/AX=3306h,INT 21/AX=4452h

Top
2FE000DX5354 - INT 2F - StuffIt v3.21+ - INSTALLATION CHECK
INT 2F - StuffIt v3.21+ - INSTALLATION CHECK
	AX = E000h
	DX = 5354h ("ST")
Return: AL = FFh if installed
	    BX = version (BH = major, BL = BCD minor)
	    DX = segment of resident code
Program: StuffIt is a freeware delayed keyboard stuffer by Terje Mathisen

Top
2FE001 - INT 2F - SETDRVER.COM v2.10+ - GET SETDRVER VERSION
INT 2F - SETDRVER.COM v2.10+ - GET SETDRVER VERSION
	AX = E001h
Return: AH = major version
	AL = minor version
Note:	the SETDRVER API is fully emulated by Matthias Paul's FREEVER, which
	  returns version 2.10 for this call; use AX=E000h/DX=45D0h to get
	  FREEVER's version number
SeeAlso: AX=E000h,AX=E000h/DX=45D0h

Top
2FE002 - INT 2F - SETDRVER.COM v2.10+ - GET ORIGINAL DOS VERSION INFO
INT 2F - SETDRVER.COM v2.10+ - GET ORIGINAL DOS VERSION INFO
	AX = E002h
Return: AL = FFh if successful
	    BH = major DOS version
	    BL = minor DOS version
	    CH = DOS version flag
	    CL = OEM number
	    DH = major DR DOS version number (FFh if unknown)
	    DL = minor DR DOS version number (FFh if unknown)
SeeAlso: AX=E003h,AX=E007h,INT 21/AH=30h

Top
2FE003 - INT 2F - SETDRVER.COM v2.10+ - RESET INTERNAL VARIABLES
INT 2F - SETDRVER.COM v2.10+ - RESET INTERNAL VARIABLES
	AX = E003h
	BH = new major DOS version
	BL = new minor DOS version
	CH = new DOS version flag
	CL = new DOS revision number
	DH = new OEM number
SeeAlso: AX=E002h

Top
2FE004 - INT 2F - SETDRVER.COM v2.10+ - ENABLE TSR
INT 2F - SETDRVER.COM v2.10+ - ENABLE TSR
	AX = E004h
Return: AL = FFh if successful
SeeAlso: AX=E000h,AX=E005h,AX=E006h

Top
2FE005 - INT 2F - SETDRVER.COM v2.10+ - DISABLE TSR
INT 2F - SETDRVER.COM v2.10+ - DISABLE TSR
	AX = E005h
Return: AL = FFh if successful
SeeAlso: AX=E000h,AX=E004h,AX=E006h

Top
2FE006 - INT 2F - SETDRVER.COM v2.10+ - GET TSR STATUS
INT 2F - SETDRVER.COM v2.10+ - GET TSR STATUS
	AX = E006h
Return: AL = FFh if successful
	    BL = status
		01h resident and active
		02h resident and inactive

Top
2FE007 - INT 2F - SETDRVER.COM v2.10+ - GET TaskMAX STATUS AT INSTALLATION
INT 2F - SETDRVER.COM v2.10+ - GET TaskMAX STATUS AT INSTALLATION
	AX = E007h
Return: AL = FFh if successful
	    BL = status
		00h if TaskMAX not loaded before SETDRVER
		FFh if TaskMAX was loaded before SETDRVER
SeeAlso: AX=E003h

Top
2FE0 - INT 2F - SETDRVER.COM - RESERVED FOR FUTURE USE
INT 2F - SETDRVER.COM - RESERVED FOR FUTURE USE
	AH = E0h
	AL = 08h-10h

Top
2FE100 - INT 2F - Phantom2 v1.1+ - INSTALLATION CHECK
INT 2F - Phantom2 v1.1+ - INSTALLATION CHECK
	AX = E100h
Return: AX = 0001h if installed
	    DS:SI -> ASCIZ hotkey name
	    DS:DI -> ASCIZ recording filename
Program: Phantom of the Keyboard II is a shareware keystroke recorder/replayer
	  by P2 Enterprises
SeeAlso: AX=E101h,AX=E102h,AX=E103h,AX=E300h
Index:	hotkeys;Phantom2

Top
2FE101 - INT 2F - Phantom2 v1.1+ - FUNCTION REQUEST
INT 2F - Phantom2 v1.1+ - FUNCTION REQUEST
	AX = E101h
	BX = function mask (see #03107)
	CX = code for hotkey (as returned by INT 16/AH=00h) if BX bit 6 set
	DS:DX -> ASCIZ filespec if BX bit 7 set
SeeAlso: AX=E100h
Index:	hotkeys;Phantom2

Bitfields for Phantom2 function mask:
Bit(s)	Description	(Table 03107)
 0	record
 1	play
 2	QuickPlay
 3	loop
 4	mode display toggle
 5	sound toggle
 6	set hotkey
 7	set filespec

Top
2FE102 - INT 2F - Phantom2 v1.1+ - UNINSTALL
INT 2F - Phantom2 v1.1+ - UNINSTALL
	AX = E102h
Return: AX = status
	    0001h removal successful
	    0002h not installed as TSR
	    FFFFh disabled but not removed
SeeAlso: AX=E100h

Top
2FE103 - INT 2F - Phantom2 v2.8 - SET ??? FLAG
INT 2F - Phantom2 v2.8 - SET ??? FLAG
	AX = E103h
Return: AX = 0001h
SeeAlso: AX=E100h

Top
2FE200 - INT 2F - SecureDevice - LOGIN TO DRIVE
INT 2F - SecureDevice - LOGIN TO DRIVE
	AX = E200h
	DL = drive number (0 = A:)
	DS:SI -> 104-byte key
Return: AL = status
	    00h unable to determine key's validity
	    01h key is valid
	    FFh key is invalid
Program: SecureDevice is a copylefted device driver by Max Loewenthal and
	  Arthur Helwig which turns one or more disk files into encrypted
	  logical drives
SeeAlso: AX=E201h,AX=E203h,AX=E209h

Top
2FE201 - INT 2F - SecureDevice - GET INFORMATION
INT 2F - SecureDevice - GET INFORMATION
	AX = E201h
	DX = driver index (0000h = first loaded)
Return: AL = number of volumes handled by driver
	DL = drive number of first volume (00h = A:)
SeeAlso: AX=E200h,AX=E203h,AX=E209h

Top
2FE203 - INT 2F - SecureDevice - DESTROY PASSWORD (LOGOUT FROM DRIVE)
INT 2F - SecureDevice - DESTROY PASSWORD (LOGOUT FROM DRIVE)
	AX = E203h
	DL = drive number (00h = A:) or FFh for all drives
Return: nothing
SeeAlso: AX=E200h,AX=E209h

Top
2FE209DX0000 - INT 2F - SecureDevice - INSTALLATION CHECK
INT 2F - SecureDevice - INSTALLATION CHECK
	AX = E209h
	DX = 0000h
Return: AX = 1DEAh if installed
	    DX = number of drivers installed

Top
2FE300 - INT 2F - ANARKEY.COM - INSTALLATION CHECK
INT 2F - ANARKEY.COM - INSTALLATION CHECK
	AX = E300h
Return: AL = state
	    00h not installed
	    FEh if installed but suspended (v3.0+)
	    FFh installed
Program: ANARKEY.COM is a commandline recall program by Steven Calwas
Range:	AH=C0h to AH=FFh, selected by commandline switch
SeeAlso: AX=E100h,AX=E301h,AX=E302h,AX=E303h,AX=E304h,AX=E305h,AX=E306h
SeeAlso: AX=E307h,INT 66"Newkey"

Top
2FE300 - INT 2F - Blank - INSTALLATION CHECK
INT 2F - Blank - INSTALLATION CHECK
	AX = E300h
Return: AL = FFh if installed
	    ES = resident code segment
Program: Blank is a shareware screen blanker by Yonah Schmeidler
Note:	AH=E3h is the default, which may be reconfigured by the installation
	  program in the registered version
SeeAlso: AH=93h,AX=C050h,INT 14/AX=AA01h
Index:	screen saver;Blank

Top
2FE301 - INT 2F U - ANARKEY.COM v2+ - GET ???
INT 2F U - ANARKEY.COM v2+ - GET ???
	AX = E301h
Return: DX:BX -> ??? (see #03108,#03109)
SeeAlso: AX=E300h

Format of returned data structure for ANARKEY v2.0:
Offset	Size	Description	(Table 03108)
 -7   7 BYTEs	signature ('ANARKEY')
 00h	WORD	??? (I see 0001h in v2.0)
 02h	WORD	??? (I see 0001h in v2.0)
 04h	WORD	??? (I see 0 in v2.0)
 06h	WORD	PSP segment of next program loaded

Format of returned data structure for ANARKEY v3+:
Offset	Size	Description	(Table 03109)
 -1	BYTE	multiplex number
 00h	WORD	??? (I see 0001h in v3.0-4.0)
 02h	WORD	??? (I see 0001h in v3.0-4.0)
 04h	BYTE	??? (I see 0 in v3.0-4.0)
 05h	WORD	PSP segment of next program loaded

Top
2FE302 - INT 2F U - ANARKEY.COM v3+ - ???
INT 2F U - ANARKEY.COM v3+ - ???
	AX = E302h
	BL = ???
Return: ???
SeeAlso: AX=E300h

Top
2FE303 - INT 2F U - ANARKEY.COM v3+ - ANARKMD API
INT 2F U - ANARKEY.COM v3+ - ANARKMD API
	AX = E303h
	BL = function
	    01h toggle insert mode
	    02h display contents of history buffer
	    03h write history buffer to file
		ES:DX -> file name
	    04h clear history buffer
	    05h undefine all aliases
	    06h show aliases
	    07h list programs using Unix switchar
	    08h jump to bottom of history buffer
	    09h (v4.0) add string to history buffer
		ES:DX -> ASCIZ string
	    0Ah (v4.0) ???
		ES:DX -> ???
	    0Bh (v4.0) copy string to edit buffer for use as next input line
		ES:DX -> ASCIZ string
	    0Ch (v4.0) ???
	    0Dh (v4.0) copy ??? to ???
	    0Eh (v4.0) ???
	    0Fh (v4.0) ???
	    10h (v4.0) set ??? flag
	    11h (v4.0) display error message about running in EMS under Windows
Return: ???
SeeAlso: AX=E300h

Top
2FE304 - INT 2F U - ANARKEY.COM v2+ - ???
INT 2F U - ANARKEY.COM v2+ - ???
	AX = E304h
	BL = ???
Return: ???
SeeAlso: AX=E300h

Top
2FE305 - INT 2F U - ANARKEY.COM v3+ - ENABLE/SUSPEND ANARKEY
INT 2F U - ANARKEY.COM v3+ - ENABLE/SUSPEND ANARKEY
	AX = E305h
	BL = new state
	    01h suspended
	    00h enabled
SeeAlso: AX=E300h

Top
2FE306 - INT 2F U - ANARKEY.COM v4.0 - GET ???
INT 2F U - ANARKEY.COM v4.0 - GET ???
	AX = E306h
Return: AX = ???
SeeAlso: AX=E300h

Top
2FE307 - INT 2F U - ANARKEY.COM v4.0 - GET ???
INT 2F U - ANARKEY.COM v4.0 - GET ???
	AX = E307h
Return: AX = ???
	BL = ???
SeeAlso: AX=E300h

Top
2FE337 - INT 2F - INT16.COM - INSTALLATION CHECK
INT 2F - INT16.COM - INSTALLATION CHECK
	AX = E337h
Return: AX = 0013h if installed
Program: INT16.COM is an INT16 keyboard BIOS replacement for
	  INT 16/AH=00h-02h,10h-12h (based on K3) written by Martin Gerdes
	  and published in c't 05/1990.
SeeAlso: AX=ED58h

Top
2FE44D - INT 2F - NDOS - API
INT 2F - NDOS - API
	AX = E44Dh
Program: NDOS is a version of 4DOS licensed to Symantec for inclusion in the
	  Norton Utilities
Note:	as NDOS is a licensed version of 4DOS v3.03, the API is identical to
	  that for 4DOS, except that AH=E4h instead of D4h and the installation
	  check returns AX=44EEh instead of AX=44DDh
SeeAlso: AX=D44Dh,AX=E44Eh

Top
2FE44E - INT 2F C - NDOS - AWAITING USER INPUT
INT 2F C - NDOS - AWAITING USER INPUT
	AX = E44Eh
	BX = condition
	    0000h NDOS is ready to display prompt
	    0001h NDOS has displayed the prompt, about to accept user input
Return: handler must preserve SI, DI, BP, SP, DS, ES, and SS
SeeAlso: AX=E44Dh

Top
2FE44FBX0000 - INT 2F - NDOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
INT 2F - NDOS v4.0+ - KSTACK.COM - INSTALLATION CHECK
	AX = E44Fh
	BX = 0000h
Return: AX = 44EEh if installed
Program: NDOS is a version of 4DOS licensed to Symantec for inclusion in the
	  Norton Utilities
Note:	this function is also supported by ANSIPLUS v3.01+ and K3PLUS v6.20+,
	  which emulate the 4DOS and NDOS keystack
SeeAlso: AX=D44Fh/BX=0000h,AX=E44Fh/BX=0001h

Top
2FE44FBX0001 - INT 2F - NDOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
INT 2F - NDOS v4.0+ - KSTACK.COM - PLACE KEYSTROKES INTO KEYSTACK
	AX = E44Fh
	BX = 0001h
	CX = number of keystrokes (01h-FFh)
	DS:DX -> keystroke list (one word per keystroke)
Return: AX = status
	    0000h successful
	    nonzero failed
	BX,CX,DX destroyed
Notes:	the keystrokes are the exact values to return from subsequent calls to
	  INT 16 with AH=00h,01h,10h, or 11h, with the following exceptions:
		0000h causes subfunctions 01h and 11h to indicate an empty
		      keyboard buffer
		FFFFh is followed by a word indicating the number of clock
		      ticks to delay before the next faked keystroke
	v4.00 KSTACK overwrites any unread keystrokes from the previous
	  invocation, and does not range-check CX; it will overwrite memory
	  following the resident portion if CX is greater than 100h.
	this function is also supported by ANSIPLUS v3.01+ and K3PLUS v6.20+,
	  which emulate the 4DOS and NDOS keystack
SeeAlso: AX=E44Fh/BX=0000h,INT 16/AH=00h,INT 21/AX=4403h"DOS"

Top
2FE600CL30 - INT 2F - Virtual 486 - INSTALLATION CHECK
INT 2F - Virtual 486 - INSTALLATION CHECK
	AX = E600h
	CL = 30h
	BX = C0DEh
Return: BX = DEC0h if installed
Program: Virtual 486 is a 80486 CPU emulator for an 80386 by Solar Designer

Top
2FE700BX4158 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
INT 2F - Multiplex - ??? - INSTALLATION CHECK???
	AX = E700h
	BX = 4158h ("AX")
	CX = 4953h ("IS")
	DX = 4845h ("HE")
Return: AL = FFh if installed
	    BX = 4C4Fh ("LO") if ??? installed
	    CX = 4F4Bh ("OK")
	    DX = 4F55h ("OU")
		ES:DI -> ???
Range:	AH=C0h to AH=FFh, selected by scanning AH=E7-FFh, then AH=C0h-E6h
Note:	called by QDPMI when its Real to Protected Mode Switch Entry Point
	  is called

Top
2FE77EBX0000 - INT 2F - CTDEMN - INSTALLATION CHECK
INT 2F - CTDEMN - INSTALLATION CHECK
	AX = E77Eh
	BX = 0000h
	CX = 4F4Dh ('OM')
	DX = 5453h ('TS')
Return: AX = 7EE7h if installed
	    BX = resident code segment
	    CX = 6F6Dh ('om')
	    DX = 7473h ('ts')
Program: CTDEMN is a file daemon TSR by Simultan AG

Top
2FED00 - INT 2F - Phar Lap DOS EXTENDERS - INSTALLATION CHECK
INT 2F - Phar Lap DOS EXTENDERS - INSTALLATION CHECK
	AX = ED00h
	BL = DOS extender ID (see #03110)
Return: AL = status
	    00h not installed
	    FFh installed
		SI = 5048h ("PH")
		DI = 4152h ("AR")
		CH = major version number
		CL = minor version number
		DX = flags
		    bit 0: running under DPMI
		    bit 1: running under Phar Lap VMM
		if running under DPMI:
		    BX = DPMI version (BH = major, BL = minor)
SeeAlso: AH=A1h,AX=F100h,AX=FBA1h

(Table 03110)
Values for Phar Lap DOS extender ID:
 01h	286dosx v1.3+ (Software Development Kit)
 02h	286dosx v1.3+ (Run-Time Kit)
 03h	386dosx v4.0+ (SDK)
 04h	386dosx v4.0+ (RTK)

Top
2FED03 - INT 2F R - Phar Lap 386/DOS-Extender v4.1 - GET EXTENDER ENTRY POINT
INT 2F R - Phar Lap 386/DOS-Extender v4.1 - GET EXTENDER ENTRY POINT
	AX = ED03h
	CX = real-mode code segment
	DX = real-mode data segment
Return: CF clear if successful
	    CX = protected-mode code segment selector
	    DX = protected-mode data segment selector
	    ES:DI -> real-mode entry point for calling protected-mode functions
		      (see INT 21/AX=250Dh)
	CF set on error
	    AX = error code
		0008h unable to allocate LDT descriptors

Top
2FED10BL05 - INT 2F - Pharlap DOS Extender - ???
INT 2F - Pharlap DOS Extender - ???
	AX = ED10h
	BL = 05h
	ES:SI -> ??? structure
Return: AX = ???
	SI = ???
	DI = ???
SeeAlso: AX=ED00h,AX=ED11h

Top
2FED11BL05 - INT 2F - Pharlap DOS Extender - FATAL EXIT TO REAL MODE ???
INT 2F - Pharlap DOS Extender - FATAL EXIT TO REAL MODE ???
	AX = ED11h
	BL = 05h
	CX = ???
	DX = ???
	ES:SI -> ??? structure
	SS:SP = new stack ???
Return: ???
Note:	called immediately prior to terminating program with INT 21/AX=4CFFh
SeeAlso: AX=ED00h,AX=ED10h

Top
2FED58 - INT 2F U - K5.COM - INSTALLATION CHECK
INT 2F U - K5.COM - INSTALLATION CHECK
	AX = ED58h
Return: AX = 000Dh if installed
	    ES = resident code segment
	    BX = ??? (9999h)
	    ???
Program: K5 is an extended keyboard driver by Martin Gerdes, based on his K3
SeeAlso: AX=E337h,INT 16/AX=AF20h

Top
2FED80 - INT 2F - Phar Lap 286|DOS Extender Lite v2.5 - ???
INT 2F - Phar Lap 286|DOS Extender Lite v2.5 - ???
	AX = ED80h
	BL = DOS extender ID (see #03110)
	SI = 5048h ("PH")
	DI = 4152h ("AR")
	???
Return: ???

Top
2FEDC8BX0000 - INT 2F - Novell DOS 7+ - SECURITY.BIN - INSTALLATION CHECK
INT 2F - Novell DOS 7+ - SECURITY.BIN - INSTALLATION CHECK
	AX = EDC8h ('EDC' = Novell European Development Centre)
	BX = 0000h
	CX = 0000h
	DX = 1234h
Return: ???
Note:	called by Novell DOS 7 LOCK command during installation

(Table 04107)
Call Novell DOS SECURITY.BIN API with:
	AX??? = function
	    0000h get status
	    0001h authenticate password hash
	    0002h get / change encrypted master key password???
	    0003h ??? Set encrypted master key password
	    0004h ??? Get logged-in user ID
	    0005h ??? Set logged-in user ID
	    0006h Get device restriction mask
	    0007h Set device restriction mask
	    0008h Disable PNW DB access
	    0009h Enable PNW DB access
	    000Ah Get user name
	    000Bh Set user name
	    000Ch Change user password hash
	    000Dh Get last function
	    000Eh Get Encoded ASCII password
	    000Fh Set Encoded ASCII password
	    0010h Get user seed
	    0011h Set user seed
	    !!! more info to follow

Top
2FEE00 - INT 2F - GRIDLOC.EXE - INSTALLATION CHECK
INT 2F - GRIDLOC.EXE - INSTALLATION CHECK
	AX = EE00h
Return: AL = FFh if installed
Program: GRIDLOC is a PC security program by Intelligent Security Systems, Inc.
SeeAlso: INT 21/AH=40h"NB.SYS"

Top
2FEE00 - INT 2F - XVIEW - INSTALLATION CHECK
INT 2F - XVIEW - INSTALLATION CHECK
	AX = EE00h
Return: AX = 00FFh if installed
Program: XVIEW is a hypertext viewer by Flambeaux Software, Inc.

Top
2FEE00 - INT 2F - WEB v4.02 - INSTALLATION CHECK
INT 2F - WEB v4.02 - INSTALLATION CHECK
	AX = EE00h
Return: AL = status
	    00h not installed
	    FFh installed
Program: WEB is an IPX-based peer-to-peer network by Webcorp.
SeeAlso: AH=EEh"WEB",AX=EEF0h

Top
2FEE01 - INT 2F - XVIEW - POP UP GIVING TOPIC SEARCH KEYWORD
INT 2F - XVIEW - POP UP GIVING TOPIC SEARCH KEYWORD
	AX = EE01h
	DS:DX -> ASCIZ string containing case-insensitive keyword to look up
Return: AX = status (see #03111)
Note:	the specified keyword should be a hyperlink in the _IndexPage of some
	  database; the current database is searched first
SeeAlso: AX=EE00h"XVIEW",AX=EE02h,AX=EE03h,AX=EE04h,AX=EE06h

(Table 03111)
Values for XVIEW function status:
 0000h	successful
 00F1h	unknown subfunction
 00F2h	unable to pop up

Top
2FEE02 - INT 2F - XVIEW - POP UP GIVING A PAGE NUMBER
INT 2F - XVIEW - POP UP GIVING A PAGE NUMBER
	AX = EE02h
	DX = physical page number or anchor page number (see #03112)
Return: AX = status (see #03111)
Note:	physical page numbers are assigned by the hypertext compiler, and
	  will change if a page is inserted in the middle
SeeAlso: AX=EE00h"XVIEW",AX=EE01h,AX=EE05h,AX=EE06h

(Table 03112)
Values for XVIEW anchor page number:
 FFEAh	_Credits
 FFECh	_SearchTopics
 FFEDh	_SearchText
 FFF0h	_ManualList
 FFF5h	_HelpOnHelp
 FFF8h	_HomePage
 FFF9h	_IndexPage

Top
2FEE03 - INT 2F - XVIEW - POP UP GIVING FILENAME AND SEARCH TOPIC OR PAGE NUMBER
INT 2F - XVIEW - POP UP GIVING FILENAME AND SEARCH TOPIC OR PAGE NUMBER
	AX = EE03h
	DS:DX -> data packet (see #03113)
Return: AX = status (see #03111)
SeeAlso: AX=EE00h"XVIEW",AX=EE01h,AX=EE02h,AX=EE06h

Format of XVIEW data packet:
Offset	Size	Description	(Table 03113)
 00h	DWORD	-> ASCIZ database filespec (0000h:0000h for current database)
 04h	DWORD	-> ASCIZ text to look up or 0000h:0000h
 08h	WORD	page number (0000h if keyword used)
 0Ah  6 BYTEs	reserved

Top
2FEE04 - INT 2F - XVIEW - POP UP AND READ SCREEN FOR SEARCH TOPIC KEYWORD
INT 2F - XVIEW - POP UP AND READ SCREEN FOR SEARCH TOPIC KEYWORD
	AX = EE04h
Return: AX = status (see #03111)
Note:	equivalent to the action taken when the user presses the Alt-L hotkey
SeeAlso: AX=EE00h"XVIEW",AX=EE01h,AX=EE03h,AX=EE06h

Top
2FEE05 - INT 2F - XVIEW - POP UP TO MOST-RECENTLY VIEWED PAGE
INT 2F - XVIEW - POP UP TO MOST-RECENTLY VIEWED PAGE
	AX = EE05h
Return: AX = status (see #03111)
Note:	equivalent to the action taken when the user presses the Alt-H hotkey
SeeAlso: AX=EE00h"XVIEW",AX=EE02h,AX=EE06h

Top
2FEE06 - INT 2F - XVIEW - WAIT FOR POP-DOWN AND GET EXIT CODE
INT 2F - XVIEW - WAIT FOR POP-DOWN AND GET EXIT CODE
	AX = EE06h
Return: AX = status (see also AX=EE01h)
	    0001h specified filename is not an xText database
	    0002h no databases found
	    0003h bad data in file
	    0004h memory shortage
	    0005h unable to open the requested file
	    0007h invalid page number for file
Note:	although this call is not required, the exit code can alert the
	  caller to problems; if the call is not made, the program should
	  enforce a delay of about 1/2 second to allow the viewer to pop up,
	  and should not get keyboard input or attempt disk accesses during
	  the delay
SeeAlso: AX=EE00h"XVIEW",AX=EE01h,AX=EE02h,AX=EE03h,AX=EE04h,AX=EE05h

Top
2FEE - INT 2F - WEB v4.02 - WEB MODULE INSTALLATION CHECK
INT 2F - WEB v4.02 - WEB MODULE INSTALLATION CHECK
	AH = EEh
	AL = module ID (see #03114)
Return: AX = 0000h if installed
	    ES:DI -> far entry point for module-specific API calls
		  (see #03115,#03116,#03117,#03118,#03119)
Program: WEB is an IPX-based peer-to-peer network by Webcorp.
SeeAlso: AX=EE00h"WEB"

(Table 03114)
Values for WEB module ID:
 10h	server module (SERVER.EXE)
 20h	client module (CLIENT.EXE)
 30h	mail module (MAIL.EXE)
 40h	spooler (PCSPOOL.EXE)
 50h	kernel module (KERNEL.EXE)
 60h	SAP module (KERNEL.EXE)
 70h	resident station manager (SM.EXE)
 90h	router module (ROUTER.EXE)

(Table 03115)
Call server module entry point with:
	BX = function
	    0000h remove server module
		Return: AX = status (0000h if successful, else WEB error code)
	    0001h create SYSINFO file
		Note:	the SYSINFO file is used by the station manager when
			  displaying info for a particular station
	    0002h get server object table
		Return: CX = number of server objects
			ES:DI -> server object table
		Note:	server objects include drives and devices that the
			  server module controls
	    0003h get server variables
		Return: ES:DI -> server variables

(Table 03116)
Call client module entry point with:
	BX = function
	    0000h remove client module
		Return: AX = status (0000h if successful, else WEB error code)
	    0001h decrement client-only flag
	    0002h increment client-only flag
	    0005h set device capture
		Note:	decrements DeviceOutput flag, telling the spooler that
			  it may trap device output again
	    0006h clear device capture
		Note:	increments DeviceOutput flag, telling the spooler that
			  it should not trap device output (this is used
			  internally by the spooler to prevent it from trapping
			  its own output)
	    0007h get client debug pointer
		Return: ES:DI -> client debug data structure (see #03120)
	    0008h get root drive
		Return: AL = WEB startup drive
	    0009h get maximum possible drive/device redirections
		Return: AL = maximum drive redirections
			CH = maximum LPTx redirections
			CL = maximum COMx redirections
	    000Ah suspend client
		Return: AX = previous value of Suspend flag
	    000Bh resume client
		Return: AX = previous value of Suspend flag
	    000Ch get instance data
		CX = maximum number of structures in array
		ES:DI -> buffer for array of WIN_INSTANCE_DATA structures
			  (see #03121)
		Return: CX = number of structures actually returned
		Note:	used internally by WEB4WIN

(Table 03117)
Call mail module entry point with:
	BX = function
	    0000h remove mail module
		Return: AX = status (0000h successful, else WEB error code)
	    0001h set mail poll
		Note:	schedules the WEB mail module
	    0002h set mail notify
		Note:	sets the Notify flag, which determines whether the
			  user will be notified when mail is received
	    0003h clear mail notify
		Note:	clears the Notify flag, which determines whether the
			  user will be notified when mail is received
	    0004h check whether new mail has arrived
		Return: AL = new mail status
			    00h no new mail since last call
			    else new mail has arrived
		Note:	also clears the new-mail flag after retrieving it
	    0005h send notify
		ES:DI -> name of WEB user to be notified
	    0006h get post office
		Return: ES:DI -> full network path of Post Office subdirectory

(Table 03118)
Call spooler entry point with:
	BX = function
	    0000h remove PCSpool module
		Return: AX = status (0000h successful, else WEB error code)
	    0001h set spooler poll
		Note:	schedules the WEB spooler
	    0002h check spooler changed
		Return:	AX = 0000h
		Note:	this call is a NOP in current versions of WEB

(Table 03119)
Call kernel entry point with:
	BX = function
	    0000h remove kernel module
		Return: AX = status (0000h successful, else WEB error code)
	    0001h set kernel ^S filter
		DL = new state (00h don't filter ^S, nonzero do filter)
	    0002h get kernel data area
		Return: ES:DI -> kernel data area
	    0003h display dialog box
		CL = dialog box type
		    00h password
		    01h E-Note received notification
		    02h Novell login
		    03h general notification
		DL = number of rows to display
		ES:SI -> array of far pointers to rows to be displayed
		ES:DI -> Pascal-style input buffer
		Return: AX = status (0000h successful, else error code)
	    0004h kernel service events
	    0005h get kernel's in-critical-section flag
		Return: ES:DI -> kernel InCriticalSection flag
	    0006h schedule DOS event
		AL = directive
		    00h do not ignore WEB ExtraBusy flag
		    01h ignore ExtraBusy flag
		    02h (WEB4WIN) check that current Windows VM is foregrnd VM
		ES:SI -> WEB AES Event Control Block (ECB) (see #03122)
		Notes:	the WEB Asynchronous Event Scheduler is similar to the
			  one used by IPX; this call schedules a special ECB
			  to be executed at a later time.  Unlike IPX ECBs,
			  the timeout must be set explicitly by the caller
			this function also calls function 0004h
	    0007h check busy
		AL = directive
		    00h do not ignore WEB ExtraBusy flag
		    01h ignore ExtraBusy flag
		    02h (WEB4WIN) check that current Windows VM is foregrnd VM
		Return: AX = status (0000h not busy, else busy)
	    0008h set keyboard intercept
		Note:	currently a NOP which returns immediately
	    0009h get keyboard intercept
		Note:	currently a NOP which returns immediately
	    000Ah get dialog flags
		Return: ES:DI -> kernel dialog flags (see #03123)
	    000Bh get network path
		Return: ES:DI -> fully-qualified network path of file where
				the screen is stored on Dialog calls
	    000Ch kernel alternate dialog
		CL = dialog box type
		    00h password
		    01h E-Note received notification
		    02h Novell login
		    03h general notification
		DL = number of rows to display
		ES:SI -> array of far pointers to rows to be displayed
		ES:DI -> Pascal-style input buffer
		Return: AX = status (0000h successful, else error code)
		Note:	this function is identical to function 0003h except
			  that it does not notify WEB4WIN of the impending
			  dialog request
	    000Dh get machine/operating system type
		Return: AX = machine/operating system type
			    01h IBM PC, MS-DOS
			    02h IBM PC, DOSV (Japanese)
			    03h NEC PC-9800, JDOS (Japanese)
			    04h IBM PC, Korean DBC DOS

Format of client debug data structure:
Offset	Size	Description	(Table 03120)
 00h	WORD	total files
 02h	WORD	files free
 04h	WORD	no files
 06h	WORD	minimum files
 08h	WORD	total FCBs
 0Ah	WORD	total safe FCBs
 0Ch	WORD	FCBs in use
 0Eh	WORD	wrong FCB
 10h	WORD	compressed
 12h	WORD	retransmits

Format of WIN_INSTANCE_DATA structure:
Offset	Size	Description	(Table 03121)
 00h	DWORD	real-mode pointer to data to be instanced
 04h	WORD	size of data to be instanced

Format of WEB AES Event Control Block:
Offset	Size	Description	(Table 03122)
 00h	DWORD	link address
 04h	WORD	ESR address
 08h	BYTE	InUse flag
 09h	BYTE	completion code
 0Ah  3 BYTEs	reserved
 0Dh	WORD	timeout
 0Fh	BYTE	IgnoreExtra flag
 10h	WORD	PSP
 12h	DWORD	DTA
 16h	WORD	AX value for DOS critical information
 18h	WORD	BX value for DOS critical information
 1Ah	WORD	CX value for DOS critical information
 1Ch	WORD	DX value for DOS critical information

(Table 03123)
Values for kernel dialog flags:
 01h	dialog will timeout
 02h	display stars instead of entered keystrokes

Top
2FEEF0 - INT 2F - WEB v4.02 - WEB GENERAL NOTIFICATION
INT 2F - WEB v4.02 - WEB GENERAL NOTIFICATION
	AX = EEF0h
	BX = notification function ID (see #03124)
Return: varies by notification function
Program: WEB is an IPX-based peer-to-peer network by Webcorp.
Note:	the notification functions are used internally by WEB modules to notify
	  other modules and external programs of actions or event, and should
	  never be called by an application
SeeAlso: AX=EE00h"WEB"

(Table 03124)
Values for WEB Notification Function ID:
 00h	node added
 01h	node deleted
 02h	dial attempt
 03h	dial failed
 04h	file close
 05h	close connection
 07h	check Windows mode
 20h	link up
 21h	link down

Top
2FF000 - INT 2F U - 4MAP - INSTALLATION CHECK
INT 2F U - 4MAP - INSTALLATION CHECK
	AX = F000h
Return: AX = 00FFh
Program: 4MAP is a keybinding program for 4DOS (see AX=D44Dh) by Ho-Ping Tseng
Note:	returns AX=00FFh for any value of AL not listed here
SeeAlso: AX=D44Dh,AX=F001h,AX=F002h

Top
2FF001 - INT 2F U - 4MAP - GET KEY MAPPINGS
INT 2F U - 4MAP - GET KEY MAPPINGS
	AX = F001h
Return: ES:BX -> key mappings
SeeAlso: AX=F000h

Top
2FF002 - INT 2F U - 4MAP - INSERT CHARACTER INTO ???
INT 2F U - 4MAP - INSERT CHARACTER INTO ???
	AX = F002h
	BL = character to insert
Return: AX = status
	    0000h successful
	    0001h buffer full
SeeAlso: AX=F000h,AX=F003h

Top
2FF003 - INT 2F U - 4MAP - INSERT CHARACTER INTO ???
INT 2F U - 4MAP - INSERT CHARACTER INTO ???
	AX = F003h
	BL = character to insert
Return: AX = status
	    0000h successful
	    0001h buffer full
Program: 4MAP is a keybinding program for 4DOS (see AX=D44Dh) by Ho-Ping Tseng
SeeAlso: AX=F000h,AX=F002h

Top
2FF1 - INT 2F U - MIN-MEM v2.11 - INSTALLATION CHECK
INT 2F U - MIN-MEM v2.11 - INSTALLATION CHECK
	AH = F1h
	AL <> F1h
Return: AL = F1h if installed
Program: MIN-MEM is a shareware TSR manager by Biologic which permits up to 24
	  popup TSRs to be loaded but swapped out to disk, EMS, or XMS.	 One
	  TSR at a time is brought back into memory at the user's request.

Top
2FF100 - INT 2F - DOS EXTENDER INSTALLATION CHECK
INT 2F - DOS EXTENDER INSTALLATION CHECK
	AX = F100h
Return: AL = FFh if DOS extender present
	    SI = 444Fh ("DO")
	    DI = 5358h ("SX")
Note:	supported or soon to be supported by Phar Lap, Rational, Ergo, and IGC
SeeAlso: AH=A1h,AX=ED00h,AX=FBA1h/BX=0081h,INT 15/AX=BF02h

Top
2FF1 - INT 2F U - RTKernel v4.0 - INSTALLATION CHECK
INT 2F U - RTKernel v4.0 - INSTALLATION CHECK
	AH = F1h
	AL = 00h
Return: AX = FFFFh if present
	    CX = 00F1h
Program: RTKernel is a DOS preemptive multitasking library for C/Pascal by
	  On Time Informatik GmbH

Top
2FF200 - INT 2F - WINX - INSTALLATION CHECK
INT 2F - WINX - INSTALLATION CHECK
	AX = F200h
Return: AX = 00FFh if installed
Program: WINX is a DOS/Windows utilities by Al Williams which can be used to
	  launch Windows applications from a DOS Box; it was published in
	  "DOS and Windows Protected Mode-Programming with DOS Extenders"
	  (Addison-Wesley) and should not be confused with the Windows driver
	  of the same name which is part of the DESQview/X package

Top
2FF201 - INT 2F - WINX - RETURN ADDRESS OF SERVER BUFFER
INT 2F - WINX - RETURN ADDRESS OF SERVER BUFFER
	AX = F201h
Return: AX = status
	    FFFFh if WINX is busy processing a different request
	    0000h if successful
		BX:CX = address of server buffer (see #03125)

Format of WINX server buffer:
Offset	Size	Description	(Table 03125)
 00h	BYTE	command/status
		00h buffer available
		01h buffer contains result
		02h change directory
		03h execute program
		FFh terminate windows portion of WINX
 01h  ? BYTEs	command (03h) or directory (02h)
  or
 01h	DWORD	result (01h)

Top
2FF202 - INT 2F - WINX - SET SERVER'S WORKING DIRECTORY
INT 2F - WINX - SET SERVER'S WORKING DIRECTORY
	AX = F202h
	BX:CX -> directory
Return: AX = status
	    FFFFh if WINX is busy processing a different request
	    0000h if successful
SeeAlso: AX=F200h,AX=F203h

Top
2FF203 - INT 2F - WINX - EXECUTE COMMAND
INT 2F - WINX - EXECUTE COMMAND
	AX = F203h
	BX:CX -> command
Return: AX = status
	    0000h if successful
	    FFFFh if WINX is busy processing a different request
SeeAlso: AX=F200h,AX=F202h

Top
2FF400 - INT 2F - FINDIRQ.COM - INSTALLATION CHECK
INT 2F - FINDIRQ.COM - INSTALLATION CHECK
	AX = F400h
Return: AL = 01h if installed
Program: FINDIRQ is a program by Rick Knoblaugh published in the 9/28/93 issue
	  of PC Magazine; when run as a TSR it can determine which IRQs are
	  used only when a device is active
SeeAlso: AX=F401h

Top
2FF400 - INT 2F - PowerLAN - INSTALLATION CHECK???
INT 2F - PowerLAN - INSTALLATION CHECK???
	AX = F400h
	???
Return: ???
Note:	this function is called by PowerLAN's NET.EXE just prior to calling
	  AX=F401h (get version)
SeeAlso: AX=F401h"PowerLAN"

Top
2FF401 - INT 2F - PowerLAN - GET VERSION
INT 2F - PowerLAN - GET VERSION
	AX = F401h
Return: ES:BX -> WORD containing 100*version (in decimal)
Program: PowerLAN is a networking product by Performance Technology
SeeAlso: AX=F400h"PowerLAN",AX=F483h"PowerLAN"

Top
2FF401CX5121 - INT 2F - FINDIRQ.COM - GET HOOKED INTERRUPTS
INT 2F - FINDIRQ.COM - GET HOOKED INTERRUPTS
	AX = F401h
	CX = 5121h ('Q!')
Return: AX:DX -> hooked interrupt table (see #03126)
SeeAlso: AX=F400h

Format of FINDIRQ hooked interrupt table:
Offset	Size	Description	(Table 03126)
 00h	BYTE	1Ch
 01h	DWORD	FINDIRQ's INT 1C handler
 05h	DWORD	original INT 1C handler
 09h	BYTE	28h
 0Ah	DWORD	FINDIRQ's INT 28 handler
 0Eh	DWORD	original INT 28 handler
 12h	BYTE	2Fh
 13h	DWORD	FINDIRQ's INT 2F handler
 17h	DWORD	original INT 2F handler

Top
2FF483 - INT 2F - PowerLAN - ???
INT 2F - PowerLAN - ???
	AX = F483h
	???
Return: ???
SeeAlso: AX=F400h"PowerLAN",AX=F401h"PowerLAN"

Top
2FF700 - INT 2F - AUTOPARK.COM - INSTALLATION CHECK
INT 2F - AUTOPARK.COM - INSTALLATION CHECK
	AX = F700h
Return: AL = state
	    00h not installed
	    FFh installed
Program: AUTOPARK.COM is a resident hard disk parker by Alan D. Jones

Top
2FF701 - INT 2F - AUTOPARK.COM - SET PARKING DELAY
INT 2F - AUTOPARK.COM - SET PARKING DELAY
	AX = F701h
	BX:CX = 32-bit count of 55ms timer ticks

Top
2FF800CX4455 - INT 2F U - SuperStor PRO 2XON.COM - INSTALLATION CHECK
INT 2F U - SuperStor PRO 2XON.COM - INSTALLATION CHECK
	AX = F800h
	CX = 4455h ("DU")
	DL = 45h ("E")
Return: AL = FFh if installed
	    ES:BX -> ASCII signature "Universal Data Exchange"
Program: SuperStor is a disk-compression program by Addstor.
Note:	returns AX=0001h if AL is not 00h or 01h
SeeAlso: AX=1001h,AX=F801h

Top
2FF801CX4455 - INT 2F U - SuperStor PRO 2XON.COM - UNINSTALL
INT 2F U - SuperStor PRO 2XON.COM - UNINSTALL
	AX = F801h
	CX = 4455h ("DU")
	DL = 45h ("E")
	ES:BX = return address if successful
Return: at specified address if successfully removed from memory
	else
	    AL = error code
	    ???
Program: SuperStor is a disk-compression program by Addstor.
Note:	returns AX=0001h if AL is not 00h or 01h
SeeAlso: AX=1001h,AX=F800h

Top
2FFA00 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
INT 2F - Multiplex - ??? - INSTALLATION CHECK???
	AX = FA00h
	BX = ??? (0408h)
	CX = ??? (001Fh)
	DX = ??? (0102h)
	SI = ??? (5ACCh)
	DI = ??? (0632h)
Return: ???
Note:	called by WinEmacs at startup

Top
2FFA00 - INT 2F - Multiplex - ??? - INSTALLATION CHECK???
INT 2F - Multiplex - ??? - INSTALLATION CHECK???
	AX = FA00h
	BX = ??? (03FCh)
	CX = ??? (003Fh)
	DX = ??? (00FFh)
	SI = ??? (5AA6h)
	DI = ??? (0620h)
Return: ???
Note:	called by Matlab at startup

Top
2FFB - INT 2F - Multiplex - RESERVED BY BORLAND INTERNATIONAL
INT 2F - Multiplex - RESERVED BY BORLAND INTERNATIONAL
	AH = FBh
SeeAlso: AX=FB42h/BX=0001h

Top
2FFB - INT 2F U - Conner Backup Exec AUTORES - API
INT 2F U - Conner Backup Exec AUTORES - API
	AH = FBh
	BL = function number (00h-07h)
	???
Return: ???
Program: AUTORES is a resident program launcher for unattended backups

Top
2FFB00 - INT 2F U - AutoBraille v1.1A - INSTALLATION CHECK
INT 2F U - AutoBraille v1.1A - INSTALLATION CHECK
	AX = FB00h
Return: AX = 00FFh if installed
Program: AutoBraille is a shareware text-to-braille converter by KANSYS, Inc.
SeeAlso: INT 10/AX=3800h,INT 14/AX=F0F1h

Top
2FFB00 - INT 2F U - Jot-It! v1.50 - INSTALLATION CHECK
INT 2F U - Jot-It! v1.50 - INSTALLATION CHECK
	AX = FB00h
Return: AX = FFFFh if installed
	    BX = version (BCD, BH=major, BL=minor)
SeeAlso: AX=FB03h"Jot-It",AX=FB01h"Jot-It"

Top
2FFB01 - INT 2F U - AutoBraille v1.1A - ???
INT 2F U - AutoBraille v1.1A - ???
	AX = FB01h
	???
Return: ???

Top
2FFB01 - INT 2F U - Jot-It! v1.50 - GET USER NAME
INT 2F U - Jot-It! v1.50 - GET USER NAME
	AX = FB01h
Return: DX:BX -> ASCIZ user name
SeeAlso: AX=FB02h"Jot-It"

Top
2FFB02 - INT 2F U - AutoBraille v1.1A - ???
INT 2F U - AutoBraille v1.1A - ???
	AX = FB02h
Return: AH = ???
	AL = ???

Top
2FFB02 - INT 2F U - Jot-It! v1.50 - GET MESSAGE DIRECTORY
INT 2F U - Jot-It! v1.50 - GET MESSAGE DIRECTORY
	AX = FB02h
Return: DX:BX -> ASCIZ name of directory in which messages are stored
SeeAlso: AX=FB01h"Jot-It"

Top
2FFB03 - INT 2F U - AutoBraille v1.1A - GET NEXT ???
INT 2F U - AutoBraille v1.1A - GET NEXT ???
	AX = FB03h
Return: AX = ???

Top
2FFB03 - INT 2F U - Jot-It! v1.50 - UNINSTALL
INT 2F U - Jot-It! v1.50 - UNINSTALL
	AX = FB03h
Return: resident code removed from memory
Note:	CAUTION: NO checks are performed to ensure that the interrupt vectors
	  being unhooked (08h,09h,28h,2Fh) actually point at the Jot-It! code
SeeAlso: AX=FB00h"Jot-It"

Top
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AH = FBh
	AL = 04h-08h
Return: AX = 0000h

Top
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AH = FBh
	AL = 09h-0Fh (???, 0Eh = COM1, 0Fh = COM2)
Return: ???
Program: AutoBraille is a shareware text-to-braille converter by KANSYS, Inc.

Top
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AH = FBh
	AL = 10h-1Fh
	???
Return: ???

Top
2FFB20 - INT 2F U - AutoBraille v1.1A - SET ??? FLAGS
INT 2F U - AutoBraille v1.1A - SET ??? FLAGS
	AX = FB20h
	BL = flags to set
SeeAlso: AX=FB21h"AutoBraille"

Top
2FFB21 - INT 2F U - AutoBraille v1.1A - CLEAR ??? FLAGS
INT 2F U - AutoBraille v1.1A - CLEAR ??? FLAGS
	AX = FB21h
	BL = flags to clear
SeeAlso: AX=FB20h"AutoBraille"

Top
2FFB22 - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AX = FB22h
	BL = ???
Program: AutoBraille is a shareware text-to-braille converter by KANSYS, Inc.

Top
2FFB28 - INT 2F U - AutoBraille v1.1A - ???
INT 2F U - AutoBraille v1.1A - ???
	AX = FB28h
	BX = ???
	???
Return: ???
SeeAlso: AX=FB29h"AutoBraille"

Top
2FFB29 - INT 2F U - AutoBraille v1.1A - ???
INT 2F U - AutoBraille v1.1A - ???
	AX = FB29h
	BX = ???
	???
Return: ???
SeeAlso: AX=FB28h"AutoBraille"

Top
2FFB - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AH = FBh
	AL = 2Bh-34h
	BX = ???

Top
2FFB35 - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AX = FB35h
	BL = ???

Top
2FFB36 - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AX = FB36h
	BL = ???

Top
2FFB37 - INT 2F U - AutoBraille v1.1A - SET ???
INT 2F U - AutoBraille v1.1A - SET ???
	AX = FB37h
	BL = ???
Program: AutoBraille is a shareware text-to-braille converter by KANSYS, Inc.

Top
2FFB42BX0001 - INT 2F PU - Borland C++ DPMILOAD.EXE - INSTALLATION CHECK???
INT 2F PU - Borland C++ DPMILOAD.EXE - INSTALLATION CHECK???
	AX = FB42h
	BX = 0001h
Return: AX = version number??? (AL=major, AH=minor)
	CX = next-selector increment
---BC2.0---
	ES:BX -> 80-byte buffer for ???
	DX = DPMI version
---BC3.0---
	BX = ??? (0000h)
	DX = ???
	ES:SI -> list of valid selectors ???
Notes:	The version of DPMILOAD distributed with BC++ v2.0 identifies itself
	  as version 1.000, while the version distributed with BC++ 3.0
	  identifies itself as version 1.0; the former is 10864 bytes, the
	  latter 22180 bytes.  The BC2.0 version is a DPMI loader, while
	  the BC3.0 version also adds a DPMI host and DOS extender
	the BC++ 2.0 version displays an error message if called with BX
	  values other than 0001h-0008h
SeeAlso: AX=1687h,AX=FB42h/BX=1001h,AX=FB43h

Top
2FFB42BX0002 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ALLOCATE MEMORY
INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ALLOCATE MEMORY
	AX = FB42h
	BX = 0002h
	CX = size in bytes
	DX = bit flags
	    bit 2: set to allocate DOS memory, clear for DPMI memory
	SI = selector of descriptor to be modified to access allocated memory
	DI = selector of a second descriptor to be modified
Return: AX = ??? or 0000h on error
	CX:DX = linear base address of DPMI memory block
	SI:DI = handle for DPMI memory block or FFFFh:FFFFh
	???
Note:	two segment descriptors may be set if a code and an aliased data
	  segment are required; if only one descriptor is needed, SI should
	  equal DI on entry
BUG:	when allocating DOS memory, the code computes the linear address by
	  multiplying the segment number by 4 rather than shifting by 4
SeeAlso: AX=FB42h/BX=0003h,AX=FB42h/BX=0008h,INT 31/AX=0501h

Top
2FFB42BX0002 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ALLOCATE MEMORY
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ALLOCATE MEMORY
	AX = FB42h
	BX = 0002h
	ES:SI -> memory block info (see #03127)
Return: ???
Note:	The version of DPMILOAD distributed with BC++ v2.0 identifies itself
	  as version 1.000, while the version distributed with BC++ 3.0
	  identifies itself as version 1.0; the former is 10864 bytes, the
	  latter 22180 bytes.
SeeAlso: AX=FB42h/BX=0003h,AX=FB42h/BX=0008h,INT 31/AX=0501h

Format of DPMILOAD memory block info:
Offset	Size	Description	(Table 03127)
 00h	WORD	flags (see #03128)
 02h	DWORD	block size in bytes
---DPMI memory block---
 06h	DWORD	DPMI memory block handle
---DOS memory block---
 06h	WORD	real-mode segment of memory block
 08h	WORD	selector of memory block
---
 0Ah	DWORD	linear address of memory
 0Eh	WORD	memory operation error code
		0008h no more free LDT descriptors
---if flags bit 0 clear---
 10h	WORD	code segment selector for memory block or 0000h or FFFFh
 12h	WORD	data alias selector for memory block or 0000h or FFFFh
---if flags bit 0 set---
 10h	WORD	data segment selector for memory block or 0000h or FFFFh
 12h	WORD	unused???

Bitfields for DPMILOAD memory block flags:
Bit(s)	Description	(Table 03128)
 0	set if data segment rather than code segment
 1	information valid
 2	set if DOS memory block rather than DPMI memory block
 4	???
 15	set if no LDT selectors for memory block???
SeeAlso: #03127

Top
2FFB42BX0003 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET AVAILABLE MEMORY
INT 2F PU - Borland C++ DPMILOAD.EXE - GET AVAILABLE MEMORY
	AX = FB42h
	BX = 0003h
Return: DX:AX = size of largest free block in paragraphs
		0000h:0000h on error (BC3.0 version only)
Note:	AX and DX are destroyed on error, but no other error indicator is
	  returned, under the BC++ 2.0 version of DPMILOAD
SeeAlso: AX=FB42h/BX=0002h

Top
2FFB42BX0004 - INT 2F PU - Borland C++ DPMILOAD.EXE - LOAD PROTECTED-MODE EXECUTABLE???
INT 2F PU - Borland C++ DPMILOAD.EXE - LOAD PROTECTED-MODE EXECUTABLE???
	AX = FB42h
	BX = 0004h
	DS:DX -> ASCIZ filename of protected-mode executable
Return: CX = selector of ??? or 0000h
---BC3.0---
	DX = status (0000h,FFF4h,others???) (see #03129)
Note:	the filename may also be terminated by a CR rather than a NUL under the
	  BC++ 3.0 version of DPMILOAD

(Table 03129)
Values for DPMILOAD function status:
 0000h	successful
 0001h	??? failure
 0002h	invalid selector
 0004h	unknown error
 0008h	no more LDT descriptors available???
 FFDEh	unable to set descriptor
 FFDFh	unable to get segment base address
 FFE0h	???
 FFF2h	invalid parameter value
 FFF4h	component of filename too long (name not in 8.3 format)
 FFF5h	pathname too long (>79 chars)
 FFF6h	???
 FFF8h	???
 FFF9h	index out of range
 FFFAh	???
 FFFCh	invalid access to code segment???
 FFFEh	???
 FFFFh	general error

Top
2FFB42BX0005 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NAME
INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NAME
	AX = FB42h
	BX = 0005h
	CX = selector of DPMILOAD data (see #03130)
	DS:DX -> ASCIZ or CR-terminated name of ??? (case ignored)
Return: DX = status (see #03129)
	    0000h successful
		AX:BX -> ??? FAR function (called with two words on top of stk)
	    else
		BX destroyed
SeeAlso: AX=FB42h/BX=0006h,AX=FB42h/BX=000Eh

Format of DPMILOAD data:
Offset	Size	Description	(Table 03130)
 00h 12 BYTEs	???
 0Ch	WORD	??? bit flags
 0Eh 14 BYTEs	???
 1Ch	WORD	number of memory control records (see #03133)
 1Eh 25 BYTEs	???
 37h	BYTE	??? bit flags
		bit 4: data valid???
 38h  4 BYTEs	???
 3Ch	WORD	???
 3Eh 12 BYTEs	???
 46h	BYTE	??? counter
 47h	BYTE	???
 48h	BYTE	???
 49h	BYTE	???
 4Ah	WORD	???
 4Ch  2 BYTEs	???
 4Eh	WORD	offset of array of 64-byte memory control records
 52h	WORD	offset of name list (see #03131)
 54h  4 BYTEs	???
 58h	WORD	offset of array of 6-byte objects (see #03132)
 5Ah  8 BYTEs	???
 62h  9 BYTEs	ASCIZ name for ???
 6Bh  9 BYTEs	ASCIZ name for ???
	???

Format of name list entry [array]:
Offset	Size	Description	(Table 03131)
 00h	BYTE	length of name (00h if end of array)
 01h  N BYTEs	name
 N+1	WORD	1-based index into array of unknown 6-byte objects

Format of 6-byte objects:
Offset	Size	Description	(Table 03132)
 00h	BYTE	???
 01h	BYTE	???
 02h	BYTE	???
 03h	BYTE	1-based index of memory control record
 04h	WORD	???

Format of memory control record:
Offset	Size	Description	(Table 03133)
 00h 20 BYTEs	memory block info (see #03127)
 14h  6 BYTEs	???
 1Ah	BYTE	???
 1Bh  2 BYTEs	???
 1Dh	BYTE	??? bit flags
 1Eh 14 BYTEs	???
 2Ch	DWORD	pointer to ??? memory control record or 0000h:0000h
 30h	DWORD	pointer to ??? memory control record or 0000h:0000h
 34h	DWORD	pointer to next??? memory control record or 0000h:0000h
 38h	DWORD	pointer to prev??? memory control record or 0000h:0000h
 3Ch  4 BYTEs	???
Note:	the pointers at offsets 2Ch and 30h form a doubly-linked list, as do
	  the pointers at offsets 34h and 38h

Top
2FFB42BX0006 - INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NUMBER
INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NUMBER
	AX = FB42h
	BX = 0006h
	CX = selector of DPMILOAD data (see #03130)
	DX = 1-based index into array of ??? 6-byte objects
Return: DX = status (see #03129)
	    0000h successful
		AX:BX -> ??? FAR function (called with two words on top of stk)
	    else
		BX destroyed
SeeAlso: AX=FB42h/BX=0005h,AX=FB42h/BX=000Eh

Top
2FFB42BX0007 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0007h
	CX = selector of ???
Return: ???
Note:	The version of DPMILOAD distributed with BC++ v2.0 identifies itself
	  as version 1.000, while the version distributed with BC++ 3.0
	  identifies itself as version 1.0; the former is 10864 bytes, the
	  latter 22180 bytes.

Top
2FFB42BX0007 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0007h
	CX = selector of DPMILOAD data (see #03130)
	???
Return: DX = status (see #03129)
	    0000h successful
		AX = ???

Top
2FFB42BX0008 - INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - FREE MEMORY BLOCK
INT 2F PU - Borland C++ 2.0 DPMILOAD.EXE - FREE MEMORY BLOCK
	AX = FB42h
	BX = 0008h
	CX = bit flags
	    bit 2: set if DPMI memory, clear if DOS memory
	DX = selector of DOS memory block
	SI:DI = handle of DPMI memory block
Return: DX = 0000h on error, unchanged if succcessful
Note:	The version of DPMILOAD distributed with BC++ v2.0 identifies itself
	  as version 1.000, while the version distributed with BC++ 3.0
	  identifies itself as version 1.0; the former is 10864 bytes, the
	  latter 22180 bytes.
SeeAlso: AX=FB42h/BX=0002h

Top
2FFB42BX0008 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE MEMORY BLOCK
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE MEMORY BLOCK
	AX = FB42h
	BX = 0008h
	ES:SI -> memory block info (see #03127)
Return: ???
SeeAlso: AX=FB42h/BX=0009h

Top
2FFB42BX0009 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - RESIZE MEMORY BLOCK
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - RESIZE MEMORY BLOCK
	AX = FB42h
	BX = 0009h
	ES:SI -> memory block info (see #03127)
	???
Return: ???
SeeAlso: AX=FB42h/BX=0008h"3.0"

Top
2FFB42BX000A - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INIT DPMI HOST AND SPAWN SUBSHELL
INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INIT DPMI HOST AND SPAWN SUBSHELL
	AX = FB42h
	BX = 000Ah
	CX = 0001h
	DX = ???
	SI = ???
Return: after user exits subshell
Notes:	this call is used by DPMIRES; unlike most of the DPMILOAD calls, this
	  function is not available in protected mode.
	the BC2.0 version of DPMILOAD is purely a DPMI loader, while the BC3.0
	  version also adds a DPMI host and DOS extender.
SeeAlso: AX=FB42h/BX=0004h,AX=FB42h/BX=0015h

Top
2FFB42BX000B - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - UNUSED
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - UNUSED
	AX = FB42h
	BX = 000Bh

Top
2FFB42BX000C - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE DESCRIPTORS FOR MEMORY BLOCK???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - FREE DESCRIPTORS FOR MEMORY BLOCK???
	AX = FB42h
	BX = 000Ch
	ES:SI -> memory block info ??? (see #03127)
Return: DX = status???
SeeAlso: AX=FB42h/BX=000Fh

Top
2FFB42BX000D - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SIMULATE REAL MODE INTERRUPT
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SIMULATE REAL MODE INTERRUPT
	AX = FB42h
	BX = 000Dh
	CX = number of words to copy from protected-mode to real mode stack
	DL = interrupt number
	DH = flags
	    bit 0: reset the interrupt controller and A20 line
	ES:DI -> real-mode call structure (see #03148 at INT 31/AX=0300h)
Return: CX = status
	    0000h successful
	    0001h failed
SeeAlso: INT 31/AX=0300h

Top
2FFB42BX000E - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
	AX = FB42h
	BX = 000Eh
	DS:DX -> ASCIZ or CR-terminated name of ???
Return: CX = selector of DPMILOAD data (see #03130) corresponding to name,
	      0000h on error
SeeAlso: AX=FB42h/BX=0006h,AX=FB42h/BX=001Fh

Top
2FFB42BX000F - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - REALLOCATE LDT DESCRPS TO MEMBLK???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - REALLOCATE LDT DESCRPS TO MEMBLK???
	AX = FB42h
	BX = 000Fh
	ES:SI -> memory block info (see #03127)
Return: ???
SeeAlso: AX=FB42h/BX=000Ch

Top
2FFB42BX0010 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SEGMENT TO SELECTOR
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SEGMENT TO SELECTOR
	AX = FB42h
	BX = 0010h
	DX = segment number
Return: CX = status (0000h,0008h) (see also AX=FB42h/BX=0004h)
	    0000h successful
		DX = selector number for descriptor
	    0008h failed
SeeAlso: AX=FB42h/BX=0023h

Top
2FFB42BX0011 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0011h
	CX = selector of DPMILOAD data (see #03130)
	???
Return: DX = status (0000h,0002h,FFFEh) (see also #03129)
	    0000h successful
		AX:BX -> ??? name
	    FFFEh ??? error

Top
2FFB42BX0012 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0012h
	CX = selector for ???
Return: CX = selector for ???

Top
2FFB42BX0013 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0013h
	CX = selector of DPMILOAD data (see #03130)
	DX = 1-based index of ???
Return: CX = status (0000h,0002h,FFF9h) (see also #03129)
	    0000h successful
		BX = ??? or 0000h
	    FFF9h ??? error

Top
2FFB42BX0014 - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INSTALLATION CHECK
INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - INSTALLATION CHECK
	AX = FB42h
	BX = 0014h
	CX = 0001h
Return: BX = 0000h if installed
Note:	unlike most of the DPMILOAD functions, this call is available only in
	  real or V86 mode
SeeAlso: AX=FB42h/BX=0001h,AX=FB42h/BX=000Ah

Top
2FFB42BX0015 - INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - UNINSTALL
INT 2F RU - Borland C++ 3.0 DPMILOAD.EXE - UNINSTALL
	AX = FB42h
	BX = 0015h
	CX = 0001h
Return: ???
Note:	unlike most of the DPMILOAD functions, this call is available only in
	  real or V86 mode
SeeAlso: AX=FB42h/BX=000Ah

Top
2FFB42BX0016 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
	AX = FB42h
	BX = 0016h
	CX = selector of DPMILOAD data (see #03130)
Return: DX = status (see also AX=FB42h/BX=0004h)
	    0000h successful
		CX = ???

Top
2FFB42BX0017 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0017h
	CX = ???
	DX = ???
	???
Return: DX = status (0000h,0001h) (see #03129)

Top
2FFB42BX0018 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET ???
	AX = FB42h
	BX = 0018h
	CX = ???

Top
2FFB42BX0019 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0019h
	CX = selector for ???
	???
Return: DX = status (see also AX=FB42h/BX=0004h)
	    0000h successful
		CX = selector for ???

Top
2FFB42BX001A - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 001Ah
	CX = selector for ???
	???
Return: DX = status (see also AX=FB42h/BX=0004h)
	    0000h successful
	    0004h failed
	CX:BX -> ???

Top
2FFB42BX001B - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 001Bh
	CX = selector of DPMILOAD data (see #03130)
	DX = offset of ???
Return: DX = status (0000h,0002h) (see also #03129)
	    0000h successful
		BX = selector for ???
		CX = selector for ???

Top
2FFB42BX001C - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 001Ch
	ES = selector for DPMILOAD data (see #03130)
	CX = 1-based index of ???
	DX = 1-based index of ???
Return: DX = status (0000h,0002h,FFF9h) (see #03129)

Top
2FFB42BX001D - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
	AX = FB42h
	BX = 001Dh
Return: CX:DX = ???

Top
2FFB42BX001E - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 001Eh
	CX = ???
	???
Return: DX = status (see also AX=FB42h/BX=0004h)
	    0000h successful
	    FFF7h ??? error
	CX:BX -> ???

Top
2FFB42BX001F - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ADDRESS OF ???
	AX = FB42h
	BX = 001Fh
	DS:DX -> 8-character name of ???
	???
Return: CX = selector of DPMILOAD data (see #03130) for ???
		0000h on error
SeeAlso: AX=FB42h/BX=000Eh

Top
2FFB42BX0020 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION???
	AX = FB42h
	BX = 0020h
Return: DX = ??? (always 0000h)

Top
2FFB42BX0021 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROCESSOR EXCEPTION HANDLER VECT
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROCESSOR EXCEPTION HANDLER VECT
	AX = FB42h
	BX = 0021h
	CL = exception number (00h-1Fh)
Return: DX = status (see also AX=FB42h/BX=0004h)
	    0000h successful
		AX:BX = selector:offset of handler
	    FFF2h unable to get exception handler vector
SeeAlso: AX=FB42h/BX=0022h,AX=FB42h/BX=0024h,INT 31/AX=0202h

Top
2FFB42BX0022 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROCESSOR EXCEPTION HANDLER VECT
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROCESSOR EXCEPTION HANDLER VECT
	AX = FB42h
	BX = 0022h
	CL = exception number (00h-1Fh)
	SI:DX = selector:offset of new handler
Return: DX = status (0000h,0004h,FFF2h) (see #03129)
SeeAlso: AX=FB42h/BX=0021h,AX=FB42h/BX=0025h,INT 31/AX=0203h

Top
2FFB42BX0023 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SELECTOR TO SEGMENT NUMBER
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - CONVERT SELECTOR TO SEGMENT NUMBER
	AX = FB42h
	BX = 0023h
	CX = selector
Return: DX = status (see also AX=FB42h/BX=0004h)
	    0000h successful
		CX = real-mode segment number
	    FFF2h descriptor has invalid base address for real-mode segment
SeeAlso: AX=FB42h/BX=0010h

Top
2FFB42BX0024 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROTECTED-MODE INTERRUPT VECTOR
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET PROTECTED-MODE INTERRUPT VECTOR
	AX = FB42h
	BX = 0024h
	CL = interrupt number
Return: DX = status (0000h) (see also AX=FB42h/BX=0004h)
	AX:BX = selector:offset of handler
SeeAlso: AX=FB42h/BX=0025h,INT 31/AX=0204h

Top
2FFB42BX0025 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROTECTED-MODE INTERRUPT VECTOR
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - SET PROTECTED-MODE INTERRUPT VECTOR
	AX = FB42h
	BX = 0025h
	CL = interrupt number
	SI:DX = selector:offset of new handler
Return: DX = status (0000h,0004h,FFF2h) (see #03129)
SeeAlso: AX=FB42h/BX=0024h,INT 31/AX=0205h

Top
2FFB42BX0026 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - ???
	AX = FB42h
	BX = 0026h
	CX = selector of DPMILOAD data (see #03130)
	DX = 1-based index of ???
	???
Return: DX = status (0000h,0002h,FFF9h) (see #03129)
	    0000h successful
		BX = offset of ??? within data structure

Top
2FFB42BX0027 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - GET ???
	AX = FB42h
	BX = 0027h
	CX = selector of DPMILOAD data (see #03130)
	DX = offset of ???
Return: DX = status (see also AX=FB42h/BX=0004h)
	    0000h successful
		BX = ???

Top
2FFB42BX0080 - INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
	AX = FB42h
	BX = 0080h
	???
Return: AX = ???
	???

Top
2FFB42BX0081 - INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
INT 2F U - ??? - CALLED BY Borland C++ 3.0 DPMILOAD.EXE
	AX = FB42h
	BX = 0081h
	???
Return: AX = ???
	???

Top
2FFB42BX1001 - INT 2F U - Borland RTM.EXE 1.0 - INSTALLATION CHECK???
INT 2F U - Borland RTM.EXE 1.0 - INSTALLATION CHECK???
	AX = FB42h
	BX = 1001h
Return: BX = 0000h
SeeAlso: AX=FB42h/BX=0001h,AX=FB42h/BX=1002h,AX=FB42h/BX=1003h

Top
2FFB42BX1002 - INT 2F U - Borland RTM.EXE 1.0 - EXECUTE COMPILED PROGRAM
INT 2F U - Borland RTM.EXE 1.0 - EXECUTE COMPILED PROGRAM
	AX = FB42h
	BX = 1002h
	DX = 0014h ???
	???
Return: AX = nonzero if successful
	    AH = child program exit method??? (usually 4Ch)
	    AL = child program exit code (Errorlevel)
	AX = 0000h on load error
	    DX = error code (0000h-0027h) (see #03134)
SeeAlso: AX=FB42h/BX=1001h

(Table 03134)
Values for RTM.EXE error code:
 01h	out of memory
 02h	out of selectors
 03h	out of internal tables
 10h	internal error
 18h	internal error
 1Ah	internal error
 1Bh	internal error
 1Ch	internal error
 20h	invalid dynamic link
 21h	internal error
 22h	unable to open file
 23h	invalid .EXE format
 24h	wrong version
 25h	unable to initialize 
 26h	DLL initialization error
 other	unrecognized error

Top
2FFB42BX1003 - INT 2F U - Borland RTM.EXE 1.0 - ???
INT 2F U - Borland RTM.EXE 1.0 - ???
	AX = FB42h
	BX = 1003h
	???
Return: ???
SeeAlso: AX=FB42h/BX=1001h

Top
2FFB43 - INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION
INT 2F PU - Borland C++ 3.0 DPMILOAD.EXE - NULL FUNCTION
	AX = FB43h
	BX = subfunction (at least 0000h-000Eh)
Notes:	this function is only present in protected mode; it does nothing but
	  an immediate IRET
	DPMILOAD.EXE itself calls various subfunctions:
	    subfunction 0004h is called with CX=selector of ???, DI=selector
		  of DPMILOAD data
	    subfunction 0008h is called with CX=selector of DPMILOAD data
SeeAlso: AX=FB42h/BX=0001h

Top
2FFB43BX0100 - INT 2F PU - Borland TDX - INSTALLATION CHECK
INT 2F PU - Borland TDX - INSTALLATION CHECK
	AX = FB43h
	BX = 0100h
Return: BX = FB43h if loaded
Program: TDX is Borland's Turbo Debugger variant for DPMI programs
Note:	Borland Pascal 7 DPMI programs use this call to check whether they
	  should install their own stack and general protection exception
	  handlers, or allow TDX to handle those exceptions

Top
2FFB64 - INT 2F U - AutoBraille v1.1A - GET ???
INT 2F U - AutoBraille v1.1A - GET ???
	AX = FB64h
Return: AX = ??? (0006h seen)
Program: AutoBraille is a shareware text-to-braille converter by KANSYS, Inc.

Top
2FFBA1BX0081 - INT 2F U - TKERNEL (Borland DOS extender) - INSTALLATION CHECK
INT 2F U - TKERNEL (Borland DOS extender) - INSTALLATION CHECK
	AX = FBA1h
	BX = 0081h
	ES:DI -> 16-byte buffer
Return: if installed, first four bytes of ES:DI buffer are "IABH"
Program: TKERNEL is a licensed version of AI Architects/Ergo's OS/x86.
Note:	TKERNEL was present only in Borland C++ 2.0; with version 3.0, the DOS
	  extender was moved into DPMILOAD.
SeeAlso: AH=A1h,AX=F100h,AX=FBA1h/BX=0082h,AX=FBA1h/BX=0084h,INT 15/AX=BF02h
SeeAlso: INT 21/AX=4403h"AI Architects"

Top
2FFBA1BX0082 - INT 2F U - TKERNEL (Borland DOS extender) - GET ENTRY POINT
INT 2F U - TKERNEL (Borland DOS extender) - GET ENTRY POINT
	AX = FBA1h
	BX = 0082h
	ES:DI -> response buffer (see #03135)
Return: ES:DI buffer filled
SeeAlso: AX=FBA1h/BX=0081h,AX=FBA1h/BX=0084h

Format of TKERNEL response buffer:
Offset	Size	Description	(Table 03135)
 00h  4 BYTEs	signature "IABH"
 04h	DWORD	pointer to FAR extender entry point (see #03136)

(Table 03136)
Call TKERNEL entry point with:
	AX = function number
	    0000h initialize???
		STACK:	WORD  ???
		Return: AX = status???
			STACK unchanged
	    0001h get version???
		Return: AX = 0200h for v2.0.34
	    0002h get ???
		Return: AX = ??? (011Eh or 0182h seen)
	    0003h load protected-mode executable
		STACK:	DWORD -> ASCIZ filename of executable
			DWORD	???
			DWORD -> program arguments (counted string plus CR)
			DWORD -> environment for protected-mode executable
				(terminated with two consecutive NULs)
			DWORD -> WORD buffer for ???
		Return: AX = status???
			STACK unchanged
	    0004h get descriptor
		STACK:	WORD	selector for which to get descriptor
			WORD	segment number (when running in real mode)
			DWORD -> buffer for descriptor
		Return: CF clear if successful
			    buffer filled
			CF set on error
			    AX destroyed???
			STACK unchanged
	    0005h ???
		STACK:	WORD	selector for ???
			WORD	subfunction number???
				0000h run previously-loaded program???
				0001h ??? (similar to 0000h)
				0002h
				0003h
				0005h ??? (similar to 0000h and 0001h)
		Return: AX = status???
			STACK unchanged
	    0006h ???
		STACK:	WORD ???
			DWORD -> WORD (call) max iterations of ???
				      (ret) remaining iterations
		Return: AX = ???
			STACK unchanged
	    0007h unused
		Return: AX = 0001h
	    0008h unused
		Return: AX = 0001h
	    0009h copy protected-mode memory into conventional memory
		STACK:	WORD	selector for source segment
			WORD	segment of source if in real mode???
			DWORD	offset of source
			WORD	number of bytes to copy
			DWORD -> low-memory destination
		Return: AX = status
			STACK unchanged
	    000Ah copy conventional memory into protected-mode memory
		STACK:	WORD	selector for destination segment
			WORD	segment of destination if in real mode???
			DWORD	offset of destination
			WORD	number of bytes to copy
			DWORD -> low-memory source
		Return: AX = status
			STACK unchanged
	    000Bh get ??? pointers
		STACK:	WORD desired pointer
				0000h get ???
				0002h get protected-mode CR3
				0003h get 4K page table buffer pointer
				else Return: DX:AX = FFFFh:FFFFh
		Return: DX:AX = requested pointer
			STACK unchanged
	    000Ch set ??? pointers
		STACK:	WORD desired pointer
				0000h set ???
				0002h set protected-mode CR3
				0003h set 4K page table buffer pointer
				else ignore
			DWORD new value for pointer
		Return: STACK unchanged
	    000Dh get ??? pointers
		STACK:	WORD desired pointer
				0000h get ???
				0001h get ???
				0002h get ???
				0003h get ???
				0004h get ???
				0005h get ???
				0006h get ???
				0007h get ???
				else Return: DX:AX = FFFFh:FFFFh
		Return: DX:AX = desired pointer
			STACK unchanged
	    000Eh set ??? pointer
		STACK:	WORD desired pointer
				0000h set ???
				0001h set ???
				0002h set ???
				0003h set ???
				0004h set ???
				0005h set ???
				0006h set ???
				0007h set ???
				else Return: DX:AX = FFFFh:FFFFh
		Return: STACK unchanged
	    000Fh get ???
		Return: AX = ??? (seen 0008h)
	    0010h get ???
		Return: AX = ???
	    0011h determine whether selector is valid
		STACK:	WORD	possible selector
		Return: AX = selector or 0000h if invalid
			STACK unchanged
	    0012h get physical address
		STACK:	WORD	selector for desired segment
			WORD	segment number if in real mode
			DWORD	offset within segment
		Return: DX:AX = 32-bit physical address or 00000000h on error
			BX destroyed
			STACK unchanged
	    0013h ???
		Note:	normally jumps to code for function 0012h
	    0014h copy protected-mode memory to conventional memory, with ???
		STACK:	WORD	selector for source segment
			WORD	segment of source if in real mode???
			DWORD	offset of source
			WORD	number of bytes to copy
			DWORD -> low-memory destination
		Return: AX = status???
			STACK unchanged
	    0015h copy conventional memory to protected-mode memory, with ???
		STACK:	WORD	selector for destination segment
			WORD	segment of destination if in real mode???
			DWORD	offset of destination
			WORD	number of bytes to copy
			DWORD -> low-memory source
		Return: AX = status???
			STACK unchanged
	    0016h set ??? pointer
		STACK:	WORD	unused
			DWORD -> ??? or 0000h:0000h
		Return: AX = 0000h
			STACK unchanged
	    0017h allocate real-mode procedure???
		STACK:	DWORD	ASCIZ name of procedure
			DWORD ???
			DWORD	address of subroutine to invoke
		Return: AX = status
			    0032h procedure by that name exists
			    0033h no more real-mode procedures available
			DX destroyed
			STACK unchanged
	    0018h unused
		Return: AX = 0001h
	    0019h get parameter block
		Return: DX:AX -> parameter block (format unknown at this time,
				  but 92h bytes)
				  (preceded by signature "!!PARAM-BLOCK!!")
	    001Ah get ???
		Return: AX = ??? (0148h seen)
	    001Bh free real-mode procedure???
		STACK:	DWORD -> ASCIZ name of procedure
		Return: ???
			STACK unchanged
	    001Ch check whether packets from protected mode task pending
		Return: AX = 0001h if packets pending, 0000h if not
	    001Dh set ???
		STACK:	DWORD ??? or 0000h:0000h
		Return: AX,BX destroyed
			STACK unchanged
	    001Eh ???
		STACK:	WORD ??? (high byte ignored)
			DWORD -> data structure (below)
		Return: AX,BX,CX,DX destroyed
			data structure updated
			STACK unchanged
		Format of data structure:
		Offset	Size	Description
		 00h  2 BYTEs	unused
		 02h	WORD	???
		 04h	WORD	???
		 06h	WORD	???
		 08h  2 BYTEs	unused
		 0Ah	WORD	???
		 0Ch	WORD	(call) ???
				(ret) offset of this data structure (BUG?)
	    001Fh set ???
		STACK:	WORD ??? (set to 0001h if zero)
		Return: AX destroyed
			STACK unchanged
	    0020h ???
		STACK:	DWORD -> ??? (8 bytes of data)
		Return: AX = ???
			STACK unchanged
	    0021h ???
		STACK:	DWORD -> ??? (8 bytes of data)
			WORD	???
			WORD	???
		Return: AX = ???
			STACK unchanged
	    0022h ???
		STACK:	DWORD -> ??? (8 bytes of data)
			DWORD -> 4-byte buffer for results
		Return: AX = ???
			STACK unchanged
	    0023h ???
		STACK:	DWORD -> ??? (8 bytes of data)
		Return: AX = ???
			STACK unchanged
	    0024h set ???
		STACK:	WORD ???
		Return: AX destroyed
			STACK unchanged
	    0025h get ???
		Return: AX = ??? (value set with func 0024h)
	    0026h BUG: jumps to hyperspace due to fencepost error
	    FFFFh set DOS memory management functions
		BX:SI -> FAR routine for allocating DOS memory
			  (called with AH=48h,BX=number of paragraphs to alloc;
			  returns CF clear, AX=segment of allocated memory, or
				  CF set on error)
		CX:DI -> FAR routine for freeing DOS memory
			  (called with AH=49h,ES=segment of block to free;
			  returns CF set on error, AX=error code)
		Note: each of these pointers normally points at INT 21/RETF
	    other Return: AX = 0001h
Note:	BX may be destroyed by any of the API calls

Top
2FFBA1BX0084 - INT 2F U - TKERNEL (Borland DOS extender) - UNINSTALL
INT 2F U - TKERNEL (Borland DOS extender) - UNINSTALL
	AX = FBA1h
	BX = 0084h
	ES:DI -> response buffer (see #03137)
Return: ES:DI buffer filled
SeeAlso: AX=FBA1h/BX=0081h,AX=FBA1h/BX=0084h

Format of TKERNEL response buffer:
Offset	Size	Description	(Table 03137)
 00h  4 BYTEs	signature "IABH"
 04h	WORD	success indicator
		0001h failed (INT 2F hooked by another program)
		unchanged if successful
 06h	WORD	segment of ???
 08h	WORD	segment of ??? memory block to free if nonzero
 0Ah	WORD	segment of ??? memory block to free if nonzero

Top
2FFBFBES0000 - INT 2F U - SoundBlaster speech driver - INSTALLATION CHECK
INT 2F U - SoundBlaster speech driver - INSTALLATION CHECK
	AX = FBFBh
	ES = 0000h
Return: ES nonzero if installed
	    ES:BX -> entry point data structure (see #03138)
SeeAlso: INT 80/BX=0000h,INT F3"SoundBlaster"

Format of SoundBlaster entry point data structure:
Offset	Size	Description	(Table 03138)
 00h  3 BYTEs	signature "FB "
 03h	BYTE	driver major version number???
 04h	DWORD	speech driver entry point (see #03139)
 08h 24 BYTEs	???
 20h  ? BYTEs	data buffer for calling speech driver
		  (can be 117 bytes or more)

(Table 03139)
Call SoundBlaster speech driver entry point with:
	AL = function
	    07h speak a string
		data buffer (see #03138) contains:
			BYTE  length of string
		      N BYTEs string to speak

Top
2FFD12 - INT 2F - KS/KEYSTKCT.EXE - INSTALLATION CHECK
INT 2F - KS/KEYSTKCT.EXE - INSTALLATION CHECK
	AX = FD12h
Return: AX = 0093h if installed
	    ES = resident code segment
	    ES:CX -> internal "putbuf" routine
Program: KS/KEYSTKCT.EXE is a key stacking utility (4DOS KEYSTACK.SYS
	  look-alike) by Martin Gerdes, published in c't 11/1991, which can be
	  loaded as a device driver or as a TSR. It does not emulate 4DOS
	  KSTACK API
Note:	the default buffer size is 128 keys

Top
2FFE00BX4454 - INT 2F - PC-NFS ??? - INSTALLATION CHECK
INT 2F - PC-NFS ??? - INSTALLATION CHECK
	AX = FE00h
	BX = 4454h ("DT")
	CX = 4B52h ("KR")
	DX = 4E4Dh ("NM")
Return: AL = FFh if installed
	   BX = 524Eh ("RM")
	   CX = 4D44h ("MD")
	   DX = 544Bh ("TK")
Note:	DV/X 1.10 DVPCNFS.DVR searches AH=FEh,FFh,C0h-FDh for a valid response
SeeAlso: AX=FE08h

Top
2FFE00BX4454 - INT 2F - PC-NFS ??? - INSTALLATION CHECK
INT 2F - PC-NFS ??? - INSTALLATION CHECK
	AX = FE00h
	BX = 4454h ("DT")
	CX = 4B52h ("KR")
	DX = 544Dh ("TM")
Return: AL = FFh if installed
	   BX = 5254h ("RT")
	   CX = 4D44h ("MD")
	   DX = 544Bh ("TK")
Note:	DV/X 1.10 DVPCNFS.DVR searches AH=FEh,FFh,C0h-FDh for a valid response
SeeAlso: AX=FE08h

Top
2FFE00DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - INSTALLATION CHECK/STATUS REPORT
INT 2F U - NORTON UTILITIES 5.0+ TSRs - INSTALLATION CHECK/STATUS REPORT
	AX = FE00h
	DI = 4E55h ("NU")
	SI = TSR identifier (see #03140)
Return: SI = TSR reply
	    lowercase version of SI on entry (i.e. SI ORed with 2020h)
	    execpt SMARTCAN v8.0, which returns SI=6673h ('fs')
	AH = status
	    00h installed but disabled internally
	    01h installed and enabled
	AL = installed product
	    00h NCACHE-x or DISKREET
	    01h SPEEDRV / FILESAVE / EP / DISKMON v6+ installed
	    02h NCACHE2 / SMARTCAN
	    45h DISKMON v5 installed
	BX = length of *.INI file (DISKMON and FILESAVE/EP/SMARTCAN only)
	      (see #03141,#03142)
	CX = segment of resident portion
	    FFFFh if completely loaded high (NCACHE)
	DI may be destroyed
---FILESAVE/EP---
	DL = ??? (apparently always 00h)
---DISKMON---
	DX = ??? (apparently always 1AE6h [v5] / 1B86h [v6] / 1C26h [v7])
Notes:	the value returned in CX is incorrect for NCACHE 6.00
	all Norton Caches install as SMARTAAR drivers like SMARTDRV v3
	NCACHE2 and SPEEDRV both support the SMARTDRV v4+ installation check
	to detect Diskreet NDisk drives use CDS/DPB (see INT 21/AH=52h)
SeeAlso: AX=4A10h/BX=0000h,AX=FE01h,AX=FE02h,AX=FE03h,AX=FE04h,AX=FE05h
SeeAlso: INT 21/AX=4402h"SMARTDRV"

(Table 03140)
Values for Norton Utilities TSR identifier:
 4346h	("CF") NCACHE-F (v5) / NCACHE (v6) / NCACHE2 (v7+) / SPEEDRV
 4353h	("CS") NCACHE-S (v5 only)
 4443h	("DC") DISKREET
 444Dh	("DM") DISKMON
 4653h	("FS") FILESAVE (v5) / EP (v6) / SMARTCAN (v7+)

Format of DISKMON.INI file:
Offset	Size	Description	(Table 03141)
-6Ch 108 BYTEs	(in memory copy only)
		list of filenames which are always protected:
		  IBMBIO.COM/IBMDOS.COM, IO.SYS/MSDOS.SYS, TBIOS.SYS/TDOS.SYS,
		  MIO.SYS/IO.BIN, COMMAND.COM
 00h	BYTE	??? always 01h
 01h	BYTE	disk light (00h off, 01h on)
 02h	BYTE	disk protection (00h off, 01h on)
 03h	BYTE	protected areas
		01h system area
		02h files
		03h system area and files
		04h entire disk
 04h	BYTE	floppy access (00h not allowed, 01h allowed)
 05h 27 BYTEs	filename extension list (9 entries)
		(lowercase, blank padded or = 000000h)
 20h 240 BYTEs	filename list (20 entries)
		(lowercase, name and extension blank padded, with '.')
Note:	CX:0508h -> copy in installed TSR (v5)
	CX:052Fh -> copy in installed TSR (v6)
	CX:04E0h -> copy in installed TSR (v7-v8)

Format of FILESAVE.INI / EP.INI / SMARTCAN.INI file:
Offset	Size	Description	(Table 03142)
 00h 26 BITs	drive list (bit set: file protection on, cleared: off):
 00h	BYTE	drives	A: - H:
 01h	BYTE	drives	I: - P:
 02h	BYTE	drives	Q: - X:
 03h	BYTE	drives	Y: - Z:
 04h	BYTE	which files to protect
		00h all files
		01h all files with extension in list
		02h all files except those with extension in list
 05h 27 BYTEs	filename extension list (9 entries, uppercase, ASCIZ)
 20h	BYTE	include files with archive bit clear (00h no, 01h yes)
 21h	WORD	number of days after which files are purged (0 = never)
 23h	WORD	max kilobytes of erased file space to hold (0 = all)
Note:	CX:03D2h -> copy in installed TSR (v5)
	CX:03F5h -> copy in installed TSR (v6)
	CX:0434h -> copy in installed TSR (v7-v8)

Top
2FFE00DX474F - INT 2F - GO! v3.22+ - API
INT 2F - GO! v3.22+ - API
	AX = FE00h
	DX = 474Fh ('GO')
	SI = function number
	    0063h (BCD for '?') installation check
	    0078h (BCD for 'N') non-registered search (two levels only)
	    0082h (BCD for 'R') reserved for registered version
	    0083h (BCD for 'S') reserved for registered version
	    0085h (BCD for 'U') uninstall
	BX:CX -> buffer (for search functions)
		buffer filled with search spec, i.e. "APL" to get first
		  directory containing the substring APL, ":\APL" to find
		  the first top-level directory beginning with the letters
		  APL
Return: BX:CX buffer filled with result (search functions only)
		result is counted ASCIZ directory name, empty string if
		no matches (i.e. first byte is length of name, followed by
		name)
Program: GO! is a shareware directory locator TSR by Steve Ryckman
Note:	the application-supplied buffer for the requests and results which
	  BX:CX points at must lie outside the conventional (low-640K)
	  memory, since the TSR swaps memory on pop-up; a common location is
	  the last 96 bytes of the video memory or a UMB

Top
2FFE01DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - ENABLE
INT 2F U - NORTON UTILITIES 5.0+ TSRs - ENABLE
	AX = FE01h
	DI = 4E55h ("NU")
	SI = TSR identifier (see #03140)
Return: SI = TSR reply (lowercase version of entry SI, i.e. SI OR 2020h)
	AX = status
	    0002h successful (DISKMON, FILESAVE, EP)
	    FE00h successful (NCACHE-x, DISKREET)
Notes:	if the enable/disable calls are used on DISKMON or NCACHE-x, the status
	  report generated by the programs still indicates the previous state,
	  and DISKMON.INI is not updated
	apparently has no effect on DISKREET
SeeAlso: AX=FE00h,AX=FE02h

Top
2FFE02DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - DISABLE
INT 2F U - NORTON UTILITIES 5.0+ TSRs - DISABLE
	AX = FE02h
	DI = 4E55h ("NU")
	SI = TSR identifier (see #03140)
Return: SI = TSR reply (lowercase version of entry SI, i.e. SI OR 2020h)
	AX = status
	    0004h successful (DISKMON, FILESAVE)
	    FE00h successful (NCACHE-x, DISKREET)
Notes:	(see also AX=FE01h)
	this function appears to be unsafe, as the cache buffers are not
	  flushed
SeeAlso: AX=FE00h,AX=FE01h

Top
2FFE03DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ TSRs - FLUSH BUFFERS
INT 2F U - NORTON UTILITIES 5.0+ TSRs - FLUSH BUFFERS
	AX = FE03h
	DI = 4E55h ("NU")
	SI = TSR identifier (see #03140)
Return: SI = TSR reply (lowercase version of entry SI, i.e. SI OR 2020h)
	AX = status
	    0006h successful???
Notes:	only supported by DISKMON, FILESAVE, and NCACHE-x
	useful for flushing NCACHE before rebooting
SeeAlso: AX=FE00h,AX=FE10h

Top
2FFE04DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
	AX = FE04h
	DI = 4E55h ("NU")
	SI = TSR identifier (see #03140)
Return: SI = TSR reply (lowercase version of entry SI, i.e. SI or 2020h)
	AX = status
	    0008h successful???
SeeAlso: AX=FE00h

Top
2FFE05DI4E55 - INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
INT 2F U - NORTON UTILITIES 5.0+ DISKMON, FILESAVE / EP - internal - ???
	AX = FE05h
	DI = 4E55h ("NU")
	SI = TSR identifier (see #03140)
Return: SI = TSR reply (lowercase version of entry SI, i.e. SI or 2020h)
	AX = status
	    000Ah successful???
Note:	reportedly dangerous
SeeAlso: AX=FE00h

Top
2FFE08 - INT 2F - PC-NFS ??? - GET ???
INT 2F - PC-NFS ??? - GET ???
	AX = FE08h
Return: ES:BX -> ???
Notes:	DV/X 1.10 DVPCNFS.DVR searches AH=FEh,FFh,C0h-FDh for a valid response
	both the driver responding to AX=FE00h/DX=4E4Dh and the one responding
	  to AX=FE00h/DX=544Dh support this function
SeeAlso: AX=FE00h/BX=4454h

Top
2FFE10DI4E55 - INT 2F U - NORTON UTILITIES 6.0 NCACHE - REBOOT
INT 2F U - NORTON UTILITIES 6.0 NCACHE - REBOOT
	AX = FE10h
	DI = 4E55h ("NU")
	SI = TSR identifier (see #03140)
Return: SI = TSR reply (lowercase version of entry SI, i.e. SI or 2020h)
	AX = status
Note:	probably used to flush NCACHE buffers and reboot when Ctrl-Alt-Del is
	  detected
SeeAlso: AX=FE03h

Top
2FFEEF - INT 2F - RTS Control TSR - INSTALLATION CHECK
INT 2F - RTS Control TSR - INSTALLATION CHECK
	AX = FEEFh
Return: AX = EFFEh if installed
	    BX = port address
Program: RTS Control TSR is a utility by Michal Szokolo to lower the RTS
	  signal on a COM port during disk accesses to avoid losing incoming
	  data

Top
2FFF00 - INT 2F - Topware Network Operating System - INSTALLATION CHECK
INT 2F - Topware Network Operating System - INSTALLATION CHECK
	AX = FF00h
Return: AL = status
	    00h not installed, OK to install
	    01h not installed, not OK to install
	    FFh installed
SeeAlso: AX=FF01h,AX=FF02h,AX=FF10h,INT 21/AX=FF00h"Topware",INT 7A"Topware"

Top
2FFF01 - INT 2F - Topware Network Operating System - GET VERSION
INT 2F - Topware Network Operating System - GET VERSION
	AX = FF01h
Return: AX = version
SeeAlso: AX=FF00h,AX=FF02h

Top
2FFF02 - INT 2F - TopWare Network OS v5.10+ - GET TopNet VERSION STRING
INT 2F - TopWare Network OS v5.10+ - GET TopNet VERSION STRING
	AX = FF02h
Return: ES:BX -> version string
SeeAlso: AX=FF00h,AX=FF01h

Top
2FFF10 - INT 2F - TopWare Network OS v5.10+ - TopTerm - INSTALLATION CHECK
INT 2F - TopWare Network OS v5.10+ - TopTerm - INSTALLATION CHECK
	AX = FF10h
Return: AL = status (00h not installed, 01h installed)
SeeAlso: AX=FF00h,AX=FF11h,AX=FF12h,AX=FF13h

Top
2FFF11 - INT 2F - TopWare Network OS v5.10+ - TopTerm - ENABLE KEYBOARD SERVICE
INT 2F - TopWare Network OS v5.10+ - TopTerm - ENABLE KEYBOARD SERVICE
	AX = FF11h
Note:	this function is only available on workstations, not on the server
SeeAlso: AX=FF10h,AX=FF12h

Top
2FFF12 - INT 2F - TopWare Network OS v5.10+ - TopTerm - DISABLE KEYBOARD SERVICE
INT 2F - TopWare Network OS v5.10+ - TopTerm - DISABLE KEYBOARD SERVICE
	AX = FF12h
Note:	this function is only available on workstations, not on the server
SeeAlso: AX=FF10h,AX=FF11h

Top
2FFF13 - INT 2F - TopWare Network OS v5.10+ - TopTerm - SET INSTALLATION FLAG
INT 2F - TopWare Network OS v5.10+ - TopTerm - SET INSTALLATION FLAG
	AX = FF13h
	CL = new state (00h off, 01h on)
SeeAlso: AX=FF10h

Top
2FFF14 - INT 2F - TopWare Network OS v5.10+ - START BACKGROUND RECEIVE VIDEO DATA
INT 2F - TopWare Network OS v5.10+ - START BACKGROUND RECEIVE VIDEO DATA
	AX = FF14h
Note:	this function is only available on workstations, not on the server
SeeAlso: AX=FF10h,AX=FF15h

Top
2FFF15 - INT 2F - TopWare Network OS v5.10+ - END BACKGROUND RECEIVE VIDEO DATA
INT 2F - TopWare Network OS v5.10+ - END BACKGROUND RECEIVE VIDEO DATA
	AX = FF15h
Note:	this function is only available on workstations, not on the server
SeeAlso: AX=FF10h,AX=FF14h

Top
2FFF16 - INT 2F - TopWare Network OS v5.10+ - SET CONTROL NUMBER OF "SHOW" SCREEN
INT 2F - TopWare Network OS v5.10+ - SET CONTROL NUMBER OF "SHOW" SCREEN
	AX = FF16h
	BL = which to set (00h TopShow, FFh TopTerm)
	CX = destination screen
	    0000h all stations
	    0000h-00FFh (TopTerm only) send to group CL
	    8001h-80FEh send to station CL
SeeAlso: AX=FF18h

Top
2FFF18 - INT 2F - TopWare Network OS v5.10+ - SEND FULL SCREEN OF DATA FOR TopShow
INT 2F - TopWare Network OS v5.10+ - SEND FULL SCREEN OF DATA FOR TopShow
	AX = FF18h
SeeAlso: AX=FF00h,AX=FF16h,AX=FF27h

Top
2FFF23 - INT 2F - TopWare Network OS v5.10+ - CLOSE SPOOL FILES AND START PRINTING
INT 2F - TopWare Network OS v5.10+ - CLOSE SPOOL FILES AND START PRINTING
	AX = FF23h
SeeAlso: AX=FF00h

Top
2FFF27 - INT 2F - TopWare Network OS v5.10+ - GET "SHOW" TYPE
INT 2F - TopWare Network OS v5.10+ - GET "SHOW" TYPE
	AX = FF27h
Return: AL = type (00h complete version, 01h simple version)
	BL = "show" functions flag (00h disabled, 01h enabled)
SeeAlso: AX=FF16h,AX=FF18h

Top
30 - INT 30 - (NOT A VECTOR!) - DOS 1+ - FAR JMP instruction for CP/M-style calls
INT 30 - (NOT A VECTOR!) - DOS 1+ - FAR JMP instruction for CP/M-style calls
   the CALL 5 entry point does a FAR jump to here
Note:	under DOS 2+, the instruction at PSP:0005 points two bytes too low in
	  memory
SeeAlso: INT 21/AH=26h

Top
30 - INT 30 - QRIP/TSR - USED BY GRAPHICS LIBRARY
INT 30 - QRIP/TSR - USED BY GRAPHICS LIBRARY
Program: QRIP/TSR is a shareware TSR by Shane Hathaway implementing the Remote
	  Imaging Protocol (RIP, RIPscrip) used by several BBS systems to
	  provide a graphical user interface
SeeAlso: INT 2F/AX=ACF0h

Top
30 - INT 30 P - MS Windows 3.1+ - PROTECTED-MODE CALLBACK
INT 30 P - MS Windows 3.1+ - PROTECTED-MODE CALLBACK
SeeAlso: INT 20"Windows"

Top
31 - INT 31 - overwritten by CP/M jump instruction in INT 30
INT 31 - overwritten by CP/M jump instruction in INT 30

Top
31 - INT 31 - VIRUS - "Vacsina" series - INSTALLATION CHECK (NOT A VECTOR!)
INT 31 - VIRUS - "Vacsina" series - INSTALLATION CHECK (NOT A VECTOR!)
Note:	if one of the Vacsina viruses is resident, the low byte of this
	  interrupt still contains the last byte of the INT 30 CP/M JMP
	  instruction, but the remaining three bytes are 7Fh 39h followed
	  by the Vacsina version number
SeeAlso: INT 21/AX=FFFFh"VIRUS",INT 32"VIRUS"

Top
310000 - INT 31 P - DPMI 0.9+ - ALLOCATE LDT DESCRIPTORS
INT 31 P - DPMI 0.9+ - ALLOCATE LDT DESCRIPTORS
	AX = 0000h
	CX = number of descriptors to allocate
Return: CF clear if successful
	    AX = base selector
	CF set on error
	    AX = error code (DPMI 1.0+) (see #03143)
Notes:	DPMI is the DOS Protected-Mode Interface
	the base and limit of the returned descriptors will be 0, and the type
	  will be "data"
	add the value returned by INT 31/AX=0003h to move to subsequent
	  descriptors if multiple descriptors were allocated
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0001h,AX=000Dh,INT 21/AX=3501h

(Table 03143)
Values for DPMI 1.0 error code:
 0000h-7FFFh DOS error passed through by DPMI
 8001h	unsupported function
 8002h	object in wrong state for function
 8003h	system integrity would be endangered
 8004h	deadlock detected
 8005h	pending serialization request cancelled
 8010h	out of DPMI internal resources
 8011h	descriptor unavailable
 8012h	linear memory unavailable
 8013h	physical memory unavailable
 8014h	backing store unavailable
 8015h	callback unavailable
 8016h	handle unavailable
 8017h	maximum lock count exceeded
 8018h	shared memory already serialized exclusively by another
 8019h	shared memory already serialized shared by another client
 8021h	invalid value for numeric or flag parameter
 8022h	invalid segment selector
 8023h	invalid handle
 8024h	invalid callback
 8025h	invalid linear address
 8026h	request not supported by hardware

Top
310001 - INT 31 P - DPMI 0.9+ - FREE LDT DESCRIPTOR
INT 31 P - DPMI 0.9+ - FREE LDT DESCRIPTOR
	AX = 0001h
	BX = selector to free
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8022h) (see #03143)
Notes:	only one descriptor is freed per call
	the program's initial CS, DS, and SS descriptors may be freed
	(DPMI 1.0+) any segment registers containing the freed selector are
	  set to 0000h
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0000h,AX=000Ah,AX=000Dh,INT 21/AX=3502h

Top
310002 - INT 31 P - DPMI 0.9+ - SEGMENT TO DESCRIPTOR
INT 31 P - DPMI 0.9+ - SEGMENT TO DESCRIPTOR
	AX = 0002h
	BX = real mode segment
Return: CF clear if successful
	    AX = selector corresponding to real mode segment (64K limit)
	CF set on error
	    AX = error code (DPMI 1.0+) (8011h) (see #03143)
Notes:	multiple calls for the same real mode segment return the same selector
	the returned descriptor can never be modified or freed
	not supported by MS Windows 3.0 in Standard mode

Top
310003 - INT 31 P - DPMI 0.9+ - GET NEXT SELECTOR INCREMENT VALUE
INT 31 P - DPMI 0.9+ - GET NEXT SELECTOR INCREMENT VALUE
	AX = 0003h
Return: CF clear
	    AX = value to add to get next sequential selector
Notes:	the increment will be a power of two
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0000h

Top
310004 - INT 31 P - DPMI 0.9+ - LOCK SELECTOR
INT 31 P - DPMI 0.9+ - LOCK SELECTOR
	AX = 0004h
	BX = selector to lock (prevent paging)
Return: ???
Note:	although marked as reserved in versions 0.9 and 1.0 of the DPMI
	  specification, this function is called by MS Windows TASKMAN,
	  PROGMAN, and KERNEL
SeeAlso: AX=0005h,AX=0600h

Top
310005 - INT 31 P - DPMI 0.9+ - UNLOCK SELECTOR
INT 31 P - DPMI 0.9+ - UNLOCK SELECTOR
	AX = 0005h
	BX = selector to unlock (permit paging)
Return: ???
Note:	although marked as reserved in versions 0.9 and 1.0 of the DPMI
	  specification, this function is called by MS Windows TASKMAN,
	  PROGMAN, and KERNEL
SeeAlso: AX=0004h,AX=0601h

Top
310006 - INT 31 P - DPMI 0.9+ - GET SEGMENT BASE ADDRESS
INT 31 P - DPMI 0.9+ - GET SEGMENT BASE ADDRESS
	AX = 0006h
	BX = selector
Return: CF clear if successful
	    CX:DX = linear base address of segment
	CF set on error
	    AX = error code (DPMI 1.0+) (8022h) (see #03143)
Note:	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0007h,INT 21/AX=3504h

Top
310007 - INT 31 P - DPMI 0.9+ - SET SEGMENT BASE ADDRESS
INT 31 P - DPMI 0.9+ - SET SEGMENT BASE ADDRESS
	AX = 0007h
	BX = selector
	CX:DX = linear base address
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8022h,8025h) (see #03143)
Notes:	only modify descriptors allocated with INT 31/AX=0000h
	only the low 24 bits of the address will be used by 16-bit DPMI
	  implementations even on a 386 or higher
	DPMI 1.0+ automatically reloads any segment registers containing the
	  selector being modified
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0006h,AX=0008h,AX=0009h,AX=000Ch,INT 21/AX=3503h
SeeAlso: INT 21/AH=E9h"OS/286",INT 2C/AX=0002h

Top
310008 - INT 31 P - DPMI 0.9+ - SET SEGMENT LIMIT
INT 31 P - DPMI 0.9+ - SET SEGMENT LIMIT
	AX = 0008h
	BX = selector
	CX:DX = segment limit
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8021h,8022h,8025h) (see #03143)
Notes:	CX must be zero for 16-bit DPMI implementations
	limits greater than 1MB must be page aligned (low 12 bits set)
	only modify descriptors allocated with INT 31/AX=0000h
	DPMI 1.0+ automatically reloads any segment registers containing the
	  selector being modified
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0007h,AX=0009h,AX=000Ch,INT 21/AX=3505h,INT 21/AH=E9h"OS/286"
SeeAlso: INT 2C/AX=0003h,#00501 at INT 15/AH=89h

Top
310009 - INT 31 P - DPMI 0.9+ - SET DESCRIPTOR ACCESS RIGHTS
INT 31 P - DPMI 0.9+ - SET DESCRIPTOR ACCESS RIGHTS
	AX = 0009h
	BX = selector
	CL = access rights/type byte (see #00502 at INT 15/AH=89h)
	CH = 80386 extended rights/type byte (see #00505 at INT 15/AH=89h)
	    (32-bit DPMI implementations only)
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8021h,8022h,8025h) (see #03143)
Notes:	if the Present bit is clear, CL bits 0-3 may have any value
	DPMI 1.0+ automatically reloads any segment registers containing the
	  selector being modified
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0007h,AX=0008h,AX=000Ch,INT 21/AX=2514h,INT 2C/AX=0004h
SeeAlso: INT 2C/AX=0005h

Top
31000A - INT 31 P - DPMI 0.9+ - CREATE ALIAS DESCRIPTOR
INT 31 P - DPMI 0.9+ - CREATE ALIAS DESCRIPTOR
	AX = 000Ah
	BX = selector
Return: CF clear if successful
	    AX = new data selector
	CF set on error
	    AX = error code (DPMI 1.0+) (8011h,8022h) (see #03143)
Notes:	fails if selector in BX is not a code segment or is invalid
	use INT 31/AX=0001h to free new selector
	future changes to the original selector will not be reflected in the
	  returned alias selector
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0001h

Top
31000B - INT 31 P - DPMI 0.9+ - GET DESCRIPTOR
INT 31 P - DPMI 0.9+ - GET DESCRIPTOR
	AX = 000Bh
	BX = LDT selector
	ES:(E)DI -> 8-byte buffer for copy of descriptor
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (DPMI 1.0+) (8022h) (see #03143)
Notes:	16-bit programs use ES:DI as pointer, 32-bit must use ES:EDI
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=000Ch

Top
31000C - INT 31 P - DPMI 0.9+ - SET DESCRIPTOR
INT 31 P - DPMI 0.9+ - SET DESCRIPTOR
	AX = 000Ch
	BX = LDT selector
	ES:(E)DI -> 8-byte buffer containing descriptor
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8021h,8022h,8025h) (see #03143)
Notes:	16-bit programs use ES:DI as pointer, 32-bit must use ES:EDI
	only modify descriptors allocated with INT 31/AX=0000h
	DPMI 1.0+ automatically reloads any segment registers containing the
	  selector being modified
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=000Bh

Top
31000D - INT 31 P - DPMI 0.9+ - ALLOCATE SPECIFIC LDT DESCRIPTOR
INT 31 P - DPMI 0.9+ - ALLOCATE SPECIFIC LDT DESCRIPTOR
	AX = 000Dh
	BX = LDT selector
Return: CF clear if successful
	    descriptor allocated
	CF set on error
	    AX = error code (DPMI 1.0+) (8011h,8022h) (see #03143)
Notes:	free descriptor with INT 31/AX=0001h
	the first 16 descriptors (04h-7Ch) are reserved for this function, but
	  some may already be in use by other applications under DPMI 0.9;
	  DPMI 1.0 guarantees 16 descriptors per client
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0000h,AX=0001h

Top
31000E - INT 31 P - DPMI 1.0+ - GET MULTIPLE DESCRIPTORS
INT 31 P - DPMI 1.0+ - GET MULTIPLE DESCRIPTORS
	AX = 000Eh
	CX = number of descriptors to copy
	ES:(E)DI -> descriptor buffer (see #03144)
Return: CF clear if successful
	    descriptors copied
	CF set on error
	    AX = error code (8022h) (see #03143)
	    CX = number of descriptors successfully copied
Notes:	16-bit programs use ES:DI as pointer, 32-bit must use ES:EDI
	if the function fails, the first CX descriptors are valid; the
	  remainder are not modified
SeeAlso: AX=000Bh,AX=000Fh

Format of DPMI descriptor buffer entry (one per descriptor to get):
Offset	Size	Description	(Table 03144)
 00h	WORD	selector (set by client)
 02h	QWORD	descriptor (set by host)

Top
31000F - INT 31 P - DPMI 1.0+ - SET MULTIPLE DESCRIPTORS
INT 31 P - DPMI 1.0+ - SET MULTIPLE DESCRIPTORS
	AX = 000Fh
	CX = number of descriptors to copy
	ES:(E)DI -> descriptor buffer (see #03145)
Return: CF clear if successful
	    descriptors copied
	CF set on error
	    AX = error code (8021h,8022h,8025h) (see #03143)
	    CX = number of descriptors successfully copied
Notes:	16-bit programs use ES:DI as pointer, 32-bit must use ES:EDI
	if the function fails, the first CX descriptors are valid; the
	  remainder are not modified
	DPMI 1.0+ automatically reloads any segment registers containing a
	  selector being modified
SeeAlso: AX=000Ch,AX=000Eh

Format of DPMI descriptor buffer entry (one per descriptor to set):
Offset	Size	Description	(Table 03145)
 00h	WORD	selector
 02h	QWORD	descriptor

Top
310100 - INT 31 P - DPMI 0.9+ - ALLOCATE DOS MEMORY BLOCK
INT 31 P - DPMI 0.9+ - ALLOCATE DOS MEMORY BLOCK
	AX = 0100h
	BX = number of paragraphs to allocate
Return: CF clear if successful
	    AX = real mode segment of allocated block
	    DX = first selector for allocated block
	CF set on error
	    AX = DOS error code (07h,08h) (see #01680 at INT 21/AH=59h/BX=0000h)
		(DPMI 1.0+) DPMI error code (8011h) (see #03143)
	    BX = size (in paragraphs) of largest available block
Notes:	multiple contiguous selectors are allocated for blocks of more than 64K
	  if the caller is a 16-bit program
	never modify or deallocate returned descriptors
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0101h,AX=0501h

Top
310101 - INT 31 P - DPMI 0.9+ - FREE DOS MEMORY BLOCK
INT 31 P - DPMI 0.9+ - FREE DOS MEMORY BLOCK
	AX = 0101h
	DX = selector of block
Return: CF set if successful
	CF set on error
	    AX = DOS error code (07h,09h) (see #01680 at INT 21/AH=59h/BX=0000h)
Notes:	all descriptors allocated for the block are automatically freed
	DPMI 1.0+ automatically zeros any segment registers containing a
	  selector freed by this function
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0100h,AX=0102h,AX=0502h

Top
310102 - INT 31 P - DPMI 0.9+ - RESIZE DOS MEMORY BLOCK
INT 31 P - DPMI 0.9+ - RESIZE DOS MEMORY BLOCK
	AX = 0102h
	BX = new block size in paragraphs
	DX = selector of block
Return: CF clear if successful
	CF set on error
	    AX = DOS error code (07h,08h,09h)
		  (see #01680 at INT 21/AH=59h/BX=0000h)
		(DPMI 1.0+) DPMI error code (8011h,8022h) (see #03143)
	    BX = maximum block size (in paragraphs) possible
Notes:	increasing the size of a block past a 64K boundary will fail if the
	  next descriptor in the LDT is already in use
	shrinking a block past a 64K boundary will cause some selectors to be
	  freed; DPMI 1.0+ automatically zeros any segment registers containing
	  a selector freed by this function
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0100h

Top
310200 - INT 31 P - DPMI 0.9+ - GET REAL MODE INTERRUPT VECTOR
INT 31 P - DPMI 0.9+ - GET REAL MODE INTERRUPT VECTOR
	AX = 0200h
	BL = interrupt number
Return: CF clear
	CX:DX = segment:offset of real mode interrupt handler
Note:	the DPMI implementation is required to support all 256 vectors
SeeAlso: AX=0201h,AX=0204h,INT 21/AX=2503h

Top
310201 - INT 31 P - DPMI 0.9+ - SET REAL MODE INTERRUPT VECTOR
INT 31 P - DPMI 0.9+ - SET REAL MODE INTERRUPT VECTOR
	AX = 0201h
	BL = interrupt number
	CX:DX = segment:offset of real mode handler
Return: CF clear
Note:	all memory that may be touched by a hardware interrupt handler must be
	  locked down with INT 31/AX=0600h
SeeAlso: AX=0200h,AX=0205h,AX=0600h,INT 21/AX=2505h

Top
310202 - INT 31 P - DPMI 0.9+ - GET PROCESSOR EXCEPTION HANDLER VECTOR
INT 31 P - DPMI 0.9+ - GET PROCESSOR EXCEPTION HANDLER VECTOR
	AX = 0202h
	BL = exception number (00h-1Fh)
Return: CF clear if successful
	    CX:(E)DX = selector:offset of handler
	CF set on error
	    AX = error code (DPMI 1.0+) (8021h) (see #03143)
Notes:	16-bit programs receive the pointer in CX:DX, 32-bit programs in CX:EDX
	DPMI 1.0+ supports this function only for backward compatibility; use
	   AX=0210h or AX=0211h instead
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0203h,AX=0210h,AX=0211h,INT 2F/AX=FB42h/BX=0021h

Top
310203 - INT 31 P - DPMI 0.9+ - SET PROCESSOR EXCEPTION HANDLER VECTOR
INT 31 P - DPMI 0.9+ - SET PROCESSOR EXCEPTION HANDLER VECTOR
	AX = 0203h
	BL = exception number (00h-1Fh)
	CX:(E)DX = selector:offset of handler
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8021h,8022h) (see #03143)
Notes:	32-bit programs must supply an offset in EDX and use a 32-bit interrupt
	  stack frame on chaining to the next exception handler
	the handler should return using a FAR return
	all fault stack frames contain an error code, but it is only valid for
	  exceptions 08h and 0Ah-0Eh
	handlers will only be called if the exception occurs in protected mode,
	  and the DPMI host does not transparently handle the exception
	the handler may change certain values on the stack frame
	  (see #03146,#03147)
	DPMI 1.0+ supports this function only for backward compatibility; use
	   AX=0212h or AX=0213h instead
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0202h,AX=0212h,AX=0213h,INT 2F/AX=FB42h/BX=0022h

Format of stack frame for 16-bit programs: (offset from SS:SP)
Offset	Size	Description	(Table 03146)
 00h	DWORD	return CS:IP (do not change)
 04h	WORD	error code
 06h	DWORD	CS:IP of exception
 0Ah	WORD	flags
 0Ch	DWORD	SS:SP

Format of stack frame for 32-bit programs: (offset from SS:ESP)
Offset	Size	Description	(Table 03147)
 00h	DWORD	return EIP (do not change)
 04h	WORD	return CS selector (do not change)
 06h	WORD	reserved (do not change)
 08h	DWORD	error code
 0Ch	DWORD	EIP of exception
 10h	WORD	CS selector of exception
 12h	WORD	reserved (do not change)
 14h	DWORD	EFLAGS
 18h	DWORD	ESP
 1Ch	WORD	SS
 1Eh	WORD	reserved (do not change)

Top
310204 - INT 31 P - DPMI 0.9+ - GET PROTECTED MODE INTERRUPT VECTOR
INT 31 P - DPMI 0.9+ - GET PROTECTED MODE INTERRUPT VECTOR
	AX = 0204h
	BL = interrupt number
Return: CF clear
	CX:(E)DX = selector:offset of handler
Notes:	16-bit programs use CX:DX, 32-bit programs use CX:EDX
	DPMI implementations are required to support all 256 vectors
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0200h,AX=0205h,INT 21/AX=2502h,INT 2C/AX=0006h
SeeAlso: INT 2F/AX=FB42h/BX=0024h

Top
310205 - INT 31 P - DPMI 0.9+ - SET PROTECTED MODE INTERRUPT VECTOR
INT 31 P - DPMI 0.9+ - SET PROTECTED MODE INTERRUPT VECTOR
	AX = 0205h
	BL = interrupt number
	CX:(E)DX = selector:offset of handler
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8022h) (see #03143)
Notes:	16-bit programs use CX:DX, 32-bit programs use CX:EDX
	32-bit programs must use a 32-bit interrupt stack frame when chaining
	  to the next handler
	DPMI implementations are required to support all 256 vectors
	hardware interrupts are reflected to the virtual machine's primary
	  client, software interrupts to the current client
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0201h,AX=0204h,INT 21/AX=2504h,INT 2C/AX=0007h
SeeAlso: INT 2F/AX=FB42h/BX=0025h

Top
310210 - INT 31 P - DPMI 1.0+ - GET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
INT 31 P - DPMI 1.0+ - GET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
	AX = 0210h
	BL = exception number (00h-1Fh)
Return: CF clear if successful
	    CX:(E)DX = selector:offset of exception handler
	CF set on error
	    AX = error code (8021h) (see #03143)
Note:	DPMI host reflects exception to current client's handler
SeeAlso: AX=0202h,AX=0211h,AX=0212h

Top
310211 - INT 31 P - DPMI 1.0+ - GET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
INT 31 P - DPMI 1.0+ - GET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
	AX = 0211h
	BL = exception number (00h-1Fh)
Return: CF clear if successful
	    CX:(E)DX = selector:offset of exception handler
	CF set on error
	    AX = error code (8021h) (see #03143)
Notes:	returns address of protected-mode handler for real-mode exception
	DPMI host performs a switch to protected mode, reflects the exception
	  to the virtual machine's primary client, and returns to real mode
	  on the handler's completion
SeeAlso: AX=0202h,AX=0210h,AX=0213h

Top
310212 - INT 31 P - DPMI 1.0+ - SET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
INT 31 P - DPMI 1.0+ - SET PROTECTED MODE EXTENDED PROCESSOR EXCEPTION HANDLER
	AX = 0212h
	BL = exception or fault number (00h-1Fh)
	CX:(E)DX = exception handler selector:offset
Return: CF clear if successful
	CF set on error
	    AX = error code (8021h,8022h) (see #03143)
Note:	DPMI host sends exception to current client's handler
SeeAlso: AX=0203h,AX=0210h,AX=0213h

Top
310213 - INT 31 P - DPMI 1.0+ - SET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
INT 31 P - DPMI 1.0+ - SET REAL MODE EXTENDED PROCESSOR EXCEPTION HANDLER
	AX = 0213h
	BL = exception or fault number (00h-1Fh)
	CX:(E)DX = exception handler selector:offset
Return: CF clear if successful
	CF set on error
	    AX = error code (8021h,8022h) (see #03143)
Notes:	specifies address of protected-mode handler for real-mode exception
	DPMI host performs a switch to protected mode, reflects the exception
	  to the virtual machine's primary client, and returns to real mode
	  on the handler's completion
SeeAlso: AX=0203h,AX=0211h,AX=0212h

Top
310300 - INT 31 P - DPMI 0.9+ - SIMULATE REAL MODE INTERRUPT
INT 31 P - DPMI 0.9+ - SIMULATE REAL MODE INTERRUPT
	AX = 0300h
	BL = interrupt number
	BH = flags
	    bit 0: reset the interrupt controller and A20 line (DPMI 0.9)
		    reserved, must be 0 (DPMI 1.0+)
	    others: reserved, must be 0
	CX = number of words to copy from protected mode to real mode stack
	ES:(E)DI = selector:offset of real mode call structure (see #03148)
Return: CF clear if successful
	    real mode call structure modified (all fields except SS:SP, CS:IP
	      filled with return values from real mode interrupt)
	CF set on error
	    AX = error code (DPMI 1.0+) (8012h,8013h,8014h,8021h)(see #03143)
	protected mode stack unchanged
Notes:	16-bit programs use ES:DI as pointer, 32-bit programs use ES:EDI
	CS:IP in the real mode call structure is ignored for this call,
	  instead, the indicated interrupt vector is used for the address
	the flags in the call structure are pushed on the real mode stack to
	  form an interrupt stack frame, and the trace and interrupt flags are
	  clear on entry to the handler
	DPMI will provide a small (30 words) real mode stack if SS:SP is zero
	the real mode handler must return with the stack in the same state as
	  it was on being called
SeeAlso: AX=0302h,AX=FF01h,INT 21/AX=2511h,INT 21/AH=E3h"OS/286"
SeeAlso: INT 2C/AX=0026h,INT 2F/AX=FB42h/BX=000Dh

Format of DPMI real mode call structure:
Offset	Size	Description	(Table 03148)
 00h	DWORD	EDI
 04h	DWORD	ESI
 08h	DWORD	EBP
 0Ch	DWORD	reserved (00h)
 10h	DWORD	EBX
 14h	DWORD	EDX
 18h	DWORD	ECX
 1Ch	DWORD	EAX
 20h	WORD	flags
 22h	WORD	ES
 24h	WORD	DS
 26h	WORD	FS
 28h	WORD	GS
 2Ah	WORD	IP
 2Ch	WORD	CS
 2Eh	WORD	SP
 30h	WORD	SS

Top
310301 - INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH FAR RETURN FRAME
INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH FAR RETURN FRAME
	AX = 0301h
	BH = flags
	    bit 0: reset the interrupt controller and A20 line (DPMI 0.9)
		    reserved, must be 0 (DPMI 1.0+)
	    others: reserved must be 0
	CX = number of words to copy from protected mode to real mode stack
	ES:(E)DI = selector:offset of real mode call structure
		  (see #03148 at INT 31/AX=0300h)
Return: CF clear if successful
	    real mode call structure modified (all fields except SS:SP, CS:IP
	      filled with return values from real mode interrupt)
	CF set on error
	    AX = error code (DPMI 1.0+) (8012h,8013h,8014h,8021h)(see #03143)
	protected mode stack unchanged
Notes:	16-bit programs use ES:DI as pointer, 32-bit programs use ES:EDI
	the real mode procedure must exit with a FAR return
	DPMI will provide a small (30 words) real mode stack if SS:SP is zero
	the real mode handler must return with the stack in the same state as
	  it was on being called
SeeAlso: AX=0300h,AX=0302h,AX=FF02h,INT 21/AX=250Eh,INT 21/AH=E1h"OS/286"
SeeAlso: INT 2C/AX=0025h

Top
310302 - INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH IRET FRAME
INT 31 P - DPMI 0.9+ - CALL REAL MODE PROCEDURE WITH IRET FRAME
	AX = 0302h
	BH = flags
	    bit 0: reset the interrupt controller and A20 line (DPMI 0.9)
		    reserved, must be 0 (DPMI 1.0+)
	    others: reserved, must be 0
	CX = number of words to copy from protected mode to real mode stack
	ES:(E)DI = selector:offset of real mode call structure
		  (see #03148 at INT 31/AX=0300h)
Return: CF clear if successful
	    real mode call structure modified (all fields except SS:SP, CS:IP
	      filled with return values from real mode interrupt)
	CF set on error
	    AX = error code (DPMI 1.0+) (8012h,8013h,8014h,8021h)(see #03143)
	protected mode stack unchanged
Notes:	16-bit programs use ES:DI as pointer, 32-bit programs use ES:EDI
	the flags in the call structure are pushed on the real mode stack to
	  form an interrupt stack frame, and the trace and interrupt flags are
	  clear on entry to the handler
	the real mode procedure must exit with an IRET
	DPMI will provide a small (30 words) real mode stack if SS:SP is zero
	the real mode handler must return with the stack in the same state as
	  it was on being called
SeeAlso: AX=0300h

Top
310303 - INT 31 P - DPMI 0.9+ - ALLOCATE REAL MODE CALLBACK ADDRESS
INT 31 P - DPMI 0.9+ - ALLOCATE REAL MODE CALLBACK ADDRESS
	AX = 0303h
	DS:(E)SI = selector:offset of procedure to call
	ES:(E)DI = selector:offset of real mode call structure (see #03148)
Return: CF clear if successful
	    CX:DX = segment:offset of real mode call address (see #03149)
	CF set on error
	    AX = error code (DPMI 1.0+) (8015h) (see #03143)
Notes:	the real mode call structure is static, causing reentrancy problems;
	  its contents are only valid at the time of a callback
	the called procedure must modify the real mode CS:IP before returning
	values are returned to real mode by modifying the real mode call struc
	DPMI hosts must provide at least 16 callbacks per client
	the limited DPMI host built into Phar Lap's 286|DOS-Extender v2.5 does
	  not support this function
BUG:	Windows NT 4.0 either ignores or clears the high 16 bits of EDI,
	  causing an illegal instruction error if the real mode call
	  structure's offset in ES is greater than 64K
SeeAlso: AX=0304h,AX=0C00h

(Table 03149)
Values DPMI real-mode callback procedure is called with:
	DS:(E)SI = selector:offset of real mode SS:SP
	ES:(E)DI = selector:offset of real mode call structure
	SS:(E)SP = locked protected mode API stack
	interrupts disabled
Return: (with IRET)
	ES:(E)DI = selector:offset of real mode call structure to restore

Top
310304 - INT 31 P - DPMI 0.9+ - FREE REAL MODE CALLBACK ADDRESS
INT 31 P - DPMI 0.9+ - FREE REAL MODE CALLBACK ADDRESS
	AX = 0304h
	CX:DX = real mode callback address
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8024h) (see #03143)
Note:	the limited DPMI host built into Phar Lap's 286|DOS-Extender v2.5 does
	  not support this function
SeeAlso: AX=0303h

Top
310305 - INT 31 P - DPMI 0.9+ - GET STATE SAVE/RESTORE ADDRESSES
INT 31 P - DPMI 0.9+ - GET STATE SAVE/RESTORE ADDRESSES
	AX = 0305h
Return: CF clear
	AX = size in bytes of state buffer
	BX:CX = real mode address of procedure to save/restore state
	SI:(E)DI = protected mode procedure to save/restore state (see #03150)
Notes:	the buffer size will be zero if it is not necessary to preserve state
	16-bit programs should call SI:DI, 32-bit programs should call SI:EDI
	this function is only needed if using the raw mode switch service
SeeAlso: AX=0306h

(Table 03150)
Call DPMI state-save procedures with:
	AL = direction
	    00h save state
	    01h restore state
	ES:(E)DI -> state buffer
Return: all registers preserved

Top
310306 - INT 31 P - DPMI 0.9+ - GET RAW MODE SWITCH ADDRESSES
INT 31 P - DPMI 0.9+ - GET RAW MODE SWITCH ADDRESSES
	AX = 0306h
Return: CF clear
	BX:CX -> procedure to switch from real to protected mode (see #03151)
	SI:(E)DI -> procedure to switch from protected to real mode
Notes:	16-bit programs should jump to SI:DI, 32-bit programs should use SI:EDI
	the caller must save and restore the state of the task with AX=0305h
	not supported by MS Windows 3.0 in Standard mode
SeeAlso: AX=0305h

(Table 03151)
Values to JUMP at mode-switch procedures with:
	AX = new DS
	CX = new ES
	DX = new SS
	(E)BX = new (E)SP
	SI:(E)DI = new CS:(E)IP
Notes:	BP/EBP is preserved across the call, but AX/EAX, BX/EBX, CX/ECX,
	  DX/EDX, SI/ESI, and DI/EDI will be undefined; FS and GS will be 0000h
	interrupts will stay disabled during the entire mode switch if they
	  are disabled on entry to the mode-switch procedure

Top
310400 - INT 31 P - DPMI 0.9+ - GET DPMI VERSION
INT 31 P - DPMI 0.9+ - GET DPMI VERSION
	AX = 0400h
Return: CF clear
	AH = major version of DPMI spec supported
	AL = two-digit minor version of DPMI spec supported
	BX = DPMI host flags (see #03152)
	CL = processor type (02h=80286, 03h=80386, 04h=80486)
	DH = curr value of virtual master interrupt controller base interrupt
	DL = curr value of virtual slave interrupt controller base interrupt
BUG:	Windows NT versions from the March 1993 beta to at least the Final
	  release with fixes to CSD002 report version 0090h (0.144); this has
	  reportedly been corrected in the Windows NT 3.5 beta
SeeAlso: AX=0401h,INT 21/AX=250Ch,INT 2F/AX=1687h,INT 4B/AX=8102h/DX=0000h
SeeAlso: INT 67/AX=DE0Ah

Bitfields for DPMI host flags:
Bit(s)	Description	(Table 03152)
 0	running under an 80386 (32-bit) implementation
 1	processor returns to real mode for reflected interrupts instead of V86
	  mode
 2	virtual memory supported
 3	reserved (undefined)
 4-15	reserved (zero)

Top
310401 - INT 31 P - DPMI 1.0+ - GET DPMI CAPABILITIES
INT 31 P - DPMI 1.0+ - GET DPMI CAPABILITIES
	AX = 0401h
	ES:(E)DI -> 128-byte buffer for host description (see #03153)
Return: CF clear if successful
	    AX = capabilities (see #03154)
	    CX = reserved (00h)
	    DX = reserved (00h)
	    buffer filled
	CF set on error (DPMI 0.9 only)
SeeAlso: AX=0400h

Format of DPMI host description:
Offset	Size	Description	(Table 03153)
 00h	BYTE	host major version number
 01h	BYTE	host minor version number
 02h 126 BYTEs	ASCIZ host vendor name

Bitfields for DPMI capabilities:
Bit(s)	Description	(Table 03154)
 0	paged accessed/dirty supported (see AX=0506h,AX=0507h)
 1	exceptions restartability supported
 2	device mapping supported (see AX=0508h)
 3	conventional memory mapping supported (see AX=0509h)
 4	demand zero-fill supported
 5	write-protect client capability supported
 6	write-protect host capability supported
 7-15	reserved

Top
310500 - INT 31 P - DPMI 0.9+ - GET FREE MEMORY INFORMATION
INT 31 P - DPMI 0.9+ - GET FREE MEMORY INFORMATION
	AX = 0500h
	ES:(E)DI -> buffer for memory information (see #03155)
Return: CF clear
Notes:	16-bit programs use ES:DI, 32-bit programs use ES:EDI
	this function must be considered advisory because other applications
	  may affect the results at any time after the call
	fields not supported by the DPMI implementation are filled with
	  FFFFFFFFh
	DPMI 1.0+ supports this function solely for backward compatibility; use
	  AX=050Bh instead
	the limited DPMI host built into Phar Lap's 286|DOS-Extender v2.5 only
	  returns the first field in the memory information record
SeeAlso: AX=0501h,AX=050Bh,AX=0604h

Format of DPMI memory information:
Offset	Size	Description	(Table 03155)
 00h	DWORD	largest available block in bytes
 04h	DWORD	maximum unlocked page allocation
 08h	DWORD	maximum locked page allocation
 0Ch	DWORD	total linear address space in pages
 10h	DWORD	total unlocked pages
 14h	DWORD	free pages
 18h	DWORD	total physical pages
 1Ch	DWORD	free linear address space in pages
 20h	DWORD	size of paging file/partition in pages
 24h 12 BYTEs	reserved

Top
310501 - INT 31 P - DPMI 0.9+ - ALLOCATE MEMORY BLOCK
INT 31 P - DPMI 0.9+ - ALLOCATE MEMORY BLOCK
	AX = 0501h
	BX:CX = size in bytes
Return: CF clear if successful
	    BX:CX = linear address of block
	    SI:DI = memory block handle for resizing and freeing block
	CF set on error
	    AX = error code (DPMI 1.0+) (8012h-8014h,8016h,8021h)(see #03143)
Notes:	no selectors are allocated
	the memory block is allocated unlocked (can be locked with AX=0600h)
	allocations are often page granular (see AX=0604h)
	under MS Windows 3.10 Enhanced mode with paging enabled, it is possible
	  for this function to fail even if AX=0500h indicates that enough
	  memory is available
SeeAlso: AX=0000h,AX=0100h,AX=0500h,AX=0502h,AX=0503h,AX=0504h,AX=0D00h
SeeAlso: INT 2F/AX=FB42h/BX=0002h

Top
310502 - INT 31 P - DPMI 0.9+ - FREE MEMORY BLOCK
INT 31 P - DPMI 0.9+ - FREE MEMORY BLOCK
	AX = 0502h
	SI:DI = handle of memory block
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8023h) (see #03143)
Note:	any selectors allocated for the memory block must also be freed,
	  preferably before freeing the memory block
SeeAlso: AX=0001h,AX=0101h,AX=0501h,AX=0D01h

Top
310503 - INT 31 P - DPMI 0.9+ - RESIZE MEMORY BLOCK
INT 31 P - DPMI 0.9+ - RESIZE MEMORY BLOCK
	AX = 0503h
	BX:CX = new size in bytes (nonzero)
	SI:DI = handle of memory block
Return: CF clear if successful
	    BX:CX = new linear address
	    SI:DI = new handle of memory block
	CF set on error
	    AX = error code (DPMI 1.0+) (8012h-8014h,8016h,8021h,8023h)
		(see #03143)
Notes:	any selectors pointing at the block must be updated
	the previous memory block handle becomes invalid
	an error is returned if the new size is 0
SeeAlso: AX=0102h,AX=0501h,AX=0505h

Top
310504 - INT 31 P - DPMI 1.0+ - ALLOCATE LINEAR MEMORY BLOCK
INT 31 P - DPMI 1.0+ - ALLOCATE LINEAR MEMORY BLOCK
	AX = 0504h
	EBX = page-aligned linear address of memory block (00000000h if any
	      address is acceptable)
	ECX = size in bytes (nonzero)
	EDX = flags
	    bit 0: set to create committed pages instead of uncommitted pages
	    bits 1-31 reserved (0)
Return: CF clear if successful
	    EBX = linear address of memory block
	    ESI = memory block handle
	CF set on error
	    AX = error code (8001h,8012h-8014h,8016h,8021h,8025h)(see #03143)
Note:	only supported by 32-bit DPMI hosts, but may be used by 16-bit clients
SeeAlso: AX=0501h,AX=0505h

Top
310505 - INT 31 P - DPMI 1.0+ - RESIZE LINEAR MEMORY BLOCK
INT 31 P - DPMI 1.0+ - RESIZE LINEAR MEMORY BLOCK
	AX = 0505h
	ESI = memory block handle
	ECX = new size in bytes (nonzero)
	EDX = flags
	    bit 0: create committed pages rather than uncommitted pages
	    bit 1: segment descriptor update required
		ES:EBX -> buffer containing array of WORDs with selectors
		EDI = number of selectors in array
	    bits 2-31 reserved (0)
Return: CF clear if successful
	    EBX = new linear base address
	    ESI = new memory block handle
	CF set on error
	    AX = error code (8001h,8012h-8014h,8016h,8021h,8023h)(see #03143)
Notes:	only supported by 32-bit DPMI hosts, but may be used by 16-bit clients
	the old memory block handle becomes invalid
	if EDX bit 1 set and the block's base address is changed, DPMI updates
	  all descriptors for selectors in the update buffer which fall within
	  the memory block
SeeAlso: AX=0503h,AX=0504h

Top
310506 - INT 31 P - DPMI 1.0+ - GET PAGE ATTRIBUTES
INT 31 P - DPMI 1.0+ - GET PAGE ATTRIBUTES
	AX = 0506h
	ESI = memory block handle
	EBX = offset in memory block of first page
	ECX = number of pages
	ES:EDX -> array of WORDs to hold page attributes (see #03156)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (8001h,8023h,8025h) (see #03143)
Notes:	only supported by 32-bit DPMI hosts, but may be used by 16-bit clients
	if EBX is not page-aligned, it will be rounded down
SeeAlso: AX=0504h,AX=0507h,INT 21/AX=251Dh,INT 21/AX=EB00h

Bitfields for DPMI page attribute word:
Bit(s)	Description	(Table 03156)
 0-2	page type
	000 uncommitted
	001 committed
	010 mapped (see AX=0508h,AX=0509h)
	other currently unused
 3	page is read/write rather than read-only
 4	accessed/dirty bits supplied in bits 5 and 6
 5	page has been accessed (only valid if bit 4 set)
 6	page has been written (only valid if bit 4 set)
 7-15	reserved (0)

Top
310507 - INT 31 P - DPMI 1.0+ - MODIFY PAGE ATTRIBUTES
INT 31 P - DPMI 1.0+ - MODIFY PAGE ATTRIBUTES
	AX = 0507h
	ESI = memory block handle
	EBX = offset in memory block of first page
	ECX = number of pages
	ES:EDX -> array of WORDs with new page attributes (see #03156)
Return: CF clear if successful
	CF set on error
	    AX = error code (8001h,8002h,8013h,8014h,8021h,8023h,8025h)
		(see #03143)
	    ECX = number of pages which have been set
Notes:	only supported by 32-bit DPMI hosts, but may be used by 16-bit clients
	if EBX is not page-aligned, it will be rounded down
SeeAlso: AX=0504h,AX=0506h,INT 21/AX=251Eh

Top
310508 - INT 31 P - DPMI 1.0+ - MAP DEVICE IN MEMORY BLOCK
INT 31 P - DPMI 1.0+ - MAP DEVICE IN MEMORY BLOCK
	AX = 0508h
	ESI = memory block handle
	EBX = page-aligned offset within memory block of page(s) to be mapped
	ECX = number of pages to map
	EDX = page-aligned physical address of device
Return: CF clear if successful
	CF set on error
	    AX = error code (8001h,8003h,8023h,8025h) (see #03143)
Notes:	only supported by 32-bit DPMI hosts, but may be used by 16-bit clients
	support of this function is optional; hosts are also allowed to support
	  the function for some devices but not others
SeeAlso: AX=0504h,AX=0509h,AX=0800h,AX=0801h

Top
310509 - INT 31 P - DPMI 1.0+ - MAP CONVENTIONAL MEMORY IN MEMORY BLOCK
INT 31 P - DPMI 1.0+ - MAP CONVENTIONAL MEMORY IN MEMORY BLOCK
	AX = 0509h
	ESI = memory block handle
	EBX = page-aligned offset within memory block of page(s) to map
	ECX = number of pages to map
	EDX = page-aligned linear address of conventional (below 1M) memory
Return: CF clear if successful
	CF set on error
	    AX = error code (8001h,8003h,8023h,8025h) (see #03143)
Notes:	only supported by 32-bit DPMI hosts, but may be used by 16-bit clients
	support of this function is optional
SeeAlso: AX=0504h,AX=0508h,AX=0801h

Top
31050A - INT 31 P - DPMI 1.0+ - GET MEMORY BLOCK SIZE AND BASE
INT 31 P - DPMI 1.0+ - GET MEMORY BLOCK SIZE AND BASE
	AX = 050Ah
	SI:DI = memory block handle
Return: CF clear if successful
	    SI:DI = size in bytes
	    BX:CX = base address
	CF set on error
	    AX = error code (8023h) (see #03143)
SeeAlso: AX=0501h,AX=0504h

Top
31050B - INT 31 P - DPMI 1.0+ - GET MEMORY INFORMATION
INT 31 P - DPMI 1.0+ - GET MEMORY INFORMATION
	AX = 050Bh
	ES:(E)DI -> 128-byte buffer for memory information (see #03157)
Return: CF clear if successful
	CF set on error (DPMI 0.9 only)
Note:	16-bit programs use ES:DI, 32-bit programs must use ES:EDI
SeeAlso: AX=0500h

Format of DPMI memory information:
Offset	Size	Description	(Table 03157)
 00h	DWORD	total allocated bytes of physical memory controlled by host
 04h	DWORD	total allocated bytes of virtual memory controlled by host
 08h	DWORD	total available bytes of virtual memory controlled by host
 0Ch	DWORD	total allocated bytes of virtual memory for curr virtual mach
 10h	DWORD	total available bytes of virtual memory for curr virtual mach
 14h	DWORD	total allocated bytes of virtual memory for current client
 18h	DWORD	total available bytes of virtual memory for current client
 1Ch	DWORD	total locked bytes for current client
 20h	DWORD	maximum locked bytes for current client
 24h	DWORD	highest linear address available to current client
 28h	DWORD	largest available memory block in bytes
 2Ch	DWORD	minimum allocation unit in bytes
 30h	DWORD	allocation alignment unit size in bytes
 34h 76 BYTEs	reserved (00h)

Top
310600 - INT 31 P - DPMI 0.9+ - LOCK LINEAR REGION
INT 31 P - DPMI 0.9+ - LOCK LINEAR REGION
	AX = 0600h
	BX:CX = starting linear address
	SI:DI = size of region in bytes
Return: CF clear if successful
	CF set on error
	    none of the memory is locked
	    AX = error code (DPMI 1.0+) (8013h,8017h,8025h) (see #03143)
Notes:	pages at beginning and end will be locked if the region overlaps them
	may be called multiple times for a given page; the DPMI host keeps a
	  lock count for each page
SeeAlso: AX=0004h,AX=0601h,INT 21/AX=251Ah,INT 21/AX=EB06h

Top
310601 - INT 31 P - DPMI 0.9+ - UNLOCK LINEAR REGION
INT 31 P - DPMI 0.9+ - UNLOCK LINEAR REGION
	AX = 0601h
	BX:CX = starting linear address
	SI:DI = size of region in bytes
Return: CF clear if successful
	CF set on error
	    none of the memory is unlocked
	    AX = error code (DPMI 1.0+) (8002h,8025h) (see #03143)
Notes:	pages at beginning and end will be unlocked if the region overlaps them
	memory whose lock count has not reached zero remains locked
SeeAlso: AX=0005h,AX=0600h,INT 21/AX=251Bh,INT 21/AX=EB07h

Top
310602 - INT 31 P - DPMI 0.9+ - MARK REAL MODE REGION AS PAGEABLE
INT 31 P - DPMI 0.9+ - MARK REAL MODE REGION AS PAGEABLE
	AX = 0602h
	BX:CX = starting linear address
	SI:DI = size of region in bytes
Return: CF clear if successful
	CF set on error
	    none of the memory is made pageable
	    AX = error code (DPMI 1.0+) (8002h,8025h) (see #03143)
Notes:	must relock all unlocked real mode memory before terminating process
	  for DPMI 0.9; DPMI 1.0+ automatically relocks real mode memory
	pages at beginning and end will be unlocked if the region overlaps them
	pageability of real mode pages is binary, not a count
SeeAlso: AX=0600h,AX=0603h

Top
310603 - INT 31 P - DPMI 0.9+ - RELOCK REAL MODE REGION
INT 31 P - DPMI 0.9+ - RELOCK REAL MODE REGION
	AX = 0603h
	BX:CX = starting linear address
	SI:DI = size of region in bytes
Return: CF clear if successful
	CF set on error
	    none of the memory is relocked
	    AX = error code (DPMI 1.0+) (8002h,8013h,8025h) (see #03143)
Notes:	pages at beginning and end will be relocked if the region overlaps them
	pageability of real mode pages is binary, not a count
SeeAlso: AX=0602h

Top
310604 - INT 31 P - DPMI 0.9+ - GET PAGE SIZE
INT 31 P - DPMI 0.9+ - GET PAGE SIZE
	AX = 0604h
Return: CF clear if successful
	    BX:CX = page size in bytes
	CF set on error
	    AX = error code (DPMI 1.0+) (see also #03143)
		8001h unsupported, 16-bit host
BUG:	the Borland C++ 3.1 DPMILOAD returns with CF clear but BX and CX
	  unchanged

Top
310700 - INT 31 Pu - DPMI 0.9+ - MARK PAGES AS PAGING CANDIDATES
INT 31 Pu - DPMI 0.9+ - MARK PAGES AS PAGING CANDIDATES
	AX = 0700h
	BX:CX = starting linear page number
	SI:DI = number of pages to mark as paging candidates
Return: ???
Note:	although marked as reserved in versions 0.9 and 1.0 of the DPMI
	  specification, this function is called by MS Windows TASKMAN,
	  PROGMAN, and KERNEL
SeeAlso: AX=0701h,AX=0702h

Top
310701 - INT 31 Pu - DPMI 0.9+ - DISCARD PAGES
INT 31 Pu - DPMI 0.9+ - DISCARD PAGES
	AX = 0701h
	BX:CX = starting linear page number
	SI:DI = number of pages to discard
Return: ???
Note:	although marked as reserved in versions 0.9 and 1.0 of the DPMI
	  specification, this function is called by MS Windows TASKMAN,
	  PROGMAN, and KERNEL
SeeAlso: AX=0700h,AX=0703h

Top
310702 - INT 31 P - DPMI 0.9+ - MARK PAGE AS DEMAND PAGING CANDIDATE
INT 31 P - DPMI 0.9+ - MARK PAGE AS DEMAND PAGING CANDIDATE
	AX = 0702h
	BX:CX = starting linear address
	SI:DI = number of bytes to mark as paging candidates
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8025h) (see #03143)
Notes:	this function is advisory, and does not force immediate paging
	partial pages will not be discarded
SeeAlso: AX=0700h,AX=0703h

Top
310703 - INT 31 P - DPMI 0.9+ - DISCARD PAGE CONTENTS
INT 31 P - DPMI 0.9+ - DISCARD PAGE CONTENTS
	AX = 0703h
	BX:CX = starting linear address
	SI:DI = number of bytes to mark as discarded
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8025h) (see #03143)
Notes:	this function is advisory, and may be ignored by DPMI implementations
	partial pages will not be discarded
SeeAlso: AX=0701h,AX=0702h

Top
310800 - INT 31 P - DPMI 0.9+ - PHYSICAL ADDRESS MAPPING
INT 31 P - DPMI 0.9+ - PHYSICAL ADDRESS MAPPING
	AX = 0800h
	BX:CX = physical address (should be above 1 MB)
	SI:DI = size in bytes
Return: CF clear if successful
	    BX:CX = linear address which maps the requested physical memory
	CF set on error
	    AX = error code (DPMI 1.0+) (8003h,8021h) (see #03143)
Notes:	implementations may refuse this call because it can circumvent protects
	the caller must build an appropriate selector for the memory
	do not use for memory mapped in the first megabyte
SeeAlso: AX=0002h,AX=0508h,AX=0509h,AX=0801h,INT 21/AX=250Ah,INT 21/AX=EB05h

Top
310801 - INT 31 P - DPMI 1.0+ - FREE PHYSICAL ADDRESS MAPPING
INT 31 P - DPMI 1.0+ - FREE PHYSICAL ADDRESS MAPPING
	AX = 0801h
	BX:CX = linear address returned by AX=0800h
Return: CF clear if successful
	CF set on error
	    AX = error code (8025h) (see #03143)
Note:	should be called at end of access to device mapped with AX=0800h
SeeAlso: AX=0508h,AX=0509h,AX=0800h,INT 21/AX=EB03h

Top
310900 - INT 31 P - DPMI 0.9+ - GET AND DISABLE VIRTUAL INTERRUPT STATE
INT 31 P - DPMI 0.9+ - GET AND DISABLE VIRTUAL INTERRUPT STATE
	AX = 0900h
Return: CF clear
	virtual interrupts disabled
	AL = previous interrupt state (00h disabled, 01h enabled)
	AH preserved
Notes:	the previous state may be restored simply by executing another INT 31
	a CLI instruction may be used if the previous state is unimportant,
	  but should be assumed to be very slow due to trapping by the host
SeeAlso: AX=0901h,AX=0902h

Top
310901 - INT 31 P - DPMI 0.9+ - GET AND ENABLE VIRTUAL INTERRUPT STATE
INT 31 P - DPMI 0.9+ - GET AND ENABLE VIRTUAL INTERRUPT STATE
	AX = 0901h
Return: CF clear
	virtual interrupts enabled
	AL = previous interrupt state (00h disabled, 01h enabled)
	AH preserved
Notes:	the previous state may be restored simply by executing another INT 31
	a STI instruction may be used if the previous state is unimportant,
	  but should be assumed to be very slow due to trapping by the host
SeeAlso: AX=0900h,AX=0902h

Top
310902 - INT 31 P - DPMI 0.9+ - GET VIRTUAL INTERRUPT STATE
INT 31 P - DPMI 0.9+ - GET VIRTUAL INTERRUPT STATE
	AX = 0902h
Return: CF clear
	AL = current interrupt state (00h disabled, 01h enabled)
Note:	should be used rather than PUSHF because that instruction yields the
	  physical interrupt state rather than the per-client virtualized
	  interrupt flag
SeeAlso: AX=0900h,AX=0901h

Top
310A00 - INT 31 P - DPMI 0.9+ - GET VENDOR SPECIFIC API ENTRY POINT
INT 31 P - DPMI 0.9+ - GET VENDOR SPECIFIC API ENTRY POINT
	AX = 0A00h
	DS:(E)SI -> case-sensitive ASCIZ vendor name or identifier
Return: CF clear if successful
	    ES:(E)DI -> FAR extended API entry point
	    DS, FS, GS, EAX, EBX, ECX, EDX, ESI, EBP destroyed
	CF set on error
	    AX = error code (DPMI 1.0+) (8001h) (see #03143)
Notes:	extended API parameters are vendor-specific
	DPMI 1.0+ supports this function solely for backward compatibility; use
	  INT 2F/AX=168Ah instead
	this function is not supported by MS Windows 3.10, BC++ 3.1 DPMILOAD,
	  or QDPMI v1.0x; use INT 2F/AX=168Ah instead.	It is supported by
	  386MAX v7.01.
SeeAlso: INT 2F/AX=168Ah

Top
310B00 - INT 31 P - DPMI 0.9+ - SET DEBUG WATCHPOINT
INT 31 P - DPMI 0.9+ - SET DEBUG WATCHPOINT
	AX = 0B00h
	BX:CX = linear address
	DL = size (1,2,4 bytes)
	DH = type (00h execute, 01h write, 02h read/write)
Return: CF clear if successful
	    BX = watchpoint handle
	CF set on error
	    AX = error code (DPMI 1.0+) (8016h,8021h,8025h) (see #03143)
SeeAlso: AX=0212h,AX=0601h

Top
310B01 - INT 31 P - DPMI 0.9+ - CLEAR DEBUG WATCHPOINT
INT 31 P - DPMI 0.9+ - CLEAR DEBUG WATCHPOINT
	AX = 0B01h
	BX = watchpoint handle
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8023h) (see #03143)
Note:	the watchpoint handle is freed
SeeAlso: AX=0B00h

Top
310B02 - INT 31 P - DPMI 0.9+ - GET STATE OF DEBUG WATCHPOINT
INT 31 P - DPMI 0.9+ - GET STATE OF DEBUG WATCHPOINT
	AX = 0B02h
	BX = watchpoint handle
Return: CF clear if successful
	    AX = status flags
		bit 0: watch point has been executed since AX=0B00h or AX=0B03h
	CF set on error
	    AX = error code (DPMI 1.0+) (8023h) (see #03143)
SeeAlso: AX=0B00h,AX=0B03h

Top
310B03 - INT 31 P - DPMI 0.9+ - RESET DEBUG WATCHPOINT
INT 31 P - DPMI 0.9+ - RESET DEBUG WATCHPOINT
	AX = 0B03h
	BX = watchpoint handle
Return: CF clear if successful
	CF set on error
	    AX = error code (DPMI 1.0+) (8023h) (see #03143)
SeeAlso: AX=0B02h

Top
310C00 - INT 31 P - DPMI 1.0+ - INSTALL RESIDENT HANDLER INIT CALLBACK
INT 31 P - DPMI 1.0+ - INSTALL RESIDENT HANDLER INIT CALLBACK
	AX = 0C00h
	ES:(E)DI -> resident service provider structure (see #03158)
Return: CF clear if successful
	CF set on error
	    AX = error code (8015h,8021h,8025h) (see #03143 at AX=0000h)
Note:	calling this function declares an intent to provide resident
	  protected mode services after terminating with AX=0C01h
SeeAlso: AX=0303h,AX=0C01h

Format of DPMI resident service provider structure:
Offset	Size	Description	(Table 03158)
 00h	QWORD	descriptor for 16-bit data segment
 08h	QWORD	descriptor for 16-bit code segment (zeros if not supported)
 10h	WORD	offset of 16-bit callback procedure
 12h  2 BYTEs	reserved
 14h	QWORD	descriptor for 32-bit data segment
 1Ch	QWORD	descriptor for 32-bit code segment (zeros if not supported)
 24h	DWORD	offset of 32-bit callback procedure

Top
310C01 - INT 31 P - DPMI 1.0+ - TERMINATE AND STAY RESIDENT
INT 31 P - DPMI 1.0+ - TERMINATE AND STAY RESIDENT
	AX = 0C01h
	BL = return code
	DX = number of paragraphs of DOS memory to reserve (0 or >= 6)
Return: never
Notes:	should only be used if the program will only provide services to
	  other DPMI programs
	any protected mode memory remains allocated to the program unless
	  explicitly freed before this call
	must first call AX=0C00h or program will simply be terminated
SeeAlso: AX=0C00h,INT 21/AH=31h

Top
310D00 - INT 31 P - DPMI 1.0+ - ALLOCATE SHARED MEMORY
INT 31 P - DPMI 1.0+ - ALLOCATE SHARED MEMORY
	AX = 0D00h
	ES:(E)DI -> shared memory allocation request structure (see #03159)
Return: CF clear if successful
	    request structure updated
	CF set on error
	    AX = error code (8012h,8013h,8014h,8016h,8021h) (see #03143)
Note:	first 16 bytes of memory block will be initialized to zeros on the
	  first allocation
SeeAlso: AX=0501h,AX=0D01h,AX=0D02h

Format of DPMI shared memory allocation request structure:
Offset	Size	Description	(Table 03159)
 00h	DWORD	requested length of shared memory block in bytes
 04h	DWORD	(ret) allocated length of block
 08h	DWORD	(ret) shared memory handle
 0Ch	DWORD	(ret) linear address of memory block
 10h	PWORD	selector:offset32 of ASCIZ name for memory block
		(name max 128 bytes)
 16h  2 BYTEs	reserved
 18h  4 BYTEs	reserved (00h)

Top
310D01 - INT 31 P - DPMI 1.0+ - FREE SHARED MEMORY
INT 31 P - DPMI 1.0+ - FREE SHARED MEMORY
	AX = 0D01h
	SI:DI = shared memory block handle
Return: CF clear if successful
	CF set on error
	    AX = error code (8023h) (see #03143)
Notes:	handle becomes invalid after this call
	DPMI maintains separate global and virtual machine use counts for each
	  shared memory block; when the global use counts reaches zero, the
	  block is finally destroyed
SeeAlso: AX=0502h,AX=0D00h

Top
310D02 - INT 31 P - DPMI 1.0+ - SERIALIZE SHARED MEMORY
INT 31 P - DPMI 1.0+ - SERIALIZE SHARED MEMORY
	AX = 0D02h
	SI:DI = shared memory block handle
	DX = flags
	    bit 0: return immediately rather than suspending if serialization
		  unavailable
	    bit 1: shared rather than exclusive serialization
	    bits 2-15 reserved (0)
Return: CF clear if successful
	CF set on error
	    AX = error code (8004h,8005h,8017h-8019h,8023h) (see #03143)
Notes:	an exclusive serialization blocks any other serialization attempts for
	  the same block by another virtual machine; a shared serialization
	  blocks attempts at exclusive serialization by another virtual machine
	hosts are not required to detect deadlock
	a client's interrupt handler can cancel a serialization call which
	  caused it to block by calling AX=0D03h
SeeAlso: AX=0D00h,AX=0D03h

Top
310D03 - INT 31 P - DPMI 1.0+ - FREE SERIALIZATION ON SHARED MEMORY
INT 31 P - DPMI 1.0+ - FREE SERIALIZATION ON SHARED MEMORY
	AX = 0D03h
	SI:DI = shared memory block handle
	DX = flags
	    bit 0: release shared serialization rather than exclusive serialztn
	    bit 1: free pending serialization
	    bits 2-15 reserved (0)
Return: CF clear if successful
	CF set on error
	    AX = error code (8002h,8023h) (see #03143 at AX=0000h)
SeeAlso: AX=0D00h,AX=0D02h

Top
310E00 - INT 31 P - DPMI 1.0+ - GET COPROCESSOR STATUS
INT 31 P - DPMI 1.0+ - GET COPROCESSOR STATUS
	AX = 0E00h
Return: CF clear
	AX = coprocessor status (see #03160)
Note:	supported by 386MAX v6.01, which otherwise only supports DPMI 0.9
SeeAlso: AX=0E01h

Bitfields for DPMI coprocessor status:
Bit(s)	Description	(Table 03160)
 0	numeric coprocessor enabled for current client
 1	client is emulating coprocessor
 2	numeric coprocessor is present
 3	host is emulating coprocessor instructions
 4-7	coprocessor type
	0000 none
	0010 80287
	0011 80387
	0100 80486 with numeric coprocessor
	other reserved
 8-15	not used

Top
310E01 - INT 31 P - DPMI 1.0+ - SET EMULATION
INT 31 P - DPMI 1.0+ - SET EMULATION
	AX = 0E01h
	BX = coprocessor flag bits (see #03161)
Return: CF clear if successful
	CF set on error
	    AX = error code (8026h) (see #03143 at AX=0000h)
Note:	supported by 386MAX v6.01, which otherwise only supports DPMI 0.9
SeeAlso: AX=0E00h

Bitfields for DPMI coprocessor flags:
Bit(s)	Description	(Table 03161)
 0	enable numeric coprocessor for current client
 1	client will emulate coprocessor
 2-15	not used

Top
3157 - INT 31 - Netroom3 DPMI.EXE v3.00 - ???
INT 31 - Netroom3 DPMI.EXE v3.00 - ???
	AH = 57h
	AL = subfunction (at least 02h,03h,04h,05h,07h,08h,09h,0Ah)
	???
Return: ???
SeeAlso: INT 2C/AX=0000h"Cloaking"

Top
315702 - INT 31 - Netroom3 DPMI.EXE v3.00 - SWITCH TO PROTECTED MODE
INT 31 - Netroom3 DPMI.EXE v3.00 - SWITCH TO PROTECTED MODE
	AX = 5702h
	DX = PSP segment of caller
	STACK: WORD	???
	       WORD	flags (bit 0 set if 32-bit program)
Return: as for DPMI mode-switch entry point (see #02718 at INT 2F/AX=1687h)
Note:	this function is called by the real-mode DPMI mode-switch entry point
SeeAlso: INT 2F/AX=1687h

Top
31EE00 - INT 31 - DOS32 v3.0+ - GET DOS32 VERSION AND SELECTOR VALUES
INT 31 - DOS32 v3.0+ - GET DOS32 VERSION AND SELECTOR VALUES
	AX = EE00h
Return: AL = minor version (BCD)
	AH = major version (BCD)
	DL = system type (1=raw DOS, 2=XMS, 4=VCPI, 8=DPMI)
	BX = selector of 4GB data segment with zero base address
Program: DOS32 is a 32 bit DOS extender by Adam Seychell.
SeeAlso: AX=EE02h

Top
31EE02 - INT 31 - DOS32 v3.0+ - GET DOS32 ADDRESS INFORMATION
INT 31 - DOS32 v3.0+ - GET DOS32 ADDRESS INFORMATION
	AX = EE02h
Return: AX = real-mode segment of temporary 8K buffer (v3.1+)
	EBX = 32bit linear address of the program segment
	EDX = Total size in bytes of the programs .EXE file after linking.
	ESI = offset address of PSP
	EDI = offset address of program environment
	ECX = offset address of the program's .EXE ASCIZ file name and path
SeeAlso: AX=EE00h,AX=EE20h

Top
31EE10 - INT 31 - DOS32 v3.2+ - SET UP A DOS32 LOADABLE LIBRARY
INT 31 - DOS32 v3.2+ - SET UP A DOS32 LOADABLE LIBRARY
	AX = EE10h
	EDX -> library ASCIZ path\filename
	EBX = number of bytes to seek from beginning of file
Return: CF clear if successful
	    EAX = size of memory block required to store library
	    EBX = size of library file
	CF set on error
	    AL = error code.
		01h error opening or reading file
		02h bad DOS32 library file
SeeAlso: AX=EE00h,AX=EE11h

Top
31EE11 - INT 31 - DOS32 v3.2+ - LOAD LIBRARY FILE
INT 31 - DOS32 v3.2+ - LOAD LIBRARY FILE
	AX = EE11h
	EDX -> near pointer of memory block to store library
Return: CF clear if successful
	    EDX = near pointer to the dynamic library public
	CF set on error
Note:	must first successfuly call function AX=EE10h before calling this
	  function
SeeAlso: AX=EE00h,AX=EE10h

Top
31EE20 - INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH RETF STACK FRAME
INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH RETF STACK FRAME
	AX = EE20h
	ESI = offset of the real mode call back function
Return: CF clear if successful
	    CX:DX = real mode address to call up to the protected mode
		  procedure
	CF set on error
SeeAlso: AX=EE00h,AX=EE02h,AX=EE21h

Top
31EE21 - INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH IRET STACK FRAME
INT 31 - DOS32 v3.0+ - GET REAL MODE CALL BACK ADDRESS WITH IRET STACK FRAME
	AX = EE21h
	ESI = offset of the real mode call back function
Return: CF clear if successful
	    CX:DX = real mode address to call up to the protected mode
		  procedure
	CF set on error
SeeAlso: AX=EE20h

Top
31EE30 - INT 31 - DOS32 v3.0+ - TERMINATE AND STAY RESIDENT
INT 31 - DOS32 v3.0+ - TERMINATE AND STAY RESIDENT
	AX = EE30h
SeeAlso: AX=EE21h,AX=EE40h,INT 21/AH=31h

Top
31EE40 - INT 31 - DOS32 v3.0+ - UNDO PREVIOUS MEMORY ALLOCATION or DMA BUFFER
INT 31 - DOS32 v3.0+ - UNDO PREVIOUS MEMORY ALLOCATION or DMA BUFFER
	AX = EE40h
Return: CF clear if successful
	CF set on error
SeeAlso: AX=EE41h,AX=EE42h

Top
31EE41 - INT 31 - DOS32 v3.0+ - ALLOCATE 16KB DMA BLOCK
INT 31 - DOS32 v3.0+ - ALLOCATE 16KB DMA BLOCK
	AX = EE41h
Return: CF clear if successful
	    EBX -> 16KB DMA block (physical address)
	    EDX -> 16KB DMA block (offset address)
	CF set on error
SeeAlso: AX=EE40h,AX=EE42h

Top
31EE42 - INT 31 - DOS32 v3.0+ - ALLOCATE MEMORY BLOCK
INT 31 - DOS32 v3.0+ - ALLOCATE MEMORY BLOCK
	AX = EE42h
	EDX = size in bytes
Return: CF clear if successful
	    EAX = size in bytes
	    EDX -> memory block
	CF set on error
Note:	size is rounded off to the next 4KB boundary
SeeAlso: AX=EE40h,AX=EE41h

Top
31FF00 - INT 31 P - CauseWay - "Info" - GET SYSTEM SELECTORS/FLAGS
INT 31 P - CauseWay - "Info" - GET SYSTEM SELECTORS/FLAGS
	AX = FF00h
Return: AX = selector for flag address space (base 00000000h, limit 4GB)
	BX = selector for current PSP segment (limit 0100h)
	(E)CX = size of DOS transfer buffer (max 64K)
	DX = real-mode segment address of DOS transfer buffer
	ES:(E)SI = protected-mode address of DOS transfer buffer
	EDI = system flags (see #03162)
Program: CauseWay is a 386 DOS extender by Michael Devore and John Wildsmith
	  for use with Watcom C++ or assembly language programs
Notes:	the entire transfer buffer can be addressed with a 16-bit offset in
	  protected mode
	CauseWay always maps selector 0040h to the BIOS data segment at
	  real-mode segment 0040h; when not running under a DPMI host, CauseWay
	  also provides selectors A000h, B000h, and B800h mapped to video
	  memory
SeeAlso: AX=FF25h

Bitfields for CauseWay system flags:
Bit(s)	Description	(Table 03162)
 0	32-bit code
 1	virtual memory manage enabled
 3-2	mode: 00 raw extended memory, 01 VCPI, 10 DPMI
 4	DPMI available
 5	VCPI available
 6	no memory managers
 7	application descriptor table type: 0 = GDT, 1 = LDT
 14-8	reserved
 15	debugging engine present

Top
31FF01 - INT 31 P - CauseWay - "IntXX" - SIMULATE REAL-MODE INTERRUPT
INT 31 P - CauseWay - "IntXX" - SIMULATE REAL-MODE INTERRUPT
	AX = FF01h
	BL = interrupt number
	ES:(E)DI -> real-mode register list (see #03148 at AX=0300h)
Return: register list updated
Note:	CauseWay fills in the values for SS, SP, and FLAGS itself, and ignores
	  the values specified for CS and IP
SeeAlso: AX=0300h,AX=FF02h

Top
31FF02 - INT 31 P - CauseWay - "FarCallReal" - SIMULATE REAL-MODE FAR CALL
INT 31 P - CauseWay - "FarCallReal" - SIMULATE REAL-MODE FAR CALL
	AX = FF02h
	ES:(E)DI -> real-mode register list (see #03148 at AX=0300h)
Return: register list updated
SeeAlso: AX=0301h,AX=FF01h

Top
31FF03 - INT 31 P - CauseWay - "GetSel" - ALLOCATE NEW SELECTOR
INT 31 P - CauseWay - "GetSel" - ALLOCATE NEW SELECTOR
	AX = FF03h
Return: CF clear if successful
	    BX = new selector
	CF set on error
Note:	the new selector is initialized with a base address of 000000h, a limit
	  of 0000h, and attributes read/write expand-up data
SeeAlso: AX=FF04h,AX=FF05h,AX=FF06h

Top
31FF04 - INT 31 P - CauseWay - "RelSel" - RELEASE A SELECTOR
INT 31 P - CauseWay - "RelSel" - RELEASE A SELECTOR
	AX = FF04h
	BX = selector
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF03h,AX=FF06h

Top
31FF05 - INT 31 P - CauseWay - "CodeSel" - CONVERT SELECTOR TO EXECUTABLE CODE SELECTOR
INT 31 P - CauseWay - "CodeSel" - CONVERT SELECTOR TO EXECUTABLE CODE SELECTOR
	AX = FF05h
	BX = selector
	CL = default operation size (00h = 16-bit, 01h = 32-bit)
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF03h

Top
31FF06 - INT 31 P - CauseWay - "AliasSel" - CREATE READ/WRITE DATA ALIAS SELECTOR
INT 31 P - CauseWay - "AliasSel" - CREATE READ/WRITE DATA ALIAS SELECTOR
	AX = FF06h
	BX = original selector
Return: CF clear if successful
	    AX = new data selector aliasing original selector
	CF set on error
SeeAlso: AX=FF03h,AX=FF04h

Top
31FF07 - INT 31 P - CauseWay - "GetSelDet" - GET SELECTOR BASE AND LIMIT
INT 31 P - CauseWay - "GetSelDet" - GET SELECTOR BASE AND LIMIT
	AX = FF07h
	BX = selector
Return: CF clear if successful
	    CX:DX = base address
	    SI:DI = limit (bytes)
	CF set on error
SeeAlso: AX=FF08h,AX=FF09h

Top
31FF08 - INT 31 P - CauseWay - "GetSelDet32" - GET SELECTOR BASE AND LIMIT (32-bit)
INT 31 P - CauseWay - "GetSelDet32" - GET SELECTOR BASE AND LIMIT (32-bit)
	AX = FF08h
Return: CF clear if successful
	    EDX = base address
	    ECX = limit (bytes)
	CF set on error
SeeAlso: AX=FF07h,AX=FF0Ah

Top
31FF09 - INT 31 P - CauseWay - "SetSelDet" - SET SELECTOR BASE AND LIMIT
INT 31 P - CauseWay - "SetSelDet" - SET SELECTOR BASE AND LIMIT
	AX = FF09h
	BX = selector
	CX:DX = new base address
	SI:DI = new byte-granular limit
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF07h,AX=FF0Ah

Top
31FF0A - INT 31 P - CauseWay - "SetSelDet32" - SET SELECTOR BASE AND LIMIT (32-bit)
INT 31 P - CauseWay - "SetSelDet32" - SET SELECTOR BASE AND LIMIT (32-bit)
	AX = FF0Ah
	BX = selector
	EDX = new base address
	ECX = new byte-granular limit
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF08h,AX=FF09h

Top
31FF0B - INT 31 P - CauseWay - "GetMem" - ALLOCATE BLOCK OF MEMORY
INT 31 P - CauseWay - "GetMem" - ALLOCATE BLOCK OF MEMORY
	AX = FF0Bh
	CX:DX = size in bytes (FFFFh:FFFFh to get size of largest available)
Return: CF clear if successful
	    BX = selector for accessing block if requested size not FFFFh:FFFFh
	    CX:DX = size of largest available block if requested FFFFh:FFFFh
	CF set on error
SeeAlso: AX=FF0Ch,AX=FF0Dh,AX=FF0Fh,AX=FF10h,AX=FF2Ch

Top
31FF0C - INT 31 P - CauseWay - "GetMem32" - ALLOCATE BLOCK OF MEMORY (32-bit)
INT 31 P - CauseWay - "GetMem32" - ALLOCATE BLOCK OF MEMORY (32-bit)
	AX = FF0Ch
	ECX = size in bytes (FFFFFFFFh to get size of largest available block)
Return: CF clear if successful
	    BX = selector for accessing block if requested size not FFFFh:FFFFh
	    ECX = size of largest available block if requested FFFFh:FFFFh
	CF set on error
SeeAlso: AX=FF0Bh,AX=FF0Eh,AX=FF0Fh,AX=FF11h

Top
31FF0D - INT 31 P - CauseWay - "ResMem" - RESIZE MEMORY BLOCK
INT 31 P - CauseWay - "ResMem" - RESIZE MEMORY BLOCK
	AX = FF0Dh
	BX = selector for block to be resized
	CX:DX = new size in bytes
Return: CF clear if successful
	CF set on error
Note:	the memory block may have to be copied to another location in order
	  to satisfy the requested new size, in which case the base address
	  of the selector is updated
SeeAlso: AX=FF0Bh,AX=FF0Eh,AX=FF12h

Top
31FF0E - INT 31 P - CauseWay - "ResMem32" - RESIZE MEMORY BLOCK (32-bit)
INT 31 P - CauseWay - "ResMem32" - RESIZE MEMORY BLOCK (32-bit)
	AX = FF0Eh
	BX = selector for block to be resized
	ECX = new size in bytes
Return: CF clear if successful
	CF set on error
Note:	the memory block may have to be copied to another location in order
	  to satisfy the requested new size, in which case the base address
	  of the selector is updated
SeeAlso: AX=FF0Ch,AX=FF0Dh,AX=FF13h

Top
31FF0F - INT 31 P - CauseWay - "RelMem" - RELEASE PREVIOUSLY ALLOCATED MEMORY
INT 31 P - CauseWay - "RelMem" - RELEASE PREVIOUSLY ALLOCATED MEMORY
	AX = FF0Fh
	BX = selector for block to be released
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF0Bh,AX=FF0Ch,AX=FF14h

Top
31FF10 - INT 31 P - CauseWay - "GetMemLinear" - ALLOCATE MEMORY WITHOUT SELECTOR
INT 31 P - CauseWay - "GetMemLinear" - ALLOCATE MEMORY WITHOUT SELECTOR
	AX = FF10h
	CX:DX = size of block in bytes
Return: CF clear if successful
	    SI:DI = linear address of allocated block
	CF set on error
Note:	this function may return addresses above 16M
SeeAlso: AX=FF0Bh,AX=FF11h,AX=FF12h,AX=FF14h

Top
31FF11 - INT 31 P - CauseWay - "GetMemLinear32" - ALLOCATE MEMORY WITHOUT SELECTOR
INT 31 P - CauseWay - "GetMemLinear32" - ALLOCATE MEMORY WITHOUT SELECTOR
	AX = FF11h
	ECX = size of block in bytes
Return: CF clear if successful
	    ESI = linear address of allocated block
	CF set on error
Note:	this function may return addresses above 16M
SeeAlso: AX=FF0Ch,AX=FF10h,AX=FF13h,AX=FF14h

Top
31FF12 - INT 31 P - CauseWay - "ResMemLinear" - RESIZE LINEAR MEMORY BLOCK
INT 31 P - CauseWay - "ResMemLinear" - RESIZE LINEAR MEMORY BLOCK
	AX = FF12h
	CX:DX = new size in bytes
	SI:DI = linear address of block to be resized
Return: CF clear if successful
	   SI:DI = new linear address of block
	CF set on error
SeeAlso: AX=FF0Dh,AX=FF10h,AX=FF13h

Top
31FF13 - INT 31 P - CauseWay - "ResMemLinear32" - RESIZE LINEAR MEMORY BLOCK (32-bit)
INT 31 P - CauseWay - "ResMemLinear32" - RESIZE LINEAR MEMORY BLOCK (32-bit)
	AX = FF13h
	ECX = new size in bytes
	ESI = linear address of block to be resized
Return: CF clear if successful
	   ESI = new linear address of block
	CF set on error
SeeAlso: AX=FF0Eh,AX=FF11h,AX=FF12h

Top
31FF14 - INT 31 P - CauseWay - "RelMemLinear" - RELEASE LINEAR MEMORY BLOCK
INT 31 P - CauseWay - "RelMemLinear" - RELEASE LINEAR MEMORY BLOCK
	AX = FF14h
	SI:DI = linear address of block to be released
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF0Fh,AX=FF10h,AX=FF15h

Top
31FF15 - INT 31 P - CauseWay - "RelMemLinear32" - RELEASE LINEAR MEMORY BLOCK (32-bit)
INT 31 P - CauseWay - "RelMemLinear32" - RELEASE LINEAR MEMORY BLOCK (32-bit)
	AX = FF15h
	ESI = linear address of block to be released
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF0Fh,AX=FF11h,AX=FF15h

Top
31FF16 - INT 31 P - CauseWay - "GetMemNear" - ALLOCATE APPLICATION-RELATIVE MEMORY
INT 31 P - CauseWay - "GetMemNear" - ALLOCATE APPLICATION-RELATIVE MEMORY
	AX = FF16h
	EBX = size in bytes of block to allocate
Return: CF clear if successful
	   ESI = application-relative linear address of allocated block
	CF set on error
SeeAlso: AX=FF17h,AX=FF18h,AX=FF19h

Top
31FF17 - INT 31 P - CauseWay - "ResMemNear" - RESIZE APPLICATION-RELATIVE MEMORY BLOCK
INT 31 P - CauseWay - "ResMemNear" - RESIZE APPLICATION-RELATIVE MEMORY BLOCK
	AX = FF17h
	EBX = size in bytes of block to allocate
	ESI = application-relative linear address of block
Return: CF clear if successful
	    ESI = new application-relative linear address of block
	CF set on error
SeeAlso: AX=FF16h,AX=FF18h,AX=FF19h

Top
31FF18 - INT 31 P - CauseWay - "RelMemNear" - RELEASE APPLICATION-RELATIVE MEMORY BLOCK
INT 31 P - CauseWay - "RelMemNear" - RELEASE APPLICATION-RELATIVE MEMORY BLOCK
	AX = FF18h
	ESI = application-relative linear address of block
Return: CF clear if successful
	CF set on error
SeeAlso: AX=FF16h,AX=FF17h,AX=FF19h

Top
31FF19 - INT 31 P - CauseWay - "Linear2Near" - CONVERT LINEAR TO APP-RELATIVE ADDRESS
INT 31 P - CauseWay - "Linear2Near" - CONVERT LINEAR TO APP-RELATIVE ADDRESS
	AX = FF19h
	ESI = linear address
Return: ESI = application-relative linear address
SeeAlso: AX=FF1Ah

Top
31FF1A - INT 31 P - CauseWay - "Near2Linear" - CONVERT APP-RELATIVE TO LINEAR ADDRESS
INT 31 P - CauseWay - "Near2Linear" - CONVERT APP-RELATIVE TO LINEAR ADDRESS
	AX = FF1Ah
	ESI = application-relative linear address
Return: ESI = linear address
SeeAlso: AX=FF19h

Top
31FF1B - INT 31 P - CauseWay - "LockMem" - LOCK REGION OF MEMORY
INT 31 P - CauseWay - "LockMem" - LOCK REGION OF MEMORY
	AX = FF1Bh
	BX:CX = starting linear address
	SI:DI = size of region in bytes
Return: CF clear if successful
	CF set on error
Desc:	prevent memory from being swapped out by the virtual memory manager
Note:	locks are applied on 4K page boundaries, so memory above and below
	  the specified region may be locked as well
SeeAlso: AX=FF1Ch,AX=FF1Dh

Top
31FF1C - INT 31 P - CauseWay - "LockMem32" - LOCK REGION OF MEMORY (32-bit)
INT 31 P - CauseWay - "LockMem32" - LOCK REGION OF MEMORY (32-bit)
	AX = FF1Ch
	ESI = starting linear address
	ECX = size of region in bytes
Return: CF clear if successful
	CF set on error
Desc:	prevent memory from being swapped out by the virtual memory manager
Note:	locks are applied on 4K page boundaries, so memory above and below
	  the specified region may be locked as well
SeeAlso: AX=FF1Bh,AX=FF1Eh,AX=FF1Fh

Top
31FF1D - INT 31 P - CauseWay - "UnLockMem" - UNLOCK REGION OF MEMORY
INT 31 P - CauseWay - "UnLockMem" - UNLOCK REGION OF MEMORY
	AX = FF1Dh
	BX:CX = starting linear address
	SI:DI = size of region in bytes
Return: CF clear if successful
	CF set on error
Desc:	allow memory to be swapped out by the virtual memory manager
Note:	locks are applied on 4K page boundaries, so memory above and below
	  the specified region may be unlocked as well
SeeAlso: AX=FF1Bh,AX=FF1Eh

Top
31FF1E - INT 31 P - CauseWay - "UnLockMem32" - UNLOCK REGION OF MEMORY (32-bit)
INT 31 P - CauseWay - "UnLockMem32" - UNLOCK REGION OF MEMORY (32-bit)
	AX = FF1Eh
	ESI = starting linear address
	ECX = size of region in bytes
Return: CF clear if successful
	CF set on error
Desc:	allow memory to be swapped out by the virtual memory manager
Note:	locks are applied on 4K page boundaries, so memory above and below
	  the specified region may be unlocked as well
SeeAlso: AX=FF1Ch,AX=FF1Dh,AX=FF20h

Top
31FF1F - INT 31 P - CauseWay - "LockMemNear" - LOCK APPLICATION-RELATIVE MEMORY REGION
INT 31 P - CauseWay - "LockMemNear" - LOCK APPLICATION-RELATIVE MEMORY REGION
	AX = FF1Fh
	ESI = starting application-relative linear address
	EBX = size of region in bytes
Return: CF clear if successful
	CF set on error
Desc:	prevent memory from being swapped out by the virtual memory manager
Note:	locks are applied on 4K page boundaries, so memory above and below
	  the specified region may be locked as well
SeeAlso: AX=FF1Ch,AX=FF20h

Top
31FF20 - INT 31 P - CauseWay - "UnLockMemNear" - UNLOCK APP-RELATIVE MEMORY REGION
INT 31 P - CauseWay - "UnLockMemNear" - UNLOCK APP-RELATIVE MEMORY REGION
	AX = FF20h
	ESI = starting application-relative linear address
	ECX = size of region in bytes
Return: CF clear if successful
	CF set on error
Desc:	allow memory to be swapped out by the virtual memory manager
Note:	locks are applied on 4K page boundaries, so memory above and below
	  the specified region may be unlocked as well
SeeAlso: AX=FF1Eh,AX=FF1Fh

Top
31FF21 - INT 31 P - CauseWay - "GetMemDOS" - ALLOCATE CONVENTIONAL MEMORY
INT 31 P - CauseWay - "GetMemDOS" - ALLOCATE CONVENTIONAL MEMORY
	AX = FF21h
	BX = number of paragraphs to allocate
Return: CF clear if successful
	    AX = real-mode segment of allocated block
	    DX = initial selector for block
	CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	    BX = size of largest available block
Note:	if the requested size is greater than 64K, contiguous selectors will
	  be allocated, one for each 64K; for 32-bit applications, the first
	  selector's limit will be set to the size of the entire block, while
	  that selector will have a limit of 64K for 16-bit applications.  All
	  selectors after the first one have a limit of 64K except the final
	  one
SeeAlso: AX=FF22h,AX=FF23h,INT 21/AH=48h

Top
31FF22 - INT 31 P - CauseWay - "ResMemDOS" - RESIZE CONVENTIONAL MEMORY BLOCK
INT 31 P - CauseWay - "ResMemDOS" - RESIZE CONVENTIONAL MEMORY BLOCK
	AX = FF22h
	BX = new size in paragraphs
	DX = initial selector for block
Return: CF clear if successful
	CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
	    BX = maximum number of paragraphs available
Note:	this function will also fail if the block is expanded past a 64K
	  boundary and the next selector is already in use
SeeAlso: AX=FF21h,AX=FF23h,INT 21/AH=49h

Top
31FF23 - INT 31 P - CauseWay - "RelMemDOS" - RELEASE CONVENTIONAL MEMORY BLOCK
INT 31 P - CauseWay - "RelMemDOS" - RELEASE CONVENTIONAL MEMORY BLOCK
	AX = FF23h
	DX = initial selector for block
Return: CF clear if successful
	CF set on error
	    AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h)
Note:	all descriptors allocated for the block are freed
SeeAlso: AX=FF21h,AX=FF22h,INT 21/AH=4Ah

Top
31FF24 - INT 31 P - CauseWay - "ExecOverlay" - LOAD AND OPTIONALLY EXECUTE APP CODE
INT 31 P - CauseWay - "ExecOverlay" - LOAD AND OPTIONALLY EXECUTE APP CODE
	AX = FF24h
	EBX = flags
	    bit 0: don't execute (overlay only)
	    bit 1: don't preserve relocation information
	ES:EDX -> filename (see also #03163)
	FS:ESI -> commandline (ESI = 00000000h if no commandline)
	GS:EDI -> name (CW's /o option)
Return: CF clear if successful
	    ---EBX bit 0 set---
	    CX:EDX = program entry point (CS:EIP)
	    SI = segment of PSP
	    ---EBX bit 1 set---
	    BX:EAX = initial SS:ESP
	    EDI high word = base segment
	    EDI low word = number of segments
	    EBP = start of segment definitions
	CF set on error
	    AX = error code
		0001h DOS file access error
		0002h not a CuaseWay 3P file
		0003h not enough memory
SeeAlso: AX=FF2Ah,INT 21/AH=4Bh

Format of CauseWay executable:
Offset	Size	Description	(Table 03163)
 00h  2 BYTEs	signature "3P"
 02h	DWORD	size of header data in bytes
 06h	DWORD	size of EXE image data in bytes
 0Ah	DWORD	number of bytes of program memory required
 0Eh	WORD	number of segment definitions (see #03165)
 10h	DWORD	number of relocation table entries
 14h	DWORD	offset of program entry point
 18h	WORD	segment list entry number for entry point's CS
 1Ah	DWORD	initial ESP
 1Eh	WORD	segment list entry number for initial SS
 20h	DWORD	control flags (see #03164)
 24h	DWORD	automatic stack size in bytes if ESP entry = 00000000h
 28h	BYTE	length of name (name follows program image)
 29h 23 BYTEs	reserved
SeeAlso: #01594,#01609 at INT 21/AH=4Bh

Bitfields for CauseWay executable control flags:
Bit(s)	Description	(Table 03164)
 0	16-bit interrupt stack frame
 7	descriptor table type (0 = GDT, 1 = LDT)
 14	16-bit default data size
 31	compressed EXE image
Note:	bits 0 and 14 should always be equal
SeeAlso: #03163

Format of CauseWay segment definition [array]:
Offset	Size	Description	(Table 03165)
 00h	DWORD	start offset within program image
 04h	DWORD	length and type
		bits 0-19: length
		bit 20:	   granularity (if set, length is in 4K pages)
		bits 21-24: type
			0000 code
			0001 read/write data
			0010 stack
			0011 read-only data
		bit 25: force segment descriptor's D bit to 0
		bit 26: force segmetn descriptor's D bit to 1
SeeAlso: #03163

Top
31FF25 - INT 31 P - CauseWay - "GetDOSTrans" - GET DOS TRANSFER BUFFER
INT 31 P - CauseWay - "GetDOSTrans" - GET DOS TRANSFER BUFFER
	AX = FF25h
Return: BX = real-mode segment of transfer buffer
	ECX = transfer buffer size
	DX = protected-mode selector for transfer buffer
Note:	the default buffer size of 8K is sufficient for most applications,
	  but an application performing large amounts of file I/O may benefit
	  from allocating its own, larger buffer
SeeAlso: AX=FF00h,AX=FF26h

Top
31FF26 - INT 31 P - CauseWay - "SetDOSTrans" - SET DOS TRANSFER BUFFER
INT 31 P - CauseWay - "SetDOSTrans" - SET DOS TRANSFER BUFFER
	AX = FF26h
	BX = real-mode segment of new transfer buffer
	ECX = new transfer buffer size
	DX = protected-mode selector for new transfer buffer
Return: nothing
Note:	the specific buffer must be located in conventional memory; only the
	  first 64K will be used
SeeAlso: AX=FF25h

Top
31FF27 - INT 31 P - CauseWay v1.3 - "GetMCBSize" - GET CURRENT MCB ALLOCATION BLOCK SIZE
INT 31 P - CauseWay v1.3 - "GetMCBSize" - GET CURRENT MCB ALLOCATION BLOCK SIZE
	AX = FF27h
Return: ECX = current threshold
Desc:	determine the memory allocation size below which CauseWay will use
	  internal MCB chains rather than allocating full 4K pages via DPMI
SeeAlso: AX=FF00h,AX=FF28h

Top
31FF28 - INT 31 P - CauseWay v1.3 - "SetMCBSize" - SET MCB MEMORY ALLOCATION BLOCK SIZE
INT 31 P - CauseWay v1.3 - "SetMCBSize" - SET MCB MEMORY ALLOCATION BLOCK SIZE
	AX = FF28h
	ECX = new threshold (0000000h to disable MCB memory allocation system)
Return: CF clear if successful
	    threshold unchanged (default 16K)
	CF set on error (threshold > 64K)
Desc:	specify the memory allocation size below which CauseWay will use
	  internal MCB chains rather than allocating full 4K pages via DPMI
Note:	the specified threshold will be rounded up to the next higher multiple
	  of 4K
SeeAlso: AX=FF00h,AX=FF27h

Top
31FF29 - INT 31 P - CauseWay v1.3 - "GetSels" - ALLOCATE MULTIPLE SELECTORS
INT 31 P - CauseWay v1.3 - "GetSels" - ALLOCATE MULTIPLE SELECTORS
	AX = FF29h
	CX = number of selectors to allocate
Return: BX = base selector
Desc:	allocate multiple contiguous selectors, initializing each to have a
	  base address and limit of zero
SeeAlso: AX=FF00h,AX=FF04h

Top
31FF2A - INT 31 P - CauseWay v1.3 - "cwLoad" - LOAD ANOTHER CAUSEWAY PROGRAM AS OVERLAY
INT 31 P - CauseWay v1.3 - "cwLoad" - LOAD ANOTHER CAUSEWAY PROGRAM AS OVERLAY
	AX = FF2Ah
	DS:EDX -> filename
Return: CF clear if successful
	    CX:EDX = CS:EIP of entry point
	    BX:EAX = initial SS:ESP for program
	    SI = PSP for overlay program
	CF set on error
	    AX = error code (01h file error, 02h not a 3P file, 03h no memory)
Note:	the returned PSP can be given to "RelMem" (AX=FF0Fh) to release the
	  overlay's memory and selectors; only selectors and memory allocated
	  during loading will be freed by RelMem unless one switches PSPs with
	  INT 21/AH=50h
SeeAlso: AX=FF00h,AX=FF24h

Top
31FF2B - INT 31 P - CauseWay v1.3 - "cwcInfo" - VALIDATE AND GET SIZE OF CWC FILE
INT 31 P - CauseWay v1.3 - "cwcInfo" - VALIDATE AND GET SIZE OF CWC FILE
	AX = FF2Bh
	BX = file handle for CWC-compressed file
Return: CF clear if successful
	    ECX = expanded file size
	CF set on error (not a CWC-compressed file)
SeeAlso: AX=FF00h,AX=FFFBh

Top
31FF2C - INT 31 P - CauseWay v1.3 - "GetMemSO" - ALLOCATE MEMORY AND RETURN SEL:OFFSET
INT 31 P - CauseWay v1.3 - "GetMemSO" - ALLOCATE MEMORY AND RETURN SEL:OFFSET
	AX = FF2Ch
	CX:DX = block size in bytes
Return: CF clear if successful
	   SI:DI = selector:offset of allocated memory
	CF set on error
Note:	unlike "GetMem" (AX=FF0Bh), this function will reuse selectors until a
	  segment is full, rather than allocating a new selector for each
	  memory block
SeeAlso: AX=FF00h,AX=FF2Dh,AX=FF2Eh

Top
31FF2D - INT 31 P - CauseWay v1.3 - "ResMemSO" - RESIZE SELECTOR:OFFSET MEMORY BLOCK
INT 31 P - CauseWay v1.3 - "ResMemSO" - RESIZE SELECTOR:OFFSET MEMORY BLOCK
	AX = FF2Dh
	SI:DI = selector:offset for memory block
	CX:DX = new size of block
Return: CF clear if successful
	   SI:DI = new selector:offset for memory block
	CF set on error
SeeAlso: AX=FF00h,AX=FF2Ch,AX=FF2Eh

Top
31FF2E - INT 31 P - CauseWay v1.3 - "RelMemSO" - RELEASE SELECTOR:OFFSET MEMORY BLOCK
INT 31 P - CauseWay v1.3 - "RelMemSO" - RELEASE SELECTOR:OFFSET MEMORY BLOCK
	AX = FF2Eh
	SI:DI = selector:offset for memory block
SeeAlso: AX=FF00h

Top
31FFFB - INT 31 P - Causeway v1.3 - "cwcLoad" - LOAD/EXPAND CWC-COMPRESSED FILE
INT 31 P - Causeway v1.3 - "cwcLoad" - LOAD/EXPAND CWC-COMPRESSED FILE
	AX = FFFBh
	BX = source file handle
	ES:EDI -> memory buffer into which to expand file
Return: CF clear if successful
	    ECX = expanded data length
	CF set on error
	    EAX = error code (01h file error, 02h bad data, 03h not CWC file)
Note:	the provided file may consist of the concatenation of several CWC
	  files; the one beginning at the current file position will be
	  expanded
SeeAlso: AX=FF2Bh

Top
32 - INT 32 - VIRUS - "Tiny" Viruses - ORIGINAL INT 21h VECTOR
INT 32 - VIRUS - "Tiny" Viruses - ORIGINAL INT 21h VECTOR
SeeAlso: INT 21/AX=FFFFh"VIRUS",INT 31"VIRUS",INT 44"VIRUS"

Top
32 - INT 32 - VIRUS - "Plovdiv 1.3"/"Damage 1.3" - ORIGINAL INT 21h VECTOR
INT 32 - VIRUS - "Plovdiv 1.3"/"Damage 1.3" - ORIGINAL INT 21h VECTOR
SeeAlso: INT 31"VIRUS",INT 9E"VIRUS"

Top
326E - INT 32 - NOISE.SYS 0.53 - API
INT 32 - NOISE.SYS 0.53 - API
	AH = 6Eh (function ID)
	AL = subfunction (see INT 32/AX=6E00h)
Return: CF set on error
	    AL = error code (see #03166)
	CF clear if successful
Notes:	INT 32 is only a proposed interface for NOISE.SYS. Use the IOCTL READ
	  from the RANDOM device to determine the interrupt and function ID
	  used by the driver, since future versions may use the Alternate
	  Multiplex Interrupt (AMIS) at INT 2Dh.
	the beta v0.51 had a substantially different API on INT 32/AH=6Eh

(Table 03166)
Values for NOISE.SYS error codes:
 00h	subfunction not supported
 FBh	random pool is empty
 FCh	quality of sample is too low
 FDh	too many processes using the API or driver
 FEh	subfunction is disabled in the current build
 FFh	successful

Top
326E00 - INT 32 - NOISE.SYS v0.53+ - INSTALLATION CHECK
INT 32 - NOISE.SYS v0.53+ - INSTALLATION CHECK
	AX = 6E00h
Return: AL = installation status
	    00h not installed
	    FFh installed
		CX = version (ie, 0123h = Version 1.2.3)
		DX:DI -> signature string

Top
326E01 - INT 32 - NOISE.SYS v0.53+ - GET ENTRY POINT
INT 32 - NOISE.SYS v0.53+ - GET ENTRY POINT
	AX = 6E01h
Return: AL = FFh
	DX:DI -> far call hook

Top
326E04 - INT 32 - NOISE.SYS v0.55+ - GET INTERRUPT HOOK LIST
INT 32 - NOISE.SYS v0.55+ - GET INTERRUPT HOOK LIST
	AX = 6E04h
Return: AL = status
	    00h = unimplemented
	    04h = DX:BX -> interrupt hook list
	    FEh = subfunction disabled
Note:	the hook list array ends with API interrupt (usually 32h, although
	  it will differ if the API is installed at another interrupt)

Top
326E06 - INT 32 - NOISE.SYS v0.55+ - GET DEVICE DRIVER HEADER
INT 32 - NOISE.SYS v0.55+ - GET DEVICE DRIVER HEADER
	AX = 6E06h
Return: AL = number of device drivers in NOISE.SYS chain
	    02h = default (for RANDOM and URANDOM devices)
	AH = AMIS device driver flags (set to 00h for now)
	DX:BX -> first device in chain (see #01646)
SeeAlso: INT 2D/AL=06h

Top
326E10 - INT 32 - NOISE.SYS v0.53+ - STATUS CHECK
INT 32 - NOISE.SYS v0.53+ - STATUS CHECK
	AX = 6E10h
Return: CF set on error
	    AL = error code (FDh) (see #03166)
	CF clear if successful
	    AL = status
		FFh successful
	    BH = number of processes using the API
	    CX = number of random bytes waiting
	    DX = maximum possible bytes waiting
		(if CX=DX, the pool is full)
Note:	this subfunction is a convenient way to check the driver if any
	  fresh bytes are waiting in the output pool.
SeeAlso: INT 32/AH=6Eh,AX=6E00h,AX=6E11h

Top
326E11 - INT 32 - NOISE.SYS v0.53+ - GET ENTROPY ESTIMATE
INT 32 - NOISE.SYS v0.53+ - GET ENTROPY ESTIMATE
	AX = 6E11h
Return: CF set on error
	    AL = error code (00h,FDh,FEh) (see #03166)
	CF clear if successful
	    EBX = estimated bit count (refer to note below)
	    CL = FRACBITS (number of fractional bits)
	    EDX = low 32-bits of total number of samples added
Note:  the estimated number of fresh random bits is equal to
	  (EAX >> FRACBITS) + ((EAX & ((1 << FRACBITS)-1) / (1 << FRACBITS))
SeeAlso: AH=6Eh,AX=6E00h

Top
326E12 - INT 32 - NOISE.SYS v0.53+ - ADD SAMPLE FROM FAST TIMER
INT 32 - NOISE.SYS v0.53+ - ADD SAMPLE FROM FAST TIMER
	AX = 6E12h
Return: CF set on error
	    AL = error code (FCh,FDh,FEh) (see #03166)
	CF clear if successful
	    CX = number of random bytes waiting
Note:	subfunctions 12h and 13h are meant for applications or devices
	  which are able to gather entropy from other sources which are
	  not polled by NOISE.SYS (for example, a communications driver
	  could use this call to sample packet arrival times).
SeeAlso: AX=6E00h,AX=6E10h,AX=6E13h

Top
326E13 - INT 32 - NOISE.SYS v0.53+ - ADD 16-BIT SAMPLE TO RANDOM POOL
INT 32 - NOISE.SYS v0.53+ - ADD 16-BIT SAMPLE TO RANDOM POOL
	AX = 6E13h
	DX = sample
Return: CF set on error
	    AL = error code (FCh,FEh) (see #03166)
	CF clear if successful
	    CX = number of random bytes waiting
SeeAlso: AX=6E00h,AX=6E11h

Top
326E14 - INT 32 - NOISE.SYS v0.53+ - GET FLAGS
INT 32 - NOISE.SYS v0.53+ - GET FLAGS
	AX = 6E14h
Return: BX = flags (see #03167)
	CX = mask of settable flags in BX
SeeAlso: AX=6E00h,AX=6E15h

Bitfields for NOISE.SYS flags:
Bit(s)	Description	(Table 03167)
 0	MS Windows active
 1-5	reserved
 6	clock drift sampling
 7	video retrace drift sampling
 8	network access sampling (not implemented yet in 0.53)
 9	CD-ROM access sampling (not implemented yet in 0.53)
 10	DOS spinner
 11	DOS process start/end and miscellaneous process activity sampling
 12	mouse movement/button sampling
 13	disk sampling (INT 13)
 14	keystroke timings
 15	reserved for hardware RNG

Top
326E15 - INT 32 - NOISE.SYS v0.53+ - SET FLAGS
INT 32 - NOISE.SYS v0.53+ - SET FLAGS
	AX = 6E15h
	BX = flags (see #03167)
Return: BX = new flags
Note:	flags which AX=6E14h indicates are not settable should be masked off
	  by ANDing with the CX returned by AX=6E14h
SeeAlso: AX=6E00h,AX=6E14h

Top
326E16 - INT 32 - NOISE.SYS v0.53+ - READ URANDOM BYTES
INT 32 - NOISE.SYS v0.53+ - READ URANDOM BYTES
	AX = 6E16h
	CX = number of bytes
	ES:DI -> buffer
Return: CF set on error
	    AL = error code (FDh,FEh) (see #03166)
	CF clear if successful
	    CX = number of random bytes read
SeeAlso: AX=6E00h,AX=6E12h,AX=6E17h

Top
326E17 - INT 32 - NOISE.SYS v0.53+ - READ RANDOM BYTES
INT 32 - NOISE.SYS v0.53+ - READ RANDOM BYTES
	AX = 6E17h
	CX = number of bytes
	ES:DI -> buffer
Return: CF set on error
	    AL = error code (FBh,FDh,FEh) (see #03166)
	CF clear if successful
	    CX = number of random bytes read
SeeAlso: AX=6E00h,AX=6E16h

Top
326E18 - INT 32 - NOISE.SYS v0.6+ - READ CONTROL RECORD
INT 32 - NOISE.SYS v0.6+ - READ CONTROL RECORD
	AX = 6E18h
	CX = buffer size
	ES:DI -> buffer
Return: AL = status
	    00h unimplemented (before v0.6)
	    FEh subfunction is disabled
	    FFh successful
		CX = number of bytes read
Note:	the control record corresponds to the IOCTL Read record for the RANDOM
	  device

Top
326E - INT 32 - NOISE.SYS - RESERVED FOR FUTURE USE
INT 32 - NOISE.SYS - RESERVED FOR FUTURE USE
	AH = 6Eh
	AL = 19h to 3Fh
Return: AL = 00h
Note:	these functions are reserved for future use; user additions to the
	  the driver should use subfunctions 40h to FFh.

Top
330000 - INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
	AX = 0000h
Return: AX = status
	    0000h hardware/driver not installed
	    FFFFh hardware/driver installed
	BX = number of buttons
	    0000h other than two
	    0002h two buttons (many drivers)
	    0003h Mouse Systems/Logitech three-button mouse
	    FFFFh two buttons
Notes:	since INT 33 might be uninitialized on old machines, the caller
	  should first check that INT 33 is neither 0000h:0000h nor points at
	  an IRET instruction (BYTE CFh) before calling this API
	to use mouse on a Hercules-compatible monographics card in graphics
	  mode, you must first set 0040h:0049h to 6 for page 0 or 5 for page 1,
	  and then call this function.	Logitech drivers v5.01 and v6.00
	  reportedly do not correctly use Hercules graphics in dual-monitor
	  systems, while version 4.10 does.
	the Logitech mouse driver contains the signature string "LOGITECH"
	  three bytes past the interrupt handler; many of the Logitech mouse
	  utilities check for this signature.
	Logitech MouseWare v6.30 reportedly does not support CGA video modes
	  if no CGA is present when it is started and the video board is
	  later switched into CGA emulation
SeeAlso: AX=0011h,AX=0021h,AX=002Fh,INT 62/AX=007Ah,INT 74

Top
330001 - INT 33 - MS MOUSE v1.0+ - SHOW MOUSE CURSOR
INT 33 - MS MOUSE v1.0+ - SHOW MOUSE CURSOR
	AX = 0001h
SeeAlso: AX=0002h,INT 16/AX=FFFEh,INT 62/AX=007Bh,INT 6F/AH=06h"F_TRACK_ON"

Top
330002 - INT 33 - MS MOUSE v1.0+ - HIDE MOUSE CURSOR
INT 33 - MS MOUSE v1.0+ - HIDE MOUSE CURSOR
	AX = 0002h
Note:	multiple calls to hide the cursor will require multiple calls to
	  function 01h to unhide it.
SeeAlso: AX=0001h,AX=0010h,INT 16/AX=FFFFh,INT 62/AX=007Bh
SeeAlso: INT 6F/AH=08h"F_TRACK_OFF"

Top
330003 - INT 33 - MS MOUSE v1.0+ - RETURN POSITION AND BUTTON STATUS
INT 33 - MS MOUSE v1.0+ - RETURN POSITION AND BUTTON STATUS
	AX = 0003h
Return: BX = button status (see #03168)
	CX = column
	DX = row
Note:	in text modes, all coordinates are specified as multiples of the cell
	  size, typically 8x8 pixels
SeeAlso: AX=0004h,AX=000Bh,INT 2F/AX=D000h"ZWmous"

Bitfields for mouse button status:
Bit(s)	Description	(Table 03168)
 0	left button pressed if 1
 1	right button pressed if 1
 2	middle button pressed if 1 (Mouse Systems/Logitech/Genius)

Top
330004 - INT 33 - MS MOUSE v1.0+ - POSITION MOUSE CURSOR
INT 33 - MS MOUSE v1.0+ - POSITION MOUSE CURSOR
	AX = 0004h
	CX = column
	DX = row
Note:	the row and column are truncated to the next lower multiple of the cell
	  size (typically 8x8 in text modes); however, some versions of the
	  Microsoft documentation incorrectly state that the coordinates are
	  rounded
SeeAlso: AX=0003h,INT 62/AX=0081h,INT 6F/AH=10h"F_PUT_SPRITE"

Top
330005 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON PRESS DATA
INT 33 - MS MOUSE v1.0+ - RETURN BUTTON PRESS DATA
	AX = 0005h
	BX = button number (see #03169)
Return: AX = button states (see #03168)
	BX = number of times specified button has been pressed since last call
	CX = column at time specified button was last pressed
	DX = row at time specified button was last pressed
Note:	at least for the Genius mouse driver, the number of button presses
	  returned is limited to 7FFFh
SeeAlso: AX=0006h,INT 62/AX=007Ch

(Table 03169)
Values for mouse button number:
 0000h	left
 0001h	right
 0002h	middle (Mouse Systems/Logitech/Genius mouse)

Top
330006 - INT 33 - MS MOUSE v1.0+ - RETURN BUTTON RELEASE DATA
INT 33 - MS MOUSE v1.0+ - RETURN BUTTON RELEASE DATA
	AX = 0006h
	BX = button number (see #03169)
Return: AX = button states (see #03168)
	BX = number of times specified button has been released since last call
	CX = column at time specified button was last released
	DX = row at time specified button was last released
Note:	at least for the Genius mouse driver, the number of button releases
	  returned is limited to 7FFFh
SeeAlso: AX=0005h,INT 62/AX=007Ch

Top
330007 - INT 33 - MS MOUSE v1.0+ - DEFINE HORIZONTAL CURSOR RANGE
INT 33 - MS MOUSE v1.0+ - DEFINE HORIZONTAL CURSOR RANGE
	AX = 0007h
	CX = minimum column
	DX = maximum column
Note:	in text modes, the minimum and maximum columns are truncated to the
	  next lower multiple of the cell size, typically 8x8 pixels
SeeAlso: AX=0008h,AX=0010h,AX=0031h,INT 62/AX=0080h
SeeAlso: INT 6F/AH=0Ch"F_SET_LIMITS_X"

Top
330008 - INT 33 - MS MOUSE v1.0+ - DEFINE VERTICAL CURSOR RANGE
INT 33 - MS MOUSE v1.0+ - DEFINE VERTICAL CURSOR RANGE
	AX = 0008h
	CX = minimum row
	DX = maximum row
Note:	in text modes, the minimum and maximum rows are truncated to the
	  next lower multiple of the cell size, typically 8x8 pixels
SeeAlso: AX=0007h,AX=0010h,AX=0031h,INT 62/AX=0080h
SeeAlso: INT 6F/AH=0Eh"F_SET_LIMITS_Y"

Top
330009 - INT 33 - MS MOUSE v3.0+ - DEFINE GRAPHICS CURSOR
INT 33 - MS MOUSE v3.0+ - DEFINE GRAPHICS CURSOR
	AX = 0009h
	BX = column of cursor hot spot in bitmap (-16 to 16)
	CX = row of cursor hot spot (-16 to 16)
	ES:DX -> mask bitmap (see #03170)
Notes:	in graphics modes, the screen contents around the current mouse cursor
	  position are ANDed with the screen mask and then XORed with the
	  cursor mask
	the Microsoft mouse driver v7.04 and v8.20 uses only BL and CL, so the
	  hot spot row/column should be limited to -128..127
	Microsoft KnowledgeBase article Q19850 states that the high bit is
	  right-most, but that statement is contradicted by all other available
	  documentation
SeeAlso: AX=000Ah,AX=0012h,AX=002Ah,INT 62/AX=007Fh,INT 6F/AH=0Ah"F_DEF_MASKS"

Format of mouse mask bitmap:
Offset	Size	Description	(Table 03170)
 00h 16 WORDs	screen mask
 10h 16 WORDs	cursor mask
Note:	each word defines the sixteen pixels of a row, low bit rightmost

Top
33000A - INT 33 - MS MOUSE v3.0+ - DEFINE TEXT CURSOR
INT 33 - MS MOUSE v3.0+ - DEFINE TEXT CURSOR
	AX = 000Ah
	BX = hardware/software text cursor
	    0000h software
		CX = screen mask
		DX = cursor mask
	    0001h hardware
		CX = start scan line
		DX = end scan line
Note:	when the software cursor is selected, the character/attribute data at
	  the current screen position is ANDed with the screen mask and then
	  XORed with the cursor mask
SeeAlso: AX=0009h,INT 62/AX=007Eh

Top
33000B - INT 33 - MS MOUSE v1.0+ - READ MOTION COUNTERS
INT 33 - MS MOUSE v1.0+ - READ MOTION COUNTERS
	AX = 000Bh
Return: CX = number of mickeys mouse moved horizontally since last call
	DX = number of mickeys mouse moved vertically
Notes:	a mickey is the smallest increment the mouse can sense
	positive values indicate down/right
SeeAlso: AX=0003h,AX=001Bh,AX=0027h

Top
33000C - INT 33 - MS MOUSE v1.0+ - DEFINE INTERRUPT SUBROUTINE PARAMETERS
INT 33 - MS MOUSE v1.0+ - DEFINE INTERRUPT SUBROUTINE PARAMETERS
	AX = 000Ch
	CX = call mask (see #03171)
	ES:DX -> FAR routine (see #03172)
SeeAlso: AX=0018h

Bitfields for mouse call mask:
Bit(s)	Description	(Table 03171)
 0	call if mouse moves
 1	call if left button pressed
 2	call if left button released
 3	call if right button pressed
 4	call if right button released
 5	call if middle button pressed (Mouse Systems/Logitech/Genius mouse)
 6	call if middle button released (Mouse Systems/Logitech/Genius mouse)
 7-15	unused
Note:	some versions of the Microsoft documentation incorrectly state that CX
	  bit 0 means call if mouse cursor moves

(Table 03172)
Values interrupt routine is called with:
	AX = condition mask (same bit assignments as call mask)
	BX = button state
	CX = cursor column
	DX = cursor row
	SI = horizontal mickey count
	DI = vertical mickey count
Notes:	some versions of the Microsoft documentation erroneously swap the
	  meanings of SI and DI
	in text modes, the row and column will be reported as a multiple of
	  the character cell size, typically 8x8 pixels

Top
33000D - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION ON
INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION ON
	AX = 000Dh
SeeAlso: AX=000Eh,INT 10/AH=04h

Top
33000E - INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION OFF
INT 33 - MS MOUSE v1.0+ - LIGHT PEN EMULATION OFF
	AX = 000Eh
SeeAlso: AX=000Dh

Top
33000F - INT 33 - MS MOUSE v1.0+ - DEFINE MICKEY/PIXEL RATIO
INT 33 - MS MOUSE v1.0+ - DEFINE MICKEY/PIXEL RATIO
	AX = 000Fh
	CX = number of mickeys per 8 pixels horizontally (default 8)
	DX = number of mickeys per 8 pixels vertically (default 16)
SeeAlso: AX=0013h,AX=001Ah,INT 62/AX=0082h

Top
330010 - INT 33 - MS MOUSE v1.0+ - DEFINE SCREEN REGION FOR UPDATING
INT 33 - MS MOUSE v1.0+ - DEFINE SCREEN REGION FOR UPDATING
	AX = 0010h
	CX,DX = X,Y coordinates of upper left corner
	SI,DI = X,Y coordinates of lower right corner
Note:	mouse cursor is hidden in the specified region, and needs to be
	  explicitly turned on again
SeeAlso: AX=0001h,AX=0002h,AX=0007h,AX=0010h"Genius MOUSE",AX=0031h

Top
330010 - INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
	AX = 0010h
	ES:DX -> update region list (see #03173)
Notes:	mouse cursor is hidden in the specified region, and needs to be
	  explicitly turned on again
	this version of the call is described in an August 1988 version of the
	  Genius Mouse programmer's reference; it has been changed to conform
	  to the Microsoft version shown above by version 9.06 (and possibly
	  earlier versions)
SeeAlso: AX=0001h,AX=0002h,AX=0007h,AX=0010h"MS MOUSE"

Format of Genius Mouse update region list:
Offset	Size	Description	(Table 03173)
 00h	WORD	left-most column
 02h	WORD	top-most row
 04h	WORD	right-most column
 06h	WORD	bottom-most row

Top
330011 - INT 33 - Genius Mouse 9.06 - GET NUMBER OF BUTTONS
INT 33 - Genius Mouse 9.06 - GET NUMBER OF BUTTONS
	AX = 0011h
Return: AX = FFFFh
	BX = number of buttons
SeeAlso: AX=0000h

Top
330012 - INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
	AX = 0012h
	BH = cursor width in words
	CH = rows in cursor
	BL = horizontal hot spot (-16 to 16)
	CL = vertical hot spot (-16 to 16)
	ES:DX -> bit map of screen and cursor maps
Return: AX = FFFFh if successful
SeeAlso: AX=0009h,AX=002Ah,AX=0035h

Top
330013 - INT 33 - MS MOUSE v5.0+ - DEFINE DOUBLE-SPEED THRESHOLD
INT 33 - MS MOUSE v5.0+ - DEFINE DOUBLE-SPEED THRESHOLD
	AX = 0013h
	DX = threshold speed in mickeys/second, 0000h = default of 64/second
Note:	if speed exceeds threshold, the cursor's on-screen motion is doubled
SeeAlso: AX=000Fh,AX=001Bh,AX=002Ch

Top
330014 - INT 33 - MS MOUSE v3.0+ - EXCHANGE INTERRUPT SUBROUTINES
INT 33 - MS MOUSE v3.0+ - EXCHANGE INTERRUPT SUBROUTINES
	AX = 0014h
	CX = call mask (see #03171)
	ES:DX -> FAR routine
Return: CX = call mask of previous interrupt routine
	ES:DX = FAR address of previous interrupt routine
SeeAlso: AX=000Ch,AX=0018h

Top
330015 - INT 33 - MS MOUSE v6.0+ - RETURN DRIVER STORAGE REQUIREMENTS
INT 33 - MS MOUSE v6.0+ - RETURN DRIVER STORAGE REQUIREMENTS
	AX = 0015h
Return: BX = size of buffer needed to store driver state
SeeAlso: AX=0016h,AX=0017h,AX=0042h

Top
330016 - INT 33 - MS MOUSE v6.0+ - SAVE DRIVER STATE
INT 33 - MS MOUSE v6.0+ - SAVE DRIVER STATE
	AX = 0016h
	BX = size of buffer (see AX=0015h)
	ES:DX -> buffer for driver state
Note:	although not documented (since the Microsoft driver does not use it),
	  many drivers appear to require BX on input
SeeAlso: AX=0015h,AX=0017h

Top
330017 - INT 33 - MS MOUSE v6.0+ - RESTORE DRIVER STATE
INT 33 - MS MOUSE v6.0+ - RESTORE DRIVER STATE
	AX = 0017h
	BX = size of buffer (see AX=0015h)
	ES:DX -> buffer containing saved state
Notes:	although not documented (since the Microsoft driver does not use it),
	  many drivers appear to require BX on input
	some mouse drivers range-check the values in the saved state based on
	  the current video mode; thus, the video mode should be restored
	  before the mouse driver's state is restored
SeeAlso: AX=0015h,AX=0016h

Top
330018 - INT 33 - MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER
INT 33 - MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER
	AX = 0018h
	CX = call mask (see #03174)
	ES:DX -> FAR routine to be invoked on mouse events (see #03175)
Return: AX = status
	    0018h if successful
	    FFFFh on error
Notes:	up to three handlers can be defined by separate calls to this function,
	  each with a different combination of shift states in the call mask;
	  calling this function again with a call mask of 0000h undefines the
	  specified handler (official documentation); specifying the same
	  call mask and an address of 0000h:0000h undefines the handler (real
	  life)
	some versions of the documentation erroneously reverse the order of
	  the bits in the call mask
SeeAlso: AX=000Ch,AX=0014h,AX=0019h

Bitfields for mouse call mask:
Bit(s)	Description	(Table 03174)
 0	call if mouse moves
 1	call if left button pressed
 2	call if left button released
 3	call if right button pressed
 4	call if right button released
 5	call if shift button pressed during event
 6	call if ctrl key pressed during event
 7	call if alt key pressed during event
Note:	at least one of 5-7 must be set

(Table 03175)
Values user handler is called with:
	AX = condition mask (same bit assignments as call mask)
	BX = button state
	CX = cursor column
	DX = cursor row
	SI = horizontal mickey count
	DI = vertical mickey count
Return: registers preserved
Note:	in text modes, the row and column will be reported as a multiple of
	  the cell size, typically 8x8 pixels

Top
330019 - INT 33 - MS MOUSE v6.0+ - RETURN USER ALTERNATE INTERRUPT VECTOR
INT 33 - MS MOUSE v6.0+ - RETURN USER ALTERNATE INTERRUPT VECTOR
	AX = 0019h
	CX = call mask (see #03174)
Return: BX:DX = user interrupt vector
	CX = call mask (0000h if not found)
Note:	attempts to find a user event handler (defined by function 18h)
	  whose call mask matches CX
SeeAlso: AX=0018h

Top
33001A - INT 33 - MS MOUSE v6.0+ - SET MOUSE SENSITIVITY
INT 33 - MS MOUSE v6.0+ - SET MOUSE SENSITIVITY
	AX = 001Ah
	BX = horizontal speed \
	CX = vertical speed   / (see AX=000Fh)
	DX = double speed threshold (see AX=0013h)
SeeAlso: AX=0013h,AX=001Bh,INT 62/AX=0082h

Top
33001B - INT 33 - MS MOUSE v6.0+ - RETURN MOUSE SENSITIVITY
INT 33 - MS MOUSE v6.0+ - RETURN MOUSE SENSITIVITY
	AX = 001Bh
Return: BX = horizontal speed
	CX = vertical speed
	DX = double speed threshold
SeeAlso: AX=000Bh,AX=001Ah

Top
33001C - INT 33 - MS MOUSE v6.0+ - SET INTERRUPT RATE
INT 33 - MS MOUSE v6.0+ - SET INTERRUPT RATE
	AX = 001Ch
	BX = rate (see #03176)
Notes:	only available on InPort mouse
	values greater than 4 may cause unpredictable driver behavior

(Table 03176)
Values for mouse interrupt rate:
 00h	no interrupts allowed
 01h	30 per second
 02h	50 per second
 03h	100 per second
 04h	200 per second

Top
33001D - INT 33 - MS MOUSE v6.0+ - DEFINE DISPLAY PAGE NUMBER
INT 33 - MS MOUSE v6.0+ - DEFINE DISPLAY PAGE NUMBER
	AX = 001Dh
	BX = display page number
Note:	the cursor will be displayed on the specified page
SeeAlso: AX=001Eh

Top
33001E - INT 33 - MS MOUSE v6.0+ - RETURN DISPLAY PAGE NUMBER
INT 33 - MS MOUSE v6.0+ - RETURN DISPLAY PAGE NUMBER
	AX = 001Eh
Return: BX = display page number
SeeAlso: AX=001Dh

Top
33001F - INT 33 - MS MOUSE v6.0+ - DISABLE MOUSE DRIVER
INT 33 - MS MOUSE v6.0+ - DISABLE MOUSE DRIVER
	AX = 001Fh
Return: AX = status
	    001Fh successful
		ES:BX = INT 33 vector before mouse driver was first installed
	    FFFFh unsuccessful
Notes:	restores vectors for INT 10 and INT 71 (8086) or INT 74 (286/386)
	if you restore INT 33 to ES:BX, driver will be completely disabled
	many drivers return AX=001Fh even though the driver has been disabled
SeeAlso: AX=0020h

Top
330020 - INT 33 - MS MOUSE v6.0+ - ENABLE MOUSE DRIVER
INT 33 - MS MOUSE v6.0+ - ENABLE MOUSE DRIVER
	AX = 0020h
Return: AX = status
	    0020h successful
	    FFFFh unsuccessful
Notes:	restores vectors for INT 10h and INT 71h (8086) or INT 74h (286/386)
	  which were removed by function 1Fh
	Microsoft's documentation states that no value is returned
SeeAlso: AX=001Fh

Top
330021 - INT 33 - MS MOUSE v6.0+ - SOFTWARE RESET
INT 33 - MS MOUSE v6.0+ - SOFTWARE RESET
	AX = 0021h
Return: AX = status
	    FFFFh if mouse driver installed
		BX = number of buttons (FFFFh = two buttons)
	    0021h if mouse driver not installed
Note:	this call is identical to funtion 00h, but does not reset the mouse
SeeAlso: AX=0000h

Top
330022 - INT 33 - MS MOUSE v6.0+ - SET LANGUAGE FOR MESSAGES
INT 33 - MS MOUSE v6.0+ - SET LANGUAGE FOR MESSAGES
	AX = 0022h
	BX = language (see #03177)
Note:	only available on international versions of the driver; US versions
	  ignore this call
SeeAlso: AX=0023h

(Table 03177)
Values for mouse driver language:
 00h	English
 01h	French
 02h	Dutch
 03h	German
 04h	Swedish
 05h	Finnish
 06h	Spanish
 07h	Portugese
 08h	Italian

Top
330023 - INT 33 - MS MOUSE v6.0+ - GET LANGUAGE FOR MESSAGES
INT 33 - MS MOUSE v6.0+ - GET LANGUAGE FOR MESSAGES
	AX = 0023h
Return: BX = language (see #03177)
Note:	the US version of the driver always returns zero
SeeAlso: AX=0022h

Top
330024BX0000 - INT 33 - MS MOUSE v6.26+ - GET SOFTWARE VERSION, MOUSE TYPE, AND IRQ NUMBER
INT 33 - MS MOUSE v6.26+ - GET SOFTWARE VERSION, MOUSE TYPE, AND IRQ NUMBER
	AX = 0024h
	BX = 0000h to check for function's existence
Return: AX = FFFFh on error
	otherwise,
	    BH = major version
	    BL = minor version
	    CH = type (1=bus, 2=serial, 3=InPort, 4=PS/2, 5=HP)
	    CL = interrupt (0=PS/2, 2=IRQ2, 3=IRQ3,...,7=IRQ7,...,0Fh=IRQ15)
Note:	although current Microsoft documentation states that this function was
	  introduced in v6.26, it appears to have been present as early as
	  v6.02 (for earlier versions, use INT 33/AX=006Dh)
SeeAlso: AX=004Dh,AX=006Dh

Top
330025 - INT 33 - MS MOUSE v6.26+ - GET GENERAL DRIVER INFORMATION
INT 33 - MS MOUSE v6.26+ - GET GENERAL DRIVER INFORMATION
	AX = 0025h
Return: AX = general information (see #03178)
	BX = cursor lock flag for OS/2 to prevent reentrancy problems
	CX = mouse code active flag (for OS/2)
	DX = mouse driver busy flag (for OS/2)

Bitfields for general mouse driver information:
Bit(s)	Description	(Table 03178)
 15	driver loaded as device driver rather than TSR
 14	driver is newer integrated type
 13,12	current cursor type
	00 software text cursor
	01 hardware text cursor (CRT Controller's cursor)
	1X graphics cursor
 11-8	interrupt rate (see #03176)
 7-0	count of currently-active Mouse Display Drivers (MDD), the newer
	  integrated driver type

Top
330026 - INT 33 - MS MOUSE v6.26+ - GET MAXIMUM VIRTUAL COORDINATES
INT 33 - MS MOUSE v6.26+ - GET MAXIMUM VIRTUAL COORDINATES
	AX = 0026h
Return: BX = mouse-disabled flag (0000h mouse enabled, nonzero disabled)
	CX = maximum virtual X (for current video mode)
	DX = maximum virtual Y
Note:	for driver versions before 7.05, this call returns the currently-set
	  maximum coordinates; v7.05+ returns the absolute maximum coordinates
SeeAlso: AX=0031h

Top
330026 - INT 33 - Genius Mouse 9.06 - ???
INT 33 - Genius Mouse 9.06 - ???
	AX = 0026h
Return: CX = 0204h if CX was 0105h on entry, else unchanged

Top
330027 - INT 33 - MS MOUSE v7.01+ - GET SCREEN/CURSOR MASKS AND MICKEY COUNTS
INT 33 - MS MOUSE v7.01+ - GET SCREEN/CURSOR MASKS AND MICKEY COUNTS
	AX = 0027h
Return: AX = screen-mask value (or hardware cursor scan-line start for v7.02+)
	BX = cursor-mask value (or hardware cursor scan-line stop for v7.02+)
	CX = horizontal mickeys moved since last call
	DX = vertical mickeys moved since last call
SeeAlso: AX=000Bh

Top
330028 - INT 33 - MS MOUSE v7.0+ - SET VIDEO MODE
INT 33 - MS MOUSE v7.0+ - SET VIDEO MODE
	AX = 0028h
	CX = new video mode (call is NOP if 0000h)
	DH = Y font size (00h = default)
	DL = X font size (00h = default)
Return: CL = status (00h = successful)
Notes:	DX is ignored unless the selected video mode supports font size control
	when CX=0000h, an internal flag that had been set by a previous call
	  is cleared; this is required before a mouse reset
SeeAlso: AX=0029h,INT 10/AH=00h

Top
330029 - INT 33 - MS MOUSE v7.0+ - ENUMERATE VIDEO MODES
INT 33 - MS MOUSE v7.0+ - ENUMERATE VIDEO MODES
	AX = 0029h
	CX = previous video mode
	    0000h get first supported video mode
	    other get next supported mode after mode CX
Return: CX = first/next video mode (0000h = no more video modes)
	DS:DX -> description of video mode or 0000h:0000h if none
Notes:	the enumerated video modes may be in any order and may repeat
	the description string (if available) is terminated by '$' followed by
	  a NUL byte
SeeAlso: AX=0028h

Top
33002A - INT 33 - MS MOUSE v7.02+ - GET CURSOR HOT SPOT
INT 33 - MS MOUSE v7.02+ - GET CURSOR HOT SPOT
	AX = 002Ah
Return: AX = internal counter controlling cursor visibility
	BX = cursor hot spot column
	CX = cursor hot spot row
	DX = mouse type (see #03179)
Note:	the hot spot location is relative to the upper left corner of the
	  cursor block and may range from -128 to +127 both horizontally and
	  vertically
SeeAlso: AX=0009h,AX=0012h,AX=0035h

(Table 03179)
Values for mouse type:
 00h	none
 01h	bus
 02h	serial
 03h	InPort
 04h	IBM
 05h	Hewlett-Packard

Top
33002B - INT 33 - MS MOUSE v7.0+ - LOAD ACCELERATION PROFILES
INT 33 - MS MOUSE v7.0+ - LOAD ACCELERATION PROFILES
	AX = 002Bh
	BX = active acceleration profile
	    0001h-0004h or FFFFh to restore default curves
	ES:SI -> buffer containing acceleration profile data (see #03180)
Return: AX = success flag
SeeAlso: AX=002Ch,AX=002Dh,AX=0033h

Format of acceleration profile data:
Offset	Size	Description	(Table 03180)
 00h	BYTE	length of acceleration profile 1
 01h	BYTE	length of acceleration profile 2
 02h	BYTE	length of acceleration profile 3
 03h	BYTE	length of acceleration profile 4
 04h 32 BYTEs	threshold speeds for acceleration profile 1
 24h 32 BYTEs	threshold speeds for acceleration profile 2
 44h 32 BYTEs	threshold speeds for acceleration profile 3
 64h 32 BYTEs	threshold speeds for acceleration profile 4
 84h 32 BYTEs	speedup factor for acceleration profile 1
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
 A4h 32 BYTEs	speedup factor for acceleration profile 2
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
 C4h 32 BYTEs	speedup factor for acceleration profile 3
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
 E4h 32 BYTEs	speedup factor for acceleration profile 4
		(10h = 1.0, 14h = 1.25, 20h = 2.0, etc)
104h 16 BYTEs	name of acceleration profile 1 (blank-padded)
114h 16 BYTEs	name of acceleration profile 2 (blank-padded)
124h 16 BYTEs	name of acceleration profile 3 (blank-padded)
134h 16 BYTEs	name of acceleration profile 4 (blank-padded)
Note:	unused bytes in the threshold speed fields are filled with 7Fh and
	  unused bytes in the speedup factor fields are filled with 10h

Top
33002C - INT 33 - MS MOUSE v7.0+ - GET ACCELERATION PROFILES
INT 33 - MS MOUSE v7.0+ - GET ACCELERATION PROFILES
	AX = 002Ch
Return: AX = status (0000h success)
	BX = currently-active acceleration profile
	ES:SI -> acceleration profile data (see #03180)
SeeAlso: AX=002Bh,AX=002Dh,AX=0033h

Top
33002D - INT 33 - MS MOUSE v7.0+ - SELECT ACCELERATION PROFILE
INT 33 - MS MOUSE v7.0+ - SELECT ACCELERATION PROFILE
	AX = 002Dh
	BX = acceleration level
	    0001h-0004h to set profile, or FFFFh to get current profile
Return: AX = status
	    0000h successful
		ES:SI -> 16-byte blank-padded name of acceleration profile
	    FFFEh invalid acceleration curve number
		ES:SI destroyed
	BX = active acceleration curve number
SeeAlso: AX=0013h,AX=002Bh,AX=002Ch,AX=002Eh

Top
33002E - INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILE NAMES
INT 33 - MS MOUSE v8.10+ - SET ACCELERATION PROFILE NAMES
	AX = 002Eh
	BL = flag (if nonzero, fill ES:SI buffer with default names on return)
	ES:SI -> 64-byte buffer containing profile names (16 bytes per name)
Return: AX = status (0000h success)
	    FFFEh error for ATI Mouse driver
	ES:SI buffer filled with default names if BL nonzero on entry
Notes:	not supported by Logitech driver v6.10
	supported by ATI Mouse driver v7.04
SeeAlso: AX=002Ch,AX=002Dh,AX=012Eh,AX=022Eh

Top
33002F - INT 33 - MS MOUSE v7.02+ - MOUSE HARDWARE RESET
INT 33 - MS MOUSE v7.02+ - MOUSE HARDWARE RESET
	AX = 002Fh
Return: AX = status
Note:	invoked by mouse driver v8.20 on being called with INT 2F/AX=530Bh
SeeAlso: INT 2F/AH=53h

Top
330030 - INT 33 - MS MOUSE v7.04+ - GET/SET BallPoint INFORMATION
INT 33 - MS MOUSE v7.04+ - GET/SET BallPoint INFORMATION
	AX = 0030h
	CX = command
	    0000h get status of BallPoint device
	    other set rotation angle and masks
		BX = rotation angle (-32768 to 32767 degrees)
		CH = primary button mask
		CL = secondary button mask
Return: AX = button status (FFFFh if no BallPoint) (see #03181)
	BX = rotation angle (0-360 degrees)
	CH = primary button mask
	CL = secondary button mask
Note:	not supported by the ATI Mouse driver which calls itself v7.04

Bitfields for BallPoint mouse button status:
Bit(s)	Description	(Table 03181)
 5	button 1
 4	button 2
 3	button 3
 2	button 4
 other	zero

Top
330031 - INT 33 - MS MOUSE v7.05+ - GET CURRENT MINIMUM/MAXIMUM VIRTUAL COORDINATES
INT 33 - MS MOUSE v7.05+ - GET CURRENT MINIMUM/MAXIMUM VIRTUAL COORDINATES
	AX = 0031h
Return: AX = virtual X minimum
	BX = virtual Y minimum
	CX = virtual X maximum
	DX = virtual Y maximum
Note:	the minimum and maximum values are those set by AX=0007h and AX=0008h;
	  the default is minimum = 0 and maximum = absolute maximum
	  (see AX=0026h)
SeeAlso: AX=0007h,AX=0008h,AX=0010h,AX=0026h

Top
330032 - INT 33 - MS MOUSE v7.05+ - GET ACTIVE ADVANCED FUNCTIONS
INT 33 - MS MOUSE v7.05+ - GET ACTIVE ADVANCED FUNCTIONS
	AX = 0032h
Return: AX = active function flags (FFFFh for v8.10)
	    bit 15: function 0025h supported
	    bit 14: function 0026h supported
	    ...
	    bit 0:  function 0034h supported
	BX = ??? (0000h) officially unused
	CX = ??? (E000h) officially unused
	DX = ??? (0000h) officially unused
Note:	the Italian version of MS MOUSE v8.20 reportedly indicates that
	  functions 0033h and 0034h are not supported even though they are

Top
330033 - INT 33 - MS MOUSE v7.05+ - GET SWITCH SETTINGS AND ACCELERATION PROFILE DATA
INT 33 - MS MOUSE v7.05+ - GET SWITCH SETTINGS AND ACCELERATION PROFILE DATA
	AX = 0033h
	CX = size of buffer
	    0000h get required buffer size
		Return: AX = 0000h
			CX = required size (0154h for Logitech v6.10, 0159h
				for MS v8.10-8.20)
	    other
		ES:DX -> buffer of CX bytes for mouse settings
		Return: AX = 0000h
			CX = number of bytes returned
			ES:DX buffer filled (see #03182)
SeeAlso: AX=002Bh

Format of mouse settings data buffer:
Offset	Size	Description	(Table 03182)
 00h	BYTE	mouse type
 01h	BYTE	current language
 02h	BYTE	horizontal sensitivity (00h-64h)
 03h	BYTE	vertical sensitivity (00h-64h)
 04h	BYTE	double-speed threshold (00h-64h)
 05h	BYTE	ballistic curve (01h-04h)
 06h	BYTE	interrupt rate (01h-04h)
 07h	BYTE	cursor override mask
 08h	BYTE	laptop adjustment
 09h	BYTE	memory type (00h-02h)
 0Ah	BYTE	SuperVGA support (00h,01h)
 0Bh	BYTE	rotation angle
 0Ch	BYTE	???
 0Dh	BYTE	primary button (01h-04h)
 0Eh	BYTE	secondary button (01h-04h)
 0Fh	BYTE	click lock enabled (00h,01h)
 10h 324 BYTEs	acceleration profile data (see #03180)
154h  5 BYTEs	??? (Microsoft driver, but not Logitech)

Top
330034 - INT 33 - MS MOUSE v8.0+ - GET INITIALIZATION FILE
INT 33 - MS MOUSE v8.0+ - GET INITIALIZATION FILE
	AX = 0034h
Return: AX = status (0000h successful)
	ES:DX -> ASCIZ initialization (.INI) file name

Top
330035 - INT 33 - MS MOUSE v8.10+ - LCD SCREEN LARGE POINTER SUPPORT
INT 33 - MS MOUSE v8.10+ - LCD SCREEN LARGE POINTER SUPPORT
	AX = 0035h
	BX = function
	    FFFFh get current settings
		Return: AX = 0000h
			BH = style (see #03183)
			BL = size (see #03184)
			CH = threshold (00h-64h)
			CL = active flag (00h disabled, 01h enabled)
			DX = delay
	    other
		BH = pointer style (see #03183)
		BL = size (see #03184)
		CH = threshold (00h-64h)
		CL = active flag (00h disable size change, 01h enable)
		DX = delay (0000h-0064h)
		Return: AX = 0000h
Note:	not supported by Logitech driver v6.10
SeeAlso: AX=0012h,AX=002Ah

(Table 03183)
Values for pointer style:
 00h	normal
 01h	reverse
 02h	transparent
SeeAlso: #03184

(Table 03184)
Values for pointer size:
 00h	small ("1")
 01h	medium ("1.5")
 02h	large ("2")
SeeAlso: #03183

Top
330042 - INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
INT 33 - PCMOUSE - GET MSMOUSE STORAGE REQUIREMENTS
	AX = 0042h
Return: AX = status
	    0000h MSMOUSE not installed
	    0042h functions 42h, 50h, and 52h not supported
	    FFFFh successful
		BX = buffer size in bytes for functions 50h and 52h
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0015h,AX=0050h,AX=0052h

Top
330043 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CONFIGURE MOUSE???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CONFIGURE MOUSE???
	AX = 0043h
	CX:BX -> configuration buffer (see #03185)
	DL = ???
Return: ???
Notes:	also calls routines for INT 33/AX=0053h and INT 33/AX=004Fh
	this function is also supported by the Genius Mouse 9.06 driver

Format of Mouse Systems configuration buffer:
Offset	Size	Description	(Table 03185)
 00h	WORD	I/O port address
 02h	BYTE	???
 03h	BYTE	interrupt number
 04h	BYTE	interrupt mask for interrupt controller
 05h  5 BYTEs	???

Top
330044CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE IGNORE ACCELERATION CMDS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE IGNORE ACCELERATION CMDS
	AX = 0044h
	CX = CDEFh
Return: AX = new state of "Ignore Application Acceleration Commands" flag
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0045h

Top
330045CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE RESOLUTION DOUBLING
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - TOGGLE RESOLUTION DOUBLING
	AX = 0045h
	CX = CDEFh
Return: AX = new state of resolution doubling flag
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0044h

Top
330047 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET BUTTON ASSIGNMENTS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET BUTTON ASSIGNMENTS
	AX = 0047h
	ES:BX -> button assignments (3 bytes, combinations of "L", "M", "R")
Return: ???
Note:	also supported by Genius Mouse 9.06 driver
SeeAlso: AX=0067h

Top
330048BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET ???
	AX = 0048h
	BX = CDEFh
Return: CX = ???
	BH = ???
	BL = ??? (if 50h, driver is using PS/2 pointing device BIOS interface)
Note:	also supported by Genius Mouse 9.06 driver

Top
33004B - INT 33 - LCS/Telegraphics MOUSE DRIVERS - INSTALLATION CHECK / GET VERSION
INT 33 - LCS/Telegraphics MOUSE DRIVERS - INSTALLATION CHECK / GET VERSION
	AX = 004Bh
Return: ES:DI -> ASCIZ signature/description string if installed (see #03186)

(Table 03186)
Values for LCS/Telegraphics mouse driver OEM signature/description string:
 "Primax Generic;Universal Mouse Driver;IMOUSE;v8.20i"
 "Synaptics;TouchPad Driver;SYNTOUCH;v2.26"
 "Z-NIX;BUS,AUX,Serial 3-byte and 5-byte Mouse Driver;ZMOUSE;v7.04d"
Note:	the string consists of OEM, driver description, driver name, and
	  version number

Top
33004CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ??? FLAG
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ??? FLAG
	AX = 004Ch
	BX = CDEFh
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=006Ch

Top
33004D - INT 33 - MS MOUSE - RETURN POINTER TO COPYRIGHT STRING
INT 33 - MS MOUSE - RETURN POINTER TO COPYRIGHT STRING
	AX = 004Dh
Return: ES:DI -> copyright message "*** This is Copyright 1983 Microsoft" or
		"Copyright 19XX...."
Notes:	also supported by Logitech, Kraft, Genius Mouse, and Mouse Systems
	  mouse drivers
	in the Genius Mouse 9.06 driver, the ASCIZ signature "KYE" immediately
	  follows the above copyright message (KYE Corp. manufactures the
	  driver)
SeeAlso: AX=0024h,AX=006Dh,AX=0666h

Top
33004F - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ENABLE MOUSE
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ENABLE MOUSE
	AX = 004Fh
Return: nothing
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0043h,AX=0053h

Top
330050 - INT 33 - PCMOUSE - SAVE MSMOUSE STATE
INT 33 - PCMOUSE - SAVE MSMOUSE STATE
	AX = 0050h
	BX = buffer size (ignored by some driver versions)
	ES:DX -> buffer
Return: AX = FFFFh if successful
Notes:	the buffer must be large enough to hold the entire state, or following
	  data will be overwritten by state data in versions which ignore BX;
	  use INT 33/AX=0042h to get the required size
	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=0042h,AX=0052h

Top
330052 - INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
INT 33 - PCMOUSE - RESTORE MSMOUSE STATE
	AX = 0052h
	BX = buffer size (ignored by some driver versions)
	ES:DX -> buffer
Return: AX = FFFFh if successful
Note:	also supported by Genius Mouse 9.06 driver
SeeAlso: AX=0050h

Top
330053 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - DISABLE MOUSE
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - DISABLE MOUSE
	AX = 0053h
Return: nothing
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0043h,AX=004Fh

Top
330054CXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SELECT ULTRARES ACCELERATION LEVEL
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SELECT ULTRARES ACCELERATION LEVEL
	AX = 0054h
	CX = CDEFh
	BX = new acceleration level (0-9)
Return: ???
Note:	this function is also supported by the Genius Mouse 9.06 driver
SeeAlso: AX=005Ah

Top
330055 - INT 33 - Kraft Mouse - GET ???
INT 33 - Kraft Mouse - GET ???
	AX = 0055h
Return: CX = ???
	DX = ???
	ES = ???

Top
330058 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
	AX = 0058h
Return: AX = CS of driver
	CX:BX = original INT 33 vector
	DX = ???
Note:	this function is also supported by the Genius Mouse 9.06 driver

Top
33005A - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ULTRARES ACCELERATIONS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - SET ULTRARES ACCELERATIONS
	AX = 005Ah
	CX = number of WORDs to copy (max 0014h, but not range-checked)
	DX:SI -> buffer containing thresholds??? (CX words)
	DX:BX -> buffer containing acceleration values???
		(9*14h words, only first CX of each 14h used)
	???
Return: CF clear
	???
Note:	this function is also supported by Genius Mouse 9.06
SeeAlso: AX=0054h

Top
330061BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
	AX = 0061h
	BX = CDEFh
Return: CX = ???
Note:	also supported by Genius Mouse 9.06

Top
330067 - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET MOUSE BUTTONS???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET MOUSE BUTTONS???
	AX = 0067h
Return: BL = number of buttons???
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0047h

Top
33006A - INT 33 U - ATI Mouse - INSTALLATION CHECK
INT 33 U - ATI Mouse - INSTALLATION CHECK
	AX = 006Ah
Return: AL = AAh
	AH = ???
	BH = ???
	BL = ???
	CL = ???
	CH = ???
Program: ATI's MOUSE.COM and MOUSE.SYS are drivers for the mouse port found on
	  some of ATI's video adapters
SeeAlso: AX=006Dh

Top
33006C - INT 33 U - TRUEDOX Mouse driver v4.01 - GET/SET HARDWARE PARAMETERS
INT 33 U - TRUEDOX Mouse driver v4.01 - GET/SET HARDWARE PARAMETERS
	AX = 006Ch
	BX = new IRQ (0003h or 0004h), or 0000h to get current values only
	CL = new IRQmask (sent to 8259)
	DX = new base I/O port
Return: BX = current IRQ
	DX = light pen state???
Note:	this is the mouse driver for the Dell Dimension series of computers, by
	  TRUEDOX Technology Corporation
SeeAlso: AX=00A1h,AX=0666h

Top
33006CBXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CLEAR ??? FLAG
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - CLEAR ??? FLAG
	AX = 006Ch
	BX = CDEFh
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=004Ch

Top
33006D - INT 33 - MS MOUSE - GET VERSION STRING
INT 33 - MS MOUSE - GET VERSION STRING
	AX = 006Dh 'm'
Return: ES:DI -> Microsoft version number of resident driver (see #03187)
Notes:	also supported by Logitech, Mouse Systems, Kraft, and Genius mouse
	  drivers
	the Mouse Systems 7.01 and Genius Mouse 9.06 drivers report their
	  Microsoft version as 7.00 even though they do not support any of the
	  functions from 0025h through 002Dh supported by the MS 7.00 driver
	  (the Genius Mouse driver supports function 0026h, but it differs
	  from the Microsoft function)
	the TRUEDOX 4.01 driver reports its version as 6.26 through this call,
	  but as 6.24 through AX=0024h
	There seems to be no reliable method to distinguish MS MOUSE before
	  3.00 from mouse drivers of other vendors.
	Some releases of the MS MOUSE 6.00 erroneously return 6.01 instead of
	  their true version number.  In this case, a DI value of 01ABh can
	  be used to still detect a 6.00 driver.
	For returned versions 6.02+, INT 33/AX=0024h should be used to retrieve
	  more accurate version data. 
	True MS MOUSE drivers can also be identified by magic numbers in
	  their copyright message, stored in the driver's segment (ES).
	  These can be found by scanning the first 2 Kb of the mouse 
	  driver's segment for a string like: [new since 7.00+] 
	  "** This is Copyright 1983[-19xx] Microsoft ***" with the
	  magic number stored one byte after the signature string.
SeeAlso: AX=0024h,AX=004Dh,AX=006Ah,AX=266Ch

Format of Microsoft version number:
Offset	Size	Description	(Table 03187)
 00h	BYTE	major version
 01h	BYTE	minor version (BCD)

(Table 04087)
Values for Microsoft MOUSE copyright string magic numbers:
 5564h	version 3.00..6.00	(for reported versions up to 5.03, and 6.00)
 557Ch	version 6.01Z..6.24	(for reported versions 6.01..6.24)
 E806h	version 6.25		(for reported version 6.25)
 EB02h	version 6.26..7.04	(for reported version 6.26..7.04)
 0800h	Integrated driver 1.0+	(for reported version 9.x+)
Note:	Versions above 7.04 (except for integrated mouse drivers) have a magic
	  number representing their version number, e.g. 0507h for version 7.05

Top
330070BXABCD - INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
INT 33 - Mouse Systems MOUSE DRIVER - POPUP.COM - INSTALLATION CHECK
	AX = 0070h
	BX = ABCDh
Return: AX = ABCDh if installed
	    BX:CX -> data structure (see #03188)
Notes:	this function is also supported by the Genius Mouse 9.06 driver
	the v7.01 POPUP.COM and menu drivers also check for the signature
	  CDh ABh BAh DCh at offset -2Ch from the interrupt handler
	if POPUP is not loaded, the returned data structure contains the proper
	  signature at offset 00h, but not at offset 08h

Format of Mouse Systems POPUP.COM data structure:
Offset	Size	Description	(Table 03188)
 00h	WORD	signature ABCDh
 02h	DWORD	pointer to info structure??? (see #03189)
 06h  2 BYTEs	???
 08h	WORD	signature ABCDh

Format of Mouse Systems POPUP.COM info structure:
Offset	Size	Description	(Table 03189)
 00h	WORD	driver version
 02h  8 BYTEs	???
 0Ah	WORD	segment of ???
	???

Top
330072BXABCD - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - ???
	AX = 0072h
	BX = ABCDh
Return: ???
Note:	this function is also supported by the Genius Mouse 9.06 driver

Top
330073BXCDEF - INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET BUTTON ASSIGNMENTS
INT 33 - Mouse Systems MOUSE DRIVER v7.01+ - GET BUTTON ASSIGNMENTS
	AX = 0073h
	BX = CDEFh
	ES:DX -> 3-byte buffer for button assignments
Return: CX = number of buttons???
	ES:DX buffer filled (default is "LMR")
Note:	also supported by Genius Mouse 9.06
SeeAlso: AX=0067h

Top
3300A0 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE PC MODE (3 button)
INT 33 U - TRUEDOX Mouse driver - SET HARDWARE PC MODE (3 button)
	AX = 00A0h
Return: nothing
Note:	this function is only available if the mouse mode is switchable
	  through the power pins
SeeAlso: AX=006Ch"TRUEDOX",AX=00A1h"TRUEDOX"

Top
3300A1 - INT 33 U - TRUEDOX Mouse driver - SET HARDWARE MS MODE (2 button)
INT 33 U - TRUEDOX Mouse driver - SET HARDWARE MS MODE (2 button)
	AX = 00A1h
Return: nothing
Notes:	this function is only available if the mouse mode is switchable
	  through the power pins
	this is the mouse driver for the Dell Dimension series of computers, by
	  TRUEDOX Technology Corporation
SeeAlso: AX=006Ch"TRUEDOX",AX=00A0h"TRUEDOX",AX=00A6h,AX=0666h

Top
3300A6 - INT 33 U - TRUEDOX Mouse driver - SET RESOLUTION
INT 33 U - TRUEDOX Mouse driver - SET RESOLUTION
	AX = 00A6h
	BX = new software resolution
	    0001h 50-200 dpi
	    0002h 200-400 dpi
	    0003h 400-800 dpi
Note:	this is the mouse driver for the Dell Dimension series of computers, by
	  TRUEDOX Technology Corporation
SeeAlso: AX=00A0h,AX=00A1h,AX=0666h

Top
3300B0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00B0h
	???
Return: ???

Top
3300D6 - INT 33 - Twiddler TWMOUSE - GET BUTTON/TILT STATE
INT 33 - Twiddler TWMOUSE - GET BUTTON/TILT STATE
	AX = 00D6h
Return: AX = current button bitmap
	BX = current X tilt (approximately -200..+200 = -90degrees..+90deg.)
	CX = current Y tilt
Program: the Twiddler is a chording keyboard/mouse combination by Handykey
	  Corporation

Top
3300F0 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F0h
	???
Return: ???

Top
3300F1 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F1h
	???
Return: ???

Top
3300F2 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F2h
	???
Return: ???

Top
3300F3 - INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
INT 33 U - LCS/Telegraphics MOUSE DRIVERS - ???
	AX = 00F3h
	???
Return: ???

Top
330100CX4752 - INT 33 - GRTMOUSE v1.00+ - INSTALLATION CHECK
INT 33 - GRTMOUSE v1.00+ - INSTALLATION CHECK
	AX = 0100h
	CX = 4752h ('GR')
	DX = 544Dh ('TM')
Return: AX = 474Dh ('GM') if installed
	    CX = version number (CH = major, CL = minor)
Program: GRTMOUSE is a graphical-cursor driver for textmode by Tommer Leyvand
SeeAlso: AX=0101h,AX=0102h,AX=0103h,AX=0104h

Top
330101 - INT 33 - GRTMOUSE v1.00+ - SET MOUSE CURSOR SHAPE
INT 33 - GRTMOUSE v1.00+ - SET MOUSE CURSOR SHAPE
	AX = 0101h
	DS:SI -> 16-byte cursor pattern
Return: CF clear if successful
SeeAlso: AX=0100h,AX=0102h

Top
330102 - INT 33 - GRTMOUSE v1.00+ - GET MOUSE CURSOR SHAPE
INT 33 - GRTMOUSE v1.00+ - GET MOUSE CURSOR SHAPE
	AX = 0102h
	ES:DI -> 16-byte buffer for cursor pattern
SeeAlso: AX=0100h,AX=0101h

Top
330103 - INT 33 - GRTMOUSE v1.00+ - SET ACTIVE CHARACTERS
INT 33 - GRTMOUSE v1.00+ - SET ACTIVE CHARACTERS
	AX = 0103h
	CH,CL,DH,DL = ASCII codes to be remapped to display mouse pointer
Note:	the default active characters are D0h,D1h,D6h,D8h; the active
	 characters should be in the range C0h to DFh
SeeAlso: AX=0100h,AX=0104h

Top
330104 - INT 33 - GRTMOUSE v1.00+ - GET ACTIVE CHARACTERS
INT 33 - GRTMOUSE v1.00+ - GET ACTIVE CHARACTERS
	AX = 0104h
Return: CH,CL,DH,DL = ASCII codes for the active characters
SeeAlso: AX=0100h,AX=0103h

Top
33012E - INT 33 - MS MOUSE v8.10+ - ???
INT 33 - MS MOUSE v8.10+ - ???
	AX = 012Eh
	BL = ???
Return: AX = 0000h (MS)
	AX = FFFFh (ATI Mouse v7.04)
Note:	not supported by Logitech driver v6.10
SeeAlso: AX=002Eh,AX=022Eh

Top
33022E - INT 33 - MS MOUSE v8.10+ - ???
INT 33 - MS MOUSE v8.10+ - ???
	AX = 022Eh
	BL = ???
Return: AX = 0000h (MS)
	AX = FFFFh (ATI Mouse v7.04)
Note:	not supported by Logitech driver v6.10
SeeAlso: AX=002Eh,AX=012Eh

Top
330666 - INT 33 U - TRUEDOX Mouse driver v4.01 - GET COPYRIGHT STRING
INT 33 U - TRUEDOX Mouse driver v4.01 - GET COPYRIGHT STRING
	AX = 0666h
Return: DX:AX -> ASCII "Copyright 1987-1992 TRUEDOX Technology Corporation"
Note:	this is the mouse driver for the Dell Dimension series of computers,
	  by TRUEDOX Technology Corporation
SeeAlso: AX=004Dh,AX=00A6h,AX=0666h

Top
33136C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 136Ch
	BX = ???
Return: AX = ???
	BX = ???

Top
33146C - INT 33 - LOGITECH MOUSE v6.10+ - GET/SET ???
INT 33 - LOGITECH MOUSE v6.10+ - GET/SET ???
	AX = 146Ch
	BL = function
	    00h set ???
		BH = new value (zero/nonzero to clear/set)
	    else get ???
		Return: ???

Top
33156C - INT 33 - LOGITECH MOUSE v6.10+ - GET SIGNATURE AND VERSION STRINGS
INT 33 - LOGITECH MOUSE v6.10+ - GET SIGNATURE AND VERSION STRINGS
	AX = 156Ch
Return: ES:DI -> signature "LOGITECH MOUSE DRIVER"
	ES:SI -> version string, terminated with CRLF

Top
33166C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 166Ch
	BL = ???
	    00h ???
	    01h ???
	    other ???
		BH = new value of ???
		Return: AX = FFFFh

Top
33176C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 176Ch
	???
Return: ???

Top
33186C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 186Ch
	???
Return: ???

Top
33196C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 196Ch
	???
Return: ???

Top
331A6C - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
INT 33 - LOGITECH MOUSE v6.10+ - GET ???
	AX = 1A6Ch
Return: AX = FFFFh
	BX = ???
	CX = ???
SeeAlso: AX=1B6Ch

Top
331B6C - INT 33 - LOGITECH MOUSE v6.10+ - SET ???
INT 33 - LOGITECH MOUSE v6.10+ - SET ???
	AX = 1B6Ch
	BX = new value for ??? (0000h-0003h)
Return: AX = FFFFh
SeeAlso: AX=1A6Ch

Top
331C6C - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 1C6Ch
	BX = ???
	    <42h ???
	    =42h ???
	    >42h ???
		ES:DI -> ???
		Return: AX = ???

Top
331D6C - INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
INT 33 - LOGITECH MOUSE - GET COMPASS PARAMETER
	AX = 1D6Ch
Return: BX = direction (0=north, 1=south, 2=east, 3=west)
SeeAlso: AX=1E6Ch

Top
331E6C - INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
INT 33 - LOGITECH MOUSE - SET COMPASS PARAMETER
	AX = 1E6Ch
	BX = direction (0=north, 1=south, 2=east, 3=west)
SeeAlso: AX=1D6Ch

Top
331F6C - INT 33 - LOGITECH MOUSE - GET BALLISTICS INFORMATION
INT 33 - LOGITECH MOUSE - GET BALLISTICS INFORMATION
	AX = 1F6Ch
Return: BX = 0=off, 1=on
	CX = 1=low, 2=high
SeeAlso: AX=002Ch,AX=236Ch

Top
33206C - INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
INT 33 - LOGITECH MOUSE - SET LEFT OR RIGHT PARAMETER
	AX = 206Ch
	BX = parameter (00h = right, FFh = left)
SeeAlso: AX=216Ch

Top
33216C - INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
INT 33 - LOGITECH MOUSE - GET LEFT OR RIGHT PARAMETER
	AX = 216Ch
Return: BX = parameter (00h = right, FFh = left)
SeeAlso: AX=206Ch

Top
33226C - INT 33 - LOGITECH MOUSE - REMOVE DRIVER FROM MEMORY
INT 33 - LOGITECH MOUSE - REMOVE DRIVER FROM MEMORY
	AX = 226Ch
Note:	this only frees memory; does not restore hooked interrupts

Top
33236C - INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
INT 33 - LOGITECH MOUSE - SET BALLISTICS INFORMATION
	AX = 236Ch
	BX = 0=off, 1=on
	CX = 1=low, 2=high
SeeAlso: AX=002Ch,AX=1F6Ch

Top
33246C - INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
INT 33 - LOGITECH MOUSE - GET PARAMETERS AND RESET SERIAL MOUSE
	AX = 246Ch
	ES:DX -> parameter table buffer (see #03190)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=0000h,AX=256Ch/BX=0000h,AX=256Ch/BX=0001h,AX=256Ch/BX=0003h

Format of Logitech Mouse parameter table:
Offset	Size	Description	(Table 03190)
 00h	WORD	baud rate divided by 100  (serial mouse only)
 02h	WORD	emulation		  (serial mouse only)
 04h	WORD	report rate		  (serial mouse only)
 06h	WORD	firmware revision	  (serial mouse only)
 08h	WORD	00h			  (serial mouse only)
 0Ah	WORD	port			  (serial mouse only)
 0Ch	WORD	physical buttons
 0Eh	WORD	logical buttons

Top
33256CBX0000 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET BAUD RATE (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET BAUD RATE (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0000h
	CX = rate (0=1200, 1=2400, 2=4800, 3=9600)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0001h,AX=256Ch/BX=0002h,AX=276Ch

Top
33256CBX0001 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET EMULATION (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET EMULATION (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0001h
	CX = emulation type (see #03191)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0000h,AX=256Ch/BX=0003h,AX=276Ch

(Table 03191)
Values for Logitech mouse emulation type:
 00h	5 byte packed binary
 01h	3 byte packed binary
 02h	hexadecimal
 03h	relative bit pad
 04h	not supported
 05h	MM Series
 06h	not supported
 07h	Microsoft

Top
33256CBX0002 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET REPORT RATE (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET REPORT RATE (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0002h
	CX = rate (0=10, 1=20, 2=35, 3=50, 4=70, 5=100, 6=150)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0001h,AX=256Ch/BX=0003h,AX=276Ch

Top
33256CBX0003 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE PORT (SERIAL MOUSE ONLY)
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE PORT (SERIAL MOUSE ONLY)
	AX = 256Ch
	BX = 0003h
	CX = port (1, 2)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=256Ch/BX=0000h,AX=256Ch/BX=0004h,AX=276Ch

Top
33256CBX0004 - INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE LOGICAL BUTTONS
INT 33 - LOGITECH MOUSE - SET PARAMETERS - SET MOUSE LOGICAL BUTTONS
	AX = 256Ch
	BX = 0004h
	CX = buttons (2, 3)
Return: AX = FFFFh if driver installed for serial mouse
SeeAlso: AX=246Ch,AX=276Ch

Top
33266C - INT 33 - LOGITECH MOUSE - GET VERSION???
INT 33 - LOGITECH MOUSE - GET VERSION???
	AX = 266Ch
Return: BX = 'SS'
	CH = '4'  major version number
	CL = '1'  minor version number
SeeAlso: AX=006Dh

Top
33276C - INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
INT 33 - LOGITECH MOUSE - ??? Tries MMSeries, Baud 2400
	AX = 276Ch
SeeAlso: AX=256Ch

Top
333000 - INT 33 - Smooth Mouse Driver, PrecisePoint - INSTALLATION CHECK
INT 33 - Smooth Mouse Driver, PrecisePoint - INSTALLATION CHECK
	AX = 3000h
Return: AX = FFFFh if installed
	    BX = version number (BH = major, BL = minor)
Program: SMD is a programmer's library by Andy Hakim which provides a
	  graphics-style mouse cursor in text mode.  PrecisePoint is an
	  SMD-based TSR which replaces the block mouse cursor in text
	  applications.
SeeAlso: AX=0000h,AX=3001h,AX=3003h

Top
333001 - INT 33 - Smooth Mouse Driver, PrecisePoint - ENABLE SMOOTH MOUSE
INT 33 - Smooth Mouse Driver, PrecisePoint - ENABLE SMOOTH MOUSE
	AX = 3001h
Return: AX = status (0000h = disabled, 0001h = enabled)
Note:	SMD remains disabled if running under Desqview or in graphics mode
SeeAlso: AX=0001h,AX=0002h,AX=3002h

Top
333002 - INT 33 - Smooth Mouse Driver, PrecisePoint - DISABLE SMOOTH MOUSE
INT 33 - Smooth Mouse Driver, PrecisePoint - DISABLE SMOOTH MOUSE
	AX = 3002h
Return: AX = status (0000h = disabled, 0001h = enabled)
SeeAlso: AX=0001h,AX=0002h,AX=3000h,AX=3001h

Top
333003 - INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
INT 33 - Smooth Mouse Driver, PrecisePoint - GET INFORMATION
	AX = 3003h
	BL = data structure selector
	    00h Primary Bitmap (used for 25 line mode) (see #03192)
	    01h Secondary Bitmap (used for 43/50 line modes) (see #03192)
	    02h Sacrifice Character Map (see #03193)
	    03h Program Information (see #03194)
Return: ES:DX -> selected data structure
SeeAlso: AX=3000h

Format of Primary/Secondary Bitmap [SMD_BITMAP_STRUCT]:
Offset	Size	Description	(Table 03192)
 00h	BYTE	vertical size of bitmap (00h - 10h)
 01h	BYTE	horizontal size of bitmap (00h - 10h)
 02h	BYTE	vertical hotspot position (00h - 10h)
 03h	BYTE	horizontal hotspot position (00h - 10h)
 04h 16 WORDs	cursor bitmap data
 14h 16 WORDs	screen bitmap data

Format of Sacrifice Character Map [SMD_SMAP_STRUCT]:
Offset	Size	Description	(Table 03193)
 00h	BYTE	bytes are character values (00h-FFh) used in place of the
 01h	BYTE	actual character for the corresponding position on the screen
 02h	BYTE	     +--------------+	  occupied by part or all of the mouse
 03h	BYTE	     | 0h | 1h | 2h |	  cursor
 04h	BYTE	     |----+----+----|
 05h	BYTE	     | 3h | 4h | 5h |
 06h	BYTE	     |----+----+----|
 07h	BYTE	     | 6h | 7h | 8h |
 08h	BYTE	     +--------------+

Format of Program Information [SMD_INFO_STRUCT]:
Offset	Size	Description	(Table 03194)
 00h	WORD	segment of old interrupt 33h handler
 02h	WORD	offset of old interrupt 33h handler
 04h	WORD	PSP of SMD
 06h	BYTE	ENABLE/DISABLE manual setting status
 07h	BYTE	ENABLE/DISABLE internal usage status

Top
333004 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
	AX = 3004h
SeeAlso: AX=3000h

Top
333005 - INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
INT 33 - Smooth Mouse Driver, PrecisePoint - RESERVED FUTURE EXPANSION
	AX = 3005h
SeeAlso: AX=3000h

Top
334F00 - INT 33 - LOGITECH MOUSE v6.10+ - GET ???
INT 33 - LOGITECH MOUSE v6.10+ - GET ???
	AX = 4F00h
Return: AX = 004Fh if supported
	BX = ???
	ES:DI -> ???
SeeAlso: AX=4F01h

Top
334F01 - INT 33 - LOGITECH MOUSE v6.10+ - ???
INT 33 - LOGITECH MOUSE v6.10+ - ???
	AX = 4F01h
	ES = ???
Return: AX = 004Fh if supported
	ES:DI -> ???
SeeAlso: AX=4F00h

Top
336F00 - INT 33 - Hewlett Packard - HP MOUSE DRIVER INSTALLATION CHECK
INT 33 - Hewlett Packard - HP MOUSE DRIVER INSTALLATION CHECK
	AX = 6F00h
	BX <> 4850h
Return: BX = 4850h ('HP') if mouse driver written by Hewlett Packard
SeeAlso: INT 10/AX=6F00h,INT 14/AX=6F00h,INT 16/AX=6F00h,INT 17/AX=6F00h

Top
338800 - INT 33 U - InfoTrack IMOUSE.COM - UNHOOK MOUSE IRQ
INT 33 U - InfoTrack IMOUSE.COM - UNHOOK MOUSE IRQ
	AX = 8800h
	BX <> FFFFh
Note:	the code is written to expect a subfunction number in AL, but only
	  function 00h has been implemented
SeeAlso: AX=8800h/BX=FFFFh

Top
338800BXFFFF - INT 33 U - InfoTrack IMOUSE.COM - GET ACTIVE IRQ
INT 33 U - InfoTrack IMOUSE.COM - GET ACTIVE IRQ
	AX = 8800h
	BX = FFFFh
Return: BL = number of IRQ being used by the mouse
SeeAlso: AX=8800h

Top
33FFE6 - INT 33 - Switch-It v3.23 - GET ??? PROGRAM
INT 33 - Switch-It v3.23 - GET ??? PROGRAM
	AX = FFE6h
	CX = length of buffer
	ES:DI -> buffer for program name
Return: ES:DI buffer filled
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFE7 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFE7h
Return: AX = ???

Top
33FFE8 - INT 33 - Switch-It v3.23 - ???
INT 33 - Switch-It v3.23 - ???
	AX = FFE8h
	CX = length of name including terminating NUL
	DS:SI -> ASCIZ program pathname

Top
33FFE9 - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFE9h
	BX = ???

Top
33FFEA - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFEAh
	BL = ???

Top
33FFEB - INT 33 - Switch-It v3.23 - SET ??? FLAG
INT 33 - Switch-It v3.23 - SET ??? FLAG
	AX = FFEBh

Top
33FFEC - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFECh
	BL = ???

Top
33FFED - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFEDh
Return: AX = ??? (0001h)
	BX = ???
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFEE - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFEEh
Return: AX = ???

Top
33FFEF - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFEFh
Return: BX:AX -> ???

Top
33FFF0 - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFF0h
	BL = ???

Top
33FFF1 - INT 33 - Switch-It v3.23 - GET CONFIGURATION FILE
INT 33 - Switch-It v3.23 - GET CONFIGURATION FILE
	AX = FFF1h
Return: BX:AX -> ASCIZ pathname of configuration file
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFF2 - INT 33 - Switch-It v3.23 - SET ??? FLAG
INT 33 - Switch-It v3.23 - SET ??? FLAG
	AX = FFF2h
Return: AL = 01h

Top
33FFF3 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF3h
Return: AX = ???

Top
33FFF4 - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFF4h
	BX = ???
	CX = ???

Top
33FFF5 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF5h
Return: AX = ???

Top
33FFF6 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF6h
Return: AX = ???

Top
33FFF7 - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFF7h
	BX = index of ???
Return: AX = ???

Top
33FFF8 - INT 33 - Switch-It v3.23 - ???
INT 33 - Switch-It v3.23 - ???
	AX = FFF8h
	BX = ???
	CX = length of program name, including terminating NUL
	DS:SI -> ASCIZ program pathname
Return: ???
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
33FFF9 - INT 33 - Switch-It v3.23 - NOP
INT 33 - Switch-It v3.23 - NOP
	AX = FFF9h

Top
33FFFA - INT 33 - Switch-It v3.23 - SET ???
INT 33 - Switch-It v3.23 - SET ???
	AX = FFFAh
	BX = index of program
SeeAlso: AX=FFFBh,AX=FFFCh

Top
33FFFB - INT 33 - Switch-It v3.23 - GET ???
INT 33 - Switch-It v3.23 - GET ???
	AX = FFFBh
	BX = index of program
Return: AX = ??? (0000h or 0001h)
SeeAlso: AX=FFFAh,AX=FFFCh

Top
33FFFC - INT 33 - Switch-It v3.23 - CLEAR ???
INT 33 - Switch-It v3.23 - CLEAR ???
	AX = FFFCh
	BX = index of program
SeeAlso: AX=FFFAh,AX=FFFCh

Top
33FFFD - INT 33 - Switch-It v3.23 - GET MEMORY ADDRESSES???
INT 33 - Switch-It v3.23 - GET MEMORY ADDRESSES???
	AX = FFFDh
Return: AX = first available segment???
	BX = paragraph of top of conventional memory
	DX = PSP segment of SI.EXE

Top
33FFFE - INT 33 - Switch-It v3.23 - INSTALLATION CHECK
INT 33 - Switch-It v3.23 - INSTALLATION CHECK
	AX = FFFEh
Return: BX = ???
	DX = 5349h ("SI")

Top
33FFFF - INT 33 - Switch-It v3.23 - ???
INT 33 - Switch-It v3.23 - ???
	AX = FFFFh
	BX = ???
Program: Switch-It is a task switcher supporting up to 100 programs
	  simultaneously by Better Software Technology, Inc.

Top
34 - INT 34 - FLOATING POINT EMULATION - OPCODE D8h
INT 34 - FLOATING POINT EMULATION - OPCODE D8h
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of D8h
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 35,INT 3E

Top
35 - INT 35 - FLOATING POINT EMULATION - OPCODE D9h
INT 35 - FLOATING POINT EMULATION - OPCODE D9h
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of D9h
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 34,INT 36

Top
36 - INT 36 - FLOATING POINT EMULATION - OPCODE DAh
INT 36 - FLOATING POINT EMULATION - OPCODE DAh
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of DAh
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 35,INT 37

Top
37 - INT 37 - FLOATING POINT EMULATION - OPCODE DBh
INT 37 - FLOATING POINT EMULATION - OPCODE DBh
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of DBh
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 36,INT 38

Top
38 - INT 38 - FLOATING POINT EMULATION - OPCODE DCh
INT 38 - FLOATING POINT EMULATION - OPCODE DCh
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of DCh
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 37,INT 39

Top
38 - INT 38 - PC-MOS/386 v3.0 - API
INT 38 - PC-MOS/386 v3.0 - API
Note:	this API was been moved to INT D4h sometime between versions 3.0 and
	  5.01; v3.0 supported at least functions 02h,04h,0703h,10h,11h, and
	  12h
SeeAlso: INT D4/AH=02h,INT D4/AH=04h,INT D4/AH=07h,INT D4/AH=10h,INT D4/AH=11h

Top
39 - INT 39 - FLOATING POINT EMULATION - OPCODE DDh
INT 39 - FLOATING POINT EMULATION - OPCODE DDh
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of DDh
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 38,INT 3A

Top
3A - INT 3A - FLOATING POINT EMULATION - OPCODE DEh
INT 3A - FLOATING POINT EMULATION - OPCODE DEh
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of DEh
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 39,INT 3B

Top
3B - INT 3B - FLOATING POINT EMULATION - OPCODE DFh
INT 3B - FLOATING POINT EMULATION - OPCODE DFh
Desc:	this interrupt is used to emulate floating-point instructions with
	  an opcode of DFh
Note:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
SeeAlso: INT 3A,INT 3C

Top
3C - INT 3C - FLOATING POINT EMULATION - INSTRUCTIONS WITH SEGMENT OVERRIDE
INT 3C - FLOATING POINT EMULATION - INSTRUCTIONS WITH SEGMENT OVERRIDE
Notes:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
	the generated code is  CD 3C xy mm ....
	  where xy is a modified ESC instruction and mm is the modR/M byte.
	  The xy byte appears to be encoded as
		s s 0 1 1 x x x	  or	s s 0 0 0 x x x
	  where "ss" specifies the segment override:
		00 -> DS:
		01 -> SS:
		10 -> CS:
		11 -> ES:
SeeAlso: INT 3B,INT 3D

Top
3D - INT 3D - FLOATING POINT EMULATION - STANDALONE FWAIT
INT 3D - FLOATING POINT EMULATION - STANDALONE FWAIT
Notes:	the floating-point emulators in Borland and Microsoft languages and
	  Lahey FORTRAN use this interrupt
	this vector is modified but not restored by Direct Access v4.0, and
	  may be left dangling by other programs written with the same version
	  of compiled BASIC
SeeAlso: INT 3C,INT 3E

Top
3E - INT 3E - FLOATING POINT EMULATION - Borland LANGUAGES "SHORTCUT" CALL
INT 3E - FLOATING POINT EMULATION - Borland LANGUAGES "SHORTCUT" CALL
Notes:	the two bytes following the INT 3E instruction are the subcode
	  (see #03195) and a NOP (90h), except for subcodes DCh and DEh, where
	  the second byte is a register count (01h-08h)
	this vector is modified but not restored by Direct Access v4.0, and
	  may be left dangling by other programs written with the same version
	  of compiled BASIC
SeeAlso: INT 3D

(Table 03195)
Values for Borland floating-point shortcut subcode:
Subcode		Function
 DCh	load 8086 stack with 8087 registers; overwrites the 10*N bytes at the
	  top of the stack prior to the INT 3E with the 8087 register contents
 DEh	load 8087 registers from top of 8086 stack; ST0 is furthest from top
	  of 8086 stack
 E0h	round TOS and R1 to single precision, compare, pop twice
	  returns AX=8087 status word, FLAGS=8087 condition bits
 E2h	round TOS and R1 to double precision, compare, pop twice
	  returns AX=8087 status word, FLAGS=8087 condition bits
	Note: buggy in TPas5.5, because it sets the 8087 precision control
	  field to the undocumented value 01h; this results in actually
	  rounding to single precision
 E4h	compare TOS/R1 with two POP's
	  returns FLAGS=8087 condition bits
 E6h	compare TOS/R1 with POP
	  returns FLAGS=8087 condition bits
 E8h	FTST (check TOS value)
	  returns FLAGS=8087 condition bits
 EAh	FXAM (check TOS value)
	  returns AX=8087 status word
 ECh	sine(ST0)
 EEh	cosine(ST0)
 F0h	tangent(ST0)
 F2h	arctangent(ST0)
 F4h	ST0 = ln(ST0)
 F6h	ST0 = log2(ST0)
 F8h	ST0 = log10(ST0)
 FAh	ST0 = e**ST0
 FCh	ST0 = 2**ST0
 FEh	ST0 = 10**ST0

Top
3F - INT 3F - Overlay manager interrupt (Microsoft LINK.EXE, Borland TLINK VROOMM)
INT 3F - Overlay manager interrupt (Microsoft LINK.EXE, Borland TLINK VROOMM)
Notes:	INT 3F is the default, and may be overridden while linking
	this vector is modified but not restored by Direct Access v4.0, and
	  may be left dangling by other programs written with the same version
	  of compiled BASIC
SeeAlso: INT FE"OVERLAY"

Top
3F - INT 3F - Microsoft Dynamic Link Library manager
INT 3F - Microsoft Dynamic Link Library manager
SeeAlso: INT 21/AH=4Bh

Top
40 - INT 40 - DISKETTE - ROM BIOS DISKETTE HANDLER RELOCATED BY HARD DISK BIOS
INT 40 - DISKETTE - ROM BIOS DISKETTE HANDLER RELOCATED BY HARD DISK BIOS
SeeAlso: INT 13/AH=00h,INT 13/AH=02h,INT 47"SuperBIOS",INT 63"Adaptec"

Top
40 - INT 40 - Z100 - Master 8259 - Parity error or S100 error
INT 40 - Z100 - Master 8259 - Parity error or S100 error
SeeAlso: INT 41"Z100",INT FF"Z100"

Top
40 - INT 40 - Acorn BBC Master 512 - "OSFIND" - OPEN FILE
INT 40 - Acorn BBC Master 512 - "OSFIND" - OPEN FILE
	AL = operation
	    00h close file
	    40h open file for reading
	    80h open file for writing
	    C0h open file for random access
	DS:BX -> CR-terminated filename
Return: AL = file handle (00h if file closed or could not be opened)
Note:	the Acorn BBC Master 512 is an 80186-based add-on board for the
	  6502-based Master 128 which uses the original CPU as an I/O processor
SeeAlso: INT 41"Acorn",INT 42"Acorn",INT 43"Acorn",INT 44"Acorn",INT 4C"Acorn"

Top
40 - INT 40 - TI Professional PC - IRQ0
INT 40 - TI Professional PC - IRQ0
Note:	on the TI Pro, IRQ0 is connected to the same pin on the expansion bus
	  that IBM connects to IRQ2
SeeAlso: INT 0A"IRQ2",INT 41"TI Professional"

Top
41 - INT 41 - SYSTEM DATA - HARD DISK 0 PARAMETER TABLE ADDRESS [NOT A VECTOR!]
INT 41 - SYSTEM DATA - HARD DISK 0 PARAMETER TABLE ADDRESS [NOT A VECTOR!]
Notes:	the default parameter table array is located at F000h:E401h in 100%
	  compatible BIOSes; the pointer may be overridden by the hard disk
	  controller's BIOS to support drive formats unknown to the ROM BIOS
	not used by some PS/2 models
	BIOSes which support four hard drives may store the parameter tables
	  for drives 81h-83h immediately following the parameter table pointed
	  at by INT 41, with a separate copy of the drive 81h table for INT 46.
	  The check for such an arrangement is to test whether INT 46 points
	  somewhere other than exactly 16 bytes past INT 41, and the sixteen
	  bytes starting at offset 10h from INT 41 are identical to the sixteen
	  bytes pointed at by INT 46
	another arrangement for BIOSes which support four IDE drives is to have
	  four tables pointed at by INT 41 in the order primary master,
	  primary slave, secondary master, and secondary slave, in which case
	  (for example) a system with only primary master and secondary master
	  will have valid tables at offsets 00h and 20h, with garbage (but
	  sectors-per-track = 00h) at offsets 10h and 30h
SeeAlso: #03196,INT 13/AH=09h,INT 1E,INT 46"HARD DISK 1",INT 60"Adaptec"
SeeAlso: INT C0"AMI"

Format of fixed disk parameters:
Offset	Size	Description	(Table 03196)
 00h	WORD	number of cylinders
 02h	BYTE	number of heads
 03h	WORD	starting reduced write current cylinder (XT only, 0 for others)
 05h	WORD	starting write precompensation cylinder number
 07h	BYTE	maximum ECC burst length (XT only)
 08h	BYTE	control byte (see #03197,#03198)
 09h	BYTE	standard timeout (XT only, 0 for others)
 0Ah	BYTE	formatting timeout (XT and WD1002 only, 0 for others)
 0Bh	BYTE	timeout for checking drive (XT and WD1002 only, 0 for others)
 0Ch	WORD	cylinder number of landing zone (AT and later only)
 0Eh	BYTE	number of sectors per track (AT and later only)
 0Fh	BYTE	reserved
SeeAlso: #00273,#00277

Bitfields for XT fixed disk control byte:
Bit(s)	Description	(Table 03197)
 2-0	drive step speed
	000  3ms
	100  200ms
	101  70ms (default)
	110  3ms
	111  3ms
 5-3	unused
 6	disable ECC retries
 7	disable access retries

Bitfields for AT fixed disk control byte:
Bit(s)	Description	(Table 03198)
 0	unused
 1	reserved (0)  (disable IRQ)
 2	reserved (0)  (no reset)
 3	set if more than 8 heads
 4	always 0
 5	set if manufacturer's defect map on max cylinder+1  (AT and later only)
 6	disable ECC retries
 7	disable access retries

Top
41 - INT 41 - Z100 - Master 8259 - Processor Swap
INT 41 - Z100 - Master 8259 - Processor Swap
SeeAlso: INT 40"Z100",INT 42"Z100"

Top
41 - INT 41 - TI Professional PC - IRQ1
INT 41 - TI Professional PC - IRQ1
Note:	on the TI Pro, IRQ1 is connected to the same pin on the expansion bus
	  that IBM connects to IRQ3
SeeAlso: INT 0B"IRQ3",INT 40"TI Professional",INT 42"TI Professional"

Top
41 - INT 41 - Acorn BBC Master 512 - "OSGBPB" - MULTI-BYTE GET/PUT
INT 41 - Acorn BBC Master 512 - "OSGBPB" - MULTI-BYTE GET/PUT
	AL = function
	    01h put bytes sequentially
	    02h put bytes, ignoring sequential pointer
	    03h get bytes sequentially
	    04h get bytes, ignoring sequential pointer
	    05h get media title and boot option
	    06h get current device and directory
	    07h get current library and device
	    08h search directory
	DS:BX -> control block (see #03199)
Return: CF clear if successful
	CF set on error
	AL = 00h if operation attempted
	AL unchanged if unsupported function
SeeAlso: INT 40"Acorn",INT 42"Acorn",INT 43"Acorn"

Format of BBC Master control block:
Offset	Size	Description	(Table 03199)
 00h	BYTE	file handle
 01h	DWORD	pointer to data in either I/O processor or Tube processor
 05h	DWORD	number of bytes to be transferred
 09h	DWORD	transfer address

Top
410000 - INT 41 CPU - MS Windows debugging kernel - OUTPUT CHARACTER FOR USER
INT 41 CPU - MS Windows debugging kernel - OUTPUT CHARACTER FOR USER
	AX = 0000h
	DS:DX -> character
Note:	the kernel calls this function when it wants the user program to
	  output a character
SeeAlso: AX=0001h

Top
410001 - INT 41 CPU - MS Windows debugging kernel - INPUT CHARACTER
INT 41 CPU - MS Windows debugging kernel - INPUT CHARACTER
	AX = 0001h
Return: AL = character
Note:	the kernel calls this function when it needs to input a character
SeeAlso: AX=0000h

Top
41000D - INT 41 CPU - MS Windows debugging kernel - TASK GOING OUT
INT 41 CPU - MS Windows debugging kernel - TASK GOING OUT
	AX = 000Dh
SeeAlso: AX=000Eh

Top
41000E - INT 41 CPU - MS Windows debugging kernel - TASK COMING IN
INT 41 CPU - MS Windows debugging kernel - TASK COMING IN
	AX = 000Eh
SeeAlso: AX=000Dh

Top
410012 - INT 41 CPU - MS Windows debugging kernel - "OutputDebugString"
INT 41 CPU - MS Windows debugging kernel - "OutputDebugString"
	AX = 0012h
	DS:SI -> string (Windows 3.0)
	ES:SI -> string (Windows 3.1)
Return: nothing???
Note:	this function is called by the kernel when it wants to output a
	  string through the debugger
SeeAlso: AX=0050h,INT 68/AH=47h

Top
41004F - INT 41 CPU - MS Windows debugging kernel - DEBUGGER INSTALLATION CHECK
INT 41 CPU - MS Windows debugging kernel - DEBUGGER INSTALLATION CHECK
	AX = 004Fh
Return: AX = F386h if debugger is present
SeeAlso: INT 68/AX=4400h

Top
410050 - INT 41 P - MS Windows debugging kernel - "DefineDebugSegment"
INT 41 P - MS Windows debugging kernel - "DefineDebugSegment"
	AX = 0050h
	BX = segment number in executable (0-based)
	CX = selector
	DX = instance handle
	SI = segment flags (0=code, 1=data)
	ES:DI -> module name of owner
Return: ???
SeeAlso: AX=0012h,AX=004Fh

Top
410051 - INT 41 CPU - MS Windows debugging kernel - MOVE SEGMENT
INT 41 CPU - MS Windows debugging kernel - MOVE SEGMENT
	AX = 0051h
	???
Return: ???
SeeAlso: AX=0050h,AX=0052h

Top
410052 - INT 41 CPU - MS Windows debugging kernel - FREE SEGMENT
INT 41 CPU - MS Windows debugging kernel - FREE SEGMENT
	AX = 0052h
	BX = freed selector
SeeAlso: AX=0050h,AX=0051h,AX=005Ch

Top
410059 - INT 41 CPU - MS Windows debugging kernel - LOAD TASK
INT 41 CPU - MS Windows debugging kernel - LOAD TASK
	AX = 0059h
	???:BX = CS:IP of new task's starting point

Top
41005C - INT 41 CPU - MS Windows debugging kernel - FREE INITIAL SEGMENT
INT 41 CPU - MS Windows debugging kernel - FREE INITIAL SEGMENT
	AX = 005Ch
	BX = freed selector
Note:	called only when KERNEL starts, once for CS and once for the DS alias
	  to CS
SeeAlso: AX=0052h

Top
410060 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT LOAD
INT 41 CPU - MS Windows debugging kernel -  END OF SEGMENT LOAD
	AX = 0060h
	???
Return: ???
SeeAlso: AX=0061h

Top
410061 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT DISCARD
INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT DISCARD
	AX = 0061h
	???
Return: ???
SeeAlso: AX=0060h

Top
410062 - INT 41 CPU - MS Windows debugging kernel - APPLICATION TERMINATING
INT 41 CPU - MS Windows debugging kernel - APPLICATION TERMINATING
	AX = 0062h
STACK:	BYTE	exit code
Return: ???
	STACK unchanged???
SeeAlso: AX=0064h

Top
410063 - INT 41 CPU - MS Windows debugging kernel - ASYNCHRONOUS STOP (Ctrl-Alt-SysReq)
INT 41 CPU - MS Windows debugging kernel - ASYNCHRONOUS STOP (Ctrl-Alt-SysReq)
	AX = 0063h

Top
410064 - INT 41 CPU - MS Windows debugging kernel - DLL LOADED
INT 41 CPU - MS Windows debugging kernel - DLL LOADED
	AX = 0064h
	CX:BX = DLL entry point CS:IP
	SI = module handle
SeeAlso: AX=0062h,AX=0065h

Top
410065 - INT 41 CPU - MS Windows debugging kernel - MODULE REMOVED
INT 41 CPU - MS Windows debugging kernel - MODULE REMOVED
	AX = 0065h
	ES = module handle
SeeAlso: AX=0064h

Top
410066 - INT 41 CPU - MS Windows debugging kernel - ERROR
INT 41 CPU - MS Windows debugging kernel - ERROR
	AX = 0066h
Note:	called by LogError()
SeeAlso: AX=0067h

Top
410067 - INT 41 CPU - MS Windows debugging kernel - PARAMETER ERROR
INT 41 CPU - MS Windows debugging kernel - PARAMETER ERROR
	AX = 0067h
Note:	called by LogParamError()
SeeAlso: AX=0066h

Top
42 - INT 42 - VIDEO - RELOCATED DEFAULT INT 10 VIDEO SERVICES (EGA,VGA)
INT 42 - VIDEO - RELOCATED DEFAULT INT 10 VIDEO SERVICES (EGA,VGA)
Desc:	contains the address of the original INT 10 handler which an EGA+
	  video adapter replaces with its own on-board BIOS code
SeeAlso: INT 10/AH=00h,INT 10/AH=0Eh,INT 6D"VGA"
Note:	not used by PS/2 built-in VGA or XGA

Top
42 - INT 42 - Z100 - Master 8259 - Timer
INT 42 - Z100 - Master 8259 - Timer
SeeAlso: INT 41"Z100",INT 43"Z100"

Top
42 - INT 42 - TI Professional PC - IRQ2
INT 42 - TI Professional PC - IRQ2
Note:	on the TI Pro, IRQ0 is connected to the same pin on the expansion bus
	  that IBM connects to IRQ4
SeeAlso: INT 0C"IRQ4",INT 41"TI Professional",INT 43"TI Professional"

Top
42 - INT 42 - Western Digital WD1002 SuperBIOS - INT 40 CASCADE
INT 42 - Western Digital WD1002 SuperBIOS - INT 40 CASCADE
Note:	if the second WD1002 controller in the system finds INT 40 already in
	  use, it uses this vector to cascade to the first controller's BIOS
SeeAlso: INT 40"DISKETTE",INT 47"SuperBIOS"

Top
42 - INT 42 - Acorn BBC Master 512 - "OSBPUT" - WRITE SINGLE BYTE TO FILE
INT 42 - Acorn BBC Master 512 - "OSBPUT" - WRITE SINGLE BYTE TO FILE
	AL = byte to be written
	BH = file handle
Return: flags destroyed
SeeAlso: INT 40"Acorn",INT 41"Acorn",INT 43"Acorn",INT 47"Acorn",INT 49"Acorn"

Top
425F33 - INT 42 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
INT 42 C - Chips & Technologies '65530' BIOS - MODE SET HOOK
	AX = 5F33h
	BL = current width in characters
	BH = curent video mode
	CH = active display page
Return:	nothing
Desc:	this function is called at the end of a video mode set
Note:	the OEM has the option of enabling or disabling this callout, as well
	  as specifying whether the callout occurs on INT 15h or INT 42h
SeeAlso: INT 15/AX=5F31h,INT 15/AX=5F35h,INT 10/AX=5F50h,INT 15/AX=5F33h

Top
427500 - INT 42 U - Toshiba laptops - ???
INT 42 U - Toshiba laptops - ???
	AX = 7500h
	BL = ??? (00h or 01h)
Return: ???
Note:	used by Toshiba utility VCHAD.EXE
SeeAlso: AX=7501h,AX=7503h

Top
427501 - INT 42 U - Toshiba laptop - GET ??? DATA
INT 42 U - Toshiba laptop - GET ??? DATA
	AX = 7501h
	DS:DI -> data area to be filled ???
Return: area filled with data ???
Note:	used by Toshiba utility VCHAD.EXE
SeeAlso: AX=7500h,AX=7502h,AX=7503h

Top
427502 - INT 42 U - Toshiba laptops - SET ??? DATA
INT 42 U - Toshiba laptops - SET ??? DATA
	AX = 7502h
	DS:DI -> data area ???
Return: ???
Note:	used by Toshiba utility VCHAD.EXE
SeeAlso: AX=7501h,AX=7503h

Top
427503 - INT 42 - Toshiba laptops - GET DISPLAY STATUS
INT 42 - Toshiba laptops - GET DISPLAY STATUS
	AX = 7503h
Return: AX = 7575h if supported
	CX = 0001h if supported
	BH = display type (00h color, 03h monochrome)
	BL = display state
	    01h internal LCD display is active
	    02h external VGA display is active
	    03h both displays active / DeskStation display mode enabled
		(not possible on all machines)
Note:	used by VCHAD.EXE and supported by all Toshiba VGA laptops until about
	  1994 (string "TOSHIBA " at F000:E010h should be checked before call)
	no longer supported by T21xx series, use INT 10/AX=5F50h instead
	INT 42 normally points to F000:F065h but may be redirected by QEMM386
SeeAlso: AX=7500h,AX=7504h,INT 10/AX=5F50h,INT 15/AH=C0h

Top
427504 - INT 42 U - Toshiba laptops - ???
INT 42 U - Toshiba laptops - ???
	AX = 7504h
	BL = ???
Return: BH = ???
Note:	used by Toshiba utility VCHAD.EXE
SeeAlso: AX=7500h,AX=7503h

Top
43 - INT 43 - VIDEO DATA - CHARACTER TABLE (EGA,MCGA,VGA)
INT 43 - VIDEO DATA - CHARACTER TABLE (EGA,MCGA,VGA)
Desc:	points at graphics data for characters 00h-7Fh of the current font
	  in 8x8 dot modes, graphics data for all characters in 8x14 and 8x16
	  modes
Note:	this is not a callable vector!
SeeAlso: INT 06"no-name",INT 1F"SYSTEM DATA",INT 44"VIDEO"

Top
43 - INT 43 - Z100 - Master 8259 - Slave 8259 input
INT 43 - Z100 - Master 8259 - Slave 8259 input
Note:	slave runs in special fully nested mode
SeeAlso: INT 42"Z100",INT 44"Z100"

Top
43 - INT 43 - TI Professional PC - IRQ3 - TIMER1 25ms INTERVAL INTERRUPT
INT 43 - TI Professional PC - IRQ3 - TIMER1 25ms INTERVAL INTERRUPT
SeeAlso: INT 0B"IRQ3",INT 42"TI Professional",INT 44"TI Professional"
SeeAlso: INT 58"TI Professional"

Top
43 - INT 43 - Acorn BBC Master 512 - "OSBGET" - READ SINGLE BYTE FROM FILE
INT 43 - Acorn BBC Master 512 - "OSBGET" - READ SINGLE BYTE FROM FILE
	BH = file handle
Return: CF clear if successful
	    AL = byte read from file
	CF set on error
SeeAlso: INT 40"Acorn",INT 41"Acorn",INT 42"Acorn",INT 46"Acorn"

Top
44 - INT 44 - VIDEO DATA - ROM BIOS CHARACTER FONT, CHARACTERS 00h-7Fh (PCjr)
INT 44 - VIDEO DATA - ROM BIOS CHARACTER FONT, CHARACTERS 00h-7Fh (PCjr)
Desc:	this vector points at graphics data for current character font
SeeAlso: INT 1F"SYSTEM DATA",INT 43"VIDEO"

Top
44 - INT 44 - Novell NetWare - HIGH-LEVEL LANGUAGE API
INT 44 - Novell NetWare - HIGH-LEVEL LANGUAGE API

Top
44 - INT 44 - IBM 3270-PC High Level Language API
INT 44 - IBM 3270-PC High Level Language API
	DS:SI -> parameter control block

Top
44 - INT 44 - Z100 - Master 8259 - Serial A
INT 44 - Z100 - Master 8259 - Serial A
SeeAlso: INT 43"Z100",INT 45"Z100"

Top
44 - INT 44 - TI Professional PC - IRQ4
INT 44 - TI Professional PC - IRQ4
Note:	on the TI Pro, IRQ4 is connected to the same pin on the expansion bus
	  that IBM connects to IRQ5
SeeAlso: INT 0D"IRQ5",INT 43"TI Professional",INT 45"TI Professional"

Top
44 - INT 44 - VIRUS - "Lehigh" - ORIGINAL INT 21h VECTOR
INT 44 - VIRUS - "Lehigh" - ORIGINAL INT 21h VECTOR
SeeAlso: INT 32"VIRUS",INT 60"VIRUS",INT 70"VIRUS",INT 9E"VIRUS"

Top
4400 - INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
	AH = 00h
	AL = function
	    00h get current filing system
		Return: AL = filing system (see #03200)
	    01h get address of commandline tail
		Return: BX buffer filled with address of command tail in I/O
			      processor address space (use INT 4A/AL=05h to
			      retrieve)
	    FFh flush all files onto secondary storage
	BX -> 4-byte data buffer
Note:	the commandline tail is terminated with a carriage return (0Dh)
SeeAlso: INT 40"Acorn",INT 45"Acorn"

(Table 03200)
Values for BBC Master filing system:
 00h	none
 01h	1200 bps cassette
 02h	300 bps cassette
 03h	ROM FS
 04h	DFS
 05h	ANFS/NFS
 06h	TFS
 08h	ADFS

Top
44 - INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
INT 44 - Acorn BBC Master 512 - "OSARGS" - GET/SET FILE PARAMS FOR OPEN FILE
	AH = nonzero file handle
	AL = function
	    00h get sequential pointer for file
	    01h set sequential pointer for file
	    02h get length of file
	BX -> 4-byte data buffer
Return: BX buffer updated if appropriate
SeeAlso: INT 40"Acorn",INT 41"Acorn",INT 44/AH=00h,INT 45"Acorn",INT 4A"Acorn"

Top
45 - INT 45 - Z100 - Master 8259 - Serial B
INT 45 - Z100 - Master 8259 - Serial B
SeeAlso: INT 44"Z100",INT 46"Z100"

Top
45 - INT 45 - TI Professional PC - IRQ5
INT 45 - TI Professional PC - IRQ5
Note:	on the TI Pro, IRQ5 is connected to the same pin on the expansion bus
	  that IBM connects to IRQ6
SeeAlso: INT 0E"IRQ6",INT 44"TI Professional",INT 46"TI Professional"

Top
45 - INT 45 - Acorn BBC Master 512 - "OSFILE" - READ/WRITE FILE OR DIRECTORY INFO
INT 45 - Acorn BBC Master 512 - "OSFILE" - READ/WRITE FILE OR DIRECTORY INFO
	AL = function
	    00h save block of memory as file
	    01h update directory entry for existing file
	    02h set load address for existing file
	    03h set execution address for existing file
	    04h set attributes for existing file
	    05h read directory
	    06h delete file
	    FFh load file
	DS:BX -> control block (see #03201)
Return: FLAGS destroyed
	AL = file type
	    00h not found
	    01h file found
	    02h directory found
	    FFh protected file
SeeAlso: INT 40"Acorn",INT 41"Acorn",INT 44"Acorn",INT 46"Acorn"

Format of BBC Master control block:
Offset	Size	Description	(Table 03201)
 00h	WORD	address of CR-terminated filename
 02h	DWORD	load address of file
 06h	DWORD	execution address of file
 0Ah	DWORD	start address of data to save
 0Eh	DWORD	end address of data to save, or file attributes
		file attributes in low byte (see #03202)
		other three bytes are filing-system specific file attributes

Bitfields for BBC Master file attributes:
Bit(s)	Description	(Table 03202)
 0	no owner read access
 1	no owner write access
 2	not executable by owner
 3	not deletable by owner
 4	no public read access
 5	no public write access
 6	not executable with public access
 7	not deletable with public access

Top
46 - INT 46 - SYSTEM DATA - HARD DISK 1 DRIVE PARAMETER TABLE ADDRESS [NOT A VECTOR!]
INT 46 - SYSTEM DATA - HARD DISK 1 DRIVE PARAMETER TABLE ADDRESS [NOT A VECTOR!]
Note:	not used by some PS/2 models
SeeAlso: INT 13/AH=09h,INT 41"HARD DISK 0",INT 60"Adaptec",INT C0"AMI"

Top
46 - INT 46 - Z100 - Master 8259 - Keyboard, Retrace, and Light Pen
INT 46 - Z100 - Master 8259 - Keyboard, Retrace, and Light Pen
SeeAlso: INT 45"Z100",INT 47"Z100"

Top
46 - INT 46 - TI Professional PC - IRQ6 - FLOPPY DISK CONTROLLER
INT 46 - TI Professional PC - IRQ6 - FLOPPY DISK CONTROLLER
Note:	on the TI Pro, IRQ6 is connected to the same pin on the expansion bus
	  that IBM connects to IRQ7
SeeAlso: INT 0F"IRQ7",INT 45"TI Professional",INT 47"TI Professional"

Top
46 - INT 46 - Acorn BBC Master 512 - "OSRDCH" - GET CHARACTER FROM CUR INPUT STREAM
INT 46 - Acorn BBC Master 512 - "OSRDCH" - GET CHARACTER FROM CUR INPUT STREAM
Return: CF clear if successful
	    AL = character read
	CF set on error
	    AL = error code
SeeAlso: INT 40"Acorn",INT 43"Acorn",INT 47"Acorn",INT 49"Acorn"

Top
47 - INT 47 - Z100 - Master 8259 - Printer
INT 47 - Z100 - Master 8259 - Printer
SeeAlso: INT 46"Z100",INT 48"Z100"

Top
47 - INT 47 - TI Professional PC - IRQ7 - KEYBOARD USART
INT 47 - TI Professional PC - IRQ7 - KEYBOARD USART
SeeAlso: INT 09"IRQ1",INT 46"TI Professional"

Top
47 - INT 47 - Acorn BBC Master 512 - "OSWRCH" - WRITE CHARACTER TO CUR OUTPUT STREAM
INT 47 - Acorn BBC Master 512 - "OSWRCH" - WRITE CHARACTER TO CUR OUTPUT STREAM
	AL = character to be written
Return: FLAGS destroyed
SeeAlso: INT 40"Acorn",INT 46"Acorn",INT 49"Acorn"

Top
47 - INT 47 - Western Digital WD1002-27X SuperBIOS - INT 40 CASCADE
INT 47 - Western Digital WD1002-27X SuperBIOS - INT 40 CASCADE
Desc:	used by the second WD1002-27X controller to cascade to the first
	  controller's INT 40
SeeAlso: INT 40"DISKETTE",INT 42"SuperBIOS",INT 48"SuperBIOS"

Top
478000 - INT 47 - SQL Base - DATABASE ENGINE API
INT 47 - SQL Base - DATABASE ENGINE API
	AX = 8000h
	DS:BX -> parameter block, first word is function number (see #03203)
Program: SQL Base is a network-oriented database engine by Gupta Technologies
SeeAlso: AX=8001h

(Table 03203)
Values for SQL Base function number:
 01h	"SQLFINI" initalialize application's use of the database
 02h	"SQLFDON" application is done using the database
 03h	"SQLFCON" connect to a cursor/database
 04h	"SQLFDIS" disconnect from a cursor/database
 05h	"SQLFCOM" compile a SQL command
 06h	"SQLFEXE" execute a SQL command
 07h	"SQLFCEX" compile and execute a SQL command
 08h	"SQLFCMT" commit a transaction to the database
 09h	"SQLFDES" describe the items of a SELECT statement
 0Ah	"SQLFGFI" get fetch information
 0Bh	"SQLFFBK" fetch previous result row from SELECT statement
 0Ch	"SQLFFET" fetch next result row from SELECT statement
 0Dh	"SQLFEFB" enable fetch backwards
 0Eh	"SQLFPRS" position in result set
 0Fh	"SQLFURS" undo result set
 10h	"SQLFNBV" get number of bind variables
 11h	"SQLFBND" bind data variables
 12h	"SQLFBNN" bind numerics
 13h	"SQLFBLN" bind long number
 14h	"SQLFBLD" bind long data variables
 15h	"SQLFSRS" start restriction set processing
 16h	"SQLFRRS" restart restriction set processing
 17h	"SQLFCRS" close restriction set
 18h	"SQLFDRS" drop restriction set
 19h	"SQLFARF" apply Roll Forward journal
 1Ah	"SQLFERF" end Roll Forward journal
 1Bh	"SQLFSRF" start Roll Forward journal
 1Ch	"SQLFSTO" store a compiled SQL command
 1Dh	"SQLFRET" retrieve a compiled SQL command
 1Eh	"SQLFDST" drop a stored command
 1Fh	"SQLFCTY" get command type
 20h	"SQLFEPO" get error position
 21h	"SQLFGNR" get number of rows
 22h	"SQLFNSI" get number of select items
 23h	"SQLFRBF" get Roll Back flag
 24h	"SQLFRCD" get return code
 25h	"SQLFROW" get number of ROWs
 26h	"SQLFSCN" set cursor name
 27h	"SQLFSIL" set isolation level
 28h	"SQLFSLP" set log parameters
 29h	"SQLFSSB" set select buffer
 2Ah	"SQLFSSS" set sort space
 2Bh	"SQLFRLO" read long
 2Ch	"SQLFWLO" write long
 2Dh	"SQLFLSK" long seek
 2Eh	"SQLFGLS" get long size
 2Fh	"SQLFELO" end long operation
 30h	"SQLFRBK" roll back a transaction from the database
 31h	"SQLFERR" error message
 32h	"SQLFCPY" copy
 33h	"SQLFR01" reserved
 34h	"SQLFSYS" system
 35h	"SQLFSTA" statistics
 36h	"SQLFR02" reserved
 37h	"SQLFXAD" extra add
 38h	"SQLFXCN" extra character to number
 39h	"SQLFXDA" extra date add
 3Ah	"SQLFXDP" extra date picture
 3Bh	"SQLFXDV" extra divide
 3Ch	"SQLFXML" extra multiply
 3Dh	"SQLFXNP" extra number picture
 3Eh	"SQLFXPD" extra picture date
 3Fh	"SQLFXSB" extra subtract
 40h	"SQLFINS" install database
 41h	"SQLFDIN" deinstall database
 42h	"SQLFDIR" directory of databases
 43h	"SQLFTIO" timeout
 44h	"SQLFFQN" get fully qualified column name
 45h	"SQLFEXP" explain execution plan
 46h	"SQLFFER" get full error
 47h	"SQLFBKP" begin online backup
 48h	"SQLFRDC" read backup data chunk
 49h	"SQLFEBK" end backup
 4Ah	"SQLFRES" begin restore from backup
 4Bh	"SQLFWDC" write backup data chunk for restore
 4Ch	"SQLFRRD" recover restored database to consistent state
 4Dh	"SQLFERS" end restore
 4Eh	"SQLFNRR" return number of result set rows
 4Fh	"SQLFSTR" start restriction mode
 50h	"SQLFSPR" stop restriction mode
 51h	"SQLFCNC" connect 2
 52h	"SQLFCNR" connect with no recovery
 53h	"SQLFOMS" set output message size
 54h	"SQLFIMS" set input message size
 55h	"SQLFSCP" set cache pages
 56h	"SQLFDSC" describe items of a SELECT statement (external)
 57h	"SQLFLAB" get label info for items in SELECT statement
 58h	"SQLFCBV" clear bind variables
 59h	"SQLFGET" get database information
 5Ah	"SQLFSET" set database information
 5Bh	"SQLFTEC" translate error code

Top
478001 - INT 47 - SQL Base - GET VERSION NUMBER
INT 47 - SQL Base - GET VERSION NUMBER
	AX = 8001h
Return: ???
Program: SQL Base is a network-oriented database engine by Gupta Technologies
SeeAlso: AX=8000h

Top
48 - INT 48 - KEYBOARD - CORDLESS KEYBOARD TRANSLATION (PCjr)
INT 48 - KEYBOARD - CORDLESS KEYBOARD TRANSLATION (PCjr)
	AL = scan code???
Note:	This interrupt may be un-initialized (0000h:0000h) on old machines.
	  This should be checked before calling or hooking this vector.
	MS-DOS/PC DOS 3.3x-4.x KEYB hooked the INT 48h handler. For AL <= 80h
	  it checked that either ALT and neither CTRL key was pressed,
	  and in that case, it cleared the CTRL flag in the BIOS variable at
	  0040:0017h and stored its contents in an internal variable,
	  before continuing with the previous (non-zero) INT 48h handler.
SeeAlso: INT 49"PCjr"

Top
48 - INT 48 - Z100 - Slave 8259 - S100 vectored line 0
INT 48 - Z100 - Slave 8259 - S100 vectored line 0
SeeAlso: INT 47"Z100",INT 49"Z100"

Top
48 - INT 48 - Watstar PC Network data pointer 1
INT 48 - Watstar PC Network data pointer 1
SeeAlso: INT 49"Watstar"

Top
48 - INT 48 - Acorn BBC Master 512 - "OSNEWL" - SEND NEWLINE TO OUTPUT STREAM
INT 48 - Acorn BBC Master 512 - "OSNEWL" - SEND NEWLINE TO OUTPUT STREAM
Return: FLAGS destroyed
Note:	writes a carriage return (0Dh) followed by a linefeed (0Ah)
SeeAlso: INT 40"Acorn",INT 47"Acorn",INT 49"Acorn"

Top
48 - INT 48 - Western Digital WD1002-27X SuperBIOS - DRIVE DATA (NOT A VECTOR!)
INT 48 - Western Digital WD1002-27X SuperBIOS - DRIVE DATA (NOT A VECTOR!)
Note:	the second WD1002-27X controller in a system uses the low byte to
	  store the number of drives controlled by the second controller,
	  and the high word for temporary storage during track recalculation;
	  the first controller uses offsets 74h-77h in the BIOS data area
	  (refer to MEMORY.LST) to store data
SeeAlso: INT 47"SuperBIOS"

Top
48 - INT 48 U - Compaq UILIB.EXE - API
INT 48 U - Compaq UILIB.EXE - API
	AX = function (see #03204)
	BX = call type (0002h) (see #03207)
	???
Return: ???
Note:	returns AX=FFFFh if 1000h<=AX<=2000h and AX is not one of the functions
	  listed below
SeeAlso: AX=1A70h

(Table 03204)
Values for valid UILIB function number:
 1000h	1160h	12D0h	1430h	1570h	1680h	17F0h	1920h	1A90h
 1010h	1170h	12E0h	1440h	1578h	1690h	1800h	1930h	1AA0h
 1020h	1180h	12F0h	1450h	1580h	16A0h	1810h	1940h
 1030h	1190h	1300h	1460h	1590h	16B0h	1820h	1950h
 1040h	11A0h	1310h	1470h	1594h	16C0h	1830h	1960h
 1050h	11B0h	1320h	1480h	1598h	16D0h	1840h	1970h
 1060h	11C0h	1330h	1490h	15A0h	16E0h	1848h	1980h
 1070h	11D0h	1340h	14A0h	15B0h	16F0h	1850h	1990h
 1080h	11E0h	1350h	14B0h	15C0h	1700h	1860h	19A0h
 1090h	11F0h	1360h	14B8h	15D0h	1710h	1870h	19B0h
 1095h	1200h	1370h	14BBh	15D4h	1720h	1878h	19C0h
 1098h	1210h	1380h	14C0h	15D8h	1730h	1880h	19D0h
 10A0h	1220h	1390h	14D0h	15E0h	1735h	1890h	19E0h
 10C0h	1230h	13A0h	14E0h	15F0h	1740h	1898h	19F0h
 10D0h	1240h	13B0h	14F0h	1600h	1750h	18A0h	1A00h
 10E0h	1250h	13B8h	1500h	1610h	1770h	18B0h	1A10h
 10F0h	1260h	13C0h	1508h	1620h	1780h	18C0h	1A20h
 1100h	1270h	13D0h	1510h	1630h	1790h	18D0h	1A30h
 1110h	1280h	13E0h	1520h	1640h	17A0h	18E0h	1A40h
 1120h	1290h	13F0h	1530h	1650h	17B0h	18F0h	1A50h
 1130h	12A0h	1400h	1540h	1660h	17C0h	1900h	1A60h
 1140h	12B0h	1410h	1550h	1664h	17D0h	1909h	1A70h
 1150h	12C0h	1420h	1560h	1670h	17E0h	1910h	1A80h

Top
4800 - INT 48 - TI Professional PC - SPEAKER DEVICE - SOUND SPEAKER
INT 48 - TI Professional PC - SPEAKER DEVICE - SOUND SPEAKER
	AH = 00h
	AL = number of 25ms ticks sound should last
Return: nothing
Desc:	sound the speaker at the current frequency setting (see AH=02h) for
	  the indicated duration
Notes:	this function returns immediately; the sound is terminated by the
	  timer interrupt handler
	if a new sound is requested while one is already in progress, the
	  previous sound is terminated immediately and the new sound takes
	  its place
SeeAlso: AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh
SeeAlso: INT 40"TI Professional",INT 49/AH=01h"TI"
SeeAlso: INT 4A/AH=00h"TI",INT 4C"TI Professional",INT 4D/AH=00h

Top
4801 - INT 48 - TI Professional PC - SPEAKER DEVICE - CHECK SPEAKER STATUS
INT 48 - TI Professional PC - SPEAKER DEVICE - CHECK SPEAKER STATUS
	AH = 01h
Return: ZF clear if speaker is currently on
	ZF set if speaker is currently off
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4802 - INT 48 - TI Professional PC - SPEAKER DEVICE - SET SPEAKER FREQUENCY
INT 48 - TI Professional PC - SPEAKER DEVICE - SET SPEAKER FREQUENCY
	AH = 02h
	CX = frequency divisor (freq = 1250000 / CX)
Return: nothing
SeeAlso: AH=00h,AH=01h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4803 - INT 48 - TI Professional PC - SPEAKER DEVICE - TURN ON SPEAKER
INT 48 - TI Professional PC - SPEAKER DEVICE - TURN ON SPEAKER
	AH = 03h
Return: nothing
Desc:	turn on the speaker at the current frequency, leaving it on until
	  explicitly turned off with AH=04h or the end of a subsequent
	  AH=00h
SeeAlso: AH=00h,AH=01h,AH=02h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4804 - INT 48 - TI Professional PC - SPEAKER DEVICE - TURN OFF SPEAKER
INT 48 - TI Professional PC - SPEAKER DEVICE - TURN OFF SPEAKER
	AH = 04h
Return: nothing
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4805 - INT 48 - TI Professional PC - SPEAKER DEVICE - DELAY
INT 48 - TI Professional PC - SPEAKER DEVICE - DELAY
	AH = 05h
	CX = desired delay in milliseconds
Return: after delay expires
Note:	the delay is only approximate, and may be longer than requested
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4806 - INT 48 - TI Professional PC - CALCULATE CRC
INT 48 - TI Professional PC - CALCULATE CRC
	AH = 06h
	ES:BX -> memory block for which to calculate CRC
	BP = size of block in bytes
Return: DX = CRC for block
	ZF set if DX = 0000h
Note:	if the CRC of a memory block is appended to the block, then the CRC
	  of the block plus CRC should equal 0000h
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4807 - INT 48 - TI Professional PC - PRINT ROM MESSAGE
INT 48 - TI Professional PC - PRINT ROM MESSAGE
	AH = 07h
	SI = offset of ASCIZ message string within segment F400h
Return: nothing
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4808 - INT 48 - TI Professional PC - DISPLAY SYSTEM ERROR MESSAGE
INT 48 - TI Professional PC - DISPLAY SYSTEM ERROR MESSAGE
	AH = 08h
	BX = error number
Return: nothing
Desc:	displays the error message " ** System Error ** - xxxx" where xxxx is
	  the hexadecimal value in BX
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
4809 - INT 48 - TI Professional PC - GET SYSTEM CONFIGURATION DATA
INT 48 - TI Professional PC - GET SYSTEM CONFIGURATION DATA
	AH = 09h
Return: ES:BX -> system configuration word (see #03227)
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah,AH=0Bh

Top
480A - INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFO ADDRESS
INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFO ADDRESS
	AH = 0Ah
Return: ES:BX -> configuration information (see #03205)
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Bh

Format of TI Professional PC extra system configuration information:
Offset	Size	Description	(Table 03205)
 -3	WORD	memory size in paragraphs
 00h	BYTE	drive type byte (see #03206)
 01h	WORD	extra system configuration word 1
		bit 0: 8087 is present
		bits 15-1: reserved (0)
 03h	WORD	extra system configuration word 2
		bits 15-0: reserved (0)

Bitfields for TI Professional PC drive type byte:
Bit(s)	Description	(Table 03206)
 0	drive A is double-sided
 1	drive A has 80 tracks instead of 40
 2	drive B is double-sided
 3	drive B has 80 tracks instead of 40
 4	drive C is double-sided
 5	drive C has 80 tracks instead of 40
 6	drive D is double-sided
 7	drive D has 80 tracks instead of 40
Note:	the type for drive A is determined by motherboard switches; the
	  remaining drives' types are set from a table in IO.SYS
SeeAlso: #03205

Top
480B - INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFORMATION
INT 48 - TI Professional PC - GET EXTRA SYSTEM CONFIGURATION INFORMATION
	AH = 0Bh
Return: AL = drive type byte (see #03206)
	BX = extra system configuration word 1 (see #03205)
	CX = extra system configuration word 2 (see #03205)
	AH destroyed
SeeAlso: AH=00h,AH=01h,AH=02h,AH=03h,AH=04h,AH=06h,AH=08h,AH=0Ah

Top
481A70 - INT 48 U - Compaq UILIB.EXE - INSTALLATION CHECK
INT 48 U - Compaq UILIB.EXE - INSTALLATION CHECK
	AX = 1A70h
	BX = call type (see #03207)
Return: CX = 5649h ('VI') if installed
	DX = 4557h ('EW') if installed
	    AX = version??? (0106h)

(Table 03207)
Values for UILIB call type:
 0000h	near
 0001h	far
 0002h	INT (only valid call type when using INT 48)
 0003h	near

Top
49 - INT 49 - SYSTEM DATA - NON-KEYBOARD SCAN-CODE TRANSLATION TABLE (PCjr)
INT 49 - SYSTEM DATA - NON-KEYBOARD SCAN-CODE TRANSLATION TABLE (PCjr)
SeeAlso: #03208,INT 48"PCjr"

Format of PCjr scan-code translation table:
Offset	Size	Description	(Table 03208)
 00h	BYTE	number of non-keyboard scancodes in the table
 01h  N WORDs	high byte 00h (NUL) byte scancode with low order byte
		  representing the scancode mapped values relative to their
		  input values within the range of 56h through 7Eh

Top
49 - INT 49 - Z100 - Slave 8259 - S100 vectored line 1
INT 49 - Z100 - Slave 8259 - S100 vectored line 1
SeeAlso: INT 48"Z100",INT 4A"Z100"

Top
49 - INT 49 - Watstar PC Network data pointer 2
INT 49 - Watstar PC Network data pointer 2
SeeAlso: INT 48"Watstar"

Top
49 - INT 49 - Acorn BBC Master 512 - "OSASCI" - WRITE CHARACTER TO CUR OUTPUT STREAM
INT 49 - Acorn BBC Master 512 - "OSASCI" - WRITE CHARACTER TO CUR OUTPUT STREAM
	AL = character to be written
Return: FLAGS destroyed
Note:	converts carriage return (0Dh) into CRLF sequence (0Dh 0Ah)
SeeAlso: INT 40"Acorn",INT 46"Acorn",INT 47"Acorn",INT 48"Acorn"

Top
49 - INT 49 - Tandy 2000 - BOOTSTRAP LOADER
INT 49 - Tandy 2000 - BOOTSTRAP LOADER
Note:	this interrupt is identical to INT 19
SeeAlso: INT 19,INT 4A"Tandy 2000",INT 4C"Tandy 2000",INT 51"Tandy 2000"

Top
490001 - INT 49 - MAGic v1.16+ - TURN ON MAGNIFICATION
INT 49 - MAGic v1.16+ - TURN ON MAGNIFICATION
	AX = 0001h
Return: AX = status (see #03209)
	BX,CX,DX destroyed
Program: MAGic (MAGnification In Color) is a TSR by Microsystems Software, Inc.
	  providing 2x2 text and graphics magnification on VGA, XGA, and SVGA
Note:	INT 49 is the default, but may be overridden on the commandline.  The
	  actual interrupt in use may be found by searching for the signature
	  "MAGic" or "xMAGic" (for the deluxe version) immediately preceding
	  the interrupt handler (this is also the installation check).	MAGic
	  uses CodeRunneR, which places the signature "RT" at offset 0000h in
	  the interrupt handler's segment, followed by MAGic's TSR ID of
	  "VMAG".
SeeAlso: AX=0002h,AX=0003h,AX=0004h,AX=0008h
Index:	installation check;MAGic

(Table 03209)
Values for MAGic status:
 0000h	cannot magnify current video mode
 0002h	magnified (text mode)
 0003h	magnified (graphics mode)
 FFFDh	function works only in magnified mode
 FFFFh	MAGic busy, retry later

Top
490002 - INT 49 - MAGic v1.16+ - TURN OFF MAGNIFICATION
INT 49 - MAGic v1.16+ - TURN OFF MAGNIFICATION
	AX = 0002h
Return: AX = status (see #03209)
	BX,CX,DX destroyed
SeeAlso: AX=0001h

Top
490003 - INT 49 - MAGic v1.16+ - SHIFT MAGNIFIED WINDOW TO INCLUDE SPECIFIED LOCATION
INT 49 - MAGic v1.16+ - SHIFT MAGNIFIED WINDOW TO INCLUDE SPECIFIED LOCATION
	AX = 0003h
	BX = vertical position (character row [text] or pixel row [graphics])
	DX = horizontal position (char column [text] or 8-pixel units [gr])
Return: AX = status
	    0000h successful
	    FFFFh MAGic busy, retry later
	BX,CX,DX destroyed
Note:	window is not moved if the position is inside the current window
SeeAlso: AX=0001h,AX=0004h,AX=0005h

Top
490004 - INT 49 - MAGic v1.16+ - REPOSITION MAGNIFIED WINDOW
INT 49 - MAGic v1.16+ - REPOSITION MAGNIFIED WINDOW
	AX = 0004h
	BX = vertical position of upper left corner
	DX = horizontal position
Return: AX = status (see AX=0003h)
	BX,CX,DX destroyed
SeeAlso: AX=0001h,AX=0003h,AX=0005h

Top
490005 - INT 49 - MAGic v1.16+ - GET POSITION OF MAGNIFIED WINDOW
INT 49 - MAGic v1.16+ - GET POSITION OF MAGNIFIED WINDOW
	AX = 0005h
Return: AX = status
	    0000h successful
		BX = vertical position (char row or pixel row)
		DX = horizontal position (char column or 8-pixel units)
	    FFFFh MAGic busy, retry later
		BX,DX destroyed
	CX destroyed
SeeAlso: AX=0001h,AX=0003h,AX=0004h,AX=0006h,AX=0007h

Top
490006 - INT 49 - MAGic v1.16+ - GET SIZE OF FULL SCREEN
INT 49 - MAGic v1.16+ - GET SIZE OF FULL SCREEN
	AX = 0006h
Return: AX = status
	    0000h successful
		BX = vertical size (char rows or pixel rows)
		DX = horizontal size (char cols or 8-pixel units)
	    FFFFh MAGic busy, retry later
		BX,DX destroyed
	CX destroyed
SeeAlso: AX=0001h,AX=0005h,AX=0007h

Top
490007 - INT 49 - MAGic v1.16+ - GET SIZE OF MAGNIFICATION WINDOW
INT 49 - MAGic v1.16+ - GET SIZE OF MAGNIFICATION WINDOW
	AX = 0007h
Return: AX = status
	    0000h successful
		BX = vertical size (char rows or pixel rows)
		DX = horizontal size (char cols or 8-pixel units)
	    FFFEh invalid function
	    FFFFh MAGic busy, retry later
		BX,DX destroyed
	CX destroyed
BUG:	in v1.16 and v1.17, this function is not recognized as valid, but
	  AX=0000h is accepted and will branch into hyperspace
SeeAlso: AX=0001h,AX=0006h

Top
490008 - INT 49 - MAGic v1.23+ - SET TEXT MODE MAGNIFICATION SIZE
INT 49 - MAGic v1.23+ - SET TEXT MODE MAGNIFICATION SIZE
	AX = 0008h
	BX = scaling factor (01h=1.4 times, 02h, 04h, 06h, 08h, 09h=12 times)
Return: AX = status
	    0000h successful
	    FFFBh scaling factor only available in MAGic Deluxe
	    FFFCh already in magnified state, can't set size
Notes:	this call specifies the amount a subsequent call to AX=0001h should
	  magnify the display
	scaling factors greater than 2 are only available in MAGic Deluxe
SeeAlso: AX=0001h

Top
4901 - INT 49 - TI Professional PC - CRT - SET CURSOR SIZE AND TYPE
INT 49 - TI Professional PC - CRT - SET CURSOR SIZE AND TYPE
	AH = 01h
	CH = cursor start line (bits 3-0) and status (bits 6-5)
	    status bits:
		00 non-blinking cursor
		01 no cursor
		10 fast-blinking cursor
		11 slow-blinking cursor
	CL = cursor end line
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=02h,AH=03h,INT 40"TI Professional",INT 48/AH=00h"TI Professional"
SeeAlso: INT 4A/AH=00h"TI",INT 4B"TI Professional",INT 4D/AH=00h
SeeAlso: INT 57"TI Professional"

Top
4902 - INT 49 - TI Professional PC - CRT - SET CURSOR POSITION
INT 49 - TI Professional PC - CRT - SET CURSOR POSITION
	AH = 02h
	DH = column
	DL = row
Return: DX destroyed
Notes:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
	the TI swaps the row and column compared to the equivalent IBM call
SeeAlso: AH=01h,AH=03h

Top
4903 - INT 49 - TI Professional PC - CRT - GET CURSOR POSTION AND TYPE
INT 49 - TI Professional PC - CRT - GET CURSOR POSTION AND TYPE
	AH = 03h
Return: CH = cursor start and status (see AH=01h)
	CL = cursor end line
	DH = cursor column
	DL = cursor row
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h

Top
4906 - INT 49 - TI Professional PC - CRT - SCROLL UP/COPY WINDOW
INT 49 - TI Professional PC - CRT - SCROLL UP/COPY WINDOW
	AH = 06h
	AL = source blanking
	    00h blank source region (move/scroll)
	    nonzero do not blank source region (copy)
	DH,DL = source start column,row
	BH,BL = destination start column,row
	CH = width of region to move/copy
	CL = height of region to move/copy
Return: nothing
Notes:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
	the specified region may be wider than the screen, but reliable
	  operation then requires that the height be exactly one row
SeeAlso: AH=01h,AH=02h,AH=07h,AH=13h,AH=14h

Top
4907 - INT 49 - TI Professional PC - CRT - SCROLL DOWN/COPY WINDOW
INT 49 - TI Professional PC - CRT - SCROLL DOWN/COPY WINDOW
	AH = 07h
	AL = source blanking
	    00h blank source region (move/scroll)
	    nonzero do not blank source region (copy)
	DH,DL = source start column,row
	BH,BL = destination start column,row
	CH = width of region to move/copy
	CL = height of region to move/copy
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h,AH=06h,AH=13h,AH=14h

Top
4908 - INT 49 - TI Professional PC - CRT - GET CHARACTER AND ATTRIBUTE AT POSITION
INT 49 - TI Professional PC - CRT - GET CHARACTER AND ATTRIBUTE AT POSITION
	AH = 08h
Return: AL = character at current cursor position
	AH = attribute
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=09h,AH=0Ah,AH=0Eh,INT 10/AH=08h

Top
4909 - INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH ATTRIBUTE
INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH ATTRIBUTE
	AH = 09h
	AL = character to write
	BL = attribute to use (becomes new current attribute)
	CX = number of times to write character
Return: nothing
Desc:	write CX copies of the character in AL beginning at the current cursor
	  position
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=08h,AH=0Ah,AH=0Eh,INT 10/AH=09h

Top
490A - INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH CURRENT ATTRIBUTE
INT 49 - TI Professional PC - CRT - WRITE CHARACTER(S) WITH CURRENT ATTRIBUTE
	AH = 0Ah
	AL = character to write
	CX = number of times to write character
Return: nothing
Desc:	write CX copies of the character in AL beginning at the current cursor
	  position
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h,AH=08h,AH=09h,AH=0Eh,INT 10/AH=0Ah

Top
490E - INT 49 - TI Professional PC - CRT - TTY OUTPUT
INT 49 - TI Professional PC - CRT - TTY OUTPUT
	AH = 0Eh
	AL = character to write
Return: nothing
Desc:	write the character in AL at the current cursor position, advancing
	  the cursor, and interpreting CR, LF, TAB, and BEL characters
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h,AH=08h,AH=09h,AH=0Ah,INT 10/AH=0Eh

Top
4910 - INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH ATTRIBUTE
INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH ATTRIBUTE
	AH = 10h
	AL = attribute (becomes new current attribute)
	DX:BX -> string of characters to write
	CX = length of string
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
BUG:	CX must not be 0000h on entry, or the system will crash
SeeAlso: AH=01h,AH=02h,AH=09h,AH=0Eh,AH=11h

Top
4911 - INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH CURR ATTRIB
INT 49 - TI Professional PC - CRT - WRITE BLOCK OF CHARACTERS WITH CURR ATTRIB
	AH = 11h
	DX:BX -> string of characters to write
	CX = length of string
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
BUG:	CX must not be 0000h on entry, or the system will crash
SeeAlso: AH=01h,AH=02h,AH=09h,AH=0Eh,AH=10h

Top
4912 - INT 49 - TI Professional PC - CRT - FILL ENTIRE SCREEN WITH ATTRIBUTE
INT 49 - TI Professional PC - CRT - FILL ENTIRE SCREEN WITH ATTRIBUTE
	AH = 12h
	AL = attribute (see #03210)
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h

Bitfields for TI Professional PC screen attribute:
Bit(s)	Description	(Table 03210)
 7	alternate character set (requires user-supplied ROM)
 6	blink
 5	underline
 4	reverse video
 3	character enable
 2	green (color) or 58% intensity (gray-scale)
 1	red (color)  or 27.5% intensity
 0	blue (color) or 14.5% intensity

Top
4913 - INT 49 - TI Professional PC - CRT - CLEAR ENTIRE TEXT SCREEN AND HOME CURSOR
INT 49 - TI Professional PC - CRT - CLEAR ENTIRE TEXT SCREEN AND HOME CURSOR
	AH = 13h
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h,AH=06h,AH=14h

Top
4914 - INT 49 - TI Professional PC - CRT - CLEAR ENTIRE GRAPHICS SCREEN
INT 49 - TI Professional PC - CRT - CLEAR ENTIRE GRAPHICS SCREEN
	AH = 14h
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h,AH=06h,AH=13h

Top
4915 - INT 49 - TI Professional PC - CRT - SET PROTECTED STATUS AREA
INT 49 - TI Professional PC - CRT - SET PROTECTED STATUS AREA
	AH = 15h
	CL = row at which to start status area, or 00h to cancel
	CH = 00h
Return: nothing
Desc:	set a protected area of the screen which will not be affected by TTY
	  writes or the scrolls they may generate
Notes:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
	the current cursor position must be above the status area in order to
	  set the protected area
SeeAlso: AH=01h,AH=02h

Top
4916 - INT 49 - TI Professional PC - CRT - SET ATTRIBUTE LATCH
INT 49 - TI Professional PC - CRT - SET ATTRIBUTE LATCH
	AH = 16h
	BL = new attribute (see #03210)
Return: nothing
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h

Top
4917 - INT 49 - TI Professional PC - CRT - GET START-OF-DISPLAY POINTER
INT 49 - TI Professional PC - CRT - GET START-OF-DISPLAY POINTER
	AH = 17h
Return: DX = current offset at which display starts
Note:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
SeeAlso: AH=01h,AH=02h,INT 10/AH=FEh

Top
4918 - INT 49 - TI Professional PC - CRT - PRINT TTY STRING
INT 49 - TI Professional PC - CRT - PRINT TTY STRING
	AH = 18h
	CS:BX -> counted string (count byte with length followed by string)
Return: nothing
Notes:	AH=00h,04h,05h,0Bh,0Ch,0Dh,0Fh are documented as NOPs
	the string must be located in the caller's code segment; any TSRs
	  which want to hook INT 49 must check for this function and emulate
	  it, because the BIOS retrieves the caller's CS from the stack
SeeAlso: AH=01h,AH=02h,AH=0Eh

Top
4A - INT 4A C - SYSTEM - USER ALARM HANDLER
INT 4A C - SYSTEM - USER ALARM HANDLER
Desc:	This interrupt is invoked by the BIOS when a real-time clock alarm
	  occurs; an application may use it to perform an action at a
	  predetermined time.
Note:	this interrupt is called from within a hardware interrupt handler,
	  so all usual precautions against reentering DOS must be taken
SeeAlso: INT 1A/AH=06h

Top
4A - INT 4A - Z100 - Slave 8259 - S100 vectored line 2
INT 4A - Z100 - Slave 8259 - S100 vectored line 2
SeeAlso: INT 49"Z100",INT 4B"Z100"

Top
4A - INT 4A - Tandy 2000 - PRINT SCREEN
INT 4A - Tandy 2000 - PRINT SCREEN
Note:	this interrupt is identical to INT 05
SeeAlso: INT 05"PRINT SCREEN"

Top
4A - INT 4A - Acorn BBC Master 512 - "OSWORD" - MISC FUNCTIONS USING CONTROL BLOCK
INT 4A - Acorn BBC Master 512 - "OSWORD" - MISC FUNCTIONS USING CONTROL BLOCK
	AL = function code
	    FAh transfer data between 80186 and 65C12 I/O processor
	DS:BX -> control block (see #03211)
Return: FLAGS destroyed
	control block updated
Note:	there are more functions than are listed here, but details are not
	  available
SeeAlso: INT 40"Acorn",INT 4B"Acorn",INT 4C"Acorn"

Format of BBC Master control block for function FAh:
Offset	Size	Description	(Table 03211)
 00h	BYTE	number of parameters sent to I/O processor (0Dh,0Eh)
 01h	BYTE	number of parameters read from I/O processor (01h)
 02h	DWORD	I/O processor address
 06h	DWORD	80186 segment:offset address
 0Ah	WORD	number of bytes to transfer
 0Ch	BYTE	operation type
		00h write to 65C12 at 24 us/byte
		01h read from 65C12 at 24 us/byte
		02h write to 65C12 at 26 us/word
		03h read from 65C12 at 26 us/word
		04h write to 65C12 at 10 us/byte using 256-byte blocks
		05h read from 65C12 at 10 us/byte using 256-byte blocks
 0Dh	BYTE	65C12 memory access control (only used if offset 00h = 0Eh)
		(see #03212)

Bitfields for 65C12 memory access control:
Bit(s)	Description	(Table 03212)
 7	unused
 6	always use main screen memory if I/O addr 3000h-7FFFh (overrides bit 5)
 5	use shadow screen memory if screen address specified
 4	use current ROM rather than ROM selected by bits 3-0 (only if I/O
	  address between 8000h and BFFFh)
 3-0	paged ROM number

Top
4A00 - INT 4A - TI Professional PC - KEYBOARD - GET KEYPRESS
INT 4A - TI Professional PC - KEYBOARD - GET KEYPRESS
	AH = 00h
Return: AX = keystroke (AH=00h for ASCII keys -- no scan code)
SeeAlso: AH=01h,AH=02h,AH=03h,AH=04h,AH=05h,INT 16/AH=00h
SeeAlso: INT 47"TI Professional",INT 48/AH=00h"TI Professional"
SeeAlso: INT 49/AH=01h"TI",INT 4C"TI Professional",INT 4D/AH=00h
SeeAlso: INT 5B"TI Professional"

Top
4A01 - INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD STATUS
INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD STATUS
	AH = 01h
Return: ZF set if no keystroke available
	ZF clear if keystrokes in buffer
	    AX = next keystroke (AH=00h for ASCII keys -- no scan code)
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,AH=05h,INT 16/AH=01h

Top
4A02 - INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD MODE
INT 4A - TI Professional PC - KEYBOARD - GET KEYBOARD MODE
	AH = 02h
Return: AL = shift states (see #03213)
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,AH=05h,INT 16/AH=02h

Bitfields for TI Professional PC keyboard shift states:
Bit(s)	Description	(Table 03213)
 0	Ctrl key pressed
 1	Alt key pressed
 2	either Shift key pressed
 3-6	0
 7	CapsLock is ON

Top
4A03 - INT 4A - TI Professional PC - KEYBOARD - FLUSH KEYBOARD BUFFER
INT 4A - TI Professional PC - KEYBOARD - FLUSH KEYBOARD BUFFER
	AH = 03h
Return: nothing
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,AH=05h

Top
4A04 - INT 4A - TI Professional PC - KEYBOARD - SEND COMMAND TO KEYBOARD
INT 4A - TI Professional PC - KEYBOARD - SEND COMMAND TO KEYBOARD
	AH = 04h
	AL = command
	    00h reset to default states
	    01h enable auto-repeat (default)
	    02h disable auto-repeat
	    03h lock keyboard
	    04h unlock keyboard (default)
	    05h enable keyclick (requires hardware modification to work)
	    06h disable keyclick (default)
Return: nothing
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,AH=05h

Top
4A05 - INT 4A - TI Professional PC - KEYBOARD - INSERT CHARACTER INTO KEYBOARD BUFFER
INT 4A - TI Professional PC - KEYBOARD - INSERT CHARACTER INTO KEYBOARD BUFFER
	AH = 05h
	BX = character code (BH=00h if ASCII character, BL=00h/BH nonzero for
	      extended codes) (see #03214)
Return: ZF set if keyboard buffer was already full
	ZF clear if keystroke inserted into buffer
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,AH=05h,INT 5B"TI"

(Table 03214)
Values for TI Professional PC scan/character codes:
 Scan	Key	Normal	Shift	Ctrl	Alt	Notes
 00h	  -- unused
 01h	F5	3F00h	5800h	6200h	6C00h
 02h	F6	4000h	5900h	6300h	6D00h
 03h	F7	4100h	5A00h	6400h	6E00h
 04h	F8	4200h	5B00h	6500h	6F00h
 05h	F9	4300h	5C00h	6600h	7000h
 06h	F10	4400h	5D00h	6700h	7100h
 07h	F11	4500h	0800h	0A00h	0C00h
 08h	F12	4600h	0900h	0B00h	0D00h
 09h	1 !	0031h	0021h	----	7800h
 0Ah	2 @	0032h	0040h	0300h	7900h
 0Bh	3 #	0033h	0023h	----	7A00h
 0Ch	4 $	0034h	0024h	----	7B00h
 0Dh	5 %	0035h	0025h	----	7C00h
 0Eh	6 ^	0036h	005Eh	001Eh	7D00h
 0Fh	7 &	0037h	0026h	----	7E00h
 10h	8 *	0038h	002Ah	----	7F00h
 11h	9 (	0039h	0028h	----	8000h
 12h	0 )	0030h	0029h	----	8100h
 13h	- _	002Dh	005Fh	001Fh	8200h
 14h	= +	003Dh	002Bh	----	8300h
 15h BACK SPACE 0008h	0008h	007Fh	----
 16h	` ~	0060h	007Eh	----	----
 17h	NUM =	003Dh	003Dh	003Dh	8C00h
 18h	NUM +	002Bh	002Bh	002Bh	8D00h
 19h   NUM SPAC	0020h	0020h	0020h	8E00h
 1Ah   NUM TAB	0009h	0F00h	0009h	8F00h
 1Bh	NUM 1	0031h	0031h	0031h	(alt-###)	[Note 5]
 1Ch	(unused)
 1Dh	NUM 0	0030h	0030h	0030h	(alt-###)	[Note 5]
 1Eh  NUM ENTER	000Dh	000Dh	000Dh	----
 1Fh	NUM 4	0034h	0034h	0034h	(alt-###)	[Note 5]
 20h	NUM 5	0035h	0035h	0035h	(alt-###)	[Note 5]
 21h	NUM 9	0039h	0039h	0039h	(alt-###)	[Note 5]
 22h	NUM -	002Dh	002Dh	002Dh	----
 23h	NUM 2	0032h	0032h	0032h	(alt-###)	[Note 5]
 24h-26h  -- unused
 27h	NUM 7	0037h	0037h	0037h	(alt-###)	[Note 5]
 28h	NUM 8	0038h	0038h	0038h	(alt-###)	[Note 5]
 29h	NUM 6	0036h	0036h	0036h	(alt-###)	[Note 5]
 2Ah	NUM ,	002Ch	002Ch	002Ch	----
 2Bh	NUM 3	0033h	0033h	0033h	(alt-###)	[Note 5]
 2Ch	NUM .	002Eh	002Eh	002Eh	----
 2Dh	PRINT	7200h	[Note2]	----	----	[Notes 1,2]
 2Eh   RtArrow	4D00h	8A00h	7400h	4E00h
 2Fh	INS	5200h	2800h	2900h	2A00h	[Note 1]
 30h	DEL	5300h	3800h	3900h	3A00h	[Note 1]
 31h	TAB	0009h	0F00h	0009h	----
 32h	Q	0071h	0051h	0011h	1000h
 33h	W	0077h	0057h	0017h	1100h
 34h	E	0065h	0045h	0005h	1200h
 35h	R	0072h	0052h	0012h	1300h
 36h	T	0074h	0054h	0014h	1400h
 37h	Y	0079h	0059h	0019h	1500h
 38h	U	0075h	0055h	0015h	1600h
 39h	I	0069h	0049h	0009h	1700h
 3Ah	O	006Fh	004Fh	000Fh	1800h
 3Bh	P	0070h	0050h	0010h	1900h
 3Ch	[ {	005Bh	007Bh	001Bh	----
 3Dh	] }	005Dh	007Dh	001Dh	----
 3Eh  LINE FEED	000Ah	000Ah	7500h	4F00h
 3Fh  BRK/PAUS	[Note3]	[Note4]	----	----	[Notes 1,3,4]
 40h  UpArrow	4800h	8800h	8400h	4900h
 41h	ESC	001Bh	001Bh	001Bh	----
 42h	A	0061h	0041h	0001h	1E00h
 43h	S	0073h	0053h	0013h	1F00h
 44h	D	0064h	0044h	0004h	2000h
 45h	F	0066h	0046h	0006h	2100h
 46h	G	0067h	0047h	0007h	2200h
 47h	H	0068h	0048h	0008h	2300h
 48h	J	006Ah	004Ah	000Ah	2400h
 49h	K	006Bh	004Bh	000Bh	2500h
 4Ah	L	006Ch	004Ch	000Ch	2600h
 4Bh	; :	003Bh	003Ah	----	----
 4Ch	' "	0027h	0022h	----	----
 4Dh	RETURN	000Dh	000Dh	000Dh	----
 4Eh	\ |	005Ch	007Ch	001Ch	----
 4Fh  LeftArrow	4B00h	8B00h	7300h	4C00h
 50h	HOME	4700h	8600h	7700h	8500h
 51h  Space Bar	0020h	0020h	0020h	0020h
 52h	Z	007Ah	005Ah	001Ah	2C00h
 53h	X	0078h	0058h	0018h	2D00h
 54h	C	0063h	0043h	0003h	2E00h
 55h	V	0076h	0056h	0016h	2F00h
 56h	B	0062h	0042h	0002h	3000h
 57h	N	006Eh	004Eh	000Eh	3100h
 58h	M	006Dh	004Dh	000Dh	3200h
 59h	, <	002Ch	003Ch	----	----
 5Ah  PRINT	7200h	[Note2]	----	----	[Notes 1,2]
 5Bh	. >	002Eh	003Eh	----	----
 5Ch	/ ?	002Fh	003Fh	----	----
 5Dh	(unused)
 5Eh	DEL	5300h	3800h	3900h	3A00h	[Note 1]
 5Fh	INS	5200h	2800h	2900h	2A00h	[Note 1]
 60h  DownArrow	5000h	8900h	7600h	5100h
 61h-63h  -- unused
 64h  BRK/PAUS	[Note3]	[Note4]	----	----	[Notes 1,3,4]
 65h	F1	3B00h	5400h	5E00h	6800h
 66h	F2	3C00h	5500h	5F00h	6900h
 67h	F3	3D00h	5600h	6000h	6A00h
 68h	F4	3E00h	5700h	6100h	6B00h
 69h-6Fh  -- unused
Notes:	[1] four of the keys can have differing scan codes, depending on the
	  actual keyboard; the BIOS accepts either scan code ("normal": 2Fh,
	  30h, 5Ah, 64h; "alternate": 2Dh,3Fh,5Eh,5Fh) for any of these keys
	[2] Shift-Print invokes INT 5E for a screen dump; the PRTSCRN.DEV
	  device driver also supports Alt-Print, Ctrl-Print, Shift-Alt-Print,
	  and Shift-Ctrl-Print for dumping graphics in various permutations
	[3] BRK/PAUS invokes INT 5C for a pause, then stuffs 0100h into the
	  keyboard buffer
	[4] Shift-BRK/PAUS invokes INT 5D for the Break, then stuffs 0000h
	  into the keyboard buffer; MS-DOS hooks INT 5D to keep the 0000h from
	  appearing in the keyboard buffer
	[5] on the TI Pro, one enters an arbitrary character slightly
	  differently than on a standard PC: exactly three numberpad digits
	  must be pressed (using leading zeros for codes less than 100), and
	  the key for the requested code is inserted into the keyboard buffer
	  immediately on pressing the third key.  The Alt key may be released
	  and re-pressed arbitrarily often between digits without affecting
	  the Alt-digit-digit-digit sequence.
	scan codes with bit 7 set are not key releases, but rather
	  auto-repeated keystrokes, which the BIOS only places into the
	  keyboard buffer if the buffer is empty at the time (thus avoiding
	  typeahead of repeated keystrokes faster than they can be processed)
SeeAlso: #00006 at INT 09

Top
4B - INT 4B - Z100 - Slave 8259 - S100 vectored line 3
INT 4B - Z100 - Slave 8259 - S100 vectored line 3
SeeAlso: INT 4A"Z100",INT 4C"Z100"

Top
4B - INT 4B - Common Access Method SCSI interface (draft revision 1.9)
INT 4B - Common Access Method SCSI interface (draft revision 1.9)
	ES:DI -> CAM Control Block (see #03229 at INT 4F/AX=8100h)
InstallCheck:	test for the string "SCSI_CAM" eight bytes past the INT 4Bh
	  handler
Notes:	the CAM committee moved the interface to INT 4F after revision 1.9
	  to avoid conflicting with the IBM SCSI interface and the Virtual
	  DMA specification
	the only driver to date reported to use the CAM interface on INT 4B
	  instead of INT 4F is from Future Domain (which has drivers for CAM
	  on either interrupt)
SeeAlso: INT 4F/AX=8100h
Index:	installation check;Common Access Method SCSI interface

Top
4B - INT 4B - Tandy 2000 - EQUIPMENT DETERMINATION
INT 4B - Tandy 2000 - EQUIPMENT DETERMINATION
Return: AX = BIOS equipment list word (see #03215)
Note:	this interrupt is identical to INT 11 on the Tandy 2000
SeeAlso: INT 11"EQUIPMENT",INT 4A"Tandy 2000",INT 4C"Tandy 2000"

Bitfields for Tandy 2000 BIOS equipment list:
Bit(s)	Description	(Table 03215)
 0	reserved
 1	monochrome graphics installed
 2	graphics with color option installed
 3	floppy disk drive 1 installed
 4	floppy disk drive 2 installed
 5	hard disk drive 1 installed
 6	hard disk drive 2 installed
 7	unused
 8	black and white monitor
 9	color monitor
 12-10	reserved
 13	printer installed
 14	reserved
 15	unused
SeeAlso: #00226 at INT 11

Top
4B - INT 4B - Acorn BBC Master 512 - "OSBYTE" - MISC FUNCTIONS USING REGISTER PARAMS
INT 4B - Acorn BBC Master 512 - "OSBYTE" - MISC FUNCTIONS USING REGISTER PARAMS
	AL = function code
	BL = first parameter
	BH = second parameter (if needed)
Return: BL = first return parameter
	BH = second return parameter
	CF depends on function
SeeAlso: INT 40"Acorn",INT 4A"Acorn",INT 4C"Acorn"

Top
4B00 - INT 4B - TI Professional PC - PARALLEL PORT - OUTPUT CHARACTER
INT 4B - TI Professional PC - PARALLEL PORT - OUTPUT CHARACTER
	AH = 00h
	DL = printer number (00h)
	AL = character to print
Return: AH = printer status (see #03216)
Note:	on the TI Pro, the BIOS only supports DL=00h; MS-DOS versions for the
	  TI hook INT 4B and handle requests for DL<>00h
SeeAlso: AH=01h,AH=02h,INT 17/AH=00h
SeeAlso: INT 40"TI Professional",INT 48/AH=00h"TI Professional"
SeeAlso: INT 49/AH=01h"TI",INT 4C"TI Professional",INT 4D/AH=00h

Bitfields for TI Professional PC printer status:
Bit(s)	Description	(Table 03216)
 0	timeout (function 00h only)
 3-1	unused
 4	busy
 5	paper out
 6	on-line (selected)
 7	fault

Top
4B01 - INT 4B - TI Professional PC - PARALLEL PORT - INITIALIZE PRINTER
INT 4B - TI Professional PC - PARALLEL PORT - INITIALIZE PRINTER
	AH = 01h
	DL = printer number (00h)
Return: AH = printer status (see #03216)
Note:	on the TI Pro, the BIOS only supports DL=00h; MS-DOS versions for the
	  TI hook INT 4B and handle requests for DL<>00h
SeeAlso: AH=00h,AH=02h,INT 17/AH=01h

Top
4B02 - INT 4B - TI Professional PC - PARALLEL PORT - GET PRINTER STATUS
INT 4B - TI Professional PC - PARALLEL PORT - GET PRINTER STATUS
	AH = 02h
	DL = printer number (00h)
Return: AH = printer status (see #03216)
Note:	on the TI Pro, the BIOS only supports DL=00h; MS-DOS versions for the
	  TI hook INT 4B and handle requests for DL<>00h
SeeAlso: AH=00h,AH=01h,INT 17/AH=02h

Top
4B80 - INT 4B - IBM SCSI interface
INT 4B - IBM SCSI interface
	AH = 80h
	AL = 00h-10h (Corel PowerSCSI INT4BCAM.SYS)
	further details not yet available

Top
4B8102DX0000 - INT 4B - Virtual DMA Specification (VDS) - GET VERSION
INT 4B - Virtual DMA Specification (VDS) - GET VERSION
	AX = 8102h
	DX = 0000h
Return: CF clear if successful
	    AH = major version number
	    AL = minor version number
	    BX = product number (see #03217)
	    CX = product revision number
		always 0000h for QMAPS and HPMM.SYS
		always 0001h for Microsoft's EMM386.EXE v4.20-4.41
	    DX = flags (see #03219)
	    SI:DI = maximum DMA buffer size
	CF set on error
	    AL = error code (see #03218)
Note:	bit 5 of 0040h:007Bh is supposed to be set if VDS is supported; this is
	  apparently not always the case
SeeAlso: INT 2C/AX=002Bh,INT 31/AX=0400h,MEM 0040h:007Bh"4Bh"
Index:	installation check;Virtual DMA Specification

(Table 03217)
Values for VDS product number:
 0000h	for Quadtel's QMAPS and Hewlett-Packard's HPMM.SYS
 0001h	for Microsoft's EMM386.EXE
 0003h	for Windows 3.x WIN386.EXE
 0300h	OS/2 (all versions to date)
 0EDCh	for DR DOS 6.0 EMM386.SYS
 4560h	("E`") for Qualitas' 386MAX
 4D43h	("MC") for V Communications' Memory Commander
 5145h	("QE") for Quarterdeck's QEMM-386
 524Dh	("RM") for Helix's Netroom RM386

(Table 03218)
Values for VDS error code:
 01h	region not in contiguous memory
 02h	region crossed a physical alignment boundary
 03h	unable to lock pages
 04h	no buffer available
 05h	region too large for buffer
 06h	buffer currently in use
 07h	invalid memory region
 08h	region was not locked
 09h	number of physical pages greater than table length
 0Ah	invalid buffer ID
 0Bh	copy out of buffer range
 0Ch	invalid DMA channel number
 0Dh	disable count overflow
 0Eh	disable count underflow
 0Fh	function not supported
 10h	reserved flag bits set in DX

Bitfields for VDS flags:
Bit(s)	Description	(Table 03219)
 0	PC/XT bus (DMA in first megabyte only)
 1	physical buffer/remap region in first megabyte
 2	automatic remap enabled
 3	all memory is physically contiguous
 4-15	reserved (zero)

Top
4B8103 - INT 4B - Virtual DMA Specification - LOCK DMA REGION
INT 4B - Virtual DMA Specification - LOCK DMA REGION
	AX = 8103h
	DX = flags (see #03220)
	ES:DI -> DMA descriptor structure (see #03221,#03222,#03223)
Return: CF clear if successful
	    DDS physical address field filled in
	    DDS buffer ID field filled (0000h if no buffer allocated)
	CF set on error
	    AL = error code (see #03218)
	    DDS region size field filled wth maximum contiguous length in bytes
BUGS:	Windows 3.0 does not correctly support automatic remapping or copying
	  in enhanced mode
	Windows 3.0 in enhanced mode does not return a correct code on error
SeeAlso: AX=8104h,AX=8105h

Bitfields for VDS flags:
Bit(s)	Description	(Table 03220)
 0	reserved (zero)
 1	data should be copied into buffer (ignored if 2 set)
 2	buffer should not be allocated if region noncontiguous or crosses
	  physical alignment boundary specified by 4-5
 3	don't attempt automatic remap
 4	region must not cross 64K physical alignment boundary
 5	region must not cross 128K physical alignment boundary
 6-15	reserved (zero)

Format of DMA descriptor structure (DDS):
Offset	Size	Description	(Table 03221)
 00h	DWORD	region size
 04h	DWORD	offset
 08h	WORD	segment/selector
 0Ah	WORD	buffer ID
 0Ch	DWORD	physical address

Format of Extended DMA descriptor structure (EDDS):
Offset	Size	Description	(Table 03222)
 00h	DWORD	region size
 04h	DWORD	offset
 08h	WORD	segment/selector
 0Ah	WORD	reserved
 0Ch	WORD	number available
 0Eh	WORD	number used
 10h	DWORD	region 0 physical address
 14h	DWORD	region 0 size in bytes
 18h	DWORD	region 1 physical address
 1Ch	DWORD	region 1 size in bytes
	...

Format of Extended DMA descriptor structure (EDDS) with page table entries:
Offset	Size	Description	(Table 03223)
 00h	DWORD	region size
 04h	DWORD	offset
 08h	WORD	segment/selector
 0Ah	WORD	reserved
 0Ch	WORD	number available
 0Eh	WORD	number used
 10h	DWORD	page table entry 0 (same as 80386 page table entry)
 14h	DWORD	page table entry 1
	...
Note:	bits 1-11 of the page table entries should be zero; bit 0 set if page
	  is present and locked

Top
4B8104 - INT 4B - Virtual DMA Specification - UNLOCK DMA REGION
INT 4B - Virtual DMA Specification - UNLOCK DMA REGION
	AX = 8104h
	DX = flags
	    bit 0: reserved (zero)
	    bit 1: data should be copied out of buffer
	    bits 2-15 reserved (zero)
	ES:DI -> DMA descriptor structure (see #03221,#03222) with region size,
		  physical address, and buffer ID fields set
Return: CF clear if successful
	    DDS physical address field set
	    DDS buffer ID field set (0000h if no buffer allocated)
	CF set on error
	    AL = error code (see #03218)
	    DDS region size field filled wth maximum contiguous length in bytes
Note:	Windows 3.0 does not check whether the region extends beyond the end of
	  a segment
BUG:	Windows 3.0 in enhanced mode does not return a correct code on error
SeeAlso: AX=8103h,AX=8106h

Top
4B8105 - INT 4B - Virtual DMA Specification - SCATTER/GATHER LOCK REGION
INT 4B - Virtual DMA Specification - SCATTER/GATHER LOCK REGION
	AX = 8105h
	DX = flags (see #03224)
	ES:DI -> Extended DMA descriptor structure (see #03222,#03223)
		  region size, linear segment, linear offset, and number avail
		  fields set
Return: CF clear if successful
	    EDDS number used field set
	    if DX bit 6 set, lower 12 bits of BX = offset in first page
	CF set on error
	    AL = error code (see #03218)
	    EDDS region size field filled with max length in bytes that can be
		  locked and described in the EDDS table
BUG:	Windows 3.0 in enhanced mode may return zero instead of the physical
	  page address for pages which were originally not present
SeeAlso: AX=8103h,AX=8106h

Bitfields for VDS flags:
Bit(s)	Description	(Table 03224)
 0-5	reserved (zero)
 6	EDDS should be returned with page table entries
 7	only present pages should be locked (not-present pages receive entry
	  of 0000h)
 8-15	reserved (zero)

Top
4B8106 - INT 4B - Virtual DMA Specification - SCATTER/GATHER UNLOCK REGION
INT 4B - Virtual DMA Specification - SCATTER/GATHER UNLOCK REGION
	AX = 8106h
	DX = flags (see #03225)
	ES:DI -> Extended DMA descriptor structure (see #03222,#03223) returned
		  by AX=8105h
Return: CF clear if successful
	CF set on error
	    AL = error code (see #03218)
Note:	according to the Microsoft version of the VDS specification, the
	  actual scatter/gather list is ignored, while according to the IBM
	  version of the specification, "the result of a LOCK operation"
	  must be provided to this function
SeeAlso: AX=8104h,AX=8105h

Bitfields for VDS flags:
Bit(s)	Description	(Table 03225)
 0-5	reserved (zero)
 6	EDDS contains page table entries
 7	EDDS may contain not-present pages (entry = 0000h)
 8-15	reserved (zero)

Top
4B8107 - INT 4B - Virtual DMA Specification - REQUEST DMA BUFFER
INT 4B - Virtual DMA Specification - REQUEST DMA BUFFER
	AX = 8107h
	DX = flags
	    bit 0: reserved (zero)
	    bit 1: data should be copied into buffer
	    bits  2-15 reserved (zero)
	ES:DI -> DMA descriptor structure (see #03221) with region size set
		  (also region offset and region segment if DX bit 1 set)
Return: CF clear if successful
	    DDS physical address and buffer ID set
	    DDS region size filled with length of buffer
	CF set on error
	    AL = error code (see #03218)
SeeAlso: AX=8108h

Top
4B8108 - INT 4B - Virtual DMA Specification - RELEASE DMA BUFFFER
INT 4B - Virtual DMA Specification - RELEASE DMA BUFFFER
	AX = 8108h
	DX = flags
	    bit 0: reserved (zero)
	    bit 1: data should be copied out of buffer
	    bits 2-15 reserved (zero)
	ES:DI -> DMA descriptor structure (see #03221,#03222) with buffer ID set
		  (also region size/region offset/segment if DX bit 1 set)
Return: CF clear if successful
	CF set on error
	    AL = error code (see #03218)
BUG:	under Windows 3.0 Enhanced mode, you must specify that data be copied
	  for this function to work correctly
SeeAlso: AX=8107h

Top
4B8109DX0000 - INT 4B - Virtual DMA Specification - COPY INTO DMA BUFFER
INT 4B - Virtual DMA Specification - COPY INTO DMA BUFFER
	AX = 8109h
	DX = 0000h
	ES:DI -> DMA descriptor structure (see #03221,#03222) with buffer ID,
		  region segment/offset, and region size fields set
	BX:CX = starting offset into DMA buffer
Return: CF clear if successful
	CF set on error
	    AL = error code (see #03218)
BUG:	Windows 3.0 Enhanced mode does not correctly interpret the copy count
SeeAlso: AX=810Ah

Top
4B810ADX0000 - INT 4B - Virtual DMA Specification - COPY OUT OF DMA BUFFER
INT 4B - Virtual DMA Specification - COPY OUT OF DMA BUFFER
	AX = 810Ah
	DX = 0000h
	ES:DI -> DMA descriptor structure (see #03221,#03223) with buffer ID,
		  region segment/offset, and region size fields set
	BX:CX = starting offset into DMA buffer
Return: CF clear if successful
	CF set on error
	    AL = error code (see #03218)
BUG:	Windows 3.0 Enhanced mode does not correctly interpret the copy count
SeeAlso: AX=8109h

Top
4B810B - INT 4B - Virtual DMA Specification - DISABLE DMA TRANSLATION
INT 4B - Virtual DMA Specification - DISABLE DMA TRANSLATION
	AX = 810Bh
	BX = DMA channel number
	DX = 0000h
Return: CF clear if successful
	CF set on error
	    AL = error code (see #03218)
SeeAlso: AX=810Ch

Top
4B810C - INT 4B - Virtual DMA Specification - ENABLE DMA TRANSLATION
INT 4B - Virtual DMA Specification - ENABLE DMA TRANSLATION
	AX = 810Ch
	BX = DMA channel number
	DX = 0000h
Return: CF clear if successful
	    ZF set if disable count decremented to zero
	CF set on error
	    AL = error code (see #03218)
SeeAlso: AX=810Bh

Top
4B810D - INT 4B - QEMM-386 - BUG
INT 4B - QEMM-386 - BUG
	AX = 810Dh
Note:	the code in QEMM v5.11 and 6.00 jumps to an invalid location on this
	  call

Top
4C - INT 4C - Z100 - Slave 8259 - S100 vectored line 4
INT 4C - Z100 - Slave 8259 - S100 vectored line 4
SeeAlso: INT 4B"Z100",INT 4D"Z100"

Top
4C - INT 4C - TI Professional PC - CLOCK/ANALOG INTERFACE
INT 4C - TI Professional PC - CLOCK/ANALOG INTERFACE
	no details available
SeeAlso: INT 40"TI Professional",INT 49/AH=01h"TI"
SeeAlso: INT 4A/AH=00h"TI",INT 4B"TI Professional",INT 4D/AH=00h
SeeAlso: INT 58"TI Professional"

Top
4C - INT 4C - Tandy 2000 - GET MEMORY SIZE
INT 4C - Tandy 2000 - GET MEMORY SIZE
Return: AX = kilobytes of contiguous memory starting at 0
Note:	this interrupt is identical to INT 12 on the Tandy 2000
SeeAlso: INT 12"BIOS",INT 4A"Tandy 2000",INT 4B"Tandy 2000",INT 51"Tandy 2000"

Top
4C - INT 4C - Acorn BBC Master 512 - "OSCLI" - INTERPRET COMMAND LINE
INT 4C - Acorn BBC Master 512 - "OSCLI" - INTERPRET COMMAND LINE
	DS:BX -> CR-terminated command string
Return: FLAGS destroyed
SeeAlso: INT 40"Acorn",INT 4A"Acorn",INT 4B"Acorn"

Top
4D - INT 4D - Z100 - Slave 8259 - S100 vectored line 5
INT 4D - Z100 - Slave 8259 - S100 vectored line 5
SeeAlso: INT 4C"Z100",INT 4E"Z100"

Top
4D - INT 4D - IBM - M-Audio Adapter SUPPORT
INT 4D - IBM - M-Audio Adapter SUPPORT
	no details available; supposedly documented in IBM form G571-0203-01

Top
4D00 - INT 4D - TI Professional PC - DISK - RESET DISK SYSTEM
INT 4D - TI Professional PC - DISK - RESET DISK SYSTEM
	AH = 00h
	DL = drive (if bit 7 is set both hard disks and floppy disks reset)
Return: AH = status (see #00234 at INT 13/AH=01h)
	CF clear if successful (returned AH=00h)
	CF set on error
Note:	this function is the same as INT 13/AH=00h on a standard PC BIOS
SeeAlso: AH=01h,AH=02h,AH=08h,AH=0Bh,INT 13/AH=00h,INT 46"TI Professional"
SeeAlso: INT 48/AH=00h"TI Professional",INT 4A/AH=00h"TI"

Top
4D01 - INT 4D - TI Professional PC - DISK - GET STATUS OF LAST OPERATION
INT 4D - TI Professional PC - DISK - GET STATUS OF LAST OPERATION
	AH = 01h
	DL = drive (bit 7 set for hard disk)
Return: CF clear if status unchanged
	CF set if status changed since last call
	AH = 00h
	AL = status of previous operation (see #00234 at INT 13/AH=01h)
Notes:	this function is nearly the same as INT 13/AH=01h on a standard PC BIOS
	the TI's BIOS tranparently performs a number of retries, and an error
	  status is only reported if all of the retries fail.  To get the error
	  status if the operation succeeded on a retry, use AH=07h instead
SeeAlso: AH=00h,AH=07h,INT 13/AH=01h

Top
4D02 - INT 4D - TI Professional PC - DISK - READ SECTOR(S) INTO MEMORY
INT 4D - TI Professional PC - DISK - READ SECTOR(S) INTO MEMORY
	AH = 02h
	AL = number of sectors to read (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> data buffer
Return: CF set on error
	    if AH = 11h (corrected ECC error), AL = burst length
	CF clear if successful
	AH = status (see #00234 at INT 13/AH=01h)
	AL = number of sectors transferred
	ES:BX -> buffer for last sector processed (including one with errors)
SeeAlso: AH=00h,AH=01h,AH=03h,AH=04h,INT 13/AH=02h

Top
4D03 - INT 4D - TI Professional PC - DISK - WRITE SECTOR(S) FROM MEMORY
INT 4D - TI Professional PC - DISK - WRITE SECTOR(S) FROM MEMORY
	AH = 03h
	AL = number of sectors to write (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> buffer containing data
Return: CF set on error
	    if AH = 11h (corrected ECC error), AL = burst length
	CF clear if successful
	AH = status (see #00234 at INT 13/AH=01h)
	AL = number of sectors transferred
	ES:BX -> buffer for last sector processed (including one with errors)
SeeAlso: AH=00h,AH=01h,AH=02h,AH=04h,INT 13/AH=03h

Top
4D04 - INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR CRC(S)
INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR CRC(S)
	AH = 04h
	AL = number of sectors to verify (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> data buffer
Return: CF set on error
	    if AH = 11h (corrected ECC error), AL = burst length
	CF clear if successful
	AH = status (see #00234 at INT 13/AH=01h)
	AL = number of sectors transferred
	ES:BX -> buffer for last sector processed (including one with errors)
Note:	even though no data is transferred, ES:BX must still be valid
SeeAlso: AH=00h,AH=01h,AH=02h,AH=06h,INT 13/AH=04h

Top
4D05 - INT 4D - TI Professional PC - DISK - NOP
INT 4D - TI Professional PC - DISK - NOP
	AH = 05h
Note:	on the TI Pro, FORMAT.COM contains direct port I/O commands to perform
	  disk formatting, rather than using the BIOS

Top
4D06 - INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR(S)
INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR(S)
	AH = 06h
	AL = number of sectors to verify (must be nonzero)
	CH = low eight bits of cylinder number
	CL = sector number 1-63 (bits 0-5)
	     high two bits of cylinder (bits 6-7, hard disk only)
	DH = head number
	DL = drive number (bit 7 set for hard disk)
	ES:BX -> data buffer
Return: CF set on error
	    if AH = 11h (corrected ECC error), AL = burst length
	CF clear if successful
	AH = status (see #00234 at INT 13/AH=01h)
	AL = number of sectors transferred
	ES:BX -> buffer for last sector processed (including one with errors)
Note:	even though no data is transferred, ES:BX must still be valid because
	  an actual comparison with disk data is performed, not just the CRC
	  check of the standard PC BIOS or INT 4D/AH=04h
SeeAlso: AH=00h,AH=01h,AH=02h,AH=04h,INT 13/AH=04h

Top
4D07 - INT 4D - TI Professional PC - DISK - GET RETRY STATUS OF LAST OPERATION
INT 4D - TI Professional PC - DISK - GET RETRY STATUS OF LAST OPERATION
	AH = 07h
	DL = drive (bit 7 set for hard disk)
Return: CF clear if status unchanged
	CF set if status changed since last call
	AH = 00h
	AL = status of previous operation (see #00234 at INT 13/AH=01h)
Notes:	this function is nearly the same as INT 13/AH=01h on a standard PC BIOS
	the TI's BIOS tranparently performs a number of retries; this function
	  returns the error status of a failed operation even if the operation
	  succeeded on a retry
SeeAlso: AH=00h,AH=01h,INT 13/AH=01h

Top
4D08 - INT 4D - TI Professional PC - DISK - SET STANDARD DEVICE INTERFACE TABLE
INT 4D - TI Professional PC - DISK - SET STANDARD DEVICE INTERFACE TABLE
	AH = 08h
	DL = drive number (00h-03h)
	AL = drive type
	    00h single-sided 48 tpi (40-track, 8 sectors, 512 bytes/sector)
	    01h double-sided 48 tpi (40-track, 8 sectors, 512 bytes/sector)
	    02h single-sided 96 tpi (80-track, 8 sectors, 512 bytes/sector)
	    03h double-sided 96 tpi (80-track, 8 sectors, 512 bytes/sector)
Return: nothing???
SeeAlso: AH=00h,AH=09h

Top
4D09 - INT 4D - TI Professional PC - DISK - SET DEVICE INTERFACE TABLE ADDRESS
INT 4D - TI Professional PC - DISK - SET DEVICE INTERFACE TABLE ADDRESS
	AH = 09h
	DL = drive number (00h-07h)
	ES:BX -> Device Interface Table (see #03226)
Return: nothing???
SeeAlso: AH=00h,AH=08h,AH=0Ah,INT 1E

Format of TI Professional PC Device Interface Table:
Offset	Size	Description	(Table 03226)
 00h	DWORD	-> entry point for disk routine
 04h	WORD	bytes per sector
 06h	BYTE	sectors per track
 07h	BYTE	number of heads
 08h	BYTE	number of cylinders
 09h	BYTE	retry count
 0Ah	BYTE	precompensation start
SeeAlso: #01264 at INT 1E

Top
4D0A - INT 4D - TI Professional PC - DISK - GET DEVICE INTERFACE TABLE ADDRESS
INT 4D - TI Professional PC - DISK - GET DEVICE INTERFACE TABLE ADDRESS
	AH = 0Ah
	DL = drive number (00h-07h)
Return: AH = status
	ES:BX -> Device Interface Table (see #03226)
SeeAlso: AH=00h,AH=08h,AH=09h,INT 1E

Top
4D0B - INT 4D - TI Professional PC - DISK - TURN OFF ALL DRIVES
INT 4D - TI Professional PC - DISK - TURN OFF ALL DRIVES
	AH = 0Bh
Return: AH = 00h
Note:	used for diagnostics or to conserve power
SeeAlso: AH=00h

Top
4E - INT 4E - Z100 - Slave 8259 - S100 vectored line 6
INT 4E - Z100 - Slave 8259 - S100 vectored line 6
SeeAlso: INT 4D"Z100",INT 4F"Z100"

Top
4E00 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS DATE
INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS DATE
	AH = 00h
	BX = number of days since January 1, 1980
Return: nothing
SeeAlso: AH=01h,AH=02h
SeeAlso: INT 40"TI Professional",INT 48/AH=00h"TI Professional"
SeeAlso: INT 4A/AH=00h"TI",INT 4F"TI Professional"

Top
4E01 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS TIME
INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - SET BIOS TIME
	AH = 01h
	CH = hours
	CL = minutes
	DH = seconds
	DL = hundredths
Return: nothing
Note:	the BIOS does not validate the data passed to this function
SeeAlso: AH=00h,AH=02h

Top
4E02 - INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - GET BIOS DATA AND TIME
INT 4E - TI Professional PC - TIME-OF-DAY CLOCK - GET BIOS DATA AND TIME
	AH = 02h
Return: AX = number of days since January 1, 1980
	CH = hours
	CL = minutes
	DH = seconds
	DL = hundredths
SeeAlso: AH=00h,AH=01h

Top
4F - INT 4F - Z100 - Slave 8259 - S100 vectored line 7
INT 4F - Z100 - Slave 8259 - S100 vectored line 7
SeeAlso: INT 4E"Z100"

Top
4F - INT 4F - TI Professional PC - SYSTEM CONFIGURATION CALL
INT 4F - TI Professional PC - SYSTEM CONFIGURATION CALL
Return: AX = system configuration word (see #03227)
	BX = size of contiguous DOS memory in paragraphs
SeeAlso: INT 11"BIOS",INT 12"BIOS",INT 40"TI Professional",INT 48/AH=09h
SeeAlso: INT 49/AH=01h"TI",INT 4B"TI Professional",INT 4D/AH=00h
SeeAlso: INT 4E"TI Professional"

Bitfields for TI Professional PC system configuration:
Bit(s)	Description	(Table 03227)
 0	floppy drive 0 (A:, internal) installed
 1	floppy drive 1 (B:, internal) installed
 2	floppy drive 2 (C:, external) installed
 3	floppy drive 3 (D:, external) installed
 4	drive A: is 96tpi (80 tracks)
 5	drive A: is double-sided
 6	60 Hz power instead of 50 Hz
 7	hard disk (E: or E:/F:) installed
 8	serial port 1 installed
 9	serial port 2 installed
 10	serial port 3 installed
 11	serial port 4 installed
 14-12	installed graphics RAM
	000 none (text-only system)
	001 bank A only (graphics limited to 2 of 8 colors)
	111 banks A/B/C (graphics supports 8 of 8 colors)
 15	clock/analog board installed

Top
4F0081 - INT 4F - ATA Software Programming Interface (ATASPI) - SEND ATASPI REQUEST
INT 4F - ATA Software Programming Interface (ATASPI) - SEND ATASPI REQUEST
	AX = 0081h
	ES:BX -> ATA Request Block (see #90002)
Return:	AH = 00h always???
Note:	this interface has probably appeared in some later revisions of ATASPI
	  than 0.72
SeeAlso: INT 21/AX=4402h"ATASPI",INT 4F/AX=0082h

Top
4F0082CX8765 - INT 4F - ATA Software Programming Interface (ATASPI) - INSTALLATION CHECK
INT 4F - ATA Software Programming Interface (ATASPI) - INSTALLATION CHECK
	AX = 0082h
	CX = 8765h
	DX = CBA9h
Return: AH = 00h if installed
	    CX = 9ABCh
	    DX = 5678h
	    ES:DI -> "$ATAMGR$"
Note:	this interface has probably appeared in some later revisions of ATASPI
	  than 0.72
SeeAlso: INT 21/AX=4402h"ATASPI",INT 4F/AX=0081h

Top
4F8100 - INT 4F - Common Access Method SCSI interface rev 2.3 - SEND CCB TO XPT/SIM
INT 4F - Common Access Method SCSI interface rev 2.3 - SEND CCB TO XPT/SIM
	AX = 8100h
	ES:BX -> CAM Control Block (CCB) (see #03229)
Return: AH = status
	    00h successful
	    01h invalid CCB address (0000h:0000h)
Note:	the SCSI Interface Module (SIM) may complete the requested function
	  and invoke the completion callback function before this call returns
SeeAlso: AX=8200h,INT 2F/AX=7F01h,INT 4B"Common Access Method"

(Table 03228)
Values for CAM function code:
 00h	NOP
 01h	execute SCSI I/O
 02h	get device type
 03h	path inquiry
 04h	release SIM queue
 05h	set async callback
 06h	set device type
 07h-0Fh reserved
 10h	abort SCSI command
 11h	reset SCSI bus
 12h	reset SCSI device
 13h	terminate I/O process
 14h-1Fh reserved
 20h	engine inquiry
 21h	execute engine request
 22h-2Fh reserved
 30h	enable logical unit number
 31h	execute target I/O
 32h-7Fh reserved
 80h-FFh vendor-specific functions

Format of CAM Control Block:
Offset	Size	Description	(Table 03229)
 00h	DWORD	physical address of this CCB
 04h	WORD	CAM control block length
 06h	BYTE	function code (see #03228)
 07h	BYTE	CAM status (see #03232)
 08h	BYTE	SCSI status
 09h	BYTE	path ID (FFh = XPT)
 0Ah	BYTE	target ID
 0Bh	BYTE	logical unit number
 0Ch	WORD	CAM flags (see #03230)
 0Eh	BYTE	CAM address flags (see #03231)
 0Fh	BYTE	target-mode flags (see #03233)
---function 02h---
 10h	DWORD	pointer to 36-byte buffer for inquiry data or 0000h:0000h
 14h	BYTE	peripheral device type of target logical unit number
---function 03h---
 10h	BYTE	version number (00h-07h prior to rev 1.7, 08h = rev 1.7,
		09h-FFh = rev no, i.e. 23h = rev 2.3)
 11h	BYTE	SCSI capabilities (see #03234)
 12h	BYTE	target mode support
		bit 7: processor mode
		bit 6: phase-cognizant mode
		bit 5-0: reserved
 13h	BYTE	miscellaneous flags
		bit 7: scanned high to low instead of low to high
		bit 6: removables not included in scan
		bit 5: inquiry data not kept by XPT
		bits 4-0: reserved
 14h	WORD	engine count
 16h 14 BYTEs	vendor-specific data
 24h	DWORD	size of private data area
 28h	DWORD	asynchronous event capabilities (see #03235)
 2Ch	BYTE	highest path ID assigned
 2Dh	BYTE	SCSI device ID of initiator
 2Eh  2 BYTEs	reserved
 30h 16 BYTEs	SIM vendor ID
 40h 16 BYTEs	HBA (host bus adaptor) vendor ID
 50h  4 BYTEs	operating-system dependant usage
---functions 00h,04h,11h,12h---
 no additional fields
---function 05h---
 10h	DWORD	asynchronous event enables (refer to function 03h above)
 14h	DWORD	pointer to asynchronous callback routine (see #03241)
 18h	DWORD	pointer to peripheral driver buffer
 1Ch	BYTE	size of peripheral buffer
---function 06h---
 10h	BYTE	peripheral device type of target
---functions 10h,13h---
 10h	DWORD	pointer to CCB to be aborted
---function 20h---
 10h	WORD	engine number
 12h	BYTE	engine type
		00h buffer memory
		01h lossless compression
		02h lossy compression
		03h encryption
 13h	BYTE	engine algorithm ID
		00h vendor-unique
		01h LZ1 variation 1 (STAC)
		02h LZ2 variation 1 (HP DCZL)
		03h LZ2 variation 2 (Infochip)
 14h	DWORD	engine memory size
---function 21h---
 10h	DWORD	pointer to peripheral driver
 14h  4 BYTEs	reserved
 18h	DWORD	OS-dependent request-mapping info
 1Ch	DWORD	address of completion callback routine
 20h	DWORD	pointer to scatter/gather list or data buffer
 24h	DWORD	length of data transfer
 28h	DWORD	pointer to engine buffer data
 2Ch  2 BYTEs	reserved
 2Eh	WORD	number of scatter/gather entries
 30h	DWORD	maximum destination data length
 34h	DWORD	length of destination data
 38h	DWORD	source residual length
 3Ch 12 BYTEs	reserved
 48h	DWORD	OS-dependent timeout value
 4Ch  4 BYTEs	reserved
 50h	WORD	engine number
 52h	WORD	vendor-unique flags
 54h  4 BYTEs	reserved
 58h  N BYTEs	private data area for SIM
---function 30h---
 10h	WORD	group 6 vendor-unique CDB length
 12h	WORD	group 7 vendor-unique CDB length
 14h	DWORD	pointer to target CCB list
 18h	WORD	number of target CCBs
---other functions---
 10h	DWORD	pointer to peripheral driver
 14h	DWORD	pointer to next CCB
 18h	DWORD	OS-dependent request mapping information
 1Ch	DWORD	address of completion callback routine (see #03240)
 20h	DWORD	pointer to scatter/gather list or data buffer
 24h	DWORD	length of data transfer
 28h	DWORD	pointer to sense info buffer
 2Ch	BYTE	length of sense info buffer
 2Dh	BYTE	CDB length
 2Eh	WORD	number of scatter/gather entries
		scatter/gather list is array of 2N DWORDs, each pair specifying
		  the address and length of a data block
 30h  4 BYTEs	vendor-specific data
 34h	BYTE	(ret) SCSI status
 35h	BYTE	(ret) auto-sense residual length
 36h  2 BYTEs	reserved
 38h	DWORD	(ret) residual length
 40h 12 BYTEs	Command Descriptor Block (CDB) (see #03236,#03237,#03238)
 44h	DWORD	OS-dependent timeout value
 48h	DWORD	pointer to message buffer
 4Ch	WORD	length of message buffer
 4Eh	WORD	vendor-unique flags
 50h	BYTE	tag queue action
 51h  3 BYTEs	reserved
 54h  N BYTEs	private data area for SIM

Bitfields for CAM flags:
Bit(s)	Description	(Table 03230)
 0	CDB is a pointer
 1	tagged queue action enable
 2	linked CDB
 3	disable callback on completion
 4	scatter/gather
 5	disable autosense
 7-6	direction (00 reserved, 01 in, 10 out, 11 no data transfer)
 9-8	reserved
 10	engine synchronize
 11	SIM queue freeze
 12	SIM queue priority
	1 head insertion
	0 tail insertion (normal)
 13	disable synchronous transfers	\ mutually
 14	initiate synchronous transfers	/ exclusive
 15	disable disconnect

Bitfields for CAM address flags:
Bit(s)	Description	(Table 03231)
 7	SG list/data (0 = host, 1 = engine)
 6	CDB pointer    (6-1: 0=virtual addr, 1=phys addr)
 5	SG list/data
 4	sense buffer
 3	message buffer
 2	next CCB
 1	callback on completion
 0	reserved

(Table 03232)
Values for CAM status:
 00h	request in progress
 01h	request successful
 02h	host aborted request
 03h	unable to abort request
 04h	request completed with error
 05h	CAM is busy
 06h	invalid request
 07h	invalid path ID
 08h	no such SCSI device
 09h	unable to terminate I/O process
 0Ah	timeout on target selection
 0Bh	timeout on command
 0Dh	receive message rejection
 0Eh	sent/received SCSI bus reset
 0Fh	detected uncorrectable parity error
 10h	Autosense request failed
 11h	no HBA detected
 12h	data over/underrun
 13h	bus freed unexpectedly
 14h	target bus phase sequence failure
 15h	CCB too small
 16h	requested capability not available
 17h	sent bus device reset
 18h	terminate I/O process
 38h	invalid LUN
 39h	invalid target ID
 3Ah	unimplemented function
 3Bh	nexus not established
 3Ch	invalid initiator ID
 3Dh	received SCSI Command Descriptor Block
 3Eh	LUN already enabled
 3Fh	SCSI bus busy
Note:	bit 6 set to indicate frozen SIM queue
	bit 7 set to indicate valid autosense

Bitfields for CAM target-mode flags:
Bit(s)	Description	(Table 03233)
 7	data buffer valid
 6	status valid
 5	message buffer valid
 4	reserved
 3	phase-cognizant mode
 2	target CCB available
 1	disable autodisconnect
 0	disable autosave/restore

Bitfields for SCSI capabilities:
Bit(s)	Description	(Table 03234)
 7	modify data pointers
 6	wide bus (32 bits)
 5	wide bus (16 bits)
 4	synchronous transfers
 3	linked commands
 2	reserved
 1	tagged queueing
 0	soft reset

Bitfields for CAM asynchronous event capabilities:
Bit(s)	Description	(Table 03235)
 31-24	vendor-specific
 23-8	reserved
 7	new devices found during rescan
 6	SIM module deregistered
 5	SIM module registered
 4	sent bus device reset to target
 3	SCSI AEN
 2	reserved
 1	unsolicited reselection
 0	unsolicited SCSI bus reset

Format of Six-Byte SCSI Command Descriptor Block (CDB):
Offset	Size	Description	(Table 03236)
 00h	BYTE	operation code (see #03239)
 01h	BYTE	logical unit number (bits 7-5), SCSI-1/SCSI-2
		MSB of logical block address (bits 4-0)
 02h	WORD	logical block address (low word)
 04h	BYTE	transfer length
 05h	BYTE	control byte
SeeAlso: #03237,#03238

Format of Ten-Byte SCSI Command Descriptor Block (CDB):
Offset	Size	Description	(Table 03237)
 00h	BYTE	operation code (see #03239)
 01h	BYTE	logical unit number (bits 7-5), SCSI-1/SCSI-2
		reserved in SCSI-3
 02h	DWORD	logical block address (low word)
 06h	BYTE	reserved
 07h	WORD	transfer length
 09h	BYTE	control byte
SeeAlso: #03236,#03238

Format of Twelve-Byte SCSI Command Descriptor Block (CDB):
Offset	Size	Description	(Table 03238)
 00h	BYTE	operation code (see #03239)
 01h	BYTE	logical unit number (bits 7-5), SCSI-1/SCSI-2
		reserved in SCSI-3
 02h	DWORD	logical block address (low word)
 06h	DWORD	transfer length
 0Ah	BYTE	reserved
 0Bh	BYTE	control byte
SeeAlso: #03236,#03237

(Table 03239)
Values for SCSI CDB operation code for direct-access devices:
 00h	Test Unit Ready
 01h	Rezero Unit
 03h	Request Sense
 04h	Format Unit
 07h	Reassign Blocks
 08h	Read (6-byte CDB)
 0Ah	Write (6-byte CDB)
 0Bh	Seek (6-byte CDB)
 12h	Inquiry
 15h	Mode Select (6-byte CDB)
 16h	Reserve
 17h	Release
 18h	Copy
 1Ah	Mode Sense (6-byte CDB)
 1Bh	Start/Stop Unit
 1Ch	Receive Diagnostic Results
 1Dh	Send Diagnostic
 1Eh	Prevent/Allow Medium Removal
 25h	Read Capacity
 28h	Read (10-byte CDB)
 2Ah	Write (10-byte CDB)
 2Bh	Seek (10-byte CDB)
 2Eh	Write and Verify
 2Fh	Verify
 30h	Search Data High
 31h	Search Data Equal
 32h	Search Data Low
 33h	Set Limits
 34h	Prefetch
 35h	Synchronize Cache
 36h	Lock/Unlock Cache
 37h	Read Defect Data
 39h	Compare
 3Ah	Copy and Verify
 3Bh	Write Buffer
 3Ch	Read Buffer
 3Eh	Read Long
 3Fh	Write Long
 40h	Change Definition
 41h	Write Same
 4Ch	Log Select
 4Dh	Log Sense
 55h	Mode Select (10-byte CDB)
 5Ah	Mode Sense (10-byte CDB)
SeeAlso: #03236,#03237,#03238

(Table 03240)
Values completion callback function is called with:
	interrupts disabled
	ES:BX -> completed CCB

(Table 03241)
Values asynchronous callback function is called with:
	AH = opcode
	AL = path ID generating callback
	DH = target ID causing event
	DL = LUN causing event
	CX = data byte count (if applicable)
	ES:BX -> data buffer (if applicable)
Return: all registers preserved

Top
4F8200CX8765 - INT 4F - Common Access Method SCSI interface rev 2.3 - INSTALLATION CHECK
INT 4F - Common Access Method SCSI interface rev 2.3 - INSTALLATION CHECK
	AX = 8200h
	CX = 8765h
	DX = CBA9h
Return: AH = 00h if installed
	    CX = 9ABCh
	    DX = 5678h
	    ES:DI -> "SCSI_CAM"
SeeAlso: AX=8100h,INT 4B"Common Access Method"

Top
50 - INT 50 - TIL Xpert AIM (X.25)
INT 50 - TIL Xpert AIM (X.25)
	AH = function

Top
50 - INT 50 - IRQ0 relocated by DESQview
INT 50 - IRQ0 relocated by DESQview
Range:	INT 50 to INT F8, selected automatically
Notes:	this is the default location for older versions; DESQview v2.26+
	  searches for unused ranges of interrupts and uses the lowest
	  available range in its list for relocating these IRQs and the next
	  lowest for relocating IRQ8-IRQ15
	a range of eight interrupts starting at a multiple of 8 is considered
	  available if all vectors are identical and it has not been excluded
	  with an /XB:nn commandline switch
	the list of ranges for v2.26 is 50h,58h,68h,78h,F8h (if < two of these
	  are available, F8h and then 50h are used anyway)
	the list of ranges for v2.31+ is 68h,78h,88h-B8h,F8h (if < two of these
	  are available, F8h and then F0h are used anyway)
SeeAlso: INT 08"IRQ0",INT 51"DESQview",INT 54"DESQview",INT 58"DESQview"
SeeAlso: INT D8"Screen Thief"

Top
50 - INT 50 - IRQ0 relocated by IBM 3278 emulation control program
INT 50 - IRQ0 relocated by IBM 3278 emulation control program
SeeAlso: INT 51"IBM 3278"

Top
50 - INT 50 - IRQ0 relocated by OS/2 v1.x
INT 50 - IRQ0 relocated by OS/2 v1.x
SeeAlso: INT 51"OS/2"

Top
50 - INT 50 - TI Professional PC - FATAL SOFTWARE ERROR TRAP
INT 50 - TI Professional PC - FATAL SOFTWARE ERROR TRAP
Desc:	the default handler generates a System Error message and halts the
	  computer such that only Ctrl-Alt-Del can restart operation
Note:	documented as "for system use only"; intended for multi-tasking
	  software
SeeAlso: INT 40"TI Professional",INT 4F"TI Professional"
SeeAlso: INT 51"TI Professional",INT 53"TI Professional"

Top
500000 - INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - OPEN TEXT WINDOW
INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - OPEN TEXT WINDOW
	AX = 0000h
	ES:BX -> name string or ES:0000h if none
	CH,CL = row,column of upper left corner
	DH,DL = row,column of lower right corner
Return: AX = window handle or
	    0000h if not installed
	    FFFFh on error
SeeAlso: AX=0001h,AX=0002h"TEXT WINDOWS"

Top
500001 - INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - CLOSE TEXT WINDOW
INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - CLOSE TEXT WINDOW
	AX = 0001h
	DI = window handle
SeeAlso: AX=0000h

Top
500002 - INT 50 - Vanderaart TEXT WINDOWS - PUT CHARACTER IN WINDOW
INT 50 - Vanderaart TEXT WINDOWS - PUT CHARACTER IN WINDOW
	AX = 0002h
	BL = character
	BH = attribute
	DL = column
	DH = row
	DI = window handle
Return: AX = status
	    0000h if successful
	    FFFFh if outside window
SeeAlso: AX=0000h

Top
500002 - INT 50 - PC Thuis Organizer Shell - PLOT TEXT
INT 50 - PC Thuis Organizer Shell - PLOT TEXT
	AX = 0002h
	ES:BX -> text string
	DH,DL = row,column of upper left corner
	DI = window handle
Return: AX = status
	    0000h successful (text fits in window)
	    FFFFh error
Program: The PC Thuis Organizer Shell was written by John Vanderaart and
	  published in the June/July 1990 issue of PC Thuis Power magazine

Top
500003 - INT 50 - Vanderaart TEXT WINDOWS - OUTPUT LINE TO WINDOW
INT 50 - Vanderaart TEXT WINDOWS - OUTPUT LINE TO WINDOW
	AX = 0003h
	ES:BX -> text string
	CX = string length (0000h if ASCIZ string)
	DL = position (FFh centered, else flush left)
	DH = starting row
	DI = window handle
Return: AX = status
	    0000h successful
	    FFFFh did not fit in window

Top
500003 - INT 50 - PC Thuis Organizer Shell - WRITE FILE
INT 50 - PC Thuis Organizer Shell - WRITE FILE
	AX = 0003h
	ES:BX -> data to be written
	CX = number of bytes to write
	DS:SI -> filename
Return: AX = status
	    0000h successful
	    FFFFh error
SeeAlso: AX=0004h"Shell"

Top
500004 - INT 50 - Vanderaart TEXT WINDOWS - GET KEY
INT 50 - Vanderaart TEXT WINDOWS - GET KEY
	AX = 0004h
	CH = type
	    00h any key
	    01h 'J' or 'N' (Dutch for yes/no)
Return: AX = key
SeeAlso: INT 16/AH=00h

Top
500004 - INT 50 - PC Thuis Organizer Shell - READ FILE
INT 50 - PC Thuis Organizer Shell - READ FILE
	AX = 0004h
	ES:BX -> buffer for data
	CX = number of bytes to read or 0000h for entire file
	DL = file type
	    01h setting shell
	    02h setting sterm
	    03h INT21 file
	DS:SI -> filename
Return: AX = status
	    0000h successful
	    FFFFh error
Note:	file type numbers are maintained by John Vanderaart; if a new file type
	  is needed, a type number should be requested from him through the
	  magazine:
		PC Thuis BV
		Spaarne 55
		2011 CE HAARLEM
		The Netherlands
SeeAlso: AX=0003h"Shell"

Top
500005 - INT 50 - Vanderaart TEXT WINDOWS - CHANGE ATTRIBUTE
INT 50 - Vanderaart TEXT WINDOWS - CHANGE ATTRIBUTE
	AX = 0005h
	BL = new attribute
	CH,CL = row,column of upper left corner
	DH,DL = row,column of lower right corner
	DI = window handle

Top
500005 - INT 50 - PC Thuis Organizer Shell - PROMPT YES/NO
INT 50 - PC Thuis Organizer Shell - PROMPT YES/NO
	AX = 0005h
	ES:BX -> prompt string (ES:0000h if no prompt)
Return: AX = key pressed
	    0000h "J" (Dutch "Ja" = "Yes")
	    FFFFh "N" (Dutch "Nee" = "No")
Program: The PC Thuis Organizer Shell was written by John Vanderaart and
	  published in the June/July 1990 issue of PC Thuis Power magazine
SeeAlso: AX=0008h"PC Thuis"

Top
500006 - INT 50 - Vanderaart TEXT WINDOWS - EDIT LINE IN WINDOW
INT 50 - Vanderaart TEXT WINDOWS - EDIT LINE IN WINDOW
	AX = 0006h
	ES:BX -> text string
	CH = type of input (see #03242)
	DH,DL = row,column of upper left corner
	DI = window handle
Return: AX = key which terminated entry
	    0000h Enter
	    0001h Esc
	    0002h Down arrow
	    0003h Up arrow
	    0004h F10

(Table 03242)
Values for type of input to Vanderaart Text Windows:
 00h	everything
 01h	uppercase only
 02h	positive numbers
 03h	Dutch postal code ("9999 AA")
 04h	'J' or 'N' (Dutch yes/no)
 05h	telephone or FAX number
 06h	positive or negative number
 07h	date (dd/mm/yy)
 08h	money
 09h	'1' through '8'
 0Ah	'1' through '4'
 0Bh	uppercase filenames

Top
500006 - INT 50 - PC Thuis Organizer Shell - ALERT USER
INT 50 - PC Thuis Organizer Shell - ALERT USER
	AX = 0006h
	ES:BX -> string

Top
500007 - INT 50 - PC Thuis Organizer Shell - DO LINE
INT 50 - PC Thuis Organizer Shell - DO LINE
	AX = 0007h
	ES:BX -> text string
	CX = string length in bytes (0000h if NUL-terminated)
	DL = FFh to center string, else flush left
	DH = upper left row
	DI = window handle
Return: AX = status
	    0000h successful
	    FFFFh error
Program: The PC Thuis Organizer Shell was written by John Vanderaart and
	  published in the June/July 1990 issue of PC Thuis Power magazine
SeeAlso: AX=0008h

Top
500008 - INT 50 - PC Thuis Organizer Shell - DO MENU
INT 50 - PC Thuis Organizer Shell - DO MENU
	AX = 0008h
	ES:BX -> menu structure
Return: AL = index 1 or FFh if not selected
	AH = index 2 or FFh if not selected
	BL = index 3 or FFh if not selected
	BH = index 4 or FFh if not selected
SeeAlso: AX=0005h"PC Thuis",AX=0007h,AX=000Ch

Top
500009 - INT 50 - PC Thuis Organizer Shell - MESSAGE ON
INT 50 - PC Thuis Organizer Shell - MESSAGE ON
	AX = 0009h
	ES:BX -> message string
SeeAlso: AX=000Ah

Top
50000A - INT 50 - PC Thuis Organizer Shell - MESSAGE OFF
INT 50 - PC Thuis Organizer Shell - MESSAGE OFF
	AX = 000Ah
SeeAlso: AX=0009h

Top
50000B - INT 50 - PC Thuis Organizer Shell - CHANGE ATTRIBUTE
INT 50 - PC Thuis Organizer Shell - CHANGE ATTRIBUTE
	AX = 000Bh
	BL = new attribute
	CH,CL = row,column of upper left corner
	DH,DL = row,column of lower right corner
	DI = window handle

Top
50000C - INT 50 - PC Thuis Organizer Shell - DO REQUEST
INT 50 - PC Thuis Organizer Shell - DO REQUEST
	AX = 000Ch
	ES:BX -> request structure
Return: AX = status
	    0000h confirmed
	    FFFFh denied
SeeAlso: AX=0008h

Top
50000D - INT 50 - PC Thuis Organizer Shell - EDIT LINE
INT 50 - PC Thuis Organizer Shell - EDIT LINE
	AX = 000Dh
	ES:BX -> text string
	CL = length
	CH = input type (see #03243)
	DH,DL = row,column of upper left corner
	DI = window handle
Return: AX = result code
Program: The PC Thuis Organizer Shell was written by John Vanderaart and
	  published in the June/July 1990 issue of PC Thuis Power magazine

Bitfields for input type:
Bit(s)	Description	(Table 03243)
 0	force uppercase
 1	integer
 2	no spaces allowed
 3	no cursor keys

Top
50000E - INT 50 - PC Thuis Organizer Shell - PLOT CHARACTER
INT 50 - PC Thuis Organizer Shell - PLOT CHARACTER
	AX = 000Eh
	BL = character
	BH = attribute
	DH,DL = row,column at which to plot
	DI = window handle
Return: AX = status
	    0000h successful
	    FFFFh errror

Top
50000F - INT 50 - PC Thuis Organizer Shell - EMPTY WINDOW
INT 50 - PC Thuis Organizer Shell - EMPTY WINDOW
	AX = 000Fh
	BL = character
	BH = attribute
	DI = window handle

Top
500010 - INT 50 - PC Thuis Organizer Shell - TRACE MENU
INT 50 - PC Thuis Organizer Shell - TRACE MENU
	AX = 0010h
	ES:BX -> first menu structure
	CL = hotkey to look up
Return: AL = index 1 or FFh if not selected
	AH = index 2 or FFh if not selected
	BL = index 3 or FFh if not selected
	BH = index 4 or FFh if not selected
Index:	hotkeys;PC Thuis Organizer Shell

Top
500011 - INT 50 - PC Thuis Organizer Shell - MOVE MEMORY
INT 50 - PC Thuis Organizer Shell - MOVE MEMORY
	AX = 0011h
	DS:SI -> source
	ES:DI -> destination
	CX = number of bytes to move (0000h = until NUL string terminator???)
SeeAlso: AX=0012h

Top
500012 - INT 50 - PC Thuis Organizer Shell - COMPARE MEMORY
INT 50 - PC Thuis Organizer Shell - COMPARE MEMORY
	AX = 0012h
	DS:SI -> source
	ES:DI -> destination
	CX = number of bytes to compare (0000h=until NUL string terminator???)
Return: AX = status
	    0000h same
	    FFFFh different
SeeAlso: AX=0011h

Top
500013 - INT 50 - PC Thuis Organizer Shell - GET KEY
INT 50 - PC Thuis Organizer Shell - GET KEY
	AX = 0013h
	CH = type flags
	    bit 0: force uppercase
	    bit 1: integer
	    bit 2: no spaces
Return: AX = keystroke

Top
500014 - INT 50 - PC Thuis Organizer Shell - SCROLL WINDOW
INT 50 - PC Thuis Organizer Shell - SCROLL WINDOW
	AX = 0014h
	BL = direction
	    06h up
	    07h down
	BH = attribute
	DI = window handle
SeeAlso: INT 10/AH=06h,INT 10/AH=07h

Top
500015 - INT 50 - PC Thuis Organizer Shell - GET MEMORY HANDLE
INT 50 - PC Thuis Organizer Shell - GET MEMORY HANDLE
	AX = 0015h
	BL = handle size
	    00h 65536 bytes (64K)
	    01h 65535 bytes (64K-1)
	    02h 32768 bytes (32K)
	    03h 32767 bytes (32K-1)
Return: AX = segment
Program: The PC Thuis Organizer Shell was written by John Vanderaart and
	  published in the June/July 1990 issue of PC Thuis Power magazine
SeeAlso: INT 21/AH=48h

Top
Section -


Top
51 - INT 51 - IRQ1 relocated by DESQview
INT 51 - IRQ1 relocated by DESQview
Range:	INT 51 to INT F9, selected automatically
Note:	this is the default location for older versions; see INT 50"DESQview"
	  for details of interrupt relocation
SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"

Top
51 - INT 51 - IRQ1 relocated by IBM 3278 emulation control program
INT 51 - IRQ1 relocated by IBM 3278 emulation control program
SeeAlso: INT 50"IBM 3278",INT 54"IBM 3278"

Top
51 - INT 51 - IRQ1 relocated by OS/2 v1.x
INT 51 - IRQ1 relocated by OS/2 v1.x
SeeAlso: INT 50"OS/2",INT 54"OS/2"

Top
51 - INT 51 - TI Professional PC - RESTART TIMING EVENT
INT 51 - TI Professional PC - RESTART TIMING EVENT
	AX = timer count in 25ms intervals
	DS:DI -> timing-event table (see #03244)
Note:	documented as "for system use only"; intended for multi-tasking
	  software
SeeAlso: INT 50"TI Professional",INT 52"TI Professional"

Format of TI Professional PC timing event table:
Offset	Size	Description	(Table 03244)
 00h	WORD	offset of next event table entry
 02h	BYTE	normally unused (FFh)
 03h	BYTE	flags:
		bit 7 set if timing event active
		bits 6-0 not used by BIOS (0), but could be used by option ROMs
 04h	WORD	timeout count (decremented every 25ms when active)
 06h	WORD	offset of event handler (in segment F400h) to call on event
		  timeout; the F400h segment allows addressing both system ROMs
		  and the first 16K of memory (due to the 1M memory wraparound)

Top
51 - INT 51 - Tandy 2000 - KEYBOARD SERVICES
INT 51 - Tandy 2000 - KEYBOARD SERVICES
Note:	this interrupt is identical to INT 16 on Tandy 2000
SeeAlso: INT 16/AH=00h,INT 16/AH=01h,INT 16/AH=02h,INT 16/AH=04h"Tandy"
SeeAlso: INT 16/AH=04h,INT 4A"Tandy 2000",INT 4C"Tandy 2000",INT 52"Tandy 2000"

Top
52 - INT 52 - IRQ2 relocated by DESQview
INT 52 - IRQ2 relocated by DESQview
Range:	INT 52 to INT FA, selected automatically
Note:	this is the default location for older versions; see INT 50"DESQview"
	  for details of interrupt relocation
SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"

Top
52 - INT 52 - IRQ2 relocated by IBM 3278 emulation control program, OS/2 v1.x
INT 52 - IRQ2 relocated by IBM 3278 emulation control program, OS/2 v1.x
SeeAlso: INT 50"IBM 3278",INT 51"OS/2"

Top
52 - INT 52 - TI Professional PC - CANCEL TIMING EVENT
INT 52 - TI Professional PC - CANCEL TIMING EVENT
	DS:DI -> timing-event table (see #03244)
Note:	documented as "for system use only"; intended for multi-tasking
	  software
SeeAlso: INT 51"TI Professional",INT 53"TI Professional"

Top
52 - INT 52 - Tandy 2000 - VIDEO SERVICES
INT 52 - Tandy 2000 - VIDEO SERVICES
Note:	this interrupt is identical to INT 10
SeeAlso: INT 10/AH=00h,INT 10/AH=01h,INT 10/AH=08h,INT 10/AH=0Eh
SeeAlso: INT 4A"Tandy 2000",INT 51"Tandy 2000",INT 53"Tandy 2000"

Top
53 - INT 53 - IRQ3 relocated by DESQview
INT 53 - IRQ3 relocated by DESQview
Range:	INT 53 to INT FB, selected automatically
Note:	this is the default location for older versions; see INT 50"DESQview"
	  for details of interrupt relocation
SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"

Top
53 - INT 53 - IRQ3 relocated by IBM 3278 emulation control program, OS/2 v1.x
INT 53 - IRQ3 relocated by IBM 3278 emulation control program, OS/2 v1.x
SeeAlso: INT 50"IBM 3278",INT 51"OS/2"

Top
53 - INT 53 - TI Professional PC - SVC INTERFACE
INT 53 - TI Professional PC - SVC INTERFACE
Notes:	documented as "for system use only"; intended for multi-tasking
	  software
	this interrupt is not used by the BIOS; the default handler generates
	  a system error trap (see INT 51"TI Professional")
SeeAlso: INT 50"TI Professional",INT 54"TI Professional"

Top
53 - INT 53 - Tandy 2000 - SERIAL COMMUNICATIONS
INT 53 - Tandy 2000 - SERIAL COMMUNICATIONS
Note:	this interrupt is identical to INT 14 on Tandy 2000
SeeAlso: INT 14/AH=00h"SERIAL",INT 14/AH=01h,INT 14/AH=02h,INT 14/AH=03h
SeeAlso: INT 14/AH=04h"Tandy 2000",INT 52"Tandy 2000",INT 54"Tandy 2000"

Top
53 - INT 53 - WEB??? - API
INT 53 - WEB??? - API
	BX = function
	    0000h ???
		AX = ???
		Return: AX = ???
	    0004h ???
	    0009h ???
	    0015h
		AX = ???
		DX = ???
	    0017h
Return: ???
InstallCheck:	check for the signature "WEBCO" immediately prior to the
	  interrupt handler
Note:	the above calls are made by Show Partner F/X v3.6 (see INT 10/AH=53h)
Index:	installation check;unknown|installation check;WEBCO

Top
54 - INT 54 - IRQ4 relocated by DESQview
INT 54 - IRQ4 relocated by DESQview
Range:	INT 54 to INT FC, selected automatically
Note:	this is the default location for older versions; see INT 50"DESQview"
	  for details of interrupt relocation
SeeAlso: INT 50"DESQview",INT 58"DESQview"

Top
54 - INT 54 - IRQ4 relocated by IBM 3278 emulation control program, OS/2 v1.x
INT 54 - IRQ4 relocated by IBM 3278 emulation control program, OS/2 v1.x
SeeAlso: INT 51"IBM 3278",INT 51"OS/2"

Top
54 - INT 54 - TI Professional PC - ACTIVATE TASK SUBROUTINE
INT 54 - TI Professional PC - ACTIVATE TASK SUBROUTINE
Notes:	documented as "for system use only"; intended for multi-tasking
	  software
	this interrupt is not used by the BIOS; the default handler generates
	  a system error trap (see INT 51"TI Professional")
SeeAlso: INT 50"TI Professional",INT 53"TI Professional"

Top
54 - INT 54 - Tandy 2000 - LINE PRINTER
INT 54 - Tandy 2000 - LINE PRINTER
Note:	this interrupt is identical to INT 17 on Tandy 2000
SeeAlso: INT 17/AH=00h,INT 17/AH=01h,INT 17/AH=02h,INT 4A"Tandy 2000"
SeeAlso: INT 53"Tandy 2000",INT 55"Tandy 2000"

Top
545400 - INT 54 U - Toshiba PCMCIA2 - INSTALLATION CHECK
INT 54 U - Toshiba PCMCIA2 - INSTALLATION CHECK
	AX = 5400h
Return: AX = 0054h if installed
	    CX:DX -> INT function handler

Top
55 - INT 55 - IRQ5 relocated by DESQview
INT 55 - IRQ5 relocated by DESQview
Range:	INT 55 to INT FD, selected automatically
Note:	this is the default location for older versions; see INT 50"DESQview"
	  for details of interrupt relocation
SeeAlso: INT 50"DESQview",INT 58"DESQview"

Top
55 - INT 55 - IRQ5 relocated by IBM 3278 emulation control program, OS/2 v1.x
INT 55 - IRQ5 relocated by IBM 3278 emulation control program, OS/2 v1.x
SeeAlso: INT 51"IBM 3278",INT 51"OS/2"

Top
55 - INT 55 - TI Professional PC - RESERVED FOR FUTURE USE
INT 55 - TI Professional PC - RESERVED FOR FUTURE USE
Notes:	documented as "for system use only"; intended for multi-tasking
	  software
	this interrupt is not used by the BIOS; the default handler generates
	  a system error trap (see INT 51"TI Professional")
SeeAlso: INT 50"TI Professional",INT 56"TI Professional"

Top
55 - INT 55 - Tandy 2000 - SYSTEM CLOCK
INT 55 - Tandy 2000 - SYSTEM CLOCK
Note:	this interrupt is identical to INT 1A on Tandy 2000
SeeAlso: INT 1A/AH=00h,INT 1A/AH=01h,INT 1A/AH=02h"Tandy 2000"
SeeAlso: INT 1A/AH=03h"Tandy 2000",INT 54"Tandy 2000",INT 56"Tandy 2000"

Top
56 - INT 56 - IRQ6 relocated by DESQview
INT 56 - IRQ6 relocated by DESQview
Range:	INT 56 to INT FE, selected automatically
Note:	this is the default location for older versions; see INT 50"DESQview"
	  for details of interrupt relocation
SeeAlso: INT 50"DESQview",INT 58"DESQview"

Top
56 - INT 56 - IRQ6 relocated by IBM 3278 emulation control program, OS/2 v1.x
INT 56 - IRQ6 relocated by IBM 3278 emulation control program, OS/2 v1.x
SeeAlso: INT 51"IBM 3278",INT 51"OS/2"

Top
56 - INT 56 - TI Professional PC - RESERVED FOR FUTURE USE
INT 56 - TI Professional PC - RESERVED FOR FUTURE USE
Notes:	documented as "for system use only"; intended for multi-tasking
	  software
	this interrupt is not used by the BIOS; the default handler generates
	  a system error trap (see INT 51"TI Professional")
SeeAlso: INT 50"TI Professional",INT 55"TI Professional"

Top
56 - INT 56 - Tandy 2000 - FLOPPY DISK SERVICES
INT 56 - Tandy 2000 - FLOPPY DISK SERVICES
Note:	this interrupt is identical to INT 13 on Tandy 2000
SeeAlso: INT 13/AH=00h,INT 13/AH=01h,INT 13/AH=02h,INT 13/AH=03h
SeeAlso: INT 4A"Tandy 2000",INT 51"Tandy 2000",INT 55"Tandy 2000"

Top
57 - INT 57 - IRQ7 relocated by DESQview
INT 57 - IRQ7 relocated by DESQview
Range:	INT 57 to INT FF, selected automatically
Note:	this is the default location for older versions; see INT 50"DESQview"
	  for details of interrupt relocation
SeeAlso: INT 50"DESQview",INT 58"DESQview"

Top
57 - INT 57 - IRQ7 relocated by IBM 3278 emulation control program, OS/2 v1.x
INT 57 - IRQ7 relocated by IBM 3278 emulation control program, OS/2 v1.x
SeeAlso: INT 51"IBM 3278",INT 51"OS/2"

Top
57 - INT 57 C - TI Professional PC - CRT MAPPING HOOK
INT 57 C - TI Professional PC - CRT MAPPING HOOK
	AX/BX/CX/DX/BP/SI/DI same as on entry to CRT subroutine (e.g. INT 49)
	DS = BIOS system segment
	ES = DE00h
Return: DF/IF flags must be preserved
	ES,DS,BP preserved
	AX,BX,CX,DX,SI,DI may be changed as necessary to modify the original
	  call
Desc:	hooking this vector permits programs to intercept or modify all
	  screen output, including both application calls to INT 49 and
	  calls generated internally by the BIOS which bypass INT 49
Note:	by default, this vector points at an IRET instruction
SeeAlso: INT 49/AH=01h"TI",INT 50"TI Professional"

Top
58 - INT 58 - IRQ8 relocated by DESQview 2.26+
INT 58 - IRQ8 relocated by DESQview 2.26+
Range:	INT 58 to INT F8, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 59"DESQview",INT 70

Top
58 - INT 58 - IRQ0 relocated by DoubleDOS
INT 58 - IRQ0 relocated by DoubleDOS
SeeAlso: INT 08

Top
58 - INT 58 C - TI Professional PC - SYSTEM TIMER 25ms HOOK
INT 58 C - TI Professional PC - SYSTEM TIMER 25ms HOOK
Desc:	called from the hardware timer tick interrupt, after executing the
	  first four BIOS timing events, updating the system clock, invoking
	  INT 5A if required, saving registers, and switching to a temporary
	  stack (the one reserved for IRQ3)
Notes:	the handler for this interrupt may destroy AX,BX,DI,ES but must
	  preserve all other registers; 8 WORDs of stack space are available,
	  of which at most 4 may be used if the handler enables interrupts
	if the handler switches stacks (because more than 4/8 WORDs are
	  required), the original stack must be restored before chaining to
	  the previous handler
SeeAlso: INT 43"TI Professional",INT 4C"TI Professional"
SeeAlso: INT 5A"TI Professional"

Top
59 - INT 59 - IRQ9 relocated by DESQview 2.26+
INT 59 - IRQ9 relocated by DESQview 2.26+
Range:	INT 59 to INT F9, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 58"DESQview",INT 5A"DESQview",INT 71

Top
59 - INT 59 - IRQ1 relocated by DoubleDOS
INT 59 - IRQ1 relocated by DoubleDOS
SeeAlso: INT 09

Top
59 - INT 59 - TI Professional PC - COMMON ROM HARDWARE INTERRUPT EXIT VECTOR
INT 59 - TI Professional PC - COMMON ROM HARDWARE INTERRUPT EXIT VECTOR
Desc:	all hardware interrupts on the TI Pro jump indirectly to the handler
	  pointed at by this interrupt vector to finish their handling of
	  the hardware interrupt
Notes:	the default handler decrements the interrupt count, restores registers
	  (including the stack pointer), sends an EOI to the interrupt
	  controller, and finally does an IRET
	can be used by multitaskers which need to get control after every
	  hardware interrupt
SeeAlso: INT 40"TI Professional",INT 47"TI Professional"
SeeAlso: INT 53"TI Professional"

Top
59 - INT 59 - GSS Computer Graphics Interface (GSS*CGI)
INT 59 - GSS Computer Graphics Interface (GSS*CGI)
	DS:DX -> block of 5 array pointers
Return: CF set on error
	    AX = error code
	CF clear if successful
	    AX = return code
Note:	INT 59 is the means by which GSS*CGI language bindings communicate with
	  GSS*CGI device drivers and the GSS*CGI device driver controller.
	also used by the IBM Graphic Development Toolkit

Top
5A - INT 5A - IRQ10 relocated by DESQview 2.26+
INT 5A - IRQ10 relocated by DESQview 2.26+
Range:	INT 5A to INT FA, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 59"DESQview",INT 5B"DESQview",INT 72

Top
5A - INT 5A - IRQ2 relocated by DoubleDOS
INT 5A - IRQ2 relocated by DoubleDOS
SeeAlso: INT 0A"IRQ2"

Top
5A - INT 5A - PC Cluster adapter BIOS entry address
INT 5A - PC Cluster adapter BIOS entry address
	???
Return: ???
SeeAlso: INT 5B"PC Cluster"

Top
5A - INT 5A - TI Professional PC - SYSTEM TIMER 100ms HOOK
INT 5A - TI Professional PC - SYSTEM TIMER 100ms HOOK
Desc:	called from the hardware timer tick interrupt, after executing the
	  first four BIOS timing events, updating the system clock, saving
	  registers, and switching to a temporary stack (the one reserved
	  for IRQ3), but before calling INT 58
	no details available
Notes:	this interrupt is invoked on every fourth timer interrupt
	the handler for this interrupt may destroy AX,BX,DI,ES but must
	  preserve all other registers; 8 WORDs of stack space are available,
	  of which at most 4 may be used if the handler enables interrupts
	if the handler switches stacks (because more than 4/8 WORDs are
	  required), the original stack must be restored before chaining to
	  the previous handler
SeeAlso: INT 43"TI Professional",INT 4C"TI Professional"
SeeAlso: INT 58"TI Professional"

Top
5B - INT 5B - IRQ11 relocated by DESQview 2.26+
INT 5B - IRQ11 relocated by DESQview 2.26+
Range:	INT 5B to INT FB, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 5A"DESQview",INT 5C"DESQview",INT 73

Top
5B - INT 5B - IRQ3 relocated by DoubleDOS
INT 5B - IRQ3 relocated by DoubleDOS
SeeAlso: INT 0B

Top
5B - INT 5B - PC cluster adapter - RELOCATED INT 19
INT 5B - PC cluster adapter - RELOCATED INT 19
SeeAlso: INT 19,INT 5A"PC Cluster"

Top
5B - INT 5B - AT&T Starlan Extended NetBIOS (variable length names)
INT 5B - AT&T Starlan Extended NetBIOS (variable length names)
	ES:BX -> Network Control Block (see #03245)
Return: AL = status (see #03248)
SeeAlso: INT 5C"NetBIOS"

Format of Starlan Network Control Block:
Offset	Size	Description	(Table 03245)
 00h	BYTE	ncb_command (see also #03250)
		70h send net Break
 01h	BYTE	ncb_retcode
 02h	BYTE	ncb_lsn
 03h	BYTE	ncb_num
 04h	DWORD	-> ncb_buffer
 08h	WORD	ncb_length
 0Ah 16 BYTEs	ncb_callname
 1Ah 16 BYTEs	ncb_name
 2Ah	BYTE	ncb_rto
 2Bh	BYTE	ncb_sto
 2Ch	DWORD	-> ncb_post	/* int (far *ncb_post)(); */
 30h	BYTE	ncb_lana_num
 31h	BYTE	ncb_cmd_cplt
 32h	DWORD	-> ncb_vname
 36h	BYTE	ncb_vnamelen
 37h  9 BYTEs	ncb_reserve
Note:	fields 00h-31h are the same as for a standard NetBIOS NCB (see #03249)

Top
5B - INT 5B - Microsoft Network Transport Layer Interface
INT 5B - Microsoft Network Transport Layer Interface
Note:	used by MS-NET for executing network commands
SeeAlso: INT 5C"NetBIOS"

Top
5B - INT 5B - used by Alloy NTNX
INT 5B - used by Alloy NTNX

Top
5B - INT 5B - ISOLAN Multi Protocol Software
INT 5B - ISOLAN Multi Protocol Software
	ES:BX -> Transfer Control Block (see #03246)
Return: AL = status
Note:	this software interface allows multiple protocols/software packages
	  to access a BICC 411x network card

Format of ISOLAN Transfer Control Block:
Offset	Type	Description	(Table 03246)
 00h	BYTE	command code
		B3h Status
		F2h Activate
		F3h Deactivate
		F4h Send Data
 01h	BYTE	command identity
 02h	BYTE	virtual circuit ID
 03h	WORD	buffer length
 05h	DWORD	buffer pointer
 09h	BYTE	expedited data flag
 0Ah	BYTE	cancelable flag
 0Bh 16 BYTEs	local network address
 1Bh 16 BYTEs	remote network address
 2Bh	DWORD	asynchronous notification routine
 30h	DWORD	local network number
 34h	DWORD	remote network number
 38h	BYTE	call timeout
 39h	BYTE	not used
 3Ah  8 BYTEs	reserved
 42h	BYTE	command code extension
 43h	WORD	Blue Book MAC type

Top
5B - INT 5B C - TI Professional PC - KEYBOARD MAPPING HOOK
INT 5B C - TI Professional PC - KEYBOARD MAPPING HOOK
	CF set
	AH = shift state (see #03247)
	AL = scan code (see #03214)
Return:	BX, CX, DI, ES may be destroyed
	various return methods are supported:
	    IRET, AX unchanged: process keystroke normally
	    IRET, AL = FFh: discard keystroke
	    IRET, AX changed: process modified keystroke
	    chain to old INT 5B: allow other handlers to look at (possibly
		  modified) keystroke in AX
	    RETF 2, CF clear: place returned AX into keyboard buffer without
		  any further processing
Notes:	invoked by the keyboard ISR, and used to remap the keyboard
	if CF is clear on entry, some other handler has processed the
	  keystroke and the current handler should not modify it, instead
	  performing a RETF 2 or IRET (after clearing CF on the stack)
	when requesting that a value be placed directly into the keyboard
	  buffer, AL and AH may not *both* be nonzero (the TI does not
	  return scan codes as part of the key code for non-extended keys)
SeeAlso: INT 15/AH=4Fh,INT 4A/AH=00h"TI",INT 59"TI Professional"
SeeAlso: INT 5C"TI Professional",INT 5D"TI Professional"
SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"

Bitfields for TI Professional PC keyboard mapping hook shift states:
Bit(s)	Description	(Table 03247)
 7	CAPS LOCK is on
 6-4	reserved (0)
 3	repeated key
 2	Shift is pressed
 1	Alt is pressed
 0	Ctrl is pressed

Top
5B5254DL04 - INT 5B U - SitBack v3.02R - GET ???
INT 5B U - SitBack v3.02R - GET ???
	AX = 5254h
	DL = 04h
Return: ES:BX -> ??? in resident portion
Program: SitBack is a background file backup utility by SitBack Technologies,
	  Inc. which initiates backups whenever the system is idle
SeeAlso: AX=8485h/DL=71h,AX=8485h/DL=72h

Top
5B8485DL70 - INT 5B U - SitBack v3.02R - INSTALLATION CHECK
INT 5B U - SitBack v3.02R - INSTALLATION CHECK
	AX = 8485h
	DL = 70h
Return: CX = 8485h if installed
	    DX:AX -> ??? (configuration data?)
Program: SitBack is a background file backup utility by SitBack Technologies,
	  Inc. which initiates backups whenever the system is idle
SeeAlso: AX=5254h/DL=04h,AX=8485h/DL=78h

Top
5B8485DL71 - INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS
INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS
	AX = 8485h
	DL = 71h
Return: ES:BX -> FAR entry point to ???
Note:	the flag which is modified is located at the address returned by
	   AX=5254h/DL=04h
SeeAlso: AX=8485h/DL=72h

Top
5B8485DL72 - INT 5B U - SitBack v3.02R - CLEAR ??? FLAG
INT 5B U - SitBack v3.02R - CLEAR ??? FLAG
	AX = 8485h
	DL = 72h
Note:	the flag which is modified is located at the address returned by
	   AX=5254h/DL=04h
SeeAlso: AX=8485h/DL=71h

Top
5B8485DL73 - INT 5B U - SitBack v3.02R - ???
INT 5B U - SitBack v3.02R - ???
	AX = 8485h
	DL = 73h
	???
Return: ???

Top
5B8485DL74 - INT 5B U - SitBack v3.02R - ???
INT 5B U - SitBack v3.02R - ???
	AX = 8485h
	DL = 74h
	???
Return: ???

Top
5B8485DL75 - INT 5B U - SitBack v3.02R - ???
INT 5B U - SitBack v3.02R - ???
	AX = 8485h
	DL = 75h
	CX = ???
Return: ???
SeeAlso: AX=8485h/DL=76h

Top
5B8485DL76 - INT 5B U - SitBack v3.02R - ???
INT 5B U - SitBack v3.02R - ???
	AX = 8485h
	DL = 76h
	CX = ???
Return: ???
Note:	conditionally calls the code for AX=8485h/DL=75h
SeeAlso: AX=8485h/DL=75h

Top
5B8485DL77 - INT 5B U - SitBack v3.02R - SET ??? FLAG
INT 5B U - SitBack v3.02R - SET ??? FLAG
	AX = 8485h
	DL = 77h

Top
5B8485DL78 - INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT
INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT
	AX = 8485h
	DL = 78h
Return: CX = 5342h if supported
	    ES = AX = segment of TSR data
SeeAlso: AX=8485h/DL=70h,AX=8485h/DL=79h

Top
5B8485DL79 - INT 5B U - SitBack v3.02R - GET DTA
INT 5B U - SitBack v3.02R - GET DTA
	AX = 8485h
	DL = 79h
Return: CX = 5342h if supported
	    ES:BX -> DTA set by last INT 21/AH=1Ah
Note:	this function is provided by SBOS.EXE rather than SB.EXE
SeeAlso: INT 21/AH=1Ah

Top
5B8485DL7A - INT 5B U - SitBack v3.02R - TOGGLE ???
INT 5B U - SitBack v3.02R - TOGGLE ???
	AX = 8485h
	DL = 7Ah
Return: CX = 5342h if supported
	    AL = new value of ??? (00h or 01h)

Top
5C - INT 5C - NetBIOS INTERFACE
INT 5C - NetBIOS INTERFACE
	ES:BX -> network control block (NCB) (see #03249)
Return: AL = status (see #03248)
Program: NetBIOS was developed by Sytek, Inc. in 1984 as a high-level
	  programming interface to the IBM PC Network; the first implementation
	  was a ROM BIOS extension on Sytek's PCnet LAN adapter card, but many
	  current networks support NetBIOS as the session layer.
Notes:	The Sytek PCnet card uses DMA 3.
	On some machines this vector is not initialized (e.g. Epson machines).
	  Hence this interrupt should only be called or hooked if the vector
	  does not point to 0000h:0000h.
SeeAlso: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B"Extended NetBIOS"

(Table 03248)
Values for NetBIOS status:
 00h	successful
 01h	bad buffer size
 03h	invalid NETBIOS command
 05h	timeout
 06h	receive buffer too small
 07h	No-ACK command failed
 08h	bad session number
 09h	LAN card out of memory
 0Ah	session closed
 0Bh	command has been cancelled
 0Dh	name already exists
 0Eh	local name table full
 0Fh	name still in use, can't delete
 11h	local session table full
 12h	remote PC not listening
 13h	bad NCB_NUM field
 14h	no answer to CALL or no such remote
 15h	name not in local name table
 16h	duplicate name
 17h	bad delete
 18h	abnormal end
 19h	name error, multiple identical names in use
 1Ah	bad packet
 21h	network card busy
 22h	too many commands queued
 23h	bad LAN card number
 24h	command finished while cancelling
 26h	command can't be cancelled
 30h	name defined by another process (OS/2)
 34h	NetBIOS environment not defined, must issue reset (OS/2)
 35h	required operating system resources exhausted (OS/2)
 36h	maximum applications exceeded (OS/2)
 37h	no SAPs available for NetBIOS (OS/2)
 38h	requested resources not available (OS/2)
 40h	Lana System Error
 41h	Lana Remote Hot Carrier
 42h	Lana Local Hot Carrier
 43h	Lana No Carrier Detected
 44h	unusual network condition
 45h-4Dh hardware error
 4Eh	token ring is broken
 4Fh	token ring error
 50h	adapter malfunction
 F7h	error in explicit INITIALIZE
 F8h	error in implicit OPEN
 F9h	TOKREUI internal error
 FAh	hardware adapter testing
 FBh	NetBIOS emulator not found
 FCh	OPEN or OPEN_SAP failure
 FDh	unexpected adapter closure
 FFh	NetBIOS busy (command pending)

Format of NetBIOS Network Control Block:
Offset	Size	Description	(Table 03249)
 00h	BYTE	command code (see #03250)
 01h	BYTE	return code (see #03248)
 02h	BYTE	local session number (LSN)
 03h	BYTE	"ncb_num" datagram table entry from ADD NAME
 04h	DWORD	-> I/O buffer
 08h	WORD	length of data in buffer
 0Ah 16 BYTEs	remote system to call
 1Ah 16 BYTEs	network name of local machine
 2Ah	BYTE	receive timeout in 1/2 seconds
 2Bh	BYTE	send timeout in 1/2 seconds
 2Ch	DWORD	-> FAR post handler	/* int (far *ncb_post)(); */
 30h	BYTE	network adapter number on which to execute command
		00h-03h IBM NetBIOS specs
		F0h-FFh Eicon NABios interface (see also INT 7B"Eicon")
 31h	BYTE	command completion code (see #03248)
 32h 14 BYTEs	reserved for network card

(Table 03250)
Values for NetBIOS command code field in NCB:
 10h	start session with NCB_NAME name (call)
 11h	listen for call
 12h	end session with NCB_NAME name (hangup)
 14h	send data via NCB_LSN
 15h	receive data from a session
 16h	receive data from any session
 17h	send multiple data buffers
 20h	send unACKed message (datagram)
 21h	receive datagram
 22h	send broadcast datagram
 23h	receive broadcast datagram
 30h	add name to name table
 31h	delete name from name table
 32h	reset adapter card and tables
 33h	get adapter status (see #03251)
 34h	status of all sessions for name (see #03253)
 35h	cancel
 36h	add group name to name table
 48h	send data and receive data (LAN Manager NETBEUI.DOS)
 70h	unlink from IBM remote program (no F0h function)
 71h	send data without ACK
 72h	send multiple buffers without ACK
 72h	UngermannBass Register (conflicts with above function)
 73h	UngermannBass SendNmc
 74h	UngermannBass Callniu
 75h	UngermannBass Calladdr
 76h	UngermannBass Listenaddr
 77h	UngermannBass SendPkt
 78h	find name
 78h	UngermannBass RcvPkt (conflicts with above function)
 79h	token-ring protocol trace
 79h	UngermannBass SendAttn (conflicts with above function)
 7Ah	UngermannBass RcvAttn
 7Bh	UngermannBass Listenniu
 7Ch	UngermannBass RcvRaw
 7Dh	UngermannBass SendNmc2
 7Fh	Beame&Whiteside BWNB installation check (returns with return code and
	  completion code both set to 03h, while invalid functions return only
	  return code field set to 03h)
Note:	OR any of the above except 70h with 80h for non-waiting call

Format of NetBIOS structure "astatus":
Offset	Size	Description	(Table 03251)
 00h  6 BYTEs as_id
 06h	BYTE  as_jumpers
 07h	BYTE  as_post
 08h	BYTE  as_major
 09h	BYTE  as_minor
 0Ah	WORD  as_interval
 0Ch	WORD  as_crcerr
 0Eh	WORD  as_algerr
 10h	WORD  as_colerr
 12h	WORD  as_abterr
 14h	DWORD as_tcount
 18h	DWORD as_rcount
 1Ch	WORD  as_retran
 1Eh	WORD  as_xresrc
 20h  8 BYTEs as_res0
 28h	WORD  as_ncbfree
 2Ah	WORD  as_ncbmax
 2Ch	WORD  as_ncbx
 2Eh  4 BYTEs as_res1
 32h	WORD  as_sespend
 34h	WORD  as_msp
 36h	WORD  as_sesmax
 38h	WORD  as_bufsize
 3Ah	WORD  as_names
 3Ch 16 name structures	 as_name (see #03252)
Note:	it has been reported that the first field should be 16 bytes instead
	  of six (shifthing all remaining fields by ten bytes)

Format of NetBIOS structure "name":
Offset	Size	Description	(Table 03252)
 00h 16 BYTEs "nm_name" symbolic name
 10h	BYTE  "nm_num" number associated with name
 11h	BYTE  nm_status

Format of NetBIOS structure "sstatus":
Offset	Size	Description	(Table 03253)
 00h	BYTE	number of sessions being reported
 01h	BYTE	number of sessions with this name
 02h	BYTE	number of outstanding receive datagrams
 03h	BYTE	number of outstanding ReceiveAnys
 04h	var	session structures (see #03254)

Format of NetBIOS structure "session":
Offset	Size	Description	(Table 03254)
 00h	BYTE	local session number
 01h	BYTE	state
		01h listen pending
		02h call pending
		03h session established
		04h hangup pending
		05h hangup done
		06h session aborted
 02h 16 BYTEs	local name
 12h 16 BYTEs	remote name
 22h	BYTE	number of outstanding receives
 23h	BYTE	number of outstanding sends/chainsends

Top
5C - INT 5C - IRQ12 relocated by DESQview 2.26+
INT 5C - IRQ12 relocated by DESQview 2.26+
Range:	INT 5C to INT FC, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 5B"DESQview",INT 5D"DESQview",INT 74

Top
5C - INT 5C - IRQ4 relocated by DoubleDOS
INT 5C - IRQ4 relocated by DoubleDOS
SeeAlso: INT 0C

Top
5C - INT 5C - TOPS INTERFACE
INT 5C - TOPS INTERFACE
	ES:BX -> Network Control Block
Note:	TOPS card uses DMA 1, 3 or none.

Top
5C - INT 5C - ATALK.SYS - AppleTalk INTERFACE
INT 5C - ATALK.SYS - AppleTalk INTERFACE
	DX:BX -> control block (see #03256)
Return: none
InstallCheck:	test for the signature "AppleTalk" 16 bytes prior to the
	  interrupt handler
Range:	INT 5Ch to INT 70h
Index:	installation check;ATALK.SYS|installation check;AppleTalk interface

(Table 03255)
Values for ATALK.SYS command code:
 01h	"AT_INIT"	    initialize the driver
 02h	"AT_KILL"
 03h	"AT_GETNETINFO" get current network info incl init status
 04h	"AT_GETCLOCKTICKS"
 05h	"AT_STARTTIMER"
 06h	"AT_RESETTIMER"
 07h	"AT_CANCELTIMER"
 10h	"LAP_INSTALL"
 11h	"LAP_REMOVE"
 12h	"LAP_WRITE"
 13h	"LAP_READ"
 14h	"LAP_CANCEL"
 20h	"DDP_OPENSOCKET"
 21h	"DDP_CLOSESOCKET"
 22h	"DDP_WRITE"
 23h	"DDP_READ"
 24h	"DDP_CANCEL"
 30h	"NBP_REGISTER"
 31h	"NBP_REMOVE"
 32h	"NBP_LOOKUP"
 33h	"NBP_CONFIRM"
 34h	"NBP_CANCEL"
 35h	"ZIP_GETZONELIST"
 36h	"ZIP_GETMYZONE"
 37h	"ZIP_TAKEDOWN"
 38h	"ZIP_BRINGUP"
 40h	"ATP_OPENSOCKET"
 41h	"ATP_CLOSESOCKET"
 42h	"ATP_SENDREQUEST"
 43h	"ATP_GETREQUEST"
 44h	"ATP_SENDRESPONSE"
 45h	"ATP_ADDRESPONSE"
 46h	"ATP_CANCELTRANS"
 47h	"ATP_CANCELRESPONSE"
 48h	"ATP_CANCELREQUEST"
 50h	"ASP_GETPARMS"
 51h	"ASP_CLOSESESSION"
 52h	"ASP_CANCEL"
 53h	"ASP_INIT"
 54h	"ASP_KILL"
 55h	"ASP_GETSESSION"
 56h	"ASP_GETREQUEST"
 57h	"ASP_CMDREPLY"
 58h	"ASP_WRTCONTINUE"
 59h	"ASP_WRTREPLY"
 5Ah	"ASP_CLOSEREPLY"
 5Bh	"ASP_NEWSTATUS"
 5Ch	"ASP_ATTENTION"
 5Dh	"ASP_GETSTATUS"
 5Eh	"ASP_OPENSESSION"
 5Fh	"ASP_COMMAND"
 60h	"ASP_WRITE"
 61h	"ASP_GETATTENTION"
 70h	"PAP_OPEN"
 71h	"PAP_CLOSE"
 72h	"PAP_READ"
 73h	"PAP_WRITE"
 74h	"PAP_STATUS"
 75h	"PAP_REGNAME"
 76h	"PAP_REMNAME"
 77h	"PAP_INIT"
 78h	"PAP_NEWSTATUS"
 79h	"PAP_GETNEXTJOB"
 7Ah	"PAP_KILL"
 7Bh	"PAP_CANCEL"

Format of AppleTalk control block:
Offset	Size	Description	(Table 03256)
 00h	WORD	command code (see #03255)
		OR with the following flags
		8000h start command then return
		4000h wait for interrupt service to complete
 02h	WORD	returned status
		0000h success (already initialized if func 01h)
 04h	DWORD	pointer to completion function
 08h	WORD	network number
 0Ah	BYTE	node ID
---if general func (01h,03h), control block continues:
 0Bh	BYTE	"inf_abridge"
 0Ch	WORD	"inf_config"
 0Eh	DWORD	pointer to buffer
 12h	WORD	buffer size
---if DDP function (20h-24h), control block continues:
 0Bh	BYTE	"ddp_addr_socket"
 0Ch	BYTE	"ddp_socket"
 0Dh	BYTE	"ddp_type"
 0Eh	DWORD	pointer to buffer
 12h	WORD	buffer size
 14h	BYTE	"ddp_chksum"
---if Name Binding Protocol (30h-34h), control block continues:
 0Bh	BYTE	"nbp_addr_socket"
 0Ch	WORD	"nbp_toget"
 0Eh	DWORD	pointer to buffer (see #03257)
 12h	WORD	buffer size
 14h	BYTE	"nbp_interval"
 15h	BYTE	"nbp_retry"
 16h	DWORD	"nbp_entptr"
---if AppleTalk Transaction Protocol (42h), control block continues:
 0Bh	BYTE	"atp_addr_socket"
 0Ch	WORD	"atp_socket"
 0Eh	DWORD	pointer to buffer
 12h	WORD	buffer size
 14h	BYTE	"atp_interval"
 15h	BYTE	"atp_retry"
 16h	BYTE	ATP flags
		bit 5: exactly one transaction
 17h	BYTE	"atp_seqbit"
 18h	BYTE	transaction ID
 19h  4 BYTEs	ATP user bytes
 1Dh	BYTE	number of BDS buffers
 1Eh	BYTE	number of BDS responses
 1Fh	DWORD	pointer to BDS buffers (see #03258)

Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP:
Offset	Size	Description	(Table 03257)
 00h	WORD	"tup_address_network"
 02h	BYTE	"tup_address_notid"
 03h	BYTE	"tup_address_socket"
 04h	BYTE	"tup_enum"
 05h 99 BYTEs	name

Format of BDS entries:
Offset	Size	Description	(Table 03258)
 00h	DWORD	pointer to buffer
 04h	WORD	size of buffer
 06h	WORD	BDS data size
 08h  4 BYTEs	"bds_userbytes"

Top
5C - INT 5C - IBM 802.2 INTERFACE (LLC)
INT 5C - IBM 802.2 INTERFACE (LLC)
	ES:BX -> CCB (see #03259)
Return: none

Format of IBM 802.2 CCB:
Offset	Size	Description	(Table 03259)
 00h	BYTE	adapter
 01h	BYTE	command code
 02h	BYTE	return code
 03h	BYTE	work
 04h	DWORD	pointer to ???
 08h	DWORD	pointer to completion function???
 0Ch	DWORD	pointer to parameters???

Top
5C - INT 5C - $25 LAN - INSTALLATION CHECK
INT 5C - $25 LAN - INSTALLATION CHECK
Notes:	current versions only check whether the vector is 0000h:0000h or not
	future versions are supposed to have the signature "NET" in the three
	  bytes preceding the INT 5C handler

Top
5C0100 - INT 5C C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR
INT 5C C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR
	AX = 0100h
	CF clear
Return: CF clear
	    AX = keystroke to be placed into keyboard buffer
	CF set
	    AX ignored
Desc:	toggle a pause flag which is checked by the CRT Device Service Routine
	  (see INT 49/AH=01h"TI") and causes it to temporarily halt the
	  machine on the next video-related function (until a key is pressed)
SeeAlso: INT 09"IRQ1",INT 4A/AH=00h"TI",INT 59"TI Professional"
SeeAlso: INT 5B"TI Professional",INT 5D"TI Professional"
SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"

Top
5C04 - INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
	AH = 04h
	AL = COM port (0 = default)
	CX = wait count in character times (should be at least 100)
Return: ZF set if link alive

Top
5D - INT 5D - IRQ13 relocated by DESQview 2.26+
INT 5D - IRQ13 relocated by DESQview 2.26+
Range:	INT 5D to INT FD, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 5C"DESQview",INT 5E"DESQview",INT 75

Top
5D - INT 5D - IRQ5 relocated by DoubleDOS
INT 5D - IRQ5 relocated by DoubleDOS
SeeAlso: INT 0D"IRQ5",INT 5C"DoubleDOS"

Top
5D - INT 5D C - TI Professional PC - KEYBOARD BREAK KEY VECTOR
INT 5D C - TI Professional PC - KEYBOARD BREAK KEY VECTOR
	CF clear
	AX = 0000h
Return: CF clear
	    AX = keystroke to place into keyboard buffer
	CF set
	    AX ignored
Desc:	invoked by the keyboard ISR when Shift-BrkPause is pressed
Note:	the default handler is a simple IRET instruction
SeeAlso: INT 09"IRQ1",INT 4A/AH=00h"TI",INT 59"TI Professional"
SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"

Top
5E - INT 5E - IRQ14 relocated by DESQview 2.26+
INT 5E - IRQ14 relocated by DESQview 2.26+
Range:	INT 5E to INT FE, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 5D"DESQview",INT 5F"DESQview",INT 76

Top
5E - INT 5E - IRQ6 relocated by DoubleDOS
INT 5E - IRQ6 relocated by DoubleDOS
SeeAlso: INT 0E,INT 5D"DoubleDOS"

Top
5E - INT 5E C - TI Professional PC - KEYBOARD PRINT-SCREEN VECTOR
INT 5E C - TI Professional PC - KEYBOARD PRINT-SCREEN VECTOR
	CF set
Return: CF clear
	    AX = keystroke to be placed into keyboard buffer
	CF set
	    AX ignored
Desc:	hook to dump the screen to the printer
Notes:	hooked by TI MS-DOS, which provides a PRTSCRN character device which
	  can invoke screen prints when a decimal digit (indicating the type
	  of screen dump) is written to it
	the TI MS-DOS print-screen routine allows selective dumps of text
	  only, graphics only, or text and graphics superimposed, in either
	  normal or reverse, by pressing the appropriate keystroke combination:
	  Shift-Print, Ctrl-Print, Alt-Print, Shift-Alt-Print, Ctrl-Alt-Print,
	  or Shift-Ctrl-Print.
	the BIOS default routine for this vector is an IRET
SeeAlso: INT 05"PRINT SCREEN",INT 4A/AH=00h"TI",INT 59"TI Professional"
SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
SeeAlso: INT 5D"TI Professional",INT 5F"TI Professional"

Top
5F - INT 5F - IRQ15 relocated by DESQview 2.26+
INT 5F - IRQ15 relocated by DESQview 2.26+
Range:	INT 5F to INT FF, selected automatically
Note:	this is the default, but other INTs may be used (see INT 50"DESQview")
SeeAlso: INT 50"DESQview",INT 5E"DESQview",INT 77

Top
5F - INT 5F - IRQ7 relocated by DoubleDOS
INT 5F - IRQ7 relocated by DoubleDOS
SeeAlso: INT 0F,INT 5E"DoubleDOS"

Top
5F - INT 5F C - TI Professional PC - KEYBOARD QUEUEING VECTOR
INT 5F C - TI Professional PC - KEYBOARD QUEUEING VECTOR
Return: all registers preserved
Desc:	hook for multitaskers to be informed when a keypress is placed in the
	  keyboard buffer
Note:	the default handler is a simple IRET instruction
SeeAlso: INT 09,INT 4A/AH=00h"TI",INT 59"TI Professional"
SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
SeeAlso: INT 5D"TI Professional",INT 5E"TI Professional"

Top
5F00 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET VIDEO MODE
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET VIDEO MODE
	AH = 00h
	AL = video mode
	    03h text,CGA color (100LX/200LX)
	    06h 640x200 CGA graphics (100LX/200LX)
	    07h text, system manager compliant
	    20h 240x128 mono graphics, system manager compliant
	    87h text, not system manager compliant
	    A0h 240x128 mono graphics, not system manager compliant
Notes:	the defaults after setting the mode to graphics are (0,0) logical
	  origin, full-screen clip region, (0,0) pen location, pen color 1,
	  pixel replacement FORCE, line type and fill mask all bits set
	modes 03h and 06h can also be set with the standard INT 10/AH=00h
SeeAlso: INT 0F"HP 95LX",INT 10/AH=00h,INT 15/AX=4DD4h

Top
5F01 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET FILL MASK
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET FILL MASK
	AH = 01h
	ES:DI -> 8-byte fill mask
Note:	the fill mask represents an 8x8 pixel box and is repeated as necessary
	  when drawing filled rectangles; it is always aligned with the byte
	  boundaries of video memory, regardless of the actual boundaries of
	  the rectangle
SeeAlso: AH=02h

Top
5F02 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFO
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFO
	AH = 02h
	ES:DI -> graphics info record (see #03260)
Return: DX:AX -> filled graphics info record (for return to high-level langs)

Format of HP 95LX graphics info record:
Offset	Size	Description	(Table 03260)
 00h	BYTE	current video mode
 01h	BYTE	default video mode
 02h	WORD	display width in pixels
 04h	WORD	display height in pixels
 06h	WORD	current pen column
 08h	WORD	current pen row
 0Ah	WORD	current line type
 0Ch	WORD	current replacement rule
 0Eh	WORD	current pen color
 10h	WORD	current leftmost column of clip region
 12h	WORD	current rightmost column of clip region
 14h	WORD	current topmost row of clip region
 16h	WORD	current bottommost row of clip region
 18h	WORD	current column of logical origin
 1Ah	WORD	current row of logical origin
 1Ch  8 BYTEs	current fill mask

Top
5F03 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN
	AH = 03h
	CX = column
	DX = row
SeeAlso: AH=04h

Top
5F04 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET CLIP REGION
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET CLIP REGION
	AH = 04h
	CX = left-most column
	DX = top-most row
	SI = right-most column
	DI = bottom-most row
SeeAlso: AH=03h

Top
5F05 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW RECTANGLE
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW RECTANGLE
	AH = 05h
	AL = fill type
	    00h outline, using current line type and color
	    01h solid, using current color
	    02h pattern, using current fill mask and color
	DX,CX = row,column of other corner of rectangle
Note:	the rectangle is drawn starting at the current pen position
SeeAlso: AH=01h,AH=06h,AH=07h

Top
5F06 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW LINE
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW LINE
	AH = 06h
	DX,CX = row,column of end point
Note:	the line is drawn starting at the current pen position
SeeAlso: AH=05h,AH=07h

Top
5F07 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PLOT POINT
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PLOT POINT
	AH = 07h
	DX,CX = row,column of point
Note:	also sets pen position to the specified point
SeeAlso: AH=06h,AH=08h,AH=0Ch

Top
5F08 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - MOVE PEN
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - MOVE PEN
	AH = 08h
	DX,CX = row,column of new pen position
SeeAlso: AH=07h,AH=09h

Top
5F09 - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET PEN COLOR
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET PEN COLOR
	AH = 09h
	AL = new color (00h = white, 01h = black)
SeeAlso: AH=08h,AH=0Ah,AH=0Bh

Top
5F0A - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE
	AH = 0Ah
	AL = new replacement rule
	    00h force
	    01h AND
	    02h OR
	    03h XOR
	    ---100LX/200LX---
	    04h InvForce
	    05h InvAND
	    06h	InvOR
	    07h InvXOR
	    08h Txt
SeeAlso: AH=01h,AH=09h,AH=0Bh

Top
5F0B - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LINE TYPE
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LINE TYPE
	AH = 0Bh
	CX = new line type
Note:	the line type specifies 16 bits which are repeated over and over while
	  drawing the pixels of a line
SeeAlso: AH=09h,AH=0Ah

Top
5F0C - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET PIXEL
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET PIXEL
	AH = 0Ch
	DX,CX = row,column of pixel to read
Return: AX = pixel color
SeeAlso: AH=07h

Top
5F0D - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET IMAGE
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET IMAGE
	AH = 0Dh
	DX,CX = row,column of first corner
	BP,SI = row,column of second corner
	ES:DI -> image buffer (see #03261)
Note:	the specified corners are included in the saved image
SeeAlso: AH=0Eh

Format of HP 95LX image buffer:
Offset	Size	Description	(Table 03261)
 00h	WORD	number of planes (always 01h on HP 95LX)
 02h	WORD	number of bits/pixel (always 01h on HP 95LX)
 04h	WORD	image width in pixels
 06h	WORD	image height in pixels
 08h  N BYTEs	image data
		requires (WIDTH+7)/8 * HEIGHT bytes

Top
5F0E - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PUT IMAGE
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PUT IMAGE
	AH = 0Eh
	AL = replacement rule (see #03262)
	DX,CX = row,column of top left corner
	ES:DI -> image buffer (see #03261)
Note:	if the specified image does not fit completely on the screen, this call
	  does nothing
SeeAlso: AH=0Dh

Bitfields for replacement rule:
Bit(s)	Description	(Table 03262)
 2	invert image before applying rule
 1-0	function (00 force, 01 AND, 10 OR, 11 XOR)

Top
5F0F - INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - WRITE TEXT
INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - WRITE TEXT
	AH = 0Fh
	AL = rotate flag (if nonzero, rotate 90 degrees counter-clockwise)
	DX,CX = row,column of first character's top left corner
	ES:DI -> ASCIZ text

Top
5F10 - INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - GET FONT POINTER
INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - GET FONT POINTER
	AH = 10h
	CX = font size of desired font
	    0808h  8x8	small  (80x25 text)
	    0A0Bh 11x10 medium (64x18 text)
	    100Ch 12x16 large  (40x16 text)
Return: DX:AX -> ptr to font or 0000h:fontID# if built-in font
SeeAlso: AH=11h

Top
5F11 - INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - SET CURRENT FONT
INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - SET CURRENT FONT
	AH = 11h
	ES:DI -> ptr to font or 0000h:fontID# for built-in font
Note:	this function should be called immediately after AH=10h with the
	  pointer supplied by that call
SeeAlso: AH=10h

Top
60 - INT 60 - reserved for user interrupt
INT 60 - reserved for user interrupt

Top
60 - INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK
INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK
Desc:	The "Zero Bug" virus hooks this vector.	 It considers itself installed
	  if offset 103h of the handler's segment contains the bytes "ZE"
SeeAlso: INT 32"VIRUS",INT 44"VIRUS",INT 61"SEMTEX"

Top
60 - INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
SeeAlso: INT 41"HARD DISK 0",INT 61"Adaptec",INT 62"Adaptec",INT 63"Adaptec"
SeeAlso: INT 64"Adaptec",INT C0"AMI",#00732 at INT 1A/AX=B102h
Notes:	this vector stores the first four bytes of the parameter table for
	  hard disk 0
	these vectors are used by the following Adaptec controllers:
	    ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16
	these vectors are NOT used by the following Adaptec controllers:
	    ACB 2310, ACB 2312, ACB 2320D, ACB 2322D

Top
60 - INT 60 - TI Professional PC - SYSTEM ROM DATA AREA POINTER (NOT A VECTOR!)
INT 60 - TI Professional PC - SYSTEM ROM DATA AREA POINTER (NOT A VECTOR!)
Desc:	the low word of this vector contains the segment of the RAM data area
	  to be used by the system ROM at F400h:A000h, and the high word
	  contains the length of the data area (see #03263)
SeeAlso: INT 61"TI Professional PC",INT 66"TI Professional PC"

Format of TI Professional System ROM data area:
Offset	Size	Description	(Table 03263)
 00h	BYTE	port 00h shadow
 01h	BYTE	port 03h shadow
 02h	BYTE	port 04h shadow
 03h	WORD	system configuration word (see #03266)
 05h	BYTE	25ms count
 06h	WORD	offset of timing event 1 (0008h)
 08h	WORD	(event 1) offset of timing event 2 (0010h)
 0Ah	BYTE	(event 1) unused (FFh)
 0Bh	BYTE	(event 1) active flag (bit 7 set if on)
 0Ch	WORD	(event 1) count-down until end of event
 0Eh	WORD	(event 1) event routine (in segment F400h) to call at timeout
 10h	WORD	(event 2) offset of timing event 3 (0018h)
 12h	BYTE	(event 2) unused (FFh)
 13h	BYTE	(event 2) active flag (bit 7 set if on)
 14h	WORD	(event 2) count-down until end of event
 16h	WORD	(event 2) event routine (in segment F400h) to call at timeout
 18h	WORD	(event 3) offset of timing event 3 (0020h)
 1Ah	BYTE	(event 3) unused (FFh)
 1Bh	BYTE	(event 3) active flag (bit 7 set if on)
 1Ch	WORD	(event 3) count-down until end of event
 1Eh	WORD	(event 3) event routine (in segment F400h) to call at timeout
 20h	WORD	(event 4) 0000h - last event
 22h	BYTE	(event 4) unused (FFh)
 23h	BYTE	(event 4) active flag (bit 7 set if on)
 24h	WORD	(event 4) count-down until end of event
 26h	WORD	(event 4) event routine (in segment F400h) to call at timeout
 28h	WORD	offset of start of text display within segment DE00h
 2Ah	WORD	end of display
 2Ch	WORD	current absolute cursor position
 2Eh	WORD	start of current character row
 30h	WORD	current cursor column
 32h	WORD	cursor type and size (see #03264)
 34h	WORD	start of protected status region on screen (0000h = none)
 36h	BYTE	pop flag used by some ROM routines
		00h pop registers before return
		nonzero: do not pop
 37h	BYTE	unused (FFh)
 38h	BYTE	PAUSE flag
		00h off
		FFh on
 39h	BYTE	temp: current attribute while moving characters on screen
 3Ah	WORD	start of keyboard queue (next key at start+2 or 0042h if 0060h)
 3Ch	WORD	end of keyboard queue (next key inserted at end+2 or 0042h)
 3Eh	BYTE	number of characters in buffer
 3Fh	BYTE	keyboard mode flags (see #03265)
 40h	BYTE	Alt-digit-digit-digit accumulator
 41h	BYTE	Alt-digit-digit-digit count of digits (mod 3)
 42h 16 WORDs	keyboard buffer (circular queue)
 62h  8 DWORDs	Drive Interface Table pointers for floppies A:-D: + four others
		(0000h:0000h if pointer not in use)
 82h	BYTE	disk-error retry count (incremented on each disk error)
 83h  2	BYTEs	BIOS scratch space
 85h  8 BYTEs	current cylinder number for drives 0-7
		FFh = unknown
 8Dh	BYTE	BIOS scratch space
 8Eh	BYTE	hard error code for last disk access
		00h operation successful
 8Fh  8 BYTEs	save area for disk DSR parameters
 97h  6 BYTEs	current drive status
 9Dh	BYTE	retry error status
 9Eh	BYTE	BIOS scratch space
 9Fh  7 BYTEs	???
 A6h  2	WORDs	INT 47 save area for SS,SP
 AAh  2	WORDs	INT 46 save area for SS,SP
 AEh  2	WORDs	INT 43 save area for SS,SP
 B2h  2	WORDs	save area for SS,SP to be restored by common intr. exit routine
 B6h 24 WORDs	stack for INT 47
 E6h 24 WORDs	stack for INT 46
116h 17 WORDs	stack for INT 43
13Ah  6 BYTEs	system date and time (hundredths, seconds, minutes, hours, and
		  WORD days since 01jan1980)
Note:	timing event 1 is the disk I/O timeout, event 2 is the floppy disk
	  motor timeout, event 3 is the floppy disk motor spin-up time, and
	  event 4 is used to turn off the speaker after a delay

Bitfields for TI Professional PC cursor size and type:
Bit(s)	Description	(Table 03264)
 15	reserved (0)
 14-13	cursor type
	00 nonblinking
	01 off
	10 slow blink
	11 fast blink
 12-8	starting scan line (0-11)
 7-5	reserved (0)
 4-0	ending scan line (0-11)
SeeAlso: #03263

Bitfields for TI Professional PC keyboard mode flags:
Bit(s)	Description	(Table 03265)
 7	CapsLock was ON at last keypress
 6-4	reserved (0)
 3	repeat key
 2	Shift was down at last keypress
 1	Alt was down at last keypress
 0	Ctrl was down at last keypress
SeeAlso: #03263

Bitfields for TI Professional System Configuration Word:
Bit(s)	Description	(Table 03266)
 0	drive A: installed
 1	drive B: installed
 2	drive C: installed
 3	drive D: installed
 4	drive A: is 80-track
 5	drive A: is double-sided
 6	60-Hz (USA,etc.) system instead of 50-Hz (Europe)
 7	hard disk installed
 8	serial port 1 installed
 9	serial port 2 installed
 10	serial port 3 installed
 11	serial port 4 installed
 14-12	installed graphics planes
	000 none
	001 plane A
	111 planes A, B, and C
 15	clock installed
SeeAlso: #03263

Top
60 - INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS
INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS
Desc:	supplies a number of subfunctions which perform such functions as
	  drawing boxes and menus, and provide input line editing
SeeAlso: INT 61/AH=00h"Atari",INT 61"EXTENDED BIOS"

Top
60 - INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK
INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK
Program: Nabbit is a shareware resident screen data grabber by RSE Inc.
Range:	INT 60 to INT 66, selected by searching for first free vector
Note:	the Nabbit installation check consists of testing whether the
	  interrupt vector points at the ASCIZ signature string "iG"
	  (69h 47h 00h)

Top
60 - INT 60 - ATI M64VBE.COM - INSTALLATION SIGNATURE
INT 60 - ATI M64VBE.COM - INSTALLATION SIGNATURE
Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip
InstallCheck:	scan for an interrupt with the ASCIZ signature "M64VBE" three
	  bytes past the interrupt handler
Range:	INT 60 to INT 66, selected by searching for first free vector
SeeAlso: INT 10/AX=4FDDh"M64VBE",INT 10/AX=4FFFh/BX=364Dh"M64VBE"

Top
60 - INT 60 U - Buffit v3.0 - (NOT A VECTOR!) - INSTALLATION CHECK
INT 60 U - Buffit v3.0 - (NOT A VECTOR!) - INSTALLATION CHECK
Program: Buffit is a shareware scrollback utility by D.T. Hamilton
Range:	INT 60 to INT 6F, selected by searching for first free vector
Notes:	the Buffit installation check consists of testing whether the
	  interrupt vector points at the ASCII signature "Buffit  "
	there is a private entry point (see #03267) immediately following the
	  signature string, i.e. eight bytes beyond the address pointed at
	  by the interrupt vector

(Table 03267)
Call Buffit private entry point with:
	AH = function
	    00h get information and hotkey state
	    01h get information and toggle hotkey state
Return: AH = new hotkey state (00h enabled, 01h disabled)
	AL = hotkey scan code (see #00006)
	BH = hotkey shift states
	BL = ??? (01h)
	CX = segment of resident code
	DH = interrupt number used for signature pointer
	DL = ??? (00h)
	SI = INT 09 handler offset
	DI = INT 21 handler offset
Index:	hotkeys;Buffit

Top
60 - INT 60 - PC-IPC API
INT 60 - PC-IPC API
	STACK:	DWORD	pointer to parameter block (see #03268)
Return: STACK:	unchanged
Program: PC-IPC is a shareware TSR by Donnelly Software Engineering which
	  allows communication between independent programs
Range:	INT 00 to INT FF, selected by commandline switch

Format of PC-IPC parameter block:
Offset	Size	Description	(Table 03268)
 00h	WORD	caller's ID
 02h	WORD	to ID
 04h	WORD	command code (see #03269)
 06h	WORD	returned status (see #03270)
 08h	WORD	returned error code (see #03271)
 0Ah	WORD	size of data
 0Ch	DWORD	pointer to data buffer

(Table 03269)
Values for PC-IPC command code:
 01h "IPC_CMND_INQUIRE"	 inquire current status
	set status field, writes WORD to data buffer containing free
	  message space in bytes, and sets the "size" field to the
	  number of messages waiting
 02h "IPC_CMND_ENABLE"	reenable PC-IPC
	ignored unless called with the same ID that disabled PC-IPC
 03h "IPC_CMND_DISABLE" disable PC-IPC
 04h "IPC_CMND_INSTALL" reset PC-IPC
 06h "IPC_CMND_RDATA"	read data
	returns first message in data buffer, sets "size" to message length
	  and "to ID" field to sender's ID
	if no messages available, bit 4 of status is cleared and "size" is
	  set to zero
 07h "IPC_CMND_SDATA"	send data
 08h "IPC_CMND_REQID"	require user ID
	create a new recognized ID and return in "caller's ID" field
 09h "IPC_CMND_DELID"	cancel user ID
	delete caller's ID from pool of recognized IDs
 0Ah "IPC_CMND_RDATAW"	read data, wait if no messages available
 0Bh "IPC_CMND_VERS"	get PC-IPC version
	string representing version returned in data buffer, "size" field
	  set to length of string

Bitfields for returned status:
Bit(s)	Description	(Table 03270)
 0	unused
 1	IPC enabled
 2	IPC installed
 3	error
 4	message(s) available

(Table 03271)
Values for PC-IPC error code:
 00h	no error
 01h	invalid command or parameter
 02h	only process 0 can install/reset IPC
 03h	process can not install/reset IPC
 04h	IPC is not enabled
 05h	process can not disable IPC
 06h	invalid destination process ID
 07h	invalid sending process ID
 08h	invalid data destination
 09h	no more process IDs available
 0Ah	can not relinquish that process ID
 0Bh	message space is full
 0Ch	IPC is not installed

Top
60 - INT 60 - Tangram Arbiter - API
INT 60 - Tangram Arbiter - API
Desc:	Arbiter makes a PC disk look like a slow disk over an SNA link to an
	  IBM mainframe
Range:	INT 60h to INT 66h, selected by configuration parameter
Notes:	identified by string "@ARB_API" immediately following a short jump at
	  the interrupt handler address

Top
60 - INT 60 - Excelan LAN Workplace for DOS 3.5 - API
INT 60 - Excelan LAN Workplace for DOS 3.5 - API
	ES:BX -> request packet (see #03272)
Return: request packet updated
InstallCheck:	test for the WORD 4142h ('AB') immediately preceding the
	  interrupt handler
Note:	this interrupt is also supported by Beame&Whiteside's BWLWP35 shim,
	  which was used in creating this description
BUG:	because BWLWP35 range-checks only the low byte of the function number,
	  and has a fencepost error even in that test, functions 000Bh and
	  XX01h-XX0Bh (XX nonzero) branch to random locations
SeeAlso: INT 2F/AX=7A40h

Format of Excelan request packet:
Offset	Size	Description	(Table 03272)
 00h 12 BYTEs	???
 0Ch	WORD	(ret) error code (see #03273)
 0Eh	DWORD	-> FAR function for ???
 12h	WORD	function number
		0001h ???
		0002h NOP
		0003h NOP
		0004h NOP
		0005h ???
		0006h get ??? record
		0007h NOP
		0008h reset ???
		0009h NOP
		000Ah set ???
	???
---function 01h---
 20h	BYTE	(call) subfunction (32h-3Bh)
		3Bh non-blocking I/O request (will be tested every clock tick)
 21h	BYTE	(ret) error code
		00h successful
		09h invalid connection number
		2Ah bad connection type
		45h ???
---function 01h, subfunction 32h---
 3Ah	WORD	(call) connection type (01h stream, 02h datagram)
---function 01h, subfunction 34h---
 26h	WORD	(call) ???
 28h	WORD	(call) ???
 2Ah	WORD	(call) ???
---function 01h, subfunction 35h---
 1Ah	WORD	(call) connection number???
 26h	WORD	(ret) ???
---function 01h, subfunction 36h---
 1Ah	WORD	(call) connection number???
 38h	WORD	???
---function 01h, subfunction 37h---
 24h	WORD	(ret) ???
 26h	WORD	(ret) ???
---function 01h, subfunction 38h---
 1Ah	WORD	(call) connection number???
---function 01h, subfunction 3Ah---
 22h	WORD	(call) ???
		667Eh ???
		667Fh ???
 24h	BYTE	(call 667Eh) ???
 24h	WORD	(return 667Fh) ???
---function 01h, subfunction 3Bh---
 0Eh	DWORD	(call) -> function to invoke for I/O or 0000h:0000h
		function called with AX = 0000h
				     STACK: DWORD -> request packet
					    WORD 0000h
			should return STACK unchanged
 1Ah	WORD	(call) connection number???
 21h	BYTE	(ret) set to 01h when I/O becomes possible
 22h	BYTE	(call) direction (00h write, 01h read)
 34h	DWORD	(ret) -> next pending request packet
---function 05h---
 1Eh	WORD	(call) ???
 20h	WORD	(call) ???
 34h	DWORD	(call) -> ???
---function 06h---
 16h	DWORD	(call) -> buffer for ??? record (see #03274)
 1Ah	WORD	(call) number of bytes to copy
 22h	WORD	(ret) number of bytes transferred
---function 08h---
 14h	WORD	(ret) ??? (0001h)
---function 0Ah---
 16h	DWORD	(call) -> WORD ???
 1Ch	WORD	(call) must be 000Ah for BWLWP35

(Table 03273)
Values for Excelan error code:
 0000h	successful
 002Dh	invalid function
 0050h	???

Format of ??? record:
Offset	Size	Description	(Table 03274)
 00h	WORD	offset of ???
 02h  4 BYTEs	???
 06h	DWORD	IP address (big-endian)
 0Ah  6 BYTEs	physical address (big-endian)
	???

Top
60 - INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI)
INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI)
Note:	The handler for the interrupt will start with a 2-byte NEAR jump
	  instruction, followed by the ASCIZ signature string "TCP DRVR".
	To find the interrupt being used by the driver, an application
	  should scan through interrupt vectors 60h to 7Fh until it finds
	  one with the "TCP DRVR" string.
	This specification is being proposed by Peter R. Tattam from the
	  University of Tasmania.
Index:	installation check;TCPDRV

Top
60 - INT 60 U - INTRSPY/CMDSPY v1.0 only - API
INT 60 U - INTRSPY/CMDSPY v1.0 only - API
Program: INTRSPY is a script-driven debugger included with the book
	  _Undocumented_DOS_.
InstallCheck:	determine that a) the handler is an IRET instruction, and
	  b) the signature 0Dh "INTRSPY vN.NN" immediately precedes the handler
Notes:	INTRSPY will hook the first available interrupt in the range 60h-67h.
	If INTRSPY is installed, the DWORD immediately after the IRET stores
	  its entry point (see #03275)
	INTRSPY v2.0 (included with the second edition of the book) no longer
	  supports this API
Index:	installation check;INTRSPY

(Table 03275)
Call INTRSPY v1.0 entry point with:
	AH = function
	    00h ???
	    01h set current directory (for use in reporting)
		ES:DI -> counted string containing directory name (max 79 char)
	    02h set name of script file
		ES:DI -> counted string containing file name (max 79 chars)
	    03h set script arguments
		ES:DI -> counted string containing arguments (max 79 chars)
	    04h get directory set with function 01h
		ES:DI -> 80-byte buffer for directory name
	    05h get name of script file
		ES:DI -> 80-byte buffer for script filename
	    06h get script arguments
		ES:DI -> 80-byte buffer for script arguments
	    07h get ???
		CL = 00h-15h specifies what to get
		ES:DI -> WORD to be set with desired value on return
	    08h get ???
		ES:DI -> WORD to be set with returned value
	    09h get ???
		ES:DI -> WORD to be set with returned value
	    0Bh store code for interrupt handler???
		ES:DI -> data
		CX = number of bytes
	    0Ch ???
		ES:DI -> ???
	    0Dh get ???
		ES:DI -> BYTE to be set with returned value
	    0Eh set ??? flag
	    0Fh clear ??? flag
	    10h ???
		Return: AL = 04h or 05h if failed
	    11h ???
		Return: AL = 05h if failed
	    12h get ???
		ES:DI -> buffer
		Return: CX = number of bytes returned in buffer
	    13h ???
Return: AH = 00h
	AL = status
	    00h successful
	    01h invalid function
	    02h ???
	    03h ???
	    04h ???
	    05h ???

Top
60 - INT 60 U - PC/370 v4.2 - ???
INT 60 U - PC/370 v4.2 - ???
	???
Return: ???
Program: PC/370 is an IBM 370 emulator by Donald S. Higgins
Range:	INT 00 to INT FF, selected by patching the executable
Note:	the documentation includes instructions for patching the system for
	  another interrupt
SeeAlso: INT 2F/AX=7F24h,INT DC"PC/370"

Top
60 - INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
SeeAlso: INT 61"JPI"

Top
60 - INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
Range:	INT 20 to INT FF
Notes:	The handler for the interrupt will start with a 3-byte jump
	  instruction, followed by the ASCIZ string "PKT DRVR" (the
	  terminating NUL is significant).
	To find the interrupt being used by the driver, an application should
	  scan through interrupt vectors 20h to FFh (60h through 80h for
	  v1.09- of the specification) until it finds one with the "PKT DRVR"
	  string.
	AH values of 80h to FFh have been reserved for user-defined additions.

Top
60 - INT 60 u - 3270-PC CONTROL PROGRAM - ???
INT 60 u - 3270-PC CONTROL PROGRAM - ???

Top
60----DI0100 - INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
	DI = 0100h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to event record (see #03277)
Return: event record filled
	STACK unchanged
Note:	this call will timeout after about 500ms
SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0101h,INT 61"HP 95LX",INT 62"HP 95LX"

(Table 03276)
Values for HP 95LX event type:
 00h	no events
 01h	keystroke available
 02h	Ctrl-Break
 03h	reactivation (always follows deactivation event)
 04h	about to deactivate (sleep)
	next get-event call will not return until reactivated
 05h	forced application termination
 06h	1-2-3 bridge service request (only given to 1-2-3)
 07h	request to grow
 08h	request to shrink
 09h	application's alarm expired
 0Ah	daily chance to set an alarm
 0Bh	system date or time has been changed

Format of HP 95LX event record:
Offset	Size	Description	(Table 03277)
 00h	WORD	event type (see #03276)
 02h	WORD	ASCII code page 850 translation of keystroke
		or grow/shrink amount in paragraphs or 0000h if error
		or alarm expiration data
 04h	BYTE	scan code from BIOS
 05h	BYTE	shift key states at time keystroke is retrieved
 06h	WORD	LICS translation of keystroke
 08h	BYTE	function key number (1-2-3 only)
 09h	DWORD	pointer to 1-2-3 bridge record (see #03279)
		or pointer to time change structure (see #03278)
Note:	if the System Manager is awaiting the conclusion of a bridge service
	  or grow/shrink call and the event type field is set to FFFFh on
	  entry, the SysMgr will resume

Format of HP 95LX time change structure:
Offset	Size	Description	(Table 03278)
 00h	WORD	old year
 02h	BYTE	old month
 03h	BYTE	old date
 04h	BYTE	old day
 05h	BYTE	old hour
 06h	BYTE	old minute
 07h	BYTE	old second
 08h	BYTE	old hundredth of a second
 09h  9 BYTEs	new time in same format as old time

Top
60----DI0101 - INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
	DI = 0101h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD pointer to event record (INT 60/DI=0100h)
Return: event record filled
	STACK unchanged
Note:	this call returns immediately if no event is available
SeeAlso: INT 60/DI=0100h

Top
60----DI0102 - INT 60 u - HP 95LX System Manager - "SH_STATUS"
INT 60 u - HP 95LX System Manager - "SH_STATUS"
	DI = 0102h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged

Top
60----DI0104 - INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
	DI = 0104h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD pointer to bridge record (see #03279)
Return: ???
	STACK unchanged

Format of HP 95LX bridge record:
Offset	Size	Description	(Table 03279)
 00h	WORD	function code (see #03280)
 02h	WORD	return code from 1-2-3
 04h 16 BYTEs	ASCII range name
 14h	WORD	start column of range
 16h	WORD	start row of range
 18h	WORD	end column of range
 1Ah	WORD	end row of range
 1Ch	WORD	order in which data is placed in buffer
 1Eh	WORD	buffer size
 20h	WORD	offset within bridge record's segment of buffer for cell data

(Table 03280)
Values for HP 95LX function code:
 00h	test
 01h	get range
 02h	"GETRANGE_ADDR"
 03h	"SETRANGE_ADDR"
 04h	"GETRANGE_DATA"
 05h	"SETRANGE_DATA"
 06h	recalculate
 07h	get cursor
 08h	set cursor
 09h	redisplay
 0Ah	cell type
 0Bh	"CALCTYPE"

Top
60----DI0105 - INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
	DI = 0105h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged

Top
60----DI0106 - INT 60 u - HP 95LX System Manager - YIELD CPU
INT 60 u - HP 95LX System Manager - YIELD CPU
	DI = 0106h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=1000h,INT 2F/AX=1680h

Top
60----DI0107 - INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
	DI = 0107h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI0200 - INT 60 u - HP 95LX System Manager - SETUP MENU
INT 60 u - HP 95LX System Manager - SETUP MENU
	DI = 0200h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to menu data (see #03281)
		DWORD	pointer to ???
		WORD	number of items on menu???
		WORD	???
		DWORD	pointer to ???
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0201h,INT 60/DI=0203h,INT 60/DI=0205h

Format of HP 95LX menu data:
Offset	Size	Description	(Table 03281)
 00h 80 BYTEs	first line of menu text
 50h 80 BYTEs	second line of menu text
 A0h 80 BYTEs	third line of menu text
 F0h	WORD	number of keywords
 F2h	WORD	index of currently highlighted keyword or FFFFh
 F4h	WORD	single prompt on top line if nonzero
 F6h 20 BYTEs	which line each of 20 keywords is located on
10Ah 20 BYTEs	offset of each of 20 keywords within its line
11Eh 20 BYTEs	length of each of 20 keywords
132h 20 BYTEs	first letter of each of 20 keywords
146h 20 WORDs	offsets of long prompts for each of 20 keywords

Top
60----DI0201 - INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
	DI = 0201h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to menu data (see #03281)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0206h

Top
60----DI0202 - INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
	DI = 0202h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to menu data (see #03281)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0200h,INT 60/DI=0201h,INT 60/DI=0203h

Top
60----DI0203 - INT 60 u - HP 95LX System Manager - REMOVE MENU
INT 60 u - HP 95LX System Manager - REMOVE MENU
	DI = 0203h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to menu data (see #03281)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0201h,INT 60/DI=0202h,INT 60/DI=0204h,INT 60/DI=0208h

Top
60----DI0204 - INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE
INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE
	DI = 0204h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to menu data (see #03281)
		WORD	keystroke
		DWORD	pointer to WORD to receive selection number
Return: buffer for selection number filled with index of selected menu item or
	  FFFFh if no final selection yet
	STACK unchanged
SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0207h

Top
60----DI0205 - INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU
INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU
	DI = 0205h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file menu structure (see #03282)
		DWORD	pointer to edit record (see #03285 at INT 60/DI=0400h)
		DWORD	pointer to wildcard filespec for initial file list
		WORD	row???
		WORD	column???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0200h,INT 60/DI=0206h,INT 60/DI=0208h

Format of HP 95LX file menu structure:
Offset	Size	Description	(Table 03282)
 00h	DWORD	pointer to ASCIZ base directory name
 04h	DWORD	pointer to ASCIZ file pattern (wildcard filespec)
 08h	DWORD	pointer to file list workspace, at least 1024 bytes (see #03283)
 0Ch	WORD	size of file list workspace in bytes
 0Eh	WORD	starting row (-3 is topmost, 0 is first non-"reserved" line)
 10h	WORD	starting column
 12h	WORD	number of lines
 14h	WORD	number of columns
 16h	WORD	number of files displayed on each line
---the remaining fields are initialized by the System Manager---
 18h	WORD	0000h if first edit character, else multiline
 1Ah	WORD	number of files in file list
 1Ch	WORD	max files workspace has room for
 1Eh	WORD	file at top of list
 20h	WORD	index of file to highlight
 22h	WORD	index of file to unhighlight
 24h	WORD	current focus (01h FMENU, 02h EDIT)

Format of HP 95LX file list workspace entry:
Offset	Size	Description	(Table 03283)
 00h	BYTE	file attributes
 01h	WORD	file time (see #01665 at INT 21/AX=5700h)
 03h	WORD	file date (see #01666 at INT 21/AX=5700h)
 05h	DWORD	file size
 09h 13 BYTEs	ASCIZ filename

Top
60----DI0206 - INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU
INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU
	DI = 0206h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file menu structure (see #03282)
		DWORD	pointer to edit record (see #03285 at INT 60/DI=0400h)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0205h

Top
60----DI0207 - INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE
INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE
	DI = 0207h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file menu structure (see #03282)
		DWORD	pointer to edit record (see #03285 at INT 60/DI=0400h)
		WORD	keystroke
Return: AX = status (see #03284)
	STACK unchanged
SeeAlso: INT 60/DI=0205h,INT 60/DI=0208h

(Table 03284)
Values for HP 95LX System Manager status:
 0000h	keystroke processed, call INT 60/DI=0206h to refresh menu
 0001h	redisplay application area before refreshing menu
 0002h	user confirmed selection, filename is in edit record's buffer
 0003h	user aborted menu
 FFFBh	bad filename
 FFFCh	bad directory
 FFFDh	bad drive
 FFFEh	unknown keystroke
 FFFFh	keystroke known but invalid in current context

Top
60----DI0208 - INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU
INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU
	DI = 0208h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file menu structure (see #03282)
		DWORD	pointer to edit record (see #03285 at INT 60/DI=0400h)
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0205h,INT 60/DI=0206h

Top
60----DI0300 - INT 60 u - HP 95LX System Manager - DISPLAY STRING
INT 60 u - HP 95LX System Manager - DISPLAY STRING
	DI = 0300h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	starting row (-3 is topmost, 0 is first user line)
		WORD	starting column
		DWORD	pointer to string
		WORD	length of string
		WORD	display style: 0000h normal, 0001h reverse video
		WORD	"OSTYLE"
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0F03h,INT 60/DI=1005h

Top
60----DI0301 - INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN
INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN
	DI = 0301h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	starting row (-3 is topmost, 0 is first user line)
		WORD	starting column
		WORD	number of rows
		WORD	number of columns
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0302h,INT 60/DI=1005h

Top
60----DI0302 - INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN
INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN
	DI = 0302h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	starting row???
		WORD	starting column???
		WORD	height of scroll region???
		WORD	width of scroll region???
		WORD	number of lines to scroll region???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0301h

Top
60----DI0303 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"
INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"
	DI = 0303h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
		WORD	???
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0304 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"
INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"
	DI = 0304h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0305 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"
INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"
	DI = 0305h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0307 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"
INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"
	DI = 0307h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0308 - INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"
INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"
	DI = 0308h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged

Top
60----DI0309 - INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE
INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE
	DI = 0309h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	new mode
Return: ???
	STACK unchanged

Top
60----DI030A - INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE
INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE
	DI = 030Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged

Top
60----DI030B - INT 60 u - HP 95LX System Manager - SET CURSOR POSITION
INT 60 u - HP 95LX System Manager - SET CURSOR POSITION
	DI = 030Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	row (-3 is topmost, 0 is first non-reserved line)
		WORD	column
Return: ???
	STACK unchanged
Note:	cursor is hidden if the specified position is not on the physical
	  display
SeeAlso: INT 10/AH=02h,INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI0400 - INT 60 u - HP 95LX System Manager - "EDIT_INIT"
INT 60 u - HP 95LX System Manager - "EDIT_INIT"
	DI = 0400h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to edit record (see #03285)
		DWORD	pointer to string to be edited
		WORD	initial length of string being edited
		WORD	maximum length of edited string
		WORD	row of edit field
		WORD	leftmost column of edit field
Return: ???
	STACK unchanged

Format of HP 95LX edit record:
Offset	Size	Description	(Table 03285)
 00h	WORD	current length of edit buffer
 02h	BYTE	flag for special processing on first character
 03h	BYTE	flags
		bit 0: tab handling
 04h	WORD	editing in prompt window?
 06h	DWORD	pointer to top line of prompt window message
 0Ah	WORD	length of top line of prompt
 0Ch	DWORD	pointer to second line of prompt window message
 10h	WORD	length of second line of prompt
 12h 80 BYTEs	workspace for editing
 62h  2 WORDs	line array needed for multi-line editing
 66h 36 BYTEs	multi-line edit record (see #03286)
 8Ah	WORD	displayable columns

Format of HP 95LX multi-line edit record:
Offset	Size	Description	(Table 03286)
 00h	DWORD	pointer to user-supplied edit buffer
 04h	WORD	length of edit buffer
 06h	WORD	current cursor position
 08h	WORD	starting row of edit area (-3 is topmost, 0 is first user line)
 0Ah	WORD	starting column of edit area
 0Ch	WORD	height of edit area
 0Eh	WORD	width of edit area
 10h	WORD	current top row (-3 is topmost, 0 is first user line)
 12h	WORD	number of rows displayable
 14h	BYTE	cursor column
 15h	BYTE	01h if buffer has been modified
 16h	BYTE	first displayable column (ticker fields only)
 17h	BYTE	01h if wordwrap enabled, FFh if ticker field
 18h	DWORD	pointer to array of line starts (at least one bigger than edit
		  area is high)
 1Ch	BYTE	currently marking?
 1Dh	BYTE	flag
 1Eh	WORD	offset of mark start
 20h	WORD	offset of mark end (inclusive)
 22h	WORD	displayable columns

Top
60----DI0401 - INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE
INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE
	DI = 0401h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to edit record (see #03285)
		DWORD	pointer to string to edit
		WORD	initial length of string being edited
		WORD	maximum length of edited string
		DWORD	pointer to first line of prompt
		WORD	length of first line
		DWORD	pointer to second line of prompt
		WORD	length of second line
Return: ???
	STACK unchanged

Top
60----DI0402 - INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD
INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD
	DI = 0402h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to edit record (see #03285)
Return: ???
	STACK unchanged

Top
60----DI0403 - INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK
INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK
	DI = 0403h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to edit record (see #03285)
		WORD	keystroke
		DWORD	pointer to WORD buffer for result code
Return: result code buffer filled with 0001h if editing complete
	STACK unchanged

Top
60----DI0404 - INT 60 u - HP 95LX System Manager - "MDIT_INI"
INT 60 u - HP 95LX System Manager - "MDIT_INI"
	DI = 0404h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
		WORD	???
		WORD	???
		DWORD	pointer to ???
		WORD	???
		WORD	???
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0405 - INT 60 u - HP 95LX System Manager - "MDIT_DIS"
INT 60 u - HP 95LX System Manager - "MDIT_DIS"
	DI = 0405h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0406 - INT 60 u - HP 95LX System Manager - "MDIT_KEY"
INT 60 u - HP 95LX System Manager - "MDIT_KEY"
	DI = 0406h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0407 - INT 60 u - HP 95LX System Manager - "MDIT_FIL"
INT 60 u - HP 95LX System Manager - "MDIT_FIL"
	DI = 0407h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0408 - INT 60 u - HP 95LX System Manager - "MDIT_MARK"
INT 60 u - HP 95LX System Manager - "MDIT_MARK"
	DI = 0408h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0409 - INT 60 u - HP 95LX System Manager - "MDIT_UNMARK"
INT 60 u - HP 95LX System Manager - "MDIT_UNMARK"
	DI = 0409h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI040A - INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK"
INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK"
	DI = 040Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI040B - INT 60 u - HP 95LX System Manager - "MDIT_INS_STR"
INT 60 u - HP 95LX System Manager - "MDIT_INS_STR"
	DI = 040Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI0500 - INT 60 u - HP 95LX System Manager - OPEN FILE
INT 60 u - HP 95LX System Manager - OPEN FILE
	DI = 0500h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		DWORD	pointer to filename
		WORD	length of filename
		WORD	???
		WORD	suppress buffering if nonzero
Return: AX = status
	STACK unchanged
SeeAlso: INT 60/DI=0501h,INT 60/DI=0502h,INT 60/DI=0508h

Format of HP 95LX file state record:
Offset	Size	Description	(Table 03287)
 00h	WORD	DOS file handle
 02h	WORD	state flags (see #03288)
 04h	DWORD	current DOS physical file offset (FFFFFFFFh if unknown)
 08h	DWORD	DOS file offset of start of buffer
 0Ch	DWORD	effective file offset as seen by caller
 10h	WORD	number of bytes in file buffer
---buffered I/O only---
 12h 512 BYTEs	file buffer

Bitfields for HP 95LX file state flags:
Bit(s)	Description	(Table 03288)
 0	buffer contents valid
 1	buffer is dirty and must be written
 2	unbuffered I/O
 3	file is a character device
SeeAlso: #03287

Top
60----DI0501 - INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE
INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE
	DI = 0501h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		DWORD	pointer to filename
		WORD	length of filename
		WORD	???
		WORD	suppress buffering if nonzero
Return: AX = status
	STACK unchanged
SeeAlso: INT 60/DI=0500h

Top
60----DI0502 - INT 60 u - HP 95LX System Manager - CREATE NEW FILE
INT 60 u - HP 95LX System Manager - CREATE NEW FILE
	DI = 0502h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		DWORD	pointer to filename
		WORD	length of filename
		WORD	???
		WORD	suppress buffering if nonzero
Return: AX = status
	STACK unchanged
SeeAlso: INT 60/DI=0500h,INT 60/DI=0503h

Top
60----DI0503 - INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE
INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE
	DI = 0503h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		DWORD	pointer to filename
		WORD	length of filename
		WORD	???
		WORD	suppress buffering if nonzero
Return: AX = status
	STACK unchanged
SeeAlso: INT 60/DI=0502h

Top
60----DI0504 - INT 60 u - HP 95LX System Manager - READ FROM FILE
INT 60 u - HP 95LX System Manager - READ FROM FILE
	DI = 0504h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		DWORD	pointer to data buffer
		WORD	number of bytes to read
		DWORD	pointer to WORD in which to return actual bytes read
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0505h

Top
60----DI0505 - INT 60 - HP 95LX System Manager - WRITE TO FILE
INT 60 - HP 95LX System Manager - WRITE TO FILE
	DI = 0505h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		DWORD	pointer to data
		WORD	length of data
Return: AX = status
	STACK unchanged
SeeAlso: INT 60/DI=0504h

Top
60----DI0506 - INT 60 u - HP 95LX System Manager - SET FILE POSITION
INT 60 u - HP 95LX System Manager - SET FILE POSITION
	DI = 0506h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		2 WORDs	???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0507h

Top
60----DI0507 - INT 60 u - HP 95LX System Manager - GET FILE POSITION
INT 60 u - HP 95LX System Manager - GET FILE POSITION
	DI = 0507h "M_TELL"
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
		DWORD	pointer to DWORD buffer for file position???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0506h

Top
60----DI0508 - INT 60 u - HP 95LX System Manager - CLOSE FILE
INT 60 u - HP 95LX System Manager - CLOSE FILE
	DI = 0508h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to file state record (see #03287)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0500h

Top
60----DI0509 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT"
	DI = 0509h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI050A - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH"
	DI = 050Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ??? (see #03289)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Format of HP 95LX pattern match control block:
Offset	Size	Description	(Table 03289)
 00h 43 BYTEs	FindFirst data block (see #01626 at INT 21/AH=4Eh)
 2Bh 80 BYTEs	full path name
 7Bh	BYTE	offset of last component of filename
 7Ch	BYTE	DOS function number (4Eh or 4Fh)

Top
60----DI050B - INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT
INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT
	DI = 050Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
		DWORD	pointer to ???
Return: ??? = result (see #03290)
	???
	STACK unchanged

(Table 03290)
Values returned by HP 95LX System Manager:
 0000h	nonexistent
 0001h	file
 0002h	directory
 0003h	character device

Top
60----DI050C - INT 60 u - HP 95LX System Manager - DELETE FILE
INT 60 u - HP 95LX System Manager - DELETE FILE
	DI = 050Ch "M_DELETE"
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI050D - INT 60 u - HP 95LX System Manager - RENAME FILE
INT 60 u - HP 95LX System Manager - RENAME FILE
	DI = 050Dh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
		DWORD	pointer to ???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI050E - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR"
	DI = 050Eh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI050F - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR"
	DI = 050Fh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0510 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME"
	DI = 0510h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0511 - INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY
INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY
	DI = 0511h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged
SeeAlso: INT 21/AH=39h,INT 60/DI=0512h

Top
60----DI0512 - INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY
INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY
	DI = 0512h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged
SeeAlso: INT 21/AH=3Ah,INT 60/DI=0511h

Top
60----DI0513 - INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE
INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE
	DI = 0513h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ??? buffer for current drive
Return: ???
	STACK unchanged
SeeAlso: INT 21/AH=19h,INT 60/DI=0514h

Top
60----DI0514 - INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE
INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE
	DI = 0514h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	new drive
Return: ???
	STACK unchanged
SeeAlso: INT 21/AH=0Eh"DOS 1+",INT 60/DI=0513h

Top
60----DI0515 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE"
	DI = 0515h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0516 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR"
	DI = 0516h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0517 - INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES
INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES
	DI = 0517h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
		DWORD	pointer to ??? buffer for file's attributes???
Return: ???
	STACK unchanged
SeeAlso: INT 21/AX=4300h,INT 60/DI=0518h

Top
60----DI0518 - INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES
INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES
	DI = 0518h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
		WORD	new attributes???
Return: ???
	STACK unchanged
SeeAlso: INT 21/AX=4301h,INT 60/DI=0517h

Top
60----DI0519 - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN"
	DI = 0519h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
		WORD	???
		WORD	???
		WORD	???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI051A - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT"
	DI = 051Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI051B - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT"
	DI = 051Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI051C - INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT"
INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT"
	DI = 051Ch
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0600 - INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING
INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING
	DI = 0600h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0601h,INT 61"HP 95LX"

Top
60----DI0601 - INT 60 u - HP 95LX System Manager - PROCESS TERMINATION
INT 60 u - HP 95LX System Manager - PROCESS TERMINATION
	DI = 0601h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: never
	STACK unchanged
SeeAlso: INT 21/AH=4Ch,INT 2F/AX=1122h,INT 60/DI=0600h

Top
60----DI0602 - INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES
INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES
	DI = 0602h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=101Bh,INT 2F/AX=1681h,INT 60/DI=0603h

Top
60----DI0603 - INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES
INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES
	DI = 0603h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=101Ch,INT 2F/AX=1682h,INT 60/DI=0602h

Top
60----DI0604 - INT 60 u - HP 95LX System Manager - "M_SPAWN"
INT 60 u - HP 95LX System Manager - "M_SPAWN"
	DI = 0604h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 21/AH=4Bh

Top
60----DI0605 - INT 60 u - HP 95LX System Manager - "M_APPCOUNT"
INT 60 u - HP 95LX System Manager - "M_APPCOUNT"
	DI = 0605h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged

Top
60----DI0606 - INT 60 u - HP 95LX System Manager - "M_REBOOT"
INT 60 u - HP 95LX System Manager - "M_REBOOT"
	DI = 0606h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 14/AH=17h"FOSSIL",INT 19

Top
60----DI0607 - INT 60 u - HP 95LX System Manager - "M_SPAWNARG"
INT 60 u - HP 95LX System Manager - "M_SPAWNARG"
	DI = 0607h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0608 - INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME"
INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME"
	DI = 0608h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0609 - INT 60 u - HP 95LX System Manager - "M_APP_NAME"
INT 60 u - HP 95LX System Manager - "M_APP_NAME"
	DI = 0609h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: DX:AX -> ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI0700 - INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD
INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD
	DI = 0700h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ??? = error code (see #03291)
	???
	STACK unchanged
SeeAlso: INT 60/DI=0701h,INT 60/DI=0702h

(Table 03291)
Values for HP 95LX error code:
 0000h	successful
 FFF8h	transfer request out of bounds
 FFF9h	no such representation
 FFFAh	no representation open
 FFFBh	a representation is already open
 FFFCh	representation already exists
 FFFDh	heap allocation failure
 FFFEh	clipboard not open
 FFFFh	clipboard access denied

Top
60----DI0701 - INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD
INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD
	DI = 0701h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0700h,INT 60/DI=0702h

Top
60----DI0702 - INT 60 u - HP 95LX System Manager - RESET CLIPBOARD
INT 60 u - HP 95LX System Manager - RESET CLIPBOARD
	DI = 0702h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0700h

Top
60----DI0704 - INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION???
INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION???
	DI = 0704h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0705h,INT 60/DI=0706h,INT 60/DI=0707h

Top
60----DI0705 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP"
INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP"
	DI = 0705h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0704h

Top
60----DI0706 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME"
INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME"
	DI = 0706h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0704h,INT 60/DI=0707h

Top
60----DI0707 - INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX"
INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX"
	DI = 0707h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0704h,INT 60/DI=0706h

Top
60----DI0708 - INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD
INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD
	DI = 0708h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to data to be written???
		WORD	length of data???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0709h

Top
60----DI0709 - INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD
INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD
	DI = 0709h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
		DWORD	pointer to buffer for data???
		WORD	length of buffer???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0708h

Top
60----DI0800 - INT 60 u - HP 95LX System Manager - BEEP
INT 60 u - HP 95LX System Manager - BEEP
	DI = 0800h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0801h,INT 60/DI=0802h,INT 60/DI=0803h

Top
60----DI0801 - INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD"
INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD"
	DI = 0801h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0800h,INT 60/DI=0802h,INT 60/DI=0803h

Top
60----DI0802 - INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN
INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN
	DI = 0802h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	pattern number (00h-06h)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0803h

Top
60----DI0803 - INT 60 u - HP 95LX System Manager - TURN OFF SOUND
INT 60 u - HP 95LX System Manager - TURN OFF SOUND
	DI = 0803h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0802h

Top
60----DI0900 - INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK
INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK
	DI = 0900h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	size of block in bytes
Return: AX -> memory block
	STACK unchanged
Note:	System Manager-compliant applications are always small-model (64K code,
	  64K data)
SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0902h,INT 60/DI=0903h

Top
60----DI0902 - INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK
INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK
	DI = 0902h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	offset of memory block???
Return: ???
	STACK unchanged
Note:	System Manager-compliant applications are always small-model (64K code,
	  64K data)
SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h

Top
60----DI0903 - INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK
INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK
	DI = 0903h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	size of block in bytes???
Return: AX -> memory block???
	STACK unchanged
SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h

Top
60----DI0904 - INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK
INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK
	DI = 0904h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	segment of memory block???
Return: AX -> ???
	STACK unchanged
SeeAlso: INT 60/DI=0902h,INT 60/DI=0903h

Top
60----DI0B00 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO"
	DI = 0B00h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B01 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM"
	DI = 0B01h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B02 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM"
	DI = 0B02h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B03 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM"
	DI = 0B03h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0B04 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM"
	DI = 0B04h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to alarm record??? (see #03292)
		WORD	???
Return: ???
	STACK unchanged

Format of HP 95LX alarm record:
Offset	Size	Description	(Table 03292)
 00h	BYTE	hour
 01h	BYTE	minute
 02h	BYTE	second
 03h	BYTE	unused padding
 04h	WORD	rescheduling interval, in seconds
 06h	BYTE	are seconds significant?
 07h	BYTE	alarm sound
 08h 40 BYTEs	message displayed when alarm activates
 30h	BYTE	task ID of owner
 31h	BYTE	application's own use for sub-class
 32h  4 BYTEs	application's own use for private data

Top
60----DI0B05 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW"
	DI = 0B05h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B06 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW"
	DI = 0B06h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B07 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW"
	DI = 0B07h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B08 - INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP
INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP
	DI = 0B08h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	timestamp format (see #03293)
		WORD	row (-3 is topmost, 0 is first non-reserved line)
		WORD	column
Return: ???
	STACK unchanged

Bitfields for HP 95LX timestamp format:
Bit(s)	Description	(Table 03293)
 1-0	timestamp components
	00 date only
	01 time only
	10 date and time
	11 day and date
 4	supply am/pm
 5	supply seconds
 6	show year
 7	four-digit year

Top
60----DI0B09 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS"
	DI = 0B09h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ??? (see #03294)
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0B0Ah,INT 60/DI=0B0Fh

Format of HP 95LX system settings:
Offset	Size	Description	(Table 03294)
 00h	WORD	country code
 02h	WORD	speaker volume (00h-03h or FFh for off)
 04h	WORD	contrast level (00h-0Fh)
 06h	WORD	week start (00h Sunday, 01h Monday)
 08h	WORD	punctuation format (see #03295)
 0Ah	WORD	two-character language code (only 5355h = "US" byte-swapped)
 0Ch	WORD	current date format (see #03296)
 0Eh	WORD	current time format (see #03297)
 10h	WORD	collating sequence
		00h numbers first, 01h letters first, 02h ASCII
 12h 80 BYTEs	name of picture file
 62h 30 BYTEs	name
 80h 30 BYTEs	title
 9Eh 28 BYTEs	company name
 BAh	WORD	number of languages
 BCh  6 BYTEs	available languages
 C2h 66 BYTEs	language menu
104h  2 BYTEs	ASCIZ date separator
106h  2 BYTEs	ASCIZ time separator
108h	BYTE	date order
109h	BYTE	use 24 hour time?
10Ah 16 BYTEs	currency string
11Ah	WORD	currency string position (00h prefix, 01h suffix)
11Ch	WORD	keyboard (see #03298)
11Eh	WORD	printer baud rate
		00h 300, 01h 1200, 02h 2400, 03h 4800, 04h 9600, 05h 19200
120h	WORD	printer driver code
		00h Epson FX80, 01h HP Laserjet, 02h IBM ProPrinter
122h	WORD	printer interface (00h COM1, 01h COM2, 02h IR, 03h LPT1)
124h	WORD	system manager interrupt (60h by default)
126h	WORD	code page (01h CP850, 02h CP437)
128h	WORD	active exit key
12Ah	WORD	active menu key
12Ch	WORD	active CHAR key toggle
12Eh  6 BYTEs	alarm

(Table 03295)
Values for HP 95LX punctuation format:
 code	decimal arg	thousands
 00h	.	,	,
 01h	,	.	.
 02h	.	;	;
 03h	,	;	.
 04h	.	,	" "
 05h	,	.	" "
 06h	.	;	" "
 07h	,	;	" "

(Table 03296)
Values for HP 95LX current date format:
 00h	dd-mmm-yy
 01h	dd-mmm
 02h	mmm-yy
 03h	mm/dd/yy
 04h	dd/mm/yy
 05h	dd.mm.yy
 06h	yy-mm-dd
 07h	mm/dd
 08h	dd/mm
 09h	dd.mm
 0Ah	mm-dd

(Table 03297)
Values for HP 95LX current time format:
 00h	HH:MM:SS am/pm
 01h	HH:MM am/pm
 02h	HH:MM:SS
 03h	HH.MM.SS
 04h	HH,MM,SS
 05h	HHhMMmSSs
 06h	HH:MM
 07h	HH.MM
 08h	HH,MM
 09h	HHhMMm

(Table 03298)
Values for HP 95LX keyboard layout:
 0001h	Belgium
 0002h	French Canadian
 0004h	Denmark
 0008h	Finland
 0010h	French
 0020h	Finland
 0040h	Italy
 0080h	Netherlands
 0100h	Norway
 0200h	Portugal
 0400h	Spain
 0800h	Sweden
 1000h	Swiss French
 2000h	Swiss German
 4000h	United Kingdom
 8000h	USA

Top
60----DI0B0A - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS"
	DI = 0B0Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0B09h

Top
60----DI0B0B - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER"
	DI = 0B0Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0B0Ch,INT 60/DI=0B0Dh

Top
60----DI0B0C - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER"
	DI = 0B0Ch
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Dh

Top
60----DI0B0D - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER"
	DI = 0B0Dh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Ch

Top
60----DI0B0E - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME"
	DI = 0B0Eh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
		WORD	???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: DX:AX -> ???
	STACK unchanged

Top
60----DI0B0F - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR"
	DI = 0B0Fh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: DX:AX -> system settings record (see #03294)
	STACK unchanged
SeeAlso: INT 60/DI=0B09h

Top
60----DI0B10 - INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION
INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION
	DI = 0B10h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B11 - INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION
INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION
	DI = 0B11h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0B12 - INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE
INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE
	DI = 0B12h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	new parsing rule (see #03299)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0B13h

(Table 03299)
Values for HP 95LX date parsing rule:
 01h	day-month-year
 02h	month-day-year
 03h	year-month-day
 04h	"DMYO"
 05h	"MDYO"
 OR with 08h to get any year

Top
60----DI0B13 - INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE
INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE
	DI = 0B13h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	new parsing rule (see #03300)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0B12h

(Table 03300)
Values for HP 95LX time parsing rule:
 01h	HH:MM:SS (am/pm)
 02h	HH:MM:SS (24hr)
 03h	HHMM:SS (24hr)
 04h	HH:MM:SS.hh (24hr)
 05h	HH:MM (am/pm)
 06h	HH:MM (24hr)
 07h	HHMM (24hr)

Top
60----DI0B14 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME"
	DI = 0B14h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged

Top
60----DI0B15 - INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER"
INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER"
	DI = 0B15h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI0C00 - INT 60 u - HP 95LX System Manager - OPEN PRINTER
INT 60 u - HP 95LX System Manager - OPEN PRINTER
	DI = 0C00h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0C01h,INT 60/DI=0C02h,INT 60/DI=0C03h

Top
60----DI0C01 - INT 60 u - HP 95LX System Manager - CLOSE PRINTER
INT 60 u - HP 95LX System Manager - CLOSE PRINTER
	DI = 0C01h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
Note:	relinquishes control of printer
SeeAlso: INT 60/DI=0C00h

Top
60----DI0C02 - INT 60 u - HP 95LX System Manager - WRITE TO PRINTER
INT 60 u - HP 95LX System Manager - WRITE TO PRINTER
	DI = 0C02h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to data to be written
		WORD	length of data
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0C00h

Top
60----DI0C03 - INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER
INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER
	DI = 0C03h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0C00h

Top
60----DI0C04 - INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER"
INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER"
	DI = 0C04h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0C05 - INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER"
INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER"
	DI = 0C05h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI0E00 - INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT"
INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT"
	DI = 0E00h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: #03301,INT 60/DI=0E01h,INT 60/DI=0E02h

(Table 03301)
Values for HP 95LX error code:
 0000h	successful
 FFF1h	"E_BUSY"
 FFF2h	timeout
 FFF3h	framing error
 FFF4h	parity error
 FFF5h	overrun error
 FFF6h	"E_EMPTY"
 FFF7h	"E_CONECT"
 FFF8h	not open
 FFF9h	out of memory
 FFFAh	buffer overflow
 FFFBh	"E_NOFIT"
 FFFCh	unsupported
 FFFDh	"E_IVOPR"
 FFFEh	"E_IVCHN"
 FFFFh	"E_REOPEN"

Top
60----DI0E01 - INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL
INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL
	DI = 0E01h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to WORD buffer for comm channel handle
		WORD	communications line number (01h-04h)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E02h

Top
60----DI0E02 - INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL
INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL
	DI = 0E02h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	comm channel handle
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E01h

Top
60----DI0E03 - INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM"
INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM"
	DI = 0E03h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E04 - INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER"
INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER"
	DI = 0E04h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E05 - INT 60 u - HP 95LX System Manager - "M_COMM_DIAL"
INT 60 u - HP 95LX System Manager - "M_COMM_DIAL"
	DI = 0E05h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0E06 - INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL
INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL
	DI = 0E06h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	comm channel handle
		WORD	reset options (see #03302)
Return: ???
	STACK unchanged

Bitfields for HP 95LX reset options:
Bit(s)	Description	(Table 03302)
 0	reset line
 1	flush transmit buffer
 2	flush receive buffer
 3	reset modem
 4	reset receiver's ^S state
 5	reset transmitter's ^S state

Top
60----DI0E07 - INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP"
INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP"
	DI = 0E07h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E08 - INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL
INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL
	DI = 0E08h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	comm channel handle
		DWORD	pointer to data to be sent
		WORD	option flags
			bit 0: send partial buffer
			bit 1: turn on receiver after sending
		DWORD	pointer to WORD containing length of data to be sent
Return: length WORD updated to contain number of bytes actually sent???
	STACK unchanged
SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh

Top
60----DI0E09 - INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE
INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE
	DI = 0E09h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ??? WORD
		DWORD	pointer to ??? WORD
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0E0Ah

Top
60----DI0E0A - INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE
INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE
	DI = 0E0Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	comm channel handle
		DWORD	pointer to WORD to get receive buffer size
		DWORD	pointer to WORD to get free bytes in receive buffer
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh

Top
60----DI0E0B - INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL
INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL
	DI = 0E0Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	comm channel handle
		DWORD	pointer to data buffer
		DWORD	pointer to WORD (call) length of data buffer
					(ret) number of bytes received
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0E08h,INT 60/DI=0E0Ah

Top
60----DI0E0C - INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD"
INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD"
	DI = 0E0Ch
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E0D - INT 60 u - HP 95LX System Manager - "M_COMM_COMAND"
INT 60 u - HP 95LX System Manager - "M_COMM_COMAND"
	DI = 0E0Dh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E0E - INT 60 u - HP 95LX System Manager - "M_COMM_BREAK"
INT 60 u - HP 95LX System Manager - "M_COMM_BREAK"
	DI = 0E0Eh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E0F - INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON"
INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON"
	DI = 0E0Fh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E10 - INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF"
INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF"
	DI = 0E10h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E11 - INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR"
INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR"
	DI = 0E11h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E12 - INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG"
INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG"
	DI = 0E12h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E13 - INT 60 u - HP 95LX System Manager - "M_COMM_STATUS"
INT 60 u - HP 95LX System Manager - "M_COMM_STATUS"
	DI = 0E13h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E14 - INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS
INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS
	DI = 0E14h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	comm channel handle
		DWORD	pointer to communications settings (see #03303)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0E15h

Format of HP 95LX communications settings:
Offset	Size	Description	(Table 03303)
 00h	BYTE	dial type ('T' tone, 'P' pulse)
 01h	WORD	baud rate divisor (115200/baud_rate)
 03h	BYTE	parity (00h none, 08h odd, 18h even, 28h mark, 38h space)
 04h	BYTE	stop bits (00h one, 04h two)
 05h	BYTE	data bits - 5
 06h	BYTE	software handshake
		01h none, 02h XOFF/XON, 04h XOFF/any, 08h ENQ/ACK
 07h	BYTE	infrared (01h off, 02h on)
 08h	BYTE	duplex (01h half, 02h full)
 09h	BYTE	echo (01h echo, 02h no echo)

Top
60----DI0E15 - INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS
INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS
	DI = 0E15h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to buffer for settings (see #03303)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0E14h

Top
60----DI0E16 - INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR"
INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR"
	DI = 0E16h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		WORD	???
		WORD	???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI0E17 - INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR"
INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR"
	DI = 0E17h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI0F00 - INT 60 u - HP 95LX System Manager - "M_ERRMSG"
INT 60 u - HP 95LX System Manager - "M_ERRMSG"
	DI = 0F00h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
		DWORD	pointer to ???
		WORD	???
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0F01 - INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX
INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX
	DI = 0F01h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ASCIZ title string
Return: ???
	STACK unchanged

Top
60----DI0F02 - INT 60 u - HP 95LX System Manager - "SHOWNAME"
INT 60 u - HP 95LX System Manager - "SHOWNAME"
	DI = 0F02h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI0F03 - INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX
INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX
	DI = 0F03h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to first line of message
		WORD	length of first line
		DWORD	pointer to second line of message
		WORD	length of second line
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0300h,INT 60/DI=0F04h,INT 60/DI=0F09h

Top
60----DI0F04 - INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX
INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX
	DI = 0F04h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F09h

Top
60----DI0F05 - INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR"
INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR"
	DI = 0F05h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: DX:AX -> ???
	STACK unchanged

Top
60----DI0F06 - INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR"
INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR"
	DI = 0F06h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: DX:AX -> ???
	STACK unchanged

Top
60----DI0F07 - INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR"
INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR"
	DI = 0F07h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: DX:AX -> ???
	STACK unchanged

Top
60----DI0F08 - INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR"
INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR"
	DI = 0F08h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI0F09 - INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX
INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX
	DI = 0F09h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to first line of message
		WORD	length of first line
		DWORD	pointer to second line of message
		WORD	length of second line
		DWORD	pointer to third line of message
		WORD	length of third line
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F04h

Top
60----DI0F0A - INT 60 u - HP 95LX System Manager - DISABLE MACROS
INT 60 u - HP 95LX System Manager - DISABLE MACROS
	DI = 0F0Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0F0Bh

Top
60----DI0F0B - INT 60 u - HP 95LX System Manager - ENABLE MACROS
INT 60 u - HP 95LX System Manager - ENABLE MACROS
	DI = 0F0Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 60/DI=0F0Ah

Top
60----DI0F0C - INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS"
INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS"
	DI = 0F0Ch
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI0F0D - INT 60 u - HP 95LX System Manager - "M_FORM_FT"
INT 60 u - HP 95LX System Manager - "M_FORM_FT"
	DI = 0F0Dh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: DX:AX -> ???
	STACK unchanged

Top
60----DI0F0E - INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO"
INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO"
	DI = 0F0Eh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: DX:AX -> ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI1005 - INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE
INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE
	DI = 1005h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged
SeeAlso: INT 10/AH=FFh,INT 60/DI=0300h,INT 60/DI=0301h

Top
60----DI1200 - INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE"
INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE"
	DI = 1200h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI1201 - INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR"
INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR"
	DI = 1201h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		WORD	???
Return: DX:AX -> ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI1202 - INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR"
INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR"
	DI = 1202h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: DX:AX -> ???
	STACK unchanged

Top
60----DI1203 - INT 60 u - HP 95LX System Manager - "INIT_SYSMGR_RSRCS"
INT 60 u - HP 95LX System Manager - "INIT_SYSMGR_RSRCS"
	DI = 1203h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: ???
	STACK unchanged

Top
60----DI1300 - INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM
INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM
	DI = 1300h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI1301 - INT 60 u - HP 95LX System Manager - DISPLAY HELP
INT 60 u - HP 95LX System Manager - DISPLAY HELP
	DI = 1301h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged

Top
60----DI1302 - INT 60 u - HP 95LX System Manager - "M_HELP_KEY"
INT 60 u - HP 95LX System Manager - "M_HELP_KEY"
	DI = 1302h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI1303 - INT 60 u - HP 95LX System Manager - "M_HELP_TERM"
INT 60 u - HP 95LX System Manager - "M_HELP_TERM"
	DI = 1303h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI1400 - INT 60 u - HP 95LX System Manager - "M_ColInit"
INT 60 u - HP 95LX System Manager - "M_ColInit"
	DI = 1400h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
Return: AX = ???
	STACK unchanged

Top
60----DI1401 - INT 60 u - HP 95LX System Manager - "M_ColCpStr"
INT 60 u - HP 95LX System Manager - "M_ColCpStr"
	DI = 1401h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI1402 - INT 60 u - HP 95LX System Manager - "M_ColLicsStr"
INT 60 u - HP 95LX System Manager - "M_ColLicsStr"
	DI = 1402h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1403 - INT 60 u - HP 95LX System Manager - "M_ColLicsChar"
INT 60 u - HP 95LX System Manager - "M_ColLicsChar"
	DI = 1403h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1404 - INT 60 u - HP 95LX System Manager - "M_ColToLower"
INT 60 u - HP 95LX System Manager - "M_ColToLower"
	DI = 1404h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI1405 - INT 60 u - HP 95LX System Manager - "M_ColCpSearch"
INT 60 u - HP 95LX System Manager - "M_ColCpSearch"
	DI = 1405h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
		DWORD	pointer to ???
		WORD	???
		WORD	???
Return: ???
	STACK unchanged

Top
60----DI1406 - INT 60 u - HP 95LX System Manager - "M_ColToUpper"
INT 60 u - HP 95LX System Manager - "M_ColToUpper"
	DI = 1406h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		DWORD	pointer to ???
		WORD	???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI1500 - INT 60 u - HP 95LX System Manager - "GrDispInit"
INT 60 u - HP 95LX System Manager - "GrDispInit"
	DI = 1500h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1501 - INT 60 u - HP 95LX System Manager - "GrDispClear"
INT 60 u - HP 95LX System Manager - "GrDispClear"
	DI = 1501h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1502 - INT 60 u - HP 95LX System Manager - "GrDispDot"
INT 60 u - HP 95LX System Manager - "GrDispDot"
	DI = 1502h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1503 - INT 60 u - HP 95LX System Manager - "GrDispDraw"
INT 60 u - HP 95LX System Manager - "GrDispDraw"
	DI = 1503h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1504 - INT 60 u - HP 95LX System Manager - "GrDispFill"
INT 60 u - HP 95LX System Manager - "GrDispFill"
	DI = 1504h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1505 - INT 60 u - HP 95LX System Manager - "GrDispRead"
INT 60 u - HP 95LX System Manager - "GrDispRead"
	DI = 1505h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1506 - INT 60 u - HP 95LX System Manager - "GrDispString"
INT 60 u - HP 95LX System Manager - "GrDispString"
	DI = 1506h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1507 - INT 60 u - HP 95LX System Manager - "GrDispPan"
INT 60 u - HP 95LX System Manager - "GrDispPan"
	DI = 1507h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1508 - INT 60 u - HP 95LX System Manager - "GrDispZoom"
INT 60 u - HP 95LX System Manager - "GrDispZoom"
	DI = 1508h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI1509 - INT 60 u - HP 95LX System Manager - "GrDispSave"
INT 60 u - HP 95LX System Manager - "GrDispSave"
	DI = 1509h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI150A - INT 60 u - HP 95LX System Manager - "GrDispRestore"
INT 60 u - HP 95LX System Manager - "GrDispRestore"
	DI = 150Ah
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged

Top
60----DI150B - INT 60 u - HP 95LX System Manager - "GrDispCorner"
INT 60 u - HP 95LX System Manager - "GrDispCorner"
	DI = 150Bh
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
60----DI1604 - INT 60 u - HP 95LX System Manager - "CP_TO_LICS"
INT 60 u - HP 95LX System Manager - "CP_TO_LICS"
	DI = 1604h
	STACK:	2 WORDs unused dummies (for calls from high level languages)
		???
Return: ???
	STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"

Top
6000 - INT 60 - SYS_PROF.EXE - PROFILER STATUS
INT 60 - SYS_PROF.EXE - PROFILER STATUS
	AH = 00h
Return: AX = 0000h    profiling is off
	    otherwise profiling is on
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=01h"SYS_PROF",AH=02h"SYS_PROF"

Top
6000 - INT 60 - MDEBUG - GET STATUS
INT 60 - MDEBUG - GET STATUS
	AH = 00h
	DS:SI -> password or a null byte
Return: AX = return code
	    FFFEh password is invalid
	    FFFDh display mode is invalid
	    else successful
		ES = value of the monitor register SE
		DI = value of the monitor register OF
		CH = monitor color
		CL = interpreter color
		BH = monitor start line
		BL = interpreter start line
		AH = makecode of the hotkey
		AL = ASCII code of the hotkey
		DL = status of special keys (only SHIFT, ALT, CTRL) for the
		      hotkey (coded as for the keyboard flag at 0040h:0017h)
		DH = basic process number for the communication with drivers
		      process number for the display driver, DH+1 = process
		      number for the command driver(s)
	DS:SI -> MDEBUG identification table (see #03304)
Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
	  Schemmer, including a memory monitor, an interpreter, and a
	  disassembler
Notes:	MDEBUG uses INT 60 by default, but may be directed to any of INT 60
	  through INT 67; the interrupt handler is preceded by the signature
	  "USERINT" and is not chained
	if DS:SI points at a null byte, MDEBUG will prompt for a password if
	  passwords are active; enough stack space must be provided for an
	  INT 10h call (which MDEBUG uses while prompting for the password)
SeeAlso: AH=02h"MDEBUG"
Index:	hotkeys;MDEBUG

Format of MDEBUG identification table:
Offset	Size	Description	(Table 03304)
 -2	WORD	entry offset
 00h	WORD	CS of MDEBUG
 02h	DWORD	old INT 08h vector
 06h	DWORD	old INT 09h vector
 0Ah	DWORD	address INT 16h routine used by MDEBUG
 0Eh	BYTE	length of version string
 0Fh  N BYTEs	version string

Top
600000 - INT 60 - RIFS - CLIENT - INSTALLATION CHECK
INT 60 - RIFS - CLIENT - INSTALLATION CHECK
	AX = 0000h
Return: AX = 1234h if installed
	CF clear
Program: RIFS is the Remote Installable File System by "kyle"
InstallCheck:	test for the signature "RIFS" immediately preceding the
	  interrupt handler
Range:	INT 60 to INT 66 and INT 18,selected by scanning for 0000h:0000h vector
SeeAlso: AX=0001h,AX=0005h,AX=0007h,AX=0008h,INT 2F/AX=5600h

Top
600001 - INT 60 - RIFS - CLIENT - UNINSTALL
INT 60 - RIFS - CLIENT - UNINSTALL
	AX = 0001h
Return: CF clear if successful
SeeAlso: AX=0000h,AX=0009h

Top
600002 - INT 60 - RIFS - CLIENT - REMAP DRIVE
INT 60 - RIFS - CLIENT - REMAP DRIVE
	AX = 0002h
	BH = local drive number
	BL = remote drive number
Return: CF clear if successful
	CF set on error
SeeAlso: AX=0000h,AX=0003h,AX=0004h,INT 21/AX=5F03h,INT 21/AX=5F05h"STARLITE"

Top
600003 - INT 60 - RIFS - CLIENT - UNMAP DRIVE
INT 60 - RIFS - CLIENT - UNMAP DRIVE
	AX = 0003h
	BL = drive to unmap
Return: CF clear if successful
	CF set on error
SeeAlso: AX=0000h,AX=0002h,AX=0004h,INT 21/AX=5F04h,INT 21/AX=5F06h"STARLITE"

Top
600004 - INT 60 - RIFS - CLIENT - UNMAP ALL DRIVES
INT 60 - RIFS - CLIENT - UNMAP ALL DRIVES
	AX = 0004h
Return: CF clear if successful
	CF set on error
SeeAlso: AX=0000h,AX=0002h,AX=0003h

Top
600005 - INT 60 - RIFS - CLIENT - GET TRANSLATION TABLE
INT 60 - RIFS - CLIENT - GET TRANSLATION TABLE
	AX = 0005h
Return: CF clear if successful
	    ES:BX -> translation table
	CF set on error
SeeAlso: AX=0000h,AX=0006h,AX=0007h

Top
600006 - INT 60 - RIFS - CLIENT - GET STATISTICS TABLE
INT 60 - RIFS - CLIENT - GET STATISTICS TABLE
	AX = 0006h
Return: CF clear if successful
	    ES:BX -> statistics table
	CF set on error
SeeAlso: AX=0000h,AX=0005h,AX=0007h,AX=000Ah

Top
600007 - INT 60 - RIFS - CLIENT - GET PORT TRANSLATION TABLE
INT 60 - RIFS - CLIENT - GET PORT TRANSLATION TABLE
	AX = 0007h
Return: CF clear if successful
	    CX = number of entries
	    ES:BX -> port mapping table
	CF set on error
SeeAlso: AX=0000h,AX=0005h

Top
600008 - INT 60 - RIFS - SERVER - INSTALLATION CHECK
INT 60 - RIFS - SERVER - INSTALLATION CHECK
	AX = 0008h
Return: CF clear if successful
	CF set on error
InstallCheck:	test for the signature "RIFS" immediately preceding the
	  interrupt handler
Range:	INT 60 to INT 66 and INT 18,selected by scanning for 0000h:0000h vector
SeeAlso: AX=0000h,AX=0009h,AX=000Ah,AX=000Bh

Top
600009 - INT 60 - RIFS - SERVER - UNINSTALL
INT 60 - RIFS - SERVER - UNINSTALL
	AX = 0009h
Return: CF clear if successful
	CF set on error
SeeAlso: AX=0001h,AX=0008h

Top
60000A - INT 60 - RIFS - SERVER - GET STATISTICS TABLE
INT 60 - RIFS - SERVER - GET STATISTICS TABLE
	AX = 000Ah
Return: CF clear if successful
	    ES:BX -> statistics table
	CF set on error
SeeAlso: AX=0006h,AX=0008h,AX=0009h,AX=000Bh

Top
60000B - INT 60 - RIFS - SERVER - RESET
INT 60 - RIFS - SERVER - RESET
	AX = 000Bh
Return: CF clear if successful
	CF set on error
Note:	closes all open files
SeeAlso: AX=0008h,AX=0009h

Top
6001 - INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
	AH = 01h
	DS:SI -> password or a null byte
Return: AX = return code
	    FFFEh password is invalid
	    FFFDh display mode is invalid
	    else successful
		ES:DI point to the help registers of MDEBUG
	       ES:DI-02h  -> R0 (WORD)
	       ES:DI	  -> R1 (WORD)
	       ES:DI+02h  -> R2 (WORD)
	       ES:DI+04h  -> R3 (WORD)
	       ...
	       ES:DI+0Eh  -> R8 (WORD)

Top
6001 - INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
	AH = 01h
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=00h"SYS_PROF",AH=02h"SYS_PROF"

Top
6001FF - INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO
INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO
	AX = 01FFh
	BX = handle returned by function 02h
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful
	    BX = version
	    CH = network interface class (see #03306)
	    DX = interface type (see #03306)
	    CL = number
	    DS:SI -> name
	    AL = driver functions supported
		01h basic
		02h basic and extended
		05h basic and high-performance
		06h basic, high-performance, and extended
		FFh not installed
Note:	the handle in BX is optional for drivers written to v1.07 or later of
	  the packet driver specification

(Table 03305)
Values for Packet Driver error code:
 01h "BAD_HANDLE"	invalid handle number
 02h "NO_CLASS"		no interfaces of the specified class found
 03h "NO_TYPE"		no interfaces of the specified type found
 04h "NO_NUMBER"	no interfaces of the specified number found
 05h "BAD_TYPE"		bad packet type
 06h "NO_MULTICAST"	interface does not support multicast messages
 07h "CANT_TERMINATE"	this packet driver cannot terminate
 08h "BAD_MODE"		invalid receiver mode
 09h "NO_SPACE"		insufficient space
 0Ah "TYPE_INUSE"	type accessed but never released
 0Bh "BAD_COMMAND"	bad command
 0Ch "CANT_SEND"	packet could not be sent
 0Dh "CANT_SET"		hardware address could not be changed
 0Eh "BAD_ADDRESS"	hardware address has a bad length or format
 0Fh "CANT_RESET"	could not reset interface

(Table 03306)
Values for Packet Driver network interface classes/types:
    Class 01h  Ethernet/IEEE 802.3
	01h 3COM 3C500/3C501
	02h 3COM 3C505
	03h MICOM-Interlan NI5010
	04h BICC Data Networks 4110
	05h BICC Data Networks 4117
	06h MICOM-Interlan NP600
	08h Ungermann-Bass PC-NIC
	09h Univation NC-516
	0Ah TRW PC-2000
	0Bh MICOM-Interlan NI5210
	0Ch 3COM 3C503
	0Dh 3COM 3C523
	0Eh Western Digital WD8003
	0Fh Spider Systems S4
	10h Torus Frame Level
	11h 10Net Communications
	12h Gateway PC-bus
	13h Gateway AT-bus
	14h Gateway MCA-bus
	15h IMC PCnic
	16h IMC PCnic II
	17h IMC PCnic 8-bit
	18h Tigan Communications
	19h Micromatic Research
	1Ah Clarkson "Multiplexor"
	1Bh D-Link 8-bit
	1Ch D-Link 16-bit
	1Dh D-Link PS/2
	1Eh Research Machines 8
	1Fh Research Machines 16
	20h Research Machines MCA
	21h Radix Microsystems EXM1 16-bit
	22h Interlan Ni9210
	23h Interlan Ni6510
	24h Vestra LANMASTER 16-bit
	25h Vestra LANMASTER 8-bit
	26h Allied Telesis PC/XT/AT
	27h Allied Telesis NEC PC-98
	28h Allied Telesis Fujitsu FMR
	29h Ungermann-Bass NIC/PS2
	2Ah Tiara LANCard/E AT
	2Bh Tiara LANCard/E MC
	2Ch Tiara LANCard/E TP
	2Dh Spider Communications SpiderComm 8
	2Eh Spider Communications SpiderComm 16
	2Fh AT&T Starlan NAU
	30h AT&T Starlan-10 NAU
	31h AT&T Ethernet NAU
	32h Intel smart card
	33h Xircom Packet Adapter
	34h Aquila Ethernet
	35h Novell NE1000
	36h Novell NE2000
	37h SMC PC-510
	38h AT&T Fiber NAU
	39h NDIS to Packet Driver adapter
	3Ah Racal-InterLan ES3210
	3Bh General Systems ISDN simulated Ethernet
	3Ch Hewlett-Packard
	3Dh IMC EtherNic-8
	3Eh IMC EtherNic-16
	3Fh IMC EtherNic-MCA
	40h NetWorth EtherNext
	41h Dataco Scanet
	42h DEC DEPCA
	43h C-Net
	44h Gandalf LANLine
	45h Apricot built-in
	46h David Systems Ether-T
	47h ODI to Packet Driver adapter (see also INT 2F/AX=5100h)
	48h AMD Am21110-16
	49h Intel ICD Network controller family
	4Ah Intel ICD PCL2
	4Bh Intel ICD PCL2A
	4Ch AT&T LANPacer
	4Dh AT&T LANPacer+
	4Eh AT&T EVB
	4Fh AT&T StarStation
	50h SLIP simulated ethernet
	51h Racal-Interlan NIA310
	52h Racal-Interlan NISE
	53h Racal-Interlan NISE30
	54h Racal-Interlan NI6610
	55h Ethernet over IP/UDP
	56h ICL EtherTeam 16
	57h David Systems
	58h NCR WaveLAN
	59h Thomas Contrad TC5045
	5Ah Russ Nelson's Parallel Port driver
	5Bh Intell EtherExpress 16
	5Ch IBMTOKEN
	5Dh Zenith Z-Note
	5Eh 3Com 3C509
	5Fh Mylex LNE390
	60h Madge Smart Ringnode
	61h Novell NE2100
	62h Allied Telesis 1500
	63h Allied Telesis 1700
	64h Fujitsu EtherCoupler
    Class 02h  ProNET-10
	01h Proteon p1300
	02h Proteon p1800
    Class 03h  IEEE 802.5/ProNet-4 (without expanded RIFs)
	01h IBM Token-Ring Adapter
	02h Proteon p1340
	03h Proteon p1344
	04h Gateway PC-bus
	05h Gateway AT-bus
	06h Gateway MCA-bus
	07h Madge board
	39h NDIS to Packet Driver adapter
	47h ODI to Packet Driver adapter
    Class 04h  Omninet
    Class 05h  Appletalk
	01h ATALK.SYS adapter
    Class 06h  Serial Line
	01h Clarkson 8250-SLIP
	02h Clarkson "Multiplexor"
	03h Eicon Technologies
    Class 07h  StarLAN (subsumed by Ethernet class)
    Class 08h  ARCnet
	01h Datapoint RIM
    Class 09h  AX.25
	01h Ottawa PI card
	02h Eicon Technologies
    Class 0Ah  KISS
    Class 0Bh  IEEE 802.3 with 802.2 headers
	types same as for class 01h
    Class 0Ch  FDDI with 802.2 headers
	01h Western Digital
	02h Frontier Technology
    Class 0Dh  Internet X.25
	01h Western Digital
	02h Frontier Technology
	03h Emerging Technologies
	04h The Software Forge
	05h Link Data Intelligent X.25
	06h Eicon Technologies
    Class 0Eh  N.T. LANSTAR (encapsulating DIX Ethernet)
	01h NT LANSTAR/8
	02h NT LANSTAR/MC
    Class 0Fh  SLFP (MIT serial specification)
	01h MERIT
    Class 10h  PPP (Point-to-Point Protocol)
	01h 8250/16550 UART
	02h Niwot Networks synch
	03h Eicon Technologies
    Class 11h  802.5 with expanded RIFs
	types same as for class 3
    Class 12h  reserved for LCP/NCPs
Note: class and type numbers are cleared through FTP Software

Top
6002 - INT 60 - MDEBUG - SET STATUS
INT 60 - MDEBUG - SET STATUS
	AH = 02h
	DS:SI -> password or a null byte
	ES = new value for the register SE
	DI = new value for the register OF
	CH = new monitor color if nonzero
	CL = new interpreter color if nonzero
	BH = new monitor start line if nonzero
	BL = new interpreter start line if nonzero
	AL = new ASCII code for the hotkey ('A'..'Z', 'a'..'z') if nonzero
	DL = new status of the special keys (SHIFT, ALT, CTRL) for the hotkey
	      if nonzero
	DH = if nonzero, new basic process number for communication with the
	      drivers (DH = multiplex number for the display driver,
	      DH+1 = multiplex number for the command driver or drivers)
Return: AX = return code
	    FFFFh call not allowed
	    FFFEh password is invalid
	    FFFDh display mode is invalid
	    0000h successful, status changed
	    else AL = error reasons (see #03307)
Note:	the values of the registers SE and OF are always changed, the other
	  values are only changed if they are valid
SeeAlso: AH=00h"MDEBUG"
Index:	hotkeys;MDEBUG

Bitfields for MDEBUG error reasons:
Bit(s)	Description	(Table 03307)
 0	invalid monitor start line
 1	invalid interpreter start line
 2	invalid hotkey
 3	invalid process number
 4-7	reserved

Top
6002 - INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE
INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE
	AH = 02h
	AL = interface class
	BX = interface type
	DL = interface number
	DS:SI -> type
	CX = length of type (0000h for all packets)
	ES:DI -> receiver function (see #03308)
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful
	    AX = handle
SeeAlso: AH=03h"FTP"

(Table 03308)
Values packet driver receiver is called with when a packet is received:
	AX = subfunction
	    00h get packet buffer
		CX = buffer length
		DX = lookahead length (v1.10+)
		DS:SI -> lookahead buffer if DX nonzero (v1.10+)
		DI = error flags (class dependent) (v1.10+)
		Return: ES:DI -> packet buffer
				0000h:0000h means throw away packet
			CX = size of buffer (v1.10+), may be smaller than
			      incoming data
	    01h copy completed
		DS:SI -> buffer
		CX = bytes actually copied (v1.10+)
	BX = handle

Top
6002 - INT 60 - SYS_PROF.EXE - TURN PROFILING ON
INT 60 - SYS_PROF.EXE - TURN PROFILING ON
	AH = 02h
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=00h"SYS_PROF",AH=01h"SYS_PROF"

Top
6003 - INT 60 - MDEBUG - POP UP
INT 60 - MDEBUG - POP UP
	AH = 03h
	DS:SI -> password or a null byte
	ES -> new value for the register SE
	DI -> new value for the register OF
Return: AX = return code (see #03309)
SeeAlso: AH=04h"MDEBUG"

(Table 03309)
Values for MDEBUG return code:
 FFFFh	call not allowed
 FFFEh	password is invalid
 FFFDh	display mode is invalid
 else	successful

Top
6003 - INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE
INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE
	AH = 03h
	BX = handle
Return: CF set on error
	   DH = error code (see #03305)
	CF clear if successful
SeeAlso: AH=02h"FTP"

Top
6003 - INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
	AH = 03h
Return: ES:BX -> profiling table
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=04h"SYS_PROF"

Top
6004 - INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET
INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET
	AH = 04h
	DS:SI -> buffer
	CX = length
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful
Note:	the buffer may be modified immediately upon return from this call
SeeAlso: AH=0Bh

Top
6004 - INT 60 - MDEBUG - POP UP
INT 60 - MDEBUG - POP UP
	AH = 04h
	DS:SI -> password or a null byte
Return: AX = return code (see #03309)
SeeAlso: AH=03h"MDEBUG",AH=07h"MDEBUG"

Top
6004 - INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
	AH = 04h
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=03h"SYS_PROF"

Top
6005 - INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
	AH = 05h
	BX = handle (optional for v1.10+)
Return: CF set on error
	   DH = error code (see #03305)
	CF clear if successful

Top
6005 - INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
	AH = 05h
	DS:SI -> password or a null byte
	BL = new value for the semaphor of MDEBUG
	     00h  enable popup of MDEBUG
	     else disable popup of MDEBUG
Return: AX = return code
	    FFFEh password is invalid
	    FFFDh display mode is invalid
	    else successful
		BL = old value of the semaphor of MDEBUG
		BH = old value of the INT 08h semaphor
		    (this semaphor is always reset after this function)

Top
6006 - INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS
INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS
	AH = 06h
	BX = handle (optional for v1.10+)
	ES:DI -> buffer
	CX = length
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful
	    CX = length
Note:	copies the local net address associated with the handle into the buffer

Top
6006 - INT 60 - MDEBUG - GET PASSWORD STATUS
INT 60 - MDEBUG - GET PASSWORD STATUS
	AH = 06h
Return: AL = status
	    00h password inactive
	    01h password active

Top
6007 - INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE
INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE
	AH = 07h
	BX = handle (optional for v1.10+)
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful

Top
6007 - INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
	AH = 07h
Return: AL = active part for the next popup session of MDEBUG:
	    bit 0: the next popup session will start in the interpreter rather
		  than in the monitor
	    bit 1: the next popup session will sart in the online-help
SeeAlso: AH=03h"MDEBUG",AH=04h"MDEBUG"

Top
6008 - INT 60 - MDEBUG - UNUSED
INT 60 - MDEBUG - UNUSED
	AH = 08h-FFh
Return: AX = FFFCh

Top
600A - INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS
INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS
	AH = 0Ah
Return: CF set on error
	    DH = error code (0Bh) (see #03305)
	CF clear if successful
	    ES:DI -> parameter table (see #03310)

Format of packet driver parameter table:
Offset	Size	Description	(Table 03310)
 00h	BYTE	major revision of packet driver spec driver conforms to
 01h	BYTE	minor revision of packet driver spec
 02h	BYTE	length of this structure in bytes
 03h	BYTE	length of a MAC-layer address
 04h	WORD	maximum transfer unit, including MAC headers
 06h	WORD	buffer size for multicast addr
 08h	WORD	number of receive buffers (one less than back-to-back MTU rcvs)
 0Ah	WORD	number of transmit buffers
 0Ch	WORD	interrupt number to hook for post-EOI processing, 00h=none

Top
600B - INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
	AH = 0Bh
	DS:SI -> buffer
	CX = length of buffer
	ES:DI -> FAR function to call when buffer becomes available (see #03311)
Return: CF set on error
	    DH = error code (0Bh,0Ch) (see #03305)
	CF clear if successful
Notes:	unlike function 04h, the buffer is not available for modification as
	  soon as the call returns; the buffer may be queued by the driver and
	  not processed until later
	this function has been dropped from v1.10+ of the specification and
	  replaced by function 0Ch
SeeAlso: AH=04h"Packet Driver",AH=0Ch"Packet Driver"

(Table 03311)
Values packet driver completion function is called with:
	AX = result
	    00h copy OK
	    nonzero error
	ES:DI -> buffer passed to INT 60/AH=0Bh call

Top
600C - INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
	AH = 0Ch
	ES:DI -> pointer to IOCB (see #03312)
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful
SeeAlso: AH=04h"Packet Driver",AH=0Bh"Packet Driver"

Format of packet driver IOCB:
Offset	Size	Description	(Table 03312)
 00h	DWORD	pointer to buffer
 04h	WORD	length of buffer
 06h	BYTE	flags
		bit 0: packet driver is finished with IOCB
		bit 1: application requests upcall when driver completes
 07h	DWORD	function address for upcall (see #03313)
 0Bh  4 BYTEs	future gather write
 0Fh	BYTE	???
 10h  8 BYTEs	private driver workspace

(Table 03313)
Values completion function is called with:
	ES:DI -> IOCB passed to INT 60/AH=0Ch

Top
600C - INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
	AH = 0Ch
Return: AL = status
	    00h successful
		ES:SI -> 6-byte station address
	    02h semaphore service is unavailable

Top
600D - INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE
INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE
	AH = 0Dh
	ES:DI -> IOCB
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful
SeeAlso: AH=0Ch"Packet Driver"

Top
6011 - INT 60 - 3com, 10NET, Banyan VINES - LOCK AND WAIT
INT 60 - 3com, 10NET, Banyan VINES - LOCK AND WAIT
	AH = 11h
	AL = drive number or 0
	DX = number of seconds to wait
	ES:SI = Ethernet address or 0
	DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see #03314)
SeeAlso: AH=12h,AH=13h

(Table 03314)
Values for 3com semaphore status:
 00h	successful
 01h	timeout
 02h	server not responding
 03h	invalid semaphore name
 04h	semaphore list is full
 05h	invalid drive ID
 06h	invalid Ethernet address
 07h	not logged in
 08h	write to network failed
 09h	semaphore already logged for this CPU

Top
6012 - INT 60 - 3com, 10NET, Banyan VINES - LOCK
INT 60 - 3com, 10NET, Banyan VINES - LOCK
	AH = 12h
	AL = drive number or 00h
	ES:SI = Ethernet address or 0000h:0000h
	DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see also #03314)
	    01h semaphore currently locked by another PC
Note:	unlike function 11h, this function returns immediately
SeeAlso: AH=11h,AH=13h

Top
6013 - INT 60 - 3com, 10NET, Banyan VINES - UNLOCK
INT 60 - 3com, 10NET, Banyan VINES - UNLOCK
	AH = 13h
	AL = drive number or 00h
	ES:SI = Ethernet address or 0000h:0000h
	DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see also #03314)
	    01h semaphore not locked
SeeAlso: AH=11h,AH=12h

Top
6014 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE
INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE
	AH = 14h
	BX = handle (optional for v1.10+)
	CX = mode (see #03315)
Return: CF set on error
	   DH = error code (01h,08h) (see #03305)
	CF clear if successful
SeeAlso: AH=15h

(Table 03315)
Values for packet driver receive mode:
 01h	turn off receiver
 02h	receive only packets sent to this interface
 03h	mode 2 plus broadcast packets
 04h	mode 3 plus limited multicast packets
 05h	mode 3 plus all multicast packets
 06h	all packets
 07h	raw mode for serial line only (v1.10+)

Top
6015 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE
INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE
	AH = 15h
	BX = handle (optional for v1.10+)
Return: CF set on error
	    DH = error code (01h) (see #03305)
	CF clear if successful
	    AX = receive mode (see #03315)
SeeAlso: AH=14h

Top
6016 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST
INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST
	AH = 16h
	ES:DI -> multicast list
	CX = length of list in bytes
Return: CF set on error
	    DH = error code (06h,09h,0Eh) (see #03305)
	CF clear if successful
SeeAlso: AH=17h

Top
6017 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST
INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST
	AH = 17h
Return: CF set on error
	    DH = error code (06h,09h) (see #03305 at AX=01FFh)
	CF clear if successful
	    ES:DI -> multicast addresses (do not modify)
	    CX = bytes of multicast addresses currently in use
SeeAlso: AH=16h

Top
6018 - INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS
INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS
	AH = 18h
	BX = handle (optional for v1.10+)
Return: CF set on error
	    DH = error code (01h) (see #03305)
	CF clear if successful
	    DS:SI -> statistics (see #03316)

Format of packet driver statistics:
Offset	Size	Description	(Table 03316)
 00h	DWORD	packets in
 04h	DWORD	packets out
 08h	DWORD	bytes in
 0Ch	DWORD	bytes out
 10h	DWORD	errors in
 14h	DWORD	errors out
 18h	DWORD	packets dropped

Top
6019 - INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS
INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS
	AH = 19h
	ES:DI -> address
	CX = length of address
Return: CF set on error
	    DH = error code (0Dh,0Eh) (see #03305)
	CF clear if successful
	    CX = length

Top
601A - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES
INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES
	AH = 1Ah
	DS:SI -> buffer
	CX = length of buffer
Return: CF set on error
	    DH = error code (see #03305 at AX=01FFh)
	CF clear if successful
SeeAlso: AH=1Ch

Top
601B - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED
INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED
	AH = 1Bh
Return: CF set on error
	    DH = error code (see #03305)
	CF clear if successful
SeeAlso: AH=1Ch

Top
601C - INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED
INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED
	AH = 1Ch
	DS:SI -> buffer
	CX = length of buffer
	DX = timeout in clock ticks
Return: CF set on error
	    DH = error code (see #03305 at AX=01FFh)
	CF clear if successful
	    CX = number of bytes transferred to buffer
SeeAlso: AH=1Ah,AH=1Bh

Top
60899B - INT 60 U - Agfa TTSR.EXE - API
INT 60 U - Agfa TTSR.EXE - API
	AX = 899Bh
	BX = function
	    0001h installation check
		Return: BX = 899Bh if installed
	    0002h ???
	    0003h ???
	???
Return: ???
Note:	TTSR.EXE is found in FotoLook 2.09 (16-bit), which is available from
	  agfa.com; it appears to provide DOS ASPI support
!!!

Top
60AD - INT 60 - AccessDOS - API
INT 60 - AccessDOS - API
	AH = ADh
	AL = function
	    E1h ???
		Return: AX = ???
	    E2h get configuration
		Return: BX:AX -> configuration data
Program: AccessDOS is a public domain TSR developed at The Trace Research and
	  Development Center which provides extensions for keyboard, mouse,
	  and sound access by the visually, hearing, or motor-control
	  impaired.
InstallCheck:	test for the signature "ACCESSv1.00" beginning three bytes
	  past the start of the interrupt handler (this same signature is also
	  present in v1.10)
Range:	INT 60 to INT 66, selected by scanning for 0000h:0000h vector

Top
60E9 - INT 60 - FTP Packet Driver - Crynwr Software - AUTOSELECT TRANSCEIVER
INT 60 - FTP Packet Driver - Crynwr Software - AUTOSELECT TRANSCEIVER
	AH = E9h
	???
Return: ???

Top
61 - INT 61 - reserved for user interrupt
INT 61 - reserved for user interrupt

Top
61 - INT 61 - Atari Portfolio - EXTENDED BIOS
INT 61 - Atari Portfolio - EXTENDED BIOS
Desc:	provides subfunctions such as turning off the machine, accessing
	  internal variables, and mapping memory cards
SeeAlso: INT 60"Atari",AH=00h"Portfolio",AH=08h"Portfolio",AH=0Dh"Portfolio"
SeeAlso: AH=11h"Portfolio",AH=15h"Portfolio",AH=19h"Portfolio"
SeeAlso: AH=1Bh"Portfolio",AH=24h"Portfolio",AH=2Ch"Portfolio"
SeeAlso: AH=30h"Portfolio"

Top
61 - INT 61 - TI Professional PC - FACTORY ROM DATA AREA POINTER (NOT A VECTOR!)
INT 61 - TI Professional PC - FACTORY ROM DATA AREA POINTER (NOT A VECTOR!)
Desc:	the low word of this vector contains the segment of the RAM data area
	  to be used by the expansion ROM at F400h:0000h, and the high word
	  contains the length of the data area; this segment and size are
	  both set to 0000h if no ROM is installed at F400h:0000h
SeeAlso: INT 60"TI Professional PC",INT 62"TI Professional"
SeeAlso: INT 66"TI Professional PC"

Top
61 - INT 61 - HP 95LX System Manager - LOAD DS
INT 61 - HP 95LX System Manager - LOAD DS
SeeAlso: INT 0F"HP 95LX",INT 60/DI=0102h"HP 95LX"

Top
61 - INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
SeeAlso: INT 60"JPI"

Top
61 - INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
Desc:	this vector stores the second four bytes of the parameter table for
	  hard disk 0
SeeAlso: INT 60"Adaptec",INT 62"Adaptec",INT 63"Adaptec"

Top
61 - INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
	BX:DX -> control block
SeeAlso: INT 67"Sangoma"

Top
61 - INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
Note:	the virus copies the original INT 21h vector into INT 61h
SeeAlso: INT 21/AH=00h,INT 21/AH=25h,INT 60"VIRUS",INT 6B"VIRUS"

Top
61 - INT 61 - PC-Magazin - PAGE, SWAPx
INT 61 - PC-Magazin - PAGE, SWAPx
	details not yet available
Program: PAGE and SWAPx are utilities from PC-Magazin, the German edition of
	  PC Magazine, issue 47/85, page 31
SeeAlso: INT 66"INCA"

Top
61 - INT 61 - TCPOpen kernel - API
INT 61 - TCPOpen kernel - API
	ES:BX -> request packet (see #03317)
Program: TCPOpen is a TCP/IP protocol stack by Lanera
Range:	INT 60 to INT 7F, selected by configuration file
Note:	there does not appear to be an installation check, though function
	  FFFFh can be used to verify that the software is indeed functioning

Format of TCPOpen request packet:
Offset	Size	Description	(Table 03317)
 00h  8 BYTEs	???
 08h	WORD	function number (0000h-001Ah or FFF9h-FFFFh)
 0Ah	WORD	???
 0Ch  2 BYTEs	???
 0Eh	WORD	(ret) return code
 10h  2 BYTEs	???
 12h	WORD	???
 14h	WORD	(ret) 0001h if requested function complete
 16h	WORD	(ret) ???
 18h  6 BYTEs	???
 1Eh	DWORD	-> ???
 22h	WORD	??? or 0000h
 24h	WORD	(ret) ???
SeeAlso: #03318

(Table 03318)
Call TCPOpen Function FFFFh: installation verification
Return: offset 10h = BEEFh
	offset 14h = 0001h
	offset 24h = ???
Index:	installation check;TCPOpen kernel

Top
61 - INT 61 - XFS v1.76 - XFSKRNL.EXE - API
INT 61 - XFS v1.76 - XFSKRNL.EXE - API
	AX = function
	    8000h installation check???
		Return: AX = 0000h
	    8001h ???
		ES:DI -> DWORD ???
		Return: AX = status???
	    8002h ???
		BX = ???
		CX = ???
		ES:DI -> ???
		Return: AX = status???
	    8003h ???
		BX = ???
		CX = ???
		ES:DI -> ???
		Return: AX = status???
	    8004h ???
		BX = ???
		Return: AX = status???
	    8005h wait until ???
		Return: DX:AX = ???
	    8006h get ???
		Return: DX:AX -> ??? record
	    8007h set IP address??? (or htonl/ntohl)
		DX:BX = IP address???
		Return: DX:AX = byte-swapped IP address
	    8008h set IP address??? (or htonl/ntohl)
		DX:AX = IP address???
		Return: DX:AX = byte-swapped IP address
	    8009h ???
		ES:DI -> ???
		Return: DX:AX = ???
	    800Ah ???
	    800Bh ???
		Return: DX:AX = ???
	    800Ch ???
	    800Dh ???
	    800Eh ???
	    800Fh ???
	    8010h get ??? record
		Return: DX:AX -> ??? record
	    8011h ???
	    8012h ???
		BX = ???
		Return: DX:AX = ???
	    8013h get ??? record
		Return: DX:AX -> ??? record
	    8014h ???
		ES:DI -> ???
		Return: nothing
	    8015h get ??? record
		Return: DX:AX -> 8-byte ??? record
	    8016h get ??? record
		Return: DX:AX -> 6-byte ??? record
	    8017h ???
		ES:DI -> ???
		Return: DX:AX = ???
	    8018h get ??? record
		Return: DX:AX -> ??? record
	    8019h get ??? record
		Return: DX:AX -> 14-byte ??? record
	    801Ah get ??? record
		Return: DX:AX -> ??? record (max 98 bytes)
	    801Bh get ??? record
		Return: DX:AX -> ??? record
	    801Ch ???
		Return: nothing
	    801Dh get ???
		Return: AL = ???
	    801Eh ???
		Return: AX = ???
	    801Fh uninstall
		Return: AX = status
			    0000h successful
			    other interrupt which could not be released
	AX = other
		Return: AX:BX = ??? (0000h:0000h by default)
Program: XFS is a shareware Network File System client by Robert Juhasz
Range:	INT 60 to INT 65, selected by scanning for two consecutive free
	  vectors and hooking the first
SeeAlso: INT 62"XFS"

Top
61 - INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
	AH = system call number (also see entries below)
	    01h "pkt_alloc" (v2.05; this is "net_config" in v2.1+)
	    02h "pkt_free" (v2.05; this is "get_kernel_info" in v2.1+)
Return: CF clear if successful
	CF set on error
	    AL = basic error (see #03319)
	    AH = suberror number (see #03320,#03321)
InstallCheck:	test for the signature "TCPTSR" three bytes beyond the start
	  of the interrupt handler
Range:	INT 20h to INT E0h, selected by configuration
BUG:	the SLIP kernel for v2.05 bounds-checks the wrong register, so values
	  greater than 54h in AH may crash the system.	Other kernels may have
	  this bug as well.
SeeAlso: INT 61/AH=00h"PC/TCP",INT 61/AH=2Ah,INT 61/AH=54h
Index:	installation check;PC/TCP

(Table 03319)
Values for PC/TCP error code:
 00h "NET_NOERR" successful
 01h "NET_ERR_INUSE" protocol or socket already in use
 02h "NET_DOS_ERR" MS-DOS error (returned as suberror code in AH)
 03h "NET_ERR_NOMEM" out of memory
 04h "NET_ERR_NOTNETCONN" not a network descriptor
 05h "NET_ERR_ILLEGALOP" invalid operation on given kind of network descriptor
 06h "NET_ERR_BADPKT" illegal or corrupted packet
 07h "NET_ERR_NOHOST" no host bound to specified connection
 08h "NET_ERR_CANTOPEN" unable to open file
 09h "NET_ERR_NET_UNREACHABLE" network is unreachable
 0Ah "NET_ERR_HOST_UNREACHABLE" host is unreachable (see #03320)
 0Bh "NET_ERR_PROT_UNREACHABLE" protocol is unreachable
 0Ch "NET_ERR_PORT_UNREACHABLE" port is unreachable
 0Dh "NET_ERR_TIMEOUT" operation timed out
 0Eh "NET_ERR_HOSTUNKNOWN" unable to resolve host name
 0Fh "NET_ERR_NOSERVERS" no name servers configured
 10h "NET_ERR_SERVER_ERR" bad reply from name server
	Subcodes: 0= no error, 1 = Host unreachable
 11h "NET_ERR_BADFORMAT" bad format for IP address or field in IP address
			structure is zero
 12h "NET_ERR_BADARG" invalid argument
 13h "NET_ERR_EOF" foreign host closed its end of connection
 14h "NET_ERR_RESET" connection has been reset
 15h "NET_ERR_WOULDBLOCK" recv() call was done on a non-blocking connection
			with no data available
 16h "NET_ERR_UNBOUND" insufficient resources to do operation
 17h "NET_ERR_NODESC" could not allocate network descriptor
 18h "NET_ERR_BADSYSCALL" invalid/unsupported kernel call
 19h "NET_ERR_CANTBROADCAST" unable to broadcast
 1Ah "NET_ERR_NOTESTAB" operation illegal because connection not established
 1Bh kernel busy, try again later
 1Ch "NET_ERR_ICMPMESG" an ICMP message was received (not on streams)
	(see #03321)
---v2.1+---
 1Dh "NET_ERR_TERMINATING" internal kernel fatal error
 1Eh "NET_ERR_TAG_LOCKED" not allowed to set this tag (net_config)
 1Fh "NET_ERR_BAD_INTERFACE" non existent interface specified
 20h "NET_ERR_BADCONFIG" kernel cannot run - bad configuration
 21h "NET_ERR_EMM" expanded memory error
 22h "NET_ERR_CANT_SHUTDOWN" cant unload kernel (multitasker running)
 23h "NET_ERR_PARKED_IN" unable to unhook DOS interrupt
 24h "NET_ERR_NOQIOS" ran out of resources; try again later
 25h "NET_ERR_WOULD_TRUNCATE" datagram too large and "don't truncate" was set

(Table 03320)
Values for subcodes of PC/TCP error 0Ah "NET_ERR_HOST_UNREACHABLE":
 00h	no error
 01h	host unreachable
 02h	ARP failed
 03h	hardware failure
 04h	link failure
 05h	no route
 06h	gateway down
SeeAlso: #03319,#03321

(Table 03321)
Values for subcodes of PC/TCP error 1Ch "NET_ERR_ICMPMESG":
 07h	unrecognised
 08h	can't fragment
 09h	srcr_fail
 0Ah	source quench
 0Bh	time exceeded
 0Ch	parameter problem
 0Dh	admin_prohib. see also code 0Ah
SeeAlso: #03319,#03320

Top
6100 - INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
	AH = 00h
	DS:SI -> 216-byte buffer for network debugging information (see #03322)
Return: CF clear
	AX = 0000h
	buffer filled
Notes:	this call is not documented by FTP, Inc. for any version
	most of the information returned by this call is available via the
	  documented get_kernel_info or net_info commands.
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=2Ah"PC/TCP"

Format of network debugging information:
Offset	Size	Description	(Table 03322)
 00h	DWORD	number of interrupts
 04h	DWORD	receive buffer low-water mark
 08h	DWORD	transmit buffer low-water mark
 0Ch	DWORD	number of packets received
 10h	DWORD	number of packets transmitted
 14h	DWORD	total receive errors
 18h	DWORD	total transmit errors
 1Ch  4 BYTEs	???
 20h	DWORD	receive resets
 24h	DWORD	transmit resets
 28h	DWORD	number of "runts" received
 2Ch	DWORD	number of alignment errors on received packets
 30h	DWORD	number of CRC errors on received packets
 34h	DWORD	number of parity errors on received packets
 38h	DWORD	number of receive overflow errors
 3Ch	DWORD	number of oversized packets received
 40h	DWORD	number of packets lost due to lack of buffers
 44h	DWORD	receive timeouts
 48h 32 BYTEs	???
 68h	DWORD	number of transmit collisions
 6Ch	DWORD	number of transmit timeouts
 70h	DWORD	number of transmit underflows
 74h	DWORD	number of lost "crs" on transmit
 78h	DWORD	number of times heartbeat failed on transmit
 7Ch 24 BYTEs	???
 94h	WORD	free packet buffers
 96h	WORD	total packet buffers
 98h	WORD	minimum number of packet buffers free since kernel started
 9Ah 24 BYTEs	???
 B2h	DWORD	pointer to TCP connection list???
 B6h	DWORD	pointer to IP routing table???
 BAh 30 BYTEs	???

Top
6100 - INT 61 - Banyan VINES - CALL A SERVICE
INT 61 - Banyan VINES - CALL A SERVICE
	AH = 00h
	AL = service ID (1..16)
	other registers vary by service
Return: AX = status (see #03325)
Desc:	Calls an adapter driver or redirector service. The service handler
	  pointers are stored at offset 0010h in the code segment of the
	  BANV interrupt handler (see #03323).
Note:	Banyan can use any interrupt from 60h through 66h.  The Banyan
	  interrupt handler is identified by the string "BANV" in the four
	  bytes immediately preceding the interrupt handler
SeeAlso: AH=01h,AH=03h

Format of the BANV code segment (revision 5.53):
Offset	Size	Description	(Table 03323)
 00h 16	BYTEs	reserved
 10h 16	DWORDs	far pointers to the service handlers (0 = not installed)
 50h	DWORD	far pointer to last called service
 54h	WORD	VINES revision
 56h	DWORD	VINES revision long
 5Ah	WORD	VINES revision (lower bound)
 5Ch	DWORD	VINES revision (lower bound) long
 60h	WORD	VINES revision (upper bound)
 62h	DWORD	VINES revision (upper bound) long
 66h	WORD	end of PCCONFIG area
 68h	WORD	start of PCCONFIG area
 6Ah  4	BYTEs	BANV interrupt identifier ("BANV")
 6Eh  N	BYTEs	BANV interrupt service
SeeAlso: #03324

Top
6100 - INT 61 - Atari Portfolio - SERVICE INITIALIZATION
INT 61 - Atari Portfolio - SERVICE INITIALIZATION
	AH = 00h
Return: nothing
Note:	applications using any Portfolio INT 61 calls should call this function
	  exactly once at startup
SeeAlso: AH=07h"Portfolio",AH=09h"Portfolio",AH=0Dh"Portfolio"
SeeAlso: AH=11h"Portfolio",AH=15h"Portfolio",AH=19h"Portfolio"
SeeAlso: AH=1Bh"Portfolio",AH=24h"Portfolio",AH=2Ch"Portfolio"
SeeAlso: AH=30h"Portfolio"

Top
610000 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
	AX = 0000h
	BX = zoom factor (0-7)
Desc:	zooms the display based on the given zoom factor
Notes:	INT 61h is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0001h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"

Top
610001DS0001 - INT 61 - Banyan VINES - INTERNAL VINES SOCKET API (NEAR DATA)
INT 61 - Banyan VINES - INTERNAL VINES SOCKET API (NEAR DATA)
	AX = 0001h
	DS = 0001h (to distinguish from alternate AX=0001h socket interface)
	CX:BX -> internal communications control block (see #03324)
	DX = caller's data segment
Return: AX = status
	    0000h successful
	    0099h invalid operation
	    00A5h resource not available
Desc:	StreetTalk access with session handles
Range:	INT 60 to INT 66
Notes:	This service is handled by the adapter driver
	The request dispatch table contains dummy entries for subfunctions
	  06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
	  (invalid operation) in the request block's result buffer
	in recent VINES releases, this interface is superseded by the AX=000Fh
	  interface, which allows FAR parameter block pointers (refer to that
	  function's entries for more details on individual subfunctions)
	some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
	  VINES 5.53) ignore the value in CX and use the value from DX instead
SeeAlso: AX=000Fh

Format of internal communications control block:
Offset	Size	Description	(Table 03324)
 00h	WORD	subfunction number
 02h	WORD	magic number (FEFEh)
 04h	WORD	(ret) result, should be set to 0 before calling
 06h	WORD	reserved (will be set to client DS)
 08h	WORD	caller's code segment if function 000Bh, 0 else
 0Ah	WORD	pointer to parameter block
 0Ch	WORD	reserved (segment of parameter block; will be set to client DS)
 0Eh	WORD	StreetTalk handle
SeeAlso: #03323,#03444 at INT 61/AX=000Fh

Top
610001SF0001 - INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
	AX = 0001h subfn 0001h
	DS:DX -> communications control block (function 0001h) (see #03326)
Return: AX = status (0000h-0002h,0098h,009Eh-00A2h) (see #03325)
Range:	INT 60h to INT 66h
Note:	The Banyan interrupt handler is identified by the string "BANV" in
	  the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0008h,INT 15/AX=DE2Eh

(Table 03325)
Values for VINES status:
 0000h	successful
 0001h	service not installed
 0002h	invalid service ID
 0003h	invalid function
 0004h-000Ah reserved for BANV interface errors
 0097h	invalid socket identifier
 0098h	resource already in use
 009Bh	destination node unreachable
 009Ch	message overflow
 009Dh	destination socket nonexistent
 009Eh	address family does not exist
 009Fh	socket type does not exist
 00A0h	protocol does not exist
 00A1h	no more sockets available
 00A2h	no more buffer space available
 00A3h	timeout
 00A5h	resource not available
 00A6h	internal communication failure
 00B1h	resource disconnect

Format of VINES control block to open socket:
Offset	Size	Description	(Table 03326)
 00h	WORD	0001h
 02h	WORD	pointer to argument block
 04h	WORD	error return code
 06h  4 BYTEs	reserved
SeeAlso: #03327

Format of VINES argument block for opening socket:
Offset	Size	Description	(Table 03327)
 00h	WORD	pointer to 2-byte buffer for socket identifier
 02h	WORD	address family
		0003h Banyan
 04h	WORD	socket type
		in address family 0003h
		    0001h IPC socket
		    0002h SPP socket
 06h	WORD	protocol number
		FFFFh default
 08h	WORD	pointer to 16-byte buffer for socket address (see #03328)
 0Ah	WORD	local port number
		0000h if service should assign transient port number
		0001h to 01FFh well-known port number (assigned by Banyan)
SeeAlso: #03326

Format of Banyan VINES IPC port:
Offset	Size	Description	(Table 03328)
 00h	WORD	address family (always 0003h for Banyan ports)
 04h  4 BYTEs	network number (server's serial number)
 06h	WORD	subnet number  (0001h = server, 8000h-FFFEh = PC)
 08h	WORD	port ID (0001h-01FFh for "well-known" ports)
 0Ah	BYTE	hop count
 0Bh  5 BYTEs	filler
SeeAlso: #03333

Top
610001SF0002 - INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
	AX = 0001h subfn 0002h
	DS:DX -> communications control block (function 0002h) (see #03329)
Return: AX = status (0000h-0002h,0097h,009Bh-009Dh,00A2h,00A3h,00B1h)
	    (see #03325)
Range:	INT 60h to INT 66h
Note:	The Banyan interrupt handler is identified by the string "BANV" in
	  the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0005h

Format of VINES control block for subfunction 0002h:
Offset	Size	Description	(Table 03329)
 00h	WORD	0002h
 02h	WORD	pointer to argument block (see #03330)
 04h	WORD	error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
		(see #03325)
 06h  4 BYTEs	reserved
SeeAlso: #03334

Format of VINES argument block for subfunction 0002h:
Offset	Size	Description	(Table 03330)
 00h	WORD	routine metric
 02h	WORD	error return code
 04h	WORD	socket identifier
 06h	WORD	pointer to send buffer (see #03332)
 08h	WORD	length of send buffer
 0Ah	WORD	message request flags (see #03331)
 0Ch 16 BYTEs	socket address (see #03333)
 1Ch	WORD	timeout value in multiples of 200ms
 1Eh	WORD	connection identifier
 20h	WORD	type of request
		0001h send message
		0002h establish a virtual connection
		0003h terminate a virtual connection
SeeAlso: #03329,#03335

Bitfields for message request flags:
Bit(s)	Description	(Table 03331)
 0	async request
 1	reliable message
 2	flush receive buffer on overflow
 3	end of user message received
 4	vectored request (if set, send buffer contains buffer descriptors)
 5	connection-specific receive
 6	change to connection-specific receive mode
SeeAlso: #03330,#03335

Format of buffer descriptor:
Offset	Size	Description	(Table 03332)
 00h	WORD	data segment
 02h	WORD	buffer pointer
 04h	WORD	buffer length
 06h	WORD	character count
SeeAlso: #03330

Format of VINES socket address for unreliable datagrams:
Offset	Size	Description	(Table 03333)
 00h	WORD	0003h	  address family
 02h	DWORD	FFFFFFFFh network number
 06h	WORD	FFFFh	  subnet number
 08h	WORD		  local port number
 0Ah	BYTE	00h-0Fh	  hop count
 0Bh  5 BYTEs	0000h	  filler
SeeAlso: #03328

Top
610001SF0003 - INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
	AX = 0001h subfn 0003h
	DS:DX -> communications control block (function 0003h) (see #03334)
Return: AX = status (00-0Ah,97h,A2h,A3h) (see #03325)
Range:	INT 60h to INT 66h
Note:	The Banyan interrupt handler is identified by the string "BANV" in
	  the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0002h

Format of VINES control block for subfunction 0003h:
Offset	Size	Description	(Table 03334)
 00h	WORD	0003h
 02h	WORD	pointer to argument block (see #03335)
 04h	WORD	error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
		(see #03325)
 06h  4 BYTEs	reserved
SeeAlso: #03329,#03335,#03337

Format of VINES argument block for subfunction 0003h:
Offset	Size	Description	(Table 03335)
 00h	WORD	character count
 02h	WORD	error return code
 04h	WORD	socket identifier
 06h	WORD	pointer to receive buffer (see #03336)
 08h	WORD	length of receive buffer
 0Ah	WORD	message request flags (see #03331)
 0Ch 16 BYTEs	socket address (see #03328)
 1Ch	WORD	timeout value in multiples of 200ms
 1Eh	WORD	connection identifier
 20h	WORD	type of response
		0001h message received
		0002h virtual connection established
		0003h virtual connection terminated
SeeAlso: #03334,#03338

Format of buffer descriptor:
Offset	Size	Description	(Table 03336)
 00h	WORD	data segment
 02h	WORD	buffer pointer
 04h	WORD	buffer length
 06h	WORD	character count
SeeAlso: #03335

Top
610001SF0004 - INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
	AX = 0001h subfn 0004h
	DS:DX -> communications control block (function 0004h) (see #03337)
Return: AX = status (0000h-000Ah,0097h) (see #03325)
Range:	INT 60h to INT 66h
Note:	The Banyan interrupt handler is identified by the string "BANV" in
	  the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0001h,INT 15/AX=DE2Eh

Format of VINES control block to close socket:
Offset	Size	Description	(Table 03337)
 00h	WORD	0004h
 02h	WORD	pointer to argument block (see #03338)
 04h	WORD	error return code (see #03325)
 06h  4 BYTEs	reserved
SeeAlso: #03334,#03340

Format of VINES argument block for closing socket:
Offset	Size	Description	(Table 03338)
 00h	WORD	socket identifier
SeeAlso: #03335,#03337,#03341

Top
610001SF0005 - INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
	AX = 0001h subfn 0005h
	DS:DX -> communications control block (see #03340)
Return: AX = status (0000h-000Ah,00A2h,00A3h) (see #03339)
Desc:	returns results for all asynchronous operations invoked from the
	  data segment used for this call
Range:	INT 60h to INT 66h
Notes:	The Banyan interrupt handler is identified by the string "BANV" in
	  the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0009h

(Table 03339)
Values for VINES function status:
 0000h	successful
 0001h	service not installed
 0002h	invalid service ID
 0003h-000Ah reserved for BANV interface errors
 00A2h	no more buffer space available
 00A3h	timeout event

Format of VINES control block for subfunction 0005h:
Offset	Size	Description	(Table 03340)
 00h	WORD	0005h
 02h	WORD	pointer to argument block (see #03341)
 04h	WORD	error return code
 06h  4 BYTEs	reserved
SeeAlso: #03337,#03342

Format of VINES argument block for subfunction 0005h:
Offset	Size	Description	(Table 03341)
 00h	WORD	pointer to WORD event pointer
 02h	WORD	timeout in multiples of 200ms, FFFFh = infinite
SeeAlso: #03338,#03340

Top
610001SF0008 - INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
	AX = 0001h subfn 0008h
	DS:DX -> communications control block (function 0008h) (see #03342)
Return: AX = status
	    0000h  successful
	    00A2h  no more buffer space available
Range:	INT 60h to INT 66h
Note:	The Banyan interrupt handler is identified by the string "BANV" in
	  the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0009h

Format of VINES control block for subfunction 0006h:
Offset	Size	Description	(Table 03342)
 00h	WORD	0008h
 02h	WORD	process type
		0001h transient process
		0002h resident process
 04h	WORD	error return code
 06h  4 BYTEs	reserved
SeeAlso: #03340,#03343

Top
610001SF000B - INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
	AX = 0001h subfn 000Bh
	DS:DX -> communications control block (function 000Bh) (see #03343)
Return: AX = status (00h-0Ah,A2h) (see #03339)
Range:	INT 60h to INT 66h
Note:	The Banyan interrupt handler is identified by the string "BANV" in
	  the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0005h,AX=0001h/SF=0008h

Format of VINES control block for subfunction 000Bh:
Offset	Size	Description	(Table 03343)
 00h	WORD	000Bh
 02h	WORD	pointer to argument block (see #03344)
 04h	WORD	error return code (see #03325)
 06h  2 BYTEs	reserved
 08h	WORD	user CS register
SeeAlso: #03342

Format of VINES argument block for subfunction 000Bh:
Offset	Size	Description	(Table 03344)
 00h	WORD	pointer to user interrupt function (see #03345)
 02h	WORD	pointer to user stack
 04h	WORD	initial timeout value in multiples of 200ms, FFFFh = infinite
SeeAlso: #03344

(Table 03345)
Values FAR user function is invoked with:
	SS = DS = ES = segment of control block
	STACK:	DWORD	return address
		WORD	argument pointer (sosend or sorec argument block)
		WORD	error return code
			0000h argument pointer is valid
			00A3h timeout

Top
610001 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
	AX = 0001h
	BX = X coordinate to center
	CX = Y coordinate to center
Desc:	Positions the zoom window such that the specified window-relative
	  coordinates appear as close as possible to the center of the
	  display.  Useful for scrolling and panning.
Range:	unknown
Notes:	INT 61h is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"

Top
610002 - INT 61 - Banyan VINES - 3270 INTERFACE
INT 61 - Banyan VINES - 3270 INTERFACE
	AX = 0002h
	BH = function number (see #03346)
	DS:CX -> argument block (except BH=00h,1Ah) (see #03348)
Return: AX = status (see #03347)
Notes:	Either 3270/SNA or 3270/BSC interface may use AX=0002h, depending on
	  which is loaded first.  The other interface will use AX=000Ah
	Status codes greater than 63h indicate an inconsistency in the 3270/SNA
	  or 3270/BSC resident driver, which must be reloaded by the user

(Table 03346)
Values for VINES 3270 interface function number:
 00h "pi2reset"	 reset 3270/SNA or 3270/BSC driver
 02h "pi2bsc"	 (3270/BSC only)
 03h "pi2get"	 get information stored in 3270 resident driver
 04h "pi2put"	 store information in 3270 resident driver
 05h "pi2gcur"	 get current screen position
 07h "pi2sdat"	 send data keystroke
 08h "pi2scom"	 send command keystroke
 0Ah "pi2field"	 get field info for arbitrary screen positions
 0Fh "pi2stat"	 get logical unit/device status
 12h "pi2nlus"	 determine logical unit/device assignment
 13h "pi2gate"	 specifies comm port address to gateway service
 14h "pi2attach" attach a logical unit/device
 15h "pi2sdev"	 save logical unit/device info in resident driver
		(not supported in >3.0)
 16h "pi2gdev"	 get device information (not supported in >3.0)
 17h "pi2luinfo" get info about specific logical unit/device
 18h "pi2gerr"	 get finer error detail
 19h "pi2dhold"	 (3270/SNA only)  holds a 3270 device
 1Ah "pi2shut"	 release memory-resident module
 1Ch "pi2sprof"	 save profile info in res driver (not supp in >3.0)
 1Dh "pi2gprof"	 get prevsly stored profile info (not supp in >3.0)

(Table 03347)
Values for VINES 3270 status:
 0000h	successful
 000Bh	invalid parameter or data does not fit data area
 000Ch	another code path currently active in resident driver
 000Dh	operation currently not allowed
 0032h	encountered connection disconnect error
 0033h	encountered "sosend" completion error
 0034h	encountered "sosend" communication error
 0035h	attach request refused.	extended error info via "pi2gerr":
	01h resource unavailable
	02h invalid type
	03h version mismatch
	04h invalid logical unit number
	05h error during ARL processing
	06h no access for user
 0071h	encountered "sosock" error
 0072h	encountered unrecognizable error
 0073h	encountered "sowait" error (extended info via "pi2gerr")
 0074h	encountered invalid type-of-request on "sowait"
 0075h	encountered "sorec" error (extended info via "pi2gerr")
 0076h	encountered "sorec" completion error (ext info via "pi2gerr")
 0077h	encountered connection request
 0078h	encountered unrecognizable data
 0079h	encountered unknown connection ID (ext info via "pi2gerr")
SeeAlso: #03325

Format of argument block for BH=03h,04h:
Offset	Size	Description	(Table 03348)
 00h	WORD	size of data area (max 256)
 02h  N BYTEs	data area
SeeAlso: #03349,#03350,#03351

Format of argument block for BH=05h:
Offset	Size	Description	(Table 03349)
 00h	WORD	logical unit/device number
 02h	WORD	pointer to WORD buffer for cursor index
 04h	WORD	pointer to BYTE buffer for current field attribute
SeeAlso: #03348,#03350,#03351

Format of argument block for BH=07h:
Offset	Size	Description	(Table 03350)
 00h	WORD	logical unit/device number
 02h	WORD	ASCII data byte
 04h	WORD	pointer to WORD count of characters which will need updating
SeeAlso: #03348,#03349,#03351

Format of argument block for BH=08h:
Offset	Size	Description	(Table 03351)
 00h	WORD	logical unit/device number
 02h	WORD	3270 keystroke (see #03352)
SeeAlso: #03348,#03349,#03350,#03353

(Table 03352)
Values for 3270 keystroke:
 0000h	Enter
 0001h	Clear
 0002h	PA1
 0003h	PA2
 0004h	PA3
 0005h	PF1
 ...
 001Ch	PF24
 001Dh	CSELECT (cursor select)
 001Eh	Insert
 001Fh	Delete
 0020h	EOField
 0021h	EINPUT (erase input)
 0022h	Reset
 0023h	Attention
 0024h	SysReq
 0025h	Duplicate
 0026h	Fieldmark
 0027h	Home
 0028h	NextLine
 0029h	Tab
 002Ah	BackTab
 002Bh	cursor up
 002Ch	cursor down
 002Dh	cursor right
 002Eh	cursor left
 002Fh	double cursor right
 0030h	double cursor left
 0031h	PRINT
 0032h	CANCEL
 0033h	Backspace

Format of argument block for BH=0Ah:
Offset	Size	Description	(Table 03353)
 00h	WORD	logical unit/device number
 02h	WORD	screen index
 04h	WORD	pointer to WORD buffer for field length
 06h	WORD	pointer to WORD buffer for offset in screen of field start
SeeAlso: #03351,#03354

Format of argument block for BH=0Fh:
Offset	Size	Description	(Table 03354)
 00h	WORD	logical unit/device number
 02h	WORD	clear mask (clear these bits of status after returning status)
 04h	WORD	pointer to WORD buffer for device status (see #03355)
SeeAlso: #03353,#03356

Bitfields for Banyan 3270 device status:
Bit(s)	Description	(Table 03355)
 10	status modified
 9	buffer modified
 8	set cursor
 5	sound alarm
 1-0	size of print line for printer logical units
	00  unformatted line
	01  40-character line
	10  64-character line
	11  80-character line

Format of argument block for BH=12h:
Offset	Size	Description	(Table 03356)
 00h	WORD	pointer to WORD buffer for number of logical units or devices
 02h	WORD	pointer to WORD buffer for version number
 04h	WORD	pointer to 64-byte buffer for logical unit/device list
SeeAlso: #03354,#03357

Format of argument block for BH=13h:
Offset	Size	Description	(Table 03357)
 00h 16 BYTEs	communications port address (see #03328)
SeeAlso: #03356,#03358

Format of argument block for BH=14h:
Offset	Size	Description	(Table 03358)
 00h	WORD	logical unit/device number
		0000h attach any free device of the specified type
 02h	WORD	logical unit/device type
		(3270/SNA) 01h, 02h, or 03h
		(3270/BSC) 02h display
		(3270/BSC) 03h printer
 04h	WORD	pointer to WORD buffer for attached logical unit/device number
SeeAlso: #03357,#03359

Format of argument block for BH=16h:
Offset	Size	Description	(Table 03359)
 00h	WORD	pointer to 18-byte buffer for device block (see #03364)
		first WORD must be set to desired logical unit/device number
SeeAlso: #03358,#03360

Format of argument block for BH=17h:
Offset	Size	Description	(Table 03360)
 00h	WORD	logical unit/device number
 02h	WORD	pointer to information block in caller's DS (see #03365)
SeeAlso: #03359,#03361

Format of argument block for BH=18h:
Offset	Size	Description	(Table 03361)
 00h	WORD	pointer to WORD buffer for major error code
 02h	WORD	pointer to WORD buffer for minor error code
SeeAlso: #03360,#03362

Format of argument block for BH=19h:
Offset	Size	Description	(Table 03362)
 00h	WORD	logical unit/device number
SeeAlso: #03361,#03363

Format of argument block for BH=1Ch,1Dh:
Offset	Size	Description	(Table 03363)
 00h	WORD	pointer to profile block in caller's DS (see #03368)
SeeAlso: #03348,#03362

Format of device block, argument block for BH=15h:
Offset	Size	Description	(Table 03364)
 00h	WORD	logical unit/device number
 02h	WORD	logical unit/device type
 04h	WORD	display model number
 06h	WORD	numeric checking
 08h	WORD	status line
 0Ah	BYTE	unprotected normal field attribute
 0Bh	BYTE	unprotected intensified field attribute
 0Ch	BYTE	protected normal field attribute
 0Dh	BYTE	protected intensified field attribute
 0Eh	WORD	reserved
 10h	WORD	printer port number

Format of information block:
Offset	Size	Description	(Table 03365)
 00h	WORD	device model number
 02h	DWORD	screen buffer pointer
 06h	DWORD	status line pointer (see #03366)
 0Ah	DWORD	reserved

Format of Banyan VINES 3270 status line:
Offset	Size	Description	(Table 03366)
 00h	BYTE	comm line status
		00h inactive
		01h active
 01h	BYTE	activation level
		01h physical unit activated
		02h logical unit also activated
		03h session is bound
 02h	BYTE	data traffic state
		00h inactive
		01h active
 03h	BYTE	screen ownership
		00h SLU->PLU session owns screen
		01h SLU->SSCP session owns screen
 04h	BYTE	keyboard status (see #03367)
 05h	BYTE	insert mode
		01h if in insert mode
 06h	BYTE	numeric
		01h if current screen buffer is numeric only
 07h	BYTE	printer status
		00h printer not assigned
		01h printer is inactive
		02h printer error
		03h currently printing
		04h printer is busy
		05h printer is very busy
 08h	BYTE	printer assignment
 09h	BYTE	maximum size of network name
 0Ah  N BYTEs	ASCIZ network name
	BYTE	maximum size of message window
      M BYTEs	null-terminated message window
	BYTE	code set
		00h EBCDIC
		01h ASCII
      M BYTEs	extended attributes
		01h extended attributes are in effect (stored at screen+1920)
		    each extended attribute specifies
		    bits 0,1: 00=normal, 01=blink, 10=reverse, 11=underscor
		    bits 2-4: 000=default,001=blue,010=red,011=pink,
			      100=green,101=turquoise,110=yellow,111=white
	BYTE	extended color
		01h other than base color is in effect

(Table 03367)
Values for Banyan VINES 3270 keyboard status:
 00h	UNLOCK - ready to accept data
 01h	TIME - aid was struck
 02h	SYSTEM - received response no restore
 03h	FUNCTION - unavailable keyboard function
 04h	INPUT - not currently used
 05h	ENDFIELD - field filled in insert mode
 06h	PROTECTED - attempt to enter in protected field
 07h	NUMERIC - attempt to enter in numeric field
 08h	PROGRAM - error in outbound data stream

Format of Banyan VINES 3270 profile block:
Offset	Size	Description	(Table 03368)
 00h 64 BYTEs	gateway service name
 40h 16 BYTEs	gateway comm port address
 50h	WORD	primary logical unit number
 52h	WORD	secondary logical unit type
 54h	WORD	secondary logical unit number
 56h	WORD	printer assignment
 58h 50 BYTEs	keyboard definitions filename

Top
610002 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
	AX = 0002h
Desc:	switches off zoom and returns window to its original state
Range:	unknown
Notes:	INT 61h is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",INT 16/AH=FFh"OPTIMA"

Top
610003SF00 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
	AX = 0003h subfn 00h
	DS:BX -> argument block (see #03370)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=08h,AX=0003h/SF=0Dh

(Table 03369)
Values for VINES function status:
 0000h	successful
 000Bh	invalid session ID
 000Ch	session not active
 000Dh	invalid request type
 000Eh	invalid parameters
 000Fh	out of heap space
 0010h	timeout on send
 0011h	Banyan communications error
 0012h	session not waiting for host
 0013h	session is active
 0014h	duplicate suspend session request
 0015h	no session suspended
 0016h	ring data buffer full
 0017h	printer error encountered
 0018h	Banyan communications error
 0019h	unable to make connection
 001Ah	no ring buffer specified at startup
 001Bh	service is down
 001Ch	invalid service name
 001Dh	service is closed
 001Eh	invalid connection name
 001Fh	max session limit reached for service
 0020h	access rights list for connection/dialout does not include this user
 0021h	service not responding
 0022h	missing telephone number
SeeAlso: #03325,#03373

Format of VINES argument block:
Offset	Size	Description	(Table 03370)
 00h	BYTE	session ID (00h)
 01h	BYTE	00h (func "initialize user buffer pointer information area")
 02h	WORD	-> user buffer ptr info area in caller's current DS (see #03371)

Format of user buffer ptr info area:
Offset	Size	Description	(Table 03371)
 00h	WORD	flags
		0000h don't read interface's data buffer
		0001h read data buffer
 02h	DWORD	pointer to ring buffer
 06h	WORD	length of ring buffer
 08h	WORD	ring buffer offset to last byte read by caller
 0Ah	DWORD	pointer to WORD containing offset of last byte
		  in ring buffer filled
 0Eh	DWORD	pointer to screen buffer
 12h	DWORD	pointer to field containing cursor position
 16h	DWORD	pointer to terminal status area (see #03372)

Format of VINES terminal status area:
Offset	Size	Description	(Table 03372)
 00h	BYTE	status of session: 4Eh=oNline, 46h=oFfline, 57h=Waiting
 01h	BYTE	terminal type (00h=VT100, 01h=TTY, 02h=VT52, 03h=IBM3101)
 02h	BYTE	current keypad mode (VT100,VT52 only)
		4Eh ("N") numeric mode
		41h ("A") application mode
 03h  4 BYTEs	current state of LEDs (VT100 only)
		00h off
		01h on
 07h	WORD	line error count
 09h	WORD	primary error code (see #03373)
 0Bh	WORD	secondary error code

(Table 03373)
Values for VINES primary error code:
 0000h	no error
 0001h	unable to make connection
 0002h	communications error, restart session
 0003h	async terminal emulation service unavailable
 0004h	lost carrier
 0005h	all matching lines busy
 0006h	no lines defined for connection name
 0007h	no dial lines available on server
 0008h	no matching dial lines available
 0009h	out of heap space
 000Ah	service error encountered
 000Bh	timed out waiting to connect
 000Ch	communications error
 000Dh	communications error
 000Eh	host wants file transferred to/from PC
 000Fh	host software changed session parameter
 0010h	host software changed tap settings
 0011h	host software changed LED indicator
 0012h	host software changed display background (secondary error code 00h for
	  white on black, 01h for black on white)
 0013h	host software changed display option (secondary error code 00h for off,
	  01h for on)
 0014h	communications error
 0015h	communications error
 0016h	unable to make connection
 0017h	unable to make connection
SeeAlso: #03369

Top
610003SF01 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
	AX = 0003h subfn 01h
	DS:BX -> argument block (see #03374)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=02h,AX=0003h/SF=14h

Format of VINES argument block for Function 0003h subfunction 01h:
Offset	Size	Description	(Table 03374)
 00h	BYTE	session ID (00h)
 01h	BYTE	01h (function "send to host")
 02h	BYTE	type
		00h ASCII byte
		01h ASCII string
		02h terminal function code
		03h up arrow
		04h down arrow
		05h left arrow
		06h right arrow
		07h break
 03h  N BYTEs	type-specific info (see #03375)

Format of type-specific info:
Offset	Size	Description	(Table 03375)
---ASCII byte---
 03h	BYTE	byte to send to host
---ASCII string---
 03h	WORD	length of string
 05h	WORD	pointer to string
---terminal function code (VT52/VT100)---
 03h	BYTE	function code
		00h keypad 0
		01h keypad 1
		...
		09h keypad 9
		0Ah keypad -
		0Bh keypad ,
		0Ch keypad .
		0Dh keypad ENTER
		0Eh PF1
		0Fh PF2
		10h PF3
		11h PF4
---terminal function code (IBM3101)---
 03h	BYTE	function code
		00h PF1
		...
		07h PF8
		08h Home
SeeAlso: #03374

Top
610003SF02 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
	AX = 0003h subfn 02h
	DS:BX -> argument block (see #03376)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=03h,AX=0003h/SF=05h

Format of VINES argument block for Function 0003h subfunction 02h:
Offset	Size	Description	(Table 03376)
 00h	BYTE	session ID (00h)
 01h	BYTE	02h (function "control monitor")
 02h	BYTE	display flag
		00h don't display data received from host
		01h display data

Top
610003SF03 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
	AX = 0003h subfn 03h
	DS:BX -> argument block (see #03377)
Return: AX = status (see #03369)
Desc:	this function permits the caller to freeze/unfreeze the display and
	  the ring buffer
SeeAlso: AX=0003h/SF=02h,AX=0003h/SF=06h

Format of VINES argument block for Function 0003h subfunction 03h:
Offset	Size	Description	(Table 03377)
 00h	BYTE	session ID (00h)
 01h	BYTE	03h (function "flow control data")
 02h	BYTE	flow control flag
		00h allow characters to be put into display or ring buffer
		01h don't place any more characters into display or ring buffer

Top
610003SF04 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
	AX = 0003h subfn 04h
	DS:BX -> argument block (see #03378)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=0Ah,AX=0003h/SF=0Dh,AX=0003h/SF=0Fh

Format of VINES argument block for ending active session:
Offset	Size	Description	(Table 03378)
 00h	BYTE	session ID (00h)
 01h	BYTE	04h (function "end active session")

Top
610003SF05 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
	AX = 0003h subfn 05h
	DS:BX -> argument block (see #03379)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=06h,AX=0003h/SF=08h

Format of VINES argument block for setting session parameters:
Offset	Size	Description	(Table 03379)
 00h	BYTE	session ID (00h)
 01h	BYTE	05h (function "set session parameter")
 02h	BYTE	parameter number (see #03380)
 03h	BYTE	new parameter value

(Table 03380)
Values for parameter number:
 00h	line speed (00h=any, 01h=50, 02h=110, 03h=134.5, 04h=150,
		  05h=300, 06h=600, 07h=1200, 08h=2400, 09h=4800, 0Ah=9600)
 01h	parity (00h=none, 01h=odd, 02h=even)
 02h	duplex (00h=full, 01h=half)
 03h	character size (00h=7 bits, 01h=8 bits)
 04h	stop bits (00h=1, 01h=2)
 05h	XON/XOFF flow control (00h=no, 01h=yes)
 07h	intercharacter delay in tenths of a second
 08h	interline delay in tenths of a second
 09h	auto linefeed (00h=no, 01h=yes)
 0Ah	filter control characters (00h=no, 01h=yes)
 0Bh	terminal type (00h=VT100,01h=glassTTY,02h=VT52,03h=IBM3101)
 0Ch	auto wrap (00h=no, 01h=yes)
 0Dh	cursor shape (00h=underscore, 01h=block)
 0Eh	character set (00h=UK, 01h=US ASCII)
 0Fh	printer port (00h=LPT1, 01h=LPT2, 02h=LPT3)
SeeAlso: #03379

Top
610003SF06 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
	AX = 0003h subfn 06h
	DS:BX -> argument block (see #03381)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=05h,AX=0003h/SF=07h

Format of VINES argument block for getting session parameters:
Offset	Size	Description	(Table 03381)
 00h	BYTE	session ID (00h)
 01h	BYTE	06h (function "get session parameter")
 02h	BYTE	parameter number (see #03380)
 03h	BYTE	(ret) current parameter value

Top
610003SF07 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
	AX = 0003h subfn 07h
	DS:BX -> argument block (see #03382)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=05h,AX=0003h/SF=08h

Format of VINES argument block for setting tab settings:
Offset	Size	Description	(Table 03382)
 00h	BYTE	session ID (00h)
 01h	BYTE	07h (function "set tab settings")
 02h	WORD	pointer to 80-byte buffer in caller's current DS
		  each byte = 00h if no tab, 01h if tab at that position

Top
610003SF08 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
	AX = 0003h subfn 08h
	DS:BX -> argument block (see #03383)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=07h

Format of VINES argument block for getting tab settings:
Offset	Size	Description	(Table 03383)
 00h	BYTE	session ID (00h)
 01h	BYTE	08h (function "get tab settings")
 02h	WORD	pointer to 80-byte buffer in caller's current DS
		each byte set to 00h if no tab, 01h if tab at that position

Top
610003SF09 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
	AX = 0003h subfn 09h
	DS:BX -> argument block (see #03384)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Bh

Format of VINES argument block for Function 0003h subfunction 09h:
Offset	Size	Description	(Table 03384)
 00h	BYTE	session ID (00h)
 01h	BYTE	09h (function "refresh emulation screen")

Top
610003SF0A - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
	AX = 0003h subfn 0Ah
	DS:BX -> argument block (see #03385)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=09h,AX=0003h/SF=0Bh,AX=0003h/SF=0Dh

Format of VINES argument block:
Offset	Size	Description	(Table 03385)
 00h	BYTE	session ID (00h)
 01h	BYTE	0Ah (function "suspend session temporarily")
 02h	WORD	size of session information to be saved
 04h	WORD	pointer to buffer in caller's DS

Top
610003SF0B - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
	AX = 0003h subfn 0Bh
	DS:BX -> argument block (see #03386)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=09h,AX=0003h/SF=0Ah

Format of VINES argument block:
Offset	Size	Description	(Table 03386)
 00h	BYTE	session ID (00h)
 01h	BYTE	0Bh (function "restore previously suspended session")
 02h	WORD	size of buffer into which session info is restored
 04h	WORD	pointer to buffer in caller's DS

Top
610003SF0C - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
	AX = 0003h subfn 0Ch
	DS:BX -> argument block (see #03387)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h

Format of VINES argument block:
Offset	Size	Description	(Table 03387)
 00h	BYTE	session ID (00h)
 01h	BYTE	0Ch (function "set state of scroll lock checking")
 02h	BYTE	check_scroll_lock flag
		00h off
		01h on (display of host data stopped while ScrollLock on)

Top
610003SF0D - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
	AX = 0003h subfn 0Dh
	DS:BX -> argument block (see #03388)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Ah

Format of VINES argument block:
Offset	Size	Description	(Table 03388)
 00h	BYTE	session ID (00h)
 01h	BYTE	0Dh (function "exit emulation")

Top
610003SF0E - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
	AX = 0003h subfn 0Eh
	DS:BX -> argument block (see #03389)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=14h

Format of VINES argument block:
Offset	Size	Description	(Table 03389)
 00h	BYTE	session ID (00h)
 01h	BYTE	0Eh (function "interrupt on character from host")
 02h	DWORD	pointer to routine to be called (0000h:0000h = don't call)
 06h	DWORD	stack pointer to use when call is made

Top
610003SF0F - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
	AX = 0003h subfn 0Fh
	DS:BX -> argument block (see #03390)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Bh

Format of VINES argument block:
Offset	Size	Description	(Table 03390)
 00h	BYTE	session ID (00h)
 01h	BYTE	0Fh (function "start a session")
 02h	WORD	pointer to information area in caller's current DS (see #03391)

Format of VINES information area:
Offset	Size	Description	(Table 03391)
 00h	WORD	length of service name
 02h	WORD	pointer to service name in caller's DS
 04h	BYTE	type of connection (00h=connection name, 01h=dialout)
 05h	WORD	length of connection name/telephone number
 07h	WORD	pointer to connection name/telephone number

Top
610003SF10 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
	AX = 0003h subfn 10h
	DS:BX -> argument block (see #03392)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=13h

Format of VINES argument block:
Offset	Size	Description	(Table 03392)
 00h	BYTE	session ID (00h)
 01h	BYTE	10h (function "start/stop printing of data received from host")
 02h	WORD	print capture flag (00h=off, 01h=on)

Top
610003SF11 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
	AX = 0003h subfn 11h
	DS:BX -> argument block (see #03393)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h

Format of VINES argument block:
Offset	Size	Description	(Table 03393)
 00h	BYTE	session ID (00h)
 01h	BYTE	11h (function "get file transfer parameters")
 02h	WORD	pointer to info area in caller's current DS (see #03394)

Format of VINES info area:
Offset	Size	Description	(Table 03394)
 00h	BYTE	protocol flag (00h none, 01h Kermit)
 01h	BYTE	direction flag (00h send, 01h receive)
 02h	BYTE	length of null-terminated PC filename
 03h	DWORD	pointer to null-terminated PC filename
 07h	BYTE	length of null-terminated host filename
 08h	DWORD	pointer to null-terminated host filename

Top
610003SF12 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
	AX = 0003h subfn 12h
	DS:BX -> argument block (see #03395)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=11h,AX=0003h/SF=15h

Format of VINES argument block:
Offset	Size	Description	(Table 03395)
 00h	BYTE	session ID (00h)
 01h	BYTE	12h (function "get connection information")
 02h	WORD	offset of buffer for connection information (see #03396)

Format of VINES connection information:
Offset	Size	Description	(Table 03396)
 00h	WORD	length of service name (returned)
 02h	WORD	pointer to 64-byte buffer for service name
 04h	BYTE	type of connection
		00h connection name
		01h dialout
 05h	WORD	length of connection name/telephone number
 07h	WORD	pointer to 64-byte buffer for name/telno
 09h	BYTE	server line number being used (returned)

Top
610003SF13 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
	AX = 0003h subfn 13h
	DS:BX -> argument block (see #03397)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Eh

Format of VINES argument block:
Offset	Size	Description	(Table 03397)
 00h	BYTE	session ID (00h)
 01h	BYTE	13h (function "start/stop tracing data traffic in session")
 02h	BYTE	trace flag (00h=off, 01h=on)

Top
610003SF14 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
	AX = 0003h subfn 14h
	DS:BX -> argument block (see #03398)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=0Eh

Format of VINES argument block:
Offset	Size	Description	(Table 03398)
 00h	BYTE	session ID (00h)
 01h	BYTE	14h (function "interrupt on message from host")
 02h	DWORD	pointer to routine to be called (0000h:0000h = don't call)
 06h	DWORD	stack pointer to use when call is made

Top
610003SF15 - INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
	AX = 0003h subfn 15h
	DS:BX -> argument block (see #03399)
Return: AX = status (see #03369)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h

Format of VINES argument block:
Offset	Size	Description	(Table 03399)
 00h	BYTE	session ID (00h)
 01h	BYTE	15h (function "reset error")

Top
610003 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
	AX = 0003h
Return: AX = zoom factor
Desc:	returns the current zoom factor
Range:	unknown
Notes:	INT 61h is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0005h"OPTIMA",INT 16/AH=FFh"OPTIMA"

Top
610004 - INT 61 - Banyan VINES - FILE SERVICE CONTROL
INT 61 - Banyan VINES - FILE SERVICE CONTROL
	AX = 0004h
	DS:DX -> request block (see #03401)
Return: AX = status (see #03400)
Notes:	This service is handled by the redirector
	The request dispatch table contains dummy entries for requests 0Ah,
	  0Dh, 15h, 19h, and 1Ah, which always return error 0033h (invalid
	  request ID)

(Table 03400)
Values for Banyan VINES file service control status code:
 0000h	successful
 0002h	file not found
 0003h	path not found
 000Fh	invalid drive
 0015h	drive not ready
 0033h	invalid request ID
 0034h	drive not connected
 0037h	drive number out of range
 0038h	drive number not available
 003Ah	invalid operation
 0055h	drive already connected
 0057h	invalid number of entries

Format of Banyan VINES file service request block:
Offset	Size	Description	(Table 03401)
 00h	WORD	request ID (1..28)
 02h  n BYTES	additional parameters and result buffer

Top
610004SF0001 - INT 61 - Banyan VINES - SET DRIVE CONNECTION
INT 61 - Banyan VINES - SET DRIVE CONNECTION
	AX = 0004h subfn 0001h
	DS:DX -> request block (see #03402)
Return: AX = status (0000h,0037h,0038h,0055h) (see #03400)
Desc:	Maps the specified file service to a DOS drive letter
Note:	If an empty service name is specified, an existing connection will
	  be removed
SeeAlso: AX=0004h/SF=0002h

Format of VINES Function 0004h/Subfunction 0001h request block:
Offset	Size	Description	(Table 03402)
 00h	WORD	0001h
 02h	BYTE	drive number (0=default, 1=A, ...)
 03h 16	BYTEs	reserved
 13h 64	BYTEs	null-terminated file service name
 53h  5	BYTEs	reserved

Top
610004SF0002 - INT 61 - Banyan VINES - GET DRIVE CONNECTION
INT 61 - Banyan VINES - GET DRIVE CONNECTION
	AX = 0004h subfn 0002h
	DS:DX -> request block (see #03403)
Return: AX = status (0000h,0034h,0037h) (see #03400)
Desc:	Returns the StreetTalk name of the associated file service
SeeAlso: AX=0004h/SF=0001h,AX=0004h/SF=0003h

Format of VINES Function 0004h/Subfunction 0002h request block:
Offset	Size	Description	(Table 03403)
 00h	WORD	0002h
 02h	BYTE	drive number (0=default, 1=A, ...)
 03h 16	BYTEs	reserved
 13h 64	BYTEs	buffer for null-terminated file service name
 53h  5	BYTEs	reserved

Top
610004SF0003 - INT 61 - Banyan VINES - GET NETWORK DRIVE MAP
INT 61 - Banyan VINES - GET NETWORK DRIVE MAP
	AX = 0004h subfn 0003h
	DS:DX -> request block (see #03404)
Return: AX = status
	    0000h drive map returned in request block
Desc:	Returns a bit map indicating which drive numbers are connected to a
	  file service
Note:	Only bits 0-25 are significant
SeeAlso: AX=0004h/SF=0002h

Format of VINES Function 0004h/Subfunction 0003h request block:
Offset	Size	Description	(Table 03404)
 00h	WORD	0003h
 02h	DWORD	buffer for drive map (bit0=A, bit1=B, ...)

Top
610004SF0004 - INT 61 - Banyan VINES - SET USER NAME
INT 61 - Banyan VINES - SET USER NAME
	AX = 0004h subfn 0004h
	DS:DX -> request block (see #03405)
Return: AX = status (0000h) (see #03400)
Notes:	Other side effects, if any, not known
SeeAlso: AX=0004h/SF=0005h,#03431 [ID 0004h],AX=0007h/BX=0005h

Format of VINES Function 0004h/Subfunction 0004h request block:
Offset	Size	Description	(Table 03405)
 00h	WORD	0004h
 02h 64	BYTE	null-terminated user name

Top
610004SF0005 - INT 61 - Banyan VINES - GET USER NAME
INT 61 - Banyan VINES - GET USER NAME
	AX = 0004h subfn 0005h
	DS:DX -> request block (see #03406)
Return: AX = status (see also #03400)
	    0000h user name returned in request block
Desc:	Returns the StreetTalk name of the currently logged in user
SeeAlso: AX=0004h/SF=0004h,#03431 [ID 0004h],AX=0007h/BX=0005h
SeeAlso: AX=0004h/SF=0004h

Format of VINES Function 0004h/Subfunction 0005h request block:
Offset	Size	Description	(Table 03406)
 00h	WORD	0005h (subfunction "Get User Name")
 02h 64	BYTE	buffer for null-terminated user name

Top
610004SF0006 - INT 61 - Banyan VINES - TEST DRIVE CONNECTION
INT 61 - Banyan VINES - TEST DRIVE CONNECTION
	AX = 0004h subfn 0006h
	DS:DX -> request block (see #03407)
Return: AX = status (see also #03400)
	    0000h connection flag returned in request block
Desc:	Returns a flag indicating if the drive is connected to a file service
SeeAlso: AX=0004h/SF=0007h

Format of VINES Function 0004h/Subfunction 0006h request block:
Offset	Size	Description	(Table 03407)
 00h	WORD	0006h (subfunction "Test Drive Connection")
 02h	BYTE	buffer for connection flag (1 = not connected, 2 = connected)

Top
610004SF0007 - INT 61 - Banyan VINES - GET CONNECTION DATA STRUCTURES
INT 61 - Banyan VINES - GET CONNECTION DATA STRUCTURES
	AX = 0004h subfn 0007h
	DS:DX -> request block (see #03408)
Return: AX = status (see also #03400)
	    0000h pointer returned in request block
	    0033h invalid request ID
Desc:	Returns pointers to various internal data structures

Format of VINES Function 0004h/Subfunction 0007h request block:
Offset	Size	Description	(Table 03408)
 00h	WORD	0007h
 02h	BYTE	request ID (0..7) (see #03409)
 03h	WORD	buffer for pointer segment
 05h	WORD	buffer for pointer offset
SeeAlso: #03410,#03411

(Table 03409)
Values for VINES pointer ID:
 00h	job file table ???
 01h	drive handle table
 02h	drive connection table
 03h	IPC port of drive Z:
 04h	end of drive connection table
 05h	???
 06h	???
 07h	redirector data segment (offset=0)
SeeAlso: #03408

Format of VINES drive handle table:
Offset	Size	Description	(Table 03410)
 00h	BYTE	handle to default drive (0 = not connected)
 01h	BYTE	handle to drive A: (0 = not connected)
	...
 1Ah	BYTE	handle to drive Z: (0 = not connected)
SeeAlso: #03411

Format of VINES drive connection table:
Offset	Size	Description	(Table 03411)
 00h	WORD	file service type (?) (0001h if drive Z:, 0000h else)
 02h 16	BYTEs	IPC port (contains the server serial number)
 12h 46	BYTEs	???
 40h 64	BYTEs	null-terminated StreetTalk name of associated file service
 80h 64	BYTEs	null-terminated root directory (/ROOT: parameter of SETDRIVE)
SeeAlso: #03410

Top
610004SF0008 - INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
	AX = 0004h subfn 0008h
	DS:DX -> request block (see #03412)
Return: AX = status (0000h,000Fh,0015h) (see #03400)
Notes:	The server ID is extracted from the IPC port address of the associated
	  file service stored in the drive connection table
	The server serial number and the server subnet number are returned in
	  big-endian (Motorola) format (i.e. MSB first)
SeeAlso: AX=0004h/SF=0005h

Format of VINES request block for getting server serial number:
Offset	Size	Description	(Table 03412)
 00h	WORD	0008h
 02h	WORD	drive number (0=default, 1=A, ...)
 04h	DWORD	buffer for server serial number
 08h	WORD	buffer for server subnet number (always 0001h)

Top
610004SF0009 - INT 61 - Banyan VINES - SET ??? PARAMETER
INT 61 - Banyan VINES - SET ??? PARAMETER
	AX = 0004h subfn 0009h
	DS:DX -> request block (see #03413)
Return: AX = status (0000h) (see #03400)
Notes:	The specified WORD parameter is copied to offset 1702h of the
	  redirector code segment (revision 5.53)
SeeAlso: AX=0004h/SF=000Bh

Format of VINES Function 0004h/Subfunction 0009h request block:
Offset	Size	Description	(Table 03413)
 00h	WORD	0009h
 02h	WORD	parameter

Top
610004SF000B - INT 61 - Banyan VINES - GET ??? DRIVE PARAMETER
INT 61 - Banyan VINES - GET ??? DRIVE PARAMETER
	AX = 0004h subfn 000Bh
	DS:DX -> request block (see #03414)
Return: AX = status (0000h,0034h,0037h) (see #03400)
Notes:	This request returns a WORD value from the drive connection table
	  read from offset 0012h of the specified drive's entry (usually 0037h)
SeeAlso: AX=0004h/SF=0009h

Format of VINES Function 0004h/Subfunction 000Bh request block:
Offset	Size	Description	(Table 03414)
 00h	WORD	000Bh
 02h	BYTE	drive number (0=default, 1=A, ...)
 03h	WORD	buffer for parameter

Top
610004SF000C - INT 61 - Banyan VINES - LOGOUT FROM VINES
INT 61 - Banyan VINES - LOGOUT FROM VINES
	AX = 0004h subfn 000Ch
	DS:DX -> request block (see #03415)
Return: AX = status 0000h (see #03400)
Desc:	Terminates a running VINES session and clears all session specific
	  buffers
SeeAlso: AX=0004h/SF=0008h

Format of VINES Function 0004h/Subfunction 000Ch request block:
Offset	Size	Description	(Table 03415)
 00h	WORD	000Ch

Top
610004SF000E - INT 61 - Banyan VINES - GET ACCESS RIGHTS LIST (ARL)
INT 61 - Banyan VINES - GET ACCESS RIGHTS LIST (ARL)
	AX = 0004h subfn 000Eh
	DS:DX -> request block (see #03416)
Return: AX = status (see also #03400)
	    0000h request has been processed
Desc:	Returns the owner, group, and extended access rights for the specified
	  file or directory
Note:	A status of 0000h does not necessarily indicate a successful request;
	  check the status word at offset 000Eh of the request block too
SeeAlso: AX=0004h/SF=000Fh

Format of VINES Function 0004h/Subfunction 000Eh request block:
Offset	Size	Description	(Table 03416)
 00h	WORD	000Eh (subfunction "Get Access Rights List")
 02h	BYTE	drive number (0=default, 1=A, ...)
 03h	BYTE	reserved
 04h	DWORD	pointer to path specification (drive letter ignored)
 08h	DWORD	pointer to ARL control block (see #03417)
 0Ch	WORD	buffer for number of ARL entries (1..5)
 0Eh	WORD	buffer for status (see #03418)

Format of ARL control block:
Offset	Size	Description	(Table 03417)
 00h 64	BYTEs	1st StreetTalk name (user, list, or service)
 40h	WORD	1st ARL
 42h 64	BYTEs	2nd StreetTalk name (user, list, or service)
 82h	WORD	2nd ARL
 84h 64	BYTEs	3rd StreetTalk name (user, list, or service)
 C4h	WORD	3rd ARL
 C6h 64	BYTEs	4th StreetTalk name (user, list, or service)
106h	WORD	4th ARL
108h 64	BYTEs	5th StreetTalk name (user, list, or service)
148h	WORD	5th ARL

(Table 03418)
Values for VINES Get/Set Access Rights List status:
 0000h	successful
 0002h	file not found
 0003h	path not found
 003Ah	invalid operation
 0057h	invalid number of entries

Top
610004SF000F - INT 61 - Banyan VINES - SET ACCESS RIGHTS LIST (ARL)
INT 61 - Banyan VINES - SET ACCESS RIGHTS LIST (ARL)
	AX = 0004h subfn 000Fh
	DS:DX -> request block (see #03419)
Return: AX = status (see also #03400)
	    0000h request has been processed
Desc:	Sets the owner, group, and extended access rights for the specified
	  file or directory
Note:	A status of 0000h does not necessarily indicate a successful request;
	  check the status word at offset 000Eh of the request block too
	If the number of ARL entries is less than 1 or greater than 5, error
	  0057h (invalid number of entries) is returned
SeeAlso: AX=0004h/SF=000Eh

Format of VINES Function 0004h/Subfunction 000Fh request block:
Offset	Size	Description	(Table 03419)
 00h	WORD	000Fh
 02h	BYTE	drive number (0=default, 1=A, ...)
 03h	BYTE	reserved
 04h	DWORD	pointer to path specification (drive letter ignored)
 08h	DWORD	pointer to ARL control block (see #03417)
 0Ch	WORD	number of ARL entries (1..5)
 0Eh	WORD	buffer for status (see #03418)

Top
610004SF0010 - INT 61 - Banyan VINES - FILE SERVICE CONTROL - ???
INT 61 - Banyan VINES - FILE SERVICE CONTROL - ???
	AX = 0004h subfn 0010h
	DS:DX -> request block (see #03420)
Return: AX = status (see also #03400)
	    0000h request has been processed
SeeAlso: AX=0004h/SF=000Fh

Format of VINES Function 0004h/Subfunction 0010h request block:
Offset	Size	Description	(Table 03420)
 00h	WORD	0010h
 02h	BYTE	drive number (0=default, 1=A, ...)
 03h	BYTE	reserved
 04h 64	BYTEs	???
 44h 16	BYTEs	IPC port (see #03328 at AX=0001h"Sosock")

Top
610004SF0013 - INT 61 - Banyan VINES - GET VALUE OF GLOBAL VARIABLE
INT 61 - Banyan VINES - GET VALUE OF GLOBAL VARIABLE
	AX = 0004h subfn 0013h
	DS:DX -> request block (see #03421)
Return: AX = status (see also #03400)
	    0000h successful
	    0033h invalid request ID (returned if variable index out of range)
Desc:	Returns the value of the specified global variable
Note:	The data will be truncated if the specified buffer is not large enough.
	  Check the length word in the request block to find out how many
	  bytes should have been copied.
SeeAlso: AX=0004h/SF=0014h,AX=0006h

Format of request block:
Offset	Size	Description	(Table 03421)
 00h	WORD	0013h
 02h	WORD	variable index (0000h-001Fh) (see #03422)
 04h	WORD	buffer length (on exit set to # of bytes actually needed)
 06h	DWORD	far pointer to result buffer
SeeAlso: #03423

(Table 03422)
Values for variable indices:
Index	Length	Description
 0000h	   1	???
 0001h	  16	StreetTalk port
 0002h	   4	StreetTalk session handle
 0003h	   6	colors
 0004h	  64	StreetTalk name of currently logged in user
 0005h	   0	old clear text password (not applicable)
 0006h	   0	default group (not applicable)
 0007h	   1	number of messages in message queue
 0008h	   1	message flag
 0009h	  16	TalkPort
 000Ah	   2	TalkPort socket
 000Bh	  64	StreetTalk name of mail service
 000Ch	   2	message timeout
 000Dh	   2	next message place
 000Eh	 246	message queue (3 times 80 characters + 2 flag bytes)
 000Fh	  14	system nonce
 0010h	   2	failed login count
 0011h	   1	new mail message received
 0012h	   8	mail service capabilities
 0013h	   3	printer port diverted
 0014h	  32	international location
 0015h	  16	IPC port of drive Z:
 0016h	1024	pointer to current directory table
 0017h	   2	maximum number of file volume mappings
 0018h	  24	routine to call back for messages (6 far pointers)
 0019h	   4	current virtual machine
 001Ah	  20	DOS redirector message bell tones
 001Bh	   2	various flags used for internal communication
 001Ch	   0	OS/2 client configuration (not applicable)
 001Dh	   8	redirector/IFS file version
 001Eh	   0	reserved (not applicable)
 001Fh	   4	address of VVINESD.386 dispatch

Top
610004SF0014 - INT 61 - Banyan VINES - SET VALUE OF GLOBAL VARIABLE
INT 61 - Banyan VINES - SET VALUE OF GLOBAL VARIABLE
	AX = 0004h subfn 0014h
	DS:DX -> request block (see #03423)
Return: AX = status
	    0000h successful
	    0033h invalid request ID (returned if variable index out of range)
Desc:	Assigns a new value to the specified global variable
Note:	If the specified number of bytes to copy exceeds the size of the
	  destination variable, nothing will be copied.
SeeAlso: AX=0004h/SF=0013h,AX=0006h

Format of request block:
Offset	Size	Description	(Table 03423)
 00h	WORD	0014h
 02h	WORD	variable index (0000h-001Fh) (see #03422)
 04h	WORD	number of bytes to copy
 06h	DWORD	far pointer to new value
SeeAlso: #03421

Top
610004SF0016 - INT 61 - Banyan VINES - GET NUMBER OF OPEN FILES ON REMOTE DRIVE
INT 61 - Banyan VINES - GET NUMBER OF OPEN FILES ON REMOTE DRIVE
	AX = 0004h subfn 0016h
	DS:DX -> request block (see #03424)
Return: AX = status
	    0000h open file count returned in request block
Desc:	Counts the number of open files on the specified remote drive.
Note:	No error is returned if the specified drive number is invalid or points
	  to a local drive. Use AX=0004h/SF=0006h to test if a given drive
	  number is assigned to a remote drive.
SeeAlso: AX=0004h/SF=0006h

Format of request block:
Offset	Size	Description	(Table 03424)
 00h	WORD	0016h
 02h	BYTE	drive number (0=default, 1=A:, ...)
 03h	BYTE	reserved
 04h	WORD	buffer for open file count
SeeAlso: #03426

Top
610004SF0018 - INT 61 - Banyan VINES - SET UNIDENTIFIED INTERNAL FLAG
INT 61 - Banyan VINES - SET UNIDENTIFIED INTERNAL FLAG
	AX = 0004h subfn 0018h
	DS:DX -> request block (see #03425)
Return: AX = status
	    0000h success
Desc:	Sets an unidentified BYTE variable in the redirector data segment to 1.
Note:	In the VINES 5.53 "REDIR4" redirector, this variable is located at
	  DS:0B53.

Format of request block:
Offset	Size	Description	(Table 03425)
 00h	WORD	0018h
SeeAlso: #03426

Top
610004SF001B - INT 61 - Banyan VINES - UNIDENTIFIED DRIVE SPECIFIC FUNCTION
INT 61 - Banyan VINES - UNIDENTIFIED DRIVE SPECIFIC FUNCTION
	AX = 0004h subfn 001Bh
	DS:DX -> request block (see #03426)
Return: AX = status
	    0000h success
	    0034h drive not connected
	    0037h drive number out of range
Desc:	The purpose of this function is not known.

Format of request block:
Offset	Size	Description	(Table 03426)
 00h	WORD	001Bh
 02h	BYTE	drive number (0=default, 1=A:, ...)
 03h	BYTE	???
 04h	WORD	???
 06h	DWORD	far pointer to data area
 0Ah	WORD	???
 0Ch	DWORD	far pointer to data area
 10h	WORD	buffer for result
SeeAlso: #03424,#03426

Top
610004SF001C - INT 61 - Banyan VINES - UNIDENTIFIED FUNCTION
INT 61 - Banyan VINES - UNIDENTIFIED FUNCTION
	AX = 0004h subfn 001Ch
	DS:DX -> request block (see #03427)
Return: AX = status
	    0000h success
	    0057h invalid number of entries
Desc:	The purpose of this function is not known.

Format of request block:
Offset	Size	Description	(Table 03427)
 00h	WORD	001Ch
 02h	WORD	???
 04h	WORD	???
 06h	WORD	???
 08h	WORD	???
 0Ah	DWORD	far pointer to data area (14 bytes)

Top
610004 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
	AX = 0004h
Range:	unknown
Notes:	Specify Mode is enabled by hot key (seeAlso below), and allows
	  panning and zooming via the numeric keypad.
	INT 61 is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0007h"OPTIMA",INT 16/AH=FFh"OPTIMA"

Top
610005 - INT 61 - Banyan VINES - PRINT SERVICE CONTROL
INT 61 - Banyan VINES - PRINT SERVICE CONTROL
	AX = 0005h
	DS:DX -> request block (see #03428)
Return: AX = status
	    0000h successful
	    0001h network software not installed or incompatible
Notes:	This service is handled by the redirector
	The size of the request/result block depends on the selected function
	  and the value at offset 04h.
SeeAlso: INT 2F/AX=D702h

Format of VINES request/result block for printer control:
Offset	Size	Description	(Table 03428)
 00h	WORD	function
		0201h "endspool" all data for a print job has been sent
		      (no bytes returned)
		0202h "deassign" the virtual printer port
		    Before the printer port is deassigned all data sent
		      to it is endspooled.
		      (no bytes returned)
		0205h "get_active" get currently active printer port
		      (1 byte required for result)
		    Returns:  - the currently active printer port (1-3) (0 if
				  there is none)
		0207h ??? purpose unknown; called periodically every second
		020Ch "get_bannertitle" gets the title which is printed on the
		      banner page of a print job sent to the virtual port
		      (16 bytes required for result)
		    Returns:  - the null-terminated banner title
		020Eh "get_servicename" gets the name of the print service
		      assigned to the virtual port
		      (64 bytes required for result)
		    Returns:  - the null-terminated print service name assigned
				  to the virtual port
		0210h "set_bannertitle" sets the title which is printed on the
		      banner page of a print job sent to the virtual port
		      (16 bytes required for input)
		    Input:  - the null-terminated banner title (max 16 chars)
		0212h "set_servicename" sets the name of the print service
		      assigned to the virtual port
		      (64 bytes required for input)
		    Input:  - the null-terminated print service name
				  (max 64 chars)
		0216h "get_job_paper_format" gets the paper format for
		      subsequent print jobs
		      (16 bytes required for result)
		    Returns:  - the null-terminated paper format
		0217h "set_job_paper_format" sets the paper format for
		      subsequent print jobs
		      (16 bytes required for input)
		    Input:  - the null-terminated paper format (max 16 chars)
 02h	WORD	number of active virtual port (1-3) (0 for function 0205h)
 04h	WORD	Offset into the request block from which additional input
		  is to be read and/or at which the result is to be copied
		  (if there is any). Therefore the smallest block size for a
		  function which returns a result is
			this offset + the maximum number of returned bytes - 1
 06h	WORD	0000h

Top
610005 - INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
	AX = 0005h
	BX:CX -> buffer for window parameters (see #03429)
Range:	unknown
Notes:	INT 61 is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0003h"OPTIMA",AX=0006h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"

Format of Optima 1024 window parameters:
Offset	Size	Description	(Table 03429)
 00h	WORD	X start of zoom window
 02h	WORD	Y start of zoom window
 04h	WORD	X end of zoom window
 06h	WORD	Y end of zoom window
 08h	WORD	current zoom factor
 0Ah	WORD	zoom offset start X
 0Ch	WORD	zoom offset start Y

Top
610006 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
	AX = 0006h
	BX:CX -> zoom window description (see #03430)
Range:	unknown
Notes:	width of zoom window must be a multiple of the pixel replication (zoom)
	  factor
	INT 61 is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0005h"OPTIMA",AX=0008h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"

Format of Optima 1024 zoom window description:
Offset	Size	Description	(Table 03430)
 00h	WORD	X start of zoom window
 02h	WORD	Y start of zoom window
 04h	WORD	X end of zoom window
 06h	WORD	Y end of zoom window

Top
610006 - INT 61 - Banyan VINES - GET ADDRESS OF GLOBAL VARIABLE
INT 61 - Banyan VINES - GET ADDRESS OF GLOBAL VARIABLE
	AX = 0006h
	BX = bits 14..0: request ID (see #03431)
	     bit  15:	 result destination flag (0 for ES:BX, 1 for AX:BX)
Return: AX = status
	    0000h successful
	    000Bh invalid request
	ES:BX -> internal variable (bit 15 of BX was not set)
	AX:BX -> internal variable (bit 15 of BX was set)
Note:	This service is handled by the redirector
SeeAlso: AX=0004h/SF=0013h,AX=0004h/SF=0014h

(Table 03431)
Values for request IDs:
Request	Length	Description
 0000h	   1	???
 0001h	  16	StreetTalk port
 0002h	   4	StreetTalk session handle
 0003h	   6	colors
 0004h	  64	StreetTalk name of currently logged in user
 0005h	   0	old clear text password (always returns error code 000Bh)
 0006h	   0	default group (not applicable)
 0007h	   1	message queue count
 0008h	   1	message flag
 0009h	  16	TalkPort
 000Ah	   2	TalkPort socket
 000Bh	  64	StreetTalk name of mail service
 000Ch	   2	message timeout
 000Dh	   2	next message place
 000Eh	 246	message queue
 000Fh	  14	system nonce
 0010h	   2	failed login count
 0011h	   1	new mail message received
 0012h	   8	mail capabilities
 0013h	   3	printer port diverted
 0014h	  32	international location
 0015h	  16	IPC port of drive Z:
 0016h	1024	pointer to current directory table
 0017h	   2	maximum number of file volume mappings
 0018h	  24	routine to call back for messages
 0019h	   4	current virtual machine
 001Ah	  20	DOS redirector message bell tones
 001Bh	   2	various flags used for internal communication
 001Ch	   0	OS/2 client configuration (always returns error code 000Bh)
 001Dh	   8	redirector/IFS file version
 001Eh	   0	reserved (always returns error code 000Bh)
 001Fh	   4	address of VVINESD.386 dispatch

Top
610007 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
	AX = 0007h
Return: AX = current state (0000h/0001h)
Desc:	returns the current toggle state of the application (END) key in
	  specify mode. E.g. in the OPTIMA AutoCAD driver, 0 means AutoCAD
	  calls INT 61/AX=0001h every time the crosshair cursor moves.
Notes:	In specify mode, the END key has been reserved for applications.
	INT 61 is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0004h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA",INT 7A/AX=0001h"AutoCAD"

Top
610007BX0000 - INT 61 - Banyan VINES - RECONNECT TO STREETTALK
INT 61 - Banyan VINES - RECONNECT TO STREETTALK
	AX = 0007h
	BX = 0000h
Return: AX = status (see #03432)
SeeAlso: AX=0007h/BX=0002h

(Table 03432)
Values for VINES function status:
 0000h	successful
 0001h	requested handler not installed or incompatible
 000Bh	service busy
 000Ch	invalid request ID
 03E9h	incorrect name syntax
 03EAh	organization name too long
 03EBh	group name too long
 03ECh	item name too long
 03EDh	StreetTalk name too long
 03F3h	organization not found
 03F4h	group not found
 03F5h	StreetTalk name not found
 03F8h	not a StreetTalk name
 0409h	modify access denied
 040Dh	appropriate StreetTalk name unavailable
 0411h	all matching names have been returned
 0412h	some groups unavailable, all available matches returned

Top
610007BX0001 - INT 61 - Banyan VINES - GET MM PORT FOR A SERVICE
INT 61 - Banyan VINES - GET MM PORT FOR A SERVICE
	AX = 0007h
	BX = 0001h
	DS:DX -> StreetTalk service name (64 bytes)
	DS:DI -> 16-byte buffer for IPC port (see #03328 at AX=0001h"Sosock")
Return: AX = status (see #03432)
Notes:	This function calls AX=0007/BX=0002h with the port count set to 1 and
	  the port type set to 00h
SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=000Ah

Top
610007BX0002 - INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
	AX = 0007h
	BX = 0002h
	DS:DX -> StreetTalk service name
	DS:DI -> port record block (see #03433)
Return: AX = status (see #03432)
Note:	if the requested number of ports is greater than five, it will be reset
	  to five
SeeAlso: AX=0007h/BX=0001h,AX=0007h/BX=0003h,AX=0007h/BX=0004h
SeeAlso: AX=0007h/BX=000Ah

Format of VINES port record block:
Offset	Size	Description	(Table 03433)
 00h	WORD	(call) number of 17-byte elements (01h-05h) to be filled
 02h	BYTE	(call) port type for first port
 03h 16 BYTEs	(ret) port (see #03328)
 13h	BYTE	(call) port type for second port
 14h 16 BYTEs	(ret) port (see #03328)
 24h	BYTE	(call) port type for third port
 25h 16 BYTEs	(ret) port (see #03328)
 35h	BYTE	(call) port type for fourth port
 36h 16 BYTEs	(ret) port (see #03328)
 46h	BYTE	(call) port type for fifth port
 47h 16 BYTEs	(ret) port (see #03328)
 57h	BYTE	reserved
SeeAlso: #03435

Top
610007BX0003 - INT 61 - Banyan VINES - FIND A SERVICE
INT 61 - Banyan VINES - FIND A SERVICE
	AX = 0007h
	BX = 0003h
	DS:DX -> port control block (see #03434)
Return: AX = status (see AX=0007h/BX=0000h)
SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=0005h

Format of port control block:
Offset	Size	Description	(Table 03434)
 00h	WORD	???
 02h	WORD	???
 04h 16	BYTEs	IPC port (see #03328 at AX=0001h"Sosock")
 14h  5	WORDs	???
SeeAlso: #03440

Top
610007BX0004 - INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
	AX = 0007h
	BX = 0004h
	DS:DX -> StreetTalk name of service (max 64 bytes)
	DS:DI -> port record block (see #03435)
Return: AX = status (see #03432)
SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0003h,AX=0007h/BX=000Ah

Format of VINES port record block:
Offset	Size	Description	(Table 03435)
 00h	WORD	number of 17-byte elements
 02h	BYTE	port type for first port
 03h 16 BYTEs	first IPC port (see #03328)
 13h	BYTE	port type for second port
 14h 16 BYTEs	second IPC port (see #03328)
 24h	BYTE	port type for third port
 25h 16 BYTEs	third IPC port (see #03328)
 35h	BYTE	port type for fourth port
 36h 16 BYTEs	fourth IPC port (see #03328)
 46h	BYTE	port type for fifth port
 47h 16 BYTEs	fifth IPC port (see #03328)
 57h	BYTE	reserved
SeeAlso: #03433

Top
610007BX0005 - INT 61 - Banyan VINES - GET USER NAME
INT 61 - Banyan VINES - GET USER NAME
	AX = 0007h
	BX = 0005h
	DS:DX -> 64-byte buffer for user's StreetTalk name
Return: AX = status (see also #03432)
	    0000h successful
	    0001h network software not installed or incompatible
Note:	if no user logged in, first byte of returned name will be 00h
SeeAlso: AX=0007h/BX=0007h

Top
610007BX0006 - INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
	AX = 0007h
	BX = 0006h
	SI = error code (>100)
	DS:DX -> 80-byte buffer for error text
Return: AX = status (see also #03432)
	    0000h successful
	    0001h network software not installed or incompatible

Top
610007BX0007 - INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
	AX = 0007h
	BX = 0007h
	DS:DX -> NiceName block (see #03436)
Return: AX = status (see #03432)
SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0008h

Format of VINES NiceName block:
Offset	Size	Description	(Table 03436)
 00h	WORD	type of name
		0064h (100) organization
		00C8h (200) group
		012Ch (300) item
 02h	WORD	pointer to ASCIZ input name
 04h	WORD	pointer to 64-byte buffer for output name
SeeAlso: #03437

Top
610007BX0008 - INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
	AX = 0007h
	BX = 0008h
	DS:DX -> enumerate block (see #03437)
Return: AX = status (see also #03432)
	    0000h successful
	    0411h all matching names have been returned
	    0412h some groups unavailable, all available matches returned
Note:	each program using this call should continue until a nonzero status
	  is returned; otherwise, some resources will not be freed for several
	  hours
SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0007h,AX=0007h/BX=0009h

Format of VINES enumerate block:
Offset	Size	Description	(Table 03437)
 00h	WORD	return code
 02h	WORD	pointer to pattern string
 04h	WORD	enumerate type
		0064h (100) organization
		00C8h (200) group
		012Ch (300) item
 06h	WORD	enumerate class
		0000h unspecified (return all matching items)
		0001h user names
		0002h service names
		0003h list names
		0004h nicknames
 08h	WORD	pointer to category criteria block (see #03438) or 0
 0Ah	WORD	pointer to array of 64-byte returned names
 0Ch	WORD	number of names returned
 0Eh  6 BYTEs	reserved for subsequent enumerated calls (set to zeros on first
		  call)
SeeAlso: #03436

Format of category criteria block:
Offset	Size	Description	(Table 03438)
 00h	WORD	exclude flag
		0000h return only items with the specified categories
		0001h return all items except those with the given categories
 02h	WORD	number of categories (max 5, 0000h = match all categories)
 04h	WORD	category 1 value (see #03439)
 06h	WORD	category 2 value
 08h	WORD	category 3 value
 0Ah	WORD	category 4 value
 0Ch	WORD	category 5 value
SeeAlso: #03437

(Table 03439)
Values for common VINES service categories:
 0001h	server service
 0002h	file service
 0003h	print service
 0004h	mail service
 0005h	StreetTalk
 0006h	time service
 0007h	FTP service
 0008h	semaphore service
 0009h	3270/SNA service
 000Ah	terminal emulation service
 000Bh	asynchronous terminal service
 000Ch	NETBIOS service
 000Dh	PC-based service
 000Eh	BSC service
 000Fh	APPC service
 0010h	NM service
 0011h	VS service
 0012h	POP service
 0013h	AFP service
 0014h	VCS service
 0015h	EMS service
 0016h	LN service
 0017h	BS service
 0023h	RIPL service
 0064h	ADM service
SeeAlso: #03438

Top
610007BX0009 - INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING (SELECTED PORT)
INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING (SELECTED PORT)
	AX = 0007h
	BX = 0009h
	SI = error code
	DS:DX -> 80-byte buffer for error text
	DS:DI -> IPC port (16 bytes; see AX=0001h#"Sosock" for port format)
Return: AX = status (see AX=0007h/BX=0000h)
Note:	Same as AX=0007h/BX=0006h, except IPC port is specified explicitly
SeeAlso: AX=0007h/BX=0006h

Top
610007BX000A - INT 61 - Banyan VINES - internal, OS/2 only - GET MANY PORTS FOR SERVICE
INT 61 - Banyan VINES - internal, OS/2 only - GET MANY PORTS FOR SERVICE
	AX = 0007h
	BX = 000Ah
	DS:DX -> port control block (see #03440)
Return: AX = status (see AX=0007h/BX=0000h)
Note:	This function cannot be called from applications, as the DS register
	  is checked against the redirector data segment address (status code
	  0001h will be returned if DS doesn't match)
SeeAlso: AX=0007h/BX=0001h,AX=0007h/BX=0002h,AX=0007h/BX=0004h

Format of port control block:
Offset	Size	Description	(Table 03440)
 00h	WORD	???
 02h	WORD	???
 04h 16	BYTEs	IPC port (see #03328 at AX=0001h"Sosock")
 14h 14 WORDs	???
SeeAlso: #03434

Top
610008 - INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
	AX = 0008h
	BX = X start of zoom offset
	CX = Y start of zoom offset
Desc:	specifies the first byte of video memory to appear in the zoom window
Range:	unknown
Notes:	INT 61 is the default interrupt; the actual interrupt number can be
	  obtained by calling INT 16/AH=FFh
	not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0006h"OPTIMA",INT 16/AH=FFh"OPTIMA"

Top
610008BX0000 - INT 61 - Banyan VINES - TALKPORT SERVICE - GET HANDLER ADDRESS
INT 61 - Banyan VINES - TALKPORT SERVICE - GET HANDLER ADDRESS
	AX = 0008h
	BX = 0000h
Return: AX = status
	    0000h successful
	ES:DX = far pointer to handler
Desc:	The TalkPort is a facility to display event messages (e.g. mail
	  received, printing on a local printer, ...) on the screen
Note:	This service is handled by the redirector
SeeAlso: AX=0008h/BX=0001h,AX=0008h/BX=0002h

Top
610008BX0001 - INT 61 - Banyan VINES - TALKPORT SERVICE - SET HANDLER ADDRESS
INT 61 - Banyan VINES - TALKPORT SERVICE - SET HANDLER ADDRESS
	AX = 0008h
	BX = 0001h
	ES:DX -> new handler
Return: AX = status
	    0000h successful
SeeAlso: AX=0008h/BX=0000h

Top
610008BX0002 - INT 61 - Banyan VINES - TALKPORT SERVICE - POST MESSAGE ON LOCAL DISPLAY
INT 61 - Banyan VINES - TALKPORT SERVICE - POST MESSAGE ON LOCAL DISPLAY
	AX = 0008h
	BX = 0002h
	CX = message display flags (see #03441)
	DS:DX -> ASCIZ string to display (only first 80 chars used)
Return: AX = status
	    0000h successful
	    000Bh message display function currently busy
	    000Ch message queue full
Notes:	queues up to three messages to be displayed on the bottom line
	This service is handled by the redirector
	In a DOS session, TalkPort messages are displayed on display line 25;
	  in a Windows session, TalkPort messages are displayed in dialog boxes
SeeAlso: AX=0008h/BX=0000h,AX=0008h/BX=0003h

Bitfields for VINES message display flags:
Bit(s)	Description	(Table 03441)
 0	message will remain on screen until user presses ^X
 1	ring bell after displaying message
 2	blink

Top
610008BX0003 - INT 61 - Banyan VINES - TALKPORT SERVICE - INTERCEPT VINES 25th-LINE MESSAGES
INT 61 - Banyan VINES - TALKPORT SERVICE - INTERCEPT VINES 25th-LINE MESSAGES
	AX = 0008h
	BX = 0003h
	DS:DX -> request block (see #03442)
Return: AX = status
	    0000h successful
	    0001h network software not installed or incompatible
Notes:	message handler should not call BIOS or DOS functions, and should
	  either call next handler or simply return
	to stop intercepting messages, set prev and next request blocks to
	  point at each other
SeeAlso: AX=0008h/BX=0002h

Format of VINES request block for 25-th line messages:
Offset	Size	Description	(Table 03442)
 00h	DWORD	pointer to user-written message handler
 04h	DWORD	pointer to next request block (filled in by VINES)
 08h	DWORD	pointer to previous request block (filled in by VINES)
 0Ch	DWORD	pointer to message storage area (filled by VINES) (see #03443)

Format of message storage area:
Offset	Size	Description	(Table 03443)
 00h 16 BYTEs	IPC port of message sender (see #03328)
 10h	BYTE	message flags
 11h	WORD	reserved
 13h	BYTE	length of message
 14h 80 BYTEs	message text
SeeAlso: #03442

Top
610009 - INT 61 - Banyan VINES - NETBIOS CLIENT SERVICE
INT 61 - Banyan VINES - NETBIOS CLIENT SERVICE
	AX = 0009h
	other parameters, if any, unknown

Top
61000A - INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
	AX = 000Ah
Note:	either 3270/SNA or 3270/BSC interface will use AX=000Ah, depending on
	  which is loaded second.  The first interface loaded will use AX=0002h
SeeAlso: INT 61/AX=0002h

Top
61000B - INT 61 - Banyan VINES - SEMAPHORE SERVICE
INT 61 - Banyan VINES - SEMAPHORE SERVICE
	AX = 000Bh
	other parameters, if any, unknown

Top
61000C - INT 61 - Banyan VINES - 3270 KEYBOARD HANDLER
INT 61 - Banyan VINES - 3270 KEYBOARD HANDLER
	AX = 000Ch
	other parameters, if any, unknown

Top
61000D - INT 61 - Banyan VINES - T3270 SERVICE FUNCTION
INT 61 - Banyan VINES - T3270 SERVICE FUNCTION
	AX = 000Dh
	other parameters, if any, unknown

Top
61000E - INT 61 - Banyan VINES - ENHANCED 3270 SERVICE
INT 61 - Banyan VINES - ENHANCED 3270 SERVICE
	AX = 000Eh
	other parameters, if any, unknown

Top
61000F - INT 61 - Banyan VINES - VINES SOCKET API (FAR DATA)
INT 61 - Banyan VINES - VINES SOCKET API (FAR DATA)
	AX = 000Fh
	CX:BX -> request block (see #03444)
	DX = application's data segment (should be = CX)
	ES = DS
Return: AX = status
	    0000h successful
	    0099h invalid operation
	    00A5h resource not available
Desc:	StreetTalk access with session handles
Notes:	This service is handled by the adapter driver
	The request dispatch table contains dummy entries for subfunctions
	  06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
	  (invalid operation) in the request block's result buffer
	This interface does the same as the corresponding AX=0001h interface,
	  but with a slightly modified request block structure (i.e it allows
	  FAR parameter block pointers) and without expecting DS=0001h
	Some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
	  VINES 5.53) ignore the value in CX and use the value from DX instead
SeeAlso: AX=0001h/SF=0001h,AX=000Fh/SF=0001h

Format of VINES Socket request block:
Offset	Size	Description	(Table 03444)
 00h	WORD	subfunction number (01h-16h)
 02h	WORD	magic number (FEFEh)
 04h	WORD	buffer for return code (set to 0 before calling)
 06h	WORD	reserved (will be set to client DS)
 08h	WORD	reserved (obviously not used; set to 0 before calling)
 0Ah	DWORD	far pointer to parameter block
 0Eh	WORD	StreetTalk handle
SeeAlso: #03324 at INT 61/AX=0001h

Top
61000FSF0001 - INT 61 - Banyan VINES - OPEN SOCKET
INT 61 - Banyan VINES - OPEN SOCKET
	AX = 000Fh subfn 0001h
	CX:BX -> request block (see #03445)
	DX = application's data segment (should be = CX)
	ES = DS
Return: AX = status
	    0000h successful
	    00A5h resource not available
Desc:	Opens a socket and returns a socket handle

Format of request block:
Offset	Size	Description	(Table 03445)
 00h	WORD	0001h
 02h	WORD	magic number (FEFEh)
 04h	WORD	buffer for return code (set to 0 before calling)
 06h	WORD	reserved (will be set to client DS)
 08h	WORD	reserved (obviously not used; set to 0 before calling)
 0Ah	DWORD	far pointer to parameter block (see #03446)
 0Eh	WORD	process handle (see AX=000Fh/SF=0008h)

Format of parameter block:
Offset	Size	Description	(Table 03446)
 00h	WORD	reserved
 02h	WORD	address family (0003h = VINES)
 04h	WORD	socket type (0001h = IPC, 0002h = SPP)
 06h	WORD	protocol number (FFFFh = default protocol)
 08h	WORD	reserved
 0Ah	WORD	local port number (0 = transient, 1..1FFh = well-known port)
 0Ch	DWORD	far pointer to socket handle buffer (2 bytes)
 10h	DWORD	far pointer to IPC port buffer (16 bytes)
SeeAlso: #03445

Top
61000FSF0002 - INT 61 - Banyan VINES - SEND MESSAGE ON A SOCKET
INT 61 - Banyan VINES - SEND MESSAGE ON A SOCKET
	AX = 000Fh subfn 0002h
	CX:BX -> request block (see #03447)
	DX = application's data segment (should be = CX)
	ES = DS
Return: AX = status
	    0000h successful
	    00A5h resource not available
Desc:	send data to a socket identified by its socket handle

Format of request block:
Offset	Size	Description	(Table 03447)
 00h	WORD	0002h
 02h	WORD	magic number (FEFEh)
 04h	WORD	buffer for return code (set to 0 before calling)
 06h	WORD	reserved (will be set to client DS)
 08h	WORD	reserved (obviously not used; set to 0 before calling)
 0Ah	DWORD	far pointer to parameter block (see #03448)
 0Eh	WORD	process handle (see AX=000Fh/SF=0008h)

Format of parameter block:
Offset	Size	Description	(Table 03448)
 00h	WORD	buffer for estimated communication cost in 220 msec ticks
 02h	WORD	buffer for return code (set to 0 before calling)
 04h	WORD	socket handle
 06h	DWORD	far pointer to IPC/SPP message buffer
 0Ah	WORD	length of IPC/SPP message buffer
 0Ch	WORD	option flags
		bit 0: asynchronous communication
		bit 1: reliable message
		bit 3: end of message
		bit 4: vectored I/O
 0Eh 16	BYTEs	socket address (IPC port of source)
 1Eh	WORD	not used (set to 0 before calling)
 20h	WORD	SPP connection id (0 for IPC messages)
 22h	WORD	request type (1 = data, 2 = connect SPP, 3 = disconnect SPP)
SeeAlso: #03447

Top
61000FSF0004 - INT 61 - Banyan VINES - CLOSE SOCKET
INT 61 - Banyan VINES - CLOSE SOCKET
	AX = 000Fh subfn 0004h
	CX:BX -> request block (see #03449)
	DX = application's data segment (should be = CX)
	ES = DS
Return: AX = status
	    0000h successful
	    00A5h resource not available
Desc:	Closes a socket identified by its socket handle

Format of request block:
Offset	Size	Description	(Table 03449)
 00h	WORD	0004h
 02h	WORD	magic number (FEFEh)
 04h	WORD	buffer for return code (set to 0 before calling)
 06h	WORD	reserved (will be set to client DS)
 08h	WORD	reserved (obviously not used; set to 0 before calling)
 0Ah	DWORD	far pointer to socket handle (2 bytes)
 0Eh	WORD	process handle (see AX=000Fh/SF=0008h)

Top
61000FSF0008 - INT 61 - Banyan VINES - GET PROCESS HANDLE
INT 61 - Banyan VINES - GET PROCESS HANDLE
	AX = 000Fh subfn 0008h
	CX:BX -> request block (see #03450)
	DX = application's data segment (should be = CX)
	ES = DS
Return: AX = status
	    0000h successful
	    00A5h resource not available
Desc:	Returns a process handle to be used in other request blocks
Notes:	This function is a prerequisite to all AX=000Fh subfunctions which
	  expect a process handle in the request block
	Although subsequent calls from the same application return different
	  process handles, there seem to be no restrictions on how many times
	  an application may call this function (in fact, the code in the VINES
	  toolkit library always calls it before issueing other AX=000Fh calls)

Format of request block:
Offset	Size	Description	(Table 03450)
 00h	WORD	0008h
 02h	WORD	magic number (FEFEh)
 04h	WORD	buffer for return code (set to 0 before calling)
 06h	WORD	reserved
 08h	WORD	reserved (obviously not used; set to 0 before calling)
 0Ah	DWORD	process type (1 = transient, 2 = resident; destroyed on exit)
 0Eh	WORD	buffer for process handle

Top
610010 - INT 61 - Banyan VINES - INTERFACE TO NBNS
INT 61 - Banyan VINES - INTERFACE TO NBNS
	AX = 0010h
	other parameters, if any, unknown

Top
6101 - INT 61 - Banyan VINES - CHECK SERVICE
INT 61 - Banyan VINES - CHECK SERVICE
	AH = 01h
	AL = service ID (see #03451)
Return: AX = status
	    0000h installed
	    0001h not installed
	    0002h invalid ID
	    0003h invalid function
Note:	Only the offset part of the service pointer is checked for a nonzero
	  value
SeeAlso: AH=00h,AH=02h"VINES",AH=03h"VINES"

(Table 03451)
Values for VINES service ID:
 01h	communications
 02h	primary 3270 emulation
 03h	async terminal emulation
 04h	file deflection
 05h	print service control
 06h	get address of something
 07h	StreetTalk access service
 08h	environment
 09h	NETBIOS client service
 0Ah	secondary 3270 emulation
 0Bh	semaphore service
 0Ch	3270 emulation active status
 0Dh	T3270 keyboard interrupt simulator
 0Eh	enhanced 3270 service
 0Fh	comm Windows entry point
 10h	interface to NBNS

Top
6101--BX0000 - INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
	AH = 01h
	BX = 0000h
	DH = tag number
	DL = device number
	DS:SI -> buffer to send to kernel
	ES:DI -> integer containing size of buffer
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Range:	INT 20 to INT E0, selected by configuration
Notes:	there are a large number of tags available; the items returned
	  all refer to local kernel configuration, and are not needed in
	  normal use.
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=02h"PC/TCP"

Top
6102 - INT 61 - Banyan VINES - GET REVISION NUMBER
INT 61 - Banyan VINES - GET REVISION NUMBER
	AH = 02h
	DS:DX -> 2-byte buffer for result
Return: AX = 0000h installed
	    DS:DX buffer contains revision number as
		10000d * major_ver + 100d * minor_ver + patch_revision
SeeAlso: AH=01h"VINES",AH=04h"VINES",AH=07h"VINES"

Top
6102--BX0000 - INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
	AH = 02h
	BX = 0000h
	DH = tag number
	DL = device number
	DS:SI -> buffer for result (up to 48 bytes for version <= 2.2)
	ES:DI -> integer containing size of buffer
Return: CF clear if successful
	    Data loaded into specified buffer, and size value altered
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Range:	INT 20 to INT E0, selected by configuration
Notes:	there are a large number of tags available; the items returned
	  all refer to local kernel configuration, and are not needed in
	  normal use.
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"

Top
6103 - INT 61 - Banyan VINES - INSTALL SERVICE HANDLER
INT 61 - Banyan VINES - INSTALL SERVICE HANDLER
	AH = 03h
	AL = service ID (see #03451)
	DS:DX -> new service handler
Return: AX = 0000h successful
SeeAlso: AH=00h,AH=01h"VINES",AH=02h"VINES",AH=05h"VINES"

Top
6104 - INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE
INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE
	AH = 04h
	DS:DX -> 2-byte buffer containing the VINES revision number
	    DS:DX buffer contains revision number as
		10000d * major_ver + 100d * minor_ver + patch_revision
Return: AX = status
	    0000h valid version
	    0004h out of range
Note:	For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
SeeAlso: AH=02h"VINES",AH=07h"VINES",AH=08h"VINES"

Top
6105 - INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
	AH = 05h
	BX = network descriptor
Return: CF clear if successful
	    DX:AX = Internet address of ND
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
InstallCheck:	test for the signature "TCPTSR" three bytes beyond the start
	  of the interrupt handler
Range:	INT 20 to INT E0, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=16h"PC/TCP"
SeeAlso: INT 63/AH=25h"BW-TCP"

Top
6105 - INT 61 - Banyan VINES - READ PCCONFIG BYTES
INT 61 - Banyan VINES - READ PCCONFIG BYTES
	AH = 05h
	CX = number of bytes to copy
	    (max. 0175h for VINES 4.00, max. 017Fh for VINES 4.10+)
	SI = offset of area to be copied (see #03452,#03453)
Return: AX = status
	    0000h successful
	    0004h out of range
Notes:	The PCCONFIG area is located in the code segment of the BANV handler
	To find out which PCCONFIG structure applies, call this function first
	  with CX=0006h to get the VINES revision number
SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=06h"VINES",AH=0Bh"VINES"

Format of PCCONFIG area (VINES 4.00):
Offset	Size	Description	(Table 03452)
 00h  6	BYTEs	VINES revision (ASCII, zero-padded)
 06h  2	BYTEs	NEWREV-number (ASCII, two digits)
 08h	WORD	hardware interrupt level
 0Ah	WORD	DMA channel
 0Ch	WORD	I/O address
 0Eh	DWORD	adapter ROM address (linear)
 12h	DWORD	adapter RAM address (linear)
 16h	WORD	BANV interrupt
 18h 32	BYTEs	default login group #1
 38h 32	BYTEs	default login group #2
 58h 32	BYTEs	default login group #3
 78h	WORD	semaphore locking support flag
 7Ah	WORD	extended StreetTalk flag
 7Ch	WORD	maximum number of file volumes
 7Eh	WORD	NetBIOS flag
 80h 60	BYTEs	default network adapter
 BCh 60	BYTEs	default communications driver
 F8h	WORD	maximum number of SPP connections
 FAh	WORD	maximum number of open sockets
 FCh	WORD	communications buffer size (10..60 KB)
 FEh 20	BYTEs	location directory on drive Z:
112h 33	BYTEs	auxiliary configuration area #1 (see #03454)
133h 33	BYTEs	auxiliary configuration area #2
154h 33	BYTEs	auxiliary configuration area #3
SeeAlso: #03453

Format of PCCONFIG area (VINES 4.10+):
Offset	Size	Description	(Table 03453)
 00h  6	BYTEs	VINES revision (ASCII, zero-padded)
 06h  2	BYTEs	NEWREV-number (ASCII, two digits)
 08h	WORD	hardware interrupt level
 0Ah	WORD	DMA channel
 0Ch	WORD	I/O address
 0Eh	DWORD	adapter ROM address (linear)
 12h	DWORD	adapter RAM address (linear)
 16h	WORD	BANV interrupt
 18h 32	BYTEs	default login group #1
 38h 32	BYTEs	default login group #2
 58h 32	BYTEs	default login group #3
 78h	WORD	semaphore locking support flag
 7Ah	WORD	extended StreetTalk flag
 7Ch	WORD	named pipes support flag
 7Eh	WORD	maximum number of file volumes
 80h	WORD	NetBIOS flag
 82h 60	BYTEs	default network adapter
 BEh 60	BYTEs	default communications driver
 FAh	WORD	maximum number of SPP connections
 FCh	WORD	maximum number of open sockets
 FEh	WORD	communications buffer size (10..60 KB)
100h	WORD	number of mailslots
102h	WORD	maximum number of open files
104h	WORD	maximum number of NetBIOS sessions
106h	WORD	maximum number of NetBIOS commands
108h 20	BYTEs	location directory on drive Z:
11Ch 33	BYTEs	auxiliary configuration area #1 (see #03454)
13Dh 33	BYTEs	auxiliary configuration area #2
15Eh 33	BYTEs	auxiliary configuration area #3

Format of auxiliary configuration area:
Offset	Size	Description	(Table 03454)
 00h 16	BYTEs	item name (no zero terminator if length = 16)
 10h	BYTE	item value type (1=text, else numeric)
 11h 16	BYTEs	item value (string if type 1, else DWORD)
SeeAlso: #03452,#03453

Top
6106 - INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
	AH = 06h
	BX = network descriptor (must be allocated and open)
	DS:SI -> 38-byte buffer for interface statistics (see #03455)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (see #03319)
Desc:	returns the statistics relevant to the particular network interface
	   used by the specified network descriptor
Range:	INT 20 to INT E0, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=05h"PC/TCP"

Format of PC/TCP interface statistics:
Offset	Size	Description	(Table 03455)
 00h	WORD	interface class (e.g. 802.3)
 02h	WORD	type (manufacturer) of interface
 04h	WORD	interface number
 06h	DWORD	(big-endian) IP address of interface
 0Ah	DWORD	subnet mask
 0Eh	WORD	0001h if interface is up
 10h	DWORD	total packets received
 14h	DWORD	total packets sent
 18h	DWORD	receive errors
 1Ch	DWORD	send errors
 20h	WORD	length of local net address (e.g. 0006h for Ethernet)
 22h	DWORD	pointer to local net address

Top
6106 - INT 61 - Banyan VINES - GET PCCONFIG BASE ADDRESS
INT 61 - Banyan VINES - GET PCCONFIG BASE ADDRESS
	AH = 06h
	DS:DX -> 4-byte buffer for far pointer to PCCONFIG area
Return: AX = 0000h successful
Note:	The PCCONFIG area is located in the code segment of the BANV handler
SeeAlso: AH=05h"VINES",AH=0Bh"VINES"

Top
6107 - INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
	AH = 07h
	BX = local network descriptor
Return: CF clear if successful
	    AX = global network descriptor
	CF set on error
	    AX = error code (see #03319)
Notes:	the new network descriptor can be accessed from all processes and is
	  independent of DOS
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
SeeAlso: INT 61/AH=29h

Top
6107 - INT 61 - Banyan VINES - GET VINES REVISION NUMBER (LONG)
INT 61 - Banyan VINES - GET VINES REVISION NUMBER (LONG)
	AH = 07h
	DS:DX -> 4-byte buffer for result
Return: AX = 0000h successful
	    DS:DX buffer contains revision number as
		10000d * major_ver + 100d * minor_ver + patch_revision
SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=08h"VINES"

Top
6107 - INT 61 - Atari Portfolio - FORMAT CREDIT CARD MEMORY
INT 61 - Atari Portfolio - FORMAT CREDIT CARD MEMORY
	AH = 07h
	AL = drive number (00h = A:,01h = B:)
Return: CF clear if successful
	CF set on error
	    AH = error code (see #00234 at INT 13/AH=01h)
Note:	do not use this function to format the internal disk (drive number 02h)
SeeAlso: AH=00h"Portfolio",AH=08h"Portfolio",AH=09h"Portfolio"

Top
6108 - INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
	AH = 08h
	BX = network descriptor
Return: CF clear if successful
	    AX = 0000h (BWPCTCP shim)
	CF set on error
	    AX = error code (see #03319)
Range:	INT 20 to INT E0, selected by configuration
Note:	the descriptor will be closed and resources released.  If a stream
	  descriptor, the protocol (FIN etc) is completed unless the
	  non-blocking option has been set.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=09h"PC/TCP"
SeeAlso: INT 63/AH=0Eh"BW-TCP"

Top
6108 - INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE (LONG)
INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE (LONG)
	AH = 08h
	DS:DX -> 4-byte buffer containing the VINES revision number
	    DS:DX buffer contains revision number as
		10000d * major_ver + 100d * minor_ver + patch_revision
Return: AX = status
	    0000h valid version
	    0004h out of range
Note:	For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
SeeAlso: AH=04h"VINES",AH=07h"VINES"

Top
6108 - INT 61 - Atari Portfolio - GET SIZE OF INTERNAL DISK
INT 61 - Atari Portfolio - GET SIZE OF INTERNAL DISK
	AH = 08h
Return: AX = segment address of RAMdisk
	BX = size in KB
SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=09h"Portfolio"

Top
6109 - INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
	AH = 09h
Return: CF clear
Range:	INT 20 to INT E0, selected by configuration
Notes:	this call performs function 08h on every non-global network descriptor.
	  Global descriptors must be released individually.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
SeeAlso: INT 63/AH=0Eh"BW-TCP"

Top
6109 - INT 61 - Banyan VINES - GET VALUE OF AN OS/2 BACKEND VARIABLE
INT 61 - Banyan VINES - GET VALUE OF AN OS/2 BACKEND VARIABLE
	AH = 09h
	other parameters, if any, unknown
SeeAlso: AH=0Ah"VINES"

Top
6109 - INT 61 - Atari Portfolio - FORMAT INTERNAL DISK
INT 61 - Atari Portfolio - FORMAT INTERNAL DISK
	AH = 09h
	BX = desired size of disk in KB
Return: CF clear if successful
	CF set on error
	    BX = maximum possible size in KB
Desc:	resize and erase the internal RAMdisk, then reboot the system
SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=08h"Portfolio"
SeeAlso: AH=0Bh"Portfolio"

Top
610A - INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
	AH = 0Ah
	???
Return: ???
Notes:	this function is described as "unused" in the v2.05 and v2.2
	  documentation
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: AH=0Bh

Top
610A - INT 61 - Banyan VINES - SET VALUE OF AN OS/2 BACKEND VARIABLE
INT 61 - Banyan VINES - SET VALUE OF AN OS/2 BACKEND VARIABLE
	AH = 0Ah
	other parameters, if any, unknown
SeeAlso: AH=09h"VINES"

Top
610B - INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
	AH = 0Bh
	???
Return: ???
Range:	INT 20 to INT E0, selected by configuration
Notes:	this function is described as "unused" in the v2.05 and v2.2
	  documentation
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: AH=0Ah

Top
610B - INT 61 - Banyan VINES - SET PCCONFIG IN BACKEND
INT 61 - Banyan VINES - SET PCCONFIG IN BACKEND
	AH = 0Bh
	other parameters, if any, unknown
SeeAlso: AH=05h"VINES",AH=06h"VINES"

Top
610B - INT 61 - Atari Portfolio - DETERMINE CCM VALIDITY
INT 61 - Atari Portfolio - DETERMINE CCM VALIDITY
	AH = 0Bh
	AL = drive number (00h = A:,01h = B:)
Return: CF clear if successful (card present and correct)
	CF set on error
	    AH = error code (see #00234 at INT 13/AH=01h)
SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=0Dh"Portfolio"

Top
610C - INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
	AH = 0Ch
	BX = network descriptor or one of the following:
	    FFFCh for kernel ICMP statistics (see #03459)
	    FFFDh for kernel UDP statistics (see #03458)
	    FFFEh for kernel IP statistics (see #03457)
	    FFFFh for kernel TCP statistics (see #03456)
	DS:DX -> 64-byte buffer
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (see #03319)
Notes:	the fields filled in for a network descriptor depend on the protocol
	  family used by that descriptor's connection
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Format of PC/TCP kernel TCP statistics:
Offset	Size	Description	(Table 03456)
 00h 16 BYTEs	unused
 10h	DWORD	bytes sent
 14h	DWORD	bytes received
 18h  8 BYTEs	unused
 20h	DWORD	packets sent
 24h	DWORD	packets received
 28h	DWORD	bad checksums
 2Ch	DWORD	count of window ignored by remote
 30h	DWORD	timeouts
 34h	DWORD	resets
 38h	DWORD	duplicate packets
 3Ch	DWORD	retransmits
SeeAlso: #03457,#03458,#03459

Format of PC/TCP kernel IP statistics:
Offset	Size	Description	(Table 03457)
 00h  8 BYTEs	unused
 08h	DWORD	invalid IP header length errors
 0Ch	DWORD	protocol errors (unwanted packets)
 10h	DWORD	duplicate fragments received
 14h	DWORD	bad fragments received
 18h	DWORD	security errors
 1Ch	DWORD	count of bad IP addresses received
 20h	DWORD	packets sent
 24h	DWORD	packets received
 28h	DWORD	bad checksums received
 2Ch	DWORD	total IP protocol errors
 30h	DWORD	fragmentation errors
 34h	DWORD	IP packets discarded + bad security + bad fragments
 38h	DWORD	fragments received
 3Ch  4 BYTEs	unused
SeeAlso: #03456,#03458,#03459

Format of PC/TCP kernel UDP statistics:
Offset	Size	Description	(Table 03458)
 00h 28 BYTEs	unused
 1Ch	DWORD	packets dropped for lack of buffers
 20h	DWORD	packets sent
 24h	DWORD	packets received
 28h	DWORD	bad checksums
 2Ch	DWORD	port not listening errors
 30h  4 BYTEs	unused
 34h	DWORD	truncated receives
 38h  8 BYTEs	unused
SeeAlso: #03456,#03457,#03459

Format of PC/TCP kernel ICMP statistics:
Offset	Size	Description	(Table 03459)
 00h	DWORD	"TimeEx" sent
 04h	DWORD	"TimeEx" received
 08h	DWORD	"ParamProb" sent
 0Ch	DWORD	"ParamProb" received
 10h	DWORD	redirects received
 14h	DWORD	source quenches received
 18h	DWORD	ICMP Echo Requests ("ping") sent
 1Ch	DWORD	ICMP Echo Requests received
 20h	DWORD	packets sent
 24h	DWORD	packets received
 28h	DWORD	bad packets received
 2Ch	DWORD	"DestUn" received
 30h	DWORD	packet send errors
 34h	DWORD	"DestUn" sent
 38h	DWORD	ICMP Echo replies received
 3Ch	DWORD	ICMP Echo replies sent
SeeAlso: #03456,#03457,#03458

Top
610D - INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
	AH = 0Dh
	BX = possible network descriptor
Return: CF clear if valid
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
SeeAlso: INT 61/AH=22h

Top
610D - INT 61 - Atari Portfolio - GET SCREEN SIZE
INT 61 - Atari Portfolio - GET SCREEN SIZE
	AH = 0Dh
Return: AX = physical screen size (AH=rows, AL=columns)
	DX = logical screen size (DH=rows, DL=columns)
SeeAlso: AH=00h"Portfolio",AH=0Bh"Portfolio",AH=0Eh"Portfolio"

Top
610E - INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
	AH = 0Eh
	BX = maximum value of network descriptor for which to return info
	DS:DX -> 32-bit (max) array of bit flags for read readiness
	ES:DI -> 32-bit (max) array of bit flags for write readiness
Return: CF clear
InstallCheck:	test for the signature "TCPTSR" three bytes beyond the start
	  of the interrupt handler
Range:	INT 20 to INT E0, selected by configuration
Notes:	bits in the DS:DX buffer are set if the corresponding network
	  descriptor may be read without blocking; bits in the ES:DI buffer
	  are set if the corresponding network descriptor may be written
	  without blocking.  This implies that the network descriptor has
	  opened correctly and the protocol initialized.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
610E - INT 61 - Atari Portfolio - GET/SET SCREEN MODE
INT 61 - Atari Portfolio - GET/SET SCREEN MODE
	AH = 0Eh
	AL = function
	    00h get mode
	    01h set mode
		DL = new mode (see #03460)
Return: DL = current/old mode
Note:	if changing the mode places the cursor position or virtual screen
	  origin outside the displayed area, the screen origin will be reset
	  to (0,0), the screen cleared, and the cursor position set to (0,0)
SeeAlso: AH=00h"Portfolio",AH=0Dh"Portfolio",AH=0Fh"Portfolio",INT 10/AH=00h

Bitfields for Atari Portfolio screen mode:
Bit(s)	Description	(Table 03460)
 0	40x8 mode instead of 80x25
 1	tracked mode
 7	graphics
Note:	the above bits are mutually exclusive

Top
610F - INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
	AH = 0Fh
Return: CF clear
	AX = version (AH = major, AL = minor)
	BX = patch level
Notes:	patch levels are no longer used starting with version 2.10; instead,
	  the minor version level is incremented.
	Beame&Whiteside's BWPCTCP v3.0a shim reports version 2.05, but does not
	  set BX
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
610F - INT 61 - Atari Portfolio - GET/SET CURSOR MODE
INT 61 - Atari Portfolio - GET/SET CURSOR MODE
	AH = 0Fh
	AL = function
	    00h get mode
	    01h set mode
		BL = new cursor mode
			00h cursor off
			01h underline
			02h block
	    02h force mode (set size to reflect NumLock state)
Return: BL = current/old cursor mode
SeeAlso: AH=00h"Portfolio",AH=0Eh"Portfolio",AH=10h"Portfolio",INT 10/AH=01h

Top
6110 - INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
	AH = 10h
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Range:	INT 20 to INT E0, selected by configuration
Note:	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
6110 - INT 61 - Atari Portfolio - GET/SET VIRTUAL SCREEN POSITION
INT 61 - Atari Portfolio - GET/SET VIRTUAL SCREEN POSITION
	AH = 10h
	AL = function
	    00h get position
		Return: DH,DL = current row,column
	    01h set position
		DH = row
		DL = column
Desc:	get or specify the upper-left corner of the 40x8 window into the
	  logical screen
SeeAlso: AH=00h"Portfolio",AH=0Eh"Portfolio",AH=0Fh"Portfolio"
SeeAlso: AH=11h"Portfolio"

Top
6111 - INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
	AH = 11h
Return: CF clear
	AX = previous state
	    0000h async calls were already disabled
	    else  async calls were enabled
SeeAlso: INT 61"FTP Software",INT 61/AH=12h

Top
6111 - INT 61 - Atari Portfolio - MOVE VIRTUAL SCREEN ORIGIN
INT 61 - Atari Portfolio - MOVE VIRTUAL SCREEN ORIGIN
	AH = 11h
	AL = number of lines to move
	DL = direction of move (1=up, 2=down, 3=left, 4=right)
SeeAlso: AH=00h"Portfolio",AH=10h"Portfolio",AH=12h"Portfolio"

Top
6112 - INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
	AH = 12h
Return: CF clear
	AX = previous state
	    0000h async calls were disabled
	    else  async calls were already enabled
SeeAlso: INT 61"FTP Software",INT 61/AH=11h

Top
6112 - INT 61 - Atari Portfolio - SCREEN REFRESH
INT 61 - Atari Portfolio - SCREEN REFRESH
	AH = 12h
Return: nothing
Desc:	copy contents of video RAM to LCD controller
SeeAlso: AH=10h"Portfolio",AH=11h"Portfolio",AH=15h"Portfolio"

Top
6113 - INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
	AH = 13h
	BX = network descriptor (FFFFh for automatic net_getdesc)
	DX = protocol (see #03461)
	DS:SI -> buffer for "addr" structure (see #03462)
Return: CF clear if successful
	    AX = network descriptor used or allocated
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	resets the connection with AH=19h in various cases
	will wait for protocol on stream connections unless non-blocking was
	  set with AH=20h
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=18h,INT 61/AH=23h
SeeAlso: INT 63/AH=14h"BW-TCP"

(Table 03461)
Values for PC/TCP protocol:
 0001h	raw net (undocumented)
 0002h	raw IP
 0003h	datagram (UDP)
 0004h	stream (TCP)
 0005h	raw ICMP

Format of structure "addr":
Offset	Size	Description	(Table 03462)
 00h	DWORD	Internet address (network order)
 04h	WORD	remote socket number (network order)
 06h	WORD	local socket number (network order) 0000h means "you choose"
 08h	BYTE	protocol (see #03461)

Top
6114 - INT 61 Ou - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
INT 61 Ou - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
	AH = 14h
	BX = network descriptor
Return: CF set
	    AX = 0018h (see #03319 at INT 61"FTP Software")
Notes:	displays error message "Illegal system call!  Please upgrade your
	  PCserver software" to standard output
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=0Ah,INT 61/AH=15h

Top
6115 - INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
	AH = 15h
	???
Return: ???
Notes:	this function is described as "unused" in the v2.2 documentation
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61/AH=0Bh,INT 61/AH=14h

Top
6115 - INT 61 - Atari Portfolio - SOUND GENERATION
INT 61 - Atari Portfolio - SOUND GENERATION
	AH = 15h
	AL = function
	    00h key click
	    01h beep
	    02h alarm
Return: nothing
SeeAlso: AH=00h"Portfolio",AH=12h"Portfolio",AH=16h"Portfolio"

Top
6116 - INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
	AH = 16h
	BX = network descriptor
	DS:DX -> 9-byte buffer for "addr" structure (see #03462)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Range:	INT 20 to INT E0, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
6116 - INT 61 - Atari Portfolio - MELODY TONE GENERATOR
INT 61 - Atari Portfolio - MELODY TONE GENERATOR
	AH = 16h
	CX = length of tones in 1/100 sec
	DL = tone code (see #03463)
SeeAlso: AH=15h"Portfolio",AH=17h"Portfolio"

(Table 03463)
Values for Atari Portfolio tone code:
 04h	A6#01864.7 Hz
 05h	B6	1975.5 Hz
 06h	D7	2348.3 Hz
 07h	D7#	2489.0 Hz
 0Eh	F6#	1480.0 Hz
 25h	C7	2093.0 Hz
 29h	D6	1174.7 Hz
 2Ch	G6#	1661.2 Hz
 2Fh	C7#	2217.5 Hz
 30h	D5#	622.3 Hz
 31h	E5	659.3 Hz
 32h	F5	698.5 Hz
 33h	F5#	740.0 Hz
 34h	G5	784.0 Hz
 35h	G5#	830.6 Hz
 36h	A5	880.6 Hz
 37h	A5#	932.3 Hz
 38h	B5	987.8 Hz
 39h	C6	1046.5 Hz
 3Ah	C6#	1108.7 Hz
 3Bh	D6#	1244.5 Hz
 3Ch	E6	1318.5 Hz
 3Dh	F6	1396.9 Hz
 3Eh	G6	1568.9 Hz
 3Fh	A6	1760.0 Hz

Top
6117 - INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
	AH = 17h
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	this routine is deprecated in v2.1+ and will eventually be withdrawn;
	  in v2.1+, this function calls AH=01h which should be used instead
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"

Top
6117 - INT 61 - Atari Portfolio - DIAL NUMBER
INT 61 - Atari Portfolio - DIAL NUMBER
	AH = 17h
	DS:SI -> ASCII string containing number to dial
	CX = length of string
Note:	valid characters for string are "0123456789ABCD*#"
SeeAlso: AH=00h"Portfolio",AH=15h"Portfolio",AH=16h"Portfolio"
SeeAlso: AH=18h"Portfolio"

Top
6118 - INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
	AH = 18h
	BX = network descriptor
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	a TCP "FIN" command is sent and no further data may be transmitted,
	  although the connection remains open
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=13h"PC/TCP"
SeeAlso: INT 63/AH=0Eh"BW-TCP"

Top
6118 - INT 61 - Atari Portfolio - MUTE STATES
INT 61 - Atari Portfolio - MUTE STATES
	AH = 18h
	AL = function
	    00h get mute state
	    01h set mute state
	    02h get key click state
	    03h set key click state
	    04h get beep state
	    05h set beep state
	    06h get alarm state
	    07h set alarm state
	    08h get DTMF duration
	    09h set DTMF duration
	DL = new state ("set" functions) (00h off [muted], 01h on)
Return: DL = current state ("get" functions) (00h off [muted], 01h on)
SeeAlso: AH=15h"Portfolio",AH=16h"Portfolio",AH=17h"Portfolio"
SeeAlso: AH=19h"Portfolio"

Top
6119 - INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
	AH = 19h
	BX = network descriptor
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Desc:	immediately destroys the specified connection
Note:	send a TCP "RST" command if a stream connection is open
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=24h

Top
6119 - INT 61 - Atari Portfolio - GET SERIAL PORT PARAMETERS
INT 61 - Atari Portfolio - GET SERIAL PORT PARAMETERS
	AH = 19h
	DX = serial port number
Return: AH = status
	    00h successful
		AL = composite parameters (see #00300 at INT 14/AH=00h"SERIAL")
	    other error
SeeAlso: AH=00h"Portfolio",AH=15h"Portfolio",AH=1Ah"Portfolio"

Top
611A - INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
	AH = 1Ah
	BX = network descriptor
	CX = number of bytes to transmit (0000h allowed)
	DX = send options (see #03464)
	DS:SI -> data to be written
Return: CF clear if successful
	    AX = number of bytes actually written
	    DX = ???
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
InstallCheck:	test for the signature "TCPTSR" three bytes beyond the start
	  of the interrupt handler
Range:	INT 20h to INT E0h, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
SeeAlso: INT 63/AH=19h"BW-TCP",INT 63/AH=1Bh"BW-TCP"

Bitfields for PC/TCP send options:
Bit(s)	Description	(Table 03464)
 0	signal "URG"ent data
 3	attempt rerouting on non-stream calls if first attempt fails
 4	send data with PUSH flag (no override of Nagle)
 5	fail rather than truncating datagram
 6	fail rather than blocking
 7	broadcast packet

Top
611A - INT 61 - Atari Portfolio - GET PERIPHERAL ID BYTE
INT 61 - Atari Portfolio - GET PERIPHERAL ID BYTE
	AH = 1Ah
Return: AH = peripheral ID byte
	AL = 00h if no peripheral installed
Desc:	get the ID code for the current terminating peripheral
SeeAlso: AH=00h"Portfolio",AH=18h"Portfolio",AH=1Bh"Portfolio"

Top
611B - INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
	AH = 1Bh
	BX = network descriptor
	CX = maximum number of bytes to read
	DX = receive options (see #03465)
	DS:SI -> buffer for data
	ES:DI -> "addr" structure (see #03462) for remote from which to read
		0000h:0000h for any
Return: CF clear if successful
	    AX = number of bytes actually read
	    DX = ???
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh

Bitfields for PC/TCP receive options:
Bit(s)	Description	(Table 03465)
 1	do not remove data from queue, just copy it
 2	do not copy data, just remove it from queue
 5	fail if datagram would be truncated
 6	do not block, return error if no data available
Note:	special case for UDP: if both 1 and 2 set, return number of datagrams

Top
611B - INT 61 - Atari Portfolio - SET PERIPHERAL ID BYTE
INT 61 - Atari Portfolio - SET PERIPHERAL ID BYTE
	AH = 1Bh
	AL = which peripheral to set
	    00h serial
	    01h parallel
	DL = peripheral ID
Return: nothing
Desc:	specify that a peripheral is compatible with the BIOS serial or
	  parallel services
SeeAlso: AH=1Ah"Portfolio",AH=1Ch"Portfolio"

Top
611C - INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
	AH = 1Ch
	BX = network descriptor
	CX = number of bytes to transmit (0000h allowed)
	DX = send options (see #03464)
	DS:SI -> data to be written
	ES:DI -> "addr" structure (see #03462)
Return: CF clear if successful
	    AX = number of bytes actually written
	    DX = ???
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	this function differs from AH=1Ah in that the address and socket
	  numbers can be overridden
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
SeeAlso: INT 63/AH=21h"BW-TCP"

Top
611C - INT 61 - Atari Portfolio - PRESET/GET PERIPHERAL DATA
INT 61 - Atari Portfolio - PRESET/GET PERIPHERAL DATA
	AH = 1Ch
	AL = function
	    00h preset data values
		BL = data value
		DX = I/O address
	    01h get data values
	BH = table entry number (04h-09h)
Return: if function 01h
	    BL = data value
	    DX = I/O address
Desc:	preset peripheral I/O data in a table mapping I/O addresses to data
	  values; function 00h additionally outputs the data value to the
	  I/O port
SeeAlso: AH=1Ah"Portfolio",AH=1Bh"Portfolio",AH=1Eh"Portfolio"

Top
611D - INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
	AH = 1Dh
	BX = network descriptor
	CX = maximum number of bytes to read
	DX = receive options (see #03464)
	DS:SI -> buffer for received data
	ES:DI -> 9-byte buffer containing "addr" structure (see #03462)
Return: CF clear if successful
	    AX = number of bytes read
	    DX = ???
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	this function can read from any host or a designated host depending
	  on settings in the "addr" structure
	only for use with datagram or Raw descriptors
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch

Top
611E - INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
	AH = 1Eh
	BX = network descriptor
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Range:	INT 20 to INT E0, selected by configuration
Notes:	bufferred data is transmitted immediately, overriding Nagle's algorithm
	  if necessary
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
611E - INT 61 - Atari Portfolio - GET/SET CLOCK TICK SPEED
INT 61 - Atari Portfolio - GET/SET CLOCK TICK SPEED
	AH = 1Eh
	AL = function
	    00h get speed
	    01h set speed
		BX = clock tick speed
		    0000h tick every 128 seconds
		    0001h tick every second
Return: if function 00h
	    BX = clock tick speed
Note:	the faster tick speed also uses more power
SeeAlso: AH=00h"Portfolio",AH=1Ch"Portfolio",AH=1Fh"Portfolio"

Top
611F - INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
	AH = 1Fh
	BX = network descriptor
	CX = event type (see #03466)
	DS:SI -> event handler routine (see #03467)
	ES:DI = 32-bit hint passed to handler
Return: CF clear if successful
	    DS:DX -> previous handler
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	ICMP messages do not trigger events on stream connections
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

(Table 03466)
Values for PC/TCP event type:
 00h	alarm
 01h	open (successfully opened stream connection)
 02h	receive (data available)
 03h	transmit (ACK received on stream connection)
 04h	transmit flush???
 05h	foreign close (remote host closed data connection)
 06h	close (local host closed connection and protocol is complete)
 07h	error (error code passed to handler as arg)

(Table 03467)
Values PC/TCP user event handler is called with:
	BX = network descriptor
	CX = event type (see #03466)
	DS:DX -> arg
	ES:DI = 32-bit hint value
	STACK:	small stack, possibly the DOS stack

Top
611F - INT 61 - Atari Portfolio - GET KEY/NMI-INVOKED SCREEN REFRESH
INT 61 - Atari Portfolio - GET KEY/NMI-INVOKED SCREEN REFRESH
	AH = 1Fh
	AL = function
	    00h get state
	    01h set state
		DH = new refresh-on-NMI state
		    (00h disabled, 01h enabled, bit 7 set = don't change)
		DL = new refresh-on-key state
Return: DH,DL = current/old states
SeeAlso: AH=00h"Portfolio",AH=1Eh"Portfolio",AH=20h"Portfolio"

Top
6120 - INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
	AH = 20h
	BX = network descriptor
	CX = length of buffer (usually 04h)
	DS:DX -> buffer containing option
	SI = (ignored by v2.2-)
	DI = option to set (see #03468)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	Beame&Whiteside's BWPCTCP shim only supports options 01h and 0Bh; all
	  others return CF clear
	v2.11 reportedly stores the actual 32-bit value of an option in DS:DX
	  rather than using a buffer in memory
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=21h

(Table 03468)
Values for PC/TCP option to get or set:
 01h	set non-blocking mode if non-zero
 02h	timeout of call in milliseconds
 03h	user-defined 4-byte magic cookie (not used by kernel)
 04h	TCP window or UDP buffer count (WORD, unsigned)
 06h	do TCP keep-alives if non-zero
 09h	(v2.1+) set IP precedence
 0Ah	(v2.1+) set IP type of service
 0Bh	use a privileged port if port = 0
 0Ch	turn off TCP PUSH bit and don't flush buffer every write (see AH=1Ah)
Note:	use "C" true or false values for boolean options

Top
6120 - INT 61 - Atari Portfolio - GET/SET INT 09 REVECTORING
INT 61 - Atari Portfolio - GET/SET INT 09 REVECTORING
	AH = 20h
	AL = function
	    00h get INT 09 revectoring state
	    01h set state
		DL = new state (00h disable, 01h enable)
Return: if function 00h
	    DL = new state (00h disabled, 01h enabled)
Desc:	specify whether INT 09 is automatically revectored to the BIOS,
	  preventing applications from using their own INT 09 handler on the
	  incompatible keyboard hardware
SeeAlso: AH=1Eh"Portfolio",AH=1Fh"Portfolio",AH=24h"Portfolio"

Top
6121 - INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
	AH = 21h
	BX = network descriptor
	CX = length of buffer
	DS:DX -> buffer for return values
	SI = 0004h (ignored by v2.2-)
	DI = option (see #03468)
Return: CF clear if successful
	    DS:DX -> value (usually 32 bits) returned by selected option
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
	v2.11 reportedly stores the actual 32-bit value of an option in DS:DX
	  rather than using a buffer in memory
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=20h

Top
6122 - INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
	AH = 22h
Return: CF clear if successful
	    AX = network descriptor
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	the descriptor will be an integer in the range 00h-1Fh, and a DOS call
	  is made to allocate this as a file descriptor.  Hence a number may
	  not refer to a PC/TCP network descriptor and a DOS file handle
	  simultaneously.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=13h,INT 61/AH=29h

Top
6123 - INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
	AH = 23h
	BX = network descriptor or FFFFh to allocate descriptor
	DX = type of service
	DS:SI -> "addr" structure (see #03462)
Return: CF clear if successful
	    AX = network descriptor
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	type of service and "addr" structure are as for AH=13h
	any of the address structure can be zero; normally local socket number
	  is filled in prior to call
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=13h
SeeAlso: INT 63/AH=12h"BW-TCP"

Top
6124 - INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
	AH = 24h
Return: always successful
Note:	performs "net_abort" (AH=19h) on all open non-global descriptors
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=19h

Top
6124 - INT 61 - Atari Portfolio - GET/SET ROM/CCM SPACE STATE
INT 61 - Atari Portfolio - GET/SET ROM/CCM SPACE STATE
	AH = 24h
	AL = function
	    00h get state
	    01h set state
		DL = new ROM state (see #03469)
		DH = new CCM state (see #03470)
Return: CF clear if successful
	    DL = current/old ROM state
	    DH = current/old CCM state
	CF set on error (invalid option or other error)
Desc:	control whether memory cards or an extension ROM are visible in the
	  range 000C0000h to 000DFFFFh
SeeAlso: AH=00h"Portfolio",AH=20h"Portfolio",AH=26h"Portfolio"

(Table 03469)
Values for Atari Portfolio ROM space state:
 00h	normal application ROM
 01h	CCM drive A:
 02h	CCM drive B:
 03h	expansion ROM
SeeAlso: #03470

(Table 03470)
Values for Atari Portfolio CCM space state:
 00h	CCM drives disabled
 01h	CCM drive A: permanently enabled
 02h	CCM drive B: permanently enabled
SeeAlso: #03469

Top
6125 - INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
	AH = 25h
	DX,BX = IP address in network order
	CX = length of buffer for name
	DS:SI -> buffer for host name
Return: CF clear if successful
	   buffer filled with ASCIZ host name
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	this function will use the host table and or DNS to resolve the
	  address, depending on kernel configuration.  Use this call for the
	  normal gethostbyaddr function.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=26h,INT 61/AH=27h

Top
6126 - INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
	AH = 26h
	DX,BX = IP address in network order
	CX = length of buffer
	DS:SI -> buffer for host name
Return: CF clear if successful
	    buffer filled with ASCIZ host name
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	normally one would use AH=25h instead of this function
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=27h

Top
6126 - INT 61 - Atari Portfolio - GET/SET POWER CONTROL
INT 61 - Atari Portfolio - GET/SET POWER CONTROL
	AH = 26h
	AL = function
	    00h get state
	    01h set state
		DL = new state
		    00h normal power-down on low battery
		    01h no power-down, but display warning
		    02h no power-down, no warning on low battery
Return: AL = current/old state
SeeAlso: AH=00h"Portfolio",AH=24h"Portfolio",AH=28h"Portfolio"

Top
6127 - INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
	AH = 27h
	DX,BX = IP address in network order
	CX = length of buffer
	DS:SI -> buffer for host name
Return: CF clear if successful
	    buffer filled with ASCIZ host name
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	normally one would use AH=25h instead of this function
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=26h

Top
6128 - INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
	AH = 28h
	BX = network descriptor 1
	CX = network descriptor 2
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	the two descriptors will exchange places; both must be local or both
	  global
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
6128 - INT 61 - Atari Portfolio - GET/SET TEXT/KEYBOARD LANGUAGE
INT 61 - Atari Portfolio - GET/SET TEXT/KEYBOARD LANGUAGE
	AH = 28h
	AL = function
	    00h get languages
	    01h set languages
		DH = new text language (set bit 7 to leave unchanged)
		DL = new keyboard language (set bit 7 to leave unchanged)
	    03h get language table pointers
Return: if function 00h or 01h:
	    DH = current/old text language
	    DL = current/old keyboard language
	if function 03h
	    ES:CX -> keyboard table (see #03471)
	    ES:DX -> language table (see #03471)
SeeAlso: AH=24h"Portfolio",AH=26h"Portfolio",AH=2Ch"Portfolio"

Format of Atari Portfolio language table:
Offset	Size	Description	(Table 03471)
 00h	BYTE	number of languages supported
 01h  N BYTEs	supported languages
		00h English
		01h French
		02h German
		03h Spanish
		04h Italian
		05h Swedish
		06h Danish

Top
6129 - INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
	AH = 29h
Return: CF clear if successful
	    AX = network descriptor
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	use this function rather than AH=22h to avoid a DOS call by the PC/TCP
	  kernel; the returned descriptor will be >= 40h and cannot be used
	  with "net_select" (AH=0Eh)
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=07h"PC/TCP"
SeeAlso: INT 61/AH=22h

Top
612A - INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
	AH = 2Ah
	DS:SI -> 26-byte buffer for configuration information (see #03472)
Return: CF clear
	AX = 0000h
	buffer filled
Notes:	size of buffer may vary with kernel version; 26 bytes is the size for
	  versions 2.05 through 2.2
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Format of PC/TCP configuration information:
Offset	Size	Description	(Table 03472)
 00h	BYTE	maximum TCP connections available
 01h	BYTE	maximum UDP connections available
 02h	BYTE	maximum IP connections available
 03h	BYTE	maximum Raw Net connections available
 04h	BYTE	number of TCP connections currently in use
 05h	BYTE	number of UDP connections currently in use
 06h	BYTE	number of IP connections currently in use
 07h	BYTE	number of Raw Net connections currently in use
 08h	WORD	number of local network descriptors active
 0Ah	WORD	number of global network descriptors active
 0Ch	BYTE	maximum header size on network
 0Dh	BYTE	maximum trailer size on network
 0Eh	WORD	size of large packet buffer
 10h	WORD	number of network interfaces attached
 12h	DWORD	milliseconds since kernel started
 16h	DWORD	IP broadcast address

Top
612B - INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
	AH = 2Bh
	BX = network descriptor
	CX,DX = time before alarm in milliseconds
	DS:SI -> handler which will receive call (see #03467 at INT 61/AH=1Fh)
	ES:DI = 32-bit cookie passed to handler
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Notes:	this function will cause a NET_AS_ALARM to be generated; it is intended
	  for TSRs, etc. to regain control periodically
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
612C - INT 61 - Atari Portfolio - GET VERSION
INT 61 - Atari Portfolio - GET VERSION
	AH = 2Ch
Return: DS:BX -> BIOS version string ('$'-terminated)
SeeAlso: AH=28h"Portfolio",AH=2Dh"Portfolio"

Top
612D - INT 61 - Atari Portfolio - TURN SYSTEM OFF
INT 61 - Atari Portfolio - TURN SYSTEM OFF
	AH = 2Dh
Return: nothing
SeeAlso: AH=00h"Portfolio",AH=2Ch"Portfolio",AH=2Eh"Portfolio"

Top
612E - INT 61 - Atari Portfolio - ENABLE/DISABLE SYSTEM STATUS LINE
INT 61 - Atari Portfolio - ENABLE/DISABLE SYSTEM STATUS LINE
	AH = 2Eh
	AL = new state
	    00h disabled
	    01h enabled
		DH,DL = row,column at which to display
Return: nothing
SeeAlso: AH=00h"Portfolio",AH=2Dh"Portfolio",AH=30h"Portfolio"

Top
6130 - INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
	AH = 30h
	BX,DX = IP address of host
	CX = length of data to send
Return: CF clear if successful (i.e. reply received)
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"

Top
6130 - INT 61 - Atari Portfolio - FILE TRANSFER SERVICES
INT 61 - Atari Portfolio - FILE TRANSFER SERVICES
	AH = 30h
	AL = function
	    00h transmit block
		CX = number of bytes to send
	    01h receive block
		CX = buffer size
	    02h open ports
	    03h close ports
	    04h wait 500ms
	DS:DX -> start of data buffer
Return: DL = status
	    00h successful
	    01h buffer too small
	    02h transmission timeout
	    03h checksum failure
	    04h invalid subfunction
	    05h peripheral not installed
	if function 01h:
	    CX = number of bytes received
SeeAlso: AH=00h"Portfolio",AH=2Eh"Portfolio"

Top
61 - INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
	AH = function
	    31h "net_add_route"
	    32h "net_del_route"
	    33h "net_dump_routes"
Notes:	these functions are described as "unused" in the v2.2 documentation
	router configuration can be altered using INT 61/AH=01h
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim

Top
6132 - INT 61 U - PC/TCP kernel v2.3 - GET ???
INT 61 U - PC/TCP kernel v2.3 - GET ???
	AH = 32h
Return: AX = ???
Note:	this function is fully re-entrant, and may be called even when another
	  PC/TCP kernel call is already in progress

Top
6134 - INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
	AH = 34h
	???
Return: ???
Notes:	this function is described as "reserved" in the v2.2 documentation
	this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim

Top
6150 - INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
	AH = 50h
	DS:DX -> ASCIZ IP address as "dotted quad" (max 127 chars)
Return: CF clear if successful
	    DX:AX -> IP address
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Range:	INT 20 to INT E0, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h

Top
6151 - INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
	AH = 51h
	CX = size of destination buffer
	DS:DX -> ASCIZ host name (max 127 chars)
	ES:DI -> destination buffer or 0000h:0000h
Return: CF clear if successful
	    DX:AX -> IP address of host
	    destination buffer filled with canonical host name
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	this function calls DOS, and can fail if the DOS call fails
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h

Top
6152 - INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
	AH = 52h
	CX = size of destination buffer
	DS:DX -> ASCIZ host name (max 127 chars)
	ES:DI -> destination buffer or 0000h:0000h
Return: CF clear if successful
	    DX:AX -> IP address of host
	    destination buffer filled with canonical host name
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	this function will poll all configured domain name servers if necessary
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h

Top
6153 - INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
	AH = 53h
	DS:DX -> ASCIZ name to be resolved (max 127 chars)
Return: CF clear if successful
	    DX:AX -> IP address of host
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Range:	INT 20 to INT E0, selected by configuration
Note:	this function is not supported by v2.10+
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h

Top
6154 - INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
	AH = 54h
	CX = size of destination buffer
	DS:DX -> ASCIZ host name (max 127 chars)
	ES:DI -> destination buffer or 0000h:0000h
Return: CF clear if successful
	    DX:AX -> IP address of host
	    destination buffer filled with canonical host name
	CF set on error
	    AX = error code (see #03319 at INT 61"FTP Software")
Note:	this function uses all configured methods in turn to resolve the
	  name (numerical, then host table, then DNS, then IEN116)
BUG:	the SLIP kernel for v2.05 bounds-checks the wrong register, so values
	  greater than 54h in AH may crash the system.	Other kernels may have
	  this bug as well; it has been fixed in the v2.2 SLIPDRV kernel.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=50h,INT 61/AH=51h
SeeAlso: INT 61/AH=52h,INT 61/AH=53h

Top
6155 - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 55h
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
6156 - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 56h
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
6157 - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 57h
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
6158 - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 58h
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
6159 - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 59h
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
615A - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 5Ah
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
615B - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 5Bh
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
615C - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 5Ch
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
615D - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 5Dh
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
615E - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 5Eh
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
615F - INT 61 U - PC/TCP kernel v2.3 - ???
INT 61 U - PC/TCP kernel v2.3 - ???
	AH = 5Fh
	???
Return: ???
SeeAlso: INT 61"FTP Software"

Top
Section -


Top
62 - INT 62 - reserved for user interrupt
INT 62 - reserved for user interrupt

Top
62 - INT 62 - Adaptec and OMTI controllers - DRIVE 0 DATA
INT 62 - Adaptec and OMTI controllers - DRIVE 0 DATA
Notes:	this vector stores the third four bytes of the parameter table for
	  hard disk 0
SeeAlso: INT 60"Adaptec",INT 61"Adaptec",INT 63"Adaptec"

Top
62 - INT 62 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
INT 62 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
Desc:	the low word of this vector contains the segment of the RAM data area
	  to be used by the expansion ROM at F400h:2000h, and the high word
	  contains the length of the data area; this segment and size are
	  both set to 0000h if no ROM is installed at F400h:2000h
SeeAlso: INT 61"TI Professional PC",INT 63"TI Professional"
SeeAlso: INT 66"TI Professional PC"

Top
62 - INT 62 - HP 95LX - USED BY CALCULATOR
INT 62 - HP 95LX - USED BY CALCULATOR
SeeAlso: INT 60/DI=0104h"HP 95LX"

Top
62 - INT 62 - MS SQL Server/Sybase DBLIBRARY interface - ???
INT 62 - MS SQL Server/Sybase DBLIBRARY interface - ???
	AH = function (00h to 07h)
	CX = FFFEh
	DX = FFFFh
	???
Return: ???
InstallCheck:	test for the string "DBLIBRARY" two bytes past the interrupt
	  handler
SeeAlso: AH=08h"SQL"
Index:	installation check;MS SQL Server|installation check;Sybase DBLIBRARY

Top
62 - INT 62 - MPAUSE - ???
INT 62 - MPAUSE - ???
	details not yet avialable
Program: MPAUSE is a program by Manfred Michael which appeared in the German
	 _EGA-Handbuch_ from  m&t-Verlag

Top
62 - INT 62 - XFS v1.76 - FILTERED PACKET DRIVER API
INT 62 - XFS v1.76 - FILTERED PACKET DRIVER API
Program: XFS is a shareware Network File System client by Robert Juhasz
Desc:	XFS requires a packet driver to operate.  Since it does redirections,
	  etc., it provides its own packet driver entry point, changing the
	  signature string of the original packet driver to "XKT DRVR" so that
	  it will no longer be found by the packet driver installation check
InstallCheck:	scan for the signature string "PKT DRVR" three bytes past the
	  interrupt handler (the same as that for the packet driver
	  specification)
Range:	INT 61 to INT 66, selected by scanning for two consecutive free
	  vectors and hooking the second
SeeAlso: INT 60"Packet Driver Specification",INT 61"XFS"

Top
62 - INT 62 - PC-DRAFT - PRIMARY DISPLAY DRIVER
INT 62 - PC-DRAFT - PRIMARY DISPLAY DRIVER
	???
Return: ???
Program: PC-DRAFT is a powerful CAD environment by rhv.
SeeAlso: INT 64"PC-DRAFT",INT 65"PC-DRAFT",INT 66"PC-DRAFT",INT 67"PC-DRAFT"

Top
6200 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET PHYSICAL HARDWARE ADDRESS
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET PHYSICAL HARDWARE ADDRESS
	AH = 00h
	DS:DX -> 6-byte buffer for address
Return: AX = length of hardware address???
Range:	INT 4C to INT FB, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=01h"ETHDEV",AH=04h"ETHDEV",AH=09h"ETHDEV",AH=0Eh"ETHDEV"
SeeAlso: AH=14h"ETHDEV",AH=18h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"

Top
620000 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCATE" - CREATE VIRTUAL VIDEO PAGE
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCATE" - CREATE VIRTUAL VIDEO PAGE
	AX = 0000h
	BX = page number (0000h-003Fh)
Return: AX = status (0000h,0001h,0007h,0008h) (see #03473)
Program: FGDRIVER is the external video driver for the shareware
	  Fastgraph/Light by Ted Gruber Software
InstallCheck:	test for the signature "FG" ten bytes beyond the start of the
	  interrupt handler
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	The amount of memory required by the virtual video page depends on the
	  current video mode
SeeAlso: AX=0001h,AX=0002h,AX=0003h,AX=0038h
Index:	installation check;Fastgraph/Light

(Table 03473)
Values for FGDRIVER status:
 0000h	successful
 0001h	specified page is a physical or logical page
 0007h	virtual page created/released, but memory control blocks corrupted
 0008h	not enough memory
 0009h	attempt to free a page which was never created
 FFFCh	insufficient memory
 FFFDh	page already created, or exists as physical or virtual page
 FFFEh	invalid page number
 FFFFh	memory manager not initialized
SeeAlso: #03474

(Table 03474)
Values for FGDRIVER functions (by driver version):
Name		v1.10	v3.03	v4.02
 FG_ALLOCATE	0042h	0000h	0000h
 FG_ALLOCCMS	009Dh	0001h	0001h
 FG_ALLOCEMS	009Eh	0002h	0002h
 FG_ALLOCXMS	009Fh	0003h	0003h
 FG_AUTOMODE	0004h	0004h	0004h
 FG_BESTMODE	0003h	0005h	0005h
 FG_BOX		00A2h	0006h	0006h
 FG_BOXDEPTH	00A3h	0007h	0007h
 FG_BOXX	 --	0008h	0008h
 FG_BUTTON	0078h	0009h	0009h
 FG_CAPSLOCK	0070h	000Ah	000Ah
 FG_CHGATTR	0035h	000Bh	000Bh
 FG_CHGTEXT	0036h	000Ch	000Ch
 FG_CIRCLE	0030h	000Dh	000Dh
 FG_CIRCLEF	 --	000Eh	000Eh
 FG_CLIPMAP	 --	 --	000Fh
 FG_CLIPMASK	0052h	000Fh	0010h
 FG_CLPIMAGE	004Ah	0010h	0011h
 FG_CLPRECT	002Bh	0011h	0012h
 FG_COLORS	 --	 --	0013h
 FG_COPYPAGE	005Fh	0012h	0014h
 FG_CURSOR	0007h	0013h	0015h
 FG_DASH	0027h	0014h	0016h
 FG_DASHREL	0028h	0015h	0017h
 FG_DEFCOLOR	0014h	0016h	0018h
 FG_DEFPAGES	 --	0017h	0019h
 FG_DISPFILE	004Fh	0018h	001Ah
 FG_DISPLAY	004Dh	0019h	001Bh
 FG_DISPLAYP	004Eh	001Ah	001Ch
 FG_DISPPCX	0060h	 --	 --
 FG_DRAW	0025h	001Bh	001Dh
 FG_DRAWMAP	0047h	001Ch	001Eh
 FG_DRAWMASK	0051h	001Dh	001Fh
 FG_DRAWREL	0026h	001Eh	0020h
 FG_DRAWRELX	 --	001Fh	0021h
 FG_DRAWX	 --	0020h	0022h
 FG_DRECT	002Ch	0021h	0023h
 FG_DRWIMAGE	0049h	0022h	0024h
 FG_EGACHECK	0005h	0023h	0025h
 FG_ELLIPSE	002Dh	0024h	0026h
 FG_ELLIPSEF	 --	0025h	0027h
 FG_ERASE	001Eh	0026h	0028h
 FG_FADEIN	0064h	0027h	0029h
 FG_FADEOUT	0065h	0028h	002Ah
 FG_FILLPAGE	 --	0029h	002Bh
 FG_FINDPAGE	 --	 --	002Ch
 FG_FLICDONE	 --	 --	002Dh
 FG_FLICHEAD	 --	 --	002Eh
 FG_FLICMODE	 --	 --	002Fh
 FG_FLICOPEN	 --	 --	0030h
 FG_FLICPLAY	 --	 --	0031h
 FG_FLICSIZE	 --	 --	0032h
 FG_FLICSKIP	 --	 --	0033h
 FG_FLIPMASK	0054h	002Ah	0034h
 FG_FLOOD	 --	002Bh	0035h
 FG_FLPIMAGE	004Ch	002Ch	0036h
 FG_FONTSIZE	 --	002Dh	0037h
 FG_FREEPAGE	0043h	002Eh	0038h
 FG_GETADDR	0044h	002Fh	0039h
 FG_GETATTR	0037h	0030h	003Ah
 FG_GETBANKS	 --	 --	003Bh
 FG_GETBLOCK	 --	0031h	003Ch
 FG_GETCHAR	0038h	0032h	003Dh
 FG_GETCLIP	 --	 --	003Eh
 FG_GETCLOCK	0099h	0033h	003Fh
 FG_GETCOLOR	0015h	0034h	0040h
 FG_GETDACS	00A4h	0035h	0041h
 FG_GETENTRY	 --	0036h	0042h
 FG_GETHPAGE	0040h	0037h	0043h
 FG_GETIMAGE	0048h	0038h	0044h
 FG_GETINDEX	0016h	0039h	0045h
 FG_GETKEY	006Eh	003Ah	0046h
 FG_GETLINES	0010h	003Bh	0047h
 FG_GETMAP	0046h	003Ch	0048h
 FG_GETMAXX	000Ah	003Dh	0049h
 FG_GETMAXY	000Bh	003Eh	004Ah
 FG_GETMODE	0000h	003Fh	004Bh
 FG_GETPAGE	003Ch	0040h	004Ch
 FG_GETPIXEL	0020h	0041h	004Dh
 FG_GETRGB	001Ch	0042h	004Eh
 FG_GETVIEW	 --	 --	004Fh
 FG_GETVPAGE	003Eh	0043h	0050h
 FG_GETXBOX	 --	 --	0051h
 FG_GETXJOY	0076h	0044h	0052h
 FG_GETXJUST	 --	 --	0053h
 FG_GETXPOS	0021h	0045h	0054h
 FG_GETYBOX	 --	 --	0055h
 FG_GETYJOY	0077h	0046h	0056h
 FG_GETYJUST	 --	 --	0057h
 FG_GETYPOS	0022h	0047h	0058h
 FG_HUSH	008Eh	0048h	0059h
 FG_HUSHNEXT	008Fh	0049h	005Ah
 FG_IMAGEBUF	 --	004Ah	005Bh
 FG_IMAGESIZ	0062h	004Bh	005Ch
 FG_INITEMS	00A0h	004Ch	005Dh
 FG_INITJOY	0075h	004Dh	005Eh
 FG_INITPM	 --	 --	005Fh??? (NOP in v4.02)
 FG_INITXMS	00A1h	004Eh	0060h
 FG_INSIDE	 --	004Fh	0061h
 FG_INTJOY	0079h	0050h	0062h
 FG_INTKEY	006Fh	0051h	0063h
 FG_INVERT	 --	 --	0064h
 FG_JUSTIFY	 --	0052h	0065h
 FG_KBINIT	 --	0053h	0066h
 FG_KBLAST	 --	 --	0067h
 FG_KBRESET	 --	 --	0068h
 FG_KBTEST	 --	0054h	0069h
 FG_LOADPCX	 --	 --	006Ah
 FG_LOCATE	0033h	0055h	006Bh
 FG_MAKEPCX	0061h	0057h	006Ch
 FG_MAKEPPR	 --	0058h	006Dh
 FG_MAKESPR	 --	0059h	006Eh
 FG_MAPRGB	001Dh	005Ah	006Fh
 FG_MEASURE	0098h	005Bh	0070h
 FG_MEMAVAIL	009Bh	005Ch	0071h
 FG_MEMORY	 --	005Dh	0072h
 FG_MOUSE256	 --	 --	0073h
 FG_MOUSEBUT	007Ch	005Eh	0074h
 FG_MOUSECUR	007Eh	005Fh	0075h
 FG_MOUSEFIN	 --	0060h	0076h
 FG_MOUSEINI	007Ah	0061h	0077h
 FG_MOUSELIM	0080h	0062h	0078h
 FG_MOUSEMOV	0081h	0063h	0079h
 FG_MOUSEPOS	007Dh	0064h	007Ah
 FG_MOUSEPTR	007Fh	0065h	007Bh
 FG_MOUSESPD	0082h	0066h	007Ch
 FG_MOUSEVIS	007Bh	0067h	007Dh
 FG_MOVE	0023h	0068h	007Eh
 FG_MOVEREL	0024h	0069h	007Fh
 FG_MUSIC	008Ch	006Ah	0080h
 FG_MUSICB	008Dh	006Bh	0081h
 FG_NUMLOCK	0072h	006Ch	0082h
 FG_PACK	 --	 --	0083h
 FG_PAGESIZE	 --	006Dh	0084h
 FG_PAINT	002Fh	006Eh	0085h
 FG_PALETTE	0017h	006Fh	0086h
 FG_PALETTES	0018h	0070h	0087h
 FG_PAN		0066h	0071h	0088h
 FG_PATTERN	0050h	0072h	0089h
 FG_PCXHEAD	 --	0073h	008Ah
 FG_PCXMODE	 --	0074h	008Bh
 FG_PCXPAL	 --	 --	008Ch
 FG_PCXRANGE	 --	 --	008Dh
 FG_PLAYING	0091h	0075h	008Eh
 FG_POINT	001Fh	0076h	008Fh
 FG_POINTX	 --	0077h	0090h
 FG_POLYEDGE	 --	 --	0091h
 FG_POLYFILL	 --	0078h	0092h
 FG_POLYGON	002Eh	0079h	0093h
 FG_POLYLINE	 --	007Ah	0094h
 FG_POLYOFF	 --	007Bh	0095h
 FG_PRINT	 --	007Ch	0096h
 FG_PRINTC	 --	 --	0097h
 FG_PUTBLOCK	 --	007Dh	0098h
 FG_PUTIMAGE	 --	007Eh	0099h
 FG_QUIET	0090h	007Fh	009Ah
 FG_RECT	002Ah	0080h	009Bh
 FG_RESET	0006h	0081h	009Ch
 FG_RESIZE	0045h	0082h	009Dh
 FG_RESTORE	005Bh	0083h	009Eh
 FG_RESUME	0092h	0084h	009Fh
 FG_REVIMAGE	004Bh	0085h	00A0h
 FG_REVMASK	0053h	0086h	00A1h
 FG_SAVE	 --	0087h	00A2h
 FG_SCALE	 --	 --	00A3h
 FG_SCRLOCK	0074h	0088h	00A4h
 FG_SCROLL	0067h	0089h	00A5h
 FG_SETATTR	0019h	008Ah	00A6h
 FG_SETBANKS	 --	 --	00A7h
 FG_SETCAPS	0071h	008Bh	00A8h
 FG_SETCLIP	0029h	008Ch	00A9h
 FG_SETCOLOR	001Ah	008Dh	00AAh
 FG_SETDACS	00A5h	008Eh	00ABh
 FG_SETENTRY	 --	008Fh	00ACh
 FG_SETFUNC	009Ch	0090h	00ADh
 FG_SETHPAGE	0041h	0091h	00AEh
 FG_SETLINES	0011h	0092h	00AFh
 FG_SETMODE	0001h	0093h	00B0h
 FG_SETNUM	0073h	0094h	00B1h
 FG_SETPAGE	003Dh	0095h	00B2h
 FG_SETRGB	001Bh	0096h	00B3h
 FG_SETVIEW	 --	 --	00B5h
 FG_SETVPAGE	003Fh	0098h	00B6h
 FG_SHEAR	 --	 --	00B7h
 FG_SHOWFLIC	 --	 --	00B8h
 FG_SHOWPCX	 --	009Ah	00B9h
 FG_SHOWPPR	 --	009Bh	00BAh
 FG_SHOWSPR	 --	009Ch	00BBh
 FG_SOUND	0088h	009Dh	00BCh
 FG_SOUNDS	0089h	009Eh	00BDh
 FG_SPLIT	 --	 --	00BEh
 FG_STALL	0097h	009Fh	00BFh
 FG_SUSPEND	0093h	00A0h	00C0h
 FG_SVGAINIT	 --	00A1h	00C1h
 FG_SVGASTAT	 --	00A2h	00C2h
 FG_SVGAVER	 --	00A3h	00C3h
 FG_TCDEFINE	 --	00A4h	00C4h
 FG_TCMASK	005Eh	00A5h	00C5h
 FG_TCXFER	005Dh	00A6h	00C6h
 FG_TESTMODE	0002h	00A7h	00C7h
 FG_TEXT	0032h	00A8h	00C8h
 FG_TEXTC	 --	 --	00C9h
 FG_TRANSFER	005Ch	00A9h	00CAh
 FG_UNPACK	 --	 --	00CBh
 FG_VBADDR	 --	 --	00CCh
 FG_VBALLOC	 --	 --	00CDh
 FG_VBCLOSE	 --	 --	00CEh
 FG_VBCOPY	 --	 --	00CFh
 FG_VBCUT	 --	 --	00D0h
 FG_VBDEFINE	 --	 --	00D1h
 FG_VBFREE	 --	 --	00D2h
 FG_VBHANDLE	 --	 --	00D3h
 FG_VBINIT	 --	 --	00D4h
 FG_VBOPEN	 --	 --	00D5h
 FG_VBPASTE	 --	 --	00D6h
 FG_VBTCCOPY	 --	 --	00D7h
 FG_VBTCXFER	 --	 --	00D8h
 FG_VBUNDEF	 --	 --	00D9h
 FG_VGASTATE	 --	 --	00DAh
 FG_VOICE	008Ah	00AAh	00DBh
 FG_VOICES	008Bh	00ABh	00DCh
 FG_WAITFOR	0096h	00ACh	00DDh
 FG_WAITKEY	006Dh	00ADh	00DEh
 FG_WAITVR	 --	00AEh	00DFh
 FG_WHERE	0034h	00AFh	00E0h
 FG_XALPHA	000Ch	00B0h	00E1h
 FG_XCONVERT	000Eh	00B1h	00E2h
 FG_XVIEW	 --	 --	00E3h
 FG_YALPHA	000Dh	00B2h	00E4h
 FG_YCONVERT	000Fh	00B3h	00E5h
 FG_YVIEW	 --	 --	00E6h
SeeAlso: #03473

Top
620001 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCCMS" - CREATE LOGICAL VIDEO PAGE (CONV)
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCCMS" - CREATE LOGICAL VIDEO PAGE (CONV)
	AX = 0001h
	BX = page number (0001h-003Fh)
Return: AX = status (0000h,FFFCh,FFFDh,FFFEh) (see #03473)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	The only operation which is allowed on logical pages is "FG_COPYPAGE"
	  (see AX=0014h)
SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0014h,AX=0038h

Top
620002 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCEMS" - CREATE LOGICAL VIDEO PAGE (EMS)
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCEMS" - CREATE LOGICAL VIDEO PAGE (EMS)
	AX = 0002h
	BX = page number (0001h-003Fh)
Return: AX = status (0000h,FFFCh,FFFDh,FFFEh) (see #03473)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	You must first call "FG_INITEMS" (see AX=005Dh) before using this
	  function
	The only operation which is allowed on logical pages is "FG_COPYPAGE"
	  (see AX=0014h)
SeeAlso: AX=0000h,AX=0001h,AX=0003h,AX=0014h,AX=0038h,AX=005Dh

Top
620003 - INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCXMS" - CREATE LOGICAL VIDEO PAGE (XMS)
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCXMS" - CREATE LOGICAL VIDEO PAGE (XMS)
	AX = 0003h
	BX = page number (0001h-003Fh)
Return: AX = status (0000h,FFFCh,FFFDh,FFFEh) (see #03473)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	You must first call "FG_INITXMS" (see AX=0060h) before using this
	  function
	The only operation which is allowed on logical pages is "FG_COPYPAGE"
	  (see AX=0014h)
SeeAlso: AX=0000h,AX=0001h,AX=0002h,AX=0014h,AX=0038h,AX=0060h

Top
620004 - INT 62 u - FGDRIVER 1.10,3.03+ - "FG_AUTOMODE" - GET VIDEO MODE W/MOST FEATURES
INT 62 u - FGDRIVER 1.10,3.03+ - "FG_AUTOMODE" - GET VIDEO MODE W/MOST FEATURES
	AX = 0004h
Return: AX = proposed video mode number (see #03500 at AX=00B0h)
Program: FGDRIVER is the external video driver for the shareware
	  Fastgraph/Light by Ted Gruber Software
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=0005h,AX=004Bh,AX=00B0h,AX=00C1h,AX=00C7h

Top
620005 - INT 62 u - FGDRIVER v3.03+ - "FG_BESTMODE" - GET BEST VIDEO MODE GIVEN RESOLUTN
INT 62 u - FGDRIVER v3.03+ - "FG_BESTMODE" - GET BEST VIDEO MODE GIVEN RESOLUTN
	AX = 0005h
	BX = horizontal resolution
	CX = vertical resolution
	DX = number of video pages required (both physical and virtual)
Return: AX = proposed video mode number or FFFFh if no matching video mode
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	You must first call "FG_SVGAINIT" (see AX=00C1h) to get SVGA video
	  modes
SeeAlso: AX=0004h,AX=004Bh,AX=00B0h,AX=00C1h,AX=00C7h

Top
620006 - INT 62 u - FGDRIVER v3.03+ - "FG_BOX" - DRAW UNFILLED RECTANGLE
INT 62 u - FGDRIVER v3.03+ - "FG_BOX" - DRAW UNFILLED RECTANGLE
	AX = 0006h
	BX = left column
	CX = right column
	DX = top row
	SI = bottom row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	The rectangle is drawn in screen space, respecting the clipping region,
	  with edges of the width specified with "FG_BOXDEPTH" (see AX=0007h)
	  (default = 1 is set by "FG_SETMODE")
	This function has no effect in text modes
SeeAlso: AX=0007h,AX=0008h,AX=000Ch,AX=0016h,AX=001Dh,AX=0026h,AX=0051h
SeeAlso: AX=0055h,AX=008Fh

Top
620007 - INT 62 u - FGDRIVER v3.03+ - "FG_BOXDEPTH" - SET RECTANGLE BORDER WIDTH
INT 62 u - FGDRIVER v3.03+ - "FG_BOXDEPTH" - SET RECTANGLE BORDER WIDTH
	AX = 0007h
	BX = width of left and right edges in pixels (> 0)
	CX = width of top and bottom edges in pixels (> 0)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=0006h,AX=0008h,AX=0051h,AX=0055h

Top
620008 - INT 62 u - FGDRIVER v3.03+ - "FG_BOXX" - XOR HOLLOW RECTANGLE
INT 62 u - FGDRIVER v3.03+ - "FG_BOXX" - XOR HOLLOW RECTANGLE
	AX = 0008h
	BX = left column
	CX = right column
	DX = top row
	SI = bottom row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	The rectangle is XORed into screen space, respecting the clipping
	  region, with edges of the width specified with "FG_BOXDEPTH"
	  (see AX=0007h) (default = 1 is set by "FG_SETMODE")
	This function has no effect in text modes
SeeAlso: AX=0006h,AX=0007h,AX=0021h,AX=0022h,AX=0051h,AX=0055h,AX=0090h

Top
620009 - INT 62 u - FGDRIVER v3.03+ - "FG_BUTTON" - GET JOYSTICK BUTTON STATE
INT 62 u - FGDRIVER v3.03+ - "FG_BUTTON" - GET JOYSTICK BUTTON STATE
	AX = 0009h
	BX = joystick number (0001h or 0002h)
Return: AX = button states
	    bit 0: top button pressed
	    bit 1: bottom button pressed
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=0052h,AX=0056h,AX=005Eh,AX=0062h,AX=0077h

Top
62000A - INT 62 u - FGDRIVER v3.03+ - "FG_CAPSLOCK" - GET STATE OF CAPSLOCK KEY
INT 62 u - FGDRIVER v3.03+ - "FG_CAPSLOCK" - GET STATE OF CAPSLOCK KEY
	AX = 000Ah
Return: AX = CapsLock state (0000h off, 0001h on)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=0082h,AX=00A4h,AX=00A8h,AX=00B1h

Top
62000B - INT 62 u - FGDRIVER v3.03+ - "FG_CHGATTR" - APPLY CURRENT TEXT ATTRIB TO CHARS
INT 62 u - FGDRIVER v3.03+ - "FG_CHGATTR" - APPLY CURRENT TEXT ATTRIB TO CHARS
	AX = 000Bh
	BX = number of characters to recolor
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in graphics modes
	Starting at the current text cursor position, the specified number of
	  characters have their attributes to the current text attribute
SeeAlso: AX=000Ch,AX=003Ah,AX=00A6h

Top
62000C - INT 62 u - FGDRIVER v3.03+ - "FG_CHGTEXT" - DISPLAY STRING AT CURSOR POSITION
INT 62 u - FGDRIVER v3.03+ - "FG_CHGTEXT" - DISPLAY STRING AT CURSOR POSITION
	AX = 000Ch
	CX = length of string
	ES:BX -> string to be displayed
Return: text cursor updated
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=0096h

Top
62000D - INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLE" - DRAW UNFILLED CIRCLE
INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLE" - DRAW UNFILLED CIRCLE
	AX = 000Dh
	BX = radius in horizontal screen space units (> 0)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	The circle is drawn in screen space, centered at the current graphics
	  cursor position
	This call is ignored in text modes
SeeAlso: AX=0006h,AX=0008h,AX=000Eh,AX=0026h,AX=0093h

Top
62000E - INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLEF" - DRAW FILLED CIRCLE
INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLEF" - DRAW FILLED CIRCLE
	AX = 000Eh
	BX = radius in horizontal screen space units (> 0)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=0008h,AX=000Dh,AX=0027h,AX=0092h

Top
62000F - INT 62 u - FGDRIVER v4.02 - "FG_CLIPMAP" - DISPLAY CLIPPED IMAGE (MODE-INDEP)
INT 62 u - FGDRIVER v4.02 - "FG_CLIPMAP" - DISPLAY CLIPPED IMAGE (MODE-INDEP)
	AX = 000Fh
	ES:BX -> bitmap
	CX = width
	DX = height
Desc:	display a mode-independent bitmap, showing only the portion within
	  the current clipping limits
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes and in native EGA and VGA graphics
	  modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
SeeAlso: AX=0011h,AX=001Fh,AX=0034h,AX=0086h,AX=00A9h,AX=00C5h

Top
620010 - INT 62 u - FGDRIVER v4.02 - "FG_CLIPMASK" - DISPLAY CLIPPED IMAGE (MASKING MAP)
INT 62 u - FGDRIVER v4.02 - "FG_CLIPMASK" - DISPLAY CLIPPED IMAGE (MASKING MAP)
	AX = 0010h
	ES:BX -> array containing image stored as a masking map (see #03475)
	CX = number of pixel runs in masking map
	DX = width of masking map in pixels
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes and in native EGA and VGA graphics
	  modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
SeeAlso: AX=0011h,AX=001Fh,AX=0034h,AX=00A1h,AX=00A9h,AX=00C5h

Top
620011 - INT 62 u - FGDRIVER v4.02 - "FG_CLPIMAGE" - DISPLAY CLIPPED IMAGE (BITMAP)
INT 62 u - FGDRIVER v4.02 - "FG_CLPIMAGE" - DISPLAY CLIPPED IMAGE (BITMAP)
	AX = 0011h
	ES:BX -> mode-specific bitmap
	CX = width of bit map in bytes
	DX = height of bit map in pixel rows
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
	The current clipping region is used, extended to a byte boundary
SeeAlso: AX=0010h,AX=0024h,AX=0036h,AX=0044h,AX=00A0h,AX=00A9h,AX=00B9h

Top
620012 - INT 62 u - FGDRIVER v4.02 - "FG_CLPRECT" - DRAW FILLED RECTANGLE IN SCREEN SPCE
INT 62 u - FGDRIVER v4.02 - "FG_CLPRECT" - DRAW FILLED RECTANGLE IN SCREEN SPCE
	AX = 0012h
	BX = screen space column of left edge
	CX = screen space column of right edge
	DX = screen space row of top edge
	SI = screen space row of bottom edge
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
SeeAlso: AX=0006h,AX=0010h,AX=0011h,AX=0023h,AX=009Bh,AX=00A9h

Top
620013 - INT 62 u - FGDRIVER v4.02 - "FG_COLORS" - GET SIMULTANEOUSLY-AVAILABLE COLORS
INT 62 u - FGDRIVER v4.02 - "FG_COLORS" - GET SIMULTANEOUSLY-AVAILABLE COLORS
	AX = 0013h
Return: AX = number of colors available at one time
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)

Top
620014 - INT 62 u - FGDRIVER v4.02 - "FG_COPYPAGE" - TRANSFER VIDEO PAGE CONTENTS
INT 62 u - FGDRIVER v4.02 - "FG_COPYPAGE" - TRANSFER VIDEO PAGE CONTENTS
	AX = 0014h
	BX = source page number (0000h-003Fh)
	CX = destination page number (0000h-003Fh)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	If both source and destination pages are logical pages, they must both
	  be located in the same type (conventional, EMS, XMS) of memory
SeeAlso: AX=009Eh,AX=00A2h,AX=00C6h,AX=00CAh

Top
620015 - INT 62 u - FGDRIVER v4.02 - "FG_CURSOR" - SPECIFY WHETHER TEXT CURSR IS VISIBLE
INT 62 u - FGDRIVER v4.02 - "FG_CURSOR" - SPECIFY WHETHER TEXT CURSR IS VISIBLE
	AX = 0015h
	BX = new state (0000h invisible, 0001h visible)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
SeeAlso: AX=000Ch,AX=0054h,AX=0058h,AX=006Bh,AX=0075h,AX=0079h,AX=007Eh
SeeAlso: AX=00E0h

Top
620016 - INT 62 u - FGDRIVER v4.02 - "FG_DASH" - DRAW DASHED LINE TO ABSOLUTE POSITION
INT 62 u - FGDRIVER v4.02 - "FG_DASH" - DRAW DASHED LINE TO ABSOLUTE POSITION
	AX = 0016h
	BX = endpoint column
	CX = endpoint row
	DX = dash pattern (set bits cause drawn pixels)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
	The starting point is the current graphics cursor position; the cursor
	  position is updated
SeeAlso: AX=0017h,AX=001Dh,AX=008Fh

Top
620017 - INT 62 u - FGDRIVER v4.02 - "FG_DASHREL" - DRAW DASHED LINE TO RELATVE POSITION
INT 62 u - FGDRIVER v4.02 - "FG_DASHREL" - DRAW DASHED LINE TO RELATVE POSITION
	AX = 0017h
	BX = endpoint column offset
	CX = endpoint row offset
	DX = dash pattern (set bits cause drawn pixels)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
	The starting point is the current graphics cursor position; the cursor
	  position is updated
SeeAlso: AX=0016h,AX=001Eh,AX=008Fh

Top
620018 - INT 62 u - FGDRIVER v4.02 - "FG_DEFCOLOR" - ASSIGN COLOR VALUE TO COLOR INDEX
INT 62 u - FGDRIVER v4.02 - "FG_DEFCOLOR" - ASSIGN COLOR VALUE TO COLOR INDEX
	AX = 0018h
	BX = color index (0000h-00FFh)
	CX = new color value (0 to maximum color value for current video mode)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes and 256-color graphics modes
SeeAlso: AX=0040h,AX=0045h,AX=00AAh

Top
620019 - INT 62 u - FGDRIVER v4.02 - "FG_DEFPAGES" - DEF SRC/DEST PAGES FOR BLOCK XFERS
INT 62 u - FGDRIVER v4.02 - "FG_DEFPAGES" - DEF SRC/DEST PAGES FOR BLOCK XFERS
	AX = 0019h
	BX = source page
	CX = destination page
Desc:	specify the source and destination SVGA banks for block transfers on
	  extended video pages
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This function is ignored if the video controller does not support
	  extended pages or the current video mode does not allow them
SeeAlso: AX=0014h,AX=00CAh

Top
62001A - INT 62 u - FGDRIVER v4.02 - "FG_DISPFILE" - DISPLAY STORED IMAGE
INT 62 u - FGDRIVER v4.02 - "FG_DISPFILE" - DISPLAY STORED IMAGE
	AX = 001Ah
	ES:BX -> ASCIZ filename
	CX = image width in pixels (> 0)
	DX = image format
	    0000h Fastgraph standard pixel run format
	    0001h packed pixel run format
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
	The image is displayed with its lower left corner at the current
	  graphics cursor position
SeeAlso: AX=001Bh,AX=001Ch,AX=00B9h,AX=00BAh,AX=00BBh

Top
62001B - INT 62 u - FGDRIVER v4.02 - "FG_DISPLAY" - DISPLAY IMAGE (STD PIXEL RUN FORMAT)
INT 62 u - FGDRIVER v4.02 - "FG_DISPLAY" - DISPLAY IMAGE (STD PIXEL RUN FORMAT)
	AX = 001Bh
	ES:BX -> pixel run map (pairs of bytes: color index, count)
	CX = number of pixel runs to display
	DX = width of image in pixels (> 0)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
	The image is displayed with its lower left corner at the current
	  graphics cursor position
SeeAlso: AX=001Ah,AX=001Ch,AX=00B9h,AX=00BAh,AX=00BBh

Top
62001C - INT 62 u - FGDRIVER v4.02 - "FG_DISPLAYP" - DISPLAY IMAGE (PACKED PIXEL RUNS)
INT 62 u - FGDRIVER v4.02 - "FG_DISPLAYP" - DISPLAY IMAGE (PACKED PIXEL RUNS)
	AX = 001Ch
	ES:BX -> pixel run map (trios of bytes: colors, count1, count2; colors
		  contains the color for the first run in its high nybble and
		  the color for the second run in its low nybble)
	CX = number of pixel runs to display
	DX = width of image in pixels (> 0)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
	The image is displayed with its lower left corner at the current
	  graphics cursor position
SeeAlso: AX=001Ah,AX=001Bh,AX=00B9h,AX=00BAh,AX=00BBh

Top
62001D - INT 62 u - FGDRIVER v4.02 - "FG_DRAW" - DRAW SOLID LINE TO ABSOLUTE POSITION
INT 62 u - FGDRIVER v4.02 - "FG_DRAW" - DRAW SOLID LINE TO ABSOLUTE POSITION
	AX = 001Dh
	BX = endpoint column
	CX = endpoint row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes
	The starting point is the current graphics cursor position; the cursor
	  position is updated
SeeAlso: AX=0016h,AX=0020h,AX=0021h,AX=0026h,AX=008Fh,AX=0090h

Top
62001E - INT 62 u - FGDRIVER v4.02 - "FG_DRAWMAP" - DISPLAY MODE-INDEPENDENT BIT MAP
INT 62 u - FGDRIVER v4.02 - "FG_DRAWMAP" - DISPLAY MODE-INDEPENDENT BIT MAP
	AX = 001Eh
	ES:BX -> bitmap (each set bit is pixel drawn in current color)
	CX = width of bitmap in bytes
	DX = height of bitmap in pixel rows
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0044h,AX=0099h,AX=00A0h

Top
62001F - INT 62 u - FGDRIVER v4.02 - "FG_DRAWMASK" - DISPLAY IMAGE (MASKING MAP)
INT 62 u - FGDRIVER v4.02 - "FG_DRAWMASK" - DISPLAY IMAGE (MASKING MAP)
	AX = 001Fh
	ES:BX -> array containing image stored as a masking map (see #03475)
	CX = number of pixel runs in masking map
	DX = width of masking map in pixels
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	This call is ignored in text modes and in native EGA and VGA graphics
	  modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
SeeAlso: AX=0010h,AX=001Fh,AX=00A1h,AX=00A9h

Format of FGDRIVER masking map:
Offset	Size	Description	(Table 03475)
 00h	BYTE	length of first "protect" run (pixels remain unchanged)
 01h	BYTE	length of first "zero" run (pixels set to background color)
 02h	BYTE	length of second "protect" run
 03h	BYTE	length of second "zero" run
	...

Top
620020 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWREL" - DRAW SOLID LINE TO RELATIVE POSITION
INT 62 u - FGDRIVER v4.02 - "FG_DRAWREL" - DRAW SOLID LINE TO RELATIVE POSITION
	AX = 0020h
	BX = endpoint column offset
	CX = endpoint row offset
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The starting point is the current graphics cursor position; the cursor
	  position is updated
SeeAlso: AX=0006h,AX=000Dh,AX=001Dh,AX=0021h,AX=0026h,AX=008Fh

Top
620021 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWRELX" - XOR SOLID LINE TO RELATIVE POSITION
INT 62 u - FGDRIVER v4.02 - "FG_DRAWRELX" - XOR SOLID LINE TO RELATIVE POSITION
	AX = 0021h
	BX = endpoint column offset
	CX = endpoint row offset
Desc:	draw a solid line, XORing each pixel onto the screen
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The starting point is the current graphics cursor position; the cursor
	  position is updated
SeeAlso: AX=0006h,AX=000Dh,AX=001Dh,AX=0020h,AX=0026h,AX=0090h

Top
620022 - INT 62 u - FGDRIVER v4.02 - "FG_DRAWX" - XOR SOLID LINE TO ABSOLUTE POSITION
INT 62 u - FGDRIVER v4.02 - "FG_DRAWX" - XOR SOLID LINE TO ABSOLUTE POSITION
	AX = 0022h
	BX = endpoint column
	CX = endpoint row
Desc:	draw a solid line, XORing each pixel onto the screen
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The starting point is the current graphics cursor position; the cursor
	  position is updated
SeeAlso: AX=001Dh,AX=0021h,AX=008Fh

Top
620023 - INT 62 u - FGDRIVER v4.02 - "FG_DRECT" - DRAW DITHERED RECTANGLE IN SCRN SPACE
INT 62 u - FGDRIVER v4.02 - "FG_DRECT" - DRAW DITHERED RECTANGLE IN SCRN SPACE
	AX = 0023h
	BX = screen space column of left edge
	CX = screen space column of right edge
	DX = screen space row of top edge
	SI = screen space row of bottom edge
	ES:DI -> dithering matrix (video-mode dependent)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=0006h,AX=0008h,AX=0013h,AX=003Ch,AX=0089h,AX=009Bh

Top
620024 - INT 62 u - FGDRIVER v4.02 - "FG_DRWIMAGE" - DISPLAY BITMAPPED IMAGE
INT 62 u - FGDRIVER v4.02 - "FG_DRWIMAGE" - DISPLAY BITMAPPED IMAGE
	AX = 0024h
	ES:BX -> video mode-specific bitmap
	CX = width of bitmap in bytes
	DX = height of bitmap in pixel rows
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The image will be drawn with its lower left corner at the current
	  cursor position (either text or graphics)
SeeAlso: AX=0011h,AX=0036h,AX=0044h,AX=0099h,AX=00A0h

Top
620025 - INT 62 u - FGDRIVER v4.02 - "FG_EGACHECK" - GET INFO ABOUT ACTIVE EGA DISPLAY
INT 62 u - FGDRIVER v4.02 - "FG_EGACHECK" - GET INFO ABOUT ACTIVE EGA DISPLAY
	AX = 0025h
Return: AX = number of 64K banks of video memory, or 0000h if no EGA or EGA
	      without an Enhanced Color Display
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00C2h

Top
620026 - INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSE" - DRAW UNFILLED ELLIPSE IN SCRN SPACE
INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSE" - DRAW UNFILLED ELLIPSE IN SCRN SPACE
	AX = 0026h
	BX = horizontal semi-axis length in screen space units
	CX = vertical semi-axis length in screen space units
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The ellipse is centered at the current graphics cursor position
SeeAlso: AX=0006h,AX=000Dh,AX=0027h,AX=008Fh,AX=0093h

Top
620027 - INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSEF" - DRAW FILLED ELLIPSE IN SCREEN SPACE
INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSEF" - DRAW FILLED ELLIPSE IN SCREEN SPACE
	AX = 0027h
	BX = horizontal semi-axis length in screen space units
	CX = vertical semi-axis length in screen space units
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The ellipse is centered at the current graphics cursor position
SeeAlso: AX=0006h,AX=000Eh,AX=0026h,AX=008Fh,AX=0092h

Top
620028 - INT 62 u - FGDRIVER v4.02 - "FG_ERASE" - CLEAR THE ACTIVE VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_ERASE" - CLEAR THE ACTIVE VIDEO PAGE
	AX = 0028h
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function sets each pixel to 0 in graphics modes, each character
	  cell to a blank with a gray foreground attribute in text modes
SeeAlso: AX=0029h,AX=002Bh,AX=0035h

Top
620029 - INT 62 u - FGDRIVER v4.02 - "FG_FADEIN" - FADE IN HIDDEN PAGE
INT 62 u - FGDRIVER v4.02 - "FG_FADEIN" - FADE IN HIDDEN PAGE
	AX = 0029h
	BX = delay (0000h = fastest possible fade-in)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The current hidden page is copied to the current visible page in small
	  random sections to produce a fade-in effect
	This call is ignored in text modes
SeeAlso: AX=0028h,AX=002Ah,AX=002Bh

Top
62002A - INT 62 u - FGDRIVER v4.02 - "FG_FADEOUT" - FADE OUT TO CURRENT COLOR
INT 62 u - FGDRIVER v4.02 - "FG_FADEOUT" - FADE OUT TO CURRENT COLOR
	AX = 002Ah
	BX = delay (0000h = fastest possible fade-out)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The current visible page is filled with pixels of the current color in
	  small random sections to give a fade-out effect
	This call is ignored in text modes
SeeAlso: AX=0028h,AX=0029h,AX=002Bh

Top
62002B - INT 62 u - FGDRIVER v4.02 - "FG_FILLPAGE" - FILL THE ACTIVE VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_FILLPAGE" - FILL THE ACTIVE VIDEO PAGE
	AX = 002Bh
Desc:	fill the active video page with pixels of the current color (graphics
	  modes) or the block character DBh with the current character
	  attributes (text modes)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0028h,AX=0029h,AX=002Ah

Top
62002C - INT 62 u - FGDRIVER v4.02 - "FG_FINDPAGE" - FIND AVAILABLE VIRTUAL/LOGICAL PAGE
INT 62 u - FGDRIVER v4.02 - "FG_FINDPAGE" - FIND AVAILABLE VIRTUAL/LOGICAL PAGE
	AX = 002Ch
Return: AX = first available page number (virtual or logical page)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0028h

Top
62002D - INT 62 u - FGDRIVER v4.02 - "FG_FLICDONE" - CLOSE FLIC FILE
INT 62 u - FGDRIVER v4.02 - "FG_FLICDONE" - CLOSE FLIC FILE
	AX = 002Dh
	ES:BX -> context descriptor (see AX=0030h)
Return: nothing
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=002Eh,AX=0030h

Top
62002E - INT 62 u - FGDRIVER v4.02 - "FG_FLICHEAD" - READ FLI/FLC FILE HEADER
INT 62 u - FGDRIVER v4.02 - "FG_FLICHEAD" - READ FLI/FLC FILE HEADER
	AX = 002Eh
	ES:BX -> FLICHEAD variable pointer record (see #03477)
Return: AX = status (see #03476)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=002Dh,AX=002Fh,AX=0030h,AX=0032h

(Table 03476)
Values for FGDRIVER FLIC processing status:
 0000h	successful
 FFFEh	not an FLI or FLC file
 FFFFh	file not found

Format of FGDRIVER FLICHEAD variable pointer record:
Offset	Size	Description	(Table 03477)
 00h	WORD	segment of ASCIZ FLI/FLC file name
 02h	WORD	offset of ASCIZ FLI/FLC file name
 04h	WORD	segment of buffer for 128-byte file header
 06h	WORD	offset of buffer for 128-byte file header

Top
62002F - INT 62 u - FGDRIVER v4.02 - "FG_FLICMODE" - GET OPTIMAL VIDEO MODE FOR FLI/FLC
INT 62 u - FGDRIVER v4.02 - "FG_FLICMODE" - GET OPTIMAL VIDEO MODE FOR FLI/FLC
	AX = 002Fh
	ES:BX -> 128-byte buffer containing FLI/FLC file header (see AX=002Eh)
Return: AX = optimal 256-color graphics mode number
	    FFFFh if invalid file header
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=002Eh,AX=0030h

Top
620030 - INT 62 u - FGDRIVER v4.02 - "FG_FLICOPEN" - OPEN FLI/FLC FILE
INT 62 u - FGDRIVER v4.02 - "FG_FLICOPEN" - OPEN FLI/FLC FILE
	AX = 0030h
	ES:BX -> FLICOPEN variable pointer record (see #03478)
Return: AX = status (see #03476)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=002Dh,AX=002Eh,AX=002Fh,AX=0030h,AX=0031h,AX=0032h

Format of FGDRIVER FLICOPEN variable pointer record:
Offset	Size	Description	(Table 03478)
 00h	WORD	segment of ASCIZ FLI/FLC file name
 02h	WORD	offset of ASCIZ FLI/FLC file name
 04h	WORD	segment of buffer for 16-byte file context descriptor
 06h	WORD	offset of buffer for 16-byte file context descriptor

Top
620031 - INT 62 u - FGDRIVER v4.02 - "FG_FLICPLAY" - DISPLAY NEXT FRAME(S) IN FLI/FLC
INT 62 u - FGDRIVER v4.02 - "FG_FLICPLAY" - DISPLAY NEXT FRAME(S) IN FLI/FLC
	AX = 0031h
	ES:BX -> context descriptor (see AX=0030h)
	CX = number of frames to display starting at current frame
	DX = control flags (see #03479)
Return: AX = number of frames displayed
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0030h,AX=0033h,AX=00B8h

Bitfields for FGDRIVER FLI/FLC control flags:
Bit(s)	Description	(Table 03479)
 0	skip inter-frame delay specified in FLI/FLC header
 1	display relative to current graphics position
 2	dipslay image from the FG_IMAGEBUF buffer instead of file

Top
620032 - INT 62 u - FGDRIVER v4.02 - "FG_FLICSIZE" - GET IMAGE SIZE
INT 62 u - FGDRIVER v4.02 - "FG_FLICSIZE" - GET IMAGE SIZE
	AX = 0032h
	ES:BX -> FLICSIZE variable pointer record (see #03480)
Return: image height/width buffers updated; height is set to FFFFh on error
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=002Eh,AX=0030h

Format of FGDRIVER FLICSIZE variable pointer record:
Offset	Size	Description	(Table 03480)
 00h	WORD	segment of buffer for 128-byte FLI/FLC file header
 02h	WORD	offset of buffer for 128-byte FLI/FLC file header
 04h	WORD	segment of WORD buffer for image width in pixels
 06h	WORD	offset of WORD buffer for image width in pixels
 08h	WORD	segment of WORD buffer for image height in pixels
 0Ah	WORD	offset of WORD buffer for image height in pixels

Top
620033 - INT 62 u - FGDRIVER v4.02 - "FG_FLICSKIP" - SKIP FRAME(S) IN FLI/FLC FILE
INT 62 u - FGDRIVER v4.02 - "FG_FLICSKIP" - SKIP FRAME(S) IN FLI/FLC FILE
	AX = 0033h
	ES:BX -> context descriptor (see AX=0030h)
	CX = number of frames to skip
	    reset to first frame if skip count is negative
Return: AX = number of frames skipped (may be less than requested if EOF)
	    0000h if resetting to first frame
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0030h,AX=0031h

Top
620034 - INT 62 u - FGDRIVER v4.02 - "FG_FLIPMASK" - DISPLAY INV CLIPPED IMAGE (MASKMAP)
INT 62 u - FGDRIVER v4.02 - "FG_FLIPMASK" - DISPLAY INV CLIPPED IMAGE (MASKMAP)
	AX = 0034h
	ES:BX -> array containing image stored as a masking map (see #03475)
	CX = number of pixel runs in masking map
	DX = width of masking map in pixels
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes and in native EGA and VGA graphics
	  modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
SeeAlso: AX=000Fh,AX=001Fh,AX=0036h,AX=00A1h,AX=00A5h,AX=00C5h

Top
620035 - INT 62 u - FGDRIVER v4.02 - "FG_FLOOD" - FLOOD FILL ARBITRARY CLOSED REGION
INT 62 u - FGDRIVER v4.02 - "FG_FLOOD" - FLOOD FILL ARBITRARY CLOSED REGION
	AX = 0035h
	BX = starting column
	CX = starting row
Desc:	fill the bounded region around the specified point (respecting clipping
	  region) with the currrent color
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is ignored in text modes
SeeAlso: AX=0028h,AX=0085h

Top
620036 - INT 62 u - FGDRIVER v4.02 - "FG_FLPIMAGE" - DISPLAY INV CLIPPED IMAGE (BITMAP)
INT 62 u - FGDRIVER v4.02 - "FG_FLPIMAGE" - DISPLAY INV CLIPPED IMAGE (BITMAP)
	AX = 0036h
	ES:BX -> mode-specific bitmap
	CX = width of bit map in bytes
	DX = height of bit map in pixel rows
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
	The current clipping region is used, extended to a byte boundary
SeeAlso: AX=0011h,AX=0024h,AX=0034h,AX=0044h,AX=00A0h,AX=00A9h,AX=00B9h

Top
620037 - INT 62 u - FGDRIVER v4.02 - "FG_FONTSIZE" - SPECIFY FONT SIZE FOR TEXT OUTPUT
INT 62 u - FGDRIVER v4.02 - "FG_FONTSIZE" - SPECIFY FONT SIZE FOR TEXT OUTPUT
	AX = 0037h
	BX = desired character height in scan lines (8, 14, 16)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored if the current mode is not a VGA or SVGA graphics
	  mode, or the specified character height is not 8, 14, or 16
SeeAlso: AX=0096h

Top
620038 - INT 62 u - FGDRIVER v4.02 - "FG_FREEPAGE" - FREE VIRTUAL OR LOGICAL VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_FREEPAGE" - FREE VIRTUAL OR LOGICAL VIDEO PAGE
	AX = 0038h
	BX = page number (0000h-003Fh)
Return: AX = status (0000h,0001h,0007h,0009h) (see #03473)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0000h,AX=0001h,AX=0002h,AX=0003h

Top
620039 - INT 62 u - FGDRIVER v4.02 - "FG_GETADDR" - GET SEGMENT OF ACTIVE VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_GETADDR" - GET SEGMENT OF ACTIVE VIDEO PAGE
	AX = 0039h
Return: AX = segment of active video page
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0042h,AX=00ACh

Top
62003A - INT 62 u - FGDRIVER v4.02 - "FG_GETATTR" - GET CHARACTER ATTRIB FOR POSITION
INT 62 u - FGDRIVER v4.02 - "FG_GETATTR" - GET CHARACTER ATTRIB FOR POSITION
	AX = 003Ah
	BX = row
	CX = column
Return: AX = character attribute at specified location on active video page
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=003Dh,AX=0040h,AX=00A6h

Top
62003B - INT 62 u - FGDRIVER v4.02 - "FG_GETBANKS" - GET SVGA READ AND WRITE BANKS
INT 62 u - FGDRIVER v4.02 - "FG_GETBANKS" - GET SVGA READ AND WRITE BANKS
	AX = 003Bh
	ES:BX -> GETBANKS variable pointer record (see #03481)
Return: nothing
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00A7h

Format of FGDRIVER GETBANKS variable pointer record:
Offset	Size	Description	(Table 03481)
 00h	WORD	segment of WORD buffer for read bank number
 02h	WORD	offset of WORD buffer for read bank number
 04h	WORD	segment of WORD buffer for write bank number
 06h	WORD	offset of WORD buffer for write bank number

Top
62003C - INT 62 u - FGDRIVER v4.02 - "FG_GETBLOCK" - GRAB RECTANGLE OF DISPLAY
INT 62 u - FGDRIVER v4.02 - "FG_GETBLOCK" - GRAB RECTANGLE OF DISPLAY
	AX = 003Ch
	ES:BX -> buffer for screen contents
	CX = leftmost column
	DX = rightmost column
	SI = top row
	DI = bottom row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	In text modes, coordinates are character positions; in graphics modes,
	  they are defined in screen space, and the left and right edges are
	  adjusted to a byte boundary if necessary
	Use "FG_IMAGESIZ" (see AX=005Ch) to determine the required buffer size
SeeAlso: AX=0044h,AX=005Ch,AX=0098h

Top
62003D - INT 62 u - FGDRIVER v4.02 - "FG_GETCHAR" - GET CHARACTER FOR SCREEN POSITION
INT 62 u - FGDRIVER v4.02 - "FG_GETCHAR" - GET CHARACTER FOR SCREEN POSITION
	AX = 003Dh
	BX = row
	CX = column
Return: AX = character at specified location on active video page
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=003Ah,AX=0096h,AX=00A6h,AX=00C8h

Top
62003E - INT 62 u - FGDRIVER v4.02 - "FG_GETCLIP" - GET CLIPPING REGION IN SCREEN SPACE
INT 62 u - FGDRIVER v4.02 - "FG_GETCLIP" - GET CLIPPING REGION IN SCREEN SPACE
	AX = 003Eh
	ES:BX -> GETCLIP variable pointer record (see #03482)
Return: variables specifed by GETCLIP structure updated
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00CAh

Format of FGDRIVER GETCLIP variable pointer record:
Offset	Size	Description	(Table 03482)
 00h	WORD	segment of WORD buffer for minimum X coordinate (left edge)
 02h	WORD	offset of WORD buffer for minimum X coordinate (left edge)
 04h	WORD	segment of WORD buffer for maximum X coordinate (right edge)
 06h	WORD	offset of WORD buffer for maximum X coordinate (right edge)
 08h	WORD	segment of WORD buffer for minimum Y coordinate (top edge)
 0Ah	WORD	offset of WORD buffer for minimum Y coordinate (top edge)
 0Ch	WORD	segment of WORD buffer for maximum Y coordinate (bottom edge)
 0Eh	WORD	offset of WORD buffer for maximum Y coordinate (bottom edge)

Top
62003F - INT 62 u - FGDRIVER v4.02 - "FG_GETCLOCK" - GET CLOCK TICKS SINCE MIDNIGHT
INT 62 u - FGDRIVER v4.02 - "FG_GETCLOCK" - GET CLOCK TICKS SINCE MIDNIGHT
	AX = 003Fh
Return: DX:AX = number of clock ticks since midnight
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: INT 1A/AH=00h

Top
620040 - INT 62 u - FGDRIVER v4.02 - "FG_GETCOLOR" - GET CURRENT TEXT ATTRIBUTE
INT 62 u - FGDRIVER v4.02 - "FG_GETCOLOR" - GET CURRENT TEXT ATTRIBUTE
	AX = 0040h
Return: AX = current text attribute or color index (graphics modes)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Bh,AX=003Ah,AX=00A6h

Top
620041 - INT 62 u - FGDRIVER v4.02 - "FG_GETDACS" - GET VIDEO DAC CONTENTS
INT 62 u - FGDRIVER v4.02 - "FG_GETDACS" - GET VIDEO DAC CONTENTS
	AX = 0041h
	CX = number of DAC registers to return (0001h to 0100h)
	DX = starting DAC register number (0000h to 00FFh)
	ES:BX -> buffer for DAC red/green/blue triples
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The register number wraps back to zero after FFh
SeeAlso: AX=004Eh,AX=0086h,AX=00ABh

Top
620042 - INT 62 u - FGDRIVER v4.02 - "FG_GETENTRY" - GET PAGE TYPE AND ADDRESS
INT 62 u - FGDRIVER v4.02 - "FG_GETENTRY" - GET PAGE TYPE AND ADDRESS
	AX = 0042h
	ES:BX -> variable pointer record (see #03483)
	CX = page number (00h-3Fh)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	Page addresses are segments for pages stored in conventional memory
	  (including physical and virtual pages), and EMS or XMS handles for
	  pages stored in EMS or XMS
SeeAlso: AX=0000h,AX=00ACh

Format of FGDRIVER GETENTRY variable pointer record:
Offset	Size	Description	(Table 03483)
 00h	WORD	segment of WORD buffer for page address
 02h	WORD	offset of WORD buffer for page address
 04h	WORD	segment of WORD buffer for page type (se #03484)
 06h	WORD	offset of WORD buffer for page type

(Table 03484)
Values for FGDRIVER page type:
 0000h	unallocated
 0001h	physical
 0002h	virtual
 0003h	logical page, stored in expanded memory (EMS)
 0004h	logical page, stored in extended memory (XMS)
 0005h	logical page, stored in conventional memory

Top
620043 - INT 62 u - FGDRIVER v4.02 - "FG_GETHPAGE" - GET CURRENT HIDDEN VIDEO PAGE NUM
INT 62 u - FGDRIVER v4.02 - "FG_GETHPAGE" - GET CURRENT HIDDEN VIDEO PAGE NUM
	AX = 0043h
Return: AX = current hidden video page number (0000h-003Fh)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=004Ch,AX=0050h,AX=00AEh

Top
620044 - INT 62 u - FGDRIVER v4.02 - "FG_GETIMAGE" - STORE IMAGE AS BITMAP
INT 62 u - FGDRIVER v4.02 - "FG_GETIMAGE" - STORE IMAGE AS BITMAP
	AX = 0044h
	ES:BX -> buffer for video mode-specific bitmap
	CX = width of bitmap in bytes
	DX = height of bitmap in pixel rows
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0099h,AX=00A0h

Top
620045 - INT 62 u - FGDRIVER v4.02 - "FG_GETINDEX" - GET COLOR VALUE FOR COLOR INDEX
INT 62 u - FGDRIVER v4.02 - "FG_GETINDEX" - GET COLOR VALUE FOR COLOR INDEX
	AX = 0045h
	BX = color index (0000h to 00FFh)
Return: AX = color value for specified color index
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call returns the value passed to it in text and 256-color
	  graphics modes
SeeAlso: AX=0018h,AX=0040h

Top
620046 - INT 62 u - FGDRIVER v4.02 - "FG_GETKEY" - GET NEXT KEYSTROKE
INT 62 u - FGDRIVER v4.02 - "FG_GETKEY" - GET NEXT KEYSTROKE
	AX = 0046h
	ES:BX -> variable pointer record (see #03485)
Return: (after next keystroke if no typeahead) variables updated
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Ah,AX=0063h,AX=0069h,AX=00DEh,INT 16/AH=00h

Format of FGDRIVER GETKEY variable pointer record:
Offset	Size	Description	(Table 03485)
 00h	WORD	segment of BYTE buffer for ASCII keycode
 02h	WORD	offset of BYTE buffer for ASCII keycode
 04h	WORD	segment of BYTE buffer for extended keycode
 06h	WORD	offset of BYTE buffer for extended keycode

Top
620047 - INT 62 u - FGDRIVER v4.02 - "FG_GETLINES" - GET TEXT ROWS FOR CURR VIDEO MODE
INT 62 u - FGDRIVER v4.02 - "FG_GETLINES" - GET TEXT ROWS FOR CURR VIDEO MODE
	AX = 0047h
Return: AX = number of text rows on screen in current video mode
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00AFh,AX=00C2h

Top
620048 - INT 62 u - FGDRIVER v4.02 - "FG_GETMAP" - STORE IMAGE AS MODE-INDEPENDNT BITMAP
INT 62 u - FGDRIVER v4.02 - "FG_GETMAP" - STORE IMAGE AS MODE-INDEPENDNT BITMAP
	AX = 0048h
	ES:BX -> buffer for video mode-independent bitmap
	CX = width of bitmap in bytes
	DX = height of bitmap in pixel rows
Return: each bit in bitmap is set if corresponding pixel is of the current
	  color, cleared otherwise
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=0011h,AX=001Eh,AX=0024h

Top
620049 - INT 62 u - FGDRIVER v4.02 - "FG_GETMAXX" - GET MAXIMUM COLUMN IN SCREEN SPACE
INT 62 u - FGDRIVER v4.02 - "FG_GETMAXX" - GET MAXIMUM COLUMN IN SCREEN SPACE
	AX = 0049h
Return: AX = maximum X coordinate in screen space
	    (or character space if in text mode)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=004Ah,AX=00C1h

Top
62004A - INT 62 u - FGDRIVER v4.02 - "FG_GETMAXY" - GET MAXIMUM ROW IN SCREEN SPACE
INT 62 u - FGDRIVER v4.02 - "FG_GETMAXY" - GET MAXIMUM ROW IN SCREEN SPACE
	AX = 004Ah
Return: AX = maximum Y coordinate in screen space
		(or character space if in text mode)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0049h,AX=00C1h

Top
62004B - INT 62 u - FGDRIVER v4.02 - "FG_GETMODE" - GET CURRENT VIDEO MODE NUMBER
INT 62 u - FGDRIVER v4.02 - "FG_GETMODE" - GET CURRENT VIDEO MODE NUMBER
	AX = 004Bh
	ES:BX -> WORD ???
Return: AX = current video mode number
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00B0h

Top
62004C - INT 62 u - FGDRIVER v4.02 - "FG_GETPAGE" - GET ACTIVE VIDEO PAGE NUMBER
INT 62 u - FGDRIVER v4.02 - "FG_GETPAGE" - GET ACTIVE VIDEO PAGE NUMBER
	AX = 004Ch
Return: AX = active video page (0000h-003Fh)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0039h,AX=0042h,AX=0043h,AX=0050h,AX=00B2h

Top
62004D - INT 62 u - FGDRIVER v4.02 - "FG_GETPIXEL" - GET COLOR OF SPECIFIED PIXEL
INT 62 u - FGDRIVER v4.02 - "FG_GETPIXEL" - GET COLOR OF SPECIFIED PIXEL
	AX = 004Dh
	BX = column in screen space
	CX = row in screen space
Return: AX = color value of pixel (0 to num_colors-1)
	    0000h in text modes
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=003Ah,AX=003Dh,AX=008Fh,AX=0090h

Top
62004E - INT 62 u - FGDRIVER v4.02 - "FG_GETRGB" - GET VIDEO DAC REGISTER CONTENTS
INT 62 u - FGDRIVER v4.02 - "FG_GETRGB" - GET VIDEO DAC REGISTER CONTENTS
	AX = 004Eh
	ES:BX -> variable pointer record (see #03486)
	CX = DAC register number
Return: variables updated
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes and CGA/EGA video modes (since
	  they do not use DAC registers)
SeeAlso: AX=0041h,AX=0086h,AX=00ABh

Format of FGDRIVER GETRGB variable pointer record:
Offset	Size	Description	(Table 03486)
 00h	WORD	segment of WORD buffer for red component of DAC register
 02h	WORD	offset of WORD buffer for red component
 04h	WORD	segment of WORD buffer for green component of DAC register
 06h	WORD	offset of WORD buffer for green component
 08h	WORD	segment of WORD buffer for blue component of DAC register
 0Ah	WORD	offset of WORD buffer for blue component

Top
62004F - INT 62 u - FGDRIVER v4.02 - "FG_GETVIEW" - GET VIEWPORT EXTREME LIMITS
INT 62 u - FGDRIVER v4.02 - "FG_GETVIEW" - GET VIEWPORT EXTREME LIMITS
	AX = 004Fh
	ES:BX -> variable pointer record (see #03487)
Return: indicated variables updated
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00B5h

Format of FGDRIVER GETVIEW variable pointer record:
Offset	Size	Description	(Table 03487)
 00h	WORD	segment of WORD buffer for viewport left edge (viewport units)
 02h	WORD	offset of WORD buffer for viewport left edge (viewport units)
 04h	WORD	segment of WORD buffer for viewport right edge (viewport units)
 06h	WORD	offset of WORD buffer for viewport right edge (viewport units)
 08h	WORD	segment of WORD buffer for viewport top edge (viewport units)
 0Ah	WORD	offset of WORD buffer for viewport top edge (viewport units)
 0Ch	WORD	segment of WORD buffer for viewport bottom edge (viewp. units)
 0Eh	WORD	offset of WORD buffer for viewport bottom edge (viewp. units)
 10h	WORD	segment of WORD buffer for viewport left edge (screen space)
 12h	WORD	offset of WORD buffer for viewport left edge (screen space)
 14h	WORD	segment of WORD buffer for viewport right edge (screen space)
 16h	WORD	offset of WORD buffer for viewport right edge (screen space)
 18h	WORD	segment of WORD buffer for viewport top edge (screen space)
 1Ah	WORD	offset of WORD buffer for viewport top edge (screen space)
 1Ch	WORD	segment of WORD buffer for viewport bottom edge (screen space)
 1Eh	WORD	offset of WORD buffer for viewport bottom edge (screen space)

Top
620050 - INT 62 u - FGDRIVER v4.02 - "FG_GETVPAGE" - GET VISIBLE VIDEO PAGE NUMBER
INT 62 u - FGDRIVER v4.02 - "FG_GETVPAGE" - GET VISIBLE VIDEO PAGE NUMBER
	AX = 0050h
Return: AX = visible video page (0000h-003Fh)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0043h,AX=004Ch,AX=00B6h

Top
620051 - INT 62 u - FGDRIVER v4.02 - "FG_GETXBOX" - GET WIDTH OF VERTICAL BOX LINES
INT 62 u - FGDRIVER v4.02 - "FG_GETXBOX" - GET WIDTH OF VERTICAL BOX LINES
	AX = 0051h
Return: AX = width (in pixels) of left and right edges of rectangles
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0006h,AX=0007h,AX=0008h,AX=006Bh

Top
620052 - INT 62 u - FGDRIVER v4.02 - "FG_GETXJOY" - GET HORIZONTAL POSITION OF JOYSTICK
INT 62 u - FGDRIVER v4.02 - "FG_GETXJOY" - GET HORIZONTAL POSITION OF JOYSTICK
	AX = 0052h
	BX = joystick number (0001h or 0002h)
Return: AX = horizontal position of joystick
	    FFFFh if joystick uninitialized or not present
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The actual coordinates are processor- and joystick-dependent
	You must call "FG_INITJOY" (AX=005Eh) before using this function
SeeAlso: AX=0009h,AX=0056h,AX=005Eh,AX=0062h,AX=0077h

Top
620053 - INT 62 u - FGDRIVER v4.02 - "FG_GETXJUST" - GET HORIZONTAL JUSTIFICATION
INT 62 u - FGDRIVER v4.02 - "FG_GETXJUST" - GET HORIZONTAL JUSTIFICATION
	AX = 0053h
Return: AX = string justification
	    0000h strings are centered around current graphics X position
	    0001h strings are right-justified at current graphics X position
	    FFFFh strings are left-justified at current graphics X position
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=006Ch,AX=007Bh

Top
620054 - INT 62 u - FGDRIVER v4.02 - "FG_GETXPOS" - GET GRAPHICS CURSOR COLUMN
INT 62 u - FGDRIVER v4.02 - "FG_GETXPOS" - GET GRAPHICS CURSOR COLUMN
	AX = 0054h
Return: AX = screen space X coordinate of graphics cursor position
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0058h,AX=007Eh,AX=007Fh

Top
620055 - INT 62 u - FGDRIVER v4.02 - "FG_GETYBOX" - GET WIDTH OF HORIZONTAL BOX LINES
INT 62 u - FGDRIVER v4.02 - "FG_GETYBOX" - GET WIDTH OF HORIZONTAL BOX LINES
	AX = 0055h
Return: AX = width (in pixels) of top and bottom edges of rectangles
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0006h,AX=0007h,AX=0008h,AX=0063h

Top
620056 - INT 62 u - FGDRIVER v4.02 - "FG_GETYJOY" - GET VERTICAL POSITION OF JOYSTICK
INT 62 u - FGDRIVER v4.02 - "FG_GETYJOY" - GET VERTICAL POSITION OF JOYSTICK
	AX = 0056h
	BX = joystick number (0001h or 0002h)
Return: AX = vertical position of joystick
	    FFFFh if joystick uninitialized or not present
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The actual coordinates are processor- and joystick-dependent
	You must call "FG_INITJOY" (AX=005Eh) before using this function
SeeAlso: AX=0009h,AX=0052h,AX=005Eh,AX=0062h,AX=0077h

Top
620057 - INT 62 u - FGDRIVER v4.02 - "FG_GETYJUST" - GET VERTICAL JUSTIFICATION
INT 62 u - FGDRIVER v4.02 - "FG_GETYJUST" - GET VERTICAL JUSTIFICATION
	AX = 0057h
Return: AX = string justification
	    0000h strings are centered around current graphics Y position
	    0001h strings have top edge at current graphics Y position
	    FFFFh strings have bottom edge at current graphics Y position
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0053h,AX=0065h

Top
620058 - INT 62 u - FGDRIVER v4.02 - "FG_GETYPOS" - GET GRAPHICS CURSOR ROW
INT 62 u - FGDRIVER v4.02 - "FG_GETYPOS" - GET GRAPHICS CURSOR ROW
	AX = 0058h
Return: AX = screen space Y coordinate of graphics cursor position
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0054h,AX=007Eh,AX=007Fh

Top
620059 - INT 62 u - FGDRIVER v4.02 - "FG_HUSH" - STOP ASYNCHRONOUS SOUND IMMEDIATELY
INT 62 u - FGDRIVER v4.02 - "FG_HUSH" - STOP ASYNCHRONOUS SOUND IMMEDIATELY
	AX = 0059h
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function immediately stops any sounds started with "FG_MUSICB",
	  "FG_SOUNDS", or "FG_VOICES"; it is ignored if no asynchronous sound
	  is playing
SeeAlso: AX=005Ah,AX=0081h,AX=00BDh,AX=00DCh

Top
62005A - INT 62 u - FGDRIVER v4.02 - "FG_HUSHNEXT" - STOP ASYNCHRONOUS SOUND
INT 62 u - FGDRIVER v4.02 - "FG_HUSHNEXT" - STOP ASYNCHRONOUS SOUND
	AX = 005Ah
Program: FGDRIVER is the external video driver for the shareware
	  Fastgraph/Light by Ted Gruber Software
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function stops any sounds started with "FG_MUSICB", "FG_SOUNDS",
	  or "FG_VOICES" after the current repetition completes; it is ignored
	  unless asynchronous sound is continuous
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DCh

Top
62005B - INT 62 u - FGDRIVER v4.02 - "FG_IMAGEBUF" - SPECIFY TEMPORARY IMAGE BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_IMAGEBUF" - SPECIFY TEMPORARY IMAGE BUFFER
	AX = 005Bh
	ES:BX -> buffer to be used when creating or displaying GIF/PCX/PPR/SPR
		  images
	CX = size of buffer in bytes or 0000h to use internal buffer
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	Fastgraph's internal buffer is 4096 bytes; this function allows the
	  application to define a larger buffer which will typically speed
	  processing
SeeAlso: AX=006Ch,AX=006Dh,AX=006Eh,AX=00B9h,AX=00BAh,AX=00BBh

Top
62005C - INT 62 u - FGDRIVER v4.02 - "FG_IMAGESIZ" - DETERMINE IMAGE STORAGE REQUIREMENT
INT 62 u - FGDRIVER v4.02 - "FG_IMAGESIZ" - DETERMINE IMAGE STORAGE REQUIREMENT
	AX = 005Ch
	BX = image width in pixels
	CX = image height in pixels
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
Return: DX:AX = size in bytes of mode-specific bitmap for current video mode
SeeAlso: AX=003Ch,AX=0098h

Top
62005D - INT 62 u - FGDRIVER v4.02 - "FG_INITEMS" - INITIALIZE EXPANDED MEMORY USE
INT 62 u - FGDRIVER v4.02 - "FG_INITEMS" - INITIALIZE EXPANDED MEMORY USE
	AX = 005Dh
Return: AX = status
	    0000h successful
	    FFFFh expanded memory manager inaccessible or not installed
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0002h,AX=0060h"v4.02"

Top
62005E - INT 62 u - FGDRIVER v4.02 - "FG_INITJOY" - INITIALIZE JOYSTICK USE
INT 62 u - FGDRIVER v4.02 - "FG_INITJOY" - INITIALIZE JOYSTICK USE
	AX = 005Eh
	BX = joystick number (0001h or 0002h)
Return: AX = status
	    0000h successful
	    FFFFh joystick not connected or no game port
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	Fastgraph assumes that the requested joystick is centered at the time
	  this function is called
SeeAlso: AX=0009h,AX=0052h,AX=0056h,AX=0062h,AX=0077h

Top
62005F - INT 62 u - FGDRIVER v4.02 - "FG_INITPM"??? - (NOT IMPLEMENTED)
INT 62 u - FGDRIVER v4.02 - "FG_INITPM"??? - (NOT IMPLEMENTED)
	AX = 005Fh
	???
Return: ???
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)

Top
620060 - INT 62 u - FGDRIVER v1.10 only - "FG_DISPPCX" - DISPLAY PCX FILE
INT 62 u - FGDRIVER v1.10 only - "FG_DISPPCX" - DISPLAY PCX FILE
	AX = 0060h
	ES:BX -> ASCIZ filename
	CX = flags
	    bit 0: use current palette rather than PCX file's palette
	    bits 1-15 reserved (0)
Return: AX = status
	    0000h success
	    0001h file not found
	    0002h file is not a valid PCX file
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes and Hercules low-resolution graphics
	The image is displayed with its upper left corner at the current
	  graphics cursor position
SeeAlso: AX=00B9h

Top
620060 - INT 62 u - FGDRIVER v4.02 - "FG_INITXMS" - INITIALIZE EXTENDED MEMORY USE
INT 62 u - FGDRIVER v4.02 - "FG_INITXMS" - INITIALIZE EXTENDED MEMORY USE
	AX = 0060h
Return: AX = status
	    0000h successful
	    FFFFh extended memory manager inaccessible or not installed
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0003h,AX=005Dh

Top
620061 - INT 62 u - FGDRIVER v4.02 - "FG_INSIDE" - CHECK IF POINT INSIDE CONVEX POLYGON
INT 62 u - FGDRIVER v4.02 - "FG_INSIDE" - CHECK IF POINT INSIDE CONVEX POLYGON
	AX = 0061h
	ES:BX -> vertex array
	CX = number of vertices
	DX = screen space column of point to test
	SI = screen space row of point to test
Return: AX = result
	    0000h point is outside polygon
	    0001h point is inside polygon
	    undefined if not a convex polygon
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0092h,AX=0093h,AX=0094h

Top
620062 - INT 62 u - FGDRIVER v4.02 - "FG_INTJOY" - GET KEYCODES CORRESP TO JOYSTICK POS
INT 62 u - FGDRIVER v4.02 - "FG_INTJOY" - GET KEYCODES CORRESP TO JOYSTICK POS
	AX = 0062h
	CX = joystick number (0001h or 0002h)
	ES:BX -> variable pointer record (see #03488)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	If the indicated joystick has not been initialized with AX=008Eh, both
	  the button code and joystick position will be set to 00h
	If either button is pressed, a button code of 0Dh is returned;
	  otherwise, a button code of 00h is returned
SeeAlso: AX=0009h,AX=0052h,AX=0046h,AX=005Eh,AX=0077h

Format of FGDRIVER INTJOY variable pointer record:
Offset	Size	Description	(Table 03488)
 00h	WORD	segment of BYTE buffer for button code
 02h	WORD	offset of BYTE buffer for button code
 04h	WORD	segment of BYTE buffer for joystick position
 06h	WORD	offset of BYTE buffer for joystick position

Top
620063 - INT 62 u - FGDRIVER v4.02 - "FG_INTKEY" - GET KEYSTROKE, NO WAIT
INT 62 u - FGDRIVER v4.02 - "FG_INTKEY" - GET KEYSTROKE, NO WAIT
	AX = 0063h
	ES:BX -> variable pointer record (see #03489)
Return: variables updated
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	If the keyboard buffer is empty, both the ASCII and extended keycodes
	  are set to 00h
SeeAlso: AX=000Ah,AX=0046h,AX=0069h,AX=00DEh,INT 16/AH=01h

Format of FGDRIVER INTKEY variable pointer record:
Offset	Size	Description	(Table 03489)
 00h	WORD	segment of BYTE buffer for ASCII keycode
 02h	WORD	offset of BYTE buffer for ASCII keycode
 04h	WORD	segment of BYTE buffer for extended keycode
 06h	WORD	offset of BYTE buffer for extended keycode

Top
620064 - INT 62 u - FGDRIVER v4.02 - "FG_INVERT" - INVERT ORIENTATION OF BITMAP
INT 62 u - FGDRIVER v4.02 - "FG_INVERT" - INVERT ORIENTATION OF BITMAP
	AX = 0064h
	ES:BX -> bitmap
	CX = width of bitmap in bytes
	DX = height of bitmap in pixel rows
Return: nothing
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)

Top
620065 - INT 62 u - FGDRIVER v4.02 - "FG_JUSTIFY" - SET TEXT OUTPUT JUSTIFICATION
INT 62 u - FGDRIVER v4.02 - "FG_JUSTIFY" - SET TEXT OUTPUT JUSTIFICATION
	AX = 0065h
	BX = horizontal justification
	      (00h centered, 01h right-justified, FFh left-justified)
	CX = vertical justification
	      (00h centered, 01h top of characters, FFh bottom of chars)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Ch,AX=0037h,AX=0053h,AX=0057h,AX=0096h

Top
620066 - INT 62 u - FGDRIVER v4.02 - "FG_KBINIT" - ENABLE/DISABLE LOW-LEVEL KBD HANDLER
INT 62 u - FGDRIVER v4.02 - "FG_KBINIT" - ENABLE/DISABLE LOW-LEVEL KBD HANDLER
	AX = 0066h
	BX = new state (0000h disabled, 0001h enabled)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	When the low-level handler is enabled, "FG_GETKEY", "FG_INTKEY",
	  "FG_WAITKEY", and all other functions calling DOS or BIOS keyboard
	  services become unavailable
SeeAlso: AX=0067h,AX=0068h,AX=0069h

Top
620067 - INT 62 u - FGDRIVER v4.02 - "FG_KBLAST" - GET MOST RECENT SCANCODE PROCESSED
INT 62 u - FGDRIVER v4.02 - "FG_KBLAST" - GET MOST RECENT SCANCODE PROCESSED
	AX = 0067h
Return: AX = scancode for keypress most recently processed by FastGraph's
	      low-level keyboard handler, or 0000h if no keys since FG_KBINIT
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0066h,AX=0068h,AX=0069h

Top
620068 - INT 62 u - FGDRIVER v4.02 - "FG_KBRESET" - RESET LOW-LEVEL KEYBOARD HANDLER
INT 62 u - FGDRIVER v4.02 - "FG_KBRESET" - RESET LOW-LEVEL KEYBOARD HANDLER
	AX = 0068h
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0066h,AX=0067h,AX=0069h

Top
620069 - INT 62 u - FGDRIVER v4.02 - "FG_KBTEST" - CHECK WHETHER SPECIFIED KEY PRESSED
INT 62 u - FGDRIVER v4.02 - "FG_KBTEST" - CHECK WHETHER SPECIFIED KEY PRESSED
	AX = 0069h
	BX = scan code of desired key
Return: AX = state
	    0000h key is not pressed
	    0001h key is currently pressed
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The low-level keyboard handler must have been enabled with AX=0066h
SeeAlso: AX=0066h,AX=0067h,INT 16/AH=01h

Top
62006A - INT 62 u - FGDRIVER v4.02 - "FG_LOADPCX" - LOAD .PCX INTO ACTIVE VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_LOADPCX" - LOAD .PCX INTO ACTIVE VIRTUAL BUFFER
	AX = 006Ah
	ES:BX -> ASCIZ filename for PCX image
	CX = control flags
	    bit 0: use current palette, overriding stored .PCX palette
	    bit 1: load at current graphics position, not stored position
	    bit 2: load image from FG_IMAGEBUF buffer instead of .PCX file
Return: AX = status
	    0000h successful
	    0001h file not found
	    0002h not a .PCX file
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=006Ch,AX=00B9h,AX=00D5h

Top
62006B - INT 62 u - FGDRIVER v4.02 - "FG_LOCATE" - SET TEXT-MODE CURSOR POSITION
INT 62 u - FGDRIVER v4.02 - "FG_LOCATE" - SET TEXT-MODE CURSOR POSITION
	AX = 006Bh
	BX = row
	CX = column
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	There are only eight text cursors shared by successive groups of
	  eight video pages (pages 0, 8, 16, ... share one cursor, 1, 9, ...
	  share the second, etc)
SeeAlso: AX=0054h,AX=0058h,AX=007Eh,AX=00E0h

Top
62006C - INT 62 u - FGDRIVER v4.02 - "FG_MAKEPCX" - CREATE PCX FILE FROM SCREEN WINDOW
INT 62 u - FGDRIVER v4.02 - "FG_MAKEPCX" - CREATE PCX FILE FROM SCREEN WINDOW
	AX = 006Ch
	BX = left edge in screen space units
	CX = right edge in screen space units
	DX = top edge in screen space units
	SI = bottom edge in screen space units
	ES:DI -> ASCIZ filename of PCX file to create
Return: AX = status
	    0000h successful
	    0001h file not created
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The PCX file is created from the specified region of the active video
	  page; the left and right edges are adjusted to a byte boundary if
	  necessary
	If the specified file already exists, it is overwritten
	This call is ignored in text and Hercules low-resolution graphics modes
SeeAlso: AX=005Bh,AX=006Dh,AX=006Ah,AX=006Eh,AX=00B9h,AX=00BAh,AX=00BBh

Top
62006D - INT 62 u - FGDRIVER v4.02 - "FG_MAKEPPR" - CREATE PACKED PIXEL RUN FILE
INT 62 u - FGDRIVER v4.02 - "FG_MAKEPPR" - CREATE PACKED PIXEL RUN FILE
	AX = 006Dh
	BX = left edge in screen space units
	CX = right edge in screen space units
	DX = top edge in screen space units
	SI = bottom edge in screen space units
	ES:DI -> ASCIZ filename of PPR file to create
Return: AX = status
	    0000h successful
	    0001h file not created
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The PPR file is created from the specified region of the active video
	  page; the left and right edges are adjusted to byte boundaries if
	  necessary
	If the specified file already exists, it is overwritten
	This call is ignored in text modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Eh,AX=00B9h,AX=00BAh,AX=00BBh

Top
62006E - INT 62 u - FGDRIVER v4.02 - "FG_MAKESPR" - CREATE STANDARD PIXEL RUN FILE
INT 62 u - FGDRIVER v4.02 - "FG_MAKESPR" - CREATE STANDARD PIXEL RUN FILE
	AX = 006Eh
	BX = left edge in screen space units
	CX = right edge in screen space units
	DX = top edge in screen space units
	SI = bottom edge in screen space units
	ES:DI -> ASCIZ filename of SPR file to create
Return: AX = status
	    0000h successful
	    0001h file not created
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The SPR file is created from the specified region of the active video
	  page; the left and right edges are adjusted to byte boundaries if
	  necessary
	If the specified file already exists, it is overwritten
	This call is ignored in text modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Dh,AX=00B9h,AX=00BAh,AX=00BBh

Top
62006F - INT 62 u - FGDRIVER v4.02 - "FG_MAPRGB" - MAP COLOR COMPONENTS INTO PALETTE VAL
INT 62 u - FGDRIVER v4.02 - "FG_MAPRGB" - MAP COLOR COMPONENTS INTO PALETTE VAL
	AX = 006Fh
	BX = red component
	CX = green component
	DX = blue component
Return: AX = mode-specific palette value corresponding to specified components
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is only meaningful in 16-color graphics modes
SeeAlso: AX=004Eh,AX=00B3h

Top
620070 - INT 62 u - FGDRIVER v4.02 - "FG_MEASURE" - GET DELAY UNITS PER CLOCK TICK
INT 62 u - FGDRIVER v4.02 - "FG_MEASURE" - GET DELAY UNITS PER CLOCK TICK
	AX = 0070h
Return: AX = delay units per clock tick (processor-dependent)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	These delay units are used by "FG_STALL" (see AX=00BFh)
SeeAlso: AX=00BFh

Top
620071 - INT 62 u - FGDRIVER v4.02 - "FG_MEMAVAIL" - QUERY AMOUNT OF FREE MEMORY
INT 62 u - FGDRIVER v4.02 - "FG_MEMAVAIL" - QUERY AMOUNT OF FREE MEMORY
	AX = 0071h
Return: DX:AX = number of bytes of conventional memory available
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=005Dh,AX=0072h

Top
620072 - INT 62 u - FGDRIVER v4.02 - "FG_MEMORY" - GET SIZE OF VIDEO MEMORY
INT 62 u - FGDRIVER v4.02 - "FG_MEMORY" - GET SIZE OF VIDEO MEMORY
	AX = 0072h
Return: AX = size of video memory in KB
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	You must first call "FG_SVGAINIT" (see AX=00C1h) before using this
	  function
SeeAlso: AX=0071h

Top
620073 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSE256" - DEFINE 256-COLOR MOUSE CURSOR
INT 62 u - FGDRIVER v4.02 - "FG_MOUSE256" - DEFINE 256-COLOR MOUSE CURSOR
	AX = 0073h
	ES:BX -> 512-byte cursor definition
	CX = X offset of hot-spot within mouse cursor
	DX = Y offset of hot-spot within mouse cursor
Return: nothing
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	the cursor definition array consists of 256 bytes defining the 16x16
	  screen mask, followed by another 256 bytes definining the 16x16
	  cursor mask
SeeAlso: AX=0074h,AX=0075h,AX=007Bh

Top
620074 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEBUT" - GET MOUSE BUTTON PRESS/RELEASE CNTS
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEBUT" - GET MOUSE BUTTON PRESS/RELEASE CNTS
	AX = 0074h
	CX = mouse button (1 = left press, 2 = right press, 3 = middle press,
		  -1=left release, -2=right release, -3=middle release)
	ES:BX -> variable pointer record (see #03490)
Return: variables updated
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function returns the count of presses or releases since the last
	  call to this function; if the count is zero, row and column will
	  also be zero
SeeAlso: AX=0075h,AX=0077h,AX=007Ah

Format of FGDRIVER MOUSEBUT variable pointer record:
Offset	Size	Description	(Table 03490)
 00h	WORD	segment of WORD buffer for press/release count
 02h	WORD	offset of WORD buffer for press/release count
 04h	WORD	segment of WORD buffer for screen space col of last press/rls
 06h	WORD	offset of WORD buffer for screen space col of last press/rels
 08h	WORD	segment of WORD buffer for screen space row of last press/rls
 0Ah	WORD	offset of WORD buffer for screen space row of last press/rls

Top
620075 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSECUR" - SPECIFY TEXT-MODE MOUSE CURSOR
INT 62 u - FGDRIVER v4.02 - "FG_MOUSECUR" - SPECIFY TEXT-MODE MOUSE CURSOR
	AX = 0075h
	BX = screen mask
	CX = cursor mask
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in graphics modes
SeeAlso: AX=007Bh,AX=007Dh

Top
620076 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEFIN" - UNHOOK FASTGRAPH MOUSE HANDLER
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEFIN" - UNHOOK FASTGRAPH MOUSE HANDLER
	AX = 0076h
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function should be called before switching back to text mode if
	  "FG_MOUSEINI" was called while in an SVGA graphics mode
SeeAlso: AX=0077h

Top
620077 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEINI" - INITIALIZE MOUSE SUPPORT
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEINI" - INITIALIZE MOUSE SUPPORT
	AX = 0077h
Return: AX = status
	    0002h two-button mouse
	    0003h three-button mouse
	    FFFFh initialization failed
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	After this call, the mouse cursor is invisible
SeeAlso: AX=0076h,AX=0078h,AX=007Ch

Top
620078 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSELIM" - SPECIFY MOUSE CURSOR LIMITS
INT 62 u - FGDRIVER v4.02 - "FG_MOUSELIM" - SPECIFY MOUSE CURSOR LIMITS
	AX = 0078h
	BX = left-most position allowed for mouse cursor
	CX = right-most position allowed
	DX = top-most position allowed
	SI = bottom-most position allowed
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0077h,AX=0079h,INT 33/AX=0007h,INT 33/AX=0008h

Top
620079 - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEMOV" - SET MOUSE CURSOR POSITION
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEMOV" - SET MOUSE CURSOR POSITION
	AX = 0079h
	BX = new column
	CX = new row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function will not move the mouse cursor outside the bounding box
	  specified with AX=009Bh
SeeAlso: AX=0078h,AX=007Ah,INT 33/AX=0004h

Top
62007A - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPOS" - GET CURRENT MOUSE POSITION
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPOS" - GET CURRENT MOUSE POSITION
	AX = 007Ah
	ES:BX -> variable pointer record (see #03491)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0079h

Format of FGDRIVER MOUSEPOS variable pointer record:
Offset	Size	Description	(Table 03491)
 00h	WORD	segment of WORD buffer for mouse column
 02h	WORD	offset of WORD buffer for mouse column
 04h	WORD	segment of WORD buffer for mouse row
 06h	WORD	offset of WORD buffer for mouse row
 08h	WORD	segment of WORD buffer for button status
 0Ah	WORD	offset of WORD buffer for button status
Note:	button status: bit 0 = left button, bit 1 = right, bit 2 = middle

Top
62007B - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPTR" - SPECIFY GRAPH-MODE MOUSE CURSOR
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPTR" - SPECIFY GRAPH-MODE MOUSE CURSOR
	AX = 007Bh
	ES:BX -> masks (16-byte screen mask followed by 16-byte cursor mask)
	CX = X offset of hot spot from upper left corner
	DX = Y offset of hot spot from upper left corner
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=0073h,AX=0075h,INT 33/AX=0009h

Top
62007C - INT 62 u - FGDRIVER v4.02 - "FG_MOUSESPD" - SET MOUSE CURSOR SPEED
INT 62 u - FGDRIVER v4.02 - "FG_MOUSESPD" - SET MOUSE CURSOR SPEED
	AX = 007Ch
	BX = horizontal mickeys per eight pixels of movement (default 16)
	CX = vertical mickeys per eight pixels of movement (default 16)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: INT 33/AX=000Fh,INT 33/AX=001Ah

Top
62007D - INT 62 u - FGDRIVER v4.02 - "FG_MOUSEVIS" - SET MOUSE CURSOR VISIBILITY
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEVIS" - SET MOUSE CURSOR VISIBILITY
	AX = 007Dh
	BX = new state (0000h invisible, 0001h visible)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0077h,INT 33/AX=0001h,INT 33/AX=0002h

Top
62007E - INT 62 u - FGDRIVER v4.02 - "FG_MOVE" - SET GRAPHICS CURSOR POSITION
INT 62 u - FGDRIVER v4.02 - "FG_MOVE" - SET GRAPHICS CURSOR POSITION
	AX = 007Eh
	BX = new column
	CX = new row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=0054h,AX=0058h,AX=006Bh,AX=0079h,AX=007Fh,AX=00E0h

Top
62007F - INT 62 u - FGDRIVER v4.02 - "FG_MOVEREL" - ADJUST GRAPHICS CURSOR POSITION
INT 62 u - FGDRIVER v4.02 - "FG_MOVEREL" - ADJUST GRAPHICS CURSOR POSITION
	AX = 007Fh
	BX = column offset
	CX = row offset
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=0054h,AX=0058h,AX=007Eh

Top
620080 - INT 62 u - FGDRIVER v4.02 - "FG_MUSIC" - PLAY SERIES OF NOTES
INT 62 u - FGDRIVER v4.02 - "FG_MUSIC" - PLAY SERIES OF NOTES
	AX = 0080h
	ES:BX -> '$'-terminated music string in BASIC PLAY format
Return: after music completed
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
	  AX=00AAh) is already in progress
SeeAlso: AX=0081h,AX=00BCh,AX=00DBh

Top
620081 - INT 62 u - FGDRIVER v4.02 - "FG_MUSICB" - PLAY SERIES OF NOTES IN BACKGROUND
INT 62 u - FGDRIVER v4.02 - "FG_MUSICB" - PLAY SERIES OF NOTES IN BACKGROUND
	AX = 0081h
	CX = number of repetitions (negative = continuous play)
	ES:BX -> '$'-terminated music string in BASIC PLAY format
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
	  AX=00AAh) is already in progress
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DCh

Top
620082 - INT 62 u - FGDRIVER v4.02 - "FG_NUMLOCK" - GET STATE OF NUMLOCK KEY
INT 62 u - FGDRIVER v4.02 - "FG_NUMLOCK" - GET STATE OF NUMLOCK KEY
	AX = 0082h
Return: AX = NumLock state (0000h off, 0001h on)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Ah,AX=00A4h,AX=00A8h,AX=00B1h

Top
620083 - INT 62 u - FGDRIVER v4.02 - "FG_PACK" - CONVERT PIXEL-PER-BYTE TO PACKED BITMAP
INT 62 u - FGDRIVER v4.02 - "FG_PACK" - CONVERT PIXEL-PER-BYTE TO PACKED BITMAP
	AX = 0083h
	ES:BX -> variable pointer record (see #03492)
	CX = width of bitmap in pixels
	DX = height of bitmap in pixels
Return: result bitmap buffer updated
SeeAlso: AX=00CBh

Format of FGDRIVER PACK variable pointer record:
Offset	Size	Description	(Table 03492)
 00h	WORD	segment of source (mode-independent) bitmap
 02h	WORD	offset of source (mode-independent) bitmap
 04h	WORD	segment of buffer for result (mode-specific) bitmap
 06h	WORD	offset of buffer for result (mode-specific) bitmap

Top
620084 - INT 62 u - FGDRIVER v4.02 - "FG_PAGESIZE" - GET VIDEO PAGE SIZE FOR CURR MODE
INT 62 u - FGDRIVER v4.02 - "FG_PAGESIZE" - GET VIDEO PAGE SIZE FOR CURR MODE
	AX = 0084h
Return: DX:AX = page size in bytes
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0072h

Top
620085 - INT 62 u - FGDRIVER v4.02 - "FG_PAINT" - FLOOD CLOSED REGION WITH COLOR
INT 62 u - FGDRIVER v4.02 - "FG_PAINT" - FLOOD CLOSED REGION WITH COLOR
	AX = 0085h
	BX = column
	CX = row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function fills an arbitrary closed region around the specified
	  point with the current color; the screen edges are not considered
	  region boundaries
	This call is ignored in text modes
SeeAlso: AX=0035h

Top
620086 - INT 62 u - FGDRIVER v4.02 - "FG_PALETTE" - SET PALETTE / SET VIDEO DAC REGISTER
INT 62 u - FGDRIVER v4.02 - "FG_PALETTE" - SET PALETTE / SET VIDEO DAC REGISTER
	AX = 0086h
---CGA 4-color graphics---
	BX = CGA paletee number
	CX = background color
---CGA 2-color graphics---
	BX ignored
	CX = foreground color
---16-color graphics---
	BX = palette register number
	CX = palette value
---256-color graphics---
	BX = DAC register number
	CX =  DAC value
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is ignored in text modes and Hercules graphics modes
	Few EGA/VGA adapters correctly set the foreground color in CGA mode 6
SeeAlso: AX=0041h,AX=004Eh,AX=0087h,AX=00ABh

Top
620087 - INT 62 u - FGDRIVER v4.02 - "FG_PALETTES" - SET ALL PALETTE REGISTERS
INT 62 u - FGDRIVER v4.02 - "FG_PALETTES" - SET ALL PALETTE REGISTERS
	AX = 0087h
	ES:BX -> array of 16 WORDs containing values for palette registers
		  (or first 16 DAC registers in 256-color modes)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is ignored in text modes, CGA and Hercules graphics modes
SeeAlso: AX=0041h,AX=004Eh,AX=0086h,AX=00ABh

Top
620088 - INT 62 u - FGDRIVER v4.02 - "FG_PAN" - SET SCREEN ORIGIN
INT 62 u - FGDRIVER v4.02 - "FG_PAN" - SET SCREEN ORIGIN
	AX = 0088h
	BX = new column for screen origin
	CX = new row for screen origin
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00B2h

Top
620089 - INT 62 u - FGDRIVER v4.02 - "FG_PATTERN" - SPECIFY DISPLAY PATTERN FOR COLOR
INT 62 u - FGDRIVER v4.02 - "FG_PATTERN" - SPECIFY DISPLAY PATTERN FOR COLOR
	AX = 0089h
	BX = index of pattern to define
	CX = number of predefined display pattern
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	When displaying a pixel run map, Fastgraph uses the pattern associated
	  with each color index rather than displaying the actual color
	This call has no effect in text and 256-color graphics modes
SeeAlso: AX=0023h,AX=0045h

Top
62008A - INT 62 u - FGDRIVER v4.02 - "FG_PCXHEAD" - GET PCX FILE HEADER
INT 62 u - FGDRIVER v4.02 - "FG_PCXHEAD" - GET PCX FILE HEADER
	AX = 008Ah
	ES:BX -> variable pointer record (see #03493)
Return: AX = status
	    0000h successful
	    FFFEh not a PCX file
	    FFFFh file does not exist
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=008Bh,AX=00B9h

Format of FGDRIVER PCXHEAD variable pointer record:
Offset	Size	Description	(Table 03493)
 00h	WORD	segment of ASCIZ filename
 02h	WORD	offset of ASCIZ filename
 04h	WORD	segment of 128-byte buffer for PCX header
 06h	WORD	offset of 128-byte buffer for PCX header

Top
62008B - INT 62 u - FGDRIVER v4.02 - "FG_PCXMODE" - GET OPTIMAL VIDEO MODE FOR DISPLAY
INT 62 u - FGDRIVER v4.02 - "FG_PCXMODE" - GET OPTIMAL VIDEO MODE FOR DISPLAY
	AX = 008Bh
	ES:BX -> PCX header (see AX=008Ah)
Return: AX = optimal video mode for PCX file
	    FFFEh not a valid PCX header
	    FFFFh unable to determine compatible video mode
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=008Ah,AX=00B9h

Top
62008C - INT 62 u - FGDRIVER v4.02 - "FG_PCXPAL" - GET PALETTE STORED IN PCX FILE
INT 62 u - FGDRIVER v4.02 - "FG_PCXPAL" - GET PALETTE STORED IN PCX FILE
	AX = 008Ch
	ES:BX -> variable pointer record (see #03494)
Return: AX = number of colors in palette (16 or 256) or
	    FFFEh not a valid PCX file
	    FFFFh file not found
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=008Dh

Format of FGDRIVER PCXPAL variable pointer record:
Offset	Size	Description	(Table 03494)
 00h	WORD	segment of ASCIZ .PCX filename
 02h	WORD	offset of ASCIZ .PCX filename
 04h	WORD	segment of buffer for .PCX palette RGB triples
 06h	WORD	offset of buffer for .PCX palette RGB triples
Note:	the buffer for the palette must hold at least three times as many bytes
	  as there are colors in the palette
SeeAlso: #03495

Top
62008D - INT 62 u - FGDRIVER v4.02 - "FG_PCXRANGE" - GET EXTENT OF PCX IMAGE
INT 62 u - FGDRIVER v4.02 - "FG_PCXRANGE" - GET EXTENT OF PCX IMAGE
	AX = 008Dh
	ES:BX -> variable pointer record (see #03495)
Return: indicated variables updated; if the indicated header is not valid,
	  all of the coordinate variables are set to FFFFh
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=008Ch

Format of FGDRIVER PCXRANGE variable pointer record:
Offset	Size	Description	(Table 03495)
 00h	WORD	segment of 128-byte PCX file header
 02h	WORD	offset of 128-byte PCX file header
 04h	WORD	segment of WORD buffer for X coordinate of image's left edge
 04h	WORD	offset of WORD buffer for X coordinate of image's left edge
 08h	WORD	segment of WORD buffer for X coordinate of image's right edge
 0Ah	WORD	offset of WORD buffer for X coordinate of image's right edge
 0Ch	WORD	segment of WORD buffer for Y coordinate of image's top edge
 0Eh	WORD	offset of WORD buffer for Y coordinate of image's top edge
 10h	WORD	segment of WORD buffer for X coordinate of image's bottom edge
 12h	WORD	offset of WORD buffer for X coordinate of image's bottom edge
SeeAlso: #03494

Top
62008E - INT 62 u - FGDRIVER v4.02 - "FG_PLAYING" - DETERMINE WHETHER ASYNC SOUND ACTIVE
INT 62 u - FGDRIVER v4.02 - "FG_PLAYING" - DETERMINE WHETHER ASYNC SOUND ACTIVE
	AX = 008Eh
Return: AX = sound state (0 = no asynchronous sound, 1 = async sound playing)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DCh

Top
62008F - INT 62 u - FGDRIVER v4.02 - "FG_POINT" - DISPLAY A PIXEL
INT 62 u - FGDRIVER v4.02 - "FG_POINT" - DISPLAY A PIXEL
	AX = 008Fh
	BX = column
	CX = row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=0006h,AX=001Dh,AX=004Dh,AX=0090h

Top
620090 - INT 62 u - FGDRIVER v4.02 - "FG_POINTX" - DISPLAY A PIXEL IN XOR MODE
INT 62 u - FGDRIVER v4.02 - "FG_POINTX" - DISPLAY A PIXEL IN XOR MODE
	AX = 0090h
	BX = column
	CX = row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=004Dh,AX=008Fh

Top
620091 - INT 62 u - FGDRIVER v4.02 - "FG_POLYEDGE" - SPECIFY INCLUSION OF FINAL PIXELS
INT 62 u - FGDRIVER v4.02 - "FG_POLYEDGE" - SPECIFY INCLUSION OF FINAL PIXELS
	AX = 0091h
	BX = edge flag
	    0000h include right- and bottom-edge pixels when drawing polygons
		  with FG_POLYFILL
	    0001h (default) exclue right- and bottom-edge pixels
SeeAlso: AX=0092h

Top
620092 - INT 62 u - FGDRIVER v4.02 - "FG_POLYFILL" - DRAW A FILLED CONVEX POLYGON
INT 62 u - FGDRIVER v4.02 - "FG_POLYFILL" - DRAW A FILLED CONVEX POLYGON
	AX = 0092h
	CX = number of vertices
	ES:BX -> variable pointer record (see #03496)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The vertex array consists of pairs of words specifying the X and Y
	  coordinates of each vertex; the work array is used internally and
	  must contain at least four times as many bytes as the polygon is
	  high in pixels
	This function is ignored in text modes
	If the polygon is non-convex, only a portion of it may be filled
SeeAlso: AX=000Eh,AX=0027h,AX=0091h,AX=0093h,AX=0094h,AX=0095h

Format of FGDRIVER POLYFILL variable pointer record:
Offset	Size	Description	(Table 03496)
 00h	WORD	segment of vertex array (see #03498)
 02h	WORD	offset of vertex array
 04h	WORD	segment of work array
 06h	WORD	offset of work array
SeeAlso: #03497

Top
620093 - INT 62 u - FGDRIVER v4.02 - "FG_POLYGON" - DRAW AN UNFILLED POLYGON
INT 62 u - FGDRIVER v4.02 - "FG_POLYGON" - DRAW AN UNFILLED POLYGON
	AX = 0093h
	CX = number of vertices in polygon
	ES:BX -> variable pointer record (see #03497)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
SeeAlso: AX=0091h,AX=0092h,AX=0094h,AX=0095h

Format of FGDRIVER POLYGON variable pointer record:
Offset	Size	Description	(Table 03497)
 00h	WORD	segment of WORD array containing vertex columns
 02h	WORD	offset of WORD array containing vertex columns
 04h	WORD	segment of WORD array containing vertex rows
 06h	WORD	offset of WORD array containing vertex rows
SeeAlso: #03496

Top
620094 - INT 62 u - FGDRIVER v4.02 - "FG_POLYLINE" - DRAW AN UNFILLED POLYGON
INT 62 u - FGDRIVER v4.02 - "FG_POLYLINE" - DRAW AN UNFILLED POLYGON
	AX = 0094h
	CX = number of vertices in polygon
	ES:BX -> vertex array (see #03498)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is equivalent to "FG_POLYGON", but uses only a single
	  array to define the vertices
	This call is ignored in text modes
SeeAlso: AX=008Fh,AX=0092h,AX=0093h,AX=0095h

Format of FGDRIVER POLYFILL/POLYLINE vertex array element:
Offset	Size	Description	(Table 03498)
 00h	WORD	column
 02h	WORD	row
SeeAlso: #03497

Top
620095 - INT 62 u - FGDRIVER v4.02 - "FG_POLYOFF" - DEFINE POLYGON DRAWING OFFSET
INT 62 u - FGDRIVER v4.02 - "FG_POLYOFF" - DEFINE POLYGON DRAWING OFFSET
	AX = 0095h
	BX = horizontal offset (default 0)
	CX = vertical offset (default 0)
Desc:	define the offsets applied to all vertices of polygons drawn with
	  "FG_POLYFILL" or "FG_POLYLINE"
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0092h,AX=0094h

Top
620096 - INT 62 u - FGDRIVER v4.02 - "FG_PRINT" - DISPLAY STRING OF HARDWARE CHARACTERS
INT 62 u - FGDRIVER v4.02 - "FG_PRINT" - DISPLAY STRING OF HARDWARE CHARACTERS
	AX = 0096h
	CX = length of string
	ES:BX -> string to display
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The string is displayed in the current color, and the graphics cursor
	  is updated to be just to the right of the last displayed character
	This function is ignored in text modes
SeeAlso: AX=000Ch,AX=0037h,AX=0065h,AX=0097h

Top
620097 - INT 62 u - FGDRIVER v4.02 - "FG_PRINTC" - DISPLAY STRING OF HW CHARS (CLIPPED)
INT 62 u - FGDRIVER v4.02 - "FG_PRINTC" - DISPLAY STRING OF HW CHARS (CLIPPED)
	AX = 0097h
	CX = length of string
	ES:BX -> string to display
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The string is displayed in the current color, and the graphics cursor
	  is updated to be just to the right of the last displayed character;
	  only the portion of the string that lies within the current clipping
	  area is displayed
	This function is ignored in text modes
SeeAlso: AX=0096h

Top
620098 - INT 62 u - FGDRIVER v4.02 - "FG_PUTBLOCK" - RESTORE RECTANGLE OF DISPLAY
INT 62 u - FGDRIVER v4.02 - "FG_PUTBLOCK" - RESTORE RECTANGLE OF DISPLAY
	AX = 0098h
	ES:BX -> buffer containing previously-saved image
	CX = left edge
	DX = right edge
	SI = top edge
	DI = bottom edge
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	In text modes, coordinates are character positions; in graphics modes,
	  they are defined in screen space, and the left and right edges are
	  adjusted to a byte boundary if necessary
SeeAlso: AX=003Ch,AX=0099h

Top
620099 - INT 62 u - FGDRIVER v4.02 - "FG_PUTIMAGE" - DISPLAY MODE-SPECIFIC BITMAP IMAGE
INT 62 u - FGDRIVER v4.02 - "FG_PUTIMAGE" - DISPLAY MODE-SPECIFIC BITMAP IMAGE
	AX = 0099h
	ES:BX -> buffer containing mode-specific bitmap
	CX = width in bytes
	DX = height in pixel rows
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The bitmap is displayed with its lower left corner at the graphics
	  cursor position; color 0 is NOT treated as transparent
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0044h,AX=0098h

Top
62009A - INT 62 u - FGDRIVER v4.02 - "FG_QUIET" - STOP CONTINUOUS SYNCHRONOUS SOUND
INT 62 u - FGDRIVER v4.02 - "FG_QUIET" - STOP CONTINUOUS SYNCHRONOUS SOUND
	AX = 009Ah
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call has no effect if there is no continuous sound playing
SeeAlso: AX=0059h,AX=0080h,AX=00BDh,AX=00DCh

Top
62009B - INT 62 u - FGDRIVER v4.02 - "FG_RECT" - DRAW UNFILLED RECTANGLE IN SCREEN SPACE
INT 62 u - FGDRIVER v4.02 - "FG_RECT" - DRAW UNFILLED RECTANGLE IN SCREEN SPACE
	AX = 009Bh
	BX = left edge column
	CX = right edge column
	DX = top edge row
	SI = bottom edge row
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0006h,AX=0012h,AX=0023h,AX=003Ch

Top
62009C - INT 62 u - FGDRIVER v4.02 - "FG_RESET" - ERASE SCREEN AND RESTORE SCREEN ATTR
INT 62 u - FGDRIVER v4.02 - "FG_RESET" - ERASE SCREEN AND RESTORE SCREEN ATTR
	AX = 009Ch
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in graphics modes
	The screen attributes are only restored if ANSI.SYS is loaded
SeeAlso: AX=0028h,AX=00B0h

Top
62009D - INT 62 u - FGDRIVER v4.02 - "FG_RESIZE" - SET GRAPHICS MODE VIDEO PAGE SIZE
INT 62 u - FGDRIVER v4.02 - "FG_RESIZE" - SET GRAPHICS MODE VIDEO PAGE SIZE
	AX = 009Dh
	BX = new page width in pixels
	CX = new page height in pixels
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The visible page must be set to 0000h before making this call
	The mouse, joysticks, expanded memory, and extended memory must be
	  reinitialized after this call
SeeAlso: AX=0084h,AX=00ACh

Top
62009E - INT 62 u - FGDRIVER v4.02 - "FG_RESTORE" - COPY REGION FROM HIDDEN TO VIS PAGE
INT 62 u - FGDRIVER v4.02 - "FG_RESTORE" - COPY REGION FROM HIDDEN TO VIS PAGE
	AX = 009Eh
	BX = left edge column
	CX = right edge column
	DX = top edge row
	SI = bottom edge row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The left and right edges are adjusted to byte boundaries if necessary
SeeAlso: AX=00A2h,AX=00C6h

Top
62009F - INT 62 u - FGDRIVER v4.02 - "FG_RESUME" - RESTART ASYNCHRONOUS SOUND
INT 62 u - FGDRIVER v4.02 - "FG_RESUME" - RESTART ASYNCHRONOUS SOUND
	AX = 009Fh
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00BDh,AX=00C0h

Top
6200A0 - INT 62 u - FGDRIVER v4.02 - "FG_REVIMAGE" - DISPLAY REVERSED IMAGE (BITMAP)
INT 62 u - FGDRIVER v4.02 - "FG_REVIMAGE" - DISPLAY REVERSED IMAGE (BITMAP)
	AX = 00A0h
	ES:BX -> mode-specific bitmap
	CX = width of bitmap in bytes
	DX = height of bitmap in pixel rows
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0044h,AX=00A1h,AX=00A9h,AX=00B9h

Top
6200A1 - INT 62 u - FGDRIVER v4.02 - "FG_REVMASK" - DISPLAY REVERSED IMAGE (MASKING MAP)
INT 62 u - FGDRIVER v4.02 - "FG_REVMASK" - DISPLAY REVERSED IMAGE (MASKING MAP)
	AX = 00A1h
	ES:BX -> array containing image stored as a masking map (see #03475)
	CX = number of pixel runs in masking map
	DX = width of masking map in pixels
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes and in native EGA and VGA graphics
	  modes
	The image is drawn with its lower left corner at the current graphics
	  cursor position
SeeAlso: AX=0010h,AX=001Fh,AX=0034h,AX=00A0h,AX=00A9h,AX=00C5h

Top
6200A2 - INT 62 u - FGDRIVER v4.02 - "FG_SAVE" - COPY REGION FROM VISIBLE TO HIDDEN PAGE
INT 62 u - FGDRIVER v4.02 - "FG_SAVE" - COPY REGION FROM VISIBLE TO HIDDEN PAGE
	AX = 00A2h
	BX = left edge column
	CX = right edge column
	DX = top edge row
	SI = bottom edge row
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The left and right edges are adjusted to byte boundaries if necessary
SeeAlso: AX=009Eh,AX=00C6h

Top
6200A3 - INT 62 u - FGDRIVER v4.02 - "FG_SCALE" - SCALE BITMAP
INT 62 u - FGDRIVER v4.02 - "FG_SCALE" - SCALE BITMAP
	AX = 00A3h
	ES:BX -> variable pointer record (see #03499)
	CX = width of source bitmap in pixels (0 < width <= 1024)
	DX = height of source bitmap in pixels (0 < height <= 1024)
	SI = desired width of scaled bitmap (0 < width <= 1024)
	DI = desired height of scaled bitmap (0 < height <= 1024)
Return: nothing
SeeAlso: AX=00B7h

Format of FGDRIVER SCALE variable pointer record:
Offset	Size	Description	(Table 03499)
 00h	WORD	segment of source bitmap (one pixel per byte)
 02h	WORD	offset of source bitmap
 04h	WORD	segment of buffer for resulting scaled bitmap
 06h	WORD	offset of buffer for resulting scaled bitmap

Top
6200A4 - INT 62 u - FGDRIVER v4.02 - "FG_SCRLOCK" - GET STATE OF SCROLL LOCK KEY
INT 62 u - FGDRIVER v4.02 - "FG_SCRLOCK" - GET STATE OF SCROLL LOCK KEY
	AX = 00A4h
Return: AX = ScrollLock state (0000h off, 0001h on)
Program: FGDRIVER is the external video driver for the shareware
	  Fastgraph/Light by Ted Gruber Software
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Ah,AX=0082h,AX=00A8h,AX=00B1h

Top
6200A5 - INT 62 u - FGDRIVER v4.02 - "FG_SCROLL" - VERTICALLY SCROLL SCREEN REGION
INT 62 u - FGDRIVER v4.02 - "FG_SCROLL" - VERTICALLY SCROLL SCREEN REGION
	AX = 00A5h
	BX = left edge column
	CX = right edge column
	DX = top edge row
	SI = bottom edge row
	DI = number of pixels by which to scroll (positive scrolls up,
	      negative scrolls down)
	ES = type of scroll
	    0000h circular (rows scrolled off are copied to vacated rows)
	    else vacated rows are filled with the current color
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	In graphics modes, the left and right edges are adjusted to byte
	  boundaries if necessary
	Circular scrolling uses part of the hidden page as a workspace
SeeAlso: AX=0088h,AX=00B2h

Top
6200A6 - INT 62 u - FGDRIVER v4.02 - "FG_SETATTR" - SET TEXT-MODE CHARACTER ATTRIBUTE
INT 62 u - FGDRIVER v4.02 - "FG_SETATTR" - SET TEXT-MODE CHARACTER ATTRIBUTE
	AX = 00A6h
	BX = foreground
	CX = background
	DX = blink (0000h nonblinking, 0001h blink)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=003Ah,AX=0048h

Top
6200A7 - INT 62 u - FGDRIVER v4.02 - "FG_SETBANKS" - SET SVGA READ AND WRITE BANKS
INT 62 u - FGDRIVER v4.02 - "FG_SETBANKS" - SET SVGA READ AND WRITE BANKS
	AX = 00A7h
	BX = memory bank from which to read (FFFFh leave unchanged)
	CX = memory bank to which to write (FFFFh leave unchanged)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=003Bh

Top
6200A8 - INT 62 u - FGDRIVER v4.02 - "FG_SETCAPS" - SET STATE OF CAPSLOCK KEY
INT 62 u - FGDRIVER v4.02 - "FG_SETCAPS" - SET STATE OF CAPSLOCK KEY
	AX = 00A8h
	BX = new state (0000h off, 0001h on)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Ah,AX=0082h,AX=00A4h,AX=00B1h

Top
6200A9 - INT 62 u - FGDRIVER v4.02 - "FG_SETCLIP" - SET CLIPPING REGION
INT 62 u - FGDRIVER v4.02 - "FG_SETCLIP" - SET CLIPPING REGION
	AX = 00A9h
	BX = left edge of clipping region
	CX = right edge of clipping region
	DX = top edge of clipping region
	SI = bottom edge of clipping region
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0010h,AX=001Fh,AX=0034h,AX=003Eh,AX=00A1h,AX=00C5h

Top
6200AA - INT 62 u - FGDRIVER v4.02 - "FG_SETCOLOR" - SET CURRENT COLOR
INT 62 u - FGDRIVER v4.02 - "FG_SETCOLOR" - SET CURRENT COLOR
	AX = 00AAh
	BX = new color index (or text attribute in text modes)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0018h,AX=0040h,AX=0045h

Top
6200AB - INT 62 u - FGDRIVER v4.02 - "FG_SETDACS" - SET VIDEO DAC CONTENTS
INT 62 u - FGDRIVER v4.02 - "FG_SETDACS" - SET VIDEO DAC CONTENTS
	AX = 00ABh
	CX = number of DAC registers to set (0001h to 0100h)
	DX = starting DAC register number (0000h to 00FFh)
	ES:BX -> buffer containing DAC red/green/blue triples
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The register number wraps back to zero after reaching FFh
	This call has no effect in text modes or graphics modes below 11h
SeeAlso: AX=0041h,AX=004Eh,AX=0086h,INT 10/AX=1012h

Top
6200AC - INT 62 u - FGDRIVER v4.02 - "FG_SETENTRY" - SET TYPE AND ADDRESS OF VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_SETENTRY" - SET TYPE AND ADDRESS OF VIDEO PAGE
	AX = 00ACh
	BX = page number (00h-3Fh)
	CX = page address
	DX = page type (see #03484 at AX=0042h)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0038h,AX=0042h,AX=00B0h

Top
6200AD - INT 62 u - FGDRIVER v4.02 - "FG_SETFUNC" - SET LOGICAL OPERATION FOR VIDEO OPS
INT 62 u - FGDRIVER v4.02 - "FG_SETFUNC" - SET LOGICAL OPERATION FOR VIDEO OPS
	AX = 00ADh
	BX = operation
	    0000h replacement
	    0001h AND
	    0002h OR
	    0003h XOR
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is only available in native EGA/VGA graphics modes
	  (0Dh to 12h)
SeeAlso: AX=001Eh,AX=008Fh

Top
6200AE - INT 62 u - FGDRIVER v4.02 - "FG_SETHPAGE" - SET HIDDEN VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_SETHPAGE" - SET HIDDEN VIDEO PAGE
	AX = 00AEh
	BX = new hidden page (0000h to 003Fh)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The specified page must be a physical page or a virtual page
SeeAlso: AX=0043h,AX=00B2h,AX=00B6h

Top
6200AF - INT 62 u - FGDRIVER v4.02 - "FG_SETLINES" - SET TEXT ROWS ON SCREEN
INT 62 u - FGDRIVER v4.02 - "FG_SETLINES" - SET TEXT ROWS ON SCREEN
	AX = 00AFh
	BX = new screen size (25, 43, 50)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0047h

Top
6200B0 - INT 62 u - FGDRIVER v4.02 - "FG_SETMODE" - SELECT VIDEO MODE AND INITIALIZE
INT 62 u - FGDRIVER v4.02 - "FG_SETMODE" - SELECT VIDEO MODE AND INITIALIZE
	AX = 00B0h
	BX = new video mode or FFFFh for current mode (see #03500)
	ES:DX -> WORD shareware splash screen flag
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call resets the active video page to page 0000h, the clipping
	  region to the entire screen, text rows to 25, etc.
	in the shareware version, FGDRIVER sets the word pointed at by ES:DX
	  to 9090h after it shows the shareware announcement to the user
SeeAlso: AX=004Bh,INT 10/AH=00h

(Table 03500)
Values for FGDRIVER video mode:
 00h-07h standard BIOS modes
 09h	PCjr/Tandy1000 320x200x16
 0Bh	Hercules graphics 720x348
 0Ch	Hercules graphics 320x200
 0Dh-13h standard BIOS modes
 14h	VGA graphics 320x200x256
 15h	VGA graphics 320x400x256
 16h	VGA graphics 320x240x256
 17h	VGA graphics 320x480x256
 18h	SVGA graphics 640x400x256
 19h	SVGA graphics 640x480x256
 1Ah	SVGA graphics 800x600x256
 1Bh	SVGA graphics 1024x768x256
 1Ch	SVGA graphics 800x600x16
 1Dh	SVGA graphics 1024x768x16

Top
6200B1 - INT 62 u - FGDRIVER v4.02 - "FG_SETNUM" - SET STATE OF NUMLOCK KEY
INT 62 u - FGDRIVER v4.02 - "FG_SETNUM" - SET STATE OF NUMLOCK KEY
	AX = 00B1h
	BX = new state (0000h off, 0001h on)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Ah,AX=0082h,AX=00A4h,AX=00A8h

Top
6200B2 - INT 62 u - FGDRIVER v4.02 - "FG_SETPAGE" - SET ACTIVE VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_SETPAGE" - SET ACTIVE VIDEO PAGE
	AX = 00B2h
	BX = new video page (0000h to 003Fh)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The specified page must be a physical or virtual page
SeeAlso: AX=0039h,AX=0042h,AX=0043h,AX=0050h,AX=0088h

Top
6200B3 - INT 62 u - FGDRIVER v4.02 - "FG_SETRGB" - SET VIDEO DAC REGISTER CONTENTS
INT 62 u - FGDRIVER v4.02 - "FG_SETRGB" - SET VIDEO DAC REGISTER CONTENTS
	AX = 00B3h
	BX = palette or DAC register number
	CX = red color component
	DX = green component
	SI = blue component
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The register number may be negative for Tandy, PCjr, and 200-line
	  EGA graphics modes to specify an intense color
	This call has no effect in text, CGA graphics, and Hercules graphics
	  modes
SeeAlso: AX=004Eh

Top
6200B4 - INT 62 u - FGDRIVER v4.02 - UNUSED
INT 62 u - FGDRIVER v4.02 - UNUSED
	AX = 00B4h
Return: AX = 0000h
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)

Top
6200B5 - INT 62 u - FGDRIVER v4.02 - "FG_SETVIEW" - DEFINE VIEWPORT
INT 62 u - FGDRIVER v4.02 - "FG_SETVIEW" - DEFINE VIEWPORT
	AX = 00B5h
	ES:BX -> variable record (see #03501)
	CX = viewport's top edge in screen space
	DX = viewport's bottom edge in screen space
Return: nothing
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=004Fh

Format of FGDRIVER SETVIEW variable record:
Offset	Size	Description	(Table 03501)
 00h	WORD	viewport's left edge in viewport units
 02h	WORD	viewport's right edge in viewport units
 04h	WORD	viewport's top edge in viewport units
 06h	WORD	viewport's bottom edge in viewport units
 08h	WORD	viewport's left edge in screen space
 0Ah	WORD	viewport's right edge in screen space

Top
6200B6 - INT 62 u - FGDRIVER v4.02 - "FG_SETVPAGE" - SET VISIBLE VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_SETVPAGE" - SET VISIBLE VIDEO PAGE
	AX = 00B6h
	BX = new video page (0000h to 003Fh)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The specified page must be a physical or virtual page
SeeAlso: AX=0043h,AX=00AEh,AX=00B2h

Top
6200B7 - INT 62 u - FGDRIVER v4.02 - "FG_SHEAR" - SHEAR UNPACKED BITMAP
INT 62 u - FGDRIVER v4.02 - "FG_SHEAR" - SHEAR UNPACKED BITMAP
	AX = 00B7h
	ES:BX -> variable pointer record (see #03502)
	CX = bitmap width (0 < width <= 1024)
	DX = bitmap height (0 < height <= 1024)
	SI = size of resulting image (width for horiz. shear, height for vert.)
	DI = shear type
	    0000h horizontal shear to left
	    0001h horizontal shear to right
	    0002h vertical shear to left (left edge stretched up)
	    0003h vertical shear to right (right edge stretched up)
Return: nothing
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00A3h

Format of FGDRIVER SHEAR variable pointer record:
Offset	Size	Description	(Table 03502)
 00h	WORD	segment of source bitmap
 02h	WORD	offset of source bitmap
 04h	WORD	segment of buffer for resulting bitmap
 06h	WORD	offset of buffer for resulting bitmap

Top
6200B8 - INT 62 u - FGDRIVER v4.02 - "FG_SHOWFLIC" - DISPLAY IMAGE FROM FLI/FLC FILE
INT 62 u - FGDRIVER v4.02 - "FG_SHOWFLIC" - DISPLAY IMAGE FROM FLI/FLC FILE
	AX = 00B8h
	ES:BX -> ASCIZ filename for FLI/FLC file
	CX = number of times to display image file (0000h = continuously)
	DX = control flags (see #03479 at AX=0031h)
Return: AX = status
	    0000h successful
	    0001h file not found
	    0002h not a valid FLI/FLC file
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	the FLI/FLC display may be stopped by the user by pressing Esc
SeeAlso: AX=0030h,AX=0031h,AX=00B9h

Top
6200B9 - INT 62 u - FGDRIVER v4.02 - "FG_SHOWPCX" - DISPLAY IMAGE FROM PCX FILE
INT 62 u - FGDRIVER v4.02 - "FG_SHOWPCX" - DISPLAY IMAGE FROM PCX FILE
	AX = 00B9h
	ES:BX -> ASCIZ filename of PCX image
	CX = flags (see #03503)
Return: AX = status
	    0000h success
	    0001h file not found
	    0002h not a PCX file
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is ignored in text modes and Hercules low-res graphics
SeeAlso: AX=005Bh,AX=0060h"1.10",AX=006Ch,AX=006Dh,AX=006Eh,AX=00B8h,AX=00BAh
SeeAlso: AX=00BBh

Bitfields for FGDRIVER flags:
Bit(s)	Description	(Table 03503)
 0	use current palette rather than PCX file's palette
 1	display image at cursor position instead of position in PCX header
 2-15	reserved

Top
6200BA - INT 62 u - FGDRIVER v4.02 - "FG_SHOWPPR" - DISPLAY IMAGE FROM PPR FILE
INT 62 u - FGDRIVER v4.02 - "FG_SHOWPPR" - DISPLAY IMAGE FROM PPR FILE
	AX = 00BAh
	ES:BX -> ASCIZ filename of packed pixel run image
	CX = width in pixels (nonzero)
Return: AX = status
	    0000h successful
	    0001h file not found
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The image is displayed with its lower left corner at the current
	  graphics cursor position
	This function is ignored in text modes and 256-color graphics modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Dh,AX=006Eh,AX=00B9h,AX=00BBh

Top
6200BB - INT 62 u - FGDRIVER v4.02 - "FG_SHOWSPR" - DISPLAY IMAGE FROM SPR FILE
INT 62 u - FGDRIVER v4.02 - "FG_SHOWSPR" - DISPLAY IMAGE FROM SPR FILE
	AX = 00BBh
	ES:BX -> ASCIZ filename of standard pixel run image
	CX = width in pixels (nonzero)
Return: AX = status
	    0000h successful
	    0001h file not found
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The image is displayed with its lower left corner at the current
	  graphics cursor position
	This function is ignored in text modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Dh,AX=006Eh,AX=00B9h,AX=00BAh

Top
6200BC - INT 62 u - FGDRIVER v4.02 - "FG_SOUND" - MAKE SOUND FOR SPECIFIED DURATION
INT 62 u - FGDRIVER v4.02 - "FG_SOUND" - MAKE SOUND FOR SPECIFIED DURATION
	AX = 00BCh
	BX = frequency in Hertz (18-32767)
	CX = duration in clock ticks (0000h or negative for continuous sound)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
	  AX=00AAh) is already in progress
SeeAlso: AX=0059h,AX=0080h,AX=00BDh,AX=00C0h,AX=00DBh

Top
6200BD - INT 62 u - FGDRIVER v4.02 - "FG_SOUNDS" - PLAY SOUNDS IN BACKGROUND
INT 62 u - FGDRIVER v4.02 - "FG_SOUNDS" - PLAY SOUNDS IN BACKGROUND
	AX = 00BDh
	CX = number of times to cycle through sound list
	ES:BX -> sounds array (see #03504)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
	  AX=00AAh) is already in progress
SeeAlso: AX=0059h,AX=0081h,AX=00BCh,AX=00C0h,AX=00DCh

Format of FGDRIVER sounds array element:
Offset	Size	Description	(Table 03504)
 00h	WORD	frequency of sound in Hertz (0000h ends array)
 02h	WORD	duration of sound in clock ticks

Top
6200BE - INT 62 u - FGDRIVER v4.02 - "FG_SPLIT" - ENABLE/DISABLE SPLIT SCREEN ENVIRONMNT
INT 62 u - FGDRIVER v4.02 - "FG_SPLIT" - ENABLE/DISABLE SPLIT SCREEN ENVIRONMNT
	AX = 00BEh
	BX = beginning row for bottom half of split-screen
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)

Top
6200BF - INT 62 u - FGDRIVER v4.02 - "FG_STALL" - PAUSE FOR SPECIFIED DURATION
INT 62 u - FGDRIVER v4.02 - "FG_STALL" - PAUSE FOR SPECIFIED DURATION
	AX = 00BFh
	BX = duration in processor-dependent delay units (see AX=0070h)
Return: after delay elapses
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0070h,INT 2F/AX=1224h

Top
6200C0 - INT 62 u - FGDRIVER v4.02 - "FG_SUSPEND" - TEMPORARILY STOP ASYNCHRONOUS SOUND
INT 62 u - FGDRIVER v4.02 - "FG_SUSPEND" - TEMPORARILY STOP ASYNCHRONOUS SOUND
	AX = 00C0h
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call has no effect if there is no asynchronous sound in progress
	The program must not exit while sound is suspended
SeeAlso: AX=0059h,AX=0080h,AX=00BDh,AX=00C0h,AX=00DBh

Top
6200C1 - INT 62 u - FGDRIVER v4.02 - "FG_SVGAINIT" - INITIALIZE FASTGRAPH SVGA KERNEL
INT 62 u - FGDRIVER v4.02 - "FG_SVGAINIT" - INITIALIZE FASTGRAPH SVGA KERNEL
	AX = 00C1h
	BX = method (see #03505)
Return: AX = status
	    0000h no VESA BIOS or supported SVGA chipset
	    0001h using VESA BIOS
	    0002h-0016h specific chipset being used (same as "method" below)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function must be called before attempting to set SVGA graphics
	  modes (18h to 1Dh) or using "FG_BESTMODE", "FG_TESTMODE", or
	  "FG_MEMORY"
SeeAlso: AX=0025h,AX=00C2h,AX=00C3h

(Table 03505)
Values for FGDRIVER SVGA method:
 0000h	autodetect, give chipset-specific code priority over VESA
 0001h	autodetect, give VESA priority over chipset-specific code
 0002h	Ahead type "A"
 0003h	Ahead type "B"
 0004h	ATI 18800
 0005h	ATI 18800-1
 0006h	ATI 28800
 0007h	Chips & Technologies 82c451/455/456
 0008h	C&T 82c452
 0009h	C&T 82c453
 000Ah	Genoa 6000 series
 000Bh	Oak OTI-067
 000Ch	Paradise PVGA1a
 000Dh	Paradise WD90C00/WD90C10
 000Eh	Paradise WD90C11/WD90C30/WD90C31
 000Fh	Trident 8800
 0010h	Trident 8900
 0011h	Tseng ET3000
 0012h	Tseng ET4000
 0013h	Video7
 0014h	Cirrus Logic 5400 series
 0015h	S3
 0016h	Trident 8900B/8900C/9000

Top
6200C2 - INT 62 u - FGDRIVER v4.02 - "FG_SVGASTAT" - GET SVGA CHIPSET INFORMATION
INT 62 u - FGDRIVER v4.02 - "FG_SVGASTAT" - GET SVGA CHIPSET INFORMATION
	AX = 00C2h
Return: AX = chipset information (see #03506)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0025h,AX=00C1h,AX=00C3h

Bitfields for FGDRIVER chipset information:
Bit(s)	Description	(Table 03506)
 0	SVGA kernel initialized
 1	VESA support enabled
 2	extended video pages available in modes 13-23
 3	SVGA chipset has separate read and write banks
 4-15	reserved (0)

Top
6200C3 - INT 62 u - FGDRIVER v4.02 - "FG_SVGAVER" - GET FASTGRAPH SVGA KERNEL VERSION
INT 62 u - FGDRIVER v4.02 - "FG_SVGAVER" - GET FASTGRAPH SVGA KERNEL VERSION
	AX = 00C3h
	ES:BX -> variable pointer record (see #03507)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00C1h,AX=00C2h

Format of FGDRIVER variable pointer record:
Offset	Size	Description	(Table 03507)
 00h	WORD	segment of WORD buffer for major version
 02h	WORD	offset of WORD buffer for major version
 04h	WORD	segment of WORD buffer for minor version (hundredths)
 06h	WORD	offset of WORD buffer for minor version

Top
6200C4 - INT 62 u - FGDRIVER v4.02 - "FG_TCDEFINE" - DEFINE TRANSPARENCY OF COLOR INDEX
INT 62 u - FGDRIVER v4.02 - "FG_TCDEFINE" - DEFINE TRANSPARENCY OF COLOR INDEX
	AX = 00C4h
	BX = color index
	CX = transparency (00h opaque, other transparent)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is ignored in text modes
SeeAlso: AX=00C5h,AX=00C6h

Top
6200C5 - INT 62 u - FGDRIVER v4.02 - "FG_TCMASK" - SET TRANSPARENT COLORS
INT 62 u - FGDRIVER v4.02 - "FG_TCMASK" - SET TRANSPARENT COLORS
	AX = 00C5h
	BX = colors to consider transparent (bit 0 = color 0, etc)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This call is ignored in text modes
	The specified colors are considered transparent by "FG_TCXFER"
SeeAlso: AX=00C4h,AX=00C6h

Top
6200C6 - INT 62 u - FGDRIVER v4.02 - "FG_TCXFER" - COPY REGION EXCLUDING TRANSPARENT
INT 62 u - FGDRIVER v4.02 - "FG_TCXFER" - COPY REGION EXCLUDING TRANSPARENT
	AX = 00C6h
	CX = source video page
	DX = destination video page
	ES:BX -> copy record (see #03508)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	Pixels which are in any of the colors defined as transparent with
	  "FG_TCMASK" (see AX=00C5h) are left unchanged in the destination
	  region
	The source and destination regions must not overlap if they are located
	  on the same page
	This call is ignored in text modes
SeeAlso: AX=00C4h,AX=00C5h,AX=00CAh

Top
6200C7 - INT 62 u - FGDRIVER v4.02 - "FG_TESTMODE" - CHECK IF VIDEO MODE AVAILABLE
INT 62 u - FGDRIVER v4.02 - "FG_TESTMODE" - CHECK IF VIDEO MODE AVAILABLE
	AX = 00C7h
	BX = desired video mode (00h-17h, also 18h-1Dh after "FG_SVGAINIT")
	CX = required number of video pages (ignore memory size if <= 0)
Return: AX = status
	    0000h mode not available with requested number of pages
	    0001h mode is available
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0005h,AX=00B0h

Top
6200C8 - INT 62 u - FGDRIVER v4.02 - "FG_TEXT" - DISPLAY STRING OF CHARACTERS
INT 62 u - FGDRIVER v4.02 - "FG_TEXT" - DISPLAY STRING OF CHARACTERS
	AX = 00C8h
	CX = length of string
	ES:BX -> string
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The string is displayed starting at the text cursor position using the
	  current text attribute (text modes) or color index (graphics modes)
	The text cursor position is updated after this call
SeeAlso: AX=000Ch,AX=0096h,AX=00C9h

Top
6200C9 - INT 62 u - FGDRIVER v4.02 - "FG_TEXTC" - DISPLAY STRING OF CHARACTERS (CLIPPED)
INT 62 u - FGDRIVER v4.02 - "FG_TEXTC" - DISPLAY STRING OF CHARACTERS (CLIPPED)
	AX = 00C9h
	CX = length of string
	ES:BX -> string
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	The string is displayed starting at the text cursor position using the
	  current text attribute (text modes) or color index (graphics modes),
	  showing only the portion within the current clipping window
	The text cursor position is updated after this call
SeeAlso: AX=00C8h

Top
6200CA - INT 62 u - FGDRIVER v4.02 - "FG_TRANSFER" - COPY REGION
INT 62 u - FGDRIVER v4.02 - "FG_TRANSFER" - COPY REGION
	AX = 00CAh
	CX = source video page
	DX = destination video page
	ES:BX -> copy record (see #03508)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	The source and destination regions must not overlap if they are located
	  on the same page
SeeAlso: AX=009Eh,AX=00A2h,AX=00A5h,AX=00C6h

Format of FGDRIVER copy record:
Offset	Size	Description	(Table 03508)
 00h	WORD	left edge column of source region
 02h	WORD	right edge column of source region
 04h	WORD	top edge row of source region
 06h	WORD	bottom edge row of source region
 08h	WORD	left edge of destination
 0Ah	WORD	bottom edge of destination

Top
6200CB - INT 62 u - FGDRIVER v4.02 - "FG_UNPACK" - EXPAND MODE-SPECIFIC BITMAP
INT 62 u - FGDRIVER v4.02 - "FG_UNPACK" - EXPAND MODE-SPECIFIC BITMAP
	AX = 00CBh
	ES:BX -> variable pointer record (see #03509)
	CX = size of source bitmap in bytes
Return: result buffer filled
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=0083h

Format of FGDRIVER UNPACK variable pointer record:
Offset	Size	Description	(Table 03509)
 00h	WORD	segment of source bitmap
 02h	WORD	offset of source bitmap
 04h	WORD	segment of buffer for resulting bitmap
 06h	WORD	offset of buffer for resulting bitmap

Top
6200CC - INT 62 u - FGDRIVER v4.02 - "FG_VBADDR" - GET ADDRESS OF VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_VBADDR" - GET ADDRESS OF VIRTUAL BUFFER
	AX = 00CCh
	BX = virtual buffer handle (0000h-001Fh)
Return: DX:AX -> virtual buffer
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00CDh,AX=00CEh,AX=00CFh,AX=00D3h

Top
6200CD - INT 62 u - FGDRIVER v4.02 - "FG_VBALLOC" - CREATE VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_VBALLOC" - CREATE VIRTUAL BUFFER
	AX = 00CDh
	BX = width of virtual buffer in pixels
	CX = height in pixels
Return: AX = handle for virtual buffer, or
	    FFFEh out of memory
	    FFFFh virtual buffer table full
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00CCh,AX=00CEh,AX=00D0h,AX=00D1h,AX=00D2h,AX=00D4h

Top
6200CE - INT 62 u - FGDRIVER v4.02 - "FG_VBCLOSE" - CLOSE ACTIVE VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_VBCLOSE" - CLOSE ACTIVE VIRTUAL BUFFER
	AX = 00CEh
Desc:	close the active virtual buffer and direct further graphics to the
	  active video page
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00CCh,AX=00D1h,AX=00D4h,AX=00D5h,AX=00D9h

Top
6200CF - INT 62 u - FGDRIVER v4.02 - "FG_VBCOPY" - COPY RECT BETWEEN VIRTUAL BUFFERS
INT 62 u - FGDRIVER v4.02 - "FG_VBCOPY" - COPY RECT BETWEEN VIRTUAL BUFFERS
	AX = 00CFh
	ES:BX -> variable record (see #03510)
	CX = handle for source virtual buffer
	DX = handle for destination virtual buffer
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	if the destination buffer is the same as the source buffer, the regions
	  must not overlap
SeeAlso: AX=00D0h,AX=00D1h,AX=00D4h,AX=00D6h,AX=00D7h

Format of FGDRIVER VBCOPY variable record:
Offset	Size	Description	(Table 03510)
 00h	WORD	source region's left edge
 02h	WORD	source region's right edge
 04h	WORD	source region's top edge
 06h	WORD	source region's bottom edge
 08h	WORD	X coordinate of destination's upper left corner
 0Ah	WORD	Y coordinate of destination's upper left corner

Top
6200D0 - INT 62 u - FGDRIVER v4.02 - "FG_VBCUT" - COPY RECT FROM VIDEO TO VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_VBCUT" - COPY RECT FROM VIDEO TO VIRTUAL BUFFER
	AX = 00D0h
	BX = source region's left edge
	CX = source region's right edge
	DX = source region's top edge
	SI = source region's bottom edge
	DI = X coordinate of destination's upper left corner
	ES = Y coordinate of destination's upper left corner
Desc:	copy a rectangle from the active video page to the active virtual
	  buffer
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00CDh,AX=00CFh,AX=00D4h,AX=00D6h

Top
6200D1 - INT 62 u - FGDRIVER v4.02 - "FG_VBDEFINE" - CREATE VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_VBDEFINE" - CREATE VIRTUAL BUFFER
	AX = 00D1h
	ES:BX -> memory block for virtual buffer
	CX = buffer width in pixels
	DX = buffer height in pixels
Return: AX = virtual buffer handle
	    FFFFh on error
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	the application-provided buffer must be large enough to hold CX*DX
	  bytes
SeeAlso: AX=00CCh,AX=00CDh,AX=00CEh,AX=00D2h,AX=00D4h,AX=00D5h

Top
6200D2 - INT 62 u - FGDRIVER v4.02 - "FG_VBFREE" - RELEASE VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_VBFREE" - RELEASE VIRTUAL BUFFER
	AX = 00D2h
	BX = virtual buffer handle
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	this function should be used only for buffers created with FG_VBALLOC
SeeAlso: AX=00CDh,AX=00D4h,AX=00D5h

Top
6200D3 - INT 62 u - FGDRIVER v4.02 - "FG_VBHANDLE" - GET ACTIVE VIRTUAL BUFFER'S HANDLE
INT 62 u - FGDRIVER v4.02 - "FG_VBHANDLE" - GET ACTIVE VIRTUAL BUFFER'S HANDLE
	AX = 00D3h
Return: AX = handle for active virtual buffer
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00CCh,AX=00D4h

Top
6200D4 - INT 62 u - FGDRIVER v4.02 - "FG_VBINIT" - INITIALIZE VIRTUAL BUFFER ENVIRONMENT
INT 62 u - FGDRIVER v4.02 - "FG_VBINIT" - INITIALIZE VIRTUAL BUFFER ENVIRONMENT
	AX = 00D4h
Return: nothing
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	this function must be called before any other virtual buffer functions
	  are used
SeeAlso: AX=00CDh,AX=00D5h

Top
6200D5 - INT 62 u - FGDRIVER v4.02 - "FG_VBOPEN" - MAKE VIRTUAL BUFFER ACTIVE
INT 62 u - FGDRIVER v4.02 - "FG_VBOPEN" - MAKE VIRTUAL BUFFER ACTIVE
	AX = 00D5h
	BX = virtual buffer handle
Return: AX = status
	    0000h successful
	    FFFEh no buffer defined for specified handle
	    FFFFh invalid buffer handle
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00CDh,AX=00CEh,AX=00D1h,AX=00D4h,AX=00D9h

Top
6200D6 - INT 62 u - FGDRIVER v4.02 - "FG_VBPASTE" - COPY RECT FROM VIRTUAL BUF TO VIDEO
INT 62 u - FGDRIVER v4.02 - "FG_VBPASTE" - COPY RECT FROM VIRTUAL BUF TO VIDEO
	AX = 00D6h
	BX = source region's left edge
	CX = source region's right edge
	DX = source region's top edge
	SI = source region's bottom edge
	DI = X coordinate of destination's upper left corner
	ES = Y coordinate of destination's upper left corner
Desc:	copy a rectangle from the active virtual buffer to the active video
	  page
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00CFh,AX=00D0h,AX=00D4h,AX=00D7h

Top
6200D7 - INT 62 u - FGDRIVER v4.02 - "FG_VBTCCOPY" - COPY RECTANGLE BETWEEN VIRTUAL BUFS
INT 62 u - FGDRIVER v4.02 - "FG_VBTCCOPY" - COPY RECTANGLE BETWEEN VIRTUAL BUFS
	AX = 00D7h
	ES:BX -> variable record (see #03511)
	CX = source virtual buffer's handle
	DX = destination virtual buffer's handle
Desc:	copy rectangle from one virtual buffer to another with transparent
	  colors
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	if the destination buffer is the same as the source buffer, the regions
	  must not overlap
SeeAlso: AX=00CFh,AX=00D0h,AX=00D6h,AX=00D8h

Format of FGDRIVER VBTCCOPY variable record:
Offset	Size	Description	(Table 03511)
 00h	WORD	source region's left edge
 02h	WORD	source region's right edge
 04h	WORD	source region's top edge
 06h	WORD	source region's bottom edge
 08h	WORD	X coordinate of destination region's upper left corner
 0Ah	WORD	Y coordinate of destination region's upper left corner

Top
6200D8 - INT 62 u - FGDRIVER v4.02 - "FG_VBTCXFER" - COPY RECTANGLE TO ACTIVE VIDEO PAGE
INT 62 u - FGDRIVER v4.02 - "FG_VBTCXFER" - COPY RECTANGLE TO ACTIVE VIDEO PAGE
	AX = 00D8h
	BX = source region's left edge
	CX = source region's right edge
	DX = source region's top edge
	SI = source region's bottom edge
	DI = X coordinate of destination's upper left corner
	ES = Y coordinate of destination's upper left corner
Desc:	copy a rectangle from the active virtual buffer to the active video
	  page, with transparent colors
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
SeeAlso: AX=00D6h,AX=00D7h

Top
6200D9 - INT 62 u - FGDRIVER v4.02 - "FG_VBUNDEF" - RELEASE HANDLE FOR VIRTUAL BUFFER
INT 62 u - FGDRIVER v4.02 - "FG_VBUNDEF" - RELEASE HANDLE FOR VIRTUAL BUFFER
	AX = 00D9h
	BX = virtual buffer handle
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	the specified handle must not reference the currently-active virtual
	  buffer
SeeAlso: AX=00D1h,AX=00D5h

Top
6200DA - INT 62 u - FGDRIVER v4.02 - "FG_VGASTATE" - SAVE/RESTORE VGA CONTROLLER STATE
INT 62 u - FGDRIVER v4.02 - "FG_VGASTATE" - SAVE/RESTORE VGA CONTROLLER STATE
	AX = 00DAh
	BX = direction (0000h save, else restore)
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474)
	this function is only meaningful in modes 0Dh and above

Top
6200DB - INT 62 u - FGDRIVER v4.02 - "FG_VOICE" - START SOUND
INT 62 u - FGDRIVER v4.02 - "FG_VOICE" - START SOUND
	AX = 00DBh
	BX = channel on TI sound chip
	    1-3 = channels 1-3, 4 = channel 4 with periodic noise,
	    5 = channel 4 with white noise
	CX = frequency in Hz (18-32767 for channels 1-3; 0=512 Hz, 1=1024 Hz,
	      2=2048 Hz for channels 4 and 5)
	DX = volume
	SI = duration in clock ticks (continuous if <= 0)
Program: FGDRIVER is the external video driver for the shareware
	  Fastgraph/Light by Ted Gruber Software
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is only available on the PCjr and Tandy 1000 machines
SeeAlso: AX=0080h,AX=00BCh,AX=00DCh

Top
6200DC - INT 62 u - FGDRIVER v4.02 - "FG_VOICES" - PLAY SOUNDS IN BACKGROUND
INT 62 u - FGDRIVER v4.02 - "FG_VOICES" - PLAY SOUNDS IN BACKGROUND
	AX = 00DCh
	ES:BX -> tone array (see #03512)
	CX = number of times to repeat tone array
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	This function is only available on the PCjr and Tandy 1000 machines
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DBh

Format of FGDRIVER tone array element:
Offset	Size	Description	(Table 03512)
 00h	WORD	channel number (0000h terminates array)
 02h	WORD	frequency
 04h	WORD	volume
 06h	WORD	duration in 1/72.8 seconds

Top
6200DD - INT 62 u - FGDRIVER v4.02 - "FG_WAITFOR" - DELAY FOR SPECIFIED DURATION
INT 62 u - FGDRIVER v4.02 - "FG_WAITFOR" - DELAY FOR SPECIFIED DURATION
	AX = 00DDh
	BX = duration in clock ticks
Return: after delay elapses
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00BFh,INT 1A/AX=FF01h

Top
6200DE - INT 62 u - FGDRIVER v4.02 - "FG_WAITKEY" - FLUSH KEYBOARD BUFFER AND AWAIT KEY
INT 62 u - FGDRIVER v4.02 - "FG_WAITKEY" - FLUSH KEYBOARD BUFFER AND AWAIT KEY
	AX = 00DEh
Return: after next key pressed
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=000Ah,AX=0046h,AX=0063h,AX=0069h,INT 16/AH=00h

Top
6200DF - INT 62 u - FGDRIVER v4.02 - "FG_WAITVR" - ENABLE/DISABLE VERTICAL RETRACE WAIT
INT 62 u - FGDRIVER v4.02 - "FG_WAITVR" - ENABLE/DISABLE VERTICAL RETRACE WAIT
	AX = 00DFh
	BX = new state (0000h disabled, 0001h enabled)
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)

Top
6200E0 - INT 62 u - FGDRIVER v4.02 - "FG_WHERE" - GET CURRENT CURSOR POSITION
INT 62 u - FGDRIVER v4.02 - "FG_WHERE" - GET CURRENT CURSOR POSITION
	AX = 00E0h
	ES:BX -> variable pointers (see #03513)
Return: indicated variables filled with cursor row and column for active
	  display
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=0054h,AX=0058h,AX=006Bh,AX=007Eh

Format of FGDRIVER variable pointers:
Offset	Size	Description	(Table 03513)
 00h	WORD	segment of WORD buffer for cursor row
 02h	WORD	offset of WORD buffer for cursor row
 04h	WORD	segment WORD buffer for cursor column
 06h	WORD	offset WORD buffer for cursor column

Top
6200E1 - INT 62 u - FGDRIVER v4.02 - "FG_XALPHA" - CONVERT SCREEN COLUMN TO CHAR COLUMN
INT 62 u - FGDRIVER v4.02 - "FG_XALPHA" - CONVERT SCREEN COLUMN TO CHAR COLUMN
	AX = 00E1h
	BX = screen space column
Return: AX = character space column containing specified coordinate
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00E2h,AX=00E4h

Top
6200E2 - INT 62 u - FGDRIVER v4.02 - "FG_XCONVERT" - CONVERT CHAR COLUMN TO SCREEN COL
INT 62 u - FGDRIVER v4.02 - "FG_XCONVERT" - CONVERT CHAR COLUMN TO SCREEN COL
	AX = 00E2h
	BX = character space column
Return: AX = screen space column of leftmost pixel in specified character col
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00E2h,AX=00E5h

Top
6200E3 - INT 62 u - FGDRIVER v4.02 - "FG_XVIEW" - CONVERT VIEWPORT COORDINATE
INT 62 u - FGDRIVER v4.02 - "FG_XVIEW" - CONVERT VIEWPORT COORDINATE
	AX = 00E3h
	BX = horizontal viewport coordinate
Return: AX = screen space X coordinate corresponding to supplied coordinate
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	if no viewport has been defined, the returned coordinate will be the
	  same as the viewport coordinate
SeeAlso: AX=00E2h,AX=00E6h

Top
6200E4 - INT 62 u - FGDRIVER v4.02 - "FG_YALPHA" - CONVERT SCREEN ROW TO CHARACTER ROW
INT 62 u - FGDRIVER v4.02 - "FG_YALPHA" - CONVERT SCREEN ROW TO CHARACTER ROW
	AX = 00E4h
	BX = screen space row
Return: AX = character space row containing specified coordinate
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00E1h,AX=00E5h

Top
6200E5 - INT 62 u - FGDRIVER v4.02 - "FG_YCONVERT" - CONVERT CHARACTER ROW TO SCREEN ROW
INT 62 u - FGDRIVER v4.02 - "FG_YCONVERT" - CONVERT CHARACTER ROW TO SCREEN ROW
	AX = 00E5h
	BX = character space row
Return: AX = screen space row of topmost pixel in specified character row
Note:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
SeeAlso: AX=00E2h,AX=00E4h,AX=00E6h

Top
6200E6 - INT 62 u - FGDRIVER v4.02 - "FG_YVIEW" - TRANSLATE VERTICAL VIEWPORT COORDINATE
INT 62 u - FGDRIVER v4.02 - "FG_YVIEW" - TRANSLATE VERTICAL VIEWPORT COORDINATE
	AX = 00E6h
	BX = viewport Y coordinate
Return: AX = screen space row for viewport coordinate
Program: FGDRIVER is the external video driver for the shareware
	  Fastgraph/Light by Ted Gruber Software
Notes:	the FGDRIVER functions are rearranged with each major release, but
	  their parameters do not change (see #03474 at AX=0000h)
	if no viewport has been defined, the returned coordinate will be the
	  same as the viewport coordinate
SeeAlso: AX=00E3h,AX=00E5h

Top
6201 - INT 62 - Cswitch - GIVE UP REST OF TIME-SLICE
INT 62 - Cswitch - GIVE UP REST OF TIME-SLICE
	AH = 01h
Program: Cswitch is a set of multitasking functions by Herb Rose
SeeAlso: AH=05h"Cswitch",AH=06h"Cswitch",INT 15/AX=1000h,INT 2F/AX=1680h

Top
6201 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
	AH = 01h
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6202 - INT 62 - Cswitch - WAIT FOR SEMAPHORE
INT 62 - Cswitch - WAIT FOR SEMAPHORE
	AH = 02h
	DX = semaphore number (0-63)
Return: AX = FFFFh bad semaphore number
	     else  success
SeeAlso: AH=03h"Cswitch",AH=04h"Cswitch"

Top
6202 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - INITIALIZE
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - INITIALIZE
	AH = 02h
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=00h"ETHDEV",AH=03h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"

Top
6203 - INT 62 - Cswitch - CHECK SEMAPHORE
INT 62 - Cswitch - CHECK SEMAPHORE
	AH = 03h
	DX = semaphore number (0-63)
Return: AX = status
	    FFFFh not owned
	    else  owned
SeeAlso: AH=02h,AH=04h

Top
6203 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET REAL IP ADDRESS
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET REAL IP ADDRESS
	AH = 03h
	DS:SI -> DWORD buffer for IP address
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6204 - INT 62 - Cswitch - TRIGGER SEMAPHORE
INT 62 - Cswitch - TRIGGER SEMAPHORE
	AH = 04h
	DX = semaphore number (0-63)
Return: AX = status
	    FFFFh bad semaphore number
	    else  success
SeeAlso: AH=02h"Cswitch",AH=03h"Cswitch"

Top
6204 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
	AH = 04h
	BX = ???
	ES:SI -> FAR routine for ???
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6205 - INT 62 - Cswitch - SLEEP
INT 62 - Cswitch - SLEEP
	AH = 05h
	BX = seconds to sleep
SeeAlso: AH=01h"Cswitch",AH=06h"Cswitch",AH=08h"Cswitch"

Top
6205 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 05h
	???
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6206 - INT 62 - Cswitch - SUSPEND
INT 62 - Cswitch - SUSPEND
	AH = 06h
SeeAlso: AH=05h"Cswitch",AH=08h"Cswitch"

Top
6206 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 06h
	???
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6207 - INT 62 - Cswitch - SPAWN
INT 62 - Cswitch - SPAWN
	AH = 07h
	ES:BX -> function address to start executing at
	CX = priority (1-10)
Return: AX = result/status
	    FFFDh  no free memory control blocks
	    FFFEh  no free task control blocks
	    FFFFh  not enough memory to create new task stack
	    >0	   the tcb number of the new task, indicating no error
SeeAlso: AH=0Fh"Cswitch",AH=10h"Cswitch"

Top
6207 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 07h
	DS:SI -> ???
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6208 - INT 62 - Cswitch - WAKE UP TASK
INT 62 - Cswitch - WAKE UP TASK
	AH = 08h
	BX = tcb identifier
SeeAlso: AH=05h,AH=06h

Top
6208 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 08h
	CX = ???
	ES:SI -> ??? buffer (see #03514)
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Format of BW-TCP ??? buffer:
Offset	Size	Description	(Table 03514)
 00h  6 BYTEs	hardware address???
 06h  6 BYTEs	???
 0Ch	WORD	???
 0Eh	WORD	???

Top
6208--CXFFFE - INT 62 - MS SQL Server/Sybase DBLIBRARY interface - UNINSTALL/GET PSP ADDR
INT 62 - MS SQL Server/Sybase DBLIBRARY interface - UNINSTALL/GET PSP ADDR
	AH = 08h
	CX = FFFEh
	DX = FFFFh
Return: AX = PSP address of resident DBLIBRARY
Note:	this call does not free the memory allocated to the TSR; the calling
	  code must do the deallocation.
SeeAlso: INT 62"DBLIBRARY"

Top
6209 - INT 62 - Cswitch - SET PRIORITY
INT 62 - Cswitch - SET PRIORITY
	AH = 09h
	BX = new base priority (1-10)
Note:	the lower the priority is numerically, the more often the task will run

Top
6209 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - HOOK TIMER INTERRUPT
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - HOOK TIMER INTERRUPT
	AH = 09h
Return: CF clear if successful
	    AX = handler ID
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=0Ah"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
620A - INT 62 - Cswitch - TEST MESSAGE QUEUE
INT 62 - Cswitch - TEST MESSAGE QUEUE
	AH = 0Ah
	DX = queue number (0-63)
Return: AX = result/message size
	    0000h nothing on queue
	    FFFFh bad queue number
	    else  number of bytes in first message in queue
SeeAlso: AH=0Bh"Cswitch",AH=0Ch"Cswitch"

Top
620A - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - UNHOOK TIMER INTERRUPT
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - UNHOOK TIMER INTERRUPT
	AH = 0Ah
	DX = handler ID
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=09h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
620B - INT 62 - Cswitch - SEND MESSAGE
INT 62 - Cswitch - SEND MESSAGE
	AH = 0Bh
	CX = number of bytes to write
	DS:SI -> buffer
	DX = queue number (0-63)
Return: AX = result/message size
	    0000h no message was on queue
	    FFFEh triggered by something arriving, redo the call
	    FFFFh bad queue number
	    else  number of bytes in message
SeeAlso: AH=0Ah"Cswitch",AH=0Ch"Cswitch"

Top
620B - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ADD ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ADD ???
	AH = 0Bh
	AL = ???
	DX = ???
	BP = ???
	ES:SI -> ???
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=0Ch"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
620C - INT 62 - Cswitch - READ MESSAGE
INT 62 - Cswitch - READ MESSAGE
	AH = 0Ch
	CX = number of bytes to read
	DS:SI -> buffer
	DX = queue number (0-63)
Return: AX = status
	    FFFFh bad queue number
	    else  number of bytes transferred
SeeAlso: AH=0Ah,AH=0Bh

Top
620C - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - REMOVE ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - REMOVE ???
	AH = 0Ch
	DX = ???
	BP = ???
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=0Bh"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
620D - INT 62 - Cswitch - DON'T ALLOW TASK TO BE SWAPPED OUT
INT 62 - Cswitch - DON'T ALLOW TASK TO BE SWAPPED OUT
	AH = 0Dh
SeeAlso: AH=0Eh"Cswitch"

Top
620D - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
	AH = 0Dh
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
620E - INT 62 - Cswitch - ALLOW TASK TO BE SWAPPED OUT
INT 62 - Cswitch - ALLOW TASK TO BE SWAPPED OUT
	AH = 0Eh
SeeAlso: AH=0Dh"Cswitch"

Top
620E - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - BEGIN CRITICAL SECTION
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - BEGIN CRITICAL SECTION
	AH = 0Eh
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=0Fh"ETHDEV",AH=10h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"

Top
620F - INT 62 - Cswitch - LOAD AND RUN PROGRAM FROM DISK
INT 62 - Cswitch - LOAD AND RUN PROGRAM FROM DISK
	AH = 0Fh
	ES:BX -> command line
	CX = priority (1-10)
	DX = background flag (nonzero allows loading to EMS)
Return: AX = status
	    0000h task loader queue is full
	    0001h  no error
SeeAlso: AH=07h"Cswitch",AH=10h"Cswitch",AH=13h"Cswitch"

Top
620F - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - END CRITICAL SECTION
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - END CRITICAL SECTION
	AH = 0Fh
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=0Eh"ETHDEV",AH=10h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"

Top
6210 - INT 62 - Cswitch - TERMINATE SPAWNED PROGRAM
INT 62 - Cswitch - TERMINATE SPAWNED PROGRAM
	AH = 10h
SeeAlso: AH=07h"Cswitch",AH=0Fh"Cswitch"

Top
6210 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - QUERY CRITICAL SECTION
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - QUERY CRITICAL SECTION
	AH = 10h
Return: CF clear if no critical section active
	CF set if in critical section
SeeAlso: AH=0Eh"ETHDEV",AH=0Fh"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"

Top
6211 - INT 62 - Cswitch - GET TCB INFORMATION
INT 62 - Cswitch - GET TCB INFORMATION
	AH = 11h
	ES:BX -> a pointer which will be set to the tcb address
Return: AX = tcb indentifier
SeeAlso: AH=12h

Top
6211 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
	AH = 11h
	ES:SI -> ???
Return: CF clear
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6212 - INT 62 - Cswitch - GET TCB ADDRESS
INT 62 - Cswitch - GET TCB ADDRESS
	AH = 12h
	ES:BX -> a pointer which will be set to the tcb table address
Return: AX = tcb indentifier
SeeAlso: AH=11h"Cswitch"

Top
6212 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET SOCKET NUMBER???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET SOCKET NUMBER???
	AH = 12h
Return: CF clear if successful
	    AX = socket number??? (memory variable incremented after reading)
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6213 - INT 62 - Cswitch - CHECK STATUS OF PREVIOUS LOAD_TASK
INT 62 - Cswitch - CHECK STATUS OF PREVIOUS LOAD_TASK
	AH = 13h
Return: AX = result
	    FFFCh no Memory Control Blocks available
	    FFFDh no TCBs available
	    FFFEh insufficient memory
	    FFFFh cannot open file
	    0000h load in progress (not done yet)
	    else  tcb indentifier
SeeAlso: AH=0Fh

Top
6213 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 13h
	CX = ???
Return: CF clear if successful
	    AL = 00h
	CF set on error
	    AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6214 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 14h
	ES:SI -> ???
Return: CF clear if successful
	    AL = 00h
	CF set on error
	    AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6215 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET ???
	AH = 15h
Return: CF clear if successful
	    AX = ??? (destroyed???)
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Notes:	call this function after reading the "ETHDEV27" device
	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
INT 64/AH=01h"BW-NFS"

Top
6216 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 16h
	???
Return: CF clear if successful
	CF set on error
	    AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6217 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
	AH = 17h
	DX = segment of ???
Return: CF clear
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6218 - INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ALLOCATE AND MAP EMS FOR DRIVER
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ALLOCATE AND MAP EMS FOR DRIVER
	AH = 18h
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Notes:	calls function 17h after EMS allocated and mapped
	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=03h"BW-TCP",INT 63/AH=24h
SeeAlso: INT 64/AH=01h"BW-NFS"

Top
6247 - INT 62 - PC Tools v7 COMMUTE - ???
INT 62 - PC Tools v7 COMMUTE - ???
	AH = 47h
	AL = subfunction (00h-31h)
	???
	CF set
Return: ???
Program: COMMUTE is a remote-control program bundled with Central Point
	  Software's PC Tools

Top
6248 - INT 62 - PC Tools v7 COMMUTE - ???
INT 62 - PC Tools v7 COMMUTE - ???
	AH = 48h
	AL = ???
	???
	CF set
Return: ???

Top
6249 - INT 62 - PC Tools v7 COMMUTE - ???
INT 62 - PC Tools v7 COMMUTE - ???
	AH = 49h
	???
	CF set
Return: ???
Note:	may be the same as AH=4Ch

Top
624A - INT 62 - PC Tools v7 COMMUTE - ???
INT 62 - PC Tools v7 COMMUTE - ???
	AH = 4Ah
	AL = subfunction (00h-46h)
	???
	CF set
Return: ???

Top
624B--BX1234 - INT 62 - PC Tools v7 COMMUTE - ???
INT 62 - PC Tools v7 COMMUTE - ???
	AH = 4Bh
	BX = 1234h
	CX = 1234h
	ES = ???
	CF set
Return: ???
Program: COMMUTE is a remote-control program bundled with Central Point
	  Software's PC Tools

Top
624C - INT 62 - PC Tools v7 COMMUTE - ???
INT 62 - PC Tools v7 COMMUTE - ???
	AH = 4Ch
	BL = subfunction
	    00h ???
	    02h ???
Return: CF clear if successful
	CF set on error

Top
626262 - INT 62 - PC Tools v7 COMMUTE - INSTALLATION CHECK
INT 62 - PC Tools v7 COMMUTE - INSTALLATION CHECK
	AX = 6262h
	CF set
Return: AX = 0000h
	BX = segment of resident code's PSP
Program: COMMUTE is a remote-control program bundled with Central Point
	  Software's PC Tools

Top
62C0 - INT 62 U - GWBTSR - API
INT 62 U - GWBTSR - API
	AH = C0h
	AL = function
	    00h installation check
		Return: AX = 00FFh if installed
	    01h ???
Program: GWBTSR is a huge (48K) resident mixer controller for the Gateway 2000
	  sound card (OEM version of Aztech Sound Galaxy)
Index:	installation check;GWBTSR

Top
62FE - INT 62 - BW-TCP - ETHDRV.SYS - MAP EMS PAGE FRAME
INT 62 - BW-TCP - ETHDRV.SYS - MAP EMS PAGE FRAME
	AH = FEh
	AL = direction
	    00h map in driver's memory block
	    01h map out driver's memory block
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4C to INT FB, selected by configuration
Notes:	this function is supported by at least the SLIP and ODI versions of
	  ETHDEV.SYS
	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: INT 21/AH=3Fh"BW-TCP",INT 62/AH=00h"ETHDEV",INT 62/AH=18h"ETHDEV"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h,INT 64/AH=FEh

Top
63 - INT 63 - reserved for user interrupt
INT 63 - reserved for user interrupt

Top
63 - INT 63 - Adaptec and OMTI controllers - DRIVE 0 DATA
INT 63 - Adaptec and OMTI controllers - DRIVE 0 DATA
Desc:	this vector stores the last four bytes of the parameter table for
	  hard disk 0
SeeAlso: INT 60"Adaptec",INT 61"Adaptec",INT 62"Adaptec",INT 64"Adaptec"

Top
63 - INT 63 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
INT 63 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
Desc:	the low word of this vector contains the segment of the RAM data area
	  to be used by the expansion ROM at F400h:4000h, and the high word
	  contains the length of the data area; this segment and size are
	  both set to 0000h if no ROM is installed at F400h:4000h
SeeAlso: INT 60"TI Professional PC",INT 62"TI Professional"
SeeAlso: INT 64"TI Professional PC"

Top
63 - INT 63 - Oracle SQL Protected Mode Executive - ???
INT 63 - Oracle SQL Protected Mode Executive - ???

Top
63 - INT 63 - 4+Power FLOPPY CONTROLLER - ORIGINAL INT 13/40
INT 63 - 4+Power FLOPPY CONTROLLER - ORIGINAL INT 13/40
Desc:	the "4+Power" quad floppy controller BIOS hooks INT 13 (or INT 40 if
	  INT 13 has been moved there) and places the old value here

Top
63 - INT 63 - Kofax KF9X00 image manipulation card interface
INT 63 - Kofax KF9X00 image manipulation card interface

Top
63 - INT 63 - DESQview/X - SOCKET API
INT 63 - DESQview/X - SOCKET API
InstallCheck:	test for the string "dvxunix" (yes, lowercase) at offset 9
	  from the interrupt handler start (see #03515)
Notes:	parameters are passed by patching (!) data field immediately following
	  the entry point, as detailed below (see #03515); the preferred
	  method for calling the socket API is via INT 15/AX=DE2Eh
SeeAlso: INT 15/AX=DE2Eh,INT BE"DESQview"
Index:	installation check;DESQview/X socket interface

Format of DESQview/X socket interrupt handler entry:
Offset	Size	Description	(Table 03515)
 00h  3 BYTEs	near jump or short jump + NOP to actual interrupt handler
 03h	WORD	offset from following pointer for initial top of local stack
 05h	DWORD	pointer to argument/stack block (see INT 15/AX=DE2Eh)
 09h  7 BYTEs	signature "dvxunix"

Top
6300 - INT 63 - HP 100LX - MAP HIGH MEMORY
INT 63 - HP 100LX - MAP HIGH MEMORY
	AH = 00h
	AL = physical page (00h seg C000, 01h seg C400h, ...)
	BX = zero-based logical page
	CX = page number
	DX = device ID (00h system ROM, 05h plugin, etc.)
Return: ???
SeeAlso: AH=01h

Top
6300 - INT 63 - BW-TCP - TCPIP.SYS - SET IP ADDRESS???
INT 63 - BW-TCP - TCPIP.SYS - SET IP ADDRESS???
	AH = 00h
	DS:BX -> DWORD containing IP address (big-endian)
Return: CF clear if successful
	CF set on error
	AX destroyed
Range:	INT 4D to INT FC, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=01h"BW-TCP",AH=02h"BW-TCP"

Top
6301 - INT 63 - HP 100LX - SAVE/RESTORE MEMORY MAP
INT 63 - HP 100LX - SAVE/RESTORE MEMORY MAP
	AH = 01h
	AL = function (00h save, 01h restore)
	???
Return: ???

Top
6301 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 01h
	ES:BX -> ???
	???
Return: ???
Range:	INT 4D to INT FC, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=00h"BW-TCP",AH=02h"BW-TCP"

Top
6302 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 02h
	???
Return: ???
SeeAlso: AH=00h"BW-TCP",AH=01h"BW-TCP"

Top
6303 - INT 63 - BW-TCP - TCPIP.SYS - GET IP ADDRESS
INT 63 - BW-TCP - TCPIP.SYS - GET IP ADDRESS
	AH = 03h
	DS:SI -> buffer for DWORD IP address (big-endian)
Return: AX destroyed
	CF clear if successful
	CF set on error
Note:	this call may use ARP or RARP to determine the address

Top
6304 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 04h
	???
Return: ???

Top
6305 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 05h
	DS:BX -> ???
	ES:SI -> ???
Return: ???
Range:	INT 4D to INT FC, selected by configuration

Top
6306 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 06h
	???
Return: ???

Top
6307 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 07h
	???
Return: ???

Top
6308 - INT 63 - BW-TCP - TCPIP.SYS - SET DEFAULT ??? HANDLER
INT 63 - BW-TCP - TCPIP.SYS - SET DEFAULT ??? HANDLER
	AH = 08h
	DS:BX -> DWORD containing IP address
Return: CF clear if successful
	CF set on error
	???

Top
6309 - INT 63 - BW-TCP - TCPIP.SYS - INSTALL ??? HANDLERS
INT 63 - BW-TCP - TCPIP.SYS - INSTALL ??? HANDLERS
	AH = 09h
	BL = handler type
	ES:SI -> FAR handler of specified type
Return: ???
SeeAlso: AH=0Ah,AH=0Dh

Top
630A - INT 63 - BW-TCP - TCPIP.SYS - DELETE ??? HANDLERS
INT 63 - BW-TCP - TCPIP.SYS - DELETE ??? HANDLERS
	AH = 0Ah
	BL = handler type
Return: CF clear if successful
	CF set on error (no handler of specified type installed)
SeeAlso: AH=09h

Top
630B - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 0Bh
	AL = ???
	DL = ???
	DS:BX -> ???
	ES:SI -> ???
Return: ???

Top
630C - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 0Ch
	???
Return: ???
Range:	INT 4D to INT FC, selected by configuration

Top
630D - INT 63 - BW-TCP - TCPIP.SYS - INSTALL DEFAULT ??? HANDLER
INT 63 - BW-TCP - TCPIP.SYS - INSTALL DEFAULT ??? HANDLER
	AH = 0Dh
	???
Return: ???
Note:	if not already installed, installs a type 06h handler with AH=09h
SeeAlso: AH=09h

Top
630E - INT 63 - BW-TCP - TCPIP.SYS - CLOSE NETWORK DESCRIPTOR
INT 63 - BW-TCP - TCPIP.SYS - CLOSE NETWORK DESCRIPTOR
	AH = 0Eh
	???
Return: ???
SeeAlso: INT 61/AH=08h"PC/TCP",INT 61/AH=09h"PC/TCP",INT 61/AH=18h

Top
630F - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 0Fh
	AL = ???
	SI = ???
	DS:DI -> ???
	???
Return: ???
Range:	INT 4D to INT FC, selected by configuration

Top
6310 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 10h
	DS:DI -> ???
	???
Return: ???

Top
6311 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 11h
	???
Return: ???

Top
6312 - INT 63 - BW-TCP - TCPIP.SYS - LISTEN FOR INCOMING CONNECTIONS
INT 63 - BW-TCP - TCPIP.SYS - LISTEN FOR INCOMING CONNECTIONS
	AH = 12h
	DS:SI -> ???
	ES:BP -> ???
Return: ???
SeeAlso: AH=14h,INT 61/AH=23h

Top
6313 - INT 63 - BW-TCP - TCPIP.SYS - NOP
INT 63 - BW-TCP - TCPIP.SYS - NOP
	AH = 13h
Return: nothing
Range:	INT 4D to INT FC, selected by configuration

Top
6314 - INT 63 - BW-TCP - TCPIP.SYS - OPEN NETWORK CONNECTION
INT 63 - BW-TCP - TCPIP.SYS - OPEN NETWORK CONNECTION
	AH = 14h
	BX = network descriptor???
	DS:SI -> ???
	ES:BP -> ???
Return: ???
SeeAlso: AH=12h,AH=16h,AH=19h,INT 61/AH=13h"PC/TCP",INT 62/AH=13h"ETHDEV"

Top
6315 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 15h
	DS:DI -> ???
	???
Return: ???
Range:	INT 4D to INT FC, selected by configuration

Top
6316 - INT 63 - BW-TCP - TCPIP.SYS - RESET NETWORK CONNECTION
INT 63 - BW-TCP - TCPIP.SYS - RESET NETWORK CONNECTION
	AH = 16h
	DS:DI -> ???
Return: ???
Note:	calls AH=17h after preprocessing
SeeAlso: AH=17h,INT 61/AH=19h"PC/TCP"

Top
6317 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 17h
	DS:DI -> ???
	???
Return: ???
Range:	INT 4D to INT FC, selected by configuration
SeeAlso: AH=18h

Top
6318 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 18h
	DS:DI -> ???
	???
Return: ???
Note:	same as AH=17h, except performed with interrupts disabled
SeeAlso: AH=17h

Top
6319 - INT 63 - BW-TCP - TCPIP.SYS - WRITE TO THE NETWORK
INT 63 - BW-TCP - TCPIP.SYS - WRITE TO THE NETWORK
	AH = 19h
	DS:DI -> ???
	???
Return: BX = number of bytes NOT written
	???
Range:	INT 4D to INT FC, selected by configuration
Note:	calls AH=17h with interrupts disabled and ??? set to 01h
SeeAlso: AH=14h,AH=1Ah,AH=1Bh,INT 61/AH=1Ah"PC/TCP"

Top
631A - INT 63 - BW-TCP - TCPIP.SYS - READ FROM THE NETWORK
INT 63 - BW-TCP - TCPIP.SYS - READ FROM THE NETWORK
	AH = 1Ah
	CX = maximum number of bytes to read
	ES:BP -> ???
	???
Return: CX = number of bytes actually read
	???
SeeAlso: AH=12h,AH=14h,AH=19h,INT 61/AH=1Bh"PC/TCP"

Top
631B - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 1Bh
	CX = ???
	ES:BP -> ???
Return: DX = ???
	???
Range:	INT 4D to INT FC, selected by configuration

Top
631C - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 1Ch
	DS:DI -> ???
	???
Return: ???
Note:	calls AH=17h with ???
SeeAlso: AH=17h

Top
631D - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 1Dh
	???
Return: ???
Range:	INT 4D to INT FC, selected by configuration

Top
631E - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 1Eh
	DS:BX -> DWORD containing IP address (big-endian)
	???
Return: CF clear if successful
	CF set on error
	???

Top
631F - INT 63 - BW-TCP - TCPIP.SYS - SET SOCKET ??? HANDLER
INT 63 - BW-TCP - TCPIP.SYS - SET SOCKET ??? HANDLER
	AH = 1Fh
	BX = socket number
	ES:SI -> FAR function for ???
Return: CF clear if successful
	CF set on error (out of slots)
SeeAlso: AH=20h

Top
6320 - INT 63 - BW-TCP - TCPIP.SYS - REMOVE SOCKET ??? HANDLER
INT 63 - BW-TCP - TCPIP.SYS - REMOVE SOCKET ??? HANDLER
	AH = 20h
	BX = socket number
Return: CF clear if successful
	CF set on error (not set)
Range:	INT 4D to INT FC, selected by configuration
SeeAlso: AH=1Fh

Top
6321 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 21h
	ES:SI -> ???
Return: ???
SeeAlso: INT 61/AH=1Ch"PC/TCP"

Top
6322 - INT 63 - BW-TCP - TCPIP.SYS - REMOVE ??? HANDLER
INT 63 - BW-TCP - TCPIP.SYS - REMOVE ??? HANDLER
	AH = 22h
Return: CF clear
Range:	INT 4D to INT FC, selected by configuration
Note:	decrements a counter if not already zero, and calls AH=0Ah with BL=11h
	  if the counter reaches zero

Top
6323 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 23h
	DS:BX -> ???
	ES:SI -> 6-byte buffer for ???
Return: CF clear if successful
	CF set on error

Top
6324 - INT 63 - BW-TCP - TCPIP.SYS - GET SOCKET
INT 63 - BW-TCP - TCPIP.SYS - GET SOCKET
	AH = 24h
Return: AX = socket number (0400h-FFFFh)
Range:	INT 4D to INT FC, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=12h,AH=14h,INT 62/AH=12h"ETHDEV",INT 64/AH=01h"BW-NFS"

Top
6325 - INT 63 - BW-TCP - TCPIP.SYS - GET INTERNET ADDRESS
INT 63 - BW-TCP - TCPIP.SYS - GET INTERNET ADDRESS
	AH = 25h
Return: CL:CH:DL:DH = caller's Internet address
SeeAlso: AH=03h,AH=26h,INT 61/AH=05h"PC/TCP"

Top
6326 - INT 63 - BW-TCP - TCPIP.SYS - SET INTERNET ADDRESS???
INT 63 - BW-TCP - TCPIP.SYS - SET INTERNET ADDRESS???
	AH = 26h
	CL:CH:DL:DH = Internet address
Return: nothing
Range:	INT 4D to INT FC, selected by configuration
Note:	this function sets a different variable than AH=25h returns
SeeAlso: AH=03h,AH=25h

Top
6327 - INT 63 - BW-TCP - TCPIP.SYS - SET ???
INT 63 - BW-TCP - TCPIP.SYS - SET ???
	AH = 27h
	BX = ???
	ES:SI -> ???
Return: ???

Top
6328 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 28h
	???
Return: ???

Top
6329 - INT 63 - BW-TCP - TCPIP.SYS - ???
INT 63 - BW-TCP - TCPIP.SYS - ???
	AH = 29h
	???
Return: ???
Range:	INT 4D to INT FC, selected by configuration
Note:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded

Top
64 - INT 64 - reserved for user interrupt
INT 64 - reserved for user interrupt

Top
64 - INT 64 - Adaptec controllers - DRIVE 1 DATA
INT 64 - Adaptec controllers - DRIVE 1 DATA
Desc:	this vector stores the first four bytes of the parameter table for
	  hard disk 1
Notes:	these vectors are used by the following Adaptec controllers:
	    ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16
	these vectors are NOT used by the following Adaptec controllers:
	    ACB 2310, ACB 2312, ACB 2320D, ACB 2322D
SeeAlso: INT 60"Adaptec",INT 65"Adaptec",INT 66"Adaptec",INT 67"Adaptec"

Top
64 - INT 64 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
INT 64 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
Desc:	the low word of this vector contains the segment of the RAM data area
	  to be used by the expansion ROM at F400h:6000h, and the high word
	  contains the length of the data area; this segment and size are
	  both set to 0000h if no ROM is installed at F400h:6000h
SeeAlso: INT 60"TI Professional PC",INT 63"TI Professional"
SeeAlso: INT 65"TI Professional PC"

Top
64 - INT 64 - Oracle SQL Protected Mode Executive - ???
INT 64 - Oracle SQL Protected Mode Executive - ???

Top
64 - INT 64 - Novell NetWare to v2.0a - LOW-LEVEL API
INT 64 - Novell NetWare to v2.0a - LOW-LEVEL API
Note:	equivalent to INT 7A for NetWare versions through 2.0a only; later
	  versions do not use this interrupt for IPX/SPX access, instead
	  getting an entry point from INT 2F/AX=7A00h
SeeAlso: INT 2F/AX=7A00h,INT 7A"LOW-LEVEL API"

Top
64 - INT 64 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
INT 64 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
SeeAlso: INT 65"DG10",INT 66"DG10"

Top
64 - INT 64 - Extended Batch Language v3.14+
INT 64 - Extended Batch Language v3.14+
	AH = function
	    00h to 5Fh chained to previous handler
	    60h to 6Ch reserved, return immediately
	    80h to FFh chained to previous handler
	    6Dh (v4.01+) insert tone in queue
		AL = ???
		CX = frequency in Hertz
		DL = duration in clock ticks
		Return: AL = 00h if note stored
			   = 01h if no room to store
	    6Eh clear ??? counter/flag
	    6Fh return counter/flag that AH=6Eh clears
	    70h ???
		AL = ???
	    71h ???
		AL = ???
	    72h ???
	    73h insert byte at end of keyboard buffer
		AL = byte to insert
		Return: AL = 00h if byte inserted
			   = 01h if no room to store
	    74h insert byte at front of keyboard buffer
		AL = byte to insert
		Return: AL = 00h if byte inserted
			   = 01h if no room to store
	    75h ???
	    76h get keyboard "stack" status
		AL = 'K' if kbd read will read physical keyboard
		     'S' if it will read EBL internal keyboard buffer
		AH = ???
	    77h clear internal keyboard buffer
	    78h ???
		AL = ???
	    79h ???
	    7Ah ???
		AL = ???
	    7Bh ???
		AL = ???
	    7Ch ???
		AL = ???
	    7Dh ???
		AL = ???
	    7Eh clear buffer for ???
	    7Fh installation check
		Return: CX = version in BCD
			DI = segment of ???
			BX = segment of next program's PSP???
Program: Extended Batch Language is a batch-file enhancer by Seaware
Notes:	the chaining does not check whether the interrupt had been hooked
	  before, so if you try to chain when the previous vector was
	  0000h:0000h, you'll be in trouble
	functions 72h and 7Ah-7Dh appear to be interfaces to the optional
	  floating-point and extended function packages
Index:	installation check;EBL|installation check;Extended Batch Language

Top
64 - INT 64 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
INT 64 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
Note:	This vector is overwritten by Pdisk to install custom harddrive types.
	  It can either destroy 4 vectors and take no memory or TSR and take
	  up some memory.
SeeAlso: INT 65"Pdisk"

Top
64 - INT 64 - PC-DRAFT - ASYNCHRONOUS DRIVER
INT 64 - PC-DRAFT - ASYNCHRONOUS DRIVER
	???
Return: ???
Program: PC-DRAFT is a powerful CAD environment by rhv.
SeeAlso: INT 62"PC-DRAFT",INT 65"PC-DRAFT",INT 66"PC-DRAFT",INT 67"PC-DRAFT"

Top
6401 - INT 64 U - BW-NFS - BWRPC - ???
INT 64 U - BW-NFS - BWRPC - ???
	AH = 01h
	ES:BX -> ??? (at least 8 bytes)
	ES:BP -> DWORD ???
	???
Return: CF clear if successful
	    ???
	CF set on error
	    CX = 0000h
Range:	INT 4E to INT FD, selected by configuration
Notes:	the Beame&Whiteside TCP/IP protocol stack uses two consecutive
	  interrupts (62h and 63h by default); the BW-NFS client uses a third
	  consecutive interrupt (64h by default) if it is loaded
	the BWRPC installation check consists of determining the interrupt
	  vector assigned to it (two more than the value returned by reading
	  the ETHDEV27 device), and testing whether the word immediately
	  preceding the interrupt handler is 4257h ('BW')
SeeAlso: INT 62/AH=00h"ETHDEV",INT 63/AH=03h"BW-TCP",INT 63/AH=24h
Index:	installation checks;BWRPC

Top
6402 - INT 64 U - BW-NFS - BWRPC - ???
INT 64 U - BW-NFS - BWRPC - ???
	AH = 02h
	DS:DI -> ???
Return: ???
Note:	this call is passed directly through to INT 62/AH=07h
SeeAlso: INT 62/AH=07h"ETHDEV"

Top
6403 - INT 64 U - BW-NFS - BWRPC - ADD ???
INT 64 U - BW-NFS - BWRPC - ADD ???
	AH = 03h
	AL = ???
	BP = ???
	ES:SI -> ???
Return: ???
Note:	this call is passed directly through to INT 62/AH=0Bh
SeeAlso: AH=04h,INT 62/AH=0Bh"ETHDEV"

Top
6404 - INT 64 U - BW-NFS - BWRPC - REMOVE ???
INT 64 U - BW-NFS - BWRPC - REMOVE ???
	AH = 04h
	BP = ???
Return: ???
Range:	INT 4E to INT FD, selected by configuration
Note:	this call is passed directly through to INT 62/AH=0Ch
SeeAlso: AH=03h,INT 62/AH=0Ch"ETHDEV"

Top
6405 - INT 64 U - BW-NFS - BWRPC - ???
INT 64 U - BW-NFS - BWRPC - ???
	AH = 05h
	CX = ???
Return: ???
Note:	this call is passed directly through to INT 62/AH=13h
SeeAlso: INT 62/AH=13h"ETHDEV"

Top
6406 - INT 64 U - BW-NFS - BWRPC - ???
INT 64 U - BW-NFS - BWRPC - ???
	AH = 06h
	ES:SI -> ???
Return: AL = 00h if CF clear
Range:	INT 4E to INT FD, selected by configuration
Note:	this call is passed directly through to INT 62/AH=14h
SeeAlso: INT 62/AH=14h"ETHDEV"

Top
6407 - INT 64 U - BW-NFS - BWRPC - GET IP ADDRESS
INT 64 U - BW-NFS - BWRPC - GET IP ADDRESS
	AH = 07h
Return: CX:DX = IP address

Top
6410 - INT 64 U - BW-NFS - BWRPC - CALL ETHDEV.SYS
INT 64 U - BW-NFS - BWRPC - CALL ETHDEV.SYS
	AH = 10h
	AL = ETHDEV function number
	other registers as appropriate for ETHDEV call
Return: as returned by ETHDEV
Note:	this call is passed directly through to INT 62
SeeAlso: INT 62/AH=00h"ETHDEV"

Top
6411 - INT 64 U - BW-NFS - BWRPC - NOP???
INT 64 U - BW-NFS - BWRPC - NOP???
	AH = 11h
Return: CF clear
Range:	INT 4E to INT FD, selected by configuration

Top
64FE - INT 64 - BW-NFS - BWRPC - MAP EMS PAGE FRAME
INT 64 - BW-NFS - BWRPC - MAP EMS PAGE FRAME
	AH = FEh
	AL = direction
	    00h map in driver's memory block
	    01h map out driver's memory block
Return: CF clear if successful
	CF set on error
	    AL = error code
Range:	INT 4E to INT FD, selected by configuration
Note:	this call is passed through directly to ETHDEV.SYS (see INT 62/AH=FEh)
SeeAlso: INT 21/AH=3Fh"BW-TCP",INT 62/AH=FEh,INT 63/AH=03h"BW-TCP"
SeeAlso: INT 63/AH=24h

Top
65 - INT 65 - reserved for user interrupt
INT 65 - reserved for user interrupt

Top
65 - INT 65 - Adaptec controllers - DRIVE 1 DATA
INT 65 - Adaptec controllers - DRIVE 1 DATA
Desc:	this vector stores the second four bytes of the parameter table for
	  hard disk 1
SeeAlso: INT 64"Adaptec",INT 66"Adaptec",INT 67"Adaptec"

Top
65 - INT 65 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
INT 65 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
Desc:	the low word of this vector contains the segment of the RAM data area
	  to be used by the expansion ROM at F400h:8000h, and the high word
	  contains the length of the data area; this segment and size are
	  both set to 0000h if no ROM is installed at F400h:8000h
SeeAlso: INT 60"TI Professional PC",INT 64"TI Professional"
SeeAlso: INT 66"TI Professional PC"

Top
65 - INT 65 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
INT 65 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
SeeAlso: INT 64"DG10",INT 66"DG10"

Top
65 - INT 65 - FTP Software NDIS-Packet Driver adapter - POST PROCESSING INTERRUPT
INT 65 - FTP Software NDIS-Packet Driver adapter - POST PROCESSING INTERRUPT

Top
65 - INT 65 - SD.COM v6.2
INT 65 - SD.COM v6.2
Desc:	The unregistered version of SD62.COM uses the low byte of this vector
	  to count the number of invocations, displaying a registration
	  reminder each time after the 20th use.

Top
65 - INT 65 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
INT 65 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
SeeAlso: INT 64"Pdisk",INT 66"Pdisk"

Top
65 - INT 65 - PC-DRAFT - SECONDARY DISPLAY DRIVER
INT 65 - PC-DRAFT - SECONDARY DISPLAY DRIVER
	???
Return: ???
Program: PC-DRAFT is a powerful CAD environment by rhv.
SeeAlso: INT 62"PC-DRAFT",INT 64"PC-DRAFT",INT 66"PC-DRAFT",INT 67"PC-DRAFT"

Top
65 - INT 65 - Ad Lib SOUND.COM - INTERFACE
INT 65 - Ad Lib SOUND.COM - INTERFACE
	SI = function number (also see separate entries below)
	    0000h Init
	    0002h RelTimeStart
	    0003h SetState
	    0004h GetState
	    0005h Flush
	    0006h SetMode
	    0007h GetMode
	    0008h SetRelVolume
	    0009h SetTempo
	    000Ah SetTranspose
	    000Bh GetTranspose
	    000Ch SetActVoice
	    000Dh GetActVoice
	    000Eh PlayNoteDel
	    000Fh PlayNote
	    0010h SetTimbre
	    0011h SetPitch
	    0012h SetTickBeat
	    0013h NoteOn
	    0014h NoteOff
	    0015h Timbre
	    0016h SetPitchBend
	    0017h WaveForm
	ES:BX -> arguments
InstallCheck:	test for the signature block immediately preceding the
	  interrupt handler (see #03516)
SeeAlso: SI=8000h
Index:	installation check;Ad Lib SOUND.COM

Format of AdLib signature block:
Offset	Size	Description	(Table 03516)
 00h	WORD	version number
 02h 19 BYTEs	"SOUND-DRIVER-AD-LIB"
 15h	BYTE	01h
 16h	BYTE	01h
 17h	BYTE	00h

Top
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
	DX = 4147h
	BH = 01h
	BL = function number (00h-2Ah)
	???
Return: CF clear if successful
	    AX = ???
	CF set on error
	    AX = error code (0001h=invalid function/subfunction)
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number and function number may be retrieved via INT 2A/AX=4147h
Note:	this API is supported by CLIENT.COM, SERVER.COM, DOSNET.COM, and
	  ROUTER.COM
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
	DX = 4147h
	BH = 02h
	BL = function number (00h-05h)
	???
Return: CF clear if successful
	    AX = ???
	CF set on error
	    AX = error code (0001h=invalid function/subfunction)
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number and function number may be retrieved via INT 2A/AX=4147h
Note:	this API is supported by CLIENT.COM, SERVER.COM, DOSNET.COM, and
	  ROUTER.COM
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
	DX = 4147h
	BH = 03h
	BL = function number (00h-03h) (00h-04h for ROUTER.COM)
	???
Return: CF clear if successful
	    AX = ???
	CF set on error
	    AX = error code
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number and function number may be retrieved via INT 2A/AX=4147h
Note:	this API is supported by CLIENT.COM, SERVER.COM, DOSNET.COM, and
	  ROUTER.COM
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
	DX = 4147h
	BH = 04h
	BL = function number (00h-07h)
	???
Return: CF clear if successful
	    AX = ???
	CF set on error
	    AX = error code
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number and function number may be retrieved via INT 2A/AX=4147h
Note:	this API is supported by CLIENT.COM, SERVER.COM, and DOSNET.COM
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
INT 65 U - NetSoft DOS-NET v1.20+ - ??? API
	DX = 4147h
	BH = 07h
	BL = function number (00h-08h)
	???
Return: CF clear if successful
	    AX = ???
	CF set on error
	    AX = error code (0001h=invalid function/subfunction)
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number and function number may be retrieved via INT 2A/AX=4147h
Note:	this API is supported by CLIENT.COM, SERVER.COM, and DOSNET.COM
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4147 - INT 65 U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK???
INT 65 U - NetSoft DOS-NET v1.20+ - INSTALLATION CHECK???
	DX = 4147h
	BH = 80h
Return: CF set
	AX = 0001h
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number and function number may be retrieved via INT 2A/AX=4147h
Note:	this call is supported by CLIENT.COM, SERVER.COM, and ROUTER.COM
SeeAlso: DX=4147h,INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER - ???
INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER - ???
	DX = 4741h
	BH = 01h
	AL = 02h
	BL = function number (0Eh,0Fh)
	AH = subfunction number
	???
Return: ???
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
	DX = 4741h
	BH = 01h
	AL = 03h
	BL = function number (0Eh,0Fh)
	AH = subfunction number
	???
Return: ???
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR - ???
	DX = 4741h
	BH = 01h
	AL = 04h
	BL = function number (0Eh,0Fh)
	AH = subfunction number
	???
Return: ???
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - NETBIOS - ???
INT 65 U - NetSoft DOS-NET v1.20+ - NETBIOS - ???
	DX = 4741h
	BH = 01h
	AL = 07h
	BL = function number (0Eh,0Fh)
	AH = subfunction number
	???
Return: ???
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - MACTEST - ???
INT 65 U - NetSoft DOS-NET v1.20+ - MACTEST - ???
	DX = 4741h
	BH = 01h
	AL = 08h
	BL = function number (0Eh,0Fh)
	AH = subfunction number
	???
Return: ???
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - Physical Layer - ???
INT 65 U - NetSoft DOS-NET v1.20+ - Physical Layer - ???
	DX = 4741h
	BH = 02h
	BL = function number (01h-04h)
	???
Return: ???
	---function 02h---
	DS:SI -> ??? data area
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
Note:	this API is supported by PARALLEL.COM, SERIAL.COM, ARCNET.COM,
	  ETHERNET.COM, NDIS.COM, ODI.COM, SMC.COM, and FTP.COM
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER.COM - ???
INT 65 U - NetSoft DOS-NET v1.20+ - SPOOLER.COM - ???
	DX = 4741h
	BH = 05h
	BL = function number (00h,01h)
Return: CF clear
	AL = status code (00h=successful)
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR.COM - ???
INT 65 U - NetSoft DOS-NET v1.20+ - PRNREDIR.COM - ???
	DX = 4741h
	BH = 06h
	BL = function number (00h-04h)
	???
Return: ???
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - COMREDIR.COM - ???
INT 65 U - NetSoft DOS-NET v1.20+ - COMREDIR.COM - ???
	DX = 4741h
	BH = 08h
	BL = function number (00h-01h)
	???
Return: ???
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----DX4741 - INT 65 U - NetSoft DOS-NET v1.20+ - FTP.COM - ???
INT 65 U - NetSoft DOS-NET v1.20+ - FTP.COM - ???
	DX = 4741h
	BX = 8010h
	AL = instance number???
Return: AX = 0008h if AL matches internal variable (call chained otherwise)
Range:	INT ?? to INT ??, selected by configuration option; actual interrupt
	  number may be retrieved via INT 2A/AX=4147h
SeeAlso: DX=4147h"INSTALLATION",INT 2A/AX=4147h

Top
65----SI0000 - INT 65 - Ad Lib SOUND.COM - INITIALIZE (RESET)
INT 65 - Ad Lib SOUND.COM - INITIALIZE (RESET)
	SI = 0000h

Top
65----SI0003 - INT 65 - Ad Lib SOUND.COM - SET STATE
INT 65 - Ad Lib SOUND.COM - SET STATE
	SI = 0003h
	ES:BX -> WORD new state (0000h disabled, 0001h enabled)
SeeAlso: SI=0004h

Top
65----SI0004 - INT 65 - Ad Lib SOUND.COM - GET STATE
INT 65 - Ad Lib SOUND.COM - GET STATE
	SI = 0004h
Return: AX = status
	    0000h all done playing sounds
	    else  still playing sounds
SeeAlso: SI=0003h

Top
65----SI0006 - INT 65 - Ad Lib SOUND.COM - SET MODE
INT 65 - Ad Lib SOUND.COM - SET MODE
	SI = 0006h
	ES:BX -> WORD new mode (0000h melodic, 0001h percussive)
SeeAlso: SI=0007h

Top
65----SI0007 - INT 65 - Ad Lib SOUND.COM - GET MODE
INT 65 - Ad Lib SOUND.COM - GET MODE
	SI = 0007h
Return: AX = mode
	    0000h melodic
	    0001h percussive
SeeAlso: SI=0006h

Top
65----SI000C - INT 65 - Ad Lib SOUND.COM - SET ACTIVE VOICE
INT 65 - Ad Lib SOUND.COM - SET ACTIVE VOICE
	SI = 000Ch
	ES:BX -> WORD voice = 0000h to 0008h
SeeAlso: SI=000Dh

Top
65----SI000D - INT 65 - Ad Lib SOUND.COM - GET ACTIVE VOICE
INT 65 - Ad Lib SOUND.COM - GET ACTIVE VOICE
	SI = 000Dh
Return: AX = voice (0000h to 0008h)
SeeAlso: SI=000Ch

Top
65----SI8000 - INT 65 u - Media Vision FM.COM v4.1a+ - GET INTERNAL DATA STRUCTURES
INT 65 u - Media Vision FM.COM v4.1a+ - GET INTERNAL DATA STRUCTURES
	SI = 8000h
Return: DX:AX -> internal data structures
Program: FM.COM is an Ad Lib SOUND.COM-compatible driver for Media Vision's
	  Pro Audio Spectrum sound boards
SeeAlso: SI=8001h

Top
65----SI8001 - INT 65 u - Media Vision FM.COM v4.1a+ - GET VOICE COUNT
INT 65 u - Media Vision FM.COM v4.1a+ - GET VOICE COUNT
	SI = 8001h
Return: AX = ???
	DX = number of voices??? (09h or 0Bh)
SeeAlso: SI=8000h

Top
65----SI8002 - INT 65 - Media Vision FM.COM v4.1a+ - START BACKGROUND FM SOUNDS
INT 65 - Media Vision FM.COM v4.1a+ - START BACKGROUND FM SOUNDS
	SI = 8002h
SeeAlso: SI=8003h

Top
65----SI8003 - INT 65 - Media Vision FM.COM v4.1a+ - STOP BACKGROUND FM SOUNDS
INT 65 - Media Vision FM.COM v4.1a+ - STOP BACKGROUND FM SOUNDS
	SI = 8003h
SeeAlso: SI=8002h

Top
65----SI8004 - INT 65 U - Media Vision FM.COM v4.1a+ - GET ???
INT 65 U - Media Vision FM.COM v4.1a+ - GET ???
	SI = 8004h
Return: AX = ??? (0280h)
	DX = ??? (01A0h)

Top
65----SI8005 - INT 65 U - Media Vision FM.COM v4.1a+ - ???
INT 65 U - Media Vision FM.COM v4.1a+ - ???
	SI = 8005h
	???
Return: ???
SeeAlso: SI=8000h

Top
65 - INT 65 U - EZRECV v1.0 - API
INT 65 U - EZRECV v1.0 - API
	AX = function
	    0000h ???
		Return: AX = ??? or FFFFh
	    0001h ???
		Return: AX = status (0000h or 0001h)
	    0002h ???
		Return: AX = status (0000h or 0001h)
	    0003h set ??? to 0001h
		Return: AX = 0000h
	    0004h ???
		Return: AX = ???
Return: BH = COM port being used
	BL = speed???
	CH = ???
	CL = ???
	DX = ???
	DS = ???
	ES = EZRECV data segment
Program: EZRECV is a background Zmodem file receiver by Express Consulting

Top
66 - INT 66 - reserved for user interrupt
INT 66 - reserved for user interrupt

Top
66 - INT 66 - Adaptec controllers - DRIVE 1 DATA
INT 66 - Adaptec controllers - DRIVE 1 DATA
Desc:	this vector stores the third four bytes of the parameter table for
	  hard disk 1
SeeAlso: INT 64"Adaptec",INT 65"Adaptec",INT 67"Adaptec"

Top
66 - INT 66 - TI Professional PC - SYSTEM INFORMATION (NOT A VECTOR!)
INT 66 - TI Professional PC - SYSTEM INFORMATION (NOT A VECTOR!)
Desc:	the low word of this vector contains the system memory size in
	  paragraphs; the third byte contains the number of outstanding
	  interrupt requests, and the fourth byte contains a description
	  of the installed drive types (see #03517)
SeeAlso: INT 60"TI Professional PC",INT 67"TI Professional"

Bitfields for TI Professional drive type information:
Bit(s)	Description	(Table 03517)
 7	floppy drive D: has 80 tracks
 6	floppy drive D: is double-sided
 5	floppy drive C: has 80 tracks
 4	floppy drive C: is double-sided
 3	floppy drive B: has 80 tracks
 2	floppy drive B: is double-sided
 1	floppy drive A: has 80 tracks
 0	floppy drive A: is double-sided

Top
66 - INT 66 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
INT 66 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
SeeAlso: INT 64"DG10"

Top
66 - INT 66 C - Nanosoft, Inc. TurboNET - NETWORK PROCESSING ???
INT 66 C - Nanosoft, Inc. TurboNET - NETWORK PROCESSING ???
Program: TurboNET is a NetBIOS-based file redirector and server
Note:	hooked but not used (IRET) by both redirector and server; called from
	  server's INT 28 handler
SeeAlso: INT 2F/AX=8100h

Top
66 - INT 66 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
INT 66 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
SeeAlso: INT 64"Pdisk",INT 67"Pdisk"

Top
66 - INT 66 - Microsoft Windows VITD.386 Virtual Interval Timer
INT 66 - Microsoft Windows VITD.386 Virtual Interval Timer
Note:	This Windows 3.x Virtual Device Driver implements a virtual timer
	  which will expire and call INT 66.  This timer can be used to
	  calculate elapsed execution time etc.

Top
66 - INT 66 - Newkey v5.4 - INSTALLATION VECTOR
INT 66 - Newkey v5.4 - INSTALLATION VECTOR
Return: immediately (IRET)
Program: Newkey is a shareware keyboard macro program by Frank A. Bell
InstallCheck:	test for the signature bytes FDh FCh FFh FEh at offset 03h in
	  the interrupt handlers segment
Range:	INT 60h to INT 67h, selected by scanning for highest unused vector
BUG:	the code obviously intends to use INT F0-FE, INT 70-77, and INT 68-6F
	  before falling back to INT 60-67, but only uses the last of these
	  ranges in v5.4
SeeAlso: INT 2F/AX=E300h
Index: installation checks;Newkey|Newkey;installation check

Top
66 - INT 66 - PC-DRAFT - TABLET/DIGITIZER DRIVER
INT 66 - PC-DRAFT - TABLET/DIGITIZER DRIVER
	???
Return: ???
Program: PC-DRAFT is a powerful CAD environment by rhv.
SeeAlso: INT 62"PC-DRAFT",INT 64"PC-DRAFT",INT 65"PC-DRAFT",INT 67"PC-DRAFT"

Top
66 - INT 66 - PC-Magazin - INCA
INT 66 - PC-Magazin - INCA
	details not yet availble
Program: INCA is a utility from PC-Magazin (the German edition of PC Magazine)
	  issue 51-52/85.
SeeAlso: INT 61"SWAPx"

Top
6601 - INT 66 - BitFax Scheduler - SET MODE???
INT 66 - BitFax Scheduler - SET MODE???
	AH = 01h
SeeAlso: AH=02h

Top
6602 - INT 66 - BitFax Scheduler - SET MODE???
INT 66 - BitFax Scheduler - SET MODE???
	AH = 02h
SeeAlso: AH=01h

Top
6603 - INT 66 - BitFax Scheduler - SCHEDULE FAX TRANSMISSIONS
INT 66 - BitFax Scheduler - SCHEDULE FAX TRANSMISSIONS
	AH = 03h
	???
Return: ???
SeeAlso: AH=05h

Top
6604 - INT 66 - BitFax Scheduler - GET STATUS???
INT 66 - BitFax Scheduler - GET STATUS???
	AH = 04h
Return: AX = ??? (0000h or 0001h)
	DX = BitSched version???  (for versions >= 3.00)
	    9796h (ver. 3.00)
	    97E6h (ver. 3.02)
	    92D0h (ver. 3.04.06)
	    9510h (ver. 3.06.02)
SeeAlso: AH=06h,AX=3345h,INT 2F/AX=8000h"FaxBIOS"

Top
6605 - INT 66 - BitFax Scheduler - CONVERT FILE AND SEND FAX
INT 66 - BitFax Scheduler - CONVERT FILE AND SEND FAX
	AH = 05h
	BX:CX -> command block (see #03518)
	???
Return: ???
SeeAlso: AH=03h

Format of BitFax command block:
Offset	Size	Description	(Table 03518)
 00h 18 BYTEs	configuration bytes???
 12h	BYTEs	ASCIZ temporary file name to place converted fax
 52h	BYTEs	ASCIZ directory containing BitFax executables
 92h	BYTEs	ASCIZ telephone number
 C2h	BYTE	cover page control (00h don't send, 01h do send cover page)
 C3h 15 BYTEs	configuration bytes???
 E2h	BYTEs	ASCIZ path of BITFAX.TRA file (containing additional
		  configuration information???)
122h	BYTEs	configuration bytes???
12Ch	BYTE	00h don't send cover page
		01h send cover page
12Dh  7 BYTEs	configuration bytes???
134h	BYTEs	ASCIZ path of file to send
174h	BYTEs	more configuration bytes???
	???

Top
6606 - INT 66 - BitFax Scheduler - SET MODE???
INT 66 - BitFax Scheduler - SET MODE???
	AH = 06h
Return: DX = BitSched version??? (same as AH=04h)
SeeAlso: AH=04h

Top
660688 - INT 66 - IBMSND driver, DIGPAK - PLAY 8-BIT DIGITIZED SOUND
INT 66 - IBMSND driver, DIGPAK - PLAY 8-BIT DIGITIZED SOUND
	AX = 0688h
	DS:SI -> SNDSTRUC (see #03519)
Return: ???
Program: The IBMSND driver is part of John W. Ratcliff's
	   The IBM Digitized Sound Package
	DIGPAK is a set of digitized sound drivers written by
	  John W. Ratcliff, The Audio Solution, Inc.
InstallCheck:	test for a valid signature string six bytes prior to the
	  interrupt handler; this string may be either "KERN" or "MIDI" (in
	  the latter case, call AX=0701h to determine whether IBMSND is
	  installed)
SeeAlso: AX=068Bh,AX=068Fh,AX=0701h

Format of IBMSND driver SNDSTRUC:
Offset	Size	Description	(Table 03519)
 00h	DWORD	-> audio data
 04h	WORD	length of audio data in bytes
 06h	DWORD	-> playback status flag
 0Ah	WORD	playback frequency

Top
660689 - INT 66 - IBMSND driver, DIGPAK - REPORT SOUND DRIVER STATUS
INT 66 - IBMSND driver, DIGPAK - REPORT SOUND DRIVER STATUS
	AX = 0689h
Return: AX = status
	    0000h no sound playing
	    0001h sound effect is currently playing
	---DIGPAK---
	BX = version number (v3.1+)
	DX = looping status
	    0000h no sound looping
	    0001h sound effect is currently looping
SeeAlso: AX=0688h,AX=068Bh,AX=068Ch
Index:	version check;DIGPAK

Top
66068A - INT 66 - IBMSND driver, DIGPAK - PREFORMAT SOUND
INT 66 - IBMSND driver, DIGPAK - PREFORMAT SOUND
	AX = 068Ah
	DS:SI -> SNDSTRUC (see #03519)
Desc:	convert audio data into output hardware format
SeeAlso: AX=068Bh

Top
66068B - INT 66 - IBMSND driver, DIGPAK - PLAY PREFORMATTED SOUND
INT 66 - IBMSND driver, DIGPAK - PLAY PREFORMATTED SOUND
	AX = 068Bh
	DS:SI -> SNDSTRUC (see #03519)
Return: AX = ???
SeeAlso: AX=0688h,AX=068Ah,AX=068Fh

Top
66068C - INT 66 - IBMSND driver, DIGPAK - REPORT AUDIO DRIVER CAPABILITIES
INT 66 - IBMSND driver, DIGPAK - REPORT AUDIO DRIVER CAPABILITIES
	AX = 068Ch
Return: AX = capabilities (see #03520)
	DX = playback rate if fixed-frequency playback
	---DIGPAK---
	BX:CX -> ASCIZ ID string
SeeAlso: AX=0689h,AX=068Dh

Bitfields for IBMSND driver capabilities:
Bit(s)	Description	(Table 03520)
 0	can play audio in background
 1	data is massaged for output device
 2	driver plays at fixed frequency, resampling input data to fit
 3	driver uses timer interrupt
---DIGPAK---
 4	device supports timer sharing
 5	supports looped sounds and pending
 6	supports stereo panning
 7	supports 8-bit PCM stereo playback
 8	supports audio recording
 9	supports DMA bakcfilling

Top
66068D - INT 66 - IBMSND driver, DIGPAK - REPORT CURRENT SAMPLE ADDRESS
INT 66 - IBMSND driver, DIGPAK - REPORT CURRENT SAMPLE ADDRESS
	AX = 068Dh
Return: AX = current playback address
Desc:	determine what point in the audio data the playback has reached, for
	  synchronization with video or animation effects
Notes:	this function applies to background playback only
	the reported address may be an approximation rather than the exact
	  address
SeeAlso: AX=068Ch,AX=0691h

Top
66068E - INT 66 - IBMSND driver, DIGPAK - SET CALLBACK ADDRESS
INT 66 - IBMSND driver, DIGPAK - SET CALLBACK ADDRESS
	AX = 068Eh
	BX:DX -> callback function
	    0000h:0000h to disable callback
	DS = value to load into DS when calling the callback function
Desc:	specify the function to be called when playback of a sound effect is
	  completed
Note:	the callback function will typically be called during a hardware
	  interrupt, so all the usual precautions should be taken except for
	  preserving registers
SeeAlso: AX=0691h

Top
66068F - INT 66 - IBMSND driver, DIGPAK - STOP CURRENT SOUND
INT 66 - IBMSND driver, DIGPAK - STOP CURRENT SOUND
	AX = 068Fh
Desc:	cause any currently-playing sound effect to be terminated
SeeAlso: AX=0688h,AX=068Bh

Top
660690 - INT 66 - IBMSND driver, DIGPAK - "SetAudioHardware" - SET UP HARDWARE INFO
INT 66 - IBMSND driver, DIGPAK - "SetAudioHardware" - SET UP HARDWARE INFO
	AX = 0690h
	BX = IRQ
	CX = base address
	DX = other setup value (device-dependent???)

Top
660691 - INT 66 - IBMSND driver, DIGPAK - REPORT CALLBACK ADDRESS
INT 66 - IBMSND driver, DIGPAK - REPORT CALLBACK ADDRESS
	AX = 0691h
Return: AX:DX -> current callback function
	BX = original caller's DS register
Program: The IBMSND driver is part of John W. Ratcliff's
	   The IBM Digitized Sound Package
	DIGPAK is a set of digitized sound drivers written by
	  John W. Ratcliff, The Audio Solution, Inc.
SeeAlso: AX=068Eh

Top
660693 - INT 66 - DIGPAK - SET TIMER DIVISOR RATE
INT 66 - DIGPAK - SET TIMER DIVISOR RATE
	AX = 0693h
	DX = rate
Program: DIGPAK is a set of digitized sound drivers written by
	  John W. Ratcliff, The Audio Solution, Inc.

Top
660694 - INT 66 - DIGPAK - PLAY PREFORMATTED DATA
INT 66 - DIGPAK - PLAY PREFORMATTED DATA
	AX = 0694h
	DS:SI -> Sound Data structure (see #03519)
Return: AX = status???

Top
660695 - INT 66 - DIGPAK - POST AUDIO PENDING
INT 66 - DIGPAK - POST AUDIO PENDING
	AX = 0695h
	DS:SI -> Sound Data structure (***)
Return: AX = status
	    0000h sound started playing
	    0001h sound was posted as pending to play
	    0002h sound effect already pending, this one not posted
SeeAlso: AX=0696h

Top
660696 - INT 66 - DIGPAK - GET AUDIO PENDING STATUS
INT 66 - DIGPAK - GET AUDIO PENDING STATUS
	AX = 0696h
Return: AX = status
	    0000h no sound is playing
	    0001h sound playing, and a sound is pending
	    0002h sound playing, no sound pending
SeeAlso: AX=0695h

Top
660697 - INT 66 - DIGPAK - SET STEREO PANNING
INT 66 - DIGPAK - SET STEREO PANNING
	AX = 0697h
	DX = panning position (0 = right, 127 = left)
Return: AX = status
	    0000h command ignored (not supported)
	    0001h panning set

Top
660698 - INT 66 - DIGPAK - SET PLAY MODE
INT 66 - DIGPAK - SET PLAY MODE
	AX = 0698h
	DX = playback mode
	    0000h 8-bit PCM
	    0001h 8-bit stereo PCM
	    0002h 16-bit PCM
	    0003h 16-bit stereo PCM
Return: AX = status
	    0000h command ignored
	    0001h mode set

Top
660699 - INT 66 - DIGPAK - GET ADDRESSES
INT 66 - DIGPAK - GET ADDRESSES
	AX = 0699h
Return: AX = pending address
	BX = semaphore address

Top
66069A - INT 66 - DIGPAK - SET RECORD MODE
INT 66 - DIGPAK - SET RECORD MODE
	AX = 069Ah
	DX = recording mode
	    0000h turn audio recording on
	    0001h turn audio recording off
Return: AX = status
	    0000h command ignored
	    0001h audio recording mode set

Top
66069B - INT 66 - DIGPAK - STOP NEXT LOOP
INT 66 - DIGPAK - STOP NEXT LOOP
	AX = 069Bh

Top
66069C - INT 66 - DIGPAK - SET DMA BACKFILL MODE
INT 66 - DIGPAK - SET DMA BACKFILL MODE
	AX = 069Ch
	DX = mode
	    0000h turn backfill mode on
	    0001h turn backfill mode off
Return: AX = status
	    0000h command ignored
	    0001h backfill mode set
SeeAlso: AX=069Dh,AX=069Eh

Top
66069D - INT 66 - DIGPAK - REPORT DMA COUNTER
INT 66 - DIGPAK - REPORT DMA COUNTER
	AX = 069Dh
Return: AX = DMA counter
SeeAlso: AX=069Eh

Top
66069E - INT 66 - DIGPAK - VERIFY DMA BLOCK
INT 66 - DIGPAK - VERIFY DMA BLOCK
	AX = 069Eh
	CX = length of buffer
	ES:BX -> buffer containing sound data
Return: AX = status
	    0000h block crosses 64K bounadary
	    0001h block is OK
SeeAlso: AX=069Dh

Top
66069F - INT 66 - DIGPAK - SET PCM VOLUME
INT 66 - DIGPAK - SET PCM VOLUME
	AX = 069Fh
	BX = left channel volume (0-100)
	CX = right channel volume (0-100)
Return: AX =  status
	    0000h command ignored
	    0001h volume set

Top
6606A0 - INT 66 - DIGPAK - SET DPMI MODE
INT 66 - DIGPAK - SET DPMI MODE
	AX = 06A0h
	DX = mode
	    0000h 32-bit register addressing on
	    0001h 32-bit register addressing off
SeeAlso: INT 31/AX=0400h

Top
660700 - INT 66 - MIDPAK - UNINSTALL
INT 66 - MIDPAK - UNINSTALL
	AX = 0700h
Note:	this function should NOT be called by applications
Program: MIDPAK is a set of MIDI sound drivers developed by Miles Design
	  Incorporated.

Top
660701 - INT 66 - IBM Digitized Sound Package MIDI driver - GET DIGITIZED SOUND CAPABIL
INT 66 - IBM Digitized Sound Package MIDI driver - GET DIGITIZED SOUND CAPABIL
	AX = 0701h
Return: AX = digitized sound capabilities
	    0000h if digitized sound driver (functions 06xxh) not available
InstallCheck:	test for the signature "MIDI" six bytes before the interrupt
	  handler
Note:	also supported by MIDPAK, the successor to the Digitized Sound
	  Package's MIDI driver
SeeAlso: AX=0688h

Top
660702 - INT 66 - MIDPAK - PLAY SEQUENCE
INT 66 - MIDPAK - PLAY SEQUENCE
	AX = 0702h
	BX = Sequence number
Return: AX = status
	    0000h Sequence is being played
	    0001h Sequence not available
SeeAlso: AX=0703h,AX=0705h

Top
660703 - INT 66 - MIDPAK - SEGUE SEQUENCE
INT 66 - MIDPAK - SEGUE SEQUENCE
	AX = 0703h
	BX = sequence number
	CX = activation code (FFFFh is next trigger)
Return: ???

Top
660704 - INT 66 - MIDPAK - REGISTER XMIDI
INT 66 - MIDPAK - REGISTER XMIDI
	AX = 0704h
	CX:BX -> XMIDI sequence data
	DI:SI = length of XMIDI data
Return: AX = status
	    0000h unable to register XMIDI data
	    0001h XMIDI file registered resident
	    0002h XMIDI file was registered to the application

Top
660705 - INT 66 - MIDPAK - STOP MIDI
INT 66 - MIDPAK - STOP MIDI
	AX = 0705h
SeeAlso: AX=0702h,AX=0709h

Top
660706 - INT 66 O - MIDPAK - REMAP CHANNEL
INT 66 O - MIDPAK - REMAP CHANNEL
	AX = 0706h
	BX = sequence
	CX = physical

Top
660707 - INT 66 - MIDPAK - REPORT TRIGGER EVENT COUNTER
INT 66 - MIDPAK - REPORT TRIGGER EVENT COUNTER
	AX = 0707h
Return: AX = count of number of callbacks since last reset
	DX = ID
SeeAlso: AX=0708h,AX=0713h

Top
660708 - INT 66 - MIDPAK - RESET EVENT TRIGGER COUNTER
INT 66 - MIDPAK - RESET EVENT TRIGGER COUNTER
	AX = 0708h
SeeAlso: AX=0707h,AX=0713h

Top
660709 - INT 66 O - MIDPAK - MIDI SLEEP
INT 66 O - MIDPAK - MIDI SLEEP
	AX = 0709h
SeeAlso: AX=070Ah

Top
66070A - INT 66 O - MIDPAK - MIDI AWAKE
INT 66 O - MIDPAK - MIDI AWAKE
	AX = 070Ah
SeeAlso: AX=0709h

Top
66070B - INT 66 - MIDPAK - RESUME PLAYING
INT 66 - MIDPAK - RESUME PLAYING
	AX = 070Bh
SeeAlso: AX=070Ch

Top
66070C - INT 66 - MIDPAK - GET SEQUENCE STATUS
INT 66 - MIDPAK - GET SEQUENCE STATUS
	AX = 070Ch
Return: AX = status
	    0000h sequence stopped
	    0001h sequence playing
	    0002h sequence done
SeeAlso: AX=070Bh

Top
66070D - INT 66 - MIDPAK - REGISTER XMIDI FILE
INT 66 - MIDPAK - REGISTER XMIDI FILE
	AX = 070Dh
	CX:BX -> ASCII filename
SeeAlso: AX=0704h,AX=0710h

Top
66070E - INT 66 - MIDPAK - GET RELATIVE VOLUME
INT 66 - MIDPAK - GET RELATIVE VOLUME
	AX = 070Eh
Return: AX = current volume
SeeAlso: AX=070Fh

Top
66070F - INT 66 - MIDPAK - SET RELATIVE VOLUME
INT 66 - MIDPAK - SET RELATIVE VOLUME
	AX = 070Fh
	BX = new volume
	CX = time
SeeAlso: AX=070Eh

Top
660710 - INT 66 - MIDPAK - LOAD MIDPAK DRIVER
INT 66 - MIDPAK - LOAD MIDPAK DRIVER
	AX = 0710h
	BX = segment of .ADV driver
	CX = 0000h (offset must be zero)
	DX:SI -> .AD driver
SeeAlso: AX=070Dh

Top
660711 - INT 66 - MIDPAK - POLL MIDPAK
INT 66 - MIDPAK - POLL MIDPAK
	AX = 0711h
Return: AX = ???
	???
SeeAlso: AX=0712h

Top
660712 - INT 66 - MIDPAK - GET MIDI CLOCK
INT 66 - MIDPAK - GET MIDI CLOCK
	AX = 0712h
Return: AX:DX = clock counter
	CX:BX = clock address
SeeAlso: AX=0711h,AX=0713h

Top
660713 - INT 66 - MIDPAK - GET TRIGGER COUNT ADDRESS
INT 66 - MIDPAK - GET TRIGGER COUNT ADDRESS
	AX = 0713h
Return: AX:DX -> trigger counter address
SeeAlso: AX=0707h,AX=0712h,AX=0714h

Top
660714 - INT 66 - MIDPAK - GET EVENT ID ADDRESS
INT 66 - MIDPAK - GET EVENT ID ADDRESS
	AX = 0714h
Return: AX:DX -> event ID
SeeAlso: AX=0713h,AX=0716h

Top
660716 - INT 66 - MIDPAK - REPORT SEQUENCE NUMBER
INT 66 - MIDPAK - REPORT SEQUENCE NUMBER
	AX = 0716h
Return: AX = current sequence number
SeeAlso: AX=0702h
Program: MIDPAK is a set of MIDI sound drivers developed by Miles Design
	  Incorporated.

Top
6610 - INT 66 - PenDOS - TDMOUSE.EXE - GET ???
INT 66 - PenDOS - TDMOUSE.EXE - GET ???
	AH = 10h
Return: CF clear
	AX = 0000h
	BX = ??? (0012h)
	DX:CX -> TDMOUSE INT 33 handler (IRET to hide mouse from other apps)
Program: TDMOUSE is a PenDOS hardware driver which allows a mouse to emulate
	  a touchpad; PenDOS is a set of programs by Communication Intelligence
	  Corporation which makes applications pen-aware

Top
6611 - INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
	AH = 11h
	DX:BX -> new handler for ???
Return: CF clear
	AX = 0000h
	DX:BX -> old handler for ??? (points at RETF by default)

Top
6612 - INT 66 - PenDOS - TDMOUSE.EXE - INITIALIZE
INT 66 - PenDOS - TDMOUSE.EXE - INITIALIZE
	AH = 12h
Return: CF clear
	AX = 0000h
Note:	this function calls the old mouse handler with functions 0000h, 0002h,
	  0007h, 0008h, 000Fh, 0004h, and 000Ch (in that order)
SeeAlso: AH=13h

Top
6613 - INT 66 - PenDOS - TDMOUSE.EXE - SHUTDOWN???
INT 66 - PenDOS - TDMOUSE.EXE - SHUTDOWN???
	AH = 13h
Return: CF clear
	other register as returned by INT 33/AX=0000h
SeeAlso: AH=12h

Top
6614 - INT 66 - PenDOS - TDMOUSE.EXE - ???
INT 66 - PenDOS - TDMOUSE.EXE - ???
	AH = 14h
	BX = ???
	CX = ???
Return: CF clear
	AX = 0000h

Top
6615 - INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
INT 66 - PenDOS - TDMOUSE.EXE - SET ??? HANDLER
	AH = 15h
	DX:BX -> new handler for ???
Return: CF clear
	AX = 0000h
	DX:BX -> old handler (points at RETF by default)

Top
6616 - INT 66 - PenDOS - TDMOUSE.EXE - UNUSED FUNCTIONS
INT 66 - PenDOS - TDMOUSE.EXE - UNUSED FUNCTIONS
	AH = 16h to 1Fh
Return: CF set
Program: TDMOUSE is a PenDOS hardware driver which allows a mouse to emulate
	  a touchpad; PenDOS is a set of programs by Communication Intelligence
	  Corporation which makes applications pen-aware

Top
6621 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 21h
Return: CF clear if successful
	CF set on error
Note:	this function sets ??? flag or counter (also set by AH=2Fh) to FFFFh

Top
6622 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 22h
	DX:BX -> ???
	CL = ???
Return: CF clear if successful
	CF set on error
	???
SeeAlso: AH=24h

Top
6623 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 23h
	???
Return: CF clear if successful
	CF set on error
	???

Top
6624 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 24h
	DX:BX -> ???
	CL = ???
Return: CF clear if successful
	CF set on error
	???
SeeAlso: AH=22h

Top
6625 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 25h
	CL = ??? (NOP if 00h)
	???
Return: CF clear if successful
	CF set on error
	???

Top
6627 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 27h
	BL = ???
	BH = ???
	CL = ??? (0-3)
	DL = ??? (> BL)
	DH = ??? (> BH)
Return: ???

Top
6628 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 28h
	???
Return: CF clear if successful
	CF set on error
	???
Note:	this function sets ??? flag or counter (also set by AH=2Fh) to FFFFh

Top
6629 - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 29h
	???
Return: ???
Note:	this function sets ??? flag or counter (also set by AH=2Fh) to FFFFh

Top
662A - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 2Ah
	DL = ??? (nonzero)
	DH = ??? (nonzero)
Return: CF clear if successful
	CF set on error
	???

Top
662B - INT 66 - PenDOS - PINK - ???
INT 66 - PenDOS - PINK - ???
	AH = 2Bh
	???
Return: CF clear if successful
	CF set on error
	???

Top
662F - INT 66 - PenDOS - PINK - INITIALIZE
INT 66 - PenDOS - PINK - INITIALIZE
	AH = 2Fh
	???
Return: AX = status
	    0000h failed
	    FFFFh successful
	???
Note:	this function sets ??? flag or counter to FFFFh and hooks INT 1Ch

Top
663345 - INT 66 - BitFax Scheduler - REMOVE TSR FROM MEMORY
INT 66 - BitFax Scheduler - REMOVE TSR FROM MEMORY
	AX = 3345h
Return: AX = FFFFh error removing TSR
InstallCheck:	test for the signature "BitFax Scheduler" beginning two bytes
	  past the interrupt handler
SeeAlso: AH=04h,INT 2F/AH=2Ah,INT 2F/AX=CB00h
Index:	installation check;BitFax Scheduler

Top
6640 - INT 66 - PenDOS - PKEYUS - GET VERSION
INT 66 - PenDOS - PKEYUS - GET VERSION
	AH = 40h
Return: CF clear
	AX = 0000h
	BH = major version (02h for version bundled with IBM DOS 6.1)
	BL = minor version (00h for version bundled with IBM DOS 6.1)
	DL = ??? (4Eh)
	DH = ??? (0Eh)

Top
6641 - INT 66 - PenDOS - PKEYUS - SET ???
INT 66 - PenDOS - PKEYUS - SET ???
	AH = 41h
	BX = ???
	CL = ??? (08h-20h)
	DL = screen column??? (<= 50h)
	DH = screen row???  (<= 3Ch)
Return: AX = status (0000h successful, 0001h error)
Note:	this function also sets an internal flag
SeeAlso: AH=42h,AH=43h

Top
6642 - INT 66 - PenDOS - PKEYUS - ???
INT 66 - PenDOS - PKEYUS - ???
	AH = 42h
Return: CF clear
	AX = 0000h
Note:	this function also clears the flag set by AH=41h
SeeAlso: AH=41h

Top
6643 - INT 66 - PenDOS - PKEYUS - ???
INT 66 - PenDOS - PKEYUS - ???
	AH = 43h
	BX = ???
	DX = ???
Return: AX = status
	    0000h if AH=41h flag set
	    else
		AH = ???
		AL = ???
		BX = ???
		DX = ???
SeeAlso: AH=41h

Top
6644 - INT 66 - PenDOS - PKEYUS - UNUSED FUNCTIONS
INT 66 - PenDOS - PKEYUS - UNUSED FUNCTIONS
	AH = 44h to 4Fh
Return: CF set

Top
6650 - INT 66 - PenDOS - PMOUSE - SET ???
INT 66 - PenDOS - PMOUSE - SET ???
	AH = 50h
	BX = ???
	CH = ???
	DX = ???
Return: CF clear
	AX = 0000h

Top
6651 - INT 66 - PenDOS - PMOUSE - NOP
INT 66 - PenDOS - PMOUSE - NOP
	AH = 51h
Return: CF set

Top
6652 - INT 66 - PenDOS - PMOUSE - ???
INT 66 - PenDOS - PMOUSE - ???
	AH = 52h
	BX = ???
	CL = ???
	DX = ???
Return: ???

Top
6653 - INT 66 - PenDOS - PMOUSE - UNUSED FUNCTIONS
INT 66 - PenDOS - PMOUSE - UNUSED FUNCTIONS
	AH = 53h to 57h
Return: CF set

Top
66 - INT 66 - PenDOS - PMOUSE - ALTERNATE API
INT 66 - PenDOS - PMOUSE - ALTERNATE API
	AH = function (58h-5Fh)
Note:	these functions exactly duplicate AH=50h-57h

Top
66AA02 - INT 66 - HelpTSR v2.10 - INSTALLATION CHECK
INT 66 - HelpTSR v2.10 - INSTALLATION CHECK
	AX = AA02h
Return: ES:DI -> 7 byte signature "HelpTSR" if resident
Program: HelpTSR is a resident viewer by David Jurgens for HelpPC

Top
66C5 - INT 66 - PenDOS - VLOAD - API
INT 66 - PenDOS - VLOAD - API
	AH = C5h
	???
Return: ???

Top
66FFFBBXFFFB - INT 66 - MicroHelp Stay-Res Plus - ???
INT 66 - MicroHelp Stay-Res Plus - ???
	AX = FFFBh
	BX = FFFBh
	???
Return: ???
SeeAlso: AX=FFFEh,INT 2D"AMIS"

Top
66FFFEBXFFFE - INT 66 - MicroHelp Stay-Res/Stay-Res Plus - UNINSTALL
INT 66 - MicroHelp Stay-Res/Stay-Res Plus - UNINSTALL
	AX = FFFEh
	BX = FFFEh
Return: only if unsuccessful
InstallCheck:	test whether the interrupt handler begins with the bytes
	  FBh 9Ch or 9Ch FAh, and the program name (not case-sensitive) appears
	  at offset 0005h (older versions) or the offset returned by
	  AX=FFFFh/BX=FFF0h in the interrupt handler segment
Note:	Programs which use Stay-Res include ThesPlus (program name "THESPLUS")
	  and Personal Calendar (program name "CAL") by Paul Mun~oz-Colman.
SeeAlso: AX=FFFBh,AX=FFFFh,INT 2D"AMIS"
Index:	installation check;MicroHelp Stay-Res|installation check;ThesPlus
Index:	installation check;Personal Calendar|installation check;CAL

Top
66FFFFBXFFF0 - INT 66 - MicroHelp Stay-Res Plus - FIND PROGRAM NAME
INT 66 - MicroHelp Stay-Res Plus - FIND PROGRAM NAME
	AX = FFFFh
	BX = FFF0h
Return: DI = offset of program name in interrupt handler segment
SeeAlso: AX=FFFBh,AX=FFFEh,INT 2D"AMIS"

Top
67 - INT 67 - Adaptec controllers - DRIVE 1 DATA
INT 67 - Adaptec controllers - DRIVE 1 DATA
Desc:	this vector stores the last four bytes of the parameter table for
	  hard disk 1
SeeAlso: INT 64"Adaptec",INT 65"Adaptec",INT 66"Adaptec"

Top
67 - INT 67 - TI Professional PC - SYSTEM DATA (NOT A VECTOR!)
INT 67 - TI Professional PC - SYSTEM DATA (NOT A VECTOR!)
Desc:	this vector contains the TI Pro's system configuration words
	  (see #03521)
SeeAlso: INT 66"TI Professional PC"

Bitfields for TI Professional PC System Configuration doubleword:
Bit(s)	Description	(Table 03521)
 0	8087 present
 31-1	reserved (0)

Top
67 - INT 67 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
INT 67 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
SeeAlso: INT 64"Pdisk",INT 66"Pdisk"

Top
67 - INT 67 - Sangoma CCPOP 3270 resident module
INT 67 - Sangoma CCPOP 3270 resident module
SeeAlso: INT 61"Sangoma",INT 68"Sangoma"

Top
67 - INT 67 - CUCKOO.COM - INSTALLATION CHECK
INT 67 - CUCKOO.COM - INSTALLATION CHECK
Program: CUCKOO is a resident on-screen clock with optional hourly chime or
	  cuckoo by an unknown author with revisions by Thomas A. Lundin
Note:	this is not a vector; when loaded for the first time, CUCKOO.COM uses
	  the last unused (0000h:0000h) vector in the range 60h-67h to store
	  the signature value 434Ch:4F4Bh ('CLOK')

Top
67 - INT 67 - PC-DRAFT - KEYBOARD DRIVER
INT 67 - PC-DRAFT - KEYBOARD DRIVER
	???
Return: ???
Program: PC-DRAFT is a powerful CAD environment by rhv.
SeeAlso: INT 62"PC-DRAFT",INT 64"PC-DRAFT",INT 65"PC-DRAFT",INT 66"PC-DRAFT"

Top
6700 - INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE AND WAIT
INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE AND WAIT
	AH = 00h
	DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #03522)
	AH = semaphore owner if status=02h
SeeAlso: AH=01h,AH=02h"PC-NET",INT 7F/AH=00h

(Table 03522)
Values for PC-NET semaphore function status:
 00h	successful
 01h	invalid function
 02h	semaphore already locked
 03h	unable to lock semaphore
 04h	semaphore space exhausted

Top
6701 - INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE
INT 67 - PC-NET, Alloy NTNX - LOCK SEMAPHORE
	AH = 01h
	DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #03522)
	AH = semaphore owner if status=02h
SeeAlso: AH=00h,AH=02h"PC-NET",INT 7F/AH=01h"Alloy"

Top
6702 - INT 67 - PC-NET, Alloy NTNX - UNLOCK SEMAPHORE
INT 67 - PC-NET, Alloy NTNX - UNLOCK SEMAPHORE
	AH = 02h
	DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #03522)
	AH = semaphore owner if status=02h
SeeAlso: AH=00h,AH=01h"PC-NET",INT 7F/AH=02h

Top
671E - INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - INSTALLATION CHECK
INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - INSTALLATION CHECK
	AH = 1Eh
Return: AH = 00h if installed
	    AL destroyed
	    ES:DI -> ASCII signature "MemLimit"
SeeAlso: AH=1Fh,INT 21/AX=4402h"386MAX"

Top
671F - INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - API
INT 67 U - Qualitas 386MAX v7.00 - MEMLIMIT - API
	AH = 1Fh
	DS:SI -> request packet (see #03523)
Return: AH = status (00h successful, 84h invalid function code, etc.)
SeeAlso: AH=1Eh

Format of 386MAX MEMLIMIT request packet:
Offset	Size	Description	(Table 03523)
 00h	WORD	function code (00h-0Fh)
 02h	WORD	return code (see #03524)
 04h  4 BYTEs	???
 08h	WORD	???
	???

(Table 03524)
Values for 386MAX MEMLIMIT return code:
 00h	unknown request
 01h	invalid parameter for VCPI limit
 02h	VCPI limit set
 03h	invalid parameter for EMS limit
 04h	EMS limit set
 05h	DPMI disabled
 06h	XMS disabled
 07h	XMS limit set
 08h	unable to uninstall
 09h	unloaded

Top
672763CL01 - INT 67 - VIDEMS.SYS v1.31+ - INSTALLATION CHECK
INT 67 - VIDEMS.SYS v1.31+ - INSTALLATION CHECK
	AX = 2763h
	CL = 01h
	BX = signature AAFFh
Return: AH = 00h if VIDEMS is installed
	    CH = 00h if optimization for 80286 is used, 01h otherwise
	    CL = internal revision number (typically 00h to 03h)
	    DX = driver version (DH=major, DL=minor; not a BCD!)
	AH = 84h if not installed but EMS manager is present
Program: VIDEMS is an expanded memory manager from Conea Software Corp. It
	 converts video adapter RAM to LIM 3.2 EMS.
SeeAlso: AX=2763h/CL=02h,AX=2763h/CL=03h

Top
672763CL02 - INT 67 - VIDEMS.SYS v1.31+ - FLUSH EMS TO VIDEO RAM
INT 67 - VIDEMS.SYS v1.31+ - FLUSH EMS TO VIDEO RAM
	AX = 2763h
	CL = 02h
	BX = signature AAFFh
Return: AH = 00h if successful
Notes:	This call is normally used by Conea products only.
SeeAlso: AX=2763h/CL=01h,AX=2763h/CL=03h

Top
672763CL03 - INT 67 - VIDEMS.SYS v1.31+ - RELOAD EMS FROM VIDEO RAM
INT 67 - VIDEMS.SYS v1.31+ - RELOAD EMS FROM VIDEO RAM
	AX = 2763h
	CL = 03h
	BX = signature AAFFh
Return: AH = 00h if successful
Notes:	This call is normally used by Conea products only.
SeeAlso: AX=2763h/CL=01h,AX=2763h/CL=03h

Top
672763CL04 - INT 67 - VIDEMS.SYS v1.31+ - RETURN HIDDEN BLOCK SIZE
INT 67 - VIDEMS.SYS v1.31+ - RETURN HIDDEN BLOCK SIZE
	AX = 2763h
	CL = 04h
	BX = signature AAFFh
Return: AH = 00h if successful
	    DX = block size in kilobytes
Desc:	Returns the amount of EMS which can be safely used at any time, and
	  can't be destroyed by writing anything to the B800:0000 buffer.
Note:	this function normally returns 184K, while the driver provides up to
	  240K of EMS.
SeeAlso: AX=2763h/CL=01h,AX=2763h/CL=02h

Top
672763CL05 - INT 67 - VIDEMS.SYS v1.31+ - RETURN PHYSICAL PAGE SIZE
INT 67 - VIDEMS.SYS v1.31+ - RETURN PHYSICAL PAGE SIZE
	AX = 2763h
	CL = 05h
	BX = signature AAFFh
Return: AH = 00h
	DX = size in bytes
Desc:	Used by Conea products to determine if addressing mode has changed.
	  Normally, all VIDEMS versions beginning from 1.15 use 4K "physical"
	  pages.
Notes:	this function will probably become raw page size in future releases of
	  VIDEMS, which	will support the LIM 4.0 standard.
SeeAlso: AX=2763h/CL=01h,AX=2763h/CL=02h

Top
672763CL06 - INT 67 - VIDEMS.SYS v1.50+ - RETURN VIDEO RAM SIZE
INT 67 - VIDEMS.SYS v1.50+ - RETURN VIDEO RAM SIZE
	AX = 2763h
	CL = 06h
	BX = signature AAFFh
Return: AH = 00h
	DX = total amount of video RAM
Desc:	beginning with version 1.50, VIDEMS can use more adapter memory on
	  some chipsets, and is no longer limited to the first 240K.
Notes:	this call is not officially documented, and Conea programmers use it
	  mainly for debugging purposes.

Top
672833 - INT 67 - Q87 v4+ - PREPARE TO UNLOAD AND GET XMS HANDLE FOR Q87 MEMORY
INT 67 - Q87 v4+ - PREPARE TO UNLOAD AND GET XMS HANDLE FOR Q87 MEMORY
	AX = 2833h
	EAX = 29482833h (entire EAX value required)
Return: EAX = XMS handle for memory allocated when Q87 was installed
	EBX = status
	    00000000h Q87 is in demo mode (countdown running);
			  Q87 remains active
	    00000001h Q87 is in registered mode; memory manager's IDT, GDT,
			  and optionally CR0 (if BL <> 5Fh on entry) have
			  been restored
	    00000002h Q87 is in demo mode (demo time has expired);
			  Q87 remains active
Note:	this call is used by UNLOAD87 to release the memory used by Q87
BUG:	v4.00-v4.03 will hang on most machines when run under bare DOS with
	  no memory manager, because neither Q87 nor UNLOAD87 checks whether
	  there is a valid INT 67 handler before performing an installation
	  check via INT 67
SeeAlso: AX=4321h,INT 21/AX=4321h/BX=0000h

Top
673F--CX5145 - INT 67 U - QEMM-386 v4.23+ - INSTALLATION CHECK
INT 67 U - QEMM-386 v4.23+ - INSTALLATION CHECK
	AH = 3Fh
	CX = 5145h ("QE")
	DX = 4D4Dh ("MM")
Return: AH = 00h if installed
	    ES:DI -> QEMM API entry point (see #03525,#03528,#03640)
Notes:	if no other program has hooked INT 67, an alternate installation
	  check is to test for the string
	  "QUARTERDECK EXPANDED MEMORY MANAGER 386" at offset 14h in the INT 67
	  handler's segment; the word at offset 12h contains the offset in
	  the handler's segment of the API entry point
	although this function is still undocumented, Quarterdeck has recently
	  documented two alternate methods for determining the QEMM API entry
	  point, as well as several of the API functions
	MICEMM (Micronics Expanded Memory Manager) versions 2.0C and 4D support
	  the alternate QEMM installation check and entry point functions 00h,
	  02h, and 03h; version 4D only provides the signature string if the
	  commandline argument "DV" is provided
	386MAX v6.01 responds to this call, but DESQview 2.42 does not
	  recognize the returned entry point as providing QEMM's capabilities
	  because a) only functions 0Ch (different from QEMM 0Ch) and
			1000h-1009h are supported,
		  b) status is returned as for EMS functions, not QEMM funcs
		  c) the protected-mode entry point returned by function 1000h
			only supports functions 0Ch, 1004h, 1005h, and 100Ah
	the string check mentioned above is not supported by 386MAX
SeeAlso: AX=5BF0h,AH=DDh,AX=FFA5h,INT 15/AX=11DEh,INT 21/AX=4402h/SF=01h
SeeAlso: INT 21/AX=4402h"QEMM",INT 21/AX=4402h"386MAX",INT 2F/AX=D201h/BX=5145h

(Table 03525)
Values for calling QEMM "QPI_GetStatus" function:
	AH = 00h get QEMM state
Return: CF clear
	AL = QEMM state
	    bit 0 set if QEMM turned OFF
	    bit 1 set if in "Auto" mode
Note:	this function is officially documented
SeeAlso: #03526,#03527,#03528,#03640

(Table 03526)
Values for calling QEMM "QPI_SetStatus" function:
	AH = 01h set QEMM state
	AL = new state
	    bit 0 set: place QEMM in OFF state
Return: CF clear if successful
	CF set on error
Note:	this function is officially documented
SeeAlso: #03525

(Table 03527)
Values for calling QEMM QPI function 02h:
	AH = 02h get ???
Return: CF clear
	AX = segment of ??? data structure
	Data Structure
	Offset	Size	Description
	 00h	DWORD	page table entry for ???
		???
SeeAlso: #03528

(Table 03528)
Values for calling QEMM "QPI_GetVersion" function:
	AH = 03h get QEMM version
Return: CF clear
	AX = BX = version in BCD
Notes:	this function is officially documented.	 The most recent official docs
	  state that the version is returned in both AX and BX; older
	  documentation only mentions BX
	MICEMM returns AX=0001h, BX unchanged
SeeAlso: #03525,#03529

(Table 03529)
Values for calling QEMM QPI function 04h:
	AH = 04h allocate 4K page and set AUTO/ON mode
Return: CF clear if successful
	    DX = page number of a 4K page
	CF set if unable to allocate page
Note:	QEMM mode unchanged if not AUTO/OFF
SeeAlso: #03530

(Table 03530)
Values for calling QEMM QPI function 05h:
	AH = 05h free 4K page and turn QEMM off
	DX = page number returned by function 04h
Return: CF clear
Note:	QEMM mode unchanged if not AUTO/ON
SeeAlso: #03529,#03531

(Table 03531)
Values for calling QEMM QPI function 06h:
	AH = 06h make new mapping context???
	DX = page number of 4K page to hold page table
Return: CF clear
Note:	copies page table into given page and then sets ??? page table entry
	  to point at copy
SeeAlso: #03532,#03533

(Table 03532)
Values for calling QEMM QPI function 07h:
	AH = 07h get mapping context
Return: CF clear
	DX = page number of page table for current mapping context
SeeAlso: #03528,#03531,#03533

(Table 03533)
Values for calling QEMM QPI function 08h:
	AH = 08h set mapping context???
	DX = linear page number of page table
Return: CF clear
SeeAlso: #03528,#03531,#03532,#03534,#03536

(Table 03534)
Values for calling QEMM QPI function 09h:
	AH = 09h get linear page number for page table entry
	CX = page table index
Return: CF clear
	DX = linear page number
SeeAlso: #03535

(Table 03535)
Values for calling QEMM QPI function 0Ah:
	AH = 0Ah set linear page number for page table entry
	CX = page table index
	DX = linear page number
Return: CF clear
SeeAlso: #03534

(Table 03536)
Values for calling QEMM QPI function 0Bh:
	AH = 0Bh map 4K pages
	BX = number of pages
	CX = first page number (must be 0100h to allocate HMA)
	DX = EMS handle (memory belonging to EMS handle will be mapped
	      into the address space beginning with the first page
	      allocated to the handle)
Return: AH = 00h
SeeAlso: #03533,#03537

(Table 03537)
Values for calling QEMM QPI function 0Ch:
	AH = 0Ch get available memory
Return: CF clear
	BX = 0001h
	CX = total 4K pages???
	DX = number of 4K pages free
SeeAlso: #03536,#03538

(Table 03538)
Values for calling QEMM QPI function 0Dh:
	AH = 0Dh CRT controller I/O port trapping
	AL = mode
	    00h only trap on I/O ports 03C0h-03C5h, 03C7h, 03CAh-03CFh
	    01h trap on ports 03B4h, 03B5h, 03B8h, 03C6h, 03C8h, 03C9h,
		  03D4h, and 03D5h
	    02h only trap on I/O ports 03C6h, 03C8h, and 03C9h
Return: CF clear

(Table 03539)
Values for calling QEMM QPI function 0Eh:
	AH = 0Eh set cursor virtualization callbacks
	DS:BX -> FAR routine for getting hardware cursor address
	ES:DX -> FAR routine for setting hardware cursor address
Return: CF clear
Note:	both callbacks are invoked with CL indicating which
	  CRT controller register to access (0Eh for high
	  byte of cursor address, 0Fh for low byte)
	the DS:BX callback should return BX=cursor address;
	  ES:DX is called with BL or BH (depending on CL)
	  set to the appropriate half of the cursor's address

(Table 03540)
Values for calling QEMM QPI function 0Fh:
	AH = 0Fh unmap 4K pages
	CX = first page number
	DX = number of pages
Return: CF clear
	AL = 00h/01h if ???
Note:	if CX=0100h and DX=0010h, the HMA is remapped to
	  simulate a disabled A20

(Table 03541)
Values for calling QEMM QPI function 1000h:
	AX = 1000h get protected-mode interface
	DS:SI -> 16-byte buffer for two GDT entries
	ES:DI -> buffer for 4K page table
Return: CF clear
	EAX = offset of protected-mode API entry point
	DS:SI buffer filled with two GDT descriptors
		first is QEMM code segment, second is data???
	ES:DI buffer filled with 4K page table
	DI points to first unused page table entry
SeeAlso: INT 67/AX=DE01h

(Table 03542)
Values for calling QEMM QPI function 1001h:
	AX = 1001h get CPU debug registers
	ES:DI -> buffer for debug registers (8 DWORDs)
Return: CF clear
	BL = INT01 handling (see #03543)
	ES:DI buffer filled

(Table 03543)
Values for calling QEMM QPI function 1002h:
	AX = 1002h set CPU debug registers
	BL = INT01 handling
	    00h	 reflect all debugging exceptions as V86-mode INT 01's
	    else convert debugging exceptions other than single-step
		  into V86-mode INT 03's, single-step to INT 01's
	ES:DI -> buffer containing debug registers (8 DWORDs)
Return: CF clear
Notes:	identical to INT 67/AX=DE09h if BL=01h
	the INT01 handling flag is set to 01h by the general-protection
	  violation handler for certain privileged instructions
SeeAlso: #03542

(Table 03544)
Values for calling QEMM QPI function 1003h:
	AX = 1003h get machine status word CR0
Return: CF clear
	EAX = contents of CR0
SeeAlso: INT 67/AX=DE07h

(Table 03545)
Values for calling QEMM QPI function 1004h:
	AX = 1004h allocate a 4K page
Return: CF clear if successful
	    EDX = linear address of allocated page
	CF set on error
SeeAlso: INT 67/AX=DE04h

(Table 03546)
Values for calling QEMM QPI function 1005h:
	AX = 1005h free 4K page
	EDX = linear address of page to free
Return: CF clear
SeeAlso: INT 67/AX=DE05h

(Table 03547)
Values for calling QEMM QPI function 1006h:
	AX = 1006h NOP
Return: CF set

(Table 03548)
Values for calling QEMM QPI function 1007h:
	AX = 1007h get maximum physical memory address
Return: CF clear
	EDX = physical address of highest 4K memory page
SeeAlso: INT 67/AX=DE02h

(Table 03549)
Values for calling QEMM QPI function 1008h:
	AX = 1008h get physical address of page in first megabyte
	CX = page number (linear address shifted right 12 bits)
Return: CF clear
	EDX = linear address of page
SeeAlso: #03548,#03624,#03625

(Table 03550)
Values for calling QEMM QPI function 1009h:
	AX = 1009h switch to protected mode
	ESI = linear address in first megabyte of system reg values
	      (see INT 67/AX=DE0Ch)
	interrupts disabled
Return: interrupts disabled
	GDTR, IDTR, LDTR, TR loaded
	SS:ESP must have at least 16 bytes space, and the
	      entry point is required to set up a new stack
	      before enabling interrupts
	EAX, ESI, DS, ES, FS, GS destroyed

(Table 03551)
Values for calling QEMM QPI function 100Ah:
	AX = 100Ah switch back to virtual-86 mode
	DS = selector for data segment from function 1000h
	SS:ESP in first megabyte of linear memory
	interrupts disabled
	STACK:	QWORD  return address from FAR call to 32-bit segment
		DWORD  EIP
		DWORD  CS
		DWORD  reserved for EFLAGS
		DWORD  ESP
		DWORD  SS
		DWORD  ES
		DWORD  DS
		DWORD  FS
		DWORD  GS
	will switch to virtual86 mode with interrupts disabled, all
	  segment registers loaded, and EAX destroyed.

(Table 03552)
Values for calling QEMM QPI function 11h:
	AH = 11h get memory type map
	AL = zero/nonzero ??? (set by QEMM.COM but apparently ignored
	      by QEMM 6.00)
	ES:DI -> 256-byte buffer for memory types
Return: CF clear
	BL = ???
	ES:DI buffer filled
Note:	each byte of the buffer corresponds to a 4K page, and
	  contains the type of that page: 00h = mappable,
	  02h = mapped ROM, 03h = high RAM, 04h = excluded,
	  05h = video, 06h = ROM, 07h = adapter ROM,
	  08h = split ROM, 09h = page frame, 0Ah = RAMmable,
	  0Bh = conventional, 83h = high RAM under MS Windows

(Table 03553)
Values for calling QEMM QPI function 12h:
	AH = 12h get HIRAM chain
Return: CF clear
	BX = segment of first MCB in high memory
	    0000h if no high memory

(Table 03554)
Values for calling QEMM QPI function 1300h:
	AX = 1300h VIDRAMEGA???
	BL = 00h copy ???
	     nonzero copy ??? (reverse)
Return: CF clear
	AL = status
	    00h if all pages clean
	    01h if any page dirty

(Table 03555)
Values for calling QEMM QPI function 1301h:
	AX = 1301h check if pages modified
	DX:DI = start address of range to check
	CX = length of range in paragraphs
Return: CF clear
	CX = status
	    0000h none of the indicated pages is dirty
		DI destroyed
	    1000h one or more pages is dirty
		DI = low word of first dirty page's linear addr

(Table 03556)
Values for calling QEMM QPI function 1302h:
	AX = 1302h ???
	BL = ???
	BH = ???
	CX = ???
	SI = offset of ???
	DI = offset of ???
	???
Return: CF clear
	???
Note:	disables certain interrupts at the two 8259 PICs during
	  execution; also modifies CRT controller during
	  execution under certain circumstances

(Table 03557)
Values for calling QEMM QPI function 1303h:
	AX = 1303h initialize EGA graphics virtualization
	BX = number of pages (less 1) of EMS to allocate
Return: CF clear if successful
	    DX = EMS handle
	CF set on error

(Table 03558)
Values for calling QEMM QPI function 1304h:
	AX = 1304h shutdown EGA graphics virtualization
	DX = EMS handle being used for virtualization
Return: CF clear

(Table 03559)
Values for calling QEMM QPI function 1305h:
	AX = 1305h select portion of EGA graphics to virtualize???
	(related to graphics virtualization, changes memory mappings)
	CX = start offset within A000h segment of virtualized mem???
Return: CF clear
Note:	disables certain interrupts at the two 8259 PICs during
	  execution (see #03566) and runs inside a QEMM
	  critical section

(Table 03560)
Values for calling QEMM QPI function 1306h:
	AX = 1306h set DESQview critical section counter address
	ES:BX -> WORD DESQview critical section counter or 0000h:0000h
Return: CF clear
Note:	also sets a pointer in the low-memory part of QEMM to
	  the current value of INT 15 if ES:BX not 0000h:0000h

(Table 03561)
Values for calling QEMM QPI function 1307h:
	AX = 1307h ??? (changes memory mappings for entire A000h segment)
Return: CF clear
Note:	disables certain interrupts at the two 8259 PICs during
	  execution (see #03566) and runs inside a QEMM
	  critical section

(Table 03562)
Values for calling QEMM QPI function 1308h:
	AX = 1308h start/reset CRT controller I/O trapping
	BL = subfunction
	    00h restore CRTC I/O port trapping to previous state
	    else start trapping all accesses to I/O ports 03B0-03DF
Return: CF clear
Note:	if called more than once in a row with BL nonzero, the
	  original state of the I/O port trapping will be lost

(Table 03563)
Values for calling QEMM QPI function 1309h:
	AX = 1309h Hercules mode-change support
	ES:BX -> new address for Hercules mode-change callback
Return: CF clear
Note:	the callback function is called whenever the CRTC mode
	  register is written, with AL set to the value written

(Table 03564)
Values for calling QEMM QPI function 130Ah:
	AX = 130Ah virtualize EGA/VGA DAC registers (I/O ports 03C8h/03C9h)
	CX:DX -> DAC register virtualization buffer (see #03647)
		or 0000h:0000h to disable
Return: CF clear

(Table 03565)
Values for calling QEMM QPI function 130Bh:
	AX = 130Bh ???
	BL = ??? (??? or 00h)
Return: CF clear
	???
Note:	calls AX=130Eh in some cases

(Table 03566)
Values for calling QEMM QPI function 130Ch:
	AX = 130Ch set interrupts to mask
	BX = interrupts to mask out during AX=1302h,AX=1307h,AX=1308h,
	      AX=130Dh,AX=1310h (BL = master PIC, BH = slave PIC)
Return: CF clear

(Table 03567)
Values for calling QEMM QPI function 130Dh:
	AX = 130Dh map EGA memory at A0000h
	???
Return: CF clear
Note:	disables certain interrupts at the two 8259 PICs during execution
	  (see #03566) and runs inside a QEMM critical section
	calls AX=1307h (see #03561)

(Table 03568)
Values for calling QEMM QPI function 130Eh:
	AX = 130Eh ??? (modifies CRT controller setup)
	???
Return: CF clear

(Table 03569)
Values for calling QEMM QPI function 130Fh:
	AX = 130Fh reset ???
Return: CF clear

(Table 03570)
Values for calling QEMM QPI function 1310h:
	AX = 1310h copy modified pages to physical video RAM???
	???
Return: CF clear
Note:	disables certain interrupts at the two 8259 PICs during execution
	  (see #03566) and runs inside a QEMM critical section
	also calls AX=130Dh (see #03567)

(Table 03571)
Values for calling QEMM QPI function 1311h:
	AX = 1311h set ???
	BL = zero/nonzero???
Return: CF clear
Note:	certain operations will be performed with interrupts
	  (as set by AX=130Ch) enabled rather than disabled if
	  called with BL nonzero

(Table 03572)
Values for calling QEMM QPI function 1312h:
	AX = 1312h (v6.02) NOP???
Note:	called by DV 2.42, but appears to be a NOP in QEMM 6.02

(Table 03573)
Values for calling QEMM QPI function 1400h:
	AX = 1400h initialize DESQview "protection level" support
	ES:DI -> protection level configuration (at least 24 bytes)
		(see #03641)
	BL = highest ??? to return (one less than number of words)
Return: CF clear
	AX = ??? (4204h for v6.00)
Note:	QEMM also sets the protected mode INT 02 and INT 06
	  vectors to alternate handlers in certain cases

(Table 03574)
Values for calling QEMM QPI function 1401h:
	AX = 1401h turn off DESQview protection level support
		Return: CF clear
			???
		Notes:	clears the DV critical-section flag address set with
			  function 1306h
			QEMM also sets the protected mode INT 02 and INT 06
			  vectors to the default handlers if they had been
			  revectored by function 1400h

(Table 03575)
Values for calling QEMM QPI function 1402h:
	AX = 1402h set protection level???
		BL = protection level???
		    00h NOP
		    01h ???
		    02h ???
		    other (03h) ???
		ES:DI -> ???
		Return: CF clear
			???
		Format of Data structure:
		Offset	Size	Description
		 00h	WORD	segment of ??? (X, word at X:0136h set to X)
		 02h	WORD	segment of ??? (word at X:0124h set to this)
		 04h	WORD	number of paragraphs of ???
		 06h  3 WORDs	??? (copied to X:0000h)
		 0Ch	WORD	???

(Table 03576)
Values for calling QEMM QPI function 1403h:
	AX = 1403h add ??? to end of list and ??? (execute func 1406h)
		ES:DI -> ??? structure added to end of ??? list
			(at least 31 bytes, DWORD at offset 06h used for
			 storing pointer to next struc, WORD at offset 00h
			 seems to be a key or index)
		Return: CF clear

(Table 03577)
Values for calling QEMM QPI function 1404h:
	AX = 1404h NOP
		Return: CF clear

(Table 03578)
Values for calling QEMM QPI function 1405h:
	AX = 1405h remove ??? from ??? list
		BX = key???
		Return: CF clear

(Table 03579)
Values for calling QEMM QPI function 1406h:
	AX = 1406h ???
		???
		Return: CF clear
			???
		Notes:	this function is a NOP unless protection level 2 or 3
			  is active
			when not a NOP, one of the actions is to write-protect
			  certain memory pages

(Table 03580)
Values for calling QEMM QPI function 1407h:
	AX = 1407h ???
		???
		Return: CF clear
			???
		Note:	same as function 1406h, but only does anything if
			  protection level 2 is active

(Table 03581)
Values for calling QEMM QPI function 1408h:
	AX = 1408h unprotect???
		???
		Return: CF clear
			???

(Table 03582)
Values for calling QEMM QPI function 1409h:
	AX = 1409h abort program causing protection violation???
		???
		Return: CF clear
			???

(Table 03583)
Values for calling QEMM QPI function 140Ah:
	AX = 140Ah set ???
		BX = index of ???
		Return: CF clear
			???
		Notes:	no range checking is performed on BX
			this function is a NOP unless protection level 3 active

(Table 03584)
Values for calling QEMM QPI function 140Bh:
	AX = 140Bh get ???
		BX = index of ???
		SI = 0000h
		Return: CF clear
			SI = segment of 256-byte buffer??? or 0000h
		Notes:	no range checking is performed on BX
			this function is a NOP unless protection level 3 active

(Table 03585)
Values for calling QEMM QPI function 15h:
	AH = 15h set timer channel 0 virtualization buffer
		ES:BX -> WORD buffer for timer channel 0 divisor
			0000h:0000h to disable virtualization
		Return: CF clear

(Table 03586)
Values for calling QEMM v5.00+ QPI function 1600h:
	AX = 1600h get memory access status
		ES:DI -> 256-byte buffer
		Return: ES:DI buffer filled
		Note:	each byte of the buffer indicates the status of a 4K
			  page (bit 0 set if read, bit 1 set if written)

(Table 03587)
Values for calling QEMM v5.00+ QPI function 1601h:
	AX = 1601h set memory access status
		ES:DI -> 256-byte buffer containing access statuses (see #03586)

(Table 03588)
Values for calling QEMM v5.00+ QPI function 17h:
	AH = 17h get memory usage statistics
		ES:DI -> 81-byte buffer for memory statistics (see #03645)
		Return: CF clear

(Table 03589)
Values for calling QEMM v5.11+ QPI function 18h:
	AH = 18h check whether conventional memory mapped into address range
		ES:BX = starting address
		CX = number of 4K pages
		Return: CF clear
			AL = 00h one or more pages is remapped
			     01h all pages in range are conventional memory
				(physical address == virtual address)

(Table 03590)
Values for calling QEMM v5.11+ QPI function 19h:
	AH = 19h NOP
		Return: CF set

(Table 03591)
Values for calling QEMM v5.11+ "QPI_UntrappedIORead" function:
	AX = 1A00h get byte from I/O port
	DX = port number
Return: CF clear
	BL = port value
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03592)
Values for calling QEMM v5.11+ "QPI_UntrappedIOWrite" function:
	AX = 1A01h send byte to I/O port
	BL = value to send
	DX = port number
Return: CF clear
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03593)
Values for calling QEMM v5.11+ "QPI_UntrappedIOReadIndexed" function:
	AX = 1A02h
	BH = index value to send
	DX = base port number
Return: CF clear
	BL = value read from I/O port (DX+1)
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03594)
Values for calling QEMM v5.11+ "QPI_UntrappedIOWriteIndexed" function:
	AX = 1A03h send bytes to two consecutive I/O ports
	BH = value for first I/O port (DX)
	BL = value for second I/O port (DX+1)
	DX = base port number
Return: CF clear
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03595)
Values for calling QEMM v7.03+ "QPI_UntrappedIO" function:
	AX = 1A04h
	BX = value to write to port
	CX = direction and size
	    bit 2: output instead of input
	    bit 3: word instead of byte
	DX = I/O port to be accessed
Return: CF clear
	BX = value read (if CX indicates read)
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03596)
Values for calling QEMM v7.03+ function 1A05h
	AX = 1A05h
	???
Return: ???

(Table 03597)
Values for calling QEMM v7.03+ "QPI_GetIOCallback" function:
	AX = 1A06h
Return: CF clear
	ES:DI -> current I/O callback function (see #03599)
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03598)
Values for calling QEMM v7.03+ "QPI_SetIOCallback" function:
	AX = 1A07h
	ES:DI -> new I/O callback function (see #03599)
Return: CF clear
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03599)
Values QEMM v7.03+ I/O callback function is called with:
	AL/AX = data to/from trapped port
	CL = I/O direction (00h = IN instruction, else OUT instruction)
	DX = I/O port address
Return: CF clear if port handled by callback function
	CF set if not handled
	all other registers returned to application executing the IN or OUT
	  instruction (allowing arbitrary changes to port address, data value,
	  etc.)
SeeAlso: #03597,#03598

(Table 03600)
Values for calling QEMM v7.03+ "QPI_GetPortTrap" function:
	AX = 1A08h
	DX = I/O port number
Return: CF clear
	BL = trapping state (00h not being trapped, 01h trap installed)
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03601)
Values for calling QEMM v7.03+ "QPI_SetPortTrap" function:
	AX = 1A09h
	DX = I/O port number
Return: CF clear
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03602)
Values for calling QEMM v7.03+ "QPI_ClearPortTrap" function:
	AX = 1A0Ah
	DX = I/O port number
Return: CF clear
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03603)
Values for calling QEMM v5.11+ QPI function 1B00h:
	AX = 1B00h get EMM Import Structure address
	ES:DI -> buffer for EMM import data structure (see #03643)
Return: CF set on error
	CF clear if successful
SeeAlso: INT 21/AX=4402h/SF=01h

(Table 03604)
Values for calling QEMM v5.11+ QPI function 1B01h:
	AX = 1B01h disable V86 mode
Return: CF set on error
	    (i.e. no Global EMM Import rec. allocated)
	CF clear if successful
Note:	shuts down EMS and initializes Global EMM Import record; this function
	  is invoked from the callback supplied by INT 2F/AX=1605h

(Table 03605)
Values for calling QEMM v5.11+ QPI function 1B02h:
	AX = 1B02h enable V86 mode
Return: CF set on error
	CF clear if successful
Note:	restarts EMS and frees Global EMM Import record; this function is
	  invoked from the callback supplied by INT 2F/AX=1605h

(Table 03606)
Values for calling QEMM v5.11+ QPI function 1B03h:
	AX = 1B03h MS Windows initializing
	CX = segment from which Windows init broadcast made???
	DX = Windows startup flags
	DI = Windows version number (major in upper byte)
Return: CF clear if successful
	    DS:SI -> V86 mode enable/disable callback
		  (see #02634 at INT 2F/AX=1605h)
	    ES:BX -> startup info structure (see #02631 at INT 2F/AX=1605h)
	CF set on error (unable to start Windows)
SeeAlso: INT 2F/AX=1605h

(Table 03607)
Values for calling QEMM v5.11+ QPI function 1B04h:
	AX = 1B04h MS Windows terminating
Return: CF clear

(Table 03608)
Values for calling QEMM v5.11+ QPI function 1B05h:
	AX = 1B05h determine whether program is driver
	DS:DX -> ASCIZ filename
Return: CF clear
	AL = status
	    01h if string ends in ".DRV"
	    FFh if string ends in "GDI.EXE"
	    00h otherwise
Note:	when MS Windows 3.0 standard mode starts, QEMM patches all drivers
	  until GDI.EXE is loaded

(Table 03609)
Values for calling QEMM v5.11+ QPI function 1B06h:
	AX = 1B06h patch protected-mode check in Windows driver
	CX = length of data pointed at by DS:DX
	DS:DX -> buffer containing Windows driver code
Return: CF clear
Note:	patches all SMSW x/TEST x,1 instruction sequences into MOV x,CS/VERW x
	  sequences, which has the effect that the protected-mode check will
	  only indicate protected mode in native protected mode and not in V86
	  mode

(Table 03610)
Values for calling QEMM v5.11+ QPI function 1B07h:
	AX = 1B07h
BUG: QEMM 6.00-7.01 accept this and branch randomly

(Table 03611)
Values for calling QEMM v5.11+ QPI function 1Bxxh:
	AX = 1B08h to 1BFFh
Return: CF set

(Table 03612)
Values for calling QEMM v5.11+ QPI function 1C00h:
	AX = 1C00h disable IRQ0-7 calldowns
Return: CF clear

(Table 03613)
Values for calling QEMM v5.11+ QPI function 1C01h:
	AX = 1C01h set V86-mode IRQ0-7 handlers
	ES:DI -> 8 DWORDs containing V86-mode handler addresses
Return: CF clear

(Table 03614)
Values for calling QEMM v5.11+ QPI function 1C02h:
	AX = 1C02h disable IRQ8-15 handlers
Return: CF clear

(Table 03615)
Values for calling QEMM v5.11+ QPI function 1C03h:
	AX = 1C03h set V86-mode IRQ8-15 handlers
	ES:DI -> 8 DWORDs containing V86-mode handler addresses
BUG:	although the jump table only contains four entries, QEMM 6.00 will
	  attempt to use it for any value of AL between 00h and 2Ah, thus
	  branching unpredictably for AL=04h-2Ah; QEMM v7.01 behaves
	  similarly for AL=04h-1Bh
Note:	when enabled, the appropriate IRQs are reflected back to the specified
	  handlers in virtual-86 mode after the CPU automatically invokes the
	  protected-mode handler inside QEMM

(Table 03616)
Values for calling QEMM v7.03+ "QPI_SimulateHWInt" function:
	AX = 1C04h
	BX = number of interrupt to simulate
Return: ???
Notes:	this function will allow proper simulation of a hardware interrupt
	  under DESQview and DESQview/X, where the correct interrupt handler
	  may be in a different process with a completely different address
	  space
	this function was officially documented with the release of QEMM v7.50

(Table 03617)
Values for calling QEMM v6.0x only QPI function 1D00h:
	AX = 1D00h switch to pre-Stealth interrupt vector table
Return: CF clear if supported (QEMM v6.x)
	CF set if not supported (QEMM v7+)
Notes:	also switches VGA Save table pointer (0040h:00A8h) and overwrites the
	  vectors currently assigned for use by the two interrupt controllers
	  (see INT 67/AX=DE0Ah) with the vectors for INT 08-0F and 70-77 (to
	  avoid crashing the system).
	functions 1Dxxh are not supported by QEMM v7.01, and always return CF
	  set

(Table 03618)
Values for calling QEMM v6.0x only QPI function 1D01h:
	AX = 1D01h restore user interrupt vector table
Return: CF clear if supported (QEMM v6.x)
	CF set if not supported (QEMM v7+)
Notes:	interrupts should be disabled around the AX=1D00h and AX=1D01h calls
	  because QEMM does not modify the memory maps to map in ROM, so
	  an interrupt could be disastrous
	clears any pending IRQ7 at end of function
	functions 1Dxxh are not supported by QEMM v7.01, and always return CF
	  set

(Table 03619)
Values for calling QEMM v6.00+ QPI function 1Dxxh:
	AX = 1D02h to 1DFFh
Return: CF set

(Table 03620)
Values for calling QEMM v6.00+ "QEMM_GET_INFO"/"QPI_GetInfo" function:
	AX = 1E00h get Stealth configuration
Return: CF clear
	BL = memory configuration flags (documented as "reserved") (see #03644)
	BH = (v7.00+) disk buffer flags
	    bit 0: DISKBUFFRAME buffer instead of DISKBUF buffer
	    bit 1: buffer has already been used
	CL = stealth type (00h none, 46h Frame, 4Dh Map, 50h Protect)
	CH = suspend/resume interrupt (00h none)
	DL = (v7.00+) size of QEMM disk buffer in KB (00h none)
	DH = reserved (always 00h for v6.00)
	SI = reserved (always 0000h for v6.00)
	DI = reserved (always 0000h for v6.00)
Note:	this function is officially documented

(Table 03621)
Values for calling QEMM v6.00+ "QPI_GetStealthCount" function:
	AX = 1E01h get number of Stealth'ed ROMs
Return: CF clear
	BX = number of Stealth'ed ROMs
Note:	this function is officially documented

(Table 03622)
Values for calling QEMM v6.00+ "QPI_GetStealthList" function:
	AX = 1E02h
	ES:DI -> buffer for Stealth ROM info (see #03646)
Return: CF clear
	BX = number of Stealth'ed ROMs
	ES:DI buffer filled
Note:	this function is officially documented

(Table 03623)
Values for unimplemented Stealth information functions:
	AX = 1E03h to 1EFFh
Return: CF set


(Table 03624)
Values for calling QEMM v6.00+ "QEMM_GET_PTE"/"QPI_GetPTE" function:
	AX = 1F00h get page table entry
	CX = page number (0000h-010Fh)
Return: CF clear
	EDX = page table entry
Note:	this function is officially documented

(Table 03625)
Values for calling QEMM v6.00+ "QEMM_SET_PTE"/"QPI_SetPTE" function:
	AX = 1F01h set page table entry
	CX = page number (0000h-010Fh)
	EDX = new page table entry
Return: CF clear
Note:	this function is officially documented
SeeAlso: #03549

(Table 03626)
Values for calling QEMM v6.00+ QPI function 1Fxxh:
	AX = 1F02h to 1FFFh
Return: CF set

(Table 03627)
Values for calling QEMM v6.00+ "QEMM_GET_VHI_INFO"/"QPI_GetVHIInfo" function:
	AX = 2000h "QEMM_GET_VHI_INFO" get VirtualHDIRQ information
Return: CF clear
	BL = flags
	    bit 7: VirtualHDIRQ setting respected
		  (set if Stealth active)
	    bits 6-1 reserved
	    bit 0: VirtualHDIRQ currently enabled
		(INT 15/AH=90h suppressed when enabled)
Note:	this function is officially documented
SeeAlso: #03628

(Table 03628)
Values for calling QEMM v6.00+ "QEMM_SET_VHI_INFO"/"QPI_SetVHIInfo" function:
	AX = 2001h set VirtualHDIRQ state
	BL bit 0 = new VirtualHDIRQ state
Return: CF clear
	BL = old VHI setting (bits 0 and 7, see #03627)
Note:	this function is officially documented
SeeAlso: #03627

(Table 03629)
Values for calling QEMM v6.00+ QPI function 20xxh:
	AX = 2002h to 20FFh
Return: CF set

(Table 03630)
Values for calling QEMM v6.00+ "QEMM_COPY_STEALTH_ROMS"/"QPI_CopyStealthRoms":
	AX = 2100h copy data from Stealthed address space
	DS:SI -> start address of hidden memory to copy
	ES:DI -> buffer for copied data
	ECX = number of bytes to copy
Return: CF clear if successful
	CF set on error (no Stealth or DS:SI < C000h:0000h or DS:SI + ECX > 1M)
Note:	this function was officially documented with the release of QEMM 7.50

(Table 03631)
Values for calling QEMM v6.00+ QPI function 21xxh:
	AX = 2101h to 21FFh
Return: CF set

(Table 03632)
Values for calling QEMM v6.03+ QPI function 2200h:
	AX = 2200h DESQview/X support -- get ???
Return: CF clear
	ES:DI -> ???

(Table 03633)
Values for calling QEMM v6.03+ QPI function 2201h:
	AX = 2201h DESQview/X support -- set ???
	ES:DI -> ??? or 0000h:0000h
Return: CF clear if successful
	CF set on error

(Table 03634)
Values for calling QEMM v6.04+ QPI function 2300h:
	AX = 2300h get ???
	BX = which ??? to get (must be 0000h for v6.04)
Return: CF clear if successful
	    ES:DI -> ???
	CF set on error

(Table 03635)
Values for calling QEMM v6.04+ QPI function 2301h:
	AX = 2301h set ???
	BX = which ??? to set (must be 0000h for v6.04)
	ES:DI -> ???
Return: CF clear if successful
	CF set on error

(Table 03636)
Values for calling QEMM v6.04+ QPI function 2302h:
	AX = 2302h clear specified ???
	BX = which ??? to clear (must be 0000h for v6.04)
Return: CF clear if successful
	CF set on error

(Table 03637)
Values for calling QEMM v6.04+ QPI function 23FFh:
	AX = 23FFh clear all ???
Return: CF clear if successful
	CF set on error

(Table 03638)
Values for calling QEMM v6.04+ QPI function 23xxh:
	AX = 2303h to 23FEh
Return: CF set

(Table 03639)
Values for calling QEMM v7.01+ QPI function 24h:
	AH = 24h ST-DBL support
	AL = subfunction
	    00h set ???
		EDX -> information table (EDX = segment SHL 16 + offset)
	    01h ???
Return: CF clear if successful
	CF set on error

(Table 03640)
Values for calling QEMM unimplemented QPI functions:
	AH = 25h to FFh
Return: CF set

Format of QEMM protection level configuration:
Offset	Size	Description	(Table 03641)
 00h	WORD	segment of 128 breakpoint (INT 3) instructions for use in
		  DESQview protection level 3 interrupt vector checking, or
		  0000h to disable; in pl3, INTs 00-7F are pointed at these
		  breakpoints
 02h	DWORD	-> array of actual interrupt handler addresses for INT 00-7F
		  when interrupt vectors are pointed at protection level 3
		  breakpoints
 06h	DWORD	far pointer to ??? region list (see #03642)
 0Ah	DWORD	far pointer to buffer for returned ???
 0Eh	DWORD	seg:ofs of function to call on protection violation???
 12h	WORD	segment of ???
 14h	DWORD	far pointer to DWORD containing number of paragraphs of
		  ??? for segment at offset 12h
	???

Format of protection level Region List:
Offset	Size	Description	(Table 03642)
 00h	WORD	number of PAIRS of pointers to follow
 02h 2N DWORDs	start/end seg:ofs addresses of ??? regions
Note:	QEMM converts the segmented addresses into linear addresses in place

Format of EMM Import structure:
Offset	Size	Description	(Table 03643)
 00h	DWORD	physical address of EMM import struct
 04h	BYTE	major version (v6.00 sets to 01h)
 05h	BYTE	minor version (v6.00 sets to 00h/0Bh)
SeeAlso: INT 21/AX=4402h/SF=01h

Bitfields for memory configuration flags:
Bit(s)	Description	(Table 03644)
 0	conventional memory sorted
 1	conventional memory filled
 2	???
 3	???
 4	expanded memory is in use
 5	???

Format of QEMM 6.0 memory statistics:
Offset	Size	Description	(Table 03645)
 00h	BYTE	01h if Shadow RAM found, 00h otherwise
 01h	DWORD	initial conventional memory in bytes
 05h	DWORD	initial extended memory in bytes
 09h	DWORD	initial expanded memory in bytes
 0Dh	DWORD	initial "top" or "shadow" memory in bytes
 11h	DWORD	Unavailable conventional memory in bytes
 15h	DWORD	Unavailable extended memory in bytes
 19h	DWORD	Unavailable expanded memory in bytes
 1Dh	DWORD	Unavailable "top" or "shadow" memory in bytes
		Add to offset 49h for Total unavailable top/shadow.
 21h	DWORD	QEMM code size in bytes
 25h	DWORD	QEMM data size in bytes
 29h	DWORD	bytes used for TASKS=
 2Dh	DWORD	DMA buffer size
 31h	DWORD	bytes used for MAPS=
 35h	DWORD	bytes of high RAM
 39h	DWORD	bytes used by mapped ROMs
 3Dh	DWORD	bytes of conventional memory provided by QEMM
 41h	DWORD	bytes of extended memory NOT converted by QEMM (EXT=xxx)
 45h	DWORD	bytes of EMS/XMS pool memory provided by QEMM
 49h	DWORD	Unavailable "top" or "shadow" memory in bytes
		Add to offset 1Dh for Total unavailable top/shadow.
 4Dh	DWORD	conventional memory overhead in bytes
		(set to 0 by QEMM.COM prior to call)

Format of Stealth ROM info [array]:
Offset	Size	Description	(Table 03646)
 00h	WORD	starting segment of ROM
 02h	WORD	length of ROM in paragraphs

Format of QEMM EGA/VGA DAC register virtualization buffer:
Offset	Size	Description	(Table 03647)
 00h	BYTE	(temp) current color register number
 01h	BYTE	(temp) number of bytes written so far for current color reg
 02h 768 BYTEs	three bytes per color register

Top
6740 - INT 67 - LIM EMS - GET MANAGER STATUS
INT 67 - LIM EMS - GET MANAGER STATUS
	AH = 40h
Return: AH = status (00h,80h,81h,84h) (see #03648)
Note:	this call can be used only after establishing that the EMS driver is in
	  fact present
SeeAlso: AH=3Fh,AX=FFA5h,@xxxxh:xxxxh"PMM"

(Table 03648)
Values for EMS function status:
 00h	successful
 80h	internal error
 81h	hardware malfunction
 82h	busy -- retry later
 83h	invalid handle
 84h	undefined function requested by application
 85h	no more handles available
 86h	error in save or restore of mapping context
 87h	insufficient memory pages in system
 88h	insufficient memory pages available
 89h	zero pages requested
 8Ah	invalid logical page number encountered
 8Bh	invalid physical page number encountered
 8Ch	page-mapping hardware state save area is full
 8Dh	save of mapping context failed
 8Eh	restore of mapping context failed
 8Fh	undefined subfunction
 90h	undefined attribute type
 91h	feature not supported
 92h	successful, but a portion of the source region has been overwritten
 93h	length of source or destination region exceeds length of region
	  allocated to either source or destination handle
 94h	conventional and expanded memory regions overlap
 95h	offset within logical page exceeds size of logical page
 96h	region length exceeds 1M
 97h	source and destination EMS regions have same handle and overlap
 98h	memory source or destination type undefined
 9Ah	specified alternate map register or DMA register set not supported
 9Bh	all alternate map register or DMA register sets currently allocated
 9Ch	alternate map register or DMA register sets not supported
 9Dh	undefined or unallocated alternate map register or DMA register set
 9Eh	dedicated DMA channels not supported
 9Fh	specified dedicated DMA channel not supported
 A0h	no such handle name
 A1h	a handle found had no name, or duplicate handle name
 A2h	attempted to wrap around 1M conventional address space
 A3h	source array corrupted
 A4h	operating system denied access

Top
6741 - INT 67 - LIM EMS - GET PAGE FRAME SEGMENT
INT 67 - LIM EMS - GET PAGE FRAME SEGMENT
	AH = 41h
Return: AH = status (see also AH=40h)
	    00h function successful
		BX = segment of page frame
SeeAlso: AH=58h,AH=68h

Top
6742 - INT 67 - LIM EMS - GET NUMBER OF PAGES
INT 67 - LIM EMS - GET NUMBER OF PAGES
	AH = 42h
Return: AH = status (see also AH=40h)
	    00h function successful
		BX = number of unallocated pages
		DX = total number of pages
BUG:	DOS 6.0 EMM386.EXE causes a system lock-up or reboot if in AUTO mode
	  when this call is made; use AH=46h to ensure that EMM386 is ON
	  before making this call
SeeAlso: INT 2F/AX=2702h

Top
6743 - INT 67 - LIM EMS - GET HANDLE AND ALLOCATE MEMORY
INT 67 - LIM EMS - GET HANDLE AND ALLOCATE MEMORY
	AH = 43h
	BX = number of logical pages to allocate
Return: AH = status (00h,80h,81h,84h,85h,87h,88h,89h) (see #03648)
	DX = handle if AH=00h
SeeAlso: AH=45h

Top
674321 - INT 67 - Q87 v4+ - INSTALLATION CHECK
INT 67 - Q87 v4+ - INSTALLATION CHECK
	AX = 4321h
	EAX = 87654321h (entire EAX value required)
Return: EAX = 12345678h if Q87 is installed
Note:	this call requires that VCPI services be available; if they are not,
	  this call will not be recognized
BUG:	v4.00-v4.03 will hang on most machines when run under bare DOS with
	  no memory manager, because neither Q87 nor UNLOAD87 checks whether
	  there is a valid INT 67 handler before performing an installation
	  check via INT 67
SeeAlso: AX=2833h,INT 21/AX=4321h

Top
6744 - INT 67 - LIM EMS - MAP MEMORY
INT 67 - LIM EMS - MAP MEMORY
	AH = 44h
	AL = physical page number (0-3)
	BX = logical page number
	    or FFFFh to unmap (QEMM)
	DX = handle
Return: AH = status (00h,80h,81h,83h,84h,8Ah,8Bh) (see #03648)
SeeAlso: AH=69h

Top
6745 - INT 67 - LIM EMS - RELEASE HANDLE AND MEMORY
INT 67 - LIM EMS - RELEASE HANDLE AND MEMORY
	AH = 45h
	DX = EMM handle
Return: AH = status (00h,80h,81h,83h,84h,86h) (see #03648)
SeeAlso: AH=43h

Top
6746 - INT 67 - LIM EMS - GET EMM VERSION
INT 67 - LIM EMS - GET EMM VERSION
	AH = 46h
Return: AH = status (00h,80h,81h,84h) (see #03648)
	AL = EMM version number if AH=00h

Top
6747 - INT 67 - LIM EMS - SAVE MAPPING CONTEXT
INT 67 - LIM EMS - SAVE MAPPING CONTEXT
	AH = 47h
	DX = handle
Return: AH = status (00h,80h,81h,83h,84h,8Ch-8Eh) (see #03648)
SeeAlso: AH=48h

Top
6748 - INT 67 - LIM EMS - RESTORE MAPPING CONTEXT
INT 67 - LIM EMS - RESTORE MAPPING CONTEXT
	AH = 48h
	DX = handle
Return: AH = status (00h,80h,81h,83h,84h,8Eh) (see #03648)
SeeAlso: AH=47h

Top
6749 - INT 67 - LIM EMS - reserved - GET I/O PORT ADDRESSES
INT 67 - LIM EMS - reserved - GET I/O PORT ADDRESSES
	AH = 49h
Note:	defined in EMS 3.0, but undocumented in EMS 3.2

Top
674A - INT 67 - LIM EMS - reserved - GET TRANSLATION ARRAY
INT 67 - LIM EMS - reserved - GET TRANSLATION ARRAY
	AH = 4Ah
Note:	defined in EMS 3.0, but undocumented in EMS 3.2

Top
674B - INT 67 - LIM EMS - GET NUMBER OF EMM HANDLES
INT 67 - LIM EMS - GET NUMBER OF EMM HANDLES
	AH = 4Bh
Return: AH = status (00h,80h,81h,83h,84h) (see #03648)
	BX = number of EMM handles if AH=00h

Top
674C - INT 67 - LIM EMS - GET PAGES OWNED BY HANDLE
INT 67 - LIM EMS - GET PAGES OWNED BY HANDLE
	AH = 4Ch
	DX = EMM handle
Return: AH = status (see #02785)
	BX = number of logical pages if AH=00h
SeeAlso: AH=4Dh

Top
674D - INT 67 - LIM EMS - GET PAGES FOR ALL HANDLES
INT 67 - LIM EMS - GET PAGES FOR ALL HANDLES
	AH = 4Dh
	ES:DI -> array to receive information
Return: AH = status (00h,80h,81h,84h) (see #03648)
	---if AH=00h---
	BX = number of active EMM handles
	array filled with 2-word entries, consisting of a handle and the
	  number of pages allocated to that handle
SeeAlso: AH=4Ch

Top
674E - INT 67 - LIM EMS - GET OR SET PAGE MAP
INT 67 - LIM EMS - GET OR SET PAGE MAP
	AH = 4Eh
	AL = subfunction
	    00h get mapping registers
	    01h set mapping registers
	    02h get and set mapping registers at once
	    03h get size of page-mapping array
	DS:SI -> array holding information (AL=01h/02h)
	ES:DI -> array to receive information (AL=00h/02h)
Return: AH = status (00h,80h,81h,84h,8Fh,A3h) (see also AH=40h)
	    00h successful
		AL = bytes in page-mapping array (AL=03h only)
		array pointed to by ES:DI receives mapping info (AL=00h/02h)
Notes:	this function was designed to be used by multitasking operating systems
	  and should not ordinarily be used by appplication software.
	MD386 returns the size of the page-mapping array in AX instead of AL
SeeAlso: AH=4Fh

Top
674F - INT 67 - LIM EMS 4.0 - GET/SET PARTIAL PAGE MAP
INT 67 - LIM EMS 4.0 - GET/SET PARTIAL PAGE MAP
	AH = 4Fh
	AL = subfunction
	    00h get partial page map
	       DS:SI -> structure containing list of segments whose mapping
			contexts are to be saved
	       ES:DI -> array to receive page map
	    01h set partial page map
	       DS:SI -> structure containing saved partial page map
	    02h get size of partial page map
	       BX = number of mappable segments in the partial map to be saved
Return: AH = status (00h,80h,81h,84h,8Bh,8Fh,A3h) (see also AH=40h)
	    8Bh one of the specified segments is not mappable
	    A3h contents of partial page map corrupted or count of mappable
		segments exceeds total number of mappable segments in system
	AL = size of partial page map for subfunction 02h
SeeAlso: AH=4Eh

Top
6750 - INT 67 - LIM EMS 4.0 - MAP/UNMAP MULTIPLE HANDLE PAGES
INT 67 - LIM EMS 4.0 - MAP/UNMAP MULTIPLE HANDLE PAGES
	AH = 50h
	AL = subfunction
	    00h use physical page numbers
	    01h use segment addresses
	DX = handle
	CX = number of entries in array
	DS:SI -> mapping array (see #03649)
Return: AH = status (00h,80h,81h,83h,84h,8Ah,8Bh,8Fh) (see #03648)
SeeAlso: AH=40h

Format of EMS mapping array entry:
Offset	Size	Description	(Table 03649)
 00h	WORD	logical page number or FFFFh to unmap physical page
 02h	WORD	physical page number or segment address

Top
6751 - INT 67 - LIM EMS 4.0 - REALLOCATE PAGES
INT 67 - LIM EMS 4.0 - REALLOCATE PAGES
	AH = 51h
	DX = handle
	BX = number of pages to be allocated to handle
Return: AH = status (00h,80h,81h,83h,84h,87h,88h) (see #03650)
	BX = actual number of pages allocated to handle

(Table 03650)
Values for EMS function status:
 00h	successful
 80h	internal error
 81h	hardware malfunction
 83h	invalid handle
 84h	undefined function requested
 87h	more pages requested than present in system
 88h	more pages requested than currently available
 8Ah	invalid logical page number encountered
 8Bh	invalid physical page number encountered
 8Fh	undefined subfunction
 90h	undefined attribute type
 91h	feature not supported
 A0h	no such handle name
 A1h	duplicate handle name

Top
6752 - INT 67 - LIM EMS 4.0 - GET/SET HANDLE ATTRIBUTES
INT 67 - LIM EMS 4.0 - GET/SET HANDLE ATTRIBUTES
	AH = 52h
	AL = subfunction
	    00h get handle attributes
		Return: AL = attribute
			    00h handle is volatile
			    01h handle is nonvolatile
	    01h set handle attributes
		BL = new attribute
		   00h handle is volatile
		   01h handle is nonvolatile
	    02h get attribute capability
		Return: AL = attribute capability
			    00h only volatile handles supported
			    01h both volatile and non-volatile supported
	DX = handle
Return: AH = status (00h,80h,81h,83h,84h,8Fh-91h) (see #03648)
SeeAlso: AH=53h

Top
6753 - INT 67 - LIM EMS 4.0 - GET/SET HANDLE NAME
INT 67 - LIM EMS 4.0 - GET/SET HANDLE NAME
	AH = 53h
	AL = subfunction
	    00h get handle name
	       ES:DI -> 8-byte buffer for handle name
	    01h set handle name
	       DS:SI -> 8-byte handle name
	DX = handle
Return: AH = status (00h,80h,81h,83h,84h,8Fh,A1h) (see #03648)
SeeAlso: AH=52h

Top
6754 - INT 67 - LIM EMS 4.0 - GET HANDLE DIRECTORY
INT 67 - LIM EMS 4.0 - GET HANDLE DIRECTORY
	AH = 54h
	AL = subfunction
	    00h get handle directory
	       ES:DI -> buffer for handle directory (see #03651)
	    01h search for named handle
	       DS:SI -> 8-byte name
	    02h get total number of handles
Return: AL = number of entries in handle directory (subfunction 00h)
	DX = value of named handle (subfunction 01h)
	BX = total number of handles (subfunction 02h)
	AH = status (00h,80h,81h,84h,8Fh,A0h,A1h) (see also #03650)
	    A1h a handle found had no name

Format of EMS handle directory entry:
Offset	Size	Description	(Table 03651)
 00h	WORD	handle
 02h  8 BYTEs	handle's name

Top
6755 - INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND JUMP
INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND JUMP
	AH = 55h
	AL = subfunction
	    00h physical page numbers provided by caller
	    01h segment addresses provided by caller
	DX = handle
	DS:SI -> structure containing map and jump address
Return: (at target address unless error)
	AH = status (00h,80h,81h,83h,84h,8Ah,8Bh,8Fh) (see #03648)
SeeAlso: AH=56h

Top
6756 - INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND CALL
INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND CALL
	AH = 56h
	AL = subfunction
	    00h physical page numbers provided by caller
		DX = handle
		DS:SI -> structure containing page map and call address
	    01h segment addresses provided by caller
		DX = handle
		DS:SI -> structure containing page map and call address
	    02h get page map stack space required
		Return: BX = stack space required
Return: (if successful, the target address is called.  Use a RETF to return
	 and restore mapping context)
	AH = status (00h,80h,81h,83h,84h,8Ah,8Bh,8Fh) (see #03648)
SeeAlso: AH=55h

Top
6756FF - INT 67 - RM386 v6.00 - ???
INT 67 - RM386 v6.00 - ???
	AX = 56FFh
	DS:SI -> ???
	???
Return: ???

Top
6757 - INT 67 - LIM EMS 4.0 - MOVE/EXCHANGE MEMORY REGION
INT 67 - LIM EMS 4.0 - MOVE/EXCHANGE MEMORY REGION
	AH = 57h
	AL = subfunction
	    00h move memory region
	    01h exchange memory region
	DS:SI -> structure describing source and destination (see #03653)
Return: AH = status (see #03652)
Note:	source and destination may overlap for a move, in which case the copy
	  direction is chosen such that the destination receives an intact copy
	  of the source region

(Table 03652)
Values for EMS function status:
 00h	successful
 80h	internal error
 81h	hardware failure
 83h	invalid handle
 84h	undefined function requested
 8Ah	invalid logical page number encountered
 8Fh	undefined subfunction
 92h	successful, but a portion of the source region has been overwritten
 93h	length of source or destination region exceeds length of region
	  allocated to either source or destination handle
 94h	conventional and expanded memory regions overlap
 95h	offset within logical page exceeds size of logical page
 96h	region length exceeds 1M
 97h	source and destination EMS regions have same handle and overlap
 98h	memory source or destination type undefined
 A2h	attempted to wrap around 1M conventional address space

Format of EMS copy data:
Offset	Size	Description	(Table 03653)
 00h	DWORD	region length in bytes
 04h	BYTE	source memory type
		00h conventional
		01h expanded
 05h	WORD	source handle (0000h if conventional memory)
 07h	WORD	source initial offset (within page if EMS, segment if convent)
 09h	WORD	source initial segment (conv mem) or logical page (EMS)
 0Bh	BYTE	destination memory type
		00h conventional
		01h expanded
 0Ch	WORD	destination handle
 0Eh	WORD	destination initial offset
 10h	WORD	destination initial segment or page

Top
6758 - INT 67 - LIM EMS 4.0 - GET MAPPABLE PHYSICAL ADDRESS ARRAY
INT 67 - LIM EMS 4.0 - GET MAPPABLE PHYSICAL ADDRESS ARRAY
	AH = 58h
	AL = subfunction
	    00h get mappable physical address array
		ES:DI -> buffer to be filled with array (see #03654)
	    01h get number of entries in m.p.a. array
Return: CX = number of entries in array
	AH = status (00h,80h,81h,84h,8Fh) (see #03652)
Note:	the returned array for subfunction 00h is filled in physical segment
	  address order

Format of EMS mappable physical address entry:
Offset	Size	Description	(Table 03654)
 00h	WORD	physical page segment
 02h	WORD	physical page number

Top
675857 - INT 67 U - NETROOM??? - ???
INT 67 U - NETROOM??? - ???
	AX = 5857h
	BX = function??? (0057h,0059h,0159h seen)
	???
Return: ???
Note:	BX=0059h appears to be analogous to AX=5800h and BX=0159h appears to
	  be analogous to AX=5801h; BX=0057h appears to indicate whether
	  AX=580xh or AX=5857h/BX=0x59h should be used
SeeAlso: AX=5BF0h

Top
6759 - INT 67 - LIM EMS 4.0 - GET EXPANDED MEMORY HARDWARE INFORMATION
INT 67 - LIM EMS 4.0 - GET EXPANDED MEMORY HARDWARE INFORMATION
	AH = 59h
	AL = subfunction
	    00h get hardware configuration array
		ES:DI -> buffer to be filled with array (see #03655)
	    01h get unallocated raw page count
		Return: BX = unallocated raw pages
			DX = total raw pages
Return: AH = status (see also AH=58h"EMS 4.0")
	    A4h access denied by operating system
Note:	subfunction 00h is for use by operating systems only, and can be
	  enabled or disabled at any time by the operating system

Format of EMS hardware configuration array:
Offset	Size	Description	(Table 03655)
 00h	WORD	size of raw EMM pages in paragraphs
 02h	WORD	number of alternate register sets
 04h	WORD	size of mapping-context save area in bytes
 06h	WORD	number of register sets assignable to DMA
 08h	WORD	DMA operation type
		0000h DMA with alternate register sets
		0001h only one DMA register set

Top
675A - INT 67 - LIM EMS 4.0 - ALLOCATE STANDARD/RAW PAGES
INT 67 - LIM EMS 4.0 - ALLOCATE STANDARD/RAW PAGES
	AH = 5Ah
	AL = subfunction
	    00h allocate standard pages
	    01h allocate raw pages
	BX = number of pages to allocate
Return: DX = handle
	AH = status (00h,80h,81h,84h,85h,87h,88h,8Fh) (see #03648)

Top
675B - INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET
INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET
	AH = 5Bh
	AL = subfunction
	    00h get alternate map register set
		Return: BL = current active alternate map register set number
			ES:DI -> map register context save area if BL=00h
	    01h set alternate map register set
		BL = new alternate map register set number
		ES:DI -> map register context save area if BL=0
	    02h get alternate map save array size
		Return: DX = array size in bytes
	    03h allocate alternate map register set
		Return: BL = number of map register set; 00h = not supported
	    04h deallocate alternate map register set
		BL = number of alternate map register set
Return: AH = status (00h,80h,81h,84h,8Fh,9Ah-9Dh,A3h,A4h) (see #03656)
Note:	this function is for use by operating systems only, and can be
	  enabled or disabled at any time by the operating system

(Table 03656)
Values for EMS function status:
 00h	successful
 80h	internal error
 81h	hardware malfunction
 84h	undefined function requested
 8Fh	undefined subfunction
 9Ah	specified alternate map register or DMA register set not supported
 9Bh	all alternate map register or DMA register sets currently allocated
 9Ch	alternate map register or DMA register sets not supported
 9Dh	undefined or unallocated alternate map register/DMA register set
 9Eh	dedicated DMA channels not supported
 9Fh	specified dedicated DMA channel not supported
 A3h	source array corrupted
 A4h	operating system denied access

Top
675B - INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET - DMA REGISTERS
INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET - DMA REGISTERS
	AH = 5Bh
	AL = subfunction
	    05h allocate DMA register set
		Return: BL = DMA register set number, 00h if not supported
	    06h enable DMA on alternate map register set
	       BL = DMA register set number
	       DL = DMA channel number
	    07h disable DMA on alternate map register set
	       BL = DMA register set number
	    08h deallocate DMA register set
	       BL = DMA register set number
Return: AH = status (00h,80h,81h,84h,8Fh,9Ah-9Fh,A3h,A4h) (see #03656)
Note:	this function is for use by operating systems only, and can be
	  enabled or disabled at any time by the operating system

Top
675BE0 - INT 67 - MICEMM v4D, RM386 - GET LINEAR ADDRESS OF MEMORY
INT 67 - MICEMM v4D, RM386 - GET LINEAR ADDRESS OF MEMORY
	AX = 5BE0h
	ES:BX -> memory for which to get linear address
Return: AH = 00h
	CX:DX = linear address of physical memory corresponding to ES:BX
Program: RAM-MAN/386 is the memory manager included with Helix's Netroom;
	  MICEMM is a memory manager for some Micronics motherboards
Note:	this has been superceded by AX=DE06h, which should be used instead
SeeAlso: AX=5BF0h,AX=5BF1h,AX=DE06h

Top
675BE1 - INT 67 - RM386 v6.00+ - GET MEMORY MANAGER SIZE
INT 67 - RM386 v6.00+ - GET MEMORY MANAGER SIZE
	AX = 5BE1h
Return: AH = 00h
	CX = code and data size in bytes
	DX:BX = physical address of RM386 code
	DI:SI = total size of RM386 area including handle tables
	BP = number of additional pages (high DOS, etc.)
SeeAlso: AX=5BE0h,AX=5BE2h

Top
675BE2 - INT 67 - RM386 v6.00+ - GET INTERRUPT VECTORS
INT 67 - RM386 v6.00+ - GET INTERRUPT VECTORS
	AX = 5BE2h
Return: DS:SI -> V86-mode table (see #03657)
	ES:BX -> ??? (undoc, middle of device driver interrupt routine!)
SeeAlso: AX=5BE0h,AX=5BE1h

Format of RM386 V86-mode table:
Offset	Size	Description	(Table 03657)
 00h	DWORD	original INT 13 vector
 04h	DWORD	original INT 15 vector
 08h	DWORD	original INT 19 vector
 0Ch	DWORD	original INT 21 vector
 10h	DWORD	original INT 4B vector
 14h	DWORD	original INT 67 vector

Top
675BF0 - INT 67 - MICEMM v4D, RM386 - INSTALLATION CHECK
INT 67 - MICEMM v4D, RM386 - INSTALLATION CHECK
	AX = 5BF0h
Return: AH = 00h if MICEMM or RM386 present
	    BX = code segment of driver
Program: MICEMM is the Micronics Expanded Memory Manager; RM386 is the memory
	  manager included in Helix Software's Netroom
SeeAlso: AH=3Fh,AX=5BE0h,AX=5BF1h

Top
675BF1 - INT 67 - MICEMM v4D, RM386 - GET ADDRESS MAP
INT 67 - MICEMM v4D, RM386 - GET ADDRESS MAP
	AX = 5BF1h
	ES:BX -> 256-byte (MICEMM) or 512-byte (RM386) buffer for memory types
Return: AH = 00h
	ES:BX buffer filled (see #03658)
Note:	each byte in the buffer specifies the type of a 4K page of memory
SeeAlso: AX=5BE0h,AX=5BF0h

(Table 03658)
Values for MICEMM/RM386 memory type:
 00h	unused (MICEMM), RAM/available (RM386)
 02h	DOS extension (XMS UMB)
 04h	shadowed ROM
 08h	mappable EMS
 10h	page frame
 20h	ROM
 40h	reserved (video memory, etc)
 80h	RAM (MICEMM), Windows UMB (RM386)

Top
675BF2 - INT 67 - RM386 - GET RM386 INTERNAL DATA
INT 67 - RM386 - GET RM386 INTERNAL DATA
	AX = 5BF2h
	CX = size of buffer
	DS:SI -> buffer for internal data
	(documentation says ES:BX -> buffer, SI = offset within RM386)
Return: buffer filled
Note:	the data returned by this function is release-specific
SeeAlso: AX=5BF0h

Top
675BF3 - INT 67 - RM386 - RETURN TO REAL MODE
INT 67 - RM386 - RETURN TO REAL MODE
	AX = 5BF3h
Return: nothing
Note:	use AX=5DE0h instead of this functin
SeeAlso: AX=5BF0h,AX=5DE0h

Top
675BF4 - INT 67 - RM386 v6.00 - GET RM386 GLOBAL FLAGS
INT 67 - RM386 v6.00 - GET RM386 GLOBAL FLAGS
	AX = 5BF4h
Return: AH = 00h
	BX = global flags 1 (see #03659)
	CX = global flags 2 (see #03660)
	DX = global flags 3 (see #03661)
	SI = global flags 4 (see #03662)
SeeAlso: AX=5BF0h

Bitfields for RM386 global flags 1:
Bit(s)	Description	(Table 03659)
 0-3	reserved
 4	V86 mode
 5	reserved
 6	80386 or higher CPU
 7,8	reserved
 9	A20 enabled at startup
 10	"HIGH_IO"
 11	ROM
 12	large frame
 13,14	reserved
 15	PS/2-style A20 control

Bitfields for RM386 global flags 2:
Bit(s)	Description	(Table 03660)
 0	HMA in use
 1	XMS present
 2	using XMS driver memory
 3	HIGH (NEAT only)
 4-7	reserved
 8	NOBKTRAP
 9	NORESET
 10	ALTMAP
 11	NOFRAME
 12-15	reserved

Bitfields for RM386 global flags 3:
Bit(s)	Description	(Table 03661)
 0	NOTEST
 1	NOEBDA
 2	Windows3 support
 3	system board mouse
 4	DISKBUF
 5	EBDALOW
 6	A20 global enable flag
 7	A20 flag
 8	EBDA moved to stub
 9	VXD file was found
 10	reserved
 11	NOBOOTMAP
 12	AUTO
 13	PS/2 machine
 14	Compaq ROM merge active
 15	NOHMA set

Bitfields for RM386 global flags 4:
Bit(s)	Description	(Table 03662)
 0	"NOV8259" don't virtualize interrupt controller
 1	NOSCSI
 2	NOSCAN
 3	NOTR
 4	ALTBOOT
 5	NOCOMPQ
 6	KB2TRAP
 7	DESHADOW
 8	Video 7 VGA detected
 9	reserved
 10	NOVGA
 11	NOPS2
 12	DEBUG
 13	NOVKB
 14,15	reserved

Top
675BF5 - INT 67 - RM386 v6.00 - GET RM386 EMS HANDLE COUNT
INT 67 - RM386 v6.00 - GET RM386 EMS HANDLE COUNT
	AX = 5BF5h
Return: AH = status
	    00h successful
		BX = current number of allocated EMS handles
	    84h function not available
SeeAlso: AX=5BF0h

Top
675C - INT 67 - LIM EMS 4.0 - PREPARE EXPANDED MEMORY HARDWARE FOR WARM BOOT
INT 67 - LIM EMS 4.0 - PREPARE EXPANDED MEMORY HARDWARE FOR WARM BOOT
	AH = 5Ch
Return: AH = status (see #03663)
Note:	when MS-DOS v6.xx EMM386 is loaded and the keyboard driver supports
	  INT 15/AH=4Fh (keyboard intercept) calls, the system may hang
	  instead of booting if this function is called just prior to a jump
	  to F000h:FFF0h

(Table 03663)
Values for EMS function status:
 00h	successful
 80h	internal error
 81h	hardware malfunction
 84h	undefined function requested

Top
675D - INT 67 - LIM EMS 4.0 - ENABLE/DISABLE OS FUNCTION SET FUNCTIONS
INT 67 - LIM EMS 4.0 - ENABLE/DISABLE OS FUNCTION SET FUNCTIONS
	AH = 5Dh
	AL = subfunction
	    00h enable OS Function Set
	    01h disable OS Function Set
	    02h return access key (resets memory manager, returns access key at
		next invocation)
	BX,CX = access key returned by first invocation
Return: BX,CX = access key, returned only on first invocation of function
	AH = status (see also AH=5Ch)
	    8Fh undefined subfunction
	    A4h operating system denied access

Top
675D03 - INT 67 u - Nanosoft MD386 - INTERNAL INITIALIZATION
INT 67 u - Nanosoft MD386 - INTERNAL INITIALIZATION
	AX = 5D03h
	???
Return: ???
Program: MD386 is a subset EMS memory manager by Nanosoft specifically
	  designed for use with the MultiDOS Plus multitasker
SeeAlso: AX=5D04h,AX=5E00h

Top
675D04 - INT 67 - Nanosoft MD386 - GET ALTERNATE MAP STRUCTURE
INT 67 - Nanosoft MD386 - GET ALTERNATE MAP STRUCTURE
	AX = 5D04h
	BX = alternate register set number
	ES:DI -> 1024-byte buffer for map structure
Return: AH = status (see #03648)
	buffer filled if AH=00h
Note:	used for debugging purposes
SeeAlso: AX=5D05h

Top
675D05 - INT 67 - Nanosoft MD386 - GET INTERNAL HANDLE TABLE
INT 67 - Nanosoft MD386 - GET INTERNAL HANDLE TABLE
	AX = 5D05h
	BX = handle number
	ES:DI -> 1024-byte buffer for handle table
Return: AH = status (see #03648)
	buffer filled if AH=00h
Note:	used for debugging purposes
SeeAlso: AX=5D04h

Top
675DE0 - INT 67 - RM386 - DISABLE RM386
INT 67 - RM386 - DISABLE RM386
	AX = 5DE0h
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE1h

Top
675DE1 - INT 67 - RM386 - ENABLE RM386
INT 67 - RM386 - ENABLE RM386
	AX = 5DE1h
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE0h

Top
675DE2 - INT 67 - RM386 - GET PAGE TABLE
INT 67 - RM386 - GET PAGE TABLE
	AX = 5DE2h
	ES:DI -> 1088-byte buffer for page table
Return: ES:DI buffer filled
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE3h

Top
675DE3 - INT 67 - RM386 - SET PAGE TABLE
INT 67 - RM386 - SET PAGE TABLE
	AX = 5DE3h
	ES:DI -> 1088-byte buffer containing page table
Notes:	only the access bits of the page table are used, the remainder is
	  ignored
	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE2h

Top
675DE4 - INT 67 - RM386 - SET WRITE-PROTECTION FOR PAGE IN FIRST MEGABYTE
INT 67 - RM386 - SET WRITE-PROTECTION FOR PAGE IN FIRST MEGABYTE
	AX = 5DE4h
	BL = page number
	BH = access (00h read-only, 01h read-write)
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt

Top
675DE5 - INT 67 - RM386 - MAP PHYSICAL PAGE TO PHYSICAL SEGMENT
INT 67 - RM386 - MAP PHYSICAL PAGE TO PHYSICAL SEGMENT
	AX = 5DE5h
	EBX = physical page number
	DX = page number in first megabyte to be remapped (linear-addr SHR 12)
Return: AH = status
	    00h successful
	    8Bh invalid destination page (not in first megabyte)
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE6h

Top
675DE6 - INT 67 - RM386 - MAP LOGICAL 4K PAGE TO PHYSICAL SEGMENT
INT 67 - RM386 - MAP LOGICAL 4K PAGE TO PHYSICAL SEGMENT
	AX = 5DE6h
	BX = logical page number in 4K pages from beginning of memory for EMS
	      handle
	CX = segment in first megabyte to be remapped
	DX = previously-allocated EMS handle
Return: AH = status
	    00h successful
	    83h invalid handle
	    8Ah invalid logical page (out of handle's range)
	    8Bh invalid destination page (not in first megabyte)
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE5h

Top
675DE7 - INT 67 - RM386 - SET PAGE TABLE BITS FOR RANGE OF PAGES
INT 67 - RM386 - SET PAGE TABLE BITS FOR RANGE OF PAGES
	AX = 5DE7h
	BL = page table bits to be set (bits 2-0 = U/S, R/W, P)
	CX = number of pages to set
	DX = first page number to set (in first megabyte)
Return: AH = status
	    00h successful
	    8Bh invalid destination page (not in first megabyte)
	    A5h invalid page bits
	    A6h invalid page count (overflows first megabyte)
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt

Top
675DE8 - INT 67 - RM386 - GET PARTIAL PAGE TABLE
INT 67 - RM386 - GET PARTIAL PAGE TABLE
	AX = 5DE8h
	BX = starting page number in first megabyte+HMA (0000h-010Fh)
	CX = number of page table entries to get
	ES:DI -> buffer for DWORD page table entries
Return: AH = status (00h successful, 8Bh invalid page)
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE9h

Top
675DE9 - INT 67 - RM386 - SET PARTIAL PAGE TABLE
INT 67 - RM386 - SET PARTIAL PAGE TABLE
	AX = 5DE9h
	BX = starting page number in first megabyte+HMA (0000h-010Fh)
	CX = number of page table entries to get
	DS:SI -> buffer of DWORD page table entries
Return: AH = status (00h successful, 8Bh invalid destination page)
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DE8h

Top
675DEA - INT 67 - RM386 - V86-MODE I/O PORT TRAPPING CONTROL
INT 67 - RM386 - V86-MODE I/O PORT TRAPPING CONTROL
	AX = 5DEAh
	BX = function
	    00h globally disable V86-mode trapping
	    01h globally enable V86-mode trapping
		CL = interrupt to use for trapping
	    02h get I/O trapping state
Return: AH = status
	    00h successful
		BX = current trapping state (function 02h)
		    0000h disabled, 0001h enabled
		CX = interrupt used as trap interrupt (functions 00h and 02h)
Notes:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
	when I/O trapping is enabled and I/O port access occurs, RM386
	  simulates an INT instruction for the specified interrupt; the
	  interrupt handler is responsible for decoding the trapped instruction
	  and performing the appropriate action.  INT 2C/AX=002Dh provides a
	  similar but more-easily used interface.
SeeAlso: AX=5DEBh,AH=EFh"RM386",INT 2C/AX=002Dh

Top
675DEB - INT 67 - RM386 - V86-MODE I/O TRAPPING PORT CONTROL
INT 67 - RM386 - V86-MODE I/O TRAPPING PORT CONTROL
	AX = 5DEBh
	BX = function
	    00h disable V86-mode trapping for specified port
	    01h enable V86-mode trapping for specified port
	    02h get V86-mode trapping state for specified port
	DX = port for which to enable/disable/query trapping
Return: AH = status
	    00h successful
		BX = current trapping state (00h off, 01h on) (function 02)
	    A7h invalid port ID
	    A8h reserved port--cannot trap/untrap (DMA/INT/KBD controllers)
Notes:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DEAh

Top
675DFD - INT 67 U - RM386 v6.00 - ???
INT 67 U - RM386 v6.00 - ???
	AX = 5DFDh
	???
Return: ???
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DFEh

Top
675DFE - INT 67 U - RM386 v6.00 - ???
INT 67 U - RM386 v6.00 - ???
	AX = 5DFEh
	???
Return: ???
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DFDh

Top
675DFF - INT 67 U - RM386 v6.00 - ???
INT 67 U - RM386 v6.00 - ???
	AX = 5DFFh
	???
Return: ???
Note:	RM386 traps this function on the initial transition to protected
	  mode caused by the INT instruction, which means it can not be
	  overridden simply by hooking the interrupt
SeeAlso: AX=5DFDh,AX=5DFEh

Top
675E00 - INT 67 - Nanosoft MD386 - SET HARDWARE BREAKPOINT
INT 67 - Nanosoft MD386 - SET HARDWARE BREAKPOINT
	AX = 5E00h
	DH = breakpoint number (0-3)
	DL = breakpoint attributes (used to set DR7)
	CX:BX = linear address of breakpoint
SeeAlso: AX=5D03h,AX=5E01h

Top
675E01 - INT 67 - Nanosoft MD386 - GET HARDWARE DEBUG REGISTER
INT 67 - Nanosoft MD386 - GET HARDWARE DEBUG REGISTER
	AX = 5E01h
	BL = register number (0-3,7)
Return: CX:BX = value of specified DRx register
SeeAlso: AX=5E00h

Top
675E02 - INT 67 - Nanosoft MD386 - SET DEBUG EXCEPTION HANDLER
INT 67 - Nanosoft MD386 - SET DEBUG EXCEPTION HANDLER
	AX = 5E02h
	CX:BX -> exception handler
Note:	the specified exception handler is called with a simulated interrupt
	  whenever a debug exception occurs which was caused by a hardware
	  breakpoint set with the debug registers
SeeAlso: AX=5E04h,AX=5E05h

Top
675E03 - INT 67 - Nanosoft MD386 - ENABLE/DISABLE MEMORY WRITE PROTECTION
INT 67 - Nanosoft MD386 - ENABLE/DISABLE MEMORY WRITE PROTECTION
	AX = 5E03h
	BL = register map set number
	BH = new state (00h read-only, else read-write)
	CX = linear page number (linear address SHR 12)
Note:	setting write protection in map set 0 will cause the setting to become
	  the default for newly-allocated map sets

Top
675E04 - INT 67 - Nanosoft MD386 - GET DEBUG EXCEPTION
INT 67 - Nanosoft MD386 - GET DEBUG EXCEPTION
	AX = 5E04h
Return: BL = debug exception (low byte of DR6 register)
SeeAlso: AX=5E02h,AX=5E05h

Top
675E05 - INT 67 - Nanosoft MD386 - IGNORE NEXT DEBUG EXCEPTION
INT 67 - Nanosoft MD386 - IGNORE NEXT DEBUG EXCEPTION
	AX = 5E05h
Note:	may be required when using AX=5E02h for handling instruction
	  breakpoints
SeeAlso: AX=5E02h,AX=5E04h

Top
6760 - INT 67 - EEMS - GET PHYSICAL WINDOW ARRAY
INT 67 - EEMS - GET PHYSICAL WINDOW ARRAY
	AH = 60h
	ES:DI -> buffer
Return: AH = status (see also AH=40h)
	AL = number of entries
	buffer at ES:DI filled

Top
6761 - INT 67 - EEMS - GENERIC ACCELERATOR CARD SUPPORT
INT 67 - EEMS - GENERIC ACCELERATOR CARD SUPPORT
	AH = 61h
	???
Return: ???
Note:	can be used by accelerator card manufacturer to flush RAM cache,
	  ensuring that the cache accurately reflects what the processor would
	  see without the cache.

Top
676100 - INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - INSTALLATION CHECK???
INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - INSTALLATION CHECK???
	AX = 6100h
Return: AH = status (00h if installed???)
Note:	STB's RAPIDMAP.SYS EMS driver calls this function and AX=6101h if
	  the signature "GACXXX" is found at offset 0Ah in the INT 67 handler's
	  segment (i.e. a device driver named GACXXX?? has hooked INT 67)
SeeAlso: AX=6101h,INT 02/SI=0714h

Top
676101 - INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - GET ??? ENTRY POINT
INT 67 - EEMS - STB GENERIC ACCELERATOR CARD SUPPORT - GET ??? ENTRY POINT
	AX = 6101h
Return: AH = status
	---if AH=00h---
	ES:BX -> ??? entry point
SeeAlso: AX=6100h

Top
6768 - INT 67 - EEMS - GET ADDRESSES OF ALL PAGE FRAMES IN SYSTEM
INT 67 - EEMS - GET ADDRESSES OF ALL PAGE FRAMES IN SYSTEM
	AH = 68h
	ES:DI -> buffer
Return: AH = status (see also AH=40h)
	AL = number of entries
	buffer at ES:DI filled
Note:	equivalent to LIM 4.0 function 58h

Top
6769 - INT 67 - EEMS - MAP PAGE INTO FRAME
INT 67 - EEMS - MAP PAGE INTO FRAME
	AH = 69h
	AL = frame number
	BX = page number
	DX = handle
Return: AH = status (see also AH=40h)
Note:	similar to EMS function 44h
SeeAlso: AH=44h,AH=50h,AH=6Ah

Top
676A - INT 67 - EEMS - PAGE MAPPING
INT 67 - EEMS - PAGE MAPPING
	AH = 6Ah
	AL = subfunction
	    00h save partial page map
		CH = first page frame
		CL = number of frames
		ES:DI -> buffer which is to be filled
	    01h restore partial page map
		CH = first page frame
		CL = number of frames
		DI:SI -> previously saved page map
	    02h save and restore partial page map
		CH = first page frame
		CL = number of frames
		ES:DI = buffer for current page map
		DI:SI = new page map
	    03h get size of save array
		CH = first page frame
		CL = number of frames
		Return: AL = size of array in bytes
	    04h switch to standard map register setting
	    05h switch to alternate map register setting
	    06h deallocate pages mapped to frames in conventional memory
		CH = first page frame
		CL = number of frames
Return: AH = status (see #03648)
Note:	similar to EMS function 4Eh, except that a subrange of pages can be
	  specified
SeeAlso: AH=69h

Top
676B - INT 67 - DESQview 2.42-2.53 - BUG
INT 67 - DESQview 2.42-2.53 - BUG
	AH = 6Bh
Note:	the EMM.DVR portion of DESQview branches to a random location on this
	  function due to a fencepost error

Top
67DD - INT 67 - Quadtel QMAPS - API
INT 67 - Quadtel QMAPS - API
	AH = DDh
	AL = function
	???
Return: ???
Notes:	details are not yet available
	Hewlett-Packard's HPMM.SYS is a licensed version of QMAPS, and thus
	  supports this API
SeeAlso: AH=3Fh,AX=FFA5h

Top
67DE00 - INT 67 - Virtual Control Program Interface - INSTALLATION CHECK
INT 67 - Virtual Control Program Interface - INSTALLATION CHECK
	AX = DE00h
Return: AH = status
	    00h VCPI is present
		BH = major version number
		BL = minor version number
	    nonzero  VCPI not present
BUG:	MS Windows 3.00 is reported to "object violently" to this call.
SeeAlso: INT 2F/AX=1687h

Top
67DE01 - INT 67 - Virtual Control Program Interface - GET PROTECTED MODE INTERFACE
INT 67 - Virtual Control Program Interface - GET PROTECTED MODE INTERFACE
	AX = DE01h
	ES:DI -> 4K page table buffer
	DS:SI -> three descriptor table entries in GDT
		first becomes code segment descriptor, other two for use by
		  main control program
Return: AH = 00h successful
	    DI -> first unused page table entry in buffer
	    EBX -> protected mode entry point in code segment (see #03664)
	AH = nonzero  failed
Note:	protected mode entry point may be called with AX=DE00h-DE05h and
	  AX=DE0Ch (in each case, all other registers as appropriate for
	  the function)
SeeAlso: INT 2F/AX=1687h,INT 67/AH=3Fh

(Table 03664)
Call QEMM v6.03 protected mode entry point additionally with:
	AX = DF00h ???
		???
		Return: ???
	AX = DF01h ???
		???
		Return: ???

Top
67DE02 - INT 67 - Virtual Control Program Interface - GET MAX PHYSICAL MEMORY ADDRESS
INT 67 - Virtual Control Program Interface - GET MAX PHYSICAL MEMORY ADDRESS
	AX = DE02h
Return: AH = 00h  successful
	    EDX = physical address of highest 4K memory page
	AH nonzero: failed
SeeAlso: AH=3Fh

Top
67DE03 - INT 67 - Virtual Control Program Interface - GET NUMBER OF FREE 4K PAGES
INT 67 - Virtual Control Program Interface - GET NUMBER OF FREE 4K PAGES
	AX = DE03h
Return: AH = 00h  successful
	    EDX = number of free 4K pages
	AH nonzero: failed
Notes:	returns total number of pages available to ALL tasks in system
	also available in protected mode by calling the protected-mode VCPI
	  entry point (see AX=DE01h,#03664)
SeeAlso: AX=DE04h

Top
67DE04 - INT 67 - Virtual Control Program Interface - ALLOCATE A 4K PAGE
INT 67 - Virtual Control Program Interface - ALLOCATE A 4K PAGE
	AX = DE04h
Return: AH = 00h successful
	    EDX = physical address of allocated page
	AH nonzero: failed
Notes:	the client program is responsible for freeing all memory allocated
	  with this call before terminating
	also available in protected mode by calling the protected-mode VCPI
	  entry point (see AX=DE01h,#03664)
SeeAlso: AH=3Fh,AX=DE03h,AX=DE05h

Top
67DE05 - INT 67 - Virtual Control Program Interface - FREE 4K PAGE
INT 67 - Virtual Control Program Interface - FREE 4K PAGE
	AX = DE05h
	EDX = physical address of 4K page
Return: AH = status
	    00h successful
	    nonzero failed
Note:	also available in protected mode by calling the protected-mode VCPI
	  entry point (see AX=DE01h,#03664)
SeeAlso: AH=3Fh,AX=DE04h

Top
67DE06 - INT 67 - Virtual Control Program Interface - GET PHYS ADDR OF PAGE IN FIRST MB
INT 67 - Virtual Control Program Interface - GET PHYS ADDR OF PAGE IN FIRST MB
	AX = DE06h
	CX = page number (linear address shifted right 12 bits)
Return: AH = status
	    00h successful
		EDX = physical address of page
	    nonzero invalid page number (AH = 8Bh recommended)
SeeAlso: AX=5BE0h

Top
67DE07 - INT 67 - Virtual Control Program Interface - READ CR0
INT 67 - Virtual Control Program Interface - READ CR0
	AX = DE07h
Return: AH = 00h
	EBX = value of Control Register 0
SeeAlso: AH=3Fh,AX=DE07h

Top
67DE08 - INT 67 - Virtual Control Program Interface - READ DEBUG REGISTERS
INT 67 - Virtual Control Program Interface - READ DEBUG REGISTERS
	AX = DE08h
	ES:DI -> array of 8 DWORDs
Return: AH = 00h
	buffer filled with DR0 first, DR7 last, DR4 and DR5 unused
SeeAlso: AH=3Fh,AX=DE09h

Top
67DE09 - INT 67 - Virtual Control Program Interface - SET DEBUG REGISTERS
INT 67 - Virtual Control Program Interface - SET DEBUG REGISTERS
	AX = DE09h
	ES:DI -> array of 8 DWORDs holding new values of debug registers
Return: AH = 00h
Note:	values for DR4 and DR5 ignored
SeeAlso: AH=3Fh,AX=DE08h

Top
67DE0A - INT 67 - Virtual Control Program Interface - GET 8259 INTERRUPT VECTOR MAPPINGS
INT 67 - Virtual Control Program Interface - GET 8259 INTERRUPT VECTOR MAPPINGS
	AX = DE0Ah
Return: AH = 00h successful
	    BX = first vector used by master 8259 (IRQ0)
	    CX = first vector used by slave 8259 (IRQ8)
	AH nonzero: failed
Note:	CX is undefined in systems without a slave 8259
SeeAlso: AX=DE0Bh,INT 21/AX=250Ch,INT 31/AX=0400h

Top
67DE0B - INT 67 - Virtual Control Program Interface - SET 8259 INTERRUPT VECTOR MAPPINGS
INT 67 - Virtual Control Program Interface - SET 8259 INTERRUPT VECTOR MAPPINGS
	AX = DE0Bh
	BX = first vector used by master 8259
	CX = first vector used by slave 8259
	interrupts disabled
Return: AH = 00h successful
	AH nonzero: failed
Notes:	This call merely informs the server that the client has changed the
	  interrupt mappings.  The client may not change the mappings if they
	  have already been changed by the server or another client, and is
	  responsible for restoring the original mappings before terminating.
SeeAlso: AX=DE0Ah,INT 2C/AX=002Ah

Top
67DE0C - INT 67 - Virtual Control Program Interface - SWITCH TO PROTECTED MODE
INT 67 - Virtual Control Program Interface - SWITCH TO PROTECTED MODE
	AX = DE0Ch
	ESI = linear address in first megabyte of values for system
	      registers (see #03665)
	interrupts disabled
Return: interrupts disabled
	GDTR, IDTR, LDTR, TR loaded
	SS:ESP must have at least 16 bytes space, and the entry point is
	      required to set up a new stack before enabling interrupts
	EAX, ESI, DS, ES, FS, GS destroyed
Note:	in protected mode, calling the protected-mode VCPI entry point with
	  AX = DE0Ch
	  DS = segment selector mapping entire linear address space obtained
		  via AX=DE01h
	  SS:ESP in first megabyte of linear memory
	  STACK:QWORD  return address from FAR call to 32-bit segment
		DWORD  EIP
		DWORD  CS
		DWORD  reserved for EFLAGS
		DWORD  ESP
		DWORD  SS
		DWORD  ES
		DWORD  DS
		DWORD  FS
		DWORD  GS
	  and interrupts disabled, will switch to virtual86 mode with
	    interrupts disabled, all segment registers loaded, and EAX
	    destroyed.
SeeAlso: AH=3Fh,INT 15/AH=89h,INT D4/AH=10h

Format of system register values for switch to protected mode:
Offset	Size	Description	(Table 03665)
 00h	DWORD	value for CR3
 04h	DWORD	linear address in first megabyte of value for GDTR
 08h	DWORD	linear address in first megabyte of value for IDTR
 0Ch	WORD	value for LDTR
 0Eh	WORD	value for TR
 10h	PWORD	CS:EIP of protected mode entry-point

Top
67DE0F - INT 67 - Netroom3 - ???
INT 67 - Netroom3 - ???
	AX = DE0Fh
	???
Return: ???
Note:	called by Netroom's DPMI.EXE

Top
67DEE1BX0C55 - INT 67 - "SB Live!" Sound Blaster 16 Emulation Driver - INSTALLATION CHECK
INT 67 - "SB Live!" Sound Blaster 16 Emulation Driver - INSTALLATION CHECK
	AX = DEE1h
	BX = 0C55h
Return: BL = AAh if installed

Top
67EF - INT 67 - RM386 v6.00+ - EXECUTE XMS FUNCTION
INT 67 - RM386 v6.00+ - EXECUTE XMS FUNCTION
	AH = EFh
	AL = function (00h-12h,80h-8Fh)
	other register as appropriate for XMS function
Return: varies by function (see INT 2F/AX=4310h"XMS")
Note:	these functions appear to be equivalent to the XMS functions with the
	  same numbers
SeeAlso: AX=5DFFh"RM386",INT 2F/AX=4310h"XMS"

Top
67FFA5 - INT 67 - Microsoft EMM386.EXE v4.20+ - INSTALLATION CHECK
INT 67 - Microsoft EMM386.EXE v4.20+ - INSTALLATION CHECK
	AX = FFA5h
Return: AX = 845Ah/84A5h if loaded
	    BX:CX -> API entry point (see #03666)
Notes:	this call is available even if EMM386 is not providing EMS
	the returned AX is 845Ah inside of MSWindows, 84A5h under bare DOS
	if no other program has hooked INT 67, an alternate installation
	  check is to test for the string
	  "MICROSOFT EXPANDED MEMORY MANAGER 386" at offset 14h in the INT 67
	  handler's segment; the word immediately preceding this string
	  contains the offset of the API entry point
SeeAlso: AH=3Fh,AX=FFA5h/BX=4345h,INT 21/AX=4402h"EMM386.EXE"

(Table 03666)
Call EMM386.EXE API entry point with:
	AH = 00h get memory manager's status
	    Return: AH = status
			bit 0: not active (OFF)
			bit 1: in "Auto" mode
	AH = 01h set memory manager's state
	    AL = new state (00h ON, 01h OFF, 02h AUTO)
	AH = 02h Weitek coprocessor support
	    AL = subfunction
		00h get Weitek support state
		    Return: AL = status
				bit 0: Weitek coprocessor is present
				bit 1: Weitek support is enabled
		01h turn on Weitek support
		02h turn off Weitek support
     --- v4.20-4.41 only ---
	AH = 03h Windows support???
	    AL = subfunction (00h, 01h)
	AH = 04h print copyright notice to standard output
		 (using INT 21/AH=09h)
	AH = 05h print available report
		 (the one shown when running EMM386 from the DOS prompt)
SeeAlso: #01513 at INT 21/AX=4402h/SF=02h,#02617 at INT 2F/AX=12FFh/BX=0106h

Top
67FFA5BX4345 - INT 67 U - Compaq CEMM v5.10+ - PRIVATE API
INT 67 U - Compaq CEMM v5.10+ - PRIVATE API
	AX = FFA5h
	BX = 4345h ("CE")
	DX = subfunction
	    0000h unshadow video ROM???
	    0001h shadow video ROM???
	    0002h map pages
		CX = number of pages (00h=one)
		ESI = linear address of first page to map into address space
		EDI = linear starting address at which pages are to be visible
	    0003h get ???
		Return: DX = ??? (0-2)
	    0004h BUG: crashes system due to fencepost error
Return: AH = 84h
	AL = status (84h = error, FFh = success)
Note:	if BX <> 4345h or DX > 0004h on entry, CEMM behaves identically to
	  Microsoft's EMM386 (see AX=FFA5h"EMM386")
SeeAlso: AX=FFA5h"EMM386",#01513 at INT 21/AX=4402h/SF=02h,#03666

Top
68 - INT 68 - Sangoma CCPOP 3270 resident module
INT 68 - Sangoma CCPOP 3270 resident module
SeeAlso: INT 67"Sangoma",INT 92"Sangoma"

Top
68 - INT 68 - Novell NetWare LU6.2
INT 68 - Novell NetWare LU6.2
InstallCheck:	test for the signature string "APPC/PC" nine bytes before the
	  interrupt handler
SeeAlso: AH=01h/SF=1B00h,AH=FAh

Top
68 - INT 68 C - HP Vectra AT - IRQ16 - 8041 SERVICE REQUEST
INT 68 C - HP Vectra AT - IRQ16 - 8041 SERVICE REQUEST
SeeAlso: INT 08"IRQ0",INT 69"HP Vectra",INT 6F/AH=00h"HP"

Top
6801--SF1B00 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DISPLAY
INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DISPLAY
	AH = 01h subfn 1B00h
	DS:DX -> control block (see #03667)
Return: control block updated
SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2B00h,INT 68"Novell"

Format of APPC/PC "DISPLAY" control block:
Offset	Size	Description	(Table 03667)
 00h 12 BYTEs	reserved
 0Ch	WORD	1B00h (verb "DISPLAY")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	WORD	00h
 1Ah  8 BYTEs	(big-endian) logical unit ID
 22h  8 BYTEs	(big-endian) partner logical unit name
 2Ah  8 BYTEs	(big-endian) mode name
 32h	BYTE	logical unit session limit
 33h	BYTE	partner logical unit session limit
 34h	BYTE	node maximum negotiable session limit
 35h	BYTE	current session limit
 36h	BYTE	minimum negotiated winner limit
 37h	BYTE	maximum negotiated loser limit
 38h	BYTE	active session count
 39h	BYTE	active CONWINNER session count
 3Ah	BYTE	active CONLOSER session count
 3Bh	BYTE	session termination count
 3Ch	BYTE	bit 7: SESSION_TERMINATION_TARGET_DRAIN
		bit 6: SESSION_TERMINATION_SOURCE_DRAIN

(Table 03668)
Values for APPC/PC return code:
 0000h	successful
 0001h	BAD_TP_ID
 0002h	BAD_CONV_ID
 0003h	bad logical unit ID
 0008h	no physical unit attached
 0110h	bad state
 01B1h	BAD_PART_LUNAME
 01B2h	bad mode name
 0201h	physical unit already active
 0211h	logical unit already active
 0212h	BAD_PART_SESS
 0213h	BAD_RU_SIZES
 0214h	BAD_MODE_SESS
 0216h	BAD_PACING_CNT
 0219h	EXTREME_RUS
 021Ah	SNASVCMG_1
 0223h	SSCP_CONNECTED_LU
 0230h	invalid change
 0243h	too many TPs
 0272h	adapter close failure
 0281h	GET_ALLOC_BAD_TYPE
 0282h	unsuccessful
 0283h	DLC failure
 0284h	unrecognized DLC
 0286h	duplicate DLC
 0301h	SSCP_PU_SESSION_NOT_ACTIVE
 0302h	data exceeds RU size
 0401h	invalid direction
 0402h	invalid type
 0403h	segment overlap
 0404h	invalid first character
 0405h	table error
 0406h	conversion error
 F0010000h	APPC disabled
 F0020000h	APPC busy
 F0030000h	APPC abended
 F0040000h	incomplete

Top
6801--SF2000 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH PHYSICAL UNIT
INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH PHYSICAL UNIT
	AH = 01h subfn 2000h
	DS:DX -> control block (see #03669)
Return: control block updated
SeeAlso: AH=01h/SF=2100h,AH=01h/SF=2B00h

Format of APPC/PC "Attach Physical Unit" control block:
Offset	Size	Description	(Table 03669)
 00h 12 BYTEs	reserved
 0Ch	WORD	2000h (verb "Attach Physical Unit")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	WORD	00h
 1Ah	BYTE	version
 1Bh	BYTE	release
 1Ch  8 BYTEs	(big-endian) net name
 24h  8 BYTEs	(big-endian) physical unit name
 2Ch  8 BYTEs	00h
 34h	DWORD	pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
		(see also AH=01h/SF=2100h)
 38h	DWORD	00h
 3Ch	BYTE	00h RETURN_CONTROL: COMPLETE
		01h RETURN_CONTROL: INCOMPLETE

Top
6801--SF2100 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH LOGICAL UNIT
INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ATTACH LOGICAL UNIT
	AH = 01h subfn 2100h
	DS:DX -> control block (see #03670)
Return: control block updated
SeeAlso: #03673,#03674,#03676,AH=01h/SF=2000h,AH=01h/SF=2200h,AH=01h/SF=2B00h

Format of APPC/PC "Attach Logical Unit" control block:
Offset	Size	Description	(Table 03670)
 00h 12 BYTEs	reserved
 0Ch	WORD	2100h (verb "Attach Logical Unit")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	WORD	70  offset to partner logical unit record
 1Ah  8 BYTEs	(big-endian) logical unit name
 22h  8 BYTEs	(big-endian) logical unit ID
 2Ah	BYTE	logical unit local address
 2Bh	BYTE	logical unit session limit
 2Ch	DWORD	pointer to CREATE_TP_EXIT routine,
		FFFFFFFFh = reject incoming ALLOCATEs
		00000000h = queue ALLOCATEs
 30h	DWORD	00h
 34h	DWORD	pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
 38h	DWORD	00h
 3Ch	BYTE	maximum TPs
 3Dh	BYTE	queue depth
 3Eh	DWORD	pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh=no pswd exit
 42h	DWORD	00h
 46h	WORD	total length of partner records
 48h	var	array of partner logical unit records (see #03671)
SeeAlso: #03673,#03674,#03676

Format of APPC/PC partner logical unit record:
Offset	Size	Description	(Table 03671)
 00h	WORD	length of this partner logical unit record
 02h	WORD	42  offset to mode records
 04h  8 BYTEs	(big-endian) partner logical unit name
 0Ch	BYTE	partner logical unit security capabilities
		bit 7: already verified
		bit 6: conversation level security
		bit 5: session level security
 0Dh	BYTE	partner logical unit session limit
 0Eh	WORD	partner logical unit maximum MC_SEND_LL
 10h  8 BYTEs	(big-endian) partner logical unit DLC name
 18h	BYTE	partner logical unit adapter number
 19h 17 BYTEs	(counted string) partner logical unit adapter address
 2Ah	WORD	total length of mode records
 2Ch 16N BYTEs	array of mode records (see #03672)

Format of mode record:
Offset	Size	Description	(Table 03672)
 00h	WORD	16  length of this mode record
 02h  8 BYTEs	(big-endian) mode name
 0Ah	WORD	RU_SIZE high bound
 0Ch	WORD	RU_SIZE low bound
 0Eh	BYTE	mode maximum negotiable session limit
 0Fh	BYTE	pacing size for receive

Routines defined by LU_LU_PASSWORD_EXIT, CREATE_TP_EXIT, and SYSTEM_LOG_EXIT
pointers are called by pushing the DWORD pointer to the verb on the stack and
then performing a FAR call.

Format of ACCESS_LU_LU_PW verb:
Offset	Size	Description	(Table 03673)
 00h 12 BYTEs	reserved
 0Ch	WORD	1900h (verb "ACCESS_LU_LU_PW")
 0Eh  8 BYTEs	(big-endian) logical unit ID
 16h  8 BYTEs	(big-endian) logical unit name
 1Eh  8 BYTEs	(big-endian) partner logical unit name
 26h 17 BYTEs	(counted string) partner fully qualified logical unit name
 37h	BYTE	password available (0=no, 1=yes)
 38h  8 BYTEs	password
SeeAlso: #03670,#03674,#03676

Format of CREATE_TP verb:
Offset	Size	Description	(Table 03674)
 00h 12 BYTEs	reserved
 0Ch	WORD	2300h (verb "CREATE_TP")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) sense code (see #03675)
 18h  8 BYTEs	(big-endian) TP ID
 20h  8 BYTEs	(big-endian) logical unit ID
 28h	DWORD	(big-endian) conversation ID
 2Ch	BYTE	0 basic conversation, 1 mapped conversation
 2Dh	BYTE	0 no sync level, 1 confirm
 2Eh	BYTE	reserved
 2Fh 65 BYTEs	(counted string) transaction program name
 70h  6 BYTEs	00h
 76h	WORD	length of ERROR_LOG_DATA to return
 78h	DWORD	pointer to ERROR_LOG_DATA buffer
 7Ch  8 BYTEs	(big-endian) partner logical unit name
 84h 18 BYTEs	(counted string) partner fully qualified logical unit name
 96h  8 BYTEs	(big-endian) mode name
 9Eh 12 BYTEs	00h
 AAh 11 BYTEs	(counted string) password
 B5h 11 BYTEs	(counted string) user ID
 C0h	BYTE	0 verification should be performed
		1 already verified
SeeAlso: #03673,#03676

(Table 03675)
Values for APPC/PC sense code:
 00000000h	Ok
 080F6051h	SECURITY_NOT_VALID
 084B6031h	TP_NOT_AVAIL_RETRY
 084C0000h	TP_NOT_AVAIL_NO_RETRY
 10086021h	TP_NAME_NOT_RECOGNIZED
 10086034h	CONVERSATION_TYPE_MISMATCH
 10086041h	SYNC_LEVEL_NOT_SUPPORTED

Format of SYSLOG verb:
Offset	Size	Description	(Table 03676)
 00h 12 BYTEs	reserved
 0Ch	WORD	2600h (verb "SYSLOG")
 0Eh 10 BYTEs	00h
 18h	WORD	(big-endian) type
 1Ah	DWORD	(big-endian) subtype
 1Eh	DWORD	pointer to ADDITIONAL_INFO
 22h	DWORD	(big-endian) conversation ID
 26h  8 BYTEs	(big-endian) TP ID
 2Eh  8 BYTEs	(big-endian) physical unit or logical unit name
 36h	WORD	length of data
 38h	DWORD	pointer to data
 3Ch	BYTE	00h
SeeAlso: #03673,#03674

Top
6801--SF2200 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH LOGICAL UNIT
INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH LOGICAL UNIT
	AH = 01h subfn 2200h
	DS:DX -> control block (see #03677)
Return: control block updated
SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2100h,AH=01h/SF=2700h

Format of APPC/PC "Detach Logical Unit" control block:
Offset	Size	Description	(Table 03677)
 00h 12 BYTEs	reserved
 0Ch	WORD	2200h (verb "Detach Logical Unit")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h  8 BYTEs	(big-endian) logical unit ID
 20h	BYTE	00h

Top
6801--SF2700 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH PHYSICAL UNIT
INT 68 - APPC/PC - NETWORK DEVICE CONTROL - DETACH PHYSICAL UNIT
	AH = 01h subfn 2700h
	DS:DX -> control block (see #03678)
Return: control block updated
SeeAlso: AH=01h/SF=2000h,AH=01h/SF=2100h,AH=01h/SF=2200h

Format of APPC/PC "Detach Physical Unit" control block:
Offset	Size	Description	(Table 03678)
 00h 12 BYTEs	reserved
 0Ch	WORD	2700h (verb "Detach Physical Unit")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	BYTE	00h  type: hard
		01h  type: soft

Top
6801--SF2B00 - INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ACTIVATE DLC
INT 68 - APPC/PC - NETWORK DEVICE CONTROL - ACTIVATE DLC
	AH = 01h subfn 2B00h
	DS:DX -> control block (see #03679)
Return: control block updated
SeeAlso: AH=01h/SF=1B00h,AH=01h/SF=2000h

Format of APPC/PC "Activate DLC" control block:
Offset	Size	Description	(Table 03679)
 00h 12 BYTEs	reserved
 0Ch	WORD	2B00h (verb "Activate DLC")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h  8 BYTEs	(big-endian) DLC name
 20h	BYTE	adapter number

Top
6802--SF0100 - INT 68 - APPC/PC - CONNECTION CONTROL - ALLOCATE
INT 68 - APPC/PC - CONNECTION CONTROL - ALLOCATE
	AH = 02h subfn 0100h
	DS:DX -> control block (see #03680)
Return: control block updated
SeeAlso: AH=02h/SF=0500h

Format of APPC/PC "Allocate" control block:
Offset	Size	Description	(Table 03680)
 00h 12 BYTEs	reserved
 0Ch	WORD	0100h (verb "Allocate" or "MC_Allocate")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	(MC_Allocate only) conversation type
		0 basic conversation
		1 mapped conversation
 27h	BYTE	SYNC_LEVEL (00h none, 01h confirm)
 28h	WORD	0000h
 2Ah	BYTE	RETURN_CONTROL
		00h when session allocated
		01h immediate
		02h when session free
 2Bh  8 BYTEs	00h
 33h  8 BYTEs	(big-endian) partner logical unit name
 3Bh  8 BYTEs	(big-endian) mode name
 43h 65 BYTEs	(counted string) TP name
 84h	BYTE	security (00h none, 01h same, 02h pgm)
 85h 11 BYTEs	00h
 90h 11 BYTEs	(counted string) password
 9Bh 11 BYTEs	(counted string) user ID
 A6h	WORD	PIP_DATA length
 A8h	DWORD	pointer to PIP_DATA

(Table 03681)
Values for APPC/PC primary return code:
 0000h	successful
 0001h	parameter check
 0002h	state check
 0003h	allocation error
 0005h	deallocate abended
 0006h	deallocate abended program
 0007h	deallocate abended SVC
 0008h	deallocate abended timer
 0009h	deallocate normal return
 000Ah	data posting blocked
 000Bh	posting not active
 000Ch	PROG_ERROR_NO_TRUNC
 000Dh	PROG_ERROR_TRUNC
 000Eh	PROG_ERROR_PURGING
 000Fh	CONV_FAILURE_RETRY
 0010h	CONV_FAILURE_NO_RETRY
 0011h	SVC_ERROR_NO_TRUNC
 0012h	SVC_ERROR_TRUNC
 0013h	SVC_ERROR_PURGING
 0014h	unsuccessful
 0018h	CNOS partner logical unit reject
 0019h	conversation type mixed
 F001h	APPC disabled
 F002h	APPC busy
 F003h	APPC abended
 F004h	incomplete

(Table 03682)
Values for APPC/PC error code:
 0001h	bad TP ID
 0002h	bad conversation ID
 0004h	allocation error, no retry
 0005h	allocation error, retry
 0006h	data area crosses segment boundary
 0010h	bad TPN length
 0011h	bad CONV length
 0012h	bad SYNC level
 0013h	bad security selection
 0014h	bad return control
 0015h	SEC_TOKENS too big
 0016h	PIP_LEN incorrect
 0017h	no use of SNASVCMG
 0018h	unknown partner mode
 0031h	confirm: SYNC_NONE
 0032h	confirm: bad state
 0033h	confirm: NOT_LL_BDY
 0041h	confirmed: bad state
 0051h	deallocate: bad type
 0052h	deallocate: flush bad state
 0053h	deallocate: confirm bad state
 0055h	deallocate: NOT_LL_BDY
 0057h	deallocate: log LL_WRONG
 0061h	flush: not send state
 0091h	post on receipt: invalid length
 0092h	post on receipt: not in receive state
 0093h	post on receipt: bad fill
 00A1h	prepare to receive:invalid type
 00A2h	prepare to receive: unfinished LL
 00A3h	prepare to receive: not in send state
 00B1h	receive and wait: bad state
 00B2h	receive and wait: NOT_LL_BDY
 00B5h	receive and wait: bad fill
 00C1h	receive immediate: not in receive state
 00C4h	receive immediate: bad fill
 00E1h	request to send: not in receive state
 00F1h	send data: bad LL
 00F2h	send data: not in send state
 0102h	send error: log LL wrong
 0103h	send error: bad type
 0121h	test: invalid type
 0122h	test: not in receive state

Top
6802--SF0300 - INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRM
INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRM
	AH = 02h subfn 0300h
	DS:DX -> control block (see #03683)
Return: control block updated
SeeAlso: AH=02h/SF=0400h

Format of APPC/PC "Confirm" control block:
Offset	Size	Description	(Table 03683)
 00h 12 BYTEs	reserved
 0Ch	WORD	0300h (verb "Confirm" or "MC_Confirm")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	request to send received (0=no, 1=yes)

Top
6802--SF0400 - INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRMED
INT 68 - APPC/PC - CONNECTION CONTROL - CONFIRMED
	AH = 02h subfn 0400h
	DS:DX -> control block (see #03684)
Return: control block updated
SeeAlso: AH=02h/SF=0300h

Format of APPC/PC "Confirmed" control block:
Offset	Size	Description	(Table 03684)
 00h 12 BYTEs	reserved
 0Ch	WORD	0400h (verb "Confirmed" or "MC_Confirmed")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID

Top
6802--SF0500 - INT 68 - APPC/PC - CONNECTION CONTROL - DEALLOCATE
INT 68 - APPC/PC - CONNECTION CONTROL - DEALLOCATE
	AH = 02h subfn 0500h
	DS:DX -> control block (see #03685)
Return: control block updated
SeeAlso: AH=02h/SF=0100h,AH=02h/SF=0300h

Format of APPC/PC "Deallocate" control block:
Offset	Size	Description	(Table 03685)
 00h 12 BYTEs	reserved
 0Ch	WORD	0500h (verb "Deallocate" or "MC_Deallocate")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	00h
 27h	BYTE	type
		00h SYNC_LEVEL
		01h FLUSH
		02h ABEND_PROC
		03h ABEND_SVC
		04h ABEND_TIMER
		05h ABEND
 28h	WORD	(MC_Deallocate only) length of error log data
 2Ah	DWORD	(MC_Deallocate only) pointer to error log data

Top
6802--SF0600 - INT 68 - APPC/PC - CONNECTION CONTROL - FLUSH
INT 68 - APPC/PC - CONNECTION CONTROL - FLUSH
	AH = 02h subfn 0600h
	DS:DX -> control block (see #03686)
Return: control block updated
SeeAlso: AH=02h/SF=0300h

Format of APPC/PC "Flush" control block:
Offset	Size	Description	(Table 03686)
 00h 12 BYTEs	reserved
 0Ch	WORD	0600h (verb "Flush" or "MC_Flush")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID

Top
6802--SF0700 - INT 68 - APPC/PC - CONNECTION CONTROL - GET ATTRIBUTES
INT 68 - APPC/PC - CONNECTION CONTROL - GET ATTRIBUTES
	AH = 02h subfn 0700h
	DS:DX -> control block (see #03687)
Return: control block updated
SeeAlso: AH=02h/SF=0300h

Format of APPC/PC "Get_Attributes" control block:
Offset	Size	Description	(Table 03687)
 00h 12 BYTEs	reserved
 0Ch	WORD	0700h (verb "Get_Attributes" or "MC_Get_Attributes")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h  8 BYTEs	(big-endian) logical unit ID
 2Eh	BYTE	00h
 2Fh	BYTE	SYNC_LEVEL (0=none, 1=confirm)
 30h  8 BYTEs	(big-endian) mode name
 38h  8 BYTEs	(big-endian) own net name
 40h  8 BYTEs	(big-endian) own logical unit name
 48h  8 BYTEs	(big-endian) partner logical unit name
 50h 18 BYTEs	(counted string) partner's fully qualified logical unit name
 62h	BYTE	00h
 63h 11 BYTEs	(counted string) user ID

Top
6802--SF0800 - INT 68 - APPC/PC - CONNECTION CONTROL - GET CONVERSATION TYPE
INT 68 - APPC/PC - CONNECTION CONTROL - GET CONVERSATION TYPE
	AH = 02h subfn 0800h
	DS:DX -> control block (see #03688)
Return: control block updated
SeeAlso: AH=02h/SF=0300h

Format of APPC/PC "Get_Type" control block:
Offset	Size	Description	(Table 03688)
 00h 12 BYTEs	reserved
 0Ch	WORD	0800h (verb "Get_Type")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	(ret) type (0=basic conversation, 1=mapped conversation)

Top
6802--SF0900 - INT 68 - APPC/PC - CONNECTION CONTROL - POST ON RECEIPT
INT 68 - APPC/PC - CONNECTION CONTROL - POST ON RECEIPT
	AH = 02h subfn 0900h
	DS:DX -> control block (see #03689)
Return: control block updated
SeeAlso: AH=02h/SF=0A00h

Format of APPC/PC "Post_on_Receipt" control block:
Offset	Size	Description	(Table 03689)
 00h 12 BYTEs	reserved
 0Ch	WORD	0900h (verb "Post_on_Receipt")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	WORD	maximum length
 28h	BYTE	fill (0=buffer, 1=LL)

Top
6802--SF0A00 - INT 68 - APPC/PC - CONNECTION CONTROL - PREPARE TO RECEIVE
INT 68 - APPC/PC - CONNECTION CONTROL - PREPARE TO RECEIVE
	AH = 02h subfn 0A00h
	DS:DX -> control block (see #03690)
Return: control block updated
SeeAlso: AH=02h/SF=0900h,AH=02h/SF=0B00h

Format of APPC/PC "Prepare_to_Receive" control block:
Offset	Size	Description	(Table 03690)
 00h 12 BYTEs	reserved
 0Ch	WORD	0A00h (verb "Prepare_to_Receive" or "MC_Prepare_to_Receive")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	type (0=SYNC_LEVEL, 1=FLUSH)
 27h	BYTE	locks (0=short, 1=long)

Top
6802--SF0B00 - INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE AND WAIT
INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE AND WAIT
	AH = 02h subfn 0B00h
	DS:DX -> control block (see #03691)
Return: control block updated
SeeAlso: AH=02h/SF=0C00h,AH=02h/SF=0F00h

Format of APPC/PC "Receive_and_Wait" control block:
Offset	Size	Description	(Table 03691)
 00h 12 BYTEs	reserved
 0Ch	WORD	0B00h (verb "Receive_and_Wait" or "MC_Receive_and_Wait")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	type of information received (see #03692)
 27h	BYTE	(MC_Receive_and_Wait only) fill (0=buffer, 1=LL)
 28h	BYTE	Request_to_Send_Received (0=no, 1=yes)
 29h	WORD	maximum length
 2Bh	WORD	data length
 2Dh	DWORD	pointer to data

(Table 03692)
Values for type of information received:
 00h	data
 01h	data complete
 02h	data incomplete
 03h	confirm
 04h	confirm send
 05h	confirm deallocate
 06h	send

Top
6802--SF0C00 - INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE IMMEDIATE
INT 68 - APPC/PC - CONNECTION CONTROL - RECEIVE IMMEDIATE
	AH = 02h subfn 0C00h
	DS:DX -> control block (see #03693)
Return: control block updated
SeeAlso: AH=02h/SF=0B00h,AH=02h/SF=0F00h

Format of APPC/PC "Receive_Immediate" control block:
Offset	Size	Description	(Table 03693)
 00h 12 BYTEs	reserved
 0Ch	WORD	0C00h (verb "Receive_Immediate" or "MC_Receive_Immediate")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	type of information received (see #03692)
 27h	BYTE	(MC_Receive_Immediate only) fill (0=buffer, 1=LL)
 28h	BYTE	Request_to_Send_Received (0=no, 1=yes)
 29h	WORD	maximum length
 2Bh	WORD	data length
 2Dh	DWORD	pointer to data

Top
6802--SF0E00 - INT 68 - APPC/PC - CONNECTION CONTROL - REQUEST TO SEND
INT 68 - APPC/PC - CONNECTION CONTROL - REQUEST TO SEND
	AH = 02h subfn 0E00h
	DS:DX -> control block (see #03694)
Return: control block updated
SeeAlso: AH=02h/SF=0F00h,AH=02h/SF=1000h

Format of APPC/PC "Request_to_Send" control block:
Offset	Size	Description	(Table 03694)
 00h 12 BYTEs	reserved
 0Ch	WORD	0E00h (verb "Request_to_Send" or "MC_Request_to_Send")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID

Top
6802--SF0F00 - INT 68 - APPC/PC - CONNECTION CONTROL - SEND DATA
INT 68 - APPC/PC - CONNECTION CONTROL - SEND DATA
	AH = 02h subfn 0F00h
	DS:DX -> control block (see #03695)
Return: control block updated
SeeAlso: AH=02h/SF=0E00h,AH=02h/SF=1000h

Format of APPC/PC "Send_Data" control block:
Offset	Size	Description	(Table 03695)
 00h 12 BYTEs	reserved
 0Ch	WORD	0F00h (verb "Send_Data" or "MC_Send_Data")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	request to send received (0=no, 1=yes)
 27h	BYTE	00h
 28h	WORD	data length
 2Ah	DWORD	pointer to data

Top
6802--SF1000 - INT 68 - APPC/PC - CONNECTION CONTROL - SEND ERROR
INT 68 - APPC/PC - CONNECTION CONTROL - SEND ERROR
	AH = 02h subfn 1000h
	DS:DX -> control block (see #03696)
Return: control block updated
SeeAlso: AH=02h/SF=0F00h

Format of APPC/PC "Send_Error" control block:
Offset	Size	Description	(Table 03696)
 00h 12 BYTEs	reserved
 0Ch	WORD	1000h (verb "Send_Error" or "MC_Send_Error")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	request to send received (0=no, 1=yes)
 27h	BYTE	type (0=program, 1=SVC)
 28h	DWORD	00h
 2Ch	WORD	(MC_Send_Error only) LOG_DATA length
 2Eh	DWORD	(MC_Send_Error only) pointer to LOG_DATA

Top
6802--SF1200 - INT 68 - APPC/PC - CONNECTION CONTROL - TEST
INT 68 - APPC/PC - CONNECTION CONTROL - TEST
	AH = 02h subfn 1200h
	DS:DX -> control block (see #03697)
Return: control block updated
SeeAlso: AH=02h/SF=1300h

Format of APPC/PC "Test" control block:
Offset	Size	Description	(Table 03697)
 00h 12 BYTEs	reserved
 0Ch	WORD	1200h (verb "Test" or "MC_Test")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	(MC_Test only) test (0=posted, 1=request_to_send received)
Note:	error code has different interpretations for:
	0 posted data
	1 posted not data (primary return code = 0)
	1 bad TP_ID (primary return code = 1)

Top
6802--SF1300 - INT 68 - APPC/PC - CONNECTION CONTROL - WAIT
INT 68 - APPC/PC - CONNECTION CONTROL - WAIT
	AH = 02h subfn 1300h
	DS:DX -> control block (see #03698)
Return: control block updated
SeeAlso: AH=02h/SF=1200h

Format of APPC/PC "Wait" control block:
Offset	Size	Description	(Table 03698)
 00h 12 BYTEs	reserved
 0Ch	WORD	1300h (verb "Wait")
 0Eh	BYTE	1 if MC_ (mapped conversation) form of verb
		0 if basic verb
 0Fh  5 BYTEs	reserved (0)
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) error code (see #03682,#03697)
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	(big-endian) conversation ID
 26h	BYTE	number of conversations to wait on
		Note: error codes have interpretations as for AH=02h/SF=1200h

Top
6803--SF2400 - INT 68 - APPC/PC - TP STARTED
INT 68 - APPC/PC - TP STARTED
	AH = 03h subfn 2400h
	DS:DX -> control block (see #03699)
Return: control block updated

Format of APPC/PC "TP Started" control block:
Offset	Size	Description	(Table 03699)
 00h 12 BYTEs	reserved
 0Ch	WORD	2400h (verb "TP Started")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	WORD	00h
 1Ah  8 BYTEs	(big-endian) logical unit ID
 22h  8 BYTEs	(big-endian) TP ID

Top
6803--SF2800 - INT 68 - APPC/PC - GET ALLOCATE
INT 68 - APPC/PC - GET ALLOCATE
	AH = 03h subfn 2800h
	DS:DX -> control block (see #03700)
Return: control block updated

Format of APPC/PC "Get ALLOCATE" control block:
Offset	Size	Description	(Table 03700)
 00h 12 BYTEs	reserved
 0Ch	WORD	2800h (verb "Get ALLOCATE")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	WORD	00h
 1Ah  8 BYTEs	(big-endian) logical unit ID
 22h	BYTE	type (00h dequeue, 01h test)
 23h	DWORD	pointer to CREATE_TP record

Top
6803--SF2A00 - INT 68 - APPC/PC - CHANGE LOGICAL UNIT
INT 68 - APPC/PC - CHANGE LOGICAL UNIT
	AH = 03h subfn 2A00h
	DS:DX -> control block (see #03701)
Return: control block updated

Format of APPC/PC "Change Logical Unit" control block:
Offset	Size	Description	(Table 03701)
 00h 12 BYTEs	reserved
 0Ch	WORD	2A00h (verb "Change Logical Unit")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	WORD	00h
 1Ah  8 BYTEs	(big-endian) logical unit ID
 22h	DWORD	pointer to CREATE_TP_EXIT routine
		00000000h queue ALLOCATEs
		FFFFFFFFh reject incoming ALLOCATEs
 26h	DWORD	00000000h
 2Ah	DWORD	pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh= don't log errors
 2Eh	DWORD	00000000h
 32h	BYTE	maximum TPs
 33h	BYTE	00h stop QUEUE_ALLOCATEs
		01h resume QUEUE_ALLOCATEs
 34h	DWORD	pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh = no exit
 38h	DWORD	00000000h

Top
6804 - INT 68 - APPC/PC - TRANSACTION PROCESSING
INT 68 - APPC/PC - TRANSACTION PROCESSING
	AH = 04h
	DS:DX -> control block (see #03702)
Return: control block updated

Format of APPC/PC control block:
Offset	Size	Description	(Table 03702)
 00h 12 BYTEs	reserved
 0Ch	WORD	verb (action)
		2500h TP_ENDED
		2900h TP_VALID
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h	WORD	00h
 1Ah  8 BYTEs	(big-endian) TP_ID
 22h	DWORD	-> CREATE_TP record (only if verb = 2900h)

Top
6805 - INT 68 - APPC/PC - TRANSFER MESSAGE DATA
INT 68 - APPC/PC - TRANSFER MESSAGE DATA
	AH = 05h
	DS:DX -> control block (see #03703)
Return: control block updated

Format of APPC/PC "Transfer Message Data" control block:
Offset	Size	Description	(Table 03703)
 00h 12 BYTEs	reserved
 0Ch	WORD	1C00h (verb "Transfer Message Data")
 0Eh	BYTE	data type
		00h user defined
		01h NMVT
		02h alert subvectors
		03h PDSTATS subvectors
 0Fh  5 BYTEs	00h
 14h	DWORD	(big-endian) return code (see #03668)
 18h 12 BYTEs	00h
 24h	BYTE	flags (see #03704)
 25h	BYTE	00h
 26h	WORD	length of data
 28h  N BYTEs	data

Bitfields for APPC/PC message transfer flags:
Bit(s)	Description	(Table 03704)
 0	don't add correlation subvector
 1	don't add product set ID subvector
 2	don't do SYSLOG
 3	don't send SSCP_PU_SESSION
SeeAlso: #03703

Top
6806 - INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
	AH = 06h
	DS:DX -> control block (see #03705)
Return: control block updated

Format of APPC/PC "Change Number of Sessions" control block:
Offset	Size	Description	(Table 03705)
 00h 12 BYTEs	reserved
 0Ch	WORD	1500h (verb "Change Number of Sessions")
 0Eh  6 BYTEs	00h
 14h	WORD	(big-endian) primary return code (see #03681)
 16h	DWORD	(big-endian) secondary return code (see #03668,#03706)
 1Ah  8 BYTEs	(big-endian) logical unit ID
 22h  8 BYTEs	blanks
 2Ah  8 BYTEs	(big-endian) partner logical unit name
 32h  8 BYTEs	(big-endian) mode name
 3Ah	BYTE	bit 7: use MODE_NAME_SELECT_ALL rather than MODE_NAME
		bit 6: set negotiable values
 3Bh	BYTE	partner logical unit mode session limit
 3Ch	BYTE	minimum CONWINNERS_SOURCE
 3Dh	BYTE	maximum CONWINNERS_TARGET
 3Eh	BYTE	automatic activation
 3Fh	BYTE	00h
 40h	BYTE	flags
		bit 7: drain target
		bit 6: drain source
		bit 5: target responsible, not source

(Table 03706)
Values for secondary return code (see also AH=01h/SF=1B00h):
 0000h	accepted
 0001h	negotiated
 0003h	bad logical unit ID
 0004h	allocation failure, no retry
 0005h	allocation failure, retry
 0151h	can't raise limits
 0153h	all modes must reset
 0154h	bad SNASVCMG limits
 0155h	minimum greater than total
 0156h	mode closed (primary return code = 1)
	CNOS mode closed (primary return code = 18h)
 0157h	bad mode name (primary return code = 1)
	CNOS bad mode name (primary return code = 18h)
 0159h	reset SNA drains
 015Ah	single not SRC response
 015Bh	bad partner logical unit
 015Ch	exceeds maximum allowed
 015Dh	change SRC drains
 015Eh	logical unit detached
 015Fh	CNOS command race reject

Top
6807 - INT 68 - APPC/PC - PASSTHROUGH
INT 68 - APPC/PC - PASSTHROUGH
	AH = 07h
	DS:DX -> control block (format depends on application subsystem)
Return: control block updated
SeeAlso: AH=FFh

Top
684300 - INT 68 U - ??? - INSTALLATION CHECK???
INT 68 U - ??? - INSTALLATION CHECK???
	AX = 4300h
Return: AX = F386h if ???
	???
Note:	called by Novell DOS 7.0 EMM386.EXE
SeeAlso: AX=4400h,INT 41/AX=004Fh

Top
684400 - INT 68 U - ???
INT 68 U - ???
	AX = 4400h
	BX = ???
	CX = ???
	DX = ???
	DS:SI = real-mode address of protected-mode GDT
	ES:DI = real-mode address of protected-mode IDT
Return: ???
Note:	called by Novell DOS 7.0 EMM386.EXE if AX=4300h returns AX=F386h
SeeAlso: AX=4300h

Top
6847 - INT 68 - MS Windows debugging kernel - OUTPUT STRING
INT 68 - MS Windows debugging kernel - OUTPUT STRING
	AH = 47h
	ES:SI -> string
Notes:	output a string (to inform a debugger of some events)
	KERNEL outputs "Windows Kernel Entry\r\n" on startup
SeeAlso: INT 41/AX=0012h

Top
68FA - INT 68 - APPC/PC - ENABLE/DISABLE APPC
INT 68 - APPC/PC - ENABLE/DISABLE APPC
	AH = FAh
	AL bit 0 = new state (0 enable, 1 disable)
SeeAlso: AH=FDh,INT 68"Novell"

Top
68FB - INT 68 - APPC/PC - CONVERT
INT 68 - APPC/PC - CONVERT
	AH = FBh
	DS:DX -> control block (see #03707)
Return: control block updated

Format of APPC/PC "CONVERT" control block:
Offset	Size	Description	(Table 03707)
 00h 12 BYTEs	reserved
 0Ch	WORD	1A00h (verb "CONVERT")
 0Eh  6 BYTEs	00h
 14h	DWORD	(big-endian) return code
 18h	BYTE	conversion
		00h ASCII to EBCDIC
		01h EBCDIC to ASCII
 19h	BYTE	character set
		00h AE
		01h A
		02h G
 1Ah	WORD	length of string to convert
 1Ch	DWORD	pointer to source
 20h	DWORD	pointer to target

Top
68FC - INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
	AH = FCh
	AL = new state
	    00h disable tracing
	    01h enable tracing
		DX = number of bytes to keep (0=all)
SeeAlso: AH=FDh,AH=FEh

Top
68FD - INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
	AH = FDh
	AL = new tracing state (00h disabled, 01h enabled)
SeeAlso: AH=FAh,AH=FCh,AH=FEh

Top
68FE - INT 68 - APPC/PC - SET TRACE DESTINATION
INT 68 - APPC/PC - SET TRACE DESTINATION
	AH = FEh
	AL = trace destinations (see #03708)
	DS:DX -> trace stats record if AL bit 0 set (see #03709)
SeeAlso: AH=FCh,AH=FDh

Bitfields for trace destinations:
Bit(s)	Description	(Table 03708)
 0	storage (DS:DX -> trace stats record)
 1	display
 2	file (trace written to file OUTPUT.PC)
 3	printer

Format of APPC/PC Trace Statistics Record:
Offset	Size	Description	(Table 03709)
 00h	DWORD	pointer to storage trace buffer
 04h	WORD	max number of 80-byte records in trace
 06h	WORD	(high-order byte first!) current record number (must init to 0)
 08h	DWORD	(high-order byte first!) number of records written (init to 0)
 0Ch	DWORD	reserved
Note:	do not move record while trace is active

Top
68FF - INT 68 - APPC/PC - SET PASSTHROUGH
INT 68 - APPC/PC - SET PASSTHROUGH
	AH = FFh
	DS:DX -> passthrough exit routine
SeeAlso: AH=07h,INT 68"Novell"

Top
69 - INT 69 - Zenith AT BIOS - ???
INT 69 - Zenith AT BIOS - ???
Note:	called by INT 09 handler

Top
69 - INT 69 C - HP Vectra AT - IRQ17 - KEYBOARD OUTPUT-BUFFER-FULL SERVICE ROUTINE
INT 69 C - HP Vectra AT - IRQ17 - KEYBOARD OUTPUT-BUFFER-FULL SERVICE ROUTINE
SeeAlso: INT 09"IRQ1",INT 68"HP Vectra",INT 6A"HP Vectra"

Top
690100 - INT 69 - DECnet DOS CTERM - INSTALLATION CHECK
INT 69 - DECnet DOS CTERM - INSTALLATION CHECK
	AX = 0100h
Return: AL = FFh if present
SeeAlso: AX=010Fh

Top
690101 - INT 69 - DECnet DOS CTERM - SEND BYTE
INT 69 - DECnet DOS CTERM - SEND BYTE
	AX = 0101h
	BL = character
	DX = session handle
Return: AH >= 80h on error
SeeAlso: AX=0102h

Top
690102 - INT 69 - DECnet DOS CTERM - READ BYTE
INT 69 - DECnet DOS CTERM - READ BYTE
	AX = 0102h
	DX = session handle
Return: AH >= 80h on error
	AH < 80h if successful
	    AL = character
SeeAlso: AX=0101h

Top
690103 - INT 69 - DECnet DOS CTERM - STATUS
INT 69 - DECnet DOS CTERM - STATUS
	AX = 0103h
	DX = session handle
Return: AH status flags (see #03710)
	AL = reason code if DECnet error (see #03711)
SeeAlso: AX=0104h

Bitfields for DECnet DOS CTERM status flags:
Bit(s)	Description	(Table 03710)
 7	session has been aborted
 6	DECnet error
 1	trace data available
 0	receive data available

(Table 03711)
Values for reason code:
 00h	normal disconnect
 01h	unknown message from host
 02h	protocol violation from host
 03h	could not process the initiate message
 04h	error receiving message from host
 05h	error sending message to host
 06h	error checking for message from host
 07h	remote system does not support CTERM
 08h	remote system does not support correct protocol version
 09h	did not receive BIND message from host
 0Ah	could not send BIND message to host
 0Bh	no more sessions available
 0Ch	session does not exist
 0Dh	not enough memory to complete operation
 0Eh	connection has broken
Index:	error codes;DECnet DOS CTERM|DECnet DOS CTERM;error codes

Top
690104 - INT 69 - DECnet DOS CTERM - DECnet STATUS
INT 69 - DECnet DOS CTERM - DECnet STATUS
	AX = 0104h
	DX = session handle
Return: AX = reason code (see #03711)
Note:	use this call when AX=0103h returns a DECnet error
SeeAlso: AX=0103h

Top
690105 - INT 69 - DECnet DOS CTERM - OPEN SESSION
INT 69 - DECnet DOS CTERM - OPEN SESSION
	AX = 0105h
	DS:BX -> ASCIZ node name
	ES:DX -> buffer for session control block (see #03727 at INT 6A/AH=D0h)
Return: AX <= 0 on error
	AX > 0 session handle
SeeAlso: AX=0103h,AX=0106h,AX=010Ah

Top
690106 - INT 69 - DECnet DOS CTERM - CLOSE SESSION
INT 69 - DECnet DOS CTERM - CLOSE SESSION
	AX = 0106h
	DX = session handle
Return: AH = status
	    00h good close
	    other error code (see #03711)
SeeAlso: AX=0103h,AX=0105h

Top
69010A - INT 69 - DECnet DOS CTERM - GET SESSION CONTROL BLOCK SIZE
INT 69 - DECnet DOS CTERM - GET SESSION CONTROL BLOCK SIZE
	AX = 010Ah
Return: AX = length of session control block in bytes
SeeAlso: AX=0105h

Top
69010B - INT 69 - DECnet DOS CTERM - GET DECnet SOCKET
INT 69 - DECnet DOS CTERM - GET DECnet SOCKET
	AX = 010Bh
	DX = session handle
Return: AX > 0	DECnet socket for the session
	AX = 0	no match for handle

Top
69010F - INT 69 - DECnet DOS CTERM - DEINSTALL CTERM
INT 69 - DECnet DOS CTERM - DEINSTALL CTERM
	AX = 010Fh
Return: AH = status
	    00h successful uninstall
	    other error code (see #03711)
Note:	CTERM must have been the last TSR loaded in order to deinstall it
SeeAlso: AX=0100h
Index:	uninstall;DECnet DOS CTERM

Top
690A - INT 69 - DECnet DOS 2.1+ - DATA LINK LAYER
INT 69 - DECnet DOS 2.1+ - DATA LINK LAYER
	AH = 0Ah
	AL = function number (see #03712)
	ES:BX -> Datalink Communication Block (see #03714)
Return: AX = status (see #03713)
SeeAlso: INT 6D"DECnet"

(Table 03712)
Values for DECnet DOS Data Link Layer function:
 00h	initialize
 01h	open portal
 02h	close portal
 03h	enable multicast address
 04h	disable multicast address
 05h	transmit
 06h	request transmit buffer
 07h	deallocate transmit buffer
 08h	read channel status
 09h	read datalink portal list
 0Ah	read information about a datalink portal
 0Bh	read and/or clear counters
 0Ch	request to boot from a network server
 0Dh	enable Ethernet channel
 0Eh	disable Ethernet channel
 0Fh	start MOP/send a System ID message
 10h	stop MOP
 11h	get DECPARM
 12h	set DECPARM
 13h	external loopback

(Table 03713)
Values for DECnet DOS Data Link Layer status:
 00h	successful
 01h	hardware failed to initialize
 02h	channel state was not off (must be off to execute that command)
 03h	channel state is off (must be on to execute that command)
 04h	address not set
 05h	hardware missing
 06h	buffer too small
 07h	no more buffers available
 08h	no more resources available
 09h	promiscuous receiver active
 0Ah	non exclusive
 0Bh	unrecognized portal
 0Ch	protocol type in use
 0Dh	not a valid Multicast address
 0Eh	outstanding calls
 0Fh	hardware doesn't support receiving bad frames
 10h	none outstanding
 11h	no events
 12h	broken
 13h	buffer quota exceeded
 14h	already initialized
 15h	loopback failure
Index:	error codes;DECnet DOS|DECnet DOS;error codes

Format of Datalink Communication Block:
Offset	Size	Description	(Table 03714)
 00h	WORD	portal ID
 02h  6 BYTEs	source address
 08h  6 BYTEs	destination address
 0Eh	DWORD	buffer pointer
 12h	WORD	buffer length
 14h	WORD	operation
 16h	BYTE	pad flag (used on open)
		00h no pad
		01h pad
 17h	BYTE	mode flag (used on open)
		00h 802.3
		01h Ethernet
		02h promiscuous
 18h	DWORD	line status change function
 1Ch	DWORD	received data function
 20h	DWORD	transmitted data function
 24h	BYTE	maximum outstanding transmits/receives
 25h  2 BYTEs	protocol type
 27h	WORD	buffers lost

Top
694001 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AX = 4001h
Return: CF clear
	AX = 0000h
	ES:SI -> ???
InstallCheck:	test for the signature "SYSV" immediately before the interrupt
	  handler
Range:	INT 60 to INT 7F, selected by configuration
SeeAlso: AX=4002h
Index:	installation check;10NET SYSSVC

Top
694002 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AX = 4002h
	???
Return: ???
InstallCheck:	test for the signature "SYSV" immediately before the interrupt
	  handler
Range:	INT 60 to INT 7F, selected by configuration

Top
694101 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AX = 4101h
Return: CF clear
	ES:SI -> ???
Range:	INT 60 to INT 7F, selected by configuration
SeeAlso: AX=4102h,AX=4103h,AX=4104h

Top
694102 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AX = 4102h
	???
Return: ???

Top
694103 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AX = 4103h
	???
Return: ???

Top
694104 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AX = 4104h
	???
Return: ???

Top
6942 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AH = 42h
	AL = function (01h-14h)
	???
Return: ???
Range:	INT 60 to INT 7F, selected by configuration

Top
6943 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AH = 43h
	AL = function (01h-05h)
	???
Return: ???

Top
6944 - INT 69 - 10NET v5.0 - SYSSVC.COM - ???
INT 69 - 10NET v5.0 - SYSSVC.COM - ???
	AH = 44h
	AL = function (01h-03h)
	???
Return: ???
Range:	INT 60 to INT 7F, selected by configuration

Top
6949 - INT 69 - 10NET v5.0 - SYSSVC.COM - BUG
INT 69 - 10NET v5.0 - SYSSVC.COM - BUG
	AH = 49h
Note:	due to a fencepost error, this function branches to hyperspace
SeeAlso: AX=4001h,AH=FFh

Top
696996 - INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
	AX = 6996h
	DS:DX -> interrupt handler or 0000h:0000h to disable
Return: AX = 9669h
Program: ISR (Interrupt Service Reflector) is a TSR by Rich Bono which permits
	  a program to provide hardware interrupt handlers even while being
	  debugged with a debugger that swaps interrupt vectors during
	  debugging.
Note:	the interrupt vector which is to be reflected is set at installation
	  time and cannot be changed

Top
69FF - INT 69 - 10NET v5.0 - SYSSVC.COM - SIGNAL SYSTEM ERROR
INT 69 - 10NET v5.0 - SYSSVC.COM - SIGNAL SYSTEM ERROR
	AH = FFh
Return: never???
Desc:	displays "System Error" message and register dump, then halts system
InstallCheck:	test for the signature "SYSV" immediately before the interrupt
	  handler
Range:	INT 60 to INT 7F, selected by configuration
SeeAlso: AX=4001h,AH=49h

Top
6A - INT 6A - OPTHELP.COM
INT 6A - OPTHELP.COM
Program: OPTHELP is an optionally-resident help system for SLR Systems's OPTASM
	  assembler
Range:	INT 60h to INT 7Fh, selected by configuration

Top
6A - INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM - INSTALLATION CHECK
INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM - INSTALLATION CHECK
InstallCheck:	test for a signature area immediately preceding the interrupt
	  handler (see #03715)
SeeAlso: AH=01h/DH=FFh,INT 6B"DECnet",INT 6D"DECnet"
Index:	installation check;DECnet DOS Local Area Transport

Format of DECnet DOS signature area:
Offset	Size	Description	(Table 03715)
 -5	BYTE	major version number
 -4	BYTE	minor version number
 -3   3 BYTEs	signature (ASCII "LAT")

Top
6A - INT 6A C - HP Vectra AT - IRQ18 - RESERVED HARDWARE INTERRUPT
INT 6A C - HP Vectra AT - IRQ18 - RESERVED HARDWARE INTERRUPT
SeeAlso: INT 0A"IRQ2",INT 69"HP Vectra",INT 6B"HP Vectra"

Top
6A0000 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - INSTALLATION CHECK
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - INSTALLATION CHECK
	AX = 0000h
Return: AX = 4357h ('CW')
Program: Super-TCP is a TCP/IP protocol stack by Frontier Technologies Corp.
Note:	an alternate installation check is to test for the ASCIZ signature
	  "FTC Super-TCP" three bytes past the interrupt handler
SeeAlso: AX=0001h,AX=0002h,AX=000Fh,AX=0010h,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 61"FTP Software",INT 62/AH=00h"ETHDEV"

Top
6A0001 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
	AX = 0001h
	BH = function number
	    01h ???
		DS:SI -> ??? 24-byte record1 (see #03717)
		ES:DI -> buffer containing ???
	    02h ???
		DS:SI -> ??? 18-byte record2 (see #03718)
		ES:DI -> buffer containing ???
	    04h ???
		BL = subfunction
		    01h
			DS:SI -> ??? 28-byte record3 (see #03719)
			ES:DI -> buffer containing ???
		    02h
			DS:SI -> ??? 28-byte record3 (see #03719)
			ES:DI -> buffer containing ???
		    03h
			DS:SI -> ??? 28-byte record3 (see #03719)
		    else Return: AX = 0005h
	    05h ???
		DS:SI -> ??? 20-byte record4 (see #03720)
		ES:DI -> buffer containing ???
	    06h ???
		BL = subfunction
		    01h
			DS:SI -> ??? 40-byte record5 (see #03721)
		    02h
			DS:SI -> ??? 20-byte record6 (see #03722)
			ES:DI -> ???
		    03h
			DS:SI -> ??? 20-byte record6 (see #03722)
		    04h
			DS:SI -> ??? 46-byte record7 (see #03723)
		    else Return: AX = 0005h
	    11h ???
		DS:SI -> ??? 28-byte record8 (see #03724)
		ES:DI -> ???
Return: AX = function status (see #03716)
SeeAlso: AX=0000h

(Table 03716)
Values for Super-TCP function status:
 0000h	successful
 0005h	unsupported function
 000Ah	out of memory

Format of record1:
Offset	Size	Description	(Table 03717)
 00h  4 BYTEs	???
 04h	WORD	size of ES:DI buffer
 06h 18 BYTEs	???

Format of record2:
Offset	Size	Description	(Table 03718)
 00h  4 BYTEs	???
 04h	WORD	size of ES:DI buffer
 06h 12 BYTEs	???

Format of record3:
Offset	Size	Description	(Table 03719)
 00h  2 BYTEs	???
 02h	WORD	???
 04h	WORD	size of ES:DI buffer
 06h	WORD	???
 08h	WORD	operation number (for function 0401h)
 0Ah	DWORD	-> ???
 0Eh	WORD	(ret) ???
 10h 12 BYTEs	???

Format of record4:
Offset	Size	Description	(Table 03720)
 00h  4 BYTEs	???
 04h	WORD	size of ES:DI buffer
 06h 14 BYTEs	???

Format of record5:
Offset	Size	Description	(Table 03721)
 00h	BYTE	operation??? (00h-07h)
 01h	BYTE	???
 02h	WORD	(ret) ???
 04h	DWORD	-> ???
 08h  4 BYTEs	???
 0Ch	DWORD	-> ??? or 0000h:0000h
 10h 16 BYTEs	???
 20h	DWORD	???
 24h  4 BYTEs	???

Format of record6:
Offset	Size	Description	(Table 03722)
 00h  4 BYTEs	???
 04h	WORD	size of ES:DI buffer
 06h 14 BYTEs	???

Format of record7:
Offset	Size	Description	(Table 03723)
 00h	WORD	???
 02h	WORD	???
 04h	WORD	???
 06h 40 BYTEs	???

Format of record8:
Offset	Size	Description	(Table 03724)
 00h  4 BYTEs	???
 04h	WORD	size of ES:DI buffer
 06h  6 BYTEs	???
 0Ch	WORD	(ret) ???
 0Eh	WORD	operation??? (01h-03h)
 10h 12 BYTEs	???

Top
6A0002 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ???
	AX = 0002h
	BX = ??? (zero/nonzero)
	CX = ??? identifier (see AX=0004h)
	DS:SI -> 40-byte buffer for ??? or 0000h:0000h
	ES:DI -> buffer for ??? or 0000h:0000h
Return: AX = 0000h (successful) ???
	BL = ???
	BH = ???
	CX = ???
	DX = ???

Top
6A0003 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - GET ??? DATA AREA
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - GET ??? DATA AREA
	AX = 0003h
Return: CX:DX -> data area (see #03725)

Format of Super-TCP data area:
Offset	Size	Description	(Table 03725)
 00h  2 BYTEs	???
 02h	DWORD	original INT 6A vector
 06h  2 BYTEs	???
 08h 96 BYTEs	array of 16 6-byte ???
 68h	WORD	number of elements of above array in use
 6Ah	WORD	???
	???

Top
6A0004 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ALLOCATE ???
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - ALLOCATE ???
	AX = 0004h
	CX = size in ???
Return: AX = 0000h (successful)
	CX = DX = ???
SeeAlso: AX=0005h,AX=000Fh

Top
6A0005 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ???
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ???
	AX = 0005h
	CX = ??? identifier (from AX=0004h)
Return: AX = status (0000h successful, FFFFh failed)
SeeAlso: AX=0004h,AX=000Fh

Top
6A000F - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ALL ???
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - FREE/CLOSE ALL ???
	AX = 000Fh
Return: AX = 0000h (successful)
SeeAlso: AX=0000h,AX=0004h,AX=0005h

Top
6A0010 - INT 6A U - Super-TCP DOS TSR Kernel v3.57 - UNINSTALL
INT 6A U - Super-TCP DOS TSR Kernel v3.57 - UNINSTALL
	AX = 0010h
Return: AX = status
	    0000h successful
	    0002h can't uninstall, interrupt vector hooked by another program
Program: Super-TCP is a TCP/IP protocol stack by Frontier Technologies Corp.
Note:	if AX is not one of the values listed here on entry, Super-TCP
	  returns AX=FFFEh
SeeAlso: AX=0000h

Top
6A01--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BYTE
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BYTE
	AH = 01h
	DH = FFh
	AL = character
	DL = handle
Return: AH >= 80h on error
SeeAlso: AH=02h

Top
6A02--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - READ BYTE
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - READ BYTE
	AH = 02h
	DH = FFh
	DL = handle
Return: AH < 80h if successful
	    AL = character
	AH >= 80h on error
SeeAlso: AH=01h

Top
6A03--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - STATUS
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - STATUS
	AH = 03h
	DH = FFh
	DL = handle
Return: AH = status flags (see #03726)

Bitfields for DECnet DOS LAT status flags:
Bit(s)	Description	(Table 03726)
 5	transmit buffer empty
 3	session in start state
 2	session not active
 1	unable to queue transmit data
 0	receive data available

Top
6AD0--DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - OPEN SESSION
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - OPEN SESSION
	AH = D0h
	DH = FFh
	AL = password flag
	    FFh no password
	    0Fh password at ES:DI
	ES:BX -> LAT session control block (see #03727)
	ES:DI -> 16-byte blank-padded password (optional)
Return: AH = 00h success
	    DL = handle
SeeAlso: AX=D000h

Format of LAT Session Control Block:
Offset	Size	Description	(Table 03727)
 00h 18 BYTEs	service name
 12h 18 BYTEs	node name (future use)
 24h 18 BYTEs	port name (future use)
 36h	DWORD	-> session stopped post routine
 3Ah	DWORD	-> service table overflow post routine
 3Eh	DWORD	-> transmit post routine
 42h	DWORD	-> receive post routine
 46h	WORD	session status
		04h circuit failure
		08h stop slot received
---LAT v???---
 48h	WORD	slot state (LAT driver use)
 4Ah	WORD	local credits (LAT driver use)
 4Ch	DWORD	-> VCB (LAT driver use)
 50h	WORD	backward slot (LAT driver use)
 52h	WORD	forward slot (LAT driver use)
 54h	WORD	remote slot ID (LAT driver use)
 56h	WORD	local slot ID (LAT driver use)
 58h	WORD	slot byte count (LAT driver use)
 5Ah	BYTE	remote credits (LAT driver use)
 5Bh 255 BYTEs	transmitted data slot
15Ah	BYTE	number of receive data slots (4 recommended)
15Bh	BYTE	number of occupied slots
15Ch	BYTE	index of next receive slot to use
15Dh	BYTE	index of current receive slot
15Eh	WORD	pointer to first received character
160h  N WORDs	pointers to receive slots (buffers); each is 259 bytes
     259N BYTEs	buffers
Note:	set post routines to 0000h:0000h if polled operation will be used
---LAT v4.1.17---
 48h	WORD	session state (LAT driver use)
 4Ah	BYTE	local credits (LAT driver use)
 4Bh	DWORD	-> VCB (LAT driver use)
 4Fh	WORD	backward slot (LAT driver use)
 51h	WORD	forward slot (LAT driver use)
 53h	BYTE	remote slot ID (LAT driver use)
 54h	BYTE	local slot ID (LAT driver use)
 55h	BYTE	slot byte count (LAT driver use)
 56h	BYTE	remote credits (LAT driver use)
 57h 255 BYTEs	transmitted data slot
156h	BYTE	number of receive data slots (4 recommended)
157h	BYTE	number of occupied slots
158h	BYTE	index of next receive slot to use
159h	BYTE	index of current receive slot
15Ah	WORD	pointer to first received character
15Ch  N WORDs	pointers to receive slots (buffers); each is 259 bytes
     259N BYTEs	buffers
Note:	set post routines to 0000h:0000h if polled operation will be used

Top
6AD000DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - CLOSE SESSION
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - CLOSE SESSION
	AX = D000h
	DH = FFh
	DL = handle
Return: AX = status (see #03728)
SeeAlso: AH=D0h

(Table 03728)
Values for DECnet DOS LAT function status:
 0000h	successful
 0001h	no such session
 0002h	session not running, try again later

Top
6AD100DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BREAK
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BREAK
	AX = D100h
	DH = FFh
	DL = handle
Return: AX = 0000h if successful
	AH bit 7 set if unable to send break

Top
6AD300DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - RESET LAT COUNTERS
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - RESET LAT COUNTERS
	AX = D300h
	DH = FFh
SeeAlso: AX=D400h

Top
6AD400DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - COPY LAT COUNTERS
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - COPY LAT COUNTERS
	AX = D400h
	DH = FFh
	CX = buffer size
	ES:BX -> buffer for LAT counters
Return: AX = status
	    0000h counters copied into buffer
	    FFFFh buffer too small
SeeAlso: AX=D300h

Top
6AD500DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - GET NEXT LAT SERVICE NAME
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - GET NEXT LAT SERVICE NAME
	AX = D500h
	DH = FFh
	ES:BX -> 17-byte buffer for name
Return: AH = 00h if successful
	   ES:BX buffer filled
	AX = FFFFh if end of table or no name available
Notes:	use this function to get the names of the hosts on the network
	successive calls are necessary to get all names
SeeAlso: AX=D600h/DH=FFh

Top
6AD600DHFF - INT 6A - DECnet DOS LOCAL AREA TRANSPORT - LAT SERVICE TABLE RESET
INT 6A - DECnet DOS LOCAL AREA TRANSPORT - LAT SERVICE TABLE RESET
	AX = D600h
	DH = FFh
Return: AX = number of service table entries
	BX = status
	    0000h service table has not overflowed
	    FFFFh service table has overflowed
SeeAlso: AX=D500h

Top
Section -


Top
6B - INT 6B - DECnet DOS - PORT DRIVER
INT 6B - DECnet DOS - PORT DRIVER
InstallCheck:	test for a signature area (see #03729) immediately preceding
	  the interrupt handler
SeeAlso: INT 6A"DECnet",INT 6C"DECnet"
Index:	installation check;DECnet DOS Port Driver

Format of DECnet DOS signature area:
Offset	Size	Description	(Table 03729)
 -5	BYTE	major version number
 -4	BYTE	minor version number
 -3   3 BYTEs	signature (ASCII "PDV")

Top
6B - INT 6B - VIRUS - "Saddam" - ORIGINAL INT 21h VECTOR
INT 6B - VIRUS - "Saddam" - ORIGINAL INT 21h VECTOR
SeeAlso: INT 21/AX=FFFFh,INT 61"VIRUS",INT 70"VIRUS"

Top
6B - INT 6B C - HP Vectra AT - IRQ19 - RESERVED HARDWARE INTERRUPT
INT 6B C - HP Vectra AT - IRQ19 - RESERVED HARDWARE INTERRUPT
SeeAlso: INT 0B"IRQ3",INT 6A"HP Vectra",INT 6C"HP Vectra"

Top
6B0000 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
	AX = 0000h
	CX = length
	ES:BX -> buffer
Return: CX = number of bytes written
Program: NASI is Novell's NetWare Asynchronous Services Interface (purchased
	  from Network Products Corp, who call it NCSI) which runs on
	  workstations; NACS is the NetWare Asynchronous Communications
	  Services module which runs on servers
InstallCheck:	test for the signature string "NCSI" three bytes past the
	  interrupt handler; see also AH=02h.
	As of version 3.0, Novell's NASI can be distinguished from NPC's
	  NCSI by the presence of an 'A' immediately following the signature
Notes:	this function is also supported by TelAPI, NPC NCSI, and Connection
	  Manager CLIENT.EXE; for TelAPI, nonzero values in AL specify a
	  connection ID
	Connection Manager returns CF set/AL=FFh if called while an INT 6B
	  call is already in progress
SeeAlso: AX=0100h,AH=18h,INT 14/AH=19h,INT 14/AH=E3h

Top
6B0100 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
	AX = 0100h
	CX = length of buffer
	ES:BX -> buffer
Return: CX = number of bytes read
Note:	also supported by TelAPI and NPC NCSI; for TelAPI, nonzero values in
	  AL specify a connection ID
SeeAlso: AX=0000h,AH=19h,INT 14/AH=18h,INT 14/AH=E2h,INT 14/AX=FF02h

Top
6B02 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
	AH = 02h
	AL nonzero
Return: AL = 00h if present and OK
Note:	this function is also supported by TelAPI and NPC NCSI
SeeAlso: AX=0700h

Top
6B0600 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
	AX = 0600h
	CX = command
	    02h send break
	    04h disconnect
	    06h hold
Return: CF clear if successful
	    AL = 00h
	CF set on error
	    AX < 0
Note:	this function is also supported by TelAPI and NPC NCSI

Top
6B0700 - INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
	AX = 0700h
Return: CH <> 00h if connection active
Notes:	this function is also supported by TelAPI and NPC NCSI
	Novell TelAPI returns CX=FF01h and CF clear
SeeAlso: AH=02h,AH=10h

Top
6B08 - INT 6B - TelAPI - CHECK FOR BREAK SIGNAL
INT 6B - TelAPI - CHECK FOR BREAK SIGNAL
	AH = 08h
	AL = circuit number
Return: CF clear if no breaks
	    AL = 00h
	    CX = 0000h
	CF set if one or more breaks received
Note:	this function also clears ??? flag
SeeAlso: INT 14/AX=FF00h

Top
6B10 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
	AH = 10h
	AL = connection ID (Novell TELAPI.EXE)
	CX = ???
	ES:BX -> buffer for status (see #03730)
Return: CF clear if successful
	    CL = ???
	    CH = ???
	CF set on error
	???
Notes:	this function is also supported by TelAPI
	when shelled out to an external protocol from Novell NASI, the circuit
	  whose status indicates that it is connected is the currently active
	  circuit
SeeAlso: AX=0700h,AH=12h,AH=1Fh

Format of NASI status:
Offset	Size	Description	(Table 03730)
 00h	BYTE	number of allocated virtual circuits
 01h	BYTE	reserved
 02h  9 BYTEs	states of emulated circuits 0-8
		00h idle
		01h attached Telnet session, in command state
		02h attached Telnet session, connected with host
		03h-06h ??? (not returned by TelAPI)
Note:	this description is derived from the Novell TelAPI emulation of NASI

Top
6B11--DX0001 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
	AH = 11h
	DX = 0001h
	AL = 00h
	ES:BX -> service name string (8 characters, blank-padded)
Return: CF clear if successful
	    AL = virtual circuit number allocated (01h for Novell TELAPI.EXE)
	    CL = ??? (01h for Novell TELAPI.EXE)
	    CH = ??? (01h for Novell TELAPI.EXE)
	CF set on error
	    ???
Note:	this function is also supported by TelAPI
SeeAlso: AH=12h,AH=15h,AH=16h,AH=17h,AH=18h

Top
6B12 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
	AH = 12h
	AL = virtual circuit number (0-8)
Return: CF clear if successful
	    AL = virtual circuit number
	    CL = virtual circuit's state
		00h idle
		01h Telnet session, in command state
		02h Telnet session, connected to host
		03h-06h ??? (not returned by TelAPI)
	CF set on error
	    AL = error code
		E2h invalid virtual circuit number
		E4h specified virtual circuit not allocated
Note:	this function is also supported by TelAPI
SeeAlso: AH=10h,AH=15h,AH=1Ah,AH=1Bh,AH=1Fh

Top
6B13 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
	AH = 13h
	AL = virtual circuit number
	CL = direction (00h get, nonzero set)
	ES:BX -> buffer for/containing service name
Return: ???
Note:	this function is also supported by TelAPI
SeeAlso: AH=14h,AH=15h

Top
6B14 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
	AH = 14h
	AL = virtual circuit number
	ES:BX -> buffer for/containing service address
Return: ???
Note:	this function is also supported by TelAPI, which only supports
	  retrieving the address
SeeAlso: AH=13h,AH=15h,AH=21h

Top
6B15 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
	AH = 15h
	AL = virtual circuit number
	CL = direction (00h get, nonzero set)
	ES:BX -> buffer for/containing virtual circuit config (see #03731)
Return: ES:BX buffer filled
Note:	this function is also supported by TelAPI
SeeAlso: AH=13h"NCSI",AH=14h"NCSI"

Format of virtual circuit configuration:
Offset	Size	Description	(Table 03731)
 00h	WORD	buffer length
 02h	WORD	port ID
 04h	WORD	receive rate
 06h	WORD	receive word length
 08h	WORD	receive stop bits
 0Ah	WORD	receive parity
 0Ch	WORD	transmit rate
 0Eh	WORD	transmit word length
 10h	WORD	transmit stop bits
 12h	WORD	transmit parity
 14h	WORD	DTR
 16h	WORD	RTS

Top
6B16 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
	AH = 16h
	AL = virtual circuit number
	CL = ??? switch (00h, ???)
Return: CF clear if successful
	    AL = virtual circuit number
	CF set on error
	    ???
Note:	this function is also supported by TelAPI, which always returns CF
	  clear and AL=00h
SeeAlso: AH=11h,AH=12h,AH=17h

Top
6B17 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
	AH = 17h
	AL = virtual circuit number
Return: CF clear if successful
	CF set on error
	???
Note:	this function is also supported by TelAPI, which always returns CF
	  clear and AL=00h
SeeAlso: AH=11h,AH=16h

Top
6B18 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
	AH = 18h
	AL = virtual circuit number
	CX = number of characters to send
	ES:BX -> buffer containing characters to be sent
Return: CF clear if successful
	CF set on error
	???
Note:	this function is also supported by TelAPI, which always returns CF
	  clear and AL=30h
SeeAlso: AX=0000h,AH=12h,AH=19h

Top
6B19 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
	AH = 19h
	AL = virtual circuit number
	CX = number of characters to read
	ES:BX -> buffer for received characters
Return: CX = 0000h if failed
	CX = nonzero (possibly number of characters received) if successful
Note:	this function is also supported by TelAPI
SeeAlso: AX=0100h,AH=12h,AH=18h

Top
6B1A - INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
	AH = 1Ah
	???
Return: ???
SeeAlso: AH=12h,AH=1Bh

Top
6B1B - INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
	AH = 1Bh
	???
Return: ???
SeeAlso: AH=12h,AH=1Ah

Top
6B1C - INT 6B - NPC NCSI EXTENDED SERIAL I/O - CLEAR RECEIVE BUFFER
INT 6B - NPC NCSI EXTENDED SERIAL I/O - CLEAR RECEIVE BUFFER
	AH = 1Ch
	AL = circuit number
Return: nothing
SeeAlso: AH=1Dh"NCSI",AH=1Eh"NCSI"

Top
6B1D - INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
	AH = 1Dh
	???
Return: ???
SeeAlso: AH=1Ch,AH=1Eh

Top
6B1E - INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
	AH = 1Eh
	???
Return: ???
SeeAlso: AH=1Ch,AH=1Dh

Top
6B1F - INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
	AH = 1Fh
	???
Return: ???
SeeAlso: AH=10h,AH=12h

Top
6B20 - INT 6B - Connection Manager CLIENT.EXE - ???
INT 6B - Connection Manager CLIENT.EXE - ???
	AH = 20h
	???
Return: ???
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
	  serial ports over an IPX or NetBIOS-based network
Note:	CLIENT.EXE returns CF set/AL=F9h if AH is not 00h to 21h on entry

Top
6B21 - INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
	AH = 21h
	AL = virtual circuit number
	CL = ??? (00h or 01h)
	ES:BX -> buffer for service name structure (see #03732)
Return: CF clear if successful
	    ES:BX buffer filled
	CF set on error
Notes:	a program should call this function after allocating a virtual circuit
	  and check that the general name matches the requested service
	prior to version 3.0, Novell's NASI returned the first available port;
	  v3.0+ returns the first port found--check the returned status to
	  determine whether the port is available
SeeAlso: AH=14h"NCSI"

Format of NCSI service name structure:
Offset	Size	Description	(Table 03732)
 00h	WORD	buffer length
 02h  8 BYTEs	service name
 0Ah  8 BYTEs	general name
 12h  8 BYTEs	specific name
 1Ah  4 BYTEs	???
---Novell NASI v3.0+ ---
 1Eh	BYTE	port number
 1Fh	BYTE	port status
		00h idle (available)
		01h allocated (available)
		02h connected
		03h on hold

Top
6B6B - INT 6B - Tandy SCHOOLMATE PLUS - API
INT 6B - Tandy SCHOOLMATE PLUS - API
	AH = 6Bh
	AL = E0h to FFh
Note:	details not yet available

Top
6C - INT 6C - system resume vector (CONVERTIBLE)
INT 6C - system resume vector (CONVERTIBLE)

Top
6C - INT 6C - DOS 3.2 Realtime Clock update
INT 6C - DOS 3.2 Realtime Clock update

Top
6C - INT 6C - DECnet DOS network scheduler
INT 6C - DECnet DOS network scheduler
InstallCheck:	test for a signature area immediately preceding the interrupt
	  handler (see #03733)
Note:	this function is also supported by DEC Pathworks for DOS
SeeAlso: INT 6B"DECnet",INT 6D"DECnet",INT 6E"DECnet"
Index:	installation check;DECnet DOS scheduler

Format of DECnet DOS signature area:
Offset	Size	Description	(Table 03733)
 -5	BYTE	major version number
 -4	BYTE	minor version number
 -3   3 BYTEs	signature (ASCII "SCH")

Top
6C - INT 6C C - HP Vectra AT - IRQ20 - HP-HIL CONTROLLER INTERRUPT
INT 6C C - HP Vectra AT - IRQ20 - HP-HIL CONTROLLER INTERRUPT
SeeAlso: INT 0C"IRQ4",INT 6B"HP Vectra",INT 6D"HP Vectra"

Top
6D - INT 6D - VIDEO - many VGA - VIDEO BIOS ENTRY POINT
INT 6D - VIDEO - many VGA - VIDEO BIOS ENTRY POINT
Desc:	points at the original INT 10 entry point set up by the VGA BIOS
Notes:	used by IBM, ATI VGA Wonder, Paradise, Video7, and NCR, and many others
	the Diamond Stealth64 BIOS uses this vector to store the INT 42 vector
	   of the inactive video (see INT 10/AH=12h/BL=35h)
SeeAlso: INT 10/AH=00h,INT 10/AH=0Eh,INT 10/AH=12h/BL=10h

Top
6D - INT 6D - Trident SVGA - VIDEO BIOS HANDLER
INT 6D - Trident SVGA - VIDEO BIOS HANDLER
Note:	the BIOS INT 10 handler on various Trident VGA cards consists merely
	  of a call to INT 6D followed by an IRET.

Top
6D - INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM
INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM
	AH = function
	???
Return: ???
InstallCheck:	test for a signature area immediately preceding the interrupt
	  handler (see #03734)
SeeAlso: INT 69/AH=0Ah,INT 6C"DECnet",INT 6E"DECnet"
Index:	installation check;DECnet DOS Data Link Layer

Format of DECnet DOS signature area:
Offset	Size	Description	(Table 03734)
 -5	BYTE	major version number
 -4	BYTE	minor version number
 -3   3 BYTEs	signature (ASCII "DLL")

Top
6D - INT 6D C - HP Vectra AT - IRQ21 - RESERVED HARDWARE INTERRUPT
INT 6D C - HP Vectra AT - IRQ21 - RESERVED HARDWARE INTERRUPT
SeeAlso: INT 0D"IRQ5",INT 6C"HP Vectra",INT 6E"HP Vectra"

Top
6DBD60 - INT 6D U - Matrox Multiple Monitor Support v1.0 - ???
INT 6D U - Matrox Multiple Monitor Support v1.0 - ???
	AX = BD60h
	DS:SI -> buffer containing ??? (see #03735)
	???
Return: AX = 00BDh if function executed
	   ???:SI -> 22-byte buffer (inside TSR) filled with ??? (see #03735)
	AX unchanged if function disabled
Note:	this function is a NOP if AX=BD6Fh/BL=01h was called
SeeAlso: AX=BD61h,AX=BD6Fh,AX=BDFFh

Format of Matrox ??? buffer:
Offset	Size	Description	(Table 03735)
 00h  4 BYTEs	???
 04h	WORD	video mode width in pixels
 06h	WORD	video mode height in pixels
 08h	BYTE	???
 09h	BYTE	???
 0Ah	BYTE	???
 0Bh	BYTE	flags
		bit 1: ???
		bit 4: ??? (corresponds to bit 14 for AX=BD61h)
		bit 5: ??? (corresponds to bit 15 for AX=BD61h)
 0Ch	DWORD	-> ??? buffer
 10h	WORD	???
		bit 4: ??? (corresponds to bit 14 for AX=BD61h)
		bit 5: ??? (corresponds to bit 15 for AX=BD61h)
 12h  4 BYTEs	???
SeeAlso: #03736

Top
6DBD61 - INT 6D U - Matrox Multiple Monitor Support v1.0 - GET VIDEO MODE INFORMATION
INT 6D U - Matrox Multiple Monitor Support v1.0 - GET VIDEO MODE INFORMATION
	AX = BD61h
	BX = width in pixels (bits 13-0)
	    bit 14: ???
	    bit 15: ???
	CX = height in pixels
Return: AL = BDh if function supported
	    AH = status
		00h successful
		01h failed (resolution/flags not supported)
	    CX:BX -> video mode data structure (see #03736)
		  (first word is FFFFh if unsupported resolution)
	    EAX high word cleared
SeeAlso: AX=BD60h,AX=BD6Fh,AX=BDFFh

Format of Matrox video mode information (VCE structure):
Offset	Size	Description	(Table 03736)
 00h	WORD	width in pixels
 02h	WORD	height in pixels
 04h	WORD	???
 06h	DWORD	dot clock frequency
 0Ah 25 BYTEs	???
SeeAlso: #03735

Top
6DBD6F - INT 6D U - Matrox Multiple Monitor Support v1.0 - INSTALLATION CHECK
INT 6D U - Matrox Multiple Monitor Support v1.0 - INSTALLATION CHECK
	AX = BD6Fh
	BL = subfunction
	    00h installation check
	    01h disable TSR
	    02h enable TSR (see AX=BD60h)
Return: AX = 00BDh if installed
SeeAlso: AX=BD60h,AX=BD61h,AX=BDFFh

Top
6DBDFF - INT 6D U - Matrox Multiple Monitor Support v1.0 - UNHOOK INTERRUPT (UNINSTALL)
INT 6D U - Matrox Multiple Monitor Support v1.0 - UNHOOK INTERRUPT (UNINSTALL)
	AX = BDFFh
Return: AX = 00BDh if supported
Note:	this function revectors INT 6D without checking that it points at the
	  TSR, and does not release the memory occupied by the TSR
SeeAlso: AX=BD60h,AX=BD61h,AX=BD6Fh

Top
6E - INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
InstallCheck:	test for the signature/data area (see #03737) immediately prior
	  to the interrupt handler
Note:	this is the main DECnet DOS access, and is described in Digital manual
	  AA-EB46B-TV ("DECnet-DOS Programmer's Reference Manual")
Index:	installation check;DECnet DOS

Format of DECnet DOS signature area:
Offset	Size	Description	(Table 03737)
 -5	BYTE	major version number
 -4	BYTE	minor version number
 -3   3 BYTEs	signature (ASCII "DNP")

Top
6E - INT 6E C - HP Vectra AT - IRQ22 - RESERVED HARDWARE INTERRUPT
INT 6E C - HP Vectra AT - IRQ22 - RESERVED HARDWARE INTERRUPT
SeeAlso: INT 0E"IRQ6",INT 6D"HP Vectra",INT 6F/AH=00h"HP Vectra"

Top
6F - INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
	AX = function
	    0000h enter terminal mode
		Return: AX = status
			    0000h no action requested
			    0001h screen save
	    0001h reset interface and set configuration parameters
		DX = bitfields
		    bits 2-0: model number
		    bits 4-3: I/O address
		    bits 6-5: DMA channel
		Return: nothing
	    0002h set display parameters
		DX = bitfields
		    bits 1-0: OIA mode
		    bits 4-2: monitor support
		Return: nothing
	    0003h read status
		Return: AX = status word (see #03738)
	    0004h read cursor position
		Return: AX = cursor position
	    0005h get character from device buffer
		DX = cursor position
		Return: AH = type (00h data, 01h attribute)
			AL = data or attribute character
	    0006h send character
		DH = type (00h ASCII, 01h extended code)
		DL = ASCII character or extended code
		Return: nothing
	    0007h set timeout
		DX = timeout in seconds
		Return: nothing
	    0008h wait for location to be modified
		DX = cursor position
		Return: AX = status (0000h modified, nonzero timeout)
	    0009h NOP
	    000Ah restore display
		Return: nothing
	    000Bh update device buffer
		Return: AX = cursor positoin
	    000Ch write string to add information area
		DS:DX -> string
		Return: nothing
	    000Dh maintenance operations
		DX = maintenance operation code
		Return: AX = operation status
	    000Eh get control program version
		Return: AH = release number (major version)
			AL = level number (minor version)
	    000Fh get microcode version
		Return: AH = release number (major version)
			AL = level number (minor version)
	    0010h save or display graphics
		BX = length of data buffer
		CX = subfunction request code
		DS:DX -> data buffer
		Return: AX = return code
			CX = length of PIF data
	    0011h perform structured field operation
		CX = request number
		DS:DX -> parameter list
		Return: AX = status word (see #03738)
			CX = error number
	    0012h set cursor position for direct write buffer
		DX = new cursor position
		Return: AX = status word (see #03738)
	    0013h write direct to buffer
		DL = character to be written
		DH = translation option
		Return: AX = status word (see #03738)
	    0014h write direct to buffer without echo
		DL = character to be written
		DH = translation option
		Return: AX = status word (see #03738)
	    0015h set direct write string length
		DX = string value
		Return: nothing
	    0016h write string direct to buffer
		DS:DX -> string
		Return: AX = status word (see #03738)
	    0017h write string direct to buffer, untranslated
		DS:DX -> string
		Return: AX = status word (see #03738)
	    0018h get direct-write cursor position
		Return: AX = cursor position
	    0019h convert row/column to cursor position
		DH = display row (1-43)
		DL = display column (1-132)
		Return: AX = cursor position
	    001Ah convert cursor position to row/column
		DX = cursor position
		Return: AH = display row
			AL = display column
	    001Bh find next field
		DX = initial cursor position
		Return: AX = field cursor position
	    001Ch find previous field
		DX = initial cursor position
		Return: AX = field cursor position
	    001Dh find next unprotected field
		DX = initial cursor position
		Return: AX = field cursor position
	    001Eh find previous unprotected field
		DX = initial cursor position
		Return: AX = field cursor position
	    001Fh find next protected field
		DX = initial cursor position
		Return: AX = field cursor position
	    0020h find previous protected field
		DX = initial cursor position
		Return: AX = field cursor position
	    0021h masked search forward
		DH = mask
		DL = search pattern
		Return: AX = cursor position or 0000h
	    0022h masked search backward
		DH = mask
		DL = search pattern
		Return: AX = cursor position or 0FFFh
	    0023h find field length
		DX = cursor position
		Return: AX = field length
	    0024h read field
		DS:DX -> buffer for field contents
		Return: AX = status word (see #03738)
	    0025h read screen
		DS:DX -> buffer for screen contents
		Return: AX = status word (see #03738)
	    0026h read buffer untranslated
		DX = cursor position
		Return: AX = buffer code
			CX:BX -> 3278/79 device buffer image
	    0027h enable/disable keyboard
		DL = new state of keyboard breaks (00h enabled, 01h disabled)
		Return: nothing
	    0028h select host session
		DL = session short name
		Return: AX = session information
	    0029h retrieve host session name
		AX = short name (DFT) or 0000h (not available, CUT mode)
	    002Ah get current device buffer size
		Return: AX = device buffer size
			CX = segment of EAB
	    002Bh arm modified location trigger
		DX = cursor position
		Return: AX = status (0000h not available, 0001h successful)

Bitfields for PCOX status word:
Bit(s)	Description	(Table 03738)
 0,1	cursor type
 2	cursor inhibited
 3	display inhibited
 4	feature step inhibited
 5	480-character format code
 6,7	unused
 8-10	model number (2-5)
 11	unit has been reset by controller (cleared after status returned)
 12	buffer has been written into (cleared after status returned)
 13	alarm has been sounded (cleared after status returned)
 14-15	monitor type (01 mono, 10 color, 11 hybrid)

Top
6F00 - INT 6F - 10NET - LOGIN
INT 6F - 10NET - LOGIN
	AH = 00h
	DS:DX -> login record (see #03739)
Return: CL = security level
	AX = status (see #03740)
SeeAlso: AH=01h,AH=80h,INT 21/AX=4402h"10MEMMGR"

Format of 10NET login record:
Offset	Size	Description	(Table 03739)
 00h  8 BYTEs	user name
 08h  8 BYTEs	password
 10h 12 BYTEs	name of SuperStation

(Table 03740)
Values for 10NET status:
 0000h	successful
 01FFh	"RTO_NERR" transmit interrupt lost (time out on response)
 02FFh	"NET_NERR" network (hardware) error
 03FFh	"PAS_NERR" invalid password
 04FFh	"LRN_NERR" local resource not available
 05FFh	"SRN_NERR" server resource not available
 06FFh	"LNM_NERR" already logged in under different name
 07FFh	"LSF_NERR" login security failure (node)
 08FFh	"NLI_NERR" not logged in
 09FFh	"DIVZ_NERR" position calc error
 0AFFh	"NT1_NERR" receive subfunction not = send subfunction (i.e. read,write)
 0BFFh	"RFNC_NERR" request function not in range
 0CFFh	"NSFH_NERR" no more server file handle entries left
 0DFFh	"NFTAB_NERR" no more shared file table entries left
 0EFFh	"NUFH_NERR" no more user file handle entries left
 0FFFh	"CHAT_NERR" chat permit not on
 10FFh	"NSRV_NERR" not a server on request
 11FFh	"NOBD_NERR" no transporter board error
 12FFh	"STO_NERR" time out on send
 13FFh	"INF_NERR" item not found (spool item not on queue)
 14FFh	"DACS_NERR" DOS access incompatible
 15FFh	"RLOCK_NERR" record already locked
 16FFh	"IVP_NERR" invalid parameter
 17FFh	"RLTO_NERR" record lock time out error
 18FFh	"CSPL_NERR" currently spooling to named device
 19FFh	"DRP_NERR" dropped receive message (throttle)
 1AFFh	"SOPV_NERR" open sharing violation
 1BFFh	"NTUF_NERR" no more tuf entries left
 1CFFh	"NOWN_NERR" not file owner on open
 1DFFh	"RSEC_NERR" read security not passed
 1EFFh	"WSEC_NERR" write security not passed
 1FFFh	"GSEC_NERR" group security not passed
 20FFh	"SEC1_NERR" security file failure
 21FFh	"ACT1_NERR" activity file failure
 22FFh	"SPL1_NERR" spool control file failure
 23FFh	"NMT_NERR" device not mounted (spooling)
 24FFh	"RSPL_NERR" spool file has not been terminated
 25FFh	"DNSH_NERR" device not mounted or is not being shared
 26FFh	"DUP_NERR" duplicate node ID
 27FFh	"FNF_NERR" file not found error
 28FFh	"NMF_NERR" no more files
 29FFh	"UN_NERR" unknown internal system error
 2AFFh	"QCP_NERR" print queue is full or corrupted
 2BFFh	"IFNC_NERR" invalid function
 2CFFh	"IVH_NERR" invalid handle
 2DFFh	"TOF_NERR" too many files opened
 2EFFh	"PNF_NERR" path not found
 2FFFh	"SACT_NERR" named file is active
---10NET v5.0+ ---
 30FFh	"NAK_NERR" received NAK on send (destination out of buffers)
 31FFh	"RENT_NERR" reentrancy in driver F_SEND
 32FFh	"RECV_NERR" driver could not be put in receive mode
 33FFh	"NRLT_NERR" no more RLTAB entries left
 34FFh	"DIAL_NERR" function requires an unsupported dialect
 35FFh	"IVD_NERR" invalid device
 36FFh	"NALV_NERR" netname access level violated
 37FFh	"NPIDNF_NERR" network path not found
 38FFh	"SP_NERR" server is paused
 39FFh	"TMNM_NERR" too many remote user names
 3AFFh	"DUPD_NERR" duplicate network device
 3BFFh	"DIU_NERR" shared device in use, can't delete
 3CFFh	"NNWD_NERR" network name was deleted
 3DFFh	"NPFS_NERR" not enough space for print file
 3EFFh	"NNNF_NERR" network name not found (can't find the call name)
 3FFFh	"NB_NERR" network busy
 40FFh	"NDNLE_NERR" network device no longer exists
 41FFh	"NBCLE_NERR" NetBIOS command limit exceeded
 42FFh	"FINT24_NERR" Fail on INT 24h
 43FFh	"PEXP_NERR" password expired
 44FFh	"NPUP_NERR" new password error
 45FFh	"MAXS_NERR" maximum allowed disk space exceeded
 46FFh	"TDOW_NERR" time-of-day/day-of-week error
SeeAlso: #03767
Index:	error codes;10Net|10Net;error codes

Top
6F00 - INT 6F - HP Vectra EX-BIOS - "F_ISR" (internal) - RESPOND TO LOGICAL ISR
INT 6F - HP Vectra EX-BIOS - "F_ISR" (internal) - RESPOND TO LOGICAL ISR
	AH = 00h
	BP = ID for driver (see #03741)
	DH = data type (see #03742)
	DL = physical device driver's index (driver ID / 6)
	BX,CX = data
	ES:0000h -> physical device's Describe Record (see #03749)
	---keypress event data---
	    BH = keyboard state (only if bit 5 of DH set) (see #03743)
	    BL = scancode (if bit 4 of DH clear)
	    CX = number of scancodes in list (if bit 4 of DH set)
	    ES:SI -> scancode list (if bit 4 of DH set)
	---motion event data---
	    BX = new X position (abs device) or X increment (relative device)
	    CX = new Y position (abs device) or Y increment (relative device)
	---button event data
	    BL = button information
		bits 15-8 reserved
		bit 7: button state (0 = down, 1 = up)
		bits 6-0: button number (0-7)
	    BH = reserved
Return: AH = status (see #03744)
	BP,DS destroyed
	---if device is keyboard translator---
	    BL = translated scancode
	    BH = new keyboard state (if DH bit 5 set) (see #03743)
	    DH = new scancode type (see #03742)
Notes:	INT 6F corresponds to IRQ23 on the original HP Vectra AT, which is
	  unavailable because of its use as a BIOS extension software interrupt
	the INT 6F handler consists of an instruction to load DS with the
	  driver's data segment followed by an indexed far jump using BP to
	  select the destination vector; since the interrupt handler is
	  located immediately following the dispatch table, the HP_VECTOR_TABLE
	  may be found by looking at offset 0000h in the INT 6F segment, and
	  its size is equal to the offset of the interrupt handler
	each entry in the HP_VECTOR table consists of a DWORD for the driver's
	  entry point address and a WORD for the driver's data segment
	this function is not user-callable, as it is a response to a physical
	  event, and assumes that the caller has already handled the physical
	  interrupt and updated the Describe Record (see #03749) to reflect
	  the event
SeeAlso: INT 6C"HP Vectra",INT 6F/AX=0200h"HP Vectra"

(Table 03741)
Values for HP Vectra EX-BIOS driver ID:
 0000h	V_SCOPY (null driver, but DS value points at system copyright string)
 0006h	V_DOLITTLE (null driver)
 000Ch	V_PNULL (null driver)
 0012h	V_SYSTEM
 0018h	reserved
 001Eh	V_S8259
 0024h	reserved
 002Ah	V_SINPUT
 0030h	reserved
 0036h	V_QWERTY (keyboard translator)
 003Ch	V_SOFTKEY (keyboard translator)
 0042h	V_FUNCTION (keyboard translator)
 0048h	V_NUMPAD (keyboard translator)
 004Eh	V_CCP (keyboard translator)
 0054h	V_SVIDEO
 005Ah	V_STRACK
 0060h	V_EVENT_TOUCH
 0066h	V_EVENT_TABLET
 006Ch	V_EVENT_POINTER
 0072h	reserved
 0078h	reserved
 007Eh	reserved
 0084h	reserved
 008Ah	V_CCPCUR (keyboard translator)
 0090h	V_RAW (keyboard translator)
 0096h	V_CCPNUM (keyboard translator)
 009Ch	V_OFF (keyboard translator)
 00A2h	V_CCPGID (translator: cursor control pad keys to GID data)
 00A8h	V_SKEY2FKEY (keyboard translator)
 00AEh	V_8041
 00B4h	V_PGID_CCP
 00BAh	C_LTABLET
 00C0h	V_LPOINTER (pointing device: mouse, etc.)
 00C6h	V_LTOUCH (touch screen)
 00CCh	V_LHPMOUSE
 00D2h	???
 ...
 0102h	???
 0108h	V_LNULL
 010Eh	reserved
 0114h	V_HPHIL
 011Ah-01C2h reserved
 016Eh	V_SCANDOOR (scancode management chip driver) (ES/QS/RS only)
 01C8h-0228h available

(Table 03742)
Values for HP Vectra EX-BIOS ISR data type:
 00h	reserved "T_KC_R0"
 01h	reserved "T_KC_R1"
 02h	ASCII data
 03h	reserved "T_KC_R3"
 04h	HP150 keyboard (ITF) scancode
 05h	reserved "T_KC_R5"
 06h	device-definable type
 07h	HP Vectra keyboard set
 08h	IBM AT scancode set
 09h	button data
 0Ah	IBM PC scancode set
 0Bh	Softkey keypad (F1-F8)
 0Ch	function key keypad (F1-F10)
 0Dh	HP Cursor Control Pad keypad
 0Eh	Qwerty keypad
 0Fh	Numeric keypad
 1xh	bit 4 set: string of CX scancode of type 0xh at ES:SI
 2xh	bit 5 set: BH contains current keyboard state
 40h	signed 8-bit relative data
 41h	signed 16-bit relative data
 42h	unsigned 8-bit absolute data
 43h	unsigned 16-bit absolute data
 45h	specially-formed data (80x25) generated by V_LTOUCH
 46h	specially-formed data (640x200) generated by V_LTABLET
 47h	specially-formed data (640x200) generated by V_LPOINTER

Bitfields for HP Vectra EX-BIOS keyboard state:
Bit(s)	Description	(Table 03743)
 0	Alt pressed
 1	Left Shift pressed
 2	Right Shift pressed
 3	Ctrl pressed
 4	CapsLock active
 5	NumLock active
 6	Right unlabeled key pressed (some international keyboards)
 7	Left unlabeled key pressed (some international keyboards)
SeeAlso: #00582

(Table 03744)
Values for HP Vectra EX-BIOS status:
 00h	successful
 02h	unsupported function
 04h	not serviced
 06h	done (no further processing should be performed on the ISR event)
 F2h	device is out of paper
 F4h	device is offline
 F6h	no more space for more drivers
 F8h	driver is busy
 FAh	bad parameter
 FEh	operation failed
Note:	status codes are always even; negative values (>= 80h) indicate errors
	  while positive values indicate exceptional conditions

Format of HP EX-BIOS driver header data:
Offset	Size	Description	(Table 03745)
 00h	WORD	driver attributes (see #03746)
 02h	WORD	string index of driver's name
 04h	WORD	driver's default logical device vector (see #03741)
 06h	WORD	driver's parent class (bitset) (see #03747)
 08h	WORD	driver's child class (bitset)
 0Ah	WORD	driver's parent vector
 0Ch	WORD	driver's child vector
 0Eh	BYTE	major subaddress
 0Fh	BYTE	minor subaddress
Notes:	this structure is located at offset 0 in the driver's data segment,
	  which in turn may be read from the HP_VECTOR_TABLE (refer to note in
	  main entry)
	only the first WORD is required, and everything from offset 6 onward
	  is only required if the device wishes to perform device mapping
SeeAlso: #03748,#03749

Bitfields for HP EX-BIOS driver header attributes:
Bit(s)	Description	(Table 03746)
 15	this is a complete driver header
 14	"ATR_DEVCFG" reserved
 13	driver can be mapped with the parent vector at offset 0Ah
 12	driver can be mapped with the child vector at offset 0Ch
 11-9	driver type
	000 reserved vector
	001 free vector
	010 EX-BIOS service
	011 logical driver (mapped from parent to child)
	100 mappable driver (cannot be last in driver chain)
	101 mappable driver that is last in driver chain
	110 input driver (mappable)
	111 reserved
 8	"ATR_STRING" reserved
 7	call SF_START whenever driver is remapped
 6-5	addressing requirements
	00 no subaddresses required
	01 requires major address be stored at offset 0Eh
	10 requires minor address be stored at offset 0Fh
	11 required major,minor, and mid addresses (minor in low nybble of
	      offset 0Fh, mid address in high nybble of 0Fh)
 4	driver can be shared between several parent drivers
 3	driver can be shared between several child drivers
 2	this driver header is in ROM
 1	"ATR_YIELD" reserved
 0	reserved
SeeAlso: #03745,#03747

Bitfields for HP EX-BIOS driver class:
Bit(s)	Description	(Table 03747)
 15	maps F1 to F8 softkeys
 14	keyboard
 13	cursor pad
 12	console device
 11	serial output device (may be capable of limited input)
 10	"CL_COMM" reserved
 9	interfaces multiple resources transparent to operating system
 8	serial output device filter (can be mapped between logical and physical
	  driver to perform translations)
 7	addressed block device
 6	priority boot device
 5	logical graphics input device
 4	physical graphics input device (can map to child of another driver)
 3	"CL_GID" can map to an event
 2	physical touch device
 1	reserved
 0	class extension bit
Note:	special values: FFFFh maps to all other devices (V_PNULL), and 0000h
	  maps to no other driver
SeeAlso: #03745

Format of HP EX-BIOS global data area:
Offset	Size	Description	(Table 03748)
 00h 20 BYTEs	reserved
 14h	BYTE	sound driver status
 15h	BYTE	number of pending key clicks (max 4) (see AH=34h/BP=0012h)
 16h	BYTE	current tick duration scaling factor
 17h	BYTE	current key click volume
 18h	WORD	current beep period (10 us increments) (see AH=3Ch/BP=0012h)
 1Ah	WORD	current beep duration (10 us increments)
 1Ch	BYTE	number of pending beep functions (max 4) (see AH=3Ah/BP=0012h)
 1Dh	BYTE	reserved
 1Eh	WORD	next unused string index number
 20h	...	reserved
SeeAlso: #03745

Format of HP EX-BIOS Driver Describe Record:
Offset	Size	Description	(Table 03749)
 00h 16 BYTEs	EX-BIOS driver header data (see #03745)
 10h	BYTE	device GID type
		bits 7-4: device type
		bits 3-0: physical device link address
 11h	BYTE	physical device ID (see #03751)
 12h	WORD	logical device status bits (see #03750)
 14h	BYTE	physical device vector number (driver ID / 6)
 15h	BYTE	maximum number of axes reported (0-2)
 16h	BYTE	device class
		bits 7-4: current class
		bits 3-0: default class
 17h	BYTE	number of buttons/prompts
		bits 7-4: number of prompts
		bits 3-0: number of buttons
 18h	BYTE	reserved
 19h	BYTE	(physical devices only) maximum output burst length
 1Ah	BYTE	(physical devices only) number of write registers
 1Bh	BYTE	(physical devices only) number of read registers
 1Ch	BYTE	button transition flags (bit 0 = button0, etc.)
 1Dh	BYTE	current button states (bit 0 = button0, etc.)
 1Eh	WORD	device resolution
 20h	WORD	maximum x-axis count
 22h	WORD	maximum y-axis count
 24h	WORD	X position data for absolute devices
 26h	WORD	Y position data for absolute devices
 28h	WORD	X delta for relative devices
 2Ah	WORD	Y delta for relative devices
 2Ch	WORD	(logical devices only) X-axis scaling accumulator
		(fraction of one logical unit)
 2Eh	WORD	(logical devices only) Y-axis scaling accumulator
		(fraction of one logical unit)

Bitfields for HP logical device status flags:
Bit(s)	Description	(Table 03750)
 15-5	reserved
 4	event enabled
 3	tracking enabled
 2	clipping enabled
 1	button error occurred
 0	interrupt in progress
SeeAlso: #03749

(Table 03751)
Values for HP-HIL device ID:
 00h-02h reserved
 03h	Swiss-French keyboard
 04h-06h reserved
 07h	Canadian-English keyboard
 08h-0Ah reserved
 0Bh	Italian keyboard
 0Ch	reserved
 0Dh	Dutch keyboard
 0Eh	Swedish keyboard
 0Fh	German keyboard
 10h-12h reserved
 13h	Spanish keyboard
 14h	reserved
 15h	Belgian (Flemish) keyboard
 16h	Finnish keyboard
 17h	UK keyboard
 18h	French-Canadian keyboard
 19h	Swiss-German keyboard
 1Ah	Nerwegian keyboard
 1Bh	Frensh keyboard
 1Ch	Danish keyboard
 1Dh	Katakana keyboard
 1Eh	Latin American-Spanish keyboard
 1Fh	US-American keyboard
 20h-2Bh reserved
 2Ch-2Fh tone generator
 30h-3Fh reserved
 40h-5Bh reserved (character entry)
 5Ch-5Fh barcode reader
 60h-67h reserved (relative positions)
 68h-6Bh mouse
 6Ch-6Fh trackball
 70h-7Fh reserved (relative positions)
 80h-87h reserved (absolute positions)
 88h-8Bh touchpad
 8Ch-8Fh touch screen
 90h-97h graphics tablet
 98h-9Fh reserved (absolute positions)
 A0h-BFh compressed keyboard (91-93 keys)
 C0h-DFh extended keyboard (107-109 keys)
 E0h-FFh standard keyboard (85-87 keys)

Top
6F01 - INT 6F - 10NET - LOGOFF
INT 6F - 10NET - LOGOFF
	AH = 01h
	DS:DX -> superstation ID or nulls (12 bytes)
Return: CX = number of files closed
	AX = status (see also #03740)
	    08FFh superstation ID not already logged in
SeeAlso: AH=00h"10NET",AH=81h

Top
6F02 - INT 6F - 10NET - STATUS OF NODE
INT 6F - 10NET - STATUS OF NODE
	AH = 02h
	DS:DX -> 512-byte status record (see #03753)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03740)
SeeAlso: INT 21/AX=5E01h"10NET"

(Table 03752)
Values for 10NET station type:
 00h	workstation
 01h	superstation
 02h	gateway station
 03h	gateway active
 04h	logged into multiple superstations
 05h	reserved

Format of 10NET node status record:
Offset	Size	Description	(Table 03753)
 00h  8 BYTEs	user name (0 if none)
 08h	BYTE	station type (see #03752)
 09h 24 BYTEs	list of superstations logged into more than one superstation
 21h 12 BYTEs	node ID
 2Dh	WORD	message count for this station (send for user node, receive for
		  superstations)
---for superstations only---
 2Fh	WORD	drives allocated (bit 0=A:, bit 1=B:,...)
 31h	BYTE	user service flags (see #03754)
 32h	BYTE	printers allocated (bit 0=LPT1,...)
 33h	BYTE	number of unprinted spool files
 34h	BYTE	number of opened files
 35h	BYTE	number of logged on nodes
 36h	BYTE	primary drive (1=A:)
 37h	BYTE	reserved
 38h  N BYTEs	list of logged on node IDs (each 12 bytes, max 37 IDs)
1F4h  3 BYTEs	time: sec/min/hrs
1F7h  3 BYTEs	date: day/mon/year-1980

Bitfields for 10NET user service flags:
Bit(s)	Description	(Table 03754)
 7	gate
 6	print permit on
 4	SUBMIT is on
 3	mail waiting for node
 2	calendar waiting for you
 1	news waiting for you
 0	mail waiting for you

Top
6F0200 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INIT" - START INITIALIZING DRIVER
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INIT" - START INITIALIZING DRIVER
	AX = 0200h
	BP = driver ID (see #03741)
	BX = "last-used DS" value from HP global data area (see #03748)
Return: AH = status (see #03744)
	BX = new "last-used DS" value
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0202h,AH=0Ch"F_INS_FIXOWNDS"

Top
6F0202 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_START" - COMPLETE DRIVER INITIALIZ.
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_START" - COMPLETE DRIVER INITIALIZ.
	AX = 0202h
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0204h"HP Vectra"

Top
6F0204 - INT 6F C - MS Windows 3.0 - DOS APPLICATION SWITCH HOOK
INT 6F C - MS Windows 3.0 - DOS APPLICATION SWITCH HOOK
	AX = 0204h
Return: AX = status
	    0000h switch is allowed
	    other switch not allowed
Note:	intercepting this call will allow a DOS application to ensure that
	  Windows will not switch away from it.

Top
6F0204 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_REPORT_STATE" - GET DRIVER STATE
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_REPORT_STATE" - GET DRIVER STATE
	AX = 0204h
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	DX = device state from Logical Describe Record (see #03749,#03755)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0206h"HP Vectra"

Bitfields for HP Vectra V_HPHIL driver state:
Bit(s)	Description	(Table 03755)
 0	link configuration in progress
 1	reserved
 2	no devices attached
 3	general failure
 4,5	reserved
 6	HP-HIL driver open
 7	reserved
 8	link has been reconfigured
 9	error during output request
 10	reserved
 11	output request complete
 12	timeout
 13-15	reserved

Top
6F0206 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_VERSION_DESC" - GET DRIVER VERSION
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_VERSION_DESC" - GET DRIVER VERSION
	AX = 0206h
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	BX = driver release date code
	    (BL = BCD years since 1960, BH = BCD week number within year)
	CX = length of version string
	ES:DI -> version string
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0204h"HP Vectra",AX=0208h

Top
6F0208 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_DEF_ATTR" - RESET TO DEFAULT ATTR
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_DEF_ATTR" - RESET TO DEFAULT ATTR
	AX = 0208h
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=020Ah,AX=020Ch

Top
6F020A - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_GET_ATTR" - GET CURRENT ATTRIBUTES
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_GET_ATTR" - GET CURRENT ATTRIBUTES
	AX = 020Ah
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	BX,CX = current attributes
	BP,DS destroyed
	---for V_LTOUCH, V_LPOINTER---
	    BX = logical width
	    CX = logical height
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Ch

Top
6F020C - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_SET_ATTR" - SET DEVICE ATTRIBUTES
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_SET_ATTR" - SET DEVICE ATTRIBUTES
	AX = 020Ch
	BP = driver ID (see #03741)
	BX,CX = new attributes
	---for V_LTOUCH, V_LPOINTER---
	    BX = new logical width
	    CX = new logical height
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Ah

Top
6F020E - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_OPEN" - RESERVE DRIVER FOR ACCESS
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_OPEN" - RESERVE DRIVER FOR ACCESS
	AX = 020Eh
	BP = driver ID (see #03741) for V_HPHIL, others
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	place device in open state, which allows output to the device
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=0210h

Top
6F0210 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_CLOSE" - RELEASE DRIVER
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_CLOSE" - RELEASE DRIVER
	AX = 0210h
	BP = driver ID (see #03741) for V_HPHIL, others
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	place device in closed state, which disallows output to the device
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh

Top
6F0212 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TIMEOUT" - REPORT REQUESTED TIMEOUT
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TIMEOUT" - REPORT REQUESTED TIMEOUT
	AX = 0212h
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	report to driver that a previously-requested timeout interval has
	  expired
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0214h,AX=0216h

Top
6F0214 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INTERVAL" - 60 HZ INTERVAL EXPIRED
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INTERVAL" - 60 HZ INTERVAL EXPIRED
	AX = 0214h
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	report to driver that a previously-requested 60 Hz interval has
	  expired
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0212h,AX=0216h

Top
6F0216 - INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TEST" - PERFORM HARDWARE TEST
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TEST" - PERFORM HARDWARE TEST
	AX = 0216h
	BP = driver ID (see #03741)
Return: AH = status (see #03744)
	BP,DS destroyed
	---on failure---
	CX = length of reason string
	ES:DI -> string describing error
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0212h,AX=0214h

Top
6F03 - INT 6F - 10NET - GET ADDRESS OF CONFIGURATION TABLE
INT 6F - 10NET - GET ADDRESS OF CONFIGURATION TABLE
	AH = 03h
	DS:DI -> node ID (optional)
Return: ES:BX -> configuration table (see #03756)
SeeAlso: AH=13h,INT 21/AX=5E01h"10NET"

Format of 10NET configuration table:
Offset	Size	Description	(Table 03756)
-41	WORD	local device table address
-39	WORD	extended network error mapping table address
-37	WORD	shared device table address
-35	WORD	mounted device table address
-33	BYTE	receive buffer counter
-32	BYTE	collect buffer counter
-31	WORD	TUF address
-29	BYTE	enable flag
-28	BYTE	FCB keep flag
-27	WORD	reserved
---up to here, 10NET v3.3---
-25	WORD	count of dropped Send6F
-23	WORD	buffer start address
-21	WORD	comm driver base address
-19	WORD	send/receive retry count
-17	BYTE	number of 550ms loops before timeout
-16	WORD	UFH address
-14	WORD	CDIR address
-12	WORD	LTAB address
-10	WORD	SFH address
-8	WORD	FTAB address
-6	WORD	RLTAB address
-4	WORD	SMI address
-2	WORD	NTAB address
 00h	WORD	address of first CT_DRV
 02h	BYTE	number of DRV entries
 03h  8 BYTEs	login name
 0Bh 12 BYTEs	node ID (blank-padded)
 17h  6 BYTEs	node address
 1Dh	BYTE	flag
 1Eh	BYTE	CT_CFLG (chat permit)
		bit 1: sound bell
		bit 0: CHAT permit
 1Fh	BYTE	CT_PSFLG (see #03757)
 20h	BYTE	in 10Net flag
 21h	WORD	receive message count
 23h	WORD	send message count
 25h	WORD	retry count
 27h	WORD	failed count
 29h	WORD	driver errors
 2Bh	WORD	dropped responses/CHATs
 2Dh  9 BYTEs	LIST ID/NTAB address (3 entries--LPT1-3)
 36h  6 BYTEs	AUX ID/NTAB address (2 entries--COM1-2)
 3Ch	BYTE	active CB channel
 3Dh	BYTE	received 6F messages on queue
 3Eh  9 BYTEs	activity counters for channels 1-9
---beyond here, 10NET v3.3---
 47h	BYTE	bit 0: RS232 gate
		bit 1: Send6F gate (user set)
 48h	DWORD	pointer into gate (user set)
 4Ch	DWORD	pointer into 10Net send
 50h  N WORDs	addresses of timer blocks

Bitfields for CT_PSFLG:
Bit(s)	Description	(Table 03757)
 5	PRINT permit
 4	KB initiated
 3	CHAT called FOXPTRM
 2	SUBMIT active
 1	SUBMIT received
 0	SUBMIT permit

Top
6F04 - INT 6F - 10NET - SEND
INT 6F - 10NET - SEND
	AH = 04h
	DS:BX -> send record (see #03758)
	DS:DX -> data (max 1024 bytes)
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AH=05h"10NET",AH=09h"10NET",AH=0Ah"10NET"

Format of 10NET send record:
Offset	Size	Description	(Table 03758)
 00h 12 BYTEs	receiving node's ID
		if first byte has high-order bit set, message is directed to
		  the CT_RGATE vector at the receiver
		if second byte is 00h, first byte is taken as a CB
		  channel number and delivered to all nodes on same channel
 0Ch	WORD	 length of data at DX

Top
6F04--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_BASEHPVT" - GET HP_VECTOR_TABLE ADDRESS
INT 6F - HP Vectra EX-BIOS - "F_INS_BASEHPVT" - GET HP_VECTOR_TABLE ADDRESS
	AH = 04h
	BP = 0012h (driver ID for V_SYSTEM)
Return: AH = status (see #03744)
	ES = segment of HP_VECTOR_TABLE (see also AH=00h"HP Vectra")
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=06h"F_INS_XCHGFIX",AH=08h"F_INS_XCHGRSVD"

Top
6F04--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_INIT" - RESET TRACKING DRIVER TO DEFAULTS
INT 6F - HP Vectra EX-BIOS - "F_TRACK_INIT" - RESET TRACKING DRIVER TO DEFAULTS
	AH = 04h
	BP = 005Ah (driver ID for V_STRACK)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=06h"F_TRACK_ON",AH=08h"F_TRACK_OFF"
SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"

Top
6F0400 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_LOCK" - RESERVE SUB-ADDRESSES
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_LOCK" - RESERVE SUB-ADDRESSES
	AX = 0400h
	BP = driver ID (see #03741)
	DH,DL = major,minor address (optional)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	reserve specified sub-addresses on an already-allocated driver for
	  exclusive access
Note:	this function is documented as present but unsupported in the drivers
	  V_LTABLET, V_LPOINTER, and V_LTOUCH
SeeAlso: AX=0200h"HP Vectra",AX=0402h"SF_UNLOCK"

Top
6F0400BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_SVC" - UNMASK 8041 SVC INT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_SVC" - UNMASK 8041 SVC INT
	AX = 0400h
	BP = 001Eh (driver ID for V_S8259)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0402h"SF_DISABLE_SVC",AX=0404h"SF_ENABLE_KBD"
SeeAlso: AX=0408h"SF_ENABLE_HPHIL"

Top
6F0400BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DEF_LINKS" - SET DEFAULT PARENTS
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DEF_LINKS" - SET DEFAULT PARENTS
	AX = 0400h
	BP = 002Ah (driver ID for V_SINPUT)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	set the parent vectors in the physical device driver headers to their
	  system defaults
SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=002Ah,AX=0404h/BP=002Ah
SeeAlso: AH=06h"F_INQUIRE"

Top
6F0400BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_ID_HP" - INSTALLATION CHECK
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_ID_HP" - INSTALLATION CHECK
	AX = 0400h
	BP = 0054h (driver ID for V_SVIDEO)
	???
Return: AH = status (see #03744)
	BX = 4850h ('BP')
	BP,DS destroyed
	???
Note:	only partially documented
SeeAlso: AX=0402h/BP=0054h,AX=0404h/BP=0054h,AX=0406h/BP=0054h
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h

Top
6F0400BP00CC - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - INIT INT 33 HANDLER
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - INIT INT 33 HANDLER
	AX = 0400h
	BP = 00CCh (driver ID for V_LHPMOUSE)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=00CCh

Top
6F0402 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_UNLOCK" - RELEASE SUB-ADDRESSES
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_UNLOCK" - RELEASE SUB-ADDRESSES
	AX = 0402h
	BP = driver ID (see #03741)
	DH,DL = major,minor address (optional)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	release specified sub-addresses from exclusive access
Note:	this function is documented as present but unsupported in the drivers
	  V_LTABLET, V_LPOINTER, and VLTOUCH
SeeAlso: AX=0200h"HP Vectra",AX=0400h"SF_LOCK"

Top
6F0402BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_SVC" - MASK 8041 SVC INT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_SVC" - MASK 8041 SVC INT
	AX = 0402h
	BP = 001Eh (driver ID for V_S8259)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=001Eh,AX=0406h/BP=001Eh
SeeAlso: AX=040Ah/BP=001Eh

Top
6F0402BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_GET_LINKS" - GET DRIVER LINK FIELDS
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_GET_LINKS" - GET DRIVER LINK FIELDS
	AX = 0402h
	BP = 002Ah (driver ID for V_SINPUT)
	ES:SI -> buffer for link table (see #03759)
Return: AH = status (see #03744)
	ES:SI buffer filled
	BP,DS destroyed
Desc:	get the parent and child vectors for the seven supported physical
	  device drivers
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_DEF_LINKS",AX=0404h"SF_SET_LINKS"
SeeAlso: AH=06h"F_INQUIRE"

Format of HP Vectra EX-BIOS driver link table:
Offset	Size	Description	(Table 03759)
 00h	BYTE	vector number of HP-HIL device #1's child
 01h	BYTE	vector number of HP-HIL device #1's parent
	...
 0Ch	BYTE	vector number of HP-HIL device #7's child
 0Dh	BYTE	vector number of HP-HIL device #7's parent

Top
6F0402BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_INFO" - GET DISPLAY INFO
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_INFO" - GET DISPLAY INFO
	AX = 0402h
	BP = 0054h (driver ID for V_SVIDEO)
	???
Return: AH = status (see #03744)
	BP,DS destroyed
	???
Note:	only partially documented
SeeAlso: AX=0400h/BP=0054h,AX=0404h/BP=0054h,AX=0406h/BP=0054h
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h

Top
6F0402BP00CC - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - FORCE INT 33 INIT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - FORCE INT 33 INIT
	AX = 0402h
	BP = 00CCh (driver ID for V_LHPMOUSE)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	set up INT 33 even if no mouse is installed
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=00CCh

Top
6F0404 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_ON" - GRAPHICS CURSOR ON
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_ON" - GRAPHICS CURSOR ON
	AX = 0404h
	BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	enables graphics cursor tracking of the logical device's movement
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_LOCK",AX=0406h"SF_TRACK_OFF"

Top
6F0404BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_KBD" - UNMASK 8041 OBF INT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_KBD" - UNMASK 8041 OBF INT
	AX = 0404h
	BP = 001Eh (driver ID for V_S8259)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_ENABLE_SVC",AX=0406h"SF_DISABLE_KBD"
SeeAlso: AX=0408h"SF_ENABLE_HPHIL"

Top
6F0404BP002A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_LINKS" - SET DRIVER LINK FIELDS
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_LINKS" - SET DRIVER LINK FIELDS
	AX = 0404h
	BP = 002Ah (driver ID for V_SINPUT)
	ES:SI -> buffer containing link table (see #03759)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	specify the parent and child vectors for the seven supported physical
	  device drivers
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_DEF_LINKS",AX=0402h"SF_GET_LINKS"
SeeAlso: AH=06h"F_INQUIRE"

Top
6F0404BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_INFO" - SET EXT-CTRL INFO
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_INFO" - SET EXT-CTRL INFO
	AX = 0404h
	BP = 0054h (driver ID for V_SVIDEO)
	???
Return: AH = status (see #03744)
	BP,DS destroyed
	???
Note:	only partially documented
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0406h/BP=0054h
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h

Top
6F0406 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_OFF" - GRAPHICS CURSOR OFF
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_OFF" - GRAPHICS CURSOR OFF
	AX = 0406h
	BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	disables graphics cursor tracking of the logical device's movement
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_LOCK",AX=0404h"SF_TRACK_ON"
SeeAlso: AX=0408h"SF_CREATE_EVENT"

Top
6F0406BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_KBD" - MASK 8041 OBF INT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_KBD" - MASK 8041 OBF INT
	AX = 0406h
	BP = 001Eh (driver ID for V_S8259)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0402h"SF_DISABLE_SVC",AX=0404h"SF_ENABLE_KBD"
SeeAlso: AX=040Ah"SF_DISABLE_HPHIL"

Top
6F0406BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_MOD_INFO" - SET EXT-CTRL REG
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_MOD_INFO" - SET EXT-CTRL REG
	AX = 0406h
	BP = 0054h (driver ID for V_SVIDEO)
	???
Return: AH = status (see #03744)
	BP,DS destroyed
	???
Note:	only partially documented
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h

Top
6F0406BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_RECONFIGURE" - RECONFIG LINK
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_RECONFIGURE" - RECONFIG LINK
	AX = 0406h
	BP = 0114h (driver ID for V_HPHIL)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=020Eh,AX=0408h"SF_CRV_WR_PROMPTS"
SeeAlso: AX=0410h"SF_CRV_SELF_TEST"

Top
6F0408 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_EVENT" - SET EVENT HANDLER
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_EVENT" - SET EVENT HANDLER
	AX = 0408h
	BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
	ES:SI -> new event handler (see AH=00h"HP Vectra")
	DX = new handler's DS
Return: AH = status (see #03744)
	ES:SI -> old event handler
	DX = old handler's DS
	BP,DS destroyed
Desc:	specify routine to be called on logical device events
Note:	when events occur, the event handler is called with the same registers
	  as the "F_ISR" function on AH=00h"HP Vectra"
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_LOCK",AX=0406h"SF_TRACK_OFF"
SeeAlso: AX=040Ah"SF_EVENT_ON",AX=040Ch"SF_EVENT_OFF",AH=06h"F_SAMPLE"

Top
6F0408BP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_HPHIL" - UNMASK HP-HIL INT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_HPHIL" - UNMASK HP-HIL INT
	AX = 0408h
	BP = 001Eh (driver ID for V_S8259)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=001Eh,AX=0404h/BP=001Eh
SeeAlso: AX=040Ah/BP=001Eh

Top
6F0408BP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_RES" - GET VIDMODE RESOLUTN
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_RES" - GET VIDMODE RESOLUTN
	AX = 0408h
	BP = 0054h (driver ID for V_SVIDEO)
	???
Return: AH = status (see #03744)
	BP,DS destroyed
	???
Note:	only partially documented
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
SeeAlso: AX=0406h/BP=0054h,AX=040Ah/BP=0054h

Top
6F0408BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_PROMPTS" - WRITE PROMPT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_PROMPTS" - WRITE PROMPT
	AX = 0408h
	BP = 0114h (driver ID for V_HPHIL)
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	DL = prompt number
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=020Eh,AX=0406h/BP=0114h,AX=040Ah/BP=0114h

Bitfields for HP Vectra V_HPHIL device address indicator:
Bit(s)	Description	(Table 03760)
 15-14	reserved
 13	address in DH is valid (must be set, clear is reserved)
 12	valid value in DL
 11-0	reserved

Top
6F040A - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_ON" - ENABLE EVENT HANDLER
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_ON" - ENABLE EVENT HANDLER
	AX = 040Ah
	BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0408h"SF_CREATE_EVENT",AX=040Ch"SF_EVENT_OFF"
SeeAlso: AX=040Eh"SF_CLIPPING_ON"

Top
6F040ABP001E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_HPHIL" - MASK HP-HIL INT
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_HPHIL" - MASK HP-HIL INT
	AX = 040Ah
	BP = 001Eh (driver ID for V_S8259)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=001Eh,AX=0406h/BP=001Eh
SeeAlso: AX=0408h/BP=001Eh

Top
6F040ABP0054 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_MODE" - SET VIDEO MODE
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_MODE" - SET VIDEO MODE
	AX = 040Ah
	BP = 0054h (driver ID for V_SVIDEO)
	???
Return: AH = status (see #03744)
	BP,DS destroyed
	???
Note:	only partially documented
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
SeeAlso: AX=0406h/BP=0054h,AX=0408h/BP=0054h

Top
6F040ABP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_INTR" - CREATE INTERVAL ENTRY
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_INTR" - CREATE INTERVAL ENTRY
	AX = 040Ah
	BP = 00AEh (driver ID for V_8041)
	BH = vector number of driver to be called regularly (vector addr / 6)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	add a driver to the list (max eight) of drivers which will be called
	  by the HP's 8041 at 60 Hz
Note:	the newly added entry will not be called until enabled with
	  AX=040Eh/BP=00AEh
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F040ABP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_ACK" - ACKNOWLEDGE DEVICE
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_ACK" - ACKNOWLEDGE DEVICE
	AX = 040Ah
	BP = 0114h (driver ID for V_HPHIL)
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	DL = acknowledge number (specific if 01h-07h, generic otherwise)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0406h/BP=0114h,AX=040Ch/BP=0114h

Top
6F040C - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_OFF" - DISABLE EVENT HANDLER
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_OFF" - DISABLE EVENT HANDLER
	AX = 040Ch
	BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0408h"SF_CREATE_EVENT",AX=040Ah"SF_EVENT_ON"

Top
6F040CBP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DELET_INTR" - DELETE INTERVAL ENTRY
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DELET_INTR" - DELETE INTERVAL ENTRY
	AX = 040Ch
	BP = 00AEh (driver ID for V_8041)
	BH = vector number of driver to be removed (vector addr / 6)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	remove a driver to the list (max eight) of drivers which will be called
	  by the HP's 8041 at 60 Hz
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=0410h/BP=00AEh
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F040CBP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPEAT" - SET KEY REPEAT RATE
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPEAT" - SET KEY REPEAT RATE
	AX = 040Ch
	BP = 0114h (driver ID for V_HPHIL)
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	DL = repeat rate (00h = 30 Hz, 01h = 60 Hz)
Return: AH = status (see #03744)
	BP,DS destroyed
Note:	this function is only available if the driver is in the open state
	  (see AX=020Eh"SF_OPEN")
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=0114h,AX=040Eh/BP=0114h

Top
6F040E - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_ON" - ENABLE CLIPPING
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_ON" - ENABLE CLIPPING
	AX = 040Eh
	BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	causes the physical device's motion to be clipped to prevent overflow
	  or underflow of the logical position
SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=0410h"SF_CLIPPING_OFF"

Top
6F040EBP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABL_INTR" - START INTERRUPT SRVICE
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABL_INTR" - START INTERRUPT SRVICE
	AX = 040Eh
	BP = 00AEh (driver ID for V_8041)
	BH = vector number of driver to be called regularly (vector addr / 6)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	enable 60 Hz calling of a driver previously added to the list of
	  drivers to be called by the HP's 8041
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=0410h/BP=00AEh
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F040EBP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_DISABLE_REPEAT" - KEY REPT OFF
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_DISABLE_REPEAT" - KEY REPT OFF
	AX = 040Eh
	BP = 0114h (driver ID for V_HPHIL)
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
Return: AH = status (see #03744)
	BP,DS destroyed
Note:	this function is only available if the driver is in the open state
	  (see AX=020Eh"SF_OPEN")
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=0114h,AX=0410h/BP=0114h
SeeAlso: AX=0416h/BP=0114h

Top
6F0410 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_OFF" - DISABLE CLIPPING
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_OFF" - DISABLE CLIPPING
	AX = 0410h
	BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	disables clipping of the physical device's motion, which may cause
	  overflow or underflow of the logical position
SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=040Eh"SF_CLIPPING_ON"

Top
6F0410BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISBL_INTR" - END INTERRUPT SERVICE
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISBL_INTR" - END INTERRUPT SERVICE
	AX = 0410h
	BP = 00AEh (driver ID for V_8041)
	BH = vector number of driver (vector addr / 6)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	disable 60 Hz interval calls to the specified driver
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F0410BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_SELF_TEST" - PERFORM SELFTEST
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_SELF_TEST" - PERFORM SELFTEST
	AX = 0410h
	BP = 0114h (driver ID for V_HPHIL)
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	ES:SI -> buffer for result
Return: AH = status (see #03744)
	CX = number of bytes in buffer
	BP,DS destroyed
Note:	this function is only available if the driver is in the open state
	  (see AX=020Eh"SF_OPEN")
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=0114h,AX=0412h/BP=0114h

Top
6F0412BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_RAMSW" - SET RAM SWITCH IN 8041
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_RAMSW" - SET RAM SWITCH IN 8041
	AX = 0412h
	BP = 00AEh (driver ID for V_8041)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	sets a flag in the 8041 indicating that a second 256K bank of RAM
	  on the motherboard is enabled
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
SeeAlso: AX=0414h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F0412BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_STATUS" - GET DEVSTATUS
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_STATUS" - GET DEVSTATUS
	AX = 0412h
	BP = 0114h (driver ID for V_HPHIL)
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	ES:SI -> 15-byte buffer for status
Return: AH = status (see #03744)
	CX = number of bytes returned in buffer
	BP,DS destroyed
Note:	this function is only available if the driver is in the open state
	  (see AX=020Eh"SF_OPEN")
SeeAlso: AH=00h"HP Vectra",AX=0410h/BP=0114h,AX=0414h/BP=0114h

Top
6F0414BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_RAMSW" - CLEAR 8041 RAM SWITCH
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_RAMSW" - CLEAR 8041 RAM SWITCH
	AX = 0414h
	BP = 00AEh (driver ID for V_8041)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	clears a flag in the 8041 indicating that a second 256K bank of RAM
	  on the motherboard is enabled, causing the second bank to be disabled
Note:	this function should normally never be called
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
SeeAlso: AX=0412h/BP=00AEh,AX=0418h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F0414BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_NAME" - GET DEV NAME
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_NAME" - GET DEV NAME
	AX = 0414h
	BP = 0114h (driver ID for V_HPHIL)
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	ES:SI -> 15-byte buffer for name
Return: AH = status (see #03744)
	CX = number of bytes returned in buffer
	BP,DS destroyed
Note:	this function is only available if the driver is in the open state
	  (see AX=020Eh"SF_OPEN")
SeeAlso: AH=00h"HP Vectra",AX=0412h/BP=0114h

Top
6F0416BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_CRTSW" - SET CRT TO MULTIMODE
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_CRTSW" - SET CRT TO MULTIMODE
	AX = 0416h
	BP = 00AEh (driver ID for V_8041)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	sets a flag in the 8041 indicating that the primary display is the
	  Multimode graphics adapter (default)
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
SeeAlso: AX=0412h/BP=00AEh,AX=0418h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F0416BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_REPEAT" - SET TYPEMATIC
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_REPEAT" - SET TYPEMATIC
	AX = 0416h
	BP = 0114h (driver ID for V_HPHIL)
	BH = what to set (00h typematic rate, 01h delay, 02h both)
	BL = flag (00h = non-CCP keypad, 01h = Cursor Control Pad only)
	DL = rate
	    bits 7-4: delay value
	    bits 3-0: typematic rate
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=040Eh/BP=0114h,AX=0418h/BP=0114h

Top
6F0418BP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_CRTSW" - SET CRT TO MONOCHROME
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_CRTSW" - SET CRT TO MONOCHROME
	AX = 0418h
	BP = 00AEh (driver ID for V_8041)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	clears a flag in the 8041, indicating that the primary display is the
	  monochrome adapter
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
SeeAlso: AX=0414h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh

Top
6F0418BP0114 - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_LED" - SET KEYBOARD LEDS
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_LED" - SET KEYBOARD LEDS
	AX = 0418h
	BP = 0114h (driver ID for V_HPHIL)
	BL = new LED states
	    bit 0: scroll lock
	    bit 1: NumLock
	    bit 2: CapsLock
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=040Eh/BP=0114h,AX=0416h/BP=0114h

Top
6F041ABP00AE - INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_PASS_THRU" - SEND DATA BYTE TO 8041
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_PASS_THRU" - SEND DATA BYTE TO 8041
	AX = 041Ah
	BP = 00AEh (driver ID for V_8041)
	BL = byte to send to 8041
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=040Eh/BP=00AEh

Top
6F05 - INT 6F - 10NET - RECEIVE
INT 6F - 10NET - RECEIVE
	AH = 05h
	CX = number of seconds before timeout
	DS:DX -> receive buffer (see #03761)
Return: CF clear if successful
	    AH = FEh if dequeued message is a CB message
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AH=04h"10NET"

Format of 10NET receive buffer:
Offset	Size	Description	(Table 03761)
 00h 12 BYTEs	sending node's ID
 0Ch	WORD	length of message
 0Eh  N BYTEs	message (maximum 1024 bytes)

Top
6F06 - INT 6F - HP Vectra EX-BIOS - "F_PUT_BYTE" - WRITE A BYTE OF DATA TO DEVICE
INT 6F - HP Vectra EX-BIOS - "F_PUT_BYTE" - WRITE A BYTE OF DATA TO DEVICE
	AH = 06h
	BP = driver ID (see #03741) for V_HPHIL, others
	AL = value to output
	---if driver is V_HPHIL---
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	DL = HP-HIL device register (00h-7Fh)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	output a byte to a specific HP-HIL device register
Note:	this function is only available if the driver is in the open state
	  (see AX=020Eh"SF_OPEN")
SeeAlso: AH=04h"HP Vectra",AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BUFFER"

Top
6F06 - INT 6F - HP Vectra EX-BIOS - "F_SAMPLE" - POLL CURRENT ABSOLUTE POSITION
INT 6F - HP Vectra EX-BIOS - "F_SAMPLE" - POLL CURRENT ABSOLUTE POSITION
	AH = 06h
	BP = driver ID (see #03741) for V_LTOUCH, V_LPOINTER, V_LTABLET, etc.
Return: AH = status (see #03744)
	BX = current logical X position
	CX = current logical Y position
	DL = button transitions (bit N = button N state has changed)
	DH = current button states (bit N = current button N state)
	ES:0000h -> logical device's Describe Record (see #03749)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=040Eh"SF_CLIPPING_ON"

Top
6F06--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFIX" - EXCH VALUES WITH FIXED VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFIX" - EXCH VALUES WITH FIXED VECTOR
	AH = 06h
	BP = 0012h (driver ID for V_SYSTEM)
	BX = vector address
	DX = new value for DS
	ES:DI -> new CS:IP entry point
Return: AH = status (see #03744)
	DX = old value for DS
	ES:DI -> old CS:IP entry point
	BP,DS destroyed
Desc:	replace an existing EX-BIOS driver at a fixed HPVT location without
	  initialization
SeeAlso: AH=00h"HP Vectra",AH=04h"F_INS_BASEHPVT",AH=08h"F_INS_XCHGRSVD"
SeeAlso: AH=0Ah"F_INS_XCHGFREE",AH=0Ch"F_INS_FIXOWNDS"

Top
6F06--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE" - GET DRIVER PHYSICAL DESCRIBE RECORD
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE" - GET DRIVER PHYSICAL DESCRIBE RECORD
	AH = 06h
	BP = 002Ah (driver ID for V_SINPUT)
	AL = HP-HIL physical device number (01h-07h)
Return: AH = status (see #03744)
	ES:SI -> physical describe record for driver
	BP,DS destroyed
Note:	the returned physical describe record must not be modified
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=08h/BP=002Ah,AH=0Ah/BP=002Ah
SeeAlso: AH=0Ch/BP=002Ah

Top
6F06--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_ON" - ENABLE CURSOR TRACKING
INT 6F - HP Vectra EX-BIOS - "F_TRACK_ON" - ENABLE CURSOR TRACKING
	AH = 06h
	BP = 005Ah (driver ID for V_STRACK)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"

Top
6F07 - INT 6F - 10NET - LOCK HANDLE
INT 6F - 10NET - LOCK HANDLE
	AH = 07h
	BX = file handle
	CX:DX = starting offset in file
	SI = record length
Return: CF clear if successful
	CF set on error
	    AX = error code (see also AH=00h)
		0002h file not found
SeeAlso: AH=08h"10NET",AH=0Fh,INT 21/AH=5Ch

Top
6F08 - INT 6F - 10NET - UNLOCK HANDLE
INT 6F - 10NET - UNLOCK HANDLE
	AH = 08h
	BX = file handle
	AL = mode
	    00h unlock all
	    01h unlock record at CX:DX
Return: CF clear if successful
	CF set on error
	    AX = error code (see also AH=00h)
		0002h file not found
SeeAlso: AH=07h,AH=0Fh,INT 21/AH=5Ch

Top
6F08 - INT 6F - HP Vectra EX-BIOS - "F_GET_BYTE" - READ A BYTE OF DATA FROM DEVICE
INT 6F - HP Vectra EX-BIOS - "F_GET_BYTE" - READ A BYTE OF DATA FROM DEVICE
	AH = 08h
	BP = driver ID (see #03741) for V_HPHIL (0114h), others
	---if device is V_HPHIL---
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	DL = HP-HIL device register (00h-7Fh)
Return: AH = status (see #03744)
	AL = value read from device
	BP,DS destroyed
Desc:	generic read-byte function; for driver V_HPHIL, retrieves the value
	  of a specific HP-HIL device register
Note:	this function is only available if the driver is in the open state
	  (see AX=020Eh"SF_OPEN")
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BUFFER"

Top
6F08--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGRSVD" - EXCH VALUES WITH RESRVED VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGRSVD" - EXCH VALUES WITH RESRVED VECTOR
	AH = 08h
	BP = 0012h (driver ID for V_SYSTEM)
	DX = new value for DS
	ES:DI -> new CS:IP entry point
Return: AH = status (00h,F6h) (see also #03744)
	    00h successful
		BX = vector address used
		DX = old value for DS
		ES:DI -> old CS:IP entry point
	BP,DS destroyed
Desc:	exchange the supplied entry point and DS with the values in the next
	  reserved entry in the HP_VECTOR_TABLE
Note:	returns AH=F6h if no more reserved vectors are available
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=0Ah/BP=0012h
SeeAlso: AH=0Ch/BP=0012h

Top
6F08--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ALL" - GET DRIVER STATUS TABLE
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ALL" - GET DRIVER STATUS TABLE
	AH = 08h
	BP = 002Ah (driver ID for V_SINPUT)
	ES:SI -> buffer for device status table (see #03762)
Return: AH = status (see #03744)
	ES:SI buffer filled
	BP,DS destroyed
Note:	the returned physical describe record must not be modified
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=0Ah/BP=002Ah
SeeAlso: AH=0Ch/BP=002Ah

Format of HP Vectra HP-HIL physical device status table:
Offset	Size	Description	(Table 03762)
 00h	BYTE	status for HP-HIL device #1
		bit 0: device present
		bits 7-2 reserved
 01h	BYTE	device ID for HP-HIL device #1
	...
 0Ch	BYTE	status for HP-HIL device #7
 0Dh	BYTE	device ID for HP-HIL device #7

Top
6F08--BP005A - INT 6F - HP Vectra EX-BIOS - "F_TRACK_OFF" - DISABLE CURSOR TRACKING
INT 6F - HP Vectra EX-BIOS - "F_TRACK_OFF" - DISABLE CURSOR TRACKING
	AH = 08h
	BP = 005Ah (driver ID for V_STRACK)
Return: AH = status (see #03744)
	BP,DS destroyed
Note:	also removes the graphics cursor sprite from the screen
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=06h"F_TRACK_ON"
SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"

Top
6F09 - INT 6F - 10NET - SUBMIT
INT 6F - 10NET - SUBMIT
	AH = 09h
	DS:BX -> submit record (see #03763)
SeeAlso: AH=04h"10NET"

Format of 10NET submit record:
Offset	Size	Description	(Table 03763)
 00h 12 BYTEs	destination node ID (must be logged in)
 0Ch	WORD	length+2 of following 'command line' text
 0Eh  N BYTEs	command line text (<=100 bytes), system adds CR

Top
6F0A - INT 6F - 10NET - CHAT
INT 6F - 10NET - CHAT
	AH = 0Ah
	DS:BX -> control parameters (see #03764)
	DS:DX -> chat message (see #03765)
SeeAlso: AH=04h"10NET",AH=8Ah

Format of 10NET chat control parameters:
Offset	Size	Description	(Table 03764)
 00h  8 BYTEs	sender ID, defaults to node's userID if nulls
 08h  8 BYTEs	destination user ID, 'EVERYONE' may be used
 10h 12 BYTEs	destination node ID

Format of 10NET chat message:
Offset	Size	Description	(Table 03765)
 00h	WORD	length+2 of following text
 02h  N BYTEs	text, max 101 bytes

Top
6F0A - INT 6F - HP Vectra EX-BIOS - "F_PUT_BUFFER" - WRITE A BUFFER TO DEVICE
INT 6F - HP Vectra EX-BIOS - "F_PUT_BUFFER" - WRITE A BUFFER TO DEVICE
	AH = 0Ah
	BP = driver ID (see #03741) for V_HPHIL (0114h), others
	CX = number of bytes to write
	ES:DI -> buffer containing data
	---if driver is V_HPHIL---
	BX = device address indicator (see #03760)
	DH = HP HIL device major address
	DL = HP-HIL device register (00h-7Fh)
Return: AH = status (see #03744)
	CX = number of unwritten bytes left in buffer
	BP,DS destroyed
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BLOCK",AH=0Ch"F_GET_BUFFER"
SeeAlso: AH=0Eh"F_PUT_WORD"

Top
6F0A - INT 6F - HP Vectra EX-BIOS - "F_PUT_BLOCK" - WRITE BLOCKS TO DEVICE
INT 6F - HP Vectra EX-BIOS - "F_PUT_BLOCK" - WRITE BLOCKS TO DEVICE
	AH = 0Ah
	BP = driver ID (see #03741) for block device
	DH = device major number
	DL = device minor number
	ES:DI -> command block (see #03766)
Return: AH = status (see #03744)
	BX = operation status
	BP,DS destroyed
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BUFFER"
SeeAlso: AH=0Eh"F_PUT_WORD"

Format of HP Vectra F_PUT_BLOCK/F_GET_BLOCK command block:
Offset	Size	Description	(Table 03766)
 00h	DWORD	data transfer address
 04h	WORD	number of blocks
 06h	DWORD	block address (some devices only use low word)

Top
6F0A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFREE" - EXCH VALUES WITH FREE VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFREE" - EXCH VALUES WITH FREE VECTOR
	AH = 0Ah
	BP = 0012h (driver ID for V_SYSTEM)
	DX = new value for DS
	ES:DI -> new CS:IP entry point
Return: AH = status (00h,F6h) (see also #03744)
	    00h successful
		BX = vector address used
		DX = old value for DS
		ES:DI -> old CS:IP entry point
	BP,DS destroyed
Desc:	exchange the supplied entry point and DS with the values in the next
	  free entry in the HP_VECTOR_TABLE
Note:	returns AH=F6h if no more reserved vectors are available
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=08h/BP=0012h
SeeAlso: AH=0Ch/BP=0012h

Top
6F0A--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_FIRST" - GET PHYSICAL DRIVER VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_FIRST" - GET PHYSICAL DRIVER VECTOR
	AH = 0Ah
	BP = 002Ah (driver ID for V_SINPUT)
Return: AH = status (see #03744)
	BX = vector address for first HP-HIL device
	BP,DS destroyed
Note:	all seven HP-HIL devices use consecutive vectors in the
	  HP_VECTOR_TABLE
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=08h/BP=002Ah
SeeAlso: AH=0Ch/BP=002Ah

Top
6F0A--BP005A - INT 6F - HP Vectra EX-BIOS - "F_DEF_MASKS" - DEFINE GRAPHICS CURSOR MASKS
INT 6F - HP Vectra EX-BIOS - "F_DEF_MASKS" - DEFINE GRAPHICS CURSOR MASKS
	AH = 0Ah
	BP = 005Ah (driver ID for V_STRACK)
	BH = width of save area in bytes
	BL = hot-spot X coordinate
	CH = height in scan lines
	CL = hot-spot Y coordinate
	ES:SI -> sprite mask (screen mask followed by XOR sprite mask)
Return: AH = status (see #03744)
	BP,DS destroyed
Note:	the save area is one byte wider than the actual sprite mask; the total
	  size of the sprite is at most 144 bytes
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
SeeAlso: AH=0Ch"F_SET_LIMITS_X",AH=10h"F_PUT_SPRITE",AH=12h"F_REMOVE_SPRITE"

Top
6F0B - INT 6F - 10NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
INT 6F - 10NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
	AH = 0Bh
	AL = drive number or 0
	ES:SI = Ethernet address or 0
	DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see #03767)
Note:	same as INT 60/AH=12h
SeeAlso: AH=0Ch"10NET",INT 60/AH=12h

(Table 03767)
Values for 10NET status:
 00h	successful
 01h	semaphore currently locked
 02h	server not responding
 03h	invalid semaphore name
 04h	semaphore list is full
 05h	invalid drive ID
 06h	invalid Ethernet address
 07h	not logged in
 08h	write to network failed
 09h	semaphore already logged in this CPU
SeeAlso: #03740
Index:	error codes;10-Net|10-Net;error codes

Top
6F0C - INT 6F - 10NET - UNLOCK SEMAPHORE
INT 6F - 10NET - UNLOCK SEMAPHORE
	AH = 0Ch
	AL = drive number or 0
	ES:SI = Ethernet address or 0
	DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see also #03767)
	    01h semaphore not locked
Note:	same as INT 60/AH=13h
SeeAlso: AH=0Bh,INT 60/AH=13h

Top
6F0C - INT 6F - HP Vectra EX-BIOS - "F_GET_BUFFER" - READ A BUFFER OF DATA FROM DEVICE
INT 6F - HP Vectra EX-BIOS - "F_GET_BUFFER" - READ A BUFFER OF DATA FROM DEVICE
	AH = 0Ch
	BP = driver ID (see #03741) for V_HPHIL (0114h), others
	CX = number of bytes or blocks to read
	DS:SI -> buffer for received data
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	BP,DS destroyed
SeeAlso: AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BLOCK"
SeeAlso: AH=10h"F_GET_WORD"

Top
6F0C - INT 6F - HP Vectra EX-BIOS - "F_GET_BLOCK" - READ BLOCKS OF DATA FROM DEVICE
INT 6F - HP Vectra EX-BIOS - "F_GET_BLOCK" - READ BLOCKS OF DATA FROM DEVICE
	AH = 0Ch
	BP = driver ID (see #03741)
	DH = device major number
	DL = device minor number
	ES:DI -> command block (see #03766)
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	BX = operation status
	BP,DS destroyed
SeeAlso: AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BLOCK",AH=0Ch"F_GET_BUFFER"
SeeAlso: AH=10h"F_GET_WORD"

Top
6F0C--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXOWNDS" - INSTALL VALUES IN FIXED VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_FIXOWNDS" - INSTALL VALUES IN FIXED VECTOR
	AH = 0Ch
	BP = 0012h (driver ID for V_SYSTEM)
	BX = vector address used
	ES:DI -> new CS:IP entry point
Return: AH = status (00h) (see #03744)
	BP,DS destroyed
Note:	on installation, the given entry point will be invoked with an SF_INIT
	  call (see AX=0200h"SF_INIT"), which should return the routine's DS
	  in BX.  If the SF_INIT call returns with error code FEh, the power-on
	  self-test sequence will be called.
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=08h/BP=0012h
SeeAlso: AH=0Eh/BP=0012h,AH=12h/BP=0012h

Top
6F0C--BP002A - INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ENTRY" - GET GID DRIVER ENTRY POINT
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ENTRY" - GET GID DRIVER ENTRY POINT
	AH = 0Ch
	BP = 002Ah (driver ID for V_SINPUT)
Return: AH = status (see #03744)
	ES:BX -> physical GID driver CS:IP
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=08h/BP=002Ah
SeeAlso: AH=0Ah/BP=002Ah

Top
6F0C--BP005A - INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_X" - SET HORIZONTAL TRACKING LIMITS
INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_X" - SET HORIZONTAL TRACKING LIMITS
	AH = 0Ch
	BP = 005Ah (driver ID for V_STRACK)
	CX = minimum X coordinate
	DX = maximum X coordinate
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=005Ah,AH=08h/BP=005Ah,AH=0Eh/BP=005Ah
SeeAlso: AH=10h/BP=005Ah,AH=12h/BP=005Ah,INT 33/AX=0007h

Top
6F0D - INT 6F - 10NET - "WHO" - ENUMERATE USERS ON NETWORK
INT 6F - 10NET - "WHO" - ENUMERATE USERS ON NETWORK
	AH = 0Dh
	AL = type code
	    01h return superstations only
	    02h return non-superstations only
	    otherwise return all
	CX = length of data buffer
	DS:DX -> array of records to be filled (see #03768)
Return: CL = number of records returned (responding stations)
SeeAlso: AH=16h,AH=8Dh

Format of station record:
Offset	Size	Description	(Table 03768)
 00h 12 BYTEs	node ID
 0Ch	BYTE	station flags (see #03769)
---if AL = 01h---
 0Dh	BYTE	version number
 0Eh	WORD	level number of 10Net software in responding node
---if AL = 02h---
 0Dh  8 BYTEs	user ID
 15h	BYTE	version number
 16h	WORD	level number

Bitfields for station flags:
Bit(s)	Description	(Table 03769)
 1	workstation
 2	superstation
 3	xgate
 4	active gate

Top
6F0E - INT 6F - 10NET - SPOOL/PRINT
INT 6F - 10NET - SPOOL/PRINT
	AH = 0Eh
	DS:DX -> spool/print record (see #03771)
Return: CF clear if successful
	CF set on error
	    AX = error code (see also #03740)
		17FFh device not mounted
		18FFh already spooling to named device

(Table 03770)
Values for 10NET spooler operation code:
 0000h	initiate spool
 0001h	abort print
 0002h	close spool
 0003h	delete spool
 0004h	print
 0005h	get report info
 0006h	set chat template
 0007h	queue
 0008h	return queue
 0009h	queue non-spooled file for printing

Format of 10NET Spool/Print record:
Offset	Size	Description	(Table 03771)
 00h	WORD	operation code (see #03770)
 02h 11 BYTEs	file name in FCB format
---if operation code = 00h or 06h---
 0Dh	BYTE	notification flags (see #03772)
 0Eh	BYTE	days to keep (FFh=forever)
 0Fh	BYTE	bits 0,1: device (1=LPT1)
		bits 4-7: remote drive to store spool file (1=A,...)
 10h	WORD	length of following data area
 12h  N BYTEs	up to 64 bytes of description
---if operation code = 03h---
 0Dh  8 BYTEs	user ID to associate with filename
---if operation code = 04h---
 0Dh	WORD	block number
 0Fh  8 BYTEs	user ID to associate with filename
---if operation code = 05h---
 0Dh	BYTE	RRN to start retrieve
 0Eh	BYTE	bits 0,1: local print device (LPTx)
		bit 3: if set, return entries for all users
 0Fh	WORD	length of following area
 11h  N BYTEs	up to 1500 bytes to receive $SCNTL records returned
---if operation code = 07h---
 0Dh	BYTE	queue number
 0Eh	BYTE	bits 0,1: local print device (LPTx)
 0Fh	WORD	number of bytes of test print to be done
 11h	BYTE	code:
		01h print device
		02h test print count
		03h prn
---if operation code = 08h---
 0Dh	BYTE	queue location or $SCNTL location to start access
		returns next item for access:
		    00h-7Fh queued items
		    80h-FEh non-queued, non-printed items
		    FFh	no more items
 0Eh	WORD	unused
 10h	WORD	length of following area
 12h  N BYTEs	up to 64 bytes to receive $SCNTL records (see #03773)
---if operation code = 09h---
 0Dh  3 BYTEs	unused
 10h  N BYTEs	path to non-spooled file to be queued for printing

Bitfields for notification flags:
Bit(s)	Description	(Table 03772)
 7	queue to top
 6	do ID page
 5	no form feed
 4	reserved
 3	explicit queuing only
 2	notify at print completion
 1	notify server operator, with reply
 0	notify at print start

Format of 10NET $SCNTL record:
Offset	Size	Description	(Table 03773)
 00h  8 BYTEs	user ID
 08h 11 BYTEs	filename in FCB format
 13h  6 BYTEs	node ID
 19h  3 BYTEs	creation date
 1Ch	BYTE	notification flags (see #03772)
 1Dh	BYTE	retention time in days
 1Eh	BYTE	printing device (LPTx)
 1Fh  3 BYTEs	date last printed (0 = never)
 22h	BYTE	device containing spoolfile
 23h	WORD	bytes to print for test print
 25h	WORD	block number to start print
 27h	BYTE	reserved

Top
6F0E - INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE WORD OF DATA TO DEVICE
INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE WORD OF DATA TO DEVICE
	AH = 0Eh
	BP = driver ID (see #03741)
	DX = data word
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	BP,DS destroyed
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=10h"F_GET_WORD"

Top
6F0E - INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE A WORD OF DATA
INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE A WORD OF DATA
	AH = 0Eh
	BP = driver ID (see #03741)
	??? details not yet available
Return: ???
SeeAlso: AH=06h"HP Vectra",AH=0Ah"HP Vectra",AH=10h"HP Vectra"

Top
6F0E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGETDS" - INSTALL VALUES IN FIXED VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGETDS" - INSTALL VALUES IN FIXED VECTOR
	AH = 0Eh
	BP = 0012h (driver ID for V_SYSTEM)
	BX = vector address used
	ES:DI -> new CS:IP entry point
Return: AH = status (00h) (see #03744)
	BP,DS destroyed
Note:	on installation, the given entry point will be invoked with an SF_INIT
	  call (see AX=0200h"SF_INIT"), with the "last used DS" value in BX;
	  the routine should adjust BX and return the new value.  If the
	  SF_INIT call returns with error code FEh, the power-on self-test
	  sequence will be called.
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=0Ch/BP=0012h
SeeAlso: AH=10h/BP=0012h,AH=14h/BP=0012h

Top
6F0E--BP005A - INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_Y" - SET VERTICAL TRACKING LIMITS
INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_Y" - SET VERTICAL TRACKING LIMITS
	AH = 0Eh
	BP = 005Ah (driver ID for V_STRACK)
	CX = minimum Y coordinate
	DX = maximum Y coordinate
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=005Ah,AH=08h/BP=005Ah,AH=0Ch/BP=005Ah
SeeAlso: AH=10h/BP=005Ah,AH=12h/BP=005Ah,INT 33/AX=0008h

Top
6F0F - INT 6F - 10NET v5.0 - "RM LOCK" - ???
INT 6F - 10NET v5.0 - "RM LOCK" - ???
	AH = 0Fh
	???
Return: ???
SeeAlso: AH=07h,AH=08h"10NET"

Top
6F10 - INT 6F - 10NET - ATTACH/DETACH PRINTER
INT 6F - 10NET - ATTACH/DETACH PRINTER
	AH = 10h
	AL = subfunction
	    00h initiate spooling if LPT1 is mounted
	    01h terminate spooling if LPT1 is mounted
SeeAlso: INT 21/AX=5D08h

Top
6F10 - INT 6F - HP Vectra EX-BIOS - "F_GET_WORD" - READ WORD OF DATA FROM DEVICE
INT 6F - HP Vectra EX-BIOS - "F_GET_WORD" - READ WORD OF DATA FROM DEVICE
	AH = 10h
	BP = driver ID (see #03741)
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	DX = data word
	BP,DS destroyed
SeeAlso: AH=08h"F_GET_BYTE",AH=0Ch"F_GET_BUFFER",AH=0Eh"F_PUT_WORD"

Top
6F10--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGLBDS" - INSTALL VALUES IN FIXED VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGLBDS" - INSTALL VALUES IN FIXED VECTOR
	AH = 10h
	BP = 0012h (driver ID for V_SYSTEM)
	BX = vector address used
	ES:DI -> new CS:IP entry point
Return: AH = status (00h) (see #03744)
	BP,DS destroyed
Note:	on installation, the given entry point will be invoked with an SF_INIT
	  call (see AX=0200h"SF_INIT"), with BX set to the EX-BIOS global
	  data area. If the SF_INIT call returns with error code FEh, the
	  power-on self-test sequence will be called.
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h
SeeAlso: AH=0Ch/BP=0012h,AH=0Eh/BP=0012h,AH=12h/BP=0012h,AH=16h/BP=0012h

Top
6F10--BP005A - INT 6F - HP Vectra EX-BIOS - "F_PUT_SPRITE" - DISPLAY GRAPHICS CURSOR SPRITE
INT 6F - HP Vectra EX-BIOS - "F_PUT_SPRITE" - DISPLAY GRAPHICS CURSOR SPRITE
	AH = 10h
	BP = 005Ah (driver ID for V_STRACK)
	BX = X coordinate
	CX = Y coordinate
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
SeeAlso: AH=12h"F_REMOVE_SPRITE",INT 33/AX=0004h

Top
6F11 - INT 6F - 10NET - LOCK FCB
INT 6F - 10NET - LOCK FCB
	AH = 11h
	AL = mode
	    01h sequential
	    02h random
	    03h random block
		CX = number of records
	DS:DX -> FCB (see #01345 at INT 21/AH=0Fh)
Return: CF clear if successful
	CF set on error
	    AX = error code (see also #03740)
		0002h file not found
SeeAlso: AH=12h,INT 21/AH=0Fh

Top
6F12 - INT 6F - 10NET - UNLOCK FCB
INT 6F - 10NET - UNLOCK FCB
	AH = 12h
	AL = mode
	    00h sequential
	    01h random
	    02h random block
		CX = number of records
	DS:DX -> FCB (see #01345 at INT 21/AH=0Fh)
Return: CF clear if successful
	CF set on error
	    AX = error code (see also #03740)
		0002h file not found
SeeAlso: AH=11h

Top
6F12--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEOWNDS" - INSTALL VALUES IN FREE VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_FREEOWNDS" - INSTALL VALUES IN FREE VECTOR
	AH = 12h
	BP = 0012h (driver ID for V_SYSTEM)
	ES:DI -> new CS:IP entry point
Return: AH = status (00h) (see #03744)
	BP,DS destroyed
Note:	on installation, the given entry point will be invoked with an SF_INIT
	  call (see AX=0200h"SF_INIT"), which should return the routine's DS
	  in BX.  If the SF_INIT call returns with error code FEh, the power-on
	  self-test sequence will be called.
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Ch/BP=0012h,AH=14h/BP=0012h
SeeAlso: AH=16h/BP=0012h,AH=18h/BP=0012h

Top
6F12--BP005A - INT 6F - HP Vectra EX-BIOS - "F_REMOVE_SPRITE" - REMOVE GRAPHICS CURSOR SPRITE
INT 6F - HP Vectra EX-BIOS - "F_REMOVE_SPRITE" - REMOVE GRAPHICS CURSOR SPRITE
	AH = 12h
	BP = 005Ah (driver ID for V_STRACK)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=06h"F_TRACK_ON",AH=10h"F_PUT_SPRITE"

Top
6F13 - INT 6F - 10NET v3.3+ - GET REMOTE CONFIGURATION TABLE ADDRESS
INT 6F - 10NET v3.3+ - GET REMOTE CONFIGURATION TABLE ADDRESS
	AH = 13h
	DS:DX -> node ID, 12 bytes blank-padded
Return: CF clear if successful
	    ES:BX = configuration table address on given machine
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AH=03h

Top
6F14 - INT 6F - 10NET v3.3+ - GET REMOTE MEMORY
INT 6F - 10NET v3.3+ - GET REMOTE MEMORY
	AH = 14h
	BX:SI = address of remote memory
	CX = length (<=1024 bytes)
	DS:DX -> node ID, 12 bytes blank-padded
	DS:DI -> area to receive remote memory image
Return: CF clear if successful
	    CX = amount of memory copied to DS:SI
	CF set on error
	    AX = error code (see #03740)

Top
6F14--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGETDS" - INSTALL VALUES IN FREE VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGETDS" - INSTALL VALUES IN FREE VECTOR
	AH = 14h
	BP = 0012h (driver ID for V_SYSTEM)
	ES:DI -> new CS:IP entry point
Return: AH = status (00h) (see #03744)
	BP,DS destroyed
Note:	on installation, the given entry point will be invoked with an SF_INIT
	  call (see AX=0200h"SF_INIT"), with the "last used DS" value in BX;
	  the routine should adjust BX and return the new value.  If the
	  SF_INIT call returns with error code FEh, the power-on self-test
	  sequence will be called.
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Eh/BP=0012h,AH=12h/BP=0012h
SeeAlso: AH=16h/BP=0012h

Top
6F1501 - INT 6F - 10NET v3.3+ - GET SHARED DEVICE ENTRY
INT 6F - 10NET v3.3+ - GET SHARED DEVICE ENTRY
	AX = 1501h
	BX = zero-based index
	DS:SI -> node ID, 12 bytes blank-padded
	ES:DI -> 85-byte buffer for shared device table entry (see #03774)
Return: CF clear if successful
	    ES:DI buffer contains shared device table entry of BXth device
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AX=1502h,AX=1503h,AX=9501h

Format of 10NET shared device table entry:
Offset	Size	Description	(Table 03774)
 00h  8 BYTEs	device
 08h  8 BYTEs	alias
 10h 64 BYTEs	path
 50h  8 BYTEs	password
 58h	BYTE	access
 59h  4 BYTEs	mask

Top
6F1502 - INT 6F - 10NET v3.3+ - SET SHARED DEVICE ENTRY
INT 6F - 10NET v3.3+ - SET SHARED DEVICE ENTRY
	AX = 1502h
	DS:SI -> node ID, 12 bytes blank-padded
	ES:DI -> valid shared device table entry
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AX=1501h,AX=1503h,AX=9502h

Top
6F1503 - INT 6F - 10NET v3.3+ - DELETE SHARED DEVICE ENTRY
INT 6F - 10NET v3.3+ - DELETE SHARED DEVICE ENTRY
	AX = 1503h
	BX = zero-based index
	DS:SI -> node ID, 12 bytes blank-padded
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AX=1501h,AX=1502h,AX=9503h

Top
6F16 - INT 6F - 10NET v5.0 - "GL WHO" - ???
INT 6F - 10NET v5.0 - "GL WHO" - ???
	AH = 16h
	???
Return: ???
SeeAlso: AH=0Dh

Top
6F16--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGLBDS" - INSTALL VALUES IN FREE VECTOR
INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGLBDS" - INSTALL VALUES IN FREE VECTOR
	AH = 16h
	BP = 0012h (driver ID for V_SYSTEM)
	ES:DI -> new CS:IP entry point
Return: AH = status (00h) (see #03744 at INT 6F/AH=00h"HP Vectra")
	BP,DS destroyed
Note:	on installation, the given entry point will be invoked with an SF_INIT
	  call (see AX=0200h"SF_INIT"), with BX set to the EX-BIOS global
	  data area.  If the SF_INIT call returns with error code FEh, the
	  power-on self-test sequence will be called.
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=10h/BP=0012h,AH=12h/BP=0012h
SeeAlso: AH=14h/BP=0012h,AH=18h/BP=0012h

Top
6F17 - INT 6F - 10NET v3.3+ - MOUNT
INT 6F - 10NET v3.3+ - MOUNT
	AH = 17h
	AL = local drive number (0=A:)
	BL = remote drive letter or '1'..'3' for LPTn or '4' or '5' for COMx
	DS:DX -> node ID, 12 bytes blank-padded
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AH=18h

Top
6F18 - INT 6F - 10NET v3.3+ - UNMOUNT
INT 6F - 10NET v3.3+ - UNMOUNT
	AH = 18h
	AL = local drive number (0=A:)
	BL = type
	    00h	    disk
	    01h-03h LPTn
	    04h,05h COMx
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03740)
SeeAlso: AH=17h

Top
6F18--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_INS_FIND" - FIND DRIVER BY ATTRIBUTES
INT 6F - HP Vectra EX-BIOS - "F_INS_FIND" - FIND DRIVER BY ATTRIBUTES
	AH = 18h
	BP = 0012h (driver ID for V_SYSTEM)
	AL = sense of test (00h equal, 02h non-equal)
	BX = AND mask
	DX = pattern
	SI = first vector address to search
	DI = offset in HP header of field to test
Return: AH = status (00h,FEh) (see #03744 at INT 6F/AH=00h"HP Vectra")
	BP,DS destroyed
	---if AH=00h---
	SI = first matching vector address
Desc:	compare successive drivers' header fields starting at address SI
	  until the header field AND BX is either equal or non-equal to DX
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Ch/BP=0012h,AH=10h/BP=0012h
SeeAlso: AH=12h/BP=0012h,AH=16h/BP=0012h

Top
6F19 - INT 6F U - 10NET v5.0 - AUDIT
INT 6F U - 10NET v5.0 - AUDIT
	AH = 19h
	???
Return: ???
SeeAlso: AH=99h

Top
6F1A - INT 6F U - 10NET v5.0 - "BULL" - ???
INT 6F U - 10NET v5.0 - "BULL" - ???
	AH = 1Ah
	???
Return: ???

Top
6F1B - INT 6F U - 10NET v5.0 - "GMOUNT" - ???
INT 6F U - 10NET v5.0 - "GMOUNT" - ???
	AH = 1Bh
	???
Return: ???

Top
6F1C - INT 6F U - 10NET v5.0 - "GLOGIN" - GET LOGIN LIST
INT 6F U - 10NET v5.0 - "GLOGIN" - GET LOGIN LIST
	AH = 1Ch
	???
Return: ???

Top
6F1D - INT 6F U - 10NET v5.0 - "TABDATA" - ???
INT 6F U - 10NET v5.0 - "TABDATA" - ???
	AH = 1Dh
	???
Return: ???

Top
6F1E - INT 6F U - 10NET v5.0 - "SCHED" - ???
INT 6F U - 10NET v5.0 - "SCHED" - ???
	AH = 1Eh
	???
Return: ???

Top
6F1E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_RAM_GET" - GET EX-BIOS FREE RAM AREA
INT 6F - HP Vectra EX-BIOS - "F_RAM_GET" - GET EX-BIOS FREE RAM AREA
	AH = 1Eh
	BP = 0012h (driver ID for V_SYSTEM)
Return: AH = status (00h) (see #03744 at INT 6F/AH=00h"HP Vectra")
	BX = last-used DS
	DX = maximum DS
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=20h/BP=0012h,AH=22h/BP=0012h

Top
6F1F - INT 6F U - 10NET v5.0 - "WHOAMI" - ???
INT 6F U - 10NET v5.0 - "WHOAMI" - ???
	AH = 1Fh
	???
Return: ???

Top
6F20 - INT 6F U - 10NET v5.0 - ???
INT 6F U - 10NET v5.0 - ???
	AH = 20h
	???
Return: ???

Top
6F20--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_RAM_RET" - RESERVE EX-BIOS MEMORY
INT 6F - HP Vectra EX-BIOS - "F_RAM_RET" - RESERVE EX-BIOS MEMORY
	AH = 20h
	BP = 0012h (driver ID for V_SYSTEM)
	BX = new value for "last-used DS"
	DX = new value for "maximum DS"
Return: AH = status (00h) (see #03744 at INT 6F/AH=00h"HP Vectra")
	BP,DS destroyed
Note:	the F_INS_FIXGETDS and F_INS_FREEGETDS functions
	  (see AH=0Eh/BP=0012h,AH=14h/BP=0012h) also modify the values returned
	  by this call, requiring care if both methods are used to allocate
	  memory
SeeAlso: AH=00h"HP Vectra",AH=0Eh/BP=0012h,AH=14h/BP=0012h,AH=1Eh/BP=0012h

Top
6F21 - INT 6F U - 10NET v5.0 - ???
INT 6F U - 10NET v5.0 - ???
	AH = 21h
	???
Return: ???

Top
6F22 - INT 6F U - 10NET v5.0 - ???
INT 6F U - 10NET v5.0 - ???
	AH = 22h
	???
Return: ???

Top
6F22--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_CMOS_GET" - READ CMOS MEMORY
INT 6F - HP Vectra EX-BIOS - "F_CMOS_GET" - READ CMOS MEMORY
	AH = 22h
	BP = 0012h (driver ID of V_SYSTEM)
	BL = address of CMOS byte to read
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	AL = byte read
	BP,DS destroyed
Note:	supported by ES, QS, and RS series HP Vectras
SeeAlso: AH=00h"HP Vectra",AH=1Eh/BP=0012h,AH=24h/BP=0012h

Top
6F24--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_CMOS_RET" - WRITE CMOS MEMORY
INT 6F - HP Vectra EX-BIOS - "F_CMOS_RET" - WRITE CMOS MEMORY
	AH = 24h
	BP = 0012h (driver ID of V_SYSTEM)
	BL = address of CMOS byte to write
	AL = new value
Return: AH = status (see #03744)
	BP,DS destroyed
Note:	updates the CMOS checksum fields (both IBM-standard and HP checksums)
SeeAlso: AH=00h"HP Vectra",AH=22h/BP=0012h

Top
6F2A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_YIELD" - GIVE UP CPU TO OTHER TASKS
INT 6F - HP Vectra EX-BIOS - "F_YIELD" - GIVE UP CPU TO OTHER TASKS
	AH = 2Ah
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744)
	BP,DS destroyed
Note:	this is a hook for multitasking systems
SeeAlso: AH=00h"HP Vectra",INT 15/AX=1000h,INT 2F/AX=1680h

Top
6F30--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_ENABLE" - TURN ON KEYCLICKS
INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_ENABLE" - TURN ON KEYCLICKS
	AH = 30h
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	BP,DS destroyed
Desc:	enables keyclicks and flushes any pending keyclicks
SeeAlso: AH=32h/BP=0012h,AH=34h/BP=0012h,AH=36h/BP=0012h

Top
6F32--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_DISABLE" - TURN OFF KEYCLICKS
INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_DISABLE" - TURN OFF KEYCLICKS
	AH = 32h
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	disables keyclicks and flushes any pending keyclicks
SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=38h/BP=0012h

Top
6F34--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK" - GENERATE KEYCLICK
INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK" - GENERATE KEYCLICK
	AH = 34h
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744)
	BP,DS destroyed
Desc:	generate a keyclick if fewer than four clicks are already pending
Note:	if keyclicks are already pending, the remaining click count is
	  incremented and the function returns immediately
SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=36h/BP=0012h,AH=3Ah/BP=0012h

Top
6F36--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_ENABLE" - ENABLE BEEPS
INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_ENABLE" - ENABLE BEEPS
	AH = 36h
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=34h/BP=0012h,AH=38h/BP=0012h

Top
6F38--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_DISABLE" - DISABLE BEEPS
INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_DISABLE" - DISABLE BEEPS
	AH = 38h
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=32h/BP=0012h,AH=36h/BP=0012h

Top
6F3A--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP" - SOUND BEEP WITH CURRENT VALUES
INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP" - SOUND BEEP WITH CURRENT VALUES
	AH = 3Ah
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744 at AH=00h"HP Vectra")
	BP,DS destroyed
Desc:	make a sound of the frequency and duration defined in the EX-BIOS
	  global data area (see #03748)
SeeAlso: AH=00h"HP Vectra",AH=34h/BP=0012h,AH=36h/BP=0012h,AH=38h/BP=0012h
SeeAlso: AH=3Ch/BP=0012h,AH=3Eh/BP=0012h

Top
6F3C--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_SET_BEEP" - SET BEEP FREQUENCY AND DURATION
INT 6F - HP Vectra EX-BIOS - "F_SND_SET_BEEP" - SET BEEP FREQUENCY AND DURATION
	AH = 3Ch
	BP = 0012h (driver ID of V_SYSTEM)
	BX = frequency in Hz (1-25000, 0 = off)
	DX = duration in 10-microsecond increments
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=3Ah/BP=0012h,AH=3Eh/BP=0012h,#03748

Top
6F3E--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_SND_TONE" - SOUND TONE WITH FREQ AND DURATION
INT 6F - HP Vectra EX-BIOS - "F_SND_TONE" - SOUND TONE WITH FREQ AND DURATION
	AH = 3Eh
	BP = 0012h (driver ID of V_SYSTEM)
	BX = frequency in Hz (1-25000, 0 = off)
	DX = duration in 10-microsecond increments
Return: AH = status (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=3Ah/BP=0012h,AH=3Ch/BP=0012h,AH=40h/BP=0012h

Top
6F40--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_FREE_INDEX" - FIND FREE STRING INDEX
INT 6F - HP Vectra EX-BIOS - "F_STR_GET_FREE_INDEX" - FIND FREE STRING INDEX
	AH = 40h
	BP = 0012h (driver ID of V_SYSTEM)
Return: AH = status (see #03744)
	BX = next free string index
	BP,DS destroyed
Desc:	get the next string index available to user programs
SeeAlso: AH=00h"HP Vectra",AH=42h/BP=0012h,AH=44h/BP=0012h,AH=46h/BP=0012h

Top
6F42--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_DEL_BUCKET" - DEL HEADER FROM BUCKET LIST
INT 6F - HP Vectra EX-BIOS - "F_STR_DEL_BUCKET" - DEL HEADER FROM BUCKET LIST
	AH = 42h
	BP = 0012h (driver ID of V_SYSTEM)
	ES:DI -> bucket header (see #03775)
Return: AH = status (00h,FEh) (see #03744 at AH=00h"HP Vectra")
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=40h/BP=0012h,AH=44h/BP=0012h

Format of HP Vectra EX-BIOS bucket header:
Offset	Size	Description	(Table 03775)
 00h	DWORD	pointer to next bucket header (FFFFh:FFFFh if last)
 04h	WORD	upper bound on string index
 06h	WORD	lower bound on string index
 08h	DWORD	pointer to array of string offset pointers
 0Ch	WORD	segment of strings
Note:	the strings pointed at by the offset pointers are byte-counted ASCIZ
	  strings

Top
6F44--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_PUT_BUCKET" - ADD HEADER TO BUCKET HDR LIST
INT 6F - HP Vectra EX-BIOS - "F_STR_PUT_BUCKET" - ADD HEADER TO BUCKET HDR LIST
	AH = 44h
	BP = 0012h (driver ID of V_SYSTEM)
	ES:DI -> bucket header (see #03775)
Return: AH = status (00h) (see #03744)
	BP,DS destroyed
SeeAlso: AH=00h"HP Vectra",AH=42h/BP=0012h,AH=46h/BP=0012h

Top
6F46--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_STRING" - FIND STRING IN BUCKET LIST
INT 6F - HP Vectra EX-BIOS - "F_STR_GET_STRING" - FIND STRING IN BUCKET LIST
	AH = 46h
	BP = 0012h (driver ID of V_SYSTEM)
	BX = string index
Return: AH = status (00h,other) (see #03744)
	BP,DS destroyed
	---if successful---
	CX = length of string (excluding count byte and terminating NUL)
	DS:SI -> header for string
	ES:DI -> found string
SeeAlso: AH=00h"HP Vectra",AH=44h/BP=0012h,AH=48h/BP=0012h

Top
6F48--BP0012 - INT 6F - HP Vectra EX-BIOS - "F_STR_GET_INDEX" - GET INDEX FOR STRING
INT 6F - HP Vectra EX-BIOS - "F_STR_GET_INDEX" - GET INDEX FOR STRING
	AH = 48h
	BP = 0012h (driver ID of V_SYSTEM)
	ES:DI -> ASCIZ string
Return: AH = status (00h,other) (see #03744 at AH=00h"HP Vectra")
	BP,DS destroyed
	---if successful---
	BX = index for the given string
SeeAlso: AH=00h"HP Vectra",AH=40h/BP=0012h,AH=46h/BP=0012h

Top
6F636FBX6D70 - INT 6F - Clara Empricost - TSR Version - INSTALLATION CHECK
INT 6F - Clara Empricost - TSR Version - INSTALLATION CHECK
	AX = 636Fh ('co')
	BX = 6D70h ('mp')
	CX = 696Eh ('in')
	SS:DX -> WORD to set if installed
Return: SS:DX word set to 636Fh if installed
Program: Condition List Action Rejection Algorithm for the Evaluation
	  of Music at Pseudo-Random Idea COnstruction STage
	  (CLARA EMPRICOST) is an experimental program by Silas Brown
SeeAlso: AX=636Fh/BX=6D70h"UNINSTALL"

Top
6F636FBX6D70 - INT 6F - Clara Empricost - TSR Version - UNINSTALL
INT 6F - Clara Empricost - TSR Version - UNINSTALL
	AX = 636Fh ('co')
	BX = 6D70h ('mp')
	CX = 6F73h ('os')
Return: nothing -- call installation check to determine whether successful
Program: Condition List Action Rejection Algorithm for the Evaluation
	  of Music at Pseudo-Random Idea COnstruction STage
	  (CLARA EMPRICOST) is an experimental program by Silas Brown
Notes:	 Saves any unfinished task and prevents processing of
	   new tasks, even if can't uninstall
	 If INT 28h or INT 6Fh have been chained since installation,
	   returns without changing interrupts or freeing memory
	 do not call while DOS is active (i.e. InDOS flag is nonzero or INT 28
	   is active and InDOS > 1)
SeeAlso: AX=636Fh/BX=6D70h"INSTALLATION CHECK"

Top
6F80 - INT 6F - 10NET v5.0 - LOGIN
INT 6F - 10NET v5.0 - LOGIN
	AH = 80h
	DS:DX -> login record (see #03776)
Return: CF clear if successful
	    BL = number of days until password expires (00h = never)
	    CL = security level
	CF set on error
	    AX = status (see #03740)
SeeAlso: AH=00h,AH=81h

Format of 10NET login record:
Offset	Size	Description	(Table 03776)
 00h  8 BYTEs	user name
 08h  8 BYTEs	password
 10h 15 BYTEs	server node ID
 1Fh  8 BYTEs	new password
 27h	BYTE	invoke mode (00h command line, 01h interactive)

Top
6F81 - INT 6F - 10NET v5.0 - LOGOUT
INT 6F - 10NET v5.0 - LOGOUT
	AH = 81h
	DS:DX -> server node ID (DX=0000h for universal logout)
Return: AX = status (see #03740)
SeeAlso: AH=01h,AH=80h

Top
6F8A - INT 6F - 10NET v5.0 - CHAT
INT 6F - 10NET v5.0 - CHAT
	AH = 8Ah
	DS:BX -> chat parameters (see #03777)
	DS:DX -> chat message (see #03778)
Return: CF clear if successful
	CF set on error
	    AX = status (see #03740)
SeeAlso: AH=0Ah"10NET"

Format of 10NET chat parameters:
Offset	Size	Description	(Table 03777)
 00h  8 BYTEs	sender's user name
 08h  8 BYTEs	destination user name
 10h 15 BYTEs	destination node (0 if broadcast-style chat)

Format of 10NET chat message:
Offset	Size	Description	(Table 03778)
 00h	WORD	message length
 02h  N BYTEs	chat message contents

Top
6F8D - INT 6F - 10NET v5.0 - "WHO" - ENUMERATE USERS ON NETWORK
INT 6F - 10NET v5.0 - "WHO" - ENUMERATE USERS ON NETWORK
	AH = 8Dh
	BX = service mask (see #03779)
	CX = length of buffer
	DS:DX -> buffer for array of Who data structures (see #03780)
Return: CF clear if successful
	    CX = number of nodes matching service mask
	    DS:DX buffer filled
	CF set on error
	    AX = status (see #03740)
SeeAlso: AH=0Dh

Bitfields for 10NET service mask:
Bit(s)	Description	(Table 03779)
 0	workstation
 1	file server
 2	print server
 3	de-spool server

Format of 10NET Who data structure:
Offset	Size	Description	(Table 03780)
 00h  8 BYTEs	user name
 08h 15 BYTEs	node ID
 17h  3 BYTEs	unique portion of Ethernet address
 1Ah	BYTE	Who group number
 1Bh	WORD	service mask (see #03779)
 1Dh	DWORD	serial number
 21h	BYTE	maximum concurrent users with same serial number allowed on net
 22h	BYTE	chat mask (see #03781)
 23h	BYTE	internal system bits (see #03782)
 24h  9 BYTEs	version number in format MM.mm.xxx
 2Dh	BYTE	number of shared directories
 2Eh	BYTE	number of shared printer queues

Bitfields for 10NET chat mask:
Bit(s)	Description	(Table 03781)
 0	chat permitted
 1	bell enabled
 2	chat keyboard initiated
 3	in INT 16 handler
 4	in Get Input
 5	display has timed out
 6	chat is idle

Bitfields for 10NET internal system bits:
Bit(s)	Description	(Table 03782)
 0	submit permitted
 1	submit initiated
 2	submit executing
 3	internal client call/chat/spool/autospool
 4	in spool termination
 5	print permitted
 6	waiting for keyboard input

Top
6F9501 - INT 6F - 10NET v5.0 - GET SHARED DEVICE ENTRY
INT 6F - 10NET v5.0 - GET SHARED DEVICE ENTRY
	AX = 9501h
	BX = zero-based index
	DS:SI -> server's node ID
	ES:DI -> buffer for shared device structure (see #03783)
Return: CF clear if successful
	CF set on error
	    AX = status (see #03740)
SeeAlso: AX=1501h,AX=9502h,AX=9503h,AX=9504h

Format of 10NET shared device structure:
Offset	Size	Description	(Table 03783)
 00h  8 BYTEs	alias
 08h	BYTE	type (02h modem, 03h print queue, 04h directory)
 09h	BYTE	access rights
		bit 0: read
		bit 1: write
		bit 2: create
 0Ah  8 BYTEs	password
 12h 32 BYTEs	comment
---directory---
 32h 64 BYTEs	pathname of shared directory
---print queue---
 32h	BYTE	notification bit mask (see #03784)
 33h	BYTE	job control bit mask (see #03785)
 34h	WORD	number of days to retain file
 36h	WORD	test print length
 38h	BYTE	number of copies to print
 39h	BYTE	compression algorithm
 3Ah	BYTE	tab width (00h = don't expand)
 3Bh	BYTE	priority
 3Ch	WORD	time to open queue (FFFFh = always)
 3Eh	WORD	time to close queue
 40h	WORD	pause following queue switch, in clock ticks
 42h	WORD	pause between print jobs, in clock ticks
 44h	BYTE	associate queue file existence mask
		bit 0: queue switch file exists
		bit 1: initiate file exists
		bit 2: abort file exists
 45h  6 BYTEs	character sequence for page eject
 4Bh	BYTE	status of print queue
		bit 0: queue is closed
 4Ch	WORD	number of jobs on queue
 4Eh	WORD	offset of next print job to be dispatched (FFFFh = none)
 50h	BYTE	number of print devices in printer pool
 51h	WORD	offset of first print device structure (FFFFh if empty)

Bitfields for notification flags:
Bit(s)	Description	(Table 03784)
 0	user at print start
 1	operator at start, with reply
 2	user at print completion
 3	operator at completion, with reply
 4	user on queue switch
 5	operator on queue switch, with reply
 6	user on print error

Bitfields for 10NET job control mask:
Bit(s)	Description	(Table 03785)
 0	print banner page
 1	eject page at end of job
 2	mark as "held" (queue but don't print)
 3	rush job (queue at top)
 4	overwrite file with zeros before deletion
 5	hyperspool if possible

Top
6F9502 - INT 6F - 10NET v5.0 - SET SHARED DEVICE ENTRY
INT 6F - 10NET v5.0 - SET SHARED DEVICE ENTRY
	AX = 9502h
	DS:SI -> server's node ID
	ES:DI -> shared device structure (see #03783)
Return: CF clear if successful
	CF set on error
	    AX = status (see #03740)
SeeAlso: AX=1502h,AX=9501h,AX=9503h,AX=9504h

Top
6F9503 - INT 6F - 10NET v5.0 - DELETE SHARED DEVICE
INT 6F - 10NET v5.0 - DELETE SHARED DEVICE
	AX = 9503h
	BX = zero-based index
	DS:SI -> server's node ID
Return: CF clear if successful
	CF set on error
	    AX = status (see #03740)
SeeAlso: AX=1503h,AX=9501h,AX=9502h,AX=9504h

Top
6F9504 - INT 6F - 10NET v5.0 - ENUMERATE USERS OF SHARED DEVICE
INT 6F - 10NET v5.0 - ENUMERATE USERS OF SHARED DEVICE
	AX = 9504h
	BX = zero-based shared device index
	CX = zero-based user index
	DS:SI -> server's node ID
Return: CF clear if successful
	    ES:DI -> node ID of the CX'th user of the BX'th device
	CF set on error
	    AX = status (see #03740)
SeeAlso: AX=9501h,AX=9502h,AX=9503h

Top
6F99 - INT 6F - 10NET v5.0 - AUDIT
INT 6F - 10NET v5.0 - AUDIT
	AH = 99h
	DS:SI -> server's node ID
	ES:DI -> data to be appended to audit trail file (max 106 bytes)
Return: CF clear if successful
	CF set on error
	    AX = status (see #03740)
SeeAlso: AH=19h,AH=9Ch

Top
6F9C - INT 6F - 10NET v5.0 - GET LOGIN LIST
INT 6F - 10NET v5.0 - GET LOGIN LIST
	AH = 9Ch
	BX = zero-based index
Return: CF clear if successful
	    DS:DI -> BX'th node ID that caller's machine is logged into
	CF set on error
	    AX = status (see #03740)

Top
70 - INT 70 C - IRQ8 - CMOS REAL-TIME CLOCK
INT 70 C - IRQ8 - CMOS REAL-TIME CLOCK
Desc:	this interrupt is called when the real-time clock chip generates an
	  alarm or periodic interrupt, among others (see CMOS 0Bh).  The
	  periodic interrupt by default occurs 1024 times per second.
Notes:	many BIOSes turn off the periodic interrupt in the INT 70h handler
	  unless in an event wait (see INT 15/AH=83h,INT 15/AH=86h).
	may be masked by setting bit 0 on I/O port A1h
SeeAlso: INT 08,INT 0F"HP 95LX",INT 15/AH=01h"Amstrad",INT 15/AH=83h
SeeAlso: INT 15/AH=86h,INT 1A/AH=02h,INT 58"DESQview",MEM FEE00320h
SeeAlso: MEM 0040h:006Bh

Top
70 - INT 70 - VIRUS - "Stupid" - ORIGINAL INT 21h VECTOR
INT 70 - VIRUS - "Stupid" - ORIGINAL INT 21h VECTOR
Note:	the virus sets this interrupt to be the same as INT 21, and then
	  performs only INT 70 calls; since INT 70 is also generated by the
	  real-time clock on the PC/AT and higher, this could cause random
	  actions on an infected system
SeeAlso: INT 6B"VIRUS",INT 9E"VIRUS",INT E0"VIRUS"

Top
71 - INT 71 C - IRQ9 - REDIRECTED TO INT 0A BY BIOS
INT 71 C - IRQ9 - REDIRECTED TO INT 0A BY BIOS
Notes:	may be masked by setting bit 1 on I/O port A1h
	the default BIOS handler invokes INT 0A for compatibility, since the
	  pin for IRQ2 on the PC expansion bus became the pin for IRQ9 on the
	  AT expansion bus.
	under DESQview, only the INT 15h vector and BASIC segment address (the
	  word at 0000h:0510h) may be assumed to be valid for the handler's
	  process
SeeAlso: INT 0A"IRQ2",INT 59"IRQ9",MEM 0040h:006Bh

Top
72 - INT 72 C - IRQ10 - RESERVED
INT 72 C - IRQ10 - RESERVED
Notes:	may be masked by setting bit 2 on I/O port A1h
	DOS 3.3+ revectors IRQ10 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 5A"IRQ10",MEM 0040h:006Bh

Top
73 - INT 73 C - IRQ11 - RESERVED
INT 73 C - IRQ11 - RESERVED
Notes:	may be masked by setting bit 3 on I/O port A1h
	DOS 3.3+ revectors IRQ11 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 5B"IRQ11",MEM 0040h:006Bh

Top
74 - INT 74 C - IRQ12 - POINTING DEVICE (PS)
INT 74 C - IRQ12 - POINTING DEVICE (PS)
Notes:	may be masked by setting bit 4 on I/O port A1h
	DOS 3.3+ revectors IRQ12 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
	under DESQview, only the INT 15h vector and BASIC segment address (the
	  word at 0000h:0510h) may be assumed to be valid for the handler's
	  process
SeeAlso: INT 33/AX=0000h,INT 33/AX=0024h,INT 5C"NetBIOS",MEM 0040h:006Bh

Top
75 - INT 75 C - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
INT 75 C - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
Desc:	redirected to INT 02 by the BIOS, for compatibility with the PC
Notes:	may be masked by setting bit 5 on I/O port A1h
	not all clones wire the coprocessor to generate this IRQ; some systems
	  generate an NMI (see INT 02) or assert the -ERROR pin on the CPU
	  (see INT 10"COPROCESSOR")
	under DESQview, only the INT 15h vector and BASIC segment address (the
	  word at 0000h:0510h) may be assumed to be valid for the handler's
	  process
SeeAlso: INT 10"COPROCESSOR",INT 5D"IRQ13",MEM 0040h:006Bh

Top
76 - INT 76 C - IRQ14 - HARD DISK CONTROLLER OPERATION COMPLETE (AT and later)
INT 76 C - IRQ14 - HARD DISK CONTROLLER OPERATION COMPLETE (AT and later)
Notes:	may be masked by setting bit 6 on I/O port A1h
	DOS 3.3+ revectors IRQ14 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
	on the PS/2, this interrupt is designed to be shared with other
	  devices that produce an operation-complete interrupt, though
	  the only current user is the hard disk
SeeAlso: INT 0E"IRQ6",INT 15/AH=91h,INT 5E"IRQ14",MEM 0040h:006Bh

Top
77 - INT 77 C - IRQ15 - RESERVED (AT,PS)
INT 77 C - IRQ15 - RESERVED (AT,PS)
Notes:	may be masked by setting bit 7 on I/O port A1h
	DOS 3.3+ revectors IRQ15 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 5F"IRQ15",MEM 0040h:006Bh

Top
77 - INT 77 C - IRQ15 - SECONDARY IDE CONTROLLER - OPERATION COMPLETE
INT 77 C - IRQ15 - SECONDARY IDE CONTROLLER - OPERATION COMPLETE
Notes:	may be masked by setting bit 7 on I/O port A1h
	DOS 3.3+ revectors IRQ15 to a stack-switching routine unless STACKS=0
	  has been set in CONFIG.SYS.  MS/PC-DOS use the IBM Interrupt Sharing
	  Protocol (see #02568) when hooking this IRQ
SeeAlso: INT 5F"IRQ15",MEM 0040h:006Bh

Top
77 - INT 77 C - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
INT 77 C - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
Note:	may be masked by setting bit 7 on I/O port A1h
SeeAlso: INT 15/AX=4600h,INT 5F"IRQ15"

Top
78 - INT 78 - UofSalford DBOS DOS extender - API
INT 78 - UofSalford DBOS DOS extender - API
	AH = function
	    00h (PB) display 32-bit memory specified by command argument
	    01h (PT) display 32-bit instruction(s) specified by command arg
	    02h specify offset to subsequent PB and PT commands
	    03h switch to protected mode
		DWORD following INT instruction point to map; protected-mode
			  entry point is immediately following the DWORD
		Return: never
		Note:	if bit 31 of the map address is set, only a stub was
			  loaded by DOS and DBOS will load the entire program
	    04h specify that subsequent load (AH=03h) should leave program in
		  memory
	    05h release program from memory
	    06h set break point at address and option count from commandline
	    07h resume program execution
	    08h single-step program
	    09h set read/write breakpoint using 386 debug registers
	    0Ah set write breakpoint using 386 debug register
	    0Bh set memory byte to new value
	    0Ch display CPU registers
	    0Dh run until specified program address reached
	    0Fh print trace from program map
	    10h specify an offset using a map symbol
	    14h print memory without any offset
	    18h switch DBOS into/out of test mode (ON/OFF commandline args)
	    1Dh get address of real/protected-mode communication buffer
		Return: ES:BP -> comm buffer
	    1Eh set real-mode memory size (specify how much real-mode memory
		  to leave free when running FTN77 programs)
	    22h uninstall DBOS
	    24h force DBOS to emulate coprocessor instructions
	    26h set named DBOS switches from commandline
	    27h reset named DBOS switched from commandline
	    2Ah set list of dynamic link libraries to contents of commandline
		  file
	    35h specify that subsequent load (AH=03h) should stop at first
		  instruction
Return: ???
Notes:	DBOS supports functions 00h through 50h; many of these functions
	  provide a low-level debugging interface
	command arguments are read from the calling program's PSP
SeeAlso: INT 79"DBOS"
Index:	uninstall;DBOS DOS extender

Top
78 - INT 78 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ0
INT 78 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ0
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
	  GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 08,INT 10/AH=FFh"GO32",INT 79"GO32"

Top
78 - INT 78 R - AutoCAD Device Interface - PLOTTER - SEND COMMAND
INT 78 R - AutoCAD Device Interface - PLOTTER - SEND COMMAND
	AX = function
	    0001h begin plot
		BX = file level
		    0000h ASCII file
		    0001h binary file
		    0002h AutoCAD DXB file
		    0003h installed ADI driver
	    0002h end plot (close plotter)
	    0003h move (pen up)
		BX = new X position
		CX = new Y position
	    0004h move (pen down)
		BX = new X position
		CX = new Y position
	    0005h select pen
		BX = pen number
	    0006h select drawing speed
		BX = drawing speed N
	    0007h select line style
		BX = line style N
	    0008h raise pen
	    0009h abort plot
Return: AX = 0000h (may be used for driver status in future releases)
SeeAlso: INT 79"AutoCAD",INT 7A/AX=0001h"AutoCAD",INT 7B/AX=8001h"AutoCAD"

Top
78 - INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
SeeAlso: INT 79"ADP-60"

Top
78 - INT 78 - ULTRAMID - API
INT 78 - ULTRAMID - API
	AX = function
	--- digital functions ---
	    0000h start digital
		ES:DI -> Sound Structure
		Return: AX = voice used
	    0001h play next buffer
		ES:DI -> Sound Structure
	    0002h set panning
		BX = pan
		CX = voice
	    0003h set volume
		BX = volume
		CX = voice
	    0004h set rate (not yet implemented)
	    0005h pause digital
		CX = voice
	    0006h restart digital
		CX = voice
	    0007h stop digital
		CX = voice
	    0008h get digital position
		CX = voice
		Return: AX:DX -> position in PC buffer
	    0009h get voice status (not yet implemented)
	--- MIDI functions ---
	    000Ah load MIDI patches
		ES:DI -> MIDI track just after the Mtrk header
		BX:DX = length of MIDI track
	    000Bh load XMIDI patches
		ES:DI -> event buffer including the EVNT header
	    000Ch load patch
		CX = MIDI number of patch
	    000Dh unload patch
		CX = MIDI number of patch
	    000Eh start sequence
	    000Fh unload all patches
	    0010h MIDI out byte
		CX = MIDI byte
	    0011h MIDI out string
		CX = length
		ES:DI -> string of MIDI data
	    0012h all notes off
	--- resource functions ---
	    0013h allocate memory
		BX:DX = size of GUS memory needed
		Return: AX:DX = address of memory, or 0000:0000 if not avaiable
	    0014h free memory
		BX:DX = address of memory to be freed
	    0015h uninstall
	    0016h sem enter
	    0017h sem leave
	    0018h add external semaphore
		BX:DX -> external semaphore
	    0019h clear external semaphore
		BX:DX -> external semaphore
	    001Ah application start
	    001Bh application end
	--- v1.12 ---
	    001Ch ???
	    001Dh ???
	    001Eh ???
	    001Fh ???
Program: UltraMid is a TSR from Advanced Gravis to play MIDI and digital data
	   through the Gravis UltraSound (GUS)
InstallCheck:	test for the signature "ULTRAMID" at offset 0103h in the
	  interrupt handler's segment
Range:	INT 78 to INT 7F
SeeAlso: INT 2F/AX=CD00h"ULTRAMID",INT 7E/AH=00h"SBOS",INT 7E/AX=00FEh"SBOS"
Index:	uninstall;UltraMID

Top
7800 - INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
	AH = 00h
	DX = interface board I/O port
Return: CF set on error
	    AL = error code (see #03786)
InstallCheck:	(used by TARGA.DEV) test for the string "SCSI" at offset 03h
	  into the interrupt handler
Note:	if this routine is not called, the port is the driver's default
	  (usually 0280h or 0300h)
SeeAlso: AH=01h,AH=02h
Index:	installation check;TARGA.DEV

(Table 03786)
Values for TARGA.DEV error code:
 00h	illegal command given to SCSI code
 01h	invalid I/O port specified (must be from 100H to 3F8H, and must be on
	  an 8-port boundary)
 02h	invalid DMA channel specified (must be from 1 to 3)
 03h	invalid SCSI board number specified (must be from 0 to 7)
 04h	error from data register test during self-test
 05h	SCSI input signals not all 0 when SCSI RST activated
 06h	SCSI input signals not all 0 before selecting a SCSI device
 07h	BSY signal is active; SCSI bus is busy
 08h	SCSI board not selected, BSY signal did not come on in response to
	  raising SEL
 09h	time-out waiting for status state, signifying end of DMA transfer

Top
780000 - INT 78 - HugeRealMode Driver - INSTALLATION CHECK
INT 78 - HugeRealMode Driver - INSTALLATION CHECK
	AX = 0000h
Return: AX = DBCAh if installed
Program: the HugeRealMode driver was published in the German DOS Extra Nr. 20
	  (1992), and makes a 4G flat address space (for both data and code)
	  available to real-mode DOS programs
SeeAlso: AX=0001h

Top
780001 - INT 78 - HugeRealMode Driver - GET ENTRY POINT
INT 78 - HugeRealMode Driver - GET ENTRY POINT
	AX = 0001h
Return: ES:BX -> far call entry point (see #03788,#03803)
SeeAlso: AX=0000h

(Table 03787)
Values for HugeRealMode Server error code:
 00h	successful
 01h	unknown function
 02h	A20 disabled
 03h	A20 enabled
 04h	memory allocation error
 05h	memory not fixeable (LOCK)
 06h	memory not deallocaable
 07h	memory not moveable (UNLOCK)
 08h	change in memory allocation size not possible
 09h	file error (with .XMF-file)
 0Ah	memory error (with .XMF-file)
 0Bh	unknown procedure (currently Turbo Pascal unit only)

(Table 03788)
Call HugeRealMode Server "Enable A20" function with:
	AL = 00h
Return: AX = error code (see #03787)
Note:	The HugeRealMode Server requires an XMS-driver like HIMEM.SYS loaded
	  before HUGEREAL (for XMS-memory allocation and A20 control). It
	  utilizes some undocumented 386+ features to enable 4G code and data
	  segments (flat memory model) in the CPUs real-mode. It is not
	  compatible with V86-mode (as with most EMM386). For maximum speed
	  and compatibility with DOS it uses a two stage interrupt model
	  (see #03791)
SeeAlso: #03789,#03790,#03791

(Table 03789)
Call HugeRealMode Server "Disable A20" function with:
	AL = 01h
Return: AX = error code (see #03787)
SeeAlso: #03788,#03790

(Table 03790)
Call HugeRealMode Server "Query A20 State" function with:
	AL = 02h
Return: AX = A20 state (0000h disabled, 0001h enabled)
SeeAlso: #03788,#03789

(Table 03791)
Call HugeRealMode Server "Enable Two-Stage Interrupt Model" function with:
	AL = 03h
Return: AX = error code (see #03787)
Notes:	If the two stage interrupt model is disabled, the IP must stay below
	  1MB, because the high word of EIP is not saved correctly by the
	  standard interrupt management in real mode.  Routines in extended
	  memory may only be called with interrupts disabled (only usable for
	  very short routines).
	If the two stage interupt model is enabled, these conventions are not
	  required.  The outer (transparent) ISRs save the higher word of EIP
	  in the high word of CR3 (possible modification: in memory, if this
	  is not safe) and then invoke the standard ISRs.
	Because of this handling, one should use pseudo segmented code even in
	  extended memory (64K blocks located on 64K boundaries) to avoid the
	  misalignment of the saved EIP (in CR3). Another way is to track and
	  realign CR3 each time when jumping over a 64K boundary in extended
	  memory
SeeAlso: #03788,#03792

(Table 03792)
Call HugeRealMode Server "Disable Two-Stage Interrupt Model" function with:
	AL = 04h
Return: AX = error code (see #03787)
SeeAlso: #03788,#03791

(Table 03793)
Call HugeRealMode Server "Get Segment Address Of Server-Management Range" with:
	AL = 05h
Return: AX = error code (see #03787)
	ES = segment address
SeeAlso: #03803

(Table 03794)
Call HugeRealMode Server "Allocate Memory" function with:
	AL = 06h
	DX = length in KB
Return: AX = error code (see #03787)
	DX = handle
	EBX = start address of allocated block
SeeAlso: #03795,#03796

(Table 03795)
Call HugeRealMode Server "Deallocate Memory" function with:
	AL = 07h
	DX = handle
Return: AX = error code (see #03787)
SeeAlso: #03794,#03796

(Table 03796)
Call HugeRealMode Server "Modify Allocated Memory Size" function with:
	AL = 08h
	DX = handle
	BX = new size in KB
Return: AX = error code (see #03787)
	EBX = new address
SeeAlso: #03794,#03795

(Table 03797)
Call HugeRealMode Server "Load .XMF-file" function with:
	AL = 09h
	ES:BX -> filename (see #03798)
Return: AX = error code (see #03787)
	ECX = target address
Notes:	memory must be allocated before loading
	.XMF file format (eXtended Memory executable File format) is supported
	  by the HugeRealMode server for easier handling of XMS-code.
	The utility CONFXMF converts .OBJ-files (.COM 'tiny' model) to
	  .XMF-format
SeeAlso: #03794

Format of .XMF program file header:
Offset	Size	Description	(Table 03798)
 00h	DWORD	signature "XMF_"
 04h	WORD	length of programs code
 06h	WORD	count of 32bit addresses to relocate
 08h	WORD	offset to code start (releative to file start) (see #03799)
 0Ah	WORD	relocation table
Note:	each word contains a 16bit address, where a relocation has to be
	  performed
SeeAlso: #03797,#03799

Format of .XMF-file code header:
Offset	Size	Description	(Table 03799)
 00h	WORD	count of exported functions
 02h  N PWORDs	48bit pointers (16bit segment+32bit offset) to each function
		(16bit segment is always zero)
 var		start of program's code
SeeAlso: #03797,#03798

(Table 03800)
Call HugeRealMode Server "Set Segment Limits" function with:
	AL = 0Ah
	BL = segment limits (see #03801)
Return: AX = error code (see #03787)
SeeAlso: #03793

Bitfields for HugeRealMode Server segment limits:
Bit(s)	Description	(Table 03801)
 7	CS size: 1=4GB, 0=64KB
 6-5	not used
 4	SS size: 1=4GB, 0=64KB
 3	GS size
 2	FS size
 1	ES size
 0	DS size
SeeAlso: #03800

(Table 03802)
Call HugeRealMode Server "Transfer Memory From DOS To XMS" function with:
	AL = 0Bh
	ES:SI = source address
	EDI = target address
	ECX = length
Return: AX = error code
SeeAlso: #03803

(Table 03803)
Call HugeRealMode Server "Transfer Memory From XMS To DOS" function with:
	AL = 0Ch
	ESI = source address
	ES:DI = target address
	ECX = length
Return: AX = error code
SeeAlso: #03802

Top
7801 - INT 78 - TARGA.DEV - GET I/O PORT
INT 78 - TARGA.DEV - GET I/O PORT
	AH = 01h
Return: DX = current interface board I/O port
SeeAlso: AH=00h,AH=03h"TARGA"

Top
7802 - INT 78 - TARGA.DEV - SET DMA CHANNEL
INT 78 - TARGA.DEV - SET DMA CHANNEL
	AH = 02h
	AL = interface board DMA channel
Return: CF set on error
	AL = error code (see #03786)
Note:	if this routine is not called, the DMA channel is the driver's default
	  (usually 3)
SeeAlso: AH=00h,AH=03h"TARGA"

Top
7803 - INT 78 - TARGA.DEV - GET DMA CHANNEL
INT 78 - TARGA.DEV - GET DMA CHANNEL
	AH = 03h
Return: AL = current interface board DMA channel
SeeAlso: AH=01h,AH=02h

Top
7804 - INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
	AH = 04h
	AL = SCSI device number
Return: CF set on error
	AL = error code (see #03786)
Note:	if this routine is not called, the device number used is the driver's
	  default (usually 0)
SeeAlso: AH=02h,AH=05h

Top
7805 - INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
	AH = 05h
Return: AL = current SCSI device number
SeeAlso: AH=03h"TARGA",AH=04h

Top
7806 - INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
	AH = 06h
	AL = new state
	    00h clear early return mode
	    01h set early return mode
Note:	if early return mode is set then SCSI will return with no errors
	  when the last DMA transfer is started in a call with AH=13h or AH=14h
	if this routine is not called, early return mode is cleared
SeeAlso: AH=13h,AH=14h,AH=15h

Top
7808 - INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
	AH = 08h
Return: CF set on error
	AL = error code (see #03786)
Note:	the SCSI bus is also reset
SeeAlso: AH=09h

Top
7809 - INT 78 - TARGA.DEV - RESET SCSI BUS
INT 78 - TARGA.DEV - RESET SCSI BUS
	AH = 09h
Return: AL = error code if carry set (see #03786)
SeeAlso: AH=08h

Top
7810 - INT 78 - TARGA.DEV - SEND SCSI COMMAND
INT 78 - TARGA.DEV - SEND SCSI COMMAND
	AH = 10h
	DS:SI -> command bytes (see #03804)
Return: AH = SCSI status byte
	CF clear if successful
	    AL = SCSI message byte
	CF set on error
	    AL = error code (see #03786)
SeeAlso: AH=11h,INT 21/AX=4403h"ST-01"

Format of SCSI Command:
Offset	Size	Description	(Table 03804)
 00h	BYTE	length of command
 01h	???	command bytes

Top
7811 - INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
	AH = 11h
	DS:SI -> command bytes (see #03805)
	ES:BX -> data storage area
	CX = number of data bytes to transfer
Return: AH = SCSI status byte
	CF clear if successful
	    AL = SCSI message byte
	CF set on error
	    AL = error code (see #03786)
Note:	this command receives data internally one byte at a time
SeeAlso: AH=10h,AH=13h

Format of TARGA.DEV SCSI Command:
Offset	Size	Description	(Table 03805)
 00h	BYTE	length of command
 01h	???	command bytes

Top
7812 - INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
	AH = 12h
	DS:SI -> command bytes (see #03806)
	ES:BX -> data storage area
	CX = number of data bytes to transfer
Return: AH = SCSI status byte
	CF clear if successful
	    AL = SCSI message byte
	CF set on error
	    AL = error code (see #03786)
Note:	this command sends data internally one byte at a time
SeeAlso: AH=14h

Format of TARGA.DEV SCSI Command:
Offset	Size	Description	(Table 03806)
 00h	BYTE	length of command
 01h	???	command bytes

Top
7813 - INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
	AH = 13h
	DS:SI -> command bytes (see #03807)
	ES:BX -> data storage area
	DX:CX = number of data bytes to transfer
Return: AH = SCSI status byte (if early return mode is clear)
	CF clear if successful
	    AL = SCSI message byte (if early return mode is clear)
	CF set on error
	    AL = error code (see #03786)
Note:	this command receives data using DMA
SeeAlso: AH=11h,AH=12h

Format of TARGA.DEV SCSI Command:
Offset	Size	Description	(Table 03807)
 00h	BYTE	length of command
 01h	???	command bytes

Top
7814 - INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
	AH = 14h
	DS:SI -> command bytes (see #03808)
	ES:BX -> data storage area
	DX:CX = number of data bytes to transfer
Return: AH = SCSI status byte (if early return mode is clear)
	CF clear if successful
	    AL = SCSI message byte (if early return mode is clear)
	CF set on error
	    AL = error code (see #03786)
Note:	this command sends data using DMA
SeeAlso: AH=12h,AH=13h

Format of TARGA.DEV SCSI Command:
Offset	Size	Description	(Table 03808)
 00h	BYTE	length of command
 01h	???	command bytes

Top
7815 - INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
	AH = 15h
Return: AH = SCSI status byte
	CF clear if successful
	    AL = SCSI message byte
	CF set on error
	    AL = error code (see #03786)
Note:	if AH=06h was previously called to set the early return mode, this
	  function finishes a command AH=13h or AH=14h which returned before
	  the last DMA transfer was finished
SeeAlso: AH=06h,AH=13h,AH=14h

Top
79 - INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
Return: CF set if no keystroke available
	    AX = FFFFh
	CF clear if key pressed
	    AX = keystroke
Program: AVATAR.SYS is a CON driver by George Adam Stanislav which interprets
	  AVATAR command codes just as ANSI.SYS interprets ANSI commands
Note:	if a keystroke is available, it is removed from the keyboard buffer
	  before being returned
SeeAlso: INT 29,INT 2F/AX=1A00h/BX=4156h

Top
79 - INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 09,INT 78"GO32",INT 7A"GO32"

Top
79 - INT 79 U - ADP-60 IDE adapter - ???
INT 79 U - ADP-60 IDE adapter - ???
SeeAlso: INT 78"ADP-60"

Top
79 - INT 79 - DBOS DOS Extender
INT 79 - DBOS DOS Extender
	details not available
Desc:	this interrupt is used by an MS Windows virtual device driver with
	  which the DBOS extender communicates when run inside a Windows
	  Enhanced Mode DOS box
SeeAlso: INT 78"DBOS"

Top
790001 - INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
	AX = 0001h
	BX = interface level (0001h)
Return: AX = status (0000h initialization failed, 0001h init successful)
	BX = digitizer type
	    0000h relative pointing device (mouse, etc.)
	    0001h digitizing tablet
	CX = digitizer dataflow type
	    0000h continuous
	    0001h pauses between packets
SeeAlso: AX=0002h,AX=0003h,INT 7A/AX=0001h"AutoCAD"

Top
790002 - INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
	AX = 0002h
SeeAlso: AX=0001h,AX=0003h

Top
790003 - INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
	AX = 0003h
Return: AX = status
	    0000h nothing
	    0002h tracking point (no button pressed)
		BX = X coordinate
		CX = Y coordinate
	    0003h picked point (button 0,A,B,C,D pressed)
		BX = X coordinate
		CX = Y coordinate
	    0004h button pick
		BX = button number
	    0005h button and coordinates
		BX = button number
		CX = X coordinate
		DX = Y coordinate
SeeAlso: AX=0001h,AX=0002h

Top
7A - INT 7A U - Topware Network Operating System - ???
INT 7A U - Topware Network Operating System - ???
	AL = ???
	???
Return: ???
SeeAlso: INT 21/AX=FF00h"Topware",INT 2F/AX=FF00h

Top
7A - INT 7A - X.PC Packet software interface
INT 7A - X.PC Packet software interface
	ES:BX -> parameter block
SeeAlso: INT 60/AX=01FFh

Top
7A - INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
	  GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0A"IRQ2",INT 79"GO32",INT 7B"GO32"

Top
7A - INT 7A O - PRINDIR - API (moved to INT 7C, then INT 2F/AX=7F00h)
INT 7A O - PRINDIR - API (moved to INT 7C, then INT 2F/AX=7F00h)
SeeAlso: INT 7C"PRINDIR",INT 2F/AX=7F00h"PRINDIR"

Top
7A - INT 7A - Novell NetWare - LOW-LEVEL API - Notes
INT 7A - Novell NetWare - LOW-LEVEL API - Notes
Note:	this interrupt is used for IPX/SPX access in NetWare versions through
	  2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
	  entry point even though INT 7A still exists.	For both INT 7A and
	  the FAR entry point, BX contains the function number; IPX is
	  sometimes called internally with BX bit 15 set, which causes the
	  handler to bypass some initial checks and an optional call to the
	  IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
	  (see #02926)
SeeAlso: INT 2F/AX=7A00h,INT 64"Novell",INT 7A/BX=0000h

Top
7A----BX0000 - INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
	BX = 0000h
	AL = socket longevity
	    00h open until close or terminate
	    FFh open until close
	DX = socket number (high byte in DL)
	    0000h dynamic allocation
	    else  socket to open (see #03809)
Return: AL = return code
	    00h success
		DX = socket number
	    FEh socket table full
	    FFh socket already open
Notes:	TSRs which need to use sockets should set AL to FFh, non-resident
	  programs should normally use AL=00h
	IPX can be configured to support up to 150 open sockets on a
	  workstation, and defaults to 20
	this function is supported by Advanced NetWare 1.02+
SeeAlso: INT 7A/BX=0001h,INT 7A/BX=0004h,INT 7A/BX=0023h

(Table 03809)
Values for IPX socket number:
 0451h	File Service (NetWare Core Protocol)
 0452h	Service Advertising Protocol (SAP) (see #03817)
 0453h	Routing Information Packet (see #03820)
 0455h	NetBIOS Packet
 0456h	diagnostics
 0457h	server serial numbers (labeled "Copy Protection" by Lanalyzer)
 2222h	NetWare Core Protocol
 4000h-7FFFh used for dynamic allocation
 4000h \ seem to be used by IPX internally
 4001h /
 4444h	Brightwork Development's SiteLock server
 5555h	Brightwork Development's SiteLock client (workstation)
 8000h-FFFFh assigned by Novell
 869Ch	ID Software's DOOM
 901Fh	Lancheck
 9023h	Server info (NetWare "Slurpee", NetWare Lite, Personal NetWare)
 9024h	Client info (NetWare "Slurpee", NetWare Lite, Personal NetWare)
 9025h	Serial socket (NetWare "Slurpee", NetWare Lite, Personal NetWare)
 9026h	Extension info (NetWare Lite, Personal NetWare???)
Notes:	SiteLock is an application metering product using IPX to communicate
	  between the application and the license server
	IPX socket numbers should be registered with the Novell Development
	  Products Division
SeeAlso: INT 7A/BX=0001h

Top
7A----BX0001 - INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
	BX = 0001h
	DX = socket number (high byte in DL) (see #03809)
Notes:	also cancels events set by any Event Control Blocks for the socket
	the program must close all open sockets before terminating
	this function is supported by Advanced NetWare 1.02+
	When the NetWare-specific release of the DR DOS command processor does
	  a NetWare shutdown sequence on exit, it will close all user sockets
	  except for socket numbers 4000 and 4001, which seem to be used by IPX
	  internally.
SeeAlso: BX=0000h

Top
7A----BX0002 - INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
	BX = 0002h
	ES:SI -> target internetwork address (see #03824 at INT 7A/BX=000Bh)
	ES:DI -> 6-byte buffer for local target
Return: AL = return code
	    00h success
	       CX = expected one-way transfer time (clock ticks) for a 576-byte
		      packet
	       ES:DI -> local target
	    FAh unsuccessful (no path to destination)
Notes:	the internetwork address consists of a 4-byte network address followed
	  by a 6-byte node address.  The local target is only a 6-byte node
	  address.  If the target is in the same network, the local target is
	  just the node address of target; otherwise, the local target is the
	  node address of the bridge that leads to the target.
	this function may be called from inside IPX and AES Event Service
	  Routines, but not from other interrupt handlers
	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0009h

Top
7A----BX0003 - INT 7A - Novell NetWare - IPX Driver - SEND PACKET
INT 7A - Novell NetWare - IPX Driver - SEND PACKET
	BX = 0003h
	ES:SI -> Event Control Block (see #03810,#03811)
Notes:	returns immediately; IPX attempts to send the packet in the background
	this function is supported by Advanced NetWare 1.02+
	this function is nearly identical to BX=000Fh, except that it always
	  copies the source address into the IPX header assumed to be at the
	  beginning of the first fragment
SeeAlso: BX=0004h,BX=000Fh,INT 21/AH=EEh"Novell"

Format of IPX Event Control Block:
Offset	Size	Description	(Table 03810)
 00h	DWORD	Link
 04h	DWORD	-> Event Service Routine (00000000h if none) (see #03814)
 08h	BYTE	in use flag (see #03812)
 09h	BYTE	completion code (see #03813)
 0Ah	WORD	(big-endian) socket number (see #03809)
 0Ch  4 BYTEs	IPX workspace
 10h 12 BYTEs	driver workspace
 1Ch  6 BYTEs	immediate local node address
 22h	WORD	fragment count
 24h	var	fragment descriptors
		Offset	Size	Description
		 00h	DWORD	-> fragment data
		 04h	WORD	size of fragment in bytes.
Notes:	ESR is a far procedure that is called when the ECB has been handled.
	  On call, the in use flag is zero if the ECB has been handled,
	  non-zero otherwise. If the flag is zero, the completion code holds
	  the result of the event.
	the first fragment should start with an IPX header (see #03815)
	all fragments are concatenated and sent in one piece
	node address FFh FFh FFh FFh FFh FFh broadcasts to all nodes
SeeAlso: #03811

Format of AES-ECB:
Offset	Size	Description	(Table 03811)
 00h	DWORD	Link
 04h	DWORD	ESR (Event Service Routine) address (see #03814)
 08h	BYTE	in use flag (see #03812)
 09h  5 BYTEs	AES workspace
SeeAlso: #03810

(Table 03812)
Values for ECB in use flag:
 00h	available
 E0h	AES temporary
 F6h	\ special IPX/SPX processing for v3.02+
 F7h	/
 F8h	IPX in critical section
 F9h	SPX listening
 FAh	processing
 FBh	holding
 FCh	AES waiting
 FDh	AES couting down delay time
 FEh	awaiting packet reception
 FFh	sending packet
SeeAlso: #03810,#03811,#03813

(Table 03813)
Values for ECB completion code:
 00h	success
 ECh	remote terminated connection without acknowledging packet
 EDh	abnormal connection termination
 EEh	invalid connection ID
 EFh	SPX connection table full
 F9h	event should not be cancelled
 FAh	cannot establish connection with specified destination
 FCh	cancelled
 FDh	malformed packet
 FEh	packet undeliverable
 FFh	physical error
SeeAlso: #03810,#03812

(Table 03814)
Values Event Service Routine is called with:
	AL = caller's identity (00h = AES, FFh = IPX)
	ES:SI -> event control block
	interrupts disabled
Return: all registers preserved
SeeAlso: #03810,#03815

Format of IPX header:
Offset	Size	Description	(Table 03815)
 00h	WORD	(big-endian) checksum
 02h	WORD	(big-endian) length in bytes of total packet
 04h	BYTE	transport control
 05h	BYTE	packet type (see #03816)
 06h 10 BYTEs	destination internetwork address
 10h	WORD	(big-endian) destination socket
 12h 10 BYTEs	source internetwork address
 1Ch	WORD	(big-endian) source socket
Notes:	an IPX packet has the identical format as a Xerox Network Standard
	  (XNS) packet
	the application must set packet type, destination address, and
	  destination socket; IPX/SPX set the remaining fields
SeeAlso: #03810,#03826

(Table 03816)
Values for IPX packet type:
 00h	unknown packet type
 01h	routing information packet
 02h	echo packet
 03h	error packet
 04h	packet exchange packet (always use this one for data)
 05h	SPX packet (see #03826)
 11h	NetWare Core Protocol (also used by Service Advertising Protocol)
 14h	Propagated Packet (for NetWare), NetBIOS name packet
 15h-1Eh experimental protocols
Note:	undocumented packet type 14h will cross up to 16 networks deep in
	  all directions; as Aaron Martin of Origin Systems discovered, the
	  first 64 bytes of the IPX data in such packets should be considered
	  reserved, as IPX places the traversed server nodes there.

Format of Service Advertising Protocol Service Query Packet:
Offset	Size	Description	(Table 03817)
 00h 30 BYTEs	IPX header
 1Eh	WORD	(big-endian) query type
		0001h general find service
		0003h find nearest server
 20h	WORD	(big-endian) server type
		(see #01890 at INT 21/AH=E3h"CONNECTION CONTROL")
SeeAlso: #03818

Format of Service Advertising Protocol Server Identification Packet:
Offset	Size	Description	(Table 03818)
 00h 30 BYTEs	IPX header
 1Eh	WORD	(big-endian) response type
		0002h general service
		0004h nearest service
 20h 64N BYTEs	server entries (1-7) (see #03819)
SeeAlso: #03817,#03820

Format of SAP server entry:
Offset	Size	Description	(Table 03819)
 00h	WORD	(big-endian) server type
		(see #01890 at INT 21/AH=E3h"CONNECTION CONTROL")
 02h 48 BYTEs	ASCIZ server name
 32h  2 WORDs	(big-endian) network number
 34h  3 WORDs	(big-endian) node number
 3Ch	WORD	(big-endian) socket number
 3Eh	WORD	(big-endian) number of hops between caller and server
		10h = Server Shutdown Advertising Packet
SeeAlso: #03818

Format of IPX Routing Information packet:
Offset	Size	Description	(Table 03820)
 00h 30 BYTEs	IPX header
 1Eh	WORD	operation (0001h request, 0002h response)
 20h 8N BYTEs	network entries (1-50) (see #03821)
SeeAlso: #03818

Format of RIP network entry:
Offset	Size	Description	(Table 03821)
 00h	DWORD	network number (FFFFFFFFh = general request)
 04h	WORD	(response) number of hops
 06h	WORD	(response) number of clock ticks to reach destination

Top
7A----BX0004 - INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
	BX = 0004h
	ES:SI -> Event Control Block (see BX=0003h)
Return: AL = status
	    00h successful
	    FFh no listening socket for packet
Desc:	this function provides IPX with an ECB for receiving an IPX packet, but
	  does not wait for a packet to arrive
Notes:	the application must open a socket and initialize the ECB's ESR
	  address, socket number, fragment count, and fragment descriptor
	  fields before invoking this function
	there is no limit on the number of ECBs which may simultaneously be
	  listening on a socket
	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0000h,BX=0003h

Top
7A----BX0005 - INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
	BX = 0005h
	AX = delay time in clock ticks
	ES:SI -> Event Control Block (see BX=0003h)
Note:	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0006h,BX=0007h,BX=0008h

Top
7A----BX0006 - INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
	BX = 0006h
	ES:SI -> Event Control Block (see BX=0003h)
Return: AL = return code (see #03822)
Notes:	cannot cancel packets which the node's driver has already sent
	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0005h

(Table 03822)
Values for IPX return code:
 00h	success
 F9h	event in use
 FCh	event cancelled
 FFh	unsuccessful, event not in use, or unrecognized ECB flag

Top
7A----BX0007 - INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
	BX = 0007h
	AX = delay time
	ES:SI -> Event Control Block (see BX=0003h)
Note:	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0006h

Top
7A----BX0008 - INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
	BX = 0008h
Return: AX = interval marker in clock ticks (big-endian???)
Notes:	may be used to measure the time elapsed between two events, up to one
	  hour
	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0005h

Top
7A----BX0009 - INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
	BX = 0009h
	ES:SI -> buffer for own internetwork address (see #03823)
Return: ES:SI buffer filled
	SI destroyed
Note:	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0002h,BX=000Bh

Format of IPX internetwork address:
Offset	Size	Description	(Table 03823)
 00h  4 BYTEs	(big-endian) network number
 04h  6 BYTEs	(big-endian) node number within network

Top
7A----BX000A - INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
	BX = 000Ah
Desc:	this call indicates that the application is idle and permits the IPX
	  driver to do some work
Note:	this function is supported by Advanced NetWare 1.02+
SeeAlso: INT 15/AX=1000h,INT 21/AH=89h,INT 2F/AX=1680h

Top
7A----BX000B - INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
	BX = 000Bh
	ES:SI -> internetwork address (see #03824)
Return: nothing
Notes:	this function permits the network software on the remote machine to
	  remove any virtual connection with the calling machine
	only use in point-to-point networks
	should never be called from within an Event Service Routine
	this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0002h,BX=0009h

Format of IPX internetwork address:
Offset	Size	Description	(Table 03824)
 00h  4 BYTEs	(big-endian) destination network
 04h  6 BYTEs	(big-endian) destination node
 0Ah  2 BYTEs	(big-endian) destination socket

Top
7A----BX000C - INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
	BX = 000Ch
	CX:DX = global network address (see INT 7A/BX=0002h)
	ES:DI -> "OSINCRITICALSECTION" flag
	DS:SI -> current mode for socket
Note:	the address cannot be changed once it has been initialized
SeeAlso: INT 7A/BX=0024h

Top
7A----BX000D - INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
	BX = 000Dh
Return: AX = maximum packet size
	CX = retry count
SeeAlso: BX=001Ah

Top
7A----BX000E - INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
	BX = 000Eh
Return: nothing
Notes:	this function terminates all sockets opened with the current mode; this
	  may be intended for future enhancements as the socket mode never
	  changes in v2.15
	called by the NetWare shell if a program terminates

Top
7A----BX000F - INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
	BX = 000Fh
	ES:SI -> Event Control Block (see #03810 at BX=0003h)
		IPX header's checksum field must be set to FFFFh (see #03815)
		IPX header's total-length field must be set
Note:	nearly identical to function 0003h, but does not copy address into
	  the first fragment, and bypasses normal error checking
SeeAlso: BX=0003h

Top
7A----BX0010 - INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
	BX = 0010h
	AL = 00h
Return: AL = status
	    00h if SPX not installed
	    F0h if IPX not installed
	    FFh if SPX loaded
		BH = SPX major version
		BL = SPX minor version
		CX = maximum SPX connections
		DX = SPX connections available
Notes:	this function is supported by Advanced NetWare 2.1+
	this interrupt is used for IPX/SPX access in NetWare versions through
	  2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
	  entry point even though INT 7A still exists.	For both INT 7A and
	  the FAR entry point, BX contains the function number
	IPX is sometimes called internally with BX bit 15 set, which causes the
	  entry point handler to bypass some checks and an optional call to
	  the IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
	  (see #02926)
SeeAlso: BX=0015h

Top
7A----BX0011 - INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
	BX = 0011h
	AL = retry count
	AH = watchdog flag
	ES:SI -> Event Control Block (see #03810 at BX=0003h)
Return: AL = status (00h,EFh,FDh,FFh) (see #03825)
	DX = assigned connection ID number
Desc:	attempt to establish a connection with a listening socket
Notes:	there should always be at least two SPX ECB's listening to a socket, so
	  that NetWare can perform its internal packet exchanges
	the first fragment should start with a SPX header (see #03826).	Fill
	  in all destination addresses.
	this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0000h,BX=0012h,BX=0013h,BX=0014h,BX=0015h

(Table 03825)
Values for SPX function status:
 00h	attempting to contact destination socket
 EEh	no such connection
 EFh	local connection table full
 FDh	buffer size not 42 or fragment count not 1
 FFh	sending socket not open

Format of SPX header:
Offset	Size	Description	(Table 03826)
 00h	WORD	(big-endian) checksum
 02h	WORD	(big-endian) length in bytes of total packet
 04h	BYTE	transport control
 05h	BYTE	packet type (see #03816 at INT 7A/BX=0003h)
 06h 10 BYTEs	destination internet address
 10h	WORD	(big-endian) destination socket
 12h 10 BYTEs	source internet address
 1Ch	WORD	(big-endian) source socket
 1Eh	BYTE	connection control (see #03827)
 1Fh	BYTE	datastream type
		FEh terminate connection request packet
		FFh terminate connection acknowledgement packet
		other user-defined, ignored by SPX
 20h	WORD	(big-endian) source connection ID
 22h	WORD	(big-endian) destination connection ID
 24h	WORD	(big-endian) sequence number
 26h	WORD	(big-endian) acknowledge number
 28h	WORD	(big-endian) allocation number
SeeAlso: #03815

Bitfields for SPX connection control:
Bit(s)	Description	(Table 03827)
 3-0	unused???
 4	end of message
 5	reserved
 6	acknowledgement required
 7	system packet

Top
7A----BX0012 - INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
	BX = 0012h
	AH = watchdog flag (00h disabled, 01h enabled)
	AL = retry count (00h = default)
	ES:SI -> Event Control Block (see #03810 at BX=0003h)
Return: nothing
Notes:	there should always be at least two SPX ECB's listening to a socket, so
	  that NetWare can perform its internal packet exchanges
	this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0011h,BX=0013h,BX=0014h

Top
7A----BX0013 - INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
	BX = 0013h
	DX = connection ID to terminate
	ES:SI -> Event Control Block (see #03810 at BX=0003h)
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0011h,BX=0012h,BX=0014h

Top
7A----BX0014 - INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
	BX = 0014h
	DX = connection ID to terminate
Return: nothing
Notes:	this function is supported by Advanced NetWare 2.1+
	this function does not tell the other side that the connection has been
	  terminated
	also aborts any outstanding Establish Connection, Terminate Connection,
	  and Send Sequenced Packet commands
SeeAlso: BX=0011h,BX=0013h

Top
7A----BX0015 - INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
	BX = 0015h
	DX = connection ID
	ES:SI -> status buffer (see #03828)
Return: AL = return code (00h,EEh) (see also #03825)
	    00h connection still valid
		ES:SI -> status buffer filled
Note:	this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0010h,BX=0011h

Format of SPX status buffer:
Offset	Size	Description	(Table 03828)
 00h	BYTE	connection state
		01h waiting to establish connection
		02h starting (attempting to create connection)
		03h connection established
		04h terminating
 01h	BYTE	watchdog flag
		bit 0: used internally by SPX
		bit 1: SPX watchdog is monitoring connection
		bits 2-7 used internally by SPX
 02h	WORD	(big-endian) source connection ID
 04h	WORD	(big-endian) destination connection ID
 06h	WORD	(big-endian) sequence number of next packet sent
 08h	WORD	(big-endian) acknowledge number, expected sequence number of
		  next received packet
 0Ah	WORD	(big-endian) maximum sequence number remote SPX may send
		  without ACK from local SPX
 0Ch	WORD	(big-endian) remote acknowledge number, next sequence number
		  remote SPX expects to receive
 0Eh	WORD	(big-endian) remote allocation number, maximum sequence number
		  local SPX may send
 10h	WORD	(big-endian) connection socket
 12h  6 BYTEs	immediate node address--bridge on local network to destination
 18h 10 BYTEs	destination internetwork address (see #03824 at INT 7A/BX=000Bh)
 22h	WORD	(big-endian) retransmit count
 24h	WORD	(big-endian) estimated roundtrip delay
 26h	WORD	(big-endian) retransmitted packets
 28h	WORD	(big-endian) suppressed packets
 2Ah 12 BYTEs	??? (v2.15)

Top
7A----BX0016 - INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
	BX = 0016h
	DX = connection ID
	ES:SI -> Event Control Block (see BX=0003h)
Notes:	this function is supported by Advanced NetWare 2.1+
	CX may need to be 0001h ???
SeeAlso: BX=0011h,BX=0017h

Top
7A----BX0017 - INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
	BX = 0017h
	DX = connection ID (unused in v2.15)
	ES:SI -> Event Control Block (see BX=0003h)
Notes:	this function is supported by Advanced NetWare 2.1+
	CX may need to be 0001h ???
SeeAlso: BX=0011h,BX=0016h

Top
7A----BX0018 - INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
	BX = 0018h
	ES:SI -> diagnostic element (see #03829) to be added to Diagnostic Queue
Note:	this function is supported on file servers only under v2.15; v3.02 also
	  supports it on workstations
SeeAlso: BX=0019h

Format of IPX diagnostic element:
Offset	Size	Description	(Table 03829)
 00h	DWORD	pointer to next diagnostic element
 04h	DWORD	pointer to function for ???
 08h	DWORD	pointer to function for ???

Top
7A----BX0019 - INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
	BX = 0019h
	ES:SI -> diagnostic element (see BX=0018h) to be removed
Note:	this function is supported on file servers only under v2.15; v3.02 also
	  supports it on workstations
SeeAlso: BX=0018h

Top
7A----BX001A - INT 7A - Novell NetWare - IPX Driver - GET DRIVER MAXIMUM PACKET SIZE
INT 7A - Novell NetWare - IPX Driver - GET DRIVER MAXIMUM PACKET SIZE
	BX = 001Ah
Return: AX = maximum packet size with preamble (at least 576 bytes)
	CX = IPX retry count
	DS,FLAGS preserved
SeeAlso: BX=000Dh

Top
7A----BX001B - INT 7A U - Novell NetWare - IPX Driver - INTERNAL
INT 7A U - Novell NetWare - IPX Driver - INTERNAL
	BX = 001Bh
	???
Return: ???
Notes:	this function is supported on file servers only under v2.15; v3.02 also
	  supports it on workstations
	used by NetWare Access Server, which may call INT 15/AX=1117h with
	  BX=0000h in some cases (it uses a modified DESQview)

Top
7A----BX001C - INT 7A U - Novell NetWare - NetWare Access Server - GET ???
INT 7A U - Novell NetWare - NetWare Access Server - GET ???
	BX = 001Ch
Return: AX = length of ???
	ES:BX -> ???
Notes:	these functions are NOPs for standard IPX drivers such as IPXODI v2.12
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Dh,INT 7A/BX=001Eh

Top
7A----BX001D - INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB AND SOCKET
INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB AND SOCKET
	BX = 001Dh
Return: DX = socket number chosen by IPX
	ES:SI -> ECB in IPX's code segment (will be listening)
	BX corrupted
Notes:	these functions are NOPs for standard IPX drivers such as IPXODI v2.12
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Eh

Top
7A----BX001E - INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB
INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB
	BX = 001Eh
Return: ES:SI -> ECB
	BX corrupted
Notes:	these functions are NOPs for standard IPX drivers such as IPXODI v2.12
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Dh

Top
7A----BX001F - INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX INFORMATION
INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX INFORMATION
	BX = 001Fh
	DX = 0000h
Return: AX = ???
	BX:CX -> ??? entry point (see #03830) (undocumented)
	DX = feature flags
	    bit 0: IPXODI rather than dedicated IPX
	    bit 1: checksumming functions 0020h-0022h supported
	ES:SI -> array of words containing used socket number (undocumented);
		0000h ends array
	all other registers except DS and FLAGS may be destroyed
Note:	IPXODI v2.12 is distributed as part of the Personal NetWare system
	  bundled with Novell DOS 7
SeeAlso: BX=0020h,INT 2F/AX=7A2Fh

(Table 03830)
Call IPXODI entry point with:
	ES:SI -> ECB??? (offset 24h is far pointer to ??? data)

Top
7A----BX0020 - INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
	BX = 0020h
	ES:SI -> ECB (see #03810 at INT 7A/BX=0003h)
Return: DS,FLAGS preserved
	BX,BP corrupted (documented as potentially destroying all other regs)
Desc:	generate a checksum for the packet data and store it in the IPX
	  checksum field before transmitting the packet
SeeAlso: BX=001Fh,BX=0021h,BX=0022h,INT 2F/AX=7A2Fh

Top
7A----BX0021 - INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
	BX = 0021h
	ES:SI -> ECB data (see #03810 at INT 7A/BX=0003h)
Return: ES,DS,SI preserved
	BX,BP corrupted, all other registers potentially destroyed
Notes:	the checksum and TransportControl fields of the IPX packet are updated
	this function enables interrupts and is fully reentrant
SeeAlso: BX=001Fh,BX=0020h,BX=0022h,INT 2F/AX=7A2Fh

Top
7A----BX0022 - INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
	BX = 0022h
	ES:SI -> ECB data (see #03810 at INT 7A/BX=0003h)
Return: AX = status (0000h checksum matches)
	DS,ES,SI preserved
	BX,BP corrupted, all other registers potentially destroyed
Note:	this function enables interrupts and is fully reentrant
SeeAlso: BX=001Fh,BX=0020h,BX=0021h,INT 2F/AX=7A2Fh

Top
7A----BX0023 - INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
	BX = 0023h
	DX = socket number (0000h for dynamic allocation)
	ES:SI -> Look Ahead handler (see #03831)
	BP = desired lookahead size (0000h-0080h)
Return: AL = status
	    00h successful
		DX = assigned socket number (big-endian)
	    FEh maximum number of sockets already open
	    FFh specific socket already opened by another application
	DS,FLAGS preserved
	all other registers may be destroyed
Notes:	the socket will always be long-lived, and must thus be explicitly
	  closed with INT 7A/BX=0001h before the Look Ahead handler code is
	  removed from memory (i.e. the program terminates)
	this function is only supported if INT 2F/AX=7A00h returns ES:BX
	  pointing at an IPX version greater than 3.30
	the desired lookahead size is the smallest-size packet (including IPX
	  header) that should be passed to the lookahead handler when it
	  arrives
SeeAlso: INT 7A/BX=0000h,INT 7A/BX=0001h

(Table 03831)
Call IPX Look-Ahead handler with:
	AX = packet's destination socket
	DS:SI -> look-ahead structure (see #03010 at INT 2F/AX=C000h"LSL")
	DF clear
	interrupt disabled (must remain disabled)
Return: AX = packet use
	    0000h application want packet
		ES:SI -> ODI ECB (see #03011 at INT 2F/AX=C000h"LSL")
	    8001h application does not want packet
	ZF set if AX=0000h
	DS,DI,BP,SS,SP preserved
	interrupts disabled

Top
7A----BX0024 - INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
	BX = 0024h
	ES:SI -> buffer containing internetwork address (see #03824)
Return: BX,CX,SI,DI,ES destroyed
Note:	this function differs from INT 7A/BX=000Ch in that it unconditionally
	  sets the address
SeeAlso: INT 7A/BX=000Ch

Top
7A0001 - INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
	AX = 0001h
	BX = configuration
	CX = interface level (0001h)
Return: AX = status
	    0000h initialization failed
	    0001h pre-v4.0 driver initialized successfully
	    0003h post-v3.1 driver initialized successfully (driver truncates
		  excessivly long packets)
	BX = width of graphics area in pixels, or 0000h if using packet
		  communication
	DX:CX -> packet-mode entry point (see #03832)
SeeAlso: AX=0001h,AX=0200h,AX=07D0h,INT 61/AX=0007h"OPTIMA",INT 78"AutoCAD"
SeeAlso: INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD",INT 7C"AutoShade"

(Table 03832)
Call packet-mode entry point with:
STACK:	DWORD	pointer to request packet (see #03833)
	WORD	length of packet

Format of request packet:
Offset	Size	Description	(Table 03833)
 00h	WORD	function number (00h-45h for Compaq VGADI41.EXE)

Top
7A0200BX0000 - INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
	AX = 0200h
	BX = 0000h
	CX = interface level (0001h)
Return: BX = 0000h (driver uses packet communication)
	DX:CX -> packet-mode entry point (see #03832)
SeeAlso: AX=0001h"AutoCAD",INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD"

Top
7A04 - INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
	AH = 04h
	???
Return: ???
SeeAlso: AH=06h

Top
7A06 - INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
	AH = 06h
	???
Return: ???
SeeAlso: AH=04h

Top
7A07D0 - INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
	AX = 07D0h
Return: AX = ??? (0003h)
	BX = 0000h
	DX:CX -> ADI entry point (see AX=0001h)
SeeAlso: AX=0001h

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
	AH = 09h
	BX = 8020h (synchronous request)
	CX = 0000h
	DX = ID of session manager (SESSMGR)
	AL = service (see #03834)
	ES:DI -> control block
Return: ???

(Table 03834)
Values for service:
 01h	get session ID
 02h	get session info
 04h	dettach from session
 05h	attach to session
 06h	get list of windows available
 07h	get environment of window
 08h	get 'PIF' (program information file) info
 0Ah	get base window ID
 0Bh	get cursor info

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
	AH = 09h
	BX = 8020h (synchronous request)
	CX = 0000h
	DX = ID of keyboard manager
	AL = service number (see #03835)
	ES:DI -> control block
Return: ???

(Table 03835)
Values for 3270 Workstation Program keyboard service:
 01h	connect to keyboard
 02h	disconnect from keyboard
 03h	read from keyboard
 04h	send keystroke to session
 05h	disable input
 06h	enable input
 07h	update status code

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
	AH = 09h
	BX = 8020h (synchronous request)
	CX = 00FFh
	DX = ID of window service controller (WSCTRL)
	AL = service number (see #03836)
	ES:DI -> control block
Return: ???

(Table 03836)
Values for 3270 Workstation Program window service:
 01h	connect to WS control
 02h	disconnect from WS control
 03h	add a window
 04h	change window's position on screen
 05h	change window's size
 06h	change window's color
 07h	change window's position in the presentation space
 08h	hide/unhide toggle
 09h	enlarge/reduce toggle
 0Ah	change screen background color
 0Bh	get window's position on screen
 0Ch	get window's size
 0Dh	get window's color
 0Eh	get window's position in the presentation space
 0Fh	determine whether hidden
 10h	determine whether enlarged
 11h	get background color
 12h	get window names
 13h	delete all windows from profile
 14h	pick active window
 15h	redraw screen
 16h	redraw window
 17h	delete a window from profile
 18h	get active window
 19h	get active screen
 1Ah	get window data
 1Bh	change window data
 1Ch	select active screen

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
	AH = 09h
	BX = 8020h
	CX = 00FFh
	DX = ID of PCPSM
	AL = service
	    01h define presentation space
	    02h delete presentation space
	    03h display presentation space
	    04h position cursor in presentation space
	    05h change default presentation space
	ES:DI -> control block
Return: ???

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
	AH = 09h
	BX = 8020h
	CX = 00FFh
	DX = ID of 3270EML
	AL = service
	    01h connect
	    02h disconnect
	ES:DI -> control block
Return: ???

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
	AH = 09h
	BX = 8020h
	CX = 00FFh
	DX = ID of OIAM
	AL = service
	    01h read Operator Information Area
	    02h read OIA subset
	ES:DI -> control block
Return: ???
Note: the OIA is the 25th line on the Host session

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
	AH = 09h
	BX = 8020h
	CX = 00FFh
	DX = ID of XLATE
	AL = service
	    01h translate from host characters to ASCII and vice versa
		(determined by control block byte 11)
	ES:DI -> control block
Return: ???

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
	AH = 09h
	BX = 8020h
	CX = 00FFh
	DX = ID of copy service
	AL = service
	    01h copy string from one presentation space to another
	    02h copy block from one presentation space to another
	    03h connect to PC session for copy
	    04h disconnect PC session from copy
	ES:DI -> control block
Return: ???

Top
7A09--BX8020 - INT 7A - IBM 3270 Workstation Program API - Multi-DOS
INT 7A - IBM 3270 Workstation Program API - Multi-DOS
	AH = 09h
	BX = 8020h
	CX = 00FFh
	ES:DI -> control block
	DX = ID of INDJQRY
		get environment size
	   = ID of INDJASY
		request DOS functions from workstation
	   = ID of MEMORY
		AL = function
		    01h allocate memory
		    02h deallocate memory
		    03h modify allocated size
Return: ???

Top
7A09 - INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
	AH = 09h
	BX = request type (4000h async, 8028h synchronous)
	CX = 0000h
	DX = ID of MFIC
	AL = service (see #03837)
	ES:DI -> control block

(Table 03837)
Values for 3270 Workstation Program host service:
 01h	connect to host
 02h	disconnect from host
 03h	read DFT structured data from host
 04h	write DFT structured data to host
 05h	create a host buffer

Top
7A13 - INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
	AH = 13h
	???
Return: ???

Top
7A7A - INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
	AH = 7Ah
	???
Return: AX = status
	    0000h success
	    000Eh undefined function code
Range:	unknown, selected by device driver commandline arguments

Top
7A81 - INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
	AH = 81h
	ES:DI -> 8-char blank-padded gate name (see #03838)
Return: DX = gate ID

(Table 03838)
Values for 3270 Workstation Program gate name:
 "SESSMGR "
 "KEYBOARD"
 "WSCTRL  "
 "MFIC	  "
 "PCPSM	  "
 "3270EML "
 "COPY	  "
 "XLATE	  "
 "OIAM	  "
 "MEMORY  "
 "INDJQRY "
 "INDJASY "

Top
7A83 - INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
	AH = 83h
	???
Return: ???

Top
7AFDCB - INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
	AX = FDCBh
Return: DX:AX -> PCS/3270 signature block if loaded (see #03839)

Format of Personal Communications/3270 signature block:
Offset	Size	Description	(Table 03839)
 04h	WORD	PCS/3270 signature (5741h)
 06h	WORD	version (0501h = PCS/3270 v1.0)

Top
7AFE01 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
	AX = FE01h
	???
Return: ???
SeeAlso: AX=FE02h

Top
7AFE02 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
	AX = FE02h
	???
Return: ???
SeeAlso: AX=FE01h

Top
7AFF01 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
	AX = FF01h
	ES:DI -> API function handler routine
Return: CX = 1200h
SeeAlso: AX=FF02h,AX=FF03h

Top
7AFF02 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
	AX = FF02h
Return: CX = 1200h
SeeAlso: AX=FF01h

Top
7AFF03 - INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
	AX = FF03h
	ES:DI -> send/receive function handler routine
Return: CX = 1200h
SeeAlso: AX=FF01h

Top
7AFF04 - INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
	AX = FF04h
	ES:DI -> ???
Return: CX = 1200h

Top
7B - INT 7B - Btrieve API (single user)
INT 7B - Btrieve API (single user)
	DS:DX -> 38-byte parameter record (see #03840)
Return: return code field set
Note:	Btrieve sets low byte of vector to 33h; this serves as the installation
	  check
SeeAlso: INT 2F/AX=AB01h,INT 7F/AX=0200h

Format of Btrieve parameter record:
Offset	Size	Description	(Table 03840)
 00h	DWORD	pointer to data buffer
 04h	WORD	data buffer length
 06h	DWORD	pointer to 90-byte record containing positioning info
		(should be same for all calls for same file)
 0Ah	DWORD	pointer to 38-byte FCB info buffer
		(should be same for all calls for same file)
 0Eh	WORD	function code (see #03841)
 10h	DWORD	pointer to file name/key buffer
 14h	BYTE	key length
 15h	BYTE	key number
 16h	DWORD	pointer to status code (see #03842)
 1Ah	WORD	interface code (version specific)
		6176h version 5.10

(Table 03841)
Values for function code:
 00h	open
 01h	close
 02h	insert
 03h	update
 04h	delete
 05h	get_equal
 06h	get_next
 07h	get_prev
 08h	get_greater
 09h	get_gr_eql
 0Ah	get_less
 0Bh	get_less_eq
 0Ch	get_first
 0Dh	get_last
 0Eh	create
 0Fh	stat
 10h	extend
 11h	set_dir: set directory information
 12h	get_dir: get directory information
 13h	begin_trans
 14h	end_trans
 15h	abort_trans
 16h	get_pos: get record position number
 17h	get_direct: get data by sending record position
 18h	step_next
 19h	stop
 1Ah	version
 1Bh	unlock
 1Ch	reset
 1Dh	set owner
 1Eh	clear owner
 1Fh	create supplemental index
 20h	drop supplemental index
 21h	step first
 22h	step last
 23h	step previous
 24h	get next extended: get multiple records using a filter
 25h	get previous extended: get multiple records using a filter
 26h	step next extended: get multiple records using a filter
 27h	step previous extended: get multiple records using a filter
 28h	insert extended: insert one or more records
 31h	???
Notes:	add 50 (32h) to any "get" operation to just return the key data
	add 100 (64h) for a single-record wait lock (automatically released
	  on next get)
	add 200 (C8h) for a single-record nowait lock (nowait lock returns
	  error 54h or 55h if record already locked)
	add 300 (12Ch) for a multiple-record wait lock (not released until
	  unlock called)
	add 400 (190h) for a multiple-record nowait lock (nowait lock returns
	  error 54h or 55h if record already locked)

(Table 03842)
Values for Btrieve status code:
 00h	successful
 01h	invalid operation
 02h	I/O error
 03h	file not open
 04h	key value not found
 05h	duplicate key value
 06h	invalid key number
 07h	different key number
 08h	invalid positioning
 09h	end of file
 0Ah	modifiable key value error
 0Bh	invalid file name
 0Ch	file not found
 0Dh	extended file error
 0Eh	pre-image open error
 0Fh	pre-image I/O error
 10h	expansion error
 11h	close error
 12h	disk full
 13h	unrecoverable error
 14h	record manager inactive
 15h	key buffer too short
 16h	data buffer length overrun
 17h	position block length
 18h	page size error
 19h	create I/O error
 1Ah	number of keys
 1Bh	invalid key position
 1Ch	invalid record length
 1Dh	invalid key length
 1Eh	not a Btrieve file
 1Fh	file already extended
 20h	extended I/O error
 22h	invalid extension name
 23h	directory error
 24h	transaction error
 25h	transaction is active
 26h	transaction control file I/O error
 27h	end/abort transaction error
 28h	transaction max files
 29h	operation not allowed
 2Ah	incomplete accelerated access
 2Bh	invalid record address
 2Ch	null key path
 2Dh	inconsistent key flags
 2Eh	access to file denied
 2Fh	maximum open files
 30h	invalid alternate sequence definition
 31h	key type error
 32h	owner already set
 33h	invalid owner
 34h	error writing cache
 35h	invalid interface
 36h	variable page error
 37h	autoincrement error
 38h	incomplete index
 39h	expanded memory error
 3Ah	compression buffer too short
 3Bh	file already exists
 3Ch	reject count reached
 3Dh	work space too small
 3Eh	incorrect descriptor
 3Fh	invalid extended insert
 40h	filter limit reached
 41h	incorrect field offset
 4Ah	automatic transaction abort
 4Dh	Btrieve engine busy or resource locked by another user
 4Eh	deadlock detected
 50h	conflict
 51h	lock error
 52h	lost position
 53h	read outside transaction
 54h	record in use
 55h	file in use
 56h	file table full
 57h	handle table full
 58h	incompatible open mode
 5Ah	redirected device table full
 5Bh	server error
 5Ch	transaction table full
 5Dh	incompatible lock type
 5Eh	permission error
 5Fh	session no longer valid
 60h	communications environment error
 61h	data message too small
 62h	internal transaction error

Top
7B - INT 7B - Eicon Access API (3270/5250 gateways)
INT 7B - Eicon Access API (3270/5250 gateways)
SeeAlso: INT 5C"NetBIOS"

Top
7B - INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0B,INT 10/AH=FFh"GO32",INT 7A"GO32",INT 7C"GO32"

Top
7B - INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
	AX = data length (0000h-7FFFh)
	CX:BX -> data to be plotted
	DX = vertical position of line on page
Return: nothing
Notes:	This interrupt is called by AutoCAD to perform its output
	A data length of 0000h indicates that a blank line is to be output
SeeAlso: AX=8001h,AX=8002h,INT 78"AutoCAD",INT 7A/AX=0001h"AutoCAD"

Top
7B - INT 7B U - MCI Express v2.11+ - DRIVER.EXE - ???
INT 7B U - MCI Express v2.11+ - DRIVER.EXE - ???
Program: MCI Express is a front end to MCI Mail; DRIVER.EXE is its
	  communication driver

Top
7B - INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
	DS:DX -> parameter block (see #03844)
Return: parameter block updated

(Table 03843)
Values for Novell XQL function number:
 00h	log in
 01h	log out
 02h	"tNewFcn"
 03h	"tFreeFcn"
 04h	"tMoveFldFcn"
 05h	"tFieldFcn"
 06h	"tDescribeFcn"
 07h	"tFetchFcn"
 08h	"tComputeFcn"
 09h	"tOrderFcn"
 0Ah	"tRestrictFcn"
 0Bh	"tJoinFcn"
 0Ch	"tInsertFcn"
 0Dh	"tUpdateFcn"
 0Eh	"tUpdallFcn"
 0Fh	"tRemoveFcn"
 10h	"tRemallFcn"
 11h	"tResetFcn"
 12h	"tTransFcn"
 13h	"tStatFcn"
 14h	"tDDCreFcn"
 15h	"tStoreFcn"
 16h	"tRecallFcn"
 17h	"tStopFcn"
 18h	"tDDFileFcn"
 19h	"tDDFieldFcn"
 1Ah	"tDDIndexFcn"
 1Bh	"tDDModFcn"
 1Ch	"tDDViewFcn"
 1Dh	"tDDDrpFcn"
 1Eh	"tDDPathFcn"
 1Fh	"tDDAttrFcn"
 20h	"tDDFcn"
 21h	"tSecurFcn"
 22h	"tUserFcn"
 23h	"tAccessFcn"
 24h	"tPswdFcn"
 25h	"tCharFcn"
 26h	"tVersionFcn"
 27h	"tCnvFcn"
 28h	"tValFcn"
 29h	"tMaskFcn"
SeeAlso: #03844

Format of XQL parameter block:
Offset	Size	Description	(Table 03844)
 00h  4 BYTEs	signature "XQLP"
 04h	WORD	function number (see #03843)
 06h	WORD	handle
 08h	WORD	status
 0Ah	WORD	session ID
 0Ch	var	data record (varies by function)
---function 00h---
 0Ch	DWORD	-> user name
 10h	DWORD	-> password
 14h	DWORD	-> dictionary
 18h	DWORD	-> filepath
 1Ch	DWORD	-> machine name
 20h	WORD	process ID
---function 01h---
 no additional fields???
---function 02h---
 0Ch	DWORD	-> filename
 10h	DWORD	-> owner name
 14h	WORD	open mode
---function 03h---
 no additional fields???
---function 04h---
 0Ch	WORD	"frompos"
 0Eh	WORD	"topos"
---function 05h---
 0Ch	WORD	subfunction
 0Eh	WORD	position
 10h	WORD	count
 12h	DWORD	-> field list
---function 06h---
 0Ch	WORD	subfunction
 0Eh	WORD	length of description
 10h	WORD	position
 12h	WORD	count
 14h	DWORD	pointer to description list
---function 07h---
 0Ch	WORD	data length
 0Eh	WORD	"op"
 10h	DWORD	"select"
 14h	DWORD	"reject"
 18h	DWORD	pointer to data buffer
---function 08h---
 0Ch	DWORD	-> field name
 10h	WORD	field type
 12h	WORD	field size
 14h	WORD	"flddec"
 16h	WORD	"explen"
 18h	DWORD	pointer to "expbuf"
---function 09h---
 0Ch	WORD	count
 0Eh	DWORD	-> field list
---function 0Ah---
 0Ch	WORD	"newexp"
 0Eh	WORD	"explen"
 10h	DWORD	-> "expbuf"
---function 0Bh---
 0Ch	DWORD	-> filename
 10h	DWORD	-> owner name
 14h	WORD	type of join
 16h	WORD	"pCount"
 18h	DWORD	-> "pNames"
 1Ch	WORD	"sCount"
 1Eh	DWORD	-> "sNames"
---functions 0Ch, 0Dh, 0Fh---
 0Ch	WORD	file count
 0Eh	DWORD	-> file list
 12h	DWORD	count
 16h	DWORD	-> buffer
---function 0Eh---
 0Ch	WORD	file count
 0Eh	DWORD	-> file list
 12h	WORD	"op"
 14h	DWORD	"select"
 18h	DWORD	"reject"
 1Ch	WORD	count
 1Eh	DWORD	-> "res"
 22h	DWORD	-> "comp"
---function 10h---
 0Ch	WORD	file count
 0Eh	DWORD	-> file list
 12h	WORD	"op"
 14h	DWORD	"select"
 18h	DWORD	"reject"
---function 11h---
 0Ch	DWORD	machine name
---function 12h---
 0Ch	WORD	option
---function 13h---
 0Ch	WORD	subfunction
 0Eh	WORD	length of buffer
 10h	DWORD	-> buffer
---function 14h---
 0Ch	WORD	subfunction
 0Eh	DWORD	-> filename
 12h	WORD	"create"
 14h	DWORD	-> pathname
 18h	DWORD	-> owner name
 1Ch	WORD	owner access restrictions
 1Eh	WORD	number of fields
 20h	DWORD	-> field list
 24h	WORD	number of keys
 28h	DWORD	-> key list
 2Ch	WORD	"buflen"
 2Eh	DWORD	-> create parameters
---function 15h---
 0Ch	DWORD	-> "StoreName"
 10h	WORD	length of buffer
 12h	DWORD	-> buffer
---function 16h---
 0Ch	DWORD	-> "RecallName"
 10h	WORD	owner number
 12h	DWORD	-> owner list
 16h	WORD	open mode
 18h	WORD	length of buffer
 1Ah	DWORD	-> buffer
---function 17h---
 no additional fields???
---function 18h---
 0Ch	WORD	"rtype"
 0Eh	WORD	count
 10h	DWORD	-> "filebuf"
 14h	WORD	length of following buffer
 16h	DWORD	-> output buffer
---functions 19h, 1Ah---
 0Ch	WORD	"rtype"
 0Eh	WORD	count
 10h	DWORD	-> field buffer
 14h	WORD	length of following buffer
 16h	DWORD	-> output buffer
---function 1Bh---
 0Ch	WORD	subfunction
 0Eh	DWORD	-> filename
 12h	WORD	"create"
 14h	DWORD	-> pathname
 18h	DWORD	-> owner name
 1Ch	WORD	owner access restrictions
 1Eh	WORD	field count
 20h	DWORD	-> field list
 24h	WORD	number of keys
 26h	DWORD	-> list of keys
---function 1Ch---
 0Ch	WORD	count
 0Eh	DWORD	-> view name
 12h	WORD	length of following buffer
 14h	DWORD	-> output buffer
---function 1Dh---
 0Ch	DWORD	-> filename
 10h	WORD	file type
 12h	WORD	"deletepath"
---function 1Eh---
 0Ch	WORD	"dirtype"
 0Eh	DWORD	-> pathname
---function 1Fh---
 0Ch	WORD	function
 0Eh	DWORD	-> field name
 12h	WORD	attribute
 14h	WORD	size of buffer
 16h	DWORD	-> buffer for attributes
---function 20h---
 0Ch	DWORD	-> directory path
 10h	WORD	function
---function 21h---
 0Ch	DWORD	-> master password
 10h	WORD	"securityflag"
---function 22h---
 0Ch	DWORD	-> master password
 10h	WORD	function (add/modify/remove)
 12h	DWORD	-> user name
 16h	DWORD	-> password
 1Ah	WORD	global rights
 1Ch	WORD	count
 1Eh	WORD	length of following buffer
 20h	DWORD	-> "userbuf"
---function 23h---
 0Ch	DWORD	-> master password
 10h	DWORD	-> user name
 14h	WORD	function (allow/deny/getrights)
 16h	WORD	rights
 18h	DWORD	-> filename
 1Ch	WORD	number of field names in following buffer
 1Eh	DWORD	-> field names
 22h	WORD	maximum buffer length
 24h	DWORD	-> output buffer
---function 24h---
 0Ch	DWORD	-> user name
 10h	DWORD	-> password
---function 25h---
 0Ch	WORD	"charFcn"
 0Eh	WORD	"charType"
 10h	WORD	"charValue"
---function 26h---
 0Ch	DWORD	-> buffer
---function 27h---
 0Ch	WORD	option
 0Eh	WORD	type
 10h	WORD	size
 12h	WORD	"dec"
 14h	WORD	"dsize"
 16h	DWORD	-> value
 1Ah	DWORD	-> "retval"
 1Eh	DWORD	-> mask
 22h	WORD	"justify"
---function 28h---
 0Ch	DWORD	-> field name
 10h	WORD	length of buffer
 12h	DWORD	-> buffer for data
---function 29h---
 0Ch	WORD	option
 0Eh	WORD	type
 10h	WORD	size
 12h	WORD	"dec"
 14h	WORD	length of mask
 16h	DWORD	-> mask

Top
7B8001 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
	AX = 8001h
	BX = file level
	    0000h binary file
	    0001h CAD/camera image file
	    0002h installed ADI driver
	CX = horizontal size in pixels
	DX = vertical size in pixels
Return: AX = status (0000h initialization failed, 0001h init successful)
	BX = allowed output format
	    0000h monochrome
	    0001h color (4 bits per pixel)
SeeAlso: AX=8002h,AX=8003h,INT 7B"AutoCAD",INT 7C"AutoShade"

Top
7B8002 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
	AX = 8002h
SeeAlso: AX=8001h,AX=8003h

Top
7B8003 - INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
	AX = 8003h
SeeAlso: AX=8001h,AX=8002h

Top
7C - INT 7C U - IBM REXX88PC command language
INT 7C U - IBM REXX88PC command language
	???

Top
7C - INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
	  GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0C,INT 7B"GO32",INT 7D"GO32"

Top
7C - INT 7C - PRINDIR v8.02-8.xx - API
INT 7C - PRINDIR v8.02-8.xx - API
	AH = function
	   00h set output to Invisible mode
	   01h set output to LPT1
	   02h set output to LPT2
	   03h set output to LPT3
	   04h set output to COM1
	   05h set output to COM2
	   06h set output to COM3
	   07h set output to COM4
	   08h set output to screen
	   09h set output to file
	   0Ah change file path
	       ES:DI -> new path
	       CX = length of path (max 41, but not range-checked)
	   0Bh change file name
	       ES:DI -> new filename
	       CX = length of new name (max 41, but not range-checked)
	   0Ch set redirected device
		(01h = LPT1 ... 03h = LPT3, 04h = COM1 ... 07h = COM4)
	   0Dh force buffer dump
	   0Eh set display color
	       AL = new color attribute (see #00014 at INT 10/AH=08h)
	   0Fh set popup hotkey
	       AL = hotkey scancode
	   10h toggle byte display
	       AL = new state (00h off, 01h on)
	   11h change buffer flush delay
	       AL = timer ticks before flush
Return: AX = status
	    0000h successful
	    0001h invalid function or nothing in buffer to be dumped
	    (documented as "nonzero = error")
Program: PRINDIR is a shareware printer-redirection program by J.M. Allen
	  Creations
InstallCheck:	test for the ASCIZ signature "PRINDIR N.NN" (where N.NN is the
	  version number) two bytes beyond the start of the interrupt handler
Note:	prior versions of PRINDIR used INT 7A instead of INT 7C
SeeAlso: INT 7A"PRINDIR",INT 2F/AX=7F00h"PRINDIR"
Index:	hotkeys;PRINDIR

Top
7C - INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
Note:	this is the default interrupt vector for rendering hardcopy drivers
	  instead of INT 7A used by AutoCAD drivers
SeeAlso: INT 7A/AX=0001h"AutoCAD"

Top
7C - INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
	  which provides an API on top of it Data Link Interface, allowing the
	  use of any of several network transport layers; this product is
	  called SK-PASSPORT in the USA.
InstallCheck:	test for the ASCII signature string "UPPS_DLI" immediately
	  preceding the interrupt handler
Notes:	To find the service interrupt being used by the driver, an application
	  should scan through the interrupt table until it finds an interrupt
	  vector with the "UPPS_DLI" string.
	There may be more than one DLI loaded, each having its own service
	  interrupt.
SeeAlso: AX=0000h,AX=0002h,AX=000Fh
Index:	installation check;SK-UPPS

Top
7C0000 - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
	AX = 0000h
Return: AH = major DLI version
	AL = minor DLI version
	DX = OEM signature (see #03845)
	CL = DLI 2.8+ topology: 1=Ethernet, 2=FDDI, 3=Token-Ring
SeeAlso: AX=0002h,AX=000Bh,AX=000Dh,AX=000Eh

(Table 03845)
Values for SK-UPPS Data Link Interface OEM signature (defined by SK):
 0001h		experimental
 3343h	('3C')	3COM
 4942h	('IB')	IBM
 4943h	('IC')	Intellicom
 494Eh	('IN')	Intel
 4B4Fh	('KO')	Kodiak
 4D41h	('MA')	Madge
 4E45h	('NE')	Novell
 4F43h	('OC')	Olicom
 5349h	('SI')	Siemens
 534Bh	('SK')	Schneider & Koch (SysKonnect)
 5744h	('WD')	Western Digital

Top
7C0001 - INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
	AX = 0001h
Return: AX = completion code (see #03846)
Note:	the DLI will refuse to unload if there are any protocols
	  (see AX=0007h) or clients (see AX=0010h) active.
Index:	uninstall;SK-UPPS Data Link Interface

(Table 03846)
Values for SK-UPPS completion code:
 0000h	SUCCESS
 0005h	INVALID_MULTICAST
 0006h	BUFFER_TOO_SMALL
 0007h	NO_BUFFERS_LEFT
 0008h	NO_RESOURCES_LEFT
 000Bh	ILLEGAL_PROTOCOL_ID
 000Ch	PROTOCOL_IN_USE
 000Dh	NO_MULTICAST_ADDRESS
 000Fh	PROTOCOLS_ACTIVE
 0010h	CLIENTS_ACTIVE
 001Bh	INVALID_MODE
 001Ch	MODE_NOT_SUPPORTED
 FFFFh	UNKNOWN_SERVICE

Top
7C0002 - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
	AX = 0002h
	ES:DI -> Status Information Block (SIB) (see #03858)
Return: AX = completion code (see #03846)
Note:	GET DRIVER INFO (AX=000Eh) should be used instead.
SeeAlso: AX=0000h,AX=000Bh,AX=000Dh,AX=000Eh

Top
7C0003 - INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
	AX = 0003h
	ES:DI -> new node address (6 bytes)
Return: AX = completion code (see #03846)
Note:	the DLI will refuse to change the address if any protocols
	  (see AX=0007h) are active
SeeAlso: AX=0001h,AX=000Eh

Top
7C0004 - INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
	AX = 0004h
	DX = protocol ID (see AX=0007h,#03849)
Return: AX = completion code (see also #03846)
	    0000h successful
		ES:BX -> Memory Buffer (Mbuf) (see #03847)
Note:	if the DLI has no free Mbufs, it will set an internal flag for the
	  protocol and later call the protocol's Event Upcall with
	  EV_BUFFER_AVAILABLE (see #03853,#03854) as soon as an Mbuf becomes
	  available.  There will only be one "buffer available" Upcall, even
	  if this function has been called several times before.
SeeAlso: AX=0005h,AX=0006h,AX=0012h,AX=0013h

Format of SK-UPPS Memory Buffer (Mbuf):
Offset	Size	Description	(Table 03847)
 00h	DWORD	-> NEXT Mbuf (linked list)
 04h	WORD	OFFSET of actual data within DATA area
 06h  2 BYTEs	reserved (currently unused)
 08h	WORD	LENGTH of actual data found in DATA area starting at OFFSET
 0Ah  2 BYTEs	reserved (currently unused)
 0Ch	DWORD	-> DATA area (size can be obtained via AX=000Eh call)
 10h	WORD	PROTOCOL ID of protocol currently "owning" the Mbuf
 12h	BYTE	IN USE flag; nonzero if Mbuf still in use by DLI (see AX=0006h)
 13h	BYTE	RECEIVE STATUS (bit 0-7 only; see AX=0007h - Receive Upcall)

Top
7C0005 - INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
	AX = 0005h
	ES:BX -> Mbuf (see #03847)
Return: nothing
SeeAlso: AX=0004h

Top
7C0006 - INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
	AX = 0006h
	ES:BX -> Mbuf (see #03847)
Return: nothing
Notes:	The DLI will send LENGTH bytes found in the Mbuf's DATA area starting
	  at OFFSET. A complete and valid frame must be stored there. The DLI
	  will only copy the current node address (see AX=0003h) to the
	  source node field of the frame's MAC header.
	On Ethernet, the DLI will always send a minimum of 60 bytes, regardless
	  of the value found in the LENGTH field.
	This function returns immediately; the DLI will call the protocol's
	  Transmit Upcall (see #03848) when the frame has been sent.
	The Mbuf's IN USE field will be non-zero until the DLI calls the
	  Transmit Upcall.
SeeAlso: AX=0002h,AX=0004h,AX=0013h

(Table 03848)
Values SK-UPPS Transmit Upcall is called with:
	ES:BX -> Mbuf (NEXT field destroyed)
	interrupts disabled
Note:	On FDDI the bytes of the source and destination node fields in the MAC
	  header have been bit-swapped to physical address format.

Top
7C0007 - INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
	AX = 0007h
	ES:BX -> Protocol Control Block (see #03849)
Return: AX = completion code (see #03846)
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
	  which provides an API on top of its Data Link Interface, allowing the
	  use of any of several network transport layers
SeeAlso: AX=0008h,AX=000Bh

Format of SK-UPPS Protocol Control Block (PCB):
Offset	Size	Description	(Table 03849)
 00h	WORD	(big-endian) protocol type
 02h	WORD	protocol mode (see #03850)
 04h	DWORD	-> Receive Upcall routine (see #03851)
 08h	DWORD	-> Transmit Upcall routine
 0Ch	DWORD	-> Event Upcall routine (see #03853)
 10h	DWORD	-> ASCIZ protocol name (zero if none)
 14h	WORD	protocol ID will be returned here (always non-zero)

Bitfields for SK-UPPS protocol mode:
Bit(s)	Description	(Table 03850)
 0	promiscuous mode; protocol receives all frames regardless of their
	  destination (PROTOCOL TYPE must be FFFFh)
 1	if set, protocol's Event Upcall will be called on entry and exit of the
	  DLI's Interrupt Service Routine (see #03854)
 2	DLI 2.2+ hook mode; protocol receives all directed frames destined for
	  this station (PROTOCOL TYPE must be FFFFh)
 3	DLI 2.3+ receive error frames (only valid in promiscuous mode (0))
 4-5	DLI 2.5+ frame type:
	00 Ethernet II; specify type code in PROTOCOL TYPE field (high-low)
	01 IEEE 802.2; specify Service Access Point (SAP) in MSB
	      (offset 0) of PROCOTOL TYPE field; LSB must be zero
	10 IEEE 802.2 with SNAP header; specify type code in PROTOCOL TYPE
	      field (high-low)
	11 reserved (currently unused)
 6	DLI 2.5+ if set, protocol's Event Upcall will be called with event code
	  EV_BUFFER_WANTED, when DLI runs out of Mbufs
 7	DLI 2.7+ chain mode; if set, client allows the specified frame type to
	  be shared with other clients
 8	DLI 2.8+ receive non-LLC frames rather than LLC frames
 9	DLI 2.8+ receive all multicast frames (see also AX=0009h)
 10-15	reserved (currently unused; must be zero)
Notes:	If PROTOCOL TYPE is FFFFh and neither the "promiscuous" nor the "hook"
	  mode is set, the protocol receives all frames that did not match
	  any registered frame type (demultiplexor mode).
	Protocols using "promiscuous", "hook" or "chain" mode should always
	  return from the Receive Upcall with the received Mbuf in ES:BX and
	  the Carry Flag set. The DLI will then pass the Mbuf to the FEED BACK
	  BUFFER function (see AX=000Fh).
	Some DLIs do not support all or even any of the "promiscuous",
	  "receive non-LLC" and "receive all multicasts" mode bits.
SeeAlso: #03849

(Table 03851)
Values SK-UPPS Receive Upcall is called with:
	ES:BX -> Mbuf
	AX = receive status (see #03852) (also stored in Mbuf's RECEIVE STATUS field)
	interrupts disabled
Return: nothing
SeeAlso: #03853

Bitfields for SK-UPPS receive status:
Bit(s)	Description	(Table 03852)
 0-2	reserved (0), currently unused
 3	frame check sequence (FCS) error
 4	overflow (frame too long)
 5	framing error
 6	reserved (0), currently unused
 7	non-LLC frame (see #03850 [bit 8])
 8-15	reserved (0), currently unused
Notes:	The protocol's Receive Upcall routine will be called whenever a frame
	  matching the specified frame type is received. A received frame is
	  passed to the protocol in the Mbuf's DATA area at OFFSET and its size
	  is LENGTH bytes.
	The receive status passed to the Receive Upcall in register AL is
	  always zero, except for protocols using "non-LLC" mode (8 of PCB's
	  protocol mode field) or "promiscuous" mode together with "receive
	  error frames" (0 & 3).
	Upcalls are FAR routines and must return with a RET FAR. If the Carry
	  Flag is set on return from a Receive or Transmit Upcall, then ES:BX
	  must point to an Mbuf, which the DLI will then pass to the RELEASE
	  BUFFER function (see AX=0005h). See also notes for PROTOCOL MODE.

(Table 03853)
Values SK-UPPS Event Upcall is called with:
	AX = event code (see #03854)
Return: nothing
Note:	All Event Upcalls may be ignored by the protocol.
SeeAlso: #03851

(Table 03854)
Values for SK-UPPS Event Upcall event code:
 00h	EV_BUFFER_AVAILABLE client may now call REQUEST BUFFER (AX=0004h)
 01h	EV_ISR_START	    start of Interrupt Service Routine
 02h	EV_ISR_END	    end of ISR (see #03850 [bit 1])
 03h	EV_BUFFER_WANTED    DLI temporarily out of Mbufs
 04h	EV_NETWORK_STATUS   DLI 2.8+ network status -- DX=status (see #03855)
 05h	EV_IO_CONTROL	    DLI 2.8+ I/O control -- DX=subfunc (see AX=0016h)
SeeAlso: #03853

Bitfields for EV_NETWORK_STATUS in register DX:
Bit(s)	Description	(Table 03855)
	Token-Ring		FDDI
 15	SIGNAL_LOSS		SIGNAL_LOSS
 14	HARD_ERROR		HARD_ERROR
 13	SOFT_ERROR		SOFT_ERROR
 12	TRANSMIT_BEACON		TRANSMIT_BEACON
 11	LOBE_WIRE_FAULT		PATH_TEST_FAILED
 10	AUTO_REMOVAL		SELF_TEST_REQUIRED
 9	reserved		reserved
 8	REMOVE_RECEIVED		REMOTE_DISCONNECT
 7	COUNTER_OVERFLOW	reserved
 6	SINGLE_STATION		DUPLICATE_ADDRESS
 5	RING_RECOVERY		NO_RING_OP_STATUS
 4	reserved		VERSION_MISMATCH
 3	reserved		STUCK_BYPASS
 2	reserved		FDDI_EVENT
 1	reserved		RING_OP_CHANGE
 0	reserved		reserved
Note:	EV_NETWORK_STATUS is not supported on Ethernet

Top
7C0008 - INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
	AX = 0008h
	BX = protocol ID (see #03849)
Return: AX = completion code (see #03846)
Note:	the DLI will handle any Mbufs given to TRANSMIT FRAME (AX=0006h) as if
	  they had been given to TRANSMIT FRAME RELEASE (AX=0013h).
	all multicast addresses registered for this protocol will be disabled.
	after this function returns, the protocol's Upcall routines will no
	  longer be called.
SeeAlso: AX=0007h,AX=000Bh

Top
7C0009 - INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
	AX = 0009h
	BX = protocol ID (see #03849)
	ES:DI -> multicast address (6 bytes)
Return: AX = completion code (see #03846)
Notes:	The broadcast address is always enabled.
	Set bit 9 of PCB's protocol mode field in REGISTER PROTOCOL call
	  (AX=0007h) to receive all multicast frames.
SeeAlso: AX=000Ah,AX=0014h

Top
7C000A - INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
	AX = 000Ah
	BX = protocol ID (see #03849)
	ES:DI -> multicast address (6 bytes)
Return: AX = completion code (see #03846)
SeeAlso: AX=0009h,AX=0014h

Top
7C000B - INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
	AX = 000Bh
	ES:DI -> protocol ID buffer
	CX = number of 2-byte protocol IDs that may be stored in buffer
Return: AX = completion code (see #03846)
	CX = number of active protocols (regardless of value returned in AX)
	protocol ID buffer filled with active protocol IDs
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
	  which provides an API on top of its Data Link Interface, allowing the
	  use of any of several network transport layers
Note:	If the buffer supplied is too small, CX still contains the total number
	  of active protocols and the buffer has been filled until full.
SeeAlso: AX=000Ch,AX=0014h

Top
7C000C - INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
	AX = 000Ch
	BX = protocol ID (see #03849,AX=000Bh)
	ES:DI -> Protocol Status Block (see #03856)
Return: AX = completion code (see #03846)
SeeAlso: AX=000Bh,AX=0014h

Format of SK-UPPS Protocol Status Block (PSB):
Offset	Size	Description	(Table 03856)
 00h	DWORD	-> ASCIZ protocol name
 04h	WORD	protocol mode (see #03850)
 06h	WORD	protocol type (see AX=0007h)
 08h	WORD	number of registered multicasts (see AX=0009h,AX=0014h)

Top
7C000D - INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
	AX = 000Dh
	BX = flag: 0=don't clear statistics, 1=clear statistics
	ES:DI -> Statistics Data Block (see #03857)
Return: AX = completion code (see #03846)
SeeAlso: AX=0002h,AX=0015h

Format of SK-UPPS Statistics Data Block (SDB):
Offset	Size	Description	(Table 03857)
 00h	DWORD	node uptime in ticks (1/18.21 sec.)
 04h	DWORD	bytes received
 08h	DWORD	bytes transmitted
 0Ch	DWORD	frames received
 10h	DWORD	frames transmitted
 14h	DWORD	multicast bytes received
 18h	DWORD	multicast frames received
 1Ch	DWORD	unrecognized frames
 20h	WORD	missed frames
 22h	WORD	frame check sequence (FCS) errors
 24h	WORD	framing errors
 26h	WORD	babbling errors
 28h	WORD	late collision errors
 2Ah	WORD	loss of carrier errors
 2Ch	WORD	16 retries failed errors
 2Eh	WORD	overflow errors
Note:	fields 26h through 2Ch are always zero, except in some very old
	  versions of the DLI.	Use GET MEDIA STATISTICS (AX=0015h) to get
	  more detailed information.

Top
7C000E - INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
	AX = 000Eh
	ES:DI -> Driver Information Block (see #03858)
	BX = offset of 1st field within DIB to be returned
	CX = number of bytes to be returned
Return: AX = completion code (see #03846)
	CX = number of bytes copied (regardless of value returned in AX)
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
	  which provides an API on top of its Data Link Interface, allowing the
	  use of any of several network transport layers
SeeAlso: AX=0000h,AX=0002h,AX=000Bh,AX=000Dh,AX=0015h

Format of SK-UPPS Driver Information Block (DIB):
Offset	Size	Description	(Table 03858)
 00h  6 BYTEs	physical node address (from adapter's ROM)
 06h  6 BYTEs	current node address (see AX=0003h)
 0Ch	BYTE	adapter id (defined by OEM)
 0Dh	BYTE	IRQ line (FFh if none)
 0Eh	DWORD	-> shared memory (zero if none)
 12h	DWORD	size of shared memory (zero if none)
 16h	WORD	base I/O port (zero if none)
 18h	BYTE	DMA line (FFh if none)
 19h	BYTE	DLI 2.4+ topology (see AX=0000h)
 1Ah	WORD	size of an Mbuf's DATA area (see #03847)
 1Ch  2 BYTEs	reserved (currently unused)
 1Eh	WORD	total number of Mbufs the DLI has
 20h	WORD	maximum number of Mbufs that can be allocated via REQUEST
		  BUFFER (AX=0004h) and SYNC REQUEST BUFFER (AX=0012h)
 ---- end of Status Information Block returned by GET DRIVER STATUS (AX=0002h)
 22h	DWORD	-> ASCIZ adapter name
 26h	WORD	number of I/O ports used (zero if none)
 28h	DWORD	line speed in bits/sec.

Top
7C000F - INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
	AX = 000Fh
	ES:BX -> Mbuf (see #03847)
Return: nothing
Notes:	A protocol may call this function instead of returning the Mbuf
	  directly from the Receive Upcall if it is running in "promiscuous",
	  "hook" or "chain" mode.
SeeAlso: AX=0007h

Top
7C0010 - INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
	AX = 0010h
Return: nothing
Notes:	An application having no active protocols may call this function to
	  prevent the DLI from unloading.
SeeAlso: AX=0001h,AX=0011h

Top
7C0011 - INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
	AX = 0011h
Return: nothing
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
	  which provides an API on top of its Data Link Interface, allowing the
	  use of any of several network transport layers
SeeAlso: AX=0010h

Top
7C0012 - INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
	AX = 0012h
	DX = protocol ID (see #03849)
Return: AX = completion code (see #03846)
	if AX=0000h: ES:BX -> Mbuf (see #03847)
Note:	If the protocol wants to be informed when an Mbuf becomes available,
	  REQUEST BUFFER (AX=0004h) should be used instead.
SeeAlso: AX=0004h,AX=0005h,AX=0006h,AX=0013h

Top
7C0013 - INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
	AX = 0013h
	ES:BX -> Mbuf (see #03847)
Return: nothing
Notes:	Returns immediately; The protocol's Transmit Upcall will NOT be called.
	The Mbuf may no more be used by the protocol in any way (i.e. the
	  Mbuf's IN USE field may not be polled).
SeeAlso: AX=0004h,AX=0013h

Top
7C0014 - INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
	AX = 0014h
	BX = protocol ID (see #03849,AX=000Bh)
	ES:DI -> multicast address buffer
	CX = number of 6-byte multicast addresses that may be stored in buffer
Return: AX = completion code (see #03846)
	CX = number of registered multicast addresses for this protocol
	  (regardless of value returned in AX)
	multicast address buffer filled with multicast addresses registered for
	  this protocol
Note:	If the buffer supplied is too small, CX still contains the total number
	  of registered multicast addresses for this protocol and the buffer
	  has been completely filled
SeeAlso: AX=000Bh,AX=0009h,AX=000Ch

Top
7C0015 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
	AX = 0015h
	ES:DI -> media-specific statistics buffer (see #03859,#03860,#03861)
	BX = offset of 1st field within MSS to be returned
	CX = number of bytes to be returned
Return: AX = completion code (see #03846)
	CX = number of bytes copied (regardless of value returned in AX)
Note:	not supported by all DLIs (will return AX=FFFFh if not supported).
SeeAlso: AX=0000h,AX=000Dh

Format of SK-UPPS media-specific statistics for Ethernet:
Offset	Size	Description	(Table 03859)
 00h	DWORD	alignment errors
 04h	DWORD	frame check sequence (FCS) errors
 08h	DWORD	single collision frames
 0Ch	DWORD	multiple collision frames
 10h	DWORD	signal quality error (SQE) test errors
 14h	DWORD	deferred transmissions
 18h	DWORD	late collisions
 1Ch	DWORD	excessive collisions
 20h	DWORD	internal MAC transmit errors
 24h	DWORD	carrier sense errors
 28h	DWORD	excessive deferrals
 2Ch	DWORD	frame too longs
 30h	DWORD	in range length errors
 34h	DWORD	out of range length fields
 38h	DWORD	internal MAC receive errors

Format of SK-UPPS media-specific statistics for FDDI:
Offset	Size	Description	(Table 03860)
 00h	DWORD	SMT operating version id (refer to ANSI 7.1.2.2)
 04h	DWORD	SMT CF state: 1=Isolated, 2= Wrap_S, 3=Wrap_A, 4=Wrap_B,
		  5=Wrap_AB, 6=Thru (refer to ANSI SMT 9.7.4.3)
 08h	DWORD	SMT frames sent
 0Ch	DWORD	SMT frames received
 10h	DWORD	SMT ring up count
 14h  6 BYTEs	MAC upstream neighbour
 1Ah  6 BYTEs	MAC downstream neighbour
 20h	DWORD	MAC frame counter (refer to ANSI MAC 2.2.1)
 24h	DWORD	MAC error counter ( " )
 28h	DWORD	MAC lost counter ( " )
 2Ch	BYTE	port 1 link error estimate (ranges from 10**-4 to 10**-15 and
		  is reported as the absolute value of the exponent)
 2Dh	BYTE	port 2 link error estimate ( " )
 2Eh  2 BYTEs	reserved (currently unused)
 30h	DWORD	attachment class: 1=single-attachment (S PORT),
		  2=dual-attachment (A/B PORT pairs), 3=concentrator (M PORTs)
 34h	DWORD	attachment optical bypass present: 1=true, 2=false

Format of SK-UPPS media-specific statistics for Token-Ring:
Offset	Size	Description	(Table 03861)
 00h  6 BYTEs	upstream neighbour
 06h	WORD	local ring number
 08h	DWORD	ring up count
 0Ch	DWORD	signal loss errors
 10h	DWORD	lobe wire faults
 14h	DWORD	ring recovery count
 18h	DWORD	line errors
 1Ch	DWORD	burst errors
 20h	DWORD	ARI/FCI errors
 24h	DWORD	lost frame errors
 28h	DWORD	receive congestion errors
 2Ch	DWORD	frame copied errors
 30h	DWORD	token errors
 34h	DWORD	DMA bus errors
 38h	DWORD	DMA parity errors
 3Ch	DWORD	receive overflow errors

Top
7C0016 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
	AX = 0016h
	DX = subfunction; bits 14-15 specify direction of I/O:
		00 no data at all (ES:BX undefined)
		01 driver -> application (GET)
		10 application -> driver (SET)
		11 both directions (GET/SET)
	ES:BX -> I/O buffer (optional)
	CX = size of buffer (if ES:BX valid)
Return: AX = completion code; defined by OEM
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
	  which provides an API on top of its Data Link Interface, allowing the
	  use of any of several network transport layers
Notes:	not supported by all DLIs (will return AX=FFFFh if not supported)
	subfunction codes are defined by OEMs
SeeAlso: AX=0001h

Top
7C0017 - INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
	AX = 0017h
Return: AX = completion code (see #03846)
Notes:	not supported by all DLIs (will return AX=FFFFh, if not supported).
	must be called with interrupts disabled; when the client re-enables
	  interrupts, an interrupt will be generated and reported to the client
	  through an Event Upcall (see #03853 [EV_ISR_START/EV_ISR_END])
SeeAlso: AX=0007h

Top
7D - INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
Note:	this interface has been moved to INT 2D; there are no known
	  implementations on INT 7D
SeeAlso: INT 2D"AMIS",INT 2F"NOTES"

Top
7D - INT 7D U - YTERM 1.4 - CLOCK SUPPORT
INT 7D U - YTERM 1.4 - CLOCK SUPPORT
SeeAlso: INT 7E"YTERM"

Top
7D - INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0D"IRQ5",INT 7C"GO32",INT 7E"GO32"

Top
7D - INT 7D - HyperPAD v2.2 - API ACCESS
INT 7D - HyperPAD v2.2 - API ACCESS
Note:	this vector is hooked but immediately passed on (without checking
	  whether the previous handler was 0000h:0000h).  The sole purpose of
	  this vector is to provide the address of the data area described
	  below (see #03862).

Format of HyperPAD data area:
Offset	Size	Description	(Table 03862)
 -16h	DWORD	pointer to ??? FAR function
 -12h	DWORD	pointer to callback setting function
		[C calling conventions, (*callback)(int (_loadds far *)()) ]
 -0Eh 6 BYTEs	signature "BRC001"
 -08h	DWORD	pointer to previous INT 7D handler
 -04h	DWORD	pointer to ??? data
 00h		HyperPAD INT 7D handler

Top
7D - INT 7D - IBM DOS 6.1 E.EXE - ???
INT 7D - IBM DOS 6.1 E.EXE - ???
Note:	E.EXE checks whether this interrupt is in use (not 0000h:0000h),
	  and if it is used, attempts to load E55VGA.EX instead of the
	  default E.EX overlay.	 However, E55VGA.EX is not included in
	  IBM DOS 6.1.

Top
7D00 - INT 7D - SCSILink - RESET SCSI BUS
INT 7D - SCSILink - RESET SCSI BUS
	AH = 00h
Program: SCSILink is a TSR by Cross Products Ltd which allows its PC-hosted
	  cross assemblers and similar products to communicate with Cross
	  Products hardware debuggers
Desc:	reset all devices on the SCSI bus
InstallCheck:	test for the signature "SCSILINK" immediately prior to the
	  interrupt handler
Index:	installation check;SCSILink

Top
7D01 - INT 7D - SCSILink - CONNECT TO TARGET
INT 7D - SCSILink - CONNECT TO TARGET
	AH = 01h
	AL = target ID
Return: CF clear if successful
	CF set on error
	    AL = initiator error
	    AH = target error
Desc:	arbitrate the use of the bus and select the specified target device

Top
7D02 - INT 7D - SCSILink - SEND COMMAND
INT 7D - SCSILink - SEND COMMAND
	AH = 02h
	ES:BX -> parameter block (see #03863)
Return: CF clear if successful
	CF set on error
	    AL = initiator error
	    AH = target error
Desc:	send the specified command block to the target device and perform any
	  related I/O

Format of SCSILink parameter block:
Offset	Size	Description	(Table 03863)
 00h	DWORD	size of command block
 04h	DWORD	address of command block (see #03864)
 08h	DWORD	size of buffer
 0Ch	DWORD	address of buffer

Format of SCSILink command block:
Offset	Size	Description	(Table 03864)
 00h		info not yet available

Top
7D03 - INT 7D - SCSILink - SET TIMEOUT
INT 7D - SCSILink - SET TIMEOUT
	AH = 03h
	AL = timeout selector (see #03865)
	BX = new value in 55ms ticks
Desc:	change an internal timeout value to allow communication with very
	  slow targets

(Table 03865)
Values for SCSILink timeout selector:
 00h	time to wait for bus (default 18)
 01h	time to wait for new phase (default 5)
 02h	maximum time to send/receive block (default 18)
 03h	time to wait for reselect (default 180)

Top
7D04 - INT 7D - SCSILink - GET ERROR STRING
INT 7D - SCSILink - GET ERROR STRING
	AH = 04h
	AL = error number
Return: ES:BX -> ASCIZ error string for error number

Top
7D05 - INT 7D - SCSILink - GET ADDRESS
INT 7D - SCSILink - GET ADDRESS
	AH = 05h
Return: AL = DMA channel
	AH = initiator ID
	BX = card address
Desc:	determine the current hardware configuration

Top
7D06 - INT 7D - SCSILink - PUT DATA
INT 7D - SCSILink - PUT DATA
	AH = 06h
	CX = number of bytes to store (0001h-0100h)
	ES:BX -> data to be saved
Return: CF clear if successful
	CF set on error
	    AL = error code (01h = too much data)
Note:	the specified data is stored in SCSILink's PSP
SeeAlso: AH=07h

Top
7D07 - INT 7D - SCSILink - GET DATA
INT 7D - SCSILink - GET DATA
	AH = 07h
	CX = number of bytes to retrieve (0001h-0100h)
	ES:BX -> buffer for data
Return: CF clear if successful
	CF set on error
	    AL = error code (01h = too much data)
Note:	retrieve data previously stored with AH=06h
SeeAlso: AH=06h

Top
7D08 - INT 7D - SCSILink - TERMINATE SESSION
INT 7D - SCSILink - TERMINATE SESSION
	AH = 08h
Desc:	indicate to any other programs that intercept INT 7D that the program
	  has finished with the link
Note:	the program should call this function even if a SCSI error caused its
	  termination

Top
7D09 - INT 7D - SCSILink - POLL REQUEST
INT 7D - SCSILink - POLL REQUEST
	AH = 09h
	AL = target ID
Return: AL = status
	    FEh resident driver experienced SCSI error
	    FFh resident driver handleded event
Desc:	give any drivers chained onto INT 7D a chance to handle an exception
	  not specifically handled by the calling program
Notes:	this service exists so that resident disk servers, etc. can continue
	  running even while debuggers and profilers are active
	the resident driver assumes that a connection has been established and
	  attempts to leave the target connected

Top
7E - INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY

Top
7E - INT 7E U - YTERM 1.4 - ???
INT 7E U - YTERM 1.4 - ???
SeeAlso: INT 7D"YTERM",INT 7F"YTERM"

Top
7E - INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
	  GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0E"IRQ6",INT 7D"GO32",INT 7F"GO32"

Top
7E00 - INT 7E - MaxSBOS v0.21 - GET ???
INT 7E - MaxSBOS v0.21 - GET ???
	AH = 00h
Return: DX:AX -> ???
SeeAlso: AH=01h,AH=02h,AH=03h

Top
7E0001 - INT 7E - IWSBSDRV v1.41 - SEND MIDI BYTE
INT 7E - IWSBSDRV v1.41 - SEND MIDI BYTE
	AX = 0001h
	DX = game device handle
	BL = MIDI byte to send???
	???
Return: EAX = status
	    00000000h if successful
	    FFFFFFFFh on error (function disabled)
Program: IWSBSDRV is the resident portion of the InterWave SBOS sound card
	  emulator for the Gravis UltraSound Plug-and-Play
Note:	this function is only supported if the MIDISIMPLE device has been
	  opened via the InterWave Game API (see INT 2F/AX=CD21h)
SeeAlso: AX=0002h,INT 2F/AX=CD21h,#03074

Top
7E0002 - INT 7E - IWSBSDRV v1.41 - SEND MIDI STRING
INT 7E - IWSBSDRV v1.41 - SEND MIDI STRING
	AX = 0002h
	DX = game device handle
	ES:EDI -> buffer containing MIDI string to be sent
	ECX = length of buffer in bytes
Return: EAX = status
	    00000000h if successful
	    FFFFFFFFh on error (function disabled)
Note:	this function is only supported if the MIDISIMPLE device has been
	  opened via the InterWave Game API (see INT 2F/AX=CD21h)
SeeAlso: AX=0001h,INT 2F/AX=CD21h,#03074

Top
7E00F6 - INT 7E - SBOS v3.82 - SET ???
INT 7E - SBOS v3.82 - SET ???
	AX = 00F6h
	BL = ??? (max. 20h, value will be set to 20h if BL greater)
Return: AX=00F9h,AX=00FEh

Top
7E00F7 - INT 7E - SBOS v3.82 - GET ???
INT 7E - SBOS v3.82 - GET ???
	AX = 00F7h
Return: AX = status
	    0000h failed
	    0001h successful
		BX = ??? (if nonzero, ??? is hooked) (see AX=00FFh)
		CH = ???
		CL = ???
SeeAlso: AX=00F6h,AX=00FDh,AX=00FFh

Top
7E00F9 - INT 7E - SBOS v3.82 - SET ???
INT 7E - SBOS v3.82 - SET ???
	AX = 00F9h
	BX = ???
SeeAlso: AX=00F6h,AX=00FBh,AX=00FDh

Top
7E00FB - INT 7E - SBOS v3.82 - SET ???
INT 7E - SBOS v3.82 - SET ???
	AX = 00FBh
	BL = ???
SeeAlso: AX=00F6h,AX=00FDh,AX=00FFh

Top
7E00FD - INT 7E - SBOS v3.82 - SET ???
INT 7E - SBOS v3.82 - SET ???
	AX = 00FDh
	BL = ??? (max. 20h, value will be set to 20h if BL greater)
SeeAlso: AX=00F9h,AX=00FEh

Top
7E00FE - INT 7E - SBOS v3.82 - UNINSTALL
INT 7E - SBOS v3.82 - UNINSTALL
	AX = 00FEh
Return: AX = status
	    0000h successful
	    00FCh unable to unhook INT 21
	    00FDh unable to unhook INT 09
	    00FEh unable to release memory
Program: SBOS is a SoundBlaster emulator for the Gravis UltraSound
InstallCheck:	test for the ASCII signature "SBOS" at offset 0Ah in the
	  interrupt handler's segment (similar to one of the possible EMS
	  installation checks)
Range:	SBOS may use INT 78-INT 7F
Note:	this function may not be called if any SBOS vectors have been hooked
SeeAlso: INT 21/AX=FD12h,INT 78"UltraMID"

Top
7E00FF - INT 7E - SBOS v3.82 - SET INTERRUPT FOR ???
INT 7E - SBOS v3.82 - SET INTERRUPT FOR ???
	AX = 00FFh
	BL = new interrupt vector to hook
Return: BX = 03CDh if supported
Desc:	unhooks the current interrupt handler for ???, and reconnects it to the
	  specified new interrupt number
SeeAlso: AX=00F7h,AX=00F9h,AX=00FEh

Top
7E01 - INT 7E - MaxSBOS v0.21 - ???
INT 7E - MaxSBOS v0.21 - ???
	AH = 01h
	???
Return: ???
Program: MaxSBOS is a SoundBlaster FM synthesis emulator for the Gravis
	  UltraSound MAX
Range:	INT 78-INT 7F, selected by commandline parameter
Note:	the installation check is the same as for 'regular' SBOS (see AX=00FEh)
	  although the API in v0.21 does not provide the functions present in
	  the older SBOS
SeeAlso: AX=00FEh,AH=02h,AH=03h

Top
7E02 - INT 7E - MaxSBOS v0.21 - ???
INT 7E - MaxSBOS v0.21 - ???
	AH = 02h
Return: AX = FFFFh
SeeAlso: AX=00FEh,AH=01h,AH=03h

Top
7E03 - INT 7E - MaxSBOS v0.21 - NOP
INT 7E - MaxSBOS v0.21 - NOP
	AH = 03h
Return: nothing
SeeAlso: AX=00FEh,AH=01h,AH=02h

Top
7E5857BL57 - INT 7E - XLOAD - INSTALLATION CHECK
INT 7E - XLOAD - INSTALLATION CHECK
	AX = 5857h
	BL = 57h
Return: AX = 0000h if installed
Program: XLOAD is the LOADHIGH-equivalent from Helix Software's Netroom
SeeAlso: AX=5857h/BL=5Ah,AX=5857h/BL=5Bh

Top
7E5857BL5A - INT 7E - XLOAD - GET ???
INT 7E - XLOAD - GET ???
	AX = 5857h
	BL = 5Ah
Return: AX = 0000h
	CX = ???
	DS:SI -> ???
SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Bh

Top
7E5857BL5B - INT 7E - XLOAD - GET XLOAD MEMORY SIZE
INT 7E - XLOAD - GET XLOAD MEMORY SIZE
	AX = 5857h
	BL = 5Bh
Return: AX = 0000h
	CX = segment of XLOAD TSR
	DX = size of memory block in which XLOAD TSR is located
SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Ah

Top
7E--80 - INT 7E - IWSBSDRV v1.41 - GET ???
INT 7E - IWSBSDRV v1.41 - GET ???
	AL = 80h
Return: DX:AX -> ???
SeeAlso: AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h

Top
7E--81 - INT 7E - IWSBSDRV v1.41 - ???
INT 7E - IWSBSDRV v1.41 - ???
	AL = 81h
	???
Return: ???
SeeAlso: AL=80h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h

Top
7E--82 - INT 7E - IWSBSDRV v1.41 - GET ???
INT 7E - IWSBSDRV v1.41 - GET ???
	AL = 82h
Return: AX = ??? (FFFFh)
SeeAlso: AL=80h,AL=81h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h

Top
7E--83 - INT 7E - IWSBSDRV v1.41 - ??? (CALLS VIWD.VXD)
INT 7E - IWSBSDRV v1.41 - ??? (CALLS VIWD.VXD)
	AL = 83h
	???
Return: ???
SeeAlso: AL=80h,AL=81h,AL=82h,AL=84h,AL=85h,AL=86h,AL=87h
SeeAlso: INT 2F/AX=1684h/BX=38DAh"VIWD"

Top
7E--84 - INT 7E - IWSBSDRV v1.41 - WAKE PROGRAM???
INT 7E - IWSBSDRV v1.41 - WAKE PROGRAM???
	AL = 84h
Return: AL = status
	    00h successful
	    else failed
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=85h,AL=86h,AL=87h
SeeAlso: INT 2F/AX=CD04h"InterWave"

Top
7E--85 - INT 7E - IWSBSDRV v1.41 - SET ??? FLAG
INT 7E - IWSBSDRV v1.41 - SET ??? FLAG
	AL = 85h
Return: nothing
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=86h,AL=87h

Top
7E--86 - INT 7E - IWSBSDRV v1.41 - HOOK INT 21
INT 7E - IWSBSDRV v1.41 - HOOK INT 21
	AL = 86h
Return: AX,BX,DX,ES destroyed
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=87h

Top
7E--87 - INT 7E - IWSBSDRV v1.41 - RESTORE INT 21
INT 7E - IWSBSDRV v1.41 - RESTORE INT 21
	AL = 87h
Return: AX,DX destroyed
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h

Top
7F - INT 7F - Halo88 - API
INT 7F - Halo88 - API
	BX = function number (see #03866)
	additional parameters on stack
Return: ???
Program: Halo88 is a suite of graphics routines
Note:	according to Stuart Kemp, the code appears to make no provisions for
	   chaining

(Table 03866)
Values for Halo88 API function:
 64h	arc
 65h	bar
 66h	box
 67h	circle
 68h	clr
 69h	default hatch style
 6Ah	default line style
 6Bh	delhcur
 6Ch	delln / deltcur
 6Dh	ellipse
 6Eh	fill
 6Fh	flood
 70h	flood2
 71h	init graphics
 72h	init hcur
 73h	init marker
 74h	init tcur
 75h	inqarc
 76h	inqbknd
 77h	inqclr
 78h	inqerr
 79h	inqgcur
 7Ah	inqhcur
 7Bh	inqmarker
 7Dh	inqtcur
 7Eh	inqtext
 7Fh	lnabs
 80h	lnrel
 81h	markerabs
 82h	markerrel
 83h	moveabs
 84h	movehcurabs
 85h	movehcurrel
 86h	moverel
 87h	movetcurabs
 88h	movetcurrel
 89h	movefrom
 8Ah	moveto
 8Bh	pie
 8Ch	polylnabs
 8Dh	polylnrel
 8Eh	ptabs
 8Fh	ptrel
 91h	setasp
 92h	set color
 93h	set font
 94h	set hatch	style
 95h	set line style
 97h	settext
 98h	set text color
 99h	btext
 9Ah	setseg
 9Bh	display
 9Ch	setscreen
 9Eh	close graphics
 9Fh	ftinit
 A0h	ftlocate
 A1h	ftext
 A5h	set viewport
 A6h	set window
 A7h	set world
 AAh	ftcolor
 ACh	initlp
 ADh	inqasp
 AEh	inqdev
 AFh	inqdisplay
 B0h	inqft
 B1h	inqftcolor
 B2h	inqinterlace
 B3h	inqlpa
 B4h	inqlpg
 B5h	inqmode
 B6h	inqscreen
 B7h	inqversion
 B8h	roam
 B9h	scroll
 BAh	setieee
 BBh	set interlace
 BCh	shift
 BDh	start graphics
 BEh	vpan
 CBh	gwrite
 CCh	gread
 CDh	setxor
 CEh	rbox
 CFh	rcir
 D0h	rlnabs
 D1h	rlnrel
 D2h	delbox
 D3h	delcir
 D5h	setseg2
 DCh	worldoff
 DDh	mapwtod
 DEh	mapdtow
 DFh	mapwton
 E0h	mapntow
 E1h	mapdton
 E2h	mapntod
 E3h	inqworld
 E4h	inqviewport
 E5h	set line width
 E6h	lnjoint
 E7h	set locator
 E8h	read locator
 E9h	setdev
 EBh	setstext
 ECh	setstclr
 EDh	setstang
 EEh	stext
 EFh	inqstext
 F0h	setdegree
 F1h	inqstsize
 F2h	polyfabs
 F3h	polyfrel
 F4h	inqdrange
 F5h	inqstang
 F6h	orglocator
 F7h	inqlocator
 F8h	inqarea
 F9h	setipal
 FAh	setborder
 FBh	inqcrange
 FEh	setclip
 FFh	fcir
100h	setcrange
101h	setdrange
102h	setlattr
103h	polycabs
104h	polycrel
108h	memcom
109h	memexp
10Ah	memmov
10Eh	movefx
10Fh	movetx
110h	inqrgb
111h	save image
112h	restore image
113h	setapal
114h	setxpal
118h	inqtsize
12Eh	gprint
130h	setprn
131h	setpattr
133h	setbattr
135h	pexpand
136h	ptnorm
137h	pfnorm
13Bh	inqprn
13Ch	lopen
13Dh	lclose
13Eh	lappend
13Fh	lrecord
140h	lswitch
142h	inqfun
15Dh	lsetup
15Eh	lrest
15Fh	lsave

Top
7F - INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
	AL = request ID
	    01h "Request"/"RequestDirect"
		ES:BX -> pRq
		DX ignored
	    04h "Wait"
		ES:BX -> ppMsgRet
		DX = exchange
	    05h "AllocExch"
		ES:BX -> pExchRet
	    06h "DeAllocExch"
		DX = exchange
	    07h "Check"
		ES:BX -> ppMsgRet
		DX = exchange
	CX = 4354h ('CT')
Return: AX = status
	    0000h successful

Top
7F - INT 7F - Telebit ACS SERIAL I/O
INT 7F - Telebit ACS SERIAL I/O
	ES:SI-> parameter block (see #03867)
Return: CF set on error
	CF clear on success
InstallCheck:	test for the signature "PDGATEWRKSTNIF" just prior to the
	  interrupt handler
Index:	installation check;Telebit ACS Serial I/O

Format of Telebit ACS parameter block:
Offset	Size	Description	(Table 03867)
 00h	BYTE	command (see #03868)
 01h	BYTE	gateway number
 02h	BYTE	reserved
 03h	BYTE	port
 04h 17 BYTEs	auxiliary buffer
 15h	BYTE	session
 16h	WORD	count of bytes passed to API
 18h	DWORD	buffer pointer passed to/from API
 1Ch	WORD	count of bytes passed from API
 1Eh	BYTE	return code (see #03869)

(Table 03868)
Values for Telebit ACS command:
 3Ch	status
 3Dh	connect
 3Eh	disconnect
 3Fh	read
 40h	data/command write
 41h	clear receive buffer
 42h	get configuration
 43h	get receiver status
 44h	raw write
 45h	search servers
 46h	set transmit buffer size

(Table 03869)
Values for Telebit ACS return code:
 00h	success
 01h	invalid session
 05h	servername invalid
 06h	NetWare fileserver bindery is locked
 07h	communication server not active
 08h	general failure in NetWare fileserver
 09h	not logged into a fileserver
 10h	connection table full
 11h	no response from communication server
 12h	connection attempt terminated abnormally
 13h	connection refused - no sessions available
 14h	gateway number/port already in use
 15h	invalid connection response
 16h	port invalid
 17h	incorrect version in server response
 18h	gateway number/port combination not configured
 19h	initialization has not been completed
 20h	no more sockets are available
 21h	no active poolname
 23h	FATAL internal interface error
 24h	registration of host workstation failed - name is already in use
 25h	registration of host workstation failed - workstation name table full
 26h	registration of host workstation failed - only one session may be
	  registered for dial-in
 FFh	Telebit ACS API is busy - retry later

Top
7F - INT 7F - Non-dedicated NetWare 2.x File Server - ENTER CONSOLE MODE
INT 7F - Non-dedicated NetWare 2.x File Server - ENTER CONSOLE MODE
InstallCheck:	test for the signature "Lynn" in the four bytes preceding the
	  interrupt handler; if present, the current program is running as a
	  DOS task on a non-dedicated NetWare 2.x file server.
Note:	Before placing the server into "console" mode, it is recommended that
	  NetWare broadcast messages be disabled with INT 21/AH=DEh/DL=00h.
SeeAlso: INT 21/AH=DEh/DL=04h
Index:	installation check;non-dedicated NetWare server

Top
7F - INT 7F U - YTERM - ???
INT 7F U - YTERM - ???
SeeAlso: INT 7E"YTERM"

Top
7F - INT 7F - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ7
INT 7F - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ7
Notes:	this vector is overwritten when GO32 starts but is not restored by
	  early versions of the DOS extender
	the newest versions of GO32 dynamically allocate the vectors used
	  for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0F"IRQ7",INT 7E"GO32"

Top
7F - INT 7F - Canon IXHND2 Scanner Interface
INT 7F - Canon IXHND2 Scanner Interface

Top
7F - INT 7F - SBS WinRun 1.00 - TRANSMITTER ENTRY POINT
INT 7F - SBS WinRun 1.00 - TRANSMITTER ENTRY POINT
	DS:SI -> WinRun control block (WCB) (see #03870)
Return: WinRun receiver status returned in WCB
Program: WinRun is a DOS/Windows utility written by Sven B. Schreiber to start
	  Windows applications from a virtual DOS machine under Windows
Note:	The WinRun transmitter (WINRUN-T.COM) and receiver (WINRUN-R.EXE) need
	  to be up and running

Format of the WinRun control block (WCB):
Offset	Size	Description	(Table 03870)
 00h	DWORD	pointer to ASCIZ command string
 04h	WORD	(ret) WinRun receiver status
		0000h-001Fh WinExec() error
		0020h-FFFEh WinExec() instance handle
		FFFFh	    Windows not running or WinRun receiver not
				  installed

Top
7F - INT 7F - Alloy 386/MultiWare (MW386), Novell-Type Network Executive (NTNX)
INT 7F - Alloy 386/MultiWare (MW386), Novell-Type Network Executive (NTNX)
Notes:	the words at C800h:0000h and C800h:0002h will both be 584Eh if the
	  MW386 multitasking system is present (i.e. signature "NXNX")
	NTNX allows its API to be placed on a different interrupt than 7Fh at
	  load time.  To determine the actual vector used, open the device
	  "SPOOLER" with INT 21/AX=3D02h, place it in RAW mode with
	  INT 21/AX=4400h and INT 21/AX=4401h, then read one byte which will
	  be the actual interrupt number being used; the other interrupts may
	  be found with INT 7F/AH=09h/CL=03h

Top
7F - INT 7F - Alloy NetWare Support Kit (ANSK) v2.2+ - INSTALLATION CHECK
INT 7F - Alloy NetWare Support Kit (ANSK) v2.2+ - INSTALLATION CHECK
Note:	a program may determine that it is running on an ANSK Slave by checking
	  the five bytes at F000h:0000h for the ASCIZ signature "ANSK"; this
	  address is RAM, and should not be written.  However, the above check
	  will not work on Slaves with <1MB RAM or those using the SLIM.SYS
	  device driver

Top
7F00 - INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK AND WAIT
INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK AND WAIT
	AH = 00h
	DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #03871)
	AH = semaphore owner if status=02h
SeeAlso: AH=01h,AH=02h,AH=41h,INT 67/AH=00h

(Table 03871)
Values for Alloy function status:
 00h	successful
 01h	invalid function
 02h	semaphore already locked
 03h	unable to lock/unlock semaphore
 04h	semaphore space exhausted
 05h	host/target PC did not respond (NTNX)

Top
7F00 - INT 7F - MultiLink Advanced v1.0+ - ENQUEUE SYSTEM RESOURCE
INT 7F - MultiLink Advanced v1.0+ - ENQUEUE SYSTEM RESOURCE
	AH = 00h
	BX = resource identifier
	AL = wait flag
Return: AL = status
	    00h successful
	    01h resource not available
	    02h user error
InstallCheck:	ensure that the interrupt vector is not pointing at segment
	  0000h, then test whether the byte at offset 0000h in the interrupt
	  handler's segment is E9h
Notes:	function will not return until the resource is available if AL is
	  nonzero on entry
	a maximum of 100 resources may be enqueued at once
SeeAlso: AH=01h"MultiLink"

Top
7F00 - INT 7F - G8BPQ v4.07+ - GET NODE/SWITCH VERSION AND DESCRIPTION
INT 7F - G8BPQ v4.07+ - GET NODE/SWITCH VERSION AND DESCRIPTION
	AH = 00h
	ES:SI -> buffer for "USERS" text string
Return: AX = 4250h ('BP') if installed
	BX = 5120h ('Q ') if installed
	DX = version number (DH = major, DL = minor)
	CX = length of returned string
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
	  John Wiseman which allows a PC to act as a node in an AX.25 network
SeeAlso: AH=01h"G8BPQ",AH=09h"G8BPQ"

Top
7F01 - INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK
INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK
	AH = 01h
	DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #03871)
	AH = semaphore owner if status=02h
SeeAlso: AH=00h,AH=02h,AH=41h

Top
7F01 - INT 7F - MultiLink Advanced v1.0+ - DEQUEUE SYSTEM RESOURCE
INT 7F - MultiLink Advanced v1.0+ - DEQUEUE SYSTEM RESOURCE
	AH = 01h
	BX = resource identifier
Return: AL = status
	    00h successful
	    02h user error
Note:	the indicated resource may be dequeued even if it was enqueued by
	  another task
SeeAlso: AH=00h"MultiLink",AH=02h"MultiLink"

Top
7F01 - INT 7F - TIGA Communications Driver v2.05 - GET ENTRY POINTS
INT 7F - TIGA Communications Driver v2.05 - GET ENTRY POINTS
	AH = 01h
Return: BX = 1234h if installed
	    DX:AX -> array of FAR entry points
	    CH = driver major version
	    CL = driver minor version
Note:	TIGACD 2.05 returns CF set on unrecognized functions in AX
SeeAlso: AX=1234h,AX=4321h

Top
7F01 - INT 7F - G8BPQ v4.00+ - HOST MODE - SET APPLICATION FLAGS AND MASK
INT 7F - G8BPQ v4.00+ - HOST MODE - SET APPLICATION FLAGS AND MASK
	AH = 01h
	AL = stream number (01h-40h)
	CL = new application flags
	    bit 7: monitored frames available via AH=0Bh"G8BPQ"
	DL = new application mask
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
	  John Wiseman which allows a PC to act as a node in an AX.25 network
Range:	INT 00h to INT FFh, set in configuration file BPQCFG.TXT for v4.03+
	  (earlier versions were hard-wired for INT 7F)
SeeAlso: AH=00h"G8BPQ",AH=02h"G8BPQ",AH=0Bh"G8BPQ"

Top
7F0104BX0000 - INT 7F - HLLAPI (IBM 3270 High-Level Language API)/LLAPI (Rabbit Low Level API)
INT 7F - HLLAPI (IBM 3270 High-Level Language API)/LLAPI (Rabbit Low Level API)
	AX = 0104h (HLLAPI gate ID)
	BX = 0000h
	DS:SI -> parameter control block (see #03872)
Return: parameter control block updated
InstallCheck:	for the Novell HLLAPI TSR, test for the signature "CXI" (for
	  the company Novell bought) immediately prior to the interrupt handler
SeeAlso: AX=0105h,AX=ABCDh

Format of HLLAPI parameter control block:
Offset	Size	Description	(Table 03872)
 00h  3 BYTEs	signature = 'PCB'
 03h	BYTE	function number (see #03873,#03874)
 04h	WORD	segment of control string
 06h	WORD	offset of control string
 08h	WORD	length of control string, unless explicit end-of-str char set
 0Ah	BYTE	unused (IBM)
		ControlString[0] (Rabbit)
 0Bh	WORD	return code (see #03876)
 0Dh	WORD	maximum length of control string (IBM)
		unused (Rabbit)

(Table 03873)
Values for HLLAPI function number:
 00h	OEM function (Query system for Attachmate implementation)
 01h	Connect presentation space
 02h	Disconnect presentation space
 03h	Send string of keystrokes as if typed from keyboard
 04h	Wait ~60s, returns status of presentation space
 05h	Copy current presentation space into a user-defined buffer
 06h	Search presentation space for first occurrence of a specified string
 07h	Query cursor location in current presentation space
 08h	Copy part or all of current presentation space into user buffer
 09h	Set session parameters; parameters vary by vendor (see #03875)
 0Ah	Get info on sessions currently connected
 0Bh	Lock current presentation space
 0Ch	Unlock previously locked presentation space
 0Dh	Return copy of operator info area (OIA) of current presentation space
 0Eh	get attribute byte for given position in the current presentation space
 0Fh	copy string of characters to the current presentation space
 10h	workstation control functions
 11h	storage manager functions, intended primarily for BASIC applications
	(not implemented by Rabbit)
 12h	set delay period in half-second intervals
 14h	get info on level of workstation support used
 15h	reset session parameters to default values
 16h	get detailed info on the current session
 17h	start host notification to application on presentation sp or OIA update
 18h	check host update when host notification enabled
 19h	stop host notification
 1Eh	search field within current presentation space for string
 1Fh	get first positionof a selected field in the current presentation space
 20h	get length of specified field
 21h	copy string into a specified field
 22h	copy specified field into a user-defined buffer
 23h	create alternate presentation space (IBM only), don't use with BASIC
 24h	switch to alternate presentation space (IBM only), not with BASIC
 25h	display cursor in specified area (IBM only), don't use with BASIC
 26h	display alternate presentation space (IBM only), don't use with BASIC
 27h	delete alternate presentation space (IBM only), don't use with BASIC
 28h	set cursor
 29h	start Close Intercept
 2Ah	query Close Intercept
 2Bh	stop Close Intercept
 32h	start intercepting keystrokes to allow filtering
 33h	get keystrokes after turning on interception
 34h	notify operator when keystroke rejected by filter subroutine
 35h	stop intercepting keystrokes
 5Ah	send file
 5Bh	receive file
 5Ch	run a program (not implemented by Rabbit)
 5Dh	execute DOS command (not implemented by Rabbit)
 63h	change presentation space position to PC display row/col or vice versa
 65h	connect to Window Services
 66h	disconnect from Window Services
 67h	set/query window coordinates
 68h	set/query window status
 69h	change presentation space name
 78h	connect Structured Fields
 79h	disconnect Structured Fields
 7Ah	query size of communications buffer
 7Bh	allocate communications buffer
 7Ch	free communications buffer
 7Dh	get request completion state
 7Eh	read Structured Fields
 7Fh	write Structured Fields
 FFh	Get info on DCA implementation

(Table 03874)
Values for LLAPI function number:
 80h	initialize LLAPI (internal call)
 83h	set Session ID (one-character ID)
 84h	read Session ID (one-character ID)
 85h	lock 327x keyboard
 86h	unlock 327x keyboard
 87h	wait for Clear to Send
 88h	type ASCII character
 89h	type 327x key
 8Ah	read keyboard lock state
 8Fh	force screen update
 90h	view session
 91h	relinquish (suspend foreground until background becomes idle)
 92h	poke screen character
 93h	poke translated character
 94h	peek screen character
 95h	peek translated character
 96h	set cursor position
 97h	send scan code (Rabbit only)
 98h	synchronize (returns after keystroke queue empty)
 99h	type PC key (Rabbit only)

(Table 03875)
Values for HLLAPI Function 09h Session Parameters:
 ASCII		??? (Rabbit only)
 ATTRIB		return attributes in hex
 NOATTRIB	return attributes as blanks
 CONPHYS	make physical connection
 CONLOG		only make logical connection
 EAB		copy extended attribute bytes along with data
 NOEAB		copy data only
 ESC=n		set escape character to "n" (default '@')
 EOT=n		set end of string character (default 00h)
 FPAUSE		full-duration pause
 FTNOWAIT	return immediately from functions 5Ah and 5Bh (Rabbit only)
 FTWAIT		wait for file transfer to complete (Rabbit only)
 IPAUSE		interruptable pause
 RABESC		??? (Rabbit only)
 NORABESC	??? (Rabbit only)
 SCANCODE	??? (Rabbit only)
 STRLEN		use explicit string lengths
 STREOT		use terminated strings
 SRCHALL	search entire presentation space
 SRCHFROM	search from specified offset
 SRCHFRWD	search forward from position 1
 SRCHBKWD	search backward from last position in presentation space
 TIMEOUT=n	??? (Rabbit only)
 TWAIT		wait specified time for keyboard ready
 LWAIT		wait until keyboard ready
 NWAIT		no wait
 TRON		enable tracing
 TROFF		disable tracing
 AUTORESET	send reset before sending keys with function 03h
 NORESET	don't send reset
 QUIET		don't display messages sent with INT 21/AH=09h
 NOQUIET	allow messages to be displayed
 TIMEOUT=n	set timeout in 30-second intervals, 0 = wait until ^Break
 XLATE		translate extended attribute bytes
 NOXLATE	don't translate
 NEWRET		use HLLAPI v3.0 return code conventions
 OLDRET		use HLLAPI v2.0 return code conventions

(Table 03876)
Values for Windows HLLAPI return code:
 00h	successful
 01h	Presentation Space not connected/requested size unavailable
 02h	invalid function or parameter error/invalid block ID
 03h	file transfer complete
 04h	file transfer complete (segmented)/Presentation Space busy
 05h	inhibited or keyboard locked
 06h	data truncated
 07h	invalid Presentation Space position
 08h	operation not available
 09h	system error
 0Ah	blocking error
 0Bh	resource not available
 0Ch	session stopped
 14h	undefined key combination
 15h	OIA updated
 16h	Presentation Space updated
 17h	both Presentation Space and OIA updated
 18h	no such field
 19h	no keystrokes available
 1Ah	Presentation Space or Operator Information Area changed
 1Bh	file transfer aborted
 1Ch	zero-length field
 1Eh	cursor type invalid
 1Fh	keystroke overflow
 20h	another application is already connected
 22h	message sent to host cancelled
 23h	transmission from host cancelled
 24h	lost contact with host
 25h	function successful
 26h	function incomplete
 27h	a DDM session is already connected
 28h	disconnected, but asynchronous requests still pending
 29h	buffer already in use
 2Ah	no matching request found
12Dh	invalid function number
12Eh	file not found
131h	access denied
134h	out of memory
136h	environment invalid
137h	format invalid
270Eh (9998) invalid Presentation Space ID
270Fh (9999) invalid row or column code
---Windows HLLAPI extensions---
F000h	asynchronous call already in progress
F001h	invalid asynchronous task ID
F002h	blocking call cancelled
F003h	underlying subsystem not started
F004h	unsupported application version

Top
7F0105 - INT 7F - IBM 8514/A Adapter Interface (HDILOAD.EXE)
INT 7F - IBM 8514/A Adapter Interface (HDILOAD.EXE)
	AX = 0105h
Return: CF set on error
	CF clear if successful
	    CX:DX -> array of FAR pointers to entry points (see #03877)
Note:	most functions are invoked by pushing the DWORD parameter block pointer
	  and then performing a FAR call via the appropriate vector of the
	  entry point array, placing the FAR address of the function's
	  parameter block on the top of the stack
SeeAlso: AX=0104h,AX=0106h,AX=ABCDh

(Table 03877)
Values for HDILOAD function number: (do FAR call via entry_points+4*function)
 08h	HOPEN	Open Adapter (see #03909)
 09h	HSMX	Set Mix (see #03938)
 10h	HINT	Interrupt (see #03905)
 13h	HLDPAL	Load Palette (see #03906)
 15h	HBBW	BitBLT Write Image Data (see #03892)
 17h	HBBR	BitBLT Read Image Data (see #03893)
 18h	HBBCHN	Chained Data Go (see #03891)
 19h	HBBC	BitBLT Copy Data (see #03890)
 1Dh	HQMODE	Get Current Mode (see #03915)
 20h	HRECT	Fill Rectangle (see #03917)
 22h	HCLOSE	Close Adapter and place in quiescent state (see #03898)
 30h	HINIT	Initialize State (see #03904)
 31h	HSYNC	Synchronize Adapter (see #03943)
 39h	HSPAL	Save Palette (see #03940)
 3Ah	HRPAL	Restore Palette (see #03920)
 ???	HSGQ	Set Graphics Quality (see #03929)
 ???	HSCOORD	Set Coordinate Type (see #03926)
 ???	HESC	Escape, Terminate Processing (see #03903)
 ???	HSBCOL	Set Background Color (see #03921)
 ???	HSBP	Set Bit Plane Controls (see #03922)
 ???	HSCMP	Set Color Comparison Register (see #03924)
 ???	HSCOL	Set Color (see #03925)
 ???	HSHS	Set Scissors (clipping rectangle) (see #03930)
 ???	HXLATE	Assign Text Color (see #03944)
 ???	HQMODES	Get Adapter Modes (see #03916)
 ???	HQDPS	Get Drawing Process State Size (see #03914)
 ???	HQDFPAL	Get Default Palette (see #03913)
 ???	HQCOORD	Get Coordinate Type (see #03911)
 ???	HQCP	Get Current Position (see #03912)
 ???	HSMODE	Change Mode (see #03936)
 ???	HLINE	Draw Line at Given Position (see #03907)
 ???	HCLINE	Draw Line at Current Position (see #03897)
 ???	HRLINE	Draw Line Relative from Given Position (see #03918)
 ???	HCRLINE	Draw Line Relative at Current Position (see #03900)
 ???	HSLT	Set Line Type (see #03933)
 ???	HSLW	Set Line Width (see #03935)
 ???	HSLPC	Save Line Pattern Count (see #03932)
 ???	HRLPC	Restore Line Pattern Count (see #03919)
 ???	HCBBW	BitBLT Write Image Data at Current Position (see #03894)
 ???	HBAR	Begin Area (see #03889)
 ???	HEAR	End Area (see #03901)
 ???	HSPATT	Set Pattern (see #03941)
 ???	HSPATTO	Set Pattern Reference Point (see #03942)
 ???	HEGS	Erase Graphics Screen (see #03902)
 ???	HSCP	Set Current Position (see #03927)
 ???	HMRK	Set Marker (see #03908)
 ???	HCMRK	Set Marker at Current Position (see #03899)
 ???	HSMARK	Set Marker Shape (see #03937)
 ???	HSCS	Set Character Set (see #03928)
 ???	HCHST	Write Character String at Given Position (see #03896)
 ???	HCCHST	Write Character String at Current Position (see #03895)
 ???	HSCELL	Set Cell Size for Alphanumeric Text (see #03923)
 ???	ABLOCKMFI Write Character/Attribute Block MFI (see #03880)
 ???	ABLOCKCGA Write Character Block CGA (see #03878)
 ???	AERASE	Erase Rectangle (see #03883)
 ???	ASCROLL Scroll Rectangle (see #03884)
 ???	ACURSOR	Set Alphanumerics Cursor Position (see #03882)
 ???	ASCUR	Set Alphanumeric Cursor Shape (see #03885)
 ???	ASFONT	Set Font (see #03886)
 ???	AXLATE	Assign Alphanumeric Color (see #03888)

Format of ABLOCKCGA parameter block:
Offset	Size	Description	(Table 03878)
 00h	WORD	000Ah (length of following data)
 02h	WORD	top-left coordinate of character block
 04h	WORD	width of block
 06h	DWORD	-> block of WORDs describing characters (see #03879)
 0Ah	BYTE	length of block in characters
 0Bh	BYTE	highlight attribute
		bit 4: transparent background
		bit 5: overstrike
		bit 6: reverse video
		bit 7: underscore
SeeAlso: #03880

Bitfields for one character in ABLOCKCGA character block:
Bit(s)	Description	(Table 03879)
 3-0	foreground attribute
 7-4	background attribute
 15-8	character code

Format of ABLOCKMFI parameter block:
Offset	Size	Description	(Table 03880)
 00h	WORD	0009h (length of following data)
 02h	WORD	top-left coordinate of character block
 04h	WORD	width of block
 06h	DWORD	-> block of DWORDs describing characters (see #03881)
 0Ah	BYTE	length of block in characters
SeeAlso: #03878

Bitfields for one character in ABLOCKMFI character block:
Bit(s)	Description	(Table 03881)
 7-0	reserved
 9-8	low two bits of font number
 12	transparent background
 13	overstrike
 14	reverse video
 15	underscore
 19-16	foreground color attribute
 23-20	background color attribute
 31-24	character code

Format of ACURSOR parameter block:
Offset	Size	Description	(Table 03882)
 00h	WORD	0002h (length of following data)
 02h	BYTE	column (0-based)
 03h	BYTE	row (0-based)
SeeAlso: #03885

Format of AERASE parameter block:
Offset	Size	Description	(Table 03883)
 00h	WORD	0005h (length of following data)
 02h	BYTE	left-most column (0-based)
 03h	BYTE	top-most row (0-based)
 04h	BYTE	rectangle's width in character cells
 05h	BYTE	rectangle's height in character cells
 06h	BYTE	background color (bits 7-4)
SeeAlso: #03884

Format of ASCROLL parameter block:
Offset	Size	Description	(Table 03884)
 00h	WORD	0006h (length of following data)
 02h	BYTE	left-most column (0-based) of source
 03h	BYTE	top-most row (0-based) of source
 04h	BYTE	rectangle's width in character cells
 05h	BYTE	rectangle's height in character cells
 06h	BYTE	left-most column (0-based) of destination
 07h	BYTE	top-most row (0-based) of destination
SeeAlso: #03883

Format of ASCUR parameter block:
Offset	Size	Description	(Table 03885)
 00h	WORD	0003h (length of following data)
 02h	BYTE	cursor start line (00h = top of cell, FFh = keep current shape)
 03h	BYTE	cursor stop line
 04h	BYTE	cursor attribute
		00h normal
		01h hidden
		02h left-arrow (requires start = 2 and stop = bottom of cell)
		03h right-arrow (requires start = 2 and stop = bottom of cell)
Notes:	no cursor is shown if the start line is greater than the stop line
	the alphanumeric cursor is hidden after each mode change
SeeAlso: #03882,INT 10/AH=01h

Format of ASFONT parameter block:
Offset	Size	Description	(Table 03886)
 00h	WORD	0005h (length of following data)
 02h	BYTE	font number (0-3)
 03h	DWORD	-> character set definition block (see #03887)

Format of 8514/A character set definition block:
Offset	Size	Description	(Table 03887)
 00h	BYTE	reserved
 01h	BYTE	type of character set
		00h bitmapped, 01h&02h reserved, 03h short-stroke font
 02h	BYTE	reserved
 03h	DWORD	reserved
 07h	BYTE	cell width in pixels
 08h	BYTE	cell height in pixels
 09h	BYTE	reserved
 0Ah	WORD	cell size in bytes
 0Ch	WORD	flags
		bit 15: reserved (0)
		bit 14: color bitmap
		bit 13: proportional spacing
 0Eh	DWORD	-> index table
 12h	DWORD	-> character width table
 16h	BYTE	initial code point
 17h	BYTE	final code point
 18h	DWORD	-> character definition table
 1Ch	WORD	reserved
 1Eh	DWORD	-> second character definition table
 22h	WORD	reserved
 24h	DWORD	-> third character definition table

Format of AXLATE parameter block:
Offset	Size	Description	(Table 03888)
 00h	WORD	0080h (length of following data)
 02h 64 BYTEs	character foreground translation table
 42h 64 BYTEs	character background translation table

Format of HBAR parameter block:
Offset	Size	Description	(Table 03889)
 00h	WORD	0000h (no data following)
SeeAlso: #03901

Format of HBBC parameter block:
Offset	Size	Description	(Table 03890)
 00h	WORD	0010h (length of following data)
 02h	WORD	data format
		0000h across-the-plane copy (color expansion)
		0008h through-the-plane copy
 04h	WORD	data rectangle's width
 06h	WORD	data rectangle's height
 08h	BYTE	source bit plane number (across-the-plane copies only)
 09h	BYTE	reserved
 0Ah  2 WORDs	X,Y coordinates of source's upper-left corner in display memory
 0Eh  2 WORDs	X,Y coordinates of destination's upper-left corner in
		  display memory
Note:	copies data from one location in video memory to another
SeeAlso: #03891

Format of HBBCHN parameter block:
Offset	Size	Description	(Table 03891)
 00h	WORD	0006h (length of following data)
 02h	DWORD	-> data buffer in system memory
 06h	WORD	number of bytes to transfer
Note:	this function performs the actual data transfer for a bitBLT set up
	  with HBBR, HBBW, or HCBBW
SeeAlso: #03890,#03892,#03893,#03894

Format of HBBR parameter block:
Offset	Size	Description	(Table 03892)
 00h	WORD	000Ch or 0014h (length of following data)
 02h	WORD	data format
		0000h across-the-plane copy (color expansion)
		0008h through-the-plane copy
 04h	WORD	data rectangle's width
 06h	WORD	data rectangle's height
 08h	BYTE	source bit plane number
 09h	BYTE	reserved
 0Ah  2 WORDs	X,Y coordinates of destination's upper-left corner in
		  display memory
---optional---
 0Eh	WORD	sub-rectangle left margin in pixels
 10h	WORD	sub-rectangle top margin in pixels
 12h	WORD	sub-rectangle width
 14h	WORD	sub-rectangle height
SeeAlso: #03891,#03892,#03894

Format of HBBW parameter block:
Offset	Size	Description	(Table 03893)
 00h	WORD	000Ah or 0012h (length of following data)
 02h	WORD	data format
		0000h across-the-plane copy (color expansion)
		0008h through-the-plane copy
 04h	WORD	data rectangle's width
 06h	WORD	data rectangle's height
 08h  2 WORDs	X,Y coordinates of destination in display memory
---optional---
 0Ch	WORD	sub-rectangle left margin in pixels
 0Eh	WORD	sub-rectangle top margin in pixels
 10h	WORD	sub-rectangle width
 12h	WORD	sub-rectangle height
SeeAlso: #03891,#03893,#03894

Format of HCBBW parameter block:
Offset	Size	Description	(Table 03894)
 00h	WORD	0006h or 000Eh (length of following data)
 02h	WORD	data format
		0000h across-the-plane copy (color expansion)
		0008h through-the-plane copy
 04h	WORD	data rectangle's width
 06h	WORD	data rectangle's height
---optional---
 08h	WORD	sub-rectangle left margin in pixels
 0Ah	WORD	sub-rectangle top margin in pixels
 0Ch	WORD	sub-rectangle width
 0Eh	WORD	sub-rectangle height
SeeAlso: #03891,#03892,#03893

Format of HCCHST parameter block:
Offset	Size	Description	(Table 03895)
 00h	WORD	length of following data
 02h  N BYTEs	ASCII string to display (length given by 'length' field above)
SeeAlso: #03896

Format of HCHST parameter block:
Offset	Size	Description	(Table 03896)
 00h	WORD	length of following data
 02h  2 WORDs	X,Y of left-bottom corner of string on screen
 06h  N BYTEs	ASCII string to display (length given by 'length' field above)
SeeAlso: #03895

Format of HCLINE parameter block:
Offset	Size	Description	(Table 03897)
 00h	WORD	length of following data (multiple of 4)
 02h 2N WORDs	X,Y coordinates for each of N points in polyline
Notes:	the first line segment is drawn beginning at the current position
	on completion, the current position is set to the last point drawn
SeeAlso: #03907,#03918,#03900

Format of HCLOSE parameter block:
Offset	Size	Description	(Table 03898)
 00h	WORD	0001h (length of following data)
 01h	BYTE	(ret) return code
SeeAlso: #03909

Format of HCMRK parameter block:
Offset	Size	Description	(Table 03899)
 00h	WORD	length of following data
 02h 2N WORDs	X,Y of N points
Note:	draws N+1 marker symbols, the first one at the current position
SeeAlso: #03908

Format of HCRLINE parameter block:
Offset	Size	Description	(Table 03900)
 00h	WORD	length of following data (multiple of 4)
 02h 2N WORDs	X,Y coordinates relative to the position of the previous point
		  (current position for first point) for each of N points in
		  polyline
Notes:	the first line segment is drawn beginning at the current position
	on completion, the current position is set to the last point drawn
SeeAlso: #03907,#03897,#03918

Format of HEAR parameter block:
Offset	Size	Description	(Table 03901)
 00h	WORD	0001h (length of following data)
 02h	BYTE	area definition flags
		bits 7-6: End Area type
			00 complete, perform fill
			01 suspend definition
			10 complete, but don't fill
SeeAlso: #03889

Format of HEGS parameter block:
Offset	Size	Description	(Table 03902)
 00h	WORD	0000h (no data following)

Format of HESC parameter block:
Offset	Size	Description	(Table 03903)
 00h	WORD	0000h (no data following)

Format of HINIT parameter block:
Offset	Size	Description	(Table 03904)
 00h	WORD	0002h (length of following data)
 02h	WORD	segment of task buffer
SeeAlso: #03943

Format of HINT parameter block:
Offset	Size	Description	(Table 03905)
 00h	WORD	0004h (length of following data)
 02h	DWORD	interrupt/event identifier
		bit 31: vertical blanking

Format of HLDPAL parameter block:
Offset	Size	Description	(Table 03906)
 00h	WORD	000Ah (length of following data)
 02h	BYTE	palette ID (00h = user, 01h = default)
 03h	BYTE	reserved
 04h	WORD	number of first palette entry
 06h	WORD	number of entries
 08h	DWORD	-> palette entries
SeeAlso: #03940

Format of HLINE parameter block:
Offset	Size	Description	(Table 03907)
 00h	WORD	length of following data (multiple of 4)
 02h 2N WORDs	X,Y coordinates for each of N points in polyline
Note:	on completion, the current position is set to the last point drawn
SeeAlso: #03897,#03918,#03900

Format of HMRK parameter block:
Offset	Size	Description	(Table 03908)
 00h	WORD	length of following data (multiple of 4)
 02h 2N WORDs	X,Y for N points
SeeAlso: #03899

Format of HOPEN parameter block:
Offset	Size	Description	(Table 03909)
 00h	WORD	0003h (length of following data)
 01h	BYTE	initialization flags
		bit 6: don't load default palette
		bit 7: clear bitplanes
 02h	BYTE	mode type (see #03910)
 03h	BYTE	(ret) return code
		bit 7: no adapter (hardware mismatch)
SeeAlso: #03898

(Table 03910)
Values for 8514/A display mode:
 0000h	12x20 characters, 1024x768
 0001h	8x14 characters, 640x480
 0002h	8x14 characters, 1024x768
 0003h	7x15 characters, 1024x768

Format of HQCOORD parameter block:
Offset	Size	Description	(Table 03911)
 00h	WORD	0004h (length of following data)
 02h	BYTE	(ret) coordinate format
		bits 7-4: bytes per coordinate
		bits 3-0: fraction bytes in coordinate
 03h	BYTE	(ret) relative coordinate format
		bits 7-4: bytes per coordinate
		bits 3-0: fraction bytes in coordinate
 04h	BYTE	(ret) number of dimensions (2-4)
 05h	BYTE	(ret) test results
		bit 7: coordinate format not supported
		bit 6: relative coordinate format not supported
		bit 5: specified dimension not supported

Format of HQCP parameter block:
Offset	Size	Description	(Table 03912)
 00h	WORD	0004h (length of following data)
 02h	WORD	(ret) current X position
 04h	WORD	(ret) current Y position

Format of HQDFPAL parameter block:
Offset	Size	Description	(Table 03913)
 00h	WORD	0040h (length of following data)
 02h 16	DWORDs	(ret) color index values
Note:	the default palette is set to match the default EGA/VGA 16-color
	  palettes

Format of HQDPS parameter block:
Offset	Size	Description	(Table 03914)
 00h	WORD	0006h (length of following data)
 02h	WORD	(ret) size of data buffer in bytes
 04h	WORD	(ret) stack size in bytes
 06h	WORD	(ret) size of palette save buffer in bytes

Format of HQMODE parameter block:
Offset	Size	Description	(Table 03915)
 00h	WORD	0012h (length of following data)
 02h	BYTE	current video mode (see #03910)
 03h	WORD	driver version
		bit 6: 80286/8086 CPU
		bit 5: 8 bit planes instead of 4 planes
		bits 4-0: hardware release number
 05h	BYTE	adapter type
		03h 8514/A
		04h XGA
 06h	BYTE	reserved (display type)
 07h	BYTE	character cell width
 08h	BYTE	character cell height
 09h	BYTE	number of bit planes
 0Ah	WORD	screen width (pixels)
 0Ch	WORD	screen height (pixels)
 0Eh	WORD	horizontal resolution (pixels/inch)
 10h	WORD	vertical resolution (pixels/inch)
 12h	BYTE	flag: 00h = monochrome, FFh = color
 13h	BYTE	intensity levels
SeeAlso: #03916

Format of HQMODES parameter block:
Offset	Size	Description	(Table 03916)
 00h	WORD	0021h (length of following data)
 02h	BYTE	(ret) adapter type
 03h 32 BYTEs	(ret) available display modes (FFh byte marks end of data)
SeeAlso: #03915

Format of HRECT parameter block:
Offset	Size	Description	(Table 03917)
 00h	WORD	0008h (legth of following data)
 02h  2 WORDs	X,Y coordinates of top left corner or rectangle
 06h	WORD	rectangle's width
 08h	WORD	rectangle's height
Note:	the rectangle is filled using the current pattern, color, and mix

Format of HRLINE parameter block:
Offset	Size	Description	(Table 03918)
 00h	WORD	length of following data (multiple of 4)
 02h  2 WORDs	X,Y coordinates of starting point
 06h 2N WORDs	X,Y coordinates relative to the position of the previous point
		  for each of N points in polyline
Note:	on completion, the current position is set to the last point drawn
SeeAlso: #03907,#03897,#03900

Format of HRLPC parameter block:
Offset	Size	Description	(Table 03919)
 00h	WORD	0000h (no data following)
Note:	used for continuity of lines crossing scissors boundaries
SeeAlso: #03932

Format of HRPAL parameter block:
Offset	Size	Description	(Table 03920)
 00h	WORD	0300h (length of following data)
 02h 768 BYTEs	buffer containing previously-saved palette table
SeeAlso: #03940

Format of HSBCOL parameter block:
Offset	Size	Description	(Table 03921)
 00h	WORD	0004h (length of following data)
 02h	DWORD	color index for new background color
SeeAlso: #03925

Format of HSBP parameter block:
Offset	Size	Description	(Table 03922)
 00h	WORD	000Ch (length of following data)
 02h	DWORD	bitmask for graphics updates
 06h	DWORD	bitmask for alphanumeric updates
 0Ah	DWORD	display bitmask

Format of HSCELL parameter block:
Offset	Size	Description	(Table 03923)
 00h

Format of HSCMP parameter block:
Offset	Size	Description	(Table 03924)
 00h	WORD	0005h (length of following data)
 02h	DWORD	comparison color
 06h	BYTE	logical operation
		00h True
		01h pel > testcolor
		02h pel == testcolor
		03h pel < testcolor
		04h False
		05h pel >= testcolor
		06h pel <> testcolor
		07h pel <= testcolor

Format of HSCOL parameter block:
Offset	Size	Description	(Table 03925)
 00h	WORD	0004h (length of following data)
 02h	DWORD	color index for new foreground color
SeeAlso: #03921

Format of HSCOORD parameter block:
Offset	Size	Description	(Table 03926)
 00h	WORD	0003h (length of following data)
 02h	BYTE	coordinate format
		bits 7-4: bytes per coordinate
		bits 3-0: fraction bytes in coordinate
 03h	BYTE	relative coordinates format
		bits 7-4: bytes per coordinate
		bits 3-0: fraction bytes in coordinate
 04h	BYTE	number of dimensions (2-4)

Format of HSCP parameter block:
Offset	Size	Description	(Table 03927)
 00h	WORD	0004h (length of following data)
 02h  2 WORDs	X,Y or coordinate for new current position

Format of HSCS parameter block:
Offset	Size	Description	(Table 03928)
 00h	WORD	0004h (length of following data)
 02h	DWORD	-> character set definition

Format of HSGQ parameter block:
Offset	Size	Description	(Table 03929)
 00h	WORD	0002h (length of following data)
 02h	WORD	quality settings (see #03931)

Format of HSHS parameter block:
Offset	Size	Description	(Table 03930)
 00h	WORD	0008h (length of following data)
 02h	WORD	left edge of clipping rectangle (-2048 to +6143)
 04h	WORD	right edge
 06h	WORD	top edge
 08h	WORD	bottom edget

Bitfields for 8514/A quality settings:
Bit(s)	Description	(Table 03931)
 15	reserved
 14	high precision
 13	reserved
 12-11	pel code
	00 not drawn
	01 drawn
	02 conditional on overpainting/mixes
 10	don't close areas to be filed
 9-0	reserved

Format of HSLPC parameter block:
Offset	Size	Description	(Table 03932)
 00h	WORD	0000h (no data following)
Note:	used for continuity of lines crossing scissors boundaries
SeeAlso: #03919

Format of HSLT parameter block:
Offset	Size	Description	(Table 03933)
 00h	WORD	0006h (length of following data)
 02h	BYTE	line type (see #03934)
 03h	BYTE	reserved
 04h	DWORD	-> user line-type definition (if user type)
SeeAlso: #03935

(Table 03934)
Values for 8514/A line type:
 00h	user line type
 01h	dotted
 02h	short dashes
 03h	dash-dot
 04h	double dotted
 05h	dashed
 06h	dash double dot
 07h	solid
 08h	invisible
SeeAlso: #03933

Format of HSLW parameter block:
Offset	Size	Description	(Table 03935)
 00h	WORD	0001h (length of following data)
 02h	BYTE	width of line in pixels
SeeAlso: #03933

Format of HSMODE parameter block:
Offset	Size	Description	(Table 03936)
 00h	WORD	0001h (length of following data)
 02h	BYTE	new display mode number (see #03910)

Format of HSMRK paramter block:
Offset	Size	Description	(Table 03937)
 00h	WORD	000Eh (length of following data)
 02h	BYTE	cell width
 03h	BYTE	cell height
 04h	BYTE	flags
 05h	BYTE	reserved
 06h	WORD	length of marker symbol
 08h	DWORD	-> image definition data
 0Ch	DWORD	-> color definition data
SeeAlso: #03941

Format of HSMX parameter block:
Offset	Size	Description	(Table 03938)
 00h	WORD	0002h (length of following data)
 02h	BYTE	foreground mix (see #03939)
 03h	BYTE	background mix (see #03939)

(Table 03939)
Values for 8514/A mix:
 00h	retain previous mix
 01h	source OR destination
 02h	source
 04h	source XOR destination
 05h	leave as-is
 06h	max(source,destination)
 07h	min(source,destination)
 08h	source+destination (clipped)
 09h	destination-source (clipped to zero)
 0Ah	source-destination (clipped to zero)
 0Bh	average source and destination
 10h	zero destination
 11h	source AND destination
 12h	source AND NOT destination
 13h	source
 14h	NOT source AND destination
 15h	leave as-is
 16h	source XOR destination
 17h	source OR destination
 18h	NOT source AND NOT destination
 19h	NOT (source XOR destination)
 1Ah	NOT destination
 1Bh	source OR NOT destination
 1Ch	NOT source
 1Dh	NOT source OR destination
 1Eh	NOT source OR NOT destination
 1Fh	set all bits of destination

Format of HSPAL parameter block:
Offset	Size	Description	(Table 03940)
 00h	WORD	0300h (length of following data)
 02h 768 BYTEs	buffer for palette table
SeeAlso: #03906,#03920

Format of HSPATT parameter block:
Offset	Size	Description	(Table 03941)
 00h	WORD	000Eh (length of following data)
 02h	BYTE	cell width
 03h	BYTE	cell height
 04h	BYTE	flags
 05h	BYTE	reserved
 06h	WORD	length of marker symbol
 08h	DWORD	-> image definition data
 0Ch	DWORD	-> color definition data
SeeAlso: #03937,#03942

Format of HSPATTO parameter block:
Offset	Size	Description	(Table 03942)
 00h	WORD	0004h (length of following data)
 02h  2 WORDs	X,Y of pattern reference point (origin)
SeeAlso: #03941

Format of HSYNC parameter block:
Offset	Size	Description	(Table 03943)
 00h	WORD	0002h (length of following data)
 02h	WORD	segment of task state buffer
SeeAlso: #03904

Format of HXLATE parameter block:
Offset	Size	Description	(Table 03944)
 00h	WORD	0020h (length of following data)
 02h 32 BYTEs	color index table

Top
7F0105 - INT 7F - IBM XGA Adapter Interface (XGAAIDOS.SYS)
INT 7F - IBM XGA Adapter Interface (XGAAIDOS.SYS)
	AX = 0105h
Return: CF set on error
	CF clear if successful
	    CX:DX -> array of FAR pointers to entry points (see #03877)
Note:	this API is a superset of the 8514/A Adapter Interface
	  (see AX=0105h"HDILOAD")

Top
7F0106 - INT 7F - HDILOAD Mach32 Adapter Interface - UNINSTALL
INT 7F - HDILOAD Mach32 Adapter Interface - UNINSTALL
	AX = 0106h
Return: AX = 0105h if successfully unloaded
SeeAlso: AX=0105h

Top
7F02 - INT 7F - Alloy NTNX, MW386 - RELEASE SEMAPHORE
INT 7F - Alloy NTNX, MW386 - RELEASE SEMAPHORE
	AH = 02h
	DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #03871)
	AH = semaphore owner if status=02h
SeeAlso: AH=00h,AH=01h,AH=42h

Top
7F02 - INT 7F - MultiLink Advanced v1.0+ - RELEASE CPU
INT 7F - MultiLink Advanced v1.0+ - RELEASE CPU
	AH = 02h
Return: ???
Desc:	yields CPU to other tasks
SeeAlso: AH=00h"MultiLink",AH=09h"MultiLink",INT 15/AX=1000h

Top
7F02 - INT 7F - G8BPQ v4.00+ - HOST MODE - SEND FRAME
INT 7F - G8BPQ v4.00+ - HOST MODE - SEND FRAME
	AH = 02h
	AL = stream number (01h-40h)
	CX = length of frame
	ES:SI -> frame to be sent
SeeAlso: AH=00h"G8BPQ",AH=03h"G8BPQ",AH=07h"G8BPQ",AH=0Ah"G8BPQ"

Top
7F0200 - INT 7F - Btrieve Multi-User - GIVE UP TIME???
INT 7F - Btrieve Multi-User - GIVE UP TIME???
	AX = 0200h
SeeAlso: INT 2F/AX=AB01h,INT 2F/AX=AB02h,INT 7B"Btrieve"

Top
7F03 - INT 7F - Alloy ANSK, NTNX, MW386 - GET USER NUMBER
INT 7F - Alloy ANSK, NTNX, MW386 - GET USER NUMBER
	AH = 03h
Return: AL = user number
	AH = machine number (MW386)
Note:	this function call is the recommended method for a CPU-bound process to
	  prevent its priority from being lowered
SeeAlso: AH=04h,AH=05h,AH=A1h

Top
7F03 - INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE FRAME
INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE FRAME
	AH = 03h
	AL = stream number (01h-40h)
	ES:DI -> buffer for frame (must be large enough for a full frame; 350
		  bytes is usually sufficient)
Return: BX = number of pending frames (0000h if returned frame was last avail)
	CX = length of received frame
SeeAlso: AH=02h"G8BPQ",AH=07h"G8BPQ",AH=0Bh"G8BPQ"

Top
7F04 - INT 7F - Alloy NTNX, MW386 - GET NUMBER OF USERS
INT 7F - Alloy NTNX, MW386 - GET NUMBER OF USERS
	AH = 04h
Return: AL = total number of users on currrent machine (MW386)
	AL = number of slaves on system (NTNX)
SeeAlso: AH=03h

Top
7F04 - INT 7F - G8BPQ v4.00+ - HOST MODE - GET STREAM STATUS
INT 7F - G8BPQ v4.00+ - HOST MODE - GET STREAM STATUS
	AH = 04h
	AL = stream number (01h-40h)
Return: CX = state (0000h disconnected, 0001h connected)
	DX = delta state (0000h no change, 0001h changed since last check)
SeeAlso: AH=00h"G8BPQ",AH=02h"G8BPQ",AH=05h"G8BPQ"

Top
7F05 - INT 7F - Alloy NTNX (Host) - LOCK/UNLOCK SYSTEM, SPOOLER CONTROL
INT 7F - Alloy NTNX (Host) - LOCK/UNLOCK SYSTEM, SPOOLER CONTROL
	AH = 05h
	AL = function
	    00h lock system (disable slave services)
	    01h unlock system
	    02h enable spooler
	    03h disable spooler
	    04h enable slave timer update
	    05h disable slave timer update
	    06h enable form feeds
	    07h disable form feeds
SeeAlso: INT 17/AH=A4h

Top
7F05 - INT 7F - Alloy NTNX (Slave), MW386 - GET USER PARAMETERS
INT 7F - Alloy NTNX (Slave), MW386 - GET USER PARAMETERS
	AH = 05h
	DX:DI -> buffer for user information record (see #03945)
Notes:	MW386 provides this function for backward compatibility only, and sets
	  many of the fields to zero because they are meaningless under MW386
	this function has no effect when called by the host (user 0)
SeeAlso: AH=03h

Format of Alloy user information record:
Offset	Size	Description	(Table 03945)
 00h	WORD	segment of video RAM
 02h	WORD	segment of secondary copy of video RAM
 04h	WORD	offset of screen update flag (see INT 10/AH=8Bh)
		flag nonzero if update needed
 06h	WORD	video NMI enable port
		(not used by MW386, set to 0000h)
 08h	WORD	video NMI disable port
		(not used by MW386, set to 0000h)
 0Ah	BYTE	processor type
		00h 8088
		01h V20
		02h 8086
		03h V30
		06h 80386
 0Bh	WORD	multitasking flag (00h = single tasking, 01h = multitasking)
		(not used by MW386, set to 0000h)
 0Dh	WORD	offset of terminal driver
		(not used by MW386, set to 0000h)
 0Fh	BYTE	port for console I/O
		(not used by MW386, set to 0000h)
 10h	WORD	offset of processor communication busy flag
		bit 7 set when slave communicating with host
 12h	WORD	pointer to FAR NX system call
		(not used by MW386, set to 0000h)
 14h	WORD	offset of 16-byte user configuration record (see AH=38h)
 16h	WORD	offset of command/status word
 18h	WORD	offset of screen valid flag (see INT 10/AH=93h)
		nonzero if screen must be repainted
 1Ah	WORD	offset of screen repaint flag
 1Ch	WORD	pointer to NEAR NX system call
		(not used by MW386, set to 0000h)
 1Eh	WORD	offset for intercept flags
		(not used by MW386, set to 0000h)
		intercept flag = FFh if MS-DOS intercepts should be disabled
 20h	WORD	offset of terminal lock flag (see INT 10/AH=92h)
		lock flag = FFh if backgrnd screen updates should be suspended
 22h 26 BYTEs	reserved

Top
7F05 - INT 7F - G8BPQ v4.00+ - HOST MODE - ACKNOWLEDGE STREAM STATUS CHANGE
INT 7F - G8BPQ v4.00+ - HOST MODE - ACKNOWLEDGE STREAM STATUS CHANGE
	AH = 05h
	AL = stream number (01h-40h)
Note:	this function must be called in order to receive a report of another
	  status change
SeeAlso: AH=00h"G8BPQ",AH=04h"G8BPQ"

Top
7F06 - INT 7F - Alloy NTNX (Host) - GET SHARED DRIVE INFO
INT 7F - Alloy NTNX (Host) - GET SHARED DRIVE INFO
	AH = 06h
	AL = drive number (1=A:, 2=B:, etc)
	ES:DI -> drive info record (see #03946)
Return: AX = status
	    0000h successful
		ES:DI buffer filled
	    0001h not shared drive

Format of Alloy drive info record:
Offset	Size	Description	(Table 03946)
 00h	WORD	segment of drive IO-REQUEST structure (MS-DOS DPB)
 02h	WORD	segment of allocation map (owner table)
		one byte per FAT entry, containing user ID owning that entry
 04h	WORD	segment of master FAT for drive (copy of FAT on disk)
 06h	WORD	pointer to configuration file
 08h	WORD	total number of clusters
 0Ah	WORD	bytes per sector
 0Ch	WORD	sectors per cluster
 0Eh	BYTE	FAT type (0Ch = 12-bit, 10h = 16-bit)

Top
7F06 - INT 7F - Alloy NTNX (Slave) - ALLOCATE FREE CLUSTER ON SHARED DRIVE
INT 7F - Alloy NTNX (Slave) - ALLOCATE FREE CLUSTER ON SHARED DRIVE
	AH = 06h
	DL = drive number (1=A:,2=B:,etc)
	CX = number of clusters to allocate
Return: AH = status
	    00h successful
		CX = number of clusters still free
	    10h invalid shared drive request
		CL = first and second shared drives
	    11h invalid cluster count (must be 01h-FFh)

Top
7F06 - INT 7F - G8BPQ v4.00+ - HOST MODE - SESSION CONTROL
INT 7F - G8BPQ v4.00+ - HOST MODE - SESSION CONTROL
	AH = 06h
	AL = stream number (01h-40h)
	CX = subfunction
	    0000h connect to node
		DL bit 0: use BBS callsign instead of Node Call
	    0001h connect to node
		use BBS Call if APPLMASK=1
	    0002h disconnect
	    0003h return user to node
SeeAlso: AH=01h"G8BPQ",AH=04h"G8BPQ"

Top
7F07 - INT 7F - Alloy NTNX, MW386 - GET LIST OF SHARED DRIVES
INT 7F - Alloy NTNX, MW386 - GET LIST OF SHARED DRIVES
	AH = 07h
Return: ES:DI -> shared drive list (see #03947)
Note:	MW386 considers all fixed disks to be shared drives; only C and D will
	  be returned as shared

Format of Alloy shared drive list:
Offset	Size	Description	(Table 03947)
 00h	BYTE	string length
 01h	BYTE	number of shared drives
 02h  N BYTEs	one byte per shared drive

Top
7F07 - INT 7F - G8BPQ v4.00+ - HOST MODE - GET BUFFER COUNTS FOR STREAM
INT 7F - G8BPQ v4.00+ - HOST MODE - GET BUFFER COUNTS FOR STREAM
	AH = 07h
	AL = stream number (01h-40h)
Return: BX = number of pending receive frames
	CX = number of unacknowledged sent frames
	DX = number of buffers available
SeeAlso: AH=02h"G8BPQ",AH=03h"G8BPQ"

Top
7F08 - INT 7F - Alloy NTNX (Host) - GET INTERRUPT VECTORS
INT 7F - Alloy NTNX (Host) - GET INTERRUPT VECTORS
	AH = 08h
	CL = function
	    00h get original interrupt vector
	    01h get Network Executive interrrupt
	AL = interrupt number
	DX:SI -> DWORD to hold interrupt vector
Return: AL = status
	    00h successful
	    01h interrupt vector not used by network executive
	    02h invalid subfunction
Note:	the network executive uses interrupts 02h,08h,09h,0Fh,10h,13h,16h-19h,
	  1Ch,20h,28h,2Ah,2Fh,5Bh,67h,7Fh,ECh, and F0h-FFh
SeeAlso: AH=09h/CL=03h,INT 21/AH=35h

Top
7F08--CL02 - INT 7F - Alloy NTNX - SET MESSAGE DISPLAY TIMEOUT
INT 7F - Alloy NTNX - SET MESSAGE DISPLAY TIMEOUT
	AH = 08h
	CL = 02h
	DX = timeout in seconds
Return: AL = status
	    00h successful
	    02h invalid subfunction

Top
7F08 - INT 7F - G8BPQ v4.00+ - HOST MODE - PORT CONTROL/INFORMATION
INT 7F - G8BPQ v4.00+ - HOST MODE - PORT CONTROL/INFORMATION
	AH = 08h
	AL = stream number (01h-40h)
Return: ES:DI -> 10-byte buffer containing blank-padded callsign
	---v4.05+ ---
	AL = radio port to which channel is connected (level 2)
	AH = session type (see #03948)
	BX = L2 paclen for session
	CX = maximum frame size
	DX = L4 window size or 0000h if not L4 circuit
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
	  John Wiseman which allows a PC to act as a node in an AX.25 network
SeeAlso: AH=01h"G8BPQ",AH=02h"G8BPQ",AH=03h"G8BPQ",AH=0Ah"G8BPQ"

Bitfields for G8BPQ session type:
Bit(s)	Description	(Table 03948)
 0	L2LINK
 1	SESSION
 2	UPLINK
 3	DOWNLIND
 5	BPQHOST

Top
7F09 - INT 7F - MultiLink Advanced v1.0+ - SET TASK PRIORITY
INT 7F - MultiLink Advanced v1.0+ - SET TASK PRIORITY
	AH = 09h
	AL = priority (0-7)
Return: nothing
InstallCheck:	ensure that the interrupt vector is not pointing at segment
	  0000h, then test whether the byte at offset 0000h in the interrupt
	  handler's segment is E9h
Index:	installation check;MultiLink Advanced
SeeAlso: AH=00h"MultiLink",AH=0Ah"MultiLink"

Top
7F09 - INT 7F - G8BPQ - proposed addition - GET NODE/APPLICATION CALLSIGN AND ALIAS
INT 7F - G8BPQ - proposed addition - GET NODE/APPLICATION CALLSIGN AND ALIAS
	AH = 09h
	AL = application
	    00h node
	    01h BBS
	    02h HOST
	    03h SYSOP
	BL = what to get (00h callsign, 01h application name)
	ES:SI -> buffer for callsign/name string
Return: CX = length of returned string
SeeAlso: AH=00h"G8BPQ",AH=01h"G8BPQ",AH=0Ch"G8BPQ"

Top
7F09 - INT 7F - Alloy NTNX - ENABLE/DISABLE MUD FILE CHECKING
INT 7F - Alloy NTNX - ENABLE/DISABLE MUD FILE CHECKING
	AH = 09h
	CL = function
	    00h enable checking of RTNX.MUD file
	    01h disable RTNX.MUD checking

Top
7F09--CL02 - INT 7F - Alloy NTNX - SWITCH HOST TO DEDICATED MODE
INT 7F - Alloy NTNX - SWITCH HOST TO DEDICATED MODE
	AH = 09h
	CL = 02h
Note:	in dedicated mode, the host will only poll for I/O requests from the
	  slave processors, and not provide workstation services

Top
7F09--CL03 - INT 7F - Alloy NTNX,MW386 - GET ALTERNATE INTERRUPT
INT 7F - Alloy NTNX,MW386 - GET ALTERNATE INTERRUPT
	AH = 09h
	CL = 03h
	AL = default interrupt number (67h,7Fh,etc)
Return: CL = actual interrupt which handles specified interrupt's calls
SeeAlso: AH=08h

Top
7F0A--CL00 - INT 7F - Alloy NTNX - GET SYSTEM FLAGS
INT 7F - Alloy NTNX - GET SYSTEM FLAGS
	AH = 0Ah
	CL = 00h
	ES:DI -> buffer for system flags (see #03949)
Return: ES:DI buffer filled
Notes:	on a slave, only the NX_Busy flag is returned
	all three flags are at fixed positions, so this function only needs to
	  be called once
	an interrupt handler should only perform DOS or device accesses when
	  all three flags are 00h

Format of Alloy system flags:
Offset	Size	Description	(Table 03949)
 00h	DWORD	pointer to NX_Busy flag (nonzero when communicating with users)
 04h	DWORD	pointer to device driver busy flag
 08h	DWORD	pointer to InTimer flag

Top
7F0A - INT 7F - G8BPQ v4.00+ - HOST MODE - TRANSMIT RAW (KISS) FRAME
INT 7F - G8BPQ v4.00+ - HOST MODE - TRANSMIT RAW (KISS) FRAME
	AH = 0Ah
	AL = radio port
	ES:SI -> buffer containing data to be sent
	CX = number of bytes to send
SeeAlso: AH=02h"G8BPQ",AH=08h"G8BPQ",AH=0Bh"G8BPQ"

Top
7F0A - INT 7F - MultiLink Advanced v1.0+ - SET KEYBOARD TEST STATUS
INT 7F - MultiLink Advanced v1.0+ - SET KEYBOARD TEST STATUS
	AH = 0Ah
	AL = task-switch status
	    00h normal (disable task when it repeatedly polls keyboard)
	    01h disable task until keyboard input available
	    FFh never disable task
Return: ???
SeeAlso: AH=09h"MultiLink"

Top
7F0B--CL02 - INT 7F - Alloy NTNX (Host) - SET/RESET GRAPHICS DOS ON SLAVE
INT 7F - Alloy NTNX (Host) - SET/RESET GRAPHICS DOS ON SLAVE
	AH = 0Bh
	CL = 02h
	AL = slave ID number
	CH = DOS to activate
	    00h graphics DOS
	    01h character DOS
Return: AL = status
	    00h successful
	    01h nothing done, proper DOS type already loaded

Top
7F0B - INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE TRACE (RAW DATA) FRAME
INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE TRACE (RAW DATA) FRAME
	AH = 0Bh
	ES:DI -> buffer for received data (see #03950)
Return: CX = number of bytes received
Note:	the specified buffer must be large enough to receive a full frame
SeeAlso: AH=03h"G8BPQ",AH=08h"G8BPQ",AH=0Ah"G8BPQ"

Format of G8BPQ received data:
Offset	Size	Description	(Table 03950)
 00h	WORD	internal control information
 02h	BYTE	port number (bit 7 set if transmitted frame)
 03h	WORD	frame length including this header
 05h	var	user data

Top
7F0C - INT 7F - G8BPQ v4.00+ - HOST MODE - UPDATE SWITCH INFORMATION
INT 7F - G8BPQ v4.00+ - HOST MODE - UPDATE SWITCH INFORMATION
	AH = 0Ch
	DX = function
	    0001h update beacon text
		CX = length of data
		ES:SI -> data to be sent in beacons
	    0002h (v4.07+) initiate NODES broadcast
SeeAlso: AH=09h"G8BPQ"

Top
7F0D00 - INT 7F - G8BPQ v4.07+ - HOST MODE - GET AVAILABLE STREAM
INT 7F - G8BPQ v4.07+ - HOST MODE - GET AVAILABLE STREAM
	AX = 0D00h
Return: AL = first available stream number, or FFh if none free
SeeAlso: AH=00h"G8BPQ",AH=0Dh

Top
7F0D - INT 7F - G8BPQ v4.07+ - HOST MODE - ALLOCATE/DEALLOCATE STREAM
INT 7F - G8BPQ v4.07+ - HOST MODE - ALLOCATE/DEALLOCATE STREAM
	AH = 0Dh
	AL = stream number (01h-FFh)
	CL = function
	    01h allocate stream
		Return: CX = status (0000h successful, else already in use)
	    02h deallocate stream
SeeAlso: AX=0D00h

Top
7F0F - INT 7F - G8BPQ v4.00+ - HOST MODE - GET TIME MARKER
INT 7F - G8BPQ v4.00+ - HOST MODE - GET TIME MARKER
	AH = 0Fh
Return: AX = time marker (clock ticks modulo 64K)
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
	  John Wiseman which allows a PC to act as a node in an AX.25 network
SeeAlso: AH=01h"G8BPQ",AX=0D00h,INT 1A/AH=00h

Top
7F10--CL00 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - OPEN CHANNEL
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - OPEN CHANNEL
	AH = 10h
	CL = 00h
	AL = channel number
	DX:DI -> channel buffer
Return: AL = status (00h-03h,0Dh) (see #03951)
Note:	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=01h,AH=10h/CL=04h,AH=14h/CL=02h

(Table 03951)
Values for Alloy function status:
 00h	successful
 01h	busy
 02h	channel range error (not 00h-3Fh)
 03h	invalid subfunction
 0Ah	channel not open
 0Ch	channel already locked
 0Dh	unable to open

Top
7F10--CL01 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE CHANNEL
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE CHANNEL
	AH = 10h
	CL = 01h
	AL = channel number
Return: AL = status (00h-03h,0Ah) (see #03951)
Note:	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=00h,AH=10h/CL=05h

Top
7F10--CL02 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK CHANNEL
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK CHANNEL
	AH = 10h
	CL = 02h
	AL = channel number
Return: AL = status (00h-03h,0Ah,0Ch) (see #03951)
Note:	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=03h,AH=10h/CL=06h,AH=10h/CL=08h

Top
7F10--CL03 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK CHANNEL
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK CHANNEL
	AH = 10h
	CL = 03h
	AL = channel number
Return: AL = status (00h-03h,0Ah) (see #03951)
Notes:	should only be used on channels locked with AH=10h/CL=02h, not on those
	  locked by receipt of a datagram
	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=02h,AH=10h/CL=04h,AH=10h/CL=09h

Top
7F10--CL04 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - RELEASE BUFFER
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - RELEASE BUFFER
	AH = 10h
	CL = 04h
	AL = channel number
Return: AL = status (00h-03h) (see #03951)
Notes:	unlocks buffer after received datagram has been processed
	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=00h

Top
7F10--CL05 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE ALL CHANNELS
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE ALL CHANNELS
	AH = 10h
	CL = 05h
Return: AL = status (00h-03h) (see #03951)
Notes:	clears all pending datagrams and clears buffer pointers before closing
	  the channels
	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=01h

Top
7F10--CL06 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK ALL OPEN CHANNELS
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK ALL OPEN CHANNELS
	AH = 10h
	CL = 06h
Return: AL = status (00h-03h) (see #03951)
Note:	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=02h,AH=10h/CL=08h

Top
7F10--CL07 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK ALL LOCKED IDLE CHANNELS
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK ALL LOCKED IDLE CHANNELS
	AH = 10h
	CL = 07h
Return: AL = status (00h-03h) (see #03951)
Notes:	unlocks all locked channels which have no pending datagrams
	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=03h,AH=10h/CL=09h

Top
7F10--CL08 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK MULTIPLE CHANNELS
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK MULTIPLE CHANNELS
	AH = 10h
	CL = 08h
	DX = maximum channel number to lock
Return: AL = status (00h-03h) (see #03951)
Notes:	locks channels numbered 00h through the value in DX
	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=02h,AH=10h/CL=06h,AH=10h/CL=09h

Top
7F10--CL09 - INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK MULTIPLE CHANNELS
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK MULTIPLE CHANNELS
	AH = 10h
	CL = 09h
	DX = maximum channel number to unlock
Return: AL = status (00h-03h) (see #03951)
Notes:	unlocks channels numbered 00h through the value in DX
	may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=03h,AH=10h/CL=07h,AH=10h/CL=08h

Top
7F11 - INT 7F - Alloy NTNX, MW386 - SEND DATAGRAM
INT 7F - Alloy NTNX, MW386 - SEND DATAGRAM
	AH = 11h
	DX:SI -> request block (see #03953)
Return: AL = status (see #03952)
Note:	if wildcard channel FFh used, actual channel number will be filled in
SeeAlso: AH=12h

(Table 03952)
Values for Alloy function status:
 00h	successful
 01h	busy
 02h	channel range error (not 00h-3Fh)
 03h	invalid subfunction
 0Ah	packet too large (or <2 bytes if NTNX)
 0Bh	can't send packet to itself
 0Ch	invalid number of destinations
 0Dh	destination channel number out of range
 0Eh	destination user is busy
 0Fh	destination user has locked channel
 10h	channel not open
 11h	no datagram server on destination (NTNX)

Format of Alloy request block:
Offset	Size	Description	(Table 03953)
 00h	DWORD	pointer to packet to send
 04h	WORD	packet size in bytes (1-4096)
 06h	BYTE	number of destinations for packet (max 1Fh)
 07h 31 BYTEs	destination user IDs (FFh = broadcast to all except sender)
 26h 31 BYTEs	destination channels (FFh = first available channel)
 45h 31 BYTEs	return destination statuses

Top
7F12 - INT 7F - Alloy NTNX, MW386 - ACKNOWLEDGE DATAGRAM
INT 7F - Alloy NTNX, MW386 - ACKNOWLEDGE DATAGRAM
	AH = 12h
	AL = channel number being acknowledged
	DI:DX = 32-bit status to return to sender
Return: AL = status (see #03954)
Note:	also unlocks the channel, allowing the next datagram to be received
SeeAlso: AH=11h,AH=15h/CL=04h

(Table 03954)
Values for Alloy function status:
 00h	successful
 01h	busy
 02h	channel range error (not 00h-3Fh)
 03h	invalid subfunction
 0Ah	channel not open
 0Bh	no message in channel
 0Ch	destination slave busy--retry (NTNX)
 0Dh	destination user not active
 0Eh	destination slave not active (NTNX)
 0Fh	destination disabled datagram service

Top
7F1234 - INT 7F - TIGA Communications Driver v2.05 - UNINSTALL
INT 7F - TIGA Communications Driver v2.05 - UNINSTALL
	AX = 1234h
SeeAlso: AX=4321h

Top
7F13--CL00 - INT 7F - Alloy NTNX, MW386 - RESET USER DATAGRAMS
INT 7F - Alloy NTNX, MW386 - RESET USER DATAGRAMS
	AH = 13h
	CL = 00h
Note:	clears all pending datagrams and removes all channels opened in NTNX
	  compatibility mode

Top
7F14--CL00 - INT 7F - Alloy NTNX, MW386 - SET RECEIVE ISR
INT 7F - Alloy NTNX, MW386 -  SET RECEIVE ISR
	AH = 14h
	CL = 00h
	DX:DI -> application FAR receive service routine (see #03955)
Return: AL = status (00h-03h) (see #03954)
SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h

(Table 03955)
Values Alloy receive service routine is called with:
	DH = sender ID
	DL = channel with datagram
	interrupts disabled
Return: AL = response code
	    00h leave buffer locked, set channel status, and repeat call later
	    01h release channel buffer
	    02h change buffer pointer to DX:DI
	AH,CX,DX,DI,SI may be destroyed

Top
7F14--CL01 - INT 7F - Alloy NTNX, MW386 - SET ACKNOWLEDGE ISR
INT 7F - Alloy NTNX, MW386 - SET ACKNOWLEDGE ISR
	AH = 14h
	CL = 01h
	DX:DI -> application FAR acknowledge service routine (see #03956)
Return: AL = status (00h-03h) (see #03954)
Note:	the service routine will be called as soon as an acknowledgment arrives
SeeAlso: AH=12h,AH=14h/CL=00h,AH=14h/CL=04h,AH=15h/CL=04h

(Table 03956)
Values Alloy acknowledge service routine is called with:
	DS:SI -> acknowledge structure (see #03960)
Return: AL = response code
	    00h application busy, network executive should call again later
	    01h acknowledge accepted
	AH,DX,SI may be destroyed

Top
7F14--CL02 - INT 7F - Alloy NTNX, MW386 - SET CHANNEL BUFFER POINTER
INT 7F - Alloy NTNX, MW386 - SET CHANNEL BUFFER POINTER
	AH = 14h
	CL = 02h
	AL = channel number
	DX:DI -> receive buffer
Return: AL = status (00h-03h) (see #03954)
Note:	may be called from within a receive ISR or when a datagram is pending
SeeAlso: AH=10h/CL=00h,AH=14h/CL=00h

Top
7F14--CL03 - INT 7F - Alloy NTNX, MW386 - GET RECEIVE ISR
INT 7F - Alloy NTNX, MW386 - GET RECEIVE ISR
	AH = 14h
	CL = 03h
Return: DX:DI -> current receive ISR
SeeAlso: AH=14h/CL=00h,AH=14h/CL=04h

Top
7F14--CL04 - INT 7F - Alloy NTNX, MW386 - GET ACKNOWLEDGE ISR
INT 7F - Alloy NTNX, MW386 - GET ACKNOWLEDGE ISR
	AH = 14h
	CL = 04h
Return: DX:DI -> current acknowledge ISR
SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h

Top
7F14--CL05 - INT 7F - Alloy NTNX (Host), MW386 - GET BUSY POINTER
INT 7F - Alloy NTNX (Host), MW386 - GET BUSY POINTER
	AH = 14h
	CL = 05h
	DX:DI -> buffer for busy structure (see #03957)
Return: DX:DI buffer filled

Format of Alloy busy structure:
Offset	Size	Description	(Table 03957)
 00h	DWORD	pointer to busy flag byte
 04h	WORD	fixed port address (FF00h)

Top
7F15--CL00 - INT 7F - Alloy NTNX, MW386 - GET CHANNEL STATUS
INT 7F - Alloy NTNX, MW386 - GET CHANNEL STATUS
	AH = 15h
	CL = 00h
	AL = channel number
	DX:DI -> status structure (see #03958)
Return: AL = status (00h-03h) (see #03954)
SeeAlso: AH=15h/CL=01h

Format of Alloy channel status structure:
Offset	Size	Description	(Table 03958)
 00h	BYTE	channel status
		bit 0: channel open
		bit 1: channel buffer contains received data
		bit 7: channel locked
 01h	BYTE	sender ID

Top
7F15--CL01 - INT 7F - Alloy NTNX, MW386 - GET NEXT FULL CHANNEL
INT 7F - Alloy NTNX, MW386 - GET NEXT FULL CHANNEL
	AH = 15h
	CL = 01h
	DX:DI -> full-channel structure (see #03959)
Return: AL = status
	    00h successful
	    01h busy
	    0Ah no datagrams available
Note:	MW386 v1.0 returns the lowest channel with a datagram; newer versions
	  and NTNX return the oldest datagram
SeeAlso: AH=15h/CL=00h

Format of Alloy full-channel structure:
Offset	Size	Description	(Table 03959)
 00h	BYTE	number of channel with oldest datagram
 01h	BYTE	sender ID

Top
7F15--CL02 - INT 7F - Alloy NTNX, MW386 - GET MAXIMUM NUMBER OF CHANNELS
INT 7F - Alloy NTNX, MW386 - GET MAXIMUM NUMBER OF CHANNELS
	AH = 15h
	CL = 02h
Return: AH = number of channels available (40h for MW386)
Note:	the application may always assume at least 32 channels available
SeeAlso: AH=15h/CL=03h

Top
7F15--CL03 - INT 7F - Alloy NTNX, MW386 - GET MAXIMUM PACKET SIZE
INT 7F - Alloy NTNX, MW386 - GET MAXIMUM PACKET SIZE
	AH = 15h
	CL = 03h
	DX:DI -> WORD for return value
Return: buffer WORD filled with maximum packet size (4096 for MW386)
SeeAlso: AH=15h/CL=02h

Top
7F15--CL04 - INT 7F - Alloy NTNX, MW386 - GET AND CLEAR ACKNOWLEDGE STATUS
INT 7F - Alloy NTNX, MW386 - GET AND CLEAR ACKNOWLEDGE STATUS
	AH = 15h
	CL = 04h
	DX:DI -> status structure (see #03960)
Return: AL = status
	    00h successful
		DX:DI structure filled
	    01h busy
	    0Ah no acknowledgement has arrived
SeeAlso: AH=12h,AH=14h/CL=01h

Format of Alloy status structure:
Offset	Size	Description	(Table 03960)
 00h	BYTE	sender ID
 01h	BYTE	channel number
 02h  4 BYTEs	receiver status (see #03954)

Top
7F16 - INT 7F - Alloy NTNX, MW386 - DIRECT MEMORY TRANSFER
INT 7F - Alloy NTNX, MW386 - DIRECT MEMORY TRANSFER
	AH = 16h
	DX:SI -> transfer structure (see #03961)
Return: AL = status
	    00h successful
	    0Ah source or destination out of range
	    0Bh transfer kernel busy--try again
Notes:	this call transfers memory contents directly between users; both source
	  and destination user IDs may differ from the caller's ID
	no segment wrap is allowed

Format of Alloy transfer structure:
Offset	Size	Description	(Table 03961)
 00h	WORD	bytes to transfer
 02h	BYTE	source ID
		FEh = caller
 03h	DWORD	source address
 07h	BYTE	destination ID
		FFh = all slaves except caller
		FEh = caller
 08h	DWORD	destination address

Top
7F21 - INT 7F - Alloy NTNX, MW386 - SEND MESSAGE OR COMMAND TO USER(S)
INT 7F - Alloy NTNX, MW386 - SEND MESSAGE OR COMMAND TO USER(S)
	AH = 21h
	AL = sender's user ID
	DS:DX -> control packet (see #03962)
Note:	messages or commands are ignored if disabled by the destination user
SeeAlso: AH=22h

Format of Alloy control packet:
Offset	Size	Description	(Table 03962)
 00h	BYTE	packet type
		00h message
		01h NTNX command
		02h MW386 command
 01h	BYTE	destination user ID or 'A' for all users
 02h 62 BYTEs	ASCIZ message (packet type 00h)
		BIOS keycodes terminated by NUL byte (type 01h) or word (02h)
Note:	a maximum of 16 keycodes will be processed for NTNX and MW386 commands

Top
7F22 - INT 7F - Alloy NTNX - GET MESSAGE
INT 7F - Alloy NTNX - GET MESSAGE
	AH = 22h
Return: pending messages displayed on user's screen
SeeAlso: AH=21h

Top
7F24 - INT 7F - Alloy NTNX, MW386 - ATTACH OR RELEASE DRIVE FOR LOW-LEVEL WRITE ACCESS
INT 7F - Alloy NTNX, MW386 - ATTACH OR RELEASE DRIVE FOR LOW-LEVEL WRITE ACCESS
	AH = 24h
	CL = function
	    00h attach
	    01h release
	CH = drive (0=A:,1=B:,etc)
Return: AX = status (see #03963)
Note:	only drives on the current machine may be attached

(Table 03963)
Values for Alloy function status:
 00h	successful
 01h	invalid request
 02h	already attached
 03h	not attached
 04h	lock table full

Top
7F24 - INT 7F - Alloy NTNX - ATTACH/RELEASE HOST PROCESSOR
INT 7F - Alloy NTNX - ATTACH/RELEASE HOST PROCESSOR
	AH = 24h
	CL = function
	    02h attach host
	    03h release host
Return: AX = status (see #03963)
Note:	the host processor may be attached in order to perform I/O via the host

Top
7F25--CL00 - INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE VERSION
INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE VERSION
	AH = 25h
	CL = 00h
Return: AH = version suffix letter
	CH = major version number
	CL = minor version number
SeeAlso: AH=25h/CL=01h

Top
7F25--CL01 - INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE TYPE
INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE TYPE
	AH = 25h
	CL = 01h
Return: CL = executive type (see #03964)
SeeAlso: AH=25h/CL=00h

(Table 03964)
Values for Alloy network executive type:
 00h	RTNX
 01h	ATNX
 02h	NTNX
 03h	BTNX
 04h	MW386
 05h	ANSK

Top
7F2525 - INT 7F - TIGA Communications Driver v2.05 - ???
INT 7F - TIGA Communications Driver v2.05 - ???
	AX = 2525h
	BX = ???
Return: ???
SeeAlso: AX=4321h,AX=5555h

Top
7F26--CL00 - INT 7F - Alloy NTNX, MW386 - GET NTNX FILE MODE
INT 7F - Alloy NTNX, MW386 - GET NTNX FILE MODE
	AH = 26h
	CL = 00h
Return: AX = file mode bits (see #03965)
Note:	MW386 does not support file modes, and always returns AX=001Fh
SeeAlso: AH=26h,AH=26h/CL=06h

Bitfields for Alloy file mode bits:
Bit(s)	Description	(Table 03965)
 0	directory protection enabled
 1	extended open enabled
 2	flush on every disk write
 3	flush on every disk write in locked interval
 4	flush on reads from simultaneously opened file

Top
7F26 - INT 7F - Alloy NTNX - SET FILE I/O CHECKING LEVEL
INT 7F - Alloy NTNX - SET FILE I/O CHECKING LEVEL
	AH = 26h
	CL = check type to set/reset
	    01h directory protection
	    02h extended open
	    03h flush on every disk write
	    04h flush on disk write if any lock set during write
	    05h flush on all reads if file written
	AL = new state (00h off, 01h on)
SeeAlso: AH=26h/CL=00h,AH=26h/CL=06h

Top
7F26--CL06 - INT 7F - Alloy NTNX - CANCEL FLUSH ON WRITE
INT 7F - Alloy NTNX - CANCEL FLUSH ON WRITE
	AH = 26h
	CL = 06h
Note:	cancels flags set by AH=26h/CL=03h and AH=26h/CL=04h
SeeAlso: AH=26h/CL=00h

Top
7F30 - INT 7F - Alloy MW386 - GET PORT INFORMATION
INT 7F - Alloy MW386 - GET PORT INFORMATION
	AH = 30h
	CX = MW386 port number
Return: AL = result
	    FFh if port not found
	    else driver unit number
		BL = port mode
		BH = port type
		    02h remote
		DH = owner's machine ID
		DL = owner's user ID
SeeAlso: INT 17/AH=8Bh

Top
7F31 - INT 7F - Alloy MW386 v1.x only - CHECK PORT ASSIGNMENT
INT 7F - Alloy MW386 v1.x only - CHECK PORT ASSIGNMENT
	AH = 31h
	???
Return: ???

Top
7F37 - INT 7F - Alloy NTNX (Host) - GET SEMAPHORE TABLE
INT 7F - Alloy NTNX (Host) - GET SEMAPHORE TABLE
	AH = 37h
Return: ES:AX -> semaphore table

Top
7F37 - INT 7F - Alloy ANSK, NTNX (Slave) - DUMP STRING TO TERMINAL
INT 7F - Alloy ANSK, NTNX (Slave) - DUMP STRING TO TERMINAL
	AH = 37h
	DS:DX -> ASCIZ string to display
Note:	if the string is empty, a terminal update will be forced

Top
7F38 - INT 7F - Alloy NTNX (Slave), MW386 - SET NEW TERMINAL DRIVER
INT 7F - Alloy NTNX (Slave), MW386 - SET NEW TERMINAL DRIVER
	AH = 38h
	AL = new terminal driver number
	    FFh dummy driver
	    FEh current driver
	    FDh load new driver
		DS:SI -> new driver
SeeAlso: AH=39h

Top
7F39 - INT 7F - Alloy MW386 - SET TERMINAL DRIVER FOR ANOTHER USER
INT 7F - Alloy MW386 - SET TERMINAL DRIVER FOR ANOTHER USER
	AH = 39h
	AL = new terminal driver number
	    FFh dummy driver
	    FEh current driver
	    FDh load new driver
		DS:SI -> new driver
	DL = user number (FFh = caller)
	DH = machine number if DL <> FFh
Return: CF set if invalid user number
	CF clear if successful
Notes:	only available to supervisors
	the new driver number will not take effect until the user is rebooted
SeeAlso: AH=38h

Top
7F3A - INT 7F - Alloy MW386 - GET TERMINAL PARAMETERS
INT 7F - Alloy MW386 - GET TERMINAL PARAMETERS
	AH = 3Ah
	DL = user number (FFh = caller)
	DH = machine number
Return: CF clear if successful
	    AH = terminal driver number
	    AL = baud rate (00h = 38400, 01h = 19200, etc)
	    CL = parity (00h none, 01h even, 02h odd)
	    CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
	CF set if invalid user number
SeeAlso: AH=3Bh

Top
7F3B - INT 7F - Alloy MW386 - SET TERMINAL PARAMETERS
INT 7F - Alloy MW386 - SET TERMINAL PARAMETERS
	AH = 3Bh
	AL = baud rate (00h = 38400, 01h = 19200, etc)
	CL = parity (00h none, 01h even, 02h odd)
	CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
	DL = user number (FFh = caller)
	DH = machine number for user
Return: CF set if invalid user number
Notes:	only available to supervisors
	the new parameters will take effect immediately if the user's terminal
	  has not been started, else AH=3Dh must be called to post the changes
SeeAlso: AH=3Ah,AH=3Dh

Top
7F3C - INT 7F - Alloy MW386 - ENABLE/DISABLE AUTOBAUD DETECT
INT 7F - Alloy MW386 - ENABLE/DISABLE AUTOBAUD DETECT
	AH = 3Ch
	AL = new state (00h disabled, 01h enabled)
	DL = user number (FFh = caller)
	DH = machine number for user
Return: CF set if invalid user number
Note:	only available to supervisors
SeeAlso: AH=3Dh

Top
7F3D - INT 7F - Alloy MW386 - POST TERMINAL CONFIGURATION CHANGES
INT 7F - Alloy MW386 - POST TERMINAL CONFIGURATION CHANGES
	AH = 3Dh
Note:	should be called whenever a program changes the terminal type or its
	  parameters
SeeAlso: AH=3Bh

Top
7F41 - INT 7F - Alloy NTNX - LOCK FILE FOR USER
INT 7F - Alloy NTNX - LOCK FILE FOR USER
	AH = 41h
	AL = user ID
	DS:DX -> ASCIZ filename
Return: AL = status (see #03966)
Note:	requests exclusive read/write access to file
SeeAlso: AH=00h,AH=41h"MW386",AH=42h"NTNX"

(Table 03966)
Values for Alloy function status:
 00h	successful
 01h	invalid function
 02h	already locked
 03h	unable to lock
 04h	lock table full or semaphore space exhausted

Top
7F41 - INT 7F - Alloy MW386 - LOCK SEMAPHORE FOR USER
INT 7F - Alloy MW386 - LOCK SEMAPHORE FOR USER
	AH = 41h
	AL = user ID
	DS:DX -> ASCIZ semaphore name
Return: AL = status (see #03966)
SeeAlso: AH=00h,AH=42h"MW386"

Top
7F4150BHC1 - INT 7F U - Voyetra - AAPISG - API
INT 7F U - Voyetra - AAPISG - API
	AX = 4150h ('AP')
	BH = C1h
	BL = function (00h-13h)
	    00h initialize (fails except first time called)
	???
Return: AX = status???
	    0000h successful
	    0001h failed
Program: AAPISG is a driver by Voyetra for the Aztech Sound Galaxy sound board
BUG:	the function range check uses JL instead of JB, so it will cause a
	  crash if BL >= 80h on entry
SeeAlso: AX=4331h,AX=564Dh,AX=5658h

Top
7F42 - INT 7F - Alloy NTNX - UNLOCK FILE FOR USER
INT 7F - Alloy NTNX - UNLOCK FILE FOR USER
	AH = 42h
	AL = user ID
	DS:DX -> ASCIZ filename
Return: AL = status (see #03966)
SeeAlso: AH=00h,AH=41h"NTNX",AH=42h"MW386"

Top
7F42 - INT 7F - Alloy MW386 - UNLOCK SEMAPHORE FOR USER
INT 7F - Alloy MW386 - UNLOCK SEMAPHORE FOR USER
	AH = 42h
	AL = user ID
	DS:DX -> ASCIZ semaphore name
Return: AL = status
	    00h successful
	    01h invalid function
	    03h unable to unlock semaphore
SeeAlso: AH=02h,AH=41h"MW386",AH=42h"NTNX"

Top
7F4321 - INT 7F - TIGA Communications Driver v2.05 - INSTALLATION CHECK
INT 7F - TIGA Communications Driver v2.05 - INSTALLATION CHECK
	AX = 4321h
Return: AX = 0000h if installed
Note:	INT 7F is the default, but may be overridden
SeeAlso: AH=01h"TIGA",AX=1234h,AX=2525h,AX=4321h,AX=5555h

Top
7F4331BHC1 - INT 7F U - Voyetra - VAPISG - API
INT 7F U - Voyetra - VAPISG - API
	AX = 4331h ('C1')
	BH = C1h
	BL = function (00h-7Ah)
	???
Return: ???
Program: VAPISG is a MIDI driver by Voyetra for the Aztech Sound Galaxy
	  sound board
SeeAlso: AX=4150h,AX=564Dh,AX=5658h

Top
7F4E - INT 7F - Alloy MW386 v2+ - SET ERROR MODE
INT 7F - Alloy MW386 v2+ - SET ERROR MODE
	AH = 4Eh
	AL = error mode flags
	    bit 0: display critical disk errors
	    bit 1: display sharing errors
	DX = 4E58h ("NX")
Return: AL = status
	    00h successful
SeeAlso: AH=4Fh

Top
7F4F - INT 7F - Alloy MW386 v2+ - SET FCB MODE
INT 7F - Alloy MW386 v2+ - SET FCB MODE
	AH = 4Fh
	AL = FCB mode
	    02h read/write compatibility
	    42h read/write shared
	DX = 4E58h ("NX")
Return: AL = status
	    00h successful

Top
7F5555 - INT 7F - TIGA Communications Driver v2.05 - ???
INT 7F - TIGA Communications Driver v2.05 - ???
	AX = 5555h
	BX = ???
Return: ???
SeeAlso: AX=4321h

Top
7F564DBHC1 - INT 7F U - Voyetra Multimedia Player - VMP.EXE API
INT 7F U - Voyetra Multimedia Player - VMP.EXE API
	AX = 564Dh ('VM')
	BH = C1h
	BL = function (00h-1Bh)
	    00h ???
		Return: CF clear
			AX = 0000h
	???
Return: AX = FFFFh if invalid function
	???
SeeAlso: AX=4331h,AX=5658h

Top
7F5658BHC1 - INT 7F U - Voyetra - VAPISG - API
INT 7F U - Voyetra - VAPISG - API
	AX = 5658h ('VX')
	BH = C1h
	BL = function (00h-1Bh)
	???
Return: ???
Program: VAPISG is a MIDI driver by Voyetra for the Aztech Sound Galaxy
	  sound board
SeeAlso: AX=4331h,AX=564Dh

Top
7F81 - INT 7F - Alloy NTNX - ATTACH DEVICE FOR USER
INT 7F - Alloy NTNX - ATTACH DEVICE FOR USER
	AH = 81h
	AL = user ID
	DS:DX -> ASCIZ device name
SeeAlso: AH=82h

Top
7F82 - INT 7F - Alloy NTNX - RELEASE DEVICE FOR USER
INT 7F - Alloy NTNX - RELEASE DEVICE FOR USER
	AH = 82h
	AL = user ID
	DS:DX -> ASCIZ device name
SeeAlso: AH=81h

Top
7FA0 - INT 7F - Alloy MW386 - GET USER NAME
INT 7F - Alloy MW386 - GET USER NAME
	AH = A0h
	DL = user number (FFh = caller)
	DH = machine number for user
	ES:DI -> 17-byte buffer for ASCIZ user name
Return: CF set if invalid user number
SeeAlso: AH=03h,AH=A1h

Top
7FA1 - INT 7F - Alloy MW386 - GET MACHINE, USER, AND PROCESS NUMBER
INT 7F - Alloy MW386 - GET MACHINE, USER, AND PROCESS NUMBER
	AH = A1h
Return: AL = process number
	DL = user number
	DH = machine number
SeeAlso: AH=03h,AH=A0h,AH=A2h

Top
7FA2 - INT 7F - Alloy MW386 - GET USER PRIVILEGE LEVEL
INT 7F - Alloy MW386 - GET USER PRIVILEGE LEVEL
	AH = A2h
	DL = user number (FFh = caller)
	DH = machine number for user
Return: CF clear if successful
	    AL = privilege level
		00h supervisor
		01h high
		02h medium
		03h low
	CF set if invalid user number
SeeAlso: AH=A1h,AH=A3h

Top
7FA3 - INT 7F - Alloy MW386 - GET USER LOGIN STATE
INT 7F - Alloy MW386 - GET USER LOGIN STATE
	AH = A3h
	DL = user number
	DH = machine number for user
Return: CF clear if successful
	    AL = login state
		00h never logged in
		01h currently logged out
		03h currently logged in
	CF set if invalid user number or user not active
SeeAlso: AH=A2h

Top
7FA4 - INT 7F - Alloy MW386 - VERIFY USER PASSWORD
INT 7F - Alloy MW386 - VERIFY USER PASSWORD
	AH = A4h
	DS:DX -> ASCIZ password (null-padded to 16 bytes)
Return: AL = status
	    00h	 accepted
	    else invalid password

Top
7FA500 - INT 7F - Alloy MW386 - GET USER STATUS
INT 7F - Alloy MW386 - GET USER STATUS
	AX = A500h
	DI = machine number and user number
Return: CF clear if successful
	    BX = user flags
		bit 5: allow messages
	    CL = scan code for task manager hotkey
	    CH = scan code for spooler hotkey
	    DL = scan code for task swapper hotkey
	    DH = modifier key status
	CF set if invalid user number
SeeAlso: AX=A501h
Index:	hotkeys;Alloy MW386

Top
7FA501 - INT 7F - Alloy MW386 - SET USER STATUS
INT 7F - Alloy MW386 - SET USER STATUS
	AX = A501h
	BX = user flags (see AX=A500h)
	CL = scan code for task manager hotkey
	CH = scan code for spooler hotkey
	DL = scan code for task swapper hotkey
	DH = modifier key status
	DI = machine number and user number
Return: CF set if invalid user number
Note:	must have supervisor privilege to set another user's status
SeeAlso: AX=A500h
Index:	hotkeys;Alloy MW386

Top
7FABCDBX0000 - INT 7F - IBM 8516 Touch Screen Device Driver - GET API ENTRY
INT 7F - IBM 8516 Touch Screen Device Driver - GET API ENTRY
	AX = ABCDh
	BX = 0000h
Return: AX = total number of functions available
	ES:BX -> entry point array (see #03967)
SeeAlso: AX=0104h,AX=0105h

(Table 03967)
Values for 8516 Touch Screen function number:
 00h	check initialization and reset (see #03968)
 14h	set user-defined subroutine (see #03969)
Notes:	each driver function takes two stack parameters using Pascal calling
	  conventions: address of parameter block and address of results buffer
	all pointers are FAR pointers
	on return, AX contains the status of the call:
	    AX = 0000h successful
		 0001h invalid input
		 0002h interface error
		 0003h unable to perform function

Format of 8516 Touch Screen Function 00h parameter block:
Offset	Size	Description	(Table 03968)
 00h	WORD	0000h (function number)
Note:	this function should be called before any other device driver functions

Format of 8516 Touch Screen Function 00h results buffer:
Offset	Size	Description	(Table 03969)
 00h	WORD	touch screen status
		0000h unavailable
		0001h uncalibrated
		FFFFh available
 02h	WORD	aux mouse status (0000h not present, FFFFh present)
Notes:	the following driver parameters will have been reset to zero:
	  touchdown counter, liftoff counter, position at last touch, position
	  at last lift, int call mask, select on count, select off count,
	  pos select on count, pos select off count.
	the following driver parameters will have been reset as listed:
	  mouse emulation mode: left on
	  thresholds: 46 on screen, 96 push harder, 80 push release
	  x, y hysteresis: 400
	  data repeat rate: 40/sec
	  select mechanism: push-harder - first-touch
	  coordinate origin: upper left corner
	  filter frequency: medium
	  data block mask: all enabled
	  click lock: on

Top
7FB0 - INT 7F - Alloy NTNX, MW386 - RELEASE ALL SEMAPHORES FOR USER
INT 7F - Alloy NTNX, MW386 - RELEASE ALL SEMAPHORES FOR USER
	AH = B0h
	AL = user number
	DS = code segment
Note:	MW386 ignores AL and DS; it releases all semaphores locked using INT 67
	  or INT 7F locking functions
SeeAlso: AH=B1h,AH=B2h,AH=B3h,AH=B4h

Top
7FB1--SF00 - INT 7F - Alloy NTNX, MW386 - RELEASE NORMAL SEMAPHORES FOR USER
INT 7F - Alloy NTNX, MW386 - RELEASE NORMAL SEMAPHORES FOR USER
	AH = B1h subfn 00h
	AL = (bits 7-5) 000
	     (bits 4-0) user ID
Note:	MW386 ignores AL; it releases all semaphores locked using INT 67 or
	  INT 7F locking functions
SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B4h

Top
7FB2--SF01 - INT 7F - Alloy NTNX - RELEASE MESSAGES FOR USER
INT 7F - Alloy NTNX - RELEASE MESSAGES FOR USER
	AH = B2h subfn 01h
	AL = (bits 7-5) 001
	     (bits 4-0) user ID
SeeAlso: AH=B0h,AH=B1h,AH=B3h,AH=B4h

Top
7FB3--SF02 - INT 7F - Alloy NTNX - RELEASE FILES FOR USER
INT 7F - Alloy NTNX - RELEASE FILES FOR USER
	AH = B3h subfn 02h
	AL = (bits 7-5) 010
	     (bits 4-0) user ID
SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B4h

Top
7FB4 - INT 7F - Alloy NTNX - RELEASE DEVICES FOR USER
INT 7F - Alloy NTNX - RELEASE DEVICES FOR USER
	AH = B4h
	AL = user ID
SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B3h

Top
7FC3 - INT 7F - Alloy MW386 - WRITE BYTE TO TERMINAL AUX PORT
INT 7F - Alloy MW386 - WRITE BYTE TO TERMINAL AUX PORT
	AH = C3h
	AL = byte to write
Return: CF clear if successful
	CF set on error
SeeAlso: AH=C6h

Top
7FC5 - INT 7F - Alloy MW386 - CHANGE CONSOLE MODE
INT 7F - Alloy MW386 - CHANGE CONSOLE MODE
	AH = C5h
	AL = new console mode
	    00h keyboard indirect
	    01h keyboard direct
	    02h data handshake enforced
	    03h no data handshake
Return: CF clear if successful
	    AL = prior console mode
	CF set on error (caller is not remote user)
Note:	modes 2 and 3 may be used for input through the console port; no video
	  output should be performed in these modes

Top
7FC6 - INT 7F - Alloy MW386 - WRITE BYTE TO CONSOLE PORT
INT 7F - Alloy MW386 - WRITE BYTE TO CONSOLE PORT
	AH = C6h
	AL = byte to write
Return: CF clear if successful
	CF set on error (caller is not remote user)
Note:	any terminal driver data translation will be bypassed
SeeAlso: AH=C3h,AH=C7h

Top
7FC7 - INT 7F - Alloy MW386 - READ CONSOLE DATA BYTE
INT 7F - Alloy MW386 - READ CONSOLE DATA BYTE
	AH = C7h
Return: CF clear if successful
	    AL = byte read
	CF set on error (no data available or caller is not remote user)
Note:	used to read data after placing console in mode 2 or 3 (see AH=C5h)
SeeAlso: AH=C5h,AH=C6h,AH=C8h

Top
7FC8 - INT 7F - Alloy MW386 - READ CONSOLE DATA INTO BUFFER
INT 7F - Alloy MW386 - READ CONSOLE DATA INTO BUFFER
	AH = C8h
	AL = maximum bytes to read
	ES:DI -> buffer for console data
Return: CF clear if successful
	    CX = number of bytes read
	CF set on error (caller is not remote user)
SeeAlso: AH=C7h

Top
7FCF - INT 7F - Alloy NTNX - REBOOT USER PROCESSOR
INT 7F - Alloy NTNX - REBOOT USER PROCESSOR
	AH = CFh
	DS:DX -> ASCIZ string containing user number to be reset
SeeAlso: AH=D6h

Top
7FD6 - INT 7F - Alloy MW386 - RESET NETWORK EXECUTIVE
INT 7F - Alloy MW386 - RESET NETWORK EXECUTIVE
	AH = D6h
	DS:DX -> reset packet (see #03970)
Return: never if successful
Note:	all users will be shut down immediately if successful
SeeAlso: AH=CFh

Format of Alloy MW386 reset packet:
Offset	Size	Description	(Table 03970)
 00h	DWORD	reset code (60606060h)
 04h 16 BYTEs	ASCIZ supervisor password padded with nulls

Top
7FD7 - INT 7F - Alloy MW386 - POST EVENT
INT 7F - Alloy MW386 - POST EVENT
	AH = D7h
	AL = user number (if local event)
	DX = event number

Top
7FD8 - INT 7F - Alloy MW386 - FLUSH DISK BUFFERS
INT 7F - Alloy MW386 - FLUSH DISK BUFFERS
	AH = D8h
Return: CF set on error
Note:	forces all disk buffers to be written out immediately
SeeAlso: INT 21/AH=0Dh,INT 21/AX=5D01h,INT 2F/AX=1120h

Top
7FDB - INT 7F - Alloy MW386 v2+ - GET MW386 INVOCATION DRIVE
INT 7F - Alloy MW386 v2+ - GET MW386 INVOCATION DRIVE
	AH = DBh
Return: AL = drive from which MW386 was started (2=C:,3=D:,etc)

Top
7FE0 - INT 7F - Alloy MW386 - CREATE DOS TASK
INT 7F - Alloy MW386 - CREATE DOS TASK
	AH = E0h
	AL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
	DS:DX -> ASCIZ task name (max 16 bytes)
Return: CF clear if successful
	    AL = task create ID
	CF set on error
Note:	only foreground DOS tasks can use this function
SeeAlso: AH=E1h,AH=E2h,AH=E3h,AH=E6h,AH=E7h

Top
7FE1 - INT 7F - Alloy MW386 - GET DOS TASK PID FROM CREATE ID
INT 7F - Alloy MW386 - GET DOS TASK PID FROM CREATE ID
	AH = E1h
	AL = create ID (from AH=E0h)
Return: AL = DOS process number
	CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
Note:	this function should not be called immediately after creating a new
	  DOS task, since the new task is being initialized by a concurrent
	  process
SeeAlso: AH=E0h,AH=E2h

Top
7FE2 - INT 7F - Alloy MW386 - SWITCH TO NEW DOS TASK
INT 7F - Alloy MW386 - SWITCH TO NEW DOS TASK
	AH = E2h
	AL = DOS process number (from AH=E1h)
Return: CF set on error (invalid process number or caller not foreground task)
Notes:	specified task becomes the foreground task and current task is placed
	  in the background
	may only be called by a foreground task
SeeAlso: AH=E0h,AH=E1h

Top
7FE3 - INT 7F - Alloy MW386 - CHANGE NAME OF DOS TASK
INT 7F - Alloy MW386 - CHANGE NAME OF DOS TASK
	AH = E3h
	DS:DX -> ASCIZ task name
---v1.x---
	AL = user number
---v2+---
	BH = user number
	BL = task number
Return: CF clear if successful
	CF set on error (invalid process number)
SeeAlso: AH=E0h,AH=E4h,AH=E5h

Top
7FE4 - INT 7F - Alloy MW386 - GET TASK NAME FROM PROCESS NUMBER
INT 7F - Alloy MW386 - GET TASK NAME FROM PROCESS NUMBER
	AH = E4h
	ES:DI -> buffer for task name
---v1.x---
	AL = user number
---v2+---
	BH = user number
	BL = task number
Return: CF clear if successful
	    CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
	    DX = task flags
		bit 7: MS-DOS process
	    ES:DI buffer filled
	CF set on error (invalid process number)
SeeAlso: AH=E3h,AH=E5h

Top
7FE5 - INT 7F - Alloy MW386 - GET PROCESS NUMBER FROM TASK NAME
INT 7F - Alloy MW386 - GET PROCESS NUMBER FROM TASK NAME
	AH = E5h
	DS:DX -> ASCIZ task name
	BH = user number
Return: CF clear if successful
	    AL = DOS process number
	    CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
	CF set on error (no match for name)
SeeAlso: AH=E3h,AH=E4h

Top
7FE6 - INT 7F - Alloy MW386 - GET NUMBER OF AVAILABLE USER TASKS
INT 7F - Alloy MW386 - GET NUMBER OF AVAILABLE USER TASKS
	AH = E6h
Return: AX = number of processes available to current user
SeeAlso: AH=E0h

Top
7FE7 - INT 7F - Alloy MW386 - REMOVE DOS TASK
INT 7F - Alloy MW386 - REMOVE DOS TASK
	AH = E7h
	AL = DOS process number
Return: CF clear if successful
	CF set on error (invalid process number or first process)
Note:	can only be called by a foreground task
SeeAlso: AH=E0h

Top
7FE8 - INT 7F - Alloy MW386 - DOS TASK DELAY
INT 7F - Alloy MW386 - DOS TASK DELAY
	AH = E8h
	CX = delay time in milliseconds
Note:	a delay of 0 may be used to surrender the current time slice
SeeAlso: INT 15/AX=1000h,INT 1A/AX=FF01h,INT 21/AH=EEh"DoubleDOS"
SeeAlso: INT 2F/AX=1680h

Top
7FF0 - INT 7F - Alloy MW386 - RESTRICT DIRECTORY TO GROUP
INT 7F - Alloy MW386 - RESTRICT DIRECTORY TO GROUP
	AH = F0h
	AL = group number
	DS:DX -> ASCIZ directory name
Return: CF clear if successful
	    AX = status
		0002h directory not found
		0003h directory not found
		0005h directory in use, cannot be restricted
		02xxh restricted to group xxh
	CF set on error
Note:	the restriction on the directory may be removed by calling this
	  function with group 0, then using AH=F1h to assign the directory to
	  group 0
SeeAlso: AH=F1h,AH=F2h,AH=F3h

Top
7FF1 - INT 7F - Alloy MW386 - ASSIGN DIRECTORY TO GROUP
INT 7F - Alloy MW386 - ASSIGN DIRECTORY TO GROUP
	AH = F1h
	AL = group number
	DS:DX -> ASCIZ directory name
Notes:	performs permanent assignment to a group; no immediate action is taken
	  unless the directory has been restricted with AH=F0h
	may be used to restrict a nonexistent directory
SeeAlso: AH=F0h

Top
7FF2 - INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY
INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY
	AH = F2h
	CX = entry number
	ES:DI -> 64-byte buffer
Return: CF clear if successful
	    buffer filled with 63-byte directory info and 1-byte group number
	CF set on error (invalid entry)
SeeAlso: AH=F0h,AH=F3h

Top
7FF3 - INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY FOR GROUP
INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY FOR GROUP
	AH = F3h
	AL = group number
	CX = entry number
	ES:DI -> 64-byte buffer
Return: CF clear if successful
	    CX = next entry number
	    buffer filled with 63-byte directory info and 1-byte group number
	CF set on error (no more matching entries)
Note:	like AH=F2h, but only returns directories belonging to the specified
	  group
SeeAlso: AH=F2h

Top
7FF8 - INT 7F - Alloy MW386 - ASSIGN USER TO GROUP
INT 7F - Alloy MW386 - ASSIGN USER TO GROUP
	AH = F8h
	AL = group number
	DL = user number
	DH = machine number (currently 00h)
Return: CF clear if successful
	CF set on error (user already in maximum number of groups)
Note:	each user is allowed eight group assignments
SeeAlso: AH=F9h,AH=FAh

Top
7FF9 - INT 7F - Alloy MW386 - REMOVE USER FROM GROUP
INT 7F - Alloy MW386 - REMOVE USER FROM GROUP
	AH = F9h
	AL = group number
	DL = user number
	DH = machine number (currently 00h)
Return: CF clear if successful
	CF set if failed
SeeAlso: AH=F8h,AH=FAh

Top
7FFA - INT 7F - Alloy MW386 - GET USER GROUP LIST
INT 7F - Alloy MW386 - GET USER GROUP LIST
	AH = FAh
	DL = user number
	DH = machine number (currently 00h)
	ES:DI -> 16-byte buffer for group list
Return: CX = number of groups
	ES:DI buffer filled with group numbers
SeeAlso: AH=F8h,AH=F9h

Top
7FFB - INT 7F - Alloy MW386 - ASSIGN GROUP NAME
INT 7F - Alloy MW386 - ASSIGN GROUP NAME
	AH = FBh
	CL = group number
	ES:DI -> ASCIZ group name (max 17 bytes)
SeeAlso: AH=FCh

Top
7FFC - INT 7F - Alloy MW386 - GET GROUP NAME
INT 7F - Alloy MW386 - GET GROUP NAME
	AH = FCh
	CL = group number
	ES:DI -> 17-byte buffer for ASCIZ name
Return: ES:DI buffer filled
Note:	if the group has not been named, "(unnamed)" is returned
SeeAlso: AH=FBh

Top
80 - INT 80 - Q-PRO4 - ???
INT 80 - Q-PRO4 - ???

Top
80 - INT 80 - reserved for BASIC
INT 80 - reserved for BASIC
Note:	this vector and INT 81 through INT ED are modified but not restored by
	  Direct Access v4.0, and may be left dangling by other programs
	  written with the same version of compiled BASIC
SeeAlso: INT 81"BASIC",INT 86"BASIC",INT EF"BASIC"

Top
80 - INT 80 - Phar Lap 386|DOS-Extender - RELOCATED PRINT-SCREEN
INT 80 - Phar Lap 386|DOS-Extender - RELOCATED PRINT-SCREEN
Note:	the extender relocates INT 05 to here by default, but can be told to
	  leave INT 05 alone with the commandline (or DOSX= environment
	  variable) flag -PRIVEC 5
SeeAlso: INT 05"PRINT SCREEN"

Top
80 - INT 80 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
INT 80 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
Note:	the factory-default location for the eight bytes of scratchpad RAM
	  needed by the SCSI adapter is 0000h:0200h, which is interrupt
	  vectors 80h and 81h
SeeAlso: INT 81"BusLogic"

Top
80 - INT 80 - Linux - SYSTEM CALLS
INT 80 - Linux - SYSTEM CALLS
	parameters in registers

(Table 04086)
Values for system call number:
 00h	???
 01h	exit
 02h	fork
 03h	read
 04h	write
 05h	open
 06h	close
 07h	waitpid
 08h	creat
 09h	link
 0Ah	unlink
 0Bh	execve
 0Ch	chdir
 0Dh	time
 0Eh	mknod
 0Fh	chmod
 10h	lchown
 11h	break
 12h	oldstat (obsolete)
 13h	lseek
 14h	getpid
 15h	mount
 16h	umount
 17h	setuid
 18h	getuid
 19h	stime
 1Ah	ptrace
 1Bh	alarm
 1Ch	oldfstat
 1Dh	pause
 1Eh	utime
 1Fh	stty
 20h	gtty
 21h	access
 22h	nice
 23h	ftime
 24h	sync
 25h	kill
 26h	rename
 27h	mkdir
 28h	rmdir
 29h	dup
 2Ah	pipe
 2Bh	times
 2Ch	prof
 2Dh	brk
 2Eh	setgid
 2Fh	getgid
 30h	signal
 31h	geteuid
 32h	getegid
 33h	acct
 34h	umount2
 35h	lock
 36h	ioctl
 37h	fcntl
 38h	mpx
 39h	setpgid
 3Ah	ulimit
 3Bh	oldolduname (obsolete)
 3Ch	umask
 3Dh	chroot
 3Eh	ustat
 3Fh	dup2
 40h	getppid
 41h	getpgrp
 42h	setsid
 43h	sigaction
 44h	sgetmask
 45h	ssetmask
 46h	setreuid
 47h	setregid
 48h	sigsuspend
 49h	sigpending
 4Ah	sethostname
 4Bh	setrlimit
 4Ch	getrlimit
 4Dh	getrusage
 4Eh	gettimeofday
 4Fh	settimeofday
 50h	getgroups
 51h	setgroups
 52h	select
 53h	symlink
 54h	oldlstat (obsolete)
 55h	readlink
 56h	uselib
 57h	swapon
 58h	reboot
 59h	readdir
 5Ah	mmap
 5Bh	munmap
 5Ch	truncate
 5Dh	ftruncate
 5Eh	fchmod
 5Fh	fchown
 60h	getpriority
 61h	setpriority
 62h	profil
 63h	statfs
 64h	fstatfs
 65h	ioperm
 66h	socketcall
 67h	syslog
 68h	setitimer
 69h	getitimer
 6Ah	stat
 6Bh	lstat
 6Ch	fstat
 6Dh	olduname (obsolete)
 6Eh	iopl
 6Fh	vhangup
 70h	idle
 71h	vm86old
 72h	wait4
 73h	swapoff
 74h	sysinfo
 75h	ipc
 76h	fsunc
 77h	sigreturn
 78h	clone
 79h	setdomainname
 7Ah	uname
 7Bh	modify_ldt
 7Ch	adjtimex
 7Dh	mprotect
 7Eh	sigprocmask
 7Fh	create_module
 80h	init_module
 81h	delete_module
 82h	get_kernel_syms
 83h	quotactl
 84h	getpgid
 85h	fchdir
 86h	bdflush
 87h	sysfs
 88h	personality
 89h	afs_syscall
 8Ah	setfsuid
 8Bh	setfsgid
 8Ch	llseek
 8Dh	getdents
 8Eh	newselect
 8Fh	flock
 90h	msync
 91h	readv
 92h	writev
 93h	getsid
 94h	fdatasync
 95h	sysctl
 96h	mlock
 97h	munlock
 98h	mlockall
 99h	munlockall
!!! http://home.snafu.de/phpr/lhpsysc0.html

Top
80 - INT 80 - FreeBSD - SYSTEM CALLS
INT 80 - FreeBSD - SYSTEM CALLS
	parameters on stack

Top
80 - INT 80 U - AMI BIOS v1.00.12.AX1T - internal - BIOS SUBSYSTEM SELECTION
INT 80 U - AMI BIOS v1.00.12.AX1T - internal - BIOS SUBSYSTEM SELECTION
	AH = function
	    00h install and initialize BIOS subsystem
		AL = ??? (00h,01h,03h)
		CX:BX = subsystem ID (see #03971)
		ESI = address from which to load, or 00000000h for default for
			subsystem
		EDI = physical address at which to install, or 0 for default
		Note:	if CX=0000h on entry, this call is applied to all
			  subsystems whose ID has low word BX
	    01h get BIOS subsystem information
		CX:BX = subsystem ID (see #03971)
		Return: AL = ???
			AH = ???
			EDX = uncompressed size of subsystem in bytes
			SI = offset within subsystem of initialization
				routine, or FFFFh if none
			EDI = physical address of default location or 0
	    02h get matching subsystem identifier
		AL = index into subsystem list (return ALth occurrence
		      matching BX)
		BX = low word of subsystem identifier
			(0001h,0002h,0004h,0005h,000Bh,FFFFh)
		Return: CF clear if successful
			    CX = high word of ALth matching subsystem
			CF set on error
		Note:	the system is halted if AL=00h on entry
	    03h set up "big real" mode (4G segment limits)
	    04h turn off "big real" mode (restore 64K segment limits)
	    05h remove BIOS subsystem
		CX:BX = subsystem ID to leave out
		Note:	the system is halted if an invalid (not installed)
			  subsystem ID is specified
	    06h get installed subsystem info
		CX:BX = subsystem ID (see #03971)
		Return:	CF clear
			EDX = length of ???
			EDI = linear address of start of ???
		Note:	the system is halted if an invalid (not installed)
			  subsystem ID is specified
Return: CF clear if successful
	CF set on non-fatal error
Note:	this interrupt vector is cleared to 0000h:0000h near the end of the
	  BIOS startup sequence

(Table 03971)
Values for AMI BIOS subsystem ID:
 00010001h	ROM BIOS @F000-FFFF
 00010002h	setup??? (loaded @6000-68FF)
 00010005h	APM code
 0001000Bh	language-specific error message set (English)
 00020002h	PnP/PCI ACFG code (loaded @F000-F1FF)
 0001FFFFh
 0002FFFFh	recovery code
 00030004h
 0003FFFFh	BIOS decompression code
 0004000Bh
 00060004h
 0100FFFFh	ACFG data
 10000000h	ROM @C000 (64K)
 10000001h	HMA (48K)
 10000002h	RAM @7A00 (24K)
 10000003h	RAM @8000-BFFF
 10000004h
 10000005h	real-mode address space (0-1M)
 1000000Bh	installed language-specific message set???

Top
80----BL00 - INT 80 - SBSIM - "STARTSND" - START SOUND ON SPECIFIED DRIVER
INT 80 - SBSIM - "STARTSND" - START SOUND ON SPECIFIED DRIVER
	BL = 00h
	BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
Return: AX = initialization result (see #03972)
Program: SBSIM is Creative Labs' SoundBlaster Simplified Interface Module,
	  which provides access to multiple drivers for the SoundBlaster
	  board through a single interface
Range:	INT 80h to INT BFh, selected automatically
Note:	the SBSIM installation check consists of testing for the signature
	  "SBSIM" at offset 103h in the interrupt handler's segment.
SeeAlso: INT 80/BL=01h"SBSIM",INT 80/BL=02h"SBSIM",INT 80/BL=03h"SBSIM"
SeeAlso: INT 80/BX=0000h"SBSIM"

(Table 03972)
Values for SBSIM error code:
 01h	busy--currently in use
 02h	bad driver specified
 03h	invalid function
 04h	voice process already active
 05h	couldn't start CT-VOICE
 06h	couldn't start CTVDSK
 07h	invalid SBSIM handle
 08h	buffer not initialized yet
 09h	bad filename
 0Ah	bad file handle
 0Bh	driver not started yet
 0Ch	XMS driver not installed
 0Dh	no free SBSIM handles
 0Eh	bad file type
 0Fh	couldn't free XMS block
 10h	invalid source selected
 11h	get pan position failed
 12h	set pan position failed
 13h	set volume failed
 14h	couldn't start fade/pan
 15h	couldn't stop fade/pan
 16h	couldn't pause fade/pan
 17h	not a fade/pan operation
 18h	bad mode for fade/pan
 19h	couldn't start fade/pan
 1Ah	source not fading/panning
 1Bh	FM or MIDI already playing
 1Ch	bad MIDI mapper format

Top
80----BL01 - INT 80 - SBSIM - "PLAYSND" - PLAY MUSIC/VOICE ON SELECTED DRIVER
INT 80 - SBSIM - "PLAYSND" - PLAY MUSIC/VOICE ON SELECTED DRIVER
	BL = 01h
	BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
Return: AX = result (see #03972)
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=02h"SBSIM",INT 80/BL=04h"SBSIM"

Top
80----BL02 - INT 80 - SBSIM - "STOPSND" - STOP MUSIC/VOICE ON SELECTED DRIVER
INT 80 - SBSIM - "STOPSND" - STOP MUSIC/VOICE ON SELECTED DRIVER
	BL = 02h
	BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
Return: nothing
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=01h"SBSIM",INT 80/BL=03h"SBSIM"

Top
80----BL03 - INT 80 - SBSIM - "PAUSESND" - TEMPORARILY PAUSE PLAYBACK ON SELECTED DRIVER
INT 80 - SBSIM - "PAUSESND" - TEMPORARILY PAUSE PLAYBACK ON SELECTED DRIVER
	BL = 03h
	BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
Return: nothing
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=02h"SBSIM",INT 80/BL=04h"SBSIM"
SeeAlso: INT 80/BL=05h

Top
80----BL04 - INT 80 - SBSIM - "RESUMESND" - RESTART PLAYBACK ON SELECTED DRIVER
INT 80 - SBSIM - "RESUMESND" - RESTART PLAYBACK ON SELECTED DRIVER
	BL = 04h
	BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
Return: nothing
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=03h"SBSIM",INT 80/BL=05h"SBSIM"

Top
80----BL05 - INT 80 - SBSIM - "GETSNDSTAT" - GET DRIVER'S STATUS
INT 80 - SBSIM - "GETSNDSTAT" - GET DRIVER'S STATUS
	BL = 05h
	BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
Return: AX = status
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=01h"SBSIM",INT 80/BL=03h"SBSIM"

Top
80----BX0000 - INT 80 - SoundBlaster SBFM driver - GET VERSION
INT 80 - SoundBlaster SBFM driver - GET VERSION
	BX = 0000h
Return: ???
Note:	SBFM installs at a free interrupt in the range 80h through BFh
SeeAlso: BX=0008h"SBFM",INT 2F/AX=FBFBh/ES=0000h

Top
80----BX0000 - INT 80 - SBSIM - "QUERYVERSION" - GET VERSION
INT 80 - SBSIM - "QUERYVERSION" - GET VERSION
	BX = 0000h
Return: AX = version (AH = major, AL = minor)
Program: SBSIM is Creative Labs' SoundBlaster Simplified Interface Module,
	  which provides access to multiple drivers for the SoundBlaster
	  board through a single interface
Range:	INT 80h to INT BFh, selected automatically
Note:	the SBSIM installation check consists of testing for the signature
	  "SBSIM" at offset 103h in the interrupt handler's segment.
SeeAlso: BX=0001h"SBSIM",BX=0005h"SBSIM",INT 21/AX=4402h"CTMMSYS"
SeeAlso: INT 80/BL=00h"SBSIM"
Index:	installation check;SBSIM|installation check;SoundBlaster

Top
80----BX0001 - INT 80 - SoundBlaster SBFM driver - SET MUSIC STATUS BYTE ADDRESS
INT 80 - SoundBlaster SBFM driver - SET MUSIC STATUS BYTE ADDRESS
	BX = 0001h
	DX:AX -> music status byte
SeeAlso: BX=0000h"SBFM",BX=0002h"SBFM",BX=0003h"SBFM"

Top
80----BX0001 - INT 80 - SBSIM - "QUERYDRIVERS" - CHECK DRIVERS INSTALLED
INT 80 - SBSIM - "QUERYDRIVERS" - CHECK DRIVERS INSTALLED
	BX = 0001h
Return: AX = bit flags for loaded drivers (see #03973)
SeeAlso: BX=0000h"SBSIM",BX=0002h"SBSIM",BX=0005h"SBSIM",INT 80/BL=00h"SBSIM"

Bitfields for SBSIM loaded drivers:
Bit(s)	Description	(Table 03973)
 0	FM
 1	double disk-buffered voice driver (DDBV)
 2	memory voice driver
 3	auxiliary driver (mixer)
 4	MIDI

Top
80----BX0002 - INT 80 - SoundBlaster SBFM driver - SET INSTRUMENT TABLE
INT 80 - SoundBlaster SBFM driver - SET INSTRUMENT TABLE
	BX = 0002h
	CX = number of instruments
	DX:AX -> instrument table
SeeAlso: BX=0000h"SBFM",BX=0001h"SBFM",BX=0005h"SBFM"

Top
80----BX0002 - INT 80 - SBSIM - GETADDRESS" - GET SELECTED DRIVER'S ENTRY POINT
INT 80 - SBSIM - GETADDRESS" - GET SELECTED DRIVER'S ENTRY POINT
	BX = 0002h
	AX = driver (00h = FM,01h = DDBV,02h = memvoice,03h = mixer,04h = MIDI)
Return: CF clear if successful
	    DX:AX -> entry point
	CF set on error
SeeAlso: BX=0000h"SBSIM",BX=0001h"SBSIM",BX=0005h"SBSIM",INT 80/BL=00h"SBSIM"

Top
80----BX0003 - INT 80 - SoundBlaster SBFM driver - SET SYSTEM CLOCK RATE
INT 80 - SoundBlaster SBFM driver - SET SYSTEM CLOCK RATE
	BX = 0003h
	AX = clock rate divisor (1193180 / desired frequency in Hertz)
	    FFFFh to restore to 18.2 Hz
SeeAlso: BX=0000h"SBFM",BX=0001h"SBFM",BX=0004h"SBFM"

Top
80----BX0004 - INT 80 - SoundBlaster SBFM driver - SET DRIVER CLOCK RATE
INT 80 - SoundBlaster SBFM driver - SET DRIVER CLOCK RATE
	BX = 0004h
	AX = driver clock rate divisor (1193180 / frequency in Hertz)
Note:	default frequency is 96 Hz
SeeAlso: BX=0000h"SBFM",BX=0003h"SBFM"

Top
80----BX0005 - INT 80 - SoundBlaster SBFM driver - TRANSPOSE MUSIC
INT 80 - SoundBlaster SBFM driver - TRANSPOSE MUSIC
	BX = 0005h
	AX = semi-tone offset
SeeAlso: BX=0000h"SBFM",BX=0002h"SBFM",BX=0006h"SBFM"

Top
80----BX0005 - INT 80 - SBSIM - "GETBUFFERINFO" - GET DRIVER'S BUFFER ADDRESS
INT 80 - SBSIM - "GETBUFFERINFO" - GET DRIVER'S BUFFER ADDRESS
	BX = 0005h
	AX = driver (00h = FM, 01h = DDB Voice, 04h = MIDI)
Return: CF clear if successful
	    DX:AX -> buffer
	    CX = buffer size in K
	CF set on error
Program: SBSIM is Creative Labs' SoundBlaster Simplified Interface Module,
	  which provides access to multiple drivers for the SoundBlaster
	  board through a single interface
Range:	INT 80h to INT BFh, selected automatically
Note:	the SBSIM installation check consists of testing for the signature
	  "SBSIM" at offset 103h in the interrupt handler's segment.
SeeAlso: BX=0000h"SBSIM",BX=0001h"SBSIM",BX=0002h"SBSIM",INT 80/BL=00h"SBSIM"

Top
80----BX0006 - INT 80 - SoundBlaster SBFM driver - PLAY MUSIC
INT 80 - SoundBlaster SBFM driver - PLAY MUSIC
	BX = 0006h
	DX:AX -> music block
Return: AX = status
	    0000h successful
	    0001h music already active
SeeAlso: BX=0000h"SBFM",BX=0007h"SBFM",BX=000Ah"SBFM",INT 1A/AX=FF04h

Top
80----BX0007 - INT 80 - SoundBlaster SBFM driver - STOP MUSIC
INT 80 - SoundBlaster SBFM driver - STOP MUSIC
	BX = 0007h
Return: AX = status
	    0000h successful
	    0001h music not active
SeeAlso: BX=0000h"SBFM",BX=0006h"SBFM",BX=0009h"SBFM",INT 1A/AX=FF05h

Top
80----BX0008 - INT 80 - SoundBlaster SBFM driver - RESET DRIVER
INT 80 - SoundBlaster SBFM driver - RESET DRIVER
	BX = 0008h
Return: AX = status
	    0000h successful
	    0001h music is active
SeeAlso: BX=0000h"SBFM"

Top
80----BX0009 - INT 80 - SoundBlaster SBFM driver - PAUSE MUSIC
INT 80 - SoundBlaster SBFM driver - PAUSE MUSIC
	BX = 0009h
Return: AX = status
	    0000h successful
	    0001h no music active
SeeAlso: BX=0000h"SBFM",BX=0007h"SBFM",BX=000Ah"SBFM",INT 1A/AX=FF01h

Top
80----BX000A - INT 80 - SoundBlaster SBFM driver - RESUME MUSIC
INT 80 - SoundBlaster SBFM driver - RESUME MUSIC
	BX = 000Ah
Return: AX = status
	    0000h successful
	    0001h no music paused
SeeAlso: BX=0000h"SBFM",BX=0006h"SBFM",BX=0009h"SBFM"

Top
80----BX000B - INT 80 - SoundBlaster SBFM driver - SET USER-DEF TRAP FOR SYSTEM-EXCLUSIVE CMDS
INT 80 - SoundBlaster SBFM driver - SET USER-DEF TRAP FOR SYSTEM-EXCLUSIVE CMDS
	BX = 000Bh
	DX:AX -> trap routine
SeeAlso: BX=0000h"SBFM"

Top
80----BX0400 - INT 80 - SBSIM - "GETVOLUME" - GET SOURCE'S VOLUME
INT 80 - SBSIM - "GETVOLUME" - GET SOURCE'S VOLUME
	BX = 0400h
	AX = sound source (see #03974)
Return: CF clear if successful
	    AX = volume
	CF set on error
	    AX = error code (see #03972 at INT 80/BL=00h)
SeeAlso: BX=0401h"SBSIM"

(Table 03974)
Values for SBSIM sound source:
 00h	master volume
 01h	voice
 02h	FM
 03h	CD
 04h	line in
 05h	microphone

Top
80----BX0401 - INT 80 - SBSIM - "SETVOLUME" - SET SOURCE'S VOLUME
INT 80 - SBSIM - "SETVOLUME" - SET SOURCE'S VOLUME
	BX = 0401h
	AX = sound source (see #03974)
	DX = new volume
Return: AX = result (0000h = success) (see also INT 80/BL=00h)
SeeAlso: BX=0400h"SBSIM"

Top
8001 - INT 80 - QPC Software PKTINT.COM - INITIALIZE
INT 80 - QPC Software PKTINT.COM - INITIALIZE
	AH = 01h
Return: AX = 0000h
	CX = FFFFh
	DX = FFFFh
Notes:	this interrupt is the WinQVTNet protected mode interface to Windows 3.0
	all buffer pointers are reset back to 0

Top
8002 - INT 80 - QPC Software PKTINT.COM - GET BUFFER ADDRESSES
INT 80 - QPC Software PKTINT.COM - GET BUFFER ADDRESSES
	AH = 02h
	BX = extra bytes to allocate per packet
Return: AX = segment address of 10K buffer (for receives???)
	BX = segment address of 2K buffer (for sends???)
SeeAlso: AH=05h

Top
8003 - INT 80 - QPC Software PKTINT.COM - GET ENTRY POINT
INT 80 - QPC Software PKTINT.COM - GET ENTRY POINT
	AH = 03h
Return: CX:DX -> receive call address
Note:	the returned address can be used in the packet driver calls since it
	  will be a valid address in all DOS boxes
SeeAlso: AH=06h

Top
8004 - INT 80 - QPC Software PKTINT.COM - ENABLE???
INT 80 - QPC Software PKTINT.COM - ENABLE???
	AH = 04h
	BX = ???
Return: ???
SeeAlso: AH=01h

Top
8005 - INT 80 - QPC Software PKTINT.COM - GET RECEIVE STATISTICS
INT 80 - QPC Software PKTINT.COM - GET RECEIVE STATISTICS
	AH = 05h
Return: AX = amount of buffer currently in use
	BX = current offset in buffer
	CX = number of times receive has been called
SeeAlso: AH=02h

Top
8006 - INT 80 - QPC Software PKTINT.COM - REMOVE RECEIVED PACKET
INT 80 - QPC Software PKTINT.COM - REMOVE RECEIVED PACKET
	AH = 06h
Return: BX = next packet offset
	CX = number of bytes still buffered
	DX = size of packet released back into buffer pool
SeeAlso: AH=03h

Top
81 - INT 81 - reserved for BASIC
INT 81 - reserved for BASIC
Note:	this vector is modified but not restored by Direct Access v4.0, and
	  may be left dangling by other programs written with the same version
	  of compiled BASIC
SeeAlso: INT 80"BASIC",INT 82"BASIC"

Top
81 - INT 81 - IBM TOKEN RING ADAPTER - ???
INT 81 - IBM TOKEN RING ADAPTER - ???
SeeAlso: INT 82"TOKEN RING",INT 91"TOKEN RING"

Top
81 - INT 81 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
INT 81 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
Note:	the factory-default location for the eight bytes of scratchpad RAM
	  needed by the SCSI adapter is 0000h:0200h, which is interrupt
	  vectors 80h and 81h
SeeAlso: INT 80"BusLogic"

Top
81 - INT 81 - AMI WinBIOS - SECOND HARD DRIVE AUTODETECTION
INT 81 - AMI WinBIOS - SECOND HARD DRIVE AUTODETECTION
Notes:	used by WinBIOS with core version of July 1994 or later
	QEMM 7.5 began using this interrupt internally after the QPAT3
	  maintenance release when searching for "ROM holes", causing a
	  lengthy delay during bootup.	Adding the QEMM parameter RH:N will
	  avoid the QEMM call to INT 81 and speed up the boot process

Top
81 - INT 81 - Paragon Technology PTS/DOS 6.5x, S/DOS 1.0 - API
INT 81 - Paragon Technology PTS/DOS 6.5x, S/DOS 1.0 - API

Top
810200 - INT 81 - Gravis UltraSound - MegaEm - PROCESS COMMAND LINE
INT 81 - Gravis UltraSound - MegaEm - PROCESS COMMAND LINE
	AX = 0200h
	BX = PSP segment
	SI = ??? (data area)
Return: AX = status (see #03975)
	BL = emulation state
	    bit 1   Emulation is on
	    bit 2   Emulation is off
Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
	  emulator for the Gravis UltraSound
Range:	INT 81 to INT FF (see INT 21/AX=FD12h), selected by scanning for an
	  interrupt with vector 0000h:0000h
SeeAlso: AX=0202h,AX=0300h,AX=0400h,INT 21/AX=FD12h/BX=3457h

(Table 03975)
Values for MegaEm status:
 0000h	successful
 0001h	invalid command line optie
 0002h	display options
 0003h	???
 0004h	invalid number of voices specified
 0005h	could not load enough patches to provide acceptable emulation
 0006h	to many warnings on patch loading
 0007h	??? (not used anymore)
 0008h	/CO and SCSI don't work together
 0009h	invalid music volume
 000Ah	invalid master volume
 000Bh	/SC switch is no longer valid
 0100h	??? (some error on patch loading)

Top
810202 - INT 81 - Gravis UltraSound - MegaEm - ???
INT 81 - Gravis UltraSound - MegaEm - ???
	AX = 0202h
Return: AX = ???
SeeAlso: AX=0200h,AX=0300h,AX=0400h,INT 21/AX=FD12h/BX=3457h

Top
810300 - INT 81 - Gravis UltraSound - MegaEm - LOAD SAMPLE ???
INT 81 - Gravis UltraSound - MegaEm - LOAD SAMPLE ???
	AX = 0300h
Return: AX = ???
SeeAlso: AX=0200h,AX=0202h,AX=0400h,INT 21/AX=FD12h/BX=3457h

Top
810400 - INT 81 - Gravis UltraSound - MegaEm - ???
INT 81 - Gravis UltraSound - MegaEm - ???
	AX = 0400h
	BX = ??? (segment)
Return: AX = ???
	BX = ???
Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
	  emulator for the Gravis UltraSound
SeeAlso: AX=0200h,AX=0202h,AX=0300h,INT 21/AX=FD12h/BX=3457h

Top
812010 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - INT 78 REDIRECT
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - INT 78 REDIRECT
	AX = 2010h
	???
Return: ???
Note:	MegaEm calls this function from its INT 78 handler, and then
	  immediately returns (via RETF in v3.10, thus leaving the flags on
	  the stack); this permits it to operate while hooking only one
	  interrupt through the memory manager in protected mode
SeeAlso: AX=2011h,AX=2012h

Top
812011 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - NMI REDIRECT
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - NMI REDIRECT
	AX = 2011h
	???
Return: ???
Note:	MegaEm calls this function from its NMI (INT 02) handler, and then
	  immediately returns; this permits it to operate while hooking only
	  one interrupt through the memory manager in protected mode
SeeAlso: AX=2010h,AX=2012h

Top
812012 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - SOUNDCARD IRQ REDIRECT
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - SOUNDCARD IRQ REDIRECT
	AX = 2012h
	???
Return: ???
Note:	MegaEm calls this function from its GUS IRQ handler, and then
	  immediately returns; this permits it to operate while hooking only
	  one interrupt through the memory manager in protected mode
SeeAlso: AX=2010h,AX=2011h

Top
812015 - INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - ???
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - ???
	AX = 2015h
	???
Return: ???

Top
82 - INT 82 - reserved for BASIC
INT 82 - reserved for BASIC
SeeAlso: INT 81"BASIC",INT 83"BASIC"

Top
82 - INT 82 - IBM TOKEN RING ADAPTER - ???
INT 82 - IBM TOKEN RING ADAPTER - ???
	AH = function
	    00h display message???
		DS:BX -> string
	???
Return: ???
SeeAlso: INT 81"TOKEN RING",INT 91"TOKEN RING"

Top
83 - INT 83 - reserved for BASIC
INT 83 - reserved for BASIC
SeeAlso: INT 82"BASIC",INT 84"BASIC"

Top
8300 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 00h
	???
Return: CF clear (successful)
	AX = ??? (0302h)
Program: JM Pro Tracker is a public-domain resident .MOD (digital music)
	  player by Josha Munnik

(Table 03976)
Values for JM Pro Tracker error code:
 000Ah	???
 000Bh	???
 0014h	???
 001Eh	some required parameters have not yet been set
 001Fh	already playing???
 FExxh	busy (API call already in progress)
 FFxxh	invalid function number

Top
8301 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 01h
	DX = ??? or FFFFh
	???
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03976)

Top
8302 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 02h
	BX = ???
	???
Return: CF clear if successful
	    AX = ???
	    BX = ???
	    CX = ???
	    DX = ???
	    SI = ???
	CF set on error
	    AX = error code (000Ah,000Bh,other) (see #03976)

Top
8303 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 03h
	BX = ??? (only low four bits, must be nonzero)
	CX = ???
	???
Return: CF clear if successful
	CF set on error
	    AX = error code (0014h) (see #03976)

Top
8304 - INT 83 - JM Pro Tracker v5.0 - SET DMA BUFFER???
INT 83 - JM Pro Tracker v5.0 - SET DMA BUFFER???
	AH = 04h
	CX = number of bytes in suggested buffer
	ES:DI -> suggested buffer for DMA transfers???
Return: CF clear if successful
	    ES:AX -> actual buffer (filled with bytes of 80h)
	    CX = actual length (multiple of 4)
	CF set on error
	    AX = error code (see #03976)
Note:	the buffer must not cross a 64K DMA page boundary

Top
8305 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
	AH = 05h
	CX = length of buffer
	ES:DI -> buffer for/containing ???
Return: CF clear (successful)
SeeAlso: AH=06h,AH=07h,AH=18h

Top
8306 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
	AH = 06h
	CX = length of buffer
	ES:DI -> buffer for/containing ???
Return: CF clear (successful)
SeeAlso: AH=05h,AH=07h,AH=18h

Top
8307 - INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
	AH = 07h
	BX = ???
	CX = length of buffer
	ES:DI -> buffer for/containing ???
Return: CF clear (successful)
SeeAlso: AH=05h,AH=06h,AH=18h

Top
8308 - INT 83 - JM Pro Tracker v5.0 - START PLAYING???
INT 83 - JM Pro Tracker v5.0 - START PLAYING???
	AH = 08h
	???
Return: CF clear if successful
	   ???
	CF set on error
	    AX = error code (001Eh,001Fh) (see #03976)
SeeAlso: AH=09h,AH=0Ah

Top
8309 - INT 83 - JM Pro Tracker v5.0 - PAUSE???
INT 83 - JM Pro Tracker v5.0 - PAUSE???
	AH = 09h
	???
Return: CF clear if successful
	CF set on error
	    AX = error code (see #03976)
SeeAlso: AH=08h,AH=0Ah

Top
830A - INT 83 - JM Pro Tracker v5.0 - RESUME???
INT 83 - JM Pro Tracker v5.0 - RESUME???
	AH = 0Ah
	???
Return: CF clear if successful
	CF set on error
	    AX = error code (001Fh) (see #03976)
SeeAlso: AH=08h,AH=09h

Top
830B - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 0Bh
	BX = ???
	???
Return: CF clear if successful
	CF set on error

Top
830C - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 0Ch
	DX bit 5 = ???
	???
Return: CF clear if successful
	    BX = ??? (FFFFh)
	    CX = ??? (0000h)
	    DX = ???
	CF set on error
	    AX = error code (see #03976)

Top
830D - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 0Dh
	BX = ???
	???
Return: CF clear (successful)

Top
830E - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 0Eh
	BX = ??? (ignored if ES:DI = 0000h:0000h)
	ES:DI -> ??? or 0000h:0000h
Return: CF clear (successful)

Top
830F - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 0Fh
	???
Return: CF clear if successful
	    AX = ???
	CF set on error
	    AX = error code (see #03976)

Top
8310 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 10h
	BL = subfunction???
	CX = ???
	DX = ???
	???
Return: CF clear if successful
	    CX = DX = ???
	CF set on error
	    AX = error code (see #03976)
SeeAlso: AH=18h

Top
8311 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 11h
	BL = ???
	CX = ???
Return: CF clear (successful)

Top
8312 - INT 83 - JM Pro Tracker v5.0 - CLEAR ???
INT 83 - JM Pro Tracker v5.0 - CLEAR ???
	AH = 12h
Return: nothing

Top
8313 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 13h
	BX = ???
Return: CF clear (successful)

Top
8314 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 14h
	???
Return: CF clear (successful)
	BX = ???

Top
8315 - INT 83 - JM Pro Tracker v5.0 - GET ???
INT 83 - JM Pro Tracker v5.0 - GET ???
	AH = 15h
	BX = what to get (zero/nonzero)
Return: CF clear if successful
	    BX = ???
	    DX = ???
	CF set on error
	    AX = error code (see #03976)

Top
8316 - INT 83 - JM Pro Tracker v5.0 - ???
INT 83 - JM Pro Tracker v5.0 - ???
	AH = 16h
	AL = subfunction
	    00h ???
		Return: BX = ???
			CX = ???
			DX = ???
			ES:DI -> ???
			CF indicates ???
	    01h ???
		Return: BX = ???
			CX = ???
			DX = ???
Return: CF clear if successful
	CF set on error
	    AX = error code (FFxxh) (see #03976)

Top
8317 - INT 83 - JM Pro Tracker v5.0 - UNHOOK API INTERRUPT
INT 83 - JM Pro Tracker v5.0 - UNHOOK API INTERRUPT
	AH = 17h
Return: CF clear if successful
	CF set on error (hooked by another program)

Top
8318 - INT 83 - JM Pro Tracker v5.0 - SET BUFFERS
INT 83 - JM Pro Tracker v5.0 - SET BUFFERS
	AH = 18h
	ES:DI -> buffer-pointer structure (see #03977)
Return: nothing
SeeAlso: AH=05h,AH=06h,AH=07h,AH=10h

Format of JM Pro Tracker buffer-pointer structure:
Offset	Size	Description	(Table 03977)
 00h	WORD	length of ??? buffer (see AH=05h)
 02h	DWORD	-> ??? buffer (see AH=05h)
 06h	WORD	length of ??? buffer (see AH=06h)
 08h	DWORD	-> ??? buffer (see AH=06h)
 0Ch	WORD	length of ??? buffer (see AH=07h)
 0Eh	DWORD	-> ??? buffer (see AH=07h)
 12h	WORD	??? (see AH=07h)
 14h	WORD	??? (see AH=10h) (subfunction 01h)
 16h	WORD	??? (see AH=10h) (subfunction 01h)
 18h	WORD	??? (see AH=10h) (subfunction 00h)
 1Ah	WORD	??? (see AH=10h) (subfunction 01h)

Top
84 - INT 84 - reserved for BASIC
INT 84 - reserved for BASIC
SeeAlso: INT 83"BASIC",INT 85"BASIC"

Top
85 - INT 85 - reserved for BASIC
INT 85 - reserved for BASIC
Note:	INT 80 through INT ED are modified but not restored by Direct Access
	  v4.0, and may be left dangling by other programs written with the
	  same version of compiled BASIC
SeeAlso: INT 84"BASIC",INT 86"BASIC"

Top
86 - INT 86 - NetBIOS - ORIGINAL INT 18
INT 86 - NetBIOS - ORIGINAL INT 18
Note:	some implementations of NetBIOS reportedly relocate INT 18 here
SeeAlso: INT 18"BOOT HOOK"

Top
86 - INT 86 - IBM ROM BASIC - used while in interpreter
INT 86 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 85"BASIC",INT 87"BASIC"

Top
86 - INT 86 - APL*PLUS/PC - Terminate APL session and return to DOS
INT 86 - APL*PLUS/PC - Terminate APL session and return to DOS
SeeAlso: INT 21/AH=4Ch,INT 87"APL"

Top
87 - INT 87 - IBM ROM BASIC - used while in interpreter
INT 87 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 86"BASIC",INT 88"BASIC"

Top
87 - INT 87 - APL*PLUS/PC - ???
INT 87 - APL*PLUS/PC - ???
SeeAlso: INT 86"APL",INT 88/AL=00h

Top
87 - INT 87 - VIRUS - "ZeroHunt" - VIRAL CODE (NOT A VECTOR!)
INT 87 - VIRUS - "ZeroHunt" - VIRAL CODE (NOT A VECTOR!)
Note:	the ZeroHunt virus copies its resident code down to 0000h:021Ch and
	  following
SeeAlso: INT 8B"VIRUS"

Top
88 - INT 88 - IBM ROM BASIC - used while in interpreter
INT 88 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 87"BASIC",INT 89"BASIC"

Top
88 - INT 88h - WANG PC - GET CONFIGURATION
INT 88h - WANG PC - GET CONFIGURATION
	 AL = get info type
	     01h Get System Console
		Return: ES:BX -> Configuration structure (see #04089)
	     else: ???
SeeAlso: PORT 1010h"Wang",MEM F000h:0000h,MEM FC00h:3FC2h,INT 21/AX=4402h

Format of Wang PC System Console configuration structure:
Offset	Size	Description	(Table 04089)
 00h	WORD	version
 02h	WORD	memory size
 04h  2 WORDs	reserved
 08h	WORD	number of screens (1..4)
 0Ah  4 WORDs	offset of console screen info structure 1..4 within
		  configuration structure's segment (ES) (see #04090)

Format of Wang PC Screen Info structure:
Offset	Size	Description	(Table 04090)
 00h	BYTE	state
		(bit 7 set appears to indicate the active console that is
		  currently attached to the screen)
 01h	BYTE	scanoff
 02h	WORD	buffer segment
 04h	BYTE	colors
 05h	BYTE	row
 06h	BYTE	column
 07h	BYTE	attribute
		00h = ???
		02h = ???
		0Fh = white on black
 08h	BYTE	auxiliary mode
 09h	BYTE	auxiliary mode 2
SeeAlso: #04089

Top
88--00 - INT 88 - APL*PLUS/PC - CREATE OBJECT OF ARBITRARY RANK OR SHAPE
INT 88 - APL*PLUS/PC - CREATE OBJECT OF ARBITRARY RANK OR SHAPE
	AL = 00h
	BX = STPTR of the variable to be assigned
	ES:SI -> model of type, rank, and shape (see #03978)
Return: ES:DI -> first data byte of object
	DX:CX = number of elements in the object
SeeAlso: INT 88/AL=01h,INT 88/AL=08h,INT C8"APL"

Format of APL*PLUS/PC shape model:
Offset	Size	Description	(Table 03978)
 00h	BYTE	type
		01h character (2-byte dimension sizes)
		02h integer (2-byte dimension sizes)
		08h floating point (2-byte dimension sizes)
		11h character (4-byte dimension sizes)
		12h integer (4-byte dimension sizes)
		18h floating point (4-byte dimension sizes)
 01h	BYTE	rank
 02h	(D)WORD first dimension of shape
 N	(D)WORD second dimension of shape
	...

Top
88--01 - INT 88 - APL*PLUS/PC - CREATE CHARACTER SCALAR/VECTOR/MATRIX <64K IN SIZE
INT 88 - APL*PLUS/PC - CREATE CHARACTER SCALAR/VECTOR/MATRIX <64K IN SIZE
	AL = 01h
	AH = rank
	BX = STPTR of the variable to be assigned
	CX = first dimension (if any)
	DX = second dimension (if any)
Return: ES:DI -> object
	CX = number of elements in the object
Note:	each dimension must be 32767 or smaller
SeeAlso: AL=00h,AL=02h,AL=08h,INT C8"APL"

Top
88--02 - INT 88 - APL*PLUS/PC - CREATE INTEGER SCALAR/VECTOR/MATRIX <64K IN SIZE
INT 88 - APL*PLUS/PC - CREATE INTEGER SCALAR/VECTOR/MATRIX <64K IN SIZE
	AL = 02h
	AH = rank
	BX = STPTR of the variable to be assigned
	CX = first dimension (if any)
	DX = second dimension (if any)
Return: ES:DI -> object
	CX = number of elements in the object
Note:	each dimension must be 32767 or smaller
SeeAlso: AL=01h,AL=08h,INT C8"APL"

Top
88--08 - INT 88 - APL*PLUS/PC - CREATE FLOATING POINT SCALAR/VECTOR/MATRIX <64K IN SIZE
INT 88 - APL*PLUS/PC - CREATE FLOATING POINT SCALAR/VECTOR/MATRIX <64K IN SIZE
	AL = 08h
	AH = rank
	BX = STPTR of the variable to be assigned
	CX = first dimension (if any)
	DX = second dimension (if any)
Return: ES:DI -> object
	CX = number of elements in the object
Note:	each dimension must be 32767 or smaller
SeeAlso: AL=01h,AL=02h,INT C8"APL"

Top
88--F5 - INT 88 - APL*PLUS/PC - FORCE OBJECT INTO REAL WORKSPACE FROM VIRTUAL
INT 88 - APL*PLUS/PC - FORCE OBJECT INTO REAL WORKSPACE FROM VIRTUAL
	AL = F5h
	BX = STPTR of object
SeeAlso: INT C8"APL"

Top
88--F6 - INT 88 - APL*PLUS/PC - MAKE NAME IMMUNE FROM OUTSWAPPING
INT 88 - APL*PLUS/PC - MAKE NAME IMMUNE FROM OUTSWAPPING
	AL = F6h
	BX = STPTR of object
SeeAlso: AL=F7h,AL=F8h,INT C8"APL"

Top
88--F7 - INT 88 - APL*PLUS/PC - MAKE NAME ELIGIBLE FOR OUTSWAPPING
INT 88 - APL*PLUS/PC - MAKE NAME ELIGIBLE FOR OUTSWAPPING
	AL = F7h
	BX = STPTR of object
SeeAlso: AL=F6h,AL=F8h,INT C8"APL"

Top
88--F8 - INT 88 - APL*PLUS/PC - REPORT WHETHER NAME IS ELIGIBLE FOR OUTSWAPPING
INT 88 - APL*PLUS/PC - REPORT WHETHER NAME IS ELIGIBLE FOR OUTSWAPPING
	AL = F8h
	BX = STPTR of object
Return: BX = name's outswapping status
	    0000h eligible
	    0001h not eligible
SeeAlso: AL=F6h,AL=F7h,INT C8"APL"

Top
88--F9 - INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
	AL = F9h
	ES:SI -> name
	CX = length of name
Return: CF set if name ill-formed or already in use
	    BX = STPTR if already in symbol table
	CF clear if name is available for use
	    BX = 0000h
Note:	does not force the name into the workspace
SeeAlso: AL=FEh,AL=FFh,INT C8"APL"

Top
88--FC - INT 88 - APL*PLUS/PC - DETERMINE IF MEMORY AVAIL WITHOUT GARBAGE COLLECTION
INT 88 - APL*PLUS/PC - DETERMINE IF MEMORY AVAIL WITHOUT GARBAGE COLLECTION
	AL = FCh
	BX = amount of memory needed (paragraphs)
Return: CF clear if memory available
	CF set if a workspace compaction is required
SeeAlso: AL=FDh,INT C8"APL"

Top
88--FD - INT 88 - APL*PLUS/PC - PERFORM GARBAGE COLLECTION AND RETURN AVAILABLE MEMORY
INT 88 - APL*PLUS/PC - PERFORM GARBAGE COLLECTION AND RETURN AVAILABLE MEMORY
	AL = FDh
Return: BX = number of paragraphs available in workspace
SeeAlso: AL=FCh,INT C8"APL"

Top
88--FE - INT 88 - APL*PLUS/PC - CREATE NAME
INT 88 - APL*PLUS/PC - CREATE NAME
	AL = FEh
	ES:SI -> name
	CX = length of name
Return: BX = STPTR of name
	DX = interpreter's data segment
SeeAlso: AL=F9h,AL=FFh,INT C8"APL"

Top
88--FF - INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
	AL = FFh
	ES:SI -> name
	CX = length of name
Return: CF set if name ill-formed or already in use
	    BX = STPTR if already in symbol table
	CF clear if name is available for use
	    BX = 0000h
Note:	forces the name into the workspace and makes it immune from outswapping
SeeAlso: AL=F9h,AL=FEh,INT C8"APL"

Top
89 - INT 89 - IBM ROM BASIC - used while in interpreter
INT 89 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 88"BASIC",INT 8A"BASIC"

Top
89 - INT 89 - APL*PLUS/PC - ???
INT 89 - APL*PLUS/PC - ???
Note:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
SeeAlso: INT C9"APL"

Top
8A - INT 8A - IBM ROM BASIC - used while in interpreter
INT 8A - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 89"BASIC",INT 8B"BASIC"

Top
8A - INT 8A - APL*PLUS/PC - PRINT SCREEN
INT 8A - APL*PLUS/PC - PRINT SCREEN
Note:	same as INT 05
SeeAlso: INT 05"PRINT SCREEN",INT 8C"APL",INT CA"APL"

Top
8B - INT 8B - IBM ROM BASIC - used while in interpreter
INT 8B - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 8A"BASIC",INT 8C"BASIC"

Top
8B - INT 8B - APL*PLUS/PC - BEEP
INT 8B - APL*PLUS/PC - BEEP
Note:	same as printing a ^G via INT 21/AH=02h
SeeAlso: INT 21/AH=02h,INT CB"APL"

Top
8B - INT 8B - VIRUS - "ZeroHunt" - INSTALLATION CHECK (NOT A VECTOR!)
INT 8B - VIRUS - "ZeroHunt" - INSTALLATION CHECK (NOT A VECTOR!)
Note:	if the ZeroHunt virus is resident, this vector will contain either
	  EE83h:019Bh (ZH-411) or EE83h:019Fh (ZH-415)
SeeAlso: INT 70"VIRUS",INT 87"VIRUS",INT 9C"VIRUS"

Top
8C - INT 8C - IBM ROM BASIC - used while in interpreter
INT 8C - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 8B"BASIC",INT 8D

Top
8C - INT 8C - APL*PLUS/PC - CLEAR SCREEN MEMORY
INT 8C - APL*PLUS/PC - CLEAR SCREEN MEMORY
	AX = flag
	    0000h do not save display attributes
	    0001h save attributes
SeeAlso: INT CC"APL"

Top
8D - INT 8D - IBM ROM BASIC - used while in interpreter
INT 8D - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 8C,INT 8E

Top
8E - INT 8E - IBM ROM BASIC - used while in interpreter
INT 8E - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 8D,INT 8F

Top
8F - INT 8F - IBM ROM BASIC - used while in interpreter
INT 8F - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 8E,INT 90

Top
90 - INT 90 - IBM ROM BASIC - used while in interpreter
INT 90 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 8F,INT 91

Top
90 - INT 90 - APL*PLUS/PC - USED BY PORT 10 PRINTER DRIVER
INT 90 - APL*PLUS/PC - USED BY PORT 10 PRINTER DRIVER

Top
91 - INT 91 - IBM ROM BASIC - used while in interpreter
INT 91 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 90,INT 92

Top
91 - INT 91 - IBM TOKEN RING ADAPTER - ???
INT 91 - IBM TOKEN RING ADAPTER - ???
SeeAlso: INT 81"TOKEN RING",INT 82"TOKEN RING",INT 93"TOKEN RING"

Top
Section -


Top
92 - INT 92 - IBM ROM BASIC - used while in interpreter
INT 92 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
92 - INT 92 - Sangoma X.25 INTERFACE PROGRAM
INT 92 - Sangoma X.25 INTERFACE PROGRAM
	BX:DX -> control block
SeeAlso: INT 68"Sangoma"

Top
92E1 - INT 92 - Da Vinci eMail Dispatcher INTERFACE
INT 92 - Da Vinci eMail Dispatcher INTERFACE
	AH = E1h
	AL = function
	BX = stack count (number of words to push)
	CX:DX -> stack data (in word-reversed order ready to push)
Return: AX = status (see #03979)
Note:	preserves BP, DS, SI, DI; other registers may be destroyed

(Table 03979)
Values for Da Vinci eMail function status:
 0001h	success
 FF97h	"ERS_NOT_AVAILABLE"
 FF99h	"ERS_TOO_MANY_NAMES"
 FF9Ah	"ERS_BAD_NAME_PASSWORD"
 FFE3h	"ERS_NAME_NOT_FOUND"
 FFF8h	"ERS_USE_STRING" (call NetGetError to get error string)
 FFFFh	"ERS_NO_SUCH_FILE"

Top
92E100 - INT 92 - Da Vinci eMail Dispatcher - "NetInitStart"
INT 92 - Da Vinci eMail Dispatcher - "NetInitStart"
	AX = E100h
	BX = size of parameter block in words (000Ah)
	CX:DX -> parameter block (see #03980)
Return: AX = 0001h success
Desc:	this function is used to initialize the dispatcher
SeeAlso: AX=E101h,AX=E103h

Format of Da Vinci eMail "NetInitStart" parameter block:
Offset	Size	Description	(Table 03980)
 00h	WORD	segment of ???
 02h	WORD	offset of ???
 04h	WORD	high part of long ???
 06h	WORD	low part of long ???
 08h	WORD	high part of long ???
 0Ah	WORD	low part of long ???
 0Ch	WORD	high part of long ???
 0Eh	WORD	low part of long ???
 10h	WORD	high part of long ???
 12h	WORD	low part of long ???

Top
92E101BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetInitCheck"
INT 92 - Da Vinci eMail Dispatcher - "NetInitCheck"
	AX = E101h
	BX = 0000h
	CX:DX ignored
Return: AX = 0001h success
SeeAlso: AX=E100h,AX=E180h

Top
92E102BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetCheckDriver"
INT 92 - Da Vinci eMail Dispatcher - "NetCheckDriver"
	AX = E102h
	BX = 0000h
	CX:DX ignored
Return: AX = 0001h success
Desc:	this function is used to determine if the dispatcher is loaded
SeeAlso: AX=E10Bh,AX=E180h

Top
92E103BX0000 - INT 92 - Da Vinci eMail Dispatcher - "NetTerminate"
INT 92 - Da Vinci eMail Dispatcher - "NetTerminate"
	AX = E103h
	BX = 0000h
	CX:DX ignored
Return: AX = status (see #03979)
SeeAlso: AX=E100h

Top
92E104 - INT 92 - Da Vinci eMail Dispatcher - "NetWhereIs"
INT 92 - Da Vinci eMail Dispatcher - "NetWhereIs"
	AX = E104h
	BX = size of parameter block in words (0006h)
	CX:DX -> parameter block (see #03981)
Return: AX = status (see #03979)
Desc:	this function is used to verify node address for usernames
SeeAlso: AX=E180h

Format of Da Vinci eMail "NetWhereIs" parameter block:
Offset	Size	Description	(Table 03981)
 00h	WORD	segment of node address buffer
 02h	WORD	offset of node address buffer
 04h	WORD	segment of uppercase username
 06h	WORD	offset of uppercase username
 08h	WORD	segment of "DVSEMAIL"
 0Ah	WORD	offset of "DVSEMAIL"

Top
92E105 - INT 92 - Da Vinci eMail Dispatcher - "NetOpen"
INT 92 - Da Vinci eMail Dispatcher - "NetOpen"
	AX = E105h
	BX = size of parameter block in words (0007h)
	CX:DX -> parameter block (see #03982)
Return: AX = 0000h Error
	AX = handle
Desc:	this function is used to open a submission channel
SeeAlso: AX=E10Ah,AX=E106h,AX=E108h

Format of Da Vinci eMail "NetOpen" parameter block:
Offset	Size	Description	(Table 03982)
 00h	WORD	operation (1 = read, 2 = write)
 02h	WORD	segment of uppercase To: username
 04h	WORD	offset of uppercase To: username
 06h	WORD	segment of "DVSEMAIL"
 08h	WORD	offset of "DVSEMAIL"
 0Ah	WORD	segment of node address
 0Ch	WORD	offset of node address

Top
92E106BX0004 - INT 92 - Da Vinci eMail Dispatcher - "NetRead"
INT 92 - Da Vinci eMail Dispatcher - "NetRead"
	AX = E106h
	BX = 0004h
	CX:DX -> parameter block
Return: AX = 0001h
SeeAlso: AX=E108h

Top
92E107BX0002 - INT 92 - Da Vinci eMail Dispatcher - "NetGetError"
INT 92 - Da Vinci eMail Dispatcher - "NetGetError"
	AX = E107h
	BX = 0002h
	CX:DX -> parameter block
Return: AX = 0001h
SeeAlso: AX=E109h,AX=E180h

Top
92E108 - INT 92 - Da Vinci eMail Dispatcher - "NetWrite"
INT 92 - Da Vinci eMail Dispatcher - "NetWrite"
	AX = E108h
	BX = size of parameter block in words (0004h)
	CX:DX -> parameter block (see #03983)
Return: AX = amount written
Desc:	This function is used to write transactions to the dispatcher.
	  The command block is written first and then another call is used
	  to write the associated data.
SeeAlso: AX=E106h

Format of Da Vinci eMail "NetWrite" parameter block:
Offset	Size	Description	(Table 03983)
 00h	WORD	buffer count (see #03985)
 02h	WORD	segment of command buffer (see #03984)
 04h	WORD	offset of command buffer
 06h	WORD	handle from NetOpen

Format of Da Vinci eMail command buffer:
Offset	Size	Description	(Table 03984)
 00h	BYTE	command
		21h '!' Protocol commands for remote control
		41h 'A' Authorization protocol element
		42h 'B' Return(back) routing information
		    Associated data is the From: username
		43h 'C' Carbon Copy list
		    Associated data is a comma delimitted list of usernames
		44h 'D' Distribution list
		    Associated data is a comma delimitted list of usernames
		45h 'E' Mail end marker
		    No associated data
		48h 'H' Mail message header
		    Associated data is a message header buffer
		4Dh 'M' Mail message
		    Associated data is the body of the message
		4Fh 'O' Object
		50h 'P' Paperclip attachment
		52h 'R' Routing information
		    Associated data is the To: username
		53h 'S' Subject
		    Associated data is the subject of the message
		54h 'T' Trail of Reply/Forwards
 01h	BYTE	subcommand
 02h	DWORD	length of associated data

Format of Da Vinci eMail message header buffer:
Offset	Size	Description	(Table 03985)
 00h 30 BYTEs	subject line
 1Eh 24 BYTEs	To
 36h 24 BYTEs	From
 4Eh	DWORD	Time
		BYTE	00h
		BYTE	hour
		BYTE	minute
		BYTE	second
 52h	DWORD	Date
		BYTE	00h
		BYTE	year
		BYTE	month
		BYTE	day
 56h	DWORD	serial number (00000000h)
 5Ah	WORD	mail types (see #03986)
 5Ch	WORD	special types (0)

Bitfields for Da Vinci eMail mail types:
Bit(s)	Description	(Table 03986)
 7	blind carbon copy
 6	carbon copy
 5	priority
 4	confidential
 3	certified
 2	bulk
 1-0	class (first, second, third, bulk)

Top
92E109 - INT 92 - Da Vinci eMail Dispatcher - "NetErrorFix" (UNUSED)
INT 92 - Da Vinci eMail Dispatcher - "NetErrorFix" (UNUSED)
	AX = E109h
	BX = size of parameter block in words (0001h)
	CX:DX -> parameter block (see #03987)
Return: AX = FF97h (ERS_NOT_AVAILABLE)
SeeAlso: AX=E107h,AX=E180h

Format of Da Vinci eMail "NetErrorFix" parameter block:
Offset	Size	Description	(Table 03987)
 00h	WORD	???

Top
92E10A - INT 92 - Da Vinci eMail Dispatcher - "NetClose"
INT 92 - Da Vinci eMail Dispatcher - "NetClose"
	AX = E10Ah
	BX = size of parameter block in words (0001h)
	CX:DX -> parameter block (see #03988)
Return: AX = 0001h
Desc:	this function is used to close a dispatcher handle
SeeAlso: AX=E105h

Format of Da Vinci eMail "NetClose" parameter block:
Offset	Size	Description	(Table 03988)
 00h	WORD	handle from NetOpen

Top
92E10B - INT 92 - Da Vinci eMail Dispatcher - "NetCheckQueue"
INT 92 - Da Vinci eMail Dispatcher - "NetCheckQueue"
	AX = E10Bh
	BX = size of parameter block in words (0004h)
	CX:DX -> parameter block (see #03989)
Return: AX = 0001h
SeeAlso: AX=E102h,AX=E10Ch

Format of Da Vinci eMail "NetCheckQueue" parameter block:
Offset	Size	Description	(Table 03989)
 00h	WORD	segment of 24-byte username buffer
 02h	WORD	offset of 24-byte username buffer
 04h	WORD	segment of 24-byte protocol buffer
 06h	WORD	offset of 24-byte protocol buffer

Top
92E10C - INT 92 - Da Vinci eMail Dispatcher - "NetReadQueue"
INT 92 - Da Vinci eMail Dispatcher - "NetReadQueue"
	AX = E10Ch
	BX = size of parameter block in words (0002h)
	CX:DX -> parameter block (see #03990)
Return: AX = 0001h
SeeAlso: AX=E10Bh

Format of Da Vinci eMail "NetReadQueue" parameter block:
Offset	Size	Description	(Table 03990)
 00h	WORD	Segment of 128 byte node address buffer
 02h	WORD	Offset of 128 byte node address buffer

Top
92E10D - INT 92 - Da Vinci eMail Dispatcher - "NetSubmitName"
INT 92 - Da Vinci eMail Dispatcher - "NetSubmitName"
	AX = E10Dh
	BX = size of parameter block in words (0006h)
	CX:DX -> parameter block (see #03991)
Return: AX = status (see #03979)
Desc:	this function is used to verify username/password
SeeAlso: AX=E10Eh

Format of Da Vinci eMail "NetSubmitName" parameter block:
Offset	Size	Description	(Table 03991)
 00h	WORD	segment of uppercase password string
 02h	WORD	offset of uppercase password string
 04h	WORD	segment of uppercase username string
 06h	WORD	offset of uppercase username string
 08h	WORD	segment of "DVSEMAIL"
 0Ah	WORD	offset of "DVSEMAIL"

Top
92E10E - INT 92 - Da Vinci eMail Dispatcher - "NetRemoveName"
INT 92 - Da Vinci eMail Dispatcher - "NetRemoveName"
	AX = E10Eh
	BX = size of parameter block in words (0004h)
	CX:DX -> parameter block (see #03992)
Return: AX = 0001h
Desc:	this function is used to remove a username
SeeAlso: AX=E10Dh

Format of Da Vinci eMail "NetRemoveName" parameter block:
Offset	Type	Description	(Table 03992)
 00h	WORD	segment of uppercase username
 02h	WORD	offset of uppercase username
 04h	WORD	segment of "DVSEMAIL"
 06h	WORD	offset of "DVSEMAIL"

Top
92E10FBX0000 - INT 92 - Da Vinci eMail Dispatcher - IS ANYONE THERE? QUERY
INT 92 - Da Vinci eMail Dispatcher - IS ANYONE THERE? QUERY
	AX = E10Fh
	BX = 0000h
	CX:DX ignored
Return: AX = 0001h
SeeAlso: AX=E180h

Top
92E110 - INT 92 - Da Vinci eMail Dispatcher - "NetGetAltRoute"
INT 92 - Da Vinci eMail Dispatcher - "NetGetAltRoute"
	AX = E110h
	BX = size of parameter block in words (0006h)
	CX:DX -> parameter block (see #03993)
Return: AX = 0001h
SeeAlso: AX=E111h,AX=E113h

Format of Da Vinci eMail "NetGetAltRoute" parameter block:
Offset	Size	Description	(Table 03993)
 00h  6 WORDs	???

Top
92E111 - INT 92 - Da Vinci eMail Dispatcher - "NetDeleteAltRoutes"
INT 92 - Da Vinci eMail Dispatcher - "NetDeleteAltRoutes"
	AX = E111h
	BX = size of parameter block in words (0004h)
	CX:DX -> parameter block (see #03994)
Return: AX = 0001h
SeeAlso: AX=E110h,AX=E113h

Format of Da Vinci eMail "NetDeleteAltRoutes" parameter block:
Offset	Size	Description	(Table 03994)
 00h  4 WORDs	???

Top
92E112 - INT 92 - Da Vinci eMail Dispatcher - "NetChangePassword"
INT 92 - Da Vinci eMail Dispatcher - "NetChangePassword"
	AX = E112h
	BX = size of parameter block in words (0008h)
	CX:DX -> parameter block (see #03995)
Return: AX = 0001h
SeeAlso: AX=E180h

Format of Da Vinci eMail "NetChangePassword" parameter block:
Offset	Size	Description	(Table 03995)
 00h  8 WORDs	???

Top
92E113 - INT 92 - Da Vinci eMail Dispatcher - "NetSetAltRoute"
INT 92 - Da Vinci eMail Dispatcher - "NetSetAltRoute"
	AX = E113h
	BX = size of parameter block in words (0008h)
	CX:DX -> parameter block (see #03996)
Return: AX = 0001h
SeeAlso: AX=E110h,AX=E111h

Format of Da Vinci eMail "NetSetAltRoute" parameter block:
Offset	Size	Description	(Table 03996)
 00h  8 WORDs	???

Top
92E175 - INT 92 - Da Vinci eMail Dispatcher - BECOME MICRO TSR
INT 92 - Da Vinci eMail Dispatcher - BECOME MICRO TSR
	AX = E175h
Return: AX = 0012h
	BX = PSP
SeeAlso: AX=E180h

Top
92E180 - INT 92 - Da Vinci eMail Dispatcher - INSTALLATION CHECK
INT 92 - Da Vinci eMail Dispatcher - INSTALLATION CHECK
	AX = E180h
Return: AX = 0012h if installed
	ES:DX -> '$'-terminated driver information string
SeeAlso: AX=E102h,AX=E105h,AX=E10Fh,AX=E175h

Top
93 - INT 93 - IBM ROM BASIC - used while in interpreter
INT 93 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
93 - INT 93 - IBM TOKEN RING ADAPTER - ???
INT 93 - IBM TOKEN RING ADAPTER - ???
SeeAlso: INT 81"TOKEN RING",INT 91"TOKEN RING"

Top
94 - INT 94 - IBM ROM BASIC - used while in interpreter
INT 94 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
94----SI0000 - INT 94 u - PCM driver - INITIALIZE SOUND
INT 94 u - PCM driver - INITIALIZE SOUND
	SI = 0000h
	ES:BX -> parameters
Return: ???
Program: PCM.COM is a sound driver for Media Vision's Pro Audio Spectrum
	  sound boards
InstallCheck:	test for the signature string "PCMDRIVER" immediately preceding
	  the interrupt handler; the word preceding the signature gives the PCM
	  driver's version
SeeAlso: SI=0001h,SI=0002h,SI=0003h,SI=0004h,SI=0005h,SI=000Ah
Index:	installation check;PCM driver|PCM.COM;installation check
Index:	PCM driver;installation check

Top
94----SI0001 - INT 94 u - PCM driver - INITIALIZE PCM
INT 94 u - PCM driver - INITIALIZE PCM
	SI = 0001h
	ES:BX -> parameters
Return: ???
SeeAlso: SI=0000h,SI=0002h,SI=0003h,SI=000Ah

Top
94----SI0002 - INT 94 u - PCM driver - INITIALIZE PCM INFO
INT 94 u - PCM driver - INITIALIZE PCM INFO
	SI = 0002h
	ES:BX -> parameters (see #03997)
Return: ???
SeeAlso: SI=0000h,SI=0001h,SI=0003h,SI=000Ah

Format of PCM driver function 0002h parameters:
Offset	Size	Description	(Table 03997)
 00h	DWORD	rate
 04h	WORD	channel number
 06h	WORD	"comp"
 08h	WORD	"dsize"

Top
94----SI0003 - INT 94 u - PCM driver - INITIALIZE DMA BUFFER
INT 94 u - PCM driver - INITIALIZE DMA BUFFER
	SI = 0003h
	ES:BX -> parameters (see #03998)
Return: ???
SeeAlso: SI=0000h,SI=000Ah,SI=000Bh

Format of PCM driver function 0003h parameters:
Offset	Size	Description	(Table 03998)
 00h	DWORD	-> DMA buffer
 04h	WORD	size of DMA buffer
 06h	WORD	number of divisions

Top
94----SI0004 - INT 94 u - PCM driver - INITIALIZE USER FUNCTION
INT 94 u - PCM driver - INITIALIZE USER FUNCTION
	SI = 0004h
	ES:BX -> parameters (see #03999)
Return: ???
SeeAlso: SI=0000h,SI=0001h

Format of PCM driver function 0004h parameters:
Offset	Size	Description	(Table 03999)
 00h	DWORD	-> user function

Top
94----SI0005 - INT 94 u - PCM driver - BEGIN AUDIO PLAY
INT 94 u - PCM driver - BEGIN AUDIO PLAY
	SI = 0005h
Return: ???
SeeAlso: SI=0000h,SI=0006h,SI=0007h,SI=0009h

Top
94----SI0006 - INT 94 u - PCM driver - BEGIN AUDIO RECORD
INT 94 u - PCM driver - BEGIN AUDIO RECORD
	SI = 0006h
Return: ???
SeeAlso: SI=0005h,SI=0007h,SI=0009h

Top
94----SI0007 - INT 94 u - PCM driver - PAUSE AUDIO PLAY/RECORD
INT 94 u - PCM driver - PAUSE AUDIO PLAY/RECORD
	SI = 0007h
Return: ???
SeeAlso: SI=0005h,SI=0006h,SI=0008h

Top
94----SI0008 - INT 94 u - PCM driver - RESUME AUDIO PLAY/RECORD
INT 94 u - PCM driver - RESUME AUDIO PLAY/RECORD
	SI = 0008h
Return: ???
SeeAlso: SI=0007h

Top
94----SI0009 - INT 94 u - PCM driver - STOP AUDIO PLAY/RECORD
INT 94 u - PCM driver - STOP AUDIO PLAY/RECORD
	SI = 0009h
Return: ???
SeeAlso: SI=0005h,SI=0006h,SI=0007h

Top
94----SI000A - INT 94 u - PCM driver - UNHOOK INTERRUPTS AND TURN OFF DMA
INT 94 u - PCM driver - UNHOOK INTERRUPTS AND TURN OFF DMA
	SI = 000Ah
Return: ???
SeeAlso: SI=0000h,SI=0001h,SI=0003h
Index:	uninstall;PCM driver

Top
94----SI000B - INT 94 u - PCM driver - FIND VALID DMA BUFFER IN HUGE MEMORY BLOCK
INT 94 u - PCM driver - FIND VALID DMA BUFFER IN HUGE MEMORY BLOCK
	SI = 000Bh
	ES:BX -> parameters (see #04000)
Return: ???
SeeAlso: SI=0003h

Format of PCM driver functio 000Bh parameters:
Offset	Size	Description	(Table 04000)
 00h	DWORD	-> memory block to contain DMA buffer
 04h	WORD	desired size of DMA buffer

Top
94----SI000D - INT 94 u - Media Vision PCM.COM - GET STATUS
INT 94 u - Media Vision PCM.COM - GET STATUS
	SI = 000Dh
Return: AX = status (0000h = waiting) (see #04001)

Bitfields for PCM.COM status:
Bit(s)	Description	(Table 04001)
 0	playing
 1	recording
 2	SBplaying
 3	SBrecording
 14	SBpaused
 15	paused

Top
94----SI8000 - INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER ADDRESS
INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER ADDRESS
	SI = 8000h
Return: DX:AX -> DMA buffer
Program: PCM.COM is a superset of the standard PCM driver which provides
	  additional functions for fine control of the driver
InstallCheck:	for the Media Vision PCM.COM "shark" functions, test for the
	  signature "PCM-SHARK" at offset 107h in the INT 94 handler's segment
SeeAlso: SI=8001h,SI=8004h
Index:	installation check;Media Vision PCM.COM|PCM.COM;installation check
Index:	Media Vision PCM.COM;"shark" functions

Top
94----SI8001 - INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER SIZE AND DIVISIONS
INT 94 u - Media Vision PCM.COM - GET INTERNAL DMA BUFFER SIZE AND DIVISIONS
	SI = 8001h
Return: AX = DMA buffer size
	DX = divisions
SeeAlso: SI=8000h

Top
94----SI8002 - INT 94 u - Media Vision PCM.COM - CHECK BOARD ADDRESS
INT 94 u - Media Vision PCM.COM - CHECK BOARD ADDRESS
	SI = 8002h
Return: AX = status
	    0000h if board not at specified I/O address
	    other if board found
Note:	the I/O address is specified by ORing the base I/O port shifted left
	  four bits into SI before calling INT 94
SeeAlso: SI=8000h

Top
94----SI8004 - INT 94 u - Media Vision PCM.COM - GET INTERNAL NOTE BUFFER
INT 94 u - Media Vision PCM.COM - GET INTERNAL NOTE BUFFER
	SI = 8004h
Return: AX = offset of note buffer (segment = segment of internal DMA buffer)
	DX = size of buffer in note structures
SeeAlso: SI=8000h

Top
94----SI8005 - INT 94 u - Media Vision PCM.COM - SINGLE-STEP QUEUE
INT 94 u - Media Vision PCM.COM - SINGLE-STEP QUEUE
	SI = 8005h
Return: ???

Top
94----SI8011 - INT 94 u - Media Vision PCM.COM - INITIALIZE
INT 94 u - Media Vision PCM.COM - INITIALIZE
	SI = 8011h
	ES:BX -> "iobf91" structure
Return: ???

Top
94----SI8012 - INT 94 u - Media Vision PCM.COM - LOAD SOUND FOR LATER PLAY THROUGH KEYBOARD
INT 94 u - Media Vision PCM.COM - LOAD SOUND FOR LATER PLAY THROUGH KEYBOARD
	SI = 8012h
	ES:BX -> "i94f92buf" structure
Return: ???
SeeAlso: SI=8013h,SI=8014h

Top
94----SI8013 - INT 94 u - Media Vision PCM.COM - GET INTERNAL SOUND USAGE
INT 94 u - Media Vision PCM.COM - GET INTERNAL SOUND USAGE
	SI = 8013h
Return: AX = number of sounds used
	DX = maximum handles

Top
94----SI8014 - INT 94 u - Media Vision PCM.COM - GET DATA FOR SPECIFIED SOUND
INT 94 u - Media Vision PCM.COM - GET DATA FOR SPECIFIED SOUND
	SI = 8014h
	ES:BX -> "i94f92buf" structure to be filled in
		sound number field set to desired sound
Return: AX = status
	    0000h successful
	    FFFFh sound number out of range
SeeAlso: SI=8012h,SI=8013h

Top
94----SI8015 - INT 94 u - Media Vision PCM.COM - GET/SET INTERNAL DMA BUFFER
INT 94 u - Media Vision PCM.COM - GET/SET INTERNAL DMA BUFFER
	SI = 8015h
	ES:BX -> DMA info structure (see #04002)
Return: ???

Format of PCM.COM DMA info structure:
Offset	Size	Description	(Table 04002)
 00h	DWORD	-> DMA buffer (offset FFFFh = return current buffer info)
 04h	WORD	DMA buffer size
 06h	WORD	divisions

Top
94----SI8016 - INT 94 u - Media Vision PCM.COM - SIMULATE DOUBLE-SHIFT HOTKEY
INT 94 u - Media Vision PCM.COM - SIMULATE DOUBLE-SHIFT HOTKEY
	SI = 8016h
	AX = hotkey number (01h-08h)
Return: ???
SeeAlso: AL=02h/SI=8017h

Top
94--01SI8017 - INT 94 u - Media Vision PCM.COM - CTRL-G INTERCEPT
INT 94 u - Media Vision PCM.COM - CTRL-G INTERCEPT
	AL = 01h
	SI = 8017h
	AH = new state (00h off, 01h on)
Return: ???
SeeAlso: AL=02h/SI=8017h

Top
94--02SI8017 - INT 94 u - Media Vision PCM.COM - DOUBLE-SHIFT-HOTKEY SOUND FEATURE
INT 94 u - Media Vision PCM.COM - DOUBLE-SHIFT-HOTKEY SOUND FEATURE
	AL = 02h
	SI = 8017h
	AH = new state (00h off, 01h on)
Return: ???

Top
94--04SI8017 - INT 94 u - Media Vision PCM.COM - RANDOM SOUND FEATURE
INT 94 u - Media Vision PCM.COM - RANDOM SOUND FEATURE
	AL = 04h
	SI = 8017h
	AH = new state
	    00h off
	    01h on
		CX = minimum delay
		DX = maximum delay
Return: ???

Top
94--08SI8017 - INT 94 u - Media Vision PCM.COM - NO ACTIVITY FEATURE
INT 94 u - Media Vision PCM.COM - NO ACTIVITY FEATURE
	AL = 08h
	SI = 8017h
	AH = new state
	    00h off
	    01h on
		DX:CX = delay
Return: ???
SeeAlso: AL=10h/SI=8017h

Top
94--10SI8017 - INT 94 u - Media Vision PCM.COM - TIMER CONTROL
INT 94 u - Media Vision PCM.COM - TIMER CONTROL
	AL = 10h
	SI = 8017h
	AH = timer options (see #04003)
	DX:CX = delay if AH bit 7 set (one-shot if DX bit 15 set)
Return: ???
SeeAlso: AL=08h/SI=8017h

Bitfields for PCM.COM timer options:
Bit(s)	Description	(Table 04003)
 7	set timer
 6	timer active (timer turned off if clear)
 5-0	timer number

Top
94----SI8018 - INT 94 u - Media Vision PCM.COM - GET INFO
INT 94 u - Media Vision PCM.COM - GET INFO
	SI = 8018h
	AL = what to get
	    00h "F92state"
	    01h "F92bkgd"
	    02h "I10timer"
	    03h "I08state"
Return: DX:AX -> desired information

Top
95 - INT 95 - IBM ROM BASIC - used while in interpreter
INT 95 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
95 - INT 95 - APL*PLUS/PC - DETERMINE R= SPACE
INT 95 - APL*PLUS/PC - DETERMINE R= SPACE
Note:	use only when the R= option is invoked on entering APL

Top
96 - INT 96 - IBM ROM BASIC - used while in interpreter
INT 96 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
96 - INT 96 U - KILL.COM, QKILL.COM - POP UP
INT 96 U - KILL.COM, QKILL.COM - POP UP
Program: KILL.COM is a TSR utility that allows you to terminate programs
	 by calling INT 21/AH=4Ch or reboot the computer (author unknown);
	 QKILL.COM is a modification of KILL.COM by Solar Designer that
	 supports QEMM's Quick Boot feature
Notes:	This interrupt is intercepted but not chained by KILL.COM; it is never
	  called by KILL.COM itself. It points into the middle of KILL.COM's
	  INT 09 handler and assumes specific values have been placed on the
	  stack (thus it can't be called as an interrupt).
	To invoke KILL, use the following code:
		pushf
		push cs
		push offset $+0Dh
		push ax
		push es
		push 0
		pop  es
		jmp  dword ptr es:[96h*4]

Top
97 - INT 97 - IBM ROM BASIC - used while in interpreter
INT 97 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
98 - INT 98 - IBM ROM BASIC - used while in interpreter
INT 98 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
99 - INT 99 - IBM ROM BASIC - used while in interpreter
INT 99 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
9A - INT 9A - IBM ROM BASIC - used while in interpreter
INT 9A - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT 99,INT 9B

Top
9B - INT 9B - IBM ROM BASIC - used while in interpreter
INT 9B - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT 9A,INT 9C"BASIC"

Top
9C - INT 9C - IBM ROM BASIC - used while in interpreter
INT 9C - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT 9B,INT 9D"BASIC"

Top
9C - INT 9C - VIRUS - "INT13" - ORIGINAL INT 13h VECTOR
INT 9C - VIRUS - "INT13" - ORIGINAL INT 13h VECTOR
SeeAlso: INT 8B"VIRUS",INT 9D"VIRUS",INT 9E"VIRUS",INT 9F"VIRUS"

Top
9D - INT 9D - IBM ROM BASIC - used while in interpreter
INT 9D - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT 9C"BASIC",INT 9E"BASIC"

Top
9D - INT 9D - VIRUS - "INT13" - ROM INT 13h ENTRY POINT
INT 9D - VIRUS - "INT13" - ROM INT 13h ENTRY POINT
Note:	this vector is used by the virus to store the result of a call to
	  INT 2F/AH=13h
SeeAlso: INT 2F/AH=13h,INT 9C"VIRUS",INT 9E"VIRUS",INT 9F"VIRUS"

Top
9E - INT 9E - IBM ROM BASIC - used while in interpreter
INT 9E - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT 9D"BASIC",INT 9F"BASIC"

Top
9E - INT 9E - VIRUS - "INT13" - ORIGINAL INT 21h VECTOR
INT 9E - VIRUS - "INT13" - ORIGINAL INT 21h VECTOR
SeeAlso: INT 70"VIRUS",INT 9C"VIRUS",INT 9D"VIRUS",INT E0"VIRUS"

Top
9F - INT 9F - IBM ROM BASIC - used while in interpreter
INT 9F - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT 9D"BASIC",INT A0"BASIC"

Top
9F - INT 9F - VIRUS - "INT13" - STORAGE FOR USER INT 13h VECTOR
INT 9F - VIRUS - "INT13" - STORAGE FOR USER INT 13h VECTOR
Note:	while it is infecting a file, the INT13 virus grabs INT 13 and uses
	  this interrupt to store the existing INT 13 vector for later
	  restoration
SeeAlso: INT 9C"VIRUS",INT 9D"VIRUS",INT D3"VIRUS"

Top
A0 - INT A0 - IBM ROM BASIC - used while in interpreter
INT A0 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT 9F"BASIC",INT A1"BASIC"

Top
A0 - INT A0 - APL*PLUS/PC - USED BY APL/GSS*CGI GRAPHICS INTERFACE
INT A0 - APL*PLUS/PC - USED BY APL/GSS*CGI GRAPHICS INTERFACE
SeeAlso: INT 59"GSS"

Top
A1 - INT A1 - IBM ROM BASIC - used while in interpreter
INT A1 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT A0"BASIC",INT A2"BASIC"

Top
A2 - INT A2 - IBM ROM BASIC - used while in interpreter
INT A2 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT A1"BASIC",INT A3"BASIC"

Top
A3 - INT A3 - IBM ROM BASIC - used while in interpreter
INT A3 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT A2"BASIC",INT A4"BASIC"

Top
A4 - INT A4 - IBM ROM BASIC - used while in interpreter
INT A4 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT A3"BASIC",INT A5"BASIC"

Top
A4 - INT A4 U - Right Hand Man - API
INT A4 U - Right Hand Man - API
	AH = function number (v3.3 supports functions 00h-52h)
Return: CF set on error
	CF clear if successful
Program: Right Hand Man is a TSR desk-top utility originally by Red E Products
	  which has evolved into Futurus Team
Note:	this interrupt is only hooked while popped up
SeeAlso: INT 2F/AX=A4E0h

Top
A5 - INT A5 - IBM ROM BASIC - used while in interpreter
INT A5 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT A4"BASIC",INT A6"BASIC"

Top
A6 - INT A6 - IBM ROM BASIC - used while in interpreter
INT A6 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT A5"BASIC",INT A7"BASIC"

Top
A7 - INT A7 - IBM ROM BASIC - used while in interpreter
INT A7 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
A8 - INT A8 - IBM ROM BASIC - used while in interpreter
INT A8 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
A9 - INT A9 - IBM ROM BASIC - used while in interpreter
INT A9 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
AA - INT AA - IBM ROM BASIC - used while in interpreter
INT AA - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
AB - INT AB - IBM ROM BASIC - used while in interpreter
INT AB - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
AC - INT AC - IBM ROM BASIC - used while in interpreter
INT AC - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
AD - INT AD - IBM ROM BASIC - used while in interpreter
INT AD - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
AE - INT AE - IBM ROM BASIC - used while in interpreter
INT AE - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
AF - INT AF - IBM ROM BASIC - used while in interpreter
INT AF - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
B0 - INT B0 - IBM ROM BASIC - used while in interpreter
INT B0 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
B1 - INT B1 - IBM ROM BASIC - used while in interpreter
INT B1 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
B2 - INT B2 - IBM ROM BASIC - used while in interpreter
INT B2 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
B3 - INT B3 - IBM ROM BASIC - used while in interpreter
INT B3 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
B370 - INT B3 - ZIPKEY - GET VERSION
INT B3 - ZIPKEY - GET VERSION
	AH = 70h
Return: AH = major version
	AL = minor version
	CL = number of states and territories in current database
	DH = year of current database - 1900
	DL = month of current database's file date
Program: ZIPKEY is a resident ZIPCODE database by Eric Isaacson
Note:	if installed, the string "ZIPKEY" is present at offset 75h in the
	  interrupt handler's segment, and the byte at 7Bh contains the API
	  version number (00h for v1.x, 01h for v2.0)

Top
B371 - INT B3 - ZIPKEY - CONVERT TWO-LETTER ABBREVIATION TO STATE CODE
INT B3 - ZIPKEY - CONVERT TWO-LETTER ABBREVIATION TO STATE CODE
	AH = 71h
	BX = abbreviation, in either case (first letter in BL)
Return: CF set on error
	    AL = FFh
	CF clear if successful
	    AL = ZIPKEY state code
SeeAlso: AH=72h

Top
B372 - INT B3 - ZIPKEY - CONVERT STATE CODE TO TWO-LETTER ABBREVIATION
INT B3 - ZIPKEY - CONVERT STATE CODE TO TWO-LETTER ABBREVIATION
	AH = 72h
	BL = ZIPKEY state code
Return: CF set on error
	    AX destroyed
	CF clear if successful
	    AX = abbreviation, in upper case
SeeAlso: AH=71h,AH=73h

Top
B373 - INT B3 - ZIPKEY - CONVERT STATE CODE TO STATE NAME
INT B3 - ZIPKEY - CONVERT STATE CODE TO STATE NAME
	AH = 73h
	BL = ZIPKEY state code
	ES:DI -> buffer for name
Return: CF set on error
	    AX destroyed
	CF clear if successful
	    ES:DI points one byte beyond end of name
SeeAlso: AH=72h

Top
B374 - INT B3 - ZIPKEY - CONVERT ZIPCODE TO ASCII DIGITS
INT B3 - ZIPKEY - CONVERT ZIPCODE TO ASCII DIGITS
	AH = 74h
	DX = zipcode region (0-999)
	CH = last two digits of zipcode (0-99)
	ES:DI -> buffer
Return: CF set on error
	    AX destroyed
	CF clear if successful
	    ES:DI points one byte beyond end of digit string

Top
B375 - INT B3 - ZIPKEY - LOOK UP STATE CODE FOR ZIPCODE
INT B3 - ZIPKEY - LOOK UP STATE CODE FOR ZIPCODE
	AH = 75h
	DX = zipcode region (0-999)
	CH = last two digits of zipcode (0-99)
Return: CF set on error (zipcode not found)
	    AL = suggested state code, FFh if none
	CF clear if successful
	    AL = ZIPKEY state code
	    BX = area code (v2.0+)
SeeAlso: AH=76h,AH=79h

Top
B376 - INT B3 - ZIPKEY - LOOK UP CITY AND STATE FOR ZIPCODE
INT B3 - ZIPKEY - LOOK UP CITY AND STATE FOR ZIPCODE
	AH = 76h
	DX = zipcode region (0-999)
	CH = last two digits of zipcode (0-99)
	ES:DI -> buffer for name
Return: CF set on error
	    AL = suggested state code, FFh if none
	    ES:DI buffer filled with suggested city name
	CF clear if successful
	    AL = ZIPKEY state code
	    BX = area code (v2.0+)
	    ES:DI points one byte beyond end of name
SeeAlso: AH=75h,AH=78h,AH=7Eh

Top
B377 - INT B3 - ZIPKEY - PLAY BACK EXIT KEY FOR ENTRY WITH GIVEN ZIPCODE
INT B3 - ZIPKEY - PLAY BACK EXIT KEY FOR ENTRY WITH GIVEN ZIPCODE
	AH = 77h
	DX = zipcode region (0-999)
	CH = last two digits of zipcode (0-99)
	BX = 16-bit BIOS keycode for a defined ZIPKEY alternate exit key
Return: CF set on error
	    AX destroyed
	CF clear if successful
	    zipcode specification as defined by the BX keystroke is placed in
	      keyboard buffer, as if the user had popped up ZIPKEY and exited
	      by pressing the key specified by BX

Top
B378 - INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN STATE AND CITY
INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN STATE AND CITY
	AH = 78h
	BL = ZIPKEY state code
	DS:SI -> city name, terminated with 0Dh if complete name, 00h if prefix
Return: BH = number of matching entries (set to 51 if more than 50)
	DX = zipcode region of first match (0-999)
	CL = last two digits of first zipcode in the range (0-99)
	CH = last two digits of last zipcode in the range (0-99)
	AX destroyed
SeeAlso: AH=79h,AH=7Ah

Top
B379 - INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN CITY
INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN CITY
	AH = 79h
	BL = ZIPKEY state code of first state to search
	DS:SI -> city name, terminated with 0Dh if complete name, 00h if prefix
Return: AL = ZIPKEY state code of first matching state
	BH = number of matching entries (set to 51 if more than 50)
	DX = zipcode region of first match (0-999)
	CL = last two digits of first zipcode in first range (0-99)
	CH = last two digits of last zipcode in first range (0-99)
Note:	to find all matching cities, repeat search with BL set to one more than
	  the returned AL
SeeAlso: AH=78h,AH=7Ah

Top
B37A - INT B3 - ZIPKEY - FETCH AN ENTRY FROM A PREVIOUS LOOKUP
INT B3 - ZIPKEY - FETCH AN ENTRY FROM A PREVIOUS LOOKUP
	AH = 7Ah
	BL = case number (0 to one less than value returned in BH by lookup)
Return: AL = ZIPKEY state code
	DX = zipcode region (0-999)
	CL = last two digits of first zipcode in the range (0-99)
	CH = last two digits of last zipcode in the range (0-99)
SeeAlso: AH=78h,AH=79h

Top
B37B - INT B3 - ZIPKEY - GET VALUES NEEDED TO SAVE ZIPKEY CONTEXT
INT B3 - ZIPKEY - GET VALUES NEEDED TO SAVE ZIPKEY CONTEXT
	AH = 7Bh
Return: BL = maximum number of characters for a city name
	BH = ZIPKEY state code for last city-name search, or FFh if none
	CX:DX = internal code identifying last city search
	AX destroyed
SeeAlso: AH=7Ch

Top
B37C - INT B3 - ZIPKEY - RESTORE ZIPKEY CONTEXT
INT B3 - ZIPKEY - RESTORE ZIPKEY CONTEXT
	AH = 7Ch
	BL = maximum number of characters for a city name
	BH = ZIPKEY state code for last city-name search, or FFh if none
	CX:DX = internal code returned by AH=7Bh
Return: CF set on error
	CF clear if successful
	AX destroyed
SeeAlso: AH=7Bh

Top
B37D - INT B3 - ZIPKEY - REQUEST POP UP
INT B3 - ZIPKEY - REQUEST POP UP
	AH = 7Dh
	BL = index number to simulate pressing a hotkey
	    FFh for immediate popup with no playback on return
Return: CF set on error
	    AL = error code
		FDh already busy with another request
		FEh illegal function
	CF clear if successful
	    AX destroyed
	    window popped up and was closed by the user
SeeAlso: AH=70h

Top
B37E - INT B3 - ZIPKEY - GET NAME OF PRIMARY CITY FOR A ZIPCODE REGION
INT B3 - ZIPKEY - GET NAME OF PRIMARY CITY FOR A ZIPCODE REGION
	AH = 7Eh
	DX = zipcode region (0-999)
	ES:DI -> buffer for name
Return: CF set on error
	    AL = FFh region does not exist
	CF clear if successful
	    AL = ZIPKEY state code
	    ES:DI points one byte beyond end of name
SeeAlso: AH=76h

Top
B37F - INT B3 - ZIPKEY - ENABLE/DISABLE HOTKEYS
INT B3 - ZIPKEY - ENABLE/DISABLE HOTKEYS
	AH = 7Fh
	BL = function
	    00h turn off hotkeys
	    01h turn on hotkeys
	    02h return hotkey status
	    03h toggle hotkey status
Return: AL = hotkey status
	    00h off
	    01h on

Top
B380 - INT B3 - ZIPKEY v2.0+ - DETERMINE STATE FOR AREA CODE
INT B3 - ZIPKEY v2.0+ - DETERMINE STATE FOR AREA CODE
	AH = 80h
	BX = telephone area code (decimal)
Return: CF clear if successful
	    AL = ZIPKEY state code
	    DX = first ZIP region for state (03E8h if Canada)
	    CX = number of ZIP regions in state
	CF set on error
	    AL = FFh
	    DX = 03E9h

Top
B4 - INT B4 - IBM ROM BASIC - used while in interpreter
INT B4 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
B4 - INT B4 - StackMan - REQUEST NEW STACK
INT B4 - StackMan - REQUEST NEW STACK
Return: SS:SP -> new stack
Program: StackMan is a freeware stack manager by Franz Veldman of ESaSS B.V.
	  which functions as a replacement for the DOS STACK= command as well
	  as permitting multiple TSRs to share a pool of stack space
InstallCheck:	test for the string "STACKXXX" at offset 0Ah from the
	  interrupt handler
SeeAlso: INT 2F/AX=C9FFh,INT B5"STACKMAN"
Index:	installation check;STACKMAN

Top
B5 - INT B5 - IBM ROM BASIC - used while in interpreter
INT B5 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT B4"BASIC",INT B6"BASIC"

Top
B5 - INT B5 - StackMan - RESTORE ORIGINAL STACK
INT B5 - StackMan - RESTORE ORIGINAL STACK
	SS:SP -> stack returned by INT B4
Return: SS:SP restored to value before INT B4
SeeAlso: INT 2F/AX=C9FFh,INT B4"StackMan"

Top
B5 - INT B5 U - Netroom NETSWAP4 - ???
INT B5 U - Netroom NETSWAP4 - ???
	???
Return: ???
SeeAlso: INT 31/AH=57h

Top
B6 - INT B6 - IBM ROM BASIC - used while in interpreter
INT B6 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT B5"BASIC",INT B7"BASIC"

Top
B6 - INT B6 - (NOT A VECTOR!) - USED BY TBFENCE
INT B6 - (NOT A VECTOR!) - USED BY TBFENCE
Program: TBFence is a security program by ESaSS B.V. which transparently
	  encrypts floppies and optionally allows only encrypted diskettes to
	  be accessed
Note:	the low word of this vector (0000h:02D8h) contains the segment of the
	  TBFence INT 13h code, which starts with the signature word E487h;
	  this forms the installation check
	the highest byte of this vector contains the start of a FAR JMP
	  instruction to ???
SeeAlso: INT B7"TBFENCE"
Index:	installation check;TBFence

Top
B7 - INT B7 - IBM ROM BASIC - used while in interpreter
INT B7 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT B6"BASIC",INT B8"BASIC"

Top
B7 - INT B7 - TBFENCE - ???
INT B7 - TBFENCE - ???
SeeAlso: INT B6"TBFENCE"

Top
B8 - INT B8 - IBM ROM BASIC - used while in interpreter
INT B8 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT B7"BASIC",INT B9"BASIC"

Top
B9 - INT B9 - IBM ROM BASIC - used while in interpreter
INT B9 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
BA - INT BA - IBM ROM BASIC - used while in interpreter
INT BA - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
BB - INT BB - IBM ROM BASIC - used while in interpreter
INT BB - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
BC - INT BC - IBM ROM BASIC - used while in interpreter
INT BC - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
BD - INT BD - IBM ROM BASIC - used while in interpreter
INT BD - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
BE - INT BE - IBM ROM BASIC - used while in interpreter
INT BE - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT BD"BASIC",INT BF"BASIC"

Top
BE - INT BE - DESQview/X - ???
INT BE - DESQview/X - ???
Note:	points at an IRET
SeeAlso: INT 15/AX=BFDEh/BX=0006h,INT 63"DESQview"

Top
BF - INT BF - IBM ROM BASIC - used while in interpreter
INT BF - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT BE"BASIC",INT C0"BASIC"

Top
C0 - INT C0 - IBM ROM BASIC - used while in interpreter
INT C0 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT BF"BASIC",INT C1"BASIC"

Top
C0 - INT C0 - AMI BIOS - DRIVE 0 DATA
INT C0 - AMI BIOS - DRIVE 0 DATA
Note:	this vector is used by some AMI BIOSes to store the first four bytes
	  of the hard disk parameter table
SeeAlso: INT 41"HARD DISK 0",INT 60"Adaptec",INT C1"AMI",INT C2"AMI"
SeeAlso: INT C3"AMI",INT C4"AMI"

Top
C1 - INT C1 - IBM ROM BASIC - used while in interpreter
INT C1 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C0"BASIC",INT C2"BASIC"

Top
C1 - INT C1 - AMI BIOS - DRIVE 0 DATA
INT C1 - AMI BIOS - DRIVE 0 DATA
Note:	this vector is used by some AMI BIOSes to store the second four bytes
	  of the hard disk parameter table
SeeAlso: INT 41"HARD DISK 0",INT 60"Adaptec",INT C0"AMI",INT C2"AMI"
SeeAlso: INT C3"AMI"

Top
C2 - INT C2 - IBM ROM BASIC - used while in interpreter
INT C2 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C1"BASIC",INT C3"BASIC"

Top
C2 - INT C2 - AMI BIOS - DRIVE 0 DATA
INT C2 - AMI BIOS - DRIVE 0 DATA
Note:	this vector is used by some AMI BIOSes to store the third four bytes
	  of the hard disk parameter table
SeeAlso: INT 41"DISK 0",INT 60"Adaptec",INT C0"AMI",INT C1"AMI",INT C3"AMI"

Top
C3 - INT C3 - IBM ROM BASIC - used while in interpreter
INT C3 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C2"BASIC",INT C4"BASIC"

Top
C3 - INT C3 - AMI BIOS - DRIVE 0 DATA
INT C3 - AMI BIOS - DRIVE 0 DATA
Note:	this vector is used by some AMI BIOSes to store the final four bytes
	  of the hard disk parameter table
SeeAlso: INT 41"DISK 0",INT 60"Adaptec",INT C0"AMI",INT C1"AMI",INT C2"AMI"

Top
C4 - INT C4 - IBM ROM BASIC - used while in interpreter
INT C4 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C3"BASIC",INT C5"BASIC"

Top
C4 - INT C4 - AMI BIOS - DRIVE 1 DATA
INT C4 - AMI BIOS - DRIVE 1 DATA
Note:	this vector is used by some AMI BIOSes to store the first four bytes
	  of the second hard disk's parameter table
SeeAlso: INT 46"HARD DISK 1",INT 64"Adaptec",INT C0"AMI",INT C5"AMI"
SeeAlso: INT C6"AMI",INT C7"AMI"

Top
C5 - INT C5 - IBM ROM BASIC - used while in interpreter
INT C5 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C4"BASIC",INT C6"BASIC"

Top
C5 - INT C5 - AMI BIOS - DRIVE 1 DATA
INT C5 - AMI BIOS - DRIVE 1 DATA
Note:	this vector is used by some AMI BIOSes to store the second four bytes
	  of the second hard disk's parameter table
SeeAlso: INT 46"HARD DISK 1",INT 64"Adaptec",INT C0"AMI",INT C4"AMI"
SeeAlso: INT C6"AMI",INT C7"AMI"

Top
C6 - INT C6 - IBM ROM BASIC - used while in interpreter
INT C6 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C5"BASIC",INT C7"BASIC"

Top
C6 - INT C6 - APL*PLUS/PC - IDENTICAL TO INT 86
INT C6 - APL*PLUS/PC - IDENTICAL TO INT 86
Note:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
SeeAlso: INT 86"APL"

Top
C6 - INT C6 - AMI BIOS - DRIVE 1 DATA
INT C6 - AMI BIOS - DRIVE 1 DATA
Note:	this vector is used by some AMI BIOSes to store the third four bytes
	  of the second hard disk's parameter table
SeeAlso: INT 46"HARD DISK 1",INT 64"Adaptec",INT C0"AMI",INT C4"AMI"
SeeAlso: INT C5"AMI",INT C7"AMI"

Top
C7 - INT C7 - IBM ROM BASIC - used while in interpreter
INT C7 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C6"BASIC",INT C8"BASIC"

Top
C7 - INT C7 - APL*PLUS/PC - ???
INT C7 - APL*PLUS/PC - ???
Note:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
SeeAlso: INT 87"APL"

Top
C7 - INT C7 - AMI BIOS - DRIVE 1 DATA
INT C7 - AMI BIOS - DRIVE 1 DATA
Note:	this vector is used by some AMI BIOSes to store the final four bytes
	  of the second hard disk's parameter table
SeeAlso: INT 46"HARD DISK 1",INT 64"Adaptec",INT C0"AMI",INT C4"AMI"
SeeAlso: INT C5"AMI",INT C6"AMI"

Top
C8 - INT C8 - IBM ROM BASIC - used while in interpreter
INT C8 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C7"BASIC",INT C9"BASIC"

Top
C8 - INT C8 - APL*PLUS/PC - IDENTICAL TO INT 88
INT C8 - APL*PLUS/PC - IDENTICAL TO INT 88
Note:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
SeeAlso: INT 88/AL=00h"APL",INT 88/AL=08h"APL"

Top
C9 - INT C9 - IBM ROM BASIC - used while in interpreter
INT C9 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C8"BASIC",INT CA"BASIC"

Top
C9 - INT C9 - APL*PLUS/PC - ???
INT C9 - APL*PLUS/PC - ???
Note:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
SeeAlso: INT 89"APL"

Top
CA - INT CA - IBM ROM BASIC - used while in interpreter
INT CA - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT C9"BASIC",INT CB"BASIC"

Top
CA - INT CA - APL*PLUS/PC - PRINT SCREEN
INT CA - APL*PLUS/PC - PRINT SCREEN
Note:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
SeeAlso: INT 8A"APL"

Top
CB - INT CB - IBM ROM BASIC - used while in interpreter
INT CB - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT CA"BASIC",INT CC"BASIC"

Top
CB - INT CB - APL*PLUS/PC - BEEP
INT CB - APL*PLUS/PC - BEEP
Notes:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
	same as printing a ^G via INT 21/AH=02h
SeeAlso: INT 8B"APL"

Top
CC - INT CC - IBM ROM BASIC - used while in interpreter
INT CC - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT CB"BASIC",INT CD"BASIC"

Top
CC - INT CC - APL*PLUS/PC - CLEAR SCREEN MEMORY
INT CC - APL*PLUS/PC - CLEAR SCREEN MEMORY
	AX = flag
	    0000h do not save display attributes
	    0001h save attributes
Note:	STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
	  the older interrupts
SeeAlso: INT 8C"APL"

Top
CD - INT CD - IBM ROM BASIC - used while in interpreter
INT CD - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT CC"BASIC",INT CE"BASIC"

Top
CD - INT CD - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT CD - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
CE - INT CE - IBM ROM BASIC - used while in interpreter
INT CE - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT CD"BASIC",INT CF"BASIC"

Top
CE - INT CE - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT CE - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
CF - INT CF - IBM ROM BASIC - used while in interpreter
INT CF - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT CE"BASIC",INT D0"BASIC"

Top
CF - INT CF - APL*PLUS/PC - DEFAULT LOW-RESOLUTION TIMER FOR QUAD MF FUNCTION
INT CF - APL*PLUS/PC - DEFAULT LOW-RESOLUTION TIMER FOR QUAD MF FUNCTION
SeeAlso: INT E0"APL"

Top
D0 - INT D0 - IBM ROM BASIC - used while in interpreter
INT D0 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT CF"BASIC",INT D1"BASIC"

Top
D0 - INT D0 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D0 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D0 - INT D0 - [not a vector!] - NJFRERAM SIGNATURE VECTOR
INT D0 - [not a vector!] - NJFRERAM SIGNATURE VECTOR
Program: NJFRERAM is a resident free-memory display utility by Mike "Nifty
	  James" Blaszczak
Note:	if NJFRERAM is installed, this vector points at the signature "NJ"
Index:	installation check;NJFRERAM

Top
D1 - INT D1 - IBM ROM BASIC - used while in interpreter
INT D1 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D0"BASIC",INT D2"BASIC"

Top
D1 - INT D1 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D1 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D2 - INT D2 - IBM ROM BASIC - used while in interpreter
INT D2 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D1"BASIC",INT D3"BASIC"

Top
D2 - INT D2 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D2 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D3 - INT D3 - IBM ROM BASIC - used while in interpreter
INT D3 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D2"BASIC",INT D4"BASIC"

Top
D3 - INT D3 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D3 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D3 - INT D3 - VIRUS - "Antiexe" - RELOCATED INT 13
INT D3 - VIRUS - "Antiexe" - RELOCATED INT 13
SeeAlso: INT 9F"VIRUS"

Top
D4 - INT D4 - IBM ROM BASIC - used while in interpreter
INT D4 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D3"BASIC",INT D5"BASIC"

Top
D4 - INT D4 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D4 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D400 - INT D4 O - PC-MOS/386 v5.01 - OBSOLETE FUNCTIONS
INT D4 O - PC-MOS/386 v5.01 - OBSOLETE FUNCTIONS
	AH = 00h and 01h
Return: nothing
Desc:	PC-MOS/386 v5.01 reports that these functions are no longer supported
	  and enters an endless loop
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.

Top
D402 - INT D4 - PC-MOS/386 v3.0+ - GET SYSTEM CONTROL BLOCK POINTER
INT D4 - PC-MOS/386 v3.0+ - GET SYSTEM CONTROL BLOCK POINTER
	AH = 02h
Return: AX = 0000h
	ES:BX -> System Control Block in V86 mode (see #04004)
	ES:EBX -> System Control Block in native mode (see #04004)
Note:	superseded by AH=26h
SeeAlso: AH=04h,AH=10h,AH=26h,AH=28h,AH=29h,AH=2Ah,INT 21/AX=3000h,INT 38

Format of PC-MOS/386 System Control Block:
Offset	Size	Description	(Table 04004)
 00h	WORD	pointer to first TCB in chain
 02h 17 BYTEs	reserved
 13h	WORD	pointer to current task's TCB
 15h	WORD	pointer to TCB of visible (console) task

Top
D403 - INT D4 - PC-MOS/386 v5.01 - GET/SET EXTENDED DIRECTORY INFORMATION
INT D4 - PC-MOS/386 v5.01 - GET/SET EXTENDED DIRECTORY INFORMATION
	AH = 03h
	AL = subfunction (00h get, 01h set)
	DS:(E)DX -> pathname
	ES:(E)BX -> 10-byte buffer for directory information (see #04005)
Return: CF clear if successful
	    AL = permitted access level for file (00h-03h)
	    ES:(E)BX -> modified buffer (AL=01h on entry)
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Notes:	BX/DX are used in V86 mode, EBX/EDX in native mode
	the file class cannot be changed for files because it affects the
	  encryption method, but directories can have their classes changed

Format of PC-MOS/386 directory information:
Offset	Size	Description	(Table 04005)
 00h	BYTE	reserved (0)
 01h	BYTE	file class ('A'-'Z' or 00h)
 02h	DWORD	user ID of file creator
 06h	WORD	file creation time (see #01665 at INT 21/AX=5700h)
 08h	WORD	file creation date (see #01666 at INT 21/AX=5700h)

Top
D404 - INT D4 - PC-MOS/386 v3.0+ - GET TASK CONTROL BLOCK
INT D4 - PC-MOS/386 v3.0+ - GET TASK CONTROL BLOCK
	AH = 04h
	BX = task ID or FFFFh for calling task
Return: CF clear if successful
	    ES = segment of Task Control Block (TCB) (see #04006)
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Note:	superseded by AH=27h
SeeAlso: AH=02h,AH=27h,AH=28h,AH=29h,AH=2Ah,INT 38

Format of PC-MOS/386 Task Control Block:
Offset	Size	Description	(Table 04006)
 00h	BYTE	signature byte "H" if allocated from system memory pool
 01h	BYTE	header block ID, "T" = TCB
 02h	WORD	length of block in paragraphs
 04h	WORD	segment address of next header block (0000h if last)
 06h	WORD	segment address of previous header block (0000h if first)
 08h	WORD	pointer to next TCB
 0Ah	WORD	pointer to previous TCB
 0Ch	WORD	pointer to associated TCB (if applicable)
 0Eh	WORD	reserved
---TCB---
 10h	WORD	TCB task ID
 12h	WORD	native context save area
 14h	WORD	start address of task
 16h	WORD	end address of task
 18h	BYTE	task priority
 19h	BYTE	task time slice
 1Ah	BYTE	"TCBWAIT" run status of task
 1Bh	BYTE	"TCBSTAT" what the task is waiting for
 1Ch	DWORD	address of polling routine
 20h	BYTE	error code from last function call
 21h 11 BYTEs	name of currently executing task
 2Ch  4 BYTEs	???
 30h	BYTE	keyboard disabled if bit 1 set
 31h	BYTE	current shift state and toggles
 32h  2 BYTEs	???
 34h	BYTE	current video mode
 35h	BYTE	current video page
 36h	BYTE	number of text columns per screen
 37h	BYTE	number of text rows per screen
 38h	WORD	length of video buffer
 3Ah	WORD	video page length
 3Ch	WORD	apge start address in video RAM
 3Eh  4 WORDs	current cursor positions for four screen pages
 46h  8 BYTEs	???
 4Eh	WORD	current cursor type
 50h	BYTE	current palette setting
 51h	BYTE	original video mode
 52h	BYTE	start CRT row (00h or 01h)
 53h	BYTE	video RAM in task active
 54h	WORD	handle of video save area
 56h	WORD	page count of video save area
 58h	WORD	segment address of video save area
 5Ah	WORD	poitner to first Task File Block (see #04009)
 5Ch	WORD	pointer to first Current Directory Block (see #04012)
 5Eh	WORD	pointer to active Current Directory Block (see #04012)
 60h	BYTE	number of drives
 61h	BYTE	current drive (0=A:, etc.)
 62h	DWORD	disk transfer address
 66h  4 BYTEs	???
 6Ah	BYTE	verify flag (nonzero = on)
 6Bh	BYTE	break flag (nonzero = on)
 6Ch	WORD	share/lock retry count
 6Eh	WORD	ticks between share/lock retries
 70h	BYTE	remote printer flags (see #04007)
 71h	BYTE	ETX/ACK delay count
 72h	WORD	spooler segment address
 74h  2 BYTEs	???
 76h  3 BYTEs	remote printer redirection for LPT1 through LPT3 (see #04008)
 79h  2 BYTEs	???
 7Bh	DWORD	offset of username in TCB
 7Fh	BYTE	current output class
 80h  7 BYTEs	protection access rights, 2 bits per class (writeable!)
 87h 122 BYTEs	???
101h	BYTE	TCB sleep downcounter value
102h 20 BYTEs	???
116h	BYTE	last scan code
	...
5D0h	DWORD	far pointer to Device Driver Terminal's entry point
5D4h	WORD	offset of logical screen
5D6h	WORD	segment of logical screen
5D8h	WORD	cursor offset within page
5DAh	BYTE	screen columns
5DBh	WORD	async port number (0000h = none)
5DDh	DWORD	physical baudrate
5E1h 19 BYTEs	reserved for Device Driver Terminal (DDT)
	...
7A6h	DWORD	far pointer to unregister calling chain

Bitfields for PC-MOS/386 remote printer flags:
Bit(s)	Description	(Table 04007)
 0	LPT1 to terminal
 1	LPT2 to terminal
 2	LPT3 to terminal
 3	escape to printer pending
 4	use XON/XOFF
 5	use ETX/ACK
 6	waiting for ACK or XON
 7	transparent printing on

(Table 04008)
Values for PC-MOS/386 remote printer redirection:
 00h	not redirected
 01h	redirected to COM1
 ...
 18h	redirected to COM24
 51h	redirected to LPT1
 52h	redirected to LPT2
 53h	redirected to LPT3

Format of PC-MOS/386 Task File Block:
Offset	Size	Description	(Table 04009)
 00h	BYTE	signature byte "H" if allocated from system memory pool
 01h	BYTE	header block ID, "F" = task file block
 02h	WORD	length of block in paragraphs
 04h	WORD	segment address of next header block (0000h if last)
 06h	WORD	segment address of previous header block (0000h if first)
 08h	WORD	pointer to next TCB
 0Ah	WORD	pointer to previous TCB
 0Ch	WORD	pointer to associated TCB (if applicable)
 0Eh	WORD	reserved
---TFB---
 10h	WORD	segment address of next TFB
 12h	WORD	segment address of previous TFB
 14h	WORD	segment address of TFB's Global File Block (see #04011)
 16h	WORD	segment address of owner's PSP
 18h	WORD	file handle
 1Ah  3 BYTEs	???
 1Dh	DWORD	file position
 21h  4 BYTEs	???
 25h	BYTE	IOCTL flags (see #04010)
 26h  2 BYTEs	???

Bitfields for PC-MOS/386 IOCTL flags:
Bit(s)	Description	(Table 04010)
 0	stdin
 1	stdout
 2	null device
 3	clock device
 4	reserved
 5	ASCII mode instead of binary
 6	EOF encountered on input
 7	device rather than file

Format of PC-MOS/386 Global File Block:
Offset	Size	Description	(Table 04011)
 00h	BYTE	signature byte "H" if allocated from system memory pool
 01h	BYTE	header block ID, "G" = global file block
 02h	WORD	length of block in paragraphs
 04h	WORD	segment address of next header block (0000h if last)
 06h	WORD	segment address of previous header block (0000h if first)
 08h	WORD	pointer to next TCB
 0Ah	WORD	pointer to previous TCB
 0Ch	WORD	pointer to associated TCB (if applicable)
 0Eh	WORD	reserved
---GFB---
 10h 10 BYTEs	???
 1Ah	WORD	file attribute
 1Ch	BYTE	???
 1Dh	DWORD	address of device driver
 21h	WORD	first cluster
 23h	WORD	time of last modification
 25h	WORD	date of last modification
 27h	DWORD	size of file in bytes
 2Bh 11 BYTEs	???
 36h 11 BYTEs	device name or FCB-format filename
 41h	WORD	segment address of TFB list
 43h	WORD	segment address of first RLB (see #04014) (0000h = none)
 45h	BYTE	flag: nonzero if GFB refers to character device
 46h	WORD	address of Block Device Block (see #04013)
 48h	WORD	sector of file's directory entry (see #01352)
 4Ah	WORD	high word of file's directory entry
 4Ch	WORD	ofsset of directory entry within sector

Format of PC-MOS/386 Current Directory Block:
Offset	Size	Description	(Table 04012)
 00h	BYTE	signature byte "H" if allocated from system memory pool
 01h	BYTE	header block ID, "C" = current directory block
 02h	WORD	length of block in paragraphs
 04h	WORD	segment address of next header block (0000h if last)
 06h	WORD	segment address of previous header block (0000h if first)
 08h	WORD	pointer to next TCB
 0Ah	WORD	pointer to previous TCB
 0Ch	WORD	pointer to associated TCB (if applicable)
 0Eh	WORD	reserved
---CDB---
 10h	BYTE	drive number
 11h	BYTE	???
 12h 64 BYTEs	directory name
 52h	WORD	first directory cluster (0000h = root)

Format of PC-MOS/386 Block Device Block:
Offset	Size	Description	(Table 04013)
 00h	BYTE	signature byte "H" if allocated from system memory pool
 01h	BYTE	header block ID, "B" = block device block
 02h	WORD	length of block in paragraphs
 04h	WORD	segment address of next header block (0000h if last)
 06h	WORD	segment address of previous header block (0000h if first)
 08h	WORD	pointer to next TCB
 0Ah	WORD	pointer to previous TCB
 0Ch	WORD	pointer to associated TCB (if applicable)
 0Eh	WORD	reserved
---BDB---
 10h	BYTE	logical drive
 11h	BYTE	unit passed to driver
 12h	WORD	sector size
 14h	BYTE	cluster mask
 15h	BYTE	cluster shift count
 16h	WORD	starting sector of first FAT
 18h	BYTE	number of FATs
 19h	WORD	number of root directories
 1Bh	WORD	sector number of first data sector (cluster 0002h)
 1Dh	WORD	number of clusters + 1 (number of highest data cluster)
 1Fh	BYTE	number of sectors in FAT
 20h	WORD	beginning root directory sector number
 22h	DWORD	device driver address
 26h	BYTE	media descriptor byte
 27h  5 BYTEs	???
 2Ch	BYTE	flag: volume > 32MB
 2Dh	BYTE	???
 2Eh	BYTE	number of sectors per cluster
 2Fh	WORD	number of clusters on device
 31h	WORD	number of free clusters (FFFFh = unknown)
 33h	WORD	root directory cluster number
 35h	WORD	pointer to alias/subst string
 37h	WORD	TCB segment address of owner (0000h = none)

Format of PC-MOS/386 Record Lock Block:
Offset	Size	Description	(Table 04014)
 00h	BYTE	signature byte "H" if allocated from system memory pool
 01h	BYTE	header block ID, "R" = record lock block
 02h	WORD	length of block in paragraphs
 04h	WORD	segment address of next header block (0000h if last)
 06h	WORD	segment address of previous header block (0000h if first)
 08h	WORD	pointer to next TCB
 0Ah	WORD	pointer to previous TCB
 0Ch	WORD	pointer to associated TCB (if applicable)
 0Eh	WORD	reserved
---RLB---
 10h	WORD	segment address of owner's PSP
 12h	WORD	segment address of Global File Block (see #04011)
 14h	WORD	segment address of owner's Task File Block (see #04009)
 16h	DWORD	file offset of locked region start
 1Ah	DWORD	length of locked region
 1Eh	WORD	owner's handle for file

Top
D407 - INT D4 - PC-MOS/386 v3.0+ - WAIT FOR EVENT
INT D4 - PC-MOS/386 v3.0+ - WAIT FOR EVENT
	AH = 07h
	AL = events to monitor (see #04015)
	BX = number of timer ticks until timeout if AL bit 1 set
	CX = bitmap of IRQs to monitor if AL bit 2 set
		(bit 0 = IRQ0 .. bit 15 = IRQ15)
	DX = port to monitor if AL bit 3 set
Return: CF clear if successful
	    AL = type of event which woke up task (see #04015)
	    CX = IRQ (if any) which awakened task
	    DX = port (if any) which awakened task
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Note:	a device driver may make this call with AL=00h, which indicates that
	  the driver is responsible for setting and clearing the TCBWAIT field
	  in the TCB.  To put task to sleep, set TCBWAIT bits 2-0 to 001; to
	  reawaken it, set bit 1 (leaving other bits unchanged)
SeeAlso: AH=04h,INT 16/AH=00h,INT 38

Bitfields for PC-MOS/386 events to monitor:
Bit(s)	Description	(Table 04015)
 0	keystroke
 1	timeout
 2	IRQ
 3	port access
 7	return status of user poll routine (other ignored if set)

Top
D410 - INT D4 - PC-MOS/386 v3.0+ - ENTER/LEAVE NATIVE 386 EXECUTION MODE
INT D4 - PC-MOS/386 v3.0+ - ENTER/LEAVE NATIVE 386 EXECUTION MODE
	AH = 10h
	AL = direction (00h return to V86 mode, 01h enter native mode)
	CX = length in bytes of Native Context Area ( >=1024 )
	DX = segment of Native Context Area
Return: CF clear if successful
	    running in desired mode at instruction following INT D4 call
	    all segment registers converted to appropriate selectors/segments
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Note:	MS-DOS calls are available in protected mode
SeeAlso: AH=11h,AH=12h,AH=13h,INT 2F/AX=1687h,INT 67/AX=DE0Ch,INT 38

Top
D411 - INT D4 - PC-MOS/386 v3.0+ - ALLOCATE NATIVE MODE MEMORY BLOCK
INT D4 - PC-MOS/386 v3.0+ - ALLOCATE NATIVE MODE MEMORY BLOCK
	AH = 11h
	EBX = block length in bytes
Return: CF clear if successful
	    EBX = number of bytes actually allocated
	    ES = selector for allocated block
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
Note:	the memory must be released before the program terminates
SeeAlso: AH=10h,AH=12h,INT 38

Top
D412 - INT D4 - PC-MOS/386 v3.0+ - FREE NATIVE MODE MEMORY BLOCK
INT D4 - PC-MOS/386 v3.0+ - FREE NATIVE MODE MEMORY BLOCK
	AH = 12h
	ES = selector for block to free
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AH=10h,AH=11h,AH=13h,INT 38

Top
D413 - INT D4 - PC-MOS/386 v5.01 - GET ALIAS FOR SELECTOR (NATIVE MODE ONLY)
INT D4 - PC-MOS/386 v5.01 - GET ALIAS FOR SELECTOR (NATIVE MODE ONLY)
	AH = 13h
	AL = type of alias selector (00h data, 01h stack, 02h code)
	BX = selector
Return: CF clear if successful
	    AX = new selector or 0000h if BX selector not found
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AH=11h,AH=12h

Top
D416 - INT D4 - PC-MOS/386 v5.01 - SET/CLEAR IRQ RESERVATION
INT D4 - PC-MOS/386 v5.01 - SET/CLEAR IRQ RESERVATION
	AH = 16h
	AL = function (00h clear, 01h set reservation)
	CX = IRQ number
Return: AX = status
	    (0000h successful, 0001h currently reserved by another task)
SeeAlso: AH=07h,INT 14/AH=11h"PC-MOS"

Top
D419 - INT D4 - PC-MOS/386 v5.01 - GET TASK ID
INT D4 - PC-MOS/386 v5.01 - GET TASK ID
	AH = 19h
Return: BX = caller's task ID
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
SeeAlso: AH=1Dh,AH=1Eh

Top
D41A - INT D4 - PC-MOS/386 v5.01 - GET/SET TASK PRIORITY
INT D4 - PC-MOS/386 v5.01 - GET/SET TASK PRIORITY
	AH = 1Ah
	AL = subfunction (00h read, 01h set, 02h get and set)
	BX = task ID (FFFFh for current task)
	CL = new priority value
Return: CF clear if successful
	    CL = current priority value
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AH=1Bh,AH=1Ch

Top
D41B - INT D4 - PC-MOS/386 v5.01 - GET/SET TIME SLICE
INT D4 - PC-MOS/386 v5.01 - GET/SET TIME SLICE
	AH = 1Bh
	AL = subfunction (00h read, 01h set, 02h get and set)
	BX = task ID (FFFFh for current task) (see AH=19h)
	CL = new time slice value
Return: CF clear if successful
	    CL = current time slice value
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AH=1Ah,AH=1Ch

Top
D41C - INT D4 - PC-MOS/386 v5.01 - GET/SET KEYBOARD MODE
INT D4 - PC-MOS/386 v5.01 - GET/SET KEYBOARD MODE
	AH = 1Ch
	AL = subfunction (00h enable, 01h disable, 02h get mode)
	BX = task ID (FFFFh for current task)
Return: CF clear if successful
	    CL = current keyboard state
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
SeeAlso: AH=1Ah,AH=1Bh

Top
D41D - INT D4 - PC-MOS/386 v5.01 - GET CURRENT PROGRAM NAME
INT D4 - PC-MOS/386 v5.01 - GET CURRENT PROGRAM NAME
	AH = 1Dh
	BX = task ID (FFFFh for current task) (see AH=19h)
	ES:DI -> buffer for program name (see #04016)
Return: CF clear if successful
	    ES:DI buffer filled
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AH=19h,AH=1Eh

Format of PC-MOS/386 program name buffer:
Offset	Size	Description	(Table 04016)
 00h  8 BYTEs	filename
 08h  3 BYTEs	extension

Top
D41E - INT D4 - PC-MOS/386 v5.01 - GET CURRENT USERNAME AND SECURITY CLASS
INT D4 - PC-MOS/386 v5.01 - GET CURRENT USERNAME AND SECURITY CLASS
	AH = 1Eh
	BX = task ID (FFFFh for current task)
	ES:DI -> 4-byte buffer for username
Return: CF clear if successful
	    CL = security class
		20h (' ') none
		41h-5Ah ('A'-'Z') security level
	    ES:DI buffer filled
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AH=19h,AH=1Dh

Top
D41F - INT D4 - PC-MOS/386 v5.01 - GET TASK PARTITION INFORMATION
INT D4 - PC-MOS/386 v5.01 - GET TASK PARTITION INFORMATION
	AH = 1Fh
	BX = task ID (FFFFh for current task) (see AH=19h)
Return: CF clear if successful
	    CX = start segment of task
	    DX = ending segment of task
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
SeeAlso: AH=2Dh

Top
D420 - INT D4 - PC-MOS/386 v5.01 - GET PORT AND BAUDRATE INFORMATION
INT D4 - PC-MOS/386 v5.01 - GET PORT AND BAUDRATE INFORMATION
	AH = 20h
	BX = task ID (FFFFh for current task) (see AH=19h)
Return: CF clear if successful
	    CX = port number (0000h if none)
	    DI:SI = baudrate (if CX nonzero)
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: INT 14/AH=0Ch"FOSSIL"

Top
D421 - INT D4 - PC-MOS/386 v5.01 - REMOVE A TASK
INT D4 - PC-MOS/386 v5.01 - REMOVE A TASK
	AH = 21h
	BX = task ID (FFFFh for current task) (see AH=19h)
Return: CF clear if successful
	    AX = ASCII percentage of System Memory Pool used
		(AH = tens digit, AL = ones digit)
	    DS,SI destroyed
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
SeeAlso: AH=22h

Top
D422 - INT D4 - PC-MOS/386 v5.01 - ADD A TASK TO THE SYSTEM
INT D4 - PC-MOS/386 v5.01 - ADD A TASK TO THE SYSTEM
	AH = 22h
	DS:SI -> addtask data structure (see #04018)
Return: CF clear if successful
	    ES = segment address of the new task's TCB data structure
	CF set on error
	    AX = error code (see #04017)
SeeAlso: AH=21h

(Table 04017)
Values for PC-MOS/386 error code:
 08h	insufficient memory
 0Bh	invalid addtask structure format
 12h	insufficient available space in system memory pool
 1Fh	general failure
 55h	already allocated
 57h	if task already in use or invalid parameter

Format of PC-MOS/386 addtask data structure:
Offset	Size	Description	(Table 04018)
 00h	WORD	task size in KB (min 16KB)
 02h	WORD	task ID (0000h for automatic selection)
 04h	BYTE	task class (' ' or 'A'-'Z')
 05h	DWORD	-> ASCIZ name of task startup batchfile
 09h	DWORD	-> task's terminal driver (0000000h = background task)
 0Dh	WORD	task port
 0Fh	DWORD	task baud rate
 13h	DWORD	(ret) total extended memory
 17h	DWORD	(ret) number of 4K extended memory pages allocated
 1Bh	WORD	(ret) paragraphs of system memory pool allocated
 1Dh	WORD	(ret) system memory pool size in paragraphs
 1Fh	WORD	(ret) ASCII task percentage of system memory pool
 21h  3 BYTEs	reserved

Top
D423 - INT D4 - PC-MOS/386 v5.01 - CHANGE TERMINAL DRIVER
INT D4 - PC-MOS/386 v5.01 - CHANGE TERMINAL DRIVER
	AH = 23h
	BX = task ID (FFFFh for current task)
	DS:SI -> entry point of the new Device Driver Terminal
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)

Top
D424 - INT D4 U - PC-MOS/386 v5.01 - GET OPERATING SYSTEM SERIAL NUMBER
INT D4 U - PC-MOS/386 v5.01 - GET OPERATING SYSTEM SERIAL NUMBER
	AH = 24h
Return: DS:DX -> '$'-terminated string containing the serial number

Top
D425 - INT D4 - PC-MOS/386 v5.01 - IDENTIFY LOAD ADDRESS OF DEVICE DRIVER LOCATION
INT D4 - PC-MOS/386 v5.01 - IDENTIFY LOAD ADDRESS OF DEVICE DRIVER LOCATION
	AH = 25h
	DX = driver's CS value
Return: AX = segment address of driver in system memory pool
	    (0000h if the driver is not within the system memory pool)
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.

Top
D426 - INT D4 - PC-MOS/386 v5.01 - GET SYSTEM CONTROL BLOCK SEGMENT/SELECTOR
INT D4 - PC-MOS/386 v5.01 - GET SYSTEM CONTROL BLOCK SEGMENT/SELECTOR
	AH = 26h
Return: DX = segment/selector of the System Control Block (see #04004)
Note:	this function supersedes AH=02h
SeeAlso: AH=02h,AH=27h,AH=28h,AH=29h,AH=2Ah

Top
D427 - INT D4 - PC-MOS/386 v5.01 - GET TASK CONTROL BLOCK SEGMENT/SELECTOR
INT D4 - PC-MOS/386 v5.01 - GET TASK CONTROL BLOCK SEGMENT/SELECTOR
	AH = 27h
	BX = task ID (FFFFh if current task) (see AH=19h)
Return: CF clear if successful
	    DX = segment/selector for the Task Control Block (see #04006)
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
Note:	this function supersedes AH=04h
SeeAlso: AH=26h,AH=28h,AH=29h,AH=2Ah

Top
D428 - INT D4 - PC-MOS/386 v5.01 - GET CONTROL BLOCK DATA FROM SCB OR TCB
INT D4 - PC-MOS/386 v5.01 - GET CONTROL BLOCK DATA FROM SCB OR TCB
	AH = 28h
	BX = offset into control block at which to start reading
	CX = number of bytes to read
	DX = segment/selector of control block obtained via AH=26h or AH=27h
	ES:DI -> buffer for data
Return: CF clear if successful
	CF set on error
	    AX = error code (see also #01680 at INT 21/AH=59h/BX=0000h)
		05h access denied due to an invalid segment/selector
SeeAlso: AH=26h,AH=27h,AH=29h,AH=2Ah

Top
D429 - INT D4 - PC-MOS/386 v5.01 - WRITE CONTROL BLOCK DATA INTO SCB OR TCB
INT D4 - PC-MOS/386 v5.01 - WRITE CONTROL BLOCK DATA INTO SCB OR TCB
	AH = 29h
	BX = offset into control block at which to start writing
	CX = number of bytes to write
	DX = segment/selector of control block obtained via AH=26h or AH=27h
	DS:SI -> buffer containing data to be written
Return: CF clear if successful
	CF set on errro
	    AX = error code (see also #01680 at INT 21/AH=59h/BX=0000h)
		05h access denied due to an invalid segment/selector
Note:	 this function performs no bounds checking
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
SeeAlso: AH=26h,AH=27h,AH=28h,AH=2Ah

Top
D42A - INT D4 - PC-MOS/386 v5.01 - SWAP CONTROL BLOCK DATA OF SCB OR TCB
INT D4 - PC-MOS/386 v5.01 - SWAP CONTROL BLOCK DATA OF SCB OR TCB
	AH = 2Ah
	BX = offset into control block at which to start swap
	CX = number of bytes to swap
	DX = segment/selector of control block obtained via AH=26h or AH=27h
	DS:SI -> buffer containing new data and to receive current data
Return: CF clear if successful
	CF set on error
	    AX = error code (see also #01680 at INT 21/AH=59h/BX=0000h)
		05h access denied due to an invalid segment/selector
Note:	the interrupts are disabled during the swap to prevent corruption
SeeAlso: AH=26h,AH=27h,AH=28h,AH=29h

Top
D42C - INT D4 - PC-MOS/386 v5.01 - GET/SET SPOOLER PARAMETERS
INT D4 - PC-MOS/386 v5.01 - GET/SET SPOOLER PARAMETERS
	AH = 2Ch
	AL = function
	    00h set spooler timeout
		CX = timout value in seconds
	    01h get spooler timeout
		Return: CX = current timeout in seconds
	    02h get spooler parameters
		Return: CH = priority (00h-09h)
			CL = disposition (d, h, i, n, s)
			SI = class (a - z)
	    03h set spooler parameters
		CH = priority (00h-09h)
		CL = disposition (d, h, i, n, s)
		SI = class (a - z)
		BX = task ID (FFFFh for current task)
		DX = LPT number
Return: CF clear if successful
	CF set on error
	    AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
SeeAlso: AH=00h,AH=02h,AH=03h

Top
D42D - INT D4 - PC-MOS/386 v5.01 - GET MAXIMUM TASK SIZE
INT D4 - PC-MOS/386 v5.01 - GET MAXIMUM TASK SIZE
	AH = 2Dh
Return: DX = maximum task size in paragraphs
	BX = start address of task space
Program: PC-MOS/386 is a multitasking/multiuser MS-DOS-compatible operating
	  system by The Software Link, Inc.
SeeAlso: AH=1Fh,AH=22h

Top
D5 - INT D5 - IBM ROM BASIC - used while in interpreter
INT D5 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D4"BASIC",INT D6"BASIC"

Top
D5 - INT D5 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D5 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D6 - INT D6 - IBM ROM BASIC - used while in interpreter
INT D6 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D5"BASIC",INT D7"BASIC"

Top
D6 - INT D6 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D6 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D7 - INT D7 - IBM ROM BASIC - used while in interpreter
INT D7 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D6"BASIC",INT D8"BASIC"

Top
D7 - INT D7 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D7 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D8 - INT D8 - IBM ROM BASIC - used while in interpreter
INT D8 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D7"BASIC",INT D9"BASIC"

Top
D8 - INT D8 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D8 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D8 - INT D8 - Screen Thief v1.00 - RELOCATED IRQ0
INT D8 - Screen Thief v1.00 - RELOCATED IRQ0
Range:	INT 78h to INT E0h, selected by commandline switch
Note:	Screen Thief relocates IRQs 0 through 7 to INT D8 to INT DF by default,
	  but may be directed via a commandline switch to use any range
	  starting at a multiple of 8 between 78h and E0h
SeeAlso: INT 08"IRQ0",INT 2D/AL=10h"Screen Thief",INT 50"DESQview"
SeeAlso: INT D9"Screen Thief"

Top
D9 - INT D9 - IBM ROM BASIC - used while in interpreter
INT D9 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D8"BASIC",INT DA"BASIC"

Top
D9 - INT D9 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT D9 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
D9 - INT D9 - Screen Thief v1.00 - RELOCATED IRQ1
INT D9 - Screen Thief v1.00 - RELOCATED IRQ1
Range:	INT 79h to INT E1h, selected by commandline switch
Note:	(see INT D8"Screen Thief")
SeeAlso: INT 09"IRQ1",INT D8"Screen Thief",INT DA"Screen Thief"

Top
DA - INT DA - IBM ROM BASIC - used while in interpreter
INT DA - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT D9"BASIC",INT DB"BASIC"

Top
DA - INT DA - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT DA - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
DA - INT DA - Screen Thief v1.00 - RELOCATED IRQ2
INT DA - Screen Thief v1.00 - RELOCATED IRQ2
Range:	INT 7Ah to INT E2h, selected by commandline switch
Note:	(see INT D8"Screen Thief")
SeeAlso: INT 0A"IRQ2",INT D9"Screen Thief",INT DB"Screen Thief"

Top
DB - INT DB - IBM ROM BASIC - used while in interpreter
INT DB - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT DA"BASIC",INT DC"BASIC"

Top
DB - INT DB - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT DB - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
DB - INT DB - Screen Thief v1.00 - RELOCATED IRQ3
INT DB - Screen Thief v1.00 - RELOCATED IRQ3
Range:	INT 7Bh to INT E3h, selected by commandline switch
Note:	(see INT D8"Screen Thief")
SeeAlso: INT 0B"IRQ3",INT DA"Screen Thief",INT DC"Screen Thief"

Top
DC - INT DC - PC/370 v4.1- - API
INT DC - PC/370 v4.1- - API
SeeAlso: INT 60"PC/370"

Top
DC - INT DC - IBM ROM BASIC - used while in interpreter
INT DC - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT DB"BASIC",INT DD"BASIC"

Top
DC - INT DC - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
INT DC - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES

Top
DC - INT DC - Screen Thief v1.00 - RELOCATED IRQ4
INT DC - Screen Thief v1.00 - RELOCATED IRQ4
Range:	INT 7Ch to INT E4h, selected by commandline switch
Note:	(see INT D8"Screen Thief")
SeeAlso: INT 0C"IRQ4",INT DB"Screen Thief",INT DD"Screen Thief"

Top
DD - INT DD - IBM ROM BASIC - used while in interpreter
INT DD - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT DC"BASIC",INT DE"BASIC"

Top
DD - INT DD - STSC APL*PLUS/PC v9.0 - PLACE KEYSTROKE EVENTS IN INPUT BUFFER
INT DD - STSC APL*PLUS/PC v9.0 - PLACE KEYSTROKE EVENTS IN INPUT BUFFER
	BX = where to place keystrokes
	    FFFFh insert before current buffer contents
	    0000h replace current contents
	    0001h insert after current contents
	CX = number of keystroke events to insert
	ES:SI -> data to be placed into buffer (list of WORD key codes)
	    4000h + N = normal ASCII keystroke N (N = 00h to FFh)
	    4100h + N = extended ASCII keystroke N (N = 03h to 84h)
Return: nothing
SeeAlso: INT 16/AH=05h

Top
DD - INT DD - Screen Thief v1.00 - RELOCATED IRQ5
INT DD - Screen Thief v1.00 - RELOCATED IRQ5
Range:	INT 7Dh to INT E5h, selected by commandline switch
Note:	(see INT D8"Screen Thief")
SeeAlso: INT 0D"IRQ5",INT DC"Screen Thief",INT DE"Screen Thief"

Top
DE - INT DE - IBM ROM BASIC - used while in interpreter
INT DE - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT DD"BASIC",INT DF"BASIC"

Top
DE - INT DE - APL*PLUS/PC - ???
INT DE - APL*PLUS/PC - ???
Note:	appears to be the same as INT 16

Top
DE - INT DE - Screen Thief v1.00 - RELOCATED IRQ6
INT DE - Screen Thief v1.00 - RELOCATED IRQ6
Range:	INT 7Eh to INT E6h, selected by commandline switch
Note:	(see INT D8"Screen Thief")
SeeAlso: INT 0E"IRQ6",INT DD"Screen Thief",INT DF"Screen Thief"

Top
DF - INT DF - Victor 9000/Sirius 1 - SuperBIOS
INT DF - Victor 9000/Sirius 1 - SuperBIOS
SeeAlso: INT 21/AH=EAh"NetWare"

Top
DF - INT DF - IBM ROM BASIC - used while in interpreter
INT DF - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT DE"BASIC",INT E0"BASIC"

Top
DF - INT DF - APL*PLUS/PC - SAME AS INT 10
INT DF - APL*PLUS/PC - SAME AS INT 10
SeeAlso: INT 10/AH=00h,INT 10/AH=0Eh

Top
DF - INT DF - Screen Thief v1.00 - RELOCATED IRQ7
INT DF - Screen Thief v1.00 - RELOCATED IRQ7
Range:	INT 7Fh to INT E7h, selected by commandline switch
Note:	(see INT D8"Screen Thief")
SeeAlso: INT 0F"IRQ7",INT DE"Screen Thief"

Top
E0 - INT E0 - IBM ROM BASIC - used while in interpreter
INT E0 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT 80"BASIC",INT DF"BASIC",INT E1"BASIC"

Top
E0 - INT E0 - APL*PLUS/PC - RESTIME HIGH-RESOLUTION TIMER FOR QUAD MF FUNCTION
INT E0 - APL*PLUS/PC - RESTIME HIGH-RESOLUTION TIMER FOR QUAD MF FUNCTION
SeeAlso: INT CF"APL"

Top
E0 - INT E0 - VIRUS - "Micro-128" - ???
INT E0 - VIRUS - "Micro-128" - ???
Note:	Micro-128 also overwrites the upper half of the interrupt table
SeeAlso: INT 9E"VIRUS",INT F1"VIRUS"

Top
E0 - INT E0 - DeskMate (Tandy) - DESK EXECUTIVE API
INT E0 - DeskMate (Tandy) - DESK EXECUTIVE API
	AX = function code (numerous)
	parameters passed in BX, DX, ES, DI, and/or BP
Return: AX = return from function
Program: DeskMate is a proprietary GUI from Tandy distributed with several
	  models of the Tandy 1000's, 2500's, 3000's, and laptops.  Retail
	  and runtime versions also exist.  Some Tandy's are designed to
	  boot directly into DeskMate.
SeeAlso: INT 15/AX=7002h,INT E1"DeskMate"

Top
E0 - INT E0 - CP/M-86, Concurrent CP/M, DR Multiuser DOS - FUNCTION CALLS
INT E0 - CP/M-86, Concurrent CP/M, DR Multiuser DOS - FUNCTION CALLS
	CL = function number (see #04019,#04020)
	DS,DX contain parameter(s):
		DL = byte parameter
		DX = word parameter
		DS:DX -> structure
Return: as appropriate for function:
		AL = byte result
		AX = word
		ES:AX -> structure (and BX=ES)
	CX is often the error code (see #04021)
Notes:	several functions are covered in more detail in following entries
	most of these calls are also supported by Digital Research's DOS Plus
	  v2.1; the unsupported functions are 26h,29h-2Bh,3Ah,3Dh-62h,71h-8Ch,
	  90h-92h,94h-97h,9Bh-ABh, and AEh-FFh
SeeAlso: INT 21/AX=4459h,INT 21/AH=E0h"DOS Plus",INT E6"CP/M-86"

(Table 04019)
Values for CP/M-86,DR Multiuser DOS function number:
 00h	terminate calling process			(see INT E0/CL=00h)
 01h	read a character				(see INT E0/CL=01h)
 02h	write character to default console		(see INT E0/CL=02h)
 03h	read character from default AUX			(see INT E0/CL=03h)
 04h	write character to default AUX			(see INT E0/CL=04h)
 05h	write character to default list device		(see INT E0/CL=05h)
 06h	perform raw I/O on default console		(see INT E0/CL=06h)
 07h	return default AUX input status			(see INT E0/CL=07h)
 08h	return default AUX output status		(see INT E0/CL=08h)
 09h	write string to default console			(see INT E0/CL=09h)
 0Ah	read string from default console		(see INT E0/CL=0Ah)
 0Bh	return default console input status		(see INT E0/CL=0Bh)
 0Ch	get BDOS release ID				(see INT E0/CL=0Ch)
 0Dh	reset all disk drives		(see also INT 21/AH=0Dh)
 0Eh	set default drive		(see also INT 21/AH=0Eh"DOS 1+")
 0Fh	open file via FCB		(see also INT 21/AH=0Fh,#01345)
 10h	close file via FCB		(see also INT 21/AH=10h)
 11h	search for first matching file with FCB (see also INT 21/AH=11h)
 12h	search for next matching file with FCB (see also INT 21/AH=12h)
 13h	delete file via FCB		(see also INT 21/AH=13h)
 14h	sequential read via FCB		(see also INT 21/AH=14h)
 15h	sequential write via FCB	(see also INT 21/AH=15h)
 16h	create file via FCB		(see also INT 21/AH=16h)
 17h	rename file via FCB		(see also INT 21/AH=17h)
 18h	get bit map of logged drives
 19h	get default drive		(see also INT 21/AH=19h)
 1Ah	set DMA address offset
 1Bh	get default disk allocation vector (see also INT 21/AH=1Bh)
 1Ch	set default drive to read-only
 1Dh	get bit map of read-only drives
 1Eh	set file attributes via FCB	(see also INT 21/AX=4301h)
 1Fh	get address of disk parameter block (see also INT 21/AH=1Fh)
 20h	get/set default user number
 21h	read random record via FCB	(see also INT 21/AH=21h)
 22h	write random record via FCB	(see also INT 21/AH=22h)
 23h	compute file size with FCB	(see also INT 21/AH=23h)
 24h	get FCB random record number	(see also INT 21/AH=24h)
 25h	reset specified drives
 26h	access specified drives (not in DR DOS Plus v2.1)
 27h	free specified drives
 28h	write random with FCB, zero fill (see also INT 21/AH=28h)
 2Ah	lock records in FCB file	(see also INT 21/AH=5Ch)
 2Bh	unlock records in FCB file	(see also INT 21/AH=5Ch)
 2Ch	set BDOS multisector count
 2Dh	set BDOS error mode
 2Eh	get free space on disk
 2Fh	load, initialize, and jump to process ("chain process")
	(see INT E0/CL=2Fh,INT 21/AH=4Bh)
 30h	flush write-deferred buffers
 31h	get/set system variable (DOS Plus v2.1)
 32h	call BIOS (XIOS) character routine (see #04020)
 33h	set DMA address segment
 34h	get DMA buffer address
 35h	CP/M-86 allocate maximum memory			(see INT E0/CL=35h)
 36h	allocate maximum memory at specified segment	(see INT E0/CL=36h)
 37h	CP/M-86 allocate memory segment (see INT E0/CL=37h,INT 21/AH=48h)
 38h	allocate memory at specified segment		(see INT E0/CL=38h)
 39h	CP/M-86 free specified memory segment (see INT E0/CL=39h,INT 21/AH=49h)
 3Ah	CP/M-86 free all memory (not in DOS Plus v2.1)	(see INT E0/CL=3Ah)
 3Bh	load .CMD file into memory			(see INT E0/CL=3Bh)
 3Ch	(DOS Plus v2.1) call RSX program
 40h	(DR-NET, REAL/32) log on a server		(see INT E0/CL=40h)
 41h	(DR-NET, REAL/32) log off a server		(see INT E0/CL=41h)
 42h	(DR-NET) send a message
 43h	(DR-NET) receive a message
 44h	(DR-NET, REAL/32) get network status		(see INT E0/CL=44h)
 45h	(DR-NET, REAL/32) get requestor config table	(see INT E0/CL=45h)
 46h	(DR-NET) set compatibility attributes
 47h	(DR-NET, REAL/32) get server configuration table (see INT E0/CL=47h)
 48h	(DR-NET, REAL/32) set network error mode	(see INT E0/CL=48h)
 49h	(DR-NET, REAL/32) attach network
 4Ah	(DR-NET, REAL/32) detach network
 4Bh	(DR-NET, REAL/32) set default password
 4Ch	(DR-NET, REAL/32) get-set long timeout
 4Dh	(DR-NET, REAL/32) get parameter table
 4Fh	(REAL/32) get extended network error
 50h	(DR-NET, REAL/32) get network information
 53h	get current time			(see also INT 21/AH=2Ch)
 54h	set current time			(see also INT 21/AH=2Dh)
 55h	get binary system date			(see also INT 21/AH=2Ah)
 56h	set system date				(see also INT 21/AH=2Bh"DATE")
 57h	allocate system flag
 58h	deallocate system flag
 59h	reserve memory in global area			(see INT E0/CL=59h)
 5Ah	lock physical drive
 5Bh	unlock physical drive
 5Ch	search path for executable file			(see INT E0/CL=5Ch)
 5Dh	load and execute command			(see INT E0/CL=5Dh)
 5Eh	get/set process exit code			(see INT E0/CL=5Eh)
 5Fh	set country information
 60h	get country information
 63h	truncate FCB file (see also INT 21/AH=28h)
 64h	create/update directory label
 65h	get directory label
 66h	get FCB date stamp and password mode
 67h	write extended FCB
 68h	set system date and time
 69h	get system date and time in binary
 6Ah	establish password for file access
 6Bh	get OS serial number				(see INT E0/CL=6Bh)
 6Ch	(DOS Plus v2.1) get/set program return code
 6Dh	get/set console mode				(see INT E0/CL=6Dh)
 6Eh	get/set string delimiter			(see INT E0/CL=6Eh)
 6Fh	write block to default console			(see INT E0/CL=6Fh)
 70h	write block to default list device		(see INT E0/CL=70h)
 71h	execute DOS-compatible function			(see INT E0/CL=71h)
 74h	set FCB time and date stamps
 80h	allocate memory					(see INT E0/CL=80h)
 82h	deallocate memory				(see INT E0/CL=81h)
 83h	poll I/O device
 84h	wait on system flag				(see INT E0/CL=84h)
 85h	set system flag					(see INT E0/CL=85h)
 86h	create message queue				(see INT E0/CL=86h)
 87h	open message queue				(see INT E0/CL=87h)
 88h	delete message queue				(see INT E0/CL=88h)
 89h	read from message queue				(see INT E0/CL=89h)
 8Ah	conditionally read from message queue		(see INT E0/CL=8Ah)
 8Bh	write to message queue				(see INT E0/CL=8Bh)
 8Ch	conditionally write to message queue		(see INT E0/CL=8Ch)
 8Dh	delay calling process				(see INT E0/CL=8Dh)
 8Eh	call process dispatcher (yield CPU)		(see INT E0/CL=8Eh)
 8Fh	terminate calling process (same as func 00h)	(see INT E0/CL=8Fh)
 90h	create a process				(see INT E0/CL=90h)
 91h	set calling process' priority			(see INT E0/CL=91h)
 92h	attach to default console			(see INT E0/CL=92h)
 93h	detach from default console			(see INT E0/CL=93h)
 94h	(REAL/32) set the process' default console	(see INT E0/CL=94h)
 95h	assign default console to process		(see INT E0/CL=95h)
 96h	interpret and execute commandline		(see INT E0/CL=96h)
 97h	resident procedure library
 98h	parse ASCII string into FCB (see also INT 21/AH=29h)
 99h	return default console				(see INT E0/CL=99h)
 9Ah	get address of system data (SYSDAT)		(see INT E0/CL=9Ah)
 9Bh	get system time and date
 9Ch	return calling process' descriptor		(see INT E0/CL=9Ch)
 9Dh	terminate process by name or PD address		(see INT E0/CL=9Dh)
 9Eh	attach to default list device			(see INT E0/CL=9Eh)
 9Fh	detach from default list device			(see INT E0/CL=9Fh)
 A0h	select default list device			(see INT E0/CL=A0h)
 A1h	conditionally attach to default list device	(see INT E0/CL=A1h)
 A2h	conditionally attach to default console		(see INT E0/CL=A2h)
 A3h	get OS version number				(see INT E0/CL=A3h)
 A4h	get default list device				(see INT E0/CL=A4h)
 A5h	attach to default AUX				(see INT E0/CL=A5h)
 A6h	detach from default AUX				(see INT E0/CL=A6h)
 A7h	conditionally attach to default AUX		(see INT E0/CL=A7h)
 A8h	set default AUX					(see INT E0/CL=A8h)
 A9h	return default AUX				(see INT E0/CL=A9h)
 ACh	read block from default AUX			(see INT E0/CL=ACh)
 ADh	(DOS Plus v2.1) write block to default AUX	(see INT E0/CL=ADh)
 B0h	configure default AUX				(see INT E0/CL=B0h)
 B1h	get/set device control parameters		(see INT E0/CL=B1h)
 B2h	send Break through default AUX			(see INT E0/CL=B2h)
 B3h	allocate physical memory			(see INT E0/CL=B3h)
 B4h	free physical memory				(see INT E0/CL=B4h)
 B5h	map physical memory				(see INT E0/CL=B5h)
 B6h	nondestructive conditional message queue read	(see INT E0/CL=B6h)
 B7h	timed wait on system flag			(see INT E0/CL=B7h)
 B8h	get/set I/O port mapping			(see INT E0/CL=B8h)
 B9h	set list device timeout				(see INT E0/CL=B9h)
 BAh	set AUX timeout value				(see INT E0/CL=BAh)
 BBh	execute XIOS service
 BDh	(DR Multiuser DOS) delay			(see INT E0/CL=BDh)
 FFh	return 80386 to native mode
SeeAlso: #04020,#04021

(Table 04020)
Values for DOS Plus v2.1 XIOS functions:
 00h	terminate program
 01h	???
 02h	check for console input status
 03h	read character from console
 04h	write character to console
 05h	write character to list device
 06h	write character to auxiliary device
 07h	read character from auxiliary device
 0Fh	get list device status
 10h-14h reserved
 15h	device initialization
 16h	check console output status
 17h-7Fh reserved
---BBC Acorn---
 80h	get XIOS version
 81h	get Tube semaphore
 82h	release Tube semaphore
 83h	select text/graphics
 84h	update B&W graphics rectangle
 85h	update color graphics rectangle
 86h	get/release/update mouse
 87h	get system error info
 88h	entry in CLOCK called by WatchDog RSP
 89h	BBC OSBYTE function
 8Ah	BBC OSWORD function
SeeAlso: #04019

(Table 04021)
Values for DR Multiuser DOS Error Return Code:
 00h	no error
 01h	system call not implemented
 02h	illegal system call number
 03h	cannot find memory
 04h	illegal flag number
 05h	flag overrun
 06h	flag underrun
 07h	no unused Queue Descriptors
 08h	no free queue buffer
 09h	cannot find queue
 0Ah	queue in use
 0Ch	no free Process Descriptors
 0Dh	no queue access
 0Eh	empty queue
 0Fh	full queue
 10h	CLI queue missing
 11h	no 8087 in system
 12h	no unused Memory Descriptors
 13h	illegal console number
 14h	no Process Descriptor match
 15h	no console match
 16h	no CLI process
 17h	illegal disk number
 18h	illegal filename
 19h	illegal filetype
 1Ah	character not ready
 1Bh	illegal Memory Descriptor
 1Ch	bad return from BDOS load
 1Dh	bad return from BDOS read
 1Eh	bad return from BDOS open
 1Fh	null command
 20h	not owner of resource
 21h	no CSEG in load file
 22h	process Descriptor exists on Thread Root
 23h	could not terminate process
 24h	cannot attach to process
 25h	illegal list device number
 26h	illegal password
 28h	external termination occurred
 29h	fixup error upon load
 2Ah	flag set ignored
 2Bh	illegal auxilliary device number
SeeAlso: #04019

Top
E0----CL00 - INT E0 - REAL/32 - "P_TERMCPM" - TERMINATE CALLING PROCESS
INT E0 - REAL/32 - "P_TERMCPM" - TERMINATE CALLING PROCESS
	CL = 00h
Return: AX = error code
	    FFFFh on failure
	may destroy SI,DI???
Program: REAL/32 is the descendant of IMS Multiuser DOS, which in turn is
	  derived from DR Multiuser DOS and its predecessors (Concurrent DOS,
	  etc.)
Notes:	sets the exit code (ERRORLEVEL) to 00h
	INT E0h is officially reserved for Digital Research by Intel.
	Apparently some Borland products also used this interrupt, which forced
	  Digital Research to indirect calls through other interrupt entry
	  points.
	This is also supported by IMS Multiuser DOS and IMS REAL/32.
SeeAlso: INT 21/AH=00h

Top
E0----CL01 - INT E0 - REAL/32 - "C_READ" - FETCH CHARACTER FROM THE DEFAULT CONSOLE
INT E0 - REAL/32 - "C_READ" - FETCH CHARACTER FROM THE DEFAULT CONSOLE
	CL = 01h
Return: AX = character
	may destroy SI,DI???
Notes:	this function echos the character to the screen, expanding Tab
	  characters to the next multiple of eight columns; Ctrl-C is
	  ignored if the calling process can not terminate
	the calling process is suspended until a character is available; if
	  the caller does not own the console, it is suspended until it
	  can attach to the console
SeeAlso: INT E0/CL=02h,INT E0/CL=06h,INT 21/AH=01h

Top
E0----CL02 - INT E0 - REAL/32 - "C_WRITE" - WRITE CHARACTER TO DEFAULT CONSOLE
INT E0 - REAL/32 - "C_WRITE" - WRITE CHARACTER TO DEFAULT CONSOLE
	CL = 02h
	DX = character
Return: nothing
	may destroy SI,DI???
Note:	Tab characters are expanded to blanks up to the next multiple of
	  eight columns
SeeAlso: INT E0/CL=01h,INT E0/CL=06h,INT 21/AH=02h

Top
E0----CL03 - INT E0 - DR Multiuser DOS - "A_READ" - READ CHARACTER FROM DEFAULT AUX DEVICE
INT E0 - DR Multiuser DOS - "A_READ" - READ CHARACTER FROM DEFAULT AUX DEVICE
	CL = 03h
Return: AL = ASCII character
	may destroy SI,DI???
Notes:	A_READ reads the next 8-bit character from the logical auxilliary
	  input device (AUXn:); control is not returned to the calling
	  process until a character has been read.
	if another process owns AUX, this call blocks until the device becomes
	  available
	this function is also supported by REAL/32
SeeAlso: INT 21/AH=03h,INT E0/CL=04h,INT E0/CL=07h,INT E0/CL=A5h,INT E0/CL=ACh

Top
E0----CL04 - INT E0 - DR Multiuser DOS - "A_WRITE" - WRITE CHARACTER TO DEFAULT AUX DEVICE
INT E0 - DR Multiuser DOS - "A_WRITE" - WRITE CHARACTER TO DEFAULT AUX DEVICE
	CL = 04h
	DL = BYTE to write
Return: nothing
	may destroy SI,DI,DH???
Note:	if another process owns AUX, this call blocks until the device becomes
	  available
SeeAlso: INT 21/AH=04h,INT E0/CL=03h,INT E0/CL=08h,INT E0/CL=A5h,INT E0/CL=ADh

Top
E0----CL05 - INT E0 - REAL/32 - "L_WRITE" - WRITE CHARACTER TO DEFAULT LIST DEVICE
INT E0 - REAL/32 - "L_WRITE" - WRITE CHARACTER TO DEFAULT LIST DEVICE
	CL = 05h
	DL = char to write
Return: nothing
	may destroy SI,DI???
Note:	if another process owns the list device, this call blocks until the
	  device becomes available
SeeAlso: INT 21/AH=05h

Top
E0----CL06 - INT E0 - REAL/32 - "C_RAWIO" - PERFORM RAW I/O WITH DEFAULT CONSOLE
INT E0 - REAL/32 - "C_RAWIO" - PERFORM RAW I/O WITH DEFAULT CONSOLE
	CL = 06h
	DL = mode describing the operation to be performed
	    FFh get console input/status
	    FEh get console status
	    FDh get console input (blocking)
	    else output DL to the console as a character
Return: AX = returned value
	    for DL = FFh, the character or 00h if none available
	    for DL = FEh, 00h if no characters available, FFh if any available
	    for DL = FDh, the character read from the console
	    else AX = 0000h
	may destroy SI,DI???
Notes:	during raw I/O, the special characters ^C, ^O, ^P, and ^S are not
	  interpreted, but are passed through
	if the virtual console is in ^S mode and the owning process calls
	  this function, the ^S state is cleared
SeeAlso: INT E0/CL=01h,INT E0/CL=02h,INT 21/AH=06h

Top
E0----CL07 - INT E0 - DR Multiuser DOS - "A_STATIN" - GET INPUT STATUS OF AUX DEVICE
INT E0 - DR Multiuser DOS - "A_STATIN" - GET INPUT STATUS OF AUX DEVICE
	CL = 07h
Return: AL = status
	    00h not ready
	    FFh character available
Desc:	determine whether the current AUX device has input available
SeeAlso: INT E0/CL=03h,INT E0/CL=08h

Top
E0----CL08 - INT E0 - DR Multiuser DOS - "A_STATOUT" - GET OUTPUT STATUS OF AUX DEVICE
INT E0 - DR Multiuser DOS - "A_STATOUT" - GET OUTPUT STATUS OF AUX DEVICE
	CL = 08h
Return: AL = status
	    00h not ready
	    FFh ready for output
Desc:	determine whether the current AUX device is able to accept more output
SeeAlso: INT E0/CL=04h,INT E0/CL=07h

Top
E0----CL09 - INT E0 - REAL/32 - "C_WRITESTR" - WRITE STRING TO DEFAULT CONSOLE
INT E0 - REAL/32 - "C_WRITESTR" - WRITE STRING TO DEFAULT CONSOLE
	CL = 09h
	DS:DX -> string
Return: nothing
	may destroy SI,DI,DS???
Note:	the string terminated with a '$' character (24h) by default; the
	  terminator may be changed with C_DELIMIT
	tabs are expanded to the next multiple of eight columns
SeeAlso: INT E0/CL=6Eh

Top
E0----CL0A - INT E0 - REAL/32 - "C_READSTR" - READ STRING FROM DEFAULT CONSOLE
INT E0 - REAL/32 - "C_READSTR" - READ STRING FROM DEFAULT CONSOLE
	CL = 0Ah
	DS:DX -> buffer for string (see #04022)
Return: nothing

Format of REAL/32 "C_READSTR" buffer:
Offset	Size	Description	(Table 04022)
 00h	BYTE	maximum number of characters buffer can hold
 01h	BYTE	actual number of buffers read
 02h  N BYTEs	input line

Top
E0----CL0B - INT E0 - REAL/32 - "C_STAT" - RETURN DEFAULT CONSOLE INPUT STATUS
INT E0 - REAL/32 - "C_STAT" - RETURN DEFAULT CONSOLE INPUT STATUS
	CL = 0Bh
Return: AX = status
	    0000h no characters ready
	    0001h character available
	may destroy SI,DI???
Note:	after setting bit 0 of the console mode word with C_MODE, this function
	  will only return AX=0001h when the user presses Ctrl-C.

Top
E0----CL0C - INT E0 - REAL/32 - "S_BDOSVER" - GET BDOS VERSION
INT E0 - REAL/32 - "S_BDOSVER" - GET BDOS VERSION
	CL = 0Ch
Return: AX = version (see #04023)
	may destroy SI,DI???
SeeAlso: INT E0/CL=A3h,INT 21/AX=4451h

(Table 04023)
Values for REAL/32 BDOS version:
 1432h	- DR Concurrent PC DOS Version 3.2
 1441h	- DR Concurrent DOS Version 4.1
 1450h	- DR Concurrent DOS/XM Version 5.0
 1463h	- DR Multiuser DOS Release 5.0
 1465h	- DR Multiuser DOS Release 5.01
 1466h	- DR Multiuser DOS Release 5.1, IMS Multiuser DOS Enhanced Release 5.1
 1467h	- IMS Multiuser DOS Version 7.0, 7.1
 1468h	- IMS REAL/32 Version 7.50, 7.51
 1469h	- IMS REAL/32 Version 7.52, 7.53
 14??h	- IMS REAL/32 Version 7.6
SeeAlso: #01579,#01580,#01581

Top
E0----CL2F - INT E0 - REAL/32 - "P_CHAIN" - CHAIN PROCESS
INT E0 - REAL/32 - "P_CHAIN" - CHAIN PROCESS
	CL = 2Fh
	[DTA] = ASCIZ command line for process to start
Return: AX = return code
	    0000h successful
	    FFFFh failed
	may destroy SI,DI???

Top
E0----CL35 - INT E0 R - REAL/32 - "MC_MAX" - CP-M/86 ALLOCATE MAXIMUM MEMORY
INT E0 R - REAL/32 - "MC_MAX" - CP-M/86 ALLOCATE MAXIMUM MEMORY
	CL = 35h
	DS:DX -> MCB (see #04024)
Return: AX = status
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=39h

Format of REAL/32 MCB (Memory Control Block):
Offset	Size	Description	(Table 04024)
 00h	WORD	segment address of memory block
 02h	WORD	length of block in paragraphs
 04h	BYTE	reserved (0)

Top
E0----CL36 - INT E0 R - REAL/32 - "MC_ABSMAX" - ALLOCATE MAXIMUM MEMORY SEGMENT ABSOLUTE
INT E0 R - REAL/32 - "MC_ABSMAX" - ALLOCATE MAXIMUM MEMORY SEGMENT ABSOLUTE
	CL = 36h
	DS:DX -> MCB (see #04024)
Return: AX = status
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=39h

Top
E0----CL37 - INT E0 R - REAL/32 - "MC_ALLOC" - CP-M/86 ALLOCATE MEMORY SEGMENT
INT E0 R - REAL/32 - "MC_ALLOC" - CP-M/86 ALLOCATE MEMORY SEGMENT
	CL = 37h
	DS:DX -> MCB (see #04024)
Return: AX = status
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=39h

Top
E0----CL38 - INT E0 R - REAL/32 - "MC_ABSALLOC" - ALLOCATE MEMORY SEGMENT ABSOLUTE
INT E0 R - REAL/32 - "MC_ABSALLOC" - ALLOCATE MEMORY SEGMENT ABSOLUTE
	CL = 38h
	DS:DX -> MCB (see #04024)
Return: AX = status
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=39h

Top
E0----CL39 - INT E0 R - REAL/32 - "MC_FREE" - CP-M/86 FREE SPECIFIED MEMORY SEGMENT
INT E0 R - REAL/32 - "MC_FREE" - CP-M/86 FREE SPECIFIED MEMORY SEGMENT
	CL = 39h
	DS:DX -> MCB (see #04024)
Return: AX = status
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=3Ah

Top
E0----CL3A - INT E0 R - REAL/32 - "MC_ALLFREE" - CP-M/86 FREE ALL MEMORY
INT E0 R - REAL/32 - "MC_ALLFREE" - CP-M/86 FREE ALL MEMORY
	CL = 3Ah
Return: nothing???
Desc:	release all of the calling process's memory except the User Data Area
SeeAlso: INT E0/CL=39h

Top
E0----CL3B - INT E0 u - REAL/32 - "P_LOAD" - LOAD .CMD FILE INTO MEMORY
INT E0 u - REAL/32 - "P_LOAD" - LOAD .CMD FILE INTO MEMORY
	CL = 3Bh
	???
Return: ???
Note:	IMS does not document the details of this call because .CMD files are
	  supported for backward compatibility only

Top
E0----CL40 - INT E0 - REAL/32 - "N_LOGON" - LOG ONTO A SERVER
INT E0 - REAL/32 - "N_LOGON" - LOG ONTO A SERVER
	CL = 40h
	DS:DX -> LPB (see #04025)
Return: AX = status (0000h,00FFh,07FFh,0DFFh,0EFFh,FFFFh) (see #04030)
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=41h

Format of REAL/32 Logon/Logoff Parameter Block:
Offset	Size	Description	(Table 04025)
 00h	BYTE	node ID
 01h  8 BYTEs	password for server access
 09h	DWORD	-> process descriptor of process to be logged on (see #04026)

Format of REAL/32 Process Descriptor:
Offset	Size	Description	(Table 04026)
 00h	WORD	offset of next entry in current descriptor list
 02h	WORD	offset of thread list
 04h	BYTE	current processor status (see #04027)
 05h	BYTE	priority
 06h	WORD	runtime flags (see #04028)
 08h  8 BYTEs	process name
 10h	WORD	segment of User Data Area (UDA) (256 or 352 bytes)
 12h	BYTE	current default disk drive
 13h	BYTE	drive from which process was loaded
 14h	WORD	reserved (0)
 16h	WORD	offset of memory descriptor list for memory owned by process
 18h  6 BYTEs	reserved
 1Eh	WORD	offset of process descriptor for parent process
		0000h if parent has already terminated
 20h	BYTE	number of default console
 21h	BYTE	number of default AUX device
 22h  2 BYTEs	reserved
 24h	BYTE	number of default list device
 25h	BYTE	reserved
 26h	WORD	flags (see #04029)
 28h 12 BYTEs	reserved
 34h	WORD	offset of memory page allocation root
 36h 22 BYTEs	reserved
Note:	At least offset 10h (UDA) is also supported by MDOS 5.00, 5.01, 5.10,
	  as the DR DOS MEM utility retrieves this UDA segment through
	  INT E0/CL=9Ah when INT 21/AX=4451h returns 1463h, 1465h, or 1466h.
SeeAlso: #04025

(Table 04027)
Values for REAL/32 processor status:
 00h	process is ready to run
 01h	process is polling a device
 02h	delaying for a number of ticks
 03h	in swap list
 04h	terminating
 05h	asleep
 06h	waiting to read a message from a queue
 07h	waiting to write a message
 08h	waiting on system flag or semaphore
 09h	waiting to attach to an I/O device
 0Ah	waiting on sync block
 0Bh	waiting for system flag or semaphore with timeout
 0Ch	forced dispatch
SeeAlso: #04026

Bitfields for REAL/32 process flags:
Bit(s)	Description	(Table 04028)
 0	system process
 1	do not terminate
 2	special rsp process
 3	from process descriptor table
 14-4	unused???
 15	uses math coprocessor
SeeAlso: #04026,#04029

Bitfields for REAL/32 secondary flags:
Bit(s)	Description	(Table 04029)
 0	suspend when in background
 1	???
 2	in foreground
 3	enable APPEND processing on file opens
 4	Ctrl-C was typed
 5	Ctrl-C will reset disk system
 6	OK to read locked record
 7	???
 8	do not perform banking
SeeAlso: #04026,#04028

(Table 04030)
Values for REAL/32 "N_LOGON" status:
 0000h	successful
 00FFh	server could not create shadow process
 07FFh	incorrect password
 0CFFh	not logged into specified server
 0DFFh	process already logged onto 16 servers,
	LPB process not attached to network
 0EFFh	physical transmission prevented message or response from getting thru
	network error during logoff
 FFFFh	calling process not attached to network

Top
E0----CL41 - INT E0 - REAL/32 - "N_LOGON" - LOG OFF A SERVER
INT E0 - REAL/32 - "N_LOGON" - LOG OFF A SERVER
	CL = 41h
	DS:DX -> LPB (see #04025)
Return: AX = status (0000h,0CFFh,0DFFh,0EFFh,FFFFh) (see #04030)
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=40h

Top
E0----CL44 - INT E0 - REAL/32 - "N_STAT" - GET NETWORK STATUS
INT E0 - REAL/32 - "N_STAT" - GET NETWORK STATUS
	CL = 44h
Return: AX = network status or 0FFFh on error
	    bit 8: calling process is attached to network
	may destroy SI,DI???

Top
E0----CL45 - INT E0 - REAL/32 - "N_RCT" - GET REQUESTOR CONFIGURATION TABLE
INT E0 - REAL/32 - "N_RCT" - GET REQUESTOR CONFIGURATION TABLE
	CL = 45h
	DS:DX -> RCT Control Block (see #04031,#04032)
Return: AX = status or error code (see #04033,#04030)
	may destroy SI,DI,DS???
SeeAlso: INT E0/CL=47h

Format of REAL/32 RCT Control Block for Drives:
Offset	Size	Description	(Table 04031)
 00h	BYTE	command byte
		00h map disk drive
		02h map list device
 01h	BYTE	local resource ID
 02h	BYTE	remote resource ID
 03h	BYTE	server node ID number
Note:	the RCT Control Block is a union of two possible structures; this
	  variant is used when mapping disk drives and list devices
SeeAlso: #04032

Format of REAL/32 RCT Control Block for Queues:
Offset	Size	Description	(Table 04032)
 00h	BYTE	command byte
		03h map local queue to server
		04h unmap queue
 01h  8 BYTEs	local queue name (case-sensitive)
 09h  8 BYTEs	remote queue name (case-sensitive)
 11h	BYTE	server node ID number
Note:	the RCT Control Block is a union of two possible structures; this
	  variant is used when mapping queues
SeeAlso: #04031

(Table 04033)
Values for REAL/32 "N_RCT" status:
 0000h	successful
 0001h	invalid local device
 0002h	invalid remote device
 0003h	no queue entry space

Top
E0----CL47 - INT E0 - REAL/32 - "N_SCT" - GET SERVER CONFIGURATION TABLE
INT E0 - REAL/32 - "N_SCT" - GET SERVER CONFIGURATION TABLE
	CL = 47h
	DS:DX -> 112-byte buffer for Server Configuration Table (see #04034)
Return: AX = status (0000h successful, else error code)
	may destroy SI,DI,DS???
Note:	the first byte of the SCT buffer is set to the desired server number
	  prior to calling this function
SeeAlso: INT E0/CL=45h

Format of REAL/32 Server Configuration Table:
Offset	Size	Description	(Table 04034)
 00h	BYTE	server's default physical drive ID
 01h	BYTE	network status
 02h	BYTE	server node ID number
 03h	BYTE	maximum number of requesters supported by server
 04h	BYTE	current number of shadow processes
 05h 108 BYTEs	six logon structures, each:
		Offset	Size	Description
		 00h	WORD	bit vector of logged-in nodes
		 02h 16 BYTEs	list of requester node IDs

Top
E0----CL48 - INT E0 - REAL/32 - "N_ERRMODE" - SET NETWORK ERROR MODE
INT E0 - REAL/32 - "N_ERRMODE" - SET NETWORK ERROR MODE
	CL = 48h
	DL = new error mode
	    FFh return error in registers AX,BX,CX
	    FEh display message and return error
	    FDh display message and abort (default)
Return: CX = error code (0000h successful, FFFFh failed)
	may destroy SI,DI???
Desc:	specify how the REAL/32 Net Server responds to error numbers 0CFFh,
	  0DFFh, and 0EFFh (see #04030)

Top
E0----CL59 - INT E0 - ConcCP/M,DR Multiuser DOS - "S_MEMORY" - RESERVE MEMORY IN GLOBAL AREA
INT E0 - ConcCP/M,DR Multiuser DOS - "S_MEMORY" - RESERVE MEMORY IN GLOBAL AREA
	CL = 59h
	DX = size in bytes
Return: AX = status
	    FFFFh failed
	    other successful
		ES:BX -> reserved memory

Top
E0----CL5C - INT E0 - REAL/32 - "P_PATH" - SCAN PATH FOR EXECUTABLE FILE
INT E0 - REAL/32 - "P_PATH" - SCAN PATH FOR EXECUTABLE FILE
	CL = 5Ch
	DS:DX -> Exec Parameter Block (EPB) (see #04035)
Return:	AX = status
	    FFFEh file not found
	    FFFDh path not found
	    FFFCh too many handles open
	    FFFBh access denied
	    FFF6h invalid environment
	    FFDCh sharing conflict
	    FFAAh invalid password
	EPB updated (if successful)
	may destroy SI,DI,DS
SeeAlso: INT E0/CL=5Dh,INT E0/CL=5Eh,INT 21/AH=4Bh

Format of REAL/32 Exec Parameter Block (EPB):
Offset	Size	Description	(Table 04035)
 00h	DWORD	-> ASCIZ command to be executed
 04h	BYTE	type of exec
		00h .CMD
		01h .COM
		02h .EXE
		03h .BAT
		04h RSP-type queue
 05h	BYTE	flags
		bit 0: overlay existing program
		bit 1: don't assign console to child
		bit 2: allocate memory for .CMD within parent's memory space
		bit 3: make full banked window available while loading child
 06h	DWORD	32-bit offset to ASCIZ command line
 0Ah	WORD	selector for ASCIZ command line

Top
E0----CL5D - INT E0 - REAL/32 - "P_EXEC" - EXECUTE CHILD PROCESS
INT E0 - REAL/32 - "P_EXEC" - EXECUTE CHILD PROCESS
	CL = 5Dh
	DS:DX -> Exec Parameter Block (EPB) (see #04035)
Return:	AX = status
	    FFFEh file not found
	    FFFDh path not found
	    FFFCh too many handles open
	    FFFBh access denied
	    FFF6h invalid environment
	    FFDCh sharing conflict
	    FFAAh invalid password
	EPB updated (if successful)
	may destroy SI,DI,DS
SeeAlso: INT E0/CL=5Ch,INT E0/CL=5Eh,INT 21/AH=4Bh

Top
E0----CL5E - INT E0 - REAL/32 - "P_EXITCODE" - GET/SET PROCESS EXIT CODE
INT E0 - REAL/32 - "P_EXITCODE" - GET/SET PROCESS EXIT CODE
	CL = 5Eh
	DX = exit code or FFFFh to get
	    DH ignored when setting code
	    DL = process exit code
Return: AX = status (FFFFh on error)
	if getting:
	    AH = termination reason
		00h normal
		01h external termination via Ctrl-C or P_ABORT
		02h hardware (critical) error abort
		03h child did not terminate
		FFh illegal request (no child, or exit code already retrieved)
	    AL = process exit code
SeeAlso: INT E0/CL=5Dh,INT 21/AH=4Ch

Top
E0----CL6B - INT E0 - REAL/32 - "S_SERIAL" - GET OS SERIAL NUMBER
INT E0 - REAL/32 - "S_SERIAL" - GET OS SERIAL NUMBER
	CL = 6Bh
	DS:DX -> 6-byte buffer for ASCII serial number
Return: nothing???

Top
E0----CL6D - INT E0 - REAL/32 - "C_MODE" - GET/SET CONSOLE MODE
INT E0 - REAL/32 - "C_MODE" - GET/SET CONSOLE MODE
	CL = 6Dh
	DX = new console mode (see #04036), or FFFFh to get current mode
Return: AX = status if setting (0000h = success)
	AX = current console mode if DX=FFFFh on entry

Bitfields for REAL/32 console mode:
Bit(s)	Description	(Table 04036)
 0	C_STAT function will return 01h only when Ctrl-C is pressed
 1	disable support for stop/start scroll (Ctrl-S/Ctrl-Q)
 2	raw console output (no tab expansion, no printer echo)
 3	disable program termination on Ctrl-C
 7	disable Ctrl-O console bit-bucket
 10	enable Esc as end-of-line character

Top
E0----CL6E - INT E0 - REAL/32 - "C_DELIMIT" - GET/SET STRING DELIMITER
INT E0 - REAL/32 - "C_DELIMIT" - GET/SET STRING DELIMITER
	CL = 6Eh
	DX = new delimiter, or FFFFh to get current string delimiter
Return: AX = status (0000h success) if setting
	AX = current string delimiter (default is 24h '$' at process start)
SeeAlso: INT E0/CL=09h

Top
E0----CL6F - INT E0 - REAL/32 - "C_WRITEBLK" - WRITE BLOCK TO DEFAULT CONSOLE
INT E0 - REAL/32 - "C_WRITEBLK" - WRITE BLOCK TO DEFAULT CONSOLE
	CL = 6Fh
	DS:DX -> Character Control Block (see #04051,#04052)
Return: nothing???
SeeAlso: INT E0/CL=70h

Top
E0----CL70 - INT E0 - REAL/32 - "L_WRITEBLK" - WRITE BLOCK TO DEFAULT LIST (PRINTER) DEVICE
INT E0 - REAL/32 - "L_WRITEBLK" - WRITE BLOCK TO DEFAULT LIST (PRINTER) DEVICE
	CL = 70h
	DS:DX -> Character Control Block (see #04051,#04052)
Return: nothing???
SeeAlso: INT E0/CL=6Fh

Top
E0----CL71 - INT E0 R - ConcCP/M,DR Multiuser DOS - EXECUTE DOS-COMPATIBLE FUNCTIONS
INT E0 R - ConcCP/M,DR Multiuser DOS - EXECUTE DOS-COMPATIBLE FUNCTIONS
	CL = 71h
	DS:DX -> parameter block (see #04038)
Return: AX = status (0000h successful, else error code)
	may destroy SI,DI,DS

(Table 04037)
Values for DR "execute DOS-compatible function" function number:
 00h	"fd_getdpb"	get disk information (see also INT 21/AH=32h)
 01h	"fd_mkdir"	create directory (see also INT 21/AH=39h)
 02h	"fd_rmdir"	remove directory (see also INT 21/AH=3Ah)
 03h	"fd_chdir"	change directory (see also INT 21/AH=3Bh)
 04h	"fd_creat"	create file (see also INT 21/AH=3Ch)
 05h	"fd_open"	open existing file (see also INT 21/AH=3Dh)
 06h	"fd_close"	close file (see also INT 21/AH=3Eh)
 07h	"fd_read"	read from file (see also INT 21/AH=3Fh)
 08h	"fd_write"	write to file (see also INT 21/AH=40h)
 09h	"fd_delete"	delete file (see also INT 21/AH=41h)
 0Ah	"fd_lseek"	get/set file position (see also INT 21/AH=42h)
 0Bh	"fd_chmod"	get/set file attributes (see also INT 21/AH=43h)
 0Ch	"fd_curdir"	get current directory (see also INT 21/AH=47h)
 0Dh	"fd_sfirst"	find first matching file (see also INT 21/AH=4Eh)
 0Eh	"fd_snext"	find next matching file (see also INT 21/AH=4Fh)
 0Fh	"fd_rename"	rename file (see also INT 21/AH=56h)
 10h	"fd_gsfdate"	get/set file date (see also INT 21/AX=5700h)
 11h	"fd_mktemp"	make temporary file (see also INT 21/AH=5Ah)
 12h	"fd_mknew"	create new file (see also INT 21/AH=5Bh)
 13h	"fd_lock"	lock/unlock file data (see also INT 21/AH=5Ch)
 14h	"fd_dup"	duplicate file handle (see also INT 21/AH=45h)
 15h	"fd_dup2"	force duplicate file handle (see also INT 21/AH=46h)
 16h-19h ???
 1Ah	"fd_ioctl"	I/O control emulation
 1Bh	"fd_commit"	commit file to disk (see also INT 21/AH=68h)
 1Ch	"fd_expand"	expand file name (see also INT 21/AH=60h)
 1Dh	???
 1Eh	???
 1Fh	"fd_sethandles" set number of handles for calling process
SeeAlso: #04038

Format of DR "execute DOS-compatible function" parameter block:
Offset	Size	Description	(Table 04038)
 00h	WORD	function number (see #04037)
---function 00h---
 02h	WORD	drive
 04h	DWORD	-> DPB (see #04039)
---function 01h,02h,03h---
 02h	DWORD	-> ASCIZ directory name
---function 04h---
 02h	DWORD	-> ASCIZ filename
 06h	WORD	file attributes
---function 05h---
 02h	DWORD	-> ASCIZ filename
 06h	WORD	open mode (see INT 21/AH=3Dh)
---function 06h---
 02h	WORD	file handle
---function 07h,08h---
 02h	WORD	file handle
 04h	DWORD	-> buffer
 08h	WORD	number of bytes to read or write
---function 09h---
 02h	DWORD	-> ASCIZ filename
---function 0Ah---
 02h	WORD	file handle
 04h	DWORD	(call) desired offset
		(ret) new file position if function is successful
 08h	WORD	seek origin (offset is calculated from specified position)
		00h start of file
		01h current position
		02h end of file
---function 0Bh---
 02h	DWORD	-> ASCIZ filename
 06h	WORD	(call) new file attributes or new file owner
		(ret) current/new file attributes, depending on function
 08h	WORD	subfunction
		00h get attribute
		01h set attribute
		02h get extended attributes
		03h set extended attributes (and password)
		04h get encrypted password
		05h set extended attributes (and encrypted password)
		06h get file owner
		07h set file owner
		Note: the password is taken from the first 8 bytes of the DTA
---function 0Ch---
 02h	WORD	drive
 04h	DWORD	-> 64-byte buffer for ASCIZ current directory path
---function 0Dh---
 02h	DWORD	-> ASCIZ filespec
 06h	WORD	file attributes
 08h	WORD	(call) size of buffer pointed at by current DTA
		(ret) number of matching files returned???
		Note:	if the volume label attribute is specified, the root
			  directory will be searched
			if the buffer is at least 47 bytes, multiple matching
			  entries will be stored in the DTA (at 21 bytes per
			  entry)
---function 0Eh---
 02h	WORD	number of additional matches to store in DTA
		(normally set to 0, but if DTA is at least 47 bytes, can be
		  set to (DTAsize-21)/26 to return multiple matches)
---function 0Fh---
 02h	DWORD	-> ASCIZ filename
 06h	DWORD	-> ASCIZ new name
---function 10h---
 02h	WORD	file handle
 04h	WORD	subfunction
		00h get date and time
		01h set date and time
 06h	WORD	file date
 08h	WORD	file time
---function 11h---
 02h	DWORD	-> ASCIZ pathname + 13 extra bytes for generated filename
		(if pathname does not end in backslash, one will be appended)
 06h	WORD	file attributes
---function 12h---
 02h	DWORD	-> ASCIZ filename
 06h	WORD	file attributes
---function 13h---
 02h	WORD	file handle
 04h	DWORD	offset of start of region
 08h	DWORD	length of region to lock/unlock
 0Ch	WORD	subfunction (00h = lock, 01h = unlock)
---function 14h---
 02h	WORD	file handle to be duplicated
		(new file handle is returned as function return value)
---function 15h---
 02h	WORD	file handle to be duplicated
 04h	WORD	file handle which is to become the duplicate
---function 1Ah, form 1---
 02h	WORD	file handle
 04h	WORD	IOCTL function number (00h,01h,06h,07h,0Ah)
 06h	WORD	(ret) status
---function 1Ah, form 2---
 02h	WORD	drive number
 04h	WORD	IOCTL function number (08h,09h,0Eh,0Fh)
 06h	WORD	(ret) status
---function 1Ah, form 3---
 02h	WORD	file handle
 04h	WORD	IOCTL function number (02h,03h,54h)
 06h	DWORD	-> buffer
 0Ah	WORD	(call) size of buffer in bytes
		(ret) size of returned data
---function 1Ah, form 4---
 02h	WORD	drive number
 04h	WORD	IOCTL function number (04h,05h)
 06h	DWORD	-> buffer
 0Ah	WORD	(call) size of buffer in bytes
		(ret) size of returned data
---function 1Bh---
 02h	WORD	file handle of file to be committed to disk
---function 1Ch---
 02h	DWORD	-> ASCIZ relative filename
 06h	DWORD	-> buffer for absolute filename
---function 1Fh---
 02h	WORD	desired number of file handles for process

Format of DR Multiuser DOS Disk Parameter Block (DPB):
Offset	Size	Description	(Table 04039)
 00h	BYTE	drive number (00h = A:)
 01h	BYTE	relative unit number
 02h	WORD	sector size in bytes
 04h	BYTE	sectors per cluster - 1
 05h	BYTE	shift count to convert clusters into sectors
 06h	WORD	number of reserved sectors at beginning of drive
 08h	BYTE	number of FATs
 09h	WORD	number of root directory entries
 0Bh	WORD	number of first sector containing user data
 0Dh	WORD	number of clusterse on disk
 0Fh	BYTE	number of sectors per FAT
 10h	WORD	sector number of first directory sector
 12h  4 BYTEs	reserved
 16h	BYTE	media ID byte (see #01356)
 17h	BYTE	00h if disk accessed, FFh if not
 18h  6 BYTEs	reserved
 1Eh	WORD	number of free clusters on drive
Note:	this structure is a subset of the MS-DOS 3.x Drive Parameter Block
SeeAlso: #04038,#01357 at INT 21/AH=1Fh,#01395 at INT 21/AH=32h

Top
E0----CL73 - INT E0 - GSX-86, GEM/1, GEM/2 - API
INT E0 - GSX-86, GEM/1, GEM/2 - API
	CL = 73h
	CH = 04h
	DS:DX -> parameter block

Top
E0----CL80 - INT E0 - REAL/32 - "M_ALLOC" - ALLOCATE MEMORY
INT E0 - REAL/32 - "M_ALLOC" - ALLOCATE MEMORY
	CL = 80h
	DS:DX -> Memory Parameter Block (MPB) (see #04040)
Return: AX = status (0000h success, else error code)
SeeAlso: INT E0/CL=81h

Format of REAL/32 Memory Parameter Block (MPB):
Offset	Size	Description	(Table 04040)
 00h	WORD	(call) desired starting paragraph of block, or
		  0000h for anywhere
		(ret) starting paragraph of allocated block
 02h	WORD	(call) minimum number of paragraphs required
		(ret) actual number of paragraphs allocated
 04h	WORD	(call) maximum number of paragraphs to allocate
		(ret) actual number of paragraphs allocated
 06h	WORD	process descriptor (see #04026) of memory's owner or 0000h
 08h	WORD	flags (normally set to 0000h on call)
SeeAlso: #04041

Top
E0----CL81 - INT E0 - REAL/32 - "M_FREE" - DEALLOCATE MEMORY
INT E0 - REAL/32 - "M_FREE" - DEALLOCATE MEMORY
	CL = 81h
	DS:DX -> Memory Free Parameter Block (MFPB) (see #04041)
Return: AX = status (0000h success, else error code)
SeeAlso: INT E0/CL=81h

Format of REAL/32 Memory Free Parameter Block (MFPB) :
Offset	Size	Description	(Table 04041)
 00h	WORD	starting segment of block to be freed
 02h	WORD	reserved (0)
SeeAlso: #04040

Top
E0----CL84 - INT E0 - REAL/32 - "DEV_WAITFLAG" - WAIT ON SYSTEM FLAG
INT E0 - REAL/32 - "DEV_WAITFLAG" - WAIT ON SYSTEM FLAG
	CL = 84h
	DX = system flag ID
Return: AX = status (0000h success, else error code)
	if successful, this function does not return until the system flag has
	  been set by an interrupt handler (see INT E0/CL=85h); if the flag was
	  already set, this call returns immediately
SeeAlso: INT E0/CL=85h,INT E0/CL=B7h

Top
E0----CL85 - INT E0 - REAL/32 - "DEV_SETFLAG" - SET SYSTEM FLAG
INT E0 - REAL/32 - "DEV_SETFLAG" - SET SYSTEM FLAG
	CL = 85h
	DX = system flag ID
Return: AX = status (0000h success, else error code)
Note:	REAL/32 returns an error if the flag was already set, which indicates
	  that a previous logical interrupt has not yet been serviced
SeeAlso: INT E0/CL=84h

Top
E0----CL86 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_MAKE" - CREATE MESSAGE QUEUE
INT E0 - ConcCP/M,DR Multiuser DOS - "Q_MAKE" - CREATE MESSAGE QUEUE
	CL = 86h
	DS:DX -> queue descriptor (see #04042)
Return: AX = status (0000h success, FFFFh failure)
	CX = error code (see #04021)
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=87h

Format of DR Multiuser DOS queue descriptor:
Offset	Size	Description	(Table 04042)
 00h  2 WORDs	internal use, initialize to zeros
 04h	WORD	queue flags (see #04043)
 06h  8 BYTEs	queue name
 0Eh	WORD	length of message
 10h	WORD	number of messages
 12h  4 WORDs	internal use, initialize to zeros
 1Ah	WORD	offset in system area of buffer for messages

Bitfields for REAL/32 queue flags:
Bit(s)	Description	(Table 04043)
 0	mutual exclusion queue
 1	can not be deleted
 2	restricted to system processes
 3	RSP message queue
 4	reserved for internal use
 5	RPL address queue
 7-6	reserved for internal use
 15-8	reserved for future use
SeeAlso: #04042

Top
E0----CL87 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_OPEN" - OPEN MESSAGE QUEUE
INT E0 - ConcCP/M,DR Multiuser DOS - "Q_OPEN" - OPEN MESSAGE QUEUE
	CL = 87h
	DS:DX -> queue parameter block (QPB) (see #04044,#04045)
Return: AX = status (0000h success, FFFFh failure)
	CX = error code (see #04021)
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=86h,INT E0/CL=88h,INT E0/CL=89h

Format of DR Multiuser DOS queue parameter block:
Offset	Size	Description	(Table 04044)
 00h	WORD	internal use, initialize to zero
 02h	WORD	queue ID (set by INT E0/CL=87h)
 04h	WORD	internal use, initialize to zero
 06h	WORD	offset of queue message buffer
		(REAL/32) if FFFFh, then full address of buffer is stored at
		  offest 10h
 08h  8 BYTEs	queue name
---REAL/32 only----
 10h	DWORD	segment:offset of queue message buffer
SeeAlso: #04045

Format of protected-mode REAL/32 Queue Parameter Block (QPB):
Offset	Size	Description	(Table 04045)
 00h	WORD	internal use
 02h	WORD	queue ID
 04h	WORD	internal use
 06h	DWORD	32-bit offset to buffer
 0Ah	WORD	selector for buffer
 0Ch  8 BYTEs	queue name
SeeAlso: #04044

Top
E0----CL88 - INT E0 - REAL/32 - "Q_DELETE" - DELETE SYSTEM QUEUE
INT E0 - REAL/32 - "Q_DELETE" - DELETE SYSTEM QUEUE
	CL = 88h
	DS:DX -> queue parameter block (QPB) (see #04044,#04045)
Return: AX = status (0000h success, FFFFh failure)
SeeAlso: INT E0/CL=87h

Top
E0----CL89 - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_READ" - READ MESSAGE QUEUE
INT E0 - ConcCP/M,DR Multiuser DOS - "Q_READ" - READ MESSAGE QUEUE
	CL = 89h
	DS:DX -> queue parameter block (QPB) (see #04044,#04045)
Return: AX = status (0000h success, FFFFh failure)
	CX = error code (see #04021)
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=87h,INT E0/CL=8Ah,INT E0/CL=8Bh,INT E0/CL=B6h

Top
E0----CL8A - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CREAD" - CONDITIONALLY READ MSG QUEUE
INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CREAD" - CONDITIONALLY READ MSG QUEUE
	CL = 8Ah
	DS:DX -> queue parameter block (QPB) (see #04044,#04045)
Return: AX = status (0000h success, FFFFh failure)
	CX = error code (see #04021)
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=87h,INT E0/CL=89h,INT E0/CL=8Ch,INT E0/CL=B6h

Top
E0----CL8B - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_WRITE" - WRITE MESSAGE QUEUE
INT E0 - ConcCP/M,DR Multiuser DOS - "Q_WRITE" - WRITE MESSAGE QUEUE
	CL = 8Bh
	DS:DX -> queue parameter block (QPB) (see #04044,#04045)
Return: AX = status (0000h success, FFFFh failure)
	CX = error code (see #04021)
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=89h,INT E0/CL=8Ch

Top
E0----CL8C - INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CWRITE" - CONDITIONALLY WRITE MSG QUEUE
INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CWRITE" - CONDITIONALLY WRITE MSG QUEUE
	CL = 8Ch
	DS:DX -> queue parameter block (QPB) (see #04044,#04045)
Return: AX = status (0000h success, FFFFh failure)
	CX = error code (see #04021)
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=8Ah,INT E0/CL=8Bh

Top
E0----CL8E - INT E0 - ConcCP/M,DR Multiuser DOS - "P_DISPATCH" - CALL DISPATCHER
INT E0 - ConcCP/M,DR Multiuser DOS - "P_DISPATCH" - CALL DISPATCHER
	CL = 8Eh
	DX = FFFFh (optional) to force dispatch
Return: nothing
Desc:	allow other processes of the same or higher priority to run if they
	  are ready
Notes:	if DX=FFFFh, a dispatch is forced even if no other process is ready
	also supported by REAL/32
SeeAlso: INT E0/CL=91h,INT 15/AX=1000h,INT 2F/AX=1680h

Top
E0----CL8F - INT E0 - REAL/32 - "P_TERM" - TERMINATE CALLING PROCESS
INT E0 - REAL/32 - "P_TERM" - TERMINATE CALLING PROCESS
	CL = 8Fh
	DX = termination code
Return: never if successful
	AX = FFFFh on failure
Note:	this function can not terminate processes whose KEEP flag is set
	if the termination code is FFh, this function can terminate the process
	  even if its SYSTEM flag is on; otherwise, only user processes can
	  terminate themselves
SeeAlso: INT E0/CL=90h,INT 21/AH=4Ch

Top
E0----CL90 - INT E0 - REAL/32 - "P_CREATE" - CREATE A PROCESS
INT E0 - REAL/32 - "P_CREATE" - CREATE A PROCESS
	CL = 90h
	DS:DX -> process descriptor in calling process' system memory area
		(see #04026)
Return: AX = status
Notes:	this call can create more than one process if the specied process
	  descriptor's link (next-process) field is nonzero
	all reserved and unused fields in the process descriptor should be
	  filled with zeros; passing an invalid descriptor or pointer may
	  crash the system because the descriptor is not checked by the OS
	the newly-created process(es) is always a native process, which can not
	  make DOS calls
SeeAlso: INT E0/CL=8Fh

Top
E0----CL91 - INT E0 - ConcCP/M,DR Multiuser DOS - "P_PRIORITY" - SET PROCESS PRIORITY
INT E0 - ConcCP/M,DR Multiuser DOS - "P_PRIORITY" - SET PROCESS PRIORITY
	CL = 91h
	DL = new priority (00h highest to FFh lowest)
Return: nothing
Notes:	sets priority of calling process; transient processes are initialized
	  to priority C8h
	also supported by REAL/32
SeeAlso: INT E0/CL=8Eh

Top
E0----CL92 - INT E0 - ConcCP/M,DR Multiuser DOS - "C_ATTACH" - ATTACH TO DEFAULT CONSOLE
INT E0 - ConcCP/M,DR Multiuser DOS - "C_ATTACH" - ATTACH TO DEFAULT CONSOLE
	CL = 92h
Return: AX = status
Notes:	also supported by REAL/32
	if the console is currently owned by another process, this function
	  waits until the console is available
SeeAlso: INT E0/CL=93h,INT E0/CL=94h,INT E0/CL=99h,INT E0/CL=9Eh,INT E0/CL=A2h

Top
E0----CL93 - INT E0 - ConcCP/M,DR Multiuser DOS - "C_DETACH" - DETACH FROM DEFAULT CONSOLE
INT E0 - ConcCP/M,DR Multiuser DOS - "C_DETACH" - DETACH FROM DEFAULT CONSOLE
	CL = 93h
Return: AX = status
	    0000h successfully detached
	    FFFFh detach failed
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=92h,INT E0/CL=A6h

Top
E0----CL94 - INT E0 - REAL/32 - "C_SET" - SET PROCESS'S DEFAULT CONSOLE
INT E0 - REAL/32 - "C_SET" - SET PROCESS'S DEFAULT CONSOLE
	CL = 94h
	DX = console ID
Return: AX = status (0000h success, else error code)
SeeAlso: INT E0/CL=92h,INT E0/CL=95h,INT E0/CL=99h

Top
E0----CL95 - INT E0 - REAL/32 - "C_ASSIGN" - ASSIGN DEFAULT CONSOLE TO ANOTHER PROCESS
INT E0 - REAL/32 - "C_ASSIGN" - ASSIGN DEFAULT CONSOLE TO ANOTHER PROCESS
	CL = 95h
	DS:DX -> Assign Control Parameter Block (ACPB) (see #04046)
Return: AX = status
SeeAlso: INT E0/CL=94h,INT E0/CL=99h

Format of REAL/32 Assign Control Parameter Block (ACPB):
Offset	Size	Description	(Table 04046)
 00h	BYTE	ID of console to assign
 01h	BYTE	flag: if FFh, new process must have CNS as console for this
		  call to succeed
 02h	DWORD	-> process descriptor (see #04026) or 00000000h
 06h  8 BYTEs	name of process to search for if descriptor field above is zero

Top
E0----CL96 - INT E0 - REAL/32 - "P_CLI" - RUN COMMAND LINE INTERFACE
INT E0 - REAL/32 - "P_CLI" - RUN COMMAND LINE INTERFACE
	CL = 96h
	DS:DX -> Command Line Buffer (CLBUF) (see #04047)
Return: AX = status
Desc:	execute the indicated command concurrently with the calling process;
	  system queue commands, .BAT, .CMD, .COM, and .EXE files can be
	  executed
Note:	the calling process will lose its virtual console and must reattach it
	  before attempting any I/O
SeeAlso: INT E0/CL=92h

Format of REAL/32 Command Line Buffer (CLBUF):
Offset	Size	Description	(Table 04047)
 00h	BYTE	reserved (0)
 01h 128 BYTEs	ASCIZ command line
 81h	BYTE	(0)

Top
E0----CL99 - INT E0 - REAL/32 - "C_GET" - GET DEFAULT CONSOLE
INT E0 - REAL/32 - "C_GET" - GET DEFAULT CONSOLE
	CL = 99h
Return: AX = default console ID
SeeAlso: INT E0/CL=94h

Top
E0----CL9A - INT E0 - REAL/32 - "S_SYSDAT" - GET SYSTEM DATA AREA
INT E0 - REAL/32 - "S_SYSDAT" - GET SYSTEM DATA AREA
	CL = 9Ah
Return: ES:AX -> system data area (see #04048)
	may destroy SI,DI

Format of REAL/32 system data area:
Offset	Size	Description	(Table 04048)
 00h	DWORD	address of supervisor entry point
 04h 36 BYTEs	reserved
 28h	DWORD	address of XIOS entry point
 2Ch	DWORD	address of XIOS initialization point
 30h  8 BYTEs	reserved
 38h	DWORD	address of IRET dispatcher entry point
 3Ch	DWORD	address of RETF dispatcher entry point
 40h	WORD	segment of operating system code
 42h	WORD	paragraph address of first Resident System Process (RSP)
 44h	WORD	paragraph after OS system area
 46h	BYTE	reserved
 47h	BYTE	number of system console devices
 48h	BYTE	number of system list (printer) devices
 49h	BYTE	number of Character Control blocks
 4Ah	BYTE	number of system flags
 4Bh	BYTE	current search disk
 4Ch	WORD	maximum memory per process
 4Eh	BYTE	reserved
 4Fh	BYTE	"dayfile" (flag, true if FFh)
 50h	BYTE	default disk for temporary files
 51h	BYTE	system ticks per second (typically 60)
 52h	WORD	offset of Locked Unused list
 54h	WORD	offset of CCB table
 56h	WORD	offset of system flag table
 58h	WORD	offset of root of Memory Descriptor Unused list
 5Ah	WORD	offset of Memory Free list
 5Ch	WORD	offset of Process Unused list
 5Eh	WORD	offset of Queue Unused list
 60h  4 WORDs	(no longer used) QMAU
 68h	WORD	offset of root of Ready List
 6Ah	WORD	offset of root of Delay List
 6Ch	WORD	offset of Dispatcher Ready list
 6Eh	WORD	offset of root of Poll List
 70h	WORD	reserved
 72h	WORD	offset of root of Thread List
 74h	WORD	offset of root of Queue List
 76h	WORD	offset of Memory Allocation list
 78h	WORD	segment of version string
 7Ah	WORD	BDOS version number
 7Ch	WORD	OS version number
 7Eh	WORD	number of days since 1978/01/01
 80h	BYTE	current time: hour
 81h	BYTE	current time: minute
 82h	BYTE	current time: second
 83h	BYTE	number of XIOS consoles
 84h	BYTE	number of XIOS list (printer) devices
 85h	BYTE	total number of character devices
 86h	WORD	offset of LCB table
 88h	WORD	bitmap of open files
 8Ah	BYTE	maximum locked records per process
 8Bh	BYTE	maximum open files per process
 8Ch	WORD	offset of process descriptor for math coprocessor's owner
 8Eh	WORD	offset of Auxiliary Control Block
 90h  8 BYTEs	reserved
 98h	WORD	offset of root Memory Window Descriptor
 9Ah	WORD	reserved
 9Ch	BYTE	number of Auxiliary Control Blocks
 9Dh	BYTE	default search disk
 9Eh	BYTE	reserved
 9Fh	BYTE	number of physical consoles
 A0h	DWORD	address of 8087 interrupt handler
 A4h	DWORD	address of default 8087 exception handler
 ...		reserved
C00h 82 BYTEs	XIOS header structure (see #04049)

Format of REAL/32 XIOS header structure:
Offset	Size	Description	(Table 04049)
 00h  3 BYTEs	XIOS initialization entry point
 03h  3 BYTEs	XIOS service entry point
 06h	WORD	segment address of system data
 08h	DWORD	address of supervisor entry point
 0Ch	BYTE	set tick flag
 0Dh	BYTE	ticks per second
 0Eh	BYTE	global Door Open interrupt flag
 0Fh	BYTE	number of Auxiliary Control Blocks
 10h	BYTE	number of physical consoles
 11h	BYTE	number of virtual consoles
 12h	BYTE	number of logical consoles
 13h	BYTE	number of list control blocks
 14h	WORD	offset of CCB table
 16h	WORD	offset of LCB table
 18h 16 WORDs	offsets into DPH for drives A-P
 38h	WORD	buffer size in paragraphs
 3Ah	WORD	offset of ACB table
 3Ch	WORD	used by OEM
 3Eh	WORD	offset of CCB pointer array
 40h	WORD	offset of LCB pointer array
 42h	WORD	offset of ACB pointer array
 44h	BYTE	'first' flag
 45h	BYTE	unused
 46h	WORD	offset of print device support table
 48h	WORD	offset of aux device support table
 4Ah	WORD	XIOS extra segment
 4Ch	WORD	segment of save end address for debug
 4Eh	WORD	segment of save start address for debug
 50h	BYTE	number of main virtual console
 51h	WORD	segment of XIOS code
SeeAlso: #04048

Top
E0----CL9C - INT E0 - REAL/32 - "P_PDADR" - GET ADDRESS OF PROCESS DESCRIPTOR
INT E0 - REAL/32 - "P_PDADR" - GET ADDRESS OF PROCESS DESCRIPTOR
	CL = 9Ch
Return: ES:AX -> caller's process descriptor (see #04026)
	may destroy SI,DI
Note:	This function is also called by the DR DOS MEM utility when
	  INT 21/AX=4451h returns either 1463h (MDOS 5.00), 1465h (MDOS 5.01),
	  or 1466h (MDOS 5.10).
SeeAlso: INT E0/CL=8Fh,INT E0/CL=90h

Top
E0----CL9D - INT E0 - REAL/32 - "P_ABORT" - ABORT PROCESS BY NAME OR DESCRIPTOR
INT E0 - REAL/32 - "P_ABORT" - ABORT PROCESS BY NAME OR DESCRIPTOR
	CL = 9Dh
	DS:DX -> Abort Parameter Block (see #04050)
Return: AX = status
	may destroy SI,DI,DS
SeeAlso: INT E0/CL=8Fh,INT E0/CL=9Ch

Format of REAL/32 Abort Parameter Block:
Offset	Size	Description	(Table 04050)
 00h	WORD	process descriptor of process to abort, or 0000h
 02h	WORD	termination code
 04h	BYTE	default console number
 05h	BYTE	reserved (0)
 06h  8 BYTEs	name of process to abort, if descriptor at offset 00h is 0000h

Top
E0----CL9E - INT E0 - REAL/32 - "L_ATTACH" - ATTACH TO DEFAULT LIST DEVICE
INT E0 - REAL/32 - "L_ATTACH" - ATTACH TO DEFAULT LIST DEVICE
	CL = 9Eh
Return: AX = status
	may destroy SI,DI
SeeAlso: INT E0/CL=92h,INT E0/CL=9Fh,INT E0/CL=A0h,INT E0/CL=A1h

Top
E0----CL9F - INT E0 - REAL/32 - "L_DETACH" - DETACH FROM DEFAULT LIST DEVICE
INT E0 - REAL/32 - "L_DETACH" - DETACH FROM DEFAULT LIST DEVICE
	CL = 9Fh
Return: AX = status
	may destroy SI,DI
SeeAlso: INT E0/CL=92h,INT E0/CL=9Eh

Top
E0----CLA0 - INT E0 - REAL/32 - "L_SET" - SET DEFAULT LIST DEVICE
INT E0 - REAL/32 - "L_SET" - SET DEFAULT LIST DEVICE
	CL = A0h
	DX = ID of list (printer) device
Return: AX = status (0000h success, FFFFh if invalid printer number)
	may destroy SI,DI
SeeAlso: INT E0/CL=92h,INT E0/CL=9Eh,INT E0/CL=A4h

Top
E0----CLA1 - INT E0 - REAL/32 - "L_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT LIST DEVICE
INT E0 - REAL/32 - "L_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT LIST DEVICE
	CL = A1h
Return: AX = status (00h = successful, FFh = unable to attach)
	may destroy SI,DI
Desc:	attach the default list device to the calling process only if it is
	  currently available
SeeAlso: INT E0/CL=92h,INT E0/CL=9Eh,INT E0/CL=A0h

Top
E0----CLA2 - INT E0 - REAL/32 - "C_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT CONSOLE
INT E0 - REAL/32 - "C_CATTACH" - CONDITIONALLY ATTACH TO DEFAULT CONSOLE
	CL = A2h
Return: AL = status (FFh = console attached to another process)
Note:	if the console is currently owned by another process, this function
	  will return an error code instead of attaching or waiting
SeeAlso: INT E0/CL=93h,INT E0/CL=94h,INT E0/CL=99h,INT E0/CL=92h

Top
E0----CLA3 - INT E0 - ConcCP/M,DR Multiuser DOS,REAL/32 - "S_OSVER" - GET OS VERSION
INT E0 - ConcCP/M,DR Multiuser DOS,REAL/32 - "S_OSVER" - GET OS VERSION
	CL = A3h
Return: AX = operating system version (see #04023) (see also INT 21/AX=4451h)
SeeAlso: INT E0/CL=0Ch,INT 21/AX=4451h

Top
E0----CLA4 - INT E0 - REAL/32 - "L_GET" - GET DEFAULT LIST (PRINTER) DEVICE
INT E0 - REAL/32 - "L_GET" - GET DEFAULT LIST (PRINTER) DEVICE
	CL = A4h
Return: AL = number of default list device
SeeAlso: INT E0/CL=A0h

Top
E0----CLA5 - INT E0 - DR Multiuser DOS - "A_ATTACH" - ATTACH AUX DEVICE
INT E0 - DR Multiuser DOS - "A_ATTACH" - ATTACH AUX DEVICE
	CL = A5h
Return: nothing (DR)
	AX = status (REAL/32)
Desc:	attaches the default auxiliary device to the calling process unless
	  it is already attached to another process, in which case the call
	  blocks until the device becomes available
Notes:	this call should be used before attempting to read or write from
	  the AUX device; however, the I/O calls internally call this function
	  to ensure device ownership
	also supported by REAL/32
SeeAlso: INT E0/CL=03h,INT E0/CL=04h,INT E0/CL=A6h,INT E0/CL=A7h,INT E0/CL=A8h
SeeAlso: INT E0/CL=ACh,INT E0/CL=ADh,INT E0/CL=B0h

Top
E0----CLA6 - INT E0 - DR Multiuser DOS - "A_DETACH" - DETACH FROM AUX DEVICE
INT E0 - DR Multiuser DOS - "A_DETACH" - DETACH FROM AUX DEVICE
	CL = A6h
Return: AX = status
	    0000h successfully detached
	    FFFFh detach failed
	CX = error code
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=93h,INT E0/CL=A5h,INT E0/CL=A7h

Top
E0----CLA7 - INT E0 - DR Multiuser DOS - "A_CATTACH" - CONDITIONALLY ATTACH TO AUX DEVICE
INT E0 - DR Multiuser DOS - "A_CATTACH" - CONDITIONALLY ATTACH TO AUX DEVICE
	CL = A7h
Return: AX = status
	    0000h attached
	    FFFFh unable to attach
Desc:	attaches the default auxiliary device to the calling process if it is
	  available
Notes:	does not block if the device is already in use
	also supported by REAL/32
SeeAlso: INT E0/CL=A5h,INT E0/CL=A6h,INT E0/CL=A8h,INT E0/CL=B0h

Top
E0----CLA8 - INT E0 - DR Multiuser DOS - "A_SET" - SET DEFAULT AUX DEVICE NUMBER
INT E0 - DR Multiuser DOS - "A_SET" - SET DEFAULT AUX DEVICE NUMBER
	CL = A8h
	DL = auxiliary device number
Return: AX = status
	    0000h successful
	    FFFFh failed
	CX = error code
Desc:	specify which physical device will become AUX
SeeAlso: INT E0/CL=A5h,INT E0/CL=A9h

Top
E0----CLA9 - INT E0 - DR Multiuser DOS - "A_GET" - GET DEFAULT AUX DEVICE NUMBER
INT E0 - DR Multiuser DOS - "A_GET" - GET DEFAULT AUX DEVICE NUMBER
	CL = A9h
Return: AL = current default auxiliary device number
Desc:	determine which physical device is currently AUX
SeeAlso: INT E0/CL=A8h

Top
E0----CLAC - INT E0 - DR Multiuser DOS - "A_READBLK" - READ STRING FROM AUX DEVICE
INT E0 - DR Multiuser DOS - "A_READBLK" - READ STRING FROM AUX DEVICE
	CL = ACh
	DS:DX -> character control block (CHCB) (see #04051,#04052)
Return: AX = number of characters read
Desc:	read characters from the default auxiliary (AUXn:) device into a buffer
	  until the buffer is full or the device is no longer ready
Notes:	if the device is initially not ready, blocks until at least one
	  character has been read
	if another process owns AUX, this call blocks until the device becomes
	  available
	also supported by REAL/32
SeeAlso: INT E0/CL=03h,INT E0/CL=A5h,INT E0/CL=ADh

Format of DR Multiuser DOS character control block (CHCB):
Offset	Size	Description	(Table 04051)
 00h	DWORD	pointer to character buffer
 04h	WORD	length of character buffer
Note:	this version of the structure is used by REAL/32 in real mode
SeeAlso: #04059

Format of REAL/32 protected-mode Character Control Block (CHCB):
Offset	Size	Description	(Table 04052)
 00h	DWORD	32-bit offset of character buffer
 04h	WORD	selector for character buffer
 06h	WORD	length of character buffer
SeeAlso: #04051

Top
E0----CLAD - INT E0 - DR Multiuser DOS - "A_WRITEBLK" - WRITE STRING TO AUX DEVICE
INT E0 - DR Multiuser DOS - "A_WRITEBLK" - WRITE STRING TO AUX DEVICE
	CL = ADh
	DS:DX -> character control block (see #04051,#04052)
Return: AX = number of characters written
Notes:	does not return until at least one character has been written
	also supported by REAL/32
SeeAlso: INT E0/CL=04h,INT E0/CL=A5h,INT E0/CL=ACh

Top
E0----CLB0 - INT E0 - DR Multiuser DOS - "A_CONFIG" - GET/SET AUX DEVICE PARAMETERS
INT E0 - DR Multiuser DOS - "A_CONFIG" - GET/SET AUX DEVICE PARAMETERS
	CL = B0h
	DX:DX -> AUX device parameter block (see #04053)
Return: AX = status
	    0000h successful
		parameter block updated
	    FFFFh failed
		CX = error code
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=A5h,INT E0/CL=B1h

Format of DR Multiuser DOS AUX device parameter block:
Offset	Size	Description	(Table 04053)
 00h	BYTE	function (00h get, 01h set)
 01h	BYTE	baud rate (see #04055) FFh = don't change/unknown
 02h	BYTE	parity (see #04054)
 03h	BYTE	stop bits (00h one, 01h 1.5, 02h two, FFh unknown/don't change)
 04h	BYTE	data bits (05h-08h or FFh unknown/don't change)
 05h	BYTE	handshake (00h none, 01h DTS/DSR, 02h RTS/CTS, 04h XON/XOFF,
		FFh unknown/don't change)
 06h	BYTE	XON character, FFh unknown/don't change
 07h	BYTE	XOFF character, FFh unknown/don't change

(Table 04054)
Values for DR Multiuser DOS AUX parity:
 00h	none
 01h	odd
 02h	none
 03h	even
 04h	stick parity bit
 FFh	don't change/unknown
SeeAlso: #04053,#04055

(Table 04055)
Values for DR Multiuser DOS AUX baud rate:
 00h	50 baud
 01h	62.5 baud
 02h	75 baud
 03h	110 baud
 04h	134.5 baud
 05h	150 baud
 06h	200 baud
 07h	300 baud
 08h	600 baud
 09h	1200 baud
 0Ah	1800 baud
 0Bh	2000 baud
 0Ch	2400 baud
 0Dh	3600 baud
 0Eh	4800 baud
 0Fh	7200 baud
 10h	9600 baud
 11h	19200 baud
 12h	38400 baud
 13h	56000 baud
 14h	76800 baud
 15h	115200 baud
SeeAlso: #04053,#04054

Top
E0----CLB1 - INT E0 - DR Multiuser DOS - "A_CONTROL" - GET/SET AUX CONTROL PARAMETERS
INT E0 - DR Multiuser DOS - "A_CONTROL" - GET/SET AUX CONTROL PARAMETERS
	CL = B1h
	DS:DX -> AUX device control block (see #04056)
Return: AX = status
	    0000h successful
		control block updated
	    FFFFh failed
		CX = error code
Note:	also supported by REAL/32
SeeAlso: INT E0/CL=B0h,INT E0/CL=B2h

Format of DR Multiuser DOS AUX device control block:
Offset	Size	Description	(Table 04056)
 00h	BYTE	function (00h get, 01h set)
 01h	BYTE	DTR state (00h low, 01h high, FFh unknown/don't change)
 02h	BYTE	RTS state (00h low, 01h high, FFh unknown/don't change)
 03h	BYTE	DSR state (00h low, 01h high, FFh unknown/don't change)
 04h	BYTE	CTS state (00h low, 01h high, FFh unknown/don't change)
 05h	BYTE	DCD state (00h low, 01h high, FFh unknown/don't change)
 06h	BYTE	RI state (00h inactive, 01h active, FFh unknown/don't change)

Top
E0----CLB2 - INT E0 - DR Multiuser DOS - "A_BREAK" - SEND BREAK TO AUX DEVICE
INT E0 - DR Multiuser DOS - "A_BREAK" - SEND BREAK TO AUX DEVICE
	CL = B2h
	DX = duration of break in system ticks (0001h-FFFFh)
Return: AX = status
	    0000h successful
		break signal completed
	    FFFFh failed
		CX = error code
Notes:	if the AUX device is currently owned by another process, this call will
	  block until the device becomes available
	also supported by REAL/32
SeeAlso: INT E0/CL=A5h,INT E0/CL=B1h

Top
E0----CLB3 - INT E0 R - REAL/32 - "MP_ALLOC" - ALLOCATE PHYSICAL MEMORY
INT E0 R - REAL/32 - "MP_ALLOC" - ALLOCATE PHYSICAL MEMORY
	CL = B3h
	DX = number of 4K pages to allocate
Return: AX = number of first 4K page allocated, or FFFFh on error
Note:	memory allocated with this function is not automatically freed when
	  the process terminates
SeeAlso: INT E0/CL=B4h,INT E0/CL=B5h

Top
E0----CLB4 - INT E0 R - REAL/32 - "MP_FREE" - DEALLOCATE PHYSICAL MEMORY
INT E0 R - REAL/32 - "MP_FREE" - DEALLOCATE PHYSICAL MEMORY
	CL = B4h
	DX = number of the physical page to free
Return: AX = status (0000h successful, FFFFh error)
SeeAlso: INT E0/CL=B3h

Top
E0----CLB5 - INT E0 R - REAL/32 - "MP_MAP" - MAP PHYSICAL MEMORY
INT E0 R - REAL/32 - "MP_MAP" - MAP PHYSICAL MEMORY
	CL = B5h
	DS:DX -> Memory Physical Parameter Block (see #04057)
Return: AX = status (0000h successful, FFFFh error)
	may destroy SI,DI,DS
SeeAlso: INT E0/CL=B3h

Format of REAL/32 Memory Physical Parameter Block:
Offset	Size	Description	(Table 04057)
 00h	WORD	4K page number in first megabyte to be mapped
 02h	WORD	number of page to map into above page, or 0000h to unmap
 04h	WORD	window number (0000h, as only one window currently supported)
 06h	WORD	reserved
Note:	all users of the system share the window, so applications should not
	  use it for arguments to system calls, attempt to read/write to/from
	  files via the window, etc.

Top
E0----CLB6 - INT E0 - REAL/32 - "Q_NCREAD" - CONDITIONALLY NONDESTRUCTIVELY READ QUEUE
INT E0 - REAL/32 - "Q_NCREAD" - CONDITIONALLY NONDESTRUCTIVELY READ QUEUE
	CL = B6h
	DS:DX -> Queue Parameter Block (QPB) (see #04045,#04044)
Return: AX = status
SeeAlso: INT E0/CL=89h,INT E0/CL=8Ah

Top
E0----CLB7 - INT E0 - REAL/32 - "DEV_TWAITFLAG" - TIMED WAIT ON SYSTEM FLAG
INT E0 - REAL/32 - "DEV_TWAITFLAG" - TIMED WAIT ON SYSTEM FLAG
	CL = B7h
	DS:DX -> Flag Parameter Block (FPB) (see #04058)
Return: AX = status
	may destroy SI,DI,DS
Note:	if the flag was already set, this function returns immediately
SeeAlso: INT E0/CL=84h,INT E0/CL=85h

Format of REAL/32 Flag Parameter Block (FPB):
Offset	Size	Description	(Table 04058)
 00h	WORD	number of system flag on which to wait
 02h	WORD	maximum number of system ticks (see INT E0/CL=9Ah) to wait

Top
E0----CLB8 - INT E0 - REAL/32 - "DEV_MAP" - GET/SET SERIAL/PARALLEL PORT MAPPINGS
INT E0 - REAL/32 - "DEV_MAP" - GET/SET SERIAL/PARALLEL PORT MAPPINGS
	CL = B8h
	DS:DX -> Device Map Parameter Block (DEVPB) (see #04059)
Return: nothing???
	may destroy SI,DI,DS

Format of REAL/32 Device Map Parameter Block (DEVPB):
Offset	Size	Description	(Table 04059)
 00h	WORD	direction (00h = get current mapping, 01h = set new mapping)
 02h  4 BYTEs	physical device IDs which map into LPT1 - LPT4
 06h  4 BYTEs	physical device IDs which map into COM1 - COM4
Note:	LPT4 and COM3/COM4 are reserved on early versions of Multiuser DOS,
	  but are supported from at least CCI Multiuser DOS v7.22 onward

Top
E0----CLB9 - INT E0 - REAL/32 - "L_TIMEOUT" - SET LIST DEVICE TIMEOUT
INT E0 - REAL/32 - "L_TIMEOUT" - SET LIST DEVICE TIMEOUT
	CL = B9h
	DX = timeout value in system ticks (see #04048)
		0000h-FFEFh = new number of system ticks
		FFFDh = get current value without changing
		FFFEh = start timeout count
		FFFFh = never timeout
Return: AX = status, or current timeout value if DX=FFFDh on entry
	may destroy SI,DI
SeeAlso: INT E0/CL=BAh

Top
E0----CLBA - INT E0 - REAL/32 - "A_TIMEOUT" - SET AUX DEVICE TIMEOUT
INT E0 - REAL/32 - "A_TIMEOUT" - SET AUX DEVICE TIMEOUT
	CL = BAh
	DX = timeout value in system ticks (see #04048)
		0000h-FFEFh = new number of system ticks
		FFFDh = get current value without changing
		FFFEh = start timeout count
		FFFFh = never timeout
Return: AX = status, or current timeout value if DX=FFFDh on entry
	may destroy SI,DI
SeeAlso: INT E0/CL=B9h

Top
E0----CLBD - INT E0 - DR Multiuser DOS - "P_DELAY" - DELAY EXECUTION
INT E0 - DR Multiuser DOS - "P_DELAY" - DELAY EXECUTION
	CL = BDh
	DX = delay in system ticks (typically 16.6 ms/tick)
Return: after the delay elapses
	no results
Notes:	the length of a system tick is installation-dependent (typically
	  1/50 or 1/60 second); the length may be determined by reading the
	  TICKSPERSEC value from the system data segment
	the actual delay before the process is rescheduled to run may be up to
	  one tick longer than requested; the delay between rescheduling and
	  actual execution cannot be predicted if higher-priority processes
	  are awaiting a turn at the CPU
SeeAlso: INT 15/AH=86h,INT 1A/AX=FF01h,INT 2F/AX=1224h,INT 62/AX=0096h

Top
E00000 - INT E0 - PCROBOTS v1.41 - "SWAPTASK" - END CURRENT ROBOT'S TURN
INT E0 - PCROBOTS v1.41 - "SWAPTASK" - END CURRENT ROBOT'S TURN
	AX = 0000h
Return: nothing
Program: PCROBOTS is P.D. Smith's adaptation of Tom Poindexter's CROBOTS, in
	  which specially-written .COM or .EXE programs form robots battling
	  each other in a user-defined arena

Top
E00001 - INT E0 - PCROBOTS v1.41 - "MOVEMENT" - START MOVING
INT E0 - PCROBOTS v1.41 - "MOVEMENT" - START MOVING
	AX = 0001h
	BX = speed (0-maximum for robot)
	CX = direction (0-359 degrees)
Return: nothing
Notes:	the speed will change to the specified value at the maximum
	  acceleration the robot is capable of; if the robot is already moving
	  faster than its maximum maneuverability speed, it will not be able
	  to change direction
	this call also terminates the current robot's turn
SeeAlso: AX=0000h,AX=0002h,AX=0003h

Top
E00002 - INT E0 - PCROBOTS v1.41 - "SCAN" - SCAN FOR OTHER ROBOTS IN THE GIVEN DIRECTION
INT E0 - PCROBOTS v1.41 - "SCAN" - SCAN FOR OTHER ROBOTS IN THE GIVEN DIRECTION
	AX = 0002h
	BX = direction (0-359 degrees)
	CX = resolution (0-45 degrees)
Return: AX = status
	    FFFFh if nothing detected
	    else robot ID (0-19)
		BX = range to detected robot
Notes:	the scan searches within CX degrees to either side of the specified
	  direction
	the scanner will see right through walls, but shells will not pass
	  through walls
	this call also terminates the current robot's turn
SeeAlso: AX=0000h,AX=0001h,AX=0003h

Top
E00003 - INT E0 - PCROBOTS v1.41 - "SHOOT" - FIRE A SHELL AT ANOTHER ROBOT
INT E0 - PCROBOTS v1.41 - "SHOOT" - FIRE A SHELL AT ANOTHER ROBOT
	AX = 0003h
	BX = direction (0-359 degrees)
	CX = range (0-700)
Return: AX = status (0000h not fired, else ID of shell fired)
Notes:	up to seven shells may be in flight for a robot at one time; the cannon
	  takes 50 ticks to reload
	this call also terminates the current robot's turn
SeeAlso: AX=0000h,AX=0001h,AX=0002h,AX=002Ch

Top
E00010 - INT E0 - PCROBOTS v1.41 - "GETXY" - GET ROBOT'S CURRENT POSITION
INT E0 - PCROBOTS v1.41 - "GETXY" - GET ROBOT'S CURRENT POSITION
	AX = 0010h
Return: BX = current X coordinate (0-999)
	CX = current Y coordinate (0-999)

Top
E00011 - INT E0 - PCROBOTS v1.41 - "TRANSMIT" - SEND DATA TO ANOTHER ROBOT
INT E0 - PCROBOTS v1.41 - "TRANSMIT" - SEND DATA TO ANOTHER ROBOT
	AX = 0011h
	BX = target robot ID
	CX = data to be sent
Return: AX = status (0000h data could not be sent, 0001h data sent)
Note:	this call costs one unit of battery power

Top
E00012 - INT E0 - PCROBOTS v1.41 - "RECEIVE" - GET DATA FROM OTHER ROBOTS
INT E0 - PCROBOTS v1.41 - "RECEIVE" - GET DATA FROM OTHER ROBOTS
	AX = 0012h
Return: AX = status
	    0000h no data available
	    0001h data retrieved
		BX = sender's ID
		CX = data
Note:	each robot has a 20-word receive FIFO; if the FIFO is full, other
	  robots will be unable to send more data until some is read

Top
E00013 - INT E0 - PCROBOTS v1.41 - "DAMAGE" - DETERMINE HOW MUCH DAMAGE SUSTAINED
INT E0 - PCROBOTS v1.41 - "DAMAGE" - DETERMINE HOW MUCH DAMAGE SUSTAINED
	AX = 0013h
Return: BX = damage status
Note:	the initial value depends on configuration, but is typically 100; as
	  the robot is damaged, it decreases

Top
E00014 - INT E0 - PCROBOTS v1.41 - "SPEED" - DETERMINE HOW FAST ROBOT IS MOVING
INT E0 - PCROBOTS v1.41 - "SPEED" - DETERMINE HOW FAST ROBOT IS MOVING
	AX = 0014h
Return: BX = current speed

Top
E00015 - INT E0 - PCROBOTS v1.41 - "BATTERY" - DETERMINE HOW MUCH BATTERY POWER LEFT
INT E0 - PCROBOTS v1.41 - "BATTERY" - DETERMINE HOW MUCH BATTERY POWER LEFT
	AX = 0015h
Return: BX = current battery charge
Note:	the battery starts off with 1000 units of charge, and is constantly
	  being charged by solar panels and constantly discharged by motion;
	  the battery is charged at 4 units per turn and discharged at
	  0.1*speed units per turn.

Top
E00016 - INT E0 - PCROBOTS v1.41 - "TICKS" - DETERMINE HOW LONG SINCE GAME STARTED
INT E0 - PCROBOTS v1.41 - "TICKS" - DETERMINE HOW LONG SINCE GAME STARTED
	AX = 0016h
Return: BX:CX = number of game ticks elapsed (not related to real time)

Top
E00017 - INT E0 - PCROBOTS v1.41 - "L_SIN" - GET SCALED SINE OF AN ANGLE
INT E0 - PCROBOTS v1.41 - "L_SIN" - GET SCALED SINE OF AN ANGLE
	AX = 0017h
	BX = angle (0-359 degrees)
Return: BX:CX = 100000*sine of angle
SeeAlso: AX=0018h,AX=0019h,AX=001Ah,AX=001Bh

Top
E00018 - INT E0 - PCROBOTS v1.41 - "L_COS" - GET SCALED COSINE OF AN ANGLE
INT E0 - PCROBOTS v1.41 - "L_COS" - GET SCALED COSINE OF AN ANGLE
	AX = 0018h
	BX = angle (0-359 degrees)
Return: BX:CX = 100000*cosine of angle
SeeAlso: AX=0017h,AX=0019h,AX=001Ah

Top
E00019 - INT E0 - PCROBOTS v1.41 - "L_TAN" - GET SCALED TANGENT OF AN ANGLE
INT E0 - PCROBOTS v1.41 - "L_TAN" - GET SCALED TANGENT OF AN ANGLE
	AX = 0019h
	BX = angle (0-359 degrees)
Return: BX:CX = 100000*tangent of angle
SeeAlso: AX=0017h,AX=0018h,AX=001Ah

Top
E0001A - INT E0 - PCROBOTS v1.41 - "L_ATAN" - GET ANGLE GIVEN SCALED TANGENT
INT E0 - PCROBOTS v1.41 - "L_ATAN" - GET ANGLE GIVEN SCALED TANGENT
	AX = 001Ah
	BX:CX = 100000*tangent of an angle
Return: AX = angle (-90 to +90 degrees)
SeeAlso: AX=0017h,AX=0018h,AX=0019h

Top
E0001B - INT E0 - PCROBOTS v1.41 - "SQRT" - DETERMINE SQUARE ROOT OF A NUMBER
INT E0 - PCROBOTS v1.41 - "SQRT" - DETERMINE SQUARE ROOT OF A NUMBER
	AX = 001Bh
	BX:CX = value
Return: BX:CX = square root
SeeAlso: AX=0017h

Top
E0001C - INT E0 - PCROBOTS v1.41 - "SET_PATTERN" - SPECIFY ROBOT'S DISPLAY IMAGE
INT E0 - PCROBOTS v1.41 - "SET_PATTERN" - SPECIFY ROBOT'S DISPLAY IMAGE
	AX = 001Ch
	BX:CX -> pattern array
Return: nothing
Note:	the pattern array consists of five bytes, the low five bits of each
	  specifying the bit pattern for one line of the robot's screen display

Top
E0001D - INT E0 - PCROBOTS v1.41 - "DEBUG_FLAG" - SET/CLEAR MARKERS NEXT TO ROBOT'S NAME
INT E0 - PCROBOTS v1.41 - "DEBUG_FLAG" - SET/CLEAR MARKERS NEXT TO ROBOT'S NAME
	AX = 001Dh
	BX = flag number (0 or 1)
	CX = new value (0 reset, 1 set)
Return: nothing
Program: PCROBOTS is P.D. Smith's adaptation of Tom Poindexter's CROBOTS, in
	  which specially-written .COM or .EXE programs form robots battling
	  each other in a user-defined arena
Note:	the two flag markers may be used for any purpose, typically for
	  debugging to provide a visual display of progress

Top
E0001E - INT E0 - PCROBOTS v1.41 - "BUY_ARMOUR" - BUY OR SELL ARMOR FOR ROBOT
INT E0 - PCROBOTS v1.41 - "BUY_ARMOUR" - BUY OR SELL ARMOR FOR ROBOT
	AX = 001Eh
	BX = number of armor units to buy (negative to sell)
Return: nothing
Note:	each armor unit is worth 50 battery units; the robot's armor rating
	  will not go above its initial rating, so attempts to purchase more
	  will waste battery units
SeeAlso: AX=001Fh

Top
E0001F - INT E0 - PCROBOTS v1.41 - "BUY_SHELLS" - BUY ADDITIONAL CANNON SHELLS
INT E0 - PCROBOTS v1.41 - "BUY_SHELLS" - BUY ADDITIONAL CANNON SHELLS
	AX = 001Fh
	BX = number of shells to buy
Return: nothing
Note:	each shell costs ten battery units
SeeAlso: AX=001Eh,AX=0020h

Top
E00020 - INT E0 - PCROBOTS v1.41 - "SHELLS LEFT" - DETERMINE HOW MANY SHELLS ROBOT HAS
INT E0 - PCROBOTS v1.41 - "SHELLS LEFT" - DETERMINE HOW MANY SHELLS ROBOT HAS
	AX = 0020h
Return: BX = number of shells remaining
SeeAlso: AX=001Fh

Top
E00021 - INT E0 - PCROBOTS v1.41 - "GET LOCAL MAP"
INT E0 - PCROBOTS v1.41 - "GET LOCAL MAP"
	AX = 0021h
	BX:CX -> 81-byte buffer for map (see #04060)
Return: buffer filled with 9x9 area of map centered on robot's position

(Table 04060)
Values for PCROBOTS map squares:
 2Eh '.' empty square
 44h 'D' damaging trap
 52h 'R' refueling point
 58h 'X' wall

Top
E00022 - INT E0 - PCROBOTS v1.41 - "INVISIBILITY" - CONTROL ROBOT'S INVISIBILITY DEVICE
INT E0 - PCROBOTS v1.41 - "INVISIBILITY" - CONTROL ROBOT'S INVISIBILITY DEVICE
	AX = 0022h
	BX = new state (0000h become visible, 0001h become invisible)
Return: nothing
Notes:	this function has no effect if the robot is not capable of invisibility
	the robot can only stay invisible for 100 turns, after which it will
	  automatically become visible; it must also be remain visible for
	  as many turns as it was invisible before it can turn invisible
	  again
SeeAlso: AX=0024h,AX=0080h

Top
E00023 - INT E0 - PCROBOTS v1.41 - "GET_SHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
INT E0 - PCROBOTS v1.41 - "GET_SHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
	AX = 0023h
Return: BX = status of last shell to land
	    0000h missed completely
	    0001h hit a wall
	    0002h hit a robot within 50-square radius
	    0003h hit a robot within 25-square radius
	    0004h hit a robot within 5-square radius

Top
E00024 - INT E0 - PCROBOTS v1.41 - "IS_INVISIBLE" - DETERMINE WHETHER ROBOT IS INVISIBLE
INT E0 - PCROBOTS v1.41 - "IS_INVISIBLE" - DETERMINE WHETHER ROBOT IS INVISIBLE
	AX = 0024h
Return: BX = visibility (0000h visible, 0001h invisible)
SeeAlso: AX=0022h,AX=0080h

Top
E00025 - INT E0 - PCROBOTS v1.41 - "L_ATAN2" - GET ARCTANGENT
INT E0 - PCROBOTS v1.41 - "L_ATAN2" - GET ARCTANGENT
	AX = 0025h
	BX = Y
	CX = X
Return: AX = angle (arctangent of Y/X)

Top
E00026 - INT E0 - PCROBOTS v1.41 - "GET_ROBOT_ID" - DETERMINE CURRENT ROBOT'S IDENTIFIER
INT E0 - PCROBOTS v1.41 - "GET_ROBOT_ID" - DETERMINE CURRENT ROBOT'S IDENTIFIER
	AX = 0026h
Return: AX = robot ID

Top
E00027 - INT E0 - PCROBOTS v1.41 - "REGISTER_IFF" - REGISTER FRIEND/FOE IDENT STRING
INT E0 - PCROBOTS v1.41 - "REGISTER_IFF" - REGISTER FRIEND/FOE IDENT STRING
	AX = 0027h
	BX:CX = ASCIZ IFF string
Return: nothing
Note:	the IFF string may only be set once
SeeAlso: AX=0028h,AX=0029h

Top
E00028 - INT E0 - PCROBOTS v1.41 - "CHECK_IFF" - QUERY FRIEND/FOE IDENTIFICATION STRING
INT E0 - PCROBOTS v1.41 - "CHECK_IFF" - QUERY FRIEND/FOE IDENTIFICATION STRING
	AX = 0028h
	BX = robot ID to test
Return: AX = status
	    0000h IFF strings match
	    0001h IFF strings differ or invalid robot ID
SeeAlso: AX=0027h

Top
E00029 - INT E0 - PCROBOTS v1.41 - "REGISTER_NAME" - SPECIFY ROBOT'S NAME
INT E0 - PCROBOTS v1.41 - "REGISTER_NAME" - SPECIFY ROBOT'S NAME
	AX = 0029h
	BX:CX -> ASCIZ name string
Return: nothing
Note:	the name may only be set once
SeeAlso: AX=0027h,AX=002Ah

Top
E0002A - INT E0 - PCROBOTS v1.41 - "FIND_NAME" - SEARCH FOR ROBOT WITH GIVEN NAME
INT E0 - PCROBOTS v1.41 - "FIND_NAME" - SEARCH FOR ROBOT WITH GIVEN NAME
	AX = 002Ah
	BX:CX -> ASCIZ name string
	DX = first ID to check
Return: AX = robot ID or FFFFh if no robot with specified name
SeeAlso: AX=0028h,AX=0029h,AX=002Bh

Top
E0002B - INT E0 - PCROBOTS v1.41 - "GET_TEAM_ID" - DETERMINE TEAM MEMBERSHIP OF ROBOT
INT E0 - PCROBOTS v1.41 - "GET_TEAM_ID" - DETERMINE TEAM MEMBERSHIP OF ROBOT
	AX = 002Bh
Return: AX = team ID (0-2) or FFFFh if 'loner'
SeeAlso: AX=0029h

Top
E0002C - INT E0 - PCROBOTS v1.41 - "GET_ASHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
INT E0 - PCROBOTS v1.41 - "GET_ASHELL_STATUS" - FIND OUT WHAT HAPPENED TO SHELL
	AX = 002Ch
	BX = shell ID
Return: AX = status
	    0000h missed completely
	    0001h hit a wall
	    0002h hit a robot within a 50-square radius
	    0003h hit a robot within a 25-square radius
	    0004h hit a robot within a 5-square radius
	    0005h shell not known (too old or not yet fired)
	    0006h shell still in flight
SeeAlso: AX=0003h

Top
E0002D - INT E0 - PCROBOTS v1.41 - "REGISTER_X" - SELECT AUTOMATIC X POSITION UPDATES
INT E0 - PCROBOTS v1.41 - "REGISTER_X" - SELECT AUTOMATIC X POSITION UPDATES
	AX = 002Dh
	BX:CX -> X word variable
Return: AX = status (0001h OK, 0000h problem with address)
Note:	after this call, PCROBOTS will automatically update the specified
	  word whenever the robot moves
SeeAlso: AX=002Eh

Top
E0002E - INT E0 - PCROBOTS v1.41 - "REGISTER_Y" - SELECT AUTOMATIC Y POSITION UPDATES
INT E0 - PCROBOTS v1.41 - "REGISTER_Y" - SELECT AUTOMATIC Y POSITION UPDATES
	AX = 002Eh
	BX:CX -> Y word variable
Return: AX = status (0001h OK, 0000h problem with address)
Note:	after this call, PCROBOTS will automatically update the specified
	  word whenever the robot moves
SeeAlso: AX=002Dh

Top
E00080 - INT E0 - PCROBOTS v1.41 - "CONFIGURE" - CUSTOMIZE ROBOT
INT E0 - PCROBOTS v1.41 - "CONFIGURE" - CUSTOMIZE ROBOT
	AX = 0080h
	BX = basic configuration (see #04061)
	CX = advanced configuration (see #04062)
Return: AX = status (0001h OK, 0000h not first call in program)
Program: PCROBOTS is P.D. Smith's adaptation of Tom Poindexter's CROBOTS, in
	  which specially-written .COM or .EXE programs form robots battling
	  each other in a user-defined arena
Notes:	a maximum of ten points may be allocated to the robot; if you attempt
	  to allocate more, some items will be given a value of zero.  If this
	  function is not called, each attribute is set to the default value
	  of 2.
	if the invisibility option is chosen, the robot will start with only
	  900 cannon shells instead of the default 1000

Bitfields for PCROBOTS basic configuration:
Bit(s)	Description	(Table 04061)
 0-3	maximum speed (0-4 = 50,75,100,150,200)
 4-7	maneuverability (0-4 = 20%,35%,50%,75%,100%)
 8-11	cannon range (0-4 = 300,500,700,1000,1500)
 12-15	robot armor (0-4 = 50,75,100,150,200)

Bitfields for PCROBOTS advanced configuration:
Bit(s)	Description	(Table 04062)
 0-2	robot acceleration (0-4 = 5,7,10,15,20)
 3	capable of invisibility

Top
E1 - INT E1 - IBM ROM BASIC - used while in interpreter
INT E1 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E1 - INT E1 - PC Cluster Disk Server Information (NOT A VECTOR!)
INT E1 - PC Cluster Disk Server Information (NOT A VECTOR!)
Desc:	points at a data table
SeeAlso: INT E2

Top
E1 - INT E1 - MP/M-86, - ALTERNATE CP/M-86 FUNCTION CALLS
INT E1 - MP/M-86, - ALTERNATE CP/M-86 FUNCTION CALLS
	CL = function number (see #04019,#04020)
	DS,DX = parameters
Return: as appropriate for function
	CX is often the error code (see #04021)
Desc:	used by some applications which alter CP/M functions while running a
	  child program, to store the original INT E0 vector before
	  intercepting INT E0
Notes:	This is the debugger entry to the operating system.
	This function is also supported by IMS Multiuser DOS and IMS REAL/32.
SeeAlso: #04019 at INT E0"CP/M"

Top
E1 - INT E1 - DeskMate (Tandy) - TASK DATA SEGMENTS (NOT A VECTOR!)
INT E1 - DeskMate (Tandy) - TASK DATA SEGMENTS (NOT A VECTOR!)
Desc:	used to store data; the	low word of the vector is the data segment for
	  the first task; the high word is the data segment of the second task
	  (DeskMate supports 2-way task switching between small- or
	  medium-model applications)
Program: DeskMate is a proprietary GUI from Tandy distributed with several
	  models of the Tandy 1000's, 2500's, 3000's, and laptops.  Retail
	  and runtime versions also exist.  Some Tandy's are designed to
	  boot directly into DeskMate.
SeeAlso: INT E0"DeskMate"

Top
E2 - INT E2 - IBM ROM BASIC - used while in interpreter
INT E2 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E2 - INT E2 - PC Cluster Program - RELOCATED INT 1C
INT E2 - PC Cluster Program - RELOCATED INT 1C
SeeAlso: INT 1C

Top
E3 - INT E3 - IBM ROM BASIC - used while in interpreter
INT E3 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E40005 - INT E4 - Logitech Modula v2.0 - MonitorEntry
INT E4 - Logitech Modula v2.0 - MonitorEntry
	AX = 0005h
	BX = priority
Return: nothing
SeeAlso: AX=0006h

Top
E40006 - INT E4 - Logitech Modula v2.0 - MonitorExit
INT E4 - Logitech Modula v2.0 - MonitorExit
	AX = 0006h
Return: nothing
SeeAlso: AX=0005h

Top
E4 - INT E4 - IBM ROM BASIC - used while in interpreter
INT E4 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E4 - INT E4 - DIGITAL RESEARCH - FLAG INTERRUPT
INT E4 - DIGITAL RESEARCH - FLAG INTERRUPT
Note:	This interrupt corresponds with Concurrent CP/M-86 and is to get
	  an unused flag.
SeeAlso: INT E5"DIGITAL RESEARCH"

Top
E5 - INT E5 - IBM ROM BASIC - used while in interpreter
INT E5 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E5 - INT E5 - DIGITAL RESEARCH - FIDDS INTERRUPT
INT E5 - DIGITAL RESEARCH - FIDDS INTERRUPT
Note:	This interrupt corresponds with Concurrent CP/M-86 and is for
	  "attachamatic" drives
SeeAlso: INT E4"DIGITAL RESEARCH",INT E6"CP/M"

Top
E6 - INT E6 - IBM ROM BASIC - used while in interpreter
INT E6 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E6 - INT E6 C - CP/M-86 v1.1 - XIOS INTERRUPT / UNKNOWN DISK DRIVE
INT E6 C - CP/M-86 v1.1 - XIOS INTERRUPT / UNKNOWN DISK DRIVE
	AX = function which accessed drive
	    0000h SELDSK
	    0001h READ
	    0002h WRITE
	    0003h HOME
	DX:BX -> parameter block (see #04063)
Return:	AX = return value
Desc:	called by CP/M-86 kernel when an unknown disk drive is used, which
	  permits an application to provide access services
Note:	This was labelled "XIOS interrupt" in later Digital Research
	  documentation (CCP/M-86) and "for the version 1.0 back door".

Format of CP/M-86 unknown-drive paramter block:
Offset	Size	Description	(Table 04063)
 00h	BYTE	drive number (00h = first unknown drive, etc.)
 01h	BYTE	deblocking flag (00h = normal write, 01h = directory write)
 02h	WORD	track number
 04h	WORD	sector number
 06h	DWORD	data transfer address
 0Ah	BYTE	verify flag (nonzero to verify writes)
Note:	in CP/M-86 v1.1, this is actually a portion of a BIOS disk data
	  table which starts one byte before the address given to the INT E6
	  handler; that extra byte is the current logical drive number

Top
E600 - INT E6 - Linux DOSEMU - INSTALLATION CHECK
INT E6 - Linux DOSEMU - INSTALLATION CHECK
	AH = 00h
Return: AX = AA55h if installed
	    BH = major version number
	    BL = minor version number
	    CX = patchlevel
Notes:	check for the BIOS date string "02/25/93" at F000:FFF5 before
	  calling this function.  In addition, the segment address of this
	  vector should be F000h (for existing versions of DOSemu, the
	  vector is F000h:0E60h)
SeeAlso: AH=FFh

Top
E601 - INT E6 - Linux DOSEMU - REGISTER DUMP
INT E6 - Linux DOSEMU - REGISTER DUMP
	AH = 01h
Return: nothing
SeeAlso: AH=00h

Top
E602 - INT E6 - Linux DOSEMU - SET I/O PORT PERMISSIONS
INT E6 - Linux DOSEMU - SET I/O PORT PERMISSIONS
	AH = 02h
	BX = base I/O port address
	CX = number of consecutive I/O ports
	CF set to allow DOS to use ports
	CF clear if DOS should not be allowed to use ports
Return: nothing
SeeAlso: AH=00h

Top
E605 - INT E6 - Linux DOSEMU - STARTUP BANNER
INT E6 - Linux DOSEMU - STARTUP BANNER
	AH = 05h
Return: nothing
SeeAlso: AH=00h

Top
E612 - INT E6 - Linux DOSEMU - SET "HOGTHRESHOLD"
INT E6 - Linux DOSEMU - SET "HOGTHRESHOLD"
	AH = 12h
	BX = new "hogthreshold" (00h-99h)
Return: nothing
Desc:	specify how much CPU time DOSEMU may use
SeeAlso: AH=00h

Top
E622 - INT E6 - Linux DOSEMU - GET EMS STATUS
INT E6 - Linux DOSEMU - GET EMS STATUS
	AH = 22h
Return: ???
SeeAlso: AH=00h

Top
E630 - INT E6 - Linux DOSEMU - SET BOOTDISK FLAG
INT E6 - Linux DOSEMU - SET BOOTDISK FLAG
	AH = 30h
	BX = new flag state (0 = false, 1 = true)
Return: nothing
SeeAlso: AH=00h

Top
E650 - INT E6 - Linux DOSEMU - EXECUTE UNIX COMMAND
INT E6 - Linux DOSEMU - EXECUTE UNIX COMMAND
	AH = 50h
	ES:DX -> ASCIZ Unix command
SeeAlso: AH=00h,AH=51h

Top
E651 - INT E6 - Linux DOSEMU - EXECUTE DOS COMMAND FROM UNIX
INT E6 - Linux DOSEMU - EXECUTE DOS COMMAND FROM UNIX
	AH = 51h
	ES:DX -> ASCIZ DOS command
SeeAlso: AH=00h,AH=50h

Top
E680 - INT E6 - Linux DOSEMU - GET CURRENT UNIX DIRECTORY
INT E6 - Linux DOSEMU - GET CURRENT UNIX DIRECTORY
	AH = 80h
Return: ES:DX -> current Unix directory
	AX = length of current directory name
SeeAlso: AH=00h,AH=81h

Top
E681 - INT E6 - Linux DOSEMU - CHANGE CURRENT UNIX DIRECTORY
INT E6 - Linux DOSEMU - CHANGE CURRENT UNIX DIRECTORY
	AH = 81h
	ES:DX -> ASCIZ directory name
Return: nothing
SeeAlso: AH=00h,AH=80h

Top
E6FF - INT E6 - Linux DOSEMU - TERMINATE
INT E6 - Linux DOSEMU - TERMINATE
	AH = FFh
SeeAlso: AH=00h

Top
E7 - INT E7 - IBM ROM BASIC - used while in interpreter
INT E7 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E8 - INT E8 - IBM ROM BASIC - used while in interpreter
INT E8 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
E9 - INT E9 - IBM ROM BASIC - used while in interpreter
INT E9 - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
EA - INT EA - IBM ROM BASIC - used while in interpreter
INT EA - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
EB - INT EB - IBM ROM BASIC - used while in interpreter
INT EB - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
EC - INT EC - IBM ROM BASIC - used while in interpreter
INT EC - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC
	BASIC.COM/BASICA.COM do not restore vector on termination

Top
EC - INT EC - used by Alloy NTNX
INT EC - used by Alloy NTNX

Top
EC - INT EC - Exact - RUNTIME INTERFACE MULTIPLEXOR
INT EC - Exact - RUNTIME INTERFACE MULTIPLEXOR
	AX = function number (0000h to 0140h)
	STACK:	DWORD address to return to
		any arguments required by function
Return: STACK:	return address popped, but otherwise unchanged
Desc:	this is the interface from applications to the runtime system by Exact
	  Automatisering B.V. of the Netherlands.  By using this interrupt,
	  it can provide DLL-style capabilities under MS-DOS.
Note:	the interrupt handler removes the return address and flags placed on
	  the stack by the INT EC, then jumps to the appropriate function

Top
ED - INT ED - IBM ROM BASIC - used while in interpreter
INT ED - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
	INT 80 through INT ED are modified but not restored by Direct Access
	  v4.0, and may be left dangling by other programs written with the
	  same version of compiled BASIC
SeeAlso: INT EC"BASIC",INT EE"BASIC"

Top
EE - INT EE - IBM ROM BASIC - used while in interpreter
INT EE - IBM ROM BASIC - used while in interpreter
Notes:	called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT ED"BASIC",INT EE"BASIC"

Top
EF - INT EF - BASIC - ORIGINAL INT 09 VECTOR
INT EF - BASIC - ORIGINAL INT 09 VECTOR
Note:	BASIC.COM/BASICA.COM do not restore vector on termination
SeeAlso: INT EE"BASIC",INT F0"BASIC"

Top
EF----CX00C8 - INT EF - GEM - AES INTERFACE
INT EF - GEM - AES INTERFACE
	CX = 00C8h
	DX = 0000h
	ES:BX -> AES parameter block (see #04064)
SeeAlso: INT EF/CX=00C9h,INT EF/CX=0473h

Format of AES parameter block:
Offset	Size	Description	(Table 04064)
 00h	DWORD	-> control array (see #04065)
 04h	DWORD	-> global variables (15 WORDs)
 08h	DWORD	-> integer input parameters
 0Ch	DWORS	-> buffer for integer results
 10h	DWORD	-> address (DWORD) input parameters
 14h	DWORD	-> buffer for address (DWORD) results
SeeAlso: #04066

Format of AES control array:
Offset	Size	Description	(Table 04065)
 00h	WORD	function number (000Ah-0084h)
 02h	WORD	number of words of integer input parameters
 04h	WORD	number of words available for integer results
 06h	WORD	number of words of address input parameters
 08h	WORD	number of words available for address results
SeeAlso: #04064

Top
EF----CX00C9 - INT EF - GEM - AES INTERFACE
INT EF - GEM - AES INTERFACE
	CX = 00C9h
	DX = 0000h
	ES:BX -> AES parameter block (see #04064)
SeeAlso: INT EF/CX=00C8h,INT EF/CX=0473h

Top
EF----CX0473 - INT EF - GEM - VDI INTERFACE
INT EF - GEM - VDI INTERFACE
	CX = 0473h
	DS:DX -> GEM VDI parameter block (see #04066)
Note:	if installed, one of the following ASCII signatures will appear two
	  bytes after the INT EF entry point:
	    "GEMVDI"	GEM VDI (but not AES) is present
	    "GEMAES"	GEM/ViewMAX VDI and AES are both present
	    "ViewMAX"	ViewMAX VDI (only) is present
	  each of the above is followed by an ASCIZ number indicating the
	  version ("10" for GEM/1 AES and VDI; "20" for GEM/2,GEM/3,ViewMAX
	  AES and GEM/2 VDI; "23" for GEM/3 VDI; and "1" for ViewMAX VDIs)
SeeAlso: INT EF/CX=00C8h,INT EF/CX=00C9h
Index:	installation check;GEM

Format of VDI parameter block:
Offset	Size	Description	(Table 04066)
 00h	DWORD	-> control array (see #04067)
 08h	DWORD	-> integer parameters
 0Ch	DWORD	-> (x,y) pair parameters
 10h	DWORD	-> integer results
 14h	DWORD	-> (x,y) pair results
SeeAlso: #04064

Format of VDI control array:
Offset	Size	Description	(Table 04067)
 00h	WORD	(call) function number (0001h-0084h)
 02h	WORD	(call) number of words of pair parameters
 04h	WORD	(ret) number of words of pair results
 06h	WORD	(call) number of words of integer parameters
 08h	WORD	(ret) number of words of integer results
 0Ah	WORD	subfunction number
 0Ch	WORD	graphics handle
 0Eh	DWORD	(call) -> pointer parameter
 12h	DWORD	(ret) -> pointer result
SeeAlso: #04066

Top
F0 - INT F0 - BASICA.COM, GWBASIC, compiled BASIC - ORIGINAL INT 08 VECTOR
INT F0 - BASICA.COM, GWBASIC, compiled BASIC - ORIGINAL INT 08 VECTOR
Note:	BASICA.COM does not restore vector on termination
SeeAlso: INT EF"BASIC"

Top
F1 - INT F1 - reserved for user interrupt
INT F1 - reserved for user interrupt

Top
F1 - INT F1 - SPEECH.COM - CONVERT TEXT STRING TO SPEECH
INT F1 - SPEECH.COM - CONVERT TEXT STRING TO SPEECH
	DS:BX -> '$'-terminated text string
Return: nothing
Program: SPEECH.COM is a resident text-to-speech converter by Douglas Sisco

Top
F1 - INT F1 - Andy C. McGuire SPEECH.COM/SAY.COM
INT F1 - Andy C. McGuire SPEECH.COM/SAY.COM
SeeAlso: INT F2"SPEECH"

Top
F1 - INT F1 - AQUEDUCT, PIPELINE - GET DATA AREA ADDRESS
INT F1 - AQUEDUCT, PIPELINE - GET DATA AREA ADDRESS
Return: AX:BX -> data area
Program: AQUEDUCT and PIPELINE are TSRs by James W. Birdsall to connect COM1
	  and COM2 in software
Note:	The installation check consists of testing for the following signature
	  immediately preceding the interrupt handler: "JWBtvv" where 't' is
	  either "A" for AQUEDUCT or "P" for PIPELINE and "vv" is a two-digit
	  version number
Index:	installation check;AQUEDUCT|installation check;PIPELINE

Top
F1 - INT F1 - NetWare Remote Boot - INSTALLATION CHECK (NOT A VECTOR!)
INT F1 - NetWare Remote Boot - INSTALLATION CHECK (NOT A VECTOR!)
Note:	if this vector contains the value 5774654Eh ("NetW"), the remote boot
	  BIOS extension is active, and access to the floppy disk is redirected
	  to an image file in the server's SYS:LOGIN directory
SeeAlso: INT F2"NetWare",INT F3"NetWare",INT F4"NetWare"

Top
F1 - INT F1 - VIRUS - "Violetta" - ???
INT F1 - VIRUS - "Violetta" - ???
Note:	used but not chained by virus
SeeAlso: INT E0"VIRUS",INT FF"VIRUS"

Top
F101 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-REGISTER" - INITIALIZE CAPI
INT F1 - Common ISDN API (CAPI) v1.1 - "API-REGISTER" - INITIALIZE CAPI
	AH = 01h
	ES:BX -> buffer for CAPI's use (refer to note below)
	CX = minimum number of pending messages
	DX = maximum simultaneous Level 3 connections
	SI = maximum concurrent received B3 data blocks
	DI = maximum B3 data block size
Return: AX = CAPI-assigned application ID
	    0000h on error
		BX = error number
		    1001h registration error
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
	the CAPI interrupt handler begins with a header which is nearly
	  identical to the IBM Interrupt Sharing Protocol header
	  (see #02568 at INT 2D"AMIS"), except that the short jump instruction
	  to a hardware reset handler at offset 09h is replaced by the
	  signature bytes "IA"
	the maximum length of a message is fixed at 180 bytes; the standard
	  document suggests using CX=10, DI=1, SI=7, and DI=130 for
	  applications which use only a single connection and standard
	  protocols
	the total size of the application-provided buffer must be at least
	  180*CX + DX*SI*DI bytes
SeeAlso: AH=02h,INT F1/AL=01h
Index:	installation check;Common ISDN API

Top
F1--01 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_REGISTER" - INITIALIZE CAPI
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_REGISTER" - INITIALIZE CAPI
	AL = 01h
	AH = CAPI version number * 10 (14h for v2.0)
	ES:BX -> buffer for CAPI's use (refer to note below)
	CX = number of bytes for message buffer
	DX = maximum simultaneous logical (Level 3) connections
	SI = maximum concurrent received B3 data blocks (min. 2)
	DI = maximum B3 data block size (up to 2048 bytes)
Return: AX = CAPI-assigned application ID
	    0000h on error
		BX = error number
		    1001h registration error
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
	the CAPI interrupt handler begins with a header (see #04068) which is
	  nearly identical to the IBM Interrupt Sharing Protocol header
	  (see #02568 at INT 2D"AMIS"), except that the short jump instruction
	  to a hardware reset handler at offset 09h is zeroed out and the
	  entire header is inexplicably shortened by one byte
	the standard document suggests using 1024 + (1024*DX) bytes for the
	  message buffer for typical applications
	the total size of the application-provided buffer must be at least
	  CX + DX*SI*DI bytes
SeeAlso: AH=01h,INT F1/AL=02h
Index:	installation check;Common ISDN API

Format of CAPI v2.0 interrupt handler entry point:
Offset	Size	Description	(Table 04068)
 00h  2 BYTEs	short jump to actual start of interrupt handler, immediately
		  following this data block (EBh 0Fh)
 02h	DWORD	address of next handler in chain
 06h	WORD	signature 424Bh
 08h	BYTE	EOI flag (80h)
		80h primary hardware interrupt handler (will issue EOI)
 09h  2 BYTEs	reserved (0)
		(is short jump to hardware reset routine in ISP header)
 0Bh  4 BYTEs	signature "CAPI"
 0Fh  2 BYTEs	two-digit CAPI version number in ASCII ('20')
SeeAlso: #02568 at INT 2D

Top
F102 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-RELEASE" - UNREGISTER FROM CAPI
INT F1 - Common ISDN API (CAPI) v1.1 - "API-RELEASE" - UNREGISTER FROM CAPI
	AH = 02h
	DX = application ID (see AH=01h)
Return: AX = status (0000h,1002h) (see #04069)
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=01h,INT F1/AL=02h

(Table 04069)
Values for CAPI v1.1 error code:
 0000h	successful
 1001h	registration error
 1002h	invalid application ID
 1003h	message too small or incorrectly coded message number
 1004h	invalid command or subcommand
 1005h	message queue full
 1006h	message queue empty
 1007h	message(s) lost due to queue overflow
 1008h	error uninstalling
SeeAlso: #04070

Top
F1--02 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_RELEASE" - UNREGISTER FROM CAPI
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_RELEASE" - UNREGISTER FROM CAPI
	AL = 02h
	AH = CAPI version number * 10 (14h for v2.0)
	DX = application ID (see INT F1/AL=01h)
Return: AX = status (0000h,11xxh) (see #04070)
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=02h,INT F1/AL=01h,INT F1/AL=03h

(Table 04070)
Values for CAPI v2.0 error code:
 0000h	successful
 1001h	too many applications
 1002h	logical block size too small (must be at least 128 bytes)
 1003h	buffer > 64K
 1004h	message buffer too small (minimum 1024 bytes)
 1005h	too many logical connections requested
 1006h	reserved
 1007h	could not register because CAPI busy, try again
 1008h	OS resource unavailable (out of memory, etc.)
 1009h	COMMON-ISDN-API not installed
 100Ah	controller does not support external equipment
 100Bh	controller supports only external equipment
 1101h	invalid application ID
 1102h	illegal command or subcommand, or message too short
 1103h	message queue full
 1104h	queue empty
 1105h	queue overflowed (message lost)
 1106h	unknown notification parameter
 1107h	could not accept message because CAPI busy, try again
 1108h	OS resource unavailable (out of memory, etc.)
 1109h	COMMON-ISDN-API not installed
 110Ah	controller does not support external equipment
 110Bh	controller supports only external equipment
 2001h	message not supported in current state
 2002h	illegal controller/PLCI/NCCI
 2003h	out of PLCI
 2004h	out of NCCI
 2005h	out of LISTEN
 2006h	out of FAX resources (T.30 protocol)
 2007h	illegal message parameter coding
 3001h	unsupported B1 protocol
 3002h	unsupported B2 protocol
 3003h	unsupported B3 protocol
 3004h	unsupported B1 protocol parameter
 3005h	unsupported B2 protocol parameter
 3006h	unsupported B3 protocol parameter
 3007h	unsupported B protocol combination
 3008h	NCPI not supported
 3009h	unknown CIP value
 300Ah	unsupported flags (reserved bits set)
 300Bh	unsupported facility
 300Ch	data length not supported by current protocol
 300Dh	reset procedure not supported by current protocol
SeeAlso: #04069

Top
F103 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-PUT-MESSAGE"
INT F1 - Common ISDN API (CAPI) v1.1 - "API-PUT-MESSAGE"
	AH = 03h
	DX = application ID (see AH=01h)
	ES:BX -> message to be sent (see #04071)
Return: AX = status (0000h,1002h,1003h,1004h,1005h) (see #04069)
Notes:	the caller is required to provide at least 512 bytes of stack space
	the message buffer may be reused as soon as this call returns
SeeAlso: AH=01h,AH=04h,INT F1/AL=03h

Format of CAPI message:
Offset	Size	Description	(Table 04071)
 00h	WORD	total message length, including header
 02h	WORD	application ID (see AH=01h)
 04h	BYTE	command (see #04072,#04073)
 05h	BYTE	subcommand (see #04072,#04073)
 06h	WORD	message sequence number
		0000h-7FFFh messages from application to CAPI (and replies)
		8000h-FFFFh messages from CAPI to application (and replies)
 08h	var	message data (max 172 bytes for v1.1 only)

(Table 04072)
Values for CAPI v1.1 message command/subcommand:
Cmd/SubCmd	Name			Description
 01h/00h    RESET-B3-REQ	request resetting of a Level 3 connection
 01h/01h    RESET-B3-CONF	confirm Level 3 connection reset
 01h/02h    RESET-B3-IND	indication from CAPI that Level 3 conn. reset
 01h/03h    RESET-B3-RESP	confirm receipt of RESET-B3-IND
 02h/00h    CONNECT-REQ		establish B-channel connection
 02h/01h    CONNECT-CONF	confirm start of connection establishment
 02h/02h    CONNECT-IND		indication from CAPI of incoming connection
 02h/03h    CONNECT-RESP	accept incoming connection
 03h/02h    CONNECT-ACTIVE-IND	indication that B-channel connection complete
 03h/03h    CONNECT-ACTIVE-RESP	confirm connection-complete indication
 04h/00h    DISCONNECT-REQ	request shutdown of B-channel connection
 04h/01h    DISCONNECT-CONF	confirm shutdown of B-channel connection
 04h/02h    DISCONNECT-IND	indication that B-channel is shutting down
 04h/03h    DISCONNECT-RESP	confirm that application knows of shutdown
 05h/00h    LISTEN-REQ		enable indication of incoming connections
 05h/01h    LISTEN-CONF		confirm enabling of incoming conn. indication
 06h/00h    GET-PARAMS-REQ	request B-channel parameters
 06h/01h    GET-PARAMS-CONF	return B-channel parameters
 07h/00h    INFO-REQ		set B-channel info to be signalled to app
 07h/01h    INFO-CONF		confirm B-channel info signalling
 07h/02h    INFO-IND		signal B-channel events to application
 07h/03h    INFO-CONF		confirm receipt of INFO-IND
 08h/00h    DATA-REQ		send D-channel data
 08h/01h    DATA-CONF		confirm receipt of DATA-REQ
 08h/02h    DATA-IND		receive D-channel data
 08h/03h    DATA-RESP		confirm receipt fo DATA-IND
 09h/00h    CONNECT-INFO-REQ	request connection information
 09h/01h    CONNECT-INFO-CONF	return connection information
 40h/00h    SELECT-B2-PROTOCOL-REQ  select Level 2 protocol
 40h/01h    SELECT-B2-PROTOCOL-CONF confirm receipt of SELECT-B2-PROTOCOL-REQ
 80h/00h    SELECT-B3-PROTOCOL-REQ  select Level 3 protocol
 80h/01h    SELECT-B3-PROTOCOL-CONF confirm receipt of SELECT-B3-PROTOCOL-REQ
 81h/00h    LISTEN-B3-REQ	enable notification of incoming Level 3 calls
 81h/01h    LISTEN-B3-CONF	confirm receipt of LISTEN-B3-REQ
 82h/00h    CONNECT-B3-REQ	establish Level 3 connection
 82h/01h    CONNECT-B3-CONF	confirm start of connection establishment
 82h/02h    CONNECT-B3-IND	indication of incoming Level 3 connection
 82h/03h    CONNECT-B3-RESP	accept incoming connection
 83h/02h    CONNECT-B3-ACTIVE-IND  indication that Level 3 connection complete
 83h/03h    CONNECT-B3-ACTIVE-RESP confirm connection-complete indication
 84h/00h    DISCONNECT-B3-REQ	request shutdown of Level 3 connection
 84h/01h    DISCONNECT-B3-CONF	confirm shutdown of Level 3 connection
 84h/02h    DISCONNECT-B3-IND	indication that Level 3 is shutting down
 84h/03h    DISCONNECT-B3-RESP	confirm that application knows of shutdown
 85h/00h    GET-B3-PARAMS-REQ	request Level 3 parameters
 85h/01h    GET-B3-PARAMS-CONF	return Level 3 parameters
 86h/00h    DATA-B3-REQ		send data on Level 3
 86h/01h    DATA-B3-CONF	confirm sending of Level 3 data
 86h/02h    DATA-B3-IND		indication of incoming Level 3 data
 86h/03h    DATA-B3-RESP	confirm receipt of Level 3 data
 87h/02h    HANDSET-IND		indication of Handset events
 87h/03h    HANDSET-RESP	confirm receipt of Handset event
 FFh/00h    MANUFACTURER-REQ	vendor-specific request
 FFh/01h    MANUFACTURER-CONF	vendor-specific request confirmation
 FFh/02h    MANUFACTURER-IND	vendor-specific notification
 FFh/03h    MANUFACTURER-RESP	vendor-specific notification confirmation
SeeAlso: #04071,#04073

Top
F1--03 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_PUT_MESSAGE"
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_PUT_MESSAGE"
	AL = 03h
	AH = CAPI version number * 10 (14h for v2.0)
	DX = application ID (see INT F1/AL=01h)
	ES:BX -> message to be sent (see #04071)
Return: AX = status (0000h,11xxh) (see #04070)
Notes:	the caller is required to provide at least 512 bytes of stack space
	the message buffer may be reused as soon as this call returns
SeeAlso: AH=03h,INT F1/AL=01h,INT F1/AL=04h

(Table 04073)
Values for CAPI v2.0 message command/subcommand:
Cmd/SubCmd	Name			Description
 01h/80h    ALERT_REQ		indicate compatibility with incoming calls
 01h/81h    ALERT_CONF		confirm receipt of ALERT_REQ
 02h/80h    CONNECT_REQ		establish B-channel connection
 02h/81h    CONNECT_CONF	confirm start of connection establishment
 02h/82h    CONNECT_IND		indication from CAPI of incoming connection
 02h/83h    CONNECT_RESP	accept incoming connection
 03h/82h    CONNECT_ACTIVE_IND	indication that B-channel connection complete
 03h/83h    CONNECT_ACTIVE_RESP	confirm connection-complete indication
 04h/80h    DISCONNECT_REQ	request shutdown of B-channel connection
 04h/81h    DISCONNECT_CONF	confirm shutdown of B-channel connection
 04h/82h    DISCONNECT_IND	indication that B-channel is shutting down
 04h/83h    DISCONNECT_RESP	confirm that application knows of shutdown
 05h/80h    LISTEN_REQ		enable signalling on incoming events
 05h/81h    LISTEN_CONF		confirm enabling of incoming event signalling
 08h/80h    INFO_REQ		send protocol information for physical connect
 08h/81h    INFO_CONF		confirm INFO_REQ
 08h/82h    INFO_IND		indicate event for physical connection
 08h/83h    INFO_CONF		confirm receipt of INFO_IND
 41h/80h    SELECT_B_PROTOCOL_REQ   change protocol on already-active connect
 41h/81h    SELECT_B_PROTOCOL_CONF  confirm receipt of SELECT_B_PROTOCOL_REQ
 80h/80h    FACILITY_REQ	control optional facilities
 80h/81h    FACILITY_CONF	confirm acceptance of FACILITY_REQ
 80h/82h    FACILITY_IND	indicate facility-dependent event
 80h/83h    FACILITY_RESP	confirm receipt of FACILITY_IND
 82h/80h    CONNECT_B3_REQ	establish Level 3 connection
 82h/81h    CONNECT_B3_CONF	confirm start of connection establishment
 82h/82h    CONNECT_B3_IND	indication of incoming Level 3 connection
 82h/83h    CONNECT_B3_RESP	accept incoming connection
 83h/82h    CONNECT_B3_ACTIVE_IND  indication that Level 3 connection complete
 83h/83h    CONNECT_B3_ACTIVE_RESP confirm connection-complete indication
 84h/80h    DISCONNECT_B3_REQ	request shutdown of Level 3 connection
 84h/81h    DISCONNECT_B3_CONF	confirm shutdown of Level 3 connection
 84h/82h    DISCONNECT_B3_IND	indication that Level 3 is shutting down
 84h/83h    DISCONNECT_B3_RESP	confirm that application knows of shutdown
 85h/80h    GET_B3_PARAMS_REQ	request Level 3 parameters
 85h/81h    GET_B3_PARAMS_CONF	return Level 3 parameters
 86h/80h    DATA_B3_REQ		send data on Level 3
 86h/81h    DATA_B3_CONF	confirm sending of Level 3 data
 86h/82h    DATA_B3_IND		indication of incoming Level 3 data
 86h/83h    DATA_B3_RESP	confirm receipt of Level 3 data
 87h/80h    RESET_B3_REQ	request resetting of a logical connection
 87h/81h    RESET_B3_CONF	confirm logical connection reset
 87h/82h    RESET_B3_IND	indication from CAPI that logical conn. reset
 87h/83h    RESET_B3_RESP	confirm receipt of RESET_B3_IND
 88h/82h    CONNECT_B3_T90_ACTIVE_IND  indicate switch from T.70 to T.90
 88h/83h    CONNECT_B3_T90_ACTIVE_RESP confirm receipt of T90_ACTIVE_IND
 FFh/80h    MANUFACTURER_REQ	vendor-specific request
 FFh/81h    MANUFACTURER_CONF	vendor-specific request confirmation
 FFh/82h    MANUFACTURER_IND	vendor-specific notification
 FFh/83h    MANUFACTURER_RESP	vendor-specific notification confirmation
SeeAlso: #04071,#04072

Top
F104 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MESSAGE"
INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MESSAGE"
	AH = 04h
	DX = application ID (see AH=01h)
Return: AX = status (0000h,1002h,1006h,1007h) (see #04069)
	ES:BX -> message if successful (see #04071)
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
	the returned message may be overwritten by the next call to this
	  function
SeeAlso: AH=03h

Top
F1--04 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MESSAGE"
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MESSAGE"
	AL = 04h
	AH = CAPI version number * 10 (14h for v2.0)
	DX = application ID (see AH=01h)
Return: AX = status (0000h,11xxh) (see #04070)
	ES:BX -> message if successful (see #04071)
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
	the returned message may be overwritten by the next call to this
	  function
SeeAlso: AH=04h,INT F1/AL=03h

Top
F105 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-SET-SIGNAL" - SIGNAL HANDLING
INT F1 - Common ISDN API (CAPI) v1.1 - "API-SET-SIGNAL" - SIGNAL HANDLING
	AH = 05h
	DX = application ID (see AH=01h)
	ES:BX -> signal handler or 0000h:0000h to disable
Return: AX = status (0000h,1002h) (see #04069)
Notes:	the caller is required to provide at least 512 bytes of stack space
	the signal handler is called as though it were an interrupt, with
	  interrupts disabled; the handler must preserve all registers and
	  return with an IRET
SeeAlso: AH=01h

Top
F1--05 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_SET_SIGNAL" - SIGNAL HANDLING
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_SET_SIGNAL" - SIGNAL HANDLING
	AL = 05h
	AH = CAPI version number * 10 (14h for v2.0)
	DX = application ID (see AH=01h)
	ES:BX -> signal handler or 0000h:0000h to disable
	SI:DI = parameter to pass to signal handler
Return: AX = status (0000h,11xxh) (see #04070)
Notes:	the caller is required to provide at least 512 bytes of stack space
	the signal handler is called as though it were an interrupt, with
	  interrupts disabled and DX,SI,DI set as they were when this function
	  was called; the handler must preserve all registers and return with
	  an IRET
	the signal handler may call CAPI_PUT_MESSAGE, CAPI_GET_MESSAGE, and
	  CAPI_SET_SIGNAL
SeeAlso: INT F1/AL=01h

Top
F106 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-DEINSTALL" - UNINSTALL
INT F1 - Common ISDN API (CAPI) v1.1 - "API-DEINSTALL" - UNINSTALL
	AH = 06h
	BX = force flag
	    0000h normal uninstall
	    0001h forced uninstall
Return: AX = status (0000h,1008h) (see #04069)
Desc:	reset ISDN controller, close all ISDN Level 1 connections except for
	  telephone connections
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: INT F1/AL=01h,INT F1/AH=01h

Top
F1F0 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MANUFACTURER"
INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-MANUFACTURER"
	AH = F0h
	ES:BX -> 64-byte buffer for manufacturer identification information
Return: ES:BX buffer filled with ASCIZ idnetification string
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=01h,AH=F1h,AH=F2h,AH=FFh,INT F1/AL=F0h

Top
F1--F0 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MANUFACTURER"
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_MANUFACTURER"
	AL = F0h
	AH = CAPI version number * 10 (14h for v2.0)
	ES:BX -> 64-byte buffer for manufacturer identification information
Return: ES:BX buffer filled with ASCIZ idnetification string
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=F0h,INT F1/AL=01h,INT F1/AL=F1h,INT F1/AL=F2h,INT F1/AL=FFh

Top
F1F1 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-VERSION"
INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-VERSION"
	AH = F1h
	ES:BX -> 64-byte buffer for CAPI version number
Return: ES:BX buffer filled with ASCIZ version string
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=01h,AH=F0h,AH=F2h,AH=FFh

Top
F1--F1 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_VERSION"
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_VERSION"
	AL = F1h
	AH = CAPI version number * 10 (14h for v2.0)
Return: AH = CAPI major version number
	AL = CAPI minor version number
	DH = vendor-specific major version
	DL = vendor-specific minor version
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=F1h,INT F1/AL=01h,INT F1/AL=F0h,INT F1/AL=F2h,INT F1/AL=FFh

Top
F1F2 - INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-SERIAL-NUMBER"
INT F1 - Common ISDN API (CAPI) v1.1 - "API-GET-SERIAL-NUMBER"
	AH = F2h
	ES:BX -> 64-byte buffer for CAPI serial number
Return: ES:BX buffer filled with ASCIZ serial number (seven digits), empty
	      string if no serial number
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=01h,AH=F0h,AH=F1h,AH=FFh

Top
F1--F2 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_SERIAL_NUMBER"
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_SERIAL_NUMBER"
	AL = F2h
	AH = CAPI version number * 10 (14h for v2.0)
	ES:BX -> 64-byte buffer for CAPI serial number
Return: ES:BX buffer filled with ASCIZ serial number (seven digits), empty
	      string if no serial number
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=F2h,INT F1/AL=01h,INT F1/AL=F0h,INT F1/AL=F1h,INT F1/AL=F3h

Top
F1--F3 - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_PROFILE" - GET CAPABILITIES
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_GET_PROFILE" - GET CAPABILITIES
	AL = F3h
	AH = CAPI version number * 10 (14h for v2.0)
	ES:BX -> 64-byte buffer for CAPI capabilities (see #04074)
	CX = controller number (01h-06h) or 0000h to get number of controllers
Return: AX = status (0000h,11xxh) (see #04070)
	ES:BX buffer filled if successful
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: INT F1/AL=01h,INT F1/AL=F0h,INT F1/AL=F2h,INT F1/AH=FFh

Format of CAPI v2.0 capabilities:
Offset	Size	Description	(Table 04074)
 00h	WORD	number of installed controllers
 02h	WORD	number of supported B channels
 04h	DWORD	global options (see #04075)
 08h	DWORD	B1 protocol support flags (see #04076)
 0Ch	DWORD	B2 protocol support flags (see #04077)
 10h	DWORD	B3 protocol support flags (see #04078)
 14h 24 BYTEs	reserved for CAPI use
 2Ch 20 BYTEs	vendor-specific information

Bitfields for CAPI v2.0 global options:
Bit(s)	Description	(Table 04075)
 0	internal controller supported
 1	external controller supported
 2	handset supported (only if bit 1 also set)
 3	DTMF supported
 4-31	reserved (0)
SeeAlso: #04074

Bitfields for CAPI v2.0 B1 protocol support:
Bit(s)	Description	(Table 04076)
 0	64k bps with HDLC framing (required, always set)
 1	64k bps bit-transparent operation with network byte framing
 2	V.110 asynchronous with start/stop byte framing
 3	V.110 synchronous with HDLC framing
 4	T.30 modem for group 3 FAX
 5	64k bps inverted with HDLC framing
 6	56k bps bit-transparent operation with network byte framing
 7-31	reserved (0)
SeeAlso: #04074

Bitfields for CAPI v2.0 B2 protocol support:
Bit(s)	Description	(Table 04077)
 0	ISO 7776 (X.75 SLP) (required, always set)
 1	transparent
 2	SDLC
 3	Q.921 LAPD (D-channel X.25)
 4	T.30 for group 3 FAX
 5	point-to-point protocol (PPP)
 6	transparent (ignoring B1 framing errors)
 7-31	reserved (0)
SeeAlso: #04074

Bitfields for CAPI v2.0 B3 protocol support:
Bit(s)	Description	(Table 04078)
 0	transparent (required, always set)
 1	T.90NL with T.70NL compatibility
 2	ISO 8208 (X.25 DTE-DTE)
 3	X.25 DCE
 4	T.30 for group 3 FAX
 5-31	reserved (0)
SeeAlso: #04074

Top
F1FF - INT F1 - Common ISDN API (CAPI) v1.1 - "API-MANUFACTURER" - VENDOR-SPECIFIC
INT F1 - Common ISDN API (CAPI) v1.1 - "API-MANUFACTURER" - VENDOR-SPECIFIC
	AH = FFh
	other registers vendor-specific
Return: registers vendor-specific
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=01h,AH=F0h,AH=F1h,AH=F2h,INT F1/AH=FFh

Top
F1--FF - INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_MANUFACTURER" - VENDOR-SPECIFIC
INT F1 - Common ISDN API (CAPI) v2.0 - "CAPI_MANUFACTURER" - VENDOR-SPECIFIC
	AL = FFh
	AH = CAPI version number * 10 (14h for v2.0)
	other registers vendor-specific
Return: registers vendor-specific
Range:	INT 00 to INT FF, selectable by program parameter
Notes:	the caller is required to provide at least 512 bytes of stack space
SeeAlso: AH=FFh,INT F1/AL=01h,INT F1/AL=F0h,INT F1/AL=F1h,INT F1/AL=F2h

Top
F2 - INT F2 - reserved for user interrupt
INT F2 - reserved for user interrupt

Top
F2 - INT F2 - Andy C. McGuire SPEECH.COM/SAY.COM
INT F2 - Andy C. McGuire SPEECH.COM/SAY.COM
SeeAlso: INT F1"SPEECH"

Top
F2 - INT F2 - NetWare Remote Boot - ORIGINAL INT 13
INT F2 - NetWare Remote Boot - ORIGINAL INT 13
SeeAlso: INT F1"NetWare",INT F3"NetWare",INT F4"NetWare"

Top
F2 - INT F2 - ICCTSR 1.0 - ImageCapture COLOR Developer's Kit - API
INT F2 - ICCTSR 1.0 - ImageCapture COLOR Developer's Kit - API
	AH = function number (see #04079)
	???
Return: ???
Program: ImageCapture is a product of International Computers
SeeAlso: INT F3"ICCTSR"

(Table 04079)
Values for ImageCapture function:
 01h	power up
 02h	power down
 03h	set controls
 04h	capture image
 05h	display image
 06h	read file
 07h	write file
 08h	write array
 09h	read pixel
 0Ah	write pixel
 0Bh	check if VGA present
 0Ch	set video mode
 0Dh	check for keystroke
 0Eh	delay

Top
F3 - INT F3 - reserved for user interrupt
INT F3 - reserved for user interrupt
SeeAlso: INT F2"user",INT F4"user"

Top
F3 - INT F3 - SoundBlaster - POINTER TO ECHO VALUE
INT F3 - SoundBlaster - POINTER TO ECHO VALUE
Note:	this is not a vector, but a pointer to a DWORD containing the echo
	  value selected with SET-ECHO.EXE
SeeAlso: INT 2F/AX=FBFBh/ES=0000h

Top
F3 - INT F3 - ICCTSR 1.0 - HANDSHAKE ID VECTOR
INT F3 - ICCTSR 1.0 - HANDSHAKE ID VECTOR
Program: ImageCapture is a product of International Computers
SeeAlso: INT F2"ICCTSR"

Top
F3 - INT F3 - NetWare Remote Boot - BOOT ROM'S INT 13 HANDLER
INT F3 - NetWare Remote Boot - BOOT ROM'S INT 13 HANDLER
SeeAlso: INT F1"NetWare",INT F2"NetWare",INT F4"NetWare"

Top
F4 - INT F4 - reserved for user interrupt
INT F4 - reserved for user interrupt
SeeAlso: INT F3"user",INT F5"user"

Top
F4 - INT F4 - DoubleDOS - GIVE UP REST OF CURRENT CLOCK TICK AND ALL OF NEXT TICK
INT F4 - DoubleDOS - GIVE UP REST OF CURRENT CLOCK TICK AND ALL OF NEXT TICK
SeeAlso: INT 21/AH=EEh"DoubleDOS",INT F5"DoubleDOS",INT FE"DoubleDOS"

Top
F4 - INT F4 - NetWare Remote Boot - ???
INT F4 - NetWare Remote Boot - ???
SeeAlso: INT F1"NetWare",INT F2"NetWare",INT F3"NetWare"

Top
F5 - INT F5 - reserved for user interrupt
INT F5 - reserved for user interrupt
SeeAlso: INT F4"user",INT F6"user"

Top
F5 - INT F5 - DoubleDOS - ???
INT F5 - DoubleDOS - ???
SeeAlso: INT F4"DoubleDOS",INT F6"DoubleDOS"

Top
F6 - INT F6 - reserved for user interrupt
INT F6 - reserved for user interrupt
SeeAlso: INT F5"user",INT F7"user"

Top
F6 - INT F6 - DoubleDOS - ???
INT F6 - DoubleDOS - ???
SeeAlso: INT F5"DoubleDOS",INT F7"DoubleDOS"

Top
F7 - INT F7 - reserved for user interrupt
INT F7 - reserved for user interrupt
SeeAlso: INT F6"user"

Top
F7 - INT F7 - DoubleDOS - ???
INT F7 - DoubleDOS - ???
SeeAlso: INT F6"DoubleDOS"

Top
F700 - INT F7 - FSBBS 2.0 - CONFIGURATION RECORD
INT F7 - FSBBS 2.0 - CONFIGURATION RECORD
	AH = 00h
	AL = function
	    00h get configuration record
		Return: DS:DX -> configuration record
	    01h set configuration record
		Return: nothing
	    02h get path for option
		DS:DX -> option name
		Return: DS:DX -> path
	    03h determine whether configuration record set
		Return: AX = status
			    0000h set
			    0001h not yet set
	    04h get link state
		Return: AX = state
			    0000h unlinked
			    0001h linked
Notes:	this information is preliminary and still subject to change
	all of the INT F7 calls for FSBBS are used for interprogram
	  communication between the BBS kernel and the programs it spawns
SeeAlso: AH=01h

Top
F701 - INT F7 - FSBBS 2.0 - USER RECORD
INT F7 - FSBBS 2.0 - USER RECORD
	AH = 01h
	AL = function
	    00h get user record for user currently online
		Return: DS:DX -> user record
	    01h set user record
		DS:DX -> user record
		Return: nothing
SeeAlso: AH=00h,AH=02h

Top
F702 - INT F7 - FSBBS 2.0 - GET ACCOUNT NAME
INT F7 - FSBBS 2.0 - GET ACCOUNT NAME
	AH = 02h
Return: DS:DX -> 8-character blank-padded account name
SeeAlso: AH=01h

Top
F703 - INT F7 - FSBBS 2.0 - TERMINAL NUMBER
INT F7 - FSBBS 2.0 - TERMINAL NUMBER
	AH = 03h
	AL = function
	    00h get terminal index number
		Return: DX = index number
	    01h set terminal index number
		DX = terminal index
		Return: nothing

Top
F704 - INT F7 - FSBBS 2.0 - PASSDATA BUFFER
INT F7 - FSBBS 2.0 - PASSDATA BUFFER
	AH = 04h
	AL = function
	    00h get PassData buffer contents
		DS:DX -> buffer for PassData contents
		Return: DS:DX buffer filled
	    01h set PassData contents
		DS:DX -> buffer containing new PassData
		CH = length of data in buffer
		Return: nothing

Top
F705 - INT F7 - FSBBS 2.0 - TIMER FUNCTIONS
INT F7 - FSBBS 2.0 - TIMER FUNCTIONS
	AH = 05h
	AL = function
	    00h get time remaining
		Return: DX = number of minutes remaining
	    01h get current time
		Return: DS:DX -> 8-character time string
	    02h increment time
		DX = number of additional minutes
	    03h decrement time
		DX = number of minutes
SeeAlso: AH=06h

Top
F706 - INT F7 - FSBBS 2.0 - FUNCTION AVAILABILITY
INT F7 - FSBBS 2.0 - FUNCTION AVAILABILITY
	AH = 06h
	AL = function
	    00h determine whether function is available
		DX = index of function
	    01h set function availability
		DX = index of function
		???
Return: nothing
SeeAlso: AH=05h,AH=07h

Top
F707 - INT F7 - FSBBS 2.0 - DUMP FUNCTIONS
INT F7 - FSBBS 2.0 - DUMP FUNCTIONS
	AH = 07h
	AL = function
	    00h get current dump mode
		Return: DL = mode
	    01h set dump mode
		DL = mode
SeeAlso: AH=06h

Top
F8 - INT F8 - reserved for user interrupt
INT F8 - reserved for user interrupt

Top
F8 - INT F8 - Sanyo MBC-550/555 - IRQ0 - 100 HZ INTERRUPT
INT F8 - Sanyo MBC-550/555 - IRQ0 - 100 HZ INTERRUPT
Note:	normally masked off at 8259 interrupt controller
SeeAlso: INT 08"IRQ0",INT F9"Sanyo",INT FA"Sanyo"

Top
F8 - INT F8 - DoubleDOS - ???
INT F8 - DoubleDOS - ???

Top
F9 - INT F9 - reserved for user interrupt
INT F9 - reserved for user interrupt

Top
F9 - INT F9 - DoubleDOS - ???
INT F9 - DoubleDOS - ???

Top
F9 - INT F9 - Sanyo MBC-550/555 - IRQ1 - ???
INT F9 - Sanyo MBC-550/555 - IRQ1 - ???
Note:	documented as "for system use only"; normally enabled at the 8259
SeeAlso: INT 09"IRQ1",INT F8"Sanyo",INT FA"Sanyo"

Top
FA - INT FA - reserved for user interrupt
INT FA - reserved for user interrupt

Top
FA - INT FA - Sanyo MBC-550/555 - IRQ2 - SERIAL PORT USART INTERRUPT
INT FA - Sanyo MBC-550/555 - IRQ2 - SERIAL PORT USART INTERRUPT
Note:	this vector is not used on the Tandy 1000TL
SeeAlso: INT 0A"IRQ2",INT F9"Sanyo",INT FB"Sanyo"

Top
FA - INT FA - DoubleDOS - TURN OFF TIMESHARING
INT FA - DoubleDOS - TURN OFF TIMESHARING
SeeAlso: INT 21/AH=EAh"DoubleDOS",INT FB"DoubleDOS"

Top
FA - INT FA P - ASM Edit - INSTALLATION CHECK
INT FA P - ASM Edit - INSTALLATION CHECK
Program: ASM Edit is a shareware programmer's editor
Note:	ASM Edit hooks this vector in protected mode to allow DPMI programs
	  to detect whether they were run while shelled to DOS from ASM Edit

Format of ASM Edit signature block:
Offset	Size	Description	(Table 04080)
 00h	BYTE	CFh (IRET)
 01h  8 BYTEs	signature "ASM Edit" (no trailing NUL)

Top
FB - INT FB - reserved for user interrupt
INT FB - reserved for user interrupt

Top
FB - INT FB - Sanyo MBC-550/555 - IRQ3 - KEYBOARD USART RECEIVE INTERRUPT
INT FB - Sanyo MBC-550/555 - IRQ3 - KEYBOARD USART RECEIVE INTERRUPT
SeeAlso: INT 0B"IRQ3",INT FA"Sanyo",INT FC"Sanyo"

Top
FB - INT FB - DoubleDOS - TURN ON TIMESHARING
INT FB - DoubleDOS - TURN ON TIMESHARING
SeeAlso: INT 21/AH=EBh"DoubleDOS",INT FA"DoubleDOS"

Top
FC - INT FC - reserved for user interrupt
INT FC - reserved for user interrupt

Top
FC - INT FC - DoubleDOS - GET CURRENT SCREEN BUFFER ADDRESS
INT FC - DoubleDOS - GET CURRENT SCREEN BUFFER ADDRESS
Return: ES = segment of display buffer
Desc:	determine the address of the virtual screen to which the program
	  should write instead of the actual video memory, so that the
	  multitasked programs do not interfere with each other's output
Note:	the display buffer may be moved if multitasking is enabled
SeeAlso: INT 21/AH=ECh"DoubleDOS",INT FB"DoubleDOS"

Top
FC - INT FC - Sanyo MBC-550/555 - IRQ4 - PRINTER READY INTERRUPT
INT FC - Sanyo MBC-550/555 - IRQ4 - PRINTER READY INTERRUPT
Note:	normally masked off at the 8259 interrupt controller
SeeAlso: INT 0C"IRQ4",INT FB"Sanyo",INT FD"Sanyo"

Top
FD - INT FD - reserved for user interrupt
INT FD - reserved for user interrupt

Top
FD - INT FD - DoubleDOS - ???
INT FD - DoubleDOS - ???

Top
FD - INT FD - Sanyo MBC-550/555 - IRQ5 - FLOPPY DISK CONTROLLER
INT FD - Sanyo MBC-550/555 - IRQ5 - FLOPPY DISK CONTROLLER
SeeAlso: INT 0D"IRQ5",INT FC"Sanyo",INT FE"Sanyo"

Top
FD - INT FD - TFPCX - INSTALLATION CHECK
INT FD - TFPCX - INSTALLATION CHECK
	AH = function (also see separate entries below)
Program: TFPCX is an interface between modem and terminal program for packet-
	  radio communications
InstallCheck:	test for the string "N5NX" three bytes beyond the interrupt
	  handler
Range:	INT FD is the default, but may be changed, so the full installation
	 check consists of scanning for the signature
Note:	TFPCX returns AX=FFFFh on any unsupported function call
SeeAlso: AH=01h,AH=03h,AH=FEh

Top
FD01 - INT FD - TFPCX - TEST FOR CHARACTER WAITING
INT FD - TFPCX - TEST FOR CHARACTER WAITING
	AH = 01h
Return: AX = status
	    0000h no characters waiting
	    0001h character available for input
Program: TFPCX is an interface between modem and terminal program for packet-
	  radio communications
SeeAlso: AH=02h

Top
FD02 - INT FD - TFPCX - GET CHARACTER
INT FD - TFPCX - GET CHARACTER
	AH = 02h
Return: AL = character
Notes:	this call is only allowed if AH=01h indicated that a character is
	  available
	all available characters should be read before sending any additional
	  characters
SeeAlso: AH=01h,AH=03h

Top
FD03 - INT FD - TFPCX - OUTPUT CHARACTER
INT FD - TFPCX - OUTPUT CHARACTER
	AH = 03h
	AL = character to send
Return: nothing
SeeAlso: AH=02h

Top
FDFE - INT FD - TFPCX - GET VERSION
INT FD - TFPCX - GET VERSION
	AH = FEh
Return: AH = major version
	AL = minor version
Program: TFPCX is an interface between modem and terminal program for packet-
	  radio communications
SeeAlso: AH=01h,AH=03h

Top
FE - INT FE - AT/XT286/PS50+ - destroyed by return from protected mode
INT FE - AT/XT286/PS50+ - destroyed by return from protected mode
Note:	the ROM BIOS uses 0030h:0100h as the initial stack on startup, which
	  is the last fourth of the interrupt vector table.  If the processor
	  is returned to real mode via a hardware reset (the only possibility
	  on an 80286, though there are a number of ways of generating one),
	  then the BIOS startup code stacks three words on its scratch stack
	  before determining that a return to real mode has been requested.
	  As a result, INT FE and INT FF are corrupted.
SeeAlso: INT FF"XT286"

Top
FE - INT FE - DoubleDOS - GIVE UP TIME
INT FE - DoubleDOS - GIVE UP TIME
	AL = number of 55ms time slices to give away
Return: after other program (if active) has run
SeeAlso: INT 21/AH=EEh"DoubleDOS",INT F4"DoubleDOS"

Top
FE - INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER
INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER
SeeAlso: INT 3F

Top
FE - INT FE - Sanyo MBC-550/555 - IRQ6 - 8087 COPROCESSOR INTERRUPT
INT FE - Sanyo MBC-550/555 - IRQ6 - 8087 COPROCESSOR INTERRUPT
Note:	normally masked off at the 8259 interrupt controller
SeeAlso: INT 0E"IRQ6",INT FD"Sanyo",INT FF"Sanyo"

Top
FF - INT FF - AT/XT286/PS50+ - destroyed by return from protected mode
INT FF - AT/XT286/PS50+ - destroyed by return from protected mode
Note:	(see INT FE"XT286")
SeeAlso: INT FE"XT286"

Top
FF - INT FF - Z100 - WARM BOOT
INT FF - Z100 - WARM BOOT
SeeAlso: INT 40"Z100"

Top
FF - INT FF - Sanyo MBC-550/555 - IRQ7 - USER INTERRUPT FOR EXTERNAL INTERRUPT
INT FF - Sanyo MBC-550/555 - IRQ7 - USER INTERRUPT FOR EXTERNAL INTERRUPT
Note:	normally masked off at the 8259 interrupt controller
SeeAlso: INT 0F"IRQ7",INT FE"Sanyo"

Top
FF - INT FF U - QEMM-386.SYS v6.0+ - internal
INT FF U - QEMM-386.SYS v6.0+ - internal
Notes:	requires that a byte in the conventional-memory stub be set to the
	  desired function number (00h through 0Ch)
SeeAlso: #04081

(Table 04081)
Values for QEMM internal functions:
 00h	reflect back to Virtual86-mode interrupt handler (default)
 01h	???
 02h	access DR7???
 03h	QPI upcall (see INT 67/AH=3Fh)
 04h	???
 05h	???
 06h	INT 15/AH=87h
 07h	EMS services (see INT 67/AH=40h,INT 67/AH=5Dh)
 08h	???
 09h	QEMM exception handler
 0Ah	XMS services (see INT 2F/AX=4310h"XMS")
 0Bh	Virtual DMA Services (see INT 4B/AX=8102h)
 0Ch	???

Top
FF - INT FF - VIRUS - "Violetta" - ???
INT FF - VIRUS - "Violetta" - ???
Note:	used but not chained by virus
SeeAlso: INT E0"VIRUS",INT F1"VIRUS"

Top
FF----BX0000 - INT FF - PC/FORTH - GRAPHICS API - VIDEO STATUS CHANGE
INT FF - PC/FORTH - GRAPHICS API - VIDEO STATUS CHANGE
	BX = 0000h
	DS:SI -> FORTH program counter
	SS:BP -> FORTH parameter stack
	SS:SP -> FORTH return stack
	DS:DX -> FORTH video parameter area
Desc:	called to inform graphics driver of any status changes such as video
	  mode changes, character color changes, graphics XOR mode turned on
	  or off, etc.; also used as an installation check
Index:	installation check;PC/FORTH

Top
FF - INT FF - PC/FORTH - GRAPHICS API
INT FF - PC/FORTH - GRAPHICS API
	BX = function number
	    0001h function REDRAW
	    0002h function !PEL
	    0003h function @PEL
	    0004h function LINE
	    0005h function ARC
	    0006h function @BLOCK
	    0007h function !BLOCK
	    0008h function FLOOD
	DS:SI -> FORTH program counter
	SS:BP -> FORTH parameter stack
	SS:SP -> FORTH return stack
	details of parameters not available
Return:	AX,BX,CX,DX,ES,DI may be destroyed
Note:	these functions all display an error message if the graphics routines
	  are not resident

Top
Admin - Highest Table Number = 04122
Highest Table Number = 04122

Top
FILELIST - Please redistribute all of the files comprising the interrupt list (listed at
Please redistribute all of the files comprising the interrupt list (listed at
the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
quartet of archives named INTER61A through INTER61D (preferably the original
authenticated PKZIP archives), the utility programs in a fifth archive
called INTER61E.ZIP and the hypertext conversion programs in a sixth archive
named INTER61F.ZIP.

Copyright (c) 1989-1999,2000 Ralf Brown

Top
CONTACT_INFO - E-mail: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
E-mail: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)



Top
Home TOC: by Order by Category Top