Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-41-50 [2023/01/05 04:01] – supprimée - modification externe (Unknown date) 127.0.0.1 | back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-41-50 [2023/01/05 04:01] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== MSDOS - Interrupt List 41h-50h ====== | ||
+ | ===== INT 41 - SYSTEM DATA - HARD DISK 0 PARAMETER TABLE ===== | ||
+ | |||
+ | <WRAP round info> | ||
+ | the default parameter table array is located at F000h:E401h in 100% compatible BIOSes; the pointer may be overridden by the hard disk controller' | ||
+ | |||
+ | SeeAlso: INT 13/ | ||
+ | </ | ||
+ | |||
+ | Format of fixed disk parameters: | ||
+ | ^Offset ^Size ^Description | ||
+ | | 00h |WORD |number of cylinders| | ||
+ | | 02h |BYTE |number of heads| | ||
+ | | 03h |WORD |starting reduced write current cylinder (XT only, 0 for others)| | ||
+ | | 05h |WORD |starting write precompensation cylinder number| | ||
+ | | 07h |BYTE |maximum ECC burst length (XT only)| | ||
+ | | 08h |BYTE |control byte\\ | ||
+ | | 09h |BYTE |standard timeout (XT only, 0 for others)| | ||
+ | | 0Ah |BYTE |formatting timeout (XT only, 0 for others)| | ||
+ | | 0Bh |BYTE |timeout for checking drive (XT only, 0 for others)| | ||
+ | | 0Ch |WORD |cylinder number of landing zone (AT and later only)| | ||
+ | | 0Eh |BYTE |number of sectors per track (AT and later only)| | ||
+ | | 0Fh |BYTE |reserved| | ||
+ | |||
+ | ===== INT 41 - Z100 - Master 8259 - Processor Swap ===== | ||
+ | |||
+ | SeeAlso: INT 40" | ||
+ | ----------4112------------------------------- | ||
+ | INT 41 P - MS Windows debugging kernel - " | ||
+ | AH = 12h | ||
+ | ??? | ||
+ | Return: ??? | ||
+ | SeeAlso: AH=50h | ||
+ | ----------4150------------------------------- | ||
+ | INT 41 P - MS Windows debugging kernel - " | ||
+ | AH = 50h | ||
+ | ??? | ||
+ | Return: ??? | ||
+ | SeeAlso: AH=12h | ||
+ | ----------42--------------------------------- | ||
+ | INT 42 - VIDEO - RELOCATED DEFAULT INT 10 VIDEO SERVICES (EGA,VGA) | ||
+ | SeeAlso: INT 10 | ||
+ | Note: not used by PS/2 built-in VGA or XGA | ||
+ | ----------42--------------------------------- | ||
+ | INT 42 - Z100 - Master 8259 - Timer | ||
+ | SeeAlso: INT 41" | ||
+ | ----------43--------------------------------- | ||
+ | INT 43 - VIDEO DATA - CHARACTER TABLE (EGA, | ||
+ | | ||
+ | SeeAlso: INT 1F,INT 44" | ||
+ | ----------43--------------------------------- | ||
+ | INT 43 - Z100 - Master 8259 - Slave 8259 input | ||
+ | Note: slave runs in special fully nested mode | ||
+ | SeeAlso: INT 42" | ||
+ | ----------44--------------------------------- | ||
+ | INT 44 - VIDEO DATA - ROM BIOS CHARACTER FONT, CHARACTERS 00h-7Fh (PCjr) | ||
+ | | ||
+ | SeeAlso: INT 1F,INT 43" | ||
+ | ----------44--------------------------------- | ||
+ | INT 44 - Novell NetWare - HIGH-LEVEL LANGUAGE API | ||
+ | ----------44--------------------------------- | ||
+ | INT 44 - IBM 3270-PC High Level Language API | ||
+ | DS:SI -> parameter control block | ||
+ | ----------44--------------------------------- | ||
+ | INT 44 - Z100 - Master 8259 - Serial A | ||
+ | SeeAlso: INT 43" | ||
+ | ----------45--------------------------------- | ||
+ | INT 45 - Z100 - Master 8259 - Serial B | ||
+ | SeeAlso: INT 44" | ||
+ | ----------46--------------------------------- | ||
+ | INT 46 - SYSTEM DATA - HARD DISK 1 DRIVE PARAMETER TABLE | ||
+ | SeeAlso: INT 13/ | ||
+ | ----------46--------------------------------- | ||
+ | INT 46 - Z100 - Master 8259 - Keyboard, Retrace, and Light Pen | ||
+ | SeeAlso: INT 45" | ||
+ | ----------47--------------------------------- | ||
+ | INT 47 - Z100 - Master 8259 - Printer | ||
+ | SeeAlso: INT 46" | ||
+ | ----------478000----------------------------- | ||
+ | INT 47 - SQL Base - DATABASE ENGINE API | ||
+ | AX = 8000h | ||
+ | DS:BX -> parameter block, first word is function number | ||
+ | Note: SQL Base is a network-oriented database engine by Gupta Technologies | ||
+ | |||
+ | Values for function number: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ----------478001----------------------------- | ||
+ | INT 47 - SQL Base - GET VERSION NUMBER | ||
+ | AX = 8001h | ||
+ | Return: ??? | ||
+ | Note: SQL Base is a network-oriented database engine by Gupta Technologies | ||
+ | ----------48--------------------------------- | ||
+ | INT 48 - KEYBOARD - CORDLESS KEYBOARD TRANSLATION (PCjr) | ||
+ | SeeAlso: INT 49" | ||
+ | ----------48--------------------------------- | ||
+ | INT 48 - Z100 - Slave 8259 - S100 vectored line 0 | ||
+ | SeeAlso: INT 47" | ||
+ | ----------48--------------------------------- | ||
+ | INT 48 - Watstar PC Network data pointer 1 | ||
+ | SeeAlso: INT 49" | ||
+ | ----------49--------------------------------- | ||
+ | INT 49 - SYSTEM DATA - NON-KEYBOARD SCAN-CODE TRANSLATION TABLE (PCjr) | ||
+ | SeeAlso: INT 48" | ||
+ | |||
+ | Format of translation table: | ||
+ | Offset Size Description | ||
+ | | ||
+ | | ||
+ | representing the scancode mapped values relative to their | ||
+ | input values within the range of 56h through 7Eh | ||
+ | ----------49--------------------------------- | ||
+ | INT 49 - Z100 - Slave 8259 - S100 vectored line 1 | ||
+ | SeeAlso: INT 48" | ||
+ | ----------49--------------------------------- | ||
+ | INT 49 - Texas Instruments PC - VIDEO I/O??? | ||
+ | apparently provides direct video display on the TI Professional PC | ||
+ | ----------49--------------------------------- | ||
+ | INT 49 - Watstar PC Network data pointer 2 | ||
+ | SeeAlso: INT 49" | ||
+ | ----------490001----------------------------- | ||
+ | INT 49 - MAGic v1.16+ - TURN ON MAGNIFICATION | ||
+ | AX = 0001h | ||
+ | Return: AX = status | ||
+ | 0000h cannot magnify current video mode | ||
+ | 0002h magnified (text mode) | ||
+ | 0003h magnified (graphics mode) | ||
+ | FFFDh function works only in magnified mode | ||
+ | FFFFh MAGic busy, retry later | ||
+ | BX,CX,DX destroyed | ||
+ | Notes: | ||
+ | providing 2x2 text and graphics magnification on VGA, XGA, and SVGA | ||
+ | INT 49 is the default, but may be overridden on the commandline. | ||
+ | actual interrupt in use may be found by searching for the signature | ||
+ | " | ||
+ | the interrupt handler (this is also the installation check). MAGic | ||
+ | uses CodeRunneR, which places the signature " | ||
+ | the interrupt handler' | ||
+ | " | ||
+ | SeeAlso: AX=0001h, | ||
+ | ----------490002----------------------------- | ||
+ | INT 49 - MAGic v1.16+ - TURN OFF MAGNIFICATION | ||
+ | AX = 0002h | ||
+ | Return: AX = status (see AX=0001h) | ||
+ | BX,CX,DX destroyed | ||
+ | SeeAlso: AX=0001h | ||
+ | ----------490003----------------------------- | ||
+ | INT 49 - MAGic v1.16+ - SHIFT MAGNIFIED WINDOW TO INCLUDE SPECIFIED LOCATION | ||
+ | AX = 0003h | ||
+ | BX = vertical position (character row [text] or pixel row [graphics]) | ||
+ | DX = horizontal position (char column [text] or 8-pixel units [gr]) | ||
+ | Return: AX = status | ||
+ | 0000h successful | ||
+ | FFFFh MAGic busy, retry later | ||
+ | BX,CX,DX destroyed | ||
+ | Note: | ||
+ | SeeAlso: AX=0001h, | ||
+ | ----------490004----------------------------- | ||
+ | INT 49 - MAGic v1.16+ - REPOSITION MAGNIFIED WINDOW | ||
+ | AX = 0004h | ||
+ | BX = vertical position of upper left corner | ||
+ | DX = horizontal position | ||
+ | Return: AX = status (see AX=0003h) | ||
+ | BX,CX,DX destroyed | ||
+ | SeeAlso: AX=0001h, | ||
+ | ----------490005----------------------------- | ||
+ | INT 49 - MAGic v1.16+ - GET POSITION OF MAGNIFIED WINDOW | ||
+ | AX = 0005h | ||
+ | Return: AX = status | ||
+ | 0000h successful | ||
+ | BX = vertical position (char row or pixel row) | ||
+ | DX = horizontal position (char column or 8-pixel units) | ||
+ | FFFFh MAGic busy, retry later | ||
+ | BX,DX destroyed | ||
+ | CX destroyed | ||
+ | SeeAlso: AX=0001h, | ||
+ | ----------490006----------------------------- | ||
+ | INT 49 - MAGic v1.16+ - GET SIZE OF FULL SCREEN | ||
+ | AX = 0006h | ||
+ | Return: AX = status | ||
+ | 0000h successful | ||
+ | BX = vertical size (char rows or pixel rows) | ||
+ | DX = horizontal size (char cols or 8-pixel units) | ||
+ | FFFFh MAGic busy, retry later | ||
+ | BX,DX destroyed | ||
+ | CX destroyed | ||
+ | SeeAlso: AX=0001h, | ||
+ | ----------490007----------------------------- | ||
+ | INT 49 - MAGic v1.16+ - GET SIZE OF MAGNIFICATION WINDOW | ||
+ | AX = 0007h | ||
+ | Return: AX = status | ||
+ | 0000h successful | ||
+ | BX = vertical size (char rows or pixel rows) | ||
+ | DX = horizontal size (char cols or 8-pixel units) | ||
+ | FFFEh invalid function | ||
+ | FFFFh MAGic busy, retry later | ||
+ | BX,DX destroyed | ||
+ | CX destroyed | ||
+ | BUG: in v1.16 and v1.17, this function is not recognized as valid, but | ||
+ | AX=0000h is accepted and will branch into hyperspace | ||
+ | SeeAlso: AX=0001h, | ||
+ | ----------490008----------------------------- | ||
+ | INT 49 - MAGic v1.23+ - SET TEXT MODE MAGNIFICATION SIZE | ||
+ | AX = 0008h | ||
+ | BX = scaling factor (01h=1.4 times, 02h, 04h, 06h, 08h, 09h=12 times) | ||
+ | Return: AX = status | ||
+ | 0000h successful | ||
+ | FFFBh scaling factor only available in MAGic Deluxe | ||
+ | FFFCh already in magnified state, can't set size | ||
+ | Notes: this call specifies the amount a subsequent call to AX=0001h should | ||
+ | magnify the display | ||
+ | scaling factors greater than 2 are only available in MAGic Deluxe | ||
+ | SeeAlso: AX=0001h | ||
+ | ----------4A--------------------------------- | ||
+ | INT 4A - SYSTEM - USER ALARM HANDLER | ||
+ | This interrupt is invoked by the BIOS when a real-time clock alarm occurs. | ||
+ | An application may use it to perform an action at a predetermined time; | ||
+ | | ||
+ | so all usual precautions against reentering DOS must be taken. | ||
+ | SeeAlso: INT 1A/AH=06h | ||
+ | ----------4A--------------------------------- | ||
+ | INT 4A - Z100 - Slave 8259 - S100 vectored line 2 | ||
+ | SeeAlso: INT 49" | ||
+ | ----------4B--------------------------------- | ||
+ | INT 4B - Z100 - Slave 8259 - S100 vectored line 3 | ||
+ | SeeAlso: INT 4A" | ||
+ | ----------4B--------------------------------- | ||
+ | INT 4B - Common Access Method SCSI interface (draft revision 1.9) | ||
+ | ES:DI -> CAM Control Block (see INT 4F/ | ||
+ | Notes: the CAM committee moved the interface to INT 4F after revision 1.9 | ||
+ | to avoid conflicting with the IBM SCSI interface and the Virtual | ||
+ | DMA specification | ||
+ | the installation check for the driver is the string " | ||
+ | bytes past the INT 4Bh handler | ||
+ | it is not known whether any drivers actually implemented this | ||
+ | interface on INT 4B instead of INT 4F | ||
+ | SeeAlso: INT 4F/AX=8100h | ||
+ | ----------4B80------------------------------- | ||
+ | INT 4B - IBM SCSI interface | ||
+ | AH = 80h | ||
+ | details not yet available | ||
+ | ----------4B8102DX0000----------------------- | ||
+ | INT 4B - Virtual DMA Specification (VDS) - GET VERSION | ||
+ | AX = 8102h | ||
+ | DX = 0000h | ||
+ | Return: CF clear if successful | ||
+ | AH = major version number | ||
+ | AL = minor version number | ||
+ | BX = product number | ||
+ | 0000h for Quadtel' | ||
+ | 0001h for Microsoft' | ||
+ | 4560h (" | ||
+ | 4D43h (" | ||
+ | 5145h (" | ||
+ | CX = product revision number | ||
+ | always 0000h for QMAPS and HPMM.SYS | ||
+ | always 0001h for Microsoft' | ||
+ | SI:DI = maximum DMA buffer size | ||
+ | DX = flags | ||
+ | bit 0: PC/XT bus (DMA in first megabyte only) | ||
+ | 1: physical buffer/ | ||
+ | 2: automatic remap enabled | ||
+ | 3: all memory is physically contiguous | ||
+ | 4-15: reserved (zero) | ||
+ | CF set on error | ||
+ | AL = error code (see below) | ||
+ | Note: bit 5 of 0040h:007Bh is supposed to be set if VDS is supported; this is | ||
+ | apparently not always the case | ||
+ | SeeAlso: INT 31 | ||
+ | |||
+ | Values for error code: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Format of DMA descriptor structure (DDS): | ||
+ | Offset Size Description | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Format of Extended DMA descriptor structure (EDDS): | ||
+ | Offset Size Description | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ... | ||
+ | |||
+ | Format of Extended DMA descriptor structure (EDDS) with page table entries: | ||
+ | Offset Size Description | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ... | ||
+ | Note: bits 1-11 of the page table entries should be zero; bit 0 set if page | ||
+ | is present and locked | ||
+ | ----------4B8103----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - LOCK DMA REGION | ||
+ | AX = 8103h | ||
+ | DX = flags | ||
+ | bit 0: reserved (zero) | ||
+ | 1: data should be copied into buffer (ignored if bit 2 set) | ||
+ | 2: buffer should not be allocated if region noncontiguous or | ||
+ | | ||
+ | 3: don't attempt automatic remap | ||
+ | 4: region must not cross 64K physical alignment boundary | ||
+ | 5: region must not cross 128K physical alignment boundary | ||
+ | 6-15: reserved (zero) | ||
+ | ES:DI -> DMA descriptor structure (see AX=8102h) | ||
+ | Return: CF clear if successful | ||
+ | DDS physical address field filled in | ||
+ | DDS buffer ID field filled (0000h if no buffer allocated) | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | DDS region size field filled wth maximum contiguous length in bytes | ||
+ | SeeAlso: AX=8104h, | ||
+ | ----------4B8104----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - UNLOCK DMA REGION | ||
+ | AX = 8104h | ||
+ | DX = flags | ||
+ | bit 0: reserved (zero) | ||
+ | 1: data should be copied out of buffer | ||
+ | 2-15: reserved (zero) | ||
+ | ES:DI -> DMA descriptor structure (see AX=8102h) with region size, | ||
+ | physical address, and buffer ID fields set | ||
+ | Return: CF clear if successful | ||
+ | DDS physical address field set | ||
+ | DDS buffer ID field set (0000h if no buffer allocated) | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | DDS region size field filled wth maximum contiguous length in bytes | ||
+ | SeeAlso: AX=8103h, | ||
+ | ----------4B8105----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - SCATTER/ | ||
+ | AX = 8105h | ||
+ | DX = flags | ||
+ | bits 0-5: reserved (zero) | ||
+ | 6: EDDS should be returned with page table entries | ||
+ | 7: only present pages should be locked (not-present pages | ||
+ | receive entry of 0000h) | ||
+ | 8-15: reserved (zero) | ||
+ | ES:DI -> Extended DMA descriptor structure (see AX=8102h) | ||
+ | region size, linear segment, linear offset, and number avail | ||
+ | fields set | ||
+ | Return: CF clear if successful | ||
+ | EDDS number used field set | ||
+ | if DX bit 6 set, lower 12 bits of BX = offset in first page | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | EDDS region size field filled with max length in bytes that can be | ||
+ | locked and described in the EDDS table | ||
+ | SeeAlso: AX=8103h, | ||
+ | ----------4B8106----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - SCATTER/ | ||
+ | AX = 8106h | ||
+ | DX = flags | ||
+ | bits 0-5: reserved (zero) | ||
+ | 6: EDDS contains page table entries | ||
+ | 7: EDDS may contain not-present pages (entry = 0000h) | ||
+ | 8-15: reserved (zero) | ||
+ | ES:DI -> Extended DMA descriptor structure (see AX=8102h) returned | ||
+ | by AX=8105h | ||
+ | Return: CF clear if successful | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | SeeAlso: AX=8104h, | ||
+ | ----------4B8107----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - REQUEST DMA BUFFER | ||
+ | AX = 8107h | ||
+ | DX = flags | ||
+ | bit 0: reserved (zero) | ||
+ | 1: data should be copied into buffer | ||
+ | 2-15: reserved (zero) | ||
+ | ES:DI -> DMA descriptor structure (see AX=8102h) with region size set | ||
+ | (also region offset and region segment if DX bit 1 set) | ||
+ | Return: CF clear if successful | ||
+ | DDS physical address and buffer ID set | ||
+ | DDS region size filled with length of buffer | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | SeeAlso: AX=8108h | ||
+ | ----------4B8108----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - RELEASE DMA BUFFFER | ||
+ | AX = 8108h | ||
+ | DX = flags | ||
+ | bit 0: reserved (zero) | ||
+ | 1: data should be copied out of buffer | ||
+ | 2-15: reserved (zero) | ||
+ | ES:DI -> DMA descriptor structure (see AX=8102h) with buffer ID set | ||
+ | (also region size/region offset/ | ||
+ | Return: CF clear if successful | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | SeeAlso: AX=8107h | ||
+ | ----------4B8109DX0000----------------------- | ||
+ | INT 4B - Virtual DMA Specification - COPY INTO DMA BUFFER | ||
+ | AX = 8109h | ||
+ | DX = 0000h | ||
+ | ES:DI -> DMA descriptor structure (see AX=8102h) with buffer ID, | ||
+ | region segment/ | ||
+ | BX:CX = starting offset into DMA buffer | ||
+ | Return: CF clear if successful | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | SeeAlso: AX=810Ah | ||
+ | ----------4B810ADX0000----------------------- | ||
+ | INT 4B - Virtual DMA Specification - COPY OUT OF DMA BUFFER | ||
+ | AX = 810Ah | ||
+ | DX = 0000h | ||
+ | ES:DI -> DMA descriptor structure (see AX=8102h) with buffer ID, | ||
+ | region segment/ | ||
+ | BX:CX = starting offset into DMA buffer | ||
+ | Return: CF clear if successful | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | SeeAlso: AX=8109h | ||
+ | ----------4B810B----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - DISABLE DMA TRANSLATION | ||
+ | AX = 810Bh | ||
+ | BX = DMA channel number | ||
+ | DX = 0000h | ||
+ | Return: CF clear if successful | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | SeeAlso: AX=810Ch | ||
+ | ----------4B810C----------------------------- | ||
+ | INT 4B - Virtual DMA Specification - ENABLE DMA TRANSLATION | ||
+ | AX = 810Ch | ||
+ | BX = DMA channel number | ||
+ | DX = 0000h | ||
+ | Return: CF clear if successful | ||
+ | ZF set if disable count decremented to zero | ||
+ | CF set on error | ||
+ | AL = error code (see AX=8102h) | ||
+ | SeeAlso: AX=810Bh | ||
+ | ----------4B810D----------------------------- | ||
+ | INT 4B - QEMM-386 - BUG | ||
+ | AX = 810Dh | ||
+ | Note: the code in QEMM v5.11 and 6.00 jumps to an invalid location on this | ||
+ | call | ||
+ | ----------4C--------------------------------- | ||
+ | INT 4C - Z100 - Slave 8259 - S100 vectored line 4 | ||
+ | SeeAlso: INT 4B" | ||
+ | ----------4D--------------------------------- | ||
+ | INT 4D - Z100 - Slave 8259 - S100 vectored line 5 | ||
+ | SeeAlso: INT 4C" | ||
+ | ----------4E--------------------------------- | ||
+ | INT 4E - TI Professional PC - DISK I/O | ||
+ | used instead of INT 13 on the TI Professional PC | ||
+ | SeeAlso: INT 13 | ||
+ | ----------4E--------------------------------- | ||
+ | INT 4E - Z100 - Slave 8259 - S100 vectored line 6 | ||
+ | SeeAlso: INT 4D" | ||
+ | ----------4F--------------------------------- | ||
+ | INT 4F - Z100 - Slave 8259 - S100 vectored line 7 | ||
+ | SeeAlso: INT 4E" | ||
+ | ----------4F8100----------------------------- | ||
+ | INT 4F - Common Access Method SCSI interface rev 2.3 - SEND CCB TO XPT/SIM | ||
+ | AX = 8100h | ||
+ | ES:BX -> CAM Control Block (CCB) (see below) | ||
+ | Return: AH = status | ||
+ | 00h successful | ||
+ | 01h invalid CCB address (0000h: | ||
+ | Note: the SCSI Interface Module (SIM) may complete the requested function | ||
+ | and invoke the completion callback function before this call returns | ||
+ | SeeAlso: AX=8200h, | ||
+ | |||
+ | Format of CAM Control Block: | ||
+ | Offset Size Description | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | bits 7-6: direction | ||
+ | 00 reserved | ||
+ | 01 in | ||
+ | 10 out | ||
+ | 11 no data transfer | ||
+ | bit 5: disable autosense | ||
+ | 4: scatter/ | ||
+ | 3: disable callback on completion | ||
+ | 2: linked CDB | ||
+ | 1: tagged queue action enable | ||
+ | 0: CDB is a pointer | ||
+ | | ||
+ | bit 7: disable disconnect | ||
+ | 6: initiate synchronous transfers | ||
+ | 5: disable synchronous transfers | ||
+ | 4: SIM queue priority | ||
+ | 1 head insertion | ||
+ | 0 tail insertion (normal) | ||
+ | bit 3: SIM queue freeze | ||
+ | 2: engine synchronize | ||
+ | bits 1-0: reserved | ||
+ | | ||
+ | bit 7: SG list/data (0 = host, 1 = engine) | ||
+ | bit 6: CDB pointer | ||
+ | bit 5: SG list/data | ||
+ | bit 4: sense buffer | ||
+ | bit 3: message buffer | ||
+ | bit 2: next CCB | ||
+ | bit 1: callback on completion | ||
+ | bit 0: reserved | ||
+ | | ||
+ | bit 7: data buffer valid | ||
+ | bit 6: status valid | ||
+ | bit 5: message buffer valid | ||
+ | bit 4: reserved | ||
+ | bit 3: phase-cognizant mode | ||
+ | bit 2: target CCB available | ||
+ | bit 1: disable autodisconnect | ||
+ | bit 0: disable autosave/ | ||
+ | ---function 02h--- | ||
+ | | ||
+ | | ||
+ | ---function 03h--- | ||
+ | | ||
+ | 09h-FFh = rev no, i.e. 23h = rev 2.3) | ||
+ | | ||
+ | bit 7: modify data pointers | ||
+ | 6: wide bus (32 bits) | ||
+ | 5: wide bus (16 bits) | ||
+ | 4: synchronous transfers | ||
+ | 3: linked commands | ||
+ | 2: reserved | ||
+ | 1: tagged queueing | ||
+ | 0: soft reset | ||
+ | | ||
+ | bit 7: processor mode | ||
+ | 6: phase-cognizant mode | ||
+ | 5-0: reserved | ||
+ | | ||
+ | bit 7: scanned high to low instead of low to high | ||
+ | 6: removables not included in scan | ||
+ | 5: inquiry data not kept by XPT | ||
+ | 4-0: reserved | ||
+ | | ||
+ | 16h 14 BYTEs vendor-specific data | ||
+ | | ||
+ | | ||
+ | bits 31-24: vendor-specific | ||
+ | 23-8: reserved | ||
+ | 7: new devices found during rescan | ||
+ | 6: SIM module deregistered | ||
+ | 5: SIM module registered | ||
+ | 4: sent bus device reset to target | ||
+ | 3: SCSI AEN | ||
+ | 2: reserved | ||
+ | 1: unsolicited reselection | ||
+ | 0: unsolicited SCSI bus reset | ||
+ | | ||
+ | | ||
+ | | ||
+ | 30h 16 BYTEs SIM vendor ID | ||
+ | 40h 16 BYTEs HBA (host bus adaptor) vendor ID | ||
+ | | ||
+ | ---functions 00h, | ||
+ | no additional fields | ||
+ | ---function 05h--- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ---function 06h--- | ||
+ | | ||
+ | ---functions 10h,13h--- | ||
+ | | ||
+ | ---function 20h--- | ||
+ | | ||
+ | | ||
+ | 00h buffer memory | ||
+ | 01h lossless compression | ||
+ | 02h lossy compression | ||
+ | 03h encryption | ||
+ | | ||
+ | 00h vendor-unique | ||
+ | 01h LZ1 variation 1 (STAC) | ||
+ | 02h LZ2 variation 1 (HP DCZL) | ||
+ | 03h LZ2 variation 2 (Infochip) | ||
+ | | ||
+ | ---function 21h--- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 3Ch 12 BYTEs reserved | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ---function 30h--- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ---other functions--- | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 40h 12 BYTEs Command Descriptor Block (CDB) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Values for CAM function code: | ||
+ | 00h NOP | ||
+ | 01h execute SCSI I/O | ||
+ | 02h get device type | ||
+ | 03h path inquiry | ||
+ | 04h release SIM queue | ||
+ | 05h set async callback | ||
+ | 06h set device type | ||
+ | | ||
+ | 10h abort SCSI command | ||
+ | 11h reset SCSI bus | ||
+ | 12h reset SCSI device | ||
+ | 13h terminate I/O process | ||
+ | | ||
+ | 20h engine inquiry | ||
+ | 21h execute engine request | ||
+ | | ||
+ | 30h enable logical unit number | ||
+ | 31h execute target I/O | ||
+ | | ||
+ | | ||
+ | |||
+ | Values for CAM status: | ||
+ | 00h request in progress | ||
+ | 01h request successful | ||
+ | 02h host aborted request | ||
+ | 03h unable to abort request | ||
+ | 04h request completed with error | ||
+ | 05h CAM is busy | ||
+ | 06h invalid request | ||
+ | 07h invalid path ID | ||
+ | 08h no such SCSI device | ||
+ | 09h unable to terminate I/O process | ||
+ | 0Ah timeout on target selection | ||
+ | 0Bh timeout on command | ||
+ | 0Dh receive message rejection | ||
+ | 0Eh sent/ | ||
+ | 0Fh detected uncorrectable parity error | ||
+ | 10h Autosense request failed | ||
+ | 11h no HBA detected | ||
+ | 12h data over/ | ||
+ | 13h bus freed unexpectedly | ||
+ | 14h target bus phase sequence failure | ||
+ | 15h CCB too small | ||
+ | 16h requested capability not available | ||
+ | 17h sent bus device reset | ||
+ | 18h terminate I/O process | ||
+ | 38h invalid LUN | ||
+ | 39h invalid target ID | ||
+ | 3Ah unimplemented function | ||
+ | 3Bh nexus not established | ||
+ | 3Ch invalid initiator ID | ||
+ | 3Dh received SCSI Command Descriptor Block | ||
+ | 3Eh LUN already enabled | ||
+ | 3Fh SCSI bus busy | ||
+ | Note: bit 6 set to indicate frozen SIM queue | ||
+ | bit 7 set to indicate valid autosense | ||
+ | |||
+ | Completion callback function called with: | ||
+ | interrupts disabled | ||
+ | ES:BX -> completed CCB | ||
+ | |||
+ | Asynchronous callback function called with: | ||
+ | AH = opcode | ||
+ | AL = path ID generating callback | ||
+ | DH = target ID causing event | ||
+ | DL = LUN causing event | ||
+ | CX = data byte count (if applicable) | ||
+ | ES:BX -> data buffer (if applicable) | ||
+ | Return: all registers preserved | ||
+ | ----------4F8200CX8765----------------------- | ||
+ | INT 4F - Common Access Method SCSI interface rev 2.3 - INSTALLATION CHECK | ||
+ | AX = 8200h | ||
+ | CX = 8765h | ||
+ | DX = CBA9h | ||
+ | Return: AH = 00h if installed | ||
+ | CX = 9ABCh | ||
+ | DX = 5678h | ||
+ | ES:DI -> " | ||
+ | SeeAlso: AX=8100h, | ||
+ | ----------50--------------------------------- | ||
+ | INT 50 - TIL Xpert AIM (X.25) | ||
+ | AH = function | ||
+ | ----------50--------------------------------- | ||
+ | INT 50 - IRQ0 relocated by DESQview | ||
+ | Notes: this is the default location for older versions; DESQview v2.26+ | ||
+ | searches for unused ranges of interrupts and uses the lowest | ||
+ | available range in its list for relocating these IRQs and the next | ||
+ | lowest for relocating IRQ8-IRQ15 | ||
+ | a range of eight interrupts starting at a multiple of 8 is considered | ||
+ | available if all vectors are identical and it has not been excluded | ||
+ | with an /XB:nn commandline switch | ||
+ | the list of ranges for v2.26 is 50h, | ||
+ | are available, F8h and then 50h are used anyway) | ||
+ | the list of ranges for v2.31+ is 68h, | ||
+ | are available, F8h and then F0h are used anyway) | ||
+ | SeeAlso: INT 08" | ||
+ | ----------50--------------------------------- | ||
+ | INT 50 - IRQ0 relocated by IBM 3278 emulation control program | ||
+ | SeeAlso: INT 51"IBM 3278" | ||
+ | ----------50--------------------------------- | ||
+ | INT 50 - IRQ0 relocated by OS/2 v1.x | ||
+ | SeeAlso: INT 51" | ||
+ | ----------500000----------------------------- | ||
+ | INT 50 - Vanderaart TEXT WINDOWS - OPEN TEXT WINDOW | ||
+ | AX = 0000h | ||
+ | ES:BX -> name string or ES:0000h if none | ||
+ | CH,CL = row,column of upper left corner | ||
+ | DH,DL = row,column of lower right corner | ||
+ | Return: AX = window handle or | ||
+ | 0000h if not installed | ||
+ | FFFFh on error | ||
+ | SeeAlso: AX=0001h, | ||
+ | ----------500001----------------------------- | ||
+ | INT 50 - Vanderaart TEXT WINDOWS - CLOSE TEXT WINDOW | ||
+ | AX = 0001h | ||
+ | DI = window handle | ||
+ | SeeAlso: AX=0000h | ||
+ | ----------500002----------------------------- | ||
+ | INT 50 - Vanderaart TEXT WINDOWS - PUT CHARACTER IN WINDOW | ||
+ | AX = 0002h | ||
+ | BL = character | ||
+ | BH = attribute | ||
+ | DL = column | ||
+ | DH = row | ||
+ | DI = window handle | ||
+ | Return: AX = status | ||
+ | 0000h if successful | ||
+ | FFFFh if outside window | ||
+ | SeeAlso: AX=0000h | ||
+ | ----------500003----------------------------- | ||
+ | INT 50 - Vanderaart TEXT WINDOWS - OUTPUT LINE TO WINDOW | ||
+ | AX = 0003h | ||
+ | ES:BX -> text string | ||
+ | CX = string length (0000h if ASCIZ string) | ||
+ | DL = position (FFh centered, else flush left) | ||
+ | DH = starting row | ||
+ | DI = window handle | ||
+ | Return: AX = status | ||
+ | 0000h successful | ||
+ | FFFFh did not fit in window | ||
+ | ----------500004----------------------------- | ||
+ | INT 50 - Vanderaart TEXT WINDOWS - GET KEY | ||
+ | AX = 0004h | ||
+ | CH = type | ||
+ | 00h any key | ||
+ | 01h ' | ||
+ | Return: AX = key | ||
+ | ----------500005----------------------------- | ||
+ | INT 50 - Vanderaart TEXT WINDOWS - CHANGE ATTRIBUTE | ||
+ | AX = 0005h | ||
+ | BL = new attribute | ||
+ | CH,CL = row,column of upper left corner | ||
+ | DH,DL = row,column of lower right corner | ||
+ | DI = window handle | ||
+ | ----------500006----------------------------- | ||
+ | INT 50 - Vanderaart TEXT WINDOWS - EDIT LINE IN WINDOW | ||
+ | AX = 0006h | ||
+ | ES:BX -> text string | ||
+ | CH = type | ||
+ | 00h everything | ||
+ | 01h uppercase only | ||
+ | 02h positive numbers | ||
+ | 03h Dutch postal code ("9999 AA") | ||
+ | 04h ' | ||
+ | 05h telephone or FAX number | ||
+ | 06h positive or negative number | ||
+ | 07h date (dd/mm/yy) | ||
+ | 08h money | ||
+ | 09h ' | ||
+ | 0Ah ' | ||
+ | 0Bh uppercase filenames | ||
+ | DH,DL = row,column of upper left corner | ||
+ | DI = window handle | ||
+ | Return: AX = key which terminated entry | ||
+ | 0000h Enter | ||
+ | 0001h Esc | ||
+ | 0002h Down arrow | ||
+ | 0003h Up arrow | ||
+ | 0004h F10 |