Hi Eric!

Thanks for your hints!

2009/7/10 Eric Auer <[email protected]>:
>> 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.
>
> Your code seems to be a boot loader - running it in DEBUG
> can be problematic as you might overwrite parts of DOS in
> RAM... But no, the FreeDOS kernel does not protect you from
> crossing DMA boundaries via int 13... It only helps you by
> never crossing DMA boundaries for file access, even if you
> ask the kernel to transfer data from/to a buffer which is
> around a DMA boundary :-).

Indeed. When I was debugging the boot loader in FreeDOS debug, I
adjusted the segment values to avoid overwriting the FreeDOS kernel.
For example, I read to address 5000h:0000h instead of 07F0h:0000h. The
strange thing: this address (50000h) obviously crosses the 64K
physical address boundary, but it worked anyway. :S

> True. Actually quite a few BIOSes / controllers have no
> DMA boundary problem, but "real floppy" probably does.
> You can also try how BIOS-supported USB drives behave.

Unfortunately, I don't have a machine that is able to boot from a USB drive. :(

> Let me know when you find out what causes your problem :-)

With the help of a guy on the forum, I've figured out the problem.
Here's what caused the phenomenon:

http://board.flatassembler.net/topic.php?p=97464#97464

As you said, I crossed a boundary in a way I didn't notice. :)


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