Hi everyone,
I'm really, really confused with the whole CHS thing. Here's what I understand so far...
INT13, function 8 can get me the following drive parameters:-
Heads
Cylinders
Sectors-per-Track
I can use the following calculations to get the disk space:-
Sectors-per-Side = Sectors-per-Track * Cylinders
Total Sectors = Sectors-per-Side * Heads
Total Disk Space = Total Sectors * Bytes-per-Sector
Now this is where I'm stuck! How exactly do I get "Bytes-per-Sector"? I'm aware that the 'standard' is 512, but I've heard that it can be different, and in January 2011 it's going to change. Therefore, I'd rather get the value automatically if possible.
To clarify my situation, I'm working on a bootloader for my own OS in NASM, and I'm hoping to try to develop my own format as opposed to FAT or NTFS. Please can someone shed light on my problem, as this is a big-ass speed bump! :'(