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 Internal - Send device driver request

        Entry:
          AX = 1510h
          CX = CD-ROM drive letter (0 = A, 1 = B, etc)
          ES:BX -> CD-ROM device driver request header (see below)

        Format of device driver request header:
                Offset  Size    Description
                 00h    BYTE    length of request header
                 01h    BYTE    subunit within device driver
                 02h    BYTE    command code (see below)
                 03h    WORD    status (filled in by device driver)
                                bit 15: error
                                bits 14-10: reserved
                                bit 9: busy
                                bit 8: done
                                bits 7-0: error code if bit 15 set (see below)
                 05h  8 BYTEs   reserved
                 0Dh            any additional information starts here

        Values for command code:
                00h INIT
                01h MEDIA CHECK (block devices)
                02h BUILD BPB (block devices)
                03h IOCTL INPUT
                04h INPUT
                05h NONDESTRUCTIVE INPUT, NO WAIT
                06h INPUT STATUS
                07h INPUT FLUSH
                08h OUTPUT
                09h OUTPUT WITH VERIFY
                0Ah OUTPUT STATUS
                0Bh OUTPUT FLUSH
                0Ch IOCTL OUTPUT
                0Dh (DOS 3+) DEVICE OPEN
                0Eh (DOS 3+) DEVICE CLOSE
                0Fh (DOS 3+) REMOVABLE MEDIA (block devices)
                10h (DOS 3+) OUTPUT UNTIL BUSY
                11h unused???
                12h unused???
                13h (DOS 3.2+) GENERIC IOCTL
                14h unused???
                15h unused???
                16h unused???
                17h (DOS 3.2+) GET LOGICAL DEVICE
                18h (DOS 3.2+) SET LOGICAL DEVICE
                80h (CD-ROM) READ LONG
                81h (CD-ROM) reserved
                82h (CD-ROM) READ LONG PREFETCH
                83h (CD-ROM) SEEK
                84h (CD-ROM) PLAY AUDIO
                85h (CD-ROM) STOP AUDIO
                86h (CD-ROM) WRITE LONG
                87h (CD-ROM) WRITE LONG VERIFY
                88h (CD-ROM) RESUME AUDIO

        Values for error code:
                00h write-protect violation
                01h unknown unit
                02h drive not ready
                03h unknown command
                04h CRC error
                05h bad drive request structure length
                06h seek error
                07h unknown media
                08h sector not found
                09h printer out of paper
                0Ah write fault
                0Bh read fault
                0Ch general failure
                0Dh reserved
                0Eh reserved
                0Fh invalid disk change

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