J. Presper Eckert was, with John Mauchly, co-inventor of ENIAC, the first general purpose electronic computer. In this interview he discusses the machine and its design and shows one of the decimal ring counter circuits used in the arithmetic processor. He says that the concept of a stored program (which the ENIAC did not have—it was programmed by a plugboard) was obvious to him well before it was described by John von Neumann, but was not used in ENIAC because the storage technologies available at the time did not have the capacity required to hold a program as well as data.
A schematic of Eckert’s ring counter circuit was the first drawing I made with AutoCAD on an IBM PC. Previously I had worked on and used AutoCAD-80 on a variety of 8080 and Z80 CP/M machines.
Could you say a word or two about the graphics hardware on which a CP/M-based AutoCAD-80 ran?
Having spent a few years with a home-built CP/M system back in the mid 1980s (WordStar/Macro-80/Turbo Pascal!), I was under the impression that CP/M was purely a text-based system. Am I now to learn that it did graphics, too?
(apologies for the thread jack)
I have no idea what John used, but the there were graphics cards for S-100 system such as the Cromemco Dazzler
CP/M was an entirely text-based system, with its heritage in systems like DEC’s TOPS-10 that originally ran mostly on mechanical teletype terminals. A typical AutoCAD user on a CP/M system would install a separate graphics card that connected to a second monitor dedicated to graphics, and AutoCAD would run with the command line on the ASCII terminal monitor and keyboard while the drawing and graphical interface was drawn on the second monitor. The most popular graphics card in the early days was the SCION MicroAngelo, an S-100 bus card the provided a 512×480 pixel monochrome video output from an on-card frame buffer. The graphics card, thus, did not use up any of the computer’s main memory address space which, being limited to 64 Kb, was a good thing. The MicroAngelo had an on-board Z80 processor that the program running on CP/M talked to over I/O ports. The MicroAngelo accepted high-level commands such as “draw line”, “draw arc”, and “fill polygon”, which offloaded these tasks from the main processor and sped them up compared to having to push bitmap data over the I/O ports. Drawing on the MicroAngelo was very similar to sending commands to a pen plotter with a control set like HP-GL, which simplified the code in AutoCAD.
As the market evolved, several other CP/M graphics cards became available and AutoCAD-80 added support for them. Particularly popular in the U.S. was the Aurora 1000 (I forget the manufacturer’s name and no information about it appears to have made it online), which had a command set similar to the MicroAngelo and supported 640×480 pixel graphics in 256 palette-mapped colours. Its screen refresh rate was rather low, and it could look flickery under bright lights. Another colour display was the Vectrix, which had a command set similar to the Aurora 1000 but connected to a serial port rather than being a plug-in S-100 board. Notwithstanding the name, it was a raster graphics device, not a vector display.
All of these options were vastly superior to the IBM Color Graphics Adapter (CGA), which was the standard graphics card when the IBM PC was introduced. The CGA offered only 640×200 pixels in monochrome or 320×200 in four colours, which was barely sufficient to run something like AutoCAD. In the early days, most IBM PC users installed the Hercules Graphics Card, which was compatible with the IBM Monochrome Display Adapter and monitor in text mode, but also offered a 720×348 monochrome graphics mode. As time went by, many graphics card options for the IBM PC appeared, including IBM’s Professional Graphics Controller in 1984, which was a triple-card behemoth costing US$ 4290 in 1984. The IBM Enhanced Graphics Adapter (EGA), introduced with the PC/AT in 1984, supported 720×350 monochrome and 640×350 colour graphics and quickly became the most popular entry-level display for AutoCAD.
AutoCAD-86 was available both for MS-DOS as used on the IBM PC, and CP/M-86, also available for the IBM PC and used by a number of the early 8086 S-100 systems and non-clone competitors to the IBM PC. Since AutoCAD drove the display board directly, few changes were needed to adapt the program to both MS-DOS and CP/M-86.
I’m amazed that CP/M systems were doing those kinds of things (graphics co-processors?! production TV graphics?!) back in the day.
Yet more additions to my long and growing list of things I wish I’d known ~40 years ago. ;^)