You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9866 lines
338 KiB
9866 lines
338 KiB
Interrupt List, part 17 of 18
|
|
Copyright (c) 1989-1999,2000 Ralf Brown
|
|
--------N-6B---------------------------------
|
|
INT 6B - DECnet DOS - PORT DRIVER
|
|
InstallCheck: test for a signature area (see #03729) immediately preceding
|
|
the interrupt handler
|
|
SeeAlso: INT 6A"DECnet",INT 6C"DECnet"
|
|
Index: installation check;DECnet DOS Port Driver
|
|
|
|
Format of DECnet DOS signature area:
|
|
Offset Size Description (Table 03729)
|
|
-5 BYTE major version number
|
|
-4 BYTE minor version number
|
|
-3 3 BYTEs signature (ASCII "PDV")
|
|
--------v-6B---------------------------------
|
|
INT 6B - VIRUS - "Saddam" - ORIGINAL INT 21h VECTOR
|
|
SeeAlso: INT 21/AX=FFFFh,INT 61"VIRUS",INT 70"VIRUS"
|
|
--------h-6B---------------------------------
|
|
INT 6B C - HP Vectra AT - IRQ19 - RESERVED HARDWARE INTERRUPT
|
|
SeeAlso: INT 0B"IRQ3",INT 6A"HP Vectra",INT 6C"HP Vectra"
|
|
--------S-6B0000-----------------------------
|
|
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
|
|
AX = 0000h
|
|
CX = length
|
|
ES:BX -> buffer
|
|
Return: CX = number of bytes written
|
|
Program: NASI is Novell's NetWare Asynchronous Services Interface (purchased
|
|
from Network Products Corp, who call it NCSI) which runs on
|
|
workstations; NACS is the NetWare Asynchronous Communications
|
|
Services module which runs on servers
|
|
InstallCheck: test for the signature string "NCSI" three bytes past the
|
|
interrupt handler; see also AH=02h.
|
|
As of version 3.0, Novell's NASI can be distinguished from NPC's
|
|
NCSI by the presence of an 'A' immediately following the signature
|
|
Notes: this function is also supported by TelAPI, NPC NCSI, and Connection
|
|
Manager CLIENT.EXE; for TelAPI, nonzero values in AL specify a
|
|
connection ID
|
|
Connection Manager returns CF set/AL=FFh if called while an INT 6B
|
|
call is already in progress
|
|
SeeAlso: AX=0100h,AH=18h,INT 14/AH=19h,INT 14/AH=E3h
|
|
--------S-6B0100-----------------------------
|
|
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
|
|
AX = 0100h
|
|
CX = length of buffer
|
|
ES:BX -> buffer
|
|
Return: CX = number of bytes read
|
|
Note: also supported by TelAPI and NPC NCSI; for TelAPI, nonzero values in
|
|
AL specify a connection ID
|
|
SeeAlso: AX=0000h,AH=19h,INT 14/AH=18h,INT 14/AH=E2h,INT 14/AX=FF02h
|
|
--------S-6B02-------------------------------
|
|
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
|
|
AH = 02h
|
|
AL nonzero
|
|
Return: AL = 00h if present and OK
|
|
Note: this function is also supported by TelAPI and NPC NCSI
|
|
SeeAlso: AX=0700h
|
|
--------S-6B0600-----------------------------
|
|
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
|
|
AX = 0600h
|
|
CX = command
|
|
02h send break
|
|
04h disconnect
|
|
06h hold
|
|
Return: CF clear if successful
|
|
AL = 00h
|
|
CF set on error
|
|
AX < 0
|
|
Note: this function is also supported by TelAPI and NPC NCSI
|
|
--------S-6B0700-----------------------------
|
|
INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
|
|
AX = 0700h
|
|
Return: CH <> 00h if connection active
|
|
Notes: this function is also supported by TelAPI and NPC NCSI
|
|
Novell TelAPI returns CX=FF01h and CF clear
|
|
SeeAlso: AH=02h,AH=10h
|
|
--------N-6B08-------------------------------
|
|
INT 6B - TelAPI - CHECK FOR BREAK SIGNAL
|
|
AH = 08h
|
|
AL = circuit number
|
|
Return: CF clear if no breaks
|
|
AL = 00h
|
|
CX = 0000h
|
|
CF set if one or more breaks received
|
|
Note: this function also clears ??? flag
|
|
SeeAlso: INT 14/AX=FF00h
|
|
--------S-6B10-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
|
|
AH = 10h
|
|
AL = connection ID (Novell TELAPI.EXE)
|
|
CX = ???
|
|
ES:BX -> buffer for status (see #03730)
|
|
Return: CF clear if successful
|
|
CL = ???
|
|
CH = ???
|
|
CF set on error
|
|
???
|
|
Notes: this function is also supported by TelAPI
|
|
when shelled out to an external protocol from Novell NASI, the circuit
|
|
whose status indicates that it is connected is the currently active
|
|
circuit
|
|
SeeAlso: AX=0700h,AH=12h,AH=1Fh
|
|
|
|
Format of NASI status:
|
|
Offset Size Description (Table 03730)
|
|
00h BYTE number of allocated virtual circuits
|
|
01h BYTE reserved
|
|
02h 9 BYTEs states of emulated circuits 0-8
|
|
00h idle
|
|
01h attached Telnet session, in command state
|
|
02h attached Telnet session, connected with host
|
|
03h-06h ??? (not returned by TelAPI)
|
|
Note: this description is derived from the Novell TelAPI emulation of NASI
|
|
--------S-6B11--DX0001-----------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
|
|
AH = 11h
|
|
DX = 0001h
|
|
AL = 00h
|
|
ES:BX -> service name string (8 characters, blank-padded)
|
|
Return: CF clear if successful
|
|
AL = virtual circuit number allocated (01h for Novell TELAPI.EXE)
|
|
CL = ??? (01h for Novell TELAPI.EXE)
|
|
CH = ??? (01h for Novell TELAPI.EXE)
|
|
CF set on error
|
|
???
|
|
Note: this function is also supported by TelAPI
|
|
SeeAlso: AH=12h,AH=15h,AH=16h,AH=17h,AH=18h
|
|
--------S-6B12-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
|
|
AH = 12h
|
|
AL = virtual circuit number (0-8)
|
|
Return: CF clear if successful
|
|
AL = virtual circuit number
|
|
CL = virtual circuit's state
|
|
00h idle
|
|
01h Telnet session, in command state
|
|
02h Telnet session, connected to host
|
|
03h-06h ??? (not returned by TelAPI)
|
|
CF set on error
|
|
AL = error code
|
|
E2h invalid virtual circuit number
|
|
E4h specified virtual circuit not allocated
|
|
Note: this function is also supported by TelAPI
|
|
SeeAlso: AH=10h,AH=15h,AH=1Ah,AH=1Bh,AH=1Fh
|
|
--------S-6B13-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
|
|
AH = 13h
|
|
AL = virtual circuit number
|
|
CL = direction (00h get, nonzero set)
|
|
ES:BX -> buffer for/containing service name
|
|
Return: ???
|
|
Note: this function is also supported by TelAPI
|
|
SeeAlso: AH=14h,AH=15h
|
|
--------S-6B14-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
|
|
AH = 14h
|
|
AL = virtual circuit number
|
|
ES:BX -> buffer for/containing service address
|
|
Return: ???
|
|
Note: this function is also supported by TelAPI, which only supports
|
|
retrieving the address
|
|
SeeAlso: AH=13h,AH=15h,AH=21h
|
|
--------S-6B15-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
|
|
AH = 15h
|
|
AL = virtual circuit number
|
|
CL = direction (00h get, nonzero set)
|
|
ES:BX -> buffer for/containing virtual circuit config (see #03731)
|
|
Return: ES:BX buffer filled
|
|
Note: this function is also supported by TelAPI
|
|
SeeAlso: AH=13h"NCSI",AH=14h"NCSI"
|
|
|
|
Format of virtual circuit configuration:
|
|
Offset Size Description (Table 03731)
|
|
00h WORD buffer length
|
|
02h WORD port ID
|
|
04h WORD receive rate
|
|
06h WORD receive word length
|
|
08h WORD receive stop bits
|
|
0Ah WORD receive parity
|
|
0Ch WORD transmit rate
|
|
0Eh WORD transmit word length
|
|
10h WORD transmit stop bits
|
|
12h WORD transmit parity
|
|
14h WORD DTR
|
|
16h WORD RTS
|
|
--------S-6B16-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
|
|
AH = 16h
|
|
AL = virtual circuit number
|
|
CL = ??? switch (00h, ???)
|
|
Return: CF clear if successful
|
|
AL = virtual circuit number
|
|
CF set on error
|
|
???
|
|
Note: this function is also supported by TelAPI, which always returns CF
|
|
clear and AL=00h
|
|
SeeAlso: AH=11h,AH=12h,AH=17h
|
|
--------S-6B17-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
|
|
AH = 17h
|
|
AL = virtual circuit number
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
???
|
|
Note: this function is also supported by TelAPI, which always returns CF
|
|
clear and AL=00h
|
|
SeeAlso: AH=11h,AH=16h
|
|
--------S-6B18-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
|
|
AH = 18h
|
|
AL = virtual circuit number
|
|
CX = number of characters to send
|
|
ES:BX -> buffer containing characters to be sent
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
???
|
|
Note: this function is also supported by TelAPI, which always returns CF
|
|
clear and AL=30h
|
|
SeeAlso: AX=0000h,AH=12h,AH=19h
|
|
--------S-6B19-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
|
|
AH = 19h
|
|
AL = virtual circuit number
|
|
CX = number of characters to read
|
|
ES:BX -> buffer for received characters
|
|
Return: CX = 0000h if failed
|
|
CX = nonzero (possibly number of characters received) if successful
|
|
Note: this function is also supported by TelAPI
|
|
SeeAlso: AX=0100h,AH=12h,AH=18h
|
|
--------S-6B1A-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
|
|
AH = 1Ah
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=12h,AH=1Bh
|
|
--------S-6B1B-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
|
|
AH = 1Bh
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=12h,AH=1Ah
|
|
--------S-6B1C-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - CLEAR RECEIVE BUFFER
|
|
AH = 1Ch
|
|
AL = circuit number
|
|
Return: nothing
|
|
SeeAlso: AH=1Dh"NCSI",AH=1Eh"NCSI"
|
|
--------S-6B1D-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
|
|
AH = 1Dh
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=1Ch,AH=1Eh
|
|
--------S-6B1E-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
|
|
AH = 1Eh
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=1Ch,AH=1Dh
|
|
--------S-6B1F-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
|
|
AH = 1Fh
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=10h,AH=12h
|
|
--------S-6B20-------------------------------
|
|
INT 6B - Connection Manager CLIENT.EXE - ???
|
|
AH = 20h
|
|
???
|
|
Return: ???
|
|
Program: Connection Manager by Softwarehouse Corp. permits the sharing of
|
|
serial ports over an IPX or NetBIOS-based network
|
|
Note: CLIENT.EXE returns CF set/AL=F9h if AH is not 00h to 21h on entry
|
|
--------S-6B21-------------------------------
|
|
INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
|
|
AH = 21h
|
|
AL = virtual circuit number
|
|
CL = ??? (00h or 01h)
|
|
ES:BX -> buffer for service name structure (see #03732)
|
|
Return: CF clear if successful
|
|
ES:BX buffer filled
|
|
CF set on error
|
|
Notes: a program should call this function after allocating a virtual circuit
|
|
and check that the general name matches the requested service
|
|
prior to version 3.0, Novell's NASI returned the first available port;
|
|
v3.0+ returns the first port found--check the returned status to
|
|
determine whether the port is available
|
|
SeeAlso: AH=14h"NCSI"
|
|
|
|
Format of NCSI service name structure:
|
|
Offset Size Description (Table 03732)
|
|
00h WORD buffer length
|
|
02h 8 BYTEs service name
|
|
0Ah 8 BYTEs general name
|
|
12h 8 BYTEs specific name
|
|
1Ah 4 BYTEs ???
|
|
---Novell NASI v3.0+ ---
|
|
1Eh BYTE port number
|
|
1Fh BYTE port status
|
|
00h idle (available)
|
|
01h allocated (available)
|
|
02h connected
|
|
03h on hold
|
|
----------6B6B-------------------------------
|
|
INT 6B - Tandy SCHOOLMATE PLUS - API
|
|
AH = 6Bh
|
|
AL = E0h to FFh
|
|
Note: details not yet available
|
|
----------6C---------------------------------
|
|
INT 6C - system resume vector (CONVERTIBLE)
|
|
----------6C---------------------------------
|
|
INT 6C - DOS 3.2 Realtime Clock update
|
|
--------N-6C---------------------------------
|
|
INT 6C - DECnet DOS network scheduler
|
|
InstallCheck: test for a signature area immediately preceding the interrupt
|
|
handler (see #03733)
|
|
Note: this function is also supported by DEC Pathworks for DOS
|
|
SeeAlso: INT 6B"DECnet",INT 6D"DECnet",INT 6E"DECnet"
|
|
Index: installation check;DECnet DOS scheduler
|
|
|
|
Format of DECnet DOS signature area:
|
|
Offset Size Description (Table 03733)
|
|
-5 BYTE major version number
|
|
-4 BYTE minor version number
|
|
-3 3 BYTEs signature (ASCII "SCH")
|
|
--------h-6C---------------------------------
|
|
INT 6C C - HP Vectra AT - IRQ20 - HP-HIL CONTROLLER INTERRUPT
|
|
SeeAlso: INT 0C"IRQ4",INT 6B"HP Vectra",INT 6D"HP Vectra"
|
|
--------V-6D---------------------------------
|
|
INT 6D - VIDEO - many VGA - VIDEO BIOS ENTRY POINT
|
|
Desc: points at the original INT 10 entry point set up by the VGA BIOS
|
|
Notes: used by IBM, ATI VGA Wonder, Paradise, Video7, and NCR, and many others
|
|
the Diamond Stealth64 BIOS uses this vector to store the INT 42 vector
|
|
of the inactive video (see INT 10/AH=12h/BL=35h)
|
|
SeeAlso: INT 10/AH=00h,INT 10/AH=0Eh,INT 10/AH=12h/BL=10h
|
|
--------V-6D---------------------------------
|
|
INT 6D - Trident SVGA - VIDEO BIOS HANDLER
|
|
Note: the BIOS INT 10 handler on various Trident VGA cards consists merely
|
|
of a call to INT 6D followed by an IRET.
|
|
--------N-6D---------------------------------
|
|
INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM
|
|
AH = function
|
|
???
|
|
Return: ???
|
|
InstallCheck: test for a signature area immediately preceding the interrupt
|
|
handler (see #03734)
|
|
SeeAlso: INT 69/AH=0Ah,INT 6C"DECnet",INT 6E"DECnet"
|
|
Index: installation check;DECnet DOS Data Link Layer
|
|
|
|
Format of DECnet DOS signature area:
|
|
Offset Size Description (Table 03734)
|
|
-5 BYTE major version number
|
|
-4 BYTE minor version number
|
|
-3 3 BYTEs signature (ASCII "DLL")
|
|
--------h-6D---------------------------------
|
|
INT 6D C - HP Vectra AT - IRQ21 - RESERVED HARDWARE INTERRUPT
|
|
SeeAlso: INT 0D"IRQ5",INT 6C"HP Vectra",INT 6E"HP Vectra"
|
|
--------V-6DBD60-----------------------------
|
|
INT 6D U - Matrox Multiple Monitor Support v1.0 - ???
|
|
AX = BD60h
|
|
DS:SI -> buffer containing ??? (see #03735)
|
|
???
|
|
Return: AX = 00BDh if function executed
|
|
???:SI -> 22-byte buffer (inside TSR) filled with ??? (see #03735)
|
|
AX unchanged if function disabled
|
|
Note: this function is a NOP if AX=BD6Fh/BL=01h was called
|
|
SeeAlso: AX=BD61h,AX=BD6Fh,AX=BDFFh
|
|
|
|
Format of Matrox ??? buffer:
|
|
Offset Size Description (Table 03735)
|
|
00h 4 BYTEs ???
|
|
04h WORD video mode width in pixels
|
|
06h WORD video mode height in pixels
|
|
08h BYTE ???
|
|
09h BYTE ???
|
|
0Ah BYTE ???
|
|
0Bh BYTE flags
|
|
bit 1: ???
|
|
bit 4: ??? (corresponds to bit 14 for AX=BD61h)
|
|
bit 5: ??? (corresponds to bit 15 for AX=BD61h)
|
|
0Ch DWORD -> ??? buffer
|
|
10h WORD ???
|
|
bit 4: ??? (corresponds to bit 14 for AX=BD61h)
|
|
bit 5: ??? (corresponds to bit 15 for AX=BD61h)
|
|
12h 4 BYTEs ???
|
|
SeeAlso: #03736
|
|
--------V-6DBD61-----------------------------
|
|
INT 6D U - Matrox Multiple Monitor Support v1.0 - GET VIDEO MODE INFORMATION
|
|
AX = BD61h
|
|
BX = width in pixels (bits 13-0)
|
|
bit 14: ???
|
|
bit 15: ???
|
|
CX = height in pixels
|
|
Return: AL = BDh if function supported
|
|
AH = status
|
|
00h successful
|
|
01h failed (resolution/flags not supported)
|
|
CX:BX -> video mode data structure (see #03736)
|
|
(first word is FFFFh if unsupported resolution)
|
|
EAX high word cleared
|
|
SeeAlso: AX=BD60h,AX=BD6Fh,AX=BDFFh
|
|
|
|
Format of Matrox video mode information (VCE structure):
|
|
Offset Size Description (Table 03736)
|
|
00h WORD width in pixels
|
|
02h WORD height in pixels
|
|
04h WORD ???
|
|
06h DWORD dot clock frequency
|
|
0Ah 25 BYTEs ???
|
|
SeeAlso: #03735
|
|
--------V-6DBD6F-----------------------------
|
|
INT 6D U - Matrox Multiple Monitor Support v1.0 - INSTALLATION CHECK
|
|
AX = BD6Fh
|
|
BL = subfunction
|
|
00h installation check
|
|
01h disable TSR
|
|
02h enable TSR (see AX=BD60h)
|
|
Return: AX = 00BDh if installed
|
|
SeeAlso: AX=BD60h,AX=BD61h,AX=BDFFh
|
|
--------V-6DBDFF-----------------------------
|
|
INT 6D U - Matrox Multiple Monitor Support v1.0 - UNHOOK INTERRUPT (UNINSTALL)
|
|
AX = BDFFh
|
|
Return: AX = 00BDh if supported
|
|
Note: this function revectors INT 6D without checking that it points at the
|
|
TSR, and does not release the memory occupied by the TSR
|
|
SeeAlso: AX=BD60h,AX=BD61h,AX=BD6Fh
|
|
--------N-6E---------------------------------
|
|
INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
|
|
InstallCheck: test for the signature/data area (see #03737) immediately prior
|
|
to the interrupt handler
|
|
Note: this is the main DECnet DOS access, and is described in Digital manual
|
|
AA-EB46B-TV ("DECnet-DOS Programmer's Reference Manual")
|
|
Index: installation check;DECnet DOS
|
|
|
|
Format of DECnet DOS signature area:
|
|
Offset Size Description (Table 03737)
|
|
-5 BYTE major version number
|
|
-4 BYTE minor version number
|
|
-3 3 BYTEs signature (ASCII "DNP")
|
|
--------h-6E---------------------------------
|
|
INT 6E C - HP Vectra AT - IRQ22 - RESERVED HARDWARE INTERRUPT
|
|
SeeAlso: INT 0E"IRQ6",INT 6D"HP Vectra",INT 6F/AH=00h"HP Vectra"
|
|
--------N-6F---------------------------------
|
|
INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
|
|
AX = function
|
|
0000h enter terminal mode
|
|
Return: AX = status
|
|
0000h no action requested
|
|
0001h screen save
|
|
0001h reset interface and set configuration parameters
|
|
DX = bitfields
|
|
bits 2-0: model number
|
|
bits 4-3: I/O address
|
|
bits 6-5: DMA channel
|
|
Return: nothing
|
|
0002h set display parameters
|
|
DX = bitfields
|
|
bits 1-0: OIA mode
|
|
bits 4-2: monitor support
|
|
Return: nothing
|
|
0003h read status
|
|
Return: AX = status word (see #03738)
|
|
0004h read cursor position
|
|
Return: AX = cursor position
|
|
0005h get character from device buffer
|
|
DX = cursor position
|
|
Return: AH = type (00h data, 01h attribute)
|
|
AL = data or attribute character
|
|
0006h send character
|
|
DH = type (00h ASCII, 01h extended code)
|
|
DL = ASCII character or extended code
|
|
Return: nothing
|
|
0007h set timeout
|
|
DX = timeout in seconds
|
|
Return: nothing
|
|
0008h wait for location to be modified
|
|
DX = cursor position
|
|
Return: AX = status (0000h modified, nonzero timeout)
|
|
0009h NOP
|
|
000Ah restore display
|
|
Return: nothing
|
|
000Bh update device buffer
|
|
Return: AX = cursor positoin
|
|
000Ch write string to add information area
|
|
DS:DX -> string
|
|
Return: nothing
|
|
000Dh maintenance operations
|
|
DX = maintenance operation code
|
|
Return: AX = operation status
|
|
000Eh get control program version
|
|
Return: AH = release number (major version)
|
|
AL = level number (minor version)
|
|
000Fh get microcode version
|
|
Return: AH = release number (major version)
|
|
AL = level number (minor version)
|
|
0010h save or display graphics
|
|
BX = length of data buffer
|
|
CX = subfunction request code
|
|
DS:DX -> data buffer
|
|
Return: AX = return code
|
|
CX = length of PIF data
|
|
0011h perform structured field operation
|
|
CX = request number
|
|
DS:DX -> parameter list
|
|
Return: AX = status word (see #03738)
|
|
CX = error number
|
|
0012h set cursor position for direct write buffer
|
|
DX = new cursor position
|
|
Return: AX = status word (see #03738)
|
|
0013h write direct to buffer
|
|
DL = character to be written
|
|
DH = translation option
|
|
Return: AX = status word (see #03738)
|
|
0014h write direct to buffer without echo
|
|
DL = character to be written
|
|
DH = translation option
|
|
Return: AX = status word (see #03738)
|
|
0015h set direct write string length
|
|
DX = string value
|
|
Return: nothing
|
|
0016h write string direct to buffer
|
|
DS:DX -> string
|
|
Return: AX = status word (see #03738)
|
|
0017h write string direct to buffer, untranslated
|
|
DS:DX -> string
|
|
Return: AX = status word (see #03738)
|
|
0018h get direct-write cursor position
|
|
Return: AX = cursor position
|
|
0019h convert row/column to cursor position
|
|
DH = display row (1-43)
|
|
DL = display column (1-132)
|
|
Return: AX = cursor position
|
|
001Ah convert cursor position to row/column
|
|
DX = cursor position
|
|
Return: AH = display row
|
|
AL = display column
|
|
001Bh find next field
|
|
DX = initial cursor position
|
|
Return: AX = field cursor position
|
|
001Ch find previous field
|
|
DX = initial cursor position
|
|
Return: AX = field cursor position
|
|
001Dh find next unprotected field
|
|
DX = initial cursor position
|
|
Return: AX = field cursor position
|
|
001Eh find previous unprotected field
|
|
DX = initial cursor position
|
|
Return: AX = field cursor position
|
|
001Fh find next protected field
|
|
DX = initial cursor position
|
|
Return: AX = field cursor position
|
|
0020h find previous protected field
|
|
DX = initial cursor position
|
|
Return: AX = field cursor position
|
|
0021h masked search forward
|
|
DH = mask
|
|
DL = search pattern
|
|
Return: AX = cursor position or 0000h
|
|
0022h masked search backward
|
|
DH = mask
|
|
DL = search pattern
|
|
Return: AX = cursor position or 0FFFh
|
|
0023h find field length
|
|
DX = cursor position
|
|
Return: AX = field length
|
|
0024h read field
|
|
DS:DX -> buffer for field contents
|
|
Return: AX = status word (see #03738)
|
|
0025h read screen
|
|
DS:DX -> buffer for screen contents
|
|
Return: AX = status word (see #03738)
|
|
0026h read buffer untranslated
|
|
DX = cursor position
|
|
Return: AX = buffer code
|
|
CX:BX -> 3278/79 device buffer image
|
|
0027h enable/disable keyboard
|
|
DL = new state of keyboard breaks (00h enabled, 01h disabled)
|
|
Return: nothing
|
|
0028h select host session
|
|
DL = session short name
|
|
Return: AX = session information
|
|
0029h retrieve host session name
|
|
AX = short name (DFT) or 0000h (not available, CUT mode)
|
|
002Ah get current device buffer size
|
|
Return: AX = device buffer size
|
|
CX = segment of EAB
|
|
002Bh arm modified location trigger
|
|
DX = cursor position
|
|
Return: AX = status (0000h not available, 0001h successful)
|
|
|
|
Bitfields for PCOX status word:
|
|
Bit(s) Description (Table 03738)
|
|
0,1 cursor type
|
|
2 cursor inhibited
|
|
3 display inhibited
|
|
4 feature step inhibited
|
|
5 480-character format code
|
|
6,7 unused
|
|
8-10 model number (2-5)
|
|
11 unit has been reset by controller (cleared after status returned)
|
|
12 buffer has been written into (cleared after status returned)
|
|
13 alarm has been sounded (cleared after status returned)
|
|
14-15 monitor type (01 mono, 10 color, 11 hybrid)
|
|
--------N-6F00-------------------------------
|
|
INT 6F - 10NET - LOGIN
|
|
AH = 00h
|
|
DS:DX -> login record (see #03739)
|
|
Return: CL = security level
|
|
AX = status (see #03740)
|
|
SeeAlso: AH=01h,AH=80h,INT 21/AX=4402h"10MEMMGR"
|
|
|
|
Format of 10NET login record:
|
|
Offset Size Description (Table 03739)
|
|
00h 8 BYTEs user name
|
|
08h 8 BYTEs password
|
|
10h 12 BYTEs name of SuperStation
|
|
|
|
(Table 03740)
|
|
Values for 10NET status:
|
|
0000h successful
|
|
01FFh "RTO_NERR" transmit interrupt lost (time out on response)
|
|
02FFh "NET_NERR" network (hardware) error
|
|
03FFh "PAS_NERR" invalid password
|
|
04FFh "LRN_NERR" local resource not available
|
|
05FFh "SRN_NERR" server resource not available
|
|
06FFh "LNM_NERR" already logged in under different name
|
|
07FFh "LSF_NERR" login security failure (node)
|
|
08FFh "NLI_NERR" not logged in
|
|
09FFh "DIVZ_NERR" position calc error
|
|
0AFFh "NT1_NERR" receive subfunction not = send subfunction (i.e. read,write)
|
|
0BFFh "RFNC_NERR" request function not in range
|
|
0CFFh "NSFH_NERR" no more server file handle entries left
|
|
0DFFh "NFTAB_NERR" no more shared file table entries left
|
|
0EFFh "NUFH_NERR" no more user file handle entries left
|
|
0FFFh "CHAT_NERR" chat permit not on
|
|
10FFh "NSRV_NERR" not a server on request
|
|
11FFh "NOBD_NERR" no transporter board error
|
|
12FFh "STO_NERR" time out on send
|
|
13FFh "INF_NERR" item not found (spool item not on queue)
|
|
14FFh "DACS_NERR" DOS access incompatible
|
|
15FFh "RLOCK_NERR" record already locked
|
|
16FFh "IVP_NERR" invalid parameter
|
|
17FFh "RLTO_NERR" record lock time out error
|
|
18FFh "CSPL_NERR" currently spooling to named device
|
|
19FFh "DRP_NERR" dropped receive message (throttle)
|
|
1AFFh "SOPV_NERR" open sharing violation
|
|
1BFFh "NTUF_NERR" no more tuf entries left
|
|
1CFFh "NOWN_NERR" not file owner on open
|
|
1DFFh "RSEC_NERR" read security not passed
|
|
1EFFh "WSEC_NERR" write security not passed
|
|
1FFFh "GSEC_NERR" group security not passed
|
|
20FFh "SEC1_NERR" security file failure
|
|
21FFh "ACT1_NERR" activity file failure
|
|
22FFh "SPL1_NERR" spool control file failure
|
|
23FFh "NMT_NERR" device not mounted (spooling)
|
|
24FFh "RSPL_NERR" spool file has not been terminated
|
|
25FFh "DNSH_NERR" device not mounted or is not being shared
|
|
26FFh "DUP_NERR" duplicate node ID
|
|
27FFh "FNF_NERR" file not found error
|
|
28FFh "NMF_NERR" no more files
|
|
29FFh "UN_NERR" unknown internal system error
|
|
2AFFh "QCP_NERR" print queue is full or corrupted
|
|
2BFFh "IFNC_NERR" invalid function
|
|
2CFFh "IVH_NERR" invalid handle
|
|
2DFFh "TOF_NERR" too many files opened
|
|
2EFFh "PNF_NERR" path not found
|
|
2FFFh "SACT_NERR" named file is active
|
|
---10NET v5.0+ ---
|
|
30FFh "NAK_NERR" received NAK on send (destination out of buffers)
|
|
31FFh "RENT_NERR" reentrancy in driver F_SEND
|
|
32FFh "RECV_NERR" driver could not be put in receive mode
|
|
33FFh "NRLT_NERR" no more RLTAB entries left
|
|
34FFh "DIAL_NERR" function requires an unsupported dialect
|
|
35FFh "IVD_NERR" invalid device
|
|
36FFh "NALV_NERR" netname access level violated
|
|
37FFh "NPIDNF_NERR" network path not found
|
|
38FFh "SP_NERR" server is paused
|
|
39FFh "TMNM_NERR" too many remote user names
|
|
3AFFh "DUPD_NERR" duplicate network device
|
|
3BFFh "DIU_NERR" shared device in use, can't delete
|
|
3CFFh "NNWD_NERR" network name was deleted
|
|
3DFFh "NPFS_NERR" not enough space for print file
|
|
3EFFh "NNNF_NERR" network name not found (can't find the call name)
|
|
3FFFh "NB_NERR" network busy
|
|
40FFh "NDNLE_NERR" network device no longer exists
|
|
41FFh "NBCLE_NERR" NetBIOS command limit exceeded
|
|
42FFh "FINT24_NERR" Fail on INT 24h
|
|
43FFh "PEXP_NERR" password expired
|
|
44FFh "NPUP_NERR" new password error
|
|
45FFh "MAXS_NERR" maximum allowed disk space exceeded
|
|
46FFh "TDOW_NERR" time-of-day/day-of-week error
|
|
SeeAlso: #03767
|
|
Index: error codes;10Net|10Net;error codes
|
|
--------b-6F00-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_ISR" (internal) - RESPOND TO LOGICAL ISR
|
|
AH = 00h
|
|
BP = ID for driver (see #03741)
|
|
DH = data type (see #03742)
|
|
DL = physical device driver's index (driver ID / 6)
|
|
BX,CX = data
|
|
ES:0000h -> physical device's Describe Record (see #03749)
|
|
---keypress event data---
|
|
BH = keyboard state (only if bit 5 of DH set) (see #03743)
|
|
BL = scancode (if bit 4 of DH clear)
|
|
CX = number of scancodes in list (if bit 4 of DH set)
|
|
ES:SI -> scancode list (if bit 4 of DH set)
|
|
---motion event data---
|
|
BX = new X position (abs device) or X increment (relative device)
|
|
CX = new Y position (abs device) or Y increment (relative device)
|
|
---button event data
|
|
BL = button information
|
|
bits 15-8 reserved
|
|
bit 7: button state (0 = down, 1 = up)
|
|
bits 6-0: button number (0-7)
|
|
BH = reserved
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
---if device is keyboard translator---
|
|
BL = translated scancode
|
|
BH = new keyboard state (if DH bit 5 set) (see #03743)
|
|
DH = new scancode type (see #03742)
|
|
Notes: INT 6F corresponds to IRQ23 on the original HP Vectra AT, which is
|
|
unavailable because of its use as a BIOS extension software interrupt
|
|
the INT 6F handler consists of an instruction to load DS with the
|
|
driver's data segment followed by an indexed far jump using BP to
|
|
select the destination vector; since the interrupt handler is
|
|
located immediately following the dispatch table, the HP_VECTOR_TABLE
|
|
may be found by looking at offset 0000h in the INT 6F segment, and
|
|
its size is equal to the offset of the interrupt handler
|
|
each entry in the HP_VECTOR table consists of a DWORD for the driver's
|
|
entry point address and a WORD for the driver's data segment
|
|
this function is not user-callable, as it is a response to a physical
|
|
event, and assumes that the caller has already handled the physical
|
|
interrupt and updated the Describe Record (see #03749) to reflect
|
|
the event
|
|
SeeAlso: INT 6C"HP Vectra",INT 6F/AX=0200h"HP Vectra"
|
|
|
|
(Table 03741)
|
|
Values for HP Vectra EX-BIOS driver ID:
|
|
0000h V_SCOPY (null driver, but DS value points at system copyright string)
|
|
0006h V_DOLITTLE (null driver)
|
|
000Ch V_PNULL (null driver)
|
|
0012h V_SYSTEM
|
|
0018h reserved
|
|
001Eh V_S8259
|
|
0024h reserved
|
|
002Ah V_SINPUT
|
|
0030h reserved
|
|
0036h V_QWERTY (keyboard translator)
|
|
003Ch V_SOFTKEY (keyboard translator)
|
|
0042h V_FUNCTION (keyboard translator)
|
|
0048h V_NUMPAD (keyboard translator)
|
|
004Eh V_CCP (keyboard translator)
|
|
0054h V_SVIDEO
|
|
005Ah V_STRACK
|
|
0060h V_EVENT_TOUCH
|
|
0066h V_EVENT_TABLET
|
|
006Ch V_EVENT_POINTER
|
|
0072h reserved
|
|
0078h reserved
|
|
007Eh reserved
|
|
0084h reserved
|
|
008Ah V_CCPCUR (keyboard translator)
|
|
0090h V_RAW (keyboard translator)
|
|
0096h V_CCPNUM (keyboard translator)
|
|
009Ch V_OFF (keyboard translator)
|
|
00A2h V_CCPGID (translator: cursor control pad keys to GID data)
|
|
00A8h V_SKEY2FKEY (keyboard translator)
|
|
00AEh V_8041
|
|
00B4h V_PGID_CCP
|
|
00BAh C_LTABLET
|
|
00C0h V_LPOINTER (pointing device: mouse, etc.)
|
|
00C6h V_LTOUCH (touch screen)
|
|
00CCh V_LHPMOUSE
|
|
00D2h ???
|
|
...
|
|
0102h ???
|
|
0108h V_LNULL
|
|
010Eh reserved
|
|
0114h V_HPHIL
|
|
011Ah-01C2h reserved
|
|
016Eh V_SCANDOOR (scancode management chip driver) (ES/QS/RS only)
|
|
01C8h-0228h available
|
|
|
|
(Table 03742)
|
|
Values for HP Vectra EX-BIOS ISR data type:
|
|
00h reserved "T_KC_R0"
|
|
01h reserved "T_KC_R1"
|
|
02h ASCII data
|
|
03h reserved "T_KC_R3"
|
|
04h HP150 keyboard (ITF) scancode
|
|
05h reserved "T_KC_R5"
|
|
06h device-definable type
|
|
07h HP Vectra keyboard set
|
|
08h IBM AT scancode set
|
|
09h button data
|
|
0Ah IBM PC scancode set
|
|
0Bh Softkey keypad (F1-F8)
|
|
0Ch function key keypad (F1-F10)
|
|
0Dh HP Cursor Control Pad keypad
|
|
0Eh Qwerty keypad
|
|
0Fh Numeric keypad
|
|
1xh bit 4 set: string of CX scancode of type 0xh at ES:SI
|
|
2xh bit 5 set: BH contains current keyboard state
|
|
40h signed 8-bit relative data
|
|
41h signed 16-bit relative data
|
|
42h unsigned 8-bit absolute data
|
|
43h unsigned 16-bit absolute data
|
|
45h specially-formed data (80x25) generated by V_LTOUCH
|
|
46h specially-formed data (640x200) generated by V_LTABLET
|
|
47h specially-formed data (640x200) generated by V_LPOINTER
|
|
|
|
Bitfields for HP Vectra EX-BIOS keyboard state:
|
|
Bit(s) Description (Table 03743)
|
|
0 Alt pressed
|
|
1 Left Shift pressed
|
|
2 Right Shift pressed
|
|
3 Ctrl pressed
|
|
4 CapsLock active
|
|
5 NumLock active
|
|
6 Right unlabeled key pressed (some international keyboards)
|
|
7 Left unlabeled key pressed (some international keyboards)
|
|
SeeAlso: #00582
|
|
|
|
(Table 03744)
|
|
Values for HP Vectra EX-BIOS status:
|
|
00h successful
|
|
02h unsupported function
|
|
04h not serviced
|
|
06h done (no further processing should be performed on the ISR event)
|
|
F2h device is out of paper
|
|
F4h device is offline
|
|
F6h no more space for more drivers
|
|
F8h driver is busy
|
|
FAh bad parameter
|
|
FEh operation failed
|
|
Note: status codes are always even; negative values (>= 80h) indicate errors
|
|
while positive values indicate exceptional conditions
|
|
|
|
Format of HP EX-BIOS driver header data:
|
|
Offset Size Description (Table 03745)
|
|
00h WORD driver attributes (see #03746)
|
|
02h WORD string index of driver's name
|
|
04h WORD driver's default logical device vector (see #03741)
|
|
06h WORD driver's parent class (bitset) (see #03747)
|
|
08h WORD driver's child class (bitset)
|
|
0Ah WORD driver's parent vector
|
|
0Ch WORD driver's child vector
|
|
0Eh BYTE major subaddress
|
|
0Fh BYTE minor subaddress
|
|
Notes: this structure is located at offset 0 in the driver's data segment,
|
|
which in turn may be read from the HP_VECTOR_TABLE (refer to note in
|
|
main entry)
|
|
only the first WORD is required, and everything from offset 6 onward
|
|
is only required if the device wishes to perform device mapping
|
|
SeeAlso: #03748,#03749
|
|
|
|
Bitfields for HP EX-BIOS driver header attributes:
|
|
Bit(s) Description (Table 03746)
|
|
15 this is a complete driver header
|
|
14 "ATR_DEVCFG" reserved
|
|
13 driver can be mapped with the parent vector at offset 0Ah
|
|
12 driver can be mapped with the child vector at offset 0Ch
|
|
11-9 driver type
|
|
000 reserved vector
|
|
001 free vector
|
|
010 EX-BIOS service
|
|
011 logical driver (mapped from parent to child)
|
|
100 mappable driver (cannot be last in driver chain)
|
|
101 mappable driver that is last in driver chain
|
|
110 input driver (mappable)
|
|
111 reserved
|
|
8 "ATR_STRING" reserved
|
|
7 call SF_START whenever driver is remapped
|
|
6-5 addressing requirements
|
|
00 no subaddresses required
|
|
01 requires major address be stored at offset 0Eh
|
|
10 requires minor address be stored at offset 0Fh
|
|
11 required major,minor, and mid addresses (minor in low nybble of
|
|
offset 0Fh, mid address in high nybble of 0Fh)
|
|
4 driver can be shared between several parent drivers
|
|
3 driver can be shared between several child drivers
|
|
2 this driver header is in ROM
|
|
1 "ATR_YIELD" reserved
|
|
0 reserved
|
|
SeeAlso: #03745,#03747
|
|
|
|
Bitfields for HP EX-BIOS driver class:
|
|
Bit(s) Description (Table 03747)
|
|
15 maps F1 to F8 softkeys
|
|
14 keyboard
|
|
13 cursor pad
|
|
12 console device
|
|
11 serial output device (may be capable of limited input)
|
|
10 "CL_COMM" reserved
|
|
9 interfaces multiple resources transparent to operating system
|
|
8 serial output device filter (can be mapped between logical and physical
|
|
driver to perform translations)
|
|
7 addressed block device
|
|
6 priority boot device
|
|
5 logical graphics input device
|
|
4 physical graphics input device (can map to child of another driver)
|
|
3 "CL_GID" can map to an event
|
|
2 physical touch device
|
|
1 reserved
|
|
0 class extension bit
|
|
Note: special values: FFFFh maps to all other devices (V_PNULL), and 0000h
|
|
maps to no other driver
|
|
SeeAlso: #03745
|
|
|
|
Format of HP EX-BIOS global data area:
|
|
Offset Size Description (Table 03748)
|
|
00h 20 BYTEs reserved
|
|
14h BYTE sound driver status
|
|
15h BYTE number of pending key clicks (max 4) (see AH=34h/BP=0012h)
|
|
16h BYTE current tick duration scaling factor
|
|
17h BYTE current key click volume
|
|
18h WORD current beep period (10 us increments) (see AH=3Ch/BP=0012h)
|
|
1Ah WORD current beep duration (10 us increments)
|
|
1Ch BYTE number of pending beep functions (max 4) (see AH=3Ah/BP=0012h)
|
|
1Dh BYTE reserved
|
|
1Eh WORD next unused string index number
|
|
20h ... reserved
|
|
SeeAlso: #03745
|
|
|
|
Format of HP EX-BIOS Driver Describe Record:
|
|
Offset Size Description (Table 03749)
|
|
00h 16 BYTEs EX-BIOS driver header data (see #03745)
|
|
10h BYTE device GID type
|
|
bits 7-4: device type
|
|
bits 3-0: physical device link address
|
|
11h BYTE physical device ID (see #03751)
|
|
12h WORD logical device status bits (see #03750)
|
|
14h BYTE physical device vector number (driver ID / 6)
|
|
15h BYTE maximum number of axes reported (0-2)
|
|
16h BYTE device class
|
|
bits 7-4: current class
|
|
bits 3-0: default class
|
|
17h BYTE number of buttons/prompts
|
|
bits 7-4: number of prompts
|
|
bits 3-0: number of buttons
|
|
18h BYTE reserved
|
|
19h BYTE (physical devices only) maximum output burst length
|
|
1Ah BYTE (physical devices only) number of write registers
|
|
1Bh BYTE (physical devices only) number of read registers
|
|
1Ch BYTE button transition flags (bit 0 = button0, etc.)
|
|
1Dh BYTE current button states (bit 0 = button0, etc.)
|
|
1Eh WORD device resolution
|
|
20h WORD maximum x-axis count
|
|
22h WORD maximum y-axis count
|
|
24h WORD X position data for absolute devices
|
|
26h WORD Y position data for absolute devices
|
|
28h WORD X delta for relative devices
|
|
2Ah WORD Y delta for relative devices
|
|
2Ch WORD (logical devices only) X-axis scaling accumulator
|
|
(fraction of one logical unit)
|
|
2Eh WORD (logical devices only) Y-axis scaling accumulator
|
|
(fraction of one logical unit)
|
|
|
|
Bitfields for HP logical device status flags:
|
|
Bit(s) Description (Table 03750)
|
|
15-5 reserved
|
|
4 event enabled
|
|
3 tracking enabled
|
|
2 clipping enabled
|
|
1 button error occurred
|
|
0 interrupt in progress
|
|
SeeAlso: #03749
|
|
|
|
(Table 03751)
|
|
Values for HP-HIL device ID:
|
|
00h-02h reserved
|
|
03h Swiss-French keyboard
|
|
04h-06h reserved
|
|
07h Canadian-English keyboard
|
|
08h-0Ah reserved
|
|
0Bh Italian keyboard
|
|
0Ch reserved
|
|
0Dh Dutch keyboard
|
|
0Eh Swedish keyboard
|
|
0Fh German keyboard
|
|
10h-12h reserved
|
|
13h Spanish keyboard
|
|
14h reserved
|
|
15h Belgian (Flemish) keyboard
|
|
16h Finnish keyboard
|
|
17h UK keyboard
|
|
18h French-Canadian keyboard
|
|
19h Swiss-German keyboard
|
|
1Ah Nerwegian keyboard
|
|
1Bh Frensh keyboard
|
|
1Ch Danish keyboard
|
|
1Dh Katakana keyboard
|
|
1Eh Latin American-Spanish keyboard
|
|
1Fh US-American keyboard
|
|
20h-2Bh reserved
|
|
2Ch-2Fh tone generator
|
|
30h-3Fh reserved
|
|
40h-5Bh reserved (character entry)
|
|
5Ch-5Fh barcode reader
|
|
60h-67h reserved (relative positions)
|
|
68h-6Bh mouse
|
|
6Ch-6Fh trackball
|
|
70h-7Fh reserved (relative positions)
|
|
80h-87h reserved (absolute positions)
|
|
88h-8Bh touchpad
|
|
8Ch-8Fh touch screen
|
|
90h-97h graphics tablet
|
|
98h-9Fh reserved (absolute positions)
|
|
A0h-BFh compressed keyboard (91-93 keys)
|
|
C0h-DFh extended keyboard (107-109 keys)
|
|
E0h-FFh standard keyboard (85-87 keys)
|
|
--------N-6F01-------------------------------
|
|
INT 6F - 10NET - LOGOFF
|
|
AH = 01h
|
|
DS:DX -> superstation ID or nulls (12 bytes)
|
|
Return: CX = number of files closed
|
|
AX = status (see also #03740)
|
|
08FFh superstation ID not already logged in
|
|
SeeAlso: AH=00h"10NET",AH=81h
|
|
--------N-6F02-------------------------------
|
|
INT 6F - 10NET - STATUS OF NODE
|
|
AH = 02h
|
|
DS:DX -> 512-byte status record (see #03753)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: INT 21/AX=5E01h"10NET"
|
|
|
|
(Table 03752)
|
|
Values for 10NET station type:
|
|
00h workstation
|
|
01h superstation
|
|
02h gateway station
|
|
03h gateway active
|
|
04h logged into multiple superstations
|
|
05h reserved
|
|
|
|
Format of 10NET node status record:
|
|
Offset Size Description (Table 03753)
|
|
00h 8 BYTEs user name (0 if none)
|
|
08h BYTE station type (see #03752)
|
|
09h 24 BYTEs list of superstations logged into more than one superstation
|
|
21h 12 BYTEs node ID
|
|
2Dh WORD message count for this station (send for user node, receive for
|
|
superstations)
|
|
---for superstations only---
|
|
2Fh WORD drives allocated (bit 0=A:, bit 1=B:,...)
|
|
31h BYTE user service flags (see #03754)
|
|
32h BYTE printers allocated (bit 0=LPT1,...)
|
|
33h BYTE number of unprinted spool files
|
|
34h BYTE number of opened files
|
|
35h BYTE number of logged on nodes
|
|
36h BYTE primary drive (1=A:)
|
|
37h BYTE reserved
|
|
38h N BYTEs list of logged on node IDs (each 12 bytes, max 37 IDs)
|
|
1F4h 3 BYTEs time: sec/min/hrs
|
|
1F7h 3 BYTEs date: day/mon/year-1980
|
|
|
|
Bitfields for 10NET user service flags:
|
|
Bit(s) Description (Table 03754)
|
|
7 gate
|
|
6 print permit on
|
|
4 SUBMIT is on
|
|
3 mail waiting for node
|
|
2 calendar waiting for you
|
|
1 news waiting for you
|
|
0 mail waiting for you
|
|
--------b-6F0200-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INIT" - START INITIALIZING DRIVER
|
|
AX = 0200h
|
|
BP = driver ID (see #03741)
|
|
BX = "last-used DS" value from HP global data area (see #03748)
|
|
Return: AH = status (see #03744)
|
|
BX = new "last-used DS" value
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0202h,AH=0Ch"F_INS_FIXOWNDS"
|
|
--------b-6F0202-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_START" - COMPLETE DRIVER INITIALIZ.
|
|
AX = 0202h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0204h"HP Vectra"
|
|
--------W-6F0204-----------------------------
|
|
INT 6F C - MS Windows 3.0 - DOS APPLICATION SWITCH HOOK
|
|
AX = 0204h
|
|
Return: AX = status
|
|
0000h switch is allowed
|
|
other switch not allowed
|
|
Note: intercepting this call will allow a DOS application to ensure that
|
|
Windows will not switch away from it.
|
|
--------b-6F0204-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_REPORT_STATE" - GET DRIVER STATE
|
|
AX = 0204h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
DX = device state from Logical Describe Record (see #03749,#03755)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0206h"HP Vectra"
|
|
|
|
Bitfields for HP Vectra V_HPHIL driver state:
|
|
Bit(s) Description (Table 03755)
|
|
0 link configuration in progress
|
|
1 reserved
|
|
2 no devices attached
|
|
3 general failure
|
|
4,5 reserved
|
|
6 HP-HIL driver open
|
|
7 reserved
|
|
8 link has been reconfigured
|
|
9 error during output request
|
|
10 reserved
|
|
11 output request complete
|
|
12 timeout
|
|
13-15 reserved
|
|
--------b-6F0206-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_VERSION_DESC" - GET DRIVER VERSION
|
|
AX = 0206h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
BX = driver release date code
|
|
(BL = BCD years since 1960, BH = BCD week number within year)
|
|
CX = length of version string
|
|
ES:DI -> version string
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0204h"HP Vectra",AX=0208h
|
|
--------b-6F0208-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_DEF_ATTR" - RESET TO DEFAULT ATTR
|
|
AX = 0208h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=020Ah,AX=020Ch
|
|
--------b-6F020A-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_GET_ATTR" - GET CURRENT ATTRIBUTES
|
|
AX = 020Ah
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
BX,CX = current attributes
|
|
BP,DS destroyed
|
|
---for V_LTOUCH, V_LPOINTER---
|
|
BX = logical width
|
|
CX = logical height
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Ch
|
|
--------b-6F020C-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_SET_ATTR" - SET DEVICE ATTRIBUTES
|
|
AX = 020Ch
|
|
BP = driver ID (see #03741)
|
|
BX,CX = new attributes
|
|
---for V_LTOUCH, V_LPOINTER---
|
|
BX = new logical width
|
|
CX = new logical height
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Ah
|
|
--------b-6F020E-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_OPEN" - RESERVE DRIVER FOR ACCESS
|
|
AX = 020Eh
|
|
BP = driver ID (see #03741) for V_HPHIL, others
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: place device in open state, which allows output to the device
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=0210h
|
|
--------b-6F0210-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_CLOSE" - RELEASE DRIVER
|
|
AX = 0210h
|
|
BP = driver ID (see #03741) for V_HPHIL, others
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: place device in closed state, which disallows output to the device
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh
|
|
--------b-6F0212-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TIMEOUT" - REPORT REQUESTED TIMEOUT
|
|
AX = 0212h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: report to driver that a previously-requested timeout interval has
|
|
expired
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0214h,AX=0216h
|
|
--------b-6F0214-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_INTERVAL" - 60 HZ INTERVAL EXPIRED
|
|
AX = 0214h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: report to driver that a previously-requested 60 Hz interval has
|
|
expired
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0212h,AX=0216h
|
|
--------b-6F0216-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SYSTEM SF_TEST" - PERFORM HARDWARE TEST
|
|
AX = 0216h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
---on failure---
|
|
CX = length of reason string
|
|
ES:DI -> string describing error
|
|
SeeAlso: AH=00h"HP Vectra",AX=0200h,AX=0208h,AX=020Eh,AX=0212h,AX=0214h
|
|
--------N-6F03-------------------------------
|
|
INT 6F - 10NET - GET ADDRESS OF CONFIGURATION TABLE
|
|
AH = 03h
|
|
DS:DI -> node ID (optional)
|
|
Return: ES:BX -> configuration table (see #03756)
|
|
SeeAlso: AH=13h,INT 21/AX=5E01h"10NET"
|
|
|
|
Format of 10NET configuration table:
|
|
Offset Size Description (Table 03756)
|
|
-41 WORD local device table address
|
|
-39 WORD extended network error mapping table address
|
|
-37 WORD shared device table address
|
|
-35 WORD mounted device table address
|
|
-33 BYTE receive buffer counter
|
|
-32 BYTE collect buffer counter
|
|
-31 WORD TUF address
|
|
-29 BYTE enable flag
|
|
-28 BYTE FCB keep flag
|
|
-27 WORD reserved
|
|
---up to here, 10NET v3.3---
|
|
-25 WORD count of dropped Send6F
|
|
-23 WORD buffer start address
|
|
-21 WORD comm driver base address
|
|
-19 WORD send/receive retry count
|
|
-17 BYTE number of 550ms loops before timeout
|
|
-16 WORD UFH address
|
|
-14 WORD CDIR address
|
|
-12 WORD LTAB address
|
|
-10 WORD SFH address
|
|
-8 WORD FTAB address
|
|
-6 WORD RLTAB address
|
|
-4 WORD SMI address
|
|
-2 WORD NTAB address
|
|
00h WORD address of first CT_DRV
|
|
02h BYTE number of DRV entries
|
|
03h 8 BYTEs login name
|
|
0Bh 12 BYTEs node ID (blank-padded)
|
|
17h 6 BYTEs node address
|
|
1Dh BYTE flag
|
|
1Eh BYTE CT_CFLG (chat permit)
|
|
bit 1: sound bell
|
|
bit 0: CHAT permit
|
|
1Fh BYTE CT_PSFLG (see #03757)
|
|
20h BYTE in 10Net flag
|
|
21h WORD receive message count
|
|
23h WORD send message count
|
|
25h WORD retry count
|
|
27h WORD failed count
|
|
29h WORD driver errors
|
|
2Bh WORD dropped responses/CHATs
|
|
2Dh 9 BYTEs LIST ID/NTAB address (3 entries--LPT1-3)
|
|
36h 6 BYTEs AUX ID/NTAB address (2 entries--COM1-2)
|
|
3Ch BYTE active CB channel
|
|
3Dh BYTE received 6F messages on queue
|
|
3Eh 9 BYTEs activity counters for channels 1-9
|
|
---beyond here, 10NET v3.3---
|
|
47h BYTE bit 0: RS232 gate
|
|
bit 1: Send6F gate (user set)
|
|
48h DWORD pointer into gate (user set)
|
|
4Ch DWORD pointer into 10Net send
|
|
50h N WORDs addresses of timer blocks
|
|
|
|
Bitfields for CT_PSFLG:
|
|
Bit(s) Description (Table 03757)
|
|
5 PRINT permit
|
|
4 KB initiated
|
|
3 CHAT called FOXPTRM
|
|
2 SUBMIT active
|
|
1 SUBMIT received
|
|
0 SUBMIT permit
|
|
--------N-6F04-------------------------------
|
|
INT 6F - 10NET - SEND
|
|
AH = 04h
|
|
DS:BX -> send record (see #03758)
|
|
DS:DX -> data (max 1024 bytes)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AH=05h"10NET",AH=09h"10NET",AH=0Ah"10NET"
|
|
|
|
Format of 10NET send record:
|
|
Offset Size Description (Table 03758)
|
|
00h 12 BYTEs receiving node's ID
|
|
if first byte has high-order bit set, message is directed to
|
|
the CT_RGATE vector at the receiver
|
|
if second byte is 00h, first byte is taken as a CB
|
|
channel number and delivered to all nodes on same channel
|
|
0Ch WORD length of data at DX
|
|
--------b-6F04--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_BASEHPVT" - GET HP_VECTOR_TABLE ADDRESS
|
|
AH = 04h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
Return: AH = status (see #03744)
|
|
ES = segment of HP_VECTOR_TABLE (see also AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=06h"F_INS_XCHGFIX",AH=08h"F_INS_XCHGRSVD"
|
|
--------b-6F04--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_TRACK_INIT" - RESET TRACKING DRIVER TO DEFAULTS
|
|
AH = 04h
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=06h"F_TRACK_ON",AH=08h"F_TRACK_OFF"
|
|
SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"
|
|
--------b-6F0400-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_LOCK" - RESERVE SUB-ADDRESSES
|
|
AX = 0400h
|
|
BP = driver ID (see #03741)
|
|
DH,DL = major,minor address (optional)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: reserve specified sub-addresses on an already-allocated driver for
|
|
exclusive access
|
|
Note: this function is documented as present but unsupported in the drivers
|
|
V_LTABLET, V_LPOINTER, and V_LTOUCH
|
|
SeeAlso: AX=0200h"HP Vectra",AX=0402h"SF_UNLOCK"
|
|
--------b-6F0400BP001E-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_SVC" - UNMASK 8041 SVC INT
|
|
AX = 0400h
|
|
BP = 001Eh (driver ID for V_S8259)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0402h"SF_DISABLE_SVC",AX=0404h"SF_ENABLE_KBD"
|
|
SeeAlso: AX=0408h"SF_ENABLE_HPHIL"
|
|
--------b-6F0400BP002A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DEF_LINKS" - SET DEFAULT PARENTS
|
|
AX = 0400h
|
|
BP = 002Ah (driver ID for V_SINPUT)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: set the parent vectors in the physical device driver headers to their
|
|
system defaults
|
|
SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=002Ah,AX=0404h/BP=002Ah
|
|
SeeAlso: AH=06h"F_INQUIRE"
|
|
--------b-6F0400BP0054-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_ID_HP" - INSTALLATION CHECK
|
|
AX = 0400h
|
|
BP = 0054h (driver ID for V_SVIDEO)
|
|
???
|
|
Return: AH = status (see #03744)
|
|
BX = 4850h ('BP')
|
|
BP,DS destroyed
|
|
???
|
|
Note: only partially documented
|
|
SeeAlso: AX=0402h/BP=0054h,AX=0404h/BP=0054h,AX=0406h/BP=0054h
|
|
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
|
|
--------b-6F0400BP00CC-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - INIT INT 33 HANDLER
|
|
AX = 0400h
|
|
BP = 00CCh (driver ID for V_LHPMOUSE)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=00CCh
|
|
--------b-6F0402-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_UNLOCK" - RELEASE SUB-ADDRESSES
|
|
AX = 0402h
|
|
BP = driver ID (see #03741)
|
|
DH,DL = major,minor address (optional)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: release specified sub-addresses from exclusive access
|
|
Note: this function is documented as present but unsupported in the drivers
|
|
V_LTABLET, V_LPOINTER, and VLTOUCH
|
|
SeeAlso: AX=0200h"HP Vectra",AX=0400h"SF_LOCK"
|
|
--------b-6F0402BP001E-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_SVC" - MASK 8041 SVC INT
|
|
AX = 0402h
|
|
BP = 001Eh (driver ID for V_S8259)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=001Eh,AX=0406h/BP=001Eh
|
|
SeeAlso: AX=040Ah/BP=001Eh
|
|
--------b-6F0402BP002A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_GET_LINKS" - GET DRIVER LINK FIELDS
|
|
AX = 0402h
|
|
BP = 002Ah (driver ID for V_SINPUT)
|
|
ES:SI -> buffer for link table (see #03759)
|
|
Return: AH = status (see #03744)
|
|
ES:SI buffer filled
|
|
BP,DS destroyed
|
|
Desc: get the parent and child vectors for the seven supported physical
|
|
device drivers
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_DEF_LINKS",AX=0404h"SF_SET_LINKS"
|
|
SeeAlso: AH=06h"F_INQUIRE"
|
|
|
|
Format of HP Vectra EX-BIOS driver link table:
|
|
Offset Size Description (Table 03759)
|
|
00h BYTE vector number of HP-HIL device #1's child
|
|
01h BYTE vector number of HP-HIL device #1's parent
|
|
...
|
|
0Ch BYTE vector number of HP-HIL device #7's child
|
|
0Dh BYTE vector number of HP-HIL device #7's parent
|
|
--------b-6F0402BP0054-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_INFO" - GET DISPLAY INFO
|
|
AX = 0402h
|
|
BP = 0054h (driver ID for V_SVIDEO)
|
|
???
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
???
|
|
Note: only partially documented
|
|
SeeAlso: AX=0400h/BP=0054h,AX=0404h/BP=0054h,AX=0406h/BP=0054h
|
|
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
|
|
--------b-6F0402BP00CC-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_MOUSE_COM" - FORCE INT 33 INIT
|
|
AX = 0402h
|
|
BP = 00CCh (driver ID for V_LHPMOUSE)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: set up INT 33 even if no mouse is installed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=00CCh
|
|
--------b-6F0404-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_ON" - GRAPHICS CURSOR ON
|
|
AX = 0404h
|
|
BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: enables graphics cursor tracking of the logical device's movement
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_LOCK",AX=0406h"SF_TRACK_OFF"
|
|
--------b-6F0404BP001E-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_KBD" - UNMASK 8041 OBF INT
|
|
AX = 0404h
|
|
BP = 001Eh (driver ID for V_S8259)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_ENABLE_SVC",AX=0406h"SF_DISABLE_KBD"
|
|
SeeAlso: AX=0408h"SF_ENABLE_HPHIL"
|
|
--------b-6F0404BP002A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_LINKS" - SET DRIVER LINK FIELDS
|
|
AX = 0404h
|
|
BP = 002Ah (driver ID for V_SINPUT)
|
|
ES:SI -> buffer containing link table (see #03759)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: specify the parent and child vectors for the seven supported physical
|
|
device drivers
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_DEF_LINKS",AX=0402h"SF_GET_LINKS"
|
|
SeeAlso: AH=06h"F_INQUIRE"
|
|
--------b-6F0404BP0054-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_INFO" - SET EXT-CTRL INFO
|
|
AX = 0404h
|
|
BP = 0054h (driver ID for V_SVIDEO)
|
|
???
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
???
|
|
Note: only partially documented
|
|
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0406h/BP=0054h
|
|
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
|
|
--------b-6F0406-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_TRACK_OFF" - GRAPHICS CURSOR OFF
|
|
AX = 0406h
|
|
BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: disables graphics cursor tracking of the logical device's movement
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_LOCK",AX=0404h"SF_TRACK_ON"
|
|
SeeAlso: AX=0408h"SF_CREATE_EVENT"
|
|
--------b-6F0406BP001E-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_KBD" - MASK 8041 OBF INT
|
|
AX = 0406h
|
|
BP = 001Eh (driver ID for V_S8259)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0402h"SF_DISABLE_SVC",AX=0404h"SF_ENABLE_KBD"
|
|
SeeAlso: AX=040Ah"SF_DISABLE_HPHIL"
|
|
--------b-6F0406BP0054-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_MOD_INFO" - SET EXT-CTRL REG
|
|
AX = 0406h
|
|
BP = 0054h (driver ID for V_SVIDEO)
|
|
???
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
???
|
|
Note: only partially documented
|
|
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
|
|
SeeAlso: AX=0408h/BP=0054h,AX=040Ah/BP=0054h
|
|
--------b-6F0406BP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_RECONFIGURE" - RECONFIG LINK
|
|
AX = 0406h
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=020Eh,AX=0408h"SF_CRV_WR_PROMPTS"
|
|
SeeAlso: AX=0410h"SF_CRV_SELF_TEST"
|
|
--------b-6F0408-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_EVENT" - SET EVENT HANDLER
|
|
AX = 0408h
|
|
BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
|
|
ES:SI -> new event handler (see AH=00h"HP Vectra")
|
|
DX = new handler's DS
|
|
Return: AH = status (see #03744)
|
|
ES:SI -> old event handler
|
|
DX = old handler's DS
|
|
BP,DS destroyed
|
|
Desc: specify routine to be called on logical device events
|
|
Note: when events occur, the event handler is called with the same registers
|
|
as the "F_ISR" function on AH=00h"HP Vectra"
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h"SF_LOCK",AX=0406h"SF_TRACK_OFF"
|
|
SeeAlso: AX=040Ah"SF_EVENT_ON",AX=040Ch"SF_EVENT_OFF",AH=06h"F_SAMPLE"
|
|
--------b-6F0408BP001E-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABLE_HPHIL" - UNMASK HP-HIL INT
|
|
AX = 0408h
|
|
BP = 001Eh (driver ID for V_S8259)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=001Eh,AX=0404h/BP=001Eh
|
|
SeeAlso: AX=040Ah/BP=001Eh
|
|
--------b-6F0408BP0054-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_GET_RES" - GET VIDMODE RESOLUTN
|
|
AX = 0408h
|
|
BP = 0054h (driver ID for V_SVIDEO)
|
|
???
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
???
|
|
Note: only partially documented
|
|
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
|
|
SeeAlso: AX=0406h/BP=0054h,AX=040Ah/BP=0054h
|
|
--------b-6F0408BP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_PROMPTS" - WRITE PROMPT
|
|
AX = 0408h
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
DL = prompt number
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=020Eh,AX=0406h/BP=0114h,AX=040Ah/BP=0114h
|
|
|
|
Bitfields for HP Vectra V_HPHIL device address indicator:
|
|
Bit(s) Description (Table 03760)
|
|
15-14 reserved
|
|
13 address in DH is valid (must be set, clear is reserved)
|
|
12 valid value in DL
|
|
11-0 reserved
|
|
--------b-6F040A-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_ON" - ENABLE EVENT HANDLER
|
|
AX = 040Ah
|
|
BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0408h"SF_CREATE_EVENT",AX=040Ch"SF_EVENT_OFF"
|
|
SeeAlso: AX=040Eh"SF_CLIPPING_ON"
|
|
--------b-6F040ABP001E-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISABLE_HPHIL" - MASK HP-HIL INT
|
|
AX = 040Ah
|
|
BP = 001Eh (driver ID for V_S8259)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0402h/BP=001Eh,AX=0406h/BP=001Eh
|
|
SeeAlso: AX=0408h/BP=001Eh
|
|
--------b-6F040ABP0054-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_VID_SET_MODE" - SET VIDEO MODE
|
|
AX = 040Ah
|
|
BP = 0054h (driver ID for V_SVIDEO)
|
|
???
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
???
|
|
Note: only partially documented
|
|
SeeAlso: AX=0400h/BP=0054h,AX=0402h/BP=0054h,AX=0404h/BP=0054h
|
|
SeeAlso: AX=0406h/BP=0054h,AX=0408h/BP=0054h
|
|
--------b-6F040ABP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CREATE_INTR" - CREATE INTERVAL ENTRY
|
|
AX = 040Ah
|
|
BP = 00AEh (driver ID for V_8041)
|
|
BH = vector number of driver to be called regularly (vector addr / 6)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: add a driver to the list (max eight) of drivers which will be called
|
|
by the HP's 8041 at 60 Hz
|
|
Note: the newly added entry will not be called until enabled with
|
|
AX=040Eh/BP=00AEh
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
|
|
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F040ABP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_WR_ACK" - ACKNOWLEDGE DEVICE
|
|
AX = 040Ah
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
DL = acknowledge number (specific if 01h-07h, generic otherwise)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0406h/BP=0114h,AX=040Ch/BP=0114h
|
|
--------b-6F040C-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_EVENT_OFF" - DISABLE EVENT HANDLER
|
|
AX = 040Ch
|
|
BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0408h"SF_CREATE_EVENT",AX=040Ah"SF_EVENT_ON"
|
|
--------b-6F040CBP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DELET_INTR" - DELETE INTERVAL ENTRY
|
|
AX = 040Ch
|
|
BP = 00AEh (driver ID for V_8041)
|
|
BH = vector number of driver to be removed (vector addr / 6)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: remove a driver to the list (max eight) of drivers which will be called
|
|
by the HP's 8041 at 60 Hz
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=0410h/BP=00AEh
|
|
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F040CBP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPEAT" - SET KEY REPEAT RATE
|
|
AX = 040Ch
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
DL = repeat rate (00h = 30 Hz, 01h = 60 Hz)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Note: this function is only available if the driver is in the open state
|
|
(see AX=020Eh"SF_OPEN")
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=0114h,AX=040Eh/BP=0114h
|
|
--------b-6F040E-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_ON" - ENABLE CLIPPING
|
|
AX = 040Eh
|
|
BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: causes the physical device's motion to be clipped to prevent overflow
|
|
or underflow of the logical position
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=0410h"SF_CLIPPING_OFF"
|
|
--------b-6F040EBP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_ENABL_INTR" - START INTERRUPT SRVICE
|
|
AX = 040Eh
|
|
BP = 00AEh (driver ID for V_8041)
|
|
BH = vector number of driver to be called regularly (vector addr / 6)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: enable 60 Hz calling of a driver previously added to the list of
|
|
drivers to be called by the HP's 8041
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=0410h/BP=00AEh
|
|
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F040EBP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_DISABLE_REPEAT" - KEY REPT OFF
|
|
AX = 040Eh
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Note: this function is only available if the driver is in the open state
|
|
(see AX=020Eh"SF_OPEN")
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=0114h,AX=0410h/BP=0114h
|
|
SeeAlso: AX=0416h/BP=0114h
|
|
--------b-6F0410-----------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLIPPING_OFF" - DISABLE CLIPPING
|
|
AX = 0410h
|
|
BP = driver ID (see #03741) for V_LPOINTER, V_LTOUCH, V_LTABLET
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: disables clipping of the physical device's motion, which may cause
|
|
overflow or underflow of the logical position
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=040Eh"SF_CLIPPING_ON"
|
|
--------b-6F0410BP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_DISBL_INTR" - END INTERRUPT SERVICE
|
|
AX = 0410h
|
|
BP = 00AEh (driver ID for V_8041)
|
|
BH = vector number of driver (vector addr / 6)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: disable 60 Hz interval calls to the specified driver
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
|
|
SeeAlso: AX=0412h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F0410BP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_SELF_TEST" - PERFORM SELFTEST
|
|
AX = 0410h
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
ES:SI -> buffer for result
|
|
Return: AH = status (see #03744)
|
|
CX = number of bytes in buffer
|
|
BP,DS destroyed
|
|
Note: this function is only available if the driver is in the open state
|
|
(see AX=020Eh"SF_OPEN")
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=0114h,AX=0412h/BP=0114h
|
|
--------b-6F0412BP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_RAMSW" - SET RAM SWITCH IN 8041
|
|
AX = 0412h
|
|
BP = 00AEh (driver ID for V_8041)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: sets a flag in the 8041 indicating that a second 256K bank of RAM
|
|
on the motherboard is enabled
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
|
|
SeeAlso: AX=0414h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F0412BP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_STATUS" - GET DEVSTATUS
|
|
AX = 0412h
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
ES:SI -> 15-byte buffer for status
|
|
Return: AH = status (see #03744)
|
|
CX = number of bytes returned in buffer
|
|
BP,DS destroyed
|
|
Note: this function is only available if the driver is in the open state
|
|
(see AX=020Eh"SF_OPEN")
|
|
SeeAlso: AH=00h"HP Vectra",AX=0410h/BP=0114h,AX=0414h/BP=0114h
|
|
--------b-6F0414BP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_RAMSW" - CLEAR 8041 RAM SWITCH
|
|
AX = 0414h
|
|
BP = 00AEh (driver ID for V_8041)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: clears a flag in the 8041 indicating that a second 256K bank of RAM
|
|
on the motherboard is enabled, causing the second bank to be disabled
|
|
Note: this function should normally never be called
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
|
|
SeeAlso: AX=0412h/BP=00AEh,AX=0418h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F0414BP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CRV_REPORT_NAME" - GET DEV NAME
|
|
AX = 0414h
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
ES:SI -> 15-byte buffer for name
|
|
Return: AH = status (see #03744)
|
|
CX = number of bytes returned in buffer
|
|
BP,DS destroyed
|
|
Note: this function is only available if the driver is in the open state
|
|
(see AX=020Eh"SF_OPEN")
|
|
SeeAlso: AH=00h"HP Vectra",AX=0412h/BP=0114h
|
|
--------b-6F0416BP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_SET_CRTSW" - SET CRT TO MULTIMODE
|
|
AX = 0416h
|
|
BP = 00AEh (driver ID for V_8041)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: sets a flag in the 8041 indicating that the primary display is the
|
|
Multimode graphics adapter (default)
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
|
|
SeeAlso: AX=0412h/BP=00AEh,AX=0418h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F0416BP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_REPEAT" - SET TYPEMATIC
|
|
AX = 0416h
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BH = what to set (00h typematic rate, 01h delay, 02h both)
|
|
BL = flag (00h = non-CCP keypad, 01h = Cursor Control Pad only)
|
|
DL = rate
|
|
bits 7-4: delay value
|
|
bits 3-0: typematic rate
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Eh/BP=0114h,AX=0418h/BP=0114h
|
|
--------b-6F0418BP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_CLR_CRTSW" - SET CRT TO MONOCHROME
|
|
AX = 0418h
|
|
BP = 00AEh (driver ID for V_8041)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: clears a flag in the 8041, indicating that the primary display is the
|
|
monochrome adapter
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ch/BP=00AEh,AX=040Eh/BP=00AEh
|
|
SeeAlso: AX=0414h/BP=00AEh,AX=0416h/BP=00AEh,AX=041Ah/BP=00AEh
|
|
--------b-6F0418BP0114-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_KEYBOARD_LED" - SET KEYBOARD LEDS
|
|
AX = 0418h
|
|
BP = 0114h (driver ID for V_HPHIL)
|
|
BL = new LED states
|
|
bit 0: scroll lock
|
|
bit 1: NumLock
|
|
bit 2: CapsLock
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Eh/BP=0114h,AX=0416h/BP=0114h
|
|
--------b-6F041ABP00AE-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_IO_CTRL SF_PASS_THRU" - SEND DATA BYTE TO 8041
|
|
AX = 041Ah
|
|
BP = 00AEh (driver ID for V_8041)
|
|
BL = byte to send to 8041
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ah/BP=00AEh,AX=040Eh/BP=00AEh
|
|
--------N-6F05-------------------------------
|
|
INT 6F - 10NET - RECEIVE
|
|
AH = 05h
|
|
CX = number of seconds before timeout
|
|
DS:DX -> receive buffer (see #03761)
|
|
Return: CF clear if successful
|
|
AH = FEh if dequeued message is a CB message
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AH=04h"10NET"
|
|
|
|
Format of 10NET receive buffer:
|
|
Offset Size Description (Table 03761)
|
|
00h 12 BYTEs sending node's ID
|
|
0Ch WORD length of message
|
|
0Eh N BYTEs message (maximum 1024 bytes)
|
|
--------b-6F06-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_PUT_BYTE" - WRITE A BYTE OF DATA TO DEVICE
|
|
AH = 06h
|
|
BP = driver ID (see #03741) for V_HPHIL, others
|
|
AL = value to output
|
|
---if driver is V_HPHIL---
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
DL = HP-HIL device register (00h-7Fh)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: output a byte to a specific HP-HIL device register
|
|
Note: this function is only available if the driver is in the open state
|
|
(see AX=020Eh"SF_OPEN")
|
|
SeeAlso: AH=04h"HP Vectra",AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BUFFER"
|
|
--------b-6F06-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SAMPLE" - POLL CURRENT ABSOLUTE POSITION
|
|
AH = 06h
|
|
BP = driver ID (see #03741) for V_LTOUCH, V_LPOINTER, V_LTABLET, etc.
|
|
Return: AH = status (see #03744)
|
|
BX = current logical X position
|
|
CX = current logical Y position
|
|
DL = button transitions (bit N = button N state has changed)
|
|
DH = current button states (bit N = current button N state)
|
|
ES:0000h -> logical device's Describe Record (see #03749)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=040Ah"SF_EVENT_ON",AX=040Eh"SF_CLIPPING_ON"
|
|
--------b-6F06--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFIX" - EXCH VALUES WITH FIXED VECTOR
|
|
AH = 06h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
BX = vector address
|
|
DX = new value for DS
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (see #03744)
|
|
DX = old value for DS
|
|
ES:DI -> old CS:IP entry point
|
|
BP,DS destroyed
|
|
Desc: replace an existing EX-BIOS driver at a fixed HPVT location without
|
|
initialization
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h"F_INS_BASEHPVT",AH=08h"F_INS_XCHGRSVD"
|
|
SeeAlso: AH=0Ah"F_INS_XCHGFREE",AH=0Ch"F_INS_FIXOWNDS"
|
|
--------b-6F06--BP002A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE" - GET DRIVER PHYSICAL DESCRIBE RECORD
|
|
AH = 06h
|
|
BP = 002Ah (driver ID for V_SINPUT)
|
|
AL = HP-HIL physical device number (01h-07h)
|
|
Return: AH = status (see #03744)
|
|
ES:SI -> physical describe record for driver
|
|
BP,DS destroyed
|
|
Note: the returned physical describe record must not be modified
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=08h/BP=002Ah,AH=0Ah/BP=002Ah
|
|
SeeAlso: AH=0Ch/BP=002Ah
|
|
--------b-6F06--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_TRACK_ON" - ENABLE CURSOR TRACKING
|
|
AH = 06h
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
|
|
SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"
|
|
--------N-6F07-------------------------------
|
|
INT 6F - 10NET - LOCK HANDLE
|
|
AH = 07h
|
|
BX = file handle
|
|
CX:DX = starting offset in file
|
|
SI = record length
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see also AH=00h)
|
|
0002h file not found
|
|
SeeAlso: AH=08h"10NET",AH=0Fh,INT 21/AH=5Ch
|
|
--------N-6F08-------------------------------
|
|
INT 6F - 10NET - UNLOCK HANDLE
|
|
AH = 08h
|
|
BX = file handle
|
|
AL = mode
|
|
00h unlock all
|
|
01h unlock record at CX:DX
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see also AH=00h)
|
|
0002h file not found
|
|
SeeAlso: AH=07h,AH=0Fh,INT 21/AH=5Ch
|
|
--------b-6F08-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_GET_BYTE" - READ A BYTE OF DATA FROM DEVICE
|
|
AH = 08h
|
|
BP = driver ID (see #03741) for V_HPHIL (0114h), others
|
|
---if device is V_HPHIL---
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
DL = HP-HIL device register (00h-7Fh)
|
|
Return: AH = status (see #03744)
|
|
AL = value read from device
|
|
BP,DS destroyed
|
|
Desc: generic read-byte function; for driver V_HPHIL, retrieves the value
|
|
of a specific HP-HIL device register
|
|
Note: this function is only available if the driver is in the open state
|
|
(see AX=020Eh"SF_OPEN")
|
|
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BUFFER"
|
|
--------b-6F08--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGRSVD" - EXCH VALUES WITH RESRVED VECTOR
|
|
AH = 08h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
DX = new value for DS
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h,F6h) (see also #03744)
|
|
00h successful
|
|
BX = vector address used
|
|
DX = old value for DS
|
|
ES:DI -> old CS:IP entry point
|
|
BP,DS destroyed
|
|
Desc: exchange the supplied entry point and DS with the values in the next
|
|
reserved entry in the HP_VECTOR_TABLE
|
|
Note: returns AH=F6h if no more reserved vectors are available
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=0Ah/BP=0012h
|
|
SeeAlso: AH=0Ch/BP=0012h
|
|
--------b-6F08--BP002A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ALL" - GET DRIVER STATUS TABLE
|
|
AH = 08h
|
|
BP = 002Ah (driver ID for V_SINPUT)
|
|
ES:SI -> buffer for device status table (see #03762)
|
|
Return: AH = status (see #03744)
|
|
ES:SI buffer filled
|
|
BP,DS destroyed
|
|
Note: the returned physical describe record must not be modified
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=0Ah/BP=002Ah
|
|
SeeAlso: AH=0Ch/BP=002Ah
|
|
|
|
Format of HP Vectra HP-HIL physical device status table:
|
|
Offset Size Description (Table 03762)
|
|
00h BYTE status for HP-HIL device #1
|
|
bit 0: device present
|
|
bits 7-2 reserved
|
|
01h BYTE device ID for HP-HIL device #1
|
|
...
|
|
0Ch BYTE status for HP-HIL device #7
|
|
0Dh BYTE device ID for HP-HIL device #7
|
|
--------b-6F08--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_TRACK_OFF" - DISABLE CURSOR TRACKING
|
|
AH = 08h
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Note: also removes the graphics cursor sprite from the screen
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=06h"F_TRACK_ON"
|
|
SeeAlso: AH=0Ah"F_DEF_MASKS",AH=0Ch"F_SET_LIMITS_X"
|
|
--------N-6F09-------------------------------
|
|
INT 6F - 10NET - SUBMIT
|
|
AH = 09h
|
|
DS:BX -> submit record (see #03763)
|
|
SeeAlso: AH=04h"10NET"
|
|
|
|
Format of 10NET submit record:
|
|
Offset Size Description (Table 03763)
|
|
00h 12 BYTEs destination node ID (must be logged in)
|
|
0Ch WORD length+2 of following 'command line' text
|
|
0Eh N BYTEs command line text (<=100 bytes), system adds CR
|
|
--------N-6F0A-------------------------------
|
|
INT 6F - 10NET - CHAT
|
|
AH = 0Ah
|
|
DS:BX -> control parameters (see #03764)
|
|
DS:DX -> chat message (see #03765)
|
|
SeeAlso: AH=04h"10NET",AH=8Ah
|
|
|
|
Format of 10NET chat control parameters:
|
|
Offset Size Description (Table 03764)
|
|
00h 8 BYTEs sender ID, defaults to node's userID if nulls
|
|
08h 8 BYTEs destination user ID, 'EVERYONE' may be used
|
|
10h 12 BYTEs destination node ID
|
|
|
|
Format of 10NET chat message:
|
|
Offset Size Description (Table 03765)
|
|
00h WORD length+2 of following text
|
|
02h N BYTEs text, max 101 bytes
|
|
--------b-6F0A-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_PUT_BUFFER" - WRITE A BUFFER TO DEVICE
|
|
AH = 0Ah
|
|
BP = driver ID (see #03741) for V_HPHIL (0114h), others
|
|
CX = number of bytes to write
|
|
ES:DI -> buffer containing data
|
|
---if driver is V_HPHIL---
|
|
BX = device address indicator (see #03760)
|
|
DH = HP HIL device major address
|
|
DL = HP-HIL device register (00h-7Fh)
|
|
Return: AH = status (see #03744)
|
|
CX = number of unwritten bytes left in buffer
|
|
BP,DS destroyed
|
|
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BLOCK",AH=0Ch"F_GET_BUFFER"
|
|
SeeAlso: AH=0Eh"F_PUT_WORD"
|
|
--------b-6F0A-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_PUT_BLOCK" - WRITE BLOCKS TO DEVICE
|
|
AH = 0Ah
|
|
BP = driver ID (see #03741) for block device
|
|
DH = device major number
|
|
DL = device minor number
|
|
ES:DI -> command block (see #03766)
|
|
Return: AH = status (see #03744)
|
|
BX = operation status
|
|
BP,DS destroyed
|
|
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BUFFER"
|
|
SeeAlso: AH=0Eh"F_PUT_WORD"
|
|
|
|
Format of HP Vectra F_PUT_BLOCK/F_GET_BLOCK command block:
|
|
Offset Size Description (Table 03766)
|
|
00h DWORD data transfer address
|
|
04h WORD number of blocks
|
|
06h DWORD block address (some devices only use low word)
|
|
--------b-6F0A--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_XCHGFREE" - EXCH VALUES WITH FREE VECTOR
|
|
AH = 0Ah
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
DX = new value for DS
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h,F6h) (see also #03744)
|
|
00h successful
|
|
BX = vector address used
|
|
DX = old value for DS
|
|
ES:DI -> old CS:IP entry point
|
|
BP,DS destroyed
|
|
Desc: exchange the supplied entry point and DS with the values in the next
|
|
free entry in the HP_VECTOR_TABLE
|
|
Note: returns AH=F6h if no more reserved vectors are available
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=08h/BP=0012h
|
|
SeeAlso: AH=0Ch/BP=0012h
|
|
--------b-6F0A--BP002A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_FIRST" - GET PHYSICAL DRIVER VECTOR
|
|
AH = 0Ah
|
|
BP = 002Ah (driver ID for V_SINPUT)
|
|
Return: AH = status (see #03744)
|
|
BX = vector address for first HP-HIL device
|
|
BP,DS destroyed
|
|
Note: all seven HP-HIL devices use consecutive vectors in the
|
|
HP_VECTOR_TABLE
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=08h/BP=002Ah
|
|
SeeAlso: AH=0Ch/BP=002Ah
|
|
--------b-6F0A--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_DEF_MASKS" - DEFINE GRAPHICS CURSOR MASKS
|
|
AH = 0Ah
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
BH = width of save area in bytes
|
|
BL = hot-spot X coordinate
|
|
CH = height in scan lines
|
|
CL = hot-spot Y coordinate
|
|
ES:SI -> sprite mask (screen mask followed by XOR sprite mask)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Note: the save area is one byte wider than the actual sprite mask; the total
|
|
size of the sprite is at most 144 bytes
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
|
|
SeeAlso: AH=0Ch"F_SET_LIMITS_X",AH=10h"F_PUT_SPRITE",AH=12h"F_REMOVE_SPRITE"
|
|
--------N-6F0B-------------------------------
|
|
INT 6F - 10NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
|
|
AH = 0Bh
|
|
AL = drive number or 0
|
|
ES:SI = Ethernet address or 0
|
|
DS:BX -> 31-byte ASCIZ semaphore name
|
|
Return: AL = status (see #03767)
|
|
Note: same as INT 60/AH=12h
|
|
SeeAlso: AH=0Ch"10NET",INT 60/AH=12h
|
|
|
|
(Table 03767)
|
|
Values for 10NET status:
|
|
00h successful
|
|
01h semaphore currently locked
|
|
02h server not responding
|
|
03h invalid semaphore name
|
|
04h semaphore list is full
|
|
05h invalid drive ID
|
|
06h invalid Ethernet address
|
|
07h not logged in
|
|
08h write to network failed
|
|
09h semaphore already logged in this CPU
|
|
SeeAlso: #03740
|
|
Index: error codes;10-Net|10-Net;error codes
|
|
--------N-6F0C-------------------------------
|
|
INT 6F - 10NET - UNLOCK SEMAPHORE
|
|
AH = 0Ch
|
|
AL = drive number or 0
|
|
ES:SI = Ethernet address or 0
|
|
DS:BX -> 31-byte ASCIZ semaphore name
|
|
Return: AL = status (see also #03767)
|
|
01h semaphore not locked
|
|
Note: same as INT 60/AH=13h
|
|
SeeAlso: AH=0Bh,INT 60/AH=13h
|
|
--------b-6F0C-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_GET_BUFFER" - READ A BUFFER OF DATA FROM DEVICE
|
|
AH = 0Ch
|
|
BP = driver ID (see #03741) for V_HPHIL (0114h), others
|
|
CX = number of bytes or blocks to read
|
|
DS:SI -> buffer for received data
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
SeeAlso: AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BUFFER",AH=0Ch"F_GET_BLOCK"
|
|
SeeAlso: AH=10h"F_GET_WORD"
|
|
--------b-6F0C-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_GET_BLOCK" - READ BLOCKS OF DATA FROM DEVICE
|
|
AH = 0Ch
|
|
BP = driver ID (see #03741)
|
|
DH = device major number
|
|
DL = device minor number
|
|
ES:DI -> command block (see #03766)
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
BX = operation status
|
|
BP,DS destroyed
|
|
SeeAlso: AH=08h"F_GET_BYTE",AH=0Ah"F_PUT_BLOCK",AH=0Ch"F_GET_BUFFER"
|
|
SeeAlso: AH=10h"F_GET_WORD"
|
|
--------b-6F0C--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_FIXOWNDS" - INSTALL VALUES IN FIXED VECTOR
|
|
AH = 0Ch
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
BX = vector address used
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h) (see #03744)
|
|
BP,DS destroyed
|
|
Note: on installation, the given entry point will be invoked with an SF_INIT
|
|
call (see AX=0200h"SF_INIT"), which should return the routine's DS
|
|
in BX. If the SF_INIT call returns with error code FEh, the power-on
|
|
self-test sequence will be called.
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=08h/BP=0012h
|
|
SeeAlso: AH=0Eh/BP=0012h,AH=12h/BP=0012h
|
|
--------b-6F0C--BP002A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INQUIRE_ENTRY" - GET GID DRIVER ENTRY POINT
|
|
AH = 0Ch
|
|
BP = 002Ah (driver ID for V_SINPUT)
|
|
Return: AH = status (see #03744)
|
|
ES:BX -> physical GID driver CS:IP
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AX=0400h/BP=002Ah,AH=06h/BP=002Ah,AH=08h/BP=002Ah
|
|
SeeAlso: AH=0Ah/BP=002Ah
|
|
--------b-6F0C--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_X" - SET HORIZONTAL TRACKING LIMITS
|
|
AH = 0Ch
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
CX = minimum X coordinate
|
|
DX = maximum X coordinate
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=005Ah,AH=08h/BP=005Ah,AH=0Eh/BP=005Ah
|
|
SeeAlso: AH=10h/BP=005Ah,AH=12h/BP=005Ah,INT 33/AX=0007h
|
|
--------N-6F0D-------------------------------
|
|
INT 6F - 10NET - "WHO" - ENUMERATE USERS ON NETWORK
|
|
AH = 0Dh
|
|
AL = type code
|
|
01h return superstations only
|
|
02h return non-superstations only
|
|
otherwise return all
|
|
CX = length of data buffer
|
|
DS:DX -> array of records to be filled (see #03768)
|
|
Return: CL = number of records returned (responding stations)
|
|
SeeAlso: AH=16h,AH=8Dh
|
|
|
|
Format of station record:
|
|
Offset Size Description (Table 03768)
|
|
00h 12 BYTEs node ID
|
|
0Ch BYTE station flags (see #03769)
|
|
---if AL = 01h---
|
|
0Dh BYTE version number
|
|
0Eh WORD level number of 10Net software in responding node
|
|
---if AL = 02h---
|
|
0Dh 8 BYTEs user ID
|
|
15h BYTE version number
|
|
16h WORD level number
|
|
|
|
Bitfields for station flags:
|
|
Bit(s) Description (Table 03769)
|
|
1 workstation
|
|
2 superstation
|
|
3 xgate
|
|
4 active gate
|
|
--------N-6F0E-------------------------------
|
|
INT 6F - 10NET - SPOOL/PRINT
|
|
AH = 0Eh
|
|
DS:DX -> spool/print record (see #03771)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see also #03740)
|
|
17FFh device not mounted
|
|
18FFh already spooling to named device
|
|
|
|
(Table 03770)
|
|
Values for 10NET spooler operation code:
|
|
0000h initiate spool
|
|
0001h abort print
|
|
0002h close spool
|
|
0003h delete spool
|
|
0004h print
|
|
0005h get report info
|
|
0006h set chat template
|
|
0007h queue
|
|
0008h return queue
|
|
0009h queue non-spooled file for printing
|
|
|
|
Format of 10NET Spool/Print record:
|
|
Offset Size Description (Table 03771)
|
|
00h WORD operation code (see #03770)
|
|
02h 11 BYTEs file name in FCB format
|
|
---if operation code = 00h or 06h---
|
|
0Dh BYTE notification flags (see #03772)
|
|
0Eh BYTE days to keep (FFh=forever)
|
|
0Fh BYTE bits 0,1: device (1=LPT1)
|
|
bits 4-7: remote drive to store spool file (1=A,...)
|
|
10h WORD length of following data area
|
|
12h N BYTEs up to 64 bytes of description
|
|
---if operation code = 03h---
|
|
0Dh 8 BYTEs user ID to associate with filename
|
|
---if operation code = 04h---
|
|
0Dh WORD block number
|
|
0Fh 8 BYTEs user ID to associate with filename
|
|
---if operation code = 05h---
|
|
0Dh BYTE RRN to start retrieve
|
|
0Eh BYTE bits 0,1: local print device (LPTx)
|
|
bit 3: if set, return entries for all users
|
|
0Fh WORD length of following area
|
|
11h N BYTEs up to 1500 bytes to receive $SCNTL records returned
|
|
---if operation code = 07h---
|
|
0Dh BYTE queue number
|
|
0Eh BYTE bits 0,1: local print device (LPTx)
|
|
0Fh WORD number of bytes of test print to be done
|
|
11h BYTE code:
|
|
01h print device
|
|
02h test print count
|
|
03h prn
|
|
---if operation code = 08h---
|
|
0Dh BYTE queue location or $SCNTL location to start access
|
|
returns next item for access:
|
|
00h-7Fh queued items
|
|
80h-FEh non-queued, non-printed items
|
|
FFh no more items
|
|
0Eh WORD unused
|
|
10h WORD length of following area
|
|
12h N BYTEs up to 64 bytes to receive $SCNTL records (see #03773)
|
|
---if operation code = 09h---
|
|
0Dh 3 BYTEs unused
|
|
10h N BYTEs path to non-spooled file to be queued for printing
|
|
|
|
Bitfields for notification flags:
|
|
Bit(s) Description (Table 03772)
|
|
7 queue to top
|
|
6 do ID page
|
|
5 no form feed
|
|
4 reserved
|
|
3 explicit queuing only
|
|
2 notify at print completion
|
|
1 notify server operator, with reply
|
|
0 notify at print start
|
|
|
|
Format of 10NET $SCNTL record:
|
|
Offset Size Description (Table 03773)
|
|
00h 8 BYTEs user ID
|
|
08h 11 BYTEs filename in FCB format
|
|
13h 6 BYTEs node ID
|
|
19h 3 BYTEs creation date
|
|
1Ch BYTE notification flags (see #03772)
|
|
1Dh BYTE retention time in days
|
|
1Eh BYTE printing device (LPTx)
|
|
1Fh 3 BYTEs date last printed (0 = never)
|
|
22h BYTE device containing spoolfile
|
|
23h WORD bytes to print for test print
|
|
25h WORD block number to start print
|
|
27h BYTE reserved
|
|
--------b-6F0E-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE WORD OF DATA TO DEVICE
|
|
AH = 0Eh
|
|
BP = driver ID (see #03741)
|
|
DX = data word
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
SeeAlso: AH=06h"F_PUT_BYTE",AH=0Ah"F_PUT_BUFFER",AH=10h"F_GET_WORD"
|
|
--------b-6F0E-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_PUT_WORD" - WRITE A WORD OF DATA
|
|
AH = 0Eh
|
|
BP = driver ID (see #03741)
|
|
??? details not yet available
|
|
Return: ???
|
|
SeeAlso: AH=06h"HP Vectra",AH=0Ah"HP Vectra",AH=10h"HP Vectra"
|
|
--------b-6F0E--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGETDS" - INSTALL VALUES IN FIXED VECTOR
|
|
AH = 0Eh
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
BX = vector address used
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h) (see #03744)
|
|
BP,DS destroyed
|
|
Note: on installation, the given entry point will be invoked with an SF_INIT
|
|
call (see AX=0200h"SF_INIT"), with the "last used DS" value in BX;
|
|
the routine should adjust BX and return the new value. If the
|
|
SF_INIT call returns with error code FEh, the power-on self-test
|
|
sequence will be called.
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h,AH=0Ch/BP=0012h
|
|
SeeAlso: AH=10h/BP=0012h,AH=14h/BP=0012h
|
|
--------b-6F0E--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SET_LIMITS_Y" - SET VERTICAL TRACKING LIMITS
|
|
AH = 0Eh
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
CX = minimum Y coordinate
|
|
DX = maximum Y coordinate
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=005Ah,AH=08h/BP=005Ah,AH=0Ch/BP=005Ah
|
|
SeeAlso: AH=10h/BP=005Ah,AH=12h/BP=005Ah,INT 33/AX=0008h
|
|
--------N-6F0F-------------------------------
|
|
INT 6F - 10NET v5.0 - "RM LOCK" - ???
|
|
AH = 0Fh
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=07h,AH=08h"10NET"
|
|
--------N-6F10-------------------------------
|
|
INT 6F - 10NET - ATTACH/DETACH PRINTER
|
|
AH = 10h
|
|
AL = subfunction
|
|
00h initiate spooling if LPT1 is mounted
|
|
01h terminate spooling if LPT1 is mounted
|
|
SeeAlso: INT 21/AX=5D08h
|
|
--------b-6F10-------------------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_GET_WORD" - READ WORD OF DATA FROM DEVICE
|
|
AH = 10h
|
|
BP = driver ID (see #03741)
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
DX = data word
|
|
BP,DS destroyed
|
|
SeeAlso: AH=08h"F_GET_BYTE",AH=0Ch"F_GET_BUFFER",AH=0Eh"F_PUT_WORD"
|
|
--------b-6F10--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_FIXGLBDS" - INSTALL VALUES IN FIXED VECTOR
|
|
AH = 10h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
BX = vector address used
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h) (see #03744)
|
|
BP,DS destroyed
|
|
Note: on installation, the given entry point will be invoked with an SF_INIT
|
|
call (see AX=0200h"SF_INIT"), with BX set to the EX-BIOS global
|
|
data area. If the SF_INIT call returns with error code FEh, the
|
|
power-on self-test sequence will be called.
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=06h/BP=0012h
|
|
SeeAlso: AH=0Ch/BP=0012h,AH=0Eh/BP=0012h,AH=12h/BP=0012h,AH=16h/BP=0012h
|
|
--------b-6F10--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_PUT_SPRITE" - DISPLAY GRAPHICS CURSOR SPRITE
|
|
AH = 10h
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
BX = X coordinate
|
|
CX = Y coordinate
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h"F_TRACK_INIT",AH=08h"F_TRACK_OFF"
|
|
SeeAlso: AH=12h"F_REMOVE_SPRITE",INT 33/AX=0004h
|
|
--------N-6F11-------------------------------
|
|
INT 6F - 10NET - LOCK FCB
|
|
AH = 11h
|
|
AL = mode
|
|
01h sequential
|
|
02h random
|
|
03h random block
|
|
CX = number of records
|
|
DS:DX -> FCB (see #01345 at INT 21/AH=0Fh)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see also #03740)
|
|
0002h file not found
|
|
SeeAlso: AH=12h,INT 21/AH=0Fh
|
|
--------N-6F12-------------------------------
|
|
INT 6F - 10NET - UNLOCK FCB
|
|
AH = 12h
|
|
AL = mode
|
|
00h sequential
|
|
01h random
|
|
02h random block
|
|
CX = number of records
|
|
DS:DX -> FCB (see #01345 at INT 21/AH=0Fh)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see also #03740)
|
|
0002h file not found
|
|
SeeAlso: AH=11h
|
|
--------b-6F12--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_FREEOWNDS" - INSTALL VALUES IN FREE VECTOR
|
|
AH = 12h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h) (see #03744)
|
|
BP,DS destroyed
|
|
Note: on installation, the given entry point will be invoked with an SF_INIT
|
|
call (see AX=0200h"SF_INIT"), which should return the routine's DS
|
|
in BX. If the SF_INIT call returns with error code FEh, the power-on
|
|
self-test sequence will be called.
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Ch/BP=0012h,AH=14h/BP=0012h
|
|
SeeAlso: AH=16h/BP=0012h,AH=18h/BP=0012h
|
|
--------b-6F12--BP005A-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_REMOVE_SPRITE" - REMOVE GRAPHICS CURSOR SPRITE
|
|
AH = 12h
|
|
BP = 005Ah (driver ID for V_STRACK)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=06h"F_TRACK_ON",AH=10h"F_PUT_SPRITE"
|
|
--------N-6F13-------------------------------
|
|
INT 6F - 10NET v3.3+ - GET REMOTE CONFIGURATION TABLE ADDRESS
|
|
AH = 13h
|
|
DS:DX -> node ID, 12 bytes blank-padded
|
|
Return: CF clear if successful
|
|
ES:BX = configuration table address on given machine
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AH=03h
|
|
--------N-6F14-------------------------------
|
|
INT 6F - 10NET v3.3+ - GET REMOTE MEMORY
|
|
AH = 14h
|
|
BX:SI = address of remote memory
|
|
CX = length (<=1024 bytes)
|
|
DS:DX -> node ID, 12 bytes blank-padded
|
|
DS:DI -> area to receive remote memory image
|
|
Return: CF clear if successful
|
|
CX = amount of memory copied to DS:SI
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
--------b-6F14--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGETDS" - INSTALL VALUES IN FREE VECTOR
|
|
AH = 14h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h) (see #03744)
|
|
BP,DS destroyed
|
|
Note: on installation, the given entry point will be invoked with an SF_INIT
|
|
call (see AX=0200h"SF_INIT"), with the "last used DS" value in BX;
|
|
the routine should adjust BX and return the new value. If the
|
|
SF_INIT call returns with error code FEh, the power-on self-test
|
|
sequence will be called.
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Eh/BP=0012h,AH=12h/BP=0012h
|
|
SeeAlso: AH=16h/BP=0012h
|
|
--------N-6F1501-----------------------------
|
|
INT 6F - 10NET v3.3+ - GET SHARED DEVICE ENTRY
|
|
AX = 1501h
|
|
BX = zero-based index
|
|
DS:SI -> node ID, 12 bytes blank-padded
|
|
ES:DI -> 85-byte buffer for shared device table entry (see #03774)
|
|
Return: CF clear if successful
|
|
ES:DI buffer contains shared device table entry of BXth device
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AX=1502h,AX=1503h,AX=9501h
|
|
|
|
Format of 10NET shared device table entry:
|
|
Offset Size Description (Table 03774)
|
|
00h 8 BYTEs device
|
|
08h 8 BYTEs alias
|
|
10h 64 BYTEs path
|
|
50h 8 BYTEs password
|
|
58h BYTE access
|
|
59h 4 BYTEs mask
|
|
--------N-6F1502-----------------------------
|
|
INT 6F - 10NET v3.3+ - SET SHARED DEVICE ENTRY
|
|
AX = 1502h
|
|
DS:SI -> node ID, 12 bytes blank-padded
|
|
ES:DI -> valid shared device table entry
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AX=1501h,AX=1503h,AX=9502h
|
|
--------N-6F1503-----------------------------
|
|
INT 6F - 10NET v3.3+ - DELETE SHARED DEVICE ENTRY
|
|
AX = 1503h
|
|
BX = zero-based index
|
|
DS:SI -> node ID, 12 bytes blank-padded
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AX=1501h,AX=1502h,AX=9503h
|
|
--------N-6F16-------------------------------
|
|
INT 6F - 10NET v5.0 - "GL WHO" - ???
|
|
AH = 16h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=0Dh
|
|
--------b-6F16--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_FREEGLBDS" - INSTALL VALUES IN FREE VECTOR
|
|
AH = 16h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
ES:DI -> new CS:IP entry point
|
|
Return: AH = status (00h) (see #03744 at INT 6F/AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
Note: on installation, the given entry point will be invoked with an SF_INIT
|
|
call (see AX=0200h"SF_INIT"), with BX set to the EX-BIOS global
|
|
data area. If the SF_INIT call returns with error code FEh, the
|
|
power-on self-test sequence will be called.
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=10h/BP=0012h,AH=12h/BP=0012h
|
|
SeeAlso: AH=14h/BP=0012h,AH=18h/BP=0012h
|
|
--------N-6F17-------------------------------
|
|
INT 6F - 10NET v3.3+ - MOUNT
|
|
AH = 17h
|
|
AL = local drive number (0=A:)
|
|
BL = remote drive letter or '1'..'3' for LPTn or '4' or '5' for COMx
|
|
DS:DX -> node ID, 12 bytes blank-padded
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AH=18h
|
|
--------N-6F18-------------------------------
|
|
INT 6F - 10NET v3.3+ - UNMOUNT
|
|
AH = 18h
|
|
AL = local drive number (0=A:)
|
|
BL = type
|
|
00h disk
|
|
01h-03h LPTn
|
|
04h,05h COMx
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03740)
|
|
SeeAlso: AH=17h
|
|
--------b-6F18--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_INS_FIND" - FIND DRIVER BY ATTRIBUTES
|
|
AH = 18h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
AL = sense of test (00h equal, 02h non-equal)
|
|
BX = AND mask
|
|
DX = pattern
|
|
SI = first vector address to search
|
|
DI = offset in HP header of field to test
|
|
Return: AH = status (00h,FEh) (see #03744 at INT 6F/AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
---if AH=00h---
|
|
SI = first matching vector address
|
|
Desc: compare successive drivers' header fields starting at address SI
|
|
until the header field AND BX is either equal or non-equal to DX
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=0Ch/BP=0012h,AH=10h/BP=0012h
|
|
SeeAlso: AH=12h/BP=0012h,AH=16h/BP=0012h
|
|
--------N-6F19-------------------------------
|
|
INT 6F U - 10NET v5.0 - AUDIT
|
|
AH = 19h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=99h
|
|
--------N-6F1A-------------------------------
|
|
INT 6F U - 10NET v5.0 - "BULL" - ???
|
|
AH = 1Ah
|
|
???
|
|
Return: ???
|
|
--------N-6F1B-------------------------------
|
|
INT 6F U - 10NET v5.0 - "GMOUNT" - ???
|
|
AH = 1Bh
|
|
???
|
|
Return: ???
|
|
--------N-6F1C-------------------------------
|
|
INT 6F U - 10NET v5.0 - "GLOGIN" - GET LOGIN LIST
|
|
AH = 1Ch
|
|
???
|
|
Return: ???
|
|
--------N-6F1D-------------------------------
|
|
INT 6F U - 10NET v5.0 - "TABDATA" - ???
|
|
AH = 1Dh
|
|
???
|
|
Return: ???
|
|
--------N-6F1E-------------------------------
|
|
INT 6F U - 10NET v5.0 - "SCHED" - ???
|
|
AH = 1Eh
|
|
???
|
|
Return: ???
|
|
--------b-6F1E--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_RAM_GET" - GET EX-BIOS FREE RAM AREA
|
|
AH = 1Eh
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
Return: AH = status (00h) (see #03744 at INT 6F/AH=00h"HP Vectra")
|
|
BX = last-used DS
|
|
DX = maximum DS
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=04h/BP=0012h,AH=20h/BP=0012h,AH=22h/BP=0012h
|
|
--------N-6F1F-------------------------------
|
|
INT 6F U - 10NET v5.0 - "WHOAMI" - ???
|
|
AH = 1Fh
|
|
???
|
|
Return: ???
|
|
--------N-6F20-------------------------------
|
|
INT 6F U - 10NET v5.0 - ???
|
|
AH = 20h
|
|
???
|
|
Return: ???
|
|
--------b-6F20--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_RAM_RET" - RESERVE EX-BIOS MEMORY
|
|
AH = 20h
|
|
BP = 0012h (driver ID for V_SYSTEM)
|
|
BX = new value for "last-used DS"
|
|
DX = new value for "maximum DS"
|
|
Return: AH = status (00h) (see #03744 at INT 6F/AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
Note: the F_INS_FIXGETDS and F_INS_FREEGETDS functions
|
|
(see AH=0Eh/BP=0012h,AH=14h/BP=0012h) also modify the values returned
|
|
by this call, requiring care if both methods are used to allocate
|
|
memory
|
|
SeeAlso: AH=00h"HP Vectra",AH=0Eh/BP=0012h,AH=14h/BP=0012h,AH=1Eh/BP=0012h
|
|
--------N-6F21-------------------------------
|
|
INT 6F U - 10NET v5.0 - ???
|
|
AH = 21h
|
|
???
|
|
Return: ???
|
|
--------N-6F22-------------------------------
|
|
INT 6F U - 10NET v5.0 - ???
|
|
AH = 22h
|
|
???
|
|
Return: ???
|
|
--------b-6F22--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_CMOS_GET" - READ CMOS MEMORY
|
|
AH = 22h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
BL = address of CMOS byte to read
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
AL = byte read
|
|
BP,DS destroyed
|
|
Note: supported by ES, QS, and RS series HP Vectras
|
|
SeeAlso: AH=00h"HP Vectra",AH=1Eh/BP=0012h,AH=24h/BP=0012h
|
|
--------b-6F24--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_CMOS_RET" - WRITE CMOS MEMORY
|
|
AH = 24h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
BL = address of CMOS byte to write
|
|
AL = new value
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Note: updates the CMOS checksum fields (both IBM-standard and HP checksums)
|
|
SeeAlso: AH=00h"HP Vectra",AH=22h/BP=0012h
|
|
--------b-6F2A--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_YIELD" - GIVE UP CPU TO OTHER TASKS
|
|
AH = 2Ah
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Note: this is a hook for multitasking systems
|
|
SeeAlso: AH=00h"HP Vectra",INT 15/AX=1000h,INT 2F/AX=1680h
|
|
--------b-6F30--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_ENABLE" - TURN ON KEYCLICKS
|
|
AH = 30h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
Desc: enables keyclicks and flushes any pending keyclicks
|
|
SeeAlso: AH=32h/BP=0012h,AH=34h/BP=0012h,AH=36h/BP=0012h
|
|
--------b-6F32--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK_DISABLE" - TURN OFF KEYCLICKS
|
|
AH = 32h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: disables keyclicks and flushes any pending keyclicks
|
|
SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=38h/BP=0012h
|
|
--------b-6F34--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_CLICK" - GENERATE KEYCLICK
|
|
AH = 34h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
Desc: generate a keyclick if fewer than four clicks are already pending
|
|
Note: if keyclicks are already pending, the remaining click count is
|
|
incremented and the function returns immediately
|
|
SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=36h/BP=0012h,AH=3Ah/BP=0012h
|
|
--------b-6F36--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_ENABLE" - ENABLE BEEPS
|
|
AH = 36h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=30h/BP=0012h,AH=34h/BP=0012h,AH=38h/BP=0012h
|
|
--------b-6F38--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP_DISABLE" - DISABLE BEEPS
|
|
AH = 38h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=32h/BP=0012h,AH=36h/BP=0012h
|
|
--------b-6F3A--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_BEEP" - SOUND BEEP WITH CURRENT VALUES
|
|
AH = 3Ah
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744 at AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
Desc: make a sound of the frequency and duration defined in the EX-BIOS
|
|
global data area (see #03748)
|
|
SeeAlso: AH=00h"HP Vectra",AH=34h/BP=0012h,AH=36h/BP=0012h,AH=38h/BP=0012h
|
|
SeeAlso: AH=3Ch/BP=0012h,AH=3Eh/BP=0012h
|
|
--------b-6F3C--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_SET_BEEP" - SET BEEP FREQUENCY AND DURATION
|
|
AH = 3Ch
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
BX = frequency in Hz (1-25000, 0 = off)
|
|
DX = duration in 10-microsecond increments
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=3Ah/BP=0012h,AH=3Eh/BP=0012h,#03748
|
|
--------b-6F3E--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_SND_TONE" - SOUND TONE WITH FREQ AND DURATION
|
|
AH = 3Eh
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
BX = frequency in Hz (1-25000, 0 = off)
|
|
DX = duration in 10-microsecond increments
|
|
Return: AH = status (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=3Ah/BP=0012h,AH=3Ch/BP=0012h,AH=40h/BP=0012h
|
|
--------b-6F40--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_STR_GET_FREE_INDEX" - FIND FREE STRING INDEX
|
|
AH = 40h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
Return: AH = status (see #03744)
|
|
BX = next free string index
|
|
BP,DS destroyed
|
|
Desc: get the next string index available to user programs
|
|
SeeAlso: AH=00h"HP Vectra",AH=42h/BP=0012h,AH=44h/BP=0012h,AH=46h/BP=0012h
|
|
--------b-6F42--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_STR_DEL_BUCKET" - DEL HEADER FROM BUCKET LIST
|
|
AH = 42h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
ES:DI -> bucket header (see #03775)
|
|
Return: AH = status (00h,FEh) (see #03744 at AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=40h/BP=0012h,AH=44h/BP=0012h
|
|
|
|
Format of HP Vectra EX-BIOS bucket header:
|
|
Offset Size Description (Table 03775)
|
|
00h DWORD pointer to next bucket header (FFFFh:FFFFh if last)
|
|
04h WORD upper bound on string index
|
|
06h WORD lower bound on string index
|
|
08h DWORD pointer to array of string offset pointers
|
|
0Ch WORD segment of strings
|
|
Note: the strings pointed at by the offset pointers are byte-counted ASCIZ
|
|
strings
|
|
--------b-6F44--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_STR_PUT_BUCKET" - ADD HEADER TO BUCKET HDR LIST
|
|
AH = 44h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
ES:DI -> bucket header (see #03775)
|
|
Return: AH = status (00h) (see #03744)
|
|
BP,DS destroyed
|
|
SeeAlso: AH=00h"HP Vectra",AH=42h/BP=0012h,AH=46h/BP=0012h
|
|
--------b-6F46--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_STR_GET_STRING" - FIND STRING IN BUCKET LIST
|
|
AH = 46h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
BX = string index
|
|
Return: AH = status (00h,other) (see #03744)
|
|
BP,DS destroyed
|
|
---if successful---
|
|
CX = length of string (excluding count byte and terminating NUL)
|
|
DS:SI -> header for string
|
|
ES:DI -> found string
|
|
SeeAlso: AH=00h"HP Vectra",AH=44h/BP=0012h,AH=48h/BP=0012h
|
|
--------b-6F48--BP0012-----------------------
|
|
INT 6F - HP Vectra EX-BIOS - "F_STR_GET_INDEX" - GET INDEX FOR STRING
|
|
AH = 48h
|
|
BP = 0012h (driver ID of V_SYSTEM)
|
|
ES:DI -> ASCIZ string
|
|
Return: AH = status (00h,other) (see #03744 at AH=00h"HP Vectra")
|
|
BP,DS destroyed
|
|
---if successful---
|
|
BX = index for the given string
|
|
SeeAlso: AH=00h"HP Vectra",AH=40h/BP=0012h,AH=46h/BP=0012h
|
|
--------A-6F636FBX6D70-----------------------
|
|
INT 6F - Clara Empricost - TSR Version - INSTALLATION CHECK
|
|
AX = 636Fh ('co')
|
|
BX = 6D70h ('mp')
|
|
CX = 696Eh ('in')
|
|
SS:DX -> WORD to set if installed
|
|
Return: SS:DX word set to 636Fh if installed
|
|
Program: Condition List Action Rejection Algorithm for the Evaluation
|
|
of Music at Pseudo-Random Idea COnstruction STage
|
|
(CLARA EMPRICOST) is an experimental program by Silas Brown
|
|
SeeAlso: AX=636Fh/BX=6D70h"UNINSTALL"
|
|
--------A-6F636FBX6D70-----------------------
|
|
INT 6F - Clara Empricost - TSR Version - UNINSTALL
|
|
AX = 636Fh ('co')
|
|
BX = 6D70h ('mp')
|
|
CX = 6F73h ('os')
|
|
Return: nothing -- call installation check to determine whether successful
|
|
Program: Condition List Action Rejection Algorithm for the Evaluation
|
|
of Music at Pseudo-Random Idea COnstruction STage
|
|
(CLARA EMPRICOST) is an experimental program by Silas Brown
|
|
Notes: Saves any unfinished task and prevents processing of
|
|
new tasks, even if can't uninstall
|
|
If INT 28h or INT 6Fh have been chained since installation,
|
|
returns without changing interrupts or freeing memory
|
|
do not call while DOS is active (i.e. InDOS flag is nonzero or INT 28
|
|
is active and InDOS > 1)
|
|
SeeAlso: AX=636Fh/BX=6D70h"INSTALLATION CHECK"
|
|
--------N-6F80-------------------------------
|
|
INT 6F - 10NET v5.0 - LOGIN
|
|
AH = 80h
|
|
DS:DX -> login record (see #03776)
|
|
Return: CF clear if successful
|
|
BL = number of days until password expires (00h = never)
|
|
CL = security level
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AH=00h,AH=81h
|
|
|
|
Format of 10NET login record:
|
|
Offset Size Description (Table 03776)
|
|
00h 8 BYTEs user name
|
|
08h 8 BYTEs password
|
|
10h 15 BYTEs server node ID
|
|
1Fh 8 BYTEs new password
|
|
27h BYTE invoke mode (00h command line, 01h interactive)
|
|
--------N-6F81-------------------------------
|
|
INT 6F - 10NET v5.0 - LOGOUT
|
|
AH = 81h
|
|
DS:DX -> server node ID (DX=0000h for universal logout)
|
|
Return: AX = status (see #03740)
|
|
SeeAlso: AH=01h,AH=80h
|
|
--------N-6F8A-------------------------------
|
|
INT 6F - 10NET v5.0 - CHAT
|
|
AH = 8Ah
|
|
DS:BX -> chat parameters (see #03777)
|
|
DS:DX -> chat message (see #03778)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AH=0Ah"10NET"
|
|
|
|
Format of 10NET chat parameters:
|
|
Offset Size Description (Table 03777)
|
|
00h 8 BYTEs sender's user name
|
|
08h 8 BYTEs destination user name
|
|
10h 15 BYTEs destination node (0 if broadcast-style chat)
|
|
|
|
Format of 10NET chat message:
|
|
Offset Size Description (Table 03778)
|
|
00h WORD message length
|
|
02h N BYTEs chat message contents
|
|
--------N-6F8D-------------------------------
|
|
INT 6F - 10NET v5.0 - "WHO" - ENUMERATE USERS ON NETWORK
|
|
AH = 8Dh
|
|
BX = service mask (see #03779)
|
|
CX = length of buffer
|
|
DS:DX -> buffer for array of Who data structures (see #03780)
|
|
Return: CF clear if successful
|
|
CX = number of nodes matching service mask
|
|
DS:DX buffer filled
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AH=0Dh
|
|
|
|
Bitfields for 10NET service mask:
|
|
Bit(s) Description (Table 03779)
|
|
0 workstation
|
|
1 file server
|
|
2 print server
|
|
3 de-spool server
|
|
|
|
Format of 10NET Who data structure:
|
|
Offset Size Description (Table 03780)
|
|
00h 8 BYTEs user name
|
|
08h 15 BYTEs node ID
|
|
17h 3 BYTEs unique portion of Ethernet address
|
|
1Ah BYTE Who group number
|
|
1Bh WORD service mask (see #03779)
|
|
1Dh DWORD serial number
|
|
21h BYTE maximum concurrent users with same serial number allowed on net
|
|
22h BYTE chat mask (see #03781)
|
|
23h BYTE internal system bits (see #03782)
|
|
24h 9 BYTEs version number in format MM.mm.xxx
|
|
2Dh BYTE number of shared directories
|
|
2Eh BYTE number of shared printer queues
|
|
|
|
Bitfields for 10NET chat mask:
|
|
Bit(s) Description (Table 03781)
|
|
0 chat permitted
|
|
1 bell enabled
|
|
2 chat keyboard initiated
|
|
3 in INT 16 handler
|
|
4 in Get Input
|
|
5 display has timed out
|
|
6 chat is idle
|
|
|
|
Bitfields for 10NET internal system bits:
|
|
Bit(s) Description (Table 03782)
|
|
0 submit permitted
|
|
1 submit initiated
|
|
2 submit executing
|
|
3 internal client call/chat/spool/autospool
|
|
4 in spool termination
|
|
5 print permitted
|
|
6 waiting for keyboard input
|
|
--------N-6F9501-----------------------------
|
|
INT 6F - 10NET v5.0 - GET SHARED DEVICE ENTRY
|
|
AX = 9501h
|
|
BX = zero-based index
|
|
DS:SI -> server's node ID
|
|
ES:DI -> buffer for shared device structure (see #03783)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AX=1501h,AX=9502h,AX=9503h,AX=9504h
|
|
|
|
Format of 10NET shared device structure:
|
|
Offset Size Description (Table 03783)
|
|
00h 8 BYTEs alias
|
|
08h BYTE type (02h modem, 03h print queue, 04h directory)
|
|
09h BYTE access rights
|
|
bit 0: read
|
|
bit 1: write
|
|
bit 2: create
|
|
0Ah 8 BYTEs password
|
|
12h 32 BYTEs comment
|
|
---directory---
|
|
32h 64 BYTEs pathname of shared directory
|
|
---print queue---
|
|
32h BYTE notification bit mask (see #03784)
|
|
33h BYTE job control bit mask (see #03785)
|
|
34h WORD number of days to retain file
|
|
36h WORD test print length
|
|
38h BYTE number of copies to print
|
|
39h BYTE compression algorithm
|
|
3Ah BYTE tab width (00h = don't expand)
|
|
3Bh BYTE priority
|
|
3Ch WORD time to open queue (FFFFh = always)
|
|
3Eh WORD time to close queue
|
|
40h WORD pause following queue switch, in clock ticks
|
|
42h WORD pause between print jobs, in clock ticks
|
|
44h BYTE associate queue file existence mask
|
|
bit 0: queue switch file exists
|
|
bit 1: initiate file exists
|
|
bit 2: abort file exists
|
|
45h 6 BYTEs character sequence for page eject
|
|
4Bh BYTE status of print queue
|
|
bit 0: queue is closed
|
|
4Ch WORD number of jobs on queue
|
|
4Eh WORD offset of next print job to be dispatched (FFFFh = none)
|
|
50h BYTE number of print devices in printer pool
|
|
51h WORD offset of first print device structure (FFFFh if empty)
|
|
|
|
Bitfields for notification flags:
|
|
Bit(s) Description (Table 03784)
|
|
0 user at print start
|
|
1 operator at start, with reply
|
|
2 user at print completion
|
|
3 operator at completion, with reply
|
|
4 user on queue switch
|
|
5 operator on queue switch, with reply
|
|
6 user on print error
|
|
|
|
Bitfields for 10NET job control mask:
|
|
Bit(s) Description (Table 03785)
|
|
0 print banner page
|
|
1 eject page at end of job
|
|
2 mark as "held" (queue but don't print)
|
|
3 rush job (queue at top)
|
|
4 overwrite file with zeros before deletion
|
|
5 hyperspool if possible
|
|
--------N-6F9502-----------------------------
|
|
INT 6F - 10NET v5.0 - SET SHARED DEVICE ENTRY
|
|
AX = 9502h
|
|
DS:SI -> server's node ID
|
|
ES:DI -> shared device structure (see #03783)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AX=1502h,AX=9501h,AX=9503h,AX=9504h
|
|
--------N-6F9503-----------------------------
|
|
INT 6F - 10NET v5.0 - DELETE SHARED DEVICE
|
|
AX = 9503h
|
|
BX = zero-based index
|
|
DS:SI -> server's node ID
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AX=1503h,AX=9501h,AX=9502h,AX=9504h
|
|
--------N-6F9504-----------------------------
|
|
INT 6F - 10NET v5.0 - ENUMERATE USERS OF SHARED DEVICE
|
|
AX = 9504h
|
|
BX = zero-based shared device index
|
|
CX = zero-based user index
|
|
DS:SI -> server's node ID
|
|
Return: CF clear if successful
|
|
ES:DI -> node ID of the CX'th user of the BX'th device
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AX=9501h,AX=9502h,AX=9503h
|
|
--------N-6F99-------------------------------
|
|
INT 6F - 10NET v5.0 - AUDIT
|
|
AH = 99h
|
|
DS:SI -> server's node ID
|
|
ES:DI -> data to be appended to audit trail file (max 106 bytes)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
SeeAlso: AH=19h,AH=9Ch
|
|
--------N-6F9C-------------------------------
|
|
INT 6F - 10NET v5.0 - GET LOGIN LIST
|
|
AH = 9Ch
|
|
BX = zero-based index
|
|
Return: CF clear if successful
|
|
DS:DI -> BX'th node ID that caller's machine is logged into
|
|
CF set on error
|
|
AX = status (see #03740)
|
|
--------H-70---------------------------------
|
|
INT 70 C - IRQ8 - CMOS REAL-TIME CLOCK
|
|
Desc: this interrupt is called when the real-time clock chip generates an
|
|
alarm or periodic interrupt, among others (see CMOS 0Bh). The
|
|
periodic interrupt by default occurs 1024 times per second.
|
|
Notes: many BIOSes turn off the periodic interrupt in the INT 70h handler
|
|
unless in an event wait (see INT 15/AH=83h,INT 15/AH=86h).
|
|
may be masked by setting bit 0 on I/O port A1h
|
|
SeeAlso: INT 08,INT 0F"HP 95LX",INT 15/AH=01h"Amstrad",INT 15/AH=83h
|
|
SeeAlso: INT 15/AH=86h,INT 1A/AH=02h,INT 58"DESQview",MEM FEE00320h
|
|
SeeAlso: MEM 0040h:006Bh
|
|
--------v-70---------------------------------
|
|
INT 70 - VIRUS - "Stupid" - ORIGINAL INT 21h VECTOR
|
|
Note: the virus sets this interrupt to be the same as INT 21, and then
|
|
performs only INT 70 calls; since INT 70 is also generated by the
|
|
real-time clock on the PC/AT and higher, this could cause random
|
|
actions on an infected system
|
|
SeeAlso: INT 6B"VIRUS",INT 9E"VIRUS",INT E0"VIRUS"
|
|
--------H-71---------------------------------
|
|
INT 71 C - IRQ9 - REDIRECTED TO INT 0A BY BIOS
|
|
Notes: may be masked by setting bit 1 on I/O port A1h
|
|
the default BIOS handler invokes INT 0A for compatibility, since the
|
|
pin for IRQ2 on the PC expansion bus became the pin for IRQ9 on the
|
|
AT expansion bus.
|
|
under DESQview, only the INT 15h vector and BASIC segment address (the
|
|
word at 0000h:0510h) may be assumed to be valid for the handler's
|
|
process
|
|
SeeAlso: INT 0A"IRQ2",INT 59"IRQ9",MEM 0040h:006Bh
|
|
--------H-72---------------------------------
|
|
INT 72 C - IRQ10 - RESERVED
|
|
Notes: may be masked by setting bit 2 on I/O port A1h
|
|
DOS 3.3+ revectors IRQ10 to a stack-switching routine unless STACKS=0
|
|
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
|
|
Protocol (see #02568) when hooking this IRQ
|
|
SeeAlso: INT 5A"IRQ10",MEM 0040h:006Bh
|
|
--------H-73---------------------------------
|
|
INT 73 C - IRQ11 - RESERVED
|
|
Notes: may be masked by setting bit 3 on I/O port A1h
|
|
DOS 3.3+ revectors IRQ11 to a stack-switching routine unless STACKS=0
|
|
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
|
|
Protocol (see #02568) when hooking this IRQ
|
|
SeeAlso: INT 5B"IRQ11",MEM 0040h:006Bh
|
|
--------H-74---------------------------------
|
|
INT 74 C - IRQ12 - POINTING DEVICE (PS)
|
|
Notes: may be masked by setting bit 4 on I/O port A1h
|
|
DOS 3.3+ revectors IRQ12 to a stack-switching routine unless STACKS=0
|
|
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
|
|
Protocol (see #02568) when hooking this IRQ
|
|
under DESQview, only the INT 15h vector and BASIC segment address (the
|
|
word at 0000h:0510h) may be assumed to be valid for the handler's
|
|
process
|
|
SeeAlso: INT 33/AX=0000h,INT 33/AX=0024h,INT 5C"NetBIOS",MEM 0040h:006Bh
|
|
--------H-75---------------------------------
|
|
INT 75 C - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
|
|
Desc: redirected to INT 02 by the BIOS, for compatibility with the PC
|
|
Notes: may be masked by setting bit 5 on I/O port A1h
|
|
not all clones wire the coprocessor to generate this IRQ; some systems
|
|
generate an NMI (see INT 02) or assert the -ERROR pin on the CPU
|
|
(see INT 10"COPROCESSOR")
|
|
under DESQview, only the INT 15h vector and BASIC segment address (the
|
|
word at 0000h:0510h) may be assumed to be valid for the handler's
|
|
process
|
|
SeeAlso: INT 10"COPROCESSOR",INT 5D"IRQ13",MEM 0040h:006Bh
|
|
--------H-76---------------------------------
|
|
INT 76 C - IRQ14 - HARD DISK CONTROLLER OPERATION COMPLETE (AT and later)
|
|
Notes: may be masked by setting bit 6 on I/O port A1h
|
|
DOS 3.3+ revectors IRQ14 to a stack-switching routine unless STACKS=0
|
|
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
|
|
Protocol (see #02568) when hooking this IRQ
|
|
on the PS/2, this interrupt is designed to be shared with other
|
|
devices that produce an operation-complete interrupt, though
|
|
the only current user is the hard disk
|
|
SeeAlso: INT 0E"IRQ6",INT 15/AH=91h,INT 5E"IRQ14",MEM 0040h:006Bh
|
|
--------H-77---------------------------------
|
|
INT 77 C - IRQ15 - RESERVED (AT,PS)
|
|
Notes: may be masked by setting bit 7 on I/O port A1h
|
|
DOS 3.3+ revectors IRQ15 to a stack-switching routine unless STACKS=0
|
|
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
|
|
Protocol (see #02568) when hooking this IRQ
|
|
SeeAlso: INT 5F"IRQ15",MEM 0040h:006Bh
|
|
--------H-77---------------------------------
|
|
INT 77 C - IRQ15 - SECONDARY IDE CONTROLLER - OPERATION COMPLETE
|
|
Notes: may be masked by setting bit 7 on I/O port A1h
|
|
DOS 3.3+ revectors IRQ15 to a stack-switching routine unless STACKS=0
|
|
has been set in CONFIG.SYS. MS/PC-DOS use the IBM Interrupt Sharing
|
|
Protocol (see #02568) when hooking this IRQ
|
|
SeeAlso: INT 5F"IRQ15",MEM 0040h:006Bh
|
|
--------H-77---------------------------------
|
|
INT 77 C - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
|
|
Note: may be masked by setting bit 7 on I/O port A1h
|
|
SeeAlso: INT 15/AX=4600h,INT 5F"IRQ15"
|
|
--------E-78---------------------------------
|
|
INT 78 - UofSalford DBOS DOS extender - API
|
|
AH = function
|
|
00h (PB) display 32-bit memory specified by command argument
|
|
01h (PT) display 32-bit instruction(s) specified by command arg
|
|
02h specify offset to subsequent PB and PT commands
|
|
03h switch to protected mode
|
|
DWORD following INT instruction point to map; protected-mode
|
|
entry point is immediately following the DWORD
|
|
Return: never
|
|
Note: if bit 31 of the map address is set, only a stub was
|
|
loaded by DOS and DBOS will load the entire program
|
|
04h specify that subsequent load (AH=03h) should leave program in
|
|
memory
|
|
05h release program from memory
|
|
06h set break point at address and option count from commandline
|
|
07h resume program execution
|
|
08h single-step program
|
|
09h set read/write breakpoint using 386 debug registers
|
|
0Ah set write breakpoint using 386 debug register
|
|
0Bh set memory byte to new value
|
|
0Ch display CPU registers
|
|
0Dh run until specified program address reached
|
|
0Fh print trace from program map
|
|
10h specify an offset using a map symbol
|
|
14h print memory without any offset
|
|
18h switch DBOS into/out of test mode (ON/OFF commandline args)
|
|
1Dh get address of real/protected-mode communication buffer
|
|
Return: ES:BP -> comm buffer
|
|
1Eh set real-mode memory size (specify how much real-mode memory
|
|
to leave free when running FTN77 programs)
|
|
22h uninstall DBOS
|
|
24h force DBOS to emulate coprocessor instructions
|
|
26h set named DBOS switches from commandline
|
|
27h reset named DBOS switched from commandline
|
|
2Ah set list of dynamic link libraries to contents of commandline
|
|
file
|
|
35h specify that subsequent load (AH=03h) should stop at first
|
|
instruction
|
|
Return: ???
|
|
Notes: DBOS supports functions 00h through 50h; many of these functions
|
|
provide a low-level debugging interface
|
|
command arguments are read from the calling program's PSP
|
|
SeeAlso: INT 79"DBOS"
|
|
Index: uninstall;DBOS DOS extender
|
|
--------E-78---------------------------------
|
|
INT 78 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ0
|
|
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
|
|
GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 08,INT 10/AH=FFh"GO32",INT 79"GO32"
|
|
--------A-78---------------------------------
|
|
INT 78 R - AutoCAD Device Interface - PLOTTER - SEND COMMAND
|
|
AX = function
|
|
0001h begin plot
|
|
BX = file level
|
|
0000h ASCII file
|
|
0001h binary file
|
|
0002h AutoCAD DXB file
|
|
0003h installed ADI driver
|
|
0002h end plot (close plotter)
|
|
0003h move (pen up)
|
|
BX = new X position
|
|
CX = new Y position
|
|
0004h move (pen down)
|
|
BX = new X position
|
|
CX = new Y position
|
|
0005h select pen
|
|
BX = pen number
|
|
0006h select drawing speed
|
|
BX = drawing speed N
|
|
0007h select line style
|
|
BX = line style N
|
|
0008h raise pen
|
|
0009h abort plot
|
|
Return: AX = 0000h (may be used for driver status in future releases)
|
|
SeeAlso: INT 79"AutoCAD",INT 7A/AX=0001h"AutoCAD",INT 7B/AX=8001h"AutoCAD"
|
|
--------d-78---------------------------------
|
|
INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
|
|
SeeAlso: INT 79"ADP-60"
|
|
--------s-78-------------------------------
|
|
INT 78 - ULTRAMID - API
|
|
AX = function
|
|
--- digital functions ---
|
|
0000h start digital
|
|
ES:DI -> Sound Structure
|
|
Return: AX = voice used
|
|
0001h play next buffer
|
|
ES:DI -> Sound Structure
|
|
0002h set panning
|
|
BX = pan
|
|
CX = voice
|
|
0003h set volume
|
|
BX = volume
|
|
CX = voice
|
|
0004h set rate (not yet implemented)
|
|
0005h pause digital
|
|
CX = voice
|
|
0006h restart digital
|
|
CX = voice
|
|
0007h stop digital
|
|
CX = voice
|
|
0008h get digital position
|
|
CX = voice
|
|
Return: AX:DX -> position in PC buffer
|
|
0009h get voice status (not yet implemented)
|
|
--- MIDI functions ---
|
|
000Ah load MIDI patches
|
|
ES:DI -> MIDI track just after the Mtrk header
|
|
BX:DX = length of MIDI track
|
|
000Bh load XMIDI patches
|
|
ES:DI -> event buffer including the EVNT header
|
|
000Ch load patch
|
|
CX = MIDI number of patch
|
|
000Dh unload patch
|
|
CX = MIDI number of patch
|
|
000Eh start sequence
|
|
000Fh unload all patches
|
|
0010h MIDI out byte
|
|
CX = MIDI byte
|
|
0011h MIDI out string
|
|
CX = length
|
|
ES:DI -> string of MIDI data
|
|
0012h all notes off
|
|
--- resource functions ---
|
|
0013h allocate memory
|
|
BX:DX = size of GUS memory needed
|
|
Return: AX:DX = address of memory, or 0000:0000 if not avaiable
|
|
0014h free memory
|
|
BX:DX = address of memory to be freed
|
|
0015h uninstall
|
|
0016h sem enter
|
|
0017h sem leave
|
|
0018h add external semaphore
|
|
BX:DX -> external semaphore
|
|
0019h clear external semaphore
|
|
BX:DX -> external semaphore
|
|
001Ah application start
|
|
001Bh application end
|
|
--- v1.12 ---
|
|
001Ch ???
|
|
001Dh ???
|
|
001Eh ???
|
|
001Fh ???
|
|
Program: UltraMid is a TSR from Advanced Gravis to play MIDI and digital data
|
|
through the Gravis UltraSound (GUS)
|
|
InstallCheck: test for the signature "ULTRAMID" at offset 0103h in the
|
|
interrupt handler's segment
|
|
Range: INT 78 to INT 7F
|
|
SeeAlso: INT 2F/AX=CD00h"ULTRAMID",INT 7E/AH=00h"SBOS",INT 7E/AX=00FEh"SBOS"
|
|
Index: uninstall;UltraMID
|
|
--------d-7800-------------------------------
|
|
INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
|
|
AH = 00h
|
|
DX = interface board I/O port
|
|
Return: CF set on error
|
|
AL = error code (see #03786)
|
|
InstallCheck: (used by TARGA.DEV) test for the string "SCSI" at offset 03h
|
|
into the interrupt handler
|
|
Note: if this routine is not called, the port is the driver's default
|
|
(usually 0280h or 0300h)
|
|
SeeAlso: AH=01h,AH=02h
|
|
Index: installation check;TARGA.DEV
|
|
|
|
(Table 03786)
|
|
Values for TARGA.DEV error code:
|
|
00h illegal command given to SCSI code
|
|
01h invalid I/O port specified (must be from 100H to 3F8H, and must be on
|
|
an 8-port boundary)
|
|
02h invalid DMA channel specified (must be from 1 to 3)
|
|
03h invalid SCSI board number specified (must be from 0 to 7)
|
|
04h error from data register test during self-test
|
|
05h SCSI input signals not all 0 when SCSI RST activated
|
|
06h SCSI input signals not all 0 before selecting a SCSI device
|
|
07h BSY signal is active; SCSI bus is busy
|
|
08h SCSI board not selected, BSY signal did not come on in response to
|
|
raising SEL
|
|
09h time-out waiting for status state, signifying end of DMA transfer
|
|
--------E-780000-----------------------------
|
|
INT 78 - HugeRealMode Driver - INSTALLATION CHECK
|
|
AX = 0000h
|
|
Return: AX = DBCAh if installed
|
|
Program: the HugeRealMode driver was published in the German DOS Extra Nr. 20
|
|
(1992), and makes a 4G flat address space (for both data and code)
|
|
available to real-mode DOS programs
|
|
SeeAlso: AX=0001h
|
|
--------E-780001-----------------------------
|
|
INT 78 - HugeRealMode Driver - GET ENTRY POINT
|
|
AX = 0001h
|
|
Return: ES:BX -> far call entry point (see #03788,#03803)
|
|
SeeAlso: AX=0000h
|
|
|
|
(Table 03787)
|
|
Values for HugeRealMode Server error code:
|
|
00h successful
|
|
01h unknown function
|
|
02h A20 disabled
|
|
03h A20 enabled
|
|
04h memory allocation error
|
|
05h memory not fixeable (LOCK)
|
|
06h memory not deallocaable
|
|
07h memory not moveable (UNLOCK)
|
|
08h change in memory allocation size not possible
|
|
09h file error (with .XMF-file)
|
|
0Ah memory error (with .XMF-file)
|
|
0Bh unknown procedure (currently Turbo Pascal unit only)
|
|
|
|
(Table 03788)
|
|
Call HugeRealMode Server "Enable A20" function with:
|
|
AL = 00h
|
|
Return: AX = error code (see #03787)
|
|
Note: The HugeRealMode Server requires an XMS-driver like HIMEM.SYS loaded
|
|
before HUGEREAL (for XMS-memory allocation and A20 control). It
|
|
utilizes some undocumented 386+ features to enable 4G code and data
|
|
segments (flat memory model) in the CPUs real-mode. It is not
|
|
compatible with V86-mode (as with most EMM386). For maximum speed
|
|
and compatibility with DOS it uses a two stage interrupt model
|
|
(see #03791)
|
|
SeeAlso: #03789,#03790,#03791
|
|
|
|
(Table 03789)
|
|
Call HugeRealMode Server "Disable A20" function with:
|
|
AL = 01h
|
|
Return: AX = error code (see #03787)
|
|
SeeAlso: #03788,#03790
|
|
|
|
(Table 03790)
|
|
Call HugeRealMode Server "Query A20 State" function with:
|
|
AL = 02h
|
|
Return: AX = A20 state (0000h disabled, 0001h enabled)
|
|
SeeAlso: #03788,#03789
|
|
|
|
(Table 03791)
|
|
Call HugeRealMode Server "Enable Two-Stage Interrupt Model" function with:
|
|
AL = 03h
|
|
Return: AX = error code (see #03787)
|
|
Notes: If the two stage interrupt model is disabled, the IP must stay below
|
|
1MB, because the high word of EIP is not saved correctly by the
|
|
standard interrupt management in real mode. Routines in extended
|
|
memory may only be called with interrupts disabled (only usable for
|
|
very short routines).
|
|
If the two stage interupt model is enabled, these conventions are not
|
|
required. The outer (transparent) ISRs save the higher word of EIP
|
|
in the high word of CR3 (possible modification: in memory, if this
|
|
is not safe) and then invoke the standard ISRs.
|
|
Because of this handling, one should use pseudo segmented code even in
|
|
extended memory (64K blocks located on 64K boundaries) to avoid the
|
|
misalignment of the saved EIP (in CR3). Another way is to track and
|
|
realign CR3 each time when jumping over a 64K boundary in extended
|
|
memory
|
|
SeeAlso: #03788,#03792
|
|
|
|
(Table 03792)
|
|
Call HugeRealMode Server "Disable Two-Stage Interrupt Model" function with:
|
|
AL = 04h
|
|
Return: AX = error code (see #03787)
|
|
SeeAlso: #03788,#03791
|
|
|
|
(Table 03793)
|
|
Call HugeRealMode Server "Get Segment Address Of Server-Management Range" with:
|
|
AL = 05h
|
|
Return: AX = error code (see #03787)
|
|
ES = segment address
|
|
SeeAlso: #03803
|
|
|
|
(Table 03794)
|
|
Call HugeRealMode Server "Allocate Memory" function with:
|
|
AL = 06h
|
|
DX = length in KB
|
|
Return: AX = error code (see #03787)
|
|
DX = handle
|
|
EBX = start address of allocated block
|
|
SeeAlso: #03795,#03796
|
|
|
|
(Table 03795)
|
|
Call HugeRealMode Server "Deallocate Memory" function with:
|
|
AL = 07h
|
|
DX = handle
|
|
Return: AX = error code (see #03787)
|
|
SeeAlso: #03794,#03796
|
|
|
|
(Table 03796)
|
|
Call HugeRealMode Server "Modify Allocated Memory Size" function with:
|
|
AL = 08h
|
|
DX = handle
|
|
BX = new size in KB
|
|
Return: AX = error code (see #03787)
|
|
EBX = new address
|
|
SeeAlso: #03794,#03795
|
|
|
|
(Table 03797)
|
|
Call HugeRealMode Server "Load .XMF-file" function with:
|
|
AL = 09h
|
|
ES:BX -> filename (see #03798)
|
|
Return: AX = error code (see #03787)
|
|
ECX = target address
|
|
Notes: memory must be allocated before loading
|
|
.XMF file format (eXtended Memory executable File format) is supported
|
|
by the HugeRealMode server for easier handling of XMS-code.
|
|
The utility CONFXMF converts .OBJ-files (.COM 'tiny' model) to
|
|
.XMF-format
|
|
SeeAlso: #03794
|
|
|
|
Format of .XMF program file header:
|
|
Offset Size Description (Table 03798)
|
|
00h DWORD signature "XMF_"
|
|
04h WORD length of programs code
|
|
06h WORD count of 32bit addresses to relocate
|
|
08h WORD offset to code start (releative to file start) (see #03799)
|
|
0Ah WORD relocation table
|
|
Note: each word contains a 16bit address, where a relocation has to be
|
|
performed
|
|
SeeAlso: #03797,#03799
|
|
|
|
Format of .XMF-file code header:
|
|
Offset Size Description (Table 03799)
|
|
00h WORD count of exported functions
|
|
02h N PWORDs 48bit pointers (16bit segment+32bit offset) to each function
|
|
(16bit segment is always zero)
|
|
var start of program's code
|
|
SeeAlso: #03797,#03798
|
|
|
|
(Table 03800)
|
|
Call HugeRealMode Server "Set Segment Limits" function with:
|
|
AL = 0Ah
|
|
BL = segment limits (see #03801)
|
|
Return: AX = error code (see #03787)
|
|
SeeAlso: #03793
|
|
|
|
Bitfields for HugeRealMode Server segment limits:
|
|
Bit(s) Description (Table 03801)
|
|
7 CS size: 1=4GB, 0=64KB
|
|
6-5 not used
|
|
4 SS size: 1=4GB, 0=64KB
|
|
3 GS size
|
|
2 FS size
|
|
1 ES size
|
|
0 DS size
|
|
SeeAlso: #03800
|
|
|
|
(Table 03802)
|
|
Call HugeRealMode Server "Transfer Memory From DOS To XMS" function with:
|
|
AL = 0Bh
|
|
ES:SI = source address
|
|
EDI = target address
|
|
ECX = length
|
|
Return: AX = error code
|
|
SeeAlso: #03803
|
|
|
|
(Table 03803)
|
|
Call HugeRealMode Server "Transfer Memory From XMS To DOS" function with:
|
|
AL = 0Ch
|
|
ESI = source address
|
|
ES:DI = target address
|
|
ECX = length
|
|
Return: AX = error code
|
|
SeeAlso: #03802
|
|
--------d-7801-------------------------------
|
|
INT 78 - TARGA.DEV - GET I/O PORT
|
|
AH = 01h
|
|
Return: DX = current interface board I/O port
|
|
SeeAlso: AH=00h,AH=03h"TARGA"
|
|
--------d-7802-------------------------------
|
|
INT 78 - TARGA.DEV - SET DMA CHANNEL
|
|
AH = 02h
|
|
AL = interface board DMA channel
|
|
Return: CF set on error
|
|
AL = error code (see #03786)
|
|
Note: if this routine is not called, the DMA channel is the driver's default
|
|
(usually 3)
|
|
SeeAlso: AH=00h,AH=03h"TARGA"
|
|
--------d-7803-------------------------------
|
|
INT 78 - TARGA.DEV - GET DMA CHANNEL
|
|
AH = 03h
|
|
Return: AL = current interface board DMA channel
|
|
SeeAlso: AH=01h,AH=02h
|
|
--------d-7804-------------------------------
|
|
INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
|
|
AH = 04h
|
|
AL = SCSI device number
|
|
Return: CF set on error
|
|
AL = error code (see #03786)
|
|
Note: if this routine is not called, the device number used is the driver's
|
|
default (usually 0)
|
|
SeeAlso: AH=02h,AH=05h
|
|
--------d-7805-------------------------------
|
|
INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
|
|
AH = 05h
|
|
Return: AL = current SCSI device number
|
|
SeeAlso: AH=03h"TARGA",AH=04h
|
|
--------d-7806-------------------------------
|
|
INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
|
|
AH = 06h
|
|
AL = new state
|
|
00h clear early return mode
|
|
01h set early return mode
|
|
Note: if early return mode is set then SCSI will return with no errors
|
|
when the last DMA transfer is started in a call with AH=13h or AH=14h
|
|
if this routine is not called, early return mode is cleared
|
|
SeeAlso: AH=13h,AH=14h,AH=15h
|
|
--------d-7808-------------------------------
|
|
INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
|
|
AH = 08h
|
|
Return: CF set on error
|
|
AL = error code (see #03786)
|
|
Note: the SCSI bus is also reset
|
|
SeeAlso: AH=09h
|
|
--------d-7809-------------------------------
|
|
INT 78 - TARGA.DEV - RESET SCSI BUS
|
|
AH = 09h
|
|
Return: AL = error code if carry set (see #03786)
|
|
SeeAlso: AH=08h
|
|
--------d-7810-------------------------------
|
|
INT 78 - TARGA.DEV - SEND SCSI COMMAND
|
|
AH = 10h
|
|
DS:SI -> command bytes (see #03804)
|
|
Return: AH = SCSI status byte
|
|
CF clear if successful
|
|
AL = SCSI message byte
|
|
CF set on error
|
|
AL = error code (see #03786)
|
|
SeeAlso: AH=11h,INT 21/AX=4403h"ST-01"
|
|
|
|
Format of SCSI Command:
|
|
Offset Size Description (Table 03804)
|
|
00h BYTE length of command
|
|
01h ??? command bytes
|
|
--------d-7811-------------------------------
|
|
INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
|
|
AH = 11h
|
|
DS:SI -> command bytes (see #03805)
|
|
ES:BX -> data storage area
|
|
CX = number of data bytes to transfer
|
|
Return: AH = SCSI status byte
|
|
CF clear if successful
|
|
AL = SCSI message byte
|
|
CF set on error
|
|
AL = error code (see #03786)
|
|
Note: this command receives data internally one byte at a time
|
|
SeeAlso: AH=10h,AH=13h
|
|
|
|
Format of TARGA.DEV SCSI Command:
|
|
Offset Size Description (Table 03805)
|
|
00h BYTE length of command
|
|
01h ??? command bytes
|
|
--------d-7812-------------------------------
|
|
INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
|
|
AH = 12h
|
|
DS:SI -> command bytes (see #03806)
|
|
ES:BX -> data storage area
|
|
CX = number of data bytes to transfer
|
|
Return: AH = SCSI status byte
|
|
CF clear if successful
|
|
AL = SCSI message byte
|
|
CF set on error
|
|
AL = error code (see #03786)
|
|
Note: this command sends data internally one byte at a time
|
|
SeeAlso: AH=14h
|
|
|
|
Format of TARGA.DEV SCSI Command:
|
|
Offset Size Description (Table 03806)
|
|
00h BYTE length of command
|
|
01h ??? command bytes
|
|
--------d-7813-------------------------------
|
|
INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
|
|
AH = 13h
|
|
DS:SI -> command bytes (see #03807)
|
|
ES:BX -> data storage area
|
|
DX:CX = number of data bytes to transfer
|
|
Return: AH = SCSI status byte (if early return mode is clear)
|
|
CF clear if successful
|
|
AL = SCSI message byte (if early return mode is clear)
|
|
CF set on error
|
|
AL = error code (see #03786)
|
|
Note: this command receives data using DMA
|
|
SeeAlso: AH=11h,AH=12h
|
|
|
|
Format of TARGA.DEV SCSI Command:
|
|
Offset Size Description (Table 03807)
|
|
00h BYTE length of command
|
|
01h ??? command bytes
|
|
--------d-7814-------------------------------
|
|
INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
|
|
AH = 14h
|
|
DS:SI -> command bytes (see #03808)
|
|
ES:BX -> data storage area
|
|
DX:CX = number of data bytes to transfer
|
|
Return: AH = SCSI status byte (if early return mode is clear)
|
|
CF clear if successful
|
|
AL = SCSI message byte (if early return mode is clear)
|
|
CF set on error
|
|
AL = error code (see #03786)
|
|
Note: this command sends data using DMA
|
|
SeeAlso: AH=12h,AH=13h
|
|
|
|
Format of TARGA.DEV SCSI Command:
|
|
Offset Size Description (Table 03808)
|
|
00h BYTE length of command
|
|
01h ??? command bytes
|
|
--------d-7815-------------------------------
|
|
INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
|
|
AH = 15h
|
|
Return: AH = SCSI status byte
|
|
CF clear if successful
|
|
AL = SCSI message byte
|
|
CF set on error
|
|
AL = error code (see #03786)
|
|
Note: if AH=06h was previously called to set the early return mode, this
|
|
function finishes a command AH=13h or AH=14h which returned before
|
|
the last DMA transfer was finished
|
|
SeeAlso: AH=06h,AH=13h,AH=14h
|
|
--------V-79---------------------------------
|
|
INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
|
|
Return: CF set if no keystroke available
|
|
AX = FFFFh
|
|
CF clear if key pressed
|
|
AX = keystroke
|
|
Program: AVATAR.SYS is a CON driver by George Adam Stanislav which interprets
|
|
AVATAR command codes just as ANSI.SYS interprets ANSI commands
|
|
Note: if a keystroke is available, it is removed from the keyboard buffer
|
|
before being returned
|
|
SeeAlso: INT 29,INT 2F/AX=1A00h/BX=4156h
|
|
--------E-79---------------------------------
|
|
INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 09,INT 78"GO32",INT 7A"GO32"
|
|
--------d-79---------------------------------
|
|
INT 79 U - ADP-60 IDE adapter - ???
|
|
SeeAlso: INT 78"ADP-60"
|
|
--------E-79---------------------------------
|
|
INT 79 - DBOS DOS Extender
|
|
details not available
|
|
Desc: this interrupt is used by an MS Windows virtual device driver with
|
|
which the DBOS extender communicates when run inside a Windows
|
|
Enhanced Mode DOS box
|
|
SeeAlso: INT 78"DBOS"
|
|
--------A-790001-----------------------------
|
|
INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
|
|
AX = 0001h
|
|
BX = interface level (0001h)
|
|
Return: AX = status (0000h initialization failed, 0001h init successful)
|
|
BX = digitizer type
|
|
0000h relative pointing device (mouse, etc.)
|
|
0001h digitizing tablet
|
|
CX = digitizer dataflow type
|
|
0000h continuous
|
|
0001h pauses between packets
|
|
SeeAlso: AX=0002h,AX=0003h,INT 7A/AX=0001h"AutoCAD"
|
|
--------A-790002-----------------------------
|
|
INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
|
|
AX = 0002h
|
|
SeeAlso: AX=0001h,AX=0003h
|
|
--------A-790003-----------------------------
|
|
INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
|
|
AX = 0003h
|
|
Return: AX = status
|
|
0000h nothing
|
|
0002h tracking point (no button pressed)
|
|
BX = X coordinate
|
|
CX = Y coordinate
|
|
0003h picked point (button 0,A,B,C,D pressed)
|
|
BX = X coordinate
|
|
CX = Y coordinate
|
|
0004h button pick
|
|
BX = button number
|
|
0005h button and coordinates
|
|
BX = button number
|
|
CX = X coordinate
|
|
DX = Y coordinate
|
|
SeeAlso: AX=0001h,AX=0002h
|
|
--------N-7A---------------------------------
|
|
INT 7A U - Topware Network Operating System - ???
|
|
AL = ???
|
|
???
|
|
Return: ???
|
|
SeeAlso: INT 21/AX=FF00h"Topware",INT 2F/AX=FF00h
|
|
--------N-7A---------------------------------
|
|
INT 7A - X.PC Packet software interface
|
|
ES:BX -> parameter block
|
|
SeeAlso: INT 60/AX=01FFh
|
|
--------E-7A---------------------------------
|
|
INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
|
|
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
|
|
GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 0A"IRQ2",INT 79"GO32",INT 7B"GO32"
|
|
--------P-7A---------------------------------
|
|
INT 7A O - PRINDIR - API (moved to INT 7C, then INT 2F/AX=7F00h)
|
|
SeeAlso: INT 7C"PRINDIR",INT 2F/AX=7F00h"PRINDIR"
|
|
--------N-7A---------------------------------
|
|
INT 7A - Novell NetWare - LOW-LEVEL API - Notes
|
|
Note: this interrupt is used for IPX/SPX access in NetWare versions through
|
|
2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
|
|
entry point even though INT 7A still exists. For both INT 7A and
|
|
the FAR entry point, BX contains the function number; IPX is
|
|
sometimes called internally with BX bit 15 set, which causes the
|
|
handler to bypass some initial checks and an optional call to the
|
|
IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
|
|
(see #02926)
|
|
SeeAlso: INT 2F/AX=7A00h,INT 64"Novell",INT 7A/BX=0000h
|
|
--------N-7A----BX0000-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
|
|
BX = 0000h
|
|
AL = socket longevity
|
|
00h open until close or terminate
|
|
FFh open until close
|
|
DX = socket number (high byte in DL)
|
|
0000h dynamic allocation
|
|
else socket to open (see #03809)
|
|
Return: AL = return code
|
|
00h success
|
|
DX = socket number
|
|
FEh socket table full
|
|
FFh socket already open
|
|
Notes: TSRs which need to use sockets should set AL to FFh, non-resident
|
|
programs should normally use AL=00h
|
|
IPX can be configured to support up to 150 open sockets on a
|
|
workstation, and defaults to 20
|
|
this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: INT 7A/BX=0001h,INT 7A/BX=0004h,INT 7A/BX=0023h
|
|
|
|
(Table 03809)
|
|
Values for IPX socket number:
|
|
0451h File Service (NetWare Core Protocol)
|
|
0452h Service Advertising Protocol (SAP) (see #03817)
|
|
0453h Routing Information Packet (see #03820)
|
|
0455h NetBIOS Packet
|
|
0456h diagnostics
|
|
0457h server serial numbers (labeled "Copy Protection" by Lanalyzer)
|
|
2222h NetWare Core Protocol
|
|
4000h-7FFFh used for dynamic allocation
|
|
4000h \ seem to be used by IPX internally
|
|
4001h /
|
|
4444h Brightwork Development's SiteLock server
|
|
5555h Brightwork Development's SiteLock client (workstation)
|
|
8000h-FFFFh assigned by Novell
|
|
869Ch ID Software's DOOM
|
|
901Fh Lancheck
|
|
9023h Server info (NetWare "Slurpee", NetWare Lite, Personal NetWare)
|
|
9024h Client info (NetWare "Slurpee", NetWare Lite, Personal NetWare)
|
|
9025h Serial socket (NetWare "Slurpee", NetWare Lite, Personal NetWare)
|
|
9026h Extension info (NetWare Lite, Personal NetWare???)
|
|
Notes: SiteLock is an application metering product using IPX to communicate
|
|
between the application and the license server
|
|
IPX socket numbers should be registered with the Novell Development
|
|
Products Division
|
|
SeeAlso: INT 7A/BX=0001h
|
|
--------N-7A----BX0001-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
|
|
BX = 0001h
|
|
DX = socket number (high byte in DL) (see #03809)
|
|
Notes: also cancels events set by any Event Control Blocks for the socket
|
|
the program must close all open sockets before terminating
|
|
this function is supported by Advanced NetWare 1.02+
|
|
When the NetWare-specific release of the DR DOS command processor does
|
|
a NetWare shutdown sequence on exit, it will close all user sockets
|
|
except for socket numbers 4000 and 4001, which seem to be used by IPX
|
|
internally.
|
|
SeeAlso: BX=0000h
|
|
--------N-7A----BX0002-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
|
|
BX = 0002h
|
|
ES:SI -> target internetwork address (see #03824 at INT 7A/BX=000Bh)
|
|
ES:DI -> 6-byte buffer for local target
|
|
Return: AL = return code
|
|
00h success
|
|
CX = expected one-way transfer time (clock ticks) for a 576-byte
|
|
packet
|
|
ES:DI -> local target
|
|
FAh unsuccessful (no path to destination)
|
|
Notes: the internetwork address consists of a 4-byte network address followed
|
|
by a 6-byte node address. The local target is only a 6-byte node
|
|
address. If the target is in the same network, the local target is
|
|
just the node address of target; otherwise, the local target is the
|
|
node address of the bridge that leads to the target.
|
|
this function may be called from inside IPX and AES Event Service
|
|
Routines, but not from other interrupt handlers
|
|
this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0009h
|
|
--------N-7A----BX0003-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - SEND PACKET
|
|
BX = 0003h
|
|
ES:SI -> Event Control Block (see #03810,#03811)
|
|
Notes: returns immediately; IPX attempts to send the packet in the background
|
|
this function is supported by Advanced NetWare 1.02+
|
|
this function is nearly identical to BX=000Fh, except that it always
|
|
copies the source address into the IPX header assumed to be at the
|
|
beginning of the first fragment
|
|
SeeAlso: BX=0004h,BX=000Fh,INT 21/AH=EEh"Novell"
|
|
|
|
Format of IPX Event Control Block:
|
|
Offset Size Description (Table 03810)
|
|
00h DWORD Link
|
|
04h DWORD -> Event Service Routine (00000000h if none) (see #03814)
|
|
08h BYTE in use flag (see #03812)
|
|
09h BYTE completion code (see #03813)
|
|
0Ah WORD (big-endian) socket number (see #03809)
|
|
0Ch 4 BYTEs IPX workspace
|
|
10h 12 BYTEs driver workspace
|
|
1Ch 6 BYTEs immediate local node address
|
|
22h WORD fragment count
|
|
24h var fragment descriptors
|
|
Offset Size Description
|
|
00h DWORD -> fragment data
|
|
04h WORD size of fragment in bytes.
|
|
Notes: ESR is a far procedure that is called when the ECB has been handled.
|
|
On call, the in use flag is zero if the ECB has been handled,
|
|
non-zero otherwise. If the flag is zero, the completion code holds
|
|
the result of the event.
|
|
the first fragment should start with an IPX header (see #03815)
|
|
all fragments are concatenated and sent in one piece
|
|
node address FFh FFh FFh FFh FFh FFh broadcasts to all nodes
|
|
SeeAlso: #03811
|
|
|
|
Format of AES-ECB:
|
|
Offset Size Description (Table 03811)
|
|
00h DWORD Link
|
|
04h DWORD ESR (Event Service Routine) address (see #03814)
|
|
08h BYTE in use flag (see #03812)
|
|
09h 5 BYTEs AES workspace
|
|
SeeAlso: #03810
|
|
|
|
(Table 03812)
|
|
Values for ECB in use flag:
|
|
00h available
|
|
E0h AES temporary
|
|
F6h \ special IPX/SPX processing for v3.02+
|
|
F7h /
|
|
F8h IPX in critical section
|
|
F9h SPX listening
|
|
FAh processing
|
|
FBh holding
|
|
FCh AES waiting
|
|
FDh AES couting down delay time
|
|
FEh awaiting packet reception
|
|
FFh sending packet
|
|
SeeAlso: #03810,#03811,#03813
|
|
|
|
(Table 03813)
|
|
Values for ECB completion code:
|
|
00h success
|
|
ECh remote terminated connection without acknowledging packet
|
|
EDh abnormal connection termination
|
|
EEh invalid connection ID
|
|
EFh SPX connection table full
|
|
F9h event should not be cancelled
|
|
FAh cannot establish connection with specified destination
|
|
FCh cancelled
|
|
FDh malformed packet
|
|
FEh packet undeliverable
|
|
FFh physical error
|
|
SeeAlso: #03810,#03812
|
|
|
|
(Table 03814)
|
|
Values Event Service Routine is called with:
|
|
AL = caller's identity (00h = AES, FFh = IPX)
|
|
ES:SI -> event control block
|
|
interrupts disabled
|
|
Return: all registers preserved
|
|
SeeAlso: #03810,#03815
|
|
|
|
Format of IPX header:
|
|
Offset Size Description (Table 03815)
|
|
00h WORD (big-endian) checksum
|
|
02h WORD (big-endian) length in bytes of total packet
|
|
04h BYTE transport control
|
|
05h BYTE packet type (see #03816)
|
|
06h 10 BYTEs destination internetwork address
|
|
10h WORD (big-endian) destination socket
|
|
12h 10 BYTEs source internetwork address
|
|
1Ch WORD (big-endian) source socket
|
|
Notes: an IPX packet has the identical format as a Xerox Network Standard
|
|
(XNS) packet
|
|
the application must set packet type, destination address, and
|
|
destination socket; IPX/SPX set the remaining fields
|
|
SeeAlso: #03810,#03826
|
|
|
|
(Table 03816)
|
|
Values for IPX packet type:
|
|
00h unknown packet type
|
|
01h routing information packet
|
|
02h echo packet
|
|
03h error packet
|
|
04h packet exchange packet (always use this one for data)
|
|
05h SPX packet (see #03826)
|
|
11h NetWare Core Protocol (also used by Service Advertising Protocol)
|
|
14h Propagated Packet (for NetWare), NetBIOS name packet
|
|
15h-1Eh experimental protocols
|
|
Note: undocumented packet type 14h will cross up to 16 networks deep in
|
|
all directions; as Aaron Martin of Origin Systems discovered, the
|
|
first 64 bytes of the IPX data in such packets should be considered
|
|
reserved, as IPX places the traversed server nodes there.
|
|
|
|
Format of Service Advertising Protocol Service Query Packet:
|
|
Offset Size Description (Table 03817)
|
|
00h 30 BYTEs IPX header
|
|
1Eh WORD (big-endian) query type
|
|
0001h general find service
|
|
0003h find nearest server
|
|
20h WORD (big-endian) server type
|
|
(see #01890 at INT 21/AH=E3h"CONNECTION CONTROL")
|
|
SeeAlso: #03818
|
|
|
|
Format of Service Advertising Protocol Server Identification Packet:
|
|
Offset Size Description (Table 03818)
|
|
00h 30 BYTEs IPX header
|
|
1Eh WORD (big-endian) response type
|
|
0002h general service
|
|
0004h nearest service
|
|
20h 64N BYTEs server entries (1-7) (see #03819)
|
|
SeeAlso: #03817,#03820
|
|
|
|
Format of SAP server entry:
|
|
Offset Size Description (Table 03819)
|
|
00h WORD (big-endian) server type
|
|
(see #01890 at INT 21/AH=E3h"CONNECTION CONTROL")
|
|
02h 48 BYTEs ASCIZ server name
|
|
32h 2 WORDs (big-endian) network number
|
|
34h 3 WORDs (big-endian) node number
|
|
3Ch WORD (big-endian) socket number
|
|
3Eh WORD (big-endian) number of hops between caller and server
|
|
10h = Server Shutdown Advertising Packet
|
|
SeeAlso: #03818
|
|
|
|
Format of IPX Routing Information packet:
|
|
Offset Size Description (Table 03820)
|
|
00h 30 BYTEs IPX header
|
|
1Eh WORD operation (0001h request, 0002h response)
|
|
20h 8N BYTEs network entries (1-50) (see #03821)
|
|
SeeAlso: #03818
|
|
|
|
Format of RIP network entry:
|
|
Offset Size Description (Table 03821)
|
|
00h DWORD network number (FFFFFFFFh = general request)
|
|
04h WORD (response) number of hops
|
|
06h WORD (response) number of clock ticks to reach destination
|
|
--------N-7A----BX0004-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
|
|
BX = 0004h
|
|
ES:SI -> Event Control Block (see BX=0003h)
|
|
Return: AL = status
|
|
00h successful
|
|
FFh no listening socket for packet
|
|
Desc: this function provides IPX with an ECB for receiving an IPX packet, but
|
|
does not wait for a packet to arrive
|
|
Notes: the application must open a socket and initialize the ECB's ESR
|
|
address, socket number, fragment count, and fragment descriptor
|
|
fields before invoking this function
|
|
there is no limit on the number of ECBs which may simultaneously be
|
|
listening on a socket
|
|
this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0000h,BX=0003h
|
|
--------N-7A----BX0005-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
|
|
BX = 0005h
|
|
AX = delay time in clock ticks
|
|
ES:SI -> Event Control Block (see BX=0003h)
|
|
Note: this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0006h,BX=0007h,BX=0008h
|
|
--------N-7A----BX0006-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
|
|
BX = 0006h
|
|
ES:SI -> Event Control Block (see BX=0003h)
|
|
Return: AL = return code (see #03822)
|
|
Notes: cannot cancel packets which the node's driver has already sent
|
|
this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0005h
|
|
|
|
(Table 03822)
|
|
Values for IPX return code:
|
|
00h success
|
|
F9h event in use
|
|
FCh event cancelled
|
|
FFh unsuccessful, event not in use, or unrecognized ECB flag
|
|
--------N-7A----BX0007-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
|
|
BX = 0007h
|
|
AX = delay time
|
|
ES:SI -> Event Control Block (see BX=0003h)
|
|
Note: this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0006h
|
|
--------N-7A----BX0008-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
|
|
BX = 0008h
|
|
Return: AX = interval marker in clock ticks (big-endian???)
|
|
Notes: may be used to measure the time elapsed between two events, up to one
|
|
hour
|
|
this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0005h
|
|
--------N-7A----BX0009-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
|
|
BX = 0009h
|
|
ES:SI -> buffer for own internetwork address (see #03823)
|
|
Return: ES:SI buffer filled
|
|
SI destroyed
|
|
Note: this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0002h,BX=000Bh
|
|
|
|
Format of IPX internetwork address:
|
|
Offset Size Description (Table 03823)
|
|
00h 4 BYTEs (big-endian) network number
|
|
04h 6 BYTEs (big-endian) node number within network
|
|
--------N-7A----BX000A-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
|
|
BX = 000Ah
|
|
Desc: this call indicates that the application is idle and permits the IPX
|
|
driver to do some work
|
|
Note: this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: INT 15/AX=1000h,INT 21/AH=89h,INT 2F/AX=1680h
|
|
--------N-7A----BX000B-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
|
|
BX = 000Bh
|
|
ES:SI -> internetwork address (see #03824)
|
|
Return: nothing
|
|
Notes: this function permits the network software on the remote machine to
|
|
remove any virtual connection with the calling machine
|
|
only use in point-to-point networks
|
|
should never be called from within an Event Service Routine
|
|
this function is supported by Advanced NetWare 1.02+
|
|
SeeAlso: BX=0002h,BX=0009h
|
|
|
|
Format of IPX internetwork address:
|
|
Offset Size Description (Table 03824)
|
|
00h 4 BYTEs (big-endian) destination network
|
|
04h 6 BYTEs (big-endian) destination node
|
|
0Ah 2 BYTEs (big-endian) destination socket
|
|
--------N-7A----BX000C-----------------------
|
|
INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
|
|
BX = 000Ch
|
|
CX:DX = global network address (see INT 7A/BX=0002h)
|
|
ES:DI -> "OSINCRITICALSECTION" flag
|
|
DS:SI -> current mode for socket
|
|
Note: the address cannot be changed once it has been initialized
|
|
SeeAlso: INT 7A/BX=0024h
|
|
--------N-7A----BX000D-----------------------
|
|
INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
|
|
BX = 000Dh
|
|
Return: AX = maximum packet size
|
|
CX = retry count
|
|
SeeAlso: BX=001Ah
|
|
--------N-7A----BX000E-----------------------
|
|
INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
|
|
BX = 000Eh
|
|
Return: nothing
|
|
Notes: this function terminates all sockets opened with the current mode; this
|
|
may be intended for future enhancements as the socket mode never
|
|
changes in v2.15
|
|
called by the NetWare shell if a program terminates
|
|
--------N-7A----BX000F-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
|
|
BX = 000Fh
|
|
ES:SI -> Event Control Block (see #03810 at BX=0003h)
|
|
IPX header's checksum field must be set to FFFFh (see #03815)
|
|
IPX header's total-length field must be set
|
|
Note: nearly identical to function 0003h, but does not copy address into
|
|
the first fragment, and bypasses normal error checking
|
|
SeeAlso: BX=0003h
|
|
--------N-7A----BX0010-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
|
|
BX = 0010h
|
|
AL = 00h
|
|
Return: AL = status
|
|
00h if SPX not installed
|
|
F0h if IPX not installed
|
|
FFh if SPX loaded
|
|
BH = SPX major version
|
|
BL = SPX minor version
|
|
CX = maximum SPX connections
|
|
DX = SPX connections available
|
|
Notes: this function is supported by Advanced NetWare 2.1+
|
|
this interrupt is used for IPX/SPX access in NetWare versions through
|
|
2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
|
|
entry point even though INT 7A still exists. For both INT 7A and
|
|
the FAR entry point, BX contains the function number
|
|
IPX is sometimes called internally with BX bit 15 set, which causes the
|
|
entry point handler to bypass some checks and an optional call to
|
|
the IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
|
|
(see #02926)
|
|
SeeAlso: BX=0015h
|
|
--------N-7A----BX0011-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
|
|
BX = 0011h
|
|
AL = retry count
|
|
AH = watchdog flag
|
|
ES:SI -> Event Control Block (see #03810 at BX=0003h)
|
|
Return: AL = status (00h,EFh,FDh,FFh) (see #03825)
|
|
DX = assigned connection ID number
|
|
Desc: attempt to establish a connection with a listening socket
|
|
Notes: there should always be at least two SPX ECB's listening to a socket, so
|
|
that NetWare can perform its internal packet exchanges
|
|
the first fragment should start with a SPX header (see #03826). Fill
|
|
in all destination addresses.
|
|
this function is supported by Advanced NetWare 2.1+
|
|
SeeAlso: BX=0000h,BX=0012h,BX=0013h,BX=0014h,BX=0015h
|
|
|
|
(Table 03825)
|
|
Values for SPX function status:
|
|
00h attempting to contact destination socket
|
|
EEh no such connection
|
|
EFh local connection table full
|
|
FDh buffer size not 42 or fragment count not 1
|
|
FFh sending socket not open
|
|
|
|
Format of SPX header:
|
|
Offset Size Description (Table 03826)
|
|
00h WORD (big-endian) checksum
|
|
02h WORD (big-endian) length in bytes of total packet
|
|
04h BYTE transport control
|
|
05h BYTE packet type (see #03816 at INT 7A/BX=0003h)
|
|
06h 10 BYTEs destination internet address
|
|
10h WORD (big-endian) destination socket
|
|
12h 10 BYTEs source internet address
|
|
1Ch WORD (big-endian) source socket
|
|
1Eh BYTE connection control (see #03827)
|
|
1Fh BYTE datastream type
|
|
FEh terminate connection request packet
|
|
FFh terminate connection acknowledgement packet
|
|
other user-defined, ignored by SPX
|
|
20h WORD (big-endian) source connection ID
|
|
22h WORD (big-endian) destination connection ID
|
|
24h WORD (big-endian) sequence number
|
|
26h WORD (big-endian) acknowledge number
|
|
28h WORD (big-endian) allocation number
|
|
SeeAlso: #03815
|
|
|
|
Bitfields for SPX connection control:
|
|
Bit(s) Description (Table 03827)
|
|
3-0 unused???
|
|
4 end of message
|
|
5 reserved
|
|
6 acknowledgement required
|
|
7 system packet
|
|
--------N-7A----BX0012-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
|
|
BX = 0012h
|
|
AH = watchdog flag (00h disabled, 01h enabled)
|
|
AL = retry count (00h = default)
|
|
ES:SI -> Event Control Block (see #03810 at BX=0003h)
|
|
Return: nothing
|
|
Notes: there should always be at least two SPX ECB's listening to a socket, so
|
|
that NetWare can perform its internal packet exchanges
|
|
this function is supported by Advanced NetWare 2.1+
|
|
SeeAlso: BX=0011h,BX=0013h,BX=0014h
|
|
--------N-7A----BX0013-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
|
|
BX = 0013h
|
|
DX = connection ID to terminate
|
|
ES:SI -> Event Control Block (see #03810 at BX=0003h)
|
|
Note: this function is supported by Advanced NetWare 2.1+
|
|
SeeAlso: BX=0011h,BX=0012h,BX=0014h
|
|
--------N-7A----BX0014-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
|
|
BX = 0014h
|
|
DX = connection ID to terminate
|
|
Return: nothing
|
|
Notes: this function is supported by Advanced NetWare 2.1+
|
|
this function does not tell the other side that the connection has been
|
|
terminated
|
|
also aborts any outstanding Establish Connection, Terminate Connection,
|
|
and Send Sequenced Packet commands
|
|
SeeAlso: BX=0011h,BX=0013h
|
|
--------N-7A----BX0015-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
|
|
BX = 0015h
|
|
DX = connection ID
|
|
ES:SI -> status buffer (see #03828)
|
|
Return: AL = return code (00h,EEh) (see also #03825)
|
|
00h connection still valid
|
|
ES:SI -> status buffer filled
|
|
Note: this function is supported by Advanced NetWare 2.1+
|
|
SeeAlso: BX=0010h,BX=0011h
|
|
|
|
Format of SPX status buffer:
|
|
Offset Size Description (Table 03828)
|
|
00h BYTE connection state
|
|
01h waiting to establish connection
|
|
02h starting (attempting to create connection)
|
|
03h connection established
|
|
04h terminating
|
|
01h BYTE watchdog flag
|
|
bit 0: used internally by SPX
|
|
bit 1: SPX watchdog is monitoring connection
|
|
bits 2-7 used internally by SPX
|
|
02h WORD (big-endian) source connection ID
|
|
04h WORD (big-endian) destination connection ID
|
|
06h WORD (big-endian) sequence number of next packet sent
|
|
08h WORD (big-endian) acknowledge number, expected sequence number of
|
|
next received packet
|
|
0Ah WORD (big-endian) maximum sequence number remote SPX may send
|
|
without ACK from local SPX
|
|
0Ch WORD (big-endian) remote acknowledge number, next sequence number
|
|
remote SPX expects to receive
|
|
0Eh WORD (big-endian) remote allocation number, maximum sequence number
|
|
local SPX may send
|
|
10h WORD (big-endian) connection socket
|
|
12h 6 BYTEs immediate node address--bridge on local network to destination
|
|
18h 10 BYTEs destination internetwork address (see #03824 at INT 7A/BX=000Bh)
|
|
22h WORD (big-endian) retransmit count
|
|
24h WORD (big-endian) estimated roundtrip delay
|
|
26h WORD (big-endian) retransmitted packets
|
|
28h WORD (big-endian) suppressed packets
|
|
2Ah 12 BYTEs ??? (v2.15)
|
|
--------N-7A----BX0016-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
|
|
BX = 0016h
|
|
DX = connection ID
|
|
ES:SI -> Event Control Block (see BX=0003h)
|
|
Notes: this function is supported by Advanced NetWare 2.1+
|
|
CX may need to be 0001h ???
|
|
SeeAlso: BX=0011h,BX=0017h
|
|
--------N-7A----BX0017-----------------------
|
|
INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
|
|
BX = 0017h
|
|
DX = connection ID (unused in v2.15)
|
|
ES:SI -> Event Control Block (see BX=0003h)
|
|
Notes: this function is supported by Advanced NetWare 2.1+
|
|
CX may need to be 0001h ???
|
|
SeeAlso: BX=0011h,BX=0016h
|
|
--------N-7A----BX0018-----------------------
|
|
INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
|
|
BX = 0018h
|
|
ES:SI -> diagnostic element (see #03829) to be added to Diagnostic Queue
|
|
Note: this function is supported on file servers only under v2.15; v3.02 also
|
|
supports it on workstations
|
|
SeeAlso: BX=0019h
|
|
|
|
Format of IPX diagnostic element:
|
|
Offset Size Description (Table 03829)
|
|
00h DWORD pointer to next diagnostic element
|
|
04h DWORD pointer to function for ???
|
|
08h DWORD pointer to function for ???
|
|
--------N-7A----BX0019-----------------------
|
|
INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
|
|
BX = 0019h
|
|
ES:SI -> diagnostic element (see BX=0018h) to be removed
|
|
Note: this function is supported on file servers only under v2.15; v3.02 also
|
|
supports it on workstations
|
|
SeeAlso: BX=0018h
|
|
--------N-7A----BX001A-----------------------
|
|
INT 7A - Novell NetWare - IPX Driver - GET DRIVER MAXIMUM PACKET SIZE
|
|
BX = 001Ah
|
|
Return: AX = maximum packet size with preamble (at least 576 bytes)
|
|
CX = IPX retry count
|
|
DS,FLAGS preserved
|
|
SeeAlso: BX=000Dh
|
|
--------N-7A----BX001B-----------------------
|
|
INT 7A U - Novell NetWare - IPX Driver - INTERNAL
|
|
BX = 001Bh
|
|
???
|
|
Return: ???
|
|
Notes: this function is supported on file servers only under v2.15; v3.02 also
|
|
supports it on workstations
|
|
used by NetWare Access Server, which may call INT 15/AX=1117h with
|
|
BX=0000h in some cases (it uses a modified DESQview)
|
|
--------N-7A----BX001C-----------------------
|
|
INT 7A U - Novell NetWare - NetWare Access Server - GET ???
|
|
BX = 001Ch
|
|
Return: AX = length of ???
|
|
ES:BX -> ???
|
|
Notes: these functions are NOPs for standard IPX drivers such as IPXODI v2.12
|
|
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Dh,INT 7A/BX=001Eh
|
|
--------N-7A----BX001D-----------------------
|
|
INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB AND SOCKET
|
|
BX = 001Dh
|
|
Return: DX = socket number chosen by IPX
|
|
ES:SI -> ECB in IPX's code segment (will be listening)
|
|
BX corrupted
|
|
Notes: these functions are NOPs for standard IPX drivers such as IPXODI v2.12
|
|
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Eh
|
|
--------N-7A----BX001E-----------------------
|
|
INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB
|
|
BX = 001Eh
|
|
Return: ES:SI -> ECB
|
|
BX corrupted
|
|
Notes: these functions are NOPs for standard IPX drivers such as IPXODI v2.12
|
|
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Dh
|
|
--------N-7A----BX001F-----------------------
|
|
INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX INFORMATION
|
|
BX = 001Fh
|
|
DX = 0000h
|
|
Return: AX = ???
|
|
BX:CX -> ??? entry point (see #03830) (undocumented)
|
|
DX = feature flags
|
|
bit 0: IPXODI rather than dedicated IPX
|
|
bit 1: checksumming functions 0020h-0022h supported
|
|
ES:SI -> array of words containing used socket number (undocumented);
|
|
0000h ends array
|
|
all other registers except DS and FLAGS may be destroyed
|
|
Note: IPXODI v2.12 is distributed as part of the Personal NetWare system
|
|
bundled with Novell DOS 7
|
|
SeeAlso: BX=0020h,INT 2F/AX=7A2Fh
|
|
|
|
(Table 03830)
|
|
Call IPXODI entry point with:
|
|
ES:SI -> ECB??? (offset 24h is far pointer to ??? data)
|
|
--------N-7A----BX0020-----------------------
|
|
INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
|
|
BX = 0020h
|
|
ES:SI -> ECB (see #03810 at INT 7A/BX=0003h)
|
|
Return: DS,FLAGS preserved
|
|
BX,BP corrupted (documented as potentially destroying all other regs)
|
|
Desc: generate a checksum for the packet data and store it in the IPX
|
|
checksum field before transmitting the packet
|
|
SeeAlso: BX=001Fh,BX=0021h,BX=0022h,INT 2F/AX=7A2Fh
|
|
--------N-7A----BX0021-----------------------
|
|
INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
|
|
BX = 0021h
|
|
ES:SI -> ECB data (see #03810 at INT 7A/BX=0003h)
|
|
Return: ES,DS,SI preserved
|
|
BX,BP corrupted, all other registers potentially destroyed
|
|
Notes: the checksum and TransportControl fields of the IPX packet are updated
|
|
this function enables interrupts and is fully reentrant
|
|
SeeAlso: BX=001Fh,BX=0020h,BX=0022h,INT 2F/AX=7A2Fh
|
|
--------N-7A----BX0022-----------------------
|
|
INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
|
|
BX = 0022h
|
|
ES:SI -> ECB data (see #03810 at INT 7A/BX=0003h)
|
|
Return: AX = status (0000h checksum matches)
|
|
DS,ES,SI preserved
|
|
BX,BP corrupted, all other registers potentially destroyed
|
|
Note: this function enables interrupts and is fully reentrant
|
|
SeeAlso: BX=001Fh,BX=0020h,BX=0021h,INT 2F/AX=7A2Fh
|
|
--------N-7A----BX0023-----------------------
|
|
INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
|
|
BX = 0023h
|
|
DX = socket number (0000h for dynamic allocation)
|
|
ES:SI -> Look Ahead handler (see #03831)
|
|
BP = desired lookahead size (0000h-0080h)
|
|
Return: AL = status
|
|
00h successful
|
|
DX = assigned socket number (big-endian)
|
|
FEh maximum number of sockets already open
|
|
FFh specific socket already opened by another application
|
|
DS,FLAGS preserved
|
|
all other registers may be destroyed
|
|
Notes: the socket will always be long-lived, and must thus be explicitly
|
|
closed with INT 7A/BX=0001h before the Look Ahead handler code is
|
|
removed from memory (i.e. the program terminates)
|
|
this function is only supported if INT 2F/AX=7A00h returns ES:BX
|
|
pointing at an IPX version greater than 3.30
|
|
the desired lookahead size is the smallest-size packet (including IPX
|
|
header) that should be passed to the lookahead handler when it
|
|
arrives
|
|
SeeAlso: INT 7A/BX=0000h,INT 7A/BX=0001h
|
|
|
|
(Table 03831)
|
|
Call IPX Look-Ahead handler with:
|
|
AX = packet's destination socket
|
|
DS:SI -> look-ahead structure (see #03010 at INT 2F/AX=C000h"LSL")
|
|
DF clear
|
|
interrupt disabled (must remain disabled)
|
|
Return: AX = packet use
|
|
0000h application want packet
|
|
ES:SI -> ODI ECB (see #03011 at INT 2F/AX=C000h"LSL")
|
|
8001h application does not want packet
|
|
ZF set if AX=0000h
|
|
DS,DI,BP,SS,SP preserved
|
|
interrupts disabled
|
|
--------N-7A----BX0024-----------------------
|
|
INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
|
|
BX = 0024h
|
|
ES:SI -> buffer containing internetwork address (see #03824)
|
|
Return: BX,CX,SI,DI,ES destroyed
|
|
Note: this function differs from INT 7A/BX=000Ch in that it unconditionally
|
|
sets the address
|
|
SeeAlso: INT 7A/BX=000Ch
|
|
--------A-7A0001-----------------------------
|
|
INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
|
|
AX = 0001h
|
|
BX = configuration
|
|
CX = interface level (0001h)
|
|
Return: AX = status
|
|
0000h initialization failed
|
|
0001h pre-v4.0 driver initialized successfully
|
|
0003h post-v3.1 driver initialized successfully (driver truncates
|
|
excessivly long packets)
|
|
BX = width of graphics area in pixels, or 0000h if using packet
|
|
communication
|
|
DX:CX -> packet-mode entry point (see #03832)
|
|
SeeAlso: AX=0001h,AX=0200h,AX=07D0h,INT 61/AX=0007h"OPTIMA",INT 78"AutoCAD"
|
|
SeeAlso: INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD",INT 7C"AutoShade"
|
|
|
|
(Table 03832)
|
|
Call packet-mode entry point with:
|
|
STACK: DWORD pointer to request packet (see #03833)
|
|
WORD length of packet
|
|
|
|
Format of request packet:
|
|
Offset Size Description (Table 03833)
|
|
00h WORD function number (00h-45h for Compaq VGADI41.EXE)
|
|
--------A-7A0200BX0000-----------------------
|
|
INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
|
|
AX = 0200h
|
|
BX = 0000h
|
|
CX = interface level (0001h)
|
|
Return: BX = 0000h (driver uses packet communication)
|
|
DX:CX -> packet-mode entry point (see #03832)
|
|
SeeAlso: AX=0001h"AutoCAD",INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD"
|
|
--------I-7A04-------------------------------
|
|
INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
|
|
AH = 04h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=06h
|
|
--------I-7A06-------------------------------
|
|
INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
|
|
AH = 06h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AH=04h
|
|
----------7A07D0-----------------------------
|
|
INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
|
|
AX = 07D0h
|
|
Return: AX = ??? (0003h)
|
|
BX = 0000h
|
|
DX:CX -> ADI entry point (see AX=0001h)
|
|
SeeAlso: AX=0001h
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
|
|
AH = 09h
|
|
BX = 8020h (synchronous request)
|
|
CX = 0000h
|
|
DX = ID of session manager (SESSMGR)
|
|
AL = service (see #03834)
|
|
ES:DI -> control block
|
|
Return: ???
|
|
|
|
(Table 03834)
|
|
Values for service:
|
|
01h get session ID
|
|
02h get session info
|
|
04h dettach from session
|
|
05h attach to session
|
|
06h get list of windows available
|
|
07h get environment of window
|
|
08h get 'PIF' (program information file) info
|
|
0Ah get base window ID
|
|
0Bh get cursor info
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
|
|
AH = 09h
|
|
BX = 8020h (synchronous request)
|
|
CX = 0000h
|
|
DX = ID of keyboard manager
|
|
AL = service number (see #03835)
|
|
ES:DI -> control block
|
|
Return: ???
|
|
|
|
(Table 03835)
|
|
Values for 3270 Workstation Program keyboard service:
|
|
01h connect to keyboard
|
|
02h disconnect from keyboard
|
|
03h read from keyboard
|
|
04h send keystroke to session
|
|
05h disable input
|
|
06h enable input
|
|
07h update status code
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
|
|
AH = 09h
|
|
BX = 8020h (synchronous request)
|
|
CX = 00FFh
|
|
DX = ID of window service controller (WSCTRL)
|
|
AL = service number (see #03836)
|
|
ES:DI -> control block
|
|
Return: ???
|
|
|
|
(Table 03836)
|
|
Values for 3270 Workstation Program window service:
|
|
01h connect to WS control
|
|
02h disconnect from WS control
|
|
03h add a window
|
|
04h change window's position on screen
|
|
05h change window's size
|
|
06h change window's color
|
|
07h change window's position in the presentation space
|
|
08h hide/unhide toggle
|
|
09h enlarge/reduce toggle
|
|
0Ah change screen background color
|
|
0Bh get window's position on screen
|
|
0Ch get window's size
|
|
0Dh get window's color
|
|
0Eh get window's position in the presentation space
|
|
0Fh determine whether hidden
|
|
10h determine whether enlarged
|
|
11h get background color
|
|
12h get window names
|
|
13h delete all windows from profile
|
|
14h pick active window
|
|
15h redraw screen
|
|
16h redraw window
|
|
17h delete a window from profile
|
|
18h get active window
|
|
19h get active screen
|
|
1Ah get window data
|
|
1Bh change window data
|
|
1Ch select active screen
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
|
|
AH = 09h
|
|
BX = 8020h
|
|
CX = 00FFh
|
|
DX = ID of PCPSM
|
|
AL = service
|
|
01h define presentation space
|
|
02h delete presentation space
|
|
03h display presentation space
|
|
04h position cursor in presentation space
|
|
05h change default presentation space
|
|
ES:DI -> control block
|
|
Return: ???
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
|
|
AH = 09h
|
|
BX = 8020h
|
|
CX = 00FFh
|
|
DX = ID of 3270EML
|
|
AL = service
|
|
01h connect
|
|
02h disconnect
|
|
ES:DI -> control block
|
|
Return: ???
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
|
|
AH = 09h
|
|
BX = 8020h
|
|
CX = 00FFh
|
|
DX = ID of OIAM
|
|
AL = service
|
|
01h read Operator Information Area
|
|
02h read OIA subset
|
|
ES:DI -> control block
|
|
Return: ???
|
|
Note: the OIA is the 25th line on the Host session
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
|
|
AH = 09h
|
|
BX = 8020h
|
|
CX = 00FFh
|
|
DX = ID of XLATE
|
|
AL = service
|
|
01h translate from host characters to ASCII and vice versa
|
|
(determined by control block byte 11)
|
|
ES:DI -> control block
|
|
Return: ???
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
|
|
AH = 09h
|
|
BX = 8020h
|
|
CX = 00FFh
|
|
DX = ID of copy service
|
|
AL = service
|
|
01h copy string from one presentation space to another
|
|
02h copy block from one presentation space to another
|
|
03h connect to PC session for copy
|
|
04h disconnect PC session from copy
|
|
ES:DI -> control block
|
|
Return: ???
|
|
--------I-7A09--BX8020-----------------------
|
|
INT 7A - IBM 3270 Workstation Program API - Multi-DOS
|
|
AH = 09h
|
|
BX = 8020h
|
|
CX = 00FFh
|
|
ES:DI -> control block
|
|
DX = ID of INDJQRY
|
|
get environment size
|
|
= ID of INDJASY
|
|
request DOS functions from workstation
|
|
= ID of MEMORY
|
|
AL = function
|
|
01h allocate memory
|
|
02h deallocate memory
|
|
03h modify allocated size
|
|
Return: ???
|
|
--------I-7A09-------------------------------
|
|
INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
|
|
AH = 09h
|
|
BX = request type (4000h async, 8028h synchronous)
|
|
CX = 0000h
|
|
DX = ID of MFIC
|
|
AL = service (see #03837)
|
|
ES:DI -> control block
|
|
|
|
(Table 03837)
|
|
Values for 3270 Workstation Program host service:
|
|
01h connect to host
|
|
02h disconnect from host
|
|
03h read DFT structured data from host
|
|
04h write DFT structured data to host
|
|
05h create a host buffer
|
|
--------I-7A13-------------------------------
|
|
INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
|
|
AH = 13h
|
|
???
|
|
Return: ???
|
|
----------7A7A-------------------------------
|
|
INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
|
|
AH = 7Ah
|
|
???
|
|
Return: AX = status
|
|
0000h success
|
|
000Eh undefined function code
|
|
Range: unknown, selected by device driver commandline arguments
|
|
--------I-7A81-------------------------------
|
|
INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
|
|
AH = 81h
|
|
ES:DI -> 8-char blank-padded gate name (see #03838)
|
|
Return: DX = gate ID
|
|
|
|
(Table 03838)
|
|
Values for 3270 Workstation Program gate name:
|
|
"SESSMGR "
|
|
"KEYBOARD"
|
|
"WSCTRL "
|
|
"MFIC "
|
|
"PCPSM "
|
|
"3270EML "
|
|
"COPY "
|
|
"XLATE "
|
|
"OIAM "
|
|
"MEMORY "
|
|
"INDJQRY "
|
|
"INDJASY "
|
|
--------I-7A83-------------------------------
|
|
INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
|
|
AH = 83h
|
|
???
|
|
Return: ???
|
|
--------I-7AFDCB-----------------------------
|
|
INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
|
|
AX = FDCBh
|
|
Return: DX:AX -> PCS/3270 signature block if loaded (see #03839)
|
|
|
|
Format of Personal Communications/3270 signature block:
|
|
Offset Size Description (Table 03839)
|
|
04h WORD PCS/3270 signature (5741h)
|
|
06h WORD version (0501h = PCS/3270 v1.0)
|
|
--------I-7AFE01-----------------------------
|
|
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
|
|
AX = FE01h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AX=FE02h
|
|
--------I-7AFE02-----------------------------
|
|
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
|
|
AX = FE02h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AX=FE01h
|
|
--------I-7AFF01-----------------------------
|
|
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
|
|
AX = FF01h
|
|
ES:DI -> API function handler routine
|
|
Return: CX = 1200h
|
|
SeeAlso: AX=FF02h,AX=FF03h
|
|
--------I-7AFF02-----------------------------
|
|
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
|
|
AX = FF02h
|
|
Return: CX = 1200h
|
|
SeeAlso: AX=FF01h
|
|
--------I-7AFF03-----------------------------
|
|
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
|
|
AX = FF03h
|
|
ES:DI -> send/receive function handler routine
|
|
Return: CX = 1200h
|
|
SeeAlso: AX=FF01h
|
|
--------I-7AFF04-----------------------------
|
|
INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
|
|
AX = FF04h
|
|
ES:DI -> ???
|
|
Return: CX = 1200h
|
|
--------f-7B---------------------------------
|
|
INT 7B - Btrieve API (single user)
|
|
DS:DX -> 38-byte parameter record (see #03840)
|
|
Return: return code field set
|
|
Note: Btrieve sets low byte of vector to 33h; this serves as the installation
|
|
check
|
|
SeeAlso: INT 2F/AX=AB01h,INT 7F/AX=0200h
|
|
|
|
Format of Btrieve parameter record:
|
|
Offset Size Description (Table 03840)
|
|
00h DWORD pointer to data buffer
|
|
04h WORD data buffer length
|
|
06h DWORD pointer to 90-byte record containing positioning info
|
|
(should be same for all calls for same file)
|
|
0Ah DWORD pointer to 38-byte FCB info buffer
|
|
(should be same for all calls for same file)
|
|
0Eh WORD function code (see #03841)
|
|
10h DWORD pointer to file name/key buffer
|
|
14h BYTE key length
|
|
15h BYTE key number
|
|
16h DWORD pointer to status code (see #03842)
|
|
1Ah WORD interface code (version specific)
|
|
6176h version 5.10
|
|
|
|
(Table 03841)
|
|
Values for function code:
|
|
00h open
|
|
01h close
|
|
02h insert
|
|
03h update
|
|
04h delete
|
|
05h get_equal
|
|
06h get_next
|
|
07h get_prev
|
|
08h get_greater
|
|
09h get_gr_eql
|
|
0Ah get_less
|
|
0Bh get_less_eq
|
|
0Ch get_first
|
|
0Dh get_last
|
|
0Eh create
|
|
0Fh stat
|
|
10h extend
|
|
11h set_dir: set directory information
|
|
12h get_dir: get directory information
|
|
13h begin_trans
|
|
14h end_trans
|
|
15h abort_trans
|
|
16h get_pos: get record position number
|
|
17h get_direct: get data by sending record position
|
|
18h step_next
|
|
19h stop
|
|
1Ah version
|
|
1Bh unlock
|
|
1Ch reset
|
|
1Dh set owner
|
|
1Eh clear owner
|
|
1Fh create supplemental index
|
|
20h drop supplemental index
|
|
21h step first
|
|
22h step last
|
|
23h step previous
|
|
24h get next extended: get multiple records using a filter
|
|
25h get previous extended: get multiple records using a filter
|
|
26h step next extended: get multiple records using a filter
|
|
27h step previous extended: get multiple records using a filter
|
|
28h insert extended: insert one or more records
|
|
31h ???
|
|
Notes: add 50 (32h) to any "get" operation to just return the key data
|
|
add 100 (64h) for a single-record wait lock (automatically released
|
|
on next get)
|
|
add 200 (C8h) for a single-record nowait lock (nowait lock returns
|
|
error 54h or 55h if record already locked)
|
|
add 300 (12Ch) for a multiple-record wait lock (not released until
|
|
unlock called)
|
|
add 400 (190h) for a multiple-record nowait lock (nowait lock returns
|
|
error 54h or 55h if record already locked)
|
|
|
|
(Table 03842)
|
|
Values for Btrieve status code:
|
|
00h successful
|
|
01h invalid operation
|
|
02h I/O error
|
|
03h file not open
|
|
04h key value not found
|
|
05h duplicate key value
|
|
06h invalid key number
|
|
07h different key number
|
|
08h invalid positioning
|
|
09h end of file
|
|
0Ah modifiable key value error
|
|
0Bh invalid file name
|
|
0Ch file not found
|
|
0Dh extended file error
|
|
0Eh pre-image open error
|
|
0Fh pre-image I/O error
|
|
10h expansion error
|
|
11h close error
|
|
12h disk full
|
|
13h unrecoverable error
|
|
14h record manager inactive
|
|
15h key buffer too short
|
|
16h data buffer length overrun
|
|
17h position block length
|
|
18h page size error
|
|
19h create I/O error
|
|
1Ah number of keys
|
|
1Bh invalid key position
|
|
1Ch invalid record length
|
|
1Dh invalid key length
|
|
1Eh not a Btrieve file
|
|
1Fh file already extended
|
|
20h extended I/O error
|
|
22h invalid extension name
|
|
23h directory error
|
|
24h transaction error
|
|
25h transaction is active
|
|
26h transaction control file I/O error
|
|
27h end/abort transaction error
|
|
28h transaction max files
|
|
29h operation not allowed
|
|
2Ah incomplete accelerated access
|
|
2Bh invalid record address
|
|
2Ch null key path
|
|
2Dh inconsistent key flags
|
|
2Eh access to file denied
|
|
2Fh maximum open files
|
|
30h invalid alternate sequence definition
|
|
31h key type error
|
|
32h owner already set
|
|
33h invalid owner
|
|
34h error writing cache
|
|
35h invalid interface
|
|
36h variable page error
|
|
37h autoincrement error
|
|
38h incomplete index
|
|
39h expanded memory error
|
|
3Ah compression buffer too short
|
|
3Bh file already exists
|
|
3Ch reject count reached
|
|
3Dh work space too small
|
|
3Eh incorrect descriptor
|
|
3Fh invalid extended insert
|
|
40h filter limit reached
|
|
41h incorrect field offset
|
|
4Ah automatic transaction abort
|
|
4Dh Btrieve engine busy or resource locked by another user
|
|
4Eh deadlock detected
|
|
50h conflict
|
|
51h lock error
|
|
52h lost position
|
|
53h read outside transaction
|
|
54h record in use
|
|
55h file in use
|
|
56h file table full
|
|
57h handle table full
|
|
58h incompatible open mode
|
|
5Ah redirected device table full
|
|
5Bh server error
|
|
5Ch transaction table full
|
|
5Dh incompatible lock type
|
|
5Eh permission error
|
|
5Fh session no longer valid
|
|
60h communications environment error
|
|
61h data message too small
|
|
62h internal transaction error
|
|
--------I-7B---------------------------------
|
|
INT 7B - Eicon Access API (3270/5250 gateways)
|
|
SeeAlso: INT 5C"NetBIOS"
|
|
--------E-7B---------------------------------
|
|
INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 0B,INT 10/AH=FFh"GO32",INT 7A"GO32",INT 7C"GO32"
|
|
--------A-7B---------------------------------
|
|
INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
|
|
AX = data length (0000h-7FFFh)
|
|
CX:BX -> data to be plotted
|
|
DX = vertical position of line on page
|
|
Return: nothing
|
|
Notes: This interrupt is called by AutoCAD to perform its output
|
|
A data length of 0000h indicates that a blank line is to be output
|
|
SeeAlso: AX=8001h,AX=8002h,INT 78"AutoCAD",INT 7A/AX=0001h"AutoCAD"
|
|
--------e-7B---------------------------------
|
|
INT 7B U - MCI Express v2.11+ - DRIVER.EXE - ???
|
|
Program: MCI Express is a front end to MCI Mail; DRIVER.EXE is its
|
|
communication driver
|
|
----------7B---------------------------------
|
|
INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
|
|
DS:DX -> parameter block (see #03844)
|
|
Return: parameter block updated
|
|
|
|
(Table 03843)
|
|
Values for Novell XQL function number:
|
|
00h log in
|
|
01h log out
|
|
02h "tNewFcn"
|
|
03h "tFreeFcn"
|
|
04h "tMoveFldFcn"
|
|
05h "tFieldFcn"
|
|
06h "tDescribeFcn"
|
|
07h "tFetchFcn"
|
|
08h "tComputeFcn"
|
|
09h "tOrderFcn"
|
|
0Ah "tRestrictFcn"
|
|
0Bh "tJoinFcn"
|
|
0Ch "tInsertFcn"
|
|
0Dh "tUpdateFcn"
|
|
0Eh "tUpdallFcn"
|
|
0Fh "tRemoveFcn"
|
|
10h "tRemallFcn"
|
|
11h "tResetFcn"
|
|
12h "tTransFcn"
|
|
13h "tStatFcn"
|
|
14h "tDDCreFcn"
|
|
15h "tStoreFcn"
|
|
16h "tRecallFcn"
|
|
17h "tStopFcn"
|
|
18h "tDDFileFcn"
|
|
19h "tDDFieldFcn"
|
|
1Ah "tDDIndexFcn"
|
|
1Bh "tDDModFcn"
|
|
1Ch "tDDViewFcn"
|
|
1Dh "tDDDrpFcn"
|
|
1Eh "tDDPathFcn"
|
|
1Fh "tDDAttrFcn"
|
|
20h "tDDFcn"
|
|
21h "tSecurFcn"
|
|
22h "tUserFcn"
|
|
23h "tAccessFcn"
|
|
24h "tPswdFcn"
|
|
25h "tCharFcn"
|
|
26h "tVersionFcn"
|
|
27h "tCnvFcn"
|
|
28h "tValFcn"
|
|
29h "tMaskFcn"
|
|
SeeAlso: #03844
|
|
|
|
Format of XQL parameter block:
|
|
Offset Size Description (Table 03844)
|
|
00h 4 BYTEs signature "XQLP"
|
|
04h WORD function number (see #03843)
|
|
06h WORD handle
|
|
08h WORD status
|
|
0Ah WORD session ID
|
|
0Ch var data record (varies by function)
|
|
---function 00h---
|
|
0Ch DWORD -> user name
|
|
10h DWORD -> password
|
|
14h DWORD -> dictionary
|
|
18h DWORD -> filepath
|
|
1Ch DWORD -> machine name
|
|
20h WORD process ID
|
|
---function 01h---
|
|
no additional fields???
|
|
---function 02h---
|
|
0Ch DWORD -> filename
|
|
10h DWORD -> owner name
|
|
14h WORD open mode
|
|
---function 03h---
|
|
no additional fields???
|
|
---function 04h---
|
|
0Ch WORD "frompos"
|
|
0Eh WORD "topos"
|
|
---function 05h---
|
|
0Ch WORD subfunction
|
|
0Eh WORD position
|
|
10h WORD count
|
|
12h DWORD -> field list
|
|
---function 06h---
|
|
0Ch WORD subfunction
|
|
0Eh WORD length of description
|
|
10h WORD position
|
|
12h WORD count
|
|
14h DWORD pointer to description list
|
|
---function 07h---
|
|
0Ch WORD data length
|
|
0Eh WORD "op"
|
|
10h DWORD "select"
|
|
14h DWORD "reject"
|
|
18h DWORD pointer to data buffer
|
|
---function 08h---
|
|
0Ch DWORD -> field name
|
|
10h WORD field type
|
|
12h WORD field size
|
|
14h WORD "flddec"
|
|
16h WORD "explen"
|
|
18h DWORD pointer to "expbuf"
|
|
---function 09h---
|
|
0Ch WORD count
|
|
0Eh DWORD -> field list
|
|
---function 0Ah---
|
|
0Ch WORD "newexp"
|
|
0Eh WORD "explen"
|
|
10h DWORD -> "expbuf"
|
|
---function 0Bh---
|
|
0Ch DWORD -> filename
|
|
10h DWORD -> owner name
|
|
14h WORD type of join
|
|
16h WORD "pCount"
|
|
18h DWORD -> "pNames"
|
|
1Ch WORD "sCount"
|
|
1Eh DWORD -> "sNames"
|
|
---functions 0Ch, 0Dh, 0Fh---
|
|
0Ch WORD file count
|
|
0Eh DWORD -> file list
|
|
12h DWORD count
|
|
16h DWORD -> buffer
|
|
---function 0Eh---
|
|
0Ch WORD file count
|
|
0Eh DWORD -> file list
|
|
12h WORD "op"
|
|
14h DWORD "select"
|
|
18h DWORD "reject"
|
|
1Ch WORD count
|
|
1Eh DWORD -> "res"
|
|
22h DWORD -> "comp"
|
|
---function 10h---
|
|
0Ch WORD file count
|
|
0Eh DWORD -> file list
|
|
12h WORD "op"
|
|
14h DWORD "select"
|
|
18h DWORD "reject"
|
|
---function 11h---
|
|
0Ch DWORD machine name
|
|
---function 12h---
|
|
0Ch WORD option
|
|
---function 13h---
|
|
0Ch WORD subfunction
|
|
0Eh WORD length of buffer
|
|
10h DWORD -> buffer
|
|
---function 14h---
|
|
0Ch WORD subfunction
|
|
0Eh DWORD -> filename
|
|
12h WORD "create"
|
|
14h DWORD -> pathname
|
|
18h DWORD -> owner name
|
|
1Ch WORD owner access restrictions
|
|
1Eh WORD number of fields
|
|
20h DWORD -> field list
|
|
24h WORD number of keys
|
|
28h DWORD -> key list
|
|
2Ch WORD "buflen"
|
|
2Eh DWORD -> create parameters
|
|
---function 15h---
|
|
0Ch DWORD -> "StoreName"
|
|
10h WORD length of buffer
|
|
12h DWORD -> buffer
|
|
---function 16h---
|
|
0Ch DWORD -> "RecallName"
|
|
10h WORD owner number
|
|
12h DWORD -> owner list
|
|
16h WORD open mode
|
|
18h WORD length of buffer
|
|
1Ah DWORD -> buffer
|
|
---function 17h---
|
|
no additional fields???
|
|
---function 18h---
|
|
0Ch WORD "rtype"
|
|
0Eh WORD count
|
|
10h DWORD -> "filebuf"
|
|
14h WORD length of following buffer
|
|
16h DWORD -> output buffer
|
|
---functions 19h, 1Ah---
|
|
0Ch WORD "rtype"
|
|
0Eh WORD count
|
|
10h DWORD -> field buffer
|
|
14h WORD length of following buffer
|
|
16h DWORD -> output buffer
|
|
---function 1Bh---
|
|
0Ch WORD subfunction
|
|
0Eh DWORD -> filename
|
|
12h WORD "create"
|
|
14h DWORD -> pathname
|
|
18h DWORD -> owner name
|
|
1Ch WORD owner access restrictions
|
|
1Eh WORD field count
|
|
20h DWORD -> field list
|
|
24h WORD number of keys
|
|
26h DWORD -> list of keys
|
|
---function 1Ch---
|
|
0Ch WORD count
|
|
0Eh DWORD -> view name
|
|
12h WORD length of following buffer
|
|
14h DWORD -> output buffer
|
|
---function 1Dh---
|
|
0Ch DWORD -> filename
|
|
10h WORD file type
|
|
12h WORD "deletepath"
|
|
---function 1Eh---
|
|
0Ch WORD "dirtype"
|
|
0Eh DWORD -> pathname
|
|
---function 1Fh---
|
|
0Ch WORD function
|
|
0Eh DWORD -> field name
|
|
12h WORD attribute
|
|
14h WORD size of buffer
|
|
16h DWORD -> buffer for attributes
|
|
---function 20h---
|
|
0Ch DWORD -> directory path
|
|
10h WORD function
|
|
---function 21h---
|
|
0Ch DWORD -> master password
|
|
10h WORD "securityflag"
|
|
---function 22h---
|
|
0Ch DWORD -> master password
|
|
10h WORD function (add/modify/remove)
|
|
12h DWORD -> user name
|
|
16h DWORD -> password
|
|
1Ah WORD global rights
|
|
1Ch WORD count
|
|
1Eh WORD length of following buffer
|
|
20h DWORD -> "userbuf"
|
|
---function 23h---
|
|
0Ch DWORD -> master password
|
|
10h DWORD -> user name
|
|
14h WORD function (allow/deny/getrights)
|
|
16h WORD rights
|
|
18h DWORD -> filename
|
|
1Ch WORD number of field names in following buffer
|
|
1Eh DWORD -> field names
|
|
22h WORD maximum buffer length
|
|
24h DWORD -> output buffer
|
|
---function 24h---
|
|
0Ch DWORD -> user name
|
|
10h DWORD -> password
|
|
---function 25h---
|
|
0Ch WORD "charFcn"
|
|
0Eh WORD "charType"
|
|
10h WORD "charValue"
|
|
---function 26h---
|
|
0Ch DWORD -> buffer
|
|
---function 27h---
|
|
0Ch WORD option
|
|
0Eh WORD type
|
|
10h WORD size
|
|
12h WORD "dec"
|
|
14h WORD "dsize"
|
|
16h DWORD -> value
|
|
1Ah DWORD -> "retval"
|
|
1Eh DWORD -> mask
|
|
22h WORD "justify"
|
|
---function 28h---
|
|
0Ch DWORD -> field name
|
|
10h WORD length of buffer
|
|
12h DWORD -> buffer for data
|
|
---function 29h---
|
|
0Ch WORD option
|
|
0Eh WORD type
|
|
10h WORD size
|
|
12h WORD "dec"
|
|
14h WORD length of mask
|
|
16h DWORD -> mask
|
|
--------A-7B8001-----------------------------
|
|
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
|
|
AX = 8001h
|
|
BX = file level
|
|
0000h binary file
|
|
0001h CAD/camera image file
|
|
0002h installed ADI driver
|
|
CX = horizontal size in pixels
|
|
DX = vertical size in pixels
|
|
Return: AX = status (0000h initialization failed, 0001h init successful)
|
|
BX = allowed output format
|
|
0000h monochrome
|
|
0001h color (4 bits per pixel)
|
|
SeeAlso: AX=8002h,AX=8003h,INT 7B"AutoCAD",INT 7C"AutoShade"
|
|
--------A-7B8002-----------------------------
|
|
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
|
|
AX = 8002h
|
|
SeeAlso: AX=8001h,AX=8003h
|
|
--------A-7B8003-----------------------------
|
|
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
|
|
AX = 8003h
|
|
SeeAlso: AX=8001h,AX=8002h
|
|
--------r-7C---------------------------------
|
|
INT 7C U - IBM REXX88PC command language
|
|
???
|
|
--------E-7C---------------------------------
|
|
INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
|
|
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
|
|
GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 0C,INT 7B"GO32",INT 7D"GO32"
|
|
--------P-7C---------------------------------
|
|
INT 7C - PRINDIR v8.02-8.xx - API
|
|
AH = function
|
|
00h set output to Invisible mode
|
|
01h set output to LPT1
|
|
02h set output to LPT2
|
|
03h set output to LPT3
|
|
04h set output to COM1
|
|
05h set output to COM2
|
|
06h set output to COM3
|
|
07h set output to COM4
|
|
08h set output to screen
|
|
09h set output to file
|
|
0Ah change file path
|
|
ES:DI -> new path
|
|
CX = length of path (max 41, but not range-checked)
|
|
0Bh change file name
|
|
ES:DI -> new filename
|
|
CX = length of new name (max 41, but not range-checked)
|
|
0Ch set redirected device
|
|
(01h = LPT1 ... 03h = LPT3, 04h = COM1 ... 07h = COM4)
|
|
0Dh force buffer dump
|
|
0Eh set display color
|
|
AL = new color attribute (see #00014 at INT 10/AH=08h)
|
|
0Fh set popup hotkey
|
|
AL = hotkey scancode
|
|
10h toggle byte display
|
|
AL = new state (00h off, 01h on)
|
|
11h change buffer flush delay
|
|
AL = timer ticks before flush
|
|
Return: AX = status
|
|
0000h successful
|
|
0001h invalid function or nothing in buffer to be dumped
|
|
(documented as "nonzero = error")
|
|
Program: PRINDIR is a shareware printer-redirection program by J.M. Allen
|
|
Creations
|
|
InstallCheck: test for the ASCIZ signature "PRINDIR N.NN" (where N.NN is the
|
|
version number) two bytes beyond the start of the interrupt handler
|
|
Note: prior versions of PRINDIR used INT 7A instead of INT 7C
|
|
SeeAlso: INT 7A"PRINDIR",INT 2F/AX=7F00h"PRINDIR"
|
|
Index: hotkeys;PRINDIR
|
|
--------A-7C---------------------------------
|
|
INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
|
|
Note: this is the default interrupt vector for rendering hardcopy drivers
|
|
instead of INT 7A used by AutoCAD drivers
|
|
SeeAlso: INT 7A/AX=0001h"AutoCAD"
|
|
--------N-7C---------------------------------
|
|
INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
|
|
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
|
|
which provides an API on top of it Data Link Interface, allowing the
|
|
use of any of several network transport layers; this product is
|
|
called SK-PASSPORT in the USA.
|
|
InstallCheck: test for the ASCII signature string "UPPS_DLI" immediately
|
|
preceding the interrupt handler
|
|
Notes: To find the service interrupt being used by the driver, an application
|
|
should scan through the interrupt table until it finds an interrupt
|
|
vector with the "UPPS_DLI" string.
|
|
There may be more than one DLI loaded, each having its own service
|
|
interrupt.
|
|
SeeAlso: AX=0000h,AX=0002h,AX=000Fh
|
|
Index: installation check;SK-UPPS
|
|
--------N-7C0000-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
|
|
AX = 0000h
|
|
Return: AH = major DLI version
|
|
AL = minor DLI version
|
|
DX = OEM signature (see #03845)
|
|
CL = DLI 2.8+ topology: 1=Ethernet, 2=FDDI, 3=Token-Ring
|
|
SeeAlso: AX=0002h,AX=000Bh,AX=000Dh,AX=000Eh
|
|
|
|
(Table 03845)
|
|
Values for SK-UPPS Data Link Interface OEM signature (defined by SK):
|
|
0001h experimental
|
|
3343h ('3C') 3COM
|
|
4942h ('IB') IBM
|
|
4943h ('IC') Intellicom
|
|
494Eh ('IN') Intel
|
|
4B4Fh ('KO') Kodiak
|
|
4D41h ('MA') Madge
|
|
4E45h ('NE') Novell
|
|
4F43h ('OC') Olicom
|
|
5349h ('SI') Siemens
|
|
534Bh ('SK') Schneider & Koch (SysKonnect)
|
|
5744h ('WD') Western Digital
|
|
--------N-7C0001-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
|
|
AX = 0001h
|
|
Return: AX = completion code (see #03846)
|
|
Note: the DLI will refuse to unload if there are any protocols
|
|
(see AX=0007h) or clients (see AX=0010h) active.
|
|
Index: uninstall;SK-UPPS Data Link Interface
|
|
|
|
(Table 03846)
|
|
Values for SK-UPPS completion code:
|
|
0000h SUCCESS
|
|
0005h INVALID_MULTICAST
|
|
0006h BUFFER_TOO_SMALL
|
|
0007h NO_BUFFERS_LEFT
|
|
0008h NO_RESOURCES_LEFT
|
|
000Bh ILLEGAL_PROTOCOL_ID
|
|
000Ch PROTOCOL_IN_USE
|
|
000Dh NO_MULTICAST_ADDRESS
|
|
000Fh PROTOCOLS_ACTIVE
|
|
0010h CLIENTS_ACTIVE
|
|
001Bh INVALID_MODE
|
|
001Ch MODE_NOT_SUPPORTED
|
|
FFFFh UNKNOWN_SERVICE
|
|
--------N-7C0002-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
|
|
AX = 0002h
|
|
ES:DI -> Status Information Block (SIB) (see #03858)
|
|
Return: AX = completion code (see #03846)
|
|
Note: GET DRIVER INFO (AX=000Eh) should be used instead.
|
|
SeeAlso: AX=0000h,AX=000Bh,AX=000Dh,AX=000Eh
|
|
--------N-7C0003-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
|
|
AX = 0003h
|
|
ES:DI -> new node address (6 bytes)
|
|
Return: AX = completion code (see #03846)
|
|
Note: the DLI will refuse to change the address if any protocols
|
|
(see AX=0007h) are active
|
|
SeeAlso: AX=0001h,AX=000Eh
|
|
--------N-7C0004-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
|
|
AX = 0004h
|
|
DX = protocol ID (see AX=0007h,#03849)
|
|
Return: AX = completion code (see also #03846)
|
|
0000h successful
|
|
ES:BX -> Memory Buffer (Mbuf) (see #03847)
|
|
Note: if the DLI has no free Mbufs, it will set an internal flag for the
|
|
protocol and later call the protocol's Event Upcall with
|
|
EV_BUFFER_AVAILABLE (see #03853,#03854) as soon as an Mbuf becomes
|
|
available. There will only be one "buffer available" Upcall, even
|
|
if this function has been called several times before.
|
|
SeeAlso: AX=0005h,AX=0006h,AX=0012h,AX=0013h
|
|
|
|
Format of SK-UPPS Memory Buffer (Mbuf):
|
|
Offset Size Description (Table 03847)
|
|
00h DWORD -> NEXT Mbuf (linked list)
|
|
04h WORD OFFSET of actual data within DATA area
|
|
06h 2 BYTEs reserved (currently unused)
|
|
08h WORD LENGTH of actual data found in DATA area starting at OFFSET
|
|
0Ah 2 BYTEs reserved (currently unused)
|
|
0Ch DWORD -> DATA area (size can be obtained via AX=000Eh call)
|
|
10h WORD PROTOCOL ID of protocol currently "owning" the Mbuf
|
|
12h BYTE IN USE flag; nonzero if Mbuf still in use by DLI (see AX=0006h)
|
|
13h BYTE RECEIVE STATUS (bit 0-7 only; see AX=0007h - Receive Upcall)
|
|
--------N-7C0005-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
|
|
AX = 0005h
|
|
ES:BX -> Mbuf (see #03847)
|
|
Return: nothing
|
|
SeeAlso: AX=0004h
|
|
--------N-7C0006-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
|
|
AX = 0006h
|
|
ES:BX -> Mbuf (see #03847)
|
|
Return: nothing
|
|
Notes: The DLI will send LENGTH bytes found in the Mbuf's DATA area starting
|
|
at OFFSET. A complete and valid frame must be stored there. The DLI
|
|
will only copy the current node address (see AX=0003h) to the
|
|
source node field of the frame's MAC header.
|
|
On Ethernet, the DLI will always send a minimum of 60 bytes, regardless
|
|
of the value found in the LENGTH field.
|
|
This function returns immediately; the DLI will call the protocol's
|
|
Transmit Upcall (see #03848) when the frame has been sent.
|
|
The Mbuf's IN USE field will be non-zero until the DLI calls the
|
|
Transmit Upcall.
|
|
SeeAlso: AX=0002h,AX=0004h,AX=0013h
|
|
|
|
(Table 03848)
|
|
Values SK-UPPS Transmit Upcall is called with:
|
|
ES:BX -> Mbuf (NEXT field destroyed)
|
|
interrupts disabled
|
|
Note: On FDDI the bytes of the source and destination node fields in the MAC
|
|
header have been bit-swapped to physical address format.
|
|
--------N-7C0007-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
|
|
AX = 0007h
|
|
ES:BX -> Protocol Control Block (see #03849)
|
|
Return: AX = completion code (see #03846)
|
|
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
|
|
which provides an API on top of its Data Link Interface, allowing the
|
|
use of any of several network transport layers
|
|
SeeAlso: AX=0008h,AX=000Bh
|
|
|
|
Format of SK-UPPS Protocol Control Block (PCB):
|
|
Offset Size Description (Table 03849)
|
|
00h WORD (big-endian) protocol type
|
|
02h WORD protocol mode (see #03850)
|
|
04h DWORD -> Receive Upcall routine (see #03851)
|
|
08h DWORD -> Transmit Upcall routine
|
|
0Ch DWORD -> Event Upcall routine (see #03853)
|
|
10h DWORD -> ASCIZ protocol name (zero if none)
|
|
14h WORD protocol ID will be returned here (always non-zero)
|
|
|
|
Bitfields for SK-UPPS protocol mode:
|
|
Bit(s) Description (Table 03850)
|
|
0 promiscuous mode; protocol receives all frames regardless of their
|
|
destination (PROTOCOL TYPE must be FFFFh)
|
|
1 if set, protocol's Event Upcall will be called on entry and exit of the
|
|
DLI's Interrupt Service Routine (see #03854)
|
|
2 DLI 2.2+ hook mode; protocol receives all directed frames destined for
|
|
this station (PROTOCOL TYPE must be FFFFh)
|
|
3 DLI 2.3+ receive error frames (only valid in promiscuous mode (0))
|
|
4-5 DLI 2.5+ frame type:
|
|
00 Ethernet II; specify type code in PROTOCOL TYPE field (high-low)
|
|
01 IEEE 802.2; specify Service Access Point (SAP) in MSB
|
|
(offset 0) of PROCOTOL TYPE field; LSB must be zero
|
|
10 IEEE 802.2 with SNAP header; specify type code in PROTOCOL TYPE
|
|
field (high-low)
|
|
11 reserved (currently unused)
|
|
6 DLI 2.5+ if set, protocol's Event Upcall will be called with event code
|
|
EV_BUFFER_WANTED, when DLI runs out of Mbufs
|
|
7 DLI 2.7+ chain mode; if set, client allows the specified frame type to
|
|
be shared with other clients
|
|
8 DLI 2.8+ receive non-LLC frames rather than LLC frames
|
|
9 DLI 2.8+ receive all multicast frames (see also AX=0009h)
|
|
10-15 reserved (currently unused; must be zero)
|
|
Notes: If PROTOCOL TYPE is FFFFh and neither the "promiscuous" nor the "hook"
|
|
mode is set, the protocol receives all frames that did not match
|
|
any registered frame type (demultiplexor mode).
|
|
Protocols using "promiscuous", "hook" or "chain" mode should always
|
|
return from the Receive Upcall with the received Mbuf in ES:BX and
|
|
the Carry Flag set. The DLI will then pass the Mbuf to the FEED BACK
|
|
BUFFER function (see AX=000Fh).
|
|
Some DLIs do not support all or even any of the "promiscuous",
|
|
"receive non-LLC" and "receive all multicasts" mode bits.
|
|
SeeAlso: #03849
|
|
|
|
(Table 03851)
|
|
Values SK-UPPS Receive Upcall is called with:
|
|
ES:BX -> Mbuf
|
|
AX = receive status (see #03852) (also stored in Mbuf's RECEIVE STATUS field)
|
|
interrupts disabled
|
|
Return: nothing
|
|
SeeAlso: #03853
|
|
|
|
Bitfields for SK-UPPS receive status:
|
|
Bit(s) Description (Table 03852)
|
|
0-2 reserved (0), currently unused
|
|
3 frame check sequence (FCS) error
|
|
4 overflow (frame too long)
|
|
5 framing error
|
|
6 reserved (0), currently unused
|
|
7 non-LLC frame (see #03850 [bit 8])
|
|
8-15 reserved (0), currently unused
|
|
Notes: The protocol's Receive Upcall routine will be called whenever a frame
|
|
matching the specified frame type is received. A received frame is
|
|
passed to the protocol in the Mbuf's DATA area at OFFSET and its size
|
|
is LENGTH bytes.
|
|
The receive status passed to the Receive Upcall in register AL is
|
|
always zero, except for protocols using "non-LLC" mode (8 of PCB's
|
|
protocol mode field) or "promiscuous" mode together with "receive
|
|
error frames" (0 & 3).
|
|
Upcalls are FAR routines and must return with a RET FAR. If the Carry
|
|
Flag is set on return from a Receive or Transmit Upcall, then ES:BX
|
|
must point to an Mbuf, which the DLI will then pass to the RELEASE
|
|
BUFFER function (see AX=0005h). See also notes for PROTOCOL MODE.
|
|
|
|
(Table 03853)
|
|
Values SK-UPPS Event Upcall is called with:
|
|
AX = event code (see #03854)
|
|
Return: nothing
|
|
Note: All Event Upcalls may be ignored by the protocol.
|
|
SeeAlso: #03851
|
|
|
|
(Table 03854)
|
|
Values for SK-UPPS Event Upcall event code:
|
|
00h EV_BUFFER_AVAILABLE client may now call REQUEST BUFFER (AX=0004h)
|
|
01h EV_ISR_START start of Interrupt Service Routine
|
|
02h EV_ISR_END end of ISR (see #03850 [bit 1])
|
|
03h EV_BUFFER_WANTED DLI temporarily out of Mbufs
|
|
04h EV_NETWORK_STATUS DLI 2.8+ network status -- DX=status (see #03855)
|
|
05h EV_IO_CONTROL DLI 2.8+ I/O control -- DX=subfunc (see AX=0016h)
|
|
SeeAlso: #03853
|
|
|
|
Bitfields for EV_NETWORK_STATUS in register DX:
|
|
Bit(s) Description (Table 03855)
|
|
Token-Ring FDDI
|
|
15 SIGNAL_LOSS SIGNAL_LOSS
|
|
14 HARD_ERROR HARD_ERROR
|
|
13 SOFT_ERROR SOFT_ERROR
|
|
12 TRANSMIT_BEACON TRANSMIT_BEACON
|
|
11 LOBE_WIRE_FAULT PATH_TEST_FAILED
|
|
10 AUTO_REMOVAL SELF_TEST_REQUIRED
|
|
9 reserved reserved
|
|
8 REMOVE_RECEIVED REMOTE_DISCONNECT
|
|
7 COUNTER_OVERFLOW reserved
|
|
6 SINGLE_STATION DUPLICATE_ADDRESS
|
|
5 RING_RECOVERY NO_RING_OP_STATUS
|
|
4 reserved VERSION_MISMATCH
|
|
3 reserved STUCK_BYPASS
|
|
2 reserved FDDI_EVENT
|
|
1 reserved RING_OP_CHANGE
|
|
0 reserved reserved
|
|
Note: EV_NETWORK_STATUS is not supported on Ethernet
|
|
--------N-7C0008-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
|
|
AX = 0008h
|
|
BX = protocol ID (see #03849)
|
|
Return: AX = completion code (see #03846)
|
|
Note: the DLI will handle any Mbufs given to TRANSMIT FRAME (AX=0006h) as if
|
|
they had been given to TRANSMIT FRAME RELEASE (AX=0013h).
|
|
all multicast addresses registered for this protocol will be disabled.
|
|
after this function returns, the protocol's Upcall routines will no
|
|
longer be called.
|
|
SeeAlso: AX=0007h,AX=000Bh
|
|
--------N-7C0009-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
|
|
AX = 0009h
|
|
BX = protocol ID (see #03849)
|
|
ES:DI -> multicast address (6 bytes)
|
|
Return: AX = completion code (see #03846)
|
|
Notes: The broadcast address is always enabled.
|
|
Set bit 9 of PCB's protocol mode field in REGISTER PROTOCOL call
|
|
(AX=0007h) to receive all multicast frames.
|
|
SeeAlso: AX=000Ah,AX=0014h
|
|
--------N-7C000A-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
|
|
AX = 000Ah
|
|
BX = protocol ID (see #03849)
|
|
ES:DI -> multicast address (6 bytes)
|
|
Return: AX = completion code (see #03846)
|
|
SeeAlso: AX=0009h,AX=0014h
|
|
--------N-7C000B-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
|
|
AX = 000Bh
|
|
ES:DI -> protocol ID buffer
|
|
CX = number of 2-byte protocol IDs that may be stored in buffer
|
|
Return: AX = completion code (see #03846)
|
|
CX = number of active protocols (regardless of value returned in AX)
|
|
protocol ID buffer filled with active protocol IDs
|
|
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
|
|
which provides an API on top of its Data Link Interface, allowing the
|
|
use of any of several network transport layers
|
|
Note: If the buffer supplied is too small, CX still contains the total number
|
|
of active protocols and the buffer has been filled until full.
|
|
SeeAlso: AX=000Ch,AX=0014h
|
|
--------N-7C000C-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
|
|
AX = 000Ch
|
|
BX = protocol ID (see #03849,AX=000Bh)
|
|
ES:DI -> Protocol Status Block (see #03856)
|
|
Return: AX = completion code (see #03846)
|
|
SeeAlso: AX=000Bh,AX=0014h
|
|
|
|
Format of SK-UPPS Protocol Status Block (PSB):
|
|
Offset Size Description (Table 03856)
|
|
00h DWORD -> ASCIZ protocol name
|
|
04h WORD protocol mode (see #03850)
|
|
06h WORD protocol type (see AX=0007h)
|
|
08h WORD number of registered multicasts (see AX=0009h,AX=0014h)
|
|
--------N-7C000D-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
|
|
AX = 000Dh
|
|
BX = flag: 0=don't clear statistics, 1=clear statistics
|
|
ES:DI -> Statistics Data Block (see #03857)
|
|
Return: AX = completion code (see #03846)
|
|
SeeAlso: AX=0002h,AX=0015h
|
|
|
|
Format of SK-UPPS Statistics Data Block (SDB):
|
|
Offset Size Description (Table 03857)
|
|
00h DWORD node uptime in ticks (1/18.21 sec.)
|
|
04h DWORD bytes received
|
|
08h DWORD bytes transmitted
|
|
0Ch DWORD frames received
|
|
10h DWORD frames transmitted
|
|
14h DWORD multicast bytes received
|
|
18h DWORD multicast frames received
|
|
1Ch DWORD unrecognized frames
|
|
20h WORD missed frames
|
|
22h WORD frame check sequence (FCS) errors
|
|
24h WORD framing errors
|
|
26h WORD babbling errors
|
|
28h WORD late collision errors
|
|
2Ah WORD loss of carrier errors
|
|
2Ch WORD 16 retries failed errors
|
|
2Eh WORD overflow errors
|
|
Note: fields 26h through 2Ch are always zero, except in some very old
|
|
versions of the DLI. Use GET MEDIA STATISTICS (AX=0015h) to get
|
|
more detailed information.
|
|
--------N-7C000E-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
|
|
AX = 000Eh
|
|
ES:DI -> Driver Information Block (see #03858)
|
|
BX = offset of 1st field within DIB to be returned
|
|
CX = number of bytes to be returned
|
|
Return: AX = completion code (see #03846)
|
|
CX = number of bytes copied (regardless of value returned in AX)
|
|
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
|
|
which provides an API on top of its Data Link Interface, allowing the
|
|
use of any of several network transport layers
|
|
SeeAlso: AX=0000h,AX=0002h,AX=000Bh,AX=000Dh,AX=0015h
|
|
|
|
Format of SK-UPPS Driver Information Block (DIB):
|
|
Offset Size Description (Table 03858)
|
|
00h 6 BYTEs physical node address (from adapter's ROM)
|
|
06h 6 BYTEs current node address (see AX=0003h)
|
|
0Ch BYTE adapter id (defined by OEM)
|
|
0Dh BYTE IRQ line (FFh if none)
|
|
0Eh DWORD -> shared memory (zero if none)
|
|
12h DWORD size of shared memory (zero if none)
|
|
16h WORD base I/O port (zero if none)
|
|
18h BYTE DMA line (FFh if none)
|
|
19h BYTE DLI 2.4+ topology (see AX=0000h)
|
|
1Ah WORD size of an Mbuf's DATA area (see #03847)
|
|
1Ch 2 BYTEs reserved (currently unused)
|
|
1Eh WORD total number of Mbufs the DLI has
|
|
20h WORD maximum number of Mbufs that can be allocated via REQUEST
|
|
BUFFER (AX=0004h) and SYNC REQUEST BUFFER (AX=0012h)
|
|
---- end of Status Information Block returned by GET DRIVER STATUS (AX=0002h)
|
|
22h DWORD -> ASCIZ adapter name
|
|
26h WORD number of I/O ports used (zero if none)
|
|
28h DWORD line speed in bits/sec.
|
|
--------N-7C000F-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
|
|
AX = 000Fh
|
|
ES:BX -> Mbuf (see #03847)
|
|
Return: nothing
|
|
Notes: A protocol may call this function instead of returning the Mbuf
|
|
directly from the Receive Upcall if it is running in "promiscuous",
|
|
"hook" or "chain" mode.
|
|
SeeAlso: AX=0007h
|
|
--------N-7C0010-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
|
|
AX = 0010h
|
|
Return: nothing
|
|
Notes: An application having no active protocols may call this function to
|
|
prevent the DLI from unloading.
|
|
SeeAlso: AX=0001h,AX=0011h
|
|
--------N-7C0011-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
|
|
AX = 0011h
|
|
Return: nothing
|
|
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
|
|
which provides an API on top of its Data Link Interface, allowing the
|
|
use of any of several network transport layers
|
|
SeeAlso: AX=0010h
|
|
--------N-7C0012-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
|
|
AX = 0012h
|
|
DX = protocol ID (see #03849)
|
|
Return: AX = completion code (see #03846)
|
|
if AX=0000h: ES:BX -> Mbuf (see #03847)
|
|
Note: If the protocol wants to be informed when an Mbuf becomes available,
|
|
REQUEST BUFFER (AX=0004h) should be used instead.
|
|
SeeAlso: AX=0004h,AX=0005h,AX=0006h,AX=0013h
|
|
--------N-7C0013-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
|
|
AX = 0013h
|
|
ES:BX -> Mbuf (see #03847)
|
|
Return: nothing
|
|
Notes: Returns immediately; The protocol's Transmit Upcall will NOT be called.
|
|
The Mbuf may no more be used by the protocol in any way (i.e. the
|
|
Mbuf's IN USE field may not be polled).
|
|
SeeAlso: AX=0004h,AX=0013h
|
|
--------N-7C0014-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
|
|
AX = 0014h
|
|
BX = protocol ID (see #03849,AX=000Bh)
|
|
ES:DI -> multicast address buffer
|
|
CX = number of 6-byte multicast addresses that may be stored in buffer
|
|
Return: AX = completion code (see #03846)
|
|
CX = number of registered multicast addresses for this protocol
|
|
(regardless of value returned in AX)
|
|
multicast address buffer filled with multicast addresses registered for
|
|
this protocol
|
|
Note: If the buffer supplied is too small, CX still contains the total number
|
|
of registered multicast addresses for this protocol and the buffer
|
|
has been completely filled
|
|
SeeAlso: AX=000Bh,AX=0009h,AX=000Ch
|
|
--------N-7C0015-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
|
|
AX = 0015h
|
|
ES:DI -> media-specific statistics buffer (see #03859,#03860,#03861)
|
|
BX = offset of 1st field within MSS to be returned
|
|
CX = number of bytes to be returned
|
|
Return: AX = completion code (see #03846)
|
|
CX = number of bytes copied (regardless of value returned in AX)
|
|
Note: not supported by all DLIs (will return AX=FFFFh if not supported).
|
|
SeeAlso: AX=0000h,AX=000Dh
|
|
|
|
Format of SK-UPPS media-specific statistics for Ethernet:
|
|
Offset Size Description (Table 03859)
|
|
00h DWORD alignment errors
|
|
04h DWORD frame check sequence (FCS) errors
|
|
08h DWORD single collision frames
|
|
0Ch DWORD multiple collision frames
|
|
10h DWORD signal quality error (SQE) test errors
|
|
14h DWORD deferred transmissions
|
|
18h DWORD late collisions
|
|
1Ch DWORD excessive collisions
|
|
20h DWORD internal MAC transmit errors
|
|
24h DWORD carrier sense errors
|
|
28h DWORD excessive deferrals
|
|
2Ch DWORD frame too longs
|
|
30h DWORD in range length errors
|
|
34h DWORD out of range length fields
|
|
38h DWORD internal MAC receive errors
|
|
|
|
Format of SK-UPPS media-specific statistics for FDDI:
|
|
Offset Size Description (Table 03860)
|
|
00h DWORD SMT operating version id (refer to ANSI 7.1.2.2)
|
|
04h DWORD SMT CF state: 1=Isolated, 2= Wrap_S, 3=Wrap_A, 4=Wrap_B,
|
|
5=Wrap_AB, 6=Thru (refer to ANSI SMT 9.7.4.3)
|
|
08h DWORD SMT frames sent
|
|
0Ch DWORD SMT frames received
|
|
10h DWORD SMT ring up count
|
|
14h 6 BYTEs MAC upstream neighbour
|
|
1Ah 6 BYTEs MAC downstream neighbour
|
|
20h DWORD MAC frame counter (refer to ANSI MAC 2.2.1)
|
|
24h DWORD MAC error counter ( " )
|
|
28h DWORD MAC lost counter ( " )
|
|
2Ch BYTE port 1 link error estimate (ranges from 10**-4 to 10**-15 and
|
|
is reported as the absolute value of the exponent)
|
|
2Dh BYTE port 2 link error estimate ( " )
|
|
2Eh 2 BYTEs reserved (currently unused)
|
|
30h DWORD attachment class: 1=single-attachment (S PORT),
|
|
2=dual-attachment (A/B PORT pairs), 3=concentrator (M PORTs)
|
|
34h DWORD attachment optical bypass present: 1=true, 2=false
|
|
|
|
Format of SK-UPPS media-specific statistics for Token-Ring:
|
|
Offset Size Description (Table 03861)
|
|
00h 6 BYTEs upstream neighbour
|
|
06h WORD local ring number
|
|
08h DWORD ring up count
|
|
0Ch DWORD signal loss errors
|
|
10h DWORD lobe wire faults
|
|
14h DWORD ring recovery count
|
|
18h DWORD line errors
|
|
1Ch DWORD burst errors
|
|
20h DWORD ARI/FCI errors
|
|
24h DWORD lost frame errors
|
|
28h DWORD receive congestion errors
|
|
2Ch DWORD frame copied errors
|
|
30h DWORD token errors
|
|
34h DWORD DMA bus errors
|
|
38h DWORD DMA parity errors
|
|
3Ch DWORD receive overflow errors
|
|
--------N-7C0016-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
|
|
AX = 0016h
|
|
DX = subfunction; bits 14-15 specify direction of I/O:
|
|
00 no data at all (ES:BX undefined)
|
|
01 driver -> application (GET)
|
|
10 application -> driver (SET)
|
|
11 both directions (GET/SET)
|
|
ES:BX -> I/O buffer (optional)
|
|
CX = size of buffer (if ES:BX valid)
|
|
Return: AX = completion code; defined by OEM
|
|
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
|
|
which provides an API on top of its Data Link Interface, allowing the
|
|
use of any of several network transport layers
|
|
Notes: not supported by all DLIs (will return AX=FFFFh if not supported)
|
|
subfunction codes are defined by OEMs
|
|
SeeAlso: AX=0001h
|
|
--------N-7C0017-----------------------------
|
|
INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
|
|
AX = 0017h
|
|
Return: AX = completion code (see #03846)
|
|
Notes: not supported by all DLIs (will return AX=FFFFh, if not supported).
|
|
must be called with interrupts disabled; when the client re-enables
|
|
interrupts, an interrupt will be generated and reported to the client
|
|
through an Event Upcall (see #03853 [EV_ISR_START/EV_ISR_END])
|
|
SeeAlso: AX=0007h
|
|
--------t-7D---------------------------------
|
|
INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
|
|
Note: this interface has been moved to INT 2D; there are no known
|
|
implementations on INT 7D
|
|
SeeAlso: INT 2D"AMIS",INT 2F"NOTES"
|
|
--------S-7D---------------------------------
|
|
INT 7D U - YTERM 1.4 - CLOCK SUPPORT
|
|
SeeAlso: INT 7E"YTERM"
|
|
--------E-7D---------------------------------
|
|
INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 0D"IRQ5",INT 7C"GO32",INT 7E"GO32"
|
|
--------U-7D---------------------------------
|
|
INT 7D - HyperPAD v2.2 - API ACCESS
|
|
Note: this vector is hooked but immediately passed on (without checking
|
|
whether the previous handler was 0000h:0000h). The sole purpose of
|
|
this vector is to provide the address of the data area described
|
|
below (see #03862).
|
|
|
|
Format of HyperPAD data area:
|
|
Offset Size Description (Table 03862)
|
|
-16h DWORD pointer to ??? FAR function
|
|
-12h DWORD pointer to callback setting function
|
|
[C calling conventions, (*callback)(int (_loadds far *)()) ]
|
|
-0Eh 6 BYTEs signature "BRC001"
|
|
-08h DWORD pointer to previous INT 7D handler
|
|
-04h DWORD pointer to ??? data
|
|
00h HyperPAD INT 7D handler
|
|
----------7D---------------------------------
|
|
INT 7D - IBM DOS 6.1 E.EXE - ???
|
|
Note: E.EXE checks whether this interrupt is in use (not 0000h:0000h),
|
|
and if it is used, attempts to load E55VGA.EX instead of the
|
|
default E.EX overlay. However, E55VGA.EX is not included in
|
|
IBM DOS 6.1.
|
|
--------G-7D00-------------------------------
|
|
INT 7D - SCSILink - RESET SCSI BUS
|
|
AH = 00h
|
|
Program: SCSILink is a TSR by Cross Products Ltd which allows its PC-hosted
|
|
cross assemblers and similar products to communicate with Cross
|
|
Products hardware debuggers
|
|
Desc: reset all devices on the SCSI bus
|
|
InstallCheck: test for the signature "SCSILINK" immediately prior to the
|
|
interrupt handler
|
|
Index: installation check;SCSILink
|
|
--------G-7D01-------------------------------
|
|
INT 7D - SCSILink - CONNECT TO TARGET
|
|
AH = 01h
|
|
AL = target ID
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AL = initiator error
|
|
AH = target error
|
|
Desc: arbitrate the use of the bus and select the specified target device
|
|
--------G-7D02-------------------------------
|
|
INT 7D - SCSILink - SEND COMMAND
|
|
AH = 02h
|
|
ES:BX -> parameter block (see #03863)
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AL = initiator error
|
|
AH = target error
|
|
Desc: send the specified command block to the target device and perform any
|
|
related I/O
|
|
|
|
Format of SCSILink parameter block:
|
|
Offset Size Description (Table 03863)
|
|
00h DWORD size of command block
|
|
04h DWORD address of command block (see #03864)
|
|
08h DWORD size of buffer
|
|
0Ch DWORD address of buffer
|
|
|
|
Format of SCSILink command block:
|
|
Offset Size Description (Table 03864)
|
|
00h info not yet available
|
|
--------G-7D03-------------------------------
|
|
INT 7D - SCSILink - SET TIMEOUT
|
|
AH = 03h
|
|
AL = timeout selector (see #03865)
|
|
BX = new value in 55ms ticks
|
|
Desc: change an internal timeout value to allow communication with very
|
|
slow targets
|
|
|
|
(Table 03865)
|
|
Values for SCSILink timeout selector:
|
|
00h time to wait for bus (default 18)
|
|
01h time to wait for new phase (default 5)
|
|
02h maximum time to send/receive block (default 18)
|
|
03h time to wait for reselect (default 180)
|
|
--------G-7D04-------------------------------
|
|
INT 7D - SCSILink - GET ERROR STRING
|
|
AH = 04h
|
|
AL = error number
|
|
Return: ES:BX -> ASCIZ error string for error number
|
|
--------G-7D05-------------------------------
|
|
INT 7D - SCSILink - GET ADDRESS
|
|
AH = 05h
|
|
Return: AL = DMA channel
|
|
AH = initiator ID
|
|
BX = card address
|
|
Desc: determine the current hardware configuration
|
|
--------G-7D06-------------------------------
|
|
INT 7D - SCSILink - PUT DATA
|
|
AH = 06h
|
|
CX = number of bytes to store (0001h-0100h)
|
|
ES:BX -> data to be saved
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AL = error code (01h = too much data)
|
|
Note: the specified data is stored in SCSILink's PSP
|
|
SeeAlso: AH=07h
|
|
--------G-7D07-------------------------------
|
|
INT 7D - SCSILink - GET DATA
|
|
AH = 07h
|
|
CX = number of bytes to retrieve (0001h-0100h)
|
|
ES:BX -> buffer for data
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AL = error code (01h = too much data)
|
|
Note: retrieve data previously stored with AH=06h
|
|
SeeAlso: AH=06h
|
|
--------G-7D08-------------------------------
|
|
INT 7D - SCSILink - TERMINATE SESSION
|
|
AH = 08h
|
|
Desc: indicate to any other programs that intercept INT 7D that the program
|
|
has finished with the link
|
|
Note: the program should call this function even if a SCSI error caused its
|
|
termination
|
|
--------G-7D09-------------------------------
|
|
INT 7D - SCSILink - POLL REQUEST
|
|
AH = 09h
|
|
AL = target ID
|
|
Return: AL = status
|
|
FEh resident driver experienced SCSI error
|
|
FFh resident driver handleded event
|
|
Desc: give any drivers chained onto INT 7D a chance to handle an exception
|
|
not specifically handled by the calling program
|
|
Notes: this service exists so that resident disk servers, etc. can continue
|
|
running even while debuggers and profilers are active
|
|
the resident driver assumes that a connection has been established and
|
|
attempts to leave the target connected
|
|
--------*-7E---------------------------------
|
|
INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
|
|
--------S-7E---------------------------------
|
|
INT 7E U - YTERM 1.4 - ???
|
|
SeeAlso: INT 7D"YTERM",INT 7F"YTERM"
|
|
--------E-7E---------------------------------
|
|
INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
|
|
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
|
|
GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 0E"IRQ6",INT 7D"GO32",INT 7F"GO32"
|
|
--------s-7E00-------------------------------
|
|
INT 7E - MaxSBOS v0.21 - GET ???
|
|
AH = 00h
|
|
Return: DX:AX -> ???
|
|
SeeAlso: AH=01h,AH=02h,AH=03h
|
|
--------s-7E0001-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - SEND MIDI BYTE
|
|
AX = 0001h
|
|
DX = game device handle
|
|
BL = MIDI byte to send???
|
|
???
|
|
Return: EAX = status
|
|
00000000h if successful
|
|
FFFFFFFFh on error (function disabled)
|
|
Program: IWSBSDRV is the resident portion of the InterWave SBOS sound card
|
|
emulator for the Gravis UltraSound Plug-and-Play
|
|
Note: this function is only supported if the MIDISIMPLE device has been
|
|
opened via the InterWave Game API (see INT 2F/AX=CD21h)
|
|
SeeAlso: AX=0002h,INT 2F/AX=CD21h,#03074
|
|
--------s-7E0002-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - SEND MIDI STRING
|
|
AX = 0002h
|
|
DX = game device handle
|
|
ES:EDI -> buffer containing MIDI string to be sent
|
|
ECX = length of buffer in bytes
|
|
Return: EAX = status
|
|
00000000h if successful
|
|
FFFFFFFFh on error (function disabled)
|
|
Note: this function is only supported if the MIDISIMPLE device has been
|
|
opened via the InterWave Game API (see INT 2F/AX=CD21h)
|
|
SeeAlso: AX=0001h,INT 2F/AX=CD21h,#03074
|
|
--------s-7E00F6-----------------------------
|
|
INT 7E - SBOS v3.82 - SET ???
|
|
AX = 00F6h
|
|
BL = ??? (max. 20h, value will be set to 20h if BL greater)
|
|
Return: AX=00F9h,AX=00FEh
|
|
--------s-7E00F7-----------------------------
|
|
INT 7E - SBOS v3.82 - GET ???
|
|
AX = 00F7h
|
|
Return: AX = status
|
|
0000h failed
|
|
0001h successful
|
|
BX = ??? (if nonzero, ??? is hooked) (see AX=00FFh)
|
|
CH = ???
|
|
CL = ???
|
|
SeeAlso: AX=00F6h,AX=00FDh,AX=00FFh
|
|
--------s-7E00F9-----------------------------
|
|
INT 7E - SBOS v3.82 - SET ???
|
|
AX = 00F9h
|
|
BX = ???
|
|
SeeAlso: AX=00F6h,AX=00FBh,AX=00FDh
|
|
--------s-7E00FB-----------------------------
|
|
INT 7E - SBOS v3.82 - SET ???
|
|
AX = 00FBh
|
|
BL = ???
|
|
SeeAlso: AX=00F6h,AX=00FDh,AX=00FFh
|
|
--------s-7E00FD-----------------------------
|
|
INT 7E - SBOS v3.82 - SET ???
|
|
AX = 00FDh
|
|
BL = ??? (max. 20h, value will be set to 20h if BL greater)
|
|
SeeAlso: AX=00F9h,AX=00FEh
|
|
--------s-7E00FE-----------------------------
|
|
INT 7E - SBOS v3.82 - UNINSTALL
|
|
AX = 00FEh
|
|
Return: AX = status
|
|
0000h successful
|
|
00FCh unable to unhook INT 21
|
|
00FDh unable to unhook INT 09
|
|
00FEh unable to release memory
|
|
Program: SBOS is a SoundBlaster emulator for the Gravis UltraSound
|
|
InstallCheck: test for the ASCII signature "SBOS" at offset 0Ah in the
|
|
interrupt handler's segment (similar to one of the possible EMS
|
|
installation checks)
|
|
Range: SBOS may use INT 78-INT 7F
|
|
Note: this function may not be called if any SBOS vectors have been hooked
|
|
SeeAlso: INT 21/AX=FD12h,INT 78"UltraMID"
|
|
--------s-7E00FF-----------------------------
|
|
INT 7E - SBOS v3.82 - SET INTERRUPT FOR ???
|
|
AX = 00FFh
|
|
BL = new interrupt vector to hook
|
|
Return: BX = 03CDh if supported
|
|
Desc: unhooks the current interrupt handler for ???, and reconnects it to the
|
|
specified new interrupt number
|
|
SeeAlso: AX=00F7h,AX=00F9h,AX=00FEh
|
|
--------s-7E01-------------------------------
|
|
INT 7E - MaxSBOS v0.21 - ???
|
|
AH = 01h
|
|
???
|
|
Return: ???
|
|
Program: MaxSBOS is a SoundBlaster FM synthesis emulator for the Gravis
|
|
UltraSound MAX
|
|
Range: INT 78-INT 7F, selected by commandline parameter
|
|
Note: the installation check is the same as for 'regular' SBOS (see AX=00FEh)
|
|
although the API in v0.21 does not provide the functions present in
|
|
the older SBOS
|
|
SeeAlso: AX=00FEh,AH=02h,AH=03h
|
|
--------s-7E02-------------------------------
|
|
INT 7E - MaxSBOS v0.21 - ???
|
|
AH = 02h
|
|
Return: AX = FFFFh
|
|
SeeAlso: AX=00FEh,AH=01h,AH=03h
|
|
--------s-7E03-------------------------------
|
|
INT 7E - MaxSBOS v0.21 - NOP
|
|
AH = 03h
|
|
Return: nothing
|
|
SeeAlso: AX=00FEh,AH=01h,AH=02h
|
|
--------m-7E5857BL57-------------------------
|
|
INT 7E - XLOAD - INSTALLATION CHECK
|
|
AX = 5857h
|
|
BL = 57h
|
|
Return: AX = 0000h if installed
|
|
Program: XLOAD is the LOADHIGH-equivalent from Helix Software's Netroom
|
|
SeeAlso: AX=5857h/BL=5Ah,AX=5857h/BL=5Bh
|
|
--------m-7E5857BL5A-------------------------
|
|
INT 7E - XLOAD - GET ???
|
|
AX = 5857h
|
|
BL = 5Ah
|
|
Return: AX = 0000h
|
|
CX = ???
|
|
DS:SI -> ???
|
|
SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Bh
|
|
--------m-7E5857BL5B-------------------------
|
|
INT 7E - XLOAD - GET XLOAD MEMORY SIZE
|
|
AX = 5857h
|
|
BL = 5Bh
|
|
Return: AX = 0000h
|
|
CX = segment of XLOAD TSR
|
|
DX = size of memory block in which XLOAD TSR is located
|
|
SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Ah
|
|
--------s-7E--80-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - GET ???
|
|
AL = 80h
|
|
Return: DX:AX -> ???
|
|
SeeAlso: AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h
|
|
--------s-7E--81-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - ???
|
|
AL = 81h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AL=80h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h
|
|
--------s-7E--82-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - GET ???
|
|
AL = 82h
|
|
Return: AX = ??? (FFFFh)
|
|
SeeAlso: AL=80h,AL=81h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h
|
|
--------s-7E--83-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - ??? (CALLS VIWD.VXD)
|
|
AL = 83h
|
|
???
|
|
Return: ???
|
|
SeeAlso: AL=80h,AL=81h,AL=82h,AL=84h,AL=85h,AL=86h,AL=87h
|
|
SeeAlso: INT 2F/AX=1684h/BX=38DAh"VIWD"
|
|
--------s-7E--84-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - WAKE PROGRAM???
|
|
AL = 84h
|
|
Return: AL = status
|
|
00h successful
|
|
else failed
|
|
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=85h,AL=86h,AL=87h
|
|
SeeAlso: INT 2F/AX=CD04h"InterWave"
|
|
--------s-7E--85-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - SET ??? FLAG
|
|
AL = 85h
|
|
Return: nothing
|
|
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=86h,AL=87h
|
|
--------s-7E--86-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - HOOK INT 21
|
|
AL = 86h
|
|
Return: AX,BX,DX,ES destroyed
|
|
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=87h
|
|
--------s-7E--87-----------------------------
|
|
INT 7E - IWSBSDRV v1.41 - RESTORE INT 21
|
|
AL = 87h
|
|
Return: AX,DX destroyed
|
|
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h
|
|
--------V-7F---------------------------------
|
|
INT 7F - Halo88 - API
|
|
BX = function number (see #03866)
|
|
additional parameters on stack
|
|
Return: ???
|
|
Program: Halo88 is a suite of graphics routines
|
|
Note: according to Stuart Kemp, the code appears to make no provisions for
|
|
chaining
|
|
|
|
(Table 03866)
|
|
Values for Halo88 API function:
|
|
64h arc
|
|
65h bar
|
|
66h box
|
|
67h circle
|
|
68h clr
|
|
69h default hatch style
|
|
6Ah default line style
|
|
6Bh delhcur
|
|
6Ch delln / deltcur
|
|
6Dh ellipse
|
|
6Eh fill
|
|
6Fh flood
|
|
70h flood2
|
|
71h init graphics
|
|
72h init hcur
|
|
73h init marker
|
|
74h init tcur
|
|
75h inqarc
|
|
76h inqbknd
|
|
77h inqclr
|
|
78h inqerr
|
|
79h inqgcur
|
|
7Ah inqhcur
|
|
7Bh inqmarker
|
|
7Dh inqtcur
|
|
7Eh inqtext
|
|
7Fh lnabs
|
|
80h lnrel
|
|
81h markerabs
|
|
82h markerrel
|
|
83h moveabs
|
|
84h movehcurabs
|
|
85h movehcurrel
|
|
86h moverel
|
|
87h movetcurabs
|
|
88h movetcurrel
|
|
89h movefrom
|
|
8Ah moveto
|
|
8Bh pie
|
|
8Ch polylnabs
|
|
8Dh polylnrel
|
|
8Eh ptabs
|
|
8Fh ptrel
|
|
91h setasp
|
|
92h set color
|
|
93h set font
|
|
94h set hatch style
|
|
95h set line style
|
|
97h settext
|
|
98h set text color
|
|
99h btext
|
|
9Ah setseg
|
|
9Bh display
|
|
9Ch setscreen
|
|
9Eh close graphics
|
|
9Fh ftinit
|
|
A0h ftlocate
|
|
A1h ftext
|
|
A5h set viewport
|
|
A6h set window
|
|
A7h set world
|
|
AAh ftcolor
|
|
ACh initlp
|
|
ADh inqasp
|
|
AEh inqdev
|
|
AFh inqdisplay
|
|
B0h inqft
|
|
B1h inqftcolor
|
|
B2h inqinterlace
|
|
B3h inqlpa
|
|
B4h inqlpg
|
|
B5h inqmode
|
|
B6h inqscreen
|
|
B7h inqversion
|
|
B8h roam
|
|
B9h scroll
|
|
BAh setieee
|
|
BBh set interlace
|
|
BCh shift
|
|
BDh start graphics
|
|
BEh vpan
|
|
CBh gwrite
|
|
CCh gread
|
|
CDh setxor
|
|
CEh rbox
|
|
CFh rcir
|
|
D0h rlnabs
|
|
D1h rlnrel
|
|
D2h delbox
|
|
D3h delcir
|
|
D5h setseg2
|
|
DCh worldoff
|
|
DDh mapwtod
|
|
DEh mapdtow
|
|
DFh mapwton
|
|
E0h mapntow
|
|
E1h mapdton
|
|
E2h mapntod
|
|
E3h inqworld
|
|
E4h inqviewport
|
|
E5h set line width
|
|
E6h lnjoint
|
|
E7h set locator
|
|
E8h read locator
|
|
E9h setdev
|
|
EBh setstext
|
|
ECh setstclr
|
|
EDh setstang
|
|
EEh stext
|
|
EFh inqstext
|
|
F0h setdegree
|
|
F1h inqstsize
|
|
F2h polyfabs
|
|
F3h polyfrel
|
|
F4h inqdrange
|
|
F5h inqstang
|
|
F6h orglocator
|
|
F7h inqlocator
|
|
F8h inqarea
|
|
F9h setipal
|
|
FAh setborder
|
|
FBh inqcrange
|
|
FEh setclip
|
|
FFh fcir
|
|
100h setcrange
|
|
101h setdrange
|
|
102h setlattr
|
|
103h polycabs
|
|
104h polycrel
|
|
108h memcom
|
|
109h memexp
|
|
10Ah memmov
|
|
10Eh movefx
|
|
10Fh movetx
|
|
110h inqrgb
|
|
111h save image
|
|
112h restore image
|
|
113h setapal
|
|
114h setxpal
|
|
118h inqtsize
|
|
12Eh gprint
|
|
130h setprn
|
|
131h setpattr
|
|
133h setbattr
|
|
135h pexpand
|
|
136h ptnorm
|
|
137h pfnorm
|
|
13Bh inqprn
|
|
13Ch lopen
|
|
13Dh lclose
|
|
13Eh lappend
|
|
13Fh lrecord
|
|
140h lswitch
|
|
142h inqfun
|
|
15Dh lsetup
|
|
15Eh lrest
|
|
15Fh lsave
|
|
--------N-7F---------------------------------
|
|
INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
|
|
AL = request ID
|
|
01h "Request"/"RequestDirect"
|
|
ES:BX -> pRq
|
|
DX ignored
|
|
04h "Wait"
|
|
ES:BX -> ppMsgRet
|
|
DX = exchange
|
|
05h "AllocExch"
|
|
ES:BX -> pExchRet
|
|
06h "DeAllocExch"
|
|
DX = exchange
|
|
07h "Check"
|
|
ES:BX -> ppMsgRet
|
|
DX = exchange
|
|
CX = 4354h ('CT')
|
|
Return: AX = status
|
|
0000h successful
|
|
--------S-7F---------------------------------
|
|
INT 7F - Telebit ACS SERIAL I/O
|
|
ES:SI-> parameter block (see #03867)
|
|
Return: CF set on error
|
|
CF clear on success
|
|
InstallCheck: test for the signature "PDGATEWRKSTNIF" just prior to the
|
|
interrupt handler
|
|
Index: installation check;Telebit ACS Serial I/O
|
|
|
|
Format of Telebit ACS parameter block:
|
|
Offset Size Description (Table 03867)
|
|
00h BYTE command (see #03868)
|
|
01h BYTE gateway number
|
|
02h BYTE reserved
|
|
03h BYTE port
|
|
04h 17 BYTEs auxiliary buffer
|
|
15h BYTE session
|
|
16h WORD count of bytes passed to API
|
|
18h DWORD buffer pointer passed to/from API
|
|
1Ch WORD count of bytes passed from API
|
|
1Eh BYTE return code (see #03869)
|
|
|
|
(Table 03868)
|
|
Values for Telebit ACS command:
|
|
3Ch status
|
|
3Dh connect
|
|
3Eh disconnect
|
|
3Fh read
|
|
40h data/command write
|
|
41h clear receive buffer
|
|
42h get configuration
|
|
43h get receiver status
|
|
44h raw write
|
|
45h search servers
|
|
46h set transmit buffer size
|
|
|
|
(Table 03869)
|
|
Values for Telebit ACS return code:
|
|
00h success
|
|
01h invalid session
|
|
05h servername invalid
|
|
06h NetWare fileserver bindery is locked
|
|
07h communication server not active
|
|
08h general failure in NetWare fileserver
|
|
09h not logged into a fileserver
|
|
10h connection table full
|
|
11h no response from communication server
|
|
12h connection attempt terminated abnormally
|
|
13h connection refused - no sessions available
|
|
14h gateway number/port already in use
|
|
15h invalid connection response
|
|
16h port invalid
|
|
17h incorrect version in server response
|
|
18h gateway number/port combination not configured
|
|
19h initialization has not been completed
|
|
20h no more sockets are available
|
|
21h no active poolname
|
|
23h FATAL internal interface error
|
|
24h registration of host workstation failed - name is already in use
|
|
25h registration of host workstation failed - workstation name table full
|
|
26h registration of host workstation failed - only one session may be
|
|
registered for dial-in
|
|
FFh Telebit ACS API is busy - retry later
|
|
--------N-7F---------------------------------
|
|
INT 7F - Non-dedicated NetWare 2.x File Server - ENTER CONSOLE MODE
|
|
InstallCheck: test for the signature "Lynn" in the four bytes preceding the
|
|
interrupt handler; if present, the current program is running as a
|
|
DOS task on a non-dedicated NetWare 2.x file server.
|
|
Note: Before placing the server into "console" mode, it is recommended that
|
|
NetWare broadcast messages be disabled with INT 21/AH=DEh/DL=00h.
|
|
SeeAlso: INT 21/AH=DEh/DL=04h
|
|
Index: installation check;non-dedicated NetWare server
|
|
--------S-7F---------------------------------
|
|
INT 7F U - YTERM - ???
|
|
SeeAlso: INT 7E"YTERM"
|
|
--------E-7F---------------------------------
|
|
INT 7F - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ7
|
|
Notes: this vector is overwritten when GO32 starts but is not restored by
|
|
early versions of the DOS extender
|
|
the newest versions of GO32 dynamically allocate the vectors used
|
|
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
|
|
SeeAlso: INT 0F"IRQ7",INT 7E"GO32"
|
|
----------7F---------------------------------
|
|
INT 7F - Canon IXHND2 Scanner Interface
|
|
--------U-7F---------------------------------
|
|
INT 7F - SBS WinRun 1.00 - TRANSMITTER ENTRY POINT
|
|
DS:SI -> WinRun control block (WCB) (see #03870)
|
|
Return: WinRun receiver status returned in WCB
|
|
Program: WinRun is a DOS/Windows utility written by Sven B. Schreiber to start
|
|
Windows applications from a virtual DOS machine under Windows
|
|
Note: The WinRun transmitter (WINRUN-T.COM) and receiver (WINRUN-R.EXE) need
|
|
to be up and running
|
|
|
|
Format of the WinRun control block (WCB):
|
|
Offset Size Description (Table 03870)
|
|
00h DWORD pointer to ASCIZ command string
|
|
04h WORD (ret) WinRun receiver status
|
|
0000h-001Fh WinExec() error
|
|
0020h-FFFEh WinExec() instance handle
|
|
FFFFh Windows not running or WinRun receiver not
|
|
installed
|
|
--------N-7F---------------------------------
|
|
INT 7F - Alloy 386/MultiWare (MW386), Novell-Type Network Executive (NTNX)
|
|
Notes: the words at C800h:0000h and C800h:0002h will both be 584Eh if the
|
|
MW386 multitasking system is present (i.e. signature "NXNX")
|
|
NTNX allows its API to be placed on a different interrupt than 7Fh at
|
|
load time. To determine the actual vector used, open the device
|
|
"SPOOLER" with INT 21/AX=3D02h, place it in RAW mode with
|
|
INT 21/AX=4400h and INT 21/AX=4401h, then read one byte which will
|
|
be the actual interrupt number being used; the other interrupts may
|
|
be found with INT 7F/AH=09h/CL=03h
|
|
--------N-7F---------------------------------
|
|
INT 7F - Alloy NetWare Support Kit (ANSK) v2.2+ - INSTALLATION CHECK
|
|
Note: a program may determine that it is running on an ANSK Slave by checking
|
|
the five bytes at F000h:0000h for the ASCIZ signature "ANSK"; this
|
|
address is RAM, and should not be written. However, the above check
|
|
will not work on Slaves with <1MB RAM or those using the SLIM.SYS
|
|
device driver
|
|
--------N-7F00-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK AND WAIT
|
|
AH = 00h
|
|
DS:DX -> ASCIZ semaphore name (max 64 bytes)
|
|
Return: AL = status (see #03871)
|
|
AH = semaphore owner if status=02h
|
|
SeeAlso: AH=01h,AH=02h,AH=41h,INT 67/AH=00h
|
|
|
|
(Table 03871)
|
|
Values for Alloy function status:
|
|
00h successful
|
|
01h invalid function
|
|
02h semaphore already locked
|
|
03h unable to lock/unlock semaphore
|
|
04h semaphore space exhausted
|
|
05h host/target PC did not respond (NTNX)
|
|
--------T-7F00-------------------------------
|
|
INT 7F - MultiLink Advanced v1.0+ - ENQUEUE SYSTEM RESOURCE
|
|
AH = 00h
|
|
BX = resource identifier
|
|
AL = wait flag
|
|
Return: AL = status
|
|
00h successful
|
|
01h resource not available
|
|
02h user error
|
|
InstallCheck: ensure that the interrupt vector is not pointing at segment
|
|
0000h, then test whether the byte at offset 0000h in the interrupt
|
|
handler's segment is E9h
|
|
Notes: function will not return until the resource is available if AL is
|
|
nonzero on entry
|
|
a maximum of 100 resources may be enqueued at once
|
|
SeeAlso: AH=01h"MultiLink"
|
|
--------N-7F00-------------------------------
|
|
INT 7F - G8BPQ v4.07+ - GET NODE/SWITCH VERSION AND DESCRIPTION
|
|
AH = 00h
|
|
ES:SI -> buffer for "USERS" text string
|
|
Return: AX = 4250h ('BP') if installed
|
|
BX = 5120h ('Q ') if installed
|
|
DX = version number (DH = major, DL = minor)
|
|
CX = length of returned string
|
|
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
|
|
John Wiseman which allows a PC to act as a node in an AX.25 network
|
|
SeeAlso: AH=01h"G8BPQ",AH=09h"G8BPQ"
|
|
--------N-7F01-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK
|
|
AH = 01h
|
|
DS:DX -> ASCIZ semaphore name (max 64 bytes)
|
|
Return: AL = status (see #03871)
|
|
AH = semaphore owner if status=02h
|
|
SeeAlso: AH=00h,AH=02h,AH=41h
|
|
--------T-7F01-------------------------------
|
|
INT 7F - MultiLink Advanced v1.0+ - DEQUEUE SYSTEM RESOURCE
|
|
AH = 01h
|
|
BX = resource identifier
|
|
Return: AL = status
|
|
00h successful
|
|
02h user error
|
|
Note: the indicated resource may be dequeued even if it was enqueued by
|
|
another task
|
|
SeeAlso: AH=00h"MultiLink",AH=02h"MultiLink"
|
|
--------V-7F01-------------------------------
|
|
INT 7F - TIGA Communications Driver v2.05 - GET ENTRY POINTS
|
|
AH = 01h
|
|
Return: BX = 1234h if installed
|
|
DX:AX -> array of FAR entry points
|
|
CH = driver major version
|
|
CL = driver minor version
|
|
Note: TIGACD 2.05 returns CF set on unrecognized functions in AX
|
|
SeeAlso: AX=1234h,AX=4321h
|
|
--------N-7F01-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - SET APPLICATION FLAGS AND MASK
|
|
AH = 01h
|
|
AL = stream number (01h-40h)
|
|
CL = new application flags
|
|
bit 7: monitored frames available via AH=0Bh"G8BPQ"
|
|
DL = new application mask
|
|
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
|
|
John Wiseman which allows a PC to act as a node in an AX.25 network
|
|
Range: INT 00h to INT FFh, set in configuration file BPQCFG.TXT for v4.03+
|
|
(earlier versions were hard-wired for INT 7F)
|
|
SeeAlso: AH=00h"G8BPQ",AH=02h"G8BPQ",AH=0Bh"G8BPQ"
|
|
--------I-7F0104BX0000-----------------------
|
|
INT 7F - HLLAPI (IBM 3270 High-Level Language API)/LLAPI (Rabbit Low Level API)
|
|
AX = 0104h (HLLAPI gate ID)
|
|
BX = 0000h
|
|
DS:SI -> parameter control block (see #03872)
|
|
Return: parameter control block updated
|
|
InstallCheck: for the Novell HLLAPI TSR, test for the signature "CXI" (for
|
|
the company Novell bought) immediately prior to the interrupt handler
|
|
SeeAlso: AX=0105h,AX=ABCDh
|
|
|
|
Format of HLLAPI parameter control block:
|
|
Offset Size Description (Table 03872)
|
|
00h 3 BYTEs signature = 'PCB'
|
|
03h BYTE function number (see #03873,#03874)
|
|
04h WORD segment of control string
|
|
06h WORD offset of control string
|
|
08h WORD length of control string, unless explicit end-of-str char set
|
|
0Ah BYTE unused (IBM)
|
|
ControlString[0] (Rabbit)
|
|
0Bh WORD return code (see #03876)
|
|
0Dh WORD maximum length of control string (IBM)
|
|
unused (Rabbit)
|
|
|
|
(Table 03873)
|
|
Values for HLLAPI function number:
|
|
00h OEM function (Query system for Attachmate implementation)
|
|
01h Connect presentation space
|
|
02h Disconnect presentation space
|
|
03h Send string of keystrokes as if typed from keyboard
|
|
04h Wait ~60s, returns status of presentation space
|
|
05h Copy current presentation space into a user-defined buffer
|
|
06h Search presentation space for first occurrence of a specified string
|
|
07h Query cursor location in current presentation space
|
|
08h Copy part or all of current presentation space into user buffer
|
|
09h Set session parameters; parameters vary by vendor (see #03875)
|
|
0Ah Get info on sessions currently connected
|
|
0Bh Lock current presentation space
|
|
0Ch Unlock previously locked presentation space
|
|
0Dh Return copy of operator info area (OIA) of current presentation space
|
|
0Eh get attribute byte for given position in the current presentation space
|
|
0Fh copy string of characters to the current presentation space
|
|
10h workstation control functions
|
|
11h storage manager functions, intended primarily for BASIC applications
|
|
(not implemented by Rabbit)
|
|
12h set delay period in half-second intervals
|
|
14h get info on level of workstation support used
|
|
15h reset session parameters to default values
|
|
16h get detailed info on the current session
|
|
17h start host notification to application on presentation sp or OIA update
|
|
18h check host update when host notification enabled
|
|
19h stop host notification
|
|
1Eh search field within current presentation space for string
|
|
1Fh get first positionof a selected field in the current presentation space
|
|
20h get length of specified field
|
|
21h copy string into a specified field
|
|
22h copy specified field into a user-defined buffer
|
|
23h create alternate presentation space (IBM only), don't use with BASIC
|
|
24h switch to alternate presentation space (IBM only), not with BASIC
|
|
25h display cursor in specified area (IBM only), don't use with BASIC
|
|
26h display alternate presentation space (IBM only), don't use with BASIC
|
|
27h delete alternate presentation space (IBM only), don't use with BASIC
|
|
28h set cursor
|
|
29h start Close Intercept
|
|
2Ah query Close Intercept
|
|
2Bh stop Close Intercept
|
|
32h start intercepting keystrokes to allow filtering
|
|
33h get keystrokes after turning on interception
|
|
34h notify operator when keystroke rejected by filter subroutine
|
|
35h stop intercepting keystrokes
|
|
5Ah send file
|
|
5Bh receive file
|
|
5Ch run a program (not implemented by Rabbit)
|
|
5Dh execute DOS command (not implemented by Rabbit)
|
|
63h change presentation space position to PC display row/col or vice versa
|
|
65h connect to Window Services
|
|
66h disconnect from Window Services
|
|
67h set/query window coordinates
|
|
68h set/query window status
|
|
69h change presentation space name
|
|
78h connect Structured Fields
|
|
79h disconnect Structured Fields
|
|
7Ah query size of communications buffer
|
|
7Bh allocate communications buffer
|
|
7Ch free communications buffer
|
|
7Dh get request completion state
|
|
7Eh read Structured Fields
|
|
7Fh write Structured Fields
|
|
FFh Get info on DCA implementation
|
|
|
|
(Table 03874)
|
|
Values for LLAPI function number:
|
|
80h initialize LLAPI (internal call)
|
|
83h set Session ID (one-character ID)
|
|
84h read Session ID (one-character ID)
|
|
85h lock 327x keyboard
|
|
86h unlock 327x keyboard
|
|
87h wait for Clear to Send
|
|
88h type ASCII character
|
|
89h type 327x key
|
|
8Ah read keyboard lock state
|
|
8Fh force screen update
|
|
90h view session
|
|
91h relinquish (suspend foreground until background becomes idle)
|
|
92h poke screen character
|
|
93h poke translated character
|
|
94h peek screen character
|
|
95h peek translated character
|
|
96h set cursor position
|
|
97h send scan code (Rabbit only)
|
|
98h synchronize (returns after keystroke queue empty)
|
|
99h type PC key (Rabbit only)
|
|
|
|
(Table 03875)
|
|
Values for HLLAPI Function 09h Session Parameters:
|
|
ASCII ??? (Rabbit only)
|
|
ATTRIB return attributes in hex
|
|
NOATTRIB return attributes as blanks
|
|
CONPHYS make physical connection
|
|
CONLOG only make logical connection
|
|
EAB copy extended attribute bytes along with data
|
|
NOEAB copy data only
|
|
ESC=n set escape character to "n" (default '@')
|
|
EOT=n set end of string character (default 00h)
|
|
FPAUSE full-duration pause
|
|
FTNOWAIT return immediately from functions 5Ah and 5Bh (Rabbit only)
|
|
FTWAIT wait for file transfer to complete (Rabbit only)
|
|
IPAUSE interruptable pause
|
|
RABESC ??? (Rabbit only)
|
|
NORABESC ??? (Rabbit only)
|
|
SCANCODE ??? (Rabbit only)
|
|
STRLEN use explicit string lengths
|
|
STREOT use terminated strings
|
|
SRCHALL search entire presentation space
|
|
SRCHFROM search from specified offset
|
|
SRCHFRWD search forward from position 1
|
|
SRCHBKWD search backward from last position in presentation space
|
|
TIMEOUT=n ??? (Rabbit only)
|
|
TWAIT wait specified time for keyboard ready
|
|
LWAIT wait until keyboard ready
|
|
NWAIT no wait
|
|
TRON enable tracing
|
|
TROFF disable tracing
|
|
AUTORESET send reset before sending keys with function 03h
|
|
NORESET don't send reset
|
|
QUIET don't display messages sent with INT 21/AH=09h
|
|
NOQUIET allow messages to be displayed
|
|
TIMEOUT=n set timeout in 30-second intervals, 0 = wait until ^Break
|
|
XLATE translate extended attribute bytes
|
|
NOXLATE don't translate
|
|
NEWRET use HLLAPI v3.0 return code conventions
|
|
OLDRET use HLLAPI v2.0 return code conventions
|
|
|
|
(Table 03876)
|
|
Values for Windows HLLAPI return code:
|
|
00h successful
|
|
01h Presentation Space not connected/requested size unavailable
|
|
02h invalid function or parameter error/invalid block ID
|
|
03h file transfer complete
|
|
04h file transfer complete (segmented)/Presentation Space busy
|
|
05h inhibited or keyboard locked
|
|
06h data truncated
|
|
07h invalid Presentation Space position
|
|
08h operation not available
|
|
09h system error
|
|
0Ah blocking error
|
|
0Bh resource not available
|
|
0Ch session stopped
|
|
14h undefined key combination
|
|
15h OIA updated
|
|
16h Presentation Space updated
|
|
17h both Presentation Space and OIA updated
|
|
18h no such field
|
|
19h no keystrokes available
|
|
1Ah Presentation Space or Operator Information Area changed
|
|
1Bh file transfer aborted
|
|
1Ch zero-length field
|
|
1Eh cursor type invalid
|
|
1Fh keystroke overflow
|
|
20h another application is already connected
|
|
22h message sent to host cancelled
|
|
23h transmission from host cancelled
|
|
24h lost contact with host
|
|
25h function successful
|
|
26h function incomplete
|
|
27h a DDM session is already connected
|
|
28h disconnected, but asynchronous requests still pending
|
|
29h buffer already in use
|
|
2Ah no matching request found
|
|
12Dh invalid function number
|
|
12Eh file not found
|
|
131h access denied
|
|
134h out of memory
|
|
136h environment invalid
|
|
137h format invalid
|
|
270Eh (9998) invalid Presentation Space ID
|
|
270Fh (9999) invalid row or column code
|
|
---Windows HLLAPI extensions---
|
|
F000h asynchronous call already in progress
|
|
F001h invalid asynchronous task ID
|
|
F002h blocking call cancelled
|
|
F003h underlying subsystem not started
|
|
F004h unsupported application version
|
|
--------V-7F0105-----------------------------
|
|
INT 7F - IBM 8514/A Adapter Interface (HDILOAD.EXE)
|
|
AX = 0105h
|
|
Return: CF set on error
|
|
CF clear if successful
|
|
CX:DX -> array of FAR pointers to entry points (see #03877)
|
|
Note: most functions are invoked by pushing the DWORD parameter block pointer
|
|
and then performing a FAR call via the appropriate vector of the
|
|
entry point array, placing the FAR address of the function's
|
|
parameter block on the top of the stack
|
|
SeeAlso: AX=0104h,AX=0106h,AX=ABCDh
|
|
|
|
(Table 03877)
|
|
Values for HDILOAD function number: (do FAR call via entry_points+4*function)
|
|
08h HOPEN Open Adapter (see #03909)
|
|
09h HSMX Set Mix (see #03938)
|
|
10h HINT Interrupt (see #03905)
|
|
13h HLDPAL Load Palette (see #03906)
|
|
15h HBBW BitBLT Write Image Data (see #03892)
|
|
17h HBBR BitBLT Read Image Data (see #03893)
|
|
18h HBBCHN Chained Data Go (see #03891)
|
|
19h HBBC BitBLT Copy Data (see #03890)
|
|
1Dh HQMODE Get Current Mode (see #03915)
|
|
20h HRECT Fill Rectangle (see #03917)
|
|
22h HCLOSE Close Adapter and place in quiescent state (see #03898)
|
|
30h HINIT Initialize State (see #03904)
|
|
31h HSYNC Synchronize Adapter (see #03943)
|
|
39h HSPAL Save Palette (see #03940)
|
|
3Ah HRPAL Restore Palette (see #03920)
|
|
??? HSGQ Set Graphics Quality (see #03929)
|
|
??? HSCOORD Set Coordinate Type (see #03926)
|
|
??? HESC Escape, Terminate Processing (see #03903)
|
|
??? HSBCOL Set Background Color (see #03921)
|
|
??? HSBP Set Bit Plane Controls (see #03922)
|
|
??? HSCMP Set Color Comparison Register (see #03924)
|
|
??? HSCOL Set Color (see #03925)
|
|
??? HSHS Set Scissors (clipping rectangle) (see #03930)
|
|
??? HXLATE Assign Text Color (see #03944)
|
|
??? HQMODES Get Adapter Modes (see #03916)
|
|
??? HQDPS Get Drawing Process State Size (see #03914)
|
|
??? HQDFPAL Get Default Palette (see #03913)
|
|
??? HQCOORD Get Coordinate Type (see #03911)
|
|
??? HQCP Get Current Position (see #03912)
|
|
??? HSMODE Change Mode (see #03936)
|
|
??? HLINE Draw Line at Given Position (see #03907)
|
|
??? HCLINE Draw Line at Current Position (see #03897)
|
|
??? HRLINE Draw Line Relative from Given Position (see #03918)
|
|
??? HCRLINE Draw Line Relative at Current Position (see #03900)
|
|
??? HSLT Set Line Type (see #03933)
|
|
??? HSLW Set Line Width (see #03935)
|
|
??? HSLPC Save Line Pattern Count (see #03932)
|
|
??? HRLPC Restore Line Pattern Count (see #03919)
|
|
??? HCBBW BitBLT Write Image Data at Current Position (see #03894)
|
|
??? HBAR Begin Area (see #03889)
|
|
??? HEAR End Area (see #03901)
|
|
??? HSPATT Set Pattern (see #03941)
|
|
??? HSPATTO Set Pattern Reference Point (see #03942)
|
|
??? HEGS Erase Graphics Screen (see #03902)
|
|
??? HSCP Set Current Position (see #03927)
|
|
??? HMRK Set Marker (see #03908)
|
|
??? HCMRK Set Marker at Current Position (see #03899)
|
|
??? HSMARK Set Marker Shape (see #03937)
|
|
??? HSCS Set Character Set (see #03928)
|
|
??? HCHST Write Character String at Given Position (see #03896)
|
|
??? HCCHST Write Character String at Current Position (see #03895)
|
|
??? HSCELL Set Cell Size for Alphanumeric Text (see #03923)
|
|
??? ABLOCKMFI Write Character/Attribute Block MFI (see #03880)
|
|
??? ABLOCKCGA Write Character Block CGA (see #03878)
|
|
??? AERASE Erase Rectangle (see #03883)
|
|
??? ASCROLL Scroll Rectangle (see #03884)
|
|
??? ACURSOR Set Alphanumerics Cursor Position (see #03882)
|
|
??? ASCUR Set Alphanumeric Cursor Shape (see #03885)
|
|
??? ASFONT Set Font (see #03886)
|
|
??? AXLATE Assign Alphanumeric Color (see #03888)
|
|
|
|
Format of ABLOCKCGA parameter block:
|
|
Offset Size Description (Table 03878)
|
|
00h WORD 000Ah (length of following data)
|
|
02h WORD top-left coordinate of character block
|
|
04h WORD width of block
|
|
06h DWORD -> block of WORDs describing characters (see #03879)
|
|
0Ah BYTE length of block in characters
|
|
0Bh BYTE highlight attribute
|
|
bit 4: transparent background
|
|
bit 5: overstrike
|
|
bit 6: reverse video
|
|
bit 7: underscore
|
|
SeeAlso: #03880
|
|
|
|
Bitfields for one character in ABLOCKCGA character block:
|
|
Bit(s) Description (Table 03879)
|
|
3-0 foreground attribute
|
|
7-4 background attribute
|
|
15-8 character code
|
|
|
|
Format of ABLOCKMFI parameter block:
|
|
Offset Size Description (Table 03880)
|
|
00h WORD 0009h (length of following data)
|
|
02h WORD top-left coordinate of character block
|
|
04h WORD width of block
|
|
06h DWORD -> block of DWORDs describing characters (see #03881)
|
|
0Ah BYTE length of block in characters
|
|
SeeAlso: #03878
|
|
|
|
Bitfields for one character in ABLOCKMFI character block:
|
|
Bit(s) Description (Table 03881)
|
|
7-0 reserved
|
|
9-8 low two bits of font number
|
|
12 transparent background
|
|
13 overstrike
|
|
14 reverse video
|
|
15 underscore
|
|
19-16 foreground color attribute
|
|
23-20 background color attribute
|
|
31-24 character code
|
|
|
|
Format of ACURSOR parameter block:
|
|
Offset Size Description (Table 03882)
|
|
00h WORD 0002h (length of following data)
|
|
02h BYTE column (0-based)
|
|
03h BYTE row (0-based)
|
|
SeeAlso: #03885
|
|
|
|
Format of AERASE parameter block:
|
|
Offset Size Description (Table 03883)
|
|
00h WORD 0005h (length of following data)
|
|
02h BYTE left-most column (0-based)
|
|
03h BYTE top-most row (0-based)
|
|
04h BYTE rectangle's width in character cells
|
|
05h BYTE rectangle's height in character cells
|
|
06h BYTE background color (bits 7-4)
|
|
SeeAlso: #03884
|
|
|
|
Format of ASCROLL parameter block:
|
|
Offset Size Description (Table 03884)
|
|
00h WORD 0006h (length of following data)
|
|
02h BYTE left-most column (0-based) of source
|
|
03h BYTE top-most row (0-based) of source
|
|
04h BYTE rectangle's width in character cells
|
|
05h BYTE rectangle's height in character cells
|
|
06h BYTE left-most column (0-based) of destination
|
|
07h BYTE top-most row (0-based) of destination
|
|
SeeAlso: #03883
|
|
|
|
Format of ASCUR parameter block:
|
|
Offset Size Description (Table 03885)
|
|
00h WORD 0003h (length of following data)
|
|
02h BYTE cursor start line (00h = top of cell, FFh = keep current shape)
|
|
03h BYTE cursor stop line
|
|
04h BYTE cursor attribute
|
|
00h normal
|
|
01h hidden
|
|
02h left-arrow (requires start = 2 and stop = bottom of cell)
|
|
03h right-arrow (requires start = 2 and stop = bottom of cell)
|
|
Notes: no cursor is shown if the start line is greater than the stop line
|
|
the alphanumeric cursor is hidden after each mode change
|
|
SeeAlso: #03882,INT 10/AH=01h
|
|
|
|
Format of ASFONT parameter block:
|
|
Offset Size Description (Table 03886)
|
|
00h WORD 0005h (length of following data)
|
|
02h BYTE font number (0-3)
|
|
03h DWORD -> character set definition block (see #03887)
|
|
|
|
Format of 8514/A character set definition block:
|
|
Offset Size Description (Table 03887)
|
|
00h BYTE reserved
|
|
01h BYTE type of character set
|
|
00h bitmapped, 01h&02h reserved, 03h short-stroke font
|
|
02h BYTE reserved
|
|
03h DWORD reserved
|
|
07h BYTE cell width in pixels
|
|
08h BYTE cell height in pixels
|
|
09h BYTE reserved
|
|
0Ah WORD cell size in bytes
|
|
0Ch WORD flags
|
|
bit 15: reserved (0)
|
|
bit 14: color bitmap
|
|
bit 13: proportional spacing
|
|
0Eh DWORD -> index table
|
|
12h DWORD -> character width table
|
|
16h BYTE initial code point
|
|
17h BYTE final code point
|
|
18h DWORD -> character definition table
|
|
1Ch WORD reserved
|
|
1Eh DWORD -> second character definition table
|
|
22h WORD reserved
|
|
24h DWORD -> third character definition table
|
|
|
|
Format of AXLATE parameter block:
|
|
Offset Size Description (Table 03888)
|
|
00h WORD 0080h (length of following data)
|
|
02h 64 BYTEs character foreground translation table
|
|
42h 64 BYTEs character background translation table
|
|
|
|
Format of HBAR parameter block:
|
|
Offset Size Description (Table 03889)
|
|
00h WORD 0000h (no data following)
|
|
SeeAlso: #03901
|
|
|
|
Format of HBBC parameter block:
|
|
Offset Size Description (Table 03890)
|
|
00h WORD 0010h (length of following data)
|
|
02h WORD data format
|
|
0000h across-the-plane copy (color expansion)
|
|
0008h through-the-plane copy
|
|
04h WORD data rectangle's width
|
|
06h WORD data rectangle's height
|
|
08h BYTE source bit plane number (across-the-plane copies only)
|
|
09h BYTE reserved
|
|
0Ah 2 WORDs X,Y coordinates of source's upper-left corner in display memory
|
|
0Eh 2 WORDs X,Y coordinates of destination's upper-left corner in
|
|
display memory
|
|
Note: copies data from one location in video memory to another
|
|
SeeAlso: #03891
|
|
|
|
Format of HBBCHN parameter block:
|
|
Offset Size Description (Table 03891)
|
|
00h WORD 0006h (length of following data)
|
|
02h DWORD -> data buffer in system memory
|
|
06h WORD number of bytes to transfer
|
|
Note: this function performs the actual data transfer for a bitBLT set up
|
|
with HBBR, HBBW, or HCBBW
|
|
SeeAlso: #03890,#03892,#03893,#03894
|
|
|
|
Format of HBBR parameter block:
|
|
Offset Size Description (Table 03892)
|
|
00h WORD 000Ch or 0014h (length of following data)
|
|
02h WORD data format
|
|
0000h across-the-plane copy (color expansion)
|
|
0008h through-the-plane copy
|
|
04h WORD data rectangle's width
|
|
06h WORD data rectangle's height
|
|
08h BYTE source bit plane number
|
|
09h BYTE reserved
|
|
0Ah 2 WORDs X,Y coordinates of destination's upper-left corner in
|
|
display memory
|
|
---optional---
|
|
0Eh WORD sub-rectangle left margin in pixels
|
|
10h WORD sub-rectangle top margin in pixels
|
|
12h WORD sub-rectangle width
|
|
14h WORD sub-rectangle height
|
|
SeeAlso: #03891,#03892,#03894
|
|
|
|
Format of HBBW parameter block:
|
|
Offset Size Description (Table 03893)
|
|
00h WORD 000Ah or 0012h (length of following data)
|
|
02h WORD data format
|
|
0000h across-the-plane copy (color expansion)
|
|
0008h through-the-plane copy
|
|
04h WORD data rectangle's width
|
|
06h WORD data rectangle's height
|
|
08h 2 WORDs X,Y coordinates of destination in display memory
|
|
---optional---
|
|
0Ch WORD sub-rectangle left margin in pixels
|
|
0Eh WORD sub-rectangle top margin in pixels
|
|
10h WORD sub-rectangle width
|
|
12h WORD sub-rectangle height
|
|
SeeAlso: #03891,#03893,#03894
|
|
|
|
Format of HCBBW parameter block:
|
|
Offset Size Description (Table 03894)
|
|
00h WORD 0006h or 000Eh (length of following data)
|
|
02h WORD data format
|
|
0000h across-the-plane copy (color expansion)
|
|
0008h through-the-plane copy
|
|
04h WORD data rectangle's width
|
|
06h WORD data rectangle's height
|
|
---optional---
|
|
08h WORD sub-rectangle left margin in pixels
|
|
0Ah WORD sub-rectangle top margin in pixels
|
|
0Ch WORD sub-rectangle width
|
|
0Eh WORD sub-rectangle height
|
|
SeeAlso: #03891,#03892,#03893
|
|
|
|
Format of HCCHST parameter block:
|
|
Offset Size Description (Table 03895)
|
|
00h WORD length of following data
|
|
02h N BYTEs ASCII string to display (length given by 'length' field above)
|
|
SeeAlso: #03896
|
|
|
|
Format of HCHST parameter block:
|
|
Offset Size Description (Table 03896)
|
|
00h WORD length of following data
|
|
02h 2 WORDs X,Y of left-bottom corner of string on screen
|
|
06h N BYTEs ASCII string to display (length given by 'length' field above)
|
|
SeeAlso: #03895
|
|
|
|
Format of HCLINE parameter block:
|
|
Offset Size Description (Table 03897)
|
|
00h WORD length of following data (multiple of 4)
|
|
02h 2N WORDs X,Y coordinates for each of N points in polyline
|
|
Notes: the first line segment is drawn beginning at the current position
|
|
on completion, the current position is set to the last point drawn
|
|
SeeAlso: #03907,#03918,#03900
|
|
|
|
Format of HCLOSE parameter block:
|
|
Offset Size Description (Table 03898)
|
|
00h WORD 0001h (length of following data)
|
|
01h BYTE (ret) return code
|
|
SeeAlso: #03909
|
|
|
|
Format of HCMRK parameter block:
|
|
Offset Size Description (Table 03899)
|
|
00h WORD length of following data
|
|
02h 2N WORDs X,Y of N points
|
|
Note: draws N+1 marker symbols, the first one at the current position
|
|
SeeAlso: #03908
|
|
|
|
Format of HCRLINE parameter block:
|
|
Offset Size Description (Table 03900)
|
|
00h WORD length of following data (multiple of 4)
|
|
02h 2N WORDs X,Y coordinates relative to the position of the previous point
|
|
(current position for first point) for each of N points in
|
|
polyline
|
|
Notes: the first line segment is drawn beginning at the current position
|
|
on completion, the current position is set to the last point drawn
|
|
SeeAlso: #03907,#03897,#03918
|
|
|
|
Format of HEAR parameter block:
|
|
Offset Size Description (Table 03901)
|
|
00h WORD 0001h (length of following data)
|
|
02h BYTE area definition flags
|
|
bits 7-6: End Area type
|
|
00 complete, perform fill
|
|
01 suspend definition
|
|
10 complete, but don't fill
|
|
SeeAlso: #03889
|
|
|
|
Format of HEGS parameter block:
|
|
Offset Size Description (Table 03902)
|
|
00h WORD 0000h (no data following)
|
|
|
|
Format of HESC parameter block:
|
|
Offset Size Description (Table 03903)
|
|
00h WORD 0000h (no data following)
|
|
|
|
Format of HINIT parameter block:
|
|
Offset Size Description (Table 03904)
|
|
00h WORD 0002h (length of following data)
|
|
02h WORD segment of task buffer
|
|
SeeAlso: #03943
|
|
|
|
Format of HINT parameter block:
|
|
Offset Size Description (Table 03905)
|
|
00h WORD 0004h (length of following data)
|
|
02h DWORD interrupt/event identifier
|
|
bit 31: vertical blanking
|
|
|
|
Format of HLDPAL parameter block:
|
|
Offset Size Description (Table 03906)
|
|
00h WORD 000Ah (length of following data)
|
|
02h BYTE palette ID (00h = user, 01h = default)
|
|
03h BYTE reserved
|
|
04h WORD number of first palette entry
|
|
06h WORD number of entries
|
|
08h DWORD -> palette entries
|
|
SeeAlso: #03940
|
|
|
|
Format of HLINE parameter block:
|
|
Offset Size Description (Table 03907)
|
|
00h WORD length of following data (multiple of 4)
|
|
02h 2N WORDs X,Y coordinates for each of N points in polyline
|
|
Note: on completion, the current position is set to the last point drawn
|
|
SeeAlso: #03897,#03918,#03900
|
|
|
|
Format of HMRK parameter block:
|
|
Offset Size Description (Table 03908)
|
|
00h WORD length of following data (multiple of 4)
|
|
02h 2N WORDs X,Y for N points
|
|
SeeAlso: #03899
|
|
|
|
Format of HOPEN parameter block:
|
|
Offset Size Description (Table 03909)
|
|
00h WORD 0003h (length of following data)
|
|
01h BYTE initialization flags
|
|
bit 6: don't load default palette
|
|
bit 7: clear bitplanes
|
|
02h BYTE mode type (see #03910)
|
|
03h BYTE (ret) return code
|
|
bit 7: no adapter (hardware mismatch)
|
|
SeeAlso: #03898
|
|
|
|
(Table 03910)
|
|
Values for 8514/A display mode:
|
|
0000h 12x20 characters, 1024x768
|
|
0001h 8x14 characters, 640x480
|
|
0002h 8x14 characters, 1024x768
|
|
0003h 7x15 characters, 1024x768
|
|
|
|
Format of HQCOORD parameter block:
|
|
Offset Size Description (Table 03911)
|
|
00h WORD 0004h (length of following data)
|
|
02h BYTE (ret) coordinate format
|
|
bits 7-4: bytes per coordinate
|
|
bits 3-0: fraction bytes in coordinate
|
|
03h BYTE (ret) relative coordinate format
|
|
bits 7-4: bytes per coordinate
|
|
bits 3-0: fraction bytes in coordinate
|
|
04h BYTE (ret) number of dimensions (2-4)
|
|
05h BYTE (ret) test results
|
|
bit 7: coordinate format not supported
|
|
bit 6: relative coordinate format not supported
|
|
bit 5: specified dimension not supported
|
|
|
|
Format of HQCP parameter block:
|
|
Offset Size Description (Table 03912)
|
|
00h WORD 0004h (length of following data)
|
|
02h WORD (ret) current X position
|
|
04h WORD (ret) current Y position
|
|
|
|
Format of HQDFPAL parameter block:
|
|
Offset Size Description (Table 03913)
|
|
00h WORD 0040h (length of following data)
|
|
02h 16 DWORDs (ret) color index values
|
|
Note: the default palette is set to match the default EGA/VGA 16-color
|
|
palettes
|
|
|
|
Format of HQDPS parameter block:
|
|
Offset Size Description (Table 03914)
|
|
00h WORD 0006h (length of following data)
|
|
02h WORD (ret) size of data buffer in bytes
|
|
04h WORD (ret) stack size in bytes
|
|
06h WORD (ret) size of palette save buffer in bytes
|
|
|
|
Format of HQMODE parameter block:
|
|
Offset Size Description (Table 03915)
|
|
00h WORD 0012h (length of following data)
|
|
02h BYTE current video mode (see #03910)
|
|
03h WORD driver version
|
|
bit 6: 80286/8086 CPU
|
|
bit 5: 8 bit planes instead of 4 planes
|
|
bits 4-0: hardware release number
|
|
05h BYTE adapter type
|
|
03h 8514/A
|
|
04h XGA
|
|
06h BYTE reserved (display type)
|
|
07h BYTE character cell width
|
|
08h BYTE character cell height
|
|
09h BYTE number of bit planes
|
|
0Ah WORD screen width (pixels)
|
|
0Ch WORD screen height (pixels)
|
|
0Eh WORD horizontal resolution (pixels/inch)
|
|
10h WORD vertical resolution (pixels/inch)
|
|
12h BYTE flag: 00h = monochrome, FFh = color
|
|
13h BYTE intensity levels
|
|
SeeAlso: #03916
|
|
|
|
Format of HQMODES parameter block:
|
|
Offset Size Description (Table 03916)
|
|
00h WORD 0021h (length of following data)
|
|
02h BYTE (ret) adapter type
|
|
03h 32 BYTEs (ret) available display modes (FFh byte marks end of data)
|
|
SeeAlso: #03915
|
|
|
|
Format of HRECT parameter block:
|
|
Offset Size Description (Table 03917)
|
|
00h WORD 0008h (legth of following data)
|
|
02h 2 WORDs X,Y coordinates of top left corner or rectangle
|
|
06h WORD rectangle's width
|
|
08h WORD rectangle's height
|
|
Note: the rectangle is filled using the current pattern, color, and mix
|
|
|
|
Format of HRLINE parameter block:
|
|
Offset Size Description (Table 03918)
|
|
00h WORD length of following data (multiple of 4)
|
|
02h 2 WORDs X,Y coordinates of starting point
|
|
06h 2N WORDs X,Y coordinates relative to the position of the previous point
|
|
for each of N points in polyline
|
|
Note: on completion, the current position is set to the last point drawn
|
|
SeeAlso: #03907,#03897,#03900
|
|
|
|
Format of HRLPC parameter block:
|
|
Offset Size Description (Table 03919)
|
|
00h WORD 0000h (no data following)
|
|
Note: used for continuity of lines crossing scissors boundaries
|
|
SeeAlso: #03932
|
|
|
|
Format of HRPAL parameter block:
|
|
Offset Size Description (Table 03920)
|
|
00h WORD 0300h (length of following data)
|
|
02h 768 BYTEs buffer containing previously-saved palette table
|
|
SeeAlso: #03940
|
|
|
|
Format of HSBCOL parameter block:
|
|
Offset Size Description (Table 03921)
|
|
00h WORD 0004h (length of following data)
|
|
02h DWORD color index for new background color
|
|
SeeAlso: #03925
|
|
|
|
Format of HSBP parameter block:
|
|
Offset Size Description (Table 03922)
|
|
00h WORD 000Ch (length of following data)
|
|
02h DWORD bitmask for graphics updates
|
|
06h DWORD bitmask for alphanumeric updates
|
|
0Ah DWORD display bitmask
|
|
|
|
Format of HSCELL parameter block:
|
|
Offset Size Description (Table 03923)
|
|
00h
|
|
|
|
Format of HSCMP parameter block:
|
|
Offset Size Description (Table 03924)
|
|
00h WORD 0005h (length of following data)
|
|
02h DWORD comparison color
|
|
06h BYTE logical operation
|
|
00h True
|
|
01h pel > testcolor
|
|
02h pel == testcolor
|
|
03h pel < testcolor
|
|
04h False
|
|
05h pel >= testcolor
|
|
06h pel <> testcolor
|
|
07h pel <= testcolor
|
|
|
|
Format of HSCOL parameter block:
|
|
Offset Size Description (Table 03925)
|
|
00h WORD 0004h (length of following data)
|
|
02h DWORD color index for new foreground color
|
|
SeeAlso: #03921
|
|
|
|
Format of HSCOORD parameter block:
|
|
Offset Size Description (Table 03926)
|
|
00h WORD 0003h (length of following data)
|
|
02h BYTE coordinate format
|
|
bits 7-4: bytes per coordinate
|
|
bits 3-0: fraction bytes in coordinate
|
|
03h BYTE relative coordinates format
|
|
bits 7-4: bytes per coordinate
|
|
bits 3-0: fraction bytes in coordinate
|
|
04h BYTE number of dimensions (2-4)
|
|
|
|
Format of HSCP parameter block:
|
|
Offset Size Description (Table 03927)
|
|
00h WORD 0004h (length of following data)
|
|
02h 2 WORDs X,Y or coordinate for new current position
|
|
|
|
Format of HSCS parameter block:
|
|
Offset Size Description (Table 03928)
|
|
00h WORD 0004h (length of following data)
|
|
02h DWORD -> character set definition
|
|
|
|
Format of HSGQ parameter block:
|
|
Offset Size Description (Table 03929)
|
|
00h WORD 0002h (length of following data)
|
|
02h WORD quality settings (see #03931)
|
|
|
|
Format of HSHS parameter block:
|
|
Offset Size Description (Table 03930)
|
|
00h WORD 0008h (length of following data)
|
|
02h WORD left edge of clipping rectangle (-2048 to +6143)
|
|
04h WORD right edge
|
|
06h WORD top edge
|
|
08h WORD bottom edget
|
|
|
|
Bitfields for 8514/A quality settings:
|
|
Bit(s) Description (Table 03931)
|
|
15 reserved
|
|
14 high precision
|
|
13 reserved
|
|
12-11 pel code
|
|
00 not drawn
|
|
01 drawn
|
|
02 conditional on overpainting/mixes
|
|
10 don't close areas to be filed
|
|
9-0 reserved
|
|
|
|
Format of HSLPC parameter block:
|
|
Offset Size Description (Table 03932)
|
|
00h WORD 0000h (no data following)
|
|
Note: used for continuity of lines crossing scissors boundaries
|
|
SeeAlso: #03919
|
|
|
|
Format of HSLT parameter block:
|
|
Offset Size Description (Table 03933)
|
|
00h WORD 0006h (length of following data)
|
|
02h BYTE line type (see #03934)
|
|
03h BYTE reserved
|
|
04h DWORD -> user line-type definition (if user type)
|
|
SeeAlso: #03935
|
|
|
|
(Table 03934)
|
|
Values for 8514/A line type:
|
|
00h user line type
|
|
01h dotted
|
|
02h short dashes
|
|
03h dash-dot
|
|
04h double dotted
|
|
05h dashed
|
|
06h dash double dot
|
|
07h solid
|
|
08h invisible
|
|
SeeAlso: #03933
|
|
|
|
Format of HSLW parameter block:
|
|
Offset Size Description (Table 03935)
|
|
00h WORD 0001h (length of following data)
|
|
02h BYTE width of line in pixels
|
|
SeeAlso: #03933
|
|
|
|
Format of HSMODE parameter block:
|
|
Offset Size Description (Table 03936)
|
|
00h WORD 0001h (length of following data)
|
|
02h BYTE new display mode number (see #03910)
|
|
|
|
Format of HSMRK paramter block:
|
|
Offset Size Description (Table 03937)
|
|
00h WORD 000Eh (length of following data)
|
|
02h BYTE cell width
|
|
03h BYTE cell height
|
|
04h BYTE flags
|
|
05h BYTE reserved
|
|
06h WORD length of marker symbol
|
|
08h DWORD -> image definition data
|
|
0Ch DWORD -> color definition data
|
|
SeeAlso: #03941
|
|
|
|
Format of HSMX parameter block:
|
|
Offset Size Description (Table 03938)
|
|
00h WORD 0002h (length of following data)
|
|
02h BYTE foreground mix (see #03939)
|
|
03h BYTE background mix (see #03939)
|
|
|
|
(Table 03939)
|
|
Values for 8514/A mix:
|
|
00h retain previous mix
|
|
01h source OR destination
|
|
02h source
|
|
04h source XOR destination
|
|
05h leave as-is
|
|
06h max(source,destination)
|
|
07h min(source,destination)
|
|
08h source+destination (clipped)
|
|
09h destination-source (clipped to zero)
|
|
0Ah source-destination (clipped to zero)
|
|
0Bh average source and destination
|
|
10h zero destination
|
|
11h source AND destination
|
|
12h source AND NOT destination
|
|
13h source
|
|
14h NOT source AND destination
|
|
15h leave as-is
|
|
16h source XOR destination
|
|
17h source OR destination
|
|
18h NOT source AND NOT destination
|
|
19h NOT (source XOR destination)
|
|
1Ah NOT destination
|
|
1Bh source OR NOT destination
|
|
1Ch NOT source
|
|
1Dh NOT source OR destination
|
|
1Eh NOT source OR NOT destination
|
|
1Fh set all bits of destination
|
|
|
|
Format of HSPAL parameter block:
|
|
Offset Size Description (Table 03940)
|
|
00h WORD 0300h (length of following data)
|
|
02h 768 BYTEs buffer for palette table
|
|
SeeAlso: #03906,#03920
|
|
|
|
Format of HSPATT parameter block:
|
|
Offset Size Description (Table 03941)
|
|
00h WORD 000Eh (length of following data)
|
|
02h BYTE cell width
|
|
03h BYTE cell height
|
|
04h BYTE flags
|
|
05h BYTE reserved
|
|
06h WORD length of marker symbol
|
|
08h DWORD -> image definition data
|
|
0Ch DWORD -> color definition data
|
|
SeeAlso: #03937,#03942
|
|
|
|
Format of HSPATTO parameter block:
|
|
Offset Size Description (Table 03942)
|
|
00h WORD 0004h (length of following data)
|
|
02h 2 WORDs X,Y of pattern reference point (origin)
|
|
SeeAlso: #03941
|
|
|
|
Format of HSYNC parameter block:
|
|
Offset Size Description (Table 03943)
|
|
00h WORD 0002h (length of following data)
|
|
02h WORD segment of task state buffer
|
|
SeeAlso: #03904
|
|
|
|
Format of HXLATE parameter block:
|
|
Offset Size Description (Table 03944)
|
|
00h WORD 0020h (length of following data)
|
|
02h 32 BYTEs color index table
|
|
--------V-7F0105-----------------------------
|
|
INT 7F - IBM XGA Adapter Interface (XGAAIDOS.SYS)
|
|
AX = 0105h
|
|
Return: CF set on error
|
|
CF clear if successful
|
|
CX:DX -> array of FAR pointers to entry points (see #03877)
|
|
Note: this API is a superset of the 8514/A Adapter Interface
|
|
(see AX=0105h"HDILOAD")
|
|
--------V-7F0106-----------------------------
|
|
INT 7F - HDILOAD Mach32 Adapter Interface - UNINSTALL
|
|
AX = 0106h
|
|
Return: AX = 0105h if successfully unloaded
|
|
SeeAlso: AX=0105h
|
|
--------N-7F02-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - RELEASE SEMAPHORE
|
|
AH = 02h
|
|
DS:DX -> ASCIZ semaphore name (max 64 bytes)
|
|
Return: AL = status (see #03871)
|
|
AH = semaphore owner if status=02h
|
|
SeeAlso: AH=00h,AH=01h,AH=42h
|
|
--------T-7F02-------------------------------
|
|
INT 7F - MultiLink Advanced v1.0+ - RELEASE CPU
|
|
AH = 02h
|
|
Return: ???
|
|
Desc: yields CPU to other tasks
|
|
SeeAlso: AH=00h"MultiLink",AH=09h"MultiLink",INT 15/AX=1000h
|
|
--------N-7F02-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - SEND FRAME
|
|
AH = 02h
|
|
AL = stream number (01h-40h)
|
|
CX = length of frame
|
|
ES:SI -> frame to be sent
|
|
SeeAlso: AH=00h"G8BPQ",AH=03h"G8BPQ",AH=07h"G8BPQ",AH=0Ah"G8BPQ"
|
|
--------f-7F0200-----------------------------
|
|
INT 7F - Btrieve Multi-User - GIVE UP TIME???
|
|
AX = 0200h
|
|
SeeAlso: INT 2F/AX=AB01h,INT 2F/AX=AB02h,INT 7B"Btrieve"
|
|
--------N-7F03-------------------------------
|
|
INT 7F - Alloy ANSK, NTNX, MW386 - GET USER NUMBER
|
|
AH = 03h
|
|
Return: AL = user number
|
|
AH = machine number (MW386)
|
|
Note: this function call is the recommended method for a CPU-bound process to
|
|
prevent its priority from being lowered
|
|
SeeAlso: AH=04h,AH=05h,AH=A1h
|
|
--------N-7F03-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE FRAME
|
|
AH = 03h
|
|
AL = stream number (01h-40h)
|
|
ES:DI -> buffer for frame (must be large enough for a full frame; 350
|
|
bytes is usually sufficient)
|
|
Return: BX = number of pending frames (0000h if returned frame was last avail)
|
|
CX = length of received frame
|
|
SeeAlso: AH=02h"G8BPQ",AH=07h"G8BPQ",AH=0Bh"G8BPQ"
|
|
--------N-7F04-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET NUMBER OF USERS
|
|
AH = 04h
|
|
Return: AL = total number of users on currrent machine (MW386)
|
|
AL = number of slaves on system (NTNX)
|
|
SeeAlso: AH=03h
|
|
--------N-7F04-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - GET STREAM STATUS
|
|
AH = 04h
|
|
AL = stream number (01h-40h)
|
|
Return: CX = state (0000h disconnected, 0001h connected)
|
|
DX = delta state (0000h no change, 0001h changed since last check)
|
|
SeeAlso: AH=00h"G8BPQ",AH=02h"G8BPQ",AH=05h"G8BPQ"
|
|
--------N-7F05-------------------------------
|
|
INT 7F - Alloy NTNX (Host) - LOCK/UNLOCK SYSTEM, SPOOLER CONTROL
|
|
AH = 05h
|
|
AL = function
|
|
00h lock system (disable slave services)
|
|
01h unlock system
|
|
02h enable spooler
|
|
03h disable spooler
|
|
04h enable slave timer update
|
|
05h disable slave timer update
|
|
06h enable form feeds
|
|
07h disable form feeds
|
|
SeeAlso: INT 17/AH=A4h
|
|
--------N-7F05-------------------------------
|
|
INT 7F - Alloy NTNX (Slave), MW386 - GET USER PARAMETERS
|
|
AH = 05h
|
|
DX:DI -> buffer for user information record (see #03945)
|
|
Notes: MW386 provides this function for backward compatibility only, and sets
|
|
many of the fields to zero because they are meaningless under MW386
|
|
this function has no effect when called by the host (user 0)
|
|
SeeAlso: AH=03h
|
|
|
|
Format of Alloy user information record:
|
|
Offset Size Description (Table 03945)
|
|
00h WORD segment of video RAM
|
|
02h WORD segment of secondary copy of video RAM
|
|
04h WORD offset of screen update flag (see INT 10/AH=8Bh)
|
|
flag nonzero if update needed
|
|
06h WORD video NMI enable port
|
|
(not used by MW386, set to 0000h)
|
|
08h WORD video NMI disable port
|
|
(not used by MW386, set to 0000h)
|
|
0Ah BYTE processor type
|
|
00h 8088
|
|
01h V20
|
|
02h 8086
|
|
03h V30
|
|
06h 80386
|
|
0Bh WORD multitasking flag (00h = single tasking, 01h = multitasking)
|
|
(not used by MW386, set to 0000h)
|
|
0Dh WORD offset of terminal driver
|
|
(not used by MW386, set to 0000h)
|
|
0Fh BYTE port for console I/O
|
|
(not used by MW386, set to 0000h)
|
|
10h WORD offset of processor communication busy flag
|
|
bit 7 set when slave communicating with host
|
|
12h WORD pointer to FAR NX system call
|
|
(not used by MW386, set to 0000h)
|
|
14h WORD offset of 16-byte user configuration record (see AH=38h)
|
|
16h WORD offset of command/status word
|
|
18h WORD offset of screen valid flag (see INT 10/AH=93h)
|
|
nonzero if screen must be repainted
|
|
1Ah WORD offset of screen repaint flag
|
|
1Ch WORD pointer to NEAR NX system call
|
|
(not used by MW386, set to 0000h)
|
|
1Eh WORD offset for intercept flags
|
|
(not used by MW386, set to 0000h)
|
|
intercept flag = FFh if MS-DOS intercepts should be disabled
|
|
20h WORD offset of terminal lock flag (see INT 10/AH=92h)
|
|
lock flag = FFh if backgrnd screen updates should be suspended
|
|
22h 26 BYTEs reserved
|
|
--------N-7F05-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - ACKNOWLEDGE STREAM STATUS CHANGE
|
|
AH = 05h
|
|
AL = stream number (01h-40h)
|
|
Note: this function must be called in order to receive a report of another
|
|
status change
|
|
SeeAlso: AH=00h"G8BPQ",AH=04h"G8BPQ"
|
|
--------N-7F06-------------------------------
|
|
INT 7F - Alloy NTNX (Host) - GET SHARED DRIVE INFO
|
|
AH = 06h
|
|
AL = drive number (1=A:, 2=B:, etc)
|
|
ES:DI -> drive info record (see #03946)
|
|
Return: AX = status
|
|
0000h successful
|
|
ES:DI buffer filled
|
|
0001h not shared drive
|
|
|
|
Format of Alloy drive info record:
|
|
Offset Size Description (Table 03946)
|
|
00h WORD segment of drive IO-REQUEST structure (MS-DOS DPB)
|
|
02h WORD segment of allocation map (owner table)
|
|
one byte per FAT entry, containing user ID owning that entry
|
|
04h WORD segment of master FAT for drive (copy of FAT on disk)
|
|
06h WORD pointer to configuration file
|
|
08h WORD total number of clusters
|
|
0Ah WORD bytes per sector
|
|
0Ch WORD sectors per cluster
|
|
0Eh BYTE FAT type (0Ch = 12-bit, 10h = 16-bit)
|
|
--------N-7F06-------------------------------
|
|
INT 7F - Alloy NTNX (Slave) - ALLOCATE FREE CLUSTER ON SHARED DRIVE
|
|
AH = 06h
|
|
DL = drive number (1=A:,2=B:,etc)
|
|
CX = number of clusters to allocate
|
|
Return: AH = status
|
|
00h successful
|
|
CX = number of clusters still free
|
|
10h invalid shared drive request
|
|
CL = first and second shared drives
|
|
11h invalid cluster count (must be 01h-FFh)
|
|
--------N-7F06-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - SESSION CONTROL
|
|
AH = 06h
|
|
AL = stream number (01h-40h)
|
|
CX = subfunction
|
|
0000h connect to node
|
|
DL bit 0: use BBS callsign instead of Node Call
|
|
0001h connect to node
|
|
use BBS Call if APPLMASK=1
|
|
0002h disconnect
|
|
0003h return user to node
|
|
SeeAlso: AH=01h"G8BPQ",AH=04h"G8BPQ"
|
|
--------N-7F07-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET LIST OF SHARED DRIVES
|
|
AH = 07h
|
|
Return: ES:DI -> shared drive list (see #03947)
|
|
Note: MW386 considers all fixed disks to be shared drives; only C and D will
|
|
be returned as shared
|
|
|
|
Format of Alloy shared drive list:
|
|
Offset Size Description (Table 03947)
|
|
00h BYTE string length
|
|
01h BYTE number of shared drives
|
|
02h N BYTEs one byte per shared drive
|
|
--------N-7F07-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - GET BUFFER COUNTS FOR STREAM
|
|
AH = 07h
|
|
AL = stream number (01h-40h)
|
|
Return: BX = number of pending receive frames
|
|
CX = number of unacknowledged sent frames
|
|
DX = number of buffers available
|
|
SeeAlso: AH=02h"G8BPQ",AH=03h"G8BPQ"
|
|
--------N-7F08-------------------------------
|
|
INT 7F - Alloy NTNX (Host) - GET INTERRUPT VECTORS
|
|
AH = 08h
|
|
CL = function
|
|
00h get original interrupt vector
|
|
01h get Network Executive interrrupt
|
|
AL = interrupt number
|
|
DX:SI -> DWORD to hold interrupt vector
|
|
Return: AL = status
|
|
00h successful
|
|
01h interrupt vector not used by network executive
|
|
02h invalid subfunction
|
|
Note: the network executive uses interrupts 02h,08h,09h,0Fh,10h,13h,16h-19h,
|
|
1Ch,20h,28h,2Ah,2Fh,5Bh,67h,7Fh,ECh, and F0h-FFh
|
|
SeeAlso: AH=09h/CL=03h,INT 21/AH=35h
|
|
--------N-7F08--CL02-------------------------
|
|
INT 7F - Alloy NTNX - SET MESSAGE DISPLAY TIMEOUT
|
|
AH = 08h
|
|
CL = 02h
|
|
DX = timeout in seconds
|
|
Return: AL = status
|
|
00h successful
|
|
02h invalid subfunction
|
|
--------N-7F08-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - PORT CONTROL/INFORMATION
|
|
AH = 08h
|
|
AL = stream number (01h-40h)
|
|
Return: ES:DI -> 10-byte buffer containing blank-padded callsign
|
|
---v4.05+ ---
|
|
AL = radio port to which channel is connected (level 2)
|
|
AH = session type (see #03948)
|
|
BX = L2 paclen for session
|
|
CX = maximum frame size
|
|
DX = L4 window size or 0000h if not L4 circuit
|
|
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
|
|
John Wiseman which allows a PC to act as a node in an AX.25 network
|
|
SeeAlso: AH=01h"G8BPQ",AH=02h"G8BPQ",AH=03h"G8BPQ",AH=0Ah"G8BPQ"
|
|
|
|
Bitfields for G8BPQ session type:
|
|
Bit(s) Description (Table 03948)
|
|
0 L2LINK
|
|
1 SESSION
|
|
2 UPLINK
|
|
3 DOWNLIND
|
|
5 BPQHOST
|
|
--------T-7F09-------------------------------
|
|
INT 7F - MultiLink Advanced v1.0+ - SET TASK PRIORITY
|
|
AH = 09h
|
|
AL = priority (0-7)
|
|
Return: nothing
|
|
InstallCheck: ensure that the interrupt vector is not pointing at segment
|
|
0000h, then test whether the byte at offset 0000h in the interrupt
|
|
handler's segment is E9h
|
|
Index: installation check;MultiLink Advanced
|
|
SeeAlso: AH=00h"MultiLink",AH=0Ah"MultiLink"
|
|
--------N-7F09-------------------------------
|
|
INT 7F - G8BPQ - proposed addition - GET NODE/APPLICATION CALLSIGN AND ALIAS
|
|
AH = 09h
|
|
AL = application
|
|
00h node
|
|
01h BBS
|
|
02h HOST
|
|
03h SYSOP
|
|
BL = what to get (00h callsign, 01h application name)
|
|
ES:SI -> buffer for callsign/name string
|
|
Return: CX = length of returned string
|
|
SeeAlso: AH=00h"G8BPQ",AH=01h"G8BPQ",AH=0Ch"G8BPQ"
|
|
--------N-7F09-------------------------------
|
|
INT 7F - Alloy NTNX - ENABLE/DISABLE MUD FILE CHECKING
|
|
AH = 09h
|
|
CL = function
|
|
00h enable checking of RTNX.MUD file
|
|
01h disable RTNX.MUD checking
|
|
--------N-7F09--CL02-------------------------
|
|
INT 7F - Alloy NTNX - SWITCH HOST TO DEDICATED MODE
|
|
AH = 09h
|
|
CL = 02h
|
|
Note: in dedicated mode, the host will only poll for I/O requests from the
|
|
slave processors, and not provide workstation services
|
|
--------N-7F09--CL03-------------------------
|
|
INT 7F - Alloy NTNX,MW386 - GET ALTERNATE INTERRUPT
|
|
AH = 09h
|
|
CL = 03h
|
|
AL = default interrupt number (67h,7Fh,etc)
|
|
Return: CL = actual interrupt which handles specified interrupt's calls
|
|
SeeAlso: AH=08h
|
|
--------N-7F0A--CL00-------------------------
|
|
INT 7F - Alloy NTNX - GET SYSTEM FLAGS
|
|
AH = 0Ah
|
|
CL = 00h
|
|
ES:DI -> buffer for system flags (see #03949)
|
|
Return: ES:DI buffer filled
|
|
Notes: on a slave, only the NX_Busy flag is returned
|
|
all three flags are at fixed positions, so this function only needs to
|
|
be called once
|
|
an interrupt handler should only perform DOS or device accesses when
|
|
all three flags are 00h
|
|
|
|
Format of Alloy system flags:
|
|
Offset Size Description (Table 03949)
|
|
00h DWORD pointer to NX_Busy flag (nonzero when communicating with users)
|
|
04h DWORD pointer to device driver busy flag
|
|
08h DWORD pointer to InTimer flag
|
|
--------N-7F0A-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - TRANSMIT RAW (KISS) FRAME
|
|
AH = 0Ah
|
|
AL = radio port
|
|
ES:SI -> buffer containing data to be sent
|
|
CX = number of bytes to send
|
|
SeeAlso: AH=02h"G8BPQ",AH=08h"G8BPQ",AH=0Bh"G8BPQ"
|
|
--------T-7F0A-------------------------------
|
|
INT 7F - MultiLink Advanced v1.0+ - SET KEYBOARD TEST STATUS
|
|
AH = 0Ah
|
|
AL = task-switch status
|
|
00h normal (disable task when it repeatedly polls keyboard)
|
|
01h disable task until keyboard input available
|
|
FFh never disable task
|
|
Return: ???
|
|
SeeAlso: AH=09h"MultiLink"
|
|
--------N-7F0B--CL02-------------------------
|
|
INT 7F - Alloy NTNX (Host) - SET/RESET GRAPHICS DOS ON SLAVE
|
|
AH = 0Bh
|
|
CL = 02h
|
|
AL = slave ID number
|
|
CH = DOS to activate
|
|
00h graphics DOS
|
|
01h character DOS
|
|
Return: AL = status
|
|
00h successful
|
|
01h nothing done, proper DOS type already loaded
|
|
--------N-7F0B-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE TRACE (RAW DATA) FRAME
|
|
AH = 0Bh
|
|
ES:DI -> buffer for received data (see #03950)
|
|
Return: CX = number of bytes received
|
|
Note: the specified buffer must be large enough to receive a full frame
|
|
SeeAlso: AH=03h"G8BPQ",AH=08h"G8BPQ",AH=0Ah"G8BPQ"
|
|
|
|
Format of G8BPQ received data:
|
|
Offset Size Description (Table 03950)
|
|
00h WORD internal control information
|
|
02h BYTE port number (bit 7 set if transmitted frame)
|
|
03h WORD frame length including this header
|
|
05h var user data
|
|
--------N-7F0C-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - UPDATE SWITCH INFORMATION
|
|
AH = 0Ch
|
|
DX = function
|
|
0001h update beacon text
|
|
CX = length of data
|
|
ES:SI -> data to be sent in beacons
|
|
0002h (v4.07+) initiate NODES broadcast
|
|
SeeAlso: AH=09h"G8BPQ"
|
|
--------N-7F0D00-----------------------------
|
|
INT 7F - G8BPQ v4.07+ - HOST MODE - GET AVAILABLE STREAM
|
|
AX = 0D00h
|
|
Return: AL = first available stream number, or FFh if none free
|
|
SeeAlso: AH=00h"G8BPQ",AH=0Dh
|
|
--------N-7F0D-------------------------------
|
|
INT 7F - G8BPQ v4.07+ - HOST MODE - ALLOCATE/DEALLOCATE STREAM
|
|
AH = 0Dh
|
|
AL = stream number (01h-FFh)
|
|
CL = function
|
|
01h allocate stream
|
|
Return: CX = status (0000h successful, else already in use)
|
|
02h deallocate stream
|
|
SeeAlso: AX=0D00h
|
|
--------N-7F0F-------------------------------
|
|
INT 7F - G8BPQ v4.00+ - HOST MODE - GET TIME MARKER
|
|
AH = 0Fh
|
|
Return: AX = time marker (clock ticks modulo 64K)
|
|
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
|
|
John Wiseman which allows a PC to act as a node in an AX.25 network
|
|
SeeAlso: AH=01h"G8BPQ",AX=0D00h,INT 1A/AH=00h
|
|
--------N-7F10--CL00-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - OPEN CHANNEL
|
|
AH = 10h
|
|
CL = 00h
|
|
AL = channel number
|
|
DX:DI -> channel buffer
|
|
Return: AL = status (00h-03h,0Dh) (see #03951)
|
|
Note: may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=01h,AH=10h/CL=04h,AH=14h/CL=02h
|
|
|
|
(Table 03951)
|
|
Values for Alloy function status:
|
|
00h successful
|
|
01h busy
|
|
02h channel range error (not 00h-3Fh)
|
|
03h invalid subfunction
|
|
0Ah channel not open
|
|
0Ch channel already locked
|
|
0Dh unable to open
|
|
--------N-7F10--CL01-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE CHANNEL
|
|
AH = 10h
|
|
CL = 01h
|
|
AL = channel number
|
|
Return: AL = status (00h-03h,0Ah) (see #03951)
|
|
Note: may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=00h,AH=10h/CL=05h
|
|
--------N-7F10--CL02-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK CHANNEL
|
|
AH = 10h
|
|
CL = 02h
|
|
AL = channel number
|
|
Return: AL = status (00h-03h,0Ah,0Ch) (see #03951)
|
|
Note: may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=03h,AH=10h/CL=06h,AH=10h/CL=08h
|
|
--------N-7F10--CL03-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK CHANNEL
|
|
AH = 10h
|
|
CL = 03h
|
|
AL = channel number
|
|
Return: AL = status (00h-03h,0Ah) (see #03951)
|
|
Notes: should only be used on channels locked with AH=10h/CL=02h, not on those
|
|
locked by receipt of a datagram
|
|
may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=02h,AH=10h/CL=04h,AH=10h/CL=09h
|
|
--------N-7F10--CL04-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - RELEASE BUFFER
|
|
AH = 10h
|
|
CL = 04h
|
|
AL = channel number
|
|
Return: AL = status (00h-03h) (see #03951)
|
|
Notes: unlocks buffer after received datagram has been processed
|
|
may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=00h
|
|
--------N-7F10--CL05-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE ALL CHANNELS
|
|
AH = 10h
|
|
CL = 05h
|
|
Return: AL = status (00h-03h) (see #03951)
|
|
Notes: clears all pending datagrams and clears buffer pointers before closing
|
|
the channels
|
|
may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=01h
|
|
--------N-7F10--CL06-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK ALL OPEN CHANNELS
|
|
AH = 10h
|
|
CL = 06h
|
|
Return: AL = status (00h-03h) (see #03951)
|
|
Note: may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=02h,AH=10h/CL=08h
|
|
--------N-7F10--CL07-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK ALL LOCKED IDLE CHANNELS
|
|
AH = 10h
|
|
CL = 07h
|
|
Return: AL = status (00h-03h) (see #03951)
|
|
Notes: unlocks all locked channels which have no pending datagrams
|
|
may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=03h,AH=10h/CL=09h
|
|
--------N-7F10--CL08-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK MULTIPLE CHANNELS
|
|
AH = 10h
|
|
CL = 08h
|
|
DX = maximum channel number to lock
|
|
Return: AL = status (00h-03h) (see #03951)
|
|
Notes: locks channels numbered 00h through the value in DX
|
|
may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=02h,AH=10h/CL=06h,AH=10h/CL=09h
|
|
--------N-7F10--CL09-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK MULTIPLE CHANNELS
|
|
AH = 10h
|
|
CL = 09h
|
|
DX = maximum channel number to unlock
|
|
Return: AL = status (00h-03h) (see #03951)
|
|
Notes: unlocks channels numbered 00h through the value in DX
|
|
may not be invoked from within a hardware interrupt handler
|
|
SeeAlso: AH=10h/CL=03h,AH=10h/CL=07h,AH=10h/CL=08h
|
|
--------N-7F11-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - SEND DATAGRAM
|
|
AH = 11h
|
|
DX:SI -> request block (see #03953)
|
|
Return: AL = status (see #03952)
|
|
Note: if wildcard channel FFh used, actual channel number will be filled in
|
|
SeeAlso: AH=12h
|
|
|
|
(Table 03952)
|
|
Values for Alloy function status:
|
|
00h successful
|
|
01h busy
|
|
02h channel range error (not 00h-3Fh)
|
|
03h invalid subfunction
|
|
0Ah packet too large (or <2 bytes if NTNX)
|
|
0Bh can't send packet to itself
|
|
0Ch invalid number of destinations
|
|
0Dh destination channel number out of range
|
|
0Eh destination user is busy
|
|
0Fh destination user has locked channel
|
|
10h channel not open
|
|
11h no datagram server on destination (NTNX)
|
|
|
|
Format of Alloy request block:
|
|
Offset Size Description (Table 03953)
|
|
00h DWORD pointer to packet to send
|
|
04h WORD packet size in bytes (1-4096)
|
|
06h BYTE number of destinations for packet (max 1Fh)
|
|
07h 31 BYTEs destination user IDs (FFh = broadcast to all except sender)
|
|
26h 31 BYTEs destination channels (FFh = first available channel)
|
|
45h 31 BYTEs return destination statuses
|
|
--------N-7F12-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - ACKNOWLEDGE DATAGRAM
|
|
AH = 12h
|
|
AL = channel number being acknowledged
|
|
DI:DX = 32-bit status to return to sender
|
|
Return: AL = status (see #03954)
|
|
Note: also unlocks the channel, allowing the next datagram to be received
|
|
SeeAlso: AH=11h,AH=15h/CL=04h
|
|
|
|
(Table 03954)
|
|
Values for Alloy function status:
|
|
00h successful
|
|
01h busy
|
|
02h channel range error (not 00h-3Fh)
|
|
03h invalid subfunction
|
|
0Ah channel not open
|
|
0Bh no message in channel
|
|
0Ch destination slave busy--retry (NTNX)
|
|
0Dh destination user not active
|
|
0Eh destination slave not active (NTNX)
|
|
0Fh destination disabled datagram service
|
|
--------V-7F1234-----------------------------
|
|
INT 7F - TIGA Communications Driver v2.05 - UNINSTALL
|
|
AX = 1234h
|
|
SeeAlso: AX=4321h
|
|
--------N-7F13--CL00-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - RESET USER DATAGRAMS
|
|
AH = 13h
|
|
CL = 00h
|
|
Note: clears all pending datagrams and removes all channels opened in NTNX
|
|
compatibility mode
|
|
--------N-7F14--CL00-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - SET RECEIVE ISR
|
|
AH = 14h
|
|
CL = 00h
|
|
DX:DI -> application FAR receive service routine (see #03955)
|
|
Return: AL = status (00h-03h) (see #03954)
|
|
SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h
|
|
|
|
(Table 03955)
|
|
Values Alloy receive service routine is called with:
|
|
DH = sender ID
|
|
DL = channel with datagram
|
|
interrupts disabled
|
|
Return: AL = response code
|
|
00h leave buffer locked, set channel status, and repeat call later
|
|
01h release channel buffer
|
|
02h change buffer pointer to DX:DI
|
|
AH,CX,DX,DI,SI may be destroyed
|
|
--------N-7F14--CL01-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - SET ACKNOWLEDGE ISR
|
|
AH = 14h
|
|
CL = 01h
|
|
DX:DI -> application FAR acknowledge service routine (see #03956)
|
|
Return: AL = status (00h-03h) (see #03954)
|
|
Note: the service routine will be called as soon as an acknowledgment arrives
|
|
SeeAlso: AH=12h,AH=14h/CL=00h,AH=14h/CL=04h,AH=15h/CL=04h
|
|
|
|
(Table 03956)
|
|
Values Alloy acknowledge service routine is called with:
|
|
DS:SI -> acknowledge structure (see #03960)
|
|
Return: AL = response code
|
|
00h application busy, network executive should call again later
|
|
01h acknowledge accepted
|
|
AH,DX,SI may be destroyed
|
|
--------N-7F14--CL02-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - SET CHANNEL BUFFER POINTER
|
|
AH = 14h
|
|
CL = 02h
|
|
AL = channel number
|
|
DX:DI -> receive buffer
|
|
Return: AL = status (00h-03h) (see #03954)
|
|
Note: may be called from within a receive ISR or when a datagram is pending
|
|
SeeAlso: AH=10h/CL=00h,AH=14h/CL=00h
|
|
--------N-7F14--CL03-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET RECEIVE ISR
|
|
AH = 14h
|
|
CL = 03h
|
|
Return: DX:DI -> current receive ISR
|
|
SeeAlso: AH=14h/CL=00h,AH=14h/CL=04h
|
|
--------N-7F14--CL04-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET ACKNOWLEDGE ISR
|
|
AH = 14h
|
|
CL = 04h
|
|
Return: DX:DI -> current acknowledge ISR
|
|
SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h
|
|
--------N-7F14--CL05-------------------------
|
|
INT 7F - Alloy NTNX (Host), MW386 - GET BUSY POINTER
|
|
AH = 14h
|
|
CL = 05h
|
|
DX:DI -> buffer for busy structure (see #03957)
|
|
Return: DX:DI buffer filled
|
|
|
|
Format of Alloy busy structure:
|
|
Offset Size Description (Table 03957)
|
|
00h DWORD pointer to busy flag byte
|
|
04h WORD fixed port address (FF00h)
|
|
--------N-7F15--CL00-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET CHANNEL STATUS
|
|
AH = 15h
|
|
CL = 00h
|
|
AL = channel number
|
|
DX:DI -> status structure (see #03958)
|
|
Return: AL = status (00h-03h) (see #03954)
|
|
SeeAlso: AH=15h/CL=01h
|
|
|
|
Format of Alloy channel status structure:
|
|
Offset Size Description (Table 03958)
|
|
00h BYTE channel status
|
|
bit 0: channel open
|
|
bit 1: channel buffer contains received data
|
|
bit 7: channel locked
|
|
01h BYTE sender ID
|
|
--------N-7F15--CL01-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET NEXT FULL CHANNEL
|
|
AH = 15h
|
|
CL = 01h
|
|
DX:DI -> full-channel structure (see #03959)
|
|
Return: AL = status
|
|
00h successful
|
|
01h busy
|
|
0Ah no datagrams available
|
|
Note: MW386 v1.0 returns the lowest channel with a datagram; newer versions
|
|
and NTNX return the oldest datagram
|
|
SeeAlso: AH=15h/CL=00h
|
|
|
|
Format of Alloy full-channel structure:
|
|
Offset Size Description (Table 03959)
|
|
00h BYTE number of channel with oldest datagram
|
|
01h BYTE sender ID
|
|
--------N-7F15--CL02-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET MAXIMUM NUMBER OF CHANNELS
|
|
AH = 15h
|
|
CL = 02h
|
|
Return: AH = number of channels available (40h for MW386)
|
|
Note: the application may always assume at least 32 channels available
|
|
SeeAlso: AH=15h/CL=03h
|
|
--------N-7F15--CL03-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET MAXIMUM PACKET SIZE
|
|
AH = 15h
|
|
CL = 03h
|
|
DX:DI -> WORD for return value
|
|
Return: buffer WORD filled with maximum packet size (4096 for MW386)
|
|
SeeAlso: AH=15h/CL=02h
|
|
--------N-7F15--CL04-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET AND CLEAR ACKNOWLEDGE STATUS
|
|
AH = 15h
|
|
CL = 04h
|
|
DX:DI -> status structure (see #03960)
|
|
Return: AL = status
|
|
00h successful
|
|
DX:DI structure filled
|
|
01h busy
|
|
0Ah no acknowledgement has arrived
|
|
SeeAlso: AH=12h,AH=14h/CL=01h
|
|
|
|
Format of Alloy status structure:
|
|
Offset Size Description (Table 03960)
|
|
00h BYTE sender ID
|
|
01h BYTE channel number
|
|
02h 4 BYTEs receiver status (see #03954)
|
|
--------N-7F16-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - DIRECT MEMORY TRANSFER
|
|
AH = 16h
|
|
DX:SI -> transfer structure (see #03961)
|
|
Return: AL = status
|
|
00h successful
|
|
0Ah source or destination out of range
|
|
0Bh transfer kernel busy--try again
|
|
Notes: this call transfers memory contents directly between users; both source
|
|
and destination user IDs may differ from the caller's ID
|
|
no segment wrap is allowed
|
|
|
|
Format of Alloy transfer structure:
|
|
Offset Size Description (Table 03961)
|
|
00h WORD bytes to transfer
|
|
02h BYTE source ID
|
|
FEh = caller
|
|
03h DWORD source address
|
|
07h BYTE destination ID
|
|
FFh = all slaves except caller
|
|
FEh = caller
|
|
08h DWORD destination address
|
|
--------N-7F21-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - SEND MESSAGE OR COMMAND TO USER(S)
|
|
AH = 21h
|
|
AL = sender's user ID
|
|
DS:DX -> control packet (see #03962)
|
|
Note: messages or commands are ignored if disabled by the destination user
|
|
SeeAlso: AH=22h
|
|
|
|
Format of Alloy control packet:
|
|
Offset Size Description (Table 03962)
|
|
00h BYTE packet type
|
|
00h message
|
|
01h NTNX command
|
|
02h MW386 command
|
|
01h BYTE destination user ID or 'A' for all users
|
|
02h 62 BYTEs ASCIZ message (packet type 00h)
|
|
BIOS keycodes terminated by NUL byte (type 01h) or word (02h)
|
|
Note: a maximum of 16 keycodes will be processed for NTNX and MW386 commands
|
|
--------N-7F22-------------------------------
|
|
INT 7F - Alloy NTNX - GET MESSAGE
|
|
AH = 22h
|
|
Return: pending messages displayed on user's screen
|
|
SeeAlso: AH=21h
|
|
--------N-7F24-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - ATTACH OR RELEASE DRIVE FOR LOW-LEVEL WRITE ACCESS
|
|
AH = 24h
|
|
CL = function
|
|
00h attach
|
|
01h release
|
|
CH = drive (0=A:,1=B:,etc)
|
|
Return: AX = status (see #03963)
|
|
Note: only drives on the current machine may be attached
|
|
|
|
(Table 03963)
|
|
Values for Alloy function status:
|
|
00h successful
|
|
01h invalid request
|
|
02h already attached
|
|
03h not attached
|
|
04h lock table full
|
|
--------N-7F24-------------------------------
|
|
INT 7F - Alloy NTNX - ATTACH/RELEASE HOST PROCESSOR
|
|
AH = 24h
|
|
CL = function
|
|
02h attach host
|
|
03h release host
|
|
Return: AX = status (see #03963)
|
|
Note: the host processor may be attached in order to perform I/O via the host
|
|
--------N-7F25--CL00-------------------------
|
|
INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE VERSION
|
|
AH = 25h
|
|
CL = 00h
|
|
Return: AH = version suffix letter
|
|
CH = major version number
|
|
CL = minor version number
|
|
SeeAlso: AH=25h/CL=01h
|
|
--------N-7F25--CL01-------------------------
|
|
INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE TYPE
|
|
AH = 25h
|
|
CL = 01h
|
|
Return: CL = executive type (see #03964)
|
|
SeeAlso: AH=25h/CL=00h
|
|
|
|
(Table 03964)
|
|
Values for Alloy network executive type:
|
|
00h RTNX
|
|
01h ATNX
|
|
02h NTNX
|
|
03h BTNX
|
|
04h MW386
|
|
05h ANSK
|
|
--------V-7F2525-----------------------------
|
|
INT 7F - TIGA Communications Driver v2.05 - ???
|
|
AX = 2525h
|
|
BX = ???
|
|
Return: ???
|
|
SeeAlso: AX=4321h,AX=5555h
|
|
--------N-7F26--CL00-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - GET NTNX FILE MODE
|
|
AH = 26h
|
|
CL = 00h
|
|
Return: AX = file mode bits (see #03965)
|
|
Note: MW386 does not support file modes, and always returns AX=001Fh
|
|
SeeAlso: AH=26h,AH=26h/CL=06h
|
|
|
|
Bitfields for Alloy file mode bits:
|
|
Bit(s) Description (Table 03965)
|
|
0 directory protection enabled
|
|
1 extended open enabled
|
|
2 flush on every disk write
|
|
3 flush on every disk write in locked interval
|
|
4 flush on reads from simultaneously opened file
|
|
--------N-7F26-------------------------------
|
|
INT 7F - Alloy NTNX - SET FILE I/O CHECKING LEVEL
|
|
AH = 26h
|
|
CL = check type to set/reset
|
|
01h directory protection
|
|
02h extended open
|
|
03h flush on every disk write
|
|
04h flush on disk write if any lock set during write
|
|
05h flush on all reads if file written
|
|
AL = new state (00h off, 01h on)
|
|
SeeAlso: AH=26h/CL=00h,AH=26h/CL=06h
|
|
--------N-7F26--CL06-------------------------
|
|
INT 7F - Alloy NTNX - CANCEL FLUSH ON WRITE
|
|
AH = 26h
|
|
CL = 06h
|
|
Note: cancels flags set by AH=26h/CL=03h and AH=26h/CL=04h
|
|
SeeAlso: AH=26h/CL=00h
|
|
--------N-7F30-------------------------------
|
|
INT 7F - Alloy MW386 - GET PORT INFORMATION
|
|
AH = 30h
|
|
CX = MW386 port number
|
|
Return: AL = result
|
|
FFh if port not found
|
|
else driver unit number
|
|
BL = port mode
|
|
BH = port type
|
|
02h remote
|
|
DH = owner's machine ID
|
|
DL = owner's user ID
|
|
SeeAlso: INT 17/AH=8Bh
|
|
--------N-7F31-------------------------------
|
|
INT 7F - Alloy MW386 v1.x only - CHECK PORT ASSIGNMENT
|
|
AH = 31h
|
|
???
|
|
Return: ???
|
|
--------N-7F37-------------------------------
|
|
INT 7F - Alloy NTNX (Host) - GET SEMAPHORE TABLE
|
|
AH = 37h
|
|
Return: ES:AX -> semaphore table
|
|
--------N-7F37-------------------------------
|
|
INT 7F - Alloy ANSK, NTNX (Slave) - DUMP STRING TO TERMINAL
|
|
AH = 37h
|
|
DS:DX -> ASCIZ string to display
|
|
Note: if the string is empty, a terminal update will be forced
|
|
--------N-7F38-------------------------------
|
|
INT 7F - Alloy NTNX (Slave), MW386 - SET NEW TERMINAL DRIVER
|
|
AH = 38h
|
|
AL = new terminal driver number
|
|
FFh dummy driver
|
|
FEh current driver
|
|
FDh load new driver
|
|
DS:SI -> new driver
|
|
SeeAlso: AH=39h
|
|
--------N-7F39-------------------------------
|
|
INT 7F - Alloy MW386 - SET TERMINAL DRIVER FOR ANOTHER USER
|
|
AH = 39h
|
|
AL = new terminal driver number
|
|
FFh dummy driver
|
|
FEh current driver
|
|
FDh load new driver
|
|
DS:SI -> new driver
|
|
DL = user number (FFh = caller)
|
|
DH = machine number if DL <> FFh
|
|
Return: CF set if invalid user number
|
|
CF clear if successful
|
|
Notes: only available to supervisors
|
|
the new driver number will not take effect until the user is rebooted
|
|
SeeAlso: AH=38h
|
|
--------N-7F3A-------------------------------
|
|
INT 7F - Alloy MW386 - GET TERMINAL PARAMETERS
|
|
AH = 3Ah
|
|
DL = user number (FFh = caller)
|
|
DH = machine number
|
|
Return: CF clear if successful
|
|
AH = terminal driver number
|
|
AL = baud rate (00h = 38400, 01h = 19200, etc)
|
|
CL = parity (00h none, 01h even, 02h odd)
|
|
CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
|
|
CF set if invalid user number
|
|
SeeAlso: AH=3Bh
|
|
--------N-7F3B-------------------------------
|
|
INT 7F - Alloy MW386 - SET TERMINAL PARAMETERS
|
|
AH = 3Bh
|
|
AL = baud rate (00h = 38400, 01h = 19200, etc)
|
|
CL = parity (00h none, 01h even, 02h odd)
|
|
CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
|
|
DL = user number (FFh = caller)
|
|
DH = machine number for user
|
|
Return: CF set if invalid user number
|
|
Notes: only available to supervisors
|
|
the new parameters will take effect immediately if the user's terminal
|
|
has not been started, else AH=3Dh must be called to post the changes
|
|
SeeAlso: AH=3Ah,AH=3Dh
|
|
--------N-7F3C-------------------------------
|
|
INT 7F - Alloy MW386 - ENABLE/DISABLE AUTOBAUD DETECT
|
|
AH = 3Ch
|
|
AL = new state (00h disabled, 01h enabled)
|
|
DL = user number (FFh = caller)
|
|
DH = machine number for user
|
|
Return: CF set if invalid user number
|
|
Note: only available to supervisors
|
|
SeeAlso: AH=3Dh
|
|
--------N-7F3D-------------------------------
|
|
INT 7F - Alloy MW386 - POST TERMINAL CONFIGURATION CHANGES
|
|
AH = 3Dh
|
|
Note: should be called whenever a program changes the terminal type or its
|
|
parameters
|
|
SeeAlso: AH=3Bh
|
|
--------N-7F41-------------------------------
|
|
INT 7F - Alloy NTNX - LOCK FILE FOR USER
|
|
AH = 41h
|
|
AL = user ID
|
|
DS:DX -> ASCIZ filename
|
|
Return: AL = status (see #03966)
|
|
Note: requests exclusive read/write access to file
|
|
SeeAlso: AH=00h,AH=41h"MW386",AH=42h"NTNX"
|
|
|
|
(Table 03966)
|
|
Values for Alloy function status:
|
|
00h successful
|
|
01h invalid function
|
|
02h already locked
|
|
03h unable to lock
|
|
04h lock table full or semaphore space exhausted
|
|
--------N-7F41-------------------------------
|
|
INT 7F - Alloy MW386 - LOCK SEMAPHORE FOR USER
|
|
AH = 41h
|
|
AL = user ID
|
|
DS:DX -> ASCIZ semaphore name
|
|
Return: AL = status (see #03966)
|
|
SeeAlso: AH=00h,AH=42h"MW386"
|
|
--------s-7F4150BHC1-------------------------
|
|
INT 7F U - Voyetra - AAPISG - API
|
|
AX = 4150h ('AP')
|
|
BH = C1h
|
|
BL = function (00h-13h)
|
|
00h initialize (fails except first time called)
|
|
???
|
|
Return: AX = status???
|
|
0000h successful
|
|
0001h failed
|
|
Program: AAPISG is a driver by Voyetra for the Aztech Sound Galaxy sound board
|
|
BUG: the function range check uses JL instead of JB, so it will cause a
|
|
crash if BL >= 80h on entry
|
|
SeeAlso: AX=4331h,AX=564Dh,AX=5658h
|
|
--------N-7F42-------------------------------
|
|
INT 7F - Alloy NTNX - UNLOCK FILE FOR USER
|
|
AH = 42h
|
|
AL = user ID
|
|
DS:DX -> ASCIZ filename
|
|
Return: AL = status (see #03966)
|
|
SeeAlso: AH=00h,AH=41h"NTNX",AH=42h"MW386"
|
|
--------N-7F42-------------------------------
|
|
INT 7F - Alloy MW386 - UNLOCK SEMAPHORE FOR USER
|
|
AH = 42h
|
|
AL = user ID
|
|
DS:DX -> ASCIZ semaphore name
|
|
Return: AL = status
|
|
00h successful
|
|
01h invalid function
|
|
03h unable to unlock semaphore
|
|
SeeAlso: AH=02h,AH=41h"MW386",AH=42h"NTNX"
|
|
--------V-7F4321-----------------------------
|
|
INT 7F - TIGA Communications Driver v2.05 - INSTALLATION CHECK
|
|
AX = 4321h
|
|
Return: AX = 0000h if installed
|
|
Note: INT 7F is the default, but may be overridden
|
|
SeeAlso: AH=01h"TIGA",AX=1234h,AX=2525h,AX=4321h,AX=5555h
|
|
--------s-7F4331BHC1-------------------------
|
|
INT 7F U - Voyetra - VAPISG - API
|
|
AX = 4331h ('C1')
|
|
BH = C1h
|
|
BL = function (00h-7Ah)
|
|
???
|
|
Return: ???
|
|
Program: VAPISG is a MIDI driver by Voyetra for the Aztech Sound Galaxy
|
|
sound board
|
|
SeeAlso: AX=4150h,AX=564Dh,AX=5658h
|
|
--------N-7F4E-------------------------------
|
|
INT 7F - Alloy MW386 v2+ - SET ERROR MODE
|
|
AH = 4Eh
|
|
AL = error mode flags
|
|
bit 0: display critical disk errors
|
|
bit 1: display sharing errors
|
|
DX = 4E58h ("NX")
|
|
Return: AL = status
|
|
00h successful
|
|
SeeAlso: AH=4Fh
|
|
--------N-7F4F-------------------------------
|
|
INT 7F - Alloy MW386 v2+ - SET FCB MODE
|
|
AH = 4Fh
|
|
AL = FCB mode
|
|
02h read/write compatibility
|
|
42h read/write shared
|
|
DX = 4E58h ("NX")
|
|
Return: AL = status
|
|
00h successful
|
|
--------V-7F5555-----------------------------
|
|
INT 7F - TIGA Communications Driver v2.05 - ???
|
|
AX = 5555h
|
|
BX = ???
|
|
Return: ???
|
|
SeeAlso: AX=4321h
|
|
--------s-7F564DBHC1-------------------------
|
|
INT 7F U - Voyetra Multimedia Player - VMP.EXE API
|
|
AX = 564Dh ('VM')
|
|
BH = C1h
|
|
BL = function (00h-1Bh)
|
|
00h ???
|
|
Return: CF clear
|
|
AX = 0000h
|
|
???
|
|
Return: AX = FFFFh if invalid function
|
|
???
|
|
SeeAlso: AX=4331h,AX=5658h
|
|
--------s-7F5658BHC1-------------------------
|
|
INT 7F U - Voyetra - VAPISG - API
|
|
AX = 5658h ('VX')
|
|
BH = C1h
|
|
BL = function (00h-1Bh)
|
|
???
|
|
Return: ???
|
|
Program: VAPISG is a MIDI driver by Voyetra for the Aztech Sound Galaxy
|
|
sound board
|
|
SeeAlso: AX=4331h,AX=564Dh
|
|
--------N-7F81-------------------------------
|
|
INT 7F - Alloy NTNX - ATTACH DEVICE FOR USER
|
|
AH = 81h
|
|
AL = user ID
|
|
DS:DX -> ASCIZ device name
|
|
SeeAlso: AH=82h
|
|
--------N-7F82-------------------------------
|
|
INT 7F - Alloy NTNX - RELEASE DEVICE FOR USER
|
|
AH = 82h
|
|
AL = user ID
|
|
DS:DX -> ASCIZ device name
|
|
SeeAlso: AH=81h
|
|
--------N-7FA0-------------------------------
|
|
INT 7F - Alloy MW386 - GET USER NAME
|
|
AH = A0h
|
|
DL = user number (FFh = caller)
|
|
DH = machine number for user
|
|
ES:DI -> 17-byte buffer for ASCIZ user name
|
|
Return: CF set if invalid user number
|
|
SeeAlso: AH=03h,AH=A1h
|
|
--------N-7FA1-------------------------------
|
|
INT 7F - Alloy MW386 - GET MACHINE, USER, AND PROCESS NUMBER
|
|
AH = A1h
|
|
Return: AL = process number
|
|
DL = user number
|
|
DH = machine number
|
|
SeeAlso: AH=03h,AH=A0h,AH=A2h
|
|
--------N-7FA2-------------------------------
|
|
INT 7F - Alloy MW386 - GET USER PRIVILEGE LEVEL
|
|
AH = A2h
|
|
DL = user number (FFh = caller)
|
|
DH = machine number for user
|
|
Return: CF clear if successful
|
|
AL = privilege level
|
|
00h supervisor
|
|
01h high
|
|
02h medium
|
|
03h low
|
|
CF set if invalid user number
|
|
SeeAlso: AH=A1h,AH=A3h
|
|
--------N-7FA3-------------------------------
|
|
INT 7F - Alloy MW386 - GET USER LOGIN STATE
|
|
AH = A3h
|
|
DL = user number
|
|
DH = machine number for user
|
|
Return: CF clear if successful
|
|
AL = login state
|
|
00h never logged in
|
|
01h currently logged out
|
|
03h currently logged in
|
|
CF set if invalid user number or user not active
|
|
SeeAlso: AH=A2h
|
|
--------N-7FA4-------------------------------
|
|
INT 7F - Alloy MW386 - VERIFY USER PASSWORD
|
|
AH = A4h
|
|
DS:DX -> ASCIZ password (null-padded to 16 bytes)
|
|
Return: AL = status
|
|
00h accepted
|
|
else invalid password
|
|
--------N-7FA500-----------------------------
|
|
INT 7F - Alloy MW386 - GET USER STATUS
|
|
AX = A500h
|
|
DI = machine number and user number
|
|
Return: CF clear if successful
|
|
BX = user flags
|
|
bit 5: allow messages
|
|
CL = scan code for task manager hotkey
|
|
CH = scan code for spooler hotkey
|
|
DL = scan code for task swapper hotkey
|
|
DH = modifier key status
|
|
CF set if invalid user number
|
|
SeeAlso: AX=A501h
|
|
Index: hotkeys;Alloy MW386
|
|
--------N-7FA501-----------------------------
|
|
INT 7F - Alloy MW386 - SET USER STATUS
|
|
AX = A501h
|
|
BX = user flags (see AX=A500h)
|
|
CL = scan code for task manager hotkey
|
|
CH = scan code for spooler hotkey
|
|
DL = scan code for task swapper hotkey
|
|
DH = modifier key status
|
|
DI = machine number and user number
|
|
Return: CF set if invalid user number
|
|
Note: must have supervisor privilege to set another user's status
|
|
SeeAlso: AX=A500h
|
|
Index: hotkeys;Alloy MW386
|
|
--------V-7FABCDBX0000-----------------------
|
|
INT 7F - IBM 8516 Touch Screen Device Driver - GET API ENTRY
|
|
AX = ABCDh
|
|
BX = 0000h
|
|
Return: AX = total number of functions available
|
|
ES:BX -> entry point array (see #03967)
|
|
SeeAlso: AX=0104h,AX=0105h
|
|
|
|
(Table 03967)
|
|
Values for 8516 Touch Screen function number:
|
|
00h check initialization and reset (see #03968)
|
|
14h set user-defined subroutine (see #03969)
|
|
Notes: each driver function takes two stack parameters using Pascal calling
|
|
conventions: address of parameter block and address of results buffer
|
|
all pointers are FAR pointers
|
|
on return, AX contains the status of the call:
|
|
AX = 0000h successful
|
|
0001h invalid input
|
|
0002h interface error
|
|
0003h unable to perform function
|
|
|
|
Format of 8516 Touch Screen Function 00h parameter block:
|
|
Offset Size Description (Table 03968)
|
|
00h WORD 0000h (function number)
|
|
Note: this function should be called before any other device driver functions
|
|
|
|
Format of 8516 Touch Screen Function 00h results buffer:
|
|
Offset Size Description (Table 03969)
|
|
00h WORD touch screen status
|
|
0000h unavailable
|
|
0001h uncalibrated
|
|
FFFFh available
|
|
02h WORD aux mouse status (0000h not present, FFFFh present)
|
|
Notes: the following driver parameters will have been reset to zero:
|
|
touchdown counter, liftoff counter, position at last touch, position
|
|
at last lift, int call mask, select on count, select off count,
|
|
pos select on count, pos select off count.
|
|
the following driver parameters will have been reset as listed:
|
|
mouse emulation mode: left on
|
|
thresholds: 46 on screen, 96 push harder, 80 push release
|
|
x, y hysteresis: 400
|
|
data repeat rate: 40/sec
|
|
select mechanism: push-harder - first-touch
|
|
coordinate origin: upper left corner
|
|
filter frequency: medium
|
|
data block mask: all enabled
|
|
click lock: on
|
|
--------N-7FB0-------------------------------
|
|
INT 7F - Alloy NTNX, MW386 - RELEASE ALL SEMAPHORES FOR USER
|
|
AH = B0h
|
|
AL = user number
|
|
DS = code segment
|
|
Note: MW386 ignores AL and DS; it releases all semaphores locked using INT 67
|
|
or INT 7F locking functions
|
|
SeeAlso: AH=B1h,AH=B2h,AH=B3h,AH=B4h
|
|
--------N-7FB1--SF00-------------------------
|
|
INT 7F - Alloy NTNX, MW386 - RELEASE NORMAL SEMAPHORES FOR USER
|
|
AH = B1h subfn 00h
|
|
AL = (bits 7-5) 000
|
|
(bits 4-0) user ID
|
|
Note: MW386 ignores AL; it releases all semaphores locked using INT 67 or
|
|
INT 7F locking functions
|
|
SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B4h
|
|
--------N-7FB2--SF01-------------------------
|
|
INT 7F - Alloy NTNX - RELEASE MESSAGES FOR USER
|
|
AH = B2h subfn 01h
|
|
AL = (bits 7-5) 001
|
|
(bits 4-0) user ID
|
|
SeeAlso: AH=B0h,AH=B1h,AH=B3h,AH=B4h
|
|
--------N-7FB3--SF02-------------------------
|
|
INT 7F - Alloy NTNX - RELEASE FILES FOR USER
|
|
AH = B3h subfn 02h
|
|
AL = (bits 7-5) 010
|
|
(bits 4-0) user ID
|
|
SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B4h
|
|
--------N-7FB4-------------------------------
|
|
INT 7F - Alloy NTNX - RELEASE DEVICES FOR USER
|
|
AH = B4h
|
|
AL = user ID
|
|
SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B3h
|
|
--------N-7FC3-------------------------------
|
|
INT 7F - Alloy MW386 - WRITE BYTE TO TERMINAL AUX PORT
|
|
AH = C3h
|
|
AL = byte to write
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
SeeAlso: AH=C6h
|
|
--------N-7FC5-------------------------------
|
|
INT 7F - Alloy MW386 - CHANGE CONSOLE MODE
|
|
AH = C5h
|
|
AL = new console mode
|
|
00h keyboard indirect
|
|
01h keyboard direct
|
|
02h data handshake enforced
|
|
03h no data handshake
|
|
Return: CF clear if successful
|
|
AL = prior console mode
|
|
CF set on error (caller is not remote user)
|
|
Note: modes 2 and 3 may be used for input through the console port; no video
|
|
output should be performed in these modes
|
|
--------N-7FC6-------------------------------
|
|
INT 7F - Alloy MW386 - WRITE BYTE TO CONSOLE PORT
|
|
AH = C6h
|
|
AL = byte to write
|
|
Return: CF clear if successful
|
|
CF set on error (caller is not remote user)
|
|
Note: any terminal driver data translation will be bypassed
|
|
SeeAlso: AH=C3h,AH=C7h
|
|
--------N-7FC7-------------------------------
|
|
INT 7F - Alloy MW386 - READ CONSOLE DATA BYTE
|
|
AH = C7h
|
|
Return: CF clear if successful
|
|
AL = byte read
|
|
CF set on error (no data available or caller is not remote user)
|
|
Note: used to read data after placing console in mode 2 or 3 (see AH=C5h)
|
|
SeeAlso: AH=C5h,AH=C6h,AH=C8h
|
|
--------N-7FC8-------------------------------
|
|
INT 7F - Alloy MW386 - READ CONSOLE DATA INTO BUFFER
|
|
AH = C8h
|
|
AL = maximum bytes to read
|
|
ES:DI -> buffer for console data
|
|
Return: CF clear if successful
|
|
CX = number of bytes read
|
|
CF set on error (caller is not remote user)
|
|
SeeAlso: AH=C7h
|
|
--------N-7FCF-------------------------------
|
|
INT 7F - Alloy NTNX - REBOOT USER PROCESSOR
|
|
AH = CFh
|
|
DS:DX -> ASCIZ string containing user number to be reset
|
|
SeeAlso: AH=D6h
|
|
--------N-7FD6-------------------------------
|
|
INT 7F - Alloy MW386 - RESET NETWORK EXECUTIVE
|
|
AH = D6h
|
|
DS:DX -> reset packet (see #03970)
|
|
Return: never if successful
|
|
Note: all users will be shut down immediately if successful
|
|
SeeAlso: AH=CFh
|
|
|
|
Format of Alloy MW386 reset packet:
|
|
Offset Size Description (Table 03970)
|
|
00h DWORD reset code (60606060h)
|
|
04h 16 BYTEs ASCIZ supervisor password padded with nulls
|
|
--------N-7FD7-------------------------------
|
|
INT 7F - Alloy MW386 - POST EVENT
|
|
AH = D7h
|
|
AL = user number (if local event)
|
|
DX = event number
|
|
--------N-7FD8-------------------------------
|
|
INT 7F - Alloy MW386 - FLUSH DISK BUFFERS
|
|
AH = D8h
|
|
Return: CF set on error
|
|
Note: forces all disk buffers to be written out immediately
|
|
SeeAlso: INT 21/AH=0Dh,INT 21/AX=5D01h,INT 2F/AX=1120h
|
|
--------N-7FDB-------------------------------
|
|
INT 7F - Alloy MW386 v2+ - GET MW386 INVOCATION DRIVE
|
|
AH = DBh
|
|
Return: AL = drive from which MW386 was started (2=C:,3=D:,etc)
|
|
--------N-7FE0-------------------------------
|
|
INT 7F - Alloy MW386 - CREATE DOS TASK
|
|
AH = E0h
|
|
AL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
|
|
DS:DX -> ASCIZ task name (max 16 bytes)
|
|
Return: CF clear if successful
|
|
AL = task create ID
|
|
CF set on error
|
|
Note: only foreground DOS tasks can use this function
|
|
SeeAlso: AH=E1h,AH=E2h,AH=E3h,AH=E6h,AH=E7h
|
|
--------N-7FE1-------------------------------
|
|
INT 7F - Alloy MW386 - GET DOS TASK PID FROM CREATE ID
|
|
AH = E1h
|
|
AL = create ID (from AH=E0h)
|
|
Return: AL = DOS process number
|
|
CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
|
|
Note: this function should not be called immediately after creating a new
|
|
DOS task, since the new task is being initialized by a concurrent
|
|
process
|
|
SeeAlso: AH=E0h,AH=E2h
|
|
--------N-7FE2-------------------------------
|
|
INT 7F - Alloy MW386 - SWITCH TO NEW DOS TASK
|
|
AH = E2h
|
|
AL = DOS process number (from AH=E1h)
|
|
Return: CF set on error (invalid process number or caller not foreground task)
|
|
Notes: specified task becomes the foreground task and current task is placed
|
|
in the background
|
|
may only be called by a foreground task
|
|
SeeAlso: AH=E0h,AH=E1h
|
|
--------N-7FE3-------------------------------
|
|
INT 7F - Alloy MW386 - CHANGE NAME OF DOS TASK
|
|
AH = E3h
|
|
DS:DX -> ASCIZ task name
|
|
---v1.x---
|
|
AL = user number
|
|
---v2+---
|
|
BH = user number
|
|
BL = task number
|
|
Return: CF clear if successful
|
|
CF set on error (invalid process number)
|
|
SeeAlso: AH=E0h,AH=E4h,AH=E5h
|
|
--------N-7FE4-------------------------------
|
|
INT 7F - Alloy MW386 - GET TASK NAME FROM PROCESS NUMBER
|
|
AH = E4h
|
|
ES:DI -> buffer for task name
|
|
---v1.x---
|
|
AL = user number
|
|
---v2+---
|
|
BH = user number
|
|
BL = task number
|
|
Return: CF clear if successful
|
|
CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
|
|
DX = task flags
|
|
bit 7: MS-DOS process
|
|
ES:DI buffer filled
|
|
CF set on error (invalid process number)
|
|
SeeAlso: AH=E3h,AH=E5h
|
|
--------N-7FE5-------------------------------
|
|
INT 7F - Alloy MW386 - GET PROCESS NUMBER FROM TASK NAME
|
|
AH = E5h
|
|
DS:DX -> ASCIZ task name
|
|
BH = user number
|
|
Return: CF clear if successful
|
|
AL = DOS process number
|
|
CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
|
|
CF set on error (no match for name)
|
|
SeeAlso: AH=E3h,AH=E4h
|
|
--------N-7FE6-------------------------------
|
|
INT 7F - Alloy MW386 - GET NUMBER OF AVAILABLE USER TASKS
|
|
AH = E6h
|
|
Return: AX = number of processes available to current user
|
|
SeeAlso: AH=E0h
|
|
--------N-7FE7-------------------------------
|
|
INT 7F - Alloy MW386 - REMOVE DOS TASK
|
|
AH = E7h
|
|
AL = DOS process number
|
|
Return: CF clear if successful
|
|
CF set on error (invalid process number or first process)
|
|
Note: can only be called by a foreground task
|
|
SeeAlso: AH=E0h
|
|
--------N-7FE8-------------------------------
|
|
INT 7F - Alloy MW386 - DOS TASK DELAY
|
|
AH = E8h
|
|
CX = delay time in milliseconds
|
|
Note: a delay of 0 may be used to surrender the current time slice
|
|
SeeAlso: INT 15/AX=1000h,INT 1A/AX=FF01h,INT 21/AH=EEh"DoubleDOS"
|
|
SeeAlso: INT 2F/AX=1680h
|
|
--------N-7FF0-------------------------------
|
|
INT 7F - Alloy MW386 - RESTRICT DIRECTORY TO GROUP
|
|
AH = F0h
|
|
AL = group number
|
|
DS:DX -> ASCIZ directory name
|
|
Return: CF clear if successful
|
|
AX = status
|
|
0002h directory not found
|
|
0003h directory not found
|
|
0005h directory in use, cannot be restricted
|
|
02xxh restricted to group xxh
|
|
CF set on error
|
|
Note: the restriction on the directory may be removed by calling this
|
|
function with group 0, then using AH=F1h to assign the directory to
|
|
group 0
|
|
SeeAlso: AH=F1h,AH=F2h,AH=F3h
|
|
--------N-7FF1-------------------------------
|
|
INT 7F - Alloy MW386 - ASSIGN DIRECTORY TO GROUP
|
|
AH = F1h
|
|
AL = group number
|
|
DS:DX -> ASCIZ directory name
|
|
Notes: performs permanent assignment to a group; no immediate action is taken
|
|
unless the directory has been restricted with AH=F0h
|
|
may be used to restrict a nonexistent directory
|
|
SeeAlso: AH=F0h
|
|
--------N-7FF2-------------------------------
|
|
INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY
|
|
AH = F2h
|
|
CX = entry number
|
|
ES:DI -> 64-byte buffer
|
|
Return: CF clear if successful
|
|
buffer filled with 63-byte directory info and 1-byte group number
|
|
CF set on error (invalid entry)
|
|
SeeAlso: AH=F0h,AH=F3h
|
|
--------N-7FF3-------------------------------
|
|
INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY FOR GROUP
|
|
AH = F3h
|
|
AL = group number
|
|
CX = entry number
|
|
ES:DI -> 64-byte buffer
|
|
Return: CF clear if successful
|
|
CX = next entry number
|
|
buffer filled with 63-byte directory info and 1-byte group number
|
|
CF set on error (no more matching entries)
|
|
Note: like AH=F2h, but only returns directories belonging to the specified
|
|
group
|
|
SeeAlso: AH=F2h
|
|
--------N-7FF8-------------------------------
|
|
INT 7F - Alloy MW386 - ASSIGN USER TO GROUP
|
|
AH = F8h
|
|
AL = group number
|
|
DL = user number
|
|
DH = machine number (currently 00h)
|
|
Return: CF clear if successful
|
|
CF set on error (user already in maximum number of groups)
|
|
Note: each user is allowed eight group assignments
|
|
SeeAlso: AH=F9h,AH=FAh
|
|
--------N-7FF9-------------------------------
|
|
INT 7F - Alloy MW386 - REMOVE USER FROM GROUP
|
|
AH = F9h
|
|
AL = group number
|
|
DL = user number
|
|
DH = machine number (currently 00h)
|
|
Return: CF clear if successful
|
|
CF set if failed
|
|
SeeAlso: AH=F8h,AH=FAh
|
|
--------N-7FFA-------------------------------
|
|
INT 7F - Alloy MW386 - GET USER GROUP LIST
|
|
AH = FAh
|
|
DL = user number
|
|
DH = machine number (currently 00h)
|
|
ES:DI -> 16-byte buffer for group list
|
|
Return: CX = number of groups
|
|
ES:DI buffer filled with group numbers
|
|
SeeAlso: AH=F8h,AH=F9h
|
|
--------N-7FFB-------------------------------
|
|
INT 7F - Alloy MW386 - ASSIGN GROUP NAME
|
|
AH = FBh
|
|
CL = group number
|
|
ES:DI -> ASCIZ group name (max 17 bytes)
|
|
SeeAlso: AH=FCh
|
|
--------N-7FFC-------------------------------
|
|
INT 7F - Alloy MW386 - GET GROUP NAME
|
|
AH = FCh
|
|
CL = group number
|
|
ES:DI -> 17-byte buffer for ASCIZ name
|
|
Return: ES:DI buffer filled
|
|
Note: if the group has not been named, "(unnamed)" is returned
|
|
SeeAlso: AH=FBh
|
|
----------80---------------------------------
|
|
INT 80 - Q-PRO4 - ???
|
|
--------r-80---------------------------------
|
|
INT 80 - reserved for BASIC
|
|
Note: this vector and INT 81 through INT ED are modified but not restored by
|
|
Direct Access v4.0, and may be left dangling by other programs
|
|
written with the same version of compiled BASIC
|
|
SeeAlso: INT 81"BASIC",INT 86"BASIC",INT EF"BASIC"
|
|
--------E-80---------------------------------
|
|
INT 80 - Phar Lap 386|DOS-Extender - RELOCATED PRINT-SCREEN
|
|
Note: the extender relocates INT 05 to here by default, but can be told to
|
|
leave INT 05 alone with the commandline (or DOSX= environment
|
|
variable) flag -PRIVEC 5
|
|
SeeAlso: INT 05"PRINT SCREEN"
|
|
--------d-80---------------------------------
|
|
INT 80 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
|
|
Note: the factory-default location for the eight bytes of scratchpad RAM
|
|
needed by the SCSI adapter is 0000h:0200h, which is interrupt
|
|
vectors 80h and 81h
|
|
SeeAlso: INT 81"BusLogic"
|
|
--------O-80---------------------------------
|
|
INT 80 - Linux - SYSTEM CALLS
|
|
parameters in registers
|
|
|
|
(Table 04086)
|
|
Values for system call number:
|
|
00h ???
|
|
01h exit
|
|
02h fork
|
|
03h read
|
|
04h write
|
|
05h open
|
|
06h close
|
|
07h waitpid
|
|
08h creat
|
|
09h link
|
|
0Ah unlink
|
|
0Bh execve
|
|
0Ch chdir
|
|
0Dh time
|
|
0Eh mknod
|
|
0Fh chmod
|
|
10h lchown
|
|
11h break
|
|
12h oldstat (obsolete)
|
|
13h lseek
|
|
14h getpid
|
|
15h mount
|
|
16h umount
|
|
17h setuid
|
|
18h getuid
|
|
19h stime
|
|
1Ah ptrace
|
|
1Bh alarm
|
|
1Ch oldfstat
|
|
1Dh pause
|
|
1Eh utime
|
|
1Fh stty
|
|
20h gtty
|
|
21h access
|
|
22h nice
|
|
23h ftime
|
|
24h sync
|
|
25h kill
|
|
26h rename
|
|
27h mkdir
|
|
28h rmdir
|
|
29h dup
|
|
2Ah pipe
|
|
2Bh times
|
|
2Ch prof
|
|
2Dh brk
|
|
2Eh setgid
|
|
2Fh getgid
|
|
30h signal
|
|
31h geteuid
|
|
32h getegid
|
|
33h acct
|
|
34h umount2
|
|
35h lock
|
|
36h ioctl
|
|
37h fcntl
|
|
38h mpx
|
|
39h setpgid
|
|
3Ah ulimit
|
|
3Bh oldolduname (obsolete)
|
|
3Ch umask
|
|
3Dh chroot
|
|
3Eh ustat
|
|
3Fh dup2
|
|
40h getppid
|
|
41h getpgrp
|
|
42h setsid
|
|
43h sigaction
|
|
44h sgetmask
|
|
45h ssetmask
|
|
46h setreuid
|
|
47h setregid
|
|
48h sigsuspend
|
|
49h sigpending
|
|
4Ah sethostname
|
|
4Bh setrlimit
|
|
4Ch getrlimit
|
|
4Dh getrusage
|
|
4Eh gettimeofday
|
|
4Fh settimeofday
|
|
50h getgroups
|
|
51h setgroups
|
|
52h select
|
|
53h symlink
|
|
54h oldlstat (obsolete)
|
|
55h readlink
|
|
56h uselib
|
|
57h swapon
|
|
58h reboot
|
|
59h readdir
|
|
5Ah mmap
|
|
5Bh munmap
|
|
5Ch truncate
|
|
5Dh ftruncate
|
|
5Eh fchmod
|
|
5Fh fchown
|
|
60h getpriority
|
|
61h setpriority
|
|
62h profil
|
|
63h statfs
|
|
64h fstatfs
|
|
65h ioperm
|
|
66h socketcall
|
|
67h syslog
|
|
68h setitimer
|
|
69h getitimer
|
|
6Ah stat
|
|
6Bh lstat
|
|
6Ch fstat
|
|
6Dh olduname (obsolete)
|
|
6Eh iopl
|
|
6Fh vhangup
|
|
70h idle
|
|
71h vm86old
|
|
72h wait4
|
|
73h swapoff
|
|
74h sysinfo
|
|
75h ipc
|
|
76h fsunc
|
|
77h sigreturn
|
|
78h clone
|
|
79h setdomainname
|
|
7Ah uname
|
|
7Bh modify_ldt
|
|
7Ch adjtimex
|
|
7Dh mprotect
|
|
7Eh sigprocmask
|
|
7Fh create_module
|
|
80h init_module
|
|
81h delete_module
|
|
82h get_kernel_syms
|
|
83h quotactl
|
|
84h getpgid
|
|
85h fchdir
|
|
86h bdflush
|
|
87h sysfs
|
|
88h personality
|
|
89h afs_syscall
|
|
8Ah setfsuid
|
|
8Bh setfsgid
|
|
8Ch llseek
|
|
8Dh getdents
|
|
8Eh newselect
|
|
8Fh flock
|
|
90h msync
|
|
91h readv
|
|
92h writev
|
|
93h getsid
|
|
94h fdatasync
|
|
95h sysctl
|
|
96h mlock
|
|
97h munlock
|
|
98h mlockall
|
|
99h munlockall
|
|
!!! http://home.snafu.de/phpr/lhpsysc0.html
|
|
--------O-80---------------------------------
|
|
INT 80 - FreeBSD - SYSTEM CALLS
|
|
parameters on stack
|
|
--------b-80---------------------------------
|
|
INT 80 U - AMI BIOS v1.00.12.AX1T - internal - BIOS SUBSYSTEM SELECTION
|
|
AH = function
|
|
00h install and initialize BIOS subsystem
|
|
AL = ??? (00h,01h,03h)
|
|
CX:BX = subsystem ID (see #03971)
|
|
ESI = address from which to load, or 00000000h for default for
|
|
subsystem
|
|
EDI = physical address at which to install, or 0 for default
|
|
Note: if CX=0000h on entry, this call is applied to all
|
|
subsystems whose ID has low word BX
|
|
01h get BIOS subsystem information
|
|
CX:BX = subsystem ID (see #03971)
|
|
Return: AL = ???
|
|
AH = ???
|
|
EDX = uncompressed size of subsystem in bytes
|
|
SI = offset within subsystem of initialization
|
|
routine, or FFFFh if none
|
|
EDI = physical address of default location or 0
|
|
02h get matching subsystem identifier
|
|
AL = index into subsystem list (return ALth occurrence
|
|
matching BX)
|
|
BX = low word of subsystem identifier
|
|
(0001h,0002h,0004h,0005h,000Bh,FFFFh)
|
|
Return: CF clear if successful
|
|
CX = high word of ALth matching subsystem
|
|
CF set on error
|
|
Note: the system is halted if AL=00h on entry
|
|
03h set up "big real" mode (4G segment limits)
|
|
04h turn off "big real" mode (restore 64K segment limits)
|
|
05h remove BIOS subsystem
|
|
CX:BX = subsystem ID to leave out
|
|
Note: the system is halted if an invalid (not installed)
|
|
subsystem ID is specified
|
|
06h get installed subsystem info
|
|
CX:BX = subsystem ID (see #03971)
|
|
Return: CF clear
|
|
EDX = length of ???
|
|
EDI = linear address of start of ???
|
|
Note: the system is halted if an invalid (not installed)
|
|
subsystem ID is specified
|
|
Return: CF clear if successful
|
|
CF set on non-fatal error
|
|
Note: this interrupt vector is cleared to 0000h:0000h near the end of the
|
|
BIOS startup sequence
|
|
|
|
(Table 03971)
|
|
Values for AMI BIOS subsystem ID:
|
|
00010001h ROM BIOS @F000-FFFF
|
|
00010002h setup??? (loaded @6000-68FF)
|
|
00010005h APM code
|
|
0001000Bh language-specific error message set (English)
|
|
00020002h PnP/PCI ACFG code (loaded @F000-F1FF)
|
|
0001FFFFh
|
|
0002FFFFh recovery code
|
|
00030004h
|
|
0003FFFFh BIOS decompression code
|
|
0004000Bh
|
|
00060004h
|
|
0100FFFFh ACFG data
|
|
10000000h ROM @C000 (64K)
|
|
10000001h HMA (48K)
|
|
10000002h RAM @7A00 (24K)
|
|
10000003h RAM @8000-BFFF
|
|
10000004h
|
|
10000005h real-mode address space (0-1M)
|
|
1000000Bh installed language-specific message set???
|
|
--------s-80----BL00-------------------------
|
|
INT 80 - SBSIM - "STARTSND" - START SOUND ON SPECIFIED DRIVER
|
|
BL = 00h
|
|
BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
|
|
Return: AX = initialization result (see #03972)
|
|
Program: SBSIM is Creative Labs' SoundBlaster Simplified Interface Module,
|
|
which provides access to multiple drivers for the SoundBlaster
|
|
board through a single interface
|
|
Range: INT 80h to INT BFh, selected automatically
|
|
Note: the SBSIM installation check consists of testing for the signature
|
|
"SBSIM" at offset 103h in the interrupt handler's segment.
|
|
SeeAlso: INT 80/BL=01h"SBSIM",INT 80/BL=02h"SBSIM",INT 80/BL=03h"SBSIM"
|
|
SeeAlso: INT 80/BX=0000h"SBSIM"
|
|
|
|
(Table 03972)
|
|
Values for SBSIM error code:
|
|
01h busy--currently in use
|
|
02h bad driver specified
|
|
03h invalid function
|
|
04h voice process already active
|
|
05h couldn't start CT-VOICE
|
|
06h couldn't start CTVDSK
|
|
07h invalid SBSIM handle
|
|
08h buffer not initialized yet
|
|
09h bad filename
|
|
0Ah bad file handle
|
|
0Bh driver not started yet
|
|
0Ch XMS driver not installed
|
|
0Dh no free SBSIM handles
|
|
0Eh bad file type
|
|
0Fh couldn't free XMS block
|
|
10h invalid source selected
|
|
11h get pan position failed
|
|
12h set pan position failed
|
|
13h set volume failed
|
|
14h couldn't start fade/pan
|
|
15h couldn't stop fade/pan
|
|
16h couldn't pause fade/pan
|
|
17h not a fade/pan operation
|
|
18h bad mode for fade/pan
|
|
19h couldn't start fade/pan
|
|
1Ah source not fading/panning
|
|
1Bh FM or MIDI already playing
|
|
1Ch bad MIDI mapper format
|
|
--------s-80----BL01-------------------------
|
|
INT 80 - SBSIM - "PLAYSND" - PLAY MUSIC/VOICE ON SELECTED DRIVER
|
|
BL = 01h
|
|
BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
|
|
Return: AX = result (see #03972)
|
|
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=02h"SBSIM",INT 80/BL=04h"SBSIM"
|
|
--------s-80----BL02-------------------------
|
|
INT 80 - SBSIM - "STOPSND" - STOP MUSIC/VOICE ON SELECTED DRIVER
|
|
BL = 02h
|
|
BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
|
|
Return: nothing
|
|
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=01h"SBSIM",INT 80/BL=03h"SBSIM"
|
|
--------s-80----BL03-------------------------
|
|
INT 80 - SBSIM - "PAUSESND" - TEMPORARILY PAUSE PLAYBACK ON SELECTED DRIVER
|
|
BL = 03h
|
|
BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
|
|
Return: nothing
|
|
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=02h"SBSIM",INT 80/BL=04h"SBSIM"
|
|
SeeAlso: INT 80/BL=05h
|
|
--------s-80----BL04-------------------------
|
|
INT 80 - SBSIM - "RESUMESND" - RESTART PLAYBACK ON SELECTED DRIVER
|
|
BL = 04h
|
|
BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
|
|
Return: nothing
|
|
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=03h"SBSIM",INT 80/BL=05h"SBSIM"
|
|
--------s-80----BL05-------------------------
|
|
INT 80 - SBSIM - "GETSNDSTAT" - GET DRIVER'S STATUS
|
|
BL = 05h
|
|
BH = driver number (01h = FM, 02h=DDBV, 03h=memvoice, 05h=MIDI)
|
|
Return: AX = status
|
|
SeeAlso: INT 80/BL=00h"SBSIM",INT 80/BL=01h"SBSIM",INT 80/BL=03h"SBSIM"
|
|
--------s-80----BX0000-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - GET VERSION
|
|
BX = 0000h
|
|
Return: ???
|
|
Note: SBFM installs at a free interrupt in the range 80h through BFh
|
|
SeeAlso: BX=0008h"SBFM",INT 2F/AX=FBFBh/ES=0000h
|
|
--------s-80----BX0000-----------------------
|
|
INT 80 - SBSIM - "QUERYVERSION" - GET VERSION
|
|
BX = 0000h
|
|
Return: AX = version (AH = major, AL = minor)
|
|
Program: SBSIM is Creative Labs' SoundBlaster Simplified Interface Module,
|
|
which provides access to multiple drivers for the SoundBlaster
|
|
board through a single interface
|
|
Range: INT 80h to INT BFh, selected automatically
|
|
Note: the SBSIM installation check consists of testing for the signature
|
|
"SBSIM" at offset 103h in the interrupt handler's segment.
|
|
SeeAlso: BX=0001h"SBSIM",BX=0005h"SBSIM",INT 21/AX=4402h"CTMMSYS"
|
|
SeeAlso: INT 80/BL=00h"SBSIM"
|
|
Index: installation check;SBSIM|installation check;SoundBlaster
|
|
--------s-80----BX0001-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - SET MUSIC STATUS BYTE ADDRESS
|
|
BX = 0001h
|
|
DX:AX -> music status byte
|
|
SeeAlso: BX=0000h"SBFM",BX=0002h"SBFM",BX=0003h"SBFM"
|
|
--------s-80----BX0001-----------------------
|
|
INT 80 - SBSIM - "QUERYDRIVERS" - CHECK DRIVERS INSTALLED
|
|
BX = 0001h
|
|
Return: AX = bit flags for loaded drivers (see #03973)
|
|
SeeAlso: BX=0000h"SBSIM",BX=0002h"SBSIM",BX=0005h"SBSIM",INT 80/BL=00h"SBSIM"
|
|
|
|
Bitfields for SBSIM loaded drivers:
|
|
Bit(s) Description (Table 03973)
|
|
0 FM
|
|
1 double disk-buffered voice driver (DDBV)
|
|
2 memory voice driver
|
|
3 auxiliary driver (mixer)
|
|
4 MIDI
|
|
--------s-80----BX0002-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - SET INSTRUMENT TABLE
|
|
BX = 0002h
|
|
CX = number of instruments
|
|
DX:AX -> instrument table
|
|
SeeAlso: BX=0000h"SBFM",BX=0001h"SBFM",BX=0005h"SBFM"
|
|
--------s-80----BX0002-----------------------
|
|
INT 80 - SBSIM - GETADDRESS" - GET SELECTED DRIVER'S ENTRY POINT
|
|
BX = 0002h
|
|
AX = driver (00h = FM,01h = DDBV,02h = memvoice,03h = mixer,04h = MIDI)
|
|
Return: CF clear if successful
|
|
DX:AX -> entry point
|
|
CF set on error
|
|
SeeAlso: BX=0000h"SBSIM",BX=0001h"SBSIM",BX=0005h"SBSIM",INT 80/BL=00h"SBSIM"
|
|
--------s-80----BX0003-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - SET SYSTEM CLOCK RATE
|
|
BX = 0003h
|
|
AX = clock rate divisor (1193180 / desired frequency in Hertz)
|
|
FFFFh to restore to 18.2 Hz
|
|
SeeAlso: BX=0000h"SBFM",BX=0001h"SBFM",BX=0004h"SBFM"
|
|
--------s-80----BX0004-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - SET DRIVER CLOCK RATE
|
|
BX = 0004h
|
|
AX = driver clock rate divisor (1193180 / frequency in Hertz)
|
|
Note: default frequency is 96 Hz
|
|
SeeAlso: BX=0000h"SBFM",BX=0003h"SBFM"
|
|
--------s-80----BX0005-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - TRANSPOSE MUSIC
|
|
BX = 0005h
|
|
AX = semi-tone offset
|
|
SeeAlso: BX=0000h"SBFM",BX=0002h"SBFM",BX=0006h"SBFM"
|
|
--------s-80----BX0005-----------------------
|
|
INT 80 - SBSIM - "GETBUFFERINFO" - GET DRIVER'S BUFFER ADDRESS
|
|
BX = 0005h
|
|
AX = driver (00h = FM, 01h = DDB Voice, 04h = MIDI)
|
|
Return: CF clear if successful
|
|
DX:AX -> buffer
|
|
CX = buffer size in K
|
|
CF set on error
|
|
Program: SBSIM is Creative Labs' SoundBlaster Simplified Interface Module,
|
|
which provides access to multiple drivers for the SoundBlaster
|
|
board through a single interface
|
|
Range: INT 80h to INT BFh, selected automatically
|
|
Note: the SBSIM installation check consists of testing for the signature
|
|
"SBSIM" at offset 103h in the interrupt handler's segment.
|
|
SeeAlso: BX=0000h"SBSIM",BX=0001h"SBSIM",BX=0002h"SBSIM",INT 80/BL=00h"SBSIM"
|
|
--------s-80----BX0006-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - PLAY MUSIC
|
|
BX = 0006h
|
|
DX:AX -> music block
|
|
Return: AX = status
|
|
0000h successful
|
|
0001h music already active
|
|
SeeAlso: BX=0000h"SBFM",BX=0007h"SBFM",BX=000Ah"SBFM",INT 1A/AX=FF04h
|
|
--------s-80----BX0007-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - STOP MUSIC
|
|
BX = 0007h
|
|
Return: AX = status
|
|
0000h successful
|
|
0001h music not active
|
|
SeeAlso: BX=0000h"SBFM",BX=0006h"SBFM",BX=0009h"SBFM",INT 1A/AX=FF05h
|
|
--------s-80----BX0008-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - RESET DRIVER
|
|
BX = 0008h
|
|
Return: AX = status
|
|
0000h successful
|
|
0001h music is active
|
|
SeeAlso: BX=0000h"SBFM"
|
|
--------s-80----BX0009-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - PAUSE MUSIC
|
|
BX = 0009h
|
|
Return: AX = status
|
|
0000h successful
|
|
0001h no music active
|
|
SeeAlso: BX=0000h"SBFM",BX=0007h"SBFM",BX=000Ah"SBFM",INT 1A/AX=FF01h
|
|
--------s-80----BX000A-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - RESUME MUSIC
|
|
BX = 000Ah
|
|
Return: AX = status
|
|
0000h successful
|
|
0001h no music paused
|
|
SeeAlso: BX=0000h"SBFM",BX=0006h"SBFM",BX=0009h"SBFM"
|
|
--------s-80----BX000B-----------------------
|
|
INT 80 - SoundBlaster SBFM driver - SET USER-DEF TRAP FOR SYSTEM-EXCLUSIVE CMDS
|
|
BX = 000Bh
|
|
DX:AX -> trap routine
|
|
SeeAlso: BX=0000h"SBFM"
|
|
--------s-80----BX0400-----------------------
|
|
INT 80 - SBSIM - "GETVOLUME" - GET SOURCE'S VOLUME
|
|
BX = 0400h
|
|
AX = sound source (see #03974)
|
|
Return: CF clear if successful
|
|
AX = volume
|
|
CF set on error
|
|
AX = error code (see #03972 at INT 80/BL=00h)
|
|
SeeAlso: BX=0401h"SBSIM"
|
|
|
|
(Table 03974)
|
|
Values for SBSIM sound source:
|
|
00h master volume
|
|
01h voice
|
|
02h FM
|
|
03h CD
|
|
04h line in
|
|
05h microphone
|
|
--------s-80----BX0401-----------------------
|
|
INT 80 - SBSIM - "SETVOLUME" - SET SOURCE'S VOLUME
|
|
BX = 0401h
|
|
AX = sound source (see #03974)
|
|
DX = new volume
|
|
Return: AX = result (0000h = success) (see also INT 80/BL=00h)
|
|
SeeAlso: BX=0400h"SBSIM"
|
|
--------N-8001-------------------------------
|
|
INT 80 - QPC Software PKTINT.COM - INITIALIZE
|
|
AH = 01h
|
|
Return: AX = 0000h
|
|
CX = FFFFh
|
|
DX = FFFFh
|
|
Notes: this interrupt is the WinQVTNet protected mode interface to Windows 3.0
|
|
all buffer pointers are reset back to 0
|
|
--------N-8002-------------------------------
|
|
INT 80 - QPC Software PKTINT.COM - GET BUFFER ADDRESSES
|
|
AH = 02h
|
|
BX = extra bytes to allocate per packet
|
|
Return: AX = segment address of 10K buffer (for receives???)
|
|
BX = segment address of 2K buffer (for sends???)
|
|
SeeAlso: AH=05h
|
|
--------N-8003-------------------------------
|
|
INT 80 - QPC Software PKTINT.COM - GET ENTRY POINT
|
|
AH = 03h
|
|
Return: CX:DX -> receive call address
|
|
Note: the returned address can be used in the packet driver calls since it
|
|
will be a valid address in all DOS boxes
|
|
SeeAlso: AH=06h
|
|
--------N-8004-------------------------------
|
|
INT 80 - QPC Software PKTINT.COM - ENABLE???
|
|
AH = 04h
|
|
BX = ???
|
|
Return: ???
|
|
SeeAlso: AH=01h
|
|
--------N-8005-------------------------------
|
|
INT 80 - QPC Software PKTINT.COM - GET RECEIVE STATISTICS
|
|
AH = 05h
|
|
Return: AX = amount of buffer currently in use
|
|
BX = current offset in buffer
|
|
CX = number of times receive has been called
|
|
SeeAlso: AH=02h
|
|
--------N-8006-------------------------------
|
|
INT 80 - QPC Software PKTINT.COM - REMOVE RECEIVED PACKET
|
|
AH = 06h
|
|
Return: BX = next packet offset
|
|
CX = number of bytes still buffered
|
|
DX = size of packet released back into buffer pool
|
|
SeeAlso: AH=03h
|
|
--------r-81---------------------------------
|
|
INT 81 - reserved for BASIC
|
|
Note: this vector is modified but not restored by Direct Access v4.0, and
|
|
may be left dangling by other programs written with the same version
|
|
of compiled BASIC
|
|
SeeAlso: INT 80"BASIC",INT 82"BASIC"
|
|
--------N-81---------------------------------
|
|
INT 81 - IBM TOKEN RING ADAPTER - ???
|
|
SeeAlso: INT 82"TOKEN RING",INT 91"TOKEN RING"
|
|
--------d-81---------------------------------
|
|
INT 81 - BusLogic BT-946C PCI SCSI Adapter - SCRATCHPAD RAM (NOT A VECTOR!)
|
|
Note: the factory-default location for the eight bytes of scratchpad RAM
|
|
needed by the SCSI adapter is 0000h:0200h, which is interrupt
|
|
vectors 80h and 81h
|
|
SeeAlso: INT 80"BusLogic"
|
|
--------b-81---------------------------------
|
|
INT 81 - AMI WinBIOS - SECOND HARD DRIVE AUTODETECTION
|
|
Notes: used by WinBIOS with core version of July 1994 or later
|
|
QEMM 7.5 began using this interrupt internally after the QPAT3
|
|
maintenance release when searching for "ROM holes", causing a
|
|
lengthy delay during bootup. Adding the QEMM parameter RH:N will
|
|
avoid the QEMM call to INT 81 and speed up the boot process
|
|
--------O-81---------------------------------
|
|
INT 81 - Paragon Technology PTS/DOS 6.5x, S/DOS 1.0 - API
|
|
--------s-810200---------------------------
|
|
INT 81 - Gravis UltraSound - MegaEm - PROCESS COMMAND LINE
|
|
AX = 0200h
|
|
BX = PSP segment
|
|
SI = ??? (data area)
|
|
Return: AX = status (see #03975)
|
|
BL = emulation state
|
|
bit 1 Emulation is on
|
|
bit 2 Emulation is off
|
|
Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
|
|
emulator for the Gravis UltraSound
|
|
Range: INT 81 to INT FF (see INT 21/AX=FD12h), selected by scanning for an
|
|
interrupt with vector 0000h:0000h
|
|
SeeAlso: AX=0202h,AX=0300h,AX=0400h,INT 21/AX=FD12h/BX=3457h
|
|
|
|
(Table 03975)
|
|
Values for MegaEm status:
|
|
0000h successful
|
|
0001h invalid command line optie
|
|
0002h display options
|
|
0003h ???
|
|
0004h invalid number of voices specified
|
|
0005h could not load enough patches to provide acceptable emulation
|
|
0006h to many warnings on patch loading
|
|
0007h ??? (not used anymore)
|
|
0008h /CO and SCSI don't work together
|
|
0009h invalid music volume
|
|
000Ah invalid master volume
|
|
000Bh /SC switch is no longer valid
|
|
0100h ??? (some error on patch loading)
|
|
--------s-810202---------------------------
|
|
INT 81 - Gravis UltraSound - MegaEm - ???
|
|
AX = 0202h
|
|
Return: AX = ???
|
|
SeeAlso: AX=0200h,AX=0300h,AX=0400h,INT 21/AX=FD12h/BX=3457h
|
|
--------s-810300---------------------------
|
|
INT 81 - Gravis UltraSound - MegaEm - LOAD SAMPLE ???
|
|
AX = 0300h
|
|
Return: AX = ???
|
|
SeeAlso: AX=0200h,AX=0202h,AX=0400h,INT 21/AX=FD12h/BX=3457h
|
|
--------s-810400---------------------------
|
|
INT 81 - Gravis UltraSound - MegaEm - ???
|
|
AX = 0400h
|
|
BX = ??? (segment)
|
|
Return: AX = ???
|
|
BX = ???
|
|
Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
|
|
emulator for the Gravis UltraSound
|
|
SeeAlso: AX=0200h,AX=0202h,AX=0300h,INT 21/AX=FD12h/BX=3457h
|
|
--------s-812010------------------------
|
|
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - INT 78 REDIRECT
|
|
AX = 2010h
|
|
???
|
|
Return: ???
|
|
Note: MegaEm calls this function from its INT 78 handler, and then
|
|
immediately returns (via RETF in v3.10, thus leaving the flags on
|
|
the stack); this permits it to operate while hooking only one
|
|
interrupt through the memory manager in protected mode
|
|
SeeAlso: AX=2011h,AX=2012h
|
|
--------s-812011------------------------
|
|
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - NMI REDIRECT
|
|
AX = 2011h
|
|
???
|
|
Return: ???
|
|
Note: MegaEm calls this function from its NMI (INT 02) handler, and then
|
|
immediately returns; this permits it to operate while hooking only
|
|
one interrupt through the memory manager in protected mode
|
|
SeeAlso: AX=2010h,AX=2012h
|
|
--------s-812012------------------------
|
|
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - SOUNDCARD IRQ REDIRECT
|
|
AX = 2012h
|
|
???
|
|
Return: ???
|
|
Note: MegaEm calls this function from its GUS IRQ handler, and then
|
|
immediately returns; this permits it to operate while hooking only
|
|
one interrupt through the memory manager in protected mode
|
|
SeeAlso: AX=2010h,AX=2011h
|
|
--------s-812015------------------------
|
|
INT 81 - Gravis UltraSound - MEGA_EM v3.0+ - ???
|
|
AX = 2015h
|
|
???
|
|
Return: ???
|
|
--------r-82---------------------------------
|
|
INT 82 - reserved for BASIC
|
|
SeeAlso: INT 81"BASIC",INT 83"BASIC"
|
|
--------N-82---------------------------------
|
|
INT 82 - IBM TOKEN RING ADAPTER - ???
|
|
AH = function
|
|
00h display message???
|
|
DS:BX -> string
|
|
???
|
|
Return: ???
|
|
SeeAlso: INT 81"TOKEN RING",INT 91"TOKEN RING"
|
|
--------r-83---------------------------------
|
|
INT 83 - reserved for BASIC
|
|
SeeAlso: INT 82"BASIC",INT 84"BASIC"
|
|
--------s-8300-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 00h
|
|
???
|
|
Return: CF clear (successful)
|
|
AX = ??? (0302h)
|
|
Program: JM Pro Tracker is a public-domain resident .MOD (digital music)
|
|
player by Josha Munnik
|
|
|
|
(Table 03976)
|
|
Values for JM Pro Tracker error code:
|
|
000Ah ???
|
|
000Bh ???
|
|
0014h ???
|
|
001Eh some required parameters have not yet been set
|
|
001Fh already playing???
|
|
FExxh busy (API call already in progress)
|
|
FFxxh invalid function number
|
|
--------s-8301-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 01h
|
|
DX = ??? or FFFFh
|
|
???
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03976)
|
|
--------s-8302-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 02h
|
|
BX = ???
|
|
???
|
|
Return: CF clear if successful
|
|
AX = ???
|
|
BX = ???
|
|
CX = ???
|
|
DX = ???
|
|
SI = ???
|
|
CF set on error
|
|
AX = error code (000Ah,000Bh,other) (see #03976)
|
|
--------s-8303-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 03h
|
|
BX = ??? (only low four bits, must be nonzero)
|
|
CX = ???
|
|
???
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (0014h) (see #03976)
|
|
--------s-8304-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - SET DMA BUFFER???
|
|
AH = 04h
|
|
CX = number of bytes in suggested buffer
|
|
ES:DI -> suggested buffer for DMA transfers???
|
|
Return: CF clear if successful
|
|
ES:AX -> actual buffer (filled with bytes of 80h)
|
|
CX = actual length (multiple of 4)
|
|
CF set on error
|
|
AX = error code (see #03976)
|
|
Note: the buffer must not cross a 64K DMA page boundary
|
|
--------s-8305-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
|
|
AH = 05h
|
|
CX = length of buffer
|
|
ES:DI -> buffer for/containing ???
|
|
Return: CF clear (successful)
|
|
SeeAlso: AH=06h,AH=07h,AH=18h
|
|
--------s-8306-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
|
|
AH = 06h
|
|
CX = length of buffer
|
|
ES:DI -> buffer for/containing ???
|
|
Return: CF clear (successful)
|
|
SeeAlso: AH=05h,AH=07h,AH=18h
|
|
--------s-8307-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - SET ??? BUFFER
|
|
AH = 07h
|
|
BX = ???
|
|
CX = length of buffer
|
|
ES:DI -> buffer for/containing ???
|
|
Return: CF clear (successful)
|
|
SeeAlso: AH=05h,AH=06h,AH=18h
|
|
--------s-8308-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - START PLAYING???
|
|
AH = 08h
|
|
???
|
|
Return: CF clear if successful
|
|
???
|
|
CF set on error
|
|
AX = error code (001Eh,001Fh) (see #03976)
|
|
SeeAlso: AH=09h,AH=0Ah
|
|
--------s-8309-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - PAUSE???
|
|
AH = 09h
|
|
???
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (see #03976)
|
|
SeeAlso: AH=08h,AH=0Ah
|
|
--------s-830A-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - RESUME???
|
|
AH = 0Ah
|
|
???
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (001Fh) (see #03976)
|
|
SeeAlso: AH=08h,AH=09h
|
|
--------s-830B-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 0Bh
|
|
BX = ???
|
|
???
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
--------s-830C-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 0Ch
|
|
DX bit 5 = ???
|
|
???
|
|
Return: CF clear if successful
|
|
BX = ??? (FFFFh)
|
|
CX = ??? (0000h)
|
|
DX = ???
|
|
CF set on error
|
|
AX = error code (see #03976)
|
|
--------s-830D-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 0Dh
|
|
BX = ???
|
|
???
|
|
Return: CF clear (successful)
|
|
--------s-830E-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 0Eh
|
|
BX = ??? (ignored if ES:DI = 0000h:0000h)
|
|
ES:DI -> ??? or 0000h:0000h
|
|
Return: CF clear (successful)
|
|
--------s-830F-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 0Fh
|
|
???
|
|
Return: CF clear if successful
|
|
AX = ???
|
|
CF set on error
|
|
AX = error code (see #03976)
|
|
--------s-8310-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 10h
|
|
BL = subfunction???
|
|
CX = ???
|
|
DX = ???
|
|
???
|
|
Return: CF clear if successful
|
|
CX = DX = ???
|
|
CF set on error
|
|
AX = error code (see #03976)
|
|
SeeAlso: AH=18h
|
|
--------s-8311-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 11h
|
|
BL = ???
|
|
CX = ???
|
|
Return: CF clear (successful)
|
|
--------s-8312-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - CLEAR ???
|
|
AH = 12h
|
|
Return: nothing
|
|
--------s-8313-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 13h
|
|
BX = ???
|
|
Return: CF clear (successful)
|
|
--------s-8314-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 14h
|
|
???
|
|
Return: CF clear (successful)
|
|
BX = ???
|
|
--------s-8315-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - GET ???
|
|
AH = 15h
|
|
BX = what to get (zero/nonzero)
|
|
Return: CF clear if successful
|
|
BX = ???
|
|
DX = ???
|
|
CF set on error
|
|
AX = error code (see #03976)
|
|
--------s-8316-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - ???
|
|
AH = 16h
|
|
AL = subfunction
|
|
00h ???
|
|
Return: BX = ???
|
|
CX = ???
|
|
DX = ???
|
|
ES:DI -> ???
|
|
CF indicates ???
|
|
01h ???
|
|
Return: BX = ???
|
|
CX = ???
|
|
DX = ???
|
|
Return: CF clear if successful
|
|
CF set on error
|
|
AX = error code (FFxxh) (see #03976)
|
|
--------s-8317-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - UNHOOK API INTERRUPT
|
|
AH = 17h
|
|
Return: CF clear if successful
|
|
CF set on error (hooked by another program)
|
|
--------s-8318-------------------------------
|
|
INT 83 - JM Pro Tracker v5.0 - SET BUFFERS
|
|
AH = 18h
|
|
ES:DI -> buffer-pointer structure (see #03977)
|
|
Return: nothing
|
|
SeeAlso: AH=05h,AH=06h,AH=07h,AH=10h
|
|
|
|
Format of JM Pro Tracker buffer-pointer structure:
|
|
Offset Size Description (Table 03977)
|
|
00h WORD length of ??? buffer (see AH=05h)
|
|
02h DWORD -> ??? buffer (see AH=05h)
|
|
06h WORD length of ??? buffer (see AH=06h)
|
|
08h DWORD -> ??? buffer (see AH=06h)
|
|
0Ch WORD length of ??? buffer (see AH=07h)
|
|
0Eh DWORD -> ??? buffer (see AH=07h)
|
|
12h WORD ??? (see AH=07h)
|
|
14h WORD ??? (see AH=10h) (subfunction 01h)
|
|
16h WORD ??? (see AH=10h) (subfunction 01h)
|
|
18h WORD ??? (see AH=10h) (subfunction 00h)
|
|
1Ah WORD ??? (see AH=10h) (subfunction 01h)
|
|
--------r-84---------------------------------
|
|
INT 84 - reserved for BASIC
|
|
SeeAlso: INT 83"BASIC",INT 85"BASIC"
|
|
--------r-85---------------------------------
|
|
INT 85 - reserved for BASIC
|
|
Note: INT 80 through INT ED are modified but not restored by Direct Access
|
|
v4.0, and may be left dangling by other programs written with the
|
|
same version of compiled BASIC
|
|
SeeAlso: INT 84"BASIC",INT 86"BASIC"
|
|
--------N-86---------------------------------
|
|
INT 86 - NetBIOS - ORIGINAL INT 18
|
|
Note: some implementations of NetBIOS reportedly relocate INT 18 here
|
|
SeeAlso: INT 18"BOOT HOOK"
|
|
--------r-86---------------------------------
|
|
INT 86 - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 85"BASIC",INT 87"BASIC"
|
|
--------r-86---------------------------------
|
|
INT 86 - APL*PLUS/PC - Terminate APL session and return to DOS
|
|
SeeAlso: INT 21/AH=4Ch,INT 87"APL"
|
|
--------r-87---------------------------------
|
|
INT 87 - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 86"BASIC",INT 88"BASIC"
|
|
--------r-87---------------------------------
|
|
INT 87 - APL*PLUS/PC - ???
|
|
SeeAlso: INT 86"APL",INT 88/AL=00h
|
|
--------v-87---------------------------------
|
|
INT 87 - VIRUS - "ZeroHunt" - VIRAL CODE (NOT A VECTOR!)
|
|
Note: the ZeroHunt virus copies its resident code down to 0000h:021Ch and
|
|
following
|
|
SeeAlso: INT 8B"VIRUS"
|
|
--------r-88---------------------------------
|
|
INT 88 - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 87"BASIC",INT 89"BASIC"
|
|
----------88---------------------------------
|
|
INT 88h - WANG PC - GET CONFIGURATION
|
|
AL = get info type
|
|
01h Get System Console
|
|
Return: ES:BX -> Configuration structure (see #04089)
|
|
else: ???
|
|
SeeAlso: PORT 1010h"Wang",MEM F000h:0000h,MEM FC00h:3FC2h,INT 21/AX=4402h
|
|
|
|
Format of Wang PC System Console configuration structure:
|
|
Offset Size Description (Table 04089)
|
|
00h WORD version
|
|
02h WORD memory size
|
|
04h 2 WORDs reserved
|
|
08h WORD number of screens (1..4)
|
|
0Ah 4 WORDs offset of console screen info structure 1..4 within
|
|
configuration structure's segment (ES) (see #04090)
|
|
|
|
Format of Wang PC Screen Info structure:
|
|
Offset Size Description (Table 04090)
|
|
00h BYTE state
|
|
(bit 7 set appears to indicate the active console that is
|
|
currently attached to the screen)
|
|
01h BYTE scanoff
|
|
02h WORD buffer segment
|
|
04h BYTE colors
|
|
05h BYTE row
|
|
06h BYTE column
|
|
07h BYTE attribute
|
|
00h = ???
|
|
02h = ???
|
|
0Fh = white on black
|
|
08h BYTE auxiliary mode
|
|
09h BYTE auxiliary mode 2
|
|
SeeAlso: #04089
|
|
--------r-88--00-----------------------------
|
|
INT 88 - APL*PLUS/PC - CREATE OBJECT OF ARBITRARY RANK OR SHAPE
|
|
AL = 00h
|
|
BX = STPTR of the variable to be assigned
|
|
ES:SI -> model of type, rank, and shape (see #03978)
|
|
Return: ES:DI -> first data byte of object
|
|
DX:CX = number of elements in the object
|
|
SeeAlso: INT 88/AL=01h,INT 88/AL=08h,INT C8"APL"
|
|
|
|
Format of APL*PLUS/PC shape model:
|
|
Offset Size Description (Table 03978)
|
|
00h BYTE type
|
|
01h character (2-byte dimension sizes)
|
|
02h integer (2-byte dimension sizes)
|
|
08h floating point (2-byte dimension sizes)
|
|
11h character (4-byte dimension sizes)
|
|
12h integer (4-byte dimension sizes)
|
|
18h floating point (4-byte dimension sizes)
|
|
01h BYTE rank
|
|
02h (D)WORD first dimension of shape
|
|
N (D)WORD second dimension of shape
|
|
...
|
|
--------r-88--01-----------------------------
|
|
INT 88 - APL*PLUS/PC - CREATE CHARACTER SCALAR/VECTOR/MATRIX <64K IN SIZE
|
|
AL = 01h
|
|
AH = rank
|
|
BX = STPTR of the variable to be assigned
|
|
CX = first dimension (if any)
|
|
DX = second dimension (if any)
|
|
Return: ES:DI -> object
|
|
CX = number of elements in the object
|
|
Note: each dimension must be 32767 or smaller
|
|
SeeAlso: AL=00h,AL=02h,AL=08h,INT C8"APL"
|
|
--------r-88--02-----------------------------
|
|
INT 88 - APL*PLUS/PC - CREATE INTEGER SCALAR/VECTOR/MATRIX <64K IN SIZE
|
|
AL = 02h
|
|
AH = rank
|
|
BX = STPTR of the variable to be assigned
|
|
CX = first dimension (if any)
|
|
DX = second dimension (if any)
|
|
Return: ES:DI -> object
|
|
CX = number of elements in the object
|
|
Note: each dimension must be 32767 or smaller
|
|
SeeAlso: AL=01h,AL=08h,INT C8"APL"
|
|
--------r-88--08-----------------------------
|
|
INT 88 - APL*PLUS/PC - CREATE FLOATING POINT SCALAR/VECTOR/MATRIX <64K IN SIZE
|
|
AL = 08h
|
|
AH = rank
|
|
BX = STPTR of the variable to be assigned
|
|
CX = first dimension (if any)
|
|
DX = second dimension (if any)
|
|
Return: ES:DI -> object
|
|
CX = number of elements in the object
|
|
Note: each dimension must be 32767 or smaller
|
|
SeeAlso: AL=01h,AL=02h,INT C8"APL"
|
|
--------r-88--F5-----------------------------
|
|
INT 88 - APL*PLUS/PC - FORCE OBJECT INTO REAL WORKSPACE FROM VIRTUAL
|
|
AL = F5h
|
|
BX = STPTR of object
|
|
SeeAlso: INT C8"APL"
|
|
--------r-88--F6-----------------------------
|
|
INT 88 - APL*PLUS/PC - MAKE NAME IMMUNE FROM OUTSWAPPING
|
|
AL = F6h
|
|
BX = STPTR of object
|
|
SeeAlso: AL=F7h,AL=F8h,INT C8"APL"
|
|
--------r-88--F7-----------------------------
|
|
INT 88 - APL*PLUS/PC - MAKE NAME ELIGIBLE FOR OUTSWAPPING
|
|
AL = F7h
|
|
BX = STPTR of object
|
|
SeeAlso: AL=F6h,AL=F8h,INT C8"APL"
|
|
--------r-88--F8-----------------------------
|
|
INT 88 - APL*PLUS/PC - REPORT WHETHER NAME IS ELIGIBLE FOR OUTSWAPPING
|
|
AL = F8h
|
|
BX = STPTR of object
|
|
Return: BX = name's outswapping status
|
|
0000h eligible
|
|
0001h not eligible
|
|
SeeAlso: AL=F6h,AL=F7h,INT C8"APL"
|
|
--------r-88--F9-----------------------------
|
|
INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
|
|
AL = F9h
|
|
ES:SI -> name
|
|
CX = length of name
|
|
Return: CF set if name ill-formed or already in use
|
|
BX = STPTR if already in symbol table
|
|
CF clear if name is available for use
|
|
BX = 0000h
|
|
Note: does not force the name into the workspace
|
|
SeeAlso: AL=FEh,AL=FFh,INT C8"APL"
|
|
--------r-88--FC-----------------------------
|
|
INT 88 - APL*PLUS/PC - DETERMINE IF MEMORY AVAIL WITHOUT GARBAGE COLLECTION
|
|
AL = FCh
|
|
BX = amount of memory needed (paragraphs)
|
|
Return: CF clear if memory available
|
|
CF set if a workspace compaction is required
|
|
SeeAlso: AL=FDh,INT C8"APL"
|
|
--------r-88--FD-----------------------------
|
|
INT 88 - APL*PLUS/PC - PERFORM GARBAGE COLLECTION AND RETURN AVAILABLE MEMORY
|
|
AL = FDh
|
|
Return: BX = number of paragraphs available in workspace
|
|
SeeAlso: AL=FCh,INT C8"APL"
|
|
--------r-88--FE-----------------------------
|
|
INT 88 - APL*PLUS/PC - CREATE NAME
|
|
AL = FEh
|
|
ES:SI -> name
|
|
CX = length of name
|
|
Return: BX = STPTR of name
|
|
DX = interpreter's data segment
|
|
SeeAlso: AL=F9h,AL=FFh,INT C8"APL"
|
|
--------r-88--FF-----------------------------
|
|
INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
|
|
AL = FFh
|
|
ES:SI -> name
|
|
CX = length of name
|
|
Return: CF set if name ill-formed or already in use
|
|
BX = STPTR if already in symbol table
|
|
CF clear if name is available for use
|
|
BX = 0000h
|
|
Note: forces the name into the workspace and makes it immune from outswapping
|
|
SeeAlso: AL=F9h,AL=FEh,INT C8"APL"
|
|
--------r-89---------------------------------
|
|
INT 89 - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 88"BASIC",INT 8A"BASIC"
|
|
--------r-89---------------------------------
|
|
INT 89 - APL*PLUS/PC - ???
|
|
Note: STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
|
|
the older interrupts
|
|
SeeAlso: INT C9"APL"
|
|
--------r-8A---------------------------------
|
|
INT 8A - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 89"BASIC",INT 8B"BASIC"
|
|
--------r-8A---------------------------------
|
|
INT 8A - APL*PLUS/PC - PRINT SCREEN
|
|
Note: same as INT 05
|
|
SeeAlso: INT 05"PRINT SCREEN",INT 8C"APL",INT CA"APL"
|
|
--------r-8B---------------------------------
|
|
INT 8B - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 8A"BASIC",INT 8C"BASIC"
|
|
--------r-8B---------------------------------
|
|
INT 8B - APL*PLUS/PC - BEEP
|
|
Note: same as printing a ^G via INT 21/AH=02h
|
|
SeeAlso: INT 21/AH=02h,INT CB"APL"
|
|
--------v-8B---------------------------------
|
|
INT 8B - VIRUS - "ZeroHunt" - INSTALLATION CHECK (NOT A VECTOR!)
|
|
Note: if the ZeroHunt virus is resident, this vector will contain either
|
|
EE83h:019Bh (ZH-411) or EE83h:019Fh (ZH-415)
|
|
SeeAlso: INT 70"VIRUS",INT 87"VIRUS",INT 9C"VIRUS"
|
|
--------r-8C---------------------------------
|
|
INT 8C - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 8B"BASIC",INT 8D
|
|
--------r-8C---------------------------------
|
|
INT 8C - APL*PLUS/PC - CLEAR SCREEN MEMORY
|
|
AX = flag
|
|
0000h do not save display attributes
|
|
0001h save attributes
|
|
SeeAlso: INT CC"APL"
|
|
--------r-8D---------------------------------
|
|
INT 8D - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 8C,INT 8E
|
|
--------r-8E---------------------------------
|
|
INT 8E - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 8D,INT 8F
|
|
--------r-8F---------------------------------
|
|
INT 8F - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 8E,INT 90
|
|
--------r-90---------------------------------
|
|
INT 90 - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 8F,INT 91
|
|
--------r-90---------------------------------
|
|
INT 90 - APL*PLUS/PC - USED BY PORT 10 PRINTER DRIVER
|
|
--------r-91---------------------------------
|
|
INT 91 - IBM ROM BASIC - used while in interpreter
|
|
Notes: called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
|
|
BASIC.COM/BASICA.COM do not restore vector on termination
|
|
SeeAlso: INT 90,INT 92
|
|
--------N-91---------------------------------
|
|
INT 91 - IBM TOKEN RING ADAPTER - ???
|
|
SeeAlso: INT 81"TOKEN RING",INT 82"TOKEN RING",INT 93"TOKEN RING"
|
|
--------!---Section--------------------------
|