The following functions have been implemented!
1
Support for compressed multi-volume disks for antique hard drives (does not support extended INT13)
Although extended INT13 is not supported, it is not a problem to compress the sectors of the hard drive into files..
But when restoring the image file compressed at a certain position on a hard drive to a different position on another hard drive, the result is incorrect.
To solve this problem, one has to rack one's brains!
Because the structure in the previously compressed file has to be based on the geometric structure of the hard drive sectors,
However, when this file is to be decompressed to a different position on a different hard drive in the future, there will be inconsistencies. The decompressed data cannot be directly written to the hard drive..
So, we need to re-analyze the physical structure of the hard drive, and then set up several buffers, adjust the decompressed data to the allowable data size, and handle the remaining data, etc. It is quite complicated to handle...
But I've cracked it! And it only took very little code!
The test results are correct!
2
Regardless of whether extended INT13 is supported or not, copying between hard drives, partitions (limited to primary partitions) and any sectors can be carried out.
This also involves interpreting the physical structure of the hard drive and working in coordination with hard drives that support extended INT13..
***********************
************************
(Small supplement: Originally, the buffer for reading and writing hard drives that support extended INT13 was set to 100 sectors, and now it is found that it may be increased to 125 sectors (64,000 bytes)!)
So far, all the functions that I wanted to add have been completed, and I am very satisfied.. And I have tried my best to make the code concise and efficient, and consider the common habits of users.
Now, I am organizing the code, and it will be fully completed soon!
(Tomorrow, I will go buy a few more hard drives to carry out comprehensive and large-scale testing! Also, see if there are antique hard drives that do not support extended INT13!
The old hard drive of about 2GB that I bought some time ago actually still supports extended INT13! Oh my god!! Extremely disappointed!
Note: Since there are no hard drives that do not support extended INT13 now, the previous tests on the reading and writing of basic INT13 (CHS mode) were carried out by intentionally reversing the code (that is, intentionally reversing the support for extended and non-support, so that support becomes non-support, so as to test the results of the CHS mode code... Also, using floppy disks for testing)
)
[ Last edited by GOTOmsdos on 2006-8-11 at 18:50 ]