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 res