The LINC has 2048 12-bit words of memory in two sections.10 Only the first 1024 words were usable for program execution. The second section of memory could only be used for data.
Programs can use a 12-bit accumulator and a one-bit link register. The first sixteen locations in program memory have special functions. Location 0 supports the single-level of subroutine call, automatically being updated with a return address on every jump instruction. The next fifteen locations can be used as index registers by one of the addressing modes. A programmable, six-bit relay register is intended for use by external instruments.11
A later modification to the LINC added a 12-bit Z register to facilitate extended precision arithmetic, and an interrupt was provided forcing execution to location 21 (octal).
Alphanumeric input/output devices included a dedicated keyboard, and the ability to display text on the attached point-addressed CRT. A teleprinter could be connected for printed output.
Arithmetic was ones' complement, which meant that there were representations for "plus zero" and "minus zero".
The original LINC required 8 microseconds for each instruction.
The natural notation used for the LINC was octal. In this section, all numbers are given as base ten unless identified as octal. The LINC instruction set was designed for ease of use with scientific instruments or custom experimental apparatus.12
The LINC control panel is used for single-stepping through programs and for program debugging. Execution can be stopped when the program counter matched a set of switches. Another function allows execution to be stopped when a particular address was accessed. The single-step and the resume functions can be automatically repeated. The repetition rate can be varied over four orders of magnitude by means of an analog knob and a four-position decade switch, from about one step per second to about half of the full speed. Running a program at one step per second and gradually accelerating it to full speed provided an extremely dramatic way to experience and appreciate the speed of the computer.
A noteworthy feature of the LINC was the LINCtape. It was a fundamental part of the machine design, not an optional peripheral, and the machine's OS relied on it. The LINCtape can be compared to a linear diskette with a slow seek time. The magnetic tape drives on large machines of the day stored large quantities of data, took minutes to spool from end to end, but could not reliably update blocks of data in place. In contrast, the LINCtape was a small, nimble device which stored about 400K, had a fixed formatting track allowing data to be repeatedly read and re-written to the same locations, and took less than a minute to spool from one end to the other. The tape was formatted in fixed-sized blocks, and was used to hold a directory and file system. A single hardware instruction could seek and then read or write multiple tape blocks all in one operation.
Filenames were six characters long. The file system allowed for two files—a source file and an executable binary file to be stored under the same name. In effect it was a 6.1 filename in which the extension was restricted to "S" or "B". Since the basic LINC had only 1024 12-bit words of core memory (RAM)—and the big, expanded LINC had only 2048—normal operations depended heavily on swapping to and from LINCtape. Digital later patented and marketed a similar design under the name DECtape; Digital's patents on DECtape were eventually tested in court and found invalid.13141516
LINCtape is also remembered for its reliability, which was higher than that of the diskettes which supplanted it. LINCtape incorporated a very simple form of redundancy—all data was duplicated in two locations across the tape. LINC users demonstrated this by punching holes in a tape with an ordinary office paper punch. Tape damaged in this way was perfectly readable. The formatting track made operation almost independent of tape speed, which was, in fact, quite variable. There was no capstan; the motion of the tape during reading and writing was directly controlled by the reel motors. There was no fast forward or rewind—reading and writing was performed at fast forward and rewind speeds. In some modes of operation, the data transfers were audible over the built-in loudspeaker and produced a very characteristic series of harsh bird-like squawks with varying pitch.
The LINC keyboard, manufactured by a company named Soroban Engineering, had a unique locking solenoid. The internal mechanism of each key had a slot that worked with a set of bars to encode the character and another slot that caught a locking bar, which locked all the keys in one mechanical movement of the locking solenoid.
When the user pressed a key, the pressed key was locked in its down position, and all the other keys were locked in the up position. When the running program read the keyboard, the lock was released, and the pressed key would pop back up. This could have the effect of slowing down typing and preventing even 2-key rollover.
This exotic keyboard was abandoned in favor of Teletype terminals, such as the Teletype Model 33, Teletype Model 35, and Teletype Model 37, in the LINC-8 and PDP-12 follow-on computers.
The LINC included a set of eight three-turn potentiometers (numbered 0-7) that could each be read by a computer instruction. The dial box was a convenient user input device at a time before general adoption of the mouse. For example, one knob could control the scaling of a displayed graph, and another might be used as a cursor to display the actual data value at a point.
The LINC hardware allowed a 12-bit word to be rapidly and automatically displayed on the screen as a 4-wide by 6-high matrix of pixels, making it possible to display full screens of flicker-free text with a minimum of dedicated hardware. The standard display routines generated 4 by 6 character cells, giving the LINC one of the coarsest character sets ever designed.
The display screen was a CRT about 5 inches square which was actually a standard Tektronix oscilloscope with special plug-in amplifiers. The special plug-ins could be replaced with standard oscilloscope plug-ins for use in diagnostic maintenance of the computer. Many LINCs were supplied as kits to be assembled by the end user, so the oscilloscope came in handy.
The CRT used a very-long-persistence white or yellow phosphor, so that lines and curves drawn point-by-point at a relatively slow speed would remain visible throughout programmed drawing loops that frequently lasted half a second or more. The y-axis displayed both plus and minus zero as different values, unnecessarily reflecting the fact that the LINC used ones' complement arithmetic. Programmers quickly learned to move any negative displayed data up one point to hide the artifact that otherwise tended to appear at y=0.
Notoriously, a tight loop that displayed points repetitively in one place on the screen would burn a permanent dark hole in the delicate phosphor in well under a minute; programmers had to be ready to hit the Stop lever fast if a very bright spot suddenly appeared because of a programming mistake.
Printed output on a Teletype Model 33 ASR was controlled by toggling a single bit in the relay register. A subroutine converted LINC character codes into ASCII and use timing loops to toggle the relay register bit on and off, generating the correct 8-bit output at 110 baud to control the Teletype printer.
The LINC connector module included bays for two plug-in chassis allowing custom interfacing to experimental setups. Analog-to-digital and digital-to-analog converters were built into the computer and each could be accessed by a single machine instruction. Six relays were also available.
In addition to the original "classic" LINC, slight programming variations occurred when using the micro-LINC (μ-LINC17) (1965), micro-LINC 300 (μ-LINC 30018) (1968)1920 (integrated circuit [MECL] versions),212223 and LINC-8. There were variations in the input/output equipment, access to memory. Later models had a faster clock speed.
While Bell in his book24 says designing the LINC provided the ideas for DEC's second and third machines, the PDP-4 and the PDP-5. Digital Equipment Corporation would launch the extremely successful PDP-8 before it manufactured the first next-generation LINC-compatible computer, the LINC-8 and a combination PDP-8/I and LINC, combined as the PDP-12, the last machine incorporating the LINC instruction set.25 DEC's final 12-bit lab machine, the LAB-8/E, did not incorporate the LINC instruction set. The first follow-on, the LINC-8, booted (slowly) to a PDP-8 program called PROGOFOP (PROGram OF OPeration) which interfaced to the separate LINC hardware. The PDP-12 was the last and most popular follow-on to the LINC. It was a capable and improved machine, and was more stable than the LINC-8, but architecturally was still an imperfect hybrid of a LINC and a PDP-8, full of many small technical glitches. (For example, the LINC had an overflow bit which was a small but important part of the LINC's machine state; the PDP-12 had no provision for saving and restoring the state of this bit across PDP-8 interrupts.)
Digital produced a version of the PDP-11/03 called the MINC-11, housed in a portable cart, and equipable with Digital-designed laboratory I/O modules supporting capabilities such as analog input and output. A programming language, MINC BASIC, included integrated support for the laboratory I/O modules. MINC stood for "Modular Instrument Computer." The name undoubtedly was intended to evoke memories of the LINC, but the 16-bit machine had no architectural resemblance to, or compatibility with, the LINC.
"Laboratory Instrument Computer (LINC)". Office of NIH History (history.noh.org). https://history.nih.gov/display/history/Linc+06 ↩
For example see William H. Calvin's letter The Missing LINC, BYTE magazine April 1982 page 20 ↩
Clark, Wesley A. (1986). The LINC was early and small (PDF). ACM Conference on The history of personal workstations. Palo Alto, California, United States: ACM. pp. 133–155. https://www.digibarn.com/stories/linc/documents/LINC-Personal-Workstation/LINC-Personal-Workstation.pdf ↩
presentations at The Computer Museum, Marlborough, in the hands of its successor, The Computer History Museum ↩
November, Joseph (2012). "The LINC Revolution: The Forgotten Biomedical Origins of Personal Computing". Biomedical Computing: Digitizing Life in the United States. Baltimore: Johns Hopkins University Press. ISBN 978-1421404684. 978-1421404684 ↩
Schirmer, James A.; Cembrowski, George S.; Carey, R Neill; Toren, E Clifford (1973). "Computer-Controlled Instrument System for Sequential Clinical Chemical Testing. I. Instrumentation and System Features". Clinical Chemistry. 19 (10): 1114–1121. doi:10.1093/clinchem/19.10.1114. PMID 4741949. https://doi.org/10.1093%2Fclinchem%2F19.10.1114 ↩
C. Gordon Bell writing in Computer Engineering a DEC View of Hardware Systems Designs (c) Copyright originally held by Digital Press, out of print but available at Bell's web sites, pp 176–177 https://bitsavers.org/pdf/dec/_Books/Bell-ComputerEngineering.pdf ↩
Mary Allen Wilkes; Wesley A. Clarke (1969). Programming the LINC Second Edition (PDF). Computer Systems Laboratory, Washington University. https://bitsavers.org/pdf/washingtonUniversity/linc/Programming_the_LINC_Second_Edition_Jan69.pdf ↩
"The LINC: An Early "Personal Computer"". DrDobbs.com. https://www.drdobbs.com/the-linc-an-early-personal-computer/184404067 ↩
Thomas C. Stockebrand, Bidirectional Retrieval of Magnetically Recorded Data, U.S. patent 3,387,293, issued June 4, 1968. https://patents.google.com/patent/US3387293 ↩
Martha Blumenthal, Fraud Ruled in 1968 DEC Tape Patent, Computerworld, May 1, 1978; page 65. https://books.google.com/books?id=r_blY9oI5CYC&pg=PA65 ↩
Rya W. Zobel, Memorandum of Decision, Digital Equip. Corp. v. Parker, April 2, 1980. http://www.ecases.us/case/mad/2125524/digital-equip-corp-v-parker ↩
Levin H. Campbell, Court ruling, Digital Equipment Corporation, Plaintiff, Appellant, v. Sidney A. Diamond, Etc., et al., 653 F.2d 701 (1st Cir. 1981), June 12, 1981. https://law.justia.com/cases/federal/appellate-courts/F2/653/701/313062/ ↩
"Appendix IV: LINC Variants". washingtonUniversity :: linc :: Programming the LINC Second Edition Jan69. Jan 1969. pp. IV-1 (141). Alt URL https://archive.org/details/bitsavers_washingtonammingtheLINCSecondEditionJan69_5656103 ↩
Datamation. Cahners Publishing Company. 1968. p. 169. https://books.google.com/books?id=75NRAAAAYAAJ&q=%22micro-LINC%22 ↩
Medical Instrumentation. 1974. https://books.google.com/books?id=sYJMAQAAIAAJ&q=%22micro-LINC+300%22 ↩
"Laboratory INstrument Computer from FOLDOC". foldoc.org. Retrieved 2019-03-03. The interesting thing about the Spear micro-LINC 300 was that it used MECL II logic. https://foldoc.org/Laboratory+INstrument+Computer ↩
Clark, Wesley (1986). "Digibarn Stories: LINC-1986 Conf. Proc on History of the Personal Workstation - "The LINC was Early and Small"". www.digibarn.com. p. 152 (20). Retrieved 2019-03-03. https://www.digibarn.com/stories/linc/documents/LINC-Personal-Workstation/ ↩
"across the editor's desk: COMPUTING AND DATA PROCESSING NEWSLETTER - INTEGRATED CIRCUIT VERSION OF LINC COMPUTER". Computers and Automation. 14 (9): 37-38. September 1965. Alt URL https://archive.org/details/bitsavers_computersA_6877674 ↩
"PDP-12". Digital Computing Timeline. Digital Equipment Corporation. August 18, 1997. Retrieved February 11, 2022. https://gordonbell.azurewebsites.net/digital/timeline/1969-2.htm ↩