ReGIS, short for Remote Graphic Instruction Set, is a vector graphics markup language developed by Digital Equipment Corporation (DEC) for later models of their famous VT series of computer terminals. ReGIS supports rudimentary vector graphics consisting of lines, circular arcs, and similar shapes. Terminals supporting ReGIS generally allow graphics and text to be mixed on-screen, which makes the construction of graphs and charts relatively easy.
ReGIS was first introduced on the VT125 in July 1981, followed shortly thereafter by the VK100 "GIGI" which combined the VT125 display system with composite video output and a BASIC interpreter. Later versions of the VT series included ReGIS, often with color support as well. This included the VT240 and 241 and the VT330 and 340. ReGIS is also supported by a small number of terminal emulator systems.
ReGIS replaced an earlier system known as waveform graphics that had been introduced on the VT55 and later used on the VT105. DEC normally provided backward compatibility with their terminals, but in this case, the waveform system was simply dropped when ReGIS was introduced.
ReGIS consists of five primary drawing commands and a selection of status and device control commands. ReGIS mode is entered by specifying the escape code sequence ESCP0p, and exited with ESC\. The sequence ESCP is the generic Device Control String (DCS) used in the VT series of terminals and is also used for a variety of other commands. The digit following the DCS is optional and specifies a mode, in this case, mode 0. Mode 0 is the default and picks up drawing where it left off, 1 resets the system to a blank slate, and 2 and 3 are the same as 0 and 1, but leave a single line of text at the bottom of the screen for entering commands.
All drawing is based on an active pen location. Any command that moves the pen leaves it there for the next operation, similar to the operation of a mechanical plotter. The coordinate system is 0 to 799 in the X axis, and 0 to 479 in Y, with 0,0 in the upper left. In early implementations such as the VK100 and VT125, the actual device resolution is 240 pixels, so the Y coordinates are "folded" so odd and even coordinates are the same location on the screen. Later models, starting with the VT240 and VT241, provide the full 480 pixel vertical resolution. The coordinate system can also be set by the user.
Coordinates can be pushed or pulled from a stack, and every command allows the stack to be used as a parameter, the B
parameter pushes the current coordinates on the stack, and E
pops it back off again. Coordinates can be specified in absolute or relative terms;
[200,100] is an absolute position at x=200, y=100 [+200,-100] is a relative position at x=current X+200, y=current Y-100 [200] is absolute x=200, y=unchanged (same as [200,+0]) [,-100] is relative, x=unchanged, y=current Y-100
There are four main drawing commands and three control commands;
P "Position", move the pen V "Vector", draw a line C "Curve", draw a circle (C) or arc (A) F "Fill", draws a filled polygon T "Text", output the following string of text S "Screen", a catch-all command for setting a wide variety of modes R "Report", outputs current status W "Write", sets the pen parameters L "Load", loads an alternate character set @ "Macrograph", see below
Each of these commands uses the various coordinate modes in different ways, and some have additional parameters that are enclosed in parentheses. Commands can be followed by one or more parameters, allowing continued drawing from a single command. The interpreter is not case sensitive.
Some ReGIS terminals support color, using a series of registers. These can be set with the S
command using a variety of color input styles. s(m3(r100g0b0))
sets color register ("map") 3 to "r"ed using the RGB color system, while s(m3(h120l50s100))
does the same using the HLS system. The W
command likewise sets a wide variety of different styles, mostly for masking, fills and brushes.
Finally, ReGIS allows commands to be stored into a macrograph and then recalled using the @
operator. Up to 10,000 characters of code can be stored in the macros, each named with a single letter. The advantage is that the series of operations in the macro can be invoked by sending only two characters over the serial port, as opposed to the entire sequence of commands.
<ESC>P0p S(E)(C1) P[100,440] V(B),[+100,+0],[+0,-10],[-100,+0],(E) P[500,300],F(C[+100]) <ESC>\
This code enters ReGIS mode and uses the S
command to erase the screen with (E)
and then turns on the visible cursor with (C1)
. P[100,440]
moves the pen to 100,440 absolute. V(B),[+100,+0],[+0,-10],[-100,+0],(E)
draws a series of lines, first pushing the current pen location onto the stack with (B)
, then drawing three lines using relative coordinates, and then using (E)
to pop the previously saved location off the stack and draw to it. The result is a rectangle 100 by 10 pixels in size.
P[500,300],F(C[+100])
then moves to a new location, and uses the "F"ill command to wrap a "C"ircle. The fill command could wrap any number of commands within its parentheses, allowing it to fill complex shapes. It also allowed the inclusion of a "temporary write" that allowed the programmer to set the fill style within the fill, and abandon it as soon as it ended.
The Original Chip Set (OCS) is a chipset used in the earliest Commodore Amiga computers and defined the Amiga's graphics and sound capabilities. It was succeeded by the slightly improved Enhanced Chip Set (ECS) and the greatly improved Advanced Graphics Architecture (AGA).
ANSI escape sequences are a standard for in-band signaling to control cursor location, color, font styling, and other options on video text terminals and terminal emulators. Certain sequences of bytes, most starting with an ASCII escape character and a bracket character, are embedded into text. The terminal interprets these sequences as commands, rather than text to display verbatim.
Atari BASIC is an interpreter for the BASIC programming language that shipped with Atari 8-bit computers. Unlike most American BASICs of the home computer era, Atari BASIC is not a derivative of Microsoft BASIC and differs in significant ways. It includes keywords for Atari-specific features and lacks support for string arrays.
Integer BASIC is a BASIC interpreter written by Steve Wozniak for the Apple I and Apple II computers. Originally available on cassette for the Apple I in 1976, then included in ROM on the Apple II from its release in 1977, it was the first version of BASIC used by many early home computer owners.
The TMS9918 is a video display controller (VDC) manufactured by Texas Instruments, in manuals referenced as "Video Display Processor" (VDP) and introduced in 1979. The TMS9918 and its variants were used in the ColecoVision, CreatiVision, Memotech MTX, MSX, NABU Personal Computer, SG-1000/SC-3000, Spectravideo SV-318, SV-328, Sord M5, Tatung Einstein, TI-99/4, Casio PV-2000, Coleco Adam, Hanimex Pencil II, and Tomy Tutor.
Alphanumeric Television Interface Controller (ANTIC) is an LSI ASIC dedicated to generating 2D computer graphics to be shown on a television screen or computer display. Under the direction of Jay Miner, the chip was designed in 1977–1978 by Joe Decuir, Francois Michel, and Steve Smith for the Atari 8-bit computers first released in 1979. The chip was patented by Atari, Inc. in 1981. ANTIC is also used in the 1982 Atari 5200 video game console, which shares most of the same hardware as the 8-bit computers.
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.
The Remote Imaging Protocol and its associated Remote Imaging Protocol Script language, RIPscrip, is a graphics language that provides a system for sending vector graphics over low-bandwidth links, notably modems. It was originally created by Jeff Reeder, Jim Bergman, and Mark Hayton of TeleGrafix Communications in Huntington Beach, California to enhance bulletin board systems and other applications.
Vilnius BASIC, sometimes known as BK BASIC, is a dialect of the BASIC programming language running on the Elektronika BK-0010-01/BK-0011M and UKNC computers. It was developed at Vilnius University, located in Lithuania which was a republic of the Soviet Union at the time.
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.
The VT420 is an ANSI standard computer terminal introduced in 1990 by Digital Equipment Corporation (DEC). The 420 is the only model in the 400 series, replacing the VT320. There are no color or graphics-capable 400 series terminals; the VT340 remained in production for those requiring ReGIS and Sixel graphics and color support. The entire lineup of VT300s and VT420 was eventually replaced by the relatively unknown VT500 series starting in 1993.
The Machine Operating System (MOS) or OS is a discontinued computer operating system (OS) used in Acorn Computers' BBC computer range. It included support for four-channel sound, graphics, file system abstraction, and digital and analogue input/output (I/O) including a daisy-chained expansion bus. The system was single-tasking, monolithic and non-reentrant.
In computing, indexed color is a technique to manage digital images' colors in a limited fashion, in order to save computer memory and file storage, while speeding up display refresh and file transfers. It is a form of vector quantization compression.
Twin Kingdom Valley is a text adventure game with animated pictures for the BBC Micro, Acorn Electron, Commodore 64, Commodore 16, and ZX Spectrum. It was released in 1983 by Bug-Byte.
Sixel, short for "six pixels", is a bitmap graphics format supported by terminals and printers from DEC. It consists of a pattern six pixels high and one wide, resulting in 64 possible patterns. Each possible pattern is assigned an ASCII character, making the sixels easy to transmit on 7-bit serial links.
Apple II graphics debuted on the original Apple II in 1977 and were used throughout the computer series of the same name. The graphics consist of a 16 color low-resolution mode and a high-resolution mode where visuals are dependent on artifact color. The Apple IIe added "double" versions of each of these, most prominently "double high-resolution" with twice the horizontal resolution in 16 colors. Internally, Apple II graphics modes are idiosyncratic and do not use a linear frame buffer.
SCION's MicroAngelo was an early graphics card for S-100 bus computers. Each MicroAngelo board produced a 512 by 480 pixel monochrome image, high resolution for the era. The MicroAngelo Palette Card used the output of multiple MicroAngelo's as individual bit-planes to produce images with up to 256 colors. Early versions of AutoCAD supported the MicroAngelo system.
Text-based semigraphics, pseudographics, or character graphics is a primitive method used in early text mode video hardware to emulate raster graphics without having to implement the logic for such a display mode.
The VT320 is an ANSI standard computer terminal introduced by Digital Equipment Corporation (DEC) in 1987. The VT320 is the text-only version, while the VT330 adds monochrome ReGIS, Sixel and Tektronix 4010 graphics, and the VT340 adds color.
Waveform graphics is a simple vector graphics system introduced by Digital Equipment Corporation (DEC) on the VT55 and VT105 terminals in the mid-1970s. It was used to produce graphics output from mainframes and minicomputers. DEC used the term "waveform graphics" to refer specifically to the hardware, but it was used more generally to describe the whole system.