I'm busy with my own os: http://www.cogs.run.to
I can't get a floppy driver to work, and I'm not sure if I need DMA (I though DMA was for quick transfers of memory, but why would you need that?) Can any of you please help.
You do not need DMA since the CPU is fast enough to do those transfers...
BUT
the DMA channel is hard wired for the floppy (DRQ and DACK lines) so if you do not use it...then it is wasted since it can not be used for something else.
Also setting the FDC to work without DMA is a little bit more subttle. If i remember corectly one of the first SoarlOS versions did have a floppy driver that was not using DMA for the floppy disk...
liquidsilver, DMA is used to relieve some workload from the CPU when doing memory transfers. Without dma, all tasks concerned to mem. addresses validation/increment/decrement are handled by cpu.
If you want I could send you a very simple example of floppy disk driver (read/write + dma transfers) from a hobby os project I was working on some time ago.
The MMURTL OS used DMA transfers for the floppy drives, and the complete source is available here:
http://www.sensorypublishing.com/mmurtl.html
Thanx guys, I think I understand now.
arafel: could you send me those things, please (flash.slash@gmail.com)
Hi,
I haven't worked on my OS for a long time but it does have a floppy and DMA driver. Check out RooOs at www.tomasm.tk . BTW thanx for listing my site in yours
Thomas :U
I got it working! (see 0.03 on my site)
I never new RooOS had floppy support. Why didn't you include it in 1.2?
BTW: The reason I included you was because your code was a great help when I started, especially with interrupts. I included credits in the kernel.asm file.