Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
3.2 and higher
GENERIC BLOCK DEVICE REQUEST
AX = 440Dh BL = drive number (00h=default,01h=A:,etc) CH = category code (see #01558) CL = minor code (function) (see #01559) DS:DX -> (DOS) parameter block (see #01560,#01562,#01563,#01564,#01565) SI:DI -> (OS/2 comp box) parameter block (see #01566,#01568,#01569,#01572)
CF set on error AX = error code (01h,02h,etc.) (see #01680 at AH=59h/BX=0000h) CF clear if successful DS:DX -> data block if CL=60h or CL=61h
DOS 4.01 seems to ignore the high byte of the number of directory entries in the BPB for diskettes.
functions 46h and 66h undocumented in DOS 4.x, documented for DOS 5+
the DUBLDISK.SYS v2.6 driver only supports minor codes 60h and 67h
DR DOS 3.41-6.0 only support minor codes 40h-42h and 60h-62h; all other minor codes return error code 16h
some PCMCIA calls reportedly appear to be dangerous for MS-DOS versions prior to 5.0
minor code 60h normally produces no I/O except with AutoMount=1 for DBLSPACE/DRVSPACE
Text based on Ralf Brown Interrupt List Release 61
osFree Macro Library | |
---|---|
Video I/O | @SetMode @SetCurSz @SetCurPos @GetCur @SetPage @ScrollUp @ScrollDn @Scroll @GetChAtr @PutChAtr @PutCh @SetPalet @SetColor @SetDot @GetDot @WrtTTY @VideoState @GetMode @GetDisplay @GetVideoState @GetEGAInfo @Cls |
Hardware info | @Equipment @MemSize |
Serial I/O | @AuxInit @AuxSendChar @AuxRecieveChar @AuxStatus |
Tape I/O | @TapeOn @TapeOff @TapeRead @TapeWrite |
Keyboard I/O | @KbdStatus @CharIn @CharPeek |
Printer I/O | @PrnPrint @PrnInit @PrnStatus |
Disk I/O | @DskReset @DskStatus @DskRead @DskWrite @DskVerify @DskFormat |
Date and Time | @SetTime @GetTime |
Mouse | @MouInit @MouShowPointer @MouStatus @MouSetPos @MouSetMickey @MouRegion |
Memory manager | @ModBlok SET_BLOCK |