Page 1 of 1

Reading more sectors than there are on a track with int 13h

Posted: Tue Jan 22, 2019 11:57 am
by PhantomR
What is the order int 13h with ah=02h will read, say, 19 sectors starting at (C, H, S) = (0, 0, 1) provided a (floppy) disk geometry of 2 heads, 18 sectors per track and 80 tracks per side.

Or, more generally, what happens when it reaches the end of track 0, head 0? Does it go to track 1 (+ head 0, sector1) or head 1 (+ track 1, sector 1)? Does it even work properly in this case?

EDIT: Wait.. is this actually like hours, minutes, seconds? If we reach the end of the track (S is greater than 17), then H is increased?

Re: Reading more sectors than there are on a track with int

Posted: Tue Jan 22, 2019 12:23 pm
by PhantomR
I received an answer here: https://stackoverflow.com/questions/543 ... th-int-13h .

To summarize, my edit above was confirmed (in that it works similar to the hours, minutes, seconds system). I was also told that modern BIOSes can handle reading (or writing) beyond the starting track, but for best compatibility I should avoid it.

Re: Reading more sectors than there are on a track with int

Posted: Tue Jan 22, 2019 12:27 pm
by iansjack
You could easily find the answer to this, for your particular BIOS, with a little experimentation.

Re: Reading more sectors than there are on a track with int

Posted: Tue Jan 22, 2019 12:38 pm
by PhantomR
Sure :), I actually thought I could try some things, but it felt quite complicated and I wasn't in the mood (nor felt I had enough time for it). Still, I'm curious, how would you proceed to find out this information?

Re: Reading more sectors than there are on a track with int

Posted: Tue Jan 22, 2019 1:22 pm
by nullplan
PhantomR wrote:Sure :), I actually thought I could try some things, but it felt quite complicated and I wasn't in the mood (nor felt I had enough time for it). Still, I'm curious, how would you proceed to find out this information?
For my personal PC: Prepare floppy image, create test program, run program, evaluate result.

More general: Immerse myself in Ralf Brown's Interrupt List until I think I know what would happen. Then confirm on my own PC as above.