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
