📄 int13.txt
字号:
SeeAlso: AH=08h"PC",AH=12h"SyQuest",AH=15h,AH=59h"SyQuest"
--------B-1314-------------------------------
INT 13 - HARD DISK - CONTROLLER INTERNAL DIAGNOSTIC
AH = 14h
Return: CF set on error
CF clear if successful
AH = status code (see #0166 at AH=01h)
AL = 00h
SeeAlso: AH=12h,AH=13h
--------B-1315-------------------------------
INT 13 - DISK - GET DISK TYPE (XT 1/10/86 or later,XT286,AT,PS)
AH = 15h
DL = drive number (bit 7 set for hard disk)
Return: CF clear if successful
AH = type code
00h no such drive
01h floppy without change-line support
02h floppy (or other removable drive) with change-line support
03h hard disk
CX:DX = number of 512-byte sectors
CF set on error
AH = status (see #0166 at AH=01h)
Note: SyQuest can report type 01h or 02h for 'hard disks', since its media
is removable
SeeAlso: AH=08h,AH=16h,AH=17h,AH=19h"SCSI"
--------B-1316-------------------------------
INT 13 - FLOPPY DISK - DETECT DISK CHANGE (XT 1/10/86 or later,XT286,AT,PS)
AH = 16h
DL = drive number (00h-7Fh)
Return: CF clear if change line inactive
AH = 00h (disk not changed)
CF set if change line active
AH = status
01h invalid command (SyQuest)
06h change line active or not supported
80h drive not ready or not present
Notes: call AH=15h first to determine whether the drive supports a change
line
this call also clears the media-change status, so that a disk change
is only reported once
BUG: some versions of Award 386 Modular BIOS and AMI BIOS fail to clear
the media-change status
SeeAlso: AH=15h,AH=49h
--------B-1317-------------------------------
INT 13 - FLOPPY DISK - SET DISK TYPE FOR FORMAT (AT,PS)
AH = 17h
AL = format type
01h = 320/360K disk in 360K drive
02h = 320/360K disk in 1.2M drive
03h = 1.2M disk in 1.2M drive
04h = 720K disk in 720K or 1.44M drive
DL = drive number
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
Note: this function does not handle 1.44M drives; use AH=18h instead
SeeAlso: AH=15h,AH=18h
--------d-131700-----------------------------
INT 13 - Future Domain SCSI CONTROLLER - GET INQUIRY INFO FROM SCSI DEVICE
AX = 1700h
CL = length of buffer
DL = hard drive ID
ES:BX -> buffer for info (see #0175)
Return: CF clear if successful
CH = number of bytes returned in buffer???
CF set on error
AH = status code (see #0166 at AH=01h)
Notes: this function is not available with 8-bit controller ROM versions < 7.0
information block bytes 5-n are vendor-specific in older SCSI devices
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=1Bh"SCSI"
Format of Future Domain SCSI inquiry information block:
Offset Size Description (Table 0175)
00h BYTE device type
bits 0-4: peripheral device type (see #0176)
bits 5-7: peripheral qualifier (see #0177)
01h BYTE device type modifier
bits 0-6: device type modifier
bit 7: removable medium
02h BYTE SCSI version (see #0178)
03h BYTE data format/capabilities (see #0179)
04h BYTE additional data length (total remaining bytes)
05h 2 BYTEs reserved
07h BYTE device capabilities (see #0180)
08h 8 BYTEs vendor identification (space-padded ASCII)
10h 8 BYTEs product identification (space-padded ASCII)
20h 4 BYTEs product revision level (space-padded ASCII)
24h 20 BYTEs vendor specific
38h 40 BYTEs reserved
60h var vendor specific parameters
(Table 0176)
Values for Future Domain SCSI peripheral device type:
00h direct-access device (e.g., magnetic disk)
01h sequential-access device (e.g., magnetic tape)
02h printer device
03h processor device
04h write-once device (e.g., some optical disks)
05h CD-ROM device
06h scanner device
07h optical memory device (e.g., some optical disks)
08h medium changer device (e.g., jukeboxes)
09h communications device
0Ah (defined by ASC IT8)
0Bh (defined by ASC IT8)
0Ch-1Eh reserved
1Fh unknown or no device type
(Table 0177)
Values for Future Domain SCSI peripheral qualifier:
000b device is currently connected to this logical unit and available
001b target is capable of supporting the specified peripheral, but the
physical device is not currently connected to this logical unit
010b reserved
011b target can't support a physical device on this logical unit
1xxb vendor specific
Bitfields for Future Domain SCSI version:
Bit(s) Description (Table 0178)
0-2 ANSI-approved version
000 device might or might not comply to ANSI standard
001 device complies to ANSI SCSI-1
010 device complies to ANSI SCSI-2
other reserved
3-5 ECMA version
6-7 ISO version
Bitfields for Future Domain SCSI data format/capabilities:
Bit(s) Description (Table 0179)
0-2 response data format
000 information block is as specified in SCSI-1
001 information block is as specified in CCS
010 information block is as specified in SCSI-2
other reserved
4-5 reserved
6 terminate I/O process supported
7 asynchronous event notification supported
Bitfields for Future Domain SCSI device capabilities:
Bit(s) Description (Table 0180)
0 device responds to RESET with a hard RESET
1 tagged command queuing supported
2 reserved
3 linked commands supported
4 synchronous data transfer supported
5 16-transfers supported
6 32-transfers supported
7 relative addressing supported
--------B-1318-------------------------------
INT 13 - DISK - SET MEDIA TYPE FOR FORMAT (AT model 3x9,XT2,XT286,PS)
AH = 18h
DL = drive number
CH = lower 8 bits of highest cylinder number (number of cylinders - 1)
CL = sectors per track (bits 0-5)
top 2 bits of highest cylinder number (bits 6,7)
Return: AH = status
00h requested combination supported
01h function not available
0Ch not supported or drive type unknown
80h there is no disk in the drive
ES:DI -> 11-byte parameter table (see #0960 at INT 1E)
Note: this function does not set the INT 1E vector to point at the returned
parameter table; it is the caller's responsibility to do so
SeeAlso: AH=05h,AH=07h,AH=17h,INT 1E
--------d-1318-------------------------------
INT 13 - Future Domain SCSI BIOS - GET SCSI CONTROLLER INFORMATION
AH = 18h
DL = hard drive ID
Return: CF set on error
AH = status code (see #0166 at AH=01h)
CF clear if successful
AX = 4321h (magic number)
CX = controller family code (see #0181)
---if family code=0200h
DH = number of exclusively ROM-controlled SCSI devices
DL = canonical SCSI device number for specified drive
---if family code <> 0200h
BH = number of exclusively ROM-controlled SCSI devices
BL = canonical SCSI device number for specified drive
Notes: also sets an internal flag (non-resettable) which prevents some
controller messages from being displayed, allows writes to
removable devices (use caution!), and enables the INT 13 interface
for more than one drive (i.e. DL >= 81h) in at least some ROM
versions
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=05h"SCSI",AX=1700h"SCSI",AH=1Bh"SCSI",INT 4F/AX=8100h
(Table 0181)
Values for Future Domain SCSI controller family code:
0200h TMC-1680/? (ROM 3.0)
0203h TMC-1650/1660/1670/1680 (ROM 2.0)
040Ah TMC-820/830/840/850/860/870/875/880/885 (ROM <= 6.0A)
050Dh TMC-840/841/880/881 (ROM 5.2D)
0700h TMC-830/850/860/875/885 (ROM 7.0)
--------d-1318--CX5055-----------------------
INT 13 - PU_1700.COM - INSTALLATION CHECK
AH = 18h
CX = 5055h ('PU')
DL = 00h
Return: AX = 7570h ('up') if PU_1700 is installed
Program: PU_1700 is a BIOS enhancer from PU Service Systems which permits
formatting diskettes at higher capacity (1.78M instead of 1.44M)
SeeAlso: AX=057Fh/SI=324Dh"2M"
--------d-1318--CXD2C9-----------------------
INT 13 - XDF.COM - API
AH = 18h
CX = D2C9h ("R"+80h, "I"+80h = Roger Ivey)
DX = 0000h
BX = function
0000h installation check
Return: AH = 0Ch
CX = 7269h ("ri" = Roger Ivey)
ES = segment of driver
CF set
2F64h ("/d") disable the driver
Return: AH = 0Ch
ES:BX = pointer to activation flag (it is set to 0:
set it to 1 to enable the driver again)
CX = 7269h
CF set
2F75h ("/u") unload the driver (restore interrupts & free memory)
Return: AH = 0Ch
DL = 55h ("U") if successful
= 00h if fails
CX = 7269h
ES = segment of driver
CF set
AL, BX, DH, and DI destroyed
Program: XDF is a TSR provided with PC-DOS 7.0 to support XDF 1.84M disks,
developed by Roger D. Ivey
Note: After disabling or enabling the driver, a disk change must be performed
or simulated to reset the driver.
--------B-1319-------------------------------
INT 13 - FIXED DISK - PARK HEADS ON ESDI DRIVE (XT286,PS)
AH = 19h
DL = drive
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
SeeAlso: AH=11h
--------d-1319-------------------------------
INT 13 - Future Domain SCSI CONTROLLER - REINITIALIZE DRIVE
AH = 19h
DL = hard drive ID
Return: CF set on error
AH = status code (see #0166 at AH=01h)
CF clear if successful
AH = disk type (03h = fixed disk)
CX:DX = number of 512-byte sectors
Notes: sends SCSI Read Capacity command to get number of logical blocks and
adjusts the result for 512-byte sectors
displays either "Error in Read Capacity Command" or "nnn Bytes per
sector" (nnn=256 or 512, the only sizes supported in the translation
code)
should probably be called when a removable device has its media changed
returns the same values as AH=15h
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=15h,AH=1Ah,INT 4F/AX=8100h
--------d-131A-------------------------------
INT 13 - ESDI FIXED DISK - FORMAT UNIT (PS)
AH = 1Ah
AL = defect table entry count
CL = format modifiers (see #0182)
DL = drive (80h,81h)
ES:BX -> defect table (see #0183), ignored if AL=00h
Return: CF set on error
CF clear if successful
AH = status (see #0166 at AH=01h)
Note: if periodic interrupt selected, INT 15/AH=0Fh is called after each
cylinder is formatted
SeeAlso: AH=07h,INT 15/AH=0Fh
Bitfields for ESDI format modifiers:
Bit(s) Description (Table 0182)
4 generate periodic interrupt
3 perform surface analysis
2 update secondary defect map
1 ignore secondary defect map
0 ignore primary defect map
Format of defect table entry [array]:
Offset Size Description (Table 0183)
00h 3 BYTEs relative sector address (little-endian)
03h BYTE flags and defect count
bit 7: last logical sector on track
bit 6: first logical sector on track
bit 5: last logical sector on cylinder
bit 4: logical sectors are pushed onto next track
bits 3-0: number of defects pushed from previous cylinder
--------d-131A-------------------------------
INT 13 - Future Domain SCSI CONTROLLER - GET SCSI PARTIAL MEDIUM CAPACITY
AH = 1Ah
CH = track (bits 8,9 in high bits of CL)
CL = sector (01h to number of sectors/track for drive)
DH = head
DL = hard drive ID
Return: CF set on error
AH = status code (see #0166 at AH=01h)
CX:DX = logical block number of last quickly-accessible block after
given block
Notes: sends SCSI Read Capacity command with the PMI bit set to obtain the
logical block address of the last block after which a substantial
delay in data transfer will be encountered (usually the last block
on the current cylinder). No translation to 512 byte sectors is
performed on the result if data is stored on the disk in other than
512 byte sectors.
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=15h,AH=19h"SCSI"
--------d-131B-------------------------------
INT 13 - ESDI FIXED DISK - GET MANUFACTURING HEADER
AH = 1Bh
AL = number of sectors to read
DL = drive
ES:BX -> buffer for manufacturing header (defect list)
Return: CF set on error
CF clear if successful
AH = status
Note: manufacturing header format (Defect Map Record format) can be found
in IBM 70MB, 115MB Fixed Disk Drives Technical Reference
the first sector read contains the manufacturing header with the number
of defect entries and the beginning of the defect map; the remaining
sectors contain the remainder of the defect map
--------d-131B-------------------------------
INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO SCSI DISK INFO BLOCK
AH = 1Bh
DL = hard drive ID
Return: CF set on error
AH = status code (see #0166 at AH=01h)
CF clear if successful
ES:BX -> SCSI disk information block (see #0184)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -