Interrupt List, part 15 of 18 Copyright (c) 1989-1999,2000 Ralf Brown --------H-51--------------------------------- INT 51 - IRQ1 relocated by DESQview Range: INT 51 to INT F9, selected automatically Note: this is the default location for older versions; see INT 50"DESQview" for details of interrupt relocation SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview" --------H-51--------------------------------- INT 51 - IRQ1 relocated by IBM 3278 emulation control program SeeAlso: INT 50"IBM 3278",INT 54"IBM 3278" --------H-51--------------------------------- INT 51 - IRQ1 relocated by OS/2 v1.x SeeAlso: INT 50"OS/2",INT 54"OS/2" ----------51--------------------------------- INT 51 - TI Professional PC - RESTART TIMING EVENT AX = timer count in 25ms intervals DS:DI -> timing-event table (see #03244) Note: documented as "for system use only"; intended for multi-tasking software SeeAlso: INT 50"TI Professional",INT 52"TI Professional" Format of TI Professional PC timing event table: Offset Size Description (Table 03244) 00h WORD offset of next event table entry 02h BYTE normally unused (FFh) 03h BYTE flags: bit 7 set if timing event active bits 6-0 not used by BIOS (0), but could be used by option ROMs 04h WORD timeout count (decremented every 25ms when active) 06h WORD offset of event handler (in segment F400h) to call on event timeout; the F400h segment allows addressing both system ROMs and the first 16K of memory (due to the 1M memory wraparound) --------b-51--------------------------------- INT 51 - Tandy 2000 - KEYBOARD SERVICES Note: this interrupt is identical to INT 16 on Tandy 2000 SeeAlso: INT 16/AH=00h,INT 16/AH=01h,INT 16/AH=02h,INT 16/AH=04h"Tandy" SeeAlso: INT 16/AH=04h,INT 4A"Tandy 2000",INT 4C"Tandy 2000",INT 52"Tandy 2000" --------H-52--------------------------------- INT 52 - IRQ2 relocated by DESQview Range: INT 52 to INT FA, selected automatically Note: this is the default location for older versions; see INT 50"DESQview" for details of interrupt relocation SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview" --------H-52--------------------------------- INT 52 - IRQ2 relocated by IBM 3278 emulation control program, OS/2 v1.x SeeAlso: INT 50"IBM 3278",INT 51"OS/2" ----------52--------------------------------- INT 52 - TI Professional PC - CANCEL TIMING EVENT DS:DI -> timing-event table (see #03244) Note: documented as "for system use only"; intended for multi-tasking software SeeAlso: INT 51"TI Professional",INT 53"TI Professional" --------b-52--------------------------------- INT 52 - Tandy 2000 - VIDEO SERVICES Note: this interrupt is identical to INT 10 SeeAlso: INT 10/AH=00h,INT 10/AH=01h,INT 10/AH=08h,INT 10/AH=0Eh SeeAlso: INT 4A"Tandy 2000",INT 51"Tandy 2000",INT 53"Tandy 2000" --------H-53--------------------------------- INT 53 - IRQ3 relocated by DESQview Range: INT 53 to INT FB, selected automatically Note: this is the default location for older versions; see INT 50"DESQview" for details of interrupt relocation SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview" --------H-53--------------------------------- INT 53 - IRQ3 relocated by IBM 3278 emulation control program, OS/2 v1.x SeeAlso: INT 50"IBM 3278",INT 51"OS/2" ----------53--------------------------------- INT 53 - TI Professional PC - SVC INTERFACE Notes: documented as "for system use only"; intended for multi-tasking software this interrupt is not used by the BIOS; the default handler generates a system error trap (see INT 51"TI Professional") SeeAlso: INT 50"TI Professional",INT 54"TI Professional" --------b-53--------------------------------- INT 53 - Tandy 2000 - SERIAL COMMUNICATIONS Note: this interrupt is identical to INT 14 on Tandy 2000 SeeAlso: INT 14/AH=00h"SERIAL",INT 14/AH=01h,INT 14/AH=02h,INT 14/AH=03h SeeAlso: INT 14/AH=04h"Tandy 2000",INT 52"Tandy 2000",INT 54"Tandy 2000" --------N-53--------------------------------- INT 53 - WEB??? - API BX = function 0000h ??? AX = ??? Return: AX = ??? 0004h ??? 0009h ??? 0015h AX = ??? DX = ??? 0017h Return: ??? InstallCheck: check for the signature "WEBCO" immediately prior to the interrupt handler Note: the above calls are made by Show Partner F/X v3.6 (see INT 10/AH=53h) Index: installation check;unknown|installation check;WEBCO --------H-54--------------------------------- INT 54 - IRQ4 relocated by DESQview Range: INT 54 to INT FC, selected automatically Note: this is the default location for older versions; see INT 50"DESQview" for details of interrupt relocation SeeAlso: INT 50"DESQview",INT 58"DESQview" --------H-54--------------------------------- INT 54 - IRQ4 relocated by IBM 3278 emulation control program, OS/2 v1.x SeeAlso: INT 51"IBM 3278",INT 51"OS/2" ----------54--------------------------------- INT 54 - TI Professional PC - ACTIVATE TASK SUBROUTINE Notes: documented as "for system use only"; intended for multi-tasking software this interrupt is not used by the BIOS; the default handler generates a system error trap (see INT 51"TI Professional") SeeAlso: INT 50"TI Professional",INT 53"TI Professional" --------b-54--------------------------------- INT 54 - Tandy 2000 - LINE PRINTER Note: this interrupt is identical to INT 17 on Tandy 2000 SeeAlso: INT 17/AH=00h,INT 17/AH=01h,INT 17/AH=02h,INT 4A"Tandy 2000" SeeAlso: INT 53"Tandy 2000",INT 55"Tandy 2000" --------X-545400----------------------------- INT 54 U - Toshiba PCMCIA2 - INSTALLATION CHECK AX = 5400h Return: AX = 0054h if installed CX:DX -> INT function handler --------H-55--------------------------------- INT 55 - IRQ5 relocated by DESQview Range: INT 55 to INT FD, selected automatically Note: this is the default location for older versions; see INT 50"DESQview" for details of interrupt relocation SeeAlso: INT 50"DESQview",INT 58"DESQview" --------H-55--------------------------------- INT 55 - IRQ5 relocated by IBM 3278 emulation control program, OS/2 v1.x SeeAlso: INT 51"IBM 3278",INT 51"OS/2" --------b-55--------------------------------- INT 55 - TI Professional PC - RESERVED FOR FUTURE USE Notes: documented as "for system use only"; intended for multi-tasking software this interrupt is not used by the BIOS; the default handler generates a system error trap (see INT 51"TI Professional") SeeAlso: INT 50"TI Professional",INT 56"TI Professional" --------b-55--------------------------------- INT 55 - Tandy 2000 - SYSTEM CLOCK Note: this interrupt is identical to INT 1A on Tandy 2000 SeeAlso: INT 1A/AH=00h,INT 1A/AH=01h,INT 1A/AH=02h"Tandy 2000" SeeAlso: INT 1A/AH=03h"Tandy 2000",INT 54"Tandy 2000",INT 56"Tandy 2000" --------H-56--------------------------------- INT 56 - IRQ6 relocated by DESQview Range: INT 56 to INT FE, selected automatically Note: this is the default location for older versions; see INT 50"DESQview" for details of interrupt relocation SeeAlso: INT 50"DESQview",INT 58"DESQview" --------H-56--------------------------------- INT 56 - IRQ6 relocated by IBM 3278 emulation control program, OS/2 v1.x SeeAlso: INT 51"IBM 3278",INT 51"OS/2" --------b-56--------------------------------- INT 56 - TI Professional PC - RESERVED FOR FUTURE USE Notes: documented as "for system use only"; intended for multi-tasking software this interrupt is not used by the BIOS; the default handler generates a system error trap (see INT 51"TI Professional") SeeAlso: INT 50"TI Professional",INT 55"TI Professional" --------b-56--------------------------------- INT 56 - Tandy 2000 - FLOPPY DISK SERVICES Note: this interrupt is identical to INT 13 on Tandy 2000 SeeAlso: INT 13/AH=00h,INT 13/AH=01h,INT 13/AH=02h,INT 13/AH=03h SeeAlso: INT 4A"Tandy 2000",INT 51"Tandy 2000",INT 55"Tandy 2000" --------H-57--------------------------------- INT 57 - IRQ7 relocated by DESQview Range: INT 57 to INT FF, selected automatically Note: this is the default location for older versions; see INT 50"DESQview" for details of interrupt relocation SeeAlso: INT 50"DESQview",INT 58"DESQview" --------H-57--------------------------------- INT 57 - IRQ7 relocated by IBM 3278 emulation control program, OS/2 v1.x SeeAlso: INT 51"IBM 3278",INT 51"OS/2" --------b-57--------------------------------- INT 57 C - TI Professional PC - CRT MAPPING HOOK AX/BX/CX/DX/BP/SI/DI same as on entry to CRT subroutine (e.g. INT 49) DS = BIOS system segment ES = DE00h Return: DF/IF flags must be preserved ES,DS,BP preserved AX,BX,CX,DX,SI,DI may be changed as necessary to modify the original call Desc: hooking this vector permits programs to intercept or modify all screen output, including both application calls to INT 49 and calls generated internally by the BIOS which bypass INT 49 Note: by default, this vector points at an IRET instruction SeeAlso: INT 49/AH=01h"TI",INT 50"TI Professional" --------H-58--------------------------------- INT 58 - IRQ8 relocated by DESQview 2.26+ Range: INT 58 to INT F8, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 59"DESQview",INT 70 --------H-58--------------------------------- INT 58 - IRQ0 relocated by DoubleDOS SeeAlso: INT 08 --------b-58--------------------------------- INT 58 C - TI Professional PC - SYSTEM TIMER 25ms HOOK Desc: called from the hardware timer tick interrupt, after executing the first four BIOS timing events, updating the system clock, invoking INT 5A if required, saving registers, and switching to a temporary stack (the one reserved for IRQ3) Notes: the handler for this interrupt may destroy AX,BX,DI,ES but must preserve all other registers; 8 WORDs of stack space are available, of which at most 4 may be used if the handler enables interrupts if the handler switches stacks (because more than 4/8 WORDs are required), the original stack must be restored before chaining to the previous handler SeeAlso: INT 43"TI Professional",INT 4C"TI Professional" SeeAlso: INT 5A"TI Professional" --------H-59--------------------------------- INT 59 - IRQ9 relocated by DESQview 2.26+ Range: INT 59 to INT F9, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 58"DESQview",INT 5A"DESQview",INT 71 --------H-59--------------------------------- INT 59 - IRQ1 relocated by DoubleDOS SeeAlso: INT 09 --------b-59--------------------------------- INT 59 - TI Professional PC - COMMON ROM HARDWARE INTERRUPT EXIT VECTOR Desc: all hardware interrupts on the TI Pro jump indirectly to the handler pointed at by this interrupt vector to finish their handling of the hardware interrupt Notes: the default handler decrements the interrupt count, restores registers (including the stack pointer), sends an EOI to the interrupt controller, and finally does an IRET can be used by multitaskers which need to get control after every hardware interrupt SeeAlso: INT 40"TI Professional",INT 47"TI Professional" SeeAlso: INT 53"TI Professional" --------V-59--------------------------------- INT 59 - GSS Computer Graphics Interface (GSS*CGI) DS:DX -> block of 5 array pointers Return: CF set on error AX = error code CF clear if successful AX = return code Note: INT 59 is the means by which GSS*CGI language bindings communicate with GSS*CGI device drivers and the GSS*CGI device driver controller. also used by the IBM Graphic Development Toolkit --------H-5A--------------------------------- INT 5A - IRQ10 relocated by DESQview 2.26+ Range: INT 5A to INT FA, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 59"DESQview",INT 5B"DESQview",INT 72 --------H-5A--------------------------------- INT 5A - IRQ2 relocated by DoubleDOS SeeAlso: INT 0A"IRQ2" --------N-5A--------------------------------- INT 5A - PC Cluster adapter BIOS entry address ??? Return: ??? SeeAlso: INT 5B"PC Cluster" --------b-5A--------------------------------- INT 5A - TI Professional PC - SYSTEM TIMER 100ms HOOK Desc: called from the hardware timer tick interrupt, after executing the first four BIOS timing events, updating the system clock, saving registers, and switching to a temporary stack (the one reserved for IRQ3), but before calling INT 58 no details available Notes: this interrupt is invoked on every fourth timer interrupt the handler for this interrupt may destroy AX,BX,DI,ES but must preserve all other registers; 8 WORDs of stack space are available, of which at most 4 may be used if the handler enables interrupts if the handler switches stacks (because more than 4/8 WORDs are required), the original stack must be restored before chaining to the previous handler SeeAlso: INT 43"TI Professional",INT 4C"TI Professional" SeeAlso: INT 58"TI Professional" --------H-5B--------------------------------- INT 5B - IRQ11 relocated by DESQview 2.26+ Range: INT 5B to INT FB, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 5A"DESQview",INT 5C"DESQview",INT 73 --------H-5B--------------------------------- INT 5B - IRQ3 relocated by DoubleDOS SeeAlso: INT 0B --------N-5B--------------------------------- INT 5B - PC cluster adapter - RELOCATED INT 19 SeeAlso: INT 19,INT 5A"PC Cluster" --------N-5B--------------------------------- INT 5B - AT&T Starlan Extended NetBIOS (variable length names) ES:BX -> Network Control Block (see #03245) Return: AL = status (see #03248) SeeAlso: INT 5C"NetBIOS" Format of Starlan Network Control Block: Offset Size Description (Table 03245) 00h BYTE ncb_command (see also #03250) 70h send net Break 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 #03249) --------N-5B--------------------------------- INT 5B - Microsoft Network Transport Layer Interface Note: used by MS-NET for executing network commands SeeAlso: INT 5C"NetBIOS" --------N-5B--------------------------------- INT 5B - used by Alloy NTNX --------N-5B--------------------------------- INT 5B - ISOLAN Multi Protocol Software ES:BX -> Transfer Control Block (see #03246) Return: AL = status Note: this software interface allows multiple protocols/software packages to access a BICC 411x network card Format of ISOLAN Transfer Control Block: Offset Type Description (Table 03246) 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 --------b-5B--------------------------------- INT 5B C - TI Professional PC - KEYBOARD MAPPING HOOK CF set AH = shift state (see #03247) AL = scan code (see #03214) Return: BX, CX, DI, ES may be destroyed various return methods are supported: IRET, AX unchanged: process keystroke normally IRET, AL = FFh: discard keystroke IRET, AX changed: process modified keystroke chain to old INT 5B: allow other handlers to look at (possibly modified) keystroke in AX RETF 2, CF clear: place returned AX into keyboard buffer without any further processing Notes: invoked by the keyboard ISR, and used to remap the keyboard if CF is clear on entry, some other handler has processed the keystroke and the current handler should not modify it, instead performing a RETF 2 or IRET (after clearing CF on the stack) when requesting that a value be placed directly into the keyboard buffer, AL and AH may not *both* be nonzero (the TI does not return scan codes as part of the key code for non-extended keys) SeeAlso: INT 15/AH=4Fh,INT 4A/AH=00h"TI",INT 59"TI Professional" SeeAlso: INT 5C"TI Professional",INT 5D"TI Professional" SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional" Bitfields for TI Professional PC keyboard mapping hook shift states: Bit(s) Description (Table 03247) 7 CAPS LOCK is on 6-4 reserved (0) 3 repeated key 2 Shift is pressed 1 Alt is pressed 0 Ctrl is pressed --------U-5B5254DL04------------------------- INT 5B U - SitBack v3.02R - GET ??? AX = 5254h DL = 04h Return: ES:BX -> ??? in resident portion Program: SitBack is a background file backup utility by SitBack Technologies, Inc. which initiates backups whenever the system is idle SeeAlso: AX=8485h/DL=71h,AX=8485h/DL=72h --------U-5B8485DL70------------------------- INT 5B U - SitBack v3.02R - INSTALLATION CHECK AX = 8485h DL = 70h Return: CX = 8485h if installed DX:AX -> ??? (configuration data?) Program: SitBack is a background file backup utility by SitBack Technologies, Inc. which initiates backups whenever the system is idle SeeAlso: AX=5254h/DL=04h,AX=8485h/DL=78h --------U-5B8485DL71------------------------- INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS AX = 8485h DL = 71h Return: ES:BX -> FAR entry point to ??? Note: the flag which is modified is located at the address returned by AX=5254h/DL=04h SeeAlso: AX=8485h/DL=72h --------U-5B8485DL72------------------------- INT 5B U - SitBack v3.02R - CLEAR ??? FLAG AX = 8485h DL = 72h Note: the flag which is modified is located at the address returned by AX=5254h/DL=04h SeeAlso: AX=8485h/DL=71h --------U-5B8485DL73------------------------- INT 5B U - SitBack v3.02R - ??? AX = 8485h DL = 73h ??? Return: ??? --------U-5B8485DL74------------------------- INT 5B U - SitBack v3.02R - ??? AX = 8485h DL = 74h ??? Return: ??? --------U-5B8485DL75------------------------- INT 5B U - SitBack v3.02R - ??? AX = 8485h DL = 75h CX = ??? Return: ??? SeeAlso: AX=8485h/DL=76h --------U-5B8485DL76------------------------- INT 5B U - SitBack v3.02R - ??? AX = 8485h DL = 76h CX = ??? Return: ??? Note: conditionally calls the code for AX=8485h/DL=75h SeeAlso: AX=8485h/DL=75h --------U-5B8485DL77------------------------- INT 5B U - SitBack v3.02R - SET ??? FLAG AX = 8485h DL = 77h --------U-5B8485DL78------------------------- INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT AX = 8485h DL = 78h Return: CX = 5342h if supported ES = AX = segment of TSR data SeeAlso: AX=8485h/DL=70h,AX=8485h/DL=79h --------U-5B8485DL79------------------------- INT 5B U - SitBack v3.02R - GET DTA AX = 8485h DL = 79h Return: CX = 5342h if supported ES:BX -> DTA set by last INT 21/AH=1Ah Note: this function is provided by SBOS.EXE rather than SB.EXE SeeAlso: INT 21/AH=1Ah --------U-5B8485DL7A------------------------- INT 5B U - SitBack v3.02R - TOGGLE ??? AX = 8485h DL = 7Ah Return: CX = 5342h if supported AL = new value of ??? (00h or 01h) --------N-5C--------------------------------- INT 5C - NetBIOS INTERFACE ES:BX -> network control block (NCB) (see #03249) Return: AL = status (see #03248) Program: NetBIOS was developed by Sytek, Inc. in 1984 as a high-level programming interface to the IBM PC Network; the first implementation was a ROM BIOS extension on Sytek's PCnet LAN adapter card, but many current networks support NetBIOS as the session layer. Notes: The Sytek PCnet card uses DMA 3. On some machines this vector is not initialized (e.g. Epson machines). Hence this interrupt should only be called or hooked if the vector does not point to 0000h:0000h. SeeAlso: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B"Extended NetBIOS" (Table 03248) Values for NetBIOS status: 00h successful 01h bad buffer size 03h invalid NETBIOS command 05h timeout 06h receive buffer too small 07h No-ACK command failed 08h bad session number 09h LAN card out of memory 0Ah session closed 0Bh command has been cancelled 0Dh name already exists 0Eh local name table full 0Fh name still in use, can't delete 11h local session table full 12h remote PC not listening 13h bad NCB_NUM field 14h no answer to CALL or no such remote 15h name not in local name table 16h duplicate name 17h bad delete 18h abnormal end 19h name error, multiple identical names in use 1Ah bad packet 21h network card busy 22h too many commands queued 23h bad LAN card number 24h command finished while cancelling 26h command can't be cancelled 30h name defined by another process (OS/2) 34h NetBIOS environment not defined, must issue reset (OS/2) 35h required operating system resources exhausted (OS/2) 36h maximum applications exceeded (OS/2) 37h no SAPs available for NetBIOS (OS/2) 38h requested resources not available (OS/2) 40h Lana System Error 41h Lana Remote Hot Carrier 42h Lana Local Hot Carrier 43h Lana No Carrier Detected 44h unusual network condition 45h-4Dh hardware error 4Eh token ring is broken 4Fh token ring error 50h adapter malfunction F7h error in explicit INITIALIZE F8h error in implicit OPEN F9h TOKREUI internal error FAh hardware adapter testing FBh NetBIOS emulator not found FCh OPEN or OPEN_SAP failure FDh unexpected adapter closure FFh NetBIOS busy (command pending) Format of NetBIOS Network Control Block: Offset Size Description (Table 03249) 00h BYTE command code (see #03250) 01h BYTE return code (see #03248) 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 #03248) 32h 14 BYTEs reserved for network card (Table 03250) Values for NetBIOS command code field in NCB: 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 #03251) 34h status of all sessions for name (see #03253) 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 7Fh Beame&Whiteside BWNB installation check (returns with return code and completion code both set to 03h, while invalid functions return only return code field set to 03h) Note: OR any of the above except 70h with 80h for non-waiting call Format of NetBIOS structure "astatus": Offset Size Description (Table 03251) 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 (see #03252) Note: it has been reported that the first field should be 16 bytes instead of six (shifthing all remaining fields by ten bytes) Format of NetBIOS structure "name": Offset Size Description (Table 03252) 00h 16 BYTEs "nm_name" symbolic name 10h BYTE "nm_num" number associated with name 11h BYTE nm_status Format of NetBIOS structure "sstatus": Offset Size Description (Table 03253) 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 #03254) Format of NetBIOS structure "session": Offset Size Description (Table 03254) 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 --------H-5C--------------------------------- INT 5C - IRQ12 relocated by DESQview 2.26+ Range: INT 5C to INT FC, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 5B"DESQview",INT 5D"DESQview",INT 74 --------H-5C--------------------------------- INT 5C - IRQ4 relocated by DoubleDOS SeeAlso: INT 0C --------N-5C--------------------------------- INT 5C - TOPS INTERFACE ES:BX -> Network Control Block Note: TOPS card uses DMA 1, 3 or none. --------N-5C--------------------------------- INT 5C - ATALK.SYS - AppleTalk INTERFACE DX:BX -> control block (see #03256) Return: none InstallCheck: test for the signature "AppleTalk" 16 bytes prior to the interrupt handler Range: INT 5Ch to INT 70h Index: installation check;ATALK.SYS|installation check;AppleTalk interface (Table 03255) Values for ATALK.SYS 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" Format of AppleTalk control block: Offset Size Description (Table 03256) 00h WORD command code (see #03255) 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 (see #03257) 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 #03258) Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP: Offset Size Description (Table 03257) 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 (Table 03258) 00h DWORD pointer to buffer 04h WORD size of buffer 06h WORD BDS data size 08h 4 BYTEs "bds_userbytes" --------N-5C--------------------------------- INT 5C - IBM 802.2 INTERFACE (LLC) ES:BX -> CCB (see #03259) Return: none Format of IBM 802.2 CCB: Offset Size Description (Table 03259) 00h BYTE adapter 01h BYTE command code 02h BYTE return code 03h BYTE work 04h DWORD pointer to ??? 08h DWORD pointer to completion function??? 0Ch DWORD pointer to parameters??? --------N-5C--------------------------------- INT 5C - $25 LAN - INSTALLATION CHECK Notes: current versions only check whether the vector is 0000h:0000h or not future versions are supposed to have the signature "NET" in the three bytes preceding the INT 5C handler --------b-5C0100----------------------------- INT 5C C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR AX = 0100h CF clear Return: CF clear AX = keystroke to be placed into keyboard buffer CF set AX ignored Desc: toggle a pause flag which is checked by the CRT Device Service Routine (see INT 49/AH=01h"TI") and causes it to temporarily halt the machine on the next video-related function (until a key is pressed) SeeAlso: INT 09"IRQ1",INT 4A/AH=00h"TI",INT 59"TI Professional" SeeAlso: INT 5B"TI Professional",INT 5D"TI Professional" SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional" --------N-5C04------------------------------- INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE AH = 04h AL = COM port (0 = default) CX = wait count in character times (should be at least 100) Return: ZF set if link alive --------H-5D--------------------------------- INT 5D - IRQ13 relocated by DESQview 2.26+ Range: INT 5D to INT FD, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 5C"DESQview",INT 5E"DESQview",INT 75 --------H-5D--------------------------------- INT 5D - IRQ5 relocated by DoubleDOS SeeAlso: INT 0D"IRQ5",INT 5C"DoubleDOS" --------b-5D--------------------------------- INT 5D C - TI Professional PC - KEYBOARD BREAK KEY VECTOR CF clear AX = 0000h Return: CF clear AX = keystroke to place into keyboard buffer CF set AX ignored Desc: invoked by the keyboard ISR when Shift-BrkPause is pressed Note: the default handler is a simple IRET instruction SeeAlso: INT 09"IRQ1",INT 4A/AH=00h"TI",INT 59"TI Professional" SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional" SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional" --------H-5E--------------------------------- INT 5E - IRQ14 relocated by DESQview 2.26+ Range: INT 5E to INT FE, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 5D"DESQview",INT 5F"DESQview",INT 76 --------H-5E--------------------------------- INT 5E - IRQ6 relocated by DoubleDOS SeeAlso: INT 0E,INT 5D"DoubleDOS" --------b-5E--------------------------------- INT 5E C - TI Professional PC - KEYBOARD PRINT-SCREEN VECTOR CF set Return: CF clear AX = keystroke to be placed into keyboard buffer CF set AX ignored Desc: hook to dump the screen to the printer Notes: hooked by TI MS-DOS, which provides a PRTSCRN character device which can invoke screen prints when a decimal digit (indicating the type of screen dump) is written to it the TI MS-DOS print-screen routine allows selective dumps of text only, graphics only, or text and graphics superimposed, in either normal or reverse, by pressing the appropriate keystroke combination: Shift-Print, Ctrl-Print, Alt-Print, Shift-Alt-Print, Ctrl-Alt-Print, or Shift-Ctrl-Print. the BIOS default routine for this vector is an IRET SeeAlso: INT 05"PRINT SCREEN",INT 4A/AH=00h"TI",INT 59"TI Professional" SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional" SeeAlso: INT 5D"TI Professional",INT 5F"TI Professional" --------H-5F--------------------------------- INT 5F - IRQ15 relocated by DESQview 2.26+ Range: INT 5F to INT FF, selected automatically Note: this is the default, but other INTs may be used (see INT 50"DESQview") SeeAlso: INT 50"DESQview",INT 5E"DESQview",INT 77 --------H-5F--------------------------------- INT 5F - IRQ7 relocated by DoubleDOS SeeAlso: INT 0F,INT 5E"DoubleDOS" --------b-5F--------------------------------- INT 5F C - TI Professional PC - KEYBOARD QUEUEING VECTOR Return: all registers preserved Desc: hook for multitaskers to be informed when a keypress is placed in the keyboard buffer Note: the default handler is a simple IRET instruction SeeAlso: INT 09,INT 4A/AH=00h"TI",INT 59"TI Professional" SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional" SeeAlso: INT 5D"TI Professional",INT 5E"TI Professional" --------b-5F00------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET VIDEO MODE AH = 00h AL = video mode 03h text,CGA color (100LX/200LX) 06h 640x200 CGA graphics (100LX/200LX) 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 Notes: 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 modes 03h and 06h can also be set with the standard INT 10/AH=00h SeeAlso: INT 0F"HP 95LX",INT 10/AH=00h,INT 15/AX=4DD4h --------b-5F01------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET FILL MASK AH = 01h ES:DI -> 8-byte fill mask Note: the fill mask represents an 8x8 pixel box and is repeated as necessary when drawing filled rectangles; it is always aligned with the byte boundaries of video memory, regardless of the actual boundaries of the rectangle SeeAlso: AH=02h --------b-5F02------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFO AH = 02h ES:DI -> graphics info record (see #03260) Return: DX:AX -> filled graphics info record (for return to high-level langs) Format of HP 95LX graphics info record: Offset Size Description (Table 03260) 00h BYTE current video mode 01h BYTE default video mode 02h WORD display width in pixels 04h WORD display height in pixels 06h WORD current pen column 08h WORD current pen row 0Ah WORD current line type 0Ch WORD current replacement rule 0Eh WORD current pen color 10h WORD current leftmost column of clip region 12h WORD current rightmost column of clip region 14h WORD current topmost row of clip region 16h WORD current bottommost row of clip region 18h WORD current column of logical origin 1Ah WORD current row of logical origin 1Ch 8 BYTEs current fill mask --------b-5F03------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN AH = 03h CX = column DX = row SeeAlso: AH=04h --------b-5F04------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET CLIP REGION AH = 04h CX = left-most column DX = top-most row SI = right-most column DI = bottom-most row SeeAlso: AH=03h --------b-5F05------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW RECTANGLE AH = 05h AL = fill type 00h outline, using current line type and color 01h solid, using current color 02h pattern, using current fill mask and color DX,CX = row,column of other corner of rectangle Note: the rectangle is drawn starting at the current pen position SeeAlso: AH=01h,AH=06h,AH=07h --------b-5F06------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW LINE AH = 06h DX,CX = row,column of end point Note: the line is drawn starting at the current pen position SeeAlso: AH=05h,AH=07h --------b-5F07------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PLOT POINT AH = 07h DX,CX = row,column of point Note: also sets pen position to the specified point SeeAlso: AH=06h,AH=08h,AH=0Ch --------b-5F08------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - MOVE PEN AH = 08h DX,CX = row,column of new pen position SeeAlso: AH=07h,AH=09h --------b-5F09------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET PEN COLOR AH = 09h AL = new color (00h = white, 01h = black) SeeAlso: AH=08h,AH=0Ah,AH=0Bh --------b-5F0A------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE AH = 0Ah AL = new replacement rule 00h force 01h AND 02h OR 03h XOR ---100LX/200LX--- 04h InvForce 05h InvAND 06h InvOR 07h InvXOR 08h Txt SeeAlso: AH=01h,AH=09h,AH=0Bh --------b-5F0B------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LINE TYPE AH = 0Bh CX = new line type Note: the line type specifies 16 bits which are repeated over and over while drawing the pixels of a line SeeAlso: AH=09h,AH=0Ah --------b-5F0C------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET PIXEL AH = 0Ch DX,CX = row,column of pixel to read Return: AX = pixel color SeeAlso: AH=07h --------b-5F0D------------------------------- INT 5F - HP 95LX/100LX/200LX 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 #03261) Note: the specified corners are included in the saved image SeeAlso: AH=0Eh Format of HP 95LX image buffer: Offset Size Description (Table 03261) 00h WORD number of planes (always 01h on HP 95LX) 02h WORD number of bits/pixel (always 01h on HP 95LX) 04h WORD image width in pixels 06h WORD image height in pixels 08h N BYTEs image data requires (WIDTH+7)/8 * HEIGHT bytes --------b-5F0E------------------------------- INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PUT IMAGE AH = 0Eh AL = replacement rule (see #03262) DX,CX = row,column of top left corner ES:DI -> image buffer (see #03261) Note: if the specified image does not fit completely on the screen, this call does nothing SeeAlso: AH=0Dh Bitfields for replacement rule: Bit(s) Description (Table 03262) 2 invert image before applying rule 1-0 function (00 force, 01 AND, 10 OR, 11 XOR) --------b-5F0F------------------------------- INT 5F - HP 95LX/100LX/200LX 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 --------b-5F10------------------------------- INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - GET FONT POINTER AH = 10h CX = font size of desired font 0808h 8x8 small (80x25 text) 0A0Bh 11x10 medium (64x18 text) 100Ch 12x16 large (40x16 text) Return: DX:AX -> ptr to font or 0000h:fontID# if built-in font SeeAlso: AH=11h --------b-5F11------------------------------- INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - SET CURRENT FONT AH = 11h ES:DI -> ptr to font or 0000h:fontID# for built-in font Note: this function should be called immediately after AH=10h with the pointer supplied by that call SeeAlso: AH=10h --------*-60--------------------------------- INT 60 - reserved for user interrupt --------v-60--------------------------------- INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK Desc: 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"VIRUS",INT 44"VIRUS",INT 61"SEMTEX" --------d-60--------------------------------- INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA SeeAlso: INT 41"HARD DISK 0",INT 61"Adaptec",INT 62"Adaptec",INT 63"Adaptec" SeeAlso: INT 64"Adaptec",INT C0"AMI",#00732 at INT 1A/AX=B102h Notes: this vector stores the first four bytes of the parameter table for hard disk 0 these vectors are used by the following Adaptec controllers: ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16 these vectors are NOT used by the following Adaptec controllers: ACB 2310, ACB 2312, ACB 2320D, ACB 2322D --------b-60--------------------------------- INT 60 - TI Professional PC - SYSTEM ROM DATA AREA POINTER (NOT A VECTOR!) Desc: the low word of this vector contains the segment of the RAM data area to be used by the system ROM at F400h:A000h, and the high word contains the length of the data area (see #03263) SeeAlso: INT 61"TI Professional PC",INT 66"TI Professional PC" Format of TI Professional System ROM data area: Offset Size Description (Table 03263) 00h BYTE port 00h shadow 01h BYTE port 03h shadow 02h BYTE port 04h shadow 03h WORD system configuration word (see #03266) 05h BYTE 25ms count 06h WORD offset of timing event 1 (0008h) 08h WORD (event 1) offset of timing event 2 (0010h) 0Ah BYTE (event 1) unused (FFh) 0Bh BYTE (event 1) active flag (bit 7 set if on) 0Ch WORD (event 1) count-down until end of event 0Eh WORD (event 1) event routine (in segment F400h) to call at timeout 10h WORD (event 2) offset of timing event 3 (0018h) 12h BYTE (event 2) unused (FFh) 13h BYTE (event 2) active flag (bit 7 set if on) 14h WORD (event 2) count-down until end of event 16h WORD (event 2) event routine (in segment F400h) to call at timeout 18h WORD (event 3) offset of timing event 3 (0020h) 1Ah BYTE (event 3) unused (FFh) 1Bh BYTE (event 3) active flag (bit 7 set if on) 1Ch WORD (event 3) count-down until end of event 1Eh WORD (event 3) event routine (in segment F400h) to call at timeout 20h WORD (event 4) 0000h - last event 22h BYTE (event 4) unused (FFh) 23h BYTE (event 4) active flag (bit 7 set if on) 24h WORD (event 4) count-down until end of event 26h WORD (event 4) event routine (in segment F400h) to call at timeout 28h WORD offset of start of text display within segment DE00h 2Ah WORD end of display 2Ch WORD current absolute cursor position 2Eh WORD start of current character row 30h WORD current cursor column 32h WORD cursor type and size (see #03264) 34h WORD start of protected status region on screen (0000h = none) 36h BYTE pop flag used by some ROM routines 00h pop registers before return nonzero: do not pop 37h BYTE unused (FFh) 38h BYTE PAUSE flag 00h off FFh on 39h BYTE temp: current attribute while moving characters on screen 3Ah WORD start of keyboard queue (next key at start+2 or 0042h if 0060h) 3Ch WORD end of keyboard queue (next key inserted at end+2 or 0042h) 3Eh BYTE number of characters in buffer 3Fh BYTE keyboard mode flags (see #03265) 40h BYTE Alt-digit-digit-digit accumulator 41h BYTE Alt-digit-digit-digit count of digits (mod 3) 42h 16 WORDs keyboard buffer (circular queue) 62h 8 DWORDs Drive Interface Table pointers for floppies A:-D: + four others (0000h:0000h if pointer not in use) 82h BYTE disk-error retry count (incremented on each disk error) 83h 2 BYTEs BIOS scratch space 85h 8 BYTEs current cylinder number for drives 0-7 FFh = unknown 8Dh BYTE BIOS scratch space 8Eh BYTE hard error code for last disk access 00h operation successful 8Fh 8 BYTEs save area for disk DSR parameters 97h 6 BYTEs current drive status 9Dh BYTE retry error status 9Eh BYTE BIOS scratch space 9Fh 7 BYTEs ??? A6h 2 WORDs INT 47 save area for SS,SP AAh 2 WORDs INT 46 save area for SS,SP AEh 2 WORDs INT 43 save area for SS,SP B2h 2 WORDs save area for SS,SP to be restored by common intr. exit routine B6h 24 WORDs stack for INT 47 E6h 24 WORDs stack for INT 46 116h 17 WORDs stack for INT 43 13Ah 6 BYTEs system date and time (hundredths, seconds, minutes, hours, and WORD days since 01jan1980) Note: timing event 1 is the disk I/O timeout, event 2 is the floppy disk motor timeout, event 3 is the floppy disk motor spin-up time, and event 4 is used to turn off the speaker after a delay Bitfields for TI Professional PC cursor size and type: Bit(s) Description (Table 03264) 15 reserved (0) 14-13 cursor type 00 nonblinking 01 off 10 slow blink 11 fast blink 12-8 starting scan line (0-11) 7-5 reserved (0) 4-0 ending scan line (0-11) SeeAlso: #03263 Bitfields for TI Professional PC keyboard mode flags: Bit(s) Description (Table 03265) 7 CapsLock was ON at last keypress 6-4 reserved (0) 3 repeat key 2 Shift was down at last keypress 1 Alt was down at last keypress 0 Ctrl was down at last keypress SeeAlso: #03263 Bitfields for TI Professional System Configuration Word: Bit(s) Description (Table 03266) 0 drive A: installed 1 drive B: installed 2 drive C: installed 3 drive D: installed 4 drive A: is 80-track 5 drive A: is double-sided 6 60-Hz (USA,etc.) system instead of 50-Hz (Europe) 7 hard disk installed 8 serial port 1 installed 9 serial port 2 installed 10 serial port 3 installed 11 serial port 4 installed 14-12 installed graphics planes 000 none 001 plane A 111 planes A, B, and C 15 clock installed SeeAlso: #03263 --------b-60--------------------------------- INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS Desc: supplies a number of subfunctions which perform such functions as drawing boxes and menus, and provide input line editing SeeAlso: INT 61/AH=00h"Atari",INT 61"EXTENDED BIOS" --------V-60--------------------------------- INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK Program: Nabbit is a shareware resident screen data grabber by RSE Inc. Range: INT 60 to INT 66, selected by searching for first free vector Note: the Nabbit installation check consists of testing whether the interrupt vector points at the ASCIZ signature string "iG" (69h 47h 00h) --------V-60--------------------------------- INT 60 - ATI M64VBE.COM - INSTALLATION SIGNATURE Program: M64VBE is a VESA VBE 2.0 driver TSR for ATI's Mach64 video chip InstallCheck: scan for an interrupt with the ASCIZ signature "M64VBE" three bytes past the interrupt handler Range: INT 60 to INT 66, selected by searching for first free vector SeeAlso: INT 10/AX=4FDDh"M64VBE",INT 10/AX=4FFFh/BX=364Dh"M64VBE" --------V-60--------------------------------- INT 60 U - Buffit v3.0 - (NOT A VECTOR!) - INSTALLATION CHECK Program: Buffit is a shareware scrollback utility by D.T. Hamilton Range: INT 60 to INT 6F, selected by searching for first free vector Notes: the Buffit installation check consists of testing whether the interrupt vector points at the ASCII signature "Buffit " there is a private entry point (see #03267) immediately following the signature string, i.e. eight bytes beyond the address pointed at by the interrupt vector (Table 03267) Call Buffit private entry point with: AH = function 00h get information and hotkey state 01h get information and toggle hotkey state Return: AH = new hotkey state (00h enabled, 01h disabled) AL = hotkey scan code (see #00006) BH = hotkey shift states BL = ??? (01h) CX = segment of resident code DH = interrupt number used for signature pointer DL = ??? (00h) SI = INT 09 handler offset DI = INT 21 handler offset Index: hotkeys;Buffit --------r-60--------------------------------- INT 60 - PC-IPC API STACK: DWORD pointer to parameter block (see #03268) Return: STACK: unchanged Program: PC-IPC is a shareware TSR by Donnelly Software Engineering which allows communication between independent programs Range: INT 00 to INT FF, selected by commandline switch Format of PC-IPC parameter block: Offset Size Description (Table 03268) 00h WORD caller's ID 02h WORD to ID 04h WORD command code (see #03269) 06h WORD returned status (see #03270) 08h WORD returned error code (see #03271) 0Ah WORD size of data 0Ch DWORD pointer to data buffer (Table 03269) Values for PC-IPC 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 Bitfields for returned status: Bit(s) Description (Table 03270) 0 unused 1 IPC enabled 2 IPC installed 3 error 4 message(s) available (Table 03271) Values for PC-IPC error code: 00h no error 01h invalid command or parameter 02h only process 0 can install/reset IPC 03h process can not install/reset IPC 04h IPC is not enabled 05h process can not disable IPC 06h invalid destination process ID 07h invalid sending process ID 08h invalid data destination 09h no more process IDs available 0Ah can not relinquish that process ID 0Bh message space is full 0Ch IPC is not installed --------R-60--------------------------------- INT 60 - Tangram Arbiter - API Desc: Arbiter makes a PC disk look like a slow disk over an SNA link to an IBM mainframe Range: INT 60h to INT 66h, selected by configuration parameter Notes: identified by string "@ARB_API" immediately following a short jump at the interrupt handler address --------N-60--------------------------------- INT 60 - Excelan LAN Workplace for DOS 3.5 - API ES:BX -> request packet (see #03272) Return: request packet updated InstallCheck: test for the WORD 4142h ('AB') immediately preceding the interrupt handler Note: this interrupt is also supported by Beame&Whiteside's BWLWP35 shim, which was used in creating this description BUG: because BWLWP35 range-checks only the low byte of the function number, and has a fencepost error even in that test, functions 000Bh and XX01h-XX0Bh (XX nonzero) branch to random locations SeeAlso: INT 2F/AX=7A40h Format of Excelan request packet: Offset Size Description (Table 03272) 00h 12 BYTEs ??? 0Ch WORD (ret) error code (see #03273) 0Eh DWORD -> FAR function for ??? 12h WORD function number 0001h ??? 0002h NOP 0003h NOP 0004h NOP 0005h ??? 0006h get ??? record 0007h NOP 0008h reset ??? 0009h NOP 000Ah set ??? ??? ---function 01h--- 20h BYTE (call) subfunction (32h-3Bh) 3Bh non-blocking I/O request (will be tested every clock tick) 21h BYTE (ret) error code 00h successful 09h invalid connection number 2Ah bad connection type 45h ??? ---function 01h, subfunction 32h--- 3Ah WORD (call) connection type (01h stream, 02h datagram) ---function 01h, subfunction 34h--- 26h WORD (call) ??? 28h WORD (call) ??? 2Ah WORD (call) ??? ---function 01h, subfunction 35h--- 1Ah WORD (call) connection number??? 26h WORD (ret) ??? ---function 01h, subfunction 36h--- 1Ah WORD (call) connection number??? 38h WORD ??? ---function 01h, subfunction 37h--- 24h WORD (ret) ??? 26h WORD (ret) ??? ---function 01h, subfunction 38h--- 1Ah WORD (call) connection number??? ---function 01h, subfunction 3Ah--- 22h WORD (call) ??? 667Eh ??? 667Fh ??? 24h BYTE (call 667Eh) ??? 24h WORD (return 667Fh) ??? ---function 01h, subfunction 3Bh--- 0Eh DWORD (call) -> function to invoke for I/O or 0000h:0000h function called with AX = 0000h STACK: DWORD -> request packet WORD 0000h should return STACK unchanged 1Ah WORD (call) connection number??? 21h BYTE (ret) set to 01h when I/O becomes possible 22h BYTE (call) direction (00h write, 01h read) 34h DWORD (ret) -> next pending request packet ---function 05h--- 1Eh WORD (call) ??? 20h WORD (call) ??? 34h DWORD (call) -> ??? ---function 06h--- 16h DWORD (call) -> buffer for ??? record (see #03274) 1Ah WORD (call) number of bytes to copy 22h WORD (ret) number of bytes transferred ---function 08h--- 14h WORD (ret) ??? (0001h) ---function 0Ah--- 16h DWORD (call) -> WORD ??? 1Ch WORD (call) must be 000Ah for BWLWP35 (Table 03273) Values for Excelan error code: 0000h successful 002Dh invalid function 0050h ??? Format of ??? record: Offset Size Description (Table 03274) 00h WORD offset of ??? 02h 4 BYTEs ??? 06h DWORD IP address (big-endian) 0Ah 6 BYTEs physical address (big-endian) ??? --------N-60--------------------------------- INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI) Note: The handler for the interrupt will start with a 2-byte NEAR jump instruction, followed by the ASCIZ signature string "TCP DRVR". To find the interrupt being used by the driver, an application should scan through interrupt vectors 60h to 7Fh until it finds one with the "TCP DRVR" string. This specification is being proposed by Peter R. Tattam from the University of Tasmania. Index: installation check;TCPDRV --------G-60--------------------------------- INT 60 U - INTRSPY/CMDSPY v1.0 only - API Program: INTRSPY is a script-driven debugger included with the book _Undocumented_DOS_. InstallCheck: determine that a) the handler is an IRET instruction, and b) the signature 0Dh "INTRSPY vN.NN" immediately precedes the handler Notes: INTRSPY will hook the first available interrupt in the range 60h-67h. If INTRSPY is installed, the DWORD immediately after the IRET stores its entry point (see #03275) INTRSPY v2.0 (included with the second edition of the book) no longer supports this API Index: installation check;INTRSPY (Table 03275) Call INTRSPY v1.0 entry point with: AH = function 00h ??? 01h set current directory (for use in reporting) ES:DI -> counted string containing directory name (max 79 char) 02h set name of script file ES:DI -> counted string containing file name (max 79 chars) 03h set script arguments ES:DI -> counted string containing arguments (max 79 chars) 04h get directory set with function 01h ES:DI -> 80-byte buffer for directory name 05h get name of script file ES:DI -> 80-byte buffer for script filename 06h get script arguments ES:DI -> 80-byte buffer for script arguments 07h get ??? CL = 00h-15h specifies what to get ES:DI -> WORD to be set with desired value on return 08h get ??? ES:DI -> WORD to be set with returned value 09h get ??? ES:DI -> WORD to be set with returned value 0Bh store code for interrupt handler??? ES:DI -> data CX = number of bytes 0Ch ??? ES:DI -> ??? 0Dh get ??? ES:DI -> BYTE to be set with returned value 0Eh set ??? flag 0Fh clear ??? flag 10h ??? Return: AL = 04h or 05h if failed 11h ??? Return: AL = 05h if failed 12h get ??? ES:DI -> buffer Return: CX = number of bytes returned in buffer 13h ??? Return: AH = 00h AL = status 00h successful 01h invalid function 02h ??? 03h ??? 04h ??? 05h ??? --------u-60--------------------------------- INT 60 U - PC/370 v4.2 - ??? ??? Return: ??? Program: PC/370 is an IBM 370 emulator by Donald S. Higgins Range: INT 00 to INT FF, selected by patching the executable Note: the documentation includes instructions for patching the system for another interrupt SeeAlso: INT 2F/AX=7F24h,INT DC"PC/370" --------r-60--------------------------------- INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP SeeAlso: INT 61"JPI" --------N-60--------------------------------- INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification Range: INT 20 to INT FF Notes: The handler for the interrupt will start with a 3-byte jump instruction, followed by the ASCIZ string "PKT DRVR" (the terminating NUL is significant). To find the interrupt being used by the driver, an application should scan through interrupt vectors 20h to FFh (60h through 80h for v1.09- 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. --------I-60--------------------------------- INT 60 u - 3270-PC CONTROL PROGRAM - ??? --------b-60----DI0100----------------------- INT 60 u - HP 95LX System Manager - WAIT FOR EVENT DI = 0100h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to event record (see #03277) 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" (Table 03276) Values for HP 95LX 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 Format of HP 95LX event record: Offset Size Description (Table 03277) 00h WORD event type (see #03276) 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 #03279) or pointer to time change structure (see #03278) Note: if the System Manager is awaiting 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 HP 95LX time change structure: Offset Size Description (Table 03278) 00h WORD old year 02h BYTE old month 03h BYTE old date 04h BYTE old day 05h BYTE old hour 06h BYTE old minute 07h BYTE old second 08h BYTE old hundredth of a second 09h 9 BYTEs new time in same format as old time --------b-60----DI0101----------------------- INT 60 u - HP 95LX System Manager - CHECK FOR EVENT DI = 0101h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to event record (INT 60/DI=0100h) Return: event record filled STACK unchanged Note: this call returns immediately if no event is available SeeAlso: INT 60/DI=0100h --------b-60----DI0102----------------------- INT 60 u - HP 95LX System Manager - "SH_STATUS" DI = 0102h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged --------b-60----DI0104----------------------- INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES DI = 0104h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to bridge record (see #03279) Return: ??? STACK unchanged Format of HP 95LX bridge record: Offset Size Description (Table 03279) 00h WORD function code (see #03280) 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 (Table 03280) Values for HP 95LX 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" --------b-60----DI0105----------------------- INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER DI = 0105h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged --------b-60----DI0106----------------------- INT 60 u - HP 95LX System Manager - YIELD CPU DI = 0106h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=1000h,INT 2F/AX=1680h --------b-60----DI0107----------------------- INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST DI = 0107h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI0200----------------------- INT 60 u - HP 95LX System Manager - SETUP MENU DI = 0200h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to menu data (see #03281) 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 HP 95LX menu data: Offset Size Description (Table 03281) 00h 80 BYTEs first line of menu text 50h 80 BYTEs second line of menu text A0h 80 BYTEs third line of menu text F0h WORD number of keywords F2h WORD index of currently highlighted keyword or FFFFh F4h WORD single prompt on top line if nonzero F6h 20 BYTEs which line each of 20 keywords is located on 10Ah 20 BYTEs offset of each of 20 keywords within its line 11Eh 20 BYTEs length of each of 20 keywords 132h 20 BYTEs first letter of each of 20 keywords 146h 20 WORDs offsets of long prompts for each of 20 keywords --------b-60----DI0201----------------------- INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU DI = 0201h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to menu data (see #03281) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0206h --------b-60----DI0202----------------------- INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU DI = 0202h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to menu data (see #03281) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0200h,INT 60/DI=0201h,INT 60/DI=0203h --------b-60----DI0203----------------------- INT 60 u - HP 95LX System Manager - REMOVE MENU DI = 0203h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to menu data (see #03281) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0201h,INT 60/DI=0202h,INT 60/DI=0204h,INT 60/DI=0208h --------b-60----DI0204----------------------- INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE DI = 0204h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to menu data (see #03281) WORD keystroke DWORD pointer to WORD to receive selection number Return: buffer for selection number filled with index of selected menu item or FFFFh if no final selection yet STACK unchanged SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0207h --------b-60----DI0205----------------------- INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU DI = 0205h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file menu structure (see #03282) DWORD pointer to edit record (see #03285 at 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 HP 95LX file menu structure: Offset Size Description (Table 03282) 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 #03283) 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 HP 95LX file list workspace entry: Offset Size Description (Table 03283) 00h BYTE file attributes 01h WORD file time (see #01665 at INT 21/AX=5700h) 03h WORD file date (see #01666 at INT 21/AX=5700h) 05h DWORD file size 09h 13 BYTEs ASCIZ filename --------b-60----DI0206----------------------- INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU DI = 0206h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file menu structure (see #03282) DWORD pointer to edit record (see #03285 at INT 60/DI=0400h) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0205h --------b-60----DI0207----------------------- INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE DI = 0207h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file menu structure (see #03282) DWORD pointer to edit record (see #03285 at INT 60/DI=0400h) WORD keystroke Return: AX = status (see #03284) STACK unchanged SeeAlso: INT 60/DI=0205h,INT 60/DI=0208h (Table 03284) Values for HP 95LX System Manager 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 --------b-60----DI0208----------------------- INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU DI = 0208h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file menu structure (see #03282) DWORD pointer to edit record (see #03285 at INT 60/DI=0400h) Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0205h,INT 60/DI=0206h --------b-60----DI0300----------------------- INT 60 u - HP 95LX System Manager - DISPLAY STRING DI = 0300h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD starting row (-3 is topmost, 0 is first user line) WORD starting column DWORD pointer to string WORD length of string WORD display style: 0000h normal, 0001h reverse video WORD "OSTYLE" Return: ??? STACK unchanged SeeAlso: INT 60/DI=0F03h,INT 60/DI=1005h --------b-60----DI0301----------------------- INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN DI = 0301h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD starting row (-3 is topmost, 0 is first user line) WORD starting column WORD number of rows WORD number of columns Return: ??? STACK unchanged SeeAlso: INT 60/DI=0302h,INT 60/DI=1005h --------b-60----DI0302----------------------- INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN DI = 0302h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD starting row??? WORD starting column??? WORD height of scroll region??? WORD width of scroll region??? WORD number of lines to scroll region??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0301h --------b-60----DI0303----------------------- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG" DI = 0303h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? WORD ??? WORD ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0304----------------------- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR" DI = 0304h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0305----------------------- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT" DI = 0305h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0307----------------------- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV" DI = 0307h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0308----------------------- INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS" DI = 0308h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged --------b-60----DI0309----------------------- INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE DI = 0309h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD new mode Return: ??? STACK unchanged --------b-60----DI030A----------------------- INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE DI = 030Ah STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged --------b-60----DI030B----------------------- INT 60 u - HP 95LX System Manager - SET CURSOR POSITION DI = 030Bh STACK: 2 WORDs unused dummies (for calls from high level languages) WORD row (-3 is topmost, 0 is first non-reserved line) WORD column Return: ??? STACK unchanged Note: cursor is hidden if the specified position is not on the physical display SeeAlso: INT 10/AH=02h,INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI0400----------------------- INT 60 u - HP 95LX System Manager - "EDIT_INIT" DI = 0400h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to edit record (see #03285) 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 HP 95LX edit record: Offset Size Description (Table 03285) 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 #03286) 8Ah WORD displayable columns Format of HP 95LX multi-line edit record: Offset Size Description (Table 03286) 00h DWORD pointer to user-supplied edit buffer 04h WORD length of edit buffer 06h WORD current cursor position 08h WORD starting row of edit area (-3 is topmost, 0 is first user line) 0Ah WORD starting column of edit area 0Ch WORD height of edit area 0Eh WORD width of edit area 10h WORD current top row (-3 is topmost, 0 is first user line) 12h WORD number of rows displayable 14h BYTE cursor column 15h BYTE 01h if buffer has been modified 16h BYTE first displayable column (ticker fields only) 17h BYTE 01h if wordwrap enabled, FFh if ticker field 18h DWORD pointer to array of line starts (at least one bigger than edit area is high) 1Ch BYTE currently marking? 1Dh BYTE flag 1Eh WORD offset of mark start 20h WORD offset of mark end (inclusive) 22h WORD displayable columns --------b-60----DI0401----------------------- INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE DI = 0401h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to edit record (see #03285) DWORD pointer to string to edit WORD initial length of string being edited WORD maximum length of edited string DWORD pointer to first line of prompt WORD length of first line DWORD pointer to second line of prompt WORD length of second line Return: ??? STACK unchanged --------b-60----DI0402----------------------- INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD DI = 0402h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to edit record (see #03285) Return: ??? STACK unchanged --------b-60----DI0403----------------------- INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK DI = 0403h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to edit record (see #03285) WORD keystroke DWORD pointer to WORD buffer for result code Return: result code buffer filled with 0001h if editing complete STACK unchanged --------b-60----DI0404----------------------- INT 60 u - HP 95LX System Manager - "MDIT_INI" DI = 0404h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? WORD ??? WORD ??? DWORD pointer to ??? WORD ??? WORD ??? WORD ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0405----------------------- INT 60 u - HP 95LX System Manager - "MDIT_DIS" DI = 0405h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0406----------------------- INT 60 u - HP 95LX System Manager - "MDIT_KEY" DI = 0406h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0407----------------------- INT 60 u - HP 95LX System Manager - "MDIT_FIL" DI = 0407h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0408----------------------- INT 60 u - HP 95LX System Manager - "MDIT_MARK" DI = 0408h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0409----------------------- INT 60 u - HP 95LX System Manager - "MDIT_UNMARK" DI = 0409h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI040A----------------------- INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK" DI = 040Ah STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI040B----------------------- INT 60 u - HP 95LX System Manager - "MDIT_INS_STR" DI = 040Bh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI0500----------------------- INT 60 u - HP 95LX System Manager - OPEN FILE DI = 0500h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) 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 HP 95LX file state record: Offset Size Description (Table 03287) 00h WORD DOS file handle 02h WORD state flags (see #03288) 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 Bitfields for HP 95LX file state flags: Bit(s) Description (Table 03288) 0 buffer contents valid 1 buffer is dirty and must be written 2 unbuffered I/O 3 file is a character device SeeAlso: #03287 --------b-60----DI0501----------------------- INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE DI = 0501h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) DWORD pointer to filename WORD length of filename WORD ??? WORD suppress buffering if nonzero Return: AX = status STACK unchanged SeeAlso: INT 60/DI=0500h --------b-60----DI0502----------------------- INT 60 u - HP 95LX System Manager - CREATE NEW FILE DI = 0502h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) DWORD pointer to filename WORD length of filename WORD ??? WORD suppress buffering if nonzero Return: AX = status STACK unchanged SeeAlso: INT 60/DI=0500h,INT 60/DI=0503h --------b-60----DI0503----------------------- INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE DI = 0503h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) DWORD pointer to filename WORD length of filename WORD ??? WORD suppress buffering if nonzero Return: AX = status STACK unchanged SeeAlso: INT 60/DI=0502h --------b-60----DI0504----------------------- INT 60 u - HP 95LX System Manager - READ FROM FILE DI = 0504h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) DWORD pointer to data buffer WORD number of bytes to read DWORD pointer to WORD in which to return actual bytes read Return: ??? STACK unchanged SeeAlso: INT 60/DI=0505h --------b-60----DI0505----------------------- INT 60 - HP 95LX System Manager - WRITE TO FILE DI = 0505h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) DWORD pointer to data WORD length of data Return: AX = status STACK unchanged SeeAlso: INT 60/DI=0504h --------b-60----DI0506----------------------- INT 60 u - HP 95LX System Manager - SET FILE POSITION DI = 0506h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) 2 WORDs ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0507h --------b-60----DI0507----------------------- INT 60 u - HP 95LX System Manager - GET FILE POSITION DI = 0507h "M_TELL" STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) DWORD pointer to DWORD buffer for file position??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0506h --------b-60----DI0508----------------------- INT 60 u - HP 95LX System Manager - CLOSE FILE DI = 0508h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to file state record (see #03287) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0500h --------b-60----DI0509----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT" DI = 0509h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI050A----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH" DI = 050Ah STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? (see #03289) DWORD pointer to ??? Return: ??? STACK unchanged Format of HP 95LX pattern match control block: Offset Size Description (Table 03289) 00h 43 BYTEs FindFirst data block (see #01626 at INT 21/AH=4Eh) 2Bh 80 BYTEs full path name 7Bh BYTE offset of last component of filename 7Ch BYTE DOS function number (4Eh or 4Fh) --------b-60----DI050B----------------------- INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT DI = 050Bh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? DWORD pointer to ??? Return: ??? = result (see #03290) ??? STACK unchanged (Table 03290) Values returned by HP 95LX System Manager: 0000h nonexistent 0001h file 0002h directory 0003h character device --------b-60----DI050C----------------------- INT 60 u - HP 95LX System Manager - DELETE FILE DI = 050Ch "M_DELETE" STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI050D----------------------- INT 60 u - HP 95LX System Manager - RENAME FILE DI = 050Dh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? DWORD pointer to ??? WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI050E----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR" DI = 050Eh STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI050F----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR" DI = 050Fh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0510----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME" DI = 0510h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0511----------------------- INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY DI = 0511h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? Return: ??? STACK unchanged SeeAlso: INT 21/AH=39h,INT 60/DI=0512h --------b-60----DI0512----------------------- INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY DI = 0512h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? Return: ??? STACK unchanged SeeAlso: INT 21/AH=3Ah,INT 60/DI=0511h --------b-60----DI0513----------------------- INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE DI = 0513h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? buffer for current drive Return: ??? STACK unchanged SeeAlso: INT 21/AH=19h,INT 60/DI=0514h --------b-60----DI0514----------------------- INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE DI = 0514h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD new drive Return: ??? STACK unchanged SeeAlso: INT 21/AH=0Eh"DOS 1+",INT 60/DI=0513h --------b-60----DI0515----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE" DI = 0515h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0516----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR" DI = 0516h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0517----------------------- INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES DI = 0517h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? DWORD pointer to ??? buffer for file's attributes??? Return: ??? STACK unchanged SeeAlso: INT 21/AX=4300h,INT 60/DI=0518h --------b-60----DI0518----------------------- INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES DI = 0518h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? WORD new attributes??? Return: ??? STACK unchanged SeeAlso: INT 21/AX=4301h,INT 60/DI=0517h --------b-60----DI0519----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN" DI = 0519h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? WORD ??? WORD ??? WORD ??? WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI051A----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT" DI = 051Ah STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI051B----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT" DI = 051Bh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI051C----------------------- INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT" DI = 051Ch STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0600----------------------- INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING DI = 0600h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0601h,INT 61"HP 95LX" --------b-60----DI0601----------------------- INT 60 u - HP 95LX System Manager - PROCESS TERMINATION DI = 0601h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: never STACK unchanged SeeAlso: INT 21/AH=4Ch,INT 2F/AX=1122h,INT 60/DI=0600h --------b-60----DI0602----------------------- INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES DI = 0602h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 15/AX=101Bh,INT 2F/AX=1681h,INT 60/DI=0603h --------b-60----DI0603----------------------- INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES DI = 0603h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 15/AX=101Ch,INT 2F/AX=1682h,INT 60/DI=0602h --------b-60----DI0604----------------------- INT 60 u - HP 95LX System Manager - "M_SPAWN" DI = 0604h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? WORD ??? DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 21/AH=4Bh --------b-60----DI0605----------------------- INT 60 u - HP 95LX System Manager - "M_APPCOUNT" DI = 0605h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged --------b-60----DI0606----------------------- INT 60 u - HP 95LX System Manager - "M_REBOOT" DI = 0606h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 14/AH=17h"FOSSIL",INT 19 --------b-60----DI0607----------------------- INT 60 u - HP 95LX System Manager - "M_SPAWNARG" DI = 0607h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0608----------------------- INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME" DI = 0608h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0609----------------------- INT 60 u - HP 95LX System Manager - "M_APP_NAME" DI = 0609h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: DX:AX -> ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI0700----------------------- INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD DI = 0700h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? = error code (see #03291) ??? STACK unchanged SeeAlso: INT 60/DI=0701h,INT 60/DI=0702h (Table 03291) Values for HP 95LX error code: 0000h successful FFF8h transfer request out of bounds FFF9h no such representation FFFAh no representation open FFFBh a representation is already open FFFCh representation already exists FFFDh heap allocation failure FFFEh clipboard not open FFFFh clipboard access denied --------b-60----DI0701----------------------- INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD DI = 0701h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0700h,INT 60/DI=0702h --------b-60----DI0702----------------------- INT 60 u - HP 95LX System Manager - RESET CLIPBOARD DI = 0702h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0700h --------b-60----DI0704----------------------- INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION??? DI = 0704h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0705h,INT 60/DI=0706h,INT 60/DI=0707h --------b-60----DI0705----------------------- INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP" DI = 0705h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0704h --------b-60----DI0706----------------------- INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME" DI = 0706h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0704h,INT 60/DI=0707h --------b-60----DI0707----------------------- INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX" DI = 0707h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0704h,INT 60/DI=0706h --------b-60----DI0708----------------------- INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD DI = 0708h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to data to be written??? WORD length of data??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0709h --------b-60----DI0709----------------------- INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD DI = 0709h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? DWORD pointer to buffer for data??? WORD length of buffer??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0708h --------b-60----DI0800----------------------- INT 60 u - HP 95LX System Manager - BEEP DI = 0800h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0801h,INT 60/DI=0802h,INT 60/DI=0803h --------b-60----DI0801----------------------- INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD" DI = 0801h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0800h,INT 60/DI=0802h,INT 60/DI=0803h --------b-60----DI0802----------------------- INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN DI = 0802h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD pattern number (00h-06h) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0803h --------b-60----DI0803----------------------- INT 60 u - HP 95LX System Manager - TURN OFF SOUND DI = 0803h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0802h --------b-60----DI0900----------------------- INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK DI = 0900h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD size of block in bytes Return: AX -> memory block STACK unchanged Note: System Manager-compliant applications are always small-model (64K code, 64K data) SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0902h,INT 60/DI=0903h --------b-60----DI0902----------------------- INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK DI = 0902h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD offset of memory block??? Return: ??? STACK unchanged Note: System Manager-compliant applications are always small-model (64K code, 64K data) SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h --------b-60----DI0903----------------------- INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK DI = 0903h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD size of block in bytes??? Return: AX -> memory block??? STACK unchanged SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h --------b-60----DI0904----------------------- INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK DI = 0904h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD segment of memory block??? Return: AX -> ??? STACK unchanged SeeAlso: INT 60/DI=0902h,INT 60/DI=0903h --------b-60----DI0B00----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO" DI = 0B00h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B01----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM" DI = 0B01h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B02----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM" DI = 0B02h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B03----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM" DI = 0B03h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged --------b-60----DI0B04----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM" DI = 0B04h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to alarm record??? (see #03292) WORD ??? Return: ??? STACK unchanged Format of HP 95LX alarm record: Offset Size Description (Table 03292) 00h BYTE hour 01h BYTE minute 02h BYTE second 03h BYTE unused padding 04h WORD rescheduling interval, in seconds 06h BYTE are seconds significant? 07h BYTE alarm sound 08h 40 BYTEs message displayed when alarm activates 30h BYTE task ID of owner 31h BYTE application's own use for sub-class 32h 4 BYTEs application's own use for private data --------b-60----DI0B05----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW" DI = 0B05h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B06----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW" DI = 0B06h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B07----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW" DI = 0B07h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B08----------------------- INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP DI = 0B08h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD timestamp format (see #03293) WORD row (-3 is topmost, 0 is first non-reserved line) WORD column Return: ??? STACK unchanged Bitfields for HP 95LX timestamp format: Bit(s) Description (Table 03293) 1-0 timestamp components 00 date only 01 time only 10 date and time 11 day and date 4 supply am/pm 5 supply seconds 6 show year 7 four-digit year --------b-60----DI0B09----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS" DI = 0B09h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? (see #03294) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0B0Ah,INT 60/DI=0B0Fh Format of HP 95LX system settings: Offset Size Description (Table 03294) 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 (see #03295) 0Ah WORD two-character language code (only 5355h = "US" byte-swapped) 0Ch WORD current date format (see #03296) 0Eh WORD current time format (see #03297) 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 #03298) 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 (Table 03295) Values for HP 95LX punctuation format: code decimal arg thousands 00h . , , 01h , . . 02h . ; ; 03h , ; . 04h . , " " 05h , . " " 06h . ; " " 07h , ; " " (Table 03296) Values for HP 95LX 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 (Table 03297) Values for HP 95LX 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 (Table 03298) Values for HP 95LX keyboard layout: 0001h Belgium 0002h French Canadian 0004h Denmark 0008h Finland 0010h French 0020h Finland 0040h Italy 0080h Netherlands 0100h Norway 0200h Portugal 0400h Spain 0800h Sweden 1000h Swiss French 2000h Swiss German 4000h United Kingdom 8000h USA --------b-60----DI0B0A----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS" DI = 0B0Ah STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0B09h --------b-60----DI0B0B----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER" DI = 0B0Bh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0B0Ch,INT 60/DI=0B0Dh --------b-60----DI0B0C----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER" DI = 0B0Ch STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Dh --------b-60----DI0B0D----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER" DI = 0B0Dh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Ch --------b-60----DI0B0E----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME" DI = 0B0Eh STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? WORD ??? DWORD pointer to ??? DWORD pointer to ??? Return: DX:AX -> ??? STACK unchanged --------b-60----DI0B0F----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR" DI = 0B0Fh STACK: 2 WORDs unused dummies (for calls from high level languages) Return: DX:AX -> system settings record (see #03294) STACK unchanged SeeAlso: INT 60/DI=0B09h --------b-60----DI0B10----------------------- INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION DI = 0B10h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B11----------------------- INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION DI = 0B11h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0B12----------------------- INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE DI = 0B12h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD new parsing rule (see #03299) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0B13h (Table 03299) Values for HP 95LX date parsing rule: 01h day-month-year 02h month-day-year 03h year-month-day 04h "DMYO" 05h "MDYO" OR with 08h to get any year --------b-60----DI0B13----------------------- INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE DI = 0B13h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD new parsing rule (see #03300) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0B12h (Table 03300) Values for HP 95LX time parsing rule: 01h HH:MM:SS (am/pm) 02h HH:MM:SS (24hr) 03h HHMM:SS (24hr) 04h HH:MM:SS.hh (24hr) 05h HH:MM (am/pm) 06h HH:MM (24hr) 07h HHMM (24hr) --------b-60----DI0B14----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME" DI = 0B14h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged --------b-60----DI0B15----------------------- INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER" DI = 0B15h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI0C00----------------------- INT 60 u - HP 95LX System Manager - OPEN PRINTER DI = 0C00h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0C01h,INT 60/DI=0C02h,INT 60/DI=0C03h --------b-60----DI0C01----------------------- INT 60 u - HP 95LX System Manager - CLOSE PRINTER DI = 0C01h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged Note: relinquishes control of printer SeeAlso: INT 60/DI=0C00h --------b-60----DI0C02----------------------- INT 60 u - HP 95LX System Manager - WRITE TO PRINTER DI = 0C02h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to data to be written WORD length of data Return: ??? STACK unchanged SeeAlso: INT 60/DI=0C00h --------b-60----DI0C03----------------------- INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER DI = 0C03h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0C00h --------b-60----DI0C04----------------------- INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER" DI = 0C04h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0C05----------------------- INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER" DI = 0C05h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI0E00----------------------- INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT" DI = 0E00h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: #03301,INT 60/DI=0E01h,INT 60/DI=0E02h (Table 03301) Values for HP 95LX error code: 0000h successful FFF1h "E_BUSY" FFF2h timeout FFF3h framing error FFF4h parity error FFF5h overrun error FFF6h "E_EMPTY" FFF7h "E_CONECT" FFF8h not open FFF9h out of memory FFFAh buffer overflow FFFBh "E_NOFIT" FFFCh unsupported FFFDh "E_IVOPR" FFFEh "E_IVCHN" FFFFh "E_REOPEN" --------b-60----DI0E01----------------------- INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL DI = 0E01h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to WORD buffer for comm channel handle WORD communications line number (01h-04h) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E02h --------b-60----DI0E02----------------------- INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL DI = 0E02h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD comm channel handle Return: ??? STACK unchanged SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E01h --------b-60----DI0E03----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM" DI = 0E03h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged --------b-60----DI0E04----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER" DI = 0E04h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0E05----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_DIAL" DI = 0E05h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0E06----------------------- INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL DI = 0E06h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD comm channel handle WORD reset options (see #03302) Return: ??? STACK unchanged Bitfields for HP 95LX reset options: Bit(s) Description (Table 03302) 0 reset line 1 flush transmit buffer 2 flush receive buffer 3 reset modem 4 reset receiver's ^S state 5 reset transmitter's ^S state --------b-60----DI0E07----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP" DI = 0E07h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged --------b-60----DI0E08----------------------- INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL DI = 0E08h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD comm channel handle DWORD pointer to data to be sent WORD option flags bit 0: send partial buffer bit 1: turn on receiver after sending DWORD pointer to WORD containing length of data to be sent Return: length WORD updated to contain number of bytes actually sent??? STACK unchanged SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh --------b-60----DI0E09----------------------- INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE DI = 0E09h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? WORD DWORD pointer to ??? WORD Return: ??? STACK unchanged SeeAlso: INT 60/DI=0E0Ah --------b-60----DI0E0A----------------------- INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE DI = 0E0Ah STACK: 2 WORDs unused dummies (for calls from high level languages) WORD comm channel handle DWORD pointer to WORD to get receive buffer size DWORD pointer to WORD to get free bytes in receive buffer Return: ??? STACK unchanged SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh --------b-60----DI0E0B----------------------- INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL DI = 0E0Bh STACK: 2 WORDs unused dummies (for calls from high level languages) WORD comm channel handle DWORD pointer to data buffer DWORD pointer to WORD (call) length of data buffer (ret) number of bytes received Return: ??? STACK unchanged SeeAlso: INT 60/DI=0E08h,INT 60/DI=0E0Ah --------b-60----DI0E0C----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD" DI = 0E0Ch STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0E0D----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_COMAND" DI = 0E0Dh STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0E0E----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_BREAK" DI = 0E0Eh STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0E0F----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON" DI = 0E0Fh STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged --------b-60----DI0E10----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF" DI = 0E10h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged --------b-60----DI0E11----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR" DI = 0E11h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0E12----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG" DI = 0E12h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged --------b-60----DI0E13----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_STATUS" DI = 0E13h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged --------b-60----DI0E14----------------------- INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS DI = 0E14h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD comm channel handle DWORD pointer to communications settings (see #03303) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0E15h Format of HP 95LX communications settings: Offset Size Description (Table 03303) 00h BYTE dial type ('T' tone, 'P' pulse) 01h WORD baud rate divisor (115200/baud_rate) 03h BYTE parity (00h none, 08h odd, 18h even, 28h mark, 38h space) 04h BYTE stop bits (00h one, 04h two) 05h BYTE data bits - 5 06h BYTE software handshake 01h none, 02h XOFF/XON, 04h XOFF/any, 08h ENQ/ACK 07h BYTE infrared (01h off, 02h on) 08h BYTE duplex (01h half, 02h full) 09h BYTE echo (01h echo, 02h no echo) --------b-60----DI0E15----------------------- INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS DI = 0E15h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to buffer for settings (see #03303) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0E14h --------b-60----DI0E16----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR" DI = 0E16h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? WORD ??? WORD ??? WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI0E17----------------------- INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR" DI = 0E17h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI0F00----------------------- INT 60 u - HP 95LX System Manager - "M_ERRMSG" DI = 0F00h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? DWORD pointer to ??? WORD ??? DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0F01----------------------- INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX DI = 0F01h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ASCIZ title string Return: ??? STACK unchanged --------b-60----DI0F02----------------------- INT 60 u - HP 95LX System Manager - "SHOWNAME" DI = 0F02h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI0F03----------------------- INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX DI = 0F03h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to first line of message WORD length of first line DWORD pointer to second line of message WORD length of second line Return: ??? STACK unchanged SeeAlso: INT 60/DI=0300h,INT 60/DI=0F04h,INT 60/DI=0F09h --------b-60----DI0F04----------------------- INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX DI = 0F04h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F09h --------b-60----DI0F05----------------------- INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR" DI = 0F05h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: DX:AX -> ??? STACK unchanged --------b-60----DI0F06----------------------- INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR" DI = 0F06h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: DX:AX -> ??? STACK unchanged --------b-60----DI0F07----------------------- INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR" DI = 0F07h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: DX:AX -> ??? STACK unchanged --------b-60----DI0F08----------------------- INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR" DI = 0F08h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI0F09----------------------- INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX DI = 0F09h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to first line of message WORD length of first line DWORD pointer to second line of message WORD length of second line DWORD pointer to third line of message WORD length of third line Return: ??? STACK unchanged SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F04h --------b-60----DI0F0A----------------------- INT 60 u - HP 95LX System Manager - DISABLE MACROS DI = 0F0Ah STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0F0Bh --------b-60----DI0F0B----------------------- INT 60 u - HP 95LX System Manager - ENABLE MACROS DI = 0F0Bh STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 60/DI=0F0Ah --------b-60----DI0F0C----------------------- INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS" DI = 0F0Ch STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI0F0D----------------------- INT 60 u - HP 95LX System Manager - "M_FORM_FT" DI = 0F0Dh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: DX:AX -> ??? STACK unchanged --------b-60----DI0F0E----------------------- INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO" DI = 0F0Eh STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: DX:AX -> ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI1005----------------------- INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE DI = 1005h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged SeeAlso: INT 10/AH=FFh,INT 60/DI=0300h,INT 60/DI=0301h --------b-60----DI1200----------------------- INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE" DI = 1200h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI1201----------------------- INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR" DI = 1201h STACK: 2 WORDs unused dummies (for calls from high level languages) WORD ??? Return: DX:AX -> ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI1202----------------------- INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR" DI = 1202h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: DX:AX -> ??? STACK unchanged --------b-60----DI1203----------------------- INT 60 u - HP 95LX System Manager - "INIT_SYSMGR_RSRCS" DI = 1203h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: ??? STACK unchanged --------b-60----DI1300----------------------- INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM DI = 1300h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI1301----------------------- INT 60 u - HP 95LX System Manager - DISPLAY HELP DI = 1301h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged --------b-60----DI1302----------------------- INT 60 u - HP 95LX System Manager - "M_HELP_KEY" DI = 1302h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI1303----------------------- INT 60 u - HP 95LX System Manager - "M_HELP_TERM" DI = 1303h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI1400----------------------- INT 60 u - HP 95LX System Manager - "M_ColInit" DI = 1400h STACK: 2 WORDs unused dummies (for calls from high level languages) Return: AX = ??? STACK unchanged --------b-60----DI1401----------------------- INT 60 u - HP 95LX System Manager - "M_ColCpStr" DI = 1401h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI1402----------------------- INT 60 u - HP 95LX System Manager - "M_ColLicsStr" DI = 1402h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1403----------------------- INT 60 u - HP 95LX System Manager - "M_ColLicsChar" DI = 1403h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1404----------------------- INT 60 u - HP 95LX System Manager - "M_ColToLower" DI = 1404h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI1405----------------------- INT 60 u - HP 95LX System Manager - "M_ColCpSearch" DI = 1405h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? DWORD pointer to ??? WORD ??? WORD ??? Return: ??? STACK unchanged --------b-60----DI1406----------------------- INT 60 u - HP 95LX System Manager - "M_ColToUpper" DI = 1406h STACK: 2 WORDs unused dummies (for calls from high level languages) DWORD pointer to ??? WORD ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI1500----------------------- INT 60 u - HP 95LX System Manager - "GrDispInit" DI = 1500h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1501----------------------- INT 60 u - HP 95LX System Manager - "GrDispClear" DI = 1501h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1502----------------------- INT 60 u - HP 95LX System Manager - "GrDispDot" DI = 1502h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1503----------------------- INT 60 u - HP 95LX System Manager - "GrDispDraw" DI = 1503h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1504----------------------- INT 60 u - HP 95LX System Manager - "GrDispFill" DI = 1504h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1505----------------------- INT 60 u - HP 95LX System Manager - "GrDispRead" DI = 1505h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1506----------------------- INT 60 u - HP 95LX System Manager - "GrDispString" DI = 1506h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1507----------------------- INT 60 u - HP 95LX System Manager - "GrDispPan" DI = 1507h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1508----------------------- INT 60 u - HP 95LX System Manager - "GrDispZoom" DI = 1508h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI1509----------------------- INT 60 u - HP 95LX System Manager - "GrDispSave" DI = 1509h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI150A----------------------- INT 60 u - HP 95LX System Manager - "GrDispRestore" DI = 150Ah STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged --------b-60----DI150B----------------------- INT 60 u - HP 95LX System Manager - "GrDispCorner" DI = 150Bh STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------b-60----DI1604----------------------- INT 60 u - HP 95LX System Manager - "CP_TO_LICS" DI = 1604h STACK: 2 WORDs unused dummies (for calls from high level languages) ??? Return: ??? STACK unchanged SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX" --------G-6000------------------------------- INT 60 - SYS_PROF.EXE - PROFILER STATUS AH = 00h Return: AX = 0000h profiling is off otherwise profiling is on Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia Issue 47 SeeAlso: AH=01h"SYS_PROF",AH=02h"SYS_PROF" --------G-6000------------------------------- INT 60 - MDEBUG - GET STATUS AH = 00h DS:SI -> password or a null byte Return: AX = return code FFFEh password is invalid FFFDh display mode is invalid else successful ES = value of the monitor register SE DI = value of the monitor register OF CH = monitor color CL = interpreter color BH = monitor start line BL = interpreter start line AH = makecode of the hotkey AL = ASCII code of the hotkey DL = status of special keys (only SHIFT, ALT, CTRL) for the hotkey (coded as for the keyboard flag at 0040h:0017h) DH = basic process number for the communication with drivers process number for the display driver, DH+1 = process number for the command driver(s) DS:SI -> MDEBUG identification table (see #03304) Program: MDEBUG is a shareware memory-resident debugging tool by Bernd Schemmer, including a memory monitor, an interpreter, and a disassembler Notes: MDEBUG uses INT 60 by default, but may be directed to any of INT 60 through INT 67; the interrupt handler is preceded by the signature "USERINT" and is not chained if DS:SI points at a null byte, MDEBUG will prompt for a password if passwords are active; enough stack space must be provided for an INT 10h call (which MDEBUG uses while prompting for the password) SeeAlso: AH=02h"MDEBUG" Index: hotkeys;MDEBUG Format of MDEBUG identification table: Offset Size Description (Table 03304) -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 --------N-600000----------------------------- INT 60 - RIFS - CLIENT - INSTALLATION CHECK AX = 0000h Return: AX = 1234h if installed CF clear Program: RIFS is the Remote Installable File System by "kyle" InstallCheck: test for the signature "RIFS" immediately preceding the interrupt handler Range: INT 60 to INT 66 and INT 18,selected by scanning for 0000h:0000h vector SeeAlso: AX=0001h,AX=0005h,AX=0007h,AX=0008h,INT 2F/AX=5600h --------N-600001----------------------------- INT 60 - RIFS - CLIENT - UNINSTALL AX = 0001h Return: CF clear if successful SeeAlso: AX=0000h,AX=0009h --------N-600002----------------------------- INT 60 - RIFS - CLIENT - REMAP DRIVE AX = 0002h BH = local drive number BL = remote drive number Return: CF clear if successful CF set on error SeeAlso: AX=0000h,AX=0003h,AX=0004h,INT 21/AX=5F03h,INT 21/AX=5F05h"STARLITE" --------N-600003----------------------------- INT 60 - RIFS - CLIENT - UNMAP DRIVE A