# Remote Imaging Protocol

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Remote_Imaging_Protocol
> Markdown URL: https://mediated.wiki/source/Remote_Imaging_Protocol.md
> Source: https://en.wikipedia.org/wiki/Remote_Imaging_Protocol
> Source revision: 1338342402
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Computer vector graphics language

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, **RIP*scrip***, is a [graphics language](/source/Vector_graphics_markup_language) that provides a system for sending [vector graphics](/source/Vector_graphics) over low-bandwidth links, notably [modems](/source/Modem). It was originally created by Jeff Reeder, Jim Bergman, and Mark Hayton of TeleGrafix Communications in [Huntington Beach, California](/source/Huntington_Beach%2C_California) to enhance [bulletin board systems](/source/Bulletin_board_system) and other applications.

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

RIPscript 1.5x was a text-based wrapper around the [Borland Graphics Interface](/source/Borland_Graphics_Interface) (BGI)[*[original research?](https://en.wikipedia.org/wiki/Wikipedia:No_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](https://en.wikipedia.org/wiki/Wikipedia: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 forcing[*[original research?](https://en.wikipedia.org/wiki/Wikipedia:No_original_research)*] developers wishing to implement RIPscrip to purchase Telegrafix's expensive[*[according to whom?](https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Words_to_watch#Unsupported_attributions)*] developers kit, containing pre-compiled BGI wrapper DLLs[*[original research?](https://en.wikipedia.org/wiki/Wikipedia:No_original_research)*].

Early versions of RIPscrip were tightly tied to the EGA 640×350 [EGA](/source/Enhanced_Graphics_Adapter) standard and had a decidedly [MS-DOS](/source/MS-DOS)-like feel. Later versions provided [resolution independence](/source/Resolution_independence) (after a fashion), expanded color palettes, and the ability to work over [telnet](/source/Telnet) for Internet access.[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*] By this time public access to the [World Wide Web](/source/World_Wide_Web) caused interest in [bulletin board systems](/source/Bulletin_board_system) 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](/source/World_Wide_Web) today that draw some similarities include [Adobe Flash](/source/Adobe_Flash) and [SVG](/source/SVG).

## Description

RIPscrip is a simple [page description language](/source/Page_description_language) similar in concept to [PostScript](/source/PostScript) or [HPGL](/source/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](/source/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](/source/Graphical_user_interface) 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

- [ANSI escape code](/source/ANSI_escape_code)

- [Door (bulletin board system)](/source/Door_(bulletin_board_system))

- [Interpreted language](/source/Interpreted_language)

- [NAPLPS](/source/NAPLPS)

## Notes

1. **[^](#cite_ref-1)** ["Borland Graphics Interface (BGI) Documentation"](https://home.cs.colorado.edu/~main/bgi/doc/). *home.cs.colorado.edu*. Retrieved 2024-02-26.

1. **[^](#cite_ref-2)** Reeder, Jeff (1996-12-06), ["RIPscrip 3.0 Technical White Paper"](http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/RIPSCRIPT/whitepap.htm), *The BBS Library*, retrieved 28 January 2015

1. **[^](#cite_ref-3)** This section is adapted from the RIPscrip 1.54 documentation, found [here](http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/RIPSCRIPT/)

## References

- Clawson, Pat (1995-01-24). ["TeleGrafix Ships First RIP*scrip* 2.0 Online Multimedia Software"](http://scout.wisc.edu/Projects/PastProjects/NH/95-01/95-01-30/0003.html) (Press release). TeleGrafix Communications. Retrieved 2011-02-09.

## External links

- [BBS Documentary Library's page on RIP](http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/RIPSCRIPT/) including sample artwork, specifications and whitepapers.

- [RIP graphics article](http://www.kwasstuff.altervista.org/RIP/) with sample RIP and ANSI graphics, plus a RIP viewer which can run in a command window on Win2K and WinXP: Wayne Thomas' 1994 FreeView 1.1 (freeware).

- [PabloDraw](http://picoe.ca/products/pablodraw), multi-user RIP*scrip* viewer and editor for [Windows](/source/Windows), [OS X](/source/OS_X) and [Linux](/source/Linux)

v t e Bulletin board systems List of bulletin board systems List of bulletin board system software Culture ANSI art Chat room File sharing Protocols Timeline MUD Sysop Virtual community Technologies ANSI escape code Door Internet outdial Remote Imaging Protocol Skypix Networks FidoNet RelayNet WWIVnet Media coverage Boardwatch Computer Shopper textfiles.com BBS: The Documentary People Ward Christensen Randy Suess Chuck Forsberg Tom Jennings Steve Punter Jason Scott

---
Adapted from the Wikipedia article [Remote Imaging Protocol](https://en.wikipedia.org/wiki/Remote_Imaging_Protocol) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Remote_Imaging_Protocol?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
