Disk device driver: floppy disk or USB key?
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Disk device driver: floppy disk or USB key?
I seem to remember that Bochs had a "bug" in that the emulated FDC didn't care if it was properly calibrated. I remember that mine worked fine on Bochs but didn't work on real hardware, because I wasn't properly resetting the FDC.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Disk device driver: floppy disk or USB key?
Just be sure, when you guys talk about an ATA driver, you mean ATA using DMA, correct? (what is described on http://wiki.osdev.org/ATA/ATAPI_using_DMA)
Re: Disk device driver: floppy disk or USB key?
Hi,
Note: Yes, I'm serious, the cable matters. If there's a relatively modern controller, a relatively modern disk drive and an old 40-conductor cable, then you have to use slower data transfer methods to avoid data corruption even though both the controller and drive will support faster data transfer methods.
Cheers,
Brendan
Yes; but when I search your posts I don't see anything asking for help fixing a floppy driver, which tells me you haven't exhausted your options.lpoulain wrote:@Brendan: I don't expect anything to work the first time Developing your own OS is about perseverance (it took me weeks to get multitasking properly working). Sometimes though you're looking for the path which is likely to be the less painful.
Typically you'd have a single ATA driver that supports all 4+ variations of DMA/bus mastering plus all 3+ variations of PIO; where that driver auto-detects which of these the controller supports, then identifies the disk drives are present and figures out which transfer rates each disk drive and its cable (see note) supports and decides which method to use for each disk drive.lpoulain wrote:Just be sure, when you guys talk about an ATA driver, you mean ATA using DMA, correct? (what is described on http://wiki.osdev.org/ATA/ATAPI_using_DMA)
Note: Yes, I'm serious, the cable matters. If there's a relatively modern controller, a relatively modern disk drive and an old 40-conductor cable, then you have to use slower data transfer methods to avoid data corruption even though both the controller and drive will support faster data transfer methods.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.