Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Interrupts & Ports - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

        DOS Absolute disk read (INT 25h)

        Normal DOS (2.x or 3.x, may also be used in 4.x if partition is
                    smaller than 32 MB):
          Entry:
            AL    =  Drive number (0=A, 1=B, etc)
            DS:BX =  Disk Transfer Address (buffer)
            CX    =  Number of sectors to read
            DX    =  First relative sector to read
          Return:
            CF    = 1 if error
            AL    = error code issued to INT 24h in low half of DI
            AH    = 80h if attachment failed to respond
                    40h if seek operation failed
                    20h if controller failed
                    10h if data error (bad CRC)
                    08h if DMA failure
                    04h if requested sector not found
                    03h if write-protected disk
                    02h if bad address mark
                    01h if bad command


          Note: ORIGINAL FLAGS ON STACK!
          Note: AX = 0207h if disk is DOS 4.0 disk, and partition >32MB.


        PC DOS 4.0

          Entry:
            AL    =  Drive number (0=A, 1=B, etc)
            DS:BX =  Pointer to request package
            CX    =  Number of sectors to read
            DX    =  First relative sector to read
          Return:
            CF    = 1 if error
            AL    = error code issued to INT 24h in low half of DI
            AH    = 80h if attachment failed to respond
                    40h if seek operation failed
                    20h if controller failed
                    10h if data error (bad CRC)
                    08h if DMA failure
                    04h if requested sector not found
                    03h if write-protected disk
                    02h if bad address mark
                    01h if bad command

        Request package:
        Name    Size    ; Contens                                     
        RBA     DD      ; First sector to read (0=first on disk)
        Count   DW      ; Number of sectors to read
        Buffer  DD      ; Pointer to databuffer, where data is placed.



        COMPAQ DOS 3.31 - >32M hard-disk partition

          Entry:
            AL = Drive number (0=A, 1=B, etc)
            CX = FFFFh
            DS:BX = Packet address
                    DWORD sector number
                    WORD  number of sectors to read
                    DWORD transfer address
          Return:
              Same as above???

          Note: partition is potentially >32M (and requires this form
          of the call) if bit 1 of device attribute word in device driver
          is set.

See Also: INT 26h

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson