I'm not sure there are any "non-quirky" standard operating conditions, unless they were unpredictable from system to system. For example, the implementation of interrupts on the RH series Massbus adapters is truly broken, but it has to be simulated accurately, or the workaround in the Unix driver fails. (I wrote a short paper on this.) The "unimplemented" opcodes in the H316/H516 need to be simulated correctly because some of them got used after programmers discovered what they did. For that matter, my former colleagues at Unisys got burned when it turned out than an "unpredictable" operation had had predictable results for several generations of systems, and customer code depended on that.

But perhaps erroneous error responses don't need to be accurately simulated. Rigel (the VAX chip used in the VAX6000-400) had a microcode bug that failed to fault on a specific reserved operand in INSV. Because every other VAX would simply crash the user's program in this case, the bug was waived and never fixed. It's hard to see how Paul's example could be exploited either.

It is not at all farfetched to use a simulator as part of a historical restoration. When my friend in Australia was restoring a classic 8, he used the PDP8 simulator to construct and prove out small diagnostics for tracing specific logic paths. The 1401 restoration team at the Computer History Museum used the simulator as an aid in their work, although any discrepancy in behavior must be accounted for (and fixed in the simulator, if verified from the schematics).

On 12/6/2016 12:00 PM, [email protected] wrote:
Message: 1
Date: Mon, 5 Dec 2016 12:05:39 -0500
From: Paul Koning <[email protected]>
<snip>
This makes me wonder about the fuzzy line between quirky features and sort-of-bugs.  The code 
snippet you mentioned sounds like it falls on the side of the "quirky", and it sounds 
right for the simulator to implement that.  On the other hand, there's one I recently read about a 
machine in which a subroutine call instruction would fail with the stack pointer equal to -0, but 
when the stack pointer was +0 it would produce an address error only for some of the addressing 
modes.  "The schematics ... confirm this; the reason is unknown" says the article.  
Implementing that sort of corner case is obviously doable, but not necessarily all that useful.

        paul



------------------------------

Message: 2
Date: Tue, 6 Dec 2016 17:12:00 +0100
From: Pontus Pihlgren <[email protected]>
<snip>
Are you suggesting that simulators should fix "bugs" for someone using a
simulator for comparison when restoring real hardware it could be very
confusing.

(not that such comparisons should be truated anyway)

/P

_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to