Date : Mon, 22 Nov 2010 15:50:46
From : heyrick.beebsoc@... (Rick Murray)
Subject: [BeebSoc] Harddisc fakery using a microcontroller
Hi,
An idea I'm (lightly) toying with, as an example, and if you'd like to
take this as a thread on its own, great:
The FileStore. Has a harddisc. A 256 byte sectored smallish SCSI drive
of a fairly specific type. Which is practically impossible to find
nowadays. I wanted to write an emulator (which is sort of in limbo at
the moment) to look at hacking the firmware to permit an SD card to be
used off the parallel port, as a form of storage.
Somebody on the (proper) list mentioned the idea of using a small MCU to
read off of some sort of storage media, and "pretend" to be the correct
sort of harddisc. Now I'm thinking this idea might actually have some
mileage to it, and it ought to be "reasonably" simple to implement. A
card, say SD, hooked to a MCU with some on-board memory and on-board
firmware, which 'fakes' a SCSI bus. Given it is '80s tech, it is neither
overly complicated, nor especially fast (in the case of the FileStore,
treacle speed).
Now, I have sod-all experience with microcontrollers so I couldn't tell
you if this is something the AVR is good at, or a PIC. The way I see it,
it would be best if there is something adept at handling SD cards
(perhaps moreso than bit-bashing I/O lines, if possible), and has a LOT
of digital I/O lines capable of running at TTL levels. This will be for
the SCSI.
Internally, I do not imagine it would need to do a lot. There'll be no
requirement for a "view" of the disc as this will be provided by the SD
card. It should simply map reads and writes as seen by the 8 bit kit
into reads and writes to the SD. If we're writing to the SD in raw mode,
then read the low 256 bytes and discard the high; write the same 256
bytes twice. Binary shift all addresses to account for sectors being
twice as large. Simplest method.
As a possible alternative, is it viable for a small embedded MCU to work
with the DOS filesystem? If so, without overly complicating things,
perhaps work using "images"?
Something that would be *very* useful, at any rate, is a button or
special command sequence or somesuch which can trigger the device to
self-format - lay down the basic AFS0 structure and write the default
$.Passwords file.
All musings, but I think it might be an avenue to consider. Certainly it
is rather less destructive to older hardware than trying to botch in an
SD interface!
Best wishes,
Rick.