On Tue, Feb 27, 2018 at 2:46 PM, Rich Alderson via cctalk <
cctalk at classiccmp.org> wrote:
Fast forward 20 years, to Living Computer Museum, where a KI-10 based
DEC-1070
was undergoing restoration. Diagnostics were needed, so the resident
TOPS-20
programmer laid hands on the MAINDEC sources for the KI-10 and proceeded to
compile them all and generate paper tapes of the results. All went
smashingly
well until the multiplication test.
The diagnostic source for this test uses a macro to build a set of test
values
for X**2 where X is a power of 2. Internally, Macro-20 uses the IMULM
instruction to build the results. In the KA-10 manual, IMULx of 2**35 *
2**35
is supposed to store the high order part of the result into the 36 bit word
addressed by the instruction, and set the overflow bit.
On the Toad-1 (and on the Toad-2 prior to our discovery of this bug), a
zero is
stored instead. Since we compiled the KI-10 diagnostics on the Toad-1,
this
incorrect result was placed on the diagnostic paper tape, and the KI-10
seemed
to fail the diagnostic. Imagine our chagrin when days of trying to
correct the
problem led to the conclusion that the diagnostic was incorrect.
Rich
This is a great story! And it probably indicates that when developing the
Toad-1 this particular
diagnostic was never run from an original DEC generated tape or the Toad-1
would have failed
the diagnostic. Alternatively assembling the diag on the restoration
project would have yielded
a working multiply.
So is someone going to fix the multiply instruction in the 20+ year old
Toad? <grin>
--
Doug Ingraham
PDP-8 SN 1175