Hi all,

I have a boot record I wrote for my own OS that's not related to FreeDOS.
My boot code acts really strange - it gets error 9 from INT 13h, when
it tries to read from the floppy disk.
Error 9 says: "data boundary error (attempted DMA across 64K boundary
or >80h sectors)".
But AFAIK, I don't cross 64K boundaries, and I read sectors one by
one. Then why do I get error 9?

It's a paranormal phenomenon. The most strange part of the whole
story, that my code succeeds in the following situations:
- When booted in WMVare or QEMU.
- When booted on a real machine, via GRUB4DOS.
- When I debug the code in FreeDOS debug, it also succeeds.

Virtual machines are really different, I must admit, but I don't
understand why does the code works, when its booted through GRUB, and
why can I debug it in FreeDOS debug. The last question could be
answered if I knew, does the FreeDOS kernel intercept INT 13h to
improve its functionality?

The whole thread about this X-file (with all the tricky details) can
be found here:
http://board.flatassembler.net/topic.php?t=10422

Really, it is strange for me that the very same code works with the
same BIOS, when it gets booted by GRUB, and it doesn't work, when it's
booted directly, right after the POST. But if GRUB, and the FreeDOS
kernel as well overrides INT 13h, then there's the explanation why
does my code boots on GRUB and can be debugged in FreeDOS debug as
well.

Thanks,
MegaBrutal

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Freedos-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to