home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
INTER53C.ZIP
/
INTERRUP.M
< prev
next >
Wrap
Text File
|
1997-01-12
|
303KB
|
7,409 lines
Interrupt List, part 13 of 16
Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown
--------*-61---------------------------------
INT 61 - reserved for user interrupt
--------b-61---------------------------------
INT 61 - Atari Portfolio - EXTENDED BIOS
Desc: provides subfunctions such as turning off the machine, accessing
internal variables, and mapping memory cards
SeeAlso: INT 60"Atari",AH=00h"Portfolio",AH=08h"Portfolio",AH=0Dh"Portfolio"
SeeAlso: AH=11h"Portfolio",AH=15h"Portfolio",AH=19h"Portfolio"
SeeAlso: AH=1Bh"Portfolio",AH=24h"Portfolio",AH=2Ch"Portfolio"
SeeAlso: AH=30h"Portfolio"
--------b-61---------------------------------
INT 61 - TI Professional PC - FACTORY ROM DATA AREA POINTER (NOT A VECTOR!)
Desc: the low word of this vector contains the segment of the RAM data area
to be used by the expansion ROM at F400h:0000h, and the high word
contains the length of the data area; this segment and size are
both set to 0000h if no ROM is installed at F400h:0000h
SeeAlso: INT 60"TI Professional PC",INT 62"TI Professional"
SeeAlso: INT 66"TI Professional PC"
--------b-61---------------------------------
INT 61 - HP 95LX System Manager - LOAD DS
SeeAlso: INT 0F"HP 95LX",INT 60/DI=0102h"HP 95LX"
--------r-61---------------------------------
INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
SeeAlso: INT 60"JPI"
--------d-61---------------------------------
INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
Desc: this vector stores the second four bytes of the parameter table for
hard disk 0
SeeAlso: INT 60"Adaptec",INT 62"Adaptec",INT 63"Adaptec",#0629
--------I-61---------------------------------
INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
BX:DX -> control block
SeeAlso: INT 67"Sangoma"
--------v-61---------------------------------
INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
Note: the virus copies the original INT 21h vector into INT 61h
SeeAlso: INT 21/AH=00h,INT 21/AH=25h,INT 60"VIRUS",INT 6B"VIRUS"
--------U-61---------------------------------
INT 61 - PC-Magazin - PAGE, SWAPx
details not yet available
Program: PAGE and SWAPx are utilities from PC-Magazin, the German edition of
PC Magazine, issue 47/85, page 31
SeeAlso: INT 66"INCA"
--------N-61---------------------------------
INT 61 - TCPOpen kernel - API
ES:BX -> request packet (see #2566)
Program: TCPOpen is a TCP/IP protocol stack by Lanera
Range: INT 60 to INT 7F, selected by configuration file
Note: there does not appear to be an installation check, though function
FFFFh can be used to verify that the software is indeed functioning
Format of TCPOpen request packet:
Offset Size Description (Table 2566)
00h 8 BYTEs ???
08h WORD function number (0000h-001Ah or FFF9h-FFFFh)
0Ah WORD ???
0Ch 2 BYTEs ???
0Eh WORD (ret) return code
10h 2 BYTEs ???
12h WORD ???
14h WORD (ret) 0001h if requested function complete
16h WORD (ret) ???
18h 6 BYTEs ???
1Eh DWORD -> ???
22h WORD ??? or 0000h
24h WORD (ret) ???
SeeAlso: #2567
(Table 2567)
Call TCPOpen Function FFFFh: installation verification
Return: offset 10h = BEEFh
offset 14h = 0001h
offset 24h = ???
Index: installation check;TCPOpen kernel
--------N-61---------------------------------
INT 61 - XFS v1.76 - XFSKRNL.EXE - API
AX = function
8000h installation check???
Return: AX = 0000h
8001h ???
ES:DI -> DWORD ???
Return: AX = status???
8002h ???
BX = ???
CX = ???
ES:DI -> ???
Return: AX = status???
8003h ???
BX = ???
CX = ???
ES:DI -> ???
Return: AX = status???
8004h ???
BX = ???
Return: AX = status???
8005h wait until ???
Return: DX:AX = ???
8006h get ???
Return: DX:AX -> ??? record
8007h set IP address??? (or htonl/ntohl)
DX:BX = IP address???
Return: DX:AX = byte-swapped IP address
8008h set IP address??? (or htonl/ntohl)
DX:AX = IP address???
Return: DX:AX = byte-swapped IP address
8009h ???
ES:DI -> ???
Return: DX:AX = ???
800Ah ???
800Bh ???
Return: DX:AX = ???
800Ch ???
800Dh ???
800Eh ???
800Fh ???
8010h get ??? record
Return: DX:AX -> ??? record
8011h ???
8012h ???
BX = ???
Return: DX:AX = ???
8013h get ??? record
Return: DX:AX -> ??? record
8014h ???
ES:DI -> ???
Return: nothing
8015h get ??? record
Return: DX:AX -> 8-byte ??? record
8016h get ??? record
Return: DX:AX -> 6-byte ??? record
8017h ???
ES:DI -> ???
Return: DX:AX = ???
8018h get ??? record
Return: DX:AX -> ??? record
8019h get ??? record
Return: DX:AX -> 14-byte ??? record
801Ah get ??? record
Return: DX:AX -> ??? record (max 98 bytes)
801Bh get ??? record
Return: DX:AX -> ??? record
801Ch ???
Return: nothing
801Dh get ???
Return: AL = ???
801Eh ???
Return: AX = ???
801Fh uninstall
Return: AX = status
0000h successful
other interrupt which could not be released
AX = other
Return: AX:BX = ??? (0000h:0000h by default)
Program: XFS is a shareware Network File System client by Robert Juhasz
Range: INT 60 to INT 65, selected by scanning for two consecutive free
vectors and hooking the first
SeeAlso: INT 62"XFS"
--------N-61---------------------------------
INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
AH = system call number (also see entries below)
01h "pkt_alloc" (v2.05; this is "net_config" in v2.1+)
02h "pkt_free" (v2.05; this is "get_kernel_info" in v2.1+)
Return: CF clear if successful
CF set on error
AL = basic error (see #2568)
AH = suberror number (see #2569,#2570)
Range: INT 20h to INT E0h, selected by configuration
Notes: the installation check consists of testing for the signature "TCPTSR"
three bytes beyond the start of the interrupt handler
BUG: the SLIP kernel for v2.05 bounds-checks the wrong register, so values
greater than 54h in AH may crash the system. Other kernels may have
this bug as well.
SeeAlso: INT 61/AH=00h"PC/TCP",INT 61/AH=2Ah,INT 61/AH=54h
Index: installation check;PC/TCP
(Table 2568)
Values for PC/TCP error code:
00h "NET_NOERR" successful
01h "NET_ERR_INUSE" protocol or socket already in use
02h "NET_DOS_ERR" MS-DOS error (returned as suberror code in AH)
03h "NET_ERR_NOMEM" out of memory
04h "NET_ERR_NOTNETCONN" not a network descriptor
05h "NET_ERR_ILLEGALOP" invalid operation on given kind of network descriptor
06h "NET_ERR_BADPKT" illegal or corrupted packet
07h "NET_ERR_NOHOST" no host bound to specified connection
08h "NET_ERR_CANTOPEN" unable to open file
09h "NET_ERR_NET_UNREACHABLE" network is unreachable
0Ah "NET_ERR_HOST_UNREACHABLE" host is unreachable (see #2569)
0Bh "NET_ERR_PROT_UNREACHABLE" protocol is unreachable
0Ch "NET_ERR_PORT_UNREACHABLE" port is unreachable
0Dh "NET_ERR_TIMEOUT" operation timed out
0Eh "NET_ERR_HOSTUNKNOWN" unable to resolve host name
0Fh "NET_ERR_NOSERVERS" no name servers configured
10h "NET_ERR_SERVER_ERR" bad reply from name server
Subcodes: 0= no error, 1 = Host unreachable
11h "NET_ERR_BADFORMAT" bad format for IP address or field in IP address
structure is zero
12h "NET_ERR_BADARG" invalid argument
13h "NET_ERR_EOF" foreign host closed its end of connection
14h "NET_ERR_RESET" connection has been reset
15h "NET_ERR_WOULDBLOCK" recv() call was done on a non-blocking connection
with no data available
16h "NET_ERR_UNBOUND" insufficient resources to do operation
17h "NET_ERR_NODESC" could not allocate network descriptor
18h "NET_ERR_BADSYSCALL" invalid/unsupported kernel call
19h "NET_ERR_CANTBROADCAST" unable to broadcast
1Ah "NET_ERR_NOTESTAB" operation illegal because connection not established
1Bh kernel busy, try again later
1Ch "NET_ERR_ICMPMESG" an ICMP message was received (not on streams)
(see #2570)
---v2.1+---
1Dh "NET_ERR_TERMINATING" internal kernel fatal error
1Eh "NET_ERR_TAG_LOCKED" not allowed to set this tag (net_config)
1Fh "NET_ERR_BAD_INTERFACE" non existent interface specified
20h "NET_ERR_BADCONFIG" kernel cannot run - bad configuration
21h "NET_ERR_EMM" expanded memory error
22h "NET_ERR_CANT_SHUTDOWN" cant unload kernel (multitasker running)
23h "NET_ERR_PARKED_IN" unable to unhook DOS interrupt
24h "NET_ERR_NOQIOS" ran out of resources; try again later
25h "NET_ERR_WOULD_TRUNCATE" datagram too large and "don't truncate" was set
(Table 2569)
Values for subcodes of PC/TCP error 0Ah "NET_ERR_HOST_UNREACHABLE":
00h no error
01h host unreachable
02h ARP failed
03h hardware failure
04h link failure
05h no route
06h gateway down
SeeAlso: #2568,#2570
(Table 2570)
Values for subcodes of PC/TCP error 1Ch "NET_ERR_ICMPMESG":
07h unrecognised
08h can't fragment
09h srcr_fail
0Ah source quench
0Bh time exceeded
0Ch parameter problem
0Dh admin_prohib. see also code 0Ah
SeeAlso: #2568,#2569
--------N-6100-------------------------------
INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
AH = 00h
DS:SI -> 216-byte buffer for network debugging information (see #2571)
Return: CF clear
AX = 0000h
buffer filled
Notes: this call is not documented by FTP, Inc. for any version
most of the information returned by this call is available via the
documented get_kernel_info or net_info commands.
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=2Ah"PC/TCP"
Format of network debugging information:
Offset Size Description (Table 2571)
00h DWORD number of interrupts
04h DWORD receive buffer low-water mark
08h DWORD transmit buffer low-water mark
0Ch DWORD number of packets received
10h DWORD number of packets transmitted
14h DWORD total receive errors
18h DWORD total transmit errors
1Ch 4 BYTEs ???
20h DWORD receive resets
24h DWORD transmit resets
28h DWORD number of "runts" received
2Ch DWORD number of alignment errors on received packets
30h DWORD number of CRC errors on received packets
34h DWORD number of parity errors on received packets
38h DWORD number of receive overflow errors
3Ch DWORD number of oversized packets received
40h DWORD number of packets lost due to lack of buffers
44h DWORD receive timeouts
48h 32 BYTEs ???
68h DWORD number of transmit collisions
6Ch DWORD number of transmit timeouts
70h DWORD number of transmit underflows
74h DWORD number of lost "crs" on transmit
78h DWORD number of times heartbeat failed on transmit
7Ch 24 BYTEs ???
94h WORD free packet buffers
96h WORD total packet buffers
98h WORD minimum number of packet buffers free since kernel started
9Ah 24 BYTEs ???
B2h DWORD pointer to TCP connection list???
B6h DWORD pointer to IP routing table???
BAh 30 BYTEs ???
--------N-6100-------------------------------
INT 61 - Banyan VINES - CALL A SERVICE
AH = 00h
AL = service ID (1..16)
other registers vary by service
Return: AX = status (see #2574)
Desc: Calls an adapter driver or redirector service. The service handler
pointers are stored at offset 0010h in the code segment of the
BANV interrupt handler (see #2572).
Note: Banyan can use any interrupt from 60h through 66h. The Banyan
interrupt handler is identified by the string "BANV" in the four
bytes immediately preceding the interrupt handler
SeeAlso: AH=01h,AH=03h
Format of the BANV code segment (revision 5.53):
Offset Size Description (Table 2572)
00h 16 BYTEs reserved
10h 16 DWORDs far pointers to the service handlers (0 = not installed)
50h DWORD far pointer to last called service
54h WORD VINES revision
56h DWORD VINES revision long
5Ah WORD VINES revision (lower bound)
5Ch DWORD VINES revision (lower bound) long
60h WORD VINES revision (upper bound)
62h DWORD VINES revision (upper bound) long
66h WORD end of PCCONFIG area
68h WORD start of PCCONFIG area
6Ah 4 BYTEs BANV interrupt identifier ("BANV")
6Eh N BYTEs BANV interrupt service
SeeAlso: #2573
--------b-6100-------------------------------
INT 61 - Atari Portfolio - SERVICE INITIALIZATION
AH = 00h
Return: nothing
Note: applications using any Portfolio INT 61 calls should call this function
exactly once at startup
SeeAlso: AH=07h"Portfolio",AH=09h"Portfolio",AH=0Dh"Portfolio"
SeeAlso: AH=11h"Portfolio",AH=15h"Portfolio",AH=19h"Portfolio"
SeeAlso: AH=1Bh"Portfolio",AH=24h"Portfolio",AH=2Ch"Portfolio"
SeeAlso: AH=30h"Portfolio"
--------V-610000-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
AX = 0000h
BX = zoom factor (0-7)
Desc: zooms the display based on the given zoom factor
Notes: INT 61h is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0001h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"
--------N-610001DS0001-----------------------
INT 61 - Banyan VINES - INTERNAL VINES SOCKET API (NEAR DATA)
AX = 0001h
DS = 0001h (to distinguish from alternate AX=0001h socket interface)
CX:BX -> internal communications control block (see #2573)
DX = caller's data segment
Return: AX = status
0000h successful
0099h invalid operation
00A5h resource not available
Desc: StreetTalk access with session handles
Range: INT 60 to INT 66
Notes: This service is handled by the adapter driver
The request dispatch table contains dummy entries for subfunctions
06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
(invalid operation) in the request block's result buffer
in recent VINES releases, this interface is superseded by the AX=000Fh
interface, which allows FAR parameter block pointers (refer to that
function's entries for more details on individual subfunctions)
some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
VINES 5.53) ignore the value in CX and use the value from DX instead
SeeAlso: AX=000Fh
Format of internal communications control block:
Offset Size Description (Table 2573)
00h WORD subfunction number
02h WORD magic number (FEFEh)
04h WORD (ret) result, should be set to 0 before calling
06h WORD reserved (will be set to client DS)
08h WORD caller's code segment if function 000Bh, 0 else
0Ah WORD pointer to parameter block
0Ch WORD reserved (segment of parameter block; will be set to client DS)
0Eh WORD StreetTalk handle
SeeAlso: #2572,#2693 at INT 61/AX=000Fh
--------N-610001SF0001-----------------------
INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
AX = 0001h subfn 0001h
DS:DX -> communications control block (function 0001h) (see #2575)
Return: AX = status (0000h-0002h,0098h,009Eh-00A2h) (see #2574)
Range: INT 60h to INT 66h
Note: The Banyan interrupt handler is identified by the string "BANV" in
the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0008h,INT 15/AX=DE2Eh
(Table 2574)
Values for VINES status:
0000h successful
0001h service not installed
0002h invalid service ID
0003h invalid function
0004h-000Ah reserved for BANV interface errors
0097h invalid socket identifier
0098h resource already in use
009Bh destination node unreachable
009Ch message overflow
009Dh destination socket nonexistent
009Eh address family does not exist
009Fh socket type does not exist
00A0h protocol does not exist
00A1h no more sockets available
00A2h no more buffer space available
00A3h timeout
00A5h resource not available
00A6h internal communication failure
00B1h resource disconnect
Format of VINES control block to open socket:
Offset Size Description (Table 2575)
00h WORD 0001h
02h WORD pointer to argument block
04h WORD error return code
06h 4 BYTEs reserved
SeeAlso: #2576
Format of VINES argument block for opening socket:
Offset Size Description (Table 2576)
00h WORD pointer to 2-byte buffer for socket identifier
02h WORD address family
0003h Banyan
04h WORD socket type
in address family 0003h
0001h IPC socket
0002h SPP socket
06h WORD protocol number
FFFFh default
08h WORD pointer to 16-byte buffer for socket address (see #2577)
0Ah WORD local port number
0000h if service should assign transient port number
0001h to 01FFh well-known port number (assigned by Banyan)
SeeAlso: #2575
Format of Banyan VINES IPC port:
Offset Size Description (Table 2577)
00h WORD address family (always 0003h for Banyan ports)
04h 4 BYTEs network number (server's serial number)
06h WORD subnet number (0001h = server, 8000h-FFFEh = PC)
08h WORD port ID (0001h-01FFh for "well-known" ports)
0Ah BYTE hop count
0Bh 5 BYTEs filler
SeeAlso: #2582
--------N-610001SF0002-----------------------
INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
AX = 0001h subfn 0002h
DS:DX -> communications control block (function 0002h) (see #2578)
Return: AX = status (0000h-0002h,0097h,009Bh-009Dh,00A2h,00A3h,00B1h)
(see #2574)
Range: INT 60h to INT 66h
Note: The Banyan interrupt handler is identified by the string "BANV" in
the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0005h
Format of VINES control block for subfunction 0002h:
Offset Size Description (Table 2578)
00h WORD 0002h
02h WORD pointer to argument block (see #2579)
04h WORD error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
(see #2574)
06h 4 BYTEs reserved
SeeAlso: #2583
Format of VINES argument block for subfunction 0002h:
Offset Size Description (Table 2579)
00h WORD routine metric
02h WORD error return code
04h WORD socket identifier
06h WORD pointer to send buffer (see #2581)
08h WORD length of send buffer
0Ah WORD message request flags (see #2580)
0Ch 16 BYTEs socket address (see #2582)
1Ch WORD timeout value in multiples of 200ms
1Eh WORD connection identifier
20h WORD type of request
0001h send message
0002h establish a virtual connection
0003h terminate a virtual connection
SeeAlso: #2578,#2584
Bitfields for message request flags:
Bit(s) Description (Table 2580)
0 async request
1 reliable message
2 flush receive buffer on overflow
3 end of user message received
4 vectored request (if set, send buffer contains buffer descriptors)
5 connection-specific receive
6 change to connection-specific receive mode
SeeAlso: #2579,#2584
Format of buffer descriptor:
Offset Size Description (Table 2581)
00h WORD data segment
02h WORD buffer pointer
04h WORD buffer length
06h WORD character count
SeeAlso: #2579
Format of VINES socket address for unreliable datagrams:
Offset Size Description (Table 2582)
00h WORD 0003h address family
02h DWORD FFFFFFFFh network number
06h WORD FFFFh subnet number
08h WORD local port number
0Ah BYTE 00h-0Fh hop count
0Bh 5 BYTEs 0000h filler
SeeAlso: #2577
--------N-610001SF0003-----------------------
INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
AX = 0001h subfn 0003h
DS:DX -> communications control block (function 0003h) (see #2583)
Return: AX = status (00-0Ah,97h,A2h,A3h) (see #2574)
Range: INT 60h to INT 66h
Note: The Banyan interrupt handler is identified by the string "BANV" in
the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0002h
Format of VINES control block for subfunction 0003h:
Offset Size Description (Table 2583)
00h WORD 0003h
02h WORD pointer to argument block (see #2584)
04h WORD error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
(see #2574)
06h 4 BYTEs reserved
SeeAlso: #2578,#2584,#2586
Format of VINES argument block for subfunction 0003h:
Offset Size Description (Table 2584)
00h WORD character count
02h WORD error return code
04h WORD socket identifier
06h WORD pointer to receive buffer (see #2585)
08h WORD length of receive buffer
0Ah WORD message request flags (see #2580)
0Ch 16 BYTEs socket address (see #2577)
1Ch WORD timeout value in multiples of 200ms
1Eh WORD connection identifier
20h WORD type of response
0001h message received
0002h virtual connection established
0003h virtual connection terminated
SeeAlso: #2583,#2587
Format of buffer descriptor:
Offset Size Description (Table 2585)
00h WORD data segment
02h WORD buffer pointer
04h WORD buffer length
06h WORD character count
SeeAlso: #2584
--------N-610001SF0004-----------------------
INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
AX = 0001h subfn 0004h
DS:DX -> communications control block (function 0004h) (see #2586)
Return: AX = status (0000h-000Ah,0097h) (see #2574)
Range: INT 60h to INT 66h
Note: The Banyan interrupt handler is identified by the string "BANV" in
the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0001h,INT 15/AX=DE2Eh
Format of VINES control block to close socket:
Offset Size Description (Table 2586)
00h WORD 0004h
02h WORD pointer to argument block (see #2587)
04h WORD error return code (see #2574)
06h 4 BYTEs reserved
SeeAlso: #2583,#2589
Format of VINES argument block for closing socket:
Offset Size Description (Table 2587)
00h WORD socket identifier
SeeAlso: #2584,#2586,#2590
--------N-610001SF0005-----------------------
INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
AX = 0001h subfn 0005h
DS:DX -> communications control block (see #2589)
Return: AX = status (0000h-000Ah,00A2h,00A3h) (see #2588)
Desc: returns results for all asynchronous operations invoked from the
data segment used for this call
Range: INT 60h to INT 66h
Notes: The Banyan interrupt handler is identified by the string "BANV" in
the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0009h
(Table 2588)
Values for VINES function status:
0000h successful
0001h service not installed
0002h invalid service ID
0003h-000Ah reserved for BANV interface errors
00A2h no more buffer space available
00A3h timeout event
Format of VINES control block for subfunction 0005h:
Offset Size Description (Table 2589)
00h WORD 0005h
02h WORD pointer to argument block (see #2590)
04h WORD error return code
06h 4 BYTEs reserved
SeeAlso: #2586,#2591
Format of VINES argument block for subfunction 0005h:
Offset Size Description (Table 2590)
00h WORD pointer to WORD event pointer
02h WORD timeout in multiples of 200ms, FFFFh = infinite
SeeAlso: #2587,#2589
--------N-610001SF0008-----------------------
INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
AX = 0001h subfn 0008h
DS:DX -> communications control block (function 0008h) (see #2591)
Return: AX = status
0000h successful
00A2h no more buffer space available
Range: INT 60h to INT 66h
Note: The Banyan interrupt handler is identified by the string "BANV" in
the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0009h
Format of VINES control block for subfunction 0006h:
Offset Size Description (Table 2591)
00h WORD 0008h
02h WORD process type
0001h transient process
0002h resident process
04h WORD error return code
06h 4 BYTEs reserved
SeeAlso: #2589,#2592
--------N-610001SF000B-----------------------
INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
AX = 0001h subfn 000Bh
DS:DX -> communications control block (function 000Bh) (see #2592)
Return: AX = status (00h-0Ah,A2h) (see #2588)
Range: INT 60h to INT 66h
Note: The Banyan interrupt handler is identified by the string "BANV" in
the four bytes immediately preceding the interrupt handler
SeeAlso: AX=0001h/SF=0005h,AX=0001h/SF=0008h
Format of VINES control block for subfunction 000Bh:
Offset Size Description (Table 2592)
00h WORD 000Bh
02h WORD pointer to argument block (see #2593)
04h WORD error return code (see #2574)
06h 2 BYTEs reserved
08h WORD user CS register
SeeAlso: #2591
Format of VINES argument block for subfunction 000Bh:
Offset Size Description (Table 2593)
00h WORD pointer to user interrupt function (see #2594)
02h WORD pointer to user stack
04h WORD initial timeout value in multiples of 200ms, FFFFh = infinite
SeeAlso: #2593
(Table 2594)
Values FAR user function is invoked with:
SS = DS = ES = segment of control block
STACK: DWORD return address
WORD argument pointer (sosend or sorec argument block)
WORD error return code
0000h argument pointer is valid
00A3h timeout
--------V-610001-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
AX = 0001h
BX = X coordinate to center
CX = Y coordinate to center
Desc: Positions the zoom window such that the specified window-relative
coordinates appear as close as possible to the center of the
display. Useful for scrolling and panning.
Range: unknown
Notes: INT 61h is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"
--------I-610002-----------------------------
INT 61 - Banyan VINES - 3270 INTERFACE
AX = 0002h
BH = function number (see #2595)
DS:CX -> argument block (except BH=00h,1Ah) (see #2597)
Return: AX = status (see #2596)
Notes: Either 3270/SNA or 3270/BSC interface may use AX=0002h, depending on
which is loaded first. The other interface will use AX=000Ah
Status codes greater than 63h indicate an inconsistency in the 3270/SNA
or 3270/BSC resident driver, which must be reloaded by the user
(Table 2595)
Values for VINES 3270 interface function number:
00h "pi2reset" reset 3270/SNA or 3270/BSC driver
02h "pi2bsc" (3270/BSC only)
03h "pi2get" get information stored in 3270 resident driver
04h "pi2put" store information in 3270 resident driver
05h "pi2gcur" get current screen position
07h "pi2sdat" send data keystroke
08h "pi2scom" send command keystroke
0Ah "pi2field" get field info for arbitrary screen positions
0Fh "pi2stat" get logical unit/device status
12h "pi2nlus" determine logical unit/device assignment
13h "pi2gate" specifies comm port address to gateway service
14h "pi2attach" attach a logical unit/device
15h "pi2sdev" save logical unit/device info in resident driver
(not supported in >3.0)
16h "pi2gdev" get device information (not supported in >3.0)
17h "pi2luinfo" get info about specific logical unit/device
18h "pi2gerr" get finer error detail
19h "pi2dhold" (3270/SNA only) holds a 3270 device
1Ah "pi2shut" release memory-resident module
1Ch "pi2sprof" save profile info in res driver (not supp in >3.0)
1Dh "pi2gprof" get prevsly stored profile info (not supp in >3.0)
(Table 2596)
Values for VINES 3270 status:
0000h successful
000Bh invalid parameter or data does not fit data area
000Ch another code path currently active in resident driver
000Dh operation currently not allowed
0032h encountered connection disconnect error
0033h encountered "sosend" completion error
0034h encountered "sosend" communication error
0035h attach request refused. extended error info via "pi2gerr":
01h resource unavailable
02h invalid type
03h version mismatch
04h invalid logical unit number
05h error during ARL processing
06h no access for user
0071h encountered "sosock" error
0072h encountered unrecognizable error
0073h encountered "sowait" error (extended info via "pi2gerr")
0074h encountered invalid type-of-request on "sowait"
0075h encountered "sorec" error (extended info via "pi2gerr")
0076h encountered "sorec" completion error (ext info via "pi2gerr")
0077h encountered connection request
0078h encountered unrecognizable data
0079h encountered unknown connection ID (ext info via "pi2gerr")
SeeAlso: #2574
Format of argument block for BH=03h,04h:
Offset Size Description (Table 2597)
00h WORD size of data area (max 256)
02h N BYTEs data area
SeeAlso: #2598,#2599,#2600
Format of argument block for BH=05h:
Offset Size Description (Table 2598)
00h WORD logical unit/device number
02h WORD pointer to WORD buffer for cursor index
04h WORD pointer to BYTE buffer for current field attribute
SeeAlso: #2597,#2599,#2600
Format of argument block for BH=07h:
Offset Size Description (Table 2599)
00h WORD logical unit/device number
02h WORD ASCII data byte
04h WORD pointer to WORD count of characters which will need updating
SeeAlso: #2597,#2598,#2600
Format of argument block for BH=08h:
Offset Size Description (Table 2600)
00h WORD logical unit/device number
02h WORD 3270 keystroke (see #2601)
SeeAlso: #2597,#2598,#2599,#2602
(Table 2601)
Values for 3270 keystroke:
0000h Enter
0001h Clear
0002h PA1
0003h PA2
0004h PA3
0005h PF1
...
001Ch PF24
001Dh CSELECT (cursor select)
001Eh Insert
001Fh Delete
0020h EOField
0021h EINPUT (erase input)
0022h Reset
0023h Attention
0024h SysReq
0025h Duplicate
0026h Fieldmark
0027h Home
0028h NextLine
0029h Tab
002Ah BackTab
002Bh cursor up
002Ch cursor down
002Dh cursor right
002Eh cursor left
002Fh double cursor right
0030h double cursor left
0031h PRINT
0032h CANCEL
0033h Backspace
Format of argument block for BH=0Ah:
Offset Size Description (Table 2602)
00h WORD logical unit/device number
02h WORD screen index
04h WORD pointer to WORD buffer for field length
06h WORD pointer to WORD buffer for offset in screen of field start
SeeAlso: #2600,#2603
Format of argument block for BH=0Fh:
Offset Size Description (Table 2603)
00h WORD logical unit/device number
02h WORD clear mask (clear these bits of status after returning status)
04h WORD pointer to WORD buffer for device status (see #2604)
SeeAlso: #2602,#2605
Bitfields for Banyan 3270 device status:
Bit(s) Description (Table 2604)
10 status modified
9 buffer modified
8 set cursor
5 sound alarm
1-0 size of print line for printer logical units
00 unformatted line
01 40-character line
10 64-character line
11 80-character line
Format of argument block for BH=12h:
Offset Size Description (Table 2605)
00h WORD pointer to WORD buffer for number of logical units or devices
02h WORD pointer to WORD buffer for version number
04h WORD pointer to 64-byte buffer for logical unit/device list
SeeAlso: #2603,#2606
Format of argument block for BH=13h:
Offset Size Description (Table 2606)
00h 16 BYTEs communications port address (see #2577)
SeeAlso: #2605,#2607
Format of argument block for BH=14h:
Offset Size Description (Table 2607)
00h WORD logical unit/device number
0000h attach any free device of the specified type
02h WORD logical unit/device type
(3270/SNA) 01h, 02h, or 03h
(3270/BSC) 02h display
(3270/BSC) 03h printer
04h WORD pointer to WORD buffer for attached logical unit/device number
SeeAlso: #2606,#2608
Format of argument block for BH=16h:
Offset Size Description (Table 2608)
00h WORD pointer to 18-byte buffer for device block (see #2613)
first WORD must be set to desired logical unit/device number
SeeAlso: #2607,#2609
Format of argument block for BH=17h:
Offset Size Description (Table 2609)
00h WORD logical unit/device number
02h WORD pointer to information block in caller's DS (see #2614)
SeeAlso: #2608,#2610
Format of argument block for BH=18h:
Offset Size Description (Table 2610)
00h WORD pointer to WORD buffer for major error code
02h WORD pointer to WORD buffer for minor error code
SeeAlso: #2609,#2611
Format of argument block for BH=19h:
Offset Size Description (Table 2611)
00h WORD logical unit/device number
SeeAlso: #2610,#2612
Format of argument block for BH=1Ch,1Dh:
Offset Size Description (Table 2612)
00h WORD pointer to profile block in caller's DS (see #2617)
SeeAlso: #2597,#2611
Format of device block, argument block for BH=15h:
Offset Size Description (Table 2613)
00h WORD logical unit/device number
02h WORD logical unit/device type
04h WORD display model number
06h WORD numeric checking
08h WORD status line
0Ah BYTE unprotected normal field attribute
0Bh BYTE unprotected intensified field attribute
0Ch BYTE protected normal field attribute
0Dh BYTE protected intensified field attribute
0Eh WORD reserved
10h WORD printer port number
Format of information block:
Offset Size Description (Table 2614)
00h WORD device model number
02h DWORD screen buffer pointer
06h DWORD status line pointer (see #2615)
0Ah DWORD reserved
Format of Banyan VINES 3270 status line:
Offset Size Description (Table 2615)
00h BYTE comm line status
00h inactive
01h active
01h BYTE activation level
01h physical unit activated
02h logical unit also activated
03h session is bound
02h BYTE data traffic state
00h inactive
01h active
03h BYTE screen ownership
00h SLU->PLU session owns screen
01h SLU->SSCP session owns screen
04h BYTE keyboard status (see #2616)
05h BYTE insert mode
01h if in insert mode
06h BYTE numeric
01h if current screen buffer is numeric only
07h BYTE printer status
00h printer not assigned
01h printer is inactive
02h printer error
03h currently printing
04h printer is busy
05h printer is very busy
08h BYTE printer assignment
09h BYTE maximum size of network name
0Ah N BYTEs ASCIZ network name
BYTE maximum size of message window
M BYTEs null-terminated message window
BYTE code set
00h EBCDIC
01h ASCII
M BYTEs extended attributes
01h extended attributes are in effect (stored at screen+1920)
each extended attribute specifies
bits 0,1: 00=normal, 01=blink, 10=reverse, 11=underscor
bits 2-4: 000=default,001=blue,010=red,011=pink,
100=green,101=turquoise,110=yellow,111=white
BYTE extended color
01h other than base color is in effect
(Table 2616)
Values for Banyan VINES 3270 keyboard status:
00h UNLOCK - ready to accept data
01h TIME - aid was struck
02h SYSTEM - received response no restore
03h FUNCTION - unavailable keyboard function
04h INPUT - not currently used
05h ENDFIELD - field filled in insert mode
06h PROTECTED - attempt to enter in protected field
07h NUMERIC - attempt to enter in numeric field
08h PROGRAM - error in outbound data stream
Format of Banyan VINES 3270 profile block:
Offset Size Description (Table 2617)
00h 64 BYTEs gateway service name
40h 16 BYTEs gateway comm port address
50h WORD primary logical unit number
52h WORD secondary logical unit type
54h WORD secondary logical unit number
56h WORD printer assignment
58h 50 BYTEs keyboard definitions filename
--------V-610002-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
AX = 0002h
Desc: switches off zoom and returns window to its original state
Range: unknown
Notes: INT 61h is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",INT 16/AH=FFh"OPTIMA"
--------N-610003SF00-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
AX = 0003h subfn 00h
DS:BX -> argument block (see #2619)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=08h,AX=0003h/SF=0Dh
(Table 2618)
Values for VINES function status:
0000h successful
000Bh invalid session ID
000Ch session not active
000Dh invalid request type
000Eh invalid parameters
000Fh out of heap space
0010h timeout on send
0011h Banyan communications error
0012h session not waiting for host
0013h session is active
0014h duplicate suspend session request
0015h no session suspended
0016h ring data buffer full
0017h printer error encountered
0018h Banyan communications error
0019h unable to make connection
001Ah no ring buffer specified at startup
001Bh service is down
001Ch invalid service name
001Dh service is closed
001Eh invalid connection name
001Fh max session limit reached for service
0020h access rights list for connection/dialout does not include this user
0021h service not responding
0022h missing telephone number
SeeAlso: #2574,#2622
Format of VINES argument block:
Offset Size Description (Table 2619)
00h BYTE session ID (00h)
01h BYTE 00h (func "initialize user buffer pointer information area")
02h WORD -> user buffer ptr info area in caller's current DS (see #2620)
Format of user buffer ptr info area:
Offset Size Description (Table 2620)
00h WORD flags
0000h don't read interface's data buffer
0001h read data buffer
02h DWORD pointer to ring buffer
06h WORD length of ring buffer
08h WORD ring buffer offset to last byte read by caller
0Ah DWORD pointer to WORD containing offset of last byte
in ring buffer filled
0Eh DWORD pointer to screen buffer
12h DWORD pointer to field containing cursor position
16h DWORD pointer to terminal status area (see #2621)
Format of VINES terminal status area:
Offset Size Description (Table 2621)
00h BYTE status of session: 4Eh=oNline, 46h=oFfline, 57h=Waiting
01h BYTE terminal type (00h=VT100, 01h=TTY, 02h=VT52, 03h=IBM3101)
02h BYTE current keypad mode (VT100,VT52 only)
4Eh ("N") numeric mode
41h ("A") application mode
03h 4 BYTEs current state of LEDs (VT100 only)
00h off
01h on
07h WORD line error count
09h WORD primary error code (see #2622)
0Bh WORD secondary error code
(Table 2622)
Values for VINES primary error code:
0000h no error
0001h unable to make connection
0002h communications error, restart session
0003h async terminal emulation service unavailable
0004h lost carrier
0005h all matching lines busy
0006h no lines defined for connection name
0007h no dial lines available on server
0008h no matching dial lines available
0009h out of heap space
000Ah service error encountered
000Bh timed out waiting to connect
000Ch communications error
000Dh communications error
000Eh host wants file transferred to/from PC
000Fh host software changed session parameter
0010h host software changed tap settings
0011h host software changed LED indicator
0012h host software changed display background (secondary error code 00h for
white on black, 01h for black on white)
0013h host software changed display option (secondary error code 00h for off,
01h for on)
0014h communications error
0015h communications error
0016h unable to make connection
0017h unable to make connection
SeeAlso: #2618
--------N-610003SF01-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
AX = 0003h subfn 01h
DS:BX -> argument block (see #2623)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=02h,AX=0003h/SF=14h
Format of VINES argument block for Function 0003h subfunction 01h:
Offset Size Description (Table 2623)
00h BYTE session ID (00h)
01h BYTE 01h (function "send to host")
02h BYTE type
00h ASCII byte
01h ASCII string
02h terminal function code
03h up arrow
04h down arrow
05h left arrow
06h right arrow
07h break
03h N BYTEs type-specific info (see #2624)
Format of type-specific info:
Offset Size Description (Table 2624)
---ASCII byte---
03h BYTE byte to send to host
---ASCII string---
03h WORD length of string
05h WORD pointer to string
---terminal function code (VT52/VT100)---
03h BYTE function code
00h keypad 0
01h keypad 1
...
09h keypad 9
0Ah keypad -
0Bh keypad ,
0Ch keypad .
0Dh keypad ENTER
0Eh PF1
0Fh PF2
10h PF3
11h PF4
---terminal function code (IBM3101)---
03h BYTE function code
00h PF1
...
07h PF8
08h Home
SeeAlso: #2623
--------N-610003SF02-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
AX = 0003h subfn 02h
DS:BX -> argument block (see #2625)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=03h,AX=0003h/SF=05h
Format of VINES argument block for Function 0003h subfunction 02h:
Offset Size Description (Table 2625)
00h BYTE session ID (00h)
01h BYTE 02h (function "control monitor")
02h BYTE display flag
00h don't display data received from host
01h display data
--------N-610003SF03-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
AX = 0003h subfn 03h
DS:BX -> argument block (see #2626)
Return: AX = status (see #2618)
Desc: this function permits the caller to freeze/unfreeze the display and
the ring buffer
SeeAlso: AX=0003h/SF=02h,AX=0003h/SF=06h
Format of VINES argument block for Function 0003h subfunction 03h:
Offset Size Description (Table 2626)
00h BYTE session ID (00h)
01h BYTE 03h (function "flow control data")
02h BYTE flow control flag
00h allow characters to be put into display or ring buffer
01h don't place any more characters into display or ring buffer
--------N-610003SF04-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
AX = 0003h subfn 04h
DS:BX -> argument block (see #2627)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=0Ah,AX=0003h/SF=0Dh,AX=0003h/SF=0Fh
Format of VINES argument block for ending active session:
Offset Size Description (Table 2627)
00h BYTE session ID (00h)
01h BYTE 04h (function "end active session")
--------N-610003SF05-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
AX = 0003h subfn 05h
DS:BX -> argument block (see #2628)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=06h,AX=0003h/SF=08h
Format of VINES argument block for setting session parameters:
Offset Size Description (Table 2628)
00h BYTE session ID (00h)
01h BYTE 05h (function "set session parameter")
02h BYTE parameter number (see #2629)
03h BYTE new parameter value
(Table 2629)
Values for parameter number:
00h line speed (00h=any, 01h=50, 02h=110, 03h=134.5, 04h=150,
05h=300, 06h=600, 07h=1200, 08h=2400, 09h=4800, 0Ah=9600)
01h parity (00h=none, 01h=odd, 02h=even)
02h duplex (00h=full, 01h=half)
03h character size (00h=7 bits, 01h=8 bits)
04h stop bits (00h=1, 01h=2)
05h XON/XOFF flow control (00h=no, 01h=yes)
07h intercharacter delay in tenths of a second
08h interline delay in tenths of a second
09h auto linefeed (00h=no, 01h=yes)
0Ah filter control characters (00h=no, 01h=yes)
0Bh terminal type (00h=VT100,01h=glassTTY,02h=VT52,03h=IBM3101)
0Ch auto wrap (00h=no, 01h=yes)
0Dh cursor shape (00h=underscore, 01h=block)
0Eh character set (00h=UK, 01h=US ASCII)
0Fh printer port (00h=LPT1, 01h=LPT2, 02h=LPT3)
SeeAlso: #2628
--------N-610003SF06-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
AX = 0003h subfn 06h
DS:BX -> argument block (see #2630)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=05h,AX=0003h/SF=07h
Format of VINES argument block for getting session parameters:
Offset Size Description (Table 2630)
00h BYTE session ID (00h)
01h BYTE 06h (function "get session parameter")
02h BYTE parameter number (see #2629)
03h BYTE (ret) current parameter value
--------N-610003SF07-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
AX = 0003h subfn 07h
DS:BX -> argument block (see #2631)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=05h,AX=0003h/SF=08h
Format of VINES argument block for setting tab settings:
Offset Size Description (Table 2631)
00h BYTE session ID (00h)
01h BYTE 07h (function "set tab settings")
02h WORD pointer to 80-byte buffer in caller's current DS
each byte = 00h if no tab, 01h if tab at that position
--------N-610003SF08-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
AX = 0003h subfn 08h
DS:BX -> argument block (see #2632)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=07h
Format of VINES argument block for getting tab settings:
Offset Size Description (Table 2632)
00h BYTE session ID (00h)
01h BYTE 08h (function "get tab settings")
02h WORD pointer to 80-byte buffer in caller's current DS
each byte set to 00h if no tab, 01h if tab at that position
--------N-610003SF09-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
AX = 0003h subfn 09h
DS:BX -> argument block (see #2633)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Bh
Format of VINES argument block for Function 0003h subfunction 09h:
Offset Size Description (Table 2633)
00h BYTE session ID (00h)
01h BYTE 09h (function "refresh emulation screen")
--------N-610003SF0A-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
AX = 0003h subfn 0Ah
DS:BX -> argument block (see #2634)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=09h,AX=0003h/SF=0Bh,AX=0003h/SF=0Dh
Format of VINES argument block:
Offset Size Description (Table 2634)
00h BYTE session ID (00h)
01h BYTE 0Ah (function "suspend session temporarily")
02h WORD size of session information to be saved
04h WORD pointer to buffer in caller's DS
--------N-610003SF0B-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
AX = 0003h subfn 0Bh
DS:BX -> argument block (see #2635)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=09h,AX=0003h/SF=0Ah
Format of VINES argument block:
Offset Size Description (Table 2635)
00h BYTE session ID (00h)
01h BYTE 0Bh (function "restore previously suspended session")
02h WORD size of buffer into which session info is restored
04h WORD pointer to buffer in caller's DS
--------N-610003SF0C-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
AX = 0003h subfn 0Ch
DS:BX -> argument block (see #2636)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h
Format of VINES argument block:
Offset Size Description (Table 2636)
00h BYTE session ID (00h)
01h BYTE 0Ch (function "set state of scroll lock checking")
02h BYTE check_scroll_lock flag
00h off
01h on (display of host data stopped while ScrollLock on)
--------N-610003SF0D-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
AX = 0003h subfn 0Dh
DS:BX -> argument block (see #2637)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Ah
Format of VINES argument block:
Offset Size Description (Table 2637)
00h BYTE session ID (00h)
01h BYTE 0Dh (function "exit emulation")
--------N-610003SF0E-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
AX = 0003h subfn 0Eh
DS:BX -> argument block (see #2638)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=14h
Format of VINES argument block:
Offset Size Description (Table 2638)
00h BYTE session ID (00h)
01h BYTE 0Eh (function "interrupt on character from host")
02h DWORD pointer to routine to be called (0000h:0000h = don't call)
06h DWORD stack pointer to use when call is made
--------N-610003SF0F-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
AX = 0003h subfn 0Fh
DS:BX -> argument block (see #2639)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Bh
Format of VINES argument block:
Offset Size Description (Table 2639)
00h BYTE session ID (00h)
01h BYTE 0Fh (function "start a session")
02h WORD pointer to information area in caller's current DS (see #2640)
Format of VINES information area:
Offset Size Description (Table 2640)
00h WORD length of service name
02h WORD pointer to service name in caller's DS
04h BYTE type of connection (00h=connection name, 01h=dialout)
05h WORD length of connection name/telephone number
07h WORD pointer to connection name/telephone number
--------N-610003SF10-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
AX = 0003h subfn 10h
DS:BX -> argument block (see #2641)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=13h
Format of VINES argument block:
Offset Size Description (Table 2641)
00h BYTE session ID (00h)
01h BYTE 10h (function "start/stop printing of data received from host")
02h WORD print capture flag (00h=off, 01h=on)
--------N-610003SF11-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
AX = 0003h subfn 11h
DS:BX -> argument block (see #2642)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
Format of VINES argument block:
Offset Size Description (Table 2642)
00h BYTE session ID (00h)
01h BYTE 11h (function "get file transfer parameters")
02h WORD pointer to info area in caller's current DS (see #2643)
Format of VINES info area:
Offset Size Description (Table 2643)
00h BYTE protocol flag (00h none, 01h Kermit)
01h BYTE direction flag (00h send, 01h receive)
02h BYTE length of null-terminated PC filename
03h DWORD pointer to null-terminated PC filename
07h BYTE length of null-terminated host filename
08h DWORD pointer to null-terminated host filename
--------N-610003SF12-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
AX = 0003h subfn 12h
DS:BX -> argument block (see #2644)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=11h,AX=0003h/SF=15h
Format of VINES argument block:
Offset Size Description (Table 2644)
00h BYTE session ID (00h)
01h BYTE 12h (function "get connection information")
02h WORD offset of buffer for connection information (see #2645)
Format of VINES connection information:
Offset Size Description (Table 2645)
00h WORD length of service name (returned)
02h WORD pointer to 64-byte buffer for service name
04h BYTE type of connection
00h connection name
01h dialout
05h WORD length of connection name/telephone number
07h WORD pointer to 64-byte buffer for name/telno
09h BYTE server line number being used (returned)
--------N-610003SF13-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
AX = 0003h subfn 13h
DS:BX -> argument block (see #2646)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Eh
Format of VINES argument block:
Offset Size Description (Table 2646)
00h BYTE session ID (00h)
01h BYTE 13h (function "start/stop tracing data traffic in session")
02h BYTE trace flag (00h=off, 01h=on)
--------N-610003SF14-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
AX = 0003h subfn 14h
DS:BX -> argument block (see #2647)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=0Eh
Format of VINES argument block:
Offset Size Description (Table 2647)
00h BYTE session ID (00h)
01h BYTE 14h (function "interrupt on message from host")
02h DWORD pointer to routine to be called (0000h:0000h = don't call)
06h DWORD stack pointer to use when call is made
--------N-610003SF15-------------------------
INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
AX = 0003h subfn 15h
DS:BX -> argument block (see #2648)
Return: AX = status (see #2618)
SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
Format of VINES argument block:
Offset Size Description (Table 2648)
00h BYTE session ID (00h)
01h BYTE 15h (function "reset error")
--------V-610003-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
AX = 0003h
Return: AX = zoom factor
Desc: returns the current zoom factor
Range: unknown
Notes: INT 61h is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0005h"OPTIMA",INT 16/AH=FFh"OPTIMA"
--------N-610004-----------------------------
INT 61 - Banyan VINES - FILE SERVICE CONTROL
AX = 0004h
DS:DX -> request block (see #2650)
Return: AX = status (see #2649)
Notes: This service is handled by the redirector
The request dispatch table contains dummy entries for requests 0Ah,
0Dh, 15h, 19h, and 1Ah, which always return error 0033h (invalid
request ID)
(Table 2649)
Values for Banyan VINES file service control status code:
0000h successful
0002h file not found
0003h path not found
000Fh invalid drive
0015h drive not ready
0033h invalid request ID
0034h drive not connected
0037h drive number out of range
0038h drive number not available
003Ah invalid operation
0055h drive already connected
0057h invalid number of entries
Format of Banyan VINES file service request block:
Offset Size Description (Table 2650)
00h WORD request ID (1..28)
02h n BYTES additional parameters and result buffer
--------N-610004SF0001-----------------------
INT 61 - Banyan VINES - SET DRIVE CONNECTION
AX = 0004h subfn 0001h
DS:DX -> request block (see #2651)
Return: AX = status (0000h,0037h,0038h,0055h) (see #2649)
Desc: Maps the specified file service to a DOS drive letter
Note: If an empty service name is specified, an existing connection will
be removed
SeeAlso: AX=0004h/SF=0002h
Format of VINES Function 0004h/Subfunction 0001h request block:
Offset Size Description (Table 2651)
00h WORD 0001h
02h BYTE drive number (0=default, 1=A, ...)
03h 16 BYTEs reserved
13h 64 BYTEs null-terminated file service name
53h 5 BYTEs reserved
--------N-610004SF0002-----------------------
INT 61 - Banyan VINES - GET DRIVE CONNECTION
AX = 0004h subfn 0002h
DS:DX -> request block (see #2652)
Return: AX = status (0000h,0034h,0037h) (see #2649)
Desc: Returns the StreetTalk name of the associated file service
SeeAlso: AX=0004h/SF=0001h,AX=0004h/SF=0003h
Format of VINES Function 0004h/Subfunction 0002h request block:
Offset Size Description (Table 2652)
00h WORD 0002h
02h BYTE drive number (0=default, 1=A, ...)
03h 16 BYTEs reserved
13h 64 BYTEs buffer for null-terminated file service name
53h 5 BYTEs reserved
--------N-610004SF0003-----------------------
INT 61 - Banyan VINES - GET NETWORK DRIVE MAP
AX = 0004h subfn 0003h
DS:DX -> request block (see #2653)
Return: AX = status
0000h drive map returned in request block
Desc: Returns a bit map indicating which drive numbers are connected to a
file service
Note: Only bits 0-25 are significant
SeeAlso: AX=0004h/SF=0002h
Format of VINES Function 0004h/Subfunction 0003h request block:
Offset Size Description (Table 2653)
00h WORD 0003h
02h DWORD buffer for drive map (bit0=A, bit1=B, ...)
--------N-610004SF0004-----------------------
INT 61 - Banyan VINES - SET USER NAME
AX = 0004h subfn 0004h
DS:DX -> request block (see #2654)
Return: AX = status (0000h) (see #2649)
Notes: Other side effects, if any, not known
SeeAlso: AX=0004h/SF=0005h,#2680 [ID 0004h],AX=0007h/BX=0005h
Format of VINES Function 0004h/Subfunction 0004h request block:
Offset Size Description (Table 2654)
00h WORD 0004h
02h 64 BYTE null-terminated user name
--------N-610004SF0005-----------------------
INT 61 - Banyan VINES - GET USER NAME
AX = 0004h subfn 0005h
DS:DX -> request block (see #2655)
Return: AX = status (see also #2649)
0000h user name returned in request block
Desc: Returns the StreetTalk name of the currently logged in user
SeeAlso: AX=0004h/SF=0004h,#2680 [ID 0004h],AX=0007h/BX=0005h
SeeAlso: AX=0004h/SF=0004h
Format of VINES Function 0004h/Subfunction 0005h request block:
Offset Size Description (Table 2655)
00h WORD 0005h (subfunction "Get User Name")
02h 64 BYTE buffer for null-terminated user name
--------N-610004SF0006-----------------------
INT 61 - Banyan VINES - TEST DRIVE CONNECTION
AX = 0004h subfn 0006h
DS:DX -> request block (see #2656)
Return: AX = status (see also #2649)
0000h connection flag returned in request block
Desc: Returns a flag indicating if the drive is connected to a file service
SeeAlso: AX=0004h/SF=0007h
Format of VINES Function 0004h/Subfunction 0006h request block:
Offset Size Description (Table 2656)
00h WORD 0006h (subfunction "Test Drive Connection")
02h BYTE buffer for connection flag (1 = not connected, 2 = connected)
--------N-610004SF0007-----------------------
INT 61 - Banyan VINES - GET CONNECTION DATA STRUCTURES
AX = 0004h subfn 0007h
DS:DX -> request block (see #2657)
Return: AX = status (see also #2649)
0000h pointer returned in request block
0033h invalid request ID
Desc: Returns pointers to various internal data structures
Format of VINES Function 0004h/Subfunction 0007h request block:
Offset Size Description (Table 2657)
00h WORD 0007h
02h BYTE request ID (0..7) (see #2658)
03h WORD buffer for pointer segment
05h WORD buffer for pointer offset
SeeAlso: #2659,#2660
(Table 2658)
Values for VINES pointer ID:
00h job file table ???
01h drive handle table
02h drive connection table
03h IPC port of drive Z:
04h end of drive connection table
05h ???
06h ???
07h redirector data segment (offset=0)
SeeAlso: #2657
Format of VINES drive handle table:
Offset Size Description (Table 2659)
00h BYTE handle to default drive (0 = not connected)
01h BYTE handle to drive A: (0 = not connected)
...
1Ah BYTE handle to drive Z: (0 = not connected)
SeeAlso: #2660
Format of VINES drive connection table:
Offset Size Description (Table 2660)
00h WORD file service type (?) (0001h if drive Z:, 0000h else)
02h 16 BYTEs IPC port (contains the server serial number)
12h 46 BYTEs ???
40h 64 BYTEs null-terminated StreetTalk name of associated file service
80h 64 BYTEs null-terminated root directory (/ROOT: parameter of SETDRIVE)
SeeAlso: #2659
--------N-610004SF0008-----------------------
INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
AX = 0004h subfn 0008h
DS:DX -> request block (see #2661)
Return: AX = status (0000h,000Fh,0015h) (see #2649)
Notes: The server ID is extracted from the IPC port address of the associated
file service stored in the drive connection table
The server serial number and the server subnet number are returned in
big-endian (Motorola) format (i.e. MSB first)
SeeAlso: AX=0004h/SF=0005h
Format of VINES request block for getting server serial number:
Offset Size Description (Table 2661)
00h WORD 0008h
02h WORD drive number (0=default, 1=A, ...)
04h DWORD buffer for server serial number
08h WORD buffer for server subnet number (always 0001h)
--------N-610004SF0009-----------------------
INT 61 - Banyan VINES - SET ??? PARAMETER
AX = 0004h subfn 0009h
DS:DX -> request block (see #2662)
Return: AX = status (0000h) (see #2649)
Notes: The specified WORD parameter is copied to offset 1702h of the
redirector code segment (revision 5.53)
SeeAlso: AX=0004h/SF=000Bh
Format of VINES Function 0004h/Subfunction 0009h request block:
Offset Size Description (Table 2662)
00h WORD 0009h
02h WORD parameter
--------N-610004SF000B-----------------------
INT 61 - Banyan VINES - GET ??? DRIVE PARAMETER
AX = 0004h subfn 000Bh
DS:DX -> request block (see #2663)
Return: AX = status (0000h,0034h,0037h) (see #2649)
Notes: This request returns a WORD value from the drive connection table
read from offset 0012h of the specified drive's entry (usually 0037h)
SeeAlso: AX=0004h/SF=0009h
Format of VINES Function 0004h/Subfunction 000Bh request block:
Offset Size Description (Table 2663)
00h WORD 000Bh
02h BYTE drive number (0=default, 1=A, ...)
03h WORD buffer for parameter
--------N-610004SF000C-----------------------
INT 61 - Banyan VINES - LOGOUT FROM VINES
AX = 0004h subfn 000Ch
DS:DX -> request block (see #2664)
Return: AX = status 0000h (see #2649)
Desc: Terminates a running VINES session and clears all session specific
buffers
SeeAlso: AX=0004h/SF=0008h
Format of VINES Function 0004h/Subfunction 000Ch request block:
Offset Size Description (Table 2664)
00h WORD 000Ch
--------N-610004SF000E-----------------------
INT 61 - Banyan VINES - GET ACCESS RIGHTS LIST (ARL)
AX = 0004h subfn 000Eh
DS:DX -> request block (see #2665)
Return: AX = status (see also #2649)
0000h request has been processed
Desc: Returns the owner, group, and extended access rights for the specified
file or directory
Note: A status of 0000h does not necessarily indicate a successful request;
check the status word at offset 000Eh of the request block too
SeeAlso: AX=0004h/SF=000Fh
Format of VINES Function 0004h/Subfunction 000Eh request block:
Offset Size Description (Table 2665)
00h WORD 000Eh (subfunction "Get Access Rights List")
02h BYTE drive number (0=default, 1=A, ...)
03h BYTE reserved
04h DWORD pointer to path specification (drive letter ignored)
08h DWORD pointer to ARL control block (see #2666)
0Ch WORD buffer for number of ARL entries (1..5)
0Eh WORD buffer for status (see #2667)
Format of ARL control block:
Offset Size Description (Table 2666)
00h 64 BYTEs 1st StreetTalk name (user, list, or service)
40h WORD 1st ARL
42h 64 BYTEs 2nd StreetTalk name (user, list, or service)
82h WORD 2nd ARL
84h 64 BYTEs 3rd StreetTalk name (user, list, or service)
C4h WORD 3rd ARL
C6h 64 BYTEs 4th StreetTalk name (user, list, or service)
106h WORD 4th ARL
108h 64 BYTEs 5th StreetTalk name (user, list, or service)
148h WORD 5th ARL
(Table 2667)
Values for VINES Get/Set Access Rights List status:
0000h successful
0002h file not found
0003h path not found
003Ah invalid operation
0057h invalid number of entries
--------N-610004SF000F-----------------------
INT 61 - Banyan VINES - SET ACCESS RIGHTS LIST (ARL)
AX = 0004h subfn 000Fh
DS:DX -> request block (see #2668)
Return: AX = status (see also #2649)
0000h request has been processed
Desc: Sets the owner, group, and extended access rights for the specified
file or directory
Note: A status of 0000h does not necessarily indicate a successful request;
check the status word at offset 000Eh of the request block too
If the number of ARL entries is less than 1 or greater than 5, error
0057h (invalid number of entries) is returned
SeeAlso: AX=0004h/SF=000Eh
Format of VINES Function 0004h/Subfunction 000Fh request block:
Offset Size Description (Table 2668)
00h WORD 000Fh
02h BYTE drive number (0=default, 1=A, ...)
03h BYTE reserved
04h DWORD pointer to path specification (drive letter ignored)
08h DWORD pointer to ARL control block (see #2666)
0Ch WORD number of ARL entries (1..5)
0Eh WORD buffer for status (see #2667)
--------N-610004SF0010-----------------------
INT 61 - Banyan VINES - FILE SERVICE CONTROL - ???
AX = 0004h subfn 0010h
DS:DX -> request block (see #2669)
Return: AX = status (see also #2649)
0000h request has been processed
SeeAlso: AX=0004h/SF=000Fh
Format of VINES Function 0004h/Subfunction 0010h request block:
Offset Size Description (Table 2669)
00h WORD 0010h
02h BYTE drive number (0=default, 1=A, ...)
03h BYTE reserved
04h 64 BYTEs ???
44h 16 BYTEs IPC port (see #2577 at AX=0001h"Sosock")
--------N-610004SF0013-----------------------
INT 61 - Banyan VINES - GET VALUE OF GLOBAL VARIABLE
AX = 0004h subfn 0013h
DS:DX -> request block (see #2670)
Return: AX = status (see also #2649)
0000h successful
0033h invalid request ID (returned if variable index out of range)
Desc: Returns the value of the specified global variable
Note: The data will be truncated if the specified buffer is not large enough.
Check the length word in the request block to find out how many
bytes should have been copied.
SeeAlso: AX=0004h/SF=0014h,AX=0006h
Format of request block:
Offset Size Description (Table 2670)
00h WORD 0013h
02h WORD variable index (0000h-001Fh) (see #2671)
04h WORD buffer length (on exit set to # of bytes actually needed)
06h DWORD far pointer to result buffer
SeeAlso: #2672
(Table 2671)
Values for variable indices:
Index Length Description
0000h 1 ???
0001h 16 StreetTalk port
0002h 4 StreetTalk session handle
0003h 6 colors
0004h 64 StreetTalk name of currently logged in user
0005h 0 old clear text password (not applicable)
0006h 0 default group (not applicable)
0007h 1 number of messages in message queue
0008h 1 message flag
0009h 16 TalkPort
000Ah 2 TalkPort socket
000Bh 64 StreetTalk name of mail service
000Ch 2 message timeout
000Dh 2 next message place
000Eh 246 message queue (3 times 80 characters + 2 flag bytes)
000Fh 14 system nonce
0010h 2 failed login count
0011h 1 new mail message received
0012h 8 mail service capabilities
0013h 3 printer port diverted
0014h 32 international location
0015h 16 IPC port of drive Z:
0016h 1024 pointer to current directory table
0017h 2 maximum number of file volume mappings
0018h 24 routine to call back for messages (6 far pointers)
0019h 4 current virtual machine
001Ah 20 DOS redirector message bell tones
001Bh 2 various flags used for internal communication
001Ch 0 OS/2 client configuration (not applicable)
001Dh 8 redirector/IFS file version
001Eh 0 reserved (not applicable)
001Fh 4 address of VVINESD.386 dispatch
--------N-610004SF0014-----------------------
INT 61 - Banyan VINES - SET VALUE OF GLOBAL VARIABLE
AX = 0004h subfn 0014h
DS:DX -> request block (see #2672)
Return: AX = status
0000h successful
0033h invalid request ID (returned if variable index out of range)
Desc: Assigns a new value to the specified global variable
Note: If the specified number of bytes to copy exceeds the size of the
destination variable, nothing will be copied.
SeeAlso: AX=0004h/SF=0013h,AX=0006h
Format of request block:
Offset Size Description (Table 2672)
00h WORD 0014h
02h WORD variable index (0000h-001Fh) (see #2671)
04h WORD number of bytes to copy
06h DWORD far pointer to new value
SeeAlso: #2670
--------N-610004SF0016-----------------------
INT 61 - Banyan VINES - GET NUMBER OF OPEN FILES ON REMOTE DRIVE
AX = 0004h subfn 0016h
DS:DX -> request block (see #2673)
Return: AX = status
0000h open file count returned in request block
Desc: Counts the number of open files on the specified remote drive.
Note: No error is returned if the specified drive number is invalid or points
to a local drive. Use AX=0004h/SF=0006h to test if a given drive
number is assigned to a remote drive.
SeeAlso: AX=0004h/SF=0006h
Format of request block:
Offset Size Description (Table 2673)
00h WORD 0016h
02h BYTE drive number (0=default, 1=A:, ...)
03h BYTE reserved
04h WORD buffer for open file count
SeeAlso: #2675
--------N-610004SF0018-----------------------
INT 61 - Banyan VINES - SET UNIDENTIFIED INTERNAL FLAG
AX = 0004h subfn 0018h
DS:DX -> request block (see #2674)
Return: AX = status
0000h success
Desc: Sets an unidentified BYTE variable in the redirector data segment to 1.
Note: In the VINES 5.53 "REDIR4" redirector, this variable is located at
DS:0B53.
Format of request block:
Offset Size Description (Table 2674)
00h WORD 0018h
SeeAlso: #2675
--------N-610004SF001B-----------------------
INT 61 - Banyan VINES - UNIDENTIFIED DRIVE SPECIFIC FUNCTION
AX = 0004h subfn 001Bh
DS:DX -> request block (see #2675)
Return: AX = status
0000h success
0034h drive not connected
0037h drive number out of range
Desc: The purpose of this function is not known.
Format of request block:
Offset Size Description (Table 2675)
00h WORD 001Bh
02h BYTE drive number (0=default, 1=A:, ...)
03h BYTE ???
04h WORD ???
06h DWORD far pointer to data area
0Ah WORD ???
0Ch DWORD far pointer to data area
10h WORD buffer for result
SeeAlso: #2673,#2675
--------N-610004SF001C-----------------------
INT 61 - Banyan VINES - UNIDENTIFIED FUNCTION
AX = 0004h subfn 001Ch
DS:DX -> request block (see #2676)
Return: AX = status
0000h success
0057h invalid number of entries
Desc: The purpose of this function is not known.
Format of request block:
Offset Size Description (Table 2676)
00h WORD 001Ch
02h WORD ???
04h WORD ???
06h WORD ???
08h WORD ???
0Ah DWORD far pointer to data area (14 bytes)
--------V-610004-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
AX = 0004h
Range: unknown
Notes: Specify Mode is enabled by hot key (seeAlso below), and allows
panning and zooming via the numeric keypad.
INT 61 is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0007h"OPTIMA",INT 16/AH=FFh"OPTIMA"
--------N-610005-----------------------------
INT 61 - Banyan VINES - PRINT SERVICE CONTROL
AX = 0005h
DS:DX -> request block (see #2677)
Return: AX = status
0000h successful
0001h network software not installed or incompatible
Notes: This service is handled by the redirector
The size of the request/result block depends on the selected function
and the value at offset 04h.
SeeAlso: INT 2F/AX=D702h
Format of VINES request/result block for printer control:
Offset Size Description (Table 2677)
00h WORD function
0201h "endspool" all data for a print job has been sent
(no bytes returned)
0202h "deassign" the virtual printer port
Before the printer port is deassigned all data sent
to it is endspooled.
(no bytes returned)
0205h "get_active" get currently active printer port
(1 byte required for result)
Returns: - the currently active printer port (1-3) (0 if
there is none)
0207h ??? purpose unknown; called periodically every second
020Ch "get_bannertitle" gets the title which is printed on the
banner page of a print job sent to the virtual port
(16 bytes required for result)
Returns: - the null-terminated banner title
020Eh "get_servicename" gets the name of the print service
assigned to the virtual port
(64 bytes required for result)
Returns: - the null-terminated print service name assigned
to the virtual port
0210h "set_bannertitle" sets the title which is printed on the
banner page of a print job sent to the virtual port
(16 bytes required for input)
Input: - the null-terminated banner title (max 16 chars)
0212h "set_servicename" sets the name of the print service
assigned to the virtual port
(64 bytes required for input)
Input: - the null-terminated print service name
(max 64 chars)
0216h "get_job_paper_format" gets the paper format for
subsequent print jobs
(16 bytes required for result)
Returns: - the null-terminated paper format
0217h "set_job_paper_format" sets the paper format for
subsequent print jobs
(16 bytes required for input)
Input: - the null-terminated paper format (max 16 chars)
02h WORD number of active virtual port (1-3) (0 for function 0205h)
04h WORD Offset into the request block from which additional input
is to be read and/or at which the result is to be copied
(if there is any). Therefore the smallest block size for a
function which returns a result is
this offset + the maximum number of returned bytes - 1
06h WORD 0000h
--------V-610005-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
AX = 0005h
BX:CX -> buffer for window parameters (see #2678)
Range: unknown
Notes: INT 61 is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0003h"OPTIMA",AX=0006h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"
Format of Optima 1024 window parameters:
Offset Size Description (Table 2678)
00h WORD X start of zoom window
02h WORD Y start of zoom window
04h WORD X end of zoom window
06h WORD Y end of zoom window
08h WORD current zoom factor
0Ah WORD zoom offset start X
0Ch WORD zoom offset start Y
--------V-610006-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
AX = 0006h
BX:CX -> zoom window description (see #2679)
Range: unknown
Notes: width of zoom window must be a multiple of the pixel replication (zoom)
factor
INT 61 is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0005h"OPTIMA",AX=0008h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA"
Format of Optima 1024 zoom window description:
Offset Size Description (Table 2679)
00h WORD X start of zoom window
02h WORD Y start of zoom window
04h WORD X end of zoom window
06h WORD Y end of zoom window
--------N-610006-----------------------------
INT 61 - Banyan VINES - GET ADDRESS OF GLOBAL VARIABLE
AX = 0006h
BX = bits 14..0: request ID (see #2680)
bit 15: result destination flag (0 for ES:BX, 1 for AX:BX)
Return: AX = status
0000h successful
000Bh invalid request
ES:BX -> internal variable (bit 15 of BX was not set)
AX:BX -> internal variable (bit 15 of BX was set)
Note: This service is handled by the redirector
SeeAlso: AX=0004h/SF=0013h,AX=0004h/SF=0014h
(Table 2680)
Values for request IDs:
Request Length Description
0000h 1 ???
0001h 16 StreetTalk port
0002h 4 StreetTalk session handle
0003h 6 colors
0004h 64 StreetTalk name of currently logged in user
0005h 0 old clear text password (always returns error code 000Bh)
0006h 0 default group (not applicable)
0007h 1 message queue count
0008h 1 message flag
0009h 16 TalkPort
000Ah 2 TalkPort socket
000Bh 64 StreetTalk name of mail service
000Ch 2 message timeout
000Dh 2 next message place
000Eh 246 message queue
000Fh 14 system nonce
0010h 2 failed login count
0011h 1 new mail message received
0012h 8 mail capabilities
0013h 3 printer port diverted
0014h 32 international location
0015h 16 IPC port of drive Z:
0016h 1024 pointer to current directory table
0017h 2 maximum number of file volume mappings
0018h 24 routine to call back for messages
0019h 4 current virtual machine
001Ah 20 DOS redirector message bell tones
001Bh 2 various flags used for internal communication
001Ch 0 OS/2 client configuration (always returns error code 000Bh)
001Dh 8 redirector/IFS file version
001Eh 0 reserved (always returns error code 000Bh)
001Fh 4 address of VVINESD.386 dispatch
--------V-610007-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
AX = 0007h
Return: AX = current state (0000h/0001h)
Desc: returns the current toggle state of the application (END) key in
specify mode. E.g. in the OPTIMA AutoCAD driver, 0 means AutoCAD
calls INT 61/AX=0001h every time the crosshair cursor moves.
Notes: In specify mode, the END key has been reserved for applications.
INT 61 is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0004h"OPTIMA"
SeeAlso: INT 16/AH=FFh"OPTIMA",INT 7A/AX=0001h"AutoCAD"
--------N-610007BX0000-----------------------
INT 61 - Banyan VINES - RECONNECT TO STREETTALK
AX = 0007h
BX = 0000h
Return: AX = status (see #2681)
SeeAlso: AX=0007h/BX=0002h
(Table 2681)
Values for VINES function status:
0000h successful
0001h requested handler not installed or incompatible
000Bh service busy
000Ch invalid request ID
03E9h incorrect name syntax
03EAh organization name too long
03EBh group name too long
03ECh item name too long
03EDh StreetTalk name too long
03F3h organization not found
03F4h group not found
03F5h StreetTalk name not found
03F8h not a StreetTalk name
0409h modify access denied
040Dh appropriate StreetTalk name unavailable
0411h all matching names have been returned
0412h some groups unavailable, all available matches returned
--------N-610007BX0001-----------------------
INT 61 - Banyan VINES - GET MM PORT FOR A SERVICE
AX = 0007h
BX = 0001h
DS:DX -> StreetTalk service name (64 bytes)
DS:DI -> 16-byte buffer for IPC port (see #2577 at AX=0001h"Sosock")
Return: AX = status (see #2681)
Notes: This function calls AX=0007/BX=0002h with the port count set to 1 and
the port type set to 00h
SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=000Ah
--------N-610007BX0002-----------------------
INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
AX = 0007h
BX = 0002h
DS:DX -> StreetTalk service name
DS:DI -> port record block (see #2682)
Return: AX = status (see #2681)
Note: if the requested number of ports is greater than five, it will be reset
to five
SeeAlso: AX=0007h/BX=0001h,AX=0007h/BX=0003h,AX=0007h/BX=0004h
SeeAlso: AX=0007h/BX=000Ah
Format of VINES port record block:
Offset Size Description (Table 2682)
00h WORD (call) number of 17-byte elements (01h-05h) to be filled
02h BYTE (call) port type for first port
03h 16 BYTEs (ret) port (see #2577)
13h BYTE (call) port type for second port
14h 16 BYTEs (ret) port (see #2577)
24h BYTE (call) port type for third port
25h 16 BYTEs (ret) port (see #2577)
35h BYTE (call) port type for fourth port
36h 16 BYTEs (ret) port (see #2577)
46h BYTE (call) port type for fifth port
47h 16 BYTEs (ret) port (see #2577)
57h BYTE reserved
SeeAlso: #2684
--------N-610007BX0003-----------------------
INT 61 - Banyan VINES - FIND A SERVICE
AX = 0007h
BX = 0003h
DS:DX -> port control block (see #2683)
Return: AX = status (see AX=0007h/BX=0000h)
SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=0005h
Format of port control block:
Offset Size Description (Table 2683)
00h WORD ???
02h WORD ???
04h 16 BYTEs IPC port (see #2577 at AX=0001h"Sosock")
14h 5 WORDs ???
SeeAlso: #2689
--------N-610007BX0004-----------------------
INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
AX = 0007h
BX = 0004h
DS:DX -> StreetTalk name of service (max 64 bytes)
DS:DI -> port record block (see #2684)
Return: AX = status (see #2681)
SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0003h,AX=0007h/BX=000Ah
Format of VINES port record block:
Offset Size Description (Table 2684)
00h WORD number of 17-byte elements
02h BYTE port type for first port
03h 16 BYTEs first IPC port (see #2577)
13h BYTE port type for second port
14h 16 BYTEs second IPC port (see #2577)
24h BYTE port type for third port
25h 16 BYTEs third IPC port (see #2577)
35h BYTE port type for fourth port
36h 16 BYTEs fourth IPC port (see #2577)
46h BYTE port type for fifth port
47h 16 BYTEs fifth IPC port (see #2577)
57h BYTE reserved
SeeAlso: #2682
--------N-610007BX0005-----------------------
INT 61 - Banyan VINES - GET USER NAME
AX = 0007h
BX = 0005h
DS:DX -> 64-byte buffer for user's StreetTalk name
Return: AX = status (see also #2681)
0000h successful
0001h network software not installed or incompatible
Note: if no user logged in, first byte of returned name will be 00h
SeeAlso: AX=0007h/BX=0007h
--------N-610007BX0006-----------------------
INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
AX = 0007h
BX = 0006h
SI = error code (>100)
DS:DX -> 80-byte buffer for error text
Return: AX = status (see also #2681)
0000h successful
0001h network software not installed or incompatible
--------N-610007BX0007-----------------------
INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
AX = 0007h
BX = 0007h
DS:DX -> NiceName block (see #2685)
Return: AX = status (see #2681)
SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0008h
Format of VINES NiceName block:
Offset Size Description (Table 2685)
00h WORD type of name
0064h (100) organization
00C8h (200) group
012Ch (300) item
02h WORD pointer to ASCIZ input name
04h WORD pointer to 64-byte buffer for output name
SeeAlso: #2686
--------N-610007BX0008-----------------------
INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
AX = 0007h
BX = 0008h
DS:DX -> enumerate block (see #2686)
Return: AX = status (see also #2681)
0000h successful
0411h all matching names have been returned
0412h some groups unavailable, all available matches returned
Note: each program using this call should continue until a nonzero status
is returned; otherwise, some resources will not be freed for several
hours
SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0007h,AX=0007h/BX=0009h
Format of VINES enumerate block:
Offset Size Description (Table 2686)
00h WORD return code
02h WORD pointer to pattern string
04h WORD enumerate type
0064h (100) organization
00C8h (200) group
012Ch (300) item
06h WORD enumerate class
0000h unspecified (return all matching items)
0001h user names
0002h service names
0003h list names
0004h nicknames
08h WORD pointer to category criteria block (see #2687) or 0
0Ah WORD pointer to array of 64-byte returned names
0Ch WORD number of names returned
0Eh 6 BYTEs reserved for subsequent enumerated calls (set to zeros on first
call)
SeeAlso: #2685
Format of category criteria block:
Offset Size Description (Table 2687)
00h WORD exclude flag
0000h return only items with the specified categories
0001h return all items except those with the given categories
02h WORD number of categories (max 5, 0000h = match all categories)
04h WORD category 1 value (see #2688)
06h WORD category 2 value
08h WORD category 3 value
0Ah WORD category 4 value
0Ch WORD category 5 value
SeeAlso: #2686
(Table 2688)
Values for common VINES service categories:
0001h server service
0002h file service
0003h print service
0004h mail service
0005h StreetTalk
0006h time service
0007h FTP service
0008h semaphore service
0009h 3270/SNA service
000Ah terminal emulation service
000Bh asynchronous terminal service
000Ch NETBIOS service
000Dh PC-based service
000Eh BSC service
000Fh APPC service
0010h NM service
0011h VS service
0012h POP service
0013h AFP service
0014h VCS service
0015h EMS service
0016h LN service
0017h BS service
0023h RIPL service
0064h ADM service
SeeAlso: #2687
--------N-610007BX0009-----------------------
INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING (SELECTED PORT)
AX = 0007h
BX = 0009h
SI = error code
DS:DX -> 80-byte buffer for error text
DS:DI -> IPC port (16 bytes; see AX=0001h#"Sosock" for port format)
Return: AX = status (see AX=0007h/BX=0000h)
Note: Same as AX=0007h/BX=0006h, except IPC port is specified explicitly
SeeAlso: AX=0007h/BX=0006h
--------N-610007BX000A-----------------------
INT 61 - Banyan VINES - internal, OS/2 only - GET MANY PORTS FOR SERVICE
AX = 0007h
BX = 000Ah
DS:DX -> port control block (see #2689)
Return: AX = status (see AX=0007h/BX=0000h)
Note: This function cannot be called from applications, as the DS register
is checked against the redirector data segment address (status code
0001h will be returned if DS doesn't match)
SeeAlso: AX=0007h/BX=0001h,AX=0007h/BX=0002h,AX=0007h/BX=0004h
Format of port control block:
Offset Size Description (Table 2689)
00h WORD ???
02h WORD ???
04h 16 BYTEs IPC port (see #2577 at AX=0001h"Sosock")
14h 14 WORDs ???
SeeAlso: #2683
--------V-610008-----------------------------
INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
AX = 0008h
BX = X start of zoom offset
CX = Y start of zoom offset
Desc: specifies the first byte of video memory to appear in the zoom window
Range: unknown
Notes: INT 61 is the default interrupt; the actual interrupt number can be
obtained by calling INT 16/AH=FFh
not all vendors include the Tseng TSR which supports these functions
SeeAlso: AX=0000h"OPTIMA",AX=0006h"OPTIMA",INT 16/AH=FFh"OPTIMA"
--------N-610008BX0000-----------------------
INT 61 - Banyan VINES - TALKPORT SERVICE - GET HANDLER ADDRESS
AX = 0008h
BX = 0000h
Return: AX = status
0000h successful
ES:DX = far pointer to handler
Desc: The TalkPort is a facility to display event messages (e.g. mail
received, printing on a local printer, ...) on the screen
Note: This service is handled by the redirector
SeeAlso: AX=0008h/BX=0001h,AX=0008h/BX=0002h
--------N-610008BX0001-----------------------
INT 61 - Banyan VINES - TALKPORT SERVICE - SET HANDLER ADDRESS
AX = 0008h
BX = 0001h
ES:DX -> new handler
Return: AX = status
0000h successful
SeeAlso: AX=0008h/BX=0000h
--------N-610008BX0002-----------------------
INT 61 - Banyan VINES - TALKPORT SERVICE - POST MESSAGE ON LOCAL DISPLAY
AX = 0008h
BX = 0002h
CX = message display flags (see #2690)
DS:DX -> ASCIZ string to display (only first 80 chars used)
Return: AX = status
0000h successful
000Bh message display function currently busy
000Ch message queue full
Notes: queues up to three messages to be displayed on the bottom line
This service is handled by the redirector
In a DOS session, TalkPort messages are displayed on display line 25;
in a Windows session, TalkPort messages are displayed in dialog boxes
SeeAlso: AX=0008h/BX=0000h,AX=0008h/BX=0003h
Bitfields for VINES message display flags:
Bit(s) Description (Table 2690)
0 message will remain on screen until user presses ^X
1 ring bell after displaying message
2 blink
--------N-610008BX0003-----------------------
INT 61 - Banyan VINES - TALKPORT SERVICE - INTERCEPT VINES 25th-LINE MESSAGES
AX = 0008h
BX = 0003h
DS:DX -> request block (see #2691)
Return: AX = status
0000h successful
0001h network software not installed or incompatible
Notes: message handler should not call BIOS or DOS functions, and should
either call next handler or simply return
to stop intercepting messages, set prev and next request blocks to
point at each other
SeeAlso: AX=0008h/BX=0002h
Format of VINES request block for 25-th line messages:
Offset Size Description (Table 2691)
00h DWORD pointer to user-written message handler
04h DWORD pointer to next request block (filled in by VINES)
08h DWORD pointer to previous request block (filled in by VINES)
0Ch DWORD pointer to message storage area (filled by VINES) (see #2692)
Format of message storage area:
Offset Size Description (Table 2692)
00h 16 BYTEs IPC port of message sender (see #2577)
10h BYTE message flags
11h WORD reserved
13h BYTE length of message
14h 80 BYTEs message text
SeeAlso: #2691
--------N-610009-----------------------------
INT 61 - Banyan VINES - NETBIOS CLIENT SERVICE
AX = 0009h
other parameters, if any, unknown
--------N-61000A-----------------------------
INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
AX = 000Ah
Note: either 3270/SNA or 3270/BSC interface will use AX=000Ah, depending on
which is loaded second. The first interface loaded will use AX=0002h
SeeAlso: INT 61/AX=0002h
--------N-61000B-----------------------------
INT 61 - Banyan VINES - SEMAPHORE SERVICE
AX = 000Bh
other parameters, if any, unknown
--------N-61000C-----------------------------
INT 61 - Banyan VINES - 3270 KEYBOARD HANDLER
AX = 000Ch
other parameters, if any, unknown
--------N-61000D-----------------------------
INT 61 - Banyan VINES - T3270 SERVICE FUNCTION
AX = 000Dh
other parameters, if any, unknown
--------N-61000E-----------------------------
INT 61 - Banyan VINES - ENHANCED 3270 SERVICE
AX = 000Eh
other parameters, if any, unknown
--------N-61000F-----------------------------
INT 61 - Banyan VINES - VINES SOCKET API (FAR DATA)
AX = 000Fh
CX:BX -> request block (see #2693)
DX = application's data segment (should be = CX)
ES = DS
Return: AX = status
0000h successful
0099h invalid operation
00A5h resource not available
Desc: StreetTalk access with session handles
Notes: This service is handled by the adapter driver
The request dispatch table contains dummy entries for subfunctions
06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
(invalid operation) in the request block's result buffer
This interface does the same as the corresponding AX=0001h interface,
but with a slightly modified request block structure (i.e it allows
FAR parameter block pointers) and without expecting DS=0001h
Some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
VINES 5.53) ignore the value in CX and use the value from DX instead
SeeAlso: AX=0001h/SF=0001h,AX=000Fh/SF=0001h
Format of VINES Socket request block:
Offset Size Description (Table 2693)
00h WORD subfunction number (01h-16h)
02h WORD magic number (FEFEh)
04h WORD buffer for return code (set to 0 before calling)
06h WORD reserved (will be set to client DS)
08h WORD reserved (obviously not used; set to 0 before calling)
0Ah DWORD far pointer to parameter block
0Eh WORD StreetTalk handle
SeeAlso: #2573 at INT 61/AX=0001h
--------N-61000FSF0001-----------------------
INT 61 - Banyan VINES - OPEN SOCKET
AX = 000Fh subfn 0001h
CX:BX -> request block (see #2694)
DX = application's data segment (should be = CX)
ES = DS
Return: AX = status
0000h successful
00A5h resource not available
Desc: Opens a socket and returns a socket handle
Format of request block:
Offset Size Description (Table 2694)
00h WORD 0001h
02h WORD magic number (FEFEh)
04h WORD buffer for return code (set to 0 before calling)
06h WORD reserved (will be set to client DS)
08h WORD reserved (obviously not used; set to 0 before calling)
0Ah DWORD far pointer to parameter block (see #2695)
0Eh WORD process handle (see AX=000Fh/SF=0008h)
Format of parameter block:
Offset Size Description (Table 2695)
00h WORD reserved
02h WORD address family (0003h = VINES)
04h WORD socket type (0001h = IPC, 0002h = SPP)
06h WORD protocol number (FFFFh = default protocol)
08h WORD reserved
0Ah WORD local port number (0 = transient, 1..1FFh = well-known port)
0Ch DWORD far pointer to socket handle buffer (2 bytes)
10h DWORD far pointer to IPC port buffer (16 bytes)
SeeAlso: #2694
--------N-61000FSF0002-----------------------
INT 61 - Banyan VINES - SEND MESSAGE ON A SOCKET
AX = 000Fh subfn 0002h
CX:BX -> request block (see #2696)
DX = application's data segment (should be = CX)
ES = DS
Return: AX = status
0000h successful
00A5h resource not available
Desc: send data to a socket identified by its socket handle
Format of request block:
Offset Size Description (Table 2696)
00h WORD 0002h
02h WORD magic number (FEFEh)
04h WORD buffer for return code (set to 0 before calling)
06h WORD reserved (will be set to client DS)
08h WORD reserved (obviously not used; set to 0 before calling)
0Ah DWORD far pointer to parameter block (see #2697)
0Eh WORD process handle (see AX=000Fh/SF=0008h)
Format of parameter block:
Offset Size Description (Table 2697)
00h WORD buffer for estimated communication cost in 220 msec ticks
02h WORD buffer for return code (set to 0 before calling)
04h WORD socket handle
06h DWORD far pointer to IPC/SPP message buffer
0Ah WORD length of IPC/SPP message buffer
0Ch WORD option flags
bit 0: asynchronous communication
bit 1: reliable message
bit 3: end of message
bit 4: vectored I/O
0Eh 16 BYTEs socket address (IPC port of source)
1Eh WORD not used (set to 0 before calling)
20h WORD SPP connection id (0 for IPC messages)
22h WORD request type (1 = data, 2 = connect SPP, 3 = disconnect SPP)
SeeAlso: #2696
--------N-61000FSF0004-----------------------
INT 61 - Banyan VINES - CLOSE SOCKET
AX = 000Fh subfn 0004h
CX:BX -> request block (see #2698)
DX = application's data segment (should be = CX)
ES = DS
Return: AX = status
0000h successful
00A5h resource not available
Desc: Closes a socket identified by its socket handle
Format of request block:
Offset Size Description (Table 2698)
00h WORD 0004h
02h WORD magic number (FEFEh)
04h WORD buffer for return code (set to 0 before calling)
06h WORD reserved (will be set to client DS)
08h WORD reserved (obviously not used; set to 0 before calling)
0Ah DWORD far pointer to socket handle (2 bytes)
0Eh WORD process handle (see AX=000Fh/SF=0008h)
--------N-61000FSF0008-----------------------
INT 61 - Banyan VINES - GET PROCESS HANDLE
AX = 000Fh subfn 0008h
CX:BX -> request block (see #2699)
DX = application's data segment (should be = CX)
ES = DS
Return: AX = status
0000h successful
00A5h resource not available
Desc: Returns a process handle to be used in other request blocks
Notes: This function is a prerequisite to all AX=000Fh subfunctions which
expect a process handle in the request block
Although subsequent calls from the same application return different
process handles, there seem to be no restrictions on how many times
an application may call this function (in fact, the code in the VINES
toolkit library always calls it before issueing other AX=000Fh calls)
Format of request block:
Offset Size Description (Table 2699)
00h WORD 0008h
02h WORD magic number (FEFEh)
04h WORD buffer for return code (set to 0 before calling)
06h WORD reserved
08h WORD reserved (obviously not used; set to 0 before calling)
0Ah DWORD process type (1 = transient, 2 = resident; destroyed on exit)
0Eh WORD buffer for process handle
--------N-610010-----------------------------
INT 61 - Banyan VINES - INTERFACE TO NBNS
AX = 0010h
other parameters, if any, unknown
--------N-6101-------------------------------
INT 61 - Banyan VINES - CHECK SERVICE
AH = 01h
AL = service ID (see #2700)
Return: AX = status
0000h installed
0001h not installed
0002h invalid ID
0003h invalid function
Note: Only the offset part of the service pointer is checked for a nonzero
value
SeeAlso: AH=00h,AH=02h"VINES",AH=03h"VINES"
(Table 2700)
Values for VINES service ID:
01h communications
02h primary 3270 emulation
03h async terminal emulation
04h file deflection
05h print service control
06h get address of something
07h StreetTalk access service
08h environment
09h NETBIOS client service
0Ah secondary 3270 emulation
0Bh semaphore service
0Ch 3270 emulation active status
0Dh T3270 keyboard interrupt simulator
0Eh enhanced 3270 service
0Fh comm Windows entry point
10h interface to NBNS
--------N-6101--BX0000-----------------------
INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
AH = 01h
BX = 0000h
DH = tag number
DL = device number
DS:SI -> buffer to send to kernel
ES:DI -> integer containing size of buffer
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
Notes: there are a large number of tags available; the items returned
all refer to local kernel configuration, and are not needed in
normal use.
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=02h"PC/TCP"
--------N-6102-------------------------------
INT 61 - Banyan VINES - GET REVISION NUMBER
AH = 02h
DS:DX -> 2-byte buffer for result
Return: AX = 0000h installed
DS:DX buffer contains revision number as
10000d * major_ver + 100d * minor_ver + patch_revision
SeeAlso: AH=01h"VINES",AH=04h"VINES",AH=07h"VINES"
--------N-6102--BX0000-----------------------
INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
AH = 02h
BX = 0000h
DH = tag number
DL = device number
DS:SI -> buffer for result (up to 48 bytes for version <= 2.2)
ES:DI -> integer containing size of buffer
Return: CF clear if successful
Data loaded into specified buffer, and size value altered
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
Notes: there are a large number of tags available; the items returned
all refer to local kernel configuration, and are not needed in
normal use.
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
--------N-6103-------------------------------
INT 61 - Banyan VINES - INSTALL SERVICE HANDLER
AH = 03h
AL = service ID (see #2700)
DS:DX -> new service handler
Return: AX = 0000h successful
SeeAlso: AH=00h,AH=01h"VINES",AH=02h"VINES",AH=05h"VINES"
--------N-6104-------------------------------
INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE
AH = 04h
DS:DX -> 2-byte buffer containing the VINES revision number
DS:DX buffer contains revision number as
10000d * major_ver + 100d * minor_ver + patch_revision
Return: AX = status
0000h valid version
0004h out of range
Note: For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
SeeAlso: AH=02h"VINES",AH=07h"VINES",AH=08h"VINES"
--------N-6105-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
AH = 05h
BX = network descriptor
Return: CF clear if successful
DX:AX = Internet address of ND
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
Notes: the installation check consists of testing for the signature "TCPTSR"
three bytes beyond the start of the interrupt handler
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=16h"PC/TCP"
SeeAlso: INT 63/AH=25h"BW-TCP"
--------N-6105-------------------------------
INT 61 - Banyan VINES - READ PCCONFIG BYTES
AH = 05h
CX = number of bytes to copy
(max. 0175h for VINES 4.00, max. 017Fh for VINES 4.10+)
SI = offset of area to be copied (see #2701,#2702)
Return: AX = status
0000h successful
0004h out of range
Notes: The PCCONFIG area is located in the code segment of the BANV handler
To find out which PCCONFIG structure applies, call this function first
with CX=0006h to get the VINES revision number
SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=06h"VINES",AH=0Bh"VINES"
Format of PCCONFIG area (VINES 4.00):
Offset Size Description (Table 2701)
00h 6 BYTEs VINES revision (ASCII, zero-padded)
06h 2 BYTEs NEWREV-number (ASCII, two digits)
08h WORD hardware interrupt level
0Ah WORD DMA channel
0Ch WORD I/O address
0Eh DWORD adapter ROM address (linear)
12h DWORD adapter RAM address (linear)
16h WORD BANV interrupt
18h 32 BYTEs default login group #1
38h 32 BYTEs default login group #2
58h 32 BYTEs default login group #3
78h WORD semaphore locking support flag
7Ah WORD extended StreetTalk flag
7Ch WORD maximum number of file volumes
7Eh WORD NetBIOS flag
80h 60 BYTEs default network adapter
BCh 60 BYTEs default communications driver
F8h WORD maximum number of SPP connections
FAh WORD maximum number of open sockets
FCh WORD communications buffer size (10..60 KB)
FEh 20 BYTEs location directory on drive Z:
112h 33 BYTEs auxiliary configuration area #1 (see #2703)
133h 33 BYTEs auxiliary configuration area #2
154h 33 BYTEs auxiliary configuration area #3
SeeAlso: #2702
Format of PCCONFIG area (VINES 4.10+):
Offset Size Description (Table 2702)
00h 6 BYTEs VINES revision (ASCII, zero-padded)
06h 2 BYTEs NEWREV-number (ASCII, two digits)
08h WORD hardware interrupt level
0Ah WORD DMA channel
0Ch WORD I/O address
0Eh DWORD adapter ROM address (linear)
12h DWORD adapter RAM address (linear)
16h WORD BANV interrupt
18h 32 BYTEs default login group #1
38h 32 BYTEs default login group #2
58h 32 BYTEs default login group #3
78h WORD semaphore locking support flag
7Ah WORD extended StreetTalk flag
7Ch WORD named pipes support flag
7Eh WORD maximum number of file volumes
80h WORD NetBIOS flag
82h 60 BYTEs default network adapter
BEh 60 BYTEs default communications driver
FAh WORD maximum number of SPP connections
FCh WORD maximum number of open sockets
FEh WORD communications buffer size (10..60 KB)
100h WORD number of mailslots
102h WORD maximum number of open files
104h WORD maximum number of NetBIOS sessions
106h WORD maximum number of NetBIOS commands
108h 20 BYTEs location directory on drive Z:
11Ch 33 BYTEs auxiliary configuration area #1 (see #2703)
13Dh 33 BYTEs auxiliary configuration area #2
15Eh 33 BYTEs auxiliary configuration area #3
Format of auxiliary configuration area:
Offset Size Description (Table 2703)
00h 16 BYTEs item name (no zero terminator if length = 16)
10h BYTE item value type (1=text, else numeric)
11h 16 BYTEs item value (string if type 1, else DWORD)
SeeAlso: #2701,#2702
--------N-6106-------------------------------
INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
AH = 06h
BX = network descriptor (must be allocated and open)
DS:SI -> 38-byte buffer for interface statistics (see #2704)
Return: CF clear if successful
buffer filled
CF set on error
AX = error code (see #2568)
Desc: returns the statistics relevant to the particular network interface
used by the specified network descriptor
Range: INT 20 to INT E0, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=05h"PC/TCP"
Format of PC/TCP interface statistics:
Offset Size Description (Table 2704)
00h WORD interface class (e.g. 802.3)
02h WORD type (manufacturer) of interface
04h WORD interface number
06h DWORD (big-endian) IP address of interface
0Ah DWORD subnet mask
0Eh WORD 0001h if interface is up
10h DWORD total packets received
14h DWORD total packets sent
18h DWORD receive errors
1Ch DWORD send errors
20h WORD length of local net address (e.g. 0006h for Ethernet)
22h DWORD pointer to local net address
--------N-6106-------------------------------
INT 61 - Banyan VINES - GET PCCONFIG BASE ADDRESS
AH = 06h
DS:DX -> 4-byte buffer for far pointer to PCCONFIG area
Return: AX = 0000h successful
Note: The PCCONFIG area is located in the code segment of the BANV handler
SeeAlso: AH=05h"VINES",AH=0Bh"VINES"
--------N-6107-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
AH = 07h
BX = local network descriptor
Return: CF clear if successful
AX = global network descriptor
CF set on error
AX = error code (see #2568)
Notes: the new network descriptor can be accessed from all processes and is
independent of DOS
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
SeeAlso: INT 61/AH=29h
--------N-6107-------------------------------
INT 61 - Banyan VINES - GET VINES REVISION NUMBER (LONG)
AH = 07h
DS:DX -> 4-byte buffer for result
Return: AX = 0000h successful
DS:DX buffer contains revision number as
10000d * major_ver + 100d * minor_ver + patch_revision
SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=08h"VINES"
--------b-6107-------------------------------
INT 61 - Atari Portfolio - FORMAT CREDIT CARD MEMORY
AH = 07h
AL = drive number (00h = A:,01h = B:)
Return: CF clear if successful
CF set on error
AH = error code (see #0144 at INT 13/AH=01h)
Note: do not use this function to format the internal disk (drive number 02h)
SeeAlso: AH=00h"Portfolio",AH=08h"Portfolio",AH=09h"Portfolio"
--------N-6108-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
AH = 08h
BX = network descriptor
Return: CF clear if successful
AX = 0000h (BWPCTCP shim)
CF set on error
AX = error code (see #2568)
Range: INT 20 to INT E0, selected by configuration
Note: the descriptor will be closed and resources released. If a stream
descriptor, the protocol (FIN etc) is completed unless the
non-blocking option has been set.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=09h"PC/TCP"
SeeAlso: INT 63/AH=0Eh"BW-TCP"
--------N-6108-------------------------------
INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE (LONG)
AH = 08h
DS:DX -> 4-byte buffer containing the VINES revision number
DS:DX buffer contains revision number as
10000d * major_ver + 100d * minor_ver + patch_revision
Return: AX = status
0000h valid version
0004h out of range
Note: For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
SeeAlso: AH=04h"VINES",AH=07h"VINES"
--------b-6108-------------------------------
INT 61 - Atari Portfolio - GET SIZE OF INTERNAL DISK
AH = 08h
Return: AX = segment address of RAMdisk
BX = size in KB
SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=09h"Portfolio"
--------N-6109-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
AH = 09h
Return: CF clear
Range: INT 20 to INT E0, selected by configuration
Notes: this call performs function 08h on every non-global network descriptor.
Global descriptors must be released individually.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
SeeAlso: INT 63/AH=0Eh"BW-TCP"
--------N-6109-------------------------------
INT 61 - Banyan VINES - GET VALUE OF AN OS/2 BACKEND VARIABLE
AH = 09h
other parameters, if any, unknown
SeeAlso: AH=0Ah"VINES"
--------b-6109-------------------------------
INT 61 - Atari Portfolio - FORMAT INTERNAL DISK
AH = 09h
BX = desired size of disk in KB
Return: CF clear if successful
CF set on error
BX = maximum possible size in KB
Desc: resize and erase the internal RAMdisk, then reboot the system
SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=08h"Portfolio"
SeeAlso: AH=0Bh"Portfolio"
--------N-610A-------------------------------
INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
AH = 0Ah
???
Return: ???
Notes: this function is described as "unused" in the v2.05 and v2.2
documentation
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: AH=0Bh
--------N-610A-------------------------------
INT 61 - Banyan VINES - SET VALUE OF AN OS/2 BACKEND VARIABLE
AH = 0Ah
other parameters, if any, unknown
SeeAlso: AH=09h"VINES"
--------N-610B-------------------------------
INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
AH = 0Bh
???
Return: ???
Range: INT 20 to INT E0, selected by configuration
Notes: this function is described as "unused" in the v2.05 and v2.2
documentation
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: AH=0Ah
--------N-610B-------------------------------
INT 61 - Banyan VINES - SET PCCONFIG IN BACKEND
AH = 0Bh
other parameters, if any, unknown
SeeAlso: AH=05h"VINES",AH=06h"VINES"
--------b-610B-------------------------------
INT 61 - Atari Portfolio - DETERMINE CCM VALIDITY
AH = 0Bh
AL = drive number (00h = A:,01h = B:)
Return: CF clear if successful (card present and correct)
CF set on error
AH = error code (see #0144 at INT 13/AH=01h)
SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=0Dh"Portfolio"
--------N-610C-------------------------------
INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
AH = 0Ch
BX = network descriptor or one of the following:
FFFCh for kernel ICMP statistics (see #2708)
FFFDh for kernel UDP statistics (see #2707)
FFFEh for kernel IP statistics (see #2706)
FFFFh for kernel TCP statistics (see #2705)
DS:DX -> 64-byte buffer
Return: CF clear if successful
buffer filled
CF set on error
AX = error code (see #2568)
Notes: the fields filled in for a network descriptor depend on the protocol
family used by that descriptor's connection
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
Format of PC/TCP kernel TCP statistics:
Offset Size Description (Table 2705)
00h 16 BYTEs unused
10h DWORD bytes sent
14h DWORD bytes received
18h 8 BYTEs unused
20h DWORD packets sent
24h DWORD packets received
28h DWORD bad checksums
2Ch DWORD count of window ignored by remote
30h DWORD timeouts
34h DWORD resets
38h DWORD duplicate packets
3Ch DWORD retransmits
SeeAlso: #2706,#2707,#2708
Format of PC/TCP kernel IP statistics:
Offset Size Description (Table 2706)
00h 8 BYTEs unused
08h DWORD invalid IP header length errors
0Ch DWORD protocol errors (unwanted packets)
10h DWORD duplicate fragments received
14h DWORD bad fragments received
18h DWORD security errors
1Ch DWORD count of bad IP addresses received
20h DWORD packets sent
24h DWORD packets received
28h DWORD bad checksums received
2Ch DWORD total IP protocol errors
30h DWORD fragmentation errors
34h DWORD IP packets discarded + bad security + bad fragments
38h DWORD fragments received
3Ch 4 BYTEs unused
SeeAlso: #2705,#2707,#2708
Format of PC/TCP kernel UDP statistics:
Offset Size Description (Table 2707)
00h 28 BYTEs unused
1Ch DWORD packets dropped for lack of buffers
20h DWORD packets sent
24h DWORD packets received
28h DWORD bad checksums
2Ch DWORD port not listening errors
30h 4 BYTEs unused
34h DWORD truncated receives
38h 8 BYTEs unused
SeeAlso: #2705,#2706,#2708
Format of PC/TCP kernel ICMP statistics:
Offset Size Description (Table 2708)
00h DWORD "TimeEx" sent
04h DWORD "TimeEx" received
08h DWORD "ParamProb" sent
0Ch DWORD "ParamProb" received
10h DWORD redirects received
14h DWORD source quenches received
18h DWORD ICMP Echo Requests ("ping") sent
1Ch DWORD ICMP Echo Requests received
20h DWORD packets sent
24h DWORD packets received
28h DWORD bad packets received
2Ch DWORD "DestUn" received
30h DWORD packet send errors
34h DWORD "DestUn" sent
38h DWORD ICMP Echo replies received
3Ch DWORD ICMP Echo replies sent
SeeAlso: #2705,#2706,#2707
--------N-610D-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
AH = 0Dh
BX = possible network descriptor
Return: CF clear if valid
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
SeeAlso: INT 61/AH=22h
--------b-610D-------------------------------
INT 61 - Atari Portfolio - GET SCREEN SIZE
AH = 0Dh
Return: AX = physical screen size (AH=rows, AL=columns)
DX = logical screen size (DH=rows, DL=columns)
SeeAlso: AH=00h"Portfolio",AH=0Bh"Portfolio",AH=0Eh"Portfolio"
--------N-610E-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
AH = 0Eh
BX = maximum value of network descriptor for which to return info
DS:DX -> 32-bit (max) array of bit flags for read readiness
ES:DI -> 32-bit (max) array of bit flags for write readiness
Return: CF clear
Range: INT 20 to INT E0, selected by configuration
Notes: bits in the DS:DX buffer are set if the corresponding network
descriptor may be read without blocking; bits in the ES:DI buffer
are set if the corresponding network descriptor may be written
without blocking. This implies that the network descriptor has
opened correctly and the protocol initialized.
the installation check consists of testing for the signature "TCPTSR"
three bytes beyond the start of the interrupt handler
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-610E-------------------------------
INT 61 - Atari Portfolio - GET/SET SCREEN MODE
AH = 0Eh
AL = function
00h get mode
01h set mode
DL = new mode (see #2709)
Return: DL = current/old mode
Note: if changing the mode places the cursor position or virtual screen
origin outside the displayed area, the screen origin will be reset
to (0,0), the screen cleared, and the cursor position set to (0,0)
SeeAlso: AH=00h"Portfolio",AH=0Dh"Portfolio",AH=0Fh"Portfolio",INT 10/AH=00h
Bitfields for Atari Portfolio screen mode:
Bit(s) Description (Table 2709)
0 40x8 mode instead of 80x25
1 tracked mode
7 graphics
Note: the above bits are mutually exclusive
--------N-610F-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
AH = 0Fh
Return: CF clear
AX = version (AH = major, AL = minor)
BX = patch level
Notes: patch levels are no longer used starting with version 2.10; instead,
the minor version level is incremented.
Beame&Whiteside's BWPCTCP v3.0a shim reports version 2.05, but does not
set BX
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-610F-------------------------------
INT 61 - Atari Portfolio - GET/SET CURSOR MODE
AH = 0Fh
AL = function
00h get mode
01h set mode
BL = new cursor mode
00h cursor off
01h underline
02h block
02h force mode (set size to reflect NumLock state)
Return: BL = current/old cursor mode
SeeAlso: AH=00h"Portfolio",AH=0Eh"Portfolio",AH=10h"Portfolio",INT 10/AH=01h
--------N-6110-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
AH = 10h
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
Note: this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-6110-------------------------------
INT 61 - Atari Portfolio - GET/SET VIRTUAL SCREEN POSITION
AH = 10h
AL = function
00h get position
Return: DH,DL = current row,column
01h set position
DH = row
DL = column
Desc: get or specify the upper-left corner of the 40x8 window into the
logical screen
SeeAlso: AH=00h"Portfolio",AH=0Eh"Portfolio",AH=0Fh"Portfolio"
SeeAlso: AH=11h"Portfolio"
--------N-6111-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
AH = 11h
Return: CF clear
AX = previous state
0000h async calls were already disabled
else async calls were enabled
SeeAlso: INT 61"FTP Software",INT 61/AH=12h
--------b-6111-------------------------------
INT 61 - Atari Portfolio - MOVE VIRTUAL SCREEN ORIGIN
AH = 11h
AL = number of lines to move
DL = direction of move (1=up, 2=down, 3=left, 4=right)
SeeAlso: AH=00h"Portfolio",AH=10h"Portfolio",AH=12h"Portfolio"
--------N-6112-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
AH = 12h
Return: CF clear
AX = previous state
0000h async calls were disabled
else async calls were already enabled
SeeAlso: INT 61"FTP Software",INT 61/AH=11h
--------b-6112-------------------------------
INT 61 - Atari Portfolio - SCREEN REFRESH
AH = 12h
Return: nothing
Desc: copy contents of video RAM to LCD controller
SeeAlso: AH=10h"Portfolio",AH=11h"Portfolio",AH=15h"Portfolio"
--------N-6113-------------------------------
INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
AH = 13h
BX = network descriptor (FFFFh for automatic net_getdesc)
DX = protocol (see #2710)
DS:SI -> buffer for "addr" structure (see #2711)
Return: CF clear if successful
AX = network descriptor used or allocated
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Notes: resets the connection with AH=19h in various cases
will wait for protocol on stream connections unless non-blocking was
set with AH=20h
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=18h,INT 61/AH=23h
SeeAlso: INT 63/AH=14h"BW-TCP"
(Table 2710)
Values for PC/TCP protocol:
0001h raw net (undocumented)
0002h raw IP
0003h datagram (UDP)
0004h stream (TCP)
0005h raw ICMP
Format of structure "addr":
Offset Size Description (Table 2711)
00h DWORD Internet address (network order)
04h WORD remote socket number (network order)
06h WORD local socket number (network order) 0000h means "you choose"
08h BYTE protocol (see #2710)
--------N-6114-------------------------------
INT 61 Ou - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
AH = 14h
BX = network descriptor
Return: CF set
AX = 0018h (see #2568 at INT 61"FTP Software")
Notes: displays error message "Illegal system call! Please upgrade your
PCserver software" to standard output
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=0Ah,INT 61/AH=15h
--------N-6115-------------------------------
INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
AH = 15h
???
Return: ???
Notes: this function is described as "unused" in the v2.2 documentation
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61/AH=0Bh,INT 61/AH=14h
--------b-6115-------------------------------
INT 61 - Atari Portfolio - SOUND GENERATION
AH = 15h
AL = function
00h key click
01h beep
02h alarm
Return: nothing
SeeAlso: AH=00h"Portfolio",AH=12h"Portfolio",AH=16h"Portfolio"
--------N-6116-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
AH = 16h
BX = network descriptor
DS:DX -> 9-byte buffer for "addr" structure (see #2711)
Return: CF clear if successful
buffer filled
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-6116-------------------------------
INT 61 - Atari Portfolio - MELODY TONE GENERATOR
AH = 16h
CX = length of tones in 1/100 sec
DL = tone code (see #2712)
SeeAlso: AH=15h"Portfolio",AH=17h"Portfolio"
(Table 2712)
Values for Atari Portfolio tone code:
04h A6#1864.7 Hz
05h B6 1975.5 Hz
06h D7 2348.3 Hz
07h D7# 2489.0 Hz
0Eh F6# 1480.0 Hz
25h C7 2093.0 Hz
29h D6 1174.7 Hz
2Ch G6# 1661.2 Hz
2Fh C7# 2217.5 Hz
30h D5# 622.3 Hz
31h E5 659.3 Hz
32h F5 698.5 Hz
33h F5# 740.0 Hz
34h G5 784.0 Hz
35h G5# 830.6 Hz
36h A5 880.6 Hz
37h A5# 932.3 Hz
38h B5 987.8 Hz
39h C6 1046.5 Hz
3Ah C6# 1108.7 Hz
3Bh D6# 1244.5 Hz
3Ch E6 1318.5 Hz
3Dh F6 1396.9 Hz
3Eh G6 1568.9 Hz
3Fh A6 1760.0 Hz
--------N-6117-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
AH = 17h
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Notes: this routine is deprecated in v2.1+ and will eventually be withdrawn;
in v2.1+, this function calls AH=01h which should be used instead
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
--------b-6117-------------------------------
INT 61 - Atari Portfolio - DIAL NUMBER
AH = 17h
DS:SI -> ASCII string containing number to dial
CX = length of string
Note: valid characters for string are "0123456789ABCD*#"
SeeAlso: AH=00h"Portfolio",AH=15h"Portfolio",AH=16h"Portfolio"
SeeAlso: AH=18h"Portfolio"
--------N-6118-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
AH = 18h
BX = network descriptor
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: a TCP "FIN" command is sent and no further data may be transmitted,
although the connection remains open
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=13h"PC/TCP"
SeeAlso: INT 63/AH=0Eh"BW-TCP"
--------b-6118-------------------------------
INT 61 - Atari Portfolio - MUTE STATES
AH = 18h
AL = function
00h get mute state
01h set mute state
02h get key click state
03h set key click state
04h get beep state
05h set beep state
06h get alarm state
07h set alarm state
08h get DTMF duration
09h set DTMF duration
DL = new state ("set" functions) (00h off [muted], 01h on)
Return: DL = current state ("get" functions) (00h off [muted], 01h on)
SeeAlso: AH=15h"Portfolio",AH=16h"Portfolio",AH=17h"Portfolio"
SeeAlso: AH=19h"Portfolio"
--------N-6119-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
AH = 19h
BX = network descriptor
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Desc: immediately destroys the specified connection
Note: send a TCP "RST" command if a stream connection is open
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=24h
--------b-6119-------------------------------
INT 61 - Atari Portfolio - GET SERIAL PORT PARAMETERS
AH = 19h
DX = serial port number
Return: AH = status
00h successful
AL = composite parameters (see #0204 at INT 14/AH=00h"SERIAL")
other error
SeeAlso: AH=00h"Portfolio",AH=15h"Portfolio",AH=1Ah"Portfolio"
--------N-611A-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
AH = 1Ah
BX = network descriptor
CX = number of bytes to transmit (0000h allowed)
DX = send options (see #2713)
DS:SI -> data to be written
Return: CF clear if successful
AX = number of bytes actually written
DX = ???
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20h to INT E0h, selected by configuration
Notes: the installation check consists of testing for the signature "TCPTSR"
three bytes beyond the start of the interrupt handler
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
SeeAlso: INT 63/AH=19h"BW-TCP",INT 63/AH=1Bh"BW-TCP"
Bitfields for PC/TCP send options:
Bit(s) Description (Table 2713)
0 signal "URG"ent data
3 attempt rerouting on non-stream calls if first attempt fails
4 send data with PUSH flag (no override of Nagle)
5 fail rather than truncating datagram
6 fail rather than blocking
7 broadcast packet
--------b-611A-------------------------------
INT 61 - Atari Portfolio - GET PERIPHERAL ID BYTE
AH = 1Ah
Return: AH = peripheral ID byte
AL = 00h if no peripheral installed
Desc: get the ID code for the current terminating peripheral
SeeAlso: AH=00h"Portfolio",AH=18h"Portfolio",AH=1Bh"Portfolio"
--------N-611B-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
AH = 1Bh
BX = network descriptor
CX = maximum number of bytes to read
DX = receive options (see #2714)
DS:SI -> buffer for data
ES:DI -> "addr" structure (see #2711) for remote from which to read
0000h:0000h for any
Return: CF clear if successful
AX = number of bytes actually read
DX = ???
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
Bitfields for PC/TCP receive options:
Bit(s) Description (Table 2714)
1 do not remove data from queue, just copy it
2 do not copy data, just remove it from queue
5 fail if datagram would be truncated
6 do not block, return error if no data available
Note: special case for UDP: if both 1 and 2 set, return number of datagrams
--------b-611B-------------------------------
INT 61 - Atari Portfolio - SET PERIPHERAL ID BYTE
AH = 1Bh
AL = which peripheral to set
00h serial
01h parallel
DL = peripheral ID
Return: nothing
Desc: specify that a peripheral is compatible with the BIOS serial or
parallel services
SeeAlso: AH=1Ah"Portfolio",AH=1Ch"Portfolio"
--------N-611C-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
AH = 1Ch
BX = network descriptor
CX = number of bytes to transmit (0000h allowed)
DX = send options (see #2713)
DS:SI -> data to be written
ES:DI -> "addr" structure (see #2711)
Return: CF clear if successful
AX = number of bytes actually written
DX = ???
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: this function differs from AH=1Ah in that the address and socket
numbers can be overridden
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
SeeAlso: INT 63/AH=21h"BW-TCP"
--------b-611C-------------------------------
INT 61 - Atari Portfolio - PRESET/GET PERIPHERAL DATA
AH = 1Ch
AL = function
00h preset data values
BL = data value
DX = I/O address
01h get data values
BH = table entry number (04h-09h)
Return: if function 01h
BL = data value
DX = I/O address
Desc: preset peripheral I/O data in a table mapping I/O addresses to data
values; function 00h additionally outputs the data value to the
I/O port
SeeAlso: AH=1Ah"Portfolio",AH=1Bh"Portfolio",AH=1Eh"Portfolio"
--------N-611D-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
AH = 1Dh
BX = network descriptor
CX = maximum number of bytes to read
DX = receive options (see #2713)
DS:SI -> buffer for received data
ES:DI -> 9-byte buffer containing "addr" structure (see #2711)
Return: CF clear if successful
AX = number of bytes read
DX = ???
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Notes: this function can read from any host or a designated host depending
on settings in the "addr" structure
only for use with datagram or Raw descriptors
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
--------N-611E-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
AH = 1Eh
BX = network descriptor
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
Notes: bufferred data is transmitted immediately, overriding Nagle's algorithm
if necessary
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-611E-------------------------------
INT 61 - Atari Portfolio - GET/SET CLOCK TICK SPEED
AH = 1Eh
AL = function
00h get speed
01h set speed
BX = clock tick speed
0000h tick every 128 seconds
0001h tick every second
Return: if function 00h
BX = clock tick speed
Note: the faster tick speed also uses more power
SeeAlso: AH=00h"Portfolio",AH=1Ch"Portfolio",AH=1Fh"Portfolio"
--------N-611F-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
AH = 1Fh
BX = network descriptor
CX = event type (see #2715)
DS:SI -> event handler routine (see #2716)
ES:DI = 32-bit hint passed to handler
Return: CF clear if successful
DS:DX -> previous handler
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: ICMP messages do not trigger events on stream connections
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
(Table 2715)
Values for PC/TCP event type:
00h alarm
01h open (successfully opened stream connection)
02h receive (data available)
03h transmit (ACK received on stream connection)
04h transmit flush???
05h foreign close (remote host closed data connection)
06h close (local host closed connection and protocol is complete)
07h error (error code passed to handler as arg)
(Table 2716)
Values PC/TCP user event handler is called with:
BX = network descriptor
CX = event type (see #2715)
DS:DX -> arg
ES:DI = 32-bit hint value
STACK: small stack, possibly the DOS stack
--------b-611F-------------------------------
INT 61 - Atari Portfolio - GET KEY/NMI-INVOKED SCREEN REFRESH
AH = 1Fh
AL = function
00h get state
01h set state
DH = new refresh-on-NMI state
(00h disabled, 01h enabled, bit 7 set = don't change)
DL = new refresh-on-key state
Return: DH,DL = current/old states
SeeAlso: AH=00h"Portfolio",AH=1Eh"Portfolio",AH=20h"Portfolio"
--------N-6120-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
AH = 20h
BX = network descriptor
CX = length of buffer (usually 04h)
DS:DX -> buffer containing option
SI = (ignored by v2.2-)
DI = option to set (see #2717)
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: Beame&Whiteside's BWPCTCP shim only supports options 01h and 0Bh; all
others return CF clear
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=21h
(Table 2717)
Values for PC/TCP option to get or set:
01h set non-blocking mode if non-zero
02h timeout of call in milliseconds
03h user-defined 4-byte magic cookie (not used by kernel)
04h TCP window or UDP buffer count (WORD, unsigned)
06h do TCP keep-alives if non-zero
09h (v2.1+) set IP precedence
0Ah (v2.1+) set IP type of service
0Bh use a privileged port if port = 0
0Ch turn off TCP PUSH bit and don't flush buffer every write (see AH=1Ah)
Note: use "C" true or false values for boolean options
--------b-6120-------------------------------
INT 61 - Atari Portfolio - GET/SET INT 09 REVECTORING
AH = 20h
AL = function
00h get INT 09 revectoring state
01h set state
DL = new state (00h disable, 01h enable)
Return: if function 00h
DL = new state (00h disabled, 01h enabled)
Desc: specify whether INT 09 is automatically revectored to the BIOS,
preventing applications from using their own INT 09 handler on the
incompatible keyboard hardware
SeeAlso: AH=1Eh"Portfolio",AH=1Fh"Portfolio",AH=24h"Portfolio"
--------N-6121-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
AH = 21h
BX = network descriptor
CX = length of buffer
DS:DX -> buffer for return values
SI = 0004h (ignored by v2.2-)
DI = option (see #2717)
Return: CF clear if successful
DS:DX -> value (usually 32 bits) returned by selected option
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=20h
--------N-6122-------------------------------
INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
AH = 22h
Return: CF clear if successful
AX = network descriptor
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: the descriptor will be an integer in the range 00h-1Fh, and a DOS call
is made to allocate this as a file descriptor. Hence a number may
not refer to a PC/TCP network descriptor and a DOS file handle
simultaneously.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=13h,INT 61/AH=29h
--------N-6123-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
AH = 23h
BX = network descriptor or FFFFh to allocate descriptor
DX = type of service
DS:SI -> "addr" structure (see #2711)
Return: CF clear if successful
AX = network descriptor
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Notes: type of service and "addr" structure are as for AH=13h
any of the address structure can be zero; normally local socket number
is filled in prior to call
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=13h
SeeAlso: INT 63/AH=12h"BW-TCP"
--------N-6124-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
AH = 24h
Return: always successful
Note: performs "net_abort" (AH=19h) on all open non-global descriptors
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=19h
--------b-6124-------------------------------
INT 61 - Atari Portfolio - GET/SET ROM/CCM SPACE STATE
AH = 24h
AL = function
00h get state
01h set state
DL = new ROM state (see #2718)
DH = new CCM state (see #2719)
Return: CF clear if successful
DL = current/old ROM state
DH = current/old CCM state
CF set on error (invalid option or other error)
Desc: control whether memory cards or an extension ROM are visible in the
range 000C0000h to 000DFFFFh
SeeAlso: AH=00h"Portfolio",AH=20h"Portfolio",AH=26h"Portfolio"
(Table 2718)
Values for Atari Portfolio ROM space state:
00h normal application ROM
01h CCM drive A:
02h CCM drive B:
03h expansion ROM
SeeAlso: #2719
(Table 2719)
Values for Atari Portfolio CCM space state:
00h CCM drives disabled
01h CCM drive A: permanently enabled
02h CCM drive B: permanently enabled
SeeAlso: #2718
--------N-6125-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
AH = 25h
DX,BX = IP address in network order
CX = length of buffer for name
DS:SI -> buffer for host name
Return: CF clear if successful
buffer filled with ASCIZ host name
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: this function will use the host table and or DNS to resolve the
address, depending on kernel configuration. Use this call for the
normal gethostbyaddr function.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=26h,INT 61/AH=27h
--------N-6126-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
AH = 26h
DX,BX = IP address in network order
CX = length of buffer
DS:SI -> buffer for host name
Return: CF clear if successful
buffer filled with ASCIZ host name
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Notes: normally one would use AH=25h instead of this function
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=27h
--------b-6126-------------------------------
INT 61 - Atari Portfolio - GET/SET POWER CONTROL
AH = 26h
AL = function
00h get state
01h set state
DL = new state
00h normal power-down on low battery
01h no power-down, but display warning
02h no power-down, no warning on low battery
Return: AL = current/old state
SeeAlso: AH=00h"Portfolio",AH=24h"Portfolio",AH=28h"Portfolio"
--------N-6127-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
AH = 27h
DX,BX = IP address in network order
CX = length of buffer
DS:SI -> buffer for host name
Return: CF clear if successful
buffer filled with ASCIZ host name
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: normally one would use AH=25h instead of this function
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=26h
--------N-6128-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
AH = 28h
BX = network descriptor 1
CX = network descriptor 2
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: the two descriptors will exchange places; both must be local or both
global
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-6128-------------------------------
INT 61 - Atari Portfolio - GET/SET TEXT/KEYBOARD LANGUAGE
AH = 28h
AL = function
00h get languages
01h set languages
DH = new text language (set bit 7 to leave unchanged)
DL = new keyboard language (set bit 7 to leave unchanged)
03h get language table pointers
Return: if function 00h or 01h:
DH = current/old text language
DL = current/old keyboard language
if function 03h
ES:CX -> keyboard table (see #2720)
ES:DX -> language table (see #2720)
SeeAlso: AH=24h"Portfolio",AH=26h"Portfolio",AH=2Ch"Portfolio"
Format of Atari Portfolio language table:
Offset Size Description (Table 2720)
00h BYTE number of languages supported
01h N BYTEs supported languages
00h English
01h French
02h German
03h Spanish
04h Italian
05h Swedish
06h Danish
--------N-6129-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
AH = 29h
Return: CF clear if successful
AX = network descriptor
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: use this function rather than AH=22h to avoid a DOS call by the PC/TCP
kernel; the returned descriptor will be >= 40h and cannot be used
with "net_select" (AH=0Eh)
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=07h"PC/TCP"
SeeAlso: INT 61/AH=22h
--------N-612A-------------------------------
INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
AH = 2Ah
DS:SI -> 26-byte buffer for configuration information (see #2721)
Return: CF clear
AX = 0000h
buffer filled
Notes: size of buffer may vary with kernel version; 26 bytes is the size for
versions 2.05 through 2.2
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
Format of PC/TCP configuration information:
Offset Size Description (Table 2721)
00h BYTE maximum TCP connections available
01h BYTE maximum UDP connections available
02h BYTE maximum IP connections available
03h BYTE maximum Raw Net connections available
04h BYTE number of TCP connections currently in use
05h BYTE number of UDP connections currently in use
06h BYTE number of IP connections currently in use
07h BYTE number of Raw Net connections currently in use
08h WORD number of local network descriptors active
0Ah WORD number of global network descriptors active
0Ch BYTE maximum header size on network
0Dh BYTE maximum trailer size on network
0Eh WORD size of large packet buffer
10h WORD number of network interfaces attached
12h DWORD milliseconds since kernel started
16h DWORD IP broadcast address
--------N-612B-------------------------------
INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
AH = 2Bh
BX = network descriptor
CX,DX = time before alarm in milliseconds
DS:SI -> handler which will receive call (see #2716 at INT 61/AH=1Fh)
ES:DI = 32-bit cookie passed to handler
Return: CF clear if successful
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Notes: this function will cause a NET_AS_ALARM to be generated; it is intended
for TSRs, etc. to regain control periodically
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-612C-------------------------------
INT 61 - Atari Portfolio - GET VERSION
AH = 2Ch
Return: DS:BX -> BIOS version string ('$'-terminated)
SeeAlso: AH=28h"Portfolio",AH=2Dh"Portfolio"
--------b-612D-------------------------------
INT 61 - Atari Portfolio - TURN SYSTEM OFF
AH = 2Dh
Return: nothing
SeeAlso: AH=00h"Portfolio",AH=2Ch"Portfolio",AH=2Eh"Portfolio"
--------b-612E-------------------------------
INT 61 - Atari Portfolio - ENABLE/DISABLE SYSTEM STATUS LINE
AH = 2Eh
AL = new state
00h disabled
01h enabled
DH,DL = row,column at which to display
Return: nothing
SeeAlso: AH=00h"Portfolio",AH=2Dh"Portfolio",AH=30h"Portfolio"
--------N-6130-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
AH = 30h
BX,DX = IP address of host
CX = length of data to send
Return: CF clear if successful (i.e. reply received)
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP"
--------b-6130-------------------------------
INT 61 - Atari Portfolio - FILE TRANSFER SERVICES
AH = 30h
AL = function
00h transmit block
CX = number of bytes to send
01h receive block
CX = buffer size
02h open ports
03h close ports
04h wait 500ms
DS:DX -> start of data buffer
Return: DL = status
00h successful
01h buffer too small
02h transmission timeout
03h checksum failure
04h invalid subfunction
05h peripheral not installed
if function 01h:
CX = number of bytes received
SeeAlso: AH=00h"Portfolio",AH=2Eh"Portfolio"
--------N-61---------------------------------
INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
AH = function
31h "net_add_route"
32h "net_del_route"
33h "net_dump_routes"
Notes: these functions are described as "unused" in the v2.2 documentation
router configuration can be altered using INT 61/AH=01h
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
--------N-6132-------------------------------
INT 61 U - PC/TCP kernel v2.3 - GET ???
AH = 32h
Return: AX = ???
Note: this function is fully re-entrant, and may be called even when another
PC/TCP kernel call is already in progress
--------N-6134-------------------------------
INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
AH = 34h
???
Return: ???
Notes: this function is described as "reserved" in the v2.2 documentation
this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
--------N-6150-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
AH = 50h
DS:DX -> ASCIZ IP address as "dotted quad" (max 127 chars)
Return: CF clear if successful
DX:AX -> IP address
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
--------N-6151-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
AH = 51h
CX = size of destination buffer
DS:DX -> ASCIZ host name (max 127 chars)
ES:DI -> destination buffer or 0000h:0000h
Return: CF clear if successful
DX:AX -> IP address of host
destination buffer filled with canonical host name
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: this function calls DOS, and can fail if the DOS call fails
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
--------N-6152-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
AH = 52h
CX = size of destination buffer
DS:DX -> ASCIZ host name (max 127 chars)
ES:DI -> destination buffer or 0000h:0000h
Return: CF clear if successful
DX:AX -> IP address of host
destination buffer filled with canonical host name
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: this function will poll all configured domain name servers if necessary
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
--------N-6153-------------------------------
INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
AH = 53h
DS:DX -> ASCIZ name to be resolved (max 127 chars)
Return: CF clear if successful
DX:AX -> IP address of host
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Range: INT 20 to INT E0, selected by configuration
Note: this function is not supported by v2.10+
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
--------N-6154-------------------------------
INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
AH = 54h
CX = size of destination buffer
DS:DX -> ASCIZ host name (max 127 chars)
ES:DI -> destination buffer or 0000h:0000h
Return: CF clear if successful
DX:AX -> IP address of host
destination buffer filled with canonical host name
CF set on error
AX = error code (see #2568 at INT 61"FTP Software")
Note: this function uses all configured methods in turn to resolve the
name (numerical, then host table, then DNS, then IEN116)
BUG: the SLIP kernel for v2.05 bounds-checks the wrong register, so values
greater than 54h in AH may crash the system. Other kernels may have
this bug as well; it has been fixed in the v2.2 SLIPDRV kernel.
SeeAlso: INT 61"FTP Software",INT 61/AH=00h"PC/TCP",INT 61/AH=50h,INT 61/AH=51h
SeeAlso: INT 61/AH=52h,INT 61/AH=53h
--------N-6155-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 55h
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-6156-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 56h
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-6157-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 57h
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-6158-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 58h
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-6159-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 59h
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-615A-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 5Ah
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-615B-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 5Bh
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-615C-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 5Ch
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-615D-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 5Dh
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-615E-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 5Eh
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------N-615F-------------------------------
INT 61 U - PC/TCP kernel v2.3 - ???
AH = 5Fh
???
Return: ???
SeeAlso: INT 61"FTP Software"
--------*-62---------------------------------
INT 62 - reserved for user interrupt
--------d-62---------------------------------
INT 62 - Adaptec and OMTI controllers - DRIVE 0 DATA
Notes: this vector stores the third four bytes of the parameter table for
hard disk 0
SeeAlso: INT 60"Adaptec",INT 61"Adaptec",INT 63"Adaptec"
--------b-62---------------------------------
INT 62 - TI Professional PC - OPTION ROM DATA AREA POINTER (NOT A VECTOR!)
Desc: the low word of this vector contains the segment of the RAM data area
to be used by the expansion ROM at F400h:2000h, and the high word
contains the length of the data area; this segment and size are
both set to 0000h if no ROM is installed at F400h:2000h
SeeAlso: INT 61"TI Professional PC",INT 63"TI Professional"
SeeAlso: INT 66"TI Professional PC"
--------b-62---------------------------------
INT 62 - HP 95LX - USED BY CALCULATOR
SeeAlso: INT 60/DI=0104h"HP 95LX"
----------62---------------------------------
INT 62 - MS SQL Server/Sybase DBLIBRARY interface - ???
AH = function (00h to 07h)
CX = FFFEh
DX = FFFFh
???
Return: ???
Note: the installation check consists of testing for the string "DBLIBRARY"
2 bytes past the interrupt handler
SeeAlso: AH=08h"SQL"
Index: installation check;MS SQL Server|installation check;Sybase DBLIBRARY
----------62---------------------------------
INT 62 - MPAUSE - ???
details not yet avialable
Program: MPAUSE is a program by Manfred Michael which appeared in the German
_EGA-Handbuch_ from m&t-Verlag
--------N-62---------------------------------
INT 62 - XFS v1.76 - FILTERED PACKET DRIVER API
Program: XFS is a shareware Network File System client by Robert Juhasz
Desc: XFS requires a packet driver to operate. Since it does redirections,
etc., it provides its own packet driver entry point, changing the
signature string of the original packet driver to "XKT DRVR" so that
it will no longer be found by the packet driver installation check
Range: INT 61 to INT 66, selected by scanning for two consecutive free
vectors and hooking the second
Note: the installation check for this vector is the same as that for the
packet driver specification: scan for the signature string "PKT DRVR"
three bytes past the interrupt handler
SeeAlso: INT 60"Packet Driver Specification",INT 61"XFS"
----------62---------------------------------
INT 62 - PC-DRAFT - PRIMARY DISPLAY DRIVER
???
Return: ???
Program: PC-DRAFT is a powerful CAD environment by rhv.
SeeAlso: INT 64"PC-DRAFT",INT 65"PC-DRAFT",INT 66"PC-DRAFT",INT 67"PC-DRAFT"
--------N-6200-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET PHYSICAL HARDWARE ADDRESS
AH = 00h
DS:DX -> 6-byte buffer for address
Return: AX = length of hardware address???
Range: INT 4C to INT FB, selected by configuration
Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=01h"ETHDEV",AH=04h"ETHDEV",AH=09h"ETHDEV",AH=0Eh"ETHDEV"
SeeAlso: AH=14h"ETHDEV",AH=18h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"
--------V-620000-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCATE" - CREATE VIRTUAL VIDEO PAGE
AX = 0000h
BX = page number (0000h-003Fh)
Return: AX = status (0000h,0001h,0007h,0008h) (see #2722)
Program: FGDRIVER is the external video driver for the shareware
Fastgraph/Light by Ted Gruber Software
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
The amount of memory required by the virtual video page depends on the
current video mode
The installation check consists of testing for the signature "FG" ten
bytes beyond the start of the interrupt handler
SeeAlso: AX=0001h,AX=0002h,AX=0003h,AX=0038h
Index: installation check;Fastgraph/Light
(Table 2722)
Values for FGDRIVER status:
0000h successful
0001h specified page is a physical or logical page
0007h virtual page created/released, but memory control blocks corrupted
0008h not enough memory
0009h attempt to free a page which was never created
FFFCh insufficient memory
FFFDh page already created, or exists as physical or virtual page
FFFEh invalid page number
FFFFh memory manager not initialized
SeeAlso: #2723
(Table 2723)
Values for FGDRIVER functions (by driver version):
Name v1.10 v3.03 v4.02
FG_ALLOCATE 0042h 0000h 0000h
FG_ALLOCCMS 009Dh 0001h 0001h
FG_ALLOCEMS 009Eh 0002h 0002h
FG_ALLOCXMS 009Fh 0003h 0003h
FG_AUTOMODE 0004h 0004h 0004h
FG_BESTMODE 0003h 0005h 0005h
FG_BOX 00A2h 0006h 0006h
FG_BOXDEPTH 00A3h 0007h 0007h
FG_BOXX -- 0008h 0008h
FG_BUTTON 0078h 0009h 0009h
FG_CAPSLOCK 0070h 000Ah 000Ah
FG_CHGATTR 0035h 000Bh 000Bh
FG_CHGTEXT 0036h 000Ch 000Ch
FG_CIRCLE 0030h 000Dh 000Dh
FG_CIRCLEF -- 000Eh 000Eh
FG_CLIPMAP -- -- 000Fh
FG_CLIPMASK 0052h 000Fh 0010h
FG_CLPIMAGE 004Ah 0010h 0011h
FG_CLPRECT 002Bh 0011h 0012h
FG_COLORS -- -- 0013h
FG_COPYPAGE 005Fh 0012h 0014h
FG_CURSOR 0007h 0013h 0015h
FG_DASH 0027h 0014h 0016h
FG_DASHREL 0028h 0015h 0017h
FG_DEFCOLOR 0014h 0016h 0018h
FG_DEFPAGES -- 0017h 0019h
FG_DISPFILE 004Fh 0018h 001Ah
FG_DISPLAY 004Dh 0019h 001Bh
FG_DISPLAYP 004Eh 001Ah 001Ch
FG_DISPPCX 0060h -- --
FG_DRAW 0025h 001Bh 001Dh
FG_DRAWMAP 0047h 001Ch 001Eh
FG_DRAWMASK 0051h 001Dh 001Fh
FG_DRAWREL 0026h 001Eh 0020h
FG_DRAWRELX -- 001Fh 0021h
FG_DRAWX -- 0020h 0022h
FG_DRECT 002Ch 0021h 0023h
FG_DRWIMAGE 0049h 0022h 0024h
FG_EGACHECK 0005h 0023h 0025h
FG_ELLIPSE 002Dh 0024h 0026h
FG_ELLIPSEF -- 0025h 0027h
FG_ERASE 001Eh 0026h 0028h
FG_FADEIN 0064h 0027h 0029h
FG_FADEOUT 0065h 0028h 002Ah
FG_FILLPAGE -- 0029h 002Bh
FG_FINDPAGE -- -- 002Ch
FG_FLICDONE -- -- 002Dh
FG_FLICHEAD -- -- 002Eh
FG_FLICMODE -- -- 002Fh
FG_FLICOPEN -- -- 0030h
FG_FLICPLAY -- -- 0031h
FG_FLICSIZE -- -- 0032h
FG_FLICSKIP -- -- 0033h
FG_FLIPMASK 0054h 002Ah 0034h
FG_FLOOD -- 002Bh 0035h
FG_FLPIMAGE 004Ch 002Ch 0036h
FG_FONTSIZE -- 002Dh 0037h
FG_FREEPAGE 0043h 002Eh 0038h
FG_GETADDR 0044h 002Fh 0039h
FG_GETATTR 0037h 0030h 003Ah
FG_GETBANKS -- -- 003Bh
FG_GETBLOCK -- 0031h 003Ch
FG_GETCHAR 0038h 0032h 003Dh
FG_GETCLIP -- -- 003Eh
FG_GETCLOCK 0099h 0033h 003Fh
FG_GETCOLOR 0015h 0034h 0040h
FG_GETDACS 00A4h 0035h 0041h
FG_GETENTRY -- 0036h 0042h
FG_GETHPAGE 0040h 0037h 0043h
FG_GETIMAGE 0048h 0038h 0044h
FG_GETINDEX 0016h 0039h 0045h
FG_GETKEY 006Eh 003Ah 0046h
FG_GETLINES 0010h 003Bh 0047h
FG_GETMAP 0046h 003Ch 0048h
FG_GETMAXX 000Ah 003Dh 0049h
FG_GETMAXY 000Bh 003Eh 004Ah
FG_GETMODE 0000h 003Fh 004Bh
FG_GETPAGE 003Ch 0040h 004Ch
FG_GETPIXEL 0020h 0041h 004Dh
FG_GETRGB 001Ch 0042h 004Eh
FG_GETVIEW -- -- 004Fh
FG_GETVPAGE 003Eh 0043h 0050h
FG_GETXBOX -- -- 0051h
FG_GETXJOY 0076h 0044h 0052h
FG_GETXJUST -- -- 0053h
FG_GETXPOS 0021h 0045h 0054h
FG_GETYBOX -- -- 0055h
FG_GETYJOY 0077h 0046h 0056h
FG_GETYJUST -- -- 0057h
FG_GETYPOS 0022h 0047h 0058h
FG_HUSH 008Eh 0048h 0059h
FG_HUSHNEXT 008Fh 0049h 005Ah
FG_IMAGEBUF -- 004Ah 005Bh
FG_IMAGESIZ 0062h 004Bh 005Ch
FG_INITEMS 00A0h 004Ch 005Dh
FG_INITJOY 0075h 004Dh 005Eh
FG_INITPM -- -- 005Fh??? (NOP in v4.02)
FG_INITXMS 00A1h 004Eh 0060h
FG_INSIDE -- 004Fh 0061h
FG_INTJOY 0079h 0050h 0062h
FG_INTKEY 006Fh 0051h 0063h
FG_INVERT -- -- 0064h
FG_JUSTIFY -- 0052h 0065h
FG_KBINIT -- 0053h 0066h
FG_KBLAST -- -- 0067h
FG_KBRESET -- -- 0068h
FG_KBTEST -- 0054h 0069h
FG_LOADPCX -- -- 006Ah
FG_LOCATE 0033h 0055h 006Bh
FG_MAKEPCX 0061h 0057h 006Ch
FG_MAKEPPR -- 0058h 006Dh
FG_MAKESPR -- 0059h 006Eh
FG_MAPRGB 001Dh 005Ah 006Fh
FG_MEASURE 0098h 005Bh 0070h
FG_MEMAVAIL 009Bh 005Ch 0071h
FG_MEMORY -- 005Dh 0072h
FG_MOUSE256 -- -- 0073h
FG_MOUSEBUT 007Ch 005Eh 0074h
FG_MOUSECUR 007Eh 005Fh 0075h
FG_MOUSEFIN -- 0060h 0076h
FG_MOUSEINI 007Ah 0061h 0077h
FG_MOUSELIM 0080h 0062h 0078h
FG_MOUSEMOV 0081h 0063h 0079h
FG_MOUSEPOS 007Dh 0064h 007Ah
FG_MOUSEPTR 007Fh 0065h 007Bh
FG_MOUSESPD 0082h 0066h 007Ch
FG_MOUSEVIS 007Bh 0067h 007Dh
FG_MOVE 0023h 0068h 007Eh
FG_MOVEREL 0024h 0069h 007Fh
FG_MUSIC 008Ch 006Ah 0080h
FG_MUSICB 008Dh 006Bh 0081h
FG_NUMLOCK 0072h 006Ch 0082h
FG_PACK -- -- 0083h
FG_PAGESIZE -- 006Dh 0084h
FG_PAINT 002Fh 006Eh 0085h
FG_PALETTE 0017h 006Fh 0086h
FG_PALETTES 0018h 0070h 0087h
FG_PAN 0066h 0071h 0088h
FG_PATTERN 0050h 0072h 0089h
FG_PCXHEAD -- 0073h 008Ah
FG_PCXMODE -- 0074h 008Bh
FG_PCXPAL -- -- 008Ch
FG_PCXRANGE -- -- 008Dh
FG_PLAYING 0091h 0075h 008Eh
FG_POINT 001Fh 0076h 008Fh
FG_POINTX -- 0077h 0090h
FG_POLYEDGE -- -- 0091h
FG_POLYFILL -- 0078h 0092h
FG_POLYGON 002Eh 0079h 0093h
FG_POLYLINE -- 007Ah 0094h
FG_POLYOFF -- 007Bh 0095h
FG_PRINT -- 007Ch 0096h
FG_PRINTC -- -- 0097h
FG_PUTBLOCK -- 007Dh 0098h
FG_PUTIMAGE -- 007Eh 0099h
FG_QUIET 0090h 007Fh 009Ah
FG_RECT 002Ah 0080h 009Bh
FG_RESET 0006h 0081h 009Ch
FG_RESIZE 0045h 0082h 009Dh
FG_RESTORE 005Bh 0083h 009Eh
FG_RESUME 0092h 0084h 009Fh
FG_REVIMAGE 004Bh 0085h 00A0h
FG_REVMASK 0053h 0086h 00A1h
FG_SAVE -- 0087h 00A2h
FG_SCALE -- -- 00A3h
FG_SCRLOCK 0074h 0088h 00A4h
FG_SCROLL 0067h 0089h 00A5h
FG_SETATTR 0019h 008Ah 00A6h
FG_SETBANKS -- -- 00A7h
FG_SETCAPS 0071h 008Bh 00A8h
FG_SETCLIP 0029h 008Ch 00A9h
FG_SETCOLOR 001Ah 008Dh 00AAh
FG_SETDACS 00A5h 008Eh 00ABh
FG_SETENTRY -- 008Fh 00ACh
FG_SETFUNC 009Ch 0090h 00ADh
FG_SETHPAGE 0041h 0091h 00AEh
FG_SETLINES 0011h 0092h 00AFh
FG_SETMODE 0001h 0093h 00B0h
FG_SETNUM 0073h 0094h 00B1h
FG_SETPAGE 003Dh 0095h 00B2h
FG_SETRGB 001Bh 0096h 00B3h
FG_SETVIEW -- -- 00B5h
FG_SETVPAGE 003Fh 0098h 00B6h
FG_SHEAR -- -- 00B7h
FG_SHOWFLIC -- -- 00B8h
FG_SHOWPCX -- 009Ah 00B9h
FG_SHOWPPR -- 009Bh 00BAh
FG_SHOWSPR -- 009Ch 00BBh
FG_SOUND 0088h 009Dh 00BCh
FG_SOUNDS 0089h 009Eh 00BDh
FG_SPLIT -- -- 00BEh
FG_STALL 0097h 009Fh 00BFh
FG_SUSPEND 0093h 00A0h 00C0h
FG_SVGAINIT -- 00A1h 00C1h
FG_SVGASTAT -- 00A2h 00C2h
FG_SVGAVER -- 00A3h 00C3h
FG_TCDEFINE -- 00A4h 00C4h
FG_TCMASK 005Eh 00A5h 00C5h
FG_TCXFER 005Dh 00A6h 00C6h
FG_TESTMODE 0002h 00A7h 00C7h
FG_TEXT 0032h 00A8h 00C8h
FG_TEXTC -- -- 00C9h
FG_TRANSFER 005Ch 00A9h 00CAh
FG_UNPACK -- -- 00CBh
FG_VBADDR -- -- 00CCh
FG_VBALLOC -- -- 00CDh
FG_VBCLOSE -- -- 00CEh
FG_VBCOPY -- -- 00CFh
FG_VBCUT -- -- 00D0h
FG_VBDEFINE -- -- 00D1h
FG_VBFREE -- -- 00D2h
FG_VBHANDLE -- -- 00D3h
FG_VBINIT -- -- 00D4h
FG_VBOPEN -- -- 00D5h
FG_VBPASTE -- -- 00D6h
FG_VBTCCOPY -- -- 00D7h
FG_VBTCXFER -- -- 00D8h
FG_VBUNDEF -- -- 00D9h
FG_VGASTATE -- -- 00DAh
FG_VOICE 008Ah 00AAh 00DBh
FG_VOICES 008Bh 00ABh 00DCh
FG_WAITFOR 0096h 00ACh 00DDh
FG_WAITKEY 006Dh 00ADh 00DEh
FG_WAITVR -- 00AEh 00DFh
FG_WHERE 0034h 00AFh 00E0h
FG_XALPHA 000Ch 00B0h 00E1h
FG_XCONVERT 000Eh 00B1h 00E2h
FG_XVIEW -- -- 00E3h
FG_YALPHA 000Dh 00B2h 00E4h
FG_YCONVERT 000Fh 00B3h 00E5h
FG_YVIEW -- -- 00E6h
SeeAlso: #2722
--------V-620001-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCCMS" - CREATE LOGICAL VIDEO PAGE (CONV)
AX = 0001h
BX = page number (0001h-003Fh)
Return: AX = status (0000h,FFFCh,FFFDh,FFFEh) (see #2722)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
The only operation which is allowed on logical pages is "FG_COPYPAGE"
(see AX=0014h)
SeeAlso: AX=0000h,AX=0002h,AX=0003h,AX=0014h,AX=0038h
--------V-620002-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCEMS" - CREATE LOGICAL VIDEO PAGE (EMS)
AX = 0002h
BX = page number (0001h-003Fh)
Return: AX = status (0000h,FFFCh,FFFDh,FFFEh) (see #2722)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
You must first call "FG_INITEMS" (see AX=005Dh) before using this
function
The only operation which is allowed on logical pages is "FG_COPYPAGE"
(see AX=0014h)
SeeAlso: AX=0000h,AX=0001h,AX=0003h,AX=0014h,AX=0038h,AX=005Dh
--------V-620003-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_ALLOCXMS" - CREATE LOGICAL VIDEO PAGE (XMS)
AX = 0003h
BX = page number (0001h-003Fh)
Return: AX = status (0000h,FFFCh,FFFDh,FFFEh) (see #2722)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
You must first call "FG_INITXMS" (see AX=0060h) before using this
function
The only operation which is allowed on logical pages is "FG_COPYPAGE"
(see AX=0014h)
SeeAlso: AX=0000h,AX=0001h,AX=0002h,AX=0014h,AX=0038h,AX=0060h
--------V-620004-----------------------------
INT 62 u - FGDRIVER 1.10,3.03+ - "FG_AUTOMODE" - GET VIDEO MODE W/MOST FEATURES
AX = 0004h
Return: AX = proposed video mode number (see #2749 at AX=00B0h)
Program: FGDRIVER is the external video driver for the shareware
Fastgraph/Light by Ted Gruber Software
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=0005h,AX=004Bh,AX=00B0h,AX=00C1h,AX=00C7h
--------V-620005-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_BESTMODE" - GET BEST VIDEO MODE GIVEN RESOLUTN
AX = 0005h
BX = horizontal resolution
CX = vertical resolution
DX = number of video pages required (both physical and virtual)
Return: AX = proposed video mode number or FFFFh if no matching video mode
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
You must first call "FG_SVGAINIT" (see AX=00C1h) to get SVGA video
modes
SeeAlso: AX=0004h,AX=004Bh,AX=00B0h,AX=00C1h,AX=00C7h
--------V-620006-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_BOX" - DRAW UNFILLED RECTANGLE
AX = 0006h
BX = left column
CX = right column
DX = top row
SI = bottom row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
The rectangle is drawn in screen space, respecting the clipping region,
with edges of the width specified with "FG_BOXDEPTH" (see AX=0007h)
(default = 1 is set by "FG_SETMODE")
This function has no effect in text modes
SeeAlso: AX=0007h,AX=0008h,AX=000Ch,AX=0016h,AX=001Dh,AX=0026h,AX=0051h
SeeAlso: AX=0055h,AX=008Fh
--------V-620007-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_BOXDEPTH" - SET RECTANGLE BORDER WIDTH
AX = 0007h
BX = width of left and right edges in pixels (> 0)
CX = width of top and bottom edges in pixels (> 0)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=0006h,AX=0008h,AX=0051h,AX=0055h
--------V-620008-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_BOXX" - XOR HOLLOW RECTANGLE
AX = 0008h
BX = left column
CX = right column
DX = top row
SI = bottom row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
The rectangle is XORed into screen space, respecting the clipping
region, with edges of the width specified with "FG_BOXDEPTH"
(see AX=0007h) (default = 1 is set by "FG_SETMODE")
This function has no effect in text modes
SeeAlso: AX=0006h,AX=0007h,AX=0021h,AX=0022h,AX=0051h,AX=0055h,AX=0090h
--------V-620009-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_BUTTON" - GET JOYSTICK BUTTON STATE
AX = 0009h
BX = joystick number (0001h or 0002h)
Return: AX = button states
bit 0: top button pressed
bit 1: bottom button pressed
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=0052h,AX=0056h,AX=005Eh,AX=0062h,AX=0077h
--------V-62000A-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_CAPSLOCK" - GET STATE OF CAPSLOCK KEY
AX = 000Ah
Return: AX = CapsLock state (0000h off, 0001h on)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=0082h,AX=00A4h,AX=00A8h,AX=00B1h
--------V-62000B-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_CHGATTR" - APPLY CURRENT TEXT ATTRIB TO CHARS
AX = 000Bh
BX = number of characters to recolor
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in graphics modes
Starting at the current text cursor position, the specified number of
characters have their attributes to the current text attribute
SeeAlso: AX=000Ch,AX=003Ah,AX=00A6h
--------V-62000C-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_CHGTEXT" - DISPLAY STRING AT CURSOR POSITION
AX = 000Ch
CX = length of string
ES:BX -> string to be displayed
Return: text cursor updated
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=0096h
--------V-62000D-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLE" - DRAW UNFILLED CIRCLE
AX = 000Dh
BX = radius in horizontal screen space units (> 0)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
The circle is drawn in screen space, centered at the current graphics
cursor position
This call is ignored in text modes
SeeAlso: AX=0006h,AX=0008h,AX=000Eh,AX=0026h,AX=0093h
--------V-62000E-----------------------------
INT 62 u - FGDRIVER v3.03+ - "FG_CIRCLEF" - DRAW FILLED CIRCLE
AX = 000Eh
BX = radius in horizontal screen space units (> 0)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=0008h,AX=000Dh,AX=0027h,AX=0092h
--------V-62000F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_CLIPMAP" - DISPLAY CLIPPED IMAGE (MODE-INDEP)
AX = 000Fh
ES:BX -> bitmap
CX = width
DX = height
Desc: display a mode-independent bitmap, showing only the portion within
the current clipping limits
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes and in native EGA and VGA graphics
modes
The image is drawn with its lower left corner at the current graphics
cursor position
SeeAlso: AX=0011h,AX=001Fh,AX=0034h,AX=0086h,AX=00A9h,AX=00C5h
--------V-620010-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_CLIPMASK" - DISPLAY CLIPPED IMAGE (MASKING MAP)
AX = 0010h
ES:BX -> array containing image stored as a masking map (see #2724)
CX = number of pixel runs in masking map
DX = width of masking map in pixels
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes and in native EGA and VGA graphics
modes
The image is drawn with its lower left corner at the current graphics
cursor position
SeeAlso: AX=0011h,AX=001Fh,AX=0034h,AX=00A1h,AX=00A9h,AX=00C5h
--------V-620011-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_CLPIMAGE" - DISPLAY CLIPPED IMAGE (BITMAP)
AX = 0011h
ES:BX -> mode-specific bitmap
CX = width of bit map in bytes
DX = height of bit map in pixel rows
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
The image is drawn with its lower left corner at the current graphics
cursor position
The current clipping region is used, extended to a byte boundary
SeeAlso: AX=0010h,AX=0024h,AX=0036h,AX=0044h,AX=00A0h,AX=00A9h,AX=00B9h
--------V-620012-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_CLPRECT" - DRAW FILLED RECTANGLE IN SCREEN SPCE
AX = 0012h
BX = screen space column of left edge
CX = screen space column of right edge
DX = screen space row of top edge
SI = screen space row of bottom edge
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
SeeAlso: AX=0006h,AX=0010h,AX=0011h,AX=0023h,AX=009Bh,AX=00A9h
--------V-620013-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_COLORS" - GET SIMULTANEOUSLY-AVAILABLE COLORS
AX = 0013h
Return: AX = number of colors available at one time
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
--------V-620014-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_COPYPAGE" - TRANSFER VIDEO PAGE CONTENTS
AX = 0014h
BX = source page number (0000h-003Fh)
CX = destination page number (0000h-003Fh)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
If both source and destination pages are logical pages, they must both
be located in the same type (conventional, EMS, XMS) of memory
SeeAlso: AX=009Eh,AX=00A2h,AX=00C6h,AX=00CAh
--------V-620015-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_CURSOR" - SPECIFY WHETHER TEXT CURSR IS VISIBLE
AX = 0015h
BX = new state (0000h invisible, 0001h visible)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
SeeAlso: AX=000Ch,AX=0054h,AX=0058h,AX=006Bh,AX=0075h,AX=0079h,AX=007Eh
SeeAlso: AX=00E0h
--------V-620016-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DASH" - DRAW DASHED LINE TO ABSOLUTE POSITION
AX = 0016h
BX = endpoint column
CX = endpoint row
DX = dash pattern (set bits cause drawn pixels)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
The starting point is the current graphics cursor position; the cursor
position is updated
SeeAlso: AX=0017h,AX=001Dh,AX=008Fh
--------V-620017-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DASHREL" - DRAW DASHED LINE TO RELATVE POSITION
AX = 0017h
BX = endpoint column offset
CX = endpoint row offset
DX = dash pattern (set bits cause drawn pixels)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
The starting point is the current graphics cursor position; the cursor
position is updated
SeeAlso: AX=0016h,AX=001Eh,AX=008Fh
--------V-620018-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DEFCOLOR" - ASSIGN COLOR VALUE TO COLOR INDEX
AX = 0018h
BX = color index (0000h-00FFh)
CX = new color value (0 to maximum color value for current video mode)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes and 256-color graphics modes
SeeAlso: AX=0040h,AX=0045h,AX=00AAh
--------V-620019-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DEFPAGES" - DEF SRC/DEST PAGES FOR BLOCK XFERS
AX = 0019h
BX = source page
CX = destination page
Desc: specify the source and destination SVGA banks for block transfers on
extended video pages
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This function is ignored if the video controller does not support
extended pages or the current video mode does not allow them
SeeAlso: AX=0014h,AX=00CAh
--------V-62001A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DISPFILE" - DISPLAY STORED IMAGE
AX = 001Ah
ES:BX -> ASCIZ filename
CX = image width in pixels (> 0)
DX = image format
0000h Fastgraph standard pixel run format
0001h packed pixel run format
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
The image is displayed with its lower left corner at the current
graphics cursor position
SeeAlso: AX=001Bh,AX=001Ch,AX=00B9h,AX=00BAh,AX=00BBh
--------V-62001B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DISPLAY" - DISPLAY IMAGE (STD PIXEL RUN FORMAT)
AX = 001Bh
ES:BX -> pixel run map (pairs of bytes: color index, count)
CX = number of pixel runs to display
DX = width of image in pixels (> 0)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
The image is displayed with its lower left corner at the current
graphics cursor position
SeeAlso: AX=001Ah,AX=001Ch,AX=00B9h,AX=00BAh,AX=00BBh
--------V-62001C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DISPLAYP" - DISPLAY IMAGE (PACKED PIXEL RUNS)
AX = 001Ch
ES:BX -> pixel run map (trios of bytes: colors, count1, count2; colors
contains the color for the first run in its high nybble and
the color for the second run in its low nybble)
CX = number of pixel runs to display
DX = width of image in pixels (> 0)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
The image is displayed with its lower left corner at the current
graphics cursor position
SeeAlso: AX=001Ah,AX=001Bh,AX=00B9h,AX=00BAh,AX=00BBh
--------V-62001D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRAW" - DRAW SOLID LINE TO ABSOLUTE POSITION
AX = 001Dh
BX = endpoint column
CX = endpoint row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes
The starting point is the current graphics cursor position; the cursor
position is updated
SeeAlso: AX=0016h,AX=0020h,AX=0021h,AX=0026h,AX=008Fh,AX=0090h
--------V-62001E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRAWMAP" - DISPLAY MODE-INDEPENDENT BIT MAP
AX = 001Eh
ES:BX -> bitmap (each set bit is pixel drawn in current color)
CX = width of bitmap in bytes
DX = height of bitmap in pixel rows
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0044h,AX=0099h,AX=00A0h
--------V-62001F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRAWMASK" - DISPLAY IMAGE (MASKING MAP)
AX = 001Fh
ES:BX -> array containing image stored as a masking map (see #2724)
CX = number of pixel runs in masking map
DX = width of masking map in pixels
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
This call is ignored in text modes and in native EGA and VGA graphics
modes
The image is drawn with its lower left corner at the current graphics
cursor position
SeeAlso: AX=0010h,AX=001Fh,AX=00A1h,AX=00A9h
Format of FGDRIVER masking map:
Offset Size Description (Table 2724)
00h BYTE length of first "protect" run (pixels remain unchanged)
01h BYTE length of first "zero" run (pixels set to background color)
02h BYTE length of second "protect" run
03h BYTE length of second "zero" run
...
--------V-620020-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRAWREL" - DRAW SOLID LINE TO RELATIVE POSITION
AX = 0020h
BX = endpoint column offset
CX = endpoint row offset
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The starting point is the current graphics cursor position; the cursor
position is updated
SeeAlso: AX=0006h,AX=000Dh,AX=001Dh,AX=0021h,AX=0026h,AX=008Fh
--------V-620021-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRAWRELX" - XOR SOLID LINE TO RELATIVE POSITION
AX = 0021h
BX = endpoint column offset
CX = endpoint row offset
Desc: draw a solid line, XORing each pixel onto the screen
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The starting point is the current graphics cursor position; the cursor
position is updated
SeeAlso: AX=0006h,AX=000Dh,AX=001Dh,AX=0020h,AX=0026h,AX=0090h
--------V-620022-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRAWX" - XOR SOLID LINE TO ABSOLUTE POSITION
AX = 0022h
BX = endpoint column
CX = endpoint row
Desc: draw a solid line, XORing each pixel onto the screen
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The starting point is the current graphics cursor position; the cursor
position is updated
SeeAlso: AX=001Dh,AX=0021h,AX=008Fh
--------V-620023-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRECT" - DRAW DITHERED RECTANGLE IN SCRN SPACE
AX = 0023h
BX = screen space column of left edge
CX = screen space column of right edge
DX = screen space row of top edge
SI = screen space row of bottom edge
ES:DI -> dithering matrix (video-mode dependent)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=0006h,AX=0008h,AX=0013h,AX=003Ch,AX=0089h,AX=009Bh
--------V-620024-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_DRWIMAGE" - DISPLAY BITMAPPED IMAGE
AX = 0024h
ES:BX -> video mode-specific bitmap
CX = width of bitmap in bytes
DX = height of bitmap in pixel rows
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The image will be drawn with its lower left corner at the current
cursor position (either text or graphics)
SeeAlso: AX=0011h,AX=0036h,AX=0044h,AX=0099h,AX=00A0h
--------V-620025-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_EGACHECK" - GET INFO ABOUT ACTIVE EGA DISPLAY
AX = 0025h
Return: AX = number of 64K banks of video memory, or 0000h if no EGA or EGA
without an Enhanced Color Display
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00C2h
--------V-620026-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSE" - DRAW UNFILLED ELLIPSE IN SCRN SPACE
AX = 0026h
BX = horizontal semi-axis length in screen space units
CX = vertical semi-axis length in screen space units
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The ellipse is centered at the current graphics cursor position
SeeAlso: AX=0006h,AX=000Dh,AX=0027h,AX=008Fh,AX=0093h
--------V-620027-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_ELLIPSEF" - DRAW FILLED ELLIPSE IN SCREEN SPACE
AX = 0027h
BX = horizontal semi-axis length in screen space units
CX = vertical semi-axis length in screen space units
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The ellipse is centered at the current graphics cursor position
SeeAlso: AX=0006h,AX=000Eh,AX=0026h,AX=008Fh,AX=0092h
--------V-620028-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_ERASE" - CLEAR THE ACTIVE VIDEO PAGE
AX = 0028h
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function sets each pixel to 0 in graphics modes, each character
cell to a blank with a gray foreground attribute in text modes
SeeAlso: AX=0029h,AX=002Bh,AX=0035h
--------V-620029-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FADEIN" - FADE IN HIDDEN PAGE
AX = 0029h
BX = delay (0000h = fastest possible fade-in)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The current hidden page is copied to the current visible page in small
random sections to produce a fade-in effect
This call is ignored in text modes
SeeAlso: AX=0028h,AX=002Ah,AX=002Bh
--------V-62002A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FADEOUT" - FADE OUT TO CURRENT COLOR
AX = 002Ah
BX = delay (0000h = fastest possible fade-out)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The current visible page is filled with pixels of the current color in
small random sections to give a fade-out effect
This call is ignored in text modes
SeeAlso: AX=0028h,AX=0029h,AX=002Bh
--------V-62002B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FILLPAGE" - FILL THE ACTIVE VIDEO PAGE
AX = 002Bh
Desc: fill the active video page with pixels of the current color (graphics
modes) or the block character DBh with the current character
attributes (text modes)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0028h,AX=0029h,AX=002Ah
--------V-62002C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FINDPAGE" - FIND AVAILABLE VIRTUAL/LOGICAL PAGE
AX = 002Ch
Return: AX = first available page number (virtual or logical page)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0028h
--------V-62002D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLICDONE" - CLOSE FLIC FILE
AX = 002Dh
ES:BX -> context descriptor (see AX=0030h)
Return: nothing
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=002Eh,AX=0030h
--------V-62002E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLICHEAD" - READ FLI/FLC FILE HEADER
AX = 002Eh
ES:BX -> FLICHEAD variable pointer record (see #2726)
Return: AX = status (see #2725)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=002Dh,AX=002Fh,AX=0030h,AX=0032h
(Table 2725)
Values for FGDRIVER FLIC processing status:
0000h successful
FFFEh not an FLI or FLC file
FFFFh file not found
Format of FGDRIVER FLICHEAD variable pointer record:
Offset Size Description (Table 2726)
00h WORD segment of ASCIZ FLI/FLC file name
02h WORD offset of ASCIZ FLI/FLC file name
04h WORD segment of buffer for 128-byte file header
06h WORD offset of buffer for 128-byte file header
--------V-62002F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLICMODE" - GET OPTIMAL VIDEO MODE FOR FLI/FLC
AX = 002Fh
ES:BX -> 128-byte buffer containing FLI/FLC file header (see AX=002Eh)
Return: AX = optimal 256-color graphics mode number
FFFFh if invalid file header
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=002Eh,AX=0030h
--------V-620030-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLICOPEN" - OPEN FLI/FLC FILE
AX = 0030h
ES:BX -> FLICOPEN variable pointer record (see #2727)
Return: AX = status (see #2725)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=002Dh,AX=002Eh,AX=002Fh,AX=0030h,AX=0031h,AX=0032h
Format of FGDRIVER FLICOPEN variable pointer record:
Offset Size Description (Table 2727)
00h WORD segment of ASCIZ FLI/FLC file name
02h WORD offset of ASCIZ FLI/FLC file name
04h WORD segment of buffer for 16-byte file context descriptor
06h WORD offset of buffer for 16-byte file context descriptor
--------V-620031-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLICPLAY" - DISPLAY NEXT FRAME(S) IN FLI/FLC
AX = 0031h
ES:BX -> context descriptor (see AX=0030h)
CX = number of frames to display starting at current frame
DX = control flags (see #2728)
Return: AX = number of frames displayed
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0030h,AX=0033h,AX=00B8h
Bitfields for FGDRIVER FLI/FLC control flags:
Bit(s) Description (Table 2728)
0 skip inter-frame delay specified in FLI/FLC header
1 display relative to current graphics position
2 dipslay image from the FG_IMAGEBUF buffer instead of file
--------V-620032-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLICSIZE" - GET IMAGE SIZE
AX = 0032h
ES:BX -> FLICSIZE variable pointer record (see #2729)
Return: image height/width buffers updated; height is set to FFFFh on error
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=002Eh,AX=0030h
Format of FGDRIVER FLICSIZE variable pointer record:
Offset Size Description (Table 2729)
00h WORD segment of buffer for 128-byte FLI/FLC file header
02h WORD offset of buffer for 128-byte FLI/FLC file header
04h WORD segment of WORD buffer for image width in pixels
06h WORD offset of WORD buffer for image width in pixels
08h WORD segment of WORD buffer for image height in pixels
0Ah WORD offset of WORD buffer for image height in pixels
--------V-620033-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLICSKIP" - SKIP FRAME(S) IN FLI/FLC FILE
AX = 0033h
ES:BX -> context descriptor (see AX=0030h)
CX = number of frames to skip
reset to first frame if skip count is negative
Return: AX = number of frames skipped (may be less than requested if EOF)
0000h if resetting to first frame
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0030h,AX=0031h
--------V-620034-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLIPMASK" - DISPLAY INV CLIPPED IMAGE (MASKMAP)
AX = 0034h
ES:BX -> array containing image stored as a masking map (see #2724)
CX = number of pixel runs in masking map
DX = width of masking map in pixels
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes and in native EGA and VGA graphics
modes
The image is drawn with its lower left corner at the current graphics
cursor position
SeeAlso: AX=000Fh,AX=001Fh,AX=0036h,AX=00A1h,AX=00A5h,AX=00C5h
--------V-620035-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLOOD" - FLOOD FILL ARBITRARY CLOSED REGION
AX = 0035h
BX = starting column
CX = starting row
Desc: fill the bounded region around the specified point (respecting clipping
region) with the currrent color
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is ignored in text modes
SeeAlso: AX=0028h,AX=0085h
--------V-620036-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FLPIMAGE" - DISPLAY INV CLIPPED IMAGE (BITMAP)
AX = 0036h
ES:BX -> mode-specific bitmap
CX = width of bit map in bytes
DX = height of bit map in pixel rows
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The image is drawn with its lower left corner at the current graphics
cursor position
The current clipping region is used, extended to a byte boundary
SeeAlso: AX=0011h,AX=0024h,AX=0034h,AX=0044h,AX=00A0h,AX=00A9h,AX=00B9h
--------V-620037-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FONTSIZE" - SPECIFY FONT SIZE FOR TEXT OUTPUT
AX = 0037h
BX = desired character height in scan lines (8, 14, 16)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored if the current mode is not a VGA or SVGA graphics
mode, or the specified character height is not 8, 14, or 16
SeeAlso: AX=0096h
--------V-620038-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_FREEPAGE" - FREE VIRTUAL OR LOGICAL VIDEO PAGE
AX = 0038h
BX = page number (0000h-003Fh)
Return: AX = status (0000h,0001h,0007h,0009h) (see #2722)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0000h,AX=0001h,AX=0002h,AX=0003h
--------V-620039-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETADDR" - GET SEGMENT OF ACTIVE VIDEO PAGE
AX = 0039h
Return: AX = segment of active video page
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0042h,AX=00ACh
--------V-62003A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETATTR" - GET CHARACTER ATTRIB FOR POSITION
AX = 003Ah
BX = row
CX = column
Return: AX = character attribute at specified location on active video page
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=003Dh,AX=0040h,AX=00A6h
--------V-62003B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETBANKS" - GET SVGA READ AND WRITE BANKS
AX = 003Bh
ES:BX -> GETBANKS variable pointer record (see #2730)
Return: nothing
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00A7h
Format of FGDRIVER GETBANKS variable pointer record:
Offset Size Description (Table 2730)
00h WORD segment of WORD buffer for read bank number
02h WORD offset of WORD buffer for read bank number
04h WORD segment of WORD buffer for write bank number
06h WORD offset of WORD buffer for write bank number
--------V-62003C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETBLOCK" - GRAB RECTANGLE OF DISPLAY
AX = 003Ch
ES:BX -> buffer for screen contents
CX = leftmost column
DX = rightmost column
SI = top row
DI = bottom row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
In text modes, coordinates are character positions; in graphics modes,
they are defined in screen space, and the left and right edges are
adjusted to a byte boundary if necessary
Use "FG_IMAGESIZ" (see AX=005Ch) to determine the required buffer size
SeeAlso: AX=0044h,AX=005Ch,AX=0098h
--------V-62003D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETCHAR" - GET CHARACTER FOR SCREEN POSITION
AX = 003Dh
BX = row
CX = column
Return: AX = character at specified location on active video page
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=003Ah,AX=0096h,AX=00A6h,AX=00C8h
--------V-62003E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETCLIP" - GET CLIPPING REGION IN SCREEN SPACE
AX = 003Eh
ES:BX -> GETCLIP variable pointer record (see #2731)
Return: variables specifed by GETCLIP structure updated
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00CAh
Format of FGDRIVER GETCLIP variable pointer record:
Offset Size Description (Table 2731)
00h WORD segment of WORD buffer for minimum X coordinate (left edge)
02h WORD offset of WORD buffer for minimum X coordinate (left edge)
04h WORD segment of WORD buffer for maximum X coordinate (right edge)
06h WORD offset of WORD buffer for maximum X coordinate (right edge)
08h WORD segment of WORD buffer for minimum Y coordinate (top edge)
0Ah WORD offset of WORD buffer for minimum Y coordinate (top edge)
0Ch WORD segment of WORD buffer for maximum Y coordinate (bottom edge)
0Eh WORD offset of WORD buffer for maximum Y coordinate (bottom edge)
--------V-62003F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETCLOCK" - GET CLOCK TICKS SINCE MIDNIGHT
AX = 003Fh
Return: DX:AX = number of clock ticks since midnight
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: INT 1A/AH=00h
--------V-620040-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETCOLOR" - GET CURRENT TEXT ATTRIBUTE
AX = 0040h
Return: AX = current text attribute or color index (graphics modes)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Bh,AX=003Ah,AX=00A6h
--------V-620041-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETDACS" - GET VIDEO DAC CONTENTS
AX = 0041h
CX = number of DAC registers to return (0001h to 0100h)
DX = starting DAC register number (0000h to 00FFh)
ES:BX -> buffer for DAC red/green/blue triples
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The register number wraps back to zero after FFh
SeeAlso: AX=004Eh,AX=0086h,AX=00ABh
--------V-620042-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETENTRY" - GET PAGE TYPE AND ADDRESS
AX = 0042h
ES:BX -> variable pointer record (see #2732)
CX = page number (00h-3Fh)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
Page addresses are segments for pages stored in conventional memory
(including physical and virtual pages), and EMS or XMS handles for
pages stored in EMS or XMS
SeeAlso: AX=0000h,AX=00ACh
Format of FGDRIVER GETENTRY variable pointer record:
Offset Size Description (Table 2732)
00h WORD segment of WORD buffer for page address
02h WORD offset of WORD buffer for page address
04h WORD segment of WORD buffer for page type (se #2733)
06h WORD offset of WORD buffer for page type
(Table 2733)
Values for FGDRIVER page type:
0000h unallocated
0001h physical
0002h virtual
0003h logical page, stored in expanded memory (EMS)
0004h logical page, stored in extended memory (XMS)
0005h logical page, stored in conventional memory
--------V-620043-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETHPAGE" - GET CURRENT HIDDEN VIDEO PAGE NUM
AX = 0043h
Return: AX = current hidden video page number (0000h-003Fh)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=004Ch,AX=0050h,AX=00AEh
--------V-620044-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETIMAGE" - STORE IMAGE AS BITMAP
AX = 0044h
ES:BX -> buffer for video mode-specific bitmap
CX = width of bitmap in bytes
DX = height of bitmap in pixel rows
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0099h,AX=00A0h
--------V-620045-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETINDEX" - GET COLOR VALUE FOR COLOR INDEX
AX = 0045h
BX = color index (0000h to 00FFh)
Return: AX = color value for specified color index
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call returns the value passed to it in text and 256-color
graphics modes
SeeAlso: AX=0018h,AX=0040h
--------V-620046-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETKEY" - GET NEXT KEYSTROKE
AX = 0046h
ES:BX -> variable pointer record (see #2734)
Return: (after next keystroke if no typeahead) variables updated
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Ah,AX=0063h,AX=0069h,AX=00DEh,INT 16/AH=00h
Format of FGDRIVER GETKEY variable pointer record:
Offset Size Description (Table 2734)
00h WORD segment of BYTE buffer for ASCII keycode
02h WORD offset of BYTE buffer for ASCII keycode
04h WORD segment of BYTE buffer for extended keycode
06h WORD offset of BYTE buffer for extended keycode
--------V-620047-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETLINES" - GET TEXT ROWS FOR CURR VIDEO MODE
AX = 0047h
Return: AX = number of text rows on screen in current video mode
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00AFh,AX=00C2h
--------V-620048-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETMAP" - STORE IMAGE AS MODE-INDEPENDNT BITMAP
AX = 0048h
ES:BX -> buffer for video mode-independent bitmap
CX = width of bitmap in bytes
DX = height of bitmap in pixel rows
Return: each bit in bitmap is set if corresponding pixel is of the current
color, cleared otherwise
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=0011h,AX=001Eh,AX=0024h
--------V-620049-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETMAXX" - GET MAXIMUM COLUMN IN SCREEN SPACE
AX = 0049h
Return: AX = maximum X coordinate in screen space
(or character space if in text mode)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=004Ah,AX=00C1h
--------V-62004A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETMAXY" - GET MAXIMUM ROW IN SCREEN SPACE
AX = 004Ah
Return: AX = maximum Y coordinate in screen space
(or character space if in text mode)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0049h,AX=00C1h
--------V-62004B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETMODE" - GET CURRENT VIDEO MODE NUMBER
AX = 004Bh
ES:BX -> WORD ???
Return: AX = current video mode number
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00B0h
--------V-62004C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETPAGE" - GET ACTIVE VIDEO PAGE NUMBER
AX = 004Ch
Return: AX = active video page (0000h-003Fh)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0039h,AX=0042h,AX=0043h,AX=0050h,AX=00B2h
--------V-62004D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETPIXEL" - GET COLOR OF SPECIFIED PIXEL
AX = 004Dh
BX = column in screen space
CX = row in screen space
Return: AX = color value of pixel (0 to num_colors-1)
0000h in text modes
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=003Ah,AX=003Dh,AX=008Fh,AX=0090h
--------V-62004E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETRGB" - GET VIDEO DAC REGISTER CONTENTS
AX = 004Eh
ES:BX -> variable pointer record (see #2735)
CX = DAC register number
Return: variables updated
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes and CGA/EGA video modes (since
they do not use DAC registers)
SeeAlso: AX=0041h,AX=0086h,AX=00ABh
Format of FGDRIVER GETRGB variable pointer record:
Offset Size Description (Table 2735)
00h WORD segment of WORD buffer for red component of DAC register
02h WORD offset of WORD buffer for red component
04h WORD segment of WORD buffer for green component of DAC register
06h WORD offset of WORD buffer for green component
08h WORD segment of WORD buffer for blue component of DAC register
0Ah WORD offset of WORD buffer for blue component
--------V-62004F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETVIEW" - GET VIEWPORT EXTREME LIMITS
AX = 004Fh
ES:BX -> variable pointer record (see #2736)
Return: indicated variables updated
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00B5h
Format of FGDRIVER GETVIEW variable pointer record:
Offset Size Description (Table 2736)
00h WORD segment of WORD buffer for viewport left edge (viewport units)
02h WORD offset of WORD buffer for viewport left edge (viewport units)
04h WORD segment of WORD buffer for viewport right edge (viewport units)
06h WORD offset of WORD buffer for viewport right edge (viewport units)
08h WORD segment of WORD buffer for viewport top edge (viewport units)
0Ah WORD offset of WORD buffer for viewport top edge (viewport units)
0Ch WORD segment of WORD buffer for viewport bottom edge (viewp. units)
0Eh WORD offset of WORD buffer for viewport bottom edge (viewp. units)
10h WORD segment of WORD buffer for viewport left edge (screen space)
12h WORD offset of WORD buffer for viewport left edge (screen space)
14h WORD segment of WORD buffer for viewport right edge (screen space)
16h WORD offset of WORD buffer for viewport right edge (screen space)
18h WORD segment of WORD buffer for viewport top edge (screen space)
1Ah WORD offset of WORD buffer for viewport top edge (screen space)
1Ch WORD segment of WORD buffer for viewport bottom edge (screen space)
1Eh WORD offset of WORD buffer for viewport bottom edge (screen space)
--------V-620050-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETVPAGE" - GET VISIBLE VIDEO PAGE NUMBER
AX = 0050h
Return: AX = visible video page (0000h-003Fh)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0043h,AX=004Ch,AX=00B6h
--------V-620051-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETXBOX" - GET WIDTH OF VERTICAL BOX LINES
AX = 0051h
Return: AX = width (in pixels) of left and right edges of rectangles
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0006h,AX=0007h,AX=0008h,AX=006Bh
--------V-620052-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETXJOY" - GET HORIZONTAL POSITION OF JOYSTICK
AX = 0052h
BX = joystick number (0001h or 0002h)
Return: AX = horizontal position of joystick
FFFFh if joystick uninitialized or not present
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The actual coordinates are processor- and joystick-dependent
You must call "FG_INITJOY" (AX=005Eh) before using this function
SeeAlso: AX=0009h,AX=0056h,AX=005Eh,AX=0062h,AX=0077h
--------V-620053-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETXJUST" - GET HORIZONTAL JUSTIFICATION
AX = 0053h
Return: AX = string justification
0000h strings are centered around current graphics X position
0001h strings are right-justified at current graphics X position
FFFFh strings are left-justified at current graphics X position
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=006Ch,AX=007Bh
--------V-620054-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETXPOS" - GET GRAPHICS CURSOR COLUMN
AX = 0054h
Return: AX = screen space X coordinate of graphics cursor position
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0058h,AX=007Eh,AX=007Fh
--------V-620055-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETYBOX" - GET WIDTH OF HORIZONTAL BOX LINES
AX = 0055h
Return: AX = width (in pixels) of top and bottom edges of rectangles
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0006h,AX=0007h,AX=0008h,AX=0063h
--------V-620056-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETYJOY" - GET VERTICAL POSITION OF JOYSTICK
AX = 0056h
BX = joystick number (0001h or 0002h)
Return: AX = vertical position of joystick
FFFFh if joystick uninitialized or not present
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The actual coordinates are processor- and joystick-dependent
You must call "FG_INITJOY" (AX=005Eh) before using this function
SeeAlso: AX=0009h,AX=0052h,AX=005Eh,AX=0062h,AX=0077h
--------V-620057-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETYJUST" - GET VERTICAL JUSTIFICATION
AX = 0057h
Return: AX = string justification
0000h strings are centered around current graphics Y position
0001h strings have top edge at current graphics Y position
FFFFh strings have bottom edge at current graphics Y position
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0053h,AX=0065h
--------V-620058-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_GETYPOS" - GET GRAPHICS CURSOR ROW
AX = 0058h
Return: AX = screen space Y coordinate of graphics cursor position
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0054h,AX=007Eh,AX=007Fh
--------V-620059-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_HUSH" - STOP ASYNCHRONOUS SOUND IMMEDIATELY
AX = 0059h
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function immediately stops any sounds started with "FG_MUSICB",
"FG_SOUNDS", or "FG_VOICES"; it is ignored if no asynchronous sound
is playing
SeeAlso: AX=005Ah,AX=0081h,AX=00BDh,AX=00DCh
--------V-62005A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_HUSHNEXT" - STOP ASYNCHRONOUS SOUND
AX = 005Ah
Program: FGDRIVER is the external video driver for the shareware
Fastgraph/Light by Ted Gruber Software
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function stops any sounds started with "FG_MUSICB", "FG_SOUNDS",
or "FG_VOICES" after the current repetition completes; it is ignored
unless asynchronous sound is continuous
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DCh
--------V-62005B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_IMAGEBUF" - SPECIFY TEMPORARY IMAGE BUFFER
AX = 005Bh
ES:BX -> buffer to be used when creating or displaying GIF/PCX/PPR/SPR
images
CX = size of buffer in bytes or 0000h to use internal buffer
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
Fastgraph's internal buffer is 4096 bytes; this function allows the
application to define a larger buffer which will typically speed
processing
SeeAlso: AX=006Ch,AX=006Dh,AX=006Eh,AX=00B9h,AX=00BAh,AX=00BBh
--------V-62005C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_IMAGESIZ" - DETERMINE IMAGE STORAGE REQUIREMENT
AX = 005Ch
BX = image width in pixels
CX = image height in pixels
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
Return: DX:AX = size in bytes of mode-specific bitmap for current video mode
SeeAlso: AX=003Ch,AX=0098h
--------V-62005D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INITEMS" - INITIALIZE EXPANDED MEMORY USE
AX = 005Dh
Return: AX = status
0000h successful
FFFFh expanded memory manager inaccessible or not installed
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0002h,AX=0060h"v4.02"
--------V-62005E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INITJOY" - INITIALIZE JOYSTICK USE
AX = 005Eh
BX = joystick number (0001h or 0002h)
Return: AX = status
0000h successful
FFFFh joystick not connected or no game port
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
Fastgraph assumes that the requested joystick is centered at the time
this function is called
SeeAlso: AX=0009h,AX=0052h,AX=0056h,AX=0062h,AX=0077h
--------V-62005F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INITPM"??? - (NOT IMPLEMENTED)
AX = 005Fh
???
Return: ???
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
--------V-620060-----------------------------
INT 62 u - FGDRIVER v1.10 only - "FG_DISPPCX" - DISPLAY PCX FILE
AX = 0060h
ES:BX -> ASCIZ filename
CX = flags
bit 0: use current palette rather than PCX file's palette
bits 1-15 reserved (0)
Return: AX = status
0000h success
0001h file not found
0002h file is not a valid PCX file
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes and Hercules low-resolution graphics
The image is displayed with its upper left corner at the current
graphics cursor position
SeeAlso: AX=00B9h
--------V-620060-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INITXMS" - INITIALIZE EXTENDED MEMORY USE
AX = 0060h
Return: AX = status
0000h successful
FFFFh extended memory manager inaccessible or not installed
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0003h,AX=005Dh
--------V-620061-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INSIDE" - CHECK IF POINT INSIDE CONVEX POLYGON
AX = 0061h
ES:BX -> vertex array
CX = number of vertices
DX = screen space column of point to test
SI = screen space row of point to test
Return: AX = result
0000h point is outside polygon
0001h point is inside polygon
undefined if not a convex polygon
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0092h,AX=0093h,AX=0094h
--------V-620062-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INTJOY" - GET KEYCODES CORRESP TO JOYSTICK POS
AX = 0062h
CX = joystick number (0001h or 0002h)
ES:BX -> variable pointer record (see #2737)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
If the indicated joystick has not been initialized with AX=008Eh, both
the button code and joystick position will be set to 00h
If either button is pressed, a button code of 0Dh is returned;
otherwise, a button code of 00h is returned
SeeAlso: AX=0009h,AX=0052h,AX=0046h,AX=005Eh,AX=0077h
Format of FGDRIVER INTJOY variable pointer record:
Offset Size Description (Table 2737)
00h WORD segment of BYTE buffer for button code
02h WORD offset of BYTE buffer for button code
04h WORD segment of BYTE buffer for joystick position
06h WORD offset of BYTE buffer for joystick position
--------V-620063-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INTKEY" - GET KEYSTROKE, NO WAIT
AX = 0063h
ES:BX -> variable pointer record (see #2738)
Return: variables updated
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
If the keyboard buffer is empty, both the ASCII and extended keycodes
are set to 00h
SeeAlso: AX=000Ah,AX=0046h,AX=0069h,AX=00DEh,INT 16/AH=01h
Format of FGDRIVER INTKEY variable pointer record:
Offset Size Description (Table 2738)
00h WORD segment of BYTE buffer for ASCII keycode
02h WORD offset of BYTE buffer for ASCII keycode
04h WORD segment of BYTE buffer for extended keycode
06h WORD offset of BYTE buffer for extended keycode
--------V-620064-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_INVERT" - INVERT ORIENTATION OF BITMAP
AX = 0064h
ES:BX -> bitmap
CX = width of bitmap in bytes
DX = height of bitmap in pixel rows
Return: nothing
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
--------V-620065-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_JUSTIFY" - SET TEXT OUTPUT JUSTIFICATION
AX = 0065h
BX = horizontal justification
(00h centered, 01h right-justified, FFh left-justified)
CX = vertical justification
(00h centered, 01h top of characters, FFh bottom of chars)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Ch,AX=0037h,AX=0053h,AX=0057h,AX=0096h
--------V-620066-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_KBINIT" - ENABLE/DISABLE LOW-LEVEL KBD HANDLER
AX = 0066h
BX = new state (0000h disabled, 0001h enabled)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
When the low-level handler is enabled, "FG_GETKEY", "FG_INTKEY",
"FG_WAITKEY", and all other functions calling DOS or BIOS keyboard
services become unavailable
SeeAlso: AX=0067h,AX=0068h,AX=0069h
--------V-620067-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_KBLAST" - GET MOST RECENT SCANCODE PROCESSED
AX = 0067h
Return: AX = scancode for keypress most recently processed by FastGraph's
low-level keyboard handler, or 0000h if no keys since FG_KBINIT
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0066h,AX=0068h,AX=0069h
--------V-620068-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_KBRESET" - RESET LOW-LEVEL KEYBOARD HANDLER
AX = 0068h
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0066h,AX=0067h,AX=0069h
--------V-620069-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_KBTEST" - CHECK WHETHER SPECIFIED KEY PRESSED
AX = 0069h
BX = scan code of desired key
Return: AX = state
0000h key is not pressed
0001h key is currently pressed
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The low-level keyboard handler must have been enabled with AX=0066h
SeeAlso: AX=0066h,AX=0067h,INT 16/AH=01h
--------V-62006A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_LOADPCX" - LOAD .PCX INTO ACTIVE VIRTUAL BUFFER
AX = 006Ah
ES:BX -> ASCIZ filename for PCX image
CX = control flags
bit 0: use current palette, overriding stored .PCX palette
bit 1: load at current graphics position, not stored position
bit 2: load image from FG_IMAGEBUF buffer instead of .PCX file
Return: AX = status
0000h successful
0001h file not found
0002h not a .PCX file
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=006Ch,AX=00B9h,AX=00D5h
--------V-62006B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_LOCATE" - SET TEXT-MODE CURSOR POSITION
AX = 006Bh
BX = row
CX = column
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
There are only eight text cursors shared by successive groups of
eight video pages (pages 0, 8, 16, ... share one cursor, 1, 9, ...
share the second, etc)
SeeAlso: AX=0054h,AX=0058h,AX=007Eh,AX=00E0h
--------V-62006C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MAKEPCX" - CREATE PCX FILE FROM SCREEN WINDOW
AX = 006Ch
BX = left edge in screen space units
CX = right edge in screen space units
DX = top edge in screen space units
SI = bottom edge in screen space units
ES:DI -> ASCIZ filename of PCX file to create
Return: AX = status
0000h successful
0001h file not created
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The PCX file is created from the specified region of the active video
page; the left and right edges are adjusted to a byte boundary if
necessary
If the specified file already exists, it is overwritten
This call is ignored in text and Hercules low-resolution graphics modes
SeeAlso: AX=005Bh,AX=006Dh,AX=006Ah,AX=006Eh,AX=00B9h,AX=00BAh,AX=00BBh
--------V-62006D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MAKEPPR" - CREATE PACKED PIXEL RUN FILE
AX = 006Dh
BX = left edge in screen space units
CX = right edge in screen space units
DX = top edge in screen space units
SI = bottom edge in screen space units
ES:DI -> ASCIZ filename of PPR file to create
Return: AX = status
0000h successful
0001h file not created
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The PPR file is created from the specified region of the active video
page; the left and right edges are adjusted to byte boundaries if
necessary
If the specified file already exists, it is overwritten
This call is ignored in text modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Eh,AX=00B9h,AX=00BAh,AX=00BBh
--------V-62006E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MAKESPR" - CREATE STANDARD PIXEL RUN FILE
AX = 006Eh
BX = left edge in screen space units
CX = right edge in screen space units
DX = top edge in screen space units
SI = bottom edge in screen space units
ES:DI -> ASCIZ filename of SPR file to create
Return: AX = status
0000h successful
0001h file not created
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The SPR file is created from the specified region of the active video
page; the left and right edges are adjusted to byte boundaries if
necessary
If the specified file already exists, it is overwritten
This call is ignored in text modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Dh,AX=00B9h,AX=00BAh,AX=00BBh
--------V-62006F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MAPRGB" - MAP COLOR COMPONENTS INTO PALETTE VAL
AX = 006Fh
BX = red component
CX = green component
DX = blue component
Return: AX = mode-specific palette value corresponding to specified components
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is only meaningful in 16-color graphics modes
SeeAlso: AX=004Eh,AX=00B3h
--------V-620070-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MEASURE" - GET DELAY UNITS PER CLOCK TICK
AX = 0070h
Return: AX = delay units per clock tick (processor-dependent)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
These delay units are used by "FG_STALL" (see AX=00BFh)
SeeAlso: AX=00BFh
--------V-620071-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MEMAVAIL" - QUERY AMOUNT OF FREE MEMORY
AX = 0071h
Return: DX:AX = number of bytes of conventional memory available
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=005Dh,AX=0072h
--------V-620072-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MEMORY" - GET SIZE OF VIDEO MEMORY
AX = 0072h
Return: AX = size of video memory in KB
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
You must first call "FG_SVGAINIT" (see AX=00C1h) before using this
function
SeeAlso: AX=0071h
--------V-620073-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSE256" - DEFINE 256-COLOR MOUSE CURSOR
AX = 0073h
ES:BX -> 512-byte cursor definition
CX = X offset of hot-spot within mouse cursor
DX = Y offset of hot-spot within mouse cursor
Return: nothing
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
the cursor definition array consists of 256 bytes defining the 16x16
screen mask, followed by another 256 bytes definining the 16x16
cursor mask
SeeAlso: AX=0074h,AX=0075h,AX=007Bh
--------V-620074-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEBUT" - GET MOUSE BUTTON PRESS/RELEASE CNTS
AX = 0074h
CX = mouse button (1 = left press, 2 = right press, 3 = middle press,
-1=left release, -2=right release, -3=middle release)
ES:BX -> variable pointer record (see #2739)
Return: variables updated
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function returns the count of presses or releases since the last
call to this function; if the count is zero, row and column will
also be zero
SeeAlso: AX=0075h,AX=0077h,AX=007Ah
Format of FGDRIVER MOUSEBUT variable pointer record:
Offset Size Description (Table 2739)
00h WORD segment of WORD buffer for press/release count
02h WORD offset of WORD buffer for press/release count
04h WORD segment of WORD buffer for screen space col of last press/rls
06h WORD offset of WORD buffer for screen space col of last press/rels
08h WORD segment of WORD buffer for screen space row of last press/rls
0Ah WORD offset of WORD buffer for screen space row of last press/rls
--------V-620075-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSECUR" - SPECIFY TEXT-MODE MOUSE CURSOR
AX = 0075h
BX = screen mask
CX = cursor mask
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in graphics modes
SeeAlso: AX=007Bh,AX=007Dh
--------V-620076-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEFIN" - UNHOOK FASTGRAPH MOUSE HANDLER
AX = 0076h
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function should be called before switching back to text mode if
"FG_MOUSEINI" was called while in an SVGA graphics mode
SeeAlso: AX=0077h
--------V-620077-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEINI" - INITIALIZE MOUSE SUPPORT
AX = 0077h
Return: AX = status
0002h two-button mouse
0003h three-button mouse
FFFFh initialization failed
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
After this call, the mouse cursor is invisible
SeeAlso: AX=0076h,AX=0078h,AX=007Ch
--------V-620078-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSELIM" - SPECIFY MOUSE CURSOR LIMITS
AX = 0078h
BX = left-most position allowed for mouse cursor
CX = right-most position allowed
DX = top-most position allowed
SI = bottom-most position allowed
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0077h,AX=0079h,INT 33/AX=0007h,INT 33/AX=0008h
--------V-620079-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEMOV" - SET MOUSE CURSOR POSITION
AX = 0079h
BX = new column
CX = new row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function will not move the mouse cursor outside the bounding box
specified with AX=009Bh
SeeAlso: AX=0078h,AX=007Ah,INT 33/AX=0004h
--------V-62007A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPOS" - GET CURRENT MOUSE POSITION
AX = 007Ah
ES:BX -> variable pointer record (see #2740)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0079h
Format of FGDRIVER MOUSEPOS variable pointer record:
Offset Size Description (Table 2740)
00h WORD segment of WORD buffer for mouse column
02h WORD offset of WORD buffer for mouse column
04h WORD segment of WORD buffer for mouse row
06h WORD offset of WORD buffer for mouse row
08h WORD segment of WORD buffer for button status
0Ah WORD offset of WORD buffer for button status
Note: button status: bit 0 = left button, bit 1 = right, bit 2 = middle
--------V-62007B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEPTR" - SPECIFY GRAPH-MODE MOUSE CURSOR
AX = 007Bh
ES:BX -> masks (16-byte screen mask followed by 16-byte cursor mask)
CX = X offset of hot spot from upper left corner
DX = Y offset of hot spot from upper left corner
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=0073h,AX=0075h,INT 33/AX=0009h
--------V-62007C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSESPD" - SET MOUSE CURSOR SPEED
AX = 007Ch
BX = horizontal mickeys per eight pixels of movement (default 16)
CX = vertical mickeys per eight pixels of movement (default 16)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: INT 33/AX=000Fh,INT 33/AX=001Ah
--------V-62007D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOUSEVIS" - SET MOUSE CURSOR VISIBILITY
AX = 007Dh
BX = new state (0000h invisible, 0001h visible)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0077h,INT 33/AX=0001h,INT 33/AX=0002h
--------V-62007E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOVE" - SET GRAPHICS CURSOR POSITION
AX = 007Eh
BX = new column
CX = new row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=0054h,AX=0058h,AX=006Bh,AX=0079h,AX=007Fh,AX=00E0h
--------V-62007F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MOVEREL" - ADJUST GRAPHICS CURSOR POSITION
AX = 007Fh
BX = column offset
CX = row offset
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=0054h,AX=0058h,AX=007Eh
--------V-620080-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MUSIC" - PLAY SERIES OF NOTES
AX = 0080h
ES:BX -> '$'-terminated music string in BASIC PLAY format
Return: after music completed
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
AX=00AAh) is already in progress
SeeAlso: AX=0081h,AX=00BCh,AX=00DBh
--------V-620081-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_MUSICB" - PLAY SERIES OF NOTES IN BACKGROUND
AX = 0081h
CX = number of repetitions (negative = continuous play)
ES:BX -> '$'-terminated music string in BASIC PLAY format
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
AX=00AAh) is already in progress
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DCh
--------V-620082-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_NUMLOCK" - GET STATE OF NUMLOCK KEY
AX = 0082h
Return: AX = NumLock state (0000h off, 0001h on)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Ah,AX=00A4h,AX=00A8h,AX=00B1h
--------V-620083-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PACK" - CONVERT PIXEL-PER-BYTE TO PACKED BITMAP
AX = 0083h
ES:BX -> variable pointer record (see #2741)
CX = width of bitmap in pixels
DX = height of bitmap in pixels
Return: result bitmap buffer updated
SeeAlso: AX=00CBh
Format of FGDRIVER PACK variable pointer record:
Offset Size Description (Table 2741)
00h WORD segment of source (mode-independent) bitmap
02h WORD offset of source (mode-independent) bitmap
04h WORD segment of buffer for result (mode-specific) bitmap
06h WORD offset of buffer for result (mode-specific) bitmap
--------V-620084-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PAGESIZE" - GET VIDEO PAGE SIZE FOR CURR MODE
AX = 0084h
Return: DX:AX = page size in bytes
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0072h
--------V-620085-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PAINT" - FLOOD CLOSED REGION WITH COLOR
AX = 0085h
BX = column
CX = row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function fills an arbitrary closed region around the specified
point with the current color; the screen edges are not considered
region boundaries
This call is ignored in text modes
SeeAlso: AX=0035h
--------V-620086-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PALETTE" - SET PALETTE / SET VIDEO DAC REGISTER
AX = 0086h
---CGA 4-color graphics---
BX = CGA paletee number
CX = background color
---CGA 2-color graphics---
BX ignored
CX = foreground color
---16-color graphics---
BX = palette register number
CX = palette value
---256-color graphics---
BX = DAC register number
CX = DAC value
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is ignored in text modes and Hercules graphics modes
Few EGA/VGA adapters correctly set the foreground color in CGA mode 6
SeeAlso: AX=0041h,AX=004Eh,AX=0087h,AX=00ABh
--------V-620087-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PALETTES" - SET ALL PALETTE REGISTERS
AX = 0087h
ES:BX -> array of 16 WORDs containing values for palette registers
(or first 16 DAC registers in 256-color modes)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is ignored in text modes, CGA and Hercules graphics modes
SeeAlso: AX=0041h,AX=004Eh,AX=0086h,AX=00ABh
--------V-620088-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PAN" - SET SCREEN ORIGIN
AX = 0088h
BX = new column for screen origin
CX = new row for screen origin
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00B2h
--------V-620089-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PATTERN" - SPECIFY DISPLAY PATTERN FOR COLOR
AX = 0089h
BX = index of pattern to define
CX = number of predefined display pattern
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
When displaying a pixel run map, Fastgraph uses the pattern associated
with each color index rather than displaying the actual color
This call has no effect in text and 256-color graphics modes
SeeAlso: AX=0023h,AX=0045h
--------V-62008A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PCXHEAD" - GET PCX FILE HEADER
AX = 008Ah
ES:BX -> variable pointer record (see #2742)
Return: AX = status
0000h successful
FFFEh not a PCX file
FFFFh file does not exist
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=008Bh,AX=00B9h
Format of FGDRIVER PCXHEAD variable pointer record:
Offset Size Description (Table 2742)
00h WORD segment of ASCIZ filename
02h WORD offset of ASCIZ filename
04h WORD segment of 128-byte buffer for PCX header
06h WORD offset of 128-byte buffer for PCX header
--------V-62008B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PCXMODE" - GET OPTIMAL VIDEO MODE FOR DISPLAY
AX = 008Bh
ES:BX -> PCX header (see AX=008Ah)
Return: AX = optimal video mode for PCX file
FFFEh not a valid PCX header
FFFFh unable to determine compatible video mode
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=008Ah,AX=00B9h
--------V-62008C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PCXPAL" - GET PALETTE STORED IN PCX FILE
AX = 008Ch
ES:BX -> variable pointer record (see #2743)
Return: AX = number of colors in palette (16 or 256) or
FFFEh not a valid PCX file
FFFFh file not found
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=008Dh
Format of FGDRIVER PCXPAL variable pointer record:
Offset Size Description (Table 2743)
00h WORD segment of ASCIZ .PCX filename
02h WORD offset of ASCIZ .PCX filename
04h WORD segment of buffer for .PCX palette RGB triples
06h WORD offset of buffer for .PCX palette RGB triples
Note: the buffer for the palette must hold at least three times as many bytes
as there are colors in the palette
SeeAlso: #2744
--------V-62008D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PCXRANGE" - GET EXTENT OF PCX IMAGE
AX = 008Dh
ES:BX -> variable pointer record (see #2744)
Return: indicated variables updated; if the indicated header is not valid,
all of the coordinate variables are set to FFFFh
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=008Ch
Format of FGDRIVER PCXRANGE variable pointer record:
Offset Size Description (Table 2744)
00h WORD segment of 128-byte PCX file header
02h WORD offset of 128-byte PCX file header
04h WORD segment of WORD buffer for X coordinate of image's left edge
04h WORD offset of WORD buffer for X coordinate of image's left edge
08h WORD segment of WORD buffer for X coordinate of image's right edge
0Ah WORD offset of WORD buffer for X coordinate of image's right edge
0Ch WORD segment of WORD buffer for Y coordinate of image's top edge
0Eh WORD offset of WORD buffer for Y coordinate of image's top edge
10h WORD segment of WORD buffer for X coordinate of image's bottom edge
12h WORD offset of WORD buffer for X coordinate of image's bottom edge
SeeAlso: #2743
--------V-62008E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PLAYING" - DETERMINE WHETHER ASYNC SOUND ACTIVE
AX = 008Eh
Return: AX = sound state (0 = no asynchronous sound, 1 = async sound playing)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DCh
--------V-62008F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_POINT" - DISPLAY A PIXEL
AX = 008Fh
BX = column
CX = row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=0006h,AX=001Dh,AX=004Dh,AX=0090h
--------V-620090-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_POINTX" - DISPLAY A PIXEL IN XOR MODE
AX = 0090h
BX = column
CX = row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=004Dh,AX=008Fh
--------V-620091-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_POLYEDGE" - SPECIFY INCLUSION OF FINAL PIXELS
AX = 0091h
BX = edge flag
0000h include right- and bottom-edge pixels when drawing polygons
with FG_POLYFILL
0001h (default) exclue right- and bottom-edge pixels
SeeAlso: AX=0092h
--------V-620092-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_POLYFILL" - DRAW A FILLED CONVEX POLYGON
AX = 0092h
CX = number of vertices
ES:BX -> variable pointer record (see #2745)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The vertex array consists of pairs of words specifying the X and Y
coordinates of each vertex; the work array is used internally and
must contain at least four times as many bytes as the polygon is
high in pixels
This function is ignored in text modes
If the polygon is non-convex, only a portion of it may be filled
SeeAlso: AX=000Eh,AX=0027h,AX=0091h,AX=0093h,AX=0094h,AX=0095h
Format of FGDRIVER POLYFILL variable pointer record:
Offset Size Description (Table 2745)
00h WORD segment of vertex array (see #2747)
02h WORD offset of vertex array
04h WORD segment of work array
06h WORD offset of work array
SeeAlso: #2746
--------V-620093-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_POLYGON" - DRAW AN UNFILLED POLYGON
AX = 0093h
CX = number of vertices in polygon
ES:BX -> variable pointer record (see #2746)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
SeeAlso: AX=0091h,AX=0092h,AX=0094h,AX=0095h
Format of FGDRIVER POLYGON variable pointer record:
Offset Size Description (Table 2746)
00h WORD segment of WORD array containing vertex columns
02h WORD offset of WORD array containing vertex columns
04h WORD segment of WORD array containing vertex rows
06h WORD offset of WORD array containing vertex rows
SeeAlso: #2745
--------V-620094-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_POLYLINE" - DRAW AN UNFILLED POLYGON
AX = 0094h
CX = number of vertices in polygon
ES:BX -> vertex array (see #2747)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is equivalent to "FG_POLYGON", but uses only a single
array to define the vertices
This call is ignored in text modes
SeeAlso: AX=008Fh,AX=0092h,AX=0093h,AX=0095h
Format of FGDRIVER POLYFILL/POLYLINE vertex array element:
Offset Size Description (Table 2747)
00h WORD column
02h WORD row
SeeAlso: #2746
--------V-620095-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_POLYOFF" - DEFINE POLYGON DRAWING OFFSET
AX = 0095h
BX = horizontal offset (default 0)
CX = vertical offset (default 0)
Desc: define the offsets applied to all vertices of polygons drawn with
"FG_POLYFILL" or "FG_POLYLINE"
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0092h,AX=0094h
--------V-620096-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PRINT" - DISPLAY STRING OF HARDWARE CHARACTERS
AX = 0096h
CX = length of string
ES:BX -> string to display
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The string is displayed in the current color, and the graphics cursor
is updated to be just to the right of the last displayed character
This function is ignored in text modes
SeeAlso: AX=000Ch,AX=0037h,AX=0065h,AX=0097h
--------V-620097-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PRINTC" - DISPLAY STRING OF HW CHARS (CLIPPED)
AX = 0097h
CX = length of string
ES:BX -> string to display
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The string is displayed in the current color, and the graphics cursor
is updated to be just to the right of the last displayed character;
only the portion of the string that lies within the current clipping
area is displayed
This function is ignored in text modes
SeeAlso: AX=0096h
--------V-620098-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PUTBLOCK" - RESTORE RECTANGLE OF DISPLAY
AX = 0098h
ES:BX -> buffer containing previously-saved image
CX = left edge
DX = right edge
SI = top edge
DI = bottom edge
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
In text modes, coordinates are character positions; in graphics modes,
they are defined in screen space, and the left and right edges are
adjusted to a byte boundary if necessary
SeeAlso: AX=003Ch,AX=0099h
--------V-620099-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_PUTIMAGE" - DISPLAY MODE-SPECIFIC BITMAP IMAGE
AX = 0099h
ES:BX -> buffer containing mode-specific bitmap
CX = width in bytes
DX = height in pixel rows
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The bitmap is displayed with its lower left corner at the graphics
cursor position; color 0 is NOT treated as transparent
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0044h,AX=0098h
--------V-62009A-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_QUIET" - STOP CONTINUOUS SYNCHRONOUS SOUND
AX = 009Ah
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call has no effect if there is no continuous sound playing
SeeAlso: AX=0059h,AX=0080h,AX=00BDh,AX=00DCh
--------V-62009B-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_RECT" - DRAW UNFILLED RECTANGLE IN SCREEN SPACE
AX = 009Bh
BX = left edge column
CX = right edge column
DX = top edge row
SI = bottom edge row
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0006h,AX=0012h,AX=0023h,AX=003Ch
--------V-62009C-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_RESET" - ERASE SCREEN AND RESTORE SCREEN ATTR
AX = 009Ch
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in graphics modes
The screen attributes are only restored if ANSI.SYS is loaded
SeeAlso: AX=0028h,AX=00B0h
--------V-62009D-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_RESIZE" - SET GRAPHICS MODE VIDEO PAGE SIZE
AX = 009Dh
BX = new page width in pixels
CX = new page height in pixels
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The visible page must be set to 0000h before making this call
The mouse, joysticks, expanded memory, and extended memory must be
reinitialized after this call
SeeAlso: AX=0084h,AX=00ACh
--------V-62009E-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_RESTORE" - COPY REGION FROM HIDDEN TO VIS PAGE
AX = 009Eh
BX = left edge column
CX = right edge column
DX = top edge row
SI = bottom edge row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The left and right edges are adjusted to byte boundaries if necessary
SeeAlso: AX=00A2h,AX=00C6h
--------V-62009F-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_RESUME" - RESTART ASYNCHRONOUS SOUND
AX = 009Fh
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00BDh,AX=00C0h
--------V-6200A0-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_REVIMAGE" - DISPLAY REVERSED IMAGE (BITMAP)
AX = 00A0h
ES:BX -> mode-specific bitmap
CX = width of bitmap in bytes
DX = height of bitmap in pixel rows
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The image is drawn with its lower left corner at the current graphics
cursor position
SeeAlso: AX=0011h,AX=0024h,AX=0036h,AX=0044h,AX=00A1h,AX=00A9h,AX=00B9h
--------V-6200A1-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_REVMASK" - DISPLAY REVERSED IMAGE (MASKING MAP)
AX = 00A1h
ES:BX -> array containing image stored as a masking map (see #2724)
CX = number of pixel runs in masking map
DX = width of masking map in pixels
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes and in native EGA and VGA graphics
modes
The image is drawn with its lower left corner at the current graphics
cursor position
SeeAlso: AX=0010h,AX=001Fh,AX=0034h,AX=00A0h,AX=00A9h,AX=00C5h
--------V-6200A2-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SAVE" - COPY REGION FROM VISIBLE TO HIDDEN PAGE
AX = 00A2h
BX = left edge column
CX = right edge column
DX = top edge row
SI = bottom edge row
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The left and right edges are adjusted to byte boundaries if necessary
SeeAlso: AX=009Eh,AX=00C6h
--------V-6200A3-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SCALE" - SCALE BITMAP
AX = 00A3h
ES:BX -> variable pointer record (see #2748)
CX = width of source bitmap in pixels (0 < width <= 1024)
DX = height of source bitmap in pixels (0 < height <= 1024)
SI = desired width of scaled bitmap (0 < width <= 1024)
DI = desired height of scaled bitmap (0 < height <= 1024)
Return: nothing
SeeAlso: AX=00B7h
Format of FGDRIVER SCALE variable pointer record:
Offset Size Description (Table 2748)
00h WORD segment of source bitmap (one pixel per byte)
02h WORD offset of source bitmap
04h WORD segment of buffer for resulting scaled bitmap
06h WORD offset of buffer for resulting scaled bitmap
--------V-6200A4-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SCRLOCK" - GET STATE OF SCROLL LOCK KEY
AX = 00A4h
Return: AX = ScrollLock state (0000h off, 0001h on)
Program: FGDRIVER is the external video driver for the shareware
Fastgraph/Light by Ted Gruber Software
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Ah,AX=0082h,AX=00A8h,AX=00B1h
--------V-6200A5-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SCROLL" - VERTICALLY SCROLL SCREEN REGION
AX = 00A5h
BX = left edge column
CX = right edge column
DX = top edge row
SI = bottom edge row
DI = number of pixels by which to scroll (positive scrolls up,
negative scrolls down)
ES = type of scroll
0000h circular (rows scrolled off are copied to vacated rows)
else vacated rows are filled with the current color
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
In graphics modes, the left and right edges are adjusted to byte
boundaries if necessary
Circular scrolling uses part of the hidden page as a workspace
SeeAlso: AX=0088h,AX=00B2h
--------V-6200A6-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETATTR" - SET TEXT-MODE CHARACTER ATTRIBUTE
AX = 00A6h
BX = foreground
CX = background
DX = blink (0000h nonblinking, 0001h blink)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in graphics modes
SeeAlso: AX=000Bh,AX=003Ah,AX=0048h
--------V-6200A7-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETBANKS" - SET SVGA READ AND WRITE BANKS
AX = 00A7h
BX = memory bank from which to read (FFFFh leave unchanged)
CX = memory bank to which to write (FFFFh leave unchanged)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=003Bh
--------V-6200A8-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETCAPS" - SET STATE OF CAPSLOCK KEY
AX = 00A8h
BX = new state (0000h off, 0001h on)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Ah,AX=0082h,AX=00A4h,AX=00B1h
--------V-6200A9-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETCLIP" - SET CLIPPING REGION
AX = 00A9h
BX = left edge of clipping region
CX = right edge of clipping region
DX = top edge of clipping region
SI = bottom edge of clipping region
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0010h,AX=001Fh,AX=0034h,AX=003Eh,AX=00A1h,AX=00C5h
--------V-6200AA-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETCOLOR" - SET CURRENT COLOR
AX = 00AAh
BX = new color index (or text attribute in text modes)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0018h,AX=0040h,AX=0045h
--------V-6200AB-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETDACS" - SET VIDEO DAC CONTENTS
AX = 00ABh
CX = number of DAC registers to set (0001h to 0100h)
DX = starting DAC register number (0000h to 00FFh)
ES:BX -> buffer containing DAC red/green/blue triples
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The register number wraps back to zero after reaching FFh
This call has no effect in text modes or graphics modes below 11h
SeeAlso: AX=0041h,AX=004Eh,AX=0086h,INT 10/AX=1012h
--------V-6200AC-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETENTRY" - SET TYPE AND ADDRESS OF VIDEO PAGE
AX = 00ACh
BX = page number (00h-3Fh)
CX = page address
DX = page type (see #2733 at AX=0042h)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0038h,AX=0042h,AX=00B0h
--------V-6200AD-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETFUNC" - SET LOGICAL OPERATION FOR VIDEO OPS
AX = 00ADh
BX = operation
0000h replacement
0001h AND
0002h OR
0003h XOR
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is only available in native EGA/VGA graphics modes
(0Dh to 12h)
SeeAlso: AX=001Eh,AX=008Fh
--------V-6200AE-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETHPAGE" - SET HIDDEN VIDEO PAGE
AX = 00AEh
BX = new hidden page (0000h to 003Fh)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The specified page must be a physical page or a virtual page
SeeAlso: AX=0043h,AX=00B2h,AX=00B6h
--------V-6200AF-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETLINES" - SET TEXT ROWS ON SCREEN
AX = 00AFh
BX = new screen size (25, 43, 50)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0047h
--------V-6200B0-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETMODE" - SELECT VIDEO MODE AND INITIALIZE
AX = 00B0h
BX = new video mode or FFFFh for current mode (see #2749)
ES:DX -> WORD shareware splash screen flag
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call resets the active video page to page 0000h, the clipping
region to the entire screen, text rows to 25, etc.
in the shareware version, FGDRIVER sets the word pointed at by ES:DX
to 9090h after it shows the shareware announcement to the user
SeeAlso: AX=004Bh,INT 10/AH=00h
(Table 2749)
Values for FGDRIVER video mode:
00h-07h standard BIOS modes
09h PCjr/Tandy1000 320x200x16
0Bh Hercules graphics 720x348
0Ch Hercules graphics 320x200
0Dh-13h standard BIOS modes
14h VGA graphics 320x200x256
15h VGA graphics 320x400x256
16h VGA graphics 320x240x256
17h VGA graphics 320x480x256
18h SVGA graphics 640x400x256
19h SVGA graphics 640x480x256
1Ah SVGA graphics 800x600x256
1Bh SVGA graphics 1024x768x256
1Ch SVGA graphics 800x600x16
1Dh SVGA graphics 1024x768x16
--------V-6200B1-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETNUM" - SET STATE OF NUMLOCK KEY
AX = 00B1h
BX = new state (0000h off, 0001h on)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Ah,AX=0082h,AX=00A4h,AX=00A8h
--------V-6200B2-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETPAGE" - SET ACTIVE VIDEO PAGE
AX = 00B2h
BX = new video page (0000h to 003Fh)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The specified page must be a physical or virtual page
SeeAlso: AX=0039h,AX=0042h,AX=0043h,AX=0050h,AX=0088h
--------V-6200B3-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETRGB" - SET VIDEO DAC REGISTER CONTENTS
AX = 00B3h
BX = palette or DAC register number
CX = red color component
DX = green component
SI = blue component
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The register number may be negative for Tandy, PCjr, and 200-line
EGA graphics modes to specify an intense color
This call has no effect in text, CGA graphics, and Hercules graphics
modes
SeeAlso: AX=004Eh
--------V-6200B4-----------------------------
INT 62 u - FGDRIVER v4.02 - UNUSED
AX = 00B4h
Return: AX = 0000h
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
--------V-6200B5-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETVIEW" - DEFINE VIEWPORT
AX = 00B5h
ES:BX -> variable record (see #2750)
CX = viewport's top edge in screen space
DX = viewport's bottom edge in screen space
Return: nothing
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=004Fh
Format of FGDRIVER SETVIEW variable record:
Offset Size Description (Table 2750)
00h WORD viewport's left edge in viewport units
02h WORD viewport's right edge in viewport units
04h WORD viewport's top edge in viewport units
06h WORD viewport's bottom edge in viewport units
08h WORD viewport's left edge in screen space
0Ah WORD viewport's right edge in screen space
--------V-6200B6-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SETVPAGE" - SET VISIBLE VIDEO PAGE
AX = 00B6h
BX = new video page (0000h to 003Fh)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The specified page must be a physical or virtual page
SeeAlso: AX=0043h,AX=00AEh,AX=00B2h
--------V-6200B7-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SHEAR" - SHEAR UNPACKED BITMAP
AX = 00B7h
ES:BX -> variable pointer record (see #2751)
CX = bitmap width (0 < width <= 1024)
DX = bitmap height (0 < height <= 1024)
SI = size of resulting image (width for horiz. shear, height for vert.)
DI = shear type
0000h horizontal shear to left
0001h horizontal shear to right
0002h vertical shear to left (left edge stretched up)
0003h vertical shear to right (right edge stretched up)
Return: nothing
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00A3h
Format of FGDRIVER SHEAR variable pointer record:
Offset Size Description (Table 2751)
00h WORD segment of source bitmap
02h WORD offset of source bitmap
04h WORD segment of buffer for resulting bitmap
06h WORD offset of buffer for resulting bitmap
--------V-6200B8-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SHOWFLIC" - DISPLAY IMAGE FROM FLI/FLC FILE
AX = 00B8h
ES:BX -> ASCIZ filename for FLI/FLC file
CX = number of times to display image file (0000h = continuously)
DX = control flags (see #2728 at AX=0031h)
Return: AX = status
0000h successful
0001h file not found
0002h not a valid FLI/FLC file
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
the FLI/FLC display may be stopped by the user by pressing Esc
SeeAlso: AX=0030h,AX=0031h,AX=00B9h
--------V-6200B9-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SHOWPCX" - DISPLAY IMAGE FROM PCX FILE
AX = 00B9h
ES:BX -> ASCIZ filename of PCX image
CX = flags (see #2752)
Return: AX = status
0000h success
0001h file not found
0002h not a PCX file
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is ignored in text modes and Hercules low-res graphics
SeeAlso: AX=005Bh,AX=0060h"1.10",AX=006Ch,AX=006Dh,AX=006Eh,AX=00B8h,AX=00BAh
SeeAlso: AX=00BBh
Bitfields for FGDRIVER flags:
Bit(s) Description (Table 2752)
0 use current palette rather than PCX file's palette
1 display image at cursor position instead of position in PCX header
2-15 reserved
--------V-6200BA-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SHOWPPR" - DISPLAY IMAGE FROM PPR FILE
AX = 00BAh
ES:BX -> ASCIZ filename of packed pixel run image
CX = width in pixels (nonzero)
Return: AX = status
0000h successful
0001h file not found
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The image is displayed with its lower left corner at the current
graphics cursor position
This function is ignored in text modes and 256-color graphics modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Dh,AX=006Eh,AX=00B9h,AX=00BBh
--------V-6200BB-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SHOWSPR" - DISPLAY IMAGE FROM SPR FILE
AX = 00BBh
ES:BX -> ASCIZ filename of standard pixel run image
CX = width in pixels (nonzero)
Return: AX = status
0000h successful
0001h file not found
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The image is displayed with its lower left corner at the current
graphics cursor position
This function is ignored in text modes
SeeAlso: AX=005Bh,AX=006Ch,AX=006Dh,AX=006Eh,AX=00B9h,AX=00BAh
--------V-6200BC-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SOUND" - MAKE SOUND FOR SPECIFIED DURATION
AX = 00BCh
BX = frequency in Hertz (18-32767)
CX = duration in clock ticks (0000h or negative for continuous sound)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
AX=00AAh) is already in progress
SeeAlso: AX=0059h,AX=0080h,AX=00BDh,AX=00C0h,AX=00DBh
--------V-6200BD-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SOUNDS" - PLAY SOUNDS IN BACKGROUND
AX = 00BDh
CX = number of times to cycle through sound list
ES:BX -> sounds array (see #2753)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored if asynchronous sound (AX=00A5h,AX=00A8h,
AX=00AAh) is already in progress
SeeAlso: AX=0059h,AX=0081h,AX=00BCh,AX=00C0h,AX=00DCh
Format of FGDRIVER sounds array element:
Offset Size Description (Table 2753)
00h WORD frequency of sound in Hertz (0000h ends array)
02h WORD duration of sound in clock ticks
--------V-6200BE-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SPLIT" - ENABLE/DISABLE SPLIT SCREEN ENVIRONMNT
AX = 00BEh
BX = beginning row for bottom half of split-screen
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
--------V-6200BF-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_STALL" - PAUSE FOR SPECIFIED DURATION
AX = 00BFh
BX = duration in processor-dependent delay units (see AX=0070h)
Return: after delay elapses
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0070h,INT 2F/AX=1224h
--------V-6200C0-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SUSPEND" - TEMPORARILY STOP ASYNCHRONOUS SOUND
AX = 00C0h
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call has no effect if there is no asynchronous sound in progress
The program must not exit while sound is suspended
SeeAlso: AX=0059h,AX=0080h,AX=00BDh,AX=00C0h,AX=00DBh
--------V-6200C1-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SVGAINIT" - INITIALIZE FASTGRAPH SVGA KERNEL
AX = 00C1h
BX = method (see #2754)
Return: AX = status
0000h no VESA BIOS or supported SVGA chipset
0001h using VESA BIOS
0002h-0016h specific chipset being used (same as "method" below)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function must be called before attempting to set SVGA graphics
modes (18h to 1Dh) or using "FG_BESTMODE", "FG_TESTMODE", or
"FG_MEMORY"
SeeAlso: AX=0025h,AX=00C2h,AX=00C3h
(Table 2754)
Values for FGDRIVER SVGA method:
0000h autodetect, give chipset-specific code priority over VESA
0001h autodetect, give VESA priority over chipset-specific code
0002h Ahead type "A"
0003h Ahead type "B"
0004h ATI 18800
0005h ATI 18800-1
0006h ATI 28800
0007h Chips & Technologies 82c451/455/456
0008h C&T 82c452
0009h C&T 82c453
000Ah Genoa 6000 series
000Bh Oak OTI-067
000Ch Paradise PVGA1a
000Dh Paradise WD90C00/WD90C10
000Eh Paradise WD90C11/WD90C30/WD90C31
000Fh Trident 8800
0010h Trident 8900
0011h Tseng ET3000
0012h Tseng ET4000
0013h Video7
0014h Cirrus Logic 5400 series
0015h S3
0016h Trident 8900B/8900C/9000
--------V-6200C2-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SVGASTAT" - GET SVGA CHIPSET INFORMATION
AX = 00C2h
Return: AX = chipset information (see #2755)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0025h,AX=00C1h,AX=00C3h
Bitfields for FGDRIVER chipset information:
Bit(s) Description (Table 2755)
0 SVGA kernel initialized
1 VESA support enabled
2 extended video pages available in modes 13-23
3 SVGA chipset has separate read and write banks
4-15 reserved (0)
--------V-6200C3-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_SVGAVER" - GET FASTGRAPH SVGA KERNEL VERSION
AX = 00C3h
ES:BX -> variable pointer record (see #2756)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00C1h,AX=00C2h
Format of FGDRIVER variable pointer record:
Offset Size Description (Table 2756)
00h WORD segment of WORD buffer for major version
02h WORD offset of WORD buffer for major version
04h WORD segment of WORD buffer for minor version (hundredths)
06h WORD offset of WORD buffer for minor version
--------V-6200C4-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_TCDEFINE" - DEFINE TRANSPARENCY OF COLOR INDEX
AX = 00C4h
BX = color index
CX = transparency (00h opaque, other transparent)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is ignored in text modes
SeeAlso: AX=00C5h,AX=00C6h
--------V-6200C5-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_TCMASK" - SET TRANSPARENT COLORS
AX = 00C5h
BX = colors to consider transparent (bit 0 = color 0, etc)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This call is ignored in text modes
The specified colors are considered transparent by "FG_TCXFER"
SeeAlso: AX=00C4h,AX=00C6h
--------V-6200C6-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_TCXFER" - COPY REGION EXCLUDING TRANSPARENT
AX = 00C6h
CX = source video page
DX = destination video page
ES:BX -> copy record (see #2757)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
Pixels which are in any of the colors defined as transparent with
"FG_TCMASK" (see AX=00C5h) are left unchanged in the destination
region
The source and destination regions must not overlap if they are located
on the same page
This call is ignored in text modes
SeeAlso: AX=00C4h,AX=00C5h,AX=00CAh
--------V-6200C7-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_TESTMODE" - CHECK IF VIDEO MODE AVAILABLE
AX = 00C7h
BX = desired video mode (00h-17h, also 18h-1Dh after "FG_SVGAINIT")
CX = required number of video pages (ignore memory size if <= 0)
Return: AX = status
0000h mode not available with requested number of pages
0001h mode is available
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0005h,AX=00B0h
--------V-6200C8-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_TEXT" - DISPLAY STRING OF CHARACTERS
AX = 00C8h
CX = length of string
ES:BX -> string
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The string is displayed starting at the text cursor position using the
current text attribute (text modes) or color index (graphics modes)
The text cursor position is updated after this call
SeeAlso: AX=000Ch,AX=0096h,AX=00C9h
--------V-6200C9-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_TEXTC" - DISPLAY STRING OF CHARACTERS (CLIPPED)
AX = 00C9h
CX = length of string
ES:BX -> string
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
The string is displayed starting at the text cursor position using the
current text attribute (text modes) or color index (graphics modes),
showing only the portion within the current clipping window
The text cursor position is updated after this call
SeeAlso: AX=00C8h
--------V-6200CA-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_TRANSFER" - COPY REGION
AX = 00CAh
CX = source video page
DX = destination video page
ES:BX -> copy record (see #2757)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
The source and destination regions must not overlap if they are located
on the same page
SeeAlso: AX=009Eh,AX=00A2h,AX=00A5h,AX=00C6h
Format of FGDRIVER copy record:
Offset Size Description (Table 2757)
00h WORD left edge column of source region
02h WORD right edge column of source region
04h WORD top edge row of source region
06h WORD bottom edge row of source region
08h WORD left edge of destination
0Ah WORD bottom edge of destination
--------V-6200CB-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_UNPACK" - EXPAND MODE-SPECIFIC BITMAP
AX = 00CBh
ES:BX -> variable pointer record (see #2758)
CX = size of source bitmap in bytes
Return: result buffer filled
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=0083h
Format of FGDRIVER UNPACK variable pointer record:
Offset Size Description (Table 2758)
00h WORD segment of source bitmap
02h WORD offset of source bitmap
04h WORD segment of buffer for resulting bitmap
06h WORD offset of buffer for resulting bitmap
--------V-6200CC-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBADDR" - GET ADDRESS OF VIRTUAL BUFFER
AX = 00CCh
BX = virtual buffer handle (0000h-001Fh)
Return: DX:AX -> virtual buffer
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00CDh,AX=00CEh,AX=00CFh,AX=00D3h
--------V-6200CD-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBALLOC" - CREATE VIRTUAL BUFFER
AX = 00CDh
BX = width of virtual buffer in pixels
CX = height in pixels
Return: AX = handle for virtual buffer, or
FFFEh out of memory
FFFFh virtual buffer table full
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00CCh,AX=00CEh,AX=00D0h,AX=00D1h,AX=00D2h,AX=00D4h
--------V-6200CE-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBCLOSE" - CLOSE ACTIVE VIRTUAL BUFFER
AX = 00CEh
Desc: close the active virtual buffer and direct further graphics to the
active video page
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00CCh,AX=00D1h,AX=00D4h,AX=00D5h,AX=00D9h
--------V-6200CF-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBCOPY" - COPY RECT BETWEEN VIRTUAL BUFFERS
AX = 00CFh
ES:BX -> variable record (see #2759)
CX = handle for source virtual buffer
DX = handle for destination virtual buffer
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
if the destination buffer is the same as the source buffer, the regions
must not overlap
SeeAlso: AX=00D0h,AX=00D1h,AX=00D4h,AX=00D6h,AX=00D7h
Format of FGDRIVER VBCOPY variable record:
Offset Size Description (Table 2759)
00h WORD source region's left edge
02h WORD source region's right edge
04h WORD source region's top edge
06h WORD source region's bottom edge
08h WORD X coordinate of destination's upper left corner
0Ah WORD Y coordinate of destination's upper left corner
--------V-6200D0-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBCUT" - COPY RECT FROM VIDEO TO VIRTUAL BUFFER
AX = 00D0h
BX = source region's left edge
CX = source region's right edge
DX = source region's top edge
SI = source region's bottom edge
DI = X coordinate of destination's upper left corner
ES = Y coordinate of destination's upper left corner
Desc: copy a rectangle from the active video page to the active virtual
buffer
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00CDh,AX=00CFh,AX=00D4h,AX=00D6h
--------V-6200D1-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBDEFINE" - CREATE VIRTUAL BUFFER
AX = 00D1h
ES:BX -> memory block for virtual buffer
CX = buffer width in pixels
DX = buffer height in pixels
Return: AX = virtual buffer handle
FFFFh on error
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
the application-provided buffer must be large enough to hold CX*DX
bytes
SeeAlso: AX=00CCh,AX=00CDh,AX=00CEh,AX=00D2h,AX=00D4h,AX=00D5h
--------V-6200D2-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBFREE" - RELEASE VIRTUAL BUFFER
AX = 00D2h
BX = virtual buffer handle
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
this function should be used only for buffers created with FG_VBALLOC
SeeAlso: AX=00CDh,AX=00D4h,AX=00D5h
--------V-6200D3-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBHANDLE" - GET ACTIVE VIRTUAL BUFFER'S HANDLE
AX = 00D3h
Return: AX = handle for active virtual buffer
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00CCh,AX=00D4h
--------V-6200D4-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBINIT" - INITIALIZE VIRTUAL BUFFER ENVIRONMENT
AX = 00D4h
Return: nothing
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
this function must be called before any other virtual buffer functions
are used
SeeAlso: AX=00CDh,AX=00D5h
--------V-6200D5-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBOPEN" - MAKE VIRTUAL BUFFER ACTIVE
AX = 00D5h
BX = virtual buffer handle
Return: AX = status
0000h successful
FFFEh no buffer defined for specified handle
FFFFh invalid buffer handle
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00CDh,AX=00CEh,AX=00D1h,AX=00D4h,AX=00D9h
--------V-6200D6-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBPASTE" - COPY RECT FROM VIRTUAL BUF TO VIDEO
AX = 00D6h
BX = source region's left edge
CX = source region's right edge
DX = source region's top edge
SI = source region's bottom edge
DI = X coordinate of destination's upper left corner
ES = Y coordinate of destination's upper left corner
Desc: copy a rectangle from the active virtual buffer to the active video
page
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00CFh,AX=00D0h,AX=00D4h,AX=00D7h
--------V-6200D7-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBTCCOPY" - COPY RECTANGLE BETWEEN VIRTUAL BUFS
AX = 00D7h
ES:BX -> variable record (see #2760)
CX = source virtual buffer's handle
DX = destination virtual buffer's handle
Desc: copy rectangle from one virtual buffer to another with transparent
colors
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
if the destination buffer is the same as the source buffer, the regions
must not overlap
SeeAlso: AX=00CFh,AX=00D0h,AX=00D6h,AX=00D8h
Format of FGDRIVER VBTCCOPY variable record:
Offset Size Description (Table 2760)
00h WORD source region's left edge
02h WORD source region's right edge
04h WORD source region's top edge
06h WORD source region's bottom edge
08h WORD X coordinate of destination region's upper left corner
0Ah WORD Y coordinate of destination region's upper left corner
--------V-6200D8-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBTCXFER" - COPY RECTANGLE TO ACTIVE VIDEO PAGE
AX = 00D8h
BX = source region's left edge
CX = source region's right edge
DX = source region's top edge
SI = source region's bottom edge
DI = X coordinate of destination's upper left corner
ES = Y coordinate of destination's upper left corner
Desc: copy a rectangle from the active virtual buffer to the active video
page, with transparent colors
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
SeeAlso: AX=00D6h,AX=00D7h
--------V-6200D9-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VBUNDEF" - RELEASE HANDLE FOR VIRTUAL BUFFER
AX = 00D9h
BX = virtual buffer handle
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
the specified handle must not reference the currently-active virtual
buffer
SeeAlso: AX=00D1h,AX=00D5h
--------V-6200DA-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VGASTATE" - SAVE/RESTORE VGA CONTROLLER STATE
AX = 00DAh
BX = direction (0000h save, else restore)
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723)
this function is only meaningful in modes 0Dh and above
--------V-6200DB-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VOICE" - START SOUND
AX = 00DBh
BX = channel on TI sound chip
1-3 = channels 1-3, 4 = channel 4 with periodic noise,
5 = channel 4 with white noise
CX = frequency in Hz (18-32767 for channels 1-3; 0=512 Hz, 1=1024 Hz,
2=2048 Hz for channels 4 and 5)
DX = volume
SI = duration in clock ticks (continuous if <= 0)
Program: FGDRIVER is the external video driver for the shareware
Fastgraph/Light by Ted Gruber Software
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is only available on the PCjr and Tandy 1000 machines
SeeAlso: AX=0080h,AX=00BCh,AX=00DCh
--------V-6200DC-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_VOICES" - PLAY SOUNDS IN BACKGROUND
AX = 00DCh
ES:BX -> tone array (see #2761)
CX = number of times to repeat tone array
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
This function is only available on the PCjr and Tandy 1000 machines
SeeAlso: AX=0059h,AX=0081h,AX=00BDh,AX=00DBh
Format of FGDRIVER tone array element:
Offset Size Description (Table 2761)
00h WORD channel number (0000h terminates array)
02h WORD frequency
04h WORD volume
06h WORD duration in 1/72.8 seconds
--------V-6200DD-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_WAITFOR" - DELAY FOR SPECIFIED DURATION
AX = 00DDh
BX = duration in clock ticks
Return: after delay elapses
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00BFh,INT 1A/AX=FF01h
--------V-6200DE-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_WAITKEY" - FLUSH KEYBOARD BUFFER AND AWAIT KEY
AX = 00DEh
Return: after next key pressed
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=000Ah,AX=0046h,AX=0063h,AX=0069h,INT 16/AH=00h
--------V-6200DF-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_WAITVR" - ENABLE/DISABLE VERTICAL RETRACE WAIT
AX = 00DFh
BX = new state (0000h disabled, 0001h enabled)
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
--------V-6200E0-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_WHERE" - GET CURRENT CURSOR POSITION
AX = 00E0h
ES:BX -> variable pointers (see #2762)
Return: indicated variables filled with cursor row and column for active
display
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=0054h,AX=0058h,AX=006Bh,AX=007Eh
Format of FGDRIVER variable pointers:
Offset Size Description (Table 2762)
00h WORD segment of WORD buffer for cursor row
02h WORD offset of WORD buffer for cursor row
04h WORD segment WORD buffer for cursor column
06h WORD offset WORD buffer for cursor column
--------V-6200E1-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_XALPHA" - CONVERT SCREEN COLUMN TO CHAR COLUMN
AX = 00E1h
BX = screen space column
Return: AX = character space column containing specified coordinate
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00E2h,AX=00E4h
--------V-6200E2-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_XCONVERT" - CONVERT CHAR COLUMN TO SCREEN COL
AX = 00E2h
BX = character space column
Return: AX = screen space column of leftmost pixel in specified character col
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00E2h,AX=00E5h
--------V-6200E3-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_XVIEW" - CONVERT VIEWPORT COORDINATE
AX = 00E3h
BX = horizontal viewport coordinate
Return: AX = screen space X coordinate corresponding to supplied coordinate
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
if no viewport has been defined, the returned coordinate will be the
same as the viewport coordinate
SeeAlso: AX=00E2h,AX=00E6h
--------V-6200E4-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_YALPHA" - CONVERT SCREEN ROW TO CHARACTER ROW
AX = 00E4h
BX = screen space row
Return: AX = character space row containing specified coordinate
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00E1h,AX=00E5h
--------V-6200E5-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_YCONVERT" - CONVERT CHARACTER ROW TO SCREEN ROW
AX = 00E5h
BX = character space row
Return: AX = screen space row of topmost pixel in specified character row
Note: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
SeeAlso: AX=00E2h,AX=00E4h,AX=00E6h
--------V-6200E6-----------------------------
INT 62 u - FGDRIVER v4.02 - "FG_YVIEW" - TRANSLATE VERTICAL VIEWPORT COORDINATE
AX = 00E6h
BX = viewport Y coordinate
Return: AX = screen space row for viewport coordinate
Program: FGDRIVER is the external video driver for the shareware
Fastgraph/Light by Ted Gruber Software
Notes: the FGDRIVER functions are rearranged with each major release, but
their parameters do not change (see #2723 at AX=0000h)
if no viewport has been defined, the returned coordinate will be the
same as the viewport coordinate
SeeAlso: AX=00E3h,AX=00E5h
--------T-6201-------------------------------
INT 62 - Cswitch - GIVE UP REST OF TIME-SLICE
AH = 01h
Program: Cswitch is a set of multitasking functions by Herb Rose
SeeAlso: AH=05h"Cswitch",AH=06h"Cswitch",INT 15/AX=1000h,INT 2F/AX=1680h
--------N-6201-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
AH = 01h
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6202-------------------------------
INT 62 - Cswitch - WAIT FOR SEMAPHORE
AH = 02h
DX = semaphore number (0-63)
Return: AX = FFFFh bad semaphore number
else success
SeeAlso: AH=03h"Cswitch",AH=04h"Cswitch"
--------N-6202-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - INITIALIZE
AH = 02h
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=00h"ETHDEV",AH=03h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"
--------T-6203-------------------------------
INT 62 - Cswitch - CHECK SEMAPHORE
AH = 03h
DX = semaphore number (0-63)
Return: AX = status
FFFFh not owned
else owned
SeeAlso: AH=02h,AH=04h
--------N-6203-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET REAL IP ADDRESS
AH = 03h
DS:SI -> DWORD buffer for IP address
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6204-------------------------------
INT 62 - Cswitch - TRIGGER SEMAPHORE
AH = 04h
DX = semaphore number (0-63)
Return: AX = status
FFFFh bad semaphore number
else success
SeeAlso: AH=02h"Cswitch",AH=03h"Cswitch"
--------N-6204-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
AH = 04h
BX = ???
ES:SI -> FAR routine for ???
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6205-------------------------------
INT 62 - Cswitch - SLEEP
AH = 05h
BX = seconds to sleep
SeeAlso: AH=01h"Cswitch",AH=06h"Cswitch",AH=08h"Cswitch"
--------N-6205-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 05h
???
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6206-------------------------------
INT 62 - Cswitch - SUSPEND
AH = 06h
SeeAlso: AH=05h"Cswitch",AH=08h"Cswitch"
--------N-6206-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 06h
???
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6207-------------------------------
INT 62 - Cswitch - SPAWN
AH = 07h
ES:BX -> function address to start executing at
CX = priority (1-10)
Return: AX = result/status
FFFDh no free memory control blocks
FFFEh no free task control blocks
FFFFh not enough memory to create new task stack
>0 the tcb number of the new task, indicating no error
SeeAlso: AH=0Fh"Cswitch",AH=10h"Cswitch"
--------N-6207-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 07h
DS:SI -> ???
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6208-------------------------------
INT 62 - Cswitch - WAKE UP TASK
AH = 08h
BX = tcb identifier
SeeAlso: AH=05h,AH=06h
--------N-6208-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 08h
CX = ???
ES:SI -> ??? buffer (see #2763)
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
Format of BW-TCP ??? buffer:
Offset Size Description (Table 2763)
00h 6 BYTEs hardware address???
06h 6 BYTEs ???
0Ch WORD ???
0Eh WORD ???
----------6208--CXFFFE-----------------------
INT 62 - MS SQL Server/Sybase DBLIBRARY interface - UNINSTALL/GET PSP ADDR
AH = 08h
CX = FFFEh
DX = FFFFh
Return: AX = PSP address of resident DBLIBRARY
Note: this call does not free the memory allocated to the TSR; the calling
code must do the deallocation.
SeeAlso: INT 62"DBLIBRARY"
--------T-6209-------------------------------
INT 62 - Cswitch - SET PRIORITY
AH = 09h
BX = new base priority (1-10)
Note: the lower the priority is numerically, the more often the task will run
--------N-6209-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - HOOK TIMER INTERRUPT
AH = 09h
Return: CF clear if successful
AX = handler ID
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=0Ah"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-620A-------------------------------
INT 62 - Cswitch - TEST MESSAGE QUEUE
AH = 0Ah
DX = queue number (0-63)
Return: AX = result/message size
0000h nothing on queue
FFFFh bad queue number
else number of bytes in first message in queue
SeeAlso: AH=0Bh"Cswitch",AH=0Ch"Cswitch"
--------N-620A-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - UNHOOK TIMER INTERRUPT
AH = 0Ah
DX = handler ID
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=09h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-620B-------------------------------
INT 62 - Cswitch - SEND MESSAGE
AH = 0Bh
CX = number of bytes to write
DS:SI -> buffer
DX = queue number (0-63)
Return: AX = result/message size
0000h no message was on queue
FFFEh triggered by something arriving, redo the call
FFFFh bad queue number
else number of bytes in message
SeeAlso: AH=0Ah"Cswitch",AH=0Ch"Cswitch"
--------N-620B-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ADD ???
AH = 0Bh
AL = ???
DX = ???
BP = ???
ES:SI -> ???
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=0Ch"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-620C-------------------------------
INT 62 - Cswitch - READ MESSAGE
AH = 0Ch
CX = number of bytes to read
DS:SI -> buffer
DX = queue number (0-63)
Return: AX = status
FFFFh bad queue number
else number of bytes transferred
SeeAlso: AH=0Ah,AH=0Bh
--------N-620C-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - REMOVE ???
AH = 0Ch
DX = ???
BP = ???
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=0Bh"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-620D-------------------------------
INT 62 - Cswitch - DON'T ALLOW TASK TO BE SWAPPED OUT
AH = 0Dh
SeeAlso: AH=0Eh"Cswitch"
--------N-620D-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - NOP for ETHDEV.ODI
AH = 0Dh
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-620E-------------------------------
INT 62 - Cswitch - ALLOW TASK TO BE SWAPPED OUT
AH = 0Eh
SeeAlso: AH=0Dh"Cswitch"
--------N-620E-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - BEGIN CRITICAL SECTION
AH = 0Eh
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=0Fh"ETHDEV",AH=10h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"
--------T-620F-------------------------------
INT 62 - Cswitch - LOAD AND RUN PROGRAM FROM DISK
AH = 0Fh
ES:BX -> command line
CX = priority (1-10)
DX = background flag (nonzero allows loading to EMS)
Return: AX = status
0000h task loader queue is full
0001h no error
SeeAlso: AH=07h"Cswitch",AH=10h"Cswitch",AH=13h"Cswitch"
--------N-620F-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - END CRITICAL SECTION
AH = 0Fh
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=0Eh"ETHDEV",AH=10h"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"
--------T-6210-------------------------------
INT 62 - Cswitch - TERMINATE SPAWNED PROGRAM
AH = 10h
SeeAlso: AH=07h"Cswitch",AH=0Fh"Cswitch"
--------N-6210-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - QUERY CRITICAL SECTION
AH = 10h
Return: CF clear if no critical section active
CF set if in critical section
SeeAlso: AH=0Eh"ETHDEV",AH=0Fh"ETHDEV",AH=FEh,INT 21/AH=3Fh"BW-TCP"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h"BW-TCP",INT 64/AH=01h"BW-NFS"
--------T-6211-------------------------------
INT 62 - Cswitch - GET TCB INFORMATION
AH = 11h
ES:BX -> a pointer which will be set to the tcb address
Return: AX = tcb indentifier
SeeAlso: AH=12h
--------N-6211-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - SET ???
AH = 11h
ES:SI -> ???
Return: CF clear
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6212-------------------------------
INT 62 - Cswitch - GET TCB ADDRESS
AH = 12h
ES:BX -> a pointer which will be set to the tcb table address
Return: AX = tcb indentifier
SeeAlso: AH=11h"Cswitch"
--------N-6212-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET SOCKET NUMBER???
AH = 12h
Return: CF clear if successful
AX = socket number??? (memory variable incremented after reading)
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Note: the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------T-6213-------------------------------
INT 62 - Cswitch - CHECK STATUS OF PREVIOUS LOAD_TASK
AH = 13h
Return: AX = result
FFFCh no Memory Control Blocks available
FFFDh no TCBs available
FFFEh insufficient memory
FFFFh cannot open file
0000h load in progress (not done yet)
else tcb indentifier
SeeAlso: AH=0Fh
--------N-6213-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 13h
CX = ???
Return: CF clear if successful
AL = 00h
CF set on error
AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------N-6214-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 14h
ES:SI -> ???
Return: CF clear if successful
AL = 00h
CF set on error
AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------N-6215-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - GET ???
AH = 15h
Return: CF clear if successful
AX = ??? (destroyed???)
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Notes: call this function after reading the "ETHDEV27" device
the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
INT 64/AH=01h"BW-NFS"
--------N-6216-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 16h
???
Return: CF clear if successful
CF set on error
AL = error code
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------N-6217-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ???
AH = 17h
DX = segment of ???
Return: CF clear
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=24h"BW-TCP"
SeeAlso: INT 64/AH=01h"BW-NFS"
--------N-6218-------------------------------
INT 62 - BW-TCP - HW DRIVER (ETHDEV.SYS) - ALLOCATE AND MAP EMS FOR DRIVER
AH = 18h
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Notes: calls function 17h after EMS allocated and mapped
the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: AH=FEh,INT 21/AH=3Fh"BW-TCP",INT 63/AH=03h"BW-TCP",INT 63/AH=24h
SeeAlso: INT 64/AH=01h"BW-NFS"
--------R-6247-------------------------------
INT 62 - PC Tools v7 COMMUTE - ???
AH = 47h
AL = subfunction (00h-31h)
???
CF set
Return: ???
Program: COMMUTE is a remote-control program bundled with Central Point
Software's PC Tools
--------R-6248-------------------------------
INT 62 - PC Tools v7 COMMUTE - ???
AH = 48h
AL = ???
???
CF set
Return: ???
--------R-6249-------------------------------
INT 62 - PC Tools v7 COMMUTE - ???
AH = 49h
???
CF set
Return: ???
Note: may be the same as AH=4Ch
--------R-624A-------------------------------
INT 62 - PC Tools v7 COMMUTE - ???
AH = 4Ah
AL = subfunction (00h-46h)
???
CF set
Return: ???
--------R-624B--BX1234-----------------------
INT 62 - PC Tools v7 COMMUTE - ???
AH = 4Bh
BX = 1234h
CX = 1234h
ES = ???
CF set
Return: ???
Program: COMMUTE is a remote-control program bundled with Central Point
Software's PC Tools
--------R-624C-------------------------------
INT 62 - PC Tools v7 COMMUTE - ???
AH = 4Ch
BL = subfunction
00h ???
02h ???
Return: CF clear if successful
CF set on error
--------R-626262-----------------------------
INT 62 - PC Tools v7 COMMUTE - INSTALLATION CHECK
AX = 6262h
CF set
Return: AX = 0000h
BX = segment of resident code's PSP
Program: COMMUTE is a remote-control program bundled with Central Point
Software's PC Tools
--------s-62C0-------------------------------
INT 62 U - GWBTSR - API
AH = C0h
AL = function
00h installation check
Return: AX = 00FFh if installed
01h ???
Program: GWBTSR is a huge (48K) resident mixer controller for the Gateway 2000
sound card (OEM version of Aztech Sound Galaxy)
Index: installation check;GWBTSR
--------N-62FE-------------------------------
INT 62 - BW-TCP - ETHDRV.SYS - MAP EMS PAGE FRAME
AH = FEh
AL = direction
00h map in driver's memory block
01h map out driver's memory block
Return: CF clear if successful
CF set on error
AL = error code
Range: INT 4C to INT FB, selected by configuration
Notes: this function is supported by at least the SLIP and ODI versions of
ETHDEV.SYS
the Beame&Whiteside TCP/IP protocol stack uses two consecutive
interrupts (62h and 63h by default); the BW-NFS client uses a third
consecutive interrupt (64h by default) if it is loaded
SeeAlso: INT 21/AH=3Fh"BW-TCP",INT 62/AH=00h"ETHDEV",INT 62/AH=18h"ETHDEV"
SeeAlso: INT 63/AH=03h"BW-TCP",INT 63/AH=24h,INT 64/AH=FEh
--------!---Section--------------------------