[Simh] Simulator accuracy (was Re: New TC11)
Bob Supnik
bob at supnik.org
Tue Dec 6 20:29:44 EST 2016
Simulators should never fix "bugs". The question at issue is how deeply
to mimic them, in order to assure maximum compatibility with software.
Over the years, I've concluded that straying too far from the hardware
is dangerous. I'm not suggesting that every register-transfer-level
interaction has to be there. It's okay to write
IR = M[PC];
instead of
MA = PC;
ReadM ();
IR = MB;
But software often depends on "bugs". The routines that identify the
models of a PDP8 and a PDP11 are very dependent on 'bugs' (or
incompatibilities, if you prefer) between models. (And some of those
incompatibilities are indeed bugs, like the ASH/ASHC problem in the
J11.) The IBM 709X's double precision floating point divide is clearly
rather inaccurate, but the simulator has to reproduce the hardware
algorithm bit for bit, rather than perform a modern divide.
Fixing, of if you prefer, improving, the way the hardware actually
worked is hazardous. In the original H316/H516 teletype code, I included
lots of rational checks to prevent switching the half-duplex interface
between input and output in "wrong" places. The actual logic had none of
those checks, and the checks broke the Teletype code in the IMP simulator.
/Bob
On 12/6/2016 5:02 PM, Pontus Pihlgren wrote:
> I wonder if I made that sentence more confusing that necessary. I meant
> to write:
>
> Are you suggesting that simulators should fix "bugs"?
>
> For someone using a simulator for comparison when restoring real
> hardware it could be very confusing.
>
> /P
>
More information about the Simh
mailing list