Table of Contents
Note: This IBM PC BIOS API call is for DOS/Win16 personality only. Use Family API for portability.
Note: osFree Macro Library provides macros for most of functions
Int 13H, AH=05H
Version
IBM 5150 and higher
Brief
Format Track
Family API
none
Input
- AH = 05h
- AL = number of sectors to format
- CH = track number
- DH = head number
- DL = drive number
- ES:BX → address field buffer (see format)
Return
- CF set on error
- CF clear if successful
- AH = status (see status)
Macro
INCLUDE BIOS.INC @DskFormat 0, 0, 0, offset buf
Notes
- on AT or higher, call AH=17h first
- the number of sectors per track is read from the diskette parameter table pointed at by INT 1E
- some old Compaq BIOSes have a bug when attempting to call this function from Windows Standard Mode with EMM386 loaded. A possible workaround is to call this function from Real Mode e.g. through DPMI function “Call Real Mode function with FAR return” (see INT 31/AX=0301h).
Note
Text based on Ralf Brown Interrupt List Release 61
IBM PC BIOS API | |
---|---|
Video I/O | INT 10H: 00H, 01H, 02H, 03H, 05H, 06H, 07H, 08H, 09H, 0AH, 0BH, 0CH, 0DH, 0EH, 0FH |
Hardware info | INT 11H, INT 12H |
Serial I/O | INT 14H: 00H, 01H, 02H, 03H |
Tape I/O | INT 15H: 00H, 01H, 02H, 03H |
Keyboard I/O | INT 16H: 00H, 01H, 02H |
Printer I/O | INT 17H: 00H, 01H, 02H |
Disk I/O | INT 13H: 00H, 01H, 02H, 03H, 04H, 05H |
Date and Time | INT 1AH: 00H, 01H |
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 |