On Wed, Apr 8, 2015 at 12:13 AM, Christopher Parish
<christopher.parish at parishcomputers.com> wrote:
I will have to patch SIMH to support this paradigm
because right now it expects the backing store for its virtual RL02s to be readable at all
times. IO errors trying to access the underlying "file" halt the simulator.
Additionally, there is no way to report what type of error occurred via USB mass storage,
only that fewer blocks were returned than expected.
Well, you *can* pass *anything* over USB; it depends entirely on how
the system is architected...
I think I'll need to have two completely different
modes of operation.
I respectfully disagree. To my way of thinking, this is indeed a SIMH
issue, since it was never architected to handle real hardware; it was
only ever conceived to handle virtual devices, and the design
decisions that were made for that goal were appropriate. In the SIMH
worldview, bad blocks should simply never occur, so the guest OS all
never be exposed to them, and device drivers can be written without
taking them into account beyond the simple 'help, the world's gone
screwy, I quit' if a disk request has an unexpected outcome.
Now you're moving the goalposts. I see no reason not to fork SIMH and
simply patch the RL device driver to do exactly what the hardware does
and pass errors through to the guest OS for it to deal with.
Mike
http://www.corestore.org
'No greater love hath a man than he lay down his life for his brother.
Not for millions, not for glory, not for fame.
For one person, in the dark, where no one will ever know or see.'