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.

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">Computer terminal</span> Computer input/output device for users

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. The teletype was an example of an early-day hard-copy terminal and predated the use of a computer screen by decades.

<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">Tektronix 4010</span>

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">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.

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.

In computer graphics, image tracing, raster-to-vector conversion or raster vectorization is the conversion of raster graphics into vector graphics.

The Super Expander 64 was a cartridge-based extension to the built in BASIC V2 interpreter of the then immensely popular Commodore 64 home computer: Since the 64 was developed in a hurry, Commodore simply adapted the BASIC V2 from the PET line of computers and the VIC 20 for their new machine, with no support for the advanced sound and graphics capabilities of the 64. To make use of the advanced hardware, BASIC programmers needed to memorize hardware addresses and "POKE" commands directly to the memory-mapped devices. Later 8-bit systems from Commodore had BASIC interpreters enhanced to support the special hardware, and with the Super Expander 64 cartridge, Commodore 64 users could "retrofit" their machine with a BASIC to match the hardware capabilities.

<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.

The Apple II graphics were composed of idiosyncratic modes and settings that could be exploited. This graphics system debuted on the original Apple II, continued with the Apple II Plus and was carried forward and expanded with the Apple IIe, Enhanced IIe, IIc, IIc Plus and IIGS.

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">Semigraphics</span> Method used in early text mode video hardware to emulate raster graphics

Text-based semigraphics or pseudographics 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.

<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.

<span class="mw-page-title-main">Hazeltine 1500</span>

The Hazeltine 1500 was a popular smart terminal introduced by Hazeltine Corporation in April 1977 at a price of $1,125. Using a microprocessor and semiconductor random access memory, it implemented the basic features of the earlier Hazeltine 2000 in a much smaller and less expensive system, less than half the price. It came to market just as the microcomputer revolution was taking off, and the 1500 was very popular among early hobbyist users.