Remote Imaging Protocol

Last updated
A brown dog is "looking for those RIP conferences..." RIP Graphics image by John Kwasnik. HOUND.RIP.png
A brown dog is "looking for those RIP conferences..." RIP Graphics image by John Kwasnik.

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.

Contents

RIPscrip was introduced in 1992 and consisted of ASCII-text descriptions of vector-drawn graphics and images, along with facilities to create menus and clickable buttons. These were sent from the BBS instead of the more common ANSI color-coded text-mode screens, and were interpreted on the user's end by a RIP-enabled terminal program such as TeleGrafix's own RIPTerm. Lines of text appeared in one display, graphics in another. RIPscrip could not be used as the basis for a complete GUI, as it included no text editing system.

RIPscript 1.5x was a text based wrapper around the Borland Graphics Interface (BGI)[ original research? ]. Drawing primitives all relied on the BGI, fonts were limited to those provided by the BGI (*.CHR). RIPscrip icon (.ICN) file format was that of the BGI getImage() and putImage() functions. The choice to include the BGI flood fill function was considered by many [1] to be a mistake, as third-party implementations of the RIPscrip protocol often failed[ citation needed ] to implement Bezier curves the same way Telegrafix had, thus leading to the flood fill leaking out of the intended object and filling the entire screen. Telegrafix never published their Bezier algorithm or a complete RIPscrip specification, thus ensuring[ original research? ] developers wishing to implement RIPscrip were forced[ citation needed ] to purchase Telegrafix's expensive[ according to whom? ] developers kit, containing pre-compiled BGI wrapper DLLs[ original research? ].

Early versions of RIPscrip were tightly tied to the EGA 640×350 EGA standard and had a decidedly MS-DOS-like feel. Later versions provided resolution independence (after a fashion), expanded color palettes, and the ability to work over telnet for Internet access.[ citation needed ] By this time public access to the World Wide Web caused interest in bulletin board systems to rapidly decline, resulting in the eventual end of RIPscrip development and the company. Although RIPscrip 2.0 was released and 3.0 was planned, [2] the most common version of RIPscrip in actual use was the 1.5x series.

Vector image standards which are present on the World Wide Web today that draw some similarities include Adobe Flash and SVG.

Description

RIPscrip is a simple page description language similar in concept to PostScript or HPGL. Graphics output is described in a series of text instructions, which have been heavily optimized in RIPscrip to be as short as possible in order to save transmission time.: [3]

A RIPscrip aware terminal watches for lines beginning with a special RIPscrip escape character and interprets the following instructions, passing along non-escaped lines to the text output screen. RIPscrip used separate text and graphics displays, one each, and although it could draw text into the graphics screen, the speed of doing so was such that it was not useful for general text output or editing. Generally, a system using RIPscrip would use the graphics screen for presenting menus, with conventional editing and input taking place in the text screen. RIPscrip would not normally be used to build a conventional GUI with multiple windows or mouse-driven text editing, for instance.

The RIPscrip escape character was the exclamation mark, !. RIPscrip commands were always preceded by the vertical bar, |, followed by a single-letter command. Later versions optionally inserted digits between the vertical bar and command letter, indicating what version of RIPscrip was needed to interpret that command, allowing older terminals to quickly filter out non-supported features. A common command one would find in a RIPscrip file would be to set the size and position of the text output window, typically something like !|w00001B0M10, with the "w" command for "window", followed by a series of numbers indicating its location and size.

RIPscrip commands could be stacked together on a single line for compactness. For instance, !|v00001B0M10|E|c02|Thello world sets up the standard graphics viewport output window with v, erases any existing image with E (redundant as the window was just reset), sets the color to green with c, and then draws text with T. More complex drawings would normally be built out of a series of stacked commands, each one representing some part of the overall drawing to be created, breaking it into logical groups.

In addition to basic graphics like lines and circles, RIPscrip also included commands for interactive objects, notably buttons. The U command drew a button into the display at a specified location with and optional icon, hot key, and label. When the button was pressed with the mouse or hot key, the last parameter, the host command string, was sent back to the server. In this way the RIPscrip author could produce graphical menus for commands in the system, perhaps one that lists all the available forums by sending the text "FPA" for "forums, public, all". These strings would be different for every host software, and also tend to be somewhat different from system to system.

See also

Notes

  1. "Borland Graphics Interface (BGI) Documentation". home.cs.colorado.edu. Retrieved 2024-02-26.
  2. Reeder, Jeff (1996-12-06), "RIPscrip 3.0 Technical White Paper", The BBS Library, retrieved 28 January 2015
  3. This section is adapted from the RIPscrip 1.54 documentation, found here

Related Research Articles

<span class="mw-page-title-main">ASCII art</span> Computer art form using text characters

ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable characters defined by the ASCII Standard from 1963 and ASCII compliant character sets with proprietary extended characters. The term is also loosely used to refer to text-based visual art in general. ASCII art can be created with any text editor, and is often used with free-form languages. Most examples of ASCII art require a fixed-width font such as Courier for presentation.

<span class="mw-page-title-main">Bulletin board system</span> Computer server

A bulletin board system (BBS), also called a computer bulletin board service (CBBS), was a computer server running software that allowed users to connect to the system using a terminal program. Once logged in, the user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging messages with other users through public message boards and sometimes via direct chatting. In the early 1980s, message networks such as FidoNet were developed to provide services such as NetMail, which is similar to internet-based email.

<span class="mw-page-title-main">Terminal emulator</span> Program that emulates a video terminal

A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term terminal covers all remote terminals, including graphical interfaces. A terminal emulator inside a graphical user interface is often called a terminal window.

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">Graphics Device Interface</span> Microsoft Windows API

The Graphics Device Interface (GDI) is a legacy component of Microsoft Windows responsible for representing graphical objects and transmitting them to output devices such as monitors and printers. It was superseded by DirectDraw API and later Direct2D API. Windows apps use Windows API to interact with GDI, for such tasks as drawing lines and curves, rendering fonts, and handling palettes. The Windows USER subsystem uses GDI to render such UI elements as window frames and menus. Other systems have components that are similar to GDI; for example: Mac OS has QuickDraw, and Linux and Unix have X Window System core protocol.

<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. Starting in the mid-1970s with machines such as the Sphere 1, Sol-20, and Apple I, terminal circuitry 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.

The computer art scene, or simply artscene, is the community interested and active in the creation of computer-based artwork.

CodeView is a standalone debugger created by David Norris at Microsoft in 1985 as part of its development toolset. It originally shipped with Microsoft C 4.0 and later. It also shipped with Visual Basic for MS-DOS, Microsoft BASIC PDS, and a number of other Microsoft language products. It was one of the first debuggers for MS-DOS to be full-screen oriented, rather than line-oriented.

<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 bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

ANSI art is a computer art form that was widely used at one time on bulletin board systems. It is similar to ASCII art, but constructed from a larger set of 256 letters, numbers, and symbols — all codes found in IBM code page 437, often referred to as extended ASCII and used in MS-DOS and Unix environments. ANSI art also contains special ANSI escape sequences that color text with the 16 foreground and 8 background colours offered by ANSI.SYS, an MS-DOS device driver loosely based upon the ANSI X3.64 standard for text terminals. Some ANSI artists take advantage of the cursor control sequences within ANSI X3.64 in order to create animations, commonly referred to as ANSImations. ANSI art and text files which incorporate ANSI codes carry the de facto.ANS file extension.

Synchronet is a multiplatform BBS software package, with current ports for Microsoft Windows, Linux, and BSD variants. Past versions also ran on MS-DOS and OS/2, but support for those platforms were dropped in version 3.0.

ANSI.SYS is a device driver in the DOS family of operating systems that provides extra console functions through ANSI escape sequences. It is partially based upon a subset of the text terminal control standard proposed by the ANSI X3L2 Technical Committee on Codes and Character Sets.

The Advanced Video Attribute Terminal Assembler and Recreator (AVATAR) protocol is a system of escape sequences occasionally used on bulletin board systems (BBSes). Its basic level was designed explicitly as a compression of the much longer ANSI escape codes, and can thus render colored text and artwork faster over slow connections. Even when the terminal didn't understand it, the data on disk could use the AVATAR format and so take up less space.

<span class="mw-page-title-main">Maximus (BBS)</span>

Maximus is a bulletin board system, originally developed by Scott J. Dudley through his company, Lanius Corporation. The software was first written and released for both MS-DOS and OS/2, with later versions supporting 32-bit Windows operating systems. The MS-DOS version interfaced with the serial port through a FOSSIL driver. Version 1.0 was released in 1990, with versions 2.0 and 3.01 following in 1991 and 1995. The source code for Maximus and its companion utilities, such as Squish, was released under the GNU General Public License in 2002. It has since been ported to run under Linux, and other Unix-like operating systems.

Celerity BBS was a descendant of the freely distributed source of TCS BBS 1.43, and ultimately nearly completely rewritten.

RoboBOARD/FX was the third generation Bulletin Board System hosting package released by Hamilton TeleGraphics Inc of Canada, programmed by owner Seth Hamilton in 1993. It was the follow-up to ROBO-BOARD Pro and ROBO-BOARD Plus which first utilized groundbreaking Remote Imaging Protocol developed by TeleGrafix Communications, which was also known as RIPscrip.

<span class="mw-page-title-main">Borland Graphics Interface</span> Graphics library for Borland compilers on DOS

The Borland Graphics Interface, also known as BGI, was a graphics library bundled with several Borland compilers for the DOS operating systems since 1987. BGI was also used to provide graphics for many other Borland products including the Quattro Pro spreadsheet.

GT Power is a bulletin board system (BBS) and dial-up telecommunications/terminal application for MS-DOS. It was first introduced in the 1980s by P & M Software, founded by Paul Meiners. GT Power can be used both to host a BBS as well as to connect to other BBS systems via its full-featured dial-up "terminal mode". GT Power was a shareware package that required a registration fee in order to access its proprietary network mail transport/handling software and, by default, the GT Power Network. The software is distributed in two "flavors": a terminal-only version, nicknamed GTO, and the full-featured host and terminal version.

<span class="mw-page-title-main">Screenshot</span> Digital image output of computer display

A screenshot is a digital image that shows the contents of a computer display. A screenshot is created by the operating system or software running on the device powering the display.

References