Page 1 of 1

INT 13h Question

Posted: Sat Dec 18, 2010 6:48 pm
by renovatio
Hello, I would like to know how many continuous sectors can int 13h read and why is it limited?

Thanks in advance.

Re: INT 13h Question

Posted: Sun Dec 19, 2010 6:34 am
by Combuster
In general the following may fail:
- Accessing the disk across track boundaries
- Crossing a 64k boundary in RAM
- Reading/writing from unaligned RAM
- The first few read attempts after the disk motor was stopped.
- Anything, if there was no reset between the attempt and the last failed attempt.

Most of it is because the bios is often too stupid to do more than one transaction per bios call.

Re: INT 13h Question

Posted: Mon Dec 20, 2010 11:59 am
by Casm
renovatio wrote:Hello, I would like to know how many continuous sectors can int 13h read and why is it limited?

Thanks in advance.
If you use ah=42h you can in principle read up to 127 sectors. However, the input buffer cannot straddle a 64kb boundary in RAM because of the daft way IBM implemented DMA in the originaal PC - at least that limitation applies to floppies. Hard disks nowadays implement their own DMA.