flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > FDC Controller |
Author |
|
revolution 22 Nov 2008, 05:48
Do people still use floppy disks? I haven't seen one for many years.
|
|||
22 Nov 2008, 05:48 |
|
Mac2004 22 Nov 2008, 10:50
revolution wrote: Do people still use floppy disks? I haven't seen one for many years. Yes they do.. For instance during OS development on real computers. Floppies are still easiest way to make a bootable disk. @calpol2004: From my experience I can say that FDC controller is not very easy piece of hardware to program with. regards, Mac2004 |
|||
22 Nov 2008, 10:50 |
|
revolution 22 Nov 2008, 11:05
Mac2004 wrote: Yes they do.. For instance during OS development on real computers. |
|||
22 Nov 2008, 11:05 |
|
baldr 22 Nov 2008, 11:48
calpol2004,
Legacy hardware seems strange now, but back in those days… Newer FDCs and LPC I/O controllers have implied seek feature, the question is "how much backward-compatible your driver wants to be?" Recalibration is useful when retrying after sector-not-found (electromechanically seek is relative to current position and tolerances always sum up most unfortunate way ) to establish reference point for heads' position. In 3.5" FDD heads are loaded always (when FD present), it's more important to turn off motor as soon as possible (wear-leveling vs. performance). But nobody stops you from implementing command queuing/seek optimizing in multitasking environment. Floppy drive doesn't support DMA transfers, only serial MFM. FDC does. PIO transfer is acceptable if FDC has internal FIFO enabled (several bytes per interrupt, much simpler set-up, no 64 KiB DMA boundaries). Polled I/O may have it's merits also, e.g. in single-thread OS or synchronous serialized I/O — it's simplest (but µPD765/i8272 didn't support it internally, as i82078 does). The speed is irrelevant with fixed data rate (as far as modern computers concerned; 4.77 MHz XT probably may have trouble with PIO). Specifications are pretty clear in handshaking protocol for FDC. Are you encountering strange errors without delays (assuming handshaking is correct)? I'd rather make as little as possible assumptions about BIOS' behavior. Correct density (AKA data rate) is probably safe bet. revolution, FDC programming is funny and educative: concepts like DMA and hardware interrupts look completely different in theory and practice… VGA/PIC/PIT/keyboard/FDC is my favorite roadmap to begin with hardware programming. |
|||
22 Nov 2008, 11:48 |
|
revolution 22 Nov 2008, 12:02
baldr wrote: In 3.5" FDD heads are loaded always (when FD present), it's more important to turn off motor as soon as possible (wear-leveling vs. performance). baldr wrote: ... 4.77 MHz XT probably may have trouble with PIO). baldr wrote: FDC programming is funny and educative: concepts like DMA and hardware interrupts look completely different in theory and practice... |
|||
22 Nov 2008, 12:02 |
|
baldr 22 Nov 2008, 14:13
revolution,
I thought about usual scenario: copy files to FD, take it to another computer, copy files from FD. It's unlikely that heads in FDD1 will be at the same cylinder as in FDD2 (but possible: system data on 3.5" FD resides completely on cyl. 0 ) revolution wrote: Even my old Amstrad (4MHz Z80) could cope with PIO. Theory and practice differs as in "I know how to do it" and "I've done it" |
|||
22 Nov 2008, 14:13 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.