IMLAC

Last updated
IMLAC Corporation
IndustryElectronics
Founded1968;56 years ago (1968) in Needham, Massachusetts
Defunct1979;45 years ago (1979)
FateAcquired by Hazeltine Corporation
Products

IMLAC Corporation was an American electronics company in Needham, Massachusetts, that manufactured graphical display systems, mainly the PDS-1 and PDS-4, in the 1970s.

Contents

The PDS-1 debuted in 1970. It was the first low-cost [1] commercial realization of Ivan Sutherland's Sketchpad system of a highly interactive computer graphics display with motion. Selling for $8,300 before options, its price was equivalent to the cost of four Volkswagen Beetles. The PDS-1 was functionally similar to the much bigger IBM 2250, which cost 30 times more. It was a significant step forward towards computer workstations and modern displays.

The PDS-1 consisted of a CRT monitor, keyboard, light pen, and a control panel on a small desk with most electronic logic in the desk pedestal. The electronics included a simple 16-bit minicomputer, 8-16 kilobytes of magnetic-core memory, and a display processor for driving CRT beam movements.

IMLAC is not an acronym but is the name of a poet-philosopher from Samuel Johnson's novel, The History of Rasselas, Prince of Abissinia . [2]

Timeline of products

The DEC GT40 had a similar design and price point to the PDS-1D. Its desktop electronics were more compact and used a mass-produced PDP 11/05 board set as its local minicomputer. This automatically gave it a much bigger set of programming tools. But it too, was usually driven by applications running on larger PDP systems.

Refreshed vector display

The monitor was a 14-inch monochrome vector display, continually refreshed from local memory. Its normal resolution was 1024 by 1024 addressable points, and 2K x 2K in small-font scaling mode. The CRT electron beam moved freely in X and Y position and angle under program control to draw individual sloped lines and letter forms, much like the pen-on-paper motions of a pen plotter. The beam skipped blank areas of the screen. Things could be drawn in arbitrary order.

Vector displays are a now-obsolete alternative to raster scan displays. In vector displays, the CRT electron beam 'draws' only the lines and curves displayed. In raster scan displays, the image is a grid of pixel spots (a 'bitmapped' image), and the CRT beam repeatedly sweeps the entire screen in a fixed horizontal pattern (like in TV sets), regardless of which dots are turned on. [12] Bitmap raster graphics require much more memory than vector graphics. XGA-level 1024x768 black/white resolution requires 96 kilobytes of video refresh memory, 12 times more than a basic PDS-1. In 1970, that much core memory cost about $8000. [13] (It now costs only 0.05 cents of shared DRAM.)

Vector displays were good for showing data charts, modifying line drawings and CAD diagrams, tumbling 3-D wire-frame shapes, editing text, laying out printed pages, and playing simple games. But they did not handle colors, images, filled-in areas, black-on-white screens, or WYSIWYG fidelity to the fonts of professionally printed text.

The PDS-1 screen was repeatedly refreshed or redrawn 40 times per second to avoid visible flickering. But irregular beam motion was slower than the steady motions on raster displays. The beam deflections were driven by magnetic coils, and those coils fought against rapid changes to their current. The screen flickered when filled with more than 800 inches of lines or more than 1200 characters, because the beam then needed more than 1/40th of a second to retrace everything.

The competing lower cost Tektronix 4010 graphics terminal used an alternative storage tube CRT technology which required no continual refresh and hence no local computer display memory at all. The glowing image was remembered by the CRT phosphor itself. But like an Etch A Sketch, the accumulated image could be modified or moved only by flash-erasing the entire screen and then slowing redrawing everything with data resent from some large computer. [14] This was much less interactive than the PDS-1 and could not show animations.

On other displays of this era, text fonts were hardwired and could not be changed. For example, the operator consoles of the CDC 6600 formed each letter all at once by sending the Charactron CRT electron beam through a metallic stencil mask with an A-shaped hole, or through a B-shaped hole, etc.

But on the PDS-1, all letter shapes, sizes, and spacing were entirely controlled in software. Each desired form of the letter E had its own display subroutine which executed a sequence of short vector strokes for that letter. Each occurrence of a letter on the screen was a display processor call to that letter's subroutine. This scheme handled arbitrary fonts, extended character sets, and even cursive right-to-left languages like Arabic. The smaller, fastest-drawing fonts were ugly, with diamond-shaped approximations of rounded loops. The display subroutine scheme also handled electronic design symbols. [15]

The PDS-1 monitor face was rectangular and was available in portrait or landscape orientation. The 1K x 1K grid of points was stretched 33% in the longer direction to allow text and graphics to fill the screen. All graphics programs then had to account for the non-square pixels. If the system was to be used mainly for graphics, the monitor could be installed with an unstretched grid leaving ends of the screen permanently unused.

Dual processors

The PDS-1's display processor and its minicomputer ran simultaneously, out of the same memory.

Instructions for the display processor consisted of 1-byte short-stroke instructions for letters and curves, and 6-byte long vector instructions, and 2-byte unconditional jumps. The display processor had no conventional ALU instructions and never modified memory. Jumps supported subroutine calls for repeated objects like letters and symbols. Jumps also supported arranging displayed objects into linked lists for quick editing. XY positions were in integer form only. There was no support for rotations or arbitrary scaling on the fly. If a symbol crossed over an edge of the screen, the beam wrapped around to the other side rather than being clipped, making a smear. So higher levels of the application had to do the clipping test, using separate data structures. (This was fixed in later models.) Programming the letter font subroutines was via assembler language. Code for line drawings and overall layout was generated on the fly, by programs running on the local minicomputer or on a large remote computer.

The PDS-1's built-in minicomputer [16] was needed for responding to user keyboard and light pen interactions quickly, without delays in talking to a remote timeshared large computer for help. The minicomputer's main task was to build and modify the display list as needed for the next refresh cycle. For text and 2-D line graphics this was easy and did not involve much computing. To minimize costs, Imlac designed their own simple minicomputer with as few registers and logic gates as possible. It was a single-accumulator machine much like a DEC PDP-8, except using 16-bit instructions and data instead of 12 bits. There were no integer multiply/divide instructions, no floating point instructions, no microprogramming, no virtual addressing, and no cache. The single form of address modification was via indirect address pointers held in memory. Certain pointer cells would auto-increment when used. Stack operations were not supported.

Programming of this minicomputer was via assembler language. It was not object code compatible with anything else and so had limited tool support. Imlac eventually added a self-hosted Fortran compiler with hour-long compiles due to the cramped memory. Some PDS models had an optional IBM 2310 cartridge disk drive or 8-inch floppy drive. These ran a rudimentary disk OS supporting program overlays. The disks were dropped from later products.

The PDS-1 electronics were built from 7400 series low-density TTL integrated circuits, with only a dozen logic gates or 4 register bits per DIP chip. Small printed circuit cards held up to 12 chips each. The shallow desk pedestal held three racks or rows of cards, with 25 cards per row, and a wire wrap backplane connecting all cards. There was no uniform backplane bus. Customer documentation included complete schematics [17] down to the gate level, so that customers could design their own interface boards. It was possible to see, touch, and understand every detail of how the whole system worked. Cycle time for the core memory was 2.0 microseconds for the PDS-1, and 1.8 microseconds for PDS-1D. TTL logic ran 10x faster, with 10 timing pulses per core memory cycle.

The basic PDS-1 did not include the optional hardware cards for long vectors. Instead, the minicomputer created a long sequence of short-stroke display instructions. The software used a quick Bresenham method to compute intermediate points for sloped lines without doing multiplies or divides. The long vector hardware similarly needed only an add/subtract circuit. If a long vector program was mistakenly run on a basic machine without that option, the display processor could go wild and potentially burn the monitor phosphor or deflection amplifiers.

Applications

The PDS-1 and PDS-4 were bought in small numbers by R&D organizations and many universities. They developed pioneering computer applications and trained the next generation of graphics system designers. The FRESS hypertext system had enhanced capability and usability if accessed from a PDS-1 system; the user could make hyperlinks with a light pen and create them simply with a couple of keystrokes. Multi-window editing on FRESS was also possible when using the PDS-1. PDS-1 systems were used to design Arpanet's network graphics protocol.

Imlac display systems were bundled into various larger commercial products involving visual design and specialized software. Imlac sold a newspaper layout and typesetting system using PDS-1 called CES. MCS's Anvil mechanical CAD system used later Imlac workstations to interactively design mechanical parts, which were then milled out automatically from metal stock. [18]

Some simple applications such as text editors were entirely coded in Imlac assembler and could run without much involvement with a larger computer. Hofstadter composed his book Gödel, Escher, Bach on an Imlac editor. But most graphics applications required strong floating point support, compilers, and a file system. Those applications ran mostly on an expensive timeshared computer, which sent digested image data to the Imlac, which ran a small assembler program emulating a generic graphics terminal. A typical use was rendering architectural drawings and animated walkthroughs that had been previously drawn offline. PDS-1 use was held back for several years by not having a standard program library supporting animation or interactive drawing and dragging of objects.

But at night time, students were willing to write large amounts of assembler code just for fun. The PDS-1 applications most remembered today are the early interactive games. The two-player Spacewar! was ported from a PDP-1 demo. Freeway Crossing, an early predecessor of the popular arcade game Frogger , was created on a PDS-1 as part of a psychology experiment in 1971. [19] [20] Mazewar , the first online multiplayer computer game, was created on a pair of PDS-1's. Later, up to 8 players ran on PDS-1 stations or other terminals networked to the MIT host PDP-10 computer running the Mazewar AI program. [21] Mazewar games between MIT and Stanford were a major data load on the early Arpanet.

Pixels replace vector displays

The density, capacity, and price of computer memory have improved steadily and exponentially for decades, an engineering trend called Moore's Law. The limitations of refreshed or storage vector displays were accepted only in the era when those displays were much cheaper than raster-scan alternatives. Raster graphic displays inevitably took over when the price of 128 kilobytes no longer mattered.

Imlac PDS-1's at Xerox PARC impressed them with its interactivity and graphics. But its ugly text prompted Chuck Thacker to develop the experimental bitmapped Xerox Alto machine in 1973, [22] a decade before that much memory was affordable for non-research single-user machines. And Alto led to the GUI revolution.

The PDS-1 and similar vector terminals were supplanted in the 1980s by (non-programmable) raster graphics terminals such as the AED767. [23] [24] And by easily programmed personal workstations with raster graphics such as the Terak 8510/a UCSD Pascal machine and the high performance PERQ Unix system. And those were supplanted by microprocessor-based mass-market Macintoshes, Windows PCs, and video game consoles. And now by single chips inside smartphones.

Emulation

In 2013, an Imlac emulator named sImlac was written. [25] An update version of this emulator can be obtained from the GitHub repository of the Seattle-based Living Computers: Museum + Labs.

Related Research Articles

<span class="mw-page-title-main">Programmed Data Processor</span> Name used for several lines of minicomputers

Programmed Data Processor (PDP), referred to by some customers, media and authors as "Programmable Data Processor," is a term used by the Digital Equipment Corporation from 1957 to 1990 for several lines of minicomputers.

<span class="mw-page-title-main">Raster graphics</span> Matrix-based data structure

In computer graphics and digital photography, a raster graphic represents a two-dimensional picture as a rectangular matrix or grid of pixels, viewable via a computer display, paper, or other display medium. A raster is technically characterized by the width and height of the image in pixels and by the number of bits per pixel. Raster images are stored in image files with varying dissemination, production, generation, and acquisition formats.

<span class="mw-page-title-main">Vector graphics</span> Computer graphics images defined by points, lines and curves

Vector graphics are a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector display and printing hardware, vector data models and file formats, as well as the software based on these data models. Vector graphics is an alternative to raster or bitmap graphics, with each having advantages and disadvantages in specific situations.

<span class="mw-page-title-main">Xerox Alto</span> Computer made by Xerox

The Xerox Alto is a computer system developed at Xerox PARC in the 1970s. It is considered one of the first workstations or personal computers, and its development pioneered many aspects of modern computing. It features a graphical user interface (GUI), a mouse, Ethernet networking, and the ability to run multiple applications simultaneously. It is one of the first computers to use a WYSIWYG text editor and has a bit-mapped display. The Alto did not succeed commercially, but it had a significant influence on the development of future computer systems.

<span class="mw-page-title-main">Framebuffer</span> Portion of random-access memory containing a bitmap that drives a video display

A framebuffer is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Modern video cards contain framebuffer circuitry in their cores. This circuitry converts an in-memory bitmap into a video signal that can be displayed on a computer monitor.

The refresh rate, also known as vertical refresh rate or vertical scan rate in reference to terminology originating with the cathode-ray tubes (CRTs), is the number of times per second that a raster-based display device displays a new image. This is independent from frame rate, which describes how many images are stored or generated every second by the device driving the display. On CRT displays, higher refresh rates produce less flickering, thereby reducing eye strain. In other technologies such as liquid-crystal displays, the refresh rate affects only how often the image can potentially be updated.

<span class="mw-page-title-main">IBM 2250</span> Vector graphics display system by IBM for the System/360

The IBM 2250 Graphics Display Unit was a vector graphics display system by IBM for the System/360; the Model IV attached to the IBM 1130.

<span class="mw-page-title-main">Tektronix 4010</span> Text and graphics computer terminals

The Tektronix 4010 series was a family of text-and-graphics computer terminals based on storage-tube technology created by Tektronix. Several members of the family were introduced during the 1970s, the best known being the 11-inch 4010 and 19-inch 4014, along with the less popular 25-inch 4016. They were widely used in the computer-aided design market in the 1970s and early 1980s.

<span class="mw-page-title-main">Storage tube</span>

Storage tubes are a class of cathode-ray tubes (CRTs) that are designed to hold an image for a long period of time, typically as long as power is supplied to the tube.

An output device is any piece of computer hardware that converts information or data into a human-perceptible form or, historically, into a physical machine-readable form for use with other non-computerized equipment. It can be text, graphics, tactile, audio, or video. Examples include monitors, printers, speakers, headphones, projectors, GPS devices, optical mark readers, and braille readers.

<i>Maze</i> (1973 video game) 1973 video game

Maze, also known as Maze War, is a 3D multiplayer first-person shooter maze game originally developed in 1973 and expanded in 1974. The first version was developed by high school students Steve Colley, Greg Thompson, and Howard Palmer for the Imlac PDS-1 minicomputer during a school work/study program at the NASA Ames Research Center. By the end of 1973 the game featured shooting elements and could be played on two computers connected together. After Thompson began school at the Massachusetts Institute of Technology (MIT), he brought the game to the school's computer science laboratory in February 1974, where he and Dave Lebling expanded it into an eight-player game using the school's Digital Equipment Corporation PDP-10 minicomputer and PDS-1 terminals along with adding scoring, top-down map views, and a level editor. Other programmers at MIT improved this version of the game, which was also playable between people at different universities over the nascent ARPANET. Due to the popularity of the game, laboratory managers at MIT both played it while also trying to restrict its use due to the large amount of time students were spending on it. There are reports that the Defense Advanced Research Projects Agency (DARPA) at one point banned the game from the ARPANET due to its popularity.

<span class="mw-page-title-main">VT52</span> CRT-based computer terminal by Digital

The VT50 is a CRT-based computer terminal that was introduced by Digital Equipment Corporation (DEC) in July 1974. It provided a display with 12 rows and 80 columns of upper-case text, and used an expanded set of control characters and forward-only scrolling based on the earlier VT05. DEC documentation of the era refers to the terminals as the DECscope, a name that was otherwise almost never seen.

<span class="mw-page-title-main">IBM 2260</span>

The text-only monochrome IBM 2260 cathode-ray tube (CRT) video display terminal plus keyboard was a 1964 predecessor to the more-powerful IBM 3270 terminal line which eventually was extended to support color text and graphics.

<span class="mw-page-title-main">HP 2640</span> Serial computer terminal

The HP 2640A and other HP 264X models were block-mode "smart" and intelligent ASCII standard serial terminals produced by Hewlett-Packard using the Intel 8008 and 8080 microprocessors.

Calligraphic projection is a system for displaying or projecting an image composed of a beam of light or electrons directly tracing the image, as opposed to sweeping in raster order over the entire display surface, as in a standard pixel-based display. Calligraphic projection is presently often used for laser lighting displays, whereby one or more laser beams draws an image on a screen by reflecting the laser beam from one or more mirrors attached to a deflecting mechanism.

<span class="mw-page-title-main">HP 9800 series</span>

The HP 9800 is a family of what were initially called programmable calculators and later desktop computers that were made by Hewlett-Packard, replacing their first HP 9100 calculator. It is also named "98 line". The 9830 and its successors were true computers in the modern sense of the term, complete with a powerful BASIC language interpreter.

<span class="mw-page-title-main">Raster scan</span> Rectangular pattern of image capture and reconstruction

A raster scan, or raster scanning, is the rectangular pattern of image capture and reconstruction in television. By analogy, the term is used for raster graphics, the pattern of image storage and transmission used in most computer bitmap image systems. The word raster comes from the Latin word rastrum, which is derived from radere ; see also rastrum, an instrument for drawing musical staff lines. The pattern left by the lines of a rake, when drawn straight, resembles the parallel lines of a raster: this line-by-line scanning is what creates a raster. It is a systematic process of covering the area progressively, one line at a time. Although often a great deal faster, it is similar in the most general sense to how one's gaze travels when one reads lines of text.

Digistar is the first computer graphics-based planetarium projection and content system. It was designed by Evans & Sutherland and released in 1983. The technology originally focused on accurate and high quality display of stars, including for the first time showing stars from points of view other than Earth's surface, travelling through the stars, and accurately showing celestial bodies from different times in the past and future. Beginning with the Digistar 3 the system now projects full-dome video.

<span class="mw-page-title-main">Vector monitor</span> Type of display device

A vector monitor, vector display, or calligraphic display is a display device used for computer graphics up through the 1970s. It is a type of CRT, similar to that of an early oscilloscope. In a vector display, the image is composed of drawn lines rather than a grid of glowing pixels as in raster graphics. The electron beam follows an arbitrary path, tracing the connected sloped lines rather than following the same horizontal raster path for all images. The beam skips over dark areas of the image without visiting their points.

Vector General (VG) was a series of graphics terminals and the name of the Californian company that produced them. They were first introduced in 1969 and were used in computer labs until the early 1980s.

References

  1. http://bitsavers.informatik.uni-stuttgart.de/topic/graphics/ComputerDisplayReview_Mar70.pdf [ bare URL PDF ]
  2. PDS-4 system reference manual: Preliminary. IMLAC Corporation, 1974.
  3. "USA Visit: June 1976".
  4. http://www.dvq.com/ads/acm/imlac_acm_72.pdf [ bare URL PDF ]
  5. http://www.bitsavers.org/pdf/imlac/PDS-1D_ProgrammingGuide.pdf [ bare URL PDF ]
  6. http://www.digibarn.com/collections/instruction-set-guides/imlac-card-color/index.html%5B%5D
  7. "USA Visit: June 1976".
  8. "USA Visit: August 1978".
  9. http://www.dvq.com/ads/imlac_mms_8_78.jpg [ bare URL image file ]
  10. http://ieeexplore.ieee.org/iel5/38/35133/01674054.pdf [ dead link ]
  11. "Jim Michmerhuizen: Work History".
  12. "Vector graphics terminals".
  13. "Memory Prices 1957 to 2012". Archived from the original on 2012-10-26. Retrieved 2012-10-27.
  14. "Section 3: The industry evolves". Archived from the original on 2008-06-13. Retrieved 2012-04-10.
  15. "ICF Terminals: Refresh Displays".
  16. http://www.bitsavers.org/pdf/imlac/PDS-1_TechnicalMan.pdf [ bare URL PDF ]
  17. http://www.bitsavers.org/pdf/imlac/PDS-1_Schematics.pdf [ bare URL PDF ]
  18. http://www.cadhistory.net/15%20Patrick%20Hanratty%20and%20MCS.pdf [ bare URL PDF ]
  19. "Frogger". 6 January 2018.
  20. https://github.com/larsbrinkhoff/imlac-software/blob/master/washington/freeway.pdf [ bare URL PDF ]
  21. http://www.digibarn.com/collections/presentations/maze-war/The-aMazing-History-of-Maze.ppt
  22. "Archived copy" (PDF). Archived from the original (PDF) on 2011-08-11. Retrieved 2011-04-20.{{cite web}}: CS1 maint: archived copy as title (link)
  23. "The Minicomputer Orphanage". Archived from the original on 2012-07-02. Retrieved 2012-04-15.
  24. "DigiBarn Systems: Advanced Electronic Design AED 767 terminal an early graphics workstation (Prototype)".
  25. Josh Dersch (2013-07-11). "BitRot: sImlac v0.0 is ready for human consumption" . Retrieved 2013-10-17.