Files
oldlinux-files/docs/interrupts/int-html/rb-0715.htm
2024-02-19 00:23:35 -05:00

368 lines
18 KiB
HTML

<HTML>
<HEAD>
<TITLE>Int 13/AH=48h
</TITLE>
<META NAME="Description" CONTENT="
Int 13/AH=48h - IBM/MS INT 13 Extensions - GET DRIVE PARAMETERS -
AH = 48h
DL = drive (80h-FFh)
DS:SI - buffer for drive parameters (see #00273)
Return: CF clear if successful
AH = 00h
DS:SI buffer filled
CF set on error
AH = error code (see #00234)
BUGS: several different Compaq BIOSes incorrectly report high-numbered
drives (such as 90h, B0h, D0h, and F0h) as present, giving them the
">
<META NAME="robots" CONTENT="none">
</HEAD>
<BODY BGCOLOR="#FFD0A0">
<center>
<h2>Int 13/AH=48h
</h2>
</center><p>
<table border=1 cellpadding=3 cellspacing=1>
<td>
<a href="rb-0714.htm" tppabs="http://www.ctyme.com/intr/rb-0714.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-0716.htm" tppabs="http://www.ctyme.com/intr/rb-0716.htm">
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
</td></table><p>
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
<h3><font color=#C00040>IBM/MS INT 13 Extensions - GET DRIVE PARAMETERS</font></h3>
<PRE>
AH = 48h
DL = drive (80h-FFh)
DS:SI -> buffer for drive parameters <a href="rb-0715.htm#Table273" tppabs="http://www.ctyme.com/intr/rb-0715.htm#Table273">(see #00273)</a><br>
<p><b>Return:</b><br>CF clear if successful
AH = 00h
DS:SI buffer filled
CF set on error
AH = error code <a href="rb-0606.htm#Table234" tppabs="http://www.ctyme.com/intr/rb-0606.htm#Table234">(see #00234)</a>
</PRE>
<p><b>BUGS:</b>
Several different Compaq BIOSes incorrectly report high-numbered
drives (such as 90h, B0h, D0h, and F0h) as present, giving them the
same geometry as drive 80h; as a workaround, scan through disk
numbers, stopping as soon as the number of valid drives encountered
equals the value in 0040h:0075h.
Dell machines using PhoenixBIOS 4.0 Release 6.0 fail to correctly
handle this function if the flag word at DS:[SI+2] is not 0000h
on entry
<p><b>See Also:</b>
<a href="rb-0621.htm" tppabs="http://www.ctyme.com/intr/rb-0621.htm">AH=08h</a> - <a href="rb-0706.htm" tppabs="http://www.ctyme.com/intr/rb-0706.htm">AH=41h</a> - <a href="rb-0716.htm" tppabs="http://www.ctyme.com/intr/rb-0716.htm">AH=49h</a> - MEM 0040h:0075h
<PRE>
<p>
Format of IBM/MS INT 13 Extensions drive parameters:
<a name=table273></a>
Offset Size Description (Table 00273)
00h WORD (call) size of buffer
(001Ah for v1.x, 001Eh for v2.x, 42h for v3.0)
(ret) size of returned data
02h WORD information flags <a href="rb-0715.htm#Table274" tppabs="http://www.ctyme.com/intr/rb-0715.htm#Table274">(see #00274)</a>
04h DWORD number of physical cylinders on drive
08h DWORD number of physical heads on drive
0Ch DWORD number of physical sectors per track
10h QWORD total number of sectors on drive
18h WORD bytes per sector
---v2.0+ ---
1Ah DWORD -> EDD configuration parameters <a href="rb-0715.htm#Table278" tppabs="http://www.ctyme.com/intr/rb-0715.htm#Table278">(see #00278)</a>
FFFFh:FFFFh if not available
---v3.0 ---
1Eh WORD signature BEDDh to indicate presence of Device Path info
20h BYTE length of Device Path information, including signature and this
byte (24h for v3.0)
21h 3 BYTEs reserved (0)
24h 4 BYTEs ASCIZ name of host bus ("ISA" or "PCI")
28h 8 BYTEs ASCIZ name of interface type
"ATA"
"ATAPI"
"SCSI"
"USB"
"1394" IEEE 1394 (FireWire)
"FIBRE" Fibre Channel
30h 8 BYTEs Interface Path <a href="rb-0715.htm#Table275" tppabs="http://www.ctyme.com/intr/rb-0715.htm#Table275">(see #00275)</a>
38h 8 BYTEs Device Path <a href="rb-0715.htm#Table276" tppabs="http://www.ctyme.com/intr/rb-0715.htm#Table276">(see #00276)</a>
40h BYTE reserved (0)
41h BYTE checksum of bytes 1Eh-40h (two's complement of sum, which makes
the 8-bit sum of bytes 1Eh-41h equal 00h)
</PRE>
<p><b>Note:</b>
If the size is less than 30 on call, the final DWORD will not be
returned by a v2.x implementation; similarly for the Device Path info
<p><b>See Also:</b>
#00277 - #03196
<PRE>
<p>
Bitfields for IBM/MS INT 13 Extensions information flags:
<a name=table274></a>
Bit(s) Description (Table 00274)
0 DMA boundary errors handled transparently
1 cylinder/head/sectors-per-track information is valid
2 removable drive
3 write with verify supported
4 drive has change-line support (required if drive >= 80h is removable)
5 drive can be locked (required if drive >= 80h is removable)
6 CHS information set to maximum supported values, not current media
15-7 reserved (0)
</PRE>
<p><b>Note:</b>
Bits 4-6 are only valid if bit 2 is set
<p><b>See Also:</b>
#00273
<PRE>
<p>
Format of EDD v3.0 Interface Path:
<a name=table275></a>
Offset Size Description (Table 00275)
---ISA---
00h WORD 16-bit base address
02h 6 BYTEs reserved (0)
---PCI---
00h BYTE PCI bus number
01h BYTE PCI device number
02h BYTE PCI function number
03h 5 BYTEs reserved (0)
</PRE>
<p><b>See Also:</b>
#00273 - #00276
<PRE>
<p>
Format of EDD v3.0 Device Path:
<a name=table276></a>
Offset Size Description (Table 00276)
---ATA---
<p><b>00h BYTE flag:</b><br>00h = master, 01h = slave
01h 7 BYTEs reserved (0)
---ATAPI---
<p><b>00h BYTE flag:</b><br>00h = master, 01h = slave
01h BYTE logical unit number
02h 6 BYTEs reserved (0)
---SCSI---
00h BYTE logical unit number
01h 7 BYTEs reserved (0)
---USB---
00h BYTE to be determined
01h 7 BYTEs reserved (0)
---IEEE1394---
00h QWORD 64-bit FireWire General Unique Identifier (GUID)
---FibreChannel---
00h QWORD Word Wide Number (WWN)
</PRE>
<p><b>See Also:</b>
#00273 - #00275
<PRE>
<p>
Format of Phoenix Enhanced Disk Drive Spec translated drive parameter table:
<a name=table277></a>
Offset Size Description (Table 00277)
00h WORD number of cylinders
02h BYTE number of heads
03h BYTE A0h (signature indicating translated table)
04h BYTE number of physical sectors per track
05h WORD starting write precompensation cylinder number
07h BYTE reserved
08h BYTE control byte <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb-0000.htm \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-0000.htm#Table0'" tppabs="http://www.ctyme.com/intr/rb-0000.htm#Table0"></a>(see #03198 at INT 41"DISK 0")
09h WORD number of physical cylinders
0Bh BYTE number of physical heads
0Ch WORD cylinder number of landing zone
0Eh BYTE number of logical sectors per track
0Fh BYTE checksum
</PRE>
<p><b>Program:</b>
The Phoenix Enhanced Disk Drive Specification is an addition to the
IBM/MS INT 13 extensions
<p><b>See Also:</b>
#00278 - #03196
<PRE>
<p>
Format of Phoenix Enhanced Disk Drive Spec Fixed Disk Parameter Table:
<a name=table278></a>
Offset Size Description (Table 00278)
00h WORD physical I/O port base address
02h WORD disk-drive control port address
04h BYTE drive flags <a href="rb-0715.htm#Table279" tppabs="http://www.ctyme.com/intr/rb-0715.htm#Table279">(see #00279)</a>
05h BYTE proprietary information
bits 7-4 reserved (0)
<p><b>bits 3-0:</b><br>Phoenix proprietary (used by BIOS)
06h BYTE IRQ for drive (bits 3-0; bits 7-4 reserved and must be 0)
07h BYTE sector count for multi-sector transfers
08h BYTE DMA control
<p><b>bits 7-4:</b><br>DMA type (0-2) as per ATA-2 specification
<p><b>bits 3-0:</b><br>DMA channel
09h BYTE programmed I/O control
<p><b>bits 7-4:</b><br>Reserved (0)
<p><b>bits 3-0:</b><br>PIO type (1-4) as per ATA-2 specification
0Ah WORD drive options <a href="rb-0715.htm#Table280" tppabs="http://www.ctyme.com/intr/rb-0715.htm#Table280">(see #00280)</a>
0Ch 2 BYTEs reserved (0)
0Eh BYTE extension revision level (high nybble=major, low nybble=minor)
(currently 10h for v1.0 and 11h for v1.1-3.0)
0Fh BYTE 2's complement checksum of bytes 00h-0Eh
8-bit sum of all bytes 00h-0Fh should equal 00h
</PRE>
<p><b>Note:</b>
This structure is also called the Device Paramter Table Extension
(DPTE)
<p><b>See Also:</b>
#00277
<PRE>
<p>
Bitfields for Phoenix Enhanced Disk Drive Spec drive flags:
<a name=table279></a>
Bit(s) Description (Table 00279)
7 reserved (1)
6 LBA enabled
5 reserved (1)
4 drive is slave
3-0 reserved (0)
</PRE>
<p><b>See Also:</b>
#00278 - #00280
<PRE>
<p>
Bitfields for Phoenix Enhanced Disk Drive Spec drive options:
<a name=table280></a>
Bit(s) Description (Table 00280)
0 fast PIO enabled
1 fast DMA access enabled
2 block PIO (multi-sector transfers) enabled
3 CHS translation enabled
4 LBA translation enabled
5 removable media
6 ATAPI device (CD-ROM)
7 32-bit transfer mode
---v1.1+ ---
8 ATAPI device uses DRQ to signal readiness for packet command.
(must be 0 if bit 6 is 0)
10-9 translation type (must be 00 if bit 3 is 0).
00 Phoenix bit-shifting translation.
01 LBA-assisted translation.
10 reserved.
11 proprietary translation
---v3.0---
11 Ultra DMA access enabled
15-12 reserved (0)
</PRE>
<p><b>See Also:</b>
#00278 - #00279
<p>
<b>Category: <a href="cat-008.htm" tppabs="http://www.ctyme.com/intr/cat-008.htm">
Disk I/O Enhancements</a>
- <a href="int-13.htm" tppabs="http://www.ctyme.com/intr/int-13.htm">
Int 13h</a>
- <a href="alpha-i.htm" tppabs="http://www.ctyme.com/intr/alpha-i.htm">
I</a>
</b><p><p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
<table border=1 cellpadding=3 cellspacing=1>
<td>
<a href="rb-0714.htm" tppabs="http://www.ctyme.com/intr/rb-0714.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-0716.htm" tppabs="http://www.ctyme.com/intr/rb-0716.htm">
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
</td></table><p>
<!-- Bottom Link Start -->
<center>
<p><table border=1 bgcolor="#ffff99"><tr><td>
<table border=0 height=80>
<tr align=center><td width="65">
<a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">
<img src="tip.gif" tppabs="http://graphics.ctyme.com/gif/tip.gif" ALT="Sponsors" height="40" width="40"></a>
<br><a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">Shopping</a>
</td><td width="65">
<a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">
<img src="comment.gif" tppabs="http://graphics.ctyme.com/gif/comment.gif" ALT="Forum" height="40" width="40"></a>
<br><a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">Forum</a>
</td><td width="65">
<a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">
<img src="mail.gif" tppabs="http://graphics.ctyme.com/gif/mail.gif" ALT="email" height="40" width="40"></a>
<br><a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">EMail</a>
</td><td width="65">
<a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">
<img src="toc.gif" tppabs="http://graphics.ctyme.com/gif/toc.gif" ALT="Index" height="40" width="40"></a>
<br><a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">Index</a>
</td><td width="65">
<a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">
<img src="home.gif" tppabs="http://graphics.ctyme.com/gif/home.gif" ALT="Home" height="40" width="40"></a>
<br><a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">Home</a>
</td><td width="90">
<center>
<FORM ACTION="https://secure.paypal.com/cgi-bin/webscr" tppabs="https://secure.paypal.com/cgi-bin/webscr" METHOD="POST" traget="_blank">
<INPUT TYPE="hidden" NAME="cmd" VALUE="_xclick">
<INPUT TYPE="hidden" NAME="business" VALUE="marc@perkel.com">
<INPUT TYPE="hidden" NAME="return" VALUE="http://www.perkel.com">
<INPUT TYPE="hidden" NAME="item_name" VALUE="Donation To Support this Site">
<INPUT TYPE="hidden" NAME="no_intl" VALUE="1">
<INPUT TYPE="image" SRC="x-click-but7.gif" tppabs="http://images.paypal.com/images/x-click-but7.gif" vspace=9
NAME="submit" ALT="Make payments with PayPal - it's fast, free and secure!">
</FORM>
</td></tr></table></td></tr></table><p>
<center>
<p>
<a href="javascript:if(confirm('http://www.ctyme.com/hosting/index.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/hosting/index.htm'" tppabs="http://www.ctyme.com/hosting/index.htm" target="_blank">
<img src="ctymehost.gif" tppabs="http://graphics.ctyme.com/gif/ctymehost.gif"
border=3 height=60 width=468></a>
<p>
<!-- Ad End --->
</center>
<FORM ACTION="http://service.bfast.com/bfast/click" target="_blank">
<INPUT TYPE="hidden" NAME="siteid" VALUE="30472466" >
<INPUT TYPE="hidden" NAME="bfpage" VALUE="horizontal">
<INPUT TYPE="hidden" NAME="bfmid" VALUE="27253343" >
<INPUT TYPE="hidden" NAME="num" VALUE="30">
<table bgcolor=white border=3><tr><td>
<table bgcolor=white border=0>
<tr><td>
<IMG SRC="serve-bfmid=27253343&siteid=30472466&bfpage=horizontal.gif" tppabs="http://service.bfast.com/bfast/serve?bfmid=27253343&siteid=30472466&bfpage=horizontal" BORDER="0" WIDTH="1" HEIGHT="1" align=right NOSAVE >
<center><b>Search the web with Google</b></center>
</td></tr><tr><td>
<TABLE cellpadding=0 cellspacing=5 bgcolor="#FFFFFF">
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr><tr><td>
<IMG SRC="affiliate_logo.gif" tppabs="http://www.google.com/affiliates/affiliate_logo.gif" border="0" ALT="Google" align="center">
<INPUT TYPE=text name=q size=30 maxlength=255 value="">
<INPUT type=submit name=sa VALUE="Go">
</td></tr>
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr></TABLE>
</td></tr></table>
</tr></td></table>
</FORM>
</center>
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
<!-- Bottom Link End -->
</BODY>
</HTML>