⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interrup.o

📁 A Programmer s Reference to BIOS, DOS, and Third-Party Calls
💻 O
📖 第 1 页 / 共 5 页
字号:
--------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 ???

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -