Interrupt List Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown
Index for category G - debuggers/debugging tools

Table of Contents by Order
00 - INT 00 - Zenith - ROM DEBUGGER
03 - INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
03 - INT 03 - Realia COBOL - DEBUGGER SUPPORT
03 - INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
030000 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
0301 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030902 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
030903 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030907 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03090A - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03090B - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030910 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
030911 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
030912 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
030913 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
030914 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
030918 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
0310 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
0311 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03130C - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
03130E - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
031313 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
1105D7 - INT 11 CU - Borland C++ IDE - INSTALLED CALLOUT
1205D7BX05D7 - INT 12 U - Borland C++ IDE - INSTALLATION CHECK
166C63 - INT 16 U - TMED v1.6a - INSTALLATION CHECK
20 - INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER
21 - INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE
212B--CX6269 - INT 21 - WDTSR.COM - INSTALLATION CHECK
213022 - INT 21 - StopPrg v2.0 - INSTALLATION CHECK
213F - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - READ STATUS BLOCK
2140 - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
22 - INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
23 - INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
26 - INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
27 - INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
2F4500 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - INSTALLATION CHECK
2F4501 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SETUP PROFILER
2F4502 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SET SAMPLING RATE
2F4503 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - START PROFILING
2F4504 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - STOP PROFILING
2F4505 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - CLEAR PROFILING DATA
2F4506 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFlush"
2F4507 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFinish"
2F4508 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - ALTERNATE SEGDEBUG IFACE
2F8200 - INT 2F U - Nanosoft, Inc. CAPDOS - INSTALLATION CHECK
2F8201 - INT 2F - Nanosoft, Inc. CAPDOS - CLEAR QUEUE
2F8202 - INT 2F - Nanosoft, Inc. CAPDOS - START COLLECTION
2F8203 - INT 2F - Nanosoft, Inc. CAPDOS - STOP COLLECTION
2F8204 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE PARAMETERS
2F8205 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE ITEM
2F9E00 - INT 2F U - INTMON v2.1 - INSTALLATION CHECK
2F9E01 - INT 2F U - INTMON v2.1 - RESET
2F9E02 - INT 2F U - INTMON v2.1 - DISPLAY CPU REGISTERS???
2F9E03 - INT 2F U - INTMON v2.1 - HOOK INTERRUPT???
2F9F00 - INT 2F U - INTCFG v2.1 - INSTALLATION CHECK
2F9F01 - INT 2F U - INTCFG v2.1 - ???
2F9F30 - INT 2F U - INTCFG v2.1 - GET ???
2F9F49 - INT 2F U - INTCFG v2.1 - UNINSTALL
2FD000 - INT 2F C - MDEBUG display driver - GET DRIVER STATUS
2FD001 - INT 2F C - MDEBUG display driver - INITIALIZE DRIVER
2FD002 - INT 2F C - MDEBUG display driver - SAVE GRAPHIC DATA
2FD003 - INT 2F C - MDEBUG display driver - RESTORE GRAPHIC DATA
2FD004 - INT 2F - MDEBUG display driver - SHOW SAVED DATA
2FD005 - INT 2F - MDEBUG display driver - SWITCH BACK TO TEXT SCREEN
2FD0 - INT 2F - MDEBUG display driver - RESERVED FUNCTION NUMBERS
2FD0 - INT 2F - MDEBUG display driver - USER DEFINED FUNCTION NUMBERS
2FD100 - INT 2F C - MDEBUG command driver - GET STATUS
2FD101 - INT 2F - MDEBUG command driver - INITIALIZE DRIVER
2FD102 - INT 2F - MDEBUG command driver - EXECUTE INTERPRETER COMMAND
2FD103 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE MONITOR
2FD104 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE INTERPRETER
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
2FD110 - INT 2F - MDEBUG command driver - GET ADDRESS OF THE OLD INT 2F
2FD111 - INT 2F - MDEBUG command driver - START DRIVER
2FD112 - INT 2F - MDEBUG command driver - END DRIVER
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
2FD1 - INT 2F - MDEBUG command driver - USER DEFINED FUNCTIONS
2FD201BX4D41 - INT 2F U - Quarterdeck RPCI - MANIFEST v1.0+ - INSTALLATION CHECK
2FD600 - INT 2F - HEART.COM - INSTALLATION CHECK
2FDA55 - INT 2F U - TRAP.COM - INSTALLATION CHECK
2FF400 - INT 2F - FINDIRQ.COM - INSTALLATION CHECK
2FF401CX5121 - INT 2F - FINDIRQ.COM - GET HOOKED INTERRUPTS
2FFB43BX0100 - INT 2F PU - Borland TDX - INSTALLATION CHECK
410000 - INT 41 CPU - MS Windows debugging kernel - OUTPUT CHARACTER FOR USER
410001 - INT 41 CPU - MS Windows debugging kernel - INPUT CHARACTER
41000D - INT 41 CPU - MS Windows debugging kernel - TASK GOING OUT
41000E - INT 41 CPU - MS Windows debugging kernel - TASK COMING IN
410012 - INT 41 CPU - MS Windows debugging kernel - "OutputDebugString"
41004F - INT 41 CPU - MS Windows debugging kernel - DEBUGGER INSTALLATION CHECK
410050 - INT 41 P - MS Windows debugging kernel - "DefineDebugSegment"
410051 - INT 41 CPU - MS Windows debugging kernel - MOVE SEGMENT
410052 - INT 41 CPU - MS Windows debugging kernel - FREE SEGMENT
410059 - INT 41 CPU - MS Windows debugging kernel - LOAD TASK
41005C - INT 41 CPU - MS Windows debugging kernel - FREE INITIAL SEGMENT
410060 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT LOAD
410061 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT DISCARD
410062 - INT 41 CPU - MS Windows debugging kernel - APPLICATION TERMINATING
410063 - INT 41 CPU - MS Windows debugging kernel - ASYNCHRONOUS STOP (Ctrl-Alt-SysReq)
410064 - INT 41 CPU - MS Windows debugging kernel - DLL LOADED
410065 - INT 41 CPU - MS Windows debugging kernel - MODULE REMOVED
410066 - INT 41 CPU - MS Windows debugging kernel - ERROR
410067 - INT 41 CPU - MS Windows debugging kernel - PARAMETER ERROR
60 - INT 60 U - INTRSPY/CMDSPY v1.0 only - API
6000 - INT 60 - SYS_PROF.EXE - PROFILER STATUS
6000 - INT 60 - MDEBUG - GET STATUS
6001 - INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
6001 - INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
6002 - INT 60 - MDEBUG - SET STATUS
6002 - INT 60 - SYS_PROF.EXE - TURN PROFILING ON
6003 - INT 60 - MDEBUG - POP UP
6003 - INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
6004 - INT 60 - MDEBUG - POP UP
6004 - INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
6005 - INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
6006 - INT 60 - MDEBUG - GET PASSWORD STATUS
6007 - INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
6008 - INT 60 - MDEBUG - UNUSED
696996 - INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
7D00 - INT 7D - SCSILink - RESET SCSI BUS
7D01 - INT 7D - SCSILink - CONNECT TO TARGET
7D02 - INT 7D - SCSILink - SEND COMMAND
7D03 - INT 7D - SCSILink - SET TIMEOUT
7D04 - INT 7D - SCSILink - GET ERROR STRING
7D05 - INT 7D - SCSILink - GET ADDRESS
7D06 - INT 7D - SCSILink - PUT DATA
7D07 - INT 7D - SCSILink - GET DATA
7D08 - INT 7D - SCSILink - TERMINATE SESSION
7D09 - INT 7D - SCSILink - POLL REQUEST
FE - INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER


00 - INT 00 - Zenith - ROM DEBUGGER
INT 00 - Zenith - ROM DEBUGGER
Desc:	invokes the ROM Debugger when at the BIOS level; equivalent to
	  pressing Ctrl-Alt-Ins on booting.
Note:	since DOS revectors INT 00, it is necessary to restore this vector to
	  its original ROM BIOS value in order to invoke the debugger once DOS
	  loads
SeeAlso: INT 03"Columbia"

Top
03 - INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
INT 03 - Columbia PCs (desktop,VP portables) - ROM DEBUGGER
Desc:	invokes the ROM Debugger if INT 03 has not been revectored; equivalent
	  to pressing Esc on booting.
SeeAlso: INT 00"Zenith",INT 03"Realia"

Top
03 - INT 03 - Realia COBOL - DEBUGGER SUPPORT
INT 03 - Realia COBOL - DEBUGGER SUPPORT
Note:	Realia COBOL checks for a signature eight bytes prior to the interrupt
	  handler when it starts up
BUG:	if the offset of the INT 03 vector is less than 8, the compiler and
	  all executables generated by it will crash the system
SeeAlso: INT 03"Columbia"

Top
03 - INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
INT 03 U - Watcom WVIDEO, Watcom WD - OUTPUT DEBUGGING MESSAGE
	STACK:	DWORD	selector
		DWORD	offset of ASCIZ message to display
Notes:	the INT 03h instruction which invokes the debugger must be followed by
	  a JMP SHORT and the signature string "WVIDEO"
	to check whether this interface is available, define a public byte
	  variable named ___WD_Present, which the debugger will set to 01h
	  before running the program
SeeAlso: AX=0910h

Top
030000 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET Soft-ICE VERSION
	AX = 0000h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: SI = BCD version (0280h = v2.80)
SeeAlso: INT 03/AX=0910h

Top
0301 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE - BACK DOOR COMMANDS - ???
	AH = 01h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: ???
SeeAlso: AX=0000h,AX=090Bh,INT 03/AH=10h

Top
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0900h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AH=01h,AX=0902h,AX=0914h

Top
030902 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - POPUP & START A DEBUG SESSION
	AX = 0902h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> initial register values (see #00001)
Return: registers as specified in initial register values table
Note:	This function is called by LDR.EXE in loading a program to
	  be debugged. After executing the function, Soft-ICE pops up its
	  debugging window and you may start debugging your program.
Return: ???
SeeAlso: AX=0000h,AX=090Ah,AX=0910h,AX=0914h

Format of Soft-ICE initial register values:
Offset	Size	Description	(Table 00001)
 00h	WORD	initial value of SP
 02h	WORD	initial value of SS
 04h	WORD	initial value of IP
 06h	WORD	initial value of CS
 08h	WORD	initial value of DS and ES
 0Ah	WORD	???
 0Ch	WORD	???
 0Eh	WORD	???
 10h	WORD	initial value of AX
 12h	WORD	??? (defaults to 000AH ???)
 14h	WORD	??? (defaults to 0001H ???)
 16h	WORD	??? (defaults to 0100H ???)

Top
030903 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0903h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=0902h,AX=0907h,AX=0914h

Top
030907 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0907h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=0903h,AX=090Ah,AX=0914h

Top
03090A - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 090Ah
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=0907h,AX=090Bh,AX=0914h

Top
03090B - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 090Bh
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: AX=0000h,AX=090Ah,AX=0910h,AX=0914h

Top
030910 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
INT 03 - Soft-ICE - BACK DOOR COMMANDS - DISPLAY STRING IN Soft-ICE WINDOW
	AX = 0910h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:DX -> ASCIZ string to display (max 100 bytes, 0Dh OK)
Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
SeeAlso: INT 03"WVIDEO"

Top
030911 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
INT 03 - Soft-ICE - BACK DOOR COMMANDS - EXECUTE Soft-ICE COMMAND
	AX = 0911h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:DX -> ASCIZ command string (max 100 bytes, 0Dh OK)
Return: nothing
SeeAlso: AX=0912h,AX=0913h

Top
030912 - INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
INT 03 - Soft-ICE - BACK DOOR COMMANDS - GET BREAKPOINT INFORMATION
	AX = 0912h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: BH = entry number of last breakpoint set
	BL = type of last breakpoint set (see #00002)
	DH = entry number of last breakpoint to be triggered
	DL = type of last triggered breakpoint (see #00002)
Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
SeeAlso: AX=0911h,AX=0913h,AX=0914h

(Table 00002)
Values for Soft-ICE breakpoint type:
 00h	BPM (breakpoint register types)
 01h	I/O
 02h	INTerrupt
 03h	BPX (INT 03-style breakpoint)
 04h	reserved
 05h	range

Top
030913 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - SET Soft-ICE BREAKPOINT
	AX = 0913h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:DX -> breakpoint structure (see #00003)
Return: AX = status
	    00h successful
		BX = breakpoint number
	    03h breakpoint table full
	    06h memory limit error
	    07h I/O limit error
	    09h range limit error
	    16h duplicate breakpoint
SeeAlso: AX=0911h,AX=0912h,AX=0914h

Format of Soft-ICE breakpoint structure:
Offset	Size	Description	(Table 00003)
 00h	BYTE	breakpoint type (see #00004)
 01h	DWORD	breakpoint address 1
		(lower range limit for memory BPs,
		interrupt number for interrupt BPs,
		address of BP for execution BPs,
		I/O address (only word)	for I/O BPs)
 05h	DWORD	breakpoint address 2
		(upper range limit for memory BPs,
		optional value to check for for interrupt BPs,
		overlay number (0 = root) for execution BPs)
 09h	DWORD	breakpoint address 3
 0Dh	BYTE	breakpoint mode 1 (see #00005)
		(for interrupt BPs = register to check
		    00h	 no value checking
		    01h	 check AL
		    02h	 check AH
		    03h	 check AX)
 0Eh	BYTE	breakpoint mode 2 (see #00005)
 0Fh	BYTE	breakpoint size (00h byte, 01h word, 03h dword)
 10h	BYTE	breakpoint pass count before program stop
 11h	BYTE	breakpoint state
Note:	all unused fields should contain zeros

(Table 00004)
Values for Soft-ICE breakpoint type:
 00h	memory location
 01h	memory range
 03h	I/O
 04h	interrupt
 05h	execution break

(Table 00005)
Values for Soft-ICE breakpoint mode:
 01h	read
 02h	write
 04h	execution

Top
030914 - INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
INT 03 - Soft-ICE v2.5x - BACK DOOR COMMANDS - REMOVE Soft-ICE BREAKPOINT
	AX = 0914h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = breakpoint number (returned by AX=0913h)
Return: BX = ???
Program: Soft-ICE is a debugger by Nu-Mega Technologies, Inc.
SeeAlso: AX=0912h,AX=0913h

Top
030918 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0918h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	DS:BX -> ???
	CX = ???
	DX = ???
Return: ???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=0914h,INT 03/AH=10h

Top
0310 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AH = 10h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: ???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=01h,INT 03/AH=11h

Top
0311 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AH = 11h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: none???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=10h,INT 03/AX=130Ch

Top
03130C - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 130Ch
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = ???
	CX = ???
	DX = ???
Return: AX = ??? (1300h)
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=11h,INT 03/AX=130Eh

Top
03130E - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 130Eh
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = ???
	CX = ???
	DX = ???
Return: AX = ??? (1300h)
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=130Ch,INT 03/AX=1313h

Top
031313 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 1313h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
	BX = ???
	CX = ???
	DX = ???
Return: AX = ??? (1300h)
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AX=130Eh

Top
030900 - INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
INT 03 - Soft-ICE v2.80 - BACK DOOR COMMANDS - ???
	AX = 0900h
	SI = magic value 4647h ('FG')
	DI = magic value 4A4Dh ('JM')
Return: none???
SeeAlso: INT 03/AX=0000h,INT 03/AX=0910h,INT 03/AH=10h,INT 03/AH=12h

Top
1105D7 - INT 11 CU - Borland C++ IDE - INSTALLED CALLOUT
INT 11 CU - Borland C++ IDE - INSTALLED CALLOUT
	AX = 05D7h
	BX = product ID (0088h)
Note:	called by the BC++ IDE when an application calls
	  INT 12/AX=05D7h/BX=05D7h
SeeAlso: INT 12/AX=05D7h/BX=05D7h
Index:	installation check;Borland C++ IDE

Top
1205D7BX05D7 - INT 12 U - Borland C++ IDE - INSTALLATION CHECK
INT 12 U - Borland C++ IDE - INSTALLATION CHECK
	AX = 05D7h (1495d)
	BX = 05D7h
Note:	the BC++ IDE will call INT 11/AX=05D7h/BX=0088h if it is loaded
SeeAlso: INT 11/AX=05D7h

Top
166C63 - INT 16 U - TMED v1.6a - INSTALLATION CHECK
INT 16 U - TMED v1.6a - INSTALLATION CHECK
	AX = 6C63h ('lc')
Return: AX = 4C43h ('LC') if installed
Program: TMED is a freeware resident memory editor by Liang Chen

Top
20 - INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER
INT 20 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE FIRMWARE DEBUGGER
	???
Return: ???
SeeAlso: INT 21"COMTROL"

Top
21 - INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE
INT 21 - COMTROL HOSTESS i/ISA DEBUGGER - GET SEGMENT FOR CONTROL PROGRAM USE
	???
Return: AX = first segment available for control program use
SeeAlso: INT 20"COMTROL",INT 22"COMTROL"

Top
212B--CX6269 - INT 21 - WDTSR.COM - INSTALLATION CHECK
INT 21 - WDTSR.COM - INSTALLATION CHECK
	AH = 2Bh
	CX = 6269h ('bi')
	DX = 742Dh ('t-')
Return: AL = FFh if not installed
	AL = 77h ('w') if WDTSR is installed
	    CX = 6174h ('at')
	    DX = 6368h ('ch')
	    ES = resident code segment
	    ES:DI -> identification and configuration data
Program: WDTSR is a driver for the bitWatch watchdog hardware by bit-design
	  GmbH
SeeAlso: AH=2Bh/CX=6269h"bitFOSSI",INT 14/AH=14h"FOSSIL",INT 15/AH=C3h

Top
213022 - INT 21 - StopPrg v2.0 - INSTALLATION CHECK
INT 21 - StopPrg v2.0 - INSTALLATION CHECK
	AX = 3022h
Return: AX = DOS version (see AH=30h)
	CX = 1112h if StopPrg installed
	    BX = segment of resident code
Program: StopPrg is a resident program aborter by MAK-TRAXON's Prophet
Note:	StopPrg may be temporarily disabled by storing 9090h in the word at
	  0000h:04FEh

Top
213F - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - READ STATUS BLOCK
INT 21 - Turbo Debug HARDWARE BREAKPOINTS - READ STATUS BLOCK
	AH = 3Fh
	BX = handle for character device "TDHDEBUG"
	CX = number of bytes to read
	DS:DX -> buffer for status block (see #01406)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AH=40h"Turbo Debug"

(Table 01405)
Values for status of Turbo Debugger command:
 00h	successful
 01h	invalid handle
 02h	no more breakpoints available
 03h	hardware does not support specified breakpoint type
 04h	previous command prevents execution
 05h	debugger hardware not found
 06h	hardware failure
 07h	invalid command
 08h	driver not initialized yet
 FEh	recursive entry (hardware breakpoint inside hw bp handler)

Format of Turbo Debugger status block:
Offset	Size	Description	(Table 01406)
 00h	BYTE	status of command (see #01405)
---status for command 01h---
 01h	WORD	device driver interface version number (currently 1)
 03h	WORD	device driver software version
 05h	BYTE	maximum simultaneous hardware breakpoints
 06h	BYTE	configuration bits (see #01407)
 07h	BYTE	supported breakpoint types (see #01408)
 08h	WORD	supported addressing match modes (see #01409)
 0Ah	WORD	supported data matches (see #01410)
 0Ch	BYTE	maximum data match length (01h, 02h, or 04h)
 0Dh	WORD	size of onboard memory (in KB)
 0Fh	WORD	maximum number of trace-back events
 11h	WORD	hardware breakpoint enable byte address segment (0000h if not
		  supported)
---status for command 04h---
 01h	BYTE	handle to use when referring to the just-set breakpoint

Bitfields for Turbo Debugger configuration bits:
Bit(s)	Description	(Table 01407)
 0	CPU and DMA accesses are distinct
 1	can detect DMA transfers
 2	supports data mask
 3	hardware pass counter on breakpoints
 4	can match on data as well as addresses

Bitfields for Turbo Debugger supported breakpoint types:
Bit(s)	Description	(Table 01408)
 0	memory read
 1	memory write
 2	memory read/write
 3	I/O read
 4	I/O write
 5	I/O read/write
 6	instruction fetch

Bitfields for Turbo Debugger supported addressing match modes:
Bit(s)	Description	(Table 01409)
 0	any address
 1	equal to test value
 2	not equal
 3	above test value
 4	below test value
 5	below or equal
 6	above or equal
 7	within range
 8	outside range

Bitfields for Turbo Debugger supported data matches:
Bit(s)	Description	(Table 01410)
 0	any data
 1	equal to test value
 2	not equal
 3	above test value
 4	below test value
 5	below or equal
 6	above or equal
 7	within range
 8	outside range

Top
2140 - INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
INT 21 - Turbo Debug HARDWARE BREAKPOINTS - SEND CMD TO HARDWARE BRKPNT DRIVER
	AH = 40h
	BX = handle for character device "TDHDEBUG"
	CX = number of bytes to write
	DS:DX -> hardware breakpoint command (see #01418)
Return: CF clear if successful
	    AX = number of bytes actually written
	CF set on error
	    AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Note:	results are retrieved by reading from the device
SeeAlso: AH=3Fh"Turbo Debug"

Format of Turbo Debugger hardware breakpoint commands:
Offset	Size	Description	(Table 01418)
 00h	BYTE	command code
		00h install interrupt vectors
		01h get hardware capabilities
		02h enable hardware breakpoints
		03h disable hardware breakpoints
		04h set hardware breakpoint
		05h clear hardware breakpoint
		06h set I/O base address and reset hardware
		07h restore interrupt vectors
---command code 00h---
 01h	DWORD	pointer to Turbo Debugger entry point to be jumped to on
		  hardware breakpoint; call with CPU state the same as on
		  the breakpoint except for pushing AX and placing an entry
		  code (FFh if breakout button or breakpoint handle) in AH
---command code 04h---
 01h	BYTE	breakpoint type
		00h memory read
		01h memory write
		02h memory read/write
		03h I/O read
		04h I/O write
		05h I/O read/write
		06h instruction fetch
 02h	BYTE	address matching mode (see #01419)
 03h	DWORD	32-bit linear low address
 07h	DWORD	32-bit linear high address
 0Bh	WORD	pass count
 0Dh	BYTE	data size (01h, 02h, or 04h)
 0Eh	BYTE	source of matched bus cycle (01h CPU, 02h DMA, 03h either)
 0Fh	BYTE	data-matching mode (see #01419)
 10h	DWORD	low data value
 14h	DWORD	high data value
 18h	DWORD	data mask specifying which bits of the data are tested
---command code 05h---
 01h	BYTE	handle of breakpoint to clear (breakpoint returned from command
		  04h)
---command code 06h---
 01h	WORD	base address of hardware debugger board

(Table 01419)
Values for Turbo Debugger address/data matching mode:
 00h	match any
 01h	equal to test value
 02h	different from test value
 03h	above test value
 04h	below test value
 05h	below or equal to test value
 06h	above or equal to test value
 07h	within inclusive range
 08h	outside specified range

Top
22 - INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
	AL = new firmware debugging port
Return: ???
SeeAlso: INT 21"COMTROL",INT 23"COMTROL"

Top
23 - INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
	AL = query type
	    00h get old config map
		Return: AX = old config map
	    01h get dual-ported RAM map
		Return: BX:AX = dual-ported RAM map
	    02h get SCC port map
		Return: BX:AX = SCC port map
SeeAlso: INT 22"COMTROL",INT 26"COMTROL"

Top
26 - INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
	???
Return: ???
SeeAlso: INT 23"COMTROL",INT 27"COMTROL"

Top
27 - INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
	???
Return: ???
Desc:	invoke a copy of the remote Turbo Debugger kernel on the Hostess i
	  controller
SeeAlso: INT 20"COMTROL",INT 26"COMTROL"

Top
2F4500 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - INSTALLATION CHECK
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - INSTALLATION CHECK
	AX = 4500h
Return: AL = installation status
	    01h if PROF.COM installed
	    02h if VPROD.386 installed
SeeAlso: AX=4501h,AX=4502h

Top
2F4501 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SETUP PROFILER
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SETUP PROFILER
	AX = 4501h
	BX = CSIPS buffer size in KB (first parameter for ProfSetup)
	CX = output limit in KB (second parameter for ProfSetup)
Note:	this call is not supported by PROF.COM
SeeAlso: AX=4502h,AX=4503h

Top
2F4502 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SET SAMPLING RATE
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - SET SAMPLING RATE
	AX = 4502h
	BL = sampling rate for PROF.COM (0 < BL <= 13)
	    (01h = 8192/s, 04h = 1024/s, 08h = 32/s, 0Dh = 1/s)
	CX = sampling rate for VPROD.386
Note:	for PROF.COM, this programs the CMOS clock by setting BL+2 as the
	  low four bits of CMOS register 0Ah.  The interruption rate is
	  1 SHL (15 - BL) per second.
SeeAlso: AX=4501h,AX=4503h

Top
2F4503 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - START PROFILING
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - START PROFILING
	AX = 4503h
Notes:	Profiling is also turned on by the key combinations
	  LeftShift + RightShift + Alt and LeftShift + RightShift + Ctrl
	for PROF.COM, this call programs the CMOS clock by reading register
	  0Ch, and setting bit 6 of register 0Bh.  It then makes sure that IRQ8
	  is unmasked
SeeAlso: AX=4504h

Top
2F4504 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - STOP PROFILING
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - STOP PROFILING
	AX = 4504h
Notes:	profiling is also turned off by the key combination
	  LeftShift + RightShift
	for PROF.COM, this programs the CMOS clock by reading register 0Ch
	  and clearing bit 6 of register 0Bh.  It then masks IRQ8.
SeeAlso: AX=4503h,AX=4505h,AX=4506h,AX=4507h

Top
2F4505 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - CLEAR PROFILING DATA
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - CLEAR PROFILING DATA
	AX = 4505h
SeeAlso: AX=4503h,AX=4504h,AX=4506h

Top
2F4506 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFlush"
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFlush"
	AX = 4506h
SeeAlso: AX=4505h,AX=4507h

Top
2F4507 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFinish"
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - "ProfFinish"
	AX = 4507h
Note:	this call is essentially a "ProfStop" (AX=4504h) followed by
	  "ProfFlush" (AX=4506h)
SeeAlso: AX=4504h,AX=4505h,AX=4506h

Top
2F4508 - INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - ALTERNATE SEGDEBUG IFACE
INT 2F U - Microsoft Profiler (PROF.COM/VPROD.386) - ALTERNATE SEGDEBUG IFACE
	AX = 4508h
	BX = ordinal (or 0000h)
	CX = segment
	DX = instance (or 0000h)
	SI = type (or 0000h)
	ES:DI -> ASCIZ module name
Notes:	this call is an alternate entry to the profiler's SEGDEBUG
	  interface, but only to function 0, for notifying the profiler of
	  each new segment loaded.  The SHOWHITS utility then examines the
	  profiler's output files (CSIPS.DAT and SEGENTRY.DAT) in conjunction
	  with symbol files to provide information in a useful form.
	this call does not have a corresponding Windows function
SeeAlso: AX=4500h

Top
2F8200 - INT 2F U - Nanosoft, Inc. CAPDOS - INSTALLATION CHECK
INT 2F U - Nanosoft, Inc. CAPDOS - INSTALLATION CHECK
	AX = 8200h
Return: AL = FFh if installed
Program: CAPDOS is a TSR by Nanosoft, Inc. which allows INT 21h calls to be
	  captured and recorded for later analysis
SeeAlso: AX=8100h,AX=8201h"CAPDOS",AX=8202h"CAPDOS",AX=8203h"CAPDOS"
SeeAlso: AX=8204h"CAPDOS"

Top
2F8201 - INT 2F - Nanosoft, Inc. CAPDOS - CLEAR QUEUE
INT 2F - Nanosoft, Inc. CAPDOS - CLEAR QUEUE
	AX = 8201h
Note:	resets queue of captured INT 21 calls
SeeAlso: AX=8200h"CAPDOS"

Top
2F8202 - INT 2F - Nanosoft, Inc. CAPDOS - START COLLECTION
INT 2F - Nanosoft, Inc. CAPDOS - START COLLECTION
	AX = 8202h
SeeAlso: AX=8200h"CAPDOS",AX=8203h"CAPDOS"

Top
2F8203 - INT 2F - Nanosoft, Inc. CAPDOS - STOP COLLECTION
INT 2F - Nanosoft, Inc. CAPDOS - STOP COLLECTION
	AX = 8203h
SeeAlso: AX=8200h"CAPDOS",AX=8202h"CAPDOS",AX=8204h"CAPDOS"

Top
2F8204 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE PARAMETERS
INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE PARAMETERS
	AX = 8204h
Return: AH = flag: queue wrapped if nonzero
	BX = index of current start of queue
	CX = size of queue in entries
SeeAlso: AX=8200h"CAPDOS",AX=8202h"CAPDOS",AX=8205h"CAPDOS"

Top
2F8205 - INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE ITEM
INT 2F - Nanosoft, Inc. CAPDOS - GET QUEUE ITEM
	AX = 8205h
	BX = queue item number
Return: AX,BX,CX,DX,SI,DI,DS,ES as on entry to captured DOS call
SeeAlso: AX=8200h"CAPDOS",AX=8204h"CAPDOS"

Top
2F9E00 - INT 2F U - INTMON v2.1 - INSTALLATION CHECK
INT 2F U - INTMON v2.1 - INSTALLATION CHECK
	AX = 9E00h
Return: AX = FFFFh if installed
	    BX = segment of resident code
Program: INTMON is a shareware interactive interrupt monitoring TSR for 386
	  and higher machines by Celso Minnitti, Jr.
SeeAlso: AX=9E01h,AX=9E02h,AX=9E03h,AX=9F00h

Top
2F9E01 - INT 2F U - INTMON v2.1 - RESET
INT 2F U - INTMON v2.1 - RESET
	AX = 9E01h
Return: ???
Desc:	this function specifies that INTMON should assume that any interrupts
	  on which it is currently awaiting a return have completed (i.e.
	  interrupts which never return such as INT 20 and INT 27)
SeeAlso: AX=9E00h,AX=9E03h

Top
2F9E02 - INT 2F U - INTMON v2.1 - DISPLAY CPU REGISTERS???
INT 2F U - INTMON v2.1 - DISPLAY CPU REGISTERS???
	AX = 9E02h
Return: ???
SeeAlso: AX=9E00h

Top
2F9E03 - INT 2F U - INTMON v2.1 - HOOK INTERRUPT???
INT 2F U - INTMON v2.1 - HOOK INTERRUPT???
	AX = 9E03h
	BH = interrupt number???
Return: ???
Note:	if AL > 03h on entry, INTMON 2.1 returns immediately
SeeAlso: AX=9E00h,AX=9E01h

Top
2F9F00 - INT 2F U - INTCFG v2.1 - INSTALLATION CHECK
INT 2F U - INTCFG v2.1 - INSTALLATION CHECK
	AX = 9F00h
Return: AX = FFFFh if installed
Program: INTCFG is an optionally-resident control program for INTMON by Celso
	  Minnitti, Jr.
SeeAlso: AX=9E00h,AX=9F01h,AX=9F30h,AX=9F49h

Top
2F9F01 - INT 2F U - INTCFG v2.1 - ???
INT 2F U - INTCFG v2.1 - ???
	AX = 9F01h
	???
Return: ???
SeeAlso: AX=9F00h

Top
2F9F30 - INT 2F U - INTCFG v2.1 - GET ???
INT 2F U - INTCFG v2.1 - GET ???
	AX = 9F30h
Return: AX = ??? (0002h)
SeeAlso: AX=9F00h

Top
2F9F49 - INT 2F U - INTCFG v2.1 - UNINSTALL
INT 2F U - INTCFG v2.1 - UNINSTALL
	AX = 9F49h
Return: AX,DX,DS,ES destroyed
SeeAlso: AX=9F00h

Top
2FD000 - INT 2F C - MDEBUG display driver - GET DRIVER STATUS
INT 2F C - MDEBUG display driver - GET DRIVER STATUS
	AX = D000h
Return: CF set on error
	    all other registers must be unchanged)
	CF clear if successful
	    AL = FFh
	    AH = driver semaphor
		00h driver is not active
		01h driver is active
	    BX = CS of the driver
	    CX = driver version (CH = major, CL = minor, must be >= 013Ch)
	    DL = buffer semaphor
		00h driver is not pending
		01h driver is pending between functions 02h and 03h
	    DH = show semaphor
		00h driver is not pending
		01h driver is pending between functions 04h and 05h
Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
	  Schemmer, including a memory monitor, an interpreter and a
	  disassembler
Range:	AH=C0h to AH=FFh, selected by switch or programmatically
Notes:	MDEBUG can use any two consecutive multiplex numbers between C0h and
	  FFh; the default is D0h for the display driver and D1h for the
	  command driver (call INT 60/AH=00h"MDEBUG" for the actual multiplex
	  numbers used)
	this function MUST be reentrant, as MDEBUG calls it after every popup
	  before any other actions.  The handler should not change any
	  registers if the display is in an unsupported mode or in a mode
	  MDEBUG supports itself, e.g. a normal text mode with at least 80x25
	  characters (i.e. 80x43 or 132x44 (v1.60+)). In this case MDEBUG will
	  not call any of the other functions for this popup session.
	MDEBUG will not call the other functions if the returned version is
	  less than the actual version of MDEBUG.
	if the driver is reentrant, DL and DH should be 00h
SeeAlso: AX=D001h,AX=D002h,AX=D003h,AX=D004h,AX=D005h

Top
2FD001 - INT 2F C - MDEBUG display driver - INITIALIZE DRIVER
INT 2F C - MDEBUG display driver - INITIALIZE DRIVER
	AX = D001h
Return: CF set on error
	AL = driver semaphor
	AH = buffer semaphor
Range:	AH=C0h to AH=FFh, selected by switch or programmatically
Notes:	MDEBUG calls this function after every successful call of the function
	  00h. The function should reset all internal data and the status of
	  the driver. If this function returns an error, MDEBUG will not call
	  the other functions in this popup session.
	MDEBUG can use any two consecutive multiplex numbers between C0h and
	  FFh; the default is D0h for the display driver and D1h for the
	  command driver
SeeAlso: AX=D000h

Top
2FD002 - INT 2F C - MDEBUG display driver - SAVE GRAPHIC DATA
INT 2F C - MDEBUG display driver - SAVE GRAPHIC DATA
	AX = D002h
Return: CF set on error
	CF clear if successful
	    display memory saved and display switched to one of the text modes
	      02h, 03h or 07h.
Note:	MDEBUG calls this function only once every popup session before
	  displaying its windows.
SeeAlso: AX=D000h,AX=D003h

Top
2FD003 - INT 2F C - MDEBUG display driver - RESTORE GRAPHIC DATA
INT 2F C - MDEBUG display driver - RESTORE GRAPHIC DATA
	AX = D003h
Return: CF set on error
	CF clear if successful
	    display restored to the mode it was in before calling AX=D002h and
	      the display memory is restored
Note:	MDEBUG calls this function only once every popup session just before
	 it exits to normal DOS.
SeeAlso: AX=D000h,AX=D002h

Top
2FD004 - INT 2F - MDEBUG display driver - SHOW SAVED DATA
INT 2F - MDEBUG display driver - SHOW SAVED DATA
	AX = D004h
Return: CF set on error
	CF clear if successful
	    display switched to mode it was in before calling AX=D002h and the
	      display memory is restored
Note:	This function needn't save the display memory before changing it.
SeeAlso: AX=D000h,AX=D005h

Top
2FD005 - INT 2F - MDEBUG display driver - SWITCH BACK TO TEXT SCREEN
INT 2F - MDEBUG display driver - SWITCH BACK TO TEXT SCREEN
	AX = D005h
Return: CF set on error
	CF clear if successful
	    display restored to mode it was in before calling AX=D004h
Note:	This function needn't save or change the display memory
SeeAlso: AX=D000h,AX=D004h

Top
2FD0 - INT 2F - MDEBUG display driver - RESERVED FUNCTION NUMBERS
INT 2F - MDEBUG display driver - RESERVED FUNCTION NUMBERS
	AH = D0h
	AL = 06h-7Fh
Note:	these functions are reserved for future use

Top
2FD0 - INT 2F - MDEBUG display driver - USER DEFINED FUNCTION NUMBERS
INT 2F - MDEBUG display driver - USER DEFINED FUNCTION NUMBERS
	AH = D0h
	AL = 80h-FFh
Note:	these functions numbers are reserved for user defined features (e.g.
	  communication between the transient und resident parts of the driver)

Top
2FD100 - INT 2F C - MDEBUG command driver - GET STATUS
INT 2F C - MDEBUG command driver - GET STATUS
	AX = D100h
	BX = version of MDEBUG (BH = major, BL = minor)
	CX = command driver counter
---v1.60+---
	DS:SI -> MDEBUG identification table (see #03076)
	ES = segment of display memory used by MDEBUG
	DI = size of video mode used by MDEBUG
	    (high byte = lines, low byte = columns)
Return: DL = FFh
	BX = version number of the driver if it is less than the version in BX,
	      else unchanged
	CX incremented
Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
	  Schemmer, including a memory monitor, an interpreter, and a
	  disassembler
Range:	AH=C0h to AH=FFh, selected by switch or programmatically
Notes:	called by MDEBUG at start of popup session; if the version number
	  returned in BX is less than 1.52 (1.60 for MDEBUG v1.70), MDEBUG will
	  not call any of the other functions during this popup session
	MDEBUG can use any two consecutive multiplex numbers between C0h and
	  FFh; the default is D0h for the display driver and D1h for the
	  command driver (call INT 60/AH=00h"MDEBUG" for the multiplex numbers
	  actually used)
	this function must end with a far call to the old INT 2F handler after
	  changing the registers
	this function MUST be reentrant
	command drivers must also declare the following data at the given
	  offsets in the code segment
		100h  3 BYTEs	JMP-command in .COM-files
		103h	BYTE	NOP-command (90h)
		104h 26 BYTEs	signature "Kommandotreiber fr MDEBUG"
		11Eh 12 BYTEs	name of driver, e.g. "MDHISDRV.COM"
				each driver must have a unique name
	MDEBUG will pass every key and command to the command driver(s) before
	  checking for a valid internal command
SeeAlso: AX=D000h,AX=D101h

Format of MDEBUG identification table:
Offset	Size	Description	(Table 03076)
 -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

Top
2FD101 - INT 2F - MDEBUG command driver - INITIALIZE DRIVER
INT 2F - MDEBUG command driver - INITIALIZE DRIVER
	AX = D101h
	CX = command driver counter
Return: DL = status
	    FFh if successful
		CX incremented
	    else error: all registers unchanged
Note:	this function must end with a  far call to the old INT 2F handler after
	  changing the registers
	this function must be reentrant

Top
2FD102 - INT 2F - MDEBUG command driver - EXECUTE INTERPRETER COMMAND
INT 2F - MDEBUG command driver - EXECUTE INTERPRETER COMMAND
	AX = D102h
	BL = first character of the interpreter command
	BH = last character of the interpreter command (or blank)
	DS:SI -> parameter for the interpreter command as ASCIZ string
	DS:DI -> MDEBUG data structure (see #03078)
Return: AL = FFh
	CF set on error
	    AH = error number (see #03077)
	    DS:SI -> ASCIZ error message (max 30 characters) if AH=0Ch
	CF clear if successful
	    AH = return code
		00h continue processing the command line
		01h leave MDEBUG popup session
		02h leave MDEBUG popup session and automatically popup again
		      if the InDOS flag is zero
		03h not used (same as 00h)
		04h not used (same as 00h)
		05h put new command line into the input buffer,
		    DS:SI -> new command line (ASCIZ string, max 66 chars)
		06h process new command line
		    DS:SI -> new command line (ASCIZ string, max 66 chars)
	       else unknown status, but continue processing commmand line
Note:	this function must end with a far call to the old INT 2F handler (with
	  registers unchanged) if the driver does not support the interpreter
	  command in BX.  Otherwise, the driver must not chain to the old
	  INT 2F.

(Table 03077)
Values for MDEBUG error number:
 01h	syntax error
 02h	first shell of the command.com is activ
 03h	Esc pressed
 04h	break pressed
 05h	DOS is busy
 06h	command ended
 07h	division by zero
 08h	invalid display driver
 09h	invalid command driver
 0Ah	error 8 and 9
 0Bh	unknown error
 0Ch	new error
 else	unknown error

Format of MDEBUG data structure:
Offset	Size	Description	(Table 03078)
 00h	WORD	register SE
 02h	WORD	register OF
 04h	WORD	register FS
 06h	WORD	register FO
 08h	WORD	register AX
 0Ah	WORD	register BX
 0Ch	WORD	register CX
 0Eh	WORD	register DX
 10h	WORD	register SI
 12h	WORD	register DI
 14h	WORD	register DS
 16h	WORD	register ES
 18h	WORD	register BP
 1Ah	WORD	register SS
 1Ch	WORD	register SP
 1Eh	WORD	register FL (flags)
 20h	WORD	register R0
 22h	WORD	register R1
 24h	WORD	register R2
 26h	WORD	register R3
 28h	WORD	register R4
 2Ah	WORD	register R5
 2Ch	WORD	register R6
 2Eh	WORD	register R7
 30h	WORD	register R8
 32h	WORD	register CS, return-address
 34h	WORD	register IP, return-address
 36h	DWORD	saved pointer to data for key <F6> (v1.60)
		saved monitor address (v1.70)
 3Ah 12 WORDs	saved register values on last popup entry (for <F8> key)
		(original register values at popup entry of MDEBUG)
		AX, BX, CX, DX, SI, DI, DS, ES, BP, SS, SP, flags
 52h 12 WORDs	saved register values on last popup exit (for <SHIFT-F8> key)
		AX, BX, CX, DX, SI, DI, DS, ES, BP, SS, SP, flags
 6Ah	DWORD	address of the DOS-invars-table
 6Eh	DWORD	address of the InDOS flag
 72h	WORD	offset of the register which is used for the segment of the
		  first monitor window
 74h	WORD	offset of the register which is used for the offset of the
		  first monitor window
 76h	WORD	name of the register which is used for the segment of the
		  first monitor segment
 78h	WORD	name of the register which is used for the offset of the first
		  monitor window
 7Ah	WORD	pseudo register 1
 7Ch	WORD	pseudo register 2

Top
2FD103 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE MONITOR
INT 2F - MDEBUG command driver - EXECUTE KEY IN THE MONITOR
	AX = D103h
	BX = key code (like result of an interrupt 16h call)
	CX = cursor position
	    0000h in the ASCII column of the monitor
	    0001h in one of the hex fields of the monitor
	DS:SI -> MDEBUG data structure (see #03078)
	ES:DI -> actual byte in the monitor
Return: AL = FFh
	AH = return code
	    00h key processed, read next key
	    01h leave MDEBUG popup session
	    02h leave MDEBUG popup session and automatically popup again if DOS
		  is not busy
	    03h signal an error (beep)
	    04h driver has redefined the key, proceed with the new key
		BX = new key code
		MDEBUG will not pass the new key to the command driver(s)
	   else treat like code 00h
Note:	this function must end with a far call to the old INT 2F handler (with
	  registers unchanged) if the driver does not support the key in BX.
	  Otherwise, the driver must not chain to the old INT 2F.
SeeAlso: AX=D104h

Top
2FD104 - INT 2F - MDEBUG command driver - EXECUTE KEY IN THE INTERPRETER
INT 2F - MDEBUG command driver - EXECUTE KEY IN THE INTERPRETER
	AX = D104h
	DS:SI -> MDEBUG data structure (see #03078)
Return: AL = FFh
	AH = return code
	    00h key processed, read next key
	    01h leave MDEBUG popup session
	    02h leave MDEBUG popup session and automactically popup again if
		  DOS is not busy
	    03h signal an error (beep)
	    04h driver has redefined the key, proceed with the new key
		BX = new key code
		MDEBUG won't pass the new key to the command driver(s)
	    05h put new command line into the input buffer
		DS:SI -> new command line (ASCIZ string, max 66 chars)
	    06h process new command line
		DS:SI -> new command line (ASCIZ string, max 66 chars)
	   else treat like code 00h
Note:	this function must end with a far call to the old INT 2F handler if the
	  driver does not support the key in BX.  Otherwise, the driver must
	  not chain to the old INT 2F.
SeeAlso: AX=D103h

Top
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
	AH = D1h
	AL = 05h-0Ah
Note:	these functions are reserved for future use

Top
2FD110 - INT 2F - MDEBUG command driver - GET ADDRESS OF THE OLD INT 2F
INT 2F - MDEBUG command driver - GET ADDRESS OF THE OLD INT 2F
	AX = D110h
Return: DL = FFh
	ES:BX -> next program in the chain for INT 2F
	CX = code segment of this driver
	DI = offset of driver identification table (see #03079) (v1.60+)
Notes:	only called by the transient part of the driver
	must be reentrant and the driver must not chain this function to the
	  old INT 2F

Format of the MDEBUG driver identification table:
Offset	Size	Description	(Table 03079)
 00h  26 BYTEs	 signature "Kommandotreiber fr MDEBUG"
					     ^- Note: ASCII 129,German U-umlaut
 27h  12 BYTEs	 name of driver, e.g. "MDHISDRV.COM"
		 each driver must have a unique name

Top
2FD111 - INT 2F - MDEBUG command driver - START DRIVER
INT 2F - MDEBUG command driver - START DRIVER
	AX = D111h
Return: DL = FFh
Notes:	only called by the transient part of the driver to inform the resident
	  part that it is installed
	the function must be reentrant and the driver mustn't chain this
	  function to the old INT 2F
SeeAlso: AX=D101h,AX=D112h

Top
2FD112 - INT 2F - MDEBUG command driver - END DRIVER
INT 2F - MDEBUG command driver - END DRIVER
	AX = D112h
Return: DL = FFh
Notes:	only called by the transient part of the driver to inform the resident
	  part that it will be released after this function
	the function must be reentrant and the driver mustn't chain this
	  function to the old INT 2F
SeeAlso: AX=D101h,AX=D111h

Top
2FD1 - INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
INT 2F - MDEBUG command driver - RESERVED FUNCTIONS
	AH = D1h
	AL = 13h-7Fh
Note:	these functions are reserved for future use

Top
2FD1 - INT 2F - MDEBUG command driver - USER DEFINED FUNCTIONS
INT 2F - MDEBUG command driver - USER DEFINED FUNCTIONS
	AH = D1h
	AL = 80h-FFh
Note:	these functions are reserved for user defined features (e.g.
	  communication between the transient und resident parts of the driver)

Top
2FD201BX4D41 - INT 2F U - Quarterdeck RPCI - MANIFEST v1.0+ - INSTALLATION CHECK
INT 2F U - Quarterdeck RPCI - MANIFEST v1.0+ - INSTALLATION CHECK
	AX = D201h
	BX = 4D41h ("MA")
	CX = 4E49h ("NI")
	DX = 4645h ("FE")
Return: BX = 5354h ("ST") if installed
Range:	AH=C0h to AH=FFh, selected by scanning AH=D2h-FFh, then AH=C0h-D1h
SeeAlso: AX=D200h

Top
2FD600 - INT 2F - HEART.COM - INSTALLATION CHECK
INT 2F - HEART.COM - INSTALLATION CHECK
	AX = D600h
Return: AX = 0303h (two hearts) if installed
	    ES:DI -> buffer (see #03088)
Program: HEART.COM is a CPU lock-up/critical indicator utility by Mitch Davis.
Notes:	Once the host program has identified the address of the data area, it
	  can change this to indicate safe/critical, alternate colours, etc.
	The entries for the color table are in char/attrib form.  Every two
	  entries form a pair which is alternated between 68 times a minute.
	  The first half of the table is for color videos, the second mono.
	  Within each half, the first half is for the safe chars, and the
	  second for the critical chars.

Format of HEART.COM buffer:
Offset	Size	Description	(Table 03088)
 00h  8 WORDs	table of colors/attributes (refer to notes above)
 10h	BYTE	flags
		bit 0: program is in critical section, so flash double
		      exclamation mark
		bit 1: program is in safe code, so flash the heart character
 11h	WORD	position of heartbeat on screen, normally 009Eh (last column
		of second line)

Top
2FDA55 - INT 2F U - TRAP.COM - INSTALLATION CHECK
INT 2F U - TRAP.COM - INSTALLATION CHECK
	AX = DA55h
	DL = interrupt number
	DH = ???
Return: if installed
	    AH = interrupt number
	    AL = ???
	    ES:BX -> ???
Program: TRAP is an interrupt call tracer by Patrick Phillipot/Udo Chrosziel
Note:	a separate copy of TRAP is loaded for each interrupt to be traced; thus
	  the interrupt number is part of the installation check

Top
2FF400 - INT 2F - FINDIRQ.COM - INSTALLATION CHECK
INT 2F - FINDIRQ.COM - INSTALLATION CHECK
	AX = F400h
Return: AL = 01h if installed
Program: FINDIRQ is a program by Rick Knoblaugh published in the 9/28/93 issue
	  of PC Magazine; when run as a TSR it can determine which IRQs are
	  used only when a device is active
SeeAlso: AX=F401h

Top
2FF401CX5121 - INT 2F - FINDIRQ.COM - GET HOOKED INTERRUPTS
INT 2F - FINDIRQ.COM - GET HOOKED INTERRUPTS
	AX = F401h
	CX = 5121h ('Q!')
Return: AX:DX -> hooked interrupt table (see #03126)
SeeAlso: AX=F400h

Format of FINDIRQ hooked interrupt table:
Offset	Size	Description	(Table 03126)
 00h	BYTE	1Ch
 01h	DWORD	FINDIRQ's INT 1C handler
 05h	DWORD	original INT 1C handler
 09h	BYTE	28h
 0Ah	DWORD	FINDIRQ's INT 28 handler
 0Eh	DWORD	original INT 28 handler
 12h	BYTE	2Fh
 13h	DWORD	FINDIRQ's INT 2F handler
 17h	DWORD	original INT 2F handler

Top
2FFB43BX0100 - INT 2F PU - Borland TDX - INSTALLATION CHECK
INT 2F PU - Borland TDX - INSTALLATION CHECK
	AX = FB43h
	BX = 0100h
Return: BX = FB43h if loaded
Program: TDX is Borland's Turbo Debugger variant for DPMI programs
Note:	Borland Pascal 7 DPMI programs use this call to check whether they
	  should install their own stack and general protection exception
	  handlers, or allow TDX to handle those exceptions

Top
410000 - INT 41 CPU - MS Windows debugging kernel - OUTPUT CHARACTER FOR USER
INT 41 CPU - MS Windows debugging kernel - OUTPUT CHARACTER FOR USER
	AX = 0000h
	DS:DX -> character
Note:	the kernel calls this function when it wants the user program to
	  output a character
SeeAlso: AX=0001h

Top
410001 - INT 41 CPU - MS Windows debugging kernel - INPUT CHARACTER
INT 41 CPU - MS Windows debugging kernel - INPUT CHARACTER
	AX = 0001h
Return: AL = character
Note:	the kernel calls this function when it needs to input a character
SeeAlso: AX=0000h

Top
41000D - INT 41 CPU - MS Windows debugging kernel - TASK GOING OUT
INT 41 CPU - MS Windows debugging kernel - TASK GOING OUT
	AX = 000Dh
SeeAlso: AX=000Eh

Top
41000E - INT 41 CPU - MS Windows debugging kernel - TASK COMING IN
INT 41 CPU - MS Windows debugging kernel - TASK COMING IN
	AX = 000Eh
SeeAlso: AX=000Dh

Top
410012 - INT 41 CPU - MS Windows debugging kernel - "OutputDebugString"
INT 41 CPU - MS Windows debugging kernel - "OutputDebugString"
	AX = 0012h
	DS:SI -> string (Windows 3.0)
	ES:SI -> string (Windows 3.1)
Return: nothing???
Note:	this function is called by the kernel when it wants to output a
	  string through the debugger
SeeAlso: AX=0050h,INT 68/AH=47h

Top
41004F - INT 41 CPU - MS Windows debugging kernel - DEBUGGER INSTALLATION CHECK
INT 41 CPU - MS Windows debugging kernel - DEBUGGER INSTALLATION CHECK
	AX = 004Fh
Return: AX = F386h if debugger is present
SeeAlso: INT 68/AX=4400h

Top
410050 - INT 41 P - MS Windows debugging kernel - "DefineDebugSegment"
INT 41 P - MS Windows debugging kernel - "DefineDebugSegment"
	AX = 0050h
	BX = segment number in executable (0-based)
	CX = selector
	DX = instance handle
	SI = segment flags (0=code, 1=data)
	ES:DI -> module name of owner
Return: ???
SeeAlso: AX=0012h,AX=004Fh

Top
410051 - INT 41 CPU - MS Windows debugging kernel - MOVE SEGMENT
INT 41 CPU - MS Windows debugging kernel - MOVE SEGMENT
	AX = 0051h
	???
Return: ???
SeeAlso: AX=0050h,AX=0052h

Top
410052 - INT 41 CPU - MS Windows debugging kernel - FREE SEGMENT
INT 41 CPU - MS Windows debugging kernel - FREE SEGMENT
	AX = 0052h
	BX = freed selector
SeeAlso: AX=0050h,AX=0051h,AX=005Ch

Top
410059 - INT 41 CPU - MS Windows debugging kernel - LOAD TASK
INT 41 CPU - MS Windows debugging kernel - LOAD TASK
	AX = 0059h
	???:BX = CS:IP of new task's starting point

Top
41005C - INT 41 CPU - MS Windows debugging kernel - FREE INITIAL SEGMENT
INT 41 CPU - MS Windows debugging kernel - FREE INITIAL SEGMENT
	AX = 005Ch
	BX = freed selector
Note:	called only when KERNEL starts, once for CS and once for the DS alias
	  to CS
SeeAlso: AX=0052h

Top
410060 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT LOAD
INT 41 CPU - MS Windows debugging kernel -  END OF SEGMENT LOAD
	AX = 0060h
	???
Return: ???
SeeAlso: AX=0061h

Top
410061 - INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT DISCARD
INT 41 CPU - MS Windows debugging kernel - END OF SEGMENT DISCARD
	AX = 0061h
	???
Return: ???
SeeAlso: AX=0060h

Top
410062 - INT 41 CPU - MS Windows debugging kernel - APPLICATION TERMINATING
INT 41 CPU - MS Windows debugging kernel - APPLICATION TERMINATING
	AX = 0062h
STACK:	BYTE	exit code
Return: ???
	STACK unchanged???
SeeAlso: AX=0064h

Top
410063 - INT 41 CPU - MS Windows debugging kernel - ASYNCHRONOUS STOP (Ctrl-Alt-SysReq)
INT 41 CPU - MS Windows debugging kernel - ASYNCHRONOUS STOP (Ctrl-Alt-SysReq)
	AX = 0063h

Top
410064 - INT 41 CPU - MS Windows debugging kernel - DLL LOADED
INT 41 CPU - MS Windows debugging kernel - DLL LOADED
	AX = 0064h
	CX:BX = DLL entry point CS:IP
	SI = module handle
SeeAlso: AX=0062h,AX=0065h

Top
410065 - INT 41 CPU - MS Windows debugging kernel - MODULE REMOVED
INT 41 CPU - MS Windows debugging kernel - MODULE REMOVED
	AX = 0065h
	ES = module handle
SeeAlso: AX=0064h

Top
410066 - INT 41 CPU - MS Windows debugging kernel - ERROR
INT 41 CPU - MS Windows debugging kernel - ERROR
	AX = 0066h
Note:	called by LogError()
SeeAlso: AX=0067h

Top
410067 - INT 41 CPU - MS Windows debugging kernel - PARAMETER ERROR
INT 41 CPU - MS Windows debugging kernel - PARAMETER ERROR
	AX = 0067h
Note:	called by LogParamError()
SeeAlso: AX=0066h

Top
60 - INT 60 U - INTRSPY/CMDSPY v1.0 only - API
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 ???

Top
6000 - INT 60 - SYS_PROF.EXE - PROFILER STATUS
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"

Top
6000 - INT 60 - MDEBUG - GET STATUS
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

Top
6001 - INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
	AH = 01h
	DS:SI -> password or a null byte
Return: AX = return code
	    FFFEh password is invalid
	    FFFDh display mode is invalid
	    else successful
		ES:DI point to the help registers of MDEBUG
	       ES:DI-02h  -> R0 (WORD)
	       ES:DI	  -> R1 (WORD)
	       ES:DI+02h  -> R2 (WORD)
	       ES:DI+04h  -> R3 (WORD)
	       ...
	       ES:DI+0Eh  -> R8 (WORD)

Top
6001 - INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
	AH = 01h
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=00h"SYS_PROF",AH=02h"SYS_PROF"

Top
6002 - INT 60 - MDEBUG - SET STATUS
INT 60 - MDEBUG - SET STATUS
	AH = 02h
	DS:SI -> password or a null byte
	ES = new value for the register SE
	DI = new value for the register OF
	CH = new monitor color if nonzero
	CL = new interpreter color if nonzero
	BH = new monitor start line if nonzero
	BL = new interpreter start line if nonzero
	AL = new ASCII code for the hotkey ('A'..'Z', 'a'..'z') if nonzero
	DL = new status of the special keys (SHIFT, ALT, CTRL) for the hotkey
	      if nonzero
	DH = if nonzero, new basic process number for communication with the
	      drivers (DH = multiplex number for the display driver,
	      DH+1 = multiplex number for the command driver or drivers)
Return: AX = return code
	    FFFFh call not allowed
	    FFFEh password is invalid
	    FFFDh display mode is invalid
	    0000h successful, status changed
	    else AL = error reasons (see #03307)
Note:	the values of the registers SE and OF are always changed, the other
	  values are only changed if they are valid
SeeAlso: AH=00h"MDEBUG"
Index:	hotkeys;MDEBUG

Bitfields for MDEBUG error reasons:
Bit(s)	Description	(Table 03307)
 0	invalid monitor start line
 1	invalid interpreter start line
 2	invalid hotkey
 3	invalid process number
 4-7	reserved

Top
6002 - INT 60 - SYS_PROF.EXE - TURN PROFILING ON
INT 60 - SYS_PROF.EXE - TURN PROFILING ON
	AH = 02h
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=00h"SYS_PROF",AH=01h"SYS_PROF"

Top
6003 - INT 60 - MDEBUG - POP UP
INT 60 - MDEBUG - POP UP
	AH = 03h
	DS:SI -> password or a null byte
	ES -> new value for the register SE
	DI -> new value for the register OF
Return: AX = return code (see #03309)
SeeAlso: AH=04h"MDEBUG"

(Table 03309)
Values for MDEBUG return code:
 FFFFh	call not allowed
 FFFEh	password is invalid
 FFFDh	display mode is invalid
 else	successful

Top
6003 - INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
	AH = 03h
Return: ES:BX -> profiling table
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=04h"SYS_PROF"

Top
6004 - INT 60 - MDEBUG - POP UP
INT 60 - MDEBUG - POP UP
	AH = 04h
	DS:SI -> password or a null byte
Return: AX = return code (see #03309)
SeeAlso: AH=03h"MDEBUG",AH=07h"MDEBUG"

Top
6004 - INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
	AH = 04h
Note:	SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
	  Issue 47
SeeAlso: AH=03h"SYS_PROF"

Top
6005 - INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
	AH = 05h
	DS:SI -> password or a null byte
	BL = new value for the semaphor of MDEBUG
	     00h  enable popup of MDEBUG
	     else disable popup of MDEBUG
Return: AX = return code
	    FFFEh password is invalid
	    FFFDh display mode is invalid
	    else successful
		BL = old value of the semaphor of MDEBUG
		BH = old value of the INT 08h semaphor
		    (this semaphor is always reset after this function)

Top
6006 - INT 60 - MDEBUG - GET PASSWORD STATUS
INT 60 - MDEBUG - GET PASSWORD STATUS
	AH = 06h
Return: AL = status
	    00h password inactive
	    01h password active

Top
6007 - INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
	AH = 07h
Return: AL = active part for the next popup session of MDEBUG:
	    bit 0: the next popup session will start in the interpreter rather
		  than in the monitor
	    bit 1: the next popup session will sart in the online-help
SeeAlso: AH=03h"MDEBUG",AH=04h"MDEBUG"

Top
6008 - INT 60 - MDEBUG - UNUSED
INT 60 - MDEBUG - UNUSED
	AH = 08h-FFh
Return: AX = FFFCh

Top
696996 - INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
	AX = 6996h
	DS:DX -> interrupt handler or 0000h:0000h to disable
Return: AX = 9669h
Program: ISR (Interrupt Service Reflector) is a TSR by Rich Bono which permits
	  a program to provide hardware interrupt handlers even while being
	  debugged with a debugger that swaps interrupt vectors during
	  debugging.
Note:	the interrupt vector which is to be reflected is set at installation
	  time and cannot be changed

Top
7D00 - INT 7D - SCSILink - RESET SCSI BUS
INT 7D - SCSILink - RESET SCSI BUS
	AH = 00h
Program: SCSILink is a TSR by Cross Products Ltd which allows its PC-hosted
	  cross assemblers and similar products to communicate with Cross
	  Products hardware debuggers
Desc:	reset all devices on the SCSI bus
InstallCheck:	test for the signature "SCSILINK" immediately prior to the
	  interrupt handler
Index:	installation check;SCSILink

Top
7D01 - INT 7D - SCSILink - CONNECT TO TARGET
INT 7D - SCSILink - CONNECT TO TARGET
	AH = 01h
	AL = target ID
Return: CF clear if successful
	CF set on error
	    AL = initiator error
	    AH = target error
Desc:	arbitrate the use of the bus and select the specified target device

Top
7D02 - INT 7D - SCSILink - SEND COMMAND
INT 7D - SCSILink - SEND COMMAND
	AH = 02h
	ES:BX -> parameter block (see #03863)
Return: CF clear if successful
	CF set on error
	    AL = initiator error
	    AH = target error
Desc:	send the specified command block to the target device and perform any
	  related I/O

Format of SCSILink parameter block:
Offset	Size	Description	(Table 03863)
 00h	DWORD	size of command block
 04h	DWORD	address of command block (see #03864)
 08h	DWORD	size of buffer
 0Ch	DWORD	address of buffer

Format of SCSILink command block:
Offset	Size	Description	(Table 03864)
 00h		info not yet available

Top
7D03 - INT 7D - SCSILink - SET TIMEOUT
INT 7D - SCSILink - SET TIMEOUT
	AH = 03h
	AL = timeout selector (see #03865)
	BX = new value in 55ms ticks
Desc:	change an internal timeout value to allow communication with very
	  slow targets

(Table 03865)
Values for SCSILink timeout selector:
 00h	time to wait for bus (default 18)
 01h	time to wait for new phase (default 5)
 02h	maximum time to send/receive block (default 18)
 03h	time to wait for reselect (default 180)

Top
7D04 - INT 7D - SCSILink - GET ERROR STRING
INT 7D - SCSILink - GET ERROR STRING
	AH = 04h
	AL = error number
Return: ES:BX -> ASCIZ error string for error number

Top
7D05 - INT 7D - SCSILink - GET ADDRESS
INT 7D - SCSILink - GET ADDRESS
	AH = 05h
Return: AL = DMA channel
	AH = initiator ID
	BX = card address
Desc:	determine the current hardware configuration

Top
7D06 - INT 7D - SCSILink - PUT DATA
INT 7D - SCSILink - PUT DATA
	AH = 06h
	CX = number of bytes to store (0001h-0100h)
	ES:BX -> data to be saved
Return: CF clear if successful
	CF set on error
	    AL = error code (01h = too much data)
Note:	the specified data is stored in SCSILink's PSP
SeeAlso: AH=07h

Top
7D07 - INT 7D - SCSILink - GET DATA
INT 7D - SCSILink - GET DATA
	AH = 07h
	CX = number of bytes to retrieve (0001h-0100h)
	ES:BX -> buffer for data
Return: CF clear if successful
	CF set on error
	    AL = error code (01h = too much data)
Note:	retrieve data previously stored with AH=06h
SeeAlso: AH=06h

Top
7D08 - INT 7D - SCSILink - TERMINATE SESSION
INT 7D - SCSILink - TERMINATE SESSION
	AH = 08h
Desc:	indicate to any other programs that intercept INT 7D that the program
	  has finished with the link
Note:	the program should call this function even if a SCSI error caused its
	  termination

Top
7D09 - INT 7D - SCSILink - POLL REQUEST
INT 7D - SCSILink - POLL REQUEST
	AH = 09h
	AL = target ID
Return: AL = status
	    FEh resident driver experienced SCSI error
	    FFh resident driver handleded event
Desc:	give any drivers chained onto INT 7D a chance to handle an exception
	  not specifically handled by the calling program
Notes:	this service exists so that resident disk servers, etc. can continue
	  running even while debuggers and profilers are active
	the resident driver assumes that a connection has been established and
	  attempts to leave the target connected

Top
FE - INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER
INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER
SeeAlso: INT 3F

Top
Home Interrupt Index: by Category by ID TOC: by Order Top