📄 int13.txt
字号:
Notes: also sets a non-resettable flag which prevents some controller messages
from being displayed
the TMC-950 does not support any Future Domain BIOS calls; instead,
it provides a full CAM implementation (see INT 4F/AX=8100h)
SeeAlso: AH=18h"SCSI",AH=1Ch"SCSI"
Format of Future Domain SCSI disk information block:
Offset Size Description (Table 0184)
00h BYTE drive physical information (see #0185)
01h WORD translated number of cylinders
03h BYTE translated number of heads
04h BYTE translated number of sectors per track (17, 34, or 63)
05h BYTE drive address
bits 0-2: logical unit number
bits 3-5: device number
06h BYTE 01h at initialization
07h BYTE sense code byte 00h, or extended sense code byte 0Ch
08h BYTE 00h
09h BYTE 00h or extended sense code byte 02h (sense key)
0Ah BYTE 00h
0Bh 10 BYTEs copy of Command Descriptor Block (CDB) (see #2907,#2908)
15h DWORD translated number of sectors on device
Bitfields for Future Domain SCSI device physical information:
Bit(s) Description (Table 0185)
0 ???
1 device uses parity
2 256 bytes per sector instead of 512
3 don't have capacity yet???
4 disk is removable
5 logical unit number is not present
--------d-131C-------------------------------
INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO FREE CONTROLLER RAM
AH = 1Ch
DL = hard drive ID (any valid SCSI hard disk)
Return: CF set on error
AH = status code (see #0166 at AH=01h)
CF clear if successful
ES:BX -> first byte of free RAM on controller
Notes: the Future Domain TMC-870 contains 1024 bytes of RAM at offsets 1800h
to 1BFFh on-board the controller for storing drive information and
controller status; ES:BX points to the first byte available for other
uses
ES contains the segment at which the controller resides; the
controller's two memory-mapped I/O ports are at offsets 1C00h, 1E00h
SeeAlso: AH=1Bh"SCSI"
--------d-131C-------------------------------
INT 13 U - ESDI FIXED DISK - ???
AH = 1Ch
AL = subfunction (01h-06h)
DL = drive (80h,81h)
???
Return: ???
Note: these functions perform a controller command 0612h without DMA
SeeAlso: AX=1C08h,PORT 3510h"ESDI"
--------d-131C08-----------------------------
INT 13 U - ESDI FIXED DISK - GET COMMAND COMPLETION STATUS
AX = 1C08h
DL = drive (80h,81h)
ES:BX -> buffer for Command Complete Status Block (see #0186)
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
SeeAlso: AX=1C09h,AX=1C0Ah,PORT 3510h"ESDI"
Format of ESDI Command Complete Status Block:
Offset Size Description (Table 0186)
00h BYTE 07h
01h BYTE size of block in words (07h)
02h BYTE command error code (see #0187)
03h BYTE command status code (see #0188)
04h BYTE device error code, group 1 (see #0189)
05h BYTE device error flags, group 2 (see #0190)
06h WORD number of unprocessed sectors due to abnormal termination
08h DWORD last Relative Sector Address processed by command
0Ch WORD number of sectors corrected by ECC codes
(Table 0187)
Values for ESDI command error code:
00h successful
01h parameter invalid
02h unknown function
03h unsupported command
04h command cancelled
05h unknown function
06h controller diagnostics failed
07h formatting failed
08h format error in primary map
09h format error in secondary map
0Ah diagnostic failure during formatting
0Bh warning: secondary map too large during formatting
0Ch warning: non-zero defect
0Dh system checksum error during formatting
0Eh warning: incompatible device
0Fh warning: push table overflowed
10h warning: more than 15 sectors pushed to next cylinder
11h internal hardware error
12h warning: errors found while verifying sectors
13h invalid device
FFh device error
(Table 0188)
Values for ESDI command status code:
01h successful
03h successful after ECC
05h successful after retries
06h format partially completed
07h successful after ECC and retries
08h command completed with warning (see #0187)
09h abort complete
0Ah reset complete
0Bh data transfer ready (no status block)
0Ch command completed with failure (see #0189,#0190)
0Dh DMA error
0Eh command block error (see #0187)
0Fh bad attention code
SeeAlso: #0189
(Table 0189)
Values for ESDI device error code, group 1:
00h successful
01h seek fault detected by device
02h interface fault
03h sector ID not found
04h disk not formatted
05h unrecoverable ECC error
06h ECC error in sector ID
07h invalid relative sector address
08h timeout
09h sector defective
0Ah disk changed (removable media)
0Bh selection error
0Ch write protected (removable media)
0Dh write fault
0Eh read fault
0Fh no index or sector pulse
10h device not ready
11h seek error detected by adapter
12h bad format
13h volume overflow
14h data address mark not found
15h sector ID not found
16h missing device configuration data
17h first/last relative sector flags missing
18h track empty
81h timeout while waiting for stop
82h timeout while waiting for end of data transfer
84h stopped awaiting data transfer during formatting
85h timeout while waiting for head switch
86h timeout while awaiting DMA completion
SeeAlso: #0188,#0190
Bitfields for ESDI device error flags, group 2:
Bit(s) Description (Table 0190)
7-5 unused
4 ready
3 selected
2 write fault
1 on track 0
0 seek/command complete
SeeAlso: #0189
--------d-131C09-----------------------------
INT 13 U - ESDI FIXED DISK - GET DEVICE STATUS
AX = 1C09h
DL = drive (80h,81h)
ES:BX -> buffer for Device Status Block (see #0191)
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
SeeAlso: AX=1C08h,AX=1C0Ah,PORT 3510h"ESDI"
Format of ESDI Device Status Block:
Offset Size Description (Table 0191)
00h BYTE 08h
01h BYTE number of words in block (09h)
02h BYTE error flags
03h BYTE unused
04h BYTE command error code (see #0187)
05h BYTE command status code (see #0188)
06h WORD ESDI standard status
08h 5 WORDs ESDI vendor-specific status codes
--------d-131C0A-----------------------------
INT 13 U - ESDI FIXED DISK - GET DEVICE CONFIGURATION
AX = 1C0Ah
DL = drive (80h,81h)
ES:BX -> buffer for Drive Configuration Status Block (see #0192)
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
Note: device configuration format can be found in IBM ESDI Fixed Disk Drive
Adapter/A Technical Reference
SeeAlso: AX=1C08h,AX=1C0Bh,AX=1C0Ch
Format of ESDI Drive Configuration Status Block:
Offset Size Description (Table 0192)
00h BYTE 09h
01h BYTE number of words in block (06h)
02h BYTE flags
03h BYTE number of spare sectors per cylinder
04h DWORD total number of usable sectors
08h WORD total number of cylinders
0Ah BYTE tracks per cylinder
0Bh BYTE sectors per track
--------d-131C0B-----------------------------
INT 13 U - ESDI FIXED DISK - GET ADAPTER CONFIGURATION
AX = 1C0Bh
ES:BX -> buffer for Controller Configuration Status Block (see #0193)
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
SeeAlso: AX=1C0Ch
Format of ESDI Controller Configuration Status Block:
Offset Size Description (Table 0193)
00h BYTE E9h
01h BYTE number of words in block (06h)
02h WORD unused (0000h)
04h DWORD controller microcode revision level
08h 2 WORDs unused (0000h)
--------d-131C0C-----------------------------
INT 13 U - ESDI FIXED DISK - GET POS INFORMATION
AX = 1C0Ch
ES:BX -> buffer for POS Information Status Block (see #0194)
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
SeeAlso: AX=1C0Bh
Format of ESDI POS Information Status Block:
Offset Size Description (Table 0194)
00h BYTE EAh
01h BYTE number of words in block (05h)
02h WORD magic value FFDDh
04h BYTE POS register 3
05h BYTE POS register 2
06h BYTE POS register 5 (unused, FFh)
07h BYTE POS register 4 (unused, FFh)
08h BYTE POS register 7 (unused, FFh)
09h BYTE POS register 6 (unused, FFh)
--------d-131C0D-----------------------------
INT 13 U - ESDI FIXED DISK - ???
AX = 1C0Dh
DL = drive (80h,81h)
???
Return: ???
Note: invokes controller command 0614h without DMA
SeeAlso: AH=1Ch"ESDI",AX=1C0Fh,PORT 3510h"ESDI"
--------d-131C0E-----------------------------
INT 13 U - ESDI FIXED DISK - TRANSLATE RBA TO ABA
AX = 1C0Eh
CH = low 8 bits of cylinder number
CL = sector number, high two bits of cylinder number in bits 6 and 7
DH = head number
DL = drive number (80h,81h)
ES:BX -> ABA number
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
Note: ABA (absolute block address) format can be found in IBM ESDI Adapter
Technical Reference by using its Device Configuration Status Block
SeeAlso: AX=1C08h,AX=1C0Fh,PORT 3510h"ESDI"
--------d-131C0F-----------------------------
INT 13 U - ESDI FIXED DISK - ???
AX = 1C0Fh
DL = drive (80h,81h)
???
Return: ???
Note: invokes controller command 0614h without DMA
SeeAlso: AH=1Ch"ESDI",AX=1C0Dh,AX=1C12h,PORT 3510h"ESDI"
--------d-131C12-----------------------------
INT 13 U - ESDI FIXED DISK - ???
AX = 1C12h
DL = drive (80h,81h)
???
Return: ???
Note: invokes controller command 0612h without DMA
SeeAlso: AH=1Ch"ESDI",AX=1C0Fh,PORT 3510h"ESDI"
--------c-131D-------------------------------
INT 13 - IBMCACHE.SYS - CACHE STATUS
AH = 1Dh
AL = subfunction
01h get status record
DL = drive???
Return: ES:BX -> status record (see #0195)
CF set on error
AH = error code
02h set cache status
ES:BX -> status record (see #0195)
DL = drive???
Return: CF set on error
Format of IBMCACHE.SYS status record:
Offset Size Description (Table 0195)
00h DWORD total number of read requests
04h DWORD total number of hits
08h DWORD number of physical disk reads
0Ch DWORD total number of sectors requested by physical disk reads
10h 6 BYTEs ???
16h DWORD pointer to start of error list (see #0196)
1Ah DWORD pointer to end of error list
1Eh WORD ???
20h BYTE using extended memory if nonzero
21h BYTE ???
22h 4 BYTEs ASCII version number
26h WORD cache size in KB
28h WORD sectors per page
Format of IBMCACHE.SYS error list:
Offset Size Description (Table 0196)
00h DWORD relative block address of bad page
04h BYTE drive
05h BYTE sector bit-map
06h WORD next error
--------d-131F-------------------------------
INT 13 - SyQuest - DOOR LATCH/DOOR BUTTON DETECT
AH = 1Fh
AL = subfunction
00h allow media removal
01h prevent media removal (lock door)
DL = drive ID (bit 7 set for hard disks)
Return: CF clear if successful
AH = 00h
CF set on error
AH = error code
00h successful
01h invalid function request
80h timeout
DDh media change requested
SeeAlso: AH=12h"SyQuest",AH=13h"SyQuest",AH=59h"SyQuest"
--------d-1320-------------------------------
INT 13 - DISK - ??? (Western Digital "Super BIOS")
AH = 20h
???
Return: ???
Notes: returns some kind of status related to whether the drive contains its
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -