Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-51-60

Table des matières

MSDOS - Interrupt List 51h-60h

INT 51

INT 51 - through 53 - IRQ1-IRQ3 relocated by DESQview

Note: this is the default location for older versions; see INT 50“DESQview”

  for details of interrupt relocation

SeeAlso: INT 50“DESQview”,INT 54“DESQview”,INT 58“DESQview”

INT 51 - through 53 - IRQ1-IRQ3 relocated by IBM 3278 emulation control program

SeeAlso: INT 50“IBM 3278”,INT 54“IBM 3278”

INT 51 - through 53 - IRQ1-IRQ3 relocated by OS/2 v1.x

SeeAlso: INT 50“OS/2”,INT 54“OS/2”

INT 53 - ??? - API

BX = function
    0000h ???
    	AX = ???
	Return: AX = ???
    0004h ???
    0009h ???
    0015h
    	AX = ???
	DX = ???
    0017h

Return: ??? Notes: the installation check consists of looking for the signature “WEBCO”

  immediately prior to the interrupt handler
the above calls are made by Show Partner F/X v3.6 (see INT 10/AH=53h)

INT 54

INT 54 - through 57 - IRQ4-IRQ7 relocated by DESQview

Note: this is the default location for older versions; see INT 50“DESQview”

  for details of interrupt relocation

SeeAlso: INT 50“DESQview”,INT 58“DESQview”

INT 54 - through 57 - IRQ4-IRQ7 relocated by IBM 3278 emulation control program

SeeAlso: INT 51“IBM 3278”

INT 54 - through 57 - IRQ4-IRQ7 relocated by OS/2 v1.x

SeeAlso: INT 51“OS/2”

INT 58

INT 58 - IRQ8 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT 50“DESQview”,INT 70

INT 58 - IRQ0 relocated by DoubleDOS

SeeAlso: INT 08

===== INT 59 ====:

INT 59 - IRQ9 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT 50“DESQview”,INT 71

INT 59 - IRQ1 relocated by DoubleDOS

SeeAlso: INT 09 ———-59———————————

INT 59 - GSS Computer Graphics Interface (GSS*CGI)

DS:DX -> block of 5 array pointers

Return: CF set on error

    AX = error code
CF clear if successful
    AX = return code

Note: INT 59 is the means by which GSS*CGI language bindings communicate with

  GSS*CGI device drivers and the GSS*CGI device driver controller.
also used by the IBM Graphic Development Toolkit

INT 5A

INT 5A - IRQ10 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT 50“DESQview”,INT 72

INT 5A - IRQ2 relocated by DoubleDOS

SeeAlso: INT 0A

INT 5A - Cluster adapter BIOS entry address

???

INT 5B - IRQ11 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT50“DESQview”,INT 73

INT 5B

INT 5B - IRQ3 relocated by DoubleDOS

SeeAlso: INT 0B

INT 5B - Used by cluster adapter

INT 5B - AT&T Starlan Extended NetBIOS (variable length names)

ES:BX -> Network Control Block (see below)

Return: AL = status (see INT 5C) SeeAlso: INT 5C

Format of Network Control Block Offset Size Description 00h BYTE ncb_command (see below) 01h BYTE ncb_retcode 02h BYTE ncb_lsn 03h BYTE ncb_num 04h DWORD → ncb_buffer 08h WORD ncb_length 0Ah 16 BYTEs ncb_callname 1Ah 16 BYTEs ncb_name 2Ah BYTE ncb_rto 2Bh BYTE ncb_sto 2Ch DWORD → ncb_post /* int (far *ncb_post)(); */ 30h BYTE ncb_lana_num 31h BYTE ncb_cmd_cplt 32h DWORD → ncb_vname 36h BYTE ncb_vnamelen 37h 9 BYTEs ncb_reserve Note: fields 00h-31h are the same as for a standard NetBIOS NCB (see INT 5C)

Values for ncb_command field same as for INT 5C, except

70h	send net Break

INT 5B - Microsoft Network Transport Layer Interface

Note: used by MS-NET for executing network commands SeeAlso: INT 5C“NetBIOS”

INT 5B - used by Alloy NTNX

INT 5B - ISOLAN Multi Protocol Software

ES:BX -> Transfer Control Block

Return: AL - status Note: this software interface allows multiple protocols/software packages

  to access a BICC 411x network card

Format of Transfer Control Block: Offset Type Description 00h BYTE command code

	B3h Status
	F2h Activate
	F3h Deactivate
	F4h Send Data

01h BYTE command identity 02h BYTE virtual circuit ID 03h WORD buffer length 05h DWORD buffer pointer 09h BYTE expedited data flag 0Ah BYTE cancelable flag 0Bh 16 BYTEs local network address 1Bh 16 BYTEs remote network address 2Bh DWORD asynchronous notification routine 30h DWORD local network number 34h DWORD remote network number 38h BYTE call timeout 39h BYTE not used 3Ah 8 BYTEs reserved 42h BYTE command code extension 43h WORD Blue Book MAC type

INT 5C

INT 5C - IRQ12 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT 50“DESQview”,INT 74

INT 5C - IRQ4 relocated by DoubleDOS

SeeAlso: INT 0C

INT 5C - NetBIOS INTERFACE

ES:BX -> network control block (NCB) (see below)

Return: AL = status

    00h successful
    01h bad buffer size
    03h invalid NETBIOS command
    05h timeout
    06h receive buffer too small
    07h No-ACK command failed
    08h bad session number
    09h LAN card out of memory
    0Ah session closed
    0Bh command has been cancelled
    0Dh name already exists
    0Eh local name table full
    0Fh name still in use, can't delete
    11h local session table full
    12h remote PC not listening
    13h bad NCB_NUM field
    14h no answer to CALL or no such remote
    15h name not in local name table
    16h duplicate name
    17h bad delete
    18h abnormal end
    19h name error, multiple identical names in use
    1Ah bad packet
    21h network card busy
    22h too many commands queued
    23h bad LAN card number
    24h command finished while cancelling
    26h command can't be cancelled
    30h name defined by another process (OS/2)
    34h NetBIOS environment not defined, must issue reset (OS/2)
    35h required operating system resources exhausted (OS/2)
    36h maximum applications exceeded (OS/2)
    37h no SAPs available for NetBIOS (OS/2)
    38h requested resources not available (OS/2)
    40h Lana System Error
    41h Lana Remote Hot Carrier
    42h Lana Local Hot Carrier
    43h Lana No Carrier Detected
    44h unusual network condition
    45h-4Fh hardware error
    50h adapter malfunction
    FFh NetBIOS busy (command pending)

Note: Sytek PCnet card uses DMA 3. SeeAlso: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B

Format of Network Control Block: Offset Size Description 00h BYTE command code (see below) 01h BYTE return code 02h BYTE local session number (LSN) 03h BYTE “ncb_num” datagram table entry from ADD NAME 04h DWORD → I/O buffer 08h WORD length of data in buffer 0Ah 16 BYTEs remote system to call 1Ah 16 BYTEs network name of local machine 2Ah BYTE receive timeout in 1/2 seconds 2Bh BYTE send timeout in 1/2 seconds 2Ch DWORD → FAR post handler /* int (far *ncb_post)(); */ 30h BYTE network adapter number on which to execute command

	00h-03h IBM NetBIOS specs
	F0h-FFh Eicon NABios interface (see also INT 7B"Eicon")

31h BYTE command completion code (see returned status above) 32h 14 BYTEs reserved for network card

Values for command code field in NCB (or with 80h for non-waiting call):

10h start session with NCB_NAME name (call)
11h listen for call
12h end session with NCB_NAME name (hangup)
14h send data via NCB_LSN
15h receive data from a session
16h receive data from any session
17h send multiple data buffers
20h send unACKed message (datagram)
21h receive datagram
22h send broadcast datagram
23h receive broadcast datagram
30h add name to name table
31h delete name from name table
32h reset adapter card and tables
33h get adapter status (see structure "astatus" below)
34h status of all sessions for name (see structure "sstatus" below)
35h cancel
36h add group name to name table
48h send data and receive data (LAN Manager NETBEUI.DOS)
70h unlink from IBM remote program (no F0h function)
71h send data without ACK
72h send multiple buffers without ACK
72h UngermannBass Register (conflicts with above function)
73h UngermannBass SendNmc
74h UngermannBass Callniu
75h UngermannBass Calladdr
76h UngermannBass Listenaddr
77h UngermannBass SendPkt
78h find name
78h UngermannBass RcvPkt (conflicts with above function)
79h token-ring protocol trace
79h UngermannBass SendAttn (conflicts with above function)
7Ah UngermannBass RcvAttn
7Bh UngermannBass Listenniu
7Ch UngermannBass RcvRaw
7Dh UngermannBass SendNmc2

Format of structure “name”: Offset Size Description 00h 16 BYTEs “nm_name” symbolic name 10h BYTE “nm_num” number associated with name 11h BYTE nm_status

Format of structure “astatus”: Offset Size Description 00h 6 BYTEs as_id 06h BYTE as_jumpers 07h BYTE as_post 08h BYTE as_major 09h BYTE as_minor 0Ah WORD as_interval 0Ch WORD as_crcerr 0Eh WORD as_algerr 10h WORD as_colerr 12h WORD as_abterr 14h DWORD as_tcount 18h DWORD as_rcount 1Ch WORD as_retran 1Eh WORD as_xresrc 20h 8 BYTEs as_res0 28h WORD as_ncbfree 2Ah WORD as_ncbmax 2Ch WORD as_ncbx 2Eh 4 BYTEs as_res1 32h WORD as_sespend 34h WORD as_msp 36h WORD as_sesmax 38h WORD as_bufsize 3Ah WORD as_names 3Ch 16 name structures as_name

Format of structure “sstatus”: Offset Size Description 00h BYTE number of sessions being reported 01h BYTE number of sessions with this name 02h BYTE number of outstanding receive datagrams 03h BYTE number of outstanding ReceiveAnys 04h var session structures (see below)

Format of structure “session”: Offset Size Description 00h BYTE local session number 01h BYTE state

	01h listen pending
	02h call pending
	03h session established
	04h hangup pending
	05h hangup done
	06h session aborted

02h 16 BYTEs local name 12h 16 BYTEs remote name 22h BYTE number of outstanding receives 23h BYTE number of outstanding sends/chainsends

INT 5C - TOPS INTERFACE

ES:BX -> Network Control Block

Note: TOPS card uses DMA 1, 3 or none.

INT 5C - ATALK.SYS - AppleTalk INTERFACE

DX:BX -> control block (see below)

Return: none Notes: this driver can use any interrupt from 5Ch to 70h

the signature 'AppleTalk' appears 16 bytes prior to the interrupt
  handler; this serves as the installation check

Format of AppleTalk control block: Offset Size Description 00h WORD command code

	01h "AT_INIT"	    initialize the driver
	02h "AT_KILL"
	03h "AT_GETNETINFO" get current network info incl init status
	04h "AT_GETCLOCKTICKS"
	05h "AT_STARTTIMER"
	06h "AT_RESETTIMER"
	07h "AT_CANCELTIMER"
	10h "LAP_INSTALL"
	11h "LAP_REMOVE"
	12h "LAP_WRITE"
	13h "LAP_READ"
	14h "LAP_CANCEL"
	20h "DDP_OPENSOCKET"
	21h "DDP_CLOSESOCKET"
	22h "DDP_WRITE"
	23h "DDP_READ"
	24h "DDP_CANCEL"
	30h "NBP_REGISTER"
	31h "NBP_REMOVE"
	32h "NBP_LOOKUP"
	33h "NBP_CONFIRM"
	34h "NBP_CANCEL"
	35h "ZIP_GETZONELIST"
	36h "ZIP_GETMYZONE"
	37h "ZIP_TAKEDOWN"
	38h "ZIP_BRINGUP"
	40h "ATP_OPENSOCKET"
	41h "ATP_CLOSESOCKET"
	42h "ATP_SENDREQUEST"
	43h "ATP_GETREQUEST"
	44h "ATP_SENDRESPONSE"
	45h "ATP_ADDRESPONSE"
	46h "ATP_CANCELTRANS"
	47h "ATP_CANCELRESPONSE"
	48h "ATP_CANCELREQUEST"
	50h "ASP_GETPARMS"
	51h "ASP_CLOSESESSION"
	52h "ASP_CANCEL"
	53h "ASP_INIT"
	54h "ASP_KILL"
	55h "ASP_GETSESSION"
	56h "ASP_GETREQUEST"
	57h "ASP_CMDREPLY"
	58h "ASP_WRTCONTINUE"
	59h "ASP_WRTREPLY"
	5Ah "ASP_CLOSEREPLY"
	5Bh "ASP_NEWSTATUS"
	5Ch "ASP_ATTENTION"
	5Dh "ASP_GETSTATUS"
	5Eh "ASP_OPENSESSION"
	5Fh "ASP_COMMAND"
	60h "ASP_WRITE"
	61h "ASP_GETATTENTION"
	70h "PAP_OPEN"
	71h "PAP_CLOSE"
	72h "PAP_READ"
	73h "PAP_WRITE"
	74h "PAP_STATUS"
	75h "PAP_REGNAME"
	76h "PAP_REMNAME"
	77h "PAP_INIT"
	78h "PAP_NEWSTATUS"
	79h "PAP_GETNEXTJOB"
	7Ah "PAP_KILL"
	7Bh "PAP_CANCEL"
	
	or with the following flags
	8000h start command then return
	4000h wait for interrupt service to complete

02h WORD returned status

	0000h success (already initialized if func 01h)

04h DWORD pointer to completion function 08h WORD network number 0Ah BYTE node ID —if general func (01h,03h), control block continues: 0Bh BYTE “inf_abridge” 0Ch WORD “inf_config” 0Eh DWORD pointer to buffer 12h WORD buffer size —if DDP function (20h-24h), control block continues: 0Bh BYTE “ddp_addr_socket” 0Ch BYTE “ddp_socket” 0Dh BYTE “ddp_type” 0Eh DWORD pointer to buffer 12h WORD buffer size 14h BYTE “ddp_chksum” —if Name Binding Protocol (30h-34h), control block continues: 0Bh BYTE “nbp_addr_socket” 0Ch WORD “nbp_toget” 0Eh DWORD pointer to buffer 12h WORD buffer size 14h BYTE “nbp_interval” 15h BYTE “nbp_retry” 16h DWORD “nbp_entptr” —if AppleTalk Transaction Protocol (42h), control block continues: 0Bh BYTE “atp_addr_socket” 0Ch WORD “atp_socket” 0Eh DWORD pointer to buffer 12h WORD buffer size 14h BYTE “atp_interval” 15h BYTE “atp_retry” 16h BYTE ATP flags

	bit 5: exactly one transaction

17h BYTE “atp_seqbit” 18h BYTE transaction ID 19h 4 BYTEs ATP user bytes 1Dh BYTE number of BDS buffers 1Eh BYTE number of BDS responses 1Fh DWORD pointer to BDS buffers (see below)

Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP: Offset Size Description 00h WORD “tup_address_network” 02h BYTE “tup_address_notid” 03h BYTE “tup_address_socket” 04h BYTE “tup_enum” 05h 99 BYTEs name

Format of BDS entries: Offset Size Description 00h DWORD pointer to buffer 04h WORD size of buffer 06h WORD BDS data size 08h 4 BYTEs “bds_userbytes”

INT 5C - IBM 802.2 INTERFACE (LLC)

ES:BX -> CCB

Return: none

Format of CCB: Offset Size Description 00h BYTE adapter 01h BYTE command code 02h BYTE return code 03h BYTE work 04h DWORD pointer to ??? 08h DWORD pointer to completion function??? 0Ch DWORD pointer to parameters???

INT 5C - $25 LAN - INSTALLATION CHECK

Notes: current versions only check whether the vector is 0000h:0000h or not

future versions are supposed to have the signature "NET" in the three
  bytes preceding the INT 5C handler

INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE

AH = 04h
AL = COM port (0 = default)
CX = wait count in character times (should be at least 100)

Return: ZF set if link alive

INT 5D - IRQ13 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT 50“DESQview”,INT 75

INT 5D - IRQ5 relocated by DoubleDOS

SeeAlso: INT 0D,INT 5C“DoubleDOS”

INT 5E

INT 5E - IRQ14 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT 50“DESQview”,INT 76

INT 5E - IRQ6 relocated by DoubleDOS

SeeAlso: INT 0E,INT 5D“DoubleDOS”

INT 5F

INT 5F - IRQ15 relocated by DESQview 2.26+

Note: this is the default, but other INTs may be used (see INT 50“DESQview”) SeeAlso: INT 50“DESQview”,INT 77

INT 5F - IRQ7 relocated by DoubleDOS

SeeAlso: INT 0F,INT 5E“DoubleDOS”

INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET VIDEO MODE

AH = 00h
AL = video mode
    07h text, system manager compliant
    20h 240x128 mono graphics, system manager compliant
    87h text, not system manager compliant
    A0h 240x128 mono graphics, not system manager compliant

Note: the defaults after setting the mode to graphics are (0,0) logical

  origin, full-screen clip region, (0,0) pen location, pen color 1,
  pixel replacement FORCE, line type and fill mask all bits set

SeeAlso: INT 0F“HP 95LX”,INT 10/AH=00h,INT 15/AX=4DD4h

INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET FILL MASK

AH = 01h
ES:DI -> 8-byte fill mask

Note: the fill mask represents an 8×8 pixel box and is repeated as necessary

  when drawing filled rectangles; it is always aligned with the byte
  boundaries of video memory, regardless of the actual boundaries of
  the rectangle

SeeAlso: AH=02h

INT 5F - HP 95LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFORMATION

AH = 02h
ES:DI -> graphics info record (see below)

Return: DX:AX → filled graphics info record (for return to high-level langs) Format of graphics info record: Offset Size Description 00h BYTE current video mode 01h BYTE default video mode 02h WORD display width in pixels 04h WORD display height in pixels 06h WORD current pen column 08h WORD current pen row 0Ah WORD current line type 0Ch WORD current replacement rule 0Eh WORD current pen color 10h WORD current leftmost column of clip region 12h WORD current rightmost column of clip region 14h WORD current topmost row of clip region 16h WORD current bottommost row of clip region 18h WORD current column of logical origin 1Ah WORD current row of logical origin 1Ch 8 BYTEs current fill mask

INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN

AH = 03h
CX = column
DX = row

SeeAlso: AH=04h

INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET CLIP REGION

AH = 04h
CX = left-most column
DX = top-most row
SI = right-most column
DI = bottom-most row

SeeAlso: AH=03h

INT 5F - HP 95LX GRAPHICS PRIMITIVES - DRAW RECTANGLE

AH = 05h
AL = fill type
    00h outline, using current line type and color
    01h solid, using current color
    02h pattern, using current fill mask and color
DX,CX = row,column of other corner of rectangle

Note: the rectangle is drawn starting at the current pen position SeeAlso: AH=01h,AH=06h,AH=07h

INT 5F - HP 95LX GRAPHICS PRIMITIVES - DRAW LINE

AH = 06h
DX,CX = row,column of end point

Note: the line is drawn starting at the current pen position SeeAlso: AH=05h,AH=07h ———-5F07——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - PLOT POINT

AH = 07h
DX,CX = row,column of point

Note: also sets pen position to the specified point SeeAlso: AH=06h,AH=08h,AH=0Ch ———-5F08——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - MOVE PEN

AH = 08h
DX,CX = row,column of new pen position

SeeAlso: AH=07h,AH=09h ———-5F09——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET PEN COLOR

AH = 09h
AL = new color (00h = white, 01h = black)

SeeAlso: AH=08h,AH=0Ah,AH=0Bh ———-5F0A——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE

AH = 0Ah
AL = new replacement rule
    00h force
    01h AND
    02h OR
    03h XOR

SeeAlso: AH=01h,AH=09h,AH=0Bh ———-5F0B——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - SET LINE TYPE

AH = 0Bh
CX = new line type

Note: the line type specifies 16 bits which are repeated over and over while

  drawing the pixels of a line

SeeAlso: AH=09h,AH=0Ah ———-5F0C——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - GET PIXEL

AH = 0Ch
DX,CX = row,column of pixel to read

Return: AX = pixel color SeeAlso: AH=07h ———-5F0D——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - GET IMAGE

AH = 0Dh
DX,CX = row,column of first corner
BP,SI = row,column of second corner
ES:DI -> image buffer (see below)

Note: the specified corners are included in the saved image SeeAlso: AH=0Eh

Format of image buffer: Offset Size Description 00h WORD number of planes (always 01h on HP 95LX) 02h WORD number of bits/pixel (always 01h on HP 95LX) 04h WORD image width in pixels 06h WORD image height in pixels 08h N BYTEs image data

	requires (WIDTH+7)/8 * HEIGHT bytes

———-5F0E——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - PUT IMAGE

AH = 0Eh
AL = replacement rule
    bit 2: invert image before applying rule
    bits 1-0:  00 force
	       01 AND
	       10 OR
	       11 XOR
DX,CX = row,column of top left corner
ES:DI -> image buffer (see AH=0Dh)

Note: if the specified image does not fit completely on the screen, this call

  does nothing

SeeAlso: AH=0Dh ———-5F0F——————————- INT 5F - HP 95LX GRAPHICS PRIMITIVES - WRITE TEXT

AH = 0Fh
AL = rotate flag (if nonzero, rotate 90 degrees counter-clockwise)
DX,CX = row,column of first character's top left corner
ES:DI -> ASCIZ text

INT 60 - reserved for user interrupt

INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK

The “Zero Bug” virus hooks this vector.

It considers itself installed if offset 103h of the handler's segment contains the bytes “ZE”

SeeAlso: INT 32,INT 61“SEMTEX”

INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA

SeeAlso: INT 61“Adaptec”,INT 62“Adaptec”,INT 63“Adaptec”,INT 64“Adaptec”

this vector stores the first four bytes of the parameter table for hard disk 0

these vectors are used by the following Adaptec controllers:

  • ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16

these vectors are NOT used by the following Adaptec controllers:

  • ACB 2310, ACB 2312, ACB 2320D, ACB 2322D

INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS

supplies a number of subfunctions which perform such functions as drawing boxes and menus, and provide input line editing

SeeAlso: INT 61“Atari”

INT 60 - PC-IPC API

	STACK:	DWORD	pointer to parameter block (see below)
Return: STACK:	unchanged

PC-IPC is a shareware TSR by Donnelly Software Engineering which allows communication between independent programs

INT 60 is the default, any interrupt vector may be used by specifying the vector on the commandline

Format of parameter block:

Offset Size Description
00h WORD caller's ID
02h WORD to ID
04h WORD command code (see below)
06h WORD returned status
* bit 0: unused
* bit 1: IPC enabled
* bit 2: IPC installed
* bit 3: error
* bit 4: message(s) available
08h WORD returned error code (see below)
0Ah WORD size of data
0Ch DWORD pointer to data buffer

Values of command code:

01h “IPC_CMND_INQUIRE” inquire current status
set status field, writes WORD to data buffer containing free message space in bytes, and sets the “size” field to the number of messages waiting
02h “IPC_CMND_ENABLE” reenable PC-IPC
ignored unless called with the same ID that disabled PC-IPC
03h “IPC_CMND_DISABLE” disable PC-IPC
04h “IPC_CMND_INSTALL” reset PC-IPC
06h “IPC_CMND_RDATA” read data
returns first message in data buffer, sets “size” to message length and “to ID” field to sender's ID
if no messages available, bit 4 of status is cleared and “size” is set to zero
07h “IPC_CMND_SDATA” send data
08h “IPC_CMND_REQID” require user ID
create a new recognized ID and return in “caller's ID” field
09h “IPC_CMND_DELID” cancel user ID
delete caller's ID from pool of recognized IDs
0Ah “IPC_CMND_RDATAW” read data, wait if no messages available
0Bh “IPC_CMND_VERS” get PC-IPC version
string representing version returned in data buffer, “size” field set to length of string

Values for error code:

00h no error
01h invalid command or parameter
02h only process 0 can install/reset IPC
03h process can not install/reset IPC
04h IPC is not enabled
05h process can not disable IPC
06h invalid destination process ID
07h invalid sending process ID
08h invalid data destination
09h no more process IDs available
0Ah can not relinquish that process ID
0Bh message space is full
0Ch IPC is not installed

INT 60 - Tangram Arbiter - API

Notes: Arbiter may use any interrupt from 60h to 66h (parameterized)

identified by string "@ARB_API" immediately following a short jump at
  the interrupt handler address
Arbiter makes a PC disk look like a slow disk over an SNA link to an
  IBM mainframe

INT 60 U - INTRSPY/CMDSPY API

Notes: INTRSPY will hook the first available interrupt in the range 60h-67h.

The installation check is to 
  a) determine that the handler is an IRET instruction
  b) the signature 0Dh "INTRSPY vN.NN" immediately precedes the handler
  If INTRSPY is installed, the DWORD immediately after the IRET stores
  its entry point.
INTRSPY is a script-driven debugger included with the book
  _Undocumented_DOS_.

Call INTRSPY entry point with:

AH = function
    00h ???
    01h set current directory (for use in reporting)
	ES:DI -> counted string containing directory name (max 79 char)
    02h set name of script file
	ES:DI -> counted string containing file name (max 79 chars)
    03h set script arguments
	ES:DI -> counted string containing arguments (max 79 chars)
    04h get directory set with function 01h
	ES:DI -> 80-byte buffer for directory name
    05h get name of script file
	ES:DI -> 80-byte buffer for script filename
    06h get script arguments
	ES:DI -> 80-byte buffer for script arguments
    07h get ???
	CL = 00h-15h specifies what to get
	ES:DI -> WORD to be set with desired value on return
    08h get ???
	ES:DI -> WORD to be set with returned value
    09h get ???
	ES:DI -> WORD to be set with returned value
    0Bh store code for interrupt handler???
	ES:DI -> data
	CX = number of bytes
    0Ch ???
	ES:DI -> ???
    0Dh get ???
	ES:DI -> BYTE to be set with returned value
    0Eh set ??? flag
    0Fh clear ??? flag
    10h ???
	Return: AL = 04h or 05h if failed
    11h ???
	Return: AL = 05h if failed
    12h get ???
	ES:DI -> buffer
	Return: CX = number of bytes returned in buffer
    13h ???

Return: AH = 00h

AL = status
    00h successful
    01h invalid function
    02h ???
    03h ???
    04h ???
    05h ???

INT 60 U - PC/370 v4.2 - ???

???

Return: ??? Notes: PC/370 is an IBM 370 emulator by Donald S. Higgins

this is the default interrupt, however the documentation includes
  instructions for patching the system for another interrupt

SeeAlso: INT 2F/AX=7F24h,INT DC“PC/370”

INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP

SeeAlso: INT 61“JPI”

INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification

The handler for the interrupt will start with a 3-byte jump instruction, followed by the ASCIZ string “PKT DRVR” (the terminating NUL is significant).

To find the interrupt being used by the driver, an application should scan through interrupt vectors 60h to 80h (20h through FFh for v1.10+ of the specification) until it finds one with the “PKT DRVR” string.

AH values of 80h to FFh have been reserved for user-defined additions.

INT 60 u - HP 95LX System Manager - WAIT FOR EVENT

DI = 0100h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to event record (see below)

Return: event record filled

STACK unchanged

Note: this call will timeout after about 500ms SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0101h,INT 61“HP 95LX”,INT 62“HP 95LX”

Format of event record: Offset Size Description 00h WORD event type 00h no events

	01h keystroke available
	02h Ctrl-Break
	03h reactivation (always follows deactivation event)
	04h about to deactivate (sleep)
		next get-event call will not return until reactivated
	05h forced application termination
	06h 1-2-3 bridge service request (only given to  1-2-3)
	07h request to grow
	08h request to shrink
	09h application's alarm expired
	0Ah daily chance to set an alarm
	0Bh system date or time has been changed

02h WORD ASCII code page 850 translation of keystroke or grow/shrink amount in paragraphs or 0000h if error or alarm expiration data 04h BYTE scan code from BIOS 05h BYTE shift key states at time keystroke is retrieved 06h WORD LICS translation of keystroke 08h BYTE function key number (1-2-3 only) 09h DWORD pointer to 1-2-3 bridge record (see INT 60/DI=0104h) or pointer to time change structure (see below) Note: if the System Manager is waiting the conclusion of a bridge service

  or grow/shrink call and the event type field is set to FFFFh on
  entry, the SysMgr will resume

Format of time change structure: Offset Size Description 00h WORD old year 02h BYTE old month 03h BYTE old date 04h BYTE old day 05h BYTE old hour 06h BYTE old minute 07h BYTE old second 08h BYTE old hundredth of a second 09h 9 BYTEs new time in same format as old time ———-60—-DI0101———————– INT 60 u - HP 95LX System Manager - CHECK FOR EVENT

DI = 0101h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD pointer to event record (INT 60/DI=0100h)

Return: event record filled

STACK unchanged

Note: this call returns immediately if no event is available SeeAlso: INT 60/DI=0100h ———-60—-DI0102———————– INT 60 u - HP 95LX System Manager - “SH_STATUS”

DI = 0102h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

———-60—-DI0104———————– INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES

DI = 0104h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD pointer to bridge record (see below)

Return: ???

STACK unchanged

Format of bridge record: Offset Size Description 00h WORD function code 00h test

	01h get range
	02h "GETRANGE_ADDR"
	03h "SETRANGE_ADDR"
	04h "GETRANGE_DATA"
	05h "SETRANGE_DATA"
	06h recalculate
	07h get cursor
	08h set cursor
	09h redisplay
	0Ah cell type
	0Bh "CALCTYPE"

02h WORD return code from 1-2-3 04h 16 BYTEs ASCII range name 14h WORD start column of range 16h WORD start row of range 18h WORD end column of range 1Ah WORD end row of range 1Ch WORD order in which data is placed in buffer 1Eh WORD buffer size 20h WORD offset within bridge record's segment of buffer for cell data ———-60—-DI0105———————– INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER

DI = 0105h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

INT 60 u - HP 95LX System Manager - YIELD CPU

DI = 0106h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=1000h,INT 2F/AX=1680h

INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST

DI = 0107h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX”

INT 60 u - HP 95LX System Manager - SETUP MENU

DI = 0200h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to menu data (see below)
	DWORD	pointer to ???
	WORD	number of items on menu???
	WORD	???
	DWORD	pointer to ???
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0201h,INT 60/DI=0203h,INT 60/DI=0205h

Format of menu data: Offset Size Description 00h 80 BYTEs first line of menu text 50h 80 BYTEs second line of menu text A0h 80 BYTEs third line of menu text F0h WORD number of keywords F2h WORD index of currently highlighted keyword or FFFFh F4h WORD single prompt on top line if nonzero F6h 20 BYTEs which line each of 20 keywords is located on 10Ah 20 BYTEs offset of each of 20 keywords within its line 11Eh 20 BYTEs length of each of 20 keywords 132h 20 BYTEs first letter of each of 20 keywords 146h 20 WORDs offsets of long prompts for each of 20 keywords ———-60—-DI0201———————–

INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU

DI = 0201h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to menu data (see INT 60/DI=0200h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0206h ———-60—-DI0202———————–

INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU

DI = 0202h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to menu data (see INT 60/DI=0200h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0200h,INT 60/DI=0201h,INT 60/DI=0203h ———-60—-DI0203———————–

INT 60 u - HP 95LX System Manager - REMOVE MENU

DI = 0203h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to menu data (see INT 60/DI=0200h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0201h,INT 60/DI=0202h,INT 60/DI=0204h,INT 60/DI=0208h

INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE

DI = 0204h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to menu data (see INT 60/DI=0200h)
	WORD	keystroke
	DWORD	pointer to WORD to receive selection number

Return: buffer for selection number filled with index of selected menu item or

  FFFFh if no final selection yet
STACK unchanged

SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0207h

INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU

DI = 0205h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file menu structure (see below)
	DWORD	pointer to edit record (see INT 60/DI=0400h)
	DWORD	pointer to wildcard filespec for initial file list
	WORD	row???
	WORD	column???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0200h,INT 60/DI=0206h,INT 60/DI=0208h

Format of file menu structure: Offset Size Description 00h DWORD pointer to ASCIZ base directory name 04h DWORD pointer to ASCIZ file pattern (wildcard filespec) 08h DWORD pointer to file list workspace, at least 1024 bytes (see below) 0Ch WORD size of file list workspace in bytes 0Eh WORD starting row (-3 is topmost, 0 is first non-“reserved” line) 10h WORD starting column 12h WORD number of lines 14h WORD number of columns 16h WORD number of files displayed on each line —the remaining fields are initialized by the System Manager— 18h WORD 0000h if first edit character, else multiline 1Ah WORD number of files in file list 1Ch WORD max files workspace has room for 1Eh WORD file at top of list 20h WORD index of file to highlight 22h WORD index of file to unhighlight 24h WORD current focus (01h FMENU, 02h EDIT)

Format of file list workspace entry: Offset Size Description 00h BYTE file attributes 01h WORD file time (see INT 21/AX=5700h) 03h WORD file date (see INT 21/AX=5700h) 05h DWORD file size 09h 13 BYTEs ASCIZ filename

INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU

DI = 0206h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file menu structure (see INT 60/DI=0205h)
	DWORD	pointer to edit record (see INT 60/DI=0400h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0205h

INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE

DI = 0207h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file menu structure (see INT 60/DI=0205h)
	DWORD	pointer to edit record (see INT 60/DI=0400h)
	WORD	keystroke

Return: AX = status

    0000h keystroke processed, call INT 60/DI=0206h to refresh menu
    0001h redisplay application area before refreshing menu
    0002h user confirmed selection, filename is in edit record's buffer
    0003h user aborted menu
    FFFBh bad filename
    FFFCh bad directory
    FFFDh bad drive
    FFFEh unknown keystroke
    FFFFh keystroke known but invalid in current context
STACK unchanged

SeeAlso: INT 60/DI=0205h,INT 60/DI=0208h

INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU

DI = 0208h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file menu structure (see INT 60/DI=0205h)
	DWORD	pointer to edit record (see INT 60/DI=0400h)

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0205h,INT 60/DI=0206h

INT 60 u - HP 95LX System Manager - DISPLAY STRING

DI = 0300h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	starting row (-3 is topmost, 0 is first user line)
	WORD	starting column
	DWORD	pointer to string
	WORD	length of string
	WORD	display style: 0000h normal, 0001h reverse video
	WORD	"OSTYLE"

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0F03h,INT 60/DI=1005h

INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN

DI = 0301h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	starting row (-3 is topmost, 0 is first user line)
	WORD	starting column
	WORD	number of rows
	WORD	number of columns

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0302h,INT 60/DI=1005h

INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN

DI = 0302h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	starting row???
	WORD	starting column???
	WORD	height of scroll region???
	WORD	width of scroll region???
	WORD	number of lines to scroll region???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0301h

INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"

DI = 0303h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???
	WORD	???
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"

DI = 0304h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"

DI = 0305h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"

DI = 0307h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"

DI = 0308h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

———-60—-DI0309———————– INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE

DI = 0309h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	new mode

Return: ???

STACK unchanged

———-60—-DI030A———————– INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE

DI = 030Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

———-60—-DI030B———————– INT 60 u - HP 95LX System Manager - SET CURSOR POSITION

DI = 030Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	row (-3 is topmost, 0 is first non-reserved line)
	WORD	column

Return: ???

STACK unchanged

Note: cursor is hidden if the specified position is not on the physical

  display

SeeAlso: INT 10/AH=02h,INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI0400———————– INT 60 u - HP 95LX System Manager - “EDIT_INIT”

DI = 0400h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to edit record (see below)
	DWORD	pointer to string to be edited
	WORD	initial length of string being edited
	WORD	maximum length of edited string
	WORD	row of edit field
	WORD	leftmost column of edit field

Return: ???

STACK unchanged

Format of edit record: Offset Size Description 00h WORD current length of edit buffer 02h BYTE flag for special processing on first character 03h BYTE flags bit 0: tab handling 04h WORD editing in prompt window? 06h DWORD pointer to top line of prompt window message 0Ah WORD length of top line of prompt 0Ch DWORD pointer to second line of prompt window message 10h WORD length of second line of prompt 12h 80 BYTEs workspace for editing 62h 2 WORDs line array needed for multi-line editing 66h 36 BYTEs multi-line edit record (see below) 8Ah WORD displayable columns

Format of multi-line edit record: Offset Size Description 00h DWORD pointer to user-supplied edit buffer 04h WORD length of edit buffer 06h WORD current cursor position 08h WORD starting row of edit area (-3 is topmost, 0 is first user line) 0Ah WORD starting column of edit area 0Ch WORD height of edit area 0Eh WORD width of edit area 10h WORD current top row (-3 is topmost, 0 is first user line) 12h WORD number of rows displayable 14h BYTE cursor column 15h BYTE 01h if buffer has been modified 16h BYTE first displayable column (ticker fields only) 17h BYTE 01h if wordwrap enabled, FFh if ticker field 18h DWORD pointer to array of line starts (at least one bigger than edit area is high) 1Ch BYTE currently marking? 1Dh BYTE flag 1Eh WORD offset of mark start 20h WORD offset of mark end (inclusive) 22h WORD displayable columns ———-60—-DI0401———————– INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE

DI = 0401h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to edit record (see INT 60/DI=0400h)
	DWORD	pointer to string to edit
	WORD	initial length of string being edited
	WORD	maximum length of edited string
	DWORD	pointer to first line of prompt
	WORD	length of first line
	DWORD	pointer to second line of prompt
	WORD	length of second line

Return: ???

STACK unchanged

———-60—-DI0402———————– INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD

DI = 0402h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to edit record (see INT 60/DI=0400h)

Return: ???

STACK unchanged

———-60—-DI0403———————– INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK

DI = 0403h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to edit record (see INT 60/DI=0400h)
	WORD	keystroke
	DWORD	pointer to WORD buffer for result code

Return: result code buffer filled with 0001h if editing complete

STACK unchanged

———-60—-DI0404———————– INT 60 u - HP 95LX System Manager - “MDIT_INI”

DI = 0404h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???
	WORD	???
	WORD	???
	DWORD	pointer to ???
	WORD	???
	WORD	???
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0405———————– INT 60 u - HP 95LX System Manager - “MDIT_DIS”

DI = 0405h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0406———————– INT 60 u - HP 95LX System Manager - “MDIT_KEY”

DI = 0406h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0407———————– INT 60 u - HP 95LX System Manager - “MDIT_FIL”

DI = 0407h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0408———————– INT 60 u - HP 95LX System Manager - “MDIT_MARK”

DI = 0408h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0409———————– INT 60 u - HP 95LX System Manager - “MDIT_UNMARK”

DI = 0409h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI040A———————– INT 60 u - HP 95LX System Manager - “MDIT_CUTMARK”

DI = 040Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI040B———————– INT 60 u - HP 95LX System Manager - “MDIT_INS_STR”

DI = 040Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI0500———————– INT 60 u - HP 95LX System Manager - OPEN FILE

DI = 0500h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see below)
	DWORD	pointer to filename
	WORD	length of filename
	WORD	???
	WORD	suppress buffering if nonzero

Return: AX = status

STACK unchanged

SeeAlso: INT 60/DI=0501h,INT 60/DI=0502h,INT 60/DI=0508h

Format of file state record: Offset Size Description 00h WORD DOS file handle 02h WORD flags bit 0: buffer contents valid

	bit 1: buffer is dirty and must be written
	bit 2: unbuffered I/O
	bit 3: file is a character device

04h DWORD current DOS physical file offset (FFFFFFFFh if unknown) 08h DWORD DOS file offset of start of buffer 0Ch DWORD effective file offset as seen by caller 10h WORD number of bytes in file buffer —buffered I/O only— 12h 512 BYTEs file buffer ———-60—-DI0501———————– INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE

DI = 0501h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)
	DWORD	pointer to filename
	WORD	length of filename
	WORD	???
	WORD	suppress buffering if nonzero

Return: AX = status

STACK unchanged

SeeAlso: INT 60/DI=0500h ———-60—-DI0502———————– INT 60 u - HP 95LX System Manager - CREATE NEW FILE

DI = 0502h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)
	DWORD	pointer to filename
	WORD	length of filename
	WORD	???
	WORD	suppress buffering if nonzero

Return: AX = status

STACK unchanged

SeeAlso: INT 60/DI=0500h,INT 60/DI=0503h ———-60—-DI0503———————– INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE

DI = 0503h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)
	DWORD	pointer to filename
	WORD	length of filename
	WORD	???
	WORD	suppress buffering if nonzero

Return: AX = status

STACK unchanged

SeeAlso: INT 60/DI=0502h ———-60—-DI0504———————– INT 60 u - HP 95LX System Manager - READ FROM FILE

DI = 0504h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)
	DWORD	pointer to data buffer
	WORD	number of bytes to read
	DWORD	pointer to WORD in which to return actual bytes read

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0505h ———-60—-DI0505———————– INT 60 - HP 95LX System Manager - WRITE TO FILE

DI = 0505h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)
	DWORD	pointer to data
	WORD	length of data

Return: AX = status

STACK unchanged

SeeAlso: INT 60/DI=0504h ———-60—-DI0506———————– INT 60 u - HP 95LX System Manager - SET FILE POSITION

DI = 0506h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)
	WORD	???
	WORD	???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0507h ———-60—-DI0507———————– INT 60 u - HP 95LX System Manager - GET FILE POSITION

DI = 0507h "M_TELL"
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)
	DWORD	pointer to DWORD buffer for file position???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0506h ———-60—-DI0508———————– INT 60 u - HP 95LX System Manager - CLOSE FILE

DI = 0508h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to file state record (see INT 60/DI=0500h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0500h ———-60—-DI0509———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_SETPAT”

DI = 0509h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI050A———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_MATCH”

DI = 050Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

Format of pattern match control block: Offset Size Description 00h 43 BYTEs FindFirst data block (see INT 21/AH=4Eh) 2Bh 80 BYTEs full path name 7Bh BYTE offset of last component of filename 7Ch BYTE DOS function number (4Eh or 4Fh) ———-60—-DI050B———————– INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT

DI = 050Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

Values returned: 0000h nonexistent 0001h file 0002h directory 0003h character device ———-60—-DI050C———————– INT 60 u - HP 95LX System Manager - DELETE FILE

DI = 050Ch "M_DELETE"
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI050D———————– INT 60 u - HP 95LX System Manager - RENAME FILE

DI = 050Dh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI050E———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_GETDIR”

DI = 050Eh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI050F———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_SETDIR”

DI = 050Fh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0510———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_VOLUME”

DI = 0510h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0511———————– INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY

DI = 0511h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0512———————– INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY

DI = 0512h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0513———————– INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE

DI = 0513h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ??? buffer for current drive

Return: ???

STACK unchanged

———-60—-DI0514———————– INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE

DI = 0514h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	new drive

Return: ???

STACK unchanged

———-60—-DI0515———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_FDATE”

DI = 0515h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0516———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_GET_SYSDIR”

DI = 0516h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0517———————– INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES

DI = 0517h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???
	DWORD	pointer to ??? buffer for file's attributes???

Return: ???

STACK unchanged

———-60—-DI0518———————– INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES

DI = 0518h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???
	WORD	new attributes???

Return: ???

STACK unchanged

———-60—-DI0519———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_COMMON_OPEN”

DI = 0519h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???
	WORD	???
	WORD	???
	WORD	???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI051A———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_COPYDT”

DI = 051Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI051B———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_GETFDT”

DI = 051Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI051C———————– INT 60 u - HP 95LX System Manager - FILE SERVICE “M_PUTFDT”

DI = 051Ch
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0600———————– INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING

DI = 0600h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0601h,INT 61“HP 95LX” ———-60—-DI0601———————– INT 60 u - HP 95LX System Manager - PROCESS TERMINATION

DI = 0601h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: never

STACK unchanged

SeeAlso: INT 21/AH=4Ch,INT 60/DI=0600h ———-60—-DI0602———————– INT 60 u - HP 95LX System Manager - “M_LOCK” - PREVENT TASK SWITCHES

DI = 0602h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=101Bh,INT 60/DI=0603h ———-60—-DI0603———————– INT 60 u - HP 95LX System Manager - “M_UNLOCK” - ALLOW TASK SWITCHES

DI = 0603h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=101Ch,INT 60/DI=0602h ———-60—-DI0604———————– INT 60 u - HP 95LX System Manager - “M_SPAWN”

DI = 0604h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0605———————– INT 60 u - HP 95LX System Manager - “M_APPCOUNT”

DI = 0605h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

———-60—-DI0606———————– INT 60 u - HP 95LX System Manager - “M_REBOOT”

DI = 0606h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

———-60—-DI0607———————– INT 60 u - HP 95LX System Manager - “M_SPAWNARG”

DI = 0607h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0608———————– INT 60 u - HP 95LX System Manager - “M_REG_APP_NAME”

DI = 0608h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0609———————– INT 60 u - HP 95LX System Manager - “M_APP_NAME”

DI = 0609h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: DX:AX → ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI0700———————– INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD

DI = 0700h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0701h,INT 60/DI=0702h

Values for error code: 0000h successful FFF8h transfer request out of bounds FFF9h no such representation FFFAh no representation open FFFBh a representation is already open FFFCh representation already exists FFFDh heap allocation failure FFFEh clipboard not open FFFFh clipboard access denied ———-60—-DI0701———————– INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD

DI = 0701h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0700h,INT 60/DI=0702h ———-60—-DI0702———————– INT 60 u - HP 95LX System Manager - RESET CLIPBOARD

DI = 0702h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0700h ———-60—-DI0704———————– INT 60 u - HP 95LX System Manager - “M_NEW_REP” - START A NEW REPRESENTATION???

DI = 0704h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0705h,INT 60/DI=0706h,INT 60/DI=0707h ———-60—-DI0705———————– INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE “M_FINI_REP”

DI = 0705h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0704h ———-60—-DI0706———————– INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE “M_REP_NAME”

DI = 0706h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0704h,INT 60/DI=0707h ———-60—-DI0707———————– INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE “M_REP_INDEX”

DI = 0707h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0704h,INT 60/DI=0706h ———-60—-DI0708———————– INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD

DI = 0708h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to data to be written???
	WORD	length of data???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0709h ———-60—-DI0709———————– INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD

DI = 0709h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???
	DWORD	pointer to buffer for data???
	WORD	length of buffer???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0708h ———-60—-DI0800———————– INT 60 u - HP 95LX System Manager - BEEP

DI = 0800h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0801h,INT 60/DI=0802h,INT 60/DI=0803h ———-60—-DI0801———————– INT 60 u - HP 95LX System Manager - SOUND SERVICE “M_THUD”

DI = 0801h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0800h,INT 60/DI=0802h,INT 60/DI=0803h ———-60—-DI0802———————– INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN

DI = 0802h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	pattern number (00h-06h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0803h ———-60—-DI0803———————– INT 60 u - HP 95LX System Manager - TURN OFF SOUND

DI = 0803h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0802h ———-60—-DI0900———————– INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK

DI = 0900h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	size of block in bytes

Return: AX → memory block

STACK unchanged

Note: System Manager-compliant applications are always small-model (64K code,

  64K data)

SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0902h,INT 60/DI=0903h ———-60—-DI0902———————– INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK

DI = 0902h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	offset of memory block???

Return: ???

STACK unchanged

Note: System Manager-compliant applications are always small-model (64K code,

  64K data)

SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h ———-60—-DI0903———————– INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK

DI = 0903h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	size of block in bytes???

Return: AX → memory block???

STACK unchanged

SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h ———-60—-DI0904———————– INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK

DI = 0904h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	segment of memory block???

Return: AX → ???

STACK unchanged

SeeAlso: INT 60/DI=0902h,INT 60/DI=0903h ———-60—-DI0B00———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_DTINFO”

DI = 0B00h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B01———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_GETDTM”

DI = 0B01h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B02———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_SETDTM”

DI = 0B02h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B03———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_XALARM”

DI = 0B03h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0B04———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_ALARM”

DI = 0B04h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to alarm record???
	WORD	???

Return: ???

STACK unchanged

Format of alarm record: Offset Size Description 00h BYTE hour 01h BYTE minute 02h BYTE second 03h BYTE unused padding 04h WORD rescheduling interval, in seconds 06h BYTE are seconds significant? 07h BYTE alarm sound 08h 40 BYTEs message displayed when alarm activates 30h BYTE task ID of owner 31h BYTE application's own use for sub-class 32h 4 BYTEs application's own use for private data ———-60—-DI0B05———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_START_SW”

DI = 0B05h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B06———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_GET_SW”

DI = 0B06h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B07———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_STOP_SW”

DI = 0B07h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B08———————– INT 60 u - HP 95LX System Manager - “M_TELLTIME” - DISPLAY TIMESTAMP

DI = 0B08h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	timestamp format
		bits 1-0:
			00 date only
			01 time only
			10 date and time
			11 day and date
		bit 4: supply am/pm
		bit 5: supply seconds
		bit 6: show year
		bit 7: four-digit year
	WORD	row (-3 is topmost, 0 is first non-reserved line)
	WORD	column

Return: ???

STACK unchanged

———-60—-DI0B09———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_GET_SETTINGS”

DI = 0B09h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0B0Ah,INT 60/DI=0B0Fh

Format of system settings: Offset Size Description 00h WORD country code 02h WORD speaker volume (00h-03h or FFh for off) 04h WORD contrast level (00h-0Fh) 06h WORD week start (00h Sunday, 01h Monday) 08h WORD punctuation format code decimal arg thousands

	00h	.	,	,
	01h	,	.	.
	02h	.	;	;
	03h	,	;	.
	04h	.	,	" "
	05h	,	.	" "
	06h	.	;	" "
	07h	,	;	" "

0Ah WORD two-character language code (only 5355h = “US” byte-swapped) 0Ch WORD current date format 00h dd-mmm-yy

	01h dd-mmm
	02h mmm-yy
	03h mm/dd/yy
	04h dd/mm/yy
	05h dd.mm.yy
	06h yy-mm-dd
	07h mm/dd
	08h dd/mm
	09h dd.mm
	0Ah mm-dd

0Eh WORD current time format 00h HH:MM:SS am/pm

	01h HH:MM am/pm
	02h HH:MM:SS
	03h HH.MM.SS
	04h HH,MM,SS
	05h HHhMMmSSs
	06h HH:MM
	07h HH.MM
	08h HH,MM
	09h HHhMMm

10h WORD collating sequence 00h numbers first, 01h letters first, 02h ASCII 12h 80 BYTEs name of picture file 62h 30 BYTEs name 80h 30 BYTEs title 9Eh 28 BYTEs company name BAh WORD number of languages BCh 6 BYTEs available languages C2h 66 BYTEs language menu 104h 2 BYTEs ASCIZ date separator 106h 2 BYTEs ASCIZ time separator 108h BYTE date order 109h BYTE use 24 hour time? 10Ah 16 BYTEs currency string 11Ah WORD currency string position (00h prefix, 01h suffix) 11Ch WORD keyboard (see below) 11Eh WORD printer baud rate

	00h 300, 01h 1200, 02h 2400, 03h 4800, 04h 9600, 05h 19200

120h WORD printer driver code

	00h Epson FX80, 01h HP Laserjet, 02h IBM ProPrinter

122h WORD printer interface (00h COM1, 01h COM2, 02h IR, 03h LPT1) 124h WORD system manager interrupt (60h by default) 126h WORD code page (01h CP850, 02h CP437) 128h WORD active exit key 12Ah WORD active menu key 12Ch WORD active CHAR key toggle 12Eh 6 BYTEs alarm

Values for keyboard:

0001h Belgium
0002h French Canadian
0004h Denmark
0008h Finland
0010h French
0020h Finland
0040h Italy
0080h Netherlands
0100h Norway
0200h Portugal
0400h Spain
0800h Sweden
1000h Swiss French
2000h Swiss German
4000h United Kingdom
8000h USA

———-60—-DI0B0A———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_SET_SETTINGS”

DI = 0B0Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0B09h ———-60—-DI0B0B———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_START_TIMER”

DI = 0B0Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0B0Ch,INT 60/DI=0B0Dh ———-60—-DI0B0C———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_STOP_TIMER”

DI = 0B0Ch
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Dh ———-60—-DI0B0D———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_GET_TIMER”

DI = 0B0Dh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Ch ———-60—-DI0B0E———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_TELL_ANYTIME”

DI = 0B0Eh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???
	WORD	???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: DX:AX → ???

STACK unchanged

———-60—-DI0B0F———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE “M_GET_SETTINGS_ADDR”

DI = 0B0Fh
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: DX:AX → system settings record (see INT 60/DI=0B09h)

STACK unchanged

SeeAlso: INT 60/DI=0B09h ———-60—-DI0B10———————– INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION

DI = 0B10h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B11———————– INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION

DI = 0B11h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0B12———————– INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE

DI = 0B12h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	new parsing rule
		01h day-month-year
		02h month-day-year
		03h year-month-day
		04h "DMYO"
		05h "MDYO"
		OR with 08h to get any year

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0B13h ———-60—-DI0B13———————– INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE

DI = 0B13h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	new parsing rule
		01h HH:MM:SS (am/pm)
		02h HH:MM:SS (24hr)
		03h HHMM:SS (24hr)
		04h HH:MM:SS.hh (24hr)
		05h HH:MM (am/pm)
		06h HH:MM (24hr)
		07h HHMM (24hr)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0B12h ———-60—-DI0B14———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_POST_TIME”

DI = 0B14h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

———-60—-DI0B15———————– INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE “M_DAY_TRIGGER”

DI = 0B15h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI0C00———————– INT 60 u - HP 95LX System Manager - OPEN PRINTER

DI = 0C00h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0C01h,INT 60/DI=0C02h,INT 60/DI=0C03h ———-60—-DI0C01———————– INT 60 u - HP 95LX System Manager - CLOSE PRINTER

DI = 0C01h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

Note: relinquishes control of printer SeeAlso: INT 60/DI=0C00h ———-60—-DI0C02———————– INT 60 u - HP 95LX System Manager - WRITE TO PRINTER

DI = 0C02h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to data to be written
	WORD	length of data

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0C00h ———-60—-DI0C03———————– INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER

DI = 0C03h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0C00h ———-60—-DI0C04———————– INT 60 u - HP 95LX System Manager - “M_TRANS_PRINTER”

DI = 0C04h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0C05———————– INT 60 u - HP 95LX System Manager - “M_FALL_PRINTER”

DI = 0C05h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI0E00———————– INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE “M_COMM_INIT”

DI = 0E00h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E01h,INT 60/DI=0E02h

Values for error code: 0000h successful FFF1h “E_BUSY” FFF2h timeout FFF3h framing error FFF4h parity error FFF5h overrun error FFF6h “E_EMPTY” FFF7h “E_CONECT” FFF8h not open FFF9h out of memory FFFAh buffer overflow FFFBh “E_NOFIT” FFFCh unsupported FFFDh “E_IVOPR” FFFEh “E_IVCHN” FFFFh “E_REOPEN” ———-60—-DI0E01———————– INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL

DI = 0E01h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to WORD buffer for comm channel handle
	WORD	communications line number (01h-04h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E02h ———-60—-DI0E02———————– INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL

DI = 0E02h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	comm channel handle

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E01h ———-60—-DI0E03———————– INT 60 u - HP 95LX System Manager - “M_COMM_GETMDM”

DI = 0E03h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E04———————– INT 60 u - HP 95LX System Manager - “M_COMM_ANSWER”

DI = 0E04h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E05———————– INT 60 u - HP 95LX System Manager - “M_COMM_DIAL”

DI = 0E05h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0E06———————– INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL

DI = 0E06h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	comm channel handle
	WORD	reset options
		bit 0: reset line
		bit 1: flush transmit buffer
		bit 2: flush receive buffer
		bit 3: reset modem
		bit 4: reset receiver's ^S state
		bit 5: reset transmitter's ^S state

Return: ???

STACK unchanged

———-60—-DI0E07———————– INT 60 u - HP 95LX System Manager - “M_COMM_HANGUP”

DI = 0E07h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E08———————– INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL

DI = 0E08h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	comm channel handle
	DWORD	pointer to data to be sent
	WORD	option flags
		bit 0: send partial buffer
		bit 1: turn on receiver after sending
	DWORD	pointer to WORD containing length of data to be sent

Return: length WORD updated to contain number of bytes actually sent???

STACK unchanged

SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh ———-60—-DI0E09———————– INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE

DI = 0E09h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ??? WORD
	DWORD	pointer to ??? WORD

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E0Ah ———-60—-DI0E0A———————– INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE

DI = 0E0Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	comm channel handle
	DWORD	pointer to WORD to get receive buffer size
	DWORD	pointer to WORD to get free bytes in receive buffer

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh ———-60—-DI0E0B———————– INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL

DI = 0E0Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	comm channel handle
	DWORD	pointer to data buffer
	DWORD	pointer to WORD (input) length of data buffer
				(output) number of bytes received

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E08h,INT 60/DI=0E0Ah ———-60—-DI0E0C———————– INT 60 u - HP 95LX System Manager - “M_COMM_HAZCMD”

DI = 0E0Ch
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E0D———————– INT 60 u - HP 95LX System Manager - “M_COMM_COMAND”

DI = 0E0Dh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E0E———————– INT 60 u - HP 95LX System Manager - “M_COMM_BREAK”

DI = 0E0Eh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E0F———————– INT 60 u - HP 95LX System Manager - “M_COMM_FRCXON”

DI = 0E0Fh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E10———————– INT 60 u - HP 95LX System Manager - “M_COMM_FRCXOF”

DI = 0E10h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E11———————– INT 60 u - HP 95LX System Manager - “M_COMM_SETDTR”

DI = 0E11h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E12———————– INT 60 u - HP 95LX System Manager - “M_COMM_XMITNG”

DI = 0E12h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E13———————– INT 60 u - HP 95LX System Manager - “M_COMM_STATUS”

DI = 0E13h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E14———————– INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS

DI = 0E14h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	comm channel handle
	DWORD	pointer to comm settings (see below)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E15h

Format of comm settings: Offset Size Description 00h BYTE dial type ('T' tone, 'P' pulse) 01h WORD baud rate divisor (115200/baud_rate) 03h BYTE parity (00h none, 08h odd, 18h even, 28h mark, 38h space) 04h BYTE stop bits (00h one, 04h two) 05h BYTE data bits - 5 06h BYTE software handshake 01h none, 02h XOFF/XON, 04h XOFF/any, 08h ENQ/ACK 07h BYTE infrared (01h off, 02h on) 08h BYTE duplex (01h half, 02h full) 09h BYTE echo (01h echo, 02h no echo) ———-60—-DI0E15———————– INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS

DI = 0E15h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to buffer for settings (see INT 60/DI=0E14h)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0E14h ———-60—-DI0E16———————– INT 60 u - HP 95LX System Manager - “M_COMM_CNFGUR”

DI = 0E16h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	WORD	???
	WORD	???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI0E17———————– INT 60 u - HP 95LX System Manager - “M_COMM_QRYERR”

DI = 0E17h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI0F00———————– INT 60 u - HP 95LX System Manager - “M_ERRMSG”

DI = 0F00h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???
	DWORD	pointer to ???
	WORD	???
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0F01———————– INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX

DI = 0F01h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ASCIZ title string

Return: ???

STACK unchanged

———-60—-DI0F02———————– INT 60 u - HP 95LX System Manager - “SHOWNAME”

DI = 0F02h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI0F03———————– INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX

DI = 0F03h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to first line of message
	WORD	length of first line
	DWORD	pointer to second line of message
	WORD	length of second line

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0300h,INT 60/DI=0F04h,INT 60/DI=0F09h ———-60—-DI0F04———————– INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX

DI = 0F04h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F09h ———-60—-DI0F05———————– INT 60 u - HP 95LX System Manager - “M_COM_TIMER_ADDR”

DI = 0F05h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: DX:AX → ???

STACK unchanged

———-60—-DI0F06———————– INT 60 u - HP 95LX System Manager - “M_COM_TIMER_COUNT_ADDR”

DI = 0F06h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: DX:AX → ???

STACK unchanged

———-60—-DI0F07———————– INT 60 u - HP 95LX System Manager - “M_SYS_RSRC_ADDR”

DI = 0F07h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: DX:AX → ???

STACK unchanged

———-60—-DI0F08———————– INT 60 u - HP 95LX System Manager - “M_BIOS_OUTSTR”

DI = 0F08h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI0F09———————– INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX

DI = 0F09h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to first line of message
	WORD	length of first line
	DWORD	pointer to second line of message
	WORD	length of second line
	DWORD	pointer to third line of message
	WORD	length of third line

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F04h ———-60—-DI0F0A———————– INT 60 u - HP 95LX System Manager - DISABLE MACROS

DI = 0F0Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0F0Bh ———-60—-DI0F0B———————– INT 60 u - HP 95LX System Manager - ENABLE MACROS

DI = 0F0Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 60/DI=0F0Ah ———-60—-DI0F0C———————– INT 60 u - HP 95LX System Manager - “M_DATE_TIME_SEPS”

DI = 0F0Ch
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI0F0D———————– INT 60 u - HP 95LX System Manager - “M_FORM_FT”

DI = 0F0Dh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: DX:AX → ???

STACK unchanged

———-60—-DI0F0E———————– INT 60 u - HP 95LX System Manager - “M_RAM_IV_INFO”

DI = 0F0Eh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: DX:AX → ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI1005———————– INT 60 u - HP 95LX System Manager - “M_DIRTY_SYNC” - FORCE SCREEN UPDATE

DI = 1005h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

SeeAlso: INT 10/AH=FFh,INT 60/DI=0300h,INT 60/DI=0301h ———-60—-DI1200———————– INT 60 u - HP 95LX System Manager - RESOURCE SERVICE “MAP_RESOURCE_FILE”

DI = 1200h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI1201———————– INT 60 u - HP 95LX System Manager - “GET_RESOURCE_PTR”

DI = 1201h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	WORD	???

Return: DX:AX → ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI1202———————– INT 60 u - HP 95LX System Manager - “GET_RSRC_TAB_PTR”

DI = 1202h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: DX:AX → ???

STACK unchanged

———-60—-DI1203———————– INT 60 u - HP 95LX System Manager - “INIT_SYSGMR_RSRCS”

DI = 1203h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: ???

STACK unchanged

———-60—-DI1300———————– INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM

DI = 1300h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI1301———————– INT 60 u - HP 95LX System Manager - DISPLAY HELP

DI = 1301h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

———-60—-DI1302———————– INT 60 u - HP 95LX System Manager - “M_HELP_KEY”

DI = 1302h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI1303———————– INT 60 u - HP 95LX System Manager - “M_HELP_TERM”

DI = 1303h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI1400———————– INT 60 u - HP 95LX System Manager - “M_ColInit”

DI = 1400h
STACK:	2 WORDs unused dummies (for calls from high level languages)

Return: AX = ???

STACK unchanged

———-60—-DI1401———————– INT 60 u - HP 95LX System Manager - “M_ColCpStr”

DI = 1401h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI1402———————– INT 60 u - HP 95LX System Manager - “M_ColLicsStr”

DI = 1402h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1403———————– INT 60 u - HP 95LX System Manager - “M_ColLicsChar”

DI = 1403h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1404———————– INT 60 u - HP 95LX System Manager - “M_ColToLower”

DI = 1404h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI1405———————– INT 60 u - HP 95LX System Manager - “M_ColCpSearch”

DI = 1405h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

———-60—-DI1406———————– INT 60 u - HP 95LX System Manager - “M_ColToUpper”

DI = 1406h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	DWORD	pointer to ???
	WORD	???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX” ———-60—-DI1500———————– INT 60 u - HP 95LX System Manager - “GrDispInit”

DI = 1500h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1501———————– INT 60 u - HP 95LX System Manager - “GrDispClear”

DI = 1501h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1502———————– INT 60 u - HP 95LX System Manager - “GrDispDot”

DI = 1502h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1503———————– INT 60 u - HP 95LX System Manager - “GrDispDraw”

DI = 1503h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1504———————– INT 60 u - HP 95LX System Manager - “GrDispFill”

DI = 1504h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1505———————– INT 60 u - HP 95LX System Manager - “GrDispRead”

DI = 1505h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1506———————– INT 60 u - HP 95LX System Manager - “GrDispString”

DI = 1506h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1507———————– INT 60 u - HP 95LX System Manager - “GrDispPan”

DI = 1507h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1508———————– INT 60 u - HP 95LX System Manager - “GrDispZoom”

DI = 1508h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI1509———————– INT 60 u - HP 95LX System Manager - “GrDispSave”

DI = 1509h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI150A———————– INT 60 u - HP 95LX System Manager - “GrDispRestore”

DI = 150Ah
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

———-60—-DI150B———————– INT 60 u - HP 95LX System Manager - “GrDispCorner”

DI = 150Bh
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX”

INT 60 u - HP 95LX System Manager - "CP_TO_LICS"

DI = 1604h
STACK:	2 WORDs unused dummies (for calls from high level languages)
	???

Return: ???

STACK unchanged

SeeAlso: INT 15/AX=4DD4h,INT 61“HP 95LX”,INT 62“HP 95LX”

INT 60 - SYS_PROF.EXE - PROFILER STATUS

AH = 00h

Return: AX = 0000h profiling is off

    otherwise profiling is on

Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47 SeeAlso: AH=01h“SYS_PROF”,02h“SYS_PROF”

INT 60 - MDEBUG - GET STATUS

AH = 00h
DS:SI -> password or a null byte

Return: AX = return code

    FFFEh password is invalid
    FFFDh display mode is invalid
   else successful
	ES = value of the monitor register SE
	DI = value of the monitor register OF
	CH = monitor color
	CL = interpreter color
	BH = monitor start line
	BL = interpreter start line
	AH = makecode of the hotkey
	AL = ASCII code of the hotkey
	DL = status of special keys (only SHIFT, ALT, CTRL) for the
		hotkey (coded as for the keyboard flag at 0040h:0017h)
	DH = basic process number for the communication with drivers
		process number for the display driver, DH+1 = process
		number for the command driver(s)
DS:SI -> MDEBUG identification table

Notes: MDEBUG is a shareware memory-resident debugging tool by Bernd Schemmer,

  including a memory monitor, an interpreter, and a disassembler
MDEBUG uses INT 60 by default, but may be directed to any of INT 60
  through INT 67; the interrupt handler is preceded by the signature
  "USERINT" and is not chained
if DS:SI points at a null byte, MDEBUG will prompt for a password if
  passwords are active; enough stack space must be provided for an
  INT 10h call (which MDEBUG uses while prompting for the password)

SeeAlso: AH=02h“MDEBUG”

Format of MDEBUG identification table: Offset Size Description -2 WORD entry offset 00h WORD CS of MDEBUG 02h DWORD old INT 08h vector 06h DWORD old INT 09h vector 0Ah DWORD address INT 16h routine used by MDEBUG 0Eh BYTE length of version string 0Fh N BYTEs version string

INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS

AH = 01h
DS:SI -> password or a null byte

Return: AX = return code

    FFFEh password is invalid
    FFFDh display mode is invalid
   else successful
	ES:DI point to the help registers of MDEBUG
       ES:DI-02h  -> R0 (WORD)
       ES:DI	  -> R1 (WORD)
       ES:DI+02h  -> R2 (WORD)
       ES:DI+04h  -> R3 (WORD)
       ...
       ES:DI+0Eh  -> R8 (WORD)

INT 60 - SYS_PROF.EXE - TURN PROFILING OFF

AH = 01h

Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47 SeeAlso: AH=00h“SYS_PROF”,02h“SYS_PROF”

INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO

AX = 01FFh
BX = handle returned by function 02h

Return: CF set on error

    DH = error code (see below)
CF clear if successful
    BX = version
    CH = network interface class (see below)
    DX = interface type (see below)
    CL = number
    DS:SI -> name
    AL = driver functions supported
	01h basic
	02h basic and extended
	05h basic and high-performance
	06h basic, high-performance, and extended
	FFh not installed

Note: the handle in BX is optional for drivers written to v1.07 or later of

  the packet driver specification

Values for error code: 01h “BAD_HANDLE” invalid handle number 02h “NO_CLASS” no interfaces of the specified class found 03h “NO_TYPE” no interfaces of the specified type found 04h “NO_NUMBER” no interfaces of the specified number found 05h “BAD_TYPE” bad packet type 06h “NO_MULTICAST” interface does not support multicast messages 07h “CANT_TERMINATE” this packet driver cannot terminate 08h “BAD_MODE” invalid receiver mode 09h “NO_SPACE” insufficient space 0Ah “TYPE_INUSE” type accessed but never released 0Bh “BAD_COMMAND” bad command 0Ch “CANT_SEND” packet could not be sent 0Dh “CANT_SET” hardware address could not be changed 0Eh “BAD_ADDRESS” hardware address has a bad length or format 0Fh “CANT_RESET” could not reset interface

Values for Network Interface classes/types:

  Class 01h  Ethernet/IEEE 802.3	 
01h 3COM 3C500/3C501
02h 3COM 3C505
03h MICOM-Interlan NI5010
04h BICC Data Networks 4110
05h BICC Data Networks 4117
06h MICOM-Interlan NP600
08h Ungermann-Bass PC-NIC
09h Univation NC-516
0Ah TRW PC-2000	
0Bh MICOM-Interlan NI5210
0Ch 3COM 3C503
0Dh 3COM 3C523
0Eh Western Digital WD8003
0Fh Spider Systems S4
10h Torus Frame Level
11h 10Net Communications
12h Gateway PC-bus
13h Gateway AT-bus
14h Gateway MCA-bus
15h IMC PCnic
16h IMC PCnic II
17h IMC PCnic 8-bit
18h Tigan Communications
19h Micromatic Research
1Ah Clarkson "Multiplexor"
1Bh D-Link 8-bit
1Ch D-Link 16-bit
1Dh D-Link PS/2
1Eh Research Machines 8
1Fh Research Machines 16
20h Research Machines MCA
21h Radix Microsystems EXM1 16-bit
22h Interlan Ni9210
23h Interlan Ni6510
24h Vestra LANMASTER 16-bit
25h Vestra LANMASTER 8-bit
26h Allied Telesis PC/XT/AT
27h Allied Telesis NEC PC-98
28h Allied Telesis Fujitsu FMR
29h Ungermann-Bass NIC/PS2
2Ah Tiara LANCard/E AT
2Bh Tiara LANCard/E MC
2Ch Tiara LANCard/E TP
2Dh Spider Communications SpiderComm 8
2Eh Spider Communications SpiderComm 16
2Fh AT&T Starlan NAU
30h AT&T Starlan-10 NAU
31h AT&T Ethernet NAU
32h Intel smart card
33h Xircom Packet Adapter
34h Aquila Ethernet
35h Novell NE1000
36h Novell NE2000
37h SMC PC-510
38h AT&T Fiber NAU
39h NDIS to Packet Driver adapter
3Ah Racal-InterLan ES3210
3Bh General Systems ISDN simulated Ethernet
3Ch Hewlett-Packard
3Dh IMC EtherNic-8
3Eh IMC EtherNic-16
3Fh IMC EtherNic-MCA
40h NetWorth EtherNext
41h Dataco Scanet
42h DEC DEPCA
43h C-Net
44h Gandalf LANLine
45h Apricot built-in
46h David Systems Ether-T
47h ODI to Packet Driver adapter
48h AMD Am21110-16
49h Intel ICD Network controller family
4Ah Intel ICD PCL2
4Bh Intel ICD PCL2A
4Ch AT&T LANPacer
4Dh AT&T LANPacer+
4Eh AT&T EVB
4Fh AT&T StarStation
50h SLIP simulated ethernet
51h Racal-Interlan NIA310
52h Racal-Interlan NISE
53h Racal-Interlan NISE30
54h Racal-Interlan NI6610
55h Ethernet over IP/UDP
  Class 02h  ProNET-10
01h Proteon p1300
02h Proteon p1800
  Class 03h  IEEE 802.5/ProNet-4
01h IBM Token-Ring Adapter
02h Proteon p1340
03h Proteon p1344
04h Gateway PC-bus
05h Gateway AT-bus
06h Gateway MCA-bus
39h NDIS to Packet Driver adapter
47h ODI to Packet Driver adapter
  Class 04h  Omninet
  Class 05h  Appletalk
01h ATALK.SYS adapter
  Class 06h  Serial Line
01h Clarkson 8250-SLIP
02h Clarkson "Multiplexor"
  Class 07h  StarLAN (subsumed by Ethernet class)
  Class 08h  ARCnet
01h Datapoint RIM
  Class 09h  AX.25
01h Ottawa PI card
  Class 0Ah  KISS
  Class 0Bh  IEEE 802.3 with 802.2 headers
types same as for class 01h
  Class 0Ch  FDDI with 802.2 headers
01h Western Digital
02h Frontier Technology
  Class 0Dh  Internet X.25
01h Western Digital
02h Frontier Technology
  Class 0Eh  N.T. LANSTAR (encapsulating DIX Ethernet)
01h NT LANSTAR/8
02h NT LANSTAR/MC
  Class 0Fh  SLFP (MIT serial specification)
01h MERIT
  Class 10h  PPP (Point-to-Point Protocol)

Note: class and type numbers are cleared through FTP Software

INT 60 - MDEBUG - SET STATUS

AH = 02h
DS:SI -> password or a null byte
ES = new value for the register SE
DI = new value for the register OF
CH = new monitor color if nonzero
CL = new interpreter color if nonzero
BH = new monitor start line if nonzero
BL = new interpreter start line if nonzero
AL = new ASCII code for the hotkey ('A'..'Z', 'a'..'z') if nonzero
DL = new status of the special keys (SHIFT, ALT, CTRL) for the hotkey
    if nonzero
DH = if nonzero, new basic process number for communication with the
    drivers (DH = multiplex number for the display driver,
    DH+1 = multiplex number for the command driver or drivers)

Return: AX = return code

    FFFFh call not allowed
    FFFEh password is invalid
    FFFDh display mode is invalid
    0000h successful, status changed
   else AL = error code
	    bit 0 invalid monitor start line
		1 invalid interpreter start line
		2 invalid hotkey
		3 invalid process number
	      4-7 reserved

Note: the values of the registers SE and OF are always changed, the other

  values are only changed if they are valid

SeeAlso: AH=00h“MDEBUG”

INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE

AH = 02h
AL = interface class
BX = interface type
DL = interface number
DS:SI -> type
CX = length of type (0000h for all packets)
ES:DI -> receiver

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful
    AX = handle		

SeeAlso: AH=03h“FTP

Receiver is called with:

AX = subfunction
    00h get packet buffer
	DX = lookahead length (v1.10+)
	DS:SI -> lookahead buffer if DX nonzero (v1.10+)
	DI = error flags (class dependent) (v1.10+)
	Return: ES:DI -> packet buffer
			0000h:0000h means throw away packet
		CX = size of buffer (v1.10+), may be smaller than
			incoming data
    01h copy completed
	DS:SI -> buffer
	CX = bytes actually copied (v1.10+)
BX = handle
CX = buffer length

when a packet is received

INT 60 - SYS_PROF.EXE - TURN PROFILING ON

AH = 02h

Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47 SeeAlso: AH=00h“SYS_PROF”,01h“SYS_PROF”

INT 60 - MDEBUG - POP UP

AH = 03h
DS:SI -> password or a null byte
ES -> new value for the register SE
DI -> new value for the register OF

Return: AX = return code

    FFFFh call not allowed
    FFFEh password is invalid
    FFFDh display mode is invalid
   else successful

SeeAlso: AH=04h“MDEBUG”

INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE

AH = 03h
BX = handle

Return: CF set on error

   DH = error code (see AX=01FFh)
CF clear if successful	

SeeAlso: AH=02h“FTP

INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE

AH = 03h

Return: ES:BX → profiling table Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47 SeeAlso: AH=04h“SYS_PROF”

INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET

AH = 04h
DS:SI -> buffer
CX = length

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful

Note: the buffer may be modified immediately upon return from this call SeeAlso: AH=0Bh

INT 60 - MDEBUG - POP UP

AH = 04h
DS:SI -> password or a null byte

Return: AX = return code

    FFFFh call not allowed
    FFFEh password is invalid
    FFFDh display mode is invalid
   else successful

SeeAlso: AH=03h“MDEBUG”,AH=07h“MDEBUG”

INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE

AH = 04h

Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47 SeeAlso: AH=03h“SYS_PROF”

INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE

AH = 05h
BX = handle (optional for v1.10+)

Return: CF set on error

   DH = error code (see AX=01FFh)
CF clear if successful

INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS

AH = 05h
DS:SI -> password or a null byte
BL = new value for the semaphor of MDEBUG
     00h  enable popup of MDEBUG
     else disable popup of MDEBUG

Return: AX = return code

    FFFEh password is invalid
    FFFDh display mode is invalid
   else successful
	BL = old value of the semapor of MDEBUG
	BH = old value of the INT 08h semaphor
	    (this semaphor is always reset after this function)

INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS

AH = 06h
BX = handle (optional for v1.10+)
ES:DI -> buffer
CX = length

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful
    CX = length	

Note: copies the local net address associated with the handle into the buffer

INT 60 - MDEBUG - GET PASSWORD STATUS

AH = 06h

Return: AL = status

    00h password inactive
    01h password active

INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE

AH = 07h
BX = handle (optional for v1.10+)

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful

INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG

AH = 07h

Return: AL = active part for the next popup session of MDEBUG:

    bit 0: the next popup session will start in the interpreter rather
     		than in the monitor
    bit 1: the next popup session will sart in the online-help

SeeAlso: AH=03h“MDEBUG”,AH=04h“MDEBUG”

INT 60 - MDEBUG - UNUSED

AH = 08h-FFh

Return: AX = FFFCh

INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS

AH = 0Ah

Return: CF set on error

    DH = error code (0Bh) (see AX=01FFh)
CF clear if successful
    ES:DI -> parameter table (see below)

Format of parameter table: Offset Size Description 00h BYTE major revision of packet driver spec driver conforms to 01h BYTE minor revision of packet driver spec 02h BYTE length of this structure in bytes 03h BYTE length of a MAC-layer address 04h WORD maximum transfer unit, including MAC headers 06h WORD buffer size for multicast addr 08h WORD number of receive buffers (one less than back-to-back MTU rcvs) 0Ah WORD number of transmit buffers 0Ch WORD interrupt number to hook for post-EOI processing, 00h=none

INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET

AH = 0Bh
DS:SI -> buffer
CX = length of buffer
ES:DI -> FAR function to call when buffer becomes available

Return: CF set on error

    DH = error code (0Bh,0Ch) (see AX=01FFh)
CF clear if successful

Notes: unlike function 04h, the buffer is not available for modification as

  soon as the call returns; the buffer may be queued by the driver and
  not processed until later
this function has been dropped from v1.10+ of the specification and
  replaced by function 0Ch

SeeAlso: AH=04h“Packet Driver”,AH=0Ch“Packet Driver”

Completion function called with:

AX = result
    00h copy OK
    nonzero error
ES:DI -> buffer passed to INT 60/AH=0Bh call

INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET

AH = 0Ch
ES:DI -> pointer to IOCB

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful

SeeAlso: AH=04h“Packet Driver”,AH=09h“Packet Driver”

Format of IOCB: Offset Size Description 00h DWORD pointer to buffer 04h WORD length of buffer 06h BYTE flags

	bit 0: packet driver is finished with IOCB
	bit 1: application requests upcall when driver completes

07h DWORD function address for upcall 0Bh 4 BYTEs future gather write 0Fh BYTE ??? 10h 8 BYTEs private driver workspace

Completion function called with:

ES:DI -> IOCB passed to INT 60/AH=0Ch

INT 60 - Banyan VINES, 3com - GET STATION ADDRESS

AH = 0Ch

Return: AL = status

    00h successful
	ES:SI -> 6-byte station address
    02h semaphore service is unavailable

INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE

AH = 0Dh
ES:DI -> IOCB

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful

SeeAlso: AH=0Ch“Packet Driver”

INT 60 - 3com, 10-NET, Banyan VINES - LOCK AND WAIT

AH = 11h
AL = drive number or 0
DX = number of seconds to wait
ES:SI = Ethernet address or 0
DS:BX -> 31-byte ASCIZ semaphore name

Return: AL = status

    00h successful
    01h timeout
    02h server not responding
    03h invalid semaphore name
    04h semaphore list is full
    05h invalid drive ID
    06h invalid Ethernet address
    07h not logged in
    08h write to network failed
    09h semaphore already logged for this CPU

SeeAlso: AH=12h,AH=13h

INT 60 - 3com, 10-NET, Banyan VINES - LOCK

AH = 12h
AL = drive number or 00h
ES:SI = Ethernet address or 0000h:0000h
DS:BX -> 31-byte ASCIZ semaphore name

Return: AL = status (see also AH=11h)

    01h semaphore currently locked by another PC

Note: unlike function 11h, this function returns immediately SeeAlso: AH=11h,AH=13h

INT 60 - 3com, 10-NET, Banyan VINES - UNLOCK

AH = 13h
AL = drive number or 00h
ES:SI = Ethernet address or 0000h:0000h
DS:BX -> 31-byte ASCIZ semaphore name

Return: AL = status (see also AH=11h)

    1 semaphore not locked

SeeAlso: AH=11h,AH=12h

INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE

AH = 14h
BX = handle (optional for v1.10+)
CX = mode
    01h turn off receiver
    02h receive only packets sent to this interface
    03h mode 2 plus broadcast packets
    04h mode 3 plus limited multicast packets
    05h mode 3 plus all multicast packets
    06h all packets
    07h raw mode for serial line only (v1.10+)

Return: CF set on error

   DH = error code (01h,08h) (see AX=01FFh)
CF clear if successful

SeeAlso: AH=15h

INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE

AH = 15h
BX = handle (optional for v1.10+)

Return: CF set on error

    DH = error code (01h) (see AX=01FFh)
CF clear if successful
    AX = mode	

SeeAlso: AH=14h

INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST

AH = 16h
ES:DI -> multicast list
CX = length of list in bytes

Return: CF set on error

    DH = error code (06h,09h,0Eh) (see AX=01FFh)
CF clear if successful

SeeAlso: AH=17h

INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST

AH = 17h

Return: CF set on error

    DH = error code (06h,09h) (see AX=01FFh)
CF clear if successful
    ES:DI -> multicast addresses (do not modify)
    CX = bytes of multicast addresses currently in use

SeeAlso: AH=16h

INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS

AH = 18h
BX = handle (optional for v1.10+)

Return: CF set on error

    DH = error code (01h) (see AX=01FFh)
CF clear if successful
    DS:SI -> statistics (see below)

Format of statistics: Offset Size Description 00h DWORD packets in 04h DWORD packets out 08h DWORD bytes in 0Ch DWORD bytes out 10h DWORD errors in 14h DWORD errors out 18h DWORD packets dropped

INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS

AH = 19h
ES:DI -> address
CX = length of address

Return: CF set on error

    DH = error code (0Dh,0Eh) (see AX=01FFh)
CF clear if successful
    CX = length

INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES

AH = 1Ah
DS:SI -> buffer
CX = length of buffer

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful

SeeAlso: AH=1Ch

INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED

AH = 1Bh

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful

SeeAlso: AH=1Ch

INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED

AH = 1Ch
DS:SI -> buffer
CX = length of buffer
DX = timeout in clock ticks

Return: CF set on error

    DH = error code (see AX=01FFh)
CF clear if successful
    CX = number of bytes transferred to buffer

SeeAlso: AH=1Ah,AH=1Bh

INT 60 - AccessDOS - API

AH = ADh
AL = function
    E1h ???
	Return: AX = ???
    E2h get configuration
	Return: BX:AX -> configuration data

Notes: AccessDOS is a public domain TSR developed at The Trace Research and

  Development Center which provides extensions for keyboard, mouse,
  and sound access by the visually, hearing, or motor-control
  impaired.
INT 60 is the default vector; AccessDOS will use the first 0000h:0000h
  vector in the range 60h through 66h.
back2root/ibm-pc-ms-dos/interrupts/old/ms_interrupt_list-51-60.txt · Dernière modification : 2023/01/05 04:01 de 127.0.0.1