Current known problems to the FDC code given to William Jolitz
on feb. 17, 1993
KNOWN PROBLEMS
--------------
Read/Write without a diskette locks the system.
A seek without a diskette should work on all FDCs, a
READ/WRITE without a diskette is a major problem in that
I may have to lock out all interrupts untill the DMA
transfer is complete.
No control device for a seperate FD controller.
This will is not too bad of a problem, but the internal
que marker to the FDC must work acurately.
No Clean Retries, Yet.
A must is to check and make sure that the timeouts work
like they are supposed to... also some suttle bugs lurk
inside the code... I have identified a few.
Some bugs are part of the transitenal code from the old
source to the new code.
Files of zero length bomb MS-DOS programs for the QIC-40/80.
I don't know why this is yet, but i needed to note it.
MUST FIX
--------
1) Add more comments, especially to new code.
2) Add 360k drive support.
3) Comment Fixes.
4) Trap interrupt when resetting speed.?
5) "get_stat" & "get_drvstat need external errory recovery.
6) Add read-a-track to "fd_prep_transfer" & "fd_read_write".
7) Add "do_speed_reset" to "fdstart".
8) Add error trap if "fd_seek" fails @ "fdintr"
9) make an fd_terminate ... eliminate related functions
10) change fix pre/post analyzes logic & user feedback.
11) Finish format utility (intr section).
12) find appropriate place to derive "disk type in drive".
13) fix "fd_timeout"
14) remove hard-coding from "fd_specify"
FIXES and ADDITIONS
-------------------
"fdintr" only get entered when an interrupt is called... it is
no longer a interim service routine.
Preparaion made to use splbio() & splx() correctly.
new routines
------------
fd_prep_seek()
fd_prep_transfer()
fd_start() /* old routine tossed (it was junk) */
fd_intr() /* old routine tossed (it was junk) */
fd_recover() /* 2-14-93, bill may not have this */
fd_(*commands)() /* all command to the fdc are in routines */