1280_Command_Summary
Colorware 1280 Instruction Summary
----------------------------------
This document presents an overview of the Colorware(tm)
command set. It includes a description of the refresh
buffer hardware and a summary of the graphics command set
as defined for the model 1280 high-resolution display.
Introduction
------------
The model 1280 is the latest member of the Colorware graphics
terminal line. It is a full-color non-interlaced graphics display
terminal providing eight planes of 1280 * 1024 pixels, a 256
element color lookup table ,and a single 1280 * 1024 pixel overlay
plane. Complete control of graphics writing and readback is
provided by an 8 bit read mask and an 8 bit write mask, which can
be used to mask the writing or readback of any of the graphics
planes. The overlay plane acts as a pixel-by-pixel mask of the
8 graphics planes. If a pixel in the overlay plane is set, the 8
bit color index stored in the overlay color register is substituted
for the 8 bits of graphics plane information. Two possible applications
for the overlay plare are overlayed text on 'top 'of normal graphics,
and using the overlay plane to 'hide' sections of the underling graphics.
Graphics Planes
+--------+
+--------+ |
+--------+ | +-/
+--------+ | +--/
+--------+ | +---/
+--------+ | +----/
+--------+ | +-----/
+--------+ | +------/
| | +-------/ 8 LUT DACS
| +--------+------------/-------+ +-----+ +----+ 8 +----+
| |-+ | | | | |-/-+ |--
+--------+ +-----+ | 8 | | 8 | |
Overlay Color Reg | +--/--+ +-/-| |--
+--------+ +-----+ | | | 8 | |
| | 8 | | | | +-/-+ |--
| +----/-------+ +--+--+ +----+ +----+
| | |
Overlay Plane +--------+ |
+--------+ |
| | 1 |
| +---------------------/----------------+
| |
+--------+ Video Output Pipeline
Drawing Accelerator Overview
----------------------------
High speed vector draw, area fill, and raster-op operations are possible
in the model 1280 because of a dedicated bipolar drawing processor which
is synchronized to the refresh buffer memory system. Optimized code
sequences within this processor permit vector draws to occur at the cycle
time of the refresh buffer memory (327ns/pixel). Optimization of pixel
writes along the horizontal axis permit effective pixel writing speeds
of under 36ns/pixel when doing rectangular fills.
The special case of full-screen erases are handled by special circutry
in the refresh buffer which allow all 1280 * 1024 pixels to be
flash-filled during one vertical retrace time (<500uS).
Colorware Command Set
---------------------
The instruction set of the model 1280 is a superset of those availible
on other members of the Colorware family with the exception of commands
which used the hardware grid, pan, or integer zoom facilities of the
earlier models. All registers within the refresh buffer may be directly
manipulated using the Colorware instruction set. These include the read
and write masks, the overlay and control registers, and the color lookup
tables. Additional Colorware commands permit the programmer to draw
graphic primitives such as lines, circles, elipses, rectangles, filled
polygons, and alphanumeric characters.
Colorware 1280 Command Extensions
---------------------------------
Two major extensions of the Colorware command set are VT100 emulation
concurent with the display of graphics and support for graphics windowing.
Pixel addresses to the display are translated from virtual X,Y space to
physical X,Y space before being used for graphics operations. The pixel
information sent to the display may also be clipped to a rectangular
section of the display.
Another difference between the 1280 and previous Colorware models is that
X,Y addresses do not 'wrap around' if they exceed 1279 in X or 1023 in Y.
An additional extension to the command set is a ability to send drawing
commands directly to the drawing accelerator. Passing commands directly
to the drawing accelerator permits drawing operations to occur much faster
that is normally possible using the normal command interpreters.
Colorware 1280 Command Summary
------------------------------
Alphanumerics HOM - Move alphanumeric cursor to top left chr pos
SAP - Set alphanumeric parameters
SAC - Set alphanumeric cursor color
MAR - Set left and right text margins
CHR - Set character size
TXT - Display text string
Color Setup SEC - Set foreground color
SBC - Set background color
SCT - Load color lookup table
RCT - Read color lookup table
LAT - Load color table with anti-aliasing ramp
SWM - Set write mask
SRM - Set read mask
SBL - Set blink
Graphics Cursor SCC - Set cursor color
SCP - Set cursor parameters
RCP - Read cursor position
DCA - Draw cursor
ECU - Erase cursor
Tablet/Mouse DTM - Define tablet mapping
ETC - Enable tablet cursor
STP - Set tablet parameters
ETP - Enable tablet polling
RTP - Read tablet position
Communications SIF - Select interface for returned data
SKS - Send keystroke
SCR - Send carriage return
SBR - Set baud rate
STD - Set turnaround delay
SCD - Start command DMA
XCD - Exit command DMA
Dir Vmem Access SUC - Set up counters for direct video memory acc
SDA - Stop DVMA
WRD - Write raster direct
RRD - Read raster direct
WDA - Write raster direct (AOI)
RDA - Read raster direct (AOI)
Imaging DAI - Define area of interest
CAI - Bit-block copy
ROT - Rotate memory planes in AOI
WHS - Write horz scans
RHS - Read horz scans
WHC - Write horz scan (non-AOI)
RHC - Read horz scan (non-AOI)
WHR - Write horz runlength encoded
RHR - Read horz runlength encoded
WHU - Write horz runlength encoded (alt)
Drawing Primitives AAV - Anti-alias vectors
SLS - Set line style
MOV - Move absolute
MVR - Move relative
WPX - Write pixel
RPX - Read pixel
WMP - Write multiple pixels
DVA - Draw vector absolute
DVR - Draw vector relative
DMV - Draw multiple vectors
WIP - Write incr plotter mode
DCL - Draw circle
DFC - Draw fat circle
ELP - Draw ellipse
DRA - Draw rectangle absolute
DRR - Draw rectangle relative
DFR - Draw filled rectangle
FRR - Filled rectangle relative
DFP - Draw filled polygon
GFL - General overlay fill
IFL - Interior fill
BFL - Boundary fill
OFL - Overlay fill
DSP - Define stipple pattern
SPF - Select stiplle fill pattern
Keyboard DPK - Define pgm ftn key
DSK - Define pgm ftn key (alt)
SCS - Set control/status
Misc SEN - Set command encoding format
RST - Reset terminal
ERS - Erase screen to background color
ERD - Erase window to background color
OPT - Set programmable options
AED - Show software revision number
SOP - Select parallel/serial aux port
WRU - Return Colorware model/configuration
Model 1280 Extensions - Enable VT100 emulation
- Define window
- Clip to window
- Erase window
- Enable overlay plane
- Read/Wrt overlay plane
- Set overlay color
- Enable high speed drawing mode
Glossary
--------
Foreground Color The color used to draw with
Background Color The default color used for screen erases
AOI Area of Interest. Rectangular region used to
define a rectangular section of the screen for
copy or video DMA fill operations
1/3 chr mode Binary vs ASCII (human readable) encoding of the
opcode for graphic command requests sent to the
Colorware terminal.
Graphics cursor Positioning indicator drawn on the display which
can be used to point to a location on the screen
Physical X,Y space Locations on the screen which correspond directly
to the pixel locations within the display memory
of the refresh buffer. Physical (0,0) is the pixel
in the lower left corner of the screen. Physical
(1279,1023) is the pixel in the upper right corner
of the screen.
Virtual X,Y space Screen coordinate mapping which results from
translating X,Y coordinates to the boundaries of
the currently defined window such that location
(0,0) maps to the lower left corner of the currently
defined window. Translated virtual X,Y coordinates
currently correspond directly to physical X,Y
coordinates; no scaling operations are performed
when converting from virtual to physical X,Y space.
Window A rectangular region with a 12 bit signed address
range, which specifes where drawing operations will
occur. Windows may be totaly inside, partially inside,
or completely outside the 1280 * 1024 physical X,Y
space. If clipping is enabled, drawing primitives are
clipped to the edges of the currently defined window.