This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Industry | Electronics |
---|---|
Founded | 1968Needham, Massachusetts | in
Defunct | 1979 |
Fate | Acquired 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 late 1960s and 1970s.
The PDS-1 debuted in late 1969 at that year's Fall Joint Computer Conference. [1] [2] [3] It was the first low-cost [4] commercial realization of a highly interactive computer graphics display with motion. The PDS-1's initial selling price was $9450 for single units, and down to $6545 per unit in larger quantities. [2] 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. By 1971 a mouse for the PDS-1 was available. [5]
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 . [6]
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.
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. [22] 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. [23] (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. [24] 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. [25]
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.
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 [26] 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 [27] 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.
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.
The first overlapping multi-windowing system, the DNLS or Display NLS, was first fully implemented on the PDS-1 in early 1973 by SRI (non-overlapping windows implemented 1971). [28] [29] The DNLS implemented "Display Areas", or DAs, which could be dynamically moved, resized, and overlapped. In contrast to later windowing systems, these DAs could only store text strings. The DNLS was used on several PDS-1s at several ARPANET locations, and was the main inspiration for the Xerox Alto's overlapping window system. [29]
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. [30]
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. [31] [32] 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. [33] Mazewar games between MIT and Stanford were a major data load on the early Arpanet.
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, [34] a decade before that much memory was affordable for non-research single-user machines. The 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. [35] [36] 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.
In 2013, an Imlac emulator named sImlac was written. [37] An update version of this emulator can be obtained from the GitHub repository of the Seattle-based Living Computers: Museum + Labs.
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.
The PDP–11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, making it one of DEC's most successful product lines. The PDP-11 is considered by some experts to be the most popular minicomputer.
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 image 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.
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 are an alternative to raster or bitmap graphics, with each having advantages and disadvantages in specific situations.
The VT100 is a video terminal, introduced in August 1978 by Digital Equipment Corporation (DEC). It was one of the first terminals to support ANSI escape codes for cursor control and other tasks, and added a number of extended codes for special features like controlling the status lights on the keyboard. This led to rapid uptake of the ANSI standard, which became the de facto standard for hardware video terminals and later terminal emulators.
GRASS is a programming language created to script 2D vector graphics animations. GRASS was similar to BASIC in syntax, but added numerous instructions for specifying 2D object animation, including scaling, translation and rotation over time. These functions were directly supported by the Vector General 3D graphics terminal GRASS was written for. It quickly became a hit with the artistic community who were experimenting with the new medium of computer graphics, and is most famous for its use by Larry Cuba to create the original "attacking the Death Star will not be easy" animation in Star Wars (1977).
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.
A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. Most early computers only had a front panel to input or display bits and had to be connected to a terminal to print or input text through a keyboard. Teleprinters were used as early-day hard-copy terminals and predated the use of a computer screen by decades. The computer would typically transmit a line of data which would be printed on paper, and accept a line of data from a keyboard over a serial or other interface. Starting in the mid-1970s with microcomputers such as the Sphere 1, Sol-20, and Apple I, display circuitry and keyboards began to be integrated into personal and workstation computer systems, with the computer handling character generation and outputting to a CRT display such as a computer monitor or, sometimes, a consumer TV, but most larger computers continued to require terminals.
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.
Text mode is a computer display mode in which content is internally represented on a computer screen in terms of characters rather than individual pixels. Typically, the screen consists of a uniform rectangular grid of character cells, each of which contains one of the characters of a character set; at the same time, contrasted to graphics mode or other kinds of computer graphics modes.
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.
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.
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 mainframe computer 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.
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.
A display list, also called a command list in Direct3D 12 and a command buffer in Vulkan, is a series of graphics commands so that they may be later run when the list is executed. Systems that make use of display list functionality are called retained mode systems, while systems that do not are as opposed to immediate mode systems. In OpenGL, display lists are useful to redraw the same geometry or apply a set of state changes multiple times. This benefit is also used with Direct3D 12's bundle command lists. In Direct3D 12 and Vulkan, display lists are regularly used for per-frame recording and execution.
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.
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.
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.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link){{cite web}}
: CS1 maint: archived copy as title (link)