Page 1 of 1

DMA Help

Posted: Thu Dec 04, 2008 6:26 pm
by jake12
Hi.

With Floppy DMA, if I do not support paging which address should I use? I have tried to set it up using 0x00000000 and it worked but not on real-hardware. I also tried to send it a unsigned char buffer[512], but it doesn't seem to write to that buffer as it never changes neither on real or emulated hardware. I followed the guide in the wiki to build my dma setup function (translated to C), so it isn't anything fancy, but it should still work. Can someone please advise me on what to do when setting up DMA for floppy usage? I don't have a kmalloc function but I have memset and memcpy and again I am not supporting paging. thanks

Re: DMA Help

Posted: Fri Dec 05, 2008 4:37 am
by Combuster
Not enough information.

The DMA article has everything about placement restrictions. The floppy might error several times before reading successfully (especially on real hardware) so I'd start looking there first.

Re: DMA Help

Posted: Sat Dec 06, 2008 3:57 pm
by jake12
Thank you. That was helpful. However, I have decided to try another way. I wonder if it is reasonable to assume that if I:

copy stage2.bin+file1.txt

Then when my stage2 is being loaded if I extend its size by the size of file1.txt (will have to be estimated this way) if it would be reasonable to assume that file1.txt will exist in memory contiguously behind stage2. Does this idea seem reasonable or should I go back to the drawing board?

Re: DMA Help

Posted: Mon Dec 08, 2008 1:15 am
by jake12
It appears I was right (with some variation of theory), thus no need for a 32bit fdc driver. Which is a relief. thanks