ReGIS
| Industry | Computer hardware, Software |
|---|---|
| Founded | November 8, 1957 |
| Fate | Acquired by Compaq (1998) |
| Headquarters | Maynard, Massachusetts , United States |
| Products | ReGIS, VT series terminals (VT125, VT240, VT241, VT330, VT340), waveform graphics system |
ReGIS, which stands for Remote Graphic Instruction Set, is a vector graphics markup language created by Digital Equipment Corporation (DEC) for use with later models in their VT series computer terminals. ReGIS facilitates the rendering of fundamental vector graphics such as lines and arcs, allowing terminals to display both text and graphics simultaneously, thereby simplifying the creation of graphs and charts.
History
The initial introduction of ReGIS occurred with the VT125 terminal in July 1981. Subsequently, DEC released the VK100 "GIGI," which combined the VT125’s display capabilities with composite video output and incorporated a BASIC interpreter. Subsequent VT models, including the VT240 and 241 as well as the VT330 and 340, integrated ReGIS functionality, often enhanced with color features. A small selection of terminal emulators also provide support for ReGIS.
ReGIS succeeded DEC’s earlier waveform graphics system implemented on the VT55 and VT105. Contrary to DEC’s typical approach of maintaining backward compatibility, the waveform graphics system was discontinued upon ReGIS’s release.
Description
ReGIS consists of five core drawing commands alongside controls for device status and operation. Activation is done via an escape sequence, while termination uses another specific sequence. Mode 0 resumes drawing operations; mode 1 clears the screen; modes 2 and 3 are variants that preserve a command line at the bottom of the display.
Drawing commands function relative to a current pen position within a coordinate grid spanning 0 to 799 on the X-axis and 0 to 479 on the Y-axis, with the origin located at the upper-left corner. Early hardware such as the VK100 had a physical vertical resolution of 240 pixels, causing Y coordinates to be folded; later terminals like the VT240/241 support full vertical resolution of 480 pixels. Users have the option to modify coordinate parameters.
Coordinates can be saved to or restored from a stack, enabling both relative and absolute positioning:
- [200,100] specifies an absolute position at x=200, y=100
- [+200,-100] indicates movement relative to the current location
- [200] sets an absolute x-coordinate while keeping y unchanged
- [,-100] changes only y by a relative amount
The principal drawing commands are:
- P "Position" – relocate the pen
- V "Vector" – draw a straight line
- C "Curve" – create circles or arcs
- F "Fill" – render filled polygons
Control commands include:
- T "Text" – output textual data
- S "Screen" – configure modes such as color settings
- R "Report" – provide status information
- W "Write" – define pen styles
- L "Load" – load alternate character sets
- @ "Macrograph" – save or retrieve sequences of commands
Commands accept multiple parameters, and command interpretation is case-insensitive.
Terminals equipped with color capabilities manage registers using the S command with RGB or HLS values (for instance, s(m3(r100g0b0)) assigns red to register 3). The W command customizes styles including masks, fills, and brushes.
ReGIS supports macro definitions—named sequences identified by single letters—that enable complex images to be drawn using minimal data transfer over serial connections, enhancing communication efficiency with terminals.
Sample
This example initiates ReGIS mode, clears the display using S(E), and activates a visible cursor via (C1). The instruction P[100,440] positions the pen at absolute coordinates (100,440). The command V(B),[+100,+0],[+0,-10],[-100,+0],(E) draws a rectangle by marking the current point with (B), then tracing three relative lines before returning to the saved position with (E). The rectangle dimensions are 100 pixels wide by 10 pixels tall.
Following this, P[500,300],F(C[+100]) moves the pen and uses the fill command to draw a circle. The fill operation can encompass multiple instructions and temporarily adjust fill styles to produce intricate shapes.