On Mon, 1 Dec 2003, Bob Shannon wrote:
Peter C. Wallace wrote:
On Fri, 28 Nov 2003, Bob Shannon wrote:
<snip>
Another possibility is to emulate only the actual drive in hardware. That is a
simple FPGA +ATA drive based device could emulate the magnetics and head
positioning interface of the original drive. Then you could use the same disk
controller and the system software would see no changes.
Since there is so much excess storage available in current ATA drives, plus
the original data rates are quite slow relative to a FPGA serial data recovery
clock, an inefficient but simple to implement sector data record and playback
data encoding scheme could be used, for example by storing ~5 bits per
original data bit, the time between data transitions could recorded and
replayed (with possible emulation of magnetic bit timing aberrations to undo
the effects of write-precomp)
(I think Eric Smith gave me this idea...)
Peter Wallace
Given an ATA drive, its much simpler to emulate the controller to CPU
interface than it is
to emulate the controller to disk interface. This is especially true
for the MAC-series drives, but
totally untrue for the 7900 (which uses a pair of generic TTL-level I/O
boards).
If the controller is well emulated, the software again sees no
difference and runs normally
with a much smaller investement of design effort.
I guess what I was considering is that most of the logic design and hardware
would be portable so the same hardware (exclusive of drive specific daughter
cards perhaps) could be used to emulate many types of hard drives: MFM, ESDI,
SMD, or many older types. The design effort at the controller level only works
for one CPU family... Its also simpler in that you dont need a host bus
interface, just a blob with flat cable connectors...
Peter Wallace