I have finished the 3rd phase of my IBM 1410 SMS computer
reverse-engineering project. The first phase was writing a software
machine-cycle simulator - almost 20 years ago, in part to verify I had
usable software. The 2nd phase was writing code and setting up a
database to do the 3rd phase - capturing data from IBM Automated Logic
Diagrams (ALDs).
The ALDs comprise 752 pages from 9 of the 11 total volumes of system
schematics/engineering drawings, volumes II-X. (Volume I is the power
supply and volume XI is additional memory).
It took me roughly 375 hours of time (probably more like 450 - not all
time was captured) to capture the data into a database that contains
10,565 ALD logic blocks, 1281 "DOT functions" where outputs of gates
joined as a "Wired OR", with 4222 distinct signal names appearing as
12,398 entries on the 752 pages, and over 32,700 individual connections.
The sheets (as reprints from scanned originals) stacked up are 2" high.
The second photo is one of them (with marks I made during data capture)
is pictured here. The third photo is a screenshot of that page in the
application I developed. (The numbers at the bottom, which do not appear
on the original sheet, are a gate number on a given SMS card, the number
of inputs to that block, and the number of outputs from the block. The
little "A" characters appearing between columns represent "DOT
functions."
I ran a regression in Excel to estimate the time for capturing a given
sheet, which ended up as:
Time (in minutes per page) = -7.1 +
1.00 * # ALD blocks on the page (the rectangles) +
0.50 * distinct signals coming from / going to other sheet(s) +
2.24 * # "DOT Functions" on the page +
0.15 * # of connections to/from ALD blocks on the page +
0.39 * # of edge connection locations (at the bottom)
Most of the residuals - the difference between the actual value recorded
and what the equation would calculate - were under 25%.
The "DOT Function" coefficient is probably correlated to the overall
complexity of the page - "DOT Functions" themselves were easy to enter.
The next step is to clean up some things in the application and tune the
database to perform better, at which point I expect to make the
application available via some online GIT repository so it can be used
for other SMS machines (IBM 1620, IBM 1401, IBM 7000 series and the like).
Then it will be on to synthesis of sections of the machine (CPU, memory,
console) for which I have drawings and some kind of stand-in for parts I
don't have drawings for (1414 I/O Synchronizers, tape drives, etc.).
The photos referenced can be found at the public facebook post at:
https://www.facebook.com/jay.jaeger.3/posts/2100428726685075