On 2020-02-12 01:24, Paul Koning wrote:
On Feb 11, 2020, at 6:00 PM, Johnny Billquist <b...@softjar.se> wrote:
On 2020-02-11 23:25, Paul Koning wrote:
On Feb 11, 2020, at 3:15 PM, Henk Gooijen <henk.gooi...@hotmail.com> wrote:
...
As you can see from the printed debug statements, in the function rk_go()
the cylinder number goes higher than the maximum number of cylinders
possible on an RK05. Then, the function rk_set_done() is called with the
variable "error" holding RKER_NXC (64 decimal == 000100, octal == RKER_NXC)
==> turns on the FAULT indicator.
SIMH does not generate an error, all is OK, as is on the real PDP-11 / RK05.
For now, I "solved" this by adding "if (error != RKER_NXC)", but that
will exclude all "non-existing cylinder" errors, not only the error that
is generated at the end of the FORMAT RK0: command.
Is this incorrect behavior in SIMH, simulating the RK05? I don't believe
that, so is the RKER_NXC handled in the RK.SYS driver or in RT11 in case of
the execution of the FORMAT command?
I only have some V2 sources. The zero directory operation, which I think is what
"format" uses, just grabs the device size and writes an empty directory. So
I'm puzzled by the reference to an invalid sector.
I would expect the INIT to write the empty directory. I would expect FORMAT to
actually format the disk pack, meaning writing the sector header for each
sector on the whole packet.
A little surprised, though, that the formatting wouldn't know how many tracks
there are, and continue until it hits an error.
There is no such thing as "format", in the sense of writing sector headers, on
an RK05.
Uh... Yes there is. I happen to have written a formatting program myself
on a PDP-8 for the RK05. It can definitely write the sector headers.
The driver calls that a hard error (no retrying).
But why would you turn on the FAULT light on your RK05 for that? Fault, on the
RK05, means servo failure, in particular it means the servo grid light bulb has
burned out. References to invalid disk addresses don't light FAULT in an RK05.
The Peripherals handbook describes it as (a) that light bulb failed, or (b)
write current is present without a write command, meaning your disk probably
has been wiped by an electronic failure.
Sounds like simh does it wrong, then.
I don't think Henk was talking about SIMH having a problem, though I got a bit
confused. The question was about the fact that the fault light was coming on.
My answer is: don't implement that light, there is no condition in the emulated
drive that matches what that light does in the real drive.
I think Henk was also reflecting on that the error condition in simh was
triggered by the cylinder address error, and this is what he was using
as the source for his error light.
If I understood it right, Henk didn't implement the logic to trigger the
error state. He's merely extracting the information in order to display
it on the RK05 panel. And the light went on, and that led us here...
But I might have missed the whole point...
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: b...@softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh