Hi!
BTW, to support BIOS access to drives >8GB you probably should implement
int13 extensions (see Rolf Brown), for example:
--------d-1342-------------------------------
INT 13 - IBM/MS INT 13 Extensions - EXTENDED READ
        AH = 42h
        DL = drive number
        DS:SI -> disk address packet (see #0182)
Return: CF clear if successful
            AH = 00h
        CF set on error
            AH = error code (see #0144)
            disk address packet's block count field set to number of
blocks
              successfully transferred
SeeAlso: AH=02h,AH=41h"INT 13 Ext",AH=43h"INT 13 Ext"

Format of disk address packet:
Offset  Size    Description     (Table 0182)
 00h    BYTE    10h (size of packet)
 01h    BYTE    reserved (0)
 02h    WORD    number of blocks to transfer (max 007Fh for Phoenix EDD)
 04h    DWORD   -> transfer buffer
 08h    QWORD   starting absolute block number
                (for non-LBA devices, compute as
                  (Cylinder*NumHeads + SelectedHead) * SectorPerTrack +
                  SelectedSector - 1

note that starting sector number is QWORD!
Uhus


Reply via email to