The value of head, track and sector specify the location of the starting sector for the operation. nsectors specifies the number of sectors to be read or written and buffer points to the buffer where data is read and written. Depending on the value of cmd, the other parameters in the diskinfo_t structure might or might not be needed.
The value for the specification of disk drive to be used in the biosdisk and _bios_disk functions has been given in the following table:
drive Value |
Disk drive to use |
0
1
2
.... |
First floppy-disk drive
Second floppy-disk drive
Third floppy-disk drive
(and so on) |
0x80
0x81
0x82
... |
First hard-disk drive
Second hard-disk drive
Third hard-disk drive
(and so on) |
Enough theory! Now let us see some practical things and some example of these functions. The following example reads the sectors of the both sides of four tracks of the floppy and stores the contents to the file, specified by the user. It does not matter, if you have deleted the files from your disk because the program is directly reading the surface of the disk.
To see the deleted data, it is a better ideal that you take a fully formatted floppy disk and copy some text files such as your .c programs coding or other text files ( so that you can understand the contents of the files) occupying approximately 73KB(data stored in four tracks, two sides and 18 sectors in each track. Each sector is of 512bytes). The program has been developed to demonstrate the example. However you can alter and develop it to ready to recover data.
|