Last updated

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 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 moved 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 push the current coordinates on the stack, 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 were 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.


Example ReGIS code displayed on an xterm emulating a VT340 terminal. ReGIS circle.png
Example ReGIS code displayed on an xterm emulating a VT340 terminal.
<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.

See also

Related Research Articles

<span class="mw-page-title-main">VT100</span> Computer terminal from Digital Equipment Corporation

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.

HP-GL, short for Hewlett-Packard Graphics Language and often written as HPGL, is a printer control language created by Hewlett-Packard (HP). HP-GL was the primary printer control language used by HP plotters. It was introduced with the plotter HP-8972 in 1977 and became a standard for almost all plotters. Hewlett-Packard's printers also usually support HP-GL/2 in addition to PCL.

In computer science, an escape sequence is a combination of characters that has a meaning other than the literal characters contained therein; it is marked by one or more preceding characters.

<span class="mw-page-title-main">ANSI escape code</span> Method used for display options on video text terminals

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.

<span class="mw-page-title-main">Atari BASIC</span> Dialect of the BASIC programming language

Atari BASIC is an interpreter for the BASIC programming language that shipped with the Atari 8-bit family of 6502-based home 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, for example.

<span class="mw-page-title-main">VT220</span> Computer terminal from Digital Equipment Corporation

The VT220 is a computer terminal introduced by Digital Equipment Corporation (DEC) in November 1983. The VT240 added monochrome ReGIS vector graphics support to the base model, while the VT241 did the same in color. The 200 series replaced the successful VT100 series, providing more functionality in a much smaller unit with a much smaller and lighter keyboard. Like the VT100, the VT200 series implemented a large subset of ANSI X.364. Among its major upgrades was a number of international character sets, as well as the ability to define new character sets.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of modern conventional graphical user interfaces (GUIs). Like GUIs, they may use the entire screen area and accept mouse and other inputs. They may also use color and often structure the display using special graphical characters such as ┌ and ╣, referred to in Unicode as the "box drawing" set. The modern context of use is usually a terminal emulator.

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 all points addressable (APA) mode or other kinds of computer graphics modes.

<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">Remote Imaging Protocol</span> Scripting language

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.

<span class="mw-page-title-main">Vilnius BASIC</span> Dialect of the BASIC programming language

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.

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

The VT50 was a CRT-based computer terminal 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.

BASIC 8 – "The Enhanced Graphics System For The C128" – was a graphics system developed by Walrusoft of Gainesville, Florida and published in 1986 by Patech Software of Somerset, New Jersey, USA, was an extension of Commodore's BASIC 7.0 for the C128 home/personal computer. BASIC 8.0 provided commands lacking in BASIC 7.0 to generate (color) graphics in the C128's high-resolution 80-column mode for RGB monitors.

Graphics BASIC is a third-party extension to the Commodore BASIC V2.0 programming language of the Commodore 64 computer. It was originally written in 1983 by Ron Gilbert and Tom McFarlane. The program was licensed to Hesware, which briefly sold the program in 1984 as part of its product line before going out of business. The program was later extended by Ken Rose and Jack Thornton, and repackaged and sold in 1985 by Epyx under the title Programmers BASIC Toolkit.

<span class="mw-page-title-main">VT420</span> Computer terminal from Digital Equipment Corporation

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.

<span class="mw-page-title-main">Sixel</span> Bitmap graphics format

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 1977 Apple II and was used throughout the Apple II line. They 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 simply 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.

<span class="mw-page-title-main">VT320</span> Computer terminal from Digital Equipment Corporation

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.

<span class="mw-page-title-main">Waveform graphics</span>

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.