|
|
Copyright 1991 David Jurgens |
TC: int biosdisk( int cmd, int drive, int head, int track,
int sector, int nsects, void *buffer )
- prototype in bios.h
- issues interrupt 0x13 for BIOS disk operations
- drive = (0=A:, 1=2nd floppy, 0x80=drive 0, 0x81=drive 1
- cmd = 0 reset diskette system (hard disk drive reset)
1 return status of last disk operation, ignore parms
2 read nsects disk sectors, with starting sector
defined by head, track, & sector, reading 512 bytes
per sector into buffer
3 write nsects disk sectors, with starting sector
defined by head, track, & sector, writing 512 bytes
per sector from buffer
4 verify nsects disk sectors, with starting sector
defined by head, track, & sector
5 format a track defined by head & track, where buffer
points to a table of sector headers to be written
For XT or AT only:
6 - formats a track & sets bad sector flags
7 - formats drive beginning at specific track
8 - returns current drive parms in 1rst 4 bytes of buffer
9 - initializes drive-pair characteristics
10 - long read (4 extra bytes per sector for ECC)
11 - long write (4 extra bytes per sector for ECC)
12 - disk seek
13 - alternate disk reset
14 - reads sector buffer
15 - writes sector buffer
16 - tests if named drive is ready
17 - recalibrates drive
18 - controller ram diagnostic
19 - drive diagnostic
20 - controller internal diagnostic
- drive numbers represent physical drives (0 = A:, 1 = B:,
80h = drive 0, 81h = drive 1
- disk reads should be retried at least 3 times
- MS C uses _bios_disk()
- see INT 13 for more return codes and more information
|
|
Esc or Alt-X to exit |
biosdisk |
Home/PgUp/PgDn/End ←↑↓→ |