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

Table of Contents by Order
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


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
Home Interrupt Index: by Category by Number TOC: by Order Top