AH = 00h
Return: AH = BIOS scan code AL = ASCII character
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.
SeeAlso: Keyboard ScanCode AH=01h,AH=05h,AH=10h,AH=20h,INT 18/AH=00h
AH = 01h
Return: ZF set if no keystroke available ZF clear if keystroke available AH = BIOS scan code AL = ASCII character
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 in the process of checking whether a non-extended keystroke is available
SeeAlso: AH=00h,AH=11h,AH=21h,INT 18/AH=01h
AH = 02h
Return: AL = shift flags bit 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: AH=12h,AH=22h,INT 18/AH=02h
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 (see above) BH = delay (see above)
use INT 16/AH=09h to determine whether some of the subfunctions are supported
SeeAlso: INT 16/AH=09h
AH = 04h AL = keyclick state 00h off 01h on
SeeAlso: AH=03h
AH = 05h CH = scan code CL = ASCII character
Return: AL = 00h if successful 01h if keyboard buffer full
under DESQview, the following “keystrokes” invoke the following actions when they are read from the keyboard buffer:
38FBh or FB00h switch to next window (only if main menu 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
SeeAlso: AH=00h,AH=71h,AH=FFh,INT 15/AX=DE10h
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: ???
called by DOS 3.2 KEYBxx.COM
SeeAlso: AH=92h,AH=A2h
AH = 09h
Return: AL = keyboard functions supported bit 7: reserved bit 6: bit 5: bit 4: INT 16/AH=0Ah supported bit 3: INT 16/AX=0306h supported bit 2: INT 16/AX=0305h supported bit 1: INT 16/AX=0304h supported bit 0: INT 16/AX=0300h supported
this function is only available if bit 6 of the second feature byte returned by INT 15/AH=C0h is set
SeeAlso: AH=03h,AH=0Ah,INT 15/AH=C0h
AH = 0Ah
Return: BX = keyboard ID Note: check return value from AH=09h to determine whether this function is
supported
SeeAlso: AH=09h
AH = 10h
Return: AH = BIOS scan code AL = ASCII character
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
SeeAlso: AH=00h,AH=11h,AH=20h
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
SeeAlso: AH=01h,AH=10h,AH=21h
AH = 12h
Return: AL = shift flags 1 (same as returned by AH=02h)
bit 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 AH = shift flags 2 bit 7: SysRq key pressed 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
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
SeeAlso: AH=02h,AH=22h,AH=51h
AH = 20h
Return: ??? see AH=10h Note: use AH=09h to determine whether this function is supported SeeAlso: AH=00h,AH=10h,AH=21h
AH = 21h
Return: ??? see AH=11h Note: use AH=09h to determine whether this function is supported SeeAlso: AH=01h,AH=11h,AH=20h
AH = 22h
Return: ??? see AH=12h Note: use AH=09h to determine whether this function is supported SeeAlso: AH=02h,AH=12h ———-164252—————————– INT 16 - TEXTCAP 2.0 - INSTALLATION CHECK
AX = 4252h
Return: AX = 5242h if installed Note: 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 ———-164253—————————– 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 ———-164254—————————– 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 ———-164500—————————– 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 ———-164501—————————– 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 ———-164502—————————– 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 bit 0: ISO code 1: pause 2: linefeed 3: ANSI sequences CX = selected country code (33 = France, 49 = Germany, etc) DX = baudrate divisor (115200/DX = baudrate)
SeeAlso: AX=4500h ———-164503—————————– 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 ———-164504—————————– 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) 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 ———-164505—————————– 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 ———-164506—————————– 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 ———-165000—————————– 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
SeeAlso: AX=5001h,INT 10/AX=5000h,INT 17/AX=5000h ———-165001—————————– INT 16 - KEYBOARD - AX PC - GET KEYBOARD COUNTRY CODE
AX = 5001h
Return: AL = status
00h successful BX = country code 02h error
SeeAlso: AX=5000h,INT 10/AX=5001h,INT 17/AX=5001h ———-1651——————————- INT 16 - KEYBOARD - AX PC - READ SHIFT KEY STATUS
AH = 51h
Return: AL = standard shift key states (see AH=12h)
AH = Kana lock (00h off, 01h on)
SeeAlso: AH=02h,AH=12h,AH=22h ———-165500—————————– INT 16 - 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: INT 1A/AX=3601h ———-1655FF—————————– INT 16 - Swap Utilities - ???
AX = 55FFh BX >= 0004h CX = function 0000h set ??? flag other clear ??? flag
Note: present in SWAPSH and SWAPDT v1.77j, distributed with PC Tools 7 ———-166969BX6968———————– INT 16 - PC Tools v5.1+ BACKTALK - UNHOOK
AX = 6969h BX = 6968h
Return: resident code unhooked, but not removed from memory ———-166969BX6969———————– 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"
———-166F00BX0000———————– INT 16 - HP Vectra - ??? - INSTALLATION CHECK
AX = 6F00h BX = 0000h
Return: BX = 4850h if present Note: called by recent MS Mouse drivers ———-166F0D—————————– INT 16 - HP Vectra - ???
AX = 6F0Dh ???
Return: ??? Note: called by MS Windows HPSYSTEM.DRV and HPEBIOS.386 SeeAlso: AX=6F0Eh ———-166F0E—————————– INT 16 - HP Vectra - ???
AX = 6F0Eh ???
Return: ??? Note: called by MS Windows HPSYSTEM.DRV and HPEBIOS.386 SeeAlso: AX=6F0Dh ———-1670——————————- INT 16 - FAKEY.COM - INSTALLATION CHECK
AH = 70h
Return: AX = 1954h if installed Note: FAKEY is a keystroke faking utility by System Enhancement Associates ———-1671——————————- 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
Note: FAKEY is a keystroke faking utility by System Enhancement Associates SeeAlso: AH=05h,AH=72h ———-1672——————————- INT 16 - FAKEY.COM - CLEAR FAKED KEYSTROKES
AH = 72h
Note: FAKEY is a keystroke faking utility by System Enhancement Associates SeeAlso: AH=71h ———-1673——————————- INT 16 - FAKEY.COM - PLAY TONES
AH = 73h CX = number of tones to play DS:SI -> array of tones (see below)
Note: FAKEY is a keystroke faking utility by System Enhancement Associates SeeAlso: INT 15/AX=1019h
Format of tone array entries: Offset Size Description 00h WORD divisor for timer channel 2 02h WORD duration in clock ticks ———-1675——————————- INT 16 - pcANYWHERE III - SET TICK COUNT FOR SCANNING
AH = 75h AL = number of ticks between checks for new screen changes
———-1676——————————- INT 16 - pcANYWHERE III - SET ERROR CHECKING TYPE
AH = 76h AL = error checking type 00h none 01h fast 02h slow
———-1677——————————- 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
———-167761—————————– 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 ———-167788BX7789———————– 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
———-1679——————————- 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 ———-167A——————————- INT 16 - pcANYWHERE III - CANCEL SESSION
AH = 7Ah
———-167B00—————————– INT 16 - pcANYWHERE III - SUSPEND
AX = 7B00h
SeeAlso: AH=79h,AX=7B01h ———-167B01—————————– INT 16 - pcANYWHERE III - RESUME
AX = 7B01h
SeeAlso: AH=79h,AX=7B00h ———-167C——————————- INT 16 - pcANYWHERE III - GET PORT CONFIGURATION
AH = 7Ch
Return: AH = port number
AL = 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
———-167D——————————- 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
———-167E——————————- 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
———-167F——————————- 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
———-1680——————————- INT 16 - MAKEY.COM - INSTALLATION CHECK
AH = 80h
Return: AX = 1954h if installed Note: MAKEY is a utility by System Enhancement Associates ———-168765BX4321———————– 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 Note: AT.COM is a resident scheduler by Bill Frolik
Format of event record: Offset Size Description 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 ———-1692——————————- INT 16 - ???
AH = 92h
Return: AH ⇐ 80h if ??? Note: called by DOS 3.2 KEYBxx.COM and DOS 5.0 KEYB.COM SeeAlso: AH=05h“PCjr”,AH=A2h ———-1699——————————- INT 16 - SCOUT v5.4 - GET ???
AH = 99h
Return: AX = ABCDh
BX:CX -> ??? (appears to be start of PSP for resident portion)
Note: Scout is a memory-resident file manager by New-Ware SeeAlso: AH=9Eh ———-169E——————————- INT 16 - SCOUT v5.4 - INSTALLATION CHECK
AH = 9Eh
Return: AX = ABCDh if installed Note: Scout is a memory-resident file manager by New-Ware SeeAlso: AH=99h ———-16A2——————————- INT 16 - ???
AH = A2h
Return: AH ⇐ 80h if ??? Note: this function is called by DOS 5.0 KEYB.COM SeeAlso: AH=92h ———-16AA——————————- 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.
———-16CA–BX736B———————– 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)
Note: STACKEY is a shareware keyboard-input faking TSR ———-16CA00BX6570———————– 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)
Note: EGAPAL is a TSR supplied with STACKEY which makes EGA palette settings
permanent across mode switches
SeeAlso: AX=CA00h/BX=7670h ———-16CA–BX7670———————– 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)
Note: VGAPAL is a TSR supplied with STACKEY which makes VGA palette settings
permanent across mode switches
SeeAlso: AX=CA00h/BX=6570h ———-16E0E0—————————– INT 16 - TurboPower TSRs - ALTERNATE INSTALLATION CHECK
AX = E0E0h
Return: AX = 1F1Fh if installed
DWORD 0040h:00F0h -> last data block in TSR list (see AX=F0F0h)
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 ———-16ED–BHED————————- 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 ??? 02h get resident CS Return: AX = code segment of resident portion 03h get resident ??? Return: AX = offset of some buffer in resident code seg 04h ??? 05h set ??? AL = 0 to 0Ch Return: AX = status 0000h if OK 0001h if out of range. 06h ??? 07h ??? 08h ??? AL = char??? CX = ??? DX = ??? Return: AX = 0, 1 or 2 09h ??? 0Ah ??? CX = ??? DX = ??? Return: AX = ??? 0Bh ??? DS:SI -> ??? Return: AX = 0, 40h, 80h 0Ch ??? DS:SI -> ??? Return: AH = 0 AL = ??? 0Dh set ??? (sets an internal flag) 0Eh ??? DS:SI -> ??? Return: AX = 0, 1 or 2. 0Fh ??? 10h ???
Notes: AX in general returns an error code from most functions. ———-16F0——————————- INT 16 - Compaq 386 - SET CPU SPEED
AH = F0h AL = speed 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 CX = speed value, 1 (slowest) to 50 (full), 3 ~= 8088
SeeAlso: AH=F1h,AH=F3h ———-16F0F0—————————– INT 16 - TurboPower TSRs - INSTALLATION CHECK
AX = F0F0h
Return: AX = 0F0Fh if installed
ES:DI -> last data block in TSR list
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 data block: Offset Size Description 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???
———-16F1——————————- INT 16 - Compaq 386 - READ CURRENT CPU SPEED
AH = F1h
Return: AL = speed code (see AH=F0h)
if AL = 09h, CX = speed code
SeeAlso: AH=F0h,AH=F3h ———-16F2——————————- INT 16 - Compaq 386 - 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
———-16F3——————————- INT 16 - Compaq 80286s - SET CPU SPEED LIMIT (OVERRIDE JUMPER)
AH = F3h AL = 00h limit is 6 Mhz = 01h limit is 8 Mhz/6 Mhz
SeeAlso: AH=F0h,AH=F1h ———-16F398—————————– INT 16 U - NORTON GUIDES - INSTALLATION CHECK
AX = F398h
Return: AX = 6A73h (“js”)
BH = scan code of current hot key BL = ASCII code of current hot key
Note: NG.EXE was written by John Socha ———-16F400—————————– INT 16 - Compaq Systempro - CACHE CONTROLLER STATUS
AX = F400h
Return: AH = E2h
AL = status 00h not present 01h enabled 02h disabled
SeeAlso: AX=F401h,AX=F402h ———-16F401—————————– INT 16 - Compaq Systempro - ENABLE CACHE CONTROLLER
AX = F401h
Return: AX = E201h SeeAlso: AX=F400h,AX=F402h ———-16F402—————————– INT 16 - Compaq Systempro - DISABLE CACHE CONTROLLER
AX = F402h
Return: AX = E202h SeeAlso: AX=F400h,AX=F401h ———-16FEA4—————————– INT 16 - PC Tools 7 CPSCHED/DESKTOP - ???
AX = FEA4h ???
Return: ??? ———-16FEC6—————————– INT 16 - PC Tools 7 CPSCHED - ???
AX = FEC6h DL = ??? ???
Return: ??? ———-16FED3—————————– INT 16 - PC Tools 7 CPSCHED/DESKTOP - ???
AX = FED3h ???
Return: ??? ———-16FEDC—————————– INT 16 - PC Tools 7 CPSCHED - ???
AX = FEDCh ???
Return: ??? ———-16FEEFCX0000———————– INT 16 - PC Tools 7 CPSCHED/DESKTOP - INSTALLATION CHECK
AX = FEEFh CX = 0000h
Return: CX = ABCDh if PC Tools scheduler (CPSCHED or DESKTOP) installed
BX = segment of resident portion
SeeAlso: AX=FFEFh ———-16FEF1—————————– INT 16 - PC Tools 7 CPSCHED/DESKTOP - ???
AX = FEF1h ???
Return: ???
AH = FFh DX = scan code
Return: AL = status
00h success 01h failure
Note: KBUF is a keyboard buffer expander by Mark Adler SeeAlso: AH=05h
AH = FFh
Return: AL = interrupt number to which BIOS keyboard handler has been relocated
AL+1 = Zoom interrupt number BX = hotkey
Note: The default interrupts are 60h for keyboard and 61h for Zoom interrupt;
the default hot key is F10
SeeAlso: INT 60“OPTIMA” ———-16FF91—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FF91h ???
Return: AX = 0000h SeeAlso: AX=FF92h ———-16FF92—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FF92h ???
Return: AX = 0000h Note: like AX=FF91h, but temporarily sets ??? to 3 SeeAlso: AX=FF91h ———-16FF93—————————– INT 16 - PC Tools 7 DESKTOP - SET ??? FLAG
AX = FF93h ???
Return: ??? ———-16FF94—————————– INT 16 - PC Tools 7 DESKTOP - SET ???
AX = FF94h CX = ??? ???
Return: ??? ———-16FF95—————————– INT 16 - PC Tools 7 DESKTOP - SET ???
AX = FF95h BX = ??? ???
Return: ??? ———-16FF96—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FF96h CL = ???
Return: ??? ———-16FF97—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FF97h ???
Return: ??? ———-16FF98—————————– INT 16 - PC Tools 7 DESKTOP - READ ??? FROM \DESK.OVL FILE
AX = FF98h DX = offset in file ???
Return: ??? ———-16FF99—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FF99h ???
Return: ??? ———-16FF9A—————————– INT 16 - PC Tools 7 DESKTOP - GET NAME OF COLOR SCHEME
AX = FF9Ah
Return: ES:BX → name of current color scheme Note: available even if not popped up ———-16FF9B—————————– INT 16 - PC Tools 7 DESKTOP - UNUSED???
AX = FF9Bh ???
Return: ??? Note: sounds triple-length beep ———-16FF9E—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FF9Eh DL = ??? ???
Return: ??? ———-16FFA1—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FFA1h ???
Return: ??? ———-16FFA2—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FFA2h ???
Return: ??? ———-16FFA3BX0000———————– INT 16 - PC Tools 7 DATAMON - INSTALLATION CHECK
AX = FFA3h BX = 0000h CX = 0000h
Return: AX = segment of resident code
BX = 5555h CX = 5555h
———-16FFA3BX0001———————– INT 16 - PC Tools 7 DATAMON - GET ???
AX = FFA3h BX = 0001h CX = 0001h
Return: AX:BX → ???
CX = BX
———-16FFA3BX0002———————– INT 16 - PC Tools 7 DATAMON - GET ???
AX = FFA3h BX = 0002h CX = 0002h
Return: AX = ??? (0 or 1)
CX = BX = AX
———-16FFA3BX0003———————– INT 16 - PC Tools 7 DATAMON - GET ???
AX = FFA3h BX = 0003h CX = 0003h
Return: AX = ??? (0 or 1)
CX = BX = AX
———-16FFA3BX0004———————– INT 16 - PC Tools 7 DATAMON - SET ??? FLAG
AX = FFA3h BX = 0004h CX = 0004h
SeeAlso: AX=FFA3h/BX=0005h ———-16FFA3BX0005———————– INT 16 - PC Tools 7 DATAMON - CLEAR ??? FLAG
AX = FFA3h BX = 0005h CX = 0005h
SeeAlso: AX=FFA3h/BX=0004h ———-16FFA3BX0006———————– INT 16 - PC Tools 7 DATAMON - SET PSP SEGMENT ???
AX = FFA3h BX = 0006h CX = 0006h DX = current PSP segment as known to DOS??? or 0000h
———-16FFA4—————————– INT 16 - PC Tools 7 DESKTOP - ???
AX = FFA4h ???
Return: ??? Note: available even when not popped up ———-16FFA5CX1111———————– INT 16 - PC-Cache v6+ - INSTALLATION CHECK
AX = FFA5h CX = 1111h
Return: CH = 00h if installed
ES:DI -> internal data (see below) CL = cache state 01h enabled 02h disabled
SeeAlso: INT 13/AH=A0h,INT 21/AH=2Bh/CX=4358h
Format of internal data: Offset Size Description -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 ??? ———-16FFA5CXAAAA———————– 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 ———-16FFA5CXCCCC———————– 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 ———-16FFA5CXDDDD———————– INT 16 - PC-Cache v6+ - FLUSH AND DISABLE CACHE
AX = FFA5h CX = DDDDh
SeeAlso: AX=FFA5h/CX=EEEEh,AX=FFA5h/CX=FFFFh ———-16FFA5CXEEEE———————– INT 16 - PC-Cache v6+ - ENABLE CACHE
AX = FFA5h CX = EEEEh
SeeAlso: AX=FFA5h/CX=DDDDh ———-16FFA5CXFFFF———————– INT 16 - PC-Cache v6+ - FLUSH CACHE
AX = FFA5h CX = FFFFh
SeeAlso: AX=FFA5h/CX=CCCCh,AX=FFA5h/CX=DDDDh,INT 13/AH=A1h ———-16FFA6—————————– INT 16 - PC Tools v6.0+ DESKTOP API - GET ???
AX = FFA6h
Return: DS:SI → ??? Note: available only when popped up ———-16FFA7—————————– INT 16 - PC Tools v6.0+ DESKTOP API - GET ??? PATH
AX = FFA7h
Return: DS:SI → ASCIZ path (directory from which PCTools was run???) ———-16FFA8—————————– INT 16 - PC Tools v6.0+ DESKTOP API - ???
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
———-16FFA9—————————– INT 16 - PC Tools v6.0+ DESKTOP API - GET VERSION STRING
AX = FFA9h
Return: DS:SI → version string ———-16FFAA—————————– INT 16 - PC Tools v6.0+ DESKTOP API - ???
AX = FFAAh ???
Return: ??? Note: available only when popped up ———-16FFAB—————————– INT 16 - PC Tools v6.0+ DESKTOP API - GET EDITOR SETTINGS???
AX = FFABh
Return: DS:SI → editor setting strings??? ———-16FFAC—————————– INT 16 - PC Tools v6.0+ DESKTOP API - SET ???
AX = FFACh DL = ???
Note: available only when popped up ———-16FFAD—————————– INT 16 - PC Tools v6.0+ DESKTOP API - SET ???
AX = FFADh DL = ???
———-16FFAE—————————– INT 16 - PC Tools v6.0+ DESKTOP API - GET ???
AX = FFAEh
Return: AL = ??? ———-16FFAF—————————– INT 16 - PC Tools v6.0+ DESKTOP API - SET ???
AX = FFAFh DL = ???
———-16FFB0—————————– INT 16 - PC Tools v6.0+ DESKTOP API - SET ???
AX = FFB0h BL = ???
———-16FFB1—————————– INT 16 - PC Tools v6.0+ DESKTOP API - ???
AX = FFB1h ???
Return: ??? ———-16FFB2—————————– INT 16 - PC Tools v5.5+ DESKTOP API - GET ???
AX = FFB2h
Return: DS:SI → ??? ———-16FFB3—————————– INT 16 - PC Tools v5.5+ DESKTOP API - ???
AX = FFB3h ???
Return: ??? Note: available only when popped up ———-16FFB4—————————– INT 16 - PC Tools v5.5+ DESKTOP API - SET ??? FLAG
AX = FFB4h
Note: available only when popped up SeeAlso: AX=FFBBh ———-16FFB5—————————– INT 16 - PC Tools v5.5+ DESKTOP API - GET/SET WINDOW PARAMETERS
AX = FFB5h BX = window specifier (000Fh to 0019h) (see below) DX = 0000h get, nonzero = set ES:DI -> window parameter buffer (see below)
SeeAlso: AX=FFCBh
Values for window specifier: 000Fh comm/FAX 0014h hotkey selection 0015h ASCII table 0016h system colors menu
Format of window parameters: Offset Size Description 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
———-16FFB6—————————– INT 16 - PC Tools v5.5+ DESKTOP API - GET ???
AX = FFB6h
Return: AH = ???
AL = ???
———-16FFB7—————————– INT 16 - PC Tools v5.5+ DESKTOP API - 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+ ———-16FFB8—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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+)
———-16FFB9—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFB9h ???
Return: AX = ???
CX = ??? DS:SI -> ??? ES:DI -> ???
———-16FFBA—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFBAh ???
Return: AX = ??? Note: available only when popped up ———-16FFBB—————————– INT 16 - PC Tools v5.1+ DESKTOP API - CLEAR ??? FLAG
AX = FFBBh
Note: available only when popped up SeeAlso: AX=FFB4h ———-16FFBC—————————– INT 16 - PC Tools v5.1+ DESKTOP API - RESTORE ORIGINAL SCREEN???
AX = FFBCh
———-16FFBD—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ??? DATABASE INDEXING MESSAGES
AX = FFBDh ???
Return: ??? ———-16FFBE—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFBEh ???
Return: ??? Note: available only when popped up ———-16FFBF—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFBFh BX = DOS file handle to write on ???
Return: ??? Note: available only when popped up ———-16FFC0—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFC0h ???
Return: AX = 0000h if successful
AX = FFFFh on error
Note: available only when popped up ———-16FFC1—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFC1h BL = ??? ES:DI -> data structure (see below) ???
Return: AX = ??? Note: available only when popped up
Format of data structure: Offset Size Description 00h WORD ??? 02h WORD ??? 04h WORD ??? 06h WORD ??? 08h WORD ??? 0Ah BYTE ??? 0Bh BYTE ???
???
———-16FFC2—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFC2h ???
Return: AH = ???
CX = ??? DH = ??? DL = ???
Note: available only when popped up SeeAlso: AX=FFC3h ———-16FFC3—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFC3h ???
Return: AH = ???
CX = ??? DH = ??? DL = ???
Note: available only when popped up SeeAlso: AX=FFC2h ———-16FFC4—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFC5—————————– INT 16 - PC Tools v5.1+ DESKTOP API - CHECK WHETHER DESKTOP LOADED RESIDENT
AX = FFC5h
Return: BL = nonzero if loaded resident
= 00h if nonresident
Note: available only when popped up; should call AX=FFEFh first to ensure
that DESKTOP is active
SeeAlso: AX=FFEFh,AX=FFF3h ———-16FFC6—————————– INT 16 - PC Tools v5.1+ DESKTOP API - SET ???
AX = FFC6h BL = new value for ???
———-16FFC7—————————– INT 16 - PC Tools v5.1+ DESKTOP API - REMOVE WINDOW
AX = FFC7h ???
Return: ??? ———-16FFC8—————————– INT 16 - PC Tools v5.1+ DESKTOP API - GET ???
AX = FFC8h
Return: DS:SI → ??? Note: valid only while popped up ———-16FFC9—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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
———-16FFCA—————————– INT 16 - PC Tools v5.1+ DESKTOP API - SET ???
AX = FFCAh DX = ???
Return: AX destroyed Note: available only when popped up ———-16FFCB—————————– INT 16 - PC Tools v5.1+ DESKTOP API - SELECT WINDOW PARAMETERS???
AX = FFCBh DX = window specifier???
Return: AX destroyed Note: available only when popped up SeeAlso: AX=FFB5h ———-16FFCC—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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)
———-16FFCD—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFCDh DS:DX -> ???
Return: ??? Note: available only when popped up ———-16FFCE—————————– INT 16 - PC Tools v5.1+ DESKTOP API - SET ??? DELAYS
AX = FFCEh CX = ???
Return: nothing??? ———-16FFCF—————————– INT 16 - PC Tools v5.1+ DESKTOP API - CLOSE PRINTER/PRINT FILE
AX = FFCFh
Note: available only when popped up ———-16FFD0—————————– INT 16 - PC Tools v5.1+ DESKTOP API - PREPARE TO PRINT???
AX = FFD0h ???
Return: ??? Note: available only when popped up ———-16FFD1—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFD2—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFD2h BX = ???
Return: BL = ??? Note: available only when popped up ———-16FFD3—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFD3h DS:SI -> 92-byte data record for ???
Return: ??? ———-16FFD4BH3C————————- INT 16 - PC Tools v5.1+ DESKTOP API - 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:\
———-16FFD5—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFD5h ???
Return: ??? Note: available only when popped up ———-16FFD6—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFD6h BX = ??? CX = ??? DX = offset in ??? ???
Return: ??? Note: available only when popped up ———-16FFD7—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFD7h ???
Return: BL = ??? Note: available only when popped up ———-16FFD8—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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???
———-16FFD9—————————– INT 16 - PC Tools v5.1+ DESKTOP API - GET ???
AX = FFD9h
Return: AX = ??? Note: available only when popped up ———-16FFDA—————————– INT 16 - PC Tools v5.1+ DESKTOP API - GET NAME OF LAST FILE OPENED
AX = FFDAh DS:SI -> ??? (v5.1/5.5 only)
Return: DS:SI → filename ———-16FFDB—————————– INT 16 - PC Tools v5.1+ DESKTOP API - SET ???
AX = FFDBh BL = ???
Note: available only when popped up ———-16FFDC—————————– INT 16 - PC Tools v5.1+ DESKTOP API - UNHOOK
AX = FFDCh
Return: interrupt vectors 09h, 10h (v6.0+), 16h, 1Ch, and 21h restored to
original values
———-16FFDDBX0000———————– INT 16 - PC Tools v5.1+ PCShell API - INSTALLATION CHECK
AX = FFDDh BX = 0000h
Return: CX = 5555h
DX = 5555h if PCShell installed in resident mode
———-16FFDDBX0001———————– INT 16 - PC Tools v5.1+ PCShell API - REQUEST POP-UP
AX = FFDDh BX = 0001h
SeeAlso: AX=FFDDh/BX=0003h ———-16FFDDBX0002———————– INT 16 - 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
———-16FFDDBX0003———————– INT 16 - PC Tools v5.1+ PCShell API - REQUEST POP-UP
AX = FFDDh BX = 0003h
SeeAlso: AX=FFDDh/BX=0001h ———-16FFDDBX0004———————– INT 16 - PC Tools v5.1+ PCShell API - GET ???
AX = FFDDh BX = 0004h
Return: CF clear if successful
DS:SI -> ???
———-16FFDDBX0005———————– INT 16 - PC Tools v5.1+ PCShell API - ???
AX = FFDDh BX = 0005h ???
Return: ??? ———-16FFDDBX0006———————– INT 16 - PC Tools v5.1+ PCShell API - ???
AX = FFDDh BX = 0006h ???
Return: ??? ———-16FFDDBX0007———————– INT 16 - PC Tools v5.1+ PCShell API - SET ??? FLAG
AX = FFDDh BX = 0007h
Return: CF clear if successful SeeAlso: AX=FFDDh/BX=0008h ———-16FFDDBX0008———————– INT 16 - PC Tools v5.1+ PCShell API - CLEAR ??? FLAG
AX = FFDDh BX = 0008h
Return: ??? SeeAlso: AX=FFDDh/BX=0007h ———-16FFDDBX0009———————– INT 16 - PC Tools v6.0+ PCShell API - GET PCRUN PARAMETERS
AX = FFDDh BX = 0009h
Return: CF clear if successful
DS:SI -> list of pointers (see below)
Format of returned pointer list: Offset Size Description 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) ———-16FFDDBX000A———————– INT 16 - PC Tools v6.0+ PCRUN API - INSTALLATION CHECK
AX = FFDDh BX = 000Ah
Return: CX = 5555h if running
DX = 5555h
Note: also sets a flag ———-16FFDDBX000B———————– INT 16 - 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 ———-16FFDE—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFDF—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFDFh ???
Return: ??? ———-16FFE0—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFE0h CX = ??? DX = ???
Note: available only when popped up ———-16FFE1—————————– INT 16 - PC Tools v5.1+ DESKTOP API - BEEP
AX = FFE1h
———-16FFE2—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFE2h DX = ???
Return: ??? Note: available only when popped up ———-16FFE3—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFE4—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFE4h DX = segment of ???
Return: ??? Note: available only when popped up ———-16FFE5—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 cancelled by user
Note: available only when popped up SeeAlso: AX=FFDAh ———-16FFE6—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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
———-16FFE7—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFE7h BX = segment of ???
Return: ??? Note: available only when popped up ———-16FFE8—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFE9—————————– INT 16 - PC Tools v5.1+ DESKTOP API - GET FILE LIST???
AX = FFE9h
Return: BX = segment of file/directory list (14 bytes per file, NUL-padded) Note: available only when popped up ———-16FFEA—————————– INT 16 - PC Tools v5.1+ DESKTOP API - DISPLAY COUNTED STRING
AX = FFEAh DS:SI -> counted string (count byte followed by string)
Return: ??? Note: available only when popped up ———-16FFEB—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFEBh ???
Return: ??? ———-16FFEC—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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
———-16FFED—————————– INT 16 - PC Tools v5.1+ DESKTOP API - GET ???
AX = FFEDh
Return: AX = ??? Note: available only when popped up ———-16FFEE—————————– INT 16 - PC Tools v5.1+ DESKTOP API - DEFINE PULLDOWN MENUS
AX = FFEEh DS:SI -> pulldown menu system description (see below)
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 pulldown menu system description: Offset Size Description 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 below) 1Ah WORD offset of second menu definition
...
Format of menu definition: Offset Size Description 00h WORD offset of menu contents (see below) 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 menu contents: Offset Size Description 00h BYTE number of lines in menu 01h BYTE width of menu 02h N BYTEs counted strings, one for each line in menu ———-16FFEFCX0000———————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFF0—————————– INT 16 - PC Tools v5.1+ DESKTOP API - SET ???
AX = FFF0h DX = ???
Return: AX destroyed Note: available only when popped up ———-16FFF1BX0000———————– INT 16 - PC Tools v5.1+ DESKTOP API - ALTERNATE INSTALLATION CHECK
AX = FFF1h BX = 0000h leave ??? flag as is nonzero set ??? flag
Return: CX = 5555h if installed
DX = 5555h
———-16FFF2—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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
———-16FFF3—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFF4—————————– INT 16 - PC Tools v5.1+ DESKTOP API - ???
AX = FFF4h ???
Return: ??? Note: available only when popped up SeeAlso: AX=FFF6h ———-16FFF5—————————– INT 16 - PC Tools v5.1+ DESKTOP API - GET SCREEN ATTRIBUTE ARRAY
AX = FFF5h
Return: ES:BX → screen attributes data structure (see below)
AL = ??? (v6.0+)
Format of attribute data structure: Offset Size Description -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 ———-16FFF6—————————– INT 16 - PC Tools v5.1+ DESKTOP API - INVOKE NOTEPAD EDITOR
AX = FFF6h DS = segment of editor buffer structure (see below) BX = ??? DX = segment of window parameters structure (see AX=FFB5h)
Return: ??? Note: available only when popped up SeeAlso: AX=FFF4h
Format of editor buffer structure: Offset Size Description 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 ———-16FFF7—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFF8—————————– INT 16 - PC Tools v5.1+ DESKTOP API - DRAW EMPTY WINDOW
AX = FFF8h DS:0000h -> window parameters structure (see AX=FFB5h) DS:BX -> DWORD to store address of ??? on screen
Return: ??? ———-16FFF9—————————– INT 16 - PC Tools v5.1+ DESKTOP API - DEFINE SCREEN REFRESH ROUTINE
AX = FFF9h ES:BX -> FAR routine to redisplay the utility's window
Note: available only when popped up ———-16FFFA—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFFB—————————– INT 16 - PC Tools v5.1+ DESKTOP API - 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 ———-16FFFC—————————– INT 16 - PC Tools v5.1+ DESKTOP API - GET HOTKEYS AND KEYBOARD VECTOR
AX = FFFCh
Return: ES:BX → hotkey table (see below)
DS:DX = original INT 9 vector
Format of hotkey table: Offset Size Description 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 ———-16FFFD—————————– INT 16 - PC Tools v5.1+ DESKTOP API - COPY ???
AX = FFFDh
Return: AX destroyed Note: copies 4000 bytes from ??? to ??? under certain circumstances ———-16FFFE—————————– INT 16 - PC Tools v5.1+ DESKTOP API - SHOW MOUSE CURSOR
AX = FFFEh
SeeAlso: AX=FFFFh,INT 33/AX=0001h ———-16FFFF—————————– INT 16 - PC Tools v5.1+ DESKTOP API - HIDE MOUSE CURSOR
AX = FFFFh
SeeAlso: AX=FFFEh,INT 33/AX=0002h