Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-16

MSDOS - Interrupt List 16h

00h - KEYBOARD - GET KEYSTROKE

	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

01h - 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

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

02h - KEYBOARD - GET SHIFT FLAGS

	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

03h - 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 (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

04h - KEYBOARD - SET KEYCLICK (PCjr only)

	AH = 04h
	AL = keyclick state
	    00h off
	    01h on

SeeAlso: AH=03h

05h

05h - KEYBOARD - STORE KEYSTROKE IN KEYBOARD BUFFER (AT/PS w enh keybd only)

	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

05h - 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: ???

called by DOS 3.2 KEYBxx.COM

SeeAlso: AH=92h,AH=A2h

09h - KEYBOARD - GET KEYBOARD FUNCTIONALITY

	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

0Ah - KEYBOARD - GET KEYBOARD ID

AH = 0Ah

Return: BX = keyboard ID Note: check return value from AH=09h to determine whether this function is

  supported

SeeAlso: AH=09h

10h - KEYBOARD - GET ENHANCED KEYSTROKE (enhanced kbd support only)

	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

11h - 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

SeeAlso: AH=01h,AH=10h,AH=21h

12h - KEYBOARD - GET EXTENDED SHIFT STATES (enh kbd support only)

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

20h - KEYBOARD - GET 122-KEY KEYSTROKE???

AH = 20h

Return: ??? see AH=10h Note: use AH=09h to determine whether this function is supported SeeAlso: AH=00h,AH=10h,AH=21h

21h - KEYBOARD - CHECK FOR 122-KEY KEYSTROKE???

AH = 21h

Return: ??? see AH=11h Note: use AH=09h to determine whether this function is supported SeeAlso: AH=01h,AH=11h,AH=20h

22h - KEYBOARD - GET 122-KEY SHIFT STATUS???

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: ???

FFh

FFh - KEYBOARD - KBUF extensions - ADD KEY TO TAIL OF KEYBOARD BUFFER

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

FFh - OPTIMA 1024 VGA-Sync - QUERY ZOOM INTERRUPT

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

back2root/ibm-pc-ms-dos/interrupts/old/ms_interrupt_list-16.txt · Dernière modification : 2023/01/19 21:03 de 127.0.0.1