home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-05 | 287.6 KB | 8,021 lines |
- Interrupt List, part 8 of 9
- This compilation is Copyright (c) 1989,1990,1991,1992,1993 Ralf Brown
- --------N-50---------------------------------
- INT 50 - TIL Xpert AIM (X.25)
- AH = function
- --------H-50---------------------------------
- INT 50 - IRQ0 relocated by DESQview
- Notes: this is the default location for older versions; DESQview v2.26+
- searches for unused ranges of interrupts and uses the lowest
- available range in its list for relocating these IRQs and the next
- lowest for relocating IRQ8-IRQ15
- a range of eight interrupts starting at a multiple of 8 is considered
- available if all vectors are identical and it has not been excluded
- with an /XB:nn commandline switch
- the list of ranges for v2.26 is 50h,58h,68h,78h,F8h (if < two of these
- are available, F8h and then 50h are used anyway)
- the list of ranges for v2.31+ is 68h,78h,88h-B8h,F8h (if < two of these
- are available, F8h and then F0h are used anyway)
- SeeAlso: INT 08"IRQ0",INT 51"DESQview",INT 54"DESQview",INT 58"DESQview"
- SeeAlso: INT D8"Screen Thief"
- --------H-50---------------------------------
- INT 50 - IRQ0 relocated by IBM 3278 emulation control program
- SeeAlso: INT 51"IBM 3278"
- --------H-50---------------------------------
- INT 50 - IRQ0 relocated by OS/2 v1.x
- SeeAlso: INT 51"OS/2"
- --------V-500000-----------------------------
- INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - OPEN TEXT WINDOW
- AX = 0000h
- ES:BX -> name string or ES:0000h if none
- CH,CL = row,column of upper left corner
- DH,DL = row,column of lower right corner
- Return: AX = window handle or
- 0000h if not installed
- FFFFh on error
- SeeAlso: AX=0001h,AX=0002h"TEXT WINDOWS"
- --------V-500001-----------------------------
- INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - CLOSE TEXT WINDOW
- AX = 0001h
- DI = window handle
- SeeAlso: AX=0000h
- --------V-500002-----------------------------
- INT 50 - Vanderaart TEXT WINDOWS - PUT CHARACTER IN WINDOW
- AX = 0002h
- BL = character
- BH = attribute
- DL = column
- DH = row
- DI = window handle
- Return: AX = status
- 0000h if successful
- FFFFh if outside window
- SeeAlso: AX=0000h
- --------l-500002-----------------------------
- INT 50 - PC Thuis Organizer Shell - PLOT TEXT
- AX = 0002h
- ES:BX -> text string
- DH,DL = row,column of upper left corner
- DI = window handle
- Return: AX = status
- 0000h successful (text fits in window)
- FFFFh error
- Program: The PC Thuis Organizer Shell was written by John Vanderaart and
- published in the June/July 1990 issue of PC Thuis Power magazine
- --------V-500003-----------------------------
- INT 50 - Vanderaart TEXT WINDOWS - OUTPUT LINE TO WINDOW
- AX = 0003h
- ES:BX -> text string
- CX = string length (0000h if ASCIZ string)
- DL = position (FFh centered, else flush left)
- DH = starting row
- DI = window handle
- Return: AX = status
- 0000h successful
- FFFFh did not fit in window
- --------l-500003-----------------------------
- INT 50 - PC Thuis Organizer Shell - WRITE FILE
- AX = 0003h
- ES:BX -> data to be written
- CX = number of bytes to write
- DS:SI -> filename
- Return: AX = status
- 0000h successful
- FFFFh error
- SeeAlso: AX=0004h"Shell"
- --------V-500004-----------------------------
- INT 50 - Vanderaart TEXT WINDOWS - GET KEY
- AX = 0004h
- CH = type
- 00h any key
- 01h 'J' or 'N' (Dutch for yes/no)
- Return: AX = key
- SeeAlso: INT 16/AH=00h
- --------l-500004-----------------------------
- INT 50 - PC Thuis Organizer Shell - READ FILE
- AX = 0004h
- ES:BX -> buffer for data
- CX = number of bytes to read or 0000h for entire file
- DL = file type
- 01h setting shell
- 02h setting sterm
- 03h INT21 file
- DS:SI -> filename
- Return: AX = status
- 0000h successful
- FFFFh error
- Note: file type numbers are maintained by John Vanderaart; if a new file type
- is needed, a type number should be requested from him through the
- magazine:
- PC Thuis BV
- Spaarne 55
- 2011 CE HAARLEM
- The Netherlands
- SeeAlso: AX=0003h"Shell"
- --------V-500005-----------------------------
- INT 50 - Vanderaart TEXT WINDOWS - CHANGE ATTRIBUTE
- AX = 0005h
- BL = new attribute
- CH,CL = row,column of upper left corner
- DH,DL = row,column of lower right corner
- DI = window handle
- --------l-500005-----------------------------
- INT 50 - PC Thuis Organizer Shell - PROMPT YES/NO
- AX = 0005h
- ES:BX -> prompt string (ES:0000h if no prompt)
- Return: AX = key pressed
- 0000h "J" (Dutch "Ja" = "Yes")
- FFFFh "N" (Dutch "Nee" = "No")
- Program: The PC Thuis Organizer Shell was written by John Vanderaart and
- published in the June/July 1990 issue of PC Thuis Power magazine
- --------V-500006-----------------------------
- INT 50 - Vanderaart TEXT WINDOWS - EDIT LINE IN WINDOW
- AX = 0006h
- ES:BX -> text string
- CH = type
- 00h everything
- 01h uppercase only
- 02h positive numbers
- 03h Dutch postal code ("9999 AA")
- 04h 'J' or 'N' (Dutch yes/no)
- 05h telephone or FAX number
- 06h positive or negative number
- 07h date (dd/mm/yy)
- 08h money
- 09h '1' through '8'
- 0Ah '1' through '4'
- 0Bh uppercase filenames
- DH,DL = row,column of upper left corner
- DI = window handle
- Return: AX = key which terminated entry
- 0000h Enter
- 0001h Esc
- 0002h Down arrow
- 0003h Up arrow
- 0004h F10
- --------l-500006-----------------------------
- INT 50 - PC Thuis Organizer Shell - ALERT USER
- AX = 0006h
- ES:BX -> string
- --------l-500007-----------------------------
- INT 50 - PC Thuis Organizer Shell - DO LINE
- AX = 0007h
- ES:BX -> text string
- CX = string length in bytes (0000h if NUL-terminated)
- DL = FFh to center string, else flush left
- DH = upper left row
- DI = window handle
- Return: AX = status
- 0000h successful
- FFFFh error
- Program: The PC Thuis Organizer Shell was written by John Vanderaart and
- published in the June/July 1990 issue of PC Thuis Power magazine
- --------l-500008-----------------------------
- INT 50 - PC Thuis Organizer Shell - DO MENU
- AX = 0008h
- ES:BX -> menu structure
- Return: AL = index 1 or FFh if not selected
- AH = index 2 or FFh if not selected
- BL = index 3 or FFh if not selected
- BH = index 4 or FFh if not selected
- SeeAlso: AX=000Ch
- --------l-500009-----------------------------
- INT 50 - PC Thuis Organizer Shell - MESSAGE ON
- AX = 0009h
- ES:BX -> message string
- SeeAlso: AX=000Ah
- --------l-50000A-----------------------------
- INT 50 - PC Thuis Organizer Shell - MESSAGE OFF
- AX = 000Ah
- SeeAlso: AX=0009h
- --------l-50000B-----------------------------
- INT 50 - PC Thuis Organizer Shell - CHANGE ATTRIBUTE
- AX = 000Bh
- BL = new attribute
- CH,CL = row,column of upper left corner
- DH,DL = row,column of lower right corner
- DI = window handle
- --------l-50000C-----------------------------
- INT 50 - PC Thuis Organizer Shell - DO REQUEST
- AX = 000Ch
- ES:BX -> request structure
- Return: AX = status
- 0000h confirmed
- FFFFh denied
- SeeAlso: AX=0008h
- --------l-50000D-----------------------------
- INT 50 - PC Thuis Organizer Shell - EDIT LINE
- AX = 000Dh
- ES:BX -> text string
- CL = length
- CH = type
- bit 0: force uppercase
- bit 1: integer
- bit 2: no spaces allowed
- bit 3: no cursor keys
- DH,DL = row,column of upper left corner
- DI = window handle
- Return: AX = result code
- Program: The PC Thuis Organizer Shell was written by John Vanderaart and
- published in the June/July 1990 issue of PC Thuis Power magazine
- --------l-50000E-----------------------------
- INT 50 - PC Thuis Organizer Shell - PLOT CHARACTER
- AX = 000Eh
- BL = character
- BH = attribute
- DH,DL = row,column at which to plot
- DI = window handle
- Return: AX = status
- 0000h successful
- FFFFh errror
- --------l-50000F-----------------------------
- INT 50 - PC Thuis Organizer Shell - EMPTY WINDOW
- AX = 000Fh
- BL = character
- BH = attribute
- DI = window handle
- --------l-500010-----------------------------
- INT 50 - PC Thuis Organizer Shell - TRACE MENU
- AX = 0010h
- ES:BX -> first menu structure
- CL = hotkey to look up
- Return: AL = index 1 or FFh if not selected
- AH = index 2 or FFh if not selected
- BL = index 3 or FFh if not selected
- BH = index 4 or FFh if not selected
- --------l-500011-----------------------------
- INT 50 - PC Thuis Organizer Shell - MOVE MEMORY
- AX = 0011h
- DS:SI -> source
- ES:DI -> destination
- CX = number of bytes to move (0000h = until NUL string terminator???)
- SeeAlso: AX=0012h
- --------l-500012-----------------------------
- INT 50 - PC Thuis Organizer Shell - COMPARE MEMORY
- AX = 0012h
- DS:SI -> source
- ES:DI -> destination
- CX = number of bytes to compare (0000h=until NUL string terminator???)
- Return: AX = status
- 0000h same
- FFFFh different
- SeeAlso: AX=0011h
- --------l-500013-----------------------------
- INT 50 - PC Thuis Organizer Shell - GET KEY
- AX = 0013h
- CH = type flags
- bit 0: force uppercase
- bit 1: integer
- bit 2: no spaces
- Return: AX = keystroke
- --------l-500014-----------------------------
- INT 50 - PC Thuis Organizer Shell - SCROLL WINDOW
- AX = 0014h
- BL = direction
- 06h up
- 07h down
- BH = attribute
- DI = window handle
- SeeAlso: INT 10/AH=06h,INT 10/AH=07h
- --------l-500015-----------------------------
- INT 50 - PC Thuis Organizer Shell - GET MEMORY HANDLE
- AX = 0015h
- BL = handle size
- 00h 65536 bytes (64K)
- 01h 65535 bytes (64K-1)
- 02h 32768 bytes (32K)
- 03h 32767 bytes (32K-1)
- Return: AX = segment
- Program: The PC Thuis Organizer Shell was written by John Vanderaart and
- published in the June/July 1990 issue of PC Thuis Power magazine
- SeeAlso: INT 21/AH=48h
- --------H-51---------------------------------
- INT 51 - IRQ1 relocated by DESQview
- Note: this is the default location for older versions; see INT 50"DESQview"
- for details of interrupt relocation
- SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"
- --------H-51---------------------------------
- INT 51 - IRQ1 relocated by IBM 3278 emulation control program
- SeeAlso: INT 50"IBM 3278",INT 54"IBM 3278"
- --------H-51---------------------------------
- INT 51 - IRQ1 relocated by OS/2 v1.x
- SeeAlso: INT 50"OS/2",INT 54"OS/2"
- --------H-52---------------------------------
- INT 52 - IRQ2 relocated by DESQview
- Note: this is the default location for older versions; see INT 50"DESQview"
- for details of interrupt relocation
- SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"
- --------H-52---------------------------------
- INT 52 - IRQ2 relocated by IBM 3278 emulation control program, OS/2 v1.x
- SeeAlso: INT 50"IBM 3278",INT 51"OS/2"
- --------H-53---------------------------------
- INT 53 - IRQ3 relocated by DESQview
- Note: this is the default location for older versions; see INT 50"DESQview"
- for details of interrupt relocation
- SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"
- --------H-53---------------------------------
- INT 53 - IRQ3 relocated by IBM 3278 emulation control program, OS/2 v1.x
- SeeAlso: INT 50"IBM 3278",INT 51"OS/2"
- ----------53---------------------------------
- INT 53 - ??? - API
- BX = function
- 0000h ???
- AX = ???
- Return: AX = ???
- 0004h ???
- 0009h ???
- 0015h
- AX = ???
- DX = ???
- 0017h
- Return: ???
- Notes: the installation check consists of looking for the signature "WEBCO"
- immediately prior to the interrupt handler
- the above calls are made by Show Partner F/X v3.6 (see INT 10/AH=53h)
- Index: installation check;unknown|installation check;WEBCO
- --------H-54---------------------------------
- INT 54 - IRQ4 relocated by DESQview
- Note: this is the default location for older versions; see INT 50"DESQview"
- for details of interrupt relocation
- SeeAlso: INT 50"DESQview",INT 58"DESQview"
- --------H-54---------------------------------
- INT 54 - IRQ4 relocated by IBM 3278 emulation control program, OS/2 v1.x
- SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
- --------H-55---------------------------------
- INT 55 - IRQ5 relocated by DESQview
- Note: this is the default location for older versions; see INT 50"DESQview"
- for details of interrupt relocation
- SeeAlso: INT 50"DESQview",INT 58"DESQview"
- --------H-55---------------------------------
- INT 55 - IRQ5 relocated by IBM 3278 emulation control program, OS/2 v1.x
- SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
- --------H-56---------------------------------
- INT 56 - IRQ6 relocated by DESQview
- Note: this is the default location for older versions; see INT 50"DESQview"
- for details of interrupt relocation
- SeeAlso: INT 50"DESQview",INT 58"DESQview"
- --------H-56---------------------------------
- INT 56 - IRQ6 relocated by IBM 3278 emulation control program, OS/2 v1.x
- SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
- --------H-57---------------------------------
- INT 57 - IRQ7 relocated by DESQview
- Note: this is the default location for older versions; see INT 50"DESQview"
- for details of interrupt relocation
- SeeAlso: INT 50"DESQview",INT 58"DESQview"
- --------H-57---------------------------------
- INT 57 - IRQ7 relocated by IBM 3278 emulation control program, OS/2 v1.x
- SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
- --------H-58---------------------------------
- INT 58 - IRQ8 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 70
- --------H-58---------------------------------
- INT 58 - IRQ0 relocated by DoubleDOS
- SeeAlso: INT 08
- --------H-59---------------------------------
- INT 59 - IRQ9 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 71
- --------H-59---------------------------------
- INT 59 - IRQ1 relocated by DoubleDOS
- SeeAlso: INT 09
- --------V-59---------------------------------
- INT 59 - GSS Computer Graphics Interface (GSS*CGI)
- DS:DX -> block of 5 array pointers
- Return: CF set on error
- AX = error code
- CF clear if successful
- AX = return code
- Note: INT 59 is the means by which GSS*CGI language bindings communicate with
- GSS*CGI device drivers and the GSS*CGI device driver controller.
- also used by the IBM Graphic Development Toolkit
- --------H-5A---------------------------------
- INT 5A - IRQ10 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 72
- --------H-5A---------------------------------
- INT 5A - IRQ2 relocated by DoubleDOS
- SeeAlso: INT 0A
- --------N-5A---------------------------------
- INT 5A - Cluster adapter BIOS entry address
- ???
- --------H-5B---------------------------------
- INT 5B - IRQ11 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 73
- --------H-5B---------------------------------
- INT 5B - IRQ3 relocated by DoubleDOS
- SeeAlso: INT 0B
- --------N-5B---------------------------------
- INT 5B - Used by cluster adapter
- --------N-5B---------------------------------
- INT 5B - AT&T Starlan Extended NetBIOS (variable length names)
- ES:BX -> Network Control Block (see below)
- Return: AL = status (see INT 5C)
- SeeAlso: INT 5C
-
- Format of Network Control Block
- Offset Size Description
- 00h BYTE ncb_command (see below)
- 01h BYTE ncb_retcode
- 02h BYTE ncb_lsn
- 03h BYTE ncb_num
- 04h DWORD -> ncb_buffer
- 08h WORD ncb_length
- 0Ah 16 BYTEs ncb_callname
- 1Ah 16 BYTEs ncb_name
- 2Ah BYTE ncb_rto
- 2Bh BYTE ncb_sto
- 2Ch DWORD -> ncb_post /* int (far *ncb_post)(); */
- 30h BYTE ncb_lana_num
- 31h BYTE ncb_cmd_cplt
- 32h DWORD -> ncb_vname
- 36h BYTE ncb_vnamelen
- 37h 9 BYTEs ncb_reserve
- Note: fields 00h-31h are the same as for a standard NetBIOS NCB (see INT 5C)
-
- Values for ncb_command field same as for INT 5C, except
- 70h send net Break
- --------N-5B---------------------------------
- INT 5B - Microsoft Network Transport Layer Interface
- Note: used by MS-NET for executing network commands
- SeeAlso: INT 5C"NetBIOS"
- --------N-5B---------------------------------
- INT 5B - used by Alloy NTNX
- --------N-5B---------------------------------
- INT 5B - ISOLAN Multi Protocol Software
- ES:BX -> Transfer Control Block
- Return: AL - status
- Note: this software interface allows multiple protocols/software packages
- to access a BICC 411x network card
-
- Format of Transfer Control Block:
- Offset Type Description
- 00h BYTE command code
- B3h Status
- F2h Activate
- F3h Deactivate
- F4h Send Data
- 01h BYTE command identity
- 02h BYTE virtual circuit ID
- 03h WORD buffer length
- 05h DWORD buffer pointer
- 09h BYTE expedited data flag
- 0Ah BYTE cancelable flag
- 0Bh 16 BYTEs local network address
- 1Bh 16 BYTEs remote network address
- 2Bh DWORD asynchronous notification routine
- 30h DWORD local network number
- 34h DWORD remote network number
- 38h BYTE call timeout
- 39h BYTE not used
- 3Ah 8 BYTEs reserved
- 42h BYTE command code extension
- 43h WORD Blue Book MAC type
- ----------5B5254DL04-------------------------
- INT 5B U - SitBack v3.02R - GET ???
- AX = 5254h
- DL = 04h
- Return: ES:BX -> ??? in resident portion
- Program: SitBack is a background file backup utility by SitBack Technologies,
- Inc. which initiates backups whenever the system is idle
- SeeAlso: AX=8485h/DL=71h,AX=8485h/DL=72h
- ----------5B8485DL70-------------------------
- INT 5B U - SitBack v3.02R - INSTALLATION CHECK
- AX = 8485h
- DL = 70h
- Return: CX = 8485h if installed
- DX:AX -> ??? (configuration data?)
- Program: SitBack is a background file backup utility by SitBack Technologies,
- Inc. which initiates backups whenever the system is idle
- SeeAlso: AX=5254h/DL=04h,AX=8485h/DL=78h
- ----------5B8485DL71-------------------------
- INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS
- AX = 8485h
- DL = 71h
- Return: ES:BX -> FAR entry point to ???
- Note: the flag which is modified is located at the address returned by
- AX=5254h/DL=04h
- SeeAlso: AX=8485h/DL=72h
- ----------5B8485DL72-------------------------
- INT 5B U - SitBack v3.02R - CLEAR ??? FLAG
- AX = 8485h
- DL = 72h
- Note: the flag which is modified is located at the address returned by
- AX=5254h/DL=04h
- SeeAlso: AX=8485h/DL=71h
- ----------5B8485DL73-------------------------
- INT 5B U - SitBack v3.02R - ???
- AX = 8485h
- DL = 73h
- ???
- Return: ???
- ----------5B8485DL74-------------------------
- INT 5B U - SitBack v3.02R - ???
- AX = 8485h
- DL = 74h
- ???
- Return: ???
- ----------5B8485DL75-------------------------
- INT 5B U - SitBack v3.02R - ???
- AX = 8485h
- DL = 75h
- CX = ???
- Return: ???
- SeeAlso: AX=8485h/DL=76h
- ----------5B8485DL76-------------------------
- INT 5B U - SitBack v3.02R - ???
- AX = 8485h
- DL = 76h
- CX = ???
- Return: ???
- Note: conditionally calls the code for AX=8485h/DL=75h
- SeeAlso: AX=8485h/DL=75h
- ----------5B8485DL77-------------------------
- INT 5B U - SitBack v3.02R - SET ??? FLAG
- AX = 8485h
- DL = 77h
- ----------5B8485DL78-------------------------
- INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT
- AX = 8485h
- DL = 78h
- Return: CX = 5342h if supported
- ES = AX = segment of TSR data
- SeeAlso: AX=8485h/DL=70h,AX=8485h/DL=79h
- ----------5B8485DL79-------------------------
- INT 5B U - SitBack v3.02R - GET DTA
- AX = 8485h
- DL = 79h
- Return: CX = 5342h if supported
- ES:BX -> DTA set by last INT 21/AH=1Ah
- Note: this function is provided by SBOS.EXE rather than SB.EXE
- SeeAlso: INT 21/AH=1Ah
- ----------5B8485DL7A-------------------------
- INT 5B U - SitBack v3.02R - TOGGLE ???
- AX = 8485h
- DL = 7Ah
- Return: CX = 5342h if supported
- AL = new value of ??? (00h or 01h)
- --------H-5C---------------------------------
- INT 5C - IRQ12 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 74
- --------H-5C---------------------------------
- INT 5C - IRQ4 relocated by DoubleDOS
- SeeAlso: INT 0C
- --------N-5C---------------------------------
- INT 5C - NetBIOS INTERFACE
- ES:BX -> network control block (NCB) (see below)
- Return: AL = status (see below)
- Note: Sytek PCnet card uses DMA 3.
- SeeAlso: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B
-
- Values for NetBIOS status:
- 00h successful
- 01h bad buffer size
- 03h invalid NETBIOS command
- 05h timeout
- 06h receive buffer too small
- 07h No-ACK command failed
- 08h bad session number
- 09h LAN card out of memory
- 0Ah session closed
- 0Bh command has been cancelled
- 0Dh name already exists
- 0Eh local name table full
- 0Fh name still in use, can't delete
- 11h local session table full
- 12h remote PC not listening
- 13h bad NCB_NUM field
- 14h no answer to CALL or no such remote
- 15h name not in local name table
- 16h duplicate name
- 17h bad delete
- 18h abnormal end
- 19h name error, multiple identical names in use
- 1Ah bad packet
- 21h network card busy
- 22h too many commands queued
- 23h bad LAN card number
- 24h command finished while cancelling
- 26h command can't be cancelled
- 30h name defined by another process (OS/2)
- 34h NetBIOS environment not defined, must issue reset (OS/2)
- 35h required operating system resources exhausted (OS/2)
- 36h maximum applications exceeded (OS/2)
- 37h no SAPs available for NetBIOS (OS/2)
- 38h requested resources not available (OS/2)
- 40h Lana System Error
- 41h Lana Remote Hot Carrier
- 42h Lana Local Hot Carrier
- 43h Lana No Carrier Detected
- 44h unusual network condition
- 45h-4Dh hardware error
- 4Eh token ring is broken
- 4Fh token ring error
- 50h adapter malfunction
- F7h error in explicit INITIALIZE
- F8h error in implicit OPEN
- F9h TOKREUI internal error
- FAh hardware adapter testing
- FBh NetBIOS emulator not found
- FCh OPEN or OPEN_SAP failure
- FDh unexpected adapter closure
- FFh NetBIOS busy (command pending)
-
- Format of Network Control Block:
- Offset Size Description
- 00h BYTE command code (see below)
- 01h BYTE return code
- 02h BYTE local session number (LSN)
- 03h BYTE "ncb_num" datagram table entry from ADD NAME
- 04h DWORD -> I/O buffer
- 08h WORD length of data in buffer
- 0Ah 16 BYTEs remote system to call
- 1Ah 16 BYTEs network name of local machine
- 2Ah BYTE receive timeout in 1/2 seconds
- 2Bh BYTE send timeout in 1/2 seconds
- 2Ch DWORD -> FAR post handler /* int (far *ncb_post)(); */
- 30h BYTE network adapter number on which to execute command
- 00h-03h IBM NetBIOS specs
- F0h-FFh Eicon NABios interface (see also INT 7B"Eicon")
- 31h BYTE command completion code (see returned status above)
- 32h 14 BYTEs reserved for network card
-
- Values for command code field in NCB (OR with 80h for non-waiting call):
- 10h start session with NCB_NAME name (call)
- 11h listen for call
- 12h end session with NCB_NAME name (hangup)
- 14h send data via NCB_LSN
- 15h receive data from a session
- 16h receive data from any session
- 17h send multiple data buffers
- 20h send unACKed message (datagram)
- 21h receive datagram
- 22h send broadcast datagram
- 23h receive broadcast datagram
- 30h add name to name table
- 31h delete name from name table
- 32h reset adapter card and tables
- 33h get adapter status (see structure "astatus" below)
- 34h status of all sessions for name (see structure "sstatus" below)
- 35h cancel
- 36h add group name to name table
- 48h send data and receive data (LAN Manager NETBEUI.DOS)
- 70h unlink from IBM remote program (no F0h function)
- 71h send data without ACK
- 72h send multiple buffers without ACK
- 72h UngermannBass Register (conflicts with above function)
- 73h UngermannBass SendNmc
- 74h UngermannBass Callniu
- 75h UngermannBass Calladdr
- 76h UngermannBass Listenaddr
- 77h UngermannBass SendPkt
- 78h find name
- 78h UngermannBass RcvPkt (conflicts with above function)
- 79h token-ring protocol trace
- 79h UngermannBass SendAttn (conflicts with above function)
- 7Ah UngermannBass RcvAttn
- 7Bh UngermannBass Listenniu
- 7Ch UngermannBass RcvRaw
- 7Dh UngermannBass SendNmc2
-
- Format of structure "name":
- Offset Size Description
- 00h 16 BYTEs "nm_name" symbolic name
- 10h BYTE "nm_num" number associated with name
- 11h BYTE nm_status
-
- Format of structure "astatus":
- Offset Size Description
- 00h 6 BYTEs as_id
- 06h BYTE as_jumpers
- 07h BYTE as_post
- 08h BYTE as_major
- 09h BYTE as_minor
- 0Ah WORD as_interval
- 0Ch WORD as_crcerr
- 0Eh WORD as_algerr
- 10h WORD as_colerr
- 12h WORD as_abterr
- 14h DWORD as_tcount
- 18h DWORD as_rcount
- 1Ch WORD as_retran
- 1Eh WORD as_xresrc
- 20h 8 BYTEs as_res0
- 28h WORD as_ncbfree
- 2Ah WORD as_ncbmax
- 2Ch WORD as_ncbx
- 2Eh 4 BYTEs as_res1
- 32h WORD as_sespend
- 34h WORD as_msp
- 36h WORD as_sesmax
- 38h WORD as_bufsize
- 3Ah WORD as_names
- 3Ch 16 name structures as_name
-
- Format of structure "sstatus":
- Offset Size Description
- 00h BYTE number of sessions being reported
- 01h BYTE number of sessions with this name
- 02h BYTE number of outstanding receive datagrams
- 03h BYTE number of outstanding ReceiveAnys
- 04h var session structures (see below)
-
- Format of structure "session":
- Offset Size Description
- 00h BYTE local session number
- 01h BYTE state
- 01h listen pending
- 02h call pending
- 03h session established
- 04h hangup pending
- 05h hangup done
- 06h session aborted
- 02h 16 BYTEs local name
- 12h 16 BYTEs remote name
- 22h BYTE number of outstanding receives
- 23h BYTE number of outstanding sends/chainsends
- --------N-5C---------------------------------
- INT 5C - TOPS INTERFACE
- ES:BX -> Network Control Block
- Note: TOPS card uses DMA 1, 3 or none.
- --------N-5C---------------------------------
- INT 5C - ATALK.SYS - AppleTalk INTERFACE
- DX:BX -> control block (see below)
- Return: none
- Notes: this driver can use any interrupt from 5Ch to 70h
- the signature 'AppleTalk' appears 16 bytes prior to the interrupt
- handler; this serves as the installation check
- Index: installation check;ATALK.SYS|installation check;AppleTalk interface
-
- Format of AppleTalk control block:
- Offset Size Description
- 00h WORD command code
- 01h "AT_INIT" initialize the driver
- 02h "AT_KILL"
- 03h "AT_GETNETINFO" get current network info incl init status
- 04h "AT_GETCLOCKTICKS"
- 05h "AT_STARTTIMER"
- 06h "AT_RESETTIMER"
- 07h "AT_CANCELTIMER"
- 10h "LAP_INSTALL"
- 11h "LAP_REMOVE"
- 12h "LAP_WRITE"
- 13h "LAP_READ"
- 14h "LAP_CANCEL"
- 20h "DDP_OPENSOCKET"
- 21h "DDP_CLOSESOCKET"
- 22h "DDP_WRITE"
- 23h "DDP_READ"
- 24h "DDP_CANCEL"
- 30h "NBP_REGISTER"
- 31h "NBP_REMOVE"
- 32h "NBP_LOOKUP"
- 33h "NBP_CONFIRM"
- 34h "NBP_CANCEL"
- 35h "ZIP_GETZONELIST"
- 36h "ZIP_GETMYZONE"
- 37h "ZIP_TAKEDOWN"
- 38h "ZIP_BRINGUP"
- 40h "ATP_OPENSOCKET"
- 41h "ATP_CLOSESOCKET"
- 42h "ATP_SENDREQUEST"
- 43h "ATP_GETREQUEST"
- 44h "ATP_SENDRESPONSE"
- 45h "ATP_ADDRESPONSE"
- 46h "ATP_CANCELTRANS"
- 47h "ATP_CANCELRESPONSE"
- 48h "ATP_CANCELREQUEST"
- 50h "ASP_GETPARMS"
- 51h "ASP_CLOSESESSION"
- 52h "ASP_CANCEL"
- 53h "ASP_INIT"
- 54h "ASP_KILL"
- 55h "ASP_GETSESSION"
- 56h "ASP_GETREQUEST"
- 57h "ASP_CMDREPLY"
- 58h "ASP_WRTCONTINUE"
- 59h "ASP_WRTREPLY"
- 5Ah "ASP_CLOSEREPLY"
- 5Bh "ASP_NEWSTATUS"
- 5Ch "ASP_ATTENTION"
- 5Dh "ASP_GETSTATUS"
- 5Eh "ASP_OPENSESSION"
- 5Fh "ASP_COMMAND"
- 60h "ASP_WRITE"
- 61h "ASP_GETATTENTION"
- 70h "PAP_OPEN"
- 71h "PAP_CLOSE"
- 72h "PAP_READ"
- 73h "PAP_WRITE"
- 74h "PAP_STATUS"
- 75h "PAP_REGNAME"
- 76h "PAP_REMNAME"
- 77h "PAP_INIT"
- 78h "PAP_NEWSTATUS"
- 79h "PAP_GETNEXTJOB"
- 7Ah "PAP_KILL"
- 7Bh "PAP_CANCEL"
-
- or with the following flags
- 8000h start command then return
- 4000h wait for interrupt service to complete
- 02h WORD returned status
- 0000h success (already initialized if func 01h)
- 04h DWORD pointer to completion function
- 08h WORD network number
- 0Ah BYTE node ID
- ---if general func (01h,03h), control block continues:
- 0Bh BYTE "inf_abridge"
- 0Ch WORD "inf_config"
- 0Eh DWORD pointer to buffer
- 12h WORD buffer size
- ---if DDP function (20h-24h), control block continues:
- 0Bh BYTE "ddp_addr_socket"
- 0Ch BYTE "ddp_socket"
- 0Dh BYTE "ddp_type"
- 0Eh DWORD pointer to buffer
- 12h WORD buffer size
- 14h BYTE "ddp_chksum"
- ---if Name Binding Protocol (30h-34h), control block continues:
- 0Bh BYTE "nbp_addr_socket"
- 0Ch WORD "nbp_toget"
- 0Eh DWORD pointer to buffer
- 12h WORD buffer size
- 14h BYTE "nbp_interval"
- 15h BYTE "nbp_retry"
- 16h DWORD "nbp_entptr"
- ---if AppleTalk Transaction Protocol (42h), control block continues:
- 0Bh BYTE "atp_addr_socket"
- 0Ch WORD "atp_socket"
- 0Eh DWORD pointer to buffer
- 12h WORD buffer size
- 14h BYTE "atp_interval"
- 15h BYTE "atp_retry"
- 16h BYTE ATP flags
- bit 5: exactly one transaction
- 17h BYTE "atp_seqbit"
- 18h BYTE transaction ID
- 19h 4 BYTEs ATP user bytes
- 1Dh BYTE number of BDS buffers
- 1Eh BYTE number of BDS responses
- 1Fh DWORD pointer to BDS buffers (see below)
-
- Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP:
- Offset Size Description
- 00h WORD "tup_address_network"
- 02h BYTE "tup_address_notid"
- 03h BYTE "tup_address_socket"
- 04h BYTE "tup_enum"
- 05h 99 BYTEs name
-
- Format of BDS entries:
- Offset Size Description
- 00h DWORD pointer to buffer
- 04h WORD size of buffer
- 06h WORD BDS data size
- 08h 4 BYTEs "bds_userbytes"
- --------N-5C---------------------------------
- INT 5C - IBM 802.2 INTERFACE (LLC)
- ES:BX -> CCB (see below)
- Return: none
-
- Format of CCB:
- Offset Size Description
- 00h BYTE adapter
- 01h BYTE command code
- 02h BYTE return code
- 03h BYTE work
- 04h DWORD pointer to ???
- 08h DWORD pointer to completion function???
- 0Ch DWORD pointer to parameters???
- --------N-5C---------------------------------
- INT 5C - $25 LAN - INSTALLATION CHECK
- Notes: current versions only check whether the vector is 0000h:0000h or not
- future versions are supposed to have the signature "NET" in the three
- bytes preceding the INT 5C handler
- --------N-5C04-------------------------------
- INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
- AH = 04h
- AL = COM port (0 = default)
- CX = wait count in character times (should be at least 100)
- Return: ZF set if link alive
- --------H-5D---------------------------------
- INT 5D - IRQ13 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 75
- --------H-5D---------------------------------
- INT 5D - IRQ5 relocated by DoubleDOS
- SeeAlso: INT 0D,INT 5C"DoubleDOS"
- --------H-5E---------------------------------
- INT 5E - IRQ14 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 76
- --------H-5E---------------------------------
- INT 5E - IRQ6 relocated by DoubleDOS
- SeeAlso: INT 0E,INT 5D"DoubleDOS"
- --------H-5F---------------------------------
- INT 5F - IRQ15 relocated by DESQview 2.26+
- Note: this is the default, but other INTs may be used (see INT 50"DESQview")
- SeeAlso: INT 50"DESQview",INT 77
- --------H-5F---------------------------------
- INT 5F - IRQ7 relocated by DoubleDOS
- SeeAlso: INT 0F,INT 5E"DoubleDOS"
- --------b-5F00-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET VIDEO MODE
- AH = 00h
- AL = video mode
- 07h text, system manager compliant
- 20h 240x128 mono graphics, system manager compliant
- 87h text, not system manager compliant
- A0h 240x128 mono graphics, not system manager compliant
- Note: the defaults after setting the mode to graphics are (0,0) logical
- origin, full-screen clip region, (0,0) pen location, pen color 1,
- pixel replacement FORCE, line type and fill mask all bits set
- SeeAlso: INT 0F"HP 95LX",INT 10/AH=00h,INT 15/AX=4DD4h
- --------b-5F01-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET FILL MASK
- AH = 01h
- ES:DI -> 8-byte fill mask
- Note: the fill mask represents an 8x8 pixel box and is repeated as necessary
- when drawing filled rectangles; it is always aligned with the byte
- boundaries of video memory, regardless of the actual boundaries of
- the rectangle
- SeeAlso: AH=02h
- --------b-5F02-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFORMATION
- AH = 02h
- ES:DI -> graphics info record (see below)
- Return: DX:AX -> filled graphics info record (for return to high-level langs)
- Format of graphics info record:
- Offset Size Description
- 00h BYTE current video mode
- 01h BYTE default video mode
- 02h WORD display width in pixels
- 04h WORD display height in pixels
- 06h WORD current pen column
- 08h WORD current pen row
- 0Ah WORD current line type
- 0Ch WORD current replacement rule
- 0Eh WORD current pen color
- 10h WORD current leftmost column of clip region
- 12h WORD current rightmost column of clip region
- 14h WORD current topmost row of clip region
- 16h WORD current bottommost row of clip region
- 18h WORD current column of logical origin
- 1Ah WORD current row of logical origin
- 1Ch 8 BYTEs current fill mask
- --------b-5F03-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN
- AH = 03h
- CX = column
- DX = row
- SeeAlso: AH=04h
- --------b-5F04-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET CLIP REGION
- AH = 04h
- CX = left-most column
- DX = top-most row
- SI = right-most column
- DI = bottom-most row
- SeeAlso: AH=03h
- --------b-5F05-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - DRAW RECTANGLE
- AH = 05h
- AL = fill type
- 00h outline, using current line type and color
- 01h solid, using current color
- 02h pattern, using current fill mask and color
- DX,CX = row,column of other corner of rectangle
- Note: the rectangle is drawn starting at the current pen position
- SeeAlso: AH=01h,AH=06h,AH=07h
- --------b-5F06-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - DRAW LINE
- AH = 06h
- DX,CX = row,column of end point
- Note: the line is drawn starting at the current pen position
- SeeAlso: AH=05h,AH=07h
- --------b-5F07-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - PLOT POINT
- AH = 07h
- DX,CX = row,column of point
- Note: also sets pen position to the specified point
- SeeAlso: AH=06h,AH=08h,AH=0Ch
- --------b-5F08-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - MOVE PEN
- AH = 08h
- DX,CX = row,column of new pen position
- SeeAlso: AH=07h,AH=09h
- --------b-5F09-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET PEN COLOR
- AH = 09h
- AL = new color (00h = white, 01h = black)
- SeeAlso: AH=08h,AH=0Ah,AH=0Bh
- --------b-5F0A-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE
- AH = 0Ah
- AL = new replacement rule
- 00h force
- 01h AND
- 02h OR
- 03h XOR
- SeeAlso: AH=01h,AH=09h,AH=0Bh
- --------b-5F0B-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET LINE TYPE
- AH = 0Bh
- CX = new line type
- Note: the line type specifies 16 bits which are repeated over and over while
- drawing the pixels of a line
- SeeAlso: AH=09h,AH=0Ah
- --------b-5F0C-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - GET PIXEL
- AH = 0Ch
- DX,CX = row,column of pixel to read
- Return: AX = pixel color
- SeeAlso: AH=07h
- --------b-5F0D-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - GET IMAGE
- AH = 0Dh
- DX,CX = row,column of first corner
- BP,SI = row,column of second corner
- ES:DI -> image buffer (see below)
- Note: the specified corners are included in the saved image
- SeeAlso: AH=0Eh
-
- Format of image buffer:
- Offset Size Description
- 00h WORD number of planes (always 01h on HP 95LX)
- 02h WORD number of bits/pixel (always 01h on HP 95LX)
- 04h WORD image width in pixels
- 06h WORD image height in pixels
- 08h N BYTEs image data
- requires (WIDTH+7)/8 * HEIGHT bytes
- --------b-5F0E-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - PUT IMAGE
- AH = 0Eh
- AL = replacement rule
- bit 2: invert image before applying rule
- bits 1-0: 00 force
- 01 AND
- 10 OR
- 11 XOR
- DX,CX = row,column of top left corner
- ES:DI -> image buffer (see AH=0Dh)
- Note: if the specified image does not fit completely on the screen, this call
- does nothing
- SeeAlso: AH=0Dh
- --------b-5F0F-------------------------------
- INT 5F - HP 95LX GRAPHICS PRIMITIVES - WRITE TEXT
- AH = 0Fh
- AL = rotate flag (if nonzero, rotate 90 degrees counter-clockwise)
- DX,CX = row,column of first character's top left corner
- ES:DI -> ASCIZ text
- --------*-60---------------------------------
- INT 60 - reserved for user interrupt
- --------v-60---------------------------------
- INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK
- The "Zero Bug" virus hooks this vector. It considers itself installed if
- offset 103h of the handler's segment contains the bytes "ZE"
- SeeAlso: INT 32,INT 44"VIRUS",INT 61"SEMTEX"
- --------d-60---------------------------------
- INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
- SeeAlso: INT 61"Adaptec",INT 62"Adaptec",INT 63"Adaptec",INT 64"Adaptec"
- Notes: this vector stores the first four bytes of the parameter table for
- hard disk 0
- these vectors are used by the following Adaptec controllers:
- ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16
- these vectors are NOT used by the following Adaptec controllers:
- ACB 2310, ACB 2312, ACB 2320D, ACB 2322D
- --------b-60---------------------------------
- INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS
- supplies a number of subfunctions which perform such functions as drawing
- boxes and menus, and provide input line editing
- SeeAlso: INT 61"Atari"
- ----------60---------------------------------
- INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK
- Program: Nabbit is a shareware resident screen data grabber by RSE Inc.
- Note: Nabbit searches INT 60 through INT 66 for a vector which points at
- its ASCIZ signature string "iG" (69h 47h 00h), and uses the first
- free vector in that range it is it not already installed
- ----------60---------------------------------
- INT 60 - PC-IPC API
- STACK: DWORD pointer to parameter block (see below)
- Return: STACK: unchanged
- Program: PC-IPC is a shareware TSR by Donnelly Software Engineering which
- allows communication between independent programs
- Note: INT 60 is the default, any interrupt vector may be used by specifying
- the vector on the commandline
-
- Format of parameter block:
- Offset Size Description
- 00h WORD caller's ID
- 02h WORD to ID
- 04h WORD command code (see below)
- 06h WORD returned status
- bit 0: unused
- bit 1: IPC enabled
- bit 2: IPC installed
- bit 3: error
- bit 4: message(s) available
- 08h WORD returned error code (see below)
- 0Ah WORD size of data
- 0Ch DWORD pointer to data buffer
-
- Values of command code:
- 01h "IPC_CMND_INQUIRE" inquire current status
- set status field, writes WORD to data buffer containing free
- message space in bytes, and sets the "size" field to the
- number of messages waiting
- 02h "IPC_CMND_ENABLE" reenable PC-IPC
- ignored unless called with the same ID that disabled PC-IPC
- 03h "IPC_CMND_DISABLE" disable PC-IPC
- 04h "IPC_CMND_INSTALL" reset PC-IPC
- 06h "IPC_CMND_RDATA" read data
- returns first message in data buffer, sets "size" to message
- length and "to ID" field to sender's ID
- if no messages available, bit 4 of status is cleared and "size"
- is set to zero
- 07h "IPC_CMND_SDATA" send data
- 08h "IPC_CMND_REQID" require user ID
- create a new recognized ID and return in "caller's ID" field
- 09h "IPC_CMND_DELID" cancel user ID
- delete caller's ID from pool of recognized IDs
- 0Ah "IPC_CMND_RDATAW" read data, wait if no messages available
- 0Bh "IPC_CMND_VERS" get PC-IPC version
- string representing version returned in data buffer, "size"
- field set to length of string
-
- Values for error code:
- 00h no error
- 01h invalid command or parameter
- 02h only process 0 can install/reset IPC
- 03h process can not install/reset IPC
- 04h IPC is not enabled
- 05h process can not disable IPC
- 06h invalid destination process ID
- 07h invalid sending process ID
- 08h invalid data destination
- 09h no more process IDs available
- 0Ah can not relinquish that process ID
- 0Bh message space is full
- 0Ch IPC is not installed
- --------R-60---------------------------------
- INT 60 - Tangram Arbiter - API
- Notes: Arbiter may use any interrupt from 60h to 66h (parameterized)
- identified by string "@ARB_API" immediately following a short jump at
- the interrupt handler address
- Arbiter makes a PC disk look like a slow disk over an SNA link to an
- IBM mainframe
- --------G-60---------------------------------
- INT 60 U - INTRSPY/CMDSPY API
- Program: INTRSPY is a script-driven debugger included with the book
- _Undocumented_DOS_.
- Notes: INTRSPY will hook the first available interrupt in the range 60h-67h.
- The installation check is to
- a) determine that the handler is an IRET instruction
- b) the signature 0Dh "INTRSPY vN.NN" immediately precedes the handler
- If INTRSPY is installed, the DWORD immediately after the IRET stores
- its entry point.
- Index: installation check;INTRSPY
-
- Call INTRSPY entry point with:
- AH = function
- 00h ???
- 01h set current directory (for use in reporting)
- ES:DI -> counted string containing directory name (max 79 char)
- 02h set name of script file
- ES:DI -> counted string containing file name (max 79 chars)
- 03h set script arguments
- ES:DI -> counted string containing arguments (max 79 chars)
- 04h get directory set with function 01h
- ES:DI -> 80-byte buffer for directory name
- 05h get name of script file
- ES:DI -> 80-byte buffer for script filename
- 06h get script arguments
- ES:DI -> 80-byte buffer for script arguments
- 07h get ???
- CL = 00h-15h specifies what to get
- ES:DI -> WORD to be set with desired value on return
- 08h get ???
- ES:DI -> WORD to be set with returned value
- 09h get ???
- ES:DI -> WORD to be set with returned value
- 0Bh store code for interrupt handler???
- ES:DI -> data
- CX = number of bytes
- 0Ch ???
- ES:DI -> ???
- 0Dh get ???
- ES:DI -> BYTE to be set with returned value
- 0Eh set ??? flag
- 0Fh clear ??? flag
- 10h ???
- Return: AL = 04h or 05h if failed
- 11h ???
- Return: AL = 05h if failed
- 12h get ???
- ES:DI -> buffer
- Return: CX = number of bytes returned in buffer
- 13h ???
- Return: AH = 00h
- AL = status
- 00h successful
- 01h invalid function
- 02h ???
- 03h ???
- 04h ???
- 05h ???
- --------u-60---------------------------------
- INT 60 U - PC/370 v4.2 - ???
- ???
- Return: ???
- Program: PC/370 is an IBM 370 emulator by Donald S. Higgins
- Note: this is the default interrupt, however the documentation includes
- instructions for patching the system for another interrupt
- SeeAlso: INT 2F/AX=7F24h,INT DC"PC/370"
- --------r-60---------------------------------
- INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
- SeeAlso: INT 61"JPI"
- --------N-60---------------------------------
- INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
- Notes: The handler for the interrupt will start with a 3-byte jump
- instruction, followed by the ASCIZ string "PKT DRVR" (the
- terminating NUL is significant).
- To find the interrupt being used by the driver, an application should
- scan through interrupt vectors 60h to 80h (20h through FFh for
- v1.10+ of the specification) until it finds one with the "PKT DRVR"
- string.
- AH values of 80h to FFh have been reserved for user-defined additions.
- --------b-60----DI0100-----------------------
- INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
- DI = 0100h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to event record (see below)
- Return: event record filled
- STACK unchanged
- Note: this call will timeout after about 500ms
- SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0101h,INT 61"HP 95LX",INT 62"HP 95LX"
-
- Format of event record:
- Offset Size Description
- 00h WORD event type
- 00h no events
- 01h keystroke available
- 02h Ctrl-Break
- 03h reactivation (always follows deactivation event)
- 04h about to deactivate (sleep)
- next get-event call will not return until reactivated
- 05h forced application termination
- 06h 1-2-3 bridge service request (only given to 1-2-3)
- 07h request to grow
- 08h request to shrink
- 09h application's alarm expired
- 0Ah daily chance to set an alarm
- 0Bh system date or time has been changed
- 02h WORD ASCII code page 850 translation of keystroke
- or grow/shrink amount in paragraphs or 0000h if error
- or alarm expiration data
- 04h BYTE scan code from BIOS
- 05h BYTE shift key states at time keystroke is retrieved
- 06h WORD LICS translation of keystroke
- 08h BYTE function key number (1-2-3 only)
- 09h DWORD pointer to 1-2-3 bridge record (see INT 60/DI=0104h)
- or pointer to time change structure (see below)
- Note: if the System Manager is waiting the conclusion of a bridge service
- or grow/shrink call and the event type field is set to FFFFh on
- entry, the SysMgr will resume
-
- Format of time change structure:
- Offset Size Description
- 00h WORD old year
- 02h BYTE old month
- 03h BYTE old date
- 04h BYTE old day
- 05h BYTE old hour
- 06h BYTE old minute
- 07h BYTE old second
- 08h BYTE old hundredth of a second
- 09h 9 BYTEs new time in same format as old time
- --------b-60----DI0101-----------------------
- INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
- DI = 0101h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to event record (INT 60/DI=0100h)
- Return: event record filled
- STACK unchanged
- Note: this call returns immediately if no event is available
- SeeAlso: INT 60/DI=0100h
- --------b-60----DI0102-----------------------
- INT 60 u - HP 95LX System Manager - "SH_STATUS"
- DI = 0102h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI0104-----------------------
- INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
- DI = 0104h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to bridge record (see below)
- Return: ???
- STACK unchanged
-
- Format of bridge record:
- Offset Size Description
- 00h WORD function code
- 00h test
- 01h get range
- 02h "GETRANGE_ADDR"
- 03h "SETRANGE_ADDR"
- 04h "GETRANGE_DATA"
- 05h "SETRANGE_DATA"
- 06h recalculate
- 07h get cursor
- 08h set cursor
- 09h redisplay
- 0Ah cell type
- 0Bh "CALCTYPE"
- 02h WORD return code from 1-2-3
- 04h 16 BYTEs ASCII range name
- 14h WORD start column of range
- 16h WORD start row of range
- 18h WORD end column of range
- 1Ah WORD end row of range
- 1Ch WORD order in which data is placed in buffer
- 1Eh WORD buffer size
- 20h WORD offset within bridge record's segment of buffer for cell data
- --------b-60----DI0105-----------------------
- INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
- DI = 0105h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI0106-----------------------
- INT 60 u - HP 95LX System Manager - YIELD CPU
- DI = 0106h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=1000h,INT 2F/AX=1680h
- --------b-60----DI0107-----------------------
- INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
- DI = 0107h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI0200-----------------------
- INT 60 u - HP 95LX System Manager - SETUP MENU
- DI = 0200h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to menu data (see below)
- DWORD pointer to ???
- WORD number of items on menu???
- WORD ???
- DWORD pointer to ???
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0201h,INT 60/DI=0203h,INT 60/DI=0205h
-
- Format of menu data:
- Offset Size Description
- 00h 80 BYTEs first line of menu text
- 50h 80 BYTEs second line of menu text
- A0h 80 BYTEs third line of menu text
- F0h WORD number of keywords
- F2h WORD index of currently highlighted keyword or FFFFh
- F4h WORD single prompt on top line if nonzero
- F6h 20 BYTEs which line each of 20 keywords is located on
- 10Ah 20 BYTEs offset of each of 20 keywords within its line
- 11Eh 20 BYTEs length of each of 20 keywords
- 132h 20 BYTEs first letter of each of 20 keywords
- 146h 20 WORDs offsets of long prompts for each of 20 keywords
- --------b-60----DI0201-----------------------
- INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
- DI = 0201h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to menu data (see INT 60/DI=0200h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0206h
- --------b-60----DI0202-----------------------
- INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
- DI = 0202h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to menu data (see INT 60/DI=0200h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0200h,INT 60/DI=0201h,INT 60/DI=0203h
- --------b-60----DI0203-----------------------
- INT 60 u - HP 95LX System Manager - REMOVE MENU
- DI = 0203h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to menu data (see INT 60/DI=0200h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0201h,INT 60/DI=0202h,INT 60/DI=0204h,INT 60/DI=0208h
- --------b-60----DI0204-----------------------
- INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE
- DI = 0204h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to menu data (see INT 60/DI=0200h)
- WORD keystroke
- DWORD pointer to WORD to receive selection number
- Return: buffer for selection number filled with index of selected menu item or
- FFFFh if no final selection yet
- STACK unchanged
- SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0207h
- --------b-60----DI0205-----------------------
- INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU
- DI = 0205h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file menu structure (see below)
- DWORD pointer to edit record (see INT 60/DI=0400h)
- DWORD pointer to wildcard filespec for initial file list
- WORD row???
- WORD column???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0200h,INT 60/DI=0206h,INT 60/DI=0208h
-
- Format of file menu structure:
- Offset Size Description
- 00h DWORD pointer to ASCIZ base directory name
- 04h DWORD pointer to ASCIZ file pattern (wildcard filespec)
- 08h DWORD pointer to file list workspace, at least 1024 bytes (see below)
- 0Ch WORD size of file list workspace in bytes
- 0Eh WORD starting row (-3 is topmost, 0 is first non-"reserved" line)
- 10h WORD starting column
- 12h WORD number of lines
- 14h WORD number of columns
- 16h WORD number of files displayed on each line
- ---the remaining fields are initialized by the System Manager---
- 18h WORD 0000h if first edit character, else multiline
- 1Ah WORD number of files in file list
- 1Ch WORD max files workspace has room for
- 1Eh WORD file at top of list
- 20h WORD index of file to highlight
- 22h WORD index of file to unhighlight
- 24h WORD current focus (01h FMENU, 02h EDIT)
-
- Format of file list workspace entry:
- Offset Size Description
- 00h BYTE file attributes
- 01h WORD file time (see INT 21/AX=5700h)
- 03h WORD file date (see INT 21/AX=5700h)
- 05h DWORD file size
- 09h 13 BYTEs ASCIZ filename
- --------b-60----DI0206-----------------------
- INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU
- DI = 0206h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file menu structure (see INT 60/DI=0205h)
- DWORD pointer to edit record (see INT 60/DI=0400h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0205h
- --------b-60----DI0207-----------------------
- INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE
- DI = 0207h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file menu structure (see INT 60/DI=0205h)
- DWORD pointer to edit record (see INT 60/DI=0400h)
- WORD keystroke
- Return: AX = status
- 0000h keystroke processed, call INT 60/DI=0206h to refresh menu
- 0001h redisplay application area before refreshing menu
- 0002h user confirmed selection, filename is in edit record's buffer
- 0003h user aborted menu
- FFFBh bad filename
- FFFCh bad directory
- FFFDh bad drive
- FFFEh unknown keystroke
- FFFFh keystroke known but invalid in current context
- STACK unchanged
- SeeAlso: INT 60/DI=0205h,INT 60/DI=0208h
- --------b-60----DI0208-----------------------
- INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU
- DI = 0208h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file menu structure (see INT 60/DI=0205h)
- DWORD pointer to edit record (see INT 60/DI=0400h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0205h,INT 60/DI=0206h
- --------b-60----DI0300-----------------------
- INT 60 u - HP 95LX System Manager - DISPLAY STRING
- DI = 0300h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD starting row (-3 is topmost, 0 is first user line)
- WORD starting column
- DWORD pointer to string
- WORD length of string
- WORD display style: 0000h normal, 0001h reverse video
- WORD "OSTYLE"
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0F03h,INT 60/DI=1005h
- --------b-60----DI0301-----------------------
- INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN
- DI = 0301h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD starting row (-3 is topmost, 0 is first user line)
- WORD starting column
- WORD number of rows
- WORD number of columns
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0302h,INT 60/DI=1005h
- --------b-60----DI0302-----------------------
- INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN
- DI = 0302h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD starting row???
- WORD starting column???
- WORD height of scroll region???
- WORD width of scroll region???
- WORD number of lines to scroll region???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0301h
- --------b-60----DI0303-----------------------
- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"
- DI = 0303h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- WORD ???
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0304-----------------------
- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"
- DI = 0304h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0305-----------------------
- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"
- DI = 0305h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0307-----------------------
- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"
- DI = 0307h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0308-----------------------
- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"
- DI = 0308h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI0309-----------------------
- INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE
- DI = 0309h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD new mode
- Return: ???
- STACK unchanged
- --------b-60----DI030A-----------------------
- INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE
- DI = 030Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI030B-----------------------
- INT 60 u - HP 95LX System Manager - SET CURSOR POSITION
- DI = 030Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD row (-3 is topmost, 0 is first non-reserved line)
- WORD column
- Return: ???
- STACK unchanged
- Note: cursor is hidden if the specified position is not on the physical
- display
- SeeAlso: INT 10/AH=02h,INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI0400-----------------------
- INT 60 u - HP 95LX System Manager - "EDIT_INIT"
- DI = 0400h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to edit record (see below)
- DWORD pointer to string to be edited
- WORD initial length of string being edited
- WORD maximum length of edited string
- WORD row of edit field
- WORD leftmost column of edit field
- Return: ???
- STACK unchanged
-
- Format of edit record:
- Offset Size Description
- 00h WORD current length of edit buffer
- 02h BYTE flag for special processing on first character
- 03h BYTE flags
- bit 0: tab handling
- 04h WORD editing in prompt window?
- 06h DWORD pointer to top line of prompt window message
- 0Ah WORD length of top line of prompt
- 0Ch DWORD pointer to second line of prompt window message
- 10h WORD length of second line of prompt
- 12h 80 BYTEs workspace for editing
- 62h 2 WORDs line array needed for multi-line editing
- 66h 36 BYTEs multi-line edit record (see below)
- 8Ah WORD displayable columns
-
- Format of multi-line edit record:
- Offset Size Description
- 00h DWORD pointer to user-supplied edit buffer
- 04h WORD length of edit buffer
- 06h WORD current cursor position
- 08h WORD starting row of edit area (-3 is topmost, 0 is first user line)
- 0Ah WORD starting column of edit area
- 0Ch WORD height of edit area
- 0Eh WORD width of edit area
- 10h WORD current top row (-3 is topmost, 0 is first user line)
- 12h WORD number of rows displayable
- 14h BYTE cursor column
- 15h BYTE 01h if buffer has been modified
- 16h BYTE first displayable column (ticker fields only)
- 17h BYTE 01h if wordwrap enabled, FFh if ticker field
- 18h DWORD pointer to array of line starts (at least one bigger than edit
- area is high)
- 1Ch BYTE currently marking?
- 1Dh BYTE flag
- 1Eh WORD offset of mark start
- 20h WORD offset of mark end (inclusive)
- 22h WORD displayable columns
- --------b-60----DI0401-----------------------
- INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE
- DI = 0401h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to edit record (see INT 60/DI=0400h)
- DWORD pointer to string to edit
- WORD initial length of string being edited
- WORD maximum length of edited string
- DWORD pointer to first line of prompt
- WORD length of first line
- DWORD pointer to second line of prompt
- WORD length of second line
- Return: ???
- STACK unchanged
- --------b-60----DI0402-----------------------
- INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD
- DI = 0402h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to edit record (see INT 60/DI=0400h)
- Return: ???
- STACK unchanged
- --------b-60----DI0403-----------------------
- INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK
- DI = 0403h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to edit record (see INT 60/DI=0400h)
- WORD keystroke
- DWORD pointer to WORD buffer for result code
- Return: result code buffer filled with 0001h if editing complete
- STACK unchanged
- --------b-60----DI0404-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_INI"
- DI = 0404h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- WORD ???
- WORD ???
- DWORD pointer to ???
- WORD ???
- WORD ???
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0405-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_DIS"
- DI = 0405h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0406-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_KEY"
- DI = 0406h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0407-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_FIL"
- DI = 0407h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0408-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_MARK"
- DI = 0408h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0409-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_UNMARK"
- DI = 0409h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI040A-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK"
- DI = 040Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI040B-----------------------
- INT 60 u - HP 95LX System Manager - "MDIT_INS_STR"
- DI = 040Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI0500-----------------------
- INT 60 u - HP 95LX System Manager - OPEN FILE
- DI = 0500h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see below)
- DWORD pointer to filename
- WORD length of filename
- WORD ???
- WORD suppress buffering if nonzero
- Return: AX = status
- STACK unchanged
- SeeAlso: INT 60/DI=0501h,INT 60/DI=0502h,INT 60/DI=0508h
-
- Format of file state record:
- Offset Size Description
- 00h WORD DOS file handle
- 02h WORD flags
- bit 0: buffer contents valid
- bit 1: buffer is dirty and must be written
- bit 2: unbuffered I/O
- bit 3: file is a character device
- 04h DWORD current DOS physical file offset (FFFFFFFFh if unknown)
- 08h DWORD DOS file offset of start of buffer
- 0Ch DWORD effective file offset as seen by caller
- 10h WORD number of bytes in file buffer
- ---buffered I/O only---
- 12h 512 BYTEs file buffer
- --------b-60----DI0501-----------------------
- INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE
- DI = 0501h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- DWORD pointer to filename
- WORD length of filename
- WORD ???
- WORD suppress buffering if nonzero
- Return: AX = status
- STACK unchanged
- SeeAlso: INT 60/DI=0500h
- --------b-60----DI0502-----------------------
- INT 60 u - HP 95LX System Manager - CREATE NEW FILE
- DI = 0502h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- DWORD pointer to filename
- WORD length of filename
- WORD ???
- WORD suppress buffering if nonzero
- Return: AX = status
- STACK unchanged
- SeeAlso: INT 60/DI=0500h,INT 60/DI=0503h
- --------b-60----DI0503-----------------------
- INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE
- DI = 0503h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- DWORD pointer to filename
- WORD length of filename
- WORD ???
- WORD suppress buffering if nonzero
- Return: AX = status
- STACK unchanged
- SeeAlso: INT 60/DI=0502h
- --------b-60----DI0504-----------------------
- INT 60 u - HP 95LX System Manager - READ FROM FILE
- DI = 0504h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- DWORD pointer to data buffer
- WORD number of bytes to read
- DWORD pointer to WORD in which to return actual bytes read
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0505h
- --------b-60----DI0505-----------------------
- INT 60 - HP 95LX System Manager - WRITE TO FILE
- DI = 0505h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- DWORD pointer to data
- WORD length of data
- Return: AX = status
- STACK unchanged
- SeeAlso: INT 60/DI=0504h
- --------b-60----DI0506-----------------------
- INT 60 u - HP 95LX System Manager - SET FILE POSITION
- DI = 0506h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0507h
- --------b-60----DI0507-----------------------
- INT 60 u - HP 95LX System Manager - GET FILE POSITION
- DI = 0507h "M_TELL"
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- DWORD pointer to DWORD buffer for file position???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0506h
- --------b-60----DI0508-----------------------
- INT 60 u - HP 95LX System Manager - CLOSE FILE
- DI = 0508h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to file state record (see INT 60/DI=0500h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0500h
- --------b-60----DI0509-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT"
- DI = 0509h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI050A-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH"
- DI = 050Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
-
- Format of pattern match control block:
- Offset Size Description
- 00h 43 BYTEs FindFirst data block (see INT 21/AH=4Eh)
- 2Bh 80 BYTEs full path name
- 7Bh BYTE offset of last component of filename
- 7Ch BYTE DOS function number (4Eh or 4Fh)
- --------b-60----DI050B-----------------------
- INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT
- DI = 050Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
-
- Values returned:
- 0000h nonexistent
- 0001h file
- 0002h directory
- 0003h character device
- --------b-60----DI050C-----------------------
- INT 60 u - HP 95LX System Manager - DELETE FILE
- DI = 050Ch "M_DELETE"
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI050D-----------------------
- INT 60 u - HP 95LX System Manager - RENAME FILE
- DI = 050Dh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- DWORD pointer to ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI050E-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR"
- DI = 050Eh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI050F-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR"
- DI = 050Fh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0510-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME"
- DI = 0510h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0511-----------------------
- INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY
- DI = 0511h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0512-----------------------
- INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY
- DI = 0512h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0513-----------------------
- INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE
- DI = 0513h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ??? buffer for current drive
- Return: ???
- STACK unchanged
- --------b-60----DI0514-----------------------
- INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE
- DI = 0514h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD new drive
- Return: ???
- STACK unchanged
- --------b-60----DI0515-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE"
- DI = 0515h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0516-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR"
- DI = 0516h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0517-----------------------
- INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES
- DI = 0517h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- DWORD pointer to ??? buffer for file's attributes???
- Return: ???
- STACK unchanged
- --------b-60----DI0518-----------------------
- INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES
- DI = 0518h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- WORD new attributes???
- Return: ???
- STACK unchanged
- --------b-60----DI0519-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN"
- DI = 0519h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- WORD ???
- WORD ???
- WORD ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI051A-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT"
- DI = 051Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI051B-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT"
- DI = 051Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI051C-----------------------
- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT"
- DI = 051Ch
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0600-----------------------
- INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING
- DI = 0600h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0601h,INT 61"HP 95LX"
- --------b-60----DI0601-----------------------
- INT 60 u - HP 95LX System Manager - PROCESS TERMINATION
- DI = 0601h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: never
- STACK unchanged
- SeeAlso: INT 21/AH=4Ch,INT 60/DI=0600h
- --------b-60----DI0602-----------------------
- INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES
- DI = 0602h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=101Bh,INT 60/DI=0603h
- --------b-60----DI0603-----------------------
- INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES
- DI = 0603h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=101Ch,INT 60/DI=0602h
- --------b-60----DI0604-----------------------
- INT 60 u - HP 95LX System Manager - "M_SPAWN"
- DI = 0604h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0605-----------------------
- INT 60 u - HP 95LX System Manager - "M_APPCOUNT"
- DI = 0605h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI0606-----------------------
- INT 60 u - HP 95LX System Manager - "M_REBOOT"
- DI = 0606h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI0607-----------------------
- INT 60 u - HP 95LX System Manager - "M_SPAWNARG"
- DI = 0607h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0608-----------------------
- INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME"
- DI = 0608h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0609-----------------------
- INT 60 u - HP 95LX System Manager - "M_APP_NAME"
- DI = 0609h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: DX:AX -> ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI0700-----------------------
- INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD
- DI = 0700h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0701h,INT 60/DI=0702h
-
- Values for error code:
- 0000h successful
- FFF8h transfer request out of bounds
- FFF9h no such representation
- FFFAh no representation open
- FFFBh a representation is already open
- FFFCh representation already exists
- FFFDh heap allocation failure
- FFFEh clipboard not open
- FFFFh clipboard access denied
- --------b-60----DI0701-----------------------
- INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD
- DI = 0701h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0700h,INT 60/DI=0702h
- --------b-60----DI0702-----------------------
- INT 60 u - HP 95LX System Manager - RESET CLIPBOARD
- DI = 0702h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0700h
- --------b-60----DI0704-----------------------
- INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION???
- DI = 0704h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0705h,INT 60/DI=0706h,INT 60/DI=0707h
- --------b-60----DI0705-----------------------
- INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP"
- DI = 0705h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0704h
- --------b-60----DI0706-----------------------
- INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME"
- DI = 0706h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0704h,INT 60/DI=0707h
- --------b-60----DI0707-----------------------
- INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX"
- DI = 0707h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0704h,INT 60/DI=0706h
- --------b-60----DI0708-----------------------
- INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD
- DI = 0708h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to data to be written???
- WORD length of data???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0709h
- --------b-60----DI0709-----------------------
- INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD
- DI = 0709h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- DWORD pointer to buffer for data???
- WORD length of buffer???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0708h
- --------b-60----DI0800-----------------------
- INT 60 u - HP 95LX System Manager - BEEP
- DI = 0800h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0801h,INT 60/DI=0802h,INT 60/DI=0803h
- --------b-60----DI0801-----------------------
- INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD"
- DI = 0801h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0800h,INT 60/DI=0802h,INT 60/DI=0803h
- --------b-60----DI0802-----------------------
- INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN
- DI = 0802h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD pattern number (00h-06h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0803h
- --------b-60----DI0803-----------------------
- INT 60 u - HP 95LX System Manager - TURN OFF SOUND
- DI = 0803h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0802h
- --------b-60----DI0900-----------------------
- INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK
- DI = 0900h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD size of block in bytes
- Return: AX -> memory block
- STACK unchanged
- Note: System Manager-compliant applications are always small-model (64K code,
- 64K data)
- SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0902h,INT 60/DI=0903h
- --------b-60----DI0902-----------------------
- INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK
- DI = 0902h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD offset of memory block???
- Return: ???
- STACK unchanged
- Note: System Manager-compliant applications are always small-model (64K code,
- 64K data)
- SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h
- --------b-60----DI0903-----------------------
- INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK
- DI = 0903h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD size of block in bytes???
- Return: AX -> memory block???
- STACK unchanged
- SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h
- --------b-60----DI0904-----------------------
- INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK
- DI = 0904h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD segment of memory block???
- Return: AX -> ???
- STACK unchanged
- SeeAlso: INT 60/DI=0902h,INT 60/DI=0903h
- --------b-60----DI0B00-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO"
- DI = 0B00h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B01-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM"
- DI = 0B01h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B02-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM"
- DI = 0B02h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B03-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM"
- DI = 0B03h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B04-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM"
- DI = 0B04h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to alarm record???
- WORD ???
- Return: ???
- STACK unchanged
-
- Format of alarm record:
- Offset Size Description
- 00h BYTE hour
- 01h BYTE minute
- 02h BYTE second
- 03h BYTE unused padding
- 04h WORD rescheduling interval, in seconds
- 06h BYTE are seconds significant?
- 07h BYTE alarm sound
- 08h 40 BYTEs message displayed when alarm activates
- 30h BYTE task ID of owner
- 31h BYTE application's own use for sub-class
- 32h 4 BYTEs application's own use for private data
- --------b-60----DI0B05-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW"
- DI = 0B05h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B06-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW"
- DI = 0B06h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B07-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW"
- DI = 0B07h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B08-----------------------
- INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP
- DI = 0B08h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD timestamp format (see below)
- WORD row (-3 is topmost, 0 is first non-reserved line)
- WORD column
- Return: ???
- STACK unchanged
-
- Bitfields for timestamp format:
- bits 1-0
- 00 date only
- 01 time only
- 10 date and time
- 11 day and date
- bit 4 supply am/pm
- bit 5 supply seconds
- bit 6 show year
- bit 7 four-digit year
- --------b-60----DI0B09-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS"
- DI = 0B09h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0B0Ah,INT 60/DI=0B0Fh
-
- Format of system settings:
- Offset Size Description
- 00h WORD country code
- 02h WORD speaker volume (00h-03h or FFh for off)
- 04h WORD contrast level (00h-0Fh)
- 06h WORD week start (00h Sunday, 01h Monday)
- 08h WORD punctuation format
- code decimal arg thousands
- 00h . , ,
- 01h , . .
- 02h . ; ;
- 03h , ; .
- 04h . , " "
- 05h , . " "
- 06h . ; " "
- 07h , ; " "
- 0Ah WORD two-character language code (only 5355h = "US" byte-swapped)
- 0Ch WORD current date format (see below)
- 0Eh WORD current time format (see below)
- 10h WORD collating sequence
- 00h numbers first, 01h letters first, 02h ASCII
- 12h 80 BYTEs name of picture file
- 62h 30 BYTEs name
- 80h 30 BYTEs title
- 9Eh 28 BYTEs company name
- BAh WORD number of languages
- BCh 6 BYTEs available languages
- C2h 66 BYTEs language menu
- 104h 2 BYTEs ASCIZ date separator
- 106h 2 BYTEs ASCIZ time separator
- 108h BYTE date order
- 109h BYTE use 24 hour time?
- 10Ah 16 BYTEs currency string
- 11Ah WORD currency string position (00h prefix, 01h suffix)
- 11Ch WORD keyboard (see below)
- 11Eh WORD printer baud rate
- 00h 300, 01h 1200, 02h 2400, 03h 4800, 04h 9600, 05h 19200
- 120h WORD printer driver code
- 00h Epson FX80, 01h HP Laserjet, 02h IBM ProPrinter
- 122h WORD printer interface (00h COM1, 01h COM2, 02h IR, 03h LPT1)
- 124h WORD system manager interrupt (60h by default)
- 126h WORD code page (01h CP850, 02h CP437)
- 128h WORD active exit key
- 12Ah WORD active menu key
- 12Ch WORD active CHAR key toggle
- 12Eh 6 BYTEs alarm
-
- Values for current date format:
- 00h dd-mmm-yy
- 01h dd-mmm
- 02h mmm-yy
- 03h mm/dd/yy
- 04h dd/mm/yy
- 05h dd.mm.yy
- 06h yy-mm-dd
- 07h mm/dd
- 08h dd/mm
- 09h dd.mm
- 0Ah mm-dd
-
- Values for current time format:
- 00h HH:MM:SS am/pm
- 01h HH:MM am/pm
- 02h HH:MM:SS
- 03h HH.MM.SS
- 04h HH,MM,SS
- 05h HHhMMmSSs
- 06h HH:MM
- 07h HH.MM
- 08h HH,MM
- 09h HHhMMm
-
- Values for keyboard:
- 0001h Belgium
- 0002h French Canadian
- 0004h Denmark
- 0008h Finland
- 0010h French
- 0020h Finland
- 0040h Italy
- 0080h Netherlands
- 0100h Norway
- 0200h Portugal
- 0400h Spain
- 0800h Sweden
- 1000h Swiss French
- 2000h Swiss German
- 4000h United Kingdom
- 8000h USA
- --------b-60----DI0B0A-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS"
- DI = 0B0Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0B09h
- --------b-60----DI0B0B-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER"
- DI = 0B0Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0B0Ch,INT 60/DI=0B0Dh
- --------b-60----DI0B0C-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER"
- DI = 0B0Ch
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Dh
- --------b-60----DI0B0D-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER"
- DI = 0B0Dh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Ch
- --------b-60----DI0B0E-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME"
- DI = 0B0Eh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- WORD ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: DX:AX -> ???
- STACK unchanged
- --------b-60----DI0B0F-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR"
- DI = 0B0Fh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: DX:AX -> system settings record (see INT 60/DI=0B09h)
- STACK unchanged
- SeeAlso: INT 60/DI=0B09h
- --------b-60----DI0B10-----------------------
- INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION
- DI = 0B10h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B11-----------------------
- INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION
- DI = 0B11h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0B12-----------------------
- INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE
- DI = 0B12h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD new parsing rule (see below)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0B13h
-
- Values for new parsing rule:
- 01h day-month-year
- 02h month-day-year
- 03h year-month-day
- 04h "DMYO"
- 05h "MDYO"
- OR with 08h to get any year
- --------b-60----DI0B13-----------------------
- INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE
- DI = 0B13h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD new parsing rule (see below)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0B12h
-
- Values for new parsing rule:
- 01h HH:MM:SS (am/pm)
- 02h HH:MM:SS (24hr)
- 03h HHMM:SS (24hr)
- 04h HH:MM:SS.hh (24hr)
- 05h HH:MM (am/pm)
- 06h HH:MM (24hr)
- 07h HHMM (24hr)
- --------b-60----DI0B14-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME"
- DI = 0B14h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI0B15-----------------------
- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER"
- DI = 0B15h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI0C00-----------------------
- INT 60 u - HP 95LX System Manager - OPEN PRINTER
- DI = 0C00h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0C01h,INT 60/DI=0C02h,INT 60/DI=0C03h
- --------b-60----DI0C01-----------------------
- INT 60 u - HP 95LX System Manager - CLOSE PRINTER
- DI = 0C01h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- Note: relinquishes control of printer
- SeeAlso: INT 60/DI=0C00h
- --------b-60----DI0C02-----------------------
- INT 60 u - HP 95LX System Manager - WRITE TO PRINTER
- DI = 0C02h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to data to be written
- WORD length of data
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0C00h
- --------b-60----DI0C03-----------------------
- INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER
- DI = 0C03h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0C00h
- --------b-60----DI0C04-----------------------
- INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER"
- DI = 0C04h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0C05-----------------------
- INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER"
- DI = 0C05h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI0E00-----------------------
- INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT"
- DI = 0E00h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E01h,INT 60/DI=0E02h
-
- Values for error code:
- 0000h successful
- FFF1h "E_BUSY"
- FFF2h timeout
- FFF3h framing error
- FFF4h parity error
- FFF5h overrun error
- FFF6h "E_EMPTY"
- FFF7h "E_CONECT"
- FFF8h not open
- FFF9h out of memory
- FFFAh buffer overflow
- FFFBh "E_NOFIT"
- FFFCh unsupported
- FFFDh "E_IVOPR"
- FFFEh "E_IVCHN"
- FFFFh "E_REOPEN"
- --------b-60----DI0E01-----------------------
- INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL
- DI = 0E01h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to WORD buffer for comm channel handle
- WORD communications line number (01h-04h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E02h
- --------b-60----DI0E02-----------------------
- INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL
- DI = 0E02h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD comm channel handle
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E01h
- --------b-60----DI0E03-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM"
- DI = 0E03h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E04-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER"
- DI = 0E04h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E05-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_DIAL"
- DI = 0E05h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E06-----------------------
- INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL
- DI = 0E06h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD comm channel handle
- WORD reset options (see below)
- Return: ???
- STACK unchanged
-
- Bitfields for reset options:
- bit 0 reset line
- bit 1 flush transmit buffer
- bit 2 flush receive buffer
- bit 3 reset modem
- bit 4 reset receiver's ^S state
- bit 5 reset transmitter's ^S state
- --------b-60----DI0E07-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP"
- DI = 0E07h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E08-----------------------
- INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL
- DI = 0E08h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD comm channel handle
- DWORD pointer to data to be sent
- WORD option flags
- bit 0: send partial buffer
- bit 1: turn on receiver after sending
- DWORD pointer to WORD containing length of data to be sent
- Return: length WORD updated to contain number of bytes actually sent???
- STACK unchanged
- SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh
- --------b-60----DI0E09-----------------------
- INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE
- DI = 0E09h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ??? WORD
- DWORD pointer to ??? WORD
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E0Ah
- --------b-60----DI0E0A-----------------------
- INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE
- DI = 0E0Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD comm channel handle
- DWORD pointer to WORD to get receive buffer size
- DWORD pointer to WORD to get free bytes in receive buffer
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh
- --------b-60----DI0E0B-----------------------
- INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL
- DI = 0E0Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD comm channel handle
- DWORD pointer to data buffer
- DWORD pointer to WORD (input) length of data buffer
- (output) number of bytes received
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E08h,INT 60/DI=0E0Ah
- --------b-60----DI0E0C-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD"
- DI = 0E0Ch
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E0D-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_COMAND"
- DI = 0E0Dh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E0E-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_BREAK"
- DI = 0E0Eh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E0F-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON"
- DI = 0E0Fh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E10-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF"
- DI = 0E10h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E11-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR"
- DI = 0E11h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E12-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG"
- DI = 0E12h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E13-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_STATUS"
- DI = 0E13h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E14-----------------------
- INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS
- DI = 0E14h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD comm channel handle
- DWORD pointer to comm settings (see below)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E15h
-
- Format of comm settings:
- Offset Size Description
- 00h BYTE dial type ('T' tone, 'P' pulse)
- 01h WORD baud rate divisor (115200/baud_rate)
- 03h BYTE parity (00h none, 08h odd, 18h even, 28h mark, 38h space)
- 04h BYTE stop bits (00h one, 04h two)
- 05h BYTE data bits - 5
- 06h BYTE software handshake
- 01h none, 02h XOFF/XON, 04h XOFF/any, 08h ENQ/ACK
- 07h BYTE infrared (01h off, 02h on)
- 08h BYTE duplex (01h half, 02h full)
- 09h BYTE echo (01h echo, 02h no echo)
- --------b-60----DI0E15-----------------------
- INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS
- DI = 0E15h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to buffer for settings (see INT 60/DI=0E14h)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0E14h
- --------b-60----DI0E16-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR"
- DI = 0E16h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- WORD ???
- WORD ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI0E17-----------------------
- INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR"
- DI = 0E17h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI0F00-----------------------
- INT 60 u - HP 95LX System Manager - "M_ERRMSG"
- DI = 0F00h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- DWORD pointer to ???
- WORD ???
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0F01-----------------------
- INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX
- DI = 0F01h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ASCIZ title string
- Return: ???
- STACK unchanged
- --------b-60----DI0F02-----------------------
- INT 60 u - HP 95LX System Manager - "SHOWNAME"
- DI = 0F02h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI0F03-----------------------
- INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX
- DI = 0F03h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to first line of message
- WORD length of first line
- DWORD pointer to second line of message
- WORD length of second line
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0300h,INT 60/DI=0F04h,INT 60/DI=0F09h
- --------b-60----DI0F04-----------------------
- INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX
- DI = 0F04h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F09h
- --------b-60----DI0F05-----------------------
- INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR"
- DI = 0F05h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: DX:AX -> ???
- STACK unchanged
- --------b-60----DI0F06-----------------------
- INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR"
- DI = 0F06h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: DX:AX -> ???
- STACK unchanged
- --------b-60----DI0F07-----------------------
- INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR"
- DI = 0F07h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: DX:AX -> ???
- STACK unchanged
- --------b-60----DI0F08-----------------------
- INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR"
- DI = 0F08h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI0F09-----------------------
- INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX
- DI = 0F09h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to first line of message
- WORD length of first line
- DWORD pointer to second line of message
- WORD length of second line
- DWORD pointer to third line of message
- WORD length of third line
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F04h
- --------b-60----DI0F0A-----------------------
- INT 60 u - HP 95LX System Manager - DISABLE MACROS
- DI = 0F0Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0F0Bh
- --------b-60----DI0F0B-----------------------
- INT 60 u - HP 95LX System Manager - ENABLE MACROS
- DI = 0F0Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 60/DI=0F0Ah
- --------b-60----DI0F0C-----------------------
- INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS"
- DI = 0F0Ch
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI0F0D-----------------------
- INT 60 u - HP 95LX System Manager - "M_FORM_FT"
- DI = 0F0Dh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: DX:AX -> ???
- STACK unchanged
- --------b-60----DI0F0E-----------------------
- INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO"
- DI = 0F0Eh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: DX:AX -> ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI1005-----------------------
- INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE
- DI = 1005h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- SeeAlso: INT 10/AH=FFh,INT 60/DI=0300h,INT 60/DI=0301h
- --------b-60----DI1200-----------------------
- INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE"
- DI = 1200h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI1201-----------------------
- INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR"
- DI = 1201h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- WORD ???
- Return: DX:AX -> ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI1202-----------------------
- INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR"
- DI = 1202h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: DX:AX -> ???
- STACK unchanged
- --------b-60----DI1203-----------------------
- INT 60 u - HP 95LX System Manager - "INIT_SYSGMR_RSRCS"
- DI = 1203h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: ???
- STACK unchanged
- --------b-60----DI1300-----------------------
- INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM
- DI = 1300h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI1301-----------------------
- INT 60 u - HP 95LX System Manager - DISPLAY HELP
- DI = 1301h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- --------b-60----DI1302-----------------------
- INT 60 u - HP 95LX System Manager - "M_HELP_KEY"
- DI = 1302h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI1303-----------------------
- INT 60 u - HP 95LX System Manager - "M_HELP_TERM"
- DI = 1303h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI1400-----------------------
- INT 60 u - HP 95LX System Manager - "M_ColInit"
- DI = 1400h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- Return: AX = ???
- STACK unchanged
- --------b-60----DI1401-----------------------
- INT 60 u - HP 95LX System Manager - "M_ColCpStr"
- DI = 1401h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI1402-----------------------
- INT 60 u - HP 95LX System Manager - "M_ColLicsStr"
- DI = 1402h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1403-----------------------
- INT 60 u - HP 95LX System Manager - "M_ColLicsChar"
- DI = 1403h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1404-----------------------
- INT 60 u - HP 95LX System Manager - "M_ColToLower"
- DI = 1404h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI1405-----------------------
- INT 60 u - HP 95LX System Manager - "M_ColCpSearch"
- DI = 1405h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- DWORD pointer to ???
- WORD ???
- WORD ???
- Return: ???
- STACK unchanged
- --------b-60----DI1406-----------------------
- INT 60 u - HP 95LX System Manager - "M_ColToUpper"
- DI = 1406h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- DWORD pointer to ???
- WORD ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI1500-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispInit"
- DI = 1500h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1501-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispClear"
- DI = 1501h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1502-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispDot"
- DI = 1502h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1503-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispDraw"
- DI = 1503h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1504-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispFill"
- DI = 1504h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1505-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispRead"
- DI = 1505h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1506-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispString"
- DI = 1506h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1507-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispPan"
- DI = 1507h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1508-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispZoom"
- DI = 1508h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI1509-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispSave"
- DI = 1509h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI150A-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispRestore"
- DI = 150Ah
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- --------b-60----DI150B-----------------------
- INT 60 u - HP 95LX System Manager - "GrDispCorner"
- DI = 150Bh
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------b-60----DI1604-----------------------
- INT 60 u - HP 95LX System Manager - "CP_TO_LICS"
- DI = 1604h
- STACK: 2 WORDs unused dummies (for calls from high level languages)
- ???
- Return: ???
- STACK unchanged
- SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
- --------G-6000-------------------------------
- INT 60 - SYS_PROF.EXE - PROFILER STATUS
- AH = 00h
- Return: AX = 0000h profiling is off
- otherwise profiling is on
- Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
- SeeAlso: AH=01h"SYS_PROF",02h"SYS_PROF"
- --------G-6000-------------------------------
- INT 60 - MDEBUG - GET STATUS
- AH = 00h
- DS:SI -> password or a null byte
- Return: AX = return code
- FFFEh password is invalid
- FFFDh display mode is invalid
- else successful
- ES = value of the monitor register SE
- DI = value of the monitor register OF
- CH = monitor color
- CL = interpreter color
- BH = monitor start line
- BL = interpreter start line
- AH = makecode of the hotkey
- AL = ASCII code of the hotkey
- DL = status of special keys (only SHIFT, ALT, CTRL) for the
- hotkey (coded as for the keyboard flag at 0040h:0017h)
- DH = basic process number for the communication with drivers
- process number for the display driver, DH+1 = process
- number for the command driver(s)
- DS:SI -> MDEBUG identification table
- Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
- Schemmer, including a memory monitor, an interpreter, and a
- disassembler
- Notes: MDEBUG uses INT 60 by default, but may be directed to any of INT 60
- through INT 67; the interrupt handler is preceded by the signature
- "USERINT" and is not chained
- if DS:SI points at a null byte, MDEBUG will prompt for a password if
- passwords are active; enough stack space must be provided for an
- INT 10h call (which MDEBUG uses while prompting for the password)
- SeeAlso: AH=02h"MDEBUG"
-
- Format of MDEBUG identification table:
- Offset Size Description
- -2 WORD entry offset
- 00h WORD CS of MDEBUG
- 02h DWORD old INT 08h vector
- 06h DWORD old INT 09h vector
- 0Ah DWORD address INT 16h routine used by MDEBUG
- 0Eh BYTE length of version string
- 0Fh N BYTEs version string
- --------G-6001-------------------------------
- INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
- AH = 01h
- DS:SI -> password or a null byte
- Return: AX = return code
- FFFEh password is invalid
- FFFDh display mode is invalid
- else successful
- ES:DI point to the help registers of MDEBUG
- ES:DI-02h -> R0 (WORD)
- ES:DI -> R1 (WORD)
- ES:DI+02h -> R2 (WORD)
- ES:DI+04h -> R3 (WORD)
- ...
- ES:DI+0Eh -> R8 (WORD)
- --------G-6001-------------------------------
- INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
- AH = 01h
- Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
- SeeAlso: AH=00h"SYS_PROF",02h"SYS_PROF"
- --------N-6001FF-----------------------------
- INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO
- AX = 01FFh
- BX = handle returned by function 02h
- Return: CF set on error
- DH = error code (see below)
- CF clear if successful
- BX = version
- CH = network interface class (see below)
- DX = interface type (see below)
- CL = number
- DS:SI -> name
- AL = driver functions supported
- 01h basic
- 02h basic and extended
- 05h basic and high-performance
- 06h basic, high-performance, and extended
- FFh not installed
- Note: the handle in BX is optional for drivers written to v1.07 or later of
- the packet driver specification
-
- Values for error code:
- 01h "BAD_HANDLE" invalid handle number
- 02h "NO_CLASS" no interfaces of the specified class found
- 03h "NO_TYPE" no interfaces of the specified type found
- 04h "NO_NUMBER" no interfaces of the specified number found
- 05h "BAD_TYPE" bad packet type
- 06h "NO_MULTICAST" interface does not support multicast messages
- 07h "CANT_TERMINATE" this packet driver cannot terminate
- 08h "BAD_MODE" invalid receiver mode
- 09h "NO_SPACE" insufficient space
- 0Ah "TYPE_INUSE" type accessed but never released
- 0Bh "BAD_COMMAND" bad command
- 0Ch "CANT_SEND" packet could not be sent
- 0Dh "CANT_SET" hardware address could not be changed
- 0Eh "BAD_ADDRESS" hardware address has a bad length or format
- 0Fh "CANT_RESET" could not reset interface
-
- Values for Network Interface classes/types:
- Class 01h Ethernet/IEEE 802.3
- 01h 3COM 3C500/3C501
- 02h 3COM 3C505
- 03h MICOM-Interlan NI5010
- 04h BICC Data Networks 4110
- 05h BICC Data Networks 4117
- 06h MICOM-Interlan NP600
- 08h Ungermann-Bass PC-NIC
- 09h Univation NC-516
- 0Ah TRW PC-2000
- 0Bh MICOM-Interlan NI5210
- 0Ch 3COM 3C503
- 0Dh 3COM 3C523
- 0Eh Western Digital WD8003
- 0Fh Spider Systems S4
- 10h Torus Frame Level
- 11h 10Net Communications
- 12h Gateway PC-bus
- 13h Gateway AT-bus
- 14h Gateway MCA-bus
- 15h IMC PCnic
- 16h IMC PCnic II
- 17h IMC PCnic 8-bit
- 18h Tigan Communications
- 19h Micromatic Research
- 1Ah Clarkson "Multiplexor"
- 1Bh D-Link 8-bit
- 1Ch D-Link 16-bit
- 1Dh D-Link PS/2
- 1Eh Research Machines 8
- 1Fh Research Machines 16
- 20h Research Machines MCA
- 21h Radix Microsystems EXM1 16-bit
- 22h Interlan Ni9210
- 23h Interlan Ni6510
- 24h Vestra LANMASTER 16-bit
- 25h Vestra LANMASTER 8-bit
- 26h Allied Telesis PC/XT/AT
- 27h Allied Telesis NEC PC-98
- 28h Allied Telesis Fujitsu FMR
- 29h Ungermann-Bass NIC/PS2
- 2Ah Tiara LANCard/E AT
- 2Bh Tiara LANCard/E MC
- 2Ch Tiara LANCard/E TP
- 2Dh Spider Communications SpiderComm 8
- 2Eh Spider Communications SpiderComm 16
- 2Fh AT&T Starlan NAU
- 30h AT&T Starlan-10 NAU
- 31h AT&T Ethernet NAU
- 32h Intel smart card
- 33h Xircom Packet Adapter
- 34h Aquila Ethernet
- 35h Novell NE1000
- 36h Novell NE2000
- 37h SMC PC-510
- 38h AT&T Fiber NAU
- 39h NDIS to Packet Driver adapter
- 3Ah Racal-InterLan ES3210
- 3Bh General Systems ISDN simulated Ethernet
- 3Ch Hewlett-Packard
- 3Dh IMC EtherNic-8
- 3Eh IMC EtherNic-16
- 3Fh IMC EtherNic-MCA
- 40h NetWorth EtherNext
- 41h Dataco Scanet
- 42h DEC DEPCA
- 43h C-Net
- 44h Gandalf LANLine
- 45h Apricot built-in
- 46h David Systems Ether-T
- 47h ODI to Packet Driver adapter
- 48h AMD Am21110-16
- 49h Intel ICD Network controller family
- 4Ah Intel ICD PCL2
- 4Bh Intel ICD PCL2A
- 4Ch AT&T LANPacer
- 4Dh AT&T LANPacer+
- 4Eh AT&T EVB
- 4Fh AT&T StarStation
- 50h SLIP simulated ethernet
- 51h Racal-Interlan NIA310
- 52h Racal-Interlan NISE
- 53h Racal-Interlan NISE30
- 54h Racal-Interlan NI6610
- 55h Ethernet over IP/UDP
- Class 02h ProNET-10
- 01h Proteon p1300
- 02h Proteon p1800
- Class 03h IEEE 802.5/ProNet-4
- 01h IBM Token-Ring Adapter
- 02h Proteon p1340
- 03h Proteon p1344
- 04h Gateway PC-bus
- 05h Gateway AT-bus
- 06h Gateway MCA-bus
- 39h NDIS to Packet Driver adapter
- 47h ODI to Packet Driver adapter
- Class 04h Omninet
- Class 05h Appletalk
- 01h ATALK.SYS adapter
- Class 06h Serial Line
- 01h Clarkson 8250-SLIP
- 02h Clarkson "Multiplexor"
- Class 07h StarLAN (subsumed by Ethernet class)
- Class 08h ARCnet
- 01h Datapoint RIM
- Class 09h AX.25
- 01h Ottawa PI card
- Class 0Ah KISS
- Class 0Bh IEEE 802.3 with 802.2 headers
- types same as for class 01h
- Class 0Ch FDDI with 802.2 headers
- 01h Western Digital
- 02h Frontier Technology
- Class 0Dh Internet X.25
- 01h Western Digital
- 02h Frontier Technology
- Class 0Eh N.T. LANSTAR (encapsulating DIX Ethernet)
- 01h NT LANSTAR/8
- 02h NT LANSTAR/MC
- Class 0Fh SLFP (MIT serial specification)
- 01h MERIT
- Class 10h PPP (Point-to-Point Protocol)
-
- Note: class and type numbers are cleared through FTP Software
- --------G-6002-------------------------------
- INT 60 - MDEBUG - SET STATUS
- AH = 02h
- DS:SI -> password or a null byte
- ES = new value for the register SE
- DI = new value for the register OF
- CH = new monitor color if nonzero
- CL = new interpreter color if nonzero
- BH = new monitor start line if nonzero
- BL = new interpreter start line if nonzero
- AL = new ASCII code for the hotkey ('A'..'Z', 'a'..'z') if nonzero
- DL = new status of the special keys (SHIFT, ALT, CTRL) for the hotkey
- if nonzero
- DH = if nonzero, new basic process number for communication with the
- drivers (DH = multiplex number for the display driver,
- DH+1 = multiplex number for the command driver or drivers)
- Return: AX = return code
- FFFFh call not allowed
- FFFEh password is invalid
- FFFDh display mode is invalid
- 0000h successful, status changed
- else AL = error code
- bit 0 invalid monitor start line
- 1 invalid interpreter start line
- 2 invalid hotkey
- 3 invalid process number
- 4-7 reserved
- Note: the values of the registers SE and OF are always changed, the other
- values are only changed if they are valid
- SeeAlso: AH=00h"MDEBUG"
- --------N-6002-------------------------------
- INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE
- AH = 02h
- AL = interface class
- BX = interface type
- DL = interface number
- DS:SI -> type
- CX = length of type (0000h for all packets)
- ES:DI -> receiver
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- AX = handle
- SeeAlso: AH=03h"FTP"
-
- Receiver is called with:
- AX = subfunction
- 00h get packet buffer
- DX = lookahead length (v1.10+)
- DS:SI -> lookahead buffer if DX nonzero (v1.10+)
- DI = error flags (class dependent) (v1.10+)
- Return: ES:DI -> packet buffer
- 0000h:0000h means throw away packet
- CX = size of buffer (v1.10+), may be smaller than
- incoming data
- 01h copy completed
- DS:SI -> buffer
- CX = bytes actually copied (v1.10+)
- BX = handle
- CX = buffer length
- when a packet is received
- --------G-6002-------------------------------
- INT 60 - SYS_PROF.EXE - TURN PROFILING ON
- AH = 02h
- Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
- SeeAlso: AH=00h"SYS_PROF",01h"SYS_PROF"
- --------G-6003-------------------------------
- INT 60 - MDEBUG - POP UP
- AH = 03h
- DS:SI -> password or a null byte
- ES -> new value for the register SE
- DI -> new value for the register OF
- Return: AX = return code
- FFFFh call not allowed
- FFFEh password is invalid
- FFFDh display mode is invalid
- else successful
- SeeAlso: AH=04h"MDEBUG"
- --------N-6003-------------------------------
- INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE
- AH = 03h
- BX = handle
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- SeeAlso: AH=02h"FTP"
- --------G-6003-------------------------------
- INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
- AH = 03h
- Return: ES:BX -> profiling table
- Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
- SeeAlso: AH=04h"SYS_PROF"
- --------N-6004-------------------------------
- INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET
- AH = 04h
- DS:SI -> buffer
- CX = length
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- Note: the buffer may be modified immediately upon return from this call
- SeeAlso: AH=0Bh
- --------G-6004-------------------------------
- INT 60 - MDEBUG - POP UP
- AH = 04h
- DS:SI -> password or a null byte
- Return: AX = return code
- FFFFh call not allowed
- FFFEh password is invalid
- FFFDh display mode is invalid
- else successful
- SeeAlso: AH=03h"MDEBUG",AH=07h"MDEBUG"
- --------G-6004-------------------------------
- INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
- AH = 04h
- Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
- SeeAlso: AH=03h"SYS_PROF"
- --------N-6005-------------------------------
- INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
- AH = 05h
- BX = handle (optional for v1.10+)
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- --------G-6005-------------------------------
- INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
- AH = 05h
- DS:SI -> password or a null byte
- BL = new value for the semaphor of MDEBUG
- 00h enable popup of MDEBUG
- else disable popup of MDEBUG
- Return: AX = return code
- FFFEh password is invalid
- FFFDh display mode is invalid
- else successful
- BL = old value of the semapor of MDEBUG
- BH = old value of the INT 08h semaphor
- (this semaphor is always reset after this function)
- --------N-6006-------------------------------
- INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS
- AH = 06h
- BX = handle (optional for v1.10+)
- ES:DI -> buffer
- CX = length
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- CX = length
- Note: copies the local net address associated with the handle into the buffer
- --------G-6006-------------------------------
- INT 60 - MDEBUG - GET PASSWORD STATUS
- AH = 06h
- Return: AL = status
- 00h password inactive
- 01h password active
- --------N-6007-------------------------------
- INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE
- AH = 07h
- BX = handle (optional for v1.10+)
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- --------G-6007-------------------------------
- INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
- AH = 07h
- Return: AL = active part for the next popup session of MDEBUG:
- bit 0: the next popup session will start in the interpreter rather
- than in the monitor
- bit 1: the next popup session will sart in the online-help
- SeeAlso: AH=03h"MDEBUG",AH=04h"MDEBUG"
- --------G-6008-------------------------------
- INT 60 - MDEBUG - UNUSED
- AH = 08h-FFh
- Return: AX = FFFCh
- --------N-600A-------------------------------
- INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS
- AH = 0Ah
- Return: CF set on error
- DH = error code (0Bh) (see AX=01FFh)
- CF clear if successful
- ES:DI -> parameter table (see below)
-
- Format of parameter table:
- Offset Size Description
- 00h BYTE major revision of packet driver spec driver conforms to
- 01h BYTE minor revision of packet driver spec
- 02h BYTE length of this structure in bytes
- 03h BYTE length of a MAC-layer address
- 04h WORD maximum transfer unit, including MAC headers
- 06h WORD buffer size for multicast addr
- 08h WORD number of receive buffers (one less than back-to-back MTU rcvs)
- 0Ah WORD number of transmit buffers
- 0Ch WORD interrupt number to hook for post-EOI processing, 00h=none
- --------N-600B-------------------------------
- INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
- AH = 0Bh
- DS:SI -> buffer
- CX = length of buffer
- ES:DI -> FAR function to call when buffer becomes available
- Return: CF set on error
- DH = error code (0Bh,0Ch) (see AX=01FFh)
- CF clear if successful
- Notes: unlike function 04h, the buffer is not available for modification as
- soon as the call returns; the buffer may be queued by the driver and
- not processed until later
- this function has been dropped from v1.10+ of the specification and
- replaced by function 0Ch
- SeeAlso: AH=04h"Packet Driver",AH=0Ch"Packet Driver"
-
- Completion function called with:
- AX = result
- 00h copy OK
- nonzero error
- ES:DI -> buffer passed to INT 60/AH=0Bh call
- --------N-600C-------------------------------
- INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
- AH = 0Ch
- ES:DI -> pointer to IOCB
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- SeeAlso: AH=04h"Packet Driver",AH=0Bh"Packet Driver"
-
- Format of IOCB:
- Offset Size Description
- 00h DWORD pointer to buffer
- 04h WORD length of buffer
- 06h BYTE flags
- bit 0: packet driver is finished with IOCB
- bit 1: application requests upcall when driver completes
- 07h DWORD function address for upcall
- 0Bh 4 BYTEs future gather write
- 0Fh BYTE ???
- 10h 8 BYTEs private driver workspace
-
- Completion function called with:
- ES:DI -> IOCB passed to INT 60/AH=0Ch
- --------N-600C-------------------------------
- INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
- AH = 0Ch
- Return: AL = status
- 00h successful
- ES:SI -> 6-byte station address
- 02h semaphore service is unavailable
- --------N-600D-------------------------------
- INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE
- AH = 0Dh
- ES:DI -> IOCB
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- SeeAlso: AH=0Ch"Packet Driver"
- --------N-6011-------------------------------
- INT 60 - 3com, 10NET, Banyan VINES - LOCK AND WAIT
- AH = 11h
- AL = drive number or 0
- DX = number of seconds to wait
- ES:SI = Ethernet address or 0
- DS:BX -> 31-byte ASCIZ semaphore name
- Return: AL = status
- 00h successful
- 01h timeout
- 02h server not responding
- 03h invalid semaphore name
- 04h semaphore list is full
- 05h invalid drive ID
- 06h invalid Ethernet address
- 07h not logged in
- 08h write to network failed
- 09h semaphore already logged for this CPU
- SeeAlso: AH=12h,AH=13h
- --------N-6012-------------------------------
- INT 60 - 3com, 10NET, Banyan VINES - LOCK
- AH = 12h
- AL = drive number or 00h
- ES:SI = Ethernet address or 0000h:0000h
- DS:BX -> 31-byte ASCIZ semaphore name
- Return: AL = status (see also AH=11h)
- 01h semaphore currently locked by another PC
- Note: unlike function 11h, this function returns immediately
- SeeAlso: AH=11h,AH=13h
- --------N-6013-------------------------------
- INT 60 - 3com, 10NET, Banyan VINES - UNLOCK
- AH = 13h
- AL = drive number or 00h
- ES:SI = Ethernet address or 0000h:0000h
- DS:BX -> 31-byte ASCIZ semaphore name
- Return: AL = status (see also AH=11h)
- 1 semaphore not locked
- SeeAlso: AH=11h,AH=12h
- --------N-6014-------------------------------
- INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE
- AH = 14h
- BX = handle (optional for v1.10+)
- CX = mode
- 01h turn off receiver
- 02h receive only packets sent to this interface
- 03h mode 2 plus broadcast packets
- 04h mode 3 plus limited multicast packets
- 05h mode 3 plus all multicast packets
- 06h all packets
- 07h raw mode for serial line only (v1.10+)
- Return: CF set on error
- DH = error code (01h,08h) (see AX=01FFh)
- CF clear if successful
- SeeAlso: AH=15h
- --------N-6015-------------------------------
- INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE
- AH = 15h
- BX = handle (optional for v1.10+)
- Return: CF set on error
- DH = error code (01h) (see AX=01FFh)
- CF clear if successful
- AX = mode
- SeeAlso: AH=14h
- --------N-6016-------------------------------
- INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST
- AH = 16h
- ES:DI -> multicast list
- CX = length of list in bytes
- Return: CF set on error
- DH = error code (06h,09h,0Eh) (see AX=01FFh)
- CF clear if successful
- SeeAlso: AH=17h
- --------N-6017-------------------------------
- INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST
- AH = 17h
- Return: CF set on error
- DH = error code (06h,09h) (see AX=01FFh)
- CF clear if successful
- ES:DI -> multicast addresses (do not modify)
- CX = bytes of multicast addresses currently in use
- SeeAlso: AH=16h
- --------N-6018-------------------------------
- INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS
- AH = 18h
- BX = handle (optional for v1.10+)
- Return: CF set on error
- DH = error code (01h) (see AX=01FFh)
- CF clear if successful
- DS:SI -> statistics (see below)
-
- Format of statistics:
- Offset Size Description
- 00h DWORD packets in
- 04h DWORD packets out
- 08h DWORD bytes in
- 0Ch DWORD bytes out
- 10h DWORD errors in
- 14h DWORD errors out
- 18h DWORD packets dropped
- --------N-6019-------------------------------
- INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS
- AH = 19h
- ES:DI -> address
- CX = length of address
- Return: CF set on error
- DH = error code (0Dh,0Eh) (see AX=01FFh)
- CF clear if successful
- CX = length
- --------N-601A-------------------------------
- INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES
- AH = 1Ah
- DS:SI -> buffer
- CX = length of buffer
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- SeeAlso: AH=1Ch
- --------N-601B-------------------------------
- INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED
- AH = 1Bh
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- SeeAlso: AH=1Ch
- --------N-601C-------------------------------
- INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED
- AH = 1Ch
- DS:SI -> buffer
- CX = length of buffer
- DX = timeout in clock ticks
- Return: CF set on error
- DH = error code (see AX=01FFh)
- CF clear if successful
- CX = number of bytes transferred to buffer
- SeeAlso: AH=1Ah,AH=1Bh
- --------a-60AD-------------------------------
- INT 60 - AccessDOS - API
- AH = ADh
- AL = function
- E1h ???
- Return: AX = ???
- E2h get configuration
- Return: BX:AX -> configuration data
- Program: AccessDOS is a public domain TSR developed at The Trace Research and
- Development Center which provides extensions for keyboard, mouse,
- and sound access by the visually, hearing, or motor-control
- impaired.
- Note: INT 60 is the default vector; AccessDOS will use the first 0000h:0000h
- vector in the range 60h through 66h.
- --------*-61---------------------------------
- INT 61 - reserved for user interrupt
- --------b-61---------------------------------
- INT 61 - Atari Portfolio - EXTENDED BIOS
- provides subfunctions such as turning off the machine, accessing internal
- variables, and mapping memory cards
- SeeAlso: INT 60"Atari"
- --------b-61---------------------------------
- INT 61 - HP 95LX System Manager - LOAD DS
- SeeAlso: INT 0F"HP 95LX",INT 60"HP 95LX"
- --------r-61---------------------------------
- INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
- SeeAlso: INT 61"JPI"
- --------d-61---------------------------------
- INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
- Note: this vector stores the second four bytes of the parameter table for
- hard disk 0
- SeeAlso: INT 60"Adaptec",INT 62"Adaptec",INT 63"Adaptec"
- --------I-61---------------------------------
- INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
- BX:DX -> control block
- SeeAlso: INT 67"Sangoma"
- --------v-61---------------------------------
- INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
- Note: the virus copies the original INT 21h vector into INT 61h
- SeeAlso: INT 21h,INT 60"VIRUS",INT 6B"VIRUS"
- --------N-61---------------------------------
- INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
- AH = system call number (see also entries below)
- 01h "pkt_alloc" (v2.05; this is "net_config" in v2.1+)
- 02h "pkt_free" (v2.05; this is "get_kernel_info" in v2.1+)
- Return: CF clear if successful
- CF set on error
- AL = basic error (see below)
- AH = suberror number
- Notes: the installation check consists of testing for the signature "TCPTSR"
- three bytes beyond the start of the interrupt handler
- INT 61 is the default; PC/TCP v2.05 may be configured to use any
- interrupt from 20h through E0h
- BUG: the SLIP kernel for v2.05 bounds-checks the wrong register, so values
- greater than 54h in AH may crash the system. Other kernels may have
- this bug as well.
- SeeAlso: INT 61/AH=00h"PC/TCP",INT 61/AH=2Ah,INT 61/AH=54h
- Index: installation check;PC/TCP
-
- Values for error code:
- 00h "NET_NOERR" successful
- 01h "NET_ERR_INUSE" protocol or socket already in use
- 02h "NET_DOS_ERR" MS-DOS error (returned as suberror code in AH)
- 03h "NET_ERR_NOMEM" out of memory
- 04h "NET_ERR_NOTNETCONN" not a network descriptor
- 05h "NET_ERR_ILLEGALOP" invalid operation on given kind of network descriptor
- 06h "NET_ERR_BADPKT" illegal or corrupted packet
- 07h "NET_ERR_NOHOST" no host bound to specified connection
- 08h "NET_ERR_CANTOPEN" unable to open file
- 09h "NET_ERR_NET_UNREACHABLE" network is unreachable
- 0Ah "NET_ERR_HOST_UNREACHABLE" host is unreachable (see subcodes below)
- 0Bh "NET_ERR_PROT_UNREACHABLE" protocol is unreachable
- 0Ch "NET_ERR_PORT_UNREACHABLE" port is unreachable
- 0Dh "NET_ERR_TIMEOUT" operation timed out
- 0Eh "NET_ERR_HOSTUNKNOWN" unable to resolve host name
- 0Fh "NET_ERR_NOSERVERS" no name servers configured
- 10h "NET_ERR_SERVER_ERR" bad reply from name server
- Subcodes: 0= no error, 1 = Host unreachable
- 11h "NET_ERR_BADFORMAT" bad format for IP address or field in IP address struc
- is zero
- 12h "NET_ERR_BADARG" invalid argument
- 13h "NET_ERR_EOF" foreign host closed its end of connection
- 14h "NET_ERR_RESET" connection has been reset
- 15h "NET_ERR_WOULDBLOCK" recv() call was done on a non-blocking connection
- with no data available
- 16h "NET_ERR_UNBOUND" insufficient resources to do operation
- 17h "NET_ERR_NODESC" could not allocate network descriptor
- 18h "NET_ERR_BADSYSCALL" invalid/unsupported kernel call
- 19h "NET_ERR_CANTBROADCAST" unable to broadcast
- 1Ah "NET_ERR_NOTESTAB" operation illegal because connection not established
- 1Bh kernel busy, try again later
- 1Ch "NET_ERR_ICMPMESG" an ICMP message was received (not on streams)
- (see subcodes below)
- ---v2.1+---
- 1Dh "NET_ERR_TERMINATING" internal kernel fatal error
- 1Eh "NET_ERR_TAG_LOCKED" not allowed to set this tag (net_config)
- 1Fh "NET_ERR_BAD_INTERFACE" non existent interface specified
- 20h "NET_ERR_BADCONFIG" kernel cannot run - bad configuration
- 21h "NET_ERR_EMM" expanded memory error
- 22h "NET_ERR_CANT_SHUTDOWN" cant unload kernel (multitasker running)
- 23h "NET_ERR_PARKED_IN" unable to unhook DOS interrupt
- 24h "NET_ERR_NOQIOS" ran out of resources; try again later
- 25h "NET_ERR_WOULD_TRUNCATE" datagram too large and "don't truncate" was set
-
- Values for subcodes of error 0Ah "NET_ERR_HOST_UNREACHABLE":
- 00h no error
- 01h host unreachable
- 02h ARP failed
- 03h hardware failure
- 04h link failure
- 05h no route
- 06h gateway down
-
- Values for subcodes of error 1Ch "NET_ERR_ICMPMESG":
- 07h unrecognised
- 08h can't fragment
- 09h srcr_fail
- 0Ah source quench
- 0Bh time exceeded
- 0Ch parameter problem
- 0Dh admin_prohib. see also code 0Ah
- --------N-6100-------------------------------
- INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
- AH = 00h
- DS:SI -> 216-byte buffer for network debugging information (see below)
- Return: CF clear
- AX = 0000h
- buffer filled
- Notes: this call is not documented by FTP, Inc. for any version
- most of the information returned by this call is available via the
- documented get_kernel_info or net_info commands.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=2Ah"PC/TCP"
-
- Format of network debugging information:
- Offset Size Description
- 00h DWORD number of interrupts
- 04h DWORD receive buffer low-water mark
- 08h DWORD transmit buffer low-water mark
- 0Ch DWORD number of packets received
- 10h DWORD number of packets transmitted
- 14h DWORD total receive errors
- 18h DWORD total transmit errors
- 1Ch 4 BYTEs ???
- 20h DWORD receive resets
- 24h DWORD transmit resets
- 28h DWORD number of "runts" received
- 2Ch DWORD number of alignment errors on received packets
- 30h DWORD number of CRC errors on received packets
- 34h DWORD number of parity errors on received packets
- 38h DWORD number of receive overflow errors
- 3Ch DWORD number of oversized packets received
- 40h DWORD number of packets lost due to lack of buffers
- 44h DWORD receive timeouts
- 48h 32 BYTEs ???
- 68h DWORD number of transmit collisions
- 6Ch DWORD number of transmit timeouts
- 70h DWORD number of transmit underflows
- 74h DWORD number of lost "crs" on transmit
- 78h DWORD number of times heartbeat failed on transmit
- 7Ch 24 BYTEs ???
- 94h WORD free packet buffers
- 96h WORD total packet buffers
- 98h WORD minimum number of packet buffers free since kernel started
- 9Ah 24 BYTEs ???
- B2h DWORD pointer to TCP connection list???
- B6h DWORD pointer to IP routing table???
- BAh 30 BYTEs ???
- --------V-610000-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
- AX = 0000h
- BX = zoom factor (0-7)
- Notes: zooms the display based on the given zoom factor
- INT 61h is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0001h"OPTIMA",INT 61/AX=0002h"OPTIMA"
- SeeAlso: INT 61/AX=0005h"OPTIMA"
- --------N-610001SF0001-----------------------
- INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
- AX = 0001h subfn 0001h
- DS:DX -> communications control block (function 0001h)
- Return: AX = status (see below)
- Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
- interrupt handler is identified by the string "BANV" in the four
- bytes immediately preceding the interrupt handler
- SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0008h,INT 15/AX=DE2Eh
-
- Values for status:
- 0000h successful
- 0001h service not installed
- 0002h invalid service ID
- 0098h resource already in use
- 009Eh address family does not exist
- 009Fh socket type does not exist
- 00A0h protocol does not exist
- 00A1h no more sockets available
- 00A2h no more buffer space available
-
- Format of control block:
- Offset Size Description
- 00h WORD 0001h
- 02h WORD pointer to argument block
- 04h WORD error return code
- 06h 4 BYTEs reserved
-
- Format of argument block:
- Offset Size Description
- 00h WORD pointer to 2-byte buffer for socket identifier
- 02h WORD address family
- 0003h Banyan
- 04h WORD socket type
- in address family 0003h
- 0001h IPC socket
- 0002h SPP socket
- 06h WORD protocol number
- FFFFh default
- 08h WORD pointer to 16-byte buffer for socket address
- 0Ah WORD local port number
- 0000h if service should assign transient port number
- 0001h to 01FFh well-known port number (assigned by Banyan)
-
- Format of IPC port:
- Offset Size Description
- 00h WORD address family (always 0003h for Banyan ports)
- 04h 4 BYTEs network number (server's serial number)
- 06h WORD subnet number (0001h = server, 8000h-FFFEh = PC)
- 08h WORD port ID (0001h-01FFh for "well-known" ports)
- 0Ah BYTE hop count
- 0Bh 5 BYTEs filler
- --------N-610001SF0002-----------------------
- INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
- AX = 0001h subfn 0002h
- DS:DX -> communications control block (function 0002h)
- Return: AX = status (see below)
- Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
- interrupt handler is identified by the string "BANV" in the four
- bytes immediately preceding the interrupt handler
- SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0005h
-
- Values for status:
- 0000h successful
- 0001h service not installed
- 0002h invalid service ID
- 0003h-000Ah reserved for BANV interface errors
- 0097h invalid socket identifier
- 009Bh destination node unreachable
- 009Ch message overflow
- 009Dh destination socket nonexistent
- 00A2h no more buffer space
- 00A3h timeout
- 00B1h resource disconnect
-
- Format of control block:
- Offset Size Description
- 00h WORD 0002h
- 02h WORD pointer to argument block (see below)
- 04h WORD error return code
- 0000h successful
- 0097h invalid socket ID
- 00A2h no more buffer space
- 00A3h timeout event
- 00A5h resource not available
- 00A6h internal communication failure
- 00B1h resource disconnect
- 06h 4 BYTEs reserved
-
- Format of argument block:
- Offset Size Description
- 00h WORD routine metric
- 02h WORD error return code
- 04h WORD socket identifier
- 06h WORD pointer to send buffer
- 08h WORD length of send buffer
- 0Ah WORD flags
- bit 0: async request
- bit 1: reliable message
- bit 3: end of user message received
- bit 4: vectored request (if set, send buffer contains buffer
- descriptors)
- bit 5: connection-specific receive
- bit 6: change to connection-specific receive mode
- 0Ch 16 BYTEs socket address (see below)
- 1Ch WORD timeout value in multiples of 200ms
- 1Eh WORD connection identifier
- 20h WORD type of request
- 0001h send message
- 0002h establish a virtual connection
- 0003h terminate a virtual connection
-
- Format of buffer descriptor:
- Offset Size Description
- 00h WORD data segment
- 02h WORD buffer pointer
- 04h WORD buffer length
- 06h WORD character count
-
- Format of socket address for unreliable datagrams:
- Offset Size Description
- 00h WORD 0003h address family
- 02h DWORD FFFFFFFFh network number
- 06h WORD FFFFh subnet number
- 08h WORD local port number
- 0Ah BYTE 00h-0Fh hop count
- 0Bh 5 BYTEs 0000h filler
- --------N-610001SF0003-----------------------
- INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
- AX = 0001h subfn 0003h
- DS:DX -> communications control block (function 0003h)
- Return: AX = status (00-0Ah,97h,A2h,A3h) (see AX=0001h/SF=0002h)
- Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
- interrupt handler is identified by the string "BANV" in the four
- bytes immediately preceding the interrupt handler
- SeeAlso: AX=0001h/SF=0002h
-
- Format of control block:
- Offset Size Description
- 00h WORD 0003h
- 02h WORD pointer to argument block (see below)
- 04h WORD error return code
- 0000h successful
- 0097h invalid socket ID
- 00A2h no more buffer space
- 00A3h timeout event
- 00A5h resource not available
- 00A6h internal communication failure
- 00B1h resource disconnect
- 06h 4 BYTEs reserved
-
- Format of argument block:
- Offset Size Description
- 00h WORD character count
- 02h WORD error return code
- 04h WORD socket identifier
- 06h WORD pointer to receive buffer
- 08h WORD length of receive buffer
- 0Ah WORD flags
- bit 0: async request
- bit 2: flush receive buffer on overflow
- bit 3: end of user message received
- bit 4: vectored request (if set, receive buffer contains buffer
- descriptors)
- bit 5: connection-specific receive
- bit 6: change to connection-specific receive mode
- 0Ch 16 BYTEs socket address
- 1Ch WORD timeout value in multiples of 200ms
- 1Eh WORD connection identifier
- 20h WORD type of response
- 0001h message received
- 0002h virtual connection established
- 0003h virtual connection terminated
-
- Format of buffer descriptor:
- Offset Size Description
- 00h WORD data segment
- 02h WORD buffer pointer
- 04h WORD buffer length
- 06h WORD character count
- --------N-610001SF0004-----------------------
- INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
- AX = 0001h subfn 0004h
- DS:DX -> communications control block (function 0004h)
- Return: AX = status (00h-0Ah,97h) (see AX=0001h/SF=0002h)
- Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
- interrupt handler is identified by the string "BANV" in the four
- bytes immediately preceding the interrupt handler
- SeeAlso: AX=0001h/SF=0001h,INT 15/AX=DE2Eh
-
- Format of control block:
- Offset Size Description
- 00h WORD 0004h
- 02h WORD pointer to argument block (see below)
- 04h WORD error return code
- 06h 4 BYTEs reserved
-
- Format of argument block:
- Offset Size Description
- 00h WORD socket identifier
- --------N-610001SF0005-----------------------
- INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
- AX = 0001h subfn 0005h
- DS:DX -> communications control block (function 0005h)
- Return: AX = status (see below)
- Notes: BANYAN can use any interrupt from 60h through 66h. The Banyan
- interrupt handler is identified by the string "BANV" in the four
- bytes immediately preceding the interrupt handler
- returns results for all asynchronous operations invoked from the
- data segment used for this call
- SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0009h
-
- Values for status:
- 0000h successful
- 0001h service not installed
- 0002h invalid service ID
- 0003h-000Ah reserved for BANV interface errors
- 00A2h no more buffer space available
- 00A3h timeout event
-
- Format of control block:
- Offset Size Description
- 00h WORD 0005h
- 02h WORD pointer to argument block (see below)
- 04h WORD error return code
- 06h 4 BYTEs reserved
-
- Format of argument block:
- Offset Size Description
- 00h WORD pointer to WORD event pointer
- 02h WORD timeout in multiples of 200ms, FFFFh = infinite
- --------N-610001SF0008-----------------------
- INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
- AX = 0001h subfn 0008h
- DS:DX -> communications control block (function 0008h)
- Return: AX = status
- 0000h successful
- 00A2h no more buffer space available
- Note: BANYAN can use any interrupt from 60h through 66h (default 61h). The
- Banyan interrupt handler is identified by the string "BANV" in the
- four bytes immediately preceding the interrupt handler
- SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0009h
-
- Format of control block:
- Offset Size Description
- 00h WORD 0008h
- 02h WORD process type
- 0001h transient process
- 0002h resident process
- 04h WORD error return code
- 06h 4 BYTEs reserved
- --------N-610001SF000B-----------------------
- INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
- AX = 0001h subfn 000Bh
- DS:DX -> communications control block (function 000Bh)
- Return: AX = status (00h-0Ah,A2h) (see AX=0001h/SF=0005h)
- Notes: BANYAN can use any interrupt from 60h through 66h. The Banyan
- interrupt handler is identified by the string "BANV" in the four
- bytes immediately preceding the interrupt handler
- FAR user function is invoked with SS,DS, and ES set to segment of
- control block, and with the stack containing
- DWORD return address
- WORD argument pointer (sosend or sorec argument block)
- WORD error return code
- 0000h argument pointer is valid
- 00A3h timeout
- SeeAlso: AX=0001h/SF=0005h,AX=0001h/SF=0008h
-
- Format of control block:
- Offset Size Description
- 00h WORD 000Bh
- 02h WORD pointer to argument block (see below)
- 04h WORD error return code
- 06h 2 BYTEs reserved
- 08h WORD user CS register
-
- Format of argument block:
- Offset Size Description
- 00h WORD pointer to user interrupt function
- 02h WORD pointer to user stack
- 04h WORD initial timeout value in multiples of 200ms, FFFFh = infinite
- --------V-610001-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
- AX = 0001h
- BX = X coordinate to center
- CX = Y coordinate to center
- Notes: Positions the zoom window such that the specified window-relative
- coordinates appear as close as possible to the center of the
- display. Useful for scrolling and panning.
- INT 61h is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA",INT 61/AX=0002h"OPTIMA"
- SeeAlso: INT 61/AX=0005h"OPTIMA"
- --------I-610002-----------------------------
- INT 61 - Banyan VINES - 3270 INTERFACE
- AX = 0002h
- BH = function
- 00h "pi2reset" reset 3270/SNA or 3270/BSC driver
- 02h "pi2bsc" (3270/BSC only)
- 03h "pi2get" get information stored in 3270 resident driver
- 04h "pi2put" store information in 3270 resident driver
- 05h "pi2gcur" get current screen position
- 07h "pi2sdat" send data keystroke
- 08h "pi2scom" send command keystroke
- 0Ah "pi2field" get field info for arbitrary screen positions
- 0Fh "pi2stat" get logical unit/device status
- 12h "pi2nlus" determine logical unit/device assignment
- 13h "pi2gate" specifies comm port address to gateway service
- 14h "pi2attach" attach a logical unit/device
- 15h "pi2sdev" save logical unit/device info in resident driver
- (not supported in >3.0)
- 16h "pi2gdev" get device information (not supported in >3.0)
- 17h "pi2luinfo" get info about specific logical unit/device
- 18h "pi2gerr" get finer error detail
- 19h "pi2dhold" (3270/SNA only) holds a 3270 device
- 1Ah "pi2shut" release memory-resident module
- 1Ch "pi2sprof" save profile info in res driver (not supp in >3.0)
- 1Dh "pi2gprof" get prevsly stored profile info (not supp in >3.0)
- DS:CX -> argument block (except BH=00h,1Ah)
- Return: AX = status (see below)
- Notes: Either 3270/SNA or 3270/BSC interface may use AX=0002h, depending on
- which is loaded first. The other interface will use AX=000Ah
- Status codes greater than 63h indicate an inconsistency in the 3270/SNA
- or 3270/BSC resident driver, which must be reloaded by the user
-
- Values for status:
- 0000h successful
- 000Bh invalid parameter or data does not fit data area
- 000Ch another code path currently active in resident driver
- 000Dh operation currently not allowed
- 0032h encountered connection disconnect error
- 0033h encountered "sosend" completion error
- 0034h encountered "sosend" communication error
- 0035h attach request refused. extended error info via "pi2gerr":
- 01h resource unavailable
- 02h invalid type
- 03h version mismatch
- 04h invalid logical unit number
- 05h error during ARL processing
- 06h no access for user
- 0071h encountered "sosock" error
- 0072h encountered unrecognizable error
- 0073h encountered "sowait" error (extended info via "pi2gerr")
- 0074h encountered invalid type-of-request on "sowait"
- 0075h encountered "sorec" error (extended info via "pi2gerr")
- 0076h encountered "sorec" completion error (ext info via "pi2gerr")
- 0077h encountered connection request
- 0078h encountered unrecognizable data
- 0079h encountered unknown connection ID (ext info via "pi2gerr")
-
- Format of argument block for BH=03h,04h:
- Offset Size Description
- 00h WORD size of data area (max 256)
- 02h N BYTEs data area
-
- Format of argument block for BH=05h:
- Offset Size Description
- 00h WORD logical unit/device number
- 02h WORD pointer to WORD buffer for cursor index
- 04h WORD pointer to BYTE buffer for current field attribute
-
- Format of argument block for BH=07h:
- Offset Size Description
- 00h WORD logical unit/device number
- 02h WORD ASCII data byte
- 04h WORD pointer to WORD count of characters which will need updating
-
- Format of argument block for BH=08h:
- Offset Size Description
- 00h WORD logical unit/device number
- 02h WORD keystroke
- 0000h Enter
- 0001h Clear
- 0002h PA1
- 0003h PA2
- 0004h PA3
- 0005h PF1
- ...
- 001Ch PF24
- 001Dh CSELECT (cursor select)
- 001Eh Insert
- 001Fh Delete
- 0020h EOField
- 0021h EINPUT (erase input)
- 0022h Reset
- 0023h Attention
- 0024h SysReq
- 0025h Duplicate
- 0026h Fieldmark
- 0027h Home
- 0028h NextLine
- 0029h Tab
- 002Ah BackTab
- 002Bh cursor up
- 002Ch cursor down
- 002Dh cursor right
- 002Eh cursor left
- 002Fh double cursor right
- 0030h double cursor left
- 0031h PRINT
- 0032h CANCEL
- 0033h Backspace
-
- Format of argument block for BH=0Ah:
- Offset Size Description
- 00h WORD logical unit/device number
- 02h WORD screen index
- 04h WORD pointer to WORD buffer for field length
- 06h WORD pointer to WORD buffer for offset in screen of field start
-
- Format of argument block for BH=0Fh:
- Offset Size Description
- 00h WORD logical unit/device number
- 02h WORD clear mask (clear these bits of status after returning status)
- 04h WORD pointer to WORD buffer for device status (see below)
-
- Bitfields for device status:
- bit 10 status modified
- bit 9 buffer modified
- bit 8 set cursor
- bit 5 sound alarm
- bits 1-0 size of print line for printer logical units
- 00 unformatted line
- 01 40-character line
- 10 64-character line
- 11 80-character line
-
- Format of argument block for BH=12h:
- Offset Size Description
- 00h WORD pointer to WORD buffer for number of logical units or devices
- 02h WORD pointer to WORD buffer for version number
- 04h WORD pointer to 64-byte buffer for logical unit/device list
-
- Format of argument block for BH=13h:
- Offset Size Description
- 00h 16 BYTEs communications port address (see AX=0001h#"Sosock")
-
- Format of argument block for BH=14h:
- Offset Size Description
- 00h WORD logical unit/device number
- 0000h attach any free device of the specified type
- 02h WORD logical unit/device type
- (3270/SNA) 01h, 02h, or 03h
- (3270/BSC) 02h display
- (3270/BSC) 03h printer
- 04h WORD pointer to WORD buffer for attached logical unit/device number
-
- Format of argument block for BH=16h:
- Offset Size Description
- 00h WORD pointer to 18-byte buffer for device block (see below)
- first WORD must be set to desired logical unit/device number
-
- Format of argument block for BH=17h:
- Offset Size Description
- 00h WORD logical unit/device number
- 02h WORD pointer to information block in caller's DS (see below)
-
- Format of argument block for BH=18h:
- Offset Size Description
- 00h WORD pointer to WORD buffer for major error code
- 02h WORD pointer to WORD buffer for minor error code
-
- Format of argument block for BH=19h:
- Offset Size Description
- 00h WORD logical unit/device number
-
- Format of argument block for BH=1Ch,1Dh:
- Offset Size Description
- 00h WORD pointer to profile block in caller's DS (see below)
-
- Format of device block, argument block for BH=15h:
- Offset Size Description
- 00h WORD logical unit/device number
- 02h WORD logical unit/device type
- 04h WORD display model number
- 06h WORD numeric checking
- 08h WORD status line
- 0Ah BYTE unprotected normal field attribute
- 0Bh BYTE unprotected intensified field attribute
- 0Ch BYTE protected normal field attribute
- 0Dh BYTE protected intensified field attribute
- 0Eh WORD reserved
- 10h WORD printer port number
-
- Format of information block:
- Offset Size Description
- 00h WORD device model number
- 02h DWORD screen buffer pointer
- 06h DWORD status line pointer (see below)
- 0Ah DWORD reserved
-
- Format of status line:
- Offset Size Description
- 00h BYTE comm line status
- 00h inactive
- 01h active
- 01h BYTE activation level
- 01h physical unit activated
- 02h logical unit also activated
- 03h session is bound
- 02h BYTE data traffic state
- 00h inactive
- 01h active
- 03h BYTE screen ownership
- 00h SLU->PLU sessoin owns screen
- 01h SLU->SSCP session owns screen
- 04h BYTE keyboard status (see below)
- 05h BYTE insert mode
- 01h if in insert mode
- 06h BYTE numeric
- 01h if current screen buffer is numeric only
- 07h BYTE printer status
- 00h printer not assigned
- 01h printer is inactive
- 02h printer error
- 03h currently printing
- 04h printer is busy
- 05h printer is very busy
- 08h BYTE printer assignment
- 09h BYTE maximum size of network name
- 0Ah N BYTEs ASCIZ network name
- BYTE maximum size of message window
- M BYTEs null-terminated message window
- BYTE code set
- 00h EBCDIC
- 01h ASCII
- M BYTEs extended attributes
- 01h extended attributes are in effect (stored at screen+1920)
- each extended attribute specifies
- bits 0,1: 00=normal, 01=blink, 10=reverse, 11=underscor
- bits 2-4: 000=default,001=blue,010=red,011=pink,
- 100=green,101=turquoise,110=yellow,111=white
- BYTE extended color
- 01h other than base color is in effect
-
- Values for keyboard status:
- 00h UNLOCK - ready to accept data
- 01h TIME - aid was struck
- 02h SYSTEM - received response no restore
- 03h FUNCTION - unavailable keyboard function
- 04h INPUT - not currently used
- 05h ENDFIELD - field filled in insert mode
- 06h PROTECTED - attempt to enter in protected field
- 07h NUMERIC - attempt to enter in numeric field
- 08h PROGRAM - error in outbound data stream
-
- Format of profile block:
- Offset Size Description
- 00h 64 BYTEs gateway service name
- 40h 16 BYTEs gateway comm port address
- 50h WORD primary logical unit number
- 52h WORD secondary logical unit type
- 54h WORD secondary logical unit number
- 56h WORD printer assignment
- 58h 50 BYTEs keyboard definitions filename
- --------V-610002-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
- AX = 0002h
- Notes: switches off zoom and returns window to its original state
- INT 61h is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA"
- --------N-610003SF00-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
- AX = 0003h subfn 00h
- DS:BX -> argument block (see below)
- Return: AX = status (see below)
- SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=08h,AX=0003h/SF=0Dh
-
- Values for status:
- 0000h successful
- 000Bh invalid session ID
- 000Ch session not active
- 000Dh invalid request type
- 000Eh invalid parameters
- 000Fh out of heap space
- 0010h timeout on send
- 0011h Banyan communications error
- 0012h session not waiting for host
- 0013h session is active
- 0014h duplicate suspend session request
- 0015h no session suspended
- 0016h ring data buffer full
- 0017h printer error encountered
- 0018h Banyan communications error
- 0019h unable to make connection
- 001Ah no ring buffer specified at startup
- 001Bh service is down
- 001Ch invalid service name
- 001Dh service is closed
- 001Eh invalid connection name
- 001Fh max session limit reached for service
- 0020h access rights list for connection/dialout does not include this user
- 0021h service not responding
- 0022h missing telephone number
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 00h (func "initialize user buffer pointer information area")
- 02h WORD -> user buffer ptr info area in caller's current DS (see below)
-
- Format of user buffer ptr info area:
- Offset Size Description
- 00h WORD flags
- 0000h don't read interface's data buffer
- 0001h read data buffer
- 02h DWORD pointer to ring buffer
- 06h WORD length of ring buffer
- 08h WORD ring buffer offset to last byte read by caller
- 0Ah DWORD pointer to WORD containing offset of last byte
- in ring buffer filled
- 0Eh DWORD pointer to screen buffer
- 12h DWORD pointer to field containing cursor position
- 16h DWORD pointer to terminal status area (see below)
-
- Format of terminal status area:
- Offset Size Description
- 00h BYTE status of session: 4Eh=oNline, 46h=oFfline, 57h=Waiting
- 01h BYTE terminal type (00h=VT100, 01h=TTY, 02h=VT52, 03h=IBM3101)
- 02h BYTE current keypad mode (VT100,VT52 only)
- 4Eh ("N") numeric mode
- 41h ("A") application mode
- 03h 4 BYTEs current state of LEDs (VT100 only)
- 00h off
- 01h on
- 07h WORD line error count
- 09h WORD primary error code (see below)
- 0Bh WORD secondary error code
-
- Values for primary error code:
- 0000h no error
- 0001h unable to make connection
- 0002h communications error, restart session
- 0003h async terminal emulation service unavailable
- 0004h lost carrier
- 0005h all matching lines busy
- 0006h no lines defined for connection name
- 0007h no dial lines available on server
- 0008h no matching dial lines available
- 0009h out of heap space
- 000Ah service error encountered
- 000Bh timed out waiting to connect
- 000Ch communications error
- 000Dh communications error
- 000Eh host wants file transferred to/from PC
- 000Fh host software changed session parameter
- 0010h host software changed tap settings
- 0011h host software changed LED indicator
- 0012h host software changed display background (secondary error code 00h for
- white on black, 01h for black on white)
- 0013h host software changed display option (secondary error code 00h for off,
- 01h for on)
- 0014h communications error
- 0015h communications error
- 0016h unable to make connection
- 0017h unable to make connection
- --------N-610003SF01-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
- AX = 0003h subfn 01h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=02h,AX=0003h/SF=14h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 01h (function "send to host")
- 02h BYTE type
- 00h ASCII byte
- 01h ASCII string
- 02h terminal function code
- 03h up arrow
- 04h down arrow
- 05h left arrow
- 06h right arrow
- 07h break
- 03h N BYTEs type-specific info (see below)
-
- Format of type-specific info:
- Offset Size Description
- ---ASCII byte---
- 03h BYTE byte to send to host
- ---ASCII string---
- 03h WORD length of string
- 05h WORD pointer to string
- ---terminal function code (VT52/VT100)---
- 03h BYTE function code
- 00h keypad 0
- 01h keypad 1
- ...
- 09h keypad 9
- 0Ah keypad -
- 0Bh keypad ,
- 0Ch keypad .
- 0Dh keypad ENTER
- 0Eh PF1
- 0Fh PF2
- 10h PF3
- 11h PF4
- ---terminal function code (IBM3101)---
- 03h BYTE function code
- 00h PF1
- ...
- 07h PF8
- 08h Home
- --------N-610003SF02-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
- AX = 0003h subfn 02h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=03h,AX=0003h/SF=05h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 02h (function "control monitor")
- 02h BYTE display flag
- 00h don't display data received from host
- 01h display data
- --------N-610003SF03-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
- AX = 0003h subfn 03h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- Desc: this function permits the caller to freeze/unfreeze the display and
- the ring buffer
- SeeAlso: AX=0003h/SF=02h,AX=0003h/SF=06h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 03h (function "flow control data")
- 02h BYTE flow control flag
- 00h allow characters to be put into display or ring buffer
- 01h don't place any more characters into display or ring buffer
- --------N-610003SF04-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
- AX = 0003h subfn 04h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=0Ah,AX=0003h/SF=0Dh,AX=0003h/SF=0Fh
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 04h (function "end active session")
- --------N-610003SF05-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
- AX = 0003h subfn 05h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=06h,AX=0003h/SF=08h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 05h (function "set session parameter")
- 02h BYTE parameter number (see below)
- 03h BYTE new parameter value
-
- Values for parameter number:
- 00h line speed (00h=any, 01h=50, 02h=110, 03h=134.5, 04h=150,
- 05h=300,06h=600,07h=1200,08h=2400,09h=4800, 0Ah=9600)
- 01h parity (00h=none, 01h=odd, 02h=even)
- 02h duplex (00h=full, 01h=half)
- 03h character size (00h=7 bits, 01h=8 bits)
- 04h stop bits (00h=1, 01h=2)
- 05h XON/XOFF flow control (00h=no, 01h=yes)
- 07h intercharacter delay in tenths of a second
- 08h interline delay in tenths of a second
- 09h auto linefeed (00h=no, 01h=yes)
- 0Ah filter control characters (00h=no, 01h=yes)
- 0Bh terminal type (00h=VT100,01h=glassTTY,02h=VT52,03h=IBM3101)
- 0Ch auto wrap (00h=no, 01h=yes)
- 0Dh cursor shape (00h=underscore, 01h=block)
- 0Eh character set (00h=UK, 01h=US ASCII)
- 0Fh printer port (00h=LPT1, 01h=LPT2, 02h=LPT3)
- --------N-610003SF06-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
- AX = 0003h subfn 06h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=05h,AX=0003h/SF=07h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 06h (function "get session parameter")
- 02h BYTE parameter number (see AX=0003h/SF=05h)
- 03h BYTE (return) current parameter value
- --------N-610003SF07-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
- AX = 0003h subfn 07h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=05h,AX=0003h/SF=08h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 07h (function "set tab settings")
- 02h WORD pointer to 80-byte buffer in caller's current DS
- each byte = 00h if no tab, 01h if tab at that position
- --------N-610003SF08-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
- AX = 0003h subfn 08h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=07h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 08h (function "get tab settings")
- 02h WORD pointer to 80-byte buffer in caller's current DS
- each byte set to 00h if no tab, 01h if tab at that position
- --------N-610003SF09-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
- AX = 0003h subfn 09h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Bh
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 09h (function "refresh emulation screen")
- --------N-610003SF0A-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
- AX = 0003h subfn 0Ah
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=09h,AX=0003h/SF=0Bh,AX=0003h/SF=0Dh
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 0Ah (function "suspend session temporarily")
- 02h WORD size of session information to be saved
- 04h WORD pointer to buffer in caller's DS
- --------N-610003SF0B-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
- AX = 0003h subfn 0Bh
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=09h,AX=0003h/SF=0Ah
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 0Bh (function "restore previously suspended session")
- 02h WORD size of buffer into which session info is restored
- 04h WORD pointer to buffer in caller's DS
- --------N-610003SF0C-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
- AX = 0003h subfn 0Ch
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 0Ch (function "set state of scroll lock checking")
- 02h BYTE check_scroll_lock flag
- 00h off
- 01h on (display of host data stopped while ScrollLock on)
- --------N-610003SF0D-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
- AX = 0003h subfn 0Dh
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Ah
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 0Dh (function "exit emulation")
- --------N-610003SF0E-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
- AX = 0003h subfn 0Eh
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=14h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 0Eh (function "interrupt on character from host")
- 02h DWORD pointer to routine to be called (0000h:0000h = don't call)
- 06h DWORD stack pointer to use when call is made
- --------N-610003SF0F-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
- AX = 0003h subfn 0Fh
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Bh
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 0Fh (function "start a session")
- 02h WORD pointer to information area in caller's current DS (see below)
-
- Format of information area:
- Offset Size Description
- 00h WORD length of service name
- 02h WORD pointer to service name in caller's DS
- 04h BYTE type of connection (00h=connection name, 01h=dialout)
- 05h WORD length of connection name/telephone number
- 07h WORD pointer to connection name/telephone number
- --------N-610003SF10-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
- AX = 0003h subfn 10h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=13h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 10h (function "start/stop printing of data received from host)
- 02h WORD print capture flag (00h=off, 01h=on)
- --------N-610003SF11-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
- AX = 0003h subfn 11h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 11h (function "get file transfer parameters")
- 02h WORD pointer to info area in caller's current DS (see below)
-
- Format of info area:
- Offset Size Description
- 00h BYTE protocol flag (00h none, 01h Kermit)
- 01h BYTE direction flag (00h send, 01h receive)
- 02h BYTE length of null-terminated PC filename
- 03h DWORD pointer to null-terminated PC filename
- 07h BYTE length of null-terminated host filename
- 08h DWORD pointer to null-terminated host filename
- --------N-610003SF12-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
- AX = 0003h subfn 12h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=11h,AX=0003h/SF=15h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 12h (function "get connection information")
- 02h WORD offset of buffer for connection information (see below)
-
- Format of connection information:
- Offset Size Description
- 00h WORD length of service name (returned)
- 02h WORD pointer to 64-byte buffer for service name
- 04h BYTE type of connection
- 00h connection name
- 01h dialout
- 05h WORD length of connection name/telephone number
- 07h WORD pointer to 64-byte buffer for name/telno
- 09h BYTE server line number being used (returned)
- --------N-610003SF13-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
- AX = 0003h subfn 13h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Eh
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 13h (function "start/stop tracing data traffic in session")
- 02h BYTE trace flag (00h=off, 01h=on)
- --------N-610003SF14-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
- AX = 0003h subfn 14h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=0Eh
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 14h (function "interrupt on message from host")
- 02h DWORD pointer to routine to be called (0000h:0000h = don't call)
- 06h DWORD stack pointer to use when call is made
- --------N-610003SF15-------------------------
- INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
- AX = 0003h subfn 15h
- DS:BX -> argument block (see below)
- Return: AX = status (see AX=0003h/SF=00h)
- SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
-
- Format of argument block:
- Offset Size Description
- 00h BYTE session ID (00h)
- 01h BYTE 15h (function "reset error")
- --------V-610003-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
- AX = 0003h
- Return: AX = zoom factor
- Notes: returns the current zoom factor
- INT 61h is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA",INT 61/AX=0005h"OPTIMA"
- --------N-610004-----------------------------
- INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
- AX = 0004h
- DS:DX -> request block (function 0008h)
- Return: AX = status
- 0000h server ID returned in request block
- 000Fh invalid drive
- 0015h drive not ready
-
- Format of request block:
- Offset Size Description
- 00h WORD 0008h
- 02h WORD drive number (0=default, 1=A, ...)
- 04h 6 BYTEs buffer for server ID
- --------V-610004-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
- AX = 0004h
- Notes: Specify Mode is enabled by hot key (seeAlso below), and allows
- panning and zooming via the numeric keypad.
- INT 61 is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA",INT 61/AX=0007h"OPTIMA"
- --------N-610005-----------------------------
- INT 61 - Banyan VINES - PRINTER CONTROL
- AX = 0005h
- DS:DX -> request block
- Return: AX = status
- 0000h successful
- 0001h network software not installed or incompatible
- SeeAlso: INT 2F/AX=D702h
-
- Format of request block:
- Offset Size Description
- 00h WORD function
- 0201h "endspool" all data for a print job has been sent
- 0205h "getactive" get currently active printer port
- 02h WORD number of active port (1-3)
- 04h WORD ??? (0 for func 0201h, 3 for func 0205h)
- 06h WORD 0000h
- --------V-610005-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
- AX = 0005h
- BX:CX -> buffer for window parameters (see below)
- Notes: INT 61 is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA",INT 61/AX=0003h"OPTIMA"
- SeeAlso: INT 61/AX=0006h"OPTIMA"
-
- Format of window parameters:
- Offset Size Description
- 00h WORD X start of zoom window
- 02h WORD Y start of zoom window
- 04h WORD X end of zoom window
- 06h WORD Y end of zoom window
- 08h WORD current zoom factor
- 0Ah WORD zoom offset start X
- 0Ch WORD zoom offset start Y
- --------V-610006-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
- AX = 0006h
- BX:CX -> zoom window description (see below)
- Notes: width of zoom window must be a multiple of the pixel replication
- factor
- INT 61 is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA",INT 61/AX=0001h"OPTIMA"
- SeeAlso: INT 61/AX=0005h"OPTIMA",INT 61/AX=0008h"OPTIMA"
-
- Format of zoom window description:
- Offset Size Description
- 00h WORD X start of zoom window
- 02h WORD Y start of zoom window
- 04h WORD X end of zoom window
- 06h WORD Y end of zoom window
- --------V-610007-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
- AX = 0007h
- Return: AX = current state (0000h/0001h)
- Desc: returns the current toggle state of the application (END) key in
- specify mode. E.g. in the OPTIMA AutoCAD driver, 0 means AutoCAD
- calls INT 61/AX=0001h every time the crosshair cursor moves.
- Notes: In specify mode, the END key has been reserved for applications.
- INT 61 is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA",INT 61/AX=0001h"OPTIMA"
- SeeAlso: INT 61/AX=0004h"OPTIMA",INT 7A"AutoCAD"
- --------N-610007BX0002-----------------------
- INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
- AX = 0007h
- BX = 0002h
- DS:DX -> StreetTalk service name
- DS:DI -> port record block (see below)
- Return: AX = status (see below)
- SeeAlso: AX=0007h/BX=0004h
-
- Values for status:
- 0000h successful
- 0001h PC network software not installed or incompatible
- 03E9h incorrect name syntax
- 03EAh organization name too long
- 03EBh group name too long
- 03ECh item name too long
- 03EDh StreetTalk name too long
- 03F3h organization not found
- 03F4h group not found
- 03F5h StreetTalk name not found
- 03F8h not a StreetTalk name
- 0409h modify access denied
- 040Dh appropriate StreetTalk name unavailable
-
- Format of port record block:
- Offset Size Description
- 00h WORD number of 17-byte elements
- 02h 17 BYTEs element (byte 00h = input port type, bytes 01h-10h = port)
- (see AX=0001h#"Sosock" for port format)
- --------N-610007BX0004-----------------------
- INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
- AX = 0007h
- BX = 0004h
- DS:DX -> StreetTalk name of service
- DS:DI -> port record block (see below)
- Return: AX = status (see AX=0007h/BX=0002h)
- SeeAlso: AX=0007h/BX=0002h
-
- Format of port record block:
- Offset Size Description
- 00h WORD number of 17-byte elements
- 02h 17 BYTEs element: byte 00h = input port type, 01h-10h = port
- (see AX=0001h#"Sosock" for port format)
- --------N-610007BX0005-----------------------
- INT 61 - Banyan VINES - GET USER NAME
- AX = 0007h
- BX = 0005h
- DS:DX -> 64-byte buffer for user's StreetTalk name
- Return: AX = status
- 0000h successful
- 0001h network software not installed or incompatible
- Note: if no user logged in, first byte of returned name will be 00h
- SeeAlso: AX=0007h/BX=0007h
- --------N-610007BX0006-----------------------
- INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
- AX = 0007h
- BX = 0006h
- SI = error code (>100)
- DS:DX -> 80-byte buffer for error text
- Return: AX = status
- 0000h successful
- 0001h network software not installed or incompatible
- --------N-610007BX0007-----------------------
- INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
- AX = 0007h
- BX = 0007h
- DS:DX -> NiceName block (see below)
- Return: AX = status (see AX=0007h/BX=0002h)
- SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0008h
-
- Format of NiceName block:
- Offset Size Description
- 00h WORD type of name
- 0064h organization
- 00C8h group
- 012Ch item
- 02h WORD pointer to ASCIZ input name
- 04h WORD pointer to 64-byte buffer for output name
- --------N-610007BX0008-----------------------
- INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
- AX = 0007h
- BX = 0008h
- DS:DX -> enumerate block (see below)
- Return: AX = status
- 0000h successful
- 0411h all matching names have been returned
- 0412h some groups unavailable, all available matches returned
- Note: each program using this call should continue until a nonzero status
- is returned; otherwise, some resources will not be freed for several
- hours
- SeeAlso: AX=0007h/BX=0007h
-
- Format of enumerate block:
- Offset Size Description
- 00h WORD return code
- 02h WORD pointer to pattern string
- 04h WORD enumerate type
- 0064h organization
- 00C8h group
- 012Ch item
- 06h WORD enumerate class
- 0000h unspecified (return all matching items)
- 0001h user names
- 0002h service names
- 0003h list names
- 0004h nicknames
- 08h WORD pointer to category criteria block (see below) or 0
- 0Ah WORD pointer to array of 64-byte returned names
- 0Ch WORD number of names returned
- 0Eh 6 BYTEs reserved for subsequent enumerated calls (set to zeros on first
- call)
-
- Format of category criteria block:
- Offset Size Description
- 00h WORD exclude flag
- 0000h return only items with the specified categories
- 0001h return all items except those with the given categories
- 02h WORD number of categories
- 04h WORD category 1 value
- 06h WORD category 2 value
- ...
-
- Values for common service categories:
- 0002h file service
- 0003h print service
- 0004h mail service
- 0005h StreetTalk
- 0006h time service
- 0008h semaphore service
- 0009h 3270/SNA service
- 000Ah asynchronous terminal emulation service
- 000Ch NETBIOS service
- 000Dh PC-based service
- --------V-610008-----------------------------
- INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
- AX = 0008h
- BX = X start of zoom offset
- CX = Y start of zoom offset
- Notes: specifies the first byte of video memory to appear in the zoom window
- INT 61 is the default interrupt; the actual interrupt number can be
- obtained by calling INT 16/AH=FFh
- not all vendors include the Tseng TSR which supports these functions
- SeeAlso: INT 16/AH=FFh"OPTIMA",INT 61/AX=0000h"OPTIMA",INT 61/AX=0006h"OPTIMA"
- --------N-610008BX0002-----------------------
- INT 61 - Banyan VINES - POST MESSAGE ON LOCAL DISPLAY
- AX = 0008h
- BX = 0002h
- CX = flags
- bit 0: message will remain on screen until user presses ^X
- bit 1: ring bell after displaying message
- bit 2: blink
- DS:DX -> ASCIZ string to display (only first 80 chars used)
- Return: AX = status
- 0000h successful
- 000Bh message display function currently busy
- 000Ch message queue full
- Note: queues up to three messages to be displayed on the bottom line
- SeeAlso: AX=0008h/BX=0003h
- --------N-610008BX0003-----------------------
- INT 61 - Banyan VINES - INTERCEPT VINES 25th-LINE MESSAGES AT LOCAL PC
- AX = 0008h
- BX = 0003h
- DS:DX -> request block
- Return: AX = status
- 0000h successful
- 0001h network software not installed or incompatible
- Notes: message handler should not call BIOS or DOS functions, and should
- either call next handler or simply return
- to stop intercepting messages, set prev and next request blocks to
- point at each other
- SeeAlso: AX=0008h/BX=0002h
-
- Format of request block:
- Offset Size Description
- 00h DWORD pointer to user-written message handler
- 04h DWORD pointer to next request block (filled in by VINES)
- 08h DWORD pointer to previous request block (filled in by VINES)
- 0Ch DWORD pointer to message storage area (filled by VINES) (see below)
-
- Format of message storage area:
- Offset Size Description
- 00h 16 BYTEs IPC port of message sender (see AX=0001h#"Sosock")
- 10h BYTE message flags
- 11h WORD reserved
- 13h BYTE length of message
- 14h 80 BYTEs message text
- --------N-61000A-----------------------------
- INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
- AX = 000Ah
- Note: either 3270/SNA or 3270/BSC interface will use AX=000Ah, depending on
- which is loaded second. The first interface loaded will use AX=0002h
- SeeAlso: INT 61/AX=0002h
- --------N-6101-------------------------------
- INT 61 - Banyan VINES - CHECK SERVICE
- AH = 01h
- AL = service ID
- 01h communications
- 02h primary 3270 emulation
- 03h async terminal emulation
- 04h file deflection
- 07h StreetTalk
- 08h environment
- 0Ah secondary 3270 emulation
- 0Bh semaphore service
- 0Ch 3270 emulation active status
- 0Dh 3270 keyboard interrupt simulator
- Return: AX = status
- 0000h installed
- 0001h not installed
- 0002h invalid ID
- --------N-6101--BX0000-----------------------
- INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
- AH = 01h
- BX = 0000h
- DH = tag number
- DL = device number
- DS:SI -> buffer to send to kernel
- ES:DI -> integer containing size of buffer
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: there are a large number of tags available; the items returned
- all refer to local kernel configuration, and are not needed in
- normal use.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=02"PC/TCP"
- --------N-6102-------------------------------
- INT 61 - Banyan VINES - GET REVISION NUMBER
- AH = 02h
- DS:DX -> 2-byte buffer for result
- Return: AX = 0000h installed
- DS:DX buffer contains revision number as
- 10000d * major_ver + 100d * minor_ver + patch_revision
- --------N-6102--BX0000-----------------------
- INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
- AH = 02h
- BX = 0000h
- DH = tag number
- DL = device number
- DS:SI -> buffer for result (up to 48 bytes for version <= 2.2)
- ES:DI -> integer containing size of buffer
- Return: CF clear if successful
- Data loaded into specified buffer, and size value altered
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: there are a large number of tags available; the items returned
- all refer to local kernel configuration, and are not needed in
- normal use.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
- --------N-6105-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
- AH = 05h
- BX = network descriptor
- Return: CF clear if successful
- DX:AX = Internet address of ND
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: the installation check consists of testing for the signature "TCPTSR"
- three bytes beyond the start of the interrupt handler
- INT 61 is the default; PC/TCP v2.05 may be configured to use any
- interrupt from 20h through E0h
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=16h"PC/TCP"
- --------N-6106-------------------------------
- INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
- AH = 06h
- BX = network descriptor (must be allocated and open)
- DS:SI -> 38-byte buffer (see below)
- Return: CF clear if successful
- buffer filled
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Desc: returns the statistics relevant to the particular network interface
- used by the specified network descriptor
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=05h"PC/TCP"
-
- Format of buffer:
- Offset Size Description
- 00h WORD interface class (e.g. 802.3)
- 02h WORD type (manufacturer) of interface
- 04h WORD interface number
- 06h DWORD (big-endian) IP address of interface
- 0Ah DWORD subnet mask
- 0Eh WORD 0001h if interface is up
- 10h DWORD total packets received
- 14h DWORD total packets sent
- 18h DWORD receive errors
- 1Ch DWORD send errors
- 20h WORD length of local net address (e.g. 0006h for Ethernet)
- 22h DWORD pointer to local net address
- --------N-6107-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
- AH = 07h
- BX = local network descriptor
- Return: CF clear if successful
- AX = global network descriptor
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: the new network descriptor can be accessed from all processes and is
- independent of DOS
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
- SeeAlso: INT 61/AH=29h
- --------N-6108-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
- AH = 08h
- BX = network descriptor
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: the descriptor will be closed and resources released. If a stream
- descriptor, the protocol (FIN etc) is completed unless the
- non-blocking option has been set.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=09h"PC/TCP"
- --------N-6109-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
- AH = 09h
- Return: CF clear
- Notes: this call performs function 08h on every non-global network descriptor.
- Global descriptors must be released individually.
- INT 61 is the default; PC/TCP v2.05 may be configured to use any
- interrupt from 20h through E0h
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
- --------N-610A-------------------------------
- INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
- AH = 0Ah
- ???
- Return: ???
- Note: this function is described as "unused" in the v2.05 and v2.2
- documentation
- SeeAlso: AH=0Bh
- --------N-610B-------------------------------
- INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
- AH = 0Bh
- ???
- Return: ???
- Note: this function is described as "unused" in the v2.05 and v2.2
- documentation
- SeeAlso: AH=0Ah
- --------N-610C-------------------------------
- INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
- AH = 0Ch
- BX = network descriptor or one of the following:
- FFFCh for kernel ICMP statistics
- FFFDh for kernel UDP statistics
- FFFEh for kernel IP statistics
- FFFFh for kernel TCP statistics
- DS:DX -> 64-byte buffer
- Return: CF clear if successful
- buffer filled
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: the fields filled in for a network descriptor depend on the protocol
- family used by that descriptor's connection
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
-
- Format of kernel TCP statistics:
- Offset Size Description
- 00h 16 BYTEs unused
- 10h DWORD bytes sent
- 14h DWORD bytes received
- 18h 8 BYTEs unused
- 20h DWORD packets sent
- 24h DWORD packets received
- 28h DWORD bad checksums
- 2Ch DWORD count of window ignored by remote
- 30h DWORD timeouts
- 34h DWORD resets
- 38h DWORD duplicate packets
- 3Ch DWORD retransmits
-
- Format of kernel IP statistics:
- Offset Size Description
- 00h 8 BYTEs unused
- 08h DWORD invalid IP header length errors
- 0Ch DWORD protocol errors (unwanted packets)
- 10h DWORD duplicate fragments received
- 14h DWORD bad fragments received
- 18h DWORD security errors
- 1Ch DWORD count of bad IP addresses received
- 20h DWORD packets sent
- 24h DWORD packets received
- 28h DWORD bad checksums received
- 2Ch DWORD total IP protocol errors
- 30h DWORD fragmentation errors
- 34h DWORD IP packets discarded + bad security + bad fragments
- 38h DWORD fragments received
- 3Ch 4 BYTEs unused
-
- Format of kernel UDP statistics:
- Offset Size Description
- 00h 28 BYTEs unused
- 1Ch DWORD packets dropped for lack of buffers
- 20h DWORD packets sent
- 24h DWORD packets received
- 28h DWORD bad checksums
- 2Ch DWORD port not listening errors
- 30h 4 BYTEs unused
- 34h DWORD truncated receives
- 38h 8 BYTEs unused
-
- Format of kernel ICMP statistics:
- Offset Size Description
- 00h DWORD "TimeEx" sent
- 04h DWORD "TimeEx" received
- 08h DWORD "ParamProb" sent
- 0Ch DWORD "ParamProb" received
- 10h DWORD redirects received
- 14h DWORD source quenches received
- 18h DWORD ICMP Echo Requests ("ping") sent
- 1Ch DWORD ICMP Echo Requests received
- 20h DWORD packets sent
- 24h DWORD packets received
- 28h DWORD bad packets received
- 2Ch DWORD "DestUn" received
- 30h DWORD packet send errors
- 34h DWORD "DestUn" sent
- 38h DWORD ICMP Echo replies received
- 3Ch DWORD ICMP Echo replies sent
- --------N-610D-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
- AH = 0Dh
- BX = possible network descriptor
- Return: CF clear if valid
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
- SeeAlso: INT 61/AH=22h
- --------N-610E-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
- AH = 0Eh
- BX = maximum value of network descriptor for which to return info
- DS:DX -> 32-bit (max) array of bit flags for read readiness
- ES:DI -> 32-bit (max) array of bit flags for write readiness
- Return: CF clear
- Notes: bits in the DS:DX buffer are set if the corresponding network
- descriptor may be read without blocking; bits in the ES:DI buffer
- are set if the corresponding network descriptor may be written
- without blocking. This implies that the network descriptor has
- opened correctly and the protocol initialized.
- the installation check consists of testing for the signature "TCPTSR"
- three bytes beyond the start of the interrupt handler
- INT 61 is the default; PC/TCP v2.05 may be configured to use any
- interrupt from 20h through E0h
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-610F-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
- AH = 0Fh
- Return: CF clear
- AX = version (AH = major, AL = minor)
- BX = patch level
- Note: patch levels are no longer used starting with version 2.10; instead,
- the minor version level is incremented.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-6110-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
- AH = 10h
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-6111-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
- AH = 11h
- Return: CF clear
- AX = previous state
- 0000h async calls were already disabled
- else async calls were enabled
- SeeAlso: INT 61"PC/TCP",INT 61/AH=12h
- --------N-6112-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
- AH = 12h
- Return: CF clear
- AX = previous state
- 0000h async calls were disabled
- else async calls were already enabled
- SeeAlso: INT 61"PC/TCP",INT 61/AH=11h
- --------N-6113-------------------------------
- INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
- AH = 13h
- BX = network descriptor (FFFFh for automatic net_getdesc)
- DX = protocol (see below)
- DS:SI -> buffer for "addr" structure (see below)
- Return: CF clear if successful
- AX = network descriptor used or allocated
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: invokes AH=22h if BX=FFFFh on entry; also invokes AH=19h in various
- cases
- will wait for protocol on stream connections unless non-blocking was
- set with AH=20h
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=18h,INT 61/AH=23h
-
- Values for protocol:
- 0001h raw net (undocumented)
- 0002h raw IP
- 0003h datagram (UDP)
- 0004h stream (TCP)
- 0005h raw ICMP
-
- Format of structure "addr":
- Offset Size Description
- 00h DWORD Internet address (network order)
- 04h WORD remote socket number (network order)
- 06h WORD local socket number (network order) 0000h means "you choose"
- 08h BYTE protocol (see above)
- --------N-6114-------------------------------
- INT 61 u - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
- AH = 14h
- BX = network descriptor
- Return: CF set
- AX = 0018h (see INT 61"PC/TCP")
- Note: displays error message "Illegal system call! Please upgrade your
- PCserver software" to standard output
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=0Ah,INT 61/AH=15h
- --------N-6115-------------------------------
- INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
- AH = 15h
- ???
- Return: ???
- Note: this function is described as "unused" in the v2.2 documentation
- SeeAlso: INT 61/AH=0Bh,INT 61/AH=14h
- --------N-6116-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
- AH = 16h
- BX = network descriptor
- DS:DX -> 9-byte buffer for "addr" structure (see AH=13h)
- Return: CF clear if successful
- buffer filled
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-6117-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
- AH = 17h
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this routine is deprecated in v2.1+ and will eventually be withdrawn;
- in v2.1+, this function calls AH=01h which should be used instead
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
- --------N-6118-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
- AH = 18h
- BX = network descriptor
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: a TCP "FIN" command is sent and no further data may be transmitted,
- although the connection remains open
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h"PC/TCP"
- --------N-6119-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
- AH = 19h
- BX = network descriptor
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Desc: immediately destroys the specified connection
- Note: send a TCP "RST" command if a stream connection is open
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=24h
- --------N-611A-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
- AH = 1Ah
- BX = network descriptor
- CX = number of bytes to transmit (0000h allowed)
- DX = send options (see below)
- DS:SI -> data to be written
- Return: CF clear if successful
- AX = number of bytes actually written
- DX = ???
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: the installation check consists of testing for the signature "TCPTSR"
- three bytes beyond the start of the interrupt handler
- INT 61 is the default; PC/TCP v2.05 may be configured to use any
- interrupt from 20h through E0h
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
-
- Bitfields for send options:
- bit 0 signal "URG"ent data
- bit 3 attempt rerouting on non-stream calls if first attempt fails
- bit 4 send data with PUSH flag (no override of Nagle)
- (see option 0Ch)
- bit 5 fail rather than truncating datagram
- bit 6 fail rather than blocking
- bit 7 broadcast packet
- --------N-611B-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
- AH = 1Bh
- BX = network descriptor
- CX = maximum number of bytes to read
- DX = receive options (see below)
- DS:SI -> buffer for data
- ES:DI -> "addr" structure (see AH=13h) for remote from which to read
- 0000h:0000h for any
- Return: CF clear if successful
- AX = number of bytes actually read
- DX = ???
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
-
- Bitfields for receive options:
- bit 1 do not remove data from queue, just copy it
- bit 2 do not copy data, just remove it from queue
- bit 5 fail if datagram would be truncated
- bit 6 do not block, return error if no data available
- Note: special case for UDP: if both bits 1 and 2 set, return num of datagrams
- --------N-611C-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
- AH = 1Ch
- BX = network descriptor
- CX = number of bytes to transmit (0000h allowed)
- DX = send options (see AH=1Ah)
- DS:SI -> data to be written
- ES:DI -> "addr" structure (see AH=13h)
- Return: CF clear if successful
- AX = number of bytes actually written
- DX = ???
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this function differs from AH=1Ah in that the address and socket
- numbers can be overridden
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
- --------N-611D-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
- AH = 1Dh
- BX = network descriptor
- CX = maximum number of bytes to read
- DX = receive options (see AH=1Bh)
- DS:SI -> buffer for received data
- ES:DI -> 9-byte buffer containing "addr" structure (see AH=13h)
- Return: CF clear if successful
- AX = number of bytes read
- DX = ???
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: this function can read from any host or a designated host depending
- on settings in the "addr" structure
- only for use with datagram or Raw descriptors
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
- --------N-611E-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
- AH = 1Eh
- BX = network descriptor
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: bufferred data is transmitted immediately, overriding Nagle's algorithm
- if necessary
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-611F-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
- AH = 1Fh
- BX = network descriptor
- CX = event type (see below)
- DS:SI -> event handler routine
- ES:DI = 32-bit hint passed to handler
- Return: CF clear if successful
- DS:DX -> previous handler
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: ICMP messages do not trigger events on stream connections
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
-
- Values for event type:
- 00h alarm
- 01h open (successfully opened stream connection)
- 02h receive (data available)
- 03h transmit (ACK received on stream connection)
- 04h transmit flush???
- 05h foreign close (remote host closed data connection)
- 06h close (local host closed connection and protocol is complete)
- 07h error (error code passed to handler as arg)
-
- Event handler called with:
- BX = network descriptor
- CX = event type (see above)
- DS:DX -> arg
- ES:DI = 32-bit hint value
- STACK: small stack, possibly the DOS stack
- --------N-6120-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
- AH = 20h
- BX = network descriptor
- CX = length of buffer (usually 04h)
- DS:DX -> buffer containing option
- SI = (ignored by v2.2-)
- DI = option to set (see below)
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=21h
-
- Values for option to set:
- 01h set non-blocking mode if non-zero
- 02h timeout of call in milliseconds
- 03h user-defined 4-byte magic cookie (not used by kernel)
- 04h TCP window or UDP buffer count (WORD, unsigned)
- 06h do TCP keep-alives if non-zero
- 09h (v2.1+) set IP precedence
- 0Ah (v2.1+) set IP type of service
- 0Bh use a privileged port if port = 0
- 0Ch turn off TCP PUSH bit and don't flush buffer every write (see AH=1Ah)
- Note: use "C" true or false values for boolean options
- --------N-6121-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
- AH = 21h
- BX = network descriptor
- CX = length of buffer
- DS:DX -> buffer for return values
- SI = 0004h (ignored by v2.2-)
- DI = option (see AH=20h)
- Return: CF clear if successful
- DS:DX -> value (usually 32 bits) returned by selected option
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=20h
- --------N-6122-------------------------------
- INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
- AH = 22h
- Return: CF clear if successful
- AX = network descriptor
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: the descriptor will be an integer in the range 00h-1Fh, and a DOS call
- is made to allocate this as a file descriptor. Hence a number may
- not refer to a PC/TCP network descriptor and a DOS file handle
- simultaneously.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h,INT 61/AH=29h
- --------N-6123-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
- AH = 23h
- BX = network descriptor or FFFFh to allocate descriptor
- DX = type of service
- DS:SI -> "addr" structure (see AH=13h)
- Return: CF clear if successful
- AX = network descriptor
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Notes: type of service and "addr" structure are as for AH=13h
- any of the address structure can be zero; normally local socket number
- is filled in prior to call
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h
- --------N-6124-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
- AH = 24h
- Return: always successful
- Note: performs "net_abort" (AH=19h) on all open non-global descriptors
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=19h
- --------N-6125-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
- AH = 25h
- DX,BX = IP address in network order
- CX = length of buffer for name
- DS:SI -> buffer for host name
- Return: CF clear if successful
- buffer filled with ASCIZ host name
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this function will use the host table and or DNS to resolve the
- address, depending on kernel configuration. Use this call for the
- normal gethostbyaddr function.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=26h,INT 61/AH=27h
- --------N-6126-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
- AH = 26h
- DX,BX = IP address in network order
- CX = length of buffer
- DS:SI -> buffer for host name
- Return: CF clear if successful
- buffer filled with ASCIZ host name
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: normally one would use AH=25h instead of this function
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=27h
- --------N-6127-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
- AH = 27h
- DX,BX = IP address in network order
- CX = length of buffer
- DS:SI -> buffer for host name
- Return: CF clear if successful
- buffer filled with ASCIZ host name
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: normally one would use AH=25h instead of this function
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=26h
- --------N-6128-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
- AH = 28h
- BX = network descriptor 1
- CX = network descriptor 2
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: the two descriptors will exchange places; both must be local or both
- global
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-6129-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
- AH = 29h
- Return: CF clear if successful
- AX = network descriptor
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: use this function rather than AH=22h to avoid a DOS call by the PC/TCP
- kernel; the returned descriptor will be >= 40h and cannot be used
- with "net_select" (AH=0Eh)
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=07h"PC/TCP"
- SeeAlso: INT 61/AH=22h
- --------N-612A-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
- AH = 2Ah
- DS:SI -> 26-byte buffer for configuration information (see below)
- Return: CF clear
- AX = 0000h
- buffer filled
- Note: size of buffer may vary with kernel version; 26 bytes is the size for
- versions 2.05 through 2.2
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
-
- Format of configuration information:
- Offset Size Description
- 00h BYTE maximum TCP connections available
- 01h BYTE maximum UDP connections available
- 02h BYTE maximum IP connections available
- 03h BYTE maximum Raw Net connections available
- 04h BYTE number of TCP connections currently in use
- 05h BYTE number of UDP connections currently in use
- 06h BYTE number of IP connections currently in use
- 07h BYTE number of Raw Net connections currently in use
- 08h WORD number of local network descriptors active
- 0Ah WORD number of global network descriptors active
- 0Ch BYTE maximum header size on network
- 0Dh BYTE maximum trailer size on network
- 0Eh WORD size of large packet buffer
- 10h WORD number of network interfaces attached
- 12h DWORD milliseconds since kernel started
- 16h DWORD IP broadcast address
- --------N-612B-------------------------------
- INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
- AH = 2Bh
- BX = network descriptor
- CX,DX = time before alarm in milliseconds
- DS:SI -> handler which will receive call (see INT 61/AH=1Fh)
- ES:DI = 32-bit cookie passed to handler
- Return: CF clear if successful
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this function will case a NET_AS_ALARM to be generated; it is intended
- for TSRs, etc. to regain control periodically
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-6130-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
- AH = 30h
- BX,DX = IP address of host
- CX = length of data to send
- Return: CF clear if successful (i.e. reply received)
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
- --------N-61---------------------------------
- INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
- AH = function
- 31h "net_add_route"
- 32h "net_del_route"
- 33h "net_dump_routes"
- Notes: these functions are described as "unused" in the v2.2 documentation
- router configuration can be altered using INT 61/AH=01h
- --------N-6134-------------------------------
- INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
- AH = 34h
- ???
- Return: ???
- Note: this function is described as "reserved" in the v2.2 documentation
- --------N-6150-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
- AH = 50h
- DS:DX -> ASCIZ IP address as "dotted quad" (max 127 chars)
- Return: CF clear if successful
- DX:AX -> IP address
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
- --------N-6151-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
- AH = 51h
- CX = size of destination buffer
- DS:DX -> ASCIZ host name (max 127 chars)
- ES:DI -> destination buffer or 0000h:0000h
- Return: CF clear if successful
- DX:AX -> IP address of host
- destination buffer filled with canonical host name
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this function calls DOS, and can fail if the DOS call fails
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
- --------N-6152-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
- AH = 52h
- CX = size of destination buffer
- DS:DX -> ASCIZ host name (max 127 chars)
- ES:DI -> destination buffer or 0000h:0000h
- Return: CF clear if successful
- DX:AX -> IP address of host
- destination buffer filled with canonical host name
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this function will poll all configured domain name servers if necessary
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
- --------N-6153-------------------------------
- INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
- AH = 53h
- DS:DX -> ASCIZ name to be resolved (max 127 chars)
- Return: CF clear if successful
- DX:AX -> IP address of host
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this function is not supported by v2.10+
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
- --------N-6154-------------------------------
- INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
- AH = 54h
- CX = size of destination buffer
- DS:DX -> ASCIZ host name (max 127 chars)
- ES:DI -> destination buffer or 0000h:0000h
- Return: CF clear if successful
- DX:AX -> IP address of host
- destination buffer filled with canonical host name
- CF set on error
- AX = error code (see INT 61"PC/TCP")
- Note: this function uses all configured methods in turn to resolve the
- name (numerical, then host table, then DNS, then IEN116)
- BUG: the SLIP kernel for v2.05 bounds-checks the wrong register, so values
- greater than 54h in AH may crash the system. Other kernels may have
- this bug as well; it has been fixed in the v2.2 SLIPDRV kernel.
- SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=50h,INT 61/AH=51h
- SeeAlso: INT 61/AH=52h,INT 61/AH=53h
- --------*-62---------------------------------
- INT 62 - reserved for user interrupt
- --------d-62---------------------------------
- INT 62 - Adaptec and OMTI controllers - DRIVE 0 DATA
- Notes: this vector stores the third four bytes of the parameter table for
- hard disk 0
- SeeAlso: INT 60"Adaptec",INT 61"Adaptec",INT 63"Adaptec"
- --------b-62---------------------------------
- INT 62 - HP 95LX - USED BY CALCULATOR
- SeeAlso: INT 60"HP 95LX"
- ----------62---------------------------------
- INT 62 - MS SQL Server/Sybase DBLIBRARY interface - ???
- AH = function (00h to 07h)
- CX = FFFEh
- DX = FFFFh
- ???
- Return: ???
- Note: the installation check consists of testing for the string "DBLIBRARY"
- 2 bytes past the interrupt handler
- SeeAlso: AH=08h"SQL"
- Index: installation check;MS SQL Server|installation check;Sybase DBLIBRARY
- --------V-620000-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETMODE" - GET CURRENT VIDEO MODE NUMBER
- AX = 0000h
- ES:BX -> ???
- Return: AX = current video mode number
- Notes: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- the installation check consists of testing for the signature "FG" ten
- bytes beyond the start of the interrupt handler
- SeeAlso: AX=0001h,AX=0006h
- Index: installation check;Fastgraph/Light
- --------V-620001-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETMODE" - SELECT VIDEO MODE AND INITIALIZE
- AX = 0001h
- BX = new video mode or FFFFh for current mode
- ES:DX -> ???
- Notes: video modes are the same as the BIOS video modes except for
- 0Bh Hercules graphics 720x348
- 0Ch Hercules graphics 320x200
- 15h VGA graphics 320x400x256
- 16h VGA graphics 320x240x256
- 17h VGA graphics 320x480x256
- this call resets the active video page to page 0000h, the clipping
- region to the entire screen, text rows to 25, etc.
- SeeAlso: AX=0000h,AX=0002h,INT 10/AH=00h
- --------V-620002-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_TESTMODE" - CHECK IF VIDEO MODE AVAILABLE
- AX = 0002h
- BX = desired video mode (00h-17h)
- CX = required number of video pages (ignore memory size if <= 0)
- Return: AX = status
- 0000h mode not available with requested number of pages
- 0001h mode is available
- SeeAlso: AX=0001h,AX=0003h,AX=0004h,AX=0005h
- --------V-620003-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_BESTMODE" - GET BEST VIDEO MODE GIVEN RESOLUTN
- AX = 0003h
- BX = horizontal resolution
- CX = vertical resolution
- DX = number of video pages required (both physical and virtual)
- Return: AX = proposed video mode number or FFFFh if no matching video mode
- SeeAlso: AX=0002h,AX=0004h
- --------V-620004-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_AUTOMODE" - GET VIDEO MODE WITH MOST FEATURES
- AX = 0004h
- Return: AX = proposed video mode number
- Note: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- SeeAlso: AX=0002h,AX=0003h,AX=0005h
- --------V-620005-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_EGACHECK" - GET INFO ABOUT ACTIVE EGA DISPLAY
- AX = 0005h
- Return: AX = number of 64K banks of video memory, or 0000h if no EGA or EGA
- without an Enhanced Color Display
- SeeAlso: AX=0002h,AX=0003h
- --------V-620006-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_RESET" - ERASE SCREEN AND RESTORE SCREEN ATTR
- AX = 0006h
- Notes: this call is ignored in graphics modes
- the screen attributes are only restored if ANSI.SYS is loaded
- SeeAlso: AX=0000h
- --------V-620007-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CURSOR" - SPECIFY WHETHER TEXT CURSR IS VISIBLE
- AX = 0007h
- BX = new state (0000h invisible, 0001h visible)
- Note: this call is ignored in text modes
- --------V-620008-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0008h to 0009h
- Return: AX = 0000h
- --------V-62000A-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETMAXX" - GET MAXIMUM COLUMN IN SCREEN SPACE
- AX = 000Ah
- Return: AX = maximum X coordinate in screen space
- (or character space if in text mode)
- SeeAlso: AX=000Bh,AX=0045h
- --------V-62000B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETMAXY" - GET MAXIMUM ROW IN SCREEN SPACE
- AX = 000Bh
- Return: AX = maximum Y coordinate in screen space
- (or character space if in text mode)
- SeeAlso: AX=000Ah,AX=0045h
- --------V-62000C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_XALPHA" - CONVERT SCREEN COLUMN TO CHAR COLUMN
- AX = 000Ch
- BX = screen space column
- Return: AX = character space column containing specified coordinate
- SeeAlso: AX=000Dh,AX=000Eh
- --------V-62000D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_YALPHA" - CONVERT SCREEN ROW TO CHARACTER ROW
- AX = 000Dh
- BX = screen space row
- Return: AX = character space row containing specified coordinate
- SeeAlso: AX=000Ch,AX=000Fh
- --------V-62000E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_XCONVERT" - CONVERT CHAR COLUMN TO SCREEN COL
- AX = 000Eh
- BX = character space column
- Return: AX = screen space column of leftmost pixel in specified character col
- SeeAlso: AX=000Ch,AX=000Fh
- --------V-62000F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_YCONVERT" - CONVERT CHARACTER ROW TO SCREEN ROW
- AX = 000Fh
- BX = character space row
- Return: AX = screen space row of topmost pixel in specified character row
- SeeAlso: AX=000Dh,AX=000Eh
- --------V-620010-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETLINES" - GET TEXT ROWS FOR CURR VIDEO MODE
- AX = 0010h
- Return: AX = number of text rows on screen in current video mode
- SeeAlso: AX=0011h
- --------V-620011-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETLINES" - SET TEXT ROWS ON SCREEN
- AX = 0011h
- BX = new screen size (25, 43, 50)
- SeeAlso: AX=0010h
- --------V-620012-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0012h to 0013h
- Return: AX = 0000h
- --------V-620014-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DEFCOLOR" - ASSIGN COLOR VALUE TO COLOR INDEX
- AX = 0014h
- BX = color index (0000h-00FFh)
- CX = new color value (0 to maximum color value for current video mode)
- Note: this call is ignored in text modes and 256-color graphics modes
- SeeAlso: AX=0015h,AX=0016h,AX=001Dh
- --------V-620015-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETCOLOR" - GET CURRENT TEXT ATTRIBUTE
- AX = 0015h
- Return: AX = current text attribute or color index (graphics modes)
- Note: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- SeeAlso: AX=0019h,AX=001Ah
- --------V-620016-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETINDEX" - GET COLOR VALUE FOR COLOR INDEX
- AX = 0016h
- BX = color index (0000h to 00FFh)
- Return: AX = color value for specified color index
- Note: this call returns the value passed to it in text and 256-color
- graphics modes
- SeeAlso: AX=0014h,AX=001Ch
- --------V-620017-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_PALETTE" - SET PALETTE / SET VIDEO DAC REGISTER
- AX = 0017h
- ---CGA 4-color graphics---
- BX = CGA paletee number
- CX = background color
- ---CGA 2-color graphics---
- BX ignored
- CX = foreground color
- ---16-color graphics---
- BX = palette register number
- CX = palette value
- ---256-color graphics---
- BX = DAC register number
- CX = DAC value
- Notes: ignored in text modes and Hercules graphics modes
- few EGA/VGA adapters correctly set the foreground color in CGA mode 6
- SeeAlso: AX=0018h,AX=001Dh
- --------V-620018-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_PALETTES" - SET ALL PALETTE REGISTERS
- AX = 0018h
- ES:BX -> array of 16 WORDs containing values for palette registers
- (or first 16 DAC registers in 256-color modes)
- Note: ignored in text modes, CGA and Hercules graphics modes
- SeeAlso: AX=0017h
- --------V-620019-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETATTR" - SET TEXT-MODE CHARACTER ATTRIBUTE
- AX = 0019h
- BX = foreground
- CX = background
- DX = blink (0000h nonblinking, 0001h blink)
- Note: this call is ignored in graphics modes
- SeeAlso: AX=0015h,AX=001Ah,AX=0037h
- --------V-62001A-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETCOLOR" - SET CURRENT COLOR
- AX = 001Ah
- BX = new color index (or text attribute in text modes)
- SeeAlso: AX=0015h,AX=0019h
- --------V-62001B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETRGB" - SET VIDEO DAC REGISTER CONTENTS
- AX = 001Bh
- BX = palette or DAC register number
- CX = red color component
- DX = green component
- SI = blue component
- Notes: the register number may be negative for Tandy, PCjr, and 200-line
- EGA graphics modes to specify an intense color
- this call has no effect in text, CGA graphics, and Hercules graphics
- modes
- SeeAlso: AX=001Ch,AX=00A5h
- --------V-62001C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETRGB" - GET VIDEO DAC REGISTER CONTENTS
- AX = 001Ch
- ES:BX -> variable pointer record (see below)
- CX = DAC register number
- Return: variables updated
- Note: this call is ignored in text modes and CGA/EGA video modes (since
- they do not use DAC registers)
- SeeAlso: AX=001Bh,AX=001Dh,AX=00A4h
-
- Format of variable pointer record:
- Offset Size Description
- 00h WORD segment of WORD buffer for red component of DAC register
- 02h WORD offset of WORD buffer for red component
- 04h WORD segment of WORD buffer for green component of DAC register
- 06h WORD offset of WORD buffer for green component
- 08h WORD segment of WORD buffer for blue component of DAC register
- 0Ah WORD offset of WORD buffer for blue component
- --------V-62001D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MAPRGB" - MAP COLOR COMPONENTS INTO PALETTE VAL
- AX = 001Dh
- BX = red component
- CX = green component
- DX = blue component
- Return: AX = mode-specific palette value corresponding to specified components
- Note: only meaningful in 16-color graphics modes
- SeeAlso: AX=0015h,AX=0017h
- --------V-62001E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_ERASE" - CLEAR THE ACTIVE VIDEO PAGE
- AX = 001Eh
- Note: sets each pixel to 0 in graphics modes, each character cell to a blank
- with a gray foreground attribute in text modes
- --------V-62001F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_POINT" - DISPLAY A PIXEL
- AX = 001Fh
- BX = column
- CX = row
- Note: this call is ignored in text modes
- SeeAlso: AX=0020h
- --------V-620020-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETPIXEL" - GET COLOR OF SPECIFIED PIXEL
- AX = 0020h
- BX = column in screen space
- CX = row in screen space
- Return: AX = color value of pixel (0 to num_colors-1)
- 0000h in text modes
- SeeAlso: AX=001Fh
- --------V-620021-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETXPOS" - GET GRAPHICS CURSOR COLUMN
- AX = 0021h
- Return: AX = screen space X coordinate of graphics cursor position
- SeeAlso: AX=0022h,AX=0023h,AX=0024h
- --------V-620022-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETXPOS" - GET GRAPHICS CURSOR ROW
- AX = 0022h
- Return: AX = screen space Y coordinate of graphics cursor position
- SeeAlso: AX=0021h,AX=0023h,AX=0024h
- --------V-620023-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOVE" - SET GRAPHICS CURSOR POSITION
- AX = 0023h
- BX = new column
- CX = new row
- Note: this call is ignored in text modes
- SeeAlso: AX=0021h,AX=0022h,AX=0024h
- --------V-620024-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOVEREL" - ADJUST GRAPHICS CURSOR POSITION
- AX = 0024h
- BX = column offset
- CX = row offset
- Note: this call is ignored in text modes
- SeeAlso: AX=0021h,AX=0022h,AX=0023h
- --------V-620025-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DRAW" - DRAW SOLID LINE TO ABSOLUTE POSITION
- AX = 0025h
- BX = endpoint column
- CX = endpoint row
- Notes: this call is ignored in text modes
- the starting point is the current graphics cursor position; the cursor
- position is updated
- SeeAlso: AX=0026h,AX=0027h
- --------V-620026-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DRAWREL" - DRAW SOLID LINE TO RELATIVE POSITION
- AX = 0026h
- BX = endpoint column offset
- CX = endpoint row offset
- Notes: this call is ignored in text modes
- the starting point is the current graphics cursor position; the cursor
- position is updated
- SeeAlso: AX=0025h,AX=0028h
- --------V-620027-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DASH" - DRAW DASHED LINE TO ABSOLUTE POSITION
- AX = 0027h
- BX = endpoint column
- CX = endpoint row
- DX = dash pattern (set bits cause drawn pixels)
- Notes: this call is ignored in text modes
- the starting point is the current graphics cursor position; the cursor
- position is updated
- SeeAlso: AX=0025h,AX=0028h
- --------V-620028-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DASHREL" - DRAW DASHED LINE TO RELATVE POSITION
- AX = 0028h
- BX = endpoint column offset
- CX = endpoint row offset
- DX = dash pattern (set bits cause drawn pixels)
- Notes: this call is ignored in text modes
- the starting point is the current graphics cursor position; the cursor
- position is updated
- SeeAlso: AX=0026h,AX=0027h
- --------V-620029-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETCLIP" - SET CLIPPING REGION
- AX = 0029h
- BX = left edge of clipping region
- CX = right edge of clipping region
- DX = top edge of clipping region
- SI = bottom edge of clipping region
- SeeAlso: AX=004Ah,AX=004Ch,AX=0052h,AX=0054h
- --------V-62002A-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_RECT" - DRAW UNFILLED RECTANGLE IN SCREEN SPACE
- AX = 002Ah
- BX = left edge column
- CX = right edge column
- DX = top edge row
- SI = bottom edge row
- SeeAlso: AX=002Bh,AX=002Ch,AX=002Eh,AX=00A2h
- --------V-62002B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CLPRECT" - DRAW FILLED RECTANGLE IN SCREEN SPCE
- AX = 002Bh
- BX = screen space column of left edge
- CX = screen space column of right edge
- DX = screen space row of top edge
- SI = screen space row of bottom edge
- Note: this call is ignored in text modes
- SeeAlso: AX=002Ah,AX=002Ch,AX=00A2h
- --------V-62002C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DRECT" - DRAW DITHERED RECTANGLE IN SCRN SPACE
- AX = 002Ch
- BX = screen space column of left edge
- CX = screen space column of right edge
- DX = screen space row of top edge
- SI = screen space row of bottom edge
- ES:DI -> dithering matrix (video-mode dependent)
- Note: this call is ignored in text modes
- SeeAlso: AX=002Bh,AX=00A2h
- --------V-62002D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_ELLIPSE" - DRAW UNFILLED ELLIPSE IN SCRN SPACE
- AX = 002Dh
- BX = horizontal semi-axis length in screen space units
- CX = vertical semi-axis length in screen space units
- Notes: this call is ignored in text modes
- the ellipse is centered at the current graphics cursor position
- SeeAlso: AX=002Ah,AX=002Eh,AX=00A2h
- --------V-62002E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_POLYGON" - DRAW AN UNFILLED POLYGON
- AX = 002Eh
- CX = number of vertices in polygon
- ES:BX -> variable pointer record (see below)
- SeeAlso: AX=002Dh,AX=0030h,AX=00A2h
-
- Format of variable pointer record:
- Offset Size Description
- 00h WORD segment of WORD array containing vertex columns
- 02h WORD offset of WORD array containing vertex columns
- 04h WORD segment of WORD array containing vertex rows
- 06h WORD offset of WORD array containing vertex rows
- --------V-62002F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_PAINT" - FLOOD CLOSED REGION WITH COLOR
- AX = 002Fh
- BX = column
- CX = row
- Notes: fills an arbitrary closed region around the specified point with the
- current color; the screen edges are not considered region boundaries
- ignored in text modes
- --------V-620030-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CIRCLE" - DRAW UNFILLED CIRCLE
- AX = 0030h
- BX = radius in horizontal screen space units (> 0)
- Notes: the circle is drawn in screen space, centered at the current graphics
- cursor position
- this call is ignored in text modes
- SeeAlso: AX=00A2h
- --------V-620031-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0031h
- Return: AX = 0000h
- --------V-620032-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_TEXT" - DISPLAY STRING OF CHARACTERS
- AX = 0032h
- CX = length of string
- ES:BX -> string
- Notes: the string is displayed staring at the text cursor position using the
- current text attribute (text modes) or color index (graphics modes)
- the text cursor position is updated after this call
- SeeAlso: AX=001Ah,AX=0033h,AX=0035h,AX=0036h
- --------V-620033-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_LOCATE" - SET TEXT-MODE CURSOR POSITION
- AX = 0033h
- BX = row
- CX = column
- Note: there are only eight text cursors shared by successive groups of
- eight video pages (pages 0, 8, 16, ... share one cursor, 1, 9, ...
- share the second, etc)
- SeeAlso: AX=0034h
- --------V-620034-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_WHERE" - GET CURRENT CURSOR POSITION
- AX = 0034h
- ES:BX -> variable pointers (see below)
- Return: indicated variables filled with cursor row and column for active
- display
- Note: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- SeeAlso: AX=0033h
-
- Format of variable pointers:
- Offset Size Description
- 00h WORD segment of WORD buffer for cursor row
- 02h WORD offset of WORD buffer for cursor row
- 04h WORD segment WORD buffer for cursor column
- 06h WORD offset WORD buffer for cursor column
- --------V-620035-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CHGATTR" - APPLY CURRENT TEXT ATTRIB TO CHARS
- AX = 0035h
- BX = number of characters to recolor
- Notes: this call is ignored in graphics modes
- starting at the current text cursor position, the specified number of
- characters have their attributes to the current text attribute
- SeeAlso: AX=0036h
- --------V-620036-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CHGTEXT" - DISPLAY STRING AT CURSOR POSITION
- AX = 0036h
- CX = length of string
- ES:BX -> string to be displayed
- Return: text cursor updated
- Note: this call is ignored in graphics modes
- SeeAlso: AX=0032h,AX=0035h
- --------V-620037-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETATTR" - GET CHARACTER ATTRIB FOR POSITION
- AX = 0037h
- BX = row
- CX = column
- Return: AX = character attribute at specified location on active video page
- Note: this call is ignored in graphics modes
- SeeAlso: AX=0019h,AX=0038h
- --------V-620038-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETCHAR" - GET CHARACTER FOR SCREEN POSITION
- AX = 0038h
- BX = row
- CX = column
- Return: AX = character at specified location on active video page
- Note: this call is ignored in graphics modes
- SeeAlso: AX=0037h
- --------V-620039-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0039h to 003Bh
- Return: AX = 0000h
- --------V-62003C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETPAGE" - GET ACTIVE VIDEO PAGE NUMBER
- AX = 003Ch
- Return: AX = active video page (0000h-003Fh)
- SeeAlso: AX=003Dh,AX=003Eh,AX=0040h
- --------V-62003D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETPAGE" - SET ACTIVE VIDEO PAGE
- AX = 003Dh
- BX = new video page (0000h to 003Fh)
- Note: the specified page must be a physical or virtual page
- SeeAlso: AX=0001h,AX=003Ch,AX=003Fh,AX=0041h
- --------V-62003E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETVPAGE" - GET VISIBLE VIDEO PAGE NUMBER
- AX = 003Eh
- Return: AX = visible video page (0000h-003Fh)
- SeeAlso: AX=003Ch,AX=003Fh,AX=0040h
- --------V-62003F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETVPAGE" - SET VISIBLE VIDEO PAGE
- AX = 003Fh
- BX = new video page (0000h to 003Fh)
- Note: the specified page must be a physical or virtual page
- SeeAlso: AX=0001h,AX=003Dh,AX=003Eh,AX=0041h
- --------V-620040-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETHPAGE" - GET CURRENT HIDDEN VIDEO PAGE NUM
- AX = 0040h
- Return: AX = current hidden video page number (0000h-003Fh)
- SeeAlso: AX=003Ch,AX=003Eh,AX=0041h
- --------V-620041-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETHPAGE" - SET HIDDEN VIDEO PAGE
- AX = 0041h
- BX = new hidden page (0000h to 003Fh)
- Note: specified page must be a physical page or a virtual page
- SeeAlso: AX=003Dh,AX=003Fh,AX=0040h
- --------V-620042-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_ALLOCATE" - CREATE VIRTUAL VIDEO PAGE
- AX = 0042h
- BX = page number (0000h-003Fh)
- Return: AX = status
- 0000h successful
- 0001h specified page is a physical or logical page
- 0007h virtual page created, but memory control blocks corrupted
- 0008h not enough memory
- Notes: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- the amount of memory required by the virtual video page depends on the
- current video mode
- SeeAlso: AX=0043h,AX=009Dh,AX=009Fh
- --------V-620043-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_FREEPAGE" - FREE VIRTUAL OR LOGICAL VIDEO PAGE
- AX = 0043h
- BX = page number (0000h-003Fh)
- Return: AX = status
- 0000h successful
- 0001h specified page is a physical page
- 0007h virtual page released, but memory control blocks corrupted
- 0009h attempt to free a page which was never created
- SeeAlso: AX=0042h,AX=009Dh,AX=009Eh,AX=009Fh
- --------V-620044-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETADDR" - GET SEGMENT OF ACTIVE VIDEO PAGE
- AX = 0044h
- Return: AX = segment of active video page
- --------V-620045-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_RESIZE" - SET GRAPHICS MODE VIDEO PAGE SIZE
- AX = 0045h
- BX = new page width in pixels
- CX = new page height in pixels
- Notes: the visible page must be set to 0000h before making this call
- mouse, joysticks, expanded memory, and extended memory must be
- reinitialized after this call
- SeeAlso: AX=000Ah,AX=000Bh,AX=0075h,AX=007Ah,AX=00A0h,AX=00A1h
- --------V-620046-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETMAP" - STORE IMAGE AS MODE-INDEPENDNT BITMAP
- AX = 0046h
- ES:BX -> buffer for video mode-independent bitmap
- CX = width of bitmap in bytes
- DX = height of bitmap in pixel rows
- Return: each bit in bitmap is set if corresponding pixel is of the current
- color, cleared otherwise
- Note: this call is ignored in text modes
- SeeAlso: AX=0047h,AX=0048h
- --------V-620047-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DRAWMAP" - DISPLAY MODE-INDEPENDENT BIT MAP
- AX = 0047h
- ES:BX -> bitmap (each set bit is pixel drawn in current color)
- CX = width of bitmap in bytes
- DX = height of bitmap in pixel rows
- SeeAlso: AX=0046h,AX=004Ah,AX=004Dh,AX=0052h
- --------V-620048-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETIMAGE" - STORE IMAGE AS BITMAP
- AX = 0048h
- ES:BX -> buffer for video mode-specific bitmap
- CX = width of bitmap in bytes
- DX = height of bitmap in pixel rows
- SeeAlso: AX=0046h,AX=0049h,AX=0062h
- --------V-620049-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DRWIMAGE" - DISPLAY BITMAPPED IMAGE
- AX = 0049h
- ES:BX -> video mode-specific bitmap
- CX = width of bitmap in bytes
- DX = height of bitmap in pixel rows
- Note: the image will be drawn with its lower left corner at the current
- cursor position (either text or graphics)
- SeeAlso: AX=0048h,AX=004Ah,AX=0062h
- --------V-62004A-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CLPIMAGE" - DISPLAY CLIPPED IMAGE (BITMAP)
- AX = 004Ah
- ES:BX -> mode-specific bitmap
- CX = width of bit map in bytes
- DX = height of bit map in pixel rows
- Notes: this call is ignored in text modes
- the image is drawn with its lower left corner at the current graphics
- cursor position
- the current clipping region is used, extended to a byte boundary
- SeeAlso: AX=0029h,AX=0047h,AX=0049h,AX=004Ch,AX=0052h
- --------V-62004B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_REVIMAGE" - DISPLAY REVERSED IMAGE (BITMAP)
- AX = 004Bh
- ES:BX -> mode-specific bitmap
- CX = width of bitmap in bytes
- DX = height of bitmap in pixel rows
- Notes: this call is ignored in text modes
- the image is drawn with its lower left corner at the current graphics
- cursor position
- SeeAlso: AX=004Ah,AX=004Ch
- --------V-62004C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_FLPIMAGE" - DISPLAY INV CLIPPED IMAGE (BITMAP)
- AX = 004Ch
- ES:BX -> mode-specific bitmap
- CX = width of bit map in bytes
- DX = height of bit map in pixel rows
- Notes: this call is ignored in text modes
- the image is drawn with its lower left corner at the current graphics
- cursor position
- the current clipping region is used, extended to a byte boundary
- SeeAlso: AX=0029h,AX=004Ah
- --------V-62004D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DISPLAY" - DISPLAY IMAGE (STD PIXEL RUN FORMAT)
- AX = 004Dh
- ES:BX -> pixel run map (pairs of bytes: color index, count)
- CX = number of pixel runs to display
- DX = width of image in pixels (> 0)
- Notes: this call is ignored in text modes
- the image is displayed with its lower left corner at the current
- graphics cursor position
- SeeAlso: AX=0047h,AX=004Eh,AX=004Fh,AX=0050h,AX=0060h
- --------V-62004E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DISPLAY" - DISPLAY IMAGE (PACKED PIXEL RUN FMT)
- AX = 004Eh
- ES:BX -> pixel run map (trios of bytes: colors, count1, count2; colors
- contains the color for the first run in its high nybble and the
- color for the second run in its low nybble)
- CX = number of pixel runs to display
- DX = width of image in pixels (> 0)
- Notes: this call is ignored in text modes
- the image is displayed with its lower left corner at the current
- graphics cursor position
- SeeAlso: AX=004Dh,AX=004Fh,AX=0050h,AX=0060h
- --------V-62004F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DISPFILE" - DISPLAY STORED IMAGE
- AX = 004Fh
- ES:BX -> ASCIZ filename
- CX = image width in pixels (> 0)
- DX = image format
- 0000h Fastgraph standard pixel run format
- 0001h packed pixel run format
- Notes: this call is ignored in text modes
- the image is displayed with its lower left corner at the current
- graphics cursor position
- SeeAlso: AX=004Dh,AX=004Eh,AX=0050h,AX=0060h
- --------V-620050-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_PATTERN" - SPECIFY DISPLAY PATTERN FOR COLOR
- AX = 0050h
- BX = index of pattern to define
- CX = number of predefined display pattern
- Notes: when displaying a pixel run map, Fastgraph uses the pattern associated
- with each color index rather than displaying the actual color
- this call has no effect in text and 256-color graphics modes
- SeeAlso: AX=004Dh,AX=004Eh,AX=004Fh
- --------V-620051-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DRAWMASK" - DISPLAY IMAGE (MASKING MAP)
- AX = 0051h
- ES:BX -> array containing image stores as a masking map (see below)
- CX = number of pixel runs in masking map
- DX = width of masking map in pixels
- Notes: this call is ignored in text modes and in native EGA and VGA graphics
- modes
- the image is drawn with its lower left corner at the current graphics
- cursor position
- SeeAlso: AX=0052h
-
- Format of masking map:
- Offset Size Description
- 00h BYTE length of first "protect" run (pixels remain unchanged)
- 01h BYTE length of first "zero" run (pixels set to background color)
- 02h BYTE length of second "protect" run
- 03h BYTE length of second "zero" run
- ...
- --------V-620052-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CLIPMASK" - DISPLAY CLIPPED IMAGE (MASKING MAP)
- AX = 0052h
- ES:BX -> array containing image stored as a masking map (see AX=0051h)
- CX = number of pixel runs in masking map
- DX = width of masking map in pixels
- Notes: this call is ignored in text modes and in native EGA and VGA graphics
- modes
- the image is drawn with its lower left corner at the current graphics
- cursor position
- SeeAlso: AX=0029h,AX=004Ah,AX=0051h,AX=0053h,AX=0054h
- --------V-620053-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_REVMASK" - DISPLAY REVERSED IMAGE (MASKING MAP)
- AX = 0053h
- ES:BX -> array containing image stored as a masking map (see AX=0051h)
- CX = number of pixel runs in masking map
- DX = width of masking map in pixels
- Notes: this call is ignored in text modes and in native EGA and VGA graphics
- modes
- the image is drawn with its lower left corner at the current graphics
- cursor position
- SeeAlso: AX=0052h,AX=0054h
- --------V-620054-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_FLIPMASK" - DISPLAY INV CLIPPED IMAGE (MASKMAP)
- AX = 0054h
- ES:BX -> array containing image stored as a masking map (see AX=0051h)
- CX = number of pixel runs in masking map
- DX = width of masking map in pixels
- Notes: this call is ignored in text modes and in native EGA and VGA graphics
- modes
- the image is drawn with its lower left corner at the current graphics
- cursor position
- SeeAlso: AX=0029h,AX=0052h,AX=0053h
- --------V-620055-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0055h to 0059h
- Return: AX = 0000h
- --------V-62005A-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SAVE" - COPY REGION FROM VISIBLE TO HIDDEN PAGE
- AX = 005Ah
- BX = left edge column
- CX = right edge column
- DX = top edge row
- SI = bottom edge row
- Note: left and right edges are adjusted to byte boundaries if necessary
- SeeAlso: AX=005Bh
- --------V-62005B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_RESTORE" - COPY REGION FROM HIDDEN TO VIS PAGE
- AX = 005Bh
- BX = left edge column
- CX = right edge column
- DX = top edge row
- SI = bottom edge row
- Note: left and right edges are adjusted to byte boundaries if necessary
- SeeAlso: AX=005Ah,AX=0064h
- --------V-62005C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_TRANSFER" - COPY REGION
- AX = 005Ch
- CX = source video page
- DX = destination video page
- ES:BX -> copy record (see below)
- Note: source and destination regions must not overlap if on the same page
- SeeAlso: AX=005Dh,AX=005Fh
-
- Format of copy record:
- Offset Size Description
- 00h WORD left edge column of source region
- 02h WORD right edge column of source region
- 04h WORD top edge row of source region
- 06h WORD bottom edge row of source region
- 08h WORD left edge of destination
- 0Ah WORD bottom edge of destination
- --------V-62005D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_TCXFER" - COPY REGION EXCLUDING TRANSPARENT
- AX = 005Dh
- CX = source video page
- DX = destination video page
- ES:BX -> copy record (see AX=005Ch)
- Notes: pixels which are in any of the colors defined as transparent with
- AX=005Eh are left unchanged in the destination region
- source and destination regions must not overlap if on the same page
- this call is ignored in text modes
- SeeAlso: AX=005Ch,AX=005Eh
- --------V-62005E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_TCMASK" - SET TRANSPARENT COLORS
- AX = 005Eh
- BX = colors to consider transparent (bit 0 = color 0, etc)
- Notes: this call is ignored in text modes
- the specified colors are considered transparent by AX=005Dh
- SeeAlso: AX=005Dh
- --------V-62005F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_COPYPAGE" - TRANSFER VIDEO PAGE CONTENTS
- AX = 005Fh
- BX = source page number (0000h-003Fh)
- CX = destination page number (0000h-003Fh)
- Note: if both source and destination pages are logical pages, they must both
- be located in the same type (conventional, EMS, XMS) of memory
- SeeAlso: AX=005Ch,AX=009Dh,AX=009Eh,AX=009Fh
- --------V-620060-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_DISPPCX" - DISPLAY PCX FILE
- AX = 0060h
- ES:BX -> ASCIZ filename
- CX = flags
- bit 0: use current palette rather than PCX file's palette
- bits 1-15 reserved (0)
- Return: AX = status
- 0000h success
- 0001h file not found
- 0002h file is not a valid PCX file
- Notes: this call is ignored in text modes and Hercules low-resolution graphics
- the image is displayed with its upper left corner at the current
- graphics cursor position
- SeeAlso: AX=004Dh,AX=004Eh,AX=004Fh,AX=0061h
- --------V-620061-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MAKEPCX" - CREATE PCX FILE FROM SCREEN WINDOW
- AX = 0061h
- BX = left edge in screen space units
- CX = right edge in screen space units
- DX = top edge in screen space units
- SI = bottom edge in screen space units
- ES:DI -> ASCIZ filename of PCX file to create
- Return: AX = status
- 0000h successful
- 0001h file not created
- Notes: the PCX file is created from the specified region of the active video
- page; the left and right edges are adjusted to a byte boundary if
- necessary
- if the specified file already exists, it is overwritten
- this call is ignored in text and Hercules low-resolution graphics modes
- SeeAlso: AX=0060h
- --------V-620062-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_IMAGESIZ" - DETERMINE IMAGE STORAGE REQUIREMENT
- AX = 0062h
- BX = image width in pixels
- CX = image height in pixels
- Return: DX:AX = size in bytes of mode-specific bitmap for current video mode
- SeeAlso: AX=0048h
- --------V-620063-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0063h
- Return: AX = 0000h
- --------V-620064-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_FADEIN" - FADE IN HIDDEN PAGE
- AX = 0064h
- BX = delay (0000h = fastest possible fade-in)
- Notes: the current hidden page is copied to the current visible page in small
- random sections to produce a fade-in effect
- this call is ignored in text modes
- SeeAlso: AX=005Bh,AX=0065h
- --------V-620065-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_FADEOUT" - FADE OUT TO CURRENT COLOR
- AX = 0065h
- BX = delay (0000h = fastest possible fade-out)
- Notes: this call is ignored in text modes
- the current visible page is filled with pixels of the current color in
- small random sections to give a fade-out effect
- SeeAlso: AX=0064h
- --------V-620066-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_PAN" - SET SCREEN ORIGIN
- AX = 0066h
- BX = new column for screen origin
- CX = new row for screen origin
- SeeAlso: AX=0067h
- --------V-620067-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SCROLL" - VERTICALLY SCROLL SCREEN REGION
- AX = 0067h
- BX = left edge column
- CX = right edge column
- DX = top edge row
- SI = bottom edge row
- DI = number of pixels by which to scroll (positive scrolls up,
- negative scrolls down)
- ES = type of scroll
- 0000h circular (rows scrolled off are copied to vacated rows)
- else vacated rows are filled with the current color
- Notes: in graphics modes, the left and right edges are adjusted to byte
- boundaries if necessary
- circular scrolling uses part of the hidden page as a workspace
- SeeAlso: AX=0066h
- --------V-620068-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0068h to 006Ch
- Return: AX = 0000h
- --------V-62006D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_WAITKEY" - FLUSH KEYBOARD BUFFER AND AWAIT KEY
- AX = 006Dh
- Return: after next key pressed
- SeeAlso: AX=006Eh,AX=006Fh,AX=0096h
- --------V-62006E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETKEY" - GET NEXT KEYSTROKE
- AX = 006Eh
- ES:BX -> variable pointer record (see below)
- Return: (after next keystroke if no typeahead) variables updated
- SeeAlso: AX=006Dh,AX=006Fh,AX=0070h
-
- Format of variable pointer record:
- Offset Size Description
- 00h WORD segment of BYTE buffer for ASCII keycode
- 02h WORD offset of BYTE buffer for ASCII keycode
- 04h WORD segment of BYTE buffer for extended keycode
- 06h WORD offset of BYTE buffer for extended keycode
- --------V-62006F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_INTKEY" - GET KEYSTROKE, NO WAIT
- AX = 006Fh
- ES:BX -> variable pointer record (see below)
- Return: variables updated
- Note: if the keyboard buffer is empty, both the ASCII and extended keycodes
- are set to 00h
- SeeAlso: AX=006Dh,AX=006Eh,AX=0070h,AX=0079h
-
- Format of variable pointer record:
- Offset Size Description
- 00h WORD segment of BYTE buffer for ASCII keycode
- 02h WORD offset of BYTE buffer for ASCII keycode
- 04h WORD segment of BYTE buffer for extended keycode
- 06h WORD offset of BYTE buffer for extended keycode
- --------V-620070-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_CAPSLOCK" - GET STATE OF CAPSLOCK KEY
- AX = 0070h
- Return: AX = CapsLock state (0000h off, 0001h on)
- SeeAlso: AX=006Eh,AX=006Fh,AX=0071h,AX=0072h,AX=0074h
- --------V-620071-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETCAPS" - SET STATE OF CAPSLOCK KEY
- AX = 0071h
- BX = new state (0000h off, 0001h on)
- SeeAlso: AX=0070h,AX=0073h
- --------V-620072-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_NUMLOCK" - GET STATE OF NUMLOCK KEY
- AX = 0072h
- Return: AX = NumLock state (0000h off, 0001h on)
- SeeAlso: AX=0070h,AX=0074h
- --------V-620073-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETNUM" - SET STATE OF NUMLOCK KEY
- AX = 0073h
- BX = new state (0000h off, 0001h on)
- SeeAlso: AX=0071h,AX=0072h
- --------V-620074-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SCRLOCK" - GET STATE OF SCROLL LOCK KEY
- AX = 0074h
- Return: AX = ScrollLock state (0000h off, 0001h on)
- SeeAlso: AX=0070h,AX=0072h
- --------V-620075-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_INITJOY" - INITIALIZE JOYSTICK USE
- AX = 0075h
- BX = joystick number (0001h or 0002h)
- Return: AX = status
- 0000h successful
- FFFFh joystick not connected or no game port
- Note: Fastgraph assumes that the requested joystick is centered at the time
- this function is called
- SeeAlso: AX=0076h,AX=0077h,AX=0078h,AX=0079h
- --------V-620076-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETXJOY" - GET HORIZONTAL POSITION OF JOYSTICK
- AX = 0076h
- BX = joystick number (0001h or 0002h)
- Return: AX = horizontal position of joystick
- FFFFh if joystick uninitialized or not present
- Notes: the actual coordinates are processor- and joystick-dependent
- you must call AX=0075h before this function
- SeeAlso: AX=0075h,AX=0077h,AX=0078h
- --------V-620077-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETYJOY" - GET VERTICAL POSITION OF JOYSTICK
- AX = 0077h
- BX = joystick number (0001h or 0002h)
- Return: AX = vertical position of joystick
- FFFFh if joystick uninitialized or not present
- Notes: the actual coordinates are processor- and joystick-dependent
- you must call AX=0075h before this function
- SeeAlso: AX=0075h,AX=0076h,AX=0078h
- --------V-620078-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_BUTTON" - GET JOYSTICK BUTTON STATE
- AX = 0078h
- BX = joystick number (0001h or 0002h)
- Return: AX = button states
- bit 0: top button pressed
- bit 1: bottom button pressed
- SeeAlso: AX=0075h,AX=0076h,AX=0077h,AX=0079h
- --------V-620079-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_INTJOY" - GET KEYCODES CORRESP TO JOYSTICK POS
- AX = 0079h
- CX = joystick number (0001h or 0002h)
- ES:BX -> variable pointer record (see below)
- Notes: if the indicated joystick has not been initialized with AX=0075h, both
- the button code and joystick position will be set to 00h
- if either button is pressed, a button code of 0Dh is returned;
- otherwise, a button code of 00h is returned
- SeeAlso: AX=006Fh,AX=0075h,AX=0078h
-
- Format of variable pointer record:
- Offset Size Description
- 00h WORD segment of BYTE buffer for button code
- 02h WORD offset of BYTE buffer for button code
- 04h WORD segment of BYTE buffer for joystick position
- 06h WORD offset of BYTE buffer for joystick position
- --------V-62007A-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSEINI" - INITIALIZE MOUSE SUPPORT
- AX = 007Ah
- Return: AX = status
- 0002h two-button mouse
- 0003h three-button mouse
- FFFFh initialization failed
- Note: after this call, the mouse cursor is invisible
- SeeAlso: AX=007Bh,AX=007Ch,AX=007Eh,AX=0080h,INT 33/AX=0000h
- --------V-62007B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSEVIS" - SET MOUSE CURSOR VISIBILITY
- AX = 007Bh
- BX = new state (0000h invisible, 0001h visible)
- SeeAlso: AX=007Ah,AX=007Eh,INT 33/AX=0001h,INT 33/AX=0002h
- --------V-62007C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSEBUT" - GET MOUSE BUTTON PRESS/RELEASE CNTS
- AX = 007Ch
- CX = mouse button (1 = left press, 2 = right press, 3 = middle press,
- -1=left release, -2=right release, -3=middle release)
- ES:BX -> variable pointer record (see below)
- Return: variables updated
- Note: returns the count of presses or releases since the last call to this
- function; if the count is zero, row and col will also be zero
- SeeAlso: AX=007Ah,INT 33/AX=0005h,INT 33/AX=0006h
-
- Format of variable pointer record:
- Offset Size Description
- 00h WORD segment of WORD buffer for press/release count
- 02h WORD offset of WORD buffer for press/release count
- 04h WORD segment of WORD buffer for screen space col of last press/rls
- 06h WORD offset of WORD buffer for screen space col of last press/rels
- 08h WORD segment of WORD buffer for screen space row of last press/rls
- 0Ah WORD offset of WORD buffer for screen space row of last press/rls
- --------V-62007D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSEPOS" - GET CURRENT MOUSE POSITION
- AX = 007Dh
- ES:BX -> variable pointer record (see below)
- SeeAlso: AX=007Ah,AX=0081h
-
- Format of variable pointer record:
- Offset Size Description
- 00h WORD segment of WORD buffer for mouse column
- 02h WORD offset of WORD buffer for mouse column
- 04h WORD segment of WORD buffer for mouse row
- 06h WORD offset of WORD buffer for mouse row
- 08h WORD segment of WORD buffer for button status
- 0Ah WORD offset of WORD buffer for button status
- Note: button status: bit 0 = left button, bit 1 = right, bit 2 = middle
- --------V-62007E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSECUR" - SPECIFY TEXT-MODE MOUSE CURSOR
- AX = 007Eh
- BX = screen mask
- CX = cursor mask
- Note: this call is ignored in graphics modes
- SeeAlso: AX=007Ah,AX=007Fh,INT 33/AX=000Ah
- --------V-62007F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSEPTR" - SPECIFY GRAPH-MODE MOUSE CURSOR
- AX = 007Fh
- ES:BX -> masks (16-byte screen mask followed by 16-byte cursor mask)
- CX = X offset of hot spot from upper left corner
- DX = Y offset of hot spot from upper left corner
- Note: this call is ignored in text modes
- SeeAlso: AX=007Ah,AX=007Eh,INT 33/AX=0009h
- --------V-620080-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSELIM" - SPECIFY MOUSE CURSOR LIMITS
- AX = 0080h
- BX = left-most position allowed for mouse cursor
- CX = right-most position allowed
- DX = top-most position allowed
- SI = bottom-most position allowed
- SeeAlso: AX=007Ah,AX=0081h,INT 33/AX=0007h,INT 33/AX=0008h
- --------V-620081-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSEMOV" - SET MOUSE CURSOR POSITION
- AX = 0081h
- BX = new column
- CX = new row
- Note: will not move the mouse cursor outside the bounding box specified with
- AX=0080h
- SeeAlso: AX=007Ah,AX=007Dh,AX=0080h,INT 33/AX=0004h
- --------V-620082-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MOUSESPD" - SET MOUSE CURSOR SPEED
- AX = 0082h
- BX = horizontal mickeys per eight pixels of movement (default 16)
- CX = vertical mickeys per eight pixels of movement (default 16)
- SeeAlso: INT 33/AX=000Fh,INT 33/AX=001Ah
- --------V-620083-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0083h to 0087h
- Return: AX = 0000h
- --------V-620088-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SOUND" - MAKE SOUND FOR SPECIFIED DURATION
- AX = 0088h
- BX = frequency in Hertz (18-32767)
- CX = duration in clock ticks (0000h or negative for continuous sound)
- Note: ignored if asynchronous sound (AX=0089h,AX=008Bh,AX=008Dh) is in
- progress
- SeeAlso: AX=0089h,AX=008Ah,AX=008Eh,AX=0090h
- --------V-620089-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SOUNDS" - PLAY SOUNDS IN BACKGROUND
- AX = 0089h
- CX = number of times to cycle through sound list
- ES:BX -> sounds array (see below)
- Note: ignored if asynchronous sound (AX=0089h,AX=008Bh,AX=008Dh) is in
- progress
- SeeAlso: AX=0088h,AX=008Eh,AX=008Fh
-
- Format of sounds array element:
- Offset Size Description
- 00h WORD frequency of sound in Hertz (0000h ends array)
- 02h WORD duration of sound in clock ticks
- --------V-62008A-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_VOICE" - START SOUND
- AX = 008Ah
- BX = channel on TI sound chip
- 1-3 = channels 1-3, 4 = channel 4 with periodic noise,
- 5 = channel 4 with white noise
- CX = frequency in Hz (18-32767 for channels 1-3; 0=512 Hz, 1=1024 Hz,
- 2=2048 Hz for channels 4 and 5)
- DX = volume
- SI = duration in clock ticks (continuous if <= 0)
- Notes: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- only available on PCjr and Tandy 1000
- SeeAlso: AX=0088h,AX=008Bh,AX=008Ch
- --------V-62008B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_VOICES" - PLAY SOUNDS IN BACKGROUND
- AX = 008Bh
- ES:BX -> tone array (see below)
- CX = number of times to repeat tone array
- Notes: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- only available on PCjr and Tandy 1000
- SeeAlso: AX=008Ah,AX=008Dh,AX=008Eh,AX=008Fh,AX=0091h
-
- Format of tone array element:
- Offset Size Description
- 00h WORD channel number (0000h terminates array)
- 02h WORD frequency
- 04h WORD volume
- 06h WORD duration in 1/72.8 seconds
- --------V-62008C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MUSIC" - PLAY SERIES OF NOTES
- AX = 008Ch
- ES:BX -> '$'-terminated music string in BASIC PLAY format
- Return: after music completed
- Note: ignored if asynchronous sound (AX=0089h,AX=008Bh,AX=008Dh) is in
- progress
- SeeAlso: AX=008Ah,AX=008Dh
- --------V-62008D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MUSICB" - PLAY SERIES OF NOTES IN BACKGROUND
- AX = 008Dh
- CX = number of repetitions (negative = continuous play)
- ES:BX -> '$'-terminated music string in BASIC PLAY format
- Note: ignored if asynchronous sound (AX=0089h,AX=008Bh,AX=008Dh) is in
- progress
- SeeAlso: AX=008Bh,AX=008Ch,AX=008Eh,AX=008Fh,AX=0091h
- --------V-62008E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_HUSH" - STOP ASYNCHRONOUS SOUND IMMEDIATELY
- AX = 008Eh
- Note: immediately stops any sounds started with "FG_MUSICB", "FG_SOUNDS",
- or AX=008Bh; ignored if no asynchronous sound is playing
- SeeAlso: AX=0088h,AX=008Bh,AX=008Fh,AX=0090h,AX=0091h
- --------V-62008F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_HUSHNEXT" - STOP ASYNCHRONOUS SOUND
- AX = 008Fh
- Note: stops any sounds started with "FG_MUSICB", "FG_SOUNDS", or AX=008Bh
- after the current repetition completes; ignored unless asynchronous
- sound is continuous
- SeeAlso: AX=008Bh,AX=008Eh,AX=0090h
- --------V-620090-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_QUIET" - STOP CONTINUOUS SYNCHRONOUS SOUND
- AX = 0090h
- Note: this call has no effect if there is no continuous sound playing
- SeeAlso: AX=008Eh,AX=008Fh,AX=0091h
- --------V-620091-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_PLAYING" - DETERMINE WHETHER ASYNC SOUND ACTIVE
- AX = 0091h
- Return: AX = sound state (0 = no asynchronous sound, 1 = async sound playing)
- SeeAlso: AX=008Bh,AX=008Dh,AX=0090h
- --------V-620092-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_RESUME" - RESTART ASYNCHRONOUS SOUND
- AX = 0092h
- SeeAlso: AX=008Eh,AX=008Fh,AX=0090h
- --------V-620093-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SUSPEND" - TEMPORARILY STOP ASYNCHRONOUS SOUND
- AX = 0093h
- Notes: this call has no effect if there is no asynchronous sound in progress
- the program must not exit while sound is suspended
- SeeAlso: AX=0092h
- --------V-620094-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 0094h to 0095h
- Return: AX = 0000h
- --------V-620096-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_WAITFOR" - DELAY FOR SPECIFIED DURATION
- AX = 0096h
- BX = duration in clock ticks
- Return: after delay elapses
- SeeAlso: AX=006Dh,AX=0097h,INT 1A/AX=FF01h
- --------V-620097-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_STALL" - PAUSE FOR SPECIFIED DURATION
- AX = 0097h
- BX = duration in processor-dependent delay units (see AX=0098h)
- Return: after delay elapses
- SeeAlso: AX=0096h,AX=0098h,INT 2F/AX=1224h
- --------V-620098-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MEASURE" - GET DELAY UNITS PER CLOCK TICK
- AX = 0098h
- Return: AX = delay units per clock tick (processor-dependent)
- Note: delay units are used by "FG_STALL" (AX=0097h)
- SeeAlso: AX=0097h
- --------V-620099-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETCLOCK" - GET CLOCK TICKS SINCE MIDNIGHT
- AX = 0099h
- Return: DX:AX = number of clock ticks since midnight
- Note: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- --------V-62009A-----------------------------
- INT 62 - FGDRIVER v1.10 - UNUSED
- AX = 009Ah
- Return: AX = 0000h
- --------V-62009B-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_MEMAVAIL" - QUERY AMOUNT OF FREE MEMORY
- AX = 009Bh
- Return: DX:AX = number of bytes of conventional memory available
- SeeAlso: AX=009Dh
- --------V-62009C-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETFUNC" - SET LOGICAL OPERATION FOR VIDEO OPS
- AX = 009Ch
- BX = operation
- 0000h replacement
- 0001h AND
- 0002h OR
- 0003h XOR
- Note: only available in native EGA/VGA graphics mode (0Dh to 12h)
- --------V-62009D-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_ALLOCCMS" - CREATE LOGICAL VIDEO PAGE (CONVMEM)
- AX = 009Dh
- BX = page number (0001h-003Fh)
- Return: AX = status
- 0000h successful
- FFFCh insufficient memory
- FFFDh page already created, or exists as physical or virtual page
- FFFEh invalid page number
- Note: the only operation which is allowed on logical pages is AX=005Fh
- SeeAlso: AX=0043h,AX=005Fh,AX=009Bh,AX=009Eh,AX=009Fh
- --------V-62009E-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_ALLOCEMS" - CREATE LOGICAL VIDEO PAGE (EMS)
- AX = 009Eh
- BX = page number (0001h-003Fh)
- Return: AX = status
- 0000h successful
- FFFCh insufficient memory
- FFFDh page already created, or exists as physical or virtual page
- FFFEh invalid page number
- FFFFh memory manager not initialized
- Notes: must first call AX=00A0h
- the only operation which is allowed on logical pages is AX=005Fh
- SeeAlso: AX=0043h,AX=005Fh,AX=009Dh,AX=009Fh,AX=00A0h
- --------V-62009F-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_ALLOCXMS" - CREATE LOGICAL VIDEO PAGE (XMS)
- AX = 009Fh
- BX = page number (0001h-003Fh)
- Return: AX = status (see AX=009Eh)
- Notes: must first call AX=00A1h
- the only operation which is allowed on logical pages is AX=005Fh
- SeeAlso: AX=0043h,AX=005Fh,AX=009Dh,AX=009Eh,AX=00A1h
- --------V-6200A0-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_INITEMS" - INITIALIZE EXPANDED MEMORY USE
- AX = 00A0h
- Return: AX = status
- 0000h successful
- FFFFh expanded memory manager inaccessible or not installed
- SeeAlso: AX=009Eh,AX=00A1h
- --------V-6200A1-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_INITXMS" - INITIALIZE EXTENDED MEMORY USE
- AX = 00A1h
- Return: AX = status
- 0000h successful
- FFFFh extended memory manager inaccessible or not installed
- SeeAlso: AX=009Fh,AX=00A0h
- --------V-6200A2-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_BOX" - DRAW UNFILLED RECTANGLE
- AX = 00A2h
- BX = left column
- CX = right column
- DX = top row
- SI = bottom row
- Notes: FGDRIVER is the external video driver for the shareware
- Fastgraph/Light by Ted Gruber Software
- the rectangle is drawn in screen space, respecting the clipping region,
- width edges of the width specified with AX=00A3h (default = 1 is set
- by "FG_SETMODE")
- this function has no effect in text modes
- SeeAlso: AX=002Bh,AX=002Ch,AX=002Eh,AX=0030h,AX=00A3h
- --------V-6200A3-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_BOXDEPTH" - SET RECTANGLE BORDER WIDTH
- AX = 00A3h
- BX = width of left and right edges in pixels (> 0)
- CX = width of top and bottom edges in pixels (> 0)
- SeeAlso: AX=00A2h
- --------V-6200A4-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_GETDACS" - GET VIDEO DAC CONTENTS
- AX = 00A4h
- CX = number of DAC registers to return (0001h to 0100h)
- DX = starting DAC register number (0000h to 00FFh)
- ES:BX -> buffer for DAC red/green/blue triples
- Note: the register number wraps back to zero after FFh
- SeeAlso: AX=001Ch,AX=00A5h
- --------V-6200A5-----------------------------
- INT 62 u - FGDRIVER v1.10 - "FG_SETDACS" - SET VIDEO DAC CONTENTS
- AX = 00A5h
- CX = number of DAC registers to set (0001h to 0100h)
- DX = starting DAC register number (0000h to 00FFh)
- ES:BX -> buffer containing DAC red/green/blue triples
- Notes: the register number wraps back to zero after FFh
- this call has no effect in text modes or graphics modes below 11h
- SeeAlso: AX=001Bh,AX=00A4h
- --------T-6201-------------------------------
- INT 62 - Cswitch - GIVE UP REST OF TIME-SLICE
- AH = 01h
- Program: Cswitch is a set of multitasking functions by Herb Rose
- SeeAlso: AH=05h,AH=06h,INT 15/AX=1000h
- --------T-6202-------------------------------
- INT 62 - Cswitch - WAIT FOR SEMAPHORE
- AH = 02h
- DX = semaphore number (0-63)
- Return: AX = FFFFh bad semaphore number
- else success
- SeeAlso: AH=03h,AH=04h
- --------T-6203-------------------------------
- INT 62 - Cswitch - CHECK SEMAPHORE
- AH = 03h
- DX = semaphore number (0-63)
- Return: AX = FFFFh not owned
- else owned
- SeeAlso: AH=02h,AH=04h
- --------T-6204-------------------------------
- INT 62 - Cswitch - TRIGGER SEMAPHORE
- AH = 04h
- DX = semaphore number (0-63)
- Return: AX = FFFFh bad semaphore number
- else success
- SeeAlso: AH=02h,AH=03h
- --------T-6205-------------------------------
- INT 62 - Cswitch - SLEEP
- AH = 05h
- BX = seconds to sleep
- SeeAlso: AH=01h,AH=06h,AH=08h"Cswitch"
- --------T-6206-------------------------------
- INT 62 - Cswitch - SUSPEND
- AH = 06h
- SeeAlso: AH=05h,AH=08h"Cswitch"
- --------T-6207-------------------------------
- INT 62 - Cswitch - SPAWN
- AH = 07h
- ES:BX -> function address to start executing at
- CX = priority (1-10)
- Return: AX = FFFDh no free memory control blocks
- = FFFEh no free task control blocks
- = FFFFh not enough memory to create new task stack
- = >0 the tcb number of the new task, indicating no error
- SeeAlso: AH=0Fh,AH=10h
- --------T-6208-------------------------------
- INT 62 - Cswitch - WAKE UP TASK
- AH = 08h
- BX = tcb identifier
- SeeAlso: AH=05h,AH=06h
- ----------6208--CXFFFE-----------------------
- INT 62 - MS SQL Server/Sybase DBLIBRARY interface - UNINSTALL/GET PSP ADDR
- AH = 08h
- CX = FFFEh
- DX = FFFFh
- Return: AX = PSP address of resident DBLIBRARY
- Note: this call does not free the memory allocated to the TSR; the calling
- code must do the deallocation.
- SeeAlso: INT 62"DBLIBRARY"
- --------T-6209-------------------------------
- INT 62 - Cswitch - SET PRIORITY
- AH = 09h
- BX = new base priority (1-10)
- Note: the lower the priority is numerically, the more often the task will run
- --------T-620A-------------------------------
- INT 62 - Cswitch - TEST MESSAGE QUEUE
- AH = 0Ah
- DX = queue number (0-63)
- Return: AX = FFFFh bad queue number
- = 0000h nothing on queue
- else number of bytes in first message in queue
- SeeAlso: AH=0Bh,AH=0Ch
- --------T-620B-------------------------------
- INT 62 - Cswitch - SEND MESSAGE
- AH = 0Bh
- CX = number of bytes to write
- DS:SI -> buffer
- DX = queue number (0-63)
- Return: AX = FFFEh triggered by something arriving, redo the call
- = FFFFh bad queue number
- = 0000h no message was on queue
- else number of bytes in message
- SeeAlso: AH=0Ah,AH=0Ch
- --------T-620C-------------------------------
- INT 62 - Cswitch - READ MESSAGE
- AH = 0Ch
- CX = number of bytes to read
- DS:SI -> buffer
- DX = queue number (0-63)
- Return: AX = FFFFh bad queue number
- else number of bytes transferred
- SeeAlso: AH=0Ah,AH=0Bh
- --------T-620D-------------------------------
- INT 62 - Cswitch - DON'T ALLOW TASK TO BE SWAPPED OUT
- AH = 0Dh
- SeeAlso: AH=0Eh
- --------T-620E-------------------------------
- INT 62 - Cswitch - ALLOW TASK TO BE SWAPPED OUT
- AH = 0Eh
- SeeAlso: AH=0Dh
- --------T-620F-------------------------------
- INT 62 - Cswitch - LOAD AND RUN PROGRAM FROM DISK
- AH = 0Fh
- ES:BX -> command line
- CX = priority (1-10)
- DX = background flag
- = != 0000h allows loading to EMS
- Return: AX = 0000h task loader queue is full
- = 0001h no error
- SeeAlso: AH=07h,AH=10h,AH=13h
- --------T-6210-------------------------------
- INT 62 - Cswitch - TERMINATE SPAWNED PROGRAM
- AH = 10h
- SeeAlso: AH=07h,AH=0Fh
- --------T-6211-------------------------------
- INT 62 - Cswitch - GET TCB INFORMATION
- AH = 11h
- ES:BX -> a pointer which will be set to the tcb address
- Return: AX = tcb indentifier
- SeeAlso: AH=12h
- --------T-6212-------------------------------
- INT 62 - Cswitch - GET TCB ADDRESS
- AH = 12h
- ES:BX -> a pointer which will be set to the tcb table address
- Return: AX = tcb indentifier
- SeeAlso: AH=11h
- --------T-6213-------------------------------
- INT 62 - Cswitch - CHECK STATUS OF PREVIOUS LOAD_TASK
- AH = 13h
- Return: AX = FFFCh no Memory Control Blocks available
- = FFFDh no TCBs available
- = FFFEh insufficient memory
- = FFFFh cannot open file
- = 0000h load in progress (not done yet)
- else tcb indentifier
- SeeAlso: AH=0Fh
- --------R-6247-------------------------------
- INT 62 - PC Tools 7 COMMUTE - ???
- AH = 47h
- AL = subfunction (00h-31h)
- ???
- CF set
- Return: ???
- --------R-6248-------------------------------
- INT 62 - PC Tools 7 COMMUTE - ???
- AH = 48h
- AL = ???
- ???
- CF set
- Return: ???
- --------R-6249-------------------------------
- INT 62 - PC Tools 7 COMMUTE - ???
- AH = 49h
- ???
- CF set
- Return: ???
- Note: may be the same as AH=4Ch
- --------R-624A-------------------------------
- INT 62 - PC Tools 7 COMMUTE - ???
- AH = 4Ah
- AL = subfunction (00h-46h)
- ???
- CF set
- Return: ???
- --------R-624B--BX1234-----------------------
- INT 62 - PC Tools 7 COMMUTE - ???
- AH = 4Bh
- BX = 1234h
- CX = 1234h
- ES = ???
- CF set
- Return: ???
- --------R-624C-------------------------------
- INT 62 - PC Tools 7 COMMUTE - ???
- AH = 4Ch
- BL = subfunction
- 00h ???
- 02h ???
- Return: CF clear if successful
- CF set on error
- --------R-626262-----------------------------
- INT 62 - PC Tools 7 COMMUTE - INSTALLATION CHECK
- AX = 6262h
- CF set
- Return: AX = 0000h
- BX = segment of resident code's PSP
- --------*-63---------------------------------
- INT 63 - reserved for user interrupt
- --------d-63---------------------------------
- INT 63 - Adaptec and OMTI controllers - DRIVE 0 DATA
- Notes: this vector stores the last four bytes of the parameter table for
- hard disk 0
- SeeAlso: INT 60"Adaptec",INT 61"Adaptec",INT 62"Adaptec",INT 64"Adaptec"
- ----------63---------------------------------
- INT 63 - Oracle SQL Protected Mode Executive - ???
- --------d-63---------------------------------
- INT 63 - 4+Power FLOPPY CONTROLLER - ORIGINAL INT 13/40
- the "4+Power" quad floppy controller BIOS hooks INT 13 (or INT 40 if INT 13
- has been moved there) and places the old value here
- ----------63---------------------------------
- INT 63 - Kofax KF9X00 image manipulation card interface
- --------Q-63---------------------------------
- INT 63 - DESQview/X - SOCKET API
- Notes: parameters are passed by patching!! data field immediately following
- the entry point, as detailed below; the preferred method for calling
- the socket API is via INT 15/AX=DE2Eh
- the installation check consists of testing for the string "dvxunix"
- (yes, lowercase) at offset 9 from the interrupt handler start
- SeeAlso: INT 15/AX=DE2Eh,INT BE"DESQview"
- Index: installation check;DESQview/X socket interface
-
- Format of interrupt handler entry:
- Offset Size Description
- 00h 3 BYTEs near jump or short jump + NOP to actual interrupt handler
- 03h WORD offset from following pointer for initial top of local stack
- 05h DWORD pointer to argument/stack block (see INT 15/AX=DE2Eh)
- 09h 7 BYTEs signature "dvxunix"
- --------*-64---------------------------------
- INT 64 - reserved for user interrupt
- --------d-64---------------------------------
- INT 64 - Adaptec controllers - DRIVE 1 DATA
- Notes: this vector stores the first four bytes of the parameter table for
- hard disk 1
- these vectors are used by the following Adaptec controllers:
- ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16
- these vectors are NOT used by the following Adaptec controllers:
- ACB 2310, ACB 2312, ACB 2320D, ACB 2322D
- SeeAlso: INT 60"Adaptec",INT 65"Adaptec",INT 66"Adaptec",INT 67"Adaptec"
- ----------64---------------------------------
- INT 64 - Oracle SQL Protected Mode Executive - ???
- --------N-64---------------------------------
- INT 64 - Novell NetWare to v2.0a - LOW-LEVEL API
- Note: equivalent to INT 7A for NetWare versions through 2.0a only; later
- versions do not use this interrupt for IPX/SPX access, instead
- getting an entry point from INT 2F/AX=7A00h
- SeeAlso: INT 2F/AX=7A00h,INT 7A"Novell"
- --------h-64---------------------------------
- INT 64 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
- SeeAlso: INT 65"DG10",INT 66"DG10"
- --------r-64---------------------------------
- INT 64 - Extended Batch Language v3.14+
- AH = function
- 00h to 5Fh chained to previous handler
- 60h to 6Ch reserved, return immediately
- 80h to FFh chained to previous handler
- 6Dh (v4.01+) insert tone in queue
- AL = ???
- CX = frequency in Hertz
- DL = duration in clock ticks
- Return: AL = 00h if note stored
- = 01h if no room to store
- 6Eh clear ??? counter/flag
- 6Fh return counter/flag that AH=6Eh clears
- 70h ???
- AL = ???
- 71h ???
- AL = ???
- 72h ???
- 73h insert byte at end of keyboard buffer
- AL = byte to insert
- Return: AL = 00h if byte inserted
- = 01h if no room to store
- 74h insert byte at front of keyboard buffer
- AL = byte to insert
- Return: AL = 00h if byte inserted
- = 01h if no room to store
- 75h ???
- 76h get keyboard "stack" status
- AL = 'K' if kbd read will read physical keyboard
- 'S' if it will read EBL internal keyboard buffer
- AH = ???
- 77h clear internal keyboard buffer
- 78h ???
- AL = ???
- 79h ???
- 7Ah ???
- AL = ???
- 7Bh ???
- AL = ???
- 7Ch ???
- AL = ???
- 7Dh ???
- AL = ???
- 7Eh clear buffer for ???
- 7Fh installation check
- Return: CX = version in BCD
- DI = segment of ???
- BX = segment of next program's PSP???
- Program: Extended Batch Language is a batch-file enhancer by Seaware
- Notes: the chaining does not check whether the interrupt had been hooked
- before, so if you try to chain when the previous vector was
- 0000h:0000h, you'll be in trouble
- functions 72h and 7Ah-7Dh appear to be interfaces to the optional
- floating-point and extended function packages
- Index: installation check;EBL|installation check;Extended Batch Language
- --------d-64---------------------------------
- INT 64 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
- Note: This vector is overwritten by Pdisk to install custom harddrive types.
- It can either destroy 4 vectors and take no memory or TSR and take
- up some memory.
- SeeAlso: INT 65"Pdisk"
- --------*-65---------------------------------
- INT 65 - reserved for user interrupt
- --------d-65---------------------------------
- INT 65 - Adaptec controllers - DRIVE 1 DATA
- Note: this vector stores the second four bytes of the parameter table for
- hard disk 1
- SeeAlso: INT 64"Adaptec",INT 66"Adaptec",INT 67"Adaptec"
- --------h-65---------------------------------
- INT 65 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
- SeeAlso: INT 64"DG10",INT 66"DG10"
- --------N-65---------------------------------
- INT 65 - FTP Software NDIS-Packet Driver adapter - POST PROCESSING INTERRUPT
- --------U-65---------------------------------
- INT 65 - SD.COM v6.2
- The unregistered version of SD62.COM uses the low byte of this vector to
- count the number of invocations, displaying a registration reminder each
- time after the 20th use.
- --------d-65---------------------------------
- INT 65 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
- SeeAlso: INT 64"Pdisk",INT 66"Pdisk"
- --------s-65---------------------------------
- INT 65 - Ad Lib SOUND.COM - INTERFACE
- SI = function number (see also entries below)
- 0000h Init
- 0002h RelTimeStart
- 0003h SetState
- 0004h GetState
- 0005h Flush
- 0006h SetMode
- 0007h GetMode
- 0008h SetRelVolume
- 0009h SetTempo
- 000Ah SetTranspose
- 000Bh GetTranspose
- 000Ch SetActVoice
- 000Dh GetActVoice
- 000Eh PlayNoteDel
- 000Fh PlayNote
- 0010h SetTimbre
- 0011h SetPitch
- 0012h SetTickBeat
- 0013h NoteOn
- 0014h NoteOff
- 0015h Timbre
- 0016h SetPitchBend
- 0017h WaveForm
- ES:BX -> arguments
- Note: the installation check consists of checking for the signature block
- immediately preceding the interrupt handler (see below)
- SeeAlso: SI=8000h
- Index: installation check;Ad Lib SOUND.COM
-
- Format of signature block:
- Offset Size Description
- 00h WORD version number
- 02h 19 BYTEs "SOUND-DRIVER-AD-LIB"
- 15h BYTE 01h
- 16h BYTE 01h
- 17h BYTE 00h
- --------s-65----SI0000-----------------------
- INT 65 - Ad Lib SOUND.COM - INITIALIZE (RESET)
- SI = 0000h
- --------s-65----SI0003-----------------------
- INT 65 - Ad Lib SOUND.COM - SET STATE
- SI = 0003h
- ES:BX -> WORD state = 0000h disabled
- = 0001h enabled
- SeeAlso: SI=0004h
- --------s-65----SI0004-----------------------
- INT 65 - Ad Lib SOUND.COM - GET STATE
- SI = 0004h
- Return: AX = 0000h all done playing sounds
- = else still playing sounds
- SeeAlso: SI=0003h
- --------s-65----SI0006-----------------------
- INT 65 - Ad Lib SOUND.COM - SET MODE
- SI = 0006h
- ES:BX -> WORD mode = 0000h melodic
- = 0001h percussive
- SeeAlso: SI=0007h
- --------s-65----SI0007-----------------------
- INT 65 - Ad Lib SOUND.COM - GET MODE
- SI = 0007h
- Return: AX = 0000h melodic
- = 0001h percussive
- SeeAlso: SI=0006h
- --------s-65----SI000C-----------------------
- INT 65 - Ad Lib SOUND.COM - SET ACTIVE VOICE
- SI = 000Ch
- ES:BX -> WORD voice = 0000h to 0008h
- SeeAlso: SI=000Dh
- --------s-65----SI000D-----------------------
- INT 65 - Ad Lib SOUND.COM - GET ACTIVE VOICE
- SI = 000Dh
- Return: AX = voice (0000h to 0008h)
- SeeAlso: SI=000Ch
- --------s-65----SI8000-----------------------
- INT 65 u - Media Vision FM.COM v4.1a+ - GET INTERNAL DATA STRUCTURES
- SI = 8000h
- Return: DX:AX -> internal data structures
- Program: FM.COM is an Ad Lib SOUND.COM-compatible driver for Media Vision's
- Pro Audio Spectrum sound boards
- SeeAlso: SI=8001h
- --------s-65----SI8001-----------------------
- INT 65 u - Media Vision FM.COM v4.1a+ - GET VOICE COUNT
- SI = 8001h
- Return: AX = ???
- DX = number of voices??? (09h or 0Bh)
- SeeAlso: SI=8000h
- --------s-65----SI8002-----------------------
- INT 65 - Media Vision FM.COM v4.1a+ - START BACKGROUND FM SOUNDS
- SI = 8002h
- SeeAlso: SI=8003h
- --------s-65----SI8003-----------------------
- INT 65 - Media Vision FM.COM v4.1a+ - STOP BACKGROUND FM SOUNDS
- SI = 8003h
- SeeAlso: SI=8002h
- --------s-65----SI8004-----------------------
- INT 65 U - Media Vision FM.COM v4.1a+ - GET ???
- SI = 8004h
- Return: AX = ??? (0280h)
- DX = ??? (01A0h)
- --------s-65----SI8005-----------------------
- INT 65 U - Media Vision FM.COM v4.1a+ - ???
- SI = 8005h
- ???
- Return: ???
- SeeAlso: SI=8000h
- --------S-65---------------------------------
- INT 65 U - EZRECV v1.0 - API
- AX = function
- 0000h ???
- Return: AX = ??? or FFFFh
- 0001h ???
- Return: AX = status (0000h or 0001h)
- 0002h ???
- Return: AX = status (0000h or 0001h)
- 0003h set ??? to 0001h
- Return: AX = 0000h
- 0004h ???
- Return: AX = ???
- Return: BH = COM port being used
- BL = speed???
- CH = ???
- CL = ???
- DX = ???
- DS = ???
- ES = EZRECV data segment
- Program: EZRECV is a background Zmodem file receiver by Express Consulting
- --------*-66---------------------------------
- INT 66 - reserved for user interrupt
- --------d-66---------------------------------
- INT 66 - Adaptec controllers - DRIVE 1 DATA
- Note: this vector stores the third four bytes of the parameter table for
- hard disk 1
- SeeAlso: INT 64"Adaptec",INT 65"Adaptec",INT 67"Adaptec"
- --------h-66---------------------------------
- INT 66 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
- SeeAlso: INT 64"DG10"
- --------N-66---------------------------------
- INT 66 C - Nanosoft, Inc. TurboNET - NETWORK PROCESSING ???
- Program: TurboNET is a NetBIOS-based file redirector and server
- Note: hooked but not used (IRET) by both redirector and server; called from
- server's INT 28 handler
- SeeAlso: INT 2F/AX=8100h
- --------d-66---------------------------------
- INT 66 - Pdisk by Scott Garfinkle - Overwritten for Hard Drive information
- SeeAlso: INT 64"Pdisk",INT 67"Pdisk"
- --------W-66---------------------------------
- INT 66 - Microsoft Windows VITD.386 Virtual Interval Timer
- Note: This Windows 3.x Virtual Device Driver implements a virtual timer
- which will expire and call INT 66. This timer can be used to
- calculate elapsed execution time etc.
- --------K-66---------------------------------
- INT 66 - Newkey v5.4 - INSTALLATION VECTOR
- Return: immediately (IRET)
- Program: Newkey is a shareware keyboard macro program by Frank A. Bell
- Note: the installation check consists of testing for the signature bytes
- FDh FCh FFh FEh at offset 03h in the interrupt handlers segment;
- Newkey may use any interrupt from 60h through 67h and will install
- on the highest vector in this range which is unused (normally 66h)
- BUG: the code obviously intends to use INT F0-FE, INT 70-77, and INT 68-6F
- before falling back to INT 60-67, but only uses the last of these
- ranges in v5.4
- SeeAlso: INT 2F/AX=E300h
- Index: installation checks;Newkey|Newkey;installation check
- --------F-6601-------------------------------
- INT 66 - BitFax Scheduler - SET MODE???
- AH = 01h
- SeeAlso: AH=02h
- --------F-6602-------------------------------
- INT 66 - BitFax Scheduler - SET MODE???
- AH = 02h
- SeeAlso: AH=01h
- --------F-6603-------------------------------
- INT 66 - BitFax Scheduler - SCHEDULE FAX TRANSMISSIONS
- AH = 03h
- ???
- Return: ???
- SeeAlso: AH=05h
- --------F-6604-------------------------------
- INT 66 - BitFax Scheduler - GET STATUS???
- AH = 04h
- Return: AX = ??? (0000h or 0001h)
- DX = BitSched version??? (for versions >= 3.00)
- 9796h (ver. 3.00)
- 97E6h (ver. 3.02)
- 92D0h (ver. 3.04.06)
- 9510h (ver. 3.06.02)
- SeeAlso: AH=06h,AX=3345h,INT 2F/AX=8000h"FaxBIOS"
- --------F-6605-------------------------------
- INT 66 - BitFax Scheduler - CONVERT FILE AND SEND FAX
- AH = 05h
- BX:CX -> command block (see below)
- ???
- Return: ???
- SeeAlso: AH=03h
-
- Format of command block:
- Offset Size Description
- 00h 18 BYTEs configuration bytes???
- 12h BYTEs ASCIZ temporary file name to place converted fax
- 52h BYTEs ASCIZ directory containing BitFax executables
- 92h BYTEs ASCIZ telephone number
- C2h BYTE 00h don't send cover page
- 01h send cover page
- C3h 15 BYTEs configuration bytes???
- E2h BYTEs ASCIZ path of BITFAX.TRA file (containing additional
- configuration information???)
- 122h BYTEs configuration bytes???
- 12Ch BYTE 00h don't send cover page
- 01h send cover page
- 12Dh 7 BYTEs configuration bytes???
- 134h BYTEs ASCIZ path of file to send
- 174h BYTEs more configuration bytes???
- ???
- --------F-6606-------------------------------
- INT 66 - BitFax Scheduler - SET MODE???
- AH = 06h
- Return: DX = BitSched version??? (same as AH=04h)
- SeeAlso: AH=04h
- --------s-660688-----------------------------
- INT 66 - IBMSND driver - PLAY 8-BIT DIGITIZED SOUND
- AX = 0688h
- DS:SI -> SNDSTRUC (see below)
- Return: ???
- Program: The IBMSND driver is part of John W. Ratcliff's
- The IBM Digitized Sound Package
- Note: the installation check consists of looking for a valid signature
- string six bytes prior to the interrupt handler; this string may
- be either "KERN" or "MIDI" (in the latter case, call AX=0701h to
- determine whether IBMSND is installed)
- SeeAlso: AX=068Bh,AX=068Fh,AX=0701h
-
- Format of SNDSTRUC:
- Offset Size Description
- 00h DWORD -> audio data
- 04h WORD length of audio data in bytes
- 06h DWORD -> playback status flag
- 0Ah WORD playback frequency
- --------s-660689-----------------------------
- INT 66 - IBMSND driver - REPORT SOUND DRIVER STATUS
- AX = 0689h
- Return: AX = status
- 0000h no sound playing
- 0001h sound effect is currently playing
- SeeAlso: AX=0688h,AX=068Bh,AX=068Ch
- --------s-66068A-----------------------------
- INT 66 - IBMSND driver - PREFORMAT SOUND
- AX = 068Ah
- DS:SI -> SNDSTRUC (see AX=0688h)
- Desc: convert audio data into output hardware format
- SeeAlso: AX=068Bh
- --------s-66068B-----------------------------
- INT 66 - IBMSND driver - PLAY PREFORMATTED SOUND
- AX = 068Bh
- DS:SI -> SNDSTRUC (see AX=0688h)
- Return: AX = ???
- SeeAlso: AX=0688h,AX=068Ah,AX=068Fh
- --------s-66068C-----------------------------
- INT 66 - IBMSND driver - REPORT AUDIO DRIVER CAPABILITIES
- AX = 068Ch
- Return: AX = capabilities (see below)
- DX = playback rate if fixed-frequency playback
- SeeAlso: AX=0689h,AX=068Dh
-
- Bitfields for capabilities:
- bit 0 can play audio in background
- bit 1 data is massaged
- bit 2 driver plays at fixed frequency, resampling input data to fit
- bit 3 driver uses timer interrupt
- --------s-66068D-----------------------------
- INT 66 - IBMSND driver - REPORT CURRENT SAMPLE ADDRESS
- AX = 068Dh
- Return: AX = current playback address
- Desc: determine what point in the audio data the playback has reached, for
- synchronization with video or animation effects
- Notes: this function applies to background playback only
- the reported address may be an approximation rather than the exact
- address
- SeeAlso: AX=068Ch,AX=0691h
- --------s-66068E-----------------------------
- INT 66 - IBMSND driver - SET CALLBACK ADDRESS
- AX = 068Eh
- BX:DX -> callback function
- 0000h:0000h to disable callback
- DS = value to load into DS when calling the callback function
- Desc: specify the function to be called when playback of a sound effect is
- completed
- Note: the callback function will typically be called during a hardware
- interrupt, so all the usual precautions should be taken except for
- preserving registers
- SeeAlso: AX=0691h
- --------s-66068F-----------------------------
- INT 66 - IBMSND driver - STOP CURRENT SOUND
- AX = 068Fh
- Desc: cause any currently-playing sound effect to be terminated
- SeeAlso: AX=0688h,AX=068Bh
- --------s-660690-----------------------------
- INT 66 - IBMSND driver - "SetAudioHardware" SET UP HARDWARE INFO [obsolete]
- AX = 0690h
- Note: this function is no longer implemented
- --------s-660691-----------------------------
- INT 66 - IBMSND driver - REPORT CALLBACK ADDRESS
- AX = 0691h
- Return: AX:DX -> current callback function
- BX = original caller's DS register
- Program: The IBMSND driver is part of John W. Ratcliff's
- The IBM Digitized Sound Package
- SeeAlso: AX=068Eh
- --------s-660701-----------------------------
- INT 66 - IBM Digitized Sound Package MIDI driver - GET DIGITIZED SOUND CAPABIL
- AX = 0701h
- Return: AX = digitized sound capabilities
- 0000h if digitized sound driver (functions 06xxh) not available
- Note: the installation check for the MIDI driver is to test for the signature
- "MIDI" six bytes before the interrupt handler
- SeeAlso: AX=0688h
- --------F-663345-----------------------------
- INT 66 - BitFax Scheduler - REMOVE TSR FROM MEMORY
- AX = 3345h
- Return: AX = FFFFh error removing TSR
- Note: the installation check consists of checking for the signature
- "BitFax Scheduler" beginning two bytes past the interrupt handler
- SeeAlso: AH=04h,INT 2F/AH=2Ah,INT 2F/AX=CB00h
- Index: installation check;BitFax Scheduler
- --------t-66FFFBBXFFFB-----------------------
- INT 66 - MicroHelp Stay-Res Plus - ???
- AX = FFFBh
- BX = FFFBh
- ???
- Return: ???
- SeeAlso: AX=FFFEh,INT 2D"AMIS"
- --------t-66FFFEBXFFFE-----------------------
- INT 66 - MicroHelp Stay-Res/Stay-Res Plus - UNINSTALL
- AX = FFFEh
- BX = FFFEh
- Return: only if unsuccessful
- Notes: installation check is for the interrupt handler to begin with the bytes
- FBh 9Ch or 9Ch FAh, and the program name (not case-sensitive) to
- appear at offset 0005h (older versions) or the offset returned by
- AX=FFFFh/BX=FFF0h in the interrupt handler segment.
- Programs which use Stay-Res include ThesPlus (program name "THESPLUS")
- and Personal Calendar (program name "CAL") by Paul Mun~oz-Colman.
- SeeAlso: AX=FFFBh,AX=FFFFh,INT 2D"AMIS"
- Index: installation check;MicroHelp Stay-Res|installation check;ThesPlus
- Index: installation check;Personal Calendar|installation check;CAL
- --------t-66FFFFBXFFF0-----------------------
- INT 66 - MicroHelp Stay-Res Plus - FIND PROGRAM NAME
- AX = FFFFh
- BX = FFF0h
- Return: DI = offset of program name in interrupt handler segment
- SeeAlso: AX=FFFBh,AX=FFFEh,INT 2D"AMIS"
- ---------------------------------------------
-