📄 int13.txt
字号:
default media type
QEMM v6.00 calls INT 13/AX=2000h/DL=81h in some cases
--------b-1320-------------------------------
INT 13 U - Compaq, ATAPI Removable Media Device - GET CURRENT MEDIA FORMAT
AH = 20h
DL = drive number (00h,01h)
Return: CF clear if successful
AL = media type (see #0197)
AH = 00h
CF set on error
AH = error code
01h invalid request
30h drive does not support media sense
31h no such drive / media not present
32h non-default media / drive does not supporte media type
Notes: this function is supported by the 3/8/93 ROM BIOS, but only partially
(AL is always 00h when successful) by the 8/3/93 version
this function is also supported by some recent versions of the Phoenix
486 BIOS
(Table 0197)
Values for Compaq/ATAPI diskette media type:
03h 720K (1M unformatted)
04h 1.44M (2M unformatted)
06h 2.88M (4M unformatted)
0Ch 360K
0Dh 1.2M
0Eh Toshiba 3mode
0Fh NEC 3mode (1024-byte sectors)
10h ATAPI Removable Media Device
--------c-1320-------------------------------
INT 13 u - QUICKCACHE II v4.20 - DISMOUNT
AH = 20h
AL = drive (00h = A:, etc. or 7Fh for all removable drives???
or FFh for all drives)
Return: AX = status (0000h successful)
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
Associates, Inc.
Desc: flush any dirty buffers for the specified drive(s) and then discard
those sector buffers
SeeAlso: AH=21h"QUICKCACHE",AH=22h"QUICKCACHE",AH=28h
--------d-1321-------------------------------
INT 13 - HARD DISK - PS/1 and newer PS/2 - READ MULTIPLE DISK SECTORS
AH = 21h
AL = number of sectors to write
CH = low byte of 12-bit cylinder number
CL = starting sector (bits 0-5) and bits 8-9 of cylinder (bits 6-7)
DH = head number (bits 0-5) and bits 10-11 of cylinder (bits 6-7)
DL = drive number (80h,81h)
ES:BX -> buffer for data to be read
Return: CF clear if successful
ES:BX buffer filled
CF set on error
AH = status (see #0166 at AH=01h)
Desc: read from the disk using the Multiple Block mode available on newer
IDE drives and some hard disk controllers, which generates an
interrupt only after the end of transferring a group of sectors
rather than after each sector
Notes: must call AH=24h"PS/1" before using this function
input values in CL and DH are not range-checked
the byte at address 0040h:0074h is set to the status of the operation
SeeAlso: AH=02h,AH=22h"PS/1",AH=23h"PS/1",AH=24h"PS/1"
--------c-1321-------------------------------
INT 13 u - QUICKCACHE II v4.20 - FLUSH CACHE
AH = 21h
Return: AX = status (0000h successful)
Desc: immediately write all dirty sectors back to disk
SeeAlso: AH=25h"QUICKCACHE",AH=2Eh,AH=2Fh
--------d-1322-------------------------------
INT 13 - HARD DISK - PS/1 and newer PS/2 - WRITE MULTIPLE DISK SECTORS
AH = 22h
AL = number of sectors to write
CH = low byte of 12-bit cylinder number
CL = starting sector (bits 0-5) and bits 8-9 of cylinder (bits 6-7)
DH = head number (bits 0-5) and bits 10-11 of cylinder (bits 6-7)
DL = drive number (80h,81h)
ES:BX -> buffer containing data to be written
Return: CF clear if successful
CF set on error
AH = status (see #0166 at AH=01h)
Desc: write to the disk using the Multiple Block mode available on newer
IDE drives and some hard disk controllers, which generates an
interrupt only after the end of transferring a group of sectors
rather than after each sector
Notes: must call AH=24h"PS/1" before using this function
input values in CL and DH are not range-checked
the byte at address 0040h:0074h is set to the status of the operation
SeeAlso: AH=03h,AH=21h"PS/1",AH=23h"PS/1",AH=24h"PS/1"
--------c-1322-------------------------------
INT 13 u - QUICKCACHE II v4.20 - ENABLE/DISABLE CACHE
AH = 22h
AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
Note: enables/disables caching of all drives
SeeAlso: AH=2Ch,AH=2Dh,AH=32h,AH=33h,AH=A3h,AH=A4h
--------d-1323-------------------------------
INT 13 U - HARD DISK - PS/1 and newer PS/2 - SET CONTROLLER FEATURES REGISTER
AH = 23h
AL = feature number (see #0198)
DL = drive number (80h,81h)
???
Return: CF clear if successful
CF set on error
AH = status (see #0166 at AH=01h)
SeeAlso: AH=21h"PS/1",AH=22h"PS/1",AH=24h"PS/1",AH=25h"PS/1"
(Table 0198)
Values for PS/1 hard disk feature number:
01h select 8-bit data transfers instead of 16-bit
02h enable write cache
22h Write Same, user-specified area
33h disable retries
44h set number of ECC bytes for read long/write long (see AH=0Ah,AH=0Bh)
54h set cache segments
55h disable lookahead
66h disable reverting to power-on defaults
77h disable error correctioni
81h select 16-bit data transfers (default)
82h disable write cache
88h enable error correction (default)
99h enable retries (default)
AAh enable lookahead
BBh set ECC length for read long/write long to four bytes
CCh enable reverting to power-on defaults
DDh Write Same, entire disk
SeeAlso: #P175
--------c-1323-------------------------------
INT 13 U - QUICKCACHE II v4.20 - GET ??? ADDRESS
AH = 23h
Return: AX = status (0000h successful)
ES = segment of ??? data
--------d-1324-------------------------------
INT 13 - HARD DISK - PS/1 and newer PS/2 - SET MULTIPLE MODE
AH = 24h
AL = number of sectors per block (2,4,8,16)
DL = drive number (80h,81h)
Return: CF clear if successful
CF set onerror
AH = status (see #0166 at AH=01h)
Desc: specify how many sectors the controller should transfer as a group
between operation-complete interrupts when using the Read Multiple
and Write Multiple functions (AH=21h,AH=22h)
Notes: set the number of sectors to 0 to disable multiple-transfer mode
the maximum value for the block size depends on the fixed disk
drive type. The value is stored in byte 15h of the fixed disk
drive parameter table that is created by POST.
the byte at address 0040h:0074h is set to status of operation.
SeeAlso: AH=21h"PS/1",AH=22h"PS/1",AH=23h"PS/1",AH=25h"PS/1"
--------c-1324-------------------------------
INT 13 u - QUICKCACHE II v4.20 - SET SECTORS
AH = 24h
BX = new number of sector buffers in cache
Return: AX = status
0000h successful
0001h failed--size adjusted
8000h cache cannot be resized while enabled
SeeAlso: AH=36h
--------d-1325-------------------------------
INT 13 - HARD DISK - PS/1 and newer PS/2 - IDENTIFY DRIVE
AH = 25h
DL = drive number (80h,81h)
ES:BX-> 512 byte buffer for reply packet
Return: CF clear if successful
CF set on error
AH = status (see #0166 at AH=01h)
buffer filled with ATA/IDE-style drive information block (see #0199)
Desc: retrieves the 256 words of drive data stored on an IDE hard disk
Notes: the byte at address 0040h:0074h is set to the status of the operation
IBM officially classifies this function as optional
SeeAlso: AH=23h"PS/1"
Format of drive information block:
Offset Size Description (Table 0199)
00h WORD general drive configuration (see #0200)
02h WORD number of cylinders
04h WORD reserved
06h WORD number of heads
08h WORD number of unformatted bytes per track
0Ah WORD number of unformatted bytes per sector
0Ch WORD number of sectors per track
0Eh 6 BYTEs vendor unique
14h 20 BYTEs serial number in ASCII, 0000h=not specified)
28h WORD buffer type
2Ah WORD buffer size in 512 byte increments (0000h=not specified)
2Ch WORD number of ECC bytes passed on Read/Write Long cmds
0000h = not specified
2Eh 8 BYTEs firmware revision in ASCII, 0000h=not specified
36h 40 BYTEs model number in ASCII, 0000h=not specified
5Eh WORD bits 15-8 Vendor Unique
bits 7-0 00h = Read/Write Multiple commands not implemented
xxh = Maximum number of sectors that can be
transferred per interrupt on Read and Write
Multiple commands
60h WORD 0000h = cannot perform doubleword I/O
0001h = can perform doubleword I/O
62h WORD capabilities
bit 15-9 0=reserved
bit 8 1=DMA Supported
bit 7-0 Vendor Unique
64h WORD reserved
66h WORD bits 15-8 PIO data transfer cycle timing mode
bits 7-0 Vendor Unique
68h WORD bits 15-8 DMA data transfer cycle timing mode
bits 7-0 Vendor Unique
6Ah WORD bits 15-1 reserved
bit 0 1=the fields reported in tranlation mode are valid
0=the fields reported in translation mode may be valid
6Ch WORD number of current cylinders
6Eh WORD number of current heads
70h WORD number of current sectors per track
72h DWORD current capacity in sectors
76h WORD reserved
78h 136 BYTEs not defined by ATA spec 2.6
100h 64 BYTEs vendor unique
140h 96 BYTEs reserved
Note: the above description is as in the ATA (AT Attachment) Specification.
SeeAlso: #P157
Bitfields for general drive configuration:
Bit(s) Description (Table 0200)
15 0 reserved for non-magnetic drives
14 format speed tolerance gap required
13 track offset option available
12 data strobe offset option available
11 rotational speed tolerance is > 0.5%
10 disk transfer rate > 10 Mbs
9 disk transfer rate > 5Mbs but <= 10Mbs
8 disk transfer rate <= 5Mbs
7 removable cartridge drive
6 fixed drive
5 spindle motor control option implemented
4 head switch time > 15 usec
3 not MFM encoded
2 soft sectored
1 hard sectored
0 reserved (0)
--------c-1325-------------------------------
INT 13 u - QUICKCACHE II v4.20 - SET FLUSH INTERVAL
AH = 25h
BX = interval
Return: AX = status (0000h successful)
Desc: specify how often the cache should write dirty buffers to disk when
buffered writes are enabled
SeeAlso: AH=21h"QUICKCACHE",AH=2Ch,AH=2Eh
--------c-1326-------------------------------
INT 13 U - QUICKCACHE II v4.20 - UNINSTALL
AH = 26h
Return: AX = status
0000h successful
0001h-00FFh interrupt vector which was hooked by another TSR
SeeAlso: AH=27h
--------c-1327--BX0000-----------------------
INT 13 u - QUICKCACHE II v4.20 - INSTALLATION CHECK
AH = 27h
BX = 0000h
Return: AX = 0000h if installed
BX nonzero if installed
BH = major version
BL = binary minor version
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
Associates, Inc.
SeeAlso: AH=26h,AH=A0h,INT 16/AX=FFA5h/CX=1111h
--------c-1328-------------------------------
INT 13 U - QUICKCACHE II v4.20 - SET AUTOMATIC DISMOUNT
AH = 28h
AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
SeeAlso: AH=20h"QUICKCACHE"
--------c-1329-------------------------------
INT 13 U - QUICKCACHE II v4.20 - NOP
AH = 29h
Return: AX = 0000h
--------c-132A-------------------------------
INT 13 u - QUICKCACHE II v4.20 - SET BUFFER SIZE
AH = 2Ah
AL = buffer size (1-30)
Return: AX = status (0000h successful)
Desc: specify the number of cache sector buffers to dedicate to buffered read
and write operations
SeeAlso: AH=2Ch,AH=2Dh,AH=39h,AH=3Ah
--------c-132B-------------------------------
INT 13 U - QUICKCACHE II v4.20 - DRIVE ACCESS SOUNDS
AH = 2Bh
AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
--------c-132C-------------------------------
INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED WRITES
AH = 2Ch
AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
Desc: specify whether the cache should delay disk writes
Note: this function enables or disables delayed writes for all drives; use
AH=38h to change a single drive
SeeAlso: AH=25h"QUICKCACHE",AH=2Dh,AH=2Eh,AH=38h
--------c-132D-------------------------------
INT 13 u - QUICKCACHE II v4.20 - SET BUFFERED READ
AH = 2Dh
AL = new state (00h disabled, 01h enabled)
Return: AX = status (0000h successful)
Desc: specify whether the cache should attempt to read ahead of actual
requests
Note: this function enables or disables read-ahead for all drives; use AH=37h
to change a single drive
SeeAlso: AH=2Ch,AH=37h
--------c-132E-------------------------------
INT 13 u - QUICKCACHE II v4.20 - SET FLUSH COUNT
AH = 2Eh
BX = flush count
Return: AX = status (0000h successful)
Desc: specify how many dirty sectors the cache should write after each flush
interval (see AH=25h"QUICKCACHE") when buffered writes are enabled
SeeAlso: AH=21h"QUICKCACHE",AH=25h"QUICKCACHE",AH=2Ch
--------c-132F-------------------------------
INT 13 - QUICKCACHE II v4.20 - FORCE IMMEDIATE INCREMENTAL FLUSH
AH = 2Fh
Return: AX = status (0000h successful)
Desc: immediately flush up to "flushcount" dirty sectors to disk as if the
flush interval had expired
SeeAlso: AH=21h"QUICKCACHE"
--------c-1330-------------------------------
INT 13 u - QUICKCACHE II v4.20 - GET INFO
AH = 30h
AL = what to get
00h system info (see #0201)
01h drive info (see #0202)
02h access frequency (array of 30 words)
03h drive index
(array of 32 bytes indicating BIOS drive for DOS drive)
DS:DX -> buffer for info
Return: AX = status (0000h successful, 8000h invalid info specifier)
Program: QUICKCACHE II is a shareware disk cache by P.R. Glassel and
As
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -